本公開涉及使用率失真成本作為深度學習的損失函數(shù)。
背景技術(shù):
1、數(shù)字視頻流可以使用一系列幀或靜止圖像來表示視頻。數(shù)字視頻可以用于各種應用,包括例如視頻會議、高清視頻娛樂、視頻廣告或用戶生成的視頻的共享。數(shù)字視頻流可以包含大量數(shù)據(jù)并且消耗計算設備的大量計算或通信資源來處理、傳輸或存儲視頻數(shù)據(jù)。已經(jīng)提出了各種方法來減少視頻流中的數(shù)據(jù)量,包括壓縮和其他編碼技術(shù)。
技術(shù)實現(xiàn)思路
1、所公開的實施方式的一個方面是使用第一編碼器對圖像塊進行編碼的方法。該方法包括將圖像塊呈現(xiàn)給第一編碼器的機器學習模型,其中,機器學習模型被訓練以輸出分割決策,用于通過使用多個訓練塊的訓練數(shù)據(jù)作為輸入對圖像塊進行編碼,以對包括機器學習模型的機器學習模塊進行訓練,對于多個訓練塊中的訓練塊,訓練數(shù)據(jù)包括由第二編碼器用于對訓練塊進行編碼的多個分割決策,并且對于多個分割決策中的每個分割決策,訓練數(shù)據(jù)包括從使用分割決策對訓練塊進行編碼而產(chǎn)生的率失真值。機器學習模型是使用損失函數(shù)來訓練的,該損失函數(shù)將以下的組合:基于分割決策與相應預測分割之間的關(guān)系的分割損失函數(shù)和基于率失真值與相應預測率失真值之間的關(guān)系的率失真成本損失函數(shù)。方法還包括從機器學習模型獲得用于對圖像塊進行編碼的分割決策,并且在壓縮比特流中使用分割決策對圖像塊進行編碼。
2、本文中所描述的另一方法包括將圖像塊呈現(xiàn)給第一編碼器的機器學習模型,其中,機器學習模型被訓練以輸出分割決策,用于用多個訓練塊的訓練數(shù)據(jù)以及損失函數(shù)對圖像塊進行編碼,對于多個訓練塊中的訓練塊,訓練數(shù)據(jù)包括由第二編碼器用于對訓練數(shù)據(jù)進行編碼的多個分割決策,并且對于多個分割決策中的每個分割決策,訓練數(shù)據(jù)包括從哪個使用分割決策對訓練塊進行編碼而產(chǎn)生的率失真值,該損失函數(shù)包括以下的組合:基于分割決策與相應預測分割之間的關(guān)系的分割損失函數(shù)和基于率失真值與相應預測率失真值之間的關(guān)系的率失真成本損失函數(shù)。方法還包括從機器學習模型獲得用于對圖像塊進行編碼的分割決策,并且在壓縮比特流中使用分割決策對圖像塊進行編碼。
3、根據(jù)本文中的技術(shù)的裝置包括處理器,該處理器配置為接收訓練數(shù)據(jù),該訓練數(shù)據(jù)包括多個訓練塊,并且對于多個訓練塊中的訓練塊,包括由編碼器用于對訓練塊進行編碼的多個分割決策,并且對于多個分割決策中的每個分割決策,包括從使用分割決策對訓練塊進行編碼而產(chǎn)生的率失真值。處理器配置為對機器學習模型進行訓練以輸出分割決策,用于使用損失函數(shù)通過將訓練數(shù)據(jù)輸入神經(jīng)網(wǎng)絡對圖像塊進行編碼,該損失函數(shù)包括以下的組合:基于分割決策與相應預測分割之間的關(guān)系的分割損失函數(shù)和基于率失真值與相應預測率失真值之間的關(guān)系的率失真成本損失函數(shù)。
4、另一方面是用于對圖像塊進行編碼的裝置。該裝置包括處理器,該處理器將圖像塊呈現(xiàn)給機器學習模型,從機器學習模型獲得用于對圖像塊進行編碼的分割決策,并且在壓縮比特流中使用分割決策對圖像塊進行編碼。機器學習模型被訓練以輸出分割決策,用于通過使用多個訓練塊的訓練數(shù)據(jù)作為輸入對圖像塊進行編碼,以對機器學習模型進行訓練,對于多個訓練塊中的訓練塊,訓練數(shù)據(jù)包括由編碼器用于對訓練塊進行編碼的多個分割決策,并且對于多個分割決策中的每個分割決策,訓練數(shù)據(jù)包括由于使用分割決策對訓練塊進行編碼而產(chǎn)生的率失真值,其中,機器學習模型是使用損失函數(shù)來訓練的,該損失函數(shù)將以下的組合:基于分割決策與相應預測分割之間的關(guān)系的分割損失函數(shù)和基于率失真值與相應預測率失真值之間的關(guān)系的率失真成本損失函數(shù)。
5、本文中所描述的另一裝置包括處理器,該處理器將圖像塊呈現(xiàn)給機器學習模型。機器學習模型被訓練以輸出分割決策,用于用多個訓練塊的訓練數(shù)據(jù)對圖像塊進行編碼,對于多個訓練塊中的訓練塊,訓練數(shù)據(jù)包括由編碼器用于對訓練塊進行編碼的多個分割決策,并且對于多個分割決策中的每個分割決策,訓練數(shù)據(jù)包括從使用分割決策對訓練塊進行編碼而產(chǎn)生的率失真值。機器學習模型也是用以下的組合來訓練的:基于分割決策與相應預測分割之間的關(guān)系的分割損失函數(shù)和基于率失真值與相應預測率失真值之間的關(guān)系的率失真成本損失函數(shù)。處理器還從機器學習模型獲得用于對圖像塊進行編碼的分割決策,并且在壓縮比特流中使用分割決策對圖像塊進行編碼。
6、另一方面是用于對圖像塊進行編碼的裝置,該裝置包括機器學習模型、編碼器和處理器。編碼器通過對多個訓練塊中的每個訓練塊進行多次編碼生成訓練數(shù)據(jù),每次使用多個分割決策中的對應分割決策對相應訓練塊進行編碼。處理器對機器學習模型進行訓練以輸出分割決策,用于通過使用訓練數(shù)據(jù)作為輸入對圖形塊進行編碼,以對機器訓練模型進行訓練,對于多個訓練塊中的訓練塊,訓練數(shù)據(jù)包括由編碼器用于對訓練塊進行編碼的多個分割決策,并且對于多個分割決策中的每個分割決策,訓練數(shù)據(jù)包括從使用分割決策對訓練塊進行編碼而產(chǎn)生的率失真值。機器學習模型是使用損失函數(shù)來訓練的,該損失函數(shù)將以下的組合:基于分割決策與相應預測分割之間的關(guān)系的分割損失函數(shù)和基于率失真值與相應預測率失真值之間的關(guān)系的率失真成本損失函數(shù)。
7、每個方面都可以可選地包括以下一個或多個特征。損失函數(shù)可以包括分割損失函數(shù)和率失真損失函數(shù)的不均勻加權(quán)。分割損失函數(shù)可以包括二進制交叉熵損失函數(shù)。二進制交叉熵損失函數(shù)可以將相應權(quán)重應用于分割決策,應用于多個分割決策中的分割決策的權(quán)重等于由于多個分割決策而產(chǎn)生的最低率失真值歸一化的分割決策的率失真值。率失真成本損失函數(shù)可以以指數(shù)方式處罰預測分割,該預測分割與從第二編碼器的窮舉分割搜索而產(chǎn)生的訓練塊的選擇分割決策不匹配。機器學習模塊可以包括率失真成本估計器,該率失真成本估計器接收來自機器學習模型的預測分割并且估計損失函數(shù)的預測率失真值,并且機器學習模型是卷積神經(jīng)網(wǎng)絡模型。對于多個分割決策中的每個分割決策,由于使用分割決策對訓練塊進行編碼而產(chǎn)生的率失真值可以包括用于在沒有進一步分割訓練塊的情況下對訓練塊進行編碼的率失真成本和分裂訓練塊時產(chǎn)生的成本。多個分割決策可以包括四叉樹分割決策。多個分割決策可以包括導致訓練塊的至少一個非方形分割的分割決策。第二編碼器可以包括基于塊的編碼器。對于多個分割決策中的每個分割決策,率失真成本損失函數(shù)可以是指數(shù)函數(shù),該指數(shù)函數(shù)包括由于使用分割決策對訓練塊進行編碼而產(chǎn)生的率失真值與預測率失真值之間的差異。對于多個分割決策中的每個分割決策,相應預測率失真值可以使用率失真成本損失函數(shù)中的多個分割決策的最低率失真值進行歸一化。率失真成本損失函數(shù)可以包括:使用多個分割決策中的分割決策對預測率失真值進行的確定以及由于使用多個分割決策中的分割決策對訓練塊進行編碼而產(chǎn)生的率失真值,其中,分割決策包括訓練塊的分裂決策和不分裂決策的組合,并且率失真值包括由于使用分裂決策和不分裂決策的組合對訓練塊進行編碼而產(chǎn)生的率失真值的組合。預測率失真值可以包括表示訓練塊的不分裂決策的率失真成本的第一項和表示將訓練塊分成多個子塊的訓練塊的分裂決策的率失真成本的第二項。將訓練塊分成多個子塊的訓練塊的分裂決策的率失真成本可以包括多個子塊中的每個子塊的分割決策的對應率失真成本;第一項的率失真成本可以由用于對訓練塊進行編碼的多個分割決策的最低率失真值進行加權(quán);以及第二項的率失真成本可以包括由用于對訓練塊進行編碼的多個分割決策的最低率失真值對用于對所述多個子塊中的每個子塊進行分割的相應率失真成本中的每一個進行加權(quán)。機器學習模型可以使用機器學習模塊來訓練,該機器學習模塊包括機器學習模型和率失真成本估計器,該率失真成本估計器接收來自機器學習模型的預測分割并且估計損失函數(shù)的預測率失真值。機器學習模型可以通過將比率失真成本損失函數(shù)大的權(quán)重應用于分割損失函數(shù)使用損失函數(shù)來訓練。機器學習模塊可以包括率失真成本估計器,該率失真成本估計器接收來自機器學習模型的預測分割并且估計損失函數(shù)的預測率失真值。
8、本公開的這些和其他方面是在實施例、所附權(quán)利要求和附圖的以下詳細描述中公開的。