IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7568349置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム
<>
  • 特許-置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム 図1
  • 特許-置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム 図2
  • 特許-置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム 図3
  • 特許-置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム 図4
  • 特許-置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム 図5
  • 特許-置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム 図6
  • 特許-置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム 図7
  • 特許-置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】置換ニューラル残差圧縮の方法、装置およびコンピュータプログラム
(51)【国際特許分類】
   H04N 19/105 20140101AFI20241008BHJP
   H04N 19/157 20140101ALI20241008BHJP
   H04N 19/176 20140101ALI20241008BHJP
【FI】
H04N19/105
H04N19/157
H04N19/176
【請求項の数】 9
(21)【出願番号】P 2022530862
(86)(22)【出願日】2021-05-27
(65)【公表番号】
(43)【公表日】2023-03-10
(86)【国際出願番号】 US2021034472
(87)【国際公開番号】W WO2022015422
(87)【国際公開日】2022-01-20
【審査請求日】2022-06-28
(31)【優先権主張番号】63/052,242
(32)【優先日】2020-07-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/236,108
(32)【優先日】2021-04-21
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャン,ウェイ
(72)【発明者】
【氏名】ワン,ウエイ
(72)【発明者】
【氏名】リィウ,シャン
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】国際公開第2019/102889(WO,A1)
【文献】特開平10-164597(JP,A)
【文献】米国特許第5491776(US,A)
【文献】国際公開第2019/093234(WO,A1)
【文献】特表2001-518247(JP,A)
【文献】特表2017-508344(JP,A)
【文献】AGUSTSSON, Eirikur et al.,Scale-Space Flow for End-to-End Optimized Video Compression,Proc. IEEE/CVF Conference on Computer Vision and Pattern Recognition 2020,米国,IEEE,2020年06月19日,pp.8500-8509,[online],[retrieved on 2023-07-07],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/9157366>
【文献】DJELOUAH, Abdelaziz et al.,Neural Inter-Frame Compression for Video Coding,Proc. IEEE/CVF International Conference on Computer Vision 2019,KR,IEEE,2019年11月02日,pp.6420-6428,[online],[retrieved on 2023-07-07],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/9009574>
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサが実行する置換ニューラル残差圧縮方法であって、
現在の画像フレームおよび以前の再構成された画像フレームに基づいて、動きベクトルを推定するステップと、
前記推定された動きベクトルおよび前記以前の再構成された画像フレームに基づいて、予測される画像フレームを取得するステップと、
取得された前記予測される画像フレームを前記現在の画像フレームから減算することで、残差を取得するステップと、
第1ニューラルネットワークを使用して、取得された前記残差を変換することで、符号化された表現を取得するステップと、
前記符号化された表現を量子化することで、量子化された表現を取得するステップと、
前記量子化された表現を逆量子化することで、逆量子化された表現を取得するステップと、
第2ニューラルネットワークを使用して、前記逆量子化された表現を逆変換することで、復元される残差を取得するステップと、
前記取得された復元される残差を取得された前記予測される画像フレームに加算することで、再構成された画像フレームを取得するステップと、を含み、
当該方法は、 取得された前記復元される残差及び取得された前記残差に基づいて、歪み損失を決定し、
前記量子化された表現に基づいて、レート損失を決定し、
決定された前記歪み損失、決定された前記レート損失およびハイパーパラメータに基づいて、レート歪み損失勾配を決定し、
前記決定されたレート歪み損失の勾配を減少させることによって逆伝播により取得された前記残差を置き換えるため置換残差を更新することによって、
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークを訓練するステップをさらに含み
前記ハイパーパラメータは、前記量子化された表現のターゲットビットレートに基づいて設定される、
ことを特徴とする方法。
【請求項2】
前記歪み損失は、前記量子化された表現のターゲットメトリックのタイプに基づいて設定された関数に基づいて決定される、
ことを特徴とする請求項1に記載の方法。
【請求項3】
動きベクトルを推定する前記ステップと、予測される画像フレームを取得する前記ステップと、残差を取得する前記ステップと、符号化された表現を取得する前記ステップと、符号化された表現を量子化する前記ステップとは、前記プロセッサにおける符号化プロセッサによって実行される、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記プロセッサにおける復号プロセッサによって、前記量子化された表現を逆量子化することで、逆量子化された表現を取得するステップと、
前記復号プロセッサによって、第2ニューラルネットワークを使用して、前記逆量子化された表現を逆変換することで、復元される残差を取得するステップと、
前記復号プロセッサによって、前記推定された動きベクトルおよび前記以前の再構成された画像フレームに基づいて、前記予測される画像フレームを取得するステップと、
前記復号プロセッサによって、取得された前記復元される残差を、取得された前記予測される画像フレームに加算することで、再構成される画像フレームを取得するステップと、をさらに含む、
ことを特徴とする請求項に記載の方法。
【請求項5】
置換ニューラル残差圧縮装置であって、
前記装置は、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードの指示に従って動作するように構成された少なくとも1つのプロセッサと、を含み、
前記プログラムコードは、
前記少なくとも1つのプロセッサに、現在の画像フレームおよび以前の再構成された画像フレームに基づいて、動きベクトルを推定させるように構成された推定コードと、
前記少なくとも1つのプロセッサに、前記推定された動きベクトルおよび前記以前の再構成された画像フレームに基づいて、予測される画像フレームを取得させるように構成された第1取得コードと、
前記少なくとも1つのプロセッサに、取得された前記予測される画像フレームを前記現在の画像フレームから減算することで、残差を取得させるように構成された減算コードと、
前記少なくとも1つのプロセッサに、第1ニューラルネットワークを使用して、取得された前記残差を変換することで、符号化された表現を取得させるように構成された符号化コードと、
前記少なくとも1つのプロセッサに、前記符号化された表現を量子化させることで、量子化された表現を取得するように構成された量子化コードと、
前記少なくとも1つのプロセッサに、前記量子化された表現を逆量子化することで、逆量子化された表現を取得させるように構成された逆量子化コードと、
前記少なくとも1つのプロセッサに、第2ニューラルネットワークを使用して、前記逆量子化された表現を逆変換することで、復元される残差を取得させるように構成された復号コードと、
前記少なくとも1つのプロセッサに、前記取得された復元される残差を、取得された前記予測される画像フレームに加算することで、再構成された画像フレームを取得させるように構成された加算コードと、を含み、
前記プログラムコードは、
取得された前記復元される残差及び取得された前記残差に基づいて、歪み損失を決定し、
前記量子化された表現に基づいて、レート損失を決定し、
決定された前記歪み損失、決定された前記レート損失およびハイパーパラメータに基づいて、レート歪み損失勾配を決定し、
前記決定されたレート歪み損失の勾配を減少させることによって逆伝播により取得された前記残差を置き換えるため置換残差を更新することによって、
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークを訓練する訓練コードをさらに含み
前記ハイパーパラメータは、前記量子化された表現のターゲットビットレートに基づいて設定される、
ことを特徴とする装置。
【請求項6】
前記歪み損失は、前記量子化された表現のターゲットメトリックのタイプに基づいて設定された関数に基づいて決定される、
ことを特徴とする請求項に記載の装置。
【請求項7】
前記推定コード、前記第1取得コード、前記減算コード、前記符号化コードおよび前記量子化コードは、前記プロセッサにおける符号化プロセッサに、機能を実行させるように構成される、
ことを特徴とする請求項に記載の装置。
【請求項8】
前記プログラムコードは、さらに、
前記プロセッサにおける復号プロセッサに、前記量子化された表現を逆量子化することで、逆量子化された表現を取得させるように構成された逆量子化コードと、
前記復号プロセッサに、第2ニューラルネットワークを使用して、前記逆量子化された表現を逆変換することで、復元される残差を取得させるように構成された復号コードと、
前記復号プロセッサに、前記推定された動きベクトルおよび前記以前の再構成された画像フレームに基づいて、前記予測される画像フレームを取得させるように構成された第2取得コードと、
前記復号プロセッサに、取得された前記復元される残差を、取得された前記予測される画像フレームに加算することで、再構成される画像フレームを取得させるように構成された加算コードと、をさらに含む、
ことを特徴とする請求項に記載の装置。
【請求項9】
コンピュータプログラムであって、
前記コンピュータプログラムが、前記コンピュータプログラムが記憶されているメモリと、プロセッサとを含むコンピュータデバイスによって実行されるとき、前記請求項1~のいずれか1項に記載の方法を実現させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本願は、2020年7月15日に出願された米国仮特許出願第63/052,242号、および2021年4月21日に出願された米国特許出願第17/236,108号に基づいており、またそれらの優先権を主張しており、それらの開示は、それらの全体が参照により本明細書に組み込まれる。
【0002】
本願は、ビデオコーデックに関し、特に、置換ニューラル残差圧縮のための方法、装置およびコンピュータプログラムに関する。
【背景技術】
【0003】
例えばH.264/高度なビデオコーディング(H.264/AVC)、高効率ビデオコーディング(HEVC:High-Efficiency Video Coding)、および多用途ビデオコーディング(VVC:Versatile Video Coding)のようなビデオコーディング規格は、同様な(再帰的)ブロックベースのハイブリッド予測/変換フレームワークを共有し、このフレームワークでは、フレーム内/フレーム間予測、整数変換、およびコンテキスト適応エントロピーコーディングのような個別のコーディングツールは、全体的な効率を最適化するために集中的に設計されるものである。時空間画素近傍(Spatiotemporal pixel neighborhood)は、予測信号構築のために活用され、後続の変換、量子化およびエントロピーコーディングのために、対応する残差を取得する。
【0004】
他方で、ディープニューラルネットワーク(DNN:Deep Neural Networks)の本質は、隣接する画素の受容野(receptive field)からの時空間情報を分析することによって異なるレベルの時空間的知覚(spatiotemporal stimuli)を抽出する、ということである。この高度な非線形性および非局所的な時空相関性を探索する能力は、圧縮の品質を大幅に向上させるために有望な機会を提供する。
【発明の概要】
【0005】
実施形態によれば、置換ニューラル残差圧縮の方法は、少なくとも一つのプロセッサによって実行され、また、現在の画像フレームおよび以前の再構成された画像フレームに基づいて、動きベクトルを推定するステップと、推定された動きベクトルおよび以前の再構成された画像フレームに基づいて、予測される画像フレームを取得するステップと、取得された予測される画像フレームを現在の画像フレームから減算することで、置換残差を取得するステップと、を含む。この方法は、さらに、第1ニューラルネットワークを使用して、取得された前記置換残差を符号化することで、符号化された表現を取得するステップと、符号化された表現を圧縮するステップと、を含む。
【0006】
実施形態によれば、置換ニューラル残差圧縮のための装置は、プログラムコードを記憶するように構成された少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードの指示に従って動作するように構成された少なくとも1つのプロセッサと、を含み、当該プログラムコードは、少なくとも1つのプロセッサに、現在の画像フレームおよび以前の再構成された画像フレームに基づいて、動きベクトルを推定させるように構成された推定コードと、少なくとも1つのプロセッサに、推定された動きベクトルおよび以前の再構成された画像フレームに基づいて、予測される画像フレームを取得させるように構成された第1取得コードと、少なくとも1つのプロセッサに、取得された予測される画像フレームを現在の画像フレームから減算することで、置換残差を取得させるように構成された減算コードと、を含む。当該プログラムコードは、さらに、少なくとも1つのプロセッサに、第1ニューラルネットワークを使用して、取得された置換残差を符号化することで、符号化された表現を取得させるように構成された符号化コードと、少なくとも1つのプロセッサに、符号化された表現を圧縮させるように構成された圧縮コードと、を含む。
【0007】
実施形態によれば、命令が記憶されている非一時的なコンピュータ読み取り可能な媒体であって、当該命令は、置換ニューラル残差圧縮のために少なくとも1つのプロセッサによって実行されるとき、少なくとも1つのプロセッサに、現在の画像フレームおよび以前の再構成された画像フレームに基づいて動きベクトルを推定するステップと、推定された動きベクトルおよび以前の再構成された画像フレームに基づいて、予測される画像フレームを取得するステップと、取得された予測される画像フレームを前記現在の画像フレームから減算することで、置換残差を取得するステップと、第1ニューラルネットワークを使用して、取得された置換残差を符号化することで、符号化された表現を取得するステップと、符号化された表現を圧縮するステップと、を実行させる。
【図面の簡単な説明】
【0008】
図1】実施形態による、本明細書に記載の方法、装置およびシステムが実施され得る環境の図である。
図2図1の1つまたは複数のデバイスの例示的な構成要素のブロック図である。
図3】実施形態による、訓練段階中の置換ニューラル残差圧縮のための訓練装置のブロック図である。
図4】実施形態による、試験段階中の置換ニューラル残差圧縮のための試験装置のブロック図である。
図5】実施形態による、置換ニューラル残差圧縮の方法のフローチャートである。
図6】実施形態による、置換ニューラル残差圧縮の方法のフローチャートである。
図7】実施形態による、置換ニューラル残差圧縮のための装置のブロック図である。
図8】実施形態による、置換ニューラル残差圧縮のための装置のブロック図である。
【発明を実施するための形態】
【0009】
本開示は、DNNベースの残差圧縮を使用するビデオコーディングフレームワークにおける置換残差を学習することにより、入力ビデオを圧縮するための方法および装置に関する。学習された置換残差は、元の残差に対して視覚的に類似しているが、よりよく圧縮されることによって、元の残差の優れた変更である。さらに、本明細書の方法および装置は、DNNベースの残差圧縮におけるビットレートを制御する場合の柔軟性を提供する。
【0010】
ビデオ圧縮フレームワークは、以下のように説明され得る。入力ビデオxには、画像フレーム
【0011】
【数1】
が含まれる。第1の動き推定ステップでは、画像フレームは、空間ブロック(例えば、8×8正方形)に分割され、現在の画像フレーム
【0012】
【数2】
と以前の再構成された画像フレーム
【0013】
【数3】
【0014】
【数4】
には、以前の再構成された画像フレームのセットが含まれ得る)との間の動きベクトルのセットmが、ブロックごとに計算される。次に、第2の動き補償ステップでは、予測される画像フレーム
【0015】
【数5】
は、動きベクトルmに基づいて以前の再構成された画像フレーム
【0016】
【数6】
の対応する画素をコピーすることによって取得され、また、元の画像フレームxと予測される画像フレーム
【0017】
【数7】
との間の残差rは、
【0018】
【数8】
として取得され得る。第3のステップでは、残差rは、離散コサイン変換(DCT:discrete cosine transform)のような線形変換の後に量子化される。rtのDCT係数は、よりよい量子化性能を取得するために量子化される。量子化ステップは、量子化された値
【0019】
【数9】
を提供する。動きベクトルmtおよび量子化された値
【0020】
【数10】
の両方は、エントロピーコーディングによってビットストリームに符号化され、デコーダに送信される。
【0021】
デコーダ側では、まず、量子化された値
【0022】
【数11】
を、逆量子化係数を有する逆離散コサイン変換(IDCT:inverse discrete cosine transform)のような逆変換によって逆量子化することで、復元される残差
【0023】
【数12】
を取得し、そして、復元される残差
【0024】
【数13】
を、予測される画像フレーム
【0025】
【数14】
に加算し直すことで、再構成される画像フレーム
【0026】
【数15】
を取得する。
【0027】
残差rtを圧縮する効率は、ビデオ圧縮性能のための因子である。DNNベースの方法は、残差圧縮を支援するために使用され得る。例えば、量子化効率を向上させるために、DNNを使用して、線形変換の代わりに高度な非線形変換を学習することができる。残差は、エンドツーエンド(E2E:End-to-End)DNNによって符号化されてもよく、ここで、量子化された表現が、明示的な変換なしで直接に学習される。
【0028】
図1は、実施形態による、本明細書に記載の方法、装置およびシステムが実施され得る環境100の図である。
【0029】
図1に示すように、環境100には、ユーザデバイス110、プラットフォーム120、およびネットワーク130を含み得る。環境100のデバイスは、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して相互接続され得る。
【0030】
ユーザデバイス110は、プラットフォーム120に関連付けられている情報を受信、生成、記憶、処理および/または提供することができる1つ以上または複数のデバイスを含む。例えば、ユーザデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブルデバイス(例えば、着用される1つのスマートグラスまたはスマートウォッチなど)、または類似なデバイスを含み得る。いくつかの実施形態では、ユーザデバイス110は、プラットフォーム120から情報を受信、および/または、プラットフォーム120に情報を伝送することができる。
【0031】
プラットフォーム120は、本明細書の他の箇所に記載されているような1つまたは複数のデバイスを含む。いくつかの実施形態では、プラットフォーム120は、クラウドサーバまたはクラウドサーバのグループを含み得る。いくつかの実施形態では、プラットフォーム120は、モジュール式になるように設計され、これにより、ソフトウェアコンポーネントがスワップインまたはスワップアウトされ得る。これによって、プラットフォーム120は、異なる用途のために容易かつ迅速に再構成され得る。
【0032】
いくつかの実施形態では、図示されるように、プラットフォーム120は、クラウドコンピューティング環境122においてホスト(hosted)されてもよい。特に、本明細書に記載の実施形態は、プラットフォーム120を、クラウドコンピューティング環境122においてホストされるものとして説明するが、いくつかの実施形態では、プラットフォーム120は、クラウドベースではなくてもよく(即ち、クラウドコンピューティング環境の外部で実現され得る)、または部分的にクラウドベースであってもよい。
【0033】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、コンピューティング、ソフトウェア、データアクセス、ストレージなどのサービスを提供することができ、これらのサービスは、プラットフォーム120をホストするシステムおよび/またはデバイスの物理的位置および構成をエンドユーザ(例えば、ユーザデバイス110)が了解する必要がない。図示されるように、クラウドコンピューティング環境122は、一組のコンピューティングリソース(複数可)124(まとめて「コンピューティングリソース(computing resources)124」と呼ばれて、個別に「コンピューティングリソース(computing resource)124」と呼ばれる)を含み得る。
【0034】
コンピューティングリソース124は、1つまたは複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、あるいは他のタイプのコンピューティングデバイスおよび/または通信デバイスを含む。いくつかの実施形態では、コンピューティングリソース124は、プラットフォーム120をホストすることができる。クラウドリソースは、コンピューティングリソース124において実行されるコンピューティングインスタンス、コンピューティングリソース124において提供される記憶デバイス、コンピューティングリソース124によって提供されるデータ転送デバイスなどを含み得る。いくつかの実施形態では、コンピューティングリソース124は、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して、他のコンピューティングリソース124と通信され得る。
【0035】
図1に示すように、コンピューティングリソース124は、一組のクラウドリソース、例えば1つまたは複数のアプリケーション(「APP」)124-1、1つまたは複数の仮想マシン(「VM」)124-2、仮想化されたストレージ(「VS」)124-3、1つまたは複数のハイパーバイザ(「HYP」)124-4などを含む。
【0036】
アプリケーション124-1は、ユーザデバイス110および/またはプラットフォーム120に提供され得るか、またはユーザデバイス110および/またはプラットフォーム120によってアクセスされ得る、1つまたは複数のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザデバイス110上でソフトウェアアプリケーションをインストールおよび実行する必要性を解消することができる。例えば、アプリケーション124-1は、プラットフォーム120に関連付けられているソフトウェア、および/または、クラウドコンピューティング環境122を介して提供され得る他の任意のソフトウェアを含み得る。いくつかの実施形態では、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つまたは複数の他のアプリケーション124-1との間で情報を送受信することができる。
【0037】
仮想マシン124-2は、物理マシンのように、プログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実現を含む。仮想マシン124-2は、任意の実際のマシンに対する仮想マシン124-2の使用および対応の程度に応じて、システム仮想マシンまたはプロセス仮想マシンとすることができる。システム仮想マシンは、完全なオペレーティングシステム(「OS:operating system」)の実行をサポートする、完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一のプログラムを実行することができ、また、単一のプロセスをサポートすることができる。いくつかの実施形態では、仮想マシン124-2は、ユーザ(例えば、ユーザデバイス110))に代わって実行することができ、また、クラウドコンピューティング環境122のインフラストラクチャ、例えば、データ管理、同期または長時間のデータ転送を管理することができる。
【0038】
仮想化されたストレージ124-3は、コンピューティングリソース124のストレージシステムまたはデバイス内で仮想化技術を使用する1つまたは複数のストレージシステムおよび/または1つまたは複数のデバイスを含む。いくつかの実施形態では、ストレージシステムのコンテキスト内で、仮想化のタイプは、ブロック仮想化およびファイル仮想化を含み得る。ブロック仮想化とは、物理ストレージから論理ストレージを抽象(または分離)することを指し、これにより、ストレージシステムは、物理ストレージまたは異種構造に関係なくアクセスされ得る。この分離は、ストレージシステムの管理者が、当該管理者がエンドユーザのためのストレージをどのように管理するかについて柔軟に管理する、ということを許可することができる。ファイル仮想化は、ファイルレベルでアクセスされているデータと、ファイルが物理的に記憶されている場所との間の依存関係を解消することができる。これは、ストレージの使用、サーバの統合、および/または無停止でのファイル移行の性能への最適化を可能にすることができる。
【0039】
ハイパーバイザ124-4は、ハードウェア仮想化技術を提供することができ、この技術は、コンピューティングリソース124などのホストコンピューター上で複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)が同時に実行することを可能にする。ハイパーバイザ124-4は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提供し、また、ゲストオペレーティングシステムの実行を管理することができる。さまざまなオペレーティングシステムの複数のインスタンスは、仮想化されたハードウェアリソースを共有することができる。
【0040】
ネットワーク130は、1つまたは複数の有線および/または無線ネットワークを含む。例えば、ネットワーク130は、セルラネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE:long-term evolution)ネットワーク、第3世代(3G)ネットワーク、符号分割多重接続(CDMA:code division multiple access)ネットワークなど)、公衆地上移動ネットワーク(PLMN:public land mobile network)、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、電話ネットワーク(例えば、公衆交換電話網(PSTN:Public Switched Telephone Network))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワークなど、および/または、これらまたは他のタイプのネットワークの組合せを含み得る。
【0041】
図1に示されるデバイスおよびネットワークの数および配置は、例として提供される。実際には、図1に示されるものよりも、追加のデバイスおよび/またはネットワーク、より少ないデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、または異なって配置されたデバイスおよび/またはネットワークが存在する場合がある。さらに、図1に示される2つ以上のデバイスは、単一のデバイス内で実現されてもよく、あるいは、図1に示される単一のデバイスは、複数の分散されたデバイスとして実現されてもよい。追加的または代替的に、環境100の1つのセットのデバイス(例えば、1つまたは複数のデバイス)は、環境100の他のセットのデバイスによって実行されるように記載されている1つまたは複数の機能を実行することができる。
【0042】
図2は、図1の1つまたは複数のデバイスの例示的な構成要素のブロック図である。
【0043】
デバイス200は、ユーザデバイス110および/またはプラットフォーム120に対応することができる。図2に示すように、デバイス200は、バス210と、プロセッサ220と、メモリ230と、ストレージコンポーネント240と、入力コンポーネント250と、出力コンポーネント260と、通信インターフェース270とを含み得る。
【0044】
バス210は、デバイス200のコンポーネント同士の間の通信を可能にするコンポーネントを含む。プロセッサ220は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現される。プロセッサ220は、中央処理装置(CPU:central processing unit)、グラフィックス処理装置(GPU:graphics processing unit)、加速処理装置(APU:accelerated processing unit)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate array)、特定用途向け集積回路(ASIC:application-specific integrated circuit)、または他のタイプの処理コンポーネントである。いくつかの実施形態では、プロセッサ220は、機能を実行するようにプログラム可能な1つまたは複数のプロセッサを含む。メモリ230は、プロセッサ220によって使用される情報および/または命令を記憶する、ランダムアクセスメモリ(RAM:random access memory)、読み出し専用メモリ(ROM:read only memory)、および/または他のタイプの動的または静的ストレージデバイス(例えば、フラッシュメモリ、磁気メモリ、および/または光メモリ)を含む。
【0045】
ストレージコンポーネント240は、デバイス200の動作および使用に関する情報および/またはソフトウェアを記憶する。例えば、ストレージコンポーネント240は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(CD:compact disc)、デジタル汎用ディスク(DVD:digital versatile disc)、フロッピーディスク、カートリッジ、磁気テープ、および/または他のタイプの非一時的なコンピュータ読み取り可能な媒体、および対応するドライブを含み得る。
【0046】
入力コンポーネント250は、デバイス200が、例えばユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)を介して情報を受信することを可能にするコンポーネントを含む。追加的または代替的に、入力コンポーネント250は、情報を感知するためのセンサ(例えば、全地球測位システム(GPS:global positioning system)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエーター)を含み得る。出力コンポーネント260は、デバイス200からの出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカー、および/または1つまたは複数の発光ダイオード(LED:light-emitting diodes))を含む。
【0047】
通信インターフェース270は、デバイス200が例えば有線接続、無線接続、または有線接続と無線接続の組み合わせを介して他のデバイスと通信することを可能とする、トランシーバのようなコンポーネント(例えば、トランシーバおよび/または別個の受信機および送信機)を含む。通信インターフェース270は、デバイス200が他のデバイスから情報を受信し、および/または他のデバイスに情報を提供することを可能にすることができる。例えば、通信インターフェース270は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF:radio frequency)インターフェース、ユニバーサルシリアルバス(USB:universal serial bus)インターフェース、Wi-Fiインターフェース、セルラネットワークインターフェースなどを含み得る。
【0048】
デバイス200は、本明細書に記載の1つまたは複数のプロセスを実行することができる。デバイス200は、メモリ230および/またはストレージコンポーネント240などの非一時的なコンピュータ読み取り可能な媒体によって記憶されているソフトウェア命令をプロセッサ220が実行することに応して、これらのプロセスを実行することができる。ここで、コンピュータ読み取り可能な媒体は、非一時的なメモリデバイスとして定義される。メモリデバイスには、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスに分散されたメモリ空間が含まれる。
【0049】
ソフトウェア命令は、通信インターフェース270を介して、別のコンピュータ読み取り可能な媒体または別のデバイスから、メモリ230および/またはストレージコンポーネント240に読み込まれる。メモリ230および/またはストレージコンポーネント240に記憶されているソフトウェア命令は、実行されるとき、プロセッサ220に、本明細書に記載の1つまたは複数のプロセスを実行させてもよい。追加的または代替的に、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤ回路を使用して、本明細書に記載の1つまたは複数のプロセスを実行してもよい。したがって、本明細書に記載の実施形態は、ハードウェア回路とソフトウェアとの任意の特定の組み合わせにも限定されない。
【0050】
図2に示されるコンポーネントの数および配置は、例として提供される。実際には、デバイス200は、図2に示されるものよりも、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なって配置されたコンポーネントを含んでもよい。追加的または代替的に、デバイス200の1つのセットのコンポーネント(例えば、1つまたは複数のコンポーネント)は、デバイス200の他のセットのコンポーネントによって実行されるように記載されている1つまたは複数の機能を実行することができる。
【0051】
次に、置換ニューラル残差圧縮のための方法および装置を詳細に説明する。
【0052】
この方法および装置は、DNNベースの残差圧縮の効率を向上させることができる。E2E DNNによって圧縮された残差を有する各画像フレームについて、置換残差が、生成され、元の残差よりも良好な圧縮性能を提供することができる。
【0053】
サイズ(h,w,c)を有する残差rが与えられると、ここで、h、w、cは、それぞれ、高さ、幅およびチャネル数であり、E2E残差圧縮は、圧縮された表現
【0054】
【数16】
を計算することを含み、復元される残差
【0055】
【数17】
が、圧縮された表現
【数18】
から再構成され得る。歪み損失関数
【0056】
【数19】
は、平均二乗誤差(MSE:Mean Squared Error)またはピーク信号対雑音比(PSNR:Peak Signal-to-Noise Ratio)のような、再構成誤差(例えば、歪み損失)を測定するために使用される。レート損失関数
【0057】
【数20】
は、圧縮された表現
【数21】
のビット消費量を測定するために使用される。トレードオフハイパーパラメータ(trade-off hyperparameter)λは、結合レート歪み(R-D)損失Lを平衡させるために使用される。
【0058】
【数22】

