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

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

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

特許7368639ビデオ符号化のための方法、装置及びコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-16
(45)【発行日】2023-10-24
(54)【発明の名称】ビデオ符号化のための方法、装置及びコンピュータプログラム
(51)【国際特許分類】
   H04N 19/90 20140101AFI20231017BHJP
【FI】
H04N19/90
【請求項の数】 12
(21)【出願番号】P 2022566413
(86)(22)【出願日】2022-04-29
(65)【公表番号】
(43)【公表日】2023-07-04
(86)【国際出願番号】 US2022072028
(87)【国際公開番号】W WO2022232847
(87)【国際公開日】2022-11-03
【審査請求日】2022-10-31
(31)【優先権主張番号】63/182,476
(32)【優先日】2021-04-30
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/730,026
(32)【優先日】2022-04-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ディン,ディン
(72)【発明者】
【氏名】リン,シェン
(72)【発明者】
【氏名】ジャン,ウェイ
(72)【発明者】
【氏名】ワン,ウェイ
(72)【発明者】
【氏名】リウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2021/231218(WO,A1)
【文献】米国特許出願公開第2017/0230675(US,A1)
【文献】米国特許出願公開第2016/0255357(US,A1)
【文献】米国特許出願公開第2012/0155536(US,A1)
【文献】米国特許第6611628(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
プロセッサによって実行される、ビデオ符号化のための方法であって、
符号化されるべき入力画像から初期特徴表現を生成するステップと;
前記初期特徴表現における複数の要素の値の反復更新を実行するステップであって、前記反復更新が、
最終特徴表現に基づいて、最終特徴表現に対応するコーディングされた表現を生成するステップであって、前記最終特徴表現は、前記反復更新の反復回数だけ前記初期特徴表現から更新されている、ステップと、
前記コーディングされた表現に基づいて、前記最終特徴表現に対応する再構成画像を生成するステップと、
を含む、実行するステップと;
前記複数の要素の更新された値を有する、前記最終特徴表現に対応する符号化画像を生成するステップと;
を含み、
(i)前記最終特徴表現に対応するレート歪み損失又は(ii)前記反復更新の反復回数、のうちの一方が、所定の条件を満たし、
前記レート歪み損失は、前記最終特徴表現に対応する前記コーディングされた表現のビット消費と、前記入力画像と前記最終特徴表現に対応する前記再構成画像との間の差とに基づいて決定される、
方法。
【請求項2】
前記コーディングされた表現を生成するステップは、
前記最終特徴表現にノイズを加えて、前記最終特徴表現に対応する第1表現を生成するステップと、
前記第1表現のシミュレートされたエントロピー符号化に基づいて、前記コーディングされた表現を生成するステップと、
を含み、
前記再構成画像を生成するステップは、前記コーディングされた表現のシミュレートされたエントロピー復号を含む、
請求項1に記載の方法。
【請求項3】
前記シミュレートされたエントロピー符号化に基づいて、前記コーディングされた表現を生成するステップは、
前記最終特徴表現に基づいてコンテキストモデルを決定するステップと、
前記決定されたコンテキストモデルを用いて前記第1表現の前記シミュレートされたエントロピー符号化に基づいて、前記コーディングされた表現を生成するステップと、
を更に含む、請求項2に記載の方法。
【請求項4】
前記符号化画像を生成するステップは、前記最終特徴表現を量子化表現に量子化するステップを含み、前記符号化画像は前記量子化表現に基づいて生成される、
請求項1に記載の方法。
【請求項5】
前記符号化画像を生成するステップは、
前記量子化表現を前記符号化画像へエントロピー符号化するステップを含む、
請求項4に記載の方法。
【請求項6】
前記エントロピー符号化するステップは、前記量子化表現を前記符号化画像へ算術符号化するステップを含む、
請求項5に記載の方法。
【請求項7】
前記量子化表現をエントロピー符号化するステップは、
前記最終特徴表現に基づいてコンテキストモデルを決定するステップと、
前記決定されたコンテキストモデルに基づいて、前記量子化表現を前記符号化画像へエントロピー符号化するステップと、
を更に含む、請求項5に記載の方法。
【請求項8】
前記実行するステップは、(i)前記初期特徴表現における前記複数の要素の前記値と、(ii)前記最終特徴表現に基づいて前記コーディングされた表現を生成するために使用されるニューラルネットワーク(NN)内の事前トレーニングパラメータとの前記反復更新を実行するステップを含み、前記コーディングされた表現を生成するステップは、前記事前トレーニングパラメータを置き換える置換パラメータで更新された前記NNによって、前記最終特徴表現に基づいて、前記最終特徴表現に対応する前記コーディングされた表現を生成するステップを含み、前記置換パラメータは、前記反復更新の反復回数によって前記事前トレーニングパラメータから決定されたものであり、
前記符号化画像を生成するステップは、前記置換パラメータによって更新された前記NNに基づいて、前記最終特徴表現から前記符号化画像を生成するステップを含む、
請求項1に記載の方法。
【請求項9】
前記実行するステップは、(i)前記初期特徴表現における前記複数の要素の前記値と、(ii)前記コーディングされた表現に基づいて前記再構成画像を生成するために使用されるニューラルネットワーク(NN)内の事前トレーニングパラメータとの前記反復更新を実行するステップを含み、
前記再構成画像を生成するステップは、前記事前トレーニングパラメータを置き換える置換パラメータで更新された前記NNによって、前記最終特徴表現に対応する前記コーディングされた表現に基づいて、前記最終特徴表現に対応する前記再構成画像を生成するステップを含み、前記置換パラメータは、前記反復更新の反復回数によって前記事前トレーニングパラメータから決定されたものであり、
当該方法は、
コーディングされたビットストリームに含まれるニューラルネットワーク更新情報を生成するステップであって、前記ニューラルネットワーク更新情報は前記置換パラメータを示す、ステップと、
前記符号化画像及び前記ニューラルネットワーク更新情報を前記コーディングされたビットストリームで送信するステップと、
を更に含む、請求項1に記載の方法。
【請求項10】
前記符号化画像を、コーディングされたビットストリームで送信するステップ、
を更に含む、請求項1に記載の方法。
【請求項11】
請求項1乃至10のいずれか一項に記載の方法を実行するよう構成される処理回路を含む、ビデオ符号化のための装置。
【請求項12】
少なくとも1つのプロセッサによって実行されると、該少なくとも1つのプロセッサに、請求項1乃至10のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
参照による組み込み
本出願は、2021年4月30日に出願された米国仮出願第63/182,476号「Content-adaptive Online Training with Feature Substitution In Neural Image Compression」の優先権の利益を主張する、2022年4月26日に出願された米国特許出願第17/730,026号「CONTENT-ADAPTIVE ONLINE TRAINING WITH FEATURE SUBSTITUTION IN NEURAL IMAGE COMPRESSION」の優先権の利益を主張する。先の出願の開示は、参照によりその全体が本明細書に組み込まれる。
【0002】
技術分野
本開示は、ビデオコーディングに一般的に関連する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景説明は、本開示の文脈を一般的に提示するためのものである。現在名前を挙げられている発明者の研究は、その研究がこの背景技術に記載された範囲において、出願時に先行技術として通常見なされ得ない記載の態様とともに、明示的にも暗黙的にも本開示に対する先行技術として認められない。
【0004】
画像及び/又はビデオコーディング及び復号は、動き補正を伴うインターピクチャ予測を使用して実行されることができる。非圧縮デジタル画像/ビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば1920×1080の輝度サンプル及び関連するクロミナンスサンプルの空間寸法を有する。一連のピクチャは、例えば毎秒60ピクチャ又は60Hzの固定又は可変ピクチャレート(非公式にフレームレートとしても知られる)を有することができる。非圧縮画像/ビデオは、特定のビットレート要件を有する。例えばサンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。このようなビデオの1時間は、600Gバイトを超える記憶領域を必要とする。
【0005】
ビデオコーディング及び復号の1つの目的は、圧縮を通した、入力画像/ビデオ信号の冗長性の低減である可能性がある。圧縮は、前述の帯域幅及び/又は記憶領域の要件を、場合によっては2桁以上低減するのを助けることができる。本明細書における説明は、例示的な例としてビデオ符号化/復号を使用するが、本開示の精神から逸脱することなく、同じ技術を同様の方法で画像符号化/復号に適用することができる。可逆圧縮と非可逆圧縮の両方、並びにそれらの組合せを採用することができる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを再構成することができる技術を指す。非可逆圧縮を使用するとき、再構成信号は、元の信号と同一ではない可能性があるが、元の信号と再構成信号との間の歪みは、再構成信号を、意図されるアプリケーションに有用であるようにするのに十分に小さい。ビデオの場合、非可逆圧縮は広く使用される。許容される歪み量はアプリケーションに依存し、例えば特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン分配アプリケーションのユーザよりも高い歪みを許容し得る。達成可能な圧縮比は:より高い許容可能な/容認可能な歪みが、より高い圧縮比をもたらすことができることを反映する可能性がある。
【0006】
ビデオエンコーダ及びデコーダは、例えば動き補償、変換、量子化及びエントロピーコーディングを含む、いくつかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラコーディングとして知られる技術を含むことができる。イントラコーディングでは、サンプル値は、以前に再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表される。いくつかのビデオコーデックでは、ピクチャはサンプルのブロックに空間的に細分される。イントラモードでサンプルのすべてのブロックがコーディングされるとき、そのピクチャはイントラピクチャとすることができる。独立デコーダリフレッシュピクチャ(independent decoder refresh pictures)のようなイントラピクチャ及びそれらの派生物を使用して、デコーダ状態をリセットすることができ、したがって、コーディングされたビデオビットストリーム及びビデオセッションにおける最初のピクチャとして、あるいは静止画像として使用することができる。イントラブロックのサンプルに、変換を受けさせることができ、変換係数を、エントロピーコーディングの前に量子化することができる。イントラ予測は、事前変換領域(pre-transform domain)におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値がより小さく、AC係数がより小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップサイズで必要とされるビット数は少ない。
【0008】
例えばMPEG-2世代のコーディング技術から知られているような伝統的なイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば空間的に隣接し、かつ復号順序において先行する、データのブロックの符号化及び/又は復号中に取得される、周囲のサンプルデータ及び/又はメタデータから試みる技術を含む。このような技術は、以下では「イントラ予測」技術と呼ばれる。少なくともいくつかの場合には、イントラ予測は、再構成中の現在のピクチャからの参照データのみを使用していて、参照ピクチャからのものは使用しないこと留意されたい。
【0009】
多くの異なる形式のイントラ予測が存在し得る。所与のビデオコーディング技術において、そのような技術のうちの2つ以上を使用することができるとき、使用中の技術を、イントラ予測モードにおいてコーディングすることができる。ある場合には、モードは、サブモード及び/又はパラメータを有することができ、これらを個々にコーディングするか又はモードコードワード(mode codeword)に含めることができる。どのコードワードを、所与のモード、サブモード及び/又はパラメータの組合せに使用するかは、イントラ予測を通したコーディング効率ゲインに影響を与える可能性があり、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術も同様であり得る。
【0010】
イントラ予測の特定のモードは、H.264で導入され、H.265で精査され、JEM(joint exploration model)、VVC(versatile video coding)及びベンチマークセット(BMS:benchmark set)のようなより新しいコーディング技術で更に精査された。既に利用可能なサンプルに属している隣接するサンプル値を使用して、予測子ブロック(predictor block)を形成することができる。例えば隣接するサンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリームでコーディングされることができるか又はそれ自体が予測され得る。
【0011】
図1Aを参照すると、右下に示されているのは、H.265の33の可能な予測子方向(predictor directions)(35のイントラモードの33の角度モードに対応する)からわかる、9つの予測子方向のサブセットである。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば矢印(102)は、サンプル(101)が、1つのサンプル又は複数のサンプルから右上へ、水平から45度の角度で予測されることを示す。同様に、矢印(103)は、サンプル(101)が、1つのサンプル又は複数のサンプルからサンプル(101)の左下へ、水平から22.5度の角度で予測されることを示す。
【0012】
引き続き図1Aを参照すると、左上には、4×4サンプルの正方形ブロック(104)が示されている(破線の太線で示されている)。正方形ブロック(104)は、16個のサンプルを含み、各々「S」と、Y次元におけるその位置(例えば行インデックス)と、X次元におけるその位置(例えば列インデックス)とでラベリングされている。例えばサンプルS21は、Y次元の(上から)2番目のサンプル及びX次元の(左から)1番目のサンプルである。同様に、サンプルS44は、Y及びX次元の両方においてブロック(104)の4番目のサンプルである。ブロックのサイズが4×4サンプルであるので、S44は右下にある。さらに、同様のナンバリングスキームに従う参照サンプルが示されている。参照サンプルは、ブロック(104)に対するR、そのY位置(例えば行インデックス)及びX位置(列インデックス)でラベリングされる。H.264とH.265の両方において、予測サンプルは再構成中のブロックに隣接し、したがって、負の値は使用される必要がない。
【0013】
イントラピクチャ予測は、シグナリングされる予測方向によって適切であるように、隣接するサンプルから参照サンプル値をコピーすることによって機能することができる。例えばコーディングされたビデオビットストリームが、このブロックに対して、矢印(102)と一致する予測方向を示すシグナリングを含むと仮定する、すなわち、サンプルは、1つ又は複数の予測サンプルから右上へ、水平から45度の角度で予測される。この場合、サンプルS41、S32、S23、S14は、同じ参照サンプルR05から予測される。次いで、サンプルS44は、参照サンプルR08から予測される。
【0014】
ある場合には、特に方向が45度で均一に割り切れないときは、参照サンプルを計算するために、複数の参照サンプルの値が、例えば補間(interpolation)を通して組み合わされ得る。
【0015】
ビデオコーディング技術が発展するにつれて、可能な方向の数が増えている。H.264(2003年)では、9つの異なる方向を表すことができる。これは、H.265(2013年)では33に増加し、開示の時点で、JEM/VVC/BMSは、65の方向をサポートすることができる。実験は、最も可能性がある方向を識別するために実施され、エントロピーコーディングにおける特定の技術は、それらの最も可能性がある方向を少数のビットで表すために使用され、より可能性が少ない方向に対して特定のペナルティを受け入れる。さらに、時には方向それ自体を、隣接する既に復号されたブロックにおいて使用される隣接方向から予測することができる。
【0016】
図1Bは、JEMに従う65のイントラ予測方向を示す概略図(110)を示しており、経時的な予測方向の数の増加を例示する。
【0017】
コーディングされたビデオビットストリーム内の、方向を表すイントラ予測方向ビットのマッピングは、ビデオコーディング技術ごとに異なる可能性があり、例えばイントラ予測モードへの予測方向の単純な直接マッピングから、コードワードへ、最確モード(most probable mode)を含む複雑な適応スキームへ及び類似の技術に及ぶ可能性がある。しかしながら、すべての場合において、特定の他の方向よりもビデオコンテンツ内において生じる可能性が統計的に低い、特定の方向が存在する可能性がある。ビデオ圧縮の目標は冗長性の低減であるので、それらのより可能性が低い方向は、良好に機能するビデオコーディング技術では、より可能性が高い方向よりも多くのビット数によって表される。
【0018】
動き補償は、非可逆圧縮技術であり得、以前に再構成されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下、MV)によって示される方向に空間的にシフトされた後に、新たに再構成されたピクチャ又はピクチャの一部の予測に使用される技術に関連する可能性がある。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じものとすることができる。MVは、2次元X及びY又は3次元を有することができ、3番目の次元(third)は、使用中の参照ピクチャの指示である(後者は、間接的に、時間次元である可能性がある)。
【0019】
いくつかのビデオ圧縮技術では、サンプルデータのあるエリアに適用可能なMVを、他のMVから、例えば再構成中のエリアに空間的に隣接し、かつ復号順序でそのMVに先行するサンプルデータの別のエリアに関連するMVから、予測することができる。そうすることは、MVをコーディングするために必要とされるデータの量を実質的に減少させることができ、それによって、冗長性を除去して、圧縮を高めることができる。MV予測は効果的に機能することができる。なぜなら、例えばカメラから導出される入力ビデオ信号(自然ビデオとして知られる)をコーディングする際に、単一のMVが適用可能なエリアよりも大きいエリアが、同様の方向に移動するという統計的可能性が存在し、したがって、場合によって、隣接するエリアのMVから導出される同様の動きベクトルを用いて予測をすることができるからである。その結果、所与のエリアについて見出されるMVは、周囲のMVから予測されるMVと類似又は同一であり、その後、これは、エントロピーコーディングの後、MVを直接コーディングする場合に使用されるであろうものよりも、より少ない数のビットで表現することができる。場合によって、MV予測は、元の信号(すなわち、サンプルストリーム)から導出される信号(すなわち、MV)の可逆圧縮の例であり得る。他の場合には、MV予測それ自体は、例えばいくつかの周囲のMVから予測子を計算する際の丸め誤差のために、非可逆あり得る。
【0020】
様々なMV予測メカニズムが、H.265/HEVC(ITU-T Rec. H.265、「High Efficiency Video Coding」、2016年12月)において説明されている。H.265が提案する多くのMV予測メカニズムのうち、ここで説明されるのは「空間マージ(spatial merge)」と呼ばれる技術である。
【0021】
図2を参照すると、現在のブロック(201)は、エンコーダによって、動き探索プロセス中に、空間的にシフトされた同じサイズの前のブロックから予測可能であることが見出されたサンプルを含む。そのMVを直接コーディングする代わりに、MVを、1つ以上の参照ピクチャに関連付けられるメタデータから、例えば(復号順序で)最新の参照ピクチャから、A0、A1及びB0、B1、B2(それぞれ202から206)と示される5つの周囲のサンプルのいずれか1つに関連付けられるMVを使用して導出することができる。H.265では、MV予測は、隣接ブロックが使用しているものと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0022】
本開示の態様は、ビデオ符号化及び復号のための方法及び装置を提供する。いくつかの例において、ビデオ符号化のための装置は、処理回路を含む。処理回路は、符号化されるべき入力画像から初期特徴表現を生成するように構成される。処理回路は、初期特徴表現における複数の要素の値の反復更新を実行するように構成される。反復更新は、反復更新の反復回数だけ初期特徴表現から更新された最終特徴表現に基づいて、最終特徴表現に対応するコーディングされた表現を生成することを含む。反復更新は、コーディングされた表現に基づいて、最終特徴表現に対応する再構成画像を生成することを含む。処理回路は、複数の要素の更新された値を有する、最終特徴表現に対応する符号化画像を生成するように構成される。(i)最終特徴表現に対応するレート歪み損失又は(ii)反復更新の反復回数のうちの一方が、所定の条件を満たし、レート歪み損失は、最終特徴表現に対応するコーディングされた表現のビット消費と、入力画像と最終特徴表現に対応する再構成画像との間の差とに基づいて決定される。
【0023】
一実施形態において、処理回路は、最終特徴表現にノイズを加えて、最終特徴表現に対応する第1表現を生成し、第1表現のシミュレートされたエントロピー符号化に基づいて、コーディングされた表現を生成するように構成される。処理回路は、コーディングされた表現のシミュレートされたエントロピー復号を実行するように構成される。
【0024】
一実施形態において、処理回路は、最終特徴表現に基づいてコンテキストモデルを決定し、決定されたコンテキストモデルを用いて第1表現のシミュレートされたエントロピー符号化に基づいて、コーディングされた表現を生成するように構成される。
【0025】
一例において、処理回路は、最終特徴表現を量子化表現に量子化するように構成され、符号化画像は量子化表現に基づいて生成される。
【0026】
一例において、処理回路は、量子化表現を符号化画像へエントロピー符号化するように構成される。一例において、処理回路は、量子化表現を符号化画像へ算術符号化するように構成される。
【0027】
一例において、処理回路は、最終特徴表現に基づいてコンテキストモデルを決定し、決定されたコンテキストモデルに基づいて、量子化表現を符号化画像へエントロピー符号化するように構成される。
【0028】
一実施形態において、処理回路は、(i)初期特徴表現における複数の要素の値と、(ii)最終特徴表現に基づいてコーディングされた表現を生成するために使用されるニューラルネットワーク(NN)内の事前トレーニングパラメータとの反復更新を実行するように構成される。処理回路は、事前トレーニングパラメータを置き換える置換パラメータで更新されたNNによって、最終特徴表現に基づいて、最終特徴表現に対応するコーディングされた表現を生成することができる。置換パラメータは、反復更新の反復回数によって事前トレーニングパラメータから決定されたものである。処理回路は、置換パラメータによって更新されたNNに基づいて、最終特徴表現から符号化画像を生成することができる。
【0029】
一実施形態において、処理回路は、(i)初期特徴表現における複数の要素の値と、(ii)コーディングされた表現に基づいて再構成画像を生成するために使用されるニューラルネットワーク(NN)内の事前トレーニングパラメータとの反復更新を実行するように構成される。処理回路は、事前トレーニングパラメータを置き換える置換パラメータで更新されたNNによって、最終特徴表現に対応するコーディングされた表現に基づいて、最終特徴表現に対応する再構成画像を生成することができる。置換パラメータは、反復更新の反復回数によって事前トレーニングパラメータから決定されたものである。処理回路は、コーディングされたビットストリームに含まれるニューラルネットワーク更新情報を生成することができ、ニューラルネットワーク更新情報は置換パラメータを示す。処理回路は、符号化画像及びニューラルネットワーク更新情報をコーディングされたビットストリームで送信することができる。
【0030】
一例において、処理回路は、符号化画像をコーディングされたビットストリームで送信する。
【0031】
本開示の態様は、ビデオ符号化及び復号のための方法を実行するために少なくとも1つのプロセッサによって実行可能なプログラムを記憶する、非一時的なコンピュータ読取可能記憶媒体も提供する。
【図面の簡単な説明】
【0032】
開示される主題の更なる特徴、性質及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
【0033】
図1A図1Aは、イントラ予測モードの例示的サブセットの概略図である。
【0034】
図1B】例示的な内部予測方向の説明図である。
【0035】
図2】一実施形態による、現在のブロック(201)及び周囲のサンプルを示す図である。
【0036】
図3】一実施形態による、通信システム(300)の簡略ブロック図の概略図である。
【0037】
図4】一実施形態による、通信システム(400)の簡略ブロック図の概略図である。
【0038】
図5】一実施形態による、デコーダの簡略ブロック図の概略図である。
【0039】
図6】一実施形態による、エンコーダの簡略ブロック図の概略図である。
【0040】
図7】別の実施形態による、エンコーダのブロック図である。
【0041】
図8】別の実施形態による、デコーダのブロック図である。
【0042】
図9】本開示の一実施形態による、例示的なニューラル画像圧縮(NIC)フレームワークを示す図である。
【0043】
図10】本開示の一実施形態による、メインエンコーダネットワークの例示的な畳み込みニューラルネットワーク(CNN)を示す図である。
【0044】
図11】本開示の一実施形態による、メインデコーダネットワークの例示的なCNNを示す図である。
【0045】
図12】本開示の一実施形態による、ハイパーエンコーダの例示的なCNNを示す図である。
【0046】
図13】本開示の一実施形態による、ハイパーデコーダの例示的なCNNを示す図である。
【0047】
図14】本開示の一実施形態による、コンテキストモデルネットワークの例示的なCNNを示す図である。
【0048】
図15】本開示の一実施形態による、エントロピーパラメータネットワークの例示的なCNNを示す図である。
【0049】
図16A】本開示の一実施形態による、例示的なビデオエンコーダを示す図である。
【0050】
図16B】本開示の一実施形態による、例示的なビデオデコーダを示す図である。
【0051】
図17】本開示の一実施形態による、例示的なビデオエンコーダを示す図である。
【0052】
図18】本開示の一実施形態による、例示的なビデオデコーダを示す図である。
【0053】
図19A】本開示の一実施形態による、学習ベースの画像コーディングプロセスを示す図である。
【0054】
図19B】本開示の一実施形態による、例示的なNICフレームワークを示す図である。
【0055】
図19C】本開示の一実施形態による、NICフレームワークに基づく例示的な符号化プロセスを示す図である。
【0056】
図20】本開示の一実施形態によるプロセスを概略的に示すフローチャートを示す図である。
【0057】
図21】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0058】
図3は、本開示の一実施形態による通信システム(300)の簡略化されたブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば通信システム(300)は、ネットワーク(350)を介して相互接続される第1の対の端末デバイス(310)及び(320)を含む。図3の例では、第1の対の端末デバイス(310)及び(320)は、データの一方向伝送を実行する。例えば端末デバイス(310)は、ネットワーク(350)を介して他の端末デバイス(320)に伝送するために、ビデオデータ(例えば端末デバイス(310)によってキャプチャされるビデオピクチャのストリーム)をコーディングし得る。符号化されたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形態で伝送することができる。端末デバイス(320)は、ネットワーク(350)からコーディングされたビデオデータを受け取ることができ、コーディングされたビデオデータを復号して、ビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示する。一方向データ伝送は、メディア供給アプリケーション等において一般的であり得る。
【0059】
別の例では、通信システム(300)は、例えばビデオ会議中に生じ得るコーディングされたビデオデータの双方向伝送を実行する、第2の対の端末デバイス(330)及び(340)を含む。データの双方向伝送のために、一例では、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)及び(340)のうちの他方の端末デバイスに伝送するために、ビデオデータ(例えばその端末デバイスによってキャプチャされるビデオピクチャのストリーム)をコーディングし得る。端末デバイス(330)及び(340)の各端末デバイスはまた、端末デバイス(330)及び(340)の他方の端末デバイスによって伝送された、コーディングされたビデオデータを受け取ることができ、コーディングされたビデオデータを復号してビデオピクチャを復元することができ、復元されたビデオデータに従って、アクセス可能なディスプレイデバイスでビデオピクチャを表示することができる。
【0060】
図3の例では、端末デバイス(310)、(320)、(330)及び(340)は、サーバ、パーソナルコンピュータ及びスマートフォンとして例示され得るが、本開示の原理は、そのように限定され得ない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ及び/又は専用のビデオ会議装置への適用を見出す。ネットワーク(350)は、例えばワイヤライン(有線)及び/又は無線通信ネットワークを含め、端末デバイス(310)、(320)、(330)及び(340)の間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線スイッチ及び/又はパケットスイッチチャネルにおいてデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本議論の目的のために、ネットワーク(350)のアーキテクチャ及びトポロジは、本明細書において以下に説明されない限り、本開示の動作に対して重要ではないことがある。
【0061】
図4は、開示される主題の適用の例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示される主題は、例えばビデオ会議やデジタルTV、CD、DVD、メモリスティック等を含むデジタルメディアにおける圧縮ビデオの記憶等を含む、他のビデオ対応アプリケーションにも同様に適用可能であり得る。
【0062】
ストリーミングシステムは、例えば圧縮されていないビデオピクチャのストリーム(402)を作成するビデオソース(401)、例えばデジタルカメラを含むことができる、ビデオキャプチャサブシステム(413)を含み得る。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮られたサンプルを含む。ビデオピクチャのストリーム(402)は、符号化ビデオデータ(404)(又はコーディングされたビデオビットストリーム)と比較したときの高データ量を強調するために太線として示されており、ビデオソース(401)に結合されるビデオエンコーダ(403)を含む電子デバイス(420)によって処理されることができる。ビデオエンコーダ(403)は、以下により詳細に説明されるような、開示される主題の態様を可能にするか又は実装するために、ハードウェア、ソフトウェア又はそれらの組合せを含むことができる。符号化ビデオデータ(404)(又は符号化ビデオビットストリーム(404))は、ビデオピクチャのストリーム(402)と比較したときの低データ量を強調するために細線として示されており、将来の使用のためにストリーミングサーバ(405)に記憶されることができる。図4のクライアントサブシステム(406)及び(408)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、符号化ビデオデータ(404)のコピー(407)及び(409)を取り出すことができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は符号化ビデオデータの入力コピー(407)を復号し、そして、ディスプレイ(412)(例えばディスプレイ画面)又は他のレンダリングデバイス(図示せず)上でレンダリングすることができる、ビデオピクチャの出力ストリーム(411)を作成する。いくつかのストリーミングシステムでは、符号化ビデオデータ(404)、(407)及び(409)(例えばビデオビットストリーム)を、特定のビデオコーディング/圧縮規格に従って符号化することができる。これらの規格の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオコーディング規格は、(VVC:Versatile Video Coding)として非公式に知られている。開示される主題はVVCの文脈で使用され得る。
【0063】
電子デバイス(420)及び(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)も含むことができる。
【0064】
図5は、本開示の一実施形態による、ビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれることができる。電子デバイス(530)は、受信機(531)(例えば受信回路)を含むことができる。図4の例のビデオデコーダ(410)の代わりに、ビデオデコーダ(510)を用いることができる。
【0065】
受信機(531)は、ビデオデコーダ(510)によって復号されるべき1つ以上のコーディングされたビデオシーケンスを受け取ることがあり;同じ又は別の実施形態では、一度に1つのコーディングされたビデオシーケンスを受け取り、この場合、各コーディングされたビデオシーケンスの復号は、他のコーディングビデオシーケンスとは独立である。コーディングされたビデオシーケンスはチャネル(501)から受け取られてよく、該チャネルは、符号化ビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであり得る。受信機(531)は、他のデータ、例えばコーディングされたオーディオデータ及び/又は補助データストリームとともに、符号化ビデオデータを受け取ってよく、これらのデータは、それらのそれぞれの使用エンティティ(図示せず)に転送されてよい。受信機(531)は、コーディングされたビデオシーケンスを他のデータから分離し得る。ネットワークジッタをなくすために、バッファメモリ(515)が、受信機(531)とエントロピーデコーダ/パーサ(520)(以下、「パーサ(520)」)との間に結合され得る。特定の適用では、バッファメモリ(515)は、ビデオデコーダ(510)の一部である。他では、バッファメモリ(515)は、ビデオデコーダ(510)(図示せず)の外側にある可能性がある。更に他では、例えば再生タイミングを処理するためにビデオデコーダ(510)の内部にある別のバッファメモリ(515)に加えて、例えばネットワークジッタをなくすためにビデオデコーダ(510)の外側にバッファメモリ(図示せず)が存在する可能性がある。受信機(531)が、十分な帯域幅及び制御可能性を有するストア/転送デバイスから又は等同期(isosynchronous)ネットワークからデータを受信しているとき、バッファメモリ(515)は必要でないことがあり、あるいは小さいものとすることができる。インターネットのようなベストエフォート・パケットネットワークにおける使用のために、バッファメモリ(515)が必要とされることがあり、そのサイズは比較的大きいものとすることができ、有利には適応サイズとすることができ、少なくとも部分的に、ビデオデコーダ(510)の外側のオペレーティングシステム又は類似の要素(図示せず)において実装されることがある。
【0066】
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するためにパーサ(520)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報と、潜在的に、電子デバイス(530)の一体部分ではないが図5に示されたように電子デバイス(530)に結合されることができるレンダデバイス(512)(例えばディスプレイ画面)のようなレンダリングデバイスを制御する情報とを含む。レンダリングデバイスの制御情報は、補足強化情報(SEI:Supplemental Enhancement Information)メッセージ又はビデオユーザビリティ情報(VUI:Video Usability Information)パラメータセットフラグメント(図示せず)の形式であってよい。パーサ(520)は、受信される、コーディングされたビデオシーケンスを構文解析/エントロピー復号し得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、可変長コーディング、ハフマンコーディング、文脈依存(context sensitivity)を伴うか伴わない算術コーディング等を含む、様々な原理に従うことができる。パーサ(520)は、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのサブグループについてのサブグループパラメータのセットを、グループに対応する少なくとも1つのパラメータに基づいて抽出することができる。サブグループは、ピクチャのグループ(GOPs:Groups of Pictures)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CUs:Coding Units)、ブロック、変換ユニット(TUs:Transform Units)、予測ユニット(PUs:Prediction Units)等を含むことができる。パーサ(520)はまた、変換係数、量子化パラメータ値、動きベクトル等のようなコーディングされたビデオシーケンス情報から抽出してもよい。
【0067】
パーサ(520)は、シンボル(521)を生成するように、バッファメモリ(515)から受け取ったビデオシーケンスに対してエントロピー復号/構文解析動作を実行し得る。
【0068】
シンボル(521)の再構成は、コーディングされたビデオピクチャ又はその部分のタイプ(例えばインター及びイントラピクチャ、インター及びイントラブロック)及び他のファクタに応じて、複数の異なるユニットに関与することができる。どのユニットがどのように関与するかは、コーディングされたビデオシーケンスからパーサ(520)によって構文解析されたサブグループ制御情報によって制御されることができる。パーサ(520)と下記の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確性のために図示されていない。
【0069】
既に述べた機能ブロックの他に、ビデオデコーダ(510)は、以下で説明するように、複数の機能ユニットに概念的に細分されることができる。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に対話し、少なくとも部分的に相互へ統合されることができる。しかしながら、開示される主題を説明する目的のために、以下では、機能ユニットへの概念的な細分化が適切である。
【0070】
第1ユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)からのシンボル(521)として、どの変換を使用すべきか、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む制御情報だけでなく、量子化された変換係数も受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
【0071】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロック、すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用することができるブロックに関連する可能性がある。このような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在のピクチャバッファ(558)からフェッチされる、周囲の既に再構成された情報を使用して、再構成中のブロックの同じサイズ及び形状のブロックを生成する。現在のピクチャバッファ(558)は、例えば部分的に再構成された現在のピクチャ及び/又は完全に再構成された現在のピクチャをバッファする。アグリゲータ(555)は、場合によってはサンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加し得る。
【0072】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされて潜在的に動き補償されるブロックに関連する可能性がある。このような場合、動き補償予測ユニット(553)は、予測に使用されるサンプルをフェッチするために参照ピクチャメモリ(557)にアクセスすることができる。ブロックに関連するシンボル(521)に従って、フェッチされたサンプルを動き補償した後、これらのサンプルは、アグリゲータ(555)によって、出力サンプル情報を生成するために、スケーラ/逆変換ユニット(551)の出力(この場合、残差サンプル又は残差信号と呼ばれる)に追加されることができる。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えばX、Yと参照ピクチャ成分を有することができるシンボル(521)の形態で、動き補償予測ユニット(553)に利用可能な動きベクトルによって、制御されることができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされるサンプル値の補間、動きベクトル予測メカニズム等も含むことができる。
【0073】
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)内の様々なループフィルタリング技術の対象となることができる。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、かつパーサ(520)からシンボル(521)としてループフィルタユニット(556)に利用可能にされるが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(復号順序で)以前の部分の復号中に取得されたメタ情報に応答することもできるとともに、以前に再構成されてループフィルタリングされたサンプル値に応答することができる、ループ内フィルタ技術を含むことができる。
【0074】
ループフィルタユニット(556)の出力は、レンダデバイス(512)に出力されることができ、かつ将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)内に記憶されることができる、サンプルストリームとすることができる。
【0075】
ある特定のコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用されることができる。例えば現在のピクチャに対応するコーディングされたピクチャが完全に再構成され、コーディングされたピクチャが(例えばパーサ(520)によって)参照ピクチャとして識別されると、現在のピクチャバッファ(558)は参照ピクチャメモリ(557)の一部となることができ、フレッシュな現在のピクチャバッファは、後続のコーディングされたピクチャの再構成を開始する前に再割り当てされることができる。
【0076】
ビデオデコーダ(510)は、ITU-T Rec. H.265のような規格の所定のビデオ圧縮技術に従って復号動作を実行し得る。コーディングされたビデオシーケンスは、該コーディングされたビデオシーケンスが、ビデオ圧縮技術又は規格の構文と、ビデオ圧縮技術又は規格で文書化されるプロファイルとの両方を守るという意味において、使用されているビデオ圧縮技術又は規格によって指定された構文に準拠し得る。具体的には、プロファイルは、そのプロファイルの下での使用に使用可能な唯一のツールとして、特定のツールを選択することができる。また、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルによって定義される範囲内にあることが、準拠には必要であり得る。場合によっては、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば毎秒メガサンプル(megasamples)で測定される)、最大参照ピクセルサイズ等を制限する。レベルによって設定される限界(limit)は、場合によっては、コーディングされたビデオシーケンスでシグナリングされる仮想リファレンスデコーダ(HRD:Hypothetical Reference Decoder)のバッファ管理のためのHRD仕様及びメタデータを通して更に制限される可能性がある。
【0077】
実施形態では、受信機(531)は、符号化ビデオとともに追加の(冗長な)データを受け取ることがある。追加のデータは、コーディングされたビデオシーケンスの一部として含まれてよい。追加のデータは、データを適切に復号し、かつ/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用され得る。追加のデータは、例えば時間的、空間的又は信号対ノイズ比(SNR)強化層(enhancement layers)、冗長スライス、冗長ピクチャ、順方向誤り訂正コード等の形態とすることができる。
【0078】
図6は、本開示の実施形態による、ビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば送信回路)を含む。図4の例のビデオエンコーダ(403)の代わりに、ビデオエンコーダ(603)を使用することができる。
【0079】
ビデオエンコーダ(603)は、ビデオサンプルを、ビデオエンコーダ(603)によってコーディングされるべきビデオ画像をキャプチャし得るビデオソース(601)(図6の例では電子デバイス(620)の一部ではない)から受け取ってよい。別の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
【0080】
ビデオソース(601)は、ビデオエンコーダ(603)によってコーディングされるべきソースビデオシーケンスを、任意の適切なビット深度(例えば8ビット、10ビット、12ビット、...)、任意の色空間(例えばBT.601 YCrCB、RGB、...)及び任意の適切なサンプリング構造(例えばYCrCb 4:2:0、YCrCb 4:4:4)とすることができるデジタルビデオサンプルストリームの形態で提供し得る。メディア供給システムにおいて、ビデオソース(601)は、事前に準備されたビデオを記憶するストレージデバイスであってよい。ビデオ会議システムでは、ビデオソース(601)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであってもよい。ビデオデータは、シーケンスで見るときに動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間アレイとして編成されてよく、この場合、各ピクセルは、使用中のサンプリング構造、色空間等に応じて1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てている。
【0081】
一実施形態によると、ビデオエンコーダ(603)は、リアルタイムで又はアプリケーションによって要求される任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコーディング及び圧縮して、コーディングされたビデオシーケンス(643)にすることができる。適切なコーディング速度を実施することは、コントローラ(650)の1つの機能である。いくつかの実施形態において、コントローラ(650)は、以下で説明されるように、他の機能ユニットを制御し、該他の機能ユニットに機能的に結合される。この結合は、明確性のために図示されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、ピクチャのグループ(GOP)のレイアウト、最大動きベクトル探索範囲等を含むことができる。コントローラ(650)は、特定のシステム設計のために最適化された、ビデオエンコーダ(603)と関係する他の適切な機能を有するように構成されることができる。
【0082】
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。過剰に簡略化した説明として、一例では、コーディングループは、ソースコーダ(630)(例えばコーディングされるべき入力ピクチャ及び参照ピクチャに基づいて、シンボルストリーム等のシンボルを作成することを担当する)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモート)デコーダも作成するのと同様の方法で、シンボルを再構成してサンプルデータを作成する(シンボルとコーディングされたビデオビットストリームとの間の任意の圧縮は、開示される主題において考慮されるビデオ圧縮技術で可逆であるので)。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダ位置(ローカル又はリモート)とは独立のビット正確な結果(bit-exact results)をもたらすので、参照ピクチャメモリ(634)内のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャのシンクロニシティ(synchronicity)のこの基本原理(及び例えばチャネルエラーのためにシンクロニシティを維持することができない場合の結果として生じるドリフト)は、いくつかの関連する技術でも同様に使用される。
【0083】
「ローカル」デコーダ(633)の動作は、ビデオデコーダ(510)のような「リモート」デコーダと同じものとすることができ、これは、既に図5に関連して上述されている。しかしながら、図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)及びパーサ(520)によるコーディングされたビデオシーケンスへのシンボルの符号化/復号は可逆であり得るので、バッファメモリ(515)及びパーサ(520)を含むビデオデコーダ(510)のエントロピー復号部分は、ローカルデコーダ(633)では完全には実装されないことがある。
【0084】
一実施形態において、デコーダ内に存在する、解析/エントロピー復号以外の任意のデコーダ技術はまた、対応するエンコーダ内において同一又は実質的に同一の機能的形態で存在する。したがって、開示される主題はデコーダ動作に焦点を当てる。エンコーダ技術の説明は、網羅的に説明されるデコーダ技術の反対であるので、省略される可能性がある。特定の領域において、より詳細な説明が以下で提供される。
【0085】
いくつかの例において、動作中に、ソースコーダ(630)は、動き補償予測コーディングを実行してよく、動き補償予測コーディングは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされたピクチャに関連して予測的に入力ピクチャをコーディングする。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャのピクセルブロックとの間の差をコーディングする。
【0086】
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータを復号し得る。コーディングエンジン(632)の動作は、有利には、非可逆プロセスであり得る。コーディングされたビデオデータがビデオデコーダ(図6には図示せず)で復号され得るとき、再構成ビデオシーケンスは、典型的に、いくつかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得る復号処理を複製し、再構成参照ピクチャを参照ピクチャキャッシュ(634)に記憶させ得る。このようにして、ビデオエンコーダ(603)は、(伝送誤差なしに)遠端ビデオデコーダによって取得される再構成参照ピクチャとして、共通のコンテンツを有する再構成参照ピクチャのコピーを、ローカルに記憶し得る。
【0087】
予測器(635)は、コーディングエンジン(632)について予測探索を実行し得る。すなわち、コーディングされるべき新しいピクチャについて、予測器(635)は、参照ピクチャメモリ(634)から、サンプルデータ(候補参照ピクセルブロックとして)又は参照ピクチャ動きベクトル、ブロック形状等のような特定のメタデータを探索してよく、これらのデータは、新しいピクチャのための適切な予測参照として機能し得る。予測器(635)は、適切な予測参照を見つけるために、サンプルブロックとピクセルブロックごと(sample block-by-pixel block basis)に動作し得る。場合によっては、予測器(635)によって取得される検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有してよい。
【0088】
コントローラ(650)は、例えばビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理してもよい。
【0089】
前述の機能ユニットのすべての出力は、エントロピーコーダ(645)におけるエントロピーコーディングの対象となり得る。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディング等のような技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されるシンボルを、コーディングされたビデオシーケンスに変換する。
【0090】
送信機(640)は、エントロピーコーダ(645)によって作成されるコーディングされたビデオシーケンスをバッファして、通信チャネル(660)を介した伝送の準備を行ってよく、該通信チャネル(660)は、符号化されたビデオデータを記憶するストレージデバイスへのハードウェア/ソフトウェアリンクであってよい。送信機(640)は、ビデオコーダ(603)からのコーディングされたビデオデータを、伝送されるべき他のデータ、例えばコーディングされたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とマージし得る。
【0091】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理し得る。コーディングの間、コントローラ(650)は、各コーディングされたピクチャに、特定のコーディングピクチャタイプ(coded picture type)を割り当ててよく、該コーディングピクチャタイプは、それぞれのピクチャに適用され得るコーディングに影響を与え得る。例えばピクチャは、しばしば、次のピクチャタイプのうちの1つとして割り当てられ得る:
【0092】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内のいずれの他のピクチャも使用せずにコーディング及び復号され得るものであり得る。いくつかのビデオコーデックは、例えば独立デコーダリフレッシュ(「IDR:Independent Decoder Refresh」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形並びにそれらのそれぞれの用途及び特徴を知っている。
【0093】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大1つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を使用して、コーディング及び復号され得るものであり得る。
【0094】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大2つの動きベクトルと参照インデックスを用いて、イントラ予測又はインター予測を使用して、コーディング及び復号され得るものであり得る。同様に、複数予測ピクチャ(multiple-predictive pictures)は、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連するメタデータを使用することができる。
【0095】
ソースピクチャは、通常、空間的に複数のサンプルブロック(例えば各々4×4、8×8、4×8又は16×16サンプルのブロック)に細分され、ブロックごとにコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされた)ブロックに関連して予測的にコーディングされ得る。例えばIピクチャのブロックは、非予測的にコーディングされてもよく、あるいはそれらは、同じピクチャの既にコーディングされたブロックに関連して予測的にコーディングされてもよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、以前にコーディングされた1つの参照ピクチャに関連して、空間予測を介して又は時間予測を介して予測的にコーディングされ得る。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャに関連して、空間予測を介して又は時間予測を介して予測的にコーディングされ得る。
【0096】
ビデオエンコーダ(603)は、ITU-T Rec. H.265のような所定のビデオコーディング技術又は規格に従ってコーディング動作を実行し得る。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行し得る。コーディングされたビデオデータは、したがって、使用されているビデオコーディング技術又は規格によって指定された構文に従うことができる。
【0097】
一実施形態では、送信機(640)は、符号化されたビデオとともに追加データを送信してもよい。ソースコーダ(630)は、コーディングされたビデオシーケンスの一部としてそのようなデータを含んでよい。追加データは、時間/空間/SNR強化層、冗長ピクチャ及びスライス、SEIメッセージ、VUIパラメータセットフラグメント等のような他の形式の冗長データを含んでもよい。
【0098】
ビデオは、時間シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャにおける空間的相関を使用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を使用する。一例では、符号化/復号中の特定のピクチャは、現在のピクチャと呼ばれ、ブロックに区分化される。現在のピクチャ内のブロックが、ビデオ内の以前にコーディングされて依然としてバッファされている参照ピクチャ内の参照ブロックに類似するとき、現在のピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによってコーディングされることができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されているケースでは、参照ピクチャを識別する第3次元(third dimension)を有することができる。
【0099】
いくつかの実施形態では、インターピクチャ予測において双予測技術を使用することができる。双予測技術によると、第1参照ピクチャと第2参照ピクチャのように、両方とも、復号順序でビデオ内の現在のピクチャに先行する(ただし、表示順序では、それぞれ、過去及び将来であり得る)2つの参照ピクチャが使用される。現在のピクチャ内のブロックを、第1参照ピクチャ内の第1参照ブロックを指す第1動きベクトルと、第2参照ピクチャ内の第2参照ブロックを指す第2動きベクトルとによってコーディングすることができる。ブロックは、第1参照ブロックと第2参照ブロックの組合せによって、予測されることができる。
【0100】
さらに、コーディング効率を改善するために、インターピクチャ予測においてマージモード技術を使用することができる。
【0101】
本開示のいくつかの実施形態によると、インターピクチャ予測及びイントラピクチャ予測のような予測は、ブロックのユニット(unit)において実行される。例えばHEVC規格によると、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に区分化され、ピクチャ内のCTUsは、64×64ピクセル、32×32ピクセル又は16×16ピクセルのように、同じサイズを有する。一般に、CTUは、3つのコーディングツリーブロック(CTBs)を含み、該3つのCTBは、1つのルマ(luma)CTBと2つのクロマCTBである。各CTUは、1つ又は複数のコーディングユニット(CUs)に再帰的に四分木分裂(quadtree split)することができる。例えば64×64ピクセルのCTUを、64×64ピクセルの1つのCUに又は32×32ピクセルの4つのCUに又は16×16ピクセルの16個のCUに分裂することができる。一例では、各CUを分析して、インター予測タイプ又はイントラ予測タイプのような、CUの予測タイプを決定する。CUは、時間的及び/又は空間的予測可能性に依存して、1つ以上の予測ユニット(PUs)に分裂される。一般に、各PUはルマ予測ブロック(PB)と2つのクロマPBsを含む。一実施形態では、コーディング(符号化/復号)における予測動作は、予測ブロックのユニットにおいて実行される。予測ブロックの例としてルマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル等のような、ピクセルについての値(例えばルマ値)の行列を含んでよい。
【0102】
図7は、本開示の別の実施形態によるビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在のビデオピクチャ内のサンプル値の処理ブロック(例えば予測ブロック)を受け取り、処理ブロックを符号化して、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャにするように構成される。一例では、ビデオエンコーダ(703)は、図4の例のビデオエンコーダ(403)の代わりに使用される。
【0103】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロック等のような処理ブロックのサンプル値の行列を受け取る。ビデオエンコーダ(703)は、処理ブロックが、例えばレート歪み最適化(rate-distortion optimization)を使用して、イントラモード、インターモード又は双予測(bi-prediction)モードを使用して最も良くコーディングされるかどうかを決定する。処理ブロックがイントラモードでコーディングされるべきであるとき、ビデオエンコーダ(703)は、イントラ予測技術を使用して、処理ブロックを符号化して、コーディングされたピクチャにしてよく、処理ブロックがインターモード又は双予測モードでコーディングされるべきであるとき、ビデオエンコーダ(703)は、それぞれインター予測技術又は双予測技術を使用して、処理ブロックを符号化して、符号化ピクチャにしてよい。特定のビデオコーディング技術では、マージモードは、予測子の外側のコーディングされた動きベクトル構成要素の利益を伴わずに、動きベクトルが1つ以上の動きベクトル予測子から導出される場合、インターピクチャ予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル構成要素が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するために、モード決定モジュール(図示せず)のような他の構成要素を含む。
【0104】
図7の例では、ビデオエンコーダ(703)は、図7に示されるように一緒に結合される、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、一般コントローラ(721)及びエントロピーエンコーダ(725)を含む。
【0105】
インターエンコーダ(730)は、現在のブロック(例えば処理ブロック)のサンプルを受け取り、該ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えばインター符号化技術に従った冗長情報の記述、動きベクトル、マージモード情報)を生成し、任意の適切な技術を使用して、インター予測情報に基づいてインター予測結果(例えば予測ブロック)を計算するよう構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号される復号参照ピクチャである。
【0106】
イントラエンコーダ(722)は、現在のブロック(例えば処理ブロック)のサンプルを受け取り、場合によっては、該ブロックを、同じピクチャ内の既にコーディングされたブロックと比較し、変換後に量子化された係数と、場合によってはイントラ予測情報(例えば1つ以上のイントラ符号化技術に従ったイントラ予測方向情報)も生成するよう構成される。一例では、イントラエンコーダ(722)はまた、イントラ予測情報と、同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば予測ブロック)も計算する。
【0107】
一般コントローラ(721)は、一般制御データを決定し、該一般制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するよう構成される。一例では、一般コントローラ(721)は、ブロックのモードを決定し、該モードに基づいて制御信号をスイッチ(726)に提供する。例えばモードがイントラモードであるとき、一般コントローラ(721)は、残差計算器(723)が使用するためのイントラモードの結果を選択するようにスイッチ(726)を制御し、イントラ予測情報を選択して該イントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御し、モードがインターモードであるとき、一般コントローラ(721)は、残差計算器(723)が使用するためのインター予測結果を選択するようにスイッチ(726)を制御し、インター予測情報を選択して該インター予測情報をビットストリームに含めるようにエントロピーエンコーダ(725)を制御する。
【0108】
残差計算器(723)は、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された、受け取ったブロックと予測結果との差(残差データ)を計算するよう構成される。残差エンコーダ(724)は、残差データに基づいて動作し、残差データを符号化して変換係数を生成するよう構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換して、変換係数を生成するように構成される。次いで、変換係数は、量子化処理の対象となり、量子化された変換係数を取得する。様々な実施形態では、ビデオエンコーダ(703)は、残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を実行し、復号された残差データを生成するよう構成される。復号された残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって適切に使用されることができる。例えばインターエンコーダ(730)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックは、復号されたピクチャを生成するために適切に処理され、復号されたピクチャは、メモリ回路(図示せず)内でバッファリングされ、いくつかの例では、参照ピクチャとして使用されることができる。
【0109】
エントロピーエンコーダ(725)は、符号化ブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格のような適切な規格に従って、様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(725)は、一般制御データ、選択された予測情報(例えばイントラ予測情報又はインター予測情報)、残差情報及び他の適切な情報をビットストリーム内に含めるよう構成される。開示される主題によると、インターモード又は双予測モードのいずれかのマージサブモードでブロックをコーディングするとき、残差情報がないことに留意されたい。
【0110】
図8は、本開示の別の実施形態による、ビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部である、コーディングされたピクチャを受け取り、コーディングされたピクチャを復号して再構成ピクチャを生成するよう構成される。一例では、図4の例のビデオデコーダ(410)の代わりにビデオデコーダ(810)が使用される。
【0111】
図8の例では、ビデオデコーダ(810)は、図8に示されるように一緒に結合される、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)及びイントラデコーダ(872)を含む。
【0112】
エントロピーデコーダ(871)は、コーディングされたピクチャから、該コーディングされたピクチャが構成される構文要素を表す特定のシンボルを再構成するよう構成されることができる。そのようなシンボルは、例えばブロックがコーディングされるモード(例えばイントラモード、インターモード、双予測モード、後者2つのマージサブモード又は別のサブモード等)、イントラデコーダ(872)又はインターデコーダ(880)によってそれぞれ予測のために使用される特定のサンプル又はメタデータを識別することができる予測情報(例えばイントラ予測情報又はインター予測情報等)、例えば量子化された変換係数の形態の残差情報等を含むことができる。一例では、予測モードがインターモード又は双予測モードであるとき、インター予測情報がインターデコーダ(880)に提供され、予測モードがイントラ予測モードであるとき、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化の対象となり得、残差デコーダ(873)に提供される。
【0113】
インターデコーダ(880)は、インター予測情報を受け取り、該インター予測情報に基づいてインター予測結果を生成するよう構成される。
【0114】
イントラデコーダ(872)は、イントラ予測情報を受け取り、該イントラ予測情報に基づいて予測結果を生成するよう構成される。
【0115】
残差デコーダ(873)は、逆量子化を実行して非量子化(de-quantized)変換係数を抽出し、非量子化変換係数を処理して残差を周波数領域から空間領域に変換するよう構成され得る。残差デコーダ(873)はまた、特定の制御情報(量子化器パラメータ(QP:Quantizer Parameter)を含む)も要求することがあり、この情報は、エントロピーデコーダ(871)によって提供され得る(これは低量の制御情報のみであり得るので、データ経路は図示されない)。
【0116】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)による出力としての残差と、(場合によっては、インター又はイントラ予測モジュールによる出力としての)予測結果とを組み合わせて再構成ブロックを形成するよう構成され、該再構成ブロックは、再構成ビデオの一部であり得る再構成ピクチャの一部であり得る。視覚品質を改善するために、デブロッキング操作等の他の適切な操作を実行することができることに留意されたい。
【0117】
ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)及び(810)は、任意の適切な技術を使用して実装されることができることに留意されたい。一実施形態では、ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)及び(810)は、1つ以上の集積回路を使用して実装されることができる。別の実施形態では、ビデオエンコーダ(403)、(603)及び(703)、並びにビデオデコーダ(410)、(510)及び(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装されることができる。
【0118】
本開示は、人工知能(AI)ベースのニューラル画像圧縮(NIC:neural image compression)のようなニューラル画像圧縮技術及び/又はニューラルビデオ圧縮技術に関連するビデオコーディング技術を説明する。本開示の態様は、ニューラルネットワークに基づくエンドツーエンド(E2E)最適化画像コーディングフレームワークのためのNIC方法のような、NICにおけるコンテンツ適応オンライントレーニングを含む。ニューラルネットワーク(NN)は、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)等のような人工ニューラルネットワークを含むことができる。
【0119】
一実施形態では、関連するハイブリッドビデオコーデックを全体として最適化することは難しい。例えばハイブリッドビデオコーデックにおける単一のモジュール(例えばエンコーダ)の改善は、全体的な性能におけるコーディングゲインをもたらさない可能性がある。NNベースのビデオコーディングフレームワークでは、学習プロセス又はトレーニングプロセス(例えば機械学習プロセス)を実行することによって、最終目標(例えば本開示で記載されるレート歪み損失Lのようなレート歪み性能)を改善するために、異なるモジュールを入力から出力まで共同で最適化することができ、したがって、E2E最適化NICをもたらすことができる。
【0120】
例示的なNICフレームワーク又はシステムは、以下のように説明することができる。NICフレームワークは、ニューラルネットワークエンコーダ(例えばDNNのようなニューラルネットワークに基づくエンコーダ)への入力として入力画像xを使用して、例えば記憶及び伝送目的のためにコンパクトであり得る圧縮表現(例えばコンパクト表現)
【数1】
を計算することができる。ニューラルネットワークデコーダ(例えばDNNのようなニューラルネットワークに基づくデコーダ)は、圧縮表現
【数2】
を入力として使用して、出力画像(再構成画像とも呼ばれる)
【数3】
を再構成することができる。様々な実施形態では、入力画像xと再構成画像
【数4】
は、空間領域にあり、圧縮表現
【数5】
は、空間領域とは異なる領域にある。いくつかの例では、圧縮表現
【数6】
は量子化され、エントロピーコーディングされる。
【0121】
いくつかの例では、NICフレームワークは変分オートエンコーダ(VAE)構造を使用することができる。VAE構造では、ニューラルネットワークエンコーダは、入力画像x全体をニューラルネットワークエンコーダへの入力として直接使用することができる。入力画像x全体は、圧縮表現
【数7】
を計算するためにブラックボックスとして機能する、ニューラルネットワーク層のセットを通過することができる。圧縮表現
【数8】
は、ニューラルネットワークエンコーダの出力である。ニューラルネットワークデコーダは、圧縮表現
【数9】
全体を入力としてとることができる。圧縮表現
【数10】
は、再構成画像
【数11】
を計算するために別のブラックボックスとして機能するニューラルネットワーク層の別のセットを通過することができる。レート歪み(R-D)損失
【数12】
を最適化して、再構成画像
【数13】
の歪み損失
【数14】
と、トレードオフハイパーパラメータλを用いるコンパクト表現
【数15】
のビット消費Rとの間のトレードオフを達成することができる。

