欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

并行視頻編碼和解碼方法

文檔序號(hào):7914027閱讀:145來源:國知局
專利名稱:并行視頻編碼和解碼方法
技術(shù)領(lǐng)域
本發(fā)明的實(shí)施例涉及視頻編碼,具體是涉及用于并行視頻編碼和解碼的方法。
背景技術(shù)
現(xiàn)有技術(shù)的視頻編碼方法和標(biāo)準(zhǔn)(例如,H. 264/MPEG-4AVC(H. 264/AVC))可以用更高的復(fù)雜度為代價(jià)來提供比較老的方法和標(biāo)準(zhǔn)更高的編碼效率。增加對(duì)視頻編碼方法和標(biāo)準(zhǔn)的質(zhì)量要求和分辨率要求還可以增加它們的復(fù)雜度。支持并行解碼的解碼器可以提升解碼速度,并降低存儲(chǔ)器要求。此外,多核處理器的發(fā)展可以制造按需要支持并行解碼的編碼器和解碼器。以全文引用的方式并入本文的 H. 264/MPEG-4AVC(Joint Video Team of ITU-T VCEG and IS0/IEC MPEG,"H. 264 :Advanced video coding for generic audiovisual services,” ITU-T Rec. H. 264and IS0/IEC14496-10(MPEG4-Part 10),November 2007)是視頻編解碼(編碼器/解碼器)規(guī)范,為了壓縮效率,其使用殘余編碼跟隨其后的宏塊預(yù)測(cè)來降低視頻序列的時(shí)間和空間冗余。

發(fā)明內(nèi)容
本發(fā)明的一些實(shí)施例包括以下方法基于將數(shù)據(jù)劃分為可被獨(dú)立熵編碼和解碼的熵片(entropy slice),對(duì)視頻比特流進(jìn)行并行熵編碼和解碼。在本發(fā)明的一些實(shí)施例中,可以對(duì)輸入壓縮視頻比特流的第一部分和第二部分獨(dú)立地進(jìn)行熵解碼??梢允褂脕碜缘谝徊糠趾偷诙糠值慕獯a數(shù)據(jù)來重構(gòu)與輸入壓縮視頻比特流的第二部分相關(guān)聯(lián)的視頻幀的采樣塊。從而,重構(gòu)鄰居定義和熵解碼鄰居定義不相同。在本發(fā)明的一些實(shí)施例中,編碼器可以將輸入數(shù)據(jù)分為熵片。編碼器可以對(duì)熵片獨(dú)立地進(jìn)行熵編碼。編碼器可以形成包括熵片報(bào)頭在內(nèi)的比特流,每個(gè)熵片報(bào)頭可以指示該熵片的相關(guān)聯(lián)數(shù)據(jù)在比特流中的位置。在本發(fā)明的一些實(shí)施例中,解碼器可以對(duì)接收到的熵片報(bào)頭的比特流進(jìn)行解析,且解碼器可以根據(jù)解碼器定義的并行級(jí)別對(duì)多個(gè)熵片進(jìn)行解碼。在本發(fā)明的一些實(shí)施例中,可以在畫面級(jí)別對(duì)數(shù)據(jù)進(jìn)行復(fù)用,以形成熵片。在一些實(shí)施例中,一個(gè)或更多個(gè)熵片可以對(duì)應(yīng)于預(yù)測(cè)數(shù)據(jù),且一個(gè)或更多個(gè)熵片可以對(duì)應(yīng)于殘余數(shù)據(jù)。在本發(fā)明的備選實(shí)施例中,一個(gè)或更多個(gè)熵片可以對(duì)應(yīng)于多個(gè)顏色平面中的每一個(gè)。在本發(fā)明的一些實(shí)施例中,可以將比特流編碼轉(zhuǎn)換成包括熵片。在這些實(shí)施例中, 可以對(duì)接收到的比特流進(jìn)行熵解碼,可以構(gòu)建多個(gè)熵片,且可以對(duì)每個(gè)熵片獨(dú)立地進(jìn)行熵編碼,并將其寫到具有相關(guān)聯(lián)的熵片報(bào)頭的編碼轉(zhuǎn)換的比特流中。在本發(fā)明的一些實(shí)施例中,編碼器可以將重構(gòu)片分為多個(gè)熵片,其中,與多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的二元值(bin)數(shù)目不超過預(yù)定義的二元值數(shù)目。在本發(fā)明的備選實(shí)施例中,編碼器可以將重構(gòu)片分為多個(gè)熵片,其中,與多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的宏塊數(shù)目不超過預(yù)定義的宏塊數(shù)目。在本發(fā)明的另一備選實(shí)施例中,編碼器可以將重構(gòu)片分為多個(gè)熵片,其中,與多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的比特?cái)?shù)目不超過預(yù)定義的比特?cái)?shù)目。結(jié)合附圖,當(dāng)考慮到本發(fā)明的以下詳細(xì)描述時(shí),將更容易理解本發(fā)明的前述和其它目的、特征和優(yōu)點(diǎn)。


