亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

視頻編碼中的語(yǔ)法的二進(jìn)制化和上下文自適應(yīng)編碼的方法和裝置與流程

文檔序號(hào):11142976閱讀:458來源:國(guó)知局
視頻編碼中的語(yǔ)法的二進(jìn)制化和上下文自適應(yīng)編碼的方法和裝置與制造工藝

本申請(qǐng)要求下列申請(qǐng)的優(yōu)先權(quán):2014年6月20日遞交的申請(qǐng)?zhí)枮?2/014,970的美國(guó)臨時(shí)案;2014年6月26日遞交的申請(qǐng)?zhí)枮?2/017,401的美國(guó)臨時(shí)案;2014年7月3日遞交的申請(qǐng)?zhí)?2/020,518的美國(guó)臨時(shí)案;以及2014年7月7日遞交的申請(qǐng)?zhí)枮?2/021,287的美國(guó)臨時(shí)案。在此合并參考這些申請(qǐng)案的申請(qǐng)標(biāo)的。

技術(shù)領(lǐng)域

本發(fā)明有關(guān)于與視頻編碼相關(guān)的語(yǔ)法的熵編碼。更具體地,本發(fā)明涉及與視頻編碼相關(guān)的語(yǔ)法的二進(jìn)制化(binarization)和上下文自適應(yīng)編碼(context-adaptive coding)的技術(shù)。



背景技術(shù):

高效率視頻編碼(High Efficiency Video Coding,HEVC)是近年來已經(jīng)開發(fā)出來的新的編碼標(biāo)準(zhǔn)。在高效率視頻編碼系統(tǒng)中,H.264/AVC的固定大小宏塊被稱為編碼單元(coding unit,編碼單元)的靈活塊(flexible block)所替換。編碼單元中的像素共享相同的編碼參數(shù)以提高編碼效率。編碼單元可以從最大編碼單元(largest CU,LCU)開始,其在HEVC中也被稱為編碼樹單元(coded tree unit,CTU)。除了編碼單元的概念,預(yù)測(cè)單元(PU)的概念也引入到了HEVC中。一旦編碼單元層次樹(CU hierarchical tree)的拆分(splitting)完成,則根據(jù)預(yù)測(cè)類型和預(yù)測(cè)單元分區(qū)(PU partition)將每個(gè)葉編碼單元(leaf CU)進(jìn)一步拆分成一個(gè)或多個(gè)預(yù)測(cè)單元。

基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(Context-based adaptive binary arithmetic coding,CABAC)是已經(jīng)廣泛用于諸如H.264和HEVC的高級(jí)視頻編碼中的高效熵編碼工具。舉例來說,HEVC標(biāo)準(zhǔn)的各種語(yǔ)法元素是以CABAC模式來編碼,其中基于與基礎(chǔ)語(yǔ)法元素相關(guān)的上下文,來自適應(yīng)地將熵編碼應(yīng)用于二進(jìn)制化語(yǔ)法元素。圖1為CABAC過程的示例性框圖。由于CABAC引擎中的算術(shù)編碼器只能對(duì)二進(jìn)制符號(hào)值(binary symbol value)進(jìn)行編碼,因此CABAC過程需要使用二進(jìn)制化器(110)來將語(yǔ)法元素的值轉(zhuǎn)換為二進(jìn)制字符串(binary string)。轉(zhuǎn)換過程通常被稱為二進(jìn)制化。在編碼過程中,從用于不同上下文的編碼符號(hào)逐漸建立概率模型。上下文建模器(context modeler)(120)用于建模目的。在基于正常上下文的編碼期間,使用對(duì)應(yīng)于二進(jìn)制算術(shù)編碼器的常規(guī)編碼引擎(130)。用于編碼下一個(gè)二進(jìn)制符號(hào)的建模上下文的選擇,可以通過編碼信息來確定。也可以在沒有上下文建模階段的情況下對(duì)符號(hào)進(jìn)行編碼,并且為了降低復(fù)雜度,而采用通常被稱為旁路模式的相等概率分布(equal probability distribution)。對(duì)于旁路符號(hào),可以使用旁路編碼引擎(140)。如圖1所示,開關(guān)(S1,S2和S3)用于在常規(guī)CABA模式和旁路模式之間引導(dǎo)數(shù)據(jù)流。當(dāng)選擇常規(guī)CABAC模式時(shí),開關(guān)翻轉(zhuǎn)到上觸點(diǎn)。當(dāng)選擇旁路模式時(shí),開關(guān)被翻轉(zhuǎn)到下觸點(diǎn)。如圖1所示。

