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

在算術(shù)代碼化中的有效率場境應(yīng)對的制作方法

文檔序號:11291340閱讀:206來源:國知局
在算術(shù)代碼化中的有效率場境應(yīng)對的制造方法與工藝



背景技術(shù):

例如,數(shù)字視頻可以用于經(jīng)由視頻會議、高清晰度視頻娛樂、視頻廣告、或用戶生成的視頻的共享進(jìn)行遠(yuǎn)程商務(wù)會議。由于視頻數(shù)據(jù)中包括大量數(shù)據(jù),因此對于傳輸和存儲需要高效能壓縮。因此,提供通過具有有限帶寬的通信信道傳送的高分辨率視頻將是有利的。



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

本文公開了用于使用在算術(shù)代碼化中的有效率場境(context)應(yīng)對進(jìn)行編碼和解碼的系統(tǒng)、方法、和裝置的方面。

一個方面是一種使用在算術(shù)代碼化中的有效率場境應(yīng)對進(jìn)行視頻編碼的方法。該方法可以包括:從經(jīng)編碼視頻流中識別來自當(dāng)前幀的當(dāng)前塊(block),識別對于所述當(dāng)前塊的掃描順序,從所述當(dāng)前塊識別當(dāng)前熵代碼化變換系數(shù),以及對所述當(dāng)前熵代碼化變換系數(shù)進(jìn)行熵解碼。所述熵解碼可以包括:基于所述掃描順序,確定在與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置和與第一場境系數(shù)相對應(yīng)的掃描順序位置之間的第一掃描順序距離,其中與第一場境系數(shù)相對應(yīng)的掃描順序位置在空間上接近與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置;從場境系數(shù)寄存器中的第一位置識別第一場境系數(shù)值,所述第一位置對應(yīng)于所述第一掃描順序距離,其中所述場境系數(shù)寄存器是減小大小的場境系數(shù)寄存器;以及基于所述第一場境系數(shù)值來對所述當(dāng)前熵代碼化變換系數(shù)進(jìn)行熵解碼。該方法可以包括:將經(jīng)熵解碼的當(dāng)前變換系數(shù)包括在用于顯示的輸出比特流中;以及存儲或顯示所述輸出比特流。

另一方面是一種使用在算術(shù)代碼化中的有效率場境應(yīng)對進(jìn)行視頻編碼的方法。在一些實(shí)施方式中,該方法可以包括:從經(jīng)編碼的視頻流中識別來自當(dāng)前幀的當(dāng)前塊,識別對于所述當(dāng)前塊的掃描順序,從所述當(dāng)前塊識別當(dāng)前熵代碼化變換系數(shù),以及對所述當(dāng)前熵代碼化變換系數(shù)進(jìn)行熵解碼。所述熵解碼可以包括:基于所述掃描順序,確定在與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置和與第一場境系數(shù)相對應(yīng)的掃描順序位置之間的第一掃描順序距離,其中與第一場境系數(shù)相對應(yīng)的掃描順序位置在空間上接近與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置,從場境系數(shù)寄存器中的第一位置識別第一場境系數(shù)值,所述第一位置對應(yīng)于所述第一掃描順序距離,其中所述場境系數(shù)寄存器是減小大小的場境系數(shù)寄存器,基于所述掃描順序,確定在與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置和與第二場境系數(shù)相對應(yīng)的掃描順序位置之間的第二掃描順序距離,其中與第二場境系數(shù)相對應(yīng)的掃描順序位置在空間上接近與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置,從場境系數(shù)寄存器中的第二位置識別第二場境系數(shù)值,所述第二位置對應(yīng)于所述第二掃描順序距離,以及基于所述第一場境系數(shù)值和所述第二場境系數(shù)值來對所述當(dāng)前熵代碼化變換系數(shù)進(jìn)行熵解碼。可以將經(jīng)熵解碼的當(dāng)前變換系數(shù)包括在用于顯示的輸出比特流中,以及可以存儲或傳送所述輸出比特流。

另一方面是一種用于使用在算術(shù)代碼化中的有效率場境應(yīng)對進(jìn)行視頻編碼的裝置,該裝置包括存儲器和至少一個處理器,所述至少一個處理器被配置成執(zhí)行存儲在該存儲器中的指令,以從經(jīng)編碼的視頻流中識別來自當(dāng)前幀的當(dāng)前塊,識別對于所述當(dāng)前塊的掃描順序,從所述當(dāng)前塊識別當(dāng)前熵代碼化變換系數(shù),并對所述當(dāng)前熵代碼化變換系數(shù)進(jìn)行熵解碼。該處理器可以被配置為執(zhí)行存儲在該存儲器中的指令,以通過以下操作來對所述當(dāng)前熵代碼化變換系數(shù)進(jìn)行熵解碼:基于所述掃描順序,確定在與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置和與左方場境系數(shù)相對應(yīng)的掃描順序位置之間的左方掃描順序距離,其中與左方場境系數(shù)相對應(yīng)的掃描順序位置在空間上接近與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置的左方,基于所述掃描順序,確定與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置和與上方場境系數(shù)相對應(yīng)的掃描順序位置之間的上方掃描順序距離,其中與上方場境系數(shù)相對應(yīng)的掃描順序位置在空間上接近與所述當(dāng)前熵代碼化變換系數(shù)相對應(yīng)的掃描順序位置的上方,從場境系數(shù)寄存器中的第一位置識別左方場境系數(shù)值,所述第一位置對應(yīng)于所述左方掃描順序距離,其中所述場境系數(shù)寄存器是減小大小的場境系數(shù)寄存器,從所述場境系數(shù)寄存器中的第二位置識別上方場境系數(shù)值,所述第二位置對應(yīng)于所述上方掃描順序距離,以及基于所述左方場境系數(shù)值和所述上方場境系數(shù)值來對所述當(dāng)前熵代碼化變換系數(shù)進(jìn)行熵解碼。所述處理器可以被配置為執(zhí)行存儲在該存儲器中的指令,以將經(jīng)熵解碼的當(dāng)前變換系數(shù)包括在用于顯示的輸出比特流中,以及存儲或顯示所述輸出比特流。

這些和其他方面的變型將在下面進(jìn)一步詳細(xì)描述。

附圖說明

這里的描述對附圖進(jìn)行參考,其中在各圖中相似的附圖標(biāo)記指代相似的部件,并且其中:

圖1是根據(jù)本公開的計(jì)算設(shè)備的圖;

圖2是根據(jù)本公開的計(jì)算和通信系統(tǒng)的圖;

圖3是根據(jù)本公開的用于在編碼和解碼中使用的視頻流的圖;

圖4是根據(jù)本公開的編碼器的框圖;

圖5是根據(jù)本公開的解碼器的框圖;

圖6是根據(jù)本公開的幀的一部分的表示的框圖;

圖7是根據(jù)本公開的包括量子化變換系數(shù)值的塊的量子化變換系數(shù)矩陣的示例的圖;

圖8是根據(jù)本公開的熵代碼化掃描順序的示例的圖;

圖9是根據(jù)本公開的不連續(xù)熵代碼化掃描順序的一部分的示例的圖;

圖10是根據(jù)本公開的場境熵編碼的流程圖;

圖11是根據(jù)本公開的場境熵解碼的流程圖;

圖12是根據(jù)本公開的,用于使用在算術(shù)代碼化中的有效率場境應(yīng)對進(jìn)行編碼和解碼的變換系數(shù)掃描樣式的一部分的表示的示例的圖;以及

圖13是根據(jù)本公開的,使用在算術(shù)代碼化中的有效率場境應(yīng)對進(jìn)行場境熵解碼的流程圖。

具體實(shí)施方式

視頻壓縮方案可以包括將每個圖像或幀分解成更小的部分,諸如塊(block),并且使用用于限制輸出中每個塊所包括的信息的技術(shù)來生成輸出比特流。編碼的比特流可以被解碼以根據(jù)有限的信息重新創(chuàng)建塊和源圖像。對視頻流編碼可以包括熵編碼,其是可以包括在輸出數(shù)據(jù)流中以令牌或碼字(codeword)替代比特樣式(bitpattern)或符號的無損壓縮技術(shù)。在一些實(shí)施方式中,可以基于諸如緊接在當(dāng)前系數(shù)左邊的系數(shù)、緊接在當(dāng)前系數(shù)上方的系數(shù)、或兩者的組合的場境(context)系數(shù)來確定符號的令牌。

