專利名稱:解碼器中的時(shí)間與空間視頻塊重排序以改善高速緩存命中的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用以壓縮和解壓縮視頻數(shù)據(jù)的基于塊的數(shù)字視頻編碼,且更特定來說,涉及用于有效地處理視頻塊以便實(shí)質(zhì)上使高速緩存命中最大化且減小到高速緩存的存儲(chǔ)器加載的技術(shù)。
背景技術(shù):
、數(shù)字視頻能力可并入廣泛范圍的裝置中,所述裝置包括數(shù)字電視、數(shù)字直播系統(tǒng)、例如無線電電話手持機(jī)的無線通信裝置、無線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、視頻游戲裝置、視頻游戲控制臺(tái)等。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如MPEG-2、MPEG-4或ITU-T H. 264/MPEG-4第10部分(高級(jí)視頻編碼(AVC)),以更有效地發(fā)射和接收數(shù)字視頻。視頻壓縮技術(shù)執(zhí)行空間和時(shí)間預(yù)測(cè)以減少或移除視頻序列中固有的冗余?;趬K的視頻壓縮技術(shù)可執(zhí)行空間預(yù)測(cè)和/或時(shí)間預(yù)測(cè)。幀內(nèi)編碼依賴于空間預(yù)測(cè)來減少或移除給定經(jīng)編碼的単元內(nèi)視頻塊之間的空間冗余,所述給定經(jīng)編碼的単元可包含視頻幀、視頻幀的切片等。對(duì)比而言,幀間編碼依賴于時(shí)間預(yù)測(cè)來減少或移除視頻序列的連續(xù)經(jīng)編碼的単元的視頻塊之間的時(shí)間冗余。對(duì)于幀內(nèi)編碼,視頻編碼器執(zhí)行空間預(yù)測(cè)以基于同一經(jīng)編碼的単元內(nèi)的其它數(shù)據(jù)來壓縮數(shù)據(jù)。對(duì)于幀間編碼,視頻編碼器執(zhí)行運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償以實(shí)質(zhì)上追蹤兩個(gè)或兩個(gè)以上時(shí)間鄰近的經(jīng)編碼的単元的對(duì)應(yīng)視頻塊的移動(dòng)。經(jīng)編碼的視頻塊可通過可用以生成或識(shí)別預(yù)測(cè)性塊的預(yù)測(cè)信息和指示正編碼的塊與預(yù)測(cè)性塊之間的差異的殘余數(shù)據(jù)塊來表示。在幀間編碼的情況下,ー個(gè)或ー個(gè)以上運(yùn)動(dòng)向量用以從先前或隨后經(jīng)編碼的單元識(shí)別預(yù)測(cè)性數(shù)據(jù)塊,而在幀內(nèi)編碼的情況下,預(yù)測(cè)模式可用以基于與正被編碼的視頻塊相關(guān)聯(lián)的經(jīng)編碼的単元內(nèi)的數(shù)據(jù)產(chǎn)生預(yù)測(cè)性塊。幀內(nèi)編碼和幀間編碼兩者均可界定若干不同預(yù)測(cè)模式,所述不同預(yù)測(cè)模式中的每ー者可界定不同塊大小和/或在編碼中所使用的預(yù)測(cè)技木。還可包括額外類型的語法元素作為經(jīng)編碼的視頻數(shù)據(jù)的部分,以便控制或界定在編碼過程中所使用的編碼技術(shù)或參數(shù)。在基于塊的預(yù)測(cè)編碼之后,視頻編碼器可應(yīng)用變換、量化和熵編碼過程以進(jìn)ー步減小與殘余塊的傳送相關(guān)聯(lián)的位速率。變換技術(shù)可包含使用離散余弦變換(DCT)或概念上類似的過程,例如小波變換、整數(shù)變換或其它類型的變換。在DCT過程中,作為ー實(shí)例,變換過程將殘余像素值集合轉(zhuǎn)換成變換系數(shù),所述變換系數(shù)可表示頻域中殘余像素值的能量。將量化應(yīng)用于變換系數(shù),且量化大體上涉及限制與任何給定變換系數(shù)相關(guān)聯(lián)的位數(shù)目的過程。熵編碼包含共同壓縮經(jīng)量化變換系數(shù)的序列的ー個(gè)或ー個(gè)以上過程。
發(fā)明內(nèi)容
本發(fā)明描述相對(duì)于視頻塊的顯示次序修改視頻塊的解碼次序的技木??稍跁r(shí)間上修改所述解碼次序,使得不同視頻幀(或其它經(jīng)編碼的單元)的視頻塊經(jīng)并行解碼,其中所述不同幀的視頻塊的所述解碼次序交替或交錯(cuò)。具體來說,視頻塊的所述解碼次序可在兩個(gè)或兩個(gè)以上不同幀的視頻塊之間交替。此外,還可在給定視頻塊內(nèi)在空間上修改所' 述解碼次序,使得所述視頻塊以不對(duì)應(yīng)于所述視頻塊的光柵掃描次序的次序進(jìn)行解碼。所述技術(shù)可通過在所述解碼器中改善高速緩存命中的可能性來改善存儲(chǔ)器的使用,借此減小從外部存儲(chǔ)器到與所述解碼器相關(guān)聯(lián)的內(nèi)部高速緩存的存儲(chǔ)器加載的數(shù)目。所述解碼次序可以如下方式來具體界定促進(jìn)將需要已存儲(chǔ)于所述高速緩存中的預(yù)測(cè)性數(shù)據(jù)且用于所述解碼中的可能性,且所述解碼 次序可減少所述解碼過程期間從所述外部存儲(chǔ)器到所述內(nèi)部高速緩存的存儲(chǔ)器加載。在一個(gè)實(shí)例中,本發(fā)明描述ー種解碼視頻數(shù)據(jù)的方法。所述方法包含在解碼器中接收視頻単元的序列,其中所述序列界定所述視頻単元的顯示次序;以及經(jīng)由所述解碼器識(shí)別可不相互依賴的所述視頻単元的子集。所述方法還可包含將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到高速緩存,其中所述高速緩存與所述解碼器相關(guān)聯(lián);以及至少部分基于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)解碼經(jīng)編碼的視頻單元的所述子集的視頻塊,其中解碼所述視頻塊包括界定解碼次序,在所述解碼次序中,第二視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在所述顯示次序中,所述第二視頻單元出現(xiàn)在所述第一視頻單元之后。在另ー實(shí)例中,本發(fā)明描述ー種解碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻解碼器和相關(guān)聯(lián)的高速緩存。所述視頻解碼器經(jīng)配置以接收視頻單元的序列,其中所述序列界定所述視頻単元的顯示次序。所述視頻解碼器還經(jīng)配置以識(shí)別可不相互依賴的所述視頻単元的子集;將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到所述高速緩存;以及至少部分基于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)解碼經(jīng)編碼的視頻單元的所述子集的視頻塊。此外,在解碼所述視頻塊中,所述解碼器界定解碼次序,在所述解碼次序中,第二視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在所述顯示次序中,所述第二視頻單元出現(xiàn)在所述第一視頻單元之后。在另ー實(shí)例中,本發(fā)明描述ー種解碼視頻數(shù)據(jù)的裝置,所述裝置包含用于接收視頻單元的序列的裝置,其中所述序列界定所述視頻単元的顯示次序;用于識(shí)別可不相互依賴的所述視頻単元的子集的裝置;用于將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到高速緩存的裝置;以及用于至少部分基于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)解碼經(jīng)編碼的視頻單元的所述子集的視頻塊的裝置,其中所述用于解碼所述視頻塊的裝置包括用于界定解碼次序的裝置,在所述解碼次序中,第二視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在所述顯示次序中,所述第二視頻單元出現(xiàn)在所述第一視頻單元之后。本發(fā)明中所描述的技術(shù)可以硬件、軟件、固件或其任何組合來實(shí)施。如果以硬件來實(shí)施,則設(shè)備可作為集成電路、處理器、離散邏輯或其任何組合來實(shí)現(xiàn)。如果以軟件來實(shí)施,則可在ー個(gè)或ー個(gè)以上處理器(例如,微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或數(shù)字信號(hào)處理器(DSP))中執(zhí)行軟件。執(zhí)行所述技術(shù)的軟件最初可存儲(chǔ)于計(jì)算機(jī)可讀媒體中且加載于所述處理器中并在所述處理器中執(zhí)行。因此,本發(fā)明還預(yù)期ー種包含指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,所述指令在于處理器中執(zhí)行后即刻使所述處理器執(zhí)行以下操作在接收到視頻單元的序列后,其中所述序列界定所述視頻單元的顯示次序;識(shí)別可不相互依賴的所述視頻単元的子集;將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到高速緩存;以及至少部分基于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)解碼經(jīng)編碼的視頻單元的所述子集的視頻塊。在解碼所述視頻塊中,所述指令致使所述處理器界定解碼次序,在所述解碼次序中,第二視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在所述顯示次序中,所述第二視頻單元出現(xiàn)在所述第一視頻單兀后。本發(fā)明的ー個(gè)或ー個(gè)以上方面的細(xì)節(jié)闡述于附圖和以下描述中。所述技術(shù)的其它特征、目標(biāo)和優(yōu)點(diǎn)從描述和圖式且從權(quán)利要求書將為顯而易見的。
圖I為說明示范性視頻編碼和解碼系統(tǒng)的示范性方框圖。圖2為說明示范性視頻編碼器的方框圖。圖3為說明可執(zhí)行與本發(fā)明一致的解碼技術(shù)的示范性視頻解碼器的方框圖。圖4為更詳細(xì)地說明視頻解碼器的預(yù)測(cè)單元和存儲(chǔ)器的方框圖。圖5為說明例如視頻幀的視頻塊的単元的概念圖,所述視頻塊可以不同于視頻塊的光柵掃描次序的解碼次序進(jìn)行解碼。圖6為說明幀內(nèi)的宏塊的空間重排序的概念圖。圖7為說明可并行解碼的例如視頻幀的兩個(gè)不同視頻塊単元的概念圖。圖8A為說明視頻單元的IBPBP模式的概念圖。圖8B為說明視頻單元的IBBPBBP模式的概念圖。圖9為說明具有可經(jīng)并行解碼的視頻塊的幀的概念圖。圖IOA為說明呈如在輸入流中界定的顯示次序的視頻單元的概念圖。圖IOB為說明根據(jù)不同于顯示次序的解碼次序解碼視頻単元的概念圖。圖11為說明根據(jù)本發(fā)明的解碼技術(shù)的流程圖。
具體實(shí)施例方式本發(fā)明描述相對(duì)于視頻塊的顯示次序修改視頻塊的解碼次序的技木??稍跁r(shí)間上修改所述解碼次序,使得不同視頻幀(或其它經(jīng)編碼的單元)的視頻塊經(jīng)并行解碼,其中所述不同幀的視頻塊的解碼次序交替或交錯(cuò)。具體來說,視頻塊的解碼次序可在兩個(gè)或兩個(gè)以上不同幀的視頻塊之間交替。此外,還可在給定視頻塊內(nèi)于空間上修改解碼次序,使得所述視頻塊以不對(duì)應(yīng)于視頻塊的光柵掃描次序的次序進(jìn)行解碼。所述技術(shù)可包括將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到高速緩存,其中所述高速緩存與解碼器相關(guān)聯(lián)。視頻塊的解碼次序可以如下方式來界定促進(jìn)加載到高速緩存中的數(shù)據(jù)的使用,且減小執(zhí)行額外存儲(chǔ)器到高速緩存的重新加載的需要直到高速緩存中的數(shù)據(jù)用于依賴于高速緩存中的數(shù)據(jù)的任何預(yù)測(cè)性解碼為止。以此方式,所述技術(shù)可通過改善高速緩存命中的可能性來改善存儲(chǔ)器的使用,借此減小從外部存儲(chǔ)器到與解碼器相關(guān)聯(lián)的內(nèi)部高速緩 存的存儲(chǔ)器加載的數(shù)目。解碼次序可以如下方式來具體地界定促進(jìn)將需要已存儲(chǔ)于高速緩存中的預(yù)測(cè)性數(shù)據(jù)且將其用于解碼中的可能性,且所述解碼次序可減少解碼過程期間從外部存儲(chǔ)器到內(nèi)部高速緩存的存儲(chǔ)器加載。所述技術(shù)可使用例如全局運(yùn)動(dòng)度量等統(tǒng)計(jì)度量,所述全局運(yùn)動(dòng)度量量化跨越視頻單元序列的至少一部分的平均運(yùn)動(dòng)。在另ー實(shí)例中,統(tǒng)計(jì)度量可包含平均運(yùn)動(dòng)度量,所述平均運(yùn)動(dòng)度量量化第一視頻單元與第二視頻單元之間的視頻塊的平均運(yùn)動(dòng)。在任何情況下,解碼次序可至少部分基于統(tǒng)計(jì)度量來界定,以便改善解碼過程中的高速緩存命中的可能性,而無需數(shù)據(jù)的存儲(chǔ)器到高速緩存的重新加載。圖I為說明可實(shí)施本發(fā)明的技術(shù)的示范性視頻編碼和解碼系統(tǒng)10的方框圖。如圖I中所展示,系統(tǒng)10包括源裝置12,源裝置12經(jīng)由通信信道15將經(jīng)編碼的視頻發(fā)射到目的地裝置16。源裝置12和目的地裝置16可包含廣泛裝置中的任一者。在一些情況下,源裝置12和目的地裝置16可包含無線通信裝置手持機(jī),例如所謂的蜂窩式或衛(wèi)星無線電電話。然而,更一般地應(yīng)用于視頻解碼的本發(fā)明的技術(shù)不必限于無線應(yīng)用或環(huán)境,且可應(yīng)用于包括視頻解碼能力的非無線裝置,例如計(jì)算機(jī)、游戲控制臺(tái)、電視機(jī)頂盒、多媒體播放器、顯示器等。
在圖I的實(shí)例中,源裝置12可包括視頻源20、視頻編碼器22、調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)23和發(fā)射器24。目的地裝置16可包括接收器26、調(diào)制解調(diào)器27、視頻解碼器28和顯示裝置30。源裝置12的視頻編碼器22可編碼從視頻源20接收的視頻數(shù)據(jù)。視頻源20可包含視頻捕獲裝置,例如,視頻相機(jī)、含有先前捕獲的視頻的視頻存檔或來自視頻內(nèi)容提供者的視頻饋送。作為另ー替代方案,視頻源20可產(chǎn)生作為源視頻的基于計(jì)算機(jī)圖形的數(shù)據(jù),或?qū)崨r轉(zhuǎn)播視頻、經(jīng)存檔的視頻和計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些情況下,如果視頻源20為視頻相機(jī),則源裝置12和目的地裝置16可形成所謂的相機(jī)電話或視頻電話。在每ー情況下,經(jīng)捕獲、預(yù)先捕獲或計(jì)算機(jī)產(chǎn)生的視頻可由視頻編碼器22編碼。視頻編碼器22—旦編碼視頻數(shù)據(jù),便可接著通過調(diào)制解調(diào)器23根據(jù)(例如)碼分多址(CDMA)或另一通信標(biāo)準(zhǔn)或技術(shù)的通信標(biāo)準(zhǔn)調(diào)制經(jīng)編碼的視頻信息,且經(jīng)由發(fā)射器24將經(jīng)編碼的視頻信息發(fā)射到目的地裝置16。調(diào)制解調(diào)器23可包括各種混頻器、濾波器、放大器或經(jīng)設(shè)計(jì)以用于信號(hào)調(diào)制的其它組件。發(fā)射器24可包括經(jīng)設(shè)計(jì)以用于發(fā)射數(shù)據(jù)的電路,包括放大器、濾波器和ー個(gè)或ー個(gè)以上天線。目的地裝置16的接收器26經(jīng)由信道15接收信息,且調(diào)制解調(diào)器27解調(diào)所述信息。由視頻解碼器28執(zhí)行的視頻解碼過程可實(shí)施本發(fā)明的技木,以便在解碼過程期間改善存儲(chǔ)器使用。具體來說,視頻解碼器28可以促進(jìn)存儲(chǔ)于解碼器28的內(nèi)部高速緩存中的數(shù)據(jù)的使用的方式來實(shí)施時(shí)間視頻塊重排序和可能的空間視頻塊重排序。在如此做時(shí),解碼器可有助于使從外部存儲(chǔ)器(在圖I中未展示)到解碼器28的內(nèi)部高速緩存的存儲(chǔ)器加載的量最小化。視頻解碼器28根據(jù)基于塊的預(yù)測(cè)性編碼技術(shù)或標(biāo)準(zhǔn)(例如,ITU-T H. 264/AVC或另ー標(biāo)準(zhǔn))來解碼視頻塊??山又鴮⒔?jīng)解碼視頻塊組裝為視頻幀以形成經(jīng)解碼視頻數(shù)據(jù)。顯示裝置28向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包含例如以下各者的多種顯示裝置中的任一者陰極射線管(CRT)、液晶顯示器(IXD)、等離子體顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另ー類型的顯示裝置。通信信道15可包含任何無線或有線通信媒體,例如射頻(RF)頻譜或ー個(gè)或ー個(gè)以上物理發(fā)射線,或無線媒體與有線媒體的任何組合。通信信道15可形成例如局域網(wǎng)絡(luò)、廣域網(wǎng)絡(luò)或全球網(wǎng)絡(luò)(例如,因特網(wǎng))的基于包的網(wǎng)絡(luò)的一部分。通信信道15大體上表示用于將視頻數(shù)據(jù)從源裝置12發(fā)射到目的裝置16的任何合適通信媒體或不同通信媒體的集ロ 。視頻編碼器22和視頻解碼器28可根據(jù)例如ITU-T H. 264/AVC標(biāo)準(zhǔn)的視頻壓縮標(biāo)準(zhǔn)互逆地操作。ITU H. 264標(biāo)準(zhǔn)還描述于MPEG-4的第10部分高級(jí)視頻編碼(AVC)中。然而,本發(fā)明的技術(shù)不限于任何特定標(biāo)準(zhǔn),且可容易地應(yīng)用于多種其它視頻編碼標(biāo)準(zhǔn)或技術(shù)中的任一者。雖然在圖I中未展示,但在ー些方面中,視頻編碼器22和視頻解碼器28可各自與音頻編碼器和解碼器集成,且可包括適當(dāng)MUX-DEMUX単元或其它硬件和軟件,以處置共同數(shù)據(jù)流或獨(dú)立數(shù)據(jù)流中的音頻和視頻兩者的編碼。如果可適用,則MUX-DEMU単元可遵照ITU H. 223多路復(fù)用器協(xié)議或例如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的其它協(xié)議。視頻編碼器22和視頻解碼器28各自可實(shí)施為ー個(gè)或ー個(gè)以上微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件,或其任何組合。視頻編碼器22和視頻解碼器28中的每ー者可包括于ー個(gè)或ー個(gè)以上編碼器或解碼器中,其中的任一者可集成為相應(yīng)移動(dòng)裝置、訂戶裝置、廣播裝置、服務(wù)器等中的組合式編碼器/解碼器(CODEC)的部分。在一些情況下,裝置12、16可以實(shí)質(zhì)上対稱的方式操作。舉例來說,裝置12、16中的每ー者可包括視頻編碼和解碼組件。因此,系統(tǒng)10可支持視頻裝置12、16之間的單向或雙向視頻發(fā)射,以(例如)用于視頻串流、視頻回放、視頻廣播或視頻電話。具體來說,本發(fā)明的技術(shù)在由視頻解碼器28實(shí)施的解碼過程期間應(yīng)用。具體來說,視頻解碼器28可執(zhí)行重排序可解碼單元(例如,視頻幀)的視頻塊的解碼技木。更ー般化地,可將幀、切片、幀的部分、圖片群組(GOP)或其它數(shù)據(jù)結(jié)構(gòu)界定為各自包括多個(gè)視頻塊的可獨(dú)立解碼的單元。在一些情況下,每ー視頻幀可包括一系列可獨(dú)立解碼的切片,且每ー切片可包括一系列宏塊,所述宏塊可布置成更小的塊。術(shù)語“經(jīng)編碼的単元”和“視頻単元”指代幀、切片、幀的部分、圖片群組(GOP),或可獨(dú)立解碼的其它數(shù)據(jù)結(jié)構(gòu)。經(jīng)編碼的單元內(nèi)的視頻塊可具有固定或不同的大小,且可根據(jù)所指定的編碼標(biāo)準(zhǔn)而在大小上不同??稍诿拷?jīng)編碼的單元基礎(chǔ)上進(jìn)行界定語法數(shù)據(jù),使得每ー經(jīng)編碼的単元包括相關(guān)聯(lián)的語法數(shù)據(jù)。視頻塊可包含所謂的宏塊,或其它大小的視頻數(shù)據(jù)塊。宏塊通常指代16X6的數(shù)據(jù)塊。ITU-T H. 264標(biāo)準(zhǔn)支持各種塊大小的幀內(nèi)預(yù)測(cè)(例如,用于亮度分量的16X16、8X8或4X4和用于色度分量的8X8)以及各種塊大小的幀間預(yù)測(cè)(例如,用于亮度分量的16X16、16X8、8X16、8X8、8X4、4X8和4X4和用于色度分量的對(duì)應(yīng)縮放的大小)。宏塊可指代共同地界定16X16像素的色度和亮度塊的集合。色度視頻塊通常經(jīng)下取樣,且亮度塊可采用不同的大小。在本發(fā)明中,短語“視頻塊”指代任何大小的視頻塊。視頻塊可指代色度塊、亮度塊,或可能指代共同地形成宏塊的色度和亮度塊的集合。此外,視頻塊可指代像素域中的視頻數(shù)據(jù)塊,或變換域(例如,離散余弦變換(DCT)域、類似于DCT的域、小波域等)中的數(shù)據(jù)塊。視頻編碼器22可執(zhí)行預(yù)測(cè)性編碼,其中將正編碼的視頻塊與預(yù)測(cè)性幀(或另ー經(jīng)編碼的単元)進(jìn)行比較以便識(shí)別預(yù)測(cè)性塊。將正被編碼的當(dāng)前視頻塊與預(yù)測(cè)性塊之間的差異編碼為殘余塊,且使用預(yù)測(cè)語法來識(shí)別預(yù)測(cè)性塊??勺儞Q且量化殘余塊。變換技術(shù)可包含DCT過程或概念上類似的過程、整數(shù)變換、小波變換或其它類型的變換。在DCT過程中,作為ー實(shí)例,變換過程將ー組像素值轉(zhuǎn)換成變換系數(shù),所述變換系數(shù)可表示頻域中像素值的能量。通常將量化應(yīng)用于變換系數(shù),且量化大體上涉及限制與任何給定變換系數(shù)相關(guān)聯(lián)的位的數(shù)目的過程。在變換和量化之后,可對(duì)經(jīng)量化和變換的殘余視頻塊執(zhí)行熵編碼。語法元素(例如,在編碼期間界定的濾波信息和預(yù)測(cè)向量)還可包括于用于每ー經(jīng)編碼的単元的經(jīng)熵編碼的位流中。一般來說,熵編碼包含共同地壓縮經(jīng)量化的變換系數(shù)和/或其它語法信息的序列的ー個(gè)或ー個(gè)以上過程。對(duì)經(jīng)量化的變換系數(shù)執(zhí)行例如Z形掃描技術(shù)(zig-zagscanning technique)的掃描技術(shù)(例如,作為熵編碼過程的部分),以便從ニ維視頻塊界定ー個(gè)或ー個(gè)以上串行化一維系數(shù)向量。接著(例如)經(jīng)由上下文自適應(yīng)可變長(zhǎng)度編碼(CAVLC)、上下文自適應(yīng)ニ進(jìn)制算術(shù)編碼(CABAC)或另ー熵編碼過程來熵編碼經(jīng)掃描的系數(shù)以及任何語法信息。如所提及,本發(fā)明的技術(shù)特別應(yīng)用于由視頻解碼器28執(zhí)行的解碼過程。具體來 說,如所提及,視頻解碼器28可以促進(jìn)存儲(chǔ)于解碼器28的內(nèi)部高速緩存中的數(shù)據(jù)的使用的方式來實(shí)施時(shí)間視頻塊重排序和可能的空間視頻塊重排序。為了有助于了解解碼過程,描述圖2以便首先解釋示范性編碼過程。圖2為說明與本發(fā)明一致的視頻編碼器50的方框圖。視頻編碼器50可對(duì)應(yīng)于裝置20的視頻編碼器22,或不同裝置的視頻編碼器。如圖2中所展示,視頻編碼器50包括預(yù)測(cè)單元32、加法器48和51,和存儲(chǔ)器34。視頻編碼器50還包括變換單元38和量化単元40,以及逆量化単元42和逆變換單元44。視頻編碼器50還包括熵編碼単元46。在編碼過程中還可實(shí)施ー個(gè)或ー個(gè)以上濾波器(未圖示)。在編碼過程期間,視頻編碼器50接收待編碼的視頻塊,且預(yù)測(cè)単元32執(zhí)行預(yù)測(cè)性編碼技木。對(duì)于幀間編碼,預(yù)測(cè)単元32將待編碼的視頻塊與ー個(gè)或ー個(gè)以上視頻參考幀或切片中的各種塊進(jìn)行比較以便界定預(yù)測(cè)性塊。對(duì)于幀內(nèi)編碼,預(yù)測(cè)単元32基于同一經(jīng)編碼的単元內(nèi)的相鄰數(shù)據(jù)而產(chǎn)生預(yù)測(cè)性塊。預(yù)測(cè)單元32輸出預(yù)測(cè)塊,且加法器48從正編碼的視頻塊減去所述預(yù)測(cè)塊以便產(chǎn)生殘余塊。對(duì)于幀間編碼,預(yù)測(cè)單元32可包含運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償単元,所述運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償単元識(shí)別指向預(yù)測(cè)塊的運(yùn)動(dòng)向量,且基于所述運(yùn)動(dòng)向量產(chǎn)生所述預(yù)測(cè)塊。通常,將運(yùn)動(dòng)估計(jì)視為產(chǎn)生運(yùn)動(dòng)向量的過程,所述運(yùn)動(dòng)向量估計(jì)運(yùn)動(dòng)。舉例來說,運(yùn)動(dòng)向量可指示預(yù)測(cè)性幀內(nèi)的預(yù)測(cè)性塊相對(duì)于當(dāng)前幀內(nèi)正編碼的當(dāng)前塊的移位。通常將運(yùn)動(dòng)補(bǔ)償視為基于由移動(dòng)估計(jì)確定的運(yùn)動(dòng)向量獲取或產(chǎn)生預(yù)測(cè)性塊的過程。對(duì)于幀內(nèi)編碼,預(yù)測(cè)単元32基于同一經(jīng)編碼的単元內(nèi)的相鄰數(shù)據(jù)而產(chǎn)生預(yù)測(cè)性塊。ー個(gè)或ー個(gè)以上幀內(nèi)預(yù)測(cè)模式可界定可如何界定幀內(nèi)預(yù)測(cè)塊經(jīng)。在預(yù)測(cè)單元32輸出預(yù)測(cè)塊且加法器48從正編碼的視頻塊減去預(yù)測(cè)塊以便產(chǎn)生殘余塊之后,變換單元38將變換應(yīng)用于殘余塊。所述變換可包含離散余弦變換(DCT)或概念上類似的變換,例如由H. 264標(biāo)準(zhǔn)界定的變換。還可使用小波變換、整數(shù)變換、子頻帶變換或其它類型的變換。在任何情況下,變換單元38將變換應(yīng)用于殘余塊,從而產(chǎn)生殘余變換系數(shù)的塊。變換可將殘余信息從像素域轉(zhuǎn)換到頻域。量化單元40接著量化殘余變換系數(shù)以進(jìn)ー步減小位速率。量化單元40(例如)可限制用以編碼所述系數(shù)中的每ー者的位的數(shù)目。在量化之后,熵編碼単元46從ニ維表示到ー個(gè)或ー個(gè)以上串行化的一維向量來掃描經(jīng)量化的系數(shù)塊??深A(yù)先編程掃描次序以按所界定的次序(例如,Z形掃描或另ー預(yù)先界定的次序)發(fā)生,或可能基于先前編碼統(tǒng)計(jì)而自適應(yīng)地界定掃描次序。在此掃描過程之后,熵編碼單元46根據(jù)熵編碼方法(例如,CAVLC或CABAC)來編碼經(jīng)量化的變換系數(shù)(連同任何語法元素),以進(jìn)ー步壓縮數(shù)據(jù)。包括于經(jīng)熵編碼的位流中的語法元素可包括來自預(yù)測(cè)単元32的預(yù)測(cè)語法,例如用于幀間編碼的運(yùn)動(dòng)向量或用于幀內(nèi)編碼的預(yù)測(cè)模式。包括于經(jīng)熵編碼的位流中的語法元素還可包括濾波信息或可用于解碼過程中的其它數(shù)據(jù)。CAVLC為ITU H. 264/MPEG4 (AVC標(biāo)準(zhǔn))所支持的一種類型的熵編碼技術(shù),其可由熵編碼単元46以向量化為基礎(chǔ)加以應(yīng)用。CAVLC以有效地壓縮 變換系數(shù)和/或語法元素的串行化“游程(run)”的方式使用可變長(zhǎng)度編碼(VLC)表。CABAC為ITUH. 264/MPEG4 (AVC標(biāo)準(zhǔn))所支持的另ー類型的熵編碼技術(shù),其可由熵編碼単元46以向量化為基礎(chǔ)加以應(yīng)用。CABAC可涉及若干階段,所述階段包括ニ進(jìn)制化(binarization)、上下文模型選擇和ニ進(jìn)制算木編碼。在此情況下,熵編碼単元46根據(jù)CABAC來編碼變換系數(shù)和語法元素。還存在許多其它類型的熵編碼技術(shù),且新的熵編碼技術(shù)將很可能在將來出現(xiàn)。本發(fā)明不限于任何特定熵編碼技術(shù)。在熵編碼単元46進(jìn)行的熵編碼之后,可將經(jīng)編碼的視頻發(fā)射到另ー裝置或進(jìn)行存檔以供稍后發(fā)射或檢索。此外,經(jīng)編碼的視頻可包含經(jīng)熵編碼的運(yùn)動(dòng)向量和其它各種語法,其可由解碼器使用以恰當(dāng)?shù)嘏渲媒獯a過程。逆量化単元42和逆變換單元44分別應(yīng)用逆量化和逆變換,以在像素域中重構(gòu)殘余塊。求和器51將經(jīng)重構(gòu)的殘余塊加到由預(yù)測(cè)單元32產(chǎn)生的預(yù)測(cè)塊,以產(chǎn)生經(jīng)重構(gòu)的視頻塊以存儲(chǔ)于存儲(chǔ)器34中。在此存儲(chǔ)之前,濾波還可應(yīng)用于所述視頻塊以改善視頻質(zhì)量。此濾波可減小塊效應(yīng)或其它假影,且可在循環(huán)中(在所述情況下,用于預(yù)測(cè)的數(shù)據(jù)為經(jīng)濾波的數(shù)據(jù))或循環(huán)后(在所述情況下,用于預(yù)測(cè)的數(shù)據(jù)為未經(jīng)濾波的數(shù)據(jù))執(zhí)行。圖3為說明視頻解碼器60的一實(shí)例的方框圖,所述視頻解碼器60使用本發(fā)明的技術(shù)中的一者或一者以上來解碼視頻序列。所接收的視頻序列可包含經(jīng)編碼的圖像幀集合、幀切片集合、經(jīng)共同地編碼的圖片群組(GOP),或廣泛多種經(jīng)編碼的視頻單元,所述視頻単元包括經(jīng)編碼的視頻塊和用以界定如何解碼此些視頻塊的語法。視頻解碼器60可對(duì)應(yīng)于圖I中的系統(tǒng)10的視頻解碼器28,或可包含另ー裝置的視頻解碼器。出于說明性目的而展示圖3中所說明的各種組件??山M合各種組件,且可存在其它組件。如下文更詳細(xì)地描述,視頻解碼器60可相對(duì)于常規(guī)解碼技術(shù)來修改或調(diào)整視頻塊的解碼次序。常規(guī)上,可以解碼次序循序地解碼視頻単元。此外,可從視頻単元的左上角中的第一視頻塊到右下角中的最后視頻塊以光柵掃描次序來解碼每ー視頻單元的視頻塊。然而,本發(fā)明的技術(shù)以促進(jìn)存儲(chǔ)器的有效使用的方式來修改視頻塊的此解碼次序??稍跁r(shí)間上修改解碼次序,使得不同視頻幀或切片(或其它經(jīng)編碼的單元)的視頻塊經(jīng)并行解碼。在此情況下,視頻塊的解碼次序可在兩個(gè)或兩個(gè)以上不同幀的視頻塊之間交替。此外,還可在給定視頻塊內(nèi)于空間上修改解碼次序,使得所述視頻塊以不對(duì)應(yīng)于視頻塊的光柵掃描次序的次序進(jìn)行解碼。統(tǒng)計(jì)度量可用以幫助預(yù)測(cè)經(jīng)排序應(yīng)早于原本可執(zhí)行的解碼來進(jìn)行解碼的那些視頻塊,使得此視頻塊解碼可在替換高速緩存70中的數(shù)據(jù)之前使用此數(shù)據(jù)。以此方式,可隨時(shí)間減少對(duì)高速緩存70的存儲(chǔ)器加載的數(shù)目。視頻解碼器60包括熵解碼単元52,熵解碼単元52執(zhí)行由圖2的熵編碼単元46執(zhí)行的編碼的互逆解碼功能。具體來說,熵解碼単元52可執(zhí)行CAVLC或CABAC解碼,或由視頻編碼器50使用的任何其它類型的熵解碼。呈ー維串行化格式的經(jīng)熵解碼的視頻塊可經(jīng)逆掃描以將ー個(gè)或ー個(gè)以上一維系數(shù)向量轉(zhuǎn)換回ニ維塊格式。向量的數(shù)目和大小以及針對(duì)視頻塊界定的掃描次序可界定如何重構(gòu)ニ維塊。可將例如運(yùn)動(dòng)向量的經(jīng)熵解碼的預(yù)測(cè)語法元素(和可能的其它經(jīng)解碼的語法元素)從熵解碼單元52發(fā)送到預(yù)測(cè)單元54。視頻解碼器60還包括預(yù)測(cè)單元54、逆量化単元56、逆變換單元58、存儲(chǔ)器62和求和器64。此外,視頻解碼器60還包括對(duì)求和器64的輸出進(jìn)行濾波的濾波器単元(未圖示)。預(yù)測(cè)單元54可包括相關(guān)聯(lián)的高速緩存70,高速緩存70可包含(例如)比存儲(chǔ)器62 快且小的相對(duì)快速的內(nèi)部存儲(chǔ)器電路。預(yù)測(cè)性數(shù)據(jù)可基于ー個(gè)或ー個(gè)以上視頻單元的統(tǒng)計(jì)而從存儲(chǔ)器62加載到高速緩存70,以便促使解碼過程將需要的數(shù)據(jù)處于高速緩存70中。此外,為了在無需重新加載高速緩存70中的數(shù)據(jù)的情況下進(jìn)一步促進(jìn)此數(shù)據(jù)的使用,可修改不同經(jīng)編碼的視頻單元的視頻塊的解碼次序,使得解碼次序不對(duì)應(yīng)于顯示次序。兩個(gè)或兩個(gè)以上視頻單元可經(jīng)并行解碼,使得解碼過程在所述兩個(gè)或兩個(gè)以上不同視頻單元的視頻塊之間交替。在此情況下,預(yù)測(cè)單元54可識(shí)別可不相互依賴的視頻單元,且可使用編碼統(tǒng)計(jì)來填充高速緩存70并界定視頻塊的解碼次序以便促進(jìn)高速緩存70中的數(shù)據(jù)的使用。如果第一視頻單元的視頻塊可不具有指向第二視頻單元的視頻塊的運(yùn)動(dòng)向量,則第一視頻単元與第二視頻單元可不相互依賴,且反之亦然。預(yù)測(cè)單元54從熵解碼單元52接收預(yù)測(cè)語法(例如,運(yùn)動(dòng)向量)。使用預(yù)測(cè)語法,預(yù)測(cè)單元54產(chǎn)生來自高速緩存70的預(yù)測(cè)塊,所述預(yù)測(cè)塊可經(jīng)由加法器64與殘余塊進(jìn)行組合。逆量化単元56執(zhí)行逆量化,且逆變換單元58執(zhí)行逆變換以將殘余視頻塊的系數(shù)改變回到像素域。加法器64組合每一預(yù)測(cè)塊與由逆變換單元58輸出的對(duì)應(yīng)殘余塊以便重構(gòu)給定視頻塊。一般來說,視頻解碼器60可接收視頻単元的序列,且所述序列可界定視頻單元的顯示次序。預(yù)測(cè)單元54可識(shí)別可不相互依賴的視頻單元的子集,且可將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器62加載到高速緩存70,其中高速緩存70與解碼器60的預(yù)測(cè)單元54相關(guān)聯(lián)。存儲(chǔ)器62還可與解碼器70相關(guān)聯(lián),或可為與其它處理器或単元共享的外部存儲(chǔ)器。然而,一般來說,高速緩存70可包含比存儲(chǔ)器62的大小小且在存儲(chǔ)器存取速度方面較快的存儲(chǔ)器電路。高速緩存70的大小可經(jīng)具體設(shè)計(jì)以便避免除若干宏塊行的開始處外的任何地方對(duì)高速緩存暖機(jī)的需要。具體來說,高速緩存的大小可經(jīng)選定,以使高速緩存未命中最小化。所述過程可移到4個(gè)宏塊行(來自若干個(gè)幀)的連續(xù)集合,且當(dāng)過程移到宏塊行的另ー集合吋,高速緩存中的數(shù)據(jù)歸因于相對(duì)大的幀寬度而預(yù)期為無效的。在此情況下,可在暖機(jī)周期期間預(yù)期許多高速緩存未命中,但在暖機(jī)周期之后,本發(fā)明的技術(shù)可有助于減少可發(fā)生的此些高速緩存未命中。預(yù)測(cè)單元54可至少部分基于高速緩存70中的預(yù)測(cè)性數(shù)據(jù)來解碼經(jīng)編碼的視頻單元的子集的視頻塊。根據(jù)本發(fā)明,預(yù)測(cè)單元54可界定解碼次序,在所述解碼次序中,第二視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在顯示次序中,所述第二視頻單元出現(xiàn)在第一視頻單元之后。存儲(chǔ)器62和高速緩存70可包含廣泛多種存儲(chǔ)器電路中的任一者。通常,高速緩存70相對(duì)于存儲(chǔ)器62為較小且較快的存儲(chǔ)器。作為ー個(gè)實(shí)例,存儲(chǔ)器62可包含動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),且高速緩存70可包含靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)或嵌入式DRAM。經(jīng)編碼的視頻單元的序列可包含視頻幀的序列、視頻幀的部分的序列或視頻幀的切片的序列。解碼次序可在第一經(jīng)編碼的視頻單元的ー個(gè)或ー個(gè)以上視頻塊與第二視頻單元的ー個(gè)或ー個(gè)以上視頻塊之間交替。根據(jù)本發(fā)明,可界定解碼次序,以便實(shí)質(zhì)上改善如下可能性加載于高速緩存中的預(yù)測(cè)性數(shù)據(jù)用于解碼視頻単元子集的視頻塊中,而無需重新加載高速緩存。對(duì)于給定的經(jīng)編碼單元的視頻塊,還可在空間上界定或改變解碼次序。在此情況下,解碼次序可由預(yù)測(cè)單元54界定,使得第一視頻單元的視頻塊以不對(duì)應(yīng)于第一視頻單元的光柵掃描次序的次序進(jìn)行解碼,且第二視頻單元的視頻塊以不對(duì)應(yīng)于第二視頻單元的光柵掃描次序的次序進(jìn)行解碼。因此,第一視頻單元的第二行的至少ー視頻塊可在第一視頻單元的一第一行的至少ー個(gè)視頻塊之前進(jìn)行解碼,其中在視頻單元的所顯示版本中,第二行在第一行下方。 為了界定解碼次序,預(yù)測(cè)單元54可使用不同經(jīng)編碼的視頻單元中的視頻塊的統(tǒng)計(jì)。預(yù)測(cè)單元54或可能的熵解碼単元52或単獨(dú)的預(yù)處理単元(未圖示)可預(yù)先預(yù)處理若干幀的視頻流以便產(chǎn)生統(tǒng)計(jì)。所述統(tǒng)計(jì)可包含用于全部經(jīng)預(yù)處理的幀和相關(guān)聯(lián)的參考幀列表的全局運(yùn)動(dòng)向量。全局運(yùn)動(dòng)向量在此情形下可不表示任何真實(shí)運(yùn)動(dòng),而是可包含(例如)針對(duì)所有經(jīng)預(yù)處理的幀的流中的平均運(yùn)動(dòng)向量。全局運(yùn)動(dòng)向量可用以識(shí)別提供所讀出參考數(shù)據(jù)中的重疊的最佳機(jī)會(huì)的幀之間的平均水平移位與平均垂直移位。幀之間的平均水平移位與平均垂直移位可經(jīng)量化且舍入(例如)到最接近的16個(gè)像素以界定將具有重疊的參考數(shù)據(jù)的不同幀的很可能區(qū)域。預(yù)先預(yù)處理的幀可包含幀的滑動(dòng)窗,或可包含下文更詳細(xì)地論述的離散幀集合,例如IBPBP幀集合或IBBPBBP幀集合。此外,預(yù)測(cè)單元54 (或執(zhí)行預(yù)處理的另ー單元)可首先確定可不相互依賴的兩個(gè)或兩個(gè)以上視頻單元,可不相互依賴(例如)意味著此些視頻單元不依賴于彼此的數(shù)據(jù)來進(jìn)行預(yù)測(cè)。這些類型的非相關(guān)視頻単元可并行解碼,且加載到高速緩存70中的數(shù)據(jù)(連同視頻塊的所界定編碼次序)可有助于確保避免到高速緩存70的重復(fù)性加載。從存儲(chǔ)器62加載到高速緩存70的任何預(yù)測(cè)性數(shù)據(jù)可用于解碼若干個(gè)視頻塊,即使此些視頻塊在視頻単元內(nèi)為不連續(xù)的,或包括于兩個(gè)或兩個(gè)以上不同視頻單元中也是如此。在一個(gè)實(shí)例中,預(yù)測(cè)單元54可界定與視頻單元的序列中的視頻塊相關(guān)聯(lián)的統(tǒng)計(jì)度量,且可至少部分基于所述統(tǒng)計(jì)度量來界定解碼次序。統(tǒng)計(jì)度量可包含全局運(yùn)動(dòng)度量,全局運(yùn)動(dòng)度量量化跨越視頻單元的序列的至少一部分的平均運(yùn)動(dòng)。在另ー實(shí)例中,預(yù)測(cè)單元54可確定量化第一視頻單元與第二視頻單元之間的視頻塊的平均運(yùn)動(dòng)的平均運(yùn)動(dòng)度量,其中第一視頻單元和第二視頻單元為可不相互依賴的單元。預(yù)測(cè)單元54可接著至少部分基于平均運(yùn)動(dòng)度量來界定解碼次序。如下文更詳細(xì)地解釋,本發(fā)明的技術(shù)可對(duì)常用的視頻單元序列起作用。在ー個(gè)實(shí)例中,視頻單元序列遵循IBPBP格式,所述IBPBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第一 P幀、緊接在后面的第二 B幀、緊接在后面的第二 P幀,其中視頻單元子集由第一 B幀和第二 P幀組成。在另ー實(shí)例中,視頻單元序列可遵循IBBPBBP格式,所述IBBPBBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第二 B幀、緊接在后面的第一P幀、緊接在后面的第三B幀、緊接在后面的第四B幀、緊接在后面的第二 P幀,其中視頻單元子集由第一 B幀、第二 B幀和第二 P幀組成。預(yù)處理可在IBPBP幀的離散集合或IBBPBBP幀的離散集合上發(fā)生,或可在滑動(dòng)窗中進(jìn)行以界定幀的滑動(dòng)窗上的平均運(yùn)動(dòng)。所述技術(shù)還可應(yīng)用于其它類型的視頻單元,例如幀的切片或其它部分。術(shù)語I幀指代經(jīng)幀內(nèi)編碼的幀。術(shù)語P幀指代依賴于預(yù)測(cè)性數(shù)據(jù)的ー個(gè)集合的預(yù)測(cè)性經(jīng)幀間編碼的幀。術(shù)語B幀指代依賴于預(yù)測(cè)性數(shù)據(jù)的兩個(gè)不同集合(例如,來自兩個(gè)不同幀)的雙向預(yù)測(cè)性經(jīng)幀間編碼的幀。IBPBP和IBBPBBP為編碼視頻序列的兩種常見方式。本發(fā)明的技術(shù)可應(yīng)用于這些或其它經(jīng)編碼的視頻序列。圖4為更詳細(xì)地說明預(yù)測(cè)單元54和存儲(chǔ)器62的方框圖。如所展示,預(yù)測(cè)單元54包括高速緩存,所述高速緩存可包含相對(duì)于外部存儲(chǔ)器72為小且快速的存儲(chǔ)器。預(yù)測(cè)單元可向存儲(chǔ)器控制器71發(fā)出存儲(chǔ)器獲取命令,所述存儲(chǔ)器獲取命令致使從外部存儲(chǔ)器72將數(shù)據(jù)加載到預(yù)測(cè)單元54的內(nèi)部高速緩存70。存儲(chǔ)器72可在外部,即,其位于以其它方式形成解碼器50的處理器外部。相反,高速緩存70可包含在形成解碼器50的處理器內(nèi)部的存儲(chǔ)器。所述處理器可經(jīng)編程或配置以執(zhí)行圖3所展示的不同単元和模塊的各種功能。此外,本發(fā)明提供包括將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器62加載到高速緩存70的技木。視頻塊的解碼次序可以如下方式進(jìn)行界定促進(jìn)加載到高速緩存70中的數(shù)據(jù)的使用,且減小執(zhí)行額外存儲(chǔ)器到高速緩存的重新加載的需要,直到高速緩存70中的數(shù)據(jù)用于依賴于此數(shù)據(jù)的任何預(yù)測(cè)性解碼為止。以此方式,所述技術(shù)可通過改善高速緩存70中的高速緩存命中的可能性來改善存儲(chǔ)器62和高速緩存70的使用,借此減少?gòu)耐獠看鎯?chǔ)器72的存儲(chǔ)器加載的數(shù)目。此外,可在時(shí)間上修改解碼次序,使得不同視頻幀(或其它經(jīng)編碼的單元)的視頻塊以交替方式進(jìn)行解碼。在此情況下,視頻塊的解碼次序可在兩個(gè)或兩個(gè)以上不同幀的視頻塊之間交替。此外,還可在給定視頻塊內(nèi)于空間上修改解碼次序,使得所述視頻塊以不對(duì)應(yīng)于視頻塊的光柵掃描次序的次序進(jìn)行解碼。圖5為說明視頻塊的視頻單元(例如,視頻幀)77的概念圖,所述視頻塊可以不同于視頻塊的光柵掃描次序的解碼次序進(jìn)行解碼。此情景可稱為視頻単元77的視頻塊的解碼次序的空間重排序。在圖5中,將視頻単元77的視頻塊以光柵掃描次序從I到64進(jìn)行標(biāo)記。然而,根據(jù)本發(fā)明,視頻單元77的視頻塊的解碼次序可不同于此光柵掃描次序。具體來說,在解碼第一行的所有視頻塊(VB I到VB 8)之前解碼第二行(VB 9到VB 16)的一個(gè)或ー個(gè)以上視頻塊可為有利的。舉例來說,VB I和VB 10歸因于VB I和VB 10的空間接近度而比VB I和VB 9可更有可能依賴于相同預(yù)測(cè)性數(shù)據(jù)。出于此原因,從使用高速緩存70的觀點(diǎn),在解碼VB 8之前解碼VB 10可為更有利的。由于解碼依賴于最初執(zhí)行的編碼,因此視頻解碼器50可利用圖5中所展示的視頻塊的運(yùn)動(dòng)向量的運(yùn)動(dòng)向量統(tǒng)計(jì)以便界定解碼次序。運(yùn)動(dòng)向量(例如,視頻單元77的平均運(yùn)動(dòng))的一般統(tǒng)計(jì)可允許視頻解碼器50相對(duì)于加載到高速緩存70中的數(shù)據(jù)集合估計(jì)所要解碼次序,以便促進(jìn)高速緩存命中且減小將數(shù)據(jù)加載高速緩存70中并替換高速緩存70中的數(shù)據(jù)的需要。圖6為說明幀內(nèi)的宏塊的空間重排序的概念圖。如所展示,解碼行66的第一宏塊。 接著,解碼來自行67的第二宏塊。接下來,解碼來自行68的第三宏塊,且最后解碼來自行69的第四宏塊。此時(shí),可解碼來自行66的下一宏塊。以此方式,可界定解碼次序,使得給定視頻單元的視頻塊以不對(duì)應(yīng)于光柵掃描次序的次序進(jìn)行解碼。換句話說,第一視頻單元的第二行的至少ー個(gè)視頻塊在第一視頻單元的第一行的至少ー個(gè)視頻塊之前進(jìn)行解碼,其中第二行在第一行下方。這允許在高速緩存70 (圖3)中更充分地利用來自參考幀的參考區(qū)域65,從而避免數(shù)據(jù)從存儲(chǔ)器62到高速緩存70的加載和重新加載。圖7為說明可經(jīng)并行解碼的兩個(gè)不同視頻塊単元(78和79)(例如,兩個(gè)不同視頻幀)的概念圖。此情景可稱為視頻單元78和79的視頻塊的解碼次序的時(shí)間重排序。本發(fā)明預(yù)期視頻塊的時(shí)間重排序和空間重排序兩者,以改善高速緩存使用且實(shí)質(zhì)上使高速緩存命中最大化。在時(shí)間重排序的情況下,視頻解碼器50在解碼過程中可在視頻單元78和79的視頻塊之間交替。在圖7中,將視頻単元78的視頻塊以光柵掃描次序從I到64進(jìn)行標(biāo)記,且將視頻単元79的視頻塊類似地以光柵掃描次序從I到64進(jìn)行標(biāo)記。然而,根據(jù)本發(fā)明,在視頻單元78和79的視頻塊可經(jīng)并行共同解碼的范圍內(nèi),視頻單元78和79的視頻塊的解 碼次序可不同于光柵掃描次序。具體來說,在解碼視頻単元78的所有視頻塊之前解碼視頻單元79的ー個(gè)或ー個(gè)以上視頻塊可為有利的。舉例來說,視頻単元78和79的位于同一地點(diǎn)或緊密定位的視頻塊比給定視頻單元的兩個(gè)空間上相距較遠(yuǎn)的視頻塊可更有可能依賴于相同預(yù)測(cè)性數(shù)據(jù)。出于此原因,從使用高速緩存70的觀點(diǎn),在解碼視頻單元78的VB 8之前解碼視頻單元79的VB I可更有利。視頻單元78和79可為非相互依賴的,意味著視頻單元78并不依賴視頻單元79的任何數(shù)據(jù)來進(jìn)行預(yù)測(cè),且視頻單元79并不依賴視頻単元78的任何數(shù)據(jù)來進(jìn)行預(yù)測(cè)。這允許在解碼過程中并行地解碼視頻単元78和79且在視頻單元78和79的視頻塊之間交替。視頻解碼器50可利用視頻單元78的視頻塊的運(yùn)動(dòng)向量相對(duì)于視頻單元79的視頻塊的運(yùn)動(dòng)向量的運(yùn)動(dòng)向量統(tǒng)計(jì)以便界定解碼次序。在此情況下,視頻單元78與79之間的相對(duì)運(yùn)動(dòng)可用以估計(jì)可將類似數(shù)據(jù)用于解碼的那些視頻塊。作為ー說明,視頻單元78和79中所展示的粗體塊可全部依賴于預(yù)測(cè)性數(shù)據(jù)的共同集合。然而,如所展示,視頻單元79的粗體塊具有相對(duì)于視頻單元78的粗體塊的運(yùn)動(dòng)。視頻單元78的視頻塊相對(duì)于視頻單元79的那些視頻塊的平均運(yùn)動(dòng)可用以量化或估計(jì)預(yù)期的運(yùn)動(dòng),借此允許視頻解碼器界定在視頻單元78的視頻塊與視頻單元79的視頻塊之間交替的交替視頻塊解碼次序。以此方式,視頻單元78和79的依賴于類似數(shù)據(jù)進(jìn)行解碼的那些視頻塊可在時(shí)間上更緊密進(jìn)行解碼,借此有助于使在高速緩存70中高速緩存其數(shù)據(jù)的可能性最大化且借此減少解碼過程期間到高速緩存70的重復(fù)性存儲(chǔ)器加載。圖8A為說明視頻單元的IBPBP模式的概念圖。在IBPBP格式下,視頻幀序列包括I幀、緊接在后面的第一 B幀、緊接在后面的第一 P幀、緊接在后面的第二 B幀、緊接在后面的第二 P幀。在此情況下,第一 B幀和第二 P幀可不相互依賴。因此,視頻解碼器50可識(shí)別或界定第一 B幀和第二 P幀作為用于并行共同解碼的候選者。在此情況下,視頻解碼器50可循序地處理所述視頻幀,但可并行地解碼第一 B幀和第二 P幀,從而在第一 B幀的視頻塊與第二 P幀的視頻塊之間交替。圖8B為說明視頻單元的IBBPBBP模式的概念圖。在IBBPBBP格式下,視頻幀序列包括I幀、緊接在后面的第一 B幀、緊接在后面的第二 B幀、緊接在后面的第一 P幀、緊接在后面的第三B幀、緊接在后面的第四B幀、緊接在后面的第二 P幀。在此情況下,第一 B幀、第二 B幀和第二 P幀可不相互依賴。因此,視頻解碼器50可識(shí)別或界定第一 B幀、第二 B幀和第二 P幀作為用于并行共同解碼的候選者。在此情況下,視頻解碼器50可大體上循序地處理所述視頻幀,但可并行地解碼第一 B幀、第二 B幀和第二 P幀,從而在第一 B幀、第二B幀和第二 P幀的視頻塊之間交替。圖9為說明具有可并行解碼的視頻塊的幀的概念圖。圖9中所展示的情景可類似于圖8B的情景,其中視頻幀遵循IBBPBBP格式。呈此IBBPBBP格式的幀可標(biāo)記為P/Ι幀O、B幀1、B幀2、P幀3、B幀4、B幀5和P幀6。在圖9中僅說明這些幀中的一些幀。圖9說明解碼期間的參考幀讀取來自不同幀中的宏塊的相同區(qū)域的ー個(gè)實(shí)例。依據(jù)時(shí)間和空間上鄰近的宏塊中的運(yùn)動(dòng)向量之間的相關(guān)性,經(jīng)連續(xù)處理的宏塊的讀取區(qū)域的類似性可變化。在圖9中,MB代表宏塊,且記號(hào)表示行和列位置(例如,行為k,列為n,Dvl為幀之間的垂直移位,Dhl為幀之間的水平移位)。Dvl和Dhl可基干與本文中所描述的全局運(yùn)動(dòng)向量ー樣的統(tǒng)計(jì)度量。如圖9中所展示,B幀I、B幀2和P幀6全部可取決于來自P巾貞3和I/P幀O的數(shù)據(jù)。圖9中所展示的B幀1、B幀2和P幀6的所說明視頻塊(例如)可各自取決于分別通過P幀3和Ι/P幀O的區(qū)域81和82所界定的數(shù)據(jù)子集。在此情況下,以下情形可為有利的并行地解碼B幀1、B幀2和P幀6的視頻塊,使得區(qū)域81和82中的數(shù)據(jù)可在高速緩存70中被充分利用,隨后重新加載高速緩存70以用于稍后解碼。因此,視頻解碼器50可界定B幀I、B幀2和P幀6的視頻塊的解碼次序,所述解碼次序在不同幀的視頻塊之間交替。視頻解碼器50(例如)可解碼來自B幀I的塊、緊接在后面的來自B幀2的塊、緊接在后面的來自P幀6的塊、緊接在后面的來自B幀I的另ー塊、緊接在后面的來自B幀2的另ー塊、緊接在后面的來自P幀6的另ー塊,以此類推。如本文中所解釋,通過基于運(yùn)動(dòng)向量的ー個(gè)或ー個(gè)以上統(tǒng)計(jì)度量界定的不同幀的全局運(yùn)動(dòng)或此些幀的相對(duì)運(yùn)動(dòng)可用以界定每ー幀內(nèi)的發(fā)生視頻塊之間的交替所處的空間位置。換句話說,視頻塊之間的交替相對(duì)于位于同一地點(diǎn)的視頻塊可不發(fā)生,但相對(duì)于偏移了此些幀之間的所估計(jì)平均運(yùn)動(dòng)量的不同幀的視頻塊可發(fā)生。視頻塊的時(shí)間重排序可與每ー幀內(nèi)的視頻塊的空間重排序組合,以進(jìn)一歩改善高速緩存70的使用。圖IOA為說明呈如在輸入流中所界定的顯示次序的視頻單元的概念圖。在此實(shí)例中,輸入流包含I巾貞、緊接在后面的P巾貞、緊接在后面的b巾貞、緊接在后面的b巾貞、緊接在后面的P幀、緊接在后面的B幀、緊接在后面的b幀、緊接在后面的b幀、緊接在后面的P幀、緊接在后面的b幀、緊接在后面的P幀。B幀可包含自身用作預(yù)測(cè)性數(shù)據(jù)的雙向預(yù)測(cè)性幀,而b幀可包含可不用作預(yù)測(cè)性數(shù)據(jù)的雙向預(yù)測(cè)性幀。通過數(shù)字91、92、93和94界定的幀集合可為可同時(shí)解碼的集合。集合91可能不具有任何相互依賴性。類似地,集合92、集合93和集合94在每ー給定集合內(nèi)還可能不具有任何相互依賴性。因此,這些集合91、92、93和94中的每ー者可通過解碼器50識(shí)別為可共同解碼。圖IOB為說明根據(jù)不同于顯示次序的解碼次序解碼視頻単元的概念圖。在此情況、下,解碼器50可執(zhí)行I幀解碼、緊接在后面的P幀解碼。解碼器50可接著對(duì)(例如)由圖IOA中的集合91界定的b幀l、b幀2和P幀并行地執(zhí)行解碼。在此情況下,如本文中所描述,解碼器50可在集合91中的不同幀的視頻塊之間交替,以便更有效地使用高速緩存70。
接下來,解碼器50可并行地執(zhí)行集合92的B幀解碼與P幀解碼。接下來,解碼器50可并行地執(zhí)行集合93的b幀解碼與b幀解碼。最后,解碼器50可并行地執(zhí)行集合94的b幀解碼與P幀解碼。在并行地執(zhí)行解碼中,解碼器50可根據(jù)視頻塊的時(shí)間重排序在不同幀的視頻塊之間交替,其促進(jìn)高速緩存70中的數(shù)據(jù)的使用而無需存儲(chǔ)器重新加載。同吋,每ー個(gè)別幀的視頻塊的空間重排序還可由視頻解碼器50執(zhí)行以進(jìn)ー步改善高速緩存命中的數(shù)目。圖11為說明根據(jù)本發(fā)明的解碼技術(shù)的流程圖。如圖5中所展示,視頻解碼器50接收界定顯示次序的視頻單元的序列(101)。視頻解碼器50可執(zhí)行預(yù)處理以識(shí)別可不相互依賴的視頻單元的子集(102)。舉例來說,熵解碼単元52或預(yù)測(cè)單元54或可能的単獨(dú)預(yù)處理単元(未圖示)可執(zhí)行視頻序列的預(yù)處理,以識(shí)別可不相互依賴的視頻單元的子集。此外,作為此預(yù)處理的部分,可搜集例如本文中所描述的那些統(tǒng)計(jì)的統(tǒng)計(jì)以用于界定視頻塊的解碼次序。如上文所提及,例如,在幀序列上界定的全局運(yùn)動(dòng)可用以近似或估計(jì)幀集合中的全局運(yùn)動(dòng),其可接著用以幫助界定所要解碼次序。視頻解碼器50可包括用于在預(yù)處理和解碼階段期間存儲(chǔ)輸入視頻流的額外幀緩沖器,這是由于若干個(gè)幀可在解碼之前經(jīng)預(yù)處理,且?guī)峡山又鶕?jù)本發(fā)明被并行解碼。預(yù)測(cè)單元54將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器62加載到與預(yù)測(cè)單元54相關(guān)聯(lián)的高速緩存70(103)。預(yù)測(cè)單元54 (或可能的單獨(dú)預(yù)處理單元)可界定視頻塊的實(shí)質(zhì)上使高速緩存命中最大化的解碼次序(104)。在此情況下,解碼次序可在不同幀的視頻塊之間交替(時(shí)間重排序),且還可在給定幀內(nèi)遵循不同于其光柵掃描次序的次序(空間重排序)。預(yù)測(cè)單元54基于所界定的解碼次序來解碼視頻塊(105)。可在包括無線手持機(jī)和集成電路(IC)或IC集合(即,芯片組)的廣泛多種裝置或設(shè)備中實(shí)施本發(fā)明的技木。提供已描述的任何組件、模塊或単元以強(qiáng)調(diào)功能性方面且未必要求通過不同硬件單元來實(shí)現(xiàn)。因此,可以硬件、軟件、固件或其任何組合來實(shí)施本文所描述的技木。如果以硬件來實(shí)施,則描述為模塊、単元或組件的任何特征可共同實(shí)施于集成式邏輯裝置中或単獨(dú)地實(shí)施為離散但可互操作的邏輯裝置。如果以軟件來實(shí)施,則所述技術(shù)可至少部分通過計(jì)算機(jī)可讀媒體來實(shí)現(xiàn),所述計(jì)算機(jī)可讀媒體包含在處理器中執(zhí)行時(shí)執(zhí)行上述方法中的一者或一者以上的指令。所述計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲(chǔ)媒體,且可形成計(jì)算機(jī)程序產(chǎn)品的部分,所述計(jì)算機(jī)程序產(chǎn)品可包括封裝材料。所述計(jì)算機(jī)可讀存儲(chǔ)媒體可包含隨機(jī)存取存儲(chǔ)器(RAM)(例如,同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM))、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃存儲(chǔ)器、磁性或光學(xué)數(shù)據(jù)存儲(chǔ)媒體等。替代地或另外,所述技術(shù)可至少部分通過載運(yùn)或傳送呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的代碼且可由計(jì)算機(jī)存取、讀取和/或執(zhí)行的計(jì)算機(jī)可讀通信媒體來實(shí)現(xiàn)??捎嫂`個(gè)或ー個(gè)以上處理器(例如,ー個(gè)或ー個(gè)以上數(shù)字信號(hào)處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路)執(zhí)行所述代碼。因此,如本文中所使用的術(shù)語“處理器”可指代前述結(jié)構(gòu)或適于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。此外,在ー些方面中,本文所描述的功能性可提供于經(jīng)配置以用于編碼和解碼的專用軟件模塊或硬件模塊內(nèi),或并入于組合式視頻 編解碼器中。而且,所述技術(shù)可完全實(shí)施于ー個(gè)或ー個(gè)以上電路或邏輯元件中。
已描述了本發(fā)明的各種方面。這些和其它方面在所附權(quán)利要求書的范圍內(nèi)。權(quán)利要求
1.ー種解碼視頻數(shù)據(jù)的方法,所述方法包含 在解碼器中接收視頻単元的序列,其中所述序列界定所述視頻単元的顯示次序; 經(jīng)由所述解碼器識(shí)別可不相互依賴的所述視頻単元的子集; 將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到高速緩存,其中所述高速緩存與所述解碼器相關(guān)聯(lián);以及 至少部分基于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)來解碼經(jīng)編碼的視頻單元的所述子集的視頻塊,其中解碼所述視頻塊包括界定解碼次序,在所述解碼次序中,第二視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在所述顯示次序中,所述第二視頻單元出現(xiàn)在所述第一視頻單元之后。
2.根據(jù)權(quán)利要求I所述的方法,其中經(jīng)編碼的視頻單元的所述序列包含以下各者中的至少ー者 視頻幀的序列; 視頻幀的部分的序列;以及 視頻幀的切片的序列。
3.根據(jù)權(quán)利要求I所述的方法,其中所述解碼次序在第一經(jīng)編碼的視頻單元的ー個(gè)或ー個(gè)以上視頻塊與所述第二視頻單元的ー個(gè)或ー個(gè)以上視頻塊之間交替。
4.根據(jù)權(quán)利要求I所述的方法,其中界定所述解碼次序,以便實(shí)質(zhì)上改善如下可能性加載于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)用于解碼視頻単元的所述子集的所述視頻塊中而無需重新加載所述高速緩存。
5.根據(jù)權(quán)利要求I所述的方法,其中界定所述解碼次序以使得所述第一視頻單元的所述視頻塊以不對(duì)應(yīng)于所述第一視頻單元的光柵掃描次序的次序進(jìn)行解碼,且所述第二視頻単元的所述視頻塊以不對(duì)應(yīng)于所述第二視頻單元的光柵掃描次序的次序進(jìn)行解碼。
6.根據(jù)權(quán)利要求5所述的方法,其中所述第一視頻單元的第二行的至少ー個(gè)視頻塊在所述第一視頻單元的第一行的至少ー個(gè)視頻塊之前進(jìn)行解碼,其中所述第二行在所述第一行下方。
7.根據(jù)權(quán)利要求I所述的方法,其進(jìn)ー步包含 界定與視頻單元的所述序列中的視頻塊相關(guān)聯(lián)的統(tǒng)計(jì)度量,以及 至少部分基于所述統(tǒng)計(jì)度量來界定所述解碼次序。
8.根據(jù)權(quán)利要求7所述的方法,其中所述統(tǒng)計(jì)度量包含全局運(yùn)動(dòng)度量,所述全局運(yùn)動(dòng)度量量化跨越視頻單元的所述序列的至少一部分的平均運(yùn)動(dòng)。
9.根據(jù)權(quán)利要求I所述的方法,其進(jìn)ー步包含 確定平均運(yùn)動(dòng)度量,所述平均運(yùn)動(dòng)度量量化所述第一視頻單元與所述第二視頻單元之間的視頻塊的平均運(yùn)動(dòng);以及 至少部分基于所述平均運(yùn)動(dòng)度量來界定所述解碼次序。
10.根據(jù)權(quán)利要求I所述的方法,其中視頻單元的所述序列遵循IBPBP格式,所述IBPBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第一 P幀、緊接在后面的第二 B幀、緊接在后面的第二 P幀,其中所述視頻単元的所述子集由所述第一 B幀和所述第二 P幀組成。
11.根據(jù)權(quán)利要求I所述的方法,其中視頻單元的所述序列遵循IBBPBBP格式,所述IBBPBBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第二 B幀、緊接在后面的第一P幀、緊接在后面的第三B幀、緊接在后面的第四B幀、緊接在后面的第二 P幀,其中所述視頻單元的所述子集由所述第一 B幀、所述第二 B幀和所述第二 P幀組成。
12.—種解碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻解碼器和相關(guān)聯(lián)的高速緩存,所述視頻解碼器經(jīng)配置以 接收視頻単元的序列,其中所述序列界定所述視頻単元的顯示次序; 識(shí)別可不相互依賴的所述視頻単元的子集; 將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到所述高速緩存;以及 至少部分基于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)來解碼經(jīng)編碼的視頻單元的所述子集的視頻塊,其中在解碼所述視頻塊中,所述解碼器界定解碼次序,在所述解碼次序中,第ニ視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在所述顯示次序中,所述第二視頻單元出現(xiàn)在所述第一視頻單元之后。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中經(jīng)編碼的視頻單元的所述序列包含以下各者中的至少ー者 視頻幀的序列; 視頻幀的部分的序列;以及 視頻幀的切片的序列。
14.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述解碼次序在第一經(jīng)編碼的視頻單元的ー個(gè)或ー個(gè)以上視頻塊與所述第二視頻單元的ー個(gè)或ー個(gè)以上視頻塊之間交替。
15.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述解碼次序經(jīng)界定以便實(shí)質(zhì)上改善如下可能性加載于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)用于解碼視頻単元的所述子集的所述視頻塊中而無需重新加載所述高速緩存。
16.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述解碼次序經(jīng)界定以使得所述第一視頻單元的所述視頻塊以不對(duì)應(yīng)于所述第一視頻單元的光柵掃描次序的次序進(jìn)行解碼,且所述第二視頻單元的所述視頻塊以不對(duì)應(yīng)于所述第二視頻單元的光柵掃描次序的次序進(jìn)行解碼。
17.根據(jù)權(quán)利要求16所述的設(shè)備,其中所述第一視頻單元的第二行的至少ー個(gè)視頻塊在所述第一視頻單元的第一行的至少ー個(gè)視頻塊之前進(jìn)行解碼,其中所述第二行在所述第一行下方。
18.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述解碼器進(jìn)ー步經(jīng)配置以 界定與視頻單元的所述序列中的視頻塊相關(guān)聯(lián)的統(tǒng)計(jì)度量,以及 至少部分基于所述統(tǒng)計(jì)度量來界定所述解碼次序。
19.根據(jù)權(quán)利要求18所述的設(shè)備,其中所述統(tǒng)計(jì)度量包含全局運(yùn)動(dòng)度量,所述全局運(yùn)動(dòng)度量量化跨越視頻單元的所述序列的至少一部分的平均運(yùn)動(dòng)。
20.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述解碼器進(jìn)ー步經(jīng)配置以 確定平均運(yùn)動(dòng)度量,所述平均運(yùn)動(dòng)度量量化所述第一視頻單元與所述第二視頻單元之間的視頻塊的平均運(yùn)動(dòng);以及 至少部分基于所述平均運(yùn)動(dòng)度量來界定所述解碼次序。
21.根據(jù)權(quán)利要求12所述的設(shè)備,其中視頻單元的所述序列遵循IBPBP格式,所述IBPBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第一 P幀、緊接在后面的第二 B幀、緊接在后面的第二 P幀,其中所述視頻単元的所述子集由所述第一 B幀和所述第二 P幀組成。
22.根據(jù)權(quán)利要求12所述的設(shè)備,其中視頻單元的所述序列遵循IBBPBBP格式,所述IBBPBBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第二 B幀、緊接在后面的第一P幀、緊接在后面的第三B幀、緊接在后面的第四B幀、緊接在后面的第二 P幀,其中所述視頻單元的所述子集由所述第一 B幀、所述第二 B幀和所述第二 P幀組成。
23.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述視頻解碼器包含集成電路。
24.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述視頻解碼器包含微處理器。
25.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述設(shè)備包含包括所述視頻解碼器的無線通信裝置。
26.ー種解碼視頻數(shù)據(jù)的裝置,所述裝置包含 用于接收視頻單元的序列的裝置,其中所述序列界定所述視頻単元的顯示次序; 用于識(shí)別可不相互依賴的所述視頻単元的子集的裝置; 用于將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到高速緩存的裝置;以及 用于至少部分基于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)來解碼經(jīng)編碼的視頻單元的所述子集的視頻塊的裝置,其中所述用于解碼所述視頻塊的裝置包括用于界定解碼次序的裝置,在所述解碼次序中,第二視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在所述顯示次序中,所述第二視頻單元出現(xiàn)在所述第一視頻單元之后。
27.根據(jù)權(quán)利要求26所述的裝置,其中經(jīng)編碼的視頻單元的所述序列包含以下各者中的至少ー者 視頻幀的序列; 視頻幀的部分的序列;以及 視頻幀的切片的序列。
28.根據(jù)權(quán)利要求26所述的裝置,其中所述解碼次序在第一經(jīng)編碼的視頻單元的ー個(gè)或ー個(gè)以上視頻塊與所述第二視頻單元的ー個(gè)或ー個(gè)以上視頻塊之間交替。
29.根據(jù)權(quán)利要求26所述的裝置,其中所述解碼次序經(jīng)界定以便實(shí)質(zhì)上改善如下可能性加載于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)用于解碼視頻単元的所述子集的所述視頻塊中而無需重新加載所述高速緩存。
30.根據(jù)權(quán)利要求26所述的裝置,其中所述解碼次序經(jīng)界定以使得所述第一視頻單元的所述視頻塊以不對(duì)應(yīng)于所述第一視頻單元的光柵掃描次序的次序進(jìn)行解碼,且所述第二視頻單元的所述視頻塊以不對(duì)應(yīng)于所述第二視頻單元的光柵掃描次序的次序進(jìn)行解碼。
31.根據(jù)權(quán)利要求30所述的裝置,其中所述第一視頻單元的第二行的至少ー個(gè)視頻塊在所述第一視頻單元的第一行的至少ー個(gè)視頻塊之前進(jìn)行解碼,其中所述第二行在所述第一行下方。
32.根據(jù)權(quán)利要求26所述的裝置,其進(jìn)ー步包含 用于界定與視頻單元的所述序列中的視頻塊相關(guān)聯(lián)的統(tǒng)計(jì)度量的裝置,以及 用于至少部分基于所述統(tǒng)計(jì)度量來界定所述解碼次序的裝置。
33.根據(jù)權(quán)利要求32所述的裝置,其中所述統(tǒng)計(jì)度量包含全局運(yùn)動(dòng)度量,所述全局運(yùn)動(dòng)度量量化跨越視頻單元的所述序列的至少一部分的平均運(yùn)動(dòng)。
34.根據(jù)權(quán)利要求26所述的裝置,其進(jìn)ー步包含 用于確定平均運(yùn)動(dòng)度量的裝置,所述平均運(yùn)動(dòng)度量量化所述第一視頻單元與所述第二視頻單元之間的視頻塊的平均運(yùn)動(dòng);以及 用于至少部分基于所述平均運(yùn)動(dòng)度量來界定所述解碼次序的裝置。
35.根據(jù)權(quán)利要求26所述的裝置,其中視頻單元的所述序列遵循IBPBP格式,所述IBPBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第一 P幀、緊接在后面的第二 B幀、緊接在后面的第二P幀,其中所述視頻単元的所述子集由所述第一B幀和所述第二P幀組成。
36.根據(jù)權(quán)利要求26所述的裝置,其中視頻單元的所述序列遵循IBBPBBP格式,所述IBBPBBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第二 B幀、緊接在后面的第一P幀、緊接在后面的第三B幀、緊接在后面的第四B幀、緊接在后面的第二 P幀,其中所述視頻單元的所述子集由所述第一 B幀、所述第二 B幀和所述第二 P幀組成。
37.ー種包含指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,所述指令在于處理器中執(zhí)行后即刻致使所述處理器 在接收視頻単元的序列后,其中所述序列界定所述視頻単元的顯示次序; 識(shí)別可不相互依賴的所述視頻単元的子集; 將預(yù)測(cè)性數(shù)據(jù)從存儲(chǔ)器加載到高速緩存;以及 至少部分基于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)來解碼經(jīng)編碼的視頻單元的所述子集的視頻塊,其中在解碼所述視頻塊中,所述指令致使所述處理器界定解碼次序,在所述解碼次序中,第二視頻單元的至少ー些視頻塊在第一視頻單元的至少ー些視頻塊之前進(jìn)行解碼,其中在所述顯示次序中,所述第二視頻單元出現(xiàn)在所述第一視頻單元之后。
38.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中經(jīng)編碼的視頻單元的所述序列包含以下各者中的至少ー者 視頻幀的序列; 視頻幀的部分的序列;以及 視頻幀的切片的序列。
39.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述解碼次序在第一經(jīng)編碼的視頻單元的ー個(gè)或ー個(gè)以上視頻塊與所述第二視頻單元的ー個(gè)或ー個(gè)以上視頻塊之間交替。
40.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述解碼次序經(jīng)界定以便實(shí)質(zhì)上改善如下可能性加載于所述高速緩存中的所述預(yù)測(cè)性數(shù)據(jù)用于解碼視頻単元的所述子集的所述視頻塊中而無需重新加載所述高速緩存。
41.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述解碼次序經(jīng)界定以使得所述第一視頻單元的所述視頻塊以不對(duì)應(yīng)于所述第一視頻單元的光柵掃描次序的次序進(jìn)行解碼,且所述第二視頻單元的所述視頻塊以不對(duì)應(yīng)于所述第二視頻單元的光柵掃描次序的次序進(jìn)行解碼。
42.根據(jù)權(quán)利要求41所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述第一視頻單元的第二行的至少ー個(gè)視頻塊在所述第一視頻單元的第一行的至少ー個(gè)視頻塊之前進(jìn)行解碼,其中所述第二行在所述第一行下方。
43.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其進(jìn)ー步包含用于致使所述處理器進(jìn)行以下操作的指令 界定與視頻單元的所述序列中的視頻塊相關(guān)聯(lián)的統(tǒng)計(jì)度量,以及 至少部分基于所述統(tǒng)計(jì)度量來界定所述解碼次序。
44.根據(jù)權(quán)利要求43所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述統(tǒng)計(jì)度量包含全局運(yùn)動(dòng)度量,所述全局運(yùn)動(dòng)度量量化跨越視頻單元的所述序列的至少一部分的平均運(yùn)動(dòng)。
45.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其進(jìn)ー步包含用于致使所述處理器進(jìn)行以下操作的指令 確定平均運(yùn)動(dòng)度量,所述平均運(yùn)動(dòng)度量量化所述第一視頻單元與所述第二視頻單元之間的視頻塊的平均運(yùn)動(dòng);以及 至少部分基于所述平均運(yùn)動(dòng)度量來界定所述解碼次序。
46.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中視頻單元的所述序列遵循IBPBP格式,所述IBPBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第一 P巾貞、緊接在后面的第二 B幀、緊接在后面的第二 P幀,其中所述視頻単元的所述子集由所述第一 B幀和所述第二 P幀組成。
47.根據(jù)權(quán)利要求37所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中視頻單元的所述序列遵循IBBPBBP格式,所述IBBPBBP格式包括I幀、緊接在后面的第一 B幀、緊接在后面的第二 B幀、緊接在后面的第一 P幀、緊接在后面的第三B幀、緊接在后面的第四B幀、緊接在后面的第二 P幀,其中所述視頻単元的所述子集由所述第一 B幀、所述第二 B幀和所述第二 P幀組成。
全文摘要
本發(fā)明描述相對(duì)于視頻塊的顯示次序修改視頻塊的解碼次序的技術(shù)。可在時(shí)間上修改所述解碼次序,使得不同視頻幀(或其它經(jīng)編碼的單元)的視頻塊以交替方式進(jìn)行解碼。在此情況下,視頻塊的所述解碼次序可在兩個(gè)或兩個(gè)以上不同幀的視頻塊之間交替。此外,還可在給定視頻塊內(nèi)在空間上修改所述解碼次序,使得所述視頻塊以不對(duì)應(yīng)于所述視頻塊的光柵掃描次序的次序進(jìn)行解碼。所述技術(shù)可通過改善高速緩存命中的可能性來改善存儲(chǔ)器的使用,借此減少?gòu)耐獠看鎯?chǔ)器到與解碼器相關(guān)聯(lián)的內(nèi)部高速緩存的存儲(chǔ)器加載的數(shù)目。
文檔編號(hào)H04N7/26GK102668563SQ201080058297
公開日2012年9月12日 申請(qǐng)日期2010年12月20日 優(yōu)先權(quán)日2009年12月21日
發(fā)明者弗拉丹·安德里亞尼奇, 薩拉杰·加代爾拉布 申請(qǐng)人:高通股份有限公司