亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于可分級視頻比特流的熵編碼和解碼的方法和系統(tǒng)的制作方法

文檔序號:7948664閱讀:227來源:國知局
專利名稱:用于可分級視頻比特流的熵編碼和解碼的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及視頻編碼領(lǐng)域,并且更具體地,涉及可分級視頻編碼。
背景技術(shù)
傳統(tǒng)視頻編碼標(biāo)準(zhǔn)(例如MPEG-1、H.261/263/264)包括按照特定比特速率目標(biāo)對視頻序列進行編碼。一旦被編碼,該標(biāo)準(zhǔn)不提供用于與設(shè)置到編碼所使用的比特速率的不同比特速率對視頻序列進行傳輸或解碼的機制。因此,當(dāng)需要較低的比特速率版本時,必須向視頻序列的解碼和重新編碼(至少部分地)投入計算工作量。
相比之下,利用可分級視頻編碼,以下列方式對視頻序列進行編碼,即使得以較低比特速率為特征的編碼序列可以簡單地通過操控比特流,特別是通過從比特流中選擇性地去除比特而產(chǎn)生。
已經(jīng)提出多種系統(tǒng),用于將視頻序列有效地轉(zhuǎn)換為描述質(zhì)量漸進的視頻序列的二進制表示,同時在一個幀內(nèi)或多個幀之間有效地采用相關(guān)性。用于產(chǎn)生視頻序列的二進制結(jié)果的其他轉(zhuǎn)換機制也是可用的。
本發(fā)明關(guān)注用于對來自比特流的這種二進制結(jié)果進行編碼和解碼,以及用于對來自比特流的這種結(jié)果進行編碼或解碼的策略。特別是關(guān)注使用基于上下文的自適應(yīng)二進制算術(shù)編碼,將二進制結(jié)果編碼為比特流,以及對來自比特流的結(jié)果進行解碼。更具體的可分級視頻解碼器基于利用基于上下文的自適應(yīng)二進制算術(shù)編碼(CABAC)引擎(ITU-T建議,H.264,“用于普通視聽服務(wù)的高級視頻編碼”,預(yù)公開,2003年3月5日,也稱為高級視頻編碼(AVC)或MPEG-4部分10)的H.264而開發(fā)。

發(fā)明內(nèi)容
本發(fā)明降低增強層的壓縮比特流的大小。在本發(fā)明中,術(shù)語“增強層”指改進先前編碼的視頻數(shù)據(jù)的可視質(zhì)量的數(shù)據(jù)。當(dāng)與有效的預(yù)測二進制化算法一起使用時,本發(fā)明將視頻數(shù)據(jù)編碼為比特流,或者可選地對于先前編碼的比特流進行解碼,其中通過避免比特流中包括任何冗余信息,所述比特流得到良好的壓縮效率。對于一些視頻序列,已經(jīng)展示壓縮效率等于單層(即不可分級的)視頻流的壓縮效率。
還提出了一種基于H.264CABAC熵編碼引擎的特定設(shè)計。按照該設(shè)計,CABAC熵編碼引擎不適合于可分級視頻編碼。本發(fā)明以以下方式對其擴展,即使得其適合于可分級視頻編碼。因此,除了提供非常好的編碼性能之外,本發(fā)明僅需要對H.264做出很少的改變。本發(fā)明重新使用在H.264中已經(jīng)定義的大多數(shù)編碼上下文。整體CABAC核算術(shù)編碼器根本不被修改。
本發(fā)明涉及多個方法、程序產(chǎn)品和裝置,所述方法、程序產(chǎn)品和裝置用于通過對語法元素選擇性地解碼,對包含視頻序列的編碼的二進制結(jié)果的可分級比特流進行解碼,其中已使用相對應(yīng)的編碼器創(chuàng)建所述比特流,從而避免比特流中包括冗余信息。本發(fā)明還涉及多個方法、程序產(chǎn)品和裝置,所述方法、程序產(chǎn)品和裝置用于通過對語法元素選擇性地編碼,對來自視頻序列的二進制結(jié)果的可分級比特流進行編碼,并且避免了對冗余信息的編碼。結(jié)果是減小了增強層的壓縮的比特流的大小。
本發(fā)明的一個示例性實施方式包括確定視頻數(shù)據(jù)的基層(baselayer)宏塊中的跳過標(biāo)志(skipping flag)是否被設(shè)置;以及僅當(dāng)基層宏塊被設(shè)置為特定值時,將視頻數(shù)據(jù)的增強層宏塊的宏塊跳過標(biāo)志編碼為比特流,其中所述增強層宏塊對應(yīng)于所述基層宏塊。
本發(fā)明的另一示例性實施方式包括確定視頻數(shù)據(jù)的基層宏塊中的跳過標(biāo)志是否被設(shè)置;以及僅當(dāng)基層宏塊被設(shè)置為特定值時,將視頻數(shù)據(jù)的增強層宏塊的宏塊跳過標(biāo)志進行解碼,其中所述增強層宏塊對應(yīng)于所述基層宏塊。
本發(fā)明的另一示例性實施方式包括確定基層宏塊中的多個塊中的哪些塊包含零系數(shù);生成增強層宏塊的編碼塊模式(CBP),其中CBP包括數(shù)目等于僅包含零系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字;以及,然后將增強層的CBP編碼為比特流。
本發(fā)明的另一示例性實施方式包括確定基層宏塊中的多個塊中的哪些塊包含零系數(shù);然后對增強層宏塊的編碼塊模式(CBP)進行解碼,其中CBP包括數(shù)目等于僅包含零系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字。
本發(fā)明的另一示例性實施方式包括將基層宏塊的CBP值編碼為比特流;以及將與基層宏塊的CBP相關(guān)的增強層宏塊的CBP值差分編碼為比特流。
本發(fā)明的另一示例性實施方式包括對基層宏塊的CBP值進行解碼;以及對與基層宏塊的CBP相關(guān)的增強層宏塊的CBP值進行差分解碼。
本發(fā)明的又一示例性實施方式包括確定基層的塊中的零值系數(shù);確定在增強層中的相應(yīng)塊中零系數(shù)中任何一個零值系數(shù)是否變?yōu)榉橇阆禂?shù);以及基于該確定將增強層中的編碼塊標(biāo)志編碼為比特流。
本發(fā)明的另外的示例性實施方式包括確定基層的塊中的零值系數(shù);確定是否對來自增強層的編碼塊標(biāo)志進行解碼;然后確定在使用或不使用解碼的編碼塊標(biāo)志的情況下,零值基層系數(shù)的任何一個在增強層的相應(yīng)塊中是否變?yōu)榉橇阆禂?shù)。
對于本領(lǐng)域的技術(shù)人員,根據(jù)以下詳細描述,本發(fā)明的其他特征和優(yōu)點將變得更加明顯。然而,應(yīng)該理解,盡管示出了本發(fā)明的優(yōu)選實施方式,所給出的詳細描述和具體例子用于進行說明而不是進行限制。在不偏離本發(fā)明的精神的情況下,在本發(fā)明范圍內(nèi)可以進行多種改變和修改,并且本發(fā)明包括所有這些修改。


