根據不同的應用提供不同的幀率是可伸縮編碼的一個基本要求。對于單層( Single Layer )的碼流來說,可以通過限制運動補償的參考幀得到一定的時域可伸縮性。比如 IBBPBBP… 的碼流結構,由于 B 幀不用做參考幀,可以去掉 B 幀而不影響解碼,進而把碼率降為原來的 1/3 。顯然這種方法的靈活性有限,而且沒有 B 幀對碼率的影響也會比較大,往往需要轉碼器的幫助。

圖-1 IBBP結構
Hierarchical B的概念第一次出現在2005年7月的提案中[1]中。在HB中雙向預測幀也可以用作參考幀,這樣就可以把一個GOP分成若幹個temporal level,進而使碼流具有時域可伸縮性。在H. Schwarz的提案中,MMCO和RPLR這兩個概念很重要。
“The behavior of the decoded picture buffer (DPB), which can hold up to 16 pictures, can be adaptively controlled by memory management control operation (MMCO) commands, and the reference pictures of the DPB that are used for motion-compensated prediction of another picture can be arbitrarily selected via reference picture list re-ordering (RPLR) commands.”
如何在編碼器的配置檔案中設定合适的SequenceFormatString是一個頗為有些難度的事情。IPPP..結構的SequenceFormatString是A0*n{P0},詳細的說明可以參照JSVM中的software manual。
圖-2 Dyadic Hierarchical B structure(GOP SIZE 4, 4 temporal levels)
[1] H. Schwarz, D. Marpe, and T. Wiegand, “Hierarchical B pictures,” Joint Video Team, doc. JVT-P014, Poznan, Poland, July 2005.