JCT標(biāo)準(zhǔn)化機(jī)構(gòu)目前正在開發(fā)HEVC屏幕內(nèi)容編碼(screen content coding,SCC)擴(kuò)展。與具有連續(xù)色調(diào)的常規(guī)自然視頻相反,屏幕內(nèi)容視頻通常包含少量主導(dǎo)顏色(pilot colors)以及銳利邊緣和邊界。目前正在調(diào)查研究幾種新工具,以便將來可能采用HEVC SCC擴(kuò)展。

在HEVC范圍擴(kuò)展的早期開發(fā)期間,已經(jīng)公開了若干建議來解決基于調(diào)色板的編碼。例如,在JCTVC-N0247(Guo et al.,“RCE3:Results of Test 3.1on Palette Mode for Screen Content Coding”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,14th Meeting:Vienna,AT,25July–2Aug.2013Do編碼單元ment:JCTVC-N0247)和JCTVC-O0218(Guo et al.,“Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1”,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16WP 3and ISO/IEC JTC 1/SC 29/WG 11,15th Meeting:Geneva,CH,23Oct.–1,Nov.2013,Do編碼單元ment:JCTVC-O0218)中公開了調(diào)色板預(yù)測(cè)和共享技術(shù)。在JCTVC-N0247中,每個(gè)顏色分量(color component)的調(diào)色板被構(gòu)造和發(fā)送??梢詮钠渥筮呄噜彽木幋a單元來預(yù)測(cè)(或共享)調(diào)色板以減小比特率。然后,使用它們的調(diào)色板索引來對(duì)給定塊內(nèi)的所有像素進(jìn)行編碼。根據(jù)JCTVC-N0247的編碼處理的示例如下所示。

1.調(diào)色板的傳輸:首先傳輸顏色索引表大小,然后是調(diào)色板元素。

2.像素值的傳輸:編碼單元中的像素以光柵掃描順序編碼。對(duì)于一個(gè)或多個(gè)像素的每個(gè)組,首先發(fā)送用于基于游程的模式(run-based mode)的標(biāo)志,以指示是否正在使用“索引”模式或“復(fù)制上方”模式。

2.1 Index_Mode:在Index_Mode中,首先發(fā)信(signal)調(diào)色板索引,然后是表示游程值的“palette_run”(例如,M)。游程值指示總共M個(gè)樣本都使用Index_Mode來編碼。對(duì)于當(dāng)前位置和隨后的M個(gè)位置,不需要發(fā)送進(jìn)一步的信息,因?yàn)樗鼈兙哂信c在比特流中發(fā)信的相同的調(diào)色板索引。調(diào)色板索引(例如,i)也可以由所有三個(gè)顏色分量共享,這意味著,對(duì)于YUV色彩空間的情況,重構(gòu)的像素值是(Y,U,V)=(paletteY[i],paletteU[i],paletteV[i])。

2.2 Copy_Above_Mode:在Copy_Above_Mode中,發(fā)送值“copy_run”(例如,N),以指示對(duì)于隨后的N個(gè)位置(包括當(dāng)前位置),調(diào)色板索引與上方的行中的相應(yīng)調(diào)色板索引相同。

3.殘差(residue)的傳輸:在階段2中傳輸?shù)恼{(diào)色板索引被轉(zhuǎn)換回像素值并且用作預(yù)測(cè)。使用HEVC殘留編碼(HEVC residual coding)來發(fā)送殘差信息,并將殘差信息添加到用于重構(gòu)的預(yù)測(cè)中。

因此,期望開發(fā)用于進(jìn)一步改善與在屏幕內(nèi)容編碼以及一般視頻編碼中的為調(diào)色板模式編碼塊而產(chǎn)生的語(yǔ)法元素相關(guān)的編碼效率的方法。



技術(shù)實(shí)現(xiàn)要素:

公開了一種用于對(duì)在視頻編碼系統(tǒng)中產(chǎn)生的源符號(hào)進(jìn)行熵編碼和解碼的方法和裝置。根據(jù)本發(fā)明,首先確定當(dāng)前符號(hào)值(current symbol value)的最高有效位索引和任何精細(xì)位。通過使用一元碼或截?cái)嘁辉a來對(duì)與當(dāng)前符號(hào)值的最高有效位索引相關(guān)的前綴部分進(jìn)行二進(jìn)制化,以生成第一二進(jìn)制字符串。此外,如果存在任何精細(xì)位,則通過使用固定長(zhǎng)度碼或截?cái)喽M(jìn)制碼來對(duì)與當(dāng)前符號(hào)值的一個(gè)或多個(gè)精細(xì)位相對(duì)應(yīng)的后綴部分進(jìn)行二進(jìn)制化,來生成第二二進(jìn)制字符串。如果存在第二二進(jìn)制字符串,則使用上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)來對(duì)第一二進(jìn)制字符串進(jìn)行編碼,并且使用CABAC來對(duì)第二二進(jìn)制字符串進(jìn)行編碼。

