專利名稱:用于建模視頻信號的編碼信息來壓縮/解壓該信息的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種使用熵編碼來建模視頻信號的編碼信息以壓或解壓該編碼信 息的方法。
背景技術(shù):
可縮放視頻編解碼器(svc) —種將視頻編碼為具有最高圖像質(zhì)量的畫面序列同時確保編碼畫面序列的部分(具體而言,間歇地從全部幀序列選擇的部分幀序 列)可被解碼并用于以低圖像質(zhì)量表示該視頻。雖然可以通過接收和處理根據(jù)可縮放方案編碼的畫面序列的一部分來表現(xiàn)低圖像質(zhì)量的視頻,但是仍然存在一個問題圖像質(zhì)量在比特率降低時顯著下降。解 決該問題的一個方案是為低比特率提供輔助畫面序列,例如具有小屏幕尺寸和/或 低幀速率的畫面序列。輔助畫面序列被稱為基層,而主畫面序列被稱為增強(qiáng)層。當(dāng)在解碼器中使用 時,該主畫面序列也被稱為基于該基層被解碼的當(dāng)前層。。SVC可與MPEG-4視頻編解碼器或MPEG-4先進(jìn)視頻編解碼器(AVC)結(jié)合 使用,該SVC也被稱為"H.264"。為了根據(jù)相鄰編碼信息自適應(yīng)地應(yīng)用作為熵編 碼方案的二進(jìn)制算術(shù)編碼,需要定義一種編碼或解碼視頻編解碼器的編碼信息(例 如,語法信息)的方法。發(fā)明內(nèi)容本發(fā)明的一個目標(biāo)是提供一種使用上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC) 來上下文建模編碼信息以增加數(shù)據(jù)壓縮率的方法,其中CABAC是在可擴(kuò)展編碼方 案與MPEG-4相結(jié)合時AVC的熵編碼方案。本發(fā)明的該目標(biāo)可通過提供一種建模方法來實(shí)現(xiàn),其中,基于與第一層(例 如,當(dāng)前層)不同的第二層(例如,基層)的編碼信息來確定有關(guān)第一層中圖像塊 編碼信息的概率編碼的函數(shù)的起始值。在本發(fā)明的一個實(shí)施例中,能夠被用來確定編碼信息的概率編碼函數(shù)的起始值的標(biāo)志包括標(biāo)志"base—mode—flag",其指示以內(nèi)部模式編碼的圖像數(shù)據(jù)或者在 第二層內(nèi)的一個對應(yīng)于該圖像塊的塊的運(yùn)動向量信息是否要被用于該圖像塊;標(biāo)志 "base—mode—refinement—flag",其指示該圖像塊是否需要細(xì)化,以便該圖像塊可 使用在第二層內(nèi)的一個與該圖像塊相對應(yīng)的塊的運(yùn)動向量信息;標(biāo)志 "residual_prediction—flag",其指示是否已使用從第二層內(nèi)一個與該圖像塊相對應(yīng) 的塊的殘留數(shù)據(jù)預(yù)測的數(shù)據(jù)來編碼該圖像塊中的殘留數(shù)據(jù);標(biāo)志"intra—baSe_flag", 其指示該圖像塊的圖像數(shù)據(jù)是否已基于在第二層內(nèi)的一個與該圖像塊相對應(yīng)的內(nèi) 部模式塊的圖像數(shù)據(jù)編碼為差異數(shù)據(jù);標(biāo)志"mvd—ref_lX",其指示為使用在第 二層內(nèi)的一個與該圖像塊相對應(yīng)的塊的運(yùn)動向量信息獲取該圖像塊的運(yùn)動向量所 需要的細(xì)化值;以及標(biāo)志"motion_prediction—flag —IX",其指示是否要使用在第 二層內(nèi)的一個與該圖像塊相對應(yīng)的塊的運(yùn)動向量作為該圖像塊的預(yù)測運(yùn)動向量。在本發(fā)明的另一實(shí)施例中,與該圖像塊的編碼信息相對應(yīng)的在第二層內(nèi)的與 該圖像塊相對應(yīng)的一個塊的編碼信息被用作第二層的編碼信息。在本發(fā)明的另一實(shí)施例中,指示在第二層內(nèi)的一個與該圖像塊相對應(yīng)的塊是 否已按中間模式或內(nèi)部模式編碼的信息被用作第二層的編碼信息。在本發(fā)明的另一實(shí)施例中,所述起始值基于在第二層內(nèi)的一個與該圖像塊相 對應(yīng)的塊的分割信息是否等同于該圖像的分割信息來確定。在本發(fā)明的另一實(shí)施例中,所述起始值基于在第二層內(nèi)的一個與該圖像塊 相對應(yīng)的塊的量化參數(shù)值或者基于該量化參數(shù)值與圖像塊的量化參數(shù)值之間 的差來確定。在本發(fā)明的另一實(shí)施例中,所述起始值基于圖像塊的運(yùn)動向量和在第二層內(nèi) 的一個與該圖像塊相對應(yīng)的塊的運(yùn)動向量來確定。在本發(fā)明的另一實(shí)施例中,所述起始值基于指示圖像塊的基準(zhǔn)畫面的值是否 等同于指示在第二層內(nèi)的一個與該圖像塊相對應(yīng)的塊的基準(zhǔn)畫面的值來確定。在本發(fā)明的另一實(shí)施例中,所述起始值基于圖像塊的空間分辨率是否等同于 在第二層內(nèi)的一個與該圖像塊相對應(yīng)的塊的空間分辨率來確定。在本發(fā)明的另一實(shí)施例中,所述起始值基于指示是否有0以外的值存在于在 第二層內(nèi)的一個與該圖像塊相對應(yīng)的塊內(nèi)的塊模式信息來確定。在本發(fā)明的另一實(shí)施例中,為了確定所述起始值,基于第二層的編碼信息選 擇兩個常數(shù)"m"和"n",基于選定的常數(shù)"m"和"n"以及與第二層編碼相關(guān)聯(lián)的信息(例如,第二層的量化參數(shù)值、第一和第二層的量化參數(shù)值之間的差、或 者第一和第二層之間的空間分辨率之比)來確定中間值,并且基于該中間值是否大 于預(yù)定值來確定編碼信息的起始概率值和MPS。附圖簡述
圖1是一種根據(jù)本發(fā)明執(zhí)行上下文建模的增強(qiáng)層編碼器的CABAC執(zhí)行器的框圖;圖2示出了輸入編碼信息二進(jìn)制化的一個示例;圖3示出了一種用于對編碼信息進(jìn)行概率編碼的上下文建模的方法;圖4示出了一用于為概率編碼確定起始值的例程;以及圖5是一種根據(jù)本發(fā)明執(zhí)行上下文建模的增強(qiáng)層編碼器的CABAC執(zhí)行器的框圖;圖6示出了根據(jù)本發(fā)明的塊圖案信息;圖7示出了根據(jù)本發(fā)明如何使用塊圖案信息和殘留預(yù)測指示符信息來執(zhí)行上 下文建模。本發(fā)明的實(shí)施方式現(xiàn)在將對其示例在附圖中示出的本發(fā)明較佳實(shí)施例做出詳細(xì)參考。圖1是一種根據(jù)本發(fā)明較佳實(shí)施方式的增強(qiáng)層編碼器的CABAC執(zhí)行器的框 圖。圖1中所示的CABAC執(zhí)行器包括二進(jìn)制化器101、上下文建模器102、以及 算術(shù)編碼器110。 二進(jìn)制化器101根據(jù)指定方案將輸入的非二進(jìn)制值編碼信息二進(jìn) 制化。具體地,二進(jìn)制化器101將非二進(jìn)制值語法元素轉(zhuǎn)換成二進(jìn)制串,如圖1 所示。上下文建模器102不僅基于同一層(本示例中的增強(qiáng)層)中的相鄰塊內(nèi)的編 碼信息,還基于與二進(jìn)制值編碼信息相關(guān)的基層編碼信息或?qū)娱g關(guān)系信息10,建 模二進(jìn)制值編碼信息的每一比特。算術(shù)編碼器110基于設(shè)定模型對輸入比特執(zhí)行算 術(shù)編碼。算術(shù)編碼器110包括常規(guī)編碼引擎103和旁路編碼引擎104,其中的常規(guī)編碼 引擎103基于由上下文建模器102建模的變量(具體地,概率函數(shù)和概率函數(shù)的初 始值)對編碼信息的各比特執(zhí)行算術(shù)編碼,而旁路編碼引擎104對由于編碼信息的 1比特和0比特出現(xiàn)概率幾乎相同而未從建模中獲益的編碼信息執(zhí)行算術(shù)編碼。涉及建模輸入編碼信息的本發(fā)明并非直接與基于被建模的變量的算術(shù)編碼程序有關(guān)。于是,因其對理解本發(fā)明不是必須的,在此省略與算術(shù)編碼器iio相關(guān)聯(lián)的比特壓縮(熵編碼)的描述。當(dāng)輸入的編碼信息具有非二進(jìn)制值時,圖1所示的CABAC執(zhí)行器就通過二 進(jìn)制化器101 二進(jìn)制化該輸入編碼信息的值。圖2示出了二進(jìn)制化的一個示例。圖 2示例的編碼信息與宏塊類型(mb—type)相關(guān)聯(lián)。各宏塊類型(Direct(直接)、Intra(內(nèi)部)、P—16x16、 P—16x8、 P—8x16、以及P_8x8)根據(jù)預(yù)定方案(或變換表) 分配給相應(yīng)的二進(jìn)制值。其他的編碼信息則根據(jù)以與圖2類似的方式為相應(yīng)各元素 指定的其他方案(或其他變換表)而進(jìn)行二進(jìn)制化。為進(jìn)行比特壓縮,將通過上述二進(jìn)制化獲取的各比特輸入算術(shù)編碼器110。在 編碼信息中具有相同的0和1比特值出現(xiàn)概率的編碼信息的各比特被直接輸入旁路 編碼引擎104,而在編碼信息中具有不同的0和1比特值出現(xiàn)概率的編碼信息的各 比特則被輸入上下文建模器102,以使得各輸入比特經(jīng)受建模進(jìn)程。上下文建模器102基于與相鄰宏塊的相應(yīng)編碼信息的各比特值和/或與從基層 編碼器(未示出)中接收的相應(yīng)編碼信息的值相關(guān)的編碼信息,或者基于有關(guān)增強(qiáng) 層和基層之間關(guān)系的信息10,來對增強(qiáng)層中的輸入編碼信息的各比特執(zhí)行建模。 建模是一個選擇概率函數(shù)并確定該概率函數(shù)的起始值的過程。如圖3所示,根據(jù)編 碼信息確定偏移值(…,k-l、 k或k+l…),從而選擇編碼信息的概率函數(shù)(…,f^、 fk或fkw…),并根據(jù)與該編碼信息相關(guān)的信息從偏移值確定索引變量"ctxldxlnc" 的值。隨著索引變量"ctxldxlnc"的值被確定,就可確定與概率函數(shù)一并使用的 "valMPS"和"pStateldx"的起始值。隨著"pStateldx"的起始值被確定,就可如 圖3所示確定LPS (或MPS)的起始概率。因此,常規(guī)編碼引擎103就從確定的 "valMPS"和"pStateldx"的起始值開始,使用被選概率函數(shù)來編碼(或壓縮) 輸入編碼信息的各比特?,F(xiàn)在提出一種用于在上下文建模器102執(zhí)行建模時確定索引變量"ctxldxlnc" 的值的方法的詳細(xì)示例。下文提出的多個示例僅僅是基于與特定編碼信息的值相關(guān) 的編碼信息或者基于增強(qiáng)層和基層之間關(guān)系來建模增強(qiáng)層中的特定輸入編碼信息 的方法的示例。如此,本發(fā)明并不局限于下文提出的示例,并且以基于與編碼信息 的元素值相關(guān)的編碼信息或者基于增強(qiáng)層和基層之間關(guān)系來建模增強(qiáng)層中編碼信 息為特征的任何方法都落在本發(fā)明的范圍內(nèi)。首先,將給出對多種用于確定標(biāo)志"base—mode一flag"的索引變量的"ctxldxlnc" 的方法的描述,其中的標(biāo)志"base—mode_flag"指示在基層內(nèi)的一個對應(yīng)于一個宏塊的塊的編碼信息(例如,運(yùn)動向量信息或內(nèi)部模式圖像數(shù)據(jù))是否要用于該宏塊。1-1) . ctxldxlnc = condTermFlagA + condTermFlagB + condTermFlagBase在此,"A"和"B"指示位于當(dāng)前宏塊X上側(cè)和左側(cè)的相鄰宏塊。標(biāo)志 "condTermFlagN" (N = A或B)在宏塊N不可用或者在宏塊N的標(biāo)志 "base—mode—flag"為0的情況下具有"0"值,否則就具有"1"值。類似地,標(biāo) 志"condTermFlagBase"在與當(dāng)前宏塊X相對應(yīng)的基層內(nèi)的塊未出現(xiàn)或者在相應(yīng) 塊的標(biāo)志"base—mode—flag"為0的情況下具有"0"值,否則就具有"1"值。艮口, 基層的相應(yīng)編碼信息的值也被用作確定索引變量"ctxldxlnc"的值的基礎(chǔ)。這表明 用于概率編碼的起始值取決于基層的相應(yīng)編碼信息的值而變化。1-2) . ctxldxlnc = condTermFlagA'+ condTermFlagB' + condTermFlagBase'在此,塊的"condTermFlag'"取決于該塊是處于中間模式還是處于內(nèi)部模式 而被分配"0"或"1"的值。例如,標(biāo)志"condTermFlagBase'"在基層內(nèi)與當(dāng)前 宏塊X相應(yīng)的塊處于中間模式的情況下具有"0"(或"1")值,而在相應(yīng)的塊 處于內(nèi)部模式的情況下具有"1"(或"0")值。在此方法中,兩個相鄰塊A和B以及基層內(nèi)相應(yīng)塊的模式(中間或內(nèi)部模式) 被用作確定編碼標(biāo)志"base_mode—flag"的比特的概率函數(shù)起始值的基礎(chǔ)?;蛘?,可以僅使用標(biāo)志"condTermFlagBase'"(即,僅僅是基層內(nèi)相應(yīng)塊的 模式)作為確定索引變量"ctxldxlnc"的起始值的基礎(chǔ),以使得該起始值僅取決于 標(biāo)志"condTermFlagBase'"的值變化。1-3) . ctxldxlnc = (BaseBlkSize == EnhanceBlkSize) 1:0 + condTermFlagA + condTermFlagB在此方法中,或者是指示基層中的塊的分割是否與增強(qiáng)層中塊的分割等同的 值(例如,當(dāng)?shù)韧瑫r值為"1"而不等同時值為"0")或者是指示增強(qiáng)層中的塊的 大小是否與基層中相應(yīng)的塊的大小等同的值(例如,當(dāng)?shù)韧瑫r值為"1"而不等同 時值為"0")可被用作確定概率函數(shù)起始值的基礎(chǔ)。1-4) . ctxldxlnc = condTermFlagA" + condTermFlagB" + condTermFlagBase"在此,塊的標(biāo)志"condTermFlag〃"在該塊的量化參數(shù)具有等于或大于預(yù)定閾 值的情況下被分配"1"值,否則就被分配"0"的值。在此方法中,兩個相鄰塊A 和B的量化參數(shù)以及基層內(nèi)相應(yīng)塊的量化參數(shù)被用作確定編碼標(biāo)志 "base—mode—flag "的比特的概率函數(shù)起始值的基礎(chǔ)。塊的標(biāo)志"condTermFlag""還可以取決于該塊的量化參數(shù)的值和另一量化參數(shù)的值之間的差而不是取決于該塊的量化參數(shù)的值來被分配"1"或"0"的值,由此基于標(biāo)志"condTermFlag〃"的值來確定索引"ctxldxlnc"的值。例如,塊N的 標(biāo)志"condTermFlagN〃"在該塊N的量化參數(shù)的值和基層中與塊N相對應(yīng)的塊的 量化參數(shù)的值之間的差等于或大于預(yù)定閾值的情況下被分配"1"值,否則該標(biāo)志 "condTermFlagN""就被分配"0"值。在此示例中,"condTermFlagBase〃 "表示 的是一個指示在當(dāng)前塊X的量化參數(shù)的值和基層中與塊X相對應(yīng)的塊的量化參數(shù) 的值之間的差是否大于或等于預(yù)定閾值的標(biāo)志。或者,可以僅使用標(biāo)志"condTermFlagBase〃"(即,僅使用在基層中與當(dāng)前 塊X相對應(yīng)的塊的量化參數(shù)的值(或者僅使用在當(dāng)前塊X的量化參數(shù)的值和相應(yīng) 塊的量化參數(shù)的值之間的差))作為確定索引變量"ctxldxlnc"的值的基礎(chǔ),以 使得起始值僅取決于標(biāo)志"condTermFlagBase〃"的值。l隱5) . ctxldxlnc = 0 (如果O閾值1 )1 (如果閾值1>0閾值2)2 (如果C〈閾值2)在此,"C"表示的是基層內(nèi)相應(yīng)塊的運(yùn)動向量,或者相應(yīng)塊的運(yùn)動向量與各 相鄰宏塊之一的運(yùn)動向量或各相鄰宏塊平均運(yùn)動向量之間的差。艮P,基層的運(yùn)動向量被用作確定概率函數(shù)起始值的基礎(chǔ)。1-6) . ctxldxlnc = (refldxEnhanceLl == refldxBaseLl) l:0 + (refldxEnhanceL0 == refldxBaseL0) l:0在此方法中,指示在當(dāng)前要被編碼的具有編碼信息的宏塊的畫面組L0和LI 中基準(zhǔn)畫面的索引refldxL0和refldxLl是否與基層內(nèi)相應(yīng)塊的畫面組L0和LI中 基準(zhǔn)畫面的索引相等的值(例如,當(dāng)在畫面組LO和Ll中的基準(zhǔn)畫面的索引refldxLO 和refldxLl各自與基層內(nèi)的相等時值為"2",當(dāng)在畫面組L0和LI中的基準(zhǔn)畫面 的索引refldxL0和refldxLl之一與基層內(nèi)的相等時值為"1",而當(dāng)在畫面組L0 和LI中的基準(zhǔn)畫面的索引refldxL0和refldxLl都不與基層內(nèi)的相等時值為"0") 被用作確定概率函數(shù)起始值的基礎(chǔ),以使起始值取決于指示增強(qiáng)層中的基準(zhǔn)畫面的 索引是否等于基層中的基準(zhǔn)畫面的索引的值而變化。以上方法(1-1至1-6)的組合而非以上方法之一可用來確定熵編碼標(biāo)志 "base—mode—flag"的概率函數(shù)的起始值。接下來,將給出對多種用于確定標(biāo)志"base_mode—refinement—flag"的索引變 量的"ctxldxlnc"的方法的描述,其中的標(biāo)志"base_mode—refinement—flag"指示是否需要對一宏塊進(jìn)行細(xì)化以使用在基層內(nèi)一個與該宏塊相對應(yīng)的塊的運(yùn)動向量"(曰息。因?yàn)闃?biāo)志"base—mode_refinement—flag"在基層內(nèi)相應(yīng)宏塊已按內(nèi)部模式編碼 的情況下不被使用,所以一種假定內(nèi)部模式的方法,例如與上述方法l-2)類似的 方法則不被用于建模標(biāo)志"base—mode—refinement—flag"的比特。2國1) . ctxldxlnc = condTermFlagA + condTermFlagB + condTermFlagBase 標(biāo)志"condTermFlagN" (N = A或B)在宏塊N不可用或者在宏塊N的標(biāo)志 "base—mode_refinement—flag"為0的情況下具有"0"值,否則就具有"1"值。 類似地,標(biāo)志"condTermFlagBase"在基層內(nèi)的與當(dāng)前宏塊相對應(yīng)的塊未出現(xiàn)或者 在相應(yīng)塊的標(biāo)志"base—mode— refinement_flag"為0的情況下具有"0"值,否則 就具有"l"值。即,基層的相應(yīng)編碼信息的值可被用作確定索引變量"ctxldxlnc" 的值的基礎(chǔ)。2隱2) . ctxldxlnc = (BaseBlkSize == EnhanceBlkSize) 1:0 + condTermFlagA + condTermFlagB此方法與以上方法l-3)類似。2- 3) . ctxldxlnc = condTermFlagA" + condTermFlagB" + condTermFlagBase" 或ctxldxlnc = condTermFlagBase"此方法與以上方法l-4)類似。2陽4) . ctxldxlnc = (SpatialResEnhanCe == SpatialResBase) l :0在此方法中,指示基層中畫面的空間分辨率是否與增強(qiáng)層中畫面的空間分辨 率相等的值(例如,當(dāng)相等時值為"1",當(dāng)不等時值為"0")被用作確定概率函 數(shù)起始值的基礎(chǔ)。以上方法(2-1至2-4)的組合而非以上方法之一可用來為概率編碼標(biāo)志 "base—mode— refinement—flag"確定概率函數(shù)的起始值。接下來,將給出對多種用于確定標(biāo)志"residuaLprediction—flag"的索引變量的 "ctxldxlnc"的方法的描述,其中的標(biāo)志"residual_prediction_flag"指示是否已使 用從基層內(nèi)與一宏塊相對應(yīng)的塊的殘留數(shù)據(jù)預(yù)測的數(shù)據(jù)來編碼該宏塊中的殘留數(shù) 據(jù)。3- 1) . ctxldxlnc = condTermFlagA + condTermFlagB + condTermFlagBase 標(biāo)志"condTermFlagN" (N = A或B)在宏塊N不可用或者在宏塊N的標(biāo)志"residual_prediction—flag"為0的情況下具有"0"值,否則就具有"1"值。類似 地,標(biāo)志"condTermFlagBase"在基層內(nèi)的與當(dāng)前宏塊相對應(yīng)的塊未出現(xiàn)或者在相 應(yīng)塊的標(biāo)志"residual_prediction—flag"為0的情況下具有"0"值,否則就具有"1" 值。艮卩,基層的相應(yīng)編碼信息的值可被用作確定索引變量"ctxldxlnc"的值的基礎(chǔ)。3-2) . ctxldxlnc = (BaseBlkSize == EnhanceBlkSize) 1:0 + condTermFlagA + condTermFlagB此方法與以上方法l-3)類似。3-3) . ctxldxlnc = condTermFlagA〃 + condTermFlagB〃 +condTermFlagBase" 或者ctxldxlnc = condTermFlagBase"此方法與以上方法l-4)類似。3-4) , ctxldxlnc = (refldxEnhanceLl == refldxBaseLl) l:0 + (refldxEnhanceL0 == refldxBaseL0) l:0此方法與以上方法l-6)類似。3-5) . ctxldxlnc = 0 (如果O閾值1 )1 (如果閾值1〉C》閾值2)2 (如果C〈閾值2) 此方法與以上方法l-5)類似。3-6) . ctxldxlnc = (SpatialResEnhance == SpatialResBase) l :0 此方法與以上方法2-4)類似。 3-7) . ctxldxlnc = CBPBase 1:0在此方法中,用于編碼標(biāo)志"residual_prediction_flag"的概率函數(shù)的起始值從 基層中相應(yīng)塊的編碼塊模式(CBP)的值確定。在此,基層的亮度塊和色度塊的 CBP可用作CBP。塊的CBP在塊內(nèi)出現(xiàn)任何非零值的情況下都具有"0"以外的 值,否則就具有"0"值。在此方法中,用于編碼標(biāo)志"residual_prediction—flag"的概率函數(shù)的起始值取決于指示在基層相應(yīng)塊中是否出現(xiàn)有"0"以外值的值而被 不同地設(shè)置,其中當(dāng)有任何非零呈現(xiàn)時該值為1,當(dāng)"0"以外的值沒有出現(xiàn)時該 值則為"0"。在使用CBP來確定起始值本方法中,除了上述條件(CBPBase l:0)之外,還 可以使用相鄰塊A和B的相應(yīng)編碼信息"residual_prediction—flag"的值來作為確 定索引變量"ctxldxlnc"的條件。在此情況下,索引變量"ctxldxlnc"就可如下確 定ctxldxlnc = CBPBase 1:0 + condTermFlagA + condTermFlagB另夕卜,索引變量"ctxldxlnc"可如下基于兩個相鄰塊A和B的CBP的值來確定ctxldxlnc = CBPA 1:0 + CBPB 1:0以上方法(3-1至3-7)的組合而非以上方法之一可用來為概率編碼標(biāo)志 "residual_predictionJlag"確定概率函數(shù)的起始值。對上述編碼信息之外的其他編碼信息的建模(例如,起始值設(shè)置)也可根據(jù) 基層的編碼信息或基于層間關(guān)系而以不同的方式完成。例如,也可以根據(jù)類似于方法l-l)的方法使用層間關(guān)系(具體地,使用基層 內(nèi)相應(yīng)的編碼信息),根據(jù)類似于方法2-4)的方法使用空間分辨率層間關(guān)系,或 者根據(jù)類似于方法l-4)的方法使用表示基層圖像質(zhì)量水平的量化參數(shù),而以不同 的方式執(zhí)行對標(biāo)志"intra—base—flag"概率編碼的建模,其中標(biāo)志"intra—base—flag" 指示增強(qiáng)層的圖像數(shù)據(jù)是否已基于基層內(nèi)與增強(qiáng)層塊相對應(yīng)的內(nèi)部模式塊的圖像 數(shù)據(jù)而被編碼為差異數(shù)據(jù)。除此之外,也可以根據(jù)類似于方法1-1)的方法使用層間關(guān)系(具體地,使用 基層內(nèi)相應(yīng)的編碼信息),或者根據(jù)類似于方法2-4)的方法使用空間分辨率層間 關(guān)系,而以不同的方式執(zhí)行對信息"mvd—ref一lX, X=0, 1"概率編碼的建模,其中 信息"mvd—ref一lX, X=0, 1"指示一宏塊要使用在基層內(nèi)與該宏塊相對應(yīng)的塊的運(yùn) 動向量信息所需要的細(xì)化值。此外,也可以根據(jù)類似于方法l-l)的方法使用層間關(guān)系(具體地,使用基層 內(nèi)相應(yīng)的編碼信息),根據(jù)類似于方法2-4)的方法使用空間分辨率層間關(guān)系,或 者根據(jù)類似于方法1-3)的方法使用塊大小關(guān)系,而以不同的方式執(zhí)行對標(biāo)志 "motion_predictionJlag —IX, X=0, 1 "概率編碼的建模,其中標(biāo)志 "motion_predietion—flag—IX,X=0, 1"指示與一宏塊相對應(yīng)的基層塊的運(yùn)動向量是否要用作該宏塊的預(yù)測運(yùn)動向量。對三信息(intra—base_flag、 mvd一ref一lX、 motion_prediction_flag — IX)的建模也可使用上述關(guān)系之外的其他層間關(guān)系來執(zhí)行。上述各種建模方法也可用于其值可受層間關(guān)系影響的任何其他編碼信息。 雖然給出的以上描述中似乎是直接從索引變量"ctxldxlnc"確定起始值 "valMPS"和"pStateldx"的,但是這兩個起始值可以從值"m"和"n"中確定,而值"m"和"n"則從索引變量"ctxldxlnc"確定,如圖4所示。在圖4的起始值確定例程中的中間值"preCtxState"由函數(shù)"Clip3()"確定。 PreCtxState確定函數(shù)"Clip3()"除了值"m"和"n"之外,還有作為自變量(varX) 的亮度量化參數(shù)"SliceQPY"。該自變量(varX)與具有當(dāng)前要被編碼的編碼信息 的宏塊相關(guān)聯(lián)。除了值"m"和"n"之外也對起始值的確定有影響的這個自變量 (varX)不具有與層間關(guān)系相關(guān)聯(lián)的值。因此,如果層間關(guān)系反映在該自變量(varX)中以獲取基于該層間關(guān)系的起 始值,則起始值很可能具有一個在概率編碼方面具有大得多的優(yōu)勢的值。于是,根 據(jù)本發(fā)明,層間關(guān)系在該自變量(varX)中有所反映。用于在自變量(varX)中反映層間關(guān)系的方法是使用基層的亮度量化參數(shù) "BaseSliceQPY"作為自變量(varX)、使用增強(qiáng)層和基層的量化參數(shù)之間的差作 為自變量(varX)、或者使用基層和當(dāng)前層之間的空間分辨率之比作為自變量 (varX)。當(dāng)增強(qiáng)層和基層的量化參數(shù)之間的差被用作自變量(varX)時,則圖4的 PreCtxState確定函數(shù)則可根據(jù)本發(fā)明被定義為PreCtxState = Clip3(1, 126, ((m*(SliceQPYBaseSliceQPY》》4) +n)雖然已將上述方法描述為編碼器中的概率編碼,但是相同的方法也可應(yīng)用于 圖5中用于解壓壓縮數(shù)據(jù)的CABAC解碼器,并且在此省略對解碼器中上下文建模 的描述。以與圖1所示CABAC編碼器中的上下文建模器102借以建模目標(biāo)編碼信息 的方法相類似的方式,圖5所示CABAC解碼器中的上下文建模器202基于基層 編碼信息和層間信息20建模目標(biāo)編碼信息,并將相應(yīng)的起始值傳遞給設(shè)置在該上 下文建模器202之后的常規(guī)解碼引擎203。常規(guī)解碼引擎203將輸入編碼信息的各 比特轉(zhuǎn)換成解壓的比特串,也是從與編碼器中常規(guī)編碼引擎103內(nèi)所利用的起始值 相同的值開始。圖6示出了根據(jù)本發(fā)明的編碼塊圖案(CBP)信息的細(xì)節(jié)。 塊圖案信息是一種指示是否有殘留呈現(xiàn),特別為是否有8x8亮度塊的殘留呈 現(xiàn)的一類表示比特標(biāo)志。例如,當(dāng)在基層內(nèi)呈現(xiàn)有與當(dāng)前畫面內(nèi)的宏塊(currMB) 相對應(yīng)的基宏塊(baseMB)時,該基宏塊被分隔成4塊,并且塊圖案信息的第0 比特被設(shè)置用以指示在左上塊(baseblk)內(nèi)是否有殘留呈現(xiàn),第1比特被設(shè)置用 以指示在右上塊內(nèi)是否有殘留呈現(xiàn),第2比特被設(shè)置用以指示在左下塊內(nèi)是否有殘留呈現(xiàn),而第3比特被設(shè)置用以指示在右下塊內(nèi)是否有殘留呈現(xiàn)。塊圖案信息由6比特表示,這包括上述第0至第3比特,以及指示色度塊的兩個比特(AC和DC)。于是,塊圖案信息指示在每個分隔塊內(nèi)是否有殘留呈現(xiàn),并且在有殘留呈現(xiàn)時由"1"表示,而在沒有殘留呈現(xiàn)時由"0"表示。此外,取決于在更低層中的相應(yīng)塊內(nèi)是 否有除"0"之外的值呈現(xiàn)來不同地設(shè)置用于編碼殘留預(yù)測指示符信息 (residual_prediction—flag)的概率函數(shù)的起始值。圖7示出了根據(jù)本發(fā)明如何使用塊圖案信息和殘留預(yù)測指示符信息來執(zhí)行上 下文建模。在本發(fā)明的一個實(shí)施例中,假設(shè)殘留預(yù)測指示符信息在層1和層2 (Layerl 和Layer2)內(nèi)皆為"1",而塊圖案信息在層1中為"0"。在此情況下,層1中 的點(diǎn)編碼信息在執(zhí)行層2的上下文建模時無法被使用。這是因?yàn)閷?的塊圖案信息 是"0",指示在與層2的模塊相對應(yīng)的層1的塊中沒有殘留呈現(xiàn)。然而,可以看 見有殘留呈現(xiàn),因?yàn)閷? (LayerO)的塊圖案信息大于"0"。由此其后可得,即 使在層1的塊圖案信息為"0"的情況下,也必須考慮層1的殘留預(yù)測指示符信息 來判定是否有殘留實(shí)際上呈現(xiàn)。因此,本發(fā)明在執(zhí)行層2的殘留預(yù)測時,使用比層 l更低的層O的上采樣殘留。如下將給出本發(fā)明的另一實(shí)施例的描述,該實(shí)施例提供了多種用以確定標(biāo)志 "residual_prediction—flag "的索引變量的"ctxldxlnc "的方法,其中標(biāo)志 "residual_prediction—flag"指示是否已使用從與該宏塊相對應(yīng)的基層內(nèi)的一個塊的 殘留數(shù)據(jù)中預(yù)測的數(shù)據(jù)來編碼任何宏塊的殘留數(shù)據(jù)。 [式1]ctxldxlnc = min (1, resPredFlagbase + CBPbase)式1的方法被提供以選擇"0"或"1"中的任一個來作為該索引變量的狀態(tài)。 如果基畫面的相應(yīng)宏塊的殘留預(yù)測指示符信息是"0",就把"0"分配給該基畫面 的殘留預(yù)測指示符信息(reSPredFlagbase),否則就分配"1"。類似地,將"0"或 "1"分配給該基畫面的塊圖案信息(CBPbase)。于是,殘留預(yù)測指示符信息 (resPredFlagbase)與塊圖案信息(CBPbase)之和就具有為"0" 、 "1"或"2"的 值。索引變量則具有為"0"或"1"的值,因?yàn)?1"與求和值("0" 、 "1"或 "2")中的較小值被分配給索引變量。 [式2]ctxldxlnc = resPredFlagb咖+ CBPbase式2的方法被提供以選擇"0" 、 "1"或"2"中的任一個來作為該索引變量 的狀態(tài)。如下是本發(fā)明另一實(shí)施例的描述,該實(shí)施例提供了一種使用基畫面相應(yīng)塊的 殘留信息的值之和來確定索引變量(ctxldxlnc)的方法。本實(shí)施例在當(dāng)前畫面的各塊沒有各自與基畫面的各塊相對應(yīng)時被應(yīng)用,即在存在多個相應(yīng)基宏塊時被應(yīng)用。[式3]Energybase= ZZPbaseiji j在式3中,"Pbase,ij"指的是在基畫面中相應(yīng)塊的殘留信息的一位置(i,j)處 的像素值。"Energybase"指示是否有殘留呈現(xiàn),這可以通過搜索基畫面中相應(yīng)塊 內(nèi)所有的像素來判定。 [式4]ctxldxlnc = Energybase 1:0在由式4表示的方法中,搜索所有的像素來判定是否有畫面值呈現(xiàn)并且在有 任何像素值呈現(xiàn)的情況下將"1"分配給索引變量,而在沒有像素值呈現(xiàn)的情況下 將"0"分配給索引變量。[式5]0 (如果C》閾值l) ctxldxlnc =1 (如果閾值1>0閾值2) 2 (如果C〈閾值2) 由式5表示的方法使用多個閾值(threshl和thresh2) 1,以使得在像素值的 總和小于或等于閾值(threshl)的時候?qū)?0"分配給索引變量,在總和位于閾值 (threshl和thresh2)之間時將"1"分配給索引變量,而在在總和等于或大于閾值 (thresh2)時將"2"分配給索引變量。包括根據(jù)上述方法來建模編碼信息的上下文建模器的建模器可以用于移動通 信終端、媒體播放器等。雖然參照優(yōu)選實(shí)施例對本發(fā)明進(jìn)行了說明,但本領(lǐng)域的技術(shù)人員顯而易見的 是,可作各種改進(jìn)、替換、以及添加而不會背離本發(fā)明的范圍和精神實(shí)質(zhì)。因此, 本發(fā)明旨在覆蓋本發(fā)明的這些改進(jìn)、替換、以及添加,只要它們落在所附權(quán)利要求 及其等效方案的范圍之內(nèi)。工業(yè)實(shí)用性如上參考有限實(shí)施例描述的那樣,本發(fā)明使用層間相關(guān)執(zhí)行對編碼信息的每 一比特的上下文建模,從而確定用于編碼信息的概率編碼的函數(shù)的起始值,由此顯 著增加了概率編碼的數(shù)據(jù)壓縮率,其中該起始值在概率編碼方面有利的(即,能夠 進(jìn)一步降低LPS起始概率的起始值)。
權(quán)利要求
1.一種用于解碼包括有關(guān)多個視頻層的信息的視頻信號的方法,所述方法包括基于與當(dāng)前層有關(guān)的基層內(nèi)的塊的塊模式信息和殘留預(yù)測指示符信息,獲得所述當(dāng)前層內(nèi)的塊的殘留預(yù)測指示符信息。
2. 如權(quán)利要求l所述的方法,其特征在于,所述當(dāng)前層內(nèi)所述塊的所述殘留 預(yù)測指示符信息是基于所述基層內(nèi)所述塊的所述塊模式信息和所述殘留預(yù)測指示 符信息,通過應(yīng)用自適應(yīng)二進(jìn)制算術(shù)編碼方法而獲得的。
3. 如權(quán)利要求2所述的方法,其特征在于,所述獲取所述殘留預(yù)測指示符信 息包括基于所述基層內(nèi)所述塊的所述塊模式信息和所述殘留預(yù)測指示符信息,確定 有關(guān)所述自適應(yīng)二進(jìn)制算術(shù)編碼方法的索引變量信息。
4. 如權(quán)利要求3所述的方法,其特征在于,所述獲取所述殘留預(yù)測指示符信 息包括基于所述確定的索引變量信息,獲取所述當(dāng)前層內(nèi)所述塊的所述殘留預(yù)測指 示符信息。
5. 如權(quán)利要求3所述的方法,其特征在于,所述索引變量信息被確定為1與 所述基層內(nèi)所述塊的所述塊模式信息和所述殘留預(yù)測指示符信息之和中較小的那 個值。
6. 如權(quán)利要求3所述的方法,其特征在于,所述索引變量信息被確定為所述 基層內(nèi)所述塊的所述塊模式信息和所述殘留預(yù)測指示符信息之和。
7. —種用于建模視頻信號的編碼信息以壓縮或解壓所述編碼信息的方法,所述方法包括基于與第一層不同的第二層的編碼信息和指示所述第一層和第二層之間相關(guān) 性的編碼信息中的至少之一,確定用于所述第一層中圖像塊編碼信息的概率編碼的函數(shù)。
8. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指示 是否要將以內(nèi)部模式編碼的圖像數(shù)據(jù)或者在所述第二層內(nèi)的與所述圖像塊相對應(yīng) 的塊的運(yùn)動向量信息用于所述圖像塊的信息,確定用于概率編碼的所述函數(shù)的起始 值。
9. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指示所述圖像塊是否需要細(xì)化以使用在所述第二層內(nèi)的與所述圖像塊相對應(yīng)的塊的運(yùn) 動向量信息的信息,確定用于概率編碼的所述函數(shù)的起始值。
10. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指示是否所述圖像塊的殘留數(shù)據(jù)已使用從所述第二層內(nèi)的與所述圖像塊相對應(yīng)的塊 的殘留數(shù)據(jù)中預(yù)測的數(shù)據(jù)而被編碼的信息,確定用于概率編碼的所述函數(shù)的起始 值。
11. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指 示所述圖像塊的圖像數(shù)據(jù)是否已基于所述第二層內(nèi)的與所述圖像塊相對應(yīng)的內(nèi)部 模式塊的圖像數(shù)據(jù)而被編碼為差異數(shù)據(jù)的信息,確定用于概率編碼的所述函數(shù)的起 始值。
12. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指 示為使用在第二層內(nèi)的與所述圖像塊相對應(yīng)的塊的運(yùn)動向量信息來獲取所述圖像 塊的運(yùn)動向量而需要的細(xì)化值的信息,確定用于概率編碼的所述函數(shù)的所述起始 值。
13. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指 示第二層內(nèi)的與所述圖像塊相對應(yīng)的塊的運(yùn)動向量是否要用作所述圖像塊的預(yù)測 運(yùn)動向量的信息,確定用于概率編碼的所述函數(shù)的起始值。
14.如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于與所述圖像塊的編碼信息相對應(yīng)的與所述圖像塊相對應(yīng)的塊的編碼信息,確定用于概 率編碼的所述函數(shù)的起始值。
15. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指 示與所述圖像塊相對應(yīng)的塊是已按中間模式還是已按內(nèi)部模式編碼的信息,確定用 于概率編碼的所述函數(shù)的所述起始值。
16. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于所 述第二層內(nèi)的與所述圖像塊相對應(yīng)的塊的分割信息或塊大小是否等同于所述圖像 塊的分割信息或塊大小,確定用于概率編碼的所述函數(shù)的起始值。
17. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于所 述第二層內(nèi)的與所述圖像塊相對應(yīng)的塊的量化參數(shù)值或者基于在所述第二層內(nèi)所 述塊的所述量化參數(shù)值與所述圖像塊的量化參數(shù)值之間的差,確定用于概率編碼的 所述函數(shù)的起始值。
18. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于所 述圖像塊的運(yùn)動向量和所述第二層內(nèi)的與所述圖像塊相對應(yīng)的的塊的運(yùn)動向量之 間的差,確定用于概率編碼的所述函數(shù)的起始值。
19. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指 示所述圖像塊的基準(zhǔn)畫面的值是否等同于指示所述第二層內(nèi)的與所述圖像塊相對 應(yīng)的塊的基準(zhǔn)畫面的值,確定用于概率編碼的所述函數(shù)的起始值。
20. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于所 述圖像塊的空間分辨率是否等同于所述第二層內(nèi)的與所述圖像塊相對應(yīng)的塊的空 間分辨率,確定用于概率編碼的所述函數(shù)的起始值。
21. 如權(quán)利要求7所述的方法,其特征在于,所述確定所述函數(shù)包括基于指 示在所述第二層內(nèi)的與所述圖像塊相對應(yīng)的塊內(nèi)是否有除0以外的值出現(xiàn)的塊模 式信息,確定用于概率編碼的所述函數(shù)的起始值。
22. 如權(quán)利要求21所述的方法,其特征在于,要被編碼的編碼信息是指示所述圖像塊的殘留數(shù)據(jù)是否已基于所述第二層內(nèi)的與所述圖像塊相對應(yīng)的中間模式 塊的殘留數(shù)據(jù)而被編碼成差異數(shù)據(jù)的標(biāo)志,且所述塊模式信息與所述第二層內(nèi)的所 述塊的亮度塊相關(guān)聯(lián)。
23. 如權(quán)利要求21所述的方法,其特征在于,所述圖像塊的編碼信息是指示 所述圖像塊的殘留數(shù)據(jù)是否已基于所述第二層內(nèi)的與所述圖像塊相對應(yīng)的中間模 式塊的殘留數(shù)據(jù)而被編碼成差異數(shù)據(jù)的標(biāo)志,且所述塊模型信息與所述第二層內(nèi)的 所述塊的色度塊相關(guān)聯(lián)。
24. 如權(quán)利要求7所述的方法,其特征在于,所述編碼信息是所述第二層內(nèi) 所述塊的量化參數(shù)值。
25. 如權(quán)利要求7所述的方法,其特征在于,指示所述第一和第二層之間相 關(guān)性的所述編碼信息是所述第一層的量化參數(shù)值和所述第二層的量化參數(shù)值之間 的差。
26. 如權(quán)利要求7所述的方法,其特征在于,指示所述第一和第二層之間相 關(guān)性的所述編碼信息是所述第一層和所述第二層之間的空間分辨率之比。
全文摘要
提供了一種用于建模視頻信號的編碼信息以壓縮或解壓該編碼信息的方法?;诨鶎訉?yīng)視頻信號的編碼信息來確定用于增強(qiáng)層的視頻信號的編碼信息的概率編碼的函數(shù)的起始值。
文檔編號H04N7/24GK101218826SQ200680024665
公開日2008年7月9日 申請日期2006年7月10日 優(yōu)先權(quán)日2005年7月8日
發(fā)明者全柄文, 尹度鉉, 巖圣鉉, 樸志皓, 樸勝煜, 金東奭 申請人:Lg電子株式會社