大きなトレードオフハイパーパラメータλを使用した訓練は、歪みが小さいがビット消費量がより多い圧縮モデルをもたらし、そしてその逆も同様である。実際には異なるビットレートを達成するために、E2E残差圧縮方法は、複数のモデルインスタンスを訓練することができ、各ターゲットトレードオフハイパーパラメータλに対して、1つのモデルインスタンスが使用され、これらのモデルインスタンスの全てを、エンコーダ側およびデコーダ側に記憶することができる。しかしながら、本明細書に記載の実施形態は、複数のモデルインスタンスを訓練し記憶することなく、さまざまな柔軟なビットレート制御能力を提供する。
【0059】
図3および図4は、実施形態による、エンコーダおよびデコーダの全体的なワークフローを提供する。訓練段階と試験段階という2つ異なるの段階が存在している。
【0060】
図3は、実施形態による、訓練段階中の置換ニューラル残差圧縮のための訓練装置300のブロック図である。
【0061】
図3に示すように、訓練装置300は、動き推定コンポーネント305と、動き補償コンポーネント310と、減算器315と、訓練DNNエンコーダ320と、訓練エンコーダ325と、訓練デコーダ330と、訓練DNNデコーダ335と、加算器340と、レート損失コンポーネント345と、歪み損失コンポーネント350と、データ更新コンポーネント355と、を含む。
【0062】
訓練段階の目的は、各画像フレームxに対して、置換残差
【0063】
【数23】