前綴部分可以對(duì)應(yīng)于最高有效位索引加1。此外,如果x大于0,則前綴部分可以等于(floor(log2(x)+1);并且如果x等于0,則前綴部分等于0,其中x表示當(dāng)前符號(hào)值,floor(y)是輸出小于或等于y的最大整數(shù)的floor函數(shù),log2(x)是底數(shù)為2的log函數(shù)。如果二進(jìn)制位具有小于或等于閾值T的二進(jìn)制索引,則以常規(guī)CABAC模式編碼第一二進(jìn)制字符串的二進(jìn)制未;如果二進(jìn)制位具有大于閾值T的二進(jìn)制指數(shù),則以旁路模式進(jìn)行編碼。

在一個(gè)實(shí)施例中,當(dāng)前源符號(hào)指示用于屏幕內(nèi)容編碼(SCC)的調(diào)色板模式編碼塊中的連續(xù)重復(fù)調(diào)色板索引的游程長(zhǎng)度減去1。通過使用具有等于(floor(log2((MaxPaletteRun))+1)的最大值的截?cái)嘁辉a對(duì)前綴部分進(jìn)行二進(jìn)制化,來導(dǎo)出第一二進(jìn)制字符串,其中MaxPaletteRun等于剩余的待編碼像素的數(shù)量減1。通過使用具有等于(MaxPaletteRun-(1<<(palette_run_msb_id_plus1-1)))的最大值的截?cái)喽M(jìn)制碼對(duì)后綴部分進(jìn)行二進(jìn)制化,來導(dǎo)出第二二進(jìn)制字符串,其中MaxPaletteRun等于當(dāng)前編碼單元中剩余的待編碼像素的數(shù)量減1,并且palette_run_msb_id_plus1表示前綴部分的值。

CABAC以連續(xù)重復(fù)調(diào)色板索引的游程類型為條件,并且常規(guī)CABAC模式被應(yīng)用于第一二進(jìn)制字符串或第二二進(jìn)制字符串的一個(gè)或多個(gè)二進(jìn)制位。例如,當(dāng)前源符號(hào)可以對(duì)應(yīng)于語(yǔ)法Copy_Above_Mode(表示上方行中的連續(xù)第一索引的第一游程長(zhǎng)度減去1),或者對(duì)應(yīng)于語(yǔ)法Index_Mode(表示同一行中的連續(xù)第二索引的第二游程長(zhǎng)度減去1)。在具有三個(gè)上下文的常規(guī)CABAC模式中,對(duì)具有二進(jìn)制索引等于0的第一二進(jìn)制字符串的二進(jìn)制位進(jìn)行編碼。此外,如果調(diào)色板索引小于第一閾值T1,則可選擇第一上下文;如果調(diào)色板索引大于或等于第一閾值T1并小于第二閾值T2,則可選擇第二上下文;并且如果調(diào)色板索引大于或等于第二閾值T2,則可以選擇第三上下文,其中第二閾值T2大于第一閾值T1。例如,第一閾值T1可以等于2,第二閾值T2可以等于4或8。

當(dāng)前源符號(hào)還可以對(duì)應(yīng)于二維有符號(hào)或無符號(hào)源向量(two-dimensional signed or unsigned source vector)的第一分量或第二分量的絕對(duì)值。此外,前綴部分在后綴部分和任何符號(hào)位(sign bit)之前被編碼。

在本發(fā)明的另一實(shí)施例中,對(duì)于索引模式,確定具有與當(dāng)前塊的掃描順序中的當(dāng)前調(diào)色板索引相同的調(diào)色板索引的連續(xù)像素的數(shù)量。使用二進(jìn)制化方法將連續(xù)像素的數(shù)量減1轉(zhuǎn)換為二進(jìn)制字符串。根據(jù)取決于當(dāng)前調(diào)色板索引來自適應(yīng)地選擇的上下文,通過將常規(guī)CABAC模式應(yīng)用于二進(jìn)制字符串的至少一個(gè)二進(jìn)制位,使用CABAC來對(duì)二進(jìn)制字符串進(jìn)行編碼。本發(fā)明還公開了相應(yīng)的解碼處理。例如,解碼器可以接收包括對(duì)應(yīng)于索引模式的當(dāng)前源符號(hào)的當(dāng)前塊的壓縮數(shù)據(jù)的輸入編碼比特流。可以確定與當(dāng)前游程模式相關(guān)的當(dāng)前調(diào)色板索引。然后,根據(jù)取決于當(dāng)前調(diào)色板索引來自適應(yīng)地選擇的上下文,通過將常規(guī)CABAC模式應(yīng)用于二進(jìn)制字符串的至少一個(gè)二進(jìn)制位,使用上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)來對(duì)二進(jìn)制字符串進(jìn)行解碼。使用二進(jìn)制化方法將二進(jìn)制字符串轉(zhuǎn)換為游程長(zhǎng)度值,游程長(zhǎng)度值與具有和當(dāng)前調(diào)色板索引相同的調(diào)色板索引的多個(gè)連續(xù)像素相關(guān)。游程長(zhǎng)度值對(duì)應(yīng)于連續(xù)像素的數(shù)量減去1。對(duì)于解碼器側(cè),當(dāng)前調(diào)色板索引可對(duì)應(yīng)于來自輸入編碼比特流或重構(gòu)調(diào)色板索引的解析的調(diào)色板索引。