【数16】
【0122】
ニューラルネットワーク(例えばANN)は、タスク固有のプログラミングなしに、例からタスクを実行することを学習することができる。ANNは、接続されたノード又は人工ニューロンで構成されることができる。ノード間の接続は、第1ノードから第2ノード(例えば受信ノード)に信号を送信することができ、該信号を、接続の重み係数によって示される重みによって修正することができる。受信ノードは、信号を受信ノードに送信するノードからの信号(すなわち、受信ノードに対する入力信号)を処理し、次いで、関数を入力信号に適用することによって出力信号を生成することができる。関数は線形関数とすることができる。一例では、出力信号は、入力信号の加重総和(weighted summation)である。一例では、出力信号は、バイアス項によって示され得るバイアスによって更に修正され、したがって、出力信号は、バイアスと入力信号の加重総和との和(sum)である。関数は、例えばバイアスと入力信号の加重総和との加重和(weighted sum)又は和に対する非線形演算を含むことができる。出力信号を、受信ノードに接続されたノード(ダウンストリームノード)に送信することができる。ANNは、パラメータ(例えば接続の重み及び/又はバイアス)によって表現又は構成されることができる。重み及び/又はバイアスを反復的に調整することができる例でANNをトレーニングすることによって、重み及び/又はバイアスを取得することができる。決定された重み及び/又は決定されたバイアスで構成されるトレーニングされたANNを使用して、タスクを実行することができる。
【0123】
ANN内のノードを、任意の適切なアーキテクチャで編成することができる。様々な実施形態では、ANN内のノードは、ANNへの入力信号を受信する入力層と、ANNからの出力信号を出力する出力層とを含む層として編成される。一実施形態では、ANNは、入力層と出力層との間の隠れ層のような層を更に含む。異なる層は、該異なる層のそれぞれの入力に対して異なる種類の変換を実行することができる。信号は、入力層から出力層へ移動することができる。
【0124】
入力層と出力層との間に複数の層を有するANNを、DNNと称することができる。一実施形態では、DNNは、データがループバックなしで入力層から出力層に流れるフィードフォワードネットワークである。一例では、DNNは、1つのレイヤ内の各ノードが次のレイヤのすべてのノードに接続される完全接続ネットワークである。一実施形態では、DNNは、データが任意の方向に流れることができるリカレントニューラルネットワークである。一実施形態では、DNNはCNNである。
【0125】
CNNは、入力層、出力層、及び入力層と出力層との間の隠れ層を含むことができる。隠れ層は、二次元(2D)畳み込みのような畳み込みを実行する(例えばエンコーダで使用される)畳み込み層を含むことができる。一実施形態では、畳み込み層で実行される2D畳み込みは、畳み込みカーネル(5×5行列のようなフィルタ又はチャネルとも呼ばれる)と、畳み込み層への入力信号(例えば2D画像などの2D行列、256×256行列)との間である。様々な例において、畳み込みカーネルの寸法(例えば5×5)は、入力信号の寸法(例えば256×256)よりも小さい。したがって、畳み込みカーネルによってカバーされる入力信号(例えば256×256行列)の一部(例えば5×5領域)は、入力信号の領域(例えば256×256領域)よりも小さく、したがって、次の層のそれぞれのノードにおける受容野(receptive field)と呼ぶことができる。
【0126】
畳み込みの間、畳み込みカーネルと入力信号内の対応する受容野のドット積が計算される。したがって、畳み込みカーネルの各要素は、受容野内の対応するサンプルに適用される重みであり、したがって、畳み込みカーネルは重みを含む。例えば5×5行列によって表される畳み込みカーネルは、25の重みを有する。いくつかの例では、バイアスが畳み込み層の出力信号に適用され、出力信号は、ドット積とバイアスとの和に基づいている。
【0127】
畳み込みカーネルは、入力信号(例えば2D行列)に沿って、ストライドと呼ばれるサイズだけシフトすることができ、したがって、畳み込み演算は、特徴マップ(feature map)又は活性化マップ(activation map)(例えば別の2D行列)を生成し、これは、CNN内の次の層の入力に寄与する。例えば入力信号は、256×256サンプルを有する2D画像であり、ストライドは、2サンプル(例えば2のストライド(a stride of 2))である。2のストライドでは、畳み込みカーネルは、2サンプルだけ、X方向(例えば水平方向)及び/又はY方向(例えば垂直方向)に沿ってシフトする。
【0128】
複数の畳み込みカーネルを、同じ畳み込み層で入力信号に適用して、それぞれ複数の特徴マップを生成することができ、ここで、各特徴マップは、入力信号の特有の特徴を表すことができる。一般に、N個のチャネル(すなわち、N個の畳み込みカーネル)を有する畳み込み層、M×Mサンプルを有する各畳み込みカーネル及びストライドSを、Conv:M×M cN sSとして指定することができる。例えば192のチャネルの畳み込みレイヤ、5×5サンプルを有する各畳み込みカーネル及び2のストライドは、Conv:5×5 c192 s2として指定される。隠れ層は、2D逆畳み込み(deconvolution)のような逆畳み込みを実行する(例えばデコーダで使用される)逆畳み込み層を含むことができる。逆畳み込みは畳み込みの逆である。192のチャネルの逆畳み込みレイヤ、5×5サンプルを有する各逆畳み込みカーネル及び2のストライドは、DeConv:5×5 c192 s2として指定される。
【0129】
様々な実施形態では、CNNは以下の利点を有する。CNN内の多くの学習可能なパラメータ(すなわち、トレーニングされるべきパラメータ)は、フィードフォワードDNNのようなDNN内の多くの学習可能なパラメータよりも著しく小さくすることができる。CNNでは、比較的多数のノードが、同じフィルタ(例えば同じ重み)及び同じバイアス(バイアスが使用される場合)を共有することができ、したがって、同じフィルタを共有するすべての受容野にわたって単一のバイアスと単一の重みベクトルを使用することができるので、メモリフットプリントを低減することができる。例えば100×100サンプルを有する入力信号に対して、5×5サンプルを有する畳み込みカーネルを有する畳み込み層は、25の学習可能なパラメータ(例えば重み)を有する。バイアスが使用される場合、1つのチャネルは26の学習可能なパラメータ(例えば25の重みと1つのバイアス)を使用する。畳み込み層がNチャネルを有する場合、学習可能なパラメータの合計は26×Nである。一方、DNN内の完全接続層では、100×100(すなわち10000)の重みが、次の層の各ノードに使用される。次の層がLノードを有する場合、学習可能なパラメータの合計は10000×Lである。
【0130】
CNNは、プーリング層、1つの層内のすべてのノードを別の層内のすべてのノードに接続することができる完全接続層、正規化層及び/又は同様のもののような、1つ以上の他の層を更に含むことができる。CNN内の層は、任意の適切な順序及び任意の適切なアーキテクチャ(例えばフィードフォワードアーキテクチャ、リカレントアーキテクチャ)で配置されることができる。一例では、畳み込み層の後に、プーリング層、完全接続層、正規化層及び/又は同様のもののような他の層が続く。
【0131】
プーリング層を使用して、1つの層における複数のノードからの出力を次の層内の単一のノードに結合することによってデータの寸法を低減することができる。入力として特徴マップを有するプーリング層のプーリング操作を以下に説明する。この説明を、他の入力信号に適切に適合させることができる。特徴マップを、サブ領域(例えば矩形サブ領域)に分割することができ、例えば平均プーリングの平均値又は最大プーリングの最大値をとることによって、それぞれのサブ領域内の特徴を独立に単一の値にダウンサンプリング(又はプーリング)することができる。
【0132】
プーリング層は、ローカルプーリング、グローバルプーリング、最大プーリング、平均プーリング及び/又は同様のもののようなプーリングを実行することができる。プーリングは非線形ダウンサンプリングの一形態である。ローカルプーリングは、特徴マップ内の少数のノード(例えば2×2ノードのようなノードのローカルクラスター)を結合する。グローバルプーリングは、例えば特徴マップのすべてのノードを結合することができる。
【0133】
プーリング層は、表現のサイズを低減することができ、したがって、パラメータの数、メモリフットプリント及びCNNにおける計算量を低減することができる。一例では、プーリング層が、CNN内の連続した畳み込み層の間に挿入される。一例では、プーリング層の後に、整流線形ユニット(ReLU:rectified linear unit)層のような活性化関数が続く。一例では、プーリング層は、CNN内の連続した畳み込み層の間で省略される。
【0134】
正規化層は、ReLU、leaky ReLU、GDN(generalized divisive normalization)、逆GDN(IGDN)等とすることができる。ReLUは、負の値をゼロに設定することによって、特徴マップのような入力信号から負の値を除去するために、非飽和活性化関数(non-saturating activation function)を適用することができる。leaky ReLUは、平坦な傾き(例えば0)の代わりに、負の値に対して小さな傾き(例えば0.01)を有することができる。したがって、値xが0より大きい場合、leaky ReLUからの出力はxである。そうでなければ、leaky ReLUからの出力は、xに小さな傾き(例えば0.01)を乗じた値である。一例では、傾きはトレーニング前に決定され、したがって、トレーニング中には学習されない。
【0135】
図9は、本開示の一実施形態による、例示的なNICフレームワーク(900)(例えばNICシステム)を示す。NICフレームワーク(900)は、DNN及び/又はCNNのようなニューラルネットワークに基づくことができる。NICフレームワーク(900)を使用して、画像を圧縮(例えば符号化)し、圧縮された画像(例えば符号化画像)を解凍(例えば復号又は再構成)することができる。NICフレームワーク(900)は、ニューラルネットワークを使用して実装される2つのサブニューラルネットワーク、すなわち、第1サブNN(951)と第2サブNN(952)を含むことができる。
【0136】
第1サブNN(951)は、オートエンコーダに類似することができ、入力画像xの圧縮画像
【数17】
を生成し、該圧縮画像
【数18】
を解凍して、再構成画像
【数19】
を取得するようにトレーニングされることができる。第1サブNN(951)は、メインエンコーダニューラルネットワーク(又はメインエンコーダネットワーク)(911)、量子化器(912)、エントロピーエンコーダ(913)、エントロピーデコーダ(914)及びメインデコーダニューラルネットワーク(又はメインデコーダネットワーク)(915)のような複数の構成要素(又はモジュール)を含むことができる。図9Bを参照すると、メインエンコーダネットワーク(911)は、入力画像x(例えば圧縮又は符号化されるべき画像)から、潜在要素(latent)又は潜在表現(latent representation)yを生成することができる。一例では、メインエンコーダネットワーク(911)は、CNNを使用して実装される。潜在表現yと入力画像xとの間の関係を、式2を使用して説明することができる。
y=f1(x1; θ1) 式2
ここで、パラメータθ1は、メインエンコーダネットワーク(911)の畳み込みカーネルで使用される重み及びバイアス(メインエンコーダネットワーク(911)でバイアスが使用される場合)のようなパラメータを表す。
【0137】
量子化器(912)を使用して潜在表現yを量子化して、量子化潜在要素(quantized latent)
【数20】
を生成することができる。量子化潜在要素
【数21】
を、例えばエントロピーエンコーダ(913)による可逆圧縮を使用して圧縮して、入力画像xの圧縮表現
【数22】
である圧縮画像(例えば符号化画像)
【数23】
(931)を生成することができる。エントロピーエンコーダ(913)は、ハフマンコーディング、算術コーディング等のようなエントロピーコーディング技術を使用することができる。一例では、エントロピーエンコーダ(913)は、算術符号化を使用し、算術エンコーダである。一例では、符号化画像(931)は、コーディングされたビットストリームで送信される。
【0138】
符号化画像(931)を、エントロピーデコーダ(914)によって解凍(例えばエントロピー復号)して、出力を生成することができる。エントロピーデコーダ(914)は、エントロピーエンコーダ(913)で使用されるエントロピー符号化技術に対応するハフマンコーディング、算術コーディング等のようなエントロピーコーディング技術を使用することができる。一例では、エントロピーデコーダ(914)は、算術復号を使用し、算術デコーダである。一例では可逆圧縮がエントロピーエンコーダ(913)で使用され、可逆解凍がエントロピーデコーダ(914)で使用され、符号化画像(931)の伝送等に起因するノイズは省くことができ、エントロピーデコーダ(914)からの出力は、量子化潜在要素
【数24】
である。
【0139】
メインデコーダネットワーク(915)は、量子化潜在要素
【数25】
を復号して、再構成画像
【数26】
を生成することができる。一例では、メインデコーダネットワーク(915)は、CNNを使用して実装される。再構成画像
【数27】
(すなわち、メインデコーダネットワーク(915)の出力)と量子化潜在要素
【数28】
(すなわち、メインデコーダネットワーク(915)の入力)との間の関係を、式3を使用して説明することができる。

