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

用于視頻編碼的運動估計的系統(tǒng)和方法與流程

文檔序號:12143633閱讀:373來源:國知局
用于視頻編碼的運動估計的系統(tǒng)和方法與流程

歸因于視頻分辨率日益增加以及對高質(zhì)量視頻圖像的期待上升,對于視頻的高效圖像數(shù)據(jù)壓縮存在較高需求,而對于用現(xiàn)有視頻編碼標(biāo)準(zhǔn)(例如H.264或H.265/HEVC(高效率視頻編碼)標(biāo)準(zhǔn))進行編碼而言,性能是5有限的。前述標(biāo)準(zhǔn)使用傳統(tǒng)方法的擴展形式來解決壓縮/質(zhì)量不足的問題,但是結(jié)果仍是不足的。

這些視頻編碼處理在編碼器處使用幀間預(yù)測來減少時間(幀10至幀)冗余性。運動估計是編碼器中的關(guān)鍵操作。運動估計是尋找與基準(zhǔn)幀的區(qū)域最相似的正編碼的幀的區(qū)域以便尋找運動矢量的處理。運動矢量用于構(gòu)造關(guān)于編碼塊的預(yù)測。預(yù)測數(shù)據(jù)與真實(原始)數(shù)據(jù)之間的差稱為殘差數(shù)據(jù),并且連同運動矢量一起進行壓縮和編碼。

通過常規(guī)的塊匹配完全搜索,將當(dāng)前幀上的塊與基準(zhǔn)幀上的搜索窗口的每個塊位置進行比較。最低的絕對差之和(SAD)、均方差(MSE)或其它測度被看作最佳匹配。雖然非常精確,但是完全搜索降低了性能。反之,快速運動估計一般具有兩個階段,第一階段以20最小步長在最期待的運動矢量周圍開始搜索,并且對于更遠的位置使用增量步長。其為在所檢查的各匹配塊位置之間具有很多空間的第一搜索圖案布置。這是更快的,但是結(jié)果不精確。在精細化步驟中,接著關(guān)于最佳匹配而檢查從第一搜索圖案布置找到的最佳匹配點周圍的更多點。在精細化階段,圖案布置與第一階段中所使用的圖案布置類似。最佳匹配25點離布置的中心越遠,圖案就越寬。這種處理可能搜索范圍仍然有限,并且并未充分地覆蓋精細化輪次(pass)中的位置。

附圖說明

在附圖中通過示例的方式而非通過限制的方式示出在此所描述的內(nèi)容。為了說明的簡明性和清楚性,5附圖所示的要素不一定按比例繪制。例如,為了清楚,一些要素的尺寸可以相對于其它要素被夸大。此外,在適當(dāng)情況下,在附圖之間重復(fù)了標(biāo)號,以指示對應(yīng)或類似要素。在附圖中:

圖1是用于視頻編碼系統(tǒng)的編碼器的說明性示圖;

圖2是用于視頻編碼系統(tǒng)的解碼器的說明性示圖;

圖3是示出用于視頻編碼的運動估計處理的流程圖;

圖4-圖5是示出用于運動估計處理的示例搜索圖案布置的示意圖;

圖6-圖9是示出用于15另一運動估計處理的示例搜索圖案布置的示意圖;

圖6A是用于解釋在此的實現(xiàn)方式所使用的示例搜索圖案布置的示意圖。

圖10A-圖10B是示出運動估計處理的詳細流程圖;

圖11是在用于提供運動20估計處理的操作中的示例系統(tǒng)的說明性示圖;

圖12是示例系統(tǒng)的說明性示圖;

圖13是另一示例系統(tǒng)的說明性示圖;以及

圖14示出全部根據(jù)本公開的至少一些實現(xiàn)方式所布置的另一示例設(shè)備。

具體實施方式

現(xiàn)在參照附圖描述一個或多個實現(xiàn)方式。雖然討論特定配置和布置,但是應(yīng)理解,這僅是為了說明目的而進行的。本領(lǐng)域技術(shù)人員應(yīng)理解,在不脫離說明書的精神和范圍的情況下,可以采用其它5配置和布置。對本領(lǐng)域技術(shù)人員顯而易見的是,也可以在除了在此所描述之外的各種其它系統(tǒng)和應(yīng)用中采用在此所描述的技術(shù)和/或布置。

雖然以下描述闡述了可以在諸如片上系統(tǒng)(SoC)架構(gòu)的架構(gòu)中體現(xiàn)的各個實現(xiàn)方式,但是在此所描述的技術(shù)和/或布置的實現(xiàn)方式不限于特定架構(gòu)和/或計算系統(tǒng),并且可以為了類似目的而通過任何架構(gòu)和/或計算系統(tǒng)來實現(xiàn)。例如,采用例如多個集成電路(IC)芯片和/或封裝的各種架構(gòu),和/或各種計算設(shè)備和/或消費者電子(CE)設(shè)備(例如機頂盒、智能電話等),可以實現(xiàn)在此所描述的技術(shù)和/或布置。此外,雖然以下描述可能闡述了大量具體細節(jié)(例如系統(tǒng)組件的邏輯實現(xiàn)方式、類型和相互關(guān)系、邏輯分區(qū)/集成選取等),但是可以在沒有這些具體細節(jié)的情況下實施所要求的主題。在其它實例中,為了不掩蓋在此所公開的內(nèi)容,可能沒有詳細地示出一些內(nèi)容,例如控制結(jié)構(gòu)和完整軟件指令序列。

可以在硬件、固件、軟件或其任何組合中實現(xiàn)在此所公開的內(nèi)容。在此所公開的內(nèi)容也可以實現(xiàn)為機器可讀介質(zhì)上所存儲的指令,這些指令可以由一個或多個25處理器讀取并執(zhí)行。計算機可讀介質(zhì)可以包括用于存儲或發(fā)送機器(例如計算設(shè)備)可讀形式的信息的任何介質(zhì)和/或機構(gòu)。例如,機器可讀介質(zhì)可以包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁盤存儲介質(zhì);光存儲介質(zhì);閃存設(shè)備;電、光、聲或其它形式的傳播信號(例如載波、紅外30信號、數(shù)字信號等)以及其它介質(zhì)。在另一形式中,非瞬時性物品(例如非瞬時性計算機可讀介質(zhì))可以與以上所提及的任何示例或其它示例一起使用,除了它不包括瞬時信號本身。它確實包括除了信號本身之外的、可以以“瞬時”方式臨時保存數(shù)據(jù)的那些元件(例如RAM等)。

說明書中對“一個實現(xiàn)方式”、“實現(xiàn)方式”、“示例實現(xiàn)方式”等的引用,指示所描述的實現(xiàn)方式可以包括特定5特征、結(jié)構(gòu)或特性,但是每一實現(xiàn)方式可以不一定包括該特定特征、結(jié)構(gòu)或特性。此外,這些短語不一定指代同一實現(xiàn)方式。此外,當(dāng)結(jié)合實現(xiàn)方式描述特定特征、結(jié)構(gòu)或特性時,應(yīng)理解,在本領(lǐng)域技術(shù)人員的知識內(nèi),能夠10結(jié)合其它實現(xiàn)方式實現(xiàn)該特征、結(jié)構(gòu)或特征,無論是否在此明確地描述。

以下所描述的系統(tǒng)、物品和方法涉及用于視頻編碼的運動估計。

如上所述,用于改進視頻編碼的一種方式是通過增加估計的運動的速度。在編碼器處的幀間預(yù)測期間,應(yīng)用運動估計以尋找15幀的區(qū)域(例如在當(dāng)前幀的一部分中正編碼的塊或子塊)與基準(zhǔn)幀中的類似塊之間的最佳匹配。運動矢量(MV)是正編碼的塊(當(dāng)前塊)和基準(zhǔn)幀中正檢查的塊的空間坐標(biāo)的差。塊的空間坐標(biāo)可以是塊的中心、塊的左上角、或塊上基于其它指定像素位置的點。20借助該處理,對運動矢量以及剛才提到的各塊之間的小差值進行編碼,而不是對整個幀的像素數(shù)據(jù)進行編碼。運動估計是以如下方式應(yīng)用的:尋找最靠近或最佳匹配(或最充分的匹配)以使匹配處理的代價最小化,并且在用于提供高質(zhì)量圖片壓縮的預(yù)測精度與壓縮視頻的25流送或傳輸速度的延遲和滯后的減小之間給予適當(dāng)平衡。代價通常被計算為當(dāng)前塊與基準(zhǔn)塊之間的失配的度量和用于對運動矢量進行編碼的比特量的組合。

執(zhí)行快速運動估計搜索是為了減小尋找最佳塊匹配并進而尋找最佳運動矢量所需的時間量,并且減少比特代價。30這是通過使用圖案將疊加在基準(zhǔn)幀上的搜索圖案布置來執(zhí)行的。每個圖案具有多個間隔開的候選匹配塊位置(MBL)點,使得并非每一塊位置將被檢查以確定其是否提供最佳匹配塊位置。很多圖案是正方形、菱形或繞著中心點延伸的其它形狀,并且搜索圖案布置可以具有帶不同形狀的不同圖案,和/或縮放為距5中心不同距離(稱為步長)的多個相同圖案。通常,使用對數(shù)布置,使得通過使用乘數(shù)(例如2)來設(shè)定布置中的圖案的尺度,來確定每個圖案(隨著其與中心更遠)的步長。

一種這樣的快速對數(shù)運動估計搜索圖案是測試區(qū)(TZ)搜索算法,其以小數(shù)量的迭代提供相對良好的匹配。TZ搜索一般由基于H.264或HEVC(H.265)編碼標(biāo)準(zhǔn)的視頻編碼器使用。TZ搜索使用兩輪對數(shù)搜索,其中,初始或第一階段搜索用于尋找第一最佳運動矢量。然后,在精細化階段中,就最佳匹配塊位置點周圍(在一些其它情況下,包括以其為中心)執(zhí)行搜索圖案,并且檢查精細化搜索圖案布置的圖案上的候選匹配塊位置點,以確定最終的最佳運動矢量。精細化搜索圖案布置中的圖案是通過從最靠近圖案布置的中心的圖案進行測試并且在搜索期間增加步長以向外移動遍歷圖案來檢查的。然而,對于TZ搜索,當(dāng)位置處于給定限制搜索范圍外或沒有被第二精細化輪次覆蓋時,很多可能的匹配位置沒有檢查到。當(dāng)最佳點(或匹配塊位置)距精細化搜索布置的中心相對遠時,該點周圍的精細化點沒有被檢查到。因此,可能錯過最佳匹配。

為了解決這些問題,目前所公開的實現(xiàn)方式使用如下搜索處理,其在對數(shù)25精細化期間將精細化搜索圖案布置的中心點移位到具有更好代價的候選匹配塊位置點,然后在不降低步長的情況下重復(fù)迭代。在檢查所有當(dāng)前圖案位置之后,并且當(dāng)找到更好的位置時,中心被移位。作為一種形式,對移位后的精細化搜索圖案布置的處理開始于具有與在移位之前包括最佳匹配塊位置點的步長相同的步長并且現(xiàn)在處于30移位后的布置的中心處的圖案。此外,一旦測試了該外部或最佳步長上的候選點,就減小步長,使得隨著處理繼續(xù),測試逐漸更靠近布置的中心的圖案。當(dāng)圖案并不具有比已經(jīng)找到的MBL點更好的MBL點時,降低步長。如果找到更好的點(或換言之,更好的運動矢量),則使中心移位。這種配置提供了任何可能位置被找到作為最佳匹配點的可能性,從而在具有快速或復(fù)雜運動的場景中進行編碼的同時提供顯著優(yōu)點。雖然中心點移位處理在此可能增加3-5個塊5匹配計算,但是這些計算并未將性能降低達大約1%以上。對于具有復(fù)雜或快速運動的視頻流,它還提供大約0.1dB和更大的峰值信噪比(PSNR)改進。