附圖說明

圖1為上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)的示例性框圖,其中源語(yǔ)法(source syntax)可以使用常規(guī)CABAC模式或旁路模式來自適應(yīng)編碼。

圖2為根據(jù)本發(fā)明實(shí)施例的源符號(hào)(source symbols)的熵編碼系統(tǒng)的示例性流程圖,其中源符號(hào)在前綴部分和后綴部分中表示,并且前綴部分和后綴部分的二進(jìn)制字符串使用CABAC來編碼。

圖3為根據(jù)本發(fā)明實(shí)施例的源符號(hào)的熵解碼系統(tǒng)的示例性流程圖,其中源符號(hào)在前綴部分和后綴部分中表示,并且前綴部分和后綴部分的二進(jìn)制字符串使用CABAC來編碼。

具體實(shí)施方式

以下描述為本發(fā)明的較佳實(shí)施例。以下實(shí)施例僅用來舉例闡釋本發(fā)明的技術(shù)特征,并非用以限定本發(fā)明。本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求書所界定為準(zhǔn)。

本發(fā)明公開了一種用于在諸如視頻編碼的源數(shù)據(jù)壓縮系統(tǒng)中產(chǎn)生的源符號(hào)(source symbols)的通用熵編碼方法。該方法表示與二進(jìn)制形式的源符號(hào)相關(guān)的無符號(hào)數(shù)值(unsigned value),由二部分組成:最高有效位(most significant bits,MSB)部分和其值的精細(xì)位部分(refinement bits part)。為MSB部分中的每個(gè)成員分配一個(gè)索引。所得到的碼字是前綴部分和后綴部分的級(jí)聯(lián)(concatenation)。前綴部分與符號(hào)值(symbol value)的最高有效位索引相關(guān)。在一個(gè)實(shí)施例中,可以根據(jù)floor(log2(x))來確定MSB部分,其中x對(duì)應(yīng)于與源符號(hào)相關(guān)的無符號(hào)數(shù)值,floor(y)是輸出小于或等于y的最大整數(shù)的floor函數(shù),以及l(fā)og 2(x)是以底數(shù)為2的log函數(shù)。在該示例中,對(duì)應(yīng)的MSB部分對(duì)于x=0將是無意義的。因此,引入表示MSB部分加上1的項(xiàng),由msb_id_plus1來表示。MSB加一,無符號(hào)數(shù)值x的msb_id_plus1可以根據(jù)下列等式導(dǎo)出:

如果最大語(yǔ)法值是已知的,則前綴部分可以使用諸如一元碼(unary code)或截?cái)?truncated)一元碼的可變長(zhǎng)度碼來編碼。對(duì)于給定的符號(hào)值,后綴部分可以存在或可以不存在。如果msb_id_plus1>1,則后綴部分表示精細(xì)位,并且存在后綴部分。由refinement_bits來表示的精細(xì)位的值可以使用固定長(zhǎng)度的二進(jìn)制碼或截?cái)喽M(jìn)制碼來二進(jìn)制化。例如,如果最大語(yǔ)法值是已知的,精細(xì)位的值可以由具有字符串長(zhǎng)度等于(msb_id_plus1-1)的字符串或者截?cái)喽M(jìn)制碼來表示??梢愿鶕?jù)以下等式,基于解碼的前綴部分(即,(msb_id_plus1-1))和解碼的后綴部分(即,refinement_bits)來導(dǎo)出解碼的語(yǔ)法值x:

表1為根據(jù)本發(fā)明的實(shí)施例包含的二進(jìn)制化處理(binarization process)的對(duì)應(yīng)于符號(hào)值0-31的碼字二進(jìn)制字符串(也稱為二進(jìn)制字符串)的示例。根據(jù)等式(1)導(dǎo)出msb_id_plus1值。精細(xì)位的長(zhǎng)度根據(jù)(msb_id_plus1-1)來確定??梢酝ㄟ^對(duì)有符號(hào)符號(hào)值(signed symbol value)的絕對(duì)值加上符號(hào)信息(sign information)應(yīng)用上述二進(jìn)制化處理,根據(jù)本發(fā)明的二進(jìn)制化處理也可以應(yīng)用于有符號(hào)源符號(hào)(signed source symbols)。此外,可以通過對(duì)每個(gè)向量分量(vector component)使用二進(jìn)制化處理,而將二進(jìn)制化處理應(yīng)用于諸如向量的多維源數(shù)據(jù)(multi-dimensional source data)。