在一些實(shí)施方式中,解碼器可以在場境系數(shù)寄存器中存儲塊的每個經(jīng)解碼的系數(shù),以用于解碼后續(xù)系數(shù)。場境系數(shù)寄存器的大小可以是用于代碼化的系數(shù)矩陣的大小的函數(shù)。例如,該系數(shù)矩陣可以是使用諸如圖9中部分地示出的編碼順序的不連續(xù)編碼順序來編碼的nxm矩陣,諸如32x32矩陣,并且場境系數(shù)寄存器可以包括n*m個系數(shù),例如1024(32*32=1024)個系數(shù)。在一些實(shí)施方式中,可以使用諸如3位的b位來存儲每個系數(shù),并且場境系數(shù)寄存器的大小可以是b*n*m位,諸如3072位(1024*3位)。

在一些實(shí)施方式中,使用以算術(shù)代碼化中有效率場境應(yīng)對的視頻編碼包括使用減小大小的場境系數(shù)寄存器,其可以減小資源利用并改善解碼器中的定時。使用減小大小的場境系數(shù)寄存器的、使用算術(shù)代碼化中的有效率的場境應(yīng)對的視頻代碼化可以包括:確定在編碼系數(shù)的掃描順序位置與對應(yīng)的場境系數(shù)的掃描順序位置之間的掃描順序距離,以及從在減小大小場境系數(shù)寄存器中由對應(yīng)距離指示的位置讀取對應(yīng)的場境系數(shù)值。減小大小的場境系數(shù)寄存器的大小可以是小于最大掃描順序距離的大小。

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

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

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

通信單元120可以被配置為經(jīng)由有線或無線介質(zhì)180發(fā)射或接收信號。例如,如圖所示,通信單元120操作地連接到被配置為經(jīng)由無線信號進(jìn)行通信的天線。盡管在圖1中未明確示出,但是通信單元120可以被配置為經(jīng)由諸如射頻(rf)、紫外(uv)、可見光、光纖、線纜線路、或其組合的任何有線或無線通信介質(zhì)來進(jìn)行發(fā)射、接收、或兩者。盡管圖1示出了單個通信單元120和單個通信接口110,但是可以使用任何數(shù)目的通信單元和任何數(shù)目的通信接口。

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

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

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

指令160可以包括用于執(zhí)行本文公開的任何方法或其任何一個或多個部分的指令。指令160可以以硬件、軟件、或其任何組合實(shí)現(xiàn)。例如,指令160可被實(shí)現(xiàn)為諸如計(jì)算機(jī)程序的存儲在存儲器150中的信息,其由處理器140執(zhí)行以執(zhí)行本文所述的相應(yīng)方法、算法、方面、或其組合中的任何一個。指令160或其一部分可以被實(shí)現(xiàn)為專用處理器或電路,其可以包括用于實(shí)施本文所描述的方法、算法、方面、或其組合的任何一個的專用硬件。指令160的部分可以跨同一機(jī)器或不同機(jī)器上的多個處理器分布或跨諸如局域網(wǎng)、廣域網(wǎng)、互聯(lián)網(wǎng)或其組合的網(wǎng)絡(luò)分布。

電源170可以是用于為通信接口110供電的任何合適的設(shè)備。例如,電源170可以包括:有線電源;一個或多個干電池,例如鎳鎘(nicd)、鎳-鋅(nizn)、鎳金屬氫化物(nimh)、鋰離子(li-ion)等;太陽能電池;燃料電池;或能夠?yàn)橥ㄐ沤涌?10供電的任何其他設(shè)備。通信接口110、通信單元120、ui130、處理器140、指令160、存儲器150、或其任何組合可以與電源170操作地耦合。

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

圖2是根據(jù)本公開的計(jì)算和通信系統(tǒng)200的圖。計(jì)算和通信系統(tǒng)200可以包括一個或多個計(jì)算和通信設(shè)備100a/100b/100c、一個或多個接入點(diǎn)210a/210b、一個或多個網(wǎng)絡(luò)220、或其組合。例如,計(jì)算和通信系統(tǒng)200可以是向諸如計(jì)算和通信設(shè)備100a/100b/100c的一個或多個有線或無線通信設(shè)備提供諸如語音、數(shù)據(jù)、視頻、傳遞、廣播、或其組合的通信的多址系統(tǒng)。盡管為了簡單圖2示出了三個計(jì)算和通信設(shè)備100a/100b/100c、兩個接入點(diǎn)210a/210b、和一個網(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è)備,諸如移動計(jì)算設(shè)備、膝上型計(jì)算機(jī)、瘦客戶端、或智能電話,并且通信設(shè)備100c可以是服務(wù)器,諸如大型機(jī)或集群。雖然將計(jì)算和通信設(shè)備100a/100b描述為用戶設(shè)備,并且將計(jì)算和通信設(shè)備100c描述為服務(wù)器,但是任何計(jì)算和通信設(shè)備可以執(zhí)行服務(wù)器的一些或全部功能、用戶設(shè)備的一些或全部功能、或服務(wù)器和用戶設(shè)備的一些或全部功能。

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

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

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

計(jì)算和通信設(shè)備100a/100b/100c可以經(jīng)由網(wǎng)絡(luò)220使用一個或多個有線或無線通信鏈路或經(jīng)由有線和無線通信鏈路的組合來彼此通信。如圖所示,例如,計(jì)算和通信設(shè)備100a/100b可以經(jīng)由無線通信鏈路180a/180b進(jìn)行通信,并且計(jì)算和通信設(shè)備100c可以經(jīng)由有線通信鏈路180c進(jìn)行通信。計(jì)算和通信設(shè)備100a/100b/100c中的任何一個可以使用任何一條或多條有線或無線通信鏈路進(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)由一種或多種類型的有線或無線通信鏈路230a/230b與網(wǎng)絡(luò)220進(jìn)行通信。盡管圖2示出了經(jīng)由網(wǎng)絡(luò)220通信的計(jì)算和通信設(shè)備100a/100b/100c,但是計(jì)算和通信設(shè)備100a/100b/100c可以經(jīng)由任何數(shù)目的通信鏈路——諸如直接有線或無線通信鏈路——彼此通信。

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

圖3是根據(jù)本公開的用于編碼和解碼的視頻流300的圖。諸如由視頻相機(jī)捕獲的視頻流或由計(jì)算設(shè)備生成的視頻流的視頻流300包括視頻序列310。視頻序列310包括相鄰幀320的序列。雖然示出了三個相鄰的幀320,但視頻序列310可以包括任何數(shù)目的相鄰幀320。來自相鄰幀320的每個幀330可以表示來自視頻流300的單個圖像。幀330可以包括塊340。雖然在圖3中未示出,但是塊可以包括像素。例如,塊可以包括16x16像素組、8x8像素組、8x16像素組、或任何其它像素組。除非本文另有說明,術(shù)語“塊”可以包括超塊(superblock)、宏塊(macroblock)、段(segment)、片(slice)、或幀的任何其他部分。幀、塊、像素、或其組合可以包括諸如亮度信息、色度信息的顯示信息或可用于存儲、修改、通信、或顯示視頻流300或其一部分的任何其他信息。

圖4是根據(jù)本公開的編碼器400的框圖。編碼器400可以在諸如圖1所示的計(jì)算設(shè)備100或圖2所示的計(jì)算和通信設(shè)備100a/100b/100c的設(shè)備中實(shí)現(xiàn)為存儲在諸如圖1所示的存儲器150的數(shù)據(jù)存儲單元中的計(jì)算機(jī)軟件程序。計(jì)算機(jī)軟件程序可以包括可以由諸如圖1所示的處理器160的處理器執(zhí)行的機(jī)器指令,并且致使該設(shè)備對視頻數(shù)據(jù)進(jìn)行編碼,如本文所述。編碼器400可以被實(shí)現(xiàn)為例如包括在計(jì)算設(shè)備100中的專用硬件。

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

為了對視頻流402進(jìn)行編碼,可以以塊為單位處理視頻流402內(nèi)的每個幀。因此,可以從幀中的塊識別當(dāng)前塊,并且可以對該當(dāng)前塊進(jìn)行編碼。

在幀內(nèi)/幀間預(yù)測單元410中,可以使用可以處于單幀內(nèi)的幀內(nèi)預(yù)測或可以是從幀到幀的幀間預(yù)測來編碼當(dāng)前塊。幀內(nèi)預(yù)測可以包括:根據(jù)先前已編碼和重構(gòu)的當(dāng)前幀中的樣本來生成預(yù)測塊。幀間預(yù)測可以包括:根據(jù)一個或多個先前已構(gòu)造的參考幀中的樣本來生成預(yù)測塊。為當(dāng)前幀中的當(dāng)前塊生成預(yù)測塊可以包括:執(zhí)行運(yùn)動估計(jì)以生成指示參考幀中的適當(dāng)參考塊的運(yùn)動向量。

