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

交替塊約束決策模式代碼化的制作方法

文檔序號(hào):11532839閱讀:228來(lái)源:國(guó)知局
交替塊約束決策模式代碼化的制造方法與工藝



背景技術(shù):

例如,可以將數(shù)字視頻用于經(jīng)由視頻會(huì)議的遠(yuǎn)程商務(wù)會(huì)議、高清晰度視頻娛樂(lè)、視頻廣告或者對(duì)用戶所生成視頻的共享。由于在視頻數(shù)據(jù)中涉及到的大量數(shù)據(jù),需要高性能壓縮以用于傳輸和存儲(chǔ)。



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

本公開(kāi)涉及用于傳輸或存儲(chǔ)的視頻流數(shù)據(jù)的編碼和解碼,并且更特別地涉及用于使用交替塊約束決策模式代碼化進(jìn)行編碼和解碼的系統(tǒng)、方法以及裝置的方面。

一個(gè)方面是一種用于使用交替塊約束決策模式代碼化的視頻代碼化的方法。使用交替塊約束決策模式代碼化的視頻代碼化可以包括識(shí)別輸入視頻流的當(dāng)前幀的當(dāng)前塊,通過(guò)使用交替塊約束決策模式代碼化對(duì)當(dāng)前塊進(jìn)行編碼來(lái)生成編碼塊,其中,交替塊約束決策模式代碼化包括在先前已代碼化緊鄰塊是無(wú)約束決策模式代碼化塊的條件下將當(dāng)前塊編碼為約束決策模式代碼化塊,將所述代碼化塊包括在輸出比特流中,并且發(fā)射或存儲(chǔ)所述輸出比特流。

在某些實(shí)施方式中,使用交替塊約束決策模式代碼化的視頻代碼化可以包括識(shí)別輸入視頻流的當(dāng)前幀的當(dāng)前塊,并且通過(guò)使用交替塊約束決策模式代碼化對(duì)當(dāng)前塊進(jìn)行編碼來(lái)生成編碼塊,其中,交替塊約束決策模式代碼化包括在第一先前代碼化的緊鄰塊是無(wú)約束決策模式代碼化塊且第二先前代碼化的緊鄰塊是無(wú)約束決策模式代碼化塊的條件下將當(dāng)前塊編碼為約束決策模式代碼化塊。在某些實(shí)施方式中,視頻代碼化使用交替塊約束決策模式代碼化可以包括將編碼塊包括在輸出比特流中,并且發(fā)射或存儲(chǔ)所述輸出比特流。

在某些實(shí)施方式中,使用交替塊約束決策模式代碼化的視頻代碼化包括識(shí)別輸入視頻流的當(dāng)前幀的當(dāng)前塊,并且響應(yīng)于存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)上的指令,由處理器通過(guò)使用交替塊約束決策模式代碼化對(duì)當(dāng)前塊進(jìn)行編碼來(lái)生成編碼塊。使用交替塊約束決策模式代碼化的視頻代碼化還可以包括

在第一先前代碼化的緊鄰塊是無(wú)約束決策模式代碼化塊的條件下將當(dāng)前塊編碼為約束決策模式代碼化塊,其中,所述第一先前代碼化的緊鄰塊是在空間上緊挨著在所述當(dāng)前幀中的當(dāng)前塊的左側(cè)的先前代碼化塊,第二先前代碼化的緊鄰塊是無(wú)約束決策模式代碼化塊,其中,所述第二先前代碼化的緊鄰塊是在空間上緊挨著在所述當(dāng)前幀中的當(dāng)前塊上方的先前代碼化塊,并且第三先前代碼化的緊鄰塊是無(wú)約束決策模式代碼化塊,其中,所述第三先前代碼化的緊鄰塊在空間上與所述當(dāng)前塊是一致的,并且所述第三先前代碼化的緊鄰塊來(lái)自在時(shí)間上緊鄰的先前代碼化幀。進(jìn)一步地,使用基于第一先前代碼化的緊鄰塊和第二先前代碼化的緊鄰塊所識(shí)別的預(yù)測(cè)濾波器對(duì)當(dāng)前塊進(jìn)行編碼,并且基于第一先前代碼化的緊鄰塊、第二先前代碼化的緊鄰塊以及第三先前代碼化的緊鄰塊而使用代碼化塊規(guī)模范圍識(shí)別塊對(duì)當(dāng)前塊進(jìn)行編碼。在某些實(shí)施方式中,將編碼塊包括在輸出比特流中,并且可以發(fā)生發(fā)射或存儲(chǔ)所述輸出比特流。

下面將另外詳細(xì)地描述這些及其它方面的變化。

附圖說(shuō)明

本文的描述對(duì)附圖做出參考,在附圖中相同的參考標(biāo)號(hào)遍及多個(gè)圖指代相同部分,并且其中:

圖1是根據(jù)本公開(kāi)的實(shí)施方式的計(jì)算設(shè)備的圖;

圖2是根據(jù)本公開(kāi)的實(shí)施方式的計(jì)算和通信系統(tǒng)的圖;

圖3是根據(jù)本公開(kāi)的實(shí)施方式的供在編碼和解碼中使用的視頻流的圖;

圖4是根據(jù)本公開(kāi)的實(shí)施方式的編碼器的框圖;

圖5是根據(jù)本公開(kāi)的實(shí)施方式的解碼器的框圖;

圖6是根據(jù)本公開(kāi)的實(shí)施方式的幀的一部分的表示的框圖;

圖7是根據(jù)本公開(kāi)的實(shí)施方式的使用空間和時(shí)間交替塊約束模式視頻代碼化的幀的表示的示例的圖;以及

圖8是根據(jù)本公開(kāi)的實(shí)施方式的空間和時(shí)間交替塊約束模式視頻代碼化的方法的示例的圖。

具體實(shí)施方式

數(shù)字視頻流可以使用幀或圖像的序列來(lái)表示視頻。每個(gè)幀可以包括許多塊,所述塊可以包括指示像素屬性(諸如色值或亮度)的信息。視頻的傳輸和存儲(chǔ)可以使用相當(dāng)多的計(jì)算或通信資源??梢允褂脡嚎s及其它代碼化技術(shù)來(lái)減少視頻流中的數(shù)據(jù)量。這樣,可以通過(guò)具有有限帶寬的通信信道來(lái)發(fā)射高分辨率視頻。

對(duì)視頻流或其一部分(諸如幀或塊)進(jìn)行編碼可以包括使用視頻流中的時(shí)間和空間相似性來(lái)改善代碼化效率。例如,視頻代碼化可以包括基于像素之間的時(shí)間和空間相似性來(lái)預(yù)測(cè)像素值?;趬K的代碼化涉及到將幀分區(qū)成塊的網(wǎng)格或矩陣并將每個(gè)塊代碼化為單元。代碼化包括評(píng)估許多候選代碼化模式(諸如幀內(nèi)代碼化和幀間代碼化模式),以識(shí)別最佳代碼化模式,其可以是使錯(cuò)誤度量(速率失真度量)最小化的代碼化模式。評(píng)估多個(gè)候選代碼化模式利用了相當(dāng)多的資源、增加了復(fù)雜性、并且可能忽視了塊間代碼化模式相關(guān)性。

交替塊約束決策模式代碼化使用塊間代碼化模式相關(guān)性來(lái)降低復(fù)雜性并增加代碼化效率。例如,交替塊約束決策模式代碼化包括在塊的基礎(chǔ)上在無(wú)約束代碼化模式搜索與約束場(chǎng)境自適應(yīng)代碼化模式搜索之間交替。來(lái)自當(dāng)前幀的當(dāng)前塊是基于一個(gè)或多個(gè)在空間和時(shí)間上鄰近的塊??梢宰R(shí)別用于生成運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)塊以便對(duì)當(dāng)前塊進(jìn)行編碼的預(yù)測(cè)濾波器,同樣,可以識(shí)別用于對(duì)當(dāng)前塊進(jìn)行編碼的代碼化塊規(guī)模范圍。

圖1是根據(jù)本公開(kāi)的實(shí)施方式的計(jì)算設(shè)備100的圖。計(jì)算設(shè)備100可以包括通信接口110、通信單元120、用戶界面(ui)130、處理器140、存儲(chǔ)器150、指令160、電源170或其任何組合。如本文所使用的,術(shù)語(yǔ)“計(jì)算設(shè)備”包括能夠執(zhí)行本文中公開(kāi)的任何方法或其任何部分的任何單元或單元的組合。