を生成する、ことである。現在の画像フレームxtおよび以前の再構成された画像フレーム
【0064】
【数24】
が与えられると、動き推定コンポーネント305は、動きベクトルmtを取得する。以前の再構成された画像フレーム
【0065】
【数25】
は、画像フレームのセットを含み得る。例えば、現在の画像フレームxがPフレームである場合、以前の再構成された画像フレーム
【0066】
【数26】
はすべて、現在の画像フレームxよりも前にある。現在の画像フレームxがBフレームである場合、以前の再構成された画像フレーム
【0067】
【数27】
は、現在の画像フレームxの前および後からの画像フレームを含む。現在のフレームxが低遅延Bフレームである場合、以前の再構成された画像フレーム
【0068】
【数28】
は、現在の画像フレームxよりも前にある。動き推定コンポーネント305は、1つまたは複数のブロック型動き推定器、またはDNNベースのオプティカルフロー推定器を使用することができる。
【0069】
動き補償コンポーネント310は、以前の再構成された画像フレーム
【0070】
【数29】
および動きベクトルmに基づいて、予測される画像フレーム
【0071】
【数30】
を取得する。実施形態では、1つのDNNは、動きベクトルmと予測される画像フレーム
【0072】
【数31】
を同時に計算するために使用され得る。
【0073】
減算器315は、元の画像フレームxと、予測される画像フレーム
【0074】
【数32】
との間の残差
【0075】
【数33】
を取得する。
【0076】
残差rを入力として使用すると、訓練DNNエンコーダ320は、DNN符号化された表現を取得し、訓練エンコーダ325は、当該、DNN符号化された表現に基づいて、圧縮された表現
【0077】
【数34】
を取得する。訓練DNNエンコーダ320および訓練エンコーダ325は、E2E DNNエンコーダ-デコーダのエンコーダ部分である。
【0078】
圧縮された表現
【0079】
【数35】
に基づいて、訓練デコーダ330は、解凍された表現を取得し、当該解凍された表現は、復元される残差
【0080】
【数36】