【数29】

ここで、パラメータθ2は、メインデコーダネットワーク(915)の畳み込みカーネルで使用される重み及びバイアス(メインデコーダネットワーク(915)でバイアスが使用される場合)のようなパラメータを表す。したがって、第1サブNN(951)は、入力画像xを圧縮(例えば符号化)して符号化画像(931)を取得し、符号化画像(931)を解凍(例えば復号)して再構成画像
【数30】
を取得することができる。再構成画像
【数31】
は、量子化器(912)によって導入される量子化損失のために、入力画像xと異なる可能性がある。
【0140】
第2サブNN(952)は、エントロピーコーディングに使用される量子化潜在要素
【数32】
にわたってエントロピーモデル(例えば事前確率モデル)を学習することができる。したがって、エントロピーモデルは、条件付きエントロピーモデル、例えば入力画像xに依存するガウス混合モデル(GMM)、ガウススケールモデル(GSM)とすることができる。第2サブNN(952)は、コンテキストモデルNN(916)、エントロピーパラメータNN(917)、ハイパーエンコーダ(921)、量子化器(922)、エントロピーエンコーダ(923)、エントロピーデコーダ(924)及びハイパーデコーダ(925)を含むことができる。コンテキストモデルNN(916)で使用されるエントロピーモデルは、潜在要素(例えば量子化潜在要素
【数33】
)に対する自己回帰モデルとすることができる。一例において、ハイパーエンコーダ(921)、量子化器(922)、エントロピーエンコーダ(923)、エントロピーデコーダ(924)及びハイパーデコーダ(925)は、ハイパーニューラルネットワーク(例えばハイパープライア(hyperprior)NN)を形成する。ハイパーニューラルネットワークは、コンテキストベースの予測を補正するのに有用な情報を表すことができる。コンテキストモデルNN(916)及びハイパーニューラルネットワークからのデータを、エントロピーパラメータNN(917)によって組み合わせることができる。エントロピーパラメータNN(917)は、条件付きガウスエントロピーモデル(例えばGMM)のようなエントロピーモデルのための平均及びスケールパラメータのようなパラメータを生成することができる。
【0141】
図9を参照すると、エンコーダ側では、量子化器(912)からの量子化潜在要素
【数34】
がコンテキストモデルNN(916)に供給される。デコーダ側では、エントロピーデコーダ(914)からの量子化潜在要素
【数35】
がコンテキストモデルNN(916)に供給される。コンテキストモデルNN(916)を、CNNのようなニューラルネットワークを使用して実装することができる。コンテキストモデルNN(916)は、該コンテキストモデルNN(916)に利用可能な量子化潜在要素
【数36】
であるコンテキスト
【数37】
に基づいて出力Ocm,iを生成することができる。コンテキスト
【数38】
は、エンコーダ側で以前に量子化された潜在要素又はデコーダ側で以前にエントロピー復号された量子化された潜在要素を含むことができる。コンテキストモデルNN(916)の出力Ocm,iと入力(例えば
【数39】
)との間の関係を、式4を使用して説明することができる。