幀內(nèi)/幀間預(yù)測單元410可以從當(dāng)前塊(原始塊)中減去預(yù)測塊以產(chǎn)生殘差塊。變換單元420可以執(zhí)行基于塊的變換,其包括將殘差塊變換為例如頻域中的變換系數(shù)?;趬K的變換的示例包括karhunen-loève變換(klt)、離散余弦變換(dct)、和奇異值分解變換(svd)。在一個示例中,dct可以包括將塊變換入頻域內(nèi)。dct可以包括使用基于空間頻率的變換系數(shù)值,其中最低頻率(即dc)系數(shù)在矩陣左上角并且最高頻率系數(shù)在矩陣右下角。

量子化單元430可以將變換系數(shù)轉(zhuǎn)換為離散量子值,其被稱為量子化變換系數(shù)或量子化水平。量子化變換系數(shù)可以由熵編碼單元440進(jìn)行熵編碼,以產(chǎn)生經(jīng)熵編碼的系數(shù)。熵編碼可以包括使用概率分布度量??梢詫⒔?jīng)熵編碼的系數(shù)和用于解碼該塊的信息輸出到壓縮比特流404,該信息可以包括所使用的預(yù)測類型、運(yùn)動向量、和量子化器值。壓縮比特流404可以使用各種技術(shù)——諸如行程長度編碼(rle)和零行程(zero-run)代碼化)進(jìn)行格式化。

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

可以使用編碼器400的其他變型來對壓縮比特流404進(jìn)行編碼。例如,基于非變換的編碼器400可以直接量子化殘差塊而不使用變換單元420。在一些實(shí)施方式中,量子化單元430和去量子化單元450可以組合成單個單元。

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

解碼器500可以接收壓縮比特流502,諸如圖4所示的壓縮比特流404,并且可以解碼壓縮比特流502以生成輸出視頻流504。解碼器500可以包括熵解碼單元510、去量子化單元520、逆變換單元530、幀內(nèi)/幀間預(yù)測單元540、重構(gòu)單元550、環(huán)路濾波單元560、去塊(deblocking)濾波單元570、或其任何組合。解碼器500的其他結(jié)構(gòu)變化可用于解碼壓縮比特流502。

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

解碼器500的其他變型可用于對壓縮比特流502進(jìn)行解碼。例如,解碼器500可以產(chǎn)生輸出視頻流504,而無需去塊濾波單元570。

圖6是根據(jù)本公開的諸如圖3所示的幀330的幀的部分600的表示的方框圖。如圖所示,部分600包括在矩陣或笛卡爾平面中的兩行和兩列中的四個64x64塊610。在一些實(shí)施方式中,64x64塊可以是最大代碼化單元,n=64。每個64x64塊可以包括多達(dá)四個32x32塊620。每個32x32塊可以包括多達(dá)四個16x16塊630。每個16x16塊可以包括多達(dá)四個8x8塊640。每個8x8塊640可以包括多達(dá)四個4x4塊650。每個4x4塊650包括多達(dá)16個像素,其可以在笛卡爾平面或矩陣中的每個相應(yīng)塊中以四行和四列表示。像素可以包括表示在幀中捕獲的圖像的信息,諸如亮度信息、顏色信息、和位置信息。在一些實(shí)施方式中,諸如所示的16x16像素塊的塊包括具有亮度像素662的亮度塊660以及諸如u或cb色度塊670及v或cr色度塊680的兩個色度塊670/680。色度塊670/680包括色度像素690。例如,亮度塊660包括16x16個亮度像素662,并且每個色度塊670/680包括如圖所示的8x8個色度像素690。雖然示出了塊的一種布置,但是可以使用任何布置。盡管圖6示出了nxn塊,但是在一些實(shí)施方式中可以使用其中n≠m的nxm塊。例如,可以使用32x64塊、64x32塊、16x32塊、32x16塊、或任何其他大小塊。在一些實(shí)施方式中,可以使用nx2n塊、2nxn塊、或其組合。

有序塊級代碼化(orderedblock-levelcoding)包括按照諸如光柵掃描順序的順序?qū)膲K代碼化,其中塊可以從該幀或該幀的一部分的左上角的塊開始被識別和處理,并且沿著行從左到右且從頂行到底行進(jìn)行,依次識別每個塊進(jìn)行處理。例如,幀的頂行和左列中的64x64塊可以是代碼化的第一塊,并且緊接在該第一塊右側(cè)的64x64塊可以是代碼化的第二塊。從頂部起第二行可以是代碼化的第二行,使得該第二行的左列中的64x64塊在第一行最右邊的列中的64x64塊之后被代碼化。

對塊進(jìn)行代碼化可以包括使用四叉樹代碼化,其包括以光柵掃描順序?qū)K內(nèi)的較小塊單元進(jìn)行代碼化。例如,可以使用四叉樹代碼化來將在圖6中部分600的左下角所示的64x64塊代碼化,該塊中左上方的32x32塊被代碼化,然后對右上方的32xz32塊進(jìn)行代碼化,然后對左下方的32x32塊進(jìn)行代碼化,然后對右下方的32x32塊進(jìn)行代碼化。每個32x32塊可以使用四叉樹代碼化進(jìn)行代碼化,其中左上方的16x16塊被代碼化,然后對右上方16x16塊進(jìn)行代碼化,然后對左下方16x16塊進(jìn)行代碼化,然后對右下方16x16塊進(jìn)行代碼化。每個16x16塊可以使用四叉樹代碼化進(jìn)行代碼化,其中左上方的8x8塊被代碼化,然后對右上方的8x8塊進(jìn)行代碼化,然后對左下方的8x8塊進(jìn)行代碼化,然后對右下方的8x8塊進(jìn)行代碼化。可以使用四叉樹代碼化對每個8x8塊進(jìn)行代碼化,其中左上方4x4塊被代碼化,然后對右上方4x4塊進(jìn)行代碼化,然后對左下方4x4塊進(jìn)行代碼化,然后對右下方4x4塊進(jìn)行代碼化。在一些實(shí)施方式中,對于16x16塊可以省略8x8塊,并且可以使用四叉樹代碼化對16x16塊進(jìn)行代碼化,其中左上方4x4塊被代碼化,并且然后以光柵-掃描順序?qū)υ?6x16塊中的其他4x4塊進(jìn)行代碼化。

視頻代碼化可以包括通過例如從對應(yīng)的經(jīng)編碼幀省略原始幀中的一些信息來壓縮包括在原始幀或輸入幀中的信息。例如,代碼化可以包括減小頻譜冗余,減小空間冗余,減小時間冗余、或其組合。

減小頻譜冗余可以包括使用基于亮度分量(y)和兩個色度分量(u和v或者cb和cr)的顏色模型,其可被稱為yuv或ycbcr顏色模型或顏色空間。例如,使用yuv顏色模型包括使用相對大量的信息來表示幀的一部分的亮度分量,并且使用相對少量的信息來表示幀的該部分的每個對應(yīng)的色度分量。例如,幀的一部分可以由諸如16x16個像素塊的高分辨率亮度分量以及由兩個較低分辨率色度分量表示,每個低分辨率色度分量將幀的該部分表示為8x8像素塊。像素可以指示值,例如,在0到255的范圍內(nèi)的值,并且可以使用八位來存儲或傳送。盡管參照yuv顏色模型描述了本公開,但是可以使用任何顏色模型。

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

減小時間冗余可以包括使用幀之間的相似性基于作為視頻流的先前編碼、解碼、和重構(gòu)的幀使用一個或多個參考幀的相對小量的數(shù)據(jù)來對幀進(jìn)行編碼。例如,當(dāng)前幀的塊或像素可以類似于參考幀的空間上對應(yīng)的塊或像素。當(dāng)前幀的塊或像素可以類似于在不同空間位置處的參考幀的塊或像素,并且減小時間冗余因此包括生成運(yùn)動信息,其指示在當(dāng)前幀中的塊或像素的位置和參考幀中的塊或像素的對應(yīng)位置之間的空間差異或平移。

為了減小時間冗余,識別與當(dāng)前幀的當(dāng)前塊或像素相對應(yīng)的參考幀或參考幀的一部分中的塊或像素。例如,可以對存儲在存儲器中的參考幀或參考幀的一部分搜索用于編碼當(dāng)前幀的當(dāng)前塊或像素的最佳塊或像素。以這種方式,搜索識別參考幀的塊,對于該塊而言,參考塊和當(dāng)前塊之間的像素值的差被最小化。這被稱為運(yùn)動搜索??梢韵拗扑阉鞯膮⒖紟牟糠郑沟盟阉鲄^(qū)域例如包括參考幀的有限數(shù)目的行。識別參考塊可以包括:計(jì)算在搜索區(qū)域中的塊的像素與當(dāng)前塊的像素之間的代價函數(shù),例如絕對差異和(sad)。