を取得するために、訓練DNNデコーダ335への入力として使用される。訓練デコーダ330および訓練DNNデコーダ335は、E2E DNNエンコーダ-デコーダのデコーダ部分である。
【0081】
本開示において、E2E DNNエンコーダ-デコーダのネットワーク構造は、勾配逆伝搬によって学習可能である限り、何ら制限されない。実施形態では、訓練エンコーダ325および訓練デコーダ330は、実際の量子化および逆量子化の効果を近似するために、微分可能な統計サンプラーを使用する。
【0082】
加算器340は、復元される残差
【0083】
【数37】

を、予測される画像フレーム
【0084】
【数38】

に加算し直すことで、再構成される画像フレーム
【0085】
【数39】
を取得する。
【0086】
訓練段階では、訓練DNNエンコーダ320および訓練DNNデコーダ335は、まず初期化され、すなわち、訓練DNNエンコーダ320および訓練DNNデコーダ335のモデル重みは、予め決定されたDNNエンコーダおよび予め決定されたDNNデコーダに基づいて設定される。
【0087】
次に、再訓練/微調整プロセスは、置換残差
【0088】
【数40】
を計算するために実施され、これにより、式(1)の総損失
【0089】
【数41】
(ここで、置換残差
【0090】
【数42】
が残差
【0091】
【数43】
を置換するために使用される)は、最適化または低減され得る。
【0092】
具体的には、レート損失コンポーネント345は、予め決定されたレート損失推定器を使用してレート損失
【0093】
【数44】
を取得する。例えば、エントロピー推定方法は、レート損失
【0094】
【数45】
を推定するために使用され得る。
【0095】
歪み損失コンポーネント350は、再構成される画像フレーム
【0096】
【数46】
に基づいて、歪み損失
【0097】
【数47】

