0及質(zhì)量層412的圖片與H. 264/AVC兼容。一般來(lái)說(shuō),在最低 時(shí)間等級(jí)414處的圖片形成時(shí)間基礎(chǔ)層??捎幂^高時(shí)間等級(jí)處的圖片增強(qiáng)最低時(shí)間等級(jí)圖 片。除H. 264/AVC兼容層之外,可添加若干空間及/或SNR增強(qiáng)層以提供空間及/或質(zhì)量 可縮放性。SNR可縮放性還被稱作質(zhì)量可縮放性。每一空間增強(qiáng)層404或SNR增強(qiáng)層406 自身可為時(shí)間上可縮放的,具有與H. 264/AVC兼容層相同的時(shí)間可縮放性結(jié)構(gòu)。對(duì)于一個(gè) 空間增強(qiáng)層404或SNR增強(qiáng)層406,其所取決于的較低層還被稱作所述特定空間或SNR增強(qiáng) 層的基礎(chǔ)層。
[0100] SVC譯碼結(jié)構(gòu)500的實(shí)例展示于圖5中。具有最低空間及質(zhì)量層的圖片(層0502 及層1504中的圖片,具有QCIF分辨率)與H.264/AVC兼容。其中,具有最低時(shí)間等級(jí)的那 些圖片形成時(shí)間基礎(chǔ)層,如圖5的層0502中所示。可用具有較高時(shí)間等級(jí)(例如,層1504 到層4510,等)的圖片增強(qiáng)此時(shí)間基礎(chǔ)層(層0502)。除H.264/AVC兼容層之外,可添加若 干空間及/或SNR增強(qiáng)層以提供空間及/或質(zhì)量可縮放性。舉例來(lái)說(shuō),增強(qiáng)層可為與層2506 具有相同分辨率的CIF表示。在所述實(shí)例中,層3508為SNR增強(qiáng)層(CIF,15Hz,512Kbps)。 如所述實(shí)例中所展示,每一空間或SNR增強(qiáng)層自身可為在時(shí)間上可縮放的,具有與H. 264/ AVC兼容層相同的時(shí)間可縮放性結(jié)構(gòu)。
[0101] 此外,增強(qiáng)層可增強(qiáng)空間空間分辨率及幀率兩者。舉例來(lái)說(shuō),層4510提供4CIF增 強(qiáng)層,其進(jìn)一步將幀率自15Hz增加到30Hz。
[0102] 如圖6中所展示,相同時(shí)間實(shí)例中的經(jīng)譯碼切片在位流次序上是連續(xù)的,且在SVC 的情況下形成一個(gè)存取單元600 (AU)。那些SVC存取單元600接著遵循解碼次序,所述解碼 次序可不同于顯示次序且例如由時(shí)間預(yù)測(cè)關(guān)系決定。
[0103] 奪換
[0104] 在視頻譯碼的一個(gè)實(shí)施例中,首先使用經(jīng)重建的在時(shí)間上及/或空間上相鄰的塊 中的像素預(yù)測(cè)圖像塊??山又鴮?duì)預(yù)測(cè)誤差(有時(shí)稱為"殘差")進(jìn)行變換及量化。舉例來(lái) 說(shuō),如果S為大小NxN的殘余塊,那么可如下使用矩陣乘法導(dǎo)出經(jīng)變換塊K:
[0105] K=A*S*B
[0106] 其中K、A及B也具有大小NxN。A為垂直變換矩陣,且B為水平變換矩陣。在一些 實(shí)施例中,A與B為彼此的轉(zhuǎn)置(例如,B=A',其中"意指轉(zhuǎn)置)。在其它實(shí)施例中, A及B不為彼此的轉(zhuǎn)置。當(dāng)A與B為彼此的轉(zhuǎn)置時(shí),先前方程式變?yōu)椋?br>[0107] K=A*S*A'
[0108] 每一變換(A及B)可包含多種變換中的任一者。在一些實(shí)施例中,變換包含離散 余弦變換(DCT)、離散正弦變換(DST)、哈達(dá)瑪(Hadamard)變換、哈爾(Haar)變換等中的一 者。
[0109] 幀內(nèi)BL樽式
[0110] 在可縮放譯碼中,存在稱為"幀內(nèi)BL模式"的用于增強(qiáng)層的特定譯碼模式。在幀 內(nèi)BL模式中,使用基礎(chǔ)層中的對(duì)應(yīng)(有時(shí)稱為"共置",例如位于相同空間位置處)塊的紋 理來(lái)預(yù)測(cè)增強(qiáng)層塊中的紋理。對(duì)應(yīng)或共置塊的一個(gè)說(shuō)明在圖7中加以說(shuō)明。第一塊702位 于較低等級(jí)層,例如基礎(chǔ)層704中。第二塊706位于基礎(chǔ)層704的增強(qiáng)層708中。第二塊 706 (有時(shí)稱為"當(dāng)前塊",或當(dāng)前正譯碼的塊)相對(duì)于基礎(chǔ)層塊702共置。如果增強(qiáng)層708 圖像具有比基礎(chǔ)層704圖像大或與基礎(chǔ)層704圖像不同的大小,那么可對(duì)基礎(chǔ)層704中的 塊702進(jìn)行上取樣??蓪?duì)預(yù)測(cè)誤差(例如,殘差)進(jìn)行變換、量化及熵編碼。
[0111] 奪換SVC殘差
[0112] 如上文所提及,可縮放視頻譯碼的殘差可歸因于層間預(yù)測(cè)(例如,歸因于按幀內(nèi) BL模式的預(yù)測(cè))而具有與非SVC譯碼相比不同的能量分布特性。SVC殘差更像是噪聲,且 能量可擴(kuò)散在整個(gè)或較大頻域上。如上文所提及,不同于非SVC視頻譯碼,通過(guò)SVC,有可能HF分量可具有比DC或LF分量多的能量。因此,用于常規(guī)非SVC視頻譯碼的傳統(tǒng)方法對(duì)于 可縮放視頻譯碼可能效果不佳。在實(shí)施SVC時(shí),變換基底調(diào)整可幫助改善壓縮效率。
[0113] 奪換矩陣調(diào)整
[0114] 在一個(gè)實(shí)施例中,自適應(yīng)地調(diào)整用于視頻譯碼的變換矩陣A。H為在調(diào)整之后的變 換矩陣。函數(shù)F用以定義調(diào)整過(guò)程。
[0115] H=F(A)
[0116] 實(shí)例 1 :
[0117] 舉例來(lái)說(shuō),調(diào)整可包含使整個(gè)基底函數(shù)翻轉(zhuǎn)(例如,反轉(zhuǎn)所有或一些變換基底的 次序)。
[0118] 實(shí)例La(垂直翻轉(zhuǎn),行調(diào)換)。A為4x4變換矩陣,如下:
[0119] A[4] [4]=
[0120] {{64,64,64,64},
[0121] {83, 36,-36,-83},
[0122] {64,-64,-64,64},
[0123] {36,-83,83,-36}}
[0124] 每一行是變換基底函數(shù)。第一(頂部)行是對(duì)應(yīng)于DC分量的變換基底。后續(xù)行 是用于較高頻率分量(以遞增次序,且最末(底部)行對(duì)應(yīng)于最高頻率分量)的變換基底。
[0125] 在此實(shí)施例中,F(xiàn)(A)為:
[0126] H[3-i] [j] =A[i] [j];i= 0, ? ? 3,j= 0, ? ? 3,
[0127] 且在調(diào)整之后的變換矩陣H變?yōu)椋?br>[0128] H[4] [4]=
[0129] {{36,-83,83,-36}
[0130] {64,-64,-64,64},
[0131] {83, 36,-36,-83},
[0132] {64,64,64,64}}
[0133] 實(shí)例Lb(水平翻轉(zhuǎn),基底元素調(diào)換):
[0134] 在此實(shí)施例中,F(xiàn)(A)為:
[0135] H[i] [3-j] =A[i] [j];i= 0, ? ? 3,j= 0, ? ? 3
[0136] 且在調(diào)整之后的變換矩陣H變?yōu)椋?br>[0137] H[4] [4]=
[0138] {{64,64,64,64},
[0139] {-83,-36, 36,83},
[0140] {64,-64,-64,64},
[0141] {-36,83,-83, 36}}
[0142] 實(shí)例2 :在此實(shí)施例中,H中的行i在A中為行il。
[0143] H[i] [j] =A[il] [j];i= 0, ? ? 3,j= 0, ? ? 3
[0144] 可使用函數(shù)G定義i與il之間的關(guān)系:
[0145] il=G(i)。
[0146] 實(shí)例3,在此實(shí)施例中,變換調(diào)整可僅應(yīng)用于變換基底的子組。舉例來(lái)說(shuō),對(duì)于一些 i值,例如i=G(i),這些變換基底在A及H兩者中處于相同位置。
[0147] 圖8說(shuō)明自適應(yīng)地調(diào)整(例如,在量化之前)用以變換殘余塊的變換矩陣的方法 的一個(gè)實(shí)施例。方法800開始于框802處。在框804處,獲得殘余塊信息。舉例來(lái)說(shuō),可使 用上文所描述的技術(shù)中的任一者確定殘差。在框806處,調(diào)整用以編碼或解碼殘余塊的變 換函數(shù)??筛鶕?jù)本文所述的技術(shù)中的任一者調(diào)整變換函數(shù)。舉例來(lái)說(shuō),可通過(guò)垂直翻轉(zhuǎn)、水 平翻轉(zhuǎn)、調(diào)換行、調(diào)換基底元素等來(lái)調(diào)整變換函數(shù)。變換還可包含反變換。
[0148] 在框808處,確定經(jīng)調(diào)整、經(jīng)變換的殘余塊。基于經(jīng)調(diào)整變換函數(shù)及殘余塊確定所 述經(jīng)調(diào)整、經(jīng)變換的殘余塊。舉例來(lái)說(shuō),經(jīng)調(diào)整、經(jīng)變換的殘余塊可稱為變換塊。方法800 在框810處結(jié)束。
[0149] 可通過(guò)本文所述的譯碼裝置中的任一者實(shí)施方法800。舉例來(lái)說(shuō),在一個(gè)實(shí)施例 中,圖2的編碼器20的變換處理單元52及/或反變換單元60經(jīng)配置以執(zhí)行方法500以編 碼視頻數(shù)據(jù)。在另一實(shí)施例中,圖3的解碼器30的反變換單元78經(jīng)配置以執(zhí)行方法800 以對(duì)經(jīng)編碼視頻位流進(jìn)行反變換。
[0150] 在另一實(shí)施例中,變換基底調(diào)整可應(yīng)用于第一變換(例如,水平變換)、第二變換 (例如,垂直變換),或兩者。水平變換與垂直變換(在調(diào)整之前)可各自為彼此的轉(zhuǎn)置,或 不為彼此的轉(zhuǎn)置。在一個(gè)實(shí)施例中,水平變換及垂直變換為離散正弦變換(DST)及其經(jīng)轉(zhuǎn) 置版本。在另一實(shí)施例中,水平變換為離散余弦變換(DCT),且垂直變換可為DST。
[0151] 在另一實(shí)施例中,可基于輔助信息或額外視頻信息自適應(yīng)地應(yīng)用變換基底調(diào)整。 舉例來(lái)說(shuō),可例如基于額外視頻信息(例如,輔助信息)自適應(yīng)地確定是否應(yīng)用變換調(diào)整及 /或如何應(yīng)用變換調(diào)整(例如,將如何實(shí)施FO及/或G())。
[0152] 輔助信息包含但不限于:⑶模式、⑶大小、TU大小、幀類型、幀大小、量化參數(shù) (QP)、時(shí)間層,等??苫谳o助信息自適應(yīng)地確定變換選擇,所述輔助信息例如但不限于:CU 大小、TU大小、幀類型、幀大小、QP、時(shí)間層、剖析出的殘差系數(shù)信息(例如,最末非零系數(shù)的 位置、非零系數(shù)的數(shù)目、系數(shù)的振幅,等)。
[0153] 舉例來(lái)說(shuō),在一個(gè)實(shí)施例中,僅對(duì)于幀內(nèi)BL模式啟用變換基底調(diào)整。在另一實(shí)施 例中,僅當(dāng)增強(qiáng)層QP與基礎(chǔ)層QP之間的差極接近(例如,所述差小于閾值)時(shí)才啟用變換 基底調(diào)整。舉例來(lái)說(shuō),在一個(gè)非限制性實(shí)施例中,QP差閾值設(shè)定為6。如果增強(qiáng)層QP與基 礎(chǔ)層QP之間的差等于或小于6,那么啟用變換基底調(diào)整。可使用其它QP差閾值。舉例來(lái) 說(shuō),在一個(gè)實(shí)施例中,QP差閾值在2到10的范圍內(nèi)。在另一實(shí)施例中,僅當(dāng)以上兩個(gè)條件 都被滿足時(shí)才啟用變換基底調(diào)整。
[0154] 在另一實(shí)施例中,是否及/或如何啟用變換基底調(diào)整還可基于對(duì)應(yīng)基礎(chǔ)層中的對(duì) 應(yīng)塊(例如,共置塊)中的信息,例如Blk_BL,等。舉例來(lái)說(shuō),是否及/或如何啟用變換基底 調(diào)整可基于像素特性,例如BlkBL的像素特性。像素特性可為例如但不限于紋理的方向、 像素的振幅、像素值的均值、像素值的方差、梯度方向/值(例如,Blk_BL的梯度方向/值) 等??商娲虺诉@些特性中的任何一或多者之外考慮其它特性。舉例來(lái)說(shuō),是否及/或 如何啟用變換基底調(diào)整可取決于在那一位置的基礎(chǔ)層處檢測(cè)到的殘差結(jié)構(gòu)、基礎(chǔ)層與預(yù)測(cè) 塊之間的差,等。
[0155] 是否或如何執(zhí)行變換基底調(diào)整的選擇還可基于譯碼模式(例如,Blk_BL的譯碼模 式),例如Blk_BL為幀內(nèi)還是幀間還是跳過(guò)模式、幀內(nèi)預(yù)測(cè),等。是否或如何執(zhí)行變換基底 調(diào)整的選擇還可通過(guò)在Blk_BL上測(cè)試調(diào)整方法(包含開/關(guān)決策)及選擇在Blk_BL處給 出最佳性能(例如,最佳能量壓縮特性)的調(diào)整方法而導(dǎo)出。
[0156] 在一個(gè)實(shí)施例中,函數(shù)(例如F()、GO等)或應(yīng)用于基底函數(shù)的調(diào)換可取決于在 當(dāng)前幀或先前幀中收集的統(tǒng)計(jì)數(shù)據(jù)。是否及/或如何啟用變換基底調(diào)整可由編碼器在序列 參數(shù)集(SPS)、圖片參數(shù)集(PPS)、切片標(biāo)頭或下層處用信號(hào)通知,例如針對(duì)每一最大譯碼 單元(LCU)、譯碼單元(CU)、預(yù)測(cè)單元(PU)或變換單元(TU)。信令可為所應(yīng)用的調(diào)換或相 對(duì)于先前變換的差。另外,在一些實(shí)施例中,待在變換系數(shù)譯碼階段應(yīng)用的掃描可取決于基 底函數(shù)。
[0157] 應(yīng)認(rèn)識(shí)到,取決于實(shí)例,本文中所描述的技術(shù)中的任一者的某些動(dòng)作或事件可用 不同順序執(zhí)行、可添加、合并或全部省略(例如,實(shí)踐所述技術(shù)并不需要所有的所描述動(dòng)作 或事件)。此外,在某些實(shí)施例中,可同時(shí)(例如,通過(guò)多線程處理、中斷處理或多個(gè)處理器) 而非順序地執(zhí)行動(dòng)作或事件。
[0158] 在一或多個(gè)實(shí)例中,所描述功能可以硬件、軟件、固件或其任何組合來(lái)實(shí)施。如果 用軟件實(shí)施,那么所述功能可作為一或多個(gè)指令或代碼在計(jì)算機(jī)可讀媒體上存儲(chǔ)或傳輸, 且由基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲(chǔ)媒體,其對(duì)應(yīng)于 有形媒體,例如數(shù)據(jù)存儲(chǔ)媒體,或包含任何促進(jìn)將計(jì)算機(jī)程序從一處傳送到另一處的媒體 (例如,根據(jù)通信協(xié)議)的通信媒體。以此方式,計(jì)算機(jī)可讀媒體大體上可對(duì)應(yīng)于(1)有形 計(jì)算機(jī)可讀存儲(chǔ)媒體,其是非暫時(shí)性的,或(2)通信媒體,例如信號(hào)或載波。數(shù)據(jù)存儲(chǔ)媒體 可為可由一或多個(gè)計(jì)算機(jī)或一或多個(gè)處理器存取以檢索用于實(shí)施本發(fā)明中所描述的技術(shù) 的指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可包含計(jì)算機(jī)可讀媒體。
[0159] 借助于實(shí)例而非限制,此類計(jì)算機(jī)可讀存儲(chǔ)媒體可包括RAM、ROM、EEPROM、CD-R