現(xiàn)在更詳細地進行描述并且同時參照圖1,用本公開的至少一些實現(xiàn)方式布置示例視頻編碼系統(tǒng)100,以執(zhí)行中心移位10運動估計。在各個實現(xiàn)方式中,視頻編碼系統(tǒng)100可以被配置為:根據(jù)一個或多個標(biāo)準(zhǔn)來承擔(dān)視頻編碼和/或?qū)崿F(xiàn)視頻編解碼器。此外,在各種形式中,視頻編碼系統(tǒng)100可以被實現(xiàn)為圖像處理器、視頻處理器和/或媒體處理器的一部分,并且承擔(dān)幀間預(yù)測、幀內(nèi)預(yù)測、預(yù)測編碼以及殘差預(yù)測。在各個實現(xiàn)方式中,系統(tǒng)100 15可以根據(jù)一個或多個標(biāo)準(zhǔn)或規(guī)范(例如H.264(MPEG-4)、H.265(高效率視頻編碼或HEVC)以及其它標(biāo)準(zhǔn))來承擔(dān)視頻壓縮和解壓和/或?qū)崿F(xiàn)視頻編解碼器。雖然在此可能描述了系統(tǒng)100和/或其它系統(tǒng)、方案或處理,但是本公開并不一定總是限于任何特定視頻編碼標(biāo)準(zhǔn)或規(guī)范或20其擴展。

如在此所使用的那樣,術(shù)語“譯碼器(coder)”可以指代編碼器和/或解碼器。類似地,如在此所使用的那樣,術(shù)語“譯碼(coding)”可以指代經(jīng)由編碼器進行的編碼和/或經(jīng)由解碼器進行的解碼。譯碼器、編碼器或解碼器可以具有編碼器和解碼器二者的組件。

在一些示例中,視頻編碼系統(tǒng)100可以包括為了簡明而在圖1中尚未25示出的附加項。例如,視頻編碼系統(tǒng)100可以包括處理器、射頻型(RF)收發(fā)機、分路器和/或復(fù)用器、顯示器和/或天線。此外,視頻編碼系統(tǒng)100可以包括例如揚聲器、麥克風(fēng)、加速計、存儲器、路由器、網(wǎng)絡(luò)接口邏輯等附加項。

對于示例視頻編碼系統(tǒng)100,該系統(tǒng)可以是編碼器,在這里,可以接收與視頻幀序列有關(guān)的數(shù)據(jù)形式的當(dāng)前30視頻信息,以便進行壓縮。系統(tǒng)100可以將每個幀分割為更小的更多可管理單元,然后將幀進行比較以計算預(yù)測。如果在原始塊與預(yù)測之間確定出差或殘差,則將該得到的殘差進行變換并量化,然后進行熵編碼并以比特流發(fā)送到解碼器或存儲件。為了執(zhí)行這些操作,系統(tǒng)100可以包括輸入圖片緩沖器(具有可選的圖片5重排器)102、預(yù)測單元分割器104、減法單元106、殘差分割器108、變換單元110、量化器112、熵編碼器114以及使不同單元通信和/或管理不同單元的速率失真優(yōu)化器(RDO)和/或速率控制器116??刂破?16管理編碼的很多方面,包括:基于速率失真或場景特性的對正確運動分割大小、正確編碼10分割大小的本地自適應(yīng)選擇、對預(yù)測基準(zhǔn)類型的最佳選取、對模式的最佳選擇以及在啟用比特率控制的情況下管理整體比特率。

量化器112的輸出也可以提供給設(shè)置在編碼器處的解碼環(huán)路150,以生成與在解碼器處將生成的相同的基準(zhǔn)或重構(gòu)塊、幀或其它單元。因此,解碼環(huán)路150使用逆量化和15逆變換單元118和120來重構(gòu)幀,并且使用殘差組裝器122、加法器124以及預(yù)測單元組裝器126來重構(gòu)每個幀內(nèi)所使用的單元。然后,解碼環(huán)路150提供濾波器128,以增加重構(gòu)圖像的質(zhì)量,從而更好地匹配對應(yīng)的原始幀。這可以包括解塊濾波器、采樣自適應(yīng)偏移(SAO)濾波器以及質(zhì)量恢復(fù)(QR)濾波器。解碼環(huán)路150也20可以具有解碼圖片緩沖器130,用于保存基準(zhǔn)幀。編碼器100還具有:運動估計模塊或單元132,其提供以下所提到的運動矢量;運動補償模塊134,其使用運動矢量;以及幀內(nèi)預(yù)測模塊136。運動補償模塊134和幀內(nèi)預(yù)測模塊136都可以將預(yù)測提供給選擇器138,其選擇用于特定塊的最佳預(yù)測模式。25如圖1所示,預(yù)測塊形式的選擇器138的預(yù)測輸出然后提供給減法單元106以生成殘差,并且在解碼環(huán)路中提供給加法器124以將預(yù)測與來自逆變換的殘差相加,從而重構(gòu)幀。在將塊提供給加法器124和減法器106之前,可以在預(yù)測模式分析器和選擇器的輸出處提供PU組裝器(未示出)。

更具體地說,像素數(shù)據(jù)幀形式的視頻數(shù)據(jù)可以被提供給輸入圖片緩沖器102。緩沖器102按輸入視頻序列順序保存幀,并且這些幀可以按它們需要被編碼的順序從緩沖器獲取。例如,后向基準(zhǔn)幀在以之作為基準(zhǔn)的幀之前被編碼,但是顯示在該幀之后。輸入圖片緩沖器也可以對幀分配類別(例如I幀(幀內(nèi)編碼)、P幀(幀間編碼、從先前基準(zhǔn)幀預(yù)測)和B幀(幀間編碼幀,其可以是從先前幀、隨后5幀或二者雙向預(yù)測的))。在每種情況下,整個幀可以被分類得相同,或者可以具有不同分類的片(slice)(因此,I幀可以僅包括I片,P幀可以包括I片和P片,依此類推)。在I片中,使用空間預(yù)測,并且在一種形式中,空間預(yù)測僅來自幀自身中的數(shù)據(jù)。在P片中,可以通過估計各幀之間的運動來進行時間(而非空間)預(yù)測。在B片中,并且對于HEVC,表示10(以下所解釋的)每分割單元(PU)兩個運動估計的兩個運動矢量可以用于時間預(yù)測或運動估計。換言之,例如,可以從相對于B片來自過去、未來或二者的幀上的片預(yù)測B片。此外,可以從關(guān)于顯示順序發(fā)生在過去或未來的多個圖片估計運動。在各個實現(xiàn)方式中,可以按與下述大小對應(yīng)的各個15編碼單元(CU)或PU等級來估計運動。對于較舊的標(biāo)準(zhǔn),宏塊或其它塊基礎(chǔ)可以是所使用的分割單元。

具體地,當(dāng)正使用HEVC標(biāo)準(zhǔn)時,預(yù)測分割器單元104可以將幀劃分為預(yù)測單元。該操作可以包括:使用編碼單元(CU)或大型編碼單元(LCU)。對于該標(biāo)準(zhǔn),可以由編碼20分割器通過劃分為編碼樹塊的一個或多個片(例如具有對應(yīng)色度采樣的64x64個亮度采樣),來對當(dāng)前幀進行分割,以便進行壓縮。每個編碼樹塊也可以按四叉樹方案劃分為編碼單元(CU)。此外,四叉樹上的每個葉子CU可以再次分離為4個CU或劃分為用于運動補償預(yù)測的分割單元(PU)。在根據(jù)本公開的各個實現(xiàn)方式中,CU可以具有各種大小25,包括但不限于64x 64、32x 32、16x 16以及8x 8,而對于2N x 2N CU,對應(yīng)的PU也可以具有各種大小,包括但不限于2N x 2N、2N x N、N x 2N、N x N、2N x 0.5N、2N x 1.5N、0.5N x 2N以及1.5N x 2N。然而,應(yīng)注意,前面僅為示例CU分割和PU分割形狀和大小,本公開不限于任何特定CU分割或PU分割形狀和/或大小。

如在此所使用的那樣,術(shù)語“塊”可以指代用于HEVC等的視頻數(shù)據(jù)的CU或PU,或者4x 4或8x 8或其它不一定矩形形狀的塊。通過一些替選,這可以包括:將塊看作針對H.264/AVC等的視頻或像素數(shù)據(jù)的宏塊的劃分,除非另行定義。

此外,在視頻編碼系統(tǒng)100中,劃分為LCU、CU和/或PU單元的當(dāng)前視頻幀可以被提供給運動估計單元或估計器132。系統(tǒng)100可以5按柵格或不同的掃描順序在圖像的指定單元中處理當(dāng)前幀。當(dāng)視頻編碼系統(tǒng)100在幀間預(yù)測模式下操作時,運動估計單元132可以響應(yīng)于當(dāng)前視頻幀和基準(zhǔn)視頻幀而生成運動矢量。在此所描述的基于塊的搜索方法可以用于將當(dāng)前幀的塊匹配于基準(zhǔn)幀上的候選塊,并且由此確定關(guān)于預(yù)測塊將編碼10的運動矢量。然后,運動補償模塊134可以使用基準(zhǔn)視頻幀和運動估計模塊132所提供的運動矢量來生成預(yù)測幀。

然后,可以在減法器106處從當(dāng)前塊減去預(yù)測塊,并且將得到的殘差提供給殘差編碼分割器108。編碼分割器108 15可以將殘差分割為一個或多個塊,并且作為用于HEVC的一種形式,將CU進一步劃分為變換單元(TU),以用于變換或進一步壓縮,并且可以將該結(jié)果提供給變換模塊110。使用例如可變塊大小離散余弦變換(VBS DCT)和/或4x 4離散正弦變換(DST)將有關(guān)的塊或單元變換為系數(shù)。然后,使用20控制器116所設(shè)定的量化參數(shù)(Qp),量化器112對系數(shù)使用有損重新采樣或量化??梢杂伸鼐幋a模塊114對所生成的量化后的變換系數(shù)集合進行重排序和熵編碼,以生成視頻編碼系統(tǒng)100所提供的壓縮比特流(例如網(wǎng)絡(luò)抽象層(NAL)比特流)的一部分。在各個實現(xiàn)方式中,除了用于對每個塊進行解碼的輔助信息(例如預(yù)測模式、量化參數(shù)、運動矢量信息、分割信息、環(huán)路內(nèi)濾波信息等)之外,視頻編碼系統(tǒng)100所提供的比特流可以還包括熵編碼的25系數(shù),并且可以提供給在此所描述的其它系統(tǒng)和/或設(shè)備,以用于傳輸或存儲。

量化模塊112的輸出還可以提供給解碼環(huán)路中的解量化單元30118和逆變換模塊120。解量化單元118和逆變換模塊120可以實現(xiàn)變換單元110和量化模塊112所進行的操作的逆。然后,殘差組裝器單元122可以從TU重構(gòu)殘差CU。然后,殘差組裝器單元122的輸出可以在加法器124處與預(yù)測幀組合,以生成粗略的重構(gòu)塊。然后,預(yù)測單元(LCU)組裝器126從CU重構(gòu)LCU,以完成幀重構(gòu)。

然后,通過使幀經(jīng)過濾波器128來改進重構(gòu)幀的質(zhì)量。濾波后的幀然后被提供給解碼圖片緩沖器130,在這里,這些幀可以用作基準(zhǔn)幀來構(gòu)造對應(yīng)的預(yù)測,以用于在此所解釋的運動估計和補償。當(dāng)視頻編碼系統(tǒng)100在幀內(nèi)預(yù)測模式下操作時,幀內(nèi)預(yù)測模塊136可以使用10當(dāng)前幀的重構(gòu)像素來進行幀內(nèi)預(yù)測方案,在此將不更詳細地描述。

