例如,可以將數(shù)字視頻用于經(jīng)由視頻會議的遠(yuǎn)程商務(wù)會議、高清晰度視頻娛樂、視頻廣告或者對用戶所生成視頻的共享。由于在視頻數(shù)據(jù)中涉及到的大量數(shù)據(jù),需要高性能壓縮以用于傳輸和存儲。因此,提供通過具有有限帶寬的通信信道發(fā)射的高分辨率視頻將是有利的。
技術(shù)實現(xiàn)要素:
本申請涉及視頻流數(shù)據(jù)的編碼和解碼以用于傳輸或存儲。在本文中公開了用于使用頻域去噪進(jìn)行編碼和解碼的系統(tǒng)、方法以及裝置。
可以響應(yīng)于存儲在非暫時性計算機(jī)可讀介質(zhì)上的指令而由處理器執(zhí)行的用于執(zhí)行本文中所述的頻域去噪的一個方法包括:從來自源視頻流的當(dāng)前源幀識別當(dāng)前源塊,生成用于所述當(dāng)前源塊的預(yù)測塊,通過將所述當(dāng)前源塊變換到頻域中來生成源變換塊,以及通過將所述預(yù)測塊變換到所述頻域中來生成預(yù)測變換塊。在某些實施方式中,頻域去噪包括基于所述源變換塊和所述預(yù)測變換塊而生成去噪變換塊,通過對所述去噪變換塊進(jìn)行逆變換來生成去噪塊,基于所述去噪塊與所述預(yù)測塊之間的差來生成殘余塊,通過對所述殘余塊進(jìn)行編碼來生成編碼塊,以及輸出或存儲所述編碼塊。
也可以響應(yīng)于存儲在非暫時性計算機(jī)可讀介質(zhì)上的指令而由處理器執(zhí)行的用于執(zhí)行本文中所述的頻域去噪的另一方法包括:從來自源視頻流的當(dāng)前源幀識別當(dāng)前源塊,通過使用頻域去噪對所述當(dāng)前源塊進(jìn)行編碼來生成編碼塊,以及輸出或存儲所述編碼塊。
也可以響應(yīng)于存儲在非暫時性計算機(jī)可讀介質(zhì)上的指令而由處理器執(zhí)行的用于執(zhí)行本文中所述的頻域去噪的另一方法包括:從來自源視頻流的當(dāng)前源幀識別當(dāng)前源塊,生成用于所述當(dāng)前源塊的預(yù)測塊,通過將所述當(dāng)前源塊變換到頻域中來生成源變換塊,以及通過將所述預(yù)測塊變換到所述頻域中來生成預(yù)測變換塊。在某些實施方式中,頻域去噪包括通過基于所述預(yù)測變換塊對所述源變換塊應(yīng)用去噪函數(shù)來生成去噪變換塊,通過對所述去噪變換塊進(jìn)行逆變換來生成去噪塊,基于所述去噪塊與所述預(yù)測塊之間的差來生成殘余塊,通過對所述殘余塊進(jìn)行編碼來生成編碼塊,以及輸出或存儲所述編碼塊。
下面將另外詳細(xì)地描述這些及其它方面的變化。
附圖說明
本文的描述對附圖做出參考,在附圖中相同的參考標(biāo)號遍及多個圖指代相同部分,并且其中:
圖1是根據(jù)本公開的實施方式的計算設(shè)備的圖;
圖2是根據(jù)本公開的實施方式的計算和通信系統(tǒng)的圖;
圖3是根據(jù)本公開的實施方式的供在編碼和解碼中使用的視頻流的圖;
圖4是根據(jù)本公開的實施方式的編碼器的框圖;
圖5是根據(jù)本公開的實施方式的解碼器的框圖;
圖6是根據(jù)本公開的實施方式的幀的一部分的表示的框圖;
圖7是根據(jù)本公開的實施方式的使用時域去噪對視頻流進(jìn)行代碼化的示例的圖;以及
圖8是根據(jù)本公開的實施方式的使用頻域去噪對視頻流進(jìn)行代碼化的示例的圖。
具體實施方式
數(shù)字視頻流可以使用幀或圖像的序列來表示視頻。每個幀可以包括許多塊,所述塊可以包括指示像素屬性(諸如色值或亮度)的信息。視頻的傳輸和存儲可以使用相當(dāng)多的計算或通信資源??梢允褂脡嚎s及其它代碼化技術(shù)來減少視頻流中的數(shù)據(jù)量。
視頻代碼器的實用性可以取決于壓縮速度、壓縮性能、壓縮保真度以及已解碼視覺質(zhì)量。壓縮速度指示被用來壓縮視頻的時間。壓縮性能表示與源視頻相比存儲或發(fā)射已編碼視頻所需的帶寬的差異。壓縮保真度指示已解碼視頻與源視頻匹配的有多好。已解碼視覺質(zhì)量表示已解碼視頻的視覺質(zhì)量,其可以是主觀的。在某些實施方式中,在輸入視頻信號中所捕獲的噪聲或其它非期望偽像可以降低視頻代碼器的實用性。例如,輸入噪聲(其可以是隨機(jī)的不可預(yù)測的噪聲)可以被傳播到已解碼視頻并因此降低已解碼視覺質(zhì)量。在某些實施方式中,輸入噪聲可以降低壓縮速度、壓縮性能和/或壓縮保真度。
在某些實施方式中,頻域去噪可以通過在視頻代碼化之前或期間從輸入視頻流移除噪聲來改善壓縮速度、壓縮性能、壓縮保真度和/或已解碼視覺質(zhì)量。在某些實施方式中,頻域去噪包括從源視頻流的當(dāng)前幀識別可變大小源塊并使用頻域去噪函數(shù)來生成用于每個源塊的去噪塊。在某些實施方式中,對塊進(jìn)行去噪包括生成用于源塊的預(yù)測塊,將源塊和預(yù)測塊變換到頻域中,基于預(yù)測變換塊使用頻域去噪函數(shù)對源變換塊進(jìn)行去噪,以及對去噪塊進(jìn)行逆變換。
圖1是根據(jù)本公開的實施方式的計算設(shè)備100的圖。計算設(shè)備100可以包括通信接口110、通信單元120、用戶界面(UI)130、處理器140、存儲器150、指令160、電源170或其任何組合。如本文所使用的,術(shù)語“計算設(shè)備”包括能夠執(zhí)行本文中公開的任何方法或其任何部分的任何單元或單元的組合。
計算設(shè)備100可以是固定計算設(shè)備,諸如個人計算機(jī)(PC)、服務(wù)器、工作站、小型計算機(jī)或主計算機(jī);或者移動計算設(shè)備,諸如移動電話、個人數(shù)字助理(PDA)、膝上型計算機(jī)或平板PC。雖然被示出為單個單元,但可以將通信設(shè)備100的任何一個或多個元件集成到任何數(shù)目的單獨(dú)的物理單元內(nèi)。例如,可以將UI 130和處理器140集成在第一物理單元中,并且可以將存儲器150集成在第二物理單元中。
通信接口110可以是無線天線(如所示)、有線通信端口(諸如以太網(wǎng)端口、紅外端口、串行端口)或能夠與有線或無線電子通信介質(zhì)180對接的任何其它有線或無線單元。
通信單元120可以被配置成經(jīng)由有線或無線介質(zhì)180來發(fā)射或接收信號。例如,如所示,通信單元120被操作連接到被配置成經(jīng)由無線信號通信的天線。雖然在圖1中并未明確地示出,通信單元120可以被配置成經(jīng)由任何有線或無線通信介質(zhì)(諸如射頻(RF)、紫外線(UV)、可見光、光纖、導(dǎo)線或其組合)進(jìn)行發(fā)射、接收或發(fā)射和接收。雖然圖1示出了單個通信單元120和單個通信接口110,但是可以使用任何數(shù)目的通信單元和任何數(shù)目的通信接口。
UI 130可以包括能夠與用戶對接的任何單元,諸如虛擬或物理小鍵盤、觸控板、顯示器、觸摸顯示器、揚(yáng)聲器、麥克風(fēng)、視頻相機(jī)、傳感器或其任何組合。UI 130可以與處理器140(如所示)或者與通信設(shè)備100的任何其它元件(諸如電源170)操作耦合。雖然被示為單個單元,但UI 130可以包括一個或多個物理單元。例如,UI 130可以包括用于執(zhí)行與用戶的音頻通信的音頻接口以及用于執(zhí)行與用戶的基于視覺和觸摸的通信的觸摸顯示器。雖然被示為單獨(dú)的單元,但可以將通信接口110、通信單元120以及UI 130或其各部分配置為組合單元。例如,可以將通信接口110、通信單元120以及UI 130實現(xiàn)為能夠與外部觸摸屏設(shè)備對接的通信端口。
處理器140可以包括現(xiàn)在存在或以后開發(fā)的能夠操縱或處理信號或其它信息的任何設(shè)備或系統(tǒng),包括光學(xué)處理器、量子處理器、分子處理前或其組合。例如,處理器140可以包括通用處理器、專用處理器、常規(guī)處理器、數(shù)字信號處理器(DSP)、多個微處理器、與DSP核相關(guān)聯(lián)的一個或多個微處理器、控制器、微控制器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、可編程邏輯陣列、可編程邏輯控制器、微代碼、固件、任何類型的集成電路(IC)、狀態(tài)機(jī)或其任何組合。如本文所使用的,術(shù)語“處理器”包括單個處理器或多個處理器。處理器140可以與通信接口110、通信單元120、UI 130、存儲器150、指令160、電源170或其任何組合操作耦合。
存儲器150可以包括任何非暫時性計算機(jī)可用或計算機(jī)可讀介質(zhì),諸如可以例如包含、存儲、通信、或傳輸指令160或與之相關(guān)聯(lián)的任何信息以供處理器140使用或與處理器140相結(jié)合地使用的任何有形設(shè)備。非暫時性計算機(jī)可用或計算機(jī)可讀介質(zhì)可以是例如固態(tài)驅(qū)動、存儲卡、可移動介質(zhì)、只讀存儲器(ROM)、隨機(jī)存取儲器(RAM)、任何類型的磁盤(包括硬盤、軟盤、光盤)、磁卡或光卡、專用集成電路(ASIC)或者適合于存儲電子信息的任何類型的非暫時性介質(zhì)或其任何組合。在示例中,存儲器150可以例如通過存儲器總線連接到處理器140。
指令160可以包括用于執(zhí)行本文中所公開的任何方法或其任何部分的說明??梢杂糜布?、軟件或其任何組合來實現(xiàn)指令160。例如,可以將指令160實現(xiàn)為存儲在存儲器150中的信息,諸如計算機(jī)程序,其可以被處理器140執(zhí)行以執(zhí)行如本文中所述的任何相應(yīng)的方法、算法、方面或其組合??梢詫⒅噶?60或其部分實現(xiàn)為專用處理器或電路,其可以包括用于執(zhí)行如本文中所述的任何的方法、算法、方面或其組合的專用硬件??梢詫⒅噶?60的部分跨相同機(jī)器或不同機(jī)器上的多個處理器或者跨諸如局域網(wǎng)、廣域網(wǎng)、互聯(lián)網(wǎng)或其組合的網(wǎng)絡(luò)分布。
電源170可以是用于對通信接口110供電的任何適當(dāng)設(shè)備。例如,電源170可以包括有線電源;一個或多個干電池,諸如鎳鎘(NiCd)、鎳鋅(NiZn)、鎳金屬氫化物(NiMH)、鋰離子(Li離子);太陽能電池;燃料電池;或能夠?qū)νㄐ沤涌?10供電的任何其它設(shè)備。通信接口110、通信單元120、UI 130、處理器140、指令160、存儲器150或其任何組合可以與電源170操作耦合。
雖然被示為單獨(dú)的元件,但是可以將通信接口110、通信單元120、UI 130、處理器140、指令160、電源170、存儲器150或其任何組合集成在一個或多個電子單元、電路或芯片中。
圖2是根據(jù)本公開的實施方式的計算和通信系統(tǒng)200的圖。計算和通信系統(tǒng)200可以包括一個或多個計算和通信設(shè)備100A/100B/100C、一個或多個接入點(diǎn)210A/210B、一個或多個網(wǎng)絡(luò)220或其組合。例如,計算和通信系統(tǒng)200可以是向一個或多個有線或無線通信設(shè)備(諸如語音、數(shù)據(jù)、視頻、消息、廣播或其組合)提供通信(諸如計算和通信設(shè)備100A/100B/100C)的多路訪問系統(tǒng)。雖然為了簡單起見圖2示出了三個計算和通信設(shè)備100A/100B/100C、兩個接入點(diǎn)210A/210B以及一個網(wǎng)絡(luò)220,但可以使用任何數(shù)目的計算和通信設(shè)備、接入點(diǎn)以及網(wǎng)絡(luò)。
計算和通信設(shè)備100A/100B/100C可以是例如計算設(shè)備,諸如圖1中所示的計算設(shè)備100。例如,如圖示,計算和通信設(shè)備100A/100B可以是用戶設(shè)備,諸如移動計算設(shè)備、膝上型計算機(jī)、瘦客戶端或智能電話,并且計算和通信設(shè)備100C可以是服務(wù)器,諸如主機(jī)或集群。雖然計算和通信設(shè)備100A/100B被描述為用戶設(shè)備且計算和通信設(shè)備100C被描述為服務(wù)器,但任何計算和通信設(shè)備都可以執(zhí)行服務(wù)器的某些或所有功能、用戶設(shè)備的某些或所有功能或者服務(wù)器和用戶設(shè)備的某些或所有功能。
每個計算和通信設(shè)備100A/100B/100C可以被配置成執(zhí)行有線或無線通信。例如,計算和通信設(shè)備100A/100B/100C可以被配置成發(fā)射或接收有線或無線通信信號,并且可以包括用戶設(shè)備(UE)、移動站、固定或移動訂戶單元、蜂窩電話、個人計算機(jī)、平板計算機(jī)、服務(wù)器、消費(fèi)者電子裝置或任何類似設(shè)備。雖然每個計算和通信設(shè)備100A/100B/100C被示為單個單元,但計算和通信設(shè)備可以包括任何數(shù)目的互連元件。
每個接入點(diǎn)210A/210B可以是被配置成經(jīng)由有線或無線通信鏈路180A/180B/180C與計算和通信設(shè)備100A/100B/100C、網(wǎng)絡(luò)220或兩者通信的任何類型的設(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)用、網(wǎng)際協(xié)議語音(VoIP)或任何其它通信協(xié)議或通信協(xié)議的組合)的任何類型的網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)220可以是局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、虛擬專用網(wǎng)(VPN)、移動或蜂窩電話網(wǎng)、互聯(lián)網(wǎng)或任何其它電子通信手段。網(wǎng)絡(luò)220可以使用通信協(xié)議,諸如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)、網(wǎng)際協(xié)議(IP)、實時傳輸協(xié)議(RTP)、超文本傳輸協(xié)議(HTTP)或其組合。
計算和通信設(shè)備100A/100B/100C可以使用一個或多個有線或無線通信鏈路或經(jīng)由有線和無線通信鏈路的組合而經(jīng)由網(wǎng)絡(luò)220相互通信。例如,如所示,計算和通信設(shè)備100A/100B可以經(jīng)由無線通信鏈路180A/180B進(jìn)行通信,并且計算和通信設(shè)備100C可以經(jīng)由有線通信鏈路180C進(jìn)行通信。任何的計算和通信設(shè)備100A/100B/100C可以使用任何有線或無線通信鏈路進(jìn)行通信。例如,第一計算和通信設(shè)備100A可以使用第一類型的通信鏈路經(jīng)由第一接入點(diǎn)210A進(jìn)行通信,第二計算和通信設(shè)備100B可以使用第二類型的通信鏈路經(jīng)由第二接入點(diǎn)210B進(jìn)行通信,并且第三計算和通信設(shè)備100C可以使用第三類型的通信鏈路經(jīng)由第三接入點(diǎn)(未示出)進(jìn)行通信。同樣地,接入點(diǎn)210A/210B可以經(jīng)由一個或多個類型的有線或無線通信鏈路230A/230B與網(wǎng)絡(luò)220通信。雖然圖2示出了經(jīng)由網(wǎng)絡(luò)220進(jìn)行通信的計算和通信設(shè)備100A/100B/100C,但計算和通信設(shè)備100A/100B/100C可以經(jīng)由任何數(shù)目的通信鏈路(諸如直接有線或無線通信鏈路)相互通信。
計算和通信系統(tǒng)200的其它實施方式是可能的。例如,在實施方式中,網(wǎng)絡(luò)220可以是自組織網(wǎng)絡(luò),并且可以省略接入點(diǎn)210A/210B中的一個或多個。計算和通信系統(tǒng)200可以包括圖2中未示出的設(shè)備、單元或元件。例如,計算和通信系統(tǒng)200可以包括更多的計算設(shè)備、網(wǎng)絡(luò)以及接入點(diǎn)。
圖3是根據(jù)本公開的實施方式的供在編碼和解碼中使用的視頻流300的圖。視頻流300(諸如由視頻相機(jī)所捕獲的視頻流或者由計算設(shè)備所生成的視頻流)可以包括視頻序列310。視頻序列310可以包括相鄰幀320的序列。雖然示出了三個相鄰幀320,但視頻序列310可以包括任何數(shù)目的相鄰幀320。來自相鄰幀320的每個幀330可以表示來自視頻流的單個圖像。每個幀330可以包括塊340。雖然在圖3中未示出,但塊340可以包括像素。例如,塊340可以包括16×16的像素群組、8×8的像素群組、8×16的像素組或任何其它像素群組。除非本文中另外指示,術(shù)語‘塊’可以包括超級塊、宏塊、段、切片或幀的任何其它部分。幀、塊、像素或其組合可以包括顯示信息,諸如輝度(luminance)信息、色度信息或者可以用來存儲、修改、通信或顯示視頻流或其一部分的任何其它信息。
圖4是根據(jù)本公開的實施方式的編碼器400的框圖。編碼器400可以在設(shè)備(諸如圖1中所示的計算設(shè)備100或圖2中所示的計算和通信設(shè)備100A/100B/100C)中被實現(xiàn)為例如存儲在數(shù)據(jù)存儲單元(諸如圖1中所示的存儲器150)中的計算機(jī)軟件程序。計算機(jī)軟件程序可以包括可以被處理器(諸如圖1中所示的處理器160)執(zhí)行且可以使得設(shè)備如本文所述地將視頻數(shù)據(jù)編碼的機(jī)器指令。例如,可以將編碼器400實現(xiàn)為包括在計算設(shè)備100中的專用硬件。
編碼器400可以將輸入視頻流402(諸如圖3中所示的視頻流300)編碼而生成已編碼(壓縮)比特流404。在某些實施方式中,編碼器400可以包括用于生成壓縮比特流404的正向路徑。正向路徑可以包括幀內(nèi)/幀間預(yù)測單元410、變換單元420、量子化單元430、熵編碼單元440或其任何組合。在某些實施方式中,編碼器400可以包括用以重構(gòu)幀以用于進(jìn)一步的塊的編碼的重構(gòu)路徑(用虛連接線指示)。所述重構(gòu)路徑可以包括去量子化單元450、逆變換單元460、重構(gòu)單元470、環(huán)路濾波單元480或其任何組合??梢允褂镁幋a器400的其它結(jié)構(gòu)變體來對視頻流402進(jìn)行編碼。
為了將視頻流402編碼,可以以塊為單位來處理視頻流402內(nèi)的每個幀。因此,可以從幀中的塊識別當(dāng)前塊,并且可以將當(dāng)前塊編碼。
在幀內(nèi)/幀間預(yù)測單元410處,可以使用幀內(nèi)預(yù)測(其可以是在單個幀內(nèi))或幀間預(yù)測(其可以是從幀至幀)對當(dāng)前塊進(jìn)行編碼。幀內(nèi)預(yù)測可以包括從先前已被編碼并重構(gòu)的當(dāng)前幀中的樣本生成預(yù)測塊。幀間預(yù)測可以包括從一個或多個先前構(gòu)造參考幀中的樣本生成預(yù)測塊。針對當(dāng)前幀中的當(dāng)前塊生成預(yù)測塊可以包括執(zhí)行運(yùn)動估計以生成指示參考幀中的適當(dāng)參考塊的運(yùn)動矢量。
幀內(nèi)/幀間預(yù)測單元410可以從當(dāng)前塊(原始塊(raw block))減掉預(yù)測塊以產(chǎn)生殘余塊(residual block)。變換單元420可以執(zhí)行基于塊的變換,其包括將殘余塊變換成例如頻域中的變換系數(shù)。基于塊的變換的示例包括Karhunen-Loève變換(KLT)、離散余弦變換(DCT)以及奇異值分解變換(SVD)。在示例中,DCT包括基于空間頻率使用變換系數(shù)值將塊變換到頻域中,其中,在矩陣的左上方處具有最低頻(即,DC)系數(shù)且在矩陣的右下方處具有最高頻系數(shù)。
量子化單元430可以將變換系數(shù)轉(zhuǎn)換成離散量子值,其可以被稱為量子化變換系數(shù)或量子水平。量子化變換系數(shù)可以被熵編碼單元440進(jìn)行熵編碼而產(chǎn)生熵編碼系數(shù)。熵編碼可以包括使用概率分布度量。被用來對塊進(jìn)行解碼的熵編碼系數(shù)和信息(其可以包括所使用的預(yù)測類型、運(yùn)動矢量以及量化器值)可以被輸出到壓縮比特流404??梢允褂酶鞣N技術(shù)(諸如行程長度編碼(RLE)和零行程編碼)將壓縮比特流404格式化。
可以使用重構(gòu)路徑來保持編碼器400與對應(yīng)解碼器(諸如圖5中所示的解碼器500)之間的參考幀同步。重構(gòu)路徑可以類似于下面討論的解碼過程,并且可以包括在去量子化單元450處將量子化變換系數(shù)去量子化,并且在逆變換單元460處對去量子化變換系數(shù)進(jìn)行逆變換以產(chǎn)生導(dǎo)數(shù)殘余塊。重構(gòu)單元470可以將由幀內(nèi)/幀間預(yù)測單元410所生成的預(yù)測塊添加到導(dǎo)數(shù)殘余塊以創(chuàng)建重構(gòu)塊??梢詫h(huán)路濾波單元480應(yīng)用于重構(gòu)塊以減少失真,諸如塊狀偽像(blocking artifacts)。
可以使用編碼器400的其它變體來對壓縮比特流404進(jìn)行編碼。例如,非基于變換的編碼器400可以在沒有變換單元420的情況下直接地將殘余塊量子化。在某些實施方式中,可以將量子化單元430和去量子化單元450組合成單個單元。
圖5是根據(jù)本公開的實施方式的解碼器500的框圖。解碼器500可以在設(shè)備(諸如圖1中所示的計算設(shè)備100或圖2中所示的計算和通信設(shè)備100A/100B/100C)中被實現(xiàn)為例如存儲在數(shù)據(jù)存儲單元(諸如圖1中所示的存儲器150)中的計算機(jī)軟件程序。計算機(jī)軟件程序可以包括被處理器(諸如圖1中所示的處理器160)執(zhí)行且可以使得設(shè)備如本文所述地將視頻數(shù)據(jù)解碼的機(jī)器指令。例如,可以將解碼器500實現(xiàn)為包括在計算設(shè)備100中的專用硬件。
解碼器500接收壓縮比特流502,諸如圖4中所示的壓縮比特流404,并且將壓縮比特流502解碼以生成輸出視頻流504。解碼器500可以包括熵解碼單元510、去量子化單元520、逆變換單元530、幀內(nèi)/幀間預(yù)測單元540、重構(gòu)單元550、環(huán)路濾波單元560、解塊(deblocking)濾波單元570或其任何組合??梢允褂媒獯a器500的其它結(jié)構(gòu)變體來對壓縮比特流502進(jìn)行解碼。
熵解碼單元510可以使用例如場境自適應(yīng)二進(jìn)制算術(shù)解碼來對壓縮比特流502內(nèi)的數(shù)據(jù)元素進(jìn)行解碼,以產(chǎn)生量子化變換系數(shù)集。去量子化單元520可以將量子換變換系數(shù)去量子化,并且逆變換單元530可以對去量子化變換系數(shù)進(jìn)行逆變換以產(chǎn)生導(dǎo)數(shù)殘余塊,其可以與由圖4中所示的逆變換單元460所生成的導(dǎo)數(shù)殘余塊相對應(yīng)。使用從壓縮比特流502解碼的報頭信息,幀內(nèi)/幀間預(yù)測單元540可以生成與在編碼器400中所創(chuàng)建的預(yù)測塊相對應(yīng)的預(yù)測塊。在重構(gòu)單元550處,可以將預(yù)測塊添加到導(dǎo)數(shù)殘余塊以創(chuàng)建重構(gòu)塊??梢詫h(huán)路濾波單元560應(yīng)用于重構(gòu)塊以減少塊狀偽像??梢詫⒔鈮K濾波單元570應(yīng)用于重構(gòu)塊以減少塊狀失真,并且結(jié)果可以被輸出作為輸出視頻流504。
可以使用解碼器500的其它變體來對壓縮比特流502進(jìn)行解碼。例如,解碼器500可以在沒有解塊濾波單元570的情況下輸出視頻流504。
圖6是根據(jù)本公開的實施方式的幀(諸如圖3中所示的幀330)的部分600的表示的框圖。如所示,部分600包括在笛卡爾平面的矩陣中的兩行和兩列中的四個64×64塊610,可以將其稱為超級塊。在某些實施方式中,超級塊可以是基本或最大代碼化單元。一個或多個超級塊可以包括四個32×32塊620。一個或多個32×32塊620可以包括四個16×16塊630。一個或多個16×16塊630可以包括四個8×8塊640。一個或多個8×8塊640可以包括四個4×4塊650。一個或多個4×4塊650可以包括16個像素,所述16個像素是在笛卡爾平面或矩陣中的每個相應(yīng)的塊中的四行和四列中表示的。像素可以包括表示在幀中所捕獲的圖像的信息,諸如輝度信息、色彩信息以及位置信息。在某些實施方式中,塊(諸如所示的16×16像素塊630)包括輝度塊660,所述輝度塊660包括輝度像素662;以及兩個色度塊670/680,諸如U或Cb色度塊670以及V或Cr色度塊680。色度塊670/680包括色度像素690。例如,輝度塊660包括16×16個輝度像素662,并且每個色度塊670/680包括如所示的8×8個色度像素690。雖然示出了塊的一個布置,但可以使用任何布置。例如,雖然圖6示出了N×N塊,但在某些實施方式中,可以使用N×M塊,其中,N≠M(fèi)。例如,可以使用32×64塊、64×32塊、16×32塊、32×16塊或任何其他大小的塊。在某些實施方式中,以使用N×2N塊、2N×N塊或其組合。
在某些實施方式中,視頻代碼化可以包括有序塊級別(block-level)代碼化。有序塊級別代碼化包括按順序(諸如光柵掃描順序)對幀中的塊進(jìn)行代碼化,其中,從幀或幀的一部分的左上角中的塊開始識別并處理塊,并且沿著從左至右的行且從頂行至底行繼續(xù)進(jìn)行,依次識別每個塊以用于處理。例如,幀的頂行和左列中的超級塊可以是被代碼化的第一塊,而直接緊挨著在第一塊右側(cè)的超級塊可以是被代碼化的第二塊。從頂部算起的第二行可以是被代碼化的第二行,使得第二行的左列中的超級塊可以在第一行的最右列中的超級塊之后被代碼化。
在某些實施方式中,對塊進(jìn)行代碼化可以包括使用四叉樹代碼化,其可以包括按照光柵掃描順序?qū)K內(nèi)的較小塊單元進(jìn)行代碼化。例如,可以使用四叉樹代碼化對圖6中所示的幀的部分的左下角中所示的64×64超級塊進(jìn)行代碼化,其中,對左上方的32×32塊代碼化,然后對右上方的32×32塊代碼化,然后對左下方的32×32塊代碼化,并且然后對右下方的32×32塊代碼化。可以使用四叉樹代碼化對每個32×32塊代碼化,其中,對左上方的16×16塊代碼化,然后對右上方的16×16塊代碼化,然后對左下方的16×16塊代碼化,并且然后對右下方的16×16塊代碼化??梢允褂盟牟鏄浯a化對每個16×16塊代碼化,其中,對左上方的8×8塊代碼化,然后對右上方的8×8塊代碼化,然后對左下方的8×8塊代碼化,并且然后對右下方的8×8塊代碼化??梢允褂盟牟鏄浯a化對每個8×8塊代碼化,其中,對左上方的4×4塊代碼化,然后對右上方的4×4塊代碼化,然后對左下方的4×4塊代碼化,并且然后對右下方的4×4塊代碼化。在某些實施方式中,針對16×16塊可以省略8×8塊,并且可以使用四叉樹代碼化對16×16塊進(jìn)行代碼化,其中,對左上方的4×4塊進(jìn)行代碼化,然后按照光柵掃描順序?qū)?6×16塊中的其它4×4塊進(jìn)行代碼化。
在某些實施方式中,例如,視頻代碼化可以包括通過從對應(yīng)的已編碼幀省略原始幀中的某些信息來壓縮包括在原始或輸入幀中的信息。例如,代碼化可以包括減少頻譜冗余、減少空間冗余、減少時間冗余或其組合。
在某些實施方式中,減少頻譜冗余包括使用基于輝度分量(Y)和兩個色度分量(U和V或Cb和Cr)的色彩模型,其被稱為YUV或YCbCr色彩模型或色彩空間。使用YUV色彩模型包括使用相對大量的信息來表示幀的一部分的輝度分量,并且使用相對少量的信息來表示用于所述幀的部分的每個對應(yīng)的色度分量。在示例中,用高分辨率輝度分量(其可以包括16×16像素塊)并且用兩個較低分辨率色度分量(其中的每一個將幀的所述部分表示為8×8像素塊)來表示幀的一部分。像素可以指示值,例如,從0至255范圍中的值,并且可以使用例如八比特來存儲或發(fā)射。雖然參考YUV色彩模型描述了本公開,但也可以使用任何色彩模型。
在某些實施方式中,減少空間冗余可以包括使用例如DCT將塊變換到頻域中。例如,編碼器的單元(諸如圖4中所示的變換單元420)可以基于空間頻率使用變換系數(shù)值來執(zhí)行DCT。
在某些實施方式中,減少時間冗余包括使用幀之間的相似性來基于一個或多個參考幀(其可以是視頻流的先前經(jīng)編碼、經(jīng)解碼和經(jīng)重構(gòu)的幀)使用相對少量的數(shù)據(jù)對幀進(jìn)行編碼。例如,當(dāng)前幀的塊或像素可以類似于參考幀的空間上相對應(yīng)的塊或像素。在某些實施方式中,當(dāng)前幀的塊或像素可以類似于不同空間位置處的參考幀的塊或相似,并且減少時間冗余可以包括生成指示當(dāng)前幀中的塊或像素的位置與參考幀中的塊或像素的相應(yīng)位置之間的空間差或平移的運(yùn)動信息。
減少時間冗余還可以包括識別參考幀或參考幀的一部分中的塊或像素,其與當(dāng)前幀的當(dāng)前塊或像素相對應(yīng)。例如,在可以被存儲在存儲器中的參考幀或參考幀的一部分中搜索最佳塊或像素以用于對當(dāng)前幀的當(dāng)前塊或像素進(jìn)行編碼。所述搜索可以識別對于其而言參考塊與當(dāng)前塊之間的像素值的差被最小化的參考幀的塊,并且被稱為運(yùn)動搜索。在某些實施方式中,可以限制被搜索的參考幀的部分。例如,可以稱為搜索區(qū)的被搜索的參考幀的部分可以包括參考幀的有限數(shù)目的行。在示例中,識別參考塊可以包括計算搜索區(qū)中的塊的像素與當(dāng)前塊的像素之間的成本函數(shù),諸如絕對誤差和(SAD)(sum of absolute difference)。
在某些實施方式中,將參考幀中的參考塊的位置與當(dāng)前幀中的當(dāng)前塊之間的空間差表示為運(yùn)動矢量??梢詫⒖級K與當(dāng)前塊之間的像素值的差稱為差分?jǐn)?shù)據(jù)、殘余數(shù)據(jù)或者作為殘余塊??梢詫⑸蛇\(yùn)動矢量稱為運(yùn)動估計,并且可以基于使用笛卡兒坐標(biāo)的位置將當(dāng)前塊的像素指示為fx,y。同樣地,可以基于使用笛卡爾坐標(biāo)的位置將參考幀的搜索區(qū)的像素指示為rx,y。例如,可以基于當(dāng)前幀的像素與參考幀的對應(yīng)像素之間的SAD來確定用于當(dāng)前塊的運(yùn)動矢量(MV)。
雖然在本文中為了明了起見參考幀的矩陣或笛卡爾表示來描述頻域去噪,但可以用任何數(shù)據(jù)結(jié)構(gòu)對幀進(jìn)行存儲、發(fā)射、處理或其任意組合,使得可以針對幀或圖像而高效地預(yù)測像素值。例如,可以在諸如所示的矩陣的二維數(shù)據(jù)結(jié)構(gòu)中或者諸如向量數(shù)組的一維數(shù)據(jù)結(jié)構(gòu)中對幀進(jìn)行存儲、發(fā)射、處理或其任何組合。幀的表示(諸如所示的二維表示)可以與幀作為圖像的呈現(xiàn)中的物理位置相對應(yīng)。例如,幀的左上角中的塊的左上角中的位置與幀作為圖像的呈現(xiàn)的左上角中的物理位置相對應(yīng)。
在某些實施方式中,捕獲或記錄視頻的過程可能經(jīng)受噪聲或其它非期望偽像。例如,諸如相機(jī)制造中的不完美、照明等的因素對輸入、源或原始圖像中的噪聲有所貢獻(xiàn)。源視頻中的噪聲可以降低所感知的視頻質(zhì)量,并且可以降低視頻代碼化效率。例如,輸入噪聲(其可以是隨機(jī)的不可預(yù)測噪聲)可以被傳播到已解碼視頻并降低已解碼視覺質(zhì)量。輸入噪聲可以降低壓縮速度、壓縮性能和/或壓縮保真度。
圖7是根據(jù)本公開的實施方式的使用時域去噪對視頻流進(jìn)行代碼化的示例的圖。在某些實施方式中,諸如圖4中所示的編碼器400的編碼器可以接收輸入視頻流,諸如圖4中所示的輸入視頻流402,可以根據(jù)圖4的描述對輸入視頻流進(jìn)行編碼,并且可以輸出已編碼視頻流,諸如圖4中所示的壓縮比特流404。在某些實施方式中,對視頻流進(jìn)行編碼可以包括時域去噪700。例如,編碼器400可以包括去噪單元(未單獨(dú)地示出),其可以基于源幀或源幀的一部分以及預(yù)測幀或預(yù)測幀的一部分(諸如由圖4中所示的預(yù)測單元410所生成的預(yù)測幀)而生成去噪幀或去噪幀的一部分。在某些實施方式中,編碼器可以包括組合預(yù)測和去噪單元。例如,圖4中所示的編碼器400的預(yù)測單元410可以包括去噪單元。
時域去噪700可以包括在710處識別源塊、在720處生成預(yù)測塊、在730處識別濾波器、在740處生成去噪塊、在750處評估去噪塊或其組合。在某些實施方式中,時域去噪700包括時間去噪,其中,去噪像素的值可以基于當(dāng)前幀中的像素和參考幀中的對應(yīng)像素的值。
在某些實施方式中,在710處識別源塊。輸入或源視頻流的當(dāng)前幀可以包括多個N×N塊,諸如16×16塊,并且來自源幀的塊可以被識別為源塊。在某些實施方式中,可以以逐個塊為基礎(chǔ)對來自源幀的每個塊進(jìn)行去噪。
在某些實施方式中,在720處生成預(yù)測塊。例如,可以使用幀間預(yù)測(諸如圖4中所示的幀間預(yù)測單元410)來基于參考幀生成預(yù)測塊。
在某些實施方式中,在730處識別濾波器。濾波器可以生成已濾波像素,其具有在來自源塊的源像素的值與來自預(yù)測塊的對應(yīng)預(yù)測像素的值之間的值。在某些實施方式中,濾波器具有可以指示源像素和預(yù)測像素的相對權(quán)重的強(qiáng)度。例如,強(qiáng)濾波器生成具有與源像素的值相比更接近于預(yù)測像素的值的值的已濾波像素,并且弱濾波器生成具有與預(yù)測像素的值相比更接近于源像素的值的值的已濾波像素。在某些實施方式中,從具有多種強(qiáng)度的候選時間去噪濾波器的集合中識別濾波器??梢栽谑纠羞x擇最強(qiáng)可用濾波器。
在某些實施方式中,在740處生成去噪塊。通過應(yīng)用所選擇的濾波器來基于預(yù)測塊對源塊進(jìn)行濾波,可以生成去噪塊。在某些實施方式中,可以基于來自預(yù)測塊的對應(yīng)像素在逐個像素的基礎(chǔ)上對來自源塊的每個像素進(jìn)行濾波。例如,可以按照掃描順序(諸如光柵掃描順序)來處理來自源塊的像素。
在某些實施方式中,在750處評估去噪塊。評估去噪塊可以包括確定去噪塊與源塊之間的差。在某些實施方式中,所述去噪塊基于所述差是否在保真度閾值內(nèi)而被拒絕或接受。例如,去噪塊與源塊之間的差可以在保真度閾值內(nèi),并且去噪塊被接受。
可以使用連續(xù)較弱濾波器迭代地重復(fù)在730處識別濾波器、在740處生成去噪塊以及在750處評估去噪塊,直至識別到可接受的去噪塊為止。在某些實施方式中,可以使用源塊作為去噪塊。在示例中,可用濾波器的集合包括強(qiáng)濾波器和弱濾波器。在730處識別強(qiáng)濾波器,在740處生成強(qiáng)濾波去噪塊,在750處評估強(qiáng)濾波去噪塊,強(qiáng)濾波去噪塊與源塊之間的差超過保真度閾值,強(qiáng)濾波去噪塊被拒絕,在730處識別弱濾波器,在740處生成弱濾波去噪塊,在750處評估弱濾波去噪塊,弱濾波去噪塊與源塊之間的差超過保真度閾值,并且弱濾波去噪塊被拒絕。結(jié)果,源塊在沒有去噪的情況下被用作去噪塊。
雖然在圖7中未單獨(dú)地示出,可以諸如按照光柵掃描順序以逐個塊為基礎(chǔ)對來自當(dāng)前幀的每個塊進(jìn)行去噪。使用時域去噪的編碼可以包括使用去噪塊來生成殘余塊。例如,預(yù)測單元(諸如圖4中所述的預(yù)測單元410)基于源幀與去噪幀之間的差而生成殘余。
圖8是根據(jù)本公開的實施方式的使用頻域去噪對視頻流進(jìn)行代碼化的示例的圖。在某些實施方式中,諸如圖4中所示的編碼器400的編碼器可以接收輸入視頻流,諸如圖4中所示的輸入視頻流402,可以根據(jù)圖4的描述對輸入視頻流進(jìn)行編碼,并且可以輸出已編碼視頻流,諸如壓縮比特流404。在某些實施方式中,對視頻流進(jìn)行編碼可以包括頻域去噪800。例如,圖4中所示的編碼器400可以包括去噪單元(未單獨(dú)地示出),其基于基于源幀或源幀的一部分以及預(yù)測幀或預(yù)測幀的一部分(諸如由圖4中所示的預(yù)測單元410所生成的預(yù)測幀)而生成去噪幀或去噪幀的一部分。在某些實施方式中,編碼器可以包括組合預(yù)測和去噪單元、組合變換和去噪單元、或組合預(yù)測、變換和去噪單元。
在某些實施方式中,頻域去噪800包括在810處識別源塊、在820處生成預(yù)測塊、在830處生成變換塊、在840處生成去噪塊、在850處對去噪塊進(jìn)行逆變換、或其組合。頻域去噪800可以包括頻率去噪,其可以包括組合空間和時間去噪,其中,去噪像素的值是基于當(dāng)前幀中的像素的值、參考幀中的對應(yīng)像素的值以及空間相關(guān)像素的值。
在某些實施方式中,在810處識別源塊。輸入或源視頻流的當(dāng)前幀包括多個N×N塊或N×M塊,諸如圖6中所示的塊。例如,源塊可以是4×4塊、64×64或任何其它大小的塊??梢詫碜栽磶膲K識別為源塊。在某些實施方式中,可以以逐個塊為基礎(chǔ)對來自源幀的每個塊進(jìn)行去噪。例如,可以按照一定順序(諸如光柵順序)對來自當(dāng)前幀的塊進(jìn)行去噪。
在某些實施方式中,在820處生成預(yù)測塊??梢允褂脦g預(yù)測(諸如圖4中所示的幀間預(yù)測單元410)來基于參考幀生成預(yù)測塊。
在某些實施方式中,在830處生成變換塊??梢詮脑磯K生成源變換塊,并且可以從預(yù)測塊生成預(yù)測變換塊。例如,變換單元(諸如圖4中所示的變換單元420)從預(yù)測塊生成預(yù)測變化塊,并且從源塊生成源變換塊。生成變換塊可以包括執(zhí)行基于塊的變換(諸如DCT變換)以從像素的塊(諸如源塊或預(yù)測塊)生成頻域變換系數(shù)。
在某些實施方式中,在840處生成去噪變換塊。生成去噪塊可以包括基于預(yù)測變換塊對源變換塊應(yīng)用去噪函數(shù)。
在某些實施方式中,源變換塊可以是對應(yīng)的無噪聲塊(其可以被視為實際塊)以及加性高斯噪聲的函數(shù)。頻域去噪可以將實際塊恢復(fù)為去噪塊。在某些實施方式中,預(yù)測變換塊是與參考塊和加性拉普拉斯創(chuàng)新相對應(yīng)的實際塊的函數(shù)。頻域去噪函數(shù)可以基于源變換塊和預(yù)測變換塊來生成實際塊的期望。
在示例中,B指示像素域中的源塊的Y平面,Bx,y指示B的行x和列y中的像素的值,h指示以像素為單位的源塊的高度,w指示以像素為單位的源塊的寬度,β是B的離散變換域表示(β=dct(B)),β0指示DC系數(shù),β1、β2、…,、βhw-1指示AC系數(shù),P指示像素域中的B的預(yù)測的Y平面,并且π是P的離散變換域表示(π=dct(P))。
在某些實施方式中,是源塊的變換域,β表示無噪聲信號,其可以是與輸入塊相對應(yīng)的真實或?qū)嶋H信號,n表示在源幀的生成期間添加到真實信號的噪聲,并且被如下表示:
變量可以是預(yù)測塊的變換域,π可以表示無噪聲信號,其可以是與預(yù)測塊相對應(yīng)的真實或?qū)嶋H信號,并且e可以表示創(chuàng)新,使得被如下表示:
在某些實施方式中,去噪包括基于源塊和預(yù)測塊而生成β的估計E。其中,x表示積分變量且dx表示接近于零的積分變量x的量,可以如下表示估計E:
在某些實施方式中,f指示基于和的β的條件概率密度函數(shù),其被如下表示:
在某些實施方式中,針對給定真實塊,噪聲塊和預(yù)測塊可以是獨(dú)立的,其可以如下表示:
在某些實施方式中,f(n)指示噪聲的函數(shù),并且可以如下表示條件概率密度函數(shù):
在某些實施方式中,用高斯分布對f(n)進(jìn)行建模,其可以如下表示:
在某些實施方式中,f(e)指示創(chuàng)新的函數(shù),并且可以如下表示條件概率密度函數(shù):
在某些實施方式中,用拉普拉斯分布對f(e)進(jìn)行建模,其可以如下表示:
在某些實施方式中,指示在點(diǎn)處噪聲和創(chuàng)新函數(shù)的卷積并且可以如下表示估計:
在某些實施方式中,如下表示的近似:
在某些實施方式中,i可以編索引到從l至u的N個x值的列表xd,每個間隔開距離Δ,使得并且可以利用和來對積分進(jìn)行近似,其可以如下表示:
可以利用和來對卷積進(jìn)行近似,其中,積分的邊界是相等的,其可以如下表示:
在某些實施方式中,被識別為下界,并且被識別為上界。在某些實施方式中,近似的準(zhǔn)確度和計算的成本隨著點(diǎn)N的數(shù)目而增加,并且N是基于度量(諸如可用的浮點(diǎn)精度、時間、像素精度或其組合)而確定的??梢允褂梅e分表達(dá)式的另一近似。
雖然圖8中未單獨(dú)地示出,但可以應(yīng)用一個或多個頻域截止。例如,當(dāng)前幀可以包括從先前的幀省略的對象,諸如進(jìn)入所捕獲場景的新對象。在這種情況下,用于包括新對象的幀部分的預(yù)測塊可能被不準(zhǔn)確地預(yù)測,或者可能是不可預(yù)測的,并且可以應(yīng)用頻域截止。
應(yīng)用頻域截止可以包括確定去噪系數(shù)值是否在頻域中的源系數(shù)值與預(yù)測系數(shù)值之間的范圍中。例如,源系數(shù)βi可以具有值30,對應(yīng)的預(yù)測系數(shù)πi可以具有值26,對應(yīng)的去噪系數(shù)可以具有在截止范圍之外的值,諸如32,并且源系數(shù)βi的值被用作去噪值。在另一示例中,源系數(shù)βi可以具有值30,對應(yīng)的預(yù)測系數(shù)πi可以具有值26,對應(yīng)的去噪系數(shù)可以具有在截止范圍內(nèi)的值,諸如27,并且使用所述去噪系數(shù)值。
應(yīng)用頻域截止可以包括確定去噪系數(shù)值與對應(yīng)的源系數(shù)值之間的差是否在去噪頻域相似性閾值以下。例如,去噪頻遇相似性閾值可以是百分比(諸如20%),去噪系數(shù)值與對應(yīng)的源系數(shù)值之間的差可以大于去噪頻域相似性閾值,并且使用所述源系數(shù)。在另一示例中,去噪系數(shù)值與對應(yīng)的源系數(shù)值之間的差可以小于去噪頻域相似性閾值,并且使用所述去噪系數(shù)。在另一示例中,去噪系數(shù)值與對應(yīng)的源系數(shù)值之間的差可以大于去噪頻域相似性閾值,并且使用用去噪頻域相似性閾值(諸如源變換系數(shù)乘以一個(1)與去噪頻域相似性閾值的和)所指示的值作為去噪值。
在某些實施方式中,生成去噪變換塊包括在第一遍中生成去噪系數(shù),并且在第二遍中應(yīng)用截止。生成去噪變換塊可以替選地包括在一遍中生成去噪系數(shù)并應(yīng)用截止。
在某些實施方式中,生成去噪變換塊包括應(yīng)用一個或多個基于塊的頻域截止。使用基于塊的頻域截止來生成去噪變換可以包括識別基于塊的頻域截止閾值,其指示最大可靠地可預(yù)測頻率,并且對在基于塊的頻域截止閾值內(nèi)的源系數(shù)進(jìn)行去噪。例如,源系數(shù)值可以在基于塊的頻域截止閾值以上,可以使用所述源系數(shù)值,并且省略去噪。在另一示例中,源系數(shù)值可以在基于塊的頻域截止閾值以下,并且生成去噪系數(shù)。
可以對去噪變換塊進(jìn)行逆變換以在850處生成去噪塊。雖然在圖8中未單獨(dú)地示出,但編碼器可以基于去噪塊和預(yù)測塊而生成殘余。例如,編碼器的預(yù)測單元(諸如圖4中所示的幀內(nèi)/幀間預(yù)測單元410)可以從去噪塊減去預(yù)測塊以產(chǎn)生殘余塊??梢灾T如按照光柵掃描順序以逐個塊為基礎(chǔ)對來自當(dāng)前幀的每個塊進(jìn)行去噪。
雖然圖8中未單獨(dú)地示出,但可以應(yīng)用一個或多個像素域截止。應(yīng)用像素域截止可以包括確定去噪像素值是否在源像素值與預(yù)測像素值之間的范圍中。例如,去噪像素值可以在源像素值與預(yù)測像素值之間,并且使用去噪像素值。在另一示例中,去噪像素值可以在源像素值與預(yù)測像素值之間的范圍之外,并且將源像素值用于生成殘余。
此外,可以應(yīng)用一個或多個基于塊的像素域截止。例如,源塊與去噪塊之間的總差可以超過基于塊的像素域截止閾值,并且然后將源塊用于生成殘余。
雖然在圖8中并未單獨(dú)地示出,可以使用不同的啟發(fā)式來確定預(yù)測塊的準(zhǔn)確度是否在去噪閾值以上,并且如果準(zhǔn)確度在閾值以下,則省略去噪。例如,用于頻率或頻率組的預(yù)測塊與源塊之間的差可以在閾值以上,并且省略去噪。
雖然相對于單個參考幀描述了頻域去噪,但可以使用多個參考幀,使得去噪塊是源塊和多個預(yù)測塊的函數(shù)。
除圖8中所示的之外的頻域去噪的其它實施方式是可用的??梢蕴砑宇l域去噪的附加元素,可以將某些元素組合和/或可以移除某些元素。
單詞“示例”在本文中用來意指充當(dāng)示例、實例或圖示。在本文中描述為“示例”的任何方面或設(shè)計不一定要理解為相對于其它方面或設(shè)計而言是優(yōu)選或有利的。相反地,單詞“示例”的使用旨在以具體的方式提出概念。如在本申請中使用的術(shù)語“或”旨在意指包括性的“或”而不是排他性的“或”。也就是說,除非另外指定,或者從上下文顯而易見,“X包括A或B”旨在意指任何的自然包括性排列。也就是說,如果X包括A;X包括B;或者X包括A和B兩者,則根據(jù)任何前述實例,滿足“X包括A或B”。另外,如在本申請和所附權(quán)利要求中使用的冠詞“一(a)”和“一(an)”一般地應(yīng)被理解成意指“一個或多個”,除非另外指明或者從上下文顯而易見的是針對單數(shù)形式。此外,術(shù)語“實施例”或“一個實施例”或“實施方式”或“一個實施方式”遍及各處的使用并不旨在意指相同的實施例或?qū)嵤┓绞剑沁@樣地描述。如本文中所使用的術(shù)語“確定”和“識別”或其任何變型包括使用圖1中所示的設(shè)備中的一個或多個以無論任何方式來選擇、查明、計算、查找、接收、確定、建立、獲得或者以其他方式識別或確定。
進(jìn)一步地,為了說明的簡單起見,雖然本文中的圖和描述可以包括步驟或階段的序列或系列,但本文中公開的方法的元素可以按照各種順序和/或同時地發(fā)生。另外,本文中公開的方法的元素可以與在本文中并未明確地呈現(xiàn)和描述的其它元素一起發(fā)生。此外,可能并非本文中所述的方法的所有元素都是實現(xiàn)根據(jù)公開主題的方法所需要的。
可以用硬件、軟件或其任何組合來實現(xiàn)設(shè)備100A、100B、100C(以及存儲在其上面和/或從而被執(zhí)行的算法、方法、指令等)的實施方式。硬件可以包括例如計算機(jī)、知識產(chǎn)權(quán)(IP)核心、專用集成電路(ASIC)、可編程邏輯陣列、光學(xué)處理器、可編程邏輯控制器、微代碼、微控制器、服務(wù)器、微處理器、數(shù)字信號處理器或任何其它適當(dāng)電路。在權(quán)利要求中,應(yīng)將術(shù)語“處理器”理解為包含任何前述硬件(單獨(dú)地或以組合方式)。術(shù)語“信號”和“數(shù)據(jù)”被可互換地使用。進(jìn)一步地,設(shè)備100A、100B、100C的部分不一定必須用相同的方式實現(xiàn)。
進(jìn)一步地,在一個實施方式中,例如,可以使用具有計算機(jī)程序的通用計算機(jī)或通用處理器來實現(xiàn)100A、100B、100C,所述計算機(jī)程序在被執(zhí)行時執(zhí)行本文所述的任何的各方法、算法和/或指令。另外或替選地,例如,可以利用專用計算機(jī)/處理器,其可以包含用于執(zhí)行本文中所述的任何方法、算法或指令的專用硬件。
例如,可以在實時視頻系統(tǒng)中的計算機(jī)上實現(xiàn)任何或所有設(shè)備100A、100B、100C。替選地,可以在服務(wù)器上將設(shè)備100A實現(xiàn)為發(fā)射站,并且可以在與服務(wù)器分離的設(shè)備(諸如手持式通信設(shè)備)上將設(shè)備100B、100C實現(xiàn)為一個或多個接收站。在這種情況下,設(shè)備100A可以使用編碼器400將內(nèi)容編碼成已編碼視頻信號并將已編碼視頻信號發(fā)射到設(shè)備100B或100C。進(jìn)而,設(shè)備100B/100C然后可以使用解碼器500將已編碼視頻信號解碼。替選地,設(shè)備100B/100C可以對本地存儲的內(nèi)容(例如并非由設(shè)備100A發(fā)射的內(nèi)容)進(jìn)行解碼。用于發(fā)射站和接收站的其它適當(dāng)布置是可用的。例如,設(shè)備100B或100C可以是大體上固定的個人計算機(jī)而不是便攜式通信設(shè)備和/或包括編碼器400的設(shè)備還可以包括解碼器500。
進(jìn)一步地,所有實施方式或其一部分可以采取從例如有形計算機(jī)可用或計算機(jī)可讀介質(zhì)可訪問的計算機(jī)程序產(chǎn)品的形式。計算機(jī)可用或計算機(jī)可讀介質(zhì)可以是可以有形地包含、存儲、通信或傳輸程序以供任何處理器使用或與之相結(jié)合地使用的任何設(shè)備。例如,所述介質(zhì)可以是電子、磁性、光學(xué)、電磁或半導(dǎo)體設(shè)備。其它適當(dāng)介質(zhì)也是可用的。
描述上述實施方式是為了允許容易地理解本申請而不是進(jìn)行限制。相反地,本申請涵蓋包括在所附權(quán)利要求范圍內(nèi)的各種修改和等價布置,所述范圍將是根據(jù)最寬泛的解釋從而涵蓋根據(jù)法律許可的所有此類修改和等價結(jié)構(gòu)。