計(jì)算設(shè)備100可以是固定計(jì)算設(shè)備,諸如個(gè)人計(jì)算機(jī)(pc)、服務(wù)器、工作站、小型計(jì)算機(jī)或主計(jì)算機(jī);或者移動(dòng)計(jì)算設(shè)備,諸如移動(dòng)電話、個(gè)人數(shù)字助理(pda)、膝上型計(jì)算機(jī)或平板pc。雖然被示出為單個(gè)單元,但可以將通信設(shè)備100的任何一個(gè)或多個(gè)元件集成到任何數(shù)目的單獨(dú)的物理單元內(nèi)。例如,可以將ui130和處理器140集成在第一物理單元中,并且可以將存儲(chǔ)器150集成在第二物理單元中。

通信接口110可以是無(wú)線天線(如所示)、有線通信端口(諸如以太網(wǎng)端口、紅外端口、串行端口)或能夠與有線或無(wú)線電子通信介質(zhì)180對(duì)接的任何其它有線或無(wú)線單元。

通信單元120可以被配置成經(jīng)由有線或無(wú)線介質(zhì)180來(lái)發(fā)射或接收信號(hào)。例如,如所示,通信單元120被操作連接到被配置成經(jīng)由無(wú)線信號(hào)通信的天線。雖然在圖1中并未明確地示出,通信單元120可以被配置成經(jīng)由任何有線或無(wú)線通信介質(zhì)(諸如射頻(rf)、紫外線(uv)、可見(jiàn)光、光纖、導(dǎo)線或其組合)進(jìn)行發(fā)射、接收或發(fā)射和接收。雖然圖1示出了單個(gè)通信單元120和單個(gè)通信接口110,但是可以使用任何數(shù)目的通信單元和任何數(shù)目的通信接口。

ui130可以包括能夠與用戶對(duì)接的任何單元,諸如虛擬或物理小鍵盤、觸控板、顯示器、觸摸顯示器、揚(yáng)聲器、麥克風(fēng)、視頻相機(jī)、傳感器或其任何組合。ui130可以與處理器(如所示)或者與通信設(shè)備100的任何其它元件(諸如電源170)操作耦合。雖然被示為單個(gè)單元,但ui130可以包括一個(gè)或多個(gè)物理單元。例如,ui130可以包括用于執(zhí)行與用戶的音頻通信的音頻接口以及用于執(zhí)行與用戶的基于視覺(jué)和觸摸的通信的觸摸顯示器。雖然被示為單獨(dú)的單元,但可以將通信接口110、通信單元120以及ui130或其各部分配置為組合單元。例如,可以將通信接口110、通信單元120以及ui130實(shí)現(xiàn)為能夠與外部觸摸屏設(shè)備對(duì)接的通信端口。

處理器140可以包括現(xiàn)在存在或以后開(kāi)發(fā)的能夠操縱或處理信號(hào)或其它信息的任何設(shè)備或系統(tǒng),包括光學(xué)處理器、量子處理器、分子處理前或其組合。例如,處理器140可以包括通用處理器、專用處理器、常規(guī)處理器、數(shù)字信號(hào)處理器(dsp)、多個(gè)微處理器、與dsp核相關(guān)聯(lián)的一個(gè)或多個(gè)微處理器、控制器、微控制器、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門陣列(fpga)、可編程邏輯陣列、可編程邏輯控制器、微代碼、固件、任何類型的集成電路(ic)、狀態(tài)機(jī)或其任何組合。如本文所使用的,術(shù)語(yǔ)“處理器”包括單個(gè)處理器或多個(gè)處理器。處理器140可以與通信接口110、通信單元120、ui130、存儲(chǔ)器150、指令160、電源170或其任何組合操作耦合。

存儲(chǔ)器150可以包括任何非暫時(shí)性計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì),諸如可以例如包含、存儲(chǔ)、通信或傳輸指令160或與之相關(guān)聯(lián)的任何信息以供處理器140使用或與處理器140相結(jié)合地使用的任何有形設(shè)備。非暫時(shí)性計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是例如固態(tài)驅(qū)動(dòng)、存儲(chǔ)卡、可移動(dòng)介質(zhì)、只讀存儲(chǔ)器(rom)、隨機(jī)存取儲(chǔ)器(ram)、任何類型的磁盤(包括硬盤、軟盤、光盤)、磁卡或光卡、專用集成電路(asic)或者適合于存儲(chǔ)電子信息的任何類型的非暫時(shí)性介質(zhì)或其任何組合。存儲(chǔ)器150可以通過(guò)例如存儲(chǔ)器總線(未明確地示出)連接到處理器140。

指令160可以包括用于執(zhí)行本文中所公開(kāi)的任何方法或其任何部分的說(shuō)明。可以用硬件、軟件或其任何組合來(lái)實(shí)現(xiàn)指令160。例如,可以將指令160實(shí)現(xiàn)為存儲(chǔ)在存儲(chǔ)器150中的信息,諸如計(jì)算機(jī)程序,其可以被處理器140執(zhí)行以執(zhí)行如本文中所述的任何相應(yīng)的方法、算法、方面或其組合??梢詫⒅噶?60或其部分實(shí)現(xiàn)為專用處理器或電路,其可以包括用于執(zhí)行如本文中所述的任何的方法、算法、方面或其組合的專用硬件??梢詫⒅噶?60的部分跨相同機(jī)器或不同機(jī)器上的多個(gè)處理器或者跨諸如局域網(wǎng)、廣域網(wǎng)、互聯(lián)網(wǎng)或其組合的網(wǎng)絡(luò)分布。

電源170可以是用于對(duì)通信設(shè)備110供電的任何適當(dāng)設(shè)備。例如,電源170可以包括有線電源;一個(gè)或多個(gè)干電池,諸如鎳鎘(nicd)、鎳鋅(nizn)、鎳金屬氫化物(nimh)、鋰離子(li離子);太陽(yáng)能電池;燃料電池;或能夠?qū)νㄐ旁O(shè)備110供電的任何其它設(shè)備。通信接口110、通信單元120、ui130、處理器140、指令160、存儲(chǔ)器150或其任何組合可以與電源170操作耦合。

雖然被示為單獨(dú)的元件,但是可以將通信接口110、通信單元120、ui130、處理器140、指令160、電源170、存儲(chǔ)器150或其任何組合集成在一個(gè)或多個(gè)電子單元、電路或芯片中。

圖2是根據(jù)本公開(kāi)的實(shí)施方式的計(jì)算和通信系統(tǒng)200的圖。計(jì)算和通信系統(tǒng)200可以包括一個(gè)或多個(gè)計(jì)算和通信設(shè)備100a/100b/100c、一個(gè)或多個(gè)接入點(diǎn)210a/210b、一個(gè)或多個(gè)網(wǎng)絡(luò)220或其組合。例如,計(jì)算和通信系統(tǒng)200可以是向一個(gè)或多個(gè)有線或無(wú)線通信設(shè)備(諸如語(yǔ)音、數(shù)據(jù)、視頻、消息、廣播或其組合)提供通信(諸如計(jì)算和通信設(shè)備100a/100b/100c)的多路訪問(wèn)系統(tǒng)。雖然為了簡(jiǎn)單起見(jiàn)圖2示出了三個(gè)計(jì)算和通信設(shè)備100a/100b/100c、兩個(gè)接入點(diǎn)210a/210b以及一個(gè)網(wǎng)絡(luò)220,但可以使用任何數(shù)目的計(jì)算和通信設(shè)備、接入點(diǎn)以及網(wǎng)絡(luò)。

計(jì)算和通信設(shè)備100a/100b/100c可以是例如計(jì)算設(shè)備,諸如圖1中所示的計(jì)算設(shè)備100。例如,如圖示,計(jì)算和通信設(shè)備100a/100b是用戶設(shè)備,諸如移動(dòng)計(jì)算設(shè)備、膝上型計(jì)算機(jī)、瘦客戶端或智能電話,并且計(jì)算和通信設(shè)備100c是服務(wù)器,諸如主機(jī)或集群。雖然計(jì)算和通信設(shè)備100a/100b被描述為用戶設(shè)備且計(jì)算和通信設(shè)備100c被描述為服務(wù)器,但任何計(jì)算和通信設(shè)備都可以執(zhí)行服務(wù)器的某些或所有功能、用戶設(shè)備的某些或所有功能或者服務(wù)器和用戶設(shè)備的某些或所有功能。