圖1示出了 H. 264/AVC視頻編碼器的示意圖(現(xiàn)有技術(shù));圖2示出了 H. 264/AVC視頻解碼器的示意圖(現(xiàn)有技術(shù));圖3示出了示例片結(jié)構(gòu)的示意圖(現(xiàn)有技術(shù));圖4示出了示例片組結(jié)構(gòu)的示意圖(現(xiàn)有技術(shù));圖5示出了根據(jù)本發(fā)明的實(shí)施例的示例片劃分的示意圖,其中,可以將畫面分為至少一個(gè)重構(gòu)片,且可以將重構(gòu)片分為多于一個(gè)熵片;圖6示出了包括熵片在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖;圖7示出了包括對(duì)多個(gè)熵片進(jìn)行并行熵解碼以及其后進(jìn)行片重構(gòu)在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖;圖8示出了包括用于熵片構(gòu)建的在畫面級(jí)別的預(yù)測(cè)數(shù)據(jù)/殘余數(shù)據(jù)復(fù)用在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖;圖9示出了包括用于熵片構(gòu)建的在畫面級(jí)別的顏色平面復(fù)用在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖;圖10示出了包括通過熵解碼、形成熵片和熵編碼來對(duì)比特流進(jìn)行轉(zhuǎn)碼在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖;圖11示出了包括將重構(gòu)片分為多個(gè)熵片在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖, 其中,與多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的二元值數(shù)目不超過預(yù)定義的二元值數(shù)目;圖12示出了包括將重構(gòu)片分為多個(gè)熵片在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖, 其中,二元值可以與熵片相關(guān)聯(lián),直到熵片中的二元值數(shù)目超過基于預(yù)定義的最大二元值數(shù)目的閾值;圖13示出了包括將重構(gòu)片分為多個(gè)熵片在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖, 其中,與多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的二元值數(shù)目不超過預(yù)定義的二元值數(shù)目,且每個(gè)重構(gòu)片包含不多于預(yù)定義數(shù)目的宏塊;圖14示出了包括將重構(gòu)片分為多個(gè)熵片在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖, 其中,二元值可以與熵片相關(guān)聯(lián),直到熵片中的二元值數(shù)目超過基于預(yù)定義的最大二元值數(shù)目的閾值,且每個(gè)重構(gòu)片包含不多于預(yù)定義數(shù)目的宏塊;圖15示出了包括將重構(gòu)片分為多個(gè)熵片在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖, 其中,與多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的比特?cái)?shù)目不超過預(yù)定義的比特?cái)?shù)目;以及圖16示出了包括將重構(gòu)片分為多個(gè)熵片在內(nèi)的本發(fā)明的示例實(shí)施例的示意圖,其中,比特可以與熵片相關(guān)聯(lián),直到熵片中的比特?cái)?shù)目超過基于預(yù)定義的最大比特?cái)?shù)目的閾值。
具體實(shí)施例方式參照附圖將最佳地理解本發(fā)明的實(shí)施例,其中,在全部附圖中相似標(biāo)號(hào)指代相似部分。將上面列出的附圖明確地并入作為本詳細(xì)描述的一部分。容易理解,可以用廣泛不同的各種配置來布置和設(shè)計(jì)本發(fā)明的組件,如本文附圖中一般性描述和圖示的。因而,下面對(duì)本發(fā)明方法的實(shí)施例更詳細(xì)的描述不是對(duì)本發(fā)明范圍的限制,而僅表示本發(fā)明當(dāng)前優(yōu)選的實(shí)施例。可以用硬件、固件和/或軟件來體現(xiàn)本發(fā)明實(shí)施例的元素。盡管本文揭示的示例實(shí)施例僅能描述這些形式之一,應(yīng)當(dāng)理解,本領(lǐng)域技術(shù)人員將能夠以這些形式中任意形式來實(shí)現(xiàn)這些元素,同時(shí)依然保持在本發(fā)明的范圍內(nèi)。盡管本發(fā)明的實(shí)施例可以采用使用熵編碼/解碼的任何視頻編碼器/解碼器(編解碼),將通過H. 264/AVC編碼器和H. 264/AVC解碼器來說明本發(fā)明的示例實(shí)施例。其意在說明,而不是限制本發(fā)明的實(shí)施例?,F(xiàn)有技術(shù)的視頻編碼方法和標(biāo)準(zhǔn),例如,H. ^4/AVC,可以用更高的復(fù)雜度為代價(jià)來提供比老方法和標(biāo)準(zhǔn)更高的編碼效率。增加對(duì)視頻編碼方法和標(biāo)準(zhǔn)的質(zhì)量要求和分辨率要求還可以增加它們的復(fù)雜度。支持并行解碼的解碼器可以提升解碼速度,并降低存儲(chǔ)器要求。此外,多核處理器的發(fā)展可以制造按需要支持并行解碼的編碼器和解碼器。H. 264/AVC及很多其它視頻編碼標(biāo)準(zhǔn)和方法是基于基于塊的混合視頻編碼方案的,其中,源編碼算法是對(duì)以下各項(xiàng)的混合圖像間(也被稱為幀間)預(yù)測(cè)、圖像內(nèi)(也被稱為幀內(nèi))預(yù)測(cè)、以及預(yù)測(cè)殘余的變換編碼。幀間預(yù)測(cè)可以利用時(shí)間冗余,且?guī)瑑?nèi)和預(yù)測(cè)殘余的變換編碼可以利用空間冗余。圖1示出了示例H. 264/AVC視頻編碼器2的方框圖??梢猿尸F(xiàn)輸入畫面4 (也被稱為輸入幀)用于編碼??梢援a(chǎn)生預(yù)測(cè)信號(hào)6和殘余信號(hào)8,其中,預(yù)測(cè)信號(hào)6可以基于幀間預(yù)測(cè)10或幀內(nèi)預(yù)測(cè)12。幀間預(yù)測(cè)10可以由運(yùn)動(dòng)補(bǔ)償部14使用以下各項(xiàng)來確定(i)在幀存儲(chǔ)器16中存儲(chǔ)的參考畫面,也被稱為參考幀,以及(ii)由對(duì)在輸入幀(輸入畫面)4 和參考幀(參考畫面16)之間的運(yùn)動(dòng)執(zhí)行估計(jì)過程的運(yùn)動(dòng)估計(jì)部18所確定的運(yùn)動(dòng)信息19。 幀內(nèi)預(yù)測(cè)12可以由幀內(nèi)預(yù)測(cè)部20使用解碼信號(hào)22來確定??梢酝ㄟ^從輸入幀4中減去預(yù)測(cè)(預(yù)測(cè)信號(hào))6來確定殘余信號(hào)8。由變換/擴(kuò)縮/量化部M對(duì)殘余信號(hào)8進(jìn)行變換、 擴(kuò)縮和量化,從而產(chǎn)生已量化的變換系數(shù)26??梢酝ㄟ^將預(yù)測(cè)信號(hào)6與信號(hào)觀相加來產(chǎn)生解碼信號(hào)22,信號(hào)觀由對(duì)已量化的變換系數(shù)沈執(zhí)行逆變換、擴(kuò)縮和逆量化的逆(變換/擴(kuò)縮/量化)部30所產(chǎn)生??梢杂伸鼐幋a部32對(duì)運(yùn)動(dòng)信息19和已量化的變換系數(shù)沈進(jìn)行熵編碼,并將其寫到壓縮視頻比特流34中??梢酝ㄟ^對(duì)被重構(gòu)的且要被濾波的信號(hào)22進(jìn)行濾波,在編碼器2處由解塊濾波器部36來產(chǎn)生輸出圖像區(qū)域38,例如,參考幀的一部分。圖2示出了示例H. 264/AVC視頻解碼器50的方框圖??梢猿尸F(xiàn)也被稱為比特流的輸入信號(hào)52用于解碼??梢杂伸亟獯a部M對(duì)接收到的符號(hào)進(jìn)行熵解碼,從而產(chǎn)生運(yùn)動(dòng)信息56和已量化、已擴(kuò)縮的變換系數(shù)58??梢杂蛇\(yùn)動(dòng)補(bǔ)償部60將運(yùn)動(dòng)信息56與可以駐留在幀存儲(chǔ)器64中的參考幀84的一部分相結(jié)合,且可以產(chǎn)生幀間預(yù)測(cè)68??梢杂赡?變換/擴(kuò)縮/量化)部62對(duì)已量化的、已擴(kuò)縮的變換系數(shù)58進(jìn)行逆量化、擴(kuò)縮和反變換,從而產(chǎn)生解碼殘余信號(hào)70??梢詫堄嘈盘?hào)70與預(yù)測(cè)信號(hào)78 (幀間預(yù)測(cè)信號(hào)68或幀內(nèi)預(yù)測(cè)信號(hào) 76)相加,且變?yōu)榻Y(jié)合信號(hào)72??梢杂蓭瑑?nèi)預(yù)測(cè)部74根據(jù)當(dāng)前幀中之前解碼的信息(之前結(jié)合的信號(hào))72來預(yù)測(cè)幀內(nèi)預(yù)測(cè)信號(hào)76??梢杂山鈮K濾波部80對(duì)結(jié)合信號(hào)72進(jìn)行濾波, 并可以將濾波信號(hào)82寫到幀存儲(chǔ)器64中。在H. 264/AVC中,將輸入畫面分為具有固定大小的宏塊,其中,每個(gè)宏塊覆蓋具有亮度分量的16X 16采樣以及2個(gè)色度分量中每個(gè)色度分量的8X8采樣的矩形畫面區(qū)域。 為處理作為宏塊的單元規(guī)定H. ^4/AVC標(biāo)準(zhǔn)的解碼過程。熵解碼部M對(duì)壓縮視頻比特流52 的語法元素進(jìn)行解析,并對(duì)它們進(jìn)行解復(fù)用。H. 264/AVC規(guī)定用于熵解碼的2種備選方案 低復(fù)雜度技術(shù),其基于對(duì)可變長度碼的上下文自適應(yīng)切換集合的使用,也被稱為CAVLC ;以及更要求計(jì)算量的算法,其基于上下文自適應(yīng)二進(jìn)制算術(shù)編碼,被稱為CABAC。在這2種熵解碼方法中,對(duì)當(dāng)前符號(hào)的解碼可以依賴于之前正確解碼的符號(hào)以及自適應(yīng)更新的上下文模型。此外,可以將不同的數(shù)據(jù)信息復(fù)用在一起,例如預(yù)測(cè)數(shù)據(jù)信息、殘余數(shù)據(jù)信息和不同的顏色平面。直到對(duì)元素進(jìn)行熵解碼,才進(jìn)行解復(fù)用。在熵解碼之后,可以通過獲得以下信號(hào)來重構(gòu)宏塊通過逆量化和逆變換獲得的殘余信號(hào)以及預(yù)測(cè)信號(hào)(幀內(nèi)預(yù)測(cè)信號(hào)或幀間預(yù)測(cè)信號(hào))。可以通過針對(duì)每個(gè)解碼的宏塊應(yīng)用解塊濾波器來降低分塊失真。直到對(duì)輸入信號(hào)進(jìn)行熵解碼才開始處理,從而使得熵解碼成為解碼中的潛在瓶頸。類似地,在可以允許備選預(yù)測(cè)機(jī)制的編解碼中,例如,H. ^4/AVC中的層間預(yù)測(cè)或其他可擴(kuò)縮編解碼中的層間預(yù)測(cè),可以在解碼器處的所有處理之前要求熵解碼,從而使得熵解碼成為潛在的瓶頸。在H. 264/AVC中,可以將包括多個(gè)宏塊在內(nèi)的輸入畫面分為一個(gè)或若干片。假如在編碼器和解碼器處使用的參考畫面相同,則可以對(duì)片表示的畫面區(qū)域中的采樣的值進(jìn)行正確解碼,而不需要使用來自其它片的數(shù)據(jù)。因此,針對(duì)片的熵解碼和宏塊重構(gòu)不取決于其他片。具體地,在每個(gè)片的開始處重置熵編碼狀態(tài)。當(dāng)為熵解碼和重構(gòu)二者定義鄰居可用性時(shí),將其它片中的數(shù)據(jù)標(biāo)記為不可用,在H. 264/AVC中,可以并行地對(duì)片進(jìn)行熵解碼和重構(gòu)。不允許幀內(nèi)預(yù)測(cè)和運(yùn)動(dòng)矢量預(yù)測(cè)跨過片的邊界。解塊濾波可以使用跨過片邊界的信息。圖3示出了包括在水平方向上11個(gè)宏塊和在垂直方向上9個(gè)宏塊(9個(gè)示例宏塊標(biāo)記為91-99)在內(nèi)的示例視頻畫面90。圖3示出了 3個(gè)示例片標(biāo)記為“片(SLICE)#0” 的第一片100、標(biāo)記為“片#1”的第二片101以及標(biāo)記為“片#2”的第三片102。H. 264/AVC 解碼器可以并行地對(duì)3個(gè)片100、101、102進(jìn)行解碼和重構(gòu)。在每個(gè)片的解碼/重構(gòu)過程的開始處,對(duì)上下文模型進(jìn)行初始化或重置,并將其他片中的宏塊標(biāo)記為不可用于熵解碼和宏塊重構(gòu)。從而,對(duì)于“片#1”中的宏塊,例如標(biāo)記為93的宏塊,在“片#0”中的宏塊(例如,標(biāo)記為91和92的宏塊)不可以用于上下文模型選擇或重構(gòu)。反之,對(duì)于“片#1”中的宏塊,例如標(biāo)記為95的宏塊,“片#1”中的其他宏塊(例如,標(biāo)記為93和94的宏塊)可以用于上下文模型選擇或重構(gòu)。因此,在片內(nèi),必須順序進(jìn)行熵解碼和宏塊重構(gòu)。除非使用靈活宏塊排序(FMO)來定義片,否則以光柵掃描的順序來處理片內(nèi)的宏塊。靈活宏塊排序定義了片組,以修改如何將畫面分為片。片組中的宏塊由宏塊至片組映射(macroblock-to-slice-group)來定義,由片報(bào)頭中的畫面參數(shù)集合的內(nèi)容和附加信息來信號(hào)通知該宏塊至片組映射。宏塊至片組映射由畫面中的每個(gè)宏塊的片組識(shí)別號(hào)構(gòu)成。片組識(shí)別號(hào)指定了相關(guān)聯(lián)的宏塊屬于哪個(gè)片組??梢詫⒚總€(gè)片組分為一個(gè)以上的片, 其中,片是相同片組中的宏塊序列,在特定片組的宏塊集合中以光柵掃描的順序來處理相同片組中的宏塊序列。在片內(nèi),必須順序進(jìn)行熵解碼和宏塊重構(gòu)。圖4示出了分配為3個(gè)片組的示例宏塊分配標(biāo)記為“片組(SLICE GROUP) #0”的第一片組103、標(biāo)記為“片組#1”的第二片組104以及標(biāo)記為“片組#2”的第三片組105。3 個(gè)片組103、104、105可以與畫面90中的2個(gè)前景區(qū)域以及背景區(qū)域相關(guān)聯(lián)。本發(fā)明的一些實(shí)施例可以包括將畫面分為一個(gè)以上的重構(gòu)片,其中,在以下意義上重構(gòu)片可以是自包含的假如在編碼器和解碼器處使用的參考畫面是相同的,則可以在不使用來自其他重構(gòu)片的數(shù)據(jù)的情況下,正確重構(gòu)畫面中的由重構(gòu)片表示的區(qū)域中的采樣值。重構(gòu)片中的所有已重構(gòu)的宏塊可以在鄰居定義中用于重構(gòu)。本發(fā)明的一些實(shí)施例可以包括將重構(gòu)片分為多于1個(gè)熵片,其中,熵片在以下意義上可以是自包含的可以在不使用來自其他熵片的數(shù)據(jù)的情況下,對(duì)畫面中的由熵片表示的區(qū)域中的符號(hào)值進(jìn)行正確的熵解碼。在本發(fā)明的一些實(shí)施例中,在每個(gè)熵片的解碼開始處,可以重置熵編碼狀態(tài)。在本發(fā)明的一些實(shí)施例中,當(dāng)為熵解碼定義鄰居可用性時(shí),可以將其它熵片中的數(shù)據(jù)標(biāo)記為不可用。在本發(fā)明的一些實(shí)施例中,可以在當(dāng)前塊的上下文模型選擇中不使用其他熵片中的宏塊。在本發(fā)明的一些實(shí)施例中,可以僅在熵片中更新上下文模型。在本發(fā)明的這些實(shí)施例中,與熵片相關(guān)聯(lián)的每個(gè)熵解碼器可以維持其自己的上下文模型集合。將2008年4月的題為“用于并行熵解碼的熵片”的ITU電信標(biāo)準(zhǔn)化部門, 研究組16-貢獻(xiàn)405以全文引用的方式并入本文中。本發(fā)明的一些實(shí)施例可以包括CABAC編碼/解碼。CABAC編碼過程包括以下4個(gè)基本步驟二進(jìn)制化;上下文模型選擇;二進(jìn)制算術(shù)編碼;以及概率更新。二進(jìn)制化將非二進(jìn)制值的符號(hào)(例如,變換系數(shù)、運(yùn)動(dòng)矢量、或其他編碼數(shù)據(jù))轉(zhuǎn)換為二進(jìn)制代碼,也被稱為二元值串或二進(jìn)制化符號(hào)。當(dāng)給定具有二進(jìn)制值的語法元素,則可以繞過該初始的二進(jìn)制化步驟??梢詫⒕哂卸M(jìn)制值的語法元素或二進(jìn)制化符號(hào)的元素稱為二元值。針對(duì)每個(gè)二元值,可以執(zhí)行以下步驟上下文模型選擇上下文模型是針對(duì)一個(gè)以上的二元值的概率模型。上下文模型包括針對(duì)每個(gè)二元值,該二元值是“1”或“0”的概率。取決于最近編碼的數(shù)據(jù)符號(hào)的統(tǒng)計(jì)數(shù)據(jù),可以針對(duì)可用模型的選擇來選擇該模型,通?;谧髠?cè)和上方相鄰符號(hào)(如果可用)。二進(jìn)制算術(shù)編碼算術(shù)編碼器根據(jù)所選概率模型對(duì)每個(gè)二元值進(jìn)行編碼,且算術(shù)編碼器基于遞歸區(qū)間細(xì)分。概率更新基于實(shí)際編碼值對(duì)所選上下文模型進(jìn)行更新。在包括CABAC編碼/解碼在內(nèi)的本發(fā)明的一些實(shí)施例中,在熵片的解碼開始處,可以將所有上下文模型初始化或重置為預(yù)定義的模型??梢酝ㄟ^圖5來理解本發(fā)明的一些實(shí)施例。圖5示出了包括在水平方向11個(gè)宏塊和在垂直方向9個(gè)宏塊(標(biāo)記為115-123的9個(gè)示例宏塊)在內(nèi)的示例視頻幀110。圖 5示出了 3個(gè)示例重構(gòu)片標(biāo)記為“[片(SLICE)#0”的第一重構(gòu)片111、標(biāo)記為“[片#1”的第二重構(gòu)片112以及標(biāo)記為“[片#2”的第三重構(gòu)片113。圖5還示出了將第二重構(gòu)片 "R_片#1” 112分為3個(gè)熵片以交叉陰影線示出的標(biāo)記為‘ _片(SLICE) #0”的第一熵片 112-1、以垂直陰影線示出的標(biāo)記為1_片#1”的第二熵片112-2、以及以斜向陰影線示出的標(biāo)記為1_片#2”的第三熵片112-3。可以對(duì)每個(gè)熵片112-1、112-2、112-3并行進(jìn)行熵解碼。此處,還可以將標(biāo)記為‘‘E_片#0”的第一熵片和標(biāo)記為‘ _片#1”的第二熵片稱為比特流的第一部分和第二部分。在本發(fā)明的一些實(shí)施例中,在熵片的熵解碼期間,僅來自熵片內(nèi)的宏塊的數(shù)據(jù)可以用于上下文模型選擇。將所有其它宏塊標(biāo)記為不可用。對(duì)于該示例劃分,當(dāng)對(duì)與標(biāo)記為 119的宏塊的區(qū)域相對(duì)應(yīng)的符號(hào)進(jìn)行解碼時(shí),標(biāo)記為117和118的宏塊不可用于上下文模型選擇,因?yàn)闃?biāo)記為117和118的宏塊在包含宏塊119的熵片之外。然而,當(dāng)重構(gòu)宏塊119 時(shí),這些宏塊117、118可用。在本發(fā)明的一些實(shí)施例中,編碼器可以確定是否將重構(gòu)片分為熵片,以及編碼器可以在比特流中信號(hào)通知該判定。在本發(fā)明的一些實(shí)施例中,信號(hào)可以包括熵片旗標(biāo),在本發(fā)明的一些實(shí)施例中,可以將該熵片旗標(biāo)表示為“entropy_slice_flag”。可以通過圖6來描述本發(fā)明的一些解碼器實(shí)施例。在這些實(shí)施例中,可以檢查熵片旗標(biāo)(S130),且如果熵片旗標(biāo)指示不存在與畫面或重構(gòu)片相關(guān)聯(lián)的熵片(步驟S130中的否),則可以將報(bào)頭作為常規(guī)片報(bào)頭加以解析(S134)??梢灾刂渺亟獯a器狀態(tài)(S136),且可以定義用于熵解碼和重構(gòu)的鄰居信息(S138)。然后對(duì)片數(shù)據(jù)進(jìn)行熵解碼(S140),且可以重構(gòu)片(S142)。如果熵片旗標(biāo)指示存在與畫面相關(guān)聯(lián)的熵片(步驟S130中的是),則可以將報(bào)頭作為熵片報(bào)頭加以解析(S148)??梢灾刂渺亟獯a器狀態(tài)(S150),可以定義用于熵解碼的鄰居信息(S152),且可以對(duì)熵片數(shù)據(jù)進(jìn)行熵解碼(S154)。然后定義用于重構(gòu)的鄰居信息(S156),且可以重構(gòu)片(S142)。在步驟S142中的片重構(gòu)之后,可以檢查下一個(gè)片或畫面 (返回步驟S130)??梢酝ㄟ^圖7來描述本發(fā)明的一些備選解碼器實(shí)施例。在這些實(shí)施例中,解碼器能夠并行解碼,且可以定義其自己的并行程度,例如,考慮包括對(duì)N個(gè)熵片并行解碼的能力的解碼器。解碼器可以識(shí)別N個(gè)熵片(S170)。在本發(fā)明的一些實(shí)施例中,如果在當(dāng)前畫面或重構(gòu)片中少于N個(gè)熵片可用,則解碼器可以對(duì)來自后續(xù)畫面或重構(gòu)片的熵片(如果它們可用)進(jìn)行解碼。在備選實(shí)施例中,在對(duì)后續(xù)畫面或重構(gòu)片的部分進(jìn)行解碼之前,解碼器可以等待,直到對(duì)當(dāng)前畫面或重構(gòu)片進(jìn)行了完全處理。在步驟S170中識(shí)別高至N個(gè)熵片之后, 可以對(duì)每個(gè)識(shí)別出的熵片進(jìn)行獨(dú)立熵解碼??梢詫?duì)第一熵片進(jìn)行解碼(S172-S176)。對(duì)第一熵片的解碼可以包括重置解碼器狀態(tài)(S17》。在包括CABAC熵解碼的一些實(shí)施例中,可以重置CABAC狀態(tài)??梢远x用于第一熵片的熵解碼的鄰居信息(S174),且可以對(duì)第一熵片數(shù)據(jù)進(jìn)行解碼(S176)。對(duì)于高至N個(gè)熵片中的每個(gè)熵片,可以執(zhí)行這些步驟(對(duì)于低N 個(gè)熵片的S178至S182)。在本發(fā)明的一些實(shí)施例中,當(dāng)對(duì)所有熵片進(jìn)行熵解碼時(shí),解碼器可以重構(gòu)熵片(S184)。在本發(fā)明的備選實(shí)施例中,在對(duì)一個(gè)或多個(gè)熵片解碼之后,解碼器可以開始在步驟S184中的重構(gòu)。在本發(fā)明的一些實(shí)施例中,當(dāng)存在多于N個(gè)熵片,當(dāng)完成對(duì)熵片的熵解碼時(shí),解碼線程可以開始對(duì)下一個(gè)熵片進(jìn)行熵解碼。從而,當(dāng)線程完成對(duì)低復(fù)雜度熵片的熵解碼時(shí),該線程可以開始對(duì)附加熵片進(jìn)行解碼,而不需要等待其它線程完成它們的解碼。
在可以采用現(xiàn)有標(biāo)準(zhǔn)或方法的本發(fā)明的一些實(shí)施例中,熵片可以共享根據(jù)該標(biāo)準(zhǔn)或方法的常規(guī)片的大多數(shù)片屬性。因此,熵片可以要求小的報(bào)頭。在本發(fā)明的一些實(shí)施例中,熵片報(bào)頭可以允許解碼器識(shí)別熵片的開始和熵解碼的開始。在一些實(shí)施例中,在畫面或重構(gòu)片的開始處,熵片報(bào)頭可以是常規(guī)報(bào)頭或重構(gòu)片報(bào)頭。在包括H. 264/AVC編解碼在內(nèi)的本發(fā)明的一些實(shí)施例中,可以通過向現(xiàn)有片報(bào)頭添加新的比特“entr0py_SliCe_flag”來信號(hào)通知熵片。表1列出了根據(jù)本發(fā)明的實(shí)施例的熵片報(bào)頭的語法,其中,C指示類別,描述符u (1)、ue (ν)指示某個(gè)固定長度或可變長度編碼方法。包括“entr0py_SliCe_flag”在內(nèi)的本發(fā)明的實(shí)施例可以實(shí)現(xiàn)增強(qiáng)的編碼效率?!癴irSt_mb_in_SliCe”規(guī)定了與熵片報(bào)頭相關(guān)聯(lián)的熵片中的第一宏塊的地址。在一些實(shí)施例中,熵片可以包括宏塊的序列?!癱abacjnitjdc”規(guī)定了用于確定在上下文模式的初始化過程中使用的初始化
表的索引。
權(quán)利要求
1.一種用于對(duì)視頻序列的視頻幀進(jìn)行編碼的方法,所述方法包括a)在編碼器中,將視頻序列的幀分為至少一個(gè)重構(gòu)片,從而產(chǎn)生第一重構(gòu)片;以及b)在所述編碼器中,將所述第一重構(gòu)片分為多個(gè)熵片,其中,與所述多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的二元值數(shù)目小于或等于預(yù)定義的二元值數(shù)目。
2.根據(jù)權(quán)利要求1所述的方法,其中,與所述第一重構(gòu)片相關(guān)聯(lián)的宏塊數(shù)目小于或等于預(yù)定義的宏塊數(shù)目。
3.根據(jù)權(quán)利要求1所述的方法,其中,與所述多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的宏塊數(shù)目小于或等于預(yù)定義的宏塊數(shù)目。
4.根據(jù)權(quán)利要求1所述的方法,其中,與所述多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的比特?cái)?shù)目小于或等于預(yù)定義的比特?cái)?shù)目。
5.根據(jù)權(quán)利要求4所述的方法,其中,與所述多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的宏塊數(shù)目小于或等于預(yù)定義的宏塊數(shù)目。
6.根據(jù)權(quán)利要求1所述的方法,其中,所述預(yù)定義的二元值數(shù)目和與所述編碼器產(chǎn)生的視頻比特流相關(guān)聯(lián)的級(jí)別一致點(diǎn)相關(guān)聯(lián)。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述預(yù)定義的二元值數(shù)目取決于從由以下各項(xiàng)構(gòu)成的組中選擇的至少一個(gè)參數(shù)比特率、圖像大小以及宏塊數(shù)目。
8.根據(jù)權(quán)利要求1所述的方法,還包括將熵片報(bào)頭與所述多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)。
9.根據(jù)權(quán)利要求1所述的方法,還包括將熵片旗標(biāo)與使用所述多個(gè)熵片產(chǎn)生的比特流相關(guān)聯(lián)。
10.一種用于對(duì)視頻序列的視頻幀進(jìn)行編碼的方法,所述方法包括a)在編碼器中,將視頻序列的幀分為至少一個(gè)重構(gòu)片,從而產(chǎn)生第一重構(gòu)片;以及b)在所述編碼器中,將所述第一重構(gòu)片分為多個(gè)熵片,其中,所述多個(gè)熵片中的每個(gè)熵片的大小小于或等于預(yù)定義的大小,其中,所述預(yù)定義的大小與從由以下各項(xiàng)構(gòu)成的組中選擇的至少一個(gè)大小度量相關(guān)比特?cái)?shù)目、二元值數(shù)目以及宏塊數(shù)目。
11.根據(jù)權(quán)利要求10所述的方法,其中,與所述第一重構(gòu)片相關(guān)聯(lián)的宏塊數(shù)目小于或等于預(yù)定義的宏塊數(shù)目。
12.根據(jù)權(quán)利要求10所述的方法,其中,所述預(yù)定義的大小和與所述編碼器產(chǎn)生的視頻比特流相關(guān)聯(lián)的級(jí)別一致點(diǎn)相關(guān)聯(lián)。
13.根據(jù)權(quán)利要求10所述的方法,其中,所述預(yù)定義的大小取決于從由以下各項(xiàng)構(gòu)成的組中選擇的至少一個(gè)參數(shù)比特率、圖像大小以及宏塊總數(shù)。
14.根據(jù)權(quán)利要求10所述的方法,還包括將熵片報(bào)頭與所述多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)。
15.根據(jù)權(quán)利要求10所述的方法,還包括將熵片旗標(biāo)與使用所述多個(gè)熵片產(chǎn)生的比特流相關(guān)聯(lián)。
16.一種產(chǎn)生用于并行解碼的視頻比特流的方法,所述方法包括a)在解碼器處接收第一視頻比特流;b)識(shí)別所述視頻比特流中的重構(gòu)片;c)對(duì)來自所述重構(gòu)片的多個(gè)符號(hào)進(jìn)行熵解碼,從而產(chǎn)生與所述重構(gòu)片相關(guān)聯(lián)的熵解碼數(shù)據(jù);d)將與所述重構(gòu)片相關(guān)聯(lián)的所述熵解碼數(shù)據(jù)分為與所述重構(gòu)片相關(guān)聯(lián)的多個(gè)熵片,其中,所述多個(gè)熵片中的每個(gè)熵片的大小小于或等于預(yù)定義的大小,其中,所述預(yù)定義的大小與從由以下各項(xiàng)構(gòu)成的組中選擇的至少一個(gè)大小度量相關(guān)比特?cái)?shù)目、二元值數(shù)目以及宏塊數(shù)目;e)獨(dú)立地對(duì)所述多個(gè)熵片中的每個(gè)熵片的熵解碼數(shù)據(jù)進(jìn)行熵編碼,從而產(chǎn)生多個(gè)熵編碼的熵片;以及f)產(chǎn)生包括所述多個(gè)熵編碼的熵片在內(nèi)的第二視頻比特流。
17.一種用于對(duì)視頻比特流進(jìn)行解碼的方法,所述方法包括對(duì)與重構(gòu)片相關(guān)聯(lián)的多個(gè)熵片進(jìn)行解碼,其中,所述多個(gè)熵片中的每個(gè)熵片的大小小于或等于預(yù)定義的大小,其中,所述預(yù)定義的大小與從由以下各項(xiàng)構(gòu)成的組中選擇的至少一個(gè)大小度量相關(guān)比特?cái)?shù)目、二元值數(shù)目以及宏塊數(shù)目。
18.根據(jù)權(quán)利要求17所述的方法,其中,所述預(yù)定義的大小和與所述視頻比特流相關(guān)聯(lián)的級(jí)別一致點(diǎn)相關(guān)聯(lián)。
全文摘要
本發(fā)明涉及用于并行視頻編碼和解碼的方法和設(shè)備??梢园ㄓ糜谠诰幋a器中對(duì)視頻序列的視頻幀進(jìn)行編碼的方法,包括將視頻序列的幀分為至少一個(gè)重構(gòu)片,從而產(chǎn)生第一重構(gòu)片,以及將所述第一重構(gòu)片分為多個(gè)熵片,其中,與所述多個(gè)熵片中的每個(gè)熵片相關(guān)聯(lián)的二元值數(shù)目小于等于預(yù)定義的二元值數(shù)目。
文檔編號(hào)H04N7/26GK102577381SQ201080046258
公開日2012年7月11日 申請(qǐng)日期2010年10月14日 優(yōu)先權(quán)日2009年10月14日
發(fā)明者克里斯托弗·A·塞格爾, 趙杰 申請(qǐng)人:夏普株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
湖口县| 和静县| 息烽县| 内江市| 乃东县| 南通市| 河北省| 应用必备| 四川省| 台北县| 交城县| 阳泉市| 柏乡县| 乡宁县| 西峡县| 开江县| 屯留县| 淅川县| 临猗县| 武陟县| 万山特区| 都江堰市| 磐石市| 固安县| 五大连池市| 扬州市| 崇礼县| 安远县| 红河县| 深泽县| 伊通| 靖西县| 高碑店市| 延寿县| 南和县| 来宾市| 连城县| 百色市| 全州县| 大埔县| 尖扎县|