用于視頻譯碼預(yù)測(cè)的存儲(chǔ)器減少的制作方法
【專利說(shuō)明】
[0001] 本申請(qǐng)案主張2013年3月29日申請(qǐng)的第61/806, 700號(hào)美國(guó)臨時(shí)申請(qǐng)案和2013 年4月4日申請(qǐng)的第61/808, 479號(hào)美國(guó)臨時(shí)申請(qǐng)案的權(quán)益,以上申請(qǐng)案中的每一者的整個(gè) 內(nèi)容以引入的方式并入本文中。
技術(shù)領(lǐng)域
[0002] 本發(fā)明涉及視頻譯碼,且更具體來(lái)說(shuō)涉及用于視頻譯碼的運(yùn)動(dòng)信息(例如,運(yùn)動(dòng) 向量)預(yù)測(cè)。
【背景技術(shù)】
[0003] 數(shù)字視頻能力可并入到廣泛范圍的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無(wú)線廣 播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、電子圖書閱讀器、數(shù)碼 相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式或衛(wèi)星無(wú)線 電電話(所謂的"智能電話")、視頻電話會(huì)議裝置、視頻串流裝置及其類似者。數(shù)字視頻裝 置實(shí)施視頻壓縮技術(shù),例如,由 MPEG-2、MPEG-4、ITU-T H. 263、ITU-T H. 264/MPEG-4 第 10 部 分高級(jí)視頻譯碼(AVC)定義的標(biāo)準(zhǔn)、目前正在開發(fā)的高效率視頻譯碼(HEVC)標(biāo)準(zhǔn)及此類標(biāo) 準(zhǔn)的擴(kuò)展中所描述的視頻壓縮技術(shù)。視頻裝置通過(guò)實(shí)施這些視頻壓縮技術(shù)可以更有效地發(fā) 射、接收、編碼、解碼及/或存儲(chǔ)數(shù)字視頻信息。
[0004] 視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測(cè)及/或時(shí)間(圖片間)預(yù)測(cè)來(lái)減少或去除 視頻序列中固有的冗余。對(duì)于基于塊的視頻譯碼,可以將視頻切片(即,視頻幀或視頻幀的 一部分)分割成視頻塊,視頻塊也可被稱作樹塊、譯碼單元(CU)及/或譯碼節(jié)點(diǎn)。圖片的 經(jīng)幀內(nèi)編碼(I)切片中的視頻塊是使用相對(duì)于同一圖片中的相鄰塊中的參考樣本的空間 預(yù)測(cè)來(lái)編碼。圖片的經(jīng)幀間譯碼(P或B)切片中的視頻塊可使用相對(duì)于同一圖片中的相鄰 塊中的參考樣本的空間預(yù)測(cè),或相對(duì)于其它參考圖片中的參考樣本的時(shí)間預(yù)測(cè)。圖片可稱 為幀,且參考圖片可稱為參考幀。
[0005] 空間或時(shí)間預(yù)測(cè)導(dǎo)致對(duì)塊的預(yù)測(cè)塊進(jìn)行譯碼。殘余數(shù)據(jù)表示待譯碼的原始?jí)K與預(yù) 測(cè)塊之間的像素差。經(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ù),接著可以將殘余變換系數(shù)量化。可掃描最初布置成二維陣列的經(jīng)量化變換系數(shù), 以便產(chǎn)生變換系數(shù)的一維向量,且可應(yīng)用熵譯碼以實(shí)現(xiàn)甚至更多壓縮。
【發(fā)明內(nèi)容】
[0006] -般來(lái)說(shuō),本發(fā)明描述用于視頻譯碼的存儲(chǔ)器帶寬減少的技術(shù)。確切地說(shuō),本發(fā)明 描述視頻譯碼器(例如,視頻編碼器或視頻解碼器)借以減少將從圖片緩沖器讀取的樣本 的數(shù)目以用于獲得用于視頻編碼的預(yù)測(cè)塊的技術(shù)。所述技術(shù)可具體來(lái)說(shuō)適用于使用視頻樣 本的非4:2:0色度格式的視頻譯碼。
[0007] 在一些實(shí)例中,所述技術(shù)可包含將對(duì)于雙向幀間預(yù)測(cè)或"雙向預(yù)測(cè)"的限制延伸到 額外視頻塊大小,或者延伸到給定視頻塊的少于全部分量。在此些實(shí)例中,視頻譯碼器可將 為了獲得視頻塊的預(yù)測(cè)符而接收的雙向運(yùn)動(dòng)向量轉(zhuǎn)換為單向運(yùn)動(dòng)向量。在一些實(shí)例中,所 述技術(shù)可包含以不同方式分割給定視頻塊的不同分量以使得例如視頻譯碼器可分裂明度 分量以得到額外壓縮效率,同時(shí)避免分裂至少一個(gè)色度分量以減少用于預(yù)測(cè)所需的像素樣 本的數(shù)目。在一些實(shí)例中,所述技術(shù)可包含用信號(hào)表示用于雙向預(yù)測(cè)的相應(yīng)運(yùn)動(dòng)向量的不 同參考圖片列表的不同分區(qū)大小。在一些實(shí)例中,所述技術(shù)可包含應(yīng)用對(duì)雙向預(yù)測(cè)的限制 的閾值,所述閾值基于例如視頻塊的區(qū)域、大小區(qū)域內(nèi)的塊的數(shù)目,或視頻塊高度和寬度的 總和值。根據(jù)以上技術(shù)中的任何一或多者操作的視頻譯碼器因此可具有相對(duì)于視頻譯碼標(biāo) 準(zhǔn)界定視頻譯碼器的硬件規(guī)范要求的減少的峰值存儲(chǔ)器帶寬,以及寬松的硬件規(guī)范要求的 減少的成本。
[0008] 在一個(gè)實(shí)例中,一種對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的方法,所述方法包括:獲得用于預(yù)測(cè)具 有非4:2:0色度格式的視頻塊的運(yùn)動(dòng)向量;確定所述視頻塊的視頻塊大??;在所述視頻塊 大小滿足大小準(zhǔn)則的情況下修改所述運(yùn)動(dòng)向量以產(chǎn)生經(jīng)修改運(yùn)動(dòng)向量以用于獲得將用來(lái) 預(yù)測(cè)所述視頻塊的至少一個(gè)參考圖片的樣本;以及使用所述至少一個(gè)參考圖片的所述樣本 和所述經(jīng)修改運(yùn)動(dòng)向量產(chǎn)生所述視頻塊的預(yù)測(cè)塊。
[0009] 在另一實(shí)例中,一種用于對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的設(shè)備包括經(jīng)配置以進(jìn)行以下操作 的視頻譯碼器:獲得用于預(yù)測(cè)具有非4:2:0色度格式的視頻塊的運(yùn)動(dòng)向量;確定所述視頻 塊的視頻塊大小;在所述視頻塊大小滿足大小準(zhǔn)則的情況下修改所述運(yùn)動(dòng)向量以產(chǎn)生經(jīng)修 改運(yùn)動(dòng)向量以用于獲得將用來(lái)預(yù)測(cè)所述視頻塊的至少一個(gè)參考圖片的樣本;以及使用所述 至少一個(gè)參考圖片的所述樣本和所述經(jīng)修改運(yùn)動(dòng)向量產(chǎn)生所述視頻塊的預(yù)測(cè)塊。
[0010] 在另一個(gè)實(shí)例中,一種用于對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的設(shè)備包括:用于獲得用于預(yù)測(cè) 具有非4:2:0色度格式的視頻塊的運(yùn)動(dòng)向量的裝置;用于確定所述視頻塊的視頻塊大小的 裝置;用于在所述視頻塊大小滿足大小準(zhǔn)則的情況下修改所述運(yùn)動(dòng)向量以產(chǎn)生經(jīng)修改運(yùn)動(dòng) 向量以用于獲得將用來(lái)預(yù)測(cè)所述視頻塊的至少一個(gè)參考圖片的樣本的裝置;以及用于使用 所述至少一個(gè)參考圖片的所述樣本和所述經(jīng)修改運(yùn)動(dòng)向量產(chǎn)生所述視頻塊的預(yù)測(cè)塊的裝 置。
[0011] 在另一個(gè)實(shí)例中,一種計(jì)算機(jī)可讀存儲(chǔ)媒體具有存儲(chǔ)于其上的指令,所述指令當(dāng) 執(zhí)行時(shí)致使用于對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的設(shè)備的一或多個(gè)處理器進(jìn)行以下操作:獲得用于預(yù) 測(cè)具有非4:2:0色度格式的視頻塊的運(yùn)動(dòng)向量;確定所述視頻塊的視頻塊大??;在所述視 頻塊大小滿足大小準(zhǔn)則的情況下修改所述運(yùn)動(dòng)向量以產(chǎn)生經(jīng)修改運(yùn)動(dòng)向量以用于獲得將 用來(lái)預(yù)測(cè)所述視頻塊的至少一個(gè)參考圖片的樣本;以及使用所述至少一個(gè)參考圖片的所述 樣本和所述經(jīng)修改運(yùn)動(dòng)向量產(chǎn)生所述視頻塊的預(yù)測(cè)塊。
[0012] -或多個(gè)實(shí)例的細(xì)節(jié)陳述于隨附圖式及以下描述中。其它特征、目標(biāo)和優(yōu)勢(shì)將從 所述描述和圖式以及從權(quán)利要求書而顯而易見。
【附圖說(shuō)明】
[0013] 圖1為說(shuō)明可利用本發(fā)明中描述的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)的框圖。
[0014] 圖2是說(shuō)明實(shí)例視頻塊以及用于構(gòu)造實(shí)例視頻塊的運(yùn)動(dòng)向量信息的代表性空間 和時(shí)間相鄰塊的概念圖。
[0015] 圖3為說(shuō)明可實(shí)施本發(fā)明中描述的技術(shù)的實(shí)例視頻編碼器的框圖。
[0016] 圖4是說(shuō)明可實(shí)施本發(fā)明中描述的技術(shù)的實(shí)例視頻解碼器的框圖。
[0017] 圖5是說(shuō)明根據(jù)本文所描述的用于存儲(chǔ)器帶寬減少的技術(shù)以不同方式分割視頻 塊的不同分量的實(shí)例方法的流程圖。
[0018] 圖6是說(shuō)明根據(jù)本文所描述的用于存儲(chǔ)器帶寬減少的技術(shù)以不同方式分割用于 視頻塊的至少一個(gè)分量的雙向預(yù)測(cè)的參考列表的預(yù)測(cè)塊的實(shí)例方法的流程圖。
[0019] 圖7是說(shuō)明根據(jù)本文所描述的用于存儲(chǔ)器帶寬減少的技術(shù)以不同方式分割用于 視頻塊的至少一個(gè)分量的雙向預(yù)測(cè)的參考列表的預(yù)測(cè)塊的實(shí)例方法的流程圖。
[0020] 圖8是說(shuō)明根據(jù)本文所描述的用于存儲(chǔ)器帶寬減少的技術(shù)以不同方式分割用于 視頻塊的至少一個(gè)分量的雙向預(yù)測(cè)的參考列表的預(yù)測(cè)塊的實(shí)例方法的流程圖。
[0021] 圖9是說(shuō)明根據(jù)本文所描述的用于存儲(chǔ)器帶寬減少的技術(shù)以不同方式分割用于 視頻塊的至少一個(gè)分量的雙向預(yù)測(cè)的參考列表的預(yù)測(cè)塊的實(shí)例方法的流程圖。
[0022] 圖10是說(shuō)明根據(jù)本文所描述的用于存儲(chǔ)器帶寬減少的技術(shù)以不同方式分割用于 視頻塊的至少一個(gè)分量的雙向預(yù)測(cè)的參考列表的預(yù)測(cè)塊的實(shí)例方法的流程圖。
[0023] 圖11是說(shuō)明用于分量?jī)?nèi)插的實(shí)例整數(shù)和分?jǐn)?shù)樣本位置矩陣的框圖。
[0024] 相同的參考標(biāo)號(hào)貫穿文字和圖式表示相同的元件。
【具體實(shí)施方式】
[0025] 如上文所論述,視頻壓縮技術(shù)包含相對(duì)于另一圖片中的另一塊中的參考樣本對(duì)視 頻數(shù)據(jù)塊(即,視頻塊)的時(shí)間(圖片間)預(yù)測(cè)。經(jīng)幀間譯碼塊是根據(jù)運(yùn)動(dòng)信息(例如,指 向形成另一圖片中的預(yù)測(cè)塊的參考樣本的塊的運(yùn)動(dòng)向量)而被譯碼。在一些實(shí)例中,為了 實(shí)現(xiàn)進(jìn)一步位流效率,視頻塊的運(yùn)動(dòng)信息(例如,運(yùn)動(dòng)向量、預(yù)測(cè)方向和參考圖片索引值) 自身可使用運(yùn)動(dòng)信息預(yù)測(cè)技術(shù)而預(yù)測(cè),所述技術(shù)有時(shí)稱為運(yùn)動(dòng)向量預(yù)測(cè)(MVP)技術(shù)。
[0026] 根據(jù)此類運(yùn)動(dòng)信息預(yù)測(cè)技術(shù),視頻譯碼器可從參考?jí)K導(dǎo)出當(dāng)前視頻塊的運(yùn)動(dòng)向量 和/或其它運(yùn)動(dòng)信息??蓮钠鋵?dǎo)出運(yùn)動(dòng)信息的參考?jí)K大體上包含多個(gè)預(yù)定義空間相鄰塊, 以及來(lái)自一或多個(gè)不同(例如,時(shí)間上)圖片的一或多個(gè)位于同一地點(diǎn)或相鄰的塊。視頻 譯碼器(例如,視頻編碼器或視頻解碼器)可構(gòu)造運(yùn)動(dòng)信息候選列表,也被稱作候選者列表 或候選集合,其包含空間和時(shí)間相鄰塊的運(yùn)動(dòng)信息作為用于對(duì)視頻塊進(jìn)行譯碼的候選運(yùn)動(dòng) 信息。視頻譯碼器可將索引編碼或解碼到候選列表中以識(shí)別用于譯碼所述視頻塊的所選擇 的運(yùn)動(dòng)信息候選者。
[0027] 用于高效率視頻譯碼(HEVC)(也被稱作H. 265或IS0/IEC 23008-HEVC)的運(yùn)動(dòng)信 息預(yù)測(cè)模式包含合并模式和高級(jí)運(yùn)動(dòng)向量預(yù)測(cè)(AMVP)模式。對(duì)于兩種模式,視頻譯碼器 (例如,視頻編碼器或視頻解碼器)可基于空間和時(shí)間相鄰塊的運(yùn)動(dòng)信息構(gòu)造運(yùn)動(dòng)信息候 選者的列表。另外,視頻譯碼器可使用子樣本精度用于運(yùn)動(dòng)向量。對(duì)于根據(jù)例如HEVC獲得 的明度塊,視頻譯碼器可使用具有用于內(nèi)插分?jǐn)?shù)樣本位置的7分接頭(用于四分之一樣本 位置)或8分接頭濾波器(用于二分之一樣本位置)的四分之一樣本精度,即,明度樣本之 間的距離的四分之一。
[0028] 對(duì)于相對(duì)于4:2:0色度格式對(duì)大量色度像素進(jìn)行取樣的非4:2:0取樣格式,內(nèi)插 用于色度分量中的每一者的大量色度像素以便預(yù)測(cè)色度塊可顯著增加視頻譯碼器的存儲(chǔ) 器帶寬。存儲(chǔ)器帶寬指代數(shù)據(jù)從計(jì)算機(jī)可讀存儲(chǔ)媒體讀取或?qū)懭氲接?jì)算機(jī)可讀存儲(chǔ)媒體的 數(shù)據(jù)速率。因此,增加存儲(chǔ)器帶寬可指代增加從此媒體讀取的數(shù)據(jù)或?qū)Υ嗣襟w寫入的數(shù)據(jù) 的速率,且可導(dǎo)致由于針對(duì)用于非4:2:0取樣的內(nèi)插所需的額外數(shù)目的色度像素而來(lái)自更 多數(shù)據(jù)負(fù)載的此情境。這可能增加視頻譯碼器的硬件成本以便滿足非4:2:0的規(guī)范,這在 一些使用情況中是不可接受的。舉例來(lái)說(shuō),較高需要的存儲(chǔ)器帶寬可需要較大總線、較大存 儲(chǔ)器、較快總線、較快存儲(chǔ)器或這些改進(jìn)的某種組合以用于滿足較高需要的存儲(chǔ)器帶寬的 規(guī)范。
[0029] 在根據(jù)本發(fā)明的技術(shù)的實(shí)例中,視頻譯碼器可針對(duì)額外情況限制用于非4:2:0格 式的視頻譯碼中的雙向預(yù)測(cè)模式的使用。舉例來(lái)說(shuō),如果色度格式是4:2:2或4:4:4,那么 視頻譯碼器可將帶寬減少操作延伸到較大大小的塊。因此,例如除限制4x8和8x4塊的雙 向預(yù)測(cè)之外,視頻譯碼器還可檢測(cè)或經(jīng)配置以對(duì)非4:2:0格式進(jìn)行編碼并且因此另外限制 用于任何一或多個(gè)較大塊分區(qū)大小的雙向預(yù)測(cè),例如8x8塊、8x16/16x8塊等。視頻譯碼器 可因此將此塊的雙向運(yùn)動(dòng)向量(再次,當(dāng)視頻譯碼器應(yīng)用擴(kuò)展限制時(shí))轉(zhuǎn)換為單向運(yùn)動(dòng)向 量。視頻譯碼器可使用上述用于合并模式或AMVP的轉(zhuǎn)換技術(shù)中的一者將雙向運(yùn)動(dòng)向量轉(zhuǎn) 換為單向運(yùn)動(dòng)向量。
[0030] 在如本文中所描述限制用于非4:2:0格式的視頻譯碼中的雙向預(yù)測(cè)模式的使用 的視頻譯碼器的一些實(shí)例中,視頻譯碼器可除根據(jù)HEVC標(biāo)準(zhǔn)限制用于4x8和8x4塊的雙向 預(yù)測(cè)之外或替代于根據(jù)HEVC標(biāo)準(zhǔn)限制用于4x8和8x4塊的雙向預(yù)測(cè),還根據(jù)分量的類型限 制用于較大大小的塊的雙向預(yù)測(cè)。對(duì)于例如以非4:2:0格式編碼的8x8塊,視頻譯碼器可 限制用于色度分量中的至少一者的雙向預(yù)測(cè),同時(shí)允許用于明度分量的雙向預(yù)測(cè)。因此,視 頻譯碼器可將用于此些分量的雙向運(yùn)動(dòng)向量(再次,當(dāng)視頻應(yīng)用此擴(kuò)展的每分量限制時(shí)) 轉(zhuǎn)換為單向運(yùn)動(dòng)向量。因?yàn)閿U(kuò)展帶寬減少限制對(duì)總譯碼效率具有不等的影響,所以將此限 制應(yīng)用于色度分量可對(duì)將限制應(yīng)用于明度分量的總譯碼性能具有較少影響,同時(shí)仍潛在地 獲得用于視頻譯碼過(guò)程的所需存儲(chǔ)器帶寬的減少。
[0031] 圖1為說(shuō)明可利用本發(fā)明中所描述的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)10的框圖。 如圖1中所展示,系統(tǒng)10包含源裝置12,其產(chǎn)生稍后時(shí)間待由目的地裝置14解碼的經(jīng)編碼 視頻數(shù)據(jù)。源裝置12和目的地裝置14可包括廣泛范圍的裝置中的任一者,包含桌上型計(jì) 算機(jī)、筆記型(即,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、電話手持機(jī)(例如所謂的"智能" 電話)、所謂的"智能"平板計(jì)算機(jī)、電視機(jī)、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制 臺(tái)、視頻流式傳輸裝置或類似者。在一些情況下,可裝備源裝置12和目的地裝置14以用于 無(wú)線通信。
[0032] 目的地裝置14可經(jīng)由鏈路16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。鏈路16可包括能 夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的任何類型媒體或裝置。在一個(gè)實(shí) 例中,鏈路16可包括使得源裝置12能夠?qū)崟r(shí)地將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置 14的通信媒體。經(jīng)編碼視頻數(shù)據(jù)可根據(jù)通信標(biāo)準(zhǔn)(例如,無(wú)線通信協(xié)議)來(lái)調(diào)制,且被發(fā)射 到目的地裝置14。通信媒體可包括任何無(wú)線或有線通信媒體,例如射頻(RF)頻譜或一或 多個(gè)物理發(fā)射線。通信媒體可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò),例如 因特網(wǎng))的部分。通信媒體可包含路由器、交換器、基站或任何其它可以用于促進(jìn)從源裝置 12到目的地裝置14的通信的設(shè)備。
[0033] 替代地,可將經(jīng)編碼數(shù)據(jù)從輸出接口 22輸出到存儲(chǔ)裝置36。類似地,可由目的地 裝置14的輸入接口 28從存儲(chǔ)裝置36存取經(jīng)編碼數(shù)據(jù)。存儲(chǔ)裝置36可包含多種分布式或 本地存取的數(shù)據(jù)存儲(chǔ)媒體中的任一者,例如硬盤驅(qū)動(dòng)器、藍(lán)光光盤、DVD、CD-ROM、快閃存儲(chǔ) 器、易失性或非易失性存儲(chǔ)器或任何其它用于存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)的適當(dāng)數(shù)字存儲(chǔ)媒體。 在另一實(shí)例中,存儲(chǔ)裝置36可對(duì)應(yīng)于文件服務(wù)器或可保持由源裝置12產(chǎn)生的經(jīng)編碼視頻 的另一中間存儲(chǔ)裝置。目的地裝置14可經(jīng)由流式傳輸或下載從存儲(chǔ)裝置36存取所存儲(chǔ)的 視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲(chǔ)經(jīng)編碼視頻