專利名稱:用大宏塊進(jìn)行視頻譯碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻譯碼,且更特定來(lái)說(shuō),涉及基于塊的視頻譯碼。
背景技術(shù):
可將數(shù)字視頻能力并入較廣范圍的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無(wú)線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式或衛(wèi)星無(wú)線電電話等。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如由 MPEG-2、MPEG-4、ITU-T H. 263 或 ITU-T H. 264/MPEG-4 第 10 部分高級(jí)視頻譯碼(AVC) 界定的標(biāo)準(zhǔn)和所述標(biāo)準(zhǔn)的擴(kuò)展部分中所描述的那些視頻壓縮技術(shù),以更有效地發(fā)射和接收數(shù)字視頻信息。視頻壓縮技術(shù)執(zhí)行空間預(yù)測(cè)和/或時(shí)間預(yù)測(cè)以減少或移除視頻序列中所固有的冗余。對(duì)于基于塊的視頻譯碼,可將一視頻幀或切片分割成若干宏塊??蛇M(jìn)一步分割每一宏塊。使用關(guān)于相鄰宏塊的空間預(yù)測(cè)編碼經(jīng)幀內(nèi)譯碼的(I)幀或切片中的宏塊。經(jīng)幀間譯碼的(P或B)幀或切片中的宏塊可使用關(guān)于同一幀或切片中的相鄰宏塊的空間預(yù)測(cè)或關(guān)于其它參考幀的時(shí)間預(yù)測(cè)。
發(fā)明內(nèi)容
一般來(lái)說(shuō),本發(fā)明描述用于使用大宏塊編碼數(shù)字視頻數(shù)據(jù)的技術(shù)。大宏塊大于一般由現(xiàn)有視頻編碼標(biāo)準(zhǔn)規(guī)定的宏塊。大多數(shù)視頻編碼標(biāo)準(zhǔn)規(guī)定使用16X16像素陣列的形式的宏塊。根據(jù)本發(fā)明,編碼器和解碼器可利用大小大于16X 16像素的大宏塊。作為實(shí)例, 大宏塊可具有32 X 32、64 X 64或更大的像素陣列。視頻編碼依賴于空間和/或時(shí)間冗余來(lái)支持視頻數(shù)據(jù)的壓縮。以較高空間分辨率和/或較高幀速率產(chǎn)生的視頻幀可支持較多冗余。如本發(fā)明中所描述,使用大宏塊可準(zhǔn)許視頻譯碼技術(shù)利用隨著空間分辨率和/或幀速率增加而產(chǎn)生的較大冗余度。根據(jù)本發(fā)明, 視頻譯碼技術(shù)可利用多種特征來(lái)支持對(duì)大宏塊的譯碼。如本發(fā)明中所描述,大宏塊譯碼技術(shù)可將大宏塊分割成若干分區(qū),且針對(duì)選定分區(qū)使用不同分區(qū)大小和不同譯碼模式(例如,不同的空間(I)模式或時(shí)間(P或B)模式)。 作為另一實(shí)例,一種譯碼技術(shù)可利用分層經(jīng)譯碼塊模式(coded block pattern, CBP)值來(lái)有效地識(shí)別大宏塊內(nèi)的具有非零系數(shù)的經(jīng)譯碼的宏塊和分區(qū)。作為另一實(shí)例, 一種譯碼技術(shù)可比較通過(guò)使用大宏塊與小的宏塊進(jìn)行譯碼而產(chǎn)生的速率-失真量度以選擇產(chǎn)生更有利的結(jié)果的宏塊大小。在一個(gè)實(shí)例中,本發(fā)明提供一種方法,其包含用視頻編碼器編碼具有大于 16X16像素的大小的視頻塊;產(chǎn)生指示所述塊的所述大小的塊類(lèi)型語(yǔ)法信息;以及產(chǎn)生用于所述經(jīng)編碼塊的經(jīng)譯碼塊模式值,其中所述經(jīng)譯碼塊模式值指示所述經(jīng)編碼塊是否包括至少一個(gè)非零系數(shù)。在另一實(shí)例中,本發(fā)明提供一種設(shè)備,其包含視頻編碼器,所述視頻編碼器經(jīng)配置以編碼具有大于16X16像素的大小的視頻塊;產(chǎn)生指示所述塊的所述大小的塊類(lèi)型語(yǔ)法信息;以及產(chǎn)生用于所述經(jīng)編碼塊的經(jīng)譯碼塊模式值,其中所述經(jīng)譯碼塊模式值指示所述經(jīng)編碼塊是否包括至少一個(gè)非零系數(shù)。在另一實(shí)例中,本發(fā)明提供一種計(jì)算機(jī)可讀媒體,其經(jīng)編碼有用于致使視頻編碼設(shè)備執(zhí)行以下操作的指令用視頻編碼器編碼具有大于16X16像素的大小的視頻塊;產(chǎn)生指示所述塊的所述大小的塊類(lèi)型語(yǔ)法信息;以及產(chǎn)生用于所述經(jīng)編碼塊的經(jīng)譯碼塊模式值,其中所述經(jīng)譯碼塊模式值指示所述經(jīng)編碼塊是否包括至少一個(gè)非零系數(shù)。在一額外實(shí)例中,本發(fā)明提供一種方法,其包含用視頻解碼器接收具有大于 16X 16像素的大小的經(jīng)編碼視頻塊;接收指示所述經(jīng)編碼塊的所述大小的塊類(lèi)型語(yǔ)法信息;接收用于所述經(jīng)編碼塊的經(jīng)譯碼塊模式值,其中所述經(jīng)譯碼塊模式值指示所述經(jīng)編碼塊是否包括至少一個(gè)非零系數(shù);以及基于所述塊類(lèi)型語(yǔ)法信息和用于所述經(jīng)編碼塊的所述經(jīng)譯碼塊模式值來(lái)解碼所述經(jīng)編碼塊。在另一實(shí)例中,本發(fā)明提供一種設(shè)備,其包含視頻解碼器,所述視頻解碼器經(jīng)配置以接收具有大于16X16像素的大小的經(jīng)編碼視頻塊;接收指示所述經(jīng)編碼塊的所述大小的塊類(lèi)型語(yǔ)法信息;接收用于所述經(jīng)編碼塊的經(jīng)譯碼塊模式值,其中所述經(jīng)譯碼塊模式值指示所述經(jīng)編碼塊是否包括至少一個(gè)非零系數(shù);以及基于所述塊類(lèi)型語(yǔ)法信息和用于所述經(jīng)編碼塊的所述經(jīng)譯碼塊模式值來(lái)解碼所述經(jīng)編碼塊。在另一實(shí)例中,本發(fā)明提供一種計(jì)算機(jī)可讀媒體,其包含用以致使視頻解碼器執(zhí)行以下操作的指令接收具有大于16X 16像素的大小的經(jīng)編碼視頻塊;接收指示所述經(jīng)編碼塊的所述大小的塊類(lèi)型語(yǔ)法信息;接收用于所述經(jīng)編碼塊的經(jīng)譯碼塊模式值,其中所述經(jīng)譯碼塊模式值指示所述經(jīng)編碼塊是否包括至少一個(gè)非零系數(shù);以及基于所述塊類(lèi)型語(yǔ)法信息和用于所述經(jīng)編碼塊的所述經(jīng)譯碼塊模式值來(lái)解碼所述經(jīng)編碼塊。在另一實(shí)例中,本發(fā)明提供一種方法,其包含用視頻編碼器接收具有大于 16X16像素的大小的視頻塊;將所述塊分割成若干分區(qū);使用第一編碼模式編碼所述分區(qū)中的一者;使用不同于所述第一編碼模式的第二編碼模式編碼所述分區(qū)中的另一者;以及產(chǎn)生指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息。在一額外實(shí)例中,本發(fā)明提供一種設(shè)備,其包含視頻編碼器,所述視頻編碼器經(jīng)配置以接收具有大于16X16像素的大小的視頻塊;將所述塊分割成若干分區(qū);使用第一編碼模式編碼所述分區(qū)中的一者;使用不同于所述第一編碼模式的第二編碼模式編碼所述分區(qū)中的另一者;產(chǎn)生指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息。
在另一實(shí)例中,本發(fā)明提供一種計(jì)算機(jī)可讀媒體,其經(jīng)編碼有用以致使視頻編碼器執(zhí)行以下操作的指令接收具有大于16X 16像素的大小的視頻塊;將所述塊分割成若干分區(qū);使用第一編碼模式編碼所述分區(qū)中的一者;使用不同于所述第一編碼模式的第二編碼模式編碼所述分區(qū)中的另一者;以及產(chǎn)生指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息。在另一實(shí)例中,本發(fā)明提供一種方法,其包含用視頻解碼器接收具有大于 16X16像素的大小的視頻塊,其中將所述塊分割成若干分區(qū),使用第一編碼模式編碼所述分區(qū)中的一者且使用不同于所述第一編碼模式的第二編碼模式編碼所述分區(qū)中的另一者; 接收指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息;以及基于所述塊類(lèi)型語(yǔ)法信息來(lái)解碼所述視頻塊。在另一實(shí)例中,本發(fā)明提供一種設(shè)備,其包含視頻解碼器,所述視頻解碼器經(jīng)配置以接收具有大于16X16像素的大小的視頻塊,其中所述塊經(jīng)分割成若干分區(qū),所述分區(qū)中的一者是使用第一編碼模式而被編碼且所述分區(qū)中的另一者是使用一不同于所述第一編碼模式的第二編碼模式而被編碼;接收指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息;以及基于所述塊類(lèi)型語(yǔ)法信息來(lái)解碼所述視頻塊。在一額外實(shí)例中,本發(fā)明提供一種計(jì)算機(jī)可讀媒體,其經(jīng)編碼有用以致使視頻解碼器執(zhí)行以下操作的指令用視頻解碼器接收具有大于16X16像素的大小的視頻塊,其中所述塊經(jīng)分割成若干分區(qū),所述分區(qū)中的一者是使用第一編碼模式而被編碼且所述分區(qū)中的另一者是使用不同于所述第一編碼模式的第二編碼模式而被編碼;接收指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息;以及基于所述塊類(lèi)型語(yǔ)法信息來(lái)解碼所述視頻塊。在另一實(shí)例中,本發(fā)明提供一種方法,其包含用數(shù)字視頻編碼器接收視頻譯碼單元;確定使用具有16X16像素的大小的第一視頻塊編碼所述視頻譯碼單元的第一速率-失真量度;確定使用具有大于16X16像素的大小的第二視頻塊編碼所述視頻譯碼單元的第二速率_失真量度,在所述第一速率_失真量度小于第二速率_失真量度時(shí)使用所述第一視頻塊來(lái)編碼所述視頻譯碼單元;以及在所述第二速率_失真量度小于所述第一速率_失真量度時(shí)使用所述第二視頻塊來(lái)編碼所述視頻譯碼單元。在一額外實(shí)例中,本發(fā)明提供一種設(shè)備,其包含視頻編碼器,所述視頻編碼器經(jīng)配置以接收視頻譯碼單元;確定使用具有16X16像素的大小的第一視頻塊編碼所述視頻譯碼單元的第一速率-失真量度;確定使用具有大于16X16像素的大小的第二視頻塊編碼所述視頻譯碼單元的第二速率_失真量度;在所述第一速率_失真量度小于第二速率_失真量度時(shí)使用所述第一視頻塊來(lái)編碼所述視頻譯碼單元;在所述第二速率_失真量度小于所述第一速率_失真量度時(shí)使用所述第二視頻塊來(lái)編碼所述視頻譯碼單元。在另一實(shí)例中,本發(fā)明提供一種計(jì)算機(jī)可讀媒體,其經(jīng)編碼有用以致使視頻編碼器執(zhí)行以下操作的指令接收視頻譯碼單元;確定使用具有16X 16像素的大小的第一視頻塊編碼所述視頻譯碼單元的第一速率-失真量度;確定使用具有大于16X16像素的大小的第二視頻塊編碼所述視頻譯碼單元的第二速率_失真量度;在所述第一速率_失真量度小于第二速率_失真量度時(shí)使用所述第一視頻塊來(lái)編碼所述視頻譯碼單元;以及在所述第二速率_失真量度小于所述第一速率_失真量度時(shí)使用所述第二視頻塊來(lái)編碼所述視頻譯碼單元。在另一實(shí)例中,本發(fā)明提供一種方法,其包含用視頻編碼器編碼包含多個(gè)視頻塊的經(jīng)譯碼單元,其中所述多個(gè)視頻塊中的至少一者包含大于16X16像素的大?。灰约爱a(chǎn)生包括最大大小值的用于所述經(jīng)譯碼單元的語(yǔ)法信息,其中所述最大大小值指示所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的最大者的大小。在另一實(shí)例中,本發(fā)明提供一種設(shè)備,其包含視頻編碼器,所述視頻編碼器經(jīng)配置以編碼包含多個(gè)視頻塊的經(jīng)譯碼單元,其中所述多個(gè)視頻塊中的至少一者包含大于 16X16像素的大??;以及產(chǎn)生包括最大大小值的用于所述經(jīng)譯碼單元的語(yǔ)法信息,其中所述最大大小值指示所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的最大者的大小。在另一實(shí)例中,本發(fā)明提供一種設(shè)備,其包含包含以下裝置的設(shè)備用于編碼包含多個(gè)視頻塊的經(jīng)譯碼單元的裝置,其中所述多個(gè)視頻塊中的至少一者包含大于16X16像素的大小;以及用于產(chǎn)生包括最大大小值的用于所述經(jīng)譯碼單元的語(yǔ)法信息的裝置,其中所述最大大小值指示所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的最大者的大小。在另一實(shí)例中,本發(fā)明提供一種計(jì)算機(jī)可讀存儲(chǔ)媒體,其經(jīng)編碼有用以致使可編程處理器執(zhí)行以下操作的指令編碼包含多個(gè)視頻塊的經(jīng)譯碼單元,其中所述多個(gè)視頻塊中的至少一者包含大于16X16像素的大??;以及產(chǎn)生包括最大大小值的用于所述經(jīng)譯碼單元的語(yǔ)法信息,其中所述最大大小值指示所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的最大者的大小。在另一實(shí)例中,本發(fā)明提供一種方法,其包含用視頻解碼器接收包含多個(gè)視頻塊的經(jīng)譯碼單元,其中所述多個(gè)視頻塊中的至少一者包含大于16X16像素的大小;接收包括最大大小值的用于所述經(jīng)譯碼單元的語(yǔ)法信息,其中所述最大大小值指示所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的最大者的大?。桓鶕?jù)所述最大大小值選擇塊類(lèi)型語(yǔ)法解碼器;以及使用所述選定塊類(lèi)型語(yǔ)法解碼器解碼所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的每一者。在另一實(shí)例中,本發(fā)明提供一種設(shè)備,其包含視頻解碼器,所述視頻解碼器經(jīng)配置以接收包含多個(gè)視頻塊的經(jīng)譯碼單元,其中所述多個(gè)視頻塊中的至少一者包含大于 16X16像素的大?。唤邮瞻ㄗ畲蟠笮≈档挠糜谒鼋?jīng)譯碼單元的語(yǔ)法信息,其中所述最大大小值指示所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的最大者的大?。桓鶕?jù)所述最大大小值選擇塊類(lèi)型語(yǔ)法解碼器;以及使用所述選定塊類(lèi)型語(yǔ)法解碼器解碼所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的每一者。在另一實(shí)例中,本發(fā)明提供用于接收包含多個(gè)視頻塊的經(jīng)譯碼單元的裝置,其中所述多個(gè)視頻塊中的至少一者包含大于16X16像素的大??;用于接收包括最大大小值的用于所述經(jīng)譯碼單元的語(yǔ)法信息的裝置,其中所述最大大小值指示所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的最大者的大?。挥糜诟鶕?jù)所述最大大小值選擇塊類(lèi)型語(yǔ)法解碼器的裝置;以及用于使用所述選定塊類(lèi)型語(yǔ)法解碼器解碼所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的每一者的裝置。在另一實(shí)例中,本發(fā)明提供一種計(jì)算機(jī)可讀存儲(chǔ)媒體,其經(jīng)編碼有用于致使可編程處理器執(zhí)行以下操作的指令接收包含多個(gè)視頻塊的經(jīng)譯碼單元,其中所述多個(gè)視頻塊中的至少一者包含大于16X16像素的大??;接收包括最大大小值的用于所述經(jīng)譯碼單元的語(yǔ)法信息,其中所述最大大小值指示所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的最大者的大??;根據(jù)所述最大大小值選擇塊類(lèi)型語(yǔ)法解碼器;以及使用所述選定塊類(lèi)型語(yǔ)法解碼器解碼所述經(jīng)譯碼單元中的所述多個(gè)視頻塊中的每一者。在以下附圖和描述中闡述一個(gè)或一個(gè)以上實(shí)例的細(xì)節(jié)。將從所述描述和圖式并從權(quán)利要求書(shū)明白其它特征、目標(biāo)和優(yōu)點(diǎn)。
圖1為說(shuō)明使用大宏塊編碼和解碼數(shù)字視頻數(shù)據(jù)的實(shí)例視頻編碼和解碼系統(tǒng)的方框圖。圖2為說(shuō)明實(shí)施用于譯碼大宏塊的技術(shù)的視頻編碼器的一實(shí)例的方框圖。圖3為說(shuō)明實(shí)施用于譯碼大宏塊的技術(shù)的視頻解碼器的一實(shí)例的方框圖。圖4A為說(shuō)明在大宏塊的各種層級(jí)中的分割的概念圖。圖4B為說(shuō)明將不同譯碼模式指派到大宏塊的不同分區(qū)的概念圖。圖5為說(shuō)明大宏塊的各種層級(jí)的分層視圖的概念圖。圖6為說(shuō)明用于設(shè)定64X64像素的大宏塊的經(jīng)譯碼塊模式(CBP)值的實(shí)例方法的流程圖。圖7為說(shuō)明用于設(shè)定64X64像素的大宏塊的32X 32像素分區(qū)的CBP值的實(shí)例方法的流程圖。圖8為說(shuō)明用于設(shè)定64X64像素的大宏塊的32X32像素分區(qū)的16X16像素分區(qū)的CBP值的實(shí)例方法的流程圖。圖9為說(shuō)明用于確定二位lumaieX8_CBP值的實(shí)例方法的流程圖。圖10為說(shuō)明64X64像素的大宏塊的一實(shí)例布置的方框圖。圖11為說(shuō)明用于計(jì)算NXN像素的大視頻塊的最佳分割和編碼方法的實(shí)例方法的流程圖。圖12為說(shuō)明具有各種分區(qū)的實(shí)例64X64像素宏塊和用于每一分區(qū)的選定編碼方法的方框圖。圖13為說(shuō)明用于確定用于編碼視頻序列的幀的宏塊的最佳大小的實(shí)例方法的流程圖。圖14為說(shuō)明實(shí)例無(wú)線通信裝置的方框圖,所述無(wú)線通信裝置包括使用大宏塊編碼數(shù)字視頻數(shù)據(jù)的視頻編碼器/解碼器(CODEC)。圖15為說(shuō)明大宏塊的分層CBP表示的實(shí)例陣列表示的方框圖。圖16為說(shuō)明對(duì)應(yīng)于圖15的分層CBP表示的實(shí)例樹(shù)結(jié)構(gòu)的方框圖。圖17為說(shuō)明用于使用經(jīng)譯碼單元的語(yǔ)法信息來(lái)指示和選擇用于所述經(jīng)譯碼單元的視頻塊的基于塊的語(yǔ)法編碼器和解碼器的實(shí)例方法的流程圖。
具體實(shí)施例方式
本發(fā)明描述用于使用大宏塊編碼和解碼數(shù)字視頻數(shù)據(jù)的技術(shù)。大宏塊大于一般由現(xiàn)有視頻編碼標(biāo)準(zhǔn)規(guī)定的宏塊。大多數(shù)視頻編碼標(biāo)準(zhǔn)規(guī)定使用16X16像素陣列的形式的宏塊。根據(jù)本發(fā)明,編碼器和/或解碼器可利用大小大于16X16像素的大宏塊。作為實(shí)例, 大宏塊可具有32X32、64X64或可能更大的像素陣列。一般來(lái)說(shuō),如本文中所使用的術(shù)語(yǔ)“宏塊”可指代包含表達(dá)為NXN像素的經(jīng)界定大小的像素陣列的數(shù)據(jù)結(jié)構(gòu),其中N為正整數(shù)值。宏塊可界定四個(gè)亮度塊,每一亮度塊包含(Ν/2) X (N/2)像素的陣列;兩個(gè)色度塊,每一色度塊包含NXN像素的陣列;以及標(biāo)頭, 其包含宏塊類(lèi)型信息和經(jīng)譯碼塊模式(CBP)信息,如下文更詳細(xì)地論述。常規(guī)視頻譯碼標(biāo)準(zhǔn)通常規(guī)定經(jīng)界定的宏塊大小為16X 16像素陣列。根據(jù)本發(fā)明中所描述的各種技術(shù),宏塊可包含NXN像素陣列,其中N可大于16。同樣地,常規(guī)視頻譯碼標(biāo)準(zhǔn)規(guī)定經(jīng)幀間編碼的宏塊通常經(jīng)指派有單一運(yùn)動(dòng)向量。根據(jù)本發(fā)明中所描述的各種技術(shù),多個(gè)運(yùn)動(dòng)向量可經(jīng)指派有用于NXN宏塊的經(jīng)幀間編碼的分區(qū),如下文更詳細(xì)地描述。 對(duì)“大宏塊”或類(lèi)似短語(yǔ)的引用一般指代具有大于16X16的像素陣列的宏塊。在一些情況下,大宏塊可支持譯碼效率的改進(jìn)和/或數(shù)據(jù)發(fā)射開(kāi)銷(xiāo)的減少,同時(shí)維持或可能改進(jìn)圖像質(zhì)量。舉例來(lái)說(shuō),使用大宏塊可準(zhǔn)許視頻編碼器和/或解碼器利用以增加的空間分辨率(例如,每幀1280X 720或1920X 1080像素)和/或增加的幀速率(例如,每秒30幀或60幀)產(chǎn)生視頻數(shù)據(jù)所提供的增加的冗余。作為一說(shuō)明,具有每幀1280 X 720像素的空間分辨率和每秒60幀的幀速率的數(shù)字視頻序列在空間上比具有每幀176X 144像素的空間分辨率和每秒15幀的幀速率的數(shù)字視頻序列大36倍,且在時(shí)間上比具有每幀176X 144像素的空間分辨率和每秒15幀的幀速率的數(shù)字視頻序列快4倍。通過(guò)增加的宏塊大小,視頻編碼器和/或解碼器可更好地利用增加的空間和/或時(shí)間冗余來(lái)支持視頻數(shù)據(jù)的壓縮。而且,通過(guò)使用較大宏塊,針對(duì)給定幀或切片,可編碼較小數(shù)目個(gè)塊,從而減少需要發(fā)射的開(kāi)銷(xiāo)信息的量。換句話說(shuō),較大宏塊可準(zhǔn)許針對(duì)每一幀或切片譯碼的宏塊的總數(shù)目的減少。如果(例如)幀的空間分辨率增加4倍,則對(duì)于所述幀中的像素,將需要4倍的 16X16宏塊。在此實(shí)例中,在64X64宏塊的情況下,減少了處置增加的空間分辨率所需的宏塊的數(shù)目。在每一幀或切片的減少數(shù)目個(gè)宏塊的情況下,例如,可減少例如語(yǔ)法信息、運(yùn)動(dòng)向量數(shù)據(jù)等的譯碼信息的累積量。在本發(fā)明中,宏塊的大小一般指代宏塊中所含有的像素的數(shù)目,例如,64X64、 32X32、16X16等。因此,大宏塊(例如,64X64或32X32)可能在其含有比16X16宏塊的像素?cái)?shù)目大的數(shù)目個(gè)像素的意義上是大的。然而,由大宏塊的垂直和水平尺寸界定的空間區(qū)域(即,作為由視頻幀的垂直和水平尺寸界定的區(qū)域的部分)可大于或可不大于常規(guī) 16X16宏塊的區(qū)域。在一些實(shí)例中,大宏塊的區(qū)域可與常規(guī)的16X16宏塊相同或類(lèi)似。然而,大宏塊具有以宏塊內(nèi)的像素的較高數(shù)目和較高空間密度為特征的較高空間分辨率。可至少部分基于幀中的像素的數(shù)目(即,幀中的空間分辨率)來(lái)配置宏塊的大小。 如果幀具有較高數(shù)目個(gè)像素,則可將大宏塊配置為具有較高數(shù)目個(gè)像素。作為一說(shuō)明,視頻編碼器可經(jīng)配置以針對(duì)以每秒30幀顯示的1280X720像素幀而利用32X32像素宏塊。 作為另一說(shuō)明,視頻編碼器可經(jīng)配置以針對(duì)以每秒60幀顯示的1280X720像素幀而利用 64X64像素宏塊。由編碼器編碼的每一宏塊可能需要描述宏塊的一個(gè)或一個(gè)以上特性的數(shù)據(jù)。所述數(shù)據(jù)可指示(例如)用于表示宏塊的大小、分割宏塊的方式,和應(yīng)用于宏塊和/或其分區(qū)的譯碼模式(空間或時(shí)間)的宏塊類(lèi)型數(shù)據(jù)。另外,所述數(shù)據(jù)可包括運(yùn)動(dòng)向量差異(mvd)數(shù)據(jù)以及表示宏塊和/或其分區(qū)的運(yùn)動(dòng)向量信息的其它語(yǔ)法元素。而且,所述數(shù)據(jù)可包括經(jīng)譯碼塊模式(CBP)值以及表示預(yù)測(cè)后的殘余信息的其它語(yǔ)法元素。宏塊類(lèi)型數(shù)據(jù)可提供于大宏塊的單一宏塊標(biāo)頭中。如上文所提及,通過(guò) 利用大宏塊,編碼器可減少每一幀或切片的宏塊的數(shù)目,且借此減少針對(duì)每一幀或切片需要發(fā)射的凈開(kāi)銷(xiāo)的量。而且,通過(guò)利用大宏塊,針對(duì)特定幀或切片,宏塊的總數(shù)目可減小,此可減少向用戶顯示的視頻中的塊狀假影(blockyartifact)。本發(fā)明中所描述的視頻編碼技術(shù)可利用一個(gè)或一個(gè)以上特征來(lái)支持對(duì)大宏塊的譯碼。舉例來(lái)說(shuō),可將大宏塊分割成若干較小分區(qū)??蓪⒉煌g碼模式(例如,不同的空間 (I)或時(shí)間(P或B)譯碼模式)應(yīng)用于大宏塊內(nèi)的選定分區(qū)。而且,可利用分層經(jīng)譯碼塊模式(CBP)值來(lái)有效地識(shí)別具有表示殘余數(shù)據(jù)的非零變換系數(shù)的經(jīng)譯碼的宏塊和分區(qū)。另夕卜,可比較使用大宏塊大小與小宏塊大小進(jìn)行譯碼的速率_失真量度以選擇產(chǎn)生有利結(jié)果的宏塊大小。此外,包含變化大小的宏塊的經(jīng)譯碼單元(例如,幀、切片、序列,或圖片群組) 可包括指示所述經(jīng)譯碼單元中的最大宏塊的大小的語(yǔ)法元素。如下文更詳細(xì)地描述,大宏塊包含不同于標(biāo)準(zhǔn)的16X16像素塊的塊層級(jí)語(yǔ)法。因此,通過(guò)指示經(jīng)譯碼單元中的最大宏塊的大小,編碼器可向解碼器發(fā)信號(hào)通知將應(yīng)用于所述經(jīng)譯碼單元的宏塊的塊層級(jí)語(yǔ)法解碼器。針對(duì)大宏塊中的不同分區(qū)使用不同譯碼模式可被稱作大宏塊的混合模式譯碼。 代替均勻地譯碼大宏塊以使得所有分區(qū)具有相同的幀內(nèi)或幀間譯碼模式,可譯碼大宏塊以使得一些分區(qū)具有不同譯碼模式,例如不同的幀內(nèi)譯碼模式(例如,I_16X16、I_8X8、 I_4X4)或幀內(nèi)和幀間譯碼模式。如果將大宏塊劃分成兩個(gè)或兩個(gè)以上分區(qū),則(例如)可用第一模式譯碼至少一個(gè)分區(qū)且可用不同于所述第一模式的第二模式譯碼另一分區(qū)。在一些情況下,第一模式可為第一I模式且第二模式可為不同于所述第一I模式的第二I模式。在其它情況下,第一模式可為I模式且第二模式可為P或B模式。因此,在一些實(shí)例中,大宏塊可包括一個(gè)或一個(gè)以上在時(shí)間上(P或B)譯碼的分區(qū)和一個(gè)或一個(gè)以上在空間上(I)譯碼的分區(qū),或一個(gè)或一個(gè)以上具有不同I模式的在空間上譯碼的分區(qū)。一個(gè)或一個(gè)以上分層經(jīng)譯碼塊模式(CBP)值可用于有效地描述大宏塊中的任何分區(qū)是否具有至少一個(gè)非零變換系數(shù),且如果有,則描述哪些分區(qū)具有至少一個(gè)非零變換系數(shù)。變換系數(shù)編碼大宏塊的殘余數(shù)據(jù)。大宏塊層級(jí)CBP位指示大宏塊中的任何分區(qū)是否包括非零的、經(jīng)量化的系數(shù)。如果大宏塊中的任何分區(qū)不包括非零、經(jīng)量化的系數(shù),則不需要考慮所述分區(qū)中的任一者是否具有非零系數(shù),因?yàn)橐阎麄€(gè)大宏塊不具有非零系數(shù)。在此情況下,可使用預(yù)測(cè)宏塊來(lái)解碼不具有殘余數(shù)據(jù)的宏塊?;蛘?,如果宏塊層級(jí)CBP值指示大宏塊中的至少一個(gè)分區(qū)具有非零系數(shù),則可分析分區(qū)層級(jí)CBP值以識(shí)別所述分區(qū)中的哪一者包括至少一個(gè)非零系數(shù)。解碼器接著可檢索具有至少一個(gè)非零系數(shù)的分區(qū)的適當(dāng)殘余數(shù)據(jù),且使用所述殘余數(shù)據(jù)和預(yù)測(cè)塊數(shù)據(jù)解碼所述分區(qū)。在一些情況下,一個(gè)或一個(gè)以上分區(qū)可具有非零系數(shù),且因此包括具有適當(dāng)指示的分區(qū)層級(jí)CBP值。大宏塊與所述分區(qū)中的至少一些分區(qū)均可大于16X16像素。為了選擇產(chǎn)生有利速率-失真量度的宏塊大小,可針對(duì)大宏塊(例如,32X32或64X64)與小宏塊(例如,16X16)兩者分析速率-失真量度。舉例來(lái)說(shuō),編碼器可比較經(jīng)譯碼單元(例如,幀或切片)的16X16宏塊、32X32宏塊與64X64宏塊之間的速率-失真量度。編碼器可接著選擇產(chǎn)生最好的速率_失真的宏塊大小,且使用所述選定宏塊大小 (即,具有最好的速率_失真的宏塊大小)編碼所述經(jīng)譯碼單元。所述選擇可基于在三個(gè)或三個(gè)以上遍次(例如,使用16X16像素宏塊的第一遍次、使用32X32像素宏塊的第二遍次,和使用64X64像素宏塊的第三遍次)中編碼幀或切片,和比較每一遍次的速率-失真量度。以此方式,編碼器可通過(guò)改變宏塊大小并選擇產(chǎn)生給定譯碼單元(例如,切片或幀)的最好的或最佳速率-失真的宏塊大小來(lái)優(yōu)化速率-失真。編碼器可進(jìn)一步將用于經(jīng)譯碼單元的識(shí)別在經(jīng)譯碼單元中所使用的宏塊的大小的語(yǔ)法信息(例如)作為幀標(biāo)頭或切片標(biāo)頭的一部分進(jìn)行發(fā)射。如下文更詳細(xì)地論述,用于經(jīng)譯碼單元的語(yǔ)法信息可包含最大大小指示符,其指示經(jīng)譯碼單元中所使用的宏塊的最大大小。以此方式,編碼器可向解碼器通知預(yù)期將哪些語(yǔ)法用于經(jīng)譯碼單元的宏塊。當(dāng)宏塊的最大大小包含16 X 16像素時(shí),解碼器可預(yù)期標(biāo)準(zhǔn)H. 264語(yǔ)法且根據(jù)H. 264-指定語(yǔ)法來(lái)解析宏塊。然而,當(dāng)宏塊的最大大小大于16X16(例如,包含64X64像素)時(shí),解碼器可預(yù)期與較大宏塊的處理有關(guān)的經(jīng)修改的語(yǔ)法元素和/或額外語(yǔ)法元素(如本發(fā)明描述),且根據(jù)所述經(jīng)修改的語(yǔ)法或額外語(yǔ)法來(lái)解析宏塊。對(duì)于一些視頻幀或切片,在給定相對(duì)低的失真的情況下,大宏塊可呈現(xiàn)實(shí)質(zhì)的位速率節(jié)省且借此產(chǎn)生最好的速率-失真結(jié)果。然而,對(duì)于其它視頻幀或切片,較小宏塊可呈現(xiàn)較少失真,從而在速率-失真成本分析中重要性超過(guò)位速率。因此,在不同情況下,(例如)視視頻內(nèi)容和復(fù)雜性而定,64X64、32X32或16X16可適合于不同視頻幀或切片。 圖1為說(shuō)明實(shí)例視頻編碼和解碼系統(tǒng)10的方框圖,視頻編碼和解碼系統(tǒng)10可利用用于使用大宏塊(即,含有比16X16宏塊多的像素的宏塊)編碼/解碼數(shù)字視頻數(shù)據(jù)的技術(shù)。如圖1中所展示,系統(tǒng)10包括經(jīng)由通信信道16將經(jīng)編碼的視頻發(fā)射到目的裝置 14的源裝置12。源裝置12和目的裝置14可包含較廣范圍的裝置中的任一者。在一些情況下,源裝置12和目的裝置14可包含無(wú)線通信裝置,例如無(wú)線手持機(jī)、所謂的蜂窩式或衛(wèi)星無(wú)線電電話,或可在通信信道16上(在此情況下,通信信道16為無(wú)線的)傳送視頻信息的任何無(wú)線裝置。然而,本發(fā)明的涉及包含比由常規(guī)視頻編碼標(biāo)準(zhǔn)規(guī)定的宏塊多的像素的大宏塊的使用的技術(shù)未必限于無(wú)線應(yīng)用或設(shè)定。舉例來(lái)說(shuō),這些技術(shù)可適用于空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、因特網(wǎng)視頻發(fā)射、經(jīng)編碼到存儲(chǔ)媒體上的經(jīng)編碼的數(shù)字視頻,或其它情況。因此,通信信道16可包含適合于發(fā)射經(jīng)編碼的視頻數(shù)據(jù)的無(wú)線媒體或有線媒體的任何組合。在圖1的實(shí)例中,源裝置12可包括視頻源18、視頻編碼器20、調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)22和發(fā)射器24。目的裝置14可包括接收器26、調(diào)制解調(diào)器28、視頻解碼器30, 和顯示裝置32。根據(jù)本發(fā)明,源裝置12的視頻編碼器20可經(jīng)配置以應(yīng)用用于在視頻編碼過(guò)程中使用具有大于由常規(guī)視頻編碼標(biāo)準(zhǔn)規(guī)定的宏塊大小的大小的大宏塊的技術(shù)中的一者或一者以上。類(lèi)似地,目的裝置14的視頻解碼器30可經(jīng)配置以應(yīng)用用于在視頻解碼過(guò)程中使用大于由常規(guī)視頻編碼標(biāo)準(zhǔn)規(guī)定的宏塊大小的宏塊大小的技術(shù)中的一者或一者以上。圖1的所說(shuō)明的系統(tǒng)10僅為一個(gè)實(shí)例。如本發(fā)明中所描述的用于使用大宏塊的技術(shù)可由任何數(shù)字視頻編碼和/或解碼裝置來(lái)執(zhí)行。源裝置12和目的裝置14僅為所述譯碼裝置(在所述譯碼裝置中,源裝置12產(chǎn)生用于發(fā)射到目的裝置14的經(jīng)譯碼的視頻數(shù)據(jù)) 的實(shí)例。在一些實(shí)例中,裝置12、14可以大體上對(duì)稱的方式操作以使得裝置12、14中的每一者包括視頻編碼和解碼組件。因此,系統(tǒng)10可支持視頻裝置12、14之間的單向或雙向視頻發(fā)射,以(例如)用于視頻串流、視頻回放、視頻廣播或視頻電話。源裝置12的視頻源18可包括視頻俘獲裝置,例如攝像機(jī)、含有先前所俘獲的視頻的視頻存檔,和/或來(lái)自視頻內(nèi)容提供者的視頻饋入(video feed)。作為另一替代方案,視頻源18可產(chǎn)生基于計(jì)算機(jī)圖形的數(shù)據(jù)作為源視頻,或產(chǎn)生實(shí)況視頻、經(jīng)存檔的視頻與計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些情況下,如果視頻源18為攝像機(jī),則源裝置12與目的裝置14 可形成所謂的相機(jī)電話或視頻電話。然而,如上文所提及,一般來(lái)說(shuō),本發(fā)明中所描述的技術(shù)可適用于視頻譯碼,且可適用于無(wú)線或有線應(yīng)用。在每一情況下,可由視頻編碼器20來(lái)編碼經(jīng)俘獲的、經(jīng)預(yù)先俘獲的或計(jì)算機(jī)產(chǎn)生的視頻。經(jīng)編碼的視頻信息可接著由調(diào)制解調(diào)器22根據(jù)通信標(biāo)準(zhǔn)來(lái)調(diào)制,且經(jīng)由發(fā)射器M而發(fā)射到目的裝置14。調(diào)制解調(diào)器22可包括各種混頻器、濾波器、放大器或經(jīng)設(shè)計(jì)以用于信號(hào)調(diào)制的其它組件。發(fā)射器24可包括經(jīng)設(shè)計(jì)以用于發(fā)射數(shù)據(jù)的電路,包括放大器、濾波器,和一個(gè)或一個(gè)以上天線。目的裝置14的接收器沈在信道16上接收信息,且調(diào)制解調(diào)器觀解調(diào)所述信息。 同樣,視頻編碼過(guò)程可實(shí)施本文中所描述的技術(shù)中的一者或一者以上以將大宏塊(例如, 大于16X16)用于視頻數(shù)據(jù)的幀間(即,時(shí)間)編碼和/或幀內(nèi)(即,空間)編碼。由視頻解碼器30執(zhí)行的視頻解碼過(guò)程還可在解碼過(guò)程期間使用所述技術(shù)。在信道16上傳送的信息可包括由視頻編碼器20界定的語(yǔ)法信息,所述語(yǔ)法信息還被視頻解碼器30使用,所述語(yǔ)法信息包括描述大宏塊的特性和/或處理的語(yǔ)法元素,如下文更詳細(xì)地論述。可將語(yǔ)法信息包括于幀標(biāo)頭、切片標(biāo)頭、序列標(biāo)頭(例如,相對(duì)于H.沈4,通過(guò)使用經(jīng)譯碼的視頻序列所符合的簡(jiǎn)檔和層級(jí))或宏塊標(biāo)頭中的任一者或全部中。顯示裝置32向用戶顯示經(jīng)解碼的視頻數(shù)據(jù),且可包含例如陰極射線管(CRT)、液晶顯示器(IXD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類(lèi)型的顯示裝置的多種顯示裝置中的任一者。在圖1的實(shí)例中,通信信道16可包含任何無(wú)線或有線通信媒體(例如,射頻(RF) 頻譜或一個(gè)或一個(gè)以上物理傳輸線),或無(wú)線與有線媒體的任何組合。通信信道16可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng),或例如因特網(wǎng)等全球網(wǎng)絡(luò))的一部分。通信信道16 一般表示用于將視頻數(shù)據(jù)從源裝置12發(fā)射到目的裝置14的任何合適的通信媒體或不同通信媒體的集合,包括有線或無(wú)線媒體的任何合適組合。通信信道16可包括路由器、交換機(jī)、 基站,或可用于促進(jìn)從源裝置12到目的裝置14的通信的任何其它裝備。視頻編碼器20和視頻解碼器30可根據(jù)例如ITU-T H. 264標(biāo)準(zhǔn)(或者經(jīng)描述為 MPEG-4第10部分,高級(jí)視頻譯碼(AVC))的視頻壓縮標(biāo)準(zhǔn)而操作。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。其它實(shí)例包括MPEG-2和ITU-T H. 2630雖然圖1中未展示,但在一些方面中,視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包括適當(dāng)?shù)腗UX-DEMUX單元或其它硬件和軟件,以處置共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻與視頻兩者的編碼。如果可適用,則MUX-DEMUX單元可遵從ITU H. 223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等其它協(xié)議。ITU-T H. 264/MPEG-4 (AVC)標(biāo)準(zhǔn)由 ITU-T 視頻譯碼專家組(VCEG)與 IS0/IEC 動(dòng)畫(huà)專家組(MPEG) —起制定,作為被稱為聯(lián)合視頻小組(JVT)的共同伙伴關(guān)系的產(chǎn)物。在一些方面中,本發(fā)明中所描述的技術(shù)可適用于一般遵從H. 264標(biāo)準(zhǔn)的裝置。H. 264標(biāo)準(zhǔn)描述于ITU-T研究組的2005年3月公布的ITU-T推薦H.沈4,用于通用視聽(tīng)服務(wù)的高級(jí)視頻譯石馬(Advanced Video Coding for generic audiovisual services)中,其在本文中可被禾爾作H. 264標(biāo)準(zhǔn)或H. 264規(guī)范,或H. 264/AVC標(biāo)準(zhǔn)或規(guī)范。聯(lián)合視頻小組(JVT)不斷致力于對(duì) H. 264/MPEG-4AVC 的擴(kuò)展。視頻編碼器20和視頻解碼器30各自可經(jīng)實(shí)施為例如一個(gè)或一個(gè)以上微處理器、 數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、離散邏輯、軟件、 硬件、固件或其任何組合的多種合適編碼器電路中的任一者。視頻編碼器20和視頻解碼器 30中的每一者可包括于一個(gè)或一個(gè)以上編碼器或解碼器中,視頻編碼器20和視頻解碼器 30中的任一者可作為組合式編碼器/解碼器(CODEC)的一部分而集成于相應(yīng)相機(jī)、計(jì)算機(jī)、 移動(dòng)裝置、訂戶裝置、廣播裝置、機(jī)頂盒、服務(wù)器等中。視頻序列通常包括一系列視頻幀。視頻編碼器20對(duì)個(gè)別視頻幀內(nèi)的視頻塊操作以便編碼視頻數(shù)據(jù)。一視頻塊可對(duì)應(yīng)于一宏塊或一宏塊的一分區(qū)。一視頻塊可進(jìn)一步對(duì)應(yīng)于一分區(qū)的一分區(qū)。視頻塊可具有固定或不同的大小,且大小可根據(jù)指定譯碼標(biāo)準(zhǔn)或根據(jù)本發(fā)明的技術(shù)而不同。每一視頻幀可包括多個(gè)切片。每一切片可包括多個(gè)宏塊,所述多個(gè)宏塊可布置成若干分區(qū),所述分區(qū)還被稱作子塊。作為一實(shí)例,ITU-T H. 264標(biāo)準(zhǔn)支持各種塊大小(例如,針對(duì)亮度分量的16乘16、 8乘8或4乘4,和針對(duì)色度分量的8X8)的幀內(nèi)預(yù)測(cè),以及各種塊大小(例如,針對(duì)亮度分量的16X16、16X8、8X16、8X8、8X4、4X8和4X4,和針對(duì)色度分量的對(duì)應(yīng)縮放的大小) 的幀間預(yù)測(cè)。在本發(fā)明中,“ X ”與“乘”可互換地使用,以指代依據(jù)垂直和水平尺寸的塊的像素尺寸,例如,16X16像素或16乘16像素。一般來(lái)說(shuō),16X16塊將具有在垂直方向上的 16個(gè)像素和在水平方向上的16個(gè)像素。同樣地,NXN塊一般具有在垂直方向上的N個(gè)像素和在水平方向上的N個(gè)像素,其中N表示可大于16的正整數(shù)值。一塊中的像素可布置成若干行和若干列。小于16乘16的塊大小可稱作16乘16宏塊的分區(qū)。同樣地,對(duì)于NXNi夬,小于 NXN的塊大小可稱作NXN塊的分區(qū)。本發(fā)明的技術(shù)描述大于常規(guī)16X16像素宏塊的宏塊 (例如,32X32像素宏塊、64X64像素宏塊,或更大宏塊)的幀內(nèi)譯碼和幀間譯碼。視頻塊可包含像素域中的像素?cái)?shù)據(jù)的塊,或(例如)在對(duì)表示經(jīng)譯碼的視頻塊與預(yù)測(cè)視頻塊之間的像素差異的殘余視頻塊數(shù)據(jù)應(yīng)用例如離散余弦變換(DCT)、整數(shù)變換、小波變換或概念上類(lèi)似的變換等變換之后的在變換域中的變換系數(shù)的塊。在一些情況下,視頻塊可包含變換域中的經(jīng)量化的變換系數(shù)的塊。較小視頻塊可提供較好的分辨率,且可用于視頻幀的包括高細(xì)節(jié)水平的位置。一般來(lái)說(shuō),可將宏塊和有時(shí)稱作子塊的各種分區(qū)視為視頻塊。另外,可將切片視為多個(gè)視頻塊,例如宏塊和/或子塊。每一切片可為視頻幀的可獨(dú)立解碼的單元?;蛘?,幀本身可為可解碼的單元,或可將幀的其它部分界定為可解碼的單元。術(shù)語(yǔ)“經(jīng)譯碼單元”或“譯碼單元”可指代視頻幀的任何可獨(dú)立解碼的單元,例如完整幀、幀的切片、圖片群組(GOP)(還稱作序列),或根據(jù)可適用的譯碼技術(shù)界定的另一可獨(dú)立解碼的單元。在用于產(chǎn)生預(yù)測(cè)數(shù)據(jù)和殘余數(shù)據(jù)的幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)譯碼之后,且在用于產(chǎn)生變換系數(shù)的任何變換(例如,H. 264/AVC中所使用的4X4或8X8整數(shù)變換或離散余弦變換DCT)之后,可執(zhí)行對(duì)變換系數(shù)的量化。量化一般指代將變換系數(shù)量化以可能地減少用于表示系數(shù)的數(shù)據(jù)量的過(guò)程。量化過(guò)程可減少與一些系數(shù)或全部系數(shù)相關(guān)聯(lián)的位深度。舉例來(lái)說(shuō),在量化期間,可將η位值向下舍入到m位值,其中η大于m。在量化之后,可(例如)根據(jù)內(nèi)容自適應(yīng)可變長(zhǎng)度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)或另一熵譯碼方法來(lái)執(zhí)行經(jīng)量化數(shù)據(jù)的熵譯碼。經(jīng)配置以用于熵譯碼的處理單元或另一處理單元可執(zhí)行其它處理功能,例如對(duì)經(jīng)量化系數(shù)的零游程長(zhǎng)度譯碼和/或例如CBP值、宏塊類(lèi)型、譯碼模式、經(jīng)譯碼單元(例如,幀、切片、宏塊,或序列)的最大宏塊大小等的語(yǔ)法信息的產(chǎn)生。根據(jù)本發(fā)明的各種技術(shù),視頻編碼器20可使用大于由常規(guī)視頻編碼標(biāo)準(zhǔn)規(guī)定的宏塊的宏塊來(lái)編碼數(shù)字視頻數(shù)據(jù)。在一個(gè)實(shí)例中,視頻編碼器20可用視頻編碼器編碼具有大于16X 16像素的大小的視頻塊,產(chǎn)生指示所述塊的大小的塊類(lèi)型語(yǔ)法信息,并產(chǎn)生所述經(jīng)編碼塊的CBP值,其中所述經(jīng)譯碼塊模式值指示所述經(jīng)編碼塊是否包括至少一個(gè)非零系數(shù)。宏塊塊類(lèi)型語(yǔ)法信息可提供于大宏塊的宏塊標(biāo)頭中。宏塊塊類(lèi)型語(yǔ)法信息可指示宏塊在幀或切片中的地址或位置,或識(shí)別宏塊的位置的宏塊編號(hào)、應(yīng)用于宏塊的譯碼模式的類(lèi)型、宏塊的量化值、宏塊的任何運(yùn)動(dòng)向量信息,和宏塊的CBP值。在另一實(shí)例中,視頻編碼器20可接收具有大于16X16像素的大小的視頻塊,將所述塊分割成若干分區(qū),使用第一編碼模式編碼所述分區(qū)中的一者,使用不同于所述第一編碼模式的第二編碼模式編碼所述分區(qū)中的另一者,并產(chǎn)生指示所述塊的大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的編碼模式的塊類(lèi)型語(yǔ)法信息。在一額外實(shí)例中,視頻編碼器20可接收視頻譯碼單元(例如,幀或切片),確定使用具有16 X 16像素的大小的第一視頻塊編碼所述視頻譯碼單元的第一速率-失真量度,確定使用具有大于16X 16像素的大小的第二視頻塊編碼所述視頻譯碼單元的第二速率-失真量度,在所述第一速率-失真量度小于第二速率-失真量度時(shí)使用所述第一視頻塊編碼所述視頻譯碼單元,且在所述第二速率-失真量度小于所述第一速率-失真量度時(shí)使用所述第二視頻塊編碼所述視頻譯碼單元。在一個(gè)實(shí)例中,視頻解碼器30可接收具有大于16X 16像素的大小的經(jīng)編碼視頻塊,接收指示所述經(jīng)編碼塊的大小的塊類(lèi)型語(yǔ)法信息,接收所述經(jīng)編碼塊的經(jīng)譯碼塊模式值,其中所述經(jīng)譯碼塊模式值指示所述經(jīng)編碼塊是否包括至少一個(gè)非零系數(shù),且基于所述塊類(lèi)型語(yǔ)法信息和所述經(jīng)編碼塊的所述經(jīng)譯碼塊模式值來(lái)解碼所述經(jīng)編碼塊。在另一實(shí)例中,視頻解碼器30可接收具有大于16X16像素的大小的視頻塊,其中所述塊經(jīng)分割成若干分區(qū),所述分區(qū)中的一者經(jīng)幀內(nèi)編碼且所述分區(qū)中的另一者經(jīng)幀內(nèi)編碼,接收指示所述塊的大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息,且基于所述塊類(lèi)型語(yǔ)法信息解碼所述視頻塊。圖2為說(shuō)明視頻編碼器50的一實(shí)例的方框圖,視頻編碼器50可實(shí)施與本發(fā)明一致的用于使用大宏塊的技術(shù)。視頻編碼器50可對(duì)應(yīng)于源裝置12的視頻編碼器20或不同裝置的視頻編碼器。視頻編碼器50可執(zhí)行對(duì)視頻幀內(nèi)的塊(包括大宏塊,或大宏塊的分區(qū)或子分區(qū))的幀內(nèi)譯碼和幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測(cè)來(lái)減少或移除給定視頻幀內(nèi)的視頻的空間冗余。幀間譯碼依賴于時(shí)間預(yù)測(cè)來(lái)減少或移除視頻序列的鄰近幀內(nèi)的視頻的時(shí)間冗余。
幀內(nèi)模式(I模式)可指代若干基于空間的壓縮模式中的任一者,且例如預(yù)測(cè)(P 模式)或雙向(B模式)的幀間模式可指代若干基于時(shí)間的壓縮模式中的任一者。本發(fā)明的技術(shù)可在幀間譯碼與幀內(nèi)譯碼兩者期間應(yīng)用。在一些情況下,本發(fā)明的技術(shù)還可適用于編碼非視頻數(shù)字圖片。即,數(shù)字靜態(tài)圖片編碼器可利用本發(fā)明的技術(shù)以類(lèi)似于編碼視頻序列中的視頻幀中的經(jīng)幀內(nèi)譯碼的宏塊的方式使用大宏塊對(duì)數(shù)字靜態(tài)圖片進(jìn)行幀內(nèi)譯碼。如圖2中所展示,視頻編碼器50接收待編碼的視頻幀內(nèi)的當(dāng)前視頻塊。在圖2的實(shí)例中,視頻編碼器50包括運(yùn)動(dòng)補(bǔ)償單元35、運(yùn)動(dòng)估計(jì)單元36、幀內(nèi)預(yù)測(cè)單元37、模式選擇單元39、參考幀存儲(chǔ)裝置34、求和器48、變換單元38、量化單元40,和熵譯碼單元46。對(duì)于視頻塊重構(gòu),視頻編碼器50還包括逆量化單元42、逆變換單元44,和求和器51。還可包括解塊濾波器(圖2中未展示)以將塊邊界濾波,以從經(jīng)重構(gòu)的視頻移除成塊性假影。在需要時(shí),解塊濾波器通常對(duì)求和器51的輸出進(jìn)行濾波。在編碼過(guò)程期間,視頻編碼器50接收待譯碼的視頻幀或切片。可將所述幀或切片劃分成多個(gè)視頻塊,包括大宏塊。運(yùn)動(dòng)估計(jì)單元36和運(yùn)動(dòng)補(bǔ)償單元35相對(duì)于一個(gè)或一個(gè)以上參考幀中的一個(gè)或一個(gè)以上塊執(zhí)行對(duì)所接收的視頻塊的幀間預(yù)測(cè)譯碼以提供時(shí)間壓縮。 幀內(nèi)預(yù)測(cè)單元37相對(duì)于與待譯碼的塊相同的幀或切片中的一個(gè)或一個(gè)以上相鄰塊執(zhí)行對(duì)所接收的視頻塊的幀內(nèi)預(yù)測(cè)譯碼以提供空間壓縮。模式選擇單元39可(例如)基于誤差結(jié)果而選擇譯碼模式(幀內(nèi)或幀間)中的一者,且將所得的經(jīng)幀內(nèi)譯碼或經(jīng)幀間譯碼的塊提供到求和器48以產(chǎn)生殘余塊數(shù)據(jù),且提供到求和器51以重構(gòu)經(jīng)編碼塊以用作參考幀。根據(jù)本發(fā)明的技術(shù),待編碼的視頻塊可包含大于由常規(guī)譯碼標(biāo)準(zhǔn)規(guī)定的宏塊(即,大于16X16像素宏塊)的宏塊。舉例來(lái)說(shuō),大視頻塊可包含64X64像素宏塊或32X32像素宏塊。運(yùn)動(dòng)估計(jì)單元36與運(yùn)動(dòng)補(bǔ)償單元35可高度集成,但出于概念目的而單獨(dú)說(shuō)明。運(yùn)動(dòng)估計(jì)是產(chǎn)生估計(jì)視頻塊的運(yùn)動(dòng)的運(yùn)動(dòng)向量的過(guò)程。運(yùn)動(dòng)向量(例如)可指示預(yù)測(cè)參考幀 (或其它經(jīng)譯碼單元)內(nèi)的預(yù)測(cè)塊相對(duì)于當(dāng)前幀(或其它經(jīng)譯碼單元)內(nèi)正被譯碼的當(dāng)前塊的位移。預(yù)測(cè)塊是經(jīng)發(fā)現(xiàn)在像素差異方面密切地匹配待譯碼的塊的塊,其可通過(guò)絕對(duì)差總和(SAD)、平方差總和(SSD)或其它差異量度來(lái)確定。運(yùn)動(dòng)向量還可指示大宏塊的分區(qū)的位移。在關(guān)于具有一個(gè)32X64分區(qū)和兩個(gè) 32X32分區(qū)的64X64像素宏塊的一個(gè)實(shí)例中,第一運(yùn)動(dòng)向量可指示32X64分區(qū)的位移, 第二運(yùn)動(dòng)向量可指示32X32分區(qū)中的第一者的位移,且第三運(yùn)動(dòng)向量可指示32X32分區(qū)中的第二者的位移,所有位移均相對(duì)于參考幀中的對(duì)應(yīng)分區(qū)。還可將所述分區(qū)視為視頻塊 (在那些術(shù)語(yǔ)用于本發(fā)明中時(shí))。運(yùn)動(dòng)補(bǔ)償可涉及基于運(yùn)動(dòng)估計(jì)所確定的運(yùn)動(dòng)向量來(lái)獲取或產(chǎn)生預(yù)測(cè)塊。同樣,運(yùn)動(dòng)估計(jì)單元36與運(yùn)動(dòng)補(bǔ)償單元35可在功能上集成。運(yùn)動(dòng)估計(jì)單元36通過(guò)將經(jīng)幀間譯碼的幀的視頻塊與參考幀存儲(chǔ)裝置34中的參考幀的視頻塊進(jìn)行比較來(lái)計(jì)算經(jīng)幀間譯碼的幀的視頻塊的運(yùn)動(dòng)向量。運(yùn)動(dòng)補(bǔ)償單元35還可內(nèi)插參考幀(例如,I幀或P幀)的子整數(shù)像素。ITU H. 264標(biāo)準(zhǔn)將參考幀稱作“列表”。因此,還可將存儲(chǔ)于參考幀存儲(chǔ)裝置34中的數(shù)據(jù)視為列表。運(yùn)動(dòng)估計(jì)單元36將來(lái)自參考幀存儲(chǔ)裝置34的一個(gè)或一個(gè)以上參考幀(或列表)的塊與當(dāng)前幀(例如,P幀或B幀)的待編碼的塊進(jìn)行比較。當(dāng)參考幀存儲(chǔ)裝置34中的參考幀包括用于子整數(shù)像素的值時(shí),由運(yùn)動(dòng)估計(jì)單元36計(jì)算的運(yùn)動(dòng)向量可指代參考幀的子整數(shù)像素位置。運(yùn)動(dòng)估計(jì)單元36將經(jīng)計(jì)算的運(yùn)動(dòng)向量發(fā)送到熵譯碼單元46和運(yùn)動(dòng)補(bǔ)償單元35。由運(yùn)動(dòng)向量識(shí)別的參考幀塊可稱作預(yù)測(cè)塊。運(yùn)動(dòng)補(bǔ)償單元35計(jì)算參考幀的預(yù)測(cè)塊的誤差值。運(yùn)動(dòng)補(bǔ)償單元35可基于預(yù)測(cè)塊計(jì)算預(yù)測(cè)數(shù)據(jù)。視頻編碼器50通過(guò)從正經(jīng)譯碼的原始視頻塊減去來(lái)自運(yùn)動(dòng)補(bǔ)償單元35的預(yù)測(cè)數(shù)據(jù)而形成殘余視頻塊。求和器48表示執(zhí)行此減法運(yùn)算的組件。變換單元38對(duì)殘余塊應(yīng)用例如離散余弦變換(DCT)或概念上類(lèi)似的變換的變換,從而產(chǎn)生包含殘余變換系數(shù)值的視頻塊。變換單元38可執(zhí)行概念上類(lèi)似于DCT 的其它變換,例如由H. 264標(biāo)準(zhǔn)界定的變換。還可使用小波變換、整數(shù)變換、子頻帶變換或其它類(lèi)型的變換。在任何情況下,變換單元38對(duì)殘余塊應(yīng)用變換,從而產(chǎn)生殘余變換系數(shù)的塊。所述變換可將殘余信息從像素值域轉(zhuǎn)換到變換域(例如,頻域)。量化單元40將殘余變換系數(shù)量化以進(jìn)一步減小位速率。量化過(guò)程可減少與一些系數(shù)或全部系數(shù)相關(guān)聯(lián)的位深度。在一個(gè)實(shí)例中,量化單元40可根據(jù)亮度量化參數(shù)(在本發(fā)明中稱作QPy)而建立用于每一 64X64像素宏塊的不同程度的量化。量化單元40可基于量化參數(shù)修正符(其在本文中稱作“MB64_delta_QP”)和先前經(jīng)編碼的64X64像素宏塊而進(jìn)一步修改在64X64宏塊的量化期間所使用的亮度量化參數(shù)。每一 64X64像素的大宏塊可包含在46與+25之間(包括與+2 的范圍內(nèi)的個(gè)別MB64_delta_QP值。一般來(lái)說(shuō),視頻編碼器50可基于用于發(fā)射特定塊的經(jīng)編碼版本的所要位速率而建立用于所述特定塊的MB64_delta_QP值。第一 64 X 64像素宏塊的MB64_ delta_QP值可等于包括第一 64X64像素宏塊的幀或切片的QP值(例如,在幀/切片標(biāo)頭中)??筛鶕?jù)下式來(lái)計(jì)算用于當(dāng)前64X64像素宏塊的QPy QPy = (QPy, pEEV+MB64_delta_QP+52) % 52其中QPy,pkev指代在當(dāng)前切片/幀的解碼次序中的前一 64X64像素宏塊的(》\值, 且其中“%”指代模數(shù)運(yùn)算符,使得52傳回在0與51之間(包括0與51)的結(jié)果,從而對(duì)應(yīng)于N除以52的余數(shù)值。對(duì)于幀/切片中的第一宏塊,可將QPy,pkev設(shè)定為等于在幀/ 切片標(biāo)頭中發(fā)送的幀/切片QP。在一個(gè)實(shí)例中,量化單元40假定當(dāng)未針對(duì)特定64X64像素宏塊(包括“跳躍” 型宏塊,例如,P_Skip和B_Skip宏塊類(lèi)型)界定MB64_delta_QP值時(shí),MB64_delta_QP值等于零。在一些實(shí)例中,可界定額外delta_QP值(一般稱作量化參數(shù)修改值)以用于64X64 像素宏塊內(nèi)的分區(qū)的較細(xì)粒度量化控制,例如用于64X64像素宏塊的每一 32X32像素分區(qū)的MB32_delta_QP值。在一些實(shí)例中,64 X 64宏塊的每一分區(qū)可經(jīng)指派一個(gè)別量化參數(shù)。 代替針對(duì)64X64宏塊使用單一 QP,針對(duì)每一分區(qū)使用個(gè)別化的量化參數(shù)可實(shí)現(xiàn)宏塊的更有效量化,(例如)以便更好地調(diào)整對(duì)非同質(zhì)區(qū)域的量化。可將每一量化參數(shù)修改值作為語(yǔ)法信息與對(duì)應(yīng)的經(jīng)編碼塊包括在一起,且解碼器可通過(guò)根據(jù)量化參數(shù)修改值解量化(即, 逆量化)經(jīng)編碼塊來(lái)解碼經(jīng)編碼塊。在量化之后,熵譯碼單元46將經(jīng)量化的變換系數(shù)進(jìn)行熵譯碼。舉例來(lái)說(shuō),熵譯碼單元46可執(zhí)行內(nèi)容自適應(yīng)可變長(zhǎng)度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC), 或另一熵譯碼技術(shù)。在由熵譯碼單元46進(jìn)行熵譯碼之后,可將經(jīng)編碼的視頻發(fā)射到另一裝置或?qū)⑵浯鏅n以用于稍后發(fā)射或檢索。經(jīng)譯碼的位流可包括經(jīng)熵譯碼的殘余變換系數(shù)塊、 所述塊的運(yùn)動(dòng)向量、每一 64X64像素宏塊的MB64_delta_QP值,和包括(例如)宏塊類(lèi)型識(shí)別符值、指示經(jīng)譯碼單元中的宏塊的最大大小的經(jīng)譯碼單元標(biāo)頭、QPy值、經(jīng)譯碼塊模式(CBP)值、識(shí)別宏塊或子塊的分割方法的值,和變換大小旗標(biāo)值的其它語(yǔ)法元素,如下文更詳細(xì)地論述。在上下文自適應(yīng)二進(jìn)制算術(shù)譯碼的情況下,上下文可基于相鄰宏塊。在一些情況下,除熵譯碼之外,視頻編碼器50的熵譯碼單元46或另一單元可經(jīng)配置以執(zhí)行其它譯碼功能。舉例來(lái)說(shuō),熵譯碼單元46可經(jīng)配置以確定大宏塊和分區(qū)的CBP值。 熵譯碼單元46可應(yīng)用分層CBP方案以提供大宏塊的指示宏塊中的任何分區(qū)是否包括非零變換系數(shù)值的CBP值,且如果是,則提供用于指示大宏塊內(nèi)的特定分區(qū)是否具有非零變換系數(shù)值的其它CBP值。而且,在一些情況下,熵譯碼單元46可執(zhí)行對(duì)大宏塊或子分區(qū)中的系數(shù)的游程長(zhǎng)度譯碼。具體來(lái)說(shuō),熵譯碼單元46可應(yīng)用曲折掃描或其它掃描模式以掃描宏塊或分區(qū)中的變換系數(shù),且編碼零的游程以用于進(jìn)一步壓縮。熵譯碼單元46還可用適當(dāng)?shù)恼Z(yǔ)法元素建構(gòu)標(biāo)頭信息以用于在經(jīng)編碼視頻位流中進(jìn)行發(fā)射。逆量化單元42和逆變換單元44分別應(yīng)用逆量化和逆變換,以重構(gòu)像素域中的殘余塊,(例如)以用于稍后用作參考?jí)K。運(yùn)動(dòng)補(bǔ)償單元35可通過(guò)將殘余塊加到參考幀存儲(chǔ)裝置34的幀中的一者的預(yù)測(cè)塊來(lái)計(jì)算參考?jí)K。運(yùn)動(dòng)補(bǔ)償單元35還可對(duì)經(jīng)重構(gòu)的殘余塊應(yīng)用一個(gè)或一個(gè)以上內(nèi)插濾波器以計(jì)算子整數(shù)像素值。求和器51將經(jīng)重構(gòu)的殘余塊加到由運(yùn)動(dòng)補(bǔ)償單元35產(chǎn)生的經(jīng)運(yùn)動(dòng)補(bǔ)償?shù)念A(yù)測(cè)塊以產(chǎn)生用于存儲(chǔ)于參考幀存儲(chǔ)裝置34中的經(jīng)重構(gòu)的視頻塊。經(jīng)重構(gòu)的視頻塊可由運(yùn)動(dòng)估計(jì)單元36和運(yùn)動(dòng)補(bǔ)償單元35用作用于對(duì)后續(xù)視頻幀中的塊進(jìn)行幀間譯碼的參考?jí)K。大宏塊可包含64X64像素宏塊、32X32像素宏塊, 或大于由常規(guī)視頻譯碼標(biāo)準(zhǔn)規(guī)定的大小的其它宏塊。圖3為說(shuō)明視頻解碼器60的一實(shí)例的方框圖,視頻解碼器60解碼以本發(fā)明中所描述的方式編碼的視頻序列。經(jīng)編碼的視頻序列可包括大于由常規(guī)視頻編碼標(biāo)準(zhǔn)規(guī)定的大小的經(jīng)編碼的宏塊。舉例來(lái)說(shuō),經(jīng)編碼的宏塊可為32X32像素或64X64像素宏塊。在圖 3的實(shí)例中,視頻解碼器60包括熵解碼單元52、運(yùn)動(dòng)補(bǔ)償單元M、幀內(nèi)預(yù)測(cè)單元55、逆量化單元56、逆變換單元58、參考幀存儲(chǔ)裝置62和求和器64。視頻解碼器60在一些實(shí)例中可執(zhí)行一般與關(guān)于視頻編碼器50(圖幻所描述的編碼遍次互逆的解碼遍次。運(yùn)動(dòng)補(bǔ)償單元 54可基于從熵解碼單元52接收的運(yùn)動(dòng)向量產(chǎn)生預(yù)測(cè)數(shù)據(jù)。熵解碼單元52對(duì)所接收的位流進(jìn)行熵解碼以產(chǎn)生經(jīng)量化的系數(shù)和語(yǔ)法元素(例如,運(yùn)動(dòng)向量、CBP值、QPy值、變換大小旗標(biāo)值、MB64_delta_QP值)。熵解碼單元52可解析位流以識(shí)別經(jīng)譯碼單元(例如,幀、切片和/或宏塊標(biāo)頭)中的語(yǔ)法信息。包含多個(gè)宏塊的經(jīng)譯碼單元的語(yǔ)法信息可指示經(jīng)譯碼單元中的宏塊(例如,16X16像素、32X32像素、 64X64像素,或其它較大大小的宏塊)的最大大小。(例如)視塊的譯碼模式而定,將塊的語(yǔ)法信息從熵譯碼單元52轉(zhuǎn)發(fā)到運(yùn)動(dòng)補(bǔ)償單元M或幀內(nèi)預(yù)測(cè)單元55。解碼器可使用經(jīng)譯碼單元的語(yǔ)法中的最大大小指示符來(lái)選擇用于所述經(jīng)譯碼單元的語(yǔ)法解碼器。通過(guò)使用針對(duì)所述最大大小而指定的語(yǔ)法解碼器,解碼器可接著適當(dāng)?shù)亟庾g和處理包括于所述經(jīng)譯碼單元中的大宏塊。運(yùn)動(dòng)補(bǔ)償單元M可使用在位流中所接收的運(yùn)動(dòng)向量來(lái)識(shí)別參考幀存儲(chǔ)裝置62中的參考幀中的預(yù)測(cè)塊。幀內(nèi)預(yù)測(cè)單元陽(yáng)可使用在位流中所接收的幀內(nèi)預(yù)測(cè)模式以從空間上鄰近的塊形成預(yù)測(cè)塊。逆量化單元56將提供于位流中且由熵解碼單元52解碼的經(jīng)量化的塊系數(shù)逆量化(即,解量化)。逆量化過(guò)程可包括(例如)如通過(guò)H. 264解碼標(biāo)準(zhǔn)界定的常規(guī)過(guò)程。逆量化過(guò)程還可包括使用由編碼器50針對(duì)每一 64X64宏塊計(jì)算的用以確定量化的程度且同樣應(yīng)該應(yīng)用的逆量化的程度的量化參數(shù)QPY。逆變換單元58對(duì)變換系數(shù)應(yīng)用逆變換(例如,逆DCT、逆整數(shù)變換,或概念上類(lèi)似的逆變換過(guò)程),以便產(chǎn)生像素域中的殘余塊。運(yùn)動(dòng)補(bǔ)償單元M產(chǎn)生經(jīng)運(yùn)動(dòng)補(bǔ)償?shù)膲K,可能執(zhí)行基于內(nèi)插濾波器的內(nèi)插。待用于具有子像素精度的運(yùn)動(dòng)估計(jì)的內(nèi)插濾波器的識(shí)別符可包括在語(yǔ)法元素中。運(yùn)動(dòng)補(bǔ)償單元M可使用如由視頻編碼器50在視頻塊的編碼期間所使用的內(nèi)插濾波器來(lái)計(jì)算參考?jí)K的子整數(shù)像素的內(nèi)插值。運(yùn)動(dòng)補(bǔ)償單元M可根據(jù)所接收的語(yǔ)法信息來(lái)確定由視頻編碼器50使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器來(lái)產(chǎn)生預(yù)測(cè)塊。運(yùn)動(dòng)補(bǔ)償單元M使用一些語(yǔ)法信息來(lái)確定用于編碼經(jīng)編碼視頻塊的(多個(gè))幀的宏塊的大小、描述經(jīng)編碼視頻序列的幀的每一宏塊經(jīng)分割的方式的分割信息、指示每一分區(qū)經(jīng)編碼的方式的模式、用于每一經(jīng)幀間編碼的宏塊或分區(qū)的一個(gè)或一個(gè)以上參考幀 (或列表),和用于解碼經(jīng)編碼視頻序列的其它信息。求和器64將殘余塊與由運(yùn)動(dòng)補(bǔ)償單元M或幀內(nèi)預(yù)測(cè)單元產(chǎn)生的對(duì)應(yīng)預(yù)測(cè)塊求和以形成經(jīng)解碼的塊。在需要時(shí),還可應(yīng)用解塊濾波器以對(duì)經(jīng)解碼的塊進(jìn)行濾波以便移除成塊性假影。接著將經(jīng)解碼的視頻塊存儲(chǔ)于參考幀存儲(chǔ)裝置62中,參考幀存儲(chǔ)裝置62提供用于后續(xù)運(yùn)動(dòng)補(bǔ)償?shù)膮⒖級(jí)K且還產(chǎn)生用于在顯示裝置(例如,圖1的裝置3 上呈現(xiàn)的經(jīng)解碼視頻。經(jīng)解碼視頻塊可各自包含64X64像素宏塊、32X32像素宏塊,或其它大于標(biāo)準(zhǔn)的宏塊。一些宏塊可包括具有多種不同分區(qū)大小的分區(qū)。圖4A為說(shuō)明大宏塊的各種分區(qū)層級(jí)中的實(shí)例分割的概念圖。每一分區(qū)層級(jí)的塊包括對(duì)應(yīng)于特定層級(jí)的若干像素。還針對(duì)每一層級(jí)展示四個(gè)分割模式,其中第一分割模式包括整個(gè)塊,第二分割模式包括相等大小的兩個(gè)水平分區(qū),第三分割模式包括相等大小的兩個(gè)垂直分區(qū),且第四分割模式包括四個(gè)相等大小的分區(qū)。可針對(duì)每一分區(qū)層級(jí)的每一分區(qū)選擇所述分割模式中的一者。在圖4A的實(shí)例中,層級(jí)0對(duì)應(yīng)于亮度樣本和相關(guān)聯(lián)的色度樣本的64X64像素宏塊分區(qū)。層級(jí)1對(duì)應(yīng)于亮度樣本和相關(guān)聯(lián)的色度樣本的32X32像素塊。層級(jí)2對(duì)應(yīng)于亮度樣本和相關(guān)聯(lián)的色度樣本的16 X 16像素塊,且層級(jí)3對(duì)應(yīng)于亮度樣本和相關(guān)聯(lián)的色度樣本的8X8像素塊。在其它實(shí)例中,可引入額外層級(jí)以利用更大或更小數(shù)目個(gè)像素。舉例來(lái)說(shuō),層級(jí)0 可開(kāi)始于像素宏塊、256X256像素宏塊或其它較大大小的宏塊。最高編號(hào)的層級(jí)在一些實(shí)例中可精細(xì)到單一像素(即,1X1塊)。因此,從最低層級(jí)到最高層級(jí),可將分割逐步子分割,使得宏塊被分割,分區(qū)被進(jìn)一步分割,所得分區(qū)被再進(jìn)一步分割,等等。在一些情況中,低于層級(jí)0的分區(qū)(S卩,分區(qū)的分區(qū))可稱作子分區(qū)。當(dāng)使用四個(gè)相等大小的子塊分割一個(gè)層級(jí)處的塊時(shí),可根據(jù)下一個(gè)層級(jí)的分割模式來(lái)分割子塊中的任一者或全部。即,對(duì)于在層級(jí)X處經(jīng)分割成四個(gè)相等大小的子塊(N/2)X(N/2)的NXN塊,可根據(jù)層級(jí)x+1的分割模式中的任一者進(jìn)一步分割 (Ν/2) X (N/2)子塊中的任一者。因此,可根據(jù)圖4A中所展示的層級(jí)1處的模式(例如, 32X32,32X 16 與 32X16、16X32 與 16X32,或 16X 16、16X 16、16X 16 與 16X16)中的任一者進(jìn)一步分割層級(jí)0處的64X64像素宏塊的32X32像素子塊。同樣地,在由經(jīng)分割的 32X32像素子塊產(chǎn)生四個(gè)16X 16像素子塊的情況下,可根據(jù)圖4A中所展示的層級(jí)2處的模式中的任一者進(jìn)一步分割16X16像素子塊中的每一者。在由經(jīng)分割的16X16像素子塊產(chǎn)生四個(gè)8X8像素子塊的情況下,可根據(jù)圖4A中所展示的層級(jí)3處的模式中的任一者進(jìn)一步分割8 X 8像素子塊中的每一者。通過(guò)使用圖4A中所展示的分區(qū)的實(shí)例四個(gè)層級(jí),可通過(guò)實(shí)施本發(fā)明的架構(gòu)和技術(shù)的編碼器來(lái)自適應(yīng)地表示大的同質(zhì)區(qū)域和細(xì)小的零星改變。舉例來(lái)說(shuō),視頻編碼器50可 (例如)基于速率-失真分析確定不同宏塊的不同分割層級(jí),以及對(duì)所述分區(qū)應(yīng)用的編碼模式。而且,如下文更詳細(xì)地描述,視頻編碼器50可(例如)基于速率-失真量度結(jié)果或其它考慮事項(xiàng)而使用空間(P編碼或B編碼)或時(shí)間(I編碼)預(yù)測(cè)來(lái)不同地編碼最終分區(qū)中的至少一些分區(qū)。代替均勻地編碼大宏塊而使得所有分區(qū)均具有相同的幀內(nèi)譯碼模式或幀間譯碼模式,可譯碼大宏塊以使得一些分區(qū)具有不同譯碼模式。舉例來(lái)說(shuō),可用相對(duì)于同一宏塊中的其它(至少一個(gè))分區(qū)來(lái)說(shuō)不同的幀內(nèi)譯碼模式(例如,I_16X16、I_8X8、I_4X4)譯碼一些(至少一個(gè))分區(qū)。而且,可對(duì)一些(至少一個(gè))分區(qū)進(jìn)行幀內(nèi)譯碼而對(duì)同一宏塊中的其它(至少一個(gè))分區(qū)進(jìn)行幀間譯碼。舉例來(lái)說(shuō),對(duì)于具有四個(gè)16X16分區(qū)的32X32塊,視頻編碼器50可使用空間預(yù)測(cè)來(lái)編碼16X16分區(qū)中的一些分區(qū),且使用時(shí)間預(yù)測(cè)來(lái)編碼其它16X16分區(qū)。作為另一實(shí)例,對(duì)于具有四個(gè)16 X 16分區(qū)的32X32塊,視頻編碼器50可使用第一預(yù)測(cè)模式(例如, I_16X16、I_8X8、I_4X4中的一者)來(lái)編碼16X 16分區(qū)中的一者或一者以上,且使用不同的空間預(yù)測(cè)模式(例如,I_16X16、I_8X8、I_4X4中的一者)來(lái)編碼一個(gè)或一個(gè)以上其它16X16分區(qū)。圖4B為說(shuō)明將不同譯碼模式指派到大宏塊的不同分區(qū)的概念圖。具體來(lái)說(shuō),圖4B 說(shuō)明將I_16X16幀內(nèi)譯碼模式指派到大的32X32宏塊的左上部16X16塊、將I_8X8幀內(nèi)譯碼模式指派到大的32X32宏塊的右上部和左下部16X 16塊和將I_4X4幀內(nèi)譯碼模式指派到大的32X32宏塊的右下部16 X 16塊。在一些情況下,圖4B中所說(shuō)明的譯碼模式可為用于亮度譯碼的H. 264幀內(nèi)譯碼模式。以所描述的方式,可有選擇地進(jìn)一步分割每一分區(qū),且可使用時(shí)間預(yù)測(cè)或空間預(yù)測(cè)并使用選定的時(shí)間譯碼模式或空間譯碼模式選擇性地譯碼每一最終分區(qū)。因此,有可能用混合模式譯碼大宏塊,以使得宏塊中的一些分區(qū)經(jīng)幀內(nèi)譯碼且同一宏塊中的其它分區(qū)經(jīng)幀間譯碼,或用不同的幀內(nèi)譯碼模式或不同的幀間譯碼模式譯碼同一宏塊中的一些分區(qū)。視頻編碼器50可根據(jù)宏塊類(lèi)型進(jìn)一步界定每一分區(qū)??蓪⒑陦K類(lèi)型作為語(yǔ)法元素包括于經(jīng)編碼位流中,例如作為宏塊標(biāo)頭中的語(yǔ)法元素。一般來(lái)說(shuō),宏塊類(lèi)型可用于識(shí)別宏塊經(jīng)分割的方式,和用于編碼宏塊的分區(qū)中的每一者的相應(yīng)方法或模式,如上文所論述。 用于編碼分區(qū)的方法可不僅包括幀內(nèi)譯碼和幀間譯碼,而且包括特定模式的幀內(nèi)譯碼(例如,I_16X16、I_8X8、I_4X4)或幀間譯碼(例如,P_ 或 B_16X 16、16X8、8X 16、8X8、 8X4、4X8 禾口 4X4)。如下文針對(duì)P塊關(guān)于表1的實(shí)例和針對(duì)B塊關(guān)于表2的實(shí)例更詳細(xì)地論述,可根據(jù)表示具有64 X 64像素的宏塊的MB64_type語(yǔ)法元素界定分區(qū)層級(jí)0塊。可針對(duì)任何MB [N]_ type(其中,[N]指代具有NXN像素的塊,其中N為可大于16的正整數(shù))形成類(lèi)似類(lèi)型的界定。當(dāng)NXN塊具有大小為(N/2)X(N/2)的四個(gè)分區(qū)時(shí)(如圖4A上的最后一列中所展示),所述四個(gè)分區(qū)中的每一者可接收其自身類(lèi)型的界定(例如,MB[N/2]_type)。舉例來(lái)說(shuō),對(duì)于具有四個(gè)32X32像素分區(qū)的64X64像素塊(MB64_type的類(lèi)型),視頻編碼器50 可針對(duì)四個(gè)32X32像素分區(qū)中的每一者引入MB32_type。這些宏塊類(lèi)型語(yǔ)法元素可輔助解碼器60解碼大宏塊和大宏塊的各種分區(qū),如本發(fā)明中所描述。每一 NXN像素宏塊(其中 N大于16) —般對(duì)應(yīng)于唯一類(lèi)型的界定。因此,編碼器可產(chǎn)生適合于特定宏塊的語(yǔ)法,且向解碼器指示經(jīng)譯碼單元(例如,幀、切片,或宏塊的序列)中的宏塊的最大大小。以此方式, 解碼器可接收將應(yīng)用于經(jīng)譯碼單元的宏塊的語(yǔ)法解碼器的指示。此還確保解碼器可與現(xiàn)有譯碼標(biāo)準(zhǔn)(例如,H. 264)向后兼容,因?yàn)榫幋a器可指示將應(yīng)用于宏塊的語(yǔ)法解碼器的類(lèi)型 (例如,標(biāo)準(zhǔn)的H. 264或根據(jù)本發(fā)明的技術(shù)針對(duì)較大宏塊的處理而指定的類(lèi)型)。一般來(lái)說(shuō),對(duì)于對(duì)應(yīng)類(lèi)型,每一 MB[N]_type界定可表示對(duì)應(yīng)類(lèi)型(例如,64X64) 的塊中的像素的數(shù)目、塊的參考幀(或參考列表)、塊的分區(qū)的數(shù)目、塊的每一分區(qū)的大小、 每一分區(qū)經(jīng)編碼的方式(例如,幀內(nèi)或幀間和特定模式),和當(dāng)分區(qū)經(jīng)幀間譯碼時(shí)塊的每一分區(qū)的參考幀(或參考列表)。對(duì)于16X16和更小的塊,視頻編碼器50在一些實(shí)例中可使用常規(guī)類(lèi)型的界定作為塊的類(lèi)型(例如,由H. 264標(biāo)準(zhǔn)指定的類(lèi)型)。在其它實(shí)例中,視頻編碼器50可對(duì)16X 16和更小的塊應(yīng)用新界定的塊類(lèi)型。視頻編碼器50可評(píng)估使用正常宏塊大小和分區(qū)的常規(guī)幀間或幀內(nèi)譯碼方法(例如,由ITU H. 264規(guī)定的方法)和由本發(fā)明描述的使用較大宏塊和分區(qū)的幀間或幀內(nèi)譯碼方法,且比較每一方法的速率-失真特性以確定哪種方法產(chǎn)生最好的速率-失真性能。視頻編碼器50接著可基于譯碼方法的最佳或可接受的速率-失真結(jié)果來(lái)選擇最好的譯碼方法(包括幀間或幀內(nèi)模式、宏塊大小(大的、較大或正常),和分割),且將其應(yīng)用于待譯碼的塊。作為一說(shuō)明,視頻編碼器50可基于當(dāng)視頻編碼器使用64X64宏塊、32X32宏塊或16X 16宏塊大小時(shí)所產(chǎn)生的速率-失真結(jié)果而選擇使用64X64宏塊、32X32宏塊或 16 X 16宏塊來(lái)編碼特定幀或切片。一般來(lái)說(shuō),可使用兩種不同方法來(lái)設(shè)計(jì)使用大宏塊的幀內(nèi)模式。作為一個(gè)實(shí)例,在幀內(nèi)譯碼期間,可直接基于相鄰塊對(duì)塊執(zhí)行空間預(yù)測(cè)。根據(jù)本發(fā)明的技術(shù),視頻編碼器50 可直接基于塊的相鄰像素產(chǎn)生空間預(yù)測(cè)32X32塊,且直接基于塊的相鄰像素產(chǎn)生空間預(yù)測(cè)64X64塊。以此方式,與16X16幀內(nèi)塊相比,可以較大規(guī)模執(zhí)行空間預(yù)測(cè)。因此,這些技術(shù)在一些實(shí)例中可導(dǎo)致一些位速率節(jié)省,例如,每一幀或切片使用較小數(shù)目個(gè)塊或分區(qū)。作為另一實(shí)例,視頻編碼器50可將四個(gè)NXN塊分組在一起以產(chǎn)生(N*2) X (N*2) 塊,且接著編碼所述(NM)X(NM)塊。通過(guò)使用現(xiàn)有H. 264幀內(nèi)譯碼模式,視頻編碼器50 可將四個(gè)經(jīng)幀內(nèi)譯碼的塊分組在一起,借此形成大的經(jīng)幀內(nèi)譯碼的宏塊。舉例來(lái)說(shuō),可將四個(gè)經(jīng)幀內(nèi)譯碼的塊(每一者具有16X16的大小)分組在一起以形成大的32X32的經(jīng)幀內(nèi)譯碼的塊。視頻編碼器50可使用不同編碼模式(例如,根據(jù)H. 264的I_16X 16、I_8X8 或I_4X4)編碼四個(gè)對(duì)應(yīng)的NXN塊中的每一者。以此方式,可通過(guò)視頻編碼器50向每一 16X16塊指派其自身的空間預(yù)測(cè)模式,(例如)以促進(jìn)有利的編碼結(jié)果。視頻編碼器50可根據(jù)上文所論述的兩種不同方法中的任一者設(shè)計(jì)幀內(nèi)模式,且分析所述不同方法以確定哪種方法提供更好的編碼結(jié)果。舉例來(lái)說(shuō),視頻編碼器50可應(yīng)用不同的幀內(nèi)模式方法,且將其置于單一候選池中以允許其彼此競(jìng)爭(zhēng)以達(dá)到最好的速率-失真性能。通過(guò)使用不同方法之間的速率-失真比較,視頻編碼器50可確定如何編碼每一分區(qū)和/或宏塊。具體來(lái)說(shuō),視頻編碼器50可選擇針對(duì)給定宏塊產(chǎn)生最好的速率-失真性能的譯碼模式,且應(yīng)用那些譯碼模式來(lái)編碼所述宏塊。圖5為說(shuō)明大宏塊的各種分區(qū)層級(jí)的分層視圖的概念圖。圖5還表示如關(guān)于圖4A 所描述的大宏塊的各種分區(qū)層級(jí)之間的關(guān)系。如圖5的實(shí)例中所說(shuō)明,一分區(qū)層級(jí)的每一塊可具有對(duì)應(yīng)的經(jīng)譯碼塊模式(CBP)值。所述CBP值形成描述一塊或宏塊的語(yǔ)法信息的一部分。在一個(gè)實(shí)例中,CBP值各自為指示在變換和量化運(yùn)算之后在給定塊中是否存在任何非零變換系數(shù)值的一位語(yǔ)法值。在一些情況下,預(yù)測(cè)塊可能在像素內(nèi)容上非常接近于待譯碼的塊,使得全部殘余變換系數(shù)被量化成零,在所述情況下,可能不需要發(fā)射用于所述經(jīng)譯碼塊的變換系數(shù)。而是,可將用于塊的CBP值設(shè)定為0以指示經(jīng)譯碼塊不包括非零系數(shù)?;蛘?,如果塊包括至少一個(gè)非零系數(shù),則可將CBP值設(shè)定為1。解碼器60可使用CBP值來(lái)識(shí)別經(jīng)譯碼的殘余塊 (即,具有一個(gè)或一個(gè)以上非零變換系數(shù))與未經(jīng)譯碼的塊(即,不包括非零變換系數(shù))。根據(jù)本發(fā)明中所描述的技術(shù)中的一些,編碼器可基于大宏塊(包括其分區(qū))是否具有至少一個(gè)非零系數(shù)而分層地將CBP值指派到那些宏塊,且將CBP值指派到所述分區(qū)以指示哪些分區(qū)具有非零系數(shù)。大宏塊的分層CBP可促進(jìn)對(duì)大宏塊的處理以迅速地識(shí)別經(jīng)譯碼的大宏塊和未經(jīng)譯碼的大宏塊,且準(zhǔn)許識(shí)別大宏塊的每一分區(qū)層級(jí)的經(jīng)譯碼分區(qū)以確定是否有必要使用殘余數(shù)據(jù)來(lái)解碼所述塊。在一個(gè)實(shí)例中,層級(jí)零處的64 X 64像素宏塊可包括包含CBP64值(例如,一位值) 的語(yǔ)法信息,所述CBP64值用以指示整個(gè)64X64像素宏塊(包括任何分區(qū))是否具有非零系數(shù)。在一個(gè)實(shí)例中,視頻編碼器50將CBP64位“設(shè)定”(例如)到值“1”,以表示64X64 像素宏塊包括至少一個(gè)非零系數(shù)。因此,當(dāng)將CBP64值設(shè)定(例如)到值“1”時(shí),64X64像素宏塊在其中某處包括至少一個(gè)非零系數(shù)。在另一實(shí)例中,視頻編碼器50將CBP64值“清除”(例如)到值“0”,以表示64X64像素宏塊具有全零系數(shù)。因此,當(dāng)將CBP64值清除(例如)到值“0”時(shí),指示64X64像素宏塊為具有全零系數(shù)。具有為“0”的CBP64值的宏塊一般不需要在位流中發(fā)射殘余數(shù)據(jù),而具有為“ 1”的CBP64值的宏塊一般需要在位流中發(fā)射殘余數(shù)據(jù)以用于解碼所述宏塊。具有全零系數(shù)的64X64像素宏塊不需要包括用于其分區(qū)或子塊的CBP值。即,因?yàn)?4X64像素宏塊具有全零系數(shù),所以所述分區(qū)中的每一者也必定具有全零系數(shù)。相反地,包括至少一個(gè)非零系數(shù)的64X64像素宏塊可進(jìn)一步包括用于下一分區(qū)層級(jí)處的分區(qū)的CBP值。舉例來(lái)說(shuō),具有值1的CBP64可包括用于64X64塊的每一 32X32分區(qū)的呈一位值CBP32的形式的額外語(yǔ)法信息。即,在一個(gè)實(shí)例中,64X64像素宏塊的每一 32X32像素分區(qū)(例如,圖5中的層級(jí)1的四個(gè)分區(qū)塊)經(jīng)指派有CBP32值作為64X64像素宏塊的語(yǔ)法信息的一部分。與CBP64值一樣,每一 CBP32值可包含一位,所述位在對(duì)應(yīng)的32X32 像素塊具有至少一個(gè)非零系數(shù)時(shí)被設(shè)定為值1,且在對(duì)應(yīng)的32X32像素塊具有全零系數(shù)時(shí)被清除到值0。編碼器可進(jìn)一步在包含多個(gè)宏塊的經(jīng)譯碼單元(例如,幀、切片或序列)的語(yǔ)法中指示經(jīng)譯碼單元中的宏塊的最大大小,以向解碼器指示如何解譯每一宏塊的語(yǔ)法信息(例如,將哪個(gè)語(yǔ)法解碼器用于處理經(jīng)譯碼單元中的宏塊)。以此方式,具有全零系數(shù)的64X64像素宏塊可使用單一位來(lái)表示宏塊具有全零系數(shù)的事實(shí),而具有至少一個(gè)非零系數(shù)的64X 64像素宏塊可包括包含至少五個(gè)位的CBP語(yǔ)法信息用于表示64X64像素宏塊具有非零系數(shù)的第一位,和各自表示宏塊的四個(gè)32X32 像素分區(qū)中的對(duì)應(yīng)一者是否包括至少一個(gè)非零系數(shù)的四個(gè)額外位。在一些實(shí)例中,當(dāng)四個(gè)額外位中的前三者為零時(shí),可不包括第四額外位,解碼器可將其解譯為最后分區(qū)為一。艮口, 在前三個(gè)位為零時(shí)且在表示較高層級(jí)階層的位具有值1時(shí),編碼器可確定最后位具有值1。 舉例來(lái)說(shuō),可將CBP64前綴值“10001”縮短到“1000”,因?yàn)榈谝晃恢甘舅膫€(gè)分區(qū)中的至少一者具有非零系數(shù),且接下來(lái)三個(gè)零指示前三個(gè)分區(qū)具有全零系數(shù)。因此,解碼器可(例如)從位串“1000”推斷出最后分區(qū)包括非零系數(shù),而不具有向解碼器通知所述事實(shí)的顯式位。即,解碼器可將CBP64前綴“ 1000”解譯為“ 10001,,。同樣地,當(dāng)32X32像素分區(qū)包括至少一個(gè)非零系數(shù)時(shí),可將一位CBP32設(shè)定為值 “ 1 ”,且當(dāng)全部系數(shù)具有零值時(shí),將一位CBP32設(shè)定為值“0”。如果32 X 32像素分區(qū)具有為 “ 1 ”的CBP值,則那個(gè)32 X 32分區(qū)的在下一個(gè)分區(qū)層級(jí)處的分區(qū)可經(jīng)指派有CBP值,以指示相應(yīng)分區(qū)是否包括任何非零系數(shù)。因此,可在每一分區(qū)層級(jí)處以分層方式指派CBP值,直到不存在其它分區(qū)層級(jí)或不存在包括非零系數(shù)的分區(qū)為止。以上述方式,編碼器和/或解碼器可利用分層的CBP值來(lái)表示大宏塊(例如, 64X64或32X32)和其分區(qū)是否包括至少一個(gè)非零系數(shù)或全零系數(shù)。因此,編碼器可編碼數(shù)字視頻流的經(jīng)譯碼單元的大宏塊,以使得所述大宏塊包含大于16X16像素;產(chǎn)生識(shí)別所述塊的大小的塊類(lèi)型語(yǔ)法信息;產(chǎn)生用于所述塊的CBP值,以使得所述CBP值識(shí)別所述塊是否包括至少一個(gè)非零系數(shù);以及在可適用時(shí)產(chǎn)生用于所述塊的各種分區(qū)層級(jí)的額外CBP 值。在一個(gè)實(shí)例中,分層的CBP值可包含位陣列(例如,位向量),所述位陣列的長(zhǎng)度視前綴的值而定。所述陣列可進(jìn)一步表示CBP值的階層(例如,樹(shù)結(jié)構(gòu)),如圖5中所展示。 所述陣列可以寬度優(yōu)先(breadth-first)方式表示樹(shù)的節(jié)點(diǎn),其中每一節(jié)點(diǎn)對(duì)應(yīng)于陣列中的一位。在一個(gè)實(shí)例中,當(dāng)樹(shù)的節(jié)點(diǎn)具有經(jīng)設(shè)定為“1”的位時(shí),所述節(jié)點(diǎn)具有四個(gè)分支(對(duì)應(yīng)于四個(gè)分區(qū)),且當(dāng)所述位被清除到“0”時(shí),所述節(jié)點(diǎn)不具有分支。在此實(shí)例中,為了識(shí)別從特定節(jié)點(diǎn)X分岔的節(jié)點(diǎn)的值,編碼器和/或解碼器可通過(guò)計(jì)算下式來(lái)確定表示從節(jié)點(diǎn)χ分岔的節(jié)點(diǎn)的從節(jié)點(diǎn)Y開(kāi)始的四個(gè)連續(xù)位其中tree[]對(duì)應(yīng)于具有為0的開(kāi)始索引的位陣列,i為到陣列tree[]中的整數(shù)索弓丨,χ對(duì)應(yīng)于tree[]中的節(jié)點(diǎn)X的索弓丨,且y對(duì)應(yīng)于為節(jié)點(diǎn)X的第一分支節(jié)點(diǎn)的節(jié)點(diǎn)Y的索引。三個(gè)后續(xù)陣列位置(即,y+l、y+2,和y+3)對(duì)應(yīng)于節(jié)點(diǎn)X的其它分支節(jié)點(diǎn)。編碼器(例如,視頻編碼器50 (圖2))可使用現(xiàn)有方法(例如,由ITU H. 264規(guī)定的用于設(shè)定16 X 16塊的CBP值的方法)指派具有至少一個(gè)非零系數(shù)的32X32像素分區(qū)的 16X16像素分區(qū)的CBP值,以作為64X64像素宏塊的語(yǔ)法的一部分。編碼器還可基于分區(qū)的大小、對(duì)應(yīng)于分區(qū)的塊的類(lèi)型(例如,色度塊或亮度塊),或分區(qū)的其它特性而選擇具有至少一個(gè)非零系數(shù)的32X32像素分區(qū)的分區(qū)的CBP值。參看圖8和圖9進(jìn)一步詳細(xì)論述用于設(shè)定32X32像素分區(qū)的分區(qū)的CBP值的實(shí)例方法。圖6到圖9為說(shuō)明根據(jù)本發(fā)明的技術(shù)的用于設(shè)定各種經(jīng)譯碼塊模式(CBP)值的實(shí)例方法的流程圖。雖然圖6到圖9的實(shí)例方法是相對(duì)于64X64像素宏塊而論述的,但應(yīng)理解,類(lèi)似技術(shù)可適用于指派其它大小的宏塊的分層CBP值。雖然圖6到圖9的實(shí)例是相對(duì)于視頻編碼器50(圖幻而論述的,但應(yīng)理解,其它編碼器可使用類(lèi)似方法來(lái)將CBP值指派到大于標(biāo)準(zhǔn)的宏塊。同樣地,解碼器可利用類(lèi)似的、但互逆的方法來(lái)解譯宏塊的特定CBP 值的意義。舉例來(lái)說(shuō),如果在位流中所接收的經(jīng)幀間譯碼的宏塊具有為“0”的CBP值,則解碼器可不接收所述宏塊的殘余數(shù)據(jù),且可僅產(chǎn)生由運(yùn)動(dòng)向量識(shí)別的預(yù)測(cè)塊作為經(jīng)解碼的宏塊,或由相對(duì)于所述宏塊的分區(qū)的運(yùn)動(dòng)向量而識(shí)別的預(yù)測(cè)塊群組。圖6為說(shuō)明用于設(shè)定一實(shí)例64X64像素宏塊的CBP64值的實(shí)例方法的流程圖??蓪?duì)大于64X64的宏塊應(yīng)用類(lèi)似方法。最初,視頻編碼器50接收64X64像素宏塊(100)。 運(yùn)動(dòng)估計(jì)單元36和運(yùn)動(dòng)補(bǔ)償單元35可接著分別產(chǎn)生用于編碼所述宏塊的一個(gè)或一個(gè)以上運(yùn)動(dòng)向量和一個(gè)或一個(gè)以上殘余塊。變換單元38的輸出一般包含用于經(jīng)幀內(nèi)譯碼的塊或經(jīng)幀間譯碼的塊的殘余塊的殘余變換系數(shù)值陣列,所述陣列由量化單元40量化以產(chǎn)生一系列經(jīng)量化的變換系數(shù)。熵譯碼單元46可提供熵譯碼和與熵譯碼分離的其它譯碼功能。舉例來(lái)說(shuō),除 CAVLC、CABAC或其它熵譯碼功能外,視頻編碼器50的熵譯碼單元46或另一單元可確定用于大宏塊和分區(qū)的CBP值。具體來(lái)說(shuō),熵譯碼單元46可通過(guò)首先確定64X64像素宏塊是否具有至少一個(gè)非零的、經(jīng)量化的變換系數(shù)來(lái)確定所述宏塊的CBP64值(102)。當(dāng)熵譯碼單元 46確定所有變換系數(shù)具有零值時(shí)(102的“否”分支),熵譯碼單元46清除64X64宏塊的 CBP64值(例如,將用于CBP64值的位復(fù)位到“0”)(104)。當(dāng)熵譯碼單元46識(shí)別出64X64 宏塊的至少一個(gè)非零系數(shù)時(shí)(102的“是”分支),熵譯碼單元46設(shè)定CBP64值(例如,將用于CBP64值的位設(shè)定為“ 1”)(106)。當(dāng)宏塊具有全零系數(shù)時(shí),熵譯碼單元46不需要建立用于宏塊的分區(qū)的任何額外 CBP值,此可減少開(kāi)銷(xiāo)。然而,在一個(gè)實(shí)例中,當(dāng)宏塊具有至少一個(gè)非零系數(shù)時(shí),熵譯碼單元 46進(jìn)行到確定用于64X64像素宏塊的四個(gè)32X32像素分區(qū)中的每一者的CBP值(108)。 熵譯碼單元46可將關(guān)于圖7所描述的方法利用四次,每次針對(duì)所述四個(gè)分區(qū)中的一者,以建立四個(gè)CBP32值,每一 CBP32值對(duì)應(yīng)于64X64宏塊的四個(gè)32X32像素分區(qū)中的不同一者。以此方式,當(dāng)宏塊具有全零系數(shù)時(shí),熵譯碼單元46可發(fā)射具有值“0”的單一位以指示宏塊具有全零系數(shù),而當(dāng)宏塊具有至少一個(gè)非零系數(shù)時(shí),熵譯碼單元46可發(fā)射五個(gè)位用于宏塊的一位,和各自對(duì)應(yīng)于宏塊的四個(gè)分區(qū)中的一者的四個(gè)位。另外,當(dāng)分區(qū)包括至少一個(gè)非零系數(shù)時(shí),可在經(jīng)編碼位流中發(fā)送用于分區(qū)的殘余數(shù)據(jù)。與上文所論述的CBP64的實(shí)例一樣,當(dāng)四個(gè)額外位中的前三者為零時(shí),第四額外位可能不必要,因?yàn)榻獯a器可確定其具有值1。因此,在一些實(shí)例中,編碼器可僅發(fā)送三個(gè)0( S卩,“000”)而不是三個(gè)0和一個(gè)1(即, “0001”)。圖7為說(shuō)明用于設(shè)定64X64像素宏塊的32X32像素分區(qū)的CBP32值的實(shí)例方法的流程圖。最初,對(duì)于下一個(gè)分區(qū)層級(jí),熵譯碼單元46接收宏塊的32X32像素分區(qū)(例如, 關(guān)于圖6參看的四個(gè)分區(qū)中的一者)(110)。熵譯碼單元46接著通過(guò)首先確定32X32像素分區(qū)是否包括至少一個(gè)非零系數(shù)來(lái)確定用于所述分區(qū)的CBP32值(112)。當(dāng)熵譯碼單元 46確定用于分區(qū)的所有系數(shù)具有零值時(shí)(112的“否”分支),熵譯碼單元46清除CBP32值 (例如,將用于CBP32值的位復(fù)位到“0”)(114)。當(dāng)熵譯碼單元46識(shí)別出分區(qū)的至少一個(gè)非零系數(shù)時(shí)(112的“是”分支),熵譯碼單元46設(shè)定CBP32值(例如,將用于CBP32值的位設(shè)定為值“1”)(116)。在一個(gè)實(shí)例中,當(dāng)分區(qū)具有全零系數(shù)時(shí),熵譯碼單元46不會(huì)建立用于所述分區(qū)的任何額外CBP值。然而,當(dāng)分區(qū)包括至少一個(gè)非零系數(shù)時(shí),熵譯碼單元46確定用于宏塊的 32X32像素分區(qū)的四個(gè)16X 16像素分區(qū)中的每一者的CBP值。熵譯碼單元46可利用關(guān)于圖8所描述的方法來(lái)建立各自對(duì)應(yīng)于四個(gè)16X 16像素分區(qū)中的一者的四個(gè)CBP16值。以此方式,當(dāng)分區(qū)具有全零系數(shù)時(shí),熵譯碼單元46可設(shè)定具有值“0”的位以指示分區(qū)具有全零系數(shù),而當(dāng)分區(qū)具有至少一個(gè)非零系數(shù)時(shí),熵譯碼單元46可包括五個(gè)位用于分區(qū)的一個(gè)位,和各自對(duì)應(yīng)于宏塊的分區(qū)的四個(gè)子分區(qū)中的不同一者的四個(gè)位。因此,當(dāng)前一分區(qū)層級(jí)中的分區(qū)具有至少一個(gè)非零變換系數(shù)值時(shí),每一額外分區(qū)層級(jí)可呈現(xiàn)四個(gè)額外CBP位。作為一個(gè)實(shí)例,如果64X64宏塊具有為1的CBP值,且四個(gè)32X 32分區(qū)具有分別為1、0、1和1的CBP值,則直到那個(gè)點(diǎn)的總的CBP值為11011??商砑佑糜?2X32分區(qū)的額外分區(qū)(例如,16X16分區(qū))的額外CBP位。圖8為說(shuō)明用于設(shè)定64X64像素宏塊的32X32像素分區(qū)的16X 16像素分區(qū)的 CBP16值的實(shí)例方法的流程圖。對(duì)于特定16X16像素分區(qū),視頻編碼器50可利用如由視頻譯碼標(biāo)準(zhǔn)(例如,ITU H. 264)規(guī)定的CBP值,如下文所論述。對(duì)于其它16X 16分區(qū),視頻編碼器50可利用根據(jù)本發(fā)明的其它技術(shù)的CBP值。最初,如圖8中所展示,熵譯碼單元46 接收16 X 16分區(qū)(例如,關(guān)于圖7所描述的32X32分區(qū)的16 X 16分區(qū)中的一者)(120)。熵譯碼單元46可接著確定16X 16像素分區(qū)的運(yùn)動(dòng)分區(qū)是否大于8X8像素塊 (122)。一般來(lái)說(shuō),運(yùn)動(dòng)分區(qū)描述其中運(yùn)動(dòng)較為集中的分區(qū)。舉例來(lái)說(shuō),可將僅具有一個(gè)運(yùn)動(dòng)向量的16X16像素分區(qū)視為一 16X16運(yùn)動(dòng)分區(qū)。類(lèi)似地,對(duì)于具有各自具有一個(gè)運(yùn)動(dòng)向量的兩個(gè)8X16分區(qū)的16 X 16像素分區(qū),可將兩個(gè)8X16分區(qū)中的每一者視為一 8X16 運(yùn)動(dòng)分區(qū)。在任何情況下,在圖8的實(shí)例中,當(dāng)運(yùn)動(dòng)分區(qū)不大于8X8像素塊時(shí)(122的“否” 分支),熵譯碼單元46以與由ITU H. 264規(guī)定的方式相同的方式將CBP值指派到16X16像素分區(qū)(124)。當(dāng)存在16X 16像素分區(qū)的大于8X8像素塊的運(yùn)動(dòng)分區(qū)時(shí)(122的“是”分支),熵譯碼單元46使用步驟125之后的步驟建構(gòu)和發(fā)送Iumacbpie值(12 。在圖8的實(shí)例中, 為了建構(gòu)Iumacbpie值,熵譯碼單元46確定分區(qū)的16 X 16像素亮度分量是否具有至少一個(gè)非零系數(shù)(126)。在圖8的實(shí)例中,當(dāng)16X16像素亮度分量具有全零系數(shù)時(shí)(1 的“否” 分支),熵譯碼單元46指派根據(jù)ITU H. 264的經(jīng)譯碼塊模式色度部分的CBP16值(128)。當(dāng)熵譯碼單元46確定16X16像素亮度分量具有至少一個(gè)非零系數(shù)時(shí)(1 的 “是”分支),熵譯碼單元46確定16X16像素分區(qū)的變換大小旗標(biāo)(130)。變換大小旗標(biāo)一般指示正用于所述分區(qū)的變換。由變換大小旗標(biāo)表示的變換可包括4X4變換、8X8變換、 16X 16變換、16X8變換或8X 16變換中的一者。變換大小旗標(biāo)可包含整數(shù)值,其對(duì)應(yīng)于識(shí)別可能變換中的一者的所列舉值。熵譯碼單元46可接著確定變換大小旗標(biāo)是否表示變換大小大于或等于16 X 8 (或8 X 16) (132)。在圖8的實(shí)例中,當(dāng)變換大小旗標(biāo)不指示變換大小大于或等于16X8 (或8X16) 時(shí)(132的“否”分支),熵譯碼單元46將一值指派到根據(jù)ITU H. 264的CBP16(134)。當(dāng)變換大小旗標(biāo)指示變換大小大于或等于16X8(或8X16)時(shí)(132的“是”分支),熵譯碼單元46接著確定16 X 16像素分區(qū)的類(lèi)型是否為兩個(gè)16 X 8像素分區(qū)或兩個(gè)8 X 16像素分區(qū) (136)。在圖8的實(shí)例中,當(dāng)16X 16像素分區(qū)的類(lèi)型不是兩個(gè)16X8像素分區(qū)且不是兩個(gè)8X16像素分區(qū)時(shí)(138的“否”分支),熵譯碼單元46指派根據(jù)由ITU H. 264規(guī)定的色度經(jīng)譯碼塊分區(qū)的CBP16值(140)。當(dāng)16 X 16像素分區(qū)的類(lèi)型為兩個(gè)16 X 8或兩個(gè)8 X 16 像素分區(qū)時(shí)(138的“是”分支),熵譯碼單元46還使用由ITU H. 264規(guī)定的色度經(jīng)譯碼塊模式,但另外向CBP16值指派二位lumal6X8_CBP值(例如,根據(jù)關(guān)于圖9所描述的方法) (142)。圖9為說(shuō)明用于確定二位lumal6X8_CBP值的實(shí)例方法的流程圖。熵譯碼單元 46接收經(jīng)進(jìn)一步分割成兩個(gè)16X8或兩個(gè)8X 16像素分區(qū)的16X 16像素分區(qū)(150)。熵譯碼單元46 —般根據(jù)16X 16像素分區(qū)的對(duì)應(yīng)子塊是否包括至少一個(gè)非零系數(shù)來(lái)指派 lumal6X8_CBP 的每一位。熵譯碼單元46確定16 X 16像素分區(qū)的第一子塊是否具有至少一個(gè)非零系數(shù),以確定第一子塊是否具有至少一個(gè)非零系數(shù)(152)。當(dāng)?shù)谝蛔訅K具有全零系數(shù)時(shí)(152的“否” 分支),熵譯碼單元46清除lumal6X8_CBP的第一位(例如,將lumal6X8_CBP
指派為值“0”)(巧4)。當(dāng)?shù)谝蛔訅K具有至少一個(gè)非零系數(shù)時(shí)(152的“是”分支),熵譯碼單元46 設(shè)定 lumal6X8_CBP 的第一位(例如,將 lumal6X8_CBP
指派為值“1”)(156)。熵譯碼單元46還確定16X16像素分區(qū)的第二子分區(qū)是否具有至少一個(gè)非零系數(shù) (158)。當(dāng)?shù)诙臃謪^(qū)具有全零系數(shù)時(shí)(158的“否”分支),熵譯碼單元46清除lumaie X 8_ CBP的第二位(例如,將lumal6X8_CBP[1]指派為值“0”)(160)。當(dāng)?shù)诙訅K具有至少一個(gè)非零系數(shù)時(shí)(158的“是”分支),熵譯碼單元46接著設(shè)定lumal6X8_CBP的第二位(例如,將 lumal6X8_CBP[l]指派為值“1,,)(162)。以下偽碼提供關(guān)于圖8和圖9所描述的方法的一個(gè)實(shí)例實(shí)施方案
權(quán)利要求
1.一種方法,其包含用視頻編碼器接收具有大于16X 16像素的大小的視頻塊; 將所述塊分割成若干分區(qū); 使用第一編碼模式來(lái)編碼所述分區(qū)中的一者;使用不同于所述第一編碼模式的第二編碼模式來(lái)編碼所述分區(qū)中的另一者;以及產(chǎn)生指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息。
2.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含產(chǎn)生包含用于所述塊的經(jīng)譯碼數(shù)據(jù)和所述塊類(lèi)型語(yǔ)法信息的經(jīng)編碼視頻位流。
3.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含基于編碼成本分析來(lái)選擇用于編碼所述分區(qū)的所述編碼模式。
4.根據(jù)權(quán)利要求3所述的方法,其進(jìn)一步包含基于所述編碼成本分析來(lái)選擇對(duì)所述塊的所述分割,其中所述編碼成本分析包括對(duì)編碼模式和所述分區(qū)的位速率和失真的分析。
5.根據(jù)權(quán)利要求1所述的方法,其中所述第一編碼模式包括幀內(nèi)編碼模式且所述第二編碼模式包括幀間編碼模式。
6.根據(jù)權(quán)利要求1所述的方法,其中所述第一編碼模式包括第一幀內(nèi)編碼模式且所述第二編碼模式包括不同于所述第一幀內(nèi)編碼模式的第二幀內(nèi)編碼模式。
7.根據(jù)權(quán)利要求1所述的方法,其中所述第一編碼模式包括第一幀間編碼模式且所述第二編碼模式包括不同于所述第一幀間編碼模式的第二幀間編碼模式。
8.根據(jù)權(quán)利要求1所述的方法,其中所述視頻塊具有至少64X64像素的大小。
9.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含產(chǎn)生對(duì)應(yīng)于所述分區(qū)中的相應(yīng)者的量化參數(shù)修改值;以及在對(duì)所述分區(qū)的編碼期間根據(jù)所述量化參數(shù)修改值中的相應(yīng)者將所述分區(qū)量化。
10.一種設(shè)備,其包含視頻編碼器,所述視頻編碼器經(jīng)配置以 接收具有大于16X16像素的大小的視頻塊;將所述塊分割成若干分區(qū); 使用第一編碼模式來(lái)編碼所述分區(qū)中的一者;使用不同于所述第一編碼模式的第二編碼模式來(lái)編碼所述分區(qū)中的另一者;以及產(chǎn)生指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述視頻編碼器經(jīng)配置以產(chǎn)生包含用于所述塊的經(jīng)譯碼數(shù)據(jù)和所述塊類(lèi)型語(yǔ)法信息的經(jīng)編碼視頻位流。
12.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述視頻編碼器經(jīng)配置以基于編碼成本分析來(lái)選擇用于編碼所述分區(qū)的所述編碼模式。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述視頻編碼器經(jīng)配置以基于所述編碼成本分析來(lái)選擇對(duì)所述塊的所述分割,其中所述編碼成本分析包括對(duì)編碼模式和所述分區(qū)的位速率和失真的分析。
14.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述第一編碼模式包括幀內(nèi)編碼模式且所述第二編碼模式包括幀間編碼模式。
15.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述第一編碼模式包括第一幀內(nèi)編碼模式且所述第二編碼模式包括不同于所述第一幀內(nèi)編碼模式的第二幀內(nèi)編碼模式。
16.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述第一編碼模式包括第一幀間編碼模式且所述第二編碼模式包括不同于所述第一幀間編碼模式的第二幀間編碼模式。
17.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述視頻塊具有至少64X64像素的大小。
18.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述設(shè)備包含無(wú)線通信裝置。
19.一種設(shè)備,其包含用于接收具有大于16X16像素的大小的視頻塊的裝置;用于將所述塊分割成若干分區(qū)的裝置;用于使用第一編碼模式來(lái)編碼所述分區(qū)中的一者的裝置;用于使用不同于所述第一編碼模式的第二編碼模式來(lái)編碼所述分區(qū)中的另一者的裝置;以及用于產(chǎn)生指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息的裝置。
20.根據(jù)權(quán)利要求19所述的設(shè)備,其進(jìn)一步包含用于產(chǎn)生包含用于所述塊的經(jīng)譯碼數(shù)據(jù)和所述塊類(lèi)型語(yǔ)法信息的經(jīng)編碼視頻位流的裝置。
21.根據(jù)權(quán)利要求19所述的設(shè)備,其進(jìn)一步包含用于基于編碼成本分析來(lái)選擇用于編碼所述分區(qū)的所述編碼模式的裝置。
22.根據(jù)權(quán)利要求21所述的設(shè)備,其進(jìn)一步包含用于基于所述編碼成本分析來(lái)選擇對(duì)所述塊的所述分割的裝置,其中所述編碼成本分析包括對(duì)所述分區(qū)的幀內(nèi)編碼和幀間編碼的位速率和失真的分析。
23.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述第一編碼模式包括幀內(nèi)編碼模式且所述第二編碼模式包括幀間編碼模式。
24.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述第一編碼模式包括第一幀內(nèi)編碼模式且所述第二編碼模式包括不同于所述第一幀內(nèi)編碼模式的第二幀內(nèi)編碼模式。
25.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述第一編碼模式包括第一幀間編碼模式且所述第二編碼模式包括不同于所述第一幀間編碼模式的第二幀間編碼模式。
26.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述視頻塊具有至少64X64像素的大小。
27.一種計(jì)算機(jī)可讀存儲(chǔ)媒體,其經(jīng)編碼有用于致使視頻編碼器執(zhí)行以下操作的指令接收具有大于16X16像素的大小的視頻塊;將所述塊分割成若干分區(qū);使用第一編碼模式來(lái)編碼所述分區(qū)中的一者;使用不同于所述第一編碼模式的第二編碼模式來(lái)編碼所述分區(qū)中的另一者;以及產(chǎn)生指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息。
28.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其進(jìn)一步包含用于致使所述視頻編碼器執(zhí)行以下操作的指令產(chǎn)生包含用于所述塊的經(jīng)譯碼數(shù)據(jù)和所述塊類(lèi)型語(yǔ)法信息的經(jīng)編碼視頻位流。
29.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其進(jìn)一步包含用于致使所述視頻編碼器執(zhí)行以下操作的指令基于編碼成本分析來(lái)選擇用于編碼所述分區(qū)的所述編碼模式。
30.根據(jù)權(quán)利要求四所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其進(jìn)一步包含用于致使所述視頻編碼器執(zhí)行以下操作的指令基于所述編碼成本分析來(lái)選擇對(duì)所述塊的所述分割,其中所述編碼成本分析包括對(duì)所述分區(qū)的幀內(nèi)編碼和幀間編碼的位速率和失真的分析。
31.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述第一編碼模式包括幀內(nèi)編碼模式且所述第二編碼模式包括幀間編碼模式。
32.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述第一編碼模式包括第一幀內(nèi)編碼模式且所述第二編碼模式包括不同于所述第一幀內(nèi)編碼模式的第二幀內(nèi)編碼模式。
33.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述第一編碼模式包括第一幀間編碼模式且所述第二編碼模式包括不同于所述第一幀間編碼模式的第二幀間編碼模式。
34.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述視頻塊具有至少64X64像素的大小。
35.一種方法,其包含用視頻解碼器接收具有大于16X16像素的大小的視頻塊,其中將所述塊分割成若干分區(qū),用第一編碼模式來(lái)編碼所述分區(qū)中的一者且用不同于所述第一編碼模式的第二編碼模式來(lái)編碼所述分區(qū)中的另一者;接收指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息;以及基于所述塊類(lèi)型語(yǔ)法信息來(lái)解碼所述視頻塊。
36.根據(jù)權(quán)利要求35所述的方法,其中所述第一編碼模式包括幀內(nèi)編碼模式且所述第二編碼模式包括幀間編碼模式。
37.根據(jù)權(quán)利要求35所述的方法,其中所述第一編碼模式包括第一幀內(nèi)編碼模式且所述第二編碼模式包括不同于所述第一幀內(nèi)編碼模式的第二幀內(nèi)編碼模式。
38.根據(jù)權(quán)利要求35所述的方法,其中所述第一編碼模式包括第一幀間編碼模式且所述第二編碼模式包括不同于所述第一幀間編碼模式的第二幀間編碼模式。
39.根據(jù)權(quán)利要求35所述的方法,其中所述視頻塊具有至少64X64像素的大小。
40.根據(jù)權(quán)利要求35所述的方法,其進(jìn)一步包含接收用于所述分區(qū)中的每一者的量化參數(shù)修改值,其中解碼所述視頻塊包含根據(jù)所述量化參數(shù)修改值將所述分區(qū)解量化。
41.一種設(shè)備,其包含視頻解碼器,所述視頻解碼器經(jīng)配置以接收具有大于16X16像素的大小的視頻塊,其中所述塊經(jīng)分割成若干分區(qū),所述分區(qū)中的一者是用第一編碼模式來(lái)編碼且所述分區(qū)中的另一者是用不同于所述第一編碼模式的第二編碼模式來(lái)編碼;接收指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息;以及基于所述塊類(lèi)型語(yǔ)法信息來(lái)解碼所述視頻塊。
42.根據(jù)權(quán)利要求41所述的設(shè)備,其中所述第一編碼模式包括幀內(nèi)編碼模式且所述第二編碼模式包括幀間編碼模式。
43.根據(jù)權(quán)利要求41所述的設(shè)備,其中所述第一編碼模式包括第一幀內(nèi)編碼模式且所述第二編碼模式包括不同于所述第一幀內(nèi)編碼模式的第二幀內(nèi)編碼模式。
44.根據(jù)權(quán)利要求41所述的設(shè)備,其中所述第一編碼模式包括第一幀間編碼模式且所述第二編碼模式包括不同于所述第一幀間編碼模式的第二幀間編碼模式。
45.根據(jù)權(quán)利要求41所述的設(shè)備,其中所述視頻塊具有至少64X64像素的大小。
46.根據(jù)權(quán)利要求40所述的設(shè)備,其中所述設(shè)備包含無(wú)線通信裝置。
47.一種設(shè)備,其包含用于接收具有大于16X16像素的大小的視頻塊的裝置,其中所述塊經(jīng)分割成若干分區(qū),所述分區(qū)中的一者是用第一編碼模式來(lái)編碼且所述分區(qū)中的另一者是用不同于所述第一編碼模式的第二編碼模式來(lái)編碼;用于接收指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息的裝置;以及用于基于所述塊類(lèi)型語(yǔ)法信息來(lái)解碼所述視頻塊的裝置。
48.根據(jù)權(quán)利要求47所述的設(shè)備,其中所述第一編碼模式包括幀內(nèi)編碼模式且所述第二編碼模式包括幀間編碼模式。
49.根據(jù)權(quán)利要求47所述的設(shè)備,其中所述第一編碼模式包括第一幀內(nèi)編碼模式且所述第二編碼模式包括不同于所述第一幀內(nèi)編碼模式的第二幀內(nèi)編碼模式。
50.根據(jù)權(quán)利要求47所述的設(shè)備,其中所述第一編碼模式包括第一幀間編碼模式且所述第二編碼模式包括不同于所述第一幀間編碼模式的第二幀間編碼模式。
51.根據(jù)權(quán)利要求47所述的設(shè)備,其中所述視頻塊具有至少64X64像素的大小。
52.一種計(jì)算機(jī)可讀存儲(chǔ)媒體,其經(jīng)編碼有用于致使視頻解碼器執(zhí)行以下操作的指令用視頻解碼器接收具有大于16X16像素的大小的視頻塊,其中所述塊經(jīng)分割成若干分區(qū),所述分區(qū)中的一者是用第一編碼模式來(lái)編碼且所述分區(qū)中的另一者是用不同于所述第一編碼模式的第二編碼模式來(lái)編碼;接收指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息;以及基于所述塊類(lèi)型語(yǔ)法信息來(lái)解碼所述視頻塊。
53.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述第一編碼模式包括幀內(nèi)編碼模式且所述第二編碼模式包括幀間編碼模式。
54.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述第一編碼模式包括第一幀內(nèi)編碼模式且所述第二編碼模式包括不同于所述第一幀內(nèi)編碼模式的第二幀內(nèi)編碼模式。
55.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述第一編碼模式包括第一幀間編碼模式且所述第二編碼模式包括不同于所述第一幀間編碼模式的第二幀間編碼模式。
56.根據(jù)權(quán)利要求52所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述視頻塊具有至少64X64像素的大小。
全文摘要
本發(fā)明描述用于使用大于由常規(guī)視頻編碼和解碼標(biāo)準(zhǔn)規(guī)定的宏塊的宏塊來(lái)編碼和解碼數(shù)字視頻數(shù)據(jù)的技術(shù)。舉例來(lái)說(shuō),所述技術(shù)包括使用包含大于16×16像素(例如64×64像素)的宏塊來(lái)編碼和解碼視頻流??蓪⒚恳缓陦K分割成兩個(gè)或兩個(gè)以上分區(qū),且可使用不同模式來(lái)編碼所述分區(qū)中的兩者或兩者以上。在一個(gè)實(shí)例中,一種設(shè)備包括視頻編碼器,所述視頻編碼器經(jīng)配置以接收具有大于16×16像素的大小的視頻塊;將所述塊分割成若干分區(qū);使用第一編碼模式來(lái)編碼所述分區(qū)中的一者;使用不同于所述第一編碼模式的第二編碼模式來(lái)編碼所述分區(qū)中的另一者;以及產(chǎn)生指示所述塊的所述大小并識(shí)別所述分區(qū)和用于編碼所述分區(qū)的所述編碼模式的塊類(lèi)型語(yǔ)法信息。
文檔編號(hào)H04N7/26GK102172023SQ200980139143
公開(kāi)日2011年8月31日 申請(qǐng)日期2009年9月29日 優(yōu)先權(quán)日2008年10月3日
發(fā)明者葉琰, 陳培松, 馬爾塔·卡切維奇 申請(qǐng)人:高通股份有限公司