參照圖2,系統(tǒng)200可以具有或可以是解碼器,并且可以接收比特流202形式的編碼視頻數(shù)據(jù)。系統(tǒng)200可以通過熵解碼模塊204來處理比特流,以提取量化后的殘差系數(shù)以及運動15矢量、預(yù)測模式、分區(qū)、量化參數(shù)、濾波信息等。然后,系統(tǒng)200可以使用逆量化模塊204和逆變換模塊206來重構(gòu)殘差像素數(shù)據(jù)。然后,系統(tǒng)200可以使用殘差編碼組裝器208、用于將殘差和預(yù)測塊相加的加法器210、以及預(yù)測單元(LCU)組裝器212。系統(tǒng)200還可以使用解碼環(huán)路20來對得到的數(shù)據(jù)進行解碼,取決于比特流202的句法中所指示的并且經(jīng)由預(yù)測模式開關(guān)或選擇器(其也可以稱為句法控制模塊)222實現(xiàn)的編碼模式,解碼環(huán)路20采用包括幀內(nèi)預(yù)測模塊220的第一路徑或者包括一個或多個濾波器214的第二路徑幀間預(yù)測解碼路徑。第二路徑可以具有解碼圖片緩沖器216,用于存儲重構(gòu)且濾波的幀,以便用作基準(zhǔn)幀,并且25發(fā)送出重構(gòu)幀,以便顯示或存儲,以用于稍后瀏覽或另一應(yīng)用或設(shè)備。運動補償預(yù)測器218利用來自解碼圖片緩沖器216的重構(gòu)幀以及來自比特流的運動矢量,來重構(gòu)預(yù)測塊。因此,由于已經(jīng)提供了運動矢量,因此解碼器無需其自身的運動估計單元,但是如果解碼器實際上同樣包括編碼30能力,則其仍然可以具有運動估計單元。預(yù)測模式選擇器222為每個塊設(shè)定正確模式,并且在將塊提供給加法器210之前,可以在選擇器222的輸出處設(shè)置PU組裝器(未示出)。除了以下詳細描述的運動估計單元132之外,用于系統(tǒng)100和200的在此所描述的模塊的功能為本領(lǐng)域良好理解的,并且在此將不再更詳細地描述。

對于一個示例實現(xiàn)方式,使用多個輪次并且具有中心移位的快速對數(shù)運動估計處理描述如下。

參照圖3,流程圖示出根據(jù)本公開的至少一些實現(xiàn)方式所布置的示例處理300。通常,處理300可以提供計算機實現(xiàn)的用于上述視頻編碼的運動估計的方法。在所示實現(xiàn)方式中,處理300可以包括一個或多個操作、功能或動作,如偶數(shù)編號的操作302至312中的一個或多個操作所示出的。通過非限定性示例的10方式,處理300將在此參照關(guān)于以上圖1-圖2所討論的操作進行描述,并且可以關(guān)于以下所討論的示例系統(tǒng)100、200或1200進行討論。

處理300可以包括“接收像素數(shù)據(jù)的多個幀”302,并且具體地,在解碼環(huán)路內(nèi)的從緩沖器130接收重構(gòu)且15濾波的基準(zhǔn)幀以及待編碼的當(dāng)前幀的數(shù)據(jù)的運動估計單元處。

處理300還可以包括“進行搜索,以通過尋找在基準(zhǔn)幀上的相對于當(dāng)前幀上的對應(yīng)塊定位的像素數(shù)據(jù)的最佳匹配塊,來尋找最佳運動矢量”304。一旦確定最佳匹配,處理300就可以包括:使用匹配塊的運動矢量來形成預(yù)測塊。為了完成該操作,用于運動估計的搜索20操作可以包括“在基準(zhǔn)幀處確定初始搜索圖案布置的多個候選匹配塊位置點中的最佳匹配塊位置(MBL)點”306。具體地說,可以通過使用初始運動矢量將初始搜索圖案布置疊加在基準(zhǔn)幀上,如以下所討論的。初始搜索圖案布置具有帶特定形狀和特定數(shù)量的25候選匹配塊位置點(在此又簡稱為位置)的圖案,這些圖案被檢查以尋找與待編碼的當(dāng)前幀上的塊對應(yīng)的最佳匹配塊位置點。因此,每個候選匹配塊位置點表示具有用于運動矢量的坐標(biāo)的塊位置。例如,所述點可以是塊的中心、左上角或其它部分。一旦在初始搜索30圖案布置上確定最佳MBL點,就可以開始精細化階段。

然后,處理300可以包括“將精細化搜索圖案布置定位在最佳匹配塊位置點處”308。對于一個示例,該操作包括:將精細化搜索圖案布置的中心定位在最佳匹配塊位置點處。借助該圖案布置,所檢查的每個圖案可以圍繞精細化搜索5圖案布置的中心而延伸,并且在一個示例中,各圖案的形狀可以是菱形、正方形或其修改或其它形狀,并且其中,可以在距中心不同的距離或步長(或縮放為多個步長)處放置圖案,如下所述。

處理300還可以包括“測試精細化搜索圖案布置的候選匹配塊位置點,以確定新的最佳匹配塊位置點”10 310。如以下詳細解釋的那樣,候選MBL點逐圖案地進行測試,直到在圖案之一上并且在步長之一處找到更好的MBL點。

然后,處理300可以包括“將精細化搜索圖案布置的中心移位到所述新的最佳匹配塊位置點,而不檢查精細化搜索圖案布置中所包括的所有候選匹配塊位置點”312。作為15一個示例,該操作包括:將精細化搜索圖案布置的中心移位到所述新的最佳匹配塊位置點,而不檢查精細化搜索圖案布置中所包括的較小步長處的圖案的所有候選匹配塊位置點。特別地,一旦在基準(zhǔn)幀上找到新的最佳MBL點,精細化搜索圖案布置的中心移位到新的找到的MBL點。作為20一種方法,由于該處理逐圖案地檢查精細化搜索圖案布置的候選MBL點,因此每當(dāng)該處理發(fā)現(xiàn)圖案已經(jīng)找到新的最佳MBL點時,就可以發(fā)生這個中心移位。作為一種方法,中心移位發(fā)生在檢查了在具有新的找到的最佳MBL點的步長處的圖案上的所有候選MBL點之后。然后,下一步,精細化搜索圖案布置移位,使得圖案25在新的移位后的中心周圍延伸。

作為一個示例方面,測試移位后的精細化搜索布置上的候選MBL點可以開始于具有與在最近的中心移位之前找到更好的MBL點的圖案的步長相同的步長(距移位后的中心的距離)的圖案。然后,一旦圖案的測試完成,并且沒有找到新的最佳MBL點,則30測試?yán)^續(xù)于減小步長至更靠近精細化搜索圖案布置的中心的圖案,以逐圖案地測試候選MBL點。可以對于精細化布置圖案中的每一個圖案重復(fù)該操作。以下描述更多細節(jié)。

現(xiàn)在參照圖4-圖5,提供示例搜索圖案布置以解釋該處理。這里的處理可以是對測試區(qū)(TZ)搜索處理的修改,因為其具有初始階段和精細化階段二者。運動估計搜索處理可以包括通過使用5初始運動矢量來定位初始搜索圖案布置的中心而疊加在基準(zhǔn)幀上的初始搜索圖案布置400。初始搜索圖案布置400可以包括多個圖案402,其中,在中心點406周圍延伸的每圈(ring)候選匹配塊位置(MBL)點404形成圖案402之一。通過將候選MBL點處的像素數(shù)據(jù)的塊(或其它所定義的區(qū)域)與當(dāng)前幀上的像素數(shù)據(jù)的當(dāng)前10塊進行比較來測試或檢查各候選MBL點。通過使用算法(例如SAD、MSE或其它算法)以及確定編碼塊的比特的總代價來確定匹配,如下所述。

一旦確定初始最佳MBL點408,就執(zhí)行精細化階段,并且精細化搜索圖案布置500的中心位于來自初始階段的最佳MBL點408的位置。精細化搜索圖案布置可以與初始搜索圖案布置相同或不同。執(zhí)行對精細化搜索圖案布置的圖案502的搜索,直到找到新的最佳MBL點504。中心408周圍的每個圈(例如正方形或菱形形狀)可以看作圖案502,并且示出了多個可能的可以用于布置的圖案。在常規(guī)的運動估計搜索處理中,搜索開始于最靠近精細化搜索圖案布置的中心的圖案,或具有最小步長(步長=1)的圖案。通過增加步長來逐圖案地搜索圖案,并且在一種形式中,檢查布置500的所有圖案,然后確定哪個候選MBL點是新的最佳MBL點。然后,搜索可以結(jié)束于此,并且可以基于新的最佳MBL點504的坐標(biāo)得出運動矢量。

參照圖6-圖9以及圖6A,為了描述改進的中心移位搜索處理所提供的附加特征,搜索圖案布置600可以用在初始搜索階段中,并且疊加在基準(zhǔn)幀的像素位置的柵格上,在這里,所示的每個點處于該柵格的頂點處,并且位于像素位置處。與初始搜索30圖案布置400一樣,第一階段(或初始)搜索圖案布置600基于初始運動矢量而定位,執(zhí)行搜索,這可以開始于與中心最靠近的圖案,并且通過增加步長逐圖案地向外移動,以測試布置中的所有圖案,在此期間,確定最佳匹配塊位置(MBL)點602??梢允褂靡粋€示例搜索圖案布置604(圖6A),其中,c是設(shè)置在基準(zhǔn)幀上的像素位置處的中心點,并且取決于初始運動矢量而定位。注意,搜索圖案布置604并非是按比例繪制的,并且僅提供以解釋5點和圖案的一般位置。在目前情況下,每個圖案在中心點c周圍延伸,并且具有特定形狀。首先搜索圖案A(按步長1),并且在該示例中,圖案A包括小的四點菱形的形狀中的候選MBL點1-0至1-3(其中,0可以看作圖案中的第一點)??梢园慈魏雾樞驕y試候選MBL點,并且其可以從圖案到圖案是相同的或不同的。其余10步長布置在對數(shù)圖案(幾何級數(shù))中,并且隨著圖案定位離開中心c而乘以二。步長2、4、8和16全都具有相同的八點菱形圖案B,并且根據(jù)它們的步長來編號。因此,步長2的圖案包括點2-0至2-7,并且步長16的圖案包括點16-0至16-7。步長32的圖案C處的候選MBL點可以按具有切割角或15附加中間點的菱形形狀或者不均勻八邊形狀而成形,其中,對角邊比水平邊和垂直邊長。對于步長32,在每個對角邊上可以存在三個候選MBL點,總共十二個點(32-0至32-11)。在偽碼中,歸一化的圖案可以表示如下:

const int patternA[4][2]={{0,-1},{1,0},{0,1},{-1,0}};//small diamond

const float PatternB[8][2]={{-0.5,-0.5},{0,-1},{0.5,-0.5},{1,0},{0.5,0.5},{0,1},{-0.5,0.5},{-1,0}};//diamond

const float PatternC[12][2]={{-0.75,-0.25},{-0.5,-0.5},{-0.25,-0.75},{0.25,-0.75},{0.5,-0.5},{0.75,-0.25},{0.75,0.25},{0.5,0.5},{0.25,0.75},{-0.25,0.75},{-0.5,0.5},{-0.75,0.25}};//rounded diamond

其中,pattern[I][J]指代圖案上的總共(I)數(shù)量的候選MBL點以及每個點的總共(J)數(shù)量的坐標(biāo)。到中心的幾何距離并非總是與步長值精確相同。此外,從該代碼中可以清楚地看出,圖案B的候選MBL點的坐標(biāo)乘以步長(作為一個示例),以獲得圖6A上的步長2、4、8和16處的圖案,并且類似地,對于步長32,圖案C的坐標(biāo)乘以32 30。應(yīng)注意,圖案布置可以具有很多變形,并且并非總是受限于在此所使用的示例圖案布置。作為一種形式,除了最大步長是在精細化階段中的先前布置的最佳步長并且最小步長可以大于1之外,如下所述并且如圖7-圖9所示,在初始階段和精細化階段中都使用相同的搜索布置圖案。