在一些實(shí)施方式中,在參考幀中的參考塊的位置與在當(dāng)前幀中的當(dāng)前塊之間的空間差被表示為運(yùn)動向量。在參考塊和當(dāng)前塊之間的像素值上的差異通常被稱為差分?jǐn)?shù)據(jù)、殘差數(shù)據(jù)、或稱為殘差塊??梢詫⑸蛇\(yùn)動向量稱為運(yùn)動估計(jì),并且可以基于使用作為的笛卡爾坐標(biāo)的位置來將當(dāng)前塊的像素指示為fx,y。類似地,可以基于使用的笛卡爾坐標(biāo)的位置來將參考幀的搜索區(qū)域的像素指示為rx,y。可以基于例如在當(dāng)前幀的像素與參考幀的對應(yīng)像素之間的sad來確定當(dāng)前塊的運(yùn)動向量(mv)。

盡管為了清楚起見,這里參考幀的矩陣或笛卡爾表示來描述運(yùn)動補(bǔ)償?shù)姆謪^(qū),但是可以在任何數(shù)據(jù)結(jié)構(gòu)中對幀進(jìn)行存儲、傳送、處理、或者其任何組合,使得可以對于幀或圖像有效率地預(yù)測像素值。例如,可以在諸如所示矩陣的二維數(shù)據(jù)結(jié)構(gòu)中或者在諸如向量數(shù)組的一維數(shù)據(jù)結(jié)構(gòu)中對幀進(jìn)行存儲、傳送、處理、或其任何組合。在一個實(shí)施方式中,諸如所示的二維表示的幀的表示對應(yīng)于在作為圖像的幀的渲染中的物理位置。例如,幀的左上角的塊的左上角的位置可以對應(yīng)于作為圖像的幀的渲染的左上角的物理位置。

在塊內(nèi)捕獲的內(nèi)容可以包括展現(xiàn)出不同空間和時間特性的兩個或更多個區(qū)域。例如,幀可以捕獲以各個方向和速度移動的多個對象,并且塊可以包括邊緣或?qū)ο筮吔???梢酝ㄟ^下述方式來改進(jìn)基于塊的代碼化效率:將包括具有不同特性的多個區(qū)域的塊劃分成一個或多個分區(qū),所述分區(qū)可以是與不同內(nèi)容相對應(yīng)的包括正方形的矩形分區(qū),并且對該分區(qū)進(jìn)行編碼,而不是對每個最小代碼化單位獨(dú)立進(jìn)行編碼。

可以從多個候選分區(qū)方案當(dāng)中選擇分區(qū)方案。例如,針對64x64代碼化單元的候選分配方案可以包括大小范圍從4x4到64x64的矩形大小分區(qū),諸如4x4、4x8、8x4、8x8、8x16、16x8、16x16、16x32、32x16、32xz32、32x64、64x32、或64x64。在一些實(shí)施方式中,分區(qū)包括全分區(qū)搜索,其可以包括通過下述方式來選擇分區(qū)方案:使用每個可用候選分區(qū)方案對代碼化單元進(jìn)行編碼,并且選擇最好方案,例如產(chǎn)生最小速率失真誤差的方案。在其他實(shí)施方式中,諸如離線雙程編碼(offlinetwo-passencoding),在第一代碼化程中生成關(guān)于幀之間的運(yùn)動的信息,并且然后在第二代碼化程中將其用于選擇分區(qū)方案。對于每個候選分區(qū)方案,諸如離線雙程編碼和評估速率失真誤差或其他類似度量的技術(shù)可能是耗時的,并且可以利用超過一半的編碼時間。在包括靜態(tài)背景的視頻會議或其他內(nèi)容被編碼的情況下,例如,可以基于先前和當(dāng)前源幀之間的差異來選擇分區(qū)方案。

運(yùn)動補(bǔ)償?shù)姆謪^(qū)可以比全分區(qū)搜索、離線雙程編碼、或基于幀間差異的分區(qū)更有效率地識別分區(qū)方案。例如,運(yùn)動補(bǔ)償?shù)姆謪^(qū)包括識別用于對諸如塊610的當(dāng)前塊進(jìn)行編碼的分區(qū)方案。在一些實(shí)施方式中,識別分區(qū)方案包括:確定將塊編碼為最大代碼化單元大小——其可以是如圖所示的64x64——的單個分區(qū)還是將塊劃分成與子塊——諸如32x32塊620、16x16塊630、或8x8塊640如圖所示——相對應(yīng)的多個分區(qū),并且可以包括確定是否劃分為一個或多個的分區(qū)。例如,64x64塊可能被劃分成四個32x32分區(qū)。四個32x32分區(qū)中的三個可以編碼為32x32分區(qū),并且第四個32x32分區(qū)可以進(jìn)一步劃分為四個16x16分區(qū)。該四個16x16分區(qū)中的三個可以被編碼為16x16分區(qū),并且第四個16x16分區(qū)可以被進(jìn)一步劃分成四個8x8分區(qū),其中每個分區(qū)可以被編碼為8x8分區(qū)。在一些實(shí)施方式中,識別分區(qū)方案可以包括使用分區(qū)決策樹。

可以從多個候選代碼化模式中識別最佳代碼化模式,這提供了應(yīng)對具有各種統(tǒng)計(jì)性質(zhì)的視頻信號的靈活性并且可以提高壓縮效率。例如,視頻代碼化器可以評估每個候選代碼化模式以識別最佳代碼化模式。最佳代碼化模式通常是使當(dāng)前塊的誤差度量——諸如速率失真代價——最小化的代碼化模式??梢酝ㄟ^基于當(dāng)前塊和對應(yīng)的預(yù)測塊之間的相似度來限制可用候選代碼化模式的集合來減小搜索候選代碼化模式的復(fù)雜度??梢酝ㄟ^執(zhí)行定向細(xì)化模式搜索(directedrefinementmodesearch)來實(shí)現(xiàn)復(fù)雜度的進(jìn)一步降低。例如,可以針對經(jīng)限制的候選塊大小——諸如16x16、8x8和4x4——的集合來生成度量,與每個塊大小相關(guān)聯(lián)的誤差度量可以處于降序,并且可以評估附加的候選塊大小,例如4x8和8x4塊大小。

在一些實(shí)施方式中,可以使用交替的塊受約束的決策模式代碼化,其在不受約束的決策模式以及受約束模式之間交替,在不受約束的決定模式中可以完全搜索候選代碼化模式的集合,在受約束的模式中要搜索的候選代碼化模式的集合可能會受到限制。該交替可以是空間的、時間的、或空間的和時間二者的??臻g交替包括在緊鄰的相鄰塊當(dāng)中的受約束和不受約束的模式之間交替,并且可以是垂直的、水平的、或兩者。這可以表示為國際跳棋棋盤或國際象棋棋盤樣式。時間交替可以在緊鄰相鄰幀當(dāng)中在約束和非約束模式之間交替。

圖7是根據(jù)本公開的包括量子化變換系數(shù)值的4x4塊的量子化變換系數(shù)矩陣700的示例的圖。例如,編碼器的元件——諸如圖4所示的編碼器400的量子化單元430——可以生成量子化的變換系數(shù)矩陣700。盡管為了簡單起見示出了4x4塊,但是可以使用任何大小的塊。例如,可以使用64x64塊、64x32塊、32x64塊、32x32塊、32x16塊、16x32塊、16x16塊、16x8塊、8x16塊、8x8塊、8x4塊、或4x8塊。

在圖7中,每個位置中所示的值指示各位置的變換系數(shù)值。為了清楚起見,塊的變換系數(shù)的位置可以被稱為變換系數(shù)的“位置(position)”、“地點(diǎn)(location)”、或其變型。如本文所使用的,對變換系數(shù)之間的“接近”、“空間接近”、或“距離”的引用可指示塊的變換系數(shù)的變換系數(shù)矩陣表示中的接近或距離。雖然關(guān)于變換系數(shù)矩陣來描述變換系數(shù),但是變換系數(shù)可以在任何數(shù)據(jù)結(jié)構(gòu)中被處理或存儲。例如,變換系數(shù)可以在諸如向量的一維數(shù)組中被處理或存儲。

如圖所示,例如對稱dct的變換往往在塊700的左上角對具有大幅度的系數(shù)進(jìn)行聚組。在一些實(shí)施方式中,變換可以以不同的樣式來分布較大幅度的系數(shù)。例如,與一維dct組合的一維非對稱離散正弦變換(adst)往往沿著塊的一個邊緣——例如頂部邊緣或左邊緣——聚組大幅度系數(shù)。

量子化變換系數(shù)的矩陣可以以往往在塊末端處對零值系數(shù)進(jìn)行聚組的掃描順序進(jìn)行處理。然后,可以從輸出比特流中省略以掃描順序在塊的結(jié)束處的連續(xù)零值系數(shù)而不丟失數(shù)據(jù)。盡管未明確示出,但二維(2d)變換系數(shù)矩陣可以由一維向量數(shù)組表示。

