專利名稱:針對cabac/cavlc熵編碼的統(tǒng)一二值化的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及數(shù)字視頻處理;以及更具體地,本發(fā)明涉及根據(jù)這種數(shù)字視頻處理的發(fā)信。
背景技術(shù):
進行操作從而通信數(shù)字媒體(例如,圖像、視頻、數(shù)據(jù)等)的通信系統(tǒng)已經(jīng)連續(xù)發(fā)展多年。針對采用某種形式的視頻數(shù)據(jù)的通信系統(tǒng)而言,以某個幀速率(例如,每秒幀數(shù))輸出或者顯示許多數(shù)字圖像,以實現(xiàn)適合于輸出和消費的視頻信號。在使用視頻數(shù)據(jù)進行操作的許多這種通信系統(tǒng)內(nèi),呑吐量(例如,可從第一位置傳輸?shù)降诙恢玫膱D像幀數(shù))與最終要被輸出或者顯示的信號的視頻和/或圖像質(zhì)量之間可能存在權(quán)衡?,F(xiàn)有技術(shù)未充分或者合意地提供ー種手段,通過該手段能夠依照在充分或者可接受的視頻和/或圖像質(zhì)量條件下將視頻數(shù)據(jù)從第一位置傳輸?shù)降诙恢?,確保與通信相關(guān)聯(lián)的相對低的開銷量、在通信鏈路各端的通信裝置的相對低復(fù)雜性等。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的ー個方面,提供了一種設(shè)備,包括輸入端,接收多個語法元素;熵編碼器,操作地根據(jù)多個復(fù)雜性運算模式自適應(yīng)執(zhí)行熵編碼,所述熵編碼器包括可變長度ニ值化模塊,處理所述多個語法元素以產(chǎn)生多個上下文自適應(yīng)ニ進制算術(shù)編碼CABAC倉或者多個上下文自適應(yīng)可變長度編碼CAVLC比特;以及算術(shù)編碼模塊,處理所述多個CABAC倉以產(chǎn)生多個CABAC比特;以及至少ー個輸出端,當(dāng)所述熵編碼器根據(jù)所述多個復(fù)雜性運算模式中的第一復(fù)雜性運算模式操作時輸出所述CABAC比持,以及當(dāng)所述熵編碼器根據(jù)所述多個復(fù)雜性運算模式中的第二復(fù)雜性運算模式操作時輸出所述CAVLC比持。優(yōu)選地,其中,多個CABAC倉為所述多個CAVLC比特。優(yōu)選地,其中,熵編碼器在第一時間處或者在第一時間期間根據(jù)所述多個復(fù)雜性運算模式中的所述第一復(fù)雜性運算模式執(zhí)行熵編碼;以及熵編碼器在第二時間處或者在第ニ時間期間根據(jù)所述多個復(fù)雜性運算模式中的所述第二復(fù)雜性運算模式執(zhí)行熵編碼;并且多個復(fù)雜性運算模式中的所述第二復(fù)雜性運算模式與所述多個復(fù)雜性運算模式中的第一復(fù)雜性運算模式相比不復(fù)雜。優(yōu)選地,其中,所述設(shè)備為第一通信裝置;并且還包括第二通信裝置,經(jīng)由至少ー個通信信道與所述第一通信裝置進行通信,所述第二通信裝置包括至少ー個附加輸入端,接收所述多個CABAC比特或者所述多個CAVLC比特;以及熵解碼器,包括算木解碼?!缞A,處理所述多個CABAC比特以產(chǎn)生多個CABAC倉;以及可變長度倉解碼模塊,處理所述多個CAVLC比特或者所述多個CABAC倉以產(chǎn)生所述多個語法元素的多個估計;以及其中所述第二通信裝置為計算機、膝上型計算機、高清晰度(HD)電視機、標(biāo)準(zhǔn)清晰度(SD)電視機、手持式媒體単元、機頂盒(STB)和數(shù)字視頻光盤(DVD)播放器中的至少ー個。優(yōu)選地,其中,設(shè)備是在衛(wèi)星通信系統(tǒng)、無線通信系統(tǒng)、有線通信系統(tǒng)、光纖通信系統(tǒng)和移動通信系統(tǒng)的至少ー個中操作的通信裝置。 根據(jù)本發(fā)明的另一方面,提供了一種設(shè)備,包括輸入端,接收多個語法元素;熵編碼器,包括可變長度ニ值化模塊,處理所述多個語法元素以產(chǎn)生多個上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)倉或者多個上下文自適應(yīng)可變長度編碼(CAVLC)比特;和算術(shù)編碼模塊,處理所述多個CABAC倉以產(chǎn)生多個CABAC比特;以及至少ー個輸出端,選擇性輸出所述多個CABAC比特或者所述多個CAVLC比特。優(yōu)選地,其中,多個CABAC倉為所述多個CAVLC比特。優(yōu)選地,其中,熵編碼器操作地根據(jù)多個復(fù)雜性運算模式自適應(yīng)執(zhí)行熵編碼。優(yōu)選地,其中,熵編碼器在第一時間處或者在第一時間期間根據(jù)第一復(fù)雜性運算模式執(zhí)行熵編碼;以及熵編碼器在第二時間處或者在第二時間期間根據(jù)第二復(fù)雜性運算模式執(zhí)行熵編碼。優(yōu)選地,其中,當(dāng)所述熵編碼器根據(jù)第一復(fù)雜性運算模式操作時,所述至少ー個輸出端輸出所述CABAC比持;以及當(dāng)所述熵編碼器根據(jù)與所述第一復(fù)雜性運算模式相比不復(fù)雜的第二復(fù)雜性運算模式操作時,所述至少ー個輸出端輸出所述CAVLC比持。優(yōu)選地,所述設(shè)備還包括至少ー個附加輸入端,接收所述多個CABAC比特或者所述多個CAVLC比持;以及熵解碼器,包括算木解碼模塊,處理所述多個CABAC比特以產(chǎn)生多個CABAC倉;以及可變長度倉解碼模塊,處理所述多個CAVLC比特或者所述多個CABAC倉以產(chǎn)生所述多個語法元素的多個估計。優(yōu)選地,其中,所述設(shè)備為第一通信裝置;并且還包括第二通信裝置,經(jīng)由至少ー個通信信道與所述第一通信裝置進行通信,所述第二通信裝置包括至少ー個附加輸入端,接收所述多個CABAC比特或者所述多個CAVLC比特;以及熵解碼器,包括算木解碼?!缞A,處理所述多個CABAC比特以產(chǎn)生多個CABAC倉;以及可變長度倉解碼模塊,處理所述多個CAVLC比特或者所述多個CABAC倉以產(chǎn)生所述多個語法元素的多個估計;以及其中所述第二通信裝置為計算機、膝上型計算機、高清晰度(HD)電視機、標(biāo)準(zhǔn)清晰度(SD)電視機、手持式媒體単元、機頂盒(STB)和數(shù)字視頻光盤(DVD)播放器中的至少ー個。優(yōu)選地,其中,所述設(shè)備是在衛(wèi)星通信系統(tǒng)、無線通信系統(tǒng)、有線通信系統(tǒng)、光纖通信系統(tǒng)和移動通信系統(tǒng)的至少ー個中操作的通信裝置。根據(jù)本發(fā)明的又一方面,提供了一種用于操作通信裝置的熵編碼器的方法,所述方法包括接收多個語法元素;操作所述熵編碼器的可變長度ニ值化模塊,從而處理所述多個語法元素,以產(chǎn)生多個上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)倉或者多個上下文自適應(yīng)可變長度編碼(CAVLC)比特;和操作所述熵編碼器的算術(shù)編碼模塊從而處理所述多個CABAC倉,以產(chǎn)生多個CABAC比特;以及選擇性輸出所述多個CABAC比特或者所述多個CAVLC比特。優(yōu)選地,其中,所述多個CABAC倉為所述多個CAVLC比特。優(yōu)選地,其中,所述熵編碼器操作地根據(jù)多個復(fù)雜性運算模式自適應(yīng)執(zhí)行熵編碼。
所述方法還包括操作所述熵編碼器從而在第一時間處或者在第一時間期間根據(jù)第一復(fù)雜性運算模式執(zhí)行熵編碼;以及操作所述熵編碼器從而在第二時間處或者在第二時間期間根據(jù)第二復(fù)雜性運算模式執(zhí)行熵編碼。所述方法還包括當(dāng)所述熵編碼器根據(jù)第一復(fù)雜性運算模式操作時,輸出所述CABAC比持;以及當(dāng)所述熵編碼器根據(jù)與所述第一復(fù)雜性運算模式相比不復(fù)雜的第二復(fù)雜性運算模式操作時,輸出所述CAVLC比特。所述方法還包括操作附加通信裝置,經(jīng)由至少ー個通信信道通過以下步驟與所述通信裝置進行通信接收所述多個CABAC比特或者所述多個CAVLC比特;操作算木解碼模塊來處理所述多個CABAC比特,以產(chǎn)生多個CABAC倉;操作可變長度倉解碼模塊來處理所述多個CAVLC比特或者所述多個CABAC倉,以產(chǎn)生所述多個語法元素的多個估計,其中,所述附加通信裝置為計算機、膝上型計算機、高清晰度(HD)電視機、標(biāo)準(zhǔn)清晰度(SD)電視機、手持式媒體単元、機頂盒(STB)和數(shù)字視頻光盤(DVD)播放器中至少ー個。優(yōu)選地,其中所述通信裝置在衛(wèi)星通信系統(tǒng)、無線通信系統(tǒng)、有線通信系統(tǒng)、光纖通信系統(tǒng)和移動通信系統(tǒng)中的至少ー個中操作。
圖I和圖2示出了通信系統(tǒng)的多種實施方式。圖3A示出了計算機的實施方式。圖3B示出了膝上型計算機的實施方式。圖3C示出了高清晰度(HD)電視機的實施方式。圖3D示出了標(biāo)準(zhǔn)清晰度(SD)電視機的實施方式。圖3E示出了手持式媒體單元的實施方式。圖3F示出了機頂盒(STB)的實施方式。圖3G示出了數(shù)字視頻光盤(DVD)播放器的實施方式。圖3H示出了通用數(shù)字圖像和/或視頻處理裝置的實施方式。圖4、圖5和圖6為示出了視頻編碼架構(gòu)的多種實施方式的圖示。圖7為示出了幀內(nèi)預(yù)測處理的實施方式的圖示。圖8為示出了幀間預(yù)測處理的實施方式的圖示。圖9和圖10為示出了視頻解碼架構(gòu)的多種實施方式的圖示。圖11示出了表的實施方式,該表顯示了針對上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)和上下文自適應(yīng)可變長度編碼(CAVLC)熵編碼的宏塊量化值變化步進語法元素(,macroblock quantizer delta syntax element)的ニ值化。圖12示出了分別針對CABAC和CAVLC熵編碼的單獨和相應(yīng)架構(gòu)的實施方式。圖13示出了分別針對CABAC/CAVLC熵解碼的單獨和相應(yīng)架構(gòu)的實施方式。圖14示出了分別針對CABAC和CAVLC熵編碼的單獨和相應(yīng)架構(gòu)的實施方式,以及具體地,其中利用可變長度編碼法(VLC)編碼。圖15示出了分別針對CABAC和CAVLC熵解碼的單獨和相應(yīng)架構(gòu)的實施方式,以及具體地,其中利用VLC解碼。圖16A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具
6體地,其中利用可變長度編碼法(VLC)編碼。圖16B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具體地,其中利用可變長度編碼法(VLC)解碼。圖17A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具 體地,其中利用可變長度ニ值化。圖17B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具體地,其中利用可變長度倉(bin,ニ進制文件)解碼。圖18A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具體地,其中利用復(fù)雜性増加的可變長度ニ值化,以及也具體地結(jié)合針對CABAC熵編碼的復(fù)雜性降低的算木編碼。圖18B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具體地,其中根據(jù)CABAC熵解碼來利用復(fù)雜性増加的可變長度倉解碼,以及也具體地結(jié)合針對CABAC熵解碼的復(fù)雜性降低的算木解碼。圖19A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具體地,其中利用復(fù)雜性增加的可變長度ニ值化。圖19B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具體地,其中根據(jù)CABAC熵解碼來利用復(fù)雜性増加的可變長度倉解碼。圖20A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具體地,其中利用復(fù)雜性降低的可變長度ニ值化。圖20B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式,以及具體地,其中根據(jù)CABAC熵解碼來利用復(fù)雜性降低的可變長度倉解碼。圖21、圖22A、圖22B、圖23、圖24A和圖24B示出了根據(jù)視頻編碼(例如,在ー個或者多個通信裝置內(nèi))所執(zhí)行的方法的多種實施方式。
具體實施例方式在使用數(shù)字媒體(諸如數(shù)字視頻)的許多裝置內(nèi),使用像素來呈現(xiàn)數(shù)字媒體的對應(yīng)圖像(本質(zhì)上為數(shù)字)。在某些通信系統(tǒng)內(nèi),數(shù)字媒體可從第一位置傳輸?shù)娇奢敵龌蛘唢@示該媒體的第二位置。數(shù)字通信系統(tǒng)(包括進行操作從而通信數(shù)字視頻的那些系統(tǒng))目標(biāo)是將數(shù)字?jǐn)?shù)據(jù)從ー個位置或者子系統(tǒng)無誤差地或者以可接受的低誤差率傳輸?shù)搅硪晃恢没蛘咦酉到y(tǒng)。如圖I所示,可在廣泛的通信系統(tǒng)中通過多種通信信道傳輸數(shù)據(jù)磁性媒體、有線、無線、光纖、銅和/或其他類型媒介。圖I和圖2分別為示出了通信系統(tǒng)100和200的多種實施方式的圖示。參考圖I,通信系統(tǒng)100的實施方式為通信信道199,該通信信道將位于通信信道199 一端的通信裝置110 (包括具有編碼器114的發(fā)射器112,以及包括具有解碼器118的接收器116)通信耦接至位于通信信道199另一端的另ー通信裝置120 (包括具有編碼器128的發(fā)射器126,以及包括具有解碼器124的接收器122)。在一些實施方式中,通信裝置110和120任何一個可僅包括發(fā)射器或者接收器。有數(shù)個不同類型的媒介,通過該媒介,可實現(xiàn)通信信道199 (例如,使用碟形衛(wèi)星天線132和134的衛(wèi)星通信信道130、使用通訊塔142和144和/或本地天線152和154的無線通信信道140、有線通信信道150和/或使用電光(E/0)接ロ 162和電光(E/0)接ロ 164的光纖通信信道160)。此外,可實現(xiàn)多個類型的媒介并且接ロ在一起,從而形成通信信道199。請注意,在不背離本發(fā)明范圍和精神的情況下,這種通信裝置110和/或120可為靜止或移動的。例如,通信裝置110和120任何一個或者兩個都可實現(xiàn)在固定位置中或者可以是移動通信裝置,具有以下能力與包括一個或者多個無線局域網(wǎng)絡(luò)(WLAN)的移動通信 系統(tǒng)背景下多于ー個的網(wǎng)絡(luò)接入點(例如,不同的各個接入點(AP))、包括一個或者多個衛(wèi)星的移動通信系統(tǒng)背景下不同的各個衛(wèi)星、或者一般地包括一個或者多個網(wǎng)絡(luò)接入點(通過該接入點可實現(xiàn)與通信裝置110和/或120的通信)的移動通信系統(tǒng)背景下不同的各個網(wǎng)絡(luò)接入點相關(guān)聯(lián)和/或通信。為了減少通信系統(tǒng)內(nèi)可能不期望地產(chǎn)生的傳輸誤差,通常利用誤差校正和信道編碼方案。一般地,這些誤差校正和信道編碼方案涉及在通信信道199的發(fā)射器端使用編碼器以及在通信信道199的接收器端使用解碼器。所述多種類型ECC代碼的任何一個可被用于任何這種期望通信系統(tǒng)(例如,包括關(guān)于圖I所描述的那些變形例)、任何信息存儲裝置(例如,硬盤驅(qū)動器(HDD)、網(wǎng)絡(luò)信息存儲裝置和/或服務(wù)器等)或者期望信息編碼和/或解碼的任何應(yīng)用內(nèi)。一般而言,當(dāng)考慮其中視頻數(shù)據(jù)從ー個位置或者子系統(tǒng)通信到另一位置或者子系統(tǒng)的通信系統(tǒng)時,視頻數(shù)據(jù)編碼通??梢暈樵谕ㄐ判诺?99的發(fā)射端執(zhí)行,而視頻數(shù)據(jù)解碼通常可視為在通信信道199的接收端執(zhí)行。此外,雖然本圖的實施方式示出能夠在通信裝置110和120之間的雙向通信,當(dāng)然,應(yīng)當(dāng)注意,在一些實施方式中,通信裝置110可能僅包括視頻數(shù)據(jù)編碼能力,而通信裝置120可能僅包括視頻數(shù)據(jù)解碼能力,反之亦然(例如,在諸如根據(jù)視頻廣播實施方式的單向通信實施方式中)。參考圖2的通信系統(tǒng)200,在通信信道299發(fā)射端處,信息比特201 (例如,尤其對應(yīng)于ー個實施方式中的視頻數(shù)據(jù))被提供給發(fā)射器297,該發(fā)射器297可操作地使用編碼器和碼元映射器220(分別可視為不同功能塊222和224)執(zhí)行對這些信息比特201的編碼,從而產(chǎn)生提供給發(fā)射驅(qū)動器230的離散值調(diào)制碼元序列203,該發(fā)射驅(qū)動器230使用DAC (數(shù)字至模擬轉(zhuǎn)換器)232來產(chǎn)生連續(xù)時間發(fā)射信號204并且使用發(fā)射濾波器234來產(chǎn)生經(jīng)濾波、連續(xù)時間發(fā)射信號205 (其基本上適合通信信道299)。在通信信道299的接收端,連續(xù)時間接收信號206被提供給包括接收濾波器262 (其產(chǎn)生經(jīng)濾波、連續(xù)時間接收信號207)和ADC (模擬至數(shù)字轉(zhuǎn)換器)264 (其產(chǎn)生時間離散接收信號208)的AFE (模擬前端)260。度量產(chǎn)生器270計算由解碼器280采用的度量209 (例如,按碼元和/或比特),用于對編碼在210中的離散值調(diào)制碼元和信息比特做出最佳估計。在各發(fā)射器297和接收器298內(nèi),可進行多種部件、塊、功能塊、電路等的任何期望整合。例如,該圖將處理模塊280a示為包括編碼器和碼元映射器220以及其中的所有相關(guān)聯(lián)、相對應(yīng)部件,將處理模塊280b示為包括度量產(chǎn)生器270和解碼器280以及其中的所有相關(guān)聯(lián)、相對應(yīng)部件。這種處理模塊280a和280b可為相應(yīng)的集成電路。當(dāng)然,在不背離本發(fā)明范圍和精神的情況下,可替代性進行其他分界和分組。例如,發(fā)射器297內(nèi)所有部件可包含在第一處理模塊或者集成電路內(nèi),以及接收器298內(nèi)所有部件可包含在第二處理模塊或者集成電路內(nèi)。作為替代,在其他實施方式中可做出各發(fā)射器297和接收器298內(nèi)的部件的任何其他組合。正如先前的實施方式,這種通信系統(tǒng)200可被用于從ー個位置或者子系統(tǒng)傳播到另ー位置或者子系統(tǒng)(例如,經(jīng)由通信信道299從發(fā)射器297到接收器298)的視頻數(shù)據(jù)通 ィ目。數(shù)字圖像和/或媒體(包括數(shù)字視頻信號內(nèi)相應(yīng)的圖像)和/或數(shù)字圖像的視頻處理可通過以下圖3A至圖3H所示的任何不同裝置來進行,以允許使用者觀看這種數(shù)字圖像和/或視頻。這些多種裝置不包括可實現(xiàn)本文所述圖像和/或視頻處理的裝置的詳盡列表,并且請注意,在不背離本發(fā)明范圍和精神的情況下,任何通用的數(shù)字圖像和/或視頻處理裝置可被實現(xiàn)為執(zhí)行本文所述處理。圖3A示出了計算機301的實施方式。計算機301可為桌上型計算機或者附接至存儲陣列(諸如,獨立磁盤冗余陣列(RAID)陣列)、存儲路由器、邊緣路由器、存儲交換機和/或存儲導(dǎo)向器的主機計算機的企業(yè)存儲裝置(諸如服務(wù)器)。使用者能夠使用計算機301觀看靜止的數(shù)字圖像和/或視頻(例如,數(shù)字圖像序列)。通常,多種圖像和/或視頻觀看程序和/或媒體播放器程序包含在計算機301上,從而允許使用者觀看這種圖像(包括視頻)。圖3B示出了膝上型計算機302的實施方式。這種膝上型計算機302可在任何不同情況下找到和使用。近年來,隨著膝上型計算機內(nèi)構(gòu)建的處理能力和功能不斷増加,它們正被用于先前要使用高端和更多有能力的桌上型計算機的許多情況。與計算機301相同,膝上型計算機302可包括多種圖像觀看程序和/或媒體播放器程序,從而允許使用者觀看這種圖像(包括視頻)。圖3C示出了高清晰度(HD)電視機303的實施方式。許多HD電視機303包括集成調(diào)諧器,從而允許在其上接收、處理和解碼媒體內(nèi)容(例如,電視廣播信號)。作為替代,HD電視機303有時從接收、處理和解碼電纜和/或衛(wèi)星電視廣播信號的另一源(諸如,數(shù)字視頻光盤(DVD)播放器、機頂盒(STB))接收媒體內(nèi)容。無論具體實施方式
如何,HD電視機303可被實現(xiàn)為執(zhí)行如本文所述的圖像和/或視頻處理。一般而言,HD電視機303具有顯示HD媒體內(nèi)容的能力,并且有時實現(xiàn)為具有16 9寬屏寬高比。圖3D示出了標(biāo)準(zhǔn)清晰度(SD)電視機304的實施方式。當(dāng)然,SD電視機304有些類似于HD電視機303,其中至少ー個差異在于SD電視機304不具有顯示HD媒體內(nèi)容的能力,并且SD電視機304通常實現(xiàn)為具有4 3全屏寬高比。盡管如此,實際上SD電視機304可實現(xiàn)為執(zhí)行如本文所述的圖像和/或視頻處理。圖3E示出了手持式媒體単元305的實施方式。手持式媒體単元305可進行操作從而提供一般存儲或者圖像/視頻內(nèi)容信息(諸如,聯(lián)合圖像專家小組(JPEG)文件、標(biāo)記圖像文件格式(TIFF)、位圖、運動圖像專家小組(MPEG)文件、Windows Media(WMA/WMV)文件、諸如MPEG4文件等回放給使用者的其他類型視頻內(nèi)容)和/或能夠以數(shù)字格式存儲的任何其他類型信息的存儲。從歷史上看,這種手持式媒體単元主要用于音頻媒體存儲和回放;然而,這種手持式媒體單元305可用于任何虛擬媒體(例如,音頻媒體、視頻媒體、照片媒體等)的存儲和回放。此外,這種手持式媒體単元305還可包括諸如用于有線和無線通信的集成通信電路的其他功能。這種手持式媒體単元305可實現(xiàn)為執(zhí)行如本文所述的圖像和/或視頻處理。
圖3F示出了機頂盒(STB) 306的實施方式。如上文提到,有時STB306可實現(xiàn)為接收、處理和解碼將要提供給任何適當(dāng)?shù)娘@示使能裝置(諸如SD電視機304和/或HD電視機303)的電纜和/或衛(wèi)星電視廣播信號。這種STB 306可獨立地或者與這種顯示使能裝置協(xié)作地進行操作從而執(zhí)行如本文所述的圖像和/或視頻處理。圖3G示出了數(shù)字視頻光盤(DVD)播放器307的實施方式。在不背離本發(fā)明范圍和精神的情況下,這種DVD播放器可為藍光DVD播放器、HD使能DVD播放器、SD使能DVD播放器、上采樣使能DVD播放器(例如,從SD到HD等)。該DVD播放器可提供信號給任何適當(dāng)?shù)娘@示使能裝置,諸如SD電視機304和/或HD電視機303。DVD播放器307可被實現(xiàn)為執(zhí)行如本文所述的圖像和/或視頻處理。圖3H示出了通用數(shù)字圖像和/或視頻處理裝置308的實施方式。而且,如上文提到,上述這些多種裝置不包括可實現(xiàn)本文所述圖像和/或視頻處理的詳盡裝置列表,并且請注意,在不背離本發(fā)明范圍和精神的情況下,任何通用數(shù)字圖像和/或視頻處理裝置308可被實現(xiàn)為執(zhí)行本文所述的圖像和/或視頻處理。圖4、圖5和圖6為分別示出了視頻編碼架構(gòu)的多種實施方式400、500和600的圖
/Jn ο參考圖4的實施方式400,就本圖而言可看出,由視頻編碼器接收輸入視頻信號。在某些實施方式中,輸入視頻信號由編碼單元(⑶)或者宏塊(MB)組成。這種編碼單元或者宏塊的大小可變,并且可包括通常以正方形排列的許多像素。在一個實施方式中,這種編碼單元或者宏塊具有16X16像素大小。然而,一般請注意,宏塊可具有任何期望大小,諸如NXN像素,其中,N為整數(shù)。當(dāng)然,雖然在優(yōu)選實施方式中利用正方形編碼單元或者宏塊,但某些實現(xiàn)方式可包括非正方形編碼單元或者宏塊。輸入視頻信號一般可稱為對應(yīng)于原始幀(或者圖片)圖像數(shù)據(jù)。例如,原始幀(或者圖片)圖像數(shù)據(jù)經(jīng)歷處理從而產(chǎn)生亮度和色度采樣。在一些實施方式中,宏塊中亮度采樣集為ー個特定排列(例如,16X16),以及色度采樣集為不同的特定排列(例如,8X8)。根據(jù)本文所述實施方式,視頻編碼器按逐塊來處理這種采樣。然后,輸入視頻信號經(jīng)歷模式選擇,通過該模式選擇,輸入視頻信號選擇性經(jīng)歷幀內(nèi)預(yù)測和/或幀間預(yù)測處理。一般而言,輸入視頻信號沿壓縮路徑經(jīng)歷壓縮。當(dāng)無反饋(例如,既不根據(jù)幀間預(yù)測,也不根據(jù)幀內(nèi)預(yù)測)操作時,輸入視頻信號經(jīng)由壓縮路徑提供從而經(jīng)歷變換操作(例如,根據(jù)離散余弦變換(DCT))。當(dāng)然,在替代性實施方式中可利用其他變換。在該操作模式中,輸入視頻信號本身為壓縮信號。壓縮路徑可利用執(zhí)行壓縮過程中人眼缺乏對于高頻的敏感度。然而,可通過選擇性使用幀間預(yù)測或者幀內(nèi)預(yù)測視頻編碼從而沿壓縮路徑利用反饋。根據(jù)操作反饋或者預(yù)測模式,壓縮路徑對由從當(dāng)前宏塊減去當(dāng)前宏塊預(yù)測值所產(chǎn)生的(相對低能量)殘差(例如,差)操作。根據(jù)在給定情況下利用哪個預(yù)測形式,產(chǎn)生當(dāng)前宏塊與基于同一幀(或者圖片)的至少一部分或者基于至少ー個其他幀(或者圖片)的至少一部分的宏塊預(yù)測值之間的殘差或者差。然后,產(chǎn)生的修改視頻信號沿壓縮路徑經(jīng)歷變換操作。在一個實施方式中,離散余弦變換(DCT)對視頻采樣集(例如,亮度、色度、殘差等)進行操作從而計算針對各預(yù)定數(shù)目基本圖案的對應(yīng)系數(shù)值。例如,一個實施方式包括64個基本函數(shù)(例如,諸如針對8X8
10采樣)。一般而言,不同實施方式可利用不同數(shù)目的基本函數(shù)(例如,不同變換)。這些對應(yīng)的基本函數(shù)的任何組合(包括其適當(dāng)?shù)那疫x擇性的加權(quán)),可被用于代表給定視頻采樣集。與執(zhí)行變換操作的多種方式有關(guān)的更多細節(jié)在與視頻編碼相關(guān)的技術(shù)文獻中描述,包括如上所述結(jié)合于此作為參考的那些標(biāo)準(zhǔn)/草案標(biāo)準(zhǔn)。來自變換處理的輸出包括各個系數(shù)值。該輸出被提供給量化器。一般地,大多數(shù)圖像塊通常會產(chǎn)生系數(shù)(例如,在根據(jù)離散余弦變換(DCT)操作的實施方式中的DCT系數(shù)),使得大多數(shù)相關(guān)DCT系數(shù)為較低頻率。因為上述原因以及人眼對高頻視覺效果的相對較差的敏感度,量化器可操作地將大多數(shù)不太相關(guān)的系數(shù)轉(zhuǎn)換為零值。即,根據(jù)量化處理,可除去相對貢獻低于某個預(yù)定值(例如,某個閾值)的那些系數(shù)。量化器也可操作地將重要系數(shù)轉(zhuǎn)換為比由變換處理產(chǎn)生的值可更高效編碼的值。例如,量化處理可通過將各相應(yīng)的系數(shù)除以整數(shù)值并且丟棄任何余數(shù)來進行操作。當(dāng)對典型編碼單位或者宏塊進行操作吋,這種處理通常產(chǎn)生相對低數(shù)目的非零系數(shù),該非零系數(shù)然后交付給熵編碼器,用于無損編碼并且根據(jù)反饋路徑使用,其中,該反饋路徑可根據(jù)視頻編碼來選擇幀內(nèi)預(yù)測和/或幀間預(yù)測處理。熵編碼器根據(jù)無損壓縮編碼處理來操作。相比之下,量化操作一般為有損。熵編碼處理對從量化處理所提供的系數(shù)進行操作。這些系數(shù)可表示多種特性(例如,亮度、色度、殘差等)??捎伸鼐幋a器利用多種類型的編碼。例如,可由熵編碼器執(zhí)行上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)和/或上下文自適應(yīng)可變長度編碼(CAVLC)。例如,根據(jù)熵編碼方案的至少一部分,數(shù)據(jù)被轉(zhuǎn)換為(游,程)配對((run, level)pairing)(例如,數(shù)據(jù)14、3、0、4、0、0、-3將被轉(zhuǎn)換為相應(yīng)的(運行,幅值)對(0,14)、(0,3), (1,4), (2,-3))??深A(yù)先準(zhǔn)備表,該表為值對分配可變長度代碼,使得相對較短長度代碼被分配給相對共同值對,以及為相對較少共同值對分配相對較長長度代碼。讀者應(yīng)當(dāng)理解,逆量化和逆變換的操作分別對應(yīng)于量化和變換的操作。例如,在變換操作中利用DCT的實施方式中,然后在逆變換操作中利用逆DCT(IDCT)。圖片緩沖器(或可稱為數(shù)字圖片緩沖器或者DPB)從IDCT模塊接收信號;圖片緩沖器操作地存儲當(dāng)前幀(或者圖片)和/或諸如可根據(jù)幀內(nèi)預(yù)測和/或幀間預(yù)測操作(可根據(jù)視頻編碼執(zhí)行)使用的ー個或者多個其他幀(或者圖片)。請注意,根據(jù)幀內(nèi)預(yù)測,相對小的存儲量可能足夠,這是因為可能不必將當(dāng)前幀(或者圖片)或者任何其他幀(或者圖片)存儲于幀(或者圖片)序列內(nèi)。在根據(jù)視頻編碼執(zhí)行幀內(nèi)預(yù)測的情況下,這種存儲信息可被用于執(zhí)行運動壓縮和/或運動估計。在ー個可能的實施方式中,針對運動估計,來自當(dāng)前幀(或者圖片)的相應(yīng)的亮度采樣集(例如,16X16)與幀(或者圖片)序列(例如,根據(jù)幀間預(yù)測)內(nèi)其他幀(或者圖片)中相應(yīng)的緩沖配對物(counterpart)比較。在ー個可能的實現(xiàn)方式中,定位最近匹配區(qū)域(例如,預(yù)測參考),并且產(chǎn)生矢量偏移(例如,運動矢量)。在單幀(或者圖片)中,可找到許多運動矢量,并且并不是全部必須指向同一方向。根據(jù)運動估計執(zhí)行的一個或者多個操作可操作地產(chǎn)生ー個或者多個運動矢量。運動補償操作地利用可根據(jù)運動估計產(chǎn)生的一個或者多個運動矢量。識別預(yù)測參考采樣集,并且被交付用于從原始輸入視頻信號扣除,努力希望產(chǎn)生相對(例如,理想地、更)較低能量殘差。如果該操作未導(dǎo)致產(chǎn)生較低能量殘差,那么不必需要執(zhí)行運動補償,以及變換操作可能僅對原始輸入視頻信號而非殘差進行操作(例如,根據(jù)操作模式,其中,輸入視頻信號直接被提供給變換操作,使得既不執(zhí)行幀內(nèi)預(yù)測也不執(zhí)行幀間預(yù)測),或者可利用幀內(nèi)預(yù)測,以及對由幀內(nèi)預(yù)測產(chǎn)生的殘差執(zhí)行變換操作。此外,如果運動估計和/或運動補償操作成功,那么運動矢量還可與相應(yīng)的殘差系數(shù)一起發(fā)送給熵編碼器,用于經(jīng)歷無損熵編碼。來自整個視頻編碼操作的輸出為輸出比特流。請注意,所述輸出比特流當(dāng)然可經(jīng)歷根據(jù)產(chǎn)生連續(xù)時間信號(其可經(jīng)由通信信道傳輸)的某些處理。例如,某些實施方式在無線通信系統(tǒng)內(nèi)操作。在該情況下,輸出比特流可經(jīng)歷適當(dāng)?shù)臄?shù)模轉(zhuǎn)換、頻率轉(zhuǎn)換、縮放、濾波、調(diào)制、碼元映射和/或在操作地產(chǎn)生能夠經(jīng)由通信信道傳輸?shù)倪B續(xù)時間信號的無線通信裝置內(nèi)的任何其他操作等。參考圖5的實施方式500,就本圖而言可看出,由視頻編碼器接收輸入視頻信號。在某些實施方式中,輸入視頻信號由編碼單元或者宏塊組成(和/或可分割為編碼単元(⑶))。所述編碼単元或者宏塊大小可變,并且可包括通常以正方形排列的許多像素。在一個實施方式中,所述編碼単元或者宏塊具有16X16像素大小。然而,一般請注意,宏塊可具有任何期望大小,諸如NXN像素,其中,N為整數(shù)。當(dāng)然,雖然在優(yōu)選實施方式中利用正方形編碼單元或者宏塊,但ー些實現(xiàn)方式可包括非正方形編碼單元或者宏塊。輸入視頻信號一般可稱為對應(yīng)于原始幀(或者圖片)圖像數(shù)據(jù)。例如,原始幀(或者圖片)圖像數(shù)據(jù)可經(jīng)歷處理從而產(chǎn)生亮度和色度采樣。在一些實施方式中,宏塊中亮度采樣集為ー個特定排列(例如,16X16),以及色度采樣集為不同的特定排列(例如,8X8)。根據(jù)本文所述實施方式,視頻編碼器按逐塊來處理所述采樣。然后,輸入視頻信號經(jīng)歷模式選擇,通過該模式選擇,輸入視頻信號選擇性經(jīng)歷幀內(nèi)預(yù)測和/或幀間預(yù)測處理。一般而言,輸入視頻信號沿壓縮路徑經(jīng)歷壓縮。當(dāng)無反饋(例如,既不根據(jù)幀間預(yù)測,也不根據(jù)幀內(nèi)預(yù)測)操作時,輸入視頻信號經(jīng)由壓縮路徑提供從而經(jīng)歷變換操作(例如,根據(jù)離散余弦變換(DCT))。當(dāng)然,在替代性實施方式中可利用其他變換。在該操作模式中,輸入視頻信號本身為壓縮信號。壓縮路徑可利用在執(zhí)行壓縮過程中人眼缺乏對于高頻的敏感度。然而,可通過選擇性使用幀間預(yù)測或者幀內(nèi)預(yù)測視頻編碼從而沿壓縮路徑利用反饋。根據(jù)操作反饋或者預(yù)測模式,壓縮路徑對由從當(dāng)前宏塊減去當(dāng)前宏塊預(yù)測值所產(chǎn)生的(相對低能量)殘差(例如,差)操作。根據(jù)在給定情況下利用哪個預(yù)測形式,產(chǎn)生當(dāng)前宏塊與基于同一幀(或者圖片)的至少一部分或者基于至少ー個其他幀(或者圖片)的至少一部分的宏塊預(yù)測值之間的殘差或者差。然后,產(chǎn)生的修改視頻信號沿壓縮路徑經(jīng)歷變換操作。在一個實施方式中,離散余弦變換(DCT)對視頻采樣集(例如,亮度、色度、殘差等)進行操作從而計算針對各預(yù)定數(shù)目基本圖案的對應(yīng)系數(shù)值。例如,一個實施方式包括64個基本函數(shù)(例如,諸如針對8X8采樣)。一般而言,不同實施方式可利用不同數(shù)目的基本函數(shù)(例如,不同變換)。這些對應(yīng)的基本函數(shù)的任何組合(包括其適當(dāng)?shù)那疫x擇性的加權(quán)),可被用于代表給定視頻采樣集。與執(zhí)行變換操作的多種方式有關(guān)的更多細節(jié)在與視頻編碼相關(guān)的技術(shù)文獻中描述,包括如上所述結(jié)合于此作為參考的那些標(biāo)準(zhǔn)/草案標(biāo)準(zhǔn)。來自變換處理的輸出包括各個系數(shù)值。該輸出被提供給量化器。CN 102917215 A
書
明
說
10/24 頁一般地,大多數(shù)圖像塊通常會產(chǎn)生系數(shù)(例如,在根據(jù)離散余弦變換(DCT)操作的實施方式中,DCT系數(shù)),使得大多數(shù)相關(guān)DCT系數(shù)為較低頻率。因為上述原因以及人眼對高頻視覺效果的相對較差的敏感度,量化器可操作地將大多數(shù)不太相關(guān)的系數(shù)轉(zhuǎn)換為零值。即,根據(jù)量化處理,可除去相對貢獻低于某個預(yù)定值(例如,某個閾值)的那些系數(shù)。量化器也可操作地將重要系數(shù)轉(zhuǎn)換為比由變換處理產(chǎn)生的值可更高效編碼的值。例如,量化處理可通過將各相應(yīng)的系數(shù)除以整數(shù)值并且丟棄任何余數(shù)來進行操作。當(dāng)對典型編碼單位·或者宏塊進行操作吋,這種處理通常產(chǎn)生相對低數(shù)目的非零系數(shù),該非零系數(shù)然后交付給熵編碼器,用于無損編碼并且根據(jù)反饋路徑使用,其中,該反饋路徑可根據(jù)視頻編碼來選擇幀內(nèi)預(yù)測和/或幀間預(yù)測處理。熵編碼器根據(jù)無損壓縮編碼處理來操作。相比之下,量化操作一般為有損。熵編碼處理對量化處理所提供的系數(shù)進行操作。這些系數(shù)可表示多種特性(例如,亮度、色度、殘差等)??捎伸鼐幋a器利用多種類型的編碼。例如,可由熵編碼器執(zhí)行上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)和/或上下文自適應(yīng)可變長度編碼(CAVLC)。例如,根據(jù)熵編碼方案的至少一部分,數(shù)據(jù)被轉(zhuǎn)換為(游,程)配對(例如,數(shù)據(jù)14、3、0、4、0、0、_3將被轉(zhuǎn)換為相應(yīng)的(運行,幅值)對(0,14)、(0,3)、(1,4)、(2,-3))??深A(yù)先準(zhǔn)備表,該表為值對分配可變長度代碼,使得相對較短長度代碼被分配給相對共同值對,以及為相對較少共同值對分配相對較長長度代碼。讀者應(yīng)當(dāng)理解,逆量化和逆變換的操作分別對應(yīng)于量化和變換的操作。例如,在變換操作中利用DCT的實施方式中,然后在逆變換操作中利用逆DCT(IDCT)。在某些可選實施方式中,來自去塊效應(yīng)濾波器的輸出被提供給ー個或者多個其他環(huán)路濾波器(例如,根據(jù)采樣自適應(yīng)偏移(SAO)濾波器、自適應(yīng)環(huán)路濾波器(ALF)和/或任何其他濾波器類型實現(xiàn)),所述環(huán)路濾波器被實施為處理來自逆變換塊的輸出。例如,該自適應(yīng)環(huán)路濾波器(ALF)可實現(xiàn)為處理來自去塊效應(yīng)濾波器的輸出,或可替換地,該ALF可實現(xiàn)為處理來自采樣自適應(yīng)偏移(SAO)濾波器的輸出,其中,該SAO濾波器首先接收來自去塊效應(yīng)濾波器的輸出。在解碼圖片存儲于圖片緩沖器(有時稱為DPB,數(shù)字圖片緩沖器)之前,該自適應(yīng)環(huán)路濾波器(ALF)應(yīng)用于該解碼圖片。自適應(yīng)環(huán)路濾波器(ALF)實現(xiàn)為降低解碼圖片的編碼噪聲,以及無論以片級或者以塊級應(yīng)用自適應(yīng)環(huán)路濾波器(ALF),可按逐片分別針對亮度和色度選擇性應(yīng)用其濾波。在自適應(yīng)環(huán)路濾波器(ALF)應(yīng)用中可使用ニ維2D有限脈沖響應(yīng)(FIR)濾波。濾波器的系數(shù)可在編碼器處逐片設(shè)計,以及該信息然后發(fā)信給解碼器(例如,從包括視頻編碼器(或可稱為編碼器)的發(fā)射器通信裝置發(fā)信到包括視頻解碼器(或可稱為解碼器)的接收器通信裝置)?!獋€實施方式通過根據(jù)維納濾波設(shè)計產(chǎn)生系數(shù)來操作。此外,可能在編碼器處基于逐塊確定是否執(zhí)行濾波,以及該決定然后基于四叉樹結(jié)構(gòu)發(fā)信給解碼器(例如,從包括視頻編碼器(或可稱為編碼器)的發(fā)射器通信裝置發(fā)信到包括視頻解碼器(或可稱為解碼器)的接收器通信裝置),其中,根據(jù)碼率失真優(yōu)化來決定塊大小。請注意,使用該2D濾波的實現(xiàn)可能引入根據(jù)編碼和解碼兩者的復(fù)雜度。例如,通過使用根據(jù)自適應(yīng)環(huán)路濾波器(ALF)實現(xiàn)的2D濾波,在發(fā)射器通信裝置內(nèi)實現(xiàn)的編碼器內(nèi)以及接收器通信裝置內(nèi)實現(xiàn)的解碼器內(nèi)可能復(fù)雜性有一些增加。就環(huán)路濾波器ー種類型而言,根據(jù)該視頻處理,自適應(yīng)環(huán)路濾波器(ALF)的使用
13可提供許多任意的改進,包括對來自執(zhí)行隨機量化去噪的峰值信噪比(PSNR)客觀質(zhì)量測量的改進。此外,隨后編碼的視頻信號的主觀質(zhì)量可從光照補償獲得,根據(jù)自適應(yīng)環(huán)路濾波器(ALF)處理,可根據(jù)執(zhí)行偏移處理和縮放處理(例如,根據(jù)有限脈沖響應(yīng)(FIR)濾波來施加增益)來引入光照補償。從ALF接收輸出信號的是圖片緩沖器,或可稱為數(shù)字圖片緩沖器或者DPB;圖片緩沖器操作地存儲當(dāng)前幀(或者圖片)和/或諸如可根據(jù)幀內(nèi)預(yù)測和/或幀間預(yù)測操作(可根據(jù)視頻編碼進行)使用的ー個或者多個其他幀(或者圖片)。請注意,根據(jù)幀內(nèi)預(yù)測,相對小的存儲量可能足夠,這是因為可能不必將當(dāng)前幀(或者圖片)或者任何其他幀(或者圖片)存儲于幀(或者圖片)序列內(nèi)。在根據(jù)視頻編碼執(zhí)行幀內(nèi)預(yù)測的情況下,這種存儲信息可被用于執(zhí)行運動壓縮和/或運動估計。在ー個可行實施方式中,針對運動估計,來自當(dāng)前幀(或者圖片)的相應(yīng)的亮度采樣集(例如,16X16)與幀(或者圖片)序列(例如,根據(jù)幀間預(yù)測)內(nèi)其他幀(或者圖片)中相應(yīng)的緩沖配對物比較。在ー個可能的實現(xiàn)方式中,定位最接近匹配區(qū)域(例如,預(yù)測參考),并且產(chǎn)生矢量偏移(例如,運動矢量)。在單幀(或者圖片)中,可找到許多運動矢量,并且并不是全部必須指向同一方向。根據(jù)運動估計執(zhí)行的ー個或者多個操作可操作地產(chǎn)生ー個或者多個運動矢量。運動補償操作地利用可根據(jù)運動估計產(chǎn)生的一個或者多個運動矢量。識別預(yù)測參考采樣集,并且被交付用于從原始輸入視頻信號扣除,努力希望產(chǎn)生相對(例如,理想地、更)較低能量殘差。如果該操作未導(dǎo)致產(chǎn)生較低能量殘差,那么不必需要執(zhí)行運動補償,以及變換操作可能僅對原始輸入視頻信號而非殘差進行操作(例如,根據(jù)操作模式,其中,輸入視頻信號直接被提供給變換操作,使得既不執(zhí)行幀內(nèi)預(yù)測也不執(zhí)行幀間預(yù)測),或者可利用幀內(nèi)預(yù)測,以及對由幀內(nèi)預(yù)測產(chǎn)生的殘差執(zhí)行變換操作。此外,如果運動估計和/或運動補償操作成功,那么運動矢量還可與相應(yīng)的殘差系數(shù)一起發(fā)送給熵編碼器,用于經(jīng)歷無損熵編碼。來自整個視頻編碼操作的輸出為輸出比特流。請注意,該輸出比特流當(dāng)然可經(jīng)歷根據(jù)產(chǎn)生連續(xù)時間信號(其可經(jīng)由通信信道傳輸)的某些處理。例如,某些實施方式在無線通信系統(tǒng)內(nèi)操作。在該情況下,輸出比特流可經(jīng)歷適當(dāng)?shù)臄?shù)模轉(zhuǎn)換、頻率轉(zhuǎn)換、縮放、濾波、調(diào)制、碼元映射和/或在操作地產(chǎn)生能夠經(jīng)由通信信道傳輸?shù)倪B續(xù)時間信號的無線通信裝置內(nèi)的任何其他操作等。參考圖6的實施方式600,就本圖而言,描繪視頻編碼器的替代性實施方式,該視頻編碼器進行預(yù)測、變換和編碼處理從而產(chǎn)生已壓縮輸出比特流。該視頻編碼器可根據(jù)ー個或者多個視頻編碼協(xié)議、標(biāo)準(zhǔn)和/或推薦實踐來操作,并且符合該ー個或者多個視頻編碼協(xié)議、標(biāo)準(zhǔn)和/或推薦實踐,諸如IS0/IEC 14496-10-MPEG-4第10部分,AVC (高級視頻編碼),或可稱為H. 264/MPEG-4第10部分或者AVC (高級視頻編碼),ITUH. 264/MPEG4-AVC。請注意,相對應(yīng)的視頻解碼器(諸如位于通信信道另一端的裝置內(nèi)),操作地執(zhí)行解碼、逆變換和重構(gòu)的互補處理,以產(chǎn)生(理想地)表示輸入視頻信號的相應(yīng)的解碼視頻序列。就本圖而言可看出,替代性配置和架構(gòu)可被用于實現(xiàn)視頻編碼。一般而言,編碼器處理輸入視頻信號(例如,通常以編碼単元或者宏塊為單位組成,經(jīng)常為正方形并且包括
14NXN個像素)。視頻編碼基于先前編碼數(shù)據(jù)來確定當(dāng)前宏塊預(yù)測。該先前編碼數(shù)據(jù)可來源于當(dāng)前幀(或者圖片)本身(例如,諸如根據(jù)幀內(nèi)預(yù)測),或者來源于已經(jīng)編碼(例如,諸如根據(jù)幀間預(yù)測)的ー個或者多個其他幀(或者圖片)。視頻編碼器減去當(dāng)前宏塊預(yù)測,以形成殘差。一般而言,幀內(nèi)預(yù)測操作地利用ー個或者多個特定大小(例如,16X16、8X8或者4X4)的塊大小來根據(jù)同一幀(或者圖片)中的周圍、先前編碼像素預(yù)測當(dāng)前宏塊。一般而言,幀間預(yù)測操作地利用塊大小范圍(例如,16X16下至4X4)來根據(jù)選自一個或者多個先前編碼幀(或者圖片)內(nèi)的區(qū)預(yù)測當(dāng)前幀(或者圖片)中的像素。就變換和量化操作而言,殘差采樣塊可經(jīng)歷使用特定變換(例如,4X4或者8X8)的變換。該變換的ー個可能的實施方式根據(jù)離散余弦變換(DCT)來操作。該變換操作輸出ー組系數(shù),使得各相應(yīng)系數(shù)對應(yīng)于與變換相關(guān)的ー個或者多個基本函數(shù)的相應(yīng)加權(quán)值。在經(jīng)歷變換之后,對變換系數(shù)塊進行量化(例如,各相應(yīng)系數(shù)可除以整數(shù)值并且可丟棄任何相關(guān)的余數(shù),或者它們可乘以整數(shù)值)。量化處理通常固有地有損,并且它可根據(jù)量化參數(shù)(QP)而降低變換系數(shù)精度。通常,與給定宏塊相關(guān)的許多系數(shù)為零,并且只保留一些非零系數(shù)。一般地,相對高QP設(shè)置操作地導(dǎo)致零值系數(shù)的較大比例以及非零系數(shù)的較小幅值,從而導(dǎo)致以相對較差解碼圖像質(zhì)量為代價的相對高壓縮(例如,相對較低編碼比特率);相對低QP設(shè)置操作地允許在量化之后保留更多非零系數(shù)以及非零系數(shù)的較大幅值,從而導(dǎo)致具有相對較佳解碼圖像質(zhì)量的相對較低壓縮(例如,相對較高編碼比特率)。視頻編碼處理產(chǎn)生許多值(其經(jīng)編碼以形成壓縮比特流)。該值的實例包括量化變換系數(shù)、將要由解碼器用于重新創(chuàng)建適當(dāng)預(yù)測的信息、與編碼期間利用的壓縮工具和壓縮數(shù)據(jù)的結(jié)構(gòu)有關(guān)的信息、與完整視頻序列有關(guān)的信息等。該值和/或參數(shù)(例如,語法元素)可在根據(jù)CABAC、CAVLC或者某個其他熵編碼方案進行操作的熵編碼器內(nèi)經(jīng)歷編碼,以產(chǎn)生輸出比特流,該輸出比特流可被存儲、傳輸(例如,在經(jīng)歷適當(dāng)?shù)奶幚碇螅a(chǎn)生適合通信信道的連續(xù)時間信號)等。在使用反饋路徑進行操作的實施方式中,變換和量化的輸出經(jīng)歷逆量化和逆變換??筛鶕?jù)視頻編碼執(zhí)行幀內(nèi)預(yù)測和幀間預(yù)測之一或者這兩者。此外,可根據(jù)該視頻編碼執(zhí)行運動補償和/或運動估計。來自逆量化和逆變換(例如,IDCT)塊的信號路徑輸出(其被提供給幀內(nèi)預(yù)測塊)也被提供給去塊效應(yīng)濾波器。來自去塊效應(yīng)濾波器的輸出提供至被實現(xiàn)為處理來自逆變換塊的輸出的一個或者多個其他環(huán)路濾波器(例如,根據(jù)采樣自適應(yīng)偏移(SAO)濾波器、自適應(yīng)環(huán)路濾波器(ALF)和/或任何其他濾波器類型實現(xiàn))。例如,在ー個可能的實施方式中,在解碼圖片存儲于圖片緩沖器(此外,有時或可稱為DPB,數(shù)字圖片緩沖器)之前,ALF應(yīng)用于該解碼圖片。ALF被實現(xiàn)為降低解碼圖片的編碼噪聲,以及無論以片級或者以塊級應(yīng)用ALF,可按逐片分別針對亮度和色度選擇性應(yīng)用其濾波。在ALF應(yīng)用中可使用ニ維2D有限脈沖響應(yīng)(FIR)濾波。濾波器的系數(shù)可在編碼器處逐片設(shè)計,以及該信息然后發(fā)信給解碼器(例如,從包括視頻編碼器(或可稱為編碼器)的發(fā)射器通信裝置發(fā)信到包括視頻解碼器(或可稱為解碼器)的接收器通信裝置)。一個實施方式根據(jù)維納濾波設(shè)計產(chǎn)生系數(shù)。此外,可能在編碼器處基于逐塊確定是否執(zhí)行濾波,以及該決定然后基于四叉樹結(jié)構(gòu)發(fā)信給解碼器(例如,從包括視頻編碼器(或可稱為編碼器)的發(fā)射器通信裝置發(fā)信到包括視頻解碼器(或可稱為解碼器)的接收器通信裝置),其中,根據(jù)碼率失真優(yōu)化來決定塊大小。請注意,使用該2D濾波的實現(xiàn)可能引入根據(jù)編碼和解碼兩者的復(fù)雜度。例如,通過使用根據(jù)ALF實現(xiàn)的2D濾波,在發(fā)射器通信裝置中實現(xiàn)的編碼器以及接收器通信裝置中實現(xiàn)的解碼器的復(fù)雜性可能有ー些增加。如其他實施方式提到,ALF的使用可提供許多任意的改進,包括對來自執(zhí)行隨機量化去噪的峰值信噪比(PSNR)客觀質(zhì)量測量的改進。此外,隨后編碼的視頻信號的主觀質(zhì)量可從光照補償獲得,根據(jù)ALF處理,可根據(jù)執(zhí)行偏移處理和縮放處理(例如,根據(jù)FIR濾波施加增益)來引入光照補償。就實現(xiàn)為產(chǎn)生輸出比特流的任何視頻編碼器架構(gòu)而言,請注意,該架構(gòu)可在多種通信裝置任何一個內(nèi)實施。輸出比特流可經(jīng)歷附加的處理,包括誤差校正碼(ECC)、前向誤差校正(FEC)等,從而產(chǎn)生其中具有另外冗余處理的已修正輸出比特流。此外,就該數(shù)字信號而言可以理解,根據(jù)產(chǎn)生適合于或者適于經(jīng)由通信信道傳輸?shù)倪B續(xù)時間信號,該數(shù)字信號可經(jīng)歷任何適當(dāng)?shù)奶幚?。即,該視頻編碼器架構(gòu)可在操作為經(jīng)由ー個或者多個通信信道執(zhí)行ー個或者多個信號傳輸?shù)耐ㄐ叛b置內(nèi)實現(xiàn)。可對由該視頻編碼器架構(gòu)產(chǎn)生的輸出比特流作出額外的處理,從而產(chǎn)生可進入(launch into)通信信道的連續(xù)時間信號。圖7為示出了幀內(nèi)預(yù)測處理的實施方式700的圖示。就本圖而言可以看出,當(dāng)前視頻數(shù)據(jù)塊(例如,經(jīng)常為正方形并且一般包括NXN個像素)經(jīng)歷處理,以估計其內(nèi)的相應(yīng)像素。根據(jù)該幀內(nèi)預(yù)測,利用位于當(dāng)前塊上方和左邊的先前編碼像素。從某些角度看,幀內(nèi)預(yù)測方向可視為對應(yīng)于從當(dāng)前像素延伸到位于當(dāng)前像素上方或者左邊的參考像素的矢量。應(yīng)用于根據(jù)H. 264/AVC的編碼的幀內(nèi)預(yù)測細節(jié)在結(jié)合于上文作為參考的相對應(yīng)標(biāo)準(zhǔn)內(nèi)指定(例如,國際電信聯(lián)盟,ITU-T, ITU的電信標(biāo)準(zhǔn)化部分,H. 264(03/2010),H 系列AUDI0VISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisualservices-Coding of moving video, Advanced video coding for generic audiovisualservices, Recommendation ITU-T H. 264,可替換地,也被稱為 International TelecommIS0/IEC 14496-10-Mpeg-4Partl0, AVC(Advanced Video Coding),H. 264/MPEG_4Part 10^AVC (Advanced Video Coding),ITU H. 264/MPEG4-AVC 或等同物)。殘差(即,當(dāng)前像素與參考像素或者預(yù)測像素之間的差)為已編碼殘差。就本圖而言可以看出,幀內(nèi)預(yù)測使用公共幀(或者圖片)內(nèi)像素進行操作。當(dāng)然,請注意,給定像素可能具有與其相關(guān)聯(lián)的不同的相應(yīng)分量,并且各相應(yīng)的分量可能有不同的相應(yīng)采樣集。圖8為示出了幀間預(yù)測處理的實施方式800的圖示。與幀內(nèi)預(yù)測相比,幀間預(yù)測操作為基于當(dāng)前幀(或者圖片)內(nèi)當(dāng)前像素集以及位于幀(或者圖片)序列內(nèi)一個或者多個其他幀(或者圖片)內(nèi)的一個或者多個參考像素集或者預(yù)測像素集來識別運動矢量(例如,幀間預(yù)測方向)。可以看出,運動矢量從當(dāng)前幀(或者圖片)延伸到幀(或者圖片)序列內(nèi)另ー個幀(或者圖片)。幀間預(yù)測可利用子像素插值,使得預(yù)測像素值對應(yīng)于參考幀或者圖片中多個像素的函數(shù)。雖然可根據(jù)幀間預(yù)測處理來計算殘差,但是該殘差不同于根據(jù)幀內(nèi)預(yù)測處理計算的殘差。根據(jù)幀間預(yù)測處理,各像素處殘差又對應(yīng)于當(dāng)前像素和預(yù)測像素值之差。然而,根據(jù)幀間預(yù)測處理,當(dāng)前像素和參考像素或者預(yù)測像素未處于同一幀(或者圖片)內(nèi)。雖然該圖示出了針對ー個或者多個先前幀或者圖片利用幀間預(yù)測,但是也請注意,替代性實施方式可使用與當(dāng)前幀之前和/或之后的幀相對應(yīng)的參考幀進行操作。例如,根據(jù)適當(dāng)?shù)木彌_和/或內(nèi)存管理,可存儲許多幀。當(dāng)對給定幀操作時,可從給定幀之前和/或之后的其他中貞產(chǎn)生參考中貞。與CU耦接,基本単元可被用于預(yù)測分區(qū)模式,即,預(yù)測単元或者PU。也請注意,只針對最后深度CU定義PU,并且其相應(yīng)大小限于CU大小。圖9和圖10為分別示出了視頻解碼架構(gòu)的多種實施方式900和1000的圖。一般而言,該視頻解碼架構(gòu)對輸入比特流操作。當(dāng)然,請注意,該輸入比特流可根據(jù)通信裝置從通信信道接收的信號產(chǎn)生。對從通信信道接收的連續(xù)時間信號可執(zhí)行多種操作,包括數(shù)字采樣、解調(diào)、縮放、濾波等,諸如可適于根據(jù)產(chǎn)生輸入比特流。此外,其中可實現(xiàn)ー種或者多種類型誤差校正碼(ECC)、前向誤差校正(FEC)等的某些實施方式可根據(jù)該ECC、FEC等執(zhí)行適當(dāng)?shù)慕獯a,從而產(chǎn)生輸入比特流。即,在已根據(jù)產(chǎn)生相對應(yīng)輸出比特流(例如,諸如可從發(fā)射器通信裝置或者從收發(fā)器通信裝置的發(fā)射器部分進入)作出附加冗余的某些實施方式中,根據(jù)產(chǎn)生輸入比特流可執(zhí)行適當(dāng)?shù)奶幚???傮w來說,該視頻解碼架構(gòu)被實現(xiàn)為處理輸入比特流,從而產(chǎn)生與原始輸入視頻信號相對應(yīng)(盡可能接近,在理想情況下完美)的輸出視頻信號,用于輸出到一個或者多個視頻顯示使能裝置。參考圖9的實施方式900,一般而言,根據(jù)執(zhí)行編碼的互補處理(如在視頻編碼器架構(gòu)內(nèi)進行),諸如熵解碼器(例如,其可根據(jù)CABAC、CAVLC等實現(xiàn))的解碼器對輸入比特流進行處理。輸入比特流可視為(盡可能接近,在理想情況下完美)由視頻編碼器架構(gòu)產(chǎn)生的壓縮輸出比特流。當(dāng)然,在現(xiàn)實生活應(yīng)用中,在經(jīng)由ー個或者多個通信鏈路傳輸?shù)男盘栔锌赡馨l(fā)生ー些誤差,這是有可能的。熵解碼器處理輸入比特流并且提取適當(dāng)?shù)南禂?shù),諸如DCT系數(shù)(例如,諸如表示色度、亮度等信息),并且將該系數(shù)提供給逆量化和逆變換塊。在利用DCT變換的情況下,逆量化和逆變換塊可被實現(xiàn)為執(zhí)行逆DCT (IDCT)操作。隨后,A/D阻塞濾波器被實現(xiàn)為產(chǎn)生與輸出視頻信號相對應(yīng)的各個幀和/或圖片。這些幀和/或圖片可提供到圖片緩沖器或者數(shù)字圖片緩沖器(DPB)中,用于執(zhí)行包括運動補償?shù)钠渌僮鳌R话愣?,該運動補償操作可視為對應(yīng)于與視頻編碼相關(guān)聯(lián)的幀間預(yù)測。此外,對從逆量化和逆變換塊輸出的信號也可執(zhí)行幀內(nèi)預(yù)測。就視頻編碼而言,類似地,根據(jù)解碼輸入比特流,該視頻解碼器架構(gòu)可被實現(xiàn)為在既不進行幀內(nèi)預(yù)測也不進行幀間預(yù)測、幀間預(yù)測或者幀內(nèi)預(yù)測之間進行模式選擇,從而產(chǎn)生輸出視頻信號。參考圖10的實施方式1000,在某些可選實施方式中,諸如可根據(jù)視頻編碼實現(xiàn)的一個或者多個環(huán)路濾波器(例如,根據(jù)采樣自適應(yīng)偏移(SAO)濾波器、自適應(yīng)環(huán)路濾波器(ALF)和/或任何其他濾波器類型來實現(xiàn))被用于產(chǎn)生輸出比特流,相應(yīng)的ー個或者多個環(huán)路濾波器可在視頻解碼器架構(gòu)內(nèi)實現(xiàn)。在一個實施方式中,一個或者多個該環(huán)路濾波器的適當(dāng)實現(xiàn)方式在去塊效應(yīng)濾波器之后。圖11示出了表的實施方式1100,該表示出針對上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)和上下文自適應(yīng)可變長度編碼(CAVLC)熵編碼的宏塊量化值變化步進語法元素的
ニ值化。根據(jù)諸如根據(jù)AVC/H. 264 (例如,結(jié)合于上文作為參考)執(zhí)行的視頻編碼,編碼器可在兩個不同的熵編碼方法上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)和上下文自適應(yīng)可變長度編碼(CAVLC)之間選擇。CABAC提供高壓縮效率,但在計算上比CAVLC相對更復(fù)雜。
17CAVLC提供相對較低復(fù)雜度,但一般并且也相對CABAC提供較少壓縮。根據(jù)視頻處理架構(gòu)的某些實施方式,單獨和相應(yīng)的電路、硬件、軟件、處理模塊、部件等可被實現(xiàn)用于根據(jù)CABAC和CAVLC執(zhí)行相應(yīng)的視頻編碼操作。S卩,由于CABAC和CAVLC之間的固有不同差異,針對各CABAC和CAVLC提供不同的各個電路、硬件、軟件、處理模塊、部件等。一般而言,CAVLC和CABAC都使用単獨并且不同的可變長度ニ進制碼來表示語法元素。例如,圖11中示出針對宏塊量化值變化步進語法元素(mb_qp_delta)的ニ值化/碼字??梢钥闯?,針對非常相同的宏塊量化值變化步進語法元素,各CABAC和CAVLC將產(chǎn)生不同的相應(yīng)值。就CABAC而言,產(chǎn)生倉,而就CAVLC而言,產(chǎn)生比特。S卩,就CABAC而言,所產(chǎn)生的CABAC倉隨后經(jīng)歷算術(shù)編碼以產(chǎn)生比特,該比特隨后被插入到壓縮比特流中。換言之,用于表示CAVLC語法元素的碼字被簡稱為比特(bit)。這些比特被直接插入壓縮比特流中。CABAC語法元素的ニ值化被稱為倉(bin)。通過使用自適應(yīng)算木編碼方法,這些倉被進ー步壓縮以產(chǎn)生CABAC比持,該比特被插入壓縮比特流中。圖12示出了分別針對CABAC和CAVLC熵編碼的單獨和相應(yīng)的架構(gòu)的實施方式1200??梢钥闯?,根據(jù)CABAC熵編碼,相應(yīng)語法元素經(jīng)歷ニ值化,從而產(chǎn)生相應(yīng)的CABAC倉,并且這些CABAC倉隨后經(jīng)歷算術(shù)編碼以產(chǎn)生CABAC比持,該比特被插入壓縮比特流中。就CAVLC熵編碼而言,語法元素經(jīng)歷可變長度編碼法(VLC)編碼以產(chǎn)生CAVLC比特,該比特被插入壓縮比特流中。圖13示出了分別針對CABAC/CAVLC熵解碼的單獨和相應(yīng)架構(gòu)的實施方式1300。本圖中所執(zhí)行的逆操作是對于前12而言。例如,就CABAC熵解碼而言,比特被接收并且經(jīng)歷算術(shù)解碼,從而產(chǎn)生CABAC倉,該倉隨后經(jīng)歷倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CABAC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的那些語法元素相同。就CAVLC熵解碼而言,比特被接收并且經(jīng)歷可變長度編碼法(VLC)解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CAVLC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CAVLC熵編碼產(chǎn)生的那些語法元素相同。CAVLC中所使用的可變長度編碼法和CABAC中所使用的ニ值化為非常相似處理。它們都簡單地將語法元素值映射為ニ進制字符串I和O。然而,從以上實例會發(fā)現(xiàn),CABAC和CAVLC不相同。事實上,當(dāng)與CABAC相比時,CAVLC語法通常差別很大。讀者應(yīng)當(dāng)理解,CABAC和CAVLC編碼法之間有差異。一般而言,典型方法(藉此設(shè)計該視頻編碼裝置)針對各CABAC和CAVLC編碼操作實現(xiàn)單獨和相應(yīng)的電路、硬件、軟件、處理模塊、部件、有效面積、晶粒大小和/或處理資源等。然而,雖然CABAC和CAVLC編碼法之間有某些差異,但是可構(gòu)造適當(dāng)設(shè)計的裝置,其中,可作出兩個相應(yīng)的編碼法之間的某些共性。即,適當(dāng)設(shè)計的處理(各CABAC和CAVLC編碼法藉此共享至少ー些共同特性)在某些應(yīng)用中可提供擴展熵編碼復(fù)雜性的能力。例如,通過設(shè)計CABAC和CAVLC編碼法共享適當(dāng)?shù)奶幚砹康募軜?gòu),電路、硬件、軟件、處理模塊、部件、有效面積、晶粒大小和/或處理資源等的減少可通過共享針對CABAC和CAVLC編碼法兩個的共同部件和架構(gòu)得以實現(xiàn)。例如,大多數(shù)視頻處理裝置可包括支持CABAC和CAVLC編碼法兩個的功能和能力,其中,該視頻處理裝置大多數(shù)操作地執(zhí)行CABAC和CAVLC熵編碼以及CABAC和CAVLC熵解碼。針對實施并且操作為支持CABAC和CAVLC熵解碼的硬件式解碼器,支持兩種類型解碼
18(即,CABAC和CAVLC熵解碼)的必要條件通常需要專用硬件塊,用于解析CABAC和CAVLC語法。即,針對支持CAVLC和CABAC語法分別實施単獨并且不同的硬件塊。雖然該雙重功能可包括在被實施為支持并且符合AVC的某些視頻處理裝置內(nèi),但是在該視頻處理裝置內(nèi)資源使用效率相對較低。此外,該雙重功能可不幸地增加視頻處理裝置(其被實現(xiàn)為支持相互獨立并且不同的CABAC和CAVLC編碼法)的成本、復(fù)雜度、晶粒大小、有效面積、處理資源等。本文中,提出統(tǒng)ー的CABAC/CAVLC編碼架構(gòu)和/或方法,該編碼架構(gòu)和/或方法可提供視頻處理裝置內(nèi)可擴展復(fù)雜度。例如,在目前正在開發(fā)的一個視頻編碼標(biāo)準(zhǔn)中,諸如HEVC/H. 265 (例如,結(jié)合于上文作為參考),可利用該統(tǒng)ー CABAC/CAVLC編碼架構(gòu),使得單個熵編碼架構(gòu)和/或方法可提供可擴展復(fù)雜度。具體地,根據(jù)本發(fā)明不同方面及其等同物的統(tǒng)ー CABAC/CAVLC編碼架構(gòu)和/或方法,可實施多種選項從而提供效率和復(fù)雜度之間的多種設(shè)計和權(quán)衡,而不需要兩個完全獨立的熵編碼架構(gòu)和/或方法,包括電路、硬件、軟件、處理模塊、部件、有效面積、晶粒大小和/或處理資源等的任何可能的實現(xiàn)方式重復(fù)。就上述圖11而言可以看出,具體地,就倉而言,根據(jù)CABAC熵編碼產(chǎn)生不同的相應(yīng)值,以及具體地就比特而言,根據(jù)CAVLC熵編碼產(chǎn)生不同的相應(yīng)值。在某些實施方式中,根據(jù)CABAC熵編碼可利用完全不同的ニ值化。即,替代地,可利用不同地實現(xiàn)的可變長度ニ值化或者其變形,而不是利用目前根據(jù)CABAC熵編碼利用的特定ニ值化。就本文提出的其他圖示和/或?qū)嵤┓绞蕉詰?yīng)當(dāng)理解,通過利用可變長度ニ值化和根據(jù)CABAC熵編碼的算木編碼的適當(dāng)設(shè)計組合,就CAVLC熵編碼而言可實現(xiàn)共性。就本文提出的其他圖示和/或?qū)嵤┓绞蕉詰?yīng)當(dāng)理解,為設(shè)計者提供了對實現(xiàn)根據(jù)本發(fā)明多個方面及其等同物的統(tǒng)ー CABAC/CAVLC編碼架構(gòu)和/或方法的變化的極大自由度。圖14示出了分別針對CABAC和CAVLC熵編碼的單獨和相應(yīng)架構(gòu)的實施方式1400,以及具體地,其中利用可變長度編碼法(VLC)編碼。當(dāng)比較實施方式1400與圖12實施方式1200時,可以看出,由可變長度編碼法(VLC)編碼(其在圖12的實施方式1200中根據(jù)CAVLC熵編碼而被采用)來替換根據(jù)CABAC熵編碼所采用的ニ值化處理。即,在實施方式1400中,針對CABAC熵編碼和CAVLC熵編碼這兩者利用極為相同的可變長度編碼法(VLC)編碼。當(dāng)執(zhí)行CABAC熵編碼時,根據(jù)可變長度編碼法(VLC)編碼產(chǎn)生的倉隨后經(jīng)歷算術(shù)編碼,從而產(chǎn)生CABAC比特,該CABAC比特被插入壓縮比特流中。就執(zhí)行CAVLC編碼而言,本圖底部所示的操作和處理與圖12的實施方式1200中執(zhí)行的操作和處理類似和相似。即,就實施方式1400中的CAVLC熵編碼而言,語法元素經(jīng)歷VLC編碼,從而產(chǎn)生CAVLC比特,該CAVLC比特被插入壓縮比特流中。從某些角度看,就圖14而言所示的實施方式1400可理解為使用來自AVC的VLC編碼,而不是根據(jù)CABAC編碼通常利用的ニ值化。根據(jù)本文提出的其他圖示和/或?qū)嵤┓绞?,讀者應(yīng)當(dāng)正確理解,可替代性利用可變長度ニ值化的不同的相應(yīng)實施方式。即,使用來自AVC的VLC編碼而不是根據(jù)CABAC編碼通常利用的ニ值化,這是ー個可行實施方式,但是若需要,可替代性利用許多其他實施方式、變形例、等同物等。圖15示出了分別針對CABAC和CAVLC熵解碼的單獨和相應(yīng)的架構(gòu)的實施方式1500,以及具體地,其中利用VLC解碼。當(dāng)比較實施方式1500與圖13的實施方式1300時,
19可以看出,由可變長度編碼法(VLC)解碼(其在圖13的實施方式1300中根據(jù)CAVLC熵解碼來利用)來替換根據(jù)CABAC熵解碼的倉解碼。即,在實施方式1500中,針對CABAC熵解碼和CAVLC熵解碼兩個利用極為相同的VLC解碼。當(dāng)執(zhí)行CABAC熵解碼吋,根據(jù)算術(shù)解碼產(chǎn)生的倉隨后經(jīng)歷VLC解碼,從而產(chǎn)生已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的語法元素。就其他圖示和/或?qū)嵤┓绞蕉砸蔡岬?,理想?例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CABAC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的那些語法元素相同。就執(zhí)行CAVLC解碼而言,本圖底部所示的操作和處理與圖13的實施方式1300中執(zhí)行的操作和處理類似和相似。即,就實施方式1500中的CAVLC熵解碼而言,比特經(jīng)歷VLC解碼,從而產(chǎn)生已經(jīng)根據(jù)CAVLC熵編碼產(chǎn)生的語法元素。就其他圖示和/或?qū)嵤┓绞蕉砸蔡岬剑硐氲?例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CABAC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的那些語法元素相同。就圖7的實施方式700和圖15的實施方式1500而言可以看出,在各CABAC和CAVLC編碼架構(gòu)和/或方法中實現(xiàn)某些功能塊和/或部件的不同的相應(yīng)的實現(xiàn)方式??紤]到CABAC和CAVLC編碼架構(gòu)和/或方法的各個實現(xiàn)方式之間的共性和相似性,某些隨后實施方式和/或圖示操作為組合和共享該功能塊和/或部件。例如,針對CABAC和CAVLC編碼架構(gòu)和/或方法這兩者,并不一定需要利用不同且單獨實現(xiàn)的功能塊和/或部件。由于CABAC和CAVLC編碼架構(gòu)和/或方法的各個實現(xiàn)方式之間的某個共性和相似性,在電路、硬件、軟件、處理模塊、部件、有效面積、晶粒大小和/或處理資源等方面可作出節(jié)省,因為許多被用于支持CABAC和CAVLC編碼這兩者。圖16A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式1600,以及具體地,其中利用可變長度編碼法(VLC)編碼。就圖16A的實施方式1600而言可以看出,針對CABAC和CAVLC熵編碼這兩者利用和共享VLC編碼。語法元素經(jīng)歷VLC編碼。根據(jù)CAVLC編碼,VLC編碼語法元素被提供為CAVLC比特,該CAVLC比特被插入壓縮比特流中。然而,根據(jù)CABAC編碼,VLC編碼語法元素隨后經(jīng)歷算術(shù)編碼,從而產(chǎn)生CABAC比特,該CABAC比特被插入壓縮比特流中。就實施方式1600而言可以看出,可利用共享功能塊和/或部件,用于支持CABAC和CAVLC熵編碼這兩者。圖16B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式1601,以及具體地,其中利用可變長度編碼法(VLC)解碼。就圖16B的實施方式1601而言可以看出,針對CABAC和CAVLC熵解碼這兩者利用和共享VLC解碼。根據(jù)利用的特定實現(xiàn)方式,由熵解碼架構(gòu)和/或方法接收CABAC比特或者CAVLC比特。根據(jù)CAVLC熵解碼,所接收的CAVLC比特經(jīng)歷VLC解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CAVLC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CAVLC熵編碼產(chǎn)生的那些語法元素相同。根據(jù)CABAC熵解碼,所接收的CABAC比特經(jīng)歷算木解碼,從而產(chǎn)生倉,該倉隨后經(jīng)歷VLC解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CABAC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的那些語法元素相同。就實施方式1600和1601而言可以看出,針對CABAC和CAVLC熵編碼這兩者利用公共利用的功能塊和/或部件。在本案中,在實施方式1600中,針對CABAC和CAVLC熵編碼這兩者利用VLC編碼;在實施方式1601中,針對CABAC和CAVLC熵解碼這兩者利用VLC
20解碼。適當(dāng)設(shè)計并且公共共享的VLC編碼和VLC解碼使得更高效地實現(xiàn)對于可操作地支持CABAC和CAVLC熵編碼這兩者的架構(gòu)和/或方法。雖然實施方式1600和1601利用用在CABAC和CAVLC熵編碼中的VLC編碼和VLC解碼,但是請注意,在針對CABAC/CAVLC熵編碼的ニ值化統(tǒng)ー實現(xiàn)方式中可代替利用公共共享的功能塊和/或部件的其他實現(xiàn)方式。即,如圖16A和圖16B中分別所示的實施方式1600和1601利用分別支持CABAC/CAVLC熵編碼的共同VLC編碼和VLC解碼,在其他實施方式中可利用可變長度ニ值化的替代形式。圖17A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式1700,以及具體地,其中利用可變長度ニ值化。實施方式1700大體上描繪針對CABAC和CAVLC熵編碼這兩者共同利用的可變長度ニ值化。就圖17A而言可以看出,語法元素經(jīng)歷針對CABAC和CAVLC熵編碼這兩者的可變長度ニ值化。然而,就CABAC編碼而言,已經(jīng)經(jīng)歷可變長度ニ值化(從而產(chǎn)生倉)的語法元素隨后經(jīng)歷算術(shù)編碼,從而產(chǎn)生CABAC比持,該CABAC比特被插入壓縮比特流中??商娲?,就CAVLC編碼而言,已經(jīng)經(jīng)歷可變長度ニ值化的語法元素事實上為CAVLC比特,該CAVLC比特被插入壓縮比特流中。就圖17A的實施方式1700而言可以理解,針對CABAC和CAVLC熵編碼這兩者利用單個統(tǒng)一二值化。例如,CABAC ニ值化和CAVLC可變長度編碼之間給定的相似性,針對CABAC和CAVLC熵編碼這兩者可利用廣義、單個統(tǒng)一二值化。此外,請注意,該單個統(tǒng)一二值化的ー個可行實施方式將為利用根據(jù)AVC利用的VLC編碼。然而,除了根據(jù)AVC利用的實施方式之外,可替代性利用該單個統(tǒng)一二值化的替代性變形例。圖17B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式1701,以及具體地,其中利用可變長度倉解碼。實施方式1701大體上描繪針對CABAC和CAVLC熵解碼這兩者共同利用的可變長度倉解碼。就圖17B而言可以看出,針對CABAC和CAVLC熵解碼這兩者利用和共享可變長度倉解碼。根據(jù)正在利用的特定實施,由熵解碼架構(gòu)和/或方法接收CABAC比特或者CAVLC比特。根據(jù)CAVLC熵解碼,所接收的CAVLC比特經(jīng)歷可變長度倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CAVLC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CAVLC熵編碼產(chǎn)生的那些語法元素相同。根據(jù)CABAC熵解碼,所接收的CABAC比特經(jīng)歷算木解碼,從而產(chǎn)生倉,該倉隨后經(jīng)歷可變長度倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CABAC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的那些語法元素相同。根據(jù)未來視頻編碼標(biāo)準(zhǔn)開發(fā),包括目前正在開發(fā)的標(biāo)準(zhǔn),諸如HEVC,可利用適當(dāng)設(shè)計的可變長度ニ值化,使得CABAC解壓縮的輸出(倉)將使用與CAVLC完全相同的語法。以此方式,編碼器可選擇是否提供高效率還是低復(fù)雜度,但是VLC解碼將只需要單個語法解析引擎。可以看出,通過提供操作地支持CABAC和CAVLC熵編碼這兩者的該架構(gòu)和/或方法,可利用單個語法解析引擎。請注意,當(dāng)需要高效率編碼時,熵編碼器可執(zhí)行ニ值化和算術(shù)編碼這兩者。當(dāng)需要低復(fù)雜度時,簡單地跳過或者繞過算術(shù)編碼。兩個情況(CABAC和CAVLC熵編碼)下使用的ニ進制碼為相同,所以無需另外語法解析器。自適應(yīng)算木編碼和ニ進制步驟之間復(fù)雜度分布也可被修改從而更佳匹配本文提出的新穎架構(gòu)和/或方法。例如,在修改可變長度ニ值化和算木編碼的復(fù)雜度方面,設(shè)計者
21被給予很大寬容度。例如,如果CABAC熵編碼需要固定壓縮,那么可變長度ニ值化復(fù)雜性被修改的程度將引導(dǎo)算術(shù)編碼復(fù)雜性的相對應(yīng)修改。例如,如果可變長度ニ值化復(fù)雜性被增加到ー個程度,那么算術(shù)編碼復(fù)雜性將減少到相對應(yīng)程度,使得根據(jù)CABAC熵編碼的整體壓縮將保留不變??商鎿Q地,如果可變長度ニ值化復(fù)雜性被減少到ー個程度,那么算術(shù)編碼復(fù)雜性將增加到相對應(yīng)程度,使得根據(jù)CABAC熵編碼的整體壓縮將保留不變。該實施就本文提出的某些其他實施方式和/或圖示而言描述。還應(yīng)當(dāng)理解,根據(jù)任何給定應(yīng)用所需的特定實現(xiàn)方式,可増加或者減少CABAC和CAVLC熵編碼這兩者的整體壓縮??紤]到利用根據(jù)AVC定義的CABAC ニ值化的實施方式,請注意,與由CABAC熵編碼和/或CAVLC熵編碼提供的整體壓縮相比,以AVC定義的CABAC ニ值化本身可視為提供有些相對弱的壓縮。即,與其他整體熵編碼方案相比,根據(jù)CABAC熵編碼的ニ值化操作(諸如,就圖12的實施方式1200而言)可視為提供相對弱的壓縮。因為CABAC倉通過另外算術(shù)編碼步驟(此外,諸如就圖12的實施方式1200而言可以看出),用于AVC CABAC的特定ニ進制碼無需特別高效,前提是它們可依靠由算術(shù)編碼步驟提供的額外壓縮。另ー方面,CAVLC提供相當(dāng)高效的可變長度編碼。雖然CAVLC熵編碼可能比CABAC編碼整體(例如,當(dāng)使用算術(shù)編碼時)相對不太高效,但是在假設(shè)其復(fù)雜性減少的某些應(yīng)用中,CAVLC (尤其是其VLC編碼分量)可以接受。在統(tǒng)一二值化方案中,諸如根據(jù)本文提出本發(fā)明不同方面及其等同物,假設(shè)在前面使用較強ニ進制碼,算木編碼上下文自適應(yīng)可能略微弱化。就本文提出的其他實施方式和/或圖而言還應(yīng)當(dāng)理解,根據(jù)票證應(yīng)用,當(dāng)使用該重新定義和/或修改的CABAC ニ值化時,可選擇在増加的壓縮效率和復(fù)雜性之間適合權(quán)衡的適當(dāng)判定。例如,在意圖提供相同整體壓縮的實施方式中,相對較強ニ值化可與相對或者略微較弱自適應(yīng)算術(shù)編碼器組合,以在不增加總復(fù)雜性的情況下提供與現(xiàn)有CABAC方法相同的整體性能。數(shù)個隨后圖示和/或?qū)嵤┓绞矫枥L就增加或者減少可變長度ニ值化復(fù)雜性和/或増加或者減少根據(jù)CABAC/CAVLC熵編碼的算術(shù)編碼復(fù)雜性而言可作出的某些權(quán)衡取舍。此外,數(shù)個隨后圖示和/或?qū)嵤┓绞矫枥L就增加或者減少可變長度倉解碼復(fù)雜性和/或増加或者減少根據(jù)CABAC/CAVLC熵解碼的算木解碼復(fù)雜性而言可作出的某些權(quán)衡取舎。圖18A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式1800,以及具體地,其中利用復(fù)雜性増加可變長度ニ值化,以及也具體地結(jié)合針對CABAC熵編碼的復(fù)雜性降低的算術(shù)編碼。實施方式1800大體上描繪針對CABAC和CAVLC熵編碼這兩者共同利用的復(fù)雜性相對增加的可變長度ニ值化。就圖18A而言可以看出,語法元素經(jīng)歷針對CABAC和CAVLC熵編碼這兩者的復(fù)雜性相對增加的可變長度ニ值化。然而,就CABAC編碼而言,已經(jīng)經(jīng)歷復(fù)雜性相對增加的可變長度ニ值化(從而產(chǎn)生倉)的語法元素隨后經(jīng)歷復(fù)雜性相對降低的算木編碼,從而產(chǎn)生CABAC比特,該CABAC比特被插入壓縮比特流中。可替換地,就CAVLC編碼而言,已經(jīng)經(jīng)歷復(fù)雜性相對增加的可變長度ニ值化的語法元素事實上為CAVLC比特,該CAVLC比特被插入壓縮比特流中??梢钥闯?,當(dāng)期望保持相對固定的CABAC壓縮時,就可變長度ニ值化和根據(jù)CABAC/CAVLC熵編碼的算木編碼而言可作出某些權(quán)衡取舎。一般而言,當(dāng)可變長度ニ值化復(fù)雜性增加時,那么算木編碼復(fù)雜性應(yīng)當(dāng)相應(yīng)減少??商鎿Q地,當(dāng)可變長度ニ值化復(fù)雜性減少吋,那么算木編碼復(fù)雜性應(yīng)當(dāng)相應(yīng)增加。此外,就該實施方式而言,就不同功能塊和/或部件而言作出相應(yīng)增加/降低復(fù)雜性,以確保相對固定的CABAC壓縮。當(dāng)然,就圖18A的實施方式1800而言可以看出,當(dāng)執(zhí)行CAVLC熵編碼吋,復(fù)雜性相對增加的可變長度ニ值化將提供比根據(jù)典型CAVLC熵編碼進行的壓縮相對較大的壓縮。圖18B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式1801,以及具體地,其中根據(jù)CABAC熵解碼來利用復(fù)雜性増加的可變長度倉解碼,以及也具體地結(jié)合針對CABAC熵解碼的復(fù)雜性降低的算木解碼。圖18B的實施方式1801中的操作可恰當(dāng)理解為圖18A的實施方式1800中所示操作的互補或者逆操作。實施方式1801大體上描繪針對CABAC和CAVLC熵解碼這兩者共同利用的復(fù)雜性相對增加的可變長度倉解碼。就圖18B而言可以看出,針對CABAC和CAVLC熵解碼這兩者利用和共享復(fù)雜性相對增加的可變長度倉解碼。根據(jù)正在利用的特定實現(xiàn)方式,由熵解碼架構(gòu)和/或方法接收CABAC比特或者CAVLC比特。根據(jù)CAVLC熵解碼,所接收的CAVLC比特經(jīng)歷復(fù)雜性相對增加的可變長度倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CAVLC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CAVLC熵編碼產(chǎn)生的那些語法元素相同。根據(jù)CABAC熵解碼,所接收的CABAC比特經(jīng)歷復(fù)雜性相對降低的算木解碼,從而產(chǎn)生倉,該倉隨后經(jīng)歷復(fù)雜性相對增加的可變長度倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CABAC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的那些語法元素相同。圖19A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式1900,以及具體地,其中利用復(fù)雜性増加的可變長度ニ值化。實施方式1900大體上描繪針對CABAC和CAVLC熵編碼這兩者共同利用的復(fù)雜性相對增加的可變長度ニ值化。就圖19A而言可以看出,語法元素經(jīng)歷針對CABAC和CAVLC熵編碼這兩者的復(fù)雜性相對增加的可變長度ニ值化。然而,就CABAC編碼而言,已經(jīng)經(jīng)歷復(fù)雜性相對增加的可變長度ニ值化(從而產(chǎn)生倉)的語法元素隨后經(jīng)歷算術(shù)編碼,從而產(chǎn)生CABAC比特,該CABAC比特被插入壓縮比特流中。可替換地,就CAVLC編碼而言,已經(jīng)經(jīng)歷復(fù)雜性相對增加的可變長度ニ值化的語法元素事實上為CAVLC比特(其插入壓縮比特流)。就本圖而言可以看出,雖然可變長度ニ值化復(fù)雜性相對增加,但是根據(jù)CABAC熵編碼利用的算木編碼復(fù)雜性并不一定相對減少。即,根據(jù)CABAC熵編碼的算木編碼可能未改變。因此,應(yīng)當(dāng)理解,基于針對CABAC和CAVLC熵編碼這兩者利用的可變長度ニ值化的復(fù)雜性增加,針對這兩者的整體壓縮將相應(yīng)增加。圖19B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式1901,以及具體地,其中根據(jù)CABAC熵解碼來利用復(fù)雜性増加的可變長度倉解碼。圖19B的實施方式1901中的操作可恰當(dāng)理解為圖19A的實施方式1900中所示操作的互補或者逆操作。實施方式1901大體上描繪針對CABAC和CAVLC熵解碼這兩者共同利用的復(fù)雜性相對增加的可變長度倉解碼。就圖19B而言可以看出,針對CABAC和CAVLC熵解碼這兩者利用和共享復(fù)雜性相對增加的可變長度倉解碼。根據(jù)正在利用的特定實現(xiàn)方式,由熵解碼架構(gòu)和/或方法接收CABAC比特或者CAVLC比特。根據(jù)CAVLC熵解碼,所接收的CAVLC比特經(jīng)歷復(fù)雜性相對增加的可變長度倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CAVLC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CAVLC熵編碼產(chǎn)生的那些語法元素相同。根據(jù)CABAC熵解碼,所接收的CABAC比特經(jīng)歷算木解碼,從而產(chǎn)生倉,該倉隨后經(jīng)歷復(fù)雜性相對增加的可變長度倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CABAC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的那些語法元素相同。就本圖而言可以看出,雖然可變長度倉解碼復(fù)雜性相對增加,但是根據(jù)CABAC熵解碼利用的算木解碼的復(fù)雜性并不一定相對減少。即,根據(jù)CABAC熵解碼的算木解碼可能未改變。為此,應(yīng)當(dāng)理解,根據(jù)CABAC和CAVLC熵解碼這兩者接收的比特整體壓縮將對應(yīng)于相對增加的壓縮;因此,針對CABAC和CAVLC熵解碼這兩者利用的可變長度ニ值化復(fù)雜性也將相應(yīng)地相對增加。圖20A示出了針對CABAC和CAVLC熵編碼這兩者的統(tǒng)ー架構(gòu)的實施方式2000,以及具體地,其中利用復(fù)雜性降低的可變長度ニ值化。實施方式2000大體上描繪針對CABAC和CAVLC熵編碼這兩者共同利用的復(fù)雜性相對降低的可變長度ニ值化。就圖20A而言可以看出,語法元素經(jīng)歷針對CABAC和CAVLC熵編碼這兩者的復(fù)雜性相對降低的可變長度ニ值化。然而,就CABAC編碼而言,已經(jīng)經(jīng)歷復(fù)雜性相對降低的可變長度ニ值化(從而產(chǎn)生倉)的語法元素隨后經(jīng)歷算術(shù)編碼,從而產(chǎn)生CABAC比特,該CABAC比特被插入壓縮比特流中。可替換地,就CAVLC編碼而言,已經(jīng)經(jīng)歷復(fù)雜性相對降低的可變長度ニ值化的語法元素事實上為CAVLC比特(其被插入壓縮比特流)。就本圖而言可以看出,雖然可變長度ニ值化的復(fù)雜性相對減少,但是根據(jù)CABAC熵編碼利用的算木編碼復(fù)雜性并不一定相對減少。即,根據(jù)CABAC熵編碼的算木編碼可能未改變。因此,應(yīng)當(dāng)理解,基于針對CABAC和CAVLC熵編碼這兩者利用的可變長度ニ值化的復(fù)雜性降低,針對這兩者的整體壓縮將相應(yīng)減少。圖20B示出了針對CABAC和CAVLC熵解碼這兩者的統(tǒng)ー架構(gòu)的實施方式2001,以及具體地,其中根據(jù)CABAC熵解碼來利用復(fù)雜性降低的可變長度倉解碼。圖20B的實施方式2001中的操作可恰當(dāng)?shù)乩斫鉃閳D20A的實施方式2000中所示操作的互補或者逆操作。實施方式2001大體上描繪針對CABAC和CAVLC熵解碼這兩者共同利用的復(fù)雜性相對降低的可變長度倉解碼。就圖20B而言可以看出,針對CABAC和CAVLC熵解碼這兩者利用和共享復(fù)雜性相對降低的可變長度倉解碼。根據(jù)正在利用的特定實現(xiàn)方式,由熵解碼架構(gòu)和/或方法接收CABAC比特或者CAVLC比特。根據(jù)CAVLC熵解碼,所接收的CAVLC比特經(jīng)歷復(fù)雜性相對降低的可變長度倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CAVLC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CAVLC熵編碼產(chǎn)生的那些語法元素相同。 根據(jù)CABAC熵解碼,所接收的CABAC比特經(jīng)歷算木解碼,從而產(chǎn)生倉,該倉隨后經(jīng)歷復(fù)雜性相對降低的可變長度倉解碼,從而產(chǎn)生語法元素。理想地(例如,假設(shè)沒有不可恢復(fù)誤差、有害影響等),根據(jù)CABAC熵解碼產(chǎn)生的語法元素與已經(jīng)根據(jù)CABAC熵編碼產(chǎn)生的那些語法元素相同。就本圖而言可以看出,雖然可變長度倉解碼復(fù)雜性相對降低,但是根據(jù)CABAC熵解碼利用的算木解碼復(fù)雜性并不一定相對減少。即,根據(jù)CABAC熵解碼的算木解碼可能未改變。為此,應(yīng)當(dāng)理解,根據(jù)CABAC和CAVLC熵解碼這兩者接收的比特整體壓縮將對應(yīng)于相對減少的壓縮;因此,針對CABAC和CAVLC熵解碼這兩者利用的可變長度ニ值化的復(fù)雜性也將相應(yīng)地相對減少。就本文提出的多種實施方式和/或圖而言可以適當(dāng)理解,按照以下方式向設(shè)計者提供了實現(xiàn)多種功能塊和/或方法的很大靈活度,即,該方式使得根據(jù)CABAC/CAVLC熵編碼以及CABAC/CAVLC熵解碼可共享并且共同使用某些功能塊和/或方法。根據(jù)特定應(yīng)用,根據(jù)CABAC和CAVLC熵編碼架構(gòu)和/或方法,在共同共享的功能塊和/或方法與非共享的功能塊和/或方法的復(fù)雜性之間可作出多種權(quán)衡取舎。例如,如果CABAC編碼需要共同或者固定壓縮,那么在可變長度ニ值化/可變長度倉解碼的復(fù)雜性與相對應(yīng)的算木編碼/解碼功能塊和/或方法的復(fù)雜性之間可作出權(quán)衡取舍??商鎿Q地,如果CABAC或者CAVLC編碼需要増加或者減少壓縮,那么可實現(xiàn)適當(dāng)選擇和修改的可變長度ニ值化/可變長度倉解碼以及相對應(yīng)算術(shù)編碼/解碼功能塊和/或方法??梢郧‘?dāng)理解,通過利用CABAC/CAVLC熵編碼架構(gòu)和/或方法內(nèi)某些共同共享和共同利用的功能塊和/或方法,在電路、硬件、軟件、處理模塊、部件、有效面積、晶粒大小和/或處理資源等方面節(jié)省,因為許多被用于支持CABAC和CAVLC編碼這兩者。圖21、圖22A、圖22B、圖23、圖24A和圖24B示出了根據(jù)視頻編碼(例如,在ー個或者多個通信裝置內(nèi))執(zhí)行的方法的多種實施方式。參考圖21的方法2100,方法2100以接收多個語法元素作為開始,如塊2110所示。方法2100以操作可變長度ニ值化模塊來處理該多個語法元素以產(chǎn)生多個上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)倉或者多個上下文自適應(yīng)可變長度編碼(CAVLC)比特作為繼續(xù),如塊2120所示。方法2100然后以操作算術(shù)編碼模塊來處理該多個CABAC倉從而產(chǎn)生多個CABAC比特進行操作,如塊2130所示。從某些角度看并且就某些實施方式而言,塊2120和2130的操作可視為對應(yīng)于熵編碼(例如,諸如根據(jù)熵編碼器操作執(zhí)行)。方法2100以選擇性輸出多個CABAC比特或者多個CAVLC比特作為繼續(xù),如塊2140所示。參考圖22A的方法2200,方法2200以接收多個語法元素作為開始,如塊2210所示。方法2200以操作可變長度ニ值化模塊來處理該多個語法元素從而產(chǎn)生多個上下文自適應(yīng)可變長度編碼(CAVLC)比特作為繼續(xù),如塊2220所示。方法2200然后以輸出多個CAVLC比特作為操作,如塊2230所示。參考圖22B的方法2201,方法2201以接收多個語法元素作為開始,如塊2211所示。方法2201然后以操作可變長度ニ值化模塊來處理該多個語法元素以產(chǎn)生多個上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)倉作為操作,如塊2221所示。方法2201以操作算木編碼模塊來處理該多個CABAC倉以產(chǎn)生多個CABAC比特作為繼續(xù),如塊2231所示。方法2201然后以輸出多個CABAC比特作為操作,如塊2241所示。參考圖23的方法2300,方法2300以接收多個ニ進制算術(shù)編碼(CABAC)比特或者多個上下文自適應(yīng)可變長度編碼(CAVLC)比特作為開始,如塊2310所示。方法2300以操作算術(shù)解碼模塊來處理該多個CABAC比特以產(chǎn)生多個CABAC倉作為繼續(xù),如塊2320所示。方法2300然后以操作可變長度倉解碼模塊來處理該多個CAVLC比特或者該多個CABAC倉以產(chǎn)生該多個語法元素的多個估計作為操作,如塊2330所示。從某些角度看并且就某些實施方式而言,塊2320和2330的操作可視為對應(yīng)于熵解碼(例如,諸如根據(jù)熵解碼
25器操作而執(zhí)行)。參考圖24A的方法2400,方法2400以接收多個上下文自適應(yīng)可變長度編碼(CAVLC)比特作為開始,如塊2410所示。方法2400以操作可變長度倉解碼模塊來處理該多個CAVLC比特以產(chǎn)生多個語法元素的多個估計作為繼續(xù),如塊2420所示。參考圖24B的方法2401,方法2401以接收多個ニ進制算術(shù)編碼(CABAC)比特作為開始,如塊2411所示。方法2401然后以操作算木解碼模塊來處理該多個CABAC比特以產(chǎn)生多個CABAC倉作為操作,如塊2421所示。方法2401以操作可變長度倉解碼模塊來處理該多個CABAC倉以產(chǎn)生多個語法元素的多個估計作為繼續(xù),如塊2431所示。還請注意,就本文中多種方法而言所描述的多種操作和功能可在諸如使用基帶處理模塊和/或在其內(nèi)實現(xiàn)的處理模塊和/或在其內(nèi)的其他部件的通信裝置內(nèi)執(zhí)行。如本文中所使用,術(shù)語“大體上”和“大約”為其相對應(yīng)術(shù)語和/或項之間相対性提供業(yè)界認(rèn)可的公差。該業(yè)界認(rèn)可的公差范圍從百分之一到百分之五十,并且對應(yīng)于但不限于部件值、集成電路エ藝偏差、溫度偏差、升降次數(shù)和/或熱噪聲。項之間的相対性范圍從百分之幾差異到大幅差異。也如本文中所使用,術(shù)語“操作地耦接至”、“耦接至”和/或“耦接”包括項之間直接耦接和/或項目間經(jīng)由中間項(例如,項包括但不限于部件、元件、電路和/或模塊)的間接耦接,其中,針對間接耦接,中間項不更改信號的信息,而可調(diào)整其電流電平、電壓電平和/或功率電平。還如本文中所使用,推斷耦接(即,通過推斷,ー個元件耦接至另一元件)包括在兩個項之間以與“耦接至”相同方式的直接和間接耦接。還如本文中所使用,術(shù)語“可操作為”或者“可操作地耦接至”表明項包括電源連接、輸入、輸出等中ー個或者多個,當(dāng)啟用時執(zhí)行ー個或者多個其相對應(yīng)功能,并且還包括至一個或者多個其他項的推斷耦接。還如本文中所使用,術(shù)語“與..相關(guān)聯(lián)”包括單獨項和/或嵌入另ー項內(nèi)的一個項的直接和/或間接耦接。如本文中所使用,術(shù)語“有利地比較”表明兩個以上項、信號等的比較,提供所需關(guān)系。例如,當(dāng)所需關(guān)系為信號I比信號2具有更大幅值時,當(dāng)信號I幅值大于信號2幅值時或者當(dāng)信號2幅值小于信號I幅值時,可實現(xiàn)有利比較。也如本文中所使用,術(shù)語“處理模塊”、“模塊”、“處理電路”和/或“處理單元”(例如,包括諸如可操作、實現(xiàn)和/或用于編碼、用于解碼、用于基帶處理等的多種模塊和/或電路)可為單個處理裝置或者多個處理裝置。該處理裝置可為微處理器、微控制器、數(shù)字信號處理器、微計算機、中央處理單元、現(xiàn)場可編程門陣列、可編程邏輯裝置、狀態(tài)機、邏輯電路、模擬電路、數(shù)字電路和/或基于硬編碼電路和/或操作指令來操縱信號(模擬和/或數(shù)字)的任何裝置。處理模塊、模塊、處理電路和/或處理單元可具有相關(guān)聯(lián)內(nèi)存和/或集成內(nèi)存元件,該相關(guān)聯(lián)內(nèi)存和/或集成內(nèi)存元件可為單個內(nèi)存裝置、多個內(nèi)存裝置和/或該處理模塊、模塊、處理電路和/或處理單元的嵌入式電路。該存儲器裝置可為只讀存儲器(ROM)、隨機存取存儲器(RAM)、易失性存儲器、非易失性存儲器、靜態(tài)存儲器、動態(tài)存儲器、快存、緩存存儲器和/或存儲數(shù)字信息的任何裝置。請注意,如果處理模塊、模塊、處理電路和/或處理單元包括多于ー個處理裝置,那么該處理裝置可集中式定位(例如,經(jīng)由有線和/或無線總線結(jié)構(gòu)直接耦接在一起)或者可分布式定位(例如,經(jīng)由局域網(wǎng)絡(luò)和/或廣域網(wǎng)絡(luò)間接耦接的云計算)。還請注意,如果處理模塊、模塊、處理電路和/或處理單元經(jīng)由狀態(tài)機、模擬電路、數(shù)字電路和/或邏輯電路來實現(xiàn)其ー個或者多個功能,那么存儲相應(yīng)操作指令的存儲器和/或存儲器元件可嵌入于包括狀態(tài)機、模擬電路、數(shù)字電路和/或邏輯電路的電路內(nèi)或者在該電路外部。還請注意,存儲器元件可存儲與一個或者多個圖中所示步驟和/或功能中的至少ー些相對應(yīng)的硬編碼和/或操作指令,以及處理模塊、模塊、處理電路和/或處理單元執(zhí)行該硬編碼和/或操作指令。該存儲器裝置或者存儲器元件可包括在制品中。上文借助于說明本發(fā)明的特定功能和關(guān)系的方法步驟已經(jīng)描述了本發(fā)明。為了便于描述,本文中已經(jīng)任意定義這些功能構(gòu)建塊和方法步驟的邊界和順序。只要適當(dāng)?shù)貓?zhí)行特定功能和關(guān)系,就可定義替代性邊界和順序。因此,任何替代性邊界或者順序均在本發(fā)明范圍和精神內(nèi)。此外,為了便于描述,已經(jīng)任意定義這些功能構(gòu)建塊的邊界。只要適當(dāng)?shù)貓?zhí)行某些重要功能,就可定義替代性邊界。同樣,本文中也可已經(jīng)任意定義流程圖方塊來說明某些重要功能。在使用范圍內(nèi),流程圖方塊邊界和順序可另外定義,并且仍可執(zhí)行某些重要功能。功能構(gòu)建塊和流程圖方塊及順序這兩者的替代性定義均在本發(fā)明范圍和精神內(nèi)。所屬領(lǐng)域的普通技術(shù)人員也應(yīng)當(dāng)認(rèn)識到,本文中功能構(gòu)建塊以及其他說明性方塊、模塊和部件可實現(xiàn)為通過分離部件、專用集成電路、執(zhí)行適當(dāng)軟件的處理器等或者它們?nèi)魏谓M合來說明。在一個或者多個實施方式方面,也可能已經(jīng)至少部分描述本發(fā)明。本發(fā)明實施方式在本文中被用作說明本發(fā)明、本發(fā)明方面、本發(fā)明特征、本發(fā)明概念和/或本發(fā)明實例。體現(xiàn)本發(fā)明的裝置、制品、機器和/或處理的物理實施方式可包括參考本文中所討論實施方式描述的方面、特征、概念、實例等中一個或者多個。此外,根據(jù)各個圖,實施方式可包括有可使用相同或者不同參考標(biāo)號的相同或者相似命名的功能、步驟、模塊等,因為該功能、步驟、模塊等可為相同或者相似功能、步驟、模塊等或者不同功能、步驟、模塊等。除非另有特別相反說明,本文提出的任何圖中到元件、從元件和/或元件之間的信號可為模擬或者數(shù)字、連續(xù)時間或者時間離散以及單端或者差分。例如,如果信號路徑示出為單端路徑,那么它也表示差分信號路徑。同樣,如果信號路徑示出為差分路徑,那么它也表示單端信號路徑。雖然本文描述ー個或者多個特定架構(gòu),但是所屬領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)明白,同樣可實施其他架構(gòu),該其他架構(gòu)使用未明確示出的一個或者多個數(shù)據(jù)總線、元件間直接連接和/或其他元件間間接耦接。術(shù)語“模塊”被用本發(fā)明多種實施方式描述中。模塊包括經(jīng)由硬件實施為執(zhí)行ー個或者多個模塊功能的功能塊,諸如處理ー個或者多個輸入信號以產(chǎn)生一個或者多個輸出信號。實現(xiàn)該模塊的硬件自身可結(jié)合軟件和/或固件來操作。如本文所使用,模塊可包括ー個或者多個子模塊,該子模塊本身為模塊。雖然本文已經(jīng)明確描述本發(fā)明的多種功能和特征的特定組合,但是這些特征和功能的其他組合同樣可行。本發(fā)明并不限于本文所公開的特定實例,并且明確包括這些其他組合。
權(quán)利要求
1.一種設(shè)備,包括 輸入端,接收多個語法元素; 熵編碼器,操作地根據(jù)多個復(fù)雜性運算模式自適應(yīng)執(zhí)行熵編碼,所述熵編碼器包括可變長度ニ值化模塊,處理所述多個語法元素以產(chǎn)生多個上下文自適應(yīng)ニ進制算術(shù)編碼CABAC倉或者多個上下文自適應(yīng)可變長度編碼CAVLC比特;以及 算術(shù)編碼模塊,處理所述多個CABAC倉以產(chǎn)生多個CABAC比特;以及至少ー個輸出端,選擇性輸出所述多個CABAC比特或者所述多個CAVLC比特,或者當(dāng)所述熵編碼器根據(jù)所述多個復(fù)雜性運算模式中的第一復(fù)雜性運算模式操作時輸出所述CABAC比特以及當(dāng) 所述熵編碼器根據(jù)所述多個復(fù)雜性運算模式中的第二復(fù)雜性運算模式操作時輸出所述CAVLC比特。
2.根據(jù)權(quán)利要求I所述的設(shè)備,其中 所述多個CABAC倉為所述多個CAVLC比特。
3.根據(jù)權(quán)利要求I所述的設(shè)備,其中 所述熵編碼器在第一時間處或者在第一時間期間根據(jù)所述多個復(fù)雜性運算模式中的所述第一復(fù)雜性運算模式執(zhí)行熵編碼;以及 所述熵編碼器在第二時間處或者在第二時間期間根據(jù)所述多個復(fù)雜性運算模式中的所述第二復(fù)雜性運算模式執(zhí)行熵編碼;并且 所述多個復(fù)雜性運算模式中的所述第二復(fù)雜性運算模式與所述多個復(fù)雜性運算模式中的第一復(fù)雜性運算模式相比不復(fù)雜。
4.根據(jù)權(quán)利要求I所述的設(shè)備,其中 所述設(shè)備為第一通信裝置;并且還包括 第二通信裝置,經(jīng)由至少ー個通信信道與所述第一通信裝置進行通信,所述第二通信裝置包括 至少ー個附加輸入端,接收所述多個CABAC比特或者所述多個CAVLC比持;以及 熵解碼器,包括 算術(shù)解碼模塊,處理所述多個CABAC比特以產(chǎn)生多個CABAC倉;以及可變長度倉解碼模塊,處理所述多個CAVLC比特或者所述多個CABAC倉以產(chǎn)生所述多個語法元素的多個估計;以及其中 所述第二通信裝置為計算機、膝上型計算機、高清晰度(HD)電視機、標(biāo)準(zhǔn)清晰度(SD)電視機、手持式媒體単元、機頂盒(STB)和數(shù)字視頻光盤(DVD)播放器中的至少ー個。
5.一種用于操作通信裝置的熵編碼器的方法,所述方法包括 接收多個語法元素; 操作所述熵編碼器的可變長度ニ值化模塊,從而處理所述多個語法元素,以產(chǎn)生多個上下文自適應(yīng)ニ進制算術(shù)編碼(CABAC)倉或者多個上下文自適應(yīng)可變長度編碼(CAVLC)比特;和 操作所述熵編碼器的算木編碼模塊從而處理所述多個CABAC倉,以產(chǎn)生多個CABAC比持;以及 選擇性輸出所述多個CABAC比特或者所述多個CAVLC比特。
6.根據(jù)權(quán)利要求5所述的方法,其中 所述多個CABAC倉為所述多個CAVLC比特。
7.根據(jù)權(quán)利要求5所述的方法,其中 所述熵編碼器操作地根據(jù)多個復(fù)雜性運算模式自適應(yīng)執(zhí)行熵編碼。
8.根據(jù)權(quán)利要求5所述的方法,還包括 操作所述熵編碼器從而在第一時間處或者在第一時間期間根據(jù)第一復(fù)雜性運算模式執(zhí)行熵編碼;以及 操作所述熵編碼器從而在第二時間處或者在第二時間期間根據(jù)第二復(fù)雜性運算模式執(zhí)行熵編碼。
9.根據(jù)權(quán)利要求5所述的方法,還包括 當(dāng)所述熵編碼器根據(jù)第一復(fù)雜性運算模式操作時,輸出所述CABAC比持;以及 當(dāng)所述熵編碼器根據(jù)與所述第一復(fù)雜性運算模式相比不復(fù)雜的第二復(fù)雜性運算模式操作時,輸出所述CAVLC比特。
10.根據(jù)權(quán)利要求5所述的方法,還包括 操作附加通信裝置,經(jīng)由至少ー個通信信道通過以下步驟與所述通信裝置進行通信 接收所述多個CABAC比特或者所述多個CAVLC比特; 操作算術(shù)解碼模塊來處理所述多個CABAC比特,以產(chǎn)生多個CABAC倉; 操作可變長度倉解碼模塊來處理所述多個CAVLC比特或者所述多個CABAC倉,以產(chǎn)生所述多個語法元素的多個估計,其中,所述附加通信裝置為計算機、膝上型計算機、高清晰度(HD)電視機、標(biāo)準(zhǔn)清晰度(SD)電視機、手持式媒體単元、機頂盒(STB)和數(shù)字視頻光盤(DVD)播放器中至少ー個。
全文摘要
本發(fā)明公開了一種針對CABAC/CAVLC熵編碼的統(tǒng)一二值化。根據(jù)任何期望復(fù)雜度(例如,熵編碼和/或解碼)實施可擴展熵編碼。例如,適當(dāng)實現(xiàn)的上下文自適應(yīng)可變長度編碼(CAVLC)和上下文自適應(yīng)二進制算術(shù)編碼(CABAC)允許根據(jù)不同復(fù)雜度的選擇性熵編碼。給定裝置可根據(jù)第一時間的第一級復(fù)雜度、第二時間的第二級復(fù)雜度、以此類推來操作。編碼器/發(fā)射器裝置和解碼器/接收器裝置之間的適當(dāng)協(xié)調(diào)和發(fā)信允許根據(jù)期望復(fù)雜度的相應(yīng)協(xié)調(diào)。例如,可變長度二值化模塊和算術(shù)編碼模塊可在編碼器/發(fā)射器裝置內(nèi)實施,以及相對應(yīng)的算術(shù)解碼模塊和可變長度倉解碼模塊可在解碼器/接收器裝置內(nèi)實施,從而允許根據(jù)不同復(fù)雜度的熵編碼。
文檔編號H04N7/30GK102917215SQ201210277919
公開日2013年2月6日 申請日期2012年8月6日 優(yōu)先權(quán)日2011年8月5日
發(fā)明者布賴恩·衡, 巴-鐘·申 申請人:美國博通公司