を取得する。
【0098】
データ更新コンポーネント355は、総損失
【0099】
【数48】
の勾配を取得することで、逆伝搬により置換残差
【0100】
【数49】
を更新する。この逆伝搬プロセスは、例えば最適化が収束するとき、または最大の反復回数に達するときなど、停止基準に達するまで、置換残差
【0101】
【数50】
の更新を継続するように反復される。
【0102】
実施形態では、予め決定されたDNNエンコーダ、予め決定されたDNNデコーダ、および予め決定されたレート損失推定器の重みは、予め訓練されるデータのセットに基づいて予め訓練されており、ここで、各訓練画像フレーム
【0103】
【数51】
について、同じプロセスを実施することで残差
【0104】
【数52】
が計算され、当該残差に対して、DNN符号化、符号化、復号およびDNN復号を介して、同様の前向き計算を経由することで、圧縮された表現
【0105】
【数53】
および復元される残差
【0106】
【数54】
が生成される。次に、ハイパーパラメータ
【0107】
【数55】
が与えられると、予め訓練された損失は、取得され、式(1)と同様に、レート損失および歪み損失
【0108】
【数56】
の両方を含み、それらの損失の勾配は、反復逆伝搬によって、予め決定されたDNNエンコーダ、予め決定されたDNNデコーダおよび予め決定されたレート損失推定器の重みを更新するために使用される。予め訓練されるデータセットは、訓練DNNエンコーダ320および訓練DNNデコーダ335がそれに基づいて訓練されたデータセットと同じであってもよく、異なっていてもよい。
【0109】
図4は、実施形態による、試験段階中の置換ニューラル残差圧縮のための試験装置400のブロック図である。
【0110】
図4に示すように、試験装置400は、動き推定コンポーネント305と、動き補償コンポーネント310と、減算器315と、試験DNNエンコーダ405と、試験エンコーダ410と、試験デコーダ415と、試験DNNデコーダ420と、加算器340とを含む。
【0111】
エンコーダ(すなわち、試験DNNエンコーダ405および試験エンコーダ410)の試験段階では、置換残差
【0112】
【数57】

