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

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

▶ ディープ レンダー エルティーディーの特許一覧

特表2024-540005損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム
<>
  • 特表-損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム 図1
  • 特表-損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム 図2
  • 特表-損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム 図3
  • 特表-損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム 図4
  • 特表-損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム 図5
  • 特表-損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム 図6
  • 特表-損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】損失画像または損失ビデオの符号化、伝送及び復号化のための方法及びデータ処理システム
(51)【国際特許分類】
   H04N 19/90 20140101AFI20241024BHJP
   H04N 19/60 20140101ALI20241024BHJP
【FI】
H04N19/90
H04N19/60
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024525029
(86)(22)【出願日】2022-10-26
(85)【翻訳文提出日】2024-06-24
(86)【国際出願番号】 EP2022080015
(87)【国際公開番号】W WO2023073067
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】2115399.4
(32)【優先日】2021-10-26
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】521469254
【氏名又は名称】ディープ レンダー エルティーディー
(74)【代理人】
【識別番号】100123858
【弁理士】
【氏名又は名称】磯田 志郎
(72)【発明者】
【氏名】フィンレイ,クリス
(72)【発明者】
【氏名】レイナー,ジョナサン
(72)【発明者】
【氏名】シュウ,ヤン
(72)【発明者】
【氏名】ベゼンブルック,クリスティアン
(72)【発明者】
【氏名】ザファル,アルサラン
(72)【発明者】
【氏名】シゼル,セバスチャン
(72)【発明者】
【氏名】コシキナ,ヴィラ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA21
5C159MC11
5C159ME01
5C159UA02
5C159UA05
(57)【要約】
1つ以上のニューラルネットワークを訓練する方法であって、1つ以上のニューラルネットワークは、損失画像または損失ビデオの符号化、伝送、及び復号化で使用するためのものであり、本方法は以下のステップを含み:第1のコンピュータシステムで入力画像を受信するステップ;第1のニューラルネットワークを使用して入力画像を符号化し、第2のニューラルネットワークを使用して潜在表現を復号化して出力画像を生成するステップ;第1または第2のニューラルネットワークの複数の層の少なくとも1つが変換を構成するステップ;本方法はさらに以下のステップを含む:出力画像と入力画像との差を評価するステップ;変換の出力に基づいて関数を評価するステップ;評価された差及び評価された関数に基づいて、第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータを更新するステップ;上記ステップを繰り返すステップ。
【選択図】図1
【特許請求の範囲】
【請求項1】
1つ以上のニューラルネットワークを訓練する方法であって、前記1つ以上のニューラルネットワークが、損失画像または損失ビデオの符号化、伝送、及び復号化に使用するためのものであり、前記方法が、:
第1のコンピュータシステムで入力画像を受信するステップと;
第1のニューラルネットワークを用いて前記入力画像を符号化して、記潜在表現を生するステップと;
第2のニューラルネットワークを用いて潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像は前記入力画像の近似である、ステップと、を含み;
ここで、前記第1のニューラルネットワーク及び前記第2のニューラルネットワークは各々、複数の層を含み;前記第1または前記第2のニューラルネットワークの前記複数の層のうちの少なくとも1つが、変換を含み;
前記方法が:
前記出力画像と前記入力画像との差を評価し、前記変換の出力に基づいて関数を評価するステップと
前記評価された差及び前記評価された関数に基づいて、前記第1のニューラルネットワーク及び前記第2のニューラルネットワークの前記パラメータを更新するステップと;
第1の入力画像セットを用いて前記上記ステップを繰り返して、第1の訓練済みニューラルネットワーク及び第2の訓練されたニューラルネットワークを生成するステップと、をさらに含む、方法。
【請求項2】
前記関数が、複数の変換の複数の出力に基づいており、各変換は、前記第1または第2のニューラルネットワークの複数の層のうちの異なる層にある、請求項1に記載の方法。
【請求項3】
前記関数の評価に対する前記複数の出力の各々の前記寄与が、所定の値によってスケーリングされる、請求項2に記載の前記方法。
【請求項4】
前記変換の前記出力が複数の値を含み、
前記関数が、前記複数の値の各々の前記2乗に基づく、請求項1~3のいずれか1項に記載の前記方法。
【請求項5】
前記変換の前記出力が複数の値を含み、
前記関数が、前記複数の値の各々の絶対値に基づく、請求項1~3のいずれか一項に記載の前記方法。
【請求項6】
前記関数が、前記複数の値の各々の前記2乗及び前記絶対値に基づく、請求項4または5に記載の前記方法
【請求項7】
前記関数が、前記複数の値の各々の前記平均に基づく、請求項4~6のいずれか1項に記載の前記方法。
【請求項8】
前記関数の評価に対する前記2乗及び前記絶対値の前記寄与が所定の値でスケーリングされる、請求項6または7に記載の前記方法。
【請求項9】
前記関数が、さらに、前記複数の値の前記分散に基づく、請求項4~8のいずれか1項に記載の前記方法。
【請求項10】
前記第1のニューラルネットワーク及び前記第2のニューラルネットワークの前記パラメータの前記更新に対する前記評価関数の前記寄与が、所定の値によってスケーリングされる、請求項1~9のいずれか1項に記前記載の前記方法。
【請求項11】
前記第1のニューラルネットワーク及び前記第2のニューラルネットワークの前記パラメータへの前記更新に対する前記評価関数の前記寄与が、ある値によってスケーリングされ
前記値が、前記方法の前記ステップの少なくとも1回の繰り返しにおいて追加的に更新される、請求項1~10のいずれか1項に記載の前記方法。
【請求項12】
前記第1のニューラルネットワークまたは前記第2のニューラルネットワークの前記複数の層のうちの少なくとも1つが、前記変換の後に適用される追加の変換を含み、
前記線形変換の前記パラメータが、前記評価された差及び前記評価された関数に基づいて追加的に更新され
前記関数は、前記追加変換の前記出力に基づかない、請求項1~11のいずれか1項に記載の前記方法。
【請求項13】
損失画像又は動画像の符号化、伝送及び復号化のための方法であって、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
第1の訓練されたニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
前記潜在表現を第2のコンピュータシステムに送信するステップと;
第2の訓練されたニューラルネットワークを用いて前記潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像は前記入力画像の近似である、ステップと;を含み、
ここで、前記第1の訓練されたニューラルネットワーク及び前記第2の訓練されたニューラルネットワークは、請求項1~12のいずれか1項に記載の前記方法に従って訓練される、方法。
【請求項14】
損失画像または損失ビデオの符号化及び伝送のための方法であって、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
第1の訓練されたニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
前記潜在表現を送信するステップと、を含み;
ここで、前記第1の訓練されたニューラルネットワークは、請求項1~12のいずれか1項に記載の前記方法に従って訓練される。
【請求項15】
損失画像または損失ビデオの受信及び復号化方法であって、前記方法が:
請求項37に記載の前記方法に従って送信された前記潜在表現を第2のコンピュータシステムで受信するステップと;
第2の訓練されたニューラルネットワークを用いて前記潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像が前記入力画像の近似である、ステップと、を含み;
前記第2の訓練されたニューラルネットワークが、請求項1~12のいずれか1項に記載の前記方法に従って訓練される、方法。
【請求項16】
請求項1~13のいずれか1項に記載の前記方法を実行するように構成されたデータ処理システム。
【請求項17】
請求項14または15に記載の前記方法を実行するように構成されたデータ処理装置。
【請求項18】
前記プログラムがコンピュータによって実行されると、請求項14または15に記載の前記方法を前記コンピュータに実行させる命令を含むコンピュータプログラム。
【請求項19】
コンピュータによって実行されたときに、請求項14または15に記載の前記方法を前記コンピュータに実行させる命令を含むコンピュータ可読記憶媒体。
【請求項20】
損失画像及び損失ビデオの符号化、伝送及び復号化のための方法であって、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
第1の訓練されたニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
前記潜像表現に対して第1の演算を行って、残差潜在を得るステップと;
前記残差潜在を第2のコンピュータシステムに送信するステップと;
前記潜在残差に対して第2の演算を行って、取得された潜在表現を得るステップと、ここで、前記第2の演算が、前記取得された潜在の以前に得られたピクセルに対して演算を行うことを含み;
第2の訓練されたニューラルネットワークを用いて、前記取得された潜在表現を復号化して、出力画像を生成するステップと、ここで、前記出力画像は前記入力画像の近似である、を含む方法。
【請求項21】
前記第1の演算が線形演算である、請求項20に記載の前記方法。
【請求項22】
前記第1の演算が非線形演算である、請求項20に記載の前記方法。
【請求項23】
前記第1の演算が微分可能な演算である、請求項20~22のいずれか1項に記載の前記方法。
【請求項24】
前記第1の演算が微分不可能な演算である、請求項20~22のいずれか1項に記載の前記方法。
【請求項25】
前記取得された潜在の以前に得られたピクセルに対して実行される前記演算が行列演算を含む、請求項20~24のいずれか1項に記載の前記方法。
【請求項26】
前記演算の少なくとも1つが明示的反復演算を含む、請求項20~25のいずれか1項に記載の前記方法。
【請求項27】
前記演算の少なくとも1つが陰的反復演算を含む、請求項20~26のいずれか1項に記載の前記方法。
【請求項28】
前記陰的反復演算が丸め関数の前記計算を含み、
前記丸め関数の前記レゾルベントを決定するために近似が使用される、請求項27に記載の前記方法。
【請求項29】
前記第2の演算が、演算子分割を含む反復演算を含む、請求項1または2に記載の前記方法。
【請求項30】
前記反復演算が、前記潜在表現及び前記取得された潜在に基づいて少なくとも2つの変数を定義し、前記少なくとも2つの変数の各々に対して順番に演算を実行することを含む、請求項29に記載の前記方法。
【請求項31】
前記反復演算が、前記少なくとも2つの変数のうちの1つの、範囲に各々応する少なくとも2つのさらなる変数を定義し、さらに、前記少なくとも2つのさらなる変数の各々に対して順番に演算を実行することを含む、請求項30に記載の前記方法。
【請求項32】
前記反復法が、各反復ステップの間に、前記変数の前記値と前記前の反復ステップにおける前記変数の前記値との差に基づいて前記少なくとも2つの変数のうちの1つを修正するステップをさらに含む、請求項29~31のいずれか1項に記載の前記方法。
【請求項33】
前記行列演算が負定値である場合、各演算は降順ステップである、請求項23~32のいずれか1項に記載の方法。
【請求項34】
行列演算が特異行列であるとき、前記第2の演算に対する一意解を得るために、前記反復法に追加の項が含まれる、請求項23~32のいずれか1項に記載の前記方法。
【請求項35】
前記第2の演算が、前記行列演算に対して条件付け演算を実行することを含む、請求項23~34のいずれか1項に記載の前記方法。
【請求項36】
前記第1の演算が、量子化演算を含む、請求項20~35のいずれか1項に記載の方法。
【請求項37】
前記第1の演算が前記取得された潜在表現に対応する潜在に追加的に基づき、
前記潜在表現と前記取得された潜在表現に対応する前記潜在表現が等しい、請求項20~36のいずれか1項に記載の方法。
【請求項38】
前記第1の演算が前記取得された潜在表現に対応する潜在に追加的に基づき、
前記潜在表現と前記取得された潜在表現に対応する前記潜在は、所定の誤差値だけ互いに異なる、請求項20~36のいずれか1項に記載の前記方法。
【請求項39】
第4の訓練されたニューラルネットワークを用いて前記潜在表現を符号化して、ハイパー潜在表現を生成するステップと;
前記量子化されたハイパー潜在を前記第2のコンピュータシステムに送信するステップと;
前記第5の訓練されたニューラルネットワークを用いて前記量子化されたハイパー潜在を復号化するステップであって、取得された潜在の以前に得られたピクセルに対して実行される演算は、前記第5の訓練されたニューラルネットワークの前記出力に基づく、ステップと、をさらに含む、請求項20~38のいずれか1項に記載の前記方法。
【請求項40】
1つ以上のニューラルネットワークを訓練する方法であって、前記1つ以上のニューラルネットワークが、損失画像または損失ビデオの符号化、伝送、及び復号化に使用するためのものであり、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
第1のニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと、
前記潜在表現に対して第1の演算を行って、残留潜在を得るステップと、
前記残留潜在に対して第2の演算を行って、取得された潜在表現を得るステップと、ここで、前記第2の演算は、前記取得された潜在の以前に得られたピクセルに対して演算を実行することを含み、
第2のニューラルネットワークを用いて前記量子化された潜在を復号化して、出力画像を生成するステップと、ここで、前記出力画像は前記入力画像の近似であり;
前記出力画像と前記入力画像との差を評価するステップと;
前記評価された差分に基づいて、前記第1のニューラルネットワーク及び前記第2のニューラルネットワークの前記パラメータを更新するステップと;
入力画像の第1のセットを用いて前記上記のステップを繰り返して、第1の訓練されたニューラルネットワーク及び第2の訓練されたニューラルネットワークを生成するステップと、を含む方法。
【請求項41】
第4のニューラルネットワークを用いて前記潜在表現を符号化して、ハイパー潜在表現を生成するステップと;
前記ハイパーレイテント表現に対して量子化処理を実行して、量子化ハイパー潜在を生成するステップと:
前記量子化されたハイパー潜在表現を前記第2のコンピュータシステムに送信するステップと;
第5のニューラルネットワークを用いて、前記量子化されたハイパー潜在を復号化するステップであって、前記取得された潜在の以前に得られたピクセルに対して実行される前記演算は、前記第5の訓練されたニューラルネットワークの前記出力に基づく、ステップと;をさらに含み:
ここで、前記第4のニューラルネットワーク及び前記第5のニューラルネットワークの前記パラメータは、前記評価された差に基づいて追加的に更新され、第4の訓練されたニューラルネットワーク及び第5の訓練されたニューラルネットワークを生成する、請求項40に記載の前記方法。
【請求項42】
損失画像または損失ビデオの符号化及び伝送のための方法であって、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
第1の訓練されたニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
前記潜在表現に対して第1の演算を行い、残差潜在を得るステップと;
前記残差潜在を送信するステップと、を含む方法。
【請求項43】
損失画像または損失ビデオの受信と復号のための方法であって、前記方法が:
請求項42に記載の前記方法に従って送信された前記残留潜在能力を第2のコンピュータシステムで受信するステップと
前記潜在残差に対して第2の演算を行って、取得された潜在表現を得るステップであって、前記第2の演算が、前記取得された潜在の以前に得られたピクセルに対して演算を実行するステップと;
第2の訓練されたニューラルネットワークを用いて、前記取得された潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像は前記入力画像の近似である、ステップと、を含む方法。
【請求項44】
請求項20~41のいずれか1項に記載の前記方法を実行するように構成されたデータ処理システム。
【請求項45】
請求項42または43に記載の前記方法を実行するように構成されたデータ処理装置。
【請求項46】
前記プログラムがコンピュータによって実行されると、請求項42または43に記載の前記方法を前記コンピュータに実行させる命令を含むコンピュータプログラム。
【請求項47】
コンピュータにより実行されると、請求項42または43に記載の前記方法を前記コンピュータに実行させる命令を含むコンピュータ可読記憶媒体。
【請求項48】
損失画像及び損失ビデオの符号化、伝送及び復号化のための方法であって、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
第1の訓練されたニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと:
前記潜在表現に対して第1の演算を行って、残差潜在を得るステップであって、前記第1の演算は量子化処理を行うことを含み、前記量子化処理で使用される前記ビンの前記サイズは前記入力画像に基づく、ステップと;
前記残差潜在を第2のコンピュータシステムに送信するステップと:
前記残差潜在に対して第2の演算を行って、取得された潜在表現を得るステップであって、前記第2の演算は、前記取得された潜在の以前に得られたピクセルに対して演算を行うこと含むステップと;
第2の訓練されたニューラルネットワークを用いて、前記取得された潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像は前記入力画像の近似である、ステップと、を含む方法。
【請求項49】
前記第1の演算及び前記第2の演算の少なくとも一方が、陰的方程式系を前記解くことを含む、請求項48に記載の前記方法。
【請求項50】
前記ビンの前記サイズが、前記潜在表現の前記ピクセルまたはチャネルの少なくとも2つの間で異なる、請求項48または49に記載の前記方法。
【請求項51】
前記量子化処理が、前記潜在表現の各ピクセルの値に対して、そのピクセルに割り当てられた前記ビンの前記サイズに対応する演算を実行することからなる請求項48~50のいずれか1項に記載の前記方法。
【請求項52】
前記量子化処理が、前記潜在表現の各ピクセルから前記潜在表現の平均値を減算することを含む、請求項48~51のいずれか1項に記載の前記方法。
【請求項53】
前記定量化処理が、丸め関数を含む、請求項48~42のいずれか1項に記載の前記方法。
【請求項54】
前記取得された潜在の以前に得られたピクセルに対して実行される前記演算が行列演算を含む、請求項48~43のいずれか1項に記載の前記方法。
【請求項55】
前記行列演算を定義する前記行列が、上三角、下三角、帯状、単調、対称、またはその固有値を境界とする特性のうちの少なくとも1つである、請求項54に記載の前記方法。
【請求項56】
量子化処理が、第3の訓練されたニューラルネットワークを含む、請求項48~55のいずれか1項に記載の前記方法。
【請求項57】
第4の訓練されたニューラルネットワークを用いて、前記潜在表現を符号化して、ハイパー潜在表現を生成するステップと:
前記ハイパー潜在表現に対して量子化処理を実行して、量子化されたハイパー潜在を生成するステップと
前記量子化されたハイパー潜在表現を前記第2のコンピュータシステムに送信するステップと;
第5の訓練されたニューラルネットワークを用いて、前記量子化されたハイパー潜在を復号化して、前記ビンの前記サイズを得るステップと;をさらに含み;
ここで、前記量子化された潜在の前記復号化は、前記ビンの前記得られたサイズを使用し;
前記取得された潜在の以前に取得されたピクセルに対して実行される前記演算は、前記第5の訓練されたニューラルネットワークの前記出力に基づく、
請求項48~56のいずれか1項に記載の前記方法。
【請求項58】
前記第5の訓練されたニューラルネットワークの前記出力が、前記ビンの前記サイズを得るためにさらなる関数によって処理される、請求項57に記載の前記方法。
【請求項59】
前記さらなる関数が、第6の訓練されたニューラルネットワークである、請求項57に記載の前記方法。
【請求項60】
前記ハイパー背潜在表現の前記量子化処理で使用される前記ビンの前記サイズが、前記入力画像に基づく、請求項57~59のいずれか1項に記載の前記方法。
【請求項61】
1つ以上のニューラルネットワークを訓練する方法であって、前記1つ以上のニューラルネットワークが、損失画像または損失ビデオの符号化、伝送及び復号化において使用するためのものであり、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
第1のニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
前記潜在表現に対して第1の演算を行って、残差潜在を得るステップであって、前記第1の演算は量子化処理を行うことを含み、前記量子化処理で使用される前記ビンの前記サイズは前記入力画像に基づく、ステップと;
前記潜在残差に対して第2の演算を行って、取得された潜在表現を得るステップであって、前記第2の演算は、前記取得された潜在の以前に得られたピクセルに対して演算を行うことを含む、ステップと;
第2のニューラルネットワークを用いて前記取得された潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像は前記入力画像の近似である、ステップと;
前記出力画像と前記入力画像との差を評価するステップと;
前記評価された差に基づいて、前記第1のニューラルネットワーク及び前記第2のニューラルネットワークの前記パラメータを更新するステップと;
入力画像の第1のセットを用いて前記上記のステップを繰り返して、第1の訓練されたニューラルネットワーク及び第2の訓練されたニューラルネットワークを生成するステップと、を含む方法。
【請求項62】
第3のニューラルネットワークを用いて前記潜在表現を符号化して、ハイパー潜在表現を生成するステップと;
前記ハイパー潜在表現に対して量子化処理を実行して、量子化されたハイパー潜在を生成するステップと;
第4のニューラルネットワークを用いて前記量子化されたハイパー潜在を復号化して、前記ビンの前記サイズを取得するステップと;を含み、、
ここで、前記量子化された潜在の前記復号化は、前記得られたビンのサイズを使用し;
前記取得された潜在の以前に得られたピクセルに対して実行される前記演算は、前記第4のニューラルネットワークの前記出力に基づき;
前記第3のニューラルネットワーク及び前記第4のニューラルネットワークの前記パラメータは、前記評価された差に基づいて、追加更新される、
請求項51に記載の前記方法。
【請求項63】
前記量子化処理が、第1の量子化近似を含む、請求項61または62に記載の前記方法。
【請求項64】
請求項63に記載の前記方法であって、前記方法がさらに;
前記損失画像又はビデオ符号化、送信及び復号化プロセスのレートを決定するステップと;
前記ニューラルネットワークの前記パラメータを、前記決定されたレートに基づいて追加更新するステップと;
第2の量子化近似を用いて、前記圧縮プロセスの前記レートを決定するステップと;
前記第2の量子化近似は、前記第1の量子化近似とは異なるステップと;を含む方法。
【請求項65】
前記ニューラルネットワークの前記パラメータの前記更新が:
前記出力画像と前記入力画像との差に基づく損失関数を評価するステップと;
前記損失関数の勾配を評価するステップと:
前記ニューラルネットワークを介して前記損失関数の前記勾配をバックプロパゲートするステップと;を含み、
ここで、前記損失関数の前記勾配のバックプロパゲーション中に第3の量子化近似が使用され:
前記第3の量子化近似は、前記第1の量子化近似と同じ近似である、請求項63または64に記載の前記方法。
【請求項66】
損失画像または損失ビデオ符号化及び伝送のための方法であって、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
第1の訓練されたニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
前記潜在表現に対して第1の演算を実行して、残差潜在を得るステップであって、前記第1の演算は量子化処理を実行することを含み、前記量子化処理で使用される前記ビンの前記サイズは前記入力画像に基づく、ステップと;
前記残差潜在を送信するステップと、を含む方法。
【請求項67】
損失画像又はビデオの受信及び復号化方法であって、前記方法が:
請求項66に記載の前記方法に従って送信された前記残差潜在を第2のコンピュータシステムで受信するステップと;
前記潜在残差に対して第2の演算を行って、取得された潜在表現を得るステップであって、前記第2の演算は、前記取得された潜在の以前に得られたピクセルに対して演算を行うことを含む、ステップと;
第2の訓練されたニューラルネットワークを用いて、前記取得された潜在表現を復号化して出力画像を生成するステップであって前記出力画像は前記入力画像の近似である、方法。
【請求項68】
請求項48~65のいずれか1項に記載の前記方法を実行するように構成されたデータ処理システム。
【請求項69】
請求項66または67に記載の前記方法を実行するように構成されたデータ処理装置。
【請求項70】
前記プログラムがコンピュータによって実行されると、前記コンピュータに請求項66または67に記載の前記方法を実行させる命令を含むコンピュータプログラム。
【請求項71】
前記コンピュータによって実行されると、前記コンピュータに請求項66または67の前記方法を実行させる命令を含むコンピュータ可読記憶媒体。
【請求項72】
損失画像及び損失ビデオの符号化、伝送及び復号化のための方法であって、前記方法が:
第1のコンピュータシステムにおいて入力画像を受信するステップと;
クラスタリングアルゴリズムを用いて、前記入力画像をクラスタに割り当てるステップと;
第1の訓練されたニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
前記潜在表現を第2のコンピュータシステムに送信するステップと;
第2の訓練されたニューラルネットワークを用いて前記潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像は前記入力画像の近似である、ステップと;を含み、
ここで、前記第1の訓練されたニューラルネットワーク及び前記第2の訓練されたニューラルネットワークの少なくとも一方は、それぞれ前記割り当てられたクラスタに基づいて、第1の複数の訓練されたニューラルネットワーク及び第2の複数の訓練されたニューラルネットワークから選択される、方法。
【請求項73】
前記第1のネットワーク及び前記第2のネットワークが割り当てられたクラスタに基づいて各々選択される、請求項72に記載の前記方法。
【請求項74】
入力画像が初期画像から得られるサブ画像である、請求項72または73に記載の前記方法。
【請求項75】
前記初期画像が、前記同じサイズの複数の入力画像に分割される、請求項74に記載の方法:
前記複数の入力画像の各々が、損失画像及び損失ビデオの符号化、伝送、復号化の前記方法に従って、符号化され、伝送され、復号化される。
【請求項76】
前記複数の潜在表現が、前記第2のコンピュータシステムに送信する前に結合潜在を形成するために結合され、前記第2の訓練されたニューラルネットワークを用いて復号化する前に、前記受信された複数の潜在表現を得るために分割される、請求項75に記載の前記方法。
【請求項77】
複数の第1のニューラルネットワークのうちの1つ及び前記複数の第2のニューラルネットワークのうちの1つが、前記クラスタリングアルゴリズムのいずれの前記クラスタにも関連しない、請求項72~76のいずれか1項に記載の前記方法。
【請求項78】
前記クラスタリングアルゴリズムが、以下のアルゴリズムのうちの少なくとも1つを含む、請求項72~77のいずれか1項に記載の方法:k-平均、ミニバッチk-平均、親和性伝播、平均シフト、スペクトルクラスタリング、ワード階層クラスタリング、凝集型クラスタリング、DBSCAN、OPTICS、ガウス混合、BIRCH、ディープクラスタリング及び訓練されたニューラルネットワーク。
【請求項79】
前記クラスタリングアルゴリズムによって実行される前記クラスタリングが、前記入力画像の少なくとも1つのチャネルの以下の特性:前記平均、前記分散、ヒストグラム確率及び前記パワースペクトル密度のうちの少なくとも1つに基づいて行われる、請求項72~78のいずれか1項に記載の前記方法。
【請求項80】
前記クラスタリングアルゴリズムによって実行される前記クラスタリングが、入力として前記入力画像を受信する第3の訓練されたニューラルネットワークの前記出力に基づく、請求項72~79のいずれか1項に記載の前記方法。
【請求項81】
前記第1の複数の訓練されたニューラルネットワークの各々が、前記同じアーキテクチャを有する、請求項72~80のいずれか1項に記載の前記方法。
【請求項82】
前記第2の複数の訓練されたニューラルネットワークの各々が、同じアーキテクチャを有する、請求項72~81のいずれか1項に記載の前記方法。
【請求項83】
前記クラスタリングアルゴリズムの前記クラスタが、前記入力画像の前記メディアカテゴリに基づく、請求項72~82のいずれか1項に記載の前記方法。
【請求項84】
前記クラスタリングアルゴリズムの前記クラスタが、前記入力画像の前記メディアカテゴリのサブカテゴリに基づく、請求項83に記載の前記方法。
【請求項85】
1つ以上のアルゴリズムを訓練する方法であって、前記1つ以上のアルゴリズムが、損失画像及び損失ビデオの符号化、伝送及び復号化において使用するためのものであり、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと
クラスタリングアルゴリズムを用いて前記入力画像をクラスタに割り当てるステップと;
第1のニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
第2のニューラルネットワークを用いて前記潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像は前記入力画像の近似である、ステップと;を含み、
ここで、前記第1の訓練されたニューラルネットワーク及び前記第2の訓練されたニューラルネットワークの少なくとも一方が、前記割り当てられたクラスタに基づいて、それぞれ第1の複数のニューラルネットワーク及び第2の複数のニューラルネットワークから選択され;
前記方法は:
前記出力画像と前記入力画像との差を評価するステップと;
前記評価された差に基づいて、前記第1のニューラルネットワーク及び前記第2のニューラルネットワークの前記パラメータを更新するステップと;
第1の入力画像セットを用いて前記上記ステップを繰り返して、第1の複数の訓練されたニューラルネットワーク及び第2の複数の訓練されたニューラルネットワークを生成するステップと;を含む、方法。
【請求項86】
前記クラスタリングアルゴリズムによって実行される前記クラスタリングが、入力として前記入力画像を受信する第3のニューラルネットワークの前記出力に基づく、請求項85に記載の前記方法であって:
前記第3のニューラルネットワークの前記パラメータは、前記評価された差に基づいて追加的に更新される、方法。
【請求項87】
損失画像または損失ビデオ符号化及び伝送のための方法であって、前記方法が:
第1のコンピュータシステムで入力画像を受信するステップと;
クラスタリングアルゴリズムを用いて、前記入力画像をクラスタに割り当てるステップと;
第1の訓練されたニューラルネットワークを用いて前記入力画像を符号化して、潜在表現を生成するステップと;
前記潜在表現を送信するステップと;を含み、
ここで、前記第1の訓練されたニューラルネットワークは、前記割り当てられたクラスタに基づいて、第1の複数の訓練されたニューラルネットワークから選択される、方法。
【請求項88】
損失画像または損失ビデオの受信及び復号のための方法であって、前記方法が:
請求項87に記載の前記方法に従って送信された前記潜在を第2のコンピュータシステムで受信するステップと;
第2の訓練されたニューラルネットワークを用いて前記潜在表現を復号化して、出力画像を生成するステップであって、前記出力画像は前記入力画像の近似である、ステップと;を含み、
前記第2の訓練されたニューラルネットワークが、前記割り当てられたクラスタに基づいて第2の複数の訓練されたニューラルネットワークから選択される、方法。
【請求項89】
請求項72~86のいずれか1項に記載の前記方法を実行するように構成されたデータ処理システム。
【請求項90】
請求項87または88に記載の前記方法を実行するように構成されたデータ処理装置。
【請求項91】
前記プログラムがコンピュータによって実行されると、前記コンピュータに請求項87または88の前記方法を実行させる命令を含むコンピュータプログラム。
【請求項92】
コンピュータによって実行されると、前記コンピュータに請求項87または88の前記方法を実行させる命令を含むコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、損失画像または損失ビデオの符号化、伝送及び復号化の方法及びシステム、損失画像または損失ビデオの符号化及び伝送の方法、装置、コンピュータプログラム及びコンピュータ可読記憶媒体、並びに損失画像または損失ビデオの受信及び復号化の方法、装置、コンピュータプログラム及びコンピュータ可読記憶媒体に関する。
【0002】
画像及びビデオコンテンツに対する通信ネットワークのユーザーからの需要が増加している。このため、通信ネットワークやコンピュータに、より高解像度の画像及びビデオコンテンツが要求されるようになってきている。そのため、通信ネットワークへの負荷が増大し、伝送されるデータ量が多くなるため、通信ネットワークのエネルギー使用量も増加している。
【0003】
このような問題の影響を軽減するために、画像及びビデオコンテンツは圧縮されてネットワーク経由で送信される。画像及びビデオコンテンツの圧縮には、無損失圧縮と損失圧縮がある。無損失圧縮では、コンテンツ内の元の情報をすべて復元できるように画像及びビデオを圧縮する。しかし、無損失圧縮を使用する場合、達成できるデータ量の削減には限界がある。損失圧縮では、圧縮処理中に画像またはビデオから情報が失われる。既知の圧縮技術では、人間の視覚系には特に気づかれない程度に、解凍後の画像またはビデオに変化をもたらす情報を除去することで、見かけ上の情報損失を最小限に抑えようとしている。
【0004】
人工知能(Al)に基づく圧縮技術は、圧縮解凍プロセスにおいて訓練されたニューラルネットワークを使用することにより、画像及びビデオの圧縮解凍を実現する。一般的に、ニューラルネットワークの訓練中に、元の画像及びビデオと圧縮解凍された画像及びビデオとの差異が分析され、コンテンツの伝送に必要なデータを最小限に抑えながら、この差異を低減するようにニューラルネットワークのパラメータが変更される。しかし、AIを利用した圧縮方法では、圧縮された画像やビデオの見栄えや伝送に必要な情報量の点で圧縮結果が悪くなることがある。
【0005】
本発明によれば、1つ以上のニューラルネットワークを訓練する方法が提供され、1つ以上のニューラルネットワークは、損失画像または損失ビデオの符号化、伝送、及び復号化に使用するためのものであり、この方法は、以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1のニューラルネットワークを使用して入力画像を符号化し、潜在表現を生成するステップと、潜在表現を第2のコンピュータシステムに送信するステップ;
第2のニューラルネットワークを使用して潜在表現を復号化し、出力画像を生成するステップ;
出力画像を生成するステップであって、出力画像は入力画像の近似である、ステップ;
第1のニューラルネットワーク及び第2のニューラルネットワークは、それぞれ、複数の層から構成され
該第1または第2のニューラルネットワークの該複数の層のうちの少なくとも1つが、変換を含み;
本方法は、以下のステップをさらに含む:
出力画像と入力画像との差を評価し、変換の出力に基づいて関数を評価するステップ;
評価された差及び評価された関数に基づいて、第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータを更新するステップ;及び
入力画像の第1のセットを使用して上記のステップを繰り返し、第1の学習済みニューラルネットワーク及び第2の学習済みニューラルネットワークを生成するステップ。
【0006】
関数は、複数の変換の複数の出力に基づいてもよく、各変換は、第1または第2のニューラルネットワークの複数の層のうちの異なる層にある。
【0007】
関数の評価に対する複数の出力の各々の寄与は、所定の値によってスケーリングされてもよい。
【0008】
変換の出力は、複数の値から構成されてもよく、関数は、複数の値のそれぞれの2乗に基づいてもよい。
【0009】
変換の出力は、複数の値から構成される。関数は、複数の値のそれぞれの絶対値に基づいてもよい。
【0010】
関数は、複数の値のそれぞれの2乗と絶対値に基づいてもよい。
【0011】
複数の値のそれぞれの平均値に基づいてもよい。
【0012】
関数の評価における2乗及び絶対値の寄与は、所定の値によってスケーリングされてもよい。
【0013】
この関数は、さらに、複数の値の分散に基づいてもよい。
【0014】
評価された関数の、第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータへの更新への寄与は、所定の値によってスケーリングされてもよい。
【0015】
第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータへの更新に対する前記評価関数の寄与は、値によってスケーリングされてもよく、この値は、本方法のステップの少なくとも1回の繰り返しにおいて追加的に更新される。
【0016】
第1のニューラルネットワークまたは第2のニューラルネットワークの複数の層のうちの少なくとも1つは、変換の後に適用される追加の変換を含んでよく、線形変換のパラメータは、評価された差分及び評価された関数に基づいて追加的に更新されてもよく、ここで、関数は、追加変換の出力に基づかない。
【0017】
本発明によれば、損失画像またはビデオの符号化、伝送及び復号化のための方法が提供され、この方法は、以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1の学習済みニューラルネットワークを用いて入力画像を符号化し、潜在表現を生成するステップ;
潜在表現を生成するステップ;
潜在表現を第2のコンピュータシステムに送信するステップ;
第2の訓練済みニューラルネットワークを使用して潜在表現を復号化し、出力画像を生成するステップであって、出力画像は入力画像の近似である、ステップ;
ここで、第1の訓練されたニューラルネットワーク及び第2の訓練されたニューラルネットワークは、上記の方法に従って訓練されている。
【0018】
本発明によれば、損失画像またはビデオ符号化及び伝送のための方法が提供され、該方法は以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1の学習済みニューラルネットワークを用いて入力画像を符号化し、潜在表現を生成するステップ:
潜在表現を送信するステップ;
ここで、第1の訓練されたニューラルネットワークは、上記の方法に従って訓練されている。
【0019】
本発明によれば、損失画像またはビデオの受信及び復号化方法が提供され、以下のステップを含む、方法が提供される:
上記方法に従って送信された潜在表現を第2のコンピュータシステムで受信するステップ;
出力画像を生成するために第2の訓練されたニューラルネットワークを用いて潜在表現を復号化するステップであって、出力画像は入力画像の近似である、ステップ;
ここで、第2の訓練されたニューラルネットワークは、上記の方法に従って訓練される。
【0020】
本発明によれば、損失画像及びビデオの符号化、伝送及び復号化のための方法が提供され、この方法は、以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1の訓練されたニューラルネットワークを用いて入力画像を符号化し、潜在的なレプレゼンテーションを生成するステップ;
潜在表現に対して第一の演算を行い、残差潜在を得る;残差潜在を第二のコンピュータシステムに送信するステップ;
潜在残差に対して第2の演算を行い、取得された潜在表現を得るステップ(ここで、第2の演算は、取得された潜在の以前に得られたピクセルに対して演算を行うことを含む);及び
出力画像を生成するために、第2の訓練されたニューラルネットワークを使用して、取得された潜在表現を復号化するステップであって、出力画像は、入力画像の近似である、ステップ。
【0021】
第1の演算は、線形演算であってもよい。
【0022】
第1の演算は非線形演算であってもよい。
【0023】
第1の演算は微分可能な演算であってもとい。
【0024】
第1の演算は微分不可能な演算であってもよい。
【0025】
取得された潜在の以前に取得されたピクセルに対して実行される演算は、行列演算を含んでもよい。
【0026】
演算の少なくとも1つは、明示的な反復演算を含んでもよい。
【0027】
少なくとも1つの演算は、陰的な反復演算を含んでもよい。
【0028】