參照圖7,第一精細化搜索圖案布置700使其中心位于5來自初始階段的最佳MBL點602。來自初始搜索布置的最佳步長(步長=8)現(xiàn)在設(shè)定為用于精細化搜索圖案布置700的最大步長。然后,搜索將繼續(xù)于:首先在步長8處的圖案710尋找新的最佳MBL點。如果沒有找到,則現(xiàn)在減小步長,這里減小到步長4,以搜索在步長4處的圖案706(在這里,找到示例新的最佳MBL點708)。如果找到新的最佳MBL點,則精細化10搜索布置中心移位到該新的最佳MBL點,并且搜索再次開始于不同的中心處,如精細化圖案布置800(圖8)所示。在具有步長2的較小圖案704和具有步長1的較小圖案702處進行的搜索在該示例中可以省略,但是在圖8上仍然示為可以用于搜索圖案布置800的可能圖案。

該處理在整個所有精細化迭代中可以保持或不保持啟用15的其它選項能夠被預(yù)期。一種替選可以包括:尋找第一階段圖案布置或第一精細化階段圖案布置的圖案上的多個最佳位置(例如兩個或三個,或者其它固定數(shù)量),并且精細化處理可以單獨地繼續(xù)于每個最佳位置,并且得到的每個位置的運動矢量可以進行比較或被組合為單個最佳運動矢量。很多變形能夠被20預(yù)期。

現(xiàn)在,搜索于是再次開始于相對于新的移位的中心點在步長4處,其為與找到新的最佳MBL點708時相同的步長值。搜索通過減小步長值而逐步長地繼續(xù)。因此,步長4(圖案801)首先被檢查,并且在該示例中,如果沿特定步長的圖案沒有找到新的最佳MBL點,則減小25步長,并且在此減小為接著被檢查的步長2??招膱A形(圖8)是來自先前圖案布置的候選MBL點。在該示例中,找到新的最佳MBL點802。由于找到新的最佳MBL點,因此中心再次移位到新的最佳MBL點802,并且定位新的精細化布置900,如圖9所示,并且由于在最近的中心移位之前在步長=2處找到新的最佳MBL點802,因此在中心移位之后,30新的搜索在步長=2處(圖案901)開始。如下所述,該操作可以繼續(xù),直到步長=1,或者可能存在其它限制,例如,將中心移位固定次數(shù)等,如下所述。在圖9上的示例中,沒有找到更好的MBL。運動估計完成,并且點802是最佳預(yù)測位置,即處理的輸出。

現(xiàn)在參照圖10A-圖10B,根據(jù)本公開的至少一些實現(xiàn)方式來布置詳細示例運動估計處理1000。通常,5處理1000可以提供另一計算機實現(xiàn)的用于視頻編碼的運動估計的方法。在所示實現(xiàn)方式中,處理1000可以包括一個或多個操作、功能或動作,如偶數(shù)編號的操作1002至1040中的一個或多個操作所示。通過非限定性示例的方式,處理1000將在此參照關(guān)于圖1-圖9和圖12所討論的操作進行描述,并且可以參照10以下所討論的10示例系統(tǒng)100和/或1200進行討論。

處理1000可以開始于:在初始階段或第一階段中設(shè)定或初始化(1002)一些初始變量。該操作可以包括:將BestMV(最佳MV)設(shè)定為初始運動矢量MV0。用于生成初始運動矢量的各種替選包括:使用預(yù)測器集合,例如鄰近MV(其指代使用與15當(dāng)前匹配的塊相鄰的塊上的先前所確定的MV)、多個鄰近MV的某種組合或中位數(shù)、或者來自先前幀中的并置塊的MV。作為一種方法,執(zhí)行這些替選中的多于一個替選,并且使用最佳MV或最佳MV的組合作為初始運動矢量。

一旦確定初始搜索圖案布置的中心將位于的地方,就測試放置在中心處的塊的20代價,并且以該Cost(MV0)來初始化當(dāng)前BestCost(最佳代價)。運動估計中的代價通常被計算為當(dāng)前幀上的當(dāng)前塊與基準(zhǔn)塊之間的失配的度量和用于對運動矢量進行編碼的比特量的組合。

此外,對于該操作,步長設(shè)定為1,其中,步長是用于搜索圖案的標(biāo)度(scale),并且對于使用對數(shù)標(biāo)度的25初始階段,步長將按2增加,如上所述。計數(shù)器i也被設(shè)定為零,其中,計數(shù)器是單個圖案上的候選MBL點的計數(shù)。

然后,處理1000可以包括:對于當(dāng)前Step(步長),將圖案長度設(shè)定(1004)為Max i,并且初始地,步長為1。對于示例初始搜索圖案布置604的步長1,在30步長1處的圖案A具有四個點(1-0至1-3),所以圖案長度或Max i=4。

然后,處理1000可以包括:確定(1006)當(dāng)前運動矢量MV,其中:

MV=MV0+Step*pattern[i] (1)

其包括:對于當(dāng)前Step和圖案點,確定從當(dāng)前塊到基準(zhǔn)幀上的匹配塊位置的目前運動矢量或偏移。

然后,該操作包括:確定使用候選MBL點i處的塊的代價,使得Cost=Cost(MV)。如上所述,代價可以包括匹配塊(當(dāng)前幀上的當(dāng)前塊與基準(zhǔn)幀上的預(yù)測塊)之間的差以及用于對當(dāng)前運動矢量進行編碼的比特代價,然后i遞增(1008)。

然后,處理1000可以包括:比較(1010)Cost與BestCost。如果Cost小于BestCost,則執(zhí)行新的分配操作(1012),使得用Cost、運動矢量(MV)和Step的當(dāng)前值來更新BestCost、BestMV和BestStep。如果Cost大于BestCost,則跳過這些分配操作,并且處理繼續(xù)于:匹配同一步長上的15同一圖案上的下一位置i處的塊。這形成循環(huán),在i不大于圖案長度時重復(fù)該循環(huán)(1014)。在此情況下,該處理循環(huán)返回以確定在目前步長的目前圖案上的新位置i處的MV和Cost,并且循環(huán)繼續(xù),直到i大于圖案長度,使得該處理針對同一步長的同一圖案中的每個候選MBL點i進行循環(huán)。

在完成內(nèi)部圖案循環(huán)之后,檢查(1016)步長,以確定是否已經(jīng)達到MaxStep(最大步長)。在該示例中,MaxStep是32,并且可以以不同方式進行設(shè)定,這取決于期望的搜索圖案布置。如果目前Step小于MaxStep,則將目前Step值乘以2(對于對數(shù)布置),并且測試與搜索圖案25布置的中心更遠的下一圖案,并且i重置回到零,以重新開始候選MBL點計數(shù)(1018)。然后,處理循環(huán)返回以將圖案長度重置為新Step的圖案長度(在當(dāng)前示例中,對于Step=2,圖案是圖案B,并且Max i=8)。然后,處理1000將重復(fù)圖案循環(huán),以將在Step*pattern[i]的每個候選MBL點處的塊與當(dāng)前塊進行比較。

另一方面,如果正檢查的Step大于或等于目前30MaxStep,則已經(jīng)檢查了初始搜索圖案布置的所有步長,用于初始搜索圖案布置的BestCost、BestMV和BestStep,進而是最佳匹配塊位置點已經(jīng)被確定,并且處理移動到精細化階段。

在精細化階段中,精細化搜索圖案布置中心被設(shè)定為初始搜索圖案布置的最佳5匹配塊位置點。這可能意味著將精細化搜索圖案布置的中心點移動或疊加到來自初始搜索圖案布置的最佳MBL點。如上所述,在該示例中,除了用于精細化搜索圖案布置的最大步長與在初始搜索圖案布置中找到最佳10MBL點的步長相同之外,初始精細化搜索圖案布置和第一精細化搜索圖案布置可以是相同的。

因此,為了設(shè)置(1020)精細化階段,處理1000包括:將MV0設(shè)定為來自初始階段的得到的BsetMV,將Step設(shè)定為來自初始階段的BestStep(并且現(xiàn)在是用于精細化搜索圖案布置的最大步長),設(shè)定i=0以重新開始待檢查的候選MBL點的計數(shù),并且現(xiàn)在將needshift設(shè)定為0,其中0 15將表示無中心移位,而1表示需要中心移位。

然后,處理1000可以包括:對于Step處的圖案設(shè)定(1022)圖案長度(Max i)。通過該示例(圖6-圖7),對于Step=8(圖案B),圖案長度同樣=8,如以上編碼示出。然后,處理類似地繼續(xù)于初始階段,包括:通過以上公式(1)并且通過確定使用該20MV的Cost來確定(1024)MV。處理1000還包括:遞增i(1026),并且比較(1028)Cost和BestCost。

如果Cost小于BestCost,則新的最佳值被設(shè)定(1030)為目前值(BestCost=Cost,BestMV=MV)。此外,由于在目前Step處的目前圖案上找到了找到了新的BestMV,并且進而找到了新的最佳MBL點,因此,這導(dǎo)致25精細化搜索圖案布置中心移位到這個新點。因此,needshift現(xiàn)在設(shè)定為1。

如果沒有找到新的BestCost(Cost等于或大于BestCost),則確定(1032)i是否大于目前Step處的圖案長度。如果否,則處理循環(huán)返回,以關(guān)于新的i值而確定MV。該循環(huán)保持重復(fù),直到已經(jīng)測試了在單個步長處的圖案上的所有候選MBL點i。一旦i大于30圖案長度,就確定(1034)是否需要中心移位(如果關(guān)于當(dāng)前圖案找到了更好的MBL,則needshift是yes或1)。如果找到了新的BestCost(并且進而找到了新的最佳MBL點),并且因此,精細化搜索圖案布置的中心將被移位,則MV0被設(shè)定(1036)為BestMV,從而等效地將精細化搜索圖案布置的中心移位到先前新的最佳MBL點,needshift重置為0,并且i重置為5 0。然后,處理循環(huán)返回,以設(shè)定圖案長度并確定目前MV等。該循環(huán)發(fā)生,以重新開始測試新中心處的相同Step值處的圖案。因此,如其它地方解釋的那樣,當(dāng)在步長8處找到了先前的最佳MBL點時,于是在中心移位之后,搜索也將按步長8開始,如圖6-圖7所示。當(dāng)中心移位時,對于第一圖案循環(huán),不存在步長的降低。

如果無需中心移位,或者換言之,如果在當(dāng)前步長下的圖案上沒有找到新的最佳MBL點,則減小步長,以使用具有更小步長的下一圖案來測試更靠近的位置。因此,處理1000可以包括:確定(1038)Step是否大于1。如果是,則Step除以(1040)二(當(dāng)使用對數(shù)布置時),以獲得減小的新Step值,i重置為零,以重新開始新步長的圖案的候選MBL點15的計數(shù),并且處理循環(huán)返回,以設(shè)定用于將要被測試的減小的新步長的圖案長度。然后,執(zhí)行用于檢查新步長處的所有候選MBL點的循環(huán)。

作為一種方法,在Step大于1時,重復(fù)精細化處理(1038)。一旦Step=1,就確定最終BestMV和BestCost,并且BestMV是該搜索處理找到的20最終運動矢量。

可以應(yīng)用各種約束來例如限制中心能夠被移位的次數(shù),以限制運動估計的持續(xù)時間或限制運動矢量長度。因此,中心移位的次數(shù)可以是固定次數(shù),可以與運動矢量長度的可允許范圍或值關(guān)聯(lián),和/或可以是用于檢查精細化搜索圖案布置的持續(xù)時間。

將最大步長設(shè)定在BestStep,然后隨著測試圖案繼續(xù)而減小Step,這被認為是非常高效的。如果處理在步長1開始精細化階段,則可以快速地找到局部最小值(BestCost),但是當(dāng)最佳MBL點處于較大Step時,將需要進一步的精細化,即,使用最小步長從最靠近的位置到更遠的位置進行檢查。因此,與之30比較,本處理更有可能是單輪精細化。

