本發(fā)明涉及視頻數據的處理,并且具體來說,涉及用于對視頻圖像數據編碼和解碼的方法和裝置。
背景技術:
視頻圖像數據(例如,rgb或yuv值)通常被編碼,然后,例如在按經編碼的比特流的格式發(fā)送之后,根據如vp9這樣的預定的視頻編碼格式被解碼。諸如vp9的視頻編碼格式能夠顯著縮減視頻圖像數據的文件大小,而圖像質量不會有顯著的可見損失。
在經編碼的視頻數據中,通常各視頻幀被劃分成該幀的多個像素組塊(通常為矩形)(在vp9編碼中,組塊可以在指定幀內具有不同的大小),并且各組塊被單獨編碼然后解碼。在諸如vp9這樣的“差分”視頻編碼標準中,視頻圖像數據內的各像素組塊通常相對于其它經編碼的數據來編碼,例如,來自基準幀的基準組塊(諸如基準幀中的對應的經編碼的像素組塊)。因此,各經編碼的數據組塊通常包括指向用于基準幀的數據的矢量值(所稱的“運動矢量”)和描述在當前數據組塊中編碼的數據與基準經編碼數據之間的差異的數據(“殘差”)。(這由此允許從由該運動矢量所指向的經編碼的視頻數據和描述該組塊與當前視頻幀的組塊之間的差異的差異數據來構造用于(當前)幀的組塊的視頻數據)。
該數據組塊接著可以被編碼,例如通過將殘差變換成一組系數(例如,利用近似離散余弦變換(dct)),該組系數接著被量化。在多個幀的比特流內,甚至在多個組塊的幀內,該編碼可以按多個不同方式或者根據一組可變編碼參數來執(zhí)行,例如,依賴于各組塊中的視頻圖像數據或者相對于基準經編碼數據。
為了使經編碼的數據被正確解碼,可以在各組塊被編碼時將編碼指示符(如vp9編碼中的所稱的“段id”)與該組塊相關聯,其指示該組塊是如何被編碼的,即,使解碼器知道如何對經編碼的數據解碼。該編碼指示符(例如,在vp9編碼中具有從0至7的整數值的段id)通常提供對在所關注的組塊的編碼時使用的預定的一組參數值(例如,包括量化參數、環(huán)路濾波器強度、跳過指示等)的引用。由此,當對視頻圖像數據的幀編碼時,可以產生一組編碼指示符(例如,段id),例如,各組塊一個編碼指示符,例如,采用編碼指示符映射(“段映射”)的形式,因此可以在解碼經編碼的幀時取得和使用。
在諸如vp9這樣的視頻編碼標準中,對于被解碼(或編碼)的幀序列中的指定幀的諸如運動矢量和編碼指示符這樣的編碼信息在用于解碼(或編碼)當前幀(它們所涉及的幀)的同時,也被用于確定(當確定時)用于該視頻幀序列中的下一幀的編碼信息。由此,當對該序列中的下一幀解碼(或編碼)時,用于當前幀的該信息會需要可用。
而且,在vp9編碼中,例如,針對任何指定幀,可以應用多個編碼或解碼模式中的一種,例如逐個幀地,該模式確定是否針對所關注的幀生成(當編碼時)或提供(當解碼時)新的一組編碼指示符(例如,段映射),或者例如針對先前幀的編碼指示符是否要被用于所關注的幀,或者是否針對所關注的幀不生成/提供編碼指示符(例如,可以針對該幀禁用編碼指示符)。因此,可用的一組編碼指示符可能不是總是與各幀一起被編碼(例如,沒有編碼指示符或者相反可能提供默認的一組編碼指示符)。
技術實現要素:
本發(fā)明尋求提供用于編碼和解碼視頻圖像數據的改進的方法和裝置。
當從第一方面看時,本發(fā)明提供一種用于對視頻數據幀序列中的幀進行解碼的方法,該視頻數據幀序列以表示所述視頻數據幀序列的經編碼的視頻圖像數據的比特流來提供,該方法包括以下步驟:
針對經編碼的視頻圖像數據的所述比特流所表示的幀:
解析用于所述幀的所述經編碼的視頻圖像數據,以針對視頻幀已經出于編碼目的而劃分成的各組塊得到一組編碼信息;
提供從用于所述幀的所述經編碼的視頻圖像數據得到的所述編碼信息,以供用于對用于所述幀的所述經編碼的視頻圖像數據進行解碼以提供用于所述幀的輸出視頻圖像數據;以及
反饋用于所述幀的編碼信息,以供當解析在所述比特流中編碼的幀序列中的下一幀的所述經編碼的視頻圖像數據時使用;
其中:
反饋用于所述幀的所述編碼信息的步驟包括:
反饋用于所述視頻幀已經出于編碼目的而劃分成的各數據組塊的至少編碼指示符;其中:
反饋用于所述幀的組塊的編碼指示符的步驟包括:
在當對用于所述幀的所述視頻圖像數據進行編碼時用于所述幀的所述組塊的所述編碼指示符被禁用的情況下,針對所述幀的所述組塊,反饋從用于視頻幀序列中的先前幀的所述經編碼的視頻圖像數據得到的編碼指示符。
當從本發(fā)明的第二方面看時,提供了一種用于對視頻數據幀序列中的幀進行解碼的裝置,該視頻數據幀序列以表示所述視頻數據幀序列的經編碼的視頻圖像數據的比特流來提供,該裝置包括:
處理電路,該處理電路被構造成接收經編碼的視頻圖像數據的比特流;
解析處理電路,該解析處理電路被構造成針對經編碼的視頻圖像數據的比特流所表示的幀:
解析用于所述幀的所述經編碼的視頻圖像數據,以針對所述視頻幀已經出于編碼目的而劃分成的各組塊得到一組編碼信息;
以及
提供從用于所述幀的所述經編碼的視頻圖像數據得到的所述編碼信息,以供用于對用于所述幀的所述經編碼的視頻圖像數據進行解碼以提供用于所述幀的輸出視頻圖像數據;
以及
反饋電路,該反饋電路被構造成向所述解析處理電路反饋用于幀的編碼信息,以供當解析在所接收的比特流中編碼的幀序列中的下一幀的所述經編碼的視頻圖像數據時使用;
其中:
所述反饋電路被構造成通過以下來反饋用于幀的所述編碼信息:
反饋用于視頻幀已經出于編碼目的而劃分成的各數據組塊的至少編碼指示符;
以及被構造成:
通過以下來反饋用于幀的組塊的編碼指示符:
在當對用于所述幀的所述視頻圖像數據進行編碼時用于所述幀的所述組塊的所述編碼指示符被禁用的情況下,針對所述幀的所述組塊,反饋從用于視頻幀序列中的先前幀的所述經編碼的視頻圖像數據得到的編碼指示符。
在本發(fā)明中,解析經編碼的視頻圖像數據的比特流,以得到在編碼該視頻圖像數據時使用的編碼信息,如相應組塊大小、運動矢量值以及編碼指示符(例如,段id),以供在對經編碼的視頻圖像數據進行解碼時使用,從而生成用于輸出的視頻幀。
然而,不但提供該編碼信息以供在解碼所關注的幀的經編碼的視頻圖像數據時使用,用于當前被處理并解碼的視頻幀的編碼信息還被反饋以供在得到用于該序列中的下一視頻幀的編碼信息時使用。這促進接著使用用于當前視頻幀的編碼信息來得到用于該序列中的下一視頻幀的編碼信息(其如上所述,在諸如vp9這樣的某些視頻編碼標準中可能需要)。
而且,在本發(fā)明中,被反饋以供在得到用于該序列中的下一幀的編碼信息時使用的編碼信息被構造成總是包括用于該幀的多個組塊的一組編碼指示符。這通過反饋針對先前幀得到的編碼指示符(在該幀被編碼時該編碼指示符被禁用并因此不用于對該幀的編碼的情況下)作為針對當前幀反饋的編碼信息的一部分來實現。(在該幀的組塊被編碼時編碼指示符被啟用(并因此該編碼指示符用于對該幀的組塊的編碼)的情況下,被反饋以供在得到用于下一幀的編碼信息時使用的編碼信息優(yōu)選為用于對該幀的組塊進行編碼的編碼指示符。)
這因而確保了當得到用于該幀序列中的后續(xù)幀的編碼信息時,適當的一組編碼指示符總是可用于(如果需要)使用,即使是在如上所討論的針對一些幀可能禁用了編碼指示符(并因此這些幀可以具有與其相關聯的默認的一組編碼指示符(并與其一起編碼))的情況下,使得在例如對于在已經將編碼指示符禁用的幀后面的幀可能需要來自先前幀的編碼指示符的情況下編碼指示符可用。
換句話說,本發(fā)明的方法和裝置反饋用于各幀的編碼指示符以在解析級可用。這有助于確保盡管編碼指示符可能對于特定幀的解碼不需要并因此可能在用于該幀的經編碼的視頻圖像數據中被禁用,也可以為該幀的多個數據組塊提供一組編碼指示符(即,使用針對先前幀的編碼指示符),使得當在該經編碼的幀的序列中遇到依賴于來自先前幀的編碼指示符(其可能發(fā)生,如上所述)的隨后的經編碼的幀時,一組編碼指示符可供在該隨后幀的解碼時使用,而與用于當前幀的經編碼的視頻圖像數據中是否存在有意義(例如,非默認)的一組編碼指示符無關。
而且,反饋針對各幀的編碼指示符和至少一些其它編碼信息可以使得所反饋的值能夠被組合成單個數據流,特別是在視頻圖像數據被連續(xù)流送和解碼的系統中,可以幫助最小化系統的復雜性,縮減存儲器存儲和存取需求等(并由此,例如降低功耗、存儲器帶寬等)。由此,在優(yōu)選實施方式中,反饋至該解析級的編碼信息在單個數據流中反饋。因此,優(yōu)選的是,反饋用于幀的編碼信息的步驟包括(并且反饋電路被構造成):將該編碼指示符和要針對各數據組塊反饋的任何其它編碼信息組合成單個數據流,并且在單個數據流中反饋該編碼指示符和針對各數據組塊的其它編碼信息。
類似的是,所提供的編碼信息的至少一些(例如,從對該經編碼的視頻圖像數據的解析得到)可以在單個數據流中提供(例如,向存儲部提供),該編碼信息用于對用于該幀的經編碼的視頻圖像數據進行解碼從而提供用于該幀的輸出視頻圖像數據。因此,優(yōu)選的是,提供該編碼信息以供用于對用于該幀的經編碼的視頻圖像數據進行解碼的步驟包括(并且該解析處理電路被構造成):將該編碼指示符(在被提供時)和要針對各數據組塊提供的其它編碼信息的至少一些組合成單個數據流,并且在該單個數據流中提供該編碼指示符和針對單個數據流中的各數據組塊的其它編碼信息的至少一些。在優(yōu)選實施方式中,在單個數據流中提供編碼信息的一些但非全部,該編碼信息被提供以供用于對用于該幀的經編碼的視頻圖像數據進行解碼,從而提供用于該幀的輸出視頻圖像數據。例如,用于該幀的組塊的殘差優(yōu)選地在分開的數據流中提供。
在本發(fā)明中提供并解碼的該視頻數據幀序列可以是任何合適和希望的視頻幀序列。在該視頻幀序列中將具有至少兩個幀,但該視頻幀序列中優(yōu)選地具有超過兩個的幀。
該幀序列按表示視頻數據幀序列的經編碼的視頻圖像數據的比特流的形式來提供,視頻數據幀序列接著按本發(fā)明的方式進行解碼,以提供輸出視頻幀的序列,例如并且優(yōu)選地,用于顯示的目的。
該視頻幀按逐個塊的方式在經編碼的視頻圖像數據的比特流中編碼,即,經編碼的各視頻幀被劃分成表示該視頻幀的相應區(qū)域(范圍)的相應像素組塊(采樣位置),這些組塊接著分別在經編碼的視頻圖像數據比特流內被單個地編碼(即,使得可以從經編碼的視頻圖像數據標識并解碼相應的單個組塊)。
該視頻幀為了編碼處理而被細分成的數據組塊可以是該視頻幀的任何合適和希望的組塊。它們在形狀上優(yōu)選為矩形,例如,正方形。該矩形塊可以采取任何合適和希望的大小。優(yōu)選的是,該矩形組塊皆具有在8×8像素和64×64像素之間并且包括8×8像素和64×64像素的大小,優(yōu)選地,該矩形塊的各邊緣具有2n個像素的大小,其中,n是整數(例如在3與6之間并且包括3和6)。
在優(yōu)選實施方式中,指定幀可以包括多個不同大小的組塊,例如,在該幀的范圍上密鋪(tessellation),和/或這些塊的大小和數量可以在不同幀之間改變,例如,依賴于該幀的視頻圖像數據。
在本發(fā)明中用于對視頻圖像數據進行編碼的編碼處理(以及對應地用于對經編碼的視頻圖像數據進行解碼的解碼處理)尤其使用一組編碼信息,其優(yōu)選地包括組塊大小指示。對于組塊可以(并且是)使用的該一組編碼信息優(yōu)選地還包括運動矢量和編碼指示符中的一個或更多個(并且優(yōu)選為兩者)(盡管這些參數可以不被用于(和編碼)視頻幀序列中的每個幀)。
該編碼信息可以按任何合適和希望的方式來提供和表示,例如,依賴于所使用的視頻編碼標準的要求。
在例如組塊大小的情況下,其優(yōu)選地根據塊內的像素來指示,并且優(yōu)選地指示矩形塊的邊緣的大小。
該運動矢量應當并且優(yōu)選地確實指示與其相關(與其相關聯)的組塊中的數據與基準幀(例如,并且優(yōu)選地,在所解碼的該幀序列中)中的數據組塊相比的位置的差異。
用于數據組塊的編碼指示符應該并且優(yōu)選地確實指示要用于在編碼所關注的數據組塊時使用(并且對應地,應當在解碼所關注的數據組塊時使用)的特定的、優(yōu)選選擇的、優(yōu)選預定義的一組編碼參數的特定的、優(yōu)選選擇的、優(yōu)選預定義的一組值。該編碼指示符所涉及的該組參數可以包括用于執(zhí)行編碼(并且對應地被需要以執(zhí)行解碼)的任何合適和希望的編碼參數,例如,并且優(yōu)選地,依賴于所使用的視頻編碼標準。在優(yōu)選實施方式中,該編碼指示符所涉及的該一組編碼參數包括以下中的一個或更多個,并且優(yōu)選地全部:量化參數、環(huán)路濾波器強度、跳過指示以及基準幀指示符。
該編碼指示符可以指示該一組編碼參數中的在編碼所關注的組塊時使用的編碼參數的值,但優(yōu)選地,該編碼指示符指示該組編碼參數,并且這些參數的值被單獨發(fā)送,例如,在用于該幀的經編碼的視頻圖像數據的幀“報頭”數據字中,使得解碼器知道怎樣解碼經編碼的數據。
在具體優(yōu)選實施方式中,該編碼指示符指示多組預定義編碼參數中的一組。由此,例如,該編碼指示符例如可以指示已經使用了不同的四組或八組預定義編碼參數中的哪一個。
對于vp9編碼的情況來說,該編碼指示符將作為段id,并且將對應地指示0與7之間的值,指示在對所關注的數據組塊進行編碼時已經使用了預定義的八組編碼參數中的哪一個。
本發(fā)明可以被用于使用編碼指示符的逐塊編碼處理的任何形式的視頻編碼。這種視頻編碼標準的示例是vp9(在這種情況下,該編碼指示符如上所述為段id)。由此,在具體優(yōu)選實施方式中,該視頻數據幀序列已經利用vp9編碼進行了編碼。然而,若需要的話,可以使用按相似或相應方式操作的其它視頻編碼處理和標準,例如,vp8視頻編碼標準。
解析可以按任何合適和希望的方式來執(zhí)行,該解析用于該比特流中的幀的經編碼的視頻圖像數據,以針對該視頻幀已經出于編碼目的而劃分成的各組塊得到一組編碼信息。該處理應當解析該經編碼的視頻圖像數據以得到用于所關注的幀塊的經編碼的視頻圖像數據中的任何編碼信息。
可以還包括,并且在優(yōu)選實施方式中確實還包括,使用來自該比特流中的先前幀的反饋編碼信息,來得到用于當前解碼的幀的編碼信息(例如,通過將該反饋編碼信息與從當前解碼(解析)的幀得到的編碼信息適當組合)。
例如,尤其可以利用被反饋至該解析級的針對當前幀中多個數據組塊的組塊大小,來得到針對下一幀中的組塊的運動矢量值。例如,該組塊大小可以被用于確定怎樣從該經編碼的比特流解包運動矢量值。優(yōu)選的是,針對下一幀中的組塊的運動矢量值依賴于在當前幀中的指定相對空間位置處的、來自經編碼的比特流的解包的運動矢量值的值。
針對該視頻幀已經出于編碼目的而劃分成的各組塊所得到的編碼信息可以按任何合適和希望的方式來提供,例如,依賴于所使用的視頻編碼標準的要求。
針對該視頻幀已經出于編碼目的而劃分成的各組塊得到的編碼信息至少包括針對所關注的組塊的組塊大小指示。
該組塊大小優(yōu)選地以該塊內的像素來指示,并且優(yōu)選地指示矩形塊的邊緣的大小。
如果用于幀的經編碼的視頻圖像數據包括針對該幀已經出于編碼目的而劃分成的各組塊的運動矢量值,則用于該幀的經編碼的視頻圖像數據的解析優(yōu)選地還針對該視頻幀已經出于編碼目的而劃分成的各組塊得到運動矢量值。因此,在這種情況下,針對該視頻幀已經出于編碼目的而劃分成的各組塊得到的該組編碼信息將包括針對該組塊的組塊大小指示和運動矢量值。
通常,相對于基準幀編碼的被解碼的該視頻幀序列中的各幀(即,各“幀間”幀(“inter”frame))將包括經編碼的運動矢量值(盡管這種幀可向其它幀(例如,隨后幀)提供基準)。由此,在優(yōu)選實施方式中,對被解碼的該視頻幀序列中的幀間幀的經編碼的視頻圖像數據的解析優(yōu)選地包括針對該視頻幀已經出于編碼目的而劃分成的各組塊得到用于該組塊的運動矢量值。
對應地,如果經編碼的視頻圖像數據不包括針對視頻幀(例如,“幀內”幀(“intra”frame)(在vp9中也稱為“關鍵”幀))的各塊的運動矢量值,則針對該幀已經出于編碼目的而劃分成的各組塊得到的該一組編碼信息將不包括針對該組塊的運動矢量值(即,將優(yōu)選地包括組塊大小指示,并且如果存在的話,則針對該組塊的編碼指示符)。針對該視頻幀已經出于編碼目的而劃分成的各組塊所得到的該一組編碼信息還可以包括其他信息,例如,幀內預測模式。
該運動矢量應當并且優(yōu)選地確實允許確定指示該組塊中的數據與基準幀(例如,并且優(yōu)選地,在被解碼的該幀序列中)中的數據組塊相比的位置差異的運動矢量。該運動矢量值例如可以并且在優(yōu)選實施方式中確實采用差值的形式,該差值例如將與先前的運動矢量值組合以提供所關注的運動矢量。
如果用于幀的經編碼的視頻圖像數據包括針對該幀已經出于編碼目的而劃分成的各組塊的編碼指示符(并由此,該編碼指示符在對用于該幀的視頻圖像數據進行編碼時被啟用),則對用于該幀的經編碼的視頻圖像數據的解析優(yōu)選地還針對該視頻幀已經出于編碼目的而劃分成的各組塊得到編碼指示符(例如,使用包括針對該幀的兩個不同編碼指示符在內的一組編碼指示符)。因此,在這種情況下,針對該視頻幀已經出于編碼目的而劃分成的組塊(并且針對各組塊)得到的該一組編碼信息將包括用于該組塊的組塊大小指示和編碼指示符(并且,若存在的話,用于該組塊的運動矢量值)。
對應地,如果針對幀的多個組塊的編碼指示符在用于該視頻幀的經編碼的視頻圖像數據中被禁用,則針對該幀已經出于編碼目的而劃分成的各組塊得到的該一組編碼信息可以不包括用于該組塊的編碼指示符(即,將優(yōu)選地包括組塊大小指示,并且如果存在的話,則用于該組塊的運動矢量值),或者可以包括用于該組塊的默認編碼指示符(例如,具有等于0的值)。然而,如下所討論,可以在用于被解碼的幀的編碼信息中提供從先前幀反饋(從其得到)的一組編碼指示符,使得這些可以被反饋用于后續(xù)幀(以在需要時供用于解碼該后續(xù)幀)。
而且,如果經編碼的視頻圖像數據是指用于該比特流中的先前幀的編碼指示符(其例如被用于編碼用于當前幀的視頻圖像數據),并因此用于該幀的經編碼的視頻圖像數據可以不包括用于該組塊的一組編碼指示符,則可以在用于被解碼的幀的編碼信息中提供從先前幀反饋(從其得到)的一組編碼指示符,以用于對該經編碼的視頻圖像數據幀進行解碼,并且使得這些編碼指示符可以被反饋以用于后續(xù)幀(以在需要時供用于解碼該后續(xù)幀)。該編碼指示符引用的所述先前幀可以是任何合適和希望的幀。在優(yōu)選實施方式中,所引用的編碼指示符是來自其中對該視頻圖像數據時編碼指示符被啟用的緊前一幀的那些編碼指示符。
得到的用于該幀的各組塊的該組編碼信息還可以適當和期望地包括任何其它編碼信息(例如,依賴于所使用的視頻編碼標準)。例如,針對該幀已經出于編碼目的而劃分成的各組塊得到的該一組編碼信息還可以包括幀內預測模式和/或變換大小。
通過解析用于該幀的經編碼的視頻圖像數據而得到的用于該幀的各塊的該一組編碼信息被提供以供用于對用于該幀的經編碼的視頻圖像數據進行解碼。在這方面提供的以供用于解碼經編碼的視頻圖像數據的該組編碼信息應當至少包括通過解析操作解碼而得到的針對幀的編碼信息。因此,優(yōu)選的是,針對該幀已經出于編碼目的而劃分成的各塊,其將包括以下中的一個或更多個(并且優(yōu)選地包括全部):編碼指示符(當未被禁用時)、組塊大小指示符,以及若存在的話,則運動矢量值。
如果這種編碼指示符針對該幀的各組塊被編碼(即,存在于用于該幀的經編碼的視頻圖像數據中,并且例如包括用于至少兩個相應組塊的兩個不同編碼指示符),則應當并且優(yōu)選地被提供針對被解碼的該幀得到的那些編碼指示符以供用于對用于該幀的經編碼的視頻圖像數據進行解碼。
如果已經禁用針對該幀的編碼指示符,并由此針對該幀的經編碼的視頻圖像數據可以編碼針對該幀的默認的一組編碼指示符,則優(yōu)選地,提供從先前幀反饋(從其得到)的一組編碼指示符作為針對被解碼的該幀的編碼指示符,以供用于對用于該幀的經編碼的視頻圖像數據(若需要的話)進行解碼。因而,這也確??傆幸唤M(非默認)編碼指示符可用于反饋,以供后續(xù)幀使用(和/或供在幀的解碼時使用),即使針對該幀本身的經編碼的視頻圖像數據僅包括針對該幀的默認的一組編碼指示符(由于該編碼指示符在編碼該視頻圖像數據時被禁用)。然而,如下將討論的,可以提供該默認的一組編碼指示符,以供對用于該幀的經編碼的視頻圖像數據進行解碼時使用,以指示是在不使用編碼指示符的情況下對幀的組塊編碼的,并由此對用于該幀的經編碼的視頻圖像數據進行解碼可以不需要任何編碼指示符。
在優(yōu)選實施方式中,不僅提供從先前幀反饋的編碼指示符,還可以針對被解碼的幀(例如,在“報頭”數據字中)提供默認或預定義的一組編碼參數值(例如,與默認的一組編碼指示符相關聯的編碼參數值),以供用于對用于該幀的經編碼的視頻圖像數據進行解碼。這允許在解碼該幀時使用這些默認或預定義的參數值(例如,簡單地指示在對用于該幀的經編碼的視頻圖像數據進行解碼時不使用編碼指示符),同時提供從先前幀反饋的編碼指示符使得這些編碼指示符可用于后續(xù)幀(若需要的話)。
如果用于該幀的編碼指示符是指用于該比特流中的先前幀的編碼指示符,則還優(yōu)選地提供從先前幀反饋(從其得到)的一組編碼指示符,作為針對被解碼的該幀的編碼指示符,以供用于對用于該幀的經編碼的視頻圖像數據進行解碼,其又可用于反饋,以供后續(xù)幀使用(例如,如果該后續(xù)幀引用這些編碼指示符)。
可以提供被提供以供用于對用于該幀的經編碼的視頻圖像數據進行解碼以提供針對該幀的輸出視頻圖像數據的編碼信息,以供用于按任何合適和希望的方式來對用于該幀的經編碼的視頻圖像數據進行解碼。因此,其例如可以作為數據流(被流送)提供給適當的解碼器(解碼級)。
在具體優(yōu)選實施方式中,存儲該編碼信息,使得其可以接著被準備用于對用于該幀的經編碼的視頻圖像數據進行解碼以提供針對該幀的輸出視頻圖像數據。
由此,在優(yōu)選實施方式中,提供從用于該幀的經編碼的視頻圖像數據得到的編碼信息(和任何附加編碼信息)以供用于對用于該幀的經編碼的視頻圖像數據進行解碼以提供用于該幀的輸出視頻圖像數據的處理包括存儲該編碼信息,使得其接著可以被取得以供用于對用于該幀的經編碼的視頻圖像數據進行解碼。對應地,本發(fā)明的裝置優(yōu)選地包括存儲部,該存儲部用于存儲從針對該幀的經編碼的視頻圖像數據得到的所述編碼信息(和任何附加編碼信息)以供用于解碼用于該幀的經編碼的視頻圖像數據。
用于幀的編碼信息被提供到的存儲部可以包括任何合適和希望的存儲部。優(yōu)選的是,該存儲部包括主存儲器。這允許在大小上可能較大的編碼信息在其被用于對經編碼的視頻數據進行解碼之前被保持。優(yōu)選的是,存儲器(例如,主存儲器)使用直接存儲器存取(dma),并由此,優(yōu)選地,該裝置包括被構造成控制針對該存儲部的讀取和寫入訪問的dma控制器。這種(例如,容忍延遲的)存儲器訪問縮減向和從該存儲部讀取和寫入編碼信息的存儲器延遲的影響,特別是在該存儲部包括主存儲器的時候。
當該編碼信息中的至少一些作為單個數據流來提供和/或反饋時,這也可以幫助使存儲器訪問(例如,利用dma)更有效。當然,其它方案也是可以的。
所提供的編碼信息優(yōu)選地(接著)被用于解碼針對幀的經編碼的視頻圖像數據,以提供例如并且優(yōu)選地用于顯示的輸出幀。這可以按任何合適和希望的方式(例如,根據并且依靠所使用的視頻編碼標準)完成,并且可以使用從針對該幀的經編碼的視頻圖像數據得到的所提供的編碼信息(以及任何附加編碼信息)。
由此,在具體優(yōu)選實施方式中,本發(fā)明的處理還包括利用從用于該幀的經編碼的視頻圖像數據得到的編碼信息(或者通過參照先前幀),以解碼用于該幀的經編碼的視頻圖像數據從而提供用于該幀的輸出視頻圖像數據。對應地,本發(fā)明的裝置優(yōu)選地包括解碼處理電路,該解碼處理電路可操作以使用從來自該幀的經編碼的視頻圖像數據得到的編碼信息,以解碼用于該幀的經編碼的視頻圖像數據從而提供用于該幀的輸出視頻圖像數據。
該解碼處理應當使用對于解碼所關注的幀來說是必需的編碼信息。
由此,例如,如果該經編碼的幀要使用針對該幀已經出于編碼目的而被劃分成的各組塊的編碼指示符,則將合適的一組編碼指示符用于該解碼處理(并且優(yōu)選地,在合適的情況下,與所關注的幀一起編碼的一組編碼指示符,或者來自先前幀的一組編碼指示符)。
由此,在該優(yōu)選實施方式中,如果被提供以供用于對用于該幀的經編碼的視頻圖像數據進行解碼的該組編碼信息還包括針對該幀的各組塊的(例如,非默認)編碼指示符(例如,如果該編碼指示符在編碼用于該幀的視頻圖像數據時被啟用,并因此例如包括至少兩個不同的編碼指示符),則在該編碼指示符要被用于該解碼操作的情況下,該解碼處理將使用在提供以供用于對用于該幀的經編碼的視頻圖像數據進行解碼的該組編碼信息中提供的編碼指示符(該編碼指示符可以是從用于所關注的幀(被解碼的)的經編碼的視頻圖像數據得到的編碼指示符(其中該經編碼的視頻圖像數據包括用于該幀的編碼指示符),或者如上所述,它們可以是從該幀序列中的先前幀提供(和從其得到)的編碼指示符)。
相反的是,如果針對該經編碼的幀禁用了該編碼指示符(并因此,例如,包括默認的一組編碼指示符),則優(yōu)選地,該編碼指示符在解碼該幀時不被使用。
對于針對該經編碼的幀禁用該編碼指示符的情況來說,可以按任何希望和合適的方式來處理編碼指示符優(yōu)選地不被用于解碼該幀的事實,例如,其適于被使用的視頻編碼標準。因此,例如,默認和/或預定義的一組編碼參數值可以被用于解碼該幀的經編碼的視頻圖像數據,其中,針對該幀的組塊的特定編碼指示符未被指示(待使用)(并且在一個優(yōu)選實施方式中,這就是所做的),例如通過將針對該編碼指示符的編碼參數值構造成同一值。該默認和/或預定義的一組編碼參數值可以在與該幀相關聯的“報頭”數據字中提供。
在解碼針對幀的經編碼的視頻數據時需要或以其它方式使用編碼指示符可以按任何合適和希望的方式來指示和確定,例如依靠,并且根據被使用的視頻編碼處理(例如,標準)。不需要使用編碼指示符可以由默認和/或預定義的一組編碼參數值來指示(例如,針對各參數,該幀的所有組塊具有相同(例如,默認)的值(例如0)),例如,在與該幀相關聯的“報頭”數據字中提供。由此,反之亦然,在解碼針對一幀的經編碼的視頻數據時需要使用編碼指示符可以通過存在的非默認的一組編碼參數值(例如,包括兩個不同的參數值)來指示,例如再次在與該幀相關聯的“報頭”數據字中提供。
然而,優(yōu)選地,當解碼針對幀的經編碼的視頻圖像數據時是否需要使用編碼指示符由在針對該幀的視頻圖像數據中編碼的模式指示符來指示,例如,在與該幀相關聯的“報頭”數據(幀報頭)中提供。在優(yōu)選實施方式中,該模式指示符指示三種編碼模式中的一種,即:i)編碼指示符的使用在編碼視頻圖像數據時被啟用,并且要使用的編碼指示符在針對該幀的比特流中被編碼(例如,由于該編碼指示符已經針對當前幀被更新);ii)編碼指示符的使用在編碼針對該幀的視頻圖像數據時被啟用,但利用針對先前幀的編碼指示符(例如,由于該編碼指示符沒有針對當前幀更新;在這種情況下,優(yōu)選地,編碼指示符沒有在用于該幀的比特流中編碼);以及iii)編碼指示符的使用在編碼針對該幀的視頻圖像數據時被禁用(并由此,在解碼針對該幀的經編碼的視頻數據時將不使用編碼指示符)。
因此,應當清楚,當對用于該幀的視頻圖像數據進行編碼和解碼時存在使用的三種主要模式。在第一模式中,當對用于該幀的視頻圖像數據進行編碼時,啟用了針對該幀已經更新的編碼指示符(例如,段映射)。按這種模式,該編碼指示符在用于該幀的視頻圖像數據中被編碼,并因此被提供用于解碼該幀。
在第二模式中,該編碼指示符在編碼用于該幀的視頻圖像數據時被啟用,但尚未針對該幀進行更新,因此針對編碼用于當前幀的視頻圖像數據,引用并使用來自一先前幀的編碼指示符。按這種模式,該編碼指示符優(yōu)選地不被編碼在用于該幀的視頻圖像數據中,而相反,將針對先前幀的基準(例如,模式指示符)編碼在用于該幀的比特流中,例如,在與該幀相關聯的報頭數據中,使得可以提供來自該先前幀的該組編碼指示符(例如,已經從先前幀反饋的),用于對幀該進行解碼。
在第三模式中,該編碼指示符在對用于該幀的視頻圖像數據進行編碼時被禁用。按這種模式,優(yōu)選地,將默認的一組編碼指示符編碼在針對該幀的視頻圖像數據中(例如,以指示該編碼指示符在編碼該視頻圖像數據時被禁用),但優(yōu)選地沒有使用編碼指示符來對該經編碼的視頻圖像數據進行解碼(例如,由于沒有編碼指示符已經被用于編碼該視頻圖像數據)。
因此,優(yōu)選地,從針對該幀的經編碼的視頻圖像數據得到(通過解析級)的編碼信息包括模式指示符(其指示當編碼該視頻圖像數據時是否針對該幀啟用了編碼指示符,并且如果將它們啟用,則是否針對該幀更新了該編碼指示符,或者使用來自先前幀的編碼指示符),其接著優(yōu)選地被提供用于對用于該幀的經編碼的視頻圖像數據進行解碼。
還應清楚,上述三種模式被分成兩類:或者反饋針對當前幀的編碼指示符(當在對用于該幀的組塊的視頻圖像數據進行編碼時啟用該編碼指示符并且針對該幀更新該組編碼指示符時),或者反饋針對先前幀的編碼指示符(或者當在經編碼的視頻圖像數據時禁用了該編碼指示符時,或者當用于經編碼的視頻圖像數據的編碼指示符是從先前幀使用(并因此引用)的那些編碼指示符時)。
因而,優(yōu)選的是,當在對用于該幀的組塊的視頻圖像數據進行編碼時啟用了該編碼指示符并且針對該幀更新了該一組編碼指示符時(并因此優(yōu)選地,用于該幀的經編碼的視頻圖像數據包括用于該幀的各組塊的編碼指示符(例如,具有針對具有不同值的至少兩個相應組塊的至少兩個編碼指示符)),反饋用于該幀的組塊的編碼指示符包括反饋從針對該幀的經編碼的視頻圖像數據得到的、用于該幀的組塊的編碼指示符。
而且優(yōu)選地,如果該編碼指示符沒有針對該幀更新,則反饋用于該幀的組塊的編碼指示符包括針對該幀的組塊,反饋從用于視頻幀序列中的先前幀的經編碼的視頻圖像數據得到的編碼指示符。在優(yōu)選實施方式中,由于編碼指示符被禁用或者在經編碼的視頻圖像數據時引用來自先前幀的編碼指示符,因而該編碼指示符不被更新。
不僅提供必需編碼信息以供在解碼針對該幀序列的幀的經編碼的視頻圖像數據時使用(如上所述),還反饋從用于該序列證中的幀的經編碼的視頻圖像數據得到的編碼信息,以供當解析在該比特流中編碼的該幀序列中的下一幀的經編碼的視頻圖像數據時使用。
在這方面反饋的編碼信息至少包括針對當前視頻幀(即,剛剛被解析的)已經出于編碼目的而被劃分成的各數據組塊的編碼指示符。
反饋的編碼信息優(yōu)選地還包括已經從用于該幀的經編碼的視頻圖像數據得到的任何其它編碼信息。由此,其優(yōu)選地還包括針對該幀已經出于編碼目的而劃分成的各組塊(在存在的情況下)的組塊大小指示和/或運動矢量值。
要反饋的編碼信息優(yōu)選地在單個數據流中被反饋到解析級。這可以按任何合適和希望的方式來完成。例如,可能存在來自解析級的輸出的反饋路徑,其將編碼信息反饋回至解析級的輸入。在該優(yōu)選實施方式中,如果編碼信息被提供給存儲部(例如,主存儲器)以供用于接著解碼針對該幀的經編碼的視頻數據,則在一優(yōu)選實施方式中,將該編碼信息從存儲部反饋回至該解析級。當然,其它方案也是可以的。
在優(yōu)選實施方式中,被反饋的數據流包括優(yōu)選固定大小的數據字序列,例如,32比特字,其中寫入了針對該幀的組塊的編碼信息(例如,組塊大小指示符、編碼指示符和/或運動矢量值)。各種編碼信息值可以按任何合適和希望的方式配置和配合到數據流中的數據字中,例如,依賴于它們相對于數據字的大小的大小。
在優(yōu)選實施方式中,針對各編碼信息值提供各(例如,固定長度)數據字內的固定數目的比特。例如,各數據字可以并且優(yōu)選地確實包括多個(例如,四個)字段,用于提供編碼信息值。
如果針對一個組塊要反饋比一個數據字中的相關字段可提供的多的編碼信息,則優(yōu)選地通過利用針對所關注的組塊的一個或更多個附加數據字來完成(在適當時候)。在這種情況下,針對該組塊的第一數據字優(yōu)選地包括指示(例如,標志),以指示針對該組塊的另一信息被包括在附加數據字(或多個字)中。換句話說,當需要超過一個的數據字來提供針對組塊的反饋編碼信息時,附加數據字優(yōu)選與針對該組塊的初始數據字一起提供。下面將對其加以進一步討論。
在這點上,應當清楚,該數據流將包括針對該視頻幀已經出于編碼目的而劃分成的各數據(像素)塊的一組編碼信息。因此,該數據流例如將包括并且優(yōu)選地包括用于各幀的一序列數據字,其中存在包括用于該幀的第一組塊的編碼信息的一個或更多個數據字,后面是包含該幀中的下一個組塊的編碼信息的一個或更多個其它數據字,后面是包含該幀中的下一個組塊的編碼信息的一個或更多個另一數據字,以此類推。
應當按適當的順序在該數據流中提供用于該幀的組塊的反饋編碼信息,例如,并且優(yōu)選地按這些組塊在該經編碼的視頻圖像數據中編碼的次序(即,按針對該視頻幀已被劃分成的組塊的處理次序)。
對應地,包含來自一個幀的編碼信息的數據字(例如,在數據流中)將跟隨包含針對該幀序列中的下一個幀的編碼信息的另一數據字(例如,在流中),等等。當反饋針對該幀的組塊的編碼信息時,優(yōu)選地,該幀被劃分成個條帶,各條帶都包括用于多個組塊的編碼信息。一個或更多個條帶中的編碼信息可以在(例如,連續(xù))數據流中反饋。因此,可以在多個數據流(并且各流都包括一個或更多個條帶)中反饋針對一幀的編碼信息,例如,逐個。該數據流之間的劃分可以是幀邊界或條帶的末尾,按照合適和希望的樣子。
如上所討論的,針對該視頻幀已經被劃分成的各數據組塊,將至少編碼指示符(并且優(yōu)選地,組塊大小指示符和運動矢量值)反饋至解析級。就涉及該運動矢量值(在提供的情況下)和組塊大小指示而言,那么由于針對該幀的經編碼的視頻圖像數據將包含針對該幀中的各組塊的這種值,因而,針對指定數據組塊的反饋值可以,并且優(yōu)選地確實,僅僅對應于從用于針對所關注的組塊的該幀的經編碼的視頻圖像數據得到的值。
然而,如上所述,在編碼針對該幀中的數據組塊的指示符的情況下,該編碼指示符在針對幀的視頻圖像數據進行編碼時可能已經被禁用。由此,用于針對視頻幀已經出于編碼目的而被劃分成的各數據組塊反一編碼指示符的方案被構造成允許這一點,并且在優(yōu)選實施方式中,或者反饋針對該幀的組塊的、從用于該幀的經編碼的視頻圖像數據得到的編碼指示符(在針對該幀的經編碼的視頻圖像數據包括針對該幀的各組塊的(非默認)編碼指示符的情況下,其中,例如,由于該編碼指示符已經在編碼針對該幀的視頻圖像數據時被啟用并因此在用于該幀的比特流中被編碼,因而針對該幀中的組塊的兩個編碼指示符不同),或者反饋針對該幀的組塊的、從針對該幀序列中的先前幀的經編碼的視頻圖像數據得到的編碼指示符(在該編碼指示符在編碼用于該幀的視頻圖像數據時被禁用的情況下,并且優(yōu)選地還在針對該幀的經編碼的視頻圖像數據引用來自該先前幀的編碼指示符時,這些編碼指示符優(yōu)選地已經被用于編碼針對該幀的視頻圖像數據)。
換句話說,在優(yōu)選實施方式中,當在對用于該幀的視頻圖像數據進行編碼時啟用了該編碼指示符并且這些編碼指示符與該經編碼的視頻圖像數據一起編碼時(例如,由于該編碼指示符已經針對該幀被更新),即,當用于該幀的經編碼的視頻圖像數據包括用于該幀的各組塊的編碼指示符時(例如,具有針對具有不同值的至少兩個相應組塊的至少兩個編碼指示符),針對該幀的組塊反饋的編碼指示符是從針對該幀的經編碼的視頻圖像數據得到的那些編碼指示符,否則(例如,由于該編碼指示符已經在編碼針對該幀的視頻圖像數據時被禁用或者由于該編碼指示符已經被啟用但引用來自先前幀的編碼指示符,并由此,例如,當針對該幀的經編碼的視頻圖像數據在針對該幀的組塊的該組編碼指示符中不包括兩個不同編碼指示符時),針對該幀的組塊反饋的編碼指示符是從用于該幀序列中的先前幀的經編碼的視頻圖像數據得到的編碼指示符。
優(yōu)選的是,如果用于該幀的經編碼的視頻圖像數據是指來自先前幀的編碼指示符,則反饋用于該幀的組塊的編碼指示符包括,針對該幀的組塊,反饋從用于該視頻幀序列中的先前幀的經編碼的視頻圖像數據得到的編碼指示符。
不僅該編碼指示符在對用于幀的經編碼的視頻圖像數據進行編碼時使用(或不使用),要反饋的編碼指示符可以按任何合適和希望的方式來指示和確定。在優(yōu)選實施方式中,針對幀反饋的該組編碼指示符由在針對該幀的視頻圖像數據中編碼的模式指示符來指示,例如,在與該幀相關聯的報頭數據中提供。因而,優(yōu)選的是,如上所述,該模式指示符指示當該編碼指示符在經編碼的視頻圖像數據時被啟用時并且這些編碼指示符被編碼在針對該幀的比特流中(例如,在該編碼指示符被更新時),當該編碼指示符在編碼針對該幀的視頻圖像數據時被啟用(即,使用)時但引用針對先前幀的編碼指示符(例如,在該編碼指示符未被更新,并由此使用來自先前幀的一組編碼指示符),或者當該編碼指示符在編碼針對該數據的視頻圖像數據時被禁用時。
在針對被解析和解碼的該幀的經編碼的視頻圖像數據包括針對該幀的各組塊的(非默認)編碼指示符的情況下(例如,由于該編碼指示符已經在編碼針對該幀的視頻圖像數據時被啟用并且該編碼指示符已經針對該幀更新),在用于該幀的經編碼的視頻圖像數據中將具有用于該幀中的各組塊的編碼指示符值(例如,具有針對具有不同值的至少兩個相應組塊的至少兩個編碼指示符),因此各組塊都可以簡單地具有針對其“反饋”的相應編碼指示符。
因此,在這種情況下,將存在針對該幀中的各數據組塊提供的單個編碼指示符,作為用于該幀的、針對該經編碼的視頻圖像數據中的該組塊包括的編碼指示符。
對于編碼指示符在編碼針對要被解析和解碼的幀的組塊的視頻圖像數據時被禁用的情況來說(并且優(yōu)選地,還在針對該幀的經編碼的視頻圖像數據引用來自先前幀的編碼指示符的情況下),那么,如上所述,針對該幀的組塊的、從針對該視頻幀序列中的先前幀的編碼圖像數據得到的編碼指示符將被用于針對被反饋至解析級的當前幀的各組塊提供編碼指示符。
在這點上,應當注意,編碼指示符被使用(被反饋)的先前幀可以是該視頻幀序列的恰好前一幀,但不必須是,而可以是該視頻幀序列中的較早幀(例如,其中存在該序列中的、不使用編碼指示符和/或編碼指示符的使用已被禁用的中間幀)。如果用于該幀的經編碼的視頻圖像數據是指來自先前幀的編碼指示符,則優(yōu)選地,所引用的編碼指示符是來自針對其的編碼指示符在編碼該視頻圖像數據時啟用的恰好前一幀的那些編碼指示符。
在這方面要被使用(反饋)的針對前一幀的編碼指示符可以按任何合適和希望的方式提供。例如,如果該編碼信息在解析級之后被提供給存儲部(例如,主存儲器),則用于先前幀的編碼指示符可以在它們所相關的幀已經被解碼之后被保持在存儲部中,使得它們接著可用于反饋,如果后面幀的需要的話。
在具體優(yōu)選實施方式中,如上所述,如果被提供以供用于解碼編碼視頻幀(例如,其存儲在存儲部(例如,主存儲器)中)的編碼信息包括組編碼指示符,而不管當前解析的幀是否包括一組(非默認)編碼指示符,則隨著從當前處理的幀得到的編碼信息提供的那些編碼指示符可以是,并且優(yōu)選地作為來自前一幀的編碼指示符來反饋。
換句話說,用于前一幀的編碼指示符實際上將被提供用于通過解析級反饋至該解析級,該解析級包括其已經在其輸出的編碼信息中接收到的反饋編碼指示符(從針對前一幀反饋的)(其中針對所關注的幀的經編碼的視頻數據不包括新的一組(非默認)編碼指示符),使得那些先前編碼指示符接著可用于再次反饋至解析級(并且再次被反饋回至該解析級)。
由此,“當前”該組編碼指示符實際上將在解析級連續(xù)循環(huán),例如,經由存儲部,使得它們總是可以通過從解析級輸出并且反饋回至該解析級而可用(直到包括新的一組(非默認)編碼指示符的編碼視頻幀出現在該視頻幀序列中為止,在這種情況下,該新的一組編碼指示符將接著成為要使用的“當前”一組編碼指示符)。
在一個實施方式中,經編碼的視頻圖像數據幀的比特流可以被構造成能夠被獨立解碼的多組幀。優(yōu)選的是,該序列每組幀中的第一幀是“幀內”幀(或vp9中的“關鍵”幀)。該幀內幀不是相對于任何其它(例如,基準)幀來編碼,并由此能夠獨立于任何其它幀來解碼。在這個實施方式中,優(yōu)選的是,當在比特流中遇到幀內幀時,停止當前一組編碼指示符循環(huán)回至解析級,并接著針對在開始時具有該幀內幀的該新的一組幀恢復,例如,編碼指示符不從先前幀向前運送至該幀內幀(或實際上針對任何后續(xù)幀)。
由此,在優(yōu)選實施方式中:
當在對用于該幀的視頻圖像數據進行編碼時啟用該編碼指示符并且這些編碼指示符與該經編碼的視頻圖像數據一起編碼時(例如,由于該編碼指示符已經針對該幀被更新),即,當用于幀的經編碼的視頻圖像數據的比特流包括用于該幀的各組塊的(非默認)編碼指示符時(其中,針對該幀的編碼指示符例如包括兩個不同的編碼指示符),針對各組塊得到的該組編碼信息包括針對當前被處理的幀的組塊的編碼指示符(其接著隨用于該幀的編碼信息提供,以供用于對用于該幀的經編碼的視頻圖像數據進行解碼,并反饋至解析處理電路以供在解析下一幀的經編碼的視頻圖像數據時使用);并且
當該編碼指示符在編碼該視頻圖像數據時被禁用時(并由此,例如,用于幀的經編碼的視頻圖像數據的比特流包括針對該幀的各組塊的默認編碼指示符),針對各組塊提供的該組編碼信息包括從針對該視頻幀序列中的先前幀的組塊的經編碼的視頻圖像數據得到的編碼指示符(其隨用于該幀的所得到編碼信息提供,以供用于對用于該幀的經編碼的視頻圖像數據(若需要的話)進行解碼,并反饋至解析處理電路以供在解析下一幀的經編碼的視頻圖像數據時使用)。
優(yōu)選的是,而且,如果用于該幀的經編碼的視頻圖像數據是指來自先前幀的編碼指示符,則針對各組塊提供的該組編碼信息包括從針對該視頻幀序列中的先前幀的組塊的經編碼的視頻圖像數據得到的編碼指示符(其隨用于該幀的所得到編碼信息提供,以供用于對用于該幀的經編碼的視頻圖像數據進行解碼,并反饋至解析處理電路,以供在解析下一幀的經編碼的視頻圖像數據時使用)。
對應地,在優(yōu)選實施方式中,當在對用于該幀的視頻圖像數據進行編碼時啟用該編碼指示符并且這些編碼指示符與該經編碼的視頻圖像數據一起編碼時(例如,由于該編碼指示符已經針對該幀被更新),例如,當用于幀的經編碼的視頻圖像數據的比特流包括用于該幀的各組塊的(非默認)編碼指示符時(例如,針對該幀的編碼指示符包括兩個不同的編碼指示符),針對用于在在該比特流中編碼的所述幀序列中的下一幀和后續(xù)幀的編碼信息,提供并反饋該組編碼指示符,直到具有當對用于該幀的視頻圖像數據進行編碼時啟用的編碼指示符并且與該經編碼的視頻圖像數據一起編碼了這些編碼指示符的新幀(例如,包括針對該幀的各組塊的(非默認)編碼指示符的新幀)出現在該幀序列中為止(在該點上,針對用于在在該比特流中編碼的該幀序列中的下一幀和后續(xù)幀的編碼信息,提供并反饋針對該新幀的該組編碼指示符,直到具有當對用于所述幀的所述視頻圖像數據進行編碼時啟用的編碼指示符并且與所述經編碼的視頻圖像數據一起編碼了這些編碼指示符的新幀出現在所述幀序列中為止,等等)。
本申請人還已經認識到,可能的情況是,當前視頻幀已經出于編碼目的而被劃分成的組塊可能(在位置和/或大小方面)不匹配其編碼指示符值將被使用的先前幀出于編碼目的而被劃分成的組塊,即,在當前幀的組塊與將采取其要被反饋的編碼指示符的該幀或多幀的組塊之間可能不存在精確匹配。
因此,為了允許這樣,采用本發(fā)明的方式的操作可操作以通過下面的步驟來確定針對當前幀(在其將要完成的情況下)的相應組塊的、從針對要反饋的前一幀的經編碼的視頻圖像數據得到的編碼指示符:將當前幀的組塊映射至要采取其編碼指示符的先前幀的一個或多個對應組塊(即,具有(至少部分地)該幀內的相同位置),并接著,由此選擇針對當前幀塊反饋的編碼指示符。
在具體優(yōu)選實施方式中,該處理操作以從先前幀標識單個編碼指示符,以作為針對該幀中的當前塊的編碼指示符來反饋。
該處理優(yōu)選地操作如下。
首先,如果當前幀中的組塊直接映射至從其獲取編碼指示符的先前幀中的組塊,或者完全落入先前幀中的較大組塊內,則提供針對該先前幀中的對應組塊或較大組塊的值,作為針對該幀中的當前組塊的編碼指示符。
另一方面,對于當前幀中的組塊與先前幀中的多個組塊(各都具有相應編碼指示符)交疊(至少部分地)的情況來說,那么,優(yōu)選的是,選擇針對先前幀中的、當前幀組塊所交疊的組塊之一的編碼指示符,并將其提供為針對當前幀中的組塊的編碼指示符。
可以按照希望選擇出于該目的而選擇的編碼指示符(和/或其編碼指示符被選擇的先前幀中的塊)。在優(yōu)選實施方式中,當前幀中的組塊所交疊(至少部分地)的該一組組塊的最低值編碼指示符被選擇為針對當前幀組塊反饋的編碼指示符。當然,其它方案也是可以的。
由此,在具體優(yōu)選實施方式中,如果從該幀序列中的先前幀的經編碼的視頻圖像數據得到的編碼指示符要被反饋用于當前幀的組塊,則選擇針對該幀的組塊的、來自該視頻幀序列中的先前幀的單個編碼指示符,作為要針對(當前)幀的指定組塊反饋的編碼指示符(優(yōu)選地,采用上述方式)。
盡管如此,但是如上所討論的,在這些情況下優(yōu)選地針對當前幀的各組塊反饋從由該幀序列的先前幀得到的編碼指示符所獲取的單個編碼指示符,但本申請人進一步認識到,如果當前幀中的數據組塊與從其獲取編碼指示符的先前幀中的多個數據組塊對應(例如,如果前一幀中的這些數據組塊小于或部分地交疊當前幀中的數據組塊),則有利的是,除了已經被選擇用于當前幀中的所述組塊的該單個編碼指示符以外,還在該數據流中包括(并且反饋)針對該先前幀中的、當前幀中的所述數據組塊對應于(即,指示部分地交疊)的全部所述多個數據組塊的編碼指示符。
這接著允許在該數據流中保持附加的先前幀編碼指示符信息,使得如果后續(xù)幀需要比當前幀中的數據組塊精細的分辨率的編碼信息(例如,因為該后續(xù)幀中的數據組塊小一倍),那么就可以重建該更精細分辨率的編碼指示符信息(因為該更精細分辨率的編碼指示符信息仍然存在于反饋的數據流中)。
由此,在具體優(yōu)選實施方式中,如果當前幀中的數據組塊與從其獲取編碼指示符的先前幀中的多個數據組塊(例如,如果先前幀中的數據組塊小于或部分地交疊當前幀中的數據組塊)對應,則針對當前幀中的數據組塊,反饋(關聯)針對從其獲取編碼指示符的先前幀中的所述多個數據組塊的所述多個編碼指示符。
由此,如果當前幀中的數據組塊與從其獲取編碼指示符的先前幀中的多個數據組塊對應,則優(yōu)選地,針對當前幀中的數據組塊提供(和反饋)的編碼指示符信息包括表示從其獲取編碼指示符的先前幀中的對應數據組塊中的編碼指示符的單個值(例如,該編碼指示符中的最小值)(即,按粗略分辨率),和對應于當前幀中的數據組塊的、針對從其獲取編碼指示符的先前幀中的所述多個數據組塊的所述多個編碼指示符(即,按精細分辨率)兩者。
這有助于避免丟失來自前一幀的更精細分辨率的編碼指示符信息,例如,因為由較粗略的數據組塊形成的幀,并且對于其來說。該信息可能以其它方式被丟棄。這由此允許后續(xù)幀(例如,其可以具有多個數據組塊,所述多個數據組塊的分辨率更好地匹配從其最初獲取編碼指示符的先前幀中的數據組塊)針對其組塊使用更精細分辨率的編碼指示符(而不是丟失該信息)。
如果一組附加的更精細分辨率的編碼指示符要針對該幀的組塊反饋,則那些編碼指示符可以按任何合適和希望的方式來反饋。優(yōu)選的是,它們在反饋數據流中的數據字中提供,優(yōu)選地利用(若需要的話)針對所關注的當前幀中的數據組塊的附加數據字,例如,進一步直至可以寫入針對該組塊的選定單一編碼指示符的數據字。由此,如果該進一步的信息要被包括在該數據流中,則額外數據字優(yōu)選地能夠在該適當點被包括在數據流中以容納。
在具體優(yōu)選實施方式中,該數據流中存在任何附加數據字被指示。這優(yōu)選地通過利用諸如標志的指示符指示在針對數據組塊的數據流中存在附加數據字(和/或處于更精細的分辨率級別的編碼指示符)來實現。該指示符優(yōu)選地被包括在針對所關注的組塊的流中的第一數據字中。
在優(yōu)選實施方式中,每當要針對該幀的組塊反饋一組附加的更精細分辨率的編碼指示符,那么就利用針對該數據組塊的數據流中的一個或更多個附加數據字來反饋那些編碼指示符(優(yōu)選地,與在針對所關注的組塊的初始數據字中設置標志一起,來指示存在附加數據字或多個字)。
用于該附加編碼指示符的附加數據字的數量優(yōu)選地依賴于當前幀中的數據組塊的大小(并由此,取決于當前塊所覆蓋的先前幀中的較小組塊的最大數量),和/或指定數據字可以指示的編碼指示符的數量。
例如,如果當前幀中的數據組塊僅覆蓋多達在單個附加數據字中可以輸送針對其的編碼指示符的較小塊的數量,則優(yōu)選地,僅使用單個附加數據字來提供該組附加的更精細分辨率的編碼指示符。
其將是這種情況,例如,其中幀的組塊的最小大小被劃分成8×8像素,指定(例如,32位)數據字可以支持多達八個編碼指示符,并且當前幀中的數據組塊小于32×32像素。
對于當前幀中的數據組塊覆蓋多于可以利用單個數據字來輸送針對其的編碼指示符的先前幀中的較小組塊的數量的情況來說,那么優(yōu)選地使用多個附加數據字來提供該組附加的更精細分辨率的編碼指示符。這將是上述示例中的情況,其中當前幀中的數據組塊是32×32像素或更大。
在這種情況下,在優(yōu)選實施方式中,該附加數據字優(yōu)選地配置如下。首先,優(yōu)選地存在具有皆表示當前幀的所述組塊內的相應一組較小組塊(如皆表示對應于一組8個8×8組塊的32×16組塊)的相應編碼指示符字段的“報頭”數據字。接著,如果由報頭數據字的指定編碼指示符字段表示的該組較小組塊內的各較小組塊都具有相同的編碼指示符,則優(yōu)選地,指定該組較小組塊的報頭數據字中的字段被構造成該編碼指示符值,并且被解釋為指示該組較小組塊內的所有較小組塊具有該編碼指示符值。
另一方面,如果在報頭數據字中的編碼指示符字段對應于的、該組較小組塊內的較小塊具有不同的編碼指示符值,則優(yōu)選地將針對報頭數據字中的該組較小組塊的編碼指示符字段構造成指示(例如,并且優(yōu)選地,構造成指示較小數據組塊可以具有不同數據值的預定義值)的值,并接著,在該數據流中包括另一附加數據字,該附加數據字指定針對在報頭數據字中的編碼指示符字段所對應于的該組較小組塊內的各較小組塊的編碼指示符值。
使用標志或其它指示來指示以更精細分辨率附加地為數據流中的數據組塊提供編碼指示符,并且通過在數據流中提供附加數據字來包括那些更精細分辨率的編碼指示符,提供特別有效的機制用于在需要時在數據流中以更精細的分辨率級別提供編碼指示符,并且例如可以避免需要總是簡單地以視頻幀可能出于編碼目的而被劃分成的組塊的最精細潛在分辨率來提供和反饋一組編碼指示符。這還易于僅在需要的地方直接提供更精細級別分辨率的編碼指示符信息,而不是總是橫跨整個幀提供更精細級別分辨率的編碼信息。
如果按這種方式為當前幀中的數據組塊提供更精細分辨率的一組編碼指示符,則那些編碼指示符優(yōu)選地以光柵掃描次序來提供(并且包括在反饋數據流中)。優(yōu)選的是,提供編碼指示符的最精細分辨率是8×8像素的組塊(采樣位置)。
解析經編碼的視頻數據、提供所得到的編碼信息以供用于解碼該經編碼的視頻數據(和解碼經編碼的視頻數據),以及反饋來自幀的編碼信息以供在解析針對該序列中的下一幀的經編碼的視頻數據時使用的處理優(yōu)選地針對該幀序列中的各幀重復(適當地)。
在這點上,應當清楚,從被解碼的該幀序列中的相應連續(xù)幀得到和/或被用于解碼該相應連續(xù)幀的編碼信息,并且對應地,被反饋以供在解析該幀序列中的下一幀的經編碼的視頻數據時使用的編碼信息,將依賴于什么編碼信息與該序列中的指定幀一起編碼而變化(例如,并且具體來說,關于經編碼的幀是否包括一組編碼指示符,是否針對幀啟用或禁用編碼指示符的使用,經編碼的幀是否引用不同幀中的該組編碼指示符等)。
為例示,下面,對按本發(fā)明優(yōu)選實施方式的方式來解析經編碼的視頻圖像數據的一對示例幀序列進行描述。
首先,考慮表示由用于解碼的處理電路接收的經編碼的視頻圖像數據的連續(xù)幀序列的經編碼的視頻圖像數據的比特流具有第一幀,對于其來說,(例如,經更新的一組)編碼指示符在編碼針對該幀的視頻圖像數據時被啟用,并且包括用于該幀的各組塊的(非默認)編碼指示符時(例如,針對該幀中的組塊的編碼指示符包括兩個不同的編碼指示符),第二幀,對于其來說,該編碼指示符在編碼針對該幀的視頻圖像數據時被禁用,以及第三幀,對于其來說,該編碼指示符引用來自先前幀的該組編碼指示符(即,針對第三幀的視頻圖像數據利用來自先前幀的編碼指示符進行編碼)。
在這個實施方式中,該方法包括以下步驟(并且該裝置被構造成),針對經編碼的視頻圖像數據的三個連續(xù)幀的序列:
解析針對第一幀的經編碼的視頻圖像數據,以針對第一幀已經出于編碼目的而劃分成的各組塊,從該數據得到針對該組塊的編碼指示符;
提供從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符以供用于解碼用于第一幀的經編碼的視頻圖像數據,以提供用于第一幀的輸出視頻圖像數據;
反饋從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符,以供在對該比特流中編碼的第二幀的經編碼的視頻圖像數據進行解析時使用;
解析針對第二幀的經編碼的視頻圖像數據,并且提供從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符以供用于解碼用于第二幀的經編碼的視頻圖像數據,以提供用于第二幀的輸出視頻圖像數據;
反饋從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符,以供在對該比特流中編碼的第三幀的經編碼的視頻圖像數據進行解析時使用;以及
解析針對第三幀的經編碼的視頻圖像數據,并且提供從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符以供用于解碼用于第三幀的經編碼的視頻圖像數據,以提供用于第三幀的輸出視頻圖像數據。
在該示例中,將會看到,即使為了解碼第二幀的經編碼的視頻圖像數據而不需要一組編碼指示符,在解碼第三幀的經編碼的視頻圖像數據需要來自先前幀的一組編碼指示符的情況下(此外,在不存在一組編碼指示符在針對第三幀的經編碼的視頻圖像數據中可用的情況下,即,因為第三幀利用來自先前幀的編碼指示符(即,從第一幀反饋的編碼指示符)來編碼)),用于第一幀的該編碼指示符也被提供為用于第二幀的編碼信息的一部分(即,針對第二幀得到的該組編碼指示符是用于第一幀的該組編碼指示符),并接著被反饋以供在解析第三幀的經編碼的視頻圖像數據時使用(由于該編碼指示符已針對第二幀被禁用)。
第二,考慮表示由用于解碼的處理電路接收的經編碼的視頻圖像數據的連續(xù)幀的序列的經編碼的視頻圖像數據的比特流具有第一幀,對于其來說,(例如,經更新的一組)編碼指示符在編碼針對該幀的視頻圖像數據時被啟用,并且包括針對該幀的各組塊的(非默認)編碼指示符,第二幀,對于其來說,該編碼指示符在編碼針對該幀的視頻圖像數據時被禁用,以及第三幀,對于其來說,(例如,經更新的一組)編碼指示符在編碼針對該幀的視頻圖像數據時被啟用,并且包括用于該幀的各組塊的(非默認)編碼指示符。
在這個實施方式中,該方法包括以下步驟(并且該裝置被構造成),針對經編碼的視頻圖像數據的三個連續(xù)幀的序列:
解析針對第一幀的經編碼的視頻圖像數據,以針對第一幀已經出于編碼目的而劃分成的各組塊,從該數據得到針對該組塊的編碼指示符;
提供從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符以供用于解碼用于第一幀的經編碼的視頻圖像數據,以提供用于第一幀的輸出視頻圖像數據;
反饋從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符,以供在對該比特流中編碼的第二幀的經編碼的視頻圖像數據進行解析時使用;
解析針對第二幀的經編碼的視頻圖像數據,并且提供從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符以供用于解碼用于第二幀的經編碼的視頻圖像數據,以提供用于第二幀的輸出視頻圖像數據;
反饋從用于第一幀的經編碼的視頻圖像數據得到的編碼指示符,以供在對該比特流中編碼的第三幀的經編碼的視頻圖像數據進行解析時使用;
解析針對第三幀的經編碼的視頻圖像數據,以針對第三幀已經出于編碼目的而劃分成的各組塊,從該數據得到針對該組塊的編碼指示符;以及
提供從用于第三幀的經編碼的視頻圖像數據得到的編碼信息以供用于解碼用于第三幀的經編碼的視頻圖像數據,以提供用于第三幀的輸出視頻圖像數據(并且優(yōu)選地,反饋從用于第三幀的經編碼的視頻圖像數據得到的編碼指示符,以供在對該比特流中編碼的下一幀的經編碼的視頻圖像數據進行解析時使用)。
在該示例中,可以看出,針對第一幀的編碼指示符被反饋至解析級(由于該編碼指示符已針對第二幀被禁用)直到在包括一組(非默認)編碼指示符的比特流(即,第三幀)中接收到經編碼的視頻圖像數據的幀為止。當接收到這樣的幀(第三幀)時,被提供用于對經編碼的視頻圖像數據進行解碼(然后被反饋以解析后續(xù)幀)的編碼指示符接著成為隨后(即,第三)幀的該組編碼指示符。
盡管上面具體參照解碼視頻數據對本發(fā)明進行了描述,但本申請人已經認識到,在經編碼的視頻圖像數據時,也可以使用本發(fā)明的技術。
由此,當從本發(fā)明的第三方面看時,提供了一種用于對視頻數據幀序列中的幀進行編碼的方法,該視頻數據幀序列以表示所述視頻數據幀序列的視頻圖像數據的比特流來提供,該方法包括以下步驟:
針對視頻圖像數據的所述比特流所表示的幀:
處理用于所述幀的所述視頻圖像數據,以出于編碼目的而將視頻幀劃分成多個組塊,并且針對視頻幀已經出于編碼目的而劃分成的各組塊得到一組編碼信息;
提供針對用于所述幀的所述視頻圖像數據得到的所述編碼信息,以供用于對用于所述幀的所述視頻圖像數據進行編碼以提供用于所述幀的輸出的經編碼的視頻圖像數據;以及
反饋用于所述幀的編碼信息以供當處理所述比特流中的所述幀序列中的下一幀的所述視頻圖像數據時使用;
其中:
反饋用于所述幀的所述編碼信息的步驟包括:
反饋用于所述視頻幀已經出于編碼目的而劃分成的各數據組塊的至少編碼指示符;其中:
反饋用于所述幀的組塊的編碼指示符的步驟包括:
在當對用于所述幀的所述視頻圖像數據進行處理時用于所述幀的所述組塊的所述編碼指示符被禁用的情況下,針對所述幀的所述組塊,反饋用于所述視頻幀序列中的先前幀的所得到的編碼指示符。
當從本發(fā)明的第四方面看時,提供了一種用于對視頻數據幀序列中的幀進行編碼的裝置,該視頻數據幀序列以表示所述視頻數據幀序列的視頻圖像數據的比特流來提供,該裝置包括:
處理電路,該處理電路被構造成接收視頻圖像數據的比特流;
分析處理電路,該分析處理電路被構造成針對視頻圖像數據的比特流所表示的幀:
處理用于所述幀的所述視頻圖像數據,以出于編碼目的而將視頻幀劃分成多個組塊,并且針對所述視頻幀已經出于編碼目的而劃分成的各組塊得到一組編碼信息;
以及
提供針對用于所述幀的所述視頻圖像數據得到的所述編碼信息,以供用于對用于所述幀的所述視頻圖像數據進行編碼以提供用于所述幀的輸出的經編碼的視頻圖像數據;
以及
反饋電路,該反饋電路被構造成向所述分析處理電路反饋用于幀的編碼信息以供當處理所接收的比特流中的所述幀序列中的下一幀的所述視頻圖像數據時使用;
其中:
所述反饋電路被構造成通過以下來反饋用于幀的所述編碼信息:
反饋用于所述視頻幀已經出于編碼目的而劃分成的各數據組塊的至少編碼指示符;
以及所述反饋電路被構造成:
通過以下來反饋用于幀的組塊的編碼指示符:
在當對用于幀的所述視頻圖像數據進行處理時用于所述幀的所述組塊的所述編碼指示符被禁用的情況下,針對所述幀的所述組塊,反饋用于視頻幀序列中的先前幀的所得到的編碼指示符。
如本領域技術人員應當清楚,本發(fā)明的這些方面在適當時候可以并且優(yōu)選地包括在此討論的本發(fā)明的優(yōu)選和可選特征中的任一個或更多個或全部。
具體來說,優(yōu)選的是,該編碼處理對應地包括上面關于解碼處理所關注的優(yōu)選和可選特征。由此,例如,優(yōu)選的是,當在對用于幀的視頻圖像數據進行處理時啟用該編碼指示符并且針對該幀更新該編碼指示符時(并因此優(yōu)選地,處理用于幀的視頻圖像數據包括得到用于該幀的各組塊的編碼指示符,例如,具有針對具有不同值的至少兩個相應組塊的至少兩個編碼指示符),反饋用于該幀的組塊的編碼指示符包括反饋針對該幀的組塊的得到編碼指示符。
而且,優(yōu)選的是,當在對用于幀的視頻圖像數據進行處理時啟用該編碼指示符并且這些編碼指示符引用來自先前幀的編碼指示符時,反饋用于該幀的組塊的編碼指示符包括針對該幀的組塊,反饋針對視頻幀序列中的先前幀得到的編碼指示符。
而且,例如,針對要編碼的幀得到的該組編碼信息優(yōu)選地具有上面討論的形式。
對應地,該組編碼信息,例如,運動矢量值、組塊大小指示符和/或編碼指示符,優(yōu)選地被反饋和/或提供以供用于在單個數據流中經編碼的視頻圖像數據。
類似的是,至于該解碼方法和裝置,優(yōu)選地,設置存儲部并且用于存儲針對用于該幀的經編碼的視頻圖像數據得到的編碼信息(和任何附加編碼信息),以供用于編碼用于該幀的視頻圖像數據。
類似的是,在優(yōu)選實施方式中,被反饋以供在對該幀序列中的下一幀進行編碼時使用的編碼指示符優(yōu)選地包括任何更精細分辨率的編碼指示符信息(如上文關于解碼處理所關注的),其可以從已編碼的先前幀出現,例如,并且優(yōu)選地,按與上面關于解碼方法和裝置所關注的方式相同的方式。
處理視頻圖像數據以得到針對該幀的各組塊的一組編碼信息可以包括任何希望和合適的這種處理。在優(yōu)選實施方式中,其包括相對于基準幀執(zhí)行針對用于該幀的視頻圖像數據的運動估計,以針對該視頻幀已經出于編碼目的而劃分成的各組塊,得到針對該組塊的運動矢量值。
對應地,該分析處理電路優(yōu)選地包括運動估計電路,該運動估計電路被構造成,針對要編碼的視頻圖像數據的幀:相對于基準幀執(zhí)行針對用于該幀的視頻圖像數據的運動估計,以針對該視頻幀已經出于編碼目的而劃分成的各組塊,得到針對該組塊的運動矢量值。
被用于相對于被編碼的輸入視頻圖像數據的幀執(zhí)行運動估計的基準幀可以包括視頻圖像數據的任何合適和希望的幀。例如,對于要編碼的視頻圖像數據的所有(或至少多個)幀來說,該基準幀可以是同一(例如,靜態(tài))幀。優(yōu)選的是,該基準幀包括視頻圖像數據的該幀序列中的先前幀。
一旦已經從用于當前幀的輸入視頻圖像數據生成了該組編碼信息,那么優(yōu)選地,將針對當前和先前幀中的所述多個數據組塊的編碼信息(例如,運動矢量值、組塊大小指示符和/或編碼指示符)例如并且優(yōu)選地確實提供給編碼處理電路,以供用于對編碼用于當前幀的視頻圖像數據。優(yōu)選的是,該編碼處理包括熵或差分編碼器。優(yōu)選地,針對視頻圖像數據的該幀序列的經編碼的視頻圖像數據接著被優(yōu)選地作為視頻圖像數據的編碼流,而輸出至存儲部和/或用于傳送。
本發(fā)明可以在任何合適的視頻處理系統中實現,如適當配置的基于微處理器的系統。在實施方式中,本發(fā)明在計算機和/或基于微處理器的系統中實現。優(yōu)選的是,本發(fā)明在視頻解碼器、編碼器和/或處理器中實現(或者實現為視頻解碼器、編碼器和/或處理器)。
該系統可以包括任何合適和希望的組件或部件,以允許按本發(fā)明的方式進行操作,舉例來說,如用于渲染的渲染單元(例如從解碼處理電路向其提供輸出(解碼)視頻圖像數據)、從渲染單元向其提供渲染視頻幀的輸出部(例如,顯示器),以及存儲器,該存儲器用于存儲所需數據(如未編碼的視頻數據、隨后的經編碼的數據組塊以及隨后的輸出(解碼)視頻數據)。
如果已經生成經編碼的視頻圖像數據(例如,作為經編碼的數據的比特流),則可以根據需要處理以供將來使用,例如,通過適當地存儲和/或通過發(fā)送至用于解碼的解碼器(其優(yōu)選為本發(fā)明的用于解碼經編碼的視頻圖像數據的裝置)。接著,該解碼器可以例如根據本發(fā)明的解碼方法,隨后解碼經編碼的視頻數據。
本發(fā)明的各種功能可以按任何希望和合適方式來執(zhí)行。例如,本發(fā)明的功能可以如所希望地按硬件或軟件來實現。由此,例如,除非以其它方式指出,本發(fā)明的各種功能性部件、級,和“裝置”可以包括合適的處理器或多個處理器、控制器或多個控制器、功能性單元、電路、處理邏輯、微處理器方案等,其可操作以執(zhí)行各種功能等,如可以被編程成按希望方式操作的適當專用的硬件部件(處理電路)和/或可編程硬件部件(處理電路)。
在此,還應注意到,如本領域技術人員應當清楚,本發(fā)明的各種功能等可以在指定處理器上復制和/或并行執(zhí)行。等同地,若希望的話,各種處理級可以共用處理電路等。
針對必需執(zhí)行上述特定功能的任何硬件的主旨,該視頻處理器可以以其它方式包括視頻編碼器、解碼器,以及處理器包括的常見功能單元等中的任一個或更多個或全部。
本領域技術人員還應清楚,本發(fā)明的全部描述實施方式在合適時候,可以(并且在實施方式中)包括在此描述的特征中的任一個或更多個或全部。
根據本發(fā)明的方法可以至少部分地利用軟件(例如,計算機程序)來實現。由此,可以看到,當從本發(fā)明的另一些實施方式觀看時,提供當安裝在數據處理器上時具體適于執(zhí)行在此所描述的方法的計算機軟件,包括當在數據處理器上運行該程序部件時用于執(zhí)行在此所描述的方法的計算機軟件代碼的計算機程序部件,以及包括當在數據處理系統上運行該程序時適于執(zhí)行在此所描述的方法的或多個方法的全部步驟的代碼的計算機程序。該數據處理器可以是微處理器系統、可編程fpga(現場可編程門陣列)等。
本發(fā)明還擴展至包括這種軟件的計算機軟件載體,其在被用于操作包括數據處理器的圖形處理器、渲染器或微處理器系統時,使與所述數據處理器、所述處理器、渲染器或系統結合地執(zhí)行本發(fā)明的方法的步驟。這種計算機軟件載體可以是物理存儲介質,如rom芯片、cdrom、ram、閃速存儲器,或磁盤,或者可以是諸如通過導線的電子信號的信號、光學信號或諸如針對衛(wèi)星的無線電信號等。
還應清楚,不是本發(fā)明方法的所有步驟都需要通過計算機軟件來執(zhí)行,并由此,根據本發(fā)明的更廣泛實施方式提供安裝在計算機軟件載體上的、用于執(zhí)行在此闡述的方法的步驟中的至少一個步驟的計算機軟件和這種軟件。
因此,本發(fā)明的裝置可以適當地具體實施為供與計算機系統一起使用的計算機程序產品。這種實現可以包括在諸如計算機可讀介質(例如,軟盤、cdrom、rom、ram、閃速存儲器,或硬盤)的有形非暫時介質上固定的一系列計算機可讀指令。其還可以包括可通過有形介質(包括但不限于光學或模擬通信線路),或者利用無線技術(包括但不限于微波、紅外線或其他傳輸技術)無形地,經由調制解調器或其它接口裝置傳送至計算機系統的一系列計算機可讀指令。該系列計算機可讀指令具體實施先前在此描述的全部或部分功能。
本領域技術人員應當清楚,這種計算機可讀指令可以采用多個編程語言來編寫,以供隨多個計算機架構或操作系統一起使用。而且,這種指令可以利用當前或將來的任何存儲器技術來存儲,包括但不限于半導體、磁性,或光學,或者利用當前或將來的任何通信技術來傳送,包括但不限于光學、紅外線,或微波。設想的是,這種計算機程序產品可以分布為具有附隨打印或電子文檔(例如,收縮包裝軟件)的可去除介質,利用計算機系統預先加載(例如,預先加載在系統rom或固定盤上),或者通過網絡(例如,因特網或萬維網)從服務器或電子公告板分布。
附圖說明
下面,僅通過示例的方式并且參照附圖,對本發(fā)明的多個優(yōu)選實施方式進行描述,其中:
圖1示出了根據本發(fā)明實施方式的用于對經編碼的視頻圖像數據進行解碼的裝置的示意圖;
圖2示出了包含要在圖1和圖3所示裝置中的視頻圖像數據的編碼和解碼中使用的編碼指示符的段映射的示例;以及
圖3示出了根據本發(fā)明實施方式的用于對視頻圖像數據進行編碼的裝置的示意圖。
具體實施方式
在根據vp9編碼格式對視頻圖像數據進行編碼和解碼的背景下,對本發(fā)明的優(yōu)選實施方式進行描述。
在vp9編碼方案中,視頻圖像數據的各幀被劃分成該幀的多個矩形像素組塊,并且各組塊被單獨地編碼和解碼。指定數據組塊可以具有指向基準幀中的對應數據組塊的關聯運動矢量,和描述當前數據組塊中的數據與該基準幀中的數據之間的差異的殘差。
在vp9編碼中,視頻幀的組塊可以按多個不同方式編碼,尤其是根據針對一組可變編碼參數(其指定vp9編碼格式定義)為該組塊設置的值。該組編碼參數包括:跳過指示、量化參數、環(huán)路濾波器強度以及基準幀指示符。要被用于(和用于)針對組塊的該組編碼參數的該組值由用于該組塊的編碼指示符指示,稱作“段id”。當用于幀時,針對被編碼的各數據組塊提供段id,并且針對幀的組段id一起形成針對所關注的幀的所稱的“段映射”。
允許八個不同的段id,其中各不同的段id指示針對用于所關注的視頻幀塊的編碼參數的特定一組值。然而,一些幀可以在不引用針對所關注的幀的編碼參數的情況下被編碼,即,該編碼指示符在對用于這些幀的視頻圖像數據進行編碼時被禁用。針對這樣的幀,可以將幀id0(段id可以采用的8個不同值中的一個)指配為針對用于該幀的各組塊的段id的默認值,以指示該幀在編碼指示符被禁用的情況下被編碼。
而且,在vp9編碼中,針對任何指定幀,可以應用多個編碼或解碼模式中的一種,其確定針對該幀的視頻圖像數據是否利用一組編碼指示符來編碼或解碼(即,啟用編碼指示符,并因此生成(在編碼時)或提供(在解碼時)新的一組編碼指示符(即,段映射)用于所關注的幀,或者是否要將用于先前幀的編碼指示符(段映射)用于所關注的幀),或者是否在不利用一組編碼指示符的情況下對用于該幀的視頻圖像數據進行編碼或解碼(即,編碼指示符被禁用,并因此要針對所關注的幀生成/提供默認的一組編碼指示符(無段映射)(即,針對該幀禁用該段映射))。
該編碼模式或解碼模式在各幀的幀“報頭”中被指示為經編碼的視頻圖像數據的比特流的一部分。
首先,參照圖1和圖2,對vp9經編碼的視頻數據的幀序列的比特流的解碼進行描述。
圖1示出了根據本發(fā)明實施方式的用于對經編碼的視頻圖像數據(例如,如所描述利用圖3所示裝置編碼的)進行解碼的裝置101的示意圖。
裝置101包括解析單元102,其接收要解碼的經編碼的視頻圖像數據的比特流,該比特流包括用于多個幀的序列的經編碼的視頻圖像數據。該裝置101還包括緩沖器104,其從解析單元102接收針對各幀的組編碼信息。該緩沖器104還被構造成將針對該幀的該一組編碼信息反饋至解析單元102。
裝置101還包括渲染單元106,其從緩沖器104接收針對各幀的該組編碼信息。最后,裝置101包括幀緩沖器108,其從渲染單元106接收用于各幀的解碼視頻圖像數據(通常采用yuv格式),使得其可以被顯示。
下面,參照圖1,對根據該實施方式的用于解碼經編碼的視頻圖像數據的裝置101的操作進行描述。
在操作中,解析單元102接收表示視頻幀序列的經編碼的視頻圖像數據流。解析單元102讀取用于該序列中的指定幀n的經編碼的視頻圖像數據,并且從其生成一組編碼信息以供用于針對幀n的視頻圖像數據的后續(xù)解碼和渲染。該組編碼信息包括運動矢量,組塊大小和編碼指示符(其存在于針對所關注的幀的經編碼的視頻圖像數據中)。
將針對幀n的該組編碼信息寫入緩沖器104(設置在主存儲器中(例如,設置在直接隨機存取存儲器(dram)中)),以供臨時存儲。接著,將針對幀n的該組編碼信息提供給渲染單元106,該渲染單元利用針對幀n的該組編碼信息生成yuv圖像數據。接著,將針對幀n的yuv圖像數據發(fā)送至幀緩沖器108,例如用于顯示。
如圖1所示,針對幀n的該組編碼信息還從緩沖器104反饋至解析單元102,以使解析單元102能夠生成用于下一幀即幀n+1的編碼信息。
該組編碼信息作為單個數據流被反饋至解析單元102,其采用數據字的序列的形式,各數據字都包含用于該幀的組塊的相應編碼信息。針對該幀已經被劃分成的各組塊存在至少一個數據字,其中一些組塊潛在地具有附加數據字(如下面將進一步討論的)。
如下將進一步討論的,針對指定的經編碼的幀得到的編碼信息以及針對該幀反饋至解析單元的編碼信息,針對該幀已經出于編碼目的而劃分成的各組塊,將包括以下中的一個或更多個:組塊大小指示、運動矢量值,以及用于該組塊的編碼指示符(段id)。通過解析單元針對組塊得到這些值中的哪些值并且針對該組塊提供這些值尤其取決于在用于所關注的組塊的經編碼的比特流中編碼了什么信息。該操作將在下面進行更詳細地討論。
針對幀內的數據組塊的每條信息(例如,包括組塊大小、段id以及運動矢量)在針對各組塊的初始(例如,32位)數據字內被保留固定比特數。
根據本發(fā)明,針對從緩沖器104反饋至解析單元102以供用于生成針對下一幀n+1的該組編碼信息的一幀的該組編碼信息總是包括用于視頻圖像數據的該幀的一組編碼指示符(“段映射”)。即使針對該編碼圖像數據組塊的編碼指示符未在比特流中提供(其如上所述有時可能是這樣,取決于被用于經編碼的視頻圖像數據的模式),這也允許為視頻圖像數據的各幀提供一組編碼指示符(“段映射”)。
針對幀反饋至解析單元102的該組編碼指示符(段映射)取決于當前被解碼的該幀是否利用編碼參數進行編碼(并因此包括非默認段映射)。這種(編碼或解碼模式)在各幀的幀“報頭”中被指示為經編碼的視頻圖像數據的比特流的一部分。
當被解碼的編碼視頻圖象數據的幀在經更新段映射被啟用的情況下被編碼,并由此該編碼視頻圖象數據包括(非默認)段映射(即,包含至少兩個不同的段id)時,解析單元102解析經編碼的數據,并生成包括針對該幀的段映射的該組編碼信息,以提供給緩沖器104并且反饋至解析單元102。
當被解碼的經編碼的視頻圖像數據的幀具有其被禁用的段映射(即,使得經編碼的數據包括默認段映射)時,將針對該幀序列中的先前幀的段映射反饋給解析單元102。為此,解析單元102解析針對當前幀的數據,以生成用于當前幀的該組編碼信息,并接著在提供給緩沖器104的編碼信息中,隨該編碼信息一起包括針對先前幀的段映射(其已經從緩沖器104反饋至解析單元102,使得其可用于此目的)。
由于針對先前幀反饋給解析單元102的編碼信息包括來自先前幀的段映射,因而,這確保來自先前幀的段映射總是可用于引用先前幀中的段映射的經編碼的視頻圖像數據的幀。
圖2示出了在利用圖1所示的裝置解碼視頻圖像數據時,針對示例性視頻幀序列的所反饋編碼信息數據流的示例,包括段id(編碼指示符)。
圖2示出了視頻圖像數據的三個示例性幀50、70、80(幀0、幀1、幀2),連同編碼信息數據90、91、92一起,其被反饋以供在針對該例示幀序列來解析該序列中的下一幀時使用。
如圖2所示,各幀被分成多個方形數據組塊,并且最小允許數據組塊是8×8像素。各塊還具有關聯段id(編碼指示符)。
按光柵掃描次序,幀0包括具有編碼指示符(段id)0的32×32組塊51,具有編碼指示符3的16×16組塊52,具有編碼指示符3的另一個16×16組塊53,具有編碼指示符0的8×8組塊54,具有編碼指示符1的8×8組塊55,具有編碼指示符1的另一8×8組塊56,具有編碼指示符2的8×8組塊57,具有編碼指示符3的16×16組塊58,具有編碼指示符1的8×8組塊59,具有編碼指示符0的8×8組塊60,具有編碼指示符2的8×8組塊61,具有編碼指示符1的8×8組塊62。
(圖2中所示的幀大小被限制僅用于解釋的目的;在現實中,視頻圖像數據的幀可能要大得多。而且,編碼指示符(段id)已經被限制成0與3之間的值;在vp9中,編碼指示符(段id)從0進行至7)。
作為第一幀50,幀0(其在經更新的分段映射啟用的情況下被編碼)包括針對該幀的各組塊的段id(以及在幀50的組塊的至少兩個不同的段id),針對該第一幀(幀0)反饋的數據流90針對該幀中的各組塊,包括針對該組塊的組塊大小指示和段id。由此,如圖2所示,針對該幀反饋至解析單元102的數據流包括包含以下編碼信息的數據字流:
32×32組塊,段id0,16×16組塊,段id3,16×16組塊,段id3,8×8組塊,段id0,8×8組塊,段id1,8×8組塊,段id1,8×8組塊,段id0,8×8組塊,段id1,8×8組塊,段id2,8×8組塊,段id2,8×8組塊,段id1,16×16組塊,段id3
如圖2所示,該序列中的下一幀70(幀1)具有被禁用的段映射特征,即,在針對該幀的經編碼的視頻圖像數據的比特流中攜帶默認的一組段id(編碼指示符)并由此,針對用于幀1中的各組塊的編碼指示符(段id)設置默認值0。然而,來自幀0的組塊大小在幀1中被保持。
在該示例中還假定,針對幀1中的各組塊,提供運動矢量(mv)值,其引用該序列中的第一幀(幀0)中的對應像素組塊(其因此將充當針對該視頻幀序列的基準幀)。(由于幀0是該序列(一組)幀中的第一幀,所以不針對幀0提供運動矢量,并由此,幀0能夠獨立地解碼,而不引用另一幀(即,幀0是“幀內”或“關鍵”幀))。
因此,在這種情況下,作為來自幀1的編碼信息被反饋至解析單元102的數據流中的數據91針對幀1的各組塊,包括組塊大小指示和運動矢量值,如圖2所示。
然而,如還在圖2中示出,除了從針對幀1的經編碼的視頻數據得到的這些值之外,來自針對幀0中的對應組塊的段id被另外針對幀1中的對應組塊而反饋(因此,在幀1的該組編碼信息中提供針對幀0的段映射信息)。
由此,如圖2所示,針對幀1反饋至解析單元102的數據流包括以下信息:
32×32組塊,段id0+mv,16×16組塊,段id3+mv,16×16組塊,段id3+mv,8×8組塊,段id0+mv,8×8組塊,段id1+mv,8×8組塊,段id1+mv,8×8組塊,段id0+mv,8×8組塊,段id1+mv,8×8組塊,段id2+mv,8×8組塊,段id2+mv,8×8組塊,段id1+mv,16×16組塊,段id3+mv
如可以看出,針對幀1反饋的段id與針對幀0提供的段id相同,但針對幀1的反饋編碼信息還包括表示幀0與1之間的像素組塊的移動的運動矢量值。盡管針對幀1反饋的段id與針對幀0提供的段id相同,但將默認的該組段id(對于該幀中的所有組塊來說,等于0)提供給解碼級,以指示該幀的組塊在不利用段id(并因此也不利用編碼參數)的情況下被編碼,并由此不需要任何段id(及其關聯編碼參數),來對用于該幀的經編碼的視頻圖像數據進行解碼。
接著,假定該序列中的下一個幀80(幀2)被構造成編碼模式,其中,將使用該幀序列中的先前段映射(其在這種情況下是第一幀(幀0)的段映射)。然而,如可以看出,幀2中的組塊大小已經相對于幀0和1中的組塊大小改變。
因此,在這種情況下,針對幀2中的各組塊,選擇針對要使用其段映射的幀(因此針對幀0)中的組塊的段id(編碼指示符)的最小值作為編碼指示符,以供用于幀2中的組塊。
由此,如圖2所示,按光柵掃描次序,幀2包括其編碼指示符(段id)被構造成0的16×16組塊81,其編碼指示符被構造成0的另一16×16組塊82,其編碼指示符被構造成3的16×16組塊83,其編碼指示符被構造成0的16×16組塊84,其編碼指示符被構造成0的另一16×16組塊85,其編碼指示符被構造成3的16×16組塊86,其編碼指示符被構造成0的16×16組塊87,其編碼指示符被構造成1的16×16組塊88,以及其編碼指示符被構造成3的16×16組塊89。
在該示例中還假定,針對幀2中的各組塊,提供運動矢量(mv)值,其引用該序列中的第二幀70(幀1)中的對應像素組塊,
因此,在這種情況下,作為來自幀2的編碼信息被反饋至解析單元102的數據流中的數據92針對幀2的各組塊,包括組塊大小指示和運動矢量值,如圖2所示。
然而,如還在圖2中示出,除了從針對幀2的經編碼的視頻數據得到的這些值之外,從幀0中的對應組塊中選擇的段id另外針對幀2中的對應組塊被反饋。
除此以外,如圖2所示,其中,幀2中的組塊包含從其獲取編碼指示符(段id)的先前幀(幀0)中的多個塊,針對幀2反饋的數據流另外包括針對該組塊的編碼指示符,其具有相對于從其獲取段id(段映射)的先前幀(在這種情況下為幀0)更精細的分辨率。
由此,例如,針對具有段id0的幀2的16×16組塊87,針對形成幀2中的16×16組塊87的、來自幀0的對應四個8×8組塊54、55、59、60的段id也在針對幀2的反饋的該組編碼信息中提供(作為“映射(0、1、1、0)”)。類似的是,針對具有段id1的16×16組塊88,針對來自幀0的對應四個8×8組塊56、57、61、62的段id也在針對幀2的反饋的該組編碼信息中提供(作為“映射(1、2、2、1)”)。接著,這允許后續(xù)幀,其具有按該更精細分辨率的對應塊,以使用這些更精細分辨率的編碼指示符。
由此,如圖2所示,針對幀2反饋至解析單元102的數據流包括以下信息:
16×16組塊,段id0+mv,16×16組塊,段id0+mv,16×16組塊,段id0+mv,16×16組塊,段id0+mv,16×16組塊,段id3+mv,16×16組塊,段id3+mv,16×16組塊,段id0+mv+映射(0、1、1、0),16×16組塊,段id1+mv+映射(1、2、2、1),16×16組塊,段id3+mv
通過在針對所關注的組塊的數據流中包括一個或更多個附加數據字,在該數據流中傳送用于一組塊的附加的、更精細分辨率的段id信息。盡管在該示例中未示出,但如果針對多個組塊的更精細分辨率的段id信息都具有相同的段id值,則可能沒有必要在該數據流中攜帶更精細分辨率的段id信息,例如,對于具有相同段id值的所有組塊來說,該數據流可以僅包括段id一次。
這些附加數據字的存在通過在針對所關注的組塊的數據流中的初始數據字中設置一標志來指示(該初始數據字尤其還包括組塊大小指示、運動矢量值(如果有的話)以及要用于該組塊的段id)。
在本實施方式中,假定使用32位數據字、8×8像素的最小組塊大小以及0-7的段id值,在該數據流中使用附加數據字被配置如下。
如果當前組塊的大小小于32×32像素,則該組塊包含至多8個8×8像素組塊,并因此使用如下配置的單個附加數據字:
seg[k]值是當前組塊內的按光柵掃描次序的8×8像素組塊k的段id。
如果當前塊的大小為32x32像素或更大,則使用針對當前組塊內按光柵掃描次序的各32×16像素組塊的具有4位的附加報頭數據字,其后跟隨多達八個附加數據字,如下:
如果報頭數據字中的hdr[k]處于0-7的范圍內,則32×16像素組塊編號k的所有子組塊具有該段id。
另一方面,如果hdr[k]等于8,則32×16像素組塊編號k在其內具有不同的段id。在這種情況下,如上所示針對小于32×32像素組塊大小配置的另一附加數據字ext[k]被用于給出針對包含在所關注的32×16像素組塊中的八個8×8像素組塊的段映射。
當然,其它方案也是可以的。
下面,參照圖3,對根據本發(fā)明實施方式的對視頻圖像數據幀的序列的編碼進行描述。該編碼處理基本上按與上述解碼處理相對應的方式來操作。
圖3示出了根據本發(fā)明實施方式的、用于對視頻圖像數據進行編碼的裝置1的示意圖。
裝置1包括分析單元2,其接收要編碼的視頻圖像數據的比特流,該比特流包括視頻圖像數據的多個幀的序列。裝置1還包括緩沖器4(在主存儲器中),其針對各幀從分析單元2接收一組編碼信息。該緩沖器4還被構造成將用于該幀的該組編碼信息反饋至分析單元2。最后,裝置1包括編碼器6,其從針對當前幀和先前幀的緩沖器接收多組編碼信息,并輸出經編碼的視頻圖像數據的經編碼的比特流。
下面,參照圖3,對根據本實施方式的用于經編碼的視頻圖像數據的裝置1的操作進行描述。
在操作中,分析單元2接收包括連續(xù)視頻數據幀的視頻圖像數據流。分析單元2分析這些幀中的視頻圖像數據,將該幀劃分成用于編碼目的的組塊,并且生成用于后續(xù)編碼針對各幀的各組塊的視頻圖像數據的一組編碼信息。該分析例如包括針對該幀的組塊執(zhí)行運動估計。
由分析單元2針對幀的組塊生成的該組編碼信息包括運動矢量、組塊大小以及編碼指示符中的一個或更多個。
針對幀n的該組編碼信息被寫入緩沖器4,用于臨時存儲。這時,緩沖器4還包含針對幀n-1的該組編碼信息。接著,將針對幀n-1和幀n的該組編碼信息轉發(fā)至編碼器6,其使用該數據根據vp9標準對幀n進行編碼。
經編碼的比特流(即,針對一幀序列的經編碼的視頻圖像數據流)從編碼器6輸出,例如,用于發(fā)送。
如圖3所示,針對幀n的該組編碼信息也從緩沖器4反饋至分析單元2,以供分析單元2在生成針對下一幀(幀n+1)的編碼信息時使用。
如在上面討論的解碼情況中,該組編碼信息作為單個數據流被反饋至分析單元2,采用數據字序列的形式,各數據字都包含用于該幀的組塊的相應編碼信息。針對該幀已經被劃分成的各組塊存在至少一個數據字,其中一些組塊潛在地具有附加數據字(如上所述)。利用上面討論的用于解碼操作的格式來反饋編碼信息。
針對指定幀得到的編碼信息和針對幀反饋至分析單元的編碼信息,針對該幀已經出于編碼目的而劃分成的各組塊,將包括以下中的一個或更多個:組塊大小指示、運動矢量值,以及用于該組塊的編碼指示符(段id)。通過分析單元針對組塊得到這些值中的哪些值并且針對該組塊提供這些值尤其依賴于該分析單元怎樣決定編碼所關注的組塊。
根據本發(fā)明,針對從緩沖器4反饋至分析單元2以供在生成針對下一幀n+1的該組編碼信息時使用的一幀的該組編碼信息總是包括用于視頻圖像數據的該幀的一組編碼指示符(“段映射”)。即使在編碼該視頻圖像數據幀(并且因此編碼默認的一組編碼指示符)時,針對所關注的幀的組塊禁用編碼指示符,這也允許為視頻圖像數據的各幀提供一組編碼指示符(“段映射”)。
針對幀反饋至分析單元2的該組編碼指示符(段映射)取決于是否針對當前被編碼的該幀生成(非默認)段映射,即,針對所關注的幀的組塊是否禁用編碼指示符,以及針對當前被編碼的幀是否引用針對先前幀的段映射,例如,是否出于編碼的目的而提供更新的段映射。
當針對當前幀生成(例如,經更新的)段映射時,該段映射被反饋至分析單元102。
當編碼指示符被禁用并且針對當前幀生成默認段映射時,將針對該幀序列中的先前幀的段映射反饋至分析單元2。為此,分析單元2在提供給緩沖器104的編碼信息中,隨其針對當前幀而生成的該組編碼信息一起包括針對先前幀的段映射(其已經從緩沖器4反饋至分析單元2,使得其可用于此目的)。
當針對當前被編碼的幀引用針對先前幀的段映射時,將針對該幀序列中的先前幀的段映射反饋至分析單元2。為此,分析單元2在提供給緩沖器104的編碼信息中,隨其針對當前幀而生成的該組編碼信息一起包括針對先前幀的段映射(其已經從緩沖器4反饋至分析單元2,使得其可用于此目的)。
從上述可以看出,本發(fā)明的方法和裝置針對在解析/分析級可用的各幀反饋編碼指示符(段id)。這有助于確保即使在編碼指示符(段id)可能不呈現為用于幀的經編碼的視頻圖像數據的一部分的情況下,用于幀的組塊的一組編碼指示符也可用于在需要時使用,而不管針對一幀的經編碼的視頻圖像數據中存不存在編碼指示符。