陰的な反復演算には、丸め関数の計算が含まれる場合がある。また、近似を使用して丸め関数の分解能を決定することもできる。
【0029】
第2の演算は、演算子分割を含む反復演算であってもよい。
【0030】

反復演算は、潜在表現及び取得された潜在に基づいて少なくとも2つの変数を定義することと、少なくとも2つの変数のそれぞれに対して順番に演算を実行することとを含んでもよい。
【0031】
反復演算は、少なくとも2つの変数のうちの1つの範囲にそれぞれ対応する少なくとも2つのさらなる変数を定義することと、さらに、前記少なくとも2つのさらなる変数の各々に対して順番に演算を実行することとを含むことができる。
【0032】
反復演算は、各反復ステップの間に、少なくとも2つの変数のうちの1つが、変数の値と前の反復ステップにおける変数の値との間の差に基づいて変更されるステップをさらに含んでもよい。
【0033】
行列演算が負定値である場合、各演算は降順ステップであってもよい。
【0034】
行列演算が特異である場合、第2演算の一意解を得るために、反復法に追加項が含まれることがある。
【0035】
第2の演算は、行列演算に対して条件付け演算を実行することからなる場合がある。
【0036】
第1の演算は、量子化演算を含んでもよい。
【0037】
第1の演算は、さらに、取得された潜在表現に対応する潜在に基づいてもよい。潜在表現と、取得された潜在表現に対応する潜在表現とが等しい場合がある。
【0038】
第1の演算は、取得された潜在表現に対応する潜在表現に追加的に基づいてもよく、潜在表現と前記取得された潜在表現に対応する潜在表現とは等しくてもよい。潜在表現と、取得された潜在表現に対応する潜在表現とが、所定の誤差値だけ互いに異なる場合がある。
【0039】
この方法は、以下のステップをさらに含むことができる:
第4の学習済みニューラルネットワークを用いて潜在表現を符号化し、超潜在表現を生成するステップ;
量子化されたハイパー潜在表現を第2のコンピュータシステムに送信するステップ
第5の訓練されたニューラルネットワークを用いて量子化されたハイパー潜在を復号化するステップであって、取得された潜在の以前に得られた画素に対して実行される演算は、第5の訓練されたニューラルネットワークの出力に基づく、ステップ。
【0040】
本発明によれば、1つ以上のニューラルネットワークを訓練する方法が提供され、該1つ以上のニューラルネットワークは、損失画像または損失ビデオの符号化、伝送及び復号化において使用するためのものであり、該方法は、以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1のニューラルネットワークを使用して入力画像を符号化し、潜在表現を生成するステップと、潜在表現に対して第1の演算を実行し、残留潜在を得るステップ;
潜在的な残差に対して第2の演算を行い、取得された潜在的な表現を得るステップ;
第2のニューラルネットワークを用いて量子化された潜在を復号化して出力画像を生成するステップであって、出力画像は入力画像の近似である、ステップ;
出力画像と入力画像との差を評価するステップ;
評価された差分に基づいて、第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータを更新するステップ;
入力画像の第1のセットを使用して上記のステップを繰り返し、第1の訓練されたニューラルネットワーク及び第2の訓練されたニューラルネットワークを生成するステップ。
【0041】
本方法は、以下のステップをさらに含むことができる:
ハイパー潜在表現を生成するために、第4のニューラルネットワークを使用して潜在表現を符号化するステップ;
ハイパー潜在表現に対して量子化処理を行い、量子化されたハイパー潜在表現を生成するステップ
量子化されたハイパーレイテントを生成するステップ;
量子化されたハイパー潜在表現を第2のコンピュータシステムに送信するステップ;
第5のニューラルネットワークを使用して、量子化されたハイパー潜在を復号化するステップであって、取得された潜在の以前に得られた画素に対して実行される演算は、第5の訓練されたニューラルネットワークの出力に基づく、ステップ;
ここで、第4のニューラルネットワーク及び第5のニューラルネットワークのパラメータは、評価された差に基づいて追加的に更新され、第4の訓練されたニューラルネットワーク及び第5の訓練されたニューラルネットワークを生成する。
【0042】
本発明によれば、損失画像または損失ビデオの符号化及び伝送のための方法が提供され、この方法は、以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1の学習済みニューラルネットワークを用いて入力画像を符号化し、潜在表現を生成するステップ;
潜在表現に対して第1の演算を行い、残差潜在を得るステップ、
残差潜在を送信するステップ。
【0043】
本発明によれば、損失画像または損失ビデオの受信及び復号化のための方法が提供され、この方法は以下のステップを含む:
上記方法に従って送信された残差の潜在を第2のコンピュータシステムで受信するステップ;
取得された潜在表現を得るために、潜在残差に対して第2の演算を実行するステップ、ここで第2の演算は、取得された潜在の以前に得られたピクセルに対して演算を実行することからなる;
出力画像を生成するために、第2の訓練されたニューラルネットワークを使用して、取得された潜在表現を復号化するステップ、ここで出力画像は入力画像の近似である。
【0044】
本発明によれば、損失画像及び損失ビデオの符号化、伝送及び復号化のための方法が提供され、この方法は以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1の訓練されたニューラルネットワークを使用して入力画像を符号化して、潜在表現を生成するステップ;
潜在表現に対して第一の演算を行って、残差の潜在を得るステップ、ここで、第1の演算は量子化処理を実行することを含み、量子化処理で使用されるビンのサイズは入力画像に基づく;
残差潜在を第2のコンピュータシステムに送信するステップ、
潜在残差に対して第2の演算を行って、取得された潜在表現を得るステップ、ここで、第2の演算は、取得された潜在の以前に得られたピクセルに対して演算を行うことかを含む;
第2の訓練されたニューラルネットワークを使用して、取得された潜在表現を復化するステップ、ここで、出力画像は入力画像の近似である。
【0045】
第1の演算及び第2の演算の少なくとも一方は、陰的程式系を解くことを含んでもよい。
【0046】
ビンのサイズは、潜在表現のピクセルまたはチャネルの少なくとも2つの間で異なっていてもよい。
【0047】
量子化処理は、潜在表現の各ピクセルの値に対して、そのピクセルに割り当てられたビンのサイズに対応する演算を実行することを含んでもよい。
【0048】
量子化処理は、潜在表現の各ピクセルから潜在表現の平均値を減算することを含んでもよい。
【0049】
量子化処理は、丸め関数を含むことができる。
【0050】
取得された潜在の以前に得られたピクセルに対して実行される演算は、行列演算からなる場合がある。
【0051】
行列演算を定義する行列は、上三角、下三角、帯状、単調、対称、固有値の境界のうち少なくとも1つの性質を有してもよい。
【0052】
量子化処理は、第3の学習済みニューラルネットワークを含んでもよい。
【0053】
本方法は、以下のステップをさらに含んでもよい:
第4の学習済みニューラルネットワークを用いて潜在表現を符号化して、ハイパー潜在表現を生成するステップ;
ハイパー潜在表現に対して量子化処理を実行して、量子化されたハイパー潜在表現を生成するステップ;
量子化されたハイパー潜在表現を第2のコンピュータシステムに送信するステップ
ビンのサイズを取得するために、第5の訓練されたニューラルネットワークを使用して、量子化されたハイパーレイテントを復号化するステップ;
ここで、量子化された潜在の復号化は、得られたビンのサイズを使用し;
取得された潜在の以前に取得されたピクセルに対して実行される演算は、第5の訓練されたニューラルネットワークの出力に基づく。
【0054】
第5の訓練されたニューラルネットワークの出力は、ビンのサイズを得るためにさらなる関数によって処理されてもよい。
【0055】
さらなる関数は、第6の訓練されたニューラルネットワークであってもよい。
【0056】
ハイパー潜在表現の量子化処理で使用されるビンのサイズは、入力画像に基づいてもよい。
【0057】
本発明によれば、1つ以上のニューラルネットワークを訓練する方法が提供され、該1つ以上のニューラルネットワークは、損失画像またはビデオの符号化、伝送、及び復号化において使用するためのものであり、該方法は以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1のニューラルネットワークを用いて入力画像を符号化して、潜在表現を生成するステップ;
潜在表現に対して第1の演算を実行して、残差潜在表現を得るステップ、ここで、第1の演算は量子化処理を実行することを含み、量子化処理で使用されるビンのサイズは入力画像に基づく;
残差潜在を第2のコンピュータシステムに送信するステップ;
残差潜在に対して第2の演算を行って、取得された潜在を得るステップ、ここで第2の演算は、
取得された潜在の以前に取得されたピクセルに対して演算を実行する;
第2のニューラルネットワークを用いて、取得された潜在表現を復号化して、出力画像を生成するステップ;
出力画像と入力画像との差を評価するステップ;
評価された差分に基づいて、第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータを更新するステップ;
評価された差分に基づいて、第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータを更新するステップ;
入力画像の第1のセットを用いて、上記のステップを繰り返して、第1の訓練されたニューラルネットワーク及び第2の訓練されたニューラルネットワークを生成するステップ。
【0058】
本方法は、以下のステップをさらに含むことができる:
第3のニューラルネットワークを用いて潜在表現を符号化して、ハイパー潜在表現を生成するステップ;
ハイパー潜在表現に対して量子化処理を実行して、量子化されたハイパー潜在表現を生成するステップ;
量子化されたハイパー潜在表現を第2のコンピュータシステムに送信するステップ;
第4のニューラルネットワークを用いて量子化されたハイパーレイテントを復号化して、ビンのサイズを得るステップ;
ここで、量子化された潜在のデコーディングは、得られたビンのサイズを使用する;
取得された潜在の以前に取得されたピクセルに対して実行される演算は、第4のニューラルネットワークの出に基づく;
第3のニューラルネットワーク及び第4のニューラルネットワークのパラメータは、評価された差分に基づいて追加更新されて、第3の訓練されたニューラルネットワーク及び第4の訓練されたニューラルネットワークが得られる。
【0059】
量子化処理は、第1の量子化近似を含んでもよい。
【0060】
本方法は、損失画像またはビデオの符号化、送信及び復号化プロセスのレートを決定するステップをさらに含んでもよい;
ニューラルネットワークのパラメータは、決定されたレートに基づいて追加的に更新される;
レートに基づいてニューラルネットワークのパラメータが追加的に更新される;
圧縮プロセスのレートを決定するために、第2の量子化近似が使用される;
第2の量子化近似は、第1の量子化近似とは異なる。
【0061】
ニューラルネットワークのパラメータの更新は、以下のステップを含み得る:
出力画像と入力画像との差分に基づいて損失関数を評価するステップ;
損失関数の勾配を評価するステップ;
ニューラルネットワークを介して損失関数の勾配をバックプロパゲートするステップ;
ここで、損失関数の勾配のバックプロパゲーションの間に第3の量子化近似が使用される;
第3の数量化近似は、第1の数量化近似と同じ近似である。
【0062】
本発明によれば、損失画像または損失ビデオ符号化及び伝送のための方法が提供され、この方法は、以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
第1の訓練されたニューラルネットワークを用いて入力画像を符号化して、潜在表現を生成するステップ;
潜在表現に対して第1の演算を行って、残差潜在を得るステップ、ここで該第1の演算は、量子化処理を行うことを含み、該量子化処理において使用されるビンのサイズは、入力画像に基づく;
残差潜在を送信するステップ。
【0063】
本発明によれば、損失画像または損失ビデオの受信及び復号化のための方法が提供され、該方法は、以下のステップを含む:
上記方法に従って送信された残差潜在を第2のコンピュータシステムで受信するステップ;
残差潜在に対して第2の演算を行って、取得された潜在表現を得るステップ、ここで、第2の演算は、取得された潜在の以前に得られたピクセルに対して演算を行うことを含む;
第2の訓練されたニューラルネットワークを用いて、取得された潜在表現を復号化するステップ、ここで、出力画像は入力画像の近似である。
【0064】
本発明によれば、損失画像及び損失ビデオの符号化、伝送及び復号化のための方法が提供され、この方法は以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
クラスタリングアルゴリズムを用いて入力画像をクラスタに割り当てるステップ;
第1の訓練されたニューラルネットワークを用いて入力画像を符号化して、潜在表現を生成するステップ;
潜在表現を第2のコンピュータシステムに送信するステップ;
第2の訓練されたニューラルネットワークを用いて潜在表現を復号化して、出力画像を生成するステップ、ここで、出力画像は入力画像の近似である;
ここで、第1の訓練されたニューラルネットワーク及び第2の訓練されたニューラルネットワークの少なくとも一方は、割り当てられたクラスタに基づいて、それぞれ第1の複数の訓練されたニューラルネットワーク及び第2の複数の訓練されたニューラルネットワークから選択される。
【0065】
第1のネットワーク及び第2のネットワークはそれぞれ、割り当てられたクラスタに基づいて選択されてもよい。
【0066】
入力画像は、初期画像から得られる部分画像であってもよい。
【0067】
初期画像は、同じサイズの複数の入力画像に分割されてもよい;
複数の入力画像の各々は、損失画像及びビデオ符号化、伝送及び復号化のための方法に従って符号化、伝送及び復号化されてもよい。
【0068】
複数の潜在表現は、第2のコンピュータシステムに送信される前に、結合された潜在を形成するために結合されてもよく、受信された複数の潜在表現を得るために分割されてもよく、第2の訓練されたニューラルネットワークを用いて復号化する前に、受信した複数の潜在表現を得るために分割してもよい。
【0069】
複数の第1のニューラルネットワークのうちの1つ、及び複数の第2のニューラルネットワークのうちの1つは、クラスタリングアルゴリズムのいずれのクラスタにも関連付けられない場合がある。
【0070】
クラスタリングアルゴリズムは、次のアルゴリズムのうちの少なくとも1つを含む場合がある:平均法、ミニバッチ平均法、類似性伝播、平均値シフト、スペクトル、クラスタリング、ワード階層型クラスタリング、凝集クラスタリング、DBSCAN、OPTICS、混合ガウス、BIRCH、ディープクラスタリング、及び訓練されたニューラルネットワーク。
【0071】
クラスタリングアルゴリズムによって実行されるクラスタリングは、入力画像の少なくとも1つのチャネルの以下の特性に基づき得る:平均、分散、ヒストグラム確率及びパワースペクトル密度。
【0072】
クラスタリングアルゴリズムによって実行されるクラスタリングは、入力画像を入力として受け取る第3の訓練されたニューラルネットワークの出力に基づいてもよい。
【0073】
第1の複数の訓練されたニューラルネットワークの各々は、同じアーキテクチャを有してもよい。第2の複数の訓練されたニューラルネットワークの各々は、同じアーキテクチャを有してもよい。
【0074】
クラスタリングアルゴリズムのクラスタは、入力画像のメディアカテゴリに基づいてもよい。
【0075】
Tクラスタリングアルゴリズムのクラスタは、入力画像のメディアカテゴリのサブカテゴリに基づいてもよい。
【0076】
本発明によれば、1つ以上のアルゴリズムをトレーニングする方法が提供される、
該1つ以上のアルゴリズムは、損失画像または損失ビデオの符号化、伝送、及び復号化で使用するためのものであり、該方法は以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
クラスタリングアルゴリズムを用いて入力画像をクラスタに割り当てるステップ;
第1のニューラルネットワークを用いて入力画像を符号化して、潜在表現を生成するステップ;
第2のニューラルネットワークを使用して潜在表現を復号化して、出力画像を生成するステップ、ここで、出力画像は入力画像の近似である;
第1の訓練されたニューラルネットワーク及び前記第2の訓練されたニューラルネットワークの少なくとも一方が、割り当てられたクラスタに基づいて、それぞれ第1の複数のニューラルネットワーク及び第2の複数のニューラルネットワークから選択される、ステップ;
本方法は、以下のステップをさらに含む:
出力画像と入力画像との差を評価するステップ;
評価された差に基づいて、第1のニューラルネットワーク及び第2のニューラルネットワークのパラメータを更新するステップ;
第1のセットの入力画像を用いて上記のステップを繰り返して、第1の複数の訓練されたニューラルネットワーク及び第2の複数の訓練されたニューラルネットワークを生成するステップ。
【0077】
クラスタリングアルゴリズムによって実行されるクラスタリングは、入力として入力画像を受信する第3のニューラルネットワークの出力に基づいてもよく;
第3のニューラルネットワークのパラメータは、評価された差分に基づいて追加的に更新される。
【0078】
本発明によれば、損失画像または損失ビデオの符号化及び伝送のための方法が提供され、この方法は、以下のステップを含む:
第1のコンピュータシステムで入力画像を受信するステップ;
クラスタリングアルゴリズムを用いて入力画像をクラスタに割り当てるステップ;
第1の訓練されたニューラルネットワークを用いて入力画像を符号化して、潜在表現を生成するステップ;
潜在表現を生成するステップ;
潜在表現を送信するステップ;
ここで、第1の訓練されたニューラルネットワークは、割り当てられたクラスタに基づいて、第1の複数の訓練されたニューラルネットワークから選択される。
【0079】
本発明によれば、損失画像または損失ビデオの受信及び復号化のための方法が提供され、この方法は、以下のステップを含む:
上記方法に従って送信された潜在を第2のコンピュータシステムで受信するステップ;
出力画像を生成するために第2の訓練されたニューラルネットワークを用いて、潜在表現を復号化して、出力画像を生成するステップ;、
ここで、第2の訓練されたニューラルネットワークは、割り当てられたクラスタに基づいて第2の複数の訓練されたニューラルネットワークから選択される。
【0080】
本発明によれば、上記の方法のいずれかを実行するように構成されたデータ処理システムが提供される。
【0081】
本発明によれば、上記の方法のいずれかを実行するように構成されたデータ処理装置が提供される。
【0082】
本発明によれば、プログラムがコンピュータによって実行されると、コンピュータに上記方法のいずれかを実行させる命令を含むコンピュータプログラムが提供される。
【0083】
本発明によれば、コンピュータによって実行されると、上記いずれかの方法をコンピュータに実行させる命令を含むコンピュータ可読記憶媒体が提供される。
【図面の簡単な説明】
【0084】
ここで、本発明の態様を、以下の図を参照して、実施例により説明する:
図1】画像またはビデオの圧縮、送信及び復号化パイプラインの一例を示す。
図2】ハイパーネットワークを含む画像またはビデオの圧縮、伝送、解凍パイプラインのさらなる例を示す。
図3】2次モーメントペナルティを使用した場合と使用しない場合のAI圧縮システムの損失曲線を示す。
図4】データセットDで訓練された一般化モデルと特殊化モデルを示す。
図5】特殊化AI圧縮処理の訓練過程の一例を示す。
図6】特殊化AI圧縮処理の符号化処理の一例を示す。
図7】特殊化AI圧縮処理の復号化処理の一例を示す。
【発明を実施するための形態】
【0085】
圧縮処理は、情報を記憶するために必要なデータ量、すなわちファイルサイズを削減するために、あらゆる形式の情報に適用することができる。画像及びビデオは圧縮される情報の一例である。情報を記憶するために必要なファイルサイズは、特に圧縮ファイルを参照する圧縮処理中に、レートと呼ばれることがある。一般に、圧縮には無損失圧縮と損失圧縮がある。どちらの圧縮形式でも、ファイルサイズは小さくなる。しかし、無損失圧縮では、情報が圧縮され、その後に解凍されるときに情報が失われることはない。つまり、情報を記憶している元のファイルは、解凍処理中に完全に再構成される。これとは対照的に、損失圧縮では、圧縮と解凍の過程で情報が失われ、再構成されたファイルが元のファイルと異なる場合がある。画像及びビデオデータを含む画像ファイル及びビデオファイルは、一般的な圧縮対象である。JPEG、JPEG2000、AVC、HEVC、AVIなどは、画像ファイル及びまたは/ビデオファイルの圧縮処理の一例である。
【0086】
画像を含む圧縮処理では、入力画像をxとして表すことができる。画像を表すデータは、次元H×W×Cのテンソルに記憶することができ、ここで、Hは画像の高さ、Wは画像の幅、Cは画像のチャンネル数を表す。画像の各H×Wデータ点は、対応する位置における画像のピクセル値を表す。画像の各チャンネルCは、画像ファイルがデバイスによって表示されるときに組み合わされる、各ピクセルの画像の異なる成分を表す。例えば、画像ファイルには3つのチャネルがあり、チャネルはそれぞれ画像の赤、緑、青の成分を表す。この場合、画像情報はRGB色空間に保存され、モデルまたはフォーマットと呼ばれることもある。色空間またはフォーマットの他の例としては、CMK及びYCbCrカラーモデルがある。しかし、画像ファイルのチャネルは色情報の保存に限定されるものではなく、他の情報がチャネルで表現されることもある。ビデオは、連続した一連の画像と考えられるため、画像に適用される圧縮処理は、ビデオにも適用される可能性がある。ビデオを構成する各画像は、ビデオのフレームと呼ばれることがある。
【0087】
出力画像は入力画像と異なる場合があり、
(xの上に記号^を付したものを以下「x(ハット)」とも表記する。同様に、以下、文字の上に記号^を付したものを文字(ハット)と表記することもある)で表される。入力画像と出力画像との差は、歪みまたは画質の差と呼ばれることがある。歪みは、入力画像と出力画像を受け取り、入力画像と出力画像の差を数値で表す出力を提供する任意の歪み関数を用いて測定することができる。このような方法の例としては、入力画像と出力画像のピクセル間の平均2乗誤差(MSE)を使用する方法があるが、当業者には周知のように、歪みを測定する他の多くの方法がある。歪み関数は、訓練されたニューラルネットワークで構成されてもよい。
【0088】
一般に、損失圧縮処理のレートと歪みは関連している。レートの増加は歪みの減少をもたらし、レートの減少は歪みの増加をもたらす。歪みの変化は、それに対応する形でレートに影響を与える可能性がある。所定の圧縮技術に関するこれらの量の間の関係は、レート-歪みの式によって定義することができる。
【0089】
AIベースの圧縮処理では、ニューラルネットワークを使用することがある。ニューラルネットワークは、入力に対して実行され、出力を生成することができる演算である。ニューラルネットワークは、複数の層で構成されることがある。ネットワークの第1層は入力を受け取る。層によって入力に対して1つ以上の演算が実行され、第1層の出力が生成される。最初の層の出力は、次にネットワークの次の層に渡され、同様の方法で1つ以上の演算が行われる。最終層の出力がニューラルネットワークの出力となる。
【0090】
ニューラルネットワークの各層はノードに分割されていてもよい。各ノードは、前の層から入力の少なくとも一部を受け取り、後続の層の1つ以上のノードに出力を提供してもよい。層の各ノードは、層への入力の少なくとも一部に対して層の1つ以上の演算を実行してもよい。例えば、ノードは前の層の1つ以上のノードから入力を受け取ることができる。1つ以上の演算には、畳み込み、重み、バイアス、活性化関数が含まれる。畳み込み演算は畳み込みニューラルネットワークで使用される。畳み込み演算が存在する場合、畳み込みは層への入力全体にわたって実行されてもよい。代替的には、畳み込みは、層への入力の少なくとも一部に対して実行されてもよい。
【0091】
1つ以上の演算の各々は、各演算に関連する1つ以上のパラメータによって定義される。例えば、重み演算は、前の層の各ノードから現在の層の各ノードへの各入力に適用される重みを定義する重み行列によって定義されてもよい。この例では、重み行列の各値はニューラルネットワークのパラメータである。畳み込みは、カーネルとしても知られる畳み込み行列によって定義することができる。この例では、畳み込み行列の値の1つ以上がニューラルネットワークのパラメータであってもよい。活性化関数はまた、ニューラルネットワークのパラメータとなり得る値によって定義されてもよい。ネットワークのパラメータは、ネットワークの学習中に変化させてもよい。
【0092】
ニューラルネットワークの他の特徴は、予め決定され、したがって、ネットワークのトレーニング中に変化しない場合がある。例えば、ネットワークの層の数、ネットワークのノードの数、各層で実行される1つ以上の演算、及び層間の接続は、事前に決定され、したがって学習プロセスが行われる前に固定される場合がある。これらの予め設定された特徴は、ネットワークのハイパーパラメータと呼ばれることがある。これらの特徴は、ネットワークのアーキテクチャと呼ばれることもある。
【0093】
ニューラルネットワークを訓練するには、グランドトゥルースと呼ばれることもある、期待される出力が既知である入力の訓練セットを使用することができる。ニューラルネットワークの初期パラメータはランダム化され、最初の訓練入力がネットワークに提供される。ネットワークの出力は期待される出力と比較され、出力と期待される出力との差に基づいて、ネットワークの出力と期待される出力との差が小さくなるように、ネットワークのパラメータが変更される。このプロセスを複数の訓練入力に対して繰り返し、ネットワークを訓練する。ネットワークの出力と期待される出力との差は、損失関数によって定義することができる。損失関数の結果は、ネットワークの出力と期待される出力との差を用いて計算され、損失関数の勾配を決定することができる。損失関数の勾配降下のバックプロパゲーションは、損失関数の勾配dL/dyを使用してニューラルネットワークのパラメータを更新するために使用されてもよい。システム内の複数のニューラルネットワークは、各ネットワークへの損失関数の勾配のバックプロパゲーションを通じて同時に訓練されてもよい。
【0094】
AIベースの画像圧縮またはビデオ圧縮の場合、損失関数は、レート歪み方程式は、Loss=D+λ*Rによって表されてもよい。ここで、Dは歪み関数、λは重み付け係数、Rはレート損失である。λはラグランジュ乗数と呼ばれることもある。ラグランジュ乗数は、他の各項に対する損失関数の特定の項に対する重みとして提供され、ネットワークの訓練時に損失関数のどの項を優先するかを制御するために使用することができる。
【0095】
AIに基づく画像圧縮またはビデオ圧縮の場合、入力画像の訓練セットを使用することができる。入力画像の訓練セットの例としては、Kodak画像セット(例えば、www.cs.albany.edu/xypan/research/snr/Kodak.html)がある。入力画像の訓練セットの例としては、IMAX画像セットがある。入力画像の学習セット例としては、Imagenetデータセット(例えばwww.image-net.org/download)がある。入力画像の学習セット例としては、CLIC Training Dataset P (「professional」) and M(「mobile」)がある(例えば、http://challenge.compression.cc/tasks/)。
【0096】
AIベースの圧縮処理100の一例を図1に示す。AIベースの圧縮プロセスの最初のステップとして、入力画像5が提供される。入力画像5は、エンコーダとして機能する関数fθによって特徴付けられる訓練されたニューラルネットワーク110に提供される。エンコーダニューラルネットワーク110は、入力画像に基づいて出力を生成する。この出力は、入力画像5の潜在表現と呼ばれる。第2のステップでは、演算Qによって特徴付けられる量子化プロセス140において潜在表現が量子化され、その結果、量子化された潜在表現が得られる。量子化処理は、連続的な潜在表現を離散的な量子化潜在表現に変換する。量子化処理の例としては、丸め関数がある。
【0097】
第3のステップでは、量子化された潜在量をエントロピー符号化処理150でエントロピー符号化し、ビットストリーム130を生成する。エントロピー符号化処理は、例えば、範囲符号化または算術符号化であってもよい。第4のステップにおいて、ビットストリーム130は、通信ネットワークを介して送信されてもよい。
【0098】
第5のステップにおいて、ビットストリームは、エントロピー復号化プロセス160においてエントロピー復号化される。量子化された潜在量は、関数gθはデコーダとして機能し、量子化された潜在能力を復号化する。訓練されたニューラルネットワーク120は、量子化された潜在に基づいて出力を生成する。出力は、AIベースの圧縮プロセス100の出力画像であってもよい。エンコーダデコーダシステムは、オートエンコーダと呼ばれてもよい。
【0099】
上述したシステムは、複数の場所及び/またはデバイスに分散されてもよい。例えば、エンコーダ110は、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォンまたはサーバなどのデバイス上に配置されてもよい。デコーダ120は、受信者デバイスと呼ばれる別のデバイスに配置されてもよい。出力画像6を得るために入力画像5を符号化し、送信し、復号化するために使用されるシステムは、圧縮パイプラインと呼ばれることがある。
【0100】
AIに基づく圧縮処理は、圧縮処理を改善するメタ情報の伝送のためのハイパーネットワーク105をさらに含んでもよい。ハイパーネットワーク105は、ハイパーエンコーダfh θとして機能する訓練されたニューラルネットワーク115と、ハイパーデコーダgh θとして機能する訓練されたニューラルネットワーク125とから構成される。このようなシステムの例を図2に示す。これ以上説明しないシステムの構成要素は、上述したものと同じであると仮定してもよい。ハイパーデコーダとして機能するニューラルネットワーク115は、エンコーダ110の出力である潜在を受信する。ハイパーエンコーダ115は、ハイパー潜在表現と呼ばれることがある潜在表現に基づいて出力を生成する。次に、ハイパー潜在は、Qhで特徴付けられる量子化プロセス145において量子化され、量子化されたハイパー潜在が生成される。Qhによって特徴付けられる量子化プロセス145は、上述したQによって特徴付けられる量子化プロセス140と同じであってもよい。
【0101】
量子化された潜在について上述したのと同様の方法で、量子化されたハイパー潜在は、次に、エントロピー符号化プロセス155においてエントロピー符号化され、ビットストリーム135を生成する。ビットストリーム135は、エントロピー復号化プロセス165においてエントロピー復号化され、量子化されたハイパー潜在を取り出すことができる。量子化されたハイパー潜在は、次に、ハイパーデコーダとして機能する訓練されたニューラルネットワーク125への入力として使用される。しかしながら、圧縮パイプライン100とは対照的に、ハイパーデコーダの出力は、ハイパーデコーダ115への入力の近似値ではない場合がある。その代わりに、ハイパーデコーダの出力は、主圧縮プロセス100のエントロピー符号化プロセス150及びエントロピー復号化プロセス160で使用するためのパラメータを提供するために使用される。例えば、ハイパーデコーダ125の出力は、平均、標準偏差、分散、または潜在表現のエントロピー符号化プロセス150及びエントロピー復号化プロセス160の確率モデルを記述するために使用される他のパラメータの1つ以上を含むことができる。図2に示す例では、簡単のために単一のエントロピー復号化プロセス165とハイパーデコーダ125のみを示している。しかし、実際には、通常、解凍処理は別の装置で行われるため、エントロピー符号化処理150で使用されるパラメータを提供するために、符号化に使用される装置上にこれらの処理の複製が存在することになる。
【0102】
AIベースの圧縮プロセス100の任意の段階で、潜在及びハイパー潜在の少なくとも一方にさらなる変換を適用することができる。例えば、潜在及びハイパー潜在の少なくとも一方は、エントロピー符号化プロセス150,155が実行される前に、残差値に変換されてもよい。残差値は、各潜在またはハイパー潜在から、潜在またはハイパー潜在の分布の平均値を減算することによって決定されてもよい。また、残差値は正規化されてもよい。
【0103】
上述したAIに基づく圧縮処理の訓練を実行するために、上述したように、入力画像の訓練セットを使用してもよい。訓練プロセスの間、エンコーダ110及びデコーダ120の両方のパラメータは、各訓練ステップにおいて同時に更新されてもよい。ハイパーネットワーク105も存在する場合、ハイパーエンコーダ115とハイパーデコーダ125の両方のパラメータは、さらに、各訓練ステップにおいて同時に更新されてもよい。
【0104】
訓練プロセスは、生成的敵対ネットワーク(GAN)をさらに含んでもよい。AIベースの圧縮プロセスに適用される場合、上述の圧縮パイプラインに加えて、識別器として機能する追加の中立ネットワークがシステムに含まれる。識別器は入力を受け取り、入力に基づくスコアを出力して、識別器が入力をグランドトゥルースと見なすか、偽物と見なすかの指標を提供する。例えば、この指標はスコアであり、高いスコアは真実の入力に関連付けられ、低いスコアは偽の入力に関連付けられる。このような場合、入力の真偽を判別するための訓練には、入力の真偽を判別する出力指示の差を最大化する損失関数が用いられる。
【0105】
GANが圧縮処理の訓練に組み込まれる場合、出力画像6は識別器に提供されてもよい。識別器の出力は、圧縮処理の歪みの尺度として圧縮処理の損失関数に使用される。代替的には、識別器は入力画像5と出力画像6の両方を受け取り、出力表示の差を圧縮プロセスの歪みの尺度として圧縮プロセスの損失関数で使用してもよい。識別器として機能するニューラルネットワークと、圧縮処理における他のニュートラルネットワークの訓練は、同時に実行することができる。訓練された圧縮パイプラインを画像またはビデオの圧縮及び伝送に使用する間、識別器ニューラルネットワークはシステムから除去され、圧縮パイプラインの出力は出力画像6となる。
【0106】
訓練プロセスにGANを組み込むと、デコーダ120が幻覚を実行する可能性がある。幻覚処理は、入力画像5には存在しなかった情報を出力画像6に追加する処理である。一例では、幻覚処理は、入力画像5には存在しなかった、またはデコーダ120によって受信されなかった、細かい詳細を出力画像6に追加する可能性がある。実行される幻覚は、デコーダ120によって受信された量子化された潜在の情報に基づいてもよい。
【0107】
上述したように、ビデオは、順次配列された一連の画像から構成される。上述したAIベースの圧縮処理100を複数回適用して、ビデオの圧縮、送信及び解凍を実行してもよい。例えば、ビデオの各フレームを個別に圧縮、送信、解凍してもよい。その後、受信したフレームをグループ化して元のビデオを得てもよい。
【0108】
ここで、上述したAI圧縮処理に関連する多くの概念について説明する。各概念は個別に説明されるが、以下に説明される概念の1つ以上が、上述のAIベースの圧縮処理において適用されてもよい。
【0109】
2次モーメントペナルティ
ニューラル(AIベース)圧縮では、数学的モデル(「ネットワーク」)は、一般に、テンソル(「ニューロン」)の集合によって構成され、これらのテンソルは、上述したように、入力データ(例えば、画像/ビデオ)に数学的変換を適用し、出力を返す。ネットワーク内のニューロンのグループは、特定の層の出力テンソルが次の層の入力として渡されるという特性を持つ、連続した「層」に編成することができる。ネットワークの層の数は、ネットワークの「深さ」と呼ばれる。入力データをxとすると、ある層の変換(すべてのニューロンの変換を合わせたもの)は、最も一般的には、アフィン線形変換に非線形関数er(「activationfunction」)を加えたものである:
【数1】
【0110】
変換されたテンソルyとzは、それぞれ「活性化前特徴マップ」及び「特徴マップ」と呼ばれることがある。テンソルAとbは、1つの層に関連する「パラメータ」の例である(追加のパラメータもあり得る)。したがって、変換されたテンソルyとzは、それぞれの変換の出力である。
【0111】
ネットワークの「学習」は、上述したように、L(「損失関数」)と呼ぶ微分可能な損失尺度に従ってパラメータを漸進的に調整しながら、データ(画像/ビデオなど)をネットワークを通して順次伝播させることによって行われる。パラメータを調整するためのデータ伝播のプロセスは、一般的に「訓練」と呼ばれる。これは「推論」と対照的であり、「推論」とは、パラメータを調整することなく、ネットワークを通じてデータ(通常は訓練プロセスに使用されていない)を伝播することのみを指す。推論パスに関連する損失(「検証損失」)は、適応するために割り当てられたタスクに対するネットワークの一般的なパフォーマンスレベルの直接的な尺度である。
【0112】
AIによる画像ビデオ圧縮では、一般的に層数の多いネットワーク(「ディープネットワーク」)が採用される。訓練速度を上げ、訓練損失の極小値を見つけ、良好な勾配伝搬を確保するために、ディープネットワークは、訓練中に入力分布が変化するように層の入力を調整する必要がある可能性がある。これらは、損失関数が2つのネットワークを同時に訓練する必要がある場合(「敵対的訓練」)に特に適切である。必要な調整は、いわゆる「正規化層」を使って達成されることが多い。正規化層は、入力(最も一般的なのは平均と分散)をあらかじめ指定された目標値に明示的に調整する。例えば、バッチ正規化スキームでは、訓練ステップの入力は、訓練サンプルのコレクション(「(ミニ)バッチ」)で構成される。各バッチの要素は、バッチの平均がゼロに等しく、バッチの平均と標準偏差が1に等しくなるように変換される。
【数2】
ここでμBとσBはバッチ平均と標準偏差であり、定数εは数値的安定性のために加えられる。これは、データセット全体にわたる正規化入力x(ハット)の分布が、期待される平均0と期待される標準偏差1を持つことを保証する。さらに、正規化変換は、ネットワークが必要に応じて正規化を元に戻すことを訓練できるように、アフィン線形マップによってフォローアップすることができる。他の正規化層(チャネル正規化、層正規化)は、平均と標準偏差が集約される次元が異なる。しかし、バッチ正規化は大きな実行時間コストにつながる可能性がある。
【0113】
ここで、2次モーメントペナルティ(SMP)と呼ばれる代替アプローチの例について説明する。前述の正規化アプローチとは対照的に、第2モーメントペナルティは、ネットワーク内の活性化前特徴マップの少なくとも1つに基づいて損失関数を変化させることができる。一例において、追加項は、ネットワーク内の事前活性化特徴マップの少なくとも1つの要素ごとの2乗の平均に基づいてもよい。追加項は、ネットワーク内のすべての後の事前活性化特徴マップに基づいてもよい。付加項のサイズは、正の実数λSMPによって制御することができる。
【0114】
これらすべての特徴を有する例では、SMP損失関数は以下のように定義される。
【数3】
ここで、添字iはネットワーク内の全層を列挙する。2次モーメントのペナルティは、特徴マップの要素のサイズにペナルティを与えるので、訓練中に要素が大きくなりすぎるのを防ぐことができる。さらに、このペナルティは、特徴マップの各要素の経験分布を、平均0、分散が特徴マップの要素数とλSMPで決まる正規(ガウス)確率変数の分布に向かわせる。上述したバッチ正規化と同様に、SMPは、事前活性化特徴マップの分布が、ゼロ平均と固定分散を有するようになり得る。
【0115】
SMPの別の利点は、訓練を通して特徴マップの分散を制御できることである。ディープニューラルネットワークの訓練では、特徴マップまたはパラメータ勾配の分散が爆発的に増大するかまたは消滅する問題に頻繁に遭遇する。ディープラーニングコミュニティにおける一般的な改善方法は、有利な特性を有する重み(パラメータ)の初期化ヒューリスティックを選択することである。しかし、パラメータは訓練前に初期化されるため、初期化の選択の影響は時間の経過とともに減少する。2次モーメントペナルティは、訓練全体にわたって特徴量重みの分散を制御することができるため、分散が爆発するかまたは消滅する問題に対してより堅固な解を与えることができる。
【0116】
損失に対する別の修正には以下のものがある:
・絶対値の平均
これは平均ゼロのラプラシアン事前分布を課すことに相当し、特徴マップのスパース性を促進する。
・弾力ネット型ペナルティ
ここでαiとβiはあらかじめ設定された正の実数。これは階層的弾性ネット事前分布に相当する。
・上記と類似の性質を有する特徴マップの要素の他の正関数に類似した性質を有する。
【0117】
損失関数の追加項に加えて、アフィン線形変換をネットワークの各層に追加してもよい。これにより、ネットワークはペナルティに適応するかまたは、最適であればペナルティを完全に回避することができる。単一層の変換は次のようになる((1)を参照)。
【数4】
【0118】
追加の変換は、活性化前の特徴マップyが取り込まれた後に行われてもよく、2つのテンソル、ASMPとbSMPは、所与の層における付加的な調整可能パラメータであってもよい。2つの連続する線形マップは、単一の非線形演算で融合させることができ、したがって実行時間は影響を受けないままである。活性化前特徴マップの他の可能な変換には、以下が含まれる(ただし、これらに限定されない):
・単一畳み込み層、
・密な層、
・各層に個別のディープニューラルネットワーク
・深度毎の畳み込み。
【0119】
SMPとその変形例の分布ターゲティング特性は、SMP損失関数(3)の追加項が、平均ゼロのガウス分布の負の対数尤度等方ガウス分布です。このことをより詳しく説明するために、i層の事前活性化特徴マップの1つの要素を考える。1つの要素は、バッチ、チャネル、高さ、幅の4つの座標で指定されるので、この要素をyi(b,c,h,w)と表す。この要素の全体の損失関数への寄与は
【数5】
【0120】
正整数Nは、活性化前の特徴マップ全体の平均をとった結果であり、i番目の特徴マップの要素数に等しい。yi(b,c,h,w)2は、平均0、標準偏差1の標準正規確率変数の負の対数尤度とみなすことができる。総合係数λSMP/Nは、標準偏差をλSMP/Nに再スケーリングする。NとλSMPは定数なので、この分布はyiのどの要素に対しても同じである。訓練データセット上の固定要素yi(b,c,h,w)のサンプルは独立で同一分布なので、ネットワークはyi(b,c,h,w)の訓練データセット上の分布を前述のパラメータを持つ正規分布に押し上げる正規化変換を訓練する。
【0121】
目標分布を変更するために第2モーメントペナルティを拡張することは、損失寄与を所望の目標分布の負の対数尤度で置き換えることに等しくなる可能性がある。たとえば、位置0及びスケールλSMP/Nのラプラス分布に対応する損失寄与は次のようになる。
【数6】
【0122】
アプローチの範囲は、解析的に扱いやすい尤度を有する確率分布に限定されない。分布からのサンプリングだけでよいので、マルコフ連鎖モンテカルロのなどのサンプリングアルゴリズムを活用すれば、より複雑な分布も利用できる。
【0123】
上記のアレンジに加え、2次モーメントペナルティは以下のような方法で拡張することができるが、これらに限定されるものではない:
・0の平均をターゲットにすることに加えて、1に等しい分散をターゲットにすることができる。
・上述したペナルティ項は、作動前特徴の確率分布の第1モーメントと第2モーメントを対象とする。他のモーメントの組み合わせをターゲットとする異なるペナルティ項を実装することもできる。
・ネットワークの各層は、それ自身のハイパーパラメータλSMPを有することができ、それによって層毎に正規化強度をきめ細かく制御することができる。
・ハイパーパラメータλSMPは訓練中に変化させることができ、様々な段階でそのサイズを制御するアニーリングスケジュールに従う。
・上記の任意の組み合わせ。
【0124】
図3は、上述したような2次モーメントペナルティを使用した場合と使用せずに訓練したAI圧縮システムの損失曲線を示す。x軸は訓練反復回数を示し、y軸はシステムの損失を示す。AI圧縮システムは、7層のエンコーダと6層のデコーダで構成されている。図の上の線はSMPなしで訓練したシステムに対応し、下の層はSMPで訓練した同じシステムに対応する。システムの損失が5%だけ改善されていることがわかる。SMPを使用した場合、ピクセルあたりのビット数は6%、MSEは3%だけ改善した。
【0125】
2次モーメンペナルティと及び変形または拡張は、密な層、残差ブロック、注意層、長期短期記憶層を含むがこれらに限定されない任意のニューラルネットワーク層アーキテクチャで使用することができる。そのため、密結合ニューラルネットワーク、畳み込みニューラルネットワーク、生成敵対ネットワーク、変換器、残差ネットワークを含むが、これらに限定されない、多種多様なニューラルネットワークモデルで使用することができる。
【0126】
コンテキスト
AIベースの圧縮では、潜在変数yは通常、以下の式によって変数y(ハット)に量子化される。
【数7】
ここでμは位置パラメータであり、例えば(AIベースの圧縮では)前述のようなハイパーネットワークによって予測することができる。丸め関数round(・)は、実数値入力を最も近い整数にマップする。量子化されたレイテントはビットストリームにエンコードされ、通常、各ピクセルが平均μとスケールパラメータerを有する完全因数分解モデルで符号化される。丸められた残差round(y-μ)がゼロに近いほど、ビットストリームは小さくなり、圧縮率に有利であることに注意されたい。したがって、位置予測μがyに近いほど、圧縮率が向上する。
【0127】
このアプローチを拡張したものが、非線形陰的方程式による量子化である。
【数8】
【0128】
潜在がd次元空間にある場合,ここでAはdxd行列である。量子化された潜在変数は、ここで方程式の両辺に現れ、それを解かなければならない。この量子化スキームの考え方は、量子化された近隣のピクセルは、与えられたピクセルに関する関連情報を含んでいる可能性があるので、より良い位置予測を行うために採用できるということである。言い換えれば、
を「ブーストされた」位置予測とみなすことができ、これにより量子化された潜在の圧縮率をさらに下げることができる。
【0129】
行列Aは固定されたもの(おそらく事前に学習されたもの)、またはハイパーネットワークなど何らかの方法で予測されたもの、または画像毎に何らかの方法で導出されたものなどであり得る。
【0130】
残念ながら、(8)を解くのは一般的に非常に難しい。A行列が、潜在の順列に関して厳密に下三角(または上三角)行列であるという非常に特殊なケースでは、次いで(8)は非線形順置換(または逆置換)によって簡単に解くことができる。それ以外の場合は、(8)がどのように解けるかは、すべて明らかではない。
【0131】
ここで、(8)から生じる符号化問題を解くためのいくつかの方法について説明する。復号化における逆問題(連立一次方程式を解く問題)についても説明する。
【0132】
符号化問題(8)を解く方法として、固定点反復を用いる方法がある。すなわち、初期推測値
が与えられたら、
【数9】
を収束するまで繰り返す。
【0133】
Aが対称正定値でスペクトルノルムが1より小さいとき、この方法は収束する。これはAの構造に過度な制約を与えるので望ましくない。
【0134】
別の方法として、補助変数
を導入することにより、(8)を解くための多くのアルゴリズムが生まれる。変数ξは残差と呼ばれることもある。未知変数が左辺になるように、この系を少し書き直す。
【数10】
【0135】
これは非線形鞍点問題である。線形鞍点問題の例とそのアルゴリズムは、Michele Benzi,Gene H.Golub, and Jorg Liesen.Numerical solution of saddle point problems.Acta Numerica,14:1-137、May 2005に記載されており、これは参照により本明細書に組み込まれる。
【0136】
この問題は、以下の形式の非線形鞍点問題の一般的なクラスに属する。
【数11】
【0137】
Fが最大単調であり(次の段落で説明する)、Cが対称で正の半定値である場合、解の存在が保証される。(これは、C+CTの正の半定値を要求するように緩和することもできる。)このように(これらのプロパティを使用して 書かれた鞍点問題を、標準形式の鞍点問題と呼ぶ。
【0138】
設定値関数T(・)は、すべてのu∈T(x)とv∈T(y)に対して、〈u-v,x-y〉≧0のとき単調である。設定値関数T(x)が最大単調であるのは、TのグラフがBに適切に含まれる単調作用素Bが他に存在しないときである。
【0139】
round(ξ)は単調である(ただし最大単調ではない)ことに注意されたい。これは問題であり、非線形鞍点問題の存在と一意性の結果は、作用素が最大単調である場合にのみ保証される。
【0140】
したがって、丸め関数は、集合値関数を介して最大単調拡張round(・)を定義することによって拡張することができる。
【数12】
【0141】
ここで
は整数の集合に2分の1を加えたものであり、floor(x)とceil(x)はそれぞれx以下の最大の整数とx以上の最小の整数を返す関数である。以下では、特に断らない限り、最大単調関数
とround(・)を混同する。
【0142】
一般的な実数値Aの場合、(10)は標準形式ではない。これは、一般に、Aは正と負の実部を持つ両方の固有値を持つ可能性があり、その場合、Aは正定値ではないからである。Aが正定値の場合、(11)でC=Aを特定し、
、B2=I、F=round(・)と設定し、x=ξ、z=y(ハット)を特定する。明らかに、a=-μ及びb=y-μである。
【0143】
(10)は標準的な形で次のように書き直すことができる。Aが固有分解A=QAQ-1を有するとする。(Schur分解など他の分解を用いてもよい)一次方程式にQ-1を乗じ、
とする。式(10)は次のようになる。
【数13】
【0144】
スペクトル分解は、固有値を小さい実数値から大きい実数値へと昇順に並べたと仮定する。
【数14】
【0145】
対角Λは実部が正負両方の固有値を含む。以下を同定する。
・Cを実部が正の固有値を含む部分行列Λ≧0と同一視する。
・同様に、Zを、Aの固有値が正の実数部を持つ
(zの上に記号~を付したものを以下「z(チルダ)」とも表記する。)の部分ベクトルに対応するものとして定義する。
・B1とB2も同様に、Aにおける固有値が正の実数部を持つz(チルダ)の部分ベクトルに対応するQ(I+Λ)とQ-1の部分行列をとることによって得られる。
・gとzの残りの要素(Aにおける固有値が負の実数部を持つ要素)の連結としてxを定義する。
・Fは、ξを丸めた関数に、それ以外のすべての線形項を加えたものとして定義される。
・aとbを右辺の適切な成分に設定する。
【0146】
いったん系が標準形に変換されると、その系を解くためにいくつかのアルゴリズムが利用できる。一例として、xとzの交互更新という発見的手法に依存するアルゴリズムがある。これは、演算子分割を使用する反復法の例です。例えば、問題を2つ以上の変数セットに分割し、各変数サブセットに対して反復的に更新を行うことができる。
【0147】
鞍点問題は、大まかには、あるスカラー関数がxで最小化されzで最大化されるミニマックス最適化問題から生じると考えることができる。したがって、鞍点アルゴリズムは、「xにおける下降ステップ」と「zにおける上昇ステップ」を交互に繰り返すと考えることができ、これらのステップはそれぞれスカラー関数の値を減少/増加させる。
【0148】
反復更新は次のような形になる。初期反復値x0とz0が設定される。その後、収束基準を満たすまで以下の更新を行う:
の解をxk+lとする。
の解をzk+lとする。
【0149】
ここで、τとσはステップサイズパラメータである。これらのステップサイズパラメータの大きさは、収束を保証するために適切に選択することができ、それぞれF(・)とCの共保有性(リプシッツ定数)に依存することができる。例えば、ステップサイズは、演算子のリプシッツ定数(cocoercivity modulus)の逆数の2分の1以下となるように選択することができる。
【0150】
ここで
はxkまたはxk+lであり、同様に
はzkまたはzk+lである。現在の反復子(上付き文字k)を使うか、更新された反復子(上付き文字k+1)を使うかの選択によって、これらの各更新ルールが明示的か陰的かが決まる。現在の反復子を使用する場合、更新は明示的である。更新された反復子が使用される場合、システムは陰的である。陰的な更新と明示的な更新の両方が実行される可能性があることに注意されたい。例えば、単純で実装が簡単な陰的な更新を行うこともある。これらはxの更新とzの明示的更新の対応と考えることができる。
【0151】
明示的な更新は、計算的には明示的なオイラーステップになる(システムが常微分方程式を離散化していると考える場合)。明示的な更新ステップの別名は、前進ステップまたは前進更新ルールである。
【0152】
しかし、明示的更新規則は単純であるにもかかわらず、収束に至らない場合がある。これは、丸め関数をFとする場合のように、Fが大きな(または無限の)リプシッツ定数を持つ場合に特に当てはまる。したがって、代わりに陰的な更新ルールを使用することができる。
【0153】
陰的更新は以下の反復を含む
の解をxk+lとする。
の解をzk+lとする。
【0154】
最初の(陰的な)更新ルールは再配置できる
【数15】
ここで、xk+lは解決する必要がある未知の変数である。このタイプのシステムの解演算子には特別な名前があり、レゾルベントと呼ばれる。入力yとステップサイズαが与えられると、演算子Fの解決策は
と書くことができ、x+αF(x)=yを解く解xになる。したがって、この表記では、更新ルールは
と書くことができる。
【0155】
2番目の更新規則は、陰的な場合、次のように再配置することができる。
【数16】
【0156】
つまり、リゾルベント表記では、
となる。Cは線形なので、これは行列I+σCを反転することになる。
【0157】
演算子Fは、最大単調丸め関数
を構成することができる。
は以下のアルゴリズムで決定できる。
と設定し、以下のチェックを行う:
1.
とする。
がrにおいて実行可能であれば、
を返す。
2.さもなければ,
とする。
がrにおいて実行可能ならば、
を返す。
3.さもなければ,
を返す。
【0158】
xがベクトルの場合、このアルゴリズムはxの要素にポイントワイズで適用される。
【0159】
は関数
の偏微分であり、2次関数
の区分線形近似であることに簡単に注意されたい。ここでのピースは整数格子の単位正方形上の線形である。
【0160】
演算子をさらに分割することもできる。例えば、
が(10)を標準形(11)に変換することによって定義される場合、更新ステップを、まずxを更新し、次にzを更新し、次いでzを更新する(または、これらの変数の他の順序で更新する)ように分割することができる。これらのさらなる分割は、その更新を陰的または明示的にすることができる。この問題は、システムの他の分割にさらに細分化することができ、分割変数に任意の順序で更新を適用することができる。
【0161】
さらに、加速更新規則を実行することもできる。例えば、zk+1←zk+1+θ(zk+1-zk)と設定することができ、ここで、θは、加速パラメータである。同様に、xk+1←xk+1+θ(xk+1-xk)とすることもできる。これらの代入は、反復の各セットの後に実行することができる。それらはアルゴリズムの収束を加速する効果がある。
【0162】
Aが負定値であるとき、問題はもはや鞍点問題ではない。これは、系(10)がy(ハット)において収縮する方向がなくなったからである。もし(10)がξとy(ハット)の両方において最大単調であれば、この系は最大単調作用素のゼロを求める問題と見なすことができる。「xにおける降下ステップ」、「zにおける上昇ステップ」の代わりに、分割変数における2つの降下ステップを行う。言い換えれば、「+σ」を「-σ」に置き換える以外は、前節までのアルゴリズムがすべて適用できる。線形項のレゾルバントは
となる。
【0163】
システムが単調であることを保証するために、
とB2に特定の追加条件が必要になる場合がある。次いで、システムが単調でない場合は、反復アルゴリズムの安定性を確保するために追加のステップが必要になる場合がある。
【0164】
Aが特異である場合、それは単に問題の解が一意でないことを意味する。この場合、
などの追加の項を系に加えることができる。この場合、アルゴリズムが多数の解の中から一意な解を選ぶだけである。
【0165】
ここで復号化処理について説明する。ξとy(ハット)encodeが上記アルゴリズムのいずれかによって求められたとすると、変数ξは次いでξ(ハット)=round(ξ)によって量子化され、符号化されてビットストリームに送られる。次いで、復号化時にξ(ハット)がビットストリームから復元される。y(ハット)decode は以下を解くことで復元される。
【数17】
【0166】
潜在表現である。y(ハット)encode と、潜在表現に対応するが同一ではな可能性がある復号化されたy(ハット)decode との誤差は、以下に依存する。
・I+Aの条件番号
・半整数の値を持つξの要素数。ここで導入された誤差は、round(・)の最大単調拡張
を用いていることに起因する。最大単調関数がセットを出力するとき(ξが半整数のとき)、これは素朴な丸関数と絶対値1まで異なる。これは符号化と復号化の間に多少の誤差をもたらすが、I+Aも適切に条件付けすることで改善できる。
【0167】
Lコンテキストと学習されたビン
上述したように、圧縮アルゴリズムは符号化フェーズと復号化フェーズの2つのフェーズに分けることができる。符号化段階では、入力データは元の入力変数よりも(ビット単位で)小さい表現を有する潜在変数に変換される。復号化フェーズでは、潜在変数に逆変換が適用され、元のデータ(または元のデータの近似値)が復元される。
【0168】
AIベースの圧縮システムは、訓練も行わなければならない。これは、良好な圧縮結果(小さなファイルサイズと最小の歪み)を達成するAIベースの圧縮システムのパラメータを選択する手順である。訓練では、符号化と復号化のアルゴリズムの一部を実行し、AIベースの圧縮システムのパラメータをどのように調整するかを決定する。
【0169】
正確には、Alベースの圧縮では、符号化は通常次のような形になる:
【数18】
【0170】
ここで、xは圧縮されるデータ(画像またはビデオ)であり、feneはエンコーダであり、通常、訓練されるパラメータθを有するニューラルネットワークである。エンコーダは、入力データxを潜在表現yに変換する。潜在表現yは、より低次元で、さらに圧縮するために改良された形式である。
【0171】
yをさらに圧縮し、ビットのストリームとして送信するために、算術符号化などの確立された無損失符号化アルゴリズムが使用される。これらの無損失符号化アルゴリズムでは、yが連続ではなく離散である必要があり、また潜在表現の確率分布の知識が必要となる。これを実現するために、連続データを離散値y(ハット)に変換する量子化関数Q(通常は最近接整数丸め)が使用される。
【0172】
必要な確率分布P(y(ハット))は、潜在空間に確率分布をフィッティングすることで求められる。確率分布は、直接学習することもできるが、多くの場合、ハイパーエンコーダとハイパーデコーダからなるハイパーネットワークによって決定されるパラメータを有するパラメータ分布である。上述のようなハイパーネットワークを使用する場合、追加のビットストリームz(ハット)(「サイド情報」とも呼ばれる)が符号化、伝送、及び復号化される場合がある:
【数19】
式中、μy、σyは量子化された潜在分布P(y(ハット))を決定する平均とスケールのパラメータである。
【0173】
復号化は以下のように進む:
【数20】
【0174】
要約:潜在P(y(ハット))の分布は、算術デコーダ(または他の無損失復号化アルゴリズム)で使用され、ビットストリームを量子化された潜在y(ハット)に変換する。次いで、関数fdecが、定量化された潜在量を、入力データの損失再構成(x(ハット)とする)に変換する。AIベースの圧縮では、fdecは通常ニューラルネットワークであり、学習されたパラメータθに依存する。
【0175】
ハイパーネットワークを使用する場合、まずサイド情報のビットストリームが復号化され、次いでメインビットストリームを復号化するために必要なP(y(ハット))を構築するために必要なパラメータを得るために使用される。
【0176】
典型的なAIベースの画像及びビデオ圧縮パイプラインにおける重要なステップは「量子化」であり、潜在表現の残差は通常、最も近い整数に丸められる。これは、ビットストリームを無損失で符号化するアルゴリズムに必要あるす。しかし、量子化ステップは、再構成品質に影響を与える独自の情報損失をもたらす。
【0177】
各潜在ピクセルに使用されるべき量子化ビンのサイズを予測するために、ニューラルネットワークを訓練することによって、量子化関数を改善することができる。通常、潜在yは最も近い整数に丸められ、これは1の「ビンサイズ」に対応する。つまり、長さ1の区間内のyのすべての可能な値は、同じy(ハット)にマッピングされる:
【数21】
【0178】
しかし、これは情報損失の最適な選択ではない:いくつかの潜在ピクセルでは、再構成品質にあまり影響を与えることなく、より多くの情報を無視することができる(等価的に:1より大きいビンを使用する)。他の潜在ピクセルでは、最適なビンサイズは1より小さい。
【0179】
学習された量子化は、画像毎、ピクセル毎に量子化のビンサイズを予測することで、上記の問題を解決する。これはテンソル
で行うことができ、次のように量子化関数を修正する:
【数22】
【0180】
ξ(ハット)yを「量子化潜在残差」と呼ぶ。したがって、式21は次のようになる:
【数23】
は、長さΔの区間内の値が同じ量子化潜在値にマッピングされることを示す。
【0181】
学習された量子化ビンのサイズは、量子化関数Qの修正に組み込まれているため、符号化して送信したいデータは、学習された量子化ビンのサイズを利用することができることに注意されたい。例えば、潜在yを符号化する代わりに、平均減算した潜在y-μyを符号化したい場合、これを実現することができる:
【数24】
【0182】
同様に、ハイパー潜在、ハイパーハイパー潜在、及び量子化したい他のオブジェクトはすべて、適切に訓練されたΔに対して、修正された量子化関数QΔを使うことができる。
【0183】
量子化ビンのサイズを予測するためのいくつかのアーキテクチャを詳細に説明する。アーキテクチャの例としては、ハイパーネットワークを用いて量子化ビンのサイズΔを予測するものがある。ビットストリームは以下のように符号化される:
【数25】
式中、分割は要素毎に行われる。ここでξ(ハット)yは無損失符号化され、ビットストリームとして送信されるオブジェクトである(以下、ξ(ハット)yを量子化された潜在残差と呼ぶ)。
【0184】
復号化時には、ビットストリームは通常通り無損失復号化される。次いでΔを用いて、2つの要素を乗算することでξyを再スケールする。この変換結果はy(ハット)となり、通常通りデコーダネットワークに渡される:
【数26】
【0185】
我々は、上記のアーキテクチャのいくつかの変形を詳細に説明する:
・ハイパー潜在の量子化ビンのサイズは、学習されたパラメータとすることができるか、またはこれらの変数を予測するハイパーハイパーネットワークを含めるができる。
・ハイパーデコーダから量子化ビンのサイズΔyを得た後、このテンソルをさらに非線形関数で処理することができる。この非線形関数は、一般的にニューラルネットワークであろう(ただし、この選択に限定されるものではない)。
【0186】
また、量子化ビンを学習するための我々の方法は、ハイパープライヤー、ハイパープライヤー、自己回帰モデル、陰モデルなど、メタ情報を伝達するすべての方法と互換性があることを強調する。
【0187】
AIベースの圧縮では、「コンテキストモデル」を用いて量子化の前に潜在変数を変換するのが有利である。コンテキストモデルは、各残差を隣接残差の関数で変換し、コンテキスト情報を符号化することで性能を向上させる。復号化時には、この変換は逆になる。
【0188】
多くのタイプのコンテキストモデルは計算コストが高く、エンドユーザデバイス向けのAIベースの圧縮に使用するのは困難であるか、または不可能でさえある。しかし、コンテキストモデルが近傍残差の線形関数であり、陰的方程式を通して定義される場合、高速な陰的方程式を解くアルゴリズムが存在するため、コンテキストモデリングは実行時の観点から実現可能である。このような陰的方程式の例は、平均減算された潜在y-μをy(ハット)の線形変換によって補強することである:
【数27】
【0189】
ここでLは下三角行列であり、ハイパーデコーダから出力することができるか、または訓練されたモデルパラメータであることができるか、または別のニューラルネットワークで予測されることも可能である。y(ハット)は上式の両辺に現れるので、陰的に定義される。
【0190】
学習された量子化と陰的コンテキストモデルは、当然組み合わせることができる。この場合、陰的方程式は次のようになる。
【数28】
【0191】
陰的コンテキストモデリングの1つの課題は、ニューラルネットワークを訓練する必要があることである(可能な限り最高のパフォーマンスをもたらすネットワークのパラメータを見つけるために最適化手順を実行する)。標準的なやり方は、確率的勾配降下(またはそれに近い変種の1つ)などの最適化手順でバックプロパゲーションアルゴリズムを使用することである。これにはいくつかの課題がある:
・確率的勾配降下によるバックプロパゲーションは、ニューラルネットワーク内のすべての変換の勾配を計算する必要があるが、丸め関数は微分可能ではない。
・バックプロパゲーションアルゴリズムは、多変数微積分の連鎖法則を使用して、ネットワークの各層に勾配を「伝播」させる必要がある。ほとんどの自動微分ソフトウェアパッケージは、陰的方程式を通して勾配を伝播させることができない。
【0192】
丸め演算によって特定の伝播勾配を選択することで、陰的方程式28のすべての勾配を計算することができ、これらの勾配は、学習された量子化でこの陰コンテキストモデルを使用するAIベースの圧縮パイプラインを通して勾配を伝播するアルゴリズムを設計することを可能にする形をとる。
【0193】
丸め演算は、丸め関数の導関数を定義する「ストレートスルーエスティメータによる丸め」に置き換えることができ、これは丸め関数の導関数を定義し、丸め演算を無視するものである:
【数29】
【0194】
これで陰的方程式28のすべての導関数を計算できる。これを行う最も簡単な方法は、関数を定義することである:
【数30】
【0195】
次いで、陰的方程式は次のようになる
【数31】
ここでy(ハット)はy、μ、Δ、gの関数であることを示す。各々学習可能なパラメータy、μ、L、Δである、合計の導関数w.r.tを計算しよう:
【数32】
【0196】
必要な偏導関数を計算する(
の定義を思い出されたい:)
【数33】
全体として、導関数の合計は次のようになる
【数34】
上記のテンソルの乗算はすべて要素毎に行われる。
【0197】
ビットストリームの符号化と復号化に必要なレート損失のために、追加の勾配計算が発生する。エントロピーモデルに送られる量がノイズ量子化されているとする。次いで、学習された量子化を使用し、陰的コンテキストモデルを用いたAIベースの圧縮における典型的なレート損失は、次のようになる
【数35】
ここでεU(-1/2、1/2)。CDFは,あるパラメトリック分布(ガウス分布,ラプラシアン分布,非対称ガウス分布,ガウス混合分布など)の累積分布関数である。次のように
【数36】
と定義し、上記と同様にすべての勾配を計算する(σ勾配は基本的に他の勾配と混ざらないので、この計算は省略する)。ただし、以前とは異なり、微分を計算するときに行列微積分を考える必要がある。実際、最も簡単な方法は成分毎に計算することなので、ベクトル方程式のi番目の要素を考えてみよう(繰り返される添字はこれから合計される):
【数37】
【0198】
次いで、全微分は次のようになる。
【数38】
【0199】
次の偏導関数が必要である(クロネッカーデルタの使用を導入する):
【数39】
陰的方程式の勾配を計算するときにy(ハット)の全微分を計算済みなので、あとはすべて代入すればよい:
【数40】
【0200】
上記を用いたアルゴリズム例は以下の通りである:
1.画像またはビデオxをエンコーダに通し、yを得る。
2.yをハイパーエンコーダに通し、zを得る。
3.zを数値化し、z(ハット)を得る。
4.z(ハット)をハイパーデコーダに通し、μ、σ、L、Δを得る。
5.ここまでのすべてのオブジェクトとネットワークパラメータは、自動微分ソフトウェアパッケージによって追跡される。
6.陰的方程式ソルバを使用して、
からy(ハット)を求める。
7.y(ハット)は現在、自動微分ソフトウェアパッケージによって追跡されていない。
8.y(ハット)を関数y(ハット)with gradsで囲み、y(ハット)with gradsの偏導関数を次のように定義する。
【数41】
9.y(ハット)with gradsを自動微分ソフトパッケージが追跡するように追加する。
10.Ly(ハット)with gradsを計算し、これをレートロスの計算に使用する。
11.y(ハット)with grads階調をデコーダに渡し、再構成された画像またはビデオxを得る。
12.全損失関数を計算し、バックプロパゲーションを実行し、最適化アルゴリズムでネットワークパラメータを更新する。
13.収束するまで繰り返す
【0201】
前節のアルゴリズムは陰的方程式の構造から導かれる。従って、多くの変形が可能である:
・学習された量化なし(Δの導関数を除去し、Δが現れるところはすべてΔ=1とする)
・Δが追加のニューラルネットワーク層で処理される学習された量子化
・Lが帯状構造を有する陰的方程式、上三角または下三角である陰的方程式、または単調、対称、固有値の境界など、陰的方程式の解が存在するために必要な他の構造を有する陰的方程式。
・Lはハイパーデコーダから来るのではなく、学習されたパラメータとして、または別のニューラルネットワークから予測されたものである。
・ハイパーハイパー潜在、ハイパーハイパー潜在などの陰的コンテキストモデリングへの拡張。
・RoundWithSTE量子化が、レート損失におけるノイズ量子化の代わりに使用される場合
【0202】
AI圧縮における特殊化
上述したように、Alベースの画像及びビデオの圧縮では、パイプラインは、複数の畳み込み層、非線形活性化関数、及びダウンサンプリング/アップサンプリング演算によって構成されるニューラルネットワーク(モデルと呼ばれることもある)で構成される場合がある。パイプラインは、入力画像またはビデオなどの元のデータサンプルを取り込み、潜在表現(または潜在)を返すエンコーダ部と、潜在を入力とし、元のデータサンプルの(損失)近似を出力するデコーダ部の2つの構成要素に分割することができる。
【0203】
AIベースの圧縮パイプラインは、大量のデータサンプルに対して訓練を行う。従来、訓練セット
は、モデルがデータ空間の複数のモードを捕捉するために、十分に多様であるべきである。しかし、データ空間がとてつもなく高次元で複雑である場合、データ空間のマルチモーダリティによって過度の汎化を余儀なくされ、パフォーマンスが低下する可能性がある。
【0204】
この概念を図4に示す。右側は全データセットDに対して訓練させた汎化モデルの理想図であり、左側は全データセットDを分割したデータセットに対して訓練させた特殊化モデルの理想図である。このように、完全なデータセットのデータポイントを異なるデータのクラスタに分離し、個々のクラスタに対して別々のモデルを訓練する概念は、特殊化と呼ばれる場合がある。
【0205】
AIベースの画像及びビデオの圧縮における特殊化とは、データ固有のマルチモーダリティを利用するパイプラインに関するものである。各データサンプルの関連するモード(クラスタ)を識別できるモデル(クラスタモデル)と、各クラスタに対して個別に1つのモデルを適合させる訓練レジームによって、圧縮性能が大幅に向上することが期待される。言い換えれば、各Dkが相互に排他的で、集合的に網羅的なクラスタセットとなるような、K個のクラスタへのデータセットDの分割を見つけることができる。次いで、図4の右側に示すように、クラスタを個別にモデル化するために、各クラスタ毎に少なくとも1つのエンコーダ、デコーダ、またはエンコーダとデコーダの両方からなる1つのモデルを訓練することができる。
【0206】
エンコーダ及び/またはデコーダのモデルアーキテクチャは固定でもよい。この場合、特殊化されたモデルの重みは、ビットストリームに安価に符号化できる各入力のクラスタインデックスに基づいて、メモリから単純にホットスワップされる場合がある。
【0207】
上記の特殊化の概念に基づくAIベースの圧縮パイプラインの訓練は、2つの段階から構成される:1.データセットを類似の特徴を有するK個の小さなクラスタセットにクラスタリングする。2.K個のモデルを初期化し、それぞれをクラスタ集合に割り当てて訓練する。
【0208】
この訓練プロセスの概略を図5に示す。特殊化の最初のステップは、訓練データセット20の各訓練及び検証インスタンスをクラスタに分類的に割り当てることができるクラスタモデルまたはアルゴリズム24を得ることであり、これに基づいて圧縮モデルを適合させることができる。
【0209】
クラスタアルゴリズムを使用する1つの方法は、予め定義されたパラメータを有するモデルを使用することである。このようなクラスタリングアルゴリズムの例としては、k-means、Mini-batch k-means、Affinity propagation、Mean-shift、Spectral clustering、Ward hierarchical clustering、Agglomerative clustering、DBSCAN、0PTICS、Gaussian mixtures、BIRCH、Deep Clusteringなどがある。ディープクラスタリングの例は、Caron,M.,Bojanowski,P.,Joulin,A.& Douze,M.(2018) Deep Clustering for Unsupervised Learning of Visual Learningに記載されており、これは参照により本明細書に組み込まれる。
【0210】
クラスタリングアルゴリズム24は、訓練データセット20の各インスタンスを受け取り、インスタンスの1つ以上の特徴に基づいて各インスタンスをクラスタに割り当てる。入力画像の場合、クラスタリングアルゴリズムは、以下の特徴の1つ以上に基づいて割り当てを実行することができる:RGBチャネル統計(平均、分散、高次モーメント)、RGBカラーヒストグラム確率、他の色空間におけるチャネル統計及びヒストグラム確率、1Dパワースペクトル密度、ニューラルネットワークベースの分類確率、ファイルメタデータ及びディープ特徴。インスタンスが割り当てられるクラスタの数は、あらかじめ決められている場合がある。ニューラルネットワークベースの分類確率が使用される場合、使用されるニューラルネットワークは、以下に説明する圧縮モデルの訓練の前に訓練される場合がある。この場合、ニューラルネットワークは、訓練データセット20に対して予め訓練される。
【0211】
別の方法として、クラスタリングは、後述する圧縮モデルとともにエンドツーエンドで訓練されるニューラルネットワークによって実行されてもよい。バックプロパブルクラスタリング手法の例には、以下が含まれる:前方パスにおけるハードクラスタ割り当て、及び後方パスにおけるソフトクラスタ割り当て、参照により本明細書に組み込まれるJang,E.,Gu,S.& Poole,B.(2016)Categorical Reparameterization with Gumbel-Softmaxに記載されているようなGumbel-softmax再パラメータ化、及びディープクラスタリング。
【0212】
クラスタリングアルゴリズムが実行されると、次のステップは特殊化されたネットワークの訓練である。適切なクラスタリングモデルまたはアルゴリズムを用いて、訓練データセット20の各データサンプルを割り当てられたクラスタに関連付け、複数の特殊化圧縮パイプライン200を訓練するためのK個のクラスタセット25を取り出すことができる。各特殊化圧縮パイプライン200は、個別のエンコーダ250及びデコーダ260から構成される。各特殊化圧縮パイプライン200は、事前に訓練されたモデルから再開するのではなく、ゼロから初期化することができる。敵対的損失で訓練される場合、各クラスタセット25に別々の識別器を使用する必要がある。次いで、各特殊化パイプラインは、上述したように、関連するクラスタに割り当てられたインスタンスのセットに対して訓練されてもよい。
【0213】
複数のパイプラインが訓練されると、動作において、クラスタリングアルゴリズム24は入力画像を受け取り、入力画像を特定のクラスタに割り当てる。割り当てられたクラスタに基づいて、入力画像の符号化、送信、及び復号化のための特定の専用パイプラインが選択される。クラスタリングアルゴリズムによって選択されたクラスタインデックスは、受信側で正しいデコーダ260が選択されるように、画像の潜在表現に加えてメタデータとして送信されることがある。
【0214】
ネットワークアーキテクチャは、各クラスタセットに関連する圧縮パイプライン全体で同じであることに制限されず、クラスタ分析後に別のハイパーパラメータ最適化ステップとして扱うことができる。しかし、運用上の観点から、エンコーダ及び/またはデコーダのアーキテクチャは、クラスタセットの1つ以上にわたって類似または同一である方が効率的である可能性があり、これにより、モバイルハードウェア上の計算グラフにネットワークパラメータをより効率的にロードイン及びロードアウトできるようになる。
【0215】
一般化された圧縮パイプラインは、複数の特殊化された圧縮パイプラインと連携して動作するように組み合わせることもできる。このようなモデルは、特定のデータサンプルの圧縮性能が、一般化されたパイプラインよりも特殊化されたパイプラインの方が悪いことが判明した場合の予備オプションとして機能する。このモデルを得るために、クラスタリングアルゴリズムを使用せずに、訓練データセット20上で圧縮パイプラインの訓練を実行することができる。
【0216】
特殊化という概念により、ドメインまたはメディアカテゴリに特化したパイプラインを構築することができる。例えば、ある圧縮モデルは映画に特化し、ある圧縮モデルはスポーツに特化し、ある圧縮モデルはビデオコンフレンスに特化し、ある圧縮モデルは一般的なフォールバックモデルに特化するなどである。例えば、映画のジャンル(アクション、アニメ、ホラー、SF)毎に1つのモデル、個々のスポーツ(サッカー、スキー、ボクシング)毎に1つのモデルといったように、メディアのサブカテゴリに対してさらに1つのレベルのクラスタリングを実行する階層構造も考えられる。
【0217】
上述した代替的なアプローチは、ドメインにとらわれず、例えばニューラルネットワークのようなディープクラスタリングモデルまたは特徴抽出器にデータ分割を決定させることである。このアプローチでは、ニューラルネットワークは入力として入力画像を受け取り、さらなるクラスタリングアルゴリズムをニューラルネットワークの出力に適用して適切なクラスタを得ることができる。次いで、入力画像は、上述したように、関連する圧縮パイプラインを通過してもよい。このアプローチでは、ニューラルネットワークは、クラスタリングアルゴリズムによる入力画像のクラスタリングがより良好になる出力を生成するように訓練される場合がある。たとえば、ニューラルネットワークを訓練するために使用される損失関数は、出力における差異を奨励するためにニューラルネットワークの出力間の分散に基づいてもよい。ニューラルネットワークは、オートエンコーダシステムのエンコーダであってもよく、出力が入力画像の近似であるデコーダの入力として、出力が続いて使用される。
【0218】
画像は、システムへの入力として使用されるいくつかのサブ画像に分割される場合がある。各サブ画像は同じサイズであってもよい。例えば、各画像を32x32残差の小さな固定解像度の連続ブロックにマクロブロック化し、各々が32x32残差の入力を取り込むK個の専用モデルを識別して訓練することができる。このアプローチは、前述のように、クラスタリングの前にニューラルネットワークがデータ分割を決定する場合に実行することができる。このアプローチでは、各ブロックは、そのブロックに最適な特殊化された変換符号化アルゴリズムで処理される。
【0219】
このような符号化システムの視覚化例を図6に示す。初期画像34は、複数のサブ画像またはブロック35に分割される。各サブ画像35は、クラスタリングアルゴリズム24によってクラスタが割り当てられ、クラスタの関連エンコーダ250によって符号化され、複数のサブ画像35に関連する複数の潜在表現が生成される。
【0220】
そのようなシステムの場合、ビットストリーム250を介した伝送中に効率的なエントロピーモデル化を行うために、各ブロックからの潜在成分を潜在空間にまとめる、または結合することが有益な場合がある。このためには、各エンコーダから出力された潜在ブロックを予め決められた配置でつなぎ合わせることができる。Dosovitskiy,A.,Beyer,L.,Kolesnikov,A.,Weissenbor,D.,Zhai,X.,Unterthiner,T.,Dehghani,M.,Minderer,M.,Heigold,G.,Gelly,S.,Uszkoreit,J.& Houlsby,N.(2020)の技術を活用することもできる。画像は16×16語の価値がある:Scale and Wu,B.,Xu,C.,Dai,X.,Wan,A.,Zhang,P.,Yan,Z.,Tomizuka,M.,Gonzalez,J.,Keutzer,K.& Vajda,P.(2020)Visual Transformers:トークンベースの画像表現とコンピュータビジョンのための処理、これは参照により本明細書に組み込まれ、ブロック間の依存関係をモデル化するために、各潜在ブロックをトークンとして扱う。
【0221】
各インスタンスに使用されるクラスタインデックスは、クラスタリングアルゴリズムから特定のステップ270においてビットストリームに含まれる場合がある。幸いなことに、これはパッチサイズと特殊化モデルの数のみに依存する残差あたりの固定ビット数(bpp)であるパッチあたりかろうじて1バイトである(K=l00及び32x32パッチの場合、クラスタインデックスエンコーディングのための一定のbppは0.0068である可能性がある)。
【0222】
図6の例に対応する復号化システムの可視化例を図7に示す。図7に示すように、復号化システムでは、ステップ280でインデックスがビットストリームから取得される。各ブロックは、対応する専用のデコーダを介して処理され、その後、画像がつなぎ合わされ、境界除去フィルタで後処理される場合がある。
【0223】
特殊化されたパイプラインを使用した結果の例を以下に示す。16Mの前処理済み256x256画像クロップが、クラスタリングアルゴリズムMiniBatchK Meansを使用して処理され、「K=100」クラスタが形成され、各クラスタは0~99のクラスタインデックスに帰属する。各クラスタに対して、7E6D128アーキテクチャで構成される専用の圧縮パイプラインを訓練した。一般化されたモデルは、トリミングされていない画像データセット全体に対して訓練された。クラスタ結果のサンプルを示す。
【表1】
【0224】
図示のように、特殊化モデルは、レートと歪み性能の両方において、各クラスタで一般化モデルを上回っている。
図1
図2
図3
図4
図5
図6
図7
【国際調査報告】