每個(gè)計(jì)算和通信設(shè)備100a/100b/100c可以被配置成執(zhí)行有線或無(wú)線通信。例如,計(jì)算和通信設(shè)備100a/100b/100c可以被配置成發(fā)射或接收有線或無(wú)線通信信號(hào),并且可以包括用戶設(shè)備(ue)、移動(dòng)站、固定或移動(dòng)訂戶單元、蜂窩電話、個(gè)人計(jì)算機(jī)、平板計(jì)算機(jī)、服務(wù)器、消費(fèi)者電子裝置或任何類似設(shè)備。雖然每個(gè)計(jì)算和通信設(shè)備100a/100b/100c被示為單個(gè)單元,但計(jì)算和通信設(shè)備可以包括任何數(shù)目的互連元件。

每個(gè)接入點(diǎn)210a/210b可以是被配置成經(jīng)由有線或無(wú)線通信鏈路180a/180b/180c與計(jì)算和通信設(shè)備100a/100b/100c、網(wǎng)絡(luò)220或兩者通信的任何類型的設(shè)備。例如,接入點(diǎn)210a/210b可以包括基站、基站收發(fā)信臺(tái)(bts)、節(jié)點(diǎn)b、增強(qiáng)型節(jié)點(diǎn)b(enode-b)、主節(jié)點(diǎn)b(hnode-b)、無(wú)線路由器、有線路由器、集線器、中繼器、交換機(jī)或任何類似的有線或無(wú)線設(shè)備。雖然每個(gè)接入點(diǎn)210a/210b被示為單個(gè)單元,但接入點(diǎn)可以包括任何數(shù)目的互連元件。

網(wǎng)絡(luò)220可以是被配置成通過(guò)有線或無(wú)線通信鏈路來(lái)提供服務(wù)(諸如語(yǔ)音、數(shù)據(jù)、應(yīng)用、網(wǎng)際協(xié)議語(yǔ)音(voip)或任何其它通信協(xié)議或通信協(xié)議的組合)的任何類型的網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)220可以是局域網(wǎng)(lan)、廣域網(wǎng)(wan)、虛擬專用網(wǎng)(vpn)、移動(dòng)或蜂窩電話網(wǎng)、互聯(lián)網(wǎng)或任何其它電子通信手段。網(wǎng)絡(luò)220可以使用通信協(xié)議,諸如傳輸控制協(xié)議(tcp)、用戶數(shù)據(jù)報(bào)協(xié)議(udp)、網(wǎng)際協(xié)議(ip)、實(shí)時(shí)傳輸協(xié)議(rtp)、超文本傳輸協(xié)議(http)或其組合。

計(jì)算和通信設(shè)備100a/100b/100c可以使用一個(gè)或多個(gè)有線或無(wú)線通信鏈路或經(jīng)由有線和無(wú)線通信鏈路的組合而經(jīng)由網(wǎng)絡(luò)220相互通信。例如,如所示,計(jì)算和通信設(shè)備100a/100b經(jīng)由無(wú)線通信鏈路180a/180b進(jìn)行通信,并且計(jì)算和通信設(shè)備100c經(jīng)由有線通信鏈路180c進(jìn)行通信。任何的計(jì)算和通信設(shè)備100a/100b/100c可以使用任何有線或無(wú)線通信鏈路進(jìn)行通信。例如,第一計(jì)算和通信設(shè)備100a可以使用第一類型的通信鏈路經(jīng)由第一接入點(diǎn)210a進(jìn)行通信,第二計(jì)算和通信設(shè)備100b可以使用第二類型的通信鏈路經(jīng)由第二接入點(diǎn)210b進(jìn)行通信,并且第三計(jì)算和通信設(shè)備100c可以使用第三類型的通信鏈路經(jīng)由第三接入點(diǎn)(未示出)進(jìn)行通信。同樣地,接入點(diǎn)210a/210b可以經(jīng)由一個(gè)或多個(gè)類型的有線或無(wú)線通信鏈路230a/230b與網(wǎng)絡(luò)220通信。雖然圖2示出了經(jīng)由網(wǎng)絡(luò)220進(jìn)行通信的計(jì)算和通信設(shè)備100a/100b/100c,但計(jì)算和通信設(shè)備100a/100b/100c可以經(jīng)由任何數(shù)目的通信鏈路(諸如直接有線或無(wú)線通信鏈路)相互通信。

計(jì)算和通信系統(tǒng)200的其它實(shí)施方式是可能的。例如,網(wǎng)絡(luò)220可以是自組織網(wǎng)絡(luò),并且可以省略接入點(diǎn)210a/210b中的一個(gè)或多個(gè)。計(jì)算和通信系統(tǒng)200可以包括圖2中未示出的設(shè)備、單元或元件。例如,計(jì)算和通信系統(tǒng)200可以包括更多的計(jì)算設(shè)備、網(wǎng)絡(luò)以及接入點(diǎn)。

圖3是根據(jù)本公開(kāi)的實(shí)施方式的供在編碼和解碼中使用的視頻流300的圖。視頻流300(諸如由視頻相機(jī)所捕獲的視頻流或者由計(jì)算設(shè)備所生成的視頻流)可以包括視頻序列310。視頻序列310可以包括鄰近幀320的序列。雖然示出了三個(gè)鄰近幀320,但視頻序列310可以包括任何數(shù)目的鄰近幀320。來(lái)自鄰近幀320的每個(gè)幀330可以表示來(lái)自視頻流的單個(gè)圖像。幀330可以包括塊340。雖然在圖3中未示出,但塊340包括像素。例如,塊可以包括16×16的像素群組、8×8的像素群組、8×16的像素組或任何其它像素群組。除非本文中另外指示,術(shù)語(yǔ)“塊”可以包括超級(jí)塊、宏塊、段、切片或幀的任何其它部分。幀、塊、像素或其組合可以包括顯示信息,諸如輝度(luminance)信息、色度信息或者可以用來(lái)存儲(chǔ)、修改、通信或顯示視頻流或其一部分的任何其它信息。

圖4是根據(jù)本公開(kāi)的實(shí)施方式的編碼器400的框圖。編碼器400可以在設(shè)備(諸如圖1中所示的計(jì)算設(shè)備100或圖2中所示的計(jì)算和通信設(shè)備100a/100b/100c)中被實(shí)現(xiàn)為例如存儲(chǔ)在數(shù)據(jù)存儲(chǔ)單元(諸如圖1中所示的存儲(chǔ)器150)中的計(jì)算機(jī)軟件程序。計(jì)算機(jī)軟件程序可以包括可以被處理器(諸如圖1中所示的處理器160)執(zhí)行且可以使得設(shè)備如本文所述地將視頻數(shù)據(jù)編碼的機(jī)器指令??梢詫⒕幋a器400實(shí)現(xiàn)為例如包括在計(jì)算設(shè)備100中的專用硬件。

編碼器400可以將輸入視頻流402(諸如圖3中所示的視頻流300)編碼而生成經(jīng)編碼(經(jīng)壓縮)比特流404。如所示,編碼器400包括用于生成經(jīng)壓縮比特流404的正向路徑。正向路徑可以包括幀內(nèi)/幀間預(yù)測(cè)單元410、變換單元420、量子化單元430、熵編碼單元440或其任何組合。在某些實(shí)施方式中,編碼器400包括重構(gòu)幀以用于進(jìn)一步的塊的編碼的重構(gòu)路徑(用虛連接線指示)。圖4的重構(gòu)路徑包括去量子化單元450、逆變換單元460、重構(gòu)單元470、環(huán)路濾波單元480或其任何組合??梢允褂镁幋a器400的其它結(jié)構(gòu)變體來(lái)對(duì)視頻流402進(jìn)行編碼。

為了將視頻流402編碼,可以以塊為單位來(lái)處理視頻流402內(nèi)的每個(gè)幀。因此,可以從幀中的塊識(shí)別當(dāng)前塊,并且可以將當(dāng)前塊編碼。

