本實施例中的至少一個一般涉及用于視頻編碼或解碼的方法或裝置,更具體地說,涉及對輸入數據張量應用低復雜度的基于神經網絡的處理以生成輸出數據張量的方法或裝置。
背景技術:
1、為了實現高壓縮效率,圖像和視頻編碼方案通常采用預測(包括運動矢量預測)和變換來利用視頻內容中的空間和時間冗余。通常,使用幀內或幀間預測來利用幀內或幀間相關性,然后對原始圖像和預測圖像之間的差異(通常表示為預測誤差或預測殘差)進行變換、量化和熵編碼。為了重構視頻,壓縮數據通過與熵編碼、量化、變換和預測對應的逆過程進行解碼。
2、最近探索的高壓縮技術新增包括基于神經網絡的處理。這種基于神經網絡的處理的缺點是處理可能不可復現、處理復雜(由于運算數量或運算本身的性質)、要存儲的數據量巨大。因此,有必要提供一種允許完全可復現的處理且優(yōu)化內存效率和計算能力的神經網絡的實現。因此,需要改進現有技術。
技術實現思路
1、通過本文描述的一般方面解決和克服了現有技術的缺點和不足。
2、根據第一方面,提供一種方法。該方法包括:獲得代表數據樣本的輸入數據張量;以及對輸入數據張量應用基于神經網絡的處理以生成輸出數據張量。根據特定特征,基于神經網絡的處理包括多個處理層,其中每個處理層生成中間張量。至少一個處理層被表示為輸入數據張量和權重張量之間的張量積,并且至少一個處理層被表示為偏置張量的加算。有利的是,張量(例如輸入數據張量、權重張量、偏置張量、中間張量和輸出數據張量)的量化表示中的任一者的縮放因子都使用2的冪。
3、根據另一方面,提供一種方法。該方法包括通過根據所公開的任一實施例對輸入數據張量應用基于神經網絡的處理以生成輸出數據張量來進行視頻解碼,其中輸入數據張量的數據樣本至少包括圖像塊樣本。
4、根據另一方面,提供一種方法。該方法包括通過根據所公開的任一實施例對輸入數據張量應用基于神經網絡的處理以生成輸出數據張量來進行視頻編碼,其中輸入數據張量的數據樣本至少包括圖像塊樣本。
5、根據另一方面,提供一種裝置。該裝置包括一個或多個處理器,其中該一個或多個處理器配置成實施根據其任一變體的用于視頻解碼的方法。根據另一方面,用于視頻解碼的裝置包括用于根據所公開的任一實施例對輸入數據張量應用基于神經網絡的處理以生成輸出數據張量的裝置。
6、根據另一方面,提供另一種裝置。該裝置包括一個或多個處理器,其中該一個或多個處理器配置成實施根據其任一變體的用于視頻編碼的方法。根據另一方面,用于視頻編碼的裝置包括用于根據所公開的任一實施例對輸入數據張量應用基于神經網絡的處理以生成輸出數據張量的裝置。
7、根據至少一個實施例的另一個一般方面,提供一種設備,其包括:根據任一解碼實施例的裝置;以及以下中的至少一者:(i)配置成接收信號的天線,該信號包括視頻塊;(ii)配置成將接收的信號限制到包括視頻塊的頻帶的頻帶限制器;或(iii)配置成顯示代表視頻塊的輸出的顯示器。
8、根據至少一個實施例的另一個一般方面,提供一種非暫時性計算機可讀介質,其包含根據所述編碼實施例或變體中的任一者生成的數據內容。
9、根據至少一個實施例的另一個一般方面,提供一種信號,其包含根據所述編碼實施例或變體中的任一者生成的視頻數據。
10、根據至少一個實施例的另一個一般方面,將比特流格式化以包含根據所述編碼實施例或變體中的任一者生成的數據內容。
11、根據至少一個實施例的另一個一般方面,提供一種計算機程序產品,其包括指令,其中該指令在由計算機執(zhí)行時使計算機執(zhí)行所述編碼/解碼實施例或變體中的任一者。
12、一般方面的這些和其它方面、特征和優(yōu)點將通過以下結合附圖閱讀的示例性實施例的詳細描述變得顯而易見。
1.一種計算機實施的方法,包括:
2.一種裝置,包括存儲器和一個或多個處理器,其中所述一個或多個處理器配置成:
3.根據權利要求1所述的方法或根據權利要求2所述的裝置,其中通過所述縮放因子的、根據2的冪進行的移位來獲得張量的量化表示。
4.根據權利要求1和3中任一項所述的方法或根據權利要求2和3中任一項所述的裝置,其中所述輸入數據張量的量化表示的偏移參數、所述權重張量的量化表示的偏移參數、所述偏置張量的量化表示的偏移參數、中間張量的量化表示的偏移參數以及所述輸出數據張量的量化表示的偏移參數等于零。
5.根據權利要求1、3和4中任一項所述的方法或根據權利要求2-4中任一項所述的裝置,其中表示所述偏置張量的加算的所述至少一個處理層與表示所述張量積的所述至少一個處理層融合。
6.根據權利要求5所述的方法或根據權利要求5所述的裝置,其中通過以下方式來獲得作為融合的張量積和偏置張量加算的結果的中間張量(t):
7.根據權利要求6所述的方法或根據權利要求6所述的裝置,其中在累加所述輸入數據張量的量化表示與所述權重張量的量化表示的部分乘積之和(∑xiwij)時使用至少2個中間變量以避免溢出。
8.根據權利要求5-7中任一項所述的方法或根據權利要求5-7中任一項所述的裝置,其中至少一個處理層包括激活層,所述激活層與表示融合的張量積和偏置張量加算的至少一個處理層融合。
9.根據權利要求8所述的方法或根據權利要求8所述的裝置,
10.一種計算機實施的方法,包括對圖像塊進行解碼,其中所述解碼包括根據權利要求1和3-9中任一項所述對輸入數據張量應用基于神經網絡的處理以生成輸出數據張量,并且其中所述數據樣本至少包括圖像塊樣本。
11.根據權利要求10所述的方法,其中所述數據樣本還包括與所述圖像塊相關的其它信息。
12.一種計算機實施的方法,包括對圖像塊進行編碼,其中所述編碼包括根據權利要求1、3-9中任一項所述對輸入數據張量應用基于神經網絡的處理以生成輸出數據張量,并且其中所述數據樣本至少包括圖像塊樣本。
13.根據權利要求12所述的方法,其中所述數據樣本還包括與所述圖像塊相關的其它信息。
14.一種裝置,包括存儲器和一個或多個處理器,其中所述一個或多個處理器配置成通過根據權利要求1和3-9中任一項所述對輸入數據張量應用基于神經網絡的處理以生成輸出數據張量來對圖像塊進行解碼,并且其中所述數據樣本至少包括圖像塊樣本。
15.一種裝置,包括存儲器和一個或多個處理器,其中所述一個或多個處理器配置成通過根據權利要求1和3-9中任一項所述對輸入數據張量應用基于神經網絡的處理來編碼圖像塊以生成輸出數據張量,并且其中所述數據樣本至少包括圖像塊樣本。
16.一種非暫時性程序存儲設備,所述非暫時性程序存儲設備可由計算機讀取,且有形地體現所述計算機可執(zhí)行的指令程序,所述指令程序用于執(zhí)行根據權利要求1和3-9中任一項所述的方法。
17.一種計算機實施的訓練方法,包括:
18.一種裝置,包括存儲器和一個或多個處理器,其中所述一個或多個處理器配置成:
19.一種根據權利要求17所述的方法進行訓練的經訓練的機器學習模型。