圖8示出了根據(jù)本公開的熵代碼化掃描順序的示例的圖。熵代碼化包括以掃描順序——諸如水平掃描順序800、垂直掃描順序810、對角線掃描順序820、或鋸齒形掃描順序830——對量子化變換系數(shù)矩陣——例如圖8所示的量子化變換系數(shù)矩陣800——的系數(shù)進(jìn)行編碼。在圖8中,每個塊中所示的值表示對應(yīng)系數(shù)被熵代碼化的順序。盡管為了簡單起見示出了4x4塊,但是可以使用任何大小的塊。例如,可以使用64x64塊、64x32塊、32x64塊、32x32塊、32x16塊、16x32塊、16x16塊、16x8塊、8x16塊、8x8塊、8x4塊、或4x8塊。

可以通過以掃描順序在向量中包括每個變換系數(shù)來生成變換系數(shù)的一維數(shù)組,諸如向量。例如,變換系數(shù)矩陣的左上角的dc系數(shù)可以是掃描順序向量的第一元素,因此具有(0,0)的變換系數(shù)矩陣位置和(0)的掃描順序位置。如本文所使用的,術(shù)語變換系數(shù)的“順序”、“掃描位置”、“向量位置”、或其變型指示掃描順序或掃描順序向量中的變換系數(shù)的相對位置或索引。盡管圖8示出了順序掃描樣式的示例,但是可以使用非連續(xù)掃描樣式對系數(shù)進(jìn)行代碼化。圖9示出了根據(jù)公開的不連續(xù)熵代碼化掃描順序的一部分的示例的圖。例如,圖9可以示出32x32塊的掃描順序的一部分。

圖10是根據(jù)本公開的場境熵代碼化的流程圖??梢栽谠O(shè)備——諸如圖1所示的計(jì)算設(shè)備100或圖2所示的計(jì)算和通信設(shè)備100a/100b/100c——諸如圖4所示的編碼器400的編碼器中實(shí)現(xiàn)場境熵代碼化。例如,其可以實(shí)現(xiàn)為存儲在諸如圖1所示的存儲器150的數(shù)據(jù)存儲單元中的計(jì)算機(jī)軟件程序。

場境熵代碼化可用于編碼具有多個幀的視頻數(shù)據(jù)流,每個幀具有多個塊。視頻數(shù)據(jù)或視頻流可以由計(jì)算設(shè)備以任何數(shù)目的方式接收,諸如通過電纜、通過網(wǎng)絡(luò)來接收視頻數(shù)據(jù),或通過從主存儲器或其他存儲設(shè)備讀取視頻數(shù)據(jù),所述其他存儲設(shè)備包括磁盤驅(qū)動器或諸如緊密快閃(cf)卡、安全數(shù)字(sd)卡的可移動介質(zhì)、或能夠傳輸視頻數(shù)據(jù)的任何其他設(shè)備。在一些實(shí)施方式中,可以從連接到操作編碼器的計(jì)算設(shè)備的視頻相機(jī)接收視頻數(shù)據(jù)。

如圖10所示,場境熵代碼化包括:在1000處識別當(dāng)前幀的當(dāng)前塊的變換系數(shù),在1010處識別當(dāng)前變換系數(shù),在1020處識別當(dāng)前變換系數(shù)的場境系數(shù),以及在1030處對當(dāng)前變換系數(shù)進(jìn)行熵代碼化。

在1000處識別變換系數(shù)可以包括生成、讀取、接收、或以其他方式區(qū)分變換系數(shù)塊,諸如與當(dāng)前幀的當(dāng)前塊相關(guān)聯(lián)的在圖7所示的變換系數(shù)塊700。變換系數(shù)是通過諸如以圖4所示的變換單元420的編碼器的單元對視頻流的幀的塊的像素進(jìn)行處理而形成的數(shù)值。盡管為了簡單起見被稱為“變換系數(shù)”或“系數(shù)”,但變換系數(shù)可以是量子化的變換系數(shù),諸如由圖4所示的量子化單元430生成的量子化變換系數(shù)。

然后可以基于諸如圖8所示的鋸齒形掃描順序830的掃描順序來排序該變換系數(shù)。例如,通過以掃描順序在向量中包括系數(shù),從變換系數(shù)的二維矩陣生成變換系數(shù)的有序一維數(shù)組或向量。

在1010處識別當(dāng)前變換系數(shù)。例如,可以以掃描順序處理變換系數(shù),并且識別當(dāng)前變換系數(shù)包括以掃描順序識別下一個系數(shù)。在一些實(shí)施方式中,當(dāng)前變換系數(shù)可以是零值變換系數(shù)。當(dāng)變換系數(shù)的當(dāng)前塊不包括隨后的非零值變換系數(shù)時,當(dāng)前塊的熵代碼化完成。

在1020處識別當(dāng)前變換系數(shù)的場境系數(shù)。在一些實(shí)施方式中,基于場境系數(shù)來適配用于對當(dāng)前系數(shù)進(jìn)行熵代碼化的概率分布。場境系數(shù)可以包括來自當(dāng)前幀的在空間上接近于當(dāng)前系數(shù)的先前經(jīng)熵代碼化的系數(shù)。例如,場境系數(shù)可以包括在空間上接近于變換系數(shù)的當(dāng)前塊中的當(dāng)前系數(shù)的先前經(jīng)熵編碼的變換系數(shù),諸如緊接在當(dāng)前系數(shù)左方的系數(shù)、緊接在當(dāng)前系數(shù)上方的系數(shù)、或緊接在當(dāng)前系數(shù)左上方的系數(shù)。

為當(dāng)前系數(shù)識別的場境系數(shù)可以取決于在變換系數(shù)矩陣中當(dāng)前系數(shù)的空間位置。例如,當(dāng)前系數(shù)可以是變換系數(shù)矩陣中的左上方的系數(shù),并且省略識別場境系數(shù)。在一些實(shí)施方式中,當(dāng)前系數(shù)可以處于變換系數(shù)矩陣的頂行中,在當(dāng)前系數(shù)上方的先前經(jīng)熵代碼化的系數(shù)不存在,并且將當(dāng)前系數(shù)左方的先前經(jīng)熵代碼化的系數(shù)識別為場境系數(shù)。例如,當(dāng)前系數(shù)可以是變換系數(shù)矩陣的第一行第三列中的系數(shù),并且場境系數(shù)包括變換系數(shù)矩陣的第一行第二列中的系數(shù)以及第一行第一列中的系數(shù)。在其他實(shí)施方式中,當(dāng)前系數(shù)可以在變換系數(shù)矩陣的最左列,當(dāng)前系數(shù)左方的先前經(jīng)熵代碼化的系數(shù)可用,并且將當(dāng)前系數(shù)上方的先前經(jīng)熵代碼化的系數(shù)識別為場境系數(shù)。例如,當(dāng)前系數(shù)可以是變換系數(shù)矩陣的第三行第一列中的系數(shù),并且場境系數(shù)包括變換系數(shù)矩陣的第二行第一列中的系數(shù)以及第一行第一列中的系數(shù)。

在1030處當(dāng)前變換系數(shù)被熵代碼化,其可以包括識別當(dāng)前系數(shù)的令牌或碼字。經(jīng)熵代碼化的當(dāng)前變換系數(shù)可以被包括在輸出比特流中,諸如圖4所示的壓縮比特流404。即,例如,當(dāng)前系數(shù)的令牌可以被包括在輸出比特流中以表示該當(dāng)前系數(shù)。在1030處對當(dāng)前變換系數(shù)進(jìn)行熵代碼化也可以包括存儲或傳送輸出比特流。例如,包括表示經(jīng)熵代碼化的當(dāng)前變換系數(shù)的令牌的經(jīng)編碼視頻比特流可以經(jīng)由諸如圖2所示的網(wǎng)絡(luò)220的網(wǎng)絡(luò)來作為信號被傳送,使得諸如圖1所示的計(jì)算設(shè)備100或圖2所示的計(jì)算和通信設(shè)備100a/100b/100c的設(shè)備經(jīng)由該網(wǎng)絡(luò)接收信號,解碼經(jīng)編碼的視頻比特流,并生成與當(dāng)前幀相對應(yīng)的重構(gòu)幀或重構(gòu)幀的一部分,所述設(shè)備可以包括解碼器,諸如圖5所示的解碼器500,。

包括表示經(jīng)熵代碼化的當(dāng)前變換系數(shù)的令牌的經(jīng)編碼視頻比特流可以存儲在設(shè)備的諸如圖1所示的存儲器150的存儲器中。該設(shè)備諸如圖1所示的計(jì)算裝設(shè)備100或圖2所示的計(jì)算和通信設(shè)備100a/100b/100c。經(jīng)編碼視頻比特流可以存儲為存儲的經(jīng)編碼視頻,使得該設(shè)備或能夠訪問該存儲器的任何其他設(shè)備可以檢索存儲的經(jīng)編碼視頻,使得解碼器可以解碼該經(jīng)編碼視頻并生成與當(dāng)前幀相對應(yīng)的重構(gòu)幀或重構(gòu)幀的一部分。

如圖10所示的場境熵編碼圖的其他實(shí)施方式是可用的??梢蕴砑痈郊釉?,可以組合某些元素,和/或可以去除某些元素。例如,場境熵編碼可以包括涉及生成熵代碼化模型的附加元素。

圖11是根據(jù)本公開的實(shí)施方式的場境熵代碼化的流程圖。場境熵解碼可以在設(shè)備的諸如圖5所示的解碼器500的解碼器中實(shí)現(xiàn),該設(shè)備諸如圖1所示的計(jì)算設(shè)備100或圖2所示的計(jì)算和通信設(shè)備100a/100b/100c。例如,解碼可以實(shí)現(xiàn)為存儲在諸如圖1所示的存儲器150的數(shù)據(jù)存儲單元中的計(jì)算機(jī)軟件程序。

如圖11所示,場境熵解碼包括:在1100處識別當(dāng)前幀的當(dāng)前塊的經(jīng)熵解碼的變換系數(shù),在1110處識別當(dāng)前經(jīng)熵代碼化的變換系數(shù),在1120處識別當(dāng)前經(jīng)熵代碼化的變換系數(shù)的場境系數(shù),以及在1130處對當(dāng)前經(jīng)熵代碼化的變換系數(shù)進(jìn)行熵解碼。

盡管在圖11中未明確示出,但是場境熵解碼可以包括:經(jīng)由諸如圖2所示的網(wǎng)絡(luò)220的網(wǎng)絡(luò)來接收包括經(jīng)編碼視頻流或經(jīng)編碼視頻流的一部分的信號,或從諸如圖1所示的存儲器150的存儲器中檢索經(jīng)編碼視頻流或經(jīng)編碼視頻流的一部分。為了簡單起見,如本文所使用的,接收可以包括:經(jīng)由網(wǎng)絡(luò)接收,從存儲器檢索,或以其他方式探知所識別的信息。

通過例如識別當(dāng)前視頻流的當(dāng)前幀的當(dāng)前塊并且從經(jīng)編碼視頻流生成當(dāng)前塊的經(jīng)熵解碼變換系數(shù),在1100處識別當(dāng)前幀的當(dāng)前塊的經(jīng)熵解碼的變換系數(shù)。

可以按照當(dāng)前塊的掃描順序來識別經(jīng)熵解碼的變換系數(shù)。例如,經(jīng)編碼視頻流可被接收為令牌或碼字的一維數(shù)組或向量,其中每個令牌以掃描順序表示當(dāng)前塊的經(jīng)編碼變換系數(shù)。例如,與變換系數(shù)矩陣的左上位置的變換系數(shù)相對應(yīng)的令牌是接收到并經(jīng)熵解碼的第一令牌,并且掃描順序中的下一個令牌是接收到并經(jīng)熵解碼的下一個令牌。識別經(jīng)熵解碼的變換系數(shù)可以包括:基于接收到經(jīng)熵解碼的變換系數(shù)的順序和掃描順序來識別當(dāng)前塊的變換系數(shù)矩陣中的每個經(jīng)熵解碼的變換系數(shù)的位置。

在1110處可以識別當(dāng)前經(jīng)熵代碼化的變換系數(shù)。更具體地,可以在接收的經(jīng)編碼比特流中識別表示當(dāng)前熵代碼化變換系數(shù)的當(dāng)前令牌或代碼字。因此,在1110處識別當(dāng)前熵代碼化變換系數(shù)可以包括:在當(dāng)前塊的變換系數(shù)矩陣中識別由當(dāng)前令牌表示的變換系數(shù)的位置。例如,可以接收當(dāng)前令牌以作為一維序列或向量數(shù)組的一部分,并且基于當(dāng)前塊的掃描順序來識別當(dāng)前塊的變換系數(shù)矩陣中的對應(yīng)變換系數(shù)的位置。為了簡單起見,將由當(dāng)前令牌表示的變換系數(shù)稱為當(dāng)前變換系數(shù)或當(dāng)前系數(shù)。

在1120處識別用于從當(dāng)前令牌熵解碼當(dāng)前變換系數(shù)的場境系數(shù)。例如,可以基于概率分布來對當(dāng)前令牌進(jìn)行熵解碼,該概率分布是基于場境系數(shù)來適配的。

場境系數(shù)可以包括來自當(dāng)前幀的先前經(jīng)熵解碼的系數(shù),其在空間上接近于變換系數(shù)矩陣中的當(dāng)前變換系數(shù)的位置。例如,場境系數(shù)包括在空間上接近于變換系數(shù)的當(dāng)前塊中當(dāng)前系數(shù)的位置的先前經(jīng)熵解碼的變換系數(shù),諸如緊接在當(dāng)前系數(shù)的位置左方的系數(shù)、緊接在當(dāng)前系數(shù)的位置上方的系數(shù)、或緊接在當(dāng)前系數(shù)位置的左上方的系數(shù)。

可以基于變換系數(shù)矩陣中的當(dāng)前系數(shù)的空間位置來識別用于對當(dāng)前系數(shù)進(jìn)行熵解碼的場境系數(shù)。例如,當(dāng)前系數(shù)可以是變換系數(shù)矩陣中的左上的系數(shù),并且省略識別場境系數(shù)。當(dāng)前系數(shù)可以在變換系數(shù)矩陣的頂行中,在當(dāng)前系數(shù)上方的先前經(jīng)熵解碼的系數(shù)不存在,并且將當(dāng)前系數(shù)左方的先前經(jīng)熵解碼的系數(shù)識別為場境系數(shù)。例如,當(dāng)前系數(shù)可以是變換系數(shù)矩陣的第一行第三列中的系數(shù),并且場境系數(shù)包括變換系數(shù)矩陣的第一行第二列中的經(jīng)熵解碼的系數(shù)以及第一行第一列中的經(jīng)熵解碼的系數(shù)。當(dāng)前系數(shù)可以在變換系數(shù)矩陣的最左列,當(dāng)前系數(shù)左方的先前經(jīng)熵解碼的系數(shù)不存在,并且當(dāng)前系數(shù)上方的先前經(jīng)熵解碼的系數(shù)被識別為場境系數(shù)。例如,當(dāng)前系數(shù)可以是變換系數(shù)矩陣的第三行第一列中的系數(shù),并且場境系數(shù)包括變換系數(shù)矩陣的第二行第一列中的經(jīng)熵解碼的系數(shù)以及第一行第一列中的經(jīng)熵解碼的系數(shù)。

通過識別當(dāng)前變換系數(shù)的值,在1130處對當(dāng)前變換系數(shù)進(jìn)行熵解碼。該值是在1110處為當(dāng)前變換系數(shù)識別的位置處的當(dāng)前塊在變換系數(shù)矩陣中的當(dāng)前變換系數(shù)的值。

盡管圖11中未示出,但是可以對于當(dāng)前塊在變換系數(shù)矩陣中的每個系數(shù)執(zhí)行場境熵解碼,并且,可以基于如圖5所示的當(dāng)前塊的變換系數(shù)矩陣來生成諸如圖15所示的輸出視頻流504的輸出視頻流或輸出視頻流的一部分。例如,當(dāng)前塊的變換系數(shù)矩陣可以被輸出到諸如圖5所示的去量子化單元520的去量子化單元,或者可以存儲在諸如圖1所示的存儲器150的存儲器中。經(jīng)解碼的視頻流可以被輸出到諸如圖1所示的用戶接口130的呈現(xiàn)單元以用于顯示。

除了圖11中所示之外的場境熵解碼的其他實(shí)施方式是可用的??梢蕴砑訄鼍踌亟獯a的附加元素,可以組合某些元素,和/或可以去除某些元素。例如,場境熵解碼可以包括涉及生成熵代碼化模型的附加元素。

場境熵解碼可以包括將塊的每個經(jīng)解碼系數(shù)存儲在解碼器系數(shù)寄存器中,該解碼器系數(shù)寄存器可以存儲在諸如圖1所示的存儲器150的數(shù)據(jù)存儲單元中。在這種情況下,在1120處識別場境系數(shù)包括從解碼器系數(shù)寄存器讀取場境系數(shù)。

場境系數(shù)寄存器的大小可以是用于代碼化的系數(shù)矩陣的大小的函數(shù)。例如,該系數(shù)矩陣可以是使用諸如圖9中部分地示出的代碼化順序的不連續(xù)的代碼化順序編碼的nxm矩陣,諸如32x32矩陣,并且該場境系數(shù)寄存器可以包括n*m個系數(shù),例如1024(32*32=1024)個系數(shù)??梢允褂弥T如3位的b位來存儲每個系數(shù),并且場境系數(shù)寄存器的大小可以是諸如3072位(1024*3位)的b*n*m位。

