H.266/VVC視訊編碼:CTC提案和測試條件以及組態檔

2020-10-19 11:00:20

在看JVET提案的時候經常會看到All Intra(AI)、Random Access、Lowdelay P等,自己剛接觸視訊編碼所以不太懂這些是什麼,就試著上網找找資料總結一下。

一、CTC提案和測試條件

首先提供一個JVET提案的網址:http://phenix.int-evry.fr/jvet/
找到JVET-J1010這篇提案,即:JVET common test conditions and software reference configurations,這篇檔案定義了在第10次JVET會議之後進行的核心實驗(CE)中使用的通用測試條件和軟體參考設定,其中定義了四個測試條件,分別是intra-only, random-access和low-delay settings:

  1. Intra, 10 bit
  2. Random Access, 10 bit
  3. Low delay, 10 bit
  4. Low delay, P slices only, 10 bit (optional)

這些測試條件的subnet可以用於特定的實驗,例如,在測試幀內編碼工具時,可能只使用幀內設定。
Intra表示:每一幀都是按照幀內方式進行編碼;
Low delay和Low delay P 表示: 只有第一幀按照幀內編碼方式進行編碼,隨後的各幀都作為一般的P幀或B幀進行編碼;
Random Access表示:分批B幀構成,週期性地插入一些隨機存取幀。
測試者可以根據自己的需要選擇適當的編碼方式組態檔。

二、組態檔

首先需要認識一下組態檔是什麼:組態檔裡面規定了編碼的各種引數。在VVC中包含兩種組態檔:編碼方式的組態檔和測試序列的組態檔。

1.編碼方式的組態檔

在編碼方式的組態檔名中,同型別的:以"main"結尾與「main10」結尾的主要區別在於Profile(檔次)和內部位深,如encoder_intra_main 與encoder_intra_main10;不同型別的:主要區別在於編碼結構不同,比如上面的intra、random access、low delay等編碼結構不同。
關於編碼方式組態檔中的詳細內容可參考:編碼方式組態檔詳細內容

2.測試序列的組態檔

關於測試序列組態檔的詳細內容可參考:測試序列組態檔詳細內容

其實以上組態檔的內容可以去https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM這個網址上下載個VTM,資料夾下自己找到.cfg字尾名的檔案用文字編輯器比如較好用的Notepad開啟看看就知道了,比如編碼方式組態檔可以在VTMxx.xx資料夾下找到,測試序列組態檔可以在VTMxx.x資料夾下的cfg/per-sequence/資料夾中找到。

3.Anchor

迴歸上面所提到的檔案,該檔案提供兩個Anchor錨,即測試模型(test model,TM)和基準集(benchmark set,BMS),需要為這兩種設定提供組態檔:
(1)Cfg files for test model (TM)
「All Intra」 (AI): encoder_intra_vtm.cfg
「Random access」 (RA): encoder_randomaccess_vtm.cfg
「Low-delay B」 (LB): encoder_lowdelay_vtm.cfg
「Low-delay P」 (LP, optional): encoder_lowdelay_P_vtm.cfg
(2)Cfg files for benchmark set (BMS)
「All Intra」 (AI): encoder_intra_bms.cfg
「Random access」 (RA): encoder_randomaccess_bms.cfg
「Low-delay B」 (LB): encoder_lowdelay_bms.cfg
「Low-delay P」 (LP, optional): encoder_lowdelay_P_bms.cfg

4.和H.265/HEVC設定的區別

  1. 只有10bit深度的設定(InternalBitDepth=10),去除了HEVC中8bit深度低複雜度設定。
  2. RA設定下的GOP size從8增大到16,相應的Intra period也發生變化:20fps時為16, 24fps和30fps時為32, 50fps時為48, 60fps時為64, 100fps時為96。
  3. Class A的序列的4個序列被更換為4個Class A1和4個Class A2序列,且解析度在之前的3840x2160的基礎上增加了4096x2160的解析度。
  4. CTUsize從HEVC的64增大為128。
  5. AI的encoder_intra_jvet10.cfg組態檔下TemporalSubsampleRatio為8,表示每8幀編碼一幀。