本處理增加找到理想(或比傳統(tǒng)方法更好)的最終最佳MBL點的機會。如果從第一階段獲得的最終最佳點位于中心或靠近中心(步長1或2),則在傳統(tǒng)方法和所提出的方法方面可能不存在差異。然而,如果最終點更遠離中心(在較大步長處),則5在此所描述的中心移位處理具有大得多的機會達到理想最佳MBL點,因為它測試在較大步長處找到的當(dāng)前最佳點周圍的更多位置。此外,算法將搜索移動到具有大步長的遠離位置,由此使得這種ME性能是有效的。

用于移位中心的偽碼可以如下:

10//first pass is not changed

for(step=1;step<=maxstep;step*=2){//pattern arrangement loop

cost=CheckDiamond(step,centerPoint,&bestDiamondPoint);//pattern loop

if(cost<bestCost){

bestCost=cost;

bestStep=step;

bestPoint=bestDiamondPoint;

}

}

//second pass

centerPoint=bestPoint;

for(step=bestStep/2;step>=1;step/=2){//pattern arrangement loop

cost=CheckDiamond(step,centerPoint,&bestDiamondPoint);//pattern loop

if(cost<bestCost){

bestCost=cost;

bestPoint=bestDiamondPoint;

//Improving code:

centerPoint=bestPoint;//shift the center

step*=2;//to repeat with the same step

//End of improving code.

}

}

作為其它替選,雖然本處理使用完整像素搜索,但是在各鄰近完整像素之間某處的非常有限的范圍內(nèi)可以使用分數(shù)像素搜索。在此情況下,可以使用基于柵格法的搜索。雖然當(dāng)在第一階段中找到的最佳MV長,即BestStep大時,TZ搜索可以改變?yōu)闁鸥袼阉鳎菫榱?尋找更好的MV,其降低了性能。所提出的方法提供更好的結(jié)果,并且允許以與完全搜索相同的質(zhì)量但快得多地尋找良好MV。

在又一替選中,并非使搜索基于在移位中心之前的Step,而是處理可以基于在移位中心之前測試的搜索圖案布置的另一區(qū)段。其可以是搜索圖案布置的幾何(例如四分之一或特定連續(xù)10)區(qū)域或一部分,或者可以徑向地或線性地而非逐步長地檢查候選MBL點,等。在檢查每個所定義的區(qū)域或區(qū)段之后,中心可以移位。以此方式,在一步長處的圖案可以僅看作在移位搜索圖案布置的中心之前檢查的該布置的一種可能類型的區(qū)段。作為又一替換,在找到15新的最佳MBL點之后,但是在測試另一候選MBL點之前,或者至少在測試圖案上的所有點之前,中心可以移位,而非等待測試在步長處的整個區(qū)段或圖案。

現(xiàn)在參照圖11,系統(tǒng)1100可以用于操作中所示的并且根據(jù)本公開的至少一些實現(xiàn)方式所布置的示例中心移位的塊搜索運動估計處理1100。在所示實現(xiàn)方式中,處理20 1100可以包括一個或多個操作、功能或動作,如偶數(shù)編號并且交替地或以任何組合使用的一個或多個動作1102至1132中的一個或多個動作所示。通過非限定性示例的方式,在此將參照關(guān)于任何在此所描述的實現(xiàn)方式所討論的操作來描述處理1100。

在所示實現(xiàn)方式中,系統(tǒng)1200可以包括處理單元1120,具有25邏輯單元或邏輯電路或模塊1250等和/或其組合。對于一個示例,邏輯電路或模塊1250可以包括具有運動估計單元1252的視頻編碼器100,并且可選地包括視頻解碼器200。雖然圖12所示的系統(tǒng)1200可以包括與特定模塊關(guān)聯(lián)的一組特定的操作或動作,但是這些操作或動作可以關(guān)聯(lián)于與在此所示的特定30模塊不同的模塊。

處理1100可以包括“獲得原始幀和重構(gòu)幀的視頻數(shù)據(jù)”1102,其中,系統(tǒng),或者具體地說,編碼器處的運動估計單元可以獲得對重構(gòu)幀的像素數(shù)據(jù)的存取??梢詮腞AM或ROM,或者從系統(tǒng)5 1200或1300上所描述的另一永久性或臨時性存儲器、存儲器驅(qū)動器或庫,或者從圖像捕獲設(shè)備獲得或讀取數(shù)據(jù)。存取可以是連續(xù)存取,用于例如分析正在進行的視頻流。然后,處理1100可以包括“獲得重構(gòu)幀的當(dāng)前幀和基準(zhǔn)幀數(shù)據(jù)”1104,使得待編碼的塊可以在運動估計搜索期間匹配于基準(zhǔn)塊。

處理1100可以包括“執(zhí)行初始階段,以將當(dāng)前10幀上的塊與基準(zhǔn)幀上的候選匹配塊位置點處的候選塊進行匹配,以獲得最佳運動矢量”1106,并且具體地說,以形成初始最佳運動矢量。該操作可以包括:使用具有在布置的中心點周圍延伸的多個圖案的初始搜索圖案布置。搜索繼續(xù)于:逐圖案地測試候選匹配塊位置,并且作為一種形式,開始于與中心最靠近的圖案(步長1)15,并且向外增加圖案(或步長),直到達到最外層的圖案(或在最大步長或標(biāo)度處的圖案)。在此作為示例,最大步長=32(圖6A)。

處理1100可以包括“通過將精細化搜索圖案布置的中心放置在最佳運動矢量所指示的基準(zhǔn)幀上的最佳匹配塊位置點處,來執(zhí)行精細化階段”1108。如在此所解釋的那樣,20精細化搜索圖案的中心點被放置在來自先前搜索的且在基準(zhǔn)幀上的最佳MBL點的像素位置處。因此,當(dāng)前或新的精細化搜索圖案圍繞該新的中心點而疊加在基準(zhǔn)幀上。

處理1100可以包括“通過以與具有最佳匹配25塊位置點步長值相同的步長處的圖案開始,來開始測試精細化搜索圖案布置的點”1110。如以上所解釋的那樣,例如,如果具有最佳MBL點的步長是步長=8,則無論是在初始階段還是在先前的精細化搜索期間找到該點,新的精細化搜索圖案布置處的候選MBL點的測試都同樣開始于步長=8。

然后,處理1100可以包括“當(dāng)對具有新的最佳匹配塊位置點的圖案的測試完成時,將精細化搜索的中心移位到新的最佳30匹配塊位置點”1112。因此,測試?yán)^續(xù)遍歷圖案,并且在將精細化搜索圖案布置移位到新的像素位置處的新的中心之前,整個圖案的測試完成(圖案上的所有候選MBL點均被測試)。其它選項包括:一旦找到新的所找到的最佳MBL點,就移位精細化搜索圖案布置,而無需完成對5圖案上的所有點的測試。在一些情況下,可能需要測試少于所有點的最小數(shù)量的點,作為其它選項,一旦找到新的最佳點,中心就移位。能夠預(yù)期很多變形。

處理1100可以繼續(xù)于“當(dāng)在當(dāng)前圖案上沒有找到新的最佳匹配塊位置點時,測試具有更低步長值的下一圖案”1114。由于在精細化搜索圖案布置上步長將10減小,并且不會增加,因此設(shè)定與該圖案的先前步長相同的步長來首先進行搜索可以看作是為該新的或移位的精細化搜索圖案布置設(shè)定最大步長大小。例如,如處理1000所示,當(dāng)15使用對數(shù)圖案布置時,可以通過將步長值除以在初始階段中用于增加步長值的同一乘數(shù),來在編碼中執(zhí)行該操作。

然后,處理1100也可以循環(huán)到“重復(fù)精細化搜索,直到步長等于1。確定用于當(dāng)前塊的最終最佳匹配塊位置點和最終最佳矢量”1116。因此,處理實際上對于每個圖案都循環(huán),以測試該圖案中的所有候選MBL點,然后循環(huán)以測試具有比20布置中的當(dāng)前圖案小的步長的圖案,直到找到新的最佳MBL點,并且布置移位。在精細化階段中,當(dāng)如上所述減小步長時,如果對可允許的中心移位的數(shù)量不存在其它限制,則一旦步長=1,搜索就可以完成,如上所述。

然后,處理1100可以包括“使用通過使用最終最佳匹配塊位置點所生成的最終最佳運動25矢量來生成重構(gòu)塊”1117。

然后,處理1100可以包括“生成并發(fā)送具有編碼數(shù)據(jù)的比特流”1118,包括:發(fā)送幀數(shù)據(jù)、殘差數(shù)據(jù)以及運動矢量數(shù)據(jù)。然后可以提供解碼器200,以“對幀數(shù)據(jù)、殘差以及運動矢量進行解碼”1120,“使用運動補償以通過使用運動矢量來構(gòu)造預(yù)測塊”1124,以及“將30殘差與預(yù)測塊相加,以形成重構(gòu)塊”1126。然后,處理1100可以繼續(xù)于“使用重構(gòu)幀作為基準(zhǔn)幀以便進行運動補償”1128,以及“針對多個幀重復(fù),直到序列的結(jié)束”1130。重構(gòu)幀也可以被提供用于顯示和/或存儲1132。

應(yīng)理解,在一種高效的形式中,處理1100包括以下全部三個:(1)開始測試與在先前圖案布置(或其位置)上找到5最佳匹配塊位置點的步長相同的步長處的精細化搜索圖案布置上的點,(2)當(dāng)在圖案上找到新的最佳匹配塊位置時,以及作為一種方法,一旦對圖案的測試完成,就移位搜索圖案布置的中心,以及(3)當(dāng)沒有找到新的最佳匹配塊位置點時,減小步長測試更靠近中心的下一圖案。然而,作為其它替選,基于塊的運動10估計搜索處理可以僅單獨具有(2)或包括(2)的處理的任何組合。

通常,根據(jù)需要,處理1100可以串行或并行地重復(fù)任何次數(shù)。此外,通常,邏輯單元或邏輯模塊(例如編碼器100和解碼器200所使用的邏輯單元或邏輯模塊)可以至少部分地由硬件、軟件、固件或其任何組合來實現(xiàn)。如所示,在一些實現(xiàn)方式中,編碼器和解碼器100/200可以15經(jīng)由處理器1203來實現(xiàn)。在其它實現(xiàn)方式中,譯碼器100/200可以經(jīng)由通過一個或多個其它中央處理單元所實現(xiàn)的硬件或軟件來實現(xiàn)。通常,可以在系統(tǒng)級啟用譯碼器100/200和/或在此所討論的操作。然而,可以在例如用戶級提供或調(diào)整用于在編碼環(huán)路中啟用中心移位運動估計搜索和/或控制所使用的壓縮方案的類型或壓縮20比率的一些部件。

應(yīng)理解,可以在使用替選搜索策略的系統(tǒng)上提供在此所公開的中心移位塊搜索快速運動估計處理,其中,該策略僅是所使用的一個選項,或者其中,使用一組不同的運動估計處理,并且具有最佳結(jié)果的運動估計處理最終用于編碼,或者其中,來自25多個搜索處理的結(jié)果被組合(例如均值或中位數(shù)),然后使用組合結(jié)果。這可以包括直接方法(例如具有替選搜索圖案布置的基于塊的搜索,和/或相位相關(guān)、頻域、像素遞歸和/或基于光流的算法)和/或間接方法(例如角檢測、對象跟蹤和其它基于統(tǒng)計函數(shù)的算法)。

30雖然示例處理300、1000和/或1100的實現(xiàn)方式可以包括按所示的順序執(zhí)行所示的所有操作,但是本公開不限于此,并且在各個示例中,在此的任何處理的實現(xiàn)方式可以包括僅執(zhí)行所示的操作的子集和/或按與所示的不同順序執(zhí)行所示的操作。

