(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-10
(54)【発明の名称】置換を伴う非線形量子化を用いたニューラル画像圧縮のための方法、装置、およびコンピュータプログラム
(51)【国際特許分類】
H04N 19/124 20140101AFI20231002BHJP
【FI】
H04N19/124
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023518851
(86)(22)【出願日】2022-05-31
(85)【翻訳文提出日】2023-03-23
(86)【国際出願番号】 US2022031505
(87)【国際公開番号】W WO2022265846
(87)【国際公開日】2022-12-22
(32)【優先日】2021-06-18
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-05-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シェン・リン
(72)【発明者】
【氏名】ウェイ・ジアン
(72)【発明者】
【氏名】シャン・リュウ
(72)【発明者】
【氏名】ウェイ・ワン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MD03
5C159ME01
5C159ME11
5C159TA52
5C159TC08
5C159TC18
5C159TD02
5C159TD17
5C159UA02
5C159UA05
(57)【要約】
置換を伴う非線形量子化を用いたエンドツーエンドのニューラル画像圧縮のための方法、装置、および非一時的ストレージ媒体が提供され、本方法は、1つまたは複数の入力画像を受信するステップと、ニューラルネットワークベースの代替フィーチャ生成器を使用して、入力画像に基づいて、入力画像に関連付けられた代替画像を生成するステップと、代替画像を圧縮するステップと、非線形量子化器を使用することにより、圧縮された代替画像を量子化して、より高い圧縮成果を有する入力画像の量子化表現を取得するステップと、ニューラルネットワークベースのエンコーダを使用して、量子化された代替画像をエントロピーエンコーディングすることにより、量子化表現の圧縮表現を生成するステップと、を含む。
【特許請求の範囲】
【請求項1】
置換を伴う非線形量子化を用いたニューラル画像圧縮のための方法であって、前記方法は1つまたは複数のプロセッサによって実行され、前記方法は、
入力画像を受信するステップと、
ニューラルネットワークベースの代替フィーチャ生成器を使用して、前記入力画像に基づいて代替画像を生成するステップと、
前記代替画像を圧縮するステップと、
非線形量子化器を使用することにより、圧縮された前記代替画像を量子化して、より高い圧縮成果を有する前記入力画像の量子化表現を取得するステップと、
ニューラルネットワークベースのエンコーダを使用して、量子化された前記代替画像をエントロピーエンコーディングすることにより、前記量子化表現の圧縮表現を生成するステップと、
を含む、ニューラル画像圧縮のための方法。
【請求項2】
前記非線形量子化器は対数量子化器である、請求項1に記載の方法。
【請求項3】
前記量子化表現を取得する前記ステップは、
前記代替画像に関連付けられた1つまたは複数のフィーチャを受信するステップと、
前記代替画像に関連付けられた前記1つまたは複数のフィーチャの1つまたは複数のそれぞれの対数値を生成するステップと、
前記1つまたは複数のそれぞれの対数値の整数丸めに基づいて、前記量子化表現を生成するステップと、
を含む、請求項2に記載の方法。
【請求項4】
前記方法は、
前記圧縮表現を受信するステップと、
ニューラルネットワークベースのデコーダを使用して、前記圧縮表現をデコーディングするステップと、
デコーディングされた前記圧縮表現に基づいて、再構成画像を生成するステップと、
をさらに含む、請求項1に記載の方法。
【請求項5】
最良の圧縮表現は、前記入力画像と前記再構成画像との間のレート歪み損失と、前記圧縮表現のビット消費率との間のトレードオフにおける大域的最小値である、請求項4に記載の方法。
【請求項6】
前記圧縮表現を生成する前記ステップは、
事前ハイパーニューラルネットワークベースのエンコーダを使用して、エンコーディングされた前記代替画像をハイパーエンコーディングするステップと、
第2の非線形量子化器およびエントロピーコーディングを使用して、ハイパーエンコーディングされた前記代替画像のハイパー圧縮表現を生成するステップと、
事前ハイパーニューラルネットワークベースのデコーダを使用して、前記ハイパー圧縮表現をハイパーデコーディングして再構成ハイパー画像を生成するステップと、
前記再構成ハイパー画像および前記量子化表現に基づいてコンテキストニューラルネットワークモデルを訓練するステップと、
エントロピーコーディングおよび前記コンテキストニューラルネットワークモデルを使用して、前記量子化表現の前記圧縮表現を生成するステップと、
を含む、請求項1に記載の方法。
【請求項7】
前記ニューラル画像圧縮は事前学習モデルを含み、また、前記事前学習モデルに関連付けられた1つまたは複数のモデル重みが固定されている、請求項1に記載の方法。
【請求項8】
前記事前学習モデルは、前記非線形量子化器を使用して微調整される、請求項7に記載の方法。
【請求項9】
前記ニューラル画像圧縮は学習済みモデルを含み、前記学習済みモデルを訓練するステップは、
前記学習済みモデルの学習率を初期化するステップと、
前記学習済みモデルの前記学習率を閾値回数分調整するステップであって、調整する前記ステップが、1つまたは複数の学習用画像の画像特性に基づいて行われる、ステップと、
連続する反復間の前記学習率の差が学習閾値を下回ったと判定するステップ、
損失関数の出力損失が第1の反復回数にわたって一定していると判定するステップ、または
前記学習率が最大反復回数にわたって調整されたと判定するステップ、
のうちの少なくともいずれかに基づいて、訓練する前記ステップを終了するステップと、
を含む、請求項1に記載の方法。
【請求項10】
前記学習率を調整する前記ステップは、前記損失関数の前記出力損失に反比例するように行われる、請求項9に記載の方法。
【請求項11】
置換を伴う非線形量子化を用いたニューラル画像圧縮のための装置であって、前記装置は、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードによって命令される通りに動作するように構成された少なくとも1つのプロセッサであって、前記プログラムコードは、
前記少なくとも1つのプロセッサに入力画像を受信させるように構成された第1の受信コード、
前記少なくとも1つのプロセッサに、ニューラルネットワークベースの代替フィーチャ生成器を使用して、前記入力画像に基づいて代替画像を生成させるように構成された第1の生成コード、
前記少なくとも1つのプロセッサに、前記代替画像を圧縮させるように構成された圧縮コード、
前記少なくとも1つのプロセッサに、非線形量子化器を使用することにより、圧縮された前記代替画像を量子化して、より高い圧縮成果を有する前記入力画像の量子化表現を取得させるように構成された量子化コード、および
前記少なくとも1つのプロセッサに、ニューラルネットワークベースのエンコーダを使用して、量子化された前記代替画像をエントロピーエンコーディングすることにより、前記量子化表現の圧縮表現を生成させるように構成されたエンコーディングコード
を含む、プロセッサと、
を備える、ニューラル画像圧縮のための装置。
【請求項12】
前記非線形量子化器は対数量子化器であり、前記量子化コードは、
前記少なくとも1つのプロセッサに、前記代替画像に関連付けられた1つまたは複数のフィーチャを受信させるように構成された第2の受信コード、
前記少なくとも1つのプロセッサに、前記代替画像に関連付けられた前記1つまたは複数のフィーチャの1つまたは複数のそれぞれの対数値を生成させるように構成された第2の生成コード、および
前記少なくとも1つのプロセッサに、前記1つまたは複数のそれぞれの対数値の整数丸めに基づいて、前記量子化表現を生成させるように構成された第3の生成コード
をさらに含む、請求項11に記載の装置。
【請求項13】
前記プログラムコードは、
前記少なくとも1つのプロセッサに、前記圧縮表現を受信させるように構成された第3の受信コード、
前記少なくとも1つのプロセッサに、ニューラルネットワークベースのデコーダを使用して、前記圧縮表現をデコーディングさせるように構成された第1のデコーディングコード、および
前記少なくとも1つのプロセッサに、前記デコーディングされた圧縮表現に基づいて、再構成画像を生成させるように構成された第4の生成コード
をさらに含む、請求項11に記載の装置。
【請求項14】
最良の圧縮表現は、前記入力画像と前記再構成画像との間のレート歪み損失と、前記圧縮表現のビット消費率との間のトレードオフにおける大域的最小値である、請求項13に記載の装置。
【請求項15】
前記ニューラル画像圧縮は事前学習モデルを含み、また、前記事前学習モデルに関連付けられた1つまたは複数のモデル重みが固定されている、請求項11に記載の装置。
【請求項16】
前記事前学習モデルは、前記非線形量子化器を使用して微調整される、請求項15に記載の装置。
【請求項17】
命令を記憶している非一時的コンピュータ可読媒体であって、置換を伴う非線形量子化を用いたニューラル画像圧縮を行うために、少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに対し、
圧縮対象の入力画像を受信させ、
ニューラルネットワークベースの代替フィーチャ生成器を使用して、前記入力画像に基づいて代替画像を生成させ、
前記代替画像を圧縮させ、
非線形量子化器を使用することにより、圧縮された前記代替画像を量子化して、より高い圧縮成果を有する前記入力画像の量子化表現を取得させ、
ニューラルネットワークベースのエンコーダを使用して、量子化された前記代替画像をエントロピーエンコーディングすることにより、前記量子化表現の圧縮表現を生成させる、
非一時的コンピュータ可読媒体。
【請求項18】
前記非線形量子化器は対数量子化器であり、前記量子化表現の前記生成は、
前記代替画像に関連付けられた1つまたは複数のフィーチャを受信することと、
前記代替画像に関連付けられた前記1つまたは複数のフィーチャの1つまたは複数のそれぞれの対数値を生成することと、
前記1つまたは複数のそれぞれの対数値の整数丸めに基づいて、前記量子化表現を生成することと、
を含む、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに対し、さらに
前記圧縮表現を受信させ、
ニューラルネットワークベースのデコーダを使用して、前記圧縮表現をデコーディングさせ、
前記デコーディングされた圧縮表現に基づいて、再構成画像を生成させる、
請求項17に記載の非一時的コンピュータ可読媒体。
【請求項20】
最良の圧縮表現は、前記入力画像と前記再構成画像との間のレート歪み損失と、前記圧縮表現のビット消費率との間のトレードオフにおける大域的最小値である、請求項19に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年6月18日に出願された米国仮特許出願第63/212,452号、および2022年5月26日に出願された米国特許出願第17/825,594号に基づいており、それらの優先権を主張し、これらの開示内容は、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【0002】
近年、ISO/IEC MPEG(JTC 1/SC 29/WG 11)は、将来のビデオコーディング技術、とりわけ機械学習または人工知能(ML/AI)を活用し得る標準の規格化を積極的に試みている。ISO/IEC JPEGは、AIベースのエンドツーエンドのニューラル画像圧縮に焦点を当てたJPEG-AIグループを確立している。また、中国のAVS規格では、AVS-AI専門グループも結成され、ニューラル画像およびビデオ圧縮技術に取り組んでいる。さらに、ニューラル画像圧縮(NIC)のための専門研究プロジェクトにも資金が提供されている。
【0003】
ニューラルネットワークベースのビデオまたは画像コーディングフレームワークでは、複数のモデルを使用してもよく、またそれぞれが大規模なデータセットを必要とし、複数の機械学習モデルを実装することができる。従来のハイブリッド・ビデオ・コーデック・フレームワークは、複数のモデルの各々を別々に訓練かつ最適化することに焦点を当てている可能性があり、これにより、レート歪み損失が増大するか、またはビデオもしくは画像コーディングフレームワークの計算コストが増大し、その結果、画像またはビデオフレームワーク/プロセスの全体的な性能が低下する恐れがある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、コーディングフレームワークを最適化し、かつ全体的な性能を向上させる方法が必要とされている。
【課題を解決するための手段】
【0005】
いくつかの実施形態によれば、置換を伴う非線形量子化を用いた、ニューラル画像圧縮のための方法が提供され得る。本方法は、1つまたは複数のプロセッサによって実行されてもよい。本方法は、圧縮対象の入力画像を受信するステップと、ニューラルネットワークベースの代替フィーチャ生成器を使用して、入力画像に基づいて代替画像を生成するステップと、代替画像を圧縮するステップと、非線形量子化器を使用することにより、圧縮された代替画像を量子化して、より高い圧縮成果を有する入力画像の量子化表現を取得するステップと、ニューラルネットワークベースのエンコーダを使用して、量子化された代替画像をエントロピーエンコーディングすることにより、量子化表現の圧縮表現を生成するステップとを含んでもよい。
【0006】
いくつかの実施形態によれば、置換を伴う非線形量子化を用いた、ニューラル画像圧縮のための装置が提供され得る。本装置は、プログラムコードを記憶するように構成された少なくとも1つのメモリと、プログラムコードを読み出し、プログラムコードによって命令される通りに動作するように構成された少なくとも1つのプロセッサとを備えてもよい。プログラムコードは、少なくとも1つのプロセッサに入力画像を受信させるように構成された第1の受信コード、少なくとも1つのプロセッサに、ニューラルネットワークベースの代替フィーチャ生成器を使用して、入力画像に基づいて代替画像を生成させるように構成された第1の生成コード、少なくとも1つのプロセッサに、代替画像を圧縮させるように構成された圧縮コード、少なくとも1つのプロセッサに、非線形量子化器を使用することにより、圧縮された代替画像を量子化して、より高い圧縮成果を有する入力画像の量子化表現を取得させるように構成された量子化コード、および少なくとも1つのプロセッサに、ニューラルネットワークベースのエンコーダを使用して、量子化された代替画像をエントロピーエンコーディングすることにより、量子化表現の圧縮表現を生成させるように構成されたエンコーディングコードを含んでもよい。
【0007】
いくつかの実施形態によれば、命令を記憶した非一時的コンピュータ可読媒体が提供され得る。命令は、置換を伴う非線形量子化を用いたニューラル画像圧縮を行うために、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに対し、入力画像を受信させてもよく、ニューラルネットワークベースの代替フィーチャ生成器を使用して、入力画像に基づいて代替画像を生成させてもよく、代替画像を圧縮させてもよく、非線形量子化器を使用することにより、圧縮された代替画像を量子化して、より高い圧縮成果を有する入力画像の量子化表現を取得させてもよく、かつニューラルネットワークベースのエンコーダを使用して、量子化された代替画像をエントロピーエンコーディングすることにより、量子化表現の圧縮表現を生成させてもよい。
【図面の簡単な説明】
【0008】
【
図1】いくつかの実施形態による、本明細書に記載している方法、装置、およびシステムがその中に実装され得る環境を示す図である。
【
図2】
図1の1つまたは複数のデバイスの例示的なコンポーネントを示すブロック図である。
【
図3】いくつかの実施形態による、例示的な非線形量子化プロセスを示す図である。
【
図4】いくつかの実施形態による、置換を伴う非線形量子化を用いた、エンドツーエンドのニューラル画像圧縮フレームワークを示すブロック図である。
【
図5A】いくつかの実施形態による、置換を伴う非線形量子化を用いた、エンドツーエンドのニューラル画像のための1つまたは複数の方法の1つまたは複数のフローチャートを示す図である。
【
図5B】いくつかの実施形態による、置換を伴う非線形量子化を用いた、エンドツーエンドのニューラル画像のための1つまたは複数の方法の1つまたは複数のフローチャートを示す図である。
【発明を実施するための形態】
【0009】
本開示の実施形態は、入力画像を受信するステップと、変換および量子化を実行することによって入力画像の代替表現を求めるステップと、当該代替表現を圧縮するステップとを含み得るエンドツーエンドの(E2E)ニューラル画像圧縮(NIC)のための方法、装置、およびシステムに関する。E2E NICフレームワークは、E2E NICフレームワークの複数の品質基準(例えば、レート歪み性能)を最適化することによって圧縮表現を生成する、1つまたは複数の深層ニューラルネットワークベースのモデル/層を調整することができる。
【0010】
上述したように、従来のハイブリッド・ビデオ・コーデック・フレームワークは、画像またはビデオコーディングフレームワークに含まれる機械学習モデルを別々に訓練して最適化することに焦点を当てている可能性があり、その結果、圧縮性能が全体的に低下する恐れがある。一方、E2E NICフレームワークにより、最終目的(例えば、レート歪み損失の最小化)を改善するために、単一のモジュールとして入力から出力への画像またはビデオコーディングを(その間にある層を使用して)共に最適化することができる。したがって、E2E NICフレームワークは、より良好な性能を実現するためにコーディングシステム全体を最適化することができ、場合によっては、フレームワークの全体的な計算負荷を低減することができる。
【0011】
E2E NICフレームワークでは、量子化プロセスおよび圧縮プロセスがとりわけ重要であり得る。量子化は画像圧縮およびビデオ圧縮における中核プロセスであり得るが、量子化は圧縮品質が低下する原因にもなり得る。したがって、量子化効率を向上させることで、画像またはビデオコーディングフレームワークの全体的な性能向上がもたらされ得る。本開示の実施形態によれば、入力画像の上位変更を利用することで、上位代替画像または上位代用画像がより効果的に量子化され、その結果より効果的に圧縮され得る。したがって、本開示の実施形態は、ニューラルネットワークベースのモデルを使用し、圧縮可能でより良好な代替画像を利用することで代替画像を生成することができ、続いてより効果的な圧縮性能を得るために、当該代替画像を量子化することができる新規なE2E NICフレームワークに関する。圧縮により一層適している代替画像を使用した非線形量子化を含む当該E2E NICフレームワークを利用することにより、全体的なコーディング性能が向上し、原入力画像の量子化中に圧縮損失が生じるのを低減する。
【0012】
いくつかの実施形態によれば、E2E NICフレームワークは、深層ニューラルネットワークベースの画像またはビデオコーディング方法であってもよい。量子化プロセスでは非線形量子化器を利用することができ、量子化表現をエントロピーコーディングして圧縮表現を生成することができる。いくつかの実施形態では、E2E NICフレームワークは、任意の好適な1つまたは複数のニューラルネットワークベースの方法、1つまたは複数のモデル、または1つまたは複数の層を含んでもよい。本明細書に開示される実施形態は、限定的または排他的であることを意図しない。E2E NICフレームワークは事前学習してもよく、また本明細書に開示される1つまたは複数の方法を用いて微調整されてもよい。本開示のいくつかの実施形態によれば、E2E NICフレームワークは共同訓練されてもよく、かつ推論に使用されてもよい。
【0013】
いくつかの実施形態によれば、ニューラルネットワークベースの画像圧縮のプロセスは、以下の通りであってもよい。入力画像またはビデオシーケンスxが付与されると、入力xに基づいて、ニューラルネットワークベースのエンコーダ(例えば、深層ニューラルネットワーク(DNN)ベースのエンコーダ)が、入力画像xと比較した場合に保存および送信がより容易な圧縮表現fを計算することができる。圧縮表現fは、離散値量子化表現
【数1】
に量子化されてもよい。当該離散値量子化表現
【数2】
は、その後容易に保存され、かつ送信されるように可逆圧縮で、または非可逆圧縮でビットストリームにエントロピーコーディングされてもよい(例えば算術コーディングまたはハフマンコーディングを使用して)。デコーダ側では、離散値量子化表現
【数3】
を復元するために、ビットストリームが可逆圧縮または非可逆圧縮でのエントロピーデコーディングを経ることができる。次に、当該離散値量子化表現
【数4】
をニューラルネットワークベースのデコーダ(例えば、DNNベースのデコーダ)に入力して、入力画像またはビデオシーケンス
【数5】
を復元かつ/または再構成することができる。
【0014】
入力画像の品質および特性、1つまたは複数のサイド情報、および1つまたは複数の目標品質基準に応じて、入力画像の圧縮表現が、特定の閾値を超える損失を有する場合がある。また、上述したニューラルネットワークベースの画像圧縮プロセスにおいて、量子化は中核ステップであり、圧縮品質の低下が生じる主要原因のうちの1つでもある。量子化効率を向上させることで、画像圧縮タスクおよびビデオ圧縮タスクにおいて大幅な性能向上がもたらされ得る。したがって、本開示の実施形態によれば、上位代替画像のより効率的な量子化を活用した、入力画像の置換を伴う非線形量子化のための方法が提供される。1つまたは複数の本方法の実施形態は、すべての画像圧縮タスクおよびビデオ圧縮タスクにおける性能向上を促進するものである。
【0015】
従来技術では、コーディングフェーズまたは推論フェーズ中に、一様量子化器またはスカラ量子化器が量子化器として使用され得る。一様量子化器またはスカラ量子化器は、学習フレーズ中に低ノイズ量子化器に置き換えられ得る。1つまたは複数のE2E NICの訓練中に、レート歪み損失を最適化することにより、再構成された入力画像またはビデオシーケンスの歪み損失
【数6】
と、圧縮表現
【数7】
のビット消費量Rとの間のトレードオフをトレードオフハイパーパラメータλを用いて達成することができる。
【0016】
【0017】
本開示の実施形態によれば、量子化を使用して、ニューラルネットワークベースのエンコーダによって学習されたフィーチャを圧縮するエントロピーコーダをサポートすることができる。E2E NICフレームワークを訓練することは、同一のモデル内のすべての画像処理タスクを訓練することを含むので、画像圧縮またはビデオ圧縮に必要な学習用データは膨大になり得、また当該データは広範囲にわたる値によって表され得る。一様量子化またはスカラ量子化は、量子化間隔が一定であるため計算機負荷が低い可能性があるが、モデルデータ値とそれらの量子化表現との間のマッピングが一貫していない可能性があるため、より高いエラーレートが発生することになる。信号対雑音比は、高レベル信号の場合は大きくなり、低レベル信号の場合は小さくなり得る。一実施例として、いくつかの量子化表現を、過度に多いか、または過度に少ない数のモデルデータ値にマッピングしてもよい。
【0018】
本開示の実施形態によれば、広範囲のモデルデータ値であっても、非線形量子化を用いて効率的なエントロピーコーディングおよび圧縮を行うことができる。一実施例として、非線形量子化には対数量子化や指数量子化を用いてもよい。本開示の実施形態によれば、対数量子化では、圧縮画像のフィーチャの対数値を丸めてもよく、E2E NICフレームワークでは、エンコーディングビットストリームをエントロピーコーディングしたり、生成したりするための入力として、量子化値および/または量子化表現を使用してもよい。
【0019】
本開示の実施形態によれば、E2E NICフレームワークでは、圧縮対象のビデオシーケンス内の入力画像またはフレームごとに、オンライン学習方法を用いて入力画像の最適な代替画像を検出し、次いで入力画像の代わりに当該代替画像を圧縮かつ量子化することができる。入力画像の代わりに最適な代替画像または少なくとも上位の代替画像を量子化することにより、量子化表現において、より効果的な圧縮や総合的なコーディング性能を得ることができる。いくつかの実施形態によれば、代替画像を生成するステップと、それに続く代替画像上で対数量子化を行うなどの非線形量子化を行うステップとを組み合わせる例示的な方法を用いて、任意の好適なニューラルネットワークベースのE2E NICフレームワークの圧縮性能を改善することができる。
【0020】
本開示の実施形態によれば、ニューラルネットワークベースの画像圧縮フレームワークは、事前学習したDNNモデルを含んでもよく、また、事前学習モデルであるDNNモデルに関連付けられた1つまたは複数のモデル重みが固定されてもよい。いくつかの実施形態では、DNNモデルの1つまたは複数のハイパーパラメータを訓練または微調整してもよい。
【0021】
本開示の実施形態によれば、E2E NICフレームワークおよびその中の1つまたは複数の任意のモデルには、ステップサイズおよびステップ数という重要なハイパーパラメータが設けられてもよい。ステップサイズは、オンライン学習の「学習率」を示す。オンライン学習は、本明細書に記載の1つまたは複数のモデルの実時間学習を含んでもよい。異なる形式のコンテンツを有する画像は、最良の最適化結果を得るために、異なるステップサイズに対応してもよい。一実施例として、特定の解像度の画像、特定のメタデータ(例えば、ラベル、フィーチャなど)を含む画像、または特定のコーディング特性(例えば、予測モード、CUサイズ、ブロックサイズなど)は、最良の最適化結果を得るために異なるステップサイズに対応してもよい。ステップ数は、実行された更新の数を示してもよい。目標損失関数
【数9】
と共に、ハイパーパラメータがオンライン学習プロセスに使用されてもよい。例えば、ステップサイズは、学習プロセスで実行される勾配降下アルゴリズムまたは逆伝播計算で使用されてもよい。反復回数は、学習プロセスを終了することができる時点を制御するための、最大反復回数の閾値として使用されてもよい。
【0022】
一実施例として、代替画像x’が存在し、当該画像が圧縮表現
【数10】
にマッピングされ得、また圧縮表現
【数11】
が距離測定または損失関数に基づいて入力画像xにより近似し得る場合、原入力画像xを使用した場合に実現し得るよりも効果的な圧縮が代替画像x’を使用して得られてもよい。いくつかの実施形態によれば、最良の圧縮表現は、入力画像と再構成画像との間のレート歪み損失と、圧縮表現のビット消費率との間のトレードオフにおける大域的最小値で得られてもよい。一実施例として、最良の圧縮性能は、式1の大域的最小値で得られてもよい。
【0023】
従来技術では、量子化するステップは、単に入力画像中のエンコーディングされたフィーチャに丸め関数を適用するステップを含み得る。しかしながら、本開示の実施形態によれば、当該量子化するステップは、対数量子化などの非線形量子化を含んでもよい。また、従来技術にあるように、入力画像の代わりに、生成済みの代替画像中のエンコーディングされたフィーチャに対して量子化するステップが実行されてもよい。本開示の実施形態によれば、学習中の複数の反復(例えば、平均2乗誤差(MSE)、2値の交差エントロピー(BCE)、多クラス用の交差エントロピー(CC)、対数損失、指数損失、ヒンジ損失など)において損失が全体的に観察され得る。損失が一定であるか、横ばいであるか、または反復回数の閾値を超えている場合、時間およびリソースを節約するために学習を終了してもよい。いくつかの実施形態によれば、対数量子化は、より良好な圧縮性能を得るべく事前学習モデルを微調整するために使用されてもよい。
【0024】
いくつかの実施形態によれば、学習率またはステップサイズは、損失関数の出力によって変更されてもよい。一実施例として、損失が漸次変化している場合は、ステップサイズを大幅に拡大してもよい。その反対に、損失が急激に変化している場合は、ステップサイズを漸次変更してもよい。
【0025】
本開示の実施形態は、システム全体として画像圧縮を最適化することにより、圧縮性能を向上させるエンドツーエンドのニューラル画像圧縮モデルに関する。本開示の実施形態により、ニューラルネットワークベースの画像置換方法および非線形量子化を使用して、より良好な画像圧縮を行うことができる。本開示は、エンドツーエンドの効果的なニューラル画像圧縮を実現し、かつコーディング性能を向上させるために、ニューラルネットワークベースの代替画像生成方法/モデルを非線形量子化と組み合わせるための新規な機構、方法、および装置を提供する。いくつかの実施形態によれば、エンドツーエンドのニューラルネットワークベースの置換および/または1つまたは複数の非線形量子化モデルは、事前学習し、その後微調整されてもよく、または学習すると同時に推論に使用されてもよい。ニューラルネットワークのこうした微調整または共同訓練および推論は、処理効率を高め、オーバーヘッドを低減する。
【0026】
図1は、いくつかの実施形態による、本明細書に記載している方法、装置、およびシステムがその中に実装され得る環境100を示す図である。
【0027】
図1に示されるように、環境100は、ユーザデバイス110と、プラットフォーム120と、ネットワーク130とを含んでもよい。環境100のデバイスは、有線接続、無線接続、または有線接続と無線接続との組合せを介して相互接続されてもよい。
【0028】
ユーザデバイス110は、プラットフォーム120に関連付けられた情報を受信し、生成し、記憶し、処理し、かつ/または提供することができる、1つまたは複数のデバイスを含む。例えば、ユーザデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブルデバイス(例えば、スマートグラスもしくはスマートウォッチなど)、または同様のデバイスを含んでもよい。いくつかの実装形態では、ユーザデバイス110は、プラットフォーム120から情報を受信し、かつ/または情報をプラットフォーム120に送信してもよい。
【0029】
プラットフォーム120は、本明細書の他の箇所に記載されるような1つまたは複数のデバイスを含む。いくつかの実装形態では、プラットフォーム120は、クラウドサーバまたは一群のクラウドサーバを含んでもよい。いくつかの実装形態では、プラットフォーム120は、ソフトウェアコンポーネントがスワップインまたはスワップアウトされ得るようにモジュール式に設計されてもよい。そのため、プラットフォーム120は、様々な用途向けに応じて容易に、かつ/または迅速に再構成されてもよい。
【0030】
いくつかの実装形態では、図示のように、プラットフォーム120はクラウドコンピューティング環境122内でホストされてもよい。とりわけ、本明細書に記載の実装形態は、クラウドコンピューティング環境122内でホストされるものとしてプラットフォーム120を記載しているが、いくつかの実装形態では、プラットフォーム120はクラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外部に実装されてもよい)、または部分的にクラウドベースであってもよい。
【0031】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホストする1つまたは複数のシステムおよび/または1つまたは複数のデバイスの物理的位置および構成に関してエンドユーザ(例えば、ユーザデバイス110)が把握する必要のない、計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供してもよい。図示のように、クラウドコンピューティング環境122は、一群のコンピューティングリソース124(「コンピューティングリソース124」と総称され、なおかつ個別に「コンピューティングリソース124」と呼ばれる)を含んでもよい。
【0032】
コンピューティングリソース124は、1つまたは複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または他のタイプの計算デバイスおよび/もしくは通信デバイスを含む。いくつかの実装形態では、コンピューティングリソース124は、プラットフォーム120をホストしてもよい。クラウドリソースは、コンピューティングリソース124内で実行される計算インスタンス、コンピューティングリソース124内で提供されるストレージデバイス、コンピューティングリソース124によって提供されるデータ転送デバイスなどを含んでもよい。いくつかの実装形態では、コンピューティングリソース124は、有線接続、無線接続、または有線接続と無線接続との組合せを介して他のコンピューティングリソース124と通信してもよい。
【0033】
図1にさらに示されるように、コンピューティングリソース124は、1つまたは複数のアプリケーション(「APP」)124-1、1つまたは複数の仮想マシン(「VM」)124-2、仮想化ストレージ(「VS」)124-3、1つまたは複数のハイパーバイザ(「HYP」)124-4などの一群のクラウドリソースを含む。
【0034】
アプリケーション124-1は、ユーザデバイス110および/もしくはプラットフォーム120に提供され得る、またはユーザデバイス110および/もしくはプラットフォーム120によってアクセスされ得る1つまたは複数のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザデバイス110にソフトウェアアプリケーションをインストールして実行する必要性を解消し得る。例えば、アプリケーション124-1は、プラットフォーム120に関連付けられたソフトウェア、および/またはクラウドコンピューティング環境122を介して提供され得る他の任意のソフトウェアを含んでもよい。いくつかの実装形態では、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つまたは複数の他のアプリケーション124-1との間で情報を送受信してもよい。
【0035】
仮想マシン124-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装形態を含む。仮想マシン124-2は、仮想マシン124-2による任意の実マシンの用途および対応度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供し得る。プロセス仮想マシンは単一のプログラムを実行してもよく、また単一のプロセスをサポートしてもよい。いくつかの実装形態では、仮想マシン124-2は、ユーザ(例えば、ユーザデバイス110)に代わって処理を実行してもよく、さらにデータ管理、同期、または長時間のデータ転送などのクラウドコンピューティング環境122の基盤を管理してもよい。
【0036】
仮想化ストレージ124-3は、コンピューティングリソース124のストレージシステムまたはデバイス内で仮想化技術を使用する1つもしくは複数のストレージシステムおよび/または1つもしくは複数のデバイスを含む。いくつかの実装形態では、ストレージシステムのコンテキスト内で、仮想化のタイプがブロックの仮想化およびファイルの仮想化を含んでもよい。ブロックの仮想化は、当該ストレージシステムが物理ストレージであるか異種構造であるかに関係なくアクセスされ得るように、物理ストレージから論理ストレージを抽出する(または分離する)ことを指し得る。これらを分離することにより、ストレージシステムの管理者がエンドユーザのストレージを管理する方法に柔軟性がもたらされ得る。ファイルの仮想化は、ファイルレベルでアクセスされるデータとファイルが物理的に記憶されている場所との間の依存関係を解消し得る。これにより、ストレージ使用が最適化され、サーバが統合され、かつ/またはスムーズなファイル移行が実行され得る。
【0037】
ハイパーバイザ124-4は、複数のオペレーティングシステム(例えば、「ゲスト・オペレーティング・システム」)をコンピューティングリソース124などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化技術を提供してもよい。ハイパーバイザ124-4は、仮想オペレーティングプラットフォームをゲスト・オペレーティング・システムに提示してもよく、さらにゲスト・オペレーティング・システムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有してもよい。
【0038】
ネットワーク130は、1つまたは複数の有線ネットワークおよび/または無線ネットワークを含む。例えば、ネットワーク130は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングターム・エボリューション(LTE)・ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公共移動通信ネットワーク(PLMN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アド・ホック・ネットワーク、イントラネット、インターネット、光ファイバベースのネットワークなど、および/またはそれらもしくは他のタイプのネットワークの組合せを含んでもよい。
【0039】
図1に示されるデバイスおよびネットワークの数および配置は、一実施例として提供されている。実際には、
図1に示されるものに対して、デバイスおよび/もしくはネットワークの追加、デバイスおよび/もしくはネットワークの削減、デバイスおよび/もしくはネットワークの変更、またはデバイスおよび/もしくはネットワークの配置変更があってもよい。さらに、
図1に示される2つ以上のデバイスは、単一のデバイス内に実装されてもよく、または
図1に示される単一のデバイスは、複数の分散型デバイスとして実装されてもよい。付加的に、または代替的に、環境100のデバイスのセット(例えば、1つまたは複数のデバイス)は、環境100のデバイスの別のセットによって実行されるものとして記載された、1つまたは複数の機能を実行してもよい。
【0040】
図2は、
図1の1つまたは複数のデバイスの例示的なコンポーネントを示すブロック図である。
【0041】
デバイス200は、ユーザデバイス110および/またはプラットフォーム120に対応してもよい。
図2に示されるように、デバイス200は、バス210と、プロセッサ220と、メモリ230と、ストレージコンポーネント240と、入力コンポーネント250と、出力コンポーネント260と、通信インターフェース270とを備えてもよい。
【0042】
バス210は、デバイス200のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ220は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組合せで実装される。プロセッサ220は、中央処理装置(CPU)、グラフィック処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、または別のタイプの処理コンポーネントである。いくつかの実装形態では、プロセッサ220は、機能を実行するようにプログラムされ得る1つまたは複数のプロセッサを含む。メモリ230は、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、ならびに/またはプロセッサ220が使用する情報および/もしくは命令を記憶する別のタイプの動的もしくは静的なストレージデバイス(例えば、フラッシュメモリ、磁気メモリ、および/もしくは光メモリ)を含む。
【0043】
ストレージコンポーネント240は、デバイス200の動作および使用に関連する情報および/またはソフトウェアを記憶する。例えば、ストレージコンポーネント240は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、および/もしくはソリッド・ステート・ディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、ならびに/または別のタイプの非一時的コンピュータ可読媒体を、対応するドライブと共に含んでもよい。
【0044】
入力コンポーネント250は、デバイス200がユーザ入力などを介して(例えば、タッチ・スクリーン・ディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)情報を受信できるようにするコンポーネントを含む。付加的に、または代替的に、入力コンポーネント250は、情報を検知するセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでもよい。出力コンポーネント260は、デバイス200(例えば、ディスプレイ、スピーカ、および/または1つもしくは複数の発光ダイオード(LED))からの出力情報を提供するコンポーネントを含む。
【0045】
通信インターフェース270は、デバイス200が有線接続、無線接続、または有線接続と無線接続との組合せなどを介して他のデバイスと通信できるようにする、トランシーバ様のコンポーネント(例えば、トランシーバならびに/または別個の受信機および送信機)を含む。通信インターフェース270は、デバイス200が別のデバイスから情報を受信し、かつ/または別のデバイスに情報を提供できるようにしてもよい。例えば、通信インターフェース270は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサル・シリアル・バス(USB)・インターフェース、Wi-Fiインターフェース、セルラー・ネットワーク・インターフェースなどを含んでもよい。
【0046】
デバイス200は、本明細書に記載の1つまたは複数のプロセスを実行してもよい。デバイス200は、メモリ230および/またはストレージコンポーネント240などの非一時的コンピュータ可読媒体によって記憶されたソフトウェア命令をプロセッサ220が実行したことに応答して、これらのプロセスを実行してもよい。コンピュータ可読媒体は、本明細書では非一時的メモリデバイスと定義されている。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにわたって広がるメモリ空間を含む。
【0047】
ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェース270を介して別のデバイスから、メモリ230および/またはストレージコンポーネント240に読み込まれてもよい。メモリ230および/またはストレージコンポーネント240に記憶されたソフトウェア命令は、実行されると、本明細書に記載の1つまたは複数のプロセスをプロセッサ220に実行させてもよい。付加的に、または代替的に、ハードワイヤード回路をソフトウェア命令の代わりに、またはこれと組み合わせて使用して、本明細書に記載の1つまたは複数のプロセスを実行してもよい。よって、本明細書に記載の実装形態は、ハードウェア回路とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【0048】
図2に示されるコンポーネントの数および配置は、一実施例として提供されている。実際には、デバイス200において、
図2に示されるコンポーネントに対してコンポーネントの追加、コンポーネントの削減、コンポーネントの変更、またはコンポーネントの配置変更があってもよい。付加的に、または代替的に、デバイス200のコンポーネントのセット(例えば、1つまたは複数のコンポーネント)は、デバイス200のコンポーネントの別のセットによって実行されるものとして記載された、1つまたは複数の機能を実行してもよい。
【0049】
図3は、いくつかの実施形態による、例示的な対数型非線形量子化プロセス300を示す図である。
図4に示されるように、対数型非線形量子化プロセス300は、生成済みの代替画像の量子化表現を生成するための動作302~308を含んでもよい。
【0050】
動作302で、対数型非線形量子化プロセス300は、代替画像に関連付けられた1つまたは複数の圧縮されたフィーチャおよび/またはエンコーディングされたフィーチャを受信してもよい。一実施例として、フィーチャfiの値が受信されてもよく、当該fiの値は、フィーチャ自体の数値表現、浮動小数点表現、10進表現、2進表現、または16進表現であってもよい。動作304で、代替画像に関連付けられた1つまたは複数の圧縮されたフィーチャおよび/またはエンコーディングされたフィーチャの対数値が求められてもよい。当該対数は、任意の好適な底に対するものであってもよい。動作306で、代替画像に関連付けられた1つまたは複数の圧縮されたフィーチャおよび/またはエンコーディングされたフィーチャの対数値に対して丸めを実行して、対数値を整数に変換してもよい。次に、動作308で、1つまたは複数のそれぞれの対数値の整数丸めに基づく量子化表現を生成してもよい。
【0051】
図4は、いくつかの実施形態による、置換を伴う非線形量子化を用いた、エンドツーエンドのニューラル画像圧縮(E2E NIC)フレームワークを示す例示的なブロック
図400である。
【0052】
図4に見られるように、ブロック
図400は、エンコーダ402、非線形量子化器404、エントロピーコーダ406、エントロピーデコーダ408、デコーダ410、代替フィーチャ最適化器403、ハイパーエンコーダ452、第2の非線形量子化器454、第2のエントロピーコーダ456、第2のエントロピーデコーダ458、ハイパーデコーダ460、およびコンテキストモデル420を含んでもよい。
【0053】
本開示の実施形態によれば、E2E NICフレームワークで、以下のようにブロック
図400を利用することができる。入力画像またはビデオシーケンスxが付与されると、入力xに基づいて、代替フィーチャ最適化器403が代替画像x’を生成してもよく、またニューラルネットワークベースのエンコーダ402が、入力画像xと比較した場合に保存および送信がより容易な圧縮表現
【数12】
を生成してもよい。圧縮表現
【数13】
は、非線形量子化器404を使用して、離散値量子化表現
【数14】
に量子化されてもよい。当該離散値量子化表現
【数15】
は、その後容易に保存され、かつ送信されるように、エントロピーエンコーダ406を使用して(例えば算術コーディングまたはハフマンコーディングを使用して)ビットストリームにエントロピーエンコーディングされてもよく、すなわち可逆圧縮で、または非可逆圧縮でビットストリームにエントロピーコーディングされてもよい。デコーダ側では、離散値量子化(逆量子化)表現
【数16】
を復元するために、エントロピーデコーダ408を使用して、ビットストリームが可逆圧縮または非可逆圧縮でのエントロピーデコーディングを経ることができる。次に、当該離散値量子化表現
【数17】
をニューラルネットワークベースのデコーダ410(例えば、DNNベースのデコーダ)に入力して、入力画像またはビデオシーケンス
【数18】
を復元かつ/または再構成することができる。
【0054】
いくつかの実施形態によれば、E2E NICは、オンライン学習フェーズ中に、圧縮性能をさらに向上させるために、1つまたは複数の事前ハイパーモデルおよびコンテキストモデルを含んでもよい。事前ハイパーモデルを使用して、ニューラルネットワークの層間で生成される潜在表現の空間的依存性を捉えることができる。いくつかの実施形態によれば、事前ハイパーモデルによってサイド情報が使用されてもよく、サイド情報は通常、デコーダ側で隣接する参照フレームの動き補償時間を補間することによって生成される。当該サイド情報は、E2E NICフレームワークにおける学習および推論に使用されてもよい。ハイパーエンコーダ452は、事前ハイパーニューラルネットワークベースのエンコーダを使用して、代替画像x’をエンコーディングすることができる。次いで、第2の非線形量子化器454および第2のエントロピーコーダ456を使用して、ハイパーエンコーディングされた代替画像のハイパー圧縮表現を生成することができる。第2のエントロピーデコーダ458は、ハイパー圧縮表現をデコーディングして再構成ハイパー画像を生成することができ、次いで、事前ハイパーニューラルネットワークベースのハイパーデコーダ460を使用して、再構成代替画像
【数19】
が生成されてもよい。ニューラルネットワークベースのコンテキストモデル420は、第1の非線形量子化器404からの再構成ハイパー代替画像および量子化表現を使用して学習してもよい。エントロピーエンコーダ406とエントロピーデコーダ408とは、エンコーディングおよび記録をそれぞれ行うために、コンテキストモデル420を使用してもよい。
【0055】
図5A~
図5Bは、いくつかの実施形態による、置換を伴う非線形量子化を用いた、エンドツーエンドのニューラル画像のための1つまたは複数の方法の1つまたは複数のフローチャートを示す図である。
図5Aは、エンコーディングを行うプロセス500を示し、
図5Bは、デコーディングを行うプロセス550を示す。
【0056】
動作505で、フレームワークは入力画像を受信してもよい。いくつかの実施形態によれば、入力画像は任意の好適なフォーマットの画像であってもよい。いくつかの実施形態では、入力画像は一連のビデオフレームの一部であってもよい。一実施例として、505で、フレームワークは1つまたは複数の入力画像を受信してもよい。
【0057】
動作510で、ニューラルネットワークベースの代替フィーチャ生成器を使用して、入力画像に基づいて代替画像が生成されてもよい。一実施例として、代替フィーチャ最適化器403は、入力画像xの代替画像x’を生成してもよい。動作515で、代替画像は、ニューラルネットワークベースのエンコーダ402を使用してエンコーディングされてもよい。動作510および515は、任意の順序で実行されてもよい。いくつかの実施形態によれば、エンコーダ402は、代替フィーチャ最適化器403によって生成される代替画像をエンコーディングしてもよい。いくつかの実施形態では、当該順序は逆になってもよい。ニューラルネットワークベースのエンコーダ402は、入力画像を受信し、次いで入力画像の学習済みフィーチャをエンコーディングしてもよく、当該フィーチャを代替フィーチャ最適化器403が最適化してもよい。
【0058】
動作520で、第1の非線形量子化器を使用して、エンコーディングされた代替画像に基づいて量子化表現が生成されてもよい。いくつかの実施形態によれば、非線形量子化を使用して量子化表現を生成するステップは、代替画像に関連付けられた1つまたは複数のフィーチャを受信するステップと、代替画像に関連付けられた1つまたは複数のフィーチャの1つまたは複数のそれぞれの対数値を生成するステップと、1つまたは複数のそれぞれの対数値の整数丸めに基づいて、量子化表現を生成するステップとを含んでもよい。
【0059】
動作525で、エントロピーコーディングを使用して、量子化表現の圧縮表現が生成されてもよい。いくつかの実施形態によれば、最良の圧縮表現は、入力画像と再構成画像との間のレート歪み損失と、圧縮表現のビット消費率との間のトレードオフにおける大域的最小値であってもよい。エントロピーコーディングにより、保存および送信のために量子化表現がビットストリームに変換されてもよい。
【0060】
動作530で、動作のデコーディング側によって圧縮表現が受信されてもよい。動作535で、圧縮表現は、ニューラルネットワークベースのデコーダおよび/またはエントロピーデコーダを使用してデコーディングされてもよい。動作540で、デコーディングされた圧縮表現に基づいて、再構成画像が生成されてもよい。
【0061】
本開示の実施形態によれば、ニューラルネットワークベースの画像圧縮(E2E NIC)フレームワークは、事前学習モデルを含んでもよく、また、事前学習モデルに関連付けられた1つまたは複数のモデル重みが固定されている。事前学習モデルは、第1の非線形量子化器を使用して微調整されてもよい。
【0062】
いくつかの実施形態によれば、ニューラルネットワークベースの画像圧縮フレームワークはあるモデルを含んでもよく、当該モデルを訓練するステップは、モデルの学習率を初期化するステップを含んでもよい。訓練が進行するにつれて、モデルの学習率が閾値回数分調整されてもよく、当該調整するステップは、1つまたは複数の学習用画像の画像特性に基づいて行われてもよい。以下の条件、すなわち、連続する反復間の学習率の差が学習閾値を下回ったと判定するステップ、損失関数の出力損失が第1の反復回数にわたって一定していると判定するステップ、または学習率が最大反復回数にわたって調整されたと判定するステップのうちのいずれかに基づいて、当該訓練するステップを終了してもよい。いくつかの実施形態によれば、学習率を調整するステップは、損失関数の出力損失に反比例するように行われてもよい。
【0063】
いくつかの実施形態によれば、動作505~540は、コードを実行するように構成された装置を使用して実行されてもよく、各動作は、受信コード、判定コード、生成コードなどのコードに対応する。
【0064】
本開示の実施形態は、現在のデータに基づいてオンラインまたはオフラインで学習ベースの置換方式、量子化方式、エンコーディング方式、およびデコーディング方式を調整し、DNNベースまたはモデルベースの方式を含む、様々なタイプの学習ベースの量子化方式をサポートする柔軟性をさらに提供する。記載している方法は、異なるDNNアーキテクチャおよび複数の品質基準に対応する柔軟で汎用的なフレームワークをさらに提供する。
【0065】
提案している本方法は別々に使用されてもよく、または任意の順序で組み合わされてもよい。さらに、本方法(または実施形態)の各々は、処理回路(例えば、1つもしくは複数のプロセッサ、または1つもしくは複数の集積回路)によって実行されてもよく、またはソフトウェアコードを使用して(例えば、生成コード、受信コード、エンコーディングコード、デコーディングコードなどである)実行されてもよい。一実施例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0066】
本開示は、例示および説明を提供しているが、網羅的であることも、実装形態を開示されたまさにその形態に限定することも意図するものではない。修正形態および変形形態は、本開示内容に照らして実現可能であり、または実装形態の実践から取得されてもよい。
【0067】
本明細書で使用される場合、コンポーネントという用語は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組合せとして広く解釈されることを意図している。
【0068】
本明細書に記載のシステムおよび/または方法が、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組合せの異なる形態で実装されてもよいことは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実装形態を限定するものではない。したがって、本システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェアおよびハードウェアが、本明細書の記載に基づいて本システムおよび/または方法を実装するように設計され得ることが理解される。
【0069】
特徴の組合せが特許請求の範囲に記載され、かつ/または本明細書に開示されているが、これらの組合せは、実施可能な実装形態の開示を限定することを意図するものではない。実際には、これらの特徴の多くは、特許請求の範囲に具体的に記載されておらず、かつ/または本明細書に開示されていない方法で組み合わされてもよい。以下に列挙されている各従属請求項は1つの請求項のみに直接従属し得るが、実施可能な実装形態の開示は、各従属請求項を請求項セット内のあらゆる他の請求項との組合せとして含む。
【0070】
本明細書で使用される要素、行為、または命令は、明示的にそのように記載されていない限り、重要または必須であると解釈されなくてもよい。また、本明細書で使用される冠詞「a」および「an」は、1つまたは複数の項目を含むことを意図しており、「1つまたは複数の」と交換可能に使用されてもよい。さらに、本明細書で使用される「セット」という用語は、1つまたは複数の項目(例えば、関連項目、非関連項目、関連項目と非関連項目との組合せなどである)を含むことを意図しており、「1つまたは複数の」と交換可能に使用されてもよい。1つの項目のみが対象とされる場合、「1つ」という用語または同様の言葉が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、「有する(having)」などの用語は、オープンエンド用語であることを意図している。さらに、「に基づいて(based on)」という語句は、特に明記されない限り、「少なくとも部分的に~に基づいて」を意味することを意図している。
【符号の説明】
【0071】
100 環境
110 ユーザデバイス
120 プラットフォーム
122 クラウドコンピューティング環境
124 コンピューティングリソース
124-1 アプリケーション
124-2 仮想マシン
124-3 仮想化ストレージ
124-4 ハイパーバイザ
130 ネットワーク
200 デバイス
210 バス
220 プロセッサ
230 メモリ
240 ストレージコンポーネント
250 入力コンポーネント
260 出力コンポーネント
270 通信インターフェース
300 対数型非線形量子化プロセス
302 動作
304 動作
306 動作
308 動作
400 ブロック図
402 エンコーダ
403 代替フィーチャ最適化器
404 非線形量子化器
406 エントロピーコーダ、エントロピーエンコーダ
408 エントロピーデコーダ
410 デコーダ
420 コンテキストモデル
452 ハイパーエンコーダ
454 非線形量子化器
456 エントロピーコーダ
458 エントロピーデコーダ
460 ハイパーデコーダ
500 プロセス
505 動作
510 動作
515 動作
520 動作
525 動作
550 プロセス
L 目標損失関数
R ビット消費量
f 圧縮表現
fi フィーチャ
x 入力、入力画像、原入力画像、ビデオシーケンス
x’ 代替画像
λ トレードオフハイパーパラメータ
【手続補正書】
【提出日】2023-03-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
置換を伴う非線形量子化を用いたニューラル画像圧縮のための方法であって、前記方法は1つまたは複数のプロセッサによって実行され、前記方法は、
入力画像を受信するステップと、
ニューラルネットワークベースの代替フィーチャ生成器を使用して、前記入力画像に基づいて代替画像を生成するステップと、
前記代替画像を圧縮するステップと、
非線形量子化器を使用することにより、圧縮された前記代替画像を量子化して、より高い圧縮成果を有する前記入力画像の量子化表現を取得するステップと、
ニューラルネットワークベースのエンコーダを使用して、量子化された前記代替画像をエントロピーエンコーディングすることにより、前記量子化表現の圧縮表現を生成するステップと、
を含む、ニューラル画像圧縮のための方法。
【請求項2】
前記非線形量子化器は対数量子化器である、請求項1に記載の方法。
【請求項3】
前記量子化表現を取得する前記ステップは、
前記代替画像に関連付けられた1つまたは複数のフィーチャを受信するステップと、
前記代替画像に関連付けられた前記1つまたは複数のフィーチャの1つまたは複数のそれぞれの対数値を生成するステップと、
前記1つまたは複数のそれぞれの対数値の整数丸めに基づいて、前記量子化表現を生成するステップと、
を含む、請求項2に記載の方法。
【請求項4】
前記方法は、
前記圧縮表現を受信するステップと、
ニューラルネットワークベースのデコーダを使用して、前記圧縮表現をデコーディングするステップと、
デコーディングされた前記圧縮表現に基づいて、再構成画像を生成するステップと、
をさらに含む、請求項1に記載の方法。
【請求項5】
最良の圧縮表現は、前記入力画像と前記再構成画像との間のレート歪み損失と、前記圧縮表現のビット消費率との間のトレードオフにおける大域的最小値である、請求項4に記載の方法。
【請求項6】
前記圧縮表現を生成する前記ステップは、
事前ハイパーニューラルネットワークベースのエンコーダを使用して、エンコーディングされた前記代替画像をハイパーエンコーディングするステップと、
第2の非線形量子化器およびエントロピーコーディングを使用して、ハイパーエンコーディングされた前記代替画像のハイパー圧縮表現を生成するステップと、
事前ハイパーニューラルネットワークベースのデコーダを使用して、前記ハイパー圧縮表現をハイパーデコーディングして再構成ハイパー画像を生成するステップと、
前記再構成ハイパー画像および前記量子化表現に基づいてコンテキストニューラルネットワークモデルを訓練するステップと、
エントロピーコーディングおよび前記コンテキストニューラルネットワークモデルを使用して、前記量子化表現の前記圧縮表現を生成するステップと、
を含む、請求項1に記載の方法。
【請求項7】
前記ニューラル画像圧縮は事前学習モデルを含み、また、前記事前学習モデルに関連付けられた1つまたは複数のモデル重みが固定されている、請求項1に記載の方法。
【請求項8】
前記事前学習モデルは、前記非線形量子化器を使用して微調整される、請求項7に記載の方法。
【請求項9】
前記ニューラル画像圧縮は学習済みモデルを含み、前記学習済みモデルを訓練するステップは、
前記学習済みモデルの学習率を初期化するステップと、
前記学習済みモデルの前記学習率を閾値回数分調整するステップであって、調整する前記ステップが、1つまたは複数の学習用画像の画像特性に基づいて行われる、ステップと、
連続する反復間の前記学習率の差が学習閾値を下回ったと判定するステップ、
損失関数の出力損失が第1の反復回数にわたって一定していると判定するステップ、または
前記学習率が最大反復回数にわたって調整されたと判定するステップ、
のうちの少なくともいずれかに基づいて、訓練する前記ステップを終了するステップと、
を含む、請求項1に記載の方法。
【請求項10】
前記学習率を調整する前記ステップは、前記損失関数の前記出力損失に反比例するように行われる、請求項9に記載の方法。
【請求項11】
置換を伴う非線形量子化を用いたニューラル画像圧縮のための装置であって、前記装置は、
プログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み出し、前記プログラムコードによって命令される通りに動作するように構成された少なくとも1つのプロセッサであって、前記プログラムコードは、
請求項1から10のいずれか一項に記載の方法を実行可能に構成されている、プロセッサと、
を備える、ニューラル画像圧縮のための装置。
【請求項12】
置換を伴う非線形量子化を用いたニューラル画像圧縮を行うために、少なくとも1つのプロセッサによって実行される
コンピュータプログラムであって、前記プログラムが実行されると、前記少なくとも1つのプロセッサに対し、
請求項1から10のいずれか一項に記載の方法を行わせるように構成されたコンピュータプログラム。
【国際調査報告】