參考以下詳細描述和附圖,本發(fā)明的上述優(yōu)點和特征將變得明顯,其中圖1示出采用本發(fā)明的通信設(shè)備;圖2是示出本發(fā)明的第一示例性實施方式的方法的流程圖;以及圖3示出采用本發(fā)明的視頻解碼器;圖4是示出本發(fā)明的另一示例性實施方式的方法的流程圖;以及圖5示出采用本發(fā)明的視頻編碼器。
具體實施例方式
現(xiàn)有的二進制化算法可以提供增強層的描述。但是在增強層描述和先前的基層描述之間仍保留強的相關(guān)性。
類似于不可分級的編解碼器中的方案的熵編碼方案可以一直使用,但是這將造成信息被編碼為比特流或隨后重復(fù)地解碼,導(dǎo)致極差的編碼性能。本發(fā)明通過選擇性地編碼和/或解碼語法元素,使用二進制化方案中建立的相關(guān)性,有效地編碼和解碼二進制結(jié)果。
基于上下文的自適應(yīng)二進制算術(shù)編碼引擎包括兩部分上下文建模和算術(shù)編碼引擎。二進制算術(shù)編碼引擎通?;诜柕漠?dāng)前概率估計對該符號進行解碼。在某個上下文中估計符號的概率,以便得到良好的壓縮率。壓縮系統(tǒng)中的上下文建模用于定義各種編碼上下文,以便得到最佳的可能壓縮性能。
在H.264中,一定的上下文和算術(shù)編碼引擎已經(jīng)被定義為將語法元素和系數(shù)編碼為不可分級的壓縮比特流。本發(fā)明解決了以下問題,即如何基于生成的二進制結(jié)果來生成和解碼可分級比特流,其中通過重新使用大部分在H.264中已經(jīng)定義的大部分編碼上下文的算法,以及通過當(dāng)存在明顯優(yōu)勢時定義新的上下文,從而生成該二進制結(jié)果。本發(fā)明的另一有益特征是不需要修改H.264中基本的算術(shù)編碼引擎。
本發(fā)明的熵編碼方案是有效的引擎,用于將由二進制化方案生成的數(shù)據(jù)編碼為可分級比特流。本領(lǐng)域的技術(shù)人員將理解,其他二進制化方案是可用的,并且本發(fā)明可以與其一起使用。
這里描述基于H.264的熵編碼方案,盡管本發(fā)明的可應(yīng)用性不限于基于H.264的可分級視頻編碼方案。當(dāng)使用類似的二進制化算法時,可以對于其他標(biāo)準(zhǔn)進行類似的擴展。
在以下討論中,“基層”可以指由諸如H.264的不可分級編解碼器產(chǎn)生的絕對基層,或者可以指先前編碼的增強層,其用作對當(dāng)前增強層進行解碼的基礎(chǔ)。以下的術(shù)語“系數(shù)”指使用以更高的精度漸進地描述系數(shù)的二進制化方案產(chǎn)生的比特,或者量化的系數(shù)值。
H.264中通用解碼分層H.264對于以下描述的分層中的系數(shù)進行解碼。
1.視頻數(shù)據(jù)的幀被劃分為宏塊(MB)。一個MB包括16×16個亮度值、8×8個色差-Cb值以及8×8個色差-Cr值。如果該宏塊的所有信息可以通過使用預(yù)定義規(guī)則從已經(jīng)解碼的信息中推斷出,則可以在該級中設(shè)置MB跳過標(biāo)志。
2.如果宏塊沒有跳過,則對來自比特流的編碼塊模式(CBP)解碼,以指示宏塊中非零系數(shù)的分布。以下示出關(guān)于CBP的進一步的解釋。
3.在CBP被解碼之后,針對4×4塊或2×2塊(取決于系數(shù)類型)從下一級中的比特流解碼出編碼塊標(biāo)志,以指示該塊中是否存在任何非零系數(shù)。
4.如果色差DC系數(shù)在大小4×4的塊或大小2×2的塊中存在任何非零系數(shù),則對那些非零系數(shù)的位置以及值進行解碼,并且使用預(yù)定義的掃描順序確定塊中的每個系數(shù)值。
接下來根據(jù)本發(fā)明描述怎樣從可分級視頻編碼(SVC)增強層對這些語法元素進行解碼。
MB跳過標(biāo)志的解碼如果可以從已經(jīng)解碼的信息推斷出模式和運動矢量,并且編碼的版本不包含非零系數(shù),則可以跳過MB,即,既不編碼為比特流也不從比特流進行解碼。由MB跳過標(biāo)志指示是否跳過MB。
在本發(fā)明中,僅當(dāng)確定基層中相應(yīng)的MB不具有非零系數(shù)時,從增強層解碼MB跳過標(biāo)志。做出該確定的一種方式是檢查基層中的MB跳過標(biāo)志是否指示該基層中的MB被跳過,例如基層MB跳過標(biāo)志的值為1。
相反,當(dāng)基層中MB的MB跳過標(biāo)志指示不跳過MB時,例如,MB跳過標(biāo)志的值為0時,則不跳過增強層中相應(yīng)的MB,并且不解碼MB跳過標(biāo)志。
在增強層處的相鄰MB的跳過標(biāo)志的上下文中,對增強層中的跳過標(biāo)志進行解碼。使用在H.264中定義的相同的編碼上下文。
圖2是示出本發(fā)明的該方面的流程圖。在塊200中,接收編碼的視頻數(shù)據(jù)。在塊210中,確定給定的基層MB是否包含跳過標(biāo)志,或更一般地,確定其是否不包含非零系數(shù)。如果是,則在塊220中,對帶有跳過標(biāo)志的相應(yīng)的增強層MB進行解碼,并且對于下一個MB重復(fù)該方法。如果否,則在塊230中,不對帶有跳過標(biāo)志的相應(yīng)的增強層MB進行解碼,并且該方法前進到塊240,對給定MB做進一步的處理。
MB編碼塊模式(CBP)的解碼MB編碼塊模式具有兩部分CBPY和CBPC。CBPY包括四比特,其指示MB中的四個8×8亮度塊中哪些8×8亮度塊包含非零系數(shù)。在優(yōu)選實施方式中,根據(jù)以下描述的場景,CBPC是在0-2范圍內(nèi)的一個數(shù),其指示MB中非零色差(Cb或Cr)系數(shù)的存在性。其他場景當(dāng)然是可以的并且將得到不同的編碼塊模式和可能的不同數(shù)值范圍。CBPY或CBPC的“終止值”是一個場景,其傳達關(guān)于方案允許的MB中系數(shù)的最大信息量。在以下描述的場景中,CBPC的終止值是2。
1.CBPC的值為0指示在各個色差塊中不存在非零DC或AC系數(shù)。
2.CBPC的值為1指示一個或多個DC系數(shù)是非零的,并且所有的AC系數(shù)為零。
3.CBPC的值為2指示一些AC系數(shù)是非零的,而不論DC值為多少。
在本發(fā)明中,選擇性地對增強層處的CBPY比特進行解碼。在基層中,僅針對CPB比特是零(即它們不具有非零系數(shù))的那些8×8亮度塊對比特進行解碼。當(dāng)相對應(yīng)的8×8基層亮度塊確實包含非零系數(shù)時,盡管其具有的CBP值為1,也對增強層中的8×8亮度塊進行解碼,但是不對CPB值進行解碼。
從比特流所解碼的CBPY比特在鄰近MB中的CBPY的上下文中解碼。使用如H.264的相同的編碼上下文定義。
在優(yōu)選實施方式中,如此解碼的CBPY中的比特的數(shù)目等于在具有零值系數(shù)的前面的層處相對應(yīng)的MB的8×8塊的數(shù)目,但不需要一定如此。
還根據(jù)基層定義增強層中的CBPC。
1.如果基層中的MB的CBPC是0,則H.264CBPC定義和編碼上下文定義用于增強層中的該MB的CBPC。
2.如果基層中的MB的CBPC是1,由于增強層中的MB的CBPC可以僅為1或2,所以僅需要對一個比特進行解碼,以指示增強層中的MB的CBPC是否等于1。對于該比特使用與H.264中相同的上下文定義。
3.如果基層中的MB的CBPC是2,則增強層中的MB的CBPC也是2,但在這種情況下,不對CBPC值進行解碼。
對編碼塊標(biāo)志進行解碼在實際的系數(shù)解碼中存在五種不同類型的塊。它們是來自內(nèi)部(intra)4×4預(yù)測的亮度4×4AC塊、來自內(nèi)部16×16預(yù)測的亮度4×4DC塊、來自內(nèi)部16×16預(yù)測的亮度4×4AC塊、色差4×4AC塊和色差2×2DC塊。在H.264中,從比特流解碼的編碼塊標(biāo)志指示一個塊是否包含任何非零系數(shù)。該標(biāo)志的值為0或1;值0指示不存在非零系數(shù),而值1指示在塊中存在至少一個非零系數(shù)。
在本發(fā)明中,針對增強層擴展編碼塊標(biāo)志的定義。如果基層中的相應(yīng)塊不具有非零系數(shù)(即,如果基層中的相應(yīng)編碼塊標(biāo)志是0),則使用常規(guī)編碼塊標(biāo)志定義。這稱作類型1編碼塊標(biāo)志。針對類型1編碼塊標(biāo)志,使用在H.264中定義的相同的編碼上下文。
將在基層中的相應(yīng)塊具有一些非零系數(shù)的情況進一步劃分為兩種情況。當(dāng)基層中的相應(yīng)塊包含至少一個零值系數(shù)時,對稱作類型2編碼塊標(biāo)志的編碼塊標(biāo)志進行解碼。當(dāng)基層中的相應(yīng)塊僅包含非零系數(shù)時,不對編碼塊標(biāo)志進行解碼,因為任何系數(shù)不可能從基層中的零值變?yōu)樵鰪妼又械姆橇阒怠?br> 如果類型2編碼塊標(biāo)志是0,則在增強層中不存在新的非零系數(shù)。如果該標(biāo)志是1,則這指示更多系數(shù)變得非零。
類型2編碼塊標(biāo)志具有與常規(guī)編碼塊標(biāo)志不同的統(tǒng)計特性。定義用于對類型2編碼標(biāo)志進行編碼的新的上下文?;诨鶎又械膲K的非零系數(shù)的數(shù)目、塊的大小和鄰近塊的狀況定義新的上下文。
系數(shù)的解碼在H.264中,系數(shù)可以只是零或只是非零。在可分級視頻編碼中,系數(shù)被連續(xù)地細化。關(guān)于增強層中的系數(shù)值存在三種情況。
1.系數(shù)在基層和增強層二者中都是零。
2.系數(shù)在基層中是零,但在增強層中非零。這種情況發(fā)生在當(dāng)系數(shù)已經(jīng)在基層中被正確地預(yù)測而沒有在增強層中正確預(yù)測時。對于這種情況,有效圖(significance map)確定系數(shù)的位置。另外,需要對系數(shù)的符號進行解碼。
3.在基層中系數(shù)是非零的,并且信息從增強層比特流被解碼,從而使得被解碼的系數(shù)更加準(zhǔn)確。對于該系數(shù),被編碼到增強層的附加信息被稱作細化信息(refinement information)。
新的有效系數(shù)的大小和有效系數(shù)圖的解碼在H.264中,使用兩個標(biāo)志significant_coeff_flag和last_significant_coeff_flag對非零系數(shù)的位置進行解碼。以在H.264中定義的掃描順序?qū)υ摌?biāo)志進行解碼。值為1的解碼的significant_coeff_flag指示在當(dāng)前掃描位置處的非零系數(shù)。解碼的值為0的significant_coeff_flag指示在當(dāng)前掃描位置處的零系數(shù)。僅當(dāng)significant_coeff flag是1時對標(biāo)志1ast_significant_coeff_flag解碼。如果last_significant_coeff_flag的值是0,則按照掃描順序在當(dāng)前系數(shù)之后存在更多非零系數(shù)。如果last_significant_coeff_flag的值是1,則按照掃描順序在當(dāng)前系數(shù)之后不再有非零系數(shù)。
在本發(fā)明中,僅針對基層中為零的系數(shù)對增強層中的significant_coeff_flag進行解碼??梢允褂迷贖.264中定義的相同的編碼上下文。
在本發(fā)明中,在基層中類似地定義last_significant_coeff_flag??梢允褂迷贖.264中定義的相同的編碼上下文。新的上下文還可以基于基層中的非零系數(shù)的數(shù)目和塊大小而形成。
如果編碼塊標(biāo)志是零,則不論其是類型1還是類型2,都不需要對有效系數(shù)圖的解碼。
系數(shù)細化信息的解碼針對基層中非零的那些系數(shù)的系數(shù)細化信息被編碼進增強層中。細化比特指示怎樣將系數(shù)細化到較高的逼真度。
在現(xiàn)有的二進制化方案中,如果系數(shù)已經(jīng)具有比較高的準(zhǔn)確性,則比特流可以根本不包含任何細化比特。相反,增強層比特流還可以包括超過1個的細化比特,以細化具有相對較低準(zhǔn)確性的單個系數(shù)。
對于系數(shù)細化比特,在H.264中不存在對應(yīng)部分。定義了新的編碼上下文?;陬A(yù)測值相對于用于提供輸入的二進制化方案中間隔的位置定義了該上下文。還考慮間隔的大小來定義該上下文。
H.264中的一般編碼分層H.264對以下描述的分層中的系數(shù)進行編碼。
1.視頻數(shù)據(jù)幀被劃分為宏塊(MB)。MB包括16×16亮度值、8×8色差-Cb值和8×8色差-Cr值。如果通過使用預(yù)定義的規(guī)則可以從已經(jīng)編碼的信息中推斷出該宏塊的所有信息,則在該級設(shè)置MB跳過標(biāo)志。
2.如果宏塊不被跳過,則發(fā)送編碼塊模式(CBP),以指示該宏塊中非零系數(shù)的分布。以下示出了關(guān)于CBP的進一步的解釋。
3.在CBP被編碼之后,在下一級中發(fā)送針對4×4塊或2×2塊(取決于系數(shù)類型)的編碼塊標(biāo)志,以指示在該塊中是否存在任何的非零系數(shù)。
4.如果色差DC系數(shù)在大小為4×4的塊或大小為2×2的塊中存在任何非零系數(shù),則以預(yù)定義的掃描順序掃描系數(shù)。對非零系數(shù)的位置及值進行編碼。
接著根據(jù)本發(fā)明描述怎樣在可分級視頻編碼(SVC)增強層中對這些語法元素進行編碼。
MB跳過標(biāo)志的編碼如果模式和運動矢量可以從已經(jīng)編碼的信息中推斷出,則MB可以被跳過,即,不被編碼,并且將不對非零系數(shù)進行編碼。由MB跳過標(biāo)志指示MB是否被跳過。
在本發(fā)明中,僅當(dāng)基層中的相應(yīng)MB被確定為不具有非零系數(shù)時,在增強層中對MB跳過標(biāo)志編碼。進行該確定的一種方式是通過檢查基層中的MB跳過標(biāo)志是否指示跳過基層中的MB,例如基層MB跳過標(biāo)志具有的值是否為1。
相反,當(dāng)基層中的MB的MB跳過標(biāo)志指示不跳過MB時,例如,MB跳過標(biāo)志具有的值為0時,則不跳過增強層中的相應(yīng)MB,并且不對MB跳過標(biāo)志進行編碼。
在增強層處的鄰近MB的跳過標(biāo)志的上下文中對增強層中的跳過標(biāo)志進行編碼。使用在H.264中定義的相同的編碼上下文。
圖4是示出本發(fā)明的該方面的流程圖。在塊400中,接收視頻序列的二進制結(jié)果。在塊410中,確定給定的基層MB是否包含跳過標(biāo)志,或者更具體地,是否不包含非零系數(shù)。如果是,則在塊420中,對帶有跳過標(biāo)志的相應(yīng)的增強層MB進行編碼,并且對于接下來的MB進行重復(fù)該方法。如果否,則在塊430中,不對帶有跳過標(biāo)志的相應(yīng)的增強層MB進行編碼,并且該方法前進到具有對給定MB的進一步處理的塊440。
MB編碼塊模式(CBP)的編碼MB編碼塊模式具有兩部分CBPY和CBPC。CBPY包括四個比特,其指示MB中的四個8×8亮度塊中的哪些8×8亮度塊包含非零系數(shù)。在優(yōu)選實施方式中,根據(jù)以下描述的場景,CBPC是范圍0-2中的數(shù),其指示在MB中非零色差(Cb或Cr)系數(shù)的存在性。其他場景當(dāng)然是可以的,并且將得到不同的編碼塊模式以及可能的不同數(shù)值范圍。CBPY或CBPC的“終止值”是一個場景,其傳達關(guān)于方案允許的MB中系數(shù)的最大信息量。在以下描述的場景中,CBPC的終止值是2。
1.CBPC的值為0指示在各個色差塊中不存在非零DC或AC系數(shù)。
2.CBPC的值為1指示一個或多個DC系數(shù)是非零的,并且所有的AC系數(shù)為零。
3.CBPC的值為2指示一些AC系數(shù)是非零的,而不論DC值是多少。
在本發(fā)明中,選擇性地對于增強層處的CBPY比特進行編碼。在基層中,僅針對CPB比特是零(即它們不具有非零系數(shù))的那些8×8亮度塊對比特進行編碼。當(dāng)相對應(yīng)的8×8基層亮度塊確實包含非零系數(shù)時,盡管其具有的CBP值為1,也對增強層中的8×8亮度塊進行編碼,但是不對CPB值進行編碼。
被發(fā)送的CBPY比特在鄰近MB中的CBPY的上下文中編碼。使用如H.264的相同的編碼上下文定義。
在優(yōu)選實施方式中,如此去除的比特的數(shù)目等于在具有零值系數(shù)的前面的層處相對應(yīng)的MB的8×8塊的數(shù)目,但不需要一定如此。
還根據(jù)基層定義增強層中的CBPC。
1.如果基層中的MB的CBPC是0,則H.264CBPC定義和編碼上下文定義用于增強層中的該MB的CBPC。
2.如果基層中的MB的CBPC是1,由于增強層中的MB的CBPC可以僅為1或2,所以僅需要發(fā)送一個比特,以指示增強層中的MB的CBPC是否等于1。對于該比特使用與H.264中相同的上下文定義。
3.如果基層中的MB的CBPC是2,則增強層中的MB的CBPC也是2,但在這種情況下,不對CBPC值進行編碼。
對編碼塊標(biāo)志進行編碼在實際的系數(shù)編碼中存在五種不同類型的塊。它們是來自內(nèi)部4×4預(yù)測的亮度4×4AC塊、來自內(nèi)部16×16預(yù)測的亮度4×4DC塊、來自內(nèi)部16×16預(yù)測的亮度4×4AC塊、色差4×4AC塊和色差2×2DC塊。在H.264中,發(fā)送編碼塊標(biāo)志,以指示一個塊是否包含任何非零系數(shù)。該標(biāo)志的值為0或1;值0指示不存在非零系數(shù),而值1指示在塊中存在至少一個非零系數(shù)。
在本發(fā)明中,針對增強層擴展編碼塊標(biāo)志的定義。如果基層中的相應(yīng)塊不具有非零系數(shù)(即,如果基層中的相應(yīng)編碼塊標(biāo)志是0),則使用常規(guī)編碼塊標(biāo)志定義。這稱作類型1編碼塊標(biāo)志。針對類型1編碼塊標(biāo)志,使用在H.264中定義的相同的編碼上下文。
將在基層中的相應(yīng)塊具有一些非零系數(shù)的情況進一步劃分為兩種情況。當(dāng)基層中的相應(yīng)塊包含至少一個零值系數(shù)時,對稱作類型2編碼塊標(biāo)志的編碼塊標(biāo)志進行編碼。當(dāng)基層中的相應(yīng)塊僅包含非零系數(shù)時,不對編碼塊標(biāo)志進行編碼,因為任何系數(shù)不可能從基層中的零值變?yōu)樵鰪妼又械姆橇阒怠?br> 如果類型2編碼塊標(biāo)志是0,則在增強層中不存在新的非零系數(shù)。如果該標(biāo)志是1,則這指示更多系數(shù)變得非零。
類型2編碼塊標(biāo)志具有與常規(guī)編碼塊標(biāo)志不同的統(tǒng)計特性。定義用于對類型2編碼標(biāo)志進行編碼的新的上下文?;诨鶎又械膲K的非零系數(shù)的數(shù)目、塊的大小和鄰近塊的狀況定義新的上下文。
系數(shù)的編碼在H.264中,系數(shù)可以只是零或只是非零。在可分級視頻編碼中,系數(shù)被連續(xù)地細化。關(guān)于增強層中的系數(shù)值存在三種情況。
1.系數(shù)在基層和增強層二者中都是零。
2.系數(shù)在基層中是零,但在增強層中非零。這種情況發(fā)生在當(dāng)系數(shù)已經(jīng)在基層中被正確地預(yù)測而沒有在增強層中被正確預(yù)測時。對于這種情況,有效圖確定系數(shù)的位置。另外,需要對系數(shù)的符號進行發(fā)送。
3.在基層中系數(shù)是非零的,并且信息在增強層中被發(fā)送,從而使得系數(shù)更加準(zhǔn)確。對于該系數(shù),在增強層中發(fā)送的附加信息被稱作細化信息。
新的有效系數(shù)的大小和有效系數(shù)圖的編碼在H.264中,使用兩個標(biāo)志significant_coeff_flag和last_significant_coeff_flag對非零系數(shù)的位置進行編碼。以在H.264中定義的掃描順序發(fā)送該標(biāo)志。針對當(dāng)前掃描位置處的非零系數(shù)發(fā)送值為1的significant_coeff_flag。針對當(dāng)前掃描位置處的零系數(shù)發(fā)送值為0的significant_coeff_flag。僅當(dāng)significant_coeff_flag是1時發(fā)送標(biāo)志last_significant_coeff_flag。如果按照掃描順序在當(dāng)前系數(shù)之后存在更多非零系數(shù),則last_significant_coeff_flag的值是0。否則last_significant_coeff_flag是1。
在本發(fā)明中,僅針對基層中為零的系數(shù)對增強層中的significant_coeff_flag進行發(fā)送??梢允褂迷贖.264中定義的相同的編碼上下文。
在本發(fā)明中,在基層中類似地定義last_significant_coeff_flag??梢允褂迷贖.264中定義的相同編碼上下文。新的上下文還可以基于基層中的非零系數(shù)的數(shù)目和塊大小而形成。
如果編碼塊標(biāo)志是零,則不論其是類型1還是類型2,都不需要對有效系數(shù)圖的編碼。
系數(shù)細化信息的編碼針對基層中非零的那些系數(shù)的系數(shù)細化信息在增強層中生成。細化比特指示怎樣將系數(shù)細化到較高的逼真度。
在現(xiàn)有的二進制化方案中,如果編碼器確定系數(shù)已經(jīng)具有比較高的準(zhǔn)確性,則編碼器可以選擇根本不發(fā)送任何細化比特。編碼器還可以選擇發(fā)送超過1個的細化比特,以細化具有相對低準(zhǔn)確性的系數(shù)。
對于系數(shù)細化比特,在H.264中不存在對應(yīng)部分。定義了新的編碼上下文。基于預(yù)測值的相對于用于提供輸入的二進制化方案中間隔的位置定義了該上下文。還考慮間隔的大小來定義該上下文。
本發(fā)明可以使用例如C/C++或匯編語言的任何公共編程語言在軟件中直接實現(xiàn)。本發(fā)明還可以在硬件中實現(xiàn)并用于客戶設(shè)備。
本發(fā)明的一個可能的實現(xiàn)是作為通信設(shè)備(諸如類似蜂窩電話的移動通信設(shè)備、或類似基站、路由器、中繼器的網(wǎng)絡(luò)設(shè)備等)的部分。圖1所示的通信設(shè)備130包括通信接口134、存儲器138、處理器140、應(yīng)用142和時鐘146。通信設(shè)備130的精確架構(gòu)不是重要的。通信設(shè)備130的不同的和附加的部件可以并入通信設(shè)備130中。例如,如果設(shè)備130是蜂窩電話,其還可以包括顯示屏,以及一個或多個輸入接口,諸如鍵盤、觸摸屏和攝像機。本發(fā)明的可分級視頻編碼技術(shù)將在通信設(shè)備130的存儲器138和處理器140中執(zhí)行。
圖3示出了根據(jù)本發(fā)明的視頻解碼器310,其使用系數(shù)二進制處理,并對可分級比特流進行解碼。如圖所示,視頻解碼器310從傳輸信道320接收比特流用于視頻解碼。解碼器310可以包括比特流分離器330,其用于諸如通過將比特從比特流中去除以便降低比特率而處理比特流。所處理的比特流可以與來自預(yù)測塊350的預(yù)測信息一起提供給算術(shù)解碼器340。算術(shù)解碼器340可以將代表所解碼的視頻數(shù)據(jù)的信號提供給用于視頻重建的解二進制塊360。解二進制塊360可以操作地連接到預(yù)測塊350,以接收預(yù)測信息。解二進制塊360可以將重建的系數(shù)信息提供給幀緩沖器370,并可以將重建的視頻信號提供給媒體播放器(未示出)。應(yīng)當(dāng)理解,解二進制塊360可以包括軟件程序380,以執(zhí)行解二進制塊的功能。此外,視頻解碼器310可以包括基層解碼器390,其操作地連接到預(yù)測塊350、幀緩沖器370、以及解二進制塊360,以基于來自比特流的視頻數(shù)據(jù)執(zhí)行基層解碼?;鶎咏獯a器390是現(xiàn)有技術(shù)中公知的。
本發(fā)明還可以類似解碼器的方式在編碼器中實現(xiàn)。本發(fā)明需要的大多數(shù)輸入都可用于給定比特流的編碼器和解碼器。
圖5示出根據(jù)本發(fā)明的視頻編碼器510,其使用系數(shù)二進制處理并對可分級比特流進行編碼。如圖所示,視頻解碼器510包括二進制塊520,以向算術(shù)編碼塊522發(fā)送二進制比特。二進制塊520接收代表系數(shù)的原始值的原始信號,并向幀緩沖器塊524提供系數(shù)的重建值?;诖碛啥M制塊520提供的所發(fā)出的二進制比特的信號和來自預(yù)測塊326的運動信息,算術(shù)編碼塊522將比特流中的編碼的視頻數(shù)據(jù)提交給傳輸信道540。應(yīng)當(dāng)理解,在二進制塊520中可以由硬件或軟件執(zhí)行二進制過程。例如,二進制塊520可包含用于實施二進制步驟的軟件程序351。此外,視頻編碼器510可以包括基層編碼器530,其操作地連接到預(yù)測塊526、幀緩沖器塊524和算術(shù)編碼塊522,以執(zhí)行提供代表基層編碼數(shù)據(jù)的信號的基層編碼。這樣的基層編碼器530是現(xiàn)有技術(shù)中公知的。
如上所述,本發(fā)明范圍內(nèi)的實施方式包括程序產(chǎn)品,其包括計算機可讀介質(zhì),用于攜帶或具有存儲在其上的計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)。這種計算機可讀介質(zhì)可以是能夠由通用或?qū)S糜嬎銠C訪問的任何可用介質(zhì)。作為例子,這種計算機可讀介質(zhì)可以包括RAM、ROM、EPROM、EEPROM、CD-ROM或其他的光盤存儲器、磁盤存儲器、或其他的磁存儲器設(shè)備,或可以用于攜帶或存儲計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的希望的程序代碼、并且其可以被通用或?qū)S糜嬎銠C訪問的任何其他介質(zhì)。當(dāng)通過網(wǎng)絡(luò)或其他通信連接(硬連線的、無線的或硬連線與無線的結(jié)合)將信息傳送到計算機時,計算機適當(dāng)?shù)貙⒃撨B接看作計算機可讀介質(zhì)。這樣,任何這種連接被適當(dāng)?shù)胤Q作計算機可讀介質(zhì)。以上的結(jié)合也可以包括在計算機可讀介質(zhì)的范圍內(nèi)。計算機可執(zhí)行指令例如包括使得通用計算機、專用計算機或?qū)S锰幚碓O(shè)備執(zhí)行一定功能或功能組的數(shù)據(jù)和指令。
以方法步驟的一般上下文描述本發(fā)明,該方法步驟可以是在一個實施方式中通過程序產(chǎn)品實現(xiàn)的,所述程序產(chǎn)品包括由連網(wǎng)環(huán)境中的計算機執(zhí)行的諸如程序代碼的計算機可執(zhí)行指令。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)具體的抽象數(shù)據(jù)類型的例程、程序、對象、部件、數(shù)據(jù)結(jié)構(gòu)等。與數(shù)據(jù)結(jié)構(gòu)關(guān)聯(lián)的計算機可執(zhí)行指令和程序模塊代表用于執(zhí)行這里所公開的方法的步驟的程序代碼的例子。這種可執(zhí)行指令或關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)的具體序列代表用于實現(xiàn)在這樣的步驟中所描述的功能的相應(yīng)動作的例子。
本發(fā)明的軟件和web實現(xiàn)可以利用具有基于規(guī)則的邏輯和其他邏輯的標(biāo)準(zhǔn)編程技術(shù)而完成,從而完成各個數(shù)據(jù)庫搜索步驟、相關(guān)步驟、比較步驟和決策步驟。還應(yīng)當(dāng)注意,這里和權(quán)利要求書中所使用的詞“部件”和“模塊”旨在包括使用一行或多行軟件代碼的實現(xiàn)、和/或硬件實現(xiàn)、和/或用于接收人工輸入的設(shè)備。
為了說明和描述,已經(jīng)給出了本發(fā)明的實施方式的前面的描述。不旨在窮盡本發(fā)明或?qū)⒈景l(fā)明限制到所公開的精確形式,并且按照以上教導(dǎo),修改和變化是可能的,或者修改和變化是本發(fā)明的實踐所要求的。選擇并描述實施方式,以便解釋本發(fā)明的原理以及其實際應(yīng)用,從而使得本領(lǐng)域的技術(shù)人員在各個實施方式中利用本發(fā)明,并且各種修改適于所設(shè)想的具體使用。
權(quán)利要求
1.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的方法,所述方法包括確定所述視頻數(shù)據(jù)的基層宏塊是否不包含非零系數(shù);以及僅當(dāng)確定所述基層宏塊不包含非零系數(shù)時,對用于所述視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行解碼,所述增強層宏塊對應(yīng)于所述基層宏塊。
2.根據(jù)權(quán)利要求1所述的對可分級比特流進行解碼的方法,其中通過檢查所述基層宏塊中的跳過標(biāo)志是否包含預(yù)定的一組值中的一個,對關(guān)于所述基層宏塊是否不包含非零系數(shù)進行確定。
3.根據(jù)權(quán)利要求1所述的對可分級比特流進行解碼的方法,進一步包括,如果確定所述基層宏塊包含至少一個非零系數(shù),則對所述增強層宏塊進行解碼,而不對跳過標(biāo)志進行解碼。
4.根據(jù)權(quán)利要求2所述的對可分級比特流進行解碼的方法,其中使用與鄰近增強層宏塊的上下文相同的上下文,對所述增強層宏塊中的所述跳過標(biāo)志進行解碼。
5.根據(jù)權(quán)利要求2所述的對可分級比特流進行解碼的方法,其中使用算術(shù)編碼器對所述增強層宏塊中的所述跳過標(biāo)志進行解碼。
6.根據(jù)權(quán)利要求5所述的對可分級比特流進行解碼的方法,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近增強層宏塊的宏塊跳過標(biāo)志值。
7.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的方法,所述方法包括確定基層宏塊中的多個塊中的哪些塊包含零系數(shù);對用于增強層宏塊的簡化的編碼塊模式(CBP)進行解碼,所述簡化的CBP包括數(shù)目等于僅包含零系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字;以及生成用于增強層宏塊的完整的CBP,通過將與包含非零系數(shù)的所述基層宏塊中的塊的數(shù)目相對應(yīng)的數(shù)字插入所述簡化的CBP,而形成所述完整的CBP。
8.根據(jù)權(quán)利要求7所述的對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的方法,其中通過分析所述基層宏塊的CPB而進行所述確定。
9.根據(jù)權(quán)利要求7所述的對可分級比特流進行解碼的方法,其中使用算術(shù)編碼器對所述簡化的CBP進行解碼。
10.根據(jù)權(quán)利要求9所述的對可分級比特流進行解碼的方法,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近所述增強層宏塊的宏塊的CBP值。
11.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的方法,所述方法包括對基層宏塊的編碼塊模式(CBP)值進行解碼;以及對增強層宏塊的差分編碼塊模式(CBP)值進行解碼;以及通過將所述解碼的差分編碼塊模式添加到所述基層宏塊的所述編碼塊模式中,形成用于所述增強層宏塊的編碼塊模式。
12.根據(jù)權(quán)利要求11所述的對可分級比特流進行解碼的方法,其中使用算術(shù)編碼器對CBP值進行解碼。
13.根據(jù)權(quán)利要求12所述的對可分級比特流進行解碼的方法,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近所述增強層宏塊的宏塊的CBP值。
14.根據(jù)權(quán)利要求11所述的對可分級比特流進行解碼的方法,其中如果基層宏塊的CBP值已經(jīng)達到終止值,則不從比特流中對用于增強層宏塊的CBP值進行解碼。
15.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的方法,所述方法包括確定基層塊中的零值系數(shù);以及僅當(dāng)所述確定指示所述基層中的所述塊僅包含零值系數(shù)時,對用于增強層的對應(yīng)塊的編碼塊標(biāo)志進行解碼。
16.根據(jù)權(quán)利要求15所述的對可分級比特流進行解碼的方法,其中僅當(dāng)來自相應(yīng)的基層塊的至少一個系數(shù)是零時,對用于增強層塊的所述編碼塊標(biāo)志進行解碼。
17.根據(jù)權(quán)利要求16所述的對可分級比特流進行解碼的方法,其中從比特流中對于用于增強層塊的編碼塊標(biāo)志進行解碼,并且基于所述解碼的編碼塊標(biāo)志的值,對關(guān)于基層塊中任何零值系數(shù)是否變?yōu)橄鄳?yīng)增強層塊中的非零系數(shù)進行確定。
18.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的方法,所述方法包括針對基層塊中的每個系數(shù),確定所述系數(shù)是否是零;以及對用于對應(yīng)于所述基層塊的增強層塊中的系數(shù)的有效數(shù)字進行解碼;以及針對所述增強層塊中的每個系數(shù),基于所述確定和所述解碼的結(jié)果來確定所述增強層系數(shù)是否是零。
19.根據(jù)權(quán)利要求18所述的對可分級比特流進行解碼的方法,其中僅當(dāng)有效數(shù)字是特定值時,對系數(shù)信息進行解碼。
20.根據(jù)權(quán)利要求19所述的對可分級比特流進行解碼的方法,其中使用算術(shù)編碼器對所述有效數(shù)字進行解碼。
21.根據(jù)權(quán)利要求19所述的對可分級比特流進行解碼的方法,其中在指示從零系數(shù)到非零系數(shù)的轉(zhuǎn)換的每個解碼的有效數(shù)字之后,對終止數(shù)字進行解碼,所述終止數(shù)字根據(jù)從零到非零轉(zhuǎn)換的某掃描順序,指示以后是否有任何系數(shù)位于增強層塊中。
22.根據(jù)權(quán)利要求21所述的對可分級比特流進行解碼的方法,其中使用算術(shù)編碼器對所述終止數(shù)字進行解碼
23.根據(jù)權(quán)利要求22所述的對可分級比特流進行解碼的方法,其中上下文選擇至少部分地基于基層中的非零系數(shù)的數(shù)目。
24.根據(jù)權(quán)利要求22所述的對可分級比特流進行解碼的方法,其中上下文選擇至少部分地基于被編碼的塊的大小。
25.根據(jù)權(quán)利要求21所述的對可分級比特流進行解碼的方法,其中上下文選擇至少部分地基于下列二者基層中的非零系數(shù)的數(shù)目、和被編碼的塊的大小。
26.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的方法,所述方法包括使用熵編碼器對用于來自基層塊的每個非零系數(shù)的零或更多細化比特進行解碼;以及根據(jù)某個二進制方法,確定用于所述非零系數(shù)的細化的值。
27.根據(jù)權(quán)利要求26所述的對可分級比特流進行解碼的方法,其中使用算術(shù)編碼器對所述細化比特進行解碼。
28.根據(jù)權(quán)利要求27所述的對可分級比特流進行解碼的方法,其中至少部分地基于系數(shù)的預(yù)測值相對于邊界間隔的位置而定義上下文。
29.根據(jù)權(quán)利要求27所述的對可分級比特流進行解碼的方法,其中至少部分地基于細化的系數(shù)值周圍的邊界間隔的大小而定義上下文。
30.一種用于對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的程序產(chǎn)品,所述程序產(chǎn)品包括機器可讀程序代碼,該機器可讀程序代碼用于在執(zhí)行時引起一個或多個機器執(zhí)行以下步驟確定所述視頻數(shù)據(jù)的基層宏塊是否不包含非零系數(shù);以及僅當(dāng)確定所述基層宏塊不包含非零系數(shù)時,對用于所述視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行解碼,所述增強層宏塊對應(yīng)于所述基層宏塊。
31.根據(jù)權(quán)利要求30所述的對可分級比特流進行解碼的程序產(chǎn)品,其中通過檢查所述基層宏塊中的跳過標(biāo)志是否包含預(yù)定的一組值中的一個,對關(guān)于所述基層宏塊是否不包含非零系數(shù)進行確定。
32.根據(jù)權(quán)利要求30所述的對可分級比特流進行解碼的程序產(chǎn)品,進一步包括,如果確定所述基層宏塊包含至少一個非零系數(shù),則對所述增強層宏塊進行解碼,而不對跳過標(biāo)志進行解碼。
33.根據(jù)權(quán)利要求30所述的對可分級比特流進行解碼的程序產(chǎn)品,其中使用與鄰近增強層宏塊的上下文相同的上下文,對所述增強層宏塊中的所述跳過標(biāo)志進行解碼。
34.根據(jù)權(quán)利要求30所述的對可分級比特流進行解碼的程序產(chǎn)品,其中使用算術(shù)編碼器對所述增強層宏塊中的所述跳過標(biāo)志進行解碼。
35.根據(jù)權(quán)利要求34所述的對可分級比特流進行解碼的程序產(chǎn)品,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近增強層宏塊的宏塊跳過標(biāo)志值。
36.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的程序產(chǎn)品,所述程序產(chǎn)品包括機器可讀程序代碼,該機器可讀程序代碼用于在執(zhí)行時引起一個或多個機器執(zhí)行以下步驟確定基層宏塊中的多個塊中的哪些塊包含零系數(shù);對用于增強層宏塊的簡化的編碼塊模式(CBP)進行解碼,所述簡化的CBP包括數(shù)目等于僅包含零系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字;以及生成用于增強層宏塊的完整的CBP,通過將與包含非零系數(shù)的所述基層宏塊中的塊的數(shù)目相對應(yīng)的數(shù)字插入所述簡化的CBP,而形成所述完整的CBP。
37.根據(jù)權(quán)利要求36所述的對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的程序產(chǎn)品,其中通過分析所述基層宏塊的CPB而進行所述確定。
38.根據(jù)權(quán)利要求36所述的對可分級比特流進行解碼的程序產(chǎn)品,其中使用算術(shù)編碼器對所述簡化的CBP進行解碼。
39.根據(jù)權(quán)利要求38所述的對可分級比特流進行解碼的程序產(chǎn)品,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近所述增強層宏塊的宏塊的CBP值。
40.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的程序產(chǎn)品,所述程序產(chǎn)品包括機器可讀程序代碼,該機器可讀程序代碼用于在執(zhí)行時引起一個或多個機器執(zhí)行以下步驟對基層宏塊的編碼塊模式(CBP)值進行解碼;以及對與所述基層宏塊的所述編碼塊模式相關(guān)的增強層宏塊的差分編碼塊模式(CBP)值進行解碼;以及通過將所述解碼的差分編碼塊模式添加到所述基層宏塊的所述編碼塊模式中,形成用于所述增強層宏塊的編碼塊模式。
41.根據(jù)權(quán)利要求40所述的對可分級比特流進行解碼的程序產(chǎn)品,其中使用算術(shù)編碼器對CBP值進行解碼。
42.根據(jù)權(quán)利要求41所述的對可分級比特流進行解碼的程序產(chǎn)品,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近所述增強層宏塊的宏塊的CBP值。
43.根據(jù)權(quán)利要求40所述的對可分級比特流進行解碼的程序產(chǎn)品,其中如果基層宏塊的CBP值已經(jīng)達到終止值,則不從比特流中對用于增強層宏塊的CBP值進行解碼。
44.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的程序產(chǎn)品,所述程序產(chǎn)品包括機器可讀程序代碼,該機器可讀程序代碼用于在執(zhí)行時引起一個或多個機器執(zhí)行以下步驟確定基層塊中的零值系數(shù);以及僅當(dāng)所述確定指示所述基層中的所述塊僅包含零值系數(shù)時,對用于增強層的對應(yīng)塊的編碼塊標(biāo)志進行解碼。
45.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的裝置,所述裝置包括處理器,用于確定所述視頻數(shù)據(jù)的基層宏塊是否不包含非零系數(shù);以及解碼器,用于僅當(dāng)確定所述基層宏塊不包含非零系數(shù)時,對用于所述視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行解碼,所述增強層宏塊對應(yīng)于所述基層宏塊。
46.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的裝置,所述裝置包括用于確定基層宏塊中的多個塊中的哪些塊包含零系數(shù)的處理器;用于對用于增強層宏塊的簡化的編碼塊模式(CBP)進行解碼的處理器,所述簡化的CBP包括數(shù)目等于僅包含零系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字;以及用于生成用于增強層宏塊的完整的CBP的處理器,通過將與包含非零系數(shù)的所述基層宏塊中的塊的數(shù)目相對應(yīng)的數(shù)字插入所述簡化的CBP,而形成所述完整的CBP。
47.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的裝置,所述裝置包括用于對基層宏塊的編碼塊模式(CBP)值進行解碼的解碼器;以及用于對增強層宏塊的編碼塊模式(CBP)值進行差分解碼以形成解碼的差分CBP的解碼器;用于通過將所述解碼的差分CBP添加到所述基層宏塊的所述編碼塊模式中從而形成用于所述增強層宏塊的編碼塊模式的處理器。
48.一種對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的裝置,所述裝置包括處理器,用于確定基層塊中的零值系數(shù);以及僅當(dāng)所述確定指示所述基層中的所述塊僅包含零值系數(shù)時,對用于增強層的對應(yīng)塊的編碼塊標(biāo)志進行解碼。
49.一種通信設(shè)備,包括處理器;連接到所述處理器的存儲器;連接到所述處理器的通信接口;以及連接到所述處理器的輸入接口,用于接收視頻數(shù)據(jù);其中所述處理器被配置為,通過選擇性地對語法元素進行解碼以避免冗余,從而對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼;以及所述處理器被配置為,通過所述通信接口發(fā)送所述可分級比特流。
50.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的裝置,所述裝置包括處理器,用于確定所述視頻數(shù)據(jù)的基層宏塊是否不包含非零系數(shù);以及編碼器,用于僅當(dāng)確定所述基層宏塊不包含非零系數(shù)時,對用于所述視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行編碼,所述增強層宏塊對應(yīng)于所述基層宏塊。
51.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的裝置,所述裝置包括用于確定基層宏塊中的多個塊中的哪些塊包含零系數(shù)的處理器;用于對用于增強層宏塊的編碼塊模式(CBP)進行編碼的處理器,所述CBP包括數(shù)目等于僅包含零系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字。
52.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的裝置,所述裝置包括用于對于基層宏塊的編碼塊模式(CBP)值進行編碼的處理器;以及用于計算增強層宏塊的編碼塊模式(CBP)值的處理器,所述增強層宏塊對應(yīng)于所述基層宏塊;以及用于對與所述增強層宏塊的所述編碼塊模式和所述基層宏塊的所述編碼塊模式之間的差相對應(yīng)的值進行編碼的處理器。
53.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的裝置,所述裝置包括用于確定基層塊中的零值系數(shù)的處理器;以及用于僅當(dāng)所述確定指示所述基層中的所述塊僅包含零值系數(shù)時,對用于增強層的對應(yīng)塊的編碼塊標(biāo)志進行編碼的處理器。
54.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的方法,所述方法包括確定所述視頻數(shù)據(jù)的基層宏塊是否不包含非零系數(shù);以及僅當(dāng)確定所述基層宏塊不包含非零系數(shù)時,對用于所述視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行編碼,所述增強層宏塊對應(yīng)于所述基層宏塊。
55.根據(jù)權(quán)利要求54所述的對可分級比特流進行編碼的方法,其中通過檢查所述基層宏塊中的跳過標(biāo)志是否包含預(yù)定的一組值中的一個,對關(guān)于所述基層宏塊是否不包含非零系數(shù)進行確定。
56.根據(jù)權(quán)利要求54所述的對可分級比特流進行編碼的方法,進一步包括,如果確定所述基層宏塊包含至少一個非零系數(shù),則對所述增強層宏塊進行編碼,而不對跳過標(biāo)志進行編碼。
57.根據(jù)權(quán)利要求55所述的對可分級比特流進行編碼的方法,其中使用與鄰近增強層宏塊的上下文相同的上下文,對增強層宏塊中的所述跳過標(biāo)志進行編碼。
58.根據(jù)權(quán)利要求55所述的對可分級比特流進行編碼的方法,其中使用算術(shù)編碼器對所述增強層宏塊中的所述跳過標(biāo)志進行編碼。
59.根據(jù)權(quán)利要求58所述的對可分級比特流進行編碼的方法,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近增強層宏塊的宏塊跳過標(biāo)志值。
60.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的方法,所述方法包括確定基層宏塊中的多個塊中的哪些塊包含零值系數(shù);生成增強層宏塊的編碼塊模式(CBP),所述CBP包括數(shù)目等于僅包含零值系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字;以及對所述增強層的CBP進行編碼。
61.根據(jù)權(quán)利要求60所述的對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的方法,其中通過分析所述基層宏塊的CPB而進行所述確定。
62.根據(jù)權(quán)利要求60所述的對可分級比特流進行編碼的方法,其中使用算術(shù)編碼器對CBP進行編碼。
63.根據(jù)權(quán)利要求62所述的對可分級比特流進行編碼的方法,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近所述增強層宏塊的宏塊的CBP值。
64.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的方法,所述方法包括對基層宏塊的編碼塊模式(CBP)值進行編碼;以及對與所述基層宏塊的所述編碼塊模式相關(guān)的增強層宏塊的編碼塊模式(CBP)值進行差分編碼。
65.根據(jù)權(quán)利要求64所述的對可分級比特流進行編碼的方法,其中使用算術(shù)編碼器對CBP值進行編碼。
66.根據(jù)權(quán)利要求65所述的對可分級比特流進行編碼的方法,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近所述增強層宏塊的宏塊的CBP值。
67.根據(jù)權(quán)利要求64所述的對可分級比特流進行編碼的方法,其中如果基層的CBP值已經(jīng)達到終止值,則不在增強層宏塊中發(fā)送CBP值。
68.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的方法,所述方法包括確定基層塊中的零值系數(shù);以及僅當(dāng)所述確定指示所述基層中的所述塊僅包含零值系數(shù)時,對用于增強層的對應(yīng)塊的編碼塊標(biāo)志進行編碼。
69.根據(jù)權(quán)利要求68所述的對可分級比特流進行編碼的方法,其中當(dāng)來自對應(yīng)的基層塊的至少一個系數(shù)是零時,僅對用于增強層塊的編碼塊標(biāo)志進行編碼。
70.根據(jù)權(quán)利要求69所述的對可分級比特流進行編碼的方法,其中對關(guān)于基層塊中任何零值系數(shù)是否變?yōu)橄鄳?yīng)增強層塊中的非零系數(shù)進行確定,并且將用于所述增強層塊的編碼塊標(biāo)志設(shè)置為基于所述確定的值。
71.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的方法,所述方法包括針對基層塊的每個系數(shù),確定所述系數(shù)是否是零;以及針對對應(yīng)于所述基層塊的增強層塊中的每個系數(shù),確定所述增強層系數(shù)是否是零;以及對所述增強層塊中的每個系數(shù)的有效數(shù)字進行編碼,所述數(shù)字指示所述確定的結(jié)果是否不同。
72.根據(jù)權(quán)利要求71所述的對可分級比特流進行編碼的方法,其中當(dāng)有效數(shù)字是特定值時,僅對系數(shù)信息進行編碼。
73.根據(jù)權(quán)利要求72所述的對可分級比特流進行編碼的方法,其中使用算術(shù)編碼器對有效數(shù)字進行編碼。
74.根據(jù)權(quán)利要求72所述的對可分級比特流進行編碼的方法,其中在指示從零系數(shù)到非零系數(shù)的轉(zhuǎn)換的每個有效數(shù)字之后,發(fā)送終止數(shù)字,所述終止數(shù)字根據(jù)從零到非零轉(zhuǎn)換的某掃描順序,指示以后是否有任何系數(shù)位于增強層塊中。
75.根據(jù)權(quán)利要求74所述的對可分級比特流進行編碼的方法,其中使用算術(shù)編碼器對所述終止數(shù)字進行編碼。
76.根據(jù)權(quán)利要求75所述的對可分級比特流進行編碼的方法,其中上下文選擇是至少部分地基于所述基層中的非零系數(shù)的數(shù)目。
77.根據(jù)權(quán)利要求75所述的對可分級比特流進行編碼的方法,其中上下文選擇是至少部分地基于被編碼的塊的大小。
78.根據(jù)權(quán)利要求74所述的對可分級比特流進行編碼的方法,其中上下文選擇是至少部分地基于下列二者基層中的非零系數(shù)的數(shù)目、和被編碼的塊的大小。
79.一種對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的方法,所述方法包括根據(jù)某二進制方法,針對來自基層塊的每個非零系數(shù)生成零或更多細化比特;以及使用熵編碼器對所述細化比特進行編碼。
80.根據(jù)權(quán)利要求79所述的對可分級比特流進行編碼的方法,其中使用算術(shù)編碼器對所述細化比特進行編碼。
81.根據(jù)權(quán)利要求80所述的對可分級比特流進行編碼的方法,其中至少部分地基于系數(shù)的預(yù)測值相對于邊界間隔的位置而定義上下文。
82.根據(jù)權(quán)利要求80所述的對可分級比特流進行編碼的方法,其中至少部分地基于細化的系數(shù)值周圍的邊界間隔的大小而定義上下文。
83.一種用于對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的程序產(chǎn)品,所述程序產(chǎn)品包括機器可讀程序代碼,該機器可讀程序代碼用于在執(zhí)行時引起一個或多個機器執(zhí)行以下步驟確定所述視頻數(shù)據(jù)的基層宏塊是否不包含非零系數(shù);以及僅當(dāng)確定所述基層宏塊不包含非零系數(shù)時,對用于所述視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行編碼,所述增強層宏塊對應(yīng)于所述基層宏塊。
84.根據(jù)權(quán)利要求83所述的對可分級比特流進行編碼的程序產(chǎn)品,其中通過檢查所述基層宏塊中的跳過標(biāo)志是否包含預(yù)定的一組值中的一個,對關(guān)于所述基層宏塊是否不包含非零系數(shù)進行確定。
85.根據(jù)權(quán)利要求83所述的對可分級比特流進行編碼的程序產(chǎn)品,進一步包括,如果確定所述基層宏塊包含至少一個非零系數(shù),則對所述增強層宏塊進行編碼,而不對跳過標(biāo)志進行編碼。
86.根據(jù)權(quán)利要求83所述的對可分級比特流進行編碼的程序產(chǎn)品,其中使用與鄰近增強層宏塊的上下文相同的上下文,對所述增強層宏塊中的所述跳過標(biāo)志進行編碼。
87.根據(jù)權(quán)利要求83所述的對可分級比特流進行編碼的程序產(chǎn)品,其中使用算術(shù)編碼器對所述增強層宏塊中的所述跳過標(biāo)志進行編碼。
88.根據(jù)權(quán)利要求87所述的對可分級比特流進行編碼的程序產(chǎn)品,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近增強層宏塊的宏塊跳過標(biāo)志值。
89.一種用于對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的程序產(chǎn)品,所述程序產(chǎn)品包括機器可讀程序代碼,該機器可讀程序代碼用于在執(zhí)行時引起一個或多個機器執(zhí)行以下步驟確定基層宏塊中的多個塊中的哪些塊包含零值系數(shù);生成增強層宏塊的編碼塊模式(CBP),所述CBP包括數(shù)目等于僅包含零值系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字;以及對所述增強層的CBP進行編碼。
90.根據(jù)權(quán)利要求89所述的對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的程序產(chǎn)品,其中通過分析所述基層宏塊的CPB而進行所述確定。
91.根據(jù)權(quán)利要求89所述的對可分級比特流進行編碼的程序產(chǎn)品,其中使用算術(shù)編碼器對CBP進行編碼。
92.根據(jù)權(quán)利要求91所述的對可分級比特流進行編碼的程序產(chǎn)品,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近所述增強層宏塊的宏塊的CBP值。
93.一種用于對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的程序產(chǎn)品,所述程序產(chǎn)品包括機器可讀程序代碼,該機器可讀程序代碼用于在執(zhí)行時引起一個或多個機器執(zhí)行以下步驟對基層宏塊的編碼塊模式(CBP)值進行編碼;以及對與所述基層宏塊的所述編碼塊模式相關(guān)的增強層宏塊的編碼塊模式(CBP)值進行差分編碼。
94.根據(jù)權(quán)利要求93所述的對可分級比特流進行編碼的程序產(chǎn)品,其中使用算術(shù)編碼器對所述CBP值進行編碼。
95.根據(jù)權(quán)利要求94所述的對可分級比特流進行編碼的程序產(chǎn)品,其中所述算術(shù)編碼器是基于上下文的,并且上下文選擇是基于來自鄰近所述增強層宏塊的宏塊的CBP值。
96.根據(jù)權(quán)利要求93所述的對可分級比特流進行編碼的程序產(chǎn)品,其中如果基層的CBP值已經(jīng)達到終止值,則不在所述增強層宏塊中發(fā)送CBP值。
97.一種用于對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的程序產(chǎn)品,所述程序產(chǎn)品包括機器可讀程序代碼,該機器可讀程序代碼用于在執(zhí)行時引起一個或多個機器執(zhí)行以下步驟確定基層塊中的零值系數(shù);以及僅當(dāng)所述確定指示所述基層中的所述塊僅包含零值系數(shù)時,對用于增強層的對應(yīng)塊的編碼塊標(biāo)志進行編碼。
98.一種用于對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的裝置,所述裝置包括處理器,用于確定所述視頻數(shù)據(jù)的基層宏塊是否不包含非零系數(shù);以及編碼器,用于僅當(dāng)確定所述基層宏塊不包含非零系數(shù)時,對用于所述視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行編碼,所述增強層宏塊對應(yīng)于所述基層宏塊。
99.一種用于對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的裝置,所述裝置包括用于確定基層宏塊中的多個塊中的哪些塊包含零值系數(shù)的處理器;用于生成增強層宏塊的編碼塊模式(CBP)的處理器,所述CBP包括數(shù)目等于僅包含零值系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字;以及用于對增強層的CBP進行編碼的編碼器。
100.一種用于對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的裝置,所述裝置包括用于對基層宏塊的編碼塊模式(CBP)值進行編碼的編碼器;以及用于對與所述基層宏塊的所述編碼塊模式相關(guān)的增強層宏塊的編碼塊模式(CBP)值進行差分編碼的編碼器。
101.一種用于對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼的裝置,所述裝置包括處理器,用于確定基層塊中的零值系數(shù);以及僅當(dāng)所述確定指示所述基層中的所述塊僅包含零值系數(shù)時,對用于增強層的對應(yīng)塊的編碼塊標(biāo)志進行編碼。
102.一種通信設(shè)備,包括處理器;連接到所述處理器的存儲器;連接到所述處理器的通信接口;以及連接到所述處理器的輸入接口,用于接收視頻數(shù)據(jù);其中所述處理器被配置為,通過選擇性地對語法元素進行編碼以避免冗余,從而對包括二進制化的視頻數(shù)據(jù)的可分級比特流進行編碼;以及所述處理器被配置為,通過所述通信接口發(fā)送所述可分級比特流。
103.一種用于對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的裝置,所述裝置包括處理器,用于確定所述視頻數(shù)據(jù)的基層宏塊是否不包含非零系數(shù);以及解碼器,用于僅當(dāng)確定所述基層宏塊不包含非零系數(shù)時,對用于所述視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行解碼,所述增強層宏塊對應(yīng)于所述基層宏塊。
104.一種用于對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的裝置,所述裝置包括用于確定基層宏塊中的多個塊中的哪些塊包含零值系數(shù)的處理器;以及用于對增強層宏塊的編碼塊模式(CBP)進行解碼的處理器,其中所述CBP包括數(shù)目等于僅包含零值系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字。
105.一種用于對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的裝置,所述裝置包括用于對基層宏塊的編碼塊模式(CBP)值進行解碼的處理器;以及用于對與對應(yīng)于所述基層宏塊的增強層宏塊的差分編碼塊模式(DCBP)相對應(yīng)的值進行解碼的處理器;以及用于將所述增強層宏塊的所述差分編碼塊模式添加到所述基層宏塊的所述編碼塊模式以便為所述增強層宏塊確定編碼塊模式的處理器。
106.一種用于對包括編碼的視頻數(shù)據(jù)的可分級比特流進行解碼的裝置,所述裝置包括用于確定基層塊中的零值系數(shù)的處理器;以及用于僅當(dāng)所述確定指示所述基層中的所述塊僅包含零值系數(shù)時,對用于增強層的對應(yīng)塊的編碼塊標(biāo)志進行解碼的處理器。
全文摘要
一種方法、程序產(chǎn)品和裝置,用于從可分級比特流通過選擇性地對語法元素進行解碼并避免編碼中的冗余,對來自視頻序列的二進制結(jié)果進行解碼。結(jié)果是增強層比特流的壓縮的比特流的大小的減小。一種方法包括確定視頻數(shù)據(jù)的基層宏塊中的跳過標(biāo)志是否被設(shè)置,并且僅當(dāng)基層宏塊跳過標(biāo)志被設(shè)置時,對來自對應(yīng)于基層宏塊的視頻數(shù)據(jù)的增強層宏塊的跳過標(biāo)志進行解碼。另一種方法包括確定基層宏塊中的多個塊中的哪些塊包含零系數(shù),對增強層宏塊的簡化的編碼塊模式(CBP)進行解碼,其中CBP包括數(shù)目等于僅包含零系數(shù)的所述基層宏塊中的塊的數(shù)目的多個數(shù)字,以及然后基于所述解碼結(jié)果生成用于增強層宏塊的完整的CBP。又一種方法包括對基層宏塊的CBP值進行解碼,并對與基層宏塊的CBP相關(guān)的增強層宏塊的CBP值進行差分解碼。另一種方法包括確定基層塊中的零值系數(shù),對用于增強層中對應(yīng)塊的編碼塊標(biāo)志進行解碼,基于所述編碼塊標(biāo)志的值,確定在所述增強塊中是否有任何零系數(shù)變?yōu)榉橇阆禂?shù)。
文檔編號H04N7/50GK101032172SQ200580030199
公開日2007年9月5日 申請日期2005年7月8日 優(yōu)先權(quán)日2004年7月9日
發(fā)明者鮑亦亮, M·卡爾克澤維茨, J·里奇 申請人:諾基亞公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1