表1

根據(jù)本發(fā)明,可以通過上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)來編碼以獲得二進(jìn)制字符串(bin string),以代表msb_id_plus1。前綴部分可以使用更復(fù)雜的上下文建模方案來采用CABAC進(jìn)行編碼。根據(jù)本發(fā)明??梢允褂幂^簡(jiǎn)單的上下文建模方案或旁路模式來對(duì)精細(xì)位和符號(hào)位(refinements and sign bits)進(jìn)行編碼。在一個(gè)實(shí)施例中,對(duì)于具有小于或等于閾值T的二進(jìn)制索引值的二進(jìn)制位(bins),在CABAC模式中對(duì)前綴二進(jìn)制字符串進(jìn)行編碼,否則在旁路模式中編碼。在一個(gè)實(shí)施例中,上下文選擇是根據(jù)二進(jìn)制索引。此外,具有相鄰索引值的一些二進(jìn)制位可以共享相同的上下文。在另一實(shí)施例中,可以根據(jù)比特流解析器的吞吐量約束和編碼效率要求來自適應(yīng)地選擇T。由于較低的閾值T將導(dǎo)致在旁路模式中編碼更多的符號(hào),這將以降低的編碼效率為代價(jià)來增加比特流解析器的吞吐量。還可以根據(jù)當(dāng)前編碼單元(CU)中的編碼的CABAC二進(jìn)制位的消耗來調(diào)整閾值T。例如,如果期望當(dāng)前編碼單元中CABAC編碼的二進(jìn)制位較少,則可以使用較小的閾值T。在一些實(shí)施例中,根據(jù)編碼單元大小自適應(yīng)地選擇T。例如,如果調(diào)色板編碼被應(yīng)用于編碼單元,則較大的編碼單元大小將導(dǎo)致游程模式(run mode)的較長(zhǎng)游程長(zhǎng)度(runlength)。在這種情況下,可以使用較大的閾值以有利于更好的編碼效率。

本發(fā)明被開發(fā)為通用編碼工具,其可用于對(duì)應(yīng)于不同編碼統(tǒng)計(jì)的不同語(yǔ)法類型的熵編碼。其對(duì)于具有混合視頻內(nèi)容類型和來自新編碼工具的許多新的語(yǔ)法類型的屏幕內(nèi)容編碼特別有益,包括幀內(nèi)塊復(fù)制(Intra block copying)、調(diào)色板編碼和幀內(nèi)字符串復(fù)制(Intra string copying)。表2為本發(fā)明的實(shí)施例的使用基于上下文的編碼對(duì)無符號(hào)源符號(hào)(unsigned source symbol)進(jìn)行編碼/解碼的示例性語(yǔ)法表。對(duì)由輸入?yún)?shù)syntaxType指定的不同語(yǔ)法類型可以采用不同的上下文建模方案。如表2所示,首先發(fā)信由語(yǔ)法msb_id_plus1表示的前綴部分。如果msb_id_plus1的值大于1,則發(fā)信語(yǔ)法refinement_bits。換句話說,如果msb_id_plus1的值為0或1,則不會(huì)發(fā)信后綴部分。

表2

上文公開的最高有效位索引的基于上下文的編碼可以應(yīng)用于在編碼處理期間產(chǎn)生的各種語(yǔ)法元素。例如,在HEVC RExt中指定的屏幕內(nèi)容編碼(SCC)中,可以使用“游程”模式來對(duì)塊中的顏色索引進(jìn)行編碼。當(dāng)選擇“游程”模式時(shí),發(fā)信當(dāng)前調(diào)色板游程模式的連續(xù)重復(fù)像素的數(shù)量減1。如前所述,有兩種“游程”模式,如Index_Mode(索引模式)和Copy_Above_Mode(復(fù)制上方模式)。在一個(gè)實(shí)施例中,用于使用最大游程值MaxPaletteRun對(duì)前綴部分和后綴部分進(jìn)行編碼的截?cái)嘈帕?truncated signaling),其中MaxPaletteRun等于當(dāng)前編碼單元中剩余的待編碼像素的數(shù)量減1。所得到的前綴語(yǔ)法palette_run_msb_id_plus1使用具有cMax=floor(log2((MaxPaletteRun))+1的截?cái)嘁辉a來編碼,其中函數(shù)floor(x)輸出小于或等于x的最大整數(shù)。后綴語(yǔ)法palette_run_refinement_bits使用具有cMax=MaxPaletteRun-(1<<(palette_run_msb_id_plus1-1))的截?cái)喽M(jìn)制碼來編碼。此外,前綴語(yǔ)法palette_run_msb_id_plus1可使用基于上下文的編碼來編碼,其中上下文是基于二進(jìn)制索引形成的。等于Copy_Above_Mode和Index_Mode的palette_run_type_flag可以分別采用兩個(gè)不同的上下文集合。

