利用者:BitMaster206/sandbox
ここはBitMaster206さんの利用者サンドボックスです。編集を試したり下書きを置いておいたりするための場所であり、百科事典の記事ではありません。ただし、公開の場ですので、許諾されていない文章の転載はご遠慮ください。
登録利用者は自分用の利用者サンドボックスを作成できます(サンドボックスを作成する、解説)。 その他のサンドボックス: 共用サンドボックス | モジュールサンドボックス 記事がある程度できあがったら、編集方針を確認して、新規ページを作成しましょう。 |
下記: en:NVIDIA NVENCの翻案
NVIDIA NVENCは、NVIDIAが提供するビデオエンコード・CPU負荷軽減用のGPU機能である[1]。NVIDIA GeForce 600シリーズ(Kepler)から提供されている[2]。
これが提供するエンコーダーはOBS Studio[3]やBandicam[4][5]といったライブストリームソフト・レコーディングソフトの他、Adobe Premiere[6][7]やDaVinci Resolveのような動画編集ソフトウェア、FFmpeg[8][9]、GeForce Experience等のゲームキャプチャーソフトなどでサポートされている。
また、エンコーダとしての機能を持つNVENCと同時に、ハードウェアデコーダを提供するNVDECも存在する。[1]
バージョン
[編集]Keplerでの初搭載以降、改良が加えられ続けている。
GPU ハードウェア | H.264 (AVC)
(H.264では、NVENCはBフレームとして最大解像度4096x4096、最大8ビット深度の映像のみサポートする) |
H.265 (HEVC) | AV1 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
世代 | GPU コードネーム | 対応 | クロマ | ロスレスエンコード | クロマ | ロスレスエンコード | 画面解像度 | 色深度 | Bフレーム | AV1 | |||||||||||
4:2:0 | 4:4:4 | 4:2:0 | 4:4:4 | ||||||||||||||||||
1世代 | GK110 | 未対応 | 未対応 | ||||||||||||||||||
GK107 | |||||||||||||||||||||
GK106 | |||||||||||||||||||||
GK104 | |||||||||||||||||||||
2世代 | GM107 | 未対応 | 未対応 | ||||||||||||||||||
3世代 | GM206 | 不明 | 4096x4096 | 8ビット | |||||||||||||||||
GM204 | |||||||||||||||||||||
GM200 | |||||||||||||||||||||
4世代 | GP108 | 未搭載 | |||||||||||||||||||
GP107 | 8192 x 8192 | 10-bit | 未対応 | ||||||||||||||||||
GP106 | |||||||||||||||||||||
GP104-2xx+ | |||||||||||||||||||||
GP104-1xx | |||||||||||||||||||||
GP102 | |||||||||||||||||||||
GP100 | 4096 x 4096 | ||||||||||||||||||||
5世代 | GV10x | 8192 x 8192 | |||||||||||||||||||
TU117 | |||||||||||||||||||||
6世代 | TU116 | ||||||||||||||||||||
TU106 | |||||||||||||||||||||
TU104 | |||||||||||||||||||||
TU102 | |||||||||||||||||||||
7世代 | GA107 | ||||||||||||||||||||
GA106 | |||||||||||||||||||||
GA104 | |||||||||||||||||||||
GA102 | |||||||||||||||||||||
GA100 | 非搭載 | ||||||||||||||||||||
8世代 | AD107 | 8192 x 8192 | 10-bit | ||||||||||||||||||
AD106 | |||||||||||||||||||||
AD104-250 | |||||||||||||||||||||
AD104-400 | |||||||||||||||||||||
AD103 | |||||||||||||||||||||
AD102 | |||||||||||||||||||||
世代 | GPU コードネーム | 対応 | クロマ | ロスレスエンコード | クロマ | ロスレスエンコード | 画面解像度 | 色深度 | Bフレーム | AV1 | |||||||||||
4:2:0 | 4:4:4 | 4:2:0 | 4:4:4 |
第1世代(Kepler GK1xx)
[編集]第1世代NVENCはKepler世代のすべてのGPUに搭載され、H.264ハイプロファイル(YUV420, I/P/Bキーフレーム,CAVLC/CABAC)とH.264 SVC 一時エンコードVCE、および Display Encode Mode(DEM)に対応した。
NVIDIAのドキュメントによれば、このエンコーダーはピーク性能時にリアルタイムで1920x1080の映像を最大8倍(ベースラインでは30Hzを1倍とする)のスループットでエンコードできる。あくまでこれは理論値で、この理論値はNVENC高パフォーマンスプリセット(圧縮効率やクオリティを最小に下げた状態)を利用した場合の数値である。実際の性能はプリセットやユーザーが指定したプリセット・設定、GPUとメモリの周波数に依存する。高クオリティプリセット使用時には若干の性能低下が見られるが、 圧縮アーティファクトは減少する。
第2世代(第1世代Maxwell GM107)
[編集]第2世代NVENCは第1世代Maxwellアーキテクチャの一部GPUに搭載された。この世代では高パフォーマンスHP444プロファイル(YUV4:4:4, 予測敵ロスレスエンコード)に対応し、エンコーダースループットが最大16倍(1080p 480Hzに相当)まで向上した。
ただし、Maxwell GM108にはNVENCが搭載されていない。
第3世代(第2世代Maxwell GM20x)
[編集]第3世代NVENCは第2世代MaxwellアーキテクチャのGPUに搭載された。この世代ではH.265の対応が始まったほか、H.264のエンコーダーのスループットが4K60Hzまで向上した。しかし、H.265エンコードではBフレームへの対応がなされず、I/Pフレームのみの対応となった。最大のNVENC H.265 コーディングツリーユニット(以下、CU)のサイズは32(H.265標準では64が最大である)となり、最低値は8である。
H.265によるエンコードにはサンプル・アダプティブ・オフセットがない。また、アダプティブクオンタイゼーション、ルック・アヘッド・レートコントロール、アダプティブ・Bフレーム(H.264における)、そしてアダプティブGOPといった機能はNVIDIA Video Codec SDK 7のリリースにより追加された。これらの機能にはCUDAによるハードウェアアクセラレーションが用いられている。
SDK 7ではアダプティブ・クオンタイゼーションに次の2つ形式を利用する。
一般向けGeForceカードと一部のローエンドQuadroカードでは同時にエンコードできるジョブの3つまでに制限されている。これは上位グレードのQuadroカードを利用することで回避できる。
第4世代(Pascal GP10x)
[編集]第4世代NVENCはPascalアーキテクチャのGPUに搭載された。この世代ではH.265 Main10 10ビットハードウェアエンコーディングに対応した。この変更により前世代のH.264/H.265エンコーダーと比べ、4K動画において2倍ほどの性能向上が見られた。またH.265における8Kエンコード、4:4:4の彩度比でのサブサンプリング、ロスレスエンコード、サンプルアダプティブオフセットに対応した。
NVIDIA ビデオコーデックSDK 8には、Pascal独自の機能である重み付き画素値予測(CUDAベース)が追加された。この機能はH.264のBフレームが規定されたエンコードセッションではサポートされていない。
H.265エンコードにおけるBフレームの対応はされていない。また、最大CUサイズは32×32である。
NVIDIA GT1030とモバイル版Quadro P500に搭載されているGP108チップでは、NVENCエンコーダがサポートされていない。
ラップトップ向け製品では、Maxwell GM108チップ、及びPascal GP108チップをベースとした世代のNVIDIA MX グラフィックスでのNVENCサポートが省かれている他、GeForce MX350に搭載されたNVIDIA GP107チップでは製造過程でNVENCエンコーダが無効化されている。
第5世代(Volta GV10x/Turing TU117)
[編集]この世代のNVENCは第4世代のNVENCと同様の機能を有する。
引き続き、H.265におけるBフレームの対応が見送られている。
GeForce MXなどの携帯機向けグラフィックスでは、TU117チップを搭載するGeForce MX450のNVENCハードウェアエンコーダが製造過程で無効化されているが、GeForce MX550ではこの機能が製造過程で有効化されている。
第6世代(Turing TU10x/TU116)
[編集]第6世代NVENCはH.265エンコードにおける、8K30FPSエンコード、複数フレームからの参照を含むBフレームサポート、アルファチャンネルサポートが追加された他、H.265における25%のビットレート保持とH.264における15%のビットレート保持のサポートが追加された。ただし、NVIDIA GeForce GTX1650の初期リリースは前世代のNVENCを搭載したため、この世代からは除外されているが、2020年にGTX1650カードのNVENCがこの世代のものにアップデートされた。GTX1650 SuperはTU117チップではなくTU116チップを使用していたため、当初よりこの世代のNVENCを使用していた。
第7世代(Ampere GA10x)
[編集]この世代のNVENCはTuring世代のものと基本的には同等だが、NVDECに(フィルムグレインを含む)AV1ハードウェアデコードサポートが追加されている。
エントリークラスの携帯機向けグラフィックスでは、GA107チップをベースとしたGeForce MX570にて2つのバージョンが存在している。そのうちひとつ(GeForce MX570 A)ではハードウェアエンコーダとデコーダが製造過程で無効化されている。
第8世代(Ada Lovelace AD10x)
[編集]NVIDIAはAda Lovelace世代のグラフィックボード2搭載されるこの世代のNVENCにて、8K・10ビット深度・60FPS対応を増やしたAV1ハードウェアエンコーダを追加することを告知した。
OSによるサポート
[編集]NVENCチップの動作にはデバイスドライバの対応が必要である。このドライバはNVENCの動作に際し複数のインターフェースを追加する。NVENCチップへのアクセスにはプロプライエタリのNVENC APIが必要である。
NVENCドライバはNVIDIA GeForceドライバに含まれている。
NVENCはMicrosoft WindowsとLinuxにてサポートがされている。ただし、NouveauはNVENCに対応していない。
- ^ a b “Video Codec SDK” (英語). NVIDIA Developer. 2024年11月10日閲覧。
- ^ “NVENC Application Note” (英語). NVIDIA Docs. 2024年11月10日閲覧。
- ^ “Hardware Encoding | OBS”. obsproject.com. 2024年11月10日閲覧。
- ^ Company, Bandicam. “Hardware Acceleration: NVIDIA NVENC/HEVC, Intel, AMD VCN” (英語). Bandicam Screen Recorder. 2024年11月10日閲覧。
- ^ Company, Bandicam. “ハードウェアアクセラレーション - Bandicamの使い方”. Bandicam. 2024年11月10日閲覧。
- ^ “Adobe Premiere Pro の GPU で高速化された書き出しでコンテンツ クリエイターの作業がより迅速に | NVIDIA” (英語). NVIDIA Japan Blog (2020年5月29日). 2024年11月10日閲覧。
- ^ 株式会社インプレス (2020年5月20日). “Premiere ProがNVENC対応。書き出しが5倍高速に”. PC Watch. 2024年11月10日閲覧。
- ^ “Using FFmpeg with NVIDIA GPU Hardware Acceleration” (英語). NVIDIA Docs. 2024年11月10日閲覧。
- ^ “無料のムービー変換ソフト「FFmpeg 6.0」リリース、NVENCやQSVでのAV1エンコードに対応 - GIGAZINE”. gigazine.net (2023年3月1日). 2024年11月10日閲覧。
- ^ “Video Encode and Decode GPU Support Matrix” (英語). NVIDIA Developer (2016年11月9日). 2020年8月22日閲覧。
- ^ “NVIDIA VIDEO CODEC SDK” (英語). NVIDIA Developer (2016年11月9日). 2020年8月22日閲覧。