【数40】

ここで、パラメータθ3は、コンテキストモデルNN(916)の畳み込みカーネルで使用される重み及びバイアス(コンテキストモデルNN(916)でバイアスが使用される場合)のようなパラメータを表す。
【0142】
コンテキストモデルNN(916)からの出力Ocm,i及びハイパーデコーダ(925)からの出力Ohcは、エントロピーパラメータNN(917)に供給されて、出力Oepを生成する。エントロピーパラメータNN(917)を、CNNのようなニューラルネットワークを使用して実装することができる。エントロピーパラメータNN(917)の出力Oepと入力(例えばOcm,i及びOhc)との間の関係を、式5を使用して説明することができる。
Oep=f4(Ocm,i, Ohc; θ4) 式5
ここで、パラメータθ4は、エントロピーパラメータNN(917)の畳み込みカーネルで使用される重み及びバイアス(エントロピーパラメータNN(917)でバイアスが使用される場合)のようなパラメータを表す。エントロピーパラメータNN(917)の出力Oepを、エントロピーモデルの決定(例えば条件付け)に使用することができ、したがって、条件付けされたエントロピーモデルは、例えばハイパーデコーダ(925)からの出力Ohcを介して、入力画像xに依存し得る。一例では、出力Oepは、エントロピーモデル(例えばGMM)を条件付け(condition)するために使用される平均及びスケールパラメータのようなパラメータを含む。図9を参照すると、エントロピーモデル(例えば条件付けされたエントロピーモデル)は、エントロピーエンコーダ(913)及びエントロピーデコーダ(914)によって、それぞれエントロピーコーディング及びエントロピー復号において使用され得る。
【0143】
第2サブNN(952)を、以下に説明することができる。潜在要素yをハイパーエンコーダ(921)に供給して、ハイパー潜在要素(hyper latent)zを生成することができる。一例では、ハイパーエンコーダ(921)は、CNNのようなニューラルネットワークを用いて実装される。ハイパー潜在要素zと潜在要素yとの間の関係を、式6を使用して説明することができる。
z=f5(y; θ5) 式6
ここで、パラメータθ5は、ハイパーエンコーダ(921)の畳み込みカーネルで使用される重み及びバイアス(ハイパーエンコーダ(921)でバイアスが使用される場合)のようなパラメータを表す。
【0144】
ハイパー潜在要素zは量子化器(922)によって量子化され、量子化潜在要素
【数41】
を生成する。量子化潜在要素
【数42】
を、例えばエントロピーエンコーダ(923)による可逆圧縮を使用して圧縮し、ハイパーニューラルネットワークから符号化ビット(932)のようなサイド情報(side information)を生成することができる。エントロピーエンコーダ(923)は、ハフマンコーディング、算術コーディング等のようなエントロピーコーディング技術を使用することができる。一例では、エントロピーエンコーダ(923)は、算術エンコーダを使用し、算術エンコーダである。一例では、符号化ビット(932)のようなサイド情報を、コーディングされたビットストリームにおいて、例えば符号化画像(931)とともに送信することができる。
【0145】
符号化ビット(932)のようなサイド情報を、エントロピーデコーダ(924)によって解凍(例えばエントロピー復号)して出力を生成することができる。エントロピーデコーダ(924)は、ハフマンコーディング、算術コーディング等のようなエントロピーコーディング技術を使用することができる。一例では、エントロピーデコーダ(924)は、算術復号を使用し、算術デコーダである。一例では、可逆圧縮がエントロピーエンコーダ(923)で使用され、可逆解凍がエントロピーデコーダ(924)で使用され、サイド情報の伝送等に起因するノイズを省くことができ、エントロピーデコーダ(924)からの出力は、量子化潜在要素
【数43】
とすることができる。ハイパーデコーダ(925)は、量子化潜在要素
【数44】
を復号して出力Ohcを生成することができる。出力Ohcと量子化潜在要素
【数45】
との間の関係を、式7を使用して説明することができる。

【数46】