が学習された後、当該置換残差に対して、試験DNNエンコーダ405の前向き推論プロセスを経由することで、DNN符号化された表現が生成され、試験エンコーダ410は、当該表現に基づいて、最終的な圧縮された表現
【0113】
【数58】
を取得する。
【0114】
次に、試験デコーダ415は、再構成される残差
【0115】
【数59】
を取得するために試験DNNデコーダ420への入力として使用される解凍された表現を取得する。
【0116】
実施形態では、試験DNNエンコーダ405および試験DNNデコーダ420は、それぞれ、訓練DNNエンコーダ320および訓練DNNデコーダ335と同じであるが、試験エンコーダ410および試験デコーダ415は、それぞれ、訓練エンコーダ325および訓練デコーダ330と異なる。前述したように、量子化および逆量子化プロセスは、訓練エンコーダ325および訓練デコーダ330における微分可能な統計サンプラーによって置き換えられる。試験段階では、実際の量子化および逆量子化は、それぞれ、試験エンコーダ410および試験デコーダ415において実施される。本開示において、試験エンコーダ410および試験デコーダ415によって使用される量子化および逆量子化方法には制限はない。
【0117】
再構成される残差
【0118】
【数60】
が再構成された後、加算器340は、再構成される残差
【0119】
【数61】
を予測される画像フレーム
【0120】
【数62】
に加算し直すことで、再構成される画像フレーム
【0121】
【数63】
を取得し、試験装置400は、次の画像フレームxt+1の処理に進む。
【0122】
動きベクトルmと圧縮された表現
【0123】
【数64】
との両方は、デコーダに送信され得る。これらは、さらに、エントロピーコーディングによってビットストリームに符号化され得る。
【0124】
デコーダ(すなわち、試験デコーダ415および試験DNNデコーダ420)の試験段階では、動きベクトルm、および圧縮された表現
【0125】
【数65】
(例えば、符号化されたビットストリームから復号することによって)が取得された後、以前の再構成された画像フレーム
【0126】
【数66】
が与えられると、試験デコーダ415は、
【0127】
【数67】
の解凍された表現を取得し、試験DNNデコーダ420は、この解凍された表現に基づいて、再構成される残差
【0128】
【数68】
を取得する。デコーダ側での動き補償コンポーネントでは、エンコーダ側での動き補償コンポーネント310と同様に、以前の再構成された画像フレーム
【0129】
【数69】
と動きベクトルmとに基づいて、予測される画像フレームが取得される。次に、加算器340は、再構成される残差
【0130】
【数70】
を予測される画像フレーム
【0131】
【数71】
に加算し直すことで、再構成される画像フレーム
【0132】
【数72】
を取得し、試験装置400は、次の画像フレーム
【0133】
【数73】
の処理に進む。
【0134】
上記の実施形態は、ビットレート制御およびターゲットメトリック制御において柔軟性を提供する。圧縮された表現
【0135】
【数74】
のターゲットビットレートが変更された場合、図3に示される符号化プロセスの訓練段階におけるハイパーパラメータλのみが、変更され、訓練DNNエンコーダ320、訓練エンコーダ325、訓練デコーダ330、訓練DNNデコーダ335、試験DNNエンコーダ405、試験エンコーダ410、試験デコーダ415、および試験DNNデコーダ420の再訓練/微調整なしに変更される。同様に、圧縮された表現
【0136】
【数75】
の異なるターゲットメトリック(例えば、PSNRまたは構造的類似度(SSIM:structural similarity))に対して最適な圧縮された残差を取得するために、図3に示される符号化プロセスの訓練段階で歪み損失を取得する方法が、上記の訓練DNNエンコーダ320、上記の訓練エンコーダ325、上記の訓練デコーダ330、上記の訓練DNNデコーダ335、上記の試験DNNエンコーダ405、上記の試験エンコーダ410、上記の試験デコーダ415、および上記の試験DNNデコーダ420の再訓練/微調整なしで変更される。
【0137】
図5は、実施形態による、置換ニューラル残差圧縮の方法のフローチャートである。
【0138】
いくつかの実施形態では、図5の1つまたは複数のプロセスブロックが、プラットフォーム120によって実行され得る。いくつかの実施形態では、図5の1つまたは複数のプロセスブロックが、例えばユーザデバイス110などのような、プラットフォーム120とは別の、またはプラットフォーム120を含む、他のデバイスまたはデバイスのグループによって実行され得る。
【0139】
図5に示すように、動作510では、方法500は、現在の画像フレームおよび以前の再構成された画像フレームに基づいて、動きベクトルを推定するステップを含む。
【0140】
動作520では、方法500は、推定された動きベクトルおよび以前の再構成された画像フレームに基づいて、予測される画像フレームを取得するステップを含む。
【0141】
動作530では、方法500は、取得された予測される画像フレームを現在の画像フレームから減算することで、置換残差を取得するステップを含む。
【0142】
動作540では、方法500は、第1ニューラルネットワークを使用して、取得された置換残差を符号化することで、符号化された表現を取得するステップを含む。
【0143】
動作550では、方法500は、符号化された表現を圧縮するステップを含む。
【0144】
動きベクトルの推定、予測される画像フレームの取得、置換残差の取得、符号化された表現の取得、および符号化された表現の圧縮は、符号化プロセッサによって実行され得る。
【0145】
図5は、全体として、方法500の例示的なブロックを示しており、いくつかの実施形態では、方法500は、図5に示されるものよりも、追加のブロック、より少ないブロック、異なるブロック、または異なって配置されたブロックを含んでもよい。追加的または代替的に、方法500の2つ以上のブロックは、並列に実行されてもよい。
【0146】
図6は、実施形態による、置換ニューラル残差圧縮の方法のフローチャートである。
【0147】
いくつかの実施形態では、図6の1つまたは複数のプロセスブロックが、プラットフォーム120によって実行され得る。いくつかの実施形態では、図6の1つまたは複数のプロセスブロックが、例えばユーザデバイス110などのような、プラットフォーム120とは別の、またはプラットフォーム120を含む、他のデバイスまたはデバイスのグループによって実行され得る。
【0148】
図6に示すように、動作610では、方法600は、圧縮された表現を解凍するステップを含む。
【0149】
動作620では、方法600は、第2ニューラルネットワークを使用して、解凍された表現を復号することで、復元される残差を取得するステップを含む。
【0150】
動作630では、方法600は、取得された復元される残差を、取得された予測される画像フレームに加算することで、再構成される画像フレームを取得するステップを含む。
【0151】
第1ニューラルネットワークおよび第2ニューラルネットワークは、取得された復元される残差および取得された置換残差に基づいて、歪み損失を決定するステップと、圧縮された表現に基づいて、レート損失を決定するステップと、決定された歪み損失、決定されたレート損失およびハイパーパラメータに基づいて、レート歪み損失勾配を決定するステップと、取得された置換残差を更新することで、決定されたレート歪み損失勾配を減少させるステップと、によって訓練され得る。
【0152】
ハイパーパラメータは、第1ニューラルネットワークおよび第2ニューラルネットワークを再訓練することなく、圧縮された表現のターゲットビットレートに基づいて設定され得る。
【0153】
歪み損失は、第1ニューラルネットワークおよび第2ニューラルネットワークを再訓練することなく、圧縮された表現のターゲットメトリックのタイプに基づいて設定された関数に基づいて決定され得る。
【0154】
圧縮された表現の解凍、解凍された表現の復号、および再構成される画像フレームの取得は、復号プロセッサによって実行され得る。この方法は、推定された動きベクトルおよび以前の再構成された画像フレームに基づいて、復号プロセッサによって、予測される画像フレームを取得するステップを、さらに含み得る。
【0155】
図6は、方法600の例示的なブロックを示しており、いくつかの実施形態では、方法600は、図6に示されるものよりも、追加のブロック、より少ないブロック、異なるブロック、または異なって配置されたブロックを含んでもよい。追加的または代替的に、方法600の2つ以上のブロックは、並列に実行されてもよい。
【0156】
図7は、実施形態による、置換ニューラル残差圧縮のための装置700のブロック図である。
【0157】
図7に示すように、装置700は、推定コード710、第1取得コード720、減算コード730、符号化コード740および圧縮コード750、を含む。
【0158】
推定コード710は、少なくとも1つのプロセッサに、現在の画像フレームおよび以前の再構成された画像フレームに基づいて、動きベクトルを推定させるように構成される。
【0159】
第1取得コード720は、少なくとも1つのプロセッサに、推定された動きベクトル及び以前の再構成された画像フレームに基づいて、予測される画像フレームを取得させるように構成される。
【0160】
減算コード730は、少なくとも1つのプロセッサに、取得された予測される画像フレームを現在の画像フレームから減算することで、置換残量を取得させるように構成される。
【0161】
符号化コード740は、少なくとも1つのプロセッサに、第1ニューラルネットワークを使用して、取得された置換残差を符号化することで、符号化された表現を取得させるように構成される。
【0162】
圧縮コード750は、少なくとも1つのプロセッサに、符号化された表現を圧縮させるように構成される。
【0163】
推定コード、第1取得符号、減算コード、符号化コードおよび圧縮コードは、符号化プロセッサに機能を実行させるように構成され得る。
【0164】
図8は、実施形態による、置換ニューラル残差圧縮のための装置800のブロック図である。
【0165】
図8に示すように、装置800は、解凍コード810、復号コード820および加算コード830、を含む。
【0166】
解凍コード810は、少なくとも一つのプロセッサに、圧縮された表現を解凍させるように構成される。
【0167】
復号コード820は、少なくとも1つのプロセッサに、第2ニューラルネットワークを使用して、解凍された表現を復号することで、復元される残差を取得させるように構成される。
【0168】
加算コード830は、少なくとも1つのプロセッサに、取得された復元される残差を、取得された予測される画像フレームに加算し直すことで、再構成される画像フレームを取得させるように構成される。
【0169】
第1ニューラルネットワークおよび第2ニューラルネットワークは、取得された復元される残差および取得された置換残差に基づいて、歪み損失を決定することと、圧縮された表現に基づいて、歪み損失を決定することと、決定された歪み損失、決定されたレート損失およびハイパーパラメータに基づいて、レート歪み損失勾配を決定することと、取得された置換残差を更新することで、決定されたレート歪み損失勾配を減少することとによって、訓練され得る。
【0170】
ハイパーパラメータは、第1ニューラルネットワークおよび第2ニューラルネットワークを再訓練することなく、圧縮された表現のターゲットビットレートに基づいて設定され得る。
【0171】
歪み損失は、第1ニューラルネットワークおよび第2ニューラルネットワークを再訓練することなく、圧縮された表現のターゲットメトリックのタイプに基づいて設定された関数に基づいて、決定され得る。
【0172】
解凍コード810、復号コード820および加算コード830は、復号プロセッサに機能を実行させるように構成され得る。装置800は、復号プロセッサに、推定された動きベクトルおよび前の再構成された像フレームに基づいて、予測される画像フレームを取得させるように構成される第2取得コードを、さらに含み得る。
【0173】
上記の実施形態は、従来のビデオ圧縮方法と比較すると、以下の利点を有する。これらの実施形態は、任意のE2E残差圧縮DNN法に適用され得る一般的なモジュールとして見なすことができる。個々の画像フレームごとに、その置換残差は、その損失のフィードバックに基づいて、個々の再訓練/微調整プロセスによって最適化され得て、これにより、圧縮性能を向上させることができる。
【0174】
さらに、上記の実施形態は、E2E残差圧縮モデルを再訓練/微調整することなく、または複数のモデルを使用することなく、柔軟なビットレート制御を実現することができる。これらの実施形態は、また、E2E残差圧縮モデルを再訓練/微調整することなく、ターゲット圧縮メトリックを変更することもできる。
【0175】
提案された方法は、単独で、または任意の順序で組み合わせて使用され得る。さらに、方法(または実施形態)、エンコーダおよびデコーダの各々は、処理回路(例えば、1つまたは複数のプロセッサ、または、1つまたは複数の集積回路)によって実現され得る。一例では、1つまたは複数のプロセッサは、非一時的なコンピュータ読み取り可能な媒体に記憶されているプログラムを実行する。
【0176】
前述の開示は、図示および説明を提供したが、網羅的であること、または開示された正確な形態に実現を限定することを意図したものではない。上記の開示を考慮して、修正および変更は可能であるか、または実施された実践から取得され得る。
【0177】
本明細書で使用されるとき、コンポーネントという用語は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせとして広く解釈されることを意図している。
【0178】
明らかに、本明細書に記載のシステムおよび/または方法は、さまざまな形式のハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現され得る。これらのシステムおよび/または方法を実現するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、これらの実現を制限するものではない。したがって、システムおよび/または方法の動作および行動は、特定のソフトウェアコードを参照することなく本明細書で説明されており、ソフトウェアおよびハードウェアは、本明細書における説明に基づいて、システムおよび/または方法を実施するように設計され得る、ということを理解されたい。
【0179】
特徴の組合せが請求項において列挙され、および/または本明細書において開示されていても、これらの組合せは、可能な実施形態の開示を制限することを意図していない。実際には、これらの特徴の多くは、特許請求の範囲において具体的に記載されていない、および/または明細書において開示されていない方式で組み合わされてもよい。以下に列挙された各従属請求項は、1つの請求項のみに直接に依存し得るが、可能な実施形態の開示は、各従属請求項と請求項セット内の他のあらゆる請求項との組合せを含む。
【0180】
本明細書で使用されている要素、動作または命令は、そのようなものとして明示的に説明されていない限り、重要または必須と解釈されることはない。さらに、本明細書で使用されるように、用語「1つ」および「一」は、1つまたは複数のアイテムを含むことを意図しており、「1つまたは複数」と交換的に使用され得る。さらに、本明細書で使用されるように、用語「セット」は、1つまたは複数のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテムと非関連アイテムの組み合わせなど)を含むことを意図しており、「1つまたは複数」と交換的に使用され得る。1つのアイテムのみが意図されている場合、用語「1つ」または類似の単語が使用される。また、本明細書で使用されるように、「を有する」、「を有し」、「を有している」などの用語は、開放型用語であることを意図している。さらに、「に基づいて」という句は、特に明示的に記載されていない限り、「少なくとも部分的に基づいて」を意味することを意図している。
図1
図2
図3
図4
図5
図6
図7
図8