在實現(xiàn)方式中,可以響應(yīng)于一個或多個計算機程序產(chǎn)品所提供的5指令而執(zhí)行在此所描述的特征。這些程序產(chǎn)品可以包括信號承載介質(zhì),其提供指令,所述指令當(dāng)由例如處理器執(zhí)行時可以提供在此所描述的功能。可以以任何形式的一種或多種機器可讀介質(zhì)來提供計算機程序產(chǎn)品。因此,例如,包括一個或多個處理器內(nèi)核的處理器可以10響應(yīng)于由一種或多種機器可讀介質(zhì)傳送到處理器的程序代碼和/或指令或指令集而執(zhí)行在此所描述的一個或多個特征。通常,機器可讀介質(zhì)可以以程序代碼和/或指令或指令集的形式來傳送軟件,這些程序代碼和/或指令或指令集可以使在此所描述的任何設(shè)備和/或系統(tǒng)實現(xiàn)在此所描述的特征的至少一部分。如上所述,在另一形式中,非瞬時性物品(例如非15瞬時性計算機可讀介質(zhì))可以與以上所提及的任何示例或其它示例一起使用,除了其不包括瞬時性信號本身。其確實包括除了信號本身之外的、可以以“瞬時性”方式臨時保存數(shù)據(jù)的那些元件(例如RAM等)。

如在此所描述的任何實現(xiàn)方式中所使用的那樣,術(shù)語“模塊”指代被配置為提供在此所描述的功能的軟件邏輯、固件邏輯和/或硬件邏輯的任何20組合。軟件可以實施為軟件封裝、代碼和/或指令集或指令,并且在此所描述的任何實現(xiàn)方式中所使用的“硬件”可以單獨地或組合地包括例如硬布線電路、可編程電路、狀態(tài)機電路和/或存儲可編程電路所執(zhí)行25的指令的固件。模塊可以共同地或單獨地實施為形成更大系統(tǒng)的一部分的電路(例如集成電路(IC)、片上系統(tǒng)(SoC)等)。例如,模塊可以實施在邏輯電路中,以便經(jīng)由軟件、固件或硬件實現(xiàn)在此所討論的編碼系統(tǒng)。

如在此所描述的任何實現(xiàn)方式中所使用的那樣,術(shù)語“邏輯單元”指代被配置為提供在此所描述的功能的固件邏輯和/或硬件邏輯的任何30組合。在此所描述的任何實現(xiàn)方式中所使用的“硬件”可以單獨地或以任何組合包括例如硬布線電路、可編程電路、狀態(tài)機電路和/或存儲可編程電路所執(zhí)行的指令的固件。邏輯單元可以共同地或單獨地實施為形成更大系統(tǒng)的一部分的電路(例如集成電路(IC)、片上系統(tǒng)(SoC)等)。例如,邏輯單元可以實施在邏輯電路中,以用于實現(xiàn)在此所討論的編碼系統(tǒng)的固件或5硬件。本領(lǐng)域技術(shù)人員應(yīng)理解,硬件和/或固件所執(zhí)行的操作可以替換地經(jīng)由可以實施為軟件封裝、代碼和/或指令集或指令的軟件得以實現(xiàn),并且還應(yīng)理解,邏輯單元也可以利用軟件的一部分來實現(xiàn)其功能。

如在此所描述的任何實現(xiàn)方式中所使用的那樣,術(shù)語“組件”可以指代模塊或邏輯單元,如以上描述這些術(shù)語。因此,術(shù)語“組件”可以指代被配置為提供在此所描述的功能的軟件邏輯、固件邏輯和/或硬件邏輯的任何組合。例如,本領(lǐng)域技術(shù)人員應(yīng)理解,硬件和/或固件所執(zhí)行的操作可以替換地15經(jīng)由可以實施為軟件封裝、代碼和/或指令集的軟件模塊得以實現(xiàn),并且還應(yīng)理解,邏輯單元也可以利用軟件的一部分來實現(xiàn)其功能。

參照圖12,可以20根據(jù)本公開的至少一些實現(xiàn)方式來布置用于提供視頻序列的重構(gòu)幀的自適應(yīng)質(zhì)量恢復(fù)(AQR)濾波的示例視頻編碼系統(tǒng)1200。在所示實現(xiàn)方式中,系統(tǒng)1200可以包括一個或多個中央處理單元或處理器1203、顯示設(shè)備1205以及一個或多個存儲器存儲1204。中央處理單元1203、存儲器存儲1204和/或顯示設(shè)備1205可以能夠經(jīng)由例如總線、引線或其它接入而與彼此進行通信。在各個實現(xiàn)方式中,顯示25設(shè)備1205可以集成在系統(tǒng)1200中,或者與系統(tǒng)1200分開實現(xiàn)。

如圖12所示,并且如上所述,處理單元1220可以具有帶編碼器100和/或解碼器200的邏輯電路1250。編碼器100可以具有運動估計單元1252,以提供在此所描述的并且如關(guān)于在此所描述的處理所解釋的很多功能。

應(yīng)理解,圖12所示的模塊可以包括各種軟件和/或硬件模塊和/或可以經(jīng)由軟件或硬件或其組合實現(xiàn)的模塊。例如,模塊可以經(jīng)由處理單元1220實現(xiàn)為軟件,或者模塊可以經(jīng)由專用硬件部分來實現(xiàn)。此外,所示的存儲器存儲1204可以是例如用于處理單元1220的共享存儲器。AQR濾波數(shù)據(jù)可以存儲在上述任何選項上,或者可以存儲在這些選項的5組合上,或者可以存儲在別處。此外,可以通過各種方式來實現(xiàn)系統(tǒng)1200。例如,系統(tǒng)1200(不包括顯示設(shè)備1205)可以實現(xiàn)為具有圖形處理器、四核中央處理單元和/或存儲器控制器輸入/輸出(I/O)模塊的單個芯片或器件。在其它示例中,系統(tǒng)1200(再次不包括顯示設(shè)備1205)可以實現(xiàn)為芯片組。

處理器1203可以包括任何合適的實現(xiàn)方式,包括例如微處理器、多核處理器、專用集成電路芯片、芯片組、可編程邏輯器件、圖形卡、集成圖形、通用圖形處理單元等。此外,存儲器存儲1204可以是任何類型的存儲器(例如易失性存儲器(例如靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取15存儲器(DRAM)等)或非易失性存儲器(例如閃存等)等)。在非限定性示例中,存儲器存儲1204也可以經(jīng)由緩存存儲器得以實現(xiàn)。在各個示例中,系統(tǒng)1200可以實現(xiàn)為芯片組或片上系統(tǒng)。

參照圖13,根據(jù)本公開和各個實現(xiàn)方式的示例系統(tǒng)1300可以是媒體系統(tǒng),但是系統(tǒng)1300并非限于該20上下文。例如,系統(tǒng)1300可以合并到個人計算機(PC)、膝上型計算機、超級膝上型計算機、平板、觸摸板、便攜式計算機、手持計算機、掌上型計算機、個人數(shù)字助理(PDA)、蜂窩電話、組合蜂窩電話/PDA、電視、智能設(shè)備(例如智能電話、智能平板或智能電視)、移動互聯(lián)網(wǎng)設(shè)備(MID)、傳信設(shè)備、數(shù)據(jù)通信設(shè)備等中。

在各個實現(xiàn)方式中,系統(tǒng)1300包括平臺1302,其以通信方式耦合到顯示器1320。平臺1302可以從內(nèi)容設(shè)備(例如內(nèi)容服務(wù)設(shè)備1330或內(nèi)容傳送設(shè)備1340或其它類似內(nèi)容源)接收內(nèi)容。包括一個或多個導(dǎo)航特征的導(dǎo)航控制器1350可以用于與例如平臺1302和/或顯示器1320進行交互。以下更詳細地30描述這些組件中的每一個。

在各個實現(xiàn)方式中,平臺1302可以包括芯片組1305、處理器1310、存儲器1312、存儲件1314、圖形子系統(tǒng)1315、應(yīng)用1316和/或無線電裝置1318以及天線1313的組合。芯片組1305可以提供處理器1310、存儲器1312、存儲1314、圖形子系統(tǒng)1315、應(yīng)用1316和/或5無線電裝置1318之間的相互通信。例如,芯片組1305可以包括能夠提供與存儲1314的相互通信的存儲適配器(未描繪)。

處理器1310可以實現(xiàn)為復(fù)雜指令集計算機(CISC)或精簡指令集計算機(RISC)處理器;x86指令集兼容處理器、多核或任何其它微處理器或中央處理單元(CPU)。在各個10實現(xiàn)方式中,處理器1310可以是雙核處理器、雙核移動處理器等。

存儲器1312可以實現(xiàn)為易失性存儲器設(shè)備(例如但不限于隨機存取存儲器(RAM)、動態(tài)隨機存取存儲器(DRAM)或靜態(tài)RAM(SRAM))。

存儲件1314可以實現(xiàn)為非易失性存儲設(shè)備(例如但不限于磁盤驅(qū)動器、光盤驅(qū)動器、磁帶驅(qū)動器、內(nèi)部存儲設(shè)備、附連存儲設(shè)備、閃存、電池備份SDRAM(同步DRAM)和/或網(wǎng)絡(luò)可存取存儲設(shè)備)。在各個實施例中,例如,存儲件1314可以包括用于當(dāng)包括多個硬驅(qū)動器時對有價值的數(shù)字媒體20增加存儲性能增強式保護的技術(shù)。

圖形子系統(tǒng)1315可以執(zhí)行對圖像(例如靜止圖像或視頻)的處理,以便進行顯示。例如,圖形子系統(tǒng)1315可以是圖形處理單元(GPU)或視覺處理單元(VPU)。模擬或數(shù)字接口可以用于以通信方式耦合圖形子系統(tǒng)1315和顯示器1320。例如,接口25可以是任何高清晰度多媒體接口、顯示端口、無線HDMI和/或無線HD順應(yīng)技術(shù)。圖形子系統(tǒng)1315可以集成到處理器1310或芯片組1305中。在一些實現(xiàn)方式中,圖形子系統(tǒng)1315可以是以通信方式耦合到芯片組1305的單機卡。

在此所描述的圖形和/或視頻處理技術(shù)可以實現(xiàn)于30各種硬件架構(gòu)中。例如,圖形和/或視頻功能可以集成在芯片組內(nèi)。替換地,可以使用分立式圖形和/或視頻處理器。作為又一實現(xiàn)方式,可以通過包括多核處理器在內(nèi)的通用處理器提供圖形和/或視頻功能。在其它實現(xiàn)方式中,這些功能可以實現(xiàn)在消費者電子設(shè)備中。

無線電裝置1318可以包括能夠使用各種合適的無線通信技術(shù)來發(fā)送和接收信號的一個或多個無線電裝置。這些技術(shù)可以涉及跨越一個或多個無線網(wǎng)絡(luò)的通信。示例無線網(wǎng)絡(luò)包括(但不限于)無線局域網(wǎng)(WLAN)、無線個域網(wǎng)(WPAN)、無線城域網(wǎng)(WMAN)、蜂窩網(wǎng)絡(luò)以及衛(wèi)星10網(wǎng)絡(luò)。在跨越這些網(wǎng)絡(luò)的通信中,無線電裝置1318可以根據(jù)任何版本的一個或多個適用標(biāo)準(zhǔn)來操作。

在各個實現(xiàn)方式中,顯示器1320可以包括任何電視類型監(jiān)視器或顯示器。顯示器1320可以包括例如計算機顯示屏、觸摸屏顯示器、視頻監(jiān)視器、類電視的設(shè)備和/或電視。顯示器1320可以是數(shù)字和/或15模擬的。在各個實現(xiàn)方式中,顯示器1320可以是全息顯示器。此外,顯示器1320可以是可以接收視覺投影的透明表面。這些投影可以傳送各種形式的信息、圖像和/或?qū)ο蟆@?,這些投影可以是用于移動增強現(xiàn)實(MAR)應(yīng)用的視覺覆蓋。在一個或多個軟件應(yīng)用1316的控制下,平臺1302可以在顯示器20 1320上顯示用戶界面1322。

在各個實現(xiàn)方式中,例如,內(nèi)容服務(wù)設(shè)備1330可以受任何國家的、國際的和/或獨立的服務(wù)掌控,并且因此可經(jīng)由互聯(lián)網(wǎng)對平臺1302訪問。內(nèi)容服務(wù)設(shè)備1330可以耦合到平臺1302和/或顯示器1320。平臺1302和/或內(nèi)容服務(wù)設(shè)備1330可以耦合到網(wǎng)絡(luò)1360,以25將媒體信息傳遞(例如,發(fā)送和/或接收)出入網(wǎng)絡(luò)1360。內(nèi)容傳遞設(shè)備1340也可以耦合到平臺1302和/或顯示器1320。

在各個實現(xiàn)方式中,內(nèi)容服務(wù)設(shè)備1330可以包括有線電視盒、個人計算機、網(wǎng)絡(luò)、電話、互聯(lián)網(wǎng)啟用設(shè)備或能夠傳送數(shù)字信息和/或內(nèi)容的電器,以及能夠30經(jīng)由網(wǎng)絡(luò)1360或以直接方式在內(nèi)容提供商與平臺1302和/或顯示器1320之間單向地或雙向地傳遞內(nèi)容的任何其它類似設(shè)備。應(yīng)理解,內(nèi)容可以經(jīng)由網(wǎng)絡(luò)1360單向地和/或雙向地傳遞出入系統(tǒng)1300的組件中的任何一個以及內(nèi)容提供商。內(nèi)容的示例可以包括任何媒體信息,包括例如視頻、音樂、醫(yī)療和游戲信息等。

內(nèi)容服務(wù)設(shè)備1330可以接收內(nèi)容(例如有線電視節(jié)目,包括媒體信息、數(shù)字信息和/或其它內(nèi)容)。內(nèi)容提供商的示例可以包括任何有線或衛(wèi)星電視內(nèi)容提供商,或者無線電內(nèi)容提供商,或者互聯(lián)網(wǎng)內(nèi)容提供商。所提供的示例并非意圖以任何方式來限制根據(jù)本公開的實現(xiàn)方式。

在各個實現(xiàn)方式中,平臺1302可以從具有一個或多個導(dǎo)航特征的導(dǎo)航控制器1350接收控制信號。控制器1350的導(dǎo)航特征可以用于與例如用戶界面1322進行交互。在實現(xiàn)方式中,導(dǎo)航控制器1350可以是定點設(shè)備,其可以是允許用戶將空間(例如15連續(xù)和多維)數(shù)據(jù)輸入到計算機中的計算機硬件組件(具體地說,人機接口設(shè)備)。很多系統(tǒng)(例如圖形用戶接口(GUI)以及電視和監(jiān)視器)允許用戶使用物理手勢控制數(shù)據(jù)并且將其提供給計算機或電視。

控制器1350的導(dǎo)航特征的移動可以通過顯示器(例如顯示器1320)上所顯示的指針、光標(biāo)、聚焦環(huán)或其它視覺指示符20的移動在顯示器上得以復(fù)制。例如,在軟件應(yīng)用1316的控制下,位于導(dǎo)航控制器1350上的導(dǎo)航特征可以被映射為用戶界面1322上所顯示的虛擬導(dǎo)航特征。在實現(xiàn)方式中,控制器1350可以不是單獨的組件,而是可以集成到平臺1302和/或顯示器1320中。然而,本公開不限于25在此所示或所描述的要素或上下文中。

在各個實現(xiàn)方式中,例如,當(dāng)啟用時,驅(qū)動器(未示出)可以包括用于使用戶能夠在初始引導(dǎo)之后通過觸摸按鈕即刻打開和關(guān)閉平臺1302(比如電視)的技術(shù)。程序邏輯可以允許平臺1302即使在平臺“關(guān)閉”時,也將內(nèi)容流送到媒體適配器或其它內(nèi)容服務(wù)設(shè)備1330或內(nèi)容傳送設(shè)備1340 30。此外,例如,芯片組1305可以包括關(guān)于7.1環(huán)繞聲音音頻和/或高清晰度7.1環(huán)繞聲音音頻的硬件和/或軟件支持。驅(qū)動器可以包括用于集成圖形平臺的圖形驅(qū)動器。在實現(xiàn)方式中,圖形驅(qū)動器可以包括外設(shè)組件互連(PCI)高速圖形卡。

在各個實現(xiàn)方式中,系統(tǒng)1300中所示的組件中的任何一個或多個組件可以5是集成的。例如,平臺1302和內(nèi)容服務(wù)設(shè)備1330可以是集成的,或者平臺1302和內(nèi)容傳送設(shè)備1340可以是集成的,或者平臺1302、內(nèi)容服務(wù)設(shè)備1330和內(nèi)容傳送設(shè)備1340可以是集成的。在各個實現(xiàn)方式中,平臺1302和顯示器1320可以是集成單元。例如,顯示器1320和內(nèi)容服務(wù)設(shè)備1330可以是集成的,或者顯示器1320和內(nèi)容10傳送設(shè)備1340可以是集成的。這些示例并非意味著限制本公開。

在各個實現(xiàn)方式中,系統(tǒng)1300可以實現(xiàn)為無線系統(tǒng)、有線系統(tǒng)或二者的組合。當(dāng)實現(xiàn)為無線系統(tǒng)時,系統(tǒng)1300可以包括適合于通過無線共享15介質(zhì)進行通信的組件和接口(例如一個或多個天線、發(fā)射機、接收機、收發(fā)機、放大器、濾波器、控制邏輯等)。無線共享介質(zhì)的示例可以包括無線頻譜(例如RF頻譜等)的一部分。當(dāng)實現(xiàn)為有線系統(tǒng)時,系統(tǒng)1300可以包括適合于通過有線通信介質(zhì)進行通信的組件和接口(例如輸入/輸出(I/O)適配器、用于將20I/O適配器與對應(yīng)有線通信介質(zhì)連接的物理連接器、網(wǎng)絡(luò)接口卡(NIC)、盤控制器、視頻控制器、音頻控制器等)。有線通信介質(zhì)的示例可以包括導(dǎo)線、線纜、金屬引線、印制電路板(PCB)、背板、開關(guān)構(gòu)造、半導(dǎo)體材料、雙絞線導(dǎo)線、同軸線纜、光纖等。

平臺1302可以建立一個或多個邏輯信道或物理信道,以傳遞信息。信息可以包括媒體信息和控制信息。媒體信息可以指代表示意圖用于用戶的內(nèi)容的任何數(shù)據(jù)。內(nèi)容的示例可以包括例如來自語音轉(zhuǎn)換、視頻會議、流送視頻、電子郵件(“email”)消息、語音郵件消息、文字數(shù)字符號、圖形、圖像、30視頻、文本等的數(shù)據(jù)。來自語音轉(zhuǎn)換的數(shù)據(jù)可以是例如話音信息、靜默時段、背景噪聲、舒適噪聲、音調(diào)等??刂菩畔⒖梢灾复硎疽鈭D用于自動化系統(tǒng)的命令、指令或控制字的任何數(shù)據(jù)。例如,控制信息可以用于將媒體信息路由通過系統(tǒng),或吩咐節(jié)點以預(yù)定方式處理媒體信息。然而,實現(xiàn)方式不限于圖13中所示或所描繪的要素或情形。

如上所述,可以通過變化的物理風(fēng)格或形數(shù)(form factor)實施系統(tǒng)1200或1300。圖14示出可以實現(xiàn)系統(tǒng)1200或1300的小形數(shù)設(shè)備1400的實現(xiàn)方式。在實現(xiàn)方式中,例如,設(shè)備1400可以實現(xiàn)為具有無線能力的移動計算設(shè)備。例如,移動計算設(shè)備可以指代具有處理系統(tǒng)和移動功率源或電源(10例如一個或多個電池)的任何設(shè)備。

如上所述,移動計算設(shè)備的示例可以包括個人計算機(PC)、膝上型計算機、超級膝上型計算機、平板、觸摸板、便攜式計算機、手持計算機、掌上型計算機、個人數(shù)字助理(PDA)、蜂窩電話、組合蜂窩電話/PDA、電視、智能設(shè)備(例如智能電話、智能平板或15智能電視)、移動互聯(lián)網(wǎng)設(shè)備(MID)、傳信設(shè)備、數(shù)據(jù)通信設(shè)備等。

移動計算設(shè)備的示例也可以包括被布置為人所穿戴的計算器(例如腕部計算器、手指計算器、耳環(huán)計算器、眼鏡計算器、帶夾計算器、臂帶計算器、鞋計算器、衣物計算器以及20其它可穿戴計算器)。在各個實現(xiàn)方式中,例如,移動計算設(shè)備可以實現(xiàn)為能夠執(zhí)行計算機應(yīng)用以及語音通信和/或數(shù)據(jù)通信的智能電話。雖然可以通過示例的方式以實現(xiàn)為智能電話的移動計算設(shè)備描述一些實現(xiàn)方式,但是應(yīng)理解,同樣可以使用其它無線移動25計算設(shè)備實現(xiàn)其它實現(xiàn)方式。在該上下文中,實現(xiàn)方式并非受限。

如圖14所示,設(shè)備1400可以包括外殼1402、顯示器1404、輸入/輸出(I/O)設(shè)備1406以及天線1408。設(shè)備1400也可以包括導(dǎo)航特征1412。顯示器1404可以包括顯示單元上的任何合適的屏幕1410,以用于顯示對于移動計算設(shè)備適當(dāng)?shù)男畔?。I/O設(shè)備1406可以包括30任何合適的I/O設(shè)備,以用于將信息錄入移動計算設(shè)備中。用于I/O設(shè)備1406的示例可以包括文字數(shù)字鍵盤、數(shù)字鍵區(qū)、觸摸板、輸入鍵、按鈕、開關(guān)、搖臂開關(guān)、麥克風(fēng)、揚聲器、語音識別設(shè)備和軟件等。信息也可以通過麥克風(fēng)(未示出)的方式錄入到設(shè)備1400中。該信息可以由語音識別設(shè)備(未示出)數(shù)字化。在該上下文中,實現(xiàn)方式并非受限。

可以使用硬件元件、軟件元件或二者的組合來實現(xiàn)各個實現(xiàn)方式。硬件元件的示例可以包括處理器、微處理器、電路、電路元件(例如晶體管、電阻器、電容器、電感器等)、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)、邏輯10門、寄存器、半導(dǎo)體設(shè)備、芯片、微芯片、芯片組等。軟件的示例可以包括軟件組件、程序、應(yīng)用、計算機程序、應(yīng)用程序、系統(tǒng)程序、機器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、過程、軟件接口、應(yīng)用程序接口(API)、指令集、計算代碼、15計算機代碼、代碼段、計算機代碼段、字、值、符號,或者其任何組合。確定實現(xiàn)方式是否使用硬件元件和/或軟件元件來實現(xiàn)可以根據(jù)任何數(shù)量的因素(例如期望的計算速率、功率等級、熱量容限、處理周期預(yù)算、輸入數(shù)據(jù)率、存儲器資源、數(shù)據(jù)總線速度以及其它設(shè)計或性能20約束)而變化。

可以通過表示處理器內(nèi)的各個邏輯的機器可讀介質(zhì)上所存儲的代表性指令來實現(xiàn)上述一個或多個方面,這些指令當(dāng)由機器讀取時使機器形成邏輯以執(zhí)行在此所描述的技術(shù)。稱為“IP核”的這些表示可以存儲在有形25機器可讀介質(zhì)上,并且提供給各個消費者或制造場所,以加載到實際上制作邏輯或處理器的制造機器中。

雖然已經(jīng)參照各個實現(xiàn)方式描述了在此所闡述的特定特征,但是該描述并非意圖理解為限制性的意義。因此,在此所描述的實現(xiàn)方式的各種修改以及對于本公開所屬領(lǐng)域的技術(shù)人員30顯而易見的其它實現(xiàn)方式應(yīng)看作處于本公開的精神和范圍內(nèi)。

以下示例屬于附加實現(xiàn)方式。

