本發(fā)明涉及視頻譯碼的領域。更確切地說,其適用于對位流分區(qū)操作的多層編解碼器的位流符合性參數(shù)的規(guī)范。
背景技術:
數(shù)字視頻能力可并入到廣泛范圍的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機、數(shù)碼相機、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置及其類似物。數(shù)字視頻裝置實施視頻壓縮技術,例如描述于以下各者中的那些技術:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高級視頻譯碼(AVC)定義的標準、高效率視頻譯碼(HEVC)標準,及此些標準的擴展。視頻裝置可通過實施這些視頻譯碼技術而更有效率地發(fā)射、接收、編碼、解碼和/或存儲數(shù)字視頻信息。
技術實現(xiàn)要素:
本公開的系統(tǒng)、方法及裝置各自具有若干創(chuàng)新方面,其中沒有單個方面單獨負責本文所揭示的合乎需要的屬性。在不限制所附權利要求書的范圍的情況下,本文描述某些特征。
在附圖及以下描述中闡述本說明書中描述的標的物的一或多個實施方案的細節(jié)。其它特征、方面及優(yōu)點將從描述、圖式及權利要求書變得顯而易見。應注意,以下各圖的相對尺寸可能未按比例繪制。
根據(jù)本發(fā)明的一或多個方面,提供一種由視頻編碼器可操作的方法。所述方法可包括:對視頻數(shù)據(jù)進行譯碼以形成具有至少一個層和至少一個層集合的位流;使每一層集合與至少一個輸出層集合關聯(lián),其中所述至少一個輸出層集合中的第一輸出層集合指示將由視頻解碼器輸出的其相關聯(lián)層集合的子集。所述方法可進一步包括:使至少一個分割方案與所述至少一個輸出層集合中的所述第一輸出層集合關聯(lián);以及至少部分地基于所述輸出層集合將第一符合性參數(shù)映射到所述至少一個分割方案當中的分割方案的分區(qū)。在一些實施例中,所述至少一個符合性參數(shù)可包括假想?yún)⒖冀獯a器(HRD)參數(shù)。
在一些實施例中,所述方法可在將所述第一符合性參數(shù)映射到所述分區(qū)之前執(zhí)行關于是否用信號表示符合性參數(shù)的確定。
在一些實施例中,所述方法可進一步包括在所述第一輸出層集合與僅一個分割方案相關聯(lián)的情況下,在所述位流中用信號表示用以指示所述第一輸出層集合與默認分割方案相關聯(lián)的位。在一些實施例中,所述默認分割方案對應于其中每一層經分離成其自身的分區(qū)的分割方案。
在一些實施例中,所述方法可進一步包括:確定所述輸出層集合的第一索引;確定與所述輸出層集合相關聯(lián)的所述分割方案的第二索引;識別嵌套補充增強信息(SEI)消息,所述嵌套SEI消息包括至少一個嵌套SEI消息;以及至少部分地基于所述第一和第二索引而界定所述至少一個嵌套SEI消息與所述分割方案之間的關聯(lián)。
在一些實施例中,所述位流可與基礎視頻參數(shù)集(VPS)和視頻可用性信息(VUI)參數(shù)集相關聯(lián),且所述方法可進一步包括:確定在所述基礎VPS中用信號表示的至少一個符合性參數(shù)的第一部分;識別在所述VUI中用信號表示的所述至少一個符合性參數(shù)的第二部分;以及將所述第二部分擴展為經由與所述基礎VPS相關聯(lián)的數(shù)據(jù)結構可存取。在一些實施例中,映射所述第一符合性參數(shù)可包括基于與所述基礎VPS相關聯(lián)的所述數(shù)據(jù)結構而映射所述至少一個符合性參數(shù)的所述第一部分和所述第二部分。
在一些實施例中,至少一個分割方案可與所述至少一個輸出層集合中的每一輸出層集合相關聯(lián)。
在一些實施例中,所述方法可進一步包括:使所述分割方案與所述至少一個輸出層集合中的第二輸出層集合關聯(lián);以及至少部分地基于第二輸出層集合將第二符合性參數(shù)映射到與第二輸出層集合相關聯(lián)的所述分割方案的分區(qū)。
本發(fā)明的另一方面提供一種由視頻解碼器可操作的方法。所述方法可包括:接收具有至少一個層和至少一個層集合的視頻數(shù)據(jù)位流;以及識別所述位流的所述至少一個層集合當中的層集合,所述經識別層集合指示待解碼的所述至少一個層的子集。所述方法可進一步包括:確定與所述經識別層集合相關聯(lián)的輸出層集合,所述輸出層集合指示將由所述視頻解碼器輸出的所述經識別層集合的子集;以及確定與所述輸出層集合相關聯(lián)的分割方案;其中所述位流是根據(jù)與所述輸出層集合相關聯(lián)的所述分割方案作為一或多個分區(qū)而接收,且其中至少一個符合性參數(shù)至少部分地基于與所述分割方案相關聯(lián)的所述輸出層集合而映射到所述分割方案的分區(qū)。在一些實施例中,所述至少一個符合性參數(shù)可包括假想?yún)⒖冀獯a器(HRD)參數(shù)。
在一些實施例中,所述方法可進一步包括檢查在所述位流中接收的位,以便確定所述輸出層集合是否僅與默認分割方案相關聯(lián)。在一些實施例中,所述默認分割方案對應于其中每一層經分離成其自身的分區(qū)的分割方案。
在一些實施例中,所述方法可進一步包括:識別與所述輸出層集合相關聯(lián)的索引;識別與關聯(lián)于所述輸出層集合的所述分割方案相關聯(lián)的索引;識別嵌套補充增強信息(SEI)消息,所述嵌套SEI消息包括一或多個含有的SEI消息;以及使用所述經識別分割方案索引和經識別輸出層集合索引識別所述嵌套SEI消息及其含有的SEI消息與所述分割方案之間的關聯(lián)。
在一些實施例中,所述位流可與VPS和VUI相關聯(lián),且所述方法可進一步包括:識別在所述基礎VPS中用信號表示的所述一或多個符合性參數(shù)的第一部分;以及識別在所述VUI中用信號表示的所述一或多個符合性參數(shù)的第二部分,其中符合性參數(shù)的所述第二部分經擴展以使得所述符合性參數(shù)通過與所述基礎VPS相關聯(lián)的數(shù)據(jù)結構可存取。在一些實施例中,映射到所述分區(qū)的所述一或多個符合性參數(shù)可包括符合性參數(shù)的所述第一部分以及通過與所述基礎VPS相關聯(lián)的所述數(shù)據(jù)結構存取的符合性參數(shù)的所述第二部分。
本發(fā)明的另一方面提供一種視頻編碼器。所述視頻編碼器可包括經配置以存儲視頻數(shù)據(jù)的存儲器,以及與所述存儲器通信的處理器。在一些實施例中,所述處理器經配置以:對所述視頻數(shù)據(jù)進行譯碼以形成具有至少一個層和至少一個層集合的位流;使至少一個輸出層集合與每一層集合關聯(lián),其中所述至少一個輸出層集合中的輸出層集合指示將由視頻解碼器輸出的其相關聯(lián)層集合的子集。所述處理器可進一步經配置以:使至少一個分割方案與所述至少一個輸出層集合中的所述輸出層集合關聯(lián);以及至少部分地基于所述輸出層集合將至少一個符合性參數(shù)映射到所述至少一個分割方案當中的分割方案。在一些實施例中,所述至少一個符合性參數(shù)包括假想?yún)⒖冀獯a器(HRD)參數(shù)。在一些實施例中,所述處理器可經配置以在將所述至少一個符合性參數(shù)映射到所述分區(qū)之前執(zhí)行關于是否用信號表示符合性參數(shù)的確定。
在一些實施例中,所述處理器可進一步經配置以響應于所述輸出層集合與僅一個分割方案相關聯(lián),在所述位流中用信號表示用以指示所述輸出層集合與默認分割方案相關聯(lián)的位。在一些實施例中,所述默認分割方案可對應于將至少一個層中的每一層分離為其自身的分區(qū)的分割方案。
在一些實施例中,所述處理器可進一步經配置以:確定所述輸出層集合的第一索引;確定與所述輸出層集合相關聯(lián)的所述分割方案的第二索引;識別嵌套補充增強信息(SEI)消息,所述嵌套SEI消息包括至少一個嵌套SEI消息;以及至少部分地基于所述第一和第二索引而界定所述至少一個嵌套SEI消息與所述分割方案之間的關聯(lián)。
在一些實施例中,所述位流可與VPS和VUI參數(shù)集相關聯(lián),且所述處理器可進一步經配置以:確定在所述基礎VPS中用信號表示的所述至少一個符合性參數(shù)的第一部分;識別在所述VUI中用信號表示的至少一個符合性參數(shù)的第二部分;以及將所述第二部分擴展為經由與所述基礎VPS相關聯(lián)的數(shù)據(jù)結構可存取。在一些實施例中,映射所述至少一個符合性參數(shù)可包括基于與所述基礎VPS相關聯(lián)的所述數(shù)據(jù)結構而映射所述第一部分和所述第二部分。
本發(fā)明的另一方面提供一種視頻解碼器。所述視頻解碼器可包括經配置以存儲經解碼視頻數(shù)據(jù)的存儲器以及與所述存儲器通信的處理器。所述處理器可經配置以:對所接收視頻數(shù)據(jù)位流進行解碼以形成所述經解碼視頻數(shù)據(jù),所述所接收視頻數(shù)據(jù)位流具有至少一個層和至少一個層集合,其中所述解碼包括:識別所述位流的所述至少一個層集合當中的層集合,所述經識別層集合指示待解碼的所述至少一個層的子集;確定與所述經識別層集合相關聯(lián)的輸出層集合,所述輸出層集合指示將由所述視頻解碼器輸出的所述經識別層集合的子集;以及確定與所述輸出層集合相關聯(lián)的分割方案;其中所述位流是根據(jù)與所述輸出層集合相關聯(lián)的所述分割方案作為一或多個分區(qū)而接收,且其中至少一個符合性參數(shù)至少部分地基于與所述分割方案相關聯(lián)的所述輸出層集合而映射到所述分割方案的分區(qū)。在一些實施例中,所述至少一個符合性參數(shù)包括假想?yún)⒖冀獯a器(HRD)參數(shù)。
在一些實施例中,所述處理器可進一步經配置以檢查在所述位流中接收的位,以便確定所述輸出層集合是否僅與默認分割方案相關聯(lián)。在一些實施例中,所述默認分割方案對應于其中每一層經分離成其自身的分區(qū)的分割方案。
在一些實施例中,所述處理器可進一步經配置以:識別與所述輸出層集合相關聯(lián)的索引;識別與關聯(lián)于所述輸出層集合的所述分割方案相關聯(lián)的索引;識別嵌套補充增強信息(SEI)消息,所述嵌套SEI消息包括一或多個含有的SEI消息;以及使用所述經識別分割方案索引和經識別輸出層集合索引識別所述嵌套SEI消息及其含有的SEI消息與所述分割方案之間的關聯(lián)。
在一些實施例中,所述位流可與VPS和VUI相關聯(lián),且所述處理器可進一步經配置以:識別在所述基礎VPS中用信號表示的所述一或多個符合性參數(shù)的第一部分;以及識別在所述VUI中用信號表示的所述一或多個符合性參數(shù)的第二部分,其中符合性參數(shù)的所述第二部分經擴展以使得所述符合性參數(shù)通過與所述基礎VPS相關聯(lián)的數(shù)據(jù)結構可存取。在一些實施例中,映射到所述分區(qū)的所述一或多個符合性參數(shù)可包括符合性參數(shù)的所述第一部分以及通過與所述基礎VPS相關聯(lián)的所述數(shù)據(jù)結構存取的符合性參數(shù)的所述第二部分。
附圖說明
圖1A是說明可利用根據(jù)本發(fā)明中描述的方面的技術的實例視頻編碼及解碼系統(tǒng)的框圖。
圖1B是說明可執(zhí)行根據(jù)本發(fā)明中描述的方面的技術的另一實例視頻編碼和解碼系統(tǒng)的框圖。
圖2A為說明可實施根據(jù)本發(fā)明中所描述的方面的技術的視頻編碼器的實例的框圖。
圖2B是說明可實施根據(jù)本發(fā)明中描述的方面的技術的視頻編碼器的實例的框圖。
圖3A是說明可實施本發(fā)明中描述的方面的技術的視頻解碼器的實例的框圖。
圖3B為說明可實施根據(jù)本發(fā)明中描述的方面的技術的視頻解碼器的實例的框圖。
圖4A和4B說明根據(jù)本發(fā)明中描述的方面的視頻數(shù)據(jù)層、層集合、輸出層集合與分割方案之間的關系。
圖5A說明根據(jù)本發(fā)明中描述的方面用于在經編碼視頻數(shù)據(jù)中映射HRD參數(shù)的方法的流程圖。
圖5B說明根據(jù)本發(fā)明中描述的方面用于對具有經映射HRD參數(shù)的視頻數(shù)據(jù)進行解碼的方法的流程圖。
圖6說明根據(jù)本發(fā)明中描述的方面的用于用信號表示分割方案的過程的流程圖。
圖7說明根據(jù)本發(fā)明中描述的方面在VPS_VUI中擴展HRD參數(shù)以使得可通過與基礎VPS相關聯(lián)的單個數(shù)據(jù)結構映射HRD參數(shù)。
圖8說明根據(jù)本發(fā)明中描述的方面SEI消息可如何映射到分區(qū)。
具體實施方式
一般來說,本發(fā)明涉及在例如高效率視頻譯碼(HEVC)等高級視頻編解碼器的上下文中指定符合性參數(shù)。更具體來說,本發(fā)明涉及用于在稱為SHVC的HEVC的可縮放視頻譯碼擴展中位流符合性參數(shù)的改進規(guī)范和映射的系統(tǒng)和方法。
可縮放視頻譯碼是指其中使用基礎層(BL)(有時被稱作參考層(RL))及一或多個可縮放增強層(EL)的視頻譯碼。在可縮放視頻譯碼中,BL可攜載具有基礎質量水平的視頻數(shù)據(jù)。一或多個EL可攜載額外的視頻數(shù)據(jù)以支持(例如)更高的空間、時間和/或信噪比(SNR)水平。EL可相對于先前經編碼的層而界定。舉例來說,底層可充當BL,而頂層可充當EL。中間層可充當EL或RL,或兩者。舉例來說,中間層(例如,既不是最低層也不是最高層的層)可為中間層下方的層(例如,BL或任何介入EL)的EL;且同時充當中間層上方的一或多個EL的RL。類似地,在HEVC標準的多視圖或3D擴展中,可存在多個視圖,且可利用一個視圖的信息對另一視圖的信息(例如,運動估計、運動向量預測和/或其它冗余)進行譯碼(例如,編碼或解碼)。
例如假想?yún)⒖冀獯a器(HRD)參數(shù)等位流符合性參數(shù)可被包含作為視頻數(shù)據(jù)位流的部分,以允許解碼器測試所接收位流的符合性。在使用分區(qū)發(fā)射的多層編解碼器中,HRD參數(shù)可映射到特定分區(qū)。然而,僅將HRD參數(shù)映射到分區(qū)不考慮正使用的輸出層集合。取決于正使用的輸出集合,特定分區(qū)可能需要與不同HRD參數(shù)相關聯(lián)。因此,需要用于指定和映射位流符合性參數(shù)的改進的方法。出于解釋的目的,本發(fā)明將主要參考HRD參數(shù)。然而,應理解,本發(fā)明的技術也可以適用于其它類型的符合性參數(shù)。
在以下描述中,描述與某些實施例有關的H.264/AVC技術;還論述HEVC標準和相關技術。雖然本文中在HEVC和/或H.264標準和情況下描述某些實施例,但所屬領域的技術人員可了解,本文中揭示的系統(tǒng)和方法可適用于任何合適的視頻譯碼標準。舉例來說,本文中所揭示的實施例可適用于以下標準中的一或多者(例如,包括由國際電信聯(lián)盟電信標準化部門[ITU-T]視頻譯碼專家組[VCEG]或國際標準化組織/國際電工委員會[ISO/IEC]運動圖像專家組[MPEG]開發(fā)的標準):ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual和ITU-T H.264(還稱為ISO/IEC MPEG-4AVC),包括其可縮放視頻譯碼(SVC)和多視圖視頻譯碼(MVC)擴展。
在許多方面,HEVC通常遵循先前視頻譯碼標準的框架。HEVC中的預測的單元不同于特定先前視頻譯碼標準中的預測的單元(例如,宏塊)。事實上,在HEVC中不存在如在某些先前視頻譯碼標準中所理解的宏塊的概念。宏塊由基于四叉樹方案的分層結構替換,所述分層結構可提供高靈活性和其它可能益處。舉例來說,在HEVC方案內,定義三個類型的塊,例如譯碼單位(CU)、預測單元(PU)和變換單元(TU)。CU可指區(qū)分裂的基本單元??蓪U視為類似于宏塊的概念,但HEVC不限制CU的最大大小,且可允許遞歸分裂成四個大小相等的CU以改進內容適應性。PU可被認為是幀間/幀內預測的基本單元,且單個PU可含有多個任意形狀分區(qū)以有效地譯碼不規(guī)則圖像樣式。TU可認為是變換的基本單元??瑟毩⒂赑U界定TU;然而,TU的大小可限于TU屬于的CU的大小。此塊結構分離為三個不同概念可允許根據(jù)單元的相應作用來優(yōu)化每一單元,這可得到改善的譯碼效率。
僅出于說明的目的,通過僅包括視頻數(shù)據(jù)的兩層(例如,較低層,例如BL;和較高層,例如EL)的實例來描述本文中所揭示的某些實施例。視頻數(shù)據(jù)的“層”通??芍妇哂兄辽僖粋€共同特性(例如,視圖、幀速率、分辨率或類似者)的圖片序列。舉例來說,層可包含與多視圖視頻數(shù)據(jù)的特定視圖(例如,透視圖)相關聯(lián)的視頻數(shù)據(jù)。作為另一實例,層可包含與可縮放視頻數(shù)據(jù)的特定層相關聯(lián)的視頻數(shù)據(jù)。因此,本發(fā)明可互換地參考視頻數(shù)據(jù)的層和視圖。舉例來說,視頻數(shù)據(jù)的視圖可被稱作視頻數(shù)據(jù)的層,且視頻數(shù)據(jù)的層可被稱作視頻數(shù)據(jù)的視圖。此外,多層編解碼器(也稱為多層視頻譯碼器或多層編碼器-解碼器)可共同指多視圖編解碼器或可縮放編解碼器(例如,經配置以使用MV-HEVC、3D-HEVC、SHVC或另一多層譯碼技術編碼和/或解碼視頻數(shù)據(jù)的編解碼器)。視頻編碼和視頻解碼可通常被稱作視頻譯碼。應理解,這些實例可適用于包含多個BL、RL和/或EL的配置。另外,為了易于解釋,參考某些實施例,以下揭示內容包含術語“幀”或“塊”。然而,這些術語不打算具有限制性。舉例來說,下文描述的技術可配合任何合適的視頻單元(例如,塊(例如,CU、PU、TU、宏塊等)、切片、幀等)一起使用。
視頻譯碼標準
例如視頻圖像、TV圖像、靜態(tài)圖像或由錄像機或計算機產生的圖像等的數(shù)字圖像可由布置成水平及垂直線的像素或樣本構成。單個圖像中的像素的數(shù)目通常有數(shù)萬個。每一像素通常含有明度和色度信息。在無壓縮的情況下,將從圖像編碼器傳達到圖像解碼器的信息的絕對量將使實時圖像傳輸變得不可能。為了減少待發(fā)射的信息的量,已開發(fā)出例如JPEG、MPEG及H.263標準等數(shù)個不同壓縮方法。
視頻譯碼標準包含ITU-T H.261、ISO/IEC MPEG-1視覺、ITU-T H.262或ISO/IEC MPEG-2視覺、ITU-T H.263、ISO/IEC MPEG-4視覺和ITU-T H.264(也被稱為ISO/IEC MPEG-4AVC),包含其可縮放視頻譯碼(SVC)和多視圖視頻譯碼(MVC)擴展。
另外,視頻譯碼標準(即,HEVC)正由ITU-T VCEG與ISO/IEC MPEG的關于視頻譯碼的聯(lián)合合作小組(JCT-VC)開發(fā)。對HEVC草案10的完全引用為布洛斯(Bross)等人的文獻JCTVC-L1003“高效率視頻譯碼(HEVC)文本規(guī)格草案10”,ITU-T SG16WP3與ISO/IEC JTC1/SC29/WG11的視頻譯碼聯(lián)合合作小組(JCT-VC),第12次會議:瑞士日內瓦,2013年1月14日至2013年1月23日。對HEVC的多視圖擴展(即,MV-HEVC)和對HEVC的可縮放擴展(名為SHVC)也正分別由JCT-3V(ITU-T/ISO/IEC 3D視頻譯碼擴展開發(fā)聯(lián)合合作小組)和JCT-VC開發(fā)。
視頻譯碼系統(tǒng)
下文參考附圖更充分地描述新穎系統(tǒng)、設備及方法的各個方面。然而,本發(fā)明可以許多不同形式來體現(xiàn),且不應將其解釋為限于貫穿本發(fā)明所呈現(xiàn)的任何特定結構或功能。相反地,提供這些方面以使得本發(fā)明將透徹且完整,并且將向所屬領域的技術人員充分傳達本發(fā)明的范圍?;诒疚闹械慕淌?,所屬領域的技術人員應了解,本發(fā)明的范圍既定涵蓋無論是獨立于本發(fā)明的任何其它方面而實施還是與之組合而實施的本文中所揭示的新穎系統(tǒng)、設備及方法的任何方面。舉例來說,可以使用本文中所闡述的任何數(shù)目個方面來實施設備或實踐方法。另外,本發(fā)明的范圍既定涵蓋使用除本文中所闡述的本發(fā)明的各種方面之外的或不同于本文中所闡述的本發(fā)明的各種方面的其它結構、功能性或結構與功能性來實踐的此設備或方法。應理解,可通過權利要求的一或多個要素來體現(xiàn)本文中所公開的任何方面。
盡管本文描述了特定方面,但這些方面的許多變化及排列落在本發(fā)明的范圍內。盡管提及了優(yōu)選方面的一些益處及優(yōu)點,但本發(fā)明的范圍不希望限于特定益處、用途或目標。而是,本發(fā)明的方面既定廣泛地適用于不同無線技術、系統(tǒng)配置、網絡及發(fā)射協(xié)議,其中的一些是借助于實例而在圖中以及在優(yōu)選方面的以下描述中說明。具體實施方式和圖式僅說明本發(fā)明,而不是限制由所附權利要求書和其等效物界定的本發(fā)明的范圍。
附圖說明若干實例。由附圖中的參考標號指示的元件對應于在以下描述中由相同參考標號指示的元件。在本發(fā)明中,名稱以序數(shù)詞(例如,“第一”、“第二”、“第三”等)開始的元件未必暗示所述元件具有特定次序。而是,此些序數(shù)詞僅用于指代相同或類似類型的不同元件。
圖1A為說明可利用根據(jù)本發(fā)明中所描述的方面的技術的實例視頻譯碼系統(tǒng)10的框圖。如本文中所描述地使用,術語“視頻譯碼器”一般指代視頻編碼器和視頻解碼器兩者。在本發(fā)明中,術語“視頻譯碼”或“譯碼”可一般地指代視頻編碼和視頻解碼。除了視頻編碼器和視頻解碼器外,本申請案中描述的方面可擴展到其它相關裝置,例如,轉碼器(例如,可解碼位流且重新編碼另一位流的裝置)及中間框(例如,可修改、變換及/或另外操縱位流的裝置)。
如圖1A中所示,視頻譯碼系統(tǒng)10包含源裝置12,其產生將在稍后時間由目的地裝置14解碼的經編碼視頻數(shù)據(jù)。在圖1A的實例中,源裝置12和目的地裝置14在單獨的裝置上,具體來說,源裝置12是源裝置的部分,且目的地裝置14是目的地裝置的部分。但是,應注意,源裝置12和目的地裝置14可在相同裝置的一部分上,如圖1B的實例中所示。
再次參考圖1A,源裝置12和目的地裝置14可分別包括廣泛范圍的裝置中的任一者,包含臺式計算機、筆記本(例如,膝上型)計算機、平板計算機、機頂盒、電話手持機(例如,所謂的“智能”電話)、所謂的“智能”板、電視、相機、顯示裝置、數(shù)字媒體播放器、視頻游戲機、視頻流裝置等等。在各種實施例中,源裝置12和目的地裝置14可經裝備以用于無線通信。
目的地裝置14可經由鏈路16接收待解碼的經編碼視頻數(shù)據(jù)。鏈路16可包括能夠將經編碼視頻數(shù)據(jù)從源裝置12移動到目的地裝置14的任何類型的媒體或裝置。在圖1A的實例中,鏈路16可包括使源裝置12能夠實時將經編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14的通信媒體??筛鶕?jù)通信標準(例如,無線通信協(xié)議)調制經編碼的視頻數(shù)據(jù),并將其發(fā)射到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一或多個物理傳輸線。通信媒體可形成基于包的網絡(例如,局域網、廣域網或全球網絡,例如因特網)的部分。通信媒體可包含路由器、交換機、基站或可用于促進從源裝置12到目的地裝置14的通信的任一其它設備。
或者,經編碼數(shù)據(jù)可從輸出接口22輸出到任選的存儲裝置31。類似地,可由(例如)目的地裝置14的輸入接口28從存儲裝置31存取經編碼數(shù)據(jù)。存儲裝置31可包含多種分布式或本地存取數(shù)據(jù)存儲媒體中的任一者,例如硬盤驅動器、閃存器、易失性或非易失性存儲器,或用于存儲經編碼視頻數(shù)據(jù)的任一其它合適的數(shù)字存儲媒體。在另一實例中,存儲裝置31可對應于可保存由源裝置12產生的經編碼視頻的文件服務器或另一中間存儲裝置。目的地裝置14可經由流式傳輸或下載來從存儲裝置31存取所存儲的視頻數(shù)據(jù)。文件服務器可為能夠存儲經編碼視頻數(shù)據(jù)并且將所述經編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的任何類型的服務器。實例文件服務器包含網絡服務器(例如,用于網站)、文件傳輸協(xié)議(FTP)服務器、網絡附接存儲(NAS)裝置,或本地磁盤驅動器。目的地裝置14可通過任何標準數(shù)據(jù)連接(包含因特網連接)來存取經編碼的視頻數(shù)據(jù)。這可包含無線信道(例如,無線局域網[WLAN]連接)、有線連接(例如,數(shù)字訂戶線(DSL)、電纜調制解調器等),或適合于存取存儲在文件服務器上的經編碼視頻數(shù)據(jù)的兩者的組合。經編碼視頻數(shù)據(jù)從存儲裝置31的發(fā)射可為流式傳輸發(fā)射、下載發(fā)射或兩者的組合。
本發(fā)明的技術不限于無線應用或設置。所述技術可應用于支持多種多媒體應用中的任一者的視頻譯碼,例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、例如經由因特網的流視頻發(fā)射(例如,超文本傳送協(xié)議(HTTP)動態(tài)自適應流等)、用于存儲于數(shù)據(jù)存儲媒體上的數(shù)字視頻的編碼、存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應用。在一些實例中,視頻譯碼系統(tǒng)10可經配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻回放、視頻廣播及/或視頻電話等應用。
在圖1A的實例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口22。在一些情況下,輸出接口22可包含調制器/解調器(調制解調器)和/或發(fā)射器。在源裝置12中,視頻源18可包含例如視頻俘獲裝置(例如,攝像機)、含有先前所俘獲的視頻的視頻存檔、用于從視頻內容提供者接收視頻的視頻饋入接口和/或用于產生計算機圖形數(shù)據(jù)以作為源視頻的計算機圖形系統(tǒng),或此類源的組合等源。作為一個實例,如果視頻源18是攝像機,那么源裝置12和目的地裝置14可形成所謂的相機電話或視頻電話,如圖1B的實例中所說明。然而,本發(fā)明中所描述的技術一般來說可適用于視頻譯碼,且可應用于無線和/或有線應用。
可由視頻編碼器20編碼所俘獲視頻、預俘獲的視頻或計算機產生的視頻。經編碼視頻數(shù)據(jù)可經由源裝置12的輸出接口22直接發(fā)射到目的地裝置14。經編碼視頻數(shù)據(jù)也可(或替代地)存儲到存儲裝置31上以供稍后由目的地裝置14或其它裝置存取以用于解碼和/或重放。圖1A和1B中說明的視頻編碼器20可包括圖2A中說明的視頻編碼器20、圖2B中說明的視頻編碼器23或本文中描述的任一其它視頻編碼器。
在圖1A的實例中,目的地裝置14包括輸入接口28、視頻解碼器30和顯示裝置32。在一些狀況下,輸入接口28可包括接收器和/或調制解調器。目的地裝置14的輸入接口28可經由鏈路16和/或從存儲裝置31接收經編碼視頻數(shù)據(jù)。經由鏈路16傳遞或在存儲裝置31上提供的經編碼視頻數(shù)據(jù)可包括由視頻編碼器20產生的多種語法元素,用于由例如視頻解碼器30的視頻解碼器在解碼視頻數(shù)據(jù)時使用。此類語法元素可與在通信媒體上發(fā)射、存儲于存儲媒體上或存儲于文件服務器上的經編碼視頻數(shù)據(jù)包含在一起。圖1A和1B中說明的視頻解碼器30可包括圖3A中說明的視頻解碼器30、圖3B中說明的視頻解碼器33或本文中描述的任一其它視頻解碼器。
顯示裝置32可與目的地裝置14集成或者在目的地裝置14外部。在一些實例中,目的地裝置14可包含集成顯示裝置,并且還經配置以與外部顯示裝置介接。在其它實例中,目的地裝置14可為顯示裝置。一般來說,顯示器裝置32將經解碼視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示器裝置中的任一者,例如液晶顯示器(LCD)、等離子顯示器、有機發(fā)光二極管(OLED)顯示器或另一類型的顯示器裝置。
在相關方面中,圖1B展示實例視頻編碼和解碼系統(tǒng)10′,其中源裝置12和目的地裝置14在裝置11上或作為其一部分。裝置11可為電話手持機,例如“智能”電話等等。裝置11可包含與源裝置12和目的地裝置14操作性通信的任選的處理器/控制器裝置13。圖1B的系統(tǒng)10′及其組件另外類似于圖1A的系統(tǒng)10及其組件。
視頻編碼器20及視頻解碼器30可根據(jù)例如HEVC標準等視頻壓縮標準操作,且可符合HEVC測試模型(HM)?;蛘?,視頻編碼器20和視頻解碼器30可根據(jù)其它專有或行業(yè)標準或此類標準的擴展來操作,所述標準例如ITU-T H.264標準,或者被稱作MPEG-4第10部分AVC。但是,本發(fā)明的技術不限于任何特定譯碼標準。視頻壓縮標準的其它實例包含MPEG-2和ITU-T H.263。
盡管圖1A和1B的實例中未展示,但在一些方面中,視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包含適當?shù)亩嗦窂陀闷?多路分用器單元或其它硬件和軟件以處置共同數(shù)據(jù)流或單獨數(shù)據(jù)流中的音頻和視頻兩者的編碼。在一些實例中,如果適用的話,那么MUX-DEMUX單元可以符合ITU H.223多路復用器協(xié)議,或例如用戶數(shù)據(jù)報協(xié)議(UDP)等其它協(xié)議。
視頻編碼器20和視頻解碼器30各自可實施為多種合適的編碼器電路中的任一者,例如一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件固件或其任何組合。當部分地用軟件實施所述技術時,裝置可將用于所述軟件的指令存儲于合適的非暫時計算機可讀媒體中且使用一或多個處理器用硬件執(zhí)行所述指令以執(zhí)行本發(fā)明的技術。視頻編碼器20和視頻解碼器30中的每一者可包括在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應裝置中的組合編碼器/解碼器(例如,編解碼器)的一部分。
視頻譯碼過程
如上文簡要提及,視頻編碼器20編碼視頻數(shù)據(jù)。視頻數(shù)據(jù)可以包括一或多個圖片。圖片中的每一者為形成視頻的部分的靜態(tài)圖像。在一些情況下,圖片可被稱作視頻“幀”。當視頻編碼器20編碼視頻數(shù)據(jù)時,視頻編碼器20可產生位流。位流可包含形成視頻數(shù)據(jù)的經譯碼表示的一連串位。位流可包含經譯碼圖片和相關聯(lián)的數(shù)據(jù)。經譯碼的圖片是圖片的經譯碼的表示。
為了產生位流,視頻編碼器20可對視頻數(shù)據(jù)中的每一圖片執(zhí)行編碼操作。當視頻編碼器20對所述圖片執(zhí)行編碼操作時,視頻編碼器20可產生一系列經譯碼圖片和相關聯(lián)數(shù)據(jù)。相關聯(lián)的數(shù)據(jù)可包含視頻參數(shù)集(VPS)、序列參數(shù)集(SPS)、圖片參數(shù)集(PPS)、自適應參數(shù)集(APS)和其它語法結構。SPS可以含有適用于零個或多于零個的圖片序列的參數(shù)。PPS可含有適用于零或更多圖片的參數(shù)。APS可含有適用于零個或更多圖片的參數(shù)。APS中的參數(shù)可為比PPS中的參數(shù)更可能改變的參數(shù)。
為了產生經譯碼圖片,視頻編碼器20可將圖片分割成大小相等的視頻塊。視頻塊可為樣本的二維陣列。視頻塊中的每一者與樹塊相關聯(lián)。在一些情況下,樹塊可被稱作最大譯碼單元(LCU)。HEVC的樹塊可廣泛類似于例如H.264/AVC等先前標準的宏塊。然而,樹塊不必限于特定大小,且可包含一或多個譯碼單元(CU)。視頻編碼器20可使用四叉樹分割將樹塊的視頻塊分割成與CU相關聯(lián)的視頻塊(因此名稱為“樹塊”)。
在一些實例中,視頻編碼器20可將圖片分割成多個切片。切片中的每一者可包含整數(shù)數(shù)目個CU。在一些情況下,一個切片包括整數(shù)數(shù)目個樹塊。在其它情況下,切片的邊界可在樹塊內。
作為對圖片執(zhí)行編碼操作的部分,視頻編碼器20可對圖片的每一切片執(zhí)行編碼操作。當視頻編碼器20對切片執(zhí)行編碼操作時,視頻編碼器20可產生與切片相關聯(lián)的經編碼數(shù)據(jù)。與切片相關聯(lián)的經編碼數(shù)據(jù)可稱為“經譯碼切片”。
為了產生經譯碼切片,視頻編碼器20可對切片中的每一樹塊執(zhí)行編碼操作。當視頻編碼器20對樹塊執(zhí)行編碼操作時,視頻編碼器20可產生經譯碼樹塊。經譯碼樹塊可包括表示樹塊的經編碼型式的數(shù)據(jù)。
當視頻編碼器20產生經譯碼切片時,視頻編碼器20可根據(jù)光柵掃描次序對切片中的樹塊執(zhí)行編碼操作(例如,編碼)。舉例來說,視頻編碼器20可按如下次序來對切片的樹塊進行編碼:跨越切片中的樹塊的最頂行從左到右進行,接著跨越樹塊的下一較低行從左到右進行,以此類推,直到視頻編碼器20已對切片中的樹塊的每一者進行了編碼為止。
作為根據(jù)光柵掃描次序編碼樹塊的結果,可已編碼在給定樹塊的上方和左邊的樹塊,但尚未編碼在給定樹塊的下方和右邊的樹塊。因此,當對給定樹塊進行編碼時,視頻編碼器20可能能夠存取通過對給定樹塊的上方和左邊的樹塊進行編碼而產生的信息。然而,當編碼給定樹塊時,視頻編碼器20可能不能夠存取通過編碼在給定樹塊的下方和右邊的樹塊而產生的信息。
為產生經譯碼樹塊,視頻編碼器20可對樹塊的視頻塊遞歸地執(zhí)行四叉樹分割以將所述視頻塊劃分成逐漸變小的視頻塊。較小視頻塊中的每一者可與不同CU相關聯(lián)。舉例來說,視頻編碼器20可將樹塊的視頻塊分割成四個大小相等的子塊、將所述子塊中的一或多者分割成四個大小相等的子子塊(sub-sub-block),以此類推。經分割的CU可為其視頻塊被分割成與其它CU相關聯(lián)的視頻塊的CU。未分割CU可為其視頻塊未被分割成與其它CU相關聯(lián)的視頻塊的CU。
位流中的一或多個語法元素可指示視頻編碼器20可分割樹塊的視頻塊的最大次數(shù)。CU的視頻塊在形狀上可為正方形。CU的視頻塊的大小(例如,CU的大小)范圍可從8x8像素直到具有最大64x64個像素或更大的樹塊的視頻塊的大小(例如,樹塊的大小)。
視頻編碼器20可根據(jù)z掃描次序對樹塊的每一CU執(zhí)行編碼操作(即,編碼)。換句話說,視頻編碼器20可將左上CU、右上CU、左下CU和接著右下CU按此次序編碼。當視頻編碼器20對經分割的CU執(zhí)行編碼操作時,視頻編碼器20可根據(jù)z掃描次序對與經分割的CU的視頻塊的子塊相關聯(lián)的CU進行編碼。換句話說,視頻編碼器20可對與左上子塊相關聯(lián)的CU、與右上子塊相關聯(lián)的CU、與左下子塊相關聯(lián)的CU,且接著是與右下子塊相關聯(lián)的CU按所述順序進行編碼。
作為根據(jù)z掃描次序編碼樹塊的CU的結果,可已編碼在給定CU的上方、左上方、右上方、左邊的左下方的CU。尚未對給定CU的右下方的CU進行編碼。因此,當對給定CU進行編碼時,視頻編碼器20可能能夠存取通過對與給定CU相鄰的一些CU進行編碼而產生的信息。然而,當對給定CU進行編碼時,視頻編碼器20可能不能夠存取通過對與給定CU相鄰的其它CU進行編碼而產生的信息。
當視頻編碼器20編碼未分割的CU時,視頻編碼器20可產生用于所述CU的一或多個預測單元(PU)。CU的PU中的每一者可與CU的視頻塊內的不同視頻塊相關聯(lián)。視頻編碼器20可產生用于CU的每一PU的經預測視頻塊。PU的經預測視頻塊可為樣本塊。視頻編碼器20可使用幀內預測或幀間預測來產生用于PU的預測視頻塊。
當視頻編碼器20使用幀內預測來產生PU的經預測視頻塊時,視頻編碼器20可基于與PU相關聯(lián)的圖片的經解碼樣本來產生PU的經預測視頻塊。如果視頻編碼器20使用幀內預測來產生CU的PU的經預測視頻塊,那么CU為經幀內預測的CU。當視頻編碼器20使用幀間預測來產生PU的經預測視頻塊時,視頻編碼器20可基于不同于與PU相關聯(lián)的圖片的一或多個圖片的經解碼樣本來產生所述PU的經預測視頻塊。如果視頻編碼器20使用幀間預測來產生CU的PU的經預測視頻塊,那么所述CU為經幀間預測CU。
此外,當視頻編碼器20使用幀間預測來產生用于PU的經預測視頻塊時,視頻編碼器20可產生用于所述PU的運動信息。PU的運動信息可指示PU的一或多個參考塊。PU的每一參考塊可為參考圖片內的視頻塊。參考圖片可為除與PU相關聯(lián)的圖片以外的圖片。在一些情況下,PU的參考塊也可被稱作PU的“參考樣本”。視頻編碼器20可基于PU的參考塊產生所述PU的預測視頻塊。
在視頻編碼器20產生用于CU的一或多個PU的經預測視頻塊之后,視頻編碼器20可基于用于CU的所述PU的預測視頻塊產生所述CU的殘余數(shù)據(jù)。CU的殘余數(shù)據(jù)可指示用于CU的PU的預測視頻塊中的樣本與CU的原始視頻塊之間的差。
此外,作為對未分割的CU執(zhí)行編碼操作的部分,視頻編碼器20可對CU的殘余數(shù)據(jù)執(zhí)行遞回四叉樹分割以將CU的殘余數(shù)據(jù)分割成與CU的變換單元(TU)相關聯(lián)的一或多個殘余數(shù)據(jù)塊(例如,殘余視頻塊)。CU的每一TU可與不同殘余視頻塊相關聯(lián)。
視頻編碼器20可對與TU相關聯(lián)的殘余視頻塊應用一或多個變換以產生與TU相關聯(lián)的變換系數(shù)塊(例如,變換系數(shù)的塊)。在概念上,變換系數(shù)塊可為變換系數(shù)的二維(2D)矩陣。
在產生變換系數(shù)塊之后,視頻編碼器20可對所述變換系數(shù)塊執(zhí)行量化處理。量化總體上是指對變換系數(shù)進行量化以可能減少用以表示變換系數(shù)的數(shù)據(jù)的量從而提供進一步壓縮的過程。量化過程可減少與變換系數(shù)中的一些或全部相關聯(lián)的位深度。例如,可在量化期間將n位變換系數(shù)向下舍入到m位變換系數(shù),其中n大于m。
視頻編碼器20可使每一CU與量化參數(shù)(QP)值相關聯(lián)。與CU相關聯(lián)的QP值可確定視頻編碼器20如何與所述CU相關聯(lián)的變換系數(shù)塊進行量化。視頻編碼器20可通過調整與CU相關聯(lián)的QP值來調整應用于與CU相關聯(lián)的變換系數(shù)塊的量化的程度。
在視頻編碼器20量化變換系數(shù)塊之后,視頻編碼器20可產生表示經量化變換系數(shù)塊中的變換系數(shù)的語法元素集。視頻編碼器20可將例如上下文自適應性二進制算術譯碼(CABAC)操作的熵編碼操作應用于這些語法元素中的一些。也可使用例如上下文自適應可變長度譯碼(CAVLC)、概率區(qū)間分割熵(PIPE)譯碼或其它二進制算術譯碼的其它熵譯碼技術。
由視頻編碼器20產生的位流可包含一系列網絡抽象層(NAL)單元。所述NAL單元中的每一者可為含有NAL單元中的數(shù)據(jù)類型的指示及含有數(shù)據(jù)的字節(jié)的語法結構。舉例來說,NAL單元可含有表示視頻參數(shù)集、序列參數(shù)集、圖片參數(shù)集、經譯碼切片、補充增強信息(SEI)、存取單元分隔符、填充數(shù)據(jù)或另一類型的數(shù)據(jù)的數(shù)據(jù)。NAL單元中的數(shù)據(jù)可包含各種語法結構。
視頻解碼器30可接收由視頻編碼器20產生的位流。所述位流可包含由視頻編碼器20編碼的視頻數(shù)據(jù)的經譯碼表示。當視頻解碼器30接收到位流時,視頻解碼器30可對所述位流執(zhí)行剖析操作。當視頻解碼器30執(zhí)行剖析操作時,視頻解碼器30可從所述位流提取語法元素。視頻解碼器30可基于從位流提取的語法元素重構視頻數(shù)據(jù)的圖片。基于語法元素重構視頻數(shù)據(jù)的過程可與由視頻編碼器20執(zhí)行以產生語法元素的過程大體互逆。
在視頻解碼器30提取與CU相關聯(lián)的語法元素之后,視頻解碼器30可基于所述語法元素產生用于CU的PU的經預測視頻塊。另外,視頻解碼器30可對與CU的TU相關聯(lián)的變換系數(shù)塊進行逆量化。視頻解碼器30可對變換系數(shù)塊執(zhí)行逆變換以重構與CU的TU相關聯(lián)的殘余視頻塊。在產生經預測視頻塊且重構殘余視頻塊之后,視頻解碼器30可基于經預測視頻塊及殘余視頻塊重構CU的視頻塊。以此方式,視頻解碼器30可基于位流中的語法元素重構CU的視頻塊。
視頻編碼器
圖2A為說明可實施根據(jù)本發(fā)明中所描述的方面的技術的視頻編碼器的實例的框圖。視頻編碼器20可經配置以處理視頻幀的單層(例如針對HEVC)。此外,視頻編碼器20可經配置以執(zhí)行本發(fā)明的技術中的任一者或全部。作為一個實例,預測處理單元100可經配置以執(zhí)行本發(fā)明中所描述的技術中的任一者或全部。在另一實施例中,視頻編碼器20包含任選的層間預測單元128,所述層間預測單元經配置以執(zhí)行本發(fā)明中描述的技術中的任一者或全部。在其它實施例中,層間預測可由預測處理單元100(例如,幀間預測單元121及/或幀內預測單元126)執(zhí)行,在此情況下可省略層間預測單元128。然而,本發(fā)明的方面不限于此。在一些實例中,本發(fā)明中描述的技術可在視頻編碼器20的各種組件之間共享。在一些實例中,另外或替代地,處理器(未圖示)可經配置以執(zhí)行本發(fā)明中描述的技術中的任一者或全部。
出于解釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻編碼器20。然而,本發(fā)明的技術可以適用于其它譯碼標準或方法。圖2A中所描繪的實例是針對單層編解碼器。然而,如將關于圖2B進一步描述,可復制視頻編碼器20中的一些或全部以用于多層編解碼器的處理。
視頻編碼器20可執(zhí)行視頻切片內的視頻塊的幀內和幀間譯碼。幀內譯碼依賴于空間預測來減小或移除給定視頻幀或圖片內的視頻的空間冗余。幀間譯碼依靠時間預測來減少或移除視頻序列的鄰近幀或圖片內的視頻中的時間冗余。幀內模式(I模式)可指代若干基于空間的譯碼模式中的任一者。例如單向預測(P模式)或雙向預測(B模式)等幀間模式可指代若干基于時間的譯碼模式中的任一者。
在圖2A的實例中,視頻編碼器20包含多個功能組件。視頻編碼器20的功能組件包括預測處理單元100、殘余產生單元102、變換處理單元104、量化單元106、逆量化單元108、逆變換單元110、重構單元112、濾波器單元113、經解碼圖片緩沖器114和熵編碼單元116。預測處理單元100包含幀間預測單元121、運動估計單元122、運動補償單元124、幀內預測單元126及層間預測單元128。在其它實例中,視頻編碼器20可包含更多、更少或不同的功能組件。此外,運動估計單元122和運動補償單元124可高度集成,但出于解釋的目的而在圖2A的實例中分開表示。
視頻編碼器20可以接收視頻數(shù)據(jù)。視頻編碼器20可從各種源接收視頻數(shù)據(jù)。舉例來說,視頻編碼器20可從視頻源18(例如,圖1A或1B中所展示)或另一源接收視頻數(shù)據(jù)。視頻數(shù)據(jù)可表示一系列圖片。為編碼視頻數(shù)據(jù),視頻編碼器20可對圖片中的每一者執(zhí)行編碼操作。作為對圖片執(zhí)行編碼操作的一部分,視頻編碼器20可對圖片的每一切片執(zhí)行編碼操作。作為對切片執(zhí)行編碼操作的部分,視頻編碼器20可對切片中的樹塊執(zhí)行編碼操作。
作為對樹塊執(zhí)行編碼操作的部分,預測處理單元100可對樹塊的視頻塊執(zhí)行四叉樹分割以將所述視頻塊劃分成逐漸變小的視頻塊。較小視頻塊中的每一者可與不同CU相關聯(lián)。舉例來說,預測處理單元100可將樹塊的視頻塊分割成四個相等大小的子塊,將所述子塊中的一或多者分割成四個相等大小的子子塊,等等。
與CU相關聯(lián)的視頻塊的大小范圍可從8x8樣本高達最大64x64像素或更大的樹塊大小。在本發(fā)明中,“N×N”和“N乘N”可互換使用來指代在垂直及水平尺寸方面的視頻塊的樣本尺寸,例如,16×16樣本或16乘16樣本。一般來說,16x16視頻塊在垂直方向上具有16個樣本(y=16),且在水平方向上具有16個樣本(x=16)。同樣,NxN塊一般在垂直方向上具有N個樣本,且在水平方向上具有N個樣本,其中N表示非負整數(shù)值。
另外,作為對樹塊執(zhí)行編碼操作的部分,預測處理單元100可產生用于所述樹塊的階層式四叉樹數(shù)據(jù)結構。例如,樹塊可對應于四叉樹數(shù)據(jù)結構的根節(jié)點。如果預測處理單元100將樹塊的視頻塊分割成四個子塊,那么根節(jié)點在四叉樹數(shù)據(jù)結構中具有四個子級節(jié)點。所述子節(jié)點中的每一者對應于與子塊中的一者相關聯(lián)的CU。如果預測處理單元100將子塊中的一者分割成四個子子塊,那么對應于與子塊相關聯(lián)的CU的節(jié)點可具有四個子級節(jié)點,其中的每一者對應于與子子塊中的一者相關聯(lián)的CU。
四叉樹數(shù)據(jù)結構的每一節(jié)點可含有用于對應樹塊或CU的語法數(shù)據(jù)(例如,語法元素)。例如,四叉樹中的節(jié)點可包含分裂旗標,其指示對應于所述節(jié)點的CU的視頻塊是否被分割(例如,分裂)成四個子塊。用于CU的語法元素可遞歸地界定,且可取決于所述CU的視頻塊是否分裂成子塊。視頻塊未被分割的CU可對應于四叉樹數(shù)據(jù)結構中的葉節(jié)點。經譯碼樹塊可包含基于對應樹塊的四叉樹數(shù)據(jù)結構的數(shù)據(jù)。
視頻編碼器20可對樹塊的每一未分割CU執(zhí)行編碼操作。當視頻編碼器20對未分割CU執(zhí)行編碼操作時,視頻編碼器20產生表示未分割CU的經編碼表示的數(shù)據(jù)。
作為對CU執(zhí)行編碼操作的部分,預測處理單元100可在CU的一或多個PU間分割CU的視頻塊。視頻編碼器20及視頻解碼器30可支持各種PU大小。假定特定CU的大小為2Nx2N,視頻編碼器20及視頻解碼器30可支持2Nx2N或NxN的PU大小,及2Nx2N、2NxN、Nx2N、NxN、2NxnU、nLx2N、nRx2N或類似的對稱PU大小的幀間預測。視頻編碼器20及視頻解碼器30還可支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不對稱分割。在一些實例中,預測處理單元100可執(zhí)行幾何分割以沿并不按直角與CU的視頻塊的側會合的邊界來在CU的PU間分割CU的視頻塊。
幀間預測單元121可對CU的每一PU執(zhí)行幀間預測。幀間預測可提供時間壓縮。為了對PU執(zhí)行幀間預測,運動估計單元122可產生PU的運動信息。運動補償單元124可基于運動信息和除與CU相關聯(lián)的圖片(例如,參考圖片)以外的圖片的經解碼樣本而產生PU的經預測視頻塊。在本發(fā)明中,由運動補償單元124產生的經預測視頻塊可稱作經幀間預測視頻塊。
切片可為I切片、P切片,或B切片。運動估計單元122和運動補償單元124可取決于PU處于I切片、P切片還是B切片中而對CU的PU執(zhí)行不同操作。在I切片中,所有PU都是經幀內預測。因此,如果PU在I切片中,那么運動估計單元122及運動補償單元124不對PU執(zhí)行幀間預測。
如果PU在P切片中,那么含有所述PU的圖片與被稱作“列表0”的參考圖片列表相關聯(lián)。列表0中的參考圖片中的每一者含有可用于其它圖片的幀間預測的樣本。當運動估計單元122關于P切片中的PU執(zhí)行運動估計操作時,運動估計單元122可搜索列表0中的參考圖片以找出PU的參考塊。PU的參考塊可為最緊密對應于PU的視頻塊中的樣本的一組樣本,例如,樣本塊。運動估計單元122可使用多種度量來確定參考圖片中的一組樣本對應于PU的視頻塊中的樣本的緊密程度。例如,運動估計單元122可通過絕對差總和(SAD)、平方差總和(SSD)或其它差異度量來確定參考圖片中的一組樣本對應于PU的視頻塊中的樣本的接近程度。
在識別出P切片中的PU的參考塊之后,運動估計單元122可產生指示列表0中含有參考塊的參考圖片的參考索引,以及指示PU與參考塊之間的空間位移的運動向量。在各種實例中,運動估計單元122可以不同精確度產生運動向量。舉例來說,運動估計單元122可以四分之一樣本精確度、八分之一樣本精確度或其它分數(shù)樣本精確度產生運動向量。在分數(shù)樣本精確度的情況下,參考塊值可從參考圖片中的整數(shù)位置樣本值內插。運動估計單元122可將參考索引及運動向量輸出為PU的運動信息。運動補償單元124可基于由PU的運動信息識別的參考塊而產生PU的經預測視頻塊。
如果PU處于B切片中,那么含有PU的圖片可與被稱作“列表0”和“列表1”的兩個參考圖片列表相關聯(lián)。在一些實例中,含有B切片的圖片可與為列表0與列表1的組合的列表組合相關聯(lián)。
此外,如果PU在B切片中,那么運動估計單元122可對PU執(zhí)行單向預測或雙向預測。當運動估計單元122對PU執(zhí)行單向預測時,運動估計單元122可搜索列表0或列表1中的參考圖片以找出用于所述PU的參考塊。運動估計單元122可隨后產生指示列表0或列表1中的含有參考塊的參考圖片的參考索引和指示PU與參考塊之間的空間位移的運動向量。運動估計單元122可輸出參考索引、預測方向指示符和運動向量作為所述PU的運動信息。預測方向指示符可指示參考索引指示列表0還是列表1中的參考圖片。運動補償單元124可基于由PU的運動信息指示的參考塊來產生PU的經預測視頻塊。
當運動估計單元122針對PU執(zhí)行雙向預測時,運動估計單元122可搜索列表0中的參考圖片以找到用于所述PU的參考塊,且還可搜索列表1中的參考圖片以找到用于所述PU的另一參考塊。運動估計單元122可隨后產生指示列表0和列表1中的含有參考塊的參考圖片的參考索引和指示參考塊與PU之間的空間位移的運動向量。運動估計單元122可輸出PU的參考索引及運動向量作為PU的運動信息。運動補償單元124可基于由PU的運動信息指示的參考塊而產生PU的經預測視頻塊。
在一些情況下,運動估計單元122不將PU的運動信息的完整集合輸出到熵編碼單元116。實際上,運動估計單元122可參考另一PU的運動信息用信號表示PU的運動信息。舉例來說,運動估計單元122可確定PU的運動信息足夠類似于相鄰PU的運動信息。在此實例中,運動估計單元122可在與PU相關聯(lián)的語法結構中指示一值,所述值向視頻解碼器30指示PU具有與相鄰PU相同的運動信息。在另一實例中,運動估計單元122可在與PU相關聯(lián)的語法結構中識別相鄰PU和運動向量差(MVD)。運動向量差指示PU的運動向量與所指示的相鄰PU的運動向量之間的差。視頻解碼器30可使用所指示的相鄰PU的運動向量及運動向量差來確定PU的運動向量。通過在用信號表示第二PU的運動信息時參考第一PU的運動信息,視頻編碼器20可能能夠使用較少位用信號表示第二PU的運動信息。
作為對CU執(zhí)行編碼操作的部分,幀內預測單元126可對CU的PU執(zhí)行幀內預測。幀內預測可提供空間壓縮。當幀內預測單元126對PU執(zhí)行幀內預測時,幀內預測單元126可基于同一圖片中的其它PU的經解碼樣本來產生用于PU的預測數(shù)據(jù)。用于PU的預測數(shù)據(jù)可包含經預測視頻塊和各種語法元素。幀內預測單元126可對I切片、P切片和B切片中的PU執(zhí)行幀內預測。
為了對PU執(zhí)行幀內預測,幀內預測單元126可使用多個幀內預測模式以產生用于PU的預測數(shù)據(jù)的多個集合。當幀內預測單元126使用幀內預測模式來產生PU的預測數(shù)據(jù)的集合時,幀內預測單元126可在與幀內預測模式相關聯(lián)的方向和/或梯度上跨越PU的視頻塊從相鄰PU的視頻塊擴展樣本。相鄰PU可在所述PU的上方、右上方、左上方或左側,假定對于PU、CU和樹塊采用從左到右、從上到下的編碼次序。幀內預測單元126可取決于PU的大小而使用各種數(shù)目個幀內預測模式,例如33個方向性幀內預測模式。
預測處理單元100可從由運動補償單元124針對PU產生的預測數(shù)據(jù)或由幀內預測單元126針對PU產生的預測數(shù)據(jù)當中選擇用于PU的預測數(shù)據(jù)。在一些實例中,預測處理單元100基于預測數(shù)據(jù)集合的速率/失真度量而選擇PU的預測數(shù)據(jù)。
如果預測處理單元100選擇由幀內預測單元126產生的預測數(shù)據(jù),那么預測處理單元100可用信號表示用以產生用于PU的預測數(shù)據(jù)的幀內預測模式,即,選定幀內預測模式。預測處理單元100可以各種方式用傳信所選幀內預測模式。舉例來說,有可能所選幀內預測模式與相鄰PU的幀內預測模式相同。換句話說,相鄰PU的幀內預測模式可為用于當前PU的最可能模式。因此,預測處理單元100可產生用以指示選定幀內預測模式與相鄰PU的幀內預測模式相同的語法元素。
如上文所論述,視頻編碼器20可包含層間預測單元128。層間預測單元128經配置以使用在可縮放視頻譯碼中可用的一或多個不同層(例如,BL或RL)預測當前塊(例如,EL中的當前塊)。此預測可稱作層間預測。層間預測單元128利用預測方法減少層間冗余,借此改進譯碼效率且降低計算資源要求。層間預測的一些實例包含層間幀內預測、層間運動預測及層間殘余預測。層間幀內預測使用BL中對處于相同位置的塊的重構來預測EL中的當前塊。層間運動預測使用BL的運動信息來預測EL中的運動。層間殘余預測使用BL的殘余來預測EL的殘余。下文更詳細地論述層間預測方案中的每一者。
在預測處理單元100選擇用于CU的PU的預測數(shù)據(jù)之后,殘余產生單元102可通過從CU的視頻塊減去(例如,由減號指示)CU的PU的經預測視頻塊而產生用于CU的殘余數(shù)據(jù)。CU的殘余數(shù)據(jù)可包含對應于CU的視頻塊中的樣本的不同樣本分量的2D殘余視頻塊。舉例來說,殘余數(shù)據(jù)可包含對應于CU的PU的經預測視頻塊中的樣本的明度分量與CU的原始視頻塊中的樣本的明度分量之間的差的殘余視頻塊。另外,CU的殘余數(shù)據(jù)可包含對應于CU的PU的預測視頻塊中的樣本的色度分量與CU的原始視頻塊中的樣本的色度分量之間的差的殘余視頻塊。
預測處理單元100可執(zhí)行四叉樹分割以將CU的殘余視頻塊分割成子塊。每一未經劃分的殘余視頻塊可與CU的不同TU相關聯(lián)。與CU的TU相關聯(lián)的殘余視頻塊的大小及位置可基于或可不基于與CU的PU相關聯(lián)的視頻塊的大小及位置。被稱為“殘余四叉樹”(RQT)的四叉樹結構可包含與殘余視頻塊中的每一者相關聯(lián)的節(jié)點。CU的TU可以對應于RQT的葉節(jié)點。
變換處理單元104可通過將一或多個變換應用于與CU的每一TU相關聯(lián)的殘余視頻塊而產生用于所述TU的一或多個變換系數(shù)塊。變換系數(shù)塊中的每一者可為變換系數(shù)的2D矩陣。變換處理單元104可將各種變換應用于與TU相關聯(lián)的殘余視頻塊。舉例來說,變換處理單元104可將離散余弦變換(DCT)、方向性變換或概念上類似的變換應用到與TU相關聯(lián)的殘余視頻塊。
在變換處理單元104產生與TU相關聯(lián)的變換系數(shù)塊之后,量化單元106可量化所述變換系數(shù)塊中的變換系數(shù)。量化單元106可基于與CU相關聯(lián)的QP值而對與CU的TU相關聯(lián)的變換系數(shù)塊進行量化。
視頻編碼器20可以各種方式使QP值與CU相關聯(lián)。例如,視頻編碼器20可對與CU相關聯(lián)的樹塊執(zhí)行速率失真分析。在速率-失真分析中,視頻編碼器20可通過對樹塊執(zhí)行多次編碼操作而產生樹塊的多個經譯碼表示。在視頻編碼器20產生樹塊的不同經編碼表示時,視頻編碼器20可使不同QP值與CU相關聯(lián)。當給定QP值與具有最低位速率和失真量度的樹塊的經譯碼表示中的CU相關聯(lián)時,視頻編碼器20可信令所述給定QP值與CU相關聯(lián)。
逆量化單元108和逆變換單元110可分別將逆量化及逆變換應用于變換系數(shù)塊以從變換系數(shù)塊重構殘余視頻塊。重構單元112可將經重構的殘余視頻塊添加到來自由預測處理單元100產生的一或多個預測視頻塊的對應樣本,以產生與TU相關聯(lián)的經重構視頻塊。通過以此方式重構CU的每一TU的視頻塊,視頻編碼器20可重構CU的視頻塊。
在重構單元112重構CU的視頻塊之后,濾波器單元113可執(zhí)行解塊操作以減小與所述CU相關聯(lián)的視頻塊中的成塊假象。在執(zhí)行一或多個解塊操作之后,濾波器單元113可將CU的經重構視頻塊存儲在經解碼圖片緩沖器114中。運動估計單元122和運動補償單元124可使用含有經重構視頻塊的參考圖片來對后續(xù)圖片的PU執(zhí)行幀間預測。另外,幀內預測單元126可使用經解碼圖片緩沖器114中的經重構視頻塊對處于與CU相同圖片中的其它PU執(zhí)行幀內預測。
熵編碼單元116可從視頻編碼器20的其它功能組件接收數(shù)據(jù)。舉例來說,熵編碼單元116可從量化單元106接收變換系數(shù)塊并且可從預測處理單元100接收語法元素。當熵編碼單元116接收到數(shù)據(jù)時,熵編碼單元116可以執(zhí)行一或多個熵編碼操作以產生經熵編碼數(shù)據(jù)。舉例來說,視頻編碼器20可對所述數(shù)據(jù)執(zhí)行CAVLC操作、CABAC操作、可變到可變(V2V)長度譯碼操作、基于語法的上下文自適應二進制算術譯碼(SBAC)操作、概率區(qū)間分割熵(PIPE)譯碼操作,或另一類型的熵編碼操作。熵編碼單元116可輸出包含經熵編碼數(shù)據(jù)的位流。
作為對數(shù)據(jù)執(zhí)行熵編碼操作的一部分,熵編碼單元116可選擇上下文模型。如果熵編碼單元116正執(zhí)行CABAC操作,那么上下文模型可指示特定二進制數(shù)具有特定值的概率的估計。在CABAC的情況下,術語“二進位”用以指語法元素的二進制化版本的位。
多層視頻編碼器
圖2B為說明可實施根據(jù)本發(fā)明中所描述的方面的技術的多層視頻編碼器23(也被簡稱為視頻編碼器23)的實例的框圖。視頻編碼器23可經配置以處理多層視頻幀,例如針對SHVC和多視圖譯碼。另外,視頻編碼器23可經配置以執(zhí)行本發(fā)明的技術中的任一者或全部。
視頻編碼器23包括視頻編碼器20A和視頻編碼器20B,其中的每一者可經配置為視頻編碼器20,且可執(zhí)行上文關于視頻編碼器20描述的功能。另外,如由參考數(shù)字的再使用所指示,視頻編碼器20A和20B可包括如視頻編碼器20的系統(tǒng)和子系統(tǒng)中的至少一些。雖然將視頻編碼器23說明為包含兩個視頻編碼器20A和20B,但視頻編碼器23不受如此限制,且可包含任何數(shù)目個視頻編碼器20層。在一些實施例中,視頻編碼器23可包括針對存取單元中的每一圖片或幀的視頻編碼器20。例如,包含五個圖片的存取單元可由包含五個編碼器層的視頻編碼器處理或編碼。在一些實施例中,視頻編碼器23可包含比存取單元中的幀更多的編碼器層。在一些此類情況下,當處理一些存取單元時,一些視頻編碼器層可能不在作用中。
除了視頻編碼器20A和20B之外,視頻編碼器23可包含再取樣單元90。在一些情況下,再取樣單元90可對所接收視頻幀的BL進行上取樣以例如產生EL。再取樣單元90可對與幀的所接收到的BL相關聯(lián)的特定信息進行上取樣,但不對其它信息進行上取樣。舉例來說,再取樣單元90可對BL的空間大小或像素數(shù)目上取樣,但切片的數(shù)目或圖片次序計數(shù)可保持恒定。在一些情況下,再取樣單元90可不處理所接收的視頻及/或可為任選的。舉例來說,在一些情況下,預測處理單元100可執(zhí)行上取樣。在一些實施例中,再取樣單元90經配置以對層進行上取樣且重新組織、重新界定、修改或調整一或多個切片以符合一組切片邊界規(guī)則及/或光柵掃描規(guī)則。雖然主要描述為上取樣BL或存取單元中的較低層,但在一些狀況下,再取樣單元90可對層下取樣。例如,如果在視頻的流式傳輸期間減小帶寬,那么可對幀進行下取樣而不是上取樣。
再取樣單元90可經配置以從較低層編碼器(例如,視頻編碼器20A)的經解碼圖片緩沖器114接收圖片或幀(或與圖片相關聯(lián)的圖片信息),并對所述圖片(或所接收到的圖片信息)進行上取樣??山又鴮⒋私浬先訄D片提供到較高層編碼器(例如,視頻編碼器20B)的預測處理單元100,所述較高層編碼器經配置以編碼與較低層編碼器相同的存取單元中的圖片。在一些情況下,較高層編碼器為從較低層編碼器去除的一個層。在其它情況下,在圖2B的層0編碼器與層1編碼器之間可存在一或多個較高層編碼器。
在一些情況下,可省略或繞過再取樣單元90。在此類狀況下,可直接或在至少不提供到再取樣單元90的情況下將來自視頻編碼器20A的經解碼圖片緩沖器114的圖片提供到視頻編碼器20B的預測處理單元100。舉例來說,如果提供到視頻編碼器20B的視頻數(shù)據(jù)和來自視頻編碼器20A的經解碼圖片緩沖器114的參考圖片具有相同大小或分辨率,那么可將參考圖片提供到視頻編碼器20B而無任何再取樣。
在一些實施例中,視頻編碼器23使用下取樣單元94對將提供到較低層編碼器的視頻數(shù)據(jù)下取樣,之后將所述視頻數(shù)據(jù)提供到視頻編碼器20A。替代地,下取樣單元94可為能夠對視頻數(shù)據(jù)上取樣或下取樣的再取樣單元90。在另外其它實施例中,可省略下取樣單元94。
如圖2B中所說明,視頻編碼器23可進一步包括多路復用器98或mux。多路復用器98可從視頻編碼器23輸出組合的位流??赏ㄟ^從視頻編碼器20A和20B中的每一者取得位流且交替在給定時間輸出哪一位流來產生組合的位流。雖然在一些情況下,可一次一個位地交替來自兩個(或在兩個以上視頻編碼器層的情況下更多)位流的位,但在許多情況下,不同地組合所述位流。舉例來說,可通過一次一個塊地交替所選位流來產生輸出位流。在另一實例中,可通過從視頻編碼器20A和20B中的每一者輸出非1:1比率的塊來產生輸出位流。舉例來說,可針對從視頻編碼器20A輸出的每一塊從視頻編碼器20B輸出兩個塊。在一些實施例中,可預編程來自多路復用器98的輸出流。在其它實施例中,多路復用器98可基于從視頻編碼器23外部的系統(tǒng)(例如從包含源裝置12的源裝置上的處理器)接收的控制信號而組合來自視頻編碼器20A、20B的位流。可基于來自視頻源18的視頻的分辨率或位速率、基于鏈路16的帶寬、基于與用戶相關聯(lián)的預訂(例如,付費預訂與免費預訂),或基于用于確定來自視頻編碼器23的所要分辨率輸出的任何其它因素來產生控制信號。
視頻解碼器
圖3A為說明可實施根據(jù)本發(fā)明中所描述的方面的技術的視頻解碼器的實例的框圖。視頻解碼器30可經配置以處理視頻幀的單層(例如,針對HEVC)。此外,視頻解碼器30可經配置以執(zhí)行本發(fā)明的技術中的任一者或全部。作為一個實例,運動補償單元162和/或幀內預測單元164可經配置以執(zhí)行本發(fā)明中描述的技術中的任一者或全部。在一個實施例中,視頻解碼器30可任選地包含層間預測單元166,層間預測單元166經配置以執(zhí)行本發(fā)明中所描述的技術中的任一者或全部。在其它實施例中,層間預測可由預測處理單位152(例如,運動補償單元162及/或幀內預測單元164)執(zhí)行,在此情況下,可省略層間預測單元166。然而,本發(fā)明的方面不限于此。在一些實例中,本發(fā)明中描述的技術可在視頻解碼器30的各種組件之間共享。在一些實例中,另外或替代地,處理器(未圖示)可經配置以執(zhí)行本發(fā)明中描述的技術中的任一者或全部。
出于解釋的目的,本發(fā)明描述在HEVC譯碼的背景下的視頻解碼器30。然而,本發(fā)明的技術可以適用于其它譯碼標準或方法。圖3A中所描繪的實例是針對單層編解碼器。然而,如將關于圖3B進一步描述,可復制視頻解碼器30中的一些或全部以用于多層編解碼器的處理。
在圖3A的實例中,視頻解碼器30包含多個功能組件。視頻解碼器30的功能組件包括熵解碼單元150、預測處理單元152、逆量化單元154、逆變換單元156、重構單元158、濾波器單元159和經解碼圖片緩沖器160。預測處理單元152包括運動補償單元162、幀內預測單元164和層間預測單元166。在一些實例中,視頻解碼器30可執(zhí)行大體與關于圖2A的視頻編碼器20所描述的編碼遍次互逆的解碼遍次。在其它實例中,視頻解碼器30可包含較多、較少或不同的功能組件。
視頻解碼器30可接收包括經編碼視頻數(shù)據(jù)的位流。所述位流可包含多個語法元素。當視頻解碼器30接收到位流時,熵解碼單元150可對所述位流執(zhí)行剖析操作。對位流執(zhí)行剖析操作的結果是,熵解碼單元150可從所述位流提取語法元素。作為執(zhí)行剖析操作的一部分,熵解碼單元150可對位流中的經熵編碼語法元素進行熵解碼。預測處理單元152、逆量化單元154、逆變換單元156、重構單元158及濾波器單元159可執(zhí)行重構操作,重構操作基于從位流提取的語法元素產生經解碼視頻數(shù)據(jù)。
如上文所論述,位流可包括一系列NAL單元。位流的NAL單元可包含視頻參數(shù)集NAL單元、序列參數(shù)集NAL單元、圖片參數(shù)集NAL單元、SEI NAL單元等等。作為對位流執(zhí)行剖析操作的一部分,熵解碼單元150可執(zhí)行剖析操作,所述剖析操作從序列參數(shù)集NAL單元提取且熵解碼序列參數(shù)集、從圖片參數(shù)集NAL單元提取且熵解碼圖片參數(shù)集、從SEI NAL單元提取且熵解碼SEI數(shù)據(jù)等等。
此外,位流的NAL單元可包含經譯碼切片NAL單元。作為對位流執(zhí)行剖析操作的部分,熵解碼單元150可執(zhí)行剖析操作,所述剖析操作從經譯碼切片NAL單元提取且熵解碼經譯碼切片。經譯碼切片中的每一者可包含切片標頭以及切片數(shù)據(jù)。切片標頭可以含有關于切片的語法元素。切片標頭中的語法元素可包含識別與含有所述切片的圖片相關聯(lián)的圖片參數(shù)集的語法元素。熵解碼單元150可對經譯碼切片標頭中的語法元素執(zhí)行熵解碼操作(例如,CABAC解碼操作),以恢復切片標頭。
作為從經譯碼切片NAL單元提取切片數(shù)據(jù)的部分,熵解碼單元150可執(zhí)行從切片數(shù)據(jù)中的經譯碼CU提取語法元素的剖析操作。所提取的語法元素可包含與變換系數(shù)塊相關聯(lián)的語法元素。熵解碼單元150可接著對語法元素中的一些執(zhí)行CABAC解碼操作。
在熵解碼單元150對未分割的CU執(zhí)行剖析操作之后,視頻解碼器30可對未分割的CU執(zhí)行重構操作。為對未經分割CU執(zhí)行重構操作,視頻解碼器30可對CU的每一TU執(zhí)行重構操作。通過對CU的每一TU執(zhí)行重構操作,視頻解碼器30可重構與CU相關聯(lián)的殘余視頻塊。
作為對TU執(zhí)行重構操作的部分,逆量化單元154可逆量化(例如,解量化)與TU相關聯(lián)的變換系數(shù)塊。逆量化單元154可以類似于針對HEVC所提議或由H.264解碼標準定義的逆量化過程的方式對變換系數(shù)塊進行逆量化。逆量化單元154可使用由視頻編碼器20針對變換系數(shù)塊的CU計算的量化參數(shù)QP來確定量化程度,且同樣地,確定逆量化單元154應用的逆量化的程度。
在逆量化單元154對變換系數(shù)塊進行逆量化之后,逆變換單元156可產生與變換系數(shù)塊相關聯(lián)的TU的殘余視頻塊。逆變換單元156可將逆變換應用到變換系數(shù)塊以便產生所述TU的殘余視頻塊。舉例來說,逆變換單元156可將逆DCT、逆整數(shù)變換、逆卡忽南-拉維(Karhunen-Loeve)變換(KLT)、逆旋轉變換、逆定向變換或另一逆變換應用于變換系數(shù)塊。在一些實例中,逆變換單元156可基于來自視頻編碼器20的信令而確定適用于變換系數(shù)塊的逆變換。在這些實例中,逆變換單元156可基于在用于與變換系數(shù)塊相關聯(lián)的樹塊的四叉樹的根節(jié)點處的用信號表示的變換來確定逆變換。在其它實例中,逆變換單元156可從例如塊大小、譯碼模式或類似者等一或多個譯碼特性推斷逆變換。在一些實例中,逆變換單元156可應用級聯(lián)的逆變換。
在一些實例中,運動補償單元162可通過基于內插濾波器執(zhí)行內插而精煉PU的預測視頻塊。用于將用于以子樣本精確度進行運動補償?shù)膬炔鍨V波器的識別符可包含在語法元素中。運動補償單元162可使用由視頻編碼器20在產生PU的經預測視頻塊期間使用的相同內插濾波器來計算參考塊的子整數(shù)樣本的內插值。運動補償單元162可根據(jù)所接收的語法元素確定由視頻編碼器20使用之的內插濾波器且使用所述內插濾波器來產生經預測視頻塊。
如果PU是使用幀內預測編碼,那么幀內預測單元164可執(zhí)行幀內預測以產生用于PU的經預測視頻塊。舉例來說,幀內預測單元164可基于位流中的語法元素確定用于PU的幀內預測模式。位流可包含幀內預測模塊164可用以確定PU的幀內預測模式的語法元素。
在一些情況下,語法元素可指示幀內預測單元164將使用另一PU的幀內預測模式來確定當前PU的幀內預測模式。舉例來說,可能有可能當前PU的幀內預測模式與相鄰PU的幀內預測模式相同。換句話說,相鄰PU的幀內預測模式可為用于當前PU的最可能模式。因此,在此實例中,位流可包含小語法元素,所述小語法元素指示PU的幀內預測模式與相鄰PU的幀內預測模式相同。幀內預測單元164可隨后使用幀內預測模式基于在空間上相鄰的PU的視頻塊而產生用于PU的預測數(shù)據(jù)(例如,經預測樣本)。
如上文所論述,視頻解碼器30還可包括層間預測單元166。層間預測單元166經配置以使用可用于可縮放視頻譯碼中的一或多個不同層(例如,BL或RL)來預測當前塊(例如,EL中的當前塊)。此預測可稱作層間預測。層間預測單元166利用預測方法來減少層間冗余,進而改進譯碼效率且降低計算資源要求。層間預測的一些實例包含層間幀內預測、層間運動預測及層間殘余預測。層間幀內預測使用BL中對處于相同位置的塊的重構來預測EL中的當前塊。層間運動預測使用BL的運動信息來預測EL中的運動。層間殘余預測使用BL的殘余來預測EL的殘余。下文更詳細地論述層間預測方案中的每一者。
重構單元158可使用與CU的TU相關聯(lián)的殘余視頻塊以及CU的PU的經預測視頻塊(例如,幀內預測數(shù)據(jù)或幀間預測數(shù)據(jù),如果適用)來重構CU的視頻塊。因此,視頻解碼器30可基于位流中的語法元素而產生所預測的視頻塊及殘余視頻塊,且可基于所預測的視頻塊及殘余視頻塊而產生視頻塊。
在重構單元158重構CU的視頻塊之后,濾波器單元159可執(zhí)行解塊操作以減少與CU相關聯(lián)的塊假象。在濾波器單元159執(zhí)行解塊操作以減小與CU相關聯(lián)的成塊假象之后,視頻解碼器30可將CU的視頻塊存儲在經解碼圖片緩沖器160中。經解碼圖片緩沖器160可提供參考圖片以用于后續(xù)運動補償、幀內預測以及在例如圖1A或1B的顯示裝置32的顯示裝置上的呈現(xiàn)。舉例來說,視頻解碼器30可基于經解碼圖片緩沖器160中的視頻塊對其它CU的PU執(zhí)行幀內預測或幀間預測操作。
多層解碼器
圖3B為說明可實施根據(jù)本發(fā)明中描述的方面的技術的多層視頻解碼器33(也被簡稱為視頻解碼器33)的實例的框圖。視頻解碼器33可經配置以處理多層視頻幀(例如,針對SHVC和多視圖譯碼)。另外,視頻解碼器33可經配置以執(zhí)行本發(fā)明的技術中的任一者或全部。
視頻解碼器33包括視頻解碼器30A和視頻解碼器30B,其中的每一者可經配置為視頻解碼器30,且可執(zhí)行上文關于視頻解碼器30描述的功能。另外,如由參考數(shù)字的再使用所指示,視頻解碼器30A和30B可包括如視頻解碼器30的系統(tǒng)和子系統(tǒng)中的至少一些。雖然將視頻解碼器33說明為包含兩個視頻解碼器30A和30B,但視頻解碼器33不受如此限制,且可包含任何數(shù)目個視頻解碼器30層。在一些實施例中,視頻解碼器33可包含用于存取單元中的每一圖片或幀的視頻解碼器30。舉例來說,可由包含五個解碼器層的視頻解碼器處理或解碼包含五個圖片的存取單元。在一些實施例中,視頻解碼器33可包括比存取單元中的幀更多的解碼器層。在一些此等情況下,當處理一些存取單元時,一些視頻解碼器層可能無效。
除了視頻解碼器30A和30B之外,視頻解碼器33還可包含上取樣單元92。在一些實施例中,上取樣單元92可對所接收視頻幀的BL進行上取樣以產生待添加到幀或存取單元的參考圖片列表的增強層。此增強層可存儲在經解碼圖片緩沖器160中。在一些實施例中,上取樣單元92可包含關于圖2A的再取樣單元90描述的實施例中的一些或全部。在一些實施例中,上取樣單元92經配置以對層進行上取樣且重新組織、重新界定、修改或調整一或多個切片以符合一組切片邊界規(guī)則和/或光柵掃描規(guī)則。在一些情況下,上取樣單元92可為經配置以對所接收的視頻幀的層上取樣及/或下取樣的再取樣單元。
上取樣單元92可經配置以從較低層解碼器(例如,視頻解碼器30A)的經解碼圖片緩沖器160接收圖片或幀(或與圖片相關聯(lián)的圖片信息)并對所述圖片(或所接收到的圖片信息)進行上取樣。接著可將此經上取樣圖片提供到較高層解碼器(例如,視頻解碼器30B)的預測處理單元152,所述較高層解碼器經配置以解碼與較低層解碼器相同的存取單元中的圖片。在一些情況下,較高層解碼器為從較低層解碼器移除的一個層。在其它情況下,在圖3B的層0解碼器與層1解碼器之間可存在一或多個較高層解碼器。
在一些情況下,可省略或繞過上取樣單元92。在此類狀況下,可直接或在至少不提供到上取樣單元92的情況下將來自視頻解碼器30A的經解碼圖片緩沖器160的圖片提供到視頻解碼器30B的預測處理單元152。例如,如果提供到視頻解碼器30B的視頻數(shù)據(jù)及來自視頻解碼器30A的經解碼圖片緩沖器160的參考圖片具有相同的大小或分辨率,那么可將參考圖片提供到視頻解碼器30B而不需要上取樣。此外,在一些實施例中,上取樣單元92可為經配置以對從視頻解碼器30A的經解碼圖片緩沖器160接收的參考圖片進行上取樣或下取樣的再取樣單元90。
如圖3B中所說明,視頻解碼器33可進一步包括多路分用器99或demux。多路分用器99可將經編碼視頻位流分裂成多個位流,其中由多路分用器99輸出的每一位流被提供到不同的視頻解碼器30A和30B??赏ㄟ^接收位流來產生多個位流,且視頻解碼器30A和30B中的每一者在給定時間接收位流的一部分。雖然在一些狀況下,可在視頻解碼器(例如,在圖3B的實例中的視頻解碼器30A和30B)中的每一者之間一次一個位地交替來自在demux 99處所接收到的位流的位,但在許多狀況下,以不同方式劃分所述位流。舉例來說,可通過一次一個塊地交替哪一視頻解碼器接收位流而劃分所述位流。在另一實例中,可通過到視頻解碼器30A和30B中的每一者的塊的非1:1比率來劃分位流。舉例來說,可針對提供到視頻解碼器30A的每一塊而將兩個塊提供到視頻解碼器30B。在一些實施例中,可預編程由多路分用器99對位流的劃分。在其它實施例中,多路分用器99可基于從視頻解碼器33外部的系統(tǒng)(例如,從包含目的地裝置14的目的地裝置上的處理器)接收的控制信號而劃分位流??苫趤碜暂斎虢涌?8的視頻的分辨率或位速率、基于鏈路16的帶寬、基于與用戶相關聯(lián)的預訂(例如,付費預訂與免費預訂),或基于用于確定視頻解碼器33可獲得的分辨率的任何其它因素來產生控制信號。
層集合、輸出層集合以及分割方案
在一些實施例中,取決于解碼器的需要或能力可以不同方式解碼或輸出來自編碼器的視頻數(shù)據(jù)。舉例來說,第一解碼器可為了產生最高質量圖片而解碼且輸出經編碼視頻數(shù)據(jù)的所有層。另一方面,不同解碼器可不需要產生最高質量圖片(由于屏幕尺寸、處理功率和/或其它限制),且因此可僅解碼且輸出所述層的子集。
編碼器當產生經編碼視頻數(shù)據(jù)位流時可指定各種層集合且輸出當解碼視頻數(shù)據(jù)時可使用的層集合。舉例來說,可指定包含視頻數(shù)據(jù)的所有層的第一層集合以及僅包含視頻數(shù)據(jù)層的子集的第二層集合。解碼器取決于其特定配置可選擇特定層集合和/或輸出當解碼視頻數(shù)據(jù)時將使用的層集合。
在一些實施例中,視頻數(shù)據(jù)可通過一或多個不同分區(qū)在編碼器與解碼器之間發(fā)射,其中分區(qū)含有一或多個視頻數(shù)據(jù)層。層到分區(qū)的布置可基于指定分割方案而確定。在一些實施例中,可基于使用的層集合和/或輸出層集合而使用分割方案。另外,分割方案也可以至少部分地基于解碼器的要求和/或視頻數(shù)據(jù)的格式。
圖4A和4B說明根據(jù)本發(fā)明中描述的方面的視頻數(shù)據(jù)層、層集合、輸出層集合與分割方案之間的關系。如上文所描述,視頻數(shù)據(jù)可包括多個層402。舉例來說,如圖4A中所說明,視頻數(shù)據(jù)包括三個不同層:底層“層0”,以及“層1”和“層2”。
視頻數(shù)據(jù)可與一或多個不同層集合相關聯(lián)。層集合對應于解碼器將處理的總層的子集。在一些實施例中,不同解碼器可利用不同層集合。舉例來說,經編碼視頻數(shù)據(jù)可從編碼器發(fā)射到多個不同解碼器。解碼器可與具有不同需要或能力的不同類型的輸出或應用相關聯(lián)。舉例來說,第一解碼器可與大的電視或計算機監(jiān)視器屏幕相關聯(lián),而第二解碼器可與小的智能電話屏幕相關聯(lián)。因此,與第二解碼器相比第一解碼器可經配置以處理較大層集合以便獲得較高質量圖片,其中獲得最大圖片質量可能不是大問題。
如圖中所說明,層402可與包括層402的所有三個層的第一層集合404以及包括所述三個層中的僅兩個的第二層集合406相關聯(lián)。如果解碼器使用不含層402的所有層的層集合(例如,第二層集合406),那么解碼器將僅處理所述層集合中包含的層(例如,層0和層1),同時忽略或丟棄不是所述層集合的部分的任何剩余層(例如,層2)。
在一些實施例中,每一層集合可與一或多個不同輸出層集合相關聯(lián)。與層集合相關聯(lián)的輸出層集合對應于所述層集合中在解碼之后將由解碼器實際上的層的子集。舉例來說,第一層集合404可與第一輸出層集合408和第二輸出層集合410相關聯(lián)。類似地,第二層集合406也可以與一或多個不同輸出層集合(未圖示)相關聯(lián)。應理解,對一或多個輸出層集合的“第一”輸出層集合、“第二”輸出層集合等的參考不一定參考所述一或多個輸出層集合中的特定輸出層集合或者所述一或多個輸出層集合的特定次序,而是可對應于所述一或多個輸出層集合中的任何個別輸出層集合。
雖然解碼器將處理/解碼給定層集合中指定的所有層,但僅作為輸出層集合的部分的層將輸出而顯示。舉例來說,使用第二輸出層集合410的解碼器將解碼層集合404的所有三個層(層0、層1和層2)。然而,僅經解碼層2將實際上輸出用于顯示。在一些實施例中,這可能是因為輸出層集合中指定的層(例如,層2)取決于不在輸出層集合中的其它層(例如,層0、層1),因此迫使層集合的其它層即使它們不實際上輸出用于顯示也被解碼。
經編碼視頻位流可在編碼器與解碼器之間作為一或多個分區(qū)而發(fā)射。在一些實施例中,分區(qū)可對應于輸送流中的基本流或文件中的軌道,且可含有一或多個視頻數(shù)據(jù)層。在一些實施例中,每一輸出層集合可與界定視頻數(shù)據(jù)層如何在不同分區(qū)之間當在編碼器與解碼器之間發(fā)射時的一或多個不同分割方案相關聯(lián)。
舉例來說,第一輸出層集合408可與其中每一層在其自身的單獨分區(qū)中的第一分割方案以及其中層0是第一分區(qū)的部分而層1和2共享第二分區(qū)的第二分割方案相關聯(lián)。類似地,第二輸出層集合410可與其中每一層在其自身的單獨分區(qū)中的第一分割方案以及不同于第一分割方案的第二分割方案(例如,層0和1共享第一分區(qū),且層2在單獨第二分區(qū)中)相關聯(lián)。在一些實施例中,其中每一層在其自身的單獨分區(qū)中的分割方案視為默認分割方案。
在一些實施例中,使用的分割方案可至少部分地基于與視頻數(shù)據(jù)相關聯(lián)的媒體文件格式。舉例來說,如圖4B中所說明,如果視頻數(shù)據(jù)將經由MPEG-2輸送流輸送,那么可使用特定分割方案(例如,每一層在其自身的單獨分區(qū)中)。另一方面,如果視頻數(shù)據(jù)將根據(jù)基于ISO的媒體文件格式輸送,那么可使用不同分割方案。在接收視頻數(shù)據(jù)之后,可使用與分割方案的分區(qū)和輸出層集合相關聯(lián)的符合性參數(shù)(例如,HRD參數(shù))測試所接收視頻數(shù)據(jù)的符合性。
映射HRD參數(shù)
在一些實施例中,假想?yún)⒖冀獯a器(HRD)參數(shù)可用以測試所接收視頻數(shù)據(jù)位流對預期格式的符合性。舉例來說,當解碼器接收到包括一或多個分區(qū)的視頻位流時,識別映射到所接收分區(qū)的HRD參數(shù)。接著可通過將與分割方案內的分區(qū)相關聯(lián)的HRD參數(shù)與所接收分區(qū)進行比較而測試所接收位流的符合性。
在一些實施例中,不同層集合可與相同分割方案和分區(qū)相關聯(lián)。舉例來說,如圖4A中所說明,層集合404可與分割方案412和416相關聯(lián),所述分割方案是具有相同分區(qū)(例如,含有層0的分區(qū)#1)的相同分割方案(例如,其中每一層在其自身的單獨分區(qū)中的默認分割方案)。
雖然一些HRD參數(shù)可與分區(qū)中的層是否為輸出層無關,但如由分割方案相關聯(lián)的輸出層集合界定,其它HRD參數(shù)取決于輸出層集合。舉例來說,HRD參數(shù)可包含例如fixed_pic_rate_general_flag[]、fixed_pic_rate_cvs_flag[]、elemental_duration_in_tc_minus1[]等語法元素,其取決于適用于的輸出層集合。
因此,因為同一分區(qū)(例如,分割方案412中的分區(qū)#1和分割方案416中的分區(qū)#1)可與不同輸出層集合相關聯(lián)(例如,分割方案412中的層0是輸出層,而分割方案416中的層0不是輸出層),所以HRD參數(shù)通過層集合僅映射到分區(qū)是不足的,因為取決于,分區(qū)相關聯(lián)的特定輸出層集合,與分區(qū)相關聯(lián)的HRD參數(shù)可能需要不同。因此,HRD參數(shù)并非僅映射到分區(qū),而是也映射到分區(qū)/分割方案相關聯(lián)的輸出層集合。
圖5A說明根據(jù)本發(fā)明中描述的方面的用于映射經編碼視頻數(shù)據(jù)中的例如HRD參數(shù)等符合性參數(shù)的方法的流程圖。在一些實施例中,所述方法可由視頻編碼器執(zhí)行,例如在圖2A和/或2B中說明的編碼器。在框502處起始,對視頻數(shù)據(jù)進行譯碼以形成含有至少一個層的視頻數(shù)據(jù)位流。視頻數(shù)據(jù)可與一或多個層集合相關聯(lián)。層集合指定視頻數(shù)據(jù)位流的將由解碼器處理的層。在一些實施例中,層集合可包括視頻數(shù)據(jù)位流中的所有層,或視頻數(shù)據(jù)位流的層的僅子集。
在框504處,每一層集合與一或多個輸出層集合相關聯(lián)。雖然層集合指定將由解碼器處理的視頻數(shù)據(jù)層,但輸出層集合指定將實際上由解碼器輸出的層。輸出層集合可包括其相關聯(lián)層集合的所有層,或層集合中的層的子集。
在框506處,每一輸出層集合與一或多個分割方案相關聯(lián)。分割方案指定在編碼器與解碼器之間的發(fā)射期間將如何分割視頻數(shù)據(jù)層。分割方案的每一分區(qū)可含有視頻數(shù)據(jù)的一或多個層。在一些實施例中,每一輸出層集合與默認分割方案和一或多個額外分割方案相關聯(lián)。
在框508處,可作出關于是否將用信號表示一或多個符合性參數(shù)(例如,HRD參數(shù))作為視頻數(shù)據(jù)位流的部分的確定。在一些實施例中,是否將用信號表示符合性參數(shù)以及將用信號表示何種符合性參數(shù)的決策可至少部分地基于編碼器和/或一或多個編碼器配置設定。
在框510處,響應于將用信號表示一或多個符合性參數(shù)作為視頻數(shù)據(jù)位流的部分的確定,至少部分地基于與分割方案相關聯(lián)的輸出層集合,將至少一個符合性參數(shù)映射到所述至少一個分割方案當中的分割方案的分區(qū)。通過至少部分地基于輸出層集合而映射符合性參數(shù),指定相同分區(qū)但與不同輸出層集合相關聯(lián)的相同分割方案能夠具有不同的映射符合性參數(shù)。因此,第一參數(shù)可映射到與第一輸出層集合相關聯(lián)的分割方案的分區(qū),而第二不同參數(shù)可映射到與第二輸出層集合相關聯(lián)時的分割方案的分區(qū)。舉例來說,如圖4A中所說明的分割方案412和分割方案416盡管是相同分割方案(例如,默認分割方案),但可具有不同的映射符合性參數(shù),因為它們與不同輸出層集合相關聯(lián)。應理解,對一或多個符合性參數(shù)的“第一”符合性參數(shù)、“第二”符合性參數(shù)等的參考不一定指代所述一或多個符合性參數(shù)中的特定符合性參數(shù)或所述一或多個符合性參數(shù)的特定次序,而是可對應于所述一或多個符合性參數(shù)中的任何個別符合性參數(shù)。
圖5B說明根據(jù)本發(fā)明中描述的方面的用于映射經編碼視頻數(shù)據(jù)中的例如HRD參數(shù)等符合性參數(shù)的方法的流程圖。在一些實施例中,所述方法可由視頻解碼器執(zhí)行,例如在圖3A和3B中說明的解碼器。在框512處起始,接收具有至少一個層和至少一個層集合的視頻數(shù)據(jù)位流。
在框514處,識別與位流相關聯(lián)的所述至少一個層集合當中的層集合。在一些實施例中,經識別層集合對應于將由解碼器在對視頻數(shù)據(jù)位流進行解碼中使用的層集合。
在框516處,確定與經識別層集合相關聯(lián)的輸出層集合。在一些實施例中,輸出層集合對應于將由解碼器當確定哪些經解碼層輸出用于顯示時使用的輸出層集合。
在框518處,確定與輸出層集合相關聯(lián)的分割方案。在一些實施例中,分割方案對應于其中視頻數(shù)據(jù)位流發(fā)射到解碼器的分割方案。
在框520處,可做出關于是否用信號表示一或多個符合性參數(shù)(例如,HRD參數(shù))作為所接收視頻數(shù)據(jù)位流的部分的確定。在框522處,響應于已用信號表示至少一個符合性參數(shù)作為所接收視頻數(shù)據(jù)位流的部分的確定,確定映射到分割方案的分區(qū)的至少一個符合性參數(shù)。在一些實施例中,所確定的符合性參數(shù)可用以對視頻數(shù)據(jù)位流進行解碼和/或測試視頻數(shù)據(jù)位流的符合性。
用信號表示默認分割方案
為了向接收解碼器用信號表示分割方案和輸出層集合的分區(qū),位流將包含指定與輸出層集合相關聯(lián)的分割方案和分區(qū)的若干位。在一些實施例中,用以用信號表示分割方案的位數(shù)目可至少部分地基于可與輸出層集合相關聯(lián)的可能的分割方案的數(shù)目。
在一些實施例中,每個輸出層集合與默認分割方案和零個或更多個額外分割方案相關聯(lián)。默認分割方案可包括其中視頻數(shù)據(jù)中的每一層是單獨位流分區(qū)的分割方案。在一些實施例中,將常見的是含有例如兩個或三個層等少量層的位流僅與默認分割方案相關聯(lián)。因為默認分割方案一般由編碼器和解碼器已知,所以其不需要在位流中具體指定。因此將有益的是當位流僅與默認分割方案相關聯(lián)時減少指定與輸出層集合相關聯(lián)的分割方案和分區(qū)所需要的位數(shù)目。舉例來說,在一些實施例中,當輸出層集合僅與默認分割方案相關聯(lián)時,僅單個位旗標需要為信號,而不需要使用額外位來指定分割方案。
應理解雖然本發(fā)明參考其中每一層具有其自身的分區(qū)的分割方案作為默認分割方案,但在其它實施例中,不同分割方案可為默認分割方案。
圖6說明根據(jù)本發(fā)明中描述的方面的用于用信號表示分割方案的過程的流程圖。在框602處起始,識別輸出層集合。在框604處,做出關于多少分割方案與經識別輸出層集合相關聯(lián)的確定。
如上所述,輸出層集合可與默認分割方案和零個或更多個額外分割方案相關聯(lián)。因此,如果確定存在與輸出層集合相關聯(lián)的僅一個分割方案,那么所述分割方案必須為默認分割方案。在框606處,用信號表示單個位旗標,其指示經識別輸出層集合僅與默認分割方案相關聯(lián)。因為解碼器將能夠理解默認分割方案,所以在位流中不需要發(fā)送額外位來指定分割方案。
另一方面,如果確定輸出層集合與多于一個分割方案相關聯(lián),那么在框608處,不用信號表示單個位旗標,其指示經識別輸出層集合與并不僅僅默認分割方案相關聯(lián)。另外,位流中將發(fā)射指定額外分割方案的位。
因此,通過實施單個位旗標來指定輸出層集合是否僅與默認分割方案相關聯(lián),可極大地減少指示分割方案所需要的位數(shù)目。
從基礎VPS和VPS VUI數(shù)據(jù)結構映射HRD參數(shù)
在一些實施例中,將映射到分區(qū)、輸出層集合和層集合的HRD參數(shù)包含于一或多個VPS數(shù)據(jù)結構中。在一些實施例中,VPS數(shù)據(jù)結構包含基礎VPS。舉例來說,符合HEVC或HEVC擴展(例如,SHVC、MV-HEVC和/或類似物)的視頻數(shù)據(jù)位流將通常始終含有基礎VPS數(shù)據(jù)結構。另外,在一些實施例中,VPS數(shù)據(jù)結構還可包含視頻可用性信息(VUI)參數(shù)集,其可被稱為VPS VUI。在一些實施例中,與輸出層集合相關聯(lián)的分區(qū)和/或分割方案可在VPS VUI界定或用信號表示。在一些實施例中,為了與基礎VPS相關聯(lián)的HRD參數(shù)可由與如由VPS VUI界定的輸出層集合相關聯(lián)的分區(qū)使用,HRD參數(shù)需要可通過VPS VUI中的參數(shù)來存取。舉例來說,與VPS VUI相關聯(lián)的位流分區(qū)(BSP)HRD索引參數(shù)(bsp_hrd_idx參數(shù))可用于將HRD參數(shù)指派為分區(qū)特定的,而不是僅層集合特定的。
一或多個HRD參數(shù)包含于基礎VPS中的HRD參數(shù)結構內。另外,一或多個額外HRD參數(shù)可包含于VPS VUI中的不同HRD參數(shù)結構內。圖7說明根據(jù)本發(fā)明中描述的方面在VPS_VUI中擴展HRD參數(shù)以使得可通過與基礎VPS相關聯(lián)的單個數(shù)據(jù)結構映射HRD參數(shù)。如圖7中所說明,基礎VPS含有具有n個HRD參數(shù)(HRD[0]、HRD[1]…HRD[n])的數(shù)據(jù)結構。另外,VPS VUI含有具有m個額外HRD參數(shù)(HRD'[0]、HRD'[1]、…HRD'[m])的數(shù)據(jù)結構。
在一些實施例中,為了映射基礎VPS和VPS VUI數(shù)據(jù)結構中的HRD參數(shù),至少部分地基于基礎VPS結構的參數(shù)而擴展VPS VUI的HRD參數(shù)(HRD'[0]、HRD'[1]、…HRD'[m])。舉例來說,可擴展VPS VUI中的參數(shù)而變?yōu)榛AVPS結構的額外參數(shù)(HRD[n+1]、HRD[n+2]、…HRD[n+m+1]),從而允許其附加到基礎VPS數(shù)據(jù)結構。此些擴展允許從單個基礎VPS數(shù)據(jù)結構完成HRD參數(shù)映射到位流分區(qū)和輸出層集合,而不是從單獨的基礎VPS和VPS VUI結構完成。
通過將VPS VUI的HRD參數(shù)擴展為具有與基礎VPS的索引連續(xù)的索引,與基礎VPS相關聯(lián)的HRD參數(shù)以及與VPS VUI相關聯(lián)的那些HRD參數(shù)均可由VPS VUI中的語法元素指代。舉例來說,如果VPS VUI的HRD參數(shù)未擴展,那么VPS VUI的語法元素(例如,bsp_hrd_idx參數(shù))可用以參考VPS VUI的HRD參數(shù),而非基礎VPS的HRD參數(shù)(例如,具有0值的bsp_hrd_idx參數(shù)將參考VPS VUI的HRD'[0],而不是基礎VPS的HRD[0])。如果與基礎VPS相關聯(lián)的任何HRD參數(shù)能夠參考VPS VUI的語法元素,那么它們將必須在VPS VUI中重復且重新用信號表示。
然而,通過擴展VPS VUI的HRD參數(shù)以使得基礎VPS和VPS VUI的HRD參數(shù)具有連續(xù)索引,VPS VUI的語法元素可用以參考與基礎VPS或VPS VUI相關聯(lián)的HRD參數(shù)。舉例來說,具有0值的bsp_hrd_idx參數(shù)將參考基礎VPS的HRD[0],而具有n+1的值的bsp_hrd_idx參數(shù)將參考VPS VUI的HRD[n+1]。因此,基礎VPS的HRD參數(shù)可由VPS VUI語法元素參考而不需要在VPS VUI中重復。
SEI消息
在一些實施例中,補充增強信息(SEI)消息可提供關聯(lián)到視頻數(shù)據(jù)位流的分區(qū)的額外信息。舉例來說,SEI消息可包含位速率信息、圖片速率信息和/或類似物。圖8說明根據(jù)本發(fā)明中描述的方面SEI消息可如何映射到分區(qū)。
在一些實施例中,視頻數(shù)據(jù)位流可含有一或多個SEI消息容器(也可被稱作嵌套SEI消息),其中一或多個SEI消息包含或嵌套于每一SEI消息容器內。舉例來說,圖8說明含有SEI消息A和B的第一SEI容器A以及含有SEI消息C和D的第二SEI容器B。
通常,SEI容器用信號表示所述SEI容器以及所述容器內含有的所有SEI消息所關聯(lián)的分區(qū)。舉例來說,如圖8中所說明,SEI容器A映射到默認分割方案的分區(qū)#1。然而,同一分割方案可與不同輸出層集合相關聯(lián)(例如,默認分割方案可與輸出層集合#1和輸出層集合#2兩者相關聯(lián))。僅將SEI容器映射到分區(qū)/分割方案不考慮分區(qū)/分割方案相關聯(lián)的輸出層集合。因此,在一些實施例中,除用信號表示分區(qū)之外,SEI容器也將用信號表示與所述分區(qū)相關聯(lián)的輸出層集合。
在一些實施例中,每一輸出層集合和分割方案與索引值相關聯(lián)。為了用信號表示SEI容器相關聯(lián)的輸出層集合和分區(qū),SEI容器可用信號表示輸出層集合和/或分割方案的索引值。
因此,通過將SEI容器映射到特定輸出層集合索引和分割方案索引,與不同輸出層集合相關聯(lián)的相同分區(qū)可與不同SEI容器和SEI消息相關聯(lián)。
HEVC標準
如上文所論述,本文所揭示的系統(tǒng)和方法可應用于HEVC標準。根據(jù)一些實施例,可如下所述修改HEVC標準的語法和語義。
測試位流符合性
可使用多個測試來檢查位流的符合性,所述位流稱為受測試位流。對于每一測試,可以所列次序應用以下步驟:
可通過選擇識別目標OLS的TargetOlsIdx的值且選擇目標最高TemporalId值HighestTid來選擇表示為TargetOp的受測試輸出操作點。TargetOlsIdx的值將在0到NumOutputLayerSets-1(包含性)的范圍內。HighestTid的值將在0到MaxSubLayersInLayerSetMinus1[OlsIdxToLsIdx[TargetOlsIdx]](包含性)的范圍內。隨后如MV-HEVC草案JCT3V-H1002-v5的等式8 1指定而導出變量TargetDecLayerSetIdx、TargetOptLayerIdList和TargetDecLayerIdList。受測試的輸出操作點具有等于TargetOptLayerIdList的OptLayerIdList、等于TargetDecLayerIdList的OpLayerIdList以及等于HighestTid的OpTid。
可調用如MV-HEVC草案JCT3V-H1002-v5的條款10中指定的子位流提取過程,其中受測試位流、HighestTid和TargetDecLayerIdList作為輸入,且輸出指派給BitstreamToDecode。分割方案是選自在用于選定OLS的作用中VPS中用信號表示的分割方案列表。選定的選定分割方案表示為TargetPartitioningScheme。
如果存在僅一個用于TargetPartitioningScheme的位流分區(qū),那么可測試位流特定的CPB操作。否則,可測試位流分區(qū)特定的CPB操作。后續(xù)步驟應用于目標OLS的選定分割方案的每一位流分區(qū),稱為受測試位流分區(qū)TargetBitstreamPartition。如果存在僅一個位流分區(qū)用于TargetPartitioningScheme,那么TargetBitstreamPartition相同于BitstreamToDecode。否則,以MV-HEVC草案JCT3V-H1002-v5的子條款C.6中的用于導出位流分區(qū)的多路分用過程導出每一位流分區(qū),其中BitstreamToDecode、TargetBitstreamPartition中的層的列表以及TargetBitstreamPartition中的層的數(shù)目作為輸入。
可如下選擇適用于TargetOp的hrd_parameters()語法結構和sub_layer_hrd_parameters()語法結構:
●如果測試位流特定的CPB操作且TargetDecLayerIdList含有存在于受測試位流中的所有nuh_layer_id值,那么選擇用于基礎層的作用中SPS中(或經由外部方法提供)的hrd_parameters()語法結構。
●否則,選擇應用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的作用中VPS中(或經由外部方法提供)的hrd_parameters()語法結構。
●在選定hrd_parameters()語法結構內,如果TargetBitstreamPartition是I型位流,那么選擇緊跟在條件“if(vcl_hrd_parameters_present_flag)”之后的sub_layer_hrd_parameters(HighestTid)語法結構且將變量NalHrdModeFlag設定成等于0;否則,(TargetBitstreamPartition是II型位流),選擇緊跟在條件“if(vcl_hrd_parameters_present_flag)”(在此情況下將變量NalHrdModeFlag設定成等于0)或條件“if(nal_hrd_parameters_present_flag)”(在此情況下將變量NalHrdModeFlag設定成等于1)之后的sub_layer_hrd_parameters(HighestTid)語法結構。當TargetBitstreamPartition是II型位流且NalHrdModeFlag等于0時,從TargetBitstreamPartition丟棄除填充符數(shù)據(jù)NAL單元外的所有非VCL NAL單元以及從NAL單元流形成字節(jié)流的所有l(wèi)eading_zero_8bits、zero_byte、start_code_prefix_one_3bytes和trailing_zero_8bits語法元素(當存在時),且將剩余位流指派給TargetBitstreamPartition。
可選擇與適用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的緩沖周期SEI消息(存在于BitstreamToDecode中或經由外部方法可用)相關聯(lián)的存取單元作為HRD初始化點且稱為存取單元0。適用的緩沖周期SEI消息經由外部方法可用或是如下選自存取單元0:
●如果測試位流特定的CPB操作且TargetDecLayerIdList含有存在于受測試位流中的所有nuh_layer_id值,那么選擇非嵌套緩沖周期SEI消息。
●否則,選擇適用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的緩沖周期SEI消息。
●可如下導出變量MultiLayerCpbOperationFlag-如果選定緩沖周期SEI消息是非嵌套的或BitstreamToDecode僅含有基礎層,那么將MultiLayerCpbOperationFlag設定成等于0。否則,將MultiLayerCpbOperationFlag設定成等于1。
對于TargetBitstreamPartition中從存取單元0開始的每一存取單元,選擇與存取單元相關聯(lián)且應用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的緩沖周期SEI消息(存在于BitstreamToDecode中或經由外部方法可用),選擇與存取單元相關聯(lián)且應用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的圖片時序SEI消息(存在于BitstreamToDecode中或經由外部方法可用),且當SubPicHrdFlag等于1且sub_pic_cpb_params_in_pic_timing_sei_flag等于0時,選擇與存取單元中的解碼單元相關聯(lián)且應用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的解碼單元信息SEI消息(存在于BitstreamToDecode中或經由外部方法可用),如下:
●如果測試位流特定的CPB操作且TargetDecLayerIdList含有存在于受測試位流中的所有nuh_layer_id值,那么選擇非嵌套緩沖周期、圖片時序和解碼單元信息SEI消息。
●否則,選擇直接包含在可縮放嵌套SEI消息中或直接包含在位流分區(qū)嵌套SEI消息中且適用于TargetOp、TargetPartitioningScheme和TargetBitstreamPartition的緩沖周期、圖片時序和解碼單元信息SEI消息。
可如下選擇SchedSelIdx的值:
●如果測試位流特定CPB操作,則選定的SchedSelIdx將處于0到cpb_cnt_minus1[HighestTid](包含性)的范圍內,其中在如上選擇的sub_layer_hrd_parameters(HighestTid)語法結構中找到cpb_cnt_minus1[HighestTid]。
●否則(測試位流分區(qū)特定的CPB操作),選擇SchedSelCombIdx用于BitstreamToDecode且用于每一TargetBitstreamPartition。選定SchedSelCombIdx將處于0到num_bsp_sched_combinations_minus1[TargetOlsIdx][TargetPartitioningScheme](包含性)的范圍內。將用于TargetBitstreamPartition的選定SchedSelIdx設定成等于bsp_comb_sched_idx[TargetOlsIdx][TargetPartitioningScheme][SchedSelCombIdx][j],其中j是TargetBitstreamPartition的位流分區(qū)索引的索引。
可如下導出變量initialAltParamSelectionFlag:
●如果所有以下條件為真,那么將initialAltParamSelectionFlag設定成等于1:
(a)存取單元0中具有等于0的nuh_layer_id的經譯碼圖片具有等于CRA_NUT
或BLA_W_LP的nal_unit_type。
(b)MultiLayerCpbOperationFlag等于0。
(c)選定緩沖周期SEI消息中的irap_cpb_params_present_flag等于1。
●否則,如果所有以下條件為真,那么將initialAltParamSelectionFlag設定成等于1:
(a)存取單元0中具有等于0的nuh_layer_id的經譯碼圖片是IRAP圖片。
(b)MultiLayerCpbOperationFlag等于1。
(c)選定緩沖周期SEI消息中的irap_cpb_params_present_flag等于1。
否則,將initialAltParamSelectionFlag設定成等于0。
●當initialAltParamSelectionFlag等于1時,以下適用:
(a)如果選定緩沖周期SEI消息直接包含在可縮放嵌套SEI消息中或直接包含在位流分區(qū)嵌套SEI消息中且至少適用于含有多于一個層的一個子位流,那么跳過前導圖片的集合skippedPictureList包含與具有等于nuhLayerId的nuh_layer_id的IRAP圖片相關聯(lián)的CL-RAS圖片和RASL圖片,對于所述圖片在解碼IRAP圖片開始時LayerInitializedFlag[nuhLayerId]等于0且對于所述圖片nuhLayerId在TargetDecLayerIdList當中。否則(緩沖周期SEI消息不嵌套在可縮放嵌套SEI消息中),skippedPictureList包含與存取單元0中具有等于0的nuh_layer_id的經譯碼圖片相關聯(lián)的RASL圖片。
(b)以下任一者適用于初始CPB移除延遲和延遲偏移的選擇:
(i)如果NalHrdModeFlag等于1,那么選擇選定緩沖周期SEI消息中分別由nal_initial_cpb_removal_delay[SchedSelIdx]和nal_initial_cpb_removal_offset[SchedSelIdx]表示的默認初始CPB移除延遲和延遲偏移。否則,選擇選定緩沖周期SEI消息中分別由vcl_initial_cpb_removal_delay[SchedSelIdx]和vcl_initial_cpb_removal_offset[SchedSelIdx]表示的默認初始CPB移除延遲和延遲偏移。將變量DefaultInitCpbParamsFlag設定成等于1。
(ii)如果NalHrdModeFlag等于1,那么選擇選定緩沖周期SEI消息中分別由nal_initial_alt_cpb_removal_delay[SchedSelIdx]和nal_initial_alt_cpb_removal_offset[SchedSelIdx]表示的替代的初始CPB移除延遲和延遲偏移。否則,選擇選定緩沖周期SEI消息中分別由vcl_initial_alt_cpb_removal_delay[SchedSelIdx]和vcl_initial_alt_cpb_removal_offset[SchedSelIdx]表示的替代的初始CPB移除延遲和延遲偏移。將變量DefaultInitCpbParamsFlag設定成等于0,且從BitstreamToDecode丟棄skippedPictureList中的所有圖片且將剩余位流指派給BitstreamToDecode。
對于位流分區(qū)特定的CPB操作,SubPicHrdFlag可設定成等于1。對于位流特定的CPB操作,當選定hrd_parameters()語法結構中的sub_pic_hrd_params_present_flag等于1時,調度CPB以在存取單元層級(在此情況下變量SubPicHrdFlag設定成等于0)或在子圖片層級(在此情況下變量SubPicHrdFlag設定成等于1)操作。
在一個實施方案中,HRD可根據(jù)以下方面中的一或多者操作:
可在解碼單元0處初始化HRD,其中CPB、DPB的每一子DPB和每一BPB設定成空的(每一子DPB的子DPB充滿度設定成等于0)。應注意,在初始化之后,HRD不會被后續(xù)緩沖周期SEI消息再次初始化。
對于位流特定的CPB操作,根據(jù)指定到達時間表流入CPB中的與解碼單元相關聯(lián)的數(shù)據(jù)由HSS遞送。對于位流分區(qū)特定的CPB操作,根據(jù)指定到達時間表流入BPB中的與解碼單元相關聯(lián)的數(shù)據(jù)由HBPS遞送。
當使用位流分區(qū)特定的CPB操作時,如MV-HEVC草案JCT3V-H1002-v5的子條款C.2指定處理具有索引j的每一位流分區(qū),其中HSS被HBPS代替且SchedSelIdx等于bsp_comb_sched_idx[TargetOlsIdx][TargetPartitioningScheme][SchedSelCombIdx][j]。
與每一解碼單元相關聯(lián)的數(shù)據(jù)可被移除且在解碼單元的CPB移除時間由瞬時解碼過程瞬時解碼。
每一經解碼圖片可放入DPB中。
當變?yōu)椴辉傩枰浗獯a圖片用于幀間預測參考且不再需要其用于輸出時可從DPB移除所述經解碼圖片。
位流符合性
可以與以下一致的語法、語義和約束來構造符合MV-HEVC草案JCT3V-H1002-v5的經譯碼數(shù)據(jù)的位流。
位流中的第一存取單元將為IRAP存取單元。
當vps_base_layer_internal_flag等于0時,以下位流符合性約束適用而無需考慮具有等于0的nuh_layer_id的圖片,對于所述圖片在位流中不存在經譯碼圖片且經解碼圖片是經由外部方法提供。
假設currPicLayerId等于當前圖片的nuh_layer_id。
對于每一當前圖片,假設變量maxPicOrderCnt和minPicOrderCnt分別設定成等于具有等于currPicLayerId的nuh_layer_id的以下圖片的PicOrderCntVal值的最大值和最小值:
(a)當前圖片。
(b)具有等于0的TemporalId且不是RASL圖片、RADL圖片或子層非參考圖片的按解碼次序的先前圖片。
(c)當前圖片的RPS中的短期參考圖片。
(d)具有等于1的PicOutputFlag、小于AuCpbRemovalTime[currPic]的AuCpbRemovalTime[n]以及大于或等于AuCpbRemovalTime[currPic]的DpbOutputTime[n]的所有圖片n,其中currPic是當前圖片。
如MV-HEVC草案JCT3V-H1002-v5的子條款C.1中指定通過HRD測試每一分割方案的每一位流分區(qū)的子位流的符合性。
HRD參數(shù)語義
MV-HEVC草案JCT3V-H1002-v5的條款E.3.2中的規(guī)范以如下修改和添加而應用。
在一個方面中,initial_cpb_removal_delay_length_minus1加1指定緩沖周期SEI消息的nal_initial_cpb_removal_delay[i]、nal_initial_cpb_removal_offset[i]、vcl_initial_cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]語法元素的以位為單位的長度。另外,VPS中的第j hrd_parameters()語法結構內的initial_cpb_removal_delay_length_minus1加1指定包含于具有sei_ols_idx、sei_partitioning_scheme_idx和bsp_idx的值的可縮放嵌套SEI消息內的位流分區(qū)嵌套SEI消息中的位流分區(qū)初始到達時間SEI消息的nal_initial_arrival_delay[k]和vcl_initial_arrival_delay[k]語法元素的以位為單位的長度,使得bsp_comb_hrd_idx[sei_ols_idx][sei_partitioning_scheme_idx][k][bsp_idx]等于j。當initial_cpb_removal_delay_length_minus1語法元素不存在時,推斷其等于23。
對視頻參數(shù)集(VPS)語法的改變
在下文中突出顯示對語法、語義和解碼過程的改變:以斜體字展示添加且以[[雙方括號]]展示刪除。表1說明對vps_extension()語法的改變。
表1:VPS_EXTENSION()的實例語法
對VPS VUI位流分區(qū)HRD參數(shù)語法的改變
表2說明對vps_vui_bsp_hrd_parameters()語法的改變:
表2:VPS_VUI_BSP_HRD_PARAMETERS()的實例語法
視頻參數(shù)集語義
num_signalled_partitioning_schemes[i]指定用于第i OLS的用信號表示的分割方案的數(shù)目。num_signalled_partitioning_schemes[i]的值將處于0到16(包含性)的范圍內。當vps_base_layer_internal_flag等于1時,num_signalled_partitioning_schemes[0]的值推斷為等于0。
將變量NumPartitioningSchemes[i]設定成等于(num_signalled_partitioning_schemes[i]==0)?1:num_signalled_partitioning_schemes[i]。
num_partitions_in_scheme_minus1[i][j]加1指定用于第i OLS的第j分割方案的位流分區(qū)的數(shù)目。num_partitions_in_scheme_minus1[i][j]的值將處于0到NumLayersInIdList[OlsIdxToLsIdx[i]]-1(包含性)的范圍內。當vps_base_layer_internal_flag等于1時,num_partitions_in_scheme_minus1[0][0]的值推斷為等于0。當num_signalled_partitioning_schemes[i]等于0時,num_partitions_in_scheme_minus1[i][j]的值推斷為等于NumLayersInIdList[i]-1。
等于1的layer_included_in_partition_flag[i][j][k][r]指定第i OLS中的第r層包含在第i OLS的第j分割方案的第k位流分區(qū)中。等于0的layer_included_in_partition_flag[i][j][k][r]指定第i OLS中的第r層未包含在第i OLS的第j分割方案的第k位流分區(qū)中。當vps_base_layer_internal_flag等于1時,layer_included_in_partition_flag[0][0][0][0]的值推斷為等于1。當num_signalled_partitioning_schemes[i]等于0時,如果k等于r則layer_included_in_partition_flag[i][j][k][r]的值推斷為等于1,且否則等于0。這是以下約束適用的位流符合性的要求:
(a)對于第i OLS的第j分割方案,針對處于0到num_partitions_in_scheme_minus1[i][j](包含性)的范圍內的k1和k2的任何值,具有索引k1的位流分區(qū)將不包含具有索引k2的位流分區(qū)中的任何層的直接或間接參考層,使得k2小于k1。
(b)當針對處于1到NumOutputLayerSets-1(包含性)的范圍內的i的任何值、處于0到NumPartitioningSchemes[i]-1(包含性)的范圍內的j的任何值以及處于0到num_partitions_in_scheme_minus1[i][j](包含性)的范圍內的k的任何值,vps_base_layer_internal_flag等于0且layer_included_in_partition_flag[i][j][k][0]等于1時,針對處于1到NumLayersInIdList[OlsIdxToLsIdx[i]]-1(包含性)的范圍內的r的至少一個值,layer_included_in_partition_flag[i][j][k][r]的值將等于1。
(c)對于第i OLS的具有索引j的每一分割方案,且對于第i OLS中具有等于currLayerId的nuh_layer_id的每一層,存在處于0到num_partitions_in_scheme_minus1[i][j](包含性)的范圍內的k的一個且僅一個值使得layer_included_in_partition_flag[i][j][k][LayerIdxInVps[currLayerId]]等于1。
profile_tier_level_idx[i][j][k]指定應用于第i OLS的第j分割方案的第k位流分區(qū)的profile_tier_level()語法結構的到VPS中的profile_tier_level()語法結構的列表中的索引。當num_add_layer_sets大于0且OlsIdxToLsIdx[i]在FirstAddLayerSetIdx到LastAddLayerSetIdx(包含性)的范圍中時,第i OLS參考MV-HEVC草案JCT3V H1002-v5的子條款F.10.2的非基礎層子樹提取過程的輸出,其中輸入變量lsIdx設定成等于OlsIdxToLsIdx[i],其中輸出位流outBitstream的作用中VPS(如果存在)將含有指定與當前VPS的第i OLS相同的層的輸出的OLS。profile_tier_level_idx[i][j][k]語法元素的長度是Ceil(Log2(vps_num_profile_tier_level_minus1+1))位。當vps_base_layer_internal_flag等于1時,profile_tier_level_idx[0][0][0]的值推斷為等于0。profile_tier_level_idx[i][j][k]的值將處于(vps_base_layer_internal_flag?0:1)到vps_num_profile_tier_level_minus1(包含性)的范圍內。
VPS VUI位流分區(qū)HRD參數(shù)語義
vps_num_add_hrd_parameters指定存在于VPS中的額外hrd_parameters()語法結構的數(shù)目。vps_num_add_hrd_parameters的值將處于0到1024-vps_num_hrd_parameters(包含性)的范圍內。
等于1的cprms_add_present_flag[i]指定對于所有子層共同的HRD參數(shù)存在于第i hrd_parameters()語法結構中。等于0的cprms_add_present_flag[i]指定對于所有子層共同的HRD參數(shù)不存在于第i hrd_parameters()語法結構中,且經導出為與第(i-1)hrd_parameters()語法結構相同。
等于1的bsp_hrd_parameters_present_flag[h][i]指定HRD參數(shù)對于第h OLS的第i分割方案的所有位流分區(qū)存在。等于0的bsp_hrd_parameters_present_flag[h][i]指定HRD參數(shù)對于第h OLS的第i分割方案的任何位流分區(qū)不存在。
num_bsp_sched_combinations_minus1[h][i]加1指定針對第h OLS的第i分割方案的位流分區(qū)指定的遞送時間表和hrd_parameters()的組合的數(shù)目。
變量SchedCombCnt[h][i]設定成等于num_bsp_sched_combinations_minus1[h][i]+1。
bsp_comb_hrd_idx[h][i][j][k]指定針對用于第h OLS的第i分割方案的第k位流分區(qū)指定的遞送時間表和hrd_parameters()的第j組合的VPS中的hrd_parameters()語法結構的索引。bsp_comb_hrd_idx[h][i][j][k]語法元素的長度是Ceil(Log2(vps_num_hrd_parameters+vps_num_add_hrd_parameters))位。bsp_comb_hrd_idx[h][i][j][k]的值將處于0到vps_num_hrd_parameters+vps_num_add_hrd_parameters-1(包含性)的范圍內。
bsp_comb_sched_idx[h][i][j][k]指定具有在針對用于第h OLS的第i分割方案的第k位流分區(qū)指定的遞送時間表和hrd_parameters()的第j組合中使用的索引bsp_comb_hrd_idx[h][i][j][k]的hrd_parameters()語法結構內的遞送時間表的索引。bsp_comb_sched_idx[h][i][j][k]的值將處于0到cpb_cnt_minus1[HighestTid](包含性)的范圍內,其中在來自對應于索引bsp_comb_hrd_idx[h][i][j][k]的hrd_parameters()語法結構的sub_layer_hrd_parameters(HighestTid)語法結構中找到cpb_cnt_minus1[HighestTid]。
對位流分區(qū)嵌套SEI消息語法的改變
表3說明對bsp_nesting()語法的改變:
表3:BSP_NESTING()的實例語法
對位流分區(qū)初始到達時間SEI消息語法的改變
表4說明對bsp_initial_arrival_time()語法的改變:
表4:BSP_INITIAL_ARRIVAL_TIME()的實例語法
SEI消息的一般語義
在MV-HEVC草案JCT3V-H1002-v5的條款D.3.1中指定的位流符合性的約束可以如下添加而應用。
假設SEI NAL單元或SEI消息的prevVclNalUnitInAu為在相同存取單元中在解碼次序上在先的VCL NAL單元(如果存在),且假設SEI NAL單元或SEI消息的nextVclNalUnitInAu為在相同存取單元中在解碼次序上的下一VCL NAL單元(如果存在)。
在一個實例中,位流符合性的要求是以下限制適用:當緩沖周期SEI消息、圖片時序SEI消息、解碼單元信息SEI消息或位流分區(qū)初始到達時間SEI消息存在于包含于可縮放嵌套SEI消息中的位流分區(qū)嵌套SEI消息中時,所述可縮放嵌套SEI消息將不跟隨在所述可縮放嵌套SEI消息的prevVclNalUnitInAu之后且在所述可縮放嵌套SEI消息的nextVclNalUnitInAu之前的任何其它SEI消息,作用中參數(shù)集SEI消息、非嵌套緩沖周期SEI消息、非嵌套圖片時序SEI消息、非嵌套解碼單元信息SEI消息、包含緩沖周期SEI消息、圖片時序SEI消息、解碼單元信息SEI消息或另一可縮放嵌套SEI消息的可縮放嵌套SEI消息(含有包含緩沖周期SEI消息、圖片時序SEI消息、解碼單元信息SEI消息或位流分區(qū)初始到達時間SEI消息的位流分區(qū)嵌套SEI消息)除外。
位流分區(qū)嵌套SEI消息語義
位流分區(qū)嵌套SEI消息提供使SEI消息與OLS的分割方案的位流分區(qū)關聯(lián)的機制。
當存在時,此SEI消息將包含于可縮放嵌套SEI消息內。當此SEI消息包含于可縮放嵌套SEI消息中時,其將為僅有的嵌套SEI消息。在含有此SEI消息的可縮放嵌套SEI消息中,bitstream_subset_flag將等于1,nesting_op_flag將等于1,default_op_flag將等于0,nesting_num_ops_minus1將等于0,且nesting_op_idx[0]將不等于0。SEI NAL單元的nuh_layer_id將等于列表nestingLayerIdList[0]內的最高值。
位流分區(qū)嵌套SEI消息含有一或多個SEI消息。
sei_ols_idx指定所含有SEI消息應用于的OLS的索引。sei_ols_idx的值將處于0到NumOutputLayerSets-1(包含性)的范圍內。
位流符合性的要求是OlsIdxToLsIdx[sei_ols_idx]將等于含有位流分區(qū)嵌套SEI消息的可縮放嵌套SEI消息的nesting_op_idx[0]。
sei_partitioning_scheme_idx指定所含有SEI消息應用于的分割方案的索引。sei_partitioning_scheme_idx的值將處于0到NumPartitioningSchemes[sei_ols_idx]-1(包含性)的范圍內。
bsp_idx指定所含有SEI消息應用于的位流分區(qū)的索引。bsp_idx的值將處于0到num_partitions_in_scheme_minus1[sei_ols_idx][sei_partitioning_scheme_idx](包含性)的范圍內。
位流分區(qū)初始到達SEI消息語義
位流分區(qū)初始到達時間SEI消息可指定將在位流分區(qū)特定的CPB操作中使用的初始到達時間。
當存在時,此SEI消息將包含于位流分區(qū)嵌套SEI消息內,且同一位流分區(qū)嵌套SEI消息將也含有緩沖周期SEI消息。
假設針對處于0到SchedCombCnt[sei_ols_idx][sei_partitioning_scheme_idx](包含性)的范圍內的i,hrdParamIdx[i]等于bsp_comb_hrd_idx[olsIdx][partitioningSchemeIdx][i][bspIdx]的值,其中olsIdx、partitioningSchemeIdx和bspIdx分別等于含有此位流分區(qū)初始到達時間SEI消息的位流分區(qū)嵌套SEI消息的sei_ols_idx、sei_partitioning_scheme_idx和bsp_idx。假設initialCpbRemovalDelayLength[i]等于initial_cpb_removal_delay_length_minus1+1,其中在作用中VPS中的第hrdParamIdx[i]hrd_parameters()語法結構中找到initial_cpb_removal_delay_length_minus1。
nal_initial_arrival_delay[i]指定當NAL HRD參數(shù)在使用時此SEI消息應用于的位流分區(qū)的第i時間表組合的初始到達時間。nal_initial_arrival_delay[i]語法元素的以位為單位的長度等于initialCpbRemovalDelayLength[i]。
vcl_initial_arrival_delay[i]指定當VCL HRD參數(shù)在使用時此SEI消息應用于的位流分區(qū)的第i時間表組合的初始到達時間。vcl_initial_arrival_delay[i]語法元素的以位為單位的長度等于initialCpbRemovalDelayLength[i]。
其它考慮
可使用多種不同技術和技藝中的任一者來表示本文中所揭示的信息和信號。舉例來說,可通過電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示在整個上文描述中可能參考的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片。
結合本文揭示的實施例所描述的各種說明性邏輯塊、模塊、電路及算法步驟可實施為電子硬件、計算機軟件,或兩者的組合。為清晰地說明硬件與軟件的此可互換性,以上已大體就其功能性來描述了各種說明性組件、塊、模塊、電路和步驟。此功能性是實施為硬件還是軟件取決于特定應用及施加于整個系統(tǒng)的設計約束。熟練的技術人員可針對每一特定應用以不同方式來實施所描述的功能性,但這樣的實施方案決策不應被解釋為會引起脫離本發(fā)明的范圍。
本文中所描述的技術可在硬件、軟件、固件或其任一組合中實施。所述技術可實施于多種裝置中的任一者中,例如通用計算機、無線通信裝置手持機或集成電路裝置,其具有包含在無線通信裝置手持機及其它裝置中的應用的多種用途。被描述為模塊或組件的任何特征可一起實施于集成邏輯裝置中或分開來實施為離散但可互操作的邏輯裝置。如果在軟件中實施,那么所述技術可至少部分地由包括程序代碼的計算機可讀數(shù)據(jù)存儲媒體來實現(xiàn),所述程序代碼包含在被執(zhí)行時執(zhí)行上文所描述的方法中的一或多者的指令。計算機可讀數(shù)據(jù)存儲媒體可形成計算機程序產品的一部分,所述計算機程序產品可包含封裝材料。計算機可讀媒體可包括存儲器或數(shù)據(jù)存儲媒體,例如,隨機存取存儲器(RAM)(例如,同步動態(tài)隨機存取存儲器(SDRAM))、只讀存儲器(ROM)、非易失性隨機存取存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM)、閃存器、磁性或光學數(shù)據(jù)存儲媒體等等。另外或作為替代,所述技術可至少部分地由計算機可讀通信媒體來實現(xiàn),所述計算機可讀通信媒體以指令或數(shù)據(jù)結構的形式載運或傳達程序代碼且可由計算機存取、讀取和/或執(zhí)行(例如,傳播的信號或波)。
程序代碼可由處理器執(zhí)行,所述處理器可包含一或多個處理器,例如一或多個DSP、通用微處理器、ASIC、FPGA或其它等效集成或離散邏輯電路。此處理器可經配置以執(zhí)行本發(fā)明中所描述的技術中的任一者。通用處理器可為微處理器;但在替代方案中,處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器還可實施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器、一或多個微處理器結合DSP核心,或任何其它此類配置。因此,如本文中所使用的術語“處理器”可指前述結構中的任一者、上述結構的任何組合,或適合于實施本文中所描述的技術的任何其它結構或設備。另外,在一些方面中,可將本文中所描述的功能性提供于經配置以用于編碼和解碼的專用軟件模塊或硬件模塊內或并入組合的視頻編碼器-解碼器(CODEC)中。而且,所述技術可完全實施于一或多個電路或邏輯元件中。
本發(fā)明的技術可在廣泛多種裝置或設備中實施,包括無線手持機、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元是為了強調經配置以執(zhí)行所公開的技術的裝置的功能方面,但未必需要由不同硬件單元實現(xiàn)。實際上,如上文所描述,各種單元可以配合合適的軟件和/或固件組合在編解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。
已描述本發(fā)明的各種實施例。這些和其它實施例在所附權利要求書的范圍內。