本公開涉及媒體編碼和解碼,包括圖像和視頻數(shù)據(jù)的編碼和解碼。
背景技術(shù):
1、數(shù)字媒體功能可以并入范圍廣泛的設(shè)備中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(pda)、膝上型或臺式計算機(jī)、平板計算機(jī)、電子書閱讀器、數(shù)字相機(jī)、數(shù)字錄音設(shè)備、數(shù)字媒體播放器、視頻游戲設(shè)備、視頻游戲終端、蜂窩或衛(wèi)星無線電電話、所謂的“智能電話”、視頻電話會議設(shè)備、視頻流式傳輸設(shè)備等。數(shù)字視頻設(shè)備采用視頻譯碼技術(shù),例如由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分定義的標(biāo)準(zhǔn)中描述的那些、高級視頻譯碼(avc)、itu-th.265/高效視頻譯碼(hevc)、itu-th.266/通用視頻譯碼(vvc)以及此類標(biāo)準(zhǔn)的擴(kuò)展,以及專有視頻編解碼器/格式,例如由開放媒體聯(lián)盟開發(fā)的aomedia?video1(av1)。視頻設(shè)備可以通過實施此類視頻譯碼技術(shù)更高效地發(fā)送、接收、編碼、解碼和/或存儲數(shù)字視頻信息。
技術(shù)實現(xiàn)思路
1、總的來說,本公開描述了用于媒體壓縮的技術(shù),包括用于視頻和/或圖像編碼和解碼的技術(shù)?;谏窠?jīng)網(wǎng)絡(luò)的媒體(例如,圖像和/或視頻)壓縮方法可以與當(dāng)前標(biāo)準(zhǔn)競爭并提供幾個額外的優(yōu)勢?;谏窠?jīng)的譯碼方法通常使用高精度浮點算術(shù)進(jìn)行設(shè)計和測試。然而,隨著技術(shù)走向?qū)嶋H部署,神經(jīng)網(wǎng)絡(luò)權(quán)重和激活函數(shù)通常被量化并用低精度整數(shù)表示,以改善速度和功耗。
2、本公開解決了當(dāng)與熵譯碼(entropy?coding)相關(guān)的神經(jīng)網(wǎng)絡(luò)變量被量化時出現(xiàn)的問題。神經(jīng)網(wǎng)絡(luò)變量對于基于神經(jīng)的視頻/圖像壓縮方案的設(shè)計很重要,因為這些變量定義了壓縮效率。此外,用于優(yōu)化神經(jīng)網(wǎng)絡(luò)量化的通用工具并未考慮熵譯碼變量的非常具體的屬性。測試表明,最壞的量化效果可能恰好發(fā)生在一些最常見的用例上,并且最壞的量化效果造成的損失無法通過重新訓(xùn)練神經(jīng)網(wǎng)絡(luò)來恢復(fù)。
3、本公開描述了用于優(yōu)化經(jīng)訓(xùn)練的熵譯碼變量的定義的技術(shù),使得對于有效熵譯碼最重要的信息在用低精度整數(shù)表示時得到最好的保存。測試還顯示了如何使用此處描述的技術(shù)來最小化熵譯碼所需的存儲器量。本公開描述了用于熵譯碼設(shè)計的一般方法,以及用于常用高斯分布的具體解決方案和實現(xiàn)方案。本公開的技術(shù)通??梢詰?yīng)用于任何基于神經(jīng)的壓縮技術(shù),但是下面描述的示例集中于用于圖像和視頻的技術(shù)。
4、在一個示例中,一種方法包括:確定通過基于神經(jīng)的媒體壓縮技術(shù)譯碼的數(shù)據(jù)流的數(shù)據(jù)元素的概率分布函數(shù)參數(shù),其中所述概率分布函數(shù)參數(shù)是所述數(shù)據(jù)流的概率分布函數(shù)的標(biāo)準(zhǔn)偏差的對數(shù)函數(shù);基于所述概率分布函數(shù)參數(shù)來確定碼向量(code?vector);以及使用所述碼向量對所述數(shù)據(jù)元素進(jìn)行熵譯碼。
5、在另一示例中,設(shè)備包括存儲器和與存儲器通信的一個或多個處理器,該一個或多個處理器被配置為:確定通過基于神經(jīng)的媒體壓縮技術(shù)譯碼的數(shù)據(jù)流的數(shù)據(jù)元素的概率分布函數(shù)參數(shù),其中所述概率分布函數(shù)參數(shù)是所述數(shù)據(jù)流的概率分布函數(shù)的標(biāo)準(zhǔn)偏差的對數(shù)函數(shù);基于所述概率分布函數(shù)參數(shù)來確定碼向量;以及使用所述碼向量對所述數(shù)據(jù)元素進(jìn)行熵譯碼。
6、在另一個示例中,計算機(jī)可讀存儲介質(zhì)編碼有指令,當(dāng)執(zhí)行這些指令時,使可編程處理器:確定通過基于神經(jīng)的媒體壓縮技術(shù)譯碼的數(shù)據(jù)流的數(shù)據(jù)元素的概率分布函數(shù)參數(shù),其中所述概率分布函數(shù)參數(shù)是所述數(shù)據(jù)流的概率分布函數(shù)的標(biāo)準(zhǔn)偏差的對數(shù)函數(shù);基于所述概率分布函數(shù)參數(shù)來確定碼向量;以及使用所述碼向量對所述數(shù)據(jù)元素進(jìn)行熵譯碼。
7、在附圖和下面的描述中闡述了一個或多個示例的細(xì)節(jié)。其他特征、目的和優(yōu)點將從描述、附圖和權(quán)利要求中顯而易見。
1.一種對媒體數(shù)據(jù)進(jìn)行譯碼的方法,所述方法包括:
2.如權(quán)利要求1所述的方法,還包括:
3.如權(quán)利要求1所述的方法,其中,確定所述碼向量包括:
4.如權(quán)利要求1所述的方法,其中,所述概率分布函數(shù)參數(shù)為v,所述概率分布函數(shù)的標(biāo)準(zhǔn)偏差為σ,最小標(biāo)準(zhǔn)偏差為σmin,最大標(biāo)準(zhǔn)偏差為σmax,并且其中,v被定義為:
5.如權(quán)利要求1所述的方法,還包括:
6.如權(quán)利要求5所述的方法,其中,使用所述基于神經(jīng)的壓縮技術(shù)來生成所述數(shù)據(jù)元素包括:
7.如權(quán)利要求1所述的方法,其中,使用所述碼向量對所述數(shù)據(jù)元素進(jìn)行熵譯碼包括:使用所述碼向量對編碼的數(shù)據(jù)元素進(jìn)行熵解碼以創(chuàng)建量化的數(shù)據(jù)元素,所述方法還包括:
8.如權(quán)利要求7所述的方法,還包括:
9.一種被配置為對媒體數(shù)據(jù)進(jìn)行譯碼的裝置,所述裝置包括:
10.如權(quán)利要求9所述的裝置,其中,所述一個或多個處理器還被配置為:
11.如權(quán)利要求9所述的裝置,其中,為了確定所述碼向量,所述一個或多個處理器還被配置為:
12.如權(quán)利要求9所述的裝置,其中,所述概率分布函數(shù)參數(shù)為v,所述概率分布函數(shù)的標(biāo)準(zhǔn)偏差為σ,最小標(biāo)準(zhǔn)偏差為σmin,最大標(biāo)準(zhǔn)偏差為σmax,并且其中,v被定義為:
13.如權(quán)利要求9所述的裝置,其中,所述一個或多個處理器還被配置為:
14.如權(quán)利要求13所述的裝置,其中,為了使用所述基于神經(jīng)的壓縮技術(shù)生成所述數(shù)據(jù)元素,所述一個或多個處理器還被配置為:
15.如權(quán)利要求14所述的裝置,還包括:
16.如權(quán)利要求9所述的裝置,其中,使用所述碼向量對所述數(shù)據(jù)元素進(jìn)行熵譯碼包括:使用所述碼向量對編碼的數(shù)據(jù)元素進(jìn)行熵解碼以創(chuàng)建量化的數(shù)據(jù)元素,并且其中,所述一個或多個處理器還被配置為:
17.如權(quán)利要求16所述的裝置,其中,所述一個或多個處理器還被配置為:
18.如權(quán)利要求17所述的裝置,還包括:
19.一種存儲指令的非暫時性計算機(jī)可讀存儲介質(zhì),所述指令在被執(zhí)行時使得一個或多個處理器:
20.如權(quán)利要求19所述的非暫時性計算機(jī)可讀存儲介質(zhì),其中,所述概率分布函數(shù)參數(shù)為v,所述概率分布函數(shù)的標(biāo)準(zhǔn)偏差為σ,最小標(biāo)準(zhǔn)偏差為σmin,最大標(biāo)準(zhǔn)偏差為σmax,并且其中,v被定義為: