專利名稱:用于視頻編碼的高效變換技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻處理,且更明確地說,涉及對(duì)視頻數(shù)據(jù)的基于塊的編碼。
背景技術(shù):
可將視頻能力并入各式各樣的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線通信裝 置、個(gè)人數(shù)字助理(PDA)、膝上型計(jì)算機(jī)、桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、蜂窩式或 衛(wèi)星無線電電話、視頻游戲顧問(counsel)、手持式游戲裝置等。數(shù)字視頻編碼可在創(chuàng)建、修 改、傳輸、存儲(chǔ)、記錄和播放全運(yùn)動(dòng)多媒體序列方面提供優(yōu)于常規(guī)模擬系統(tǒng)的顯著改進(jìn)。廣 播網(wǎng)絡(luò)可使用視頻編碼來促進(jìn)向無線訂戶裝置廣播多媒體(音頻-視頻)序列的一個(gè)或一 個(gè)以上信道。還使用視頻編碼來支持視頻電話(VT)應(yīng)用,例如通過蜂窩式無線電電話召開 視頻會(huì)議。已針對(duì)編碼數(shù)字視頻序列建立了許多不同的編碼標(biāo)準(zhǔn)。舉例來說,運(yùn)動(dòng)圖 片專家組(MPEG)已開發(fā)出包括MPEG-I、MPEG-2和MPEG-4在內(nèi)的許多標(biāo)準(zhǔn)。其它標(biāo) 準(zhǔn)包括國(guó)際電信聯(lián)盟(ITU) H. 263標(biāo)準(zhǔn)和H. 264標(biāo)準(zhǔn)、加利福尼亞州庫(kù)珀蒂諾市的蘋 果公司(Apple Computer)開發(fā)的QuickTime 技術(shù)、華盛頓州雷蒙德市的微軟公司 (MicrosoftCorporation)開發(fā)的 Windows 的視頻、英特爾公司 Qntel Corporation)開 發(fā)的hdeo 、來自華盛頓州西雅圖市的真實(shí)網(wǎng)絡(luò)公司(RealNetworks,he.)的RealVideo 以及SuperMac公司開發(fā)的Cin印ak 。此外,新的標(biāo)準(zhǔn)不斷涌現(xiàn)和演化。MPEG-4的第10部 分“高級(jí)視頻編碼(AVC),,中也陳述ITU H. 264標(biāo)準(zhǔn)。多數(shù)視頻編碼技術(shù)利用基于塊的編碼,其將視頻幀劃分為像素塊,且使所述塊與 視頻序列中的其它幀的塊相關(guān)。通過對(duì)當(dāng)前塊與另一幀的預(yù)測(cè)塊之間的差異進(jìn)行編碼,可 實(shí)現(xiàn)數(shù)據(jù)壓縮。通常使用術(shù)語“宏塊”來定義視頻幀的與搜索空間(其通常為視頻序列的 前一或后一幀的子組)進(jìn)行比較的離散塊。還可將宏塊進(jìn)一步再分為多個(gè)分區(qū)或子分區(qū)。 ITU H. 264標(biāo)準(zhǔn)支持16乘16宏塊、16乘8分區(qū)、8乘16分區(qū)、8乘8分區(qū)、8乘4子分區(qū)、4 乘8子分區(qū)以及4乘4子分區(qū)。其它標(biāo)準(zhǔn)可支持不同大小的塊、宏塊、分區(qū)和/或子分區(qū)。對(duì)于視頻幀中的每一塊(宏塊、分區(qū)或子分區(qū)),編碼器將一個(gè)或一個(gè)以上緊接在 前的視頻幀(和/或后續(xù)幀)的大小類似的塊進(jìn)行比較,以識(shí)別類似塊,其被稱作“預(yù)測(cè)塊” 或“最佳匹配”。將當(dāng)前視頻塊與其它幀的視頻塊進(jìn)行比較的過程通常被稱作運(yùn)動(dòng)估計(jì)。一 旦針對(duì)待編碼的給定塊識(shí)別出“最佳匹配”,編碼器就可對(duì)當(dāng)前塊與最佳匹配之間的差異進(jìn) 行編碼。此對(duì)當(dāng)前塊與最佳匹配之間的差異進(jìn)行編碼的過程包括被稱作運(yùn)動(dòng)補(bǔ)償?shù)倪^程。 運(yùn)動(dòng)補(bǔ)償包含創(chuàng)建差異塊(稱作殘差),其包括指示待編碼的當(dāng)前塊與最佳匹配之間的差 異的信息。明確地說,運(yùn)動(dòng)補(bǔ)償通常涉及使用運(yùn)動(dòng)向量取得最佳匹配且接著從輸入塊中減去 最佳匹配以產(chǎn)生殘差的動(dòng)作??蓪?duì)殘差執(zhí)行例如熵編碼等額外編碼步驟以進(jìn)一步壓縮位流。
發(fā)明內(nèi)容
本發(fā)明描述可在視頻編碼中使用的高效變換技術(shù)。明確地說,在計(jì)算與第二視頻數(shù)據(jù)塊的變換相關(guān)聯(lián)的計(jì)算的中間結(jié)果時(shí),再次使用與第一視頻數(shù)據(jù)塊的變換相關(guān)聯(lián)的計(jì) 算的中間結(jié)果。可在運(yùn)動(dòng)估計(jì)過程期間使用高效變換技術(shù),其中搜索空間的視頻塊被變換, 但本發(fā)明不必在此方面受限。根據(jù)本發(fā)明,搜索空間可拆分為多個(gè)不同的4乘4像素塊,且 所述不同的4乘4像素塊可彼此重疊??蓪?duì)4乘4像素塊的多個(gè)行執(zhí)行一維變換以產(chǎn)生中間結(jié)果,且接著可對(duì)所述中間 結(jié)果的一列執(zhí)行一維變換?;蛘撸墒紫葘?duì)多個(gè)列執(zhí)行一維變換,且接著對(duì)中間結(jié)果的一行 執(zhí)行一維變換。在任意情況下,在已知搜索空間中的不同4乘4像素塊之間的重疊的情況 下,可再次使用(例如,與后面的變換共享)所述中間結(jié)果中的至少一些結(jié)果,而無需執(zhí)行 相同計(jì)算。還揭示一種用于實(shí)施本文中所描述的技術(shù)的高效架構(gòu)。在一個(gè)實(shí)例中,本發(fā)明提供一種包含對(duì)視頻數(shù)據(jù)塊執(zhí)行變換的方法,其中執(zhí)行變 換包括在第二視頻數(shù)據(jù)塊的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相關(guān)聯(lián)的 一個(gè)或一個(gè)以上計(jì)算。在另一實(shí)例中,本發(fā)明提供一種裝置,其包含對(duì)視頻數(shù)據(jù)塊執(zhí)行變換的視頻編碼 器。在執(zhí)行變換時(shí),視頻編碼器在第二視頻數(shù)據(jù)塊的第二變換中再次使用與第一視頻數(shù)據(jù) 塊的第一變換相關(guān)聯(lián)的一個(gè)或一個(gè)以上計(jì)算。在另一實(shí)例中,本發(fā)明提供一種裝置,其包含用于對(duì)視頻數(shù)據(jù)塊執(zhí)行變換的裝 置;以及用于在第二視頻數(shù)據(jù)塊的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相關(guān) 聯(lián)的一個(gè)或一個(gè)以上計(jì)算的裝置。本文中所描述的技術(shù)可以硬件、軟件、固件或其任意組合實(shí)施。如果以軟件實(shí)施, 那么所述軟件可在數(shù)字信號(hào)處理器(DSP)或其它類型的處理器或裝置中執(zhí)行。執(zhí)行所述技 術(shù)的軟件最初可存儲(chǔ)在計(jì)算機(jī)可讀媒體中,且加載在處理器或其它裝置中并在其中執(zhí)行, 以允許使用本文中所描述的技術(shù)來進(jìn)行視頻編碼。因此,本發(fā)明還預(yù)期一種計(jì)算機(jī)可讀媒體,其包含當(dāng)在視頻編碼裝置中執(zhí)行時(shí)致 使所述裝置對(duì)視頻數(shù)據(jù)塊執(zhí)行變換的指令,其中在執(zhí)行變換時(shí),所述指令致使所述裝置在 第二視頻數(shù)據(jù)塊的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相關(guān)聯(lián)的一個(gè)或一 個(gè)以上計(jì)算。此外,本發(fā)明預(yù)期一種經(jīng)配置以對(duì)視頻數(shù)據(jù)塊執(zhí)行變換的電路,其中在執(zhí)行變換 時(shí),所述電路在第二視頻數(shù)據(jù)塊的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相關(guān) 聯(lián)的一個(gè)或一個(gè)以上計(jì)算。另外,如下文中更詳細(xì)地描述,可使用管線輸送技術(shù)來加速高效變換技術(shù),且可實(shí) 施換位存儲(chǔ)器以促進(jìn)高效管線輸送。附圖和以下描述內(nèi)容中陳述各種實(shí)施例的額外細(xì)節(jié)。 根據(jù)所述描述內(nèi)容、附圖及所附權(quán)利要求書,本發(fā)明的其它特征、目標(biāo)和優(yōu)勢(shì)將變得顯而易 見。
圖1是說明可實(shí)施本發(fā)明的技術(shù)的視頻編碼裝置的示范性視頻編碼器的框圖。圖2和圖3是說明可實(shí)施包括變換的運(yùn)動(dòng)估計(jì)過程的一部分的組件的框圖。圖4是說明用于執(zhí)行一維變換的蝶形實(shí)施方案的圖。圖5是說明可將計(jì)算共享技術(shù)用于如本文所述的變換的架構(gòu)的框圖。
圖6是說明可根據(jù)本發(fā)明而實(shí)現(xiàn)的計(jì)算節(jié)省的曲線圖。圖7是說明作為可并行搜索的搜索點(diǎn)數(shù)目的函數(shù)的變換引擎數(shù)目的曲線圖。圖8是說明示范性垂直引擎的框圖。圖9是說明可用以變換搜索空間的第一 4乘4像素塊的示范性水平引擎的框圖。圖10是說明可用以在由圖8所示的水平引擎所執(zhí)行的變換之后變換搜索空間的 其余4乘4像素塊的示范性水平引擎的框圖。圖11是搜索空間內(nèi)的塊的概念圖,其說明到達(dá)垂直引擎中的輸入塊。圖12是說明水平引擎與垂直引擎之間的數(shù)據(jù)流的圖。圖13是說明可位于水平引擎與垂直引擎之間的換位寄存器中的時(shí)序和數(shù)據(jù)流的 框圖。
具體實(shí)施例方式本發(fā)明描述可在視頻編碼中有用的高效變換技術(shù)。如下文中更詳細(xì)地描述,在第 二視頻數(shù)據(jù)塊的變換中再次使用與第一視頻數(shù)據(jù)塊的變換相關(guān)聯(lián)的計(jì)算的中間結(jié)果。所述 技術(shù)可能尤其對(duì)在變換搜索空間的視頻塊的運(yùn)動(dòng)估計(jì)過程期間執(zhí)行的整數(shù)變換或正向離 散余弦變換有用。然而,可在與視頻編碼相關(guān)聯(lián)的其它變換情況中使用所述技術(shù)。實(shí)際上, 所述技術(shù)可對(duì)任意類型的線性變換、整數(shù)變換以及可能其它變換情況有用。根據(jù)本發(fā)明,可將(任意大小的)搜索空間拆分為例如4乘4像素塊等多個(gè)不同 視頻塊。搜索空間內(nèi)所界定的不同4乘4像素塊可彼此重疊。舉例來說,5乘5像素搜索 空間可界定四個(gè)不同的4乘4像素塊,但可使用對(duì)部分分辨率的內(nèi)插來在5乘5像素搜索 空間內(nèi)界定更多的4乘4像素塊。當(dāng)將4乘4像素塊從像素域變換到空間頻域時(shí),可使用 搜索空間。在從一個(gè)域向另一域進(jìn)行此變換期間,通常對(duì)4乘4像素塊執(zhí)行兩遍一維變換。 對(duì)多個(gè)列執(zhí)行第一遍一維變換以產(chǎn)生水平空間頻率分量(稱作中間結(jié)果),且對(duì)一個(gè)或一 個(gè)以上行執(zhí)行第二遍一維變換以產(chǎn)生垂直空間頻率分量。所屬領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到, 可輕易地對(duì)多個(gè)行執(zhí)行第一遍一維變換,且可對(duì)一列執(zhí)行第二遍一維變換??蓪?duì)4乘4像素塊的多個(gè)列執(zhí)行一維變換以產(chǎn)生中間結(jié)果,且接著可對(duì)所述中間 結(jié)果中的一行執(zhí)行一維變換。在已知搜索空間中的不同4乘4像素塊之間的重疊的情況下, 可再次使用中間結(jié)果中的至少一些結(jié)果,而無需執(zhí)行相同計(jì)算。以此方式,可避免計(jì)算以促 進(jìn)效率。還揭示示范性硬件架構(gòu),其可實(shí)現(xiàn)本文中所描述的技術(shù)的高效實(shí)施。在此情況下, 可使用管線輸送技術(shù)來加速一組視頻數(shù)據(jù)塊的高效變換技術(shù),且可實(shí)施換位存儲(chǔ)器以促進(jìn) 高效管線輸送。圖1是說明可實(shí)施本發(fā)明的技術(shù)的視頻編碼裝置的示范性視頻編碼器10的框圖。 實(shí)際上,多種裝置可實(shí)施可受益于本發(fā)明的教示的視頻編碼器。舉例來說,視頻編碼器10 可用于數(shù)字電視、數(shù)字直播系統(tǒng)、無線通信裝置(例如,手持機(jī))、個(gè)人數(shù)字助理(PDA)、膝上 型計(jì)算機(jī)、桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、蜂窩式或衛(wèi)星無線電電話、視頻游戲顧 問、手持式游戲裝置等。廣播網(wǎng)絡(luò)可使用視頻編碼來促進(jìn)向無線訂戶裝置廣播多媒體(音 頻-視頻)序列的一個(gè)或一個(gè)以上信道。還使用視頻編碼來支持視頻電話(VT)應(yīng)用,例如 通過蜂窩式無線電電話召開視頻會(huì)議,以及多種其它應(yīng)用。如圖1所示,視頻編碼器10接收輸入宏塊(MB)。通常使用術(shù)語“宏塊”來定義視頻幀的與搜索空間進(jìn)行比較并被編碼的離散塊。還可將宏塊進(jìn)一步再分為分區(qū)或子分區(qū)。 ITU H. 264標(biāo)準(zhǔn)支持16乘16宏塊、16乘8分區(qū)、8乘16分區(qū)、8乘8分區(qū)、8乘4子分區(qū)、4 乘8子分區(qū)以及4乘4子分區(qū)。其它標(biāo)準(zhǔn)可支持不同大小的塊、宏塊、分區(qū)和/或子分區(qū)。 在任意情況下,雖然可使用術(shù)語“宏塊”來描述本發(fā)明的方面,但本文中所描述的技術(shù)可在 對(duì)包括宏塊、分區(qū)、子分區(qū)或其它視頻塊大小的任意大小的視頻數(shù)據(jù)塊進(jìn)行編碼的過程中 有用。如圖1所示,對(duì)于每一輸入MB,產(chǎn)生一預(yù)測(cè)塊(在圖1中標(biāo)記為“Pred”)。預(yù)測(cè)塊 有時(shí)被稱作最佳匹配。經(jīng)由單元12從輸入MB中減去預(yù)測(cè)塊以產(chǎn)生殘差(在圖1中標(biāo)記為 “Res”)。殘差包含數(shù)據(jù)塊,其指示輸入MB與用以對(duì)輸入MB進(jìn)行編碼的預(yù)測(cè)塊之間的差異。 預(yù)測(cè)塊可由運(yùn)動(dòng)向量(或用于幀幀內(nèi)編碼的幀內(nèi)向量)識(shí)別。對(duì)于幀內(nèi)編碼,預(yù)測(cè)塊與輸 入MB位于相同的幀內(nèi)。對(duì)于幀間編碼,預(yù)測(cè)塊與輸入MB位于不同的幀內(nèi)。運(yùn)動(dòng)向量(或 幀內(nèi)編碼的幀內(nèi)向量)識(shí)別編碼時(shí)所使用的預(yù)測(cè)塊。幀間編碼可為預(yù)測(cè)性的(P),此表示預(yù) 測(cè)塊是基于前一幀的;或雙向的(B),此表示預(yù)測(cè)塊是基于視頻序列的前一或后一幀的。在創(chuàng)建殘差(Res)后,對(duì)殘差執(zhí)行變換和量化。變換單元14和量化單元16分別 執(zhí)行變換和量化。還可執(zhí)行熵編碼以產(chǎn)生輸出位流。熵編碼單元18執(zhí)行熵編碼,此可實(shí)現(xiàn) 進(jìn)一步壓縮。熵編碼可包括將代碼指派給位組,以及使碼長(zhǎng)與概率匹配。視頻編碼中眾所 周知且常見各種類型的熵編碼。在視頻編碼器10的預(yù)測(cè)回路中,逆量化單元22和逆變換單元對(duì)對(duì)殘差執(zhí)行逆量 化和逆變換,以本質(zhì)上使單元12和14所執(zhí)行的變換和量化反向。通過加法器單元沈?qū)㈩A(yù) 測(cè)塊加回到經(jīng)重構(gòu)的殘差。這本質(zhì)上在預(yù)測(cè)回路中重新創(chuàng)建輸入MB??赏ㄟ^去塊單元觀 來對(duì)經(jīng)重構(gòu)的MB的邊緣進(jìn)行濾波,且將其存儲(chǔ)在存儲(chǔ)器30中。量化原則上涉及減小經(jīng)變換信號(hào)的動(dòng)態(tài)范圍。動(dòng)態(tài)范圍的減小影響通過熵編碼產(chǎn) 生的位的數(shù)目(速率)。此還在殘差中引入損失,其可導(dǎo)致原始MB與經(jīng)重構(gòu)的MB略有不 同。這些差異通常被稱作量化誤差或失真。量化的強(qiáng)度由量化參數(shù)決定。較大的量化參數(shù) 導(dǎo)致較高的失真,但可降低編碼率。預(yù)測(cè)回路可為幀內(nèi)預(yù)測(cè)回路或幀間預(yù)測(cè)回路。MPEG-4和ITU H. 263通常僅支持幀 間預(yù)測(cè)。ITU H. 264支持幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè)兩者。在圖1的視頻編碼器10中,控制信號(hào) 32可選擇回路為幀內(nèi)預(yù)測(cè)還是幀間預(yù)測(cè)。然而,本發(fā)明的技術(shù)還可在僅支持幀內(nèi)編碼或幀 間編碼的系統(tǒng)中起作用。在幀內(nèi)預(yù)測(cè)中,單元34執(zhí)行空間估計(jì)和空間補(bǔ)償。在此情況下,單元34將經(jīng)重構(gòu) 的MB與同一視頻幀內(nèi)的相鄰宏塊進(jìn)行比較,以產(chǎn)生幀內(nèi)預(yù)測(cè)器塊。幀內(nèi)預(yù)測(cè)器塊本質(zhì)上是 經(jīng)重構(gòu)的MB的最佳匹配,其將導(dǎo)致殘差中的良好壓縮。幀內(nèi)預(yù)測(cè)可有助于減少空間冗余。在幀間預(yù)測(cè)中,單元36執(zhí)行運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償。運(yùn)動(dòng)估計(jì)將經(jīng)重構(gòu)的MB與先 前或未來幀的塊進(jìn)行比較,以產(chǎn)生幀間預(yù)測(cè)器。幀間預(yù)測(cè)器是經(jīng)重構(gòu)的MB的最佳匹配,但 不同于幀內(nèi)預(yù)測(cè)器,幀間預(yù)測(cè)器來自不同的視頻幀。幀間預(yù)測(cè)可有助于減少時(shí)間冗余。通 常,與利用空間冗余相比,利用時(shí)間冗余可對(duì)視頻序列的壓縮產(chǎn)生較大的影響。換句話說, MB的幀間編碼通常實(shí)現(xiàn)優(yōu)于幀內(nèi)編碼的壓縮。本發(fā)明的技術(shù)大體與例如正向離散余弦變換等變換有關(guān)。可在運(yùn)動(dòng)估計(jì)過程期間 實(shí)施所述技術(shù),但本發(fā)明在此方面不受限制。為描述起見,本發(fā)明將所述技術(shù)描述為在運(yùn)動(dòng)估計(jì)期間執(zhí)行,但還可在執(zhí)行變換的其它情況下使用這些技術(shù)或類似技術(shù)。運(yùn)動(dòng)估計(jì)是可由視頻編碼器執(zhí)行的計(jì)算密集型過程。大量計(jì)算可能歸因于運(yùn)動(dòng) 估計(jì)中可能考慮的大量潛在預(yù)測(cè)器。實(shí)際上,運(yùn)動(dòng)估計(jì)通常涉及在包含一個(gè)或一個(gè)以上先 前幀(或后續(xù)幀)的子組的搜索空間中搜索幀間預(yù)測(cè)器。可基于成本函數(shù)或量度來檢查 來自搜索空間的候選者,其通常通過執(zhí)行差異計(jì)算來界定,例如絕對(duì)差和(SAD)、平方差和 (SSD)、絕對(duì)經(jīng)變換差和(SATD)或平方經(jīng)變換差和(SSTD)。一旦計(jì)算出用于搜索空間中的 所有候選者的量度,就可選擇使所述量度減到最小的候選者作為幀間預(yù)測(cè)器。因此,影響運(yùn) 動(dòng)估計(jì)的主要因素可為搜索空間的大小、搜索方法以及各種成本函數(shù)。成本函數(shù)本質(zhì)上量 化了當(dāng)前幀的原始?jí)K與搜索區(qū)域的候選塊之間的冗余??稍跍?zhǔn)確率和失真方面量化冗余。圖2展示基于變換的量度框架。圖2中所示的塊可包含由運(yùn)動(dòng)估計(jì)器(例如圖1 所示的單元36)執(zhí)行的功能。圖2中說明示范性位長(zhǎng)度,但本發(fā)明的技術(shù)不限于任意特定 位長(zhǎng)度。此外,運(yùn)動(dòng)估計(jì)涉及將待編碼的塊與搜索空間內(nèi)的多個(gè)候選者進(jìn)行比較,以找出所 述搜索空間內(nèi)與待編碼的塊最匹配的一個(gè)塊。根據(jù)本發(fā)明,可在速率和失真意義上界定最 佳匹配。為了完成運(yùn)動(dòng)估計(jì),分析待編碼的塊與給定搜索空間塊之間的殘余能量。通過從 相應(yīng)搜索空間塊的像素中減去待編碼的塊的對(duì)應(yīng)像素的過程來獲得每一殘余候選者。這是 差異(Diff)模塊42在圖2中(例如)經(jīng)由SAD、SSD、SATD或SSTD技術(shù)完成的過程。接 著,使用可執(zhí)行正向離散余弦變換的正向變換引擎(FTE)44將殘余塊變換到頻域中??山?著分析經(jīng)變換的殘余塊的速率和失真特性。明確地說,速率失真估計(jì)(RDE)模塊46本質(zhì)上 估計(jì)在給定量化參數(shù)QP下針對(duì)此給定搜索空間塊將導(dǎo)致的速率(R)和失真(D)。RDE模塊 46接著基于拉格朗日原理將R和D組合成單個(gè)成本量度(=D+ λ R),鑒于量度至少部分地 依據(jù)R和D,所述成本量度可被稱作速率-失真量度。可將所有候選者搜索空間塊的成本進(jìn) 行比較,且選擇導(dǎo)致最小成本的任一候選者來進(jìn)行編碼。應(yīng)注意,上文所計(jì)算的成本量度對(duì)應(yīng)于正被編碼的塊以及具有4乘4個(gè)像素的大 小的搜索空間塊。對(duì)于大于4乘4個(gè)像素的塊大小,可使用多個(gè)4乘4像素塊來跨越較大 的塊。在此情況下,通過累加跨越較大塊的所有4乘4個(gè)單元塊的成本量度來計(jì)算所述較 大塊的成本。以下描述集中于4乘4個(gè)像素的塊大小,但所述技術(shù)可應(yīng)用于其它大小的塊。正向變換引擎(FTE)44通常為基于變換的量度計(jì)算的任意基礎(chǔ)模塊。由于變 換的線性本質(zhì),可切換差異模塊42與FTE 44的級(jí)。根據(jù)本發(fā)明,切換差異模塊42與 FTE 44的次序可允許變換期間的計(jì)算節(jié)省。對(duì)所描繪的塊的輸入和輸出的記法為輸入的 (列)X (行)X (用以表示值的位的數(shù)目)。圖3展示圖2的替代方案,其中圖2的差異模塊42與FTE 44的次序被切換。圖3 的組件形成運(yùn)動(dòng)估計(jì)器單元的一部分。出于示范性目的而說明位長(zhǎng)度,但可使用其它位長(zhǎng) 度。在圖3中,兩個(gè)不同的FTE 52A和52B(例如)經(jīng)由整數(shù)變換或正向離散余弦變換來變 換待編碼的塊(“編碼塊”)以及正被考慮的搜索空間塊。在此情況下,在變換之后由差異 單元M來執(zhí)行差異計(jì)算。RDE模塊56接著估計(jì)在給定量化參數(shù)QP下針對(duì)此給定搜索空間 塊將導(dǎo)致的速率(R)和失真(D)。RDE模塊56可基于拉格朗日原理,將R和D組合成單個(gè) 成本( = D+XR)。接著可在運(yùn)動(dòng)估計(jì)單元(例如,圖1的單元36)中,比較所有候選者搜索 空間塊的成本,且可選擇導(dǎo)致最小成本的任一候選者來進(jìn)行編碼。
運(yùn)動(dòng)估計(jì)的基本問題是從搜索空間(S)中找出待編碼的塊(編碼塊,e)的“最佳 匹配”。可將編碼塊(e)和搜索空間(S)定義為
「sOOS0l S02S03 ^04eooeOI^02己03sIOl5Il ^12^13 ^14^lOeIIe =S =S2J0^21 S22^23 ^24eZQe22忍23S30S3l S32^33 ^34Ao^3I衫3240S41 S42^43 S44
如可 昏到,可相對(duì)于S中的四個(gè)搜索點(diǎn)來匹配
) 1
C
S =
4)υ
(Oα
5 5
,0)⑴ € α
5 其中
sOO^Ol^02S035(0,0)=iIO-yI2S13^20^21S22S23.^30^31S32S33 _
"‘sO1^02S03S04難1)=^ll^12snSU^21S22S23S24.5MS32S33S34.
(2)
(3)
(4)
iIO^ll^12Sn
^(1,0)=^20^21J22(5)^30532J33.^40^41^42^43.^12^13^l4"
5(1,1)= 521S22S23^24(6)^31S12Si3$34A!^42SA3■V 注意,(搜索)點(diǎn)(例如,8(0,0)、8(0,1)、8(1,0)或8(1,1))被描繪為具有相等的 水平與垂直維度的塊。s(0,0)可被稱作塊00,s(0,l)可稱作塊01,s(l,0)可稱作塊10,且 s(l,l)可稱作塊11。搜索點(diǎn)還可描繪具有不相等的水平與垂直維度的塊。圖11展示具有出于說明性目的而展示的與此實(shí)例一致的一些所界定的搜索點(diǎn)和塊的8X8搜索區(qū)域。為 在s中找出e的最佳匹配,可將殘余塊r(x,y)計(jì)算為
[005權(quán)利要求
1.一種裝置,其包含對(duì)視頻數(shù)據(jù)塊執(zhí)行變換的視頻編碼器,其中在執(zhí)行所述變換時(shí),所 述視頻編碼器在第二視頻數(shù)據(jù)塊的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相 關(guān)聯(lián)的一個(gè)或一個(gè)以上計(jì)算。
2.根據(jù)權(quán)利要求1所述的裝置,其中所述視頻編碼器執(zhí)行來自由整數(shù)和離散余弦變換 (DCT)組成的群組的變換。
3.根據(jù)權(quán)利要求1所述的裝置,其中所述視頻編碼器包括運(yùn)動(dòng)估計(jì)器,且所述運(yùn)動(dòng)估 計(jì)器包括執(zhí)行所述變換的變換引擎。
4.根據(jù)權(quán)利要求3所述的裝置,其中所述第一視頻數(shù)據(jù)塊和所述第二視頻數(shù)據(jù)塊包含 與搜索空間相關(guān)聯(lián)的視頻數(shù)據(jù),其中所述變換引擎還對(duì)待編碼的視頻數(shù)據(jù)塊執(zhí)行變換。
5.根據(jù)權(quán)利要求1所述的裝置,其中所述視頻編碼器對(duì)搜索空間內(nèi)所定義的四個(gè)或四 個(gè)以上視頻數(shù)據(jù)塊執(zhí)行變換,其中所述視頻編碼器再次使用所述搜索空間內(nèi)所定義的所述 視頻數(shù)據(jù)塊中的至少三個(gè)視頻數(shù)據(jù)塊的所述變換中的計(jì)算。
6.根據(jù)權(quán)利要求1所述的裝置,其中所述視頻數(shù)據(jù)塊包含4乘4像素塊,其中所述變換包含對(duì)所述4乘4像素塊的多個(gè)行進(jìn)行的1維變換以產(chǎn)生中間結(jié)果,以 及對(duì)所述中間結(jié)果的一列進(jìn)行的1維變換;且其中所述被再次使用的計(jì)算包含所述中間結(jié)果中的至少一些中間結(jié)果。
7.根據(jù)權(quán)利要求6所述的裝置,其中所述視頻編碼器包括執(zhí)行所述變換的一個(gè)或一個(gè) 以上水平引擎以及一個(gè)或一個(gè)以上垂直引擎。
8.根據(jù)權(quán)利要求7所述的裝置,所述視頻編碼器進(jìn)一步包含位于所述一個(gè)或一個(gè)以上 水平引擎與所述一個(gè)或一個(gè)以上垂直引擎之間的一個(gè)或一個(gè)以上換位存儲(chǔ)器,以緩沖并解 決來自所述引擎中的一者的輸出數(shù)據(jù)相對(duì)于到達(dá)所述引擎中的一者的輸入數(shù)據(jù)的時(shí)序。
9.根據(jù)權(quán)利要求8所述的裝置,其中所述變換相對(duì)于一組視頻數(shù)據(jù)塊以管線方式執(zhí) 行,且其中所述水平引擎與所述垂直引擎針對(duì)所述變換的至少一部分同時(shí)操作。
10.根據(jù)權(quán)利要求8所述的裝置,其中所述視頻編碼器相對(duì)于所述輸出數(shù)據(jù),跟蹤與所述輸入數(shù)據(jù)相關(guān)聯(lián)的索引值;且經(jīng)由所述索引值,相對(duì)于所述輸出數(shù)據(jù)重新排序所述輸入數(shù)據(jù)。
11.根據(jù)權(quán)利要求7所述的裝置,所述視頻編碼器進(jìn)一步包含位于所述一個(gè)或一個(gè)以 上水平引擎與所述一個(gè)或一個(gè)以上垂直引擎之間的一組換位寄存器,以緩沖并解決來自所 述引擎中的一者的輸出數(shù)據(jù)相對(duì)于到達(dá)所述引擎中的一者的輸入數(shù)據(jù)的時(shí)序。
12.根據(jù)權(quán)利要求11所述的裝置,其中所述變換相對(duì)于一組視頻數(shù)據(jù)塊以管線方式執(zhí) 行,且其中所述水平引擎與所述垂直引擎針對(duì)所述變換的至少一部分同時(shí)操作。
13.根據(jù)權(quán)利要求11所述的裝置,其中所述視頻編碼器相對(duì)于所述輸出數(shù)據(jù),跟蹤與所述輸入數(shù)據(jù)相關(guān)聯(lián)的索引值;且經(jīng)由所述索引值,相對(duì)于所述輸出數(shù)據(jù)重新排序所述輸入數(shù)據(jù)。
14.根據(jù)權(quán)利要求1所述的裝置,其中所述裝置包含無線通信裝置。
15.根據(jù)權(quán)利要求1所述的裝置,其中所述裝置包含高分辨率電視(HDTV)。
16.根據(jù)權(quán)利要求1所述的裝置,其中所述視頻數(shù)據(jù)塊包含4乘4像素塊,其中所述變換包含對(duì)所述4乘4像素塊的多個(gè)列進(jìn)行的1維變換以產(chǎn)生中間結(jié)果,以 及對(duì)所述中間結(jié)果的一行進(jìn)行的1維變換,且其中所述被再次使用的計(jì)算包含所述中間結(jié)果中的至少一些中間結(jié)果。
17.一種方法,其包含對(duì)視頻數(shù)據(jù)塊執(zhí)行變換,其中執(zhí)行所述變換包括在第二視頻數(shù)據(jù) 塊的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相關(guān)聯(lián)的一個(gè)或一個(gè)以上計(jì)算。
18.根據(jù)權(quán)利要求17所述的方法, 其中所述視頻數(shù)據(jù)塊包含4乘4像素塊,其中所述變換包含對(duì)所述4乘4像素塊的多個(gè)行進(jìn)行的1維變換以產(chǎn)生中間結(jié)果,以 及對(duì)所述中間結(jié)果的一列進(jìn)行的1維變換,且其中所述被再次使用的計(jì)算包含所述中間結(jié)果中的至少一些中間結(jié)果。
19.根據(jù)權(quán)利要求17所述的方法, 其中所述視頻數(shù)據(jù)塊包含4乘4像素塊,其中所述變換包含對(duì)所述4乘4像素塊的多個(gè)列進(jìn)行的1維變換以產(chǎn)生中間結(jié)果,以 及對(duì)所述中間結(jié)果的一行進(jìn)行的1維變換,且其中所述被再次使用的計(jì)算包含所述中間結(jié)果中的至少一些中間結(jié)果。
20.一種裝置,其包含用于對(duì)視頻數(shù)據(jù)塊執(zhí)行變換的裝置;以及用于在第二視頻數(shù)據(jù)塊的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相關(guān)聯(lián) 的一個(gè)或一個(gè)以上計(jì)算的裝置。
21.根據(jù)權(quán)利要求20所述的裝置, 其中所述視頻數(shù)據(jù)塊包含4乘4像素塊,其中所述變換包含對(duì)所述4乘4像素塊的多個(gè)行進(jìn)行的1維變換以產(chǎn)生中間結(jié)果,以 及對(duì)所述中間結(jié)果的一列進(jìn)行的1維變換,且其中所述被再次使用的計(jì)算包含所述中間結(jié)果中的至少一些中間結(jié)果。
22.—種計(jì)算機(jī)可讀媒體,其包含當(dāng)在視頻編碼裝置中執(zhí)行時(shí)致使所述裝置對(duì)視頻數(shù) 據(jù)塊執(zhí)行變換的指令,其中在執(zhí)行所述變換時(shí),所述指令致使所述裝置在第二視頻數(shù)據(jù)塊 的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相關(guān)聯(lián)的一個(gè)或一個(gè)以上計(jì)算。
23.根據(jù)權(quán)利要求22所述的計(jì)算機(jī)可讀媒體, 其中所述視頻數(shù)據(jù)塊包含4乘4像素塊,其中所述變換包含對(duì)所述4乘4像素塊的多個(gè)行進(jìn)行的1維變換以產(chǎn)生中間結(jié)果,以 及對(duì)所述中間結(jié)果的一列進(jìn)行的1維變換,且其中所述被再次使用的計(jì)算包含所述中間結(jié)果中的至少一些中間結(jié)果。
24.一種電路,其經(jīng)配置以對(duì)視頻數(shù)據(jù)塊執(zhí)行變換,其中在執(zhí)行所述變換時(shí),所述電路 在第二視頻數(shù)據(jù)塊的第二變換中再次使用與第一視頻數(shù)據(jù)塊的第一變換相關(guān)聯(lián)的一個(gè)或 一個(gè)以上計(jì)算。
25.根據(jù)權(quán)利要求M所述的電路, 其中所述視頻數(shù)據(jù)塊包含4乘4像素塊,其中所述變換包含對(duì)所述4乘4像素塊的多個(gè)行進(jìn)行的1維變換以產(chǎn)生中間結(jié)果,以 及對(duì)所述中間結(jié)果的一列進(jìn)行的1維變換,且其中所述被再次使用的計(jì)算包含所述中間結(jié)果中的至少一些中間結(jié)果。
全文摘要
本發(fā)明描述可在視頻編碼中使用的高效變換技術(shù)。明確地說,在第二視頻數(shù)據(jù)塊的變換中,再次使用與第一視頻數(shù)據(jù)塊的變換相關(guān)聯(lián)的計(jì)算的中間結(jié)果??稍谶\(yùn)動(dòng)估計(jì)過程期間使用所述技術(shù),其中,在該運(yùn)動(dòng)估計(jì)過程中,變換搜索空間的視頻塊,但本發(fā)明并不限于此方面??墒褂霉芫€輸送技術(shù)來加速高效變換技術(shù),且可實(shí)施換位存儲(chǔ)器以促進(jìn)高效的管線輸送。
文檔編號(hào)H04N7/30GK102067606SQ200880104691
公開日2011年5月18日 申請(qǐng)日期2008年9月26日 優(yōu)先權(quán)日2007年9月26日
發(fā)明者徐迪藻, 拉戈哈文德拉·C·納加拉杰, 斯蒂芬·莫洛伊 申請(qǐng)人:高通股份有限公司