水平和垂直變換的并行處理的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻譯碼,且更明確地說,涉及用于在譯碼視頻數(shù)據(jù)時(shí)執(zhí)行變換的技術(shù)。
【背景技術(shù)】
[0002]數(shù)字視頻能力可并入到廣泛范圍的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式或衛(wèi)星無線電電話、視頻電話會(huì)議裝置及其類似物。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如通過MPEG-2、MPEG-4、ITU-T H.263,ITU-T
H.264/MPEG-4第10部分、高級(jí)視頻譯碼(AVC)、目前正在開發(fā)的高效視頻譯碼(HEVC)標(biāo)準(zhǔn)和此類標(biāo)準(zhǔn)的擴(kuò)展部分定義的標(biāo)準(zhǔn)中描述的技術(shù),以便更有效地發(fā)射、接收和存儲(chǔ)數(shù)字視頻?目息O
[0003]視頻壓縮技術(shù)包含空間預(yù)測(cè)及/或時(shí)間預(yù)測(cè),以減少或移除視頻序列中所固有的冗余。對(duì)于基于塊的視頻譯碼,一視頻幀或片段可以分割成多個(gè)塊。每一塊可被進(jìn)一步分害J。通過相對(duì)于同一圖片或片段的相鄰塊中的參考樣本使用空間預(yù)測(cè)來對(duì)經(jīng)幀內(nèi)譯碼(I)的圖片或片段中的塊進(jìn)行編碼。經(jīng)幀間譯碼(P或B)圖片或片段中的塊可相對(duì)于同一圖片或片段中的相鄰塊中的參考樣本使用空間預(yù)測(cè),或相對(duì)于其它參考圖片中的參考樣本使用時(shí)間預(yù)測(cè)??臻g或時(shí)間預(yù)測(cè)產(chǎn)生用于待譯碼塊的預(yù)測(cè)性塊。殘差數(shù)據(jù)表示待譯碼原始?jí)K與預(yù)測(cè)性塊之間的像素差。
[0004]經(jīng)幀間譯碼塊是根據(jù)指向形成預(yù)測(cè)性塊的參考樣本塊的運(yùn)動(dòng)向量和指示經(jīng)譯碼塊與預(yù)測(cè)性塊之間的差的殘差數(shù)據(jù)來編碼。經(jīng)幀內(nèi)譯碼塊是根據(jù)幀內(nèi)譯碼模式和殘差數(shù)據(jù)而編碼。為了進(jìn)一步壓縮,可將殘差數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘差變換系數(shù),接著可以對(duì)殘差變換系數(shù)進(jìn)行量化。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的技術(shù)大體上涉及視頻譯碼過程中的視頻數(shù)據(jù)的變換。視頻譯碼器可在兩個(gè)級(jí)中將二維(2D)變換應(yīng)用于視頻數(shù)據(jù)。緩沖器通常定位于第一級(jí)與第二級(jí)之間,這允許視頻譯碼器在第二級(jí)的執(zhí)行之前對(duì)來自第一級(jí)的經(jīng)處理數(shù)據(jù)進(jìn)行重新排序。根據(jù)本發(fā)明的方面,視頻譯碼器可應(yīng)用2D變換,而不對(duì)第一級(jí)與第二級(jí)之間的數(shù)據(jù)進(jìn)行重新排序。以此方式,本發(fā)明的技術(shù)可減少或消除與視頻數(shù)據(jù)的變換相關(guān)聯(lián)的延遲。
[0006]在一實(shí)例中,一種在視頻譯碼中變換視頻數(shù)據(jù)的方法包含:將二維變換的第一級(jí)應(yīng)用于時(shí)頻數(shù)據(jù)值塊,以產(chǎn)生第一級(jí)結(jié)果塊;以及將二維變換的第二級(jí)應(yīng)用于第一級(jí)結(jié)果塊,而不對(duì)第一級(jí)結(jié)果進(jìn)行重新排序,以產(chǎn)生第二級(jí)結(jié)果塊。
[0007]在另一個(gè)實(shí)例中,一種用于在視頻譯碼中變換視頻數(shù)據(jù)的設(shè)備包含一或多個(gè)處理器,其經(jīng)配置以:將二維變換的第一級(jí)應(yīng)用于時(shí)頻數(shù)據(jù)值塊,以產(chǎn)生第一級(jí)結(jié)果塊;且將二維變換的第二級(jí)應(yīng)用于第一級(jí)結(jié)果塊,而不對(duì)第一級(jí)結(jié)果進(jìn)行重新排序,以產(chǎn)生第二級(jí)結(jié)果塊。
[0008]在另一個(gè)實(shí)例中,一種用于在視頻譯碼中變換視頻數(shù)據(jù)的設(shè)備包含:用于將二維變換的第一級(jí)應(yīng)用于時(shí)頻數(shù)據(jù)值塊以產(chǎn)生第一級(jí)結(jié)果塊的裝置;以及用于將二維變換的第二級(jí)應(yīng)用于第一級(jí)結(jié)果塊而不對(duì)第一級(jí)結(jié)果進(jìn)行重新排序以產(chǎn)生第二級(jí)結(jié)果塊的裝置。
[0009]在另一實(shí)例中,一種上面存儲(chǔ)有指令的非暫時(shí)性計(jì)算機(jī)可讀媒體,所屬指令在被執(zhí)行時(shí),致使一或多個(gè)處理器:將二維變換的第一級(jí)應(yīng)用于視頻數(shù)據(jù)值塊,以產(chǎn)生第一級(jí)結(jié)果塊;且將二維變換的第二級(jí)應(yīng)用于第一級(jí)結(jié)果塊,而不對(duì)第一級(jí)結(jié)果進(jìn)行重新排序,以產(chǎn)生第二級(jí)結(jié)果塊。
[0010]在附圖和以下描述中闡述本發(fā)明的一或多個(gè)方面的細(xì)節(jié)。本發(fā)明中所描述的技術(shù)的其他特征、目標(biāo)和優(yōu)點(diǎn)將從描述及圖式且從權(quán)利要求書而顯而易見
【附圖說明】
[0011]圖1是說明可實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)的框圖。
[0012]圖2是說明可實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻編碼器的框圖。
[0013]圖3是說明可實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻解碼器的框圖。
[0014]圖4是說明可實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻譯碼器的一部分的框圖。
[0015]圖5說明根據(jù)本發(fā)明的技術(shù)的一系列矩陣運(yùn)算。
[0016]圖6是說明可實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻譯碼器的一部分的框圖。
[0017]圖7說明根據(jù)本發(fā)明的技術(shù)的一系列矩陣運(yùn)算。
[0018]圖8是說明根據(jù)本發(fā)明的技術(shù)的用于在視頻譯碼中變換殘差數(shù)據(jù)的實(shí)例過程的流程圖。
[0019]圖9是說明根據(jù)本發(fā)明的技術(shù)的用于在視頻譯碼中變換殘差數(shù)據(jù)的另一實(shí)例過程的流程圖。
【具體實(shí)施方式】
[0020]視頻譯碼裝置(例如視頻編碼裝置或視頻解碼裝置)可通過應(yīng)用空間(幀內(nèi))預(yù)測(cè)和/或時(shí)間(幀間)預(yù)測(cè)技術(shù)減少或去除視頻序列中固有的冗余來實(shí)現(xiàn)視頻壓縮。舉例來說,視頻譯碼器可通過幀內(nèi)(I)預(yù)測(cè)(即空間預(yù)測(cè))或幀間(P或B)預(yù)測(cè)(即時(shí)間預(yù)測(cè))來導(dǎo)出預(yù)測(cè)值。在識(shí)別預(yù)測(cè)值后,視頻譯碼器可確定原始視頻數(shù)據(jù)塊與其預(yù)測(cè)值之間的差。此差可被稱為預(yù)測(cè)殘差,且指示待譯碼塊與參考?jí)K(即,預(yù)測(cè)值)之間的像素差。
[0021]為實(shí)現(xiàn)較好壓縮,通常應(yīng)用變換(離散余弦變換(DCT)、整數(shù)變換、卡亨南-洛維(Karhunen-Loeve,K-L)變換或其它變換)來變換所述預(yù)測(cè)殘差。變換將空間域中的像素差值轉(zhuǎn)換為變換域(例如,頻域)中的變換系數(shù)。
[0022]預(yù)測(cè)殘差通常包含具有三個(gè)樣本陣列的視頻數(shù)據(jù)的亮度樣本(Y)連同對(duì)應(yīng)的色度樣本(Cb,Cr)。如下文更詳細(xì)地描述,變換單元可指一亮度變換塊和兩個(gè)對(duì)應(yīng)的色度變換塊。對(duì)于變換單元中的每一變換塊,變換系數(shù)通常布置成二維(2D)陣列。因此,視頻譯碼器通常將2D變換應(yīng)用于預(yù)測(cè)殘差。
[0023]視頻譯碼器通常在兩個(gè)級(jí)中應(yīng)用2D變換。舉例來說,視頻譯碼器可將水平定向的第一級(jí)應(yīng)用于殘差值。視頻譯碼器可接著將垂直定向的第二級(jí)應(yīng)用于第一級(jí)的結(jié)果(或反之亦然)。緩沖器通常定位于第一級(jí)與第二級(jí)之間,這允許視頻譯碼器在第二級(jí)的執(zhí)行之前對(duì)來自第一級(jí)的經(jīng)處理數(shù)據(jù)進(jìn)行重排序。舉例來說,當(dāng)在垂直定向的第二級(jí)之前執(zhí)行水平定向的第一級(jí)時(shí),視頻譯碼器可轉(zhuǎn)置級(jí)之間的數(shù)據(jù)(從行序到列序),使得數(shù)據(jù)經(jīng)合適布置以用于第二級(jí)運(yùn)算。也就是說,視頻譯碼器可在第二級(jí)運(yùn)算之前,轉(zhuǎn)置所述數(shù)據(jù),使得數(shù)據(jù)行布置成列。
[0024]上述緩沖可在變換過程中引入延遲。舉例來說,為了以上文所描述的方式轉(zhuǎn)置來自第一級(jí)的值,視頻譯碼器在開始第二級(jí)運(yùn)算之前必須等待整個(gè)第一級(jí)完成。轉(zhuǎn)置過程本身也可引入延遲。這些延遲可隨著塊大小而增加。舉例來說,變換相對(duì)較大的塊(例如高效視頻譯碼(HEVC)標(biāo)準(zhǔn)中的32X32)可導(dǎo)致較大的相關(guān)聯(lián)延遲。
[0025]本發(fā)明的方面通常涉及2D變換的高效應(yīng)用。舉例來說,根據(jù)本發(fā)明的方面視頻譯碼器(例如視頻編碼器或視頻解碼器)可應(yīng)用2D變換,而不對(duì)第一級(jí)與第二級(jí)之間的數(shù)據(jù)進(jìn)行重新排序,如上文所描述。重新排序數(shù)據(jù)可通常指代改變數(shù)據(jù)的布置,其可包含轉(zhuǎn)置數(shù)據(jù),使得數(shù)據(jù)行重新布置以形成數(shù)據(jù)列。因此,視頻譯碼器可與和第二級(jí)相關(guān)聯(lián)的運(yùn)算并行地執(zhí)行與第一級(jí)相關(guān)聯(lián)的運(yùn)算。以此方式,視頻譯碼器可減少或消除與變換相關(guān)聯(lián)的延遲。
[0026]在一個(gè)實(shí)例中,視頻譯碼器可以第二級(jí)所確定的次序來將值從2D變換的第一級(jí)直接饋送到2D變換的第二級(jí)(下文稱為“先轉(zhuǎn)置”過程)。在另一實(shí)例中,視頻譯碼器可以第一級(jí)的次序執(zhí)行第二級(jí)運(yùn)算,從而產(chǎn)生局部第二級(jí)值。視頻譯碼器可集合所述局部第二級(jí)值,直到整個(gè)第二級(jí)完成為止(下文稱為“后轉(zhuǎn)置”過程)。
[0027]圖1是說明可利用用于在視頻譯碼中執(zhí)行變換的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)10的框圖。如圖1中所示,系統(tǒng)10包含源裝置12,所述源裝置提供將在稍后時(shí)間由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。明確地說,源裝置12經(jīng)由計(jì)算機(jī)可讀媒體16將視頻數(shù)據(jù)提供到目的地裝置14。源裝置12和目的地裝置14可包括多種多樣的裝置中的任一者,包含桌上型計(jì)算機(jī)、筆記型(即,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、電話手持機(jī)(例如所謂的“智能”電話)、所謂的“智能”平板電腦、電視機(jī)、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺(tái)、視頻流式傳輸裝置或類似者。在一些情況下,源裝置12和目的地裝置14可能經(jīng)裝備以用于無線通信。
[0028]目的地裝置14可經(jīng)由計(jì)算機(jī)可讀媒體16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。計(jì)算機(jī)可讀媒體16可包括能夠?qū)⒔?jīng)編碼的視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的任何類型的媒體或裝置。在一個(gè)實(shí)例中,計(jì)算機(jī)可讀媒體16可包括使得源裝置12能夠?qū)崟r(shí)地將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14的通信媒體。經(jīng)編碼視頻數(shù)據(jù)可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)來調(diào)制,并且發(fā)射到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一或多個(gè)物理傳輸線。通信媒體可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或例如因特網(wǎng)等全球網(wǎng)絡(luò))的部分。通信媒體可包含路由器、交換器、基站或可用于促進(jìn)從源裝置12到目的地裝置14的通信的任何其它設(shè)備。
[0029]在一些實(shí)例中,經(jīng)編碼數(shù)據(jù)可從輸出接口22輸出到存儲(chǔ)裝置。類似地,經(jīng)編碼數(shù)據(jù)可由輸入接口從存儲(chǔ)裝置存取。存儲(chǔ)裝置可包含多種分布式或本地存取的數(shù)據(jù)存儲(chǔ)媒體中的任一者,例如硬盤驅(qū)動(dòng)器、藍(lán)光光盤、DVD、⑶-R0M、快閃存儲(chǔ)器、易失性或非易失性存儲(chǔ)器或用于存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲(chǔ)媒體。在另一實(shí)例中,存儲(chǔ)裝置可對(duì)應(yīng)于文件服務(wù)器或另一可存儲(chǔ)源裝置12產(chǎn)生的經(jīng)編碼視頻的中間存儲(chǔ)裝置。
[0030]目的地裝置14可經(jīng)由流式傳輸或下載從存儲(chǔ)裝置存取經(jīng)存儲(chǔ)的視頻數(shù)據(jù)。文件服務(wù)器可為任何類型的能夠存儲(chǔ)經(jīng)編碼的視頻數(shù)據(jù)且將經(jīng)編碼的視頻數(shù)據(jù)發(fā)射到目的地裝置14的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、FTP服務(wù)器、網(wǎng)絡(luò)連接存儲(chǔ)(NAS)裝置或本地磁盤驅(qū)動(dòng)器。目的地裝置14可經(jīng)由任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來存取經(jīng)編碼視頻數(shù)據(jù)。這可包含無線通道(例如,W1-Fi連接)、有線連接(例如,DSL、電纜調(diào)制解調(diào)器等)。,或適合于存取存儲(chǔ)在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲(chǔ)裝置的傳輸可為流式傳輸、下載傳輸或其組合。
[0031]本發(fā)明的技術(shù)未必限于無線應(yīng)用或設(shè)定。所述技術(shù)可應(yīng)用于視頻譯碼以支持多種多媒體應(yīng)用中的任一者,例如,空中協(xié)議電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、因特網(wǎng)流式視頻傳輸(例如,動(dòng)態(tài)自適應(yīng)HTTP流式傳輸(DASH))、編碼到數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻、存儲(chǔ)在數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的解碼或其它應(yīng)用。在一些實(shí)例中,系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻傳輸,以支持例如視頻流式傳輸、視頻重放、視頻廣播和/或視頻電話等應(yīng)用。
[0032]在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口 22。目的地裝置14包括輸入接口 28、視頻解碼器30和顯示裝置32。根據(jù)本發(fā)明,源裝置12的視頻編碼器20可經(jīng)配置以應(yīng)用用于在視頻譯碼中執(zhí)行變換的技術(shù)。在其它實(shí)例中,源裝置和目的地裝置可包含其它組件或布置。舉例來說,源裝置12可從外部視頻源18(例如外部相機(jī))接收視頻數(shù)據(jù)。同樣,目的地裝置14可與外部顯示裝置介接,而非包含集成顯示裝置。
[0033]圖1的所說明系統(tǒng)10僅為一個(gè)實(shí)例。用于執(zhí)行變換的技術(shù)可由任何數(shù)字視頻編碼和/或解碼裝置來執(zhí)行。盡管本發(fā)明的技術(shù)通常由視頻編碼裝置執(zhí)行,但所述技術(shù)還可通過視頻編碼器/解碼器(通常被稱作“編解碼器”)執(zhí)行。此外,本發(fā)明的技術(shù)還可由視頻預(yù)處理器來執(zhí)行。源裝置12和目的地裝置14僅為此類譯碼裝置的實(shí)例,其中源裝置12產(chǎn)生用于發(fā)射到目的地裝置14的經(jīng)譯碼視頻數(shù)據(jù)。在一些實(shí)例中,裝置12、14可以實(shí)質(zhì)上對(duì)稱的方式操作,使得裝置12、14中的每一者包含視頻編碼和解碼組件。因此,系統(tǒng)10可支持視頻裝置12、14之間的單向或雙向視頻傳輸,以例如用于視頻流式傳輸、視頻重放、視頻廣播或視頻電話。
[0034]源器件12的視頻源18可包含視頻捕獲裝置,例如攝像機(jī)、含有先前所捕獲視頻的視頻存檔和/或用于接收來自視頻內(nèi)容提供者的視頻的視頻饋送接口。作為另一替代方案,視頻源18可產(chǎn)生基于計(jì)算機(jī)圖形的數(shù)據(jù)作為源視頻,或直播視頻、存檔視頻與計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些情況下,如果視頻源18為攝像機(jī),那么源裝置12和目的地裝置14可形成所謂的相機(jī)電話或視頻電話。然而,如上所提到,本發(fā)明中所描述的技術(shù)一般可適用于視頻譯碼,且可應(yīng)用于無線和/或有線應(yīng)用。在每一種情況下,可由視頻編碼器20編碼所捕獲、經(jīng)預(yù)先捕獲或計(jì)算機(jī)產(chǎn)生的視頻。經(jīng)編碼視頻信息可接著由輸出接口 22輸出到計(jì)算機(jī)可讀媒體16上。
[0035]計(jì)算機(jī)可讀媒體16可包含瞬時(shí)媒體,例如無線廣播或有線網(wǎng)絡(luò)發(fā)射,或存儲(chǔ)媒體(也就是說,非暫時(shí)性存儲(chǔ)媒體),例如硬盤、快閃驅(qū)動(dòng)器、壓縮光盤、數(shù)字視頻光盤、藍(lán)光光盤或其它計(jì)算機(jī)可讀媒體。在一些實(shí)例中,網(wǎng)絡(luò)服務(wù)器(未圖示)可從源裝置12接收經(jīng)編碼視頻數(shù)據(jù),且例如經(jīng)由網(wǎng)絡(luò)發(fā)射將經(jīng)編碼視頻數(shù)據(jù)提供到目的地裝置14。類似地,媒體生產(chǎn)設(shè)施(例如光盤沖壓設(shè)施)的計(jì)算裝置可從源裝置12接收經(jīng)編碼的視頻數(shù)據(jù),并且生產(chǎn)含有經(jīng)編碼的視頻數(shù)據(jù)的光盤。因此,在各種實(shí)例中,計(jì)算機(jī)可讀媒體16可理解為包含各種形式的一或多個(gè)計(jì)算機(jī)可讀媒體。
[0036]目的地裝置14的輸入接口28從計(jì)算機(jī)可讀媒