一種計算機實現(xiàn)的自適應(yīng)質(zhì)量恢復(fù)濾波的方法,包括:接收像素數(shù)據(jù)的多個幀;以及進行搜索,以通過尋找在基準(zhǔn)幀上的相對于當(dāng)前幀上的對應(yīng)塊5定位的像素數(shù)據(jù)的最佳匹配塊,來尋找最佳運動矢量。所述搜索包括:在所述基準(zhǔn)幀處確定初始搜索圖案布置的多個候選匹配塊位置點中的最佳匹配塊位置(MBL)點;將精細化搜索圖案布置定位在所述最佳匹配塊位置點處;測試所述精細化搜索圖案布置的候選匹配塊位置點,以確定新的最佳匹配塊位置點;以及將所述精細化搜索圖案布置的中心移位10到所述新的最佳匹配塊位置點,而不檢查所述精細化搜索圖案布置中所包括的所有候選匹配塊位置點。

所述方法也可以包括例如以下操作:形成多個預(yù)定區(qū)段的所述精細化搜索圖案布置;以及在已經(jīng)測試了區(qū)段中的所有匹配塊位置點之后,移位所述精細化搜索15圖案布置的中心;其中,每個區(qū)段是圖案,并且所述精細化搜索布置由以下形成:多個圖案;縮放為與所述中心相距多個不同步長的相同圖案,其中,步長是沿著從所述中心到所述圖案中的匹配塊位置點的直線延伸的距離單位;或二者。圖案包括定義形狀中的定義數(shù)量的候選匹配塊位置20點,并且圖案沿所述中心周圍的圈延伸,其中,當(dāng)在檢查以下項之一之后找到所述新的最佳匹配塊位置點時,所述中心移位:檢查單個步長處的圖案上的所述多個候選匹配塊位置點中的至少一個候選匹配塊位置點;以及在檢查單個步長處的圖案上的所有多個候選匹配塊位置點之后。

所述方法還包括:減小步長大小,以檢查逐漸更靠近所述精細化搜索圖案布置的中心的圖案上的候選匹配塊位置點,在檢查所述初始搜索圖案布置之后緊接著檢查第一精細化搜索圖案布置時,降低將檢查的圖案的步長,其中,當(dāng)在當(dāng)前圖案上沒有找到新的最佳匹配塊位置點時,減小所述步長,以檢查更靠近所述精細化搜索圖案30布置的中心的圖案;設(shè)定圍繞移位后的中心延伸的所述精細化搜索圖案布置的圖案的最大步長,以確定精細化后的最佳匹配塊位置點,并且將最大步長設(shè)定為與在移位所述中心之前具有前一搜索圖案布置的最佳匹配塊位置點的圖案的步長相同,其中,所述中心移位多次;以及通過以下項中的至少一個來限制所述中心可以移位的次數(shù):固定次數(shù),與運動矢量長度的可允許范圍或值的關(guān)聯(lián),以及用于檢查5精細化搜索圖案布置的持續(xù)時間。

對于所述方法,所述初始搜索圖案布置或精細化搜索圖案布置或二者可以是具有最大完全布置的對數(shù)布置,包括:在步長1處的具有四個候選匹配塊位置點的菱形圖案;在步長2、4、8和16處的均具有八個候選匹配塊位置點的菱形圖案;以及在步長32處形成沒有角的10菱形的邊并且具有12個候選匹配塊位置點的菱形圖案,在菱形形狀的對角邊上各自具有三個候選匹配塊位置點,其中,所述步長是距所述搜索圖案布置的中心的單位距離。

一種系統(tǒng),包括:顯示器;存儲器;至少一個處理器,以通信方式耦合到所述存儲器和顯示器;以及運動估計單元,由所述至少一個處理器15操作,并且被布置為:接收像素數(shù)據(jù)的多個幀;進行搜索,以通過尋找在基準(zhǔn)幀上的相對于當(dāng)前幀上的對應(yīng)塊定位的像素數(shù)據(jù)的最佳匹配塊,來尋找最佳運動矢量。所述搜索包括:在所述基準(zhǔn)幀處確定初始搜索圖案布置的多個候選匹配塊位置點中的最佳匹配塊位置(MBL)點;將精細化搜索圖案20布置定位在所述最佳匹配塊位置點處;測試所述精細化搜索圖案布置的候選匹配塊位置點,以確定新的最佳匹配塊位置點,以及將所述精細化搜索圖案布置的中心移位到所述新的最佳匹配塊位置點,而不檢查所述精細化搜索圖案布置中所包括的所有候選匹配塊位置點。

所述系統(tǒng)的運動估計單元也可以被布置為:形成多個預(yù)定區(qū)段的所述精細化搜索圖案布置;以及在已經(jīng)測試了區(qū)段中的所有匹配塊位置點之后,移位所述精細化搜索圖案布置的中心,其中,每個區(qū)段是圖案,并且所述精細化搜索布置由以下形成:多個圖案;縮放為與所述中心30相距多個不同步長的相同圖案,其中,步長是沿著從所述中心到所述圖案中的匹配塊位置點的直線延伸的距離單位;或二者,其中,圖案包括定義形狀中的定義數(shù)量的候選匹配塊位置點;其中,圖案沿所述中心周圍的圈延伸;其中,當(dāng)在檢查以下項之一之后找到所述新的最佳匹配塊位置點時,所述中心移位:檢查單個步長處的圖案上的所述多個候選匹配塊位置點中的至少一個候選匹配塊位置點;以及在檢查單個步長處的圖案上的所有多個候選匹配塊位置點之后。

所述運動估計單元也可以被布置為:減小步長大小,以檢查逐漸更靠近所述精細化搜索圖案布置的中心的圖案上的候選匹配塊位置點;在檢查所述初始搜索圖案布置之后緊接著檢查第一精細化搜索圖案布置時,降低將檢查的圖案的步長,其中,當(dāng)在當(dāng)前圖案上沒有找到新的最佳匹配塊位置點時,減小所述步長,以檢查更靠近所述精細化10搜索圖案布置的中心的圖案;設(shè)定圍繞移位后的中心延伸的所述精細化搜索圖案布置的圖案的最大步長,以確定精細化后的最佳匹配塊位置點,并且將最大步長設(shè)定為與在移位所述中心之前具有前一搜索圖案布置的最佳匹配塊位置點的圖案的步長相同,其中,所述中心移位15多次;以及通過以下項中的至少一個來限制所述中心可以移位的次數(shù):固定次數(shù),與運動矢量長度的可允許范圍或值的關(guān)聯(lián),以及用于檢查精細化搜索圖案布置的持續(xù)時間。

對于所述系統(tǒng),所述初始搜索圖案布置或精細化搜索圖案布置或二者可以是具有最大完全布置的對數(shù)布置,包括:在步長1處的具有20四個候選匹配塊位置點的菱形圖案;在步長2、4、8和16處的均具有八個候選匹配塊位置點的菱形圖案;以及在步長32處的形成沒有角的菱形的邊并且具有12個候選匹配塊位置點的菱形圖案,在菱形形狀的對角邊上各自具有三個候選匹配塊位置點,其中,所述步長是距所述搜索圖案布置的中心的單位距離。

一種計算機可讀存儲器,包括指令,所述指令當(dāng)由計算設(shè)備執(zhí)行時使所述計算設(shè)備,一種計算機可讀介質(zhì),其上存儲有指令,所述指令當(dāng)被執(zhí)行時使計算設(shè)備:接收像素數(shù)據(jù)的多個幀;進行搜索,以通過尋找在基準(zhǔn)幀上的相對于當(dāng)前幀上的對應(yīng)塊定位的像素數(shù)據(jù)的最佳匹配塊,來尋找最佳運動矢量。所述搜索30包括:在所述基準(zhǔn)幀處確定初始搜索圖案布置的多個候選匹配塊位置點中的最佳匹配塊位置點;將精細化搜索圖案布置定位在所述最佳匹配塊位置點處;測試所述精細化搜索圖案布置的候選匹配塊位置點,以確定新的最佳匹配塊位置點;以及將所述精細化搜索圖案布置的中心移位到所述新的最佳匹配塊位置點,而不檢查所述精細化搜索圖案布置中所包括的所有候選匹配塊位置點。

所述指令也可以使所述計算設(shè)備:形成多個預(yù)定區(qū)段的所述精細化搜索圖案布置;以及在已經(jīng)測試了區(qū)段中的所有匹配塊位置點之后,移位所述精細化搜索圖案布置的中心,其中,每個區(qū)段是圖案,并且所述精細化搜索布置由以下形成:多個圖案;縮放為與所述中心10相距多個不同步長的相同圖案,其中,步長是沿著從所述中心到所述圖案中的匹配塊位置點的直線延伸的距離單位;或二者,其中,圖案包括定義形狀中的定義數(shù)量的候選匹配塊位置點;其中,圖案沿所述中心周圍的圈延伸;其中,當(dāng)在檢查以下項之一之后找到所述新的最佳匹配塊位置點時,所述中心移位:檢查單個步長處的15圖案上的所述多個候選匹配塊位置點中的至少一個候選匹配塊位置點,以及在檢查單個步長處的圖案上的所有多個候選匹配塊位置點之后。

所述指令也可以使所述計算設(shè)備:減小步長大小,以檢查逐漸更靠近所述精細化搜索圖案布置的中心的圖案上的候選匹配塊位置點;在檢查所述初始搜索圖案布置之后緊接著20檢查第一精細化搜索圖案布置時,降低將檢查的圖案的步長,其中,當(dāng)在當(dāng)前圖案上沒有找到新的最佳匹配塊位置點時,減小所述步長,以檢查更靠近所述精細化搜索圖案布置的中心的圖案;設(shè)定圍繞移位后的中心延伸的所述精細化搜索圖案布置的圖案的最大步長,以確定精細化后的最佳匹配塊25位置點,并且將最大步長設(shè)定為與在移位所述中心之前具有前一搜索圖案布置的最佳匹配塊位置點的圖案的步長相同,其中,所述中心移位多次;以及通過以下項中的至少一個來限制所述中心可以移位的次數(shù):固定次數(shù),與運動矢量長度的可允許范圍或值的關(guān)聯(lián),以及用于檢查精細化搜索圖案布置的持續(xù)時間。

對于所述指令,所述初始搜索圖案布置或精細化搜索圖案布置或二者可以是具有最大完全布置的對數(shù)布置,包括:在步長1處的具有四個候選匹配塊位置點的菱形圖案;在步長2、4、8和16處的均具有八個候選匹配塊位置點的菱形圖案;以及在步長32處的形成沒有角的菱形的邊并且具有12個候選匹配塊位置點的菱形圖案,在菱形形狀的對角邊上各自具有三個候選匹配塊位置點,其中,所述步長是距所述搜索圖案布置的中心的單位距離。

在另一示例中,至少一種機器可讀介質(zhì)可以括多個指令,所述指令響應(yīng)于在計算設(shè)備上執(zhí)行而使所述計算設(shè)備執(zhí)行以上示例中任一項所述的方法。

在又一示例中,一種裝置可以包括用于執(zhí)行以上示例中任一項所述的方法的單元。

以上示例可以包括特征的特定組合。然而,以上示例不限于此,并且在各個實現(xiàn)方式中,以上示例可以包括僅承擔(dān)這些特征的子集,承擔(dān)這些特征的不同順序,承擔(dān)這些特征的不同組合,和/或承擔(dān)除了明確列出的這些特征之外的附加特征。例如,可以關(guān)于示例裝置、示例系統(tǒng)和/或示例物品實現(xiàn)關(guān)于示例15方法所描述的所有特征,并且反之亦然。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大连市| 集贤县| 浙江省| 常熟市| 封开县| 成武县| 长汀县| 板桥市| 张家界市| 新民市| 虎林市| 大兴区| 呼玛县| 南京市| 资源县| 突泉县| 晋州市| 张家界市| 通化市| 治多县| 崇义县| 轮台县| 平远县| 诏安县| 科技| 东乡县| 都昌县| 田阳县| 南川市| 清水河县| 固安县| 新安县| 龙山县| 永济市| 宁安市| 会同县| 四平市| 四平市| 如皋市| 内丘县| 阳曲县|