旁路模式可以用于編碼索引值大于閾值Tr的二進(jìn)制位。例如,Tr可以等于4或6。當(dāng)palette_run_type_flag等于Index_Mode并且當(dāng)前調(diào)色板索引很大時(shí),由于調(diào)色板游程長(zhǎng)度減1通常等于0,所以對(duì)于Index_Mode游程類型,用于二進(jìn)制索引0的上下文建??梢赃M(jìn)一步以當(dāng)前調(diào)色板索引paletteIndex為條件。在一個(gè)實(shí)施例中,對(duì)于(paletteIndex<T1),選擇第一上下文(即,上下文索引=0);對(duì)于(T1<=paletteIndex<T2),選擇第二上下文(即,上下文索引=1);對(duì)于(T2<=paletteIndex),選擇第三上下文(即,上下文索引=2)。閾值T2大于閾值T1。可以適當(dāng)?shù)剡x擇T1和T2的值。例如,T1可以等于2,并且T2可以等于4或8。

表3為用于前綴palette_run_msb_id_plus1的基于上下文的編碼的上下文選擇的示例性映射表。上下文選擇以解析的調(diào)色板索引為條件,其對(duì)應(yīng)于具有冗余移除的編碼的修改調(diào)色板索引(coded modified palette index)。上下文選擇也可以以重構(gòu)的調(diào)色板索引為條件,其對(duì)應(yīng)于調(diào)色板表使用的實(shí)際調(diào)色板索引。在一個(gè)實(shí)施例中,當(dāng)palette_run_type_flag等于Copy_Index_Mode并且解析的調(diào)色板索引值大于閾值Ts時(shí),可以跳過調(diào)色板游程編碼。在這種情況下,調(diào)色板游程長(zhǎng)度減1被推斷為0。在一個(gè)實(shí)施例中,Ts是從當(dāng)前編碼單元中的調(diào)色板顏色的數(shù)量導(dǎo)出的。閾值Tr、T1、T2或Ts可在序列參數(shù)集(sequence parameter set,SPS)、圖片參數(shù)集(picture parameter set,PPS)、切片標(biāo)頭(slice header)和/或調(diào)色板模式編碼的編碼單元中發(fā)信。

表3

在與語(yǔ)法元素相關(guān)的最高有效位索引的基于上下文的編碼的另一實(shí)例中,使用具有cMax=floor(log2((MaxPaletteIdx))+1的截?cái)嘁辉a來編碼所得的前綴語(yǔ)法palette_index_msb_id_plus1,且通過具有cMax=MaxPaletteIdx-(1<<(palette_index_msb_id_plus1-1))的截?cái)喽M(jìn)制碼來編碼后綴語(yǔ)法palette_index_refinement_bits。熵編碼前綴palette_index_msb_id_plus1的上下文建??梢砸远M(jìn)制索引為條件。熵編碼前綴palette_index_msb_id_plus1的上下文建模可以進(jìn)一步以MaxPaletteIdx為條件。MaxPaletteIdx表示對(duì)應(yīng)于具有冗余移除的最大修改的調(diào)色板索引的最大解析的調(diào)色板索引。在另一實(shí)施例中,MaxPaletteIdx表示對(duì)應(yīng)于調(diào)色板表所采用的最大實(shí)際調(diào)色板索引的最大重構(gòu)調(diào)色板索引。圖4為前綴palette_index_msb_id_plus1的基于上下文的編碼的上下文選擇的映射表的示例,其中不同的上下文集合可以用于具有不同的cMax=floor(log2((MaxPaletteIdx))+1的值的編碼單元。

表4

上面公開的基于上下文的編碼還可以應(yīng)用于其他語(yǔ)法元素,該其他語(yǔ)法元素與屏幕內(nèi)容編碼(SCC)的幀內(nèi)字符串復(fù)制(IntraBC)工具中使用的參考字符串相關(guān),其中屏幕內(nèi)容編碼與HEVC RExt相關(guān)。例如,根據(jù)本發(fā)明的基于上下文的編碼可以應(yīng)用于語(yǔ)法元素dictionary_pred_length_minus1、dictionay_pred_offset_minus1和(dictionay_pred_offsetX,dictionay_pred_offsetY)。這三個(gè)語(yǔ)法元素分別表示長(zhǎng)度減1、偏移減1和偏移向量。對(duì)于編碼該長(zhǎng)度,可以采用截?cái)嘈帕顏砭幋a前綴和后綴,其中前綴和后綴具有的最大游程值等于剩余的待編碼像素的數(shù)量減1。對(duì)于編碼該偏移向量,根據(jù)本發(fā)明的基于上下文的編碼可以應(yīng)用于每個(gè)矢量分量的絕對(duì)值。表5-7為分別用于上述長(zhǎng)度減1、偏移減1和語(yǔ)法元素的偏移向量(x,y)的上下文選擇的示例性映射表。