在幀內(nèi)/幀間預(yù)測(cè)單元410處,可以使用幀內(nèi)預(yù)測(cè)(其可以是在單個(gè)幀內(nèi))或幀間預(yù)測(cè)(其可以是從幀至幀)對(duì)當(dāng)前塊進(jìn)行編碼。幀內(nèi)預(yù)測(cè)可以包括從先前已被編碼并重構(gòu)的當(dāng)前幀中的樣本生成預(yù)測(cè)塊。幀間預(yù)測(cè)可以包括從一個(gè)或多個(gè)先前構(gòu)造參考幀中的樣本生成預(yù)測(cè)塊。針對(duì)當(dāng)前幀中的當(dāng)前塊生成預(yù)測(cè)塊可以包括執(zhí)行運(yùn)動(dòng)估計(jì)以生成指示參考幀中的適當(dāng)參考?jí)K的運(yùn)動(dòng)矢量。

幀內(nèi)/幀間預(yù)測(cè)單元410可以從當(dāng)前塊(原始?jí)K(rawblock))減掉預(yù)測(cè)塊以產(chǎn)生殘余塊(residualblock)。變換單元420可以執(zhí)行基于塊的變換,其包括將殘余塊變換成例如頻域中的變換系數(shù)?;趬K的變換的示例包括karhunen-loève變換(klt)、離散余弦變換(dct)以及奇異值分解變換(svd)。在示例中,dct包括將塊變換到頻域中,這導(dǎo)致在矩陣的左上方處具有最低頻(即,dc)系數(shù)且在矩陣的右下方處具有最高頻系數(shù)的變換系數(shù)值。

量子化單元430可以將變換系數(shù)轉(zhuǎn)換成離散量子值,其被稱為量子化變換系數(shù)或量子水平。量子化變換系數(shù)可以被熵編碼單元440進(jìn)行熵編碼而產(chǎn)生熵編碼系數(shù)。熵編碼使用概率分布度量。被用來(lái)對(duì)塊進(jìn)行解碼的熵編碼系數(shù)和信息(其可以包括所使用的預(yù)測(cè)類型、運(yùn)動(dòng)矢量以及量化器值)可以被輸出到經(jīng)壓縮比特流404。可以使用各種技術(shù)(諸如行程長(zhǎng)度編碼(rle)和零行程代碼化)將經(jīng)壓縮比特流404格式化。

可以使用重構(gòu)路徑來(lái)保持編碼器400與對(duì)應(yīng)解碼器(諸如圖5中所示的解碼器500)之間的參考幀同步。重構(gòu)路徑可以類似于下面討論的解碼過(guò)程,并且可以包括在去量子化單元450處將量子化變換系數(shù)去量子化,并且在逆變換單元460處對(duì)去量子化變換系數(shù)進(jìn)行逆變換以產(chǎn)生導(dǎo)數(shù)殘余塊。重構(gòu)單元470可以將由幀內(nèi)/幀間預(yù)測(cè)單元410所生成的預(yù)測(cè)塊添加到導(dǎo)數(shù)殘余塊以創(chuàng)建重構(gòu)塊。可以將環(huán)路濾波單元480應(yīng)用于重構(gòu)塊以減少失真,諸如塊狀偽像(blockingartifacts)。

可以使用編碼器400的其它變體來(lái)對(duì)經(jīng)壓縮比特流404進(jìn)行編碼。例如,非基于變換的編碼器400可以在沒(méi)有變換單元420的情況下直接地將殘余塊量子化。在某些實(shí)施方式中,可以將量子化單元430和去量子化單元450組合成單個(gè)單元。

圖5是根據(jù)本公開(kāi)的實(shí)施方式的解碼器500的框圖。解碼器500可以在設(shè)備(諸如圖1中所示的計(jì)算設(shè)備100或圖2中所示的計(jì)算和通信設(shè)備100a/100b/100c)中被實(shí)現(xiàn)為例如存儲(chǔ)在數(shù)據(jù)存儲(chǔ)單元(諸如圖1中所示的存儲(chǔ)器150)中的計(jì)算機(jī)軟件程序。計(jì)算機(jī)軟件程序可以包括可以被處理器(諸如圖1中所示的處理器160)執(zhí)行且可以使得設(shè)備如本文所述地將視頻數(shù)據(jù)解碼的機(jī)器指令??梢詫⒔獯a器500實(shí)現(xiàn)為例如包括在計(jì)算設(shè)備100中的專用硬件。

解碼器500可以接收經(jīng)壓縮比特流502,諸如圖4中所示的經(jīng)壓縮比特流404,并且可以將經(jīng)壓縮比特流502解碼以生成輸出視頻流504。如所示的解碼器500包括熵解碼單元510、去量子化單元520、逆變換單元530、幀內(nèi)/幀間預(yù)測(cè)單元540、重構(gòu)單元550、環(huán)路濾波單元560、解塊(deblocking)濾波單元570或其任何組合??梢允褂媒獯a器500的其它結(jié)構(gòu)變體來(lái)對(duì)經(jīng)壓縮比特流502進(jìn)行解碼。

熵解碼單元510可以使用例如場(chǎng)境自適應(yīng)二進(jìn)制算術(shù)解碼來(lái)對(duì)經(jīng)壓縮比特流502內(nèi)的數(shù)據(jù)元素進(jìn)行解碼,以產(chǎn)生量子化變換系數(shù)集。去量子化單元520可以將量子換變換系數(shù)去量子化,并且逆變換單元530可以對(duì)去量子化變換系數(shù)進(jìn)行逆變換以產(chǎn)生導(dǎo)數(shù)殘余塊,其可以與由圖4中所示的逆變換單元460所生成的導(dǎo)數(shù)殘余塊相對(duì)應(yīng)。使用從經(jīng)壓縮比特流502解碼的報(bào)頭信息,幀內(nèi)/幀間預(yù)測(cè)單元540可以生成與在編碼器400中所創(chuàng)建的預(yù)測(cè)塊相對(duì)應(yīng)的預(yù)測(cè)塊。在重構(gòu)單元550處,可以將預(yù)測(cè)塊添加到導(dǎo)數(shù)殘余塊以創(chuàng)建重構(gòu)塊??梢詫h(huán)路濾波單元560應(yīng)用于重構(gòu)塊以減少塊狀偽像??梢詫⒔鈮K濾波單元570應(yīng)用于重構(gòu)塊以減少塊狀失真,并且結(jié)果可以被輸出作為輸出視頻流504。

可以使用解碼器500的其它變體來(lái)對(duì)經(jīng)壓縮比特流502進(jìn)行解碼。例如,解碼器500可以在沒(méi)有解塊濾波單元570的情況下輸出視頻流504。

圖6是根據(jù)本公開(kāi)的實(shí)施方式的幀(諸如圖3中所示的幀330)的部分600的表示的框圖。如所示,部分600包括在笛卡爾平面的矩陣中的兩行和兩列中的四個(gè)64×64塊610。在某些實(shí)施方式中,64×64塊可以是最大代碼化單元,n=64。每個(gè)64×64塊可以包括四個(gè)32×32塊620。每個(gè)32×32塊可以包括四個(gè)16×16塊630。每個(gè)16×16塊可以包括四個(gè)8×8塊640。每個(gè)8×8塊640可以包括四個(gè)4×4塊650。每個(gè)4×4塊650可以包括16個(gè)像素,所述16個(gè)像素是在笛卡爾平面或矩陣中的每個(gè)相應(yīng)的塊中的四行和四列中表示的。像素可以包括表示在幀中所捕獲的圖像的信息,諸如輝度信息、色彩信息以及位置信息。在某些實(shí)施方式中,塊(諸如所示的16×16像素塊)可以包括輝度塊660,所述輝度塊660包括輝度像素662;以及兩個(gè)色度塊670/680,諸如u或cb色度塊670以及v或cr色度塊680。色度塊670/680包括色度像素690。例如,輝度塊660包括16×16個(gè)輝度像素662,并且每個(gè)色度塊670/680包括如所示的8×8個(gè)色度像素690。雖然示出了塊的一個(gè)布置,但可以使用任何布置。例如,雖然圖6示出了n×n塊,但在某些實(shí)施方式中可以使用n×m塊。例如,可以使用具有32×64、64×32、16×32或32×16個(gè)像素或任何其它規(guī)模的塊。因此,可以使用n×2n塊、2n×n塊或其組合。

