用于視頻編碼的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本申請一般涉及用于視頻編碼和解碼的裝置、方法和計算機(jī)程序產(chǎn)品。
【背景技術(shù)】
[0002] 這部分旨在提供在權(quán)利要求書中陳述的本發(fā)明的背景或上下文。此處的描述可以 包含可以被追求的構(gòu)思,但其不是必須是先前已設(shè)想或追求的構(gòu)思。因此,除非此處另外指 出,否則這部分所述的內(nèi)容不是本申請中的說明書和權(quán)利要求書的現(xiàn)有技術(shù),并且不通過 包含在這部分中而承認(rèn)其為現(xiàn)有技術(shù)。
[0003] 典型的音頻和視頻編碼標(biāo)準(zhǔn)指定"檔次(profiles) "和"級別(levels) "。"檔次" 可以被定義為標(biāo)準(zhǔn)的算法特征的子集,以及"級別"可以被定義為針對在解碼器資源消耗中 強(qiáng)加的一組約束的編碼參數(shù)的一組限制。指示的檔次和級別能夠用于通過信號傳送媒體流 的屬性以及通過信號傳送媒體解碼器的能力。
[0004] 在許多視頻編碼標(biāo)準(zhǔn)中,語法結(jié)構(gòu)可以被布置在不同的層中,其中層可以被定義 為在非分支層級關(guān)系中的一組語法結(jié)構(gòu)中的一個語法結(jié)構(gòu)。一般地,較高層可以含有較低 層。編碼層可以例如由編碼的視頻序列、圖像、片和樹塊層組成。一些視頻編碼標(biāo)準(zhǔn)引入了 參數(shù)集的構(gòu)思。參數(shù)集的實例可以包含:所有圖像、圖像組(GOP)以及序列級別數(shù)據(jù),諸如 圖像大小、顯示窗口、使用的可選的編碼模式、宏塊分配圖等。每個參數(shù)集實例可以包含:唯 一的標(biāo)識符。每個片頭部可以包含:至參數(shù)集標(biāo)識符的引用,以及當(dāng)解碼該片時,可以使用 所引用的參數(shù)集的參數(shù)值。參數(shù)集可以用于使得不頻繁變化的圖像,G0P,以及來自序列、 GOP和圖像邊界的序列級別的數(shù)據(jù)的傳輸和解碼順序解耦合。只要在參數(shù)集被引用之前它 們被解碼,則能夠使用可靠的傳輸協(xié)議在帶外來傳送參數(shù)集。如果在帶內(nèi)來傳送參數(shù)集,則 與傳統(tǒng)視頻編碼方案相比,它們能夠被重復(fù)多次以改進(jìn)容錯。可以在會話建立時間來傳送 這些參數(shù)集。然而,在一些系統(tǒng)中,主要是廣播系統(tǒng),參數(shù)集的可靠的帶外傳輸可能是不可 行的,而是在參數(shù)集NAL單元中在帶內(nèi)來運送參數(shù)集。
【發(fā)明內(nèi)容】
[0005] 根據(jù)本發(fā)明的示例實施例提供了允許從語法結(jié)構(gòu),諸如序列參數(shù)集,獲得某些參 數(shù)或語法元素(諸如HRD參數(shù)和/或級別指示符)的值的方法、裝置和計算機(jī)程序產(chǎn)品。在 這點上,某些參數(shù)或語法元素的值,諸如HRD參數(shù)和/或級別指示符,可以從存在于訪問單 元、編碼的視頻序列和/或比特流中的某一其它層(諸如最高層)的語法結(jié)構(gòu)來獲取,即使 其它層,諸如最高層,沒有被解碼。來自其它層,諸如最高層,的語法元素值在語義上可以是 有效的,以及可以用于一致性檢查,盡管來自其它各自語法結(jié)構(gòu),諸如序列參數(shù)集,的各自 語法元素的值可以是活動的或以其他方式是有效的。
[0006] 在一個實施例中,提供了一種方法,所述方法包含:使用處理器產(chǎn)生可伸縮數(shù)據(jù)流 的兩個或更多可伸縮層。兩個或更多可伸縮層中的每個可伸縮層可以具有不同的編碼屬 性,與可伸縮層標(biāo)識符相關(guān)聯(lián),以及以包含至少檔次的語法元素的第一集合和包含級別或 假想?yún)⒖冀獯a器(HRD)參數(shù)中的至少一個的語法元素的第二集合為特征。這個實施例的所 述方法還將第一可伸縮層標(biāo)識符值插入到包含來自兩個或更多可伸縮層的第一可伸縮層 的數(shù)據(jù)的第一基本單元中。所述方法還可以使得所述兩個或更多可伸縮層中的第一可伸縮 層與在第一參數(shù)集基本單元中的語法元素的第一集合和第二集合一起通過信號被傳送,使 得所述第一參數(shù)集基本單元能夠被解碼器讀取以在不解碼可伸縮數(shù)據(jù)流的可伸縮層的情 況下確定所述語法元素的第一集合和第二集合的值。這個實施例的所述方法還將第一可伸 縮層標(biāo)識符值插入到第一參數(shù)集基本單元中,以及將第二可擴(kuò)展層標(biāo)識符值插入到包含來 自兩個或更多可伸縮層的第一可伸縮層的數(shù)據(jù)的第二基本單元中。這個實施例的所述方法 還使得兩個或更多可伸縮層的第二可伸縮層與在第二參數(shù)集基本單元中的語法元素的第 一集合和第二集合一起通過信號被傳送,使得所述第二參數(shù)集基本單元能夠被解碼器讀取 以在不解碼所述數(shù)據(jù)流的可伸縮層的情況下確定編碼屬性。所述方法還可以將第二可伸縮 層標(biāo)識符值插入在第二參數(shù)集基本單元中。
[0007] 在這個實施例中,在第一基本單元被處理以及第二基本單元被忽略或移除的情況 下,在第一參數(shù)集基本單元中的語法元素的第一集合的值是有效的。另外,在第一基本單元 被處理以及第二基本單元被移除的情況下,在第一參數(shù)集基本單元中的語法元素的第二集 合的值可以是有效的。在第二基本單元被處理的情況下,在第二參數(shù)集基本單元中的語法 元素的第一集合的值可以是有效的,以及在第二基本單元被忽略或處理的情況下,在第二 參數(shù)集基本單元中的語法元素的第二集合的值可以是有效的。
[0008] 在另一個實施例中,提供了一種裝置,所述裝置包含至少一個處理器和包含計算 機(jī)程序代碼的至少一個存儲器,所述存儲器和所述計算機(jī)程序代碼被配置為使用所述至少 一個處理器使得所述裝置產(chǎn)生可伸縮數(shù)據(jù)流的兩個或更多可伸縮層。兩個或更多可伸縮層 中的每個可伸縮層可以具有不同的編碼屬性,與可伸縮層標(biāo)識符相關(guān)聯(lián),以及以包含至少 檔次的語法元素的第一集合和包含級別或假想?yún)⒖冀獯a器(HRD)參數(shù)中的至少一個的語 法元素的第二集合為特征。所述存儲器和所述計算機(jī)程序代碼還被配置為使用所述至少一 個處理器使得所述裝置將第一可伸縮層標(biāo)識符值插入到包含來自兩個或更多可伸縮層的 第一可伸縮層的數(shù)據(jù)的第一基本單元中。所述存儲器和所述計算機(jī)程序代碼還可以被配置 為使用所述至少一個處理器使得所述裝置還使得所述兩個或更多可伸縮層中的第一可伸 縮層與在第一參數(shù)集基本單元中的語法元素的第一集合和第二集合一起通過信號被傳送, 使得所述第一參數(shù)集基本單元能夠被解碼器讀取以在不解碼可伸縮數(shù)據(jù)流的可伸縮層的 情況下確定所述語法元素的第一集合和第二集合的值。所述存儲器和所述計算機(jī)程序代碼 還可以被配置為使用所述至少一個處理器使得所述裝置將第一可伸縮層標(biāo)識符值插入到 第一參數(shù)集基本單元中,以及將第二可擴(kuò)展層標(biāo)識符值插入到包含來自兩個或更多可伸縮 層的第一可伸縮層的數(shù)據(jù)的第二基本單元中。所述存儲器和所述計算機(jī)程序代碼還被配置 為使用所述至少一個處理器使得所述裝置使得兩個或更多可伸縮層的第二可伸縮層與在 第二參數(shù)集基本單元中的語法元素的第一集合和第二集合一起通過信號被傳送,使得所述 第二參數(shù)集基本單元能夠被解碼器讀取以在不解碼所述數(shù)據(jù)流的可伸縮層的情況下確定 編碼屬性。所述存儲器和所述計算機(jī)程序代碼還可以被配置為使用所述至少一個處理器使 得所述裝置將第二可伸縮層標(biāo)識符值插入在第二參數(shù)集基本單元中。
[0009] 在這個實施例中,在第一基本單元被處理以及第二基本單元被忽略或移除的情況 下,在第一參數(shù)集基本單元中的語法元素的第一集合的值是有效的。另外,在第一基本單元 被處理以及第二基本單元被移除的情況下,在第一參數(shù)集基本單元中的語法元素的第二集 合的值可以是有效的。在第二基本單元被處理的情況下,在第二參數(shù)集基本單元中的語法 元素的第一集合的值可以是有效的,以及在第二基本單元被忽略或處理的情況下,在第二 參數(shù)集基本單元中的語法元素的第二集合的值可以是有效的。
[0010] 在另一個實施例中,提供了一種計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包含至少 一個非短暫性的計算機(jī)可讀存儲介質(zhì),所述至少一個非短暫性的計算機(jī)可讀存儲介質(zhì)具有 存儲在其中的計算機(jī)可執(zhí)行程序代碼部分,所述計算機(jī)可執(zhí)行程序代碼部分包含程序代碼 指令,所述程序代碼指令用于產(chǎn)生可伸縮數(shù)據(jù)流的兩個或更多可伸縮層。兩個或更多可伸 縮層中的每個可伸縮層可以具有不同的編碼屬性,與可伸縮層標(biāo)識符相關(guān)聯(lián),以及以包含 至少檔次的語法元素的第一集合和包含級別或假想?yún)⒖冀獯a器(HRD)參數(shù)中的至少一個 的語法元素的第二集合為特征。一個實施例的所述計算機(jī)可執(zhí)行程序代碼部分還可以包含 程序代碼指令,所述程序代碼指令用于將第一可伸縮層標(biāo)識符值插入到包含來自兩個或更 多可伸縮層的第一可伸縮層的數(shù)據(jù)的第一基本單元中。一個實施例的所述計算機(jī)可執(zhí)行程 序代碼部分還可以包含程序代碼指令,所述程序代碼指令用于使得所述兩個或更多可伸縮 層中的第一可伸縮層與在第一參數(shù)集基本單元中的語法元素的第一集合和第二集合一起 通過信號被傳送,使得所述第一參數(shù)集基本單元能夠被解碼器讀取以在不解碼可伸縮數(shù)據(jù) 流的可伸縮層的情況下確定所述語法元素的第一集合和第二集合的值。一個實施例的所述 計算機(jī)可執(zhí)行程序代碼部分還可以包含程序代碼指令,所述程序代碼指令用于將第一可伸 縮層標(biāo)識符值插入到第一參數(shù)集基本單元中,以及將第二可擴(kuò)展層標(biāo)識符值插入到包含來 自兩個或更多可伸縮層的第一可伸縮層的數(shù)據(jù)的第二基本單元中。一個實施例的所述計算 機(jī)可執(zhí)行程序代碼部分還可以包含程序代碼指令,所述程序代碼指令用于使得兩個或更多 可伸縮層的第二可伸縮層與在第二參數(shù)集基本單元中的語法元素的第一集合和第二集合 一起通過信號被傳送,使得所述第二參數(shù)集基本單元能夠被解碼器讀取以在不解碼所述數(shù) 據(jù)流的可伸縮層的情況下確定編碼屬性。一個實施例的所述計算機(jī)可執(zhí)行程序代碼部分還 可以包含程序代碼指令,所述程序代碼指令用于將第二可伸縮層標(biāo)識符值插入在第二參數(shù) 集基本單元中。
[0011] 在這個實施例中,在第一基本單元被處理以及第二基本單元被忽略或移除的情況 下,在第一參數(shù)集基本單元中的語法元素的第一集合的值是有效的。另外,在第一基本單元 被處理以及第二基本單元被移除的情況下,在第一參數(shù)集基本單元中的語法元素的第二集 合的值可以是有效的。在第二基本單元被處理的情況下,在第二參數(shù)集基本單元中的語法 元素的第一集合的值可以是有效的,以及在第二基本單元被忽略或處理的情況下,在第二 參數(shù)集基本單元中的語法元素的第二集合的值可以是有效的。
[0012] 在又一個實施例中,提供了一種裝置,所述裝置包含:用于產(chǎn)生可伸縮數(shù)據(jù)流的兩 個或更多可伸縮層的構(gòu)件。兩個或更多可伸縮層中的每個可伸縮層可以具有不同的編碼屬 性,與可伸縮層標(biāo)識符相關(guān)聯(lián),以及以包含至少檔次的語法元素的第一集合和包含級別或 假想?yún)⒖冀獯a器(HRD)參數(shù)中的至少一個的語法元素的第二集合為特征。這個實施例的所 述裝置還包含用于將第一可伸縮層標(biāo)識符值插入到包含來自兩個或更多可伸縮層的第一 可伸縮層的數(shù)據(jù)的第一基本單元中的構(gòu)件。所述裝置還可以包含用于使得所述兩個或更多 可伸縮層中的第一可伸縮層與在第一參數(shù)集基本單元中的語法元素的第一集合和第二集 合一起通過信號被傳送,使得所述第一參數(shù)集基本單元能夠被解碼器讀取以在不解碼可伸 縮數(shù)據(jù)流的可伸縮層的情況下確定所述語法元素的第一集合和第二集合的值的構(gòu)件。這個 實施例的所述裝置還將第一可伸縮層標(biāo)識符值插入到第一參數(shù)集基本單元中,以及將第二 可擴(kuò)展層標(biāo)識符值插入到包含來自兩個或更多可伸縮層的第一可伸縮層的數(shù)據(jù)的第二基 本單元中。所述裝置還