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

用于預(yù)測殘差的增強(qiáng)型多重變換的制作方法

文檔序號:11291353閱讀:369來源:國知局
用于預(yù)測殘差的增強(qiáng)型多重變換的制造方法與工藝
本申請案請求于2015年1月26日申請的美國臨時申請案第62/107,996號及2015年3月23日申請的美國臨時申請案第62/137,038號的權(quán)利,所述申請案的全部內(nèi)容以引用的方式并入本文中。本發(fā)明涉及視頻編碼及解碼。
背景技術(shù)
:數(shù)字視頻能力可并入至廣泛范圍的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(pda)、膝上型或臺式計(jì)算機(jī)、平板計(jì)算機(jī)、電子書閱讀器、數(shù)字相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩或衛(wèi)星無線電電話(所謂的“智能電話”)、視頻電話會議裝置、視頻流式發(fā)射裝置等等。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分先進(jìn)視頻譯碼(avc)、itu-th.265、高效率視頻譯碼(hevc)所定義的標(biāo)準(zhǔn)及這些標(biāo)準(zhǔn)的擴(kuò)展中所描述的所述視頻壓縮技術(shù)。視頻裝置可通過實(shí)施這類視頻壓縮技術(shù)而更高效地發(fā)射、接收、編碼、解碼及/或存儲數(shù)字視頻信息。視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測及/或時間(圖片間)預(yù)測來減少或去除視頻序列中固有的冗余。對于基于塊的視頻譯碼,可將視頻圖塊(即,視頻幀或視頻幀的一部分)分割成視頻塊。圖片的經(jīng)幀內(nèi)譯碼(i)圖塊中的視頻塊使用相對于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測來編碼。圖片的經(jīng)幀間譯碼(p或b)圖塊中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測或相對于其它參考圖片中的參考樣本的時間預(yù)測。空間或時間預(yù)測產(chǎn)生待譯碼的塊的預(yù)測性塊。殘差數(shù)據(jù)表示待譯碼的原始塊與預(yù)測性塊之間的像素差。經(jīng)幀間譯碼塊根據(jù)指向形成預(yù)測性塊的參考樣本的塊的運(yùn)動向量來編碼,且殘差數(shù)據(jù)指示經(jīng)譯碼塊與預(yù)測性塊之間的差。根據(jù)幀內(nèi)譯碼模式及殘差數(shù)據(jù)來編碼經(jīng)幀內(nèi)譯碼塊。為進(jìn)行進(jìn)一步壓縮,可將殘差數(shù)據(jù)從像素域變換至變換域,從而產(chǎn)生可接著進(jìn)行量化的殘差變換系數(shù)。技術(shù)實(shí)現(xiàn)要素:本發(fā)明描述用于確定用以從變換塊產(chǎn)生系數(shù)塊而作為視頻編碼的一部分的變換及用以從系數(shù)塊產(chǎn)生變換塊作為視頻解碼的一部分的變換的技術(shù)。在一些實(shí)例中,視頻編碼器可確定多個變換子集。同樣地,視頻解碼器可確定多個變換子集。視頻編碼器及視頻解碼器可使用不一定要求額外信令的隱式技術(shù)選擇多個變換子集的變換子集并從所選擇的變換子集確定變換。以這種方式,視頻編碼器及視頻解碼器可從具有需要信令的最小增長量的信息的相對大的變換集合進(jìn)行選擇。在一個實(shí)例中,本發(fā)明描述解碼視頻數(shù)據(jù)的方法,所述方法包括:確定多個變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換;針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的左變換從多個變換子集選擇第一變換子集;針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的右變換從多個變換子集選擇第二變換子集;從所述經(jīng)選擇的第一變換子集確定左變換;從所述經(jīng)選擇的第二變換子集確定右變換;基于左變換、右變換及當(dāng)前系數(shù)塊確定當(dāng)前變換塊;及基于當(dāng)前變換塊及預(yù)測性塊重建視頻塊。在一個實(shí)例中,本發(fā)明描述編碼視頻數(shù)據(jù)的方法,所述方法包括:確定多個變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換;針對視頻數(shù)據(jù)的視頻塊的當(dāng)前變換塊的左變換從多個變換子集選擇第一變換子集;針對視頻數(shù)據(jù)的視頻塊的變換塊的右變換從多個變換子集選擇第二變換子集;從所述經(jīng)選擇的第一變換子集確定左變換;從所述經(jīng)選擇的第二變換子集確定右變換;基于左變換、右變換及當(dāng)前變換塊確定當(dāng)前系數(shù)塊;及產(chǎn)生包含信息的視頻位流,所述信息指示用于重建視頻塊的當(dāng)前系數(shù)塊的系數(shù)。在一個實(shí)例中,本發(fā)明描述用于視頻解碼視頻數(shù)據(jù)的裝置,所述裝置包括:視頻數(shù)據(jù)存儲器,其經(jīng)配置以存儲視頻數(shù)據(jù)及變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換;及包括集成電路的視頻解碼器,所述視頻解碼器經(jīng)配置以從經(jīng)存儲的變換子集確定多個變換子集,針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的左變換從多個變換子集選擇第一變換子集,針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的右變換從多個變換子集選擇第二變換子集,從經(jīng)選擇的第一變換子集確定左變換,從經(jīng)選擇的第二變換子集確定右變換,基于左變換、右變換及當(dāng)前系數(shù)塊確定當(dāng)前變換塊,且基于當(dāng)前變換塊及預(yù)測性塊重建視頻塊。在一個實(shí)例中,本發(fā)明描述用于編碼視頻數(shù)據(jù)的裝置,所述裝置包括:視頻數(shù)據(jù)存儲器,其經(jīng)配置以存儲視頻數(shù)據(jù)及變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換;及視頻編碼器,其經(jīng)配置以從經(jīng)存儲的變換子集確定多個變換子集,針對視頻數(shù)據(jù)的視頻塊的當(dāng)前變換塊的左變換從多個變換子集選擇第一變換子集,針對視頻數(shù)據(jù)的視頻塊的變換塊的右變換從多個變換子集選擇第二變換子集,從經(jīng)選擇的第一變換子集確定左變換,從經(jīng)選擇的第二變換子集確定右變換,基于左變換、右變換及當(dāng)前變換塊確定當(dāng)前系數(shù),且產(chǎn)生包含信息的視頻位流,所述信息指示用于重建視頻塊的當(dāng)前系數(shù)塊的系數(shù)。在一個實(shí)例中,本發(fā)明描述用于解碼視頻數(shù)據(jù)的裝置,所述裝置包括:用于確定多個變換子集的裝置,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換;用于針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的左變換從多個變換子集選擇第一變換子集的裝置;用于針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的右變換從多個變換子集選擇第二變換子集的裝置;用于從經(jīng)選擇的第一變換子集確定左變換的裝置;用于從經(jīng)選擇的第二變換子集確定右變換的裝置;用于基于左變換、右變換及當(dāng)前系數(shù)塊確定當(dāng)前變換塊的裝置;及用于基于當(dāng)前變換塊及預(yù)測性塊重建視頻塊的裝置。在一個實(shí)例中,本發(fā)明描述存儲指令的非暫時性計(jì)算機(jī)可讀存儲媒體,所述指令在執(zhí)行時使得用于視頻解碼的裝置的視頻解碼器進(jìn)行以下操作:確定多個變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換;針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的左變換從多個變換子集選擇第一變換子集;針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的右變換從多個變換子集選擇第二變換子集;從經(jīng)選擇的第一變換子集確定左變換;從經(jīng)選擇的第二變換子集確定右變換;基于左變換、右變換及當(dāng)前系數(shù)塊確定當(dāng)前變換塊;及基于當(dāng)前變換塊及預(yù)測性塊重建視頻塊。在一個實(shí)例中,本發(fā)明描述用于編碼視頻數(shù)據(jù)的裝置,所述裝置包括:用于確定多個變換子集的裝置,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換;用于針對視頻數(shù)據(jù)的視頻塊的當(dāng)前變換塊的左變換從多個變換子集選擇第一變換子集的裝置;用于針對視頻數(shù)據(jù)的視頻塊的變換塊的右變換從多個變換子集選擇第二變換子集的裝置;用于從經(jīng)選擇的第一變換子集確定左變換的裝置;用于從經(jīng)選擇的第二變換子集確定右變換的裝置;用于基于左變換、右變換及當(dāng)前變換塊確定當(dāng)前系數(shù)塊的裝置;及用于產(chǎn)生包含信息的視頻位流的裝置,所述信息指示用于重建視頻塊的當(dāng)前系數(shù)塊的系數(shù)。在一個實(shí)例中,本發(fā)明描述存儲指令的非暫時性計(jì)算機(jī)可讀存儲媒體,所述指令在執(zhí)行使得用于視頻編碼的裝置的視頻編碼器進(jìn)行以下操作:確定多個變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換;針對視頻數(shù)據(jù)的視頻塊的當(dāng)前變換塊的左變換從多個變換子集選擇第一變換子集;針對視頻數(shù)據(jù)的視頻塊的變換塊的右變換從多個變換子集選擇第二變換子集;從經(jīng)選擇的第一變換子集確定左變換;從經(jīng)選擇的第二變換子集確定右變換;基于左變換、右變換及當(dāng)前變換塊確定當(dāng)前系數(shù)塊;及產(chǎn)生包含信息的視頻位流,所述信息指示用于重建視頻塊的當(dāng)前系數(shù)塊的系數(shù)。在以下附圖及描述中闡述一或多個實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)及優(yōu)勢將從所述描述及圖式以及權(quán)利要求書而顯而易見。附圖說明圖1a至1f為說明變換類型的實(shí)例的表。圖2為說明可利用本發(fā)明中所描述的技術(shù)的實(shí)例視頻譯碼系統(tǒng)的框圖。圖3為說明基于高效率視頻譯碼(hevc)中的殘差四叉樹的變換方案的實(shí)例的概念圖。圖4為說明基于hevc中的譯碼分組的系數(shù)掃描的實(shí)例的概念圖。圖5為說明可實(shí)施本發(fā)明中所描述的技術(shù)的實(shí)例視頻編碼器的框圖。圖6為說明可實(shí)施本發(fā)明中所描述的技術(shù)的實(shí)例視頻解碼器的框圖。圖7為說明根據(jù)itu-th.263標(biāo)準(zhǔn)中定義的視頻譯碼過程的重疊塊運(yùn)動補(bǔ)償(obmc)的實(shí)例的概念圖。圖8a及8b為說明用于obmc的塊的部分的概念圖。圖9為說明解碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。圖10為說明編碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。具體實(shí)施方式本發(fā)明涉及應(yīng)用于幀內(nèi)或幀間預(yù)測殘差的多重變換。所述技術(shù)可用于先進(jìn)視頻編解碼器的上下文中,例如高效率視頻譯碼(hevc)標(biāo)準(zhǔn)的擴(kuò)展或下一代視頻譯碼標(biāo)準(zhǔn)。在視頻譯碼中,視頻編碼器通過從預(yù)測性塊的樣本值減去當(dāng)前塊的樣本值而產(chǎn)生殘差塊。視頻編碼器將殘差塊分成一或多個變換塊并將變換(例如,例如離散余弦變換(dct)的離散頻率變換)應(yīng)用至一或多個變換塊以將一或多個變換塊中的殘差值從像素域變換至頻域。在頻域中,經(jīng)變換塊被稱為包含一或多個變換系數(shù)值的系數(shù)塊。在解碼期間,視頻解碼器執(zhí)行互逆過程。舉例來說,視頻解碼器將逆變換應(yīng)用至系數(shù)塊以將系數(shù)塊變換至變換塊(例如,從頻域變換至像素域)。變換塊為殘差塊的一個塊,且視頻解碼器將殘差塊的殘差值添加至預(yù)測性塊的樣本值以重建當(dāng)前塊。僅為了易于說明,本發(fā)明將視頻編碼器及視頻解碼器描述為分別確定用于編碼及解碼過程的變換。然而,應(yīng)理解,視頻編碼器將變換應(yīng)用至變換塊以產(chǎn)生系數(shù)塊,且視頻解碼器將所述變換的相逆者應(yīng)用至系數(shù)塊以重建變換塊。因此,視頻解碼器應(yīng)用的變換為視頻編碼器應(yīng)用的變換的相逆者。因此,在本發(fā)明中,當(dāng)視頻解碼器經(jīng)描述為確定變換及/或應(yīng)用變換時,應(yīng)理解,視頻解碼器正確定為通過視頻編碼器確定的變換的相逆者的變換及/或視頻解碼器正應(yīng)用為通過視頻編碼器應(yīng)用的變換的相逆者的變換。本發(fā)明描述用于確定應(yīng)用于用于編碼變換系數(shù)的殘差值的變換塊或應(yīng)用于用于解碼殘差值的變換系數(shù)的系數(shù)塊的變換的實(shí)例技術(shù)。舉例來說,視頻編碼器及視頻解碼器可各自構(gòu)建多個變換子集,每一變換子集識別多個候選變換。候選變換指代不同類型的變換,例如,不同類型的dct及不同類型的離散正弦變換(dst)。視頻編碼器及視頻解碼器選擇變換子集并從所選擇的變換子集確定變換,所述所選擇的變換子集用于從用于視頻編碼的變換塊確定系數(shù)塊或從用于視頻解碼的系數(shù)塊確定變換塊。以這種方式,視頻編碼器及視頻解碼器可確定從候選變換的較大集合使用哪些變換,允許對變換塊的變化統(tǒng)計(jì)較好地適應(yīng)而不過度使位流帶寬負(fù)擔(dān)。舉例來說,一些技術(shù)約束多少變換為可用的,這可產(chǎn)生不良譯碼性能,因?yàn)樽儞Q塊的統(tǒng)計(jì)使得可用變換中無一者良好執(zhí)行??纱嬖谄渌^好變換,但由于約束條件,這些變換為不可用的。在本發(fā)明中描述的技術(shù)中,因?yàn)楦嘧儞Q為可用的,視頻編碼器及視頻解碼器可使用提供比將可能具有有限集合的變換更好的譯碼性能的變換。此外,如更詳細(xì)地描述,使用于指示將使用哪個變換的信令開銷保持低,以使得當(dāng)具有更多可用變換及保持對帶寬低的影響時可達(dá)成譯碼增益。舉例來說,視頻解碼器可基于隱式技術(shù)(例如,基于幀內(nèi)預(yù)測模式、變換塊的定位等)選擇使用哪些變換子集,而不是依賴位流中的用信號發(fā)送的信息。視頻解碼器可隨后可能基于在位流中用信號發(fā)送的用于所選擇變換子集的相應(yīng)者的一或多個變換子集索引或其它因素(包含但不限于非零系數(shù)的數(shù)目、非零系數(shù)的總和或系數(shù)塊中的非零系數(shù)的位置)從所選擇的變換子集確定使用哪些變換。即使針對相應(yīng)變換子集用信號發(fā)送變換子集索引,但信令開銷可保持低,因?yàn)樗饕祪H跨越變換子集的范圍而不是跨越所有可能變換。舉例來說,假定存在至多16個可能的變換,且變換子集包含三個候選變換。在這種情況下,索引值將在0至2的范圍內(nèi),而對所有變換的列表的索引將在0至15的范圍內(nèi)。用信號發(fā)送的較小值(例如0至2)可需要比用信號發(fā)送的較大值更少的位。在描述構(gòu)建及選擇變換子集的方式之前,下文描述視頻譯碼標(biāo)準(zhǔn)、一般dct及dst、不同類型的dct及dst以及一些現(xiàn)有dct及dst技術(shù)。本發(fā)明隨后描述現(xiàn)有技術(shù)中的一些問題,接著描述可克服所述問題的實(shí)例技術(shù)。視頻譯碼標(biāo)準(zhǔn)包含itu-th.261、iso/iecmpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual及itu-th.264(也稱為iso/iecmpeg-4avc),包含其可調(diào)式視頻譯碼(svc)及多視圖視頻譯碼(mvc)擴(kuò)展。另外,已由itu-t視頻譯碼專家組(vceg)及iso/iec動畫專家組(mpeg)的視頻譯碼聯(lián)合協(xié)作小組(jct-vc)開發(fā)新的視頻譯碼標(biāo)準(zhǔn)(即,高效率視頻譯碼(hevc))。最終hevc草案說明書及下文被稱作hevcwd可從http://phenix.int-evry.fr/jct/doc_end_user/documents/14_vienna/wg11/jctvc-n1003-v1.zip.獲得。hevc標(biāo)準(zhǔn)的最終草案為:itu-th.265,h系列:視聽及多媒體系統(tǒng)、移動視頻的視聽服務(wù)譯碼的基礎(chǔ)結(jié)構(gòu)、通用視聽服務(wù)的先進(jìn)視頻譯碼、國際電信聯(lián)盟,2014年10月,且可從http://www.itu.int/rec/t-rec-h.265-201410-i/en獲得。下文為離散正弦及余弦變換的描述。變換指示導(dǎo)出輸入信號的替代表示的過程。舉例來說,變換將值從像素域轉(zhuǎn)化至頻域(例如,在視頻編碼中)或從頻域轉(zhuǎn)化至像素域(例如,在視頻解碼中)。給定n點(diǎn)向量x=[x0,x1,…,xn-1]t及給定向量的集合{φ0,φ1,…,φm-1},可使用φ0,φ1,…,φm-1的線性組合近似地或精確地表示x,其公式如下,其中可為x的近似值或等值,向量f=[f0,f1,f2,..,fm-1]被稱作變換系數(shù)向量且{φ0,φ1,…,φm-1}為變換基礎(chǔ)向量。在視頻譯碼的情形中,變換系數(shù)為大致非相關(guān)的及稀疏的,即輸入向量x的能量僅在幾個變換系數(shù)上為緊密的,且殘差大部分變換系數(shù)通常接近0。舉例來說,當(dāng)視頻編碼器將變換塊變換至系數(shù)塊時,系數(shù)塊中的非零系數(shù)值傾向于被一起分組在系數(shù)塊的左上角處,且大部分系數(shù)值為零。分組于靠近系數(shù)塊的左上角的非零系數(shù)反映低頻分量,而靠近系數(shù)塊的右下角的系數(shù)值(傾向于零)反映高頻分量。給定特定的輸入數(shù)據(jù),就能量集中性而言優(yōu)化變換為所謂的karhunen-loeve變換(klt),其使用輸入數(shù)據(jù)的協(xié)方差矩陣的本征向量作為變換基礎(chǔ)向量。因此,klt實(shí)際上為數(shù)據(jù)相依的變換且不具有通用數(shù)學(xué)公式。然而,在某些假定情況下,例如,輸入數(shù)據(jù)形成一階靜止馬爾可夫(markov)過程,其已經(jīng)在對應(yīng)klt實(shí)際上為單變換的正弦家族的成員的文獻(xiàn)中被證實(shí),其描述于jain,a.k的單變換的正弦家族(1979年,ieeetrans,圖案分析及機(jī)器智能,1,356,中)。單變換的正弦家族使用公式如下的變換基礎(chǔ)向量指示變換:φm(k)=a·eikθ+b·e-ikθ其中e為近似等于2.71828的自然對數(shù)的底,a、b及θ通常為復(fù)數(shù)且取決于m的值。包含離散傅里葉、余弦、正弦及klt(用于一階靜止馬爾可夫過程)的若干熟知變換為單變換的這個正弦家族的成員。根據(jù)s.a.martucci的“對稱卷積及離散正弦與余弦變換(symmetricconvolutionandthediscretesineandcosinetransforms)”(ieeetrans.sig.processingsp-42,1038-1051(1994)),整個離散余弦變換(dct)及離散正弦變換(dst)家族包含基于不同類型(即,a、b及θ的不同值)的共計(jì)16個變換,且下文給定不同類型的dct及dst的完整定義。假定輸入n點(diǎn)向量表示為x=[x0,x1,…,xn-1]t,且其通過乘以矩陣而變換至被表示為y=[y0,y1,…,yn-1]t的另一n點(diǎn)變換系數(shù)向量,其過程可根據(jù)以下變換公式中的一者進(jìn)一步說明,其中包含性的k在0至n-1的范圍中:dct類型-i(dct-1):其中dct類型-ii(dct-2):其中dct類型-iii(dct-3):其中dct類型-iv(dct-4):dct類型-v(dct-5):其中dct類型-vi(dct-6):其中dct類型-vii(dct-7):其中dct類型-viii(dct-8):dst類型-i(dst-1):dst類型-ii(dst-2):其中dst類型-iii(dst-3):其中dst類型-iv(dst-4):dst類型-v(dst-5):dst類型-vi(dst-6):dst類型-vii(dst-7):dst類型-viii(dst-8):其中上文提供不同dct及dst類型的實(shí)例,總體而言存在16個變換類型。變換類型由變換基底函數(shù)的數(shù)學(xué)公式來指定。不應(yīng)混淆變換類型與變換大小。變換類型指基底函數(shù),而變換大小指變換的大小。舉例來說,4點(diǎn)dst-vii及8點(diǎn)dst-vii具有相同變換類型,而與n的值(例如,4點(diǎn)或8點(diǎn))無關(guān)。在不損失一般性的情況下,所有以上變換類型可使用下文的通用公式來表示:其中t為通過一個特定變換(例如,dct類型-i至dct類型-viii,或dst類型-i至dst類型-viii)的定義所指定的變換矩陣,且t的行向量(例如,[ti,0,ti,1,ti,2,…,ti,n-1])為第i個變換基礎(chǔ)向量。應(yīng)用于n點(diǎn)輸入向量上的變換被稱作n點(diǎn)變換。也應(yīng)注意,應(yīng)用于1-d輸入數(shù)據(jù)x上的以上變換公式可以下文的矩陣乘法形式來表示:y=t·x其中t指示變換矩陣,x指示輸入數(shù)據(jù)向量,且y指示輸出變換系數(shù)向量。舉例來說,視頻編碼器可執(zhí)行矩陣乘法y=t·x以產(chǎn)生變換系數(shù)向量。視頻解碼器可執(zhí)行逆矩陣乘法以從變換系數(shù)向量產(chǎn)生變換向量。上文引入的變換應(yīng)用于1-d輸入數(shù)據(jù)上,且變換也可經(jīng)擴(kuò)展以用于2-d輸入數(shù)據(jù)源。假設(shè)x為輸入m×n數(shù)據(jù)陣列。將變換應(yīng)用于2-d輸入數(shù)據(jù)上的典型方法包含可分離的及非可分離的2-d變換??煞蛛x的2-d變換將1-d變換依序應(yīng)用于x的水平向量及垂直向量,公式如下:y=c·x·rt其中c及r分別指示給定的m×m及n×n變換矩陣。從所述公式可見,c將1-d變換應(yīng)用于x的列向量,而r將1-d變換應(yīng)用于x的行向量。在本發(fā)明的稍后部分,為簡單起見,將c及r表示為左(垂直)及右(水平)變換,且其均形成變換對。存在c等于r且c為正交矩陣的情況。在這種情況下,可分離的2-d變換由僅一個變換矩陣確定。非可分離的2-d變換通過進(jìn)行作為實(shí)例的以下數(shù)學(xué)映射首先將x的所有元素重組成單個向量(即x'):x′(i·n+j)=xi,j隨后1-d變換t'如下應(yīng)用于x':y=t′·x其中t'為(m*n)×(m*n)變換矩陣。在視頻譯碼中,始終應(yīng)用可分離的2-d變換,因?yàn)槠湫枰?-d變換更少的運(yùn)算(加法、乘法)計(jì)數(shù)。如下文更詳細(xì)地描述,本發(fā)明描述視頻編碼器及視頻解碼器選擇左變換及右變換所使用的實(shí)例技術(shù)。舉例來說,視頻編碼器及視頻解碼器可確定多個變換子集,每一變換子集識別多個候選變換。作為16個可能變換(例如,dct-1至dct-8及dst-1至dst-8)的實(shí)例,視頻編碼器及視頻解碼器可確定三個變換子集,且變換子集中的每一者包含16個變換中的兩個或兩個以上變換。視頻編碼器及視頻解碼器可選擇三個變換子集中的一者并從所選擇的變換子集確定左變換(例如,c)及選擇三個變換子集中的一者并從所選擇的變換子集確定右變換(例如,r)。所選擇的變換子集可為不同子集或相同子集。下文為hevc中應(yīng)用的變換類型的描述。在常規(guī)視頻編解碼器(例如,h.264/avc)中,4點(diǎn)及8點(diǎn)離散余弦變換(dct)類型-ii的整數(shù)近似始終應(yīng)用于幀內(nèi)及幀間預(yù)測殘差。幀內(nèi)預(yù)測殘差指來自幀內(nèi)預(yù)測的殘差且?guī)g預(yù)測殘差指來自幀間預(yù)測的殘差。殘差、幀間預(yù)測及幀內(nèi)預(yù)測均在下文得以更詳細(xì)地描述。通常,殘差塊被分成多個變換塊。在視頻編碼中,變換應(yīng)用于變換塊中的每一者以產(chǎn)生系數(shù)塊。在視頻解碼中,變換應(yīng)用于系數(shù)塊中的每一者以產(chǎn)生變換塊及重建殘差塊。為更好地適應(yīng)殘差樣本的各種統(tǒng)計(jì),除dct類型-ii外的更靈活類型的變換用于新一代視頻編解碼器中。舉例來說,在hevc中,4點(diǎn)類型-vii離散正弦變換(dst)的整數(shù)近似用于幀內(nèi)預(yù)測殘差,其在理論上證明及以實(shí)驗(yàn)方式證實(shí),dst類型-vii比dct類型-ii對于沿幀內(nèi)預(yù)測方向產(chǎn)生的殘差殘差向量更有效,例如,dst類型-vii比dct類型-ii對于由水平幀內(nèi)預(yù)測方向產(chǎn)生的行殘差向量更有效。參見(例如)j.han,a.saxena及k.rose的“關(guān)于視頻/圖像譯碼中的聯(lián)合優(yōu)化空間預(yù)測與自適應(yīng)變換(towardsjointlyoptimalspatialpredictionandadaptivetransforminvideo/imagecoding)”(ieee聲學(xué)語音及信號處理國際會議(icassp),2010年3月,第726-729頁)。在hevc中,4點(diǎn)dst類型-vii的整數(shù)近似僅應(yīng)用于4×4明度幀內(nèi)預(yù)測殘差塊(下文更詳細(xì)地描述明度幀內(nèi)預(yù)測殘差塊)。用于hevc中的4點(diǎn)dst-vii在圖1a中展示。在hevc中,對于不為4×4明度幀內(nèi)預(yù)測殘差塊的殘差塊,也應(yīng)用4點(diǎn)、8點(diǎn)、16點(diǎn)及32點(diǎn)dct類型-ii的整數(shù)近似。圖1b說明4點(diǎn)dct-ii的實(shí)例;圖1c說明8點(diǎn)dct-ii的實(shí)例;圖1d說明16點(diǎn)dct-ii的實(shí)例;且圖1e及1f說明32點(diǎn)dct-ii的實(shí)例。圖1a至1f說明大小不同的ii型的dct的實(shí)例,且如同圖1a至1f,存在不同類型的n點(diǎn)dct及dst的實(shí)例。圖2為說明可利用本發(fā)明的技術(shù)的實(shí)例視頻譯碼系統(tǒng)10的框圖。如本文所使用,術(shù)語“視頻譯碼器”大體上指視頻編碼器及視頻解碼器。在本發(fā)明中,術(shù)語“視頻譯碼”或“譯碼”可大體上指視頻編碼或視頻解碼。根據(jù)本發(fā)明中描述的各種實(shí)例,視頻譯碼系統(tǒng)10的視頻編碼器20及視頻解碼器30表示可經(jīng)配置以執(zhí)行用于預(yù)測殘差的增強(qiáng)型多重變換的技術(shù)的裝置的實(shí)例。如圖1中所示,視頻譯碼系統(tǒng)10包含源裝置12及目的地裝置14。源裝置12產(chǎn)生經(jīng)編碼視頻數(shù)據(jù)。因此,源裝置12可被稱作視頻編碼裝置或視頻編碼設(shè)備。目的地裝置14可解碼由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)。因此,目的地裝置14可被稱作視頻解碼裝置或視頻解碼設(shè)備。源裝置12及目的地裝置14可為視頻譯碼裝置或視頻譯碼設(shè)備的實(shí)例。源裝置12及目的地裝置14可包括廣泛范圍的裝置,包含臺式計(jì)算機(jī)、移動計(jì)算裝置、筆記型(例如,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、例如所謂的“智能”電話的電話手持機(jī)、電視、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、車載計(jì)算機(jī)等等。目的地裝置14可通過信道16從源裝置12接收經(jīng)編碼視頻數(shù)據(jù)。信道16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動至目的地裝置14的一或多個媒體或裝置。在一個實(shí)例中,信道16可包括使源裝置12能夠?qū)崟r地將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射至目的地裝置14的一或多個通信媒體。在這個實(shí)例中,源裝置12可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)調(diào)制經(jīng)編碼視頻數(shù)據(jù),且可將經(jīng)調(diào)制視頻數(shù)據(jù)發(fā)射至目的地裝置14。一或多個通信媒體可包含無線及/或有線通信媒體,例如射頻(rf)頻譜或一或多個實(shí)體發(fā)射線。一或多個通信媒體可形成基于數(shù)據(jù)包的網(wǎng)絡(luò)(例如局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng)))的部分。一或多個通信媒體可包含路由器、交換器、基站,或促進(jìn)從源裝置12至目的地裝置14的通信的其它設(shè)備。在另一實(shí)例中,信道16可包含存儲由源裝置12所產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)的存儲媒體。在這個實(shí)例中,目的地裝置14可(例如)通過磁盤存取或卡存取而存取存儲媒體。存儲媒體可包含多種本地存取的數(shù)據(jù)存儲媒體,例如藍(lán)光光盤、dvd、cd-rom、閃存,或用于存儲經(jīng)編碼視頻數(shù)據(jù)的其它合適的數(shù)字存儲媒體。在另一實(shí)例中,信道16可包含存儲由源裝置12所產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)的文件服務(wù)器或另一中間存儲裝置。在這個實(shí)例中,目的地裝置14可通過流式發(fā)射或下載而存取存儲于文件服務(wù)器或其它中間存儲裝置處的經(jīng)編碼視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將經(jīng)編碼視頻數(shù)據(jù)發(fā)射至目的地裝置14的類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)頁服務(wù)器(例如,用于網(wǎng)站)、文件傳送協(xié)定(ftp)服務(wù)器、網(wǎng)絡(luò)附接存儲(nas)裝置及本地磁盤驅(qū)動器。目的地裝置14可通過標(biāo)準(zhǔn)數(shù)據(jù)連接(例如,互聯(lián)網(wǎng)連接)來存取經(jīng)編碼視頻數(shù)據(jù)。數(shù)據(jù)連接的實(shí)例類型可包含適合于存取存儲于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的無線信道(例如,wi-fi連接)、有線連接(例如,dsl、纜線調(diào)制解調(diào)器等)或兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從文件服務(wù)器的發(fā)射可為流式發(fā)射、下載發(fā)射或兩者的組合。本發(fā)明的技術(shù)不限于無線應(yīng)用或設(shè)定。所述技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用(例如,(例如)通過互聯(lián)網(wǎng)的空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、流式視頻發(fā)射)的視頻譯碼、供存儲于數(shù)據(jù)存儲媒體上的數(shù)字視頻的編碼、存儲于數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,視頻譯碼系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻發(fā)射以支持例如視頻流式發(fā)射、視頻播放、視頻廣播及/或視頻電話的應(yīng)用。圖2中所說明的視頻譯碼系統(tǒng)10僅為實(shí)例,且本發(fā)明的技術(shù)可適用于未必包含編碼裝置與解碼裝置之間的任何數(shù)據(jù)通信的視頻譯碼設(shè)定(例如,視頻編碼或視頻解碼)。在其它實(shí)例中,從通過網(wǎng)絡(luò)等而流式發(fā)射的區(qū)域存儲器檢索數(shù)據(jù)。視頻編碼裝置可編碼數(shù)據(jù)并將數(shù)據(jù)存儲至存儲器,及/或視頻解碼裝置可從存儲器檢索數(shù)據(jù)并解碼數(shù)據(jù)。在許多實(shí)例中,由并不彼此通信但簡單地將數(shù)據(jù)編碼至存儲器及/或從存儲器檢索數(shù)據(jù)并解碼數(shù)據(jù)的裝置來執(zhí)行編碼及解碼。在圖2的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口22。在一些實(shí)例中,輸出接口22可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)及/或發(fā)射器。視頻源18可包含視頻捕獲裝置(例如,攝像機(jī))、含有先前所捕獲的視頻數(shù)據(jù)的視頻存檔、用以從視頻內(nèi)容提供者接收視頻數(shù)據(jù)的視頻饋入接口,及/或用于產(chǎn)生視頻數(shù)據(jù)的計(jì)算機(jī)圖形系統(tǒng),或這些視頻數(shù)據(jù)源的組合。視頻編碼器20可編碼來自視頻源18的視頻數(shù)據(jù)。在一些實(shí)例中,源裝置12通過輸出接口22將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射至目的地裝置14。在其它實(shí)例中,經(jīng)編碼視頻數(shù)據(jù)也可存儲于存儲媒體或文件服務(wù)器上,以供目的地裝置14稍后存取以用于解碼及/或播放。在圖2的實(shí)例中,目的地裝置14包含輸入接口28、視頻解碼器30及顯示裝置32。在一些實(shí)例中,輸入接口28包含接收器及/或調(diào)制解調(diào)器。輸入接口28可通過信道16接收經(jīng)編碼視頻數(shù)據(jù)。顯示裝置32可與目的地裝置14集成或可在目的地裝置14外部。一般而言,顯示裝置32顯示經(jīng)解碼視頻數(shù)據(jù)。顯示裝置32可包括各種顯示裝置,例如液晶顯示器(lcd)、等離子顯示器、有機(jī)發(fā)光二極管(oled)顯示器,或另一類型的顯示裝置。視頻編碼器20及視頻解碼器30各自從可實(shí)施為各種合適電路中的任一者,例如一或多個微處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、場可編程門陣列(fpga)、離散邏輯、硬件或其任何組合。如果部分地以軟件來實(shí)施所述技術(shù),那么裝置可將用于軟件的指令存儲于合適的非暫時性計(jì)算機(jī)可讀存儲媒體中,且可在硬件中使用一或多個處理器來執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。可將前述各者(包含硬件、軟件、硬件與軟件的組合等)中的任一者視為一或多個處理器。視頻編碼器20及視頻解碼器30中的每一者可包含于一或多個編碼器或解碼器中,編碼器或解碼器中的任一者可集成為相應(yīng)裝置中的組合式編碼器/解碼器(編解碼器)的部分。本發(fā)明通??芍复曨l編碼器20將某一信息“用信號發(fā)送”或“發(fā)射”至另一裝置,例如,視頻解碼器30。術(shù)語“用信號發(fā)送”或“發(fā)射”通??芍复糜诮獯a經(jīng)壓縮視頻數(shù)據(jù)的語法元素及/或其它數(shù)據(jù)的通信。這種通信可實(shí)時地或近乎實(shí)時地發(fā)生。替代地,這種通信可在一時間跨度內(nèi)發(fā)生,例如,這種通信可能在當(dāng)編碼時在經(jīng)編碼位流中將語法元素存儲至計(jì)算機(jī)可讀存儲媒體時發(fā)生,所述語法元素在存儲至這個媒體之后接著可由解碼裝置在任何時間檢索。在一些實(shí)例中,視頻編碼器20及視頻解碼器30根據(jù)視頻壓縮標(biāo)準(zhǔn)(例如,上文所提及的hevc標(biāo)準(zhǔn)、hevc的擴(kuò)展或可能為開發(fā)中的下一代視頻譯碼標(biāo)準(zhǔn))來操作。僅為了易于理解,下文提供關(guān)于hevc標(biāo)準(zhǔn)的一些信息。然而,本發(fā)明中描述的技術(shù)不應(yīng)被視為受限于hevc標(biāo)準(zhǔn)。在hevc及其它視頻譯碼標(biāo)準(zhǔn)中,視頻序列通常包含一系列圖片。圖片也可被稱作“幀”。圖片可包含三個樣本陣列,表示為sl、scb及scr。sl為明度樣本的二維陣列(即,塊)。scb為cb色度樣本的二維陣列。scr為cr色度(chrominance)樣本的二維陣列。色度樣本在本文中也可被稱作“色度(chroma)”樣本。在其它情況下,圖片可為單色的,且可僅包含明度樣本陣列。為了產(chǎn)生圖片的經(jīng)編碼表示,視頻編碼器20可產(chǎn)生譯碼樹型單元(ctu)的集合。ctu中的每一者可為明度樣本的譯碼樹型塊、色度樣本的兩個對應(yīng)譯碼樹型塊,及用于對譯碼樹型塊的樣本進(jìn)行譯碼的語法結(jié)構(gòu)。譯碼樹型塊可為樣本的n×n塊。ctu也可被稱作“樹型塊”或“最大譯碼單元”(lcu)。hevc的ctu可廣泛地類似于例如h.264/avc的其它標(biāo)準(zhǔn)的宏塊。然而,ctu未必限于特定大小,且可包含一或多個譯碼單元(cu)。圖塊可包含在光柵掃描中連續(xù)排序的整數(shù)數(shù)目個ctu。為產(chǎn)生經(jīng)譯碼ctu,視頻編碼器20可對ctu的譯碼樹型塊遞回地執(zhí)行四叉樹分割,以將譯碼樹型塊劃分成譯碼塊,因此命名為“譯碼樹型單元”。譯碼塊為樣本的n×n塊。cu可為圖片的明度樣本的譯碼塊及色度樣本的兩個對應(yīng)譯碼塊,所述圖片具有明度樣本陣列、cb樣本陣列及cr樣本陣列,以及用以對譯碼塊的樣本進(jìn)行譯碼的語法結(jié)構(gòu)。視頻編碼器20可將cu的譯碼塊分割為一或多個預(yù)測塊。預(yù)測塊可為其上應(yīng)用相同預(yù)測的樣本的矩形(即,正方形或非正方形)塊。cu的預(yù)測單元(pu)可為圖片的明度樣本的預(yù)測塊、色度樣本的兩個對應(yīng)預(yù)測塊,及用以對預(yù)測塊樣本進(jìn)行預(yù)測的語法結(jié)構(gòu)。視頻編碼器20可針對cu的每一pu的明度、cb及cr預(yù)測塊產(chǎn)生預(yù)測性明度塊、cb塊及cr塊。視頻編碼器20可使用幀內(nèi)預(yù)測或幀間預(yù)測來產(chǎn)生(例如,確定)pu的預(yù)測性塊。如果視頻編碼器20使用幀內(nèi)預(yù)測來產(chǎn)生pu的預(yù)測性塊,那么視頻編碼器20可基于與pu相關(guān)聯(lián)的圖片的經(jīng)解碼樣本產(chǎn)生pu的預(yù)測性塊。如果視頻編碼器20使用幀間預(yù)測來產(chǎn)生(例如,確定)pu的預(yù)測性塊,那么視頻編碼器20可基于不同于與pu相關(guān)聯(lián)的圖片的一或多個圖片的經(jīng)解碼樣本產(chǎn)生pu的預(yù)測性塊。視頻編碼器20可使用單向預(yù)測或雙向預(yù)測以產(chǎn)生pu的預(yù)測性塊。當(dāng)視頻編碼器20使用單向預(yù)測來產(chǎn)生pu的預(yù)測性塊時,pu可具有單一運(yùn)動向量(mv)。當(dāng)視頻編碼器20使用雙向預(yù)測來產(chǎn)生pu的預(yù)測性塊時,pu可具有兩個mv。在視頻編碼器20產(chǎn)生cu的一或多個pu的預(yù)測性明度塊、cb塊及cr塊之后,視頻編碼器20可產(chǎn)生cu的明度殘差塊。cu的明度殘差塊中的每一樣本指示cu的預(yù)測性明度塊中的一者中的明度樣本與cu的原始明度譯碼塊中的對應(yīng)樣本之間的差異。另外,視頻編碼器20可產(chǎn)生cu的cb殘差塊。cu的cb殘差塊中的每一樣本可指示cu的預(yù)測性cb塊中的一者中的cb樣本與cu的原始cb譯碼塊中的對應(yīng)樣本之間的差異。視頻編碼器20也可產(chǎn)生cu的cr殘差塊。cu的cr殘差塊中的每一樣本可指示cu的預(yù)測性cr塊中的一者中的cr樣本與cu的原始cr譯碼塊中的對應(yīng)樣本之間的差異。此外,視頻編碼器20可使用四叉樹分割以將cu的明度殘差塊、cb殘差塊及cr殘差塊分解成一或多個明度變換塊、cb變換塊及cr變換塊。變換塊可為其上應(yīng)用相同變換的樣本的矩形塊。cu的變換單元(tu)可為明度樣本的變換塊、色度樣本的兩個對應(yīng)變換塊,及用以對變換塊樣本進(jìn)行變換的語法結(jié)構(gòu)。因此,cu的每一tu可與明度變換塊、cb變換塊及cr變換塊相關(guān)聯(lián)。與tu相關(guān)聯(lián)的明度變換塊可為cu的明度殘差塊的子塊。cb變換塊可為cu的cb殘差塊的子塊。cr變換塊可為cu的cr殘差塊的子塊。視頻編碼器20可將一或多個變換應(yīng)用至tu的明度變換塊,以產(chǎn)生tu的明度系數(shù)塊。系數(shù)塊可為變換系數(shù)的二維陣列。變換系數(shù)可為純量。視頻編碼器20可將一或多個變換應(yīng)用于tu的cb變換塊以產(chǎn)生tu的cb系數(shù)塊。視頻編碼器20可將一或多個變換應(yīng)用于tu的cr變換塊以產(chǎn)生tu的cr系數(shù)塊。如更詳細(xì)地描述,本發(fā)明描述視頻編碼器20確定用于產(chǎn)生系數(shù)塊的變換的實(shí)例方式。在產(chǎn)生系數(shù)塊(例如,明度系數(shù)塊、cb系數(shù)塊或cr系數(shù)塊)之后,視頻編碼器20可量化所述系數(shù)塊。量化通常指對變換系數(shù)進(jìn)行量化以可能地減少用以表示變換系數(shù)的數(shù)據(jù)的量,從而提供進(jìn)一步壓縮的過程。在視頻編碼器20量化系數(shù)塊之后,視頻編碼器20可熵編碼指示經(jīng)量化變換系數(shù)的語法元素。舉例來說,視頻編碼器20可對指示經(jīng)量化變換系數(shù)的語法元素執(zhí)行上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(cabac)。視頻編碼器20可在位流中輸出經(jīng)熵編碼的語法元素。視頻編碼器20可輸出包含經(jīng)熵編碼的語法元素的位流。位流可包含形成經(jīng)譯碼圖片及相關(guān)聯(lián)數(shù)據(jù)的表示的位的序列。位流可包括網(wǎng)絡(luò)抽象層(nal)單元的序列。nal單元中的每一者包含nal單元標(biāo)頭且囊封原始字節(jié)序列有效載荷(rbsp)。nal單元標(biāo)頭可包含指示nal單元類型碼的語法元素。由nal單元的nal單元標(biāo)頭指定的nal單元類型碼指示nal單元的類型。rbsp可為含有囊封于nal單元內(nèi)的整數(shù)數(shù)目個字節(jié)的語法結(jié)構(gòu)。在一些情況下,rbsp包含零個位。不同類型的nal單元可囊封不同類型的rbsp。舉例來說,第一類型的nal單元可囊封圖片參數(shù)集(pps)的rbsp,第二類型的nal單元可囊封經(jīng)譯碼圖塊的rbsp,第三類型的nal單元可囊封sei的rbsp,等等。囊封視頻譯碼數(shù)據(jù)的rbsp(如與參數(shù)集及sei消息的rbsp相反)的nal單元可被稱作視頻譯碼層(vcl)nal單元。視頻解碼器30可接收由視頻編碼器20產(chǎn)生的位流。另外,視頻解碼器30可剖析位流以從位流解碼語法元素。視頻解碼器30可至少部分地基于從位流解碼的語法元素而重建視頻數(shù)據(jù)的圖片。重建視頻數(shù)據(jù)的過程通??膳c由視頻編碼器20執(zhí)行的過程互逆。舉例來說,視頻解碼器30可使用pu的mv來確定當(dāng)前cu的pu的預(yù)測性塊。另外,視頻解碼器30可逆量化與當(dāng)前cu的tu相關(guān)聯(lián)的變換系數(shù)塊。視頻解碼器30可對變換系數(shù)塊執(zhí)行逆變換以重建與當(dāng)前cu的tu相關(guān)聯(lián)的變換塊。本發(fā)明描述視頻解碼器30確定用于對變換系數(shù)塊執(zhí)行逆變換的變換的方式的實(shí)例技術(shù)。通過將當(dāng)前cu的pu的預(yù)測性塊的樣本添加至當(dāng)前cu的tu的變換塊的對應(yīng)樣本,視頻解碼器30可重建當(dāng)前cu的譯碼塊。通過重建圖片的每一cu的譯碼塊,視頻解碼器30可重建圖片。如上文所描述,cu包含一或多個tu。下文描述基于hevc中的殘差四叉樹的變換方案。為適應(yīng)殘差塊的各種特性,使用殘差四叉樹(rqt)的變換譯碼結(jié)構(gòu)應(yīng)用于hevc中,其簡要地描述于http://www.hhi.fraunhofer.de/fields-of-competence/image-processing/research-groups/image-video-coding/hevc-high-efficiency-video-coding/transform-coding-using-the-residual-quadtree-rqt.html中。如上文所描述,每一圖片被分成ctu,所述ctu以光柵掃描次序譯碼以用于特定方塊或圖塊。ctu為方形塊且表示四叉樹(即,譯碼樹)的根。ctu大小可在8×8至64×64明度樣本的范圍內(nèi),但通常使用64×64。每一ctu可進(jìn)一步分裂成被稱作譯碼單元(cu)的更小方形塊。在ctu以回歸方式分裂成cu之后,每一cu經(jīng)進(jìn)一步分成預(yù)測單元(pu)及變換單元(tu)?;谒牟鏄浞椒ㄒ曰貧w方式進(jìn)行cu至tu的分割,因此每一cu的殘差信號通過樹型結(jié)構(gòu)(即,殘差四叉樹(rqt))來譯碼。rqt允許從4×4直至32×32明度樣本的tu大小。圖3展示其中cu包含10個tu(標(biāo)記有字母“a”至“j”)及對應(yīng)的塊分割的實(shí)例。rqt的每一節(jié)點(diǎn)實(shí)際上為變換單元(tu)。以深度優(yōu)先樹遍歷次序來處理個別tu,所述次序在圖3中經(jīng)說明為字母次序,所述處理在具有深度優(yōu)先遍歷的回歸z掃描之后。四叉樹方法使得能夠使變換適應(yīng)殘差信號的變化的空間頻率特性。通常,具有較大空間支持的較大變換塊大小提供更好的頻率分辨率。然而,具有較小空間支持的較小變換塊大小提供更好的空間分辨率。兩個分辨率(空間分辨率與頻率分辨率)之間的折衷由編碼器模式?jīng)Q定(例如,由視頻編碼器20)(例如)基于速率失真優(yōu)化技術(shù)所選擇。速率失真優(yōu)化技術(shù)針對每一譯碼模式(例如,特定rqt分裂結(jié)構(gòu))計(jì)算譯碼位及重建失真的加權(quán)總和(即,速率失真成本),并選擇具有最小速率失真成本的譯碼模式作為最佳模式。三個參數(shù)定義于rqt中:樹的最大深度、最小允許變換大小及最大允許變換大小。最小及最大變換大小可在從4×4至32×32樣本的范圍內(nèi)變化,其對應(yīng)于先前段落中提及的所支持的塊變換。rqt的最大允許深度限制tu的數(shù)目。最大深度等于零意指cb(譯碼塊)無法經(jīng)進(jìn)一步分裂,如果每一cb包含tb(變換塊),那么達(dá)到最大允許變換大小(例如32×32)。所有這些參數(shù)與rqt結(jié)構(gòu)相互作用并影響rqt結(jié)構(gòu)。考慮根cb大小為64×64,最大深度等于零及最大變換大小等于32×32的情況。在這種情況下,cb必須被分割至少一次,否則其將產(chǎn)生不被允許的64×64tb。在hevc中,不采用較大的大小變換(例如,64×64變換),主要因?yàn)槠涫芟薜囊嫣幙剂考皩τ谙鄬^小分辨率視頻的相對高的復(fù)雜度。rqt參數(shù)(即,最大rqt深度、最小及最大變換大小)在位流中以序列參數(shù)集級別發(fā)射。關(guān)于rqt深度,可指定不同值并用信號發(fā)送不同值以用于經(jīng)幀內(nèi)及幀間譯碼的cu(即,經(jīng)幀內(nèi)預(yù)測編碼的cu或經(jīng)幀間預(yù)測解碼的cu或經(jīng)幀內(nèi)預(yù)測編碼的cu或經(jīng)幀間預(yù)測的cu)。四叉樹變換應(yīng)用于幀內(nèi)殘差塊及幀間殘差塊。通常,相同大小的當(dāng)前殘差四叉樹分割區(qū)的dct-ii變換應(yīng)用于殘差塊。然而,如果當(dāng)前殘差四叉樹塊為4×4并由幀內(nèi)預(yù)測產(chǎn)生,那么應(yīng)用以上4×4dst-vii變換。下文描述hevc中的系數(shù)譯碼。無論tu大小如何,使用非重疊系數(shù)群組(cg)來譯碼變換單元的殘差,且每一者含有tu的4×4塊的系數(shù)。舉例來說,32×32tu具有共計(jì)64個cg,且16×16tu具有共計(jì)16個cg。根據(jù)某一預(yù)定義掃描次序來譯碼tu內(nèi)部的cg。當(dāng)譯碼每一cg時,根據(jù)用于4×4塊的某一預(yù)定義掃描次序來掃描并譯碼當(dāng)前cg內(nèi)部的系數(shù)。圖4說明用于含有4個cg的8×8tu的系數(shù)掃描。對于每一色彩分量,可首先用信號發(fā)送一個旗標(biāo)以指示當(dāng)前變換單元是否具有至少一個非零系數(shù)。如果存在至少一個非零系數(shù),那么變換單元中的系數(shù)掃描次序中的最末有效系數(shù)的位置隨后使用相對于變換單元的左上角的協(xié)調(diào)而經(jīng)明確地譯碼。協(xié)調(diào)的垂直或水平分量通過其前綴及后綴表示,其中前綴經(jīng)二進(jìn)制化具有截?cái)嗳R斯(tr),且后綴經(jīng)二進(jìn)制化具有固定長度。last_sig_coeff_x_prefix指定變換塊內(nèi)的掃描次序中的最末有效系數(shù)的列位置的前綴。last_sig_coeff_x_prefix的包含性值應(yīng)在0至(log2trafosize<<1)-1的范圍內(nèi)。last_sig_coeff_y_prefix指定變換塊內(nèi)的掃描次序中的最末有效系數(shù)的行位置的前綴。last_sig_coeff_y_prefix的包含性值應(yīng)在0至(log2trafosize<<1)-1的范圍內(nèi)。last_sig_coeff_x_suffix指定變換塊內(nèi)的掃描次序中的最末有效系數(shù)的列位置的后綴。last_sig_coeff_x_suffix的包含性值應(yīng)在0至(1<<((last_sig_coeff_x_prefix>>1)-1))-1的范圍內(nèi)。變換塊lastsignificantcoeffx內(nèi)的掃描次序中的最末有效系數(shù)的行位置經(jīng)導(dǎo)出如下:-如果不存在last_sig_coeff_x_suffix,那么下文適用:lastsignificantcoeffx=last_sig_coeff_x_prefix-否則(存在last_sig_coeff_x_suffix),下文適用:lastsignificantcoeffx=(1<<((last_sig_coeff_x_prefix>>1)-1))*(2+(last_sig_coeff_x_prefix&1))+last_sig_coeff_x_suffixlast_sig_coeff_y_suffix指定變換塊內(nèi)的掃描次序中的最末有效系數(shù)的行位置的后綴。last_sig_coeff_y_suffix的包含性值應(yīng)在0至(1<<((last_sig_coeff_y_prefix>>1)-1))-1的范圍內(nèi)。變換塊lastsignificantcoeffy內(nèi)的掃描次序中的最末有效系數(shù)的行位置經(jīng)導(dǎo)出如下:-如果不存在last_sig_coeff_y_suffix,那么下文適用:lastsignificantcoeffy=last_sig_coeff_y_prefix-否則(存在last_sig_coeff_y_suffix),下文適用:lastsignificantcoeffy=(1<<((last_sig_coeff_y_prefix>>1)-1))*(2+(last_sig_coeff_y_prefix&1))+last_sig_coeff_y_suffix當(dāng)scanidx等于2時,坐標(biāo)如下調(diào)換:(lastsignificantcoeffx,lastsignificantcoeffy)=swap(lastsignificantcoeffx,lastsignificantcoeffy)在具有這類經(jīng)譯碼的位置以及cg的系數(shù)掃描次序的情況下,進(jìn)一步用信號發(fā)送一個旗標(biāo)以用于除最末cg(在掃描次序中)外的cg,所述旗標(biāo)指示其是否含有非零系數(shù)。對于可含有非零系數(shù)的所述cg,有效旗標(biāo)、系數(shù)的絕對值及正負(fù)號信息可根據(jù)預(yù)定義4×4系數(shù)掃描次序針對每一系數(shù)而經(jīng)進(jìn)一步譯碼。如上文所描述,本發(fā)明中描述的技術(shù)描述了確定視頻編碼器20所應(yīng)用來將變換塊轉(zhuǎn)化成系數(shù)塊的變換的方式及確定視頻解碼器30所應(yīng)用(例如,作為逆變換)來將系數(shù)塊轉(zhuǎn)化成變換塊的變換的方式。下文描述幀內(nèi)及幀間預(yù)測殘差的多重變換(例如,用于當(dāng)殘差塊從幀內(nèi)預(yù)測產(chǎn)生時及用于當(dāng)殘差塊從幀間預(yù)測產(chǎn)生時的不同變換類型)。在一些情況下,盡管dst類型-vii相較于常規(guī)dct類型-ii可有效地改善幀內(nèi)譯碼效率,但變換效率相對受限,因?yàn)轭A(yù)測殘差呈現(xiàn)各種統(tǒng)計(jì),且dct類型-ii及dst類型-vii的固定使用無法有效地適應(yīng)所有可能的情況。已經(jīng)提出一些技術(shù)來適應(yīng)不同情況。在s.-c.lim、d.-y.kim、s.jeong、j.s.choi、h.choi及y.-l.lee的“率失真優(yōu)化自適應(yīng)變換譯碼(rate-distortionoptimizedadaptivetransformcoding)”(2009年8月,opt.eng.,第48卷,第8號,第087004-1-087004-14頁)中,提出適應(yīng)性地采用用于預(yù)測殘差的dct或dst的完整版本的新變換方案,對于每一塊,用信號發(fā)送dct或dst變換是否用于預(yù)測殘差。在y.ye及m.karczewicz的“基于雙向幀內(nèi)預(yù)測、方向性變換及自適應(yīng)系數(shù)掃描的經(jīng)改善h.264幀內(nèi)譯碼(improvedh.264intracodingbasedonbidirectionalintraprediction,directionaltransform,andadaptivecoefficientscanning)”(2008年10月,第15次ieee國際會議的圖像處理學(xué)報(bào),第2116-2119頁)中,已提出每一幀內(nèi)預(yù)測模式可映射至經(jīng)預(yù)定義為klt對的獨(dú)特變換對(c及r),以使得應(yīng)用模式相依變換(mddt)。以此方式,不同klt變換可用于不同幀內(nèi)預(yù)測模式;然而,預(yù)定義使用哪個變換且其取決于幀內(nèi)預(yù)測模式。然而,在x.zhao、l.zhang、s.w.ma及w.gao的“借助率失真優(yōu)化變換的視頻譯碼(videocodingwithrate-distortionoptimizedtransform)”(2012年1月,ieeetrans.,電路系統(tǒng)視頻技術(shù),第22卷,第1號,第138-151頁)中,可使用更多變換且明確地用信號發(fā)送來自導(dǎo)出于離線訓(xùn)練過程的預(yù)定義變換候選集合的變換的索引。類似于mddt,每一幀內(nèi)預(yù)測方向可具有其獨(dú)特的變換對的集合。用信號發(fā)送索引以指定哪一變換對選自所述集合。舉例來說,針對最小塊大小4×4,存在至多四個垂直klt變換及至多四個水平klt變換;因此可選擇16個組合。對于較大塊大小,使用較少數(shù)目的組合?!敖柚适д鎯?yōu)化變換的視頻譯碼(videocodingwithrate-distortionoptimizedtransform)”中所提出的方法適用于幀內(nèi)及幀間預(yù)測殘差。對于幀間預(yù)測殘差,可選擇klt變換的至多16個組合,且針對每一塊用信號發(fā)送所述組合(四個用于4×4及十六個用于8×8)中的一者的索引。在a.saxena及f.fernandes的“用于圖像/視頻譯碼中的幀內(nèi)預(yù)測的基于dct/dst的變換譯碼(dct/dst-basedtransformcodingforintrapredictioninimage/videocoding)”(ieeetrans.,圖像處理)及c.yeo、y.h.tan、z.li及s.rahardja的“用于譯碼方向性幀內(nèi)預(yù)測殘差的模式相依變換(mode-dependenttransformsforcodingdirectionalintrapredictionresiduals)”(2012年,ieeetrans.,電路系統(tǒng)視頻技術(shù),第22卷,第4號,第545-554頁)中,使用多重變換;然而,替代使用klt變換(通常需要經(jīng)過訓(xùn)練),使用dct(dct-ii)或dst(dst-vii)以用于變換單元(左變換及右變換(例如,c及r)兩者相同),且通過用信號發(fā)送的旗標(biāo)確定使用哪一者。在f.zou、o.c.au、c.pang、j.dai及f.lu的“用于幀內(nèi)塊譯碼的基于勞埃德類型算法的率失真優(yōu)化變換(rate-distortionoptimizedtransformsbasedonthelloyd-typealgorithmforintrablockcoding)”(2013年11月,信號處理中的所選擇話題的ieee期刊,第7卷,第6期)中,使用若干預(yù)定義klt變換對,且針對譯碼單元用信號發(fā)送(而不是導(dǎo)出)變換對的索引,以使得譯碼單元的每一變換單元使用相同對的變換。在j.an、x.zhao、x.guo及s.lei的“non-ce7:用于經(jīng)幀內(nèi)預(yù)測殘差的與邊界有關(guān)的變換(non-ce7:boundary-dependenttransformforinter-predictedresidue)”(jctvc-g281)中,根據(jù)tu在cu內(nèi)的位置選擇多重變換以用于tu的經(jīng)幀間預(yù)測殘差。c及r變換兩者選自dst-vii及dst-vii的倒裝版本。因此,至多四個組合可能用于cu內(nèi)的tu。然而,因?yàn)榻M合完全通過pu的位置確定,所以不需要用信號發(fā)送正在使用哪個組合。可存在與用于殘差的變換相關(guān)的技術(shù)的某些問題(例如,由幀內(nèi)預(yù)測所引起的經(jīng)幀內(nèi)預(yù)測的殘差的問題,但也可適用于由幀間預(yù)測引起的經(jīng)幀間預(yù)測的殘差)?,F(xiàn)有方法可使用一對dst或dct變換以用于經(jīng)幀內(nèi)預(yù)測的殘差。然而,所述變換無法覆蓋殘差信號的所有可能的分布。舉例來說,僅dct類型-ii應(yīng)用于大于或等于hevc中的8×8的幀內(nèi)預(yù)測殘差塊,所述dct類型-ii無法適應(yīng)幀內(nèi)預(yù)測殘差的變化統(tǒng)計(jì)。僅dct類型-ii應(yīng)用于hevc中的幀間預(yù)測殘差,所述dct類型-ii無法適應(yīng)幀間預(yù)測殘差的變化統(tǒng)計(jì)。僅取決于變換塊大小或幀內(nèi)預(yù)測模式選擇變換并不十分有效,因?yàn)榧词乖谙嗤瑤瑑?nèi)預(yù)測模式或同一變換大小下,殘差統(tǒng)計(jì)仍可具有大變化。本發(fā)明描述以下技術(shù)。在一些實(shí)例中,以下技術(shù)中的一或多者可解決上文所提及的問題中的一或多者。然而,并不要求以下技術(shù)解決上文所提及的問題中的一或多者。以下技術(shù)可經(jīng)個別地應(yīng)用。在一些情況下,可應(yīng)用實(shí)例技術(shù)的任何組合。舉例來說,視頻編碼器20及視頻解碼器30可個別地應(yīng)用所述技術(shù),或在一些情況下,應(yīng)用所述一或多個技術(shù)的任何組合。在一些實(shí)例中,除了用于hevc中的基于dct-ii的變換之外,對于通過幀內(nèi)預(yù)測模式產(chǎn)生的每一殘差塊,視頻編碼器20及視頻解碼器30可從dct及dst家族的兩個或兩個以上候選變換選擇變換。作為一個實(shí)例,候選變換可屬于基于不同類型的dct及dst家族的共計(jì)16個變換,且可包含(但不限于)dct–i至dct-viii、dst-i至dst-viii。替代地或另外,視頻編碼器20及視頻解碼器30可使用其它正弦單變換,或甚至可使用其它klt變換。對于每一tu,水平及垂直變換(例如,右變換及左變換)可為同一類型。舉例來說,候選變換為dst-vii、dct-viii、dst-i及dst-v。如上文所描述,存在16個變換(例如,dct-i至dct-viii及dst-i至dst-viii)。識別使用哪些變換的一方式為使視頻編碼器20及視頻解碼器30構(gòu)建這些16變換的列表。視頻編碼器20可隨后用信號發(fā)送(例如,在位流中產(chǎn)生)對所述列表的第一索引以識別左變換(例如,用于方程式y(tǒng)=c*x*rt的變換c,其中x為變換塊且y為所得系數(shù)塊)并用信號發(fā)送(例如,在位流中產(chǎn)生)對所述列表的第二索引以識別右變換(例如,用于方程式y(tǒng)=c*x*rt的變換r)。視頻解碼器30將隨后從位流接收第一索引及第二索引并確定視頻解碼器30將使用的變換c及r以將系數(shù)塊逆變換回到變換塊。在這個實(shí)例中,第一索引的值可在0至15的范圍內(nèi),且第二索引的值可在0至15的范圍內(nèi)。通常,譯碼較大數(shù)字需要用信號發(fā)送比譯碼較小數(shù)字更多的位(例如,指示索引值15需要比指示索引值2更多的位)。在列表包含所有16個變換的情況下,可存在比所要消耗更多帶寬的信令開銷。然而,關(guān)于可使用哪些變換的限制選項(xiàng)(如hevc中所進(jìn)行)可減小信令開銷,但不利地影響譯碼效率,因?yàn)楦玫淖儞Q不可用。在本發(fā)明中描述的技術(shù)中,視頻編碼器20及視頻解碼器30可能能夠從對信令開銷具有較少影響的相對大量的候選變換確定左變換及右變換。作為一個實(shí)例,視頻編碼器20及視頻解碼器30可各自確定多個變換子集,其中每一者變換子集識別多個候選變換。舉例來說,視頻編碼器20及視頻解碼器30可各自構(gòu)建以下三個變換子集并將所述變換子集存儲于存儲器中:變換子集0:{dst-vii,dct-viii}、變換子集1:{dst-vii,dst-i}及變換子集2:{dst-vii,dct-v}。在一些實(shí)例中,這三個變換可預(yù)存儲于視頻編碼器20及視頻解碼器30的存儲器中。在任何情況下,視頻編碼器20及視頻解碼器30可被視為確定這三個變換子集,其中所述三個變換子集中的每一者識別多個候選變換(例如,在這個實(shí)例中識別兩個變換)。多個變換子集可包含超過或低于三個變換子集,且通常包含兩個或兩個以上變換子集。每一變換子集可包含一或多個候選變換,但至少一者識別多個候選變換。舉例來說,一些變換子集可僅識別一個變換,且其它變換子集可識別兩個或兩個以上變換。在一些實(shí)例中,每一變換子集可識別相對較小數(shù)目的變換(例如,低于或等于5)。在本發(fā)明中描述的技術(shù)中,視頻編碼器20及視頻解碼器30可確定對應(yīng)的變換子集。舉例來說,如果視頻編碼器20中的所存儲變換子集為變換子集0:{dst-vii,dct-viii}、變換子集1:{dst-vii,dst-i}及變換子集2:{dst-vii,dct-v},那么視頻解碼器30可存儲逆變換子集:逆變換子集0:{idst-vii,idct-viii}、逆變換子集1:{idst-vii,idst-i}及逆變換子集2:{idst-vii,idct-v}。作為另一實(shí)例,視頻解碼器30可存儲與視頻編碼器20相同的變換,且可在應(yīng)用逆變換之前將其逆向。在任一實(shí)例中,視頻編碼器20及視頻解碼器30可被視為存儲對應(yīng)的變換子集(例如,相同子集或具有彼此的逆變換的子集)。視頻編碼器20及視頻解碼器30可利用隱式技術(shù)來選擇左變換及右變換的變換子集。隱式技術(shù)意指視頻編碼器20不需要向視頻解碼器30用信號發(fā)送關(guān)于指示視頻解碼器30選擇哪些變換子集的信息。視頻編碼器20及視頻解碼器30可經(jīng)配置執(zhí)行相同隱式技術(shù)以選擇變換子集,從而在不對需用信號發(fā)送的信息的量進(jìn)行任何增加的情況下引起視頻編碼器20及視頻解碼器30選擇相同變換子集。作為一個實(shí)例,如果變換塊從幀內(nèi)預(yù)測產(chǎn)生,那么視頻編碼器20及視頻解碼器30可基于幀內(nèi)預(yù)測模式確定選擇哪些變換子集。舉例來說,視頻編碼器20及視頻解碼器30可各自存儲將幀內(nèi)預(yù)測模式映射至左變換待從其確定的變換子集及映射至右變換待從其確定的變換子集的表。作為一實(shí)例,視頻編碼器20可在幀內(nèi)預(yù)測模式x中對當(dāng)前塊進(jìn)行幀內(nèi)預(yù)測編碼。在這個實(shí)例中,視頻編碼器20從在幀內(nèi)預(yù)測模式x中對當(dāng)前塊進(jìn)行幀內(nèi)預(yù)測編碼而產(chǎn)生的殘差塊來產(chǎn)生變換塊。視頻編碼器20可基于幀內(nèi)預(yù)測模式x選擇用于左變換的變換子集及基于幀內(nèi)預(yù)測模式x選擇用于右變換的變換子集。如下文更詳細(xì)地描述,視頻編碼器20可從相應(yīng)所選擇變換子集確定左變換及右變換,并應(yīng)用變換以產(chǎn)生系數(shù)塊。視頻編碼器20可產(chǎn)生包含信息的視頻位流,所述信息指示離開系數(shù)塊的系數(shù)值的信息以及指示從系數(shù)塊產(chǎn)生的變換塊用于使用幀內(nèi)預(yù)測模式x經(jīng)幀內(nèi)預(yù)測編碼的塊。視頻解碼器30可從用信號發(fā)送的信息產(chǎn)生系數(shù)塊并且也從用信號發(fā)送的信息確定幀內(nèi)預(yù)測模式為模式x。視頻解碼器30可基于為模式x的幀內(nèi)預(yù)測模式來選擇用于左變換的變換子集(在這種情況下,其將為由視頻編碼器20應(yīng)用的變換的相逆者)及用于右變換的變換子集(在這種情況下,其將為由視頻編碼器20應(yīng)用的變換的相逆者)。指示哪些變換子集映射至哪些幀內(nèi)預(yù)測模式的經(jīng)存儲映射在視頻編碼器20側(cè)與視頻解碼器30側(cè)上是相同的。因此,視頻編碼器20及視頻解碼器30選擇對應(yīng)的變換子集。如下文更詳細(xì)地描述,視頻解碼器30可從相應(yīng)所選擇變換子集確定左變換及右變換,并應(yīng)用變換以產(chǎn)生變換塊。盡管關(guān)于幀內(nèi)預(yù)測模式描述了以上實(shí)例,但本發(fā)明中描述的技術(shù)不如此受限。在一些實(shí)例中,視頻編碼器20及視頻解碼器30可基于其它信息(例如,rqt深度、經(jīng)量化系數(shù)等等)選擇相應(yīng)變換子集而不是幀內(nèi)預(yù)測模式。并且,盡管針對幀內(nèi)預(yù)測描述以上實(shí)例,本發(fā)明中描述的技術(shù)也可經(jīng)擴(kuò)展至幀間預(yù)測。舉例來說,類似于上文,視頻編碼器20及視頻解碼器30可確定多個變換子集。幀間預(yù)測情況的多個變換子集可與幀內(nèi)預(yù)測情況的多個變換子集相同或不同。在一些情況下,幀間預(yù)測情況的多個變換子集可與幀內(nèi)預(yù)測情況的多個變換子集的一些但并非全部相同。對于幀間預(yù)測,視頻編碼器20及視頻解碼器30可存儲變換塊相對于與其相關(guān)聯(lián)的pu、cu、或lcu的位置之間的映射。舉例來說,映射可指示如果變換塊處于pu、cu或lcu的左邊界,那么選擇變換子集的第一群組(例如,用于左變換的一個變換子集及用于右變換的一個變換子集)。如果變換塊處于pu、cu或lcu的右邊界,那么選擇變換子集的第二群組,及對于頂邊界及底邊界等等也是如此,其中在每一情況下,視頻編碼器20及視頻解碼器30選擇用于左變換的一個變換子集及用于右變換的一個變換子集。視頻編碼器20及視頻解碼器30可以特定次序編碼及解碼圖片的塊。因此,基于剛經(jīng)編碼或解碼塊的位置,視頻編碼器20及視頻解碼器30可確定pu、cu或lcu中的變換塊的位置。并且,從視頻解碼器30的角度,視頻解碼器30從系數(shù)塊產(chǎn)生變換塊。然而,基于解碼次序,視頻解碼器30可能能夠確定將從系數(shù)塊產(chǎn)生的變換塊的位置。以這種方式,在不對需用信號發(fā)送的信息的量進(jìn)行任何增加的情況下,視頻編碼器20及視頻解碼器30可確定相應(yīng)變換子集,將從所述相應(yīng)變換子集確定左變換及右變換。在一些實(shí)例中,在視頻編碼器20選擇變換子集之后,視頻編碼器20可用信號發(fā)送指示所選擇變換子集中的哪些變換用于左變換及哪一變換用于右變換的信息(例如,在視頻位流中產(chǎn)生所述信息)。視頻解碼器30接收用信號發(fā)送的信息并確定左變換及右變換。舉例來說,視頻編碼器20可用信號發(fā)送(例如,在位流中產(chǎn)生)對經(jīng)選擇用于左變換的變換子集的索引及用信號發(fā)送(例如,在位流中產(chǎn)生)對經(jīng)選擇用于右變換的變換子集的索引。視頻解碼器30可接收對相應(yīng)變換子集的相應(yīng)索引,并確定左變換及右變換。在這個實(shí)例中,需用信號發(fā)送的信息可增加(例如,用信號發(fā)送確定左變換及右變換的索引)。然而,需用信號發(fā)送的信息的增加可為最小。如上文所描述,變換子集中的每一者可識別相對較小數(shù)目的變換。因此,索引值的范圍可相對較小(例如,如果每一變換子集識別的變換的最大數(shù)目為5,那么索引值范圍為0至4)。因此,對于信令開銷的相對小的增加,本發(fā)明中描述的技術(shù)允許可被選擇的變換的數(shù)目相對大的增加。舉例來說,由于存在每一者包含一或多個變換的多個變換子集,16個實(shí)例變換中的許多個變換及可能所有變換可在變換中的一或多者加以識別。因?yàn)樽儞Q子集使用隱式技術(shù)所選擇的,所以不存在信令開銷的增加,且因?yàn)槊恳蛔儞Q子集識別相對小數(shù)目的變換,所以識別特定變換不會大幅度地增加信令開銷。在一些實(shí)例中,進(jìn)一步減小信令開銷的量是可能的。舉例來說,在一些實(shí)例中,如上文所描述,視頻編碼器20及視頻解碼器30可選擇變換子集,但隨后經(jīng)配置以基于某些條件而從相應(yīng)變換子集中的每一者確定特定變換。在這種情況下,視頻編碼器20可能不需要用信號發(fā)送,且視頻解碼器30可能不需要接收指示使用所選擇變換子集內(nèi)的哪些變換的信息。作為一實(shí)例,在編碼過程期間,視頻編碼器20可使用來自所選擇變換子集的特定變換(例如,所選擇變換子集中的第一經(jīng)識別變換),且在應(yīng)用所述變換之后,確定所得系數(shù)塊中的非零系數(shù)的數(shù)目小于閾值。在這種情況下,視頻解碼器30可接收指示系數(shù)塊的系數(shù)值的信息并類似地確定非零系數(shù)的數(shù)目小于閾值。在一些實(shí)例中,如果視頻解碼器30確定系數(shù)塊中的非零系數(shù)的數(shù)目小于閾值(例如,1或2),那么視頻解碼器30可確定視頻解碼器30應(yīng)使用來自所選擇變換子集的特定變換(例如,所選擇變換子集中的第一經(jīng)識別變換)。舉例來說,假定基于幀內(nèi)預(yù)測模式,視頻編碼器20確定用于左變換的變換子集為子集0且用于右變換的變換子集為子集1。在這種情況下,視頻編碼器20可確定如果子集0中的第一經(jīng)識別變換用作左變換且如果子集1中的第一經(jīng)識別變換用作右變換,那么所得系數(shù)塊中的非零系數(shù)的數(shù)目小于閾值。在這個實(shí)例中,視頻編碼器20可不用信號發(fā)送指示子集0及子集1中的第一經(jīng)識別變換將分別用作左變換及右變換的信息。在其它情況下,如果子集0(或子集1)中的第一經(jīng)識別變換并不用作左變換(或右變換),那么所得系數(shù)塊中的非零系數(shù)的數(shù)目小于閾值。在這個實(shí)例中,視頻編碼器20添加子集0及子集1中的經(jīng)識別變換不可用作左變換及右變換的限制。視頻解碼器30可接收幀內(nèi)預(yù)測模式,且類似于視頻編碼器20而基于幀內(nèi)預(yù)測模式確定變換子集0及變換子集1將經(jīng)選擇以分別用于左變換及右變換。并且,在從指示系數(shù)值的信息產(chǎn)生系數(shù)塊之后,視頻解碼器30也可確定系數(shù)塊中的非零系數(shù)的數(shù)目小于閾值。視頻解碼器30可確定子集0中的第一經(jīng)識別變換及子集1中的第一經(jīng)識別變換將分別用作左變換及右變換,而不從視頻編碼器20接收此信息,是因?yàn)榉橇阆禂?shù)的數(shù)目小于閾值。在以上實(shí)例中,變換子集由16個變換(即,八個dct及八個dst)形成。然而,本發(fā)明中所描述的技術(shù)不如此受限。變換的額外實(shí)例包含klt變換。因此,變換子集可包含來自八個dct、八個dst、klt變換及其它變換實(shí)例的一或多個變換。僅為了易于說明,關(guān)于八個dct及八個dst描述實(shí)例。作為概述,在本發(fā)明中描述的一些實(shí)例中,執(zhí)行從三個或三個以上候選變換的預(yù)選擇以制定變換的子集,且從變換的子集選擇待用于當(dāng)前tu的最終變換。舉例來說,變換的子集可組成左變換的子集及/或右變換的子集。可通過已解碼信息(例如,幀內(nèi)預(yù)測模式、rqt深度、經(jīng)量化系數(shù)等)來確定制定變換的子集(或左變換的子集及右變換的子集)的預(yù)選擇。變換的子集的數(shù)目可限于較小整數(shù),例如,1、2、3或4,且變換的不同子集含有不同類型的變換。在一個實(shí)例中,產(chǎn)生變換的三個子集(每一者含有兩個變換)。基于給定幀內(nèi)預(yù)測模式,左變換的子集經(jīng)設(shè)定成三個子集中的一者,且右變換的子集也經(jīng)設(shè)定成三個子集中的一者(可或可不與左變換的子集相同)。作為實(shí)例,變換的三個子集為:{dst-vii,dct-viii}、{dst-vii,dst-i}及{dst-vii,dct-v}。左變換的子集或右變換的子集可為以上三個子集中的一者。因此,各種幀內(nèi)預(yù)測模式可對應(yīng)于用于左變換及右變換的子集的至多9個不同組合。替代地或另外,左變換的子集或右變換的子集僅含有一個變換。替代地或另外,左變換的子集及右變換的子集兩者可僅含有一個變換。在上文所描述的實(shí)例中,無論tu大小如何,變換子集及在變換子集中識別的變換可以是相同的,且變換子集中的變換的數(shù)目對于不同幀內(nèi)預(yù)測模式可以是相同的。然而,本發(fā)明中所描述的技術(shù)不如此受限。在一些實(shí)例中,對于不同tu大小,左/右變換的子集中的變換的數(shù)目可不同,其典型數(shù)目可為(但不限于)2、3及4。對于不同幀內(nèi)預(yù)測模式,左/右變換的子集中的變換的數(shù)目可不同;變換的典型數(shù)目可為(但不限于)2、3及4。如上文所描述,當(dāng)已經(jīng)預(yù)選擇變換的子集時,待使用的最終變換可通過變換的子集的索引用信號發(fā)送。當(dāng)左變換的子集(或右變換的子集)含有兩個或兩個以上變換時,用信號發(fā)送屬于左變換的子集(或右變換的子集)的變換的索引。其意指當(dāng)左變換或右變換的子集的數(shù)目等于1時,不需要用信號發(fā)送變換的索引。以上實(shí)例描述視頻編碼器20及視頻解碼器30可預(yù)選擇以制定變換子集的情況。然而,本發(fā)明中所描述的實(shí)例不如此受限。替代地或另外,可能不需要進(jìn)行預(yù)選擇以制定變換的子集,且直接用信號發(fā)送兩個或兩個以上候選變換(如全集合)的一個索引以指示左變換或右變換。舉例來說,在視頻編碼器20處,可引入可僅測試完整集合內(nèi)的一些變換且不測試其它變換的約束條件以減小編碼器復(fù)雜度。選擇哪些變換及變換的索引可取決于幀內(nèi)預(yù)測模式或其它信息。在一些實(shí)例中,對于每一tu,對于左變換(右變換),視頻編碼器20及視頻解碼器30可從候選變換的子集選擇左變換及右可能是受約束的。舉例來說,變換的僅一個子集含有dst-vii、dct-viii及dct-ii,且用于每一tu的左變換始終選自{dst-vii、dct-viii及dct-ii},且用于每一tu的右變換也始終選自{dst-vii、dct-viii及dct-ii}。如上文所描述,本發(fā)明中所描述的實(shí)例技術(shù)可適用于幀內(nèi)預(yù)測及幀間預(yù)測。在hevc中,對于從幀間預(yù)測產(chǎn)生的變換塊,僅基于dct-ii的變換是可用的。在一些實(shí)例中,除如hevc中的常規(guī)基于dct-ii的變換之外,對于通過幀間預(yù)測模式產(chǎn)生的每一殘差塊,除產(chǎn)生左變換的子集及右變換的子集之外,視頻編碼器20及視頻解碼器30可根據(jù)兩個或兩個以上候選變換方法從dct及dst家族或其它變換(例如,klt)選擇變換。類似于用于幀內(nèi)預(yù)測的以上實(shí)例,視頻編碼器20可用信號發(fā)送(例如,在位流中產(chǎn)生)及視頻解碼器30可在位流中接收用于每一tu的左變換的子集的索引及右變換的子集的索引以確定左變換及右變換。作為一個實(shí)例,將兩個變換(例如,dst-vii及dct-viii)置于左變換的子集及右變換的子集中。這些子集中的每一者的一位索引確定當(dāng)前tu的最終左變換及最終右變換。子集可為{dst-vii,dct-viii}或{dst-viii,dct-vii}。替代地或另外,執(zhí)行從三個或三個以上候選變換的預(yù)選擇以制定變換的子集,且從變換的子集選擇待用于當(dāng)前tu的最終變換。舉例來說,制定變換的子集(或左變換的子集及右變換的子集)的預(yù)選擇可通過當(dāng)前tu對于附屬pu的相對位置(即,當(dāng)前tu是否位于附屬pu的頂邊界、左邊界、右邊界、底邊界或其它位置處)來確定。在一個實(shí)例中,產(chǎn)生變換的三個子集(每一者含有兩個變換)?;诋?dāng)前tu對于附屬pu的相對位置,左變換的子集經(jīng)設(shè)定成三個子集中的一者,且右變換的子集也經(jīng)設(shè)定成三個子集中的一者(可能或可能不與左變換的子集相同)。替代地或另外,左變換的子集或右變換的子集僅含有一個變換。替代地或另外,左變換的子集及右變換的子集兩者可僅含有一個變換。在以上實(shí)例中,視頻編碼器20及視頻解碼器30可選擇用于cu的每一tu的變換子集,且接著如上文所描述確定用于的每一tu的左變換及右變換。在這個實(shí)例中,確定使用哪些變換被視為處于tu級別。然而,本發(fā)明中所描述的實(shí)例技術(shù)不如此受限。在一些情況下,視頻編碼器20可確定用于cu的每一tu的左變換及右變換應(yīng)為同一默認(rèn)變換(例如,dct-ii作為一個實(shí)例,但其它變換類型也為可能的)。并且,可存在用于左變換的默認(rèn)變換及用于右變換的默認(rèn)變換,或用于左變換與右變換的默認(rèn)變換可為相同的。在以下描述中,術(shù)語“默認(rèn)變換”應(yīng)解釋為包含用于左變換及右變換的默認(rèn)變換為不同的及用于左變換及右變換的默認(rèn)變換為相同的兩種情況。舉例來說,用于左變換及右變換的默認(rèn)變換(例如,在不同或相同的情況下)可經(jīng)預(yù)選擇,且其對于視頻編碼器20及視頻解碼器30是相同的。如果視頻編碼器20確定cu的每一tu應(yīng)具有相同默認(rèn)變換,那么視頻編碼器20可用信號發(fā)送如此指示的信息(例如,在視頻位流中產(chǎn)生如此指示的信息)。在這個實(shí)例中,視頻編碼器20可不用信號發(fā)送變換子集中的索引,這減小需要用信號發(fā)送的信息的量,是因?yàn)橐曨l解碼器30可基于所接收信息確定默認(rèn)變換將用于cu的每一tu。作為實(shí)例,視頻編碼器20可用信號發(fā)送(例如,在位流中產(chǎn)生)指示cu的每一tu是否將應(yīng)用相同默認(rèn)變換的旗標(biāo)。如果旗標(biāo)為第一值(例如,數(shù)字高),那么cu的每一tu以相同默認(rèn)變換應(yīng)用。如果旗標(biāo)為第二值(例如,數(shù)字低),那么cu的至少一個tu以除默認(rèn)變換外的變換應(yīng)用。在cu的至少一個tu以不同變換應(yīng)用的情況下,如果需要(例如,大于閾值的非零系數(shù)),那么視頻編碼器20可選擇變換子集并在變換子集中用信號發(fā)送索引,如上文所描述。在cu的每一tu以相同默認(rèn)變換應(yīng)用的情況下,視頻編碼器20可在變換子集中的任一者中用信號發(fā)送任何索引,因?yàn)橐曨l解碼器30可已確定使用哪些變換。視頻解碼器30可接收指示cu的每一tu是否應(yīng)用相同默認(rèn)變換的旗標(biāo)。若旗標(biāo)為第一值,那么視頻解碼器30可確定未選擇變換子集且未從位流剖析(例如,接收)變換子集的索引。在這種情況下,視頻解碼器30可應(yīng)用默認(rèn)變換至cu的每一系數(shù)塊。如果旗標(biāo)為第二值,那么視頻解碼器30可確定將選擇變換子集,確定是否將接收索引(例如,基于非零系數(shù)的數(shù)目),并基于將接收索引的確定接收所選擇變換子集中的索引。在以上實(shí)例中,指示每一tu是否將使用相同默認(rèn)變換的旗標(biāo)處于cu級別(例如,指示cu的每一tu使用相同默認(rèn)變換)。在一些實(shí)例中,旗標(biāo)可處于ctu級別或pu級別而不是處于cu級別。舉例來說,視頻編碼器20可用信號發(fā)送(例如,在位流中產(chǎn)生)指示是否使用相同變換來變換塊的所有變換塊的旗標(biāo)。響應(yīng)于接收指示塊的所有變換塊并非是使用相同變換來變換的旗標(biāo),視頻解碼器30可選擇變換子集并如上文所描述確定所選擇變換中的索引。響應(yīng)于接收指示塊的所有變換塊是使用相同變換來變換的旗標(biāo),視頻解碼器30可將所述變換用于塊的變換塊中的每一者。在這個實(shí)例中,作為幾個實(shí)例,“塊”可為ctu、cu或pu中的一者。作為概述,當(dāng)使用當(dāng)前cu利用額外變換時(例如,如上文所描述),待用于每一tu的變換的用信號發(fā)送可在tu級別中進(jìn)行。舉例來說,視頻編碼器20可對每一cu發(fā)送指示其內(nèi)的tu是否使用額外變換(例如,使用除hevc中的所述變換的變換)而譯碼的一個旗標(biāo)。替代地或另外,可在lcu級別(ctu級別)、cu級別、pu級別、tu或任何其它塊級別處來用信號發(fā)送所述指示。當(dāng)旗標(biāo)指示未使用額外變換譯碼cu內(nèi)的tu時,使用一個默認(rèn)變換來譯碼所有tu。在一個實(shí)例中,默認(rèn)變換為dct-ii。替代地或另外,默認(rèn)變換可取決于幀內(nèi)/幀間模式、幀內(nèi)預(yù)測模式、塊大小、pu內(nèi)的tu位置、或當(dāng)前tu的任何其它統(tǒng)計(jì)。舉例來說,如上文所描述,視頻編碼器20及視頻解碼器30可確定相同默認(rèn)變換,且默認(rèn)變換使用的條件可基于例如幀內(nèi)/幀間模式、幀內(nèi)預(yù)測模式、塊大小、pu內(nèi)的tu位置或當(dāng)前tu的任何其它統(tǒng)計(jì)的因素。以這種方式,通過使用默認(rèn)變換,可減少需要用信號發(fā)送的信息的量。另外,指示可存在于不同階層中。舉例來說,如果一位旗標(biāo)為0,那么視頻編碼器20可首先用信號發(fā)送(例如,在位流中產(chǎn)生)在lcu(ctu)級別處的所述一位旗標(biāo),視頻編碼器20及視頻解碼器30可僅對每一cu應(yīng)用dct-ii,否則,如果一位旗標(biāo)為1,那么視頻編碼器20可用信號發(fā)送在cu級別處的指定cu內(nèi)的tu是否可使用多重變換或僅默認(rèn)變換的另一旗標(biāo)。在這個實(shí)例中,視頻解碼器30可在每一階層式級別處確定特定階層式級別內(nèi)的所有tu是否使用默認(rèn)變換。舉例來說,如果ctu級別處的旗標(biāo)指示ctu的所有tu將使用相同默認(rèn)變換,那么視頻解碼器30可使用用于ctu的所有tu的相同默認(rèn)變換。如果ctu級別處的旗標(biāo)指示ctu的所有tu并非將使用相同默認(rèn)變換,那么視頻解碼器30可選擇變換子集并如上文所描述確定用于ctu的每一tu的變換。在一些情況下,可存在用于ctu的cu中的每一者的另一旗標(biāo),而不是在ctu級別處停止并確定用于每一tu的變換。舉例來說,視頻解碼器30可接收用于ctu的每一cu的旗標(biāo),其指示cu的所有tu是否使用相同默認(rèn)變換或并不使用相同默認(rèn)變換。如果對于cu,視頻解碼器30接收指示cu的所有tu使用相同默認(rèn)變換的旗標(biāo),那么視頻解碼器30可應(yīng)用所述默認(rèn)變換。如果對于cu,視頻解碼器30接收指示cu的所有tu并非使用相同默認(rèn)變換的旗標(biāo),那么視頻解碼器30可選擇變換子集并如上文所描述確定用于cu的每一tu的變換。在一些情況下,可存在用于cu的pu中的每一者的另一旗標(biāo),而不是在cu級別處停止并確定用于每一tu的變換。舉例來說,視頻解碼器30可接收用于cu的每一pu的旗標(biāo),其指示pu的所有tu是否使用相同默認(rèn)變換或并不使用相同默認(rèn)變換。如果對于pu,視頻解碼器30接收指示pu的所有tu使用相同默認(rèn)變換的旗標(biāo),那么視頻解碼器30可應(yīng)用所述默認(rèn)變換。如果對于pu,視頻解碼器30接收指示pu的所有tu并非使用相同默認(rèn)變換的旗標(biāo),那么視頻解碼器30可選擇變換子集并如上文所描述確定用于pu的每一tu的變換。替代地或另外,此外,當(dāng)cu的重疊塊運(yùn)動補(bǔ)償(obmc)旗標(biāo)用信號發(fā)送為關(guān)閉時,并不針對當(dāng)前cu用信號發(fā)送指示是否僅應(yīng)用一個默認(rèn)變換的一位旗標(biāo),且所述一位旗標(biāo)經(jīng)推斷為指示默認(rèn)變換(例如,dct-ii)經(jīng)應(yīng)用的默認(rèn)值(例如,0)。替代地或另外,當(dāng)允許obmc用于當(dāng)前圖塊時,一個塊的一位旗標(biāo)(其指示是否僅應(yīng)用一個默認(rèn)變換)的cabac上下文模型化取決于當(dāng)前塊的obmc旗標(biāo)(例如,取決于obmc旗標(biāo)的值)。在一個實(shí)例中,當(dāng)obmc旗標(biāo)(經(jīng)隱式導(dǎo)出或明確用信號發(fā)送)為真(即,等于1)時,視頻編碼器20及視頻解碼器30可使用上下文模型的一個集合以用于cabac編碼或cabac解碼所述一位旗標(biāo)。當(dāng)obmc旗標(biāo)為假(即,等于0)時,上下文模型的另一集合可用于譯碼所述一位旗標(biāo)。替代地或另外,此外,上下文模型的兩個集合的初始化機(jī)率可為不同的。替代地或另外,一個塊的一位旗標(biāo)(其指示是否僅應(yīng)用一個默認(rèn)變換)的cabac上下文模型化取決于空間相鄰塊(例如,左相鄰塊及/或上相鄰塊)或時間相鄰塊(例如,參考圖片中的共置塊)的對應(yīng)的一位旗標(biāo)的值。當(dāng)cu啟用額外變換時(例如,意指hevc的更受限制的選擇),對于每一tu,視頻編碼器20可用信號發(fā)送且視頻解碼器30可從候選變換(集合或子集)接收變換的索引,如上文所描述。替代地或另外,視頻編碼器20可用信號發(fā)送這類信息,且視頻解碼器30可在lcu級別、cu級別、pu級別或任何其它塊級別處接收這類信息。當(dāng)視頻編碼器20在lcu級別、cu級別、pu級別或任何其它塊級別處用信號發(fā)送指示符時,所有包含于所述級別內(nèi)的tu可使用相同變換對。舉例來說,視頻編碼器20及視頻解碼器30可如上文所描述(例如,基于幀內(nèi)預(yù)測模式或基于用于幀間預(yù)測的tu的位置)選擇變換子集。在一些實(shí)例中,對于每一變換塊,視頻編碼器20可用信號發(fā)送索引且視頻解碼器30可接收用于每一變換塊的索引。然而,在一些實(shí)例中,作為幾個實(shí)例,視頻編碼器20可用信號發(fā)送用于左變換的一個索引及用于右變換的一個索引以用于ctu的所有tu、cu的所有tu或pu的所有tu,而不是接收用于每一變換塊的索引。在這個實(shí)例中,對于視頻解碼器30針對tu的右變換及左變換所選擇的每一變換子集,視頻解碼器30可應(yīng)用通過塊(例如,cut、cu或pu)的所有tu的索引所識別的變換。換言之,在一些情況下,至變換子集的索引可被視為更“全域的”。舉例來說,視頻編碼器20可用信號發(fā)送用于左變換及右變換的索引。在這種情況下,在索引對于塊的每一tu相同而不考慮所選擇的特定變換子集如何的意義上,索引可為全域的,其中塊為ctu、cu或pu。在這些實(shí)例中,視頻解碼器30可從這些全域索引確定來自所選擇變換子集的左變換及右變換。舉例來說,視頻解碼器30可不剖析用于每一變換塊的每一所選擇變換子集的索引,而是基于全域索引識別用于塊(例如,ctu、cu或pu)的所有變換塊的變換。如上文所描述,在一些實(shí)例中,視頻編碼器20可不用信號發(fā)送對所選擇變換子集的索引。舉例來說,對于特定tu,如果殘差信號的能量受到限制(例如,若不存在經(jīng)發(fā)射用于當(dāng)前tu的非零系數(shù)),那么可跳過額外變換的用信號發(fā)送。額外變換的用信號發(fā)送的類似跳躍可適用于lcu、cu、pu或任何其它塊級別。替代地或另外,如果在某一塊級別處所發(fā)射的非零系數(shù)的總數(shù)目或總絕對總和或平方值的總和小于給定閾值,那么可跳過所述某一塊級別處的指示符。換言之,如果系數(shù)塊的非零系數(shù)的總數(shù)目或總絕對總和或平方值的總和小于閾值,那么視頻編碼器20可不用信號發(fā)送對所選擇變換子集的索引。在這些實(shí)例中,如果視頻解碼器30確定非零系數(shù)的總數(shù)目或總絕對總和或平方值的總和小于給定閾值,那么視頻解碼器30可確定對所選擇變換子集的索引并不從位流接收(例如,剖析)。在一個實(shí)例中,非零系數(shù)的總數(shù)目的閾值為2。替代地或另外,非零系數(shù)的總數(shù)目的閾值對于不同塊大小或不同幀內(nèi)預(yù)測模式可以不同。在一些實(shí)例中,當(dāng)lcu、cu、pu或塊的大小大于或小于預(yù)定義閾值,或在給定閾值范圍內(nèi)時,視頻編碼器20可跳過指示符(例如,對變換子集的索引)的用信號發(fā)送,且視頻編碼器20及視頻解碼器30可僅應(yīng)用默認(rèn)變換類型。在一個實(shí)例中,默認(rèn)變換為dct-ii。此外,當(dāng)cu大小大于32×32時,視頻編碼器20可不用信號發(fā)送指示符,且視頻編碼器20及視頻解碼器30可僅應(yīng)用用于每一tu的dct-ii。視頻編碼器20及視頻解碼器30可使用(例如)固定長度碼、截?cái)嘁辉a或指數(shù)哥倫布碼來二進(jìn)制化指示符(例如,對變換子集的索引)。視頻編碼器20及視頻解碼器30可使用具有上下文的cabc熵譯碼(例如,分別編碼或解碼)指示符,且對于每一二進(jìn)數(shù),應(yīng)用一個上下文。在一個實(shí)例中,基于二進(jìn)數(shù)索引選擇上下文模型。在另一實(shí)例中,此外,當(dāng)選擇上下文模型時也考慮幀內(nèi)預(yù)測模式或tu大小或tu深度。替代地或另外,使用上下文模型譯碼二進(jìn)數(shù)的部分,且使用旁路模式譯碼殘差二進(jìn)數(shù)。替代地或另外,指示符可經(jīng)旁路譯碼,即,不應(yīng)用上下文模型化。在實(shí)例技術(shù)中,視頻編碼器20可在位流中用信號發(fā)送各種信息,且視頻解碼器30可從位流接收這類信息。視頻編碼器20可用信號發(fā)送這類信息且視頻解碼器30可從不同位置接收這類信息。作為一個實(shí)例,與多重變換相關(guān)的語法可出現(xiàn)于高級語法中。視頻編碼器20可用信號發(fā)送(例如,在位流中產(chǎn)生)且視頻解碼器30可接收待用于圖片參數(shù)集(pps)、序列參數(shù)集(sps)或任何其它位置(甚至包含圖塊標(biāo)頭處)的候選變換的數(shù)目(如上文關(guān)于選自兩個或兩個以上候選變換的變換所所描述)。視頻編碼器20可用信號發(fā)送(例如,在位流中產(chǎn)生)且視頻解碼器30可在圖塊標(biāo)頭、圖片參數(shù)集(pps)、序列參數(shù)集(sps)或任何其它位置處接收每一子集中的候選變換的數(shù)目,如上文關(guān)于對三個或三個以上候選變換的預(yù)選擇所描述??稍趫D塊標(biāo)頭、pps、sps或任何其它位置處用信號發(fā)送旗標(biāo)或索引以指示以上所提及的多重變換是否應(yīng)用于塊級別處。如上文所描述,這個旗標(biāo)或索引的一個指定值可指示所有tu使用一個默認(rèn)變換來譯碼。另外或替代地,這個旗標(biāo)或索引的一個指定值可指示一或多個旗標(biāo)/索引可在塊級別處用信號發(fā)送以用于塊級別處的變換選擇。并且,多重變換并不適用的塊的大小(當(dāng)大小大于用信號發(fā)送的大小或小于用信號發(fā)送的大小或在兩個用信號發(fā)送的大小的范圍內(nèi)時)可存在于參數(shù)集(例如,圖片參數(shù)集或序列參數(shù)集)中。重申,以上描述利用術(shù)語“變換”。然而,應(yīng)理解,視頻編碼器20利用變換以從殘差塊產(chǎn)生變換系數(shù)值的變換塊。另一方面,視頻解碼器30利用逆變換以從變換塊產(chǎn)生殘差值的殘差塊。因此,在以上描述中,應(yīng)理解,變換的描述同樣適用于視頻解碼器30;然而,視頻解碼器30利用逆變換。圖5為說明可實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻編碼器20的框圖。出于解釋的目的而提供圖5,且不應(yīng)將所述圖視為對本發(fā)明中所廣泛例示及描述的技術(shù)的限制。出于解釋的目的,本發(fā)明描述在hevc譯碼的上下文中的視頻編碼器20。然而,本發(fā)明的技術(shù)可適用于其它譯碼標(biāo)準(zhǔn)或方法。舉例來說,視頻編碼器20可經(jīng)配置以應(yīng)用比hevc中提供的受限選項(xiàng)更多的變換至變換塊。在圖5的實(shí)例中,視頻編碼器20包含預(yù)測處理單元100、視頻數(shù)據(jù)存儲器101、殘差產(chǎn)生單元102、變換處理單元104、量化單元106、逆量化單元108、逆變換處理單元110、重建單元112、濾波器單元114、經(jīng)解碼圖片緩沖器116及熵編碼單元118。預(yù)測處理單元100包含幀間預(yù)測處理單元120及幀內(nèi)預(yù)測處理單元126。幀間預(yù)測處理單元120包含運(yùn)動估計(jì)單元及運(yùn)動補(bǔ)償單元(未展示)。在其它實(shí)例中,視頻編碼器20可包含較多、較少或不同功能組件。視頻數(shù)據(jù)存儲器101可存儲待由視頻編碼器20的組件編碼的視頻數(shù)據(jù)。可(例如)從視頻源18獲得存儲于視頻數(shù)據(jù)存儲器101中的視頻數(shù)據(jù)。經(jīng)解碼圖片緩沖器116可為存儲用于視頻編碼器20(例如)以幀內(nèi)或幀間譯碼模式編碼視頻數(shù)據(jù)的參考視頻數(shù)據(jù)的參考圖片存儲器。視頻數(shù)據(jù)存儲器101及經(jīng)解碼圖片緩沖器116可由多種存儲器裝置中的任一者形成,例如,動態(tài)隨機(jī)存取存儲器(dram)(包含同步dram(sdram))、磁阻式ram(mram)、電阻式ram(rram)或其它類型的存儲器裝置。可由同一存儲器裝置或單獨(dú)存儲器裝置提供視頻數(shù)據(jù)存儲器101及經(jīng)解碼圖片緩沖器116。在各種實(shí)例中,視頻數(shù)據(jù)存儲器101可與視頻編碼器20的其它組件一起在芯片上,或相對于所述組件在芯片外。視頻編碼器20可接收視頻數(shù)據(jù)。視頻編碼器20可編碼視頻數(shù)據(jù)的圖片的圖塊中的每一ctu。ctu中的每一者可與相等大小的明度譯碼樹型塊(ctb)及圖片的對應(yīng)ctb相關(guān)聯(lián)。作為編碼ctu的部分,預(yù)測處理單元100可執(zhí)行四叉樹分割以將ctu的ctb劃分成漸漸更小的塊。較小塊可為cu的譯碼塊。舉例來說,預(yù)測處理單元100可將與ctu相關(guān)聯(lián)的ctb分割成四個相等大小的子塊,將所述子塊中的一或多者分割成四個相等大小的子塊,等等。視頻編碼器20可編碼ctu的cu以產(chǎn)生cu的經(jīng)編碼表示(即,經(jīng)譯碼cu)。作為編碼cu的部分,預(yù)測處理單元100可分割與cu的一或多個pu中的cu相關(guān)聯(lián)的譯碼塊。因此,每一pu可與明度預(yù)測塊及對應(yīng)的色度預(yù)測塊相關(guān)聯(lián)。視頻編碼器20及視頻解碼器30可支持具有各種大小的pu。如上文所指示,cu的大小可指cu的明度譯碼塊的大小,且pu的大小可指pu的明度預(yù)測塊的大小。假定特定cu的大小為2n×2n,那么視頻編碼器20及視頻解碼器30可支持用于幀內(nèi)預(yù)測的2n×2n或n×n的pu大小,及用于幀間預(yù)測的2n×2n、2n×n、n×2n、n×n或類似的對稱pu大小。視頻編碼器20及視頻解碼器30也可支持用于幀間預(yù)測的2n×nu、2n×nd、nl×2n及nr×2n的pu大小的不對稱分割。幀間預(yù)測處理單元120可通過對cu的每一pu執(zhí)行幀間預(yù)測而產(chǎn)生用于pu的預(yù)測性數(shù)據(jù)。用于pu的預(yù)測性數(shù)據(jù)可包含pu的預(yù)測性塊及pu的運(yùn)動信息。取決于pu是在i圖塊中、p圖塊中還是b圖塊中,幀間預(yù)測單元121可針對cu的pu執(zhí)行不同操作。在i圖塊中,所有pu經(jīng)幀內(nèi)預(yù)測。因此,如果pu在i圖塊中,那么幀間預(yù)測單元121不對pu執(zhí)行幀間預(yù)測。因此,對于在i模式中編碼的塊,經(jīng)預(yù)測塊是使用空間預(yù)測從同一幀內(nèi)的先前經(jīng)編碼的相鄰塊而形成。如果pu在p圖塊中,那么幀間預(yù)測處理單元120的運(yùn)動估計(jì)單元可在用于pu的參考區(qū)域的參考圖片列表(例如,“refpiclist0”)中搜尋參考圖片。用于pu的參考區(qū)域可為參考圖片內(nèi)含有最緊密地與pu的樣本塊對應(yīng)的樣本塊的區(qū)域。運(yùn)動估計(jì)單元可產(chǎn)生指示含有用于pu的參考區(qū)域的參考圖片的refpiclist0中的位置的參考索引。另外,運(yùn)動估計(jì)單元可產(chǎn)生指示pu的譯碼塊與關(guān)聯(lián)于參考區(qū)域的參考位置之間的空間位移的mv。舉例來說,mv可為提供從當(dāng)前經(jīng)解碼圖片中的坐標(biāo)至參考圖片中的坐標(biāo)的偏移的二維向量。運(yùn)動估計(jì)單元可輸出參考索引及mv作為pu的運(yùn)動信息。幀間預(yù)測處理單元120的運(yùn)動補(bǔ)償單元可基于由pu的運(yùn)動向量指示的參考位置處的實(shí)際或經(jīng)內(nèi)插樣本而產(chǎn)生pu的預(yù)測性塊。如果pu在b圖塊中,那么幀間預(yù)測處理單元120的運(yùn)動估計(jì)單元可針對pu執(zhí)行單向預(yù)測或雙向預(yù)測。為針對pu執(zhí)行單向預(yù)測,運(yùn)動估計(jì)單元可搜尋refpiclist0或用于pu的參考區(qū)域的第二參考圖片列表(“refpiclist1”)的參考圖片。運(yùn)動估計(jì)單元可輸出以下各者作為pu的運(yùn)動信息:指示含有參考區(qū)域的參考圖片在refpiclist0或refpiclist1中的位置的參考索引、指示pu的預(yù)測塊與關(guān)聯(lián)于參考區(qū)域的參考位置之間的空間位移的mv,及指示參考圖片是在refpiclist0中還是在refpiclist1中的一或多個預(yù)測方向指示符。幀間預(yù)測處理單元120的運(yùn)動補(bǔ)償單元可至少部分地基于由pu的運(yùn)動向量指示的參考區(qū)域處的實(shí)際或經(jīng)內(nèi)插樣本而產(chǎn)生pu的預(yù)測性塊。為針對pu執(zhí)行雙向幀間預(yù)測,運(yùn)動估計(jì)單元可在用于pu的參考區(qū)域的refpiclist0中搜尋參考圖片,且也可在用于pu的另一參考區(qū)域的refpiclist1中搜尋參考圖片。運(yùn)動估計(jì)單元可產(chǎn)生指示含有參考區(qū)域的參考圖片在refpiclist0及refpiclist1中的位置的參考圖片索引。另外,運(yùn)動估計(jì)單元可產(chǎn)生指示關(guān)聯(lián)于參考區(qū)域的參考位置與pu的樣本塊之間的空間位移的mv。pu的運(yùn)動信息可包含參考索引及pu的mv。幀間預(yù)測處理單元120的運(yùn)動補(bǔ)償單元可至少部分地基于由pu的運(yùn)動向量指示的參考區(qū)域處的實(shí)際或經(jīng)內(nèi)插樣本而產(chǎn)生pu的預(yù)測性塊。幀內(nèi)預(yù)測處理單元126可通過對pu執(zhí)行幀內(nèi)預(yù)測而產(chǎn)生用于pu的預(yù)測性數(shù)據(jù)。用于pu的預(yù)測性數(shù)據(jù)可包含pu的預(yù)測性塊及各種語法元素。幀內(nèi)預(yù)測處理單元126可對i圖塊、p圖塊及b圖塊中的pu執(zhí)行幀內(nèi)預(yù)測。為對pu執(zhí)行幀內(nèi)預(yù)測,幀內(nèi)預(yù)測處理單元126可使用多個幀內(nèi)預(yù)測模式以產(chǎn)生用于pu的預(yù)測性數(shù)據(jù)的多個集合。幀內(nèi)預(yù)測處理單元126可使用來自相鄰pu的樣本塊的樣本來產(chǎn)生用于pu的預(yù)測性塊。對于pu、cu及ctu,假定從左至右、從上而下的編碼次序,那么相鄰pu可在pu上方、右上方、左上方或左邊。幀內(nèi)預(yù)測處理單元126可使用各種數(shù)目的幀內(nèi)預(yù)測模式,例如,35個方向性幀內(nèi)預(yù)測模式。在一些實(shí)例中,幀內(nèi)預(yù)測模式的數(shù)目可取決于與pu相關(guān)聯(lián)的區(qū)域的大小。預(yù)測處理單元100可從由幀間預(yù)測處理單元120針對pu產(chǎn)生的預(yù)測性數(shù)據(jù)或由幀內(nèi)預(yù)測處理單元126針對pu產(chǎn)生的預(yù)測性數(shù)據(jù)當(dāng)中選擇用于cu的pu的預(yù)測性數(shù)據(jù)。在一些實(shí)例中,預(yù)測處理單元100基于預(yù)測性數(shù)據(jù)的集合的速率/失真度量而選擇用于cu的pu的預(yù)測性數(shù)據(jù)。所選擇的預(yù)測性數(shù)據(jù)的預(yù)測性塊在本文中可被稱作所選擇的預(yù)測性塊。在本發(fā)明中描述的實(shí)例中,所述技術(shù)適用于視頻塊經(jīng)幀內(nèi)預(yù)測或幀內(nèi)預(yù)測的情況。舉例來說,當(dāng)塊經(jīng)幀內(nèi)預(yù)測時,幀內(nèi)預(yù)測模式可用于確定變換子集。當(dāng)塊經(jīng)幀間預(yù)測時,其位置可用于確定變換子集。因此,實(shí)例技術(shù)適用于在幀內(nèi)預(yù)測模式中的任一者中經(jīng)幀內(nèi)預(yù)測或經(jīng)單向或雙向幀間預(yù)測的視頻塊。此外,實(shí)例技術(shù)不限于幀內(nèi)預(yù)測或幀間預(yù)測,且也可經(jīng)擴(kuò)展至塊內(nèi)復(fù)制(ibc)模式。在ibc模式中,預(yù)測性塊在與經(jīng)編碼的視頻塊相同的圖片中,且由塊向量識別。在ibc模式中,作為幾個實(shí)例,變換子集可選自視頻塊的位置、預(yù)測性塊的位置或塊向量。殘差產(chǎn)生單元102可基于cu的明度、cb及cr譯碼塊及cu的pu的所選擇的預(yù)測性明度、cb及cr塊而產(chǎn)生cu的明度、cb及cr殘差塊。舉例來說,殘差產(chǎn)生單元102可產(chǎn)生cu的殘差塊,以使得殘差塊中的每一樣本具有等于cu的譯碼塊中的樣本與cu的pu的對應(yīng)所選擇預(yù)測性塊中的對應(yīng)樣本之間的差值。轉(zhuǎn)換處理單元104可執(zhí)行四叉樹分割以將與cu相關(guān)聯(lián)的殘差塊分割成與cu的tu相關(guān)聯(lián)的轉(zhuǎn)換塊。因此,tu可與明度轉(zhuǎn)換塊及兩個色度轉(zhuǎn)換塊相關(guān)聯(lián)。cu的tu的明度轉(zhuǎn)換塊及色度轉(zhuǎn)換塊的大小及位置可能或可能不基于cu的pu的預(yù)測塊的大小及位置。被稱為“殘差四叉樹”(rqt)的四叉樹結(jié)構(gòu)可包含與區(qū)域中的每一者相關(guān)聯(lián)的節(jié)點(diǎn)。cu的tu可對應(yīng)于rqt的分葉節(jié)點(diǎn)。轉(zhuǎn)換處理單元104可通過將一或多個轉(zhuǎn)換應(yīng)用于tu的轉(zhuǎn)換塊而產(chǎn)生用于cu的每一tu的轉(zhuǎn)換系數(shù)塊。轉(zhuǎn)換處理單元104可將各種轉(zhuǎn)換應(yīng)用于與tu相關(guān)聯(lián)的轉(zhuǎn)換塊。舉例來說,轉(zhuǎn)換處理單元104可將離散余弦轉(zhuǎn)換(dct)、定向轉(zhuǎn)換或在概念上類似的轉(zhuǎn)換應(yīng)用于轉(zhuǎn)換塊。在一些實(shí)例中,轉(zhuǎn)換處理單元104并不將轉(zhuǎn)換應(yīng)用于轉(zhuǎn)換塊。在這些實(shí)例中,轉(zhuǎn)換塊可經(jīng)處理為轉(zhuǎn)換系數(shù)塊。在本發(fā)明中描述的技術(shù)中,變換處理單元104可應(yīng)用左變換及右變換于tu的變換塊。在一些實(shí)例中,預(yù)測處理單元100可使用本發(fā)明中描述的技術(shù)確定應(yīng)用哪些變換。舉例來說,預(yù)測處理單元100可確定多個變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換。候選變換為不同變換類型,且在一些實(shí)例中,預(yù)測處理單元100基于經(jīng)編碼視頻塊的大小確定多個變換子集。在一些實(shí)例中,視頻數(shù)據(jù)存儲器101存儲多個變換子集,且預(yù)測處理單元100可從所存儲變換子集確定多個變換子集。在一些實(shí)例中,視頻數(shù)據(jù)存儲器101可存儲所有變換,且預(yù)測處理單元100可以預(yù)定義方式構(gòu)建變換子集。候選變換的實(shí)例包含dct-i至dct-viii、dst-i至dst-viii、klt變換等等。在一些實(shí)例中,多個變換子集包含三個或三個以上變換子集。預(yù)測處理單元100可針對視頻數(shù)據(jù)的視頻塊的當(dāng)前變換塊的左變換從多個變換子集選擇第一變換子集及針對視頻數(shù)據(jù)的視頻塊的變換塊的右變換從多個變換子集選擇第二變換子集。當(dāng)前變換塊可為變換處理單元104產(chǎn)生的變換塊且變換處理單元104將對其應(yīng)用變換。預(yù)測處理單元100可從所選擇第一變換子集確定左變換并從所選擇第二變換子集確定右變換。舉例來說,預(yù)測處理單元100可測試所選擇變換子集中的變換中的每一者并確定哪一變換提供最佳視頻譯碼。預(yù)測處理單元100可確定提供最佳視頻譯碼的相應(yīng)變換為左變換及右變換。變換處理單元104可基于左變換、右變換及當(dāng)前變換塊確定當(dāng)前系數(shù)塊。舉例來說,變換處理單元104可執(zhí)行以下方程式:y=c*x*rt,其中c為左變換,r為右變換,x為當(dāng)前變換塊,且y為所得當(dāng)前系數(shù)塊。如果視頻塊(例如,cu或pu)經(jīng)幀內(nèi)預(yù)測編碼,那么預(yù)測處理單元100可確定視頻塊的幀內(nèi)預(yù)測模式。預(yù)測處理單元100可基于所確定幀內(nèi)預(yù)測模式選擇第一變換子集,并基于所確定幀內(nèi)預(yù)測模式選擇第二變換子集。如果視頻塊(例如,cu或pu)經(jīng)幀間預(yù)測編碼,那么預(yù)測處理單元100可確定視頻塊中的當(dāng)前變換塊的位置(例如,確定變換塊是否用于從視頻塊中的特定位置產(chǎn)生的殘差)。預(yù)測處理單元100可基于所確定的當(dāng)前變換塊的位置選擇第一變換子集,并基于所確定的當(dāng)前變換塊的位置選擇第二變換子集。對于幀內(nèi)預(yù)測或幀間預(yù)測,在一些實(shí)例中,預(yù)測處理單元100可產(chǎn)生熵編碼單元118以用信號發(fā)送(例如,在位流中產(chǎn)生)對第一變換子集的第一變換子集索引以識別用于確定當(dāng)前系數(shù)塊的第一變換子集中的變換,并用信號發(fā)送(例如,在位流中產(chǎn)生)對第二變換子集的第二變換子集索引以識別用于確定當(dāng)前系數(shù)塊的第二變換子集中的變換。在一些實(shí)例中,預(yù)測處理單元100可確定當(dāng)前系數(shù)塊中的非零系數(shù)的數(shù)目。在這些實(shí)例中,預(yù)測處理單元100可使得熵編碼單元118以基于大于閾值的非零系數(shù)的數(shù)目而用信號發(fā)送第一變換子集索引,并基于大于閾值的非零系數(shù)的數(shù)目用信號發(fā)送第二變換子集。如果非零系數(shù)的數(shù)目小于閾值,那么預(yù)測處理單元100可不使得熵編碼單元118用信號發(fā)送第一及第二變換子集中的索引。在一些實(shí)例中,第一變換子集或第二變換子集中的至少一者包含不同于離散余弦變換(dct)-ii變換及離散正弦變換(dst)-vii變換的變換。在一些實(shí)例中,第一變換子集及第二變換子集包含不同變換(例如,第一變換子集中的至少一個變換并不在第二變換子集中,或反之亦然)。量化單元106可量化系數(shù)塊中的轉(zhuǎn)換系數(shù)。量化過程可減少與轉(zhuǎn)換系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來說,在量化期間,可將n位轉(zhuǎn)換系數(shù)舍入至m位轉(zhuǎn)換系數(shù),其中n大于m。量化單元106可基于與cu相關(guān)聯(lián)的量化參數(shù)(qp)值來量化與cu的tu相關(guān)聯(lián)的系數(shù)塊。視頻編碼器20可通過調(diào)整與cu相關(guān)聯(lián)的qp值來調(diào)整應(yīng)用于與cu相關(guān)聯(lián)的系數(shù)塊的量化程度。量化可引入信息的損失;因此,經(jīng)量化轉(zhuǎn)換系數(shù)相較于原始轉(zhuǎn)換系數(shù)可具有較低精確度。逆量化單元108及逆轉(zhuǎn)換處理單元110可分別將逆量化及逆轉(zhuǎn)換應(yīng)用于系數(shù)塊,以從系數(shù)塊重建殘差塊。重建單元112可將經(jīng)重建的殘差塊添加到來自由預(yù)測處理單元100產(chǎn)生的一或多個預(yù)測性塊的對應(yīng)樣本,以產(chǎn)生與tu相關(guān)聯(lián)的經(jīng)重建的轉(zhuǎn)換塊。通過以這種方式重建cu的每一tu的轉(zhuǎn)換塊,視頻編碼器20可重構(gòu)cu的譯碼塊。濾波器單元114可執(zhí)行一或多個解塊操作以減少與cu相關(guān)聯(lián)的譯碼塊中的塊偽影。在濾波器單元114對經(jīng)重建的譯碼塊執(zhí)行一或多個解塊操作之后,經(jīng)解碼圖片緩沖器116可存儲經(jīng)重建的譯碼塊。幀間預(yù)測處理單元120可使用含有經(jīng)重建的譯碼塊的參考圖片,以對其它圖片的pu執(zhí)行幀間預(yù)測。另外,幀內(nèi)預(yù)測處理單元126可使用經(jīng)解碼圖片緩沖器116中的經(jīng)重建的譯碼塊,以對處于與cu相同的圖片中的其它pu執(zhí)行幀內(nèi)預(yù)測。熵編碼單元118可從視頻編碼器20的其它功能組件接收數(shù)據(jù)。舉例來說,熵編碼單元118可從量化單元106接收系數(shù)塊(例如,指示用于重建視頻塊的當(dāng)前系數(shù)塊的系數(shù)的信息)且可從預(yù)測處理單元100接收語法元素(例如,對第一及第二變換子集的索引)。熵編碼單元118可對數(shù)據(jù)執(zhí)行一或多個熵編碼操作,以產(chǎn)生經(jīng)熵編碼的數(shù)據(jù)。舉例來說,熵編碼單元118可對數(shù)據(jù)執(zhí)行上下文自適應(yīng)性可變長度譯碼(cavlc)操作、cabac操作、可變至可變(v2v)長度譯碼操作、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(sbac)操作、概率區(qū)間分割熵(pipe)譯碼操作、指數(shù)哥倫布編碼操作或另一類型的熵編碼操作。視頻編碼器20可輸出包含通過熵編碼單元118產(chǎn)生的經(jīng)熵編碼數(shù)據(jù)的位流。舉例來說,位流可包含表示用于cu的rqt的數(shù)據(jù)。在實(shí)例技術(shù)中,預(yù)測處理單元100確定預(yù)測性塊,且在熵編碼單元118輸出的視頻位流中基于預(yù)測性塊產(chǎn)生指示視頻塊的預(yù)測模式的信息。預(yù)測模式指示視頻塊是經(jīng)幀內(nèi)預(yù)測還是幀間預(yù)測。舉例來說,預(yù)測性塊為基于經(jīng)幀內(nèi)預(yù)測的視頻塊而處于與所述視頻塊相同的圖片中或基于經(jīng)幀間預(yù)測的所述視頻塊而處于與包含所述視頻塊的圖片不同的圖片中的塊。殘差產(chǎn)生單元102可確定當(dāng)前變換塊為視頻塊與預(yù)測性塊之間的殘差。圖6為說明經(jīng)配置以實(shí)施本發(fā)明的技術(shù)的實(shí)例視頻解碼器30的框圖。出于解釋的目的而提供圖6,且其并不限制本發(fā)明中所廣泛例示及描述的技術(shù)。出于解釋的目的,本發(fā)明描述在hevc譯碼的上下文中的視頻解碼器30。然而,本發(fā)明的技術(shù)可適用于其它譯碼標(biāo)準(zhǔn)或方法。視頻解碼器30表示可經(jīng)配置以執(zhí)行根據(jù)本發(fā)明中描述的各種實(shí)例的技術(shù)的裝置的實(shí)例。在圖6的實(shí)例中,視頻解碼器30包含熵解碼單元150、視頻數(shù)據(jù)存儲器151、預(yù)測處理單元152、逆量化單元154、逆變換處理單元156、重建單元158、濾波器單元160及經(jīng)解碼圖片緩沖器162。預(yù)測處理單元152包含運(yùn)動補(bǔ)償單元164及幀內(nèi)預(yù)測處理單元166。在其它實(shí)例中,視頻解碼器30可包括較多、較少或不同功能組件。視頻數(shù)據(jù)存儲器151可存儲待由視頻解碼器30的組件解碼的視頻數(shù)據(jù),例如經(jīng)編碼視頻位流???例如)從計(jì)算機(jī)可讀媒體16(例如,從本地視頻源(例如,相機(jī)))通過視頻數(shù)據(jù)的有線或無線網(wǎng)絡(luò)通信或者通過存取實(shí)體數(shù)據(jù)存儲媒體而獲得存儲于視頻數(shù)據(jù)存儲器151中的視頻數(shù)據(jù)。視頻數(shù)據(jù)存儲器151可形成存儲來自經(jīng)編碼視頻位流的經(jīng)編碼視頻數(shù)據(jù)的經(jīng)譯碼圖片緩沖器(cpb)。經(jīng)解碼圖片緩沖器162可為存儲用于視頻解碼器30(例如)以幀內(nèi)或幀間譯碼模式解碼視頻數(shù)據(jù)的參考視頻數(shù)據(jù)的參考圖片存儲器。視頻數(shù)據(jù)存儲器151及經(jīng)解碼圖片緩沖器162可由多種存儲器裝置中的任一者形成,例如,動態(tài)隨機(jī)存取存儲器(dram)(包含同步dram(sdram))、磁阻式ram(mram)、電阻式ram(rram)或其它類型的存儲器裝置??捎赏淮鎯ζ餮b置或單獨(dú)的存儲器裝置提供視頻數(shù)據(jù)存儲器151及經(jīng)解碼圖片緩沖器162。在各種實(shí)例中,視頻數(shù)據(jù)存儲器151可與視頻解碼器30的其它組件一起在芯片上,或相對于所述組件在芯片外。經(jīng)譯碼圖片緩沖器(cpb)可接收并存儲位流的經(jīng)編碼視頻數(shù)據(jù)(例如,nal單元)。熵解碼單元150可從cpb接收經(jīng)編碼視頻數(shù)據(jù)(例如,nal單元)并剖析nal單元以解碼語法元素。熵解碼單元150可熵解碼nal單元中的經(jīng)熵編碼的語法元素。預(yù)測處理單元152、逆量化單元154、逆變換處理單元156、重建單元158及濾波器單元160可基于從位流提取的語法元素而產(chǎn)生經(jīng)解碼視頻數(shù)據(jù)。位流的nal單元可包含經(jīng)譯碼圖塊nal單元。作為解碼位流的部分,熵解碼單元150可從經(jīng)譯碼圖塊nal單元提取語法元素并對所述語法元素進(jìn)行熵解碼。經(jīng)譯碼圖塊中的每一者可包含圖塊標(biāo)頭及圖塊數(shù)據(jù)。圖塊標(biāo)頭可含有關(guān)于圖塊的語法元素。圖塊標(biāo)頭中的語法元素可包含識別與含有圖塊的圖片相關(guān)聯(lián)的pps的語法元素。除了解碼來自位流的語法元素之外,視頻解碼器30可對未分割的cu執(zhí)行重建操作。為了對未分割的cu執(zhí)行重建操作,視頻解碼器30可對cu的每一tu執(zhí)行重建操作。通過針對cu的每一tu執(zhí)行重構(gòu)操作,視頻解碼器30可重建cu的殘差塊。作為對cu的tu執(zhí)行重建操作的部分,逆量化單元154可對與tu相關(guān)聯(lián)的系數(shù)塊進(jìn)行逆量化(即,解量化)。逆量化單元154可使用與tu的cu相關(guān)聯(lián)的qp值來確定量化程度且同樣地確定逆量化單元154應(yīng)用的逆量化程度。即,可通過調(diào)整在量化變換系數(shù)時使用的qp值來控制壓縮比,即,用以表示原始序列及經(jīng)壓縮序列的位數(shù)目的比率。壓縮比也可取決于所采用的熵譯碼的方法。在逆量化單元154對系數(shù)塊進(jìn)行逆量化之后,逆變換處理單元156可將一或多個逆變換應(yīng)用于系數(shù)塊,以便產(chǎn)生與tu相關(guān)聯(lián)的殘差塊。舉例來說,逆變換處理單元156可將逆dct、逆整數(shù)變換、逆karhunen-loeve變換(klt)、逆旋轉(zhuǎn)變換、逆定向變換或另一逆變換應(yīng)用于系數(shù)塊。在本發(fā)明中描述的技術(shù)中,預(yù)測處理單元152可確定逆變換處理單元156將應(yīng)用的左變換及右變換。舉例來說,預(yù)測處理單元152可確定多個變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換。候選變換為不同變換類型,且在一些實(shí)例中,預(yù)測處理單元152基于經(jīng)解碼的視頻塊的大小確定多個變換子集。在一些實(shí)例中,視頻數(shù)據(jù)存儲器151存儲多個變換子集,且預(yù)測處理單元152可從所存儲變換子集確定多個變換子集。在一些實(shí)例中,視頻數(shù)據(jù)存儲器151可存儲所有變換,且預(yù)測處理單元152可以預(yù)定義方式構(gòu)建變換子集。在一些實(shí)例中,預(yù)測處理單元152可從位流接收識別變換子集的信息。候選變換的實(shí)例包含dct-i至dct-viii、dst-i至dst-viii、klt變換等等。在一些實(shí)例中,多個變換子集包含三個或三個以上變換子集。預(yù)測處理單元152可針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的左變換從多個變換子集選擇第一變換子集,并針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的右變換從多個變換子集選擇第二變換子集。預(yù)測處理單元152可從所選擇第一變換子集確定左變換并從所選擇第二變換子集確定右變換。逆變換處理單元156可基于左變換、右變換及當(dāng)前系數(shù)塊確定當(dāng)前變換塊。舉例來說,逆變換處理單元156可執(zhí)行以下方程式的相逆者:y=c*x*rt,其中y為系數(shù)塊,c為左變換,x為變換塊且r為右變換。并且,在本發(fā)明中,應(yīng)理解,逆變換處理單元156應(yīng)用視頻編碼器20所應(yīng)用的變換的相逆者,但為了簡單,視頻解碼器30經(jīng)描述為應(yīng)用變換。預(yù)測處理單元152可基于當(dāng)前變換塊及預(yù)測性塊重建(例如,幀內(nèi)預(yù)測或幀間預(yù)測解碼)視頻塊。舉例來說,如果使用幀內(nèi)預(yù)測來編碼pu,那么幀內(nèi)預(yù)測處理單元166可執(zhí)行幀內(nèi)預(yù)測以產(chǎn)生pu的預(yù)測性塊。幀內(nèi)預(yù)測處理單元166可使用幀內(nèi)預(yù)測模式以基于在空間上相鄰的pu的預(yù)測塊而產(chǎn)生pu的預(yù)測性明度、cb及cr塊。幀內(nèi)預(yù)測處理單元166可基于從位流解碼的一或多個語法元素而確定用于pu的幀內(nèi)預(yù)測模式。預(yù)測處理單元152可基于從位流提取的語法元素而構(gòu)建第一參考圖片列表(refpiclist0)及第二參考圖片列表(refpiclist1)。此外,如果pu是使用幀間預(yù)測來編碼,那么熵解碼單元150可提取用于pu的運(yùn)動信息。運(yùn)動補(bǔ)償單元164可基于pu的運(yùn)動信息而確定pu的一或多個參考區(qū)域。運(yùn)動補(bǔ)償單元164可基于用于pu的一或多個參考塊處的樣本塊產(chǎn)生用于pu的預(yù)測性明度、cb及cr塊。在本發(fā)明中描述的實(shí)例中,所述技術(shù)適用于視頻塊經(jīng)幀內(nèi)預(yù)測或幀內(nèi)預(yù)測的情況。舉例來說,當(dāng)塊經(jīng)幀內(nèi)預(yù)測時,幀內(nèi)預(yù)測模式可用于確定變換子集。當(dāng)塊經(jīng)幀間預(yù)測時,其位置可用于確定變換子集。因此,實(shí)例技術(shù)適用于在幀內(nèi)預(yù)測模式中的任一者中經(jīng)幀內(nèi)預(yù)測或經(jīng)單向或雙向幀間預(yù)測的視頻塊。此外,實(shí)例技術(shù)不限于幀內(nèi)預(yù)測或幀間預(yù)測,且也可經(jīng)擴(kuò)展至塊內(nèi)復(fù)制(ibc)模式。在ibc模式中,用于形成預(yù)測性塊的參考塊在與經(jīng)編碼的視頻塊相同的圖片中,且由塊向量識別。在ibc模式中,作為幾個實(shí)例,變換子集可選自視頻塊的位置、參考塊的位置或塊向量。重建單元158可在適用時使用與cu的tu相關(guān)聯(lián)的明度變換塊、cb變換塊及cr變換塊以及cu的pu的預(yù)測性明度塊、cb塊及cr塊(即,幀內(nèi)預(yù)測數(shù)據(jù)或幀間預(yù)測數(shù)據(jù))來重建cu的明度譯碼塊、cb譯碼塊及cr譯碼塊。舉例來說,重建單元158可將明度變換塊、cb變換塊及cr變換塊的樣本添加到預(yù)測性明度塊、cb塊及cr塊的對應(yīng)樣本,以重建cu的明度譯碼塊、cb譯碼塊及cr譯碼塊。濾波器單元160可執(zhí)行解塊操作以減少與cu的明度譯碼塊、cb譯碼塊及cr譯碼塊相關(guān)聯(lián)的塊偽影。視頻解碼器30可將cu的明度譯碼塊、cb譯碼塊及cr譯碼塊存儲于經(jīng)解碼圖片緩沖器162中。經(jīng)解碼圖片緩沖器162可提供參考圖片以用于后續(xù)運(yùn)動補(bǔ)償、幀內(nèi)預(yù)測及在顯示裝置(例如,圖1的顯示裝置32)上呈現(xiàn)。舉例來說,視頻解碼器30可基于經(jīng)解碼圖片緩沖器162中的明度塊、cb塊及cr塊對其它c(diǎn)u的pu執(zhí)行幀內(nèi)預(yù)測操作或幀間預(yù)測操作。在一些實(shí)例中,在視頻塊將經(jīng)幀內(nèi)預(yù)測解碼的情況下,預(yù)測處理單元152可確定視頻塊的幀內(nèi)預(yù)測模式。預(yù)測處理單元152可基于所確定的幀內(nèi)預(yù)測模式選擇第一變換子集,并基于所確定的幀內(nèi)預(yù)測模式選擇第二變換子集。在視頻塊將經(jīng)幀間預(yù)測解碼的情況下,預(yù)測處理單元152可確定視頻塊中的當(dāng)前變換塊的位置(例如,確定系數(shù)塊是否用于從視頻塊中的特定位置產(chǎn)生的殘差)。預(yù)測處理單元152可基于所確定的當(dāng)前變換塊的位置選擇第一變換子集,并基于所確定的當(dāng)前變換塊的位置選擇第二變換子集。在一些實(shí)例中,預(yù)測處理單元152可接收對第一變換子集的第一變換子集索引,并接收對第二變換子集的第二變換子集索引。在這些實(shí)例中,預(yù)測處理單元152可基于通過第一變換子集索引識別的第一變換子集中的變換來確定左變換,并基于通過第二變換子集索引識別的第二變換子集中的變換來確定右變換。然而,預(yù)測處理單元152可能不需要接收第一變換子集及第二變換子集中的索引。舉例來說,預(yù)測處理單元152可確定當(dāng)前系數(shù)塊中的非零系數(shù)的數(shù)目小于閾值。在這些情況下,響應(yīng)于確定當(dāng)前系數(shù)塊中的非零系數(shù)的數(shù)目小于閾值,在不接收對第一變換子集的變換子集索引的情況下,預(yù)測處理單元152可確定在第一變換子集中識別的第一變換為左變換,且響應(yīng)于確定當(dāng)前系數(shù)塊中的非零系數(shù)的數(shù)目小于閾值,在不接收對第二變換子集的變換子集索引的情況下,確定在第二變換子集中識別的第一變換為右變換。并且,預(yù)測處理單元152可不必在所有情況下從變換子集確定變換。在一些實(shí)例中,預(yù)測處理單元152可接收指示包含當(dāng)前變換塊的塊的所有變換塊并非是使用相同變換來變換的旗標(biāo)。在這些實(shí)例中,預(yù)測處理單元152可選擇第一變換及第二變換,并響應(yīng)于接收指示包含當(dāng)前變換塊的塊的所有變換塊并非是使用相同變換來變換的旗標(biāo),從相應(yīng)第一變換及第二變換確定左變換及右變換。塊的實(shí)例包含譯碼樹型單元(ctu)、譯碼單元(cu)或預(yù)測單元(pu)。在一些實(shí)例中,第一變換子集或第二變換子集中的至少一者包含不同于離散余弦變換(dct)-ii變換及離散正弦變換(dst)-vii變換的變換。在一些實(shí)例中,第一變換子集及第二變換子集包含不同變換(例如,第一變換子集中的至少一個變換并不在第二變換子集中,或反之亦然)。在實(shí)例技術(shù)中,視頻解碼器30可從位流接收指示預(yù)測模式的信息(例如,視頻塊是經(jīng)幀內(nèi)預(yù)測還是幀間預(yù)測),并從位流接收指示當(dāng)前系數(shù)塊的系數(shù)的信息。預(yù)測處理單元152可基于預(yù)測模式確定預(yù)測性塊,且逆變換單元156或預(yù)測處理單元152可基于所接收的指示系數(shù)的信息構(gòu)建系數(shù)塊。預(yù)測模式為幀間預(yù)測模式或幀內(nèi)預(yù)測模式中的一者,且當(dāng)前變換塊為視頻塊及預(yù)測性塊的殘差。上文所描述的技術(shù)可通過視頻編碼器20(圖4及5)及/或視頻解碼器30(圖4及6)執(zhí)行,所述兩者通常可被稱作視頻譯碼器。同樣地,在適用時,視頻譯碼可指視頻編碼或視頻解碼。另外,視頻編碼及視頻解碼一般可被稱作“處理”視頻數(shù)據(jù)。在以下子部分中,將提供以上技術(shù)的實(shí)例。實(shí)務(wù)上,實(shí)例的任何部分的任何組合可被用作新的實(shí)例技術(shù)。下文描述構(gòu)建額外候選變換列表的實(shí)例。除將dct-ii始終應(yīng)用于所有所包含的tu的默認(rèn)變換方法外,對于每一tu,給定所選擇變換集合,可構(gòu)建額外候選變換方法。在一個實(shí)例中,幀內(nèi)及幀間預(yù)測殘差的額外候選變換列表經(jīng)構(gòu)建如下:首先,變換集合被定義為變換類型的集,例如,實(shí)例變換集合可被定義為包含兩個類型的變換(即,dct-ii及dst-vii)的{dct-ii,dst-vii}。基于兩個給定變換集合,可通過從第一變換集合選擇一個變換類型作為水平變換且從第二變換集合選擇另一變換類型作為垂直變換而產(chǎn)生不同的變換方法。舉例來說,當(dāng)變換集合0{dct-ii,dst-vii}用于水平變換,且變換集合1{dct-viii,dst-vii}用于垂直變換時,可產(chǎn)生共計(jì)四個變換方法如下:表1:基于變換集合{dct-ii,dst-vii}的四個變換方法變換方法1變換方法2變換方法3變換方法4水平變換dct-iidct-iidst-viidst-vii垂直變換dct-viiidst-viidct-viiidst-vii對于幀內(nèi)預(yù)測殘差,定義共計(jì)三個變換子集,包含:變換子集0:{dst-vii,dct-viii},變換子集1:{dst-vii,dst-i}及變換子集2:{dst-vii,dct-v}。對于用于水平變換及垂直變換的變換集合的選擇取決于幀內(nèi)預(yù)測模式,如下表2中所示,表2:幀內(nèi)預(yù)測模式與變換集合之間的映射表幀內(nèi)模式012345678910111213141516171819202122232425262728293031323334righttranssubsetldx21010101000001010101010122222101010lefttranssubsetldx21010101222221010101010100000101010舉例來說,對于幀內(nèi)模式10,水平(右)變換的候選變換類型來自包含dst-vii及dct-viii的變換集合0,且垂直(左)變換的候選變換類型來自包含dst-vii及dct-v的變換集合2。因此,幀內(nèi)模式10的額外候選變換列表最終如表3中所示構(gòu)建,其中產(chǎn)生共計(jì)四個變換方法表3:基于表2的幀內(nèi)預(yù)測模式10的四個變換方法的實(shí)例變換方法1變換方法2變換方法3變換方法4水平變換dst-viidst-viidct-viiidct-viii垂直變換dst-viidct-vdst-viidct-v根據(jù)表2,對于每一tu,給定幀內(nèi)預(yù)測模式,可產(chǎn)生共計(jì)四個變換方法。對于幀間預(yù)測殘差,同一變換集合{dst-vii,dct-viii}用于水平變換及垂直變換。因此,對于每一tu,如表4中所示構(gòu)建額外候選變換列表。表4:用于幀間預(yù)測殘差的四個變換方法變換方法1變換方法2變換方法3變換方法4水平變換dst-viidst-viidct-viiidct-viii垂直變換dst-viidct-viiidst-viidct-viii以下描述是指示符信號發(fā)送的實(shí)例。為適應(yīng)性地適于不同內(nèi)容,在cu級別及tu級別處用信號發(fā)送關(guān)于變換使用的指示符。cu級別指示符為指示默認(rèn)dct-ii是否應(yīng)用于包含于當(dāng)前cu中的所有tu的一位旗標(biāo)。如果一位旗標(biāo)為0,那么僅默認(rèn)dct-ii可應(yīng)用于包含于當(dāng)前cu中的所述tu;否則,二位tu級別指示符可針對每一tu進(jìn)一步用信號發(fā)送,且第一位指定來自給定變換集合的哪一變換類型經(jīng)應(yīng)用為水平變換,且第二位指定來自給定變換集合的哪一變換類型經(jīng)應(yīng)用為垂直變換。對于幀內(nèi)預(yù)測殘差,在系數(shù)之后用信號發(fā)送tu級別指示符,且當(dāng)tu的非零系數(shù)的總數(shù)目不大于2時,tu級別指示符未用信號發(fā)送且經(jīng)導(dǎo)出為0。否則,tu級別指示符經(jīng)明確地用信號發(fā)送。對于幀間預(yù)測殘差,可在系數(shù)之前或之后用信號發(fā)送tu級別指示符,且當(dāng)tu中不存在非零系數(shù)時,不用信號發(fā)送tu級別指示符。在下文中提供所提出實(shí)例的基于hevc的語法、語義。在以下語法中,分量的灰化用于指示語法中的潛在變化或以其它方式輔助理解。變換樹語法替代地,add_multi_transform_flag可不依賴cbf_luma而用信號發(fā)送。這等效于發(fā)送譯碼單元中的旗標(biāo)。變換樹語義add_multi_transform_flag[x0][y0]指定增強(qiáng)型多重變換是否應(yīng)用于包含于當(dāng)前cu中的每一tu,當(dāng)add_multi_transform_flag[x0][y0]為0時,dct-ii始終應(yīng)用于包含于當(dāng)前cu中的每一tu,否則,left_transform_flag及right_transform_flag可經(jīng)進(jìn)一步用信號發(fā)送以用于每一tu指定應(yīng)用于屬于當(dāng)前變換樹的tu的左變換及右變換。當(dāng)不存在add_multi_transform_flag[x0][y0]時,推斷其等于0。殘差譯碼語法殘差譯碼語義left_transform_flag[x0][y0]指定應(yīng)用于當(dāng)前tu的左變換的變換索引,當(dāng)不存在時,left_transform_flag[x0][y0]經(jīng)推斷為0。right_transform_flag[x0][y0]指定應(yīng)用于當(dāng)前tu的右變換的變換索引,當(dāng)不存在時,right_transform_flag[x0][y0]經(jīng)推斷為0。用于導(dǎo)出左變換及右變換的解碼過程-如果cupredmode[x0][y0]==mode_intra,給定幀內(nèi)模式值intrapredmodey[xpb][ypb],那么基于下表導(dǎo)出lefttranssubsetidx及righttranssubsetidx的值:幀內(nèi)模式012345678910111213141516171819202122232425262728293031323334righttranssubsetldx21010101000001010101010122222101010lefttranssubsetldx21010101222221010101010100000101010-給定lefttranssubsetidx及l(fā)eft_tranform_flag的值,使用下表導(dǎo)出左變換:-給定righttranssubsetidx及right_tranform_flag的值,使用下表導(dǎo)出左變換:-否則(cupredmode[x0][y0]!=mode_intra),執(zhí)行以下內(nèi)容:-給定值left_tranform_flag,使用下表導(dǎo)出左變換:-給定值right_tranform_flag,使用下表導(dǎo)出右變換:下文為應(yīng)用增強(qiáng)型多重變換及大變換的實(shí)例。對于通過視頻編碼器20執(zhí)行的編碼過程,在一個實(shí)例中,對于小于(或等于)32×32的每一cu,對當(dāng)前cu進(jìn)行兩次譯碼。在第一遍次中,僅使用dct-ii來譯碼當(dāng)前cu。用于譯碼整個cu的速率失真成本經(jīng)記錄為rdcost_cu_dct;及用于譯碼pu的每一幀內(nèi)預(yù)測模式的速率失真成本經(jīng)記錄為rdcost_pu_dct[i][p],其中ⅰ指示當(dāng)前cu內(nèi)部的幀內(nèi)預(yù)測模式的索引,且p指示當(dāng)前cu內(nèi)部的pu的索引?;谟蓀索引的當(dāng)前pu的速率失真優(yōu)化的最優(yōu)幀內(nèi)預(yù)測模式表示為ipm[p]。在第二遍次中,使用下文描述的多重變換再次譯碼當(dāng)前cu。對于通過當(dāng)前cu的p'所索引的每一所包含的pu,執(zhí)行以下內(nèi)容。對于每一候選幀內(nèi)預(yù)測模式i',如果rdcost_pu_dct[i'][p']>rdcost_pu_dct[ipm[p']][p'],那么跳過幀內(nèi)預(yù)測模式i'且不選擇幀內(nèi)預(yù)測模式i'作為當(dāng)前pu的最優(yōu)幀內(nèi)預(yù)測模式。否則,針對包含于當(dāng)前pu中的每一tu執(zhí)行以下內(nèi)容。對于當(dāng)前pu內(nèi)部的每一tu,給定當(dāng)前候選幀內(nèi)預(yù)測模式,根據(jù)以上實(shí)例,選擇2個候選右(r)變換及2個候選左(l)變換,因此共計(jì)4個不同r及l(fā)變換組合。隨后,使用速率失真成本測試每一候選r及l(fā)變換組合。在這個過程期間,如果一個r及l(fā)變換組合產(chǎn)生零系數(shù)(例如,零值或無系數(shù)),那么跳過殘差的l及r變換組合且不選擇殘差的l及r變換組合作為最優(yōu)r及l(fā)變換組合。選擇具有最小速率失真成本的r及l(fā)變換組合作為實(shí)際變換以編碼當(dāng)前殘差塊。另外,在選擇組合r及l(fā)變換的以上過程期間,如果一個候選r及l(fā)變換組合產(chǎn)生不超過2個的非零系數(shù),那么不選擇其作為最優(yōu)變換組合,除非r變換及l(fā)變換兩者為dst-vii變換。當(dāng)針對當(dāng)前cu內(nèi)部的所有pu進(jìn)行以上過程之后,那么用于譯碼整個cu的速率失真成本經(jīng)記錄為rdcost_cu_emt。如果rdcost_cu_dct小于rdcost_cu_emt,那么一個旗標(biāo)add_multi_transform_flag經(jīng)條件性地用信號發(fā)送為0,如以上實(shí)例中所描述,且使用dct-ii編碼所有所包含的tu。否則,add_multi_transform_flag經(jīng)條件性地用信號發(fā)送為1,如以上實(shí)例中所描述,且對于每一所包含的tu,當(dāng)如以上實(shí)例所描述信令系數(shù)之后,條件性地用信號發(fā)送left_transform_flag及另一旗標(biāo)right_transform_flag以指示選擇哪些左變換及右變換以用于編碼當(dāng)前tu。下文描述通過視頻解碼器30執(zhí)行的解碼過程的實(shí)例。在一個實(shí)例中,對于小于(或等于)32×32的每一cu,一位旗標(biāo)add_multi_transform_flag經(jīng)條件性地用信號發(fā)送,如以上實(shí)例中所描述。僅當(dāng)變換深度為0且明度分量的經(jīng)譯碼塊旗標(biāo)(cbf)值為0時不用信號發(fā)送這個旗標(biāo),否則,始終用信號發(fā)送所述旗標(biāo)。如果add_multi_transform_flag為0,那么僅dct-2應(yīng)用于所有所包含的tu,否則,執(zhí)行以下內(nèi)容。對于每一tu,在如以上實(shí)例中所描述信令系數(shù)之后,條件性地用信號發(fā)送一位旗標(biāo)left_transform_flag及另一旗標(biāo)right_transform_flag。下文描述是否用信號發(fā)送left_transform_flag及right_transform_flag的條件。在當(dāng)前cu經(jīng)幀內(nèi)譯碼時,非零系數(shù)的總數(shù)目小于(或等于)2時,不用信號發(fā)送left_transform_flag及right_transform_flag。否則,用信號發(fā)送left_transform_flag及right_transform_flag。否則,在當(dāng)前cu不經(jīng)幀內(nèi)譯碼時,不存在非零系數(shù)時,不用信號發(fā)送left_transform_flag及right_transform_flag。否則,用信號發(fā)送left_transform_flag及right_transform_flag。對于每一tu,給定用信號發(fā)送的left_transform_flag及right_transform_flag,如以上實(shí)例中所描述導(dǎo)出左變換及右變換。在當(dāng)前cu大于32×32時,對于具有同一64×64大小的每一tu,執(zhí)行變換,如下文關(guān)于更大大小的tu的實(shí)例更詳細(xì)地描述。下文為基于幀內(nèi)預(yù)測模式構(gòu)建額外變換列表的另一替代案的實(shí)例。除始終對所有所包含的tu應(yīng)用dct-ii的默認(rèn)變換方法外,對于每一tu,額外候選變換dst-vii可經(jīng)應(yīng)用如下。給定當(dāng)前tu的幀內(nèi)預(yù)測模式(表示為ipm),應(yīng)用于這個tu上的左變換及右變換經(jīng)指定如下。如果(ipm&1)等于1,那么dct-ii經(jīng)應(yīng)用為用于當(dāng)前tu的左變換及右變換;否則((ipm&1等于0),dst-vii經(jīng)應(yīng)用為用于當(dāng)前tu的左變換及右變換。上文描述用于確定待使用的變換的實(shí)例技術(shù)。下文描述用于支持較大大小的變換的實(shí)例。舉例來說,支持64×64變換為有利的,尤其對于譯碼具有較大分辨率(例如,1080p及4k)的視頻如此。為支持64×64變換,同時約束視頻編碼器20及視頻解碼器30的復(fù)雜度為重要的,且但可進(jìn)行各種方式以實(shí)現(xiàn)所述情況,可獲得更好的解決方案。實(shí)際應(yīng)用的n×n變換矩陣可為縮放原始浮點(diǎn)變換矩陣之后的整數(shù)點(diǎn)近似,且縮放可大于64*log2n,包含(但不限于)s*log2n,其中s可為128或256。在一個實(shí)例中,水平變換及垂直變換之后的所得變換系數(shù)通過應(yīng)用額外右位移操作保持于16位表示內(nèi)。額外右位移操作包含(但不限于)將垂直及水平逆/正變換之后的所得變換系數(shù)右位移額外log2(s/64)個位。可應(yīng)用大于32點(diǎn)變換的變換大小,包含(但不限于)殘差塊上的64點(diǎn)、128點(diǎn)、256點(diǎn)。當(dāng)m點(diǎn)及n點(diǎn)變換分別應(yīng)用于水平變換及垂直變換(其中m及n為整數(shù)且m可與n相同或不相同)時,僅用信號發(fā)送所得m×n系數(shù)塊內(nèi)部的左上x×y較低頻率系數(shù)(其中x<m及y<n),且不用信號發(fā)送殘差系數(shù)并導(dǎo)出殘差系數(shù)為0。就上下文模型化而言,所得m×n系數(shù)塊內(nèi)部的最末非零系數(shù)的位置可通過再使用用于s×t塊(其中x≤s≤m且y≤t≤n)的最末非零系數(shù)位置譯碼的相同邏輯而譯碼。為使超出x×y的系數(shù)歸零,可針對lastsignificantcoeffy及l(fā)astsignificantcoeffx引入約束條件。舉例來說,lastsignificantcoeffx(lastsignificantcoeffy)的值可小于x(y)。x及y的值可為常數(shù),例如32,或取決于變換大小,例如x=m/2,y=n/2。對于64點(diǎn)變換,x及y的典型值為32。在一個實(shí)例中,可預(yù)定義及使用用于m×n的一或多個cg(譯碼分組)掃描次序。然而,對于所得m×n系數(shù)塊的左上x×y區(qū)域外側(cè)的cg,跳過用信號發(fā)送每一cg中是否存在至少一個非零系數(shù)的cg級別旗標(biāo)且未譯碼所述旗標(biāo)。替代地或另外,對于所有w×h個cg,其中w及h的典型值為4,遵循用于x×y區(qū)域的掃描次序來譯碼cg,所述掃描次序包含(但不限于)(m/w)×(n/h)包含對角線、曲折、水平或垂直掃描次序。替代地或另外,所有cg經(jīng)分組于w'×h'單元中,其中w'為w的倍數(shù)且h'為h的倍數(shù),所述w'×h'單元遵循掃描次序而經(jīng)譯碼,所述掃描次序包含(但不限于)(m/w’)×(n/h’)對角線、曲折、水平或垂直掃描次序,每一w×h單元內(nèi)的cg遵循掃描次序而經(jīng)譯碼,所述掃描次序包含(但不限于)(w'/w)×(h'/h)對角線、曲折、水平或垂直掃描次序。為支持譯碼對應(yīng)于64×64、128×128或256×256的變換大小的rqt深度,可針對對應(yīng)于大于32×32的變換大小的rqt深度值共享用于譯碼取決于變換大小的rqt分裂旗標(biāo)的cabac上下文。舉例來說,對于特定rqt深度情況,包含(但不限于)對應(yīng)于變換大小64×64及32×32的rqt深度值,相同cabac上下文可應(yīng)用于譯碼rqt分裂旗標(biāo)。下文為針對64×64變換執(zhí)行32×32歸零的實(shí)例。可存在對于最末位置的約束條件,其中l(wèi)ast_sig_coeff_x_suffix指定變換塊內(nèi)的掃描次序中的最末有效系數(shù)的列位置的后綴。last_sig_coeff_x_suffix的包含性值應(yīng)在0至(1<<((last_sig_coeff_x_prefix>>1)-1))-1的范圍內(nèi)。變換塊內(nèi)的掃描次序中的最末有效系數(shù)的列位置lastsignificantcoeffx經(jīng)導(dǎo)出如下。如果不存在last_sig_coeff_x_suffix,那么以下內(nèi)容適用:lastsignificantcoeffx=last_sig_coeff_x_prefix,否則(last_sig_coeff_x_suffix存在),以下內(nèi)容適用:lastsignificantcoeffx=(1<<((last_sig_coeff_x_prefix>>1)-1))*(2+(last_sig_coeff_x_prefix&1))+last_sig_coeff_x_suffix。語法元素last_sig_coeff_y_suffix指定變換塊內(nèi)的掃描次序中的最末有效系數(shù)的行位置的后綴。last_sig_coeff_y_suffix的包含性的值應(yīng)在(包含)0至(1<<((last_sig_coeff_y_prefix>>1)-1))-1的范圍內(nèi)。變換塊內(nèi)的掃描次序中的最末有效系數(shù)的行位置lastsignificantcoeffy經(jīng)導(dǎo)出如下。如果不存在last_sig_coeff_y_suffix,那么下文使用:lastsignificantcoeffy=last_sig_coeff_y_prefix,否則(存在last_sig_coeff_y_suffix),下文適用:lastsignificantcoeffy=(1<<((last_sig_coeff_y_prefix>>1)-1))*(2+(last_sig_coeff_y_prefix&1))+last_sig_coeff_y_suffix。當(dāng)scanidx等于2時,坐標(biāo)調(diào)換如下(lastsignificantcoeffx,lastsignificantcoeffy)=swap(lastsignificantcoeffx,lastsignificantcoeffy)。lastsignificantcoeffx或lastsignificantcoeffy的值應(yīng)小于32。下文為用于用信號發(fā)送有效cg及有效系數(shù)的條件。殘差譯碼語法下文描述重疊塊運(yùn)動補(bǔ)償(obmc)的實(shí)例。在itu-th.263的研發(fā)中提出obmc。參見用于低位速率通信的視頻譯碼的文件(rec.h.263,itu-t,1995年4月)。在8×8塊上執(zhí)行obmc,且兩個已連接的相鄰8×8塊的運(yùn)動向量用于當(dāng)前塊,如圖8a及8b中所展示。舉例來說,對于當(dāng)前宏塊中的第一8×8塊,除其自身運(yùn)動向量外,上相鄰運(yùn)動向量及左相鄰運(yùn)動向量也經(jīng)應(yīng)用以產(chǎn)生兩個額外預(yù)測塊。以這種方式,當(dāng)前8×8塊中的每一像素具有三個預(yù)測值,且這三個預(yù)測值的加權(quán)平均數(shù)用作對相應(yīng)像素的最終預(yù)測。當(dāng)相鄰塊不經(jīng)譯碼或經(jīng)譯碼為幀內(nèi)(即,相鄰塊不具有可用運(yùn)動向量)時,當(dāng)前8×8塊的運(yùn)動向量用作相鄰運(yùn)動向量。同時,對于當(dāng)前宏塊的第三及第四8×8塊(如圖7中所展示),可不使用下相鄰塊(例如,總是不使用或不總是使用)。換言之,在一些實(shí)例中,對于每一mb,在obmc期間,將不使用來自其下方的mb的運(yùn)動信息來重建當(dāng)前mb的像素。下文描述如hevc中所提出的obmc。在hevc中,在2011年11月18日申請的美國臨時申請案第61/561,783號、2012年11月15日申請的美國申請案第13/678,329號、2011年1月10日申請的美國臨時申請案第61/431,480號、2011年3月8日申請的美國臨時申請案第61/450,532號及2011年12月6日申請的美國申請案第13/311,834號中,也提出obmc以使pu邊界平滑。圖8a及8b中展示hevc中所提出的方法的實(shí)例,其中白色區(qū)域?yàn)橥ㄟ^pu0表示的第一預(yù)測單元(pu),且灰色區(qū)域?yàn)楸硗ㄟ^pu1)表示的第二pu。當(dāng)cu含有兩個(或更多)pu時,通過obmc使靠近pu邊界的行/列平滑。對于pu0或pu1中的用“a”或“b”標(biāo)記的像素,產(chǎn)生兩個預(yù)測值(即,通過分別應(yīng)用pu0及pu1的運(yùn)動向量),且其加權(quán)平均數(shù)用作最終預(yù)測。另外,在2015年1月26日申請的美國臨時申請案第62/107,964號及2015年2月16日申請的美國臨時申請案第62/116,631號中,已提出指示obmc是否應(yīng)用于當(dāng)前cu的cu-級別旗標(biāo)(即obmc旗標(biāo))。觀測到當(dāng)obmc不應(yīng)用于一個譯碼單元(例如,用信號發(fā)送的旗標(biāo)為0)時,除dct-ii外的變換是無效的。因此,用于指示多重變換的使用的額外信令為冗余的。如所描述,視頻編碼器20可用信號發(fā)送(例如,在位流中產(chǎn)生)cu-級別旗標(biāo)以指示是否啟用obmc而用于當(dāng)前cu。在一些實(shí)例中,當(dāng)這個obmc旗標(biāo)已用信號發(fā)送為1(指示obmc經(jīng)啟用而用于當(dāng)前cu)時,僅默認(rèn)dct-ii用于每一tu,且因此視頻編碼器20可不用信號發(fā)送用于變換選擇的任何事物,即,既不用信號發(fā)送cu-級別旗標(biāo)也不用信號發(fā)送tu-級別索引。下文描述優(yōu)化視頻編碼器20的實(shí)例。舉例來說,以下實(shí)例可用于視頻編碼器20。然而,對于視頻解碼器30而言,執(zhí)行類似技術(shù)是可能的。在編碼器(例如,視頻編碼器20)處,當(dāng)所提出的多重變換應(yīng)用于當(dāng)前tu時,對于大于或等于m×n的變換大小,僅計(jì)算m'×n'低頻系數(shù),且其它系數(shù)經(jīng)設(shè)定為0,其中(m'<=m及n'<=n及m'*n'<m*n)。在一個實(shí)例中,m及n中的每一者的值為32,且m'及n'中的每一者的值為16。在這個實(shí)例中,定位于大于m'及/或大于n'的位置處的系數(shù)可被視為較高頻率系數(shù)。通常,比tu的右邊更遠(yuǎn)及比tu的底部更遠(yuǎn)的系數(shù)可被視為較高頻率系數(shù)。在編碼器處,對于某一譯碼模式,如果使用默認(rèn)變換(例如,dct-ii)的譯碼成本大于當(dāng)前最小譯碼成本乘以給定閾值,那么跳過所提出的多重變換。譯碼成本可為速率失真成本、絕對預(yù)測殘差的總和、平方預(yù)測殘差的總和或絕對變換差的總和。閾值可取決于譯碼塊大小。在一個實(shí)例中,閾值的值為1.1。在編碼器處,對于某一幀內(nèi)預(yù)測方向模式,如果使用默認(rèn)變換(例如dct-ii)的譯碼成本大于最佳幀內(nèi)預(yù)測方向模式的譯碼成本乘以給定閾值,那么不對這個幀內(nèi)預(yù)測模式應(yīng)用所提出的多重變換且跳過所述多重變換。譯碼成本可為速率失真成本、絕對預(yù)測殘差的總和、平方預(yù)測殘差的總和或絕對變換差的總和。閾值可取決于譯碼塊大小。在一個實(shí)例中,對于4×4、8×8、16×16及32×32塊大小,閾值的值分別為1.47、1.28、1.12及1.06。在編碼器處,如果使用默認(rèn)變換(例如,dct-ii)的n×n幀內(nèi)pu分割區(qū)的譯碼成本大于2n×2n幀內(nèi)pu分割區(qū)的譯碼成本乘以給定閾值,那么不對n×n幀內(nèi)pu分割區(qū)應(yīng)用所提出的多重變換且跳過所述多重變換。譯碼成本可為速率失真成本、絕對預(yù)測殘差的總和、平方預(yù)測殘差的總和或絕對變換差的總和。閾值可取決于譯碼塊大小。在一個實(shí)例中,閾值的值為1.2。在編碼器處,如果使用默認(rèn)變換(例如,dct-ii)的2n×2n幀內(nèi)pu分割區(qū)模式的譯碼成本大于最佳幀間譯碼模式的譯碼成本乘以給定閾值,那么不對幀內(nèi)pu模式應(yīng)用所提出的多重變換且跳過所述多重變換。譯碼成本可為速率失真成本、絕對預(yù)測殘差的總和、平方預(yù)測殘差的總和或絕對變換差的總和。閾值可取決于譯碼塊大小。在一個實(shí)例中,閾值的值為1.4。在編碼器處,如果使用多重變換候選中的一者產(chǎn)生用于當(dāng)前塊的全零系數(shù),那么不對當(dāng)前塊應(yīng)用殘差變換候選且跳過所述殘差變換候選。替代地或另外,如果使用默認(rèn)變換(例如,dct-ii)產(chǎn)生用于當(dāng)前塊的全零系數(shù),那么不對當(dāng)前塊應(yīng)用多重變換候選且跳過所述多重變換候選,且僅默認(rèn)變換(例如,dct-ii)用于譯碼當(dāng)前塊。在編碼器處,當(dāng)已用信號發(fā)送obmc旗標(biāo)且其指示obmc關(guān)閉時,那么指示是否僅應(yīng)用一個默認(rèn)變換的一位旗標(biāo)仍用信號發(fā)送為默認(rèn)值(例如,0),所述旗標(biāo)指示應(yīng)用默認(rèn)變換(例如,dct-ii),且不對當(dāng)前塊應(yīng)用多重變換候選且跳過所述多重變換候選。圖9為說明解碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。視頻解碼器30可確定多個變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換200。舉例來說,預(yù)測處理單元152可從存儲于視頻數(shù)據(jù)存儲器151中的變換子集檢索多個變換子集。多個變換子集可經(jīng)預(yù)存儲于視頻數(shù)據(jù)存儲器151中,或可從視頻編碼器20接收識別如何構(gòu)建變換子集的信息。視頻解碼器30可針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的左變換從多個變換子集選擇第一變換子集,并針對視頻數(shù)據(jù)的當(dāng)前系數(shù)塊的右變換從多個變換子集選擇第二變換子集202。舉例來說,預(yù)測處理單元152可基于在視頻位流中用信號發(fā)送的幀內(nèi)預(yù)測模式信息或基于以幾種實(shí)例方式解碼的視頻塊的位置來選擇第一及第二變換子集從而確定變換子集。視頻解碼器30可從所選擇的第一變換子集確定左變換,且從所選擇的第二變換子集確定右變換204。舉例來說,預(yù)測處理單元152可接收位流中的信息(例如,對所選擇變換子集的索引)或可隱含地基于非零系數(shù)的數(shù)目確定變換。視頻解碼器30可基于左變換、右變換及當(dāng)前系數(shù)塊確定當(dāng)前變換塊206。舉例來說,逆變換處理單元156可通過應(yīng)用左變換及右變換于由逆量化單元154輸出的系數(shù)塊上來確定當(dāng)前變換塊。視頻解碼器30可基于當(dāng)前變換塊及預(yù)測性塊重建(例如,幀內(nèi)預(yù)測或幀間預(yù)測解碼)視頻塊208。舉例來說,重建單元158可添加當(dāng)前變換塊(其為視頻塊與預(yù)測性塊之間的殘差)至預(yù)測性塊以重建視頻塊。圖10為說明編碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。視頻編碼器20可確定多個變換子集,每一子集識別一或多個候選變換,其中至少一個變換子集識別多個候選變換300。舉例來說,預(yù)測處理單元100可從存儲于視頻數(shù)據(jù)存儲器101中的變換子集檢索多個變換子集。多個變換子集可經(jīng)預(yù)存儲于視頻數(shù)據(jù)存儲器101中。視頻編碼器20可針對視頻數(shù)據(jù)的視頻塊的當(dāng)前變換塊的左變換從多個變換子集選擇第一變換子集并針對視頻數(shù)據(jù)的視頻塊的變換塊的右變換從多個變換子集選擇第二變換子集302。舉例來說,預(yù)測處理單元100可基于熵編碼單元118在視頻位流中產(chǎn)生的幀內(nèi)預(yù)測模式信息或基于以幾種實(shí)例方式編碼的視頻塊的位置來選擇第一及第二變換子集從而確定變換子集。視頻編碼器20可從所選擇的第一變換子集確定左變換,且從所選擇的第二變換子集確定右變換304。舉例來說,預(yù)測處理單元100可測試各種確定變換以識別提供良好視頻譯碼品質(zhì)的變換。視頻編碼器20可基于左變換、右變換及當(dāng)前系數(shù)塊確定當(dāng)前變換塊306。舉例來說,變換處理單元104可通過應(yīng)用左變換及右變換于由重建單元102輸出的變換塊上來確定當(dāng)前系數(shù)塊。視頻編碼器20可產(chǎn)生具有指示用于重建視頻塊的當(dāng)前系數(shù)塊的系數(shù)的信息(例如,信號信息)的視頻位流308。舉例來說,熵編碼單元118可輸出視頻解碼器30用以重建視頻塊的信息。應(yīng)理解,本文所描述的所有技術(shù)可單獨(dú)地或以組合方式使用。本發(fā)明包含可取決于某些因素(例如,塊大小、圖塊類型等)改變的若干用信號發(fā)送的方法。在用信號發(fā)送或推斷語法元素中的這類變化事先可對編碼器及解碼器已知或可在視頻參數(shù)集(vps)、序列參數(shù)集(sps)、圖片參數(shù)集(pps)、圖塊標(biāo)頭中在圖案塊級別或其它處經(jīng)明確地用信號發(fā)送。將認(rèn)識到,取決于實(shí)例,本文中所描述的技術(shù)中的任一者的某些動作或事件可以不同序列執(zhí)行,可添加、合并或完全省略所述動作或事件(例如,并非所有所描述動作或事件對于所述技術(shù)的實(shí)踐都是必要的)。此外,在某些實(shí)例中,可(例如)通過多線程處理、中斷處理或多個處理器同時而不是依序地執(zhí)行動作或事件。另外,盡管出于清晰的目的將本發(fā)明的某些方面描述為通過單一模塊或單元執(zhí)行,但應(yīng)理解,本發(fā)明的技術(shù)可通過與視頻譯碼器相關(guān)聯(lián)的單元或模塊的組合來執(zhí)行。盡管在上文描述技術(shù)的各種方面的特定組合,但提供這些組合僅為了說明本發(fā)明中所描述的技術(shù)的實(shí)例。因此,本發(fā)明的技術(shù)不應(yīng)限于這些實(shí)例組合且可涵蓋本發(fā)明中描述的技術(shù)的各種方面的任何可設(shè)想組合。在一或多個實(shí)例中,所描述的功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件實(shí)施,那么所述功能可作為一或多個指令或代碼而存儲于計(jì)算機(jī)可讀媒體上或通過計(jì)算機(jī)可讀媒體發(fā)射,且由基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲媒體,其對應(yīng)于例如數(shù)據(jù)存儲媒體的有形媒體。以這種方式,計(jì)算機(jī)可讀媒體通??蓪?yīng)于非暫時性的有形計(jì)算機(jī)可讀存儲媒體。數(shù)據(jù)存儲媒體可為可通過一或多個計(jì)算機(jī)或一或多個處理器存取以檢索指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)以用于實(shí)施本發(fā)明所描述的技術(shù)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可包含計(jì)算機(jī)可讀媒體。通過實(shí)例而非限制,這些計(jì)算機(jī)可讀存儲媒體可包括ram、rom、eeprom、cd-rom或其它光盤存儲器、磁盤存儲器或其它磁性存儲裝置、閃存或可用以存儲呈指令或數(shù)據(jù)結(jié)構(gòu)形式的所要代碼且可由計(jì)算機(jī)存取的任何其它媒體。然而,應(yīng)理解,計(jì)算機(jī)可讀存儲媒體及數(shù)據(jù)存儲媒體不包含連接、載波、信號或其它暫時性媒體,而實(shí)情為針對非暫時性有形存儲媒體。如本文中所使用,磁盤及光盤包含壓縮光盤(cd)、激光盤、光學(xué)光盤、數(shù)字多功能光盤(dvd)、軟盤及藍(lán)光光盤,其中磁盤通常以磁性方式再生數(shù)據(jù),而光盤用雷射以光學(xué)方式再生數(shù)據(jù)。以上的組合也應(yīng)包含于計(jì)算機(jī)可讀媒體的范圍內(nèi)。可通過例如一或多個數(shù)字信號處理器(dsp)、通用微處理器、專用集成電路(asic)、場可編程邏輯陣列(fpga)或其它等效集成或離散邏輯電路的一或多個處理器來執(zhí)行指令。因此,如本文中所使用的術(shù)語“處理器”可指代前述結(jié)構(gòu)或適合于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。此外,在一些方面中,本文中所描述的功能性可提供在經(jīng)配置用于編碼及解碼的專用硬件及/或軟件模塊內(nèi),或并入于組合式編解碼器中。并且,所述技術(shù)可完全實(shí)施于一或多個電路或邏輯元件中。本發(fā)明的技術(shù)可以多種裝置或設(shè)備予以實(shí)施,所述裝置或設(shè)備包含無線手機(jī)、集成電路(ic)或ic的集合(例如,芯片集合)。本發(fā)明中描述各種組件、模塊或單元以強(qiáng)調(diào)經(jīng)配置以執(zhí)行所公開技術(shù)的裝置的功能方面,但未必需要通過不同硬件單元來實(shí)現(xiàn)。確切而言,如上文所描述,可將各種單元組合于編解碼器硬件單元中,或通過互操作性硬件單元(包含如上文所描述的一或多個處理器)的集合而結(jié)合合適軟件及/或固件來提供所述單元。已描述各種實(shí)例。這些及其它實(shí)例在以下權(quán)利要求書的范圍內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
文登市| 栾城县| 永城市| 涡阳县| 松潘县| 揭西县| 永州市| 寿光市| 达日县| 中阳县| 汉源县| 黔西| 龙口市| 山东| 广平县| 东乡县| 金乡县| 忻州市| 屏东市| 东城区| 嘉鱼县| 临泽县| 营口市| 罗平县| 邢台市| 尖扎县| 台中县| 和顺县| 蓬莱市| 高平市| 建德市| 临安市| 潞城市| 海伦市| 罗平县| 维西| 宝兴县| 崇州市| 凤冈县| 洛宁县| 长兴县|