根據(jù)本文中的教導(dǎo),視頻代碼化包括有序塊級(jí)別(block-level)代碼化。有序塊級(jí)別代碼化包括按順序(諸如光柵掃描順序)對(duì)幀中的塊進(jìn)行代碼化,其中,可以從幀或幀的一部分的左上角中的塊開(kāi)始識(shí)別并處理塊,并且沿著從左至右的行且從頂行至底行繼續(xù)進(jìn)行,依次識(shí)別每個(gè)塊以用于處理。例如,幀的頂行和左列中的64×64塊可以是被代碼化的第一塊,而緊挨著在第一塊右側(cè)的64×64塊可以是被代碼化的第二塊。從頂部算起的第二行可以是被代碼化的第二行,使得第二行的左列中的64×64塊可以在第一行的最右列中的64×64塊之后被代碼化。

可以包括四叉樹(shù)代碼化,其包括按照光柵掃描順序?qū)K內(nèi)的較小塊單元進(jìn)行代碼化。例如,可以使用四叉樹(shù)代碼化對(duì)圖6中所示的幀的部分的左下角中所示的64×64塊進(jìn)行代碼化,其中,對(duì)左上方的32×32塊代碼化,然后對(duì)右上方的32×32塊代碼化,然后對(duì)左下方的32×32塊代碼化,并且然后對(duì)右下方的32×32塊代碼化??梢允褂盟牟鏄?shù)代碼化對(duì)每個(gè)32×32塊代碼化,其中,對(duì)左上方的16×16塊代碼化,然后對(duì)右上方的16×16塊代碼化,然后對(duì)左下方的16×16塊代碼化,并且然后對(duì)右下方的16×16塊代碼化??梢允褂盟牟鏄?shù)代碼化對(duì)每個(gè)16×16塊代碼化,其中,對(duì)左上方的8×8塊代碼化,然后對(duì)右上方的8×8塊代碼化,然后對(duì)左下方的8×8塊代碼化,并且然后對(duì)右下方的8×8塊代碼化??梢允褂盟牟鏄?shù)代碼化對(duì)每個(gè)8×8塊代碼化,其中,對(duì)左上方的4×4塊代碼化,然后對(duì)右上方的4×4塊代碼化,然后對(duì)左下方的4×4塊代碼化,并且然后對(duì)右下方的4×4塊代碼化。在某些實(shí)施方式中,針對(duì)16×16塊可以省略8×8塊,并且可以使用四叉樹(shù)代碼化對(duì)16×16塊進(jìn)行代碼化,其中,對(duì)左上方的4×4塊進(jìn)行代碼化,然后按照光柵掃描順序?qū)?6×16塊中的其它4×4塊進(jìn)行代碼化。

例如,可以通過(guò)從對(duì)應(yīng)的已編碼幀省略原始幀中的某些信息來(lái)壓縮包括在原始或輸入幀中的信息。例如,代碼化可以包括減少頻譜冗余、減少空間冗余、減少時(shí)間冗余或其組合。

在某些實(shí)施方式中,減少頻譜冗余可以包括使用基于輝度分量(y)和兩個(gè)色度分量(u和v或cb和cr)的色彩模型,可以將其稱為yuv或ycbcr色彩模型或色彩空間。使用yuv色彩模型可以包括使用相對(duì)大量的信息來(lái)表示幀的一部分的輝度分量,并且使用相對(duì)少量的信息來(lái)表示用于幀的部分的每個(gè)對(duì)應(yīng)的色度分量。例如,可以用可以包括16×16像素塊的高分辨率輝度分量且用兩個(gè)較低分辨率色度分量(其中的每一個(gè)將幀的部分表示為8×8像素塊)來(lái)表示幀的一部分。像素指示值,例如,在從0至255范圍中的值,并且可以使用例如八個(gè)比特來(lái)存儲(chǔ)或發(fā)射。雖然參考yuv色彩模型描述了本公開(kāi),但也可以使用任何色彩模型。

減少空間冗余還可以包括使用例如離散余弦變換(dct)將塊變換到頻域中。例如,編碼器的單元(諸如圖4中所示的變換單元420)可以基于空間頻率使用變換系數(shù)值來(lái)執(zhí)行dct。

減少時(shí)間冗余可以基于視頻流的先前代碼化、已解碼以及已重構(gòu)的幀的一個(gè)或多個(gè)參考幀而使用相對(duì)少量的數(shù)據(jù),來(lái)使用幀之間的相似性來(lái)對(duì)幀進(jìn)行編碼。例如,當(dāng)前幀的塊或像素可以類似于參考幀的空間上相對(duì)應(yīng)的塊或像素。在某些實(shí)施方式中,當(dāng)前幀的塊或像素可以類似于不同空間位置處的參考幀的塊或像素。然后生成運(yùn)動(dòng)信息,所述運(yùn)動(dòng)信息指示當(dāng)前幀中的塊或像素的位置與參考幀中的塊或像素的對(duì)應(yīng)位置之間的空間差異或平移。

減少時(shí)間冗余還可以包括識(shí)別參考幀或參考幀的一部分中的塊或像素,其與當(dāng)前幀的當(dāng)前塊或像素相對(duì)應(yīng)。例如,在可以被存儲(chǔ)在存儲(chǔ)器中的參考幀或參考幀的一部分中搜索最佳塊或像素以用于對(duì)當(dāng)前幀的當(dāng)前塊或像素進(jìn)行編碼。該搜索可以識(shí)別對(duì)于其而言參考?jí)K與當(dāng)前塊之間的像素值的差被最小化的參考幀的塊,并且可以被稱為運(yùn)動(dòng)搜索??梢韵拗票凰阉鞯膮⒖紟牟糠?。在一個(gè)示例中,可以稱為搜索區(qū)的被搜索的參考幀的部分包括參考幀的有限數(shù)目的行。在任何情況下,識(shí)別參考?jí)K可以包括計(jì)算搜索區(qū)中的塊的像素與當(dāng)前塊的像素之間的成本函數(shù),諸如絕對(duì)誤差和(sad)(sumofabsolutedifference)。

可以將參考幀中的參考?jí)K的位置與當(dāng)前幀中的當(dāng)前塊之間的空間差表示為運(yùn)動(dòng)矢量。參考?jí)K與當(dāng)前塊之間的像素值的差一般地稱為差分?jǐn)?shù)據(jù)、殘余數(shù)據(jù)或者作為殘余塊。生成運(yùn)動(dòng)矢量還可以被稱為運(yùn)動(dòng)估計(jì)。更具體地,可以基于使用笛卡爾坐標(biāo)的位置將當(dāng)前塊的像素指示為fx,y。同樣地,可以基于使用笛卡爾坐標(biāo)的位置將參考幀的搜索區(qū)的像素指示為rx,y。例如,然后基于當(dāng)前幀的像素與參考幀的對(duì)應(yīng)像素之間的sad來(lái)確定用于當(dāng)前塊的運(yùn)動(dòng)矢量(mv)。

雖然在本文中為了明了起見(jiàn)參考幀的矩陣或笛卡爾表示來(lái)描述運(yùn)動(dòng)補(bǔ)償分區(qū),但可以用任何數(shù)據(jù)結(jié)構(gòu)對(duì)幀進(jìn)行存儲(chǔ)、發(fā)射、處理或其任意組合,使得可以針對(duì)幀或圖像而高效地預(yù)測(cè)像素值。例如,可以在諸如所示的矩陣的二維數(shù)據(jù)結(jié)構(gòu)中或者諸如向量數(shù)組的一維數(shù)據(jù)結(jié)構(gòu)中對(duì)幀進(jìn)行存儲(chǔ)、發(fā)射、處理或其任何組合。幀的表示(諸如所示的二維表示)可以與幀作為圖像的呈現(xiàn)中的物理位置相對(duì)應(yīng)。例如,幀的左上角中的塊的左上角中的位置可以與幀作為圖像的呈現(xiàn)的左上角中的物理位置相對(duì)應(yīng)。

在塊內(nèi)所捕獲的內(nèi)容可以包括展示出不同的空間和時(shí)間特性的兩個(gè)或更多區(qū)域。例如,幀可以捕獲以各種方向和速度移動(dòng)的多個(gè)對(duì)象,并且塊可以包括邊緣或?qū)ο筮吔纭T谀承?shí)施方式中,可以通過(guò)將包括具有不同特性的多個(gè)區(qū)域的塊分區(qū)成與不同內(nèi)容相對(duì)應(yīng)的一個(gè)或多個(gè)分區(qū)(其可以是矩形(包括正方形)分區(qū))并對(duì)分區(qū)進(jìn)行編碼而不是獨(dú)立地對(duì)每個(gè)最小代碼化單元進(jìn)行編碼,來(lái)改善基于塊的代碼化效率。