圖12是根據(jù)本公開的用于使用在算術(shù)代碼化中的有效率場境應(yīng)對進(jìn)行編碼和解碼的變換系數(shù)掃描樣式的部分1200的圖。對當(dāng)前系數(shù)進(jìn)行解碼可以基于減小大小的場境系數(shù)寄存器。例如,算術(shù)代碼化中的有效率場境應(yīng)對可以包括:基于包括87個系數(shù)的場境系數(shù)寄存器,對使用非連續(xù)代碼化順序編碼的32x32矩陣的當(dāng)前系數(shù)進(jìn)行解碼,所述非連續(xù)代碼化順序諸如圖9中或在圖12中的1200處部分地示出的非連續(xù)代碼化順序。

可以使用當(dāng)前系數(shù)左方的系數(shù)——這里為在掃描順序位置6處的系數(shù)1220、當(dāng)前系數(shù)上方的系數(shù)——這里為在掃描順序位置7處的系數(shù)1230、或其組合來解碼在掃描順序位置11處的當(dāng)前系數(shù)1210。在圖12中,用粗體邊界示出與當(dāng)前經(jīng)編碼系數(shù)相對應(yīng)的當(dāng)前掃描順序位置,用白色背景示出與經(jīng)解碼系數(shù)相對應(yīng)的掃描順序位置,并且用加線的背景示出與經(jīng)編碼系數(shù)相對應(yīng)的掃描順序位置。

示出了場境系數(shù)寄存器的部分1250a的示例,其包括在掃描順序位置10、9、8、7、6、5、4、3、2、1、和0處的系數(shù)。在移位操作后的場境系數(shù)寄存器的部分在1250b處被示出,并且包括在掃描順序位置11、10、9、8、7、6、5、4、3、2、和1處的系數(shù)。

圖13是根據(jù)本公開的、使用在算術(shù)代碼化中的有效率場境應(yīng)對的場境熵解碼的流程圖。使用在算術(shù)代碼化中的有效率場境應(yīng)對的場境熵解碼可以實(shí)現(xiàn)在設(shè)備的諸如圖5所示的解碼器500的解碼器中,該設(shè)備諸如圖1所示的計(jì)算設(shè)備100或圖2所示的計(jì)算和通信設(shè)備100a/100b/100c。例如,解碼可以實(shí)現(xiàn)為存儲在諸如圖1所示的存儲器150的數(shù)據(jù)存儲單元中的計(jì)算機(jī)軟件程序。

如圖13所示,使用算術(shù)代碼化中的有效率場境應(yīng)對的場境熵解碼包括:在1300處識別掃描順序,在1310處識別距離表,在1320處識別當(dāng)前幀的當(dāng)前塊的經(jīng)熵解碼的變換系數(shù),在1330處識別當(dāng)前經(jīng)熵代碼化的變換系數(shù),在1340處識別當(dāng)前經(jīng)熵代碼化的變換系數(shù)的場境系數(shù),以及在1350處對當(dāng)前經(jīng)熵代碼化的變換系數(shù)進(jìn)行熵解碼。

盡管在圖13中未明確示出,場境熵解碼可以包括:經(jīng)由諸如圖2所示的網(wǎng)絡(luò)220的網(wǎng)絡(luò)來接收包括經(jīng)編碼視頻流或經(jīng)編碼視頻流的一部分的信號?;蛘邚闹T如圖1所示的存儲器150的存儲器中檢索經(jīng)編碼視頻流或經(jīng)編碼視頻流的一部分。為了簡單起見,如本文所使用的,接收可以包括:經(jīng)由網(wǎng)絡(luò)接收,從存儲器檢索,或以其他方式探知所識別的信息。

在1300處識別當(dāng)前幀的當(dāng)前塊的掃描順序。例如,當(dāng)前塊可以是32x32塊,并且掃描順序可以是32x32掃描順序,諸如在圖9和12中部分地示出的掃描順序。

在1310處識別距離表。該距離表可以是定義的距離表,諸如先前生成的距離表。替選地,識別距離表可以包括生成距離表。在一些實(shí)施方式中,生成距離表可以包括:針對場境系數(shù)確定目標(biāo)系數(shù)和場境系數(shù)之間的掃描順序距離。例如,參照圖12,目標(biāo)系數(shù)可以是掃描順序位置11處的系數(shù),左方場境系數(shù)是掃描順序位置6處的系數(shù),上方場境系數(shù)是掃描順序位置7處的系數(shù),在11處的目標(biāo)系數(shù)11和在6處的左方場境系數(shù)之間的掃描順序距離為5,并且在11處的目標(biāo)系數(shù)與在7處的上方場境系數(shù)之間的掃描順序距離為4??梢葬槍Ξ?dāng)前塊中的每個系數(shù)識別掃描順序距離值,所述系數(shù)可以排除在掃描順序位置零(0)的系數(shù)。

盡管圖13中沒有單獨(dú)示出,但是使用算術(shù)代碼化中的有效率場境應(yīng)對的場境熵解碼可以包括:基于在1310處識別的距離表來確定解碼器系數(shù)寄存器的大小。在一些實(shí)施方式中,解碼器系數(shù)寄存器的大小可以是小于基于掃描順序針對塊在1310處識別的最大距離值。

在1300處識別當(dāng)前幀的當(dāng)前塊的經(jīng)熵解碼的變換系數(shù)。例如,在1300處識別經(jīng)熵解碼的變換系數(shù)包括:識別當(dāng)前視頻流的當(dāng)前幀的當(dāng)前塊,并且從經(jīng)編碼視頻流生成當(dāng)前塊的經(jīng)熵解碼的變換系數(shù)。

此后,基于在1310處針對當(dāng)前塊識別的掃描順序來識別經(jīng)熵解碼的變換系數(shù)。例如,經(jīng)編碼視頻流可以被接收為令牌或碼字的一維數(shù)組或向量,其中每個令牌表示在掃描順序中的當(dāng)前塊的經(jīng)編碼的變換系數(shù)。例如,與變換系數(shù)矩陣的左上位置的變換系數(shù)相對應(yīng)的令牌可以是接收到并經(jīng)熵解碼的第一令牌,并且掃描順序中的下一個令牌是接收到并經(jīng)熵解碼的下一個令牌。在一些實(shí)施方式中,識別經(jīng)熵解碼的變換系數(shù)可以包括:基于接收到經(jīng)熵解碼的變換系數(shù)的順序和掃描順序,識別當(dāng)前塊的變換系數(shù)矩陣中的每個經(jīng)熵解碼的變換系數(shù)的位置。

經(jīng)熵解碼的變換系數(shù)中的一個或多個可以存儲在解碼器系數(shù)寄存器中,諸如圖12所示的解碼器系數(shù)寄存器1250。在該解碼器系數(shù)寄存器中存儲經(jīng)熵解碼的變換系數(shù)可以包括:對變換系數(shù)進(jìn)行解碼,并執(zhí)行移位操作以將該經(jīng)熵解碼的變換系數(shù)存儲在該解碼器系數(shù)寄存器中。當(dāng)該解碼器系數(shù)寄存器滿時,可以從該解碼器系數(shù)寄存器中去除經(jīng)熵解碼的變換系數(shù),諸如最久遠(yuǎn)地解碼的經(jīng)熵解碼的變換系數(shù)。

當(dāng)前經(jīng)熵代碼化的變換系數(shù)在1310處被識別。例如,可以在接收的經(jīng)編碼比特流中識別表示當(dāng)前經(jīng)熵代碼化的變換系數(shù)的當(dāng)前令牌或碼字。在一些實(shí)施方式中,在1310處識別當(dāng)前經(jīng)熵代碼化的變換系數(shù)包括:在當(dāng)前塊的變換系數(shù)矩陣中識別由當(dāng)前令牌表示的變換系數(shù)的位置。在一個示例中,接收當(dāng)前令牌以作為一維序列或向量數(shù)組的一部分,并且基于當(dāng)前塊的掃描順序來識別當(dāng)前塊的變換系數(shù)矩陣中的對應(yīng)變換系數(shù)的位置。為了簡單起見,由當(dāng)前令牌表示的變換系數(shù)可以被稱為當(dāng)前變換系數(shù)或當(dāng)前系數(shù)。

在1320處識別用于從當(dāng)前令牌熵解碼當(dāng)前變換系數(shù)的場境系數(shù)??梢曰诟怕史植紒韺Ξ?dāng)前令牌進(jìn)行熵解碼,該概率分布是基于場境系數(shù)來適配的。