ここで、パラメータθ6は、ハイパーデコーダ(925)の畳み込みカーネルで使用される重み及びバイアス(ハイパーデコーダ(925)でバイアスが使用される場合)のようなパラメータを表す。
【0146】
上述のように、圧縮又は符号化ビット(932)を、コーディングされたビットストリームにサイド情報として追加することができ、これは、エントロピーデコーダ(914)が、条件付きエントロピーモデルを使用することを可能にする。したがって、エントロピーモデルは画像依存で空間的に適応的なものとすることができ、したがって、固定エントロピーモデルよりも正確であることができる。
【0147】
NICフレームワーク(900)は、例えば図9に示される1つ以上の構成要素を省略し、図9に示される1つ以上の構成要素を修正し、かつ/又は図9に示されない1つ以上の構成要素を含むように、適切に適合され得る。一例では、固定エントロピーモデルを使用するNICフレームワークは、第1サブNN(951)を含み、第2サブNN(952)は含まない。一例では、NICフレームワークは、エントロピーエンコーダ(923)及びエントロピーデコーダ(924)を除いて、NICフレームワーク(900)内の構成要素を含む。
【0148】
一実施形態では、図9に示されるNICフレームワーク(900)内の1つ以上の構成要素は、CNNのようなニューラルネットワークを使用して実装される。NICフレームワーク(例えばNICフレームワーク(900))内の各NNベースの構成要素(例えばメインエンコーダネットワーク(911)、メインデコーダネットワーク(915)、コンテキストモデルNN(916)、エントロピーパラメータNN(917)、ハイパーエンコーダ(921)又はハイパーデコーダ(925))は、任意の適切なアーキテクチャ(例えば任意の適切な層の組合せを有する)を含むことができ、任意の適切なタイプのパラメータ(例えば重み、バイアス、重みとバイアスの組合せ及び/又は同様のもの)を含むことができ、任意の適切な数のパラメータを含むことができる。
【0149】
一実施形態では、メインエンコーダネットワーク(911)、メインデコーダネットワーク(915)、コンテキストモデルNN(916)、エントロピーパラメータNN(917)、ハイパーエンコーダ(921)及びハイパーデコーダ(925)は、それぞれのCNNを使用して実装される。
【0150】
図10は、本開示の一実施形態による、メインエンコーダネットワーク(911)の例示的なCNNを示す。例えばメインエンコーダネットワーク(911)は、層の4つのセットを含み、層の各セットは、畳み込み層5×5 c192 s2とそれに続くGDN層を含む。図10に示される1つ以上の層を修正及び/又は省略することができる。追加の層をメインエンコーダネットワーク(911)に追加することができる。
【0151】
図11は、本開示の一実施形態による、メインデコーダネットワーク(915)の例示的なCNNを示す。例えばメインデコーダネットワーク(915)は、層の3つのセットを含み、層の各セットは、逆畳み込み層5×5 c192 s2とそれに続くIGDN層を含む。加えて、層の3つのセットの後に、逆畳み込み層5×5 c3 s2が続き、それにIGDN層が続く。図11に示される1つ以上の層を修正及び/又は省略することができる。追加の層をメインデコーダネットワーク(915)に追加することができる。
【0152】
図12は、本開示の一実施形態による、ハイパーエンコーダ(921)の例示的なCNNを示す。例えばハイパーエンコーダ(921)は、畳み込み層3×3 c192 s1とそれに続くleaky ReLU、畳み込み層5×5 c192 s2とそれに続くleaky ReLU、そして畳み込み層5×5 c192 s2を含む。図12に示される1つ以上の層を修正及び/又は省略することができる。追加の層をハイパーエンコーダ(921)に追加することができる。
【0153】
図13は、本開示の一実施形態による、ハイパーデコーダ(925)の例示的なCNNを示す。例えばハイパーデコーダ(925)は、逆畳み込み層5×5 c192 s2とそれに続くleaky ReLU、逆畳み込み層5×5 c288 s2とそれに続くleaky ReLU、そして逆畳み込み層3×3 c384 s1を含む。図13に示される1つ以上の層は修正及び/又は省略することができる。追加の層をハイパーデコーダ(925)に追加することができる。
【0154】
図14は、本開示の一実施形態による、コンテキストモデルNN(916)の例示的なCNNを示す。例えばコンテキストモデルNN(916)は、コンテキスト予測のためのマスクされた畳み込み5×5 c384 s1を含み、したがって、式4のコンテキスト
【数47】
は、限定されたコンテキスト(例えば5×5の畳み込みカーネル)を含む。図14の畳み込み層を修正することができる。追加のレイヤをコンテキストモデルNN(916)に追加することができる。
【0155】
図15は、本開示の一実施形態による、エントロピーパラメータNN(917)の例示的なCNNを示す。例えばエントロピーパラメータNN(917)は、畳み込み層1×1 c640 s1とそれに続くleaky ReLU、畳み込み層1×1 c512 s1とそれに続くleaky ReLU、そして畳み込み層1×1 c384 s1を含む。図15に示される1つ以上の層を修正及び/又は省略することができる。追加の層をエントロピーパラメータNN(917)に追加することができる。
【0156】
NICフレームワーク(900)は、図10図15を参照して説明されるように、CNNを使用して実装されることができる。NICフレームワーク(900)は、NICフレームワーク(900)内の1つ以上の構成要素(例えば(911)、(915)、(916)、(917)、(921)及び/又は(925))が、任意の適切なタイプのニューラルネットワーク(例えばCNN又は非CNNベースのニューラルネットワーク)を使用して実装されるように、適切に適合されることができる。NICフレームワーク(900)の1つ以上の他の構成要素は、ニューラルネットワークを使用して実装されることができる。
【0157】
ニューラルネットワーク(例えばCNN)を含むNICフレームワーク(900)は、ニューラルネットワークで使用されるパラメータを学習するためにトレーニングされることができる。例えばCNNを使用するとき、メインエンコーダネットワーク(911)の畳み込みカーネルで使用される重みとバイアス(メインエンコーダネットワーク(911)でバイアスが使用される場合)、メインデコーダネットワーク(915)の畳み込みカーネルで使用される重みとバイアス(メインデコーダネットワーク(915)でバイアスが使用される場合)、ハイパーエンコーダ(921)の畳み込みカーネルで使用される重みとバイアス(ハイパーエンコーダ(921)でバイアスが使用される場合)、ハイパーデコーダ(925)の畳み込みカーネルで使用される重みとバイアス(ハイパーデコーダ(925)でバイアスが使用される場合)、コンテキストモデルNN(916)の畳み込みカーネルで使用される重みとバイアス(コンテキストモデルNN(916)でバイアスが使用される場合)、エントロピーパラメータNN(917)の畳み込みカーネルで使用される重みとバイアス(エントロピーパラメータNN(917)でバイアスが使用される場合)のような、それぞれθ1-θ6によって表されるパラメータを、トレーニングプロセスで学習することができる。
【0158】
一例では、図10を参照すると、メインエンコーダネットワーク(911)は、4つの畳み込み層を含み、各畳み込み層は、5×5の畳み込みカーネルと192のチャネルを有する。したがって、メインエンコーダネットワーク(911)の畳み込みカーネルで使用される重みの数は、19200(すなわち、4×5×5×192)である。メインエンコーダネットワーク(911)で使用されるパラメータは、19200の重みとオプションのバイアスを含む。バイアス及び/又は追加のNNがメインエンコーダネットワーク(911)で使用されるとき、追加のパラメータを含めることができる。
【0159】
図9を参照すると、NICフレームワーク(900)は、ニューラルネットワーク上に構築された少なくとも1つの構成要素又はモジュールを含む。少なくとも1つの構成要素は、メインエンコーダネットワーク(911)、メインデコーダネットワーク(915)、ハイパーエンコーダ(921)、ハイパーデコーダ(925)、コンテキストモデルNN(916)及びエントロピーパラメータNN(917)のうちの1つ以上を含むことができる。少なくとも1つの構成要素を個々にトレーニングすることができる。一例では、トレーニングプロセスは、各構成要素についてのパラメータを別個に学習するために使用される。少なくとも1つの構成要素を、グループとして共同でトレーニングすることができる。一例では、トレーニングプロセスは、少なくとも1つの構成要素のサブセットについてのパラメータを共同で学習するために使用される。一例では、トレーニングプロセスは、少なくとも1つの構成要素のすべてについてのパラメータを学習するために使用され、したがって、E2E最適化と呼ばれる。
【0160】
NICフレームワーク(900)内の1つ以上の構成要素についてのトレーニングプロセスにおいて、1つ以上の構成要素の重み(又は重み係数)を初期化することができる。一例では、重みは、事前トレーニングされた対応するニューラルネットワークモデル(例えばDNNモデル、CNNモデル)に基づいて初期化される。一例では、重みは、該重みを乱数に設定することによって初期化される。
【0161】
例えば重みが初期化された後に、トレーニング画像のセットを用いて1つ以上の構成要素をトレーニングすることができる。トレーニング画像のセットは、任意の適切なサイズを有する任意の適切な画像を含むことができる。いくつかの例では、トレーニング画像のセットは、空間領域内にある生画像、自然画像、コンピュータ生成画像及び/又は同様のものを含む。いくつかの例では、トレーニング画像のセットは、空間領域内の残差データを有する残差画像を含む。残差データを、残差計算器(例えば残差計算器(723))によって計算することができる。いくつかの例では、トレーニング画像のセット内のトレーニング画像(例えば生画像及び/又は残差データを含む残差画像)を、適切なサイズを有するブロック分割することができ、ブロック及び/又は画像を使用して、NICフレームワーク内のニューラルネットワークをトレーニングすることができる。したがって、生画像、残差画像、生画像からのブロック及び/又は残差画像からのブロックを使用して、NICフレームワーク内のニューラルネットワークをトレーニングすることができる。
【0162】
簡潔性の目的のために、以下では、トレーニングプロセスは、例としてトレーニング画像を使用して説明される。説明を、トレーニングブロックに適切に適合させることができる。トレーニング画像のセットのトレーニング画像tを、図9の符号化プロセスを通過させて、圧縮表現(例えばビットストリームへの符号化情報)を生成することができる。符号化情報を、図9で説明される復号プロセスを通過させて、再構成画像
【数48】
を計算して再構成することができる。
【0163】
NICフレームワーク(900)では、2つの競合する目標、例えば再構成品質とビット消費がバランスがとれられる。品質損失関数(例えば歪み又は歪み損失)
【数49】
を使用して、再構成(例えば再構成画像
【数50】
)と元の画像(例えばトレーニング画像t)との間の差のような再構成品質を示すことができる。レート(又はレート損失)Rを使用して、圧縮表現のビット消費を示すことができる。一例では、レート損失Rは、例えばコンテキストモデルを決定する際に使用されるサイド情報を更に含む。
【0164】
ニューラル画像圧縮のために、量子化の微分可能な近似をE2E最適化において使用することができる。様々な例において、ニューラルネットワークベースの画像圧縮のトレーニングプロセスでは、ノイズ注入が量子化をシミュレートするために使用され、したがって、量子化は、量子化器(例えば量子化器(912))によって実行される代わりに、ノイズ注入によってシミュレートされる。したがって、ノイズ注入を用いるトレーニングは、量子化誤差を変動的に近似することができる。ピクセル当たりのビット(BPP:bits per pixel)推定器を使用してエントロピーコーダをシミュレートすることができ、したがって、エントロピーコーディングは、エントロピーエンコーダ(例えば(913))とエントロピーデコーダ(例えば(914))によって実行される代わりに、BPP推定器によってシミュレートされる。したがって、トレーニングプロセス中の式1で示される損失関数Lにおけるレート損失Rは、例えばノイズ注入及びBPP推定器に基づいて推定することができる。一般に、より高いレートRはより低い歪みDを許容することができ、より低いレートRはより高い歪みDをもたらすことができる。したがって、式1におけるハイパーパラメータλのトレードオフを使用して、共同R-D損失L(joint R-D loss L)を最適化することができ、ここで、Lを、λDとRの和として最適化することができる。共同R-D損失Lが最小化又は最適化されるように、トレーニングプロセスを使用して、NICフレームワーク(900)内の1つ以上の構成要素(例えば(911)(915))のパラメータを調整することができる。
【0165】
様々なモデルを使用して、歪み損失Dとレート損失Rを決定し、したがって、式1の共同R-D損失Lを決定することができる。一例では、歪み損失
【数51】
は、平均二乗誤差、マルチスケール構造類似性(MS-SSIM:multiscale structural similarity)品質インデックス、ピーク信号対雑音比(PSNR)とMS-SSIMの重み付けされた組合せ等に基づくメトリックである、ピーク信号対雑音比(PSNR)として表される。
【0166】
一例では、トレーニングプロセスの目標は、エンコーダ側で使用されるビデオエンコーダのような符号化ニューラルネットワーク(例えば符号化DNN)と、デコーダ側で使用されるビデオデコーダのような復号ニューラルネットワーク(例えば復号DNN)をトレーニングすることである。一例では、図9を参照すると、符号化ニューラルネットワークは、メインエンコーダネットワーク(911)、ハイパーエンコーダ(921)、ハイパーデコーダ(925)、コンテキストモデルNN(916)及びエントロピーパラメータNN(917)を含むことができる。復号ニューラルネットワークは、メインデコーダネットワーク(915)、ハイパーデコーダ(925)、コンテキストモデルNN(916)及びエントロピーパラメータNN(917)を含むことができる。ビデオエンコーダ及び/又はビデオデコーダは、NNに基づく及び/又はNNに基づかない他の構成要素を含むことができる。
【0167】
NICフレームワーク(例えばNICフレームワーク(900))を、E2E方式でトレーニングすることができる。一例では、符号化ニューラルネットワーク及び復号ニューラルネットワークは、E2E方式で逆伝播勾配に基づくトレーニングプロセスにおいて一緒に更新される。
【0168】
NICフレームワーク(900)内のニューラルネットワークのパラメータがトレーニングされた後、NICフレームワーク(900)内の1つ以上の構成要素を使用して画像を符号化及び/又は復号することができる。一実施形態では、エンコーダ側では、ビデオエンコーダは、入力画像xを符号化して、ビットストリーム内で送信される符号化画像(931)にするように構成される。ビデオエンコーダは、NICフレームワーク(900)内の複数の構成要素を含むことができる。一実施形態では、デコーダ側では、対応するビデオデコーダは、ビットストリーム内の符号化画像(931)を復号して、再構成画像
【数52】
にするように構成される。ビデオデコーダは、NICフレームワーク(900)内の複数の構成要素を含むことができる。
【0169】
一例では、ビデオエンコーダは、例えばコンテンツ適応オンライントレーニングが用いられるとき、NICフレームワーク(900)内のすべての構成要素を含む。
【0170】
図16Aは、本開示の一実施形態による例示的ビデオエンコーダ(1600A)を示す。ビデオエンコーダ(1600A)は、図9を参照して説明した、メインエンコーダネットワーク(911)、量子化器(912)、エントロピーエンコーダ(913)及び第2サブNN(952)を含んでおり、詳細な説明は簡潔性の目的のために省略する。図16Bは、本開示の一実施形態による例示的ビデオデコーダ(1600B)を示す。ビデオデコーダ(1600B)は、ビデオエンコーダ(1600A)に対応することができる。ビデオデコーダ(1600B)は、メインデコーダネットワーク(915)、エントロピーデコーダ(914)、コンテキストモデルNN(916)、エントロピーパラメータNN(917)、エントロピーデコーダ(924)及びハイパーデコーダ(925)を含むことができる。図16A図16Bを参照すると、エンコーダ側では、ビデオエンコーダ(1600A)は、ビットストリームで送信されるべき符号化画像(931)及び符号化ビット(932)を生成することができる。デコーダ側では、ビデオデコーダ(1600B)は、符号化画像(931)及び符号化ビット(932)を受け取って復号することができる。
【0171】
図17図18は、それぞれ、本開示の実施形態による、例示的なビデオエンコーダ(1700)及び対応するビデオデコーダ(1800)を示す。図17を参照すると、エンコーダ(1700)は、メインエンコーダネットワーク(911)、量子化器(912)及びエントロピーエンコーダ(913)を含む。メインエンコーダネットワーク(911)、量子化器(912)及びエントロピーエンコーダ(913)の例は、図9に関連して説明されている。図18を参照すると、ビデオデコーダ(1800)は、メインデコーダネットワーク(915)及びエントロピーデコーダ(914)を含む。メインデコーダネットワーク(915)及びエントロピーデコーダ(914)の例は、図9に関連して説明されている。図17及び図18を参照すると、ビデオエンコーダ(1700)は、ビットストリームで送信されるべき符号化画像(931)を生成することができる。ビデオデコーダ(1800)は、符号化画像(931)を受け取って復号することができる。
【0172】
上述のように、ビデオエンコーダ及びビデオデコーダを含むNICフレームワーク(900)を、トレーニング画像のセット内の画像及び/又はブロックに基づいてトレーニングすることができる。いくつかの例において、圧縮(例えば符号化)及び/又は送信されるべき入力画像は、トレーニング画像のセットとは著しく異なる特性を有する。したがって、トレーニング画像のセットに基づいてトレーニングされたビデオエンコーダ及びビデオデコーダをそれぞれ直接使用して入力画像を符号化及び復号することは、より低い最適化又は比較的不十分なR-D損失L(例えば比較的大きな歪み及び/又は比較的大きなビットレート)をもたらす可能性がある。本開示の態様は、NICにおけるコンテンツ適応オンライントレーニング方法を含む。様々なコンテンツ適応オンライントレーニングプロセスを使用して、R-D損失Lを改善することができる。
【0173】
トレーニング画像のセットによってトレーニングされるNICフレームワーク(900)、ビデオエンコーダ及びビデオデコーダを、それぞれ、事前トレーニングされたNICフレームワーク(900)、事前トレーニングされたビデオエンコーダ及び事前トレーニングされたビデオデコーダと呼ぶことができる。事前トレーニングされたNICフレームワーク(900)、事前トレーニングされたビデオエンコーダ及び事前トレーニングされたビデオデコーダにおけるパラメータは、それぞれ、NIC事前トレーニングパラメータ、エンコーダ事前トレーニングパラメータ及びデコーダ事前トレーニングパラメータと呼ばれる。
【0174】
一実施形態では、NNベースのトレーニングプロセスを適用して、入力画像(例えば圧縮及び/又は送信されるべき画像)の特徴表現を、更新された特徴表現へと反復的に更新し、R-D損失Lを改善する。更新された特徴表現が、それぞれ、トレーニング画像のセットに基づいてトレーニングされた、事前トレーニングされたビデオエンコーダ及び事前トレーニングされたビデオデコーダを使用して符号化及び復号されるとき、更新された特徴表現に対応する最終的なR-D損失Lが取得され、特徴表現がそれぞれ事前トレーニングされたビデオエンコーダ及び事前トレーニングされたビデオデコーダを使用して符号化及び復号されるときの初期のR-D損失Lより小さい。事前トレーニングされたNICフレームワーク(900)内のNIC事前トレーニングパラメータのうちの1つ以上の事前トレーニングパラメータを更新する代わりに、特徴表現を更新するNNベースのトレーニングプロセスを、オンライン特徴表現トレーニングプロセスのような特徴表現トレーニングプロセスと呼ぶことができる。特徴表現は入力画像の特徴を示すので、特徴表現トレーニングプロセスを、特徴トレーニングプロセスと呼ぶことができる。特徴トレーニングプロセスは、圧縮されるべき入力画像に適応するコンテンツ適応オンライントレーニングプロセスであり、NNに基づく学習ベースの画像コーディングプロセスである。
【0175】
図19Aは、本開示の一実施形態による、学習ベースの画像コーディングプロセス(1900A)の一例を示す。学習ベースの画像圧縮は、符号化マッピング(又は符号化プロセス)と、復号マッピング(又は復号プロセス)とを含む2段階マッピングプロセスとして説明することができる。エンコーダによる符号化マッピングでは、元の空間(例えば高次元空間)内の元の画像x0を特徴表現f0にマッピングすることができる。特徴表現f0を、レート損失R(x0)を伴うコーディングされた表現(1910)にマッピングすることができる。元の画像x0は、生画像又は残差データを含む画像のように、符号化及び/又は送信されるべき入力画像とすることができる。デコーダによる復号マッピングでは、コーディングされた表現(1910)を、元の空間内の再構成画像
【数53】
にマッピングし返すことができる。コーディングされた表現(1910)は、ビットストリームで送信することができ、コーディングされた表現(1910)に基づいて決定されるレート損失R(x0)は、符号化画像(1910)のビット消費を示すことができる。上述したように、再構成画像
【数54】
の歪み損失は、再構成画像
【数55】
と元の画像x0との差を示す
【数56】
であり、対応するR-D損失L1は、式1を使用して、
【数57】
として取得することができる。
【0176】
図19Aを参照すると、特徴表現
【数58】
(例えば代替特徴表現(substitution feature representation))を、特徴トレーニングプロセスによって特徴表現f0から決定することができる。代替特徴表現
【数59】
は、同じ符号化マッピングと復号マッピングを用いて再構成画像
【数60】
にマッピングすることができる。再構画像
【数61】
の歪み損失は、再構成画像
【数62】
と元の画像x0との間の差を示す
【数63】
であり、対応するR-D損失L2は、式1を使用して、
【数64】
として取得することができ、ここで、
【数65】
は、代替特徴表現
【数66】
のコーディングされた表現(1920)のレート損失である。一実施形態では、L2が低減され、L1より小さくなり、したがって、より良好なビデオコーディング性能が達成されるように、特徴表現f0は、NNベースのトレーニングプロセスを使用して反復的にトレーニング(例えば更新)されて特徴表現
【数67】
を取得する。
【0177】
L2がL1より小さいとき、歪み損失
【数68】
は歪み損失
【数69】
よりも小さい可能性があり、したがって、特徴表現
【数70】
に基づいて取得される再構成画像
【数71】
は、特徴表現f0に基づいて取得される再構成画像
【数72】
よりも正確である。いくつかの例では、歪み損失
【数73】
は歪み損失
【数74】
より大きいが、レート損失
【数75】
は、レート損失R(x0)より小さく、この場合、L2がL1より小さいので、R-D損失の全体的な最小化を達成することができる。
【0178】
一実施形態では、元の画像x0からコーディングされた表現(例えば(1910))への符号化プロセスの間、元の画像x0は1つ以上の段階で修正される。いくつかの実施形態では、元の画像x0の特徴表現f0のような中間表現を、符号化プロセスにおいて生成することができる。中間表現のうちの1つに代替又は更新を行って、R-D損失Lを低減し得、したがって、コーディング効率を改善し得る。一例では、符号化プロセスは、NN(例えばDNN、CNN)に基づいて実装され、1つ以上の特徴マップが、CNNにおいて生成される。特徴表現f0は、特徴マップのうちの1つを含むことができ、R-D損失Lを低減するために更新されることができる。例えば特徴マップのうちの1つは、2D行列を含むことができ、2D行列内の複数の要素の値は、特徴マップのうちの1つを更新するために更新される。複数の要素は、2D行列全体、2D行列の1つ以上の行、1つ以上の列又は1つ以上の要素を含むことができる。
【0179】
図10に戻って参照すると、メインエンコーダネットワーク(911)は、正規化層(例えばGDN)と、複数の畳み込み層と、各畳み込み層に対する複数の(例えば192の)チャネルを含む。一例では、特徴表現f0は、メインエンコーダネットワーク(911)の出力である。一例では、特徴表現f0は、メインエンコーダネットワーク(911)内の畳み込み層の出力である。一例では、特徴表現f0は、メインエンコーダネットワーク(911)におけるGDNの出力である。一例では、メインエンコーダネットワーク(911)は、第1サブNN及び第2サブNNのような複数のサブNNを含む。特徴表現f0は、複数のサブNNのうちの1つの出力とすることができる。
【0180】
前処理モジュールにおいて、R-D損失Lの勾配を使用して、入力画像の特徴表現f0を更新することができる。上述のように、モデル(例えばレート損失R及び歪み損失Dを含むR-D損失L)は、微分可能(differentiable)であり得、勾配は、例えば微分可能でない演算を微分可能な演算に置き換える(例えば量子化をノイズ注入に置き換える)ことによって、逆伝搬されることができる。したがって、勾配降下を用いて上記の最適化を反復的に解くことができる。
【0181】
特徴トレーニングプロセス前の特徴表現f0と、特徴トレーニングプロセス後の更新された特徴表現
【数76】
を区別するために、特徴トレーニングプロセス前の初期特徴表現f0を、初期特徴表現f0と呼ぶ。特徴トレーニングプロセス後の更新された特徴表現
【数77】
を、最終特徴表現
【数78】
と呼ぶ。
【0182】
上述の特徴トレーニングプロセスのような学習ベースの画像コーディングプロセスを、符号化されるべき入力画像に対応する初期特徴表現に適用して、初期特徴表現を最終特徴表現へと反復的に更新して、共同R-D損失Lを低減することができる。特徴トレーニングプロセスを、事前トレーニングされたE2E NIC圧縮方法の圧縮性能を高めるための前処理ステップとして使用することができる。
【0183】
特徴トレーニングプロセスは、初期特徴表現が反復更新プロセスにおいて更新される、複数のエポック(例えば反復)を含むことができる。一実施形態では、初期特徴表現は、符号化されるべき入力画像から生成され、初期特徴表現内のそれぞれの1つ以上の要素の1つ以上の値の反復更新は、(i)最終特徴表現に対応するトレーニング損失(例えばR-D損失L)又は(ii)反復更新の反復回数、のうちの一方が所定の条件を満たすまで、特徴トレーニングプロセスにおいて実行される。上述のように、図19Aを参照すると、最終特徴表現(例えば
【数79】
)に対応するトレーニング損失(例えばR-D損失L)を、最終特徴表現のコーディングされた表現(例えば(1920))のビット消費又はレート損失
【数80】
と、入力画像(例えばx0)と最終特徴表現の再構成画像(例えば
【数81】
)との間の差
【数82】
とに基づいて決定することができる。
【0184】
特徴トレーニングプロセス(例えば反復更新)は、トレーニング損失(例えばR-D損失L)が平坦化したか又は平坦化しようとしているときに停止することができる。一例では、特徴トレーニングプロセスは、トレーニング損失が第1閾値を下回ったときに停止する。一例では、特徴トレーニングプロセスは、2つの連続したトレーニング損失間の差が第2閾値を下回ったときに停止する。
【0185】
2つのハイパーパラメータ(例えばステップサイズ及びステップの最大数)を、トレーニング損失関数(例えばR-D損失L)とともに、特徴トレーニングプロセスにおいて使用することができる。反復の最大回数を、特徴トレーニングプロセスを終了するための反復の最大回数の閾値として使用することができる。一例では、特徴トレーニングプロセスは、反復の回数が反復の最大回数に到達すると停止する。
【0186】
図19Aを参照すると、特徴トレーニングプロセスの符号化プロセスでは、最終特徴表現(例えば
【数83】
)のコーディングされた表現(例えば1920)を、例えば符号化NNと、最終特徴表現(例えば
【数84】
)が反復更新の反復回数によって初期特徴表現(例えばx0)から更新された少なくとも1つのトレーニングモジュールとによって、最終特徴表現に基づいて生成することができる。特徴トレーニングプロセスの符号化プロセスでは、最終特徴表現の再構成画像(例えば
【数85】
)を、復号NNによって、最終特徴表現のコーディングされた表現に基づいて生成することができる。
【0187】
1つ以上の更新された値を有する最終特徴表現に対応する符号化画像を、例えば特徴トレーニングプロセスの後に、ビデオエンコーダによって生成することができる。符号化画像を含む符号化ビットストリームを生成することができる。一例では、符号化画像は、符号化ビットストリームで送信される。
【0188】
特徴トレーニングプロセスを、以下に詳細に説明することができる。図9のNICフレームワーク(900)のようなNICフレームワークを使用して、反復更新を実行することができる。図19Bは、本開示の一実施形態による例示的NICフレームワーク(1900B)を示す。特徴トレーニングプロセスは、NICフレームワーク(1900B)を使用して実装することができる。NICフレームワーク(1900B)は、図9に記載されるメインエンコーダネットワーク(911)、メインデコーダネットワーク(915)、ハイパーエンコーダ(921)、ハイパーデコーダ(925)、コンテキストモデルNN(916)及びエントロピーパラメータNN(917)のうちの1つ以上を含むことができる。NICフレームワーク(1900B)は、図9の量子化器(912)に代わるノイズ注入モジュール(1912)と、図9のエントロピーエンコーダ(913)によって実行されるエントロピー符号化及びエントロピーデコーダ(914)によって実行されるエントロピー復号をシミュレートすることができるエントロピーコーディングシミュレータ(1913)とを含むことができる。NICフレームワーク(1900B)は、特徴更新モジュール(1950)を含むことができる。
【0189】
圧縮される入力画像は、メインエンコーダネットワーク(911)に供給され、初期特徴表現が、メインエンコーダネットワーク(911)によって生成される。
【0190】
反復更新を説明するために、初期特徴表現はf0として示され、最終特徴表現は
【数86】
として示される。反復更新は、複数の反復を含み、各反復は、i番目の反復として示され、ここで、iは、1~Kの正の整数の範囲であり、Kは、反復の回数(例えば反復更新が停止する前の反復の合計回数)を表す。例えば最終特徴表現は、K番目の反復で生成される。1番目の反復では、1番目の特徴表現は初期特徴表現f0である。
【0191】
i番目の反復は次のように説明される。i番目の反復の符号化プロセスにおいて、ノイズ注入モジュール(1912)によってi番目の特徴表現にノイズを加えて、i番目の第1表現を生成することができる。i番目のコーディングされた表現を、エントロピー符号化をシミュレートするエントロピーコーディングシミュレータ(1913)によって、i番目の第1表現に基づいて生成することができる。
【0192】
i番目の反復の復号プロセスにおいて、i番目の第2表現を、エントロピー復号をシミュレートするエントロピーコーディングシミュレータ(1913)によって、i番目のコーディングされた表現から生成することができる。i番目の再構成画像を、i番目の第2表現に基づいて、メインデコーダネットワーク(915)のような復号NNによって生成することができる。
【0193】
上述したように、NNベースの画像圧縮のトレーニングプロセスでは、ノイズ注入を用いて量子化をシミュレートし、量子化誤差を変動的に近似することができる。エントロピーコーディングシミュレータ(1913)(例えばBPP推定器)を使用して、エントロピーコーダをシミュレートすることができる。したがって、i番目の反復について、式1に示されるような損失関数Lにおけるレート損失Rを、例えばノイズ注入とエントロピーコーディング推定器に基づいて推定することができる。i番目の反復において、i番目の特徴表現に対応するトレーニング損失(例えばR-D損失L)を、推定されたレート損失Rと歪み損失Dの和として取得することができる。(i)i番目の特徴表現に対応するトレーニング損失(例えばR-D損失L)又は(ii)反復更新の反復の回数(例えばi)が、所定の条件を満たすかどうかを決定することができる。(i)i番目の特徴表現に対応するトレーニング損失又は(ii)反復更新の反復の回数(例えばi)が所定の条件を満たす場合、反復更新は停止し、i番目の特徴表現が、最終的な特徴表現であると決定される。反復回数はiである。
【0194】
(i)i番目の特徴表現についてのトレーニング損失及び(ii)反復更新の反復の回数(例えばi)のいずれも所定の条件を満たさない場合、i番目の特徴表現の1つ以上の値に対する調整を、例えば勾配(例えばi番目の特徴表現の値に関するR-D損失Lの勾配)とステップサイズとに基づいて特徴更新モジュール(1950)によって決定することができる。上述のように、1つ以上の値は、i番目の特徴表現における1つ以上の要素(例えば2D行列の1つ以上の行、1つ以上の列、要素のサブセット又は完全なセット)の値に対応する。(i+1)番目の特徴表現を、勾配及びステップサイズに基づいて、特徴更新モジュール(1950)によって生成することができる。反復更新は、最終特徴表現に対応するトレーニング損失又は反復更新の反復回数が所定の条件を満たすまで、(i+1)番目の反復を続ける。
【0195】
本開示の一実施形態によると、入力画像は、反復更新において直接更新されていない。代わりに、入力画像の初期特徴表現は最終特徴表現に更新され、コーディングされた表現が最終特徴表現に基づいて生成される。
【0196】
いくつかの例では、i番目の反復において、エントロピーモデルであるコンテキストモデルが、サブネットワーク(1952)を使用することによってi番目の特徴表現に基づいて決定される。サブネットワーク(1952)は、上述のように、第2ノイズ注入モジュール(1922)が量子化器(922)に置き換わり、エントロピー符号化及び復号をシミュレートすることができる第2エントロピーコーディングシミュレータ(1923)が、エントロピーエンコーダ(923)及びエントロピーデコーダ(924)に置き換わることを除いて、第2サブネットワーク(952)と同一又は同様である。i番目のコーディングされた表現を、決定されたコンテキストモデルによりi番目の表現に基づいて生成することができる。決定されたコンテキストモデルは、i番目の特徴表現に依存し、よって、特徴に依存する。したがって、コンテキストモデルは、固定エントロピーモデルよりも正確であり得る。
【0197】
図19Bを参照すると、メインエンコーダネットワーク(911)とノイズ注入モジュール(1912)との間の符号化プロセスにおいて、追加の構成要素を使用することができ、したがって、別のタイプの特徴表現を生成することができる。反復更新を、当該他の特徴表現に対して実行することができる。
【0198】
ステップサイズは、特徴トレーニングプロセスの学習レートを示すことができる。ステップサイズは、勾配降下アルゴリズム又は特徴トレーニングプロセスで実行される逆伝播計算で使用することができる。ステップサイズを、任意の適切な方法を使用して決定することができる。一実施形態では、最適な結果を達成するために、異なるステップサイズが異なるタイプのコンテンツを有する画像(又は特徴表現)に使用される。異なるタイプは、異なる分散を指すことができる。一例では、ステップサイズは、特徴表現の分散に基づいて決定される。例えば高い分散を有する特徴表現のステップサイズは、低い分散を有する特徴表現のステップサイズよりも大きく、この場合、高い分散は低い分散より大きい。
【0199】
一実施形態では、第1ステップサイズを使用して、特定の回数(例えば100)の反復を実行することができる。次に、第2ステップサイズ(例えば第1ステップサイズ±サイズ増加)を使用して、特定の回数の反復を実行することができる。第1ステップサイズ及び第2ステップサイズからの結果を比較して、使用されるべきステップサイズを決定することができる。2つより多くのステップサイズをテストして、最適なステップサイズを決定してもよい。
【0200】
ステップサイズは、特徴トレーニングプロセス中に変化させることができる。ステップサイズは、特徴トレーニングプロセスの開始時には初期値を有することができ、特徴トレーニングプロセスの後の段階、例えば特定の回数の反復の後には、より微細なチューニングを達成するために、初期値を低減(例えば半減)させることができる。ステップサイズ又は学習レートは、反復特徴トレーニングプロセスの間にスケジューラによって変化させることができる。スケジューラは、ステップサイズを調整するために使用されるパラメータ調整方法を含むことができる。スケジューラは、ステップサイズが複数の間隔において増加し、減少し又は一定に保たれるように、ステップサイズの値を決定することができる。一例では、学習レートは、スケジューラによって各ステップで変更される。単一のスケジューラ又は複数の異なるスケジューラを、異なる特徴表現に使用することができる。したがって、複数の最終特徴表現を、複数のスケジューラに基づいて生成することができ、複数の最終特徴表現のうちのより良好な圧縮性能(例えばより小さいR-D損失)を有する1つを選択することができる。
【0201】
上述のように、1つ以上の更新された値を有する最終特徴表現
【数87】
に対応する符号化画像を、図19Cに示されるようなビデオエンコーダによって生成することができる。図19Cは、本開示の一実施形態による、NICフレームワーク(900)に基づく例示的な符号化プロセスを示す。NICフレームワーク(900)内の構成要素は、図9に関連して説明される。
【0202】
初期特徴表現は、反復更新の前に入力画像から生成される。したがって、反復更新に基づいて最終特徴表現を取得した後、特定の符号化構成要素(例えばメインエンコーダネットワーク(911)又はメインエンコーダネットワーク(911)の一部)は、最終特徴表現から符号化画像(931)を生成する際に使用されないことがある。図19Cを参照すると、反復更新によって決定される最終特徴表現を、量子化器(912)によって量子表現へと量子化することができる。符号化画像(例えば(931))を、量子化表現に基づいて生成することができる。図19Cに示される例では、初期特徴表現は、メインエンコーダネットワーク(911)の出力であり、したがって、メインエンコーダネットワーク(911)は、最終特徴表現から符号化画像(931)を符号化するために使用されない。いくつかの例において、メインエンコーダネットワーク(911)は、複数のサブNN(例えば第1サブNNに続く第2サブNN)又は複数の畳み込み層を含むことができる。例えば初期特徴表現は、メインエンコーダネットワーク(911)内の第1サブNNの出力である。一例において、第1サブNNは、符号化画像(931)を生成するために使用されない。第2サブNNは、最終特徴表現から符号化画像(931)を生成するために使用される。
【0203】
量子化表現を、エントロピーエンコーダ(913)によって符号化画像(931)に符号化することができる。一例では、エントロピー符号化は、算術エンコーディングを含み、この場合、エントロピーエンコーダ(913)は算術エンコーダである。
【0204】
一例において、図9を参照して説明したように、コンテキストモデルを、第2サブネットワーク(952)を使用して、最終特徴表現に基づいて決定することができる。エントロピーエンコーダ(913)を使用することによって、決定されたコンテキストモデルに基づいて、量子化表現を符号化画像(931)にエントロピー符号化することができる。決定されたコンテキストモデルは、最終特徴表現に依存し、よって、特徴に依存する。したがって、コンテキストモデルは、固定エントロピーモデルよりも正確であり得る。
【0205】
一実施形態では、符号化画像(931)は、コーディングされたビデオビットストリームで送信される。デコーダ側では、ビデオデコーダは、符号化された画像(931)を復号することによって、最終特徴表現の再構成画像を取得することができる。図9を参照して上述したように、符号化ビット(932)を、コーディングされたビデオビットストリームで送信することができる。
【0206】
反復更新で使用されるNICフレームワークは、任意のタイプのニューラルネットワークを含むことができ、コンテキストハイパープライア(context-hyperprior)エンコーダ-デコーダフレームワーク(例えば図9に示されるNICフレームワーク)、スケールハイパープライア(scale-hyperprior)エンコーダ-デコーダフレームワーク、ガウス混合尤度(Gaussian Mixture Likelihoods)フレームワーク及びガウス混合尤度フレームワークの変形、RNNベースの再帰的圧縮方法及びRNNベースの再帰的圧縮方法の変形のような、任意のニューラルネットワークベースの画像圧縮方法を使用することができる。
【0207】
上述のように、様々なコンテンツ適応オンライントレーニングプロセスを使用して、R-D損失Lを改善することができる。例えばNICフレームワークにおいて使用される1つ以上の事前トレーニングパラメータを、圧縮(例えば符号化)及び/又は送信されるべき1つ以上の画像に基づいてトレーニングすることができ、1つ以上の事前トレーニングパラメータのコンテンツ適応オンライントレーニングは、後述するように、パラメータトレーニングプロセス(例えばオンラインパラメータトレーニングプロセス)又は微調整プロセスと呼ぶことができる。
【0208】
いくつかの例において、圧縮(例えば符号化)及び/又は送信されるべき1つ以上の画像は、トレーニング画像のセットとは著しく異なる特性を有する。したがって、トレーニング画像のセットに基づいてトレーニングされたビデオエンコーダ及びビデオデコーダを用いてそれぞれ1つ以上のイメージを符号化及び復号することは、比較的不十分なR-D損失L(例えば比較的大きな歪み及び/又は比較的大きなビットレート)をもたらす可能性がある。
【0209】
トレーニング画像のセットに基づくトレーニングプロセスと、圧縮(例えば符号化)及び/又は送信される1つ以上の画像に基づくコンテンツ適応オンライントレーニングプロセスを区別するために、トレーニング画像のセットによってトレーニングされるNICフレームワーク(900)、ビデオエンコーダ及びビデオデコーダは、それぞれ、事前トレーニングされたNICフレームワーク(900)、事前トレーニングされたビデオエンコーダ及び事前トレーニングされたビデオデコーダと呼ばれる。事前トレーニングされたNICフレームワーク(900)、事前トレーニングされたビデオエンコーダ又は事前トレーニングされたビデオデコーダ内のパラメータは、それぞれ、NIC事前トレーニングパラメータ、エンコーダ事前トレーニングパラメータ及びデコーダ事前トレーニングパラメータと呼ばれる。一例において、NIC事前トレーニングパラメータは、エンコーダ事前トレーニングパラメータ及びデコーダ事前トレーニングパラメータを含む。一例では、エンコーダ事前トレーニングパラメータ及びデコーダ事前トレーニングパラメータは、エンコーダ事前トレーニングパラメータのいずれもデコーダ事前トレーニングパラメータに含まれない場合、重複しない。例えば(1700)におけるエンコーダ事前トレーニングパラメータ(例えばメインエンコーダネットワーク(911)の事前トレーニングパラメータ)と、(1800)におけるデコーダ事前トレーニングパラメータ(例えばメインデコーダネットワーク(915)の事前トレーニングパラメータ)は重複しない。一例では、エンコーダ事前トレーニングパラメータ及びデコーダ事前トレーニングパラメータは、エンコーダ事前トレーニングパラメータのうちの少なくとも1つがデコーダ事前トレーニングパラメータに含まれる場合、重複する。例えば(1600A)におけるエンコーダ事前トレーニングパラメータ(例えばコンテキストモデルNN(916)の事前トレーニングパラメータ)と、(1600B)におけるデコーダ事前トレーニングパラメータ(例えばコンテキストモデルNN(916)の事前トレーニングパラメータ)は重複する。NIC事前トレーニングパラメータを、トレーニング画像のセット内のブロック及び/又は画像に基づいて取得することができる。
【0210】
事前トレーニングされたNICフレームワーク(900)内のNIC事前トレーニングパラメータのうちの1つ以上の事前トレーニングパラメータを、符号化及び/又は送信されるべき1つ以上の画像に基づいて、更にトレーニング(例えば微調整)することができ、この場合、1つ以上の画像は、トレーニング画像のセットと異なるものとすることができる。NIC事前トレーニングパラメータで使用される1つ以上の事前トレーニングパラメータは、1つ以上の画像に基づいて共同R-D損失Lを最適化することによって微調整されることができる。1つ以上の画像によって微調整された1つ以上の事前トレーニングパラメータは、1つ以上の置換パラメータ又は1つ以上の微調整パラメータと呼ばれる。一実施形態では、NIC事前トレーニングパラメータ内の1つ以上の事前トレーニングパラメータが、1つ以上の置換パラメータによって微調整(例えば置換)された後、ニューラルネットワーク更新情報は、1つ以上の置換パラメータ又は1つ以上の置換パラメータのサブセットを示すように、ビットストリームに符号化される。一例では、NICフレームワーク(900)は更新(又は微調整)され、この場合、1つ以上の事前トレーニングパラメータがそれぞれ1つ以上の置換パラメータによって置き換えられる。
【0211】
第1のシナリオでは、1つ以上の事前トレーニングパラメータは、1つ以上の事前トレーニングパラメータの第1サブセットと、1つ以上の事前トレーニングパラメータの第2サブセットとを含む。1つ以上の置換パラメータは、1つ以上の置換パラメータの第1サブセット及び1つ以上の置換パラメータの第2サブセットを含む。
【0212】
1つ以上の事前トレーニングパラメータの第1サブセットは、事前トレーニングされたビデオエンコーダで使用され、例えばトレーニングプロセスにおいて、1つ以上の置換パラメータの第1サブセットによって置き換えられる。したがって、事前トレーニングされたビデオエンコーダは、トレーニングプロセスによって、更新されたビデオエンコーダへと更新される。ニューラルネットワーク更新情報は、1つ以上の事前トレーニングパラメータの第2サブセットを置換する1つ以上の置換パラメータの第2サブセットを示すことができる。1つ以上の画像は、更新されたビデオエンコーダを使用して符号化され、ニューラルネットワーク更新情報とともにビットストリームで送信される。
【0213】
デコーダ側では、1つ以上の事前トレーニングパラメータの第2サブセットが、事前トレーニングされたビデオデコーダで使用される。一実施形態では、事前トレーニングされたビデオデコーダは、ニューラルネットワーク更新情報を受け取って復号し、1つ以上の置換パラメータの第2サブセットを決定する。事前トレーニングされたビデオデコーダは、事前トレーニングされたビデオデコーダ内の1つ以上の事前トレーニングパラメータの第2サブセットが1つ以上の置換パラメータの第2サブセットによって置き換えられるとき、更新されたビデオデコーダへと更新される。1つ以上の符号化画像は、更新されたビデオデコーダを使用して復号されることができる。
【0214】
図16A図16Bは、第1のシナリオの一例を示す。例えば1つ以上の事前トレーニングパラメータは、事前トレーニングされたコンテキストモデルNN(916)のN1事前トレーニングパラメータと、事前トレーニングされたメインデコーダネットワーク(915)のN2事前トレーニングパラメータを含む。したがって、1つ以上の事前トレーニングパラメータの第1サブセットは、N1事前トレーニングパラメータを含み、1つ以上の事前トレーニングパラメータの第2サブセットは、1つ以上の事前トレーニングパラメータと同一である。したがって、事前トレーニングされたビデオエンコーダ(1600A)が、更新されたビデオエンコーダ(1600A)へと更新されることができるように、事前トレーニングされたコンテキストモデルNN(916)のN1事前トレーニングパラメータを、N1対応置換パラメータによって置き換えることができる。事前トレーニングされたコンテキストモデルNN(916)も更新され、更新されたコンテキストモデルNN(916)となる。デコーダ側では、N1事前トレーニングパラメータをN1対応置換パラメータによって置き換えることができ、N2事前トレーニングパラメータをN2対応置換パラメータによって置き換えることができ、更新されたコンテキストモデルNN(916)となるように事前トレーニングされたコンテキストモデルNN(916)を更新し、更新されたメインデコーダネットワーク(915)となるように、事前トレーニングされたメインデコーダネットワーク(915)を更新する。したがって、事前トレーニングされたビデオデコーダ(1600B)を、更新されたビデオデコーダ(1600B)へと更新することができる。
【0215】
第2のシナリオでは、1つ以上の事前トレーニングパラメータのいずれも、エンコーダ側の事前トレーニングされたビデオエンコーダでは使用されない。むしろ、1つ以上の事前トレーニングパラメータは、デコーダ側の事前トレーニングされたビデオデコーダで使用される。したがって、事前トレーニングされたビデオエンコーダは更新されず、トレーニングプロセス後も事前トレーニングされたビデオエンコーダであり続ける。一実施形態では、ニューラルネットワーク更新情報は、1つ以上の置換パラメータを示す。1つ以上の画像を、事前トレーニングされたビデオエンコーダを使用して符号化し、ニューラルネットワーク更新情報とともにビットストリームで送信することができる。
【0216】
デコーダ側では、事前トレーニングされたビデオデコーダは、ニューラルネットワーク更新情報を受け取って復号し、1つ以上の置換パラメータを決定することができる。事前トレーニングされたビデオデコーダ内の1つ以上の事前トレーニングパラメータが1つ以上の置換パラメータによって置き換えられると、事前トレーニングされたビデオデコーダは、更新されたビデオデコーダへと更新される。1つ以上の符号化画像は、更新されたビデオデコーダを使用して復号されることができる。
【0217】
図16A図16Bは、第2のシナリオの例を示す。例えば1つ以上の事前トレーニングパラメータは、事前トレーニングされたメインデコーダネットワーク(915)のN2事前トレーニングパラメータを含む。したがって、1つ以上の事前トレーニングパラメータのいずれも、エンコーダ側の事前トレーニングされたビデオエンコーダ(例えば事前トレーニングされたビデオエンコーダ(1600A))では使用されない。したがって、事前トレーニングされたビデオエンコーダ(1600A)は、トレーニングプロセス後も、事前トレーニングされたビデオエンコーダであり続ける。デコーダ側では、N2事前トレーニングパラメータを、N2対応置換パラメータによって置き換えることができ、これは、事前トレーニングされたメインデコーダネットワーク(915)を、更新されたメインデコーダネットワーク(915)へと更新する。したがって、事前トレーニングされたビデオデコーダ(1600B)を、更新されたビデオデコーダ(1600B)へと更新することができる。
【0218】
第3のシナリオでは、1つ以上の事前トレーニングパラメータが事前トレーニングされたビデオエンコーダで使用され、例えばトレーニングプロセスにおいて1つ以上の置換パラメータに置き換えられる。したがって、事前トレーニングされたビデオエンコーダは、トレーニングプロセスによって、更新されたビデオエンコーダへと更新される。1つ以上の画像を、更新されたビデオエンコーダを使用して符号化し、ビットストリームで送信することができる。ニューラルネットワーク更新情報はビットストリーム内に符号化されない。デコーダ側では、事前トレーニングされたビデオデコーダは更新されず、事前トレーニングされたビデオデコーダのままである。1つ以上の符号化ブロックは、事前トレーニングされたビデオデコーダを使用して復号されることができる。
【0219】
図16A図16Bは、第3のシナリオの一例を示す。例えば1つ以上の事前トレーニングパラメータは、事前トレーニングされたメインエンコーダネットワーク(911)内にある。したがって、事前トレーニングされたビデオエンコーダ(1600A)が更新されて、更新されたビデオエンコーダ(1600A)となり得るように、事前トレーニングされたメインエンコーダネットワーク(911)内の1つ以上の事前トレーニングパラメータを、1つ以上の置換パラメータによって置き換えることができる。事前トレーニングされたメインエンコーダネットワーク(911)も更新され、更新されたメインエンコーダネットワーク(911)となる。デコーダ側では、事前トレーニングされたビデオデコーダ(1600B)は更新されない。
【0220】
第1、第2及び第3のシナリオで説明されるような様々な例において、ビデオ復号は、事前トレーニングパラメータを更新する能力を有するデコーダも有さないデコーダを含め、異なる能力を有する事前トレーニングされたデコーダによって実行され得る。
【0221】
一例では、事前トレーニングされたビデオエンコーダと事前トレーニングされたビデオデコーダで1つ以上の画像をコーディングすることと比較して、更新されたビデオエンコーダ及び/又は更新されたビデオデコーダで1つ以上の画像を符号化することによって、圧縮性能を向上させることができる。したがって、コンテンツ適応オンライントレーニング方法を使用して、事前トレーニングされたNICフレームワーク(例えば事前トレーニングされたNICフレームワーク(900))をターゲットの画像コンテンツ(例えば送信される1つ以上の画像)に適合させ、よって、事前トレーニングされたNICフレームワークを微調整することができる。したがって、エンコーダ側のビデオエンコーダ及び/又はデコーダ側のビデオデコーダを更新することができる。
【0222】
コンテンツ適応オンライントレーニング方法を、事前トレーニングされたE2E NIC圧縮方法の圧縮性能を高めるための前処理ステップ(例えば事前符号化ステップ)として使用することができる。
【0223】
一実施形態では、1つ以上の画像は、単一の入力画像を含み、微調整プロセスは、単一の入力画像を用いて実行される。NICフレームワーク(900)は、単一の入力画像に基づいてトレーニングされて更新(例えば微調整)される。エンコーダ側の更新されたビデオエンコーダ及び/又はデコーダ側の更新されたビデオデコーダを使用して、単一の入力画像及び任意に他の入力画像をコーディングすることができる。ニューラルネットワーク更新情報は、符号化された単一入力画像とともにビットストリームに符号化されることができる。
【0224】
一実施形態では、1つ以上の画像は、複数の入力画像を含み、微調整プロセスは、複数の入力画像を用いて実行される。NICフレームワーク(900)は、複数の入力画像に基づいてトレーニングされて更新(例えば微調整)される。エンコーダ側の更新されたビデオエンコーダ及び/又はデコーダ側の更新されたデコーダを使用して、複数の入力画像及び任意に他の入力画像をコーディングすることができる。ニューラルネットワーク更新情報は、符号化された複数の入力画像とともにビットストリームに符号化されることができる。
【0225】
レート損失Rは、ビットストリームにおけるニューラルネットワーク更新情報のシグナリングで増加し得る。1つ以上の画像が単一の入力画像を含むとき、ニューラルネットワーク更新情報は、各符号化画像についてシグナリングされ、レート損失Rに対する第1の増加は、画像ごとのニューラルネットワーク更新情報のシグナリングに起因するレート損失Rに対する増加を示すために使用される。1つ以上の画像が複数の入力画像を含むとき、ニューラルネットワーク更新情報は、複数の入力画像に対してシグナリングされ、これらの複数の入力画像によって共有され、レート損失Rに対する第2の増加は、画像ごとのニューラルネットワーク更新情報のシグナリングに起因するレート損失Rに対する増加を示すために使用される。ニューラルネットワーク更新情報は、複数の入力画像によって共有されるため、レート損失Rに対する第2の増加は、レート損失Rの第1の増加よりも小さくなり得る。したがって、いくつかの例では、複数の入力画像を使用してNICフレームワークを微調整することが有利であり得る。
【0226】
一実施形態では、更新されるべき1つ以上の事前トレーニングパラメータは、事前トレーニングされたNICフレームワーク(900)の1つの構成要素内にある。したがって、事前トレーニングされたNICフレームワーク(900)の当該1つの構成要素が、1つ以上の置換パラメータに基づいて更新され、事前トレーニングされたNICフレームワーク(900)の他の構成要素は更新されない。
【0227】
上記の1つの構成要素は、事前トレーニングされたコンテキストモデルNN(916)、事前トレーニングされたエントロピーパラメータNN(917)、事前トレーニングされたメインエンコーダネットワーク(911)、事前トレーニングされたメインデコーダネットワーク(915)、事前トレーニングされたハイパーエンコーダ(921)又は事前トレーニングされたハイパーデコーダ(925)であり得る。事前トレーニングされたビデオエンコーダ及び/又は事前トレーニングされたビデオデコーダは、事前トレーニングされたNICフレームワーク(900)のどの構成要素が更新されるかに応じて更新され得る。
【0228】
一例において、更新されるべき1つ以上の事前トレーニングパラメータは、事前トレーニングされたコンテキストモデルNN(916)内にあり、したがって、事前トレーニングされたコンテキストモデルNN(916)は更新され、残りの構成要素(911)、(915)、(921)、(917)及び(925)は更新されない。一例では、エンコーダ側の事前トレーニングされたビデオエンコーダとデコーダ側の事前トレーニングされたビデオデコーダは、事前トレーニングされたコンテキストモデルNN(916)を含み、したがって、事前トレーニングされたビデオエンコーダと事前トレーニングされたビデオデコーダの両方が更新される。
【0229】
一例において、更新されるべき1つ以上の事前トレーニングパラメータは、事前トレーニングされたハイパーデコーダ(925)内にあり、したがって、事前トレーニングされたハイパーデコーダ(925)は更新され、残りの構成要素(911)、(915)、(916)、(917)及び(921)は更新されない。したがって、事前トレーニングされたビデオエンコーダは更新されず、事前トレーニングされたビデオデコーダは更新される。
【0230】
一実施形態では、更新されるべき1つ以上の事前トレーニングパラメータは、事前トレーニングされたNICフレームワーク(900)の複数の構成要素内にある。したがって、事前トレーニングされたNICフレームワーク(900)の複数の構成要素は、1つ以上の置換パラメータに基づいて更新される。一例では、事前トレーニングされたNICフレームワーク(900)の複数の構成要素は、ニューラルネットワーク(例えばDNN、CNN)で構成されるすべての構成要素を含む。一例において、事前トレーニングされたNICフレームワーク(900)の複数の構成要素は、CNNベースの構成要素、すなわち、事前トレーニングされたメインエンコーダネットワーク(911)、事前トレーニングされたメインデコーダネットワーク(915)、事前トレーニングされたコンテキストモデルNN(916)、事前トレーニングされたエントロピーパラメータNN(917)、事前トレーニングされたハイパーエンコーダ(921)及び事前トレーニングされたハイパーデコーダ(925)を含む。
【0231】
上述のように、一例において、更新されるべき1つ以上の事前トレーニングパラメータは、事前トレーニングされたNICフレームワーク(900)の事前トレーニングされたビデオエンコーダ内にある。一例では、更新されるべき1つ以上の事前トレーニングパラメータは、NICフレームワーク(900)の事前トレーニングされたビデオデコーダ内にある。一例において、更新されるべき1つ以上の事前トレーニングパラメータは、事前トレーニングされたNICフレームワーク(900)の事前トレーニングされたビデオエンコーダ及び事前トレーニングされたビデオデコーダ内にある。
【0232】
NICフレームワーク(900)は、ニューラルネットワークに基づくことができ、例えばNICフレームワーク(900)内の1つ以上の構成要素は、CNN、DNN及び/又は同様のもののようなニューラルネットワークを含むことができる。上述のように、ニューラルネットワークを、重み、バイアス等のような異なるタイプのパラメータによって指定することができる。NICフレームワーク(900)内の各ニューラルネットワークベースの構成要素(例えばコンテキストモデルNN(916)、エントロピーパラメータNN(917)、メインエンコーダネットワーク(911)、メインデコーダネットワーク(915)、ハイパーエンコーダ(921)又はハイパーデコーダ(925))は、それぞれの重み、バイアス又は重みとバイアスの組合せのような適切なパラメータで構成されることができる。CNNが使用されるとき、重みは、畳み込みカーネル内の要素を含むことができる。1つ以上のタイプのパラメータを使用して、ニューラルネットワークを指定することができる。一実施形態では、更新されるべき1つ以上の事前トレーニングパラメータはバイアス項であり、バイアス項のみが1つ以上の置換パラメータによって置き換えられる。一実施形態では、更新されるべき1つ以上の事前トレーニングパラメータは重みであり、重みのみが1つ以上の置換パラメータによって置き換えられる。一実施形態では、更新されるべき1つ以上の事前トレーニングパラメータは、重みとバイアス項を含み、重みとバイアス項を含むすべての事前トレーニングパラメータが、1つ以上の置換パラメータによって置き換えられる。一実施形態では、他のパラメータを使用してニューラルネットワークを指定することができ、他のパラメータを微調整することができる。
【0233】
微調整プロセスは、複数の反復を含むことができ、この場合、1つ以上の事前トレーニングパラメータは、反復微調整プロセスにおいて更新される。微調整プロセスは、トレーニングロスが平坦化したとき又は平坦化しようとしているときに停止することができる。一例では、微調整プロセスは、トレーニング損失(例えばR-D損失L)が第1閾値を下回るときに停止する。一例では、微調整プロセスは、2つの連続したトレーニング損失の間の差が第2閾値を下回るときに停止する。
【0234】
特徴トレーニングプロセスにおいて上述したように、2つのハイパーパラメータ(例えばステップサイズ及びステップの最大数)を、損失関数(例えばR-D損失L)とともに、微調整プロセスにおいて使用することができる。最大反復回数を、微調整プロセスを終了するための最大反復回数の閾値として使用することができる。一例では、微調整プロセスは、反復の回数が最大反復回数に達すると停止する。ステップサイズの選択は、特徴トレーニングプロセスにおいて上述されており、画像トレーニングプロセスに適合させることができる。例えばステップサイズを、NICフレームワークを更新するために使用される画像の分散(variance)に基づいて決定することができる。微調整プロセスの終了時に、1つ以上の更新されたパラメータを、それぞれの1つ以上の置換パラメータについて計算することができる。一実施形態では、1つ以上の更新されたパラメータは、1つ以上の置換パラメータと、対応する1つ以上の事前トレーニングパラメータとの間の差として計算される。一実施形態では、1つ以上の更新されたパラメータは、それぞれ、1つ以上の置換パラメータである。
【0235】
一実施形態では、1つ以上の更新されたパラメータを、1つ以上の置換パラメータから、例えば特定の線形又は非線形変換を使用して生成することができ、1つ以上の更新されたパラメータは、1つ以上の置換パラメータに基づいて生成される代表パラメータ(representative parameter)である。1つ以上の置換パラメータは、より良好な圧縮のために1つ以上の更新されたパラメータに変換される。
【0236】
1つ以上の更新されたパラメータの第1サブセットは、1つ以上の置換パラメータの第1サブセットに対応し、1つ以上の更新されたパラメータの第2サブセットは、1つ以上の置換パラメータの第2サブセットに対応する。
【0237】
一例では、1つ以上の更新されたパラメータは、例えばLempel-Ziv-Markovチェーンアルゴリズム(LZMA)の変形であるLZMA2、bzip2アルゴリズム等を使用して圧縮されることができる。一例では、1つ以上の更新されたパラメータついては、圧縮は省略される。いくつかの実施形態において、1つ以上の更新されたパラメータ又は1つ以上の更新されたパラメータの第2サブセットを、ニューラルネットワーク更新情報としてビットストリームに符号化することができ、この場合、ニューラルネットワーク更新情報は、1つ以上の置換パラメータ又は1つ以上の置換パラメータの第2サブセットを示す。
【0238】
微調整プロセスの後、いくつかの例では、エンコーダ側の事前トレーニングされたビデオエンコーダを、(i)1つ以上の置換パラメータの第1サブセット又は(ii)1つ以上の置換パラメータに基づいて、更新又は微調整することができる。入力画像(例えば微調整プロセスにおいて使用される1つ以上の画像のうちの1つ)は、更新されたビデオエンコーダを使用してビットストリームに符号化されることができる。したがって、ビットストリームは、符号化画像とニューラルネットワーク更新情報の両方を含む。
【0239】
該当する場合、一例では、ニューラルネットワーク更新情報を、事前トレーニングされたビデオデコーダによって復号(例えば解凍)して、1つ以上の更新されたパラメータ又は1つ以上の更新されたパラメータの第2サブセットを取得する。一例では、上述の1つ以上の更新されたパラメータと1つ以上の置換パラメータとの間の関係に基づいて、1つ以上の置換パラメータ又は1つ以上の置換パラメータの第2サブセットを取得することができる。上述のように、事前トレーニングされたビデオデコーダを微調整することができ、更新されたビデオデコーダを使用して符号化画像を復号することができる。
【0240】
NICフレームワークは、任意のタイプのニューラルネットワークを含むことができ、コンテキストハイパープライア(context-hyperprior)エンコーダ-デコーダフレームワーク(例えば図9に示されるNICフレームワーク)、スケールハイパープライア(scale-hyperprior)エンコーダ-デコーダフレームワーク、ガウス混合尤度(Gaussian Mixture Likelihoods)フレームワーク及びガウス混合尤度フレームワークの変形、RNNベースの再帰的圧縮方法及びRNNベースの再帰的圧縮方法の変形のような、任意のニューラルネットワークベースの画像圧縮方法を使用することができる。
【0241】
関連するE2E画像圧縮方法と比較して、本開示におけるコンテンツ適応オンライントレーニング方法及び装置は、以下の利点を有することができる。適応オンライントレーニングメカニズムを利用してNICコーディング効率を改善する。柔軟かつ一般的なフレームワークの使用は、様々なタイプの事前トレーニングされたフレームワークと品質メトリクスを受け入れることができる。例えば様々なタイプの事前トレーニングされたフレームワークにおける特定の事前トレーニングパラメータは、符号化されて送信されるべき画像を用いるオンライントレーニングを使用することによって置き換えることができる。
【0242】
特徴トレーニングプロセス及びパラメータトレーニングプロセスを、任意の順序で組み合わせることができる。一実施形態では、特徴トレーニングプロセス及びパラメータトレーニングプロセスは、順次適用される。例えばパラメータトレーニングプロセスは、NICフレームワーク内の1つ以上の事前トレーニングパラメータを更新し、よって、ビデオエンコーダ及び/又はビデオデコーダを更新するために適用される。続いて、特徴トレーニングプロセスが、更新されたNICフレームワーク、更新されたビデオエンコーダ及び/又は更新されたビデオデコーダを使用して、初期特徴表現を更新するために適用される。
【0243】
一実施形態では、特徴トレーニングプロセス及びパラメータトレーニングプロセスが同時に適用される。したがって、NICフレームワーク内の1つ以上の事前トレーニングパラメータ及び初期特徴表現は、同じ反復更新で更新される。最終特徴表現に対応するR-D損失L又は反復更新の反復回数が所定の条件を満たすまで、(i)初期特徴表現における1つ以上の要素の1つ以上の値と(ii)NICフレームワークにおける1つ以上の事前トレーニングパラメータとの反復更新を実行することができる。
【0244】
図19Bを参照すると、一例では、1つ以上の事前トレーニングパラメータの第1サブセットで構成されるNN(例えばメインエンコーダネットワーク(911)、コンテキストモデルNN(916)及び/又はエントロピーパラメータNN(917)の一部)が更新され、この場合、該NNは、最終特徴表現に基づいて、コーディングされた表現を生成するために使用される。最終反復において、最終特徴表現に対応するコーディングされた表現を、1つ以上の事前トレーニングパラメータの第1サブセットを置き換える置換パラメータで更新されたNNによって、最終特徴表現に基づいて生成することができる。置換パラメータは、1つ以上の事前トレーニングパラメータの第1サブセットから、反復更新の反復回数だけ更新されている。
【0245】
図19Cを参照すると、符号化画像(例えば(931))を、置換パラメータによって更新されたNNに基づいて、最終特徴表現から生成することができる。
【0246】
一実施形態では、1つ以上の事前トレーニングパラメータの第2サブセットで構成される復号NN(例えばメインデコーダネットワーク(915))は、置換パラメータで更新される。置換パラメータは、1つ以上の事前トレーニングパラメータの第2サブセットから、反復更新の反復回数によって決定された。図19Bを参照すると、最終反復において、最終特徴表現に対応する再構成画像を、復号NN内の1つ以上の事前トレーニングパラメータの第2サブセットに対する置換パラメータで更新された復号NNによって、最終特徴表現のコーディングされた表現に基づいて生成することができる。
【0247】
図19Cを参照すると、1つ以上の事前トレーニングパラメータの第2サブセットに対する置換パラメータを示すニューラルネットワーク更新情報を、生成することができる。ニューラルネットワーク更新情報を、符号化ビットストリームに含めることができ、送信することができる。さらに、デコーダ側では、符号化画像(931)を、復号NN内の1つ以上の事前トレーニングパラメータの第2サブセットに対する置換パラメータで更新された復号NN(例えばメインデコーダネットワーク(915))を使用して、再構成画像に復号することができる。
【0248】
本開示で説明される特徴トレーニングプロセス及びパラメータトレーニングプロセスは、入力が、画像の代わりに1つ以上のブロックを含むときにも適用することができる。入力画像又はブロックが生データ又は残差データを含むとき、本開示で説明される特徴トレーニングプロセス及びパラメータトレーニングプロセスが適用可能である。
【0249】
図20は、本開示の一実施形態によるプロセス(2000)を概略的に示すフローチャートを示す。プロセス(2000)を使用して、生画像又は残差画像のような画像を符号化することができる。様々な実施形態では、プロセス(2000)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、NICフレームワーク(例えばNICフレームワーク(900)、(1900B))機能を実行する処理回路、ビデオエンコーダ(1600A)又は(1700)の機能を実行する処理回路のような処理回路によって実行される。一例では、処理回路は、(i)ビデオエンコーダ(403)、(603)及び(703)のうちの1つと、(ii)ビデオエンコーダ(1600A)及びビデオエンコーダ(1700)のうちの1つとの機能の組合せを実行する。いくつかの実施形態では、プロセス(2000)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は、プロセス(2000)を実行する。プロセスは(S2001)で開始する。一例では、NICフレームワークはニューラルネットワークに基づく。一例において、NICフレームワークは、図9に関連して説明したNICフレームワーク(900)又はフレームワーク(1900B)である。NICフレームワークは、図10図15に関連して説明されるような、CNNに基づくことができる。ビデオエンコーダ(例えば(1600A)又は(1700))は、上述のように、NICフレームワーク内の複数の構成要素を含むことができる。ニューラルネットワークに基づくNICフレームワークは、事前トレーニングされ、したがって、ビデオエンコーダは事前トレーニングされる。プロセス(2000)は(S2010)に進む。
【0250】
(S2010)において、図19Bを参照して上述したように、初期特徴表現を、符号化されるべき入力画像から生成することができる。
【0251】
(S2020)において、図19A図19Bを参照して上述したように、初期特徴表現における複数の要素の値の反復更新を、(i)最終特徴表現のレート歪み損失又は(ii)反復更新の反復の回数が所定の条件を満たすまで実行することができる。
【0252】
反復更新は、複数の反復を含むことができる。最終特徴表現は、反復更新の反復回数だけ初期特徴表現から更新されている。最終特徴表現は、複数の要素の更新された値を含むことができる。
【0253】
最終反復において、最終特徴表現に対応するコーディングされた表現を、最終特徴表現に基づいて生成することができる。最終特徴表現に対応する再構成画像を、最終特徴表現に対応するコーディングされた表現に基づいて生成することができる。最終特徴表現に対応するレート歪み損失を、最終特徴表現に対応するコーディングされた表現のビット消費(例えば推定されるビット消費)と、入力画像と最終特徴表現に対応する再構成画像との間の差とに基づいて決定することができる。
【0254】
(S2030)において、図19Cを参照して説明したように、最終特徴表現に対応する符号化画像を生成することができる。一例では、符号化画像を含むように、コーディングされたビットストリームを生成することができる。
【0255】
プロセス(2000)を、様々なシナリオに適切に適合させることができ、プロセス(2000)のステップを、それに応じて調整することができる。プロセス(2000)のステップのうちの1つ以上を適合させ、省略し、反復し及び/又は組み合わせることができる。任意の適切な順序を使用して、プロセス(2000)を実装することができる。追加のステップを追加することができる。
【0256】
本開示の実施形態は、別個に又は任意の順序で組み合わせて使用されてよい。さらに、方法(又は実施形態)、エンコーダ及びデコーダの各々は、処理回路(例えば1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読取可能媒体に記憶されるプログラムを実行する。
【0257】
本開示は、ニューラルネットワークベースのエンコーダのようなエンコーダ、ニューラルネットワークベースのデコーダのようなデコーダに使用される方法に対していかなる制限も課さない。エンコーダ、デコーダ及び/又は同様のもので使用されるニューラルネットワークは、DNN、CNN等のような、任意の適切なタイプのニューラルネットワークとすることができる。
【0258】
したがって、本開示のコンテンツ適応オンライントレーニング方法は、異なるタイプのNICフレームワーク、例えば異なるタイプの符号化DNN、復号DNN、符号化CNN、復号CNN及び/又は同様のものに対応することができる。
【0259】
上述の技術を、コンピュータ読取可能命令を使用してコンピュータソフトウェアとして実装し、1つ以上のコンピュータ読取可能媒体に物理的に記憶することができる。例えば図21は、開示される主題の特定の実施形態を実装するのに適したコンピュータシステム(2100)を示す。
【0260】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンキング又は類似のメカニズムの対象となり得る任意の適切な機械コード又はコンピュータ言語を使用してコーディングされ、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィクス処理ユニット(GPU)等によって直接的に又は解釈やマイクロコード実行等を通して実行され得る命令を含む、コードを作成することができる。
【0261】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス等を含む様々なタイプのコンピュータ又はその構成要素において実行されることができる。
【0262】
コンピュータシステム(2100)について図21に示される構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能性に関して、いかなる制限も示唆するように意図されていない。また、構成要素の構成は、コンピュータシステム(2100)の例示的実施形態に示される構成要素の任意の1つ又は組合せに関するいかなる依存性又は要件も有するものとして解釈されてはならない。
【0263】
コンピュータシステム(2100)は、特定のヒューマンインタフェース入力デバイスを含み得る。そのようなヒューマンインタフェース入力デバイスは、例えば触覚入力(キーストローク、スワイプ、データグローブの動き等)、オーディオ入力(声、拍手等)、視覚入力(ジェスチャ等)、嗅覚入力(図示せず)を通して、1人以上の人間のユーザによる入力に応答し得る。また、ヒューマンインタフェース入力デバイスは、オーディオ(音声、音楽、環境音等)、画像(スキャンされた画像、静止画像カメラから得られる写真画像等)、ビデオ(2次元ビデオ、立体映像を含む3次元ビデオ等)のような、人間による意識的入力に必ずしも直接関係しているとは限らない、特定の媒体をキャプチャするためにも使用されることができる。
【0264】
ヒューマンインタフェース入力デバイスは、キーボード(2101)、マウス(2102)、トラックパッド(2103)、タッチ画面(2110)、データグローブ(図示せず)、ジョイスティック(2105)、マイクロホン(2106)、スキャナ(2107)及びカメラ(2108)(各々の1つのみが図示される)のうちの1つ以上を含んでもよい。
【0265】
コンピュータシステム(2100)はまた、特定のヒューマンインタフェース出力デバイスも含み得る。そのようなヒューマンインタフェース出力デバイスは、例えば触覚出力、音響、光及び嗅覚/味覚を通して、1人以上の人間のユーザの感覚を刺激し得る。そのようなヒューマンインタフェース出力デバイスは、触覚出力デバイス(例えばタッチ画面(2110)、データグローブ(図示せず)又はジョイスティック(2105)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、オーディオ出力デバイス(スピーカー(2109)、ヘッドフォン(図示せず)等)、視覚出力デバイス(各々タッチ画面入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にもかかわらないが、その一部は、立体画像出力や仮想現実グラス(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず)のような手段を通して、2次元視覚出力又は3次元超の出力を出力することができる、CRT画面、LCD画面、プラズマ画面、OLED画面を含む画面(2110)等)及びプリンタ(図示せず)を含んでよい。
【0266】
コンピュータシステム(2100)はまた、CD/DVDを有するCD/DVD ROM/RW(2120)を含む光媒体又は類似の媒体(2121)、サムドライブ(2122)、取り外し可能ハードドライブ又はソリッドステートドライブ(2123)、テープ及びフロッピーディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特別なROM/ASIC/PLDベースのデバイスのような、ヒューマンアクセス可能なストレージデバイス及びそれらの関連する媒体も含むことができる。
【0267】
当業者はまた、現在開示されている主題に関連して使用されるとき、「コンピュータ読取可能媒体」という用語が、伝送媒体、搬送波又は他の一時的信号を包含しないことを理解すべきである。
【0268】
コンピュータシステム(2100)はまた、1つ以上の通信ネットワーク(2155)へのインタフェース(2154)も含むことができる。ネットワークは、例えば無線、有線、光とすることができる。ネットワークは更に、ローカル、ワイドエリア、メトロポリタン、車両及び産業用、リアルタイム、遅延耐性等とすることができる。ネットワークの例は、イーサネット(登録商標)、無線LAN等のローカルエリアネットワーク、GSM(登録商標)、3G、4G、5G、LTE等を含むセルラネットワーク、ケーブルTV、衛星TV及び地上放送TVを含むTV有線又は無線ワイドエリアデジタルネットワーク、CANBus等を含む車両及び産業用ネットワークを含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺バス(2149)に取り付けられ外部ネットワークインタフェースアダプタ(例えばコンピュータシステム(2100)のUSBポート等)を必要とし、他のものは、一般に、後述するシステムバスへの取り付けによって(例えばPCコンピュータシステムへのイーサネット(登録商標)インタフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインタフェース)、コンピュータシステム(2100)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(2100)は、他のエンティティと通信することができる。このような通信は、例えばローカル又はワイドエリアデジタルネットワークを使用して、他のコンピュータシステムに対する、単方向の受信専用(例えば放送TV)、単方向の送信専用(例えば特定のCANbusから特定のCANbusデバイスへ)又は双方向であり得る。上述のように、特定のプロトコル及びプロトコルスタックを、これらのネットワーク及びネットワークインタフェースの各々において使用することができる。
【0269】
前述のヒューマンインタフェースデバイス、ヒューマンアクセス可能なストレージデバイス及びネットワークインタフェースを、コンピュータシステム(2100)のコア(2140)に取り付けることができる。
【0270】
コア(2140)は、1つ以上の中央処理ユニット(CPU)(2141)、グラフィクス処理ユニット(GPU)(2142)、フィールドプログラマブルゲートアレイ(FPGA)(2143)の形態の専用のプログラマブル処理ユニット、特定のタスク用のハードウェアアクセラレータ(2144)、グラフィクスアダプタ(2150)等を含むことができる。これらのデバイスは、読取専用メモリ(ROM)(2145)、ランダムアクセスメモリ(RAM)(2146)、内部非ユーザアクセス可能ハードドライブ、SSD等の内部大容量ストレージ(2147)とともに、システムバス(2148)を通して接続され得る。いくつかのコンピュータシステムでは、システムバス(2148)は、追加のCPU、GPU等による拡張を可能にするために、1つ以上の物理的プラグの形態でアクセス可能である。周辺デバイスを、コアのシステムバス(2148)に直接又は周辺バス(2149)を介して取り付けることができる。一例では、画面(2110)をグラフィクスアダプタ(2150)に接続することができる。周辺バスのアーキテクチャは、PCI、USB等を含む。
【0271】
CPU(2141)、GPU(2142)、FPGA(2143)及びアクセラレータ(2144)は、組み合わされて上述のコンピュータコードを構成することができる、特定の命令を実行することができる。そのコンピュータコードを、ROM(2145)又はRAM(2146)に記憶することができる。また、一時的なデータをRAM(2146)に記憶することができ、一方、永久的なデータを、例えば内部大容量ストレージ(2147)に記憶することができる。1つ以上のCPU(2141)、GPU(2142)、大容量ストレージ(2147)、ROM(2145)、RAM(2146)等と密接に関連付けることができるキャッシュメモリの使用を通して、メモリデバイスのいずれかに対する高速記憶及び取り出しを可能にすることができる。
【0272】
コンピュータ読取可能媒体は、様々なコンピュータ実装される動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものとすることができ、あるいはそれらは、コンピュータソフトウェア技術の当業者に周知かつ利用可能な種類のものとすることができる。
【0273】
限定ではなく例として、アーキテクチャ(2100)及び特にコア(2140)を有するコンピュータシステムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が1つ以上の有形のコンピュータ読取可能媒体に具現化されたソフトウェアを実行する結果としての機能性を提供することができる。このようなコンピュータ読取可能媒体は、上記で紹介したようなユーザアクセス可能な大容量ストレージ、並びにコア内部大容量ストレージ(2147)又はROM(2145)のような非一時的な性質のコア(2140)の特定のストレージに関連付けられる媒体とすることができる。本開示の様々な実施形態を実装するソフトウェアを、そのようなデバイスに記憶して、コア(2140)によって実行することができる。コンピュータ読取可能媒体は、特定のニーズに従って、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、コア(2140)及び特にその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM(2146)に記憶されるデータ構造を定義することと、ソフトウェアによって定義されるプロセスに従ってそのようなデータ構造を修正することとを含む、本明細書で説明される特定のプロセス又は特定のプロセスの特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、論理ハードワイヤ又は他の方法で回路(例えばアクセラレータ(2144))内に具現化された結果として機能性を提供することができ、この回路は、ソフトウェアの代わりに又はソフトウェアとともに動作して、本明細書で説明される特定のプロセス又は特定のプロセスの特定の部分を実行することができる。ソフトウェアへの言及はロジックを含み、また、必要に応じて、その逆も可能である。コンピュータ読取可能媒体への参照は、実行のためのソフトウェアを記憶する回路(集積回路(IC)等)、実行のためのロジックを具体化する回路又は適切な場合にはその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。

付録A:頭字語
JEM:joint exploration model
VVC:versatile video coding
BMS:ベンチマークセット(benchmark set)
MV:動きベクトル(Motion Vector)
HEVC:高効率ビデオコーディング(High Efficiency Video Coding)
SEI:補足強化情報(Supplementary Enhancement Information)
VUI:ビデオユーザビリティ情報(Video Usability Information)
GOPs:ピクチャのグループ(Groups of Pictures)
TUs:変換ユニット(Transform Units)
PUs:予測ユニット(Prediction Units)
CTUs:コーディングツリーユニット(Coding Tree Units)
CTBs:コーディングツリーブロック(Coding Tree Blocks)
PBs:予測ブロック(Prediction Blocks)
HRD:仮想リファレンスデコーダ(Hypothetical Reference Decoder)
SNR:信号対ノイズ比(Signal Noise Ratio)
CPUs:中央処理ユニット(Central Processing Units)
GPUs:グラフィクス処理ユニット(Graphics Processing Units)
CRT:ブラウン管(Cathode Ray Tube)
LCD:液晶ディスプレイ(Liquid-Crystal Display)
OLED:有機発光ダイオード(Organic Light-Emitting Diode)
CD:コンパクトディスク(Compact Disc)
DVD:デジタルビデオディスク(Digital Video Disc)
ROM:読取専用メモリ(Read-Only Memory)
RAM:ランダムアクセスメモリ(Random Access Memory)
ASIC:特定用途向け集積回路(Application-Specific Integrated Circuit)
PLD:プログラマブル論理デバイス(Programmable Logic Device)
LAN:ローカルエリアネットワーク(Local Area Network)
GSM:汎欧州デジタル移動電話方式(Global System for Mobile communications)
LTE:長期進化(Long-Term Evolution)
CANBus:コントローラエリアネットワークバス(Controller Area Network Bus)
USB:ユニバーサルシリアルバス(Universal Serial Bus)
PCI:周辺構成要素相互接続(Peripheral Component Interconnect)
FPGA:フィールドプログラマブルゲートアレイ(Field Programmable Gate Array)
SSD:ソリッドステートドライブ(solid-state drive)
IC:集積回路(Integrated Circuit)
CU:コーディングユニット(Coding Unit)
NIC:ニューラル画像圧縮(Neural Image Compression)
R-D:レート歪み(Rate-Distortion)
E2E:エンドツーエンド(End to End)
ANN:人工ニューラルネットワーク(Artificial Neural Network)
DNN:ディープニューラルネットワーク(Deep Neural Network)
CNN:畳み込みニューラルネットワーク(Convolution Neural Network)
【0274】
本開示は、いくつかの例示的な実施形態について説明しているが、本開示の範囲内にある変更、置換及び様々な代替均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないか又は説明されていないが、本開示の原理を具体化しており、よって、本開示の精神及び範囲内にある、様々システム及び方法を考案することができることが理解されよう。
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16A
図16B
図17
図18
図19A
図19B
図19C
図20
図21