(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-01
(54)【発明の名称】ニューラル画像圧縮における反復的なコンテンツ適応型オンライントレーニングのためのシステム、方法、及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/85 20140101AFI20240423BHJP
H03M 7/30 20060101ALI20240423BHJP
G06N 3/08 20230101ALI20240423BHJP
【FI】
H04N19/85
H03M7/30 Z
G06N3/08
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558148
(86)(22)【出願日】2022-10-20
(85)【翻訳文提出日】2023-09-21
(86)【国際出願番号】 US2022047241
(87)【国際公開番号】W WO2023113920
(87)【国際公開日】2023-06-22
(32)【優先日】2021-12-13
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-09-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ディン,ディン
(72)【発明者】
【氏名】ワン,ウェイ
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
5J064
【Fターム(参考)】
5C159MA04
5C159MC11
5C159ME11
5C159PP04
5C159UA02
5C159UA05
5J064BA10
5J064BB03
5J064BC02
(57)【要約】
少なくとも1つのプロセッサによって実行されるニューラルネットワークを使用したエンドツーエンド(E2E)ニューラル画像圧縮(NIC)のコンテンツ適応型オンライントレーニングを提供し、これには、E2E NICフレームワークへの入力画像を受信すること、入力画像に基づいて、E2E NICフレームワークを微調整すること、微調整したE2E NICフレームワークの第1のニューラルネットワークを使用してパラメータ更新を計算すること、拡張後のネットワークである第2のニューラルネットワークに基づいて、微調整したE2E NICフレームワークを拡張すること、及び拡張したE2E NICフレームワーク及びパラメータ更新に基づいて、更新したE2E NICフレームワークを生成すること、を含む。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行されるニューラルネットワークを使用した、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)のためのコンテンツ適応型オンライントレーニングの方法であって、当該方法は、
E2E NICフレームワークへの入力画像を受信するステップと、
該入力画像に基づいて、前記E2E NICフレームワークを微調整するステップと、
該微調整したE2E NICフレームワークの第1のニューラルネットワークを使用して、パラメータ更新を計算するステップと、
拡張後のネットワークである第2のニューラルネットワークに基づいて、前記微調整したE2E NICフレームワークを拡張するステップと、
前記拡張したE2E NICフレームワーク及び前記パラメータ更新に基づいて、更新したE2E NICフレームワークを生成するステップと、を含む、
方法。
【請求項2】
前記入力画像及び前記パラメータ更新を符号化して、前記入力画像及び前記パラメータ更新の圧縮表現を生成するステップと、
前記パラメータ更新の前記圧縮表現を復号化して、復号化したパラメータ更新を生成するステップと、
該復号化したパラメータ更新に基づいて、前記E2E NICフレームワークを更新するステップと、
該更新したE2E NICフレームワークに基づいて前記入力画像の前記圧縮表現を復号化して、再構成した画像を生成するステップと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記入力画像及び前記パラメータ更新の前記圧縮表現の消費量、トレードオフ・ハイパーパラメータ、及び前記入力画像の復号化ブロック残差の歪みに基づいて、前記再構成した画像の歪み損失を決定するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記入力画像を1つ又は複数のブロックに分割するステップをさらに含む、請求項1に記載の方法。
【請求項5】
前記パラメータ更新には、学習率及びステップ数が含まれ、前記学習率及び前記ステップ数は、前記入力画像の特性に基づいて選択される、請求項1に記載の方法。
【請求項6】
前記入力画像の前記特性は、前記入力画像のRGB分散及び前記入力画像のRD性能のうちの1つである、請求項5に記載の方法。
【請求項7】
前記拡張後のネットワークは、畳み込みニューラルネットワークのセット又は畳み込みニューラルネットワークのレイヤであり、1つ又は複数の拡張後のネットワークが、前記微調整したE2E NICフレームワークを拡張するために使用される、請求項1に記載の方法。
【請求項8】
ニューラルネットワークを使用したエンドツーエンド(E2E)ニューラル画像圧縮(NIC)のためのコンテンツ適応型オンライントレーニングのための機器であって、当該機器は、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記コンピュータプログラムコードを読み取り、該コンピュータプログラムコードの命令に従って動作するように構成された少なくとも1つのプロセッサと、を含み、
前記命令が前記少なくとも1つのプロセッサによって実行されると、該少なくとも1つのプロセッサに、
請求項1乃至7のいずれか一項に記載の方法を実行させる、
機器。
【請求項9】
命令を記憶する非一時的なコンピュータ可読媒体であって、前記命令が、ニューラルネットワークを使用するエンドツーエンド(E2E)ニューラル画像圧縮(NIC)に関するコンテンツ適応型オンライントレーニングのための機器の少なくとも1つのプロセッサによって実行されると、該少なくとも1つのプロセッサに、
請求項1乃至7のいずれか一項に記載の方法を実行させる、
非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2021年12月13日に出願した米国仮特許出願第63/289,055号、及び2022年9月26日に出願した米国特許出願第17/952,865号に基づいており、且つこれらの出願に対して優先権を主張するものであり、これらの出願は、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
従来のハイブリッドビデオコーデックは、全体として最適化することが困難である。単一のモジュールを改善しただけでは、コーディングゲインの全体的なパフォーマンスが向上しない可能性がある。最近、標準化グループ及び企業は、将来のビデオコーディング技術の標準化に対する潜在的なニーズを積極的に探している。これらの標準化グループ及び企業は、ディープニューラルネットワーク(DNN)を使用したAIベースのエンドツーエンドのニューラル画像圧縮に焦点を当てたJPEG-AIグループを設立した。中国のオーディオビデオコーディング標準(AVS)も、ニューラル画像及びビデオ圧縮技術に取り組むAVS-AI特別グループを設立した。最近のアプローチの成功により、高度なニューラル画像及びビデオ圧縮手法に対する産業界の関心が益々高まっている。
【0003】
しかしながら、関連技術では、ニューラルネットワークベースのビデオ又は画像コーディングフレームワークは、特定のタイプの圧縮フレームワークに限定されている。様々なタイプのフレームワークに適応するために、従来のシステムでは、計算メモリ/コストの増大、レート歪み損失の増大となる場合があり、その結果、画像又はビデオのフレームワーク/プロセスの全体的なパフォーマンスが低下する。
【0004】
従って、コーディングフレームワークを最適化し、全体的なパフォーマンスを向上させる方法が必要である。
【発明の概要】
【0005】
実施形態によれば、ニューラル画像圧縮における反復的なコンテンツ適応型オンライントレーニングのための方法を提供する。
【0006】
本開示の一態様によれば、少なくとも1つのプロセッサによって実行されるニューラルネットワークを使用したエンドツーエンド(E2E)ニューラル画像圧縮(NIC)のためのコンテンツ適応型オンライントレーニングの方法を提供する。この方法は、E2E NICフレームワークへの入力画像を受信するステップと;入力画像に基づいて、E2E NICフレームワークを微調整するステップと;微調整したE2E NICフレームワークの第1のニューラルネットワークを使用してパラメータ更新を計算するステップと;拡張後のネットワークである第2のニューラルネットワークに基づいて、微調整したE2E NICフレームワークを拡張する(enhancing)ステップと;拡張したE2E NICフレームワーク及びパラメータ更新に基づいて、更新したE2E NICフレームワークを生成するステップと;を含む。
【0007】
この方法は、入力画像及びパラメータ更新を符号化して、入力画像及びパラメータ更新の圧縮表現を生成するステップと;パラメータ更新の圧縮表現を復号化して、復号化したパラメータ更新を生成するステップと;復号化したパラメータ更新に基づいて、E2E NICフレームワークを更新するステップと;更新したE2E NICフレームワークに基づいて入力画像の圧縮表現を復号化して、再構成した画像を生成するステップと;をさらに含むことができる。
【0008】
この方法は、入力画像及びパラメータ更新の圧縮表現の消費量、トレードオフ・ハイパーパラメータ、及び再構成した画像の復号化ブロック残差の歪みに基づいて、再構成した画像の歪み損失を決定するステップをさらに含むことができる。
【0009】
この方法は、入力画像を1つ又は複数のブロックに分割するステップをさらに含むことができる。
【0010】
いくつかの実施形態では、パラメータ更新には、学習率及びステップ数が含まれ、学習率及びステップ数は、入力画像の特性に基づいて選択される。また、入力画像の特性は、入力画像のRGB分散及び入力画像のRD性能のうちの1つである。
【0011】
いくつかの実施形態では、拡張後のネットワークは、畳み込みニューラルネットワークのセット又は畳み込みニューラルネットワークのレイヤである。
【0012】
いくつかの実施形態では、1つ又は複数の拡張後のネットワークを使用して、微調整したE2E NICフレームワークを拡張する。
【0013】
本開示の別の態様によれば、ニューラルネットワークを使用するコンテンツE2E NICのための機器を提供し、この機器は、コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、コンピュータプログラムコードを読み取り、コンピュータプログラムコードの命令に従って動作するように構成された少なくとも1つのプロセッサとを含む。コンピュータプログラムコードは、少なくとも1つのプロセッサに、E2E NICフレームワークへの入力画像を受信させるように構成された受信コードと;少なくとも1つのプロセッサに、入力画像に基づいて、E2E NICフレームワークを微調整させるように構成された微調整コードと;少なくとも1つのプロセッサに、微調整したE2E NICフレームワークの第1のニューラルネットワークを使用して、パラメータ更新を計算させるように構成された計算コードと;少なくとも1つのプロセッサに、拡張後のネットワークである第2のニューラルネットワークに基づいて、微調整したE2E NICフレームワークを拡張させるように構成された拡張コードと;少なくとも1つのプロセッサに、拡張したE2E NICフレームワーク及びパラメータ更新に基づいて、更新したE2E NICフレームワークを生成させるように構成された生成コードと;を含む。
【0014】
機器は、少なくとも1つのプロセッサに、入力画像及びパラメータ更新を符号化させて、入力画像及びパラメータ更新の圧縮表現を生成させ;パラメータ更新の圧縮表現を復号化させて、復号化したパラメータ更新を生成させ;復号化したパラメータ更新に基づいて、E2E NICフレームワークを更新させ;及び更新したE2E NICフレームワークに基づいて入力画像の圧縮表現を復号化して、再構成した画像を生成させするように構成されたコードをさらに含むことができる。
【0015】
機器は、少なくとも1つのプロセッサに、入力画像及びパラメータ更新の圧縮表現の消費量、トレードオフ・ハイパーパラメータ、及び再構成した画像の復号化ブロック残差の歪みに基づいて、再構成した画像の歪み損失を決定させるように構成されたコードをさらに含むことができる。
【0016】
機器は、少なくとも1つのプロセッサに、入力画像を1つ又は複数のブロックに分割させるように構成されたコードをさらに含むことができる。
【0017】
本開示の別の態様によれば、命令を記憶する非一時的なコンピュータ可読媒体を提供し、命令が、ニューラルネットワークを使用するE2E NICに関するコンテンツ適応型オンライントレーニングのための機器の少なくとも1つのプロセッサによって実行される。この命令により、少なくとも1つのプロセッサに、E2E NICフレームワークへの入力画像を受信すること;入力画像に基づいて、E2E NICフレームワークを微調整すること;微調整したE2E NICフレームワークの第1のニューラルネットワークを使用してパラメータ更新を計算すること;拡張後のネットワークである第2のニューラルネットワークに基づいて、微調整したE2E NICフレームワークを拡張すること;及び拡張したE2E NICフレームワーク及びパラメータ更新に基づいて、更新したE2E NICフレームワークを生成すること;を行わせる。
【0018】
非一時的なコンピュータ可読媒体は、少なくとも1つのプロセッサに、入力画像を1つ又は複数のブロックに分割させ、1つ又は複数のブロックを個別に圧縮させる命令をさらに含むことができる。
【0019】
非一時的なコンピュータ可読媒体は、少なくとも1つのプロセッサに、入力画像及びパラメータ更新を符号化して、入力画像及びパラメータ更新の圧縮表現を生成させ;パラメータ更新の圧縮表現を復号化して、復号化したパラメータ更新を生成させ;復号化したパラメータ更新に基づいて、E2E NICフレームワークを更新させ;及び更新したE2E NICフレームワークに基づいて入力画像の圧縮表現を復号化して、再構成した画像を生成させる命令をさらに含むことができる。
【0020】
非一時的なコンピュータ可読媒体は、少なくとも1つのプロセッサに、入力画像及びパラメータ更新の圧縮表現の消費量、トレードオフ・ハイパーパラメータ、及び再構成した画像の復号化ブロック残差の歪みに基づいて、再構成した画像の歪み損失を決定させる命令をさらに含むことができる。
【0021】
追加の実施形態は、以下の説明に記載し、部分的にはその説明から明らかとなり、及び/又は本開示の提示する実施形態の実践によって実現され得る。
【図面の簡単な説明】
【0022】
【
図1】実施形態による、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)のための反復的なコンテンツ適応型オンライントレーニングプロセスの全体概要を示すフローチャートである。
【
図2】実施形態による、本明細書で説明する方法、機器、及びシステムを実現し得る環境の図である。
【
図3】
図2の1つ又は複数の装置の例示的なコンポーネントのブロック図である。
【
図4】ブロック単位の画像コーディングの例を示す図である。
【
図5】実施形態によるコーディング処理のフローチャート例である。
【
図6】実施形態による、反復的なコンテンツ適応型オンライントレーニングを使用するエンドツーエンド(E2E)ニューラル画像圧縮(NIC)フレームワークの例示的なブロック図である。
【
図7】実施形態による、ニューラルネットワークを使用したエンドツーエンド(E2E)ニューラル画像圧縮(NIC)のための反復的なコンテンツ適応型オンライントレーニング方法を示すフローチャートである。
【
図8】実施形態による、ニューラルネットワークを使用したエンドツーエンド(E2E)ニューラル画像圧縮(NIC)に関する反復的なコンテンツ適応型オンライントレーニングのためのコンピュータコードの一例のブロック図である。
【発明を実施するための形態】
【0023】
例示的な実施形態の以下の詳細な説明は、添付の図面を参照する。異なる図面における同じ参照符号は、同じ又は類似の要素を特定し得る。
【0024】
上記の開示は、例示及び説明を与えるが、網羅的であること、又は開示した正確な形式に実施態様を限定することを意図したものではない。修正及び変形は、上記の開示に照らして可能であるか、又は実施態様の実践から得ることができる。さらに、一実施形態の1つ又は複数の特徴又は構成要素は、別の実施形態(又は別の実施形態の1つ又は複数の特徴)に組み込むか、又はこれに組み合わせることができる。さらに、以下で提供する動作のフローチャート及び説明において、1つ又は複数の動作が省略され得ること、1つ又は複数の動作が追加され得ること、1つ又は複数の動作が同時に(少なくとも部分的に)実行され得ること、及び1つ又は複数の動作の順序が替えられ得ることが理解される。
【0025】
本明細書で説明するシステム及び/又は方法は、異なる形態のハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組合せで実現できることは明らかであろう。これらのシステム及び/又は方法を実現するために使用する実際の特殊な制御ハードウェア又はソフトウェアコードは、実施態様を制限するものではない。こうして、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照せずに本明細書で説明した。ソフトウェア及びハードウェアは、本明細書の説明に基づいてシステム及び/又は方法を実現するように設計され得ることが理解される。
【0026】
特徴の特定の組合せが特許請求の範囲に記載され、及び/又は明細書に開示されているとしても、これらの組合せは、可能な実施態様の開示を制限することを意図したものではない。実際に、これらの特徴の多くは、特許請求の範囲に特に記載していない方法及び/又は明細書に開示していない方法で組み合わせることができる。以下に列挙する各従属請求項が1つの請求項のみに直接従属する場合があるが、可能な実施態様の開示には、クレームセット内の他の全ての請求項と組み合わせた各従属請求項が含まれる。
【0027】
以下で議論する提案する特徴は、個別に使用してもよく、又は任意の順序で組み合わせて使用してもよい。さらに、実施形態は、処理回路(例えば、1つ又は複数のプロセッサ又は1つ又は複数の集積回路)によって実現され得る。一例では、1つ又は複数のプロセッサは、非一時的なコンピュータ可読媒体に格納したプログラムを実行する。
【0028】
本明細書で使用する要素、行為、又は命令は、そのように明示的に記載していない限り、重要又は必須であると解釈すべきではない。また、本明細書で使用する場合に、冠詞「ある(a, an)」は、1つ又は複数のアイテムを含むことを意図しており、「1つ又は複数」と交換可能に使用され得る。1つのアイテムのみを意図している場合は、「1つの(one)」という用語又は同様の用語が使用される。また、本明細書で使用する場合に、「有する、含む(has, have, having)」、「含む、有する(include,
including)」等の用語は、オープンエンド(open-end)の用語であることを意図している。さらに、「~に基づいて」という語句は、明示的に別段の記載がない限り、「~に少なくとも部分的に基づいて」を意味することを意図している。さらに、「[A]及び[B]の少なくとも1つ」又は「[A]又は[B]の少なくとも1つ」等の表現は、Aのみ、Bのみ、又はAとBとの両方を含むものとして理解すべきである。
【0029】
本開示の例示的な実施形態は、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)最適化ネットワークに関するポストフィルタリングを伴うブロック単位(block-wise)のコンテンツ適応型オンライントレーニングのための方法及び装置を提供する。E2E最適化ネットワークは、例えば、人工ニューラルネットワーク(ANN)ベースの画像コーディングフレームワークであってもよい。ANNベースのビデオコーディングフレームワークでは、機械学習プロセスを実行することにより、様々なモジュールが入力から出力まで共同で最適化され、最終目標(例えば、レート歪みパフォーマンス)を改善し、その結果、E2Eに最適化したNICが得られる。
【0030】
図1は、実施形態による、コンテンツ適応型オンライントレーニングNICフレームワーク、又はコンテンツ適応型オンライントレーニングシステム等のE2E NICのための反復的なコンテンツ適応型オンライントレーニングプロセスの全体概要を示すフローチャートである。
【0031】
まず、入力画像(又はビデオシーケンス)が受信される(S110)。入力画像は、例えばブロックに分割され得る。ブロック単位の画像コーディングを実行して、ブロックを圧縮することができる。S120で、オンライントレーニングプロセスは、NICフレームワークを微調整し、パラメータ更新を生成する。NICフレームワークは、予めトレーニングしたフレームワークであってもよい。S130で、生成したパラメータ更新に基づいて、NICフレームワークパラメータのパラメータを更新する。パラメータ更新には、例えば、ステップサイズ(すなわち、学習率)及びステップ数が含まれ得るが、これらに限定されない。S140で、拡張後のネットワークを使用して、NICフレームワークをさらに拡張(enhanced)することができる。拡張後のネットワークを使用して、画像の視覚的な品質を向上させる。次に、入力画像及び生成したパラメータ更新は、例えばDNNエンコーダによって符号化され(S150)、その後、例えばDNNデコーダによって復号化される(S160)。復号化したパラメータ更新を使用して、NICフレームワークを更新し、更新したNICフレームワークを生成する(S170)。最後に、更新したNICフレームワークのデコーダを使用して、最終画像を復号化して生成する。すなわち、S180で、更新したNICフレームワークに基づいて復号化した画像が生成される。
【0032】
図2は、実施形態による、本明細書で説明する方法、機器、及びシステムを実現し得る環境200の図である。
【0033】
図2に示されるように、環境200は、ユーザ装置210、プラットフォーム220、及びネットワーク230を含むことができる。環境200の装置は、有線接続、無線接続、又は有線接続と無線接続の組合せを介して相互接続することができる。
【0034】
ユーザ装置210は、プラットフォーム220に関連する情報を受信、生成、記憶、処理、及び/又は提供することができる1つ又は複数の装置を含む。例えば、ユーザ装置210は、コンピューティング装置(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバ等)、携帯電話(例えば、スマートフォン、無線電話等)、ウェアラブル装置(例えば、一対のスマートグラス、又はスマートウォッチ)、又は同様の装置を含み得る。いくつかの実施態様では、ユーザ装置210は、プラットフォーム220から情報を受信し、及び/又はプラットフォーム220に情報を送信することができる。
【0035】
プラットフォーム220は、本明細書の他の場所で説明するように、1つ又は複数の装置を含む。いくつかの実施態様では、プラットフォーム220は、クラウドサーバ又はクラウドサーバのグループを含むことができる。いくつかの実施態様では、プラットフォーム220は、ソフトウェアコンポーネントを内外に交換(swapped in or out)できるようにモジュール式に設計され得る。こうして、プラットフォーム220は、様々な用途に合わせて容易に及び/又は迅速に再構成することができる。
【0036】
いくつかの実施態様では、示されるように、プラットフォーム220は、クラウドコンピューティング環境222でホストされてもよい。特に、本明細書で説明する実施態様では、プラットフォーム220がクラウドコンピューティング環境222でホストされるものとして説明するが、いくつかの実施態様では、プラットフォーム220は、クラウドベースでない場合がある(つまり、クラウドコンピューティング環境の外部で実現され得る)、又は部分的にクラウドベースである場合がある。
【0037】
クラウドコンピューティング環境222は、プラットフォーム220をホストする環境を含む。クラウドコンピューティング環境222は、プラットフォーム220をホストするシステム及び/又は装置の物理的な位置及び構成に関するエンドユーザ(例えば、ユーザ装置210)知見を必要としない計算、ソフトウェア、データアクセス、ストレージ等のサービスを提供することができる。示されるように、クラウドコンピューティング環境222は、コンピューティングリソース224のグループ(集合的に「コンピューティングリソース224」と呼ばれ、個別に「コンピューティングリソース224」と呼ばれる)を含み得る。
【0038】
コンピューティングリソース224には、1つ又は複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバ装置、又は他のタイプの計算及び/又は通信装置が含まれる。いくつかの実施態様では、コンピューティングリソース224は、プラットフォーム220をホストすることができる。クラウドリソースには、コンピューティングリソース224内で実行される計算インスタンス、コンピューティングリソース224内に提供されるストレージ装置、コンピューティングリソース224によって提供されるデータ転送装置等が含まれ得る。いくつかの実施態様では、コンピューティングリソース224は、有線接続、無線接続、又は有線接続と無線接続の組合せを介して他のコンピューティングリソース224と通信することができる。
【0039】
さらに、
図2に示されるように、コンピューティングリソース224は、1つ又は複数のアプリケーション(APP)224-1、1つ又は複数の仮想マシン(VM)224-2、仮想化ストレージ(VS)224-3、或いは1つ又は複数のハイパーバイザ(HYP)224-4等のクラウドリソースのグループを含む。
【0040】
アプリケーション224-1は、ユーザ装置210及び/又はプラットフォーム220に提供され得る、又はそれらによってアクセスされ得る1つ又は複数のソフトウェア・アプリケーションを含む。アプリケーション224-1は、ソフトウェア・アプリケーションをユーザ装置210にインストールして実行する必要性を排除し得る。例えば、アプリケーション224-1は、プラットフォーム220に関連付けられたソフトウェア、及び/又はクラウドコンピューティング環境222を介して提供できる任意の他のソフトウェアを含むことができる。いくつかの実施態様では、1つのアプリケーション224-1は、仮想マシン224-2を介して、1つ又は複数の他のアプリケーション224-1との間で情報を送信/受信することができる。
【0041】
仮想マシン224-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含む。仮想マシン224-2は、仮想マシン224-2による現実マシンへの使用及び対応の程度に応じて、システム仮想マシン又はプロセス仮想マシンのいずれかであり得る。システム仮想マシンは、完全なオペレーティングシステム(OS)の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一のプログラムを実行し、単一のプロセスをサポートすることができる。いくつかの実施態様では、仮想マシン224-2は、ユーザ(例えば、ユーザ装置210)に代わって実行することができ、データ管理、同期、又は長期間のデータ転送等のクラウドコンピューティング環境222のインフラストラクチャを管理することができる。
【0042】
仮想化ストレージ224-3は、コンピューティングリソース224のストレージシステム又は装置内で仮想化技術を使用する1つ又は複数のストレージシステム及び/又は1つ又は複数の装置を含む。いくつかの実施態様では、ストレージシステムの文脈内で、仮想化のタイプには、ブロック仮想化及びファイル仮想化が含まれ得る。ブロック仮想化は、物理ストレージ又は異種構造に関係なくストレージシステムにアクセスできるように、物理ストレージからの論理ストレージの抽象化(又は分離)を指す。この分離により、ストレージシステムの管理者が、エンドユーザのストレージをどのように管理するかについて柔軟性を得ることができる。ファイル仮想化により、ファイルレベルでアクセスされるデータとファイルを物理的に保存する場所との間の依存関係を排除することができる。これにより、ストレージの使用、サーバの統合、及び/又は非中断のファイル移行のパフォーマンスの最適化が可能になり得る。
【0043】
ハイパーバイザ224-4は、複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)がコンピューティングリソース224等のホストコンピュータ上で同時に実行できるようにするハードウェア仮想化技術を提供することができる。ハイパーバイザ224-4は、仮想オペレーティングプラットフォームをゲストオペレーティングシステムに提示し、ゲストオペレーティングシステムの実行を管理することができる。様々なオペレーティングシステムの複数のインスタンスが、仮想化したハードウェアリソースを共有することができる。
【0044】
ネットワーク230は、1つ又は複数の有線及び/又は無線ネットワークを含む。例えば、ネットワーク230には、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワーク等)、公衆陸上移動体ネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースのネットワーク等、及び/又はこれらのネットワーク又は他のタイプのネットワークの組合せが含まれ得る。
【0045】
図2に示される装置及びネットワークの数及び配置を一例として提供する。実際には、
図2に示されるもの以外の、追加の装置及び/又はネットワーク、より少ない装置及び/又はネットワーク、異なる装置及び/又はネットワーク、又は異なる配置の装置及び/又はネットワークが存在してもよい。さらに、
図2に示される2つ以上の装置は、単一の装置内に実装してもよく、
図2に示される単一の装置は、複数の分散型装置として実装してもよい。加えて、又は代わりに、環境200の装置のセット(例えば、1つ又は複数の装置)は、環境200の装置の別のセットによって実行されるものとして説明する1つ又は複数の機能を実行することができる。
【0046】
図3は、
図2の1つ又は複数の装置のコンポーネント例のブロック図である。
【0047】
装置300は、ユーザ装置210及び/又はプラットフォーム220に対応することができる。
図3に示されるように、装置300は、バス310、プロセッサ320、メモリ330、ストレージコンポーネント340、入力コンポーネント350、出力コンポーネント360、及び通信インターフェイス370を含み得る。
【0048】
バス310は、装置300のコンポーネント同士間の通信を許可するコンポーネントを含む。プロセッサ320は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組合せで実装される。プロセッサ320は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は別のタイプの処理コンポーネントである。いくつかの実施態様では、プロセッサ320は、機能を実行するようにプログラムできる1つ又は複数のプロセッサを含む。メモリ330は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、及び/又はプロセッサ320によって使用される情報及び/又は命令を格納する別のタイプの動的又は静的なストレージ装置(例えば、フラッシュメモリ、磁気メモリ、及び/又は光メモリ)を含む。
【0049】
ストレージコンポーネント340は、装置300の動作及び使用に関連する情報及び/又はソフトウェアを格納する。例えば、ストレージコンポーネント340は、対応するドライブと共に、ハードディスク(例えば、磁気ディスク、光ディスク、磁気-光ディスク、及び/又はソリッドステートディスク)、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は別のタイプの非一時的なコンピュータ可読媒体を含み得る。
【0050】
入力コンポーネント350は、装置300が、ユーザ入力(例えば、タッチスクリーン画面、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又はマイク)等を介して情報を受け取ることができるようにするコンポーネントを含む。加えて、又は代わりに、入力コンポーネント350は、情報を感知するためのセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又はアクチュエータ)を含んでもよい。出力コンポーネント360は、装置300から出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカ、及び/又は1つ又は複数の発光ダイオード(LED))を含む。
【0051】
通信インターフェイス370は、装置300が、有線接続、無線接続、又は有線接続と無線接続との組合せ等を介して他の装置と通信できるようにするトランシーバ状コンポーネント(例えば、トランシーバ及び/又は別個の受信機及び送信機)を含む。通信インターフェイス370は、装置300が、別の装置から情報を受信すること、及び/又は別の装置に情報を提供することを可能にし得る。例えば、通信インターフェイス370には、イーサネットインターフェイス、光インターフェイス、同軸インターフェイス、赤外線インターフェイス、無線周波数(RF)インターフェイス、ユニバーサルシリアルバス(USB)インターフェイス、Wi-Fiインターフェイス、又はセルラーネットワークインターフェイス等が含まれ得る。
【0052】
装置300は、本明細書で説明する1つ又は複数のプロセスを実行することができる。装置300は、プロセッサ320が、メモリ330及び/又はストレージコンポーネント340等の非一時的なコンピュータ可読媒体によって格納したソフトウェア命令を実行することに応答して、これらのプロセスを実行することができる。コンピュータ可読媒体は、本明細書では、非一時的な記憶装置として規定される。メモリ装置には、単一の物理ストレージ装置内のメモリ空間、又は複数の物理ストレージ装置にまたがるメモリ空間が含まれる。
【0053】
ソフトウェア命令は、別のコンピュータ可読媒体から、又は通信インターフェイス370を介して別の装置からメモリ330及び/又はストレージコンポーネント340に読み込んでもよい。メモリ330及び/又はストレージコンポーネント340に格納したソフトウェア命令は、実行されると、プロセッサ320に、本明細書で説明する1つ又は複数のプロセスを実行させることができる。加えて、又は代わりに、ハードワイヤード回路をソフトウェア命令の代わりに、又はソフトウェア命令と組み合わせて使用して、本明細書で説明する1つ又は複数のプロセスを実行することができる。こうして、本明細書で説明する実施態様は、ハードウェア回路とソフトウェアとの特定の組合せに限定されない。
【0054】
図3に示される構成要素の数及び配置は、一例として提供される。実際には、装置300は、
図3に示されるもの以外の、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、又は異なる配置のコンポーネントを含むことができる。加えて、又は代わりに、装置300のコンポーネントのセット(例えば、1つ又は複数のコンポーネント)は、装置300のコンポーネントの別のセットによって実行されるものとして説明する1つ又は複数の機能を実行することができる。
【0055】
実施形態では、
図4~
図9の動作又はプロセスのいずれか1つが、
図2及び
図3に示される要素のいずれか1つによって、又はそれを使用して実施され得る。
【0056】
いくつかの実施形態によれば、ニューラルネットワークベースの画像圧縮の一般的なプロセスは次の通りであり得る。画像又はビデオシーケンスxが与えられた場合に、NICの目標は、画像xをDNNエンコーダへの入力として使用し、保存及び送信の目的でコンパクトな圧縮表現
【数1】
を計算することである。その後、圧縮表現
【数2】
をDNNデコーダへの入力として使用して、画像x
【数3】
を再構成する。いくつかのNIC方法は変分オートエンコーダ(VAE)構造を採用する場合があり、DNNエンコーダは、画像x全体を入力として直接使用し、これ(画像)が、ブラックボックスのように機能するネットワークレイヤのセットを経て、出力表現(つまり、圧縮表現
【数4】
)を計算する。同様に、DNNデコーダは、圧縮表現
【数5】
全体を入力として受け取り、これ(圧縮表現)が、別のブラックボックスのように機能するネットワークレイヤの別のセットを経て、再構成した画像
【数6】
を計算する。レート歪み(R-D)損失は、再構成した画像
【数7】
の歪み損失
【数8】
と、圧縮表現
【数9】
のビット消費量Rとの間のトレードオフを達成するために、以下の目標損失関数Lを使用するトレードオフ・ハイパーパラメータλを使用して最適化される。
【0057】
【0058】
実施形態は、NICフレームワークのブロック単位の反復的なコンテンツ適応型E2Eオンライントレーニングに関する。まず、入力ブロックに対するレート歪みパフォーマンスを最適化することによって、入力画像xを分割する。オンライントレーニング中に、予めトレーニングしたネットワークの一部(又は全体)パラメータが更新され得る。予めトレーニングしたネットワークは、ニューラルネットワークベースであってもよい。更新した部分(又は全体)パラメータは、符号化した入力画像(つまり、圧縮表現
【数11】
)とともにビットストリームに符号化される。これらのパラメータ更新(1つ又は複数の画像によって微調整された)を使用することにより、DNNデコーダは、符号化したブロックを復号化し、より優れた圧縮パフォーマンスを達成できる。この微調整プロセスは、予めトレーニングしたE2E NIC圧縮方法の圧縮パフォーマンスを向上させるために、反復的なコンテンツ適応型オンライントレーニングNICフレームワークの前処理ステップとして使用される。いくつかの実施形態では、この方法は、反復的なコンテンツ適応型オンライントレーニングNICフレームワーク自体によってトレーニングされたE2E NICフレームワーク上でも使用され得る。
【0059】
次に、1つ又は複数の実施形態による、反復的なコンテンツ適応型オンライントレーニングNICフレームワークの前処理の詳細な説明について説明する。
【0060】
前述したように、予めトレーニングしたNICフレームワークは入力画像に基づいて微調整される。次に、微調整したNICフレームワークを使用してパラメータ更新を取得し、それ(パラメータ更新)によってNICフレームワークが更新される。このようにして、NICフレームワークをターゲット画像コンテンツに適応させることができる。NICフレームワークを微調整すると、1つ又は複数のネットワークパラメータが更新され得る。
【0061】
いくつかの実施形態では、パラメータは全体的又は部分的に更新してもよい。例えば、パラメータは、NICフレームワークの1つのモジュール(コンテキストモデル又はハイパーデコーダ等)でのみ更新される場合がある。別の例として、パラメータは、NICフレームワークの複数又は全てのモジュールに対して更新される場合がある。
【0062】
いくつかの実施形態では、バイアス項のみが最適化及び更新される。別の例示的な実施形態では、係数(重み)項が最適化される。あるいはまた、例えば、全てのパラメータを最適化してもよい。
【0063】
いくつかの実施形態では、NICフレームワークは微調整され、更新したNICフレームワークは単一の入力画像に基づいて生成される。いくつかの実施形態では、NICフレームワークは微調整され、微調整したNICフレームワークは、入力画像のセットに基づいて更新したフレームワークを生成するために使用される。
【0064】
微調整プロセスには、この反復的なオンライントレーニングプロセスでパラメータが更新される複数のエポックが含まれる。微調整は、トレーニング損失(例えば、式1の目標損失関数に基づいて決定される)が平坦化された、又はいま正に平坦化されるときに停止される。反復的なコンテンツ適応型オンライントレーニングNICフレームワークには、ステップサイズ及びステップ数という2つの主要なハイパーパラメータがある。ステップサイズは、オンライントレーニングNICフレームワークの「学習率」を示す。様々なタイプのコンテンツを含む画像は、最良の最適化結果を達成するために様々なステップサイズに対応し得る。ステップ数は、操作される更新の数を示す。目標損失関数(式1)とともに、ハイパーパラメータはオンライン学習プロセスに使用される。例えば、ステップサイズは、学習プロセスで実行される勾配降下アルゴリズム又は逆伝播計算で使用できる。反復回数は、学習プロセスをいつ終了できるかを制御するための最大反復回数のしきい値として使用できる。いくつかの実施形態では、反復的なオンライントレーニングプロセス中に、学習率(すなわち、ステップサイズ)は、スケジューラによって各ステップで変更され得る。スケジューラは学習率の値を決定し、これ(学習率の値)は、増大する、減少する、又はいくつかの間隔にわたって同じに保つことができる。異なる入力画像に対して単一のスケジューラ又は複数の(異なる)スケジューラが存在する場合がある。複数のパラメータ更新は、複数の学習率スケジューラに基づいて生成することができ、各パラメータ更新に対してより優れた圧縮パフォーマンスを有するスケジューラを選択することができる。微調整プロセスの最後に、パラメータ更新が計算される。いくつかの実施形態では、次に、パラメータ更新は微調整プロセスの最後に圧縮される。例えば、圧縮アルゴリズム(LZMA2等)を使用してパラメータ更新を圧縮することができる。別の例示的な実施形態では、パラメータ更新の圧縮は実行されない。
【0065】
いくつかの実施形態では、パラメータ更新は、微調整したパラメータと予めトレーニングしたパラメータとの間の差として計算される。いくつかの実施形態では、パラメータ更新は微調整したパラメータである。別の例示的な実施形態では、パラメータ更新は、微調整したパラメータの何らかの変換である。
【0066】
図4は、ブロック単位の画像コーディングの例を示す。実施形態による反復的なコンテンツ適応型オンライントレーニングNICフレームワークでは、入力画像全体を直接符号化する代わりに、ブロックベースのコーディングメカニズムを使用して画像フレームを圧縮することができる。ブロックベースのコーディングメカニズムを使用すると、入力画像全体が最初に同じ(又は様々な)サイズのブロックにパーティション分割され、ブロックは個別に圧縮される。
【0067】
図4に示されるように、画像400はまずブロックに分割され(
図4の破線で示される)、画像400自体の代わりに、分割したブロックが圧縮される。圧縮したブロックは、
図4では網掛けで示しており、圧縮すべきブロックは網掛していない。分割ブロックは、サイズが同じであっても、サイズが等しくなくてもよい。各ブロックのステップサイズは異なる場合がある。この目的のために、より良い圧縮結果を達成するために、画像400に対して異なるステップサイズを割り当てることができる。ブロック410は、高さh及び幅wを有する分割ブロックの1つの例である。ブロックはブロック単位の画像符号化プロセスを経て、符号化した情報のビットストリームが生成される。
【0068】
いくつかの実施形態では、画像はブロックに分割せずに圧縮することができ、画像全体をE2E NICモデルの入力とすることができる。最適化した圧縮結果を実現するために、画像が異なればステップサイズも異なる場合がある。
【0069】
ステップサイズ(すなわち、コンテンツ適応型オンライントレーニングNICフレームワークの学習率)は、画像(又はブロック)の特性に基づいて選択することができる。例えば、画像の特性は、画像の赤緑青(RGB)カラーモデル及びRGB分散に基づき得る。さらに、いくつかの実施形態では、ステップサイズは、画像(又はブロック)のRD性能に基づいて選択することができる。従って、その実施形態によれば、異なるステップサイズに基づいて複数のパラメータ更新を生成することができ、各パラメータ更新についてより良い圧縮性能を有するステップサイズを選択することができる。
【0070】
より良い圧縮結果を達成するために、複数の学習率スケジューラを異なるブロックに割り当てることができる。いくつかの実施形態では、全てのブロックが同じ学習率スケジュールを共有する。学習率スケジューラの選択は、ブロックのRGB分散又はブロックのRD性能等のブロックの特性に基づいて行うこともできる。
【0071】
実施形態によると、異なるブロックは、異なるモジュール(例えば、コンテキストモジュール又はハイパーデコーダ)内の異なるパラメータ、又は反復的なコンテンツ適応型オンライントレーニングNICフレームワークの異なるタイプのパラメータ(バイアス又は重み)を更新することができる。いくつかの実施形態では、全てのブロックが同じパラメータ更新を共有する。(更新すべき)パラメータは、ブロックのRGB分散又はブロックのRD性能等のブロックの特性に基づいて選択することができる。
【0072】
ブロックが異なれば、パラメータ更新を変換するために異なる方法が選択され得る。例えば、いくつかの実施形態では、1つのブロックは、微調整したパラメータと予めトレーニングしたパラメータとの間の差に基づいて、NICフレームワークのパラメータを更新することを選択することができる。別のブロックがパラメータを直接更新することを選択する場合がある。いくつかの実施形態では、全てのブロックパラメータが同じ方法で更新される。パラメータ更新を変換する方法は、ブロックのRGB分散又はブロックのRD性能等のブロックの特性に基づいて選択することができる。
【0073】
ブロックが異なれば、パラメータ更新を圧縮するために異なる方法が選択され得る。例えば、1つのブロックは、LZMA2アルゴリズムを使用してパラメータ更新を圧縮することができる。別のブロックは、bzip2アルゴリズムを使用してパラメータ更新を圧縮することができる。実施形態はこれに限定されず、パラメータを圧縮するのに適した任意の圧縮アルゴリズムを使用することができる。いくつかの実施形態では、全てのブロックが同じ方法を使用してパラメータ更新を圧縮する(又は圧縮しない)。圧縮方法は、ブロックのRGB分散又はブロックのRD性能等のブロックの特性に基づいて選択することができる。
【0074】
圧縮した画像又はブロックのそれぞれは、視覚的な品質を向上させるために拡張後のネットワークを使用する場合がある。拡張プロセスは、NICフレームワークパラメータを更新するために実装したプロセスと同じであり得る。いくつかの実施形態では、拡張後のネットワークは、畳み込みニューラルネットワークのセットを含む。いくつかの実施形態では、拡張後のネットワークは、1つの畳み込みニューラルネットワークレイヤのみで構成される。拡張後のネットワークは、トレーニングデータセットによって予めトレーニングすることができる。別の実施形態では、拡張後のネットワークは予めトレーニングされない。
【0075】
いくつかの実施形態では、圧縮すべき各画像/ブロックは、視覚的品質を向上させるために1つの拡張後のネットワークを使用する。別の実施形態では、圧縮すべき各画像/ブロックは、視覚的品質を反復的に向上させるために複数の拡張後のネットワークを使用する。つまり、ゲインが得られなくなるまで、画像/ブロックが次々と拡張(enhanced)される。
【0076】
再構成した画像を生成するために画像/ブロックに適用される反復的なコンテンツ適応型オンライントレーニングNICフレームワークのコーディング処理について、
図5を参照して説明する。
【0077】
図5は、実施形態によるコーディング処理のフローチャート例である。
【0078】
まず、S510で、NICフレームワークは、入力画像及びパラメータ更新を符号化する。続いて、符号化した入力及び符号化したパラメータ更新を復号化する(S520)。パラメータ更新が圧縮された場合(S530で、はい)に、オンライントレーニングプロセスから得られたパラメータ更新がまず解凍される(S540)。パラメータ更新が圧縮されていない場合(S530で、いいえ)に、処理はS550に進む。S550で、NICフレームワークは、S520からの復号化パラメータ更新、又はS540からの解凍した復号化パラメータ更新を使用して、デコーダ側で更新される。最後に、S560で、更新したNICフレームワークデコーダが、画像復号化(再構成した画像
【数12】
を生成するため)に使用される。パラメータをどのように変換したかに基づいて、更新したパラメータ値により、元の(予めトレーニングした)バイアス項が更新される。
【0079】
実施形態は、例えばニューラルエンコーダ、エンコーダ、デコーダ、及びニューラルデコーダに使用される方法にいかなる制限も課さない。実施形態によれば、反復的なコンテンツ適応型オンライントレーニング方法は、異なるタイプのNICフレームワークに対応することができる。例えば、このプロセスは、異なるタイプの符号化及び復号化DNNを使用して実行することができる。
【0080】
図6は、実施形態による、反復的なコンテンツ適応型オンライントレーニングを使用するE2E NICフレームワークの例示的なブロック
図600を示す。
【0081】
図6に示されるように、E2E NICフレームワークは、メインエンコーダ610、メインデコーダ620、ハイパーエンコーダ630、ハイパーデコーダ640、及びコンテキストモデル650を含む。E2E NICフレームワークは、1つ又は複数のそのようなモジュールを含み得る。E2E NICフレームワークは、量子化器660/661、算術コーダ670/671、及び算術デコーダ680/681をさらに含む。同じ又は類似のモジュールは同じ参照符号で表される。E2E NICフレームワークは、
図6には示されていない1つ又は複数のモジュールを含むことができる。
【0082】
E2E NICフレームワークは、スケールハイパープライア(scale-hyperprior)エンコーダ/デコーダフレームワーク(又はガウス混合尤度フレームワーク)及びその変化形、RNNベースの再帰的圧縮方法及びその変化形等の、任意のDNNベースの画像圧縮方法を使用することができる。
【0083】
本開示の実施形態によれば、E2E NICフレームワークは、以下のようにブロック
図600を利用することができる。入力画像又はビデオシーケンスxが与えられると、メインエンコーダ610は、入力画像xと比較した場合に、保存及び送信目的にコンパクトな圧縮表現
【数13】
を計算することができる。圧縮表現
【数14】
は、量子化器660を使用して、離散値の量子化表現
【数15】
に量子化することができる。次に、この離散値の量子化表現
【数16】
を、算術コーディング(可逆又は非可逆)を使用する算術コーダ670を使用して、ビットストリームにエントロピー符号化することができる。デコーダ側では、ビットストリームは、算術デコーダ680を使用して可逆エントロピー復号化又は非可逆エントロピー復号化を経て、離散値の量子化表現
【数17】
を復元することができる。次に、この離散値の量子化表現
【数18】
をメインデコーダ620に入力して、入力画像又はビデオシーケンス
【数19】
を復元及び/又は再構成することができる。メインエンコーダ610及びメインデコーダ620は、ニューラルネットワークベースのエンコーダ及びデコーダ(例えば、DNNベースのコーダ)であってもよい。
【0084】
いくつかの実施形態によれば、E2E NICフレームワークは、オンライントレーニング段階中に、圧縮性能をさらに改善するために超事前分布(hyper prior)モデル及びコンテキストモデルを含むことができる。超事前分布モデルは、ニューラルネットワークのレイヤ同士の間で生成される潜在表現の空間依存性を捕捉するために使用することができる。いくつかの実施形態によれば、サイド情報は超事前分布モデルによって使用され得、サイド情報は、通常、デコーダ側での隣接する参照フレームの動き補償された時間補間によって生成される。このサイド情報は、E2E NICフレームワークのトレーニング及び推論に使用され得る。ハイパーエンコーダ630は、超事前分布(hyperprior)ニューラルネットワークベースのエンコーダを使用して、圧縮表現
【数20】
を符号化することができる。次に、量子化器661及び算術コーダ671を使用して、ハイパー符号化後の圧縮表現のハイパー圧縮表現を生成することができる。算術デコーダ681は、ハイパー圧縮表現を復号化することができる。次に、ハイパー再構成後の画像x’が、超事前分布ニューラルネットワークベースのハイパーデコーダ640を使用して生成され得る。ニューラルネットワークベースのコンテキストモデル650は、ハイパー再構成後の画像及び量子化器660からの量子化表現を使用してトレーニングされ得る。算術コーダ670及び算術デコーダ680は、それぞれ符号化及び復号化のためにコンテキストモデル650を使用することができる。
【0085】
実施形態によれば、E2E NICフレームワークは自己トレーニングされる。トレーニングプロセスの目標は、DNN符号化及びDNN復号化(すなわち、メインエンコーダ610及びメインデコーダ620)を学習することである。トレーニングプロセスにおいて、DNN(すなわち、メインエンコーダ610及びメインデコーダ620)の重み係数は、例えば、予めトレーニングした対応するDNNモデルを使用することによって、又はそれら(モデル)を乱数に設定することによって、最初に初期化される。次に、入力トレーニング画像xが与えられると、入力トレーニング画像xは、
図4で説明した符号化プロセスを経て、符号化した情報をビットストリームに生成し、これは、次に、
図6で説明した復号化プロセスを経て、画像
【数21】
を計算して再構成する。E2E NICフレームワーク(
図6に示される)の場合に、2つの競合する目標、すなわちより良い再構成品質とより少ないビット消費量(bit consumption)が扱われる。品質損失関数
【数22】
は、従来のピーク信号対雑音比(PSNR)、マルチスケール構造類似性指数測定(MS-SSIM)、又はこれら両方の重み付けされた組合せ等の再構成品質(歪み損失とも呼ばれる)を測定するために使用することができる。レート損失
【数23】
を計算して、圧縮表現のビット消費量が測定される。従って、トレードオフ・ハイパーパラメータλを使用して、次の方程式に従って結合レート歪み(R-D)損失を最適化する。
【0086】
【0087】
ここで、Eは、符号化前の元のブロック残差と比較した、復号化後のブロック残差の歪みを測定し、これは、残差符号化/復号化DNN及び符号化/復号化DNNの正則化損失として機能する。βは、正則化損失の重要性のバランスをとるためのハイパーパラメータである。
【0088】
いくつかの実施形態では、符号化DNN及び復号化DNNは、E2Eフレームワークにおける逆伝播勾配に基づいて一緒に更新され得る。
【0089】
図7は、実施形態による、ニューラルネットワークを使用した反復的なE2E NICのコンテンツ適応型オンライントレーニングの方法700を示すフローチャートである。
【0090】
いくつかの実施態様では、
図7の1つ又は複数の処理ブロックが、プラットフォーム220によって実行され得る。いくつかの実施態様では、
図7の1つ又は複数の処理ブロックは、ユーザ装置210等の、プラットフォーム220とは別個の、又はプラットフォーム220を含む別の装置又は装置のグループによって実行してもよい。
【0091】
図7に示されるように、動作710で、方法は、E2E NICフレームワークへの入力画像を受信するステップを含むことができる。いくつかの実施形態では、この方法は、入力画像を1つ又は複数のブロックに分割するステップを含む。
【0092】
動作720で、方法700は、入力画像に基づいて、E2E NICフレームワークを微調整するステップを含むことができる。
【0093】
動作730で、方法700は、微調整したE2E NICフレームワークの第1のニューラルネットワークを使用して、パラメータ更新を計算するステップを含むことができる。パラメータ更新は、学習率及びステップ数を含むことができ、学習率及びステップ数は、入力画像の特性に基づいて選択される。入力画像の特性は、入力画像のRGB分散及び入力画像のRD性能のうちの1つであり得る。
【0094】
動作740で、方法700は、拡張後のネットワークである第2のニューラルネットワークに基づいて、微調整したE2E NICフレームワークを拡張する(enhancing)ステップを含むことができる。拡張後のネットワークは、畳み込みニューラルネットワークのセット又は畳み込みニューラルネットワークのレイヤであり得る。さらに、1つ又は複数の拡張後のネットワークを使用して、微調整したE2E NICフレームワークを拡張することができる。
【0095】
動作750で、方法700は、拡張したE2E NICフレームワーク及びパラメータ更新に基づいて、更新したE2E NICフレームワークを生成するステップを含むことができる。
【0096】
いくつかの実施形態では、この方法は、入力画像及びパラメータ更新を符号化して入力画像及びパラメータ更新の圧縮表現を生成するステップと、パラメータ更新の圧縮表現を復号化して復号化したパラメータ更新を生成するステップと、復号化したパラメータ更新に基づいてE2E NICを更新するステップと、更新したE2E NICフレームワークに基づいて入力画像の圧縮表現を復号化して再構成した画像を生成するステップと、を含む。
【0097】
いくつかの実施形態では、この方法は、入力画像及びパラメータ更新の圧縮表現の消費量、トレードオフ・ハイパーパラメータ、及び再構成した画像の復号化ブロック残差の歪みに基づいて、再構成した画像の歪み損失を決定するステップを含む。
【0098】
図7は、この方法の例示的なブロックを示しているが、いくつかの実施態様では、この方法は、
図7に示されるもの以外の、追加のブロック、より少ないブロック、異なるブロック、又は異なるように配置されたブロックを含み得る。加えて、又は代わりに、この方法の2つ以上のブロックを並行して実行することができる。
【0099】
図8は、実施形態による、ニューラルネットワークを使用したE2E NICの反復的なコンテンツ適応型オンライントレーニングのためのコンピュータコード800の一例のブロック図である。本開示の実施形態によれば、コンピュータコードを記憶するメモリを備えた少なくとも1つのプロセッサを含む機器/装置が提供され得る。コンピュータコードは、少なくとも1つのプロセッサによって実行されると、本開示の任意の数の態様を実行するように構成され得る。
【0100】
図8に示されるように、コンピュータコード800は、受信コード810、微調整コード820、計算コード830、拡張コード840、及び生成コード850を含む。
【0101】
受信コード810は、少なくとも1つのプロセッサに、E2E NICフレームワークへの入力画像を受信させるように構成される。コンピュータコード800は、少なくとも1つのプロセッサに、入力画像を1つ又は複数のブロックに分割/パーティション分割させるように構成されたコードをさらに含むことができる。
【0102】
微調整コード820は、少なくとも1つのプロセッサに、入力画像に基づいて、E2E NICフレームワークを微調整させるように構成されたコードを少なくとも1つのプロセッサに微調整させるように構成される。
【0103】
計算コード830は、少なくとも1つのプロセッサに、微調整したE2E NICフレームワークの第1のニューラルネットワークを使用してパラメータ更新を計算させるように構成される。パラメータ更新は、学習率及びステップ数を含むことができ、学習率及びステップ数は、入力画像の特性に基づいて選択される。入力画像の特性は、入力画像のRGB分散及び入力画像のRD性能のうちの1つであり得る。
【0104】
拡張コード840は、少なくとも1つのプロセッサに、拡張後のネットワークである第2のニューラルネットワークに基づいて、微調整したE2E NICフレームワークを拡張させるように構成される。拡張後のネットワークは、畳み込みニューラルネットワークのセット又は畳み込みニューラルネットワークのレイヤであり得る。さらに、1つ又は複数の拡張後のネットワークを使用して、微調整したE2E NICフレームワークを拡張することができる。
【0105】
生成コード850は、少なくとも1つのプロセッサに、拡張したE2E NICフレームワーク及びパラメータ更新に基づいて、更新したE2E NICフレームワークを生成させるように構成される。
【0106】
コンピュータコード800は、少なくとも1つのプロセッサに、入力画像及びパラメータ更新を符号化させて入力画像及びパラメータ更新の圧縮表現を生成させ、パラメータ更新の圧縮表現を復号化させて復号化したパラメータ更新を生成させ、復号化したパラメータ更新に基づいてE2E NICフレームワークを更新させ、及び更新したE2E NICフレームワークに基づいて入力画像の圧縮表現を復号化して再構成した画像を生成させるように構成されたコードをさらに含んでもよい。
【0107】
コンピュータコード800は、少なくとも1つのプロセッサに、入力画像及びパラメータ更新の圧縮表現の消費量、トレードオフ・ハイパーパラメータ、及び再構成した画像の復号化ブロック残差の歪みに基づいて、再構成した画像の歪み損失を決定させるように構成されたコードをさらに含んでもよい。
【0108】
図8は、コードの例示的なブロックを示しているが、いくつかの実施態様では、機器/装置は、
図8に示されるもの以外の、追加のブロック、より少ないブロック、異なるブロック、又は異なるように配置されたブロックを含み得る。加えて、又は代わりに、機器の2つ以上のブロックを組み合わせることができる。換言すれば、
図8は、コードの別個のブロックを示しているが、様々なコード命令は別個である必要はなく、混合することもできる。
【0109】
本開示で説明するE2E NICフレームワークの反復的なコンテンツ適応型オンライントレーニングのための方法及びプロセスは、適応型オンライントレーニングメカニズムに柔軟性を提供して、NICコーディング効率を改善し、DNNベースの方法又は従来のモデルベースの方法を含む、様々なタイプの学習ベースの量子化方法をサポートする。説明した方法は、異なるDNNアーキテクチャ及び複数の品質メトリクスに対応する柔軟で一般的なフレームワークも提供する。
【0110】
上述の技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装することができ、1つ又は複数のコンピュータ可読媒体に物理的に記憶するか、又は特別に構成した1つ又は複数のハードウェアプロセッサによって実現することができる。例えば、
図2は、様々な実施形態を実現するのに適した環境200を示す。一例では、1つ又は複数のプロセッサは、非一時的なコンピュータ可読媒体に格納したプログラムを実行する。
【0111】
本明細書で使用する場合に、コンポーネントという用語は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せとして広く解釈されることを意図している。
【0112】
本明細書に記載のシステム及び/又は方法は、異なる形態のハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せで実現できることは明らかであろう。これらのシステム及び/又は方法を実現するために使用する実際の特殊な制御ハードウェア又はソフトウェアコードは、実施態様を制限するものではない。こうして、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書で説明したが、ソフトウェア及びハードウェアは、本明細書の説明に基づいてシステム及び/又は方法を実現するように設計され得ることが理解される。
【0113】
コンピュータソフトウェアは、任意の適切な機械コード又はコンピュータ言語を使用してコード化することができ、アセンブリ、コンパイル、リンク、又は同様のメカニズムの処理の対象となり、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)等によって直接実行できる、又はマイクロコードの解釈を通じて実行できる命令を含むコードを作成することができる。
【0114】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、及びモノのインターネット装置等を含む、様々なタイプのコンピュータ又はそのコンポーネント上で実行することができる。
【0115】
本開示はいくつかの例示的な実施形態を説明したが、本開示の範囲内に含まれる変更、置換、及び様々な代替均等物が存在する。こうして、当業者であれば、本明細書では明示的に図示又は説明していないが、本開示の原理を具体化し、こうして本開示の精神及び範囲内にある多くのシステム及び方法を想起することができることが理解されよう。
【国際調査報告】