H.266/VVCコーデックメモ

# H.266/VVC(Versatile Video Coding)
- [ITU-T Rec. H.266][itu-h266] Versatile video coding
- [ISO/IEC 23090-3][iso23090] MPEG-I Versatile Video Coding

[iso23090]: https://www.iso.org/standard/73022.html
[itu-h266]: https://www.itu.int/rec/T-REC-H.266

H.264/AVC および H.265/HEVC の直接後継となる動画像コーデック国際標準規格。

"Versatile"＝多用途 とあるように、HD～UHD(4K,8K)解像度をもつSDR／HDR(Standard／High Dynamic Range)動画像、360°パノラマ動画像、[Light-fieldカメラ][lf-camera]、スクリーンコンテンツまで広範な用途での利用を目指している。

[lf-camera]: https://en.wikipedia.org/wiki/Light-field_camera


## コーデック性能比較
新しい H.266/VVC コーデックは、一世代前の H.265/HEVC コーデックにくらべると[^jvet-s0003]：

- 同等の客観的画品質(PSNR-Y)であれば、**ビットレートを 30%～45% 削減する**。
- **エンコードには 10 倍の計算量**を必要とする。
- **デコードには 2 倍の計算量**を必要とする。

[^jvet-s0003]: [JVET-S0003 JVET AHG report](http://phenix.int-evry.fr/jvet/doc_end_user/current_document.php?id=10370) より各コーデック参照実装比較(HM vs VTM)評価データを整理。解像度ClassA(4K)とClassB(1080p)、 RA(Random access)構成のみ。

マーケティング的には、（ヒトの目視評価による）主観的画品質では ビットレート 50% 削減とうたわれている。キリの良い数字が欲しいですからね...


## H.265/HEVCとの違い
（JVET-S02001 Draft10 からとりあえず目についたものだけ）

- HDR(10bit)プロファイルをサポート。今のところSDR(8bit)専用プロファイルは未定義。
- 初版から4:4:4色差サブサンプリングをサポートする。（以前はH.265/RExt拡張）
- 初版から空間／SNRスケーラビリティをサポートする。（以前はH.265/SHVC拡張）
  - ビットストリーム途中での解像度変更をサポートする。（RPRを初導入。VP8/9, AV1ではサポート済み）
- 初版からスクリーンコンテンツ向け符号化ツールをサポートする。（以前はH.265/SCC拡張）
- 空間領域のうち部分デコード処理をサポートする。（Subpictureサポート）
- Interlace信号向け符号化ツールを提供しない:tada:（フラグ情報のみ[^interlace-support]）

[^interlace-support]: SPS::sps_field_seq_flag と VUI::vui_interlaced_source_flag のみ定義される。

細かい符号化ツール：

- 処理単位(CTU; Coding Tree Unit)を最大 128x128 に拡大。（H.265/HEVCは最大CTU=64x64、AV1のSuperblock=128x128）
- CIIP; Combined inter and intra predictionサポート。（AV1にもIntra-Inter compound）
- CCLM; Cross-Component Linear Model Predictionサポート。（AV1にもCfL; Chroma from Luma）
- MTS; Multiple Transform Selectionサポート。（AV1ではDCT/ADST/WHT）
- ALF; Adaptive Loop Filterサポート。（H.265/HEVCでは落ちた符号化ツール復活）
- WPP(wavefront parallel processing)遅延を1CTUに短縮。（H.265/HEVCは2CTU遅延）
- 360°パノラマサポート：Horizontal wrap around motion compensation、Virtual BoundaryによるIn-loopフィルタ境界


## 略語
（H.265/HEVC比較で新出語を中心に）

- ALF; adaptive loop filter
- AMVR; adaptive motion vector resolution
- APS; adaptation parameter set
- BCW; bi-prediction with CU-level weights
- BDOF; bi-directional optical flow
- BDPCM; block differential pulse coded modulation
- CCALF; cross-component ALF
- CCLM; cross-component linear model
- CIIP; combined inter and intra prediction
- DCI; decoding capability information
- DMVR; decoder-side motion vector refinement
- DU; decoding unit
- ERP; equirectangular projection
- GDR; gradual decoding refresh
- GEO; geometric partitioing
- GPM; geometric partitioning mode
- HMVP; history-based motion vector prediction
- ISP; intra sub-partitions
- JCCR; joint coding of chroma residuals
- LFNST; low frequency non-separable transform
- LMCS; luma mapping with chroma scaling
- MIP; matrix-weighted intra prediction
- MMVD; merge with motion vector difference
- MTS; multiple transform selection
- OLS; output layer set
- PDPC; position dependent prediction combination
- PH; picture header
- PROF; prediction refinement with optical flow
- RPR; reference picture resampling
- RPS; reference picture set
- SBT; subblock transform
- SbTMVP; subblock-based temporal motion vector prediction
- SMVD; symmetric motion vector difference
- SLI; subpicture level information
- TSRC; transform skip residual coding
- VPDU; virtual pipeline data unit


## ライセンス
Access AdvanceとMPEG LAの2社よりライセンス許諾プログラムが提供される。

[Access Advance Announces the Initial Group of VVC/H.266 Video Patent Pool Licensors](https://accessadvance.com/2022/01/11/access-advance-announces-the-initial-group-of-vvc-h-266-video-patent-pool-licensors/) (2022/1/11)
[MPEG LA Introduces Patent Pool License for Versatile Video Coding (VVC)](https://www.mpegla.com/wp-content/uploads/FINAL-VVC-PPL-PrsRls-2022-01-27.pdf) (2022/1/27)

- Access Advance: https://accessadvance.com/licensing-programs/vvc-advance/
  - 地域(Region), デバイス種別(Device Category), 販売価格(Selling Price)により変動
  - 年間上限あり, 割引プログラムあり
  - Mobile: 0.5／Home Device: 0.25～1.0／4K TV: 1.5／Media: 0.028 （USD/unit; 参考レンジ）
- MPEG LA: https://www.mpegla.com/programs/vvc/
  - VVC Product: 100,000 Unit/yearまで無料, 以降 0.20 USD/Unit, 上限 30M USD/year
  - VVC Software: 100,000 Unit/yearまで無料, 以降 0.05 USD/Unit, 上限 8M USD/year


[HEVC Royalty Stacking and Uncertainty Threaten VVC Adoption](https://www.ipwatchdog.com/2021/08/13/hevc-royalty-stacking-and-uncertainty-threaten-vvc-adoption/id=136751/) (2021/08)


## 参考情報
- [JVET - Joint Video Experts Team](https://www.itu.int/en/ITU-T/studygroups/2017-2020/16/Pages/video/jvet.aspx)
- [Versatile Video Coding (VVC) | JVET](https://jvet.hhi.fraunhofer.de/)
- (PDF) [Joint Call for Proposals on Video Compression with Capability beyond HEVC](https://www.itu.int/en/ITU-T/studygroups/2017-2020/16/Documents/video/JVET-H1002-CFP-VCBHEVC-Final-v6.pdf)
- :star: [VVC tutorial at ICME 2020 together with Benjamin Bross](https://www.slideshare.net/MathiasWien/vvc-tutorial-at-icme-2020-together-with-benjamin-bross)
- [State of Compression Standards 2020 - Versatile Video Coding (VVC)](https://bitmovin.com/compression-standards-vvc-2020/)
- [Analysis of Emerging Video Codecs: Coding Tools, Compression Efficiency and Complexity](https://www.smpte.org/sites/default/files/WED-Tanou.pdf) (SMPTE 2018 Annual Technical Conference & Exhibition)