表5

表6

表7

對(duì)于索引模式,發(fā)信當(dāng)前調(diào)色板索引和游程長(zhǎng)度。通常在相關(guān)的游程長(zhǎng)度之前發(fā)信調(diào)色板索引。在本發(fā)明的另一實(shí)施例中,相關(guān)的游程長(zhǎng)度是基于調(diào)色板索引的上下文自適應(yīng)編碼的。例如,對(duì)于索引模式,確定具有與當(dāng)前塊的掃描順序中的當(dāng)前調(diào)色板索引相同的調(diào)色板索引的連續(xù)像素的數(shù)量。使用二進(jìn)制化方法將連續(xù)像素的數(shù)量減1轉(zhuǎn)換為二進(jìn)制字符串。根據(jù)取決于相同調(diào)色板索引來自適應(yīng)地選擇的上下文,通過將常規(guī)CABAC模式應(yīng)用于二進(jìn)制字符串的至少一個(gè)二進(jìn)制位,使用上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)來對(duì)二進(jìn)制字符串進(jìn)行編碼。相應(yīng)的解碼處理將執(zhí)行由編碼器執(zhí)行的這些步驟的相反步驟。例如,解碼器可以接收包括對(duì)應(yīng)于索引模式的當(dāng)前源符號(hào)的當(dāng)前塊的壓縮數(shù)據(jù)的輸入編碼比特流??梢源_定與當(dāng)前游程模式相關(guān)的當(dāng)前調(diào)色板索引。然后,根據(jù)取決于當(dāng)前調(diào)色板索引來自適應(yīng)地選擇的上下文,通過將常規(guī)CABAC模式應(yīng)用于二進(jìn)制字符串的至少一個(gè)二進(jìn)制位,使用上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)來對(duì)二進(jìn)制字符串進(jìn)行解碼。使用二進(jìn)制化方法將二進(jìn)制字符串轉(zhuǎn)換為游程長(zhǎng)度值,游程長(zhǎng)度值與具有和當(dāng)前調(diào)色板索引相同的調(diào)色板索引的多個(gè)連續(xù)像素相關(guān)。游程長(zhǎng)度值對(duì)應(yīng)于連續(xù)像素的數(shù)量減去1??梢允褂卯?dāng)前塊的掃描順序中的當(dāng)前調(diào)色板索引來重構(gòu)編碼的連續(xù)像素。在解碼器側(cè),當(dāng)前調(diào)色板索引可以基于來自輸入編碼比特流或重構(gòu)調(diào)色板索引的解析的調(diào)色板索引。

圖2為根據(jù)本發(fā)明實(shí)施例的源符號(hào)的熵編碼系統(tǒng)的示例性流程圖,其中源符號(hào)在前綴部分和后綴部分中表示,并且使用CABAC來編碼前綴部分和后綴部分的二進(jìn)制字符串。在步驟210中,系統(tǒng)接收具有屬于一組符號(hào)值(a set of symbol values)的當(dāng)前符號(hào)值(current symbol value)的當(dāng)前源符號(hào)。輸入數(shù)據(jù)對(duì)應(yīng)于將被編碼的當(dāng)前塊的像素?cái)?shù)據(jù)或顏色索引。可以從存儲(chǔ)器(例如,計(jì)算機(jī)存儲(chǔ)器、緩沖器(RAM或DRAM)或其他介質(zhì))或從處理器獲得輸入數(shù)據(jù)。在步驟220中,確定當(dāng)前符號(hào)值的最高有效位索引和任何精細(xì)位。在步驟230中,通過使用一元碼或截?cái)嘁辉a來對(duì)與當(dāng)前符號(hào)值的最高有效位索引相關(guān)的前綴部分進(jìn)行二進(jìn)制化,來導(dǎo)出第一二進(jìn)制字符串。在步驟230中,如果存在任何精細(xì)位,通過使用固定長(zhǎng)度碼或截?cái)喽M(jìn)制碼來對(duì)與當(dāng)前符號(hào)值的一個(gè)或多個(gè)精細(xì)位相對(duì)應(yīng)的的后綴部分進(jìn)行二進(jìn)制化,來導(dǎo)出第二二進(jìn)制字符串。在步驟250中,使用上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)來對(duì)第一二進(jìn)制字符串進(jìn)行編碼,并且如果存在第二二進(jìn)制字符串,則也使用CABAC對(duì)第二二進(jìn)制字符串進(jìn)行編碼。

