專利名稱:基于多層的可縮放視頻編碼方法及裝置的制作方法
基于多層的可縮放視頻編碼方法及裝置技術(shù)領(lǐng)域與本發(fā)明一致的方法和裝置涉及視頻編碼,更具體地,涉及基于多層的 可縮放視頻編碼方法及裝置。
背景技術(shù):
隨著包括因特網(wǎng)的信息通信技術(shù)的發(fā)展,視頻通信以及文本和語音通信 已得到快速增長。傳統(tǒng)的文本通信不能滿足各種用戶要求,因而可以提供諸 如文本、圖片和音樂的各種類型的信息的多媒體服務(wù)得以增加。由于多媒體 數(shù)據(jù)量相對于其它類型的數(shù)據(jù)來說通常較大,所以多媒體數(shù)據(jù)需要大容量的 存儲介質(zhì)和寬帶寬來進(jìn)行傳輸。因此,需要壓縮編碼方法來發(fā)送包括文本、 視頻和音頻的多媒體數(shù)據(jù)。在這樣的壓縮編碼方法中,數(shù)據(jù)壓縮的基本原理在于去除數(shù)據(jù)冗余。典型地,將數(shù)據(jù)冗余定義為空間冗余、時間冗余或心理視覺冗余所述空間冗 余是指,相同的色彩或?qū)ο笤趫D像中重復(fù);所述時間冗余是指,在運動圖像 的相鄰幀之間存在很少的變化或在音頻中重復(fù)相同的聲音;而所述心理視覺 冗余考慮了人類視覺和感覺對高頻不敏感。在一般的視頻編碼技術(shù)中,通過 基于運動補(bǔ)償?shù)臅r間域濾波來去除時間冗余,并通過空間變換來去除空間冗 余。為了發(fā)送在去除了數(shù)據(jù)冗余之后所生成的多媒體,傳輸介質(zhì)是必要的。 傳輸性能依賴于傳輸介質(zhì)而有所不同。當(dāng)前使用的傳輸介質(zhì)具有各種傳輸速 率。例如,超高速通信網(wǎng)絡(luò)每秒可以發(fā)送幾十兆比特的數(shù)據(jù),而移動通信網(wǎng) 絡(luò)具有每秒384千比特的傳輸速率。因此,為了支持具有各種速度的傳輸介 質(zhì)或以適合于傳輸環(huán)境的數(shù)據(jù)速率來發(fā)送多媒體,諸如d、波視頻編碼或子帶 視頻編碼或其它類似的編碼方法的、具有可縮;改性的數(shù)據(jù)編碼方法可能適合 于多媒體環(huán)境??煽s放視頻編碼是這樣一種技術(shù),其通過根據(jù)諸如傳輸比特率、誤碼率 和系統(tǒng)資源的周圍環(huán)境條件來截取部分比特流,從而允許以不同的分辨率、幀速率和信噪比(SNR)級別,來對所壓縮的比特流進(jìn)行解碼。關(guān)于可縮力丈:規(guī)頻編碼(SVC)的運動圖像專家組4 (MPEG4);標(biāo)準(zhǔn)化正 在由聯(lián)合視頻組(JVT)來進(jìn)行,所述聯(lián)合視頻組是MPEG和國際電信聯(lián)盟 (ITU)的聯(lián)合工作組。具體地,正在對基于H,264標(biāo)準(zhǔn)來獲得多層可縮放性 的標(biāo)準(zhǔn)化做出許多努力。圖1是示出通過現(xiàn)有技術(shù)的代碼轉(zhuǎn)換(transcode)處理的同時聯(lián)播 (simulcast)過程的示圖。編碼器11生成非可縮放的比特流,并且將其提供 給作為流服務(wù)器的路由器/代碼轉(zhuǎn)換器12、 13和14。連接到終端客戶設(shè)備(諸 如高清電視(HDTV) 15、數(shù)字多媒體廣播(DMB)接收器16、個人數(shù)字助 理(PDA) 17和移動電話18或類似設(shè)備)的路由器/代碼轉(zhuǎn)換器13和14根 據(jù)終端客戶設(shè)備的性能或網(wǎng)絡(luò)帶寬來發(fā)送具有各種質(zhì)量級別的比特流。由于 代碼轉(zhuǎn)換器12、 13和14執(zhí)行的代碼轉(zhuǎn)換處理涉及對輸入比特流進(jìn)4亍解碼以 及使用其它參數(shù)對所解碼的比特流重新進(jìn)行編碼,所以導(dǎo)致了某些時間延遲, 并且無法避免視頻質(zhì)量的惡化??紤]到上述問題,SVC標(biāo)準(zhǔn)提供考慮了空間維度(空間可縮放性)、幀 速率(時間可縮放性)或比特率(SNR可縮放性)的可縮放比特流,其在多 個客戶接收同一視頻的情況下具有相當(dāng)有利的可縮放特點,同時具有不同的 空間/時間/質(zhì)量參數(shù)。因此,由于可縮放的視頻編碼不需要代碼轉(zhuǎn)換器,所以 可實現(xiàn)有效的多播。根據(jù)SVC標(biāo)準(zhǔn),如圖2中所示,編碼器11生成可縮放的比特流,并且 已從編碼器11接收到該可縮放的比特流的路由器/提取器22、 23和24簡單 地提取所接收的可縮放比特流中的一些,從而改變比特流的質(zhì)量。因而,路 由器/提取器22、 23和24使得能夠更好地控制流式內(nèi)容,從而實現(xiàn)對可用帶 寬的有效利用。圖3示出了采用多層結(jié)構(gòu)的可縮放視頻編解碼器的示例。參考圖3,基 層具有四分之一公用中間格式(QCIF )分辨率和15 Hz的幀速率,第 一增強(qiáng) 層具有公用中間格式(CIF)分辨率和30Hz的幀速率,而第二增強(qiáng)層具有標(biāo) 準(zhǔn)清晰度(SD)分辨率和60Hz的幀速率。例如,為了獲得具有CIF分辨率 和0.5 Mbps比特率的流,可以截取具有CIF分辨率、30 Hz幀速率和0.7 Mbps 的比特率的增強(qiáng)層比特流,以滿足0.5Mbps的比特率。以此方式,可以實現(xiàn) 空間、時間和SNR可縮;故性。發(fā)明內(nèi)容技術(shù)問題然而,這樣的可縮放性可能經(jīng)常導(dǎo)致額外開銷(overhead )。圖4和圖5 是用于將依據(jù)11264標(biāo)準(zhǔn)而編碼的非可縮放比特流的質(zhì)量與依據(jù)SVC標(biāo)準(zhǔn)而 編碼的可縮放比特流的質(zhì)量進(jìn)行比較的圖的圖解表示。在可縮放比特流中, 觀察到大約為0.5 dB的峰值信噪比(PSNR)損失。在圖5中所示的這樣的極 端情況下,PSNR損失幾乎是ldB。參考圖4和圖5,分析結(jié)果顯示SVC編 解碼器的性能(例如對于空間可縮放性)接近或稍高于MPEG-4編解碼器的 性能,該MPEG-4編解碼器的性能比R264編解碼器的性能低。在這種情況 下,依賴于可縮放性,造成大約20%的比特率額外開銷。再次參考圖2,最后的鏈路(即在最后一個路由器和最后一個客戶端之 間的鏈路)也使用可縮放比特流。然而,在大多數(shù)情況下,僅有單個客戶端 接收該鏈路中的比特流,這表明不需要可縮放性特征。因而,在最后的鏈路 中產(chǎn)生了帶寬額外開銷。因此,需要提出一種當(dāng)不需要可縮放性時自適應(yīng)地 降低額外開銷的技術(shù)。技術(shù)方案本發(fā)明提供了 一種具有改進(jìn)的編碼性能的多層視頻編解碼器。 本發(fā)明還提供了一種當(dāng)在可縮放比特流中不需要可縮放性時去除可縮放比特流的額外開銷的方法。通過下面對示范性實施例的描述,本發(fā)明的這些和其它方面將被描述或變得明顯。根據(jù)本發(fā)明的一方面,提供了 一種用于對具有多個層的視頻序列進(jìn)行編 碼的視頻編碼方法,該方法包括對存在于多個層中的第一層內(nèi)的第一塊的 殘差進(jìn)行編碼;如果利用該第一塊對第二塊進(jìn)行編碼,則將所編石馬的第一塊 的殘差記錄在比特流的不可丟棄區(qū)域中,所述第二塊存在于多個層中的第二 層內(nèi)并且與所述第一塊對應(yīng);以及如果不利用第一塊而對第二塊進(jìn)^f亍編碼, 則將所編碼的第一塊的殘差記錄在所述比特流的可丟棄區(qū)域。根據(jù)本發(fā)明的另 一方面,提供了 一種用于對包括具有不可丟棄區(qū)域和可 丟棄區(qū)域的至少 一層的視頻比特流進(jìn)行解碼的視頻解碼方法,該方法包括 從所述不可丟棄區(qū)域讀取第一塊;如果所述第一塊的數(shù)據(jù)存在,則對所述第一塊的數(shù)據(jù)進(jìn)行解碼;如果所述第一塊的數(shù)據(jù)不存在,則從所述可丟棄區(qū)域 讀取具有與所述第 一塊相同的標(biāo)識符的第二塊的數(shù)據(jù);以及對所讀取的第二 塊的數(shù)據(jù)進(jìn)行解碼。根據(jù)本發(fā)明的還一方面,提供了 一種用于對具有多個層的視頻序列進(jìn)行 編碼的視頻編碼器,該視頻編碼器包括編碼單元,其對存在于所述多個層 中的第一層內(nèi)的第一塊的殘差進(jìn)行編碼;記錄單元,如果利用所述第一塊對 第二塊進(jìn)行編碼,則其將所編碼的所述第一塊的殘差記錄在比特流的不可丟 棄區(qū)域中,所述第二塊存在于所述多個層中的第二層內(nèi)并且與所述第一塊對 應(yīng);以及記錄單元,如果不利用所述第一塊而對第二塊進(jìn)行編碼,則其將所 編碼的所述第一塊的殘差記錄在所述比特流的可丟棄區(qū)域。根據(jù)本發(fā)明的另 一方面,提供了 一種用于對包括具有不可丟棄區(qū)域和可 丟棄區(qū)域的至少 一個層的視頻比特流進(jìn)行解碼的視頻解碼器,該視頻解碼器 包括讀取單元,其從所述不可丟棄區(qū)域讀取第一塊;解碼單元,如果所述 第一塊的數(shù)據(jù)存在,則其對所述第一塊的數(shù)據(jù)進(jìn)^f亍解碼;讀取單元,如果所 述第一塊的數(shù)據(jù)不存在,則其從所述可丟棄區(qū)域讀取具有與所述第一塊相同 的標(biāo)識符的第二塊的數(shù)據(jù);以及解碼單元,其對所述第二塊的讀取數(shù)據(jù)進(jìn)行 解碼。
通過參考附圖對本發(fā)明的某些示范性實施例進(jìn)行詳細(xì)描述,本發(fā)明的上述和其它方面將變得明顯,其中:-圖1是示出了通過現(xiàn)有技術(shù)的代碼轉(zhuǎn)換處理的同時聯(lián)播過程的示圖;圖2是依據(jù)現(xiàn)有技術(shù)的SVC標(biāo)準(zhǔn)的比特流傳輸過程的示圖;圖3是示出了使用多層結(jié)構(gòu)的可縮放視頻編解碼器的示例的示圖;圖4和圖5是用于將依據(jù)H.264標(biāo)準(zhǔn)而編碼的非可縮放比特流的質(zhì)量與依據(jù)SVC標(biāo)準(zhǔn)而編碼的可縮放比特流的質(zhì)量進(jìn)行比較的圖解表示;圖6是示出了依據(jù)本發(fā)明的示范性實施例的比特流傳輸過程的示圖;總體4各式;圖8示意性地示出了依據(jù)本發(fā)明的示范性實施例的比特流的總體格式; 圖9是用于解浮奪幀間預(yù)測、幀內(nèi)預(yù)測和基層內(nèi)預(yù)測(Intra base prediction )的概念的示圖;圖IO是示出了依據(jù)本發(fā)明的示范性實施例的視頻編碼處理的流程圖; 圖11示出了圖8中所示的比特流的詳細(xì)結(jié)構(gòu)的示例;頻解碼處理的流程圖;圖13是示出了由三個層構(gòu)成的視頻序列的示圖;圖14是示出了可對其應(yīng)用多適配(multiple adaptation)的精細(xì)可縮放性 (FGS)視頻中的比特流的例子的示圖;圖15是示出了不可對其應(yīng)用多適配的FGS視頻中的死子流(dead substream)的例子的示圖;圖16是示出了利用時間級別(temporal level)的多適配的例子的示圖;例子的示圖;圖18是示出了在粗糙可縮放性(CGS )層之間的時間預(yù)測的例子的示圖;圖20是依據(jù)本發(fā)明的示范性實施例的視頻編碼器的框圖;以及 圖21是依據(jù)本發(fā)明的示范性實施例的視頻解碼器的框圖。
具體實施方式
下面參考附圖來描述示范性實施例,以解釋本發(fā)明??煽s放性通常導(dǎo)致額外開銷。然而,在流系統(tǒng)中,如果客戶端不需要可 縮放比特流,則向客戶端發(fā)送比特流的路由器可以選擇非可縮;故比特流,并 將其發(fā)送給客戶端,該非可縮放比特流具有比可縮》文比特流#^的比特率。圖6是示出了依據(jù)本發(fā)明的示范性實施例的比特流傳輸過程的示圖。編 碼器11生成可縮放比特流,并且將其提供給作為流服務(wù)器的路由器/提取器 32、 33和34。連接到終端客戶設(shè)備(諸如HDTV 15、 DMB接收器16、 PDA 17和移動電話18 )的提取器33和34根據(jù)終端客戶設(shè)備的性能或用于傳輸?shù)?網(wǎng)絡(luò)帶寬,適當(dāng)?shù)貓?zhí)行將它們相應(yīng)的可縮放比特流轉(zhuǎn)換成非可縮放比特流。 由于在執(zhí)行轉(zhuǎn)換的同時去除了用于保持可縮放性的額外開銷,所以可以增強(qiáng) 在終端客戶i殳備15、 16、 17和18處的視頻質(zhì)量。通常也將這樣的基于客戶需要的比特流轉(zhuǎn)換稱為"多適配"。為了使得能夠進(jìn)行這樣的比特流轉(zhuǎn)換,可縮放比特流有利地具有使得可縮放比特流能夠 被容易地轉(zhuǎn)換成非可縮放比特流的格式?,F(xiàn)在將簡要描述在本說明書中使用 的術(shù)語??蓙G棄信息可丟棄信息是解碼當(dāng)前層需要、但是解碼增強(qiáng)層不需要的信息。 不可丟棄^言息不可丟棄信息是解碼增強(qiáng)層所需要的信息。在本發(fā)明的示范性實施例中,可縮放比特流包括可丟棄信息和不可丟棄 信息,這兩者可以容易地相互分離。換句話說,應(yīng)通過兩個不同的編碼單元(例如H.264中所使用的NAL單元)來使可丟棄信息和不可丟棄信息相互分 離。如果確定客戶端不需要最終的路由器,則丟棄可縮放比特流的可丟棄信 白、W o將根據(jù)本發(fā)明的這樣的可縮;故比特流稱為"切換后的可縮i丈比特流" (switched scalable bitstream )。切換后的可縮放比特流具有可丟棄比特和不可 丟棄比特可以彼此分離的形式。比特流提取器被配置為當(dāng)確定客戶端不需要 可丟棄信息時容易地丟棄可丟棄信息。因此,有助于從可縮放比特流到非可 縮放比特流的轉(zhuǎn)換??傮w格式。在現(xiàn)有技術(shù)的H.264標(biāo)準(zhǔn)或SVC標(biāo)準(zhǔn)中,比特流70包4舌多個網(wǎng) 絡(luò)抽象層(NAL)單元71、 72、 73和74。通過提取器(未示出)來提取比 特流70中的NAL單元71、 72、 73和74中的一些,以改變視頻質(zhì)量。多個 NAL單元71、 72、 73和74中的每一個都包括其中記錄壓縮視頻數(shù)據(jù)的NAL 數(shù)據(jù)字段76和其中記錄關(guān)于壓縮視頻數(shù)據(jù)的附加信息的NAL報頭75。通常將非固定的NAL數(shù)據(jù)字段76的大小記錄在NAL報頭75中。NAL 數(shù)據(jù)字段76可以包括一個或多個(n個)宏塊MB,、 MB2和MBn。宏塊包括 諸如運動向量、宏塊模式(macroblockpattern)、參考幀編號等的運動數(shù)據(jù)和 諸如量化殘差等的紋理數(shù)據(jù)。圖8示意性地示出依據(jù)本發(fā)明的示范性實施例的比特流100的總體格式。 依據(jù)本發(fā)明的示范性實施例的比特流100包括不可丟棄NAL單元區(qū)域80和 可丟棄NAL單元區(qū)域卯。術(shù)可丟棄NAL單元區(qū)域80的NAL單元81、 82、 83和84的NAL報頭被設(shè)置為0,作為指示NAL單元81、 82、 83和84是否可丟棄的discardable—flag (可丟棄標(biāo)記),而將可丟棄NAL單元區(qū)域90的 NAL單元91 、 92、 93和94的NAL報頭設(shè)置為1 。被設(shè)置為O值的discardable—flag表示在增強(qiáng)層的解碼處理中使用在NAL 單元的NAL數(shù)據(jù)字段中記錄的數(shù)據(jù),而被設(shè)置為1值的discardable—flag表示 在增強(qiáng)層的解碼處理中不使用在NAL單元的NAL數(shù)據(jù)字段中記錄的數(shù)據(jù)。為了以提高的壓縮效率來表現(xiàn)紋理數(shù)據(jù),SVC標(biāo)準(zhǔn)描述了 4種預(yù)測方法, 包括在現(xiàn)有的H.264標(biāo)準(zhǔn)中也使用的幀間預(yù)測、被簡稱為幀內(nèi)預(yù)測的定向幀 內(nèi)預(yù)測(directional intra prediction)、僅可用于多層結(jié)構(gòu)的基層內(nèi)預(yù)測、以及 殘差預(yù)測。在此所使用的術(shù)語"預(yù)測,,是指,使用從編碼器和解碼器共同使 用的信息中取得的預(yù)測數(shù)據(jù),以壓縮的方式描述原始圖像的技術(shù)。圖9是用于解釋幀間預(yù)測、幀內(nèi)預(yù)測和基層內(nèi)預(yù)測的概念的示圖。幀間預(yù)測是一般用于現(xiàn)有的單層視頻編解碼器的方案。參考圖9,幀間 預(yù)測是這樣的方案從參考圖片(picture)中搜索與當(dāng)前圖片的當(dāng)前塊最類 似的塊,以獲得可以最佳描述當(dāng)前塊的預(yù)測塊,然后對預(yù)測塊和當(dāng)前塊之間 的殘差進(jìn)行量化。根據(jù)參考參考圖片的方法而存在三種類型的幀間預(yù)測使 用兩個參考圖片的雙向預(yù)測、使用在前的參考圖片的前向預(yù)測、以及使用在 后的參考圖片的后向預(yù)測。幀內(nèi)預(yù)測是這樣的方案使用當(dāng)前塊的相鄰塊中的當(dāng)前塊的鄰近像素來 預(yù)測當(dāng)前塊。幀內(nèi)預(yù)測與其它預(yù)測方案的不同之處在于Y又使用來自當(dāng)前圖 片的信息,而不參考給定羞的不同圖片或不同層的圖片。當(dāng)當(dāng)前圖片具有位于時間上與下層的宏塊同時的幀的塊中的一個塊時, 使用基層內(nèi)預(yù)測。如圖2中所示,可以根據(jù)與宏塊對應(yīng)的基層圖片的宏塊來 有效地預(yù)測當(dāng)前圖片的宏塊。也就是說,對當(dāng)前圖片的宏塊和基層圖片的宏 塊之間的差進(jìn)行量化。當(dāng)下層的分辨率與當(dāng)前層的分辨率不同時,在獲得宏塊差之前,對基層 圖片的宏塊進(jìn)行上采樣。特別是當(dāng)幀間預(yù)測方案沒有效時,例如當(dāng)圖片圖像 運動得非??旎虼嬖诰哂袌鼍案淖兊膱D片圖像時,使用基層內(nèi)預(yù)測是有效的。最后,盡管在圖9中未示出,但是作為用于單層的現(xiàn)有幀間預(yù)測的擴(kuò)展 的殘差預(yù)測適合用于多層。也就是說,不對在當(dāng)前層的幀間預(yù)測處理期間產(chǎn) 生的差進(jìn)行量化,而是對該差和在下層的幀間預(yù)測處理期間產(chǎn)生的差的相減 結(jié)果進(jìn)行量化。基于從在對與當(dāng)前圖片的宏塊對應(yīng)的增強(qiáng)層的宏塊進(jìn)行編碼中使用的4 種預(yù)測方案中選擇的一個方案,可以將discardable—flag設(shè)置為特定值,該值 可以是預(yù)定的。例如,如果使用幀內(nèi)預(yù)測或幀間預(yù)測對增強(qiáng)層的宏塊進(jìn)行編 碼,則當(dāng)前宏塊僅用于支持可縮放性,而不用于對增強(qiáng)層的宏塊進(jìn)行解碼。 因此,在這種情況下,可以將當(dāng)前宏塊包括在可丟棄NAL單元中。另一方面, 如果使用基層內(nèi)預(yù)測或殘差預(yù)測對增強(qiáng)層的宏塊進(jìn)行編碼,則當(dāng)前宏塊對于 對增強(qiáng)層的宏塊進(jìn)行解碼來說是需要的。因此,在這種情況下,可以將當(dāng)前 宏塊包括在不可丟棄NAL單元中。通過讀取基于SVC標(biāo)準(zhǔn)的intra一base一flag (基層內(nèi)標(biāo)記)和residual_prediction_flag (殘差預(yù)測標(biāo)記),可以知道在對增 強(qiáng)層的宏塊進(jìn)行編碼期間使用了哪種預(yù)測方案。換句話說,如果增強(qiáng)層的宏 塊的intra—base一flag被設(shè)置為1,則可以知道在對增強(qiáng)層的宏塊進(jìn)行編碼時使 用了基層內(nèi)預(yù)測。另一方面,如果residualj3rediction—flag被設(shè)置為1,則可 以知道在對增強(qiáng)層的宏塊進(jìn)行編碼時使用了殘差預(yù)測。使用關(guān)于不同層的宏塊的信息的預(yù)測方案(例如基層內(nèi)預(yù)測或殘差預(yù)測) 被稱為層間預(yù)測。操作S1中,輸入當(dāng)前宏塊的殘差,在操作S2中,視頻編碼器確定對殘差進(jìn) 行編碼是否必要。通常,當(dāng)殘差能量(殘差的絕對值或平方值的和)小于閾 值時,確定對殘差的編碼是不必要的,也就是說,將殘差認(rèn)為是0,并且不 執(zhí)行編碼。所述閾值可以是預(yù)定的。在操作S2中,如果確定對殘差的編碼是不必要的(即操作S2中的"否"), 則在操作S7中將當(dāng)前宏塊的編碼塊模式(Coded Block Pattern, CBP )標(biāo)記 設(shè)置為0。根據(jù)SVC標(biāo)準(zhǔn),在每個宏塊中設(shè)置CBP標(biāo)記,以指示給定的塊是 否已被編碼。視頻解碼器讀取所設(shè)置的CBP標(biāo)記,以確定給定宏塊是否已被 解碼。在操作S2中,如果確定對殘差的編碼是必要的(即操作S2中的"是"), 則在操作S3中,視頻編碼器對當(dāng)前宏塊的殘差進(jìn)行編碼。編碼技術(shù)可以包括 諸如離散余弦變換(DCT)或小波變換的空間變換、或諸如可變長度編碼或 算術(shù)編碼等的其它類似的變換、量化、熵編碼。在操作S4中,視頻編碼器確定與當(dāng)前宏塊對應(yīng)的增強(qiáng)層的宏塊是否已被 層間子貞觀i]?!房谏蠎艚锸?可以、通過讀取intra—base—flag禾口 residual_prediction—flag來獲得關(guān)于與當(dāng)前宏塊對應(yīng)的增強(qiáng)層的宏塊是否已被層間預(yù)測的信息。在操作S4中,如果確定與當(dāng)前宏塊對應(yīng)的增強(qiáng)層的宏塊已被層間預(yù)測(即操作S4中的"是"),則在操作S5中,視頻編碼器將當(dāng)前宏塊的CBP標(biāo) 記設(shè)置為1。在操作S6中,編碼后的當(dāng)前宏塊的殘差被記錄在不可丟棄NAL .單元區(qū)域80上。在操作S4中,如果確定與當(dāng)前宏塊對應(yīng)的增強(qiáng)層的宏塊未被層間預(yù)測 (即操作S4中的"否"),則在操作S8中,視頻編碼器將當(dāng)前宏塊的CBP標(biāo) 記設(shè)置為0,并且將其記錄在不可丟棄NAL單元區(qū)域80上。然后,在操:作 S9中,編碼后的當(dāng)前宏塊的殘差^皮記錄在不可丟棄NAL單元區(qū)域90上,并 且對應(yīng)的CBP標(biāo)記被設(shè)置為1 。圖11示出了具有通過圖10所示流程圖中描述的處理編碼的宏塊(MB。) 的殘差的比特流100的詳細(xì)結(jié)構(gòu)的示例,其中假定每個NAL單元包含5個宏 塊數(shù)據(jù)元素MB, ~MB5。例如,假設(shè)MB!是對殘差的編碼不必要的情況下(即在圖10的操作 S2中是"否")的宏塊數(shù)據(jù),MB2和MBs是對應(yīng)的增強(qiáng)層的宏塊被層間預(yù)測 的情況中(即在圖10的操作S4中是"是")的宏塊,MB3和MB4是對應(yīng)的 增強(qiáng)層的宏塊未被層間預(yù)測的情況中(即在圖10的操作S4中是"否")的宏 塊。將關(guān)于不可丟棄NAL單元區(qū)域的信息信令記錄在NAL單元81的NAL 報頭上,例如,這可以通過在NAL單元81的NAL報頭中將discardable—flag 設(shè)置為O來實現(xiàn)。將MB,的CBP標(biāo)記設(shè)置為0,并且對MB,既不編碼也不記錄。也就是 說,僅將包括關(guān)于的C6P標(biāo)記的信息和運動信息的宏塊報頭記錄在NAL 單元81上。然后,將MB2和MB5記錄在NAL單元81上,并且將它們每個 的CBP標(biāo)記設(shè)置為1。此外,由于MB3和MB4也是要實際記錄的宏塊數(shù)據(jù),所以應(yīng)將它們的 CBP標(biāo)記設(shè)置為1 。然而,為了實現(xiàn)切換后的可縮;故比特流,將MB3和MB4 的CBP標(biāo)記設(shè)置為O,并且不將它們記錄在NAL單元81上。因此,從視頻 解碼器的角度來看,MB3和MB4被當(dāng)作好像是不存在已編碼宏塊的數(shù)據(jù)。然 而,即使在本發(fā)明中,MB3和MB4也不是被絕對丟棄,而是被記錄在NAL 單元91上進(jìn)行存儲。因此,將關(guān)于可丟棄NAL單元區(qū)域的信息信令記錄在NAL單元91的NAL報頭上,例如,這可以通過在NAL單元91的NAL報 頭中將discardable—flag設(shè)置1來實現(xiàn)。NAL單元91至少包括在NAL單元81中包含的宏塊數(shù)據(jù)中的可丟棄數(shù) 據(jù)。也就是說,MB3和MB4被記錄在NAL單元91中。在這種情況下,如果 將MB3和MB4的標(biāo)記被設(shè)置為1則將是有利的。然而,考慮到具有O值的 CBP標(biāo)記的宏塊數(shù)據(jù)不必要記錄在NAL單元91上,所以MB3和MB4的CBP 標(biāo)記為1還是為0沒有差別。圖11中所示的比特流100的特征在于可以將它分離為可丟棄信息和不 可丟棄信息。實現(xiàn)比特流100的該特征可以避免附加開銷。為了在視頻編碼 器中生成的比特流100的傳輸期間保持可縮放性,將在比特流100中包括的 可丟棄信息和不可丟棄信息完整保留。相反,當(dāng)在比特流100的傳輸期間不 必要保持可縮放性時,例如,當(dāng)傳輸路由器位于最后的鏈路時,刪除可丟棄 信息。即使刪除了可丟棄信息,也只是放棄了可縮放性,并且可以毫無困難 地恢復(fù)增強(qiáng)層的宏塊。圖12是示出了由依據(jù)本發(fā)明的示范性實施例的視頻解碼器對圖11中所 示的比特流100執(zhí)行的視頻解碼處理的流程圖。在視頻解碼器接收的比特流 100包括可丟棄信息和不可丟棄信息的情況下,比特流100中包含的層(即 當(dāng)前層)對應(yīng)于最上層,因為當(dāng)視頻解碼器對當(dāng)前層的增強(qiáng)層的比特流進(jìn)行 解碼時,可丟棄的NAL單元區(qū)域應(yīng)當(dāng)已經(jīng)被從當(dāng)前層的比特流中刪除。在操作Sll中,視頻解碼器接收比特流100,然后在操作S21中從比特 流100中讀取在可丟棄NAL單元區(qū)域中包括的當(dāng)前宏塊的CBP標(biāo)記。通過 讀取記錄在NAL單元的NAL報頭上的discardable—flag,可以獲得關(guān)于NAL單元是否可丟棄的信息。如果在操作S22中確定所讀取的CBP標(biāo)記是1 (即操作S22中的"否"), 則在操作S26中視頻編碼器讀取記錄在當(dāng)前宏塊上的數(shù)據(jù),并且在操作S25 中對所讀取的數(shù)據(jù)進(jìn)行解碼,以恢復(fù)與當(dāng)前宏塊對應(yīng)的圖像。如果在操作S22中確定所讀取的CBP標(biāo)記是O,這意味著不存在實際編 碼的數(shù)據(jù)或甚至實際編碼的數(shù)據(jù)被記錄在可丟棄NAL單元區(qū)域中,那么,在 操作S23中,視頻解碼器確定在可丟棄NAL單元區(qū)域中是否存在具有與當(dāng)前 宏塊的標(biāo)識符相同的標(biāo)識符的宏塊。標(biāo)識符表示用于識別宏塊的編號。在圖 11中,盡管記錄在NAL單元81上的MB3 (具有標(biāo)識符3 )的CBP標(biāo)記凈皮設(shè)M&上(具置為0,有標(biāo)識符3 )。因而,如果在操作S23中確定在可丟棄NAL單元區(qū)域中存在具有與當(dāng) 前宏塊的標(biāo)識符相同的標(biāo)識符的宏塊(即操作S23中的"是"),則在操作S24 中,視頻解碼器讀取可丟棄NAL單元區(qū)域中的該宏塊的數(shù)據(jù)。然后,在操作 S25中對所讀取的數(shù)據(jù)進(jìn)行解碼。符的宏塊的情況(即操作S23中的"否")對應(yīng)于在當(dāng)前宏塊中不存在實際編 碼的數(shù)據(jù)的情況。當(dāng)視頻編碼器實際編碼當(dāng)前塊的宏塊時,很難知道在預(yù)測與當(dāng)前塊的宏 塊對應(yīng)的增強(qiáng)層的宏塊時是否使用當(dāng)前塊的宏塊。因此,修改現(xiàn)有的視頻編 碼方案是有利的。存在兩種可能的方法來解決現(xiàn)有視頻編碼方案的問題。方法1:》,改編碼處理方法1是在一定程度上修改編碼處理。圖13是通過示例的方式示出由三 層組成的視頻序列的示圖。在當(dāng)前層的增強(qiáng)層通過了預(yù)測處理(幀間預(yù)測、 幀內(nèi)預(yù)測、基層內(nèi)預(yù)測或殘差預(yù)測)之前,不能對當(dāng)前層進(jìn)行編碼。參考圖13,視頻編碼器通過預(yù)測處理(幀間預(yù)測或幀內(nèi)預(yù)測)獲得層0 的宏塊121的殘差,并且量化/反向量化所獲得的殘差。該預(yù)測處理可以是預(yù) 先確定的。然后,視頻編碼器通過預(yù)測處理(幀間預(yù)測、幀內(nèi)預(yù)測、基層內(nèi) 預(yù)測或殘差預(yù)測)獲得層1的宏塊122的殘差,并且量化/反向量化所獲得的 殘差。該預(yù)測處理可以是預(yù)先確定的。之后,對層0的宏塊121進(jìn)行編碼。 以這樣的方式,在對層0的宏塊121進(jìn)行編碼之前,層1的宏塊122已經(jīng)過 了預(yù)測處理。因而,可以獲得關(guān)于在預(yù)測處理中是否已使用了層O的宏塊121 的信息。因此,可以確定將層0的宏塊121記錄為可丟棄信息還是不可丟棄 信息。同樣地,視頻編碼器通過預(yù)測處理(幀間預(yù)測、幀內(nèi)預(yù)測、基層內(nèi)預(yù)測 或殘差預(yù)測)獲得層2的宏塊123的殘差(該預(yù)測處理可以是預(yù)先確定的), 并且量化/反向量化所獲得的殘差。此后,對層1的宏塊122進(jìn)行編碼。最后, 對層2的宏塊123進(jìn)行編碼。方法2:利用殘差能量方法2是計算當(dāng)前宏塊的殘差能量,并且將其與閾值進(jìn)行比較。所述闊值可以是預(yù)先確定的。宏塊的殘差能量可以被計算為宏塊內(nèi)的系數(shù)的絕對值 或平方值的和。殘差能量越大,要編碼的lt據(jù)越多。如果當(dāng)前宏塊的殘差能量小于閾值,則限制與當(dāng)前宏塊對應(yīng)的增強(qiáng)層的 宏塊,以便不采用層間預(yù)測方案。在這種情況下,將當(dāng)前宏塊的殘差編碼到可丟棄NAL單元中。相反,如果當(dāng)前宏塊的殘差能量大于閾值,則將當(dāng)前宏 塊的殘差編碼到不可丟棄NAL單元中。與方法l相比,方法2的缺點在于可能導(dǎo)致PSNR略纟鼓下降。 如在本發(fā)明中所提出的,丟棄幾個殘差可以使得在視頻解碼器部分的計 算復(fù)雜度降低。這是因為可以對其殘差被丟棄的所有宏塊跳過解析和反向變 換。存在另一種無需對宏塊中的附加標(biāo)記進(jìn)行編碼而降低計算復(fù)雜度的方法。 也就是說,為了指示在增強(qiáng)層的殘差預(yù)測處理中不使用的宏塊,視頻編碼器 向視頻解碼器發(fā)送補(bǔ)充增強(qiáng)信息(SEI)。 SEI不包括在視頻比特流中,而是 依據(jù)SVC標(biāo)準(zhǔn)包括在數(shù)據(jù)中作為與視頻比特流一起發(fā)送的附加數(shù)據(jù)或元數(shù) 據(jù)。在當(dāng)前的svc標(biāo)準(zhǔn)下,在對當(dāng)前層進(jìn)行估計時未考慮基層信息的率失真 (rate-distortion, RD)成本,這是因為基層信息是不可丟棄信息,并且認(rèn)為 它在任何情況下都存在。然而,在關(guān)于當(dāng)前層(基于增強(qiáng)層的基層)的殘差信息是可丟棄的情況 下,與本發(fā)明類似,有必要在執(zhí)行增強(qiáng)層中的殘差預(yù)測時考慮用于對當(dāng)前層 的殘差進(jìn)行編碼的RD成本。這通過在執(zhí)行RD估計的同時將當(dāng)前宏塊的比 特加到基層的殘差比特來完成。RD估計可以使得在丟棄基層的殘差之后當(dāng)前 層中的RD性能更高。通過擴(kuò)展本發(fā)明的概念,可以實現(xiàn)使用多層率失真(MLRD)的精細(xì)可 縮放性(FGS)層的死子流(dead substream )優(yōu)化。死子流是對增強(qiáng)層進(jìn)行 解碼所必要的子流。在SVC標(biāo)準(zhǔn)中,也將死子流稱為非必要圖片或可丟棄子 流,并且可以用NAL報頭中的discardable_flag來識別它??蛇x地,間接確定 子流是否是死子流的方法是檢查所有增強(qiáng)層中的每一個的base_id_plusl的 值,并且確定該basejd_plusl的值是否參考所述子流。圖14是示出不能對其應(yīng)用多適配的FGS視頻中的死子流的示例的示圖。 參考圖14, FGS層0對于層1和層0的解碼是必要的。這里,CGS層是FGS 實現(xiàn)所需要的J^出質(zhì)量層,并且其也被稱為離散層(discrete layer )。圖15是示出可以對其應(yīng)用多適配的FGS視頻中的比特流的示例的示圖。 參考圖15,由于FGS層不用于幀間預(yù)測,所以當(dāng)僅對層1進(jìn)行解碼時其可以 被丟棄。簡單而言,在應(yīng)用于層1的比特流中可以丟棄FGS層O。然而,當(dāng) 客戶端需要對層0和層1 二者進(jìn)行解碼時,F(xiàn)GS層0不可被丟棄。當(dāng)多適配是有必要的時,這允許實現(xiàn)碼率和失真之間的最佳折衷。 為了實現(xiàn)要預(yù)測的層的RD優(yōu)化,可以使用在MLRD中采用的原理。 步驟l:層間預(yù)測的使用從基礎(chǔ)質(zhì)量級別(CGS層0)開始。計算CGS 層0中的幀的RD成本。FrameRdO = FrameDistortion + Lambda* FrameB its步驟2:層間預(yù)測的使用從質(zhì)量級別1 ( CGS層0 )開始。計算CGS層0中的幀的RD成本。FrameRdl = FrameDistortion + Lambda* ( FrameB its + FGSLayerOBits ) 注意,為了實現(xiàn)多適配,本發(fā)明的概念對從FGS層的層間預(yù)測造成了損失(penalty )。步驟3:計算RD成本,以選擇最佳成本。如果FrameRDl比FrameRDO 小,則可以將幀應(yīng)用于多適配(在所示出的示例中,是適配到層l),以侵_僅 降低層1的比特流的比特率。也可以從時間級別觀點來擴(kuò)展死子流和多RD成本的概念。圖16是示出 了使用時間級別的多適配的示例的示圖,示出了在SVC標(biāo)準(zhǔn)下的分層的B結(jié) 構(gòu)和層間預(yù)測的概念。配的示例的圖17,層間預(yù)測不是從最高時間級別(即層0)使用。這意味著 最高時間級別(即層0)僅僅對于層1的比特流是不需要的,其被應(yīng)用于適 配以僅僅對層1進(jìn)行解碼,并且然后可被丟棄。可以通過多RD估計來完成 對于是否使用層間預(yù)測的確定。圖18是示出了在CGS層之間的時間預(yù)測的示例的示圖。圖18中所示的 比特流可以在層0中被解碼,這是因為在層0的時間預(yù)測中不使用FGS層0。 也就是說,應(yīng)用于適配以對層1進(jìn)行解碼的比特流仍然可以在層0中凈皮解碼, 然而,這并非在所有情況下都是正確的。在圖19中所示的情況下,它可能就 不是正確的。層0使用用于時間預(yù)測的閉環(huán)預(yù)測方案。這意味著對FGS層0的截取或丟棄導(dǎo)致對層0進(jìn)行解碼時的漂移(drift) /失真。在這樣的情況下,如果通 過將幀1的FGS層0丟棄而將比特流應(yīng)用于適配為對層1進(jìn)行解碼,則當(dāng)使 用該比特流來對層0進(jìn)行解碼時可能導(dǎo)致諸如漂移誤差或PSNR下降的問題。 通常,客戶端將不基于層1所采用的比特流對層O進(jìn)行解碼。然而,如 果沒有展現(xiàn)出層1采用了該比特流,則可能基于層1所采用的比特流而對層 0解碼。因此,本發(fā)明另外提出使用下述信息作為補(bǔ)充增強(qiáng)信息(SEI)消息 的單獨部分。scalability一iafo( payloadSize)〖mn旭pfe—adaptation—Mo_flag[iif (multiple—ad邵tation一info—flag[ i ]) { can—dec(^ic一laycr[fl if(can一decode—layer"]){ }"can—decode一layer[i]"標(biāo)記指示給定的層是否可以;陂解碼。如果給定的層可以被解碼,則可以發(fā)送關(guān)于可能發(fā)生的漂移的信息。在SVC標(biāo)準(zhǔn)中,使用關(guān)于質(zhì)量層信息的SEI消息來指示FGS層的RD性能。RD性能顯示訪問單元的FGS層對截取或丟棄處理的敏感程度。例如,在分層的B ( hierarchical-B )結(jié)構(gòu)中,I和P圖片對于截取或丟棄處理是相當(dāng)敏感的。然而,在較高的時間級別中,圖片對于截取或丟棄處理將不敏感。因而,提取器可以使用作為SEI消息的單獨部分提出的上述信息來在各種訪問單元中最優(yōu)地截取FGS層。本發(fā)明提出了具有下述格式的關(guān)于質(zhì)量層信息的SEI消息quality—layers—info( payloadSize ) {dependencyjdiram:一qnalityjayersfor( i = 0; i <: n鵬—qualityjayers; i++ ) { qualilyjayer[ i〗delta quality layer byte o泡et[ i將當(dāng)前質(zhì)量層的消息定義為當(dāng)前層的質(zhì)量/碼率性能,即當(dāng)當(dāng)前層的FGS層被丟棄時的質(zhì)量/碼率性能。然而,如前所述,在多適配的情況下,基層的FGS層可被丟棄。因而,可以在層之間傳輸下面的層間質(zhì)量層SEI消息。對于時間預(yù)測來說,由于FGS層的截取而發(fā)生的漂移誤差取決于層間預(yù)測性能。 inteflayeiuquaHty—Jayers—Jnfo( payoadSize ) { dependencyJd base—dependency—id nam—quaHtyJayersfor( i = 0; i < mim_qualily—layers; i++ ) {interiayer—qualily一layer[ *〗豕nteriayer一delta—qualityjayeirjbyte—offset[ i〗)當(dāng)有必要對比特流進(jìn)行截取時,比特流提取器可以依賴于 quality—layers—info和interlayer—quality—layers—info SEI消息來確定是否要截取 當(dāng)前層的FGS層或基層的FGS層。圖20是示出了依據(jù)本發(fā)明的示范性實施例的視頻編碼器300的框圖。分別將層0的宏塊MBo輸入到預(yù)測器110,并將時間上和空間上與層0 的宏塊MBo對應(yīng)的層1的宏塊MB,輸入到預(yù)測器210。預(yù)測器110使用幀間預(yù)測或幀內(nèi)預(yù)測獲得預(yù)測塊,并且從MB。中減去所 獲得的預(yù)測塊,以獲得殘差RO。幀間預(yù)測包括獲得運動向量和宏塊模式的運 動估計處理以及用于對運動向量所參考的幀進(jìn)行運動補(bǔ)償?shù)倪\動補(bǔ)償處理。編碼確定器120確定是否有必要對所獲得的殘差R0進(jìn)行編碼。也就是 說,當(dāng)殘差RO的能量小于閾值時,確定將落入殘差RO的范圍內(nèi)的值都認(rèn)為 是0,并且編碼確定器120向編碼單元130通知確定結(jié)果。所述閾值可以是 預(yù)先確定的。編碼單元130對殘差R0執(zhí)行編碼。為此,編碼單元130可以包括空間 變換器131、量化器132和熵編碼單元133??臻g變換器131對殘差R0執(zhí)行空間變換,以生成變換系數(shù)??梢允褂?離散余弦變換(DCT)或小波變換技術(shù)或其它這樣的技術(shù)來進(jìn)行空間變換。 當(dāng)使用DCT來進(jìn)行空間變換時生成DCT系數(shù),而當(dāng)使用小波變換時生成小 波系數(shù)。量化器132對變換系數(shù)執(zhí)行量化。這里,量化是將以任意實數(shù)表示的變 換系數(shù)表示為離散值的方法。例如,量化器132通過用預(yù)定量化步長來除以 變換系數(shù)并且將結(jié)果取整為整數(shù)值來執(zhí)行量化。熵編碼單元133無損地對從量化器132提供的量化結(jié)果進(jìn)行編碼。諸如 霍夫曼編碼、算術(shù)編碼以及可變長度編碼的各種編碼方案或其它類似方案都 可以用來進(jìn)行無損編碼。為了使得從量化器132提供的量化結(jié)果可以用于層1的預(yù)測器210中的 層間預(yù)測,對量化結(jié)果施行由反向量化器134執(zhí)行的反向量化處理和由反向 空間變換器135執(zhí)行的反向變換處理。由于存在與MB!對應(yīng)的層0的宏塊MBo,所以預(yù)測器210可以使用層間 預(yù)測(例如基層內(nèi)預(yù)測或殘差預(yù)測)以及幀間預(yù)測或幀內(nèi)預(yù)測。預(yù)測器210 在各種預(yù)測方案中選擇提供最小RD成本的預(yù)測方案,使用所選擇的預(yù)測方 案獲得MB!的預(yù)測塊,從MB,中減去預(yù)測塊來獲得殘差R1。這里,如果預(yù) 測器210使用層間預(yù)測,則將intra—base_flag設(shè)置為1 (如果不是,則將 intm—base_flag設(shè)置為0)。如果預(yù)測器210 4吏用殘差預(yù)測,則將 residual_prediction—flag ^殳置為1 (如果不是,則將residual_prediction—flag i殳 置為0)。與層0類似,編碼單元230對殘差Rl進(jìn)行編碼。為此,編碼單元230 可以包括空間變換器231、量化器232和熵編碼單元233。此外,根據(jù)本發(fā)明的示范性實施例,比特流生成器140生成切換后的可 縮放比特流。為此,如果編碼確定器120確定不必對當(dāng)前宏塊的殘差R0進(jìn)行 編碼,則比特流生成器140將CBP標(biāo)記設(shè)置為0,同時^^人當(dāng)前宏塊的比特流 中排除殘差RO。同時,如果殘差R0在編碼單元230中實際進(jìn)^^了編碼,并 且隨后被提供給比特流生成器140,則比特流生成器140確定MB,是否已由 預(yù)測器210進(jìn)行了層間預(yù)測(使用基層內(nèi)預(yù)測或殘差預(yù)測),這可以通過讀取,人預(yù)測器210 4是供的residual_prediction—flag或intra—base—flag來實現(xiàn)。作為確定結(jié)果,如果MB,已被層間預(yù)測,則比特流生成器140將所編碼 的宏塊的數(shù)據(jù)記錄在不可丟棄單元區(qū)域上。如果MB,未被層間預(yù)測,則比特 流生成器140將所編碼的宏塊的數(shù)據(jù)記錄在可丟棄單元區(qū)域上,并且將其 CBP標(biāo)記設(shè)置為O,然后記錄在不可丟棄NAL單元區(qū)域上。在不可丟棄單元 區(qū)域(圖11的80)中,將discardable_flag設(shè)置為0。在可丟棄NAL單元區(qū)域(圖 11的90)中,將discardable—flag設(shè)置為1。以此方式,比特流生成器140生成 層O的比特流,如圖ll所示,并且根據(jù)從編碼單元230提供的編碼數(shù)據(jù)生成 層1的比特流。所生成的層1和層2的比特流被組合,然后被作為單個比特 流輸出。圖21是示出了根據(jù)本發(fā)明的示范性實施例的視頻解碼器400的框圖。參 考圖21,與圖ll類似,輸入比特流包括可丟棄信息和不可丟棄信息。比特流解析器410從指示是否是可丟棄的discardable—flag來讀取在不可 丟棄信息中包含的當(dāng)前宏塊的CBP標(biāo)記。如果所讀取的CBP標(biāo)記是1 ,則比 特流解析器410讀取記錄在當(dāng)前宏塊上的數(shù)據(jù),并且將所讀取的數(shù)據(jù)提供給 解碼單元420。如果在可丟棄NAL單元中不存在具有與當(dāng)前宏塊的標(biāo)識符相同的標(biāo)識 符的宏塊,則通知反向預(yù)測器424當(dāng)前宏塊不可用,即所讀取的數(shù)據(jù)都是O。解碼單元420對從比特流解析器410提供的宏塊數(shù)據(jù)進(jìn)行解碼,以恢復(fù) 預(yù)定層的宏塊的圖像。為此,解碼單元420可以包括熵解碼器421、反向量 化器422、反向空間變換器423以及反向預(yù)測器424。熵解碼器421對比特流執(zhí)行無損解碼。無損解碼是在視頻編碼器300中 執(zhí)行的無損編碼的反向操作。反向量化器422對從熵解碼器421接收的數(shù)據(jù)執(zhí)行反向量化。反向量化 是量化的反向操作,以使用與已在視頻編碼器300中執(zhí)行量化時相同的量化 表來恢復(fù)與索引匹配的值。反向空間變換器423執(zhí)行反向空間變換,以根據(jù)反向量化之后獲得的系 數(shù)為每個運動塊重建殘差圖像。反向空間變換是由視頻編碼器300執(zhí)行的反 向空間變換操作。反向空間變換可以是逆DCT變換、逆小波變換等。作為反 向空間變換的結(jié)果,殘差RO被恢復(fù)。也就是說,反向預(yù)測器424以與在視頻編碼器300的預(yù)測器110中相應(yīng)的方式來反向恢復(fù)殘差RO。與在預(yù)測器110中執(zhí)行的預(yù)測類似,通過將殘差R0加到預(yù)測塊來執(zhí)行反向預(yù)測。可以以軟件、硬件或軟件與硬件的組合來實現(xiàn)在圖20和圖21中所述的 各個組件所述軟件例如包括任務(wù)、類、過程、對象、執(zhí)行線程或程序代碼, 所述軟件被配置為存在于存儲器的預(yù)定區(qū)域;所述硬件執(zhí)行某些任務(wù),諸如 現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)。組件可以被存儲在計 算機(jī)可讀存儲介質(zhì)上,或可以被實現(xiàn)為使得它們運行一個或多個計算機(jī)。工業(yè)實用性如上所述,根據(jù)本發(fā)明概念,可以提高基于多層的視頻的編碼性能。 此外,當(dāng)不必支持可縮放比特流的可縮放性時,本發(fā)明可以降低可縮放 比特流的額外開銷。盡管已參考其示范性實施例具體示出和描述了本發(fā)明概念,但是本領(lǐng)域 普通技術(shù)人員應(yīng)當(dāng)明白,在不背離由權(quán)利要求書所限定的本發(fā)明的精神和范 圍的情況下,可以在其中做出各種形式上和細(xì)節(jié)上的改變。因而,應(yīng)當(dāng)理解, 提供上述示范性實施例僅僅是描述性的,并且不應(yīng)認(rèn)為是對本發(fā)明的范圍進(jìn) 行任何限制。
權(quán)利要求
1.一種用于對具有多個層的視頻序列進(jìn)行編碼的視頻編碼方法,該方法包括對存在于所述多個層中的第一層內(nèi)的第一塊的殘差進(jìn)行編碼;如果利用該第一塊對第二塊進(jìn)行編碼,則將所編碼的第一塊的殘差記錄在比特流的不可丟棄區(qū)域中,所述第二塊存在于所述多個層中的第二層內(nèi)并且與所述第一塊對應(yīng);以及如果不利用所述第一塊而對第二塊進(jìn)行編碼,則將所編碼的第一塊的殘差記錄在所述比特流的可丟棄區(qū)域中。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述第一塊和所述第二塊是宏塊。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述不可丟棄區(qū)域包括 discardable—flag被設(shè)置為0的多個網(wǎng)絡(luò)抽象層(NAL )單元,并且所述可丟 棄區(qū)域包括discardable—flag被設(shè)置為1的多個NAL單元。
4. 根據(jù)權(quán)利要求1所述的方法,其中,所述對殘差的編碼包括執(zhí)行空間 變換、量化和熵編碼。
5. 根據(jù)權(quán)利要求1所述的方法,其中,將所編碼的第一塊的殘差記錄在 所述不可丟棄區(qū)域上的步驟包括將關(guān)于所記錄的第一塊的殘差的編碼塊模 式(CBP)標(biāo)記設(shè)置為1。
6. 根據(jù)權(quán)利要求1所述的方法,其中,將所編碼的第一塊的殘差記錄在 所述可丟棄區(qū)域上的步驟包括將關(guān)于所記錄的第二塊的殘差的編碼塊模式(CBP)標(biāo)記設(shè)置為0,并且將該CBP標(biāo)記記錄在所述不可丟棄區(qū)i或上。
7. 根據(jù)權(quán)利要求1所述的方法,其中,如果利用所述第一塊對第二塊進(jìn) 行編碼,則所述第二塊被層間預(yù)測。
8. 根據(jù)權(quán)利要求l所述的方法,其中,如果不使用所述第一塊而對第二 塊進(jìn)行編碼,則所述第二塊被幀間預(yù)測或幀內(nèi)預(yù)測。
9. 根據(jù)權(quán)利要求1所述的方法,其中,通過補(bǔ)充增強(qiáng)信息(SEI)消息 來表示所述不可丟棄區(qū)域和可丟棄區(qū)域。
10. —種用于對包括具有不可丟棄區(qū)域和可丟棄區(qū)域的至少一層的視頻 比特流進(jìn)行解碼的視頻解碼方法,該方法包括從所述不可丟棄區(qū)域讀取第一塊;如果所述第 一塊的數(shù)據(jù)存在,則對所迷第 一塊的數(shù)據(jù)進(jìn)行解碼;如果所述第一塊的數(shù)據(jù)不存在,則從所述可丟棄區(qū)域讀取具有與所述第一塊相同的標(biāo)識符的第二塊的數(shù)據(jù);以及 對所讀取的所述第二塊的數(shù)據(jù)進(jìn)行解碼。
11. 根據(jù)權(quán)利要求IO所述的方法,其中,通過所迷第一塊的編碼塊模式 (CBP)來確定所述第一塊的數(shù)據(jù)的存在。
12. 根據(jù)權(quán)利要求IO所述的方法,其中,所述第一塊和第二塊是宏塊。
13. 根據(jù)權(quán)利要求12所述的方法,其中,所述標(biāo)識符是用于識別宏塊的 編號。
14. 根據(jù)權(quán)利要求IO所述的方法,其中,如果所述第一塊的數(shù)據(jù)存在, 則將記錄在所述不可丟棄區(qū)域上的所述第一塊的編碼塊模式(CBP)標(biāo)記設(shè) 置為1,并且如果所述第一塊的數(shù)據(jù)不存在,則將記錄在所述不可丟棄區(qū)域 上的所述第一塊的CBP標(biāo)記設(shè)置為0。
15. 根據(jù)權(quán)利要求IO所述的方法,其中,所述至少一層包括多個層中的 最上層。
16. 根據(jù)權(quán)利要求10所述的方法,其中所述不可丟棄區(qū)域包括 discardable—flag被設(shè)置為0的多個網(wǎng)絡(luò)抽象層(NAL)單元,并且所述可丟 棄區(qū)域包括discardable—flag被設(shè)置為1的多個NAL單元。
17. 根據(jù)權(quán)利要求IO所述的方法,其中,通過補(bǔ)充增強(qiáng)信息(SEI)消 息來表示所述不可丟棄區(qū)域和可丟棄區(qū)域。
18. 根據(jù)權(quán)利要求17所述的方法,其中,所述SEI消息是由視頻編碼器 生成的。
19. 根據(jù)權(quán)利要求IO所述的方法,其中,所述對第一塊數(shù)據(jù)進(jìn)行解碼和 對第二塊數(shù)據(jù)進(jìn)行解碼的每個包括執(zhí)行空間變換、量化和熵編碼。
20. —種用于對具有多個層的視頻序列進(jìn)行編碼的視頻編碼器,該視頻 編碼器包括編碼單元,其對存在于所述多個層中的第 一層內(nèi)的第 一塊的殘差進(jìn)行編碼;記錄單元,如果利用所述第一塊對第二塊進(jìn)^"編碼,則該記錄單元將所 編碼的所述第一塊的殘差記錄在比特流的不可丟棄區(qū)域中,所述第二塊存在 于所述多個層中的第二層內(nèi)并且與所述第一塊對應(yīng);以及記錄單元,如果不利用所述第一塊而對第二塊進(jìn)行編碼,則該記錄單元 將所編碼的所述第一塊的殘差記錄在所述比特流的可丟棄區(qū)域。比特流進(jìn)行解碼的視頻解碼器,該視頻解碼器包括 讀取單元,其從所述不可丟棄區(qū)域讀取第一塊;解碼單元,如果所述第一塊的數(shù)據(jù)存在,則其對所述第一塊的凄t據(jù)進(jìn)行 解碼;讀取單元,如果所述第一塊的數(shù)據(jù)不存在,則其從所述可丟棄區(qū)域讀取 具有與所述第一塊的標(biāo)識符相同的標(biāo)識符的第二塊的數(shù)據(jù);以及 解碼單元,其對所述第二塊的讀取數(shù)據(jù)進(jìn)行解碼。
全文摘要
提供了一種基于多個層的可縮放視頻編碼方法和裝置。該用于對具有多個層的視頻序列進(jìn)行編碼的視頻編碼方法包括對存在于所述多個層中的第一層內(nèi)的第一塊的殘差進(jìn)行編碼;如果利用該第一塊對第二塊進(jìn)行編碼,則將所編碼的第一塊的殘差記錄在比特流的不可丟棄區(qū)域中,所述第二塊存在于所述多個層中的第二層內(nèi)并且與所述第一塊對應(yīng);以及如果不利用所述第一塊而對第二塊進(jìn)行編碼,則將所編碼的第一塊的殘差記錄在所述比特流的可丟棄區(qū)域中。
文檔編號H04N7/24GK101336549SQ200680051886
公開日2008年12月31日 申請日期2006年10月26日 優(yōu)先權(quán)日2005年11月29日
發(fā)明者李教爀, 韓宇鎮(zhèn), 馬努·馬修 申請人:三星電子株式會社