在某些實(shí)施方式中,使用分區(qū)的視頻代碼化可以包括從多個(gè)候選分區(qū)方案之間選擇分區(qū)方案。例如,用于64×64代碼化單元的候選分區(qū)方案可以包括規(guī)模在從4×4個(gè)像素至64×64個(gè)像素范圍內(nèi)(諸如4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32或64×64個(gè)像素)的矩形規(guī)模分區(qū)。在某些實(shí)施方式中,使用分區(qū)的視頻代碼化可以包括全分區(qū)搜索,其可以包括通過(guò)使用每個(gè)可用的候選分區(qū)方案對(duì)代碼化單元進(jìn)行編碼并選擇最佳方案(諸如產(chǎn)生最少速率失真錯(cuò)誤的方案)來(lái)選擇分區(qū)方案。

當(dāng)使用分區(qū)時(shí)(諸如離線雙通道編碼),可以在第一代碼化通道中生成與幀之間的運(yùn)動(dòng)有關(guān)的信息,并且該信息可以在第二代碼化通道中被用來(lái)選擇分區(qū)方案。諸如針對(duì)每個(gè)候選分區(qū)方案對(duì)速率失真錯(cuò)誤或其它類似度量進(jìn)行離線雙通道編碼和評(píng)估的技術(shù)可能是耗時(shí)的,并且可能利用多于一半的編碼時(shí)間。在涉及到視頻會(huì)議或包括靜止背景的其它內(nèi)容的實(shí)施方式中,可以基于先前和當(dāng)前源幀之間的差來(lái)選擇分區(qū)方案。在某些實(shí)施方式中,使用運(yùn)動(dòng)補(bǔ)償分區(qū)對(duì)視頻幀進(jìn)行編碼可以比全分區(qū)搜索、離線雙通道編碼或基于幀間差的分區(qū)更高效地識(shí)別分區(qū)方案。

在某些實(shí)施方式中,使用運(yùn)動(dòng)補(bǔ)償分區(qū)對(duì)視頻幀進(jìn)行編碼包括識(shí)別用于對(duì)當(dāng)前塊(諸如塊610)進(jìn)行編碼的分區(qū)方案。識(shí)別分區(qū)方案可以包括確定要將塊編碼為最大代碼化單元規(guī)模(其可以是如所示的64×64)的單個(gè)分區(qū)還是將塊分區(qū)成多個(gè)分區(qū),其與子塊(如所示,諸如32×32塊620、16×16塊630或8×8塊640)相對(duì)應(yīng),并且可以包括確定是否要分區(qū)成一個(gè)或多個(gè)較小分區(qū)。例如,可以將64×64塊分區(qū)成四個(gè)32×32分區(qū)。可以將四個(gè)32×32分區(qū)中的三個(gè)編碼為32×32分區(qū),并且可以將第四32×32分區(qū)進(jìn)一步劃分成四個(gè)16×16分區(qū)??梢詫⑺膫€(gè)16×16分區(qū)中的三個(gè)編碼為16×16分區(qū),并且可以將第四16×16分區(qū)進(jìn)一步分區(qū)成四個(gè)8×8分區(qū),其中的每一個(gè)可以被編碼為8×8分區(qū)。識(shí)別分區(qū)方案可以包括使用分區(qū)決策樹(shù)。

在某些實(shí)施方式中,用于當(dāng)前塊的視頻代碼化包括從多個(gè)候選代碼化模式中識(shí)別最佳代碼化模式,這可以在處理具有各種統(tǒng)計(jì)性質(zhì)的視頻信號(hào)時(shí)提供靈活性,并改善壓縮效率。例如,視頻代碼器評(píng)估每個(gè)候選代碼化模式以識(shí)別最佳代碼化模式,其可以是例如針對(duì)當(dāng)前塊的錯(cuò)誤度量(速率失真成本)最小化的代碼化模式??梢酝ㄟ^(guò)基于當(dāng)前塊與對(duì)應(yīng)預(yù)測(cè)塊之間的相似性來(lái)限制可用候選代碼化模式的集合而降低搜索候選代碼化模式的復(fù)雜性。在某些實(shí)施方式中,通過(guò)執(zhí)行定向求精模式搜索來(lái)降低搜索每個(gè)候選代碼化模式的復(fù)雜性。例如,可以針對(duì)候選塊規(guī)模(諸如16×16、8×8以及4×4)的有限集生成度量,并且可以按照遞減順序來(lái)布置與每個(gè)塊規(guī)模相關(guān)聯(lián)的錯(cuò)誤度量??梢栽u(píng)估附加候選塊規(guī)模,諸如4×8和8×4塊規(guī)模。

在某些實(shí)施方式中,交替塊約束決策模式代碼化包括無(wú)約束決策模式與約束模式之間交替,其中,在搜索無(wú)約束決策模式中完全搜索候選代碼化模式的集合,在約束模式中限制要搜索的候選代碼化模式的集合。該交替可以是空間的、時(shí)間的或者空間的和時(shí)間的兩者??臻g交替可以包括在緊鄰的相鄰塊之間在約束和無(wú)約束模式之間進(jìn)行交替??臻g交替可以是垂直的、水平的或兩者。例如,可以將交替表示為跳棋盤或象棋盤圖案。時(shí)間交替可以包括在緊鄰幀之間在約束和無(wú)約束模式之間進(jìn)行交替。

圖7是根據(jù)本公開(kāi)的實(shí)施方式的使用空間和時(shí)間交替塊約束模式視頻代碼化的幀的表示的示例的圖。如所述,交替塊約束模式視頻代碼化可以包括在無(wú)約束代碼化模式中對(duì)塊進(jìn)行代碼化和在約束代碼化模式中對(duì)塊進(jìn)行代碼化之間交替。例如,用黑色示出了無(wú)約束代碼化模式塊,并且用白色示出了約束代碼化模式塊。交替塊約束模式視頻代碼化可以包括空間交替塊約束模式視頻代碼化、時(shí)間交替塊約束模式視頻代碼化或其組合。在某些實(shí)施方式中,交替塊約束模式視頻代碼化可以包括對(duì)當(dāng)前視頻幀進(jìn)行代碼化。例如,圖7示出了當(dāng)前幀710的一部分。雖然在圖7中示出了當(dāng)前幀710的8×8部分,幀可以包括任何數(shù)目的塊,并且每個(gè)塊可以包括任何數(shù)目的像素。

空間交替塊約束模式視頻代碼化可以包括基于一個(gè)或多個(gè)空間鄰近的先前代碼化塊的代碼化模式來(lái)確定用于當(dāng)前塊的代碼化模式。例如,如圖7中所示,當(dāng)前幀710包括當(dāng)前塊712、第一相鄰塊714以及第二相鄰塊716。可以基于空間緊鄰塊714/716的代碼化模式來(lái)識(shí)別用于當(dāng)前塊712的代碼化模式。例如,如所示,第一相鄰塊714直接緊挨在當(dāng)前塊712上方,并且第二相鄰塊716直接緊挨在當(dāng)前塊712左側(cè)。

時(shí)間交替塊約束模式視頻代碼化可以包括基于一個(gè)或多個(gè)空間鄰近的先前代碼化塊和一個(gè)或多個(gè)時(shí)間鄰近空間一致先前代碼化塊的代碼化模式來(lái)確定用于當(dāng)前塊的代碼化模式。例如,如圖7中所示,參考幀720包括參考?jí)K722。參考幀720可以在空間上鄰近于當(dāng)前幀710,并且參考幀720中的參考?jí)K722可以在空間上與當(dāng)前塊712一致。

圖8是根據(jù)本公開(kāi)的實(shí)施方式的空間和時(shí)間交替塊約束模式視頻代碼化的方法的示例的圖。諸如圖4中所示的編碼器400的編碼器可以接收輸入視頻流,諸如圖4中所示的輸入視頻流402,可以對(duì)輸入視頻流進(jìn)行編碼,諸如圖4中所示的編碼,并且可以輸出已編碼視頻流,諸如圖4中所示的經(jīng)壓縮比特流404。在某些實(shí)施方式中,對(duì)視頻流進(jìn)行編碼包括空間和時(shí)間交替塊約束模式視頻代碼化800。如圖8的示例中所示,空間和時(shí)間交替塊約束模式視頻代碼化800包括在810處識(shí)別當(dāng)前塊,在820處確定相鄰代碼化模式,并且在830處進(jìn)行約束或無(wú)約束代碼化。