圖3為根據(jù)本發(fā)明實(shí)施例的源符號(hào)的熵解碼系統(tǒng)的示例性流程圖,其中源符號(hào)在前綴部分和后綴部分中表示,并且使用CABAC來編碼前綴部分和后綴部分的二進(jìn)制字符串。在步驟310中,系統(tǒng)接收包括當(dāng)前源符號(hào)的壓縮數(shù)據(jù)的輸入編碼比特流??梢詮拇鎯?chǔ)器(例如,計(jì)算機(jī)存儲(chǔ)器、緩沖器(RAM或DRAM)或其他介質(zhì))或從處理器獲得輸入編碼比特流。在步驟320中,使用上下文自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)來解碼所述編碼比特流,以恢復(fù)第一二進(jìn)制字符串和任何第二二進(jìn)制字符串。在步驟330中,通過使用一元碼或截?cái)嘁辉a來解碼第一二進(jìn)制字符串,以恢復(fù)與當(dāng)前源符號(hào)的當(dāng)前符號(hào)值的最高有效位索引相關(guān)的前綴部分。在步驟340中,如果存在任何第二二進(jìn)制字符串,通過使用固定長(zhǎng)度碼或截?cái)喽M(jìn)制碼來解碼第二二進(jìn)制字符串,以恢復(fù)對(duì)應(yīng)于當(dāng)前符號(hào)值的一個(gè)或多個(gè)精細(xì)位的后綴部分。在步驟350中,如果存在任何精細(xì)位,則基于當(dāng)前符號(hào)值的最高有效位索引和任何精細(xì)位來恢復(fù)當(dāng)前源符號(hào)。

以上所述的流程圖旨在示出根據(jù)本發(fā)明的使用前綴部分和后綴部分的熵編碼的示例。本領(lǐng)域的技術(shù)人員可以修改每個(gè)步驟、重新安排步驟的順序、拆分步驟或者結(jié)合某些步驟來實(shí)現(xiàn)本發(fā)明,而不例外本發(fā)明的精神。在本公開中,已經(jīng)使用特定語(yǔ)法和語(yǔ)義來說明實(shí)現(xiàn)本發(fā)明的實(shí)施例。本領(lǐng)域技術(shù)人員可以通過用使用等同的語(yǔ)法和語(yǔ)義來代替本發(fā)明中的語(yǔ)法和語(yǔ)義,從而實(shí)踐本發(fā)明,而不例外本發(fā)明的精神。

以上的描述是使本領(lǐng)域的技術(shù)人員在本文提供的特定應(yīng)用和需求下能夠?qū)嵺`本發(fā)明。本領(lǐng)域的技術(shù)人員將容易地觀察到,在不例外本發(fā)明的精神和范圍內(nèi),可以進(jìn)行多種修改和變動(dòng)。因此,本發(fā)明并非限定在所示和描述的特定的實(shí)施例上,而本發(fā)明公開是為了符合原則和新穎性的最廣泛的范圍。在上述詳細(xì)的描述中,各種具體的細(xì)節(jié),用以提供對(duì)本發(fā)明的透徹的了解。盡管如此,將被本領(lǐng)域的技術(shù)人員理解的是,本發(fā)明能夠被實(shí)踐。

如上述所述的本發(fā)明的實(shí)施例,可以使用硬件、軟件或其組合來實(shí)現(xiàn)。例如,本發(fā)明的一實(shí)施例可以是集成到視頻壓縮芯片中的電路或集成到視頻壓縮軟件中的程序代碼,以執(zhí)行所描述的處理。本發(fā)明的實(shí)施例也可以是將在數(shù)字信號(hào)處理器上執(zhí)行的程序代碼來執(zhí)行所描述的處理。本發(fā)明還涉及一系列的由計(jì)算機(jī)處理器、數(shù)字信號(hào)處理器、微處理器和現(xiàn)場(chǎng)可編程門陣列(FPGA)執(zhí)行的功能。根據(jù)本發(fā)明,這些處理器可以被配置為執(zhí)行特定任務(wù),通過執(zhí)行定義特定方法的計(jì)算機(jī)可讀軟件代碼或固件代碼來實(shí)現(xiàn)。軟件代碼或固件代碼可以用不同的編程語(yǔ)言和不同的格式或樣式來開發(fā)。軟件代碼也可以為不同的目標(biāo)平臺(tái)所編譯。然而,軟件代碼的不同的代碼格式、風(fēng)格和語(yǔ)言,以及配置代碼的其他方式以執(zhí)行任務(wù),均不例外本發(fā)明之精神和范圍。

本發(fā)明可以以其它具體形式實(shí)施而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都僅是說明性的而不是限制性。本發(fā)明的范圍因此由所附權(quán)利要求為準(zhǔn)而不是由前面的描述所界定。因此,各種修改、改編以及所描述的實(shí)施例的各種特征的組合可以在不例外本發(fā)明的范圍如權(quán)利要求書中闡述的情況下實(shí)施。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1