場境系數(shù)可以包括來自當(dāng)前幀的先前經(jīng)熵解碼的系數(shù),其在空間上接近于變換系數(shù)矩陣中的當(dāng)前變換系數(shù)的位置。例如,場境系數(shù)包括在空間上接近于變換系數(shù)的當(dāng)前塊中的當(dāng)前系數(shù)的位置的先前經(jīng)熵解碼的變換系數(shù),諸如緊接在當(dāng)前系數(shù)的位置的左方的系數(shù)、緊接在當(dāng)前系數(shù)的位置上方的系數(shù)、或緊接在當(dāng)前系數(shù)位置的左上方的系數(shù)。

可以基于變換系數(shù)矩陣中當(dāng)前系數(shù)的空間位置來識別用于對當(dāng)前系數(shù)進(jìn)行熵解碼的場境系數(shù)。例如,當(dāng)前系數(shù)可以是在變換系數(shù)矩陣中的左上的系數(shù),并且省略識別場境系數(shù)。當(dāng)前系數(shù)可以在變換系數(shù)矩陣的頂行中,在當(dāng)前系數(shù)上方的先前經(jīng)熵解碼的系數(shù)不存在,并且將當(dāng)前系數(shù)左方的先前經(jīng)熵解碼的系數(shù)識別為場境系數(shù)。例如,當(dāng)前系數(shù)可以是變換系數(shù)矩陣的第一行第三列中的系數(shù),并且場境系數(shù)包括變換系數(shù)矩陣的第一行第二列中的經(jīng)熵解碼的系數(shù)以及第一行第一列中的經(jīng)熵解碼的系數(shù)。當(dāng)前系數(shù)可以在變換系數(shù)矩陣的最左列,當(dāng)前系數(shù)左方的先前經(jīng)熵解碼的系數(shù)不存在,并且當(dāng)前系數(shù)上方的先前經(jīng)熵解碼的系數(shù)被識別為場境系數(shù)。例如,當(dāng)前系數(shù)可以是變換系數(shù)矩陣的第三行第一列中的系數(shù),并且場境系數(shù)包括變換系數(shù)矩陣的第二行第一列中的經(jīng)熵解碼的系數(shù)以及第一行第一列中的經(jīng)熵解碼的系數(shù)。

基于在1310處識別的距離值,可以從解碼器系數(shù)寄存器識別場境系數(shù)。例如,參照圖12,當(dāng)前系數(shù)可以是掃描順序位置11處的系數(shù)1210,在1310處識別的距離表可以指示五(5)的左方場境系數(shù)的場境系數(shù)距離,并且可以在第五解碼器系數(shù)寄存器位置處識別與掃描順序位置六(6)相對應(yīng)的系數(shù)的值,其在圖12所示的基于零的解碼器系數(shù)寄存器1250a中具有四(4)的索引。類似地,在1310處識別的距離表可以指示四(4)的上方場境系數(shù)的場境系數(shù)距離,并且可以在第四解碼器系數(shù)寄存器位置處識別與掃描順序位置五(5)相對應(yīng)的系數(shù)的值,其在圖12所示的基于零的解碼器系數(shù)寄存器1250a中具有三(3)的索引。

在1330處,當(dāng)前變換系數(shù)被熵解碼。在一些實(shí)施方式中,在1330處對當(dāng)前變換系數(shù)進(jìn)行熵解碼包括識別當(dāng)前變換系數(shù)的值。對當(dāng)前變換系數(shù)進(jìn)行熵解碼還可以包括:在1310處為當(dāng)前變換系數(shù)識別的位置處的當(dāng)前塊在變換系數(shù)矩陣中的當(dāng)前變換系數(shù)的值。

對當(dāng)前變換系數(shù)進(jìn)行熵解碼可以包括執(zhí)行移位操作以將經(jīng)熵解碼的變換系數(shù)存儲在解碼器系數(shù)寄存器中。例如,參考圖12,可以對解碼器系數(shù)寄存器1250a執(zhí)行移位操作,以存儲與掃描順序位置11相對應(yīng)的系數(shù),如解碼器系數(shù)寄存器1250b中所示。

盡管圖13中未示出,但是可以對于當(dāng)前塊在變換系數(shù)矩陣中的每個系數(shù)執(zhí)行場境熵解碼,并且可以基于如圖5所示的當(dāng)前塊的變換系數(shù)矩陣來生成諸如圖5所示的輸出視頻流504的輸出視頻流或輸出視頻流的一部分。例如,當(dāng)前塊的變換系數(shù)矩陣可以被輸出到諸如圖5所示的去量子化單元520的去量子化單元,或者可以存儲在諸如圖1所示的存儲器150的存儲器中。在一些實(shí)施方式中,經(jīng)解碼的視頻流可以被輸出到呈現(xiàn)單元——諸如圖1所示的用戶界面130——以用于顯示。

如圖13所示的場境熵解碼的圖的其他實(shí)施方式是可用的。例如,可以添加場境熵解碼的附加元素,可以組合某些元素,和/或可以去除某些元素。在一個實(shí)施方式中,場境熵解碼可以包括涉及生成熵代碼化模型的附加元素。

詞語“示例”在本文中用于意指用作示例、實(shí)例、或例示。本文描述為“示例”的任何方面或設(shè)計(jì)不一定被解釋為比其他方面或設(shè)計(jì)優(yōu)選或有利。相反,使用“示例”一詞旨在以具體的方式呈現(xiàn)概念。如本申請中所使用的,詞語“或”旨在意指包容性的“或”而不是排他性的“或”。即,除非另有說明,或從上下文中清楚可知,“x包括a或b”旨在意指任何自然包容性排列組合。即,如果x包括a;x包括b;或x包括a和b二者,則在任何上述實(shí)例下,滿足“x包括a或b”。此外,本申請和所附權(quán)利要求書中使用的冠詞“一”和“一個”通常應(yīng)被解釋為意指“一個或多個”,除非另有說明或從上下文中清楚地指向單數(shù)形式。此外,除非這樣描述,否則術(shù)語“實(shí)施例”或“一個實(shí)施例”或“實(shí)施方式”或“一個實(shí)施方式”一詞的使用并不旨在意指相同的實(shí)施例或?qū)嵤┓绞?。如本文所使用的,術(shù)語“確定”和“識別”或其任何變型包括:使用一個或多個的圖1所示的設(shè)備以無論任何方式來選擇、探知、計(jì)算、查找、接收、確定、建立、獲得、或以其他方式識別或確定。

此外,為了簡化說明,盡管這里的附圖和描述可以包括步驟或階段的序列或系列,但是本文公開的方法的元素可以以各種順序發(fā)生和/或同時發(fā)生。此外,本文公開的方法的元素可以與本文未明確呈現(xiàn)和描述的其它元素一起發(fā)生。此外,并非需要在此描述的方法的所有元素來實(shí)現(xiàn)根據(jù)所公開主題的方法。

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

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

例如,發(fā)射站100a和接收站100b可以在實(shí)時視頻系統(tǒng)的計(jì)算機(jī)上實(shí)現(xiàn)。替選地,可以在服務(wù)器上實(shí)現(xiàn)發(fā)射站100a,并且可以在與服務(wù)器分離的設(shè)備——例如手持通信設(shè)備——上實(shí)現(xiàn)接收站100b。在這種實(shí)例下,發(fā)射站100a可以使用編碼器400將內(nèi)容編碼成編碼的視頻信號,并將編碼的視頻信號發(fā)射到通信設(shè)備。進(jìn)而,通信設(shè)備然后可以使用解碼器500對編碼的視頻信號進(jìn)行解碼?;蛘?,通信設(shè)備可以解碼在通信設(shè)備上本地存儲的內(nèi)容,例如,未被發(fā)射站100a發(fā)射的內(nèi)容。其他合適的發(fā)射站100a和接收站100b的實(shí)現(xiàn)方案是可用的。例如,接收站100b可以是通常固定的個人計(jì)算機(jī)而不是便攜式通信設(shè)備,和/或,包括編碼器400的設(shè)備也可以包括解碼器500。

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

已經(jīng)描述了上述實(shí)施方式以便容易理解本申請并不是限制性的。相反,本申請覆蓋包括在所附權(quán)利要求書的范圍內(nèi)的各種修改和等效布置,其范圍應(yīng)被賦予最廣泛的解釋,以便涵蓋法律許可的所有這樣的修改和等效結(jié)構(gòu)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
临泽县| 青龙| 黔西| 霍山县| 噶尔县| 民县| 新田县| 扎赉特旗| 乌兰县| 柳州市| 巴青县| 襄垣县| 阿克苏市| 齐齐哈尔市| 化德县| 华容县| 井研县| 云梦县| 德化县| 阿克苏市| 榆林市| 深圳市| 固原市| 玛沁县| 应用必备| 偏关县| 馆陶县| 新民市| 崇明县| 扬中市| 扎鲁特旗| 玉龙| 青田县| 宜兰县| 十堰市| 通江县| 渭源县| 奈曼旗| 灌云县| 海晏县| 罗甸县|