在810處識(shí)別當(dāng)前塊。在某些實(shí)施方式中,輸入或源視頻流的當(dāng)前幀包括多個(gè)n×n塊,諸如16×16塊,并且來(lái)自當(dāng)前幀的塊被識(shí)別為當(dāng)前塊。例如,幀(諸如圖7中所示的幀710)被識(shí)別為當(dāng)前幀,并且塊(諸如圖7中所示的塊712)被識(shí)別為當(dāng)前塊。可以以逐個(gè)塊為基礎(chǔ)對(duì)來(lái)自源幀的每個(gè)塊進(jìn)行代碼化。在某些實(shí)施方式中,基于塊的代碼化包括使用分級(jí)代碼化(諸如四叉樹(shù)代碼化)對(duì)塊進(jìn)行編碼。在一個(gè)示例中,當(dāng)前塊是64×64塊,并且對(duì)當(dāng)前塊進(jìn)行編碼包括對(duì)一個(gè)或多個(gè)子塊(諸如圖6中所示的塊610至650中的一個(gè)或多個(gè))進(jìn)行編碼。

在820處識(shí)別或確定相鄰代碼化模式。在某些實(shí)施方式中,這包括識(shí)別被用于對(duì)相鄰塊進(jìn)行編碼的代碼化模式、識(shí)別被用于相鄰塊的代碼化決策模式或兩者。代碼器(諸如圖4中所示的編碼器400)可以確定與當(dāng)前塊相鄰的塊(其可以是先前代碼化的塊)是被代碼化為約束決策模式塊還是無(wú)約束決策模式塊。代碼器可以存儲(chǔ)指示先前代碼化塊是被代碼化為約束決策模式塊還是無(wú)約束決策模式塊的比特或標(biāo)志,并且識(shí)別或確定相鄰代碼化模式可以包括評(píng)估該標(biāo)志。

在830處執(zhí)行約束或無(wú)約束決策模式代碼化。在某些實(shí)施方式中,執(zhí)行約束或無(wú)約束決策模式代碼化包括基于用于相鄰塊的代碼化決策模式來(lái)確定要執(zhí)行約束決策模式代碼化還是無(wú)約束決策模式代碼化。例如,直接緊挨在當(dāng)前幀中的當(dāng)前塊上方的塊、直接緊挨在當(dāng)前幀中的當(dāng)前塊左側(cè)的塊或兩者可以是無(wú)約束決策模式代碼化塊,并且可以使用約束決策模式代碼化對(duì)當(dāng)前塊進(jìn)行代碼化。在另一示例中,直接緊挨在當(dāng)前幀中的當(dāng)前塊上方的塊、直接緊挨在當(dāng)前幀中的當(dāng)前塊左側(cè)的塊或兩者可以是約束決策模式代碼化塊,并且可以使用無(wú)約束決策模式代碼化對(duì)當(dāng)前塊進(jìn)行代碼化。

無(wú)約束決策模式代碼化可以包括通過(guò)從參考幀識(shí)別參考?jí)K來(lái)生成運(yùn)動(dòng)補(bǔ)償參考?jí)K,并且使用選自候選空間濾波器集合的空間濾波器對(duì)參考?jí)K進(jìn)行濾波??梢允褂萌阉?諸如速率失真優(yōu)化模式搜索)來(lái)識(shí)別所選擇的空間濾波器。全搜索可以包括將來(lái)自候選空間濾波器集合的每個(gè)候選空間濾波器應(yīng)用于參考?jí)K以生成候選運(yùn)動(dòng)補(bǔ)償參考?jí)K的集合,確定用于每個(gè)候選運(yùn)動(dòng)補(bǔ)償參考?jí)K的殘余,并且選擇與具有最小預(yù)測(cè)誤差的殘余相關(guān)聯(lián)的空間濾波器。在某些實(shí)施方式中,無(wú)約束決策模式代碼化包括部分全搜索。例如,基于指示當(dāng)前塊與預(yù)測(cè)塊之間的相似性的度量,可以終止速率失真優(yōu)化模式搜索,使得省略對(duì)候選搜索類型中的一個(gè)或多個(gè)的評(píng)估。

一個(gè)或多個(gè)參考?jí)K在無(wú)約束決策模式下可能是不可用的,使得代碼化包括使用可用參考?jí)K。例如,當(dāng)前塊可以是幀的左上方塊,因此,在當(dāng)前幀的當(dāng)前塊上方的參考?jí)K和在當(dāng)前幀中的當(dāng)前塊左側(cè)的參考?jí)K是不可用的。在這種情況下,無(wú)約束決策模式代碼化可以使用來(lái)自前一幀的共置(collocated)塊的預(yù)測(cè)模式。在另一示例中,當(dāng)前塊可以是來(lái)自最左列的塊,使得在當(dāng)前幀中的當(dāng)前塊左側(cè)的參考?jí)K不可用。在這種情況下,無(wú)約束決策模式代碼化可以使用來(lái)自在當(dāng)前幀中的當(dāng)前塊上方的參考?jí)K的預(yù)測(cè)模式和來(lái)自來(lái)自前一幀的共置塊的預(yù)測(cè)模式。在另一示例中,當(dāng)前塊可以是來(lái)自當(dāng)前幀的最頂行的塊,因此在當(dāng)前幀中的當(dāng)前塊上方的參考?jí)K不可用。在這種情況下,無(wú)約束決策模式代碼化可以使用來(lái)自在當(dāng)前幀中的當(dāng)前塊左側(cè)的參考?jí)K的預(yù)測(cè)模式和來(lái)自前一幀的共置塊的預(yù)測(cè)模式。

約束決策模式代碼化還可以包括基于被用于對(duì)相鄰塊進(jìn)行編碼的預(yù)測(cè)濾波器來(lái)識(shí)別預(yù)測(cè)濾波器,其可以是空間濾波器。例如,約束決策模式代碼化包括確定被用于對(duì)相鄰塊進(jìn)行編碼的預(yù)測(cè)濾波器是否匹配。所選擇的預(yù)測(cè)濾波器類型可以與相鄰塊相匹配。例如,在候選空間濾波器的集合包括n個(gè)濾波器類型的情況下,可以使用第n濾波器類型對(duì)在當(dāng)前塊上方的相鄰塊進(jìn)行編碼,可以使用第n濾波器類型對(duì)在當(dāng)前塊左側(cè)的相鄰塊進(jìn)行編碼,可以省略濾波器搜索,并且可以使用第n濾波器類型對(duì)當(dāng)前塊進(jìn)行編碼。在其它實(shí)施方式中,相鄰濾波器類型不同,并且使用全搜索或簡(jiǎn)化的候選集搜索來(lái)選擇濾波器。例如,在候選空間濾波器的集合包括n個(gè)濾波器類型的情況下,可以使用第一濾波器類型對(duì)在當(dāng)前塊上方的相鄰塊進(jìn)行編碼,可以使用第二濾波器類型對(duì)在當(dāng)前塊左側(cè)的相鄰塊進(jìn)行編碼,并且簡(jiǎn)化的候選集搜索包括使用第一濾波器類型和第二濾波器類型的搜索。在某些情況下,簡(jiǎn)化的候選集搜索包括搜索一個(gè)或多個(gè)相似濾波器類型。例如,候選空間濾波器的集合包括n個(gè)濾波器類型,可以使用第一濾波器類型對(duì)在當(dāng)前塊上方的相鄰塊進(jìn)行編碼,可以使用第二濾波器類型對(duì)在當(dāng)前塊左側(cè)的相鄰塊進(jìn)行編碼,候選集合包括與第一濾波器類型和第二濾波器類型類似的第三濾波器類型,并且簡(jiǎn)化的候選集搜索包括使用第一濾波器類型、第二濾波器類型以及第三濾波器類型的搜索。

無(wú)約束決策模式代碼化可以包括速率失真優(yōu)化搜索。例如,速率失真優(yōu)化搜索包括塊規(guī)模搜索以將要代碼化的子塊的集合識(shí)別為當(dāng)前塊內(nèi)的不同單元。在某些實(shí)施方式中,塊規(guī)模搜索包括評(píng)估候選塊規(guī)模的集合以識(shí)別當(dāng)前塊內(nèi)的每個(gè)可以被代碼化為不同單元的子塊的集合。例如,當(dāng)前塊可以是64×64塊(諸如圖6中所示的64×64塊610)以及候選塊規(guī)模的集合(諸如正方形塊620至650)或矩形塊。例如,可以搜索具有尺寸4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32以及64×64的塊。還可以包括基于相鄰塊規(guī)模的定向求精模式塊規(guī)模搜索。例如,在當(dāng)前塊上方的塊可以使用8×16分區(qū)規(guī)模,在當(dāng)前塊左側(cè)的塊可以使用16×16分區(qū)規(guī)模,并且無(wú)約束決策模式代碼化可以包括搜索類似規(guī)模的單元,諸如8×8、16×8、8×16、16×16分區(qū)規(guī)模。

在某些實(shí)施方式中,約束決策模式代碼化包括場(chǎng)境速率失真優(yōu)化搜索,其包括從在空間上在當(dāng)前幀中的當(dāng)前塊上方的相鄰塊、在空間上在當(dāng)前幀中的當(dāng)前塊左側(cè)的相鄰塊以及與在時(shí)間上鄰近的先前編碼幀中的當(dāng)前塊在空間上一致的相鄰塊之間識(shí)別最小代碼化塊規(guī)模和最大代碼化塊規(guī)模。場(chǎng)境速率失真優(yōu)化搜索可以包括搜索候選塊規(guī)模的簡(jiǎn)化集合。例如,搜索可以省略小于來(lái)自相鄰塊的最小代碼化塊規(guī)模的候選塊規(guī)模和大于來(lái)自相鄰塊的最大代碼化塊規(guī)模的候選塊規(guī)模。

如圖7和8中所示的交替塊約束模式視頻代碼化的圖的其它實(shí)施方式是可用的??梢蕴砑咏惶鎵K約束模式視頻代碼化的附加元素,可以將某些元素組合和/或可以移除某些元素。

單詞“示例”或“示例性”在本文中被用來(lái)意指充當(dāng)示例、實(shí)例或圖示。在本文中描述為“示例”或“示例性”的任何方面或設(shè)計(jì)不一定要理解為相對(duì)于其它方面或設(shè)計(jì)而言是優(yōu)選或有利的。相反地,單詞“示例”或“示例性”的使用旨在以具體的方式提出概念。如在本申請(qǐng)中使用的術(shù)語(yǔ)“或”旨在意指包括性的“或”而不是排他性的“或”。也就是說(shuō),除非另外指定,或者從上下文顯而易見(jiàn),“x包括a或b”旨在意指任何的自然包括性排列。也就是說(shuō),如果x包括a;x包括b;或者x包括a和b兩者,則根據(jù)任何前述實(shí)例,滿足“x包括a或b”。另外,如在本申請(qǐng)和所附權(quán)利要求中使用的冠詞“一(a)”和“一(an)”一般地應(yīng)被理解成意指“一個(gè)或多個(gè)”,除非另外指明或者從上下文顯而易見(jiàn)的是針對(duì)單數(shù)形式。此外,術(shù)語(yǔ)“實(shí)施例”或“一個(gè)實(shí)施例”或“實(shí)施方式”或“一個(gè)實(shí)施方式”遍及各處的使用并不旨在意指相同的實(shí)施例或?qū)嵤┓绞?,除非這樣地描述。如本文中所使用的術(shù)語(yǔ)“確定”和“識(shí)別”或其任何變型包括使用圖1中所示的設(shè)備中的一個(gè)或多個(gè)以無(wú)論任何方式來(lái)選擇、查明、計(jì)算、查找、接收、確定、建立、獲得或者以其它方式識(shí)別或確定。

進(jìn)一步地,為了說(shuō)明的簡(jiǎn)單起見(jiàn),雖然本文中的圖和描述可以包括步驟或階段的序列或系列,但本文中公開(kāi)的方法的元素可以按照各種順序和/或同時(shí)地發(fā)生。另外,本文中公開(kāi)的方法的元素可以與在本文中并未明確地呈現(xiàn)和描述的其它元素一起發(fā)生。此外,可能并非本文中所述的方法的所有元素都是實(shí)現(xiàn)根據(jù)公開(kāi)主題的方法所需要的。

可以用硬件、軟件或其組合來(lái)實(shí)現(xiàn)發(fā)射站100a和/或接收站100b(以及存儲(chǔ)在其上面和/或從而被執(zhí)行的算法、方法、指令等)的實(shí)施方式。硬件可以包括例如計(jì)算機(jī)、知識(shí)產(chǎn)權(quán)(ip)核心、專用集成電路(asic)、可編程邏輯陣列、光學(xué)處理器、可編程邏輯控制器、微代碼、微控制器、服務(wù)器、微處理器、數(shù)字信號(hào)處理器或任何其它適當(dāng)電路。在權(quán)利要求中,應(yīng)將術(shù)語(yǔ)“處理器”理解為包含任何前述硬件(單獨(dú)地或以組合方式)。術(shù)語(yǔ)“信號(hào)”和“數(shù)據(jù)”被可互換地使用。進(jìn)一步地,發(fā)射站100a和接收站100b的部分不一定必須用相同的方式實(shí)現(xiàn)。

進(jìn)一步地,在一個(gè)實(shí)施方式中,例如,可以使用具有計(jì)算機(jī)程序的通用計(jì)算機(jī)或通用處理器來(lái)實(shí)現(xiàn)發(fā)射站100a或接收站100b,所述計(jì)算機(jī)程序在被執(zhí)行時(shí)執(zhí)行本文所述的任何的各方法、算法和/或指令。另外或替選地,例如,可以利用專用計(jì)算機(jī)/處理器,其可以包含用于執(zhí)行本文中所述的任何方法、算法或指令的專用硬件。

例如可以在實(shí)時(shí)視頻系統(tǒng)中的計(jì)算機(jī)上實(shí)現(xiàn)發(fā)射站100a和接收站100b。替選地,可以在服務(wù)器上實(shí)現(xiàn)發(fā)射站100a,并且可以在與服務(wù)器分離的設(shè)備(諸如手持式通信設(shè)備)上實(shí)現(xiàn)接收站100b。在這種情況下,發(fā)射站100a可以使用編碼器400將內(nèi)容編碼成已編碼視頻信號(hào),并且將已編碼視頻信號(hào)發(fā)射到通信設(shè)備中。進(jìn)而,通信設(shè)備然后可以使用解碼器500將已編碼視頻信號(hào)解碼。替選地,通信設(shè)備可以將本地地存儲(chǔ)在通信設(shè)備上的內(nèi)容(例如并非由發(fā)射站100a發(fā)射的內(nèi)容)解碼。其它適當(dāng)?shù)陌l(fā)射站100a和接收站100b實(shí)施方案可用。例如,接收站100b可以是大體上固定的個(gè)人計(jì)算機(jī)而不是便攜式通信設(shè)備和/或包括編碼器400的設(shè)備還可以包括解碼器500。

進(jìn)一步地,所有實(shí)施方式或其一部分可以采取從例如有形計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可訪問(wèn)的計(jì)算機(jī)程序產(chǎn)品的形式。計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是可以有形地包含、存儲(chǔ)、通信或傳輸程序以供任何處理器使用或與之相結(jié)合地使用的任何設(shè)備。例如,該介質(zhì)可以是電子、磁性、光學(xué)、電磁或半導(dǎo)體設(shè)備。其它適當(dāng)介質(zhì)也是可用的。

描述上述實(shí)施方式是為了允許容易地理解本申請(qǐng)而不是進(jìn)行限制。相反地,本申請(qǐng)涵蓋包括在所附權(quán)利要求范圍內(nèi)的各種修改和等價(jià)布置,該范圍將是根據(jù)最寬泛的解釋從而涵蓋根據(jù)法律許可的所有此類修改和等價(jià)結(jié)構(gòu)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泽普县| 吴桥县| 新巴尔虎左旗| 宁夏| 同心县| 博客| 昔阳县| 鄂尔多斯市| 丹寨县| 霍邱县| 麻栗坡县| 永平县| 尚义县| 赣州市| 龙山县| 望谟县| 黄平县| 老河口市| 甘洛县| 淳化县| 大埔区| 西贡区| 千阳县| 望江县| 乌鲁木齐县| 旬邑县| 原平市| 潞西市| 宜兰市| 信丰县| 中山市| 岢岚县| 承德县| 梁河县| 贵定县| 资中县| 阿鲁科尔沁旗| 突泉县| 云阳县| 宁城县| 安宁市|