JP2023532397A - ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法、装置およびコンピュータプログラム - Google Patents

ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法、装置およびコンピュータプログラム Download PDF

Info

Publication number
JP2023532397A
JP2023532397A JP2022570193A JP2022570193A JP2023532397A JP 2023532397 A JP2023532397 A JP 2023532397A JP 2022570193 A JP2022570193 A JP 2022570193A JP 2022570193 A JP2022570193 A JP 2022570193A JP 2023532397 A JP2023532397 A JP 2023532397A
Authority
JP
Japan
Prior art keywords
post
filtering
blocks
video
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022570193A
Other languages
English (en)
Inventor
ディン・ディン
ウェイ・ジアン
ウェイ・ワン
シャン・リュウ
Original Assignee
テンセント・アメリカ・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2023532397A publication Critical patent/JP2023532397A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示の態様は、ビデオ復号のための方法、装置、および非一時的コンピュータ可読記憶媒体を提供する。装置は処理回路を含むことができる。処理回路は、1つまたは複数のブロックを含む画像またはビデオを受信するように構成される。処理回路は、復元される1つまたは複数のブロックに対応する画像またはビデオ内の第1のポストフィルタリングパラメータを復号することができる。第1のポストフィルタリングパラメータは、1つまたは複数のブロックのうちの少なくとも1つに適用され、訓練データセットに基づいて訓練されたポストフィルタリングニューラルネットワーク(NN)内のポストフィルタリングモジュールによって更新されている。処理回路は、第1のポストフィルタリングパラメータに基づいて、1つまたは複数のブロックに対応するビデオデコーダ内のポストフィルタリングNNを決定することができる。処理回路は、1つまたは複数のブロックに対応する決定されたポストフィルタリングNNに基づいて、1つまたは複数のブロックを復号することができる。

Description

関連出願の相互参照
本出願は、2021年5月27日に出願された米国仮出願第63/194,057号「Content-Adaptive Online Training Method for Post-Filtering」の優先権の利益を主張する、2022年5月20日に出願された米国特許出願第17/749,641号「CONTENT-ADAPTIVE ONLINE TRAINING METHOD AND APPARATUS FOR POST-FILTERING」の優先権の利益を主張する。先行出願の開示は、それらの全体が参照により本明細書に組み込まれる。
本開示は、一般に、ビデオコーディングに関係する実施形態を記載する。
本明細書において提供される背景技術の説明は、本開示の文脈を大まかに提示することを目的としている。ここに記名された発明者の仕事は、その仕事がこの背景技術セクションに記載されている限りにおいて、ならびにさもなければ出願時に従来技術として適格ではない可能性がある説明の態様は、本開示に対する従来技術として、明示的にも黙示的にも認められていない。
ビデオのコーディングおよび復号は、動き補償を伴うインターピクチャ予測を使用して実行することができる。非圧縮デジタル画像および/またはビデオは一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080の輝度サンプルおよび関連する彩度サンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャまたは60Hzの固定または可変の(非公式にはフレームレートとしても知られる)ピクチャレートを有することができる。非圧縮画像および/またはビデオは特有のビットレート要件を有する。例えば、サンプルあたり8ビットでの1080p60 4:2:0ビデオ(60Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600Gバイトを超える記憶空間を必要とする。
ビデオのコーディングおよび復号の1つの目的は、圧縮を介して入力画像および/またはビデオ信号内の冗長性を低減することであり得る。圧縮は、前述の帯域幅および/または記憶空間の要件を、場合によっては、2桁以上削減するのに役立つことができる。本明細書の説明は、説明のための例としてビデオの符号化/復号を使用するが、同じ技法は、本開示の趣旨から逸脱することなく、同様の方式で画像の符号化/復号に適用することができる。可逆圧縮と非可逆圧縮の両方、ならびにそれらの組合せを採用することができる。可逆圧縮は、圧縮された元の信号から元の信号の正確なコピーを復元することができる技法を指す。非可逆圧縮を使用すると、復元された信号は元の信号と同一ではない可能性があるが、元の信号と復元された信号との間の歪みは、復元された信号を目的の用途に有用なものにするほど十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量はアプリケーションに依存し、例えば、特定の消費者向けストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容することができる。実現可能な圧縮比は、許容/耐容歪みが大きいほど、圧縮比が高くなり得ることを反映することができる。
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピーコーディングを含む、いくつかの広範なカテゴリからの技法を利用することができる。
ビデオコーデック技術は、イントラコーディングとして知られる技法を含むことができる。イントラコーディングでは、サンプル値は、以前に復元された参照ピクチャからのサンプルまたは他のデータを参照することなく表される。一部のビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分化される。サンプルのすべてのブロックがイントラモードでコーディングされるとき、そのピクチャはイントラピクチャであり得る。イントラピクチャ、および独立デコーダリフレッシュピクチャなどのそれらの派生物は、デコーダ状態をリセットするために使用することができるので、コーディングされたビデオビットストリームおよびビデオセッション内の最初のピクチャとして、または静止画像として使用することができる。イントラブロックのサンプルは、変換にさらされる可能性があり、変換係数は、エントロピーコーディングの前に量子化することができる。イントラ予測は、変換前領域内のサンプル値を最小化する技法であり得る。場合によっては、変換後のDC値が小さいほど、かつAC係数が小さいほど、エントロピーコーディング後のブロックを表すために所与の量子化ステップのサイズにおいて必要とされるビットは少なくなる。
例えばMPEG-2生成コーディング技術から知られているような従来のイントラコーディングは、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、復号順序で先行するデータのブロックの符号化/復号の間に取得される周囲のサンプルデータおよび/またはメタデータから試行する技法を含む。そのような技法は、以後「イントラ予測」技法と呼ばれる。少なくともいくつかの場合では、イントラ予測は復元中の現在ピクチャからの参照データのみを使用し、参照ピクチャからは使用しないことに留意されたい。
イントラ予測には多くの異なる形式があり得る。そのような技法のうちの2つ以上が所与のビデオコーディング技術において使用され得るとき、使用中の技法はイントラ予測モードでコーディングすることができる。特定の場合には、モードは下位モードおよび/またはパラメータを有することができ、それらは個別にコーディングされ得るか、またはモードコードワードに含まれ得る。所与のモード/下位モード/パラメータの組合せにどのコードワードを使用するかは、イントラ予測によるコーディング効率の向上に影響を及ぼす可能性があるので、コードワードをビットストリームに変換するために使用されるエントロピーコーディング技術に影響を及ぼす可能性がある。
イントラ予測の特定のモードは、H.264から導入され、H.265において改良され、共同探索モデル(JEM)、多用途ビデオコーディング(VVC)、およびベンチマークセット(BMS)などのより新しいコーディング技術においてさらに改良された。予測器ブロックは、すでに利用可能なサンプルに属する隣接サンプル値を使用して形成することができる。隣接サンプルのサンプル値は、方向に従って予測器ブロックにコピーされる。使用中の方向への参照は、ビットストリーム内でコーディングされ得るか、またはそれ自体が予測されてもよい。
図1Aを参照すると、右下に描写されているのは、H.265の(35個のイントラモードのうちの33個の角度モードに対応する)33個の可能な予測器方向から知られる9つの予測器方向のサブセットである。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、そこからサンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が水平から45度の角度で右上にある1つまたは複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が水平から22.5度の角度でサンプル(101)の左下にある1つまたは複数のサンプルから予測されることを示す。
さらに図1Aを参照すると、左上には、(太い破線によって示された)4×4サンプルの正方形ブロック(104)が描写されている。正方形ブロック(104)は16個のサンプルを含み、各々、「S」、Y次元のその位置(例えば、行インデックス)、およびX次元のその位置(例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元の(上から)2番目のサンプルであり、X次元の(左から)1番目のサンプルである。同様に、サンプルS44は、ブロック(104)内のY次元およびX次元の両方で4番目のサンプルである。ブロックはサイズが4×4サンプルなので、S44は右下にある。同様の番号付け方式に従う参照サンプルがさらに示されている。参照サンプルは、ブロック(104)に対してR、そのY位置(例えば、行インデックス)、およびX位置(列インデックス)でラベル付けされている。H.264およびH.265の両方において、予測サンプルは復元中のブロックに隣接するので、負の値が使用される必要はない。
イントラピクチャ予測は、シグナリングされた予測方向によって割り当てられるように、隣接サンプルからの参照サンプル値をコピーすることによって機能することができる。例えば、コーディングされたビデオビットストリームが、このブロックに関して、矢印(102)と一致する予測方向を示すシグナリングを含む、すなわち、サンプルが水平から45度の角度で右上にある1つまたは複数の予測サンプルから予測されると仮定する。その場合、同じ参照サンプルR05からサンプルS41、S32、S23、およびS14が予測される。次いで、参照サンプルR08からサンプルS44が予測される。
特定の場合には、参照サンプルを計算するために、特に方向が45度によって均等に割り切れないとき、複数の参照サンプルの値は、例えば補間によって組み合わされてもよい。
可能な方向の数は、ビデオコーディング技術が発展するにつれて増加している。H.264(2003年)では、9つの異なる方向を表すことができた。それがH.265(2013年)では33に増加し、本開示の時点では、JEM/VVC/BMSは最大65個の方向をサポートすることができる。最も可能性が高い方向を識別するために実験が行われており、エントロピーコーディングの特定の技術は、それらの可能性が高い方向を少数のビットで表すために使用され、可能性が低い方向に関しては一定のペナルティを受け入れている。さらに、方向自体は、時々、隣接するすでに復号されたブロックにおいて使用された隣接方向から予測することができる。
図1Bは、経時的に増加する数の予測方向を示すために、JEMによる65個のイントラ予測方向を描写する概略図(110)を示す。
方向を表す、コーディングされたビデオビットストリーム内のイントラ予測方向ビットのマッピングは、ビデオコーディング技術ごとに異なってもよく、例えば、予測方向のイントラ予測モードへの単純な直接マッピングから、コードワード、最も可能性が高いモードを含む複雑な適応方式、および同様の技術まで及ぶことができる。しかしながら、すべての場合において、ビデオコンテンツ内で特定の他の方向よりも統計的に発生する可能性が低い特定の方向が存在する可能性がある。ビデオ圧縮の目的は冗長性の低減であるので、それらの可能性が低い方向は、良好に機能するビデオコーディング技術では、可能性が高い方向よりも多いビット数によって表される。
動き補償は非可逆圧縮技法であり得、以前に復元されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以降、MV)によって示された方向に空間的にシフトされた後に、新しく復元されるピクチャまたはピクチャの一部の予測に使用される技法に関することができる。場合によっては、参照ピクチャは現在復元中のピクチャと同じであり得る。MVは、2つの次元XおよびY、または3つの次元を有することができ、3番目の次元は、使用中の参照ピクチャの指示である(後者は、間接的に時間次元であり得る)。
いくつかのビデオ圧縮技法では、サンプルデータの特定の領域に適用可能なMVは、他のMVから、例えば、復元中の領域に空間的に隣接し、復号順序でそのMVに先行するサンプルデータの別の領域に関連するMVから予測することができる。そうすることにより、MVのコーディングに必要なデータ量を大幅に削減することができ、それによって冗長性が排除され、圧縮率が増加する。例えば、(ナチュラルビデオとして知られている)カメラから導出された入力ビデオ信号をコーディングするとき、単一のMVが適用可能な領域よりも大きい領域が同様の方向に移動する統計的な可能性が存在するので、MV予測は効果的に機能することができ、したがって、場合によっては、隣接する領域のMVから導出された同様の動きベクトルを使用して予測することができる。その結果、所与の領域について検出されたMVは、周囲のMVから予測されたMVと同様または同じであり、エントロピーコーディング後、直接MVをコーディングする場合に使用されるビット数より少ないビット数で表すことができる。場合によっては、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の一例であり得る。他の場合、MV予測自体は、例えば、いくつかの周囲のMVから予測器を計算するときの丸め誤差のために、非可逆であり得る。
様々なMV予測メカニズムが、H.265/HEVC(ITU-T Rec.H.265、「High Efficiency Video Coding」、2016年12月)に記載されている。H.265が提供する多くのMV予測メカニズムのうち、本明細書に記載されるのは、以降「空間マージ」と呼ばれる技法である。
図2を参照すると、現在ブロック(201)は、動き検索プロセス中にエンコーダにより、空間的にシフトされた同じサイズの以前のブロックから予測可能であることが見出されたサンプルを含む。直接そのMVをコーディングする代わりに、MVは、A0、A1、およびB0、B1、B2(それぞれ、202~206)と表記された5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つまたは複数の参照ピクチャに関連付けられたメタデータから、例えば、(復号順序で)最新の参照ピクチャから導出することができる。H.265では、MV予測は、隣接するブロックが使用している同じ参照ピクチャからの予測器を使用することができる。
本開示の態様は、ビデオ符号化およびビデオ復号のための方法および装置を提供する。いくつかの例では、ビデオ復号のための装置は処理回路を含む。処理回路は、1つまたは複数のブロックを含む画像またはビデオを受信するように構成される。処理回路は、復元される1つまたは複数のブロックに対応する画像またはビデオ内の第1のポストフィルタリングパラメータを復号することができる。第1のポストフィルタリングパラメータは、1つまたは複数のブロックのうちの少なくとも1つに適用され、第1のポストフィルタリングパラメータは、訓練データセットに基づいて訓練されたポストフィルタリングニューラルネットワーク(NN)内のポストフィルタリングモジュールによって更新されている。処理回路は、第1のポストフィルタリングパラメータに基づいて、1つまたは複数のブロックに対応するビデオデコーダ内のポストフィルタリングNNを決定することができる。処理回路は、1つまたは複数のブロックに対応する決定されたポストフィルタリングNNに基づいて、1つまたは複数のブロックを復号することができる。
一実施形態では、処理回路は、1つまたは複数のブロックに対応する画像またはビデオ内の第2のポストフィルタリングパラメータを復号する。処理回路は、第2のポストフィルタリングパラメータにさらに基づいて、ポストフィルタリングNNを決定することができる。第2のポストフィルタリングパラメータは、1つまたは複数のブロック内の第2のブロックに適用される。第2のブロックは、1つまたは複数のブロックのうちの少なくとも1つとは異なる。第2のポストフィルタリングパラメータは、ポストフィルタリングNN内のポストフィルタリングモジュールによって更新されている。
一実施形態では、第1のポストフィルタリングパラメータは、復元される第2の画像に対応する。処理回路は、決定されたポストフィルタリングNNに基づいて、第2の画像を復号することができる。
一実施形態では、第1のポストフィルタリングパラメータは、第2のポストフィルタリングパラメータとは異なる。第1のポストフィルタリングパラメータは、1つまたは複数のブロックのうちの第1のブロックのコンテンツに適応でき、第2のポストフィルタリングパラメータは、第2のブロックのコンテンツに適応できる。
一実施形態では、第1のポストフィルタリングパラメータは、ポストフィルタリングNNにおけるバイアス項または重み係数に基づいて更新される。
一実施形態では、ポストフィルタリングNNは初期パラメータで構成される。処理回路は、初期パラメータのうちの少なくとも1つを第1のポストフィルタリングパラメータで更新する。
一実施形態では、1つまたは複数のブロックに対応するコーディング情報は、第1のポストフィルタリングパラメータと初期パラメータのうちの1つとの間の差を示す。処理回路は、差と初期パラメータのうちの1つの和に従って第1のポストフィルタリングパラメータを決定することができる。
一実施形態では、第1のポストフィルタリングパラメータは、(i)ポストフィルタリングNNの単一の層、(ii)ポストフィルタリングNNの複数の層、または(iii)ポストフィルタリングNNのすべての層において更新される。
一例では、ポストフィルタリングNN内の層の数は、1つまたは複数のブロック内の異なるブロックに対応するステップサイズまたはステップの数に依存する。
本開示の態様はまた、ビデオ復号のための方法を実行するように少なくとも1つのプロセッサによって実行可能なプログラムを記憶する非一時的コンピュータ可読記憶媒体を提供する。
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになる。
イントラ予測モードの例示的なサブセットの概略図である。 例示的なイントラ予測方向の図である。 一実施形態による、現在ブロック(201)および周囲サンプルを示す図である。 一実施形態による、通信システム(300)の簡略化されたブロック図の概略図である。 一実施形態による、通信システム(400)の簡略化されたブロック図の概略図である。 一実施形態による、デコーダの簡略化されたブロック図の概略図である。 一実施形態による、エンコーダの簡略化されたブロック図の概略図である。 別の実施形態による、エンコーダのブロック図である。 別の実施形態による、デコーダのブロック図である。 本開示の一実施形態による、ブロック単位画像コーディングの一例を示す図である。 本開示の一実施形態による、例示的なNICフレームワークを示す図である。 本開示の一実施形態による、メインエンコーダネットワークの例示的な畳み込みニューラルネットワーク(CNN)を示す図である。 本開示の一実施形態による、メインデコーダネットワークの例示的なCNNを示す図である。 本開示の一実施形態による、ハイパーエンコーダの例示的なCNNを示す図である。 本開示の一実施形態による、ハイパーデコーダの例示的なCNNを示す図である。 本開示の一実施形態による、コンテキストモデルネットワークの例示的なCNNを示す図である。 本開示の一実施形態による、エントロピーパラメータネットワークの例示的なCNNを示す図である。 本開示の一実施形態による、例示的なビデオエンコーダを示す図である。 本開示の一実施形態による、例示的なビデオデコーダを示す図である。 本開示の一実施形態による、例示的なビデオエンコーダを示す図である。 本開示の一実施形態による、例示的なビデオデコーダを示す図である。 本開示の一実施形態による、ブロック単位画像フィルタリングの一例を示す図である。 本開示の一実施形態による、例示的なポストフィルタリングモジュールおよびNICフレームワークを示す図である。 本開示の一実施形態による、例示的なビデオデコーダを示す図である。 本開示の一実施形態による、例示的なビデオデコーダを示す図である。 本開示の一実施形態による、例示的なデブロッキングプロセスを示す図である。 本開示の一実施形態による、例示的なデブロッキングプロセスを示す図である。 本開示の一実施形態による、例示的なデブロッキングプロセスを示す図である。 本開示の実施形態による、3つ以上のブロックのサンプルを含む境界領域の一例を示す図である。 本開示の一実施形態による、複数のデブロッキングモデルに基づく例示的なデブロッキングプロセスを示す図である。 本開示の一実施形態による、例示的な拡張プロセスを示す図である。 本開示の一実施形態による、例示的な拡張プロセスを示す図である。 本開示の一実施形態による、例示的な画像レベル拡張プロセスを示す図である。 本開示の一実施形態による、符号化プロセスを概説するフローチャートである。 本開示の一実施形態による、復号プロセスを概説するフローチャートである。 一実施形態による、コンピュータシステムの概略図である。
図3は、本開示の一実施形態による、通信システム(300)の簡略化されたブロック図を示す。通信システム(300)は、例えば、ネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された端末デバイス(310)および(320)の第1のペアを含む。図3の例では、端末デバイス(310)および(320)の第1のペアは、データの単方向送信を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介して他の端末デバイス(320)に送信するためのビデオデータ(例えば、端末デバイス(310)によって取り込まれたビデオピクチャのストリーム)をコード化することができる。符号化ビデオデータは、1つまたは複数のコード化ビデオビットストリームの形式で送信することができる。端末デバイス(320)は、ネットワーク(350)からコード化ビデオデータを受信し、コード化ビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示することができる。単方向データ送信は、メディアサービングアプリケーションなどで一般的であり得る。
別の例では、通信システム(300)は、例えばビデオ会議中に発生する可能性があるコード化ビデオデータの双方向送信を実行する端末デバイス(330)および(340)の第2のペアを含む。データの双方向送信の場合、一例では、端末デバイス(330)および(340)の各端末デバイスは、ネットワーク(350)を介して端末デバイス(330)および(340)のうちの他の端末デバイスに送信するためのビデオデータ(例えば、端末デバイスによって取り込まれたビデオピクチャのストリーム)をコード化することができる。端末デバイス(330)および(340)の各端末デバイスはまた、端末デバイス(330)および(340)のうちの他の端末デバイスによって送信されたコード化ビデオデータを受信することができ、コード化ビデオデータを復号してビデオピクチャを復元することができ、復元されたビデオデータに従ってアクセス可能な表示デバイスにビデオピクチャを表示することができる。
図3の例では、端末デバイス(310)、(320)、(330)、および(340)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示される場合があるが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用ビデオ会議機器を用いるアプリケーションを見出す。ネットワーク(350)は、例えば、電線(有線)および/またはワイヤレスの通信ネットワークを含む、端末デバイス(310)、(320)、(330)、および(340)の間でコード化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換チャネルおよび/またはパケット交換チャネルでデータを置換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本説明の目的のために、ネットワーク(350)のアーキテクチャおよびトポロジーは、本明細書で以下に説明されない限り、本開示の動作にとって重要でない可能性がある。
図4は、開示された主題についてのアプリケーション用の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの格納などを含む、他のビデオ対応アプリケーションに等しく適用可能であり得る。
ストリーミングシステムは、例えば、圧縮されていないビデオピクチャのストリーム(402)を作成するビデオソース(401)、例えば、デジタルカメラを含むことができるキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって撮影されたサンプルを含む。符号化ビデオデータ(404)(またはコード化ビデオビットストリーム)と比較したときに多いデータ量を強調するために太い線として描写されたビデオピクチャのストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理することができる。ビデオエンコーダ(403)は、以下でより詳細に記載されるように、開示された主題の態様を可能にするかまたは実装するために、ハードウェア、ソフトウェア、またはそれらの組合せを含むことができる。ビデオピクチャのストリーム(402)と比較したときに少ないデータ量を強調するために細い線として描写された符号化ビデオデータ(404)(または符号化ビデオビットストリーム)は、将来の使用のためにストリーミングサーバ(405)に格納することができる。図4のクライアントサブシステム(406)および(408)などの1つまたは複数のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、符号化ビデオデータ(404)のコピー(407)および(409)を取り出すことができる。クライアントサブシステム(406)は、例えば、電子デバイス(430)内のビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、符号化ビデオデータ(404)の入力コピー(407)を復号し、ディスプレイ(412)(例えば、表示画面)または他のレンダリングデバイス(描写せず)上でレンダリングすることができるビデオピクチャの出力ストリーム(411)を作成する。いくつかのストリーミングシステムでは、符号化ビデオデータ(404)、(407)、および(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮規格に従って符号化することができる。それらの規格の例には、ITU-T勧告H.265が含まれる。一例では、開発中のビデオコーディング規格は、非公式に多用途ビデオコーディング(VVC)として知られている。開示された主題は、VVCの文脈で使用されてもよい。
電子デバイス(420)および(430)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(420)はビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)もビデオエンコーダ(図示せず)を含むことができる。
図5は、本開示の一実施形態による、ビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれ得る。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例のビデオデコーダ(410)の代わりに使用することができる。
受信機(531)は、ビデオデコーダ(510)によって復号される1つまたは複数のコード化ビデオシーケンス、同じかまたは別の実施形態では、一度に1つのコード化ビデオシーケンスを受信することができ、各コード化ビデオシーケンスの復号は、他のコード化ビデオシーケンスから独立している。コード化ビデオシーケンスは、チャネル(501)から受信されてもよく、チャネル(501)は、符号化ビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。受信機(531)は、それらのそれぞれの使用エンティティ(描写せず)に転送され得る他のデータ、例えば、コード化オーディオデータおよび/または補助データストリームとともに符号化ビデオデータを受信することができる。受信機(531)は、コード化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(515)は、受信機(531)とエントロピーデコーダ/パーサー(520)(以下、「パーサー(520)」)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(515)はビデオデコーダ(510)の一部である。他のアプリケーションでは、それはビデオデコーダ(510)の外側にあり得る(描写せず)。さらに他のアプリケーションでは、例えば、ネットワークジッタに対抗するために、ビデオデコーダ(510)の外側にバッファメモリ(描写せず)があり、加えて、例えば、プレイアウトタイミングを処理するために、ビデオデコーダ(510)の内側に別のバッファメモリ(515)があり得る。受信機(531)が十分な帯域幅および制御可能性のストア/フォワードデバイスから、またはアイソシンクロナス(isosynchronous)ネットワークからデータを受信しているとき、バッファメモリ(515)は必要とされない場合があるか、または小さい可能性がある。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(515)は、必要とされる場合があり、比較的大きい可能性があり、有利なことに適応サイズであり得、オペレーティングシステムまたはビデオデコーダ(510)の外側の同様の要素(描写せず)に少なくとも部分的に実装されてもよい。
ビデオデコーダ(510)は、コード化ビデオシーケンスからシンボル(521)を復元するためにパーサー(520)を含んでもよい。これらのシンボルのカテゴリには、ビデオデコーダ(510)の動作を管理するために使用される情報、および潜在的に、電子デバイス(530)の不可欠な部分ではないが、図5に示されたように、電子デバイス(530)に結合することができるレンダリングデバイス(512)(例えば、表示画面)などのレンダリングデバイスを制御するための情報が含まれる。レンダリングデバイスのための制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)のパラメータセットフラグメント(描写せず)の形式であってもよい。パーサー(520)は、受け取ったコード化ビデオシーケンスを構文解析/エントロピー復号することができる。コード化ビデオシーケンスのコーディングは、ビデオコーディング技術または規格に従うことができ、文脈感度の有無にかかわらず、可変長コーディング、ハフマンコーディング、算術コーディングなどを含む様々な原理に従うことができる。パーサー(520)は、グループに対応する少なくとも1つのパラメータに基づいて、コード化ビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのための一組のサブグループパラメータを抽出することができる。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサー(520)はまた、コード化ビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトルなどの情報を抽出することができる。
パーサー(520)は、シンボル(521)を作成するために、バッファメモリ(515)から受け取ったビデオシーケンスに対してエントロピー復号/構文解析動作を実行することができる。
シンボル(521)の復元は、(ピクチャ間およびピクチャ内、ブロック間およびブロック内などの)コード化ビデオピクチャまたはその一部のタイプならびに他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットがどのように関与するかは、パーサー(520)によってコード化ビデオシーケンスから構文解析されたサブグループ制御情報によって制御することができる。パーサー(520)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、分かりやすくするために描写されていない。
すでに述べられた機能ブロック以外に、ビデオデコーダ(510)は、以下に記載されるように、概念的にいくつかの機能ユニットに細分化することができる。商業的制約の下で動作する実際の実装形態では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示された主題を記載するために、以下の機能ユニットへの概念的な細分化が適切である。
第1のユニットはスケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサー(520)からシンボル(521)として受け取る。スケーラ/逆変換ユニット(551)は、アグリゲータ(555)に入力することができるサンプル値を含むブロックを出力することができる。
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコード化ブロック、すなわち、以前に復元されたピクチャからの予測情報を使用していないが、現在ピクチャの以前に復元された部分からの予測情報を使用することができるブロックに関連する可能性がある。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)からフェッチされた周囲のすでに復元された情報を使用して、復元中のブロックと同じサイズおよび形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に復元された現在ピクチャおよび/または完全に復元された現在ピクチャをバッファリングする。アグリゲータ(555)は、場合によっては、サンプルごとに、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に追加する。
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコード化され、潜在的に動き補償されたブロックに関連する可能性がある。そのような場合、動き補償予測ユニット(553)は、参照ピクチャメモリ(557)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(521)に従ってフェッチされたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(555)によってスケーラ/逆変換ユニット(551)の出力に追加することができる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償予測ユニット(553)が予測サンプルをフェッチする参照ピクチャメモリ(557)内のアドレスは、例えば、X、Y、および参照ピクチャ成分を有することができるシンボル(521)の形式で動き補償予測ユニット(553)に利用可能な動きベクトルによって制御することができる。動き補償はまた、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリ(557)からフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどを含むことができる。
アグリゲータ(555)の出力サンプルは、ループフィルタユニット(556)において様々なループフィルタリング技法を受けることができる。ビデオ圧縮技術は、(コード化ビデオビットストリームとも呼ばれる)コード化ビデオシーケンスに含まれるパラメータによって制御され、パーサー(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるインループフィルタ技術を含むことができるが、コード化ピクチャまたはコード化ビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報に応答するだけでなく、以前に復元およびループフィルタリングされたサンプル値に応答することもできる。
ループフィルタユニット(556)の出力は、レンダリングデバイス(512)に出力されるだけでなく、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(557)に格納することができるサンプルストリームであり得る。
特定のコード化ピクチャは、完全に復元されると、将来の予測のために参照ピクチャとして使用することができる。例えば、現在ピクチャに対応するコード化ピクチャが完全に復元され、コード化ピクチャが参照ピクチャとして(例えば、パーサー(520)によって)識別されると、現在ピクチャバッファ(558)は、参照ピクチャメモリ(557)の一部になることができ、未使用の現在ピクチャバッファは、次のコード化ピクチャの復元を開始する前に再割当てすることができる。
ビデオデコーダ(510)は、ITU-T Rec.H.265などの規格における所定のビデオ圧縮技術に従って復号動作を実行することができる。コード化ビデオシーケンスがビデオ圧縮技術または規格の構文とビデオ圧縮技術において文書化されたプロファイルの両方を順守するという意味で、コード化ビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定された構文に準拠することができる。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、そのプロファイル下で使用するために利用可能な唯一のツールとしていくつかのツールを選択することができる。また、準拠するために必要なことは、コード化ビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルによって定義された範囲内にあることであり得る。場合によっては、レベルにより、最大ピクチャサイズ、最大フレームレート、(例えば、1秒当たりのメガサンプル単位で測定された)最大復元サンプルレート、最大参照ピクチャサイズなどが制限される。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD)の仕様、およびコード化ビデオシーケンス内でシグナリングされるHRDバッファ管理用のメタデータによってさらに制限され得る。
一実施形態では、受信機(531)は、符号化ビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、コード化ビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切に復号するために、かつ/または元のビデオデータをより正確に復元するために、ビデオデコーダ(510)によって使用されてもよい。追加のデータは、例えば、時間、空間、または信号ノイズ比(SNR)の拡張層、冗長スライス、冗長ピクチャ、順方向誤り訂正コードなどの形式であり得る。
図6は、本開示の一実施形態による、ビデオエンコーダ(603)のブロック図を示す。ビデオエンコーダ(603)は電子デバイス(620)に含まれる。電子デバイス(620)は送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例のビデオエンコーダ(403)の代わりに使用することができる。
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコード化されるビデオ画像を取り込むことができる(図6の例では電子デバイス(620)の一部ではない)ビデオソース(601)からビデオサンプルを受信することができる。別の例では、ビデオソース(601)は電子デバイス(620)の一部である。
ビデオソース(601)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 Y CrCB、RGB、…)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形式で、ビデオエンコーダ(603)によってコード化されるソースビデオシーケンスを提供することができる。メディアサービングシステムでは、ビデオソース(601)は、以前に準備されたビデオを格納するストレージデバイスであってもよい。ビデオ会議システムでは、ビデオソース(601)は、ビデオシーケンスとしてローカル画像情報を取り込むカメラであってもよい。ビデオデータは、順番に見たときに動きを伝える複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間配列として編成されてよく、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明はサンプルに焦点を当てる。
一実施形態によれば、ビデオエンコーダ(603)は、リアルタイムで、またはアプリケーションによって必要とされる任意の他の時間制約の下で、ソースビデオシーケンスのピクチャをコード化ビデオシーケンス(643)にコード化し圧縮することができる。適切なコーディング速度を強制することは、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下に記載される他の機能ユニットを制御し、他の機能ユニットに機能的に結合されている。分かりやすくするために、結合は描写されていない。コントローラ(650)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技法のラムダ値、…)、ピクチャサイズ、ピクチャグループ(GOP)のレイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関連する他の適切な機能を有するように構成することができる。
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループで動作するように構成される。単純化し過ぎた説明として、一例では、コーディングループは、(例えば、コード化される入力ピクチャ、および参照ピクチャに基づいて、シンボルストリームなどのシンボルを作成することに関与する)ソースコーダ(630)、ならびにビデオエンコーダ(603)に組み込まれた(ローカル)デコーダ(633)を含むことができる。デコーダ(633)は、(シンボルとコード化ビデオビットストリームとの間のいかなる圧縮も、開示された主題で考慮されるビデオ圧縮技術において可逆であるため)(リモート)デコーダも作成するのと同様の方式で、シンボルを復元してサンプルデータを作成する。復元されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダの場所(ローカルまたはリモート)に関係なくビット正確な結果につながるので、参照ピクチャメモリ(634)内のコンテンツも、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えれば、エンコーダの予測部分は、復号中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えば、チャネルエラーのために同期性が維持できない場合に結果として生じるドリフト)のこの基本原理は、いくつかの関連技術でも使用される。
「ローカル」デコーダ(633)の動作は、図5とともに上記で詳細にすでに記載されている、ビデオデコーダ(510)などの「リモート」デコーダの動作と同じであり得る。しかしながら、また図5を簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(645)およびパーサー(520)によるコード化ビデオシーケンスへのシンボルの符号化/復号は可逆であり得るので、バッファメモリ(515)を含むビデオデコーダ(510)のエントロピー復号部分、およびパーサー(520)は、ローカルデコーダ(633)に完全に実装されていない可能性がある。
一実施形態では、デコーダ内に存在する構文解析/エントロピー復号を除くデコーダ技術は、対応するエンコーダ内に同一または実質的に同一の機能形態で存在する。したがって、開示される主題はデコーダの動作に焦点を当てる。エンコーダ技術の説明は、包括的に記載されたデコーダ技術の逆であるため、省略することができる。特定の領域において、より詳細な説明が以下に提供される。
動作中、いくつかの例では、ソースコーダ(630)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つまたは複数の以前にコード化されたピクチャを参照して入力ピクチャを予測的にコード化する、動き補償予測コーディングを実行することができる。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャへの予測参照として選択され得る参照ピクチャのピクセルブロックとの間の差をコード化する。
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコード化ビデオデータを復号することができる。コーディングエンジン(632)の動作は、有利なことに、非可逆プロセスであってもよい。コード化ビデオデータが(図6には示されていない)ビデオデコーダで復号され得るとき、復元されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(633)は、参照ピクチャに対してビデオデコーダによって実行され得る復号プロセスを複製し、復元された参照ピクチャが参照ピクチャメモリ(634)に格納されるようにすることができる。このようにして、ビデオエンコーダ(603)は、(送信エラーがない)遠端ビデオデコーダによって取得される復元された参照ピクチャとして共通のコンテンツを有する、復元された参照ピクチャのコピーをローカルに格納することができる。
予測器(635)は、コーディングエンジン(632)のための予測検索を実行することができる。すなわち、コード化される新しいピクチャの場合、予測器(635)は、新しいピクチャのための適切な予測参照として役立つことができる、(候補参照ピクセルブロックとしての)サンプルデータまたは参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを求めて、参照ピクチャメモリ(634)を検索することができる。予測器(635)は、適切な予測参照を見つけるために、ピクセルブロックごとにサンプルブロックに対して動作することができる。場合によっては、予測器(635)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(634)に格納された複数の参照ピクチャから引き出された予測参照を有することができる。
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(630)のコーディング動作を管理することができる。
すべての前述の機能ユニットの出力は、エントロピーコーダ(645)内でエントロピーコーディングを受けることができる。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディングなどの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルをコード化ビデオシーケンスに変換する。
送信機(640)は、エントロピーコーダ(645)によって作成されたコード化ビデオシーケンスをバッファリングして、通信チャネル(660)を介した送信の準備をすることができ、通信チャネル(660)は、符号化ビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオエンコーダ(603)からのコード化ビデオデータを、送信される他のデータ、例えば、コード化オーディオデータおよび/または補助データストリーム(ソースは図示されていない)とマージすることができる。
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理することができる。コーディング中に、コントローラ(650)は、各コード化ピクチャに特定のコード化ピクチャタイプを割り当てることができ、それは、それぞれのピクチャに適用され得るコーディング技法に影響を及ぼす場合がある。例えば、ピクチャは、しばしば、以下のピクチャタイプのうちの1つとして割り当てられてもよい。
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内のいかなる他のピクチャも使用せずにコード化および復号され得るピクチャであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)ピクチャを含む、様々なタイプのイントラピクチャを可能にする。当業者は、Iピクチャのそれらの変形形態、ならびにそれらのそれぞれの用途および特徴を認識している。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、多くとも1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コード化および復号され得るピクチャであり得る。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、多くとも2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して、コード化および復号され得るピクチャであり得る。同様に、複数の予測ピクチャは、単一ブロックの復元のために3つ以上の参照ピクチャおよび関連するメタデータを使用することができる。
ソースピクチャは、通常、複数のサンプルブロック(例えば、各々4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分化され、ブロックごとにコード化されてもよい。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割当てによって決定されるように、他の(すでにコード化された)ブロックを参照して予測的にコード化されてもよい。例えば、Iピクチャのブロックは、非予測的にコード化されてもよいか、またはそれらは、同じピクチャのすでにコード化されたブロックを参照して予測的にコード化されてもよい(空間予測もしくはイントラ予測)。Pピクチャのピクセルブロックは、1つの以前にコード化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的にコード化されてもよい。Bピクチャのブロックは、1つまたは2つの以前にコード化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的にコード化されてもよい。
ビデオエンコーダ(603)は、ITU-T Rec.H.265などの所定のビデオコーディング技術または規格に従ってコーディング動作を実行することができる。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間および空間の冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行することができる。したがって、コード化されたビデオデータは、使用されているビデオコーディング技術または規格によって指定された構文に準拠することができる。
一実施形態では、送信機(640)は、符号化されたビデオとともに追加のデータを送信することができる。ソースコーダ(630)は、コード化ビデオシーケンスの一部としてそのようなデータを含んでもよい。追加のデータは、時間/空間/SNR拡張層、冗長なピクチャおよびスライスなどの他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含んでもよい。
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)として取り込まれてもよい。(しばしば、イントラ予測と省略される)イントラピクチャ予測は、所与のピクチャ内の空間の相関関係を利用し、インターピクチャ予測は、ピクチャ間の(時間または他の)相関関係を利用する。一例では、現在ピクチャと呼ばれる、符号化/復号中の特定のピクチャがブロックに分割される。現在ピクチャ内のブロックが、以前にコード化され、ビデオ内にまだバッファリングされている参照ピクチャ内の参照ブロックに類似しているとき、現在ピクチャ内のブロックは、動きベクトルと呼ばれるベクトルによってコード化することができる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3の次元を有することができる。
いくつかの実施形態では、インターピクチャ予測において双予測技法を使用することができる。双予測技法によれば、両方ともビデオ内の現在ピクチャよりも復号順序で前にある(が、それぞれ、表示順序で過去および将来であり得る)第1の参照ピクチャおよび第2の参照ピクチャなどの2つの参照ピクチャが使用される。現在ピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルによってコード化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックの組合せによって予測することができる。
さらに、コーディング効率を改善するために、インターピクチャ予測においてマージモード技法を使用することができる。
本開示のいくつかの実施形態によれば、インターピクチャ予測およびイントラピクチャ予測などの予測は、ブロックの単位で実行される。例えば、HEVC規格によれば、ビデオピクチャのシーケンス内のピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルなどの同じサイズを有する。一般に、CTUは3つのコーディングツリーブロック(CTB)を含み、それらは1つの輝度CTBおよび2つの彩度CTBである。各CTUは、1つまたは複数のコーディングユニット(CU)に再帰的に四分木分割することができる。例えば、64×64ピクセルのCTUは、1つの64×64ピクセルのCU、または4つの32×32ピクセルのCU、または16個の16×16ピクセルのCUに分割することができる。一例では、インター予測タイプまたはイントラ予測タイプなどのCUの予測タイプを決定するために、各CUが分析される。CUは、時間および/または空間の予測可能性に応じて、1つまたは複数の予測ユニット(PU)に分割される。一般に、各PUは、1つの輝度予測ブロック(PB)および2つの彩度PBを含む。一実施形態では、コーディング(符号化/復号)における予測動作は、予測ブロックの単位で実行される。予測ブロックの一例として輝度予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのピクセルの値(例えば、輝度値)の行列を含む。
図7は、本開示の別の実施形態による、ビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックをコード化ビデオシーケンスの一部であるコード化ピクチャに符号化するように構成される。一例では、ビデオエンコーダ(703)は、図4の例のビデオエンコーダ(403)の代わりに使用される。
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプルの予測ブロックなどの処理ブロック用のサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、例えば、レート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最良にコード化されるかどうかを判定する。処理ブロックがイントラモードでコード化されるとき、ビデオエンコーダ(703)は、イントラ予測技法を使用して、処理ブロックをコード化ピクチャに符号化することができ、処理ブロックがインターモードまたは双予測モードでコード化されるとき、ビデオエンコーダ(703)は、それぞれ、インター予測技法または双予測技法を使用して、処理ブロックをコード化ピクチャに符号化することができる。特定のビデオコーディング技術では、マージモードは、予測器の外側のコード化された動きベクトル成分の利点がない、動きベクトルが1つまたは複数の動きベクトル予測器から導出されるインターピクチャ予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためにモード決定モジュール(図示せず)などの他の構成要素を含む。
図7の例では、ビデオエンコーダ(703)は、図7に示されたように一緒に結合されたインターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、汎用コントローラ(721)、およびエントロピーエンコーダ(725)を含む。
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つまたは複数の参照ブロック(例えば、前のピクチャおよび後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技法による冗長情報、動きベクトル、マージモード情報の記述)を生成し、任意の適切な技法を使用して、インター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号された復号参照ピクチャである。
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じピクチャ内のすでにコード化されたブロックと比較し、変換後に量子化係数を生成し、場合によっては、イントラ予測情報(例えば、1つまたは複数のイントラ符号化技法によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)はまた、同じピクチャ内のイントラ予測情報および参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
汎用コントローラ(721)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(703)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(721)は、ブロックのモードを決定し、モードに基づいてスイッチ(726)に制御信号を提供する。例えば、モードがイントラモードであるとき、汎用コントローラ(721)は、スイッチ(726)を制御して残差計算器(723)が使用するためのイントラモード結果を選択し、エントロピーエンコーダ(725)を制御してイントラ予測情報を選択し、ビットストリームにイントラ予測情報を含め、モードがインターモードであるとき、汎用コントローラ(721)は、スイッチ(726)を制御して残差計算器(723)が使用するためのインター予測結果を選択し、エントロピーエンコーダ(725)を制御してインター予測情報を選択し、ビットストリームにインター予測情報を含める。
残差計算器(723)は、受信ブロックと、イントラエンコーダ(722)またはインターエンコーダ(730)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データを符号化して変換係数を生成するために、残差データに基づいて動作するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化変換係数を取得するために量子化処理を受ける。様々な実施形態では、ビデオエンコーダ(703)は残差デコーダ(728)も含む。残差デコーダ(728)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(722)およびインターエンコーダ(730)によって適切に使用することができる。例えば、インターエンコーダ(730)は、復号された残差データおよびインター予測情報に基づいて復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データおよびイントラ予測情報に基づいて復号されたブロックを生成することができる。復号されたブロックは、復号されたピクチャを生成するために適切に処理され、復号されたピクチャは、メモリ回路(図示せず)にバッファリングされ、いくつかの例では参照ピクチャとして使用することができる。
エントロピーエンコーダ(725)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC規格などの適切な規格に従って様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(725)は、ビットストリーム内に汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報を含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックをコーディングするときに残差情報が存在しないことに留意されたい。
図8は、本開示の別の実施形態による、ビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コード化ビデオシーケンスの一部であるコード化ピクチャを受信し、コード化ピクチャを復号して復元されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、図4の例のビデオデコーダ(410)の代わりに使用される。
図8の例では、ビデオデコーダ(810)は、図8に示されたように一緒に結合されたエントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、復元モジュール(874)、およびイントラデコーダ(872)を含む。
エントロピーデコーダ(871)は、コード化ピクチャから、コード化ピクチャが構成される構文要素を表す特定のシンボルを復元するように構成することができる。そのようなシンボルは、例えば、(例えば、イントラモード、インターモード、双予測モード、マージサブモードまたは別のサブモードのうちの後者2つなどの)ブロックがコード化されるモード、それぞれ、イントラデコーダ(872)またはインターデコーダ(880)による予測に使用される特定のサンプルまたはメタデータを識別することができる(例えば、イントラ予測情報またはインター予測情報などの)予測情報、例えば、量子化変換係数の形態の残差情報などを含むことができる。一例では、予測モードがインターモードまたは双予測モードであるとき、インター予測情報はインターデコーダ(880)に提供され、予測タイプがイントラ予測タイプであるとき、イントラ予測情報はイントラデコーダ(872)に提供される。残差情報は逆量子化を受けることができ、残差デコーダ(873)に提供される。
インターデコーダ(880)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
イントラデコーダ(872)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
残差デコーダ(873)は、逆量子化を実行して逆量子化変換係数を抽出し、逆量子化変換係数を処理して、残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、(量子化器パラメータ(QP)を含めるために)特定の制御情報を必要とする場合があり、その情報は、エントロピーデコーダ(871)によって提供される場合がある(これは、少量の制御情報のみである可能性があるので、データパスは描写されていない)。
復元モジュール(874)は、空間領域において、残差デコーダ(873)によって出力された残差と(場合によってはインター予測モジュールまたはイントラ予測モジュールによって出力された)予測結果を組み合わせて、復元されたピクチャの一部であり得る復元されたブロックを形成するように構成され、復元されたピクチャは復元されたビデオの一部であり得る。見栄えを改善するために、デブロッキング動作などの他の適切な動作を実行することができることに留意されたい。
ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、任意の適切な技法を使用して実装することができることに留意されたい。一実施形態では、ビデオエンコーダ(403)、(603)、および(703)、ならびにビデオデコーダ(410)、(510)、および(810)は、1つまたは複数の集積回路を使用して実装することができる。別の実施形態では、ビデオエンコーダ(403)、(603)、および(603)、ならびにビデオデコーダ(410)、(510)、および(810)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実装することができる。
本開示は、人工知能(AI)ベースのニューラル画像圧縮(NIC)などのニューラル画像圧縮技術および/またはニューラルビデオ圧縮技術に関連するビデオコーディング技術を記載する。本開示の態様は、ニューラルネットワークに基づくエンドツーエンド(E2E)最適化画像コーディングフレームワークのためのポストフィルタリングを伴うコンテンツ適応型オンライン訓練NIC方法などの、NICにおけるコンテンツ適応型オンライン訓練を含む。ニューラルネットワーク(NN)は、深層ニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN)などの人工ニューラルネットワーク(ANN)を含むことができる。
一実施形態では、関連するハイブリッドビデオコーデックは、全体として最適化されることが困難である。例えば、ハイブリッドビデオコーデックにおける単一のモジュール(例えば、エンコーダ)の改善は、全体的な性能におけるコーディング利得をもたらさない場合がある。NNベースのビデオコーディングフレームワークでは、学習プロセスまたは訓練プロセス(例えば、機械学習プロセス)を実行することによって最終目的(例えば、本開示に記載されたレート歪み損失Lなどのレート歪み性能)を改善するために、入力から出力まで異なるモジュールを一緒に最適化することができ、したがってE2E最適化NICが得られる。
例示的なNICフレームワークまたはシステムは、以下のように記載することができる。NICフレームワークは、ニューラルネットワークエンコーダ(例えば、DNNなどのニューラルネットワークに基づくエンコーダ)への入力として入力ブロックxを使用して、例えば、記憶および送信の目的でコンパクトにすることができる圧縮表現(例えば、コンパクトな表現)
Figure 2023532397000002
を計算することができる。ニューラルネットワークデコーダ(例えば、DNNなどのニューラルネットワークに基づくデコーダ)は、入力として圧縮表現
Figure 2023532397000003
を使用して、(復元ブロックとも呼ばれる)出力ブロック
Figure 2023532397000004
を復元することができる。様々な実施形態では、入力ブロックxおよび復元ブロック
Figure 2023532397000005
は空間領域内にあり、圧縮表現
Figure 2023532397000006
は空間領域とは異なる領域内にある。いくつかの例では、圧縮表現
Figure 2023532397000007
は量子化され、エントロピーコード化される。
いくつかの例では、NICフレームワークは、変分オートエンコーダ(VAE)構造を使用することができる。VAE構造では、ニューラルネットワークエンコーダは、ニューラルネットワークエンコーダへの入力として入力ブロックx全体を直接使用することができる。入力ブロックx全体は、ブラックボックスとして機能して圧縮表現
Figure 2023532397000008
を計算する一組のニューラルネットワーク層を通過することができる。圧縮表現
Figure 2023532397000009
は、ニューラルネットワークエンコーダの出力である。ニューラルネットワークデコーダは、入力として圧縮表現
Figure 2023532397000010
全体を取得することができる。圧縮表現
Figure 2023532397000011
は、別のブラックボックスとして機能して圧縮表現
Figure 2023532397000012
を計算する別の組のニューラルネットワーク層を通過することができる。レート歪み(R-D)損失
Figure 2023532397000013
は、復元ブロック
Figure 2023532397000014
の歪み損失
Figure 2023532397000015
と、コンパクトな表現
Figure 2023532397000016
のビット消費量Rとの間のトレードオフを実現するように、トレードオフハイパーパラメータλを用いて最適化することができる。
Figure 2023532397000017
ニューラルネットワーク(例えば、ANN)は、タスク固有のプログラミングなしに、例からタスクを実行することを学習することができる。ANNは、接続されたノードまたは人工ニューロンで構成することができる。ノード間の接続は、第1のノードから第2のノード(例えば、受信ノード)に信号を送信することができ、信号は、接続用の重み係数によって示すことができる重みによって修正することができる。受信ノードは、受信ノードに信号を送信するノードからの信号(すなわち、受信ノード向けの入力信号)を処理し、次いで、入力信号に関数を適用することによって出力信号を生成することができる。関数は、線形関数であり得る。一例では、出力信号は入力信号の加重和である。一例では、出力信号は、バイアス項によって示すことができるバイアスによってさらに修正され、したがって、出力信号は、バイアスと入力信号の加重和の和である。関数は、例えば、入力信号の加重和またはバイアスと加重和の和に対する非線形演算を含むことができる。出力信号は、受信ノードに接続されたノード(下流ノード)に送信することができる。ANNは、パラメータ(例えば、接続の重みおよび/またはバイアス)によって表現または構成することができる。重みおよび/またはバイアスは例を用いてANNを訓練することによって取得することができ、重みおよび/またはバイアスは反復的に調整することができる。決定された重みおよび/または決定されたバイアスで構成された訓練されたANNは、タスクを実行するために使用することができる。
ANN内のノードは、任意の適切なアーキテクチャにおいて編成することができる。様々な実施形態では、ANN内のノードは、ANNへの入力信号を受信する入力層と、ANNからの出力信号を出力する出力層とを含む層内で編成される。一実施形態では、ANNは、入力層と出力層との間の隠れ層などの層をさらに含む。異なる層は、異なる層のそれぞれの入力に対して異なる種類の変換を実行することができる。信号は、入力層から出力層に移動することができる。
入力層と出力層との間に複数の層を有するANNは、DNNと呼ぶことができる。一実施形態では、DNNは、データがループバックすることなく入力層から出力層に流れるフィードフォワードネットワークである。一例では、DNNは、1つの層内の各ノードが次の層内のすべてのノードに接続される完全接続ネットワークである。一実施形態では、DNNは、データが任意の方向に流れることができる再帰型ニューラルネットワーク(RNN)である。一実施形態では、DNNはCNNである。
CNNは、入力層、出力層、および入力層と出力層との間の隠れ層を含むことができる。隠れ層は、2次元(2D)畳み込みなどの畳み込みを実行する(例えば、エンコーダ内で使用される)畳み込み層を含むことができる。一実施形態では、畳み込み層で実行される2D畳み込みは、(5×5行列などのフィルタまたはチャネルとも呼ばれる)畳み込みカーネルと、畳み込み層への入力信号(例えば、2Dブロック、256×256行列などの2D行列)との間にある。様々な例では、畳み込みカーネルの次元(例えば、5×5)は、入力信号の次元(例えば、256×256)よりも小さい。したがって、畳み込みカーネルによってカバーされる入力信号(例えば、256×256行列)内の一部分(例えば、5×5の領域)は、入力信号の領域(例えば、256×256の領域)よりも小さく、したがって、次の層内のそれぞれのノードにおける受容野と呼ぶことができる。
畳み込みの間、畳み込みカーネルと入力信号内の対応する受容野の内積が計算される。したがって、畳み込みカーネルの各要素は、受容野内の対応するサンプルに適用される重みであり、したがって、畳み込みカーネルは重みを含む。例えば、5×5行列によって表される畳み込みカーネルは、25個の重みを有する。いくつかの例では、畳み込み層の出力信号にバイアスが印加され、出力信号は内積とバイアスの和に基づく。
畳み込みカーネルは、ストライドと呼ばれるサイズだけ入力信号(例えば、2D行列)に沿ってシフトすることができ、したがって、畳み込み演算は、特徴マップまたは活性化マップ(例えば、別の2D行列)を生成し、それは次にCNNにおける次の層の入力に寄与する。例えば、入力信号は256×256個のサンプルを有する2Dブロックであり、ストライドは2サンプル(例えば、2のストライド)である。2のストライドの場合、畳み込みカーネルは、X方向(例えば、水平方向)および/またはY方向(例えば、垂直方向)に沿って2サンプルだけシフトする。
複数の畳み込みカーネルは、それぞれ、複数の特徴マップを生成するために同じ畳み込み層内で入力信号に適用することができ、各特徴マップは入力信号の特定の特徴を表すことができる。一般に、各畳み込みカーネルがM×M個のサンプルをもつN個のチャネル(すなわち、N個の畳み込みカーネル)を有する畳み込み層、およびストライドSは、Conv:M×M cN sSとして指定することができる。例えば、各畳み込みカーネルが5×5個のサンプルをもつ192個のチャネルを有する畳み込み層、および2のストライドは、Conv:5×5 c192 s2として指定される。隠れ層は、2D逆畳み込みなどの逆畳み込みを実行する(例えば、デコーダ内で使用される)逆畳み込み層を含むことができる。逆畳み込みは、畳み込みの反対である。各逆畳み込みカーネルが5×5個のサンプルをもつ192個のチャネルを有する逆畳み込み層、および2のストライドは、DeConv:5×5 c192 s2として指定される。
様々な実施形態では、CNNは以下の利点を有する。CNNにおける学習可能なパラメータ(すなわち、訓練されるパラメータ)の数は、フィードフォワードDNNなどのDNNにおける学習可能なパラメータの数よりも大幅に小さくすることができる。CNNでは、比較的大きい数のノードが同じフィルタ(例えば、同じ重み)および(バイアスが使用される場合の)同じバイアスを共有することができ、したがって、同じフィルタを共有するすべての受容野にわたって単一のバイアスおよび単一の重みベクトルを使用することができるので、メモリフットプリントを低減することができる。例えば、100×100個のサンプルを有する入力信号の場合、5×5個のサンプルをもつ畳み込みカーネルを有する畳み込み層は、25個の学習可能なパラメータ(例えば、重み)を有する。バイアスが使用される場合、1つのチャネルは、26個の学習可能なパラメータ(例えば、25個の重みおよび1つのバイアス)を使用する。畳み込み層がN個のチャネルを有する場合、学習可能なパラメータの総数は26×N個である。一方、DNNにおける完全接続層の場合、次の層内のノードごとに100×100(すなわち、10000)個の重みが使用される。次の層がL個のノードを有する場合、学習可能なパラメータの総数は10000×L個である。
CNNは、プーリング層、1つの層内のすべてのノードを別の層内のすべてのノードに接続することができる完全接続層、正規化層などの、1つまたは複数の他の層をさらに含むことができる。CNN内の層は、任意の適切な順序および任意の適切なアーキテクチャ(例えば、フィードフォワードアーキテクチャ、再帰型アーキテクチャ)で配置することができる。一例では、畳み込み層の後に、プーリング層、完全接続層、正規化層などの他の層が続く。
プーリング層は、1つの層にある複数のノードからの出力を次の層内の単一のノードに結合することによってデータの次元を削減するために使用することができる。入力として特徴マップを有するプーリング層に対するプーリング動作が以下に記載される。説明は、他の入力信号に適切に適合させることができる。特徴マップは、サブ領域(例えば、矩形サブ領域)に分割することができ、それぞれのサブ領域内の特徴は、例えば、平均プーリングにおける平均値または最大プーリングにおける最大値を取ることにより、単一の値に単独でダウンサンプリング(またはプーリング)することができる。
プーリング層は、ローカルプーリング、グローバルプーリング、最大プーリング、平均プーリングなどのプーリングを実行することができる。プーリングは非線形ダウンサンプリングの一形態である。ローカルプーリングは、特徴マップ内の少数のノード(例えば、2×2ノードなどのノードのローカルクラスタ)を組み合わせる。グローバルプーリングは、例えば、特徴マップのすべてのノードを組み合わせることができる。
プーリング層は、表現のサイズを縮小することができ、したがって、CNNにおけるパラメータの数、メモリフットプリント、および計算量を削減することができる。一例では、プーリング層は、CNN内の連続する畳み込み層の間に挿入される。一例では、プーリング層の後に、整流線形ユニット(ReLU)層などの活性化関数が続く。一例では、プーリング層は、CNN内の連続する畳み込み層の間で省略される。
正規化層は、ReLU、漏洩ReLU、一般化分割正規化(GDN)、逆GDN(IGDN)などであり得る。ReLUは、非飽和活性化関数を適用して、負の値を0に設定することにより、特徴マップなどの入力信号から負の値を除去することができる。漏洩ReLUは、平坦な勾配(例えば、0)の代わりに負の値に対して小さい勾配(例えば、0.01)を有することができる。したがって、値xが0より大きい場合、漏洩ReLUからの出力はxである。そうでない場合、漏洩ReLUからの出力は、値xに小さい勾配(例えば、0.01)を乗算したものである。一例では、勾配は訓練前に決定され、したがって訓練中に学習されない。
DNNベースまたはCNNベースの画像圧縮方法などのNNベースの画像圧縮方法では、画像全体を直接符号化する代わりに、ブロックベースまたはブロック単位のコーディングメカニズムは、FVCなどのDNNベースのビデオコーディング規格で画像を圧縮するのに有効であり得る。画像全体は、同じ(または様々な)サイズのブロックに分割することができ、ブロックは個別に圧縮することができる。一実施形態では、画像は、等しいサイズまたは等しくないサイズを有するブロックに分割されてもよい。画像の代わりに分割されたブロックを圧縮することができる。図9Aは、本開示の一実施形態による、ブロック単位画像コーディングの一例を示す。画像(980)は、ブロック、例えば、ブロック(981)~(996)に分割することができる。ブロック(981)~(996)は、例えば、走査順に従って圧縮することができる。図9Aに示された例では、ブロック(981)~(989)はすでに圧縮されており、ブロック(990)~(996)が圧縮される。
画像はブロックとして扱うことができる。一実施形態では、画像はブロックに分割されることなく圧縮される。画像全体は、E2E NICフレームワークの入力であり得る。
以下の説明では、簡潔にするために、画像またはブロックを指すために信号が使用される。したがって、入力信号は入力画像または入力ブロックを指すことができ、符号化信号は符号化画像または符号化ブロックを指すことができ、復元信号は復元画像または復元ブロックを指すことができる。
図9Bは、本開示の一実施形態による、例示的なNICフレームワーク(900)(例えば、NICシステム)を示す。NICフレームワーク(900)は、DNNおよび/またはCNNなどのニューラルネットワークに基づくことができる。NICフレームワーク(900)は、信号(例えば、ブロックおよび/または画像)を圧縮(例えば、符号化)し、圧縮信号(例えば、ブロックおよび/または画像)(例えば、符号化ブロックおよび/または画像)を解凍(例えば、復号または復元)するために使用することができる。NICフレームワーク(900)は、ニューラルネットワークを使用して実装される2つのサブニューラルネットワーク、第1のサブNN(951)および第2のサブNN(952)を含むことができる。
第1のサブNN(951)はオートエンコーダに似ることができ、入力信号(例えば、入力ブロックまたは入力画像)xの圧縮信号(例えば、圧縮ブロックまたは圧縮画像)
Figure 2023532397000018
を生成し、圧縮信号
Figure 2023532397000019
を解凍して復元信号(例えば、復元ブロックまたは復元画像)
Figure 2023532397000020
を取得するように訓練することができる。第1のサブNN(951)は、メインエンコーダニューラルネットワーク(またはメインエンコーダネットワーク)(911)、量子化器(912)、エントロピーエンコーダ(913)、エントロピーデコーダ(914)、およびメインデコーダニューラルネットワーク(またはメインエンコーダネットワーク)(915)などの、複数の構成要素(またはモジュール)を含むことができる。図9Bを参照すると、メインエンコーダネットワーク(911)は、入力信号x(例えば、圧縮または符号化される信号)から潜像または潜在的表現yを生成することができる。一例では、メインエンコーダネットワーク(911)はCNNを使用して実装される。潜在的表現yと入力信号xとの間の関係は、式2を使用して記述することができる。
y=f1(x;θ1) 式2
ここで、パラメータθ1は、メインエンコーダネットワーク(911)内の畳み込みカーネルで使用される重みおよび(メインエンコーダネットワーク(911)内でバイアスが使用される場合の)バイアスなどのパラメータを表す。
潜在的表現yは、量子化潜像
Figure 2023532397000021
を生成するために量子化器(912)を使用して量子化することができる。量子化潜像
Figure 2023532397000022
は、例えば、エントロピーエンコーダ(913)による可逆圧縮を使用して圧縮されて、入力信号xの圧縮表現
Figure 2023532397000023
である圧縮信号(例えば、符号化信号)
Figure 2023532397000024
(931)を生成することができる。エントロピーエンコーダ(913)は、ハフマンコーディング、算術コーディングなどのエントロピーコーディング技法を使用することができる。一例では、エントロピーエンコーダ(913)は算術符号化を使用し、算術エンコーダである。一例では、符号化信号(931)はコード化ビットストリーム内で送信される。
符号化信号(931)は、エントロピーデコーダ(914)によって解凍(例えば、エントロピー復号)されて出力を生成することができる。エントロピーデコーダ(914)は、エントロピーエンコーダ(913)で使用されるエントロピー符号化技法に対応するハフマンコーディング、算術コーディングなどのエントロピーコーディング技法を使用することができる。一例では、エントロピーデコーダ(914)は算術復号を使用し、算術デコーダである。一例では、エントロピーエンコーダ(913)で可逆圧縮が使用され、エントロピーデコーダ(914)で可逆解凍が使用され、符号化信号(931)の送信などによるノイズは割愛可能であり、エントロピーデコーダ(914)からの出力は量子化潜像
Figure 2023532397000025
である。
メインデコーダネットワーク(915)は、量子化潜像
Figure 2023532397000026
を復号して復元信号
Figure 2023532397000027
を生成することができる。一例では、メインデコーダネットワーク(915)はCNNを使用して実装される。復元信号
Figure 2023532397000028
(すなわち、メインデコーダネットワーク(915)の出力)と量子化潜像
Figure 2023532397000029
を復号して復元信号
(すなわち、メインデコーダネットワーク(915)の入力)との間の関係は、式3を使用して記述することができる。
Figure 2023532397000030
ここで、パラメータθ2は、メインデコーダネットワーク(915)内の畳み込みカーネルで使用される重みおよび(メインデコーダネットワーク(915)内でバイアスが使用される場合の)バイアスなどのパラメータを表す。したがって、第1のサブNN(951)は、入力信号xを圧縮(例えば、符号化)して符号化信号(931)を取得し、符号化信号(931)を解凍(例えば、復号)して復元信号
Figure 2023532397000031
を取得することができる。復元信号
Figure 2023532397000032
は、量子化器(912)によって導入される量子化損失に起因して入力信号xとは異なる可能性がある。
第2のサブNN(952)は、エントロピーコーディングに使用される量子化潜像
Figure 2023532397000033
にわたってエントロピーモデル(例えば、事前確率モデル)を学習することができる。したがって、エントロピーモデルは、入力信号xに依存する条件付きエントロピーモデル、例えば、ガウス混合モデル(GMM)、ガウススケールモデル(GSM)であり得る。第2のサブNN(952)は、コンテキストモデルNN(916)、エントロピーパラメータNN(917)、ハイパーエンコーダ(921)、量子化器(922)、エントロピーエンコーダ(923)、エントロピーデコーダ(924)、およびハイパーデコーダ(925)を含むことができる。コンテキストモデルNN(916)で使用されるエントロピーモデルは、潜像(例えば、量子化潜像
Figure 2023532397000034
)上の自己回帰モデルであり得る。一例では、ハイパーエンコーダ(921)、量子化器(922)、エントロピーエンコーダ(923)、エントロピーデコーダ(924)、およびハイパーデコーダ(925)は、ハイパーニューラルネットワーク(例えば、ハイパー事前NN)を形成する。ハイパーニューラルネットワークは、コンテキストベースの予測を補正するのに有用な情報を表すことができる。コンテキストモデルNN(916)およびハイパーニューラルネットワークからのデータは、エントロピーパラメータNN(917)によって組み合わせることができる。エントロピーパラメータNN(917)は、条件付きガウスエントロピーモデル(例えば、GMM)などのエントロピーモデル用の平均パラメータおよびスケールパラメータなどのパラメータを生成することができる。
図9Bを参照すると、エンコーダ側では、量子化器(912)からの量子化潜像
Figure 2023532397000035
がコンテキストモデルNN(916)に供給される。デコーダ側では、エントロピーデコーダ(914)からの量子化潜像
Figure 2023532397000036
がコンテキストモデルNN(916)に供給される。コンテキストモデルNN(916)は、CNNなどのニューラルネットワークを使用して実装することができる。コンテキストモデルNN(916)は、コンテキストモデルNN(916)に利用可能な量子化潜像
Figure 2023532397000037
であるコンテキスト
Figure 2023532397000038
に基づいて出力ocm,iを生成することができる。コンテキスト
Figure 2023532397000039
は、エンコーダ側で以前に量子化された潜像、またはデコーダ側で以前にエントロピー復号された量子化潜像を含むことができる。コンテキストモデルNN(916)の出力ocm,iと入力(例えば、
Figure 2023532397000040
)との間の関係は、式4を使用して記述することができる。
Figure 2023532397000041
ここで、パラメータθ3は、コンテキストモデルNN(916)内の畳み込みカーネルで使用される重みおよび(コンテキストモデルNN(916)内でバイアスが使用される場合の)バイアスなどのパラメータを表す。
コンテキストモデル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)を条件付けるために使用される平均パラメータおよびスケールパラメータなどのパラメータを含む。図9Bを参照すると、エントロピーモデル(例えば、条件付きエントロピーモデル)は、それぞれ、エントロピーコーディングおよびエントロピー復号において、エントロピーエンコーダ(913)およびエントロピーデコーダ(914)によって使用することができる。
第2のサブNN(952)は後述することができる。潜像yは、ハイパーエンコーダ(921)に供給されて、ハイパー潜像zを生成することができる。一例では、ハイパーエンコーダ(921)は、CNNなどのニューラルネットワークを使用して実装される。ハイパー潜像zと潜像yとの間の関係は、式6を使用して記述することができる。
z=f5(y;θ5) 式6
ここで、パラメータθ5は、ハイパーエンコーダ(921)内の畳み込みカーネルで使用される重みおよび(ハイパーエンコーダ(921)内でバイアスが使用される場合の)バイアスなどのパラメータを表す。
ハイパー潜像zは、量子化器(922)によって量子化されて、量子化潜像
Figure 2023532397000042
を生成する。量子化潜像
Figure 2023532397000043
は、例えば、エントロピーエンコーダ(923)による可逆圧縮を使用して圧縮されて、ハイパーニューラルネットワークからの符号化ビット(932)などのサイド情報を生成することができる。エントロピーエンコーダ(923)は、ハフマンコーディング、算術コーディングなどのエントロピーコーディング技法を使用することができる。一例では、エントロピーエンコーダ(923)は算術符号化を使用し、算術エンコーダである。一例では、符号化ビット(932)などのサイド情報は、例えば、符号化信号(931)と一緒にコード化ビットストリーム内で送信することができる。
符号化ビット(932)などのサイド情報は、エントロピーデコーダ(924)によって解凍(例えば、エントロピー復号)されて出力を生成することができる。エントロピーデコーダ(924)は、ハフマンコーディング、算術コーディングなどのエントロピーコーディング技法を使用することができる。一例では、エントロピーデコーダ(924)は算術復号を使用し、算術デコーダである。一例では、エントロピーエンコーダ(923)で可逆圧縮が使用され、エントロピーデコーダ(924)で可逆解凍が使用され、サイド情報の送信などによるノイズは割愛可能であり、エントロピーデコーダ(924)からの出力は量子化潜像
Figure 2023532397000044
である。ハイパーデコーダ(925)は、量子化潜像
Figure 2023532397000045
を復号して出力ohcを生成することができる。出力ohcと量子化潜像
Figure 2023532397000046
との間の関係は、式7を使用して記述することができる。
Figure 2023532397000047
ここで、パラメータθ6は、ハイパーデコーダ(925)内の畳み込みカーネルで使用される重みおよび(ハイパーデコーダ(925)内でバイアスが使用される場合の)バイアスなどのパラメータを表す。
上述されたように、圧縮ビットまたは符号化ビット(932)をサイド情報としてコード化ビットストリームに追加することができ、それにより、エントロピーデコーダ(914)が条件付きエントロピーモデルを使用することが可能になる。したがって、エントロピーモデルは、信号依存(例えば、ブロック依存または画像依存)かつ空間的に適応可能であり得、したがって、固定エントロピーモデルよりも正確であり得る。
NICフレームワーク(900)は、例えば、図9Bに示された1つもしくは複数の構成要素を省略し、図9Bに示された1つもしくは複数の構成要素を修正し、かつ/または図9Bに示されていない1つもしくは複数の構成要素を含むように適切に適合させることができる。一例では、固定エントロピーモデルを使用するNICフレームワークは、第1のサブNN(951)を含み、第2のサブNN(952)を含まない。一例では、NICフレームワークは、エントロピーエンコーダ(923)およびエントロピーデコーダ(924)を除くNICフレームワーク(900)内の構成要素を含む。
一実施形態では、図9Bに示されたNICフレームワーク(900)内の1つまたは複数の構成要素は、CNNなどのニューラルネットワークを使用して実装される。NICフレームワーク(例えば、NICフレームワーク(900))内の各NNベースの構成要素(例えば、メインエンコーダネットワーク(911)、メインデコーダネットワーク(915)、コンテキストモデルNN(916)、エントロピーパラメータNN(917)、ハイパーエンコーダ(921)、またはハイパーデコーダ(925))は、(例えば、層の任意の適切な組合せを有する)任意の適切なアーキテクチャを含み、任意の適切なタイプのパラメータ(例えば、重み、バイアス、重みとバイアスの組合せなど)を含み、任意の適切な数のパラメータを含むことができる。
一実施形態では、メインエンコーダネットワーク(911)、メインデコーダネットワーク(915)、コンテキストモデルNN(916)、エントロピーパラメータNN(917)、ハイパーエンコーダ(921)、およびハイパーデコーダ(925)は、それぞれのCNNを使用して実装される。
図10は、本開示の一実施形態による、メインエンコーダネットワーク(911)の例示的なCNNを示す。例えば、メインエンコーダネットワーク(911)は4組の層を含み、各組の層は、GDN層がその後に続く畳み込み層5×5 c192 s2を含む。図10に示された1つまたは複数の層は、修正および/または省略することができる。メインエンコーダネットワーク(911)にさらなる層を追加することができる。
図11は、本開示の一実施形態による、メインデコーダネットワーク(915)の例示的なCNNを示す。例えば、メインデコーダネットワーク(915)は3組の層を含み、各組の層は、IGDN層がその後に続く逆畳み込み層5×5 c192 s2を含む。加えて、3組の層の後に逆畳み込み層5×5 c3 s2が続き、その後にIGDN層が続く。図11に示された1つまたは複数の層は、修正および/または省略することができる。メインデコーダネットワーク(915)にさらなる層を追加することができる。
図12は、本開示の一実施形態による、ハイパーエンコーダ(921)の例示的なCNNを示す。例えば、ハイパーエンコーダ(921)は、漏洩ReLUがその後に続く畳み込み層3×3 c192 s1と、漏洩ReLUがその後に続く畳み込み層5×5 c192 s2と、畳み込み層5×5 c192 s2とを含む。図12に示された1つまたは複数の層は、修正および/または省略することができる。ハイパーエンコーダ(921)にさらなる層を追加することができる。
図13は、本開示の一実施形態による、ハイパーデコーダ(925)の例示的なCNNを示す。例えば、ハイパーデコーダ(925)は、漏洩ReLUがその後に続く逆畳み込み層5×5 c192 s2と、漏洩ReLUがその後に続く逆畳み込み層5×5 c288 s2と、逆畳み込み層3×3 c384 s1とを含む。図13に示された1つまたは複数の層は、修正および/または省略することができる。ハイパーデコーダ(925)にさらなる層を追加することができる。
図14は、本開示の一実施形態による、コンテキストモデルNN(916)の例示的なCNNを示す。例えば、コンテキストモデルNN(916)は、コンテキスト予測のためのマスクされた畳み込み5×5 c384 s1を含み、したがって、式4のコンテキスト
Figure 2023532397000048
は、限定されたコンテキスト(例えば、5×5の畳み込みカーネル)を含む。図14の畳み込み層は修正することができる。コンテキストモデルNN(916)にさらなる層を追加することができる。
図15は、本開示の一実施形態による、エントロピーパラメータNN(917)の例示的なCNNを示す。例えば、エントロピーパラメータNN(917)は、漏洩ReLUがその後に続く畳み込み層1×1 c640 s1と、漏洩ReLUがその後に続く畳み込み層1×1 c512 s1と、畳み込み層1×1 c384 s1とを含む。図15に示された1つまたは複数の層は、修正および/または省略することができる。エントロピーパラメータNN(917)にさらなる層を追加することができる。
NICフレームワーク(900)は、図10~図15を参照して記載されたように、CNNを使用して実装することができる。NICフレームワーク(900)は、NICフレームワーク(900)内の1つまたは複数の構成要素(例えば、(911)、(915)、(916)、(917)、(921)、および/または(925))が任意の適切なタイプのニューラルネットワーク(例えば、CNNまたは非CNNベースのニューラルネットワーク)を使用して実装されるように適切に適合させることができる。NICフレームワーク(900)の1つまたは複数の他の構成要素は、ニューラルネットワークを使用して実装することができる。
ニューラルネットワーク(例えば、CNN)を含むNICフレームワーク(900)は、ニューラルネットワークで使用されるパラメータを学習するように訓練することができる。例えば、CNNが使用されるとき、それぞれ、メインエンコーダネットワーク(911)内の畳み込みカーネルで使用される重みおよび(メインエンコーダネットワーク(911)内でバイアスが使用される場合の)バイアス、メインデコーダネットワーク(915)内の畳み込みカーネルで使用される重みおよび(メインデコーダネットワーク(915)内でバイアスが使用される場合の)バイアス、ハイパーエンコーダ(921)内の畳み込みカーネルで使用される重みおよび(ハイパーエンコーダ(921)内でバイアスが使用される場合の)バイアス、ハイパーデコーダ(925)内の畳み込みカーネルで使用される重みおよび(ハイパーデコーダ(925)内でバイアスが使用される場合の)バイアス、コンテキストモデルNN(916)内の畳み込みカーネルで使用される重みおよび(コンテキストモデルNN(916)内でバイアスが使用される場合の)バイアス、ならびにエントロピーパラメータNN(917)内の畳み込みカーネルで使用される重みおよび(エントロピーパラメータNN(917)内でバイアスが使用される場合の)バイアスなどの、θ1~θ6によって表されるパラメータは、訓練プロセスにおいて学習することができる。
一例では、図10を参照すると、メインエンコーダネットワーク(911)は4つの畳み込み層を含み、各畳み込み層は5×5の畳み込みカーネルおよび192個のチャネルを有する。したがって、メインエンコーダネットワーク(911)内の畳み込みカーネルで使用される重みの数は、19200(すなわち、4×5×5×192)である。メインエンコーダネットワーク(911)で使用されるパラメータは、19200個の重みおよび任意選択のバイアスを含む。バイアスおよび/またはさらなるNNがメインエンコーダネットワーク(911)で使用されるとき、さらなるパラメータを含めることができる。
図9Bを参照すると、NICフレームワーク(900)は、ニューラルネットワーク上に構築された少なくとも1つの構成要素またはモジュールを含む。少なくとも1つの構成要素は、メインエンコーダネットワーク(911)、メインデコーダネットワーク(915)、ハイパーエンコーダ(921)、ハイパーデコーダ(925)、コンテキストモデルNN(916)、およびエントロピーパラメータNN(917)のうちの1つまたは複数を含むことができる。少なくとも1つの構成要素は個別に訓練することができる。一例では、訓練プロセスは、構成要素ごとのパラメータを別々に学習するために使用される。少なくとも1つの構成要素はグループとして一緒に訓練することができる。一例では、訓練プロセスは、少なくとも1つの構成要素のサブセット用のパラメータを一緒に学習するために使用される。一例では、訓練プロセスは、少なくとも1つの構成要素のすべてのパラメータを学習するために使用され、したがって、E2E最適化と呼ばれる。
NICフレームワーク(900)内の1つまたは複数の構成要素向けの訓練プロセスでは、1つまたは複数の構成要素の重み(または重み係数)を初期化することができる。一例では、重みは、事前訓練された対応するニューラルネットワークモデル(例えば、DNNモデル、CNNモデル)に基づいて初期化される。一例では、重みは、重みを乱数に設定することによって初期化される。
例えば、重みが初期化された後に、1つまたは複数の構成要素を訓練するために、一組の訓練ブロックを使用することができる。一組の訓練ブロックは、任意の適切なサイズを有する任意の適切なブロックを含むことができる。いくつかの例では、一組の訓練ブロックは、空間領域内にある生画像、自然画像、コンピュータ生成画像などを含む。いくつかの例では、一組の訓練ブロックは、空間領域内の残差ブロックまたは残差データを有する残差画像からのブロックを含む。残差データは、残差計算器(例えば、残差計算器(723))によって計算することができる。いくつかの例では、生画像および/または残差データを含む残差画像は、NICフレームワーク(900)などのNICフレームワーク内のニューラルネットワークを訓練するために直接使用することができる。したがって、生画像、残差画像、生画像からのブロック、および/または残差画像からのブロックは、NICフレームワーク内のニューラルネットワークを訓練するために使用することができる。
簡潔にするために、以下の訓練プロセスは、一例として訓練ブロックを使用して説明される。説明は、訓練ブロックに適切に適合させることができる。一組の訓練ブロックの訓練ブロックtは、圧縮表現(例えば、例えばビットストリームへの符号化された情報)を生成するために、図9Bの符号化プロセスを介して渡すことができる。符号化された情報は、図9Bに記載された復号プロセスを介して渡されて、復元ブロック
Figure 2023532397000049
を計算および復元することができる。
NICフレームワーク(900)の場合、2つの競合する目標、例えば、復元品質およびビット消費量のバランスが取られる。品質損失関数(例えば、歪みまたは歪み損失)
Figure 2023532397000050
は、復元(例えば、復元ブロック
Figure 2023532397000051
)と元のブロック(例えば、訓練ブロックt)との間の差などの復元品質を示すために使用することができる。レート(またはレート損失)Rは、圧縮表現のビット消費量を示すために使用することができる。一例では、レート損失Rは、例えば、コンテキストモデルを決定する際に使用されるサイド情報をさらに含む。
ニューラル画像圧縮の場合、E2E最適化において量子化の微分可能な近似を使用することができる。様々な例では、ニューラルネットワークベースの画像圧縮の訓練プロセスでは、量子化をシミュレートするためにノイズ注入が使用され、したがって、量子化は量子化器(例えば、量子化器(912))によって実行される代わりにノイズ注入によってシミュレートされる。したがって、ノイズ注入による訓練は、量子化誤差を変分的に近似することができる。ピクセル当たりのビット(BPP)推定器は、エントロピーコーダをシミュレートするために使用することができ、したがって、エントロピーコーディングは、エントロピーエンコーダ(例えば、(913))およびエントロピーデコーダ(例えば、(914))によって実行される代わりに、BPP推定器によってシミュレートされる。したがって、訓練プロセス中の式1に示された損失関数Lにおけるレート損失Rは、例えば、ノイズ注入およびBPP推定器に基づいて推定することができる。一般に、より高いレートRはより低い歪みDを可能にすることができ、より低いレートRはより高い歪みDをもたらすことができる。したがって、式1のトレードオフハイパーパラメータλは、接合R-D損失Lを最適化するために使用することができ、λDとRの和としてのLを最適化することができる。訓練プロセスは、接合R-D損失Lが最小化または最適化されるように、NICフレームワーク(900)内の1つまたは複数の構成要素(例えば、(911)、(915))のパラメータを調整するために使用することができる。いくつかの例では、トレードオフハイパーパラメータλは、
Figure 2023532397000052
のように接合レート歪み(R-D)損失を最適化するために使用することができ、ここで、Eは、符号化前の元のブロック残差と比較して復号されたブロック残差の歪みを測定し、これは、残差符号化/復号DNNおよび符号化/復号DNNの正則化損失として機能する。βは、正則化損失の重要度のバランスを取るハイパーパラメータである。
様々なモデルは、歪み損失Dおよびレート損失Rを決定し、したがって式1の接合R-D損失Lを決定するために使用することができる。一例では、歪み損失
Figure 2023532397000053
は、平均二乗誤差に基づくメトリックであるピーク信号対雑音比(PSNR)、マルチスケール構造類似性(MS-SSIM)品質インデックス、PSNRとMS-SSIMの加重組合せなどとして表される。
一例では、訓練プロセスの目標は、エンコーダ側で使用されるビデオエンコーダなどの符号化ニューラルネットワーク(例えば、符号化DNN)と、デコーダ側で使用されるビデオデコーダなどの復号ニューラルネットワーク(例えば、復号DNN)とを訓練することである。一例では、図9Bを参照すると、符号化ニューラルネットワークは、メインエンコーダネットワーク(911)、ハイパーエンコーダ(921)、ハイパーデコーダ(925)、コンテキストモデルNN(916)、およびエントロピーパラメータNN(917)を含むことができる。復号ニューラルネットワークは、メインデコーダネットワーク(915)、ハイパーデコーダ(925)、コンテキストモデルNN(916)、およびエントロピーパラメータNN(917)を含むことができる。ビデオエンコーダおよび/またはビデオデコーダは、NNに基づく、かつ/またはNNに基づかない他の構成要素を含むことができる。
NICフレームワーク(例えば、NICフレームワーク(900))は、E2E方式で訓練することができる。一例では、符号化ニューラルネットワークおよび復号ニューラルネットワークは、E2E方式で逆伝搬勾配に基づく訓練プロセスにおいて一緒に更新される。
NICフレームワーク(900)内のニューラルネットワークのパラメータが訓練された後に、NICフレームワーク(900)内の1つまたは複数の構成要素は、ブロックを符号化および/または復号するために使用することができる。一実施形態では、エンコーダ側で、ビデオエンコーダは、ビットストリーム内で送信される符号化信号(931)内に入力信号xを符号化するように構成される。ビデオエンコーダは、NICフレームワーク(900)内に複数の構成要素を含むことができる。一実施形態では、デコーダ側で、対応するビデオデコーダは、ビットストリーム内の符号化信号(931)を復元信号
Figure 2023532397000054
内に復号するように構成される。ビデオデコーダは、NICフレームワーク(900)内に複数の構成要素を含むことができる。
一例では、例えば、コンテンツ適応型オンライン訓練が採用されるとき、ビデオエンコーダは、NICフレームワーク(900)内のすべての構成要素を含む。
図16Aは、本開示の一実施形態による、例示的なビデオエンコーダ(1600A)を示す。ビデオエンコーダ(1600A)は、例えば、図9Bを参照して記載されたメインエンコーダネットワーク(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)を受信し復号することができる。
図17~図18は、本開示の実施形態による、それぞれ、例示的なビデオエンコーダ(1700)および対応するビデオデコーダ(1800)を示す。図17を参照すると、エンコーダ(1700)は、メインエンコーダネットワーク(911)、量子化器(912)、およびエントロピーエンコーダ(913)を含む。メインエンコーダネットワーク(911)、量子化器(912)、およびエントロピーエンコーダ(913)の例は、図9Bを参照して記載されている。図18を参照すると、ビデオデコーダ(1800)は、メインデコーダネットワーク(915)およびエントロピーデコーダ(914)を含む。メインデコーダネットワーク(915)およびエントロピーデコーダ(914)の例は、図9Bを参照して記載されている。図17および図18を参照すると、ビデオエンコーダ(1700)は、ビットストリームに含まれる符号化信号(931)を生成することができる。ビデオデコーダ(1800)は、符号化信号(931)を受信し復号することができる。
ポストフィルタリングまたは後処理は、復元ブロックまたは復元画像などの復元信号に適用されて、ポストフィルタリング信号(例えば、ポストフィルタリング画像またはポストフィルタリングブロック)を決定することができる。ポストフィルタリングは、ポストフィルタリング信号の歪み損失を低減するように適用することができ、例えば、ポストフィルタリング信号の歪み損失は、対応する復元信号の歪み損失よりも小さくすることができる。
図19Aは、本開示の一実施形態による、ブロック単位画像フィルタリングの一例を示す。画像(1980)全体を直接ポストフィルタリングする代わりに、ブロックベースのフィルタ機構をポストフィルタリングに適用することができる。画像(1980)全体は、同じサイズ(例えば、W×H個のサンプル)または様々なサイズのブロック(1981)~(1996)に分割され、ブロック(1981)~(1996)は個別にポストフィルタリングされる。一実施形態では、ポストフィルタリングモジュールは、画像(1980)の代わりにブロック(1981)~(1996)に適用される。
一実施形態では、画像(例えば、復元画像)はブロックに分割されることなくポストフィルタリングされ、したがって、画像全体がポストフィルタリングのモジュールへの入力である。
図19Bは、本開示の一実施形態による、例示的なポストフィルタリングモジュール(1910)およびNICフレームワーク(例えば、NICフレームワーク(900))を示す。NICフレームワーク(900)が図9Bを参照して記載される。メインデコーダネットワーク(915)からの復元信号
Figure 2023532397000055
は、ポストフィルタリングモジュール(1910)に供給することができ、ポストフィルタリングモジュール(1910)によってポストフィルタリング信号
Figure 2023532397000056
を生成することができる。一例では、復元ブロック
Figure 2023532397000057
の歪み損失
Figure 2023532397000058
は、ポストフィルタリング信号
Figure 2023532397000059
の歪み損失
Figure 2023532397000060
に低減され、ポストフィルタリング信号
Figure 2023532397000061
の歪み損失
Figure 2023532397000062
は、復元ブロック
Figure 2023532397000063
の歪み損失
Figure 2023532397000064
よりも小さい。
ポストフィルタリングモジュール(1910)は、歪み損失を低減し、見栄えを改善することができる任意の適切なフィルタリング方法を使用して実装することができる。本開示の一実施形態によれば、ポストフィルタリングモジュール(1910)はNNベースであり、ポストフィルタリングDNNまたはポストフィルタリングCNNなどのNN(例えば、ポストフィルタリングNN)を使用して実装される。
ポストフィルタリングNNは、本開示に記載されたように、任意の適切なアーキテクチャを含み(例えば、層の任意の適切な組合せを有し)、任意の適切なタイプのパラメータ(例えば、重み、バイアス、重みとバイアスの組合せなど)を含み、任意の適切な数のパラメータを含むことができる。
一例では、ポストフィルタリングNNは、1つまたは複数の畳み込み層を含むCNNを使用して実装される。ポストフィルタリングNNは、プーリング層、完全接続層、正規化層などの本開示に記載された追加の層を含むことができる。ポストフィルタリングNN内の層は、任意の適切な順序および任意の適切なアーキテクチャ(例えば、フィードフォワードアーキテクチャ、再帰型アーキテクチャ)で配置することができる。一例では、畳み込み層の後に、プーリング層、完全接続層、正規化層などの他の層が続く。ポストフィルタリングNN内の畳み込み層の各々は、任意の適切な数のチャネルならびに任意の適切な畳み込みカーネルおよびストライドを含むことができる。
ポストフィルタリングNNは、図9Bを参照して上述された訓練信号と同様または同一の訓練信号(例えば、訓練画像および/または訓練ブロック)に基づいて訓練することができる。いくつかの例では、圧縮(例えば、符号化)および/または送信される入力信号(例えば、入力画像または入力ブロック)は、訓練信号とは著しく異なる特性を有する。したがって、訓練信号で訓練されたポストフィルタリングNNを使用して入力信号に対応する復元信号をポストフィルタリングすると、比較的低いR-D損失L(例えば、比較的大きい歪み)をもたらすことができる。したがって、本開示の態様は、ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法を記載する。ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法では、ポストフィルタリングNNの1つまたは複数のパラメータは、圧縮(例えば、符号化)および/または送信される1つまたは複数の入力信号に基づいて決定することができる。入力信号は、生データまたは残差データを含むことができる。
一実施形態では、1つまたは複数の入力信号は、入力画像内の1つまたは複数のブロックである。1つまたは複数のブロックは、レート歪み性能を最適化することによってポストフィルタリングNNにおける1つまたは複数のパラメータを決定するために使用することができ、ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法は、ポストフィルタリングのためのブロック単位コンテンツ適応型オンライン訓練方法と呼ぶことができる。
一実施形態では、1つまたは複数の入力信号は、1つまたは複数の入力画像である。1つまたは複数の入力画像は、レート歪み性能を最適化することによってポストフィルタリングNNにおける1つまたは複数のパラメータを決定するために使用することができ、ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法は、ポストフィルタリングのための画像ベースのコンテンツ適応型オンライン訓練方法と呼ぶことができる。
決定された1つまたは複数のパラメータを示すポストフィルタリング情報は、符号化された1つまたは複数の信号(例えば、符号化された1つもしくは複数のブロックまたは符号化された1つもしくは複数の画像)とともにビデオビットストリーム内に符号化することができる。デコーダ側では、ポストフィルタリングNNは、決定された1つまたは複数のパラメータに基づいて決定することができ、復元された1つまたは複数の信号をポストフィルタリングすることができ、決定された1つまたは複数のパラメータを使用してより良好な圧縮性能を実現することができる。復元された1つまたは複数の信号は、それぞれ、符号化された1つまたは複数の信号に基づいてビデオデコーダによって復元することができる。
本開示の態様によれば、コンテンツ適応型オンライン訓練は、NNベースのポストフィルタリングなどのポストフィルタリングにおいて適用することができる。NNベースのポストフィルタリング(例えば、DNNベースのポストフィルタリングまたはCNNベースのポストフィルタリング)は、NNベースの画像コーディングフレームワーク(例えば、NICフレームワーク(900))、または他の画像圧縮方法において実施することができる。
ポストフィルタリングモジュール(1910)は、NN(例えば、DNNまたはCNN)を使用して実装することができ、復元信号
Figure 2023532397000065
に適用することができる。ポストフィルタリングモジュール内のNNは、ポストフィルタリングDNNまたはポストフィルタリングCNNなどのポストフィルタリングNNと呼ぶことができる。ポストフィルタリングモジュール(1910)の出力は、ポストフィルタリング信号
Figure 2023532397000066
である。本開示の一実施形態によれば、ポストフィルタリングモジュール(1910)のコンテンツ適応型オンライン訓練は、式9に示されたR-D損失
Figure 2023532397000067
を低減するために実施することができる。
Figure 2023532397000068
ここで、ポストフィルタリング信号
Figure 2023532397000069
に対応するR-D損失
Figure 2023532397000070
)は、ポストフィルタリング信号
Figure 2023532397000071
の歪み損失
Figure 2023532397000072
、符号化信号
Figure 2023532397000073
のレート損失
Figure 2023532397000074
、およびコード化ビデオビットストリーム内のシグナリングポストフィルタリング情報のレート損失またはビット消費量R(p)を含むことができる。ポストフィルタリング情報は、ポストフィルタリングNNの決定された1つまたは複数のパラメータを示すことができる。
簡潔にするために、ポストフィルタリングモジュール(1910)のコンテンツ適応型オンライン訓練は、ポストフィルタリング訓練と呼ぶことができる。ポストフィルタリングのためのブロック単位コンテンツ適応型オンライン訓練方法は、ブロック単位ポストフィルタリング訓練と呼ぶことができる。ポストフィルタリングのための画像ベースのコンテンツ適応型オンライン訓練方法は、画像ベースのポストフィルタリング訓練と呼ぶことができる。
一実施形態では、ポストフィルタリング訓練の目標は、式1に記載されたように、R-D損失Lpが復元信号
Figure 2023532397000075
のR-D損失
Figure 2023532397000076
よりも小さくなるように、R-D損失Lpを減少させる(例えば、最小化する)ことである。式1と式8を比較すると、レート損失
Figure 2023532397000077
は変化しないままである。レート損失R(p)はR-D損失Lpを増加させるので、ポストフィルタリング訓練は、
Figure 2023532397000078
であるように歪み損失
Figure 2023532397000079
を大幅に減少させることができる。
本開示の一実施形態によれば、ポストフィルタリングNNにおける1つまたは複数のパラメータは、例えば、1つまたは複数の入力信号に基づいて、ポストフィルタリング訓練において決定することができる。図19Bを参照すると、入力信号xがNICフレームワーク(900)に供給され、符号化プロセスにおいて符号化信号
Figure 2023532397000080
が生成される。復号プロセスにおいて復元信号
Figure 2023532397000081
が生成される。一実施形態では、ポストフィルタリングNNにおける1つまたは複数のパラメータは、復元信号
Figure 2023532397000082
に基づいてポストフィルタリング訓練において決定することができる。一例では、ポストフィルタリングNNにおける1つまたは複数のパラメータは、歪み損失
Figure 2023532397000083
を低減するために、復元信号
Figure 2023532397000084
に基づいて反復的に更新される。したがって、ポストフィルタリングNNは、コード化される入力信号xに依存する復元信号
Figure 2023532397000085
に依存する。
ポストフィルタリングNNは、例えば、ポストフィルタリング訓練の前に、初期パラメータ(例えば、初期重みおよび/または初期バイアス)で構成することができる。一実施形態では、ポストフィルタリングNNは、訓練ブロックおよび/または訓練画像を含む訓練データセットに基づいて事前訓練され、初期パラメータは、事前訓練されたパラメータ(例えば、事前訓練された重みおよび/または事前訓練されたバイアス)を含む。一実施形態では、ポストフィルタリングNNは事前訓練されない。初期パラメータはランダムなパラメータであり得る。
一実施形態では、ポストフィルタリングNNにおける初期パラメータのうちの1つまたは複数の初期パラメータは、入力信号xに基づいて決定される復元信号
Figure 2023532397000086
に基づいてポストフィルタリング訓練において反復的に更新される。1つまたは複数の初期パラメータは、ポストフィルタリング訓練において決定された1つまたは複数のパラメータ(例えば、1つまたは複数の置換パラメータ)によって更新(例えば、置換)することができる。一例では、初期パラメータのセット全体が更新される。一例では、初期パラメータのサブセットは、1つまたは複数の置換パラメータによって更新され、初期パラメータの残りのサブセットは、ポストフィルタリング訓練によって変更されないままである。
ポストフィルタリング訓練は、任意の画像圧縮方法の圧縮性能を高めるための前処理ステップ(例えば、事前符号化ステップ)として使用することができる。
決定された1つまたは複数のパラメータは、符号化信号
Figure 2023532397000087
とともにビデオビットストリーム内に符号化することができる。符号化信号
Figure 2023532397000088
のレート損失はレート損失
Figure 2023532397000089
によって表され、符号化された1つまたは複数のパラメータのレート損失は、レート損失R(p)によって表される。ポストフィルタリング訓練は、画像圧縮コーデックに依存せず、任意の適切なタイプの画像圧縮コーデックで実施することができる。画像圧縮コーデックは、図9Bおよび図19Bに示されたNICフレームワーク(900)などのNNベースであり得る。画像圧縮コーデックは、図5~図8の特定の実装形態のように、NNなしで実施することができる。
ポストフィルタリングNN内の決定された1つまたは複数のパラメータ(例えば、1つまたは複数の置換パラメータ)を使用することにより、ポストフィルタリングモジュール(1910)は、復元信号
Figure 2023532397000090
(例えば、復元画像または復元ブロック)に適用され、より小さいR-D損失Lpなどのより良好な歪み性能を実現することができる。式8を参照して記載されたように、R(p)は、ビデオビットストリーム内に符号化された決定された1つまたは複数のパラメータ(例えば、1つまたは複数の置換パラメータ)のビット消費量を表す。
上記の説明は、1つまたは複数のパラメータを決定するために複数の入力信号が使用されるときに適切に適合することができ、決定された1つまたは複数のパラメータは複数の入力信号によって共有される。
図19Bを参照すると、エンコーダ側で、ポストフィルタリングモジュール(1910)内のポストフィルタリングNNの1つまたは複数のパラメータは、ポストフィルタリング訓練における復元信号
Figure 2023532397000091
に基づいて決定することができる。符号化信号
Figure 2023532397000092
は、入力信号xに基づいて生成することができる。一実施形態では、ポストフィルタリングNNの決定された1つまたは複数のパラメータを示すポストフィルタリング情報は、符号化することができる。ポストフィルタリング情報は、符号化信号
Figure 2023532397000093
に対応する。符号化信号
Figure 2023532397000094
およびポストフィルタリング情報は、コード化ビデオビットストリームに含めることができる。
図20Aは、本開示の一実施形態による、例示的なビデオデコーダ(2000A)を示す。ビデオデコーダ(2000A)は、図16Bを参照して記載されたビデオデコーダ(1600B)の構成要素および図19Bを参照して記載されたポストフィルタリングモジュール(1910)を含むことができる。
図20Bは、本開示の一実施形態による、例示的なビデオデコーダ(2000B)を示す。ビデオデコーダ(2000B)は、図18を参照して記載されたビデオデコーダ(1800)の構成要素および図19Bを参照して記載されたポストフィルタリングモジュール(1910)を含むことができる。
デコーダ側では、図19B、図20A、および図20Bを参照すると、ポストフィルタリング情報は、ビデオデコーダ(例えば、ビデオデコーダ(2000A)または(2000B))によって復号することができる。ポストフィルタリングモジュール(1910)内のポストフィルタリングNNの1つまたは複数のパラメータは、ポストフィルタリング情報に基づいて取得することができる。一実施形態では、ポストフィルタリングNNは初期パラメータで構成され、1つまたは複数のパラメータは1つまたは複数の置換パラメータである。初期パラメータのうちの1つまたは複数は、それぞれ、1つまたは複数の置換パラメータで更新することができる。
一例では、ポストフィルタリング情報は、1つまたは複数のパラメータとそれぞれの1つまたは複数の初期パラメータとの間の差を示す。1つまたは複数のパラメータは、差とそれぞれの1つまたは複数の初期パラメータの和に従って決定することができる。
ビデオデコーダ(例えば、ビデオデコーダ(2000A)または(2000B))の中にあるポストフィルタリングモジュール(1910)内のポストフィルタリングNNは、ポストフィルタリング情報に基づいて決定することができる。一実施形態では、ポストフィルタリングNNにおける1つまたは複数の初期パラメータは、1つまたは複数のパラメータに基づいて更新され、例えば、1つまたは複数の初期パラメータは、1つまたは複数のパラメータによって置き換えられる。
図19B、図20A、および図20Bを参照すると、符号化信号
Figure 2023532397000095
は、ビデオデコーダ(2000A)または(2000B)によって復号することができる。例えば、符号化信号
Figure 2023532397000096
は、メインデコーダネットワーク(915)によって復元されて、復元信号
Figure 2023532397000097
を生成する。復元信号
Figure 2023532397000098
は、1つまたは複数のパラメータに基づいて決定(例えば、更新)されたポストフィルタリングNNに基づいてポストフィルタリングすることができる。一例では、復元信号
Figure 2023532397000099
は、更新されたポストフィルタリングNNに基づいてポストフィルタリングされる。
いくつかの例では、ポストフィルタリング情報によって示された1つまたは複数のパラメータが解凍され、次いでポストフィルタリングNNを更新するために使用される。
本開示の一実施形態によれば、ポストフィルタリング訓練は微調整プロセスと呼ぶことができ、ポストフィルタリングNNにおける初期パラメータのうちの1つまたは複数の初期パラメータ(例えば、1つまたは複数の事前訓練されたパラメータ)は、符号化および/または送信される入力信号に基づいて更新(例えば、微調整)することができる。入力信号は、初期パラメータを取得するために使用される訓練信号とは異なる可能性がある。したがって、ポストフィルタリングNNは、入力信号のコンテンツを対象とするように適合させることができる。
一例では、入力信号は、符号化および/または送信される1つまたは複数の入力信号を含む。一例では、1つまたは複数の入力信号は単一の入力信号(例えば、単一の入力画像または単一の入力ブロック)を含み、ポストフィルタリング訓練は単一の入力信号を用いて実行される。ポストフィルタリングNNは、単一の入力信号に基づいて決定(例えば、訓練または更新)される。デコーダ側の決定されたポストフィルタリングNNは、単一の入力信号に対応する復元信号(例えば、復元画像または復元ブロック)、および任意選択で他の入力信号に対応する他の復元信号をポストフィルタリングするために使用することができる。ポストフィルタリング情報は、符号化された単一の入力信号(例えば、符号化画像または符号化ブロック)と一緒にビデオビットストリーム内に符号化することができる。
一実施形態では、1つまたは複数の入力信号は複数の入力信号を含み、ポストフィルタリング訓練は複数の入力信号を用いて実行される。ポストフィルタリングNNは、複数の入力信号に基づいて決定(例えば、訓練または更新)される。デコーダ側の決定されたポストフィルタリングNNは、複数の入力信号に対応する復元信号、および任意選択で他の入力信号に対応する他の復元信号をポストフィルタリングするために使用することができる。ポストフィルタリング情報は、符号化された複数の入力信号と一緒にビットストリーム内に符号化することができる。
レート損失Rpは、ビデオビットストリーム内のポストフィルタリング情報のシグナリングとともに増加する可能性がある。入力信号が単一の入力信号を含むとき、ポストフィルタリング情報は符号化信号ごとにシグナリングされ、レート損失Rpへの第1の増加が、信号ごとのポストフィルタリング情報のシグナリングによるレート損失Rpへの増加を示すために使用される。入力信号が複数の入力信号を含むとき、ポストフィルタリング情報は複数の入力信号についてシグナリングされ、複数の入力信号によって共有され、レート損失Rpへの第2の増加が、信号ごとのポストフィルタリング情報のシグナリングによるレート損失Rpへの増加を示すために使用される。ポストフィルタリング情報は複数の入力信号によって共有されるので、レート損失Rpへの第2の増加は、レート損失Rpへの第1の増加よりも小さい可能性がある。したがって、いくつかの例では、複数の入力信号を使用してポストフィルタリングNNを決定(例えば、訓練または更新)することが有利であり得る。
ポストフィルタリングNNは、重み、バイアスなどの異なるタイプのパラメータによって指定することができる。ポストフィルタリングNNは、重み、バイアス、または重みとバイアスの組合せなどの適切な初期パラメータで構成することができる。CNNが使用されるとき、重みは、畳み込みカーネル内の要素を含むことができる。上述されたように、初期パラメータのサブセットまたはセット全体は、ポストフィルタリング訓練によって更新することができる。
一実施形態では、更新される1つまたは複数の初期パラメータは、ポストフィルタリングNNの単一の層(例えば、単一の畳み込み層)内にある。一実施形態では、更新される1つまたは複数の初期パラメータは、ポストフィルタリングNNの複数またはすべての層(例えば、複数またはすべての畳み込み層)内にある。
1つまたは複数のタイプのパラメータは、ポストフィルタリングNNを指定するために使用することができる。一実施形態では、更新される1つまたは複数の初期パラメータはバイアス項であり、バイアス項のみが決定された1つまたは複数のパラメータによって置き換えられる。一実施形態では、更新される1つまたは複数の初期パラメータは重みであり、重みのみが決定された1つまたは複数のパラメータによって置き換えられる。一実施形態では、更新される1つまたは複数の初期パラメータは重みおよびバイアス項を含み、重みおよびバイアス項が決定された1つまたは複数のパラメータによって置き換えられる。一例では、初期パラメータのセット全体が、決定された1つまたは複数のパラメータによって置き換えられる。
ポストフィルタリング訓練は、複数のエポック(例えば、反復)を含むことができ、1つまたは複数の初期パラメータは、反復プロセスにおいて更新される。ポストフィルタリング訓練は、訓練損失が平坦化したとき、または平坦化しようとしているときに停止することができる。一例では、ポストフィルタリング訓練は、訓練損失(例えば、R-D損失Lp)が第1のしきい値を下回ったときに停止する。一例では、ポストフィルタリング訓練は、2つの連続する訓練損失間の差が第2のしきい値を下回ったときに停止する。
2つのハイパーパラメータ(例えば、ステップサイズおよび最大ステップ数)は、損失関数(例えば、R-D損失Lp)と一緒にポストフィルタリング訓練において使用することができる。最大反復回数は、ポストフィルタリング訓練を終了するための最大反復回数のしきい値として使用することができる。一例では、ポストフィルタリング訓練は、反復回数が最大反復回数に達したときに停止する。
ステップサイズは、オンライン訓練プロセス(例えば、ポストフィルタリング訓練)の学習率を示すことができる。ステップサイズは、勾配降下アルゴリズムまたはポストフィルタリング訓練で実行される逆伝搬計算において使用することができる。ステップサイズは、任意の適切な方法を使用して決定することができる。
ブロック単位ポストフィルタリング訓練では、画像内のブロックごとのステップサイズは異なる可能性がある。一実施形態では、より良好な圧縮結果(例えば、より良好なR-D損失Lp)を実現するために、画像に異なるステップサイズを割り当てることができる。
画像ベースのポストフィルタリング訓練では、画像ごとのステップサイズは異なる可能性がある。一実施形態では、より良好な圧縮結果(例えば、より良好なR-D損失Lp)を実現するために、異なる入力画像に異なるステップサイズを割り当てることができる。
一実施形態では、最適な結果を実現するために、異なるタイプのコンテンツを有する信号(例えば、ブロックまたは画像)に異なるステップサイズが使用される。信号は、入力信号(例えば、入力信号x)、符号化信号(例えば、符号化信号
Figure 2023532397000100
)、復元信号(例えば、復元信号
Figure 2023532397000101
)などを含むことができる。入力信号(例えば、入力信号x)、符号化信号(例えば、符号化信号
Figure 2023532397000102
)、および対応する復元信号(例えば、復元信号
Figure 2023532397000103
)の関係は、図9Bおよび図19Bを参照して記載されている。異なるタイプは異なる分散を指すことができる。一例では、ステップサイズは、ポストフィルタリングNNを更新するために使用される信号(例えば、ブロックまたは画像)の分散に基づいて決定される。例えば、分散が高い信号のステップサイズは、分散が低い信号のステップサイズよりも大きく、高い分散は低い分散よりも大きい。
一実施形態では、ステップサイズは、信号のRGB分散などの信号(例えば、ブロックまたは画像)の特性に基づいて選択される。一実施形態では、ステップサイズは、信号(例えば、ブロックまたは画像)のRD性能(例えば、R-D損失L)に基づいて選択される。複数の組のパラメータ(例えば、複数の組の置換パラメータ)は、異なるステップサイズに基づいて生成することができ、より良好な圧縮性能(例えば、より小さいR-D損失)を有する組を選択することができる。
一実施形態では、特定の数(例えば、100)の反復を実行するために、第1のステップサイズを使用することができる。次いで、特定の数の反復を実行するために、第2のステップサイズ(例えば、第1のステップサイズプラスマイナスサイズ増分)を使用することができる。使用されるステップサイズを決定するために、第1のステップサイズおよび第2のステップサイズからの結果を比較することができる。最適なステップサイズを決定するために、3つ以上のステップサイズが試験されてもよい。
ステップサイズは、ポストフィルタリング訓練の間に変化する可能性がある。ステップサイズは、ポストフィルタリング訓練の開始時に初期値を有することができ、初期値は、ポストフィルタリング訓練の後の段階で、例えば、より細かい調整を実現するために特定の数の反復後に減少(例えば、半減)させることができる。ステップサイズまたは学習率は、反復ポストフィルタリング訓練中にスケジューラによって変更することができる。スケジューラは、ステップサイズを調整するために使用されるパラメータ調整方法を含むことができる。スケジューラは、ステップサイズがいくつかの間隔で増加し、減少し、または一定のままであり得るように、ステップサイズ用の値を決定することができる。一例では、学習率は、スケジューラによって各ステップにおいて変更される。単一のスケジューラまたは複数の異なるスケジューラを、異なるブロックまたは異なる画像に使用することができる。したがって、複数の組のパラメータは複数のスケジューラに基づいて生成することができ、より良好な圧縮性能(例えば、より小さいR-D損失Lp)を有する複数の組のパラメータのうちの1つを選択することができる。
一実施形態では、より良好な圧縮結果を実現するために、異なる信号(例えば、異なるブロックまたは異なる画像)に複数の学習率スケジュールが割り当てられる。一例では、画像内のすべてのブロックが同じ学習率スケジュールを共有する。一例では、一組の画像が同じ学習率スケジュールを共有する。一実施形態では、学習率スケジュールの選択は、信号のRGB分散などの信号(例えば、ブロックまたは画像)の特性に基づく。一実施形態では、学習率スケジュールの選択は、信号のRD性能に基づく。
一実施形態では、ポストフィルタリングNNにおける異なるタイプのパラメータ(例えば、バイアスまたは重み)を決定(例えば、更新)するために、異なる信号(例えば、異なるブロックまたは異なる画像)を使用することができる。例えば、第1の信号(例えば、第1のブロック)は、ポストフィルタリングNNにおける少なくとも1つのバイアスを更新するために使用され、第2の信号(例えば、第2のブロック)は、ポストフィルタリングNNにおける少なくとも1つの重みを更新するために使用される。
一実施形態では、同じ1つまたは複数のパラメータを決定(例えば、更新)するために、複数の信号(例えば、1つの画像内の複数のブロックまたは複数の画像)が使用される。一例では、同じ1つまたは複数のパラメータを決定(例えば、更新)するために、画像内のすべてのブロックが使用される。
一実施形態では、更新される1つまたは複数の初期パラメータは、信号のRGB分散などの信号(例えば、ブロックまたは画像)の特性に基づいて選択される。一実施形態では、更新される1つまたは複数の初期パラメータは、信号のRD性能に基づいて選択される。
ポストフィルタリング訓練の終わりに、それぞれの決定された1つまたは複数のパラメータ(例えば、それぞれの1つまたは複数の置換パラメータ)について、1つまたは複数の更新されたパラメータを計算することができる。一実施形態では、1つまたは複数の更新されたパラメータは、決定された1つまたは複数のパラメータ(例えば、それぞれの1つまたは複数の置換パラメータ)と、対応する1つまたは複数の初期パラメータ(例えば、1つまたは複数の事前訓練されたパラメータ)との間の差として計算される。一実施形態では、1つまたは複数の更新されたパラメータは、それぞれ、決定された1つまたは複数のパラメータである。
一実施形態では、それぞれの決定された1つまたは複数のパラメータから1つまたは複数の更新されたパラメータを取得する方法は、ポストフィルタリング訓練において使用される信号(例えば、入力信号x、復元信号
Figure 2023532397000104
)に依存する。異なる信号に対して異なる方法を使用することができる。一例では、第1のブロックに適用されるポストフィルタリングNN用の更新されたパラメータは、第1のブロックに基づいて取得された置換パラメータと対応する事前訓練されたパラメータとの間の差として計算される。一例では、第2のブロックに適用されるポストフィルタリングNN用の更新されたパラメータは、第2のブロックに基づいて取得された置換パラメータである。
一実施形態では、異なるブロックは、1つまたは複数の更新されたパラメータと1つまたは複数の置換パラメータとの間の異なる関係を有する。例えば、第1のブロックの場合、1つまたは複数の更新されたパラメータは、1つまたは複数の置換パラメータと対応する1つまたは複数の事前訓練されたパラメータとの間の差として計算される。第2のブロックの場合、1つまたは複数の更新されたパラメータは、それぞれ、1つまたは複数の置換パラメータである。
一実施形態では、それぞれの決定された1つまたは複数のパラメータから1つまたは複数の更新されたパラメータを取得する方法は、ポストフィルタリング訓練において使用される信号(例えば、入力信号x、復元信号
Figure 2023532397000105
)に依存しない。一例では、すべてのブロックは、ポストフィルタリングNN内のパラメータを更新するために同じ方法を共有する。一実施形態では、画像内の複数のブロック(例えば、すべてのブロック)は、1つまたは複数の更新されたパラメータと1つまたは複数の置換パラメータとの間の同じ関係を有する。
一実施形態では、1つまたは複数の更新されたパラメータと1つまたは複数の置換パラメータとの間の関係は、信号のRGB分散などの信号(例えば、ブロックまたは画像)の特性に基づいて選択される。一実施形態では、1つまたは複数の更新されたパラメータと1つまたは複数の置換パラメータとの間の関係は、信号のRD性能に基づいて選択される。
一実施形態では、1つまたは複数の更新されたパラメータは、例えば、特定の線形変換または非線形変換を使用して、決定された1つまたは複数のパラメータ(例えば、1つまたは複数の置換パラメータ)から生成することができ、1つまたは複数の更新されたパラメータは、決定された1つまたは複数のパラメータに基づいて生成された代表パラメータである。決定された1つまたは複数のパラメータは、より良好な圧縮のために1つまたは複数の更新されたパラメータに変換される。
一例では、1つまたは複数の更新されたパラメータは、例えば、Lempel-Ziv-Markov連鎖アルゴリズム(LZMA)の変形であるLZMA2、bzip2アルゴリズムなどを使用して圧縮することができる。一例では、1つまたは複数の更新されたパラメータの場合圧縮が省略される。いくつかの実施形態では、1つまたは複数の更新されたパラメータは、ポストフィルタリング情報としてビットストリーム内に符号化することができ、ポストフィルタリング情報は、決定された1つまたは複数のパラメータ(例えば、1つまたは複数の置換パラメータ)を示すことができる。
一実施形態では、1つまたは複数の更新されたパラメータのための圧縮方法は、異なる信号(例えば、異なるブロックまたは異なる画像)の場合に異なる。例えば、第1のブロックの場合、1つまたは複数の更新されたパラメータを圧縮するためにLZMA2が使用され、第2のブロックの場合、1つまたは複数の更新されたパラメータを圧縮するためにbzip2が使用される。一実施形態では、画像内の複数のブロック(例えば、すべてのブロック)用の1つまたは複数の更新されたパラメータを圧縮するために同じ圧縮方法が使用される。一実施形態では、圧縮方法は、信号のRGB分散などの信号(例えば、ブロックまたは画像)の特性に基づいて選択される。一実施形態では、信号のRD性能に基づいて圧縮方法が選択される。
一実施形態では、信号ごとのポストフィルタリングNNの構造(例えば、アーキテクチャ)は同一である。ポストフィルタリングNNの構造は、層の数、異なるノードおよび/または層がどのように編成および接続されるか、フィードフォワードアーキテクチャ、再帰型アーキテクチャ、DNN、CNNなどを含むことができる。一例では、構造は畳み込み層の数を指し、異なるブロックは同じ数の畳み込み層を有する。
一実施形態では、ポストフィルタリングNNの異なる構造は、異なる信号に対応する。一例では、異なるブロックをポストフィルタリングするために使用されるポストフィルタリングNNは、異なる数の畳み込み層を有する。
一実施形態では、信号(例えば、ブロックまたは画像)をポストフィルタリングするためにポストフィルタリングモジュールを使用するかどうかは、R-D損失LpとR-D損失Lの比較に基づいて決定される。
一実施形態では、最良のR-D性能(例えば、最小のR-D損失Lp)を有するポストフィルタリングモジュールは、異なるポストフィルタリングモジュールの異なるR-D損失Lpsの比較に基づいて選択される。
本開示の一実施形態によれば、各信号(例えば、各ブロックまたは各画像)は、信号に基づいてポストフィルタリング訓練において決定されたポストフィルタリングNNに対応する。ポストフィルタリングNNは、別のポストフィルタリングNNとは別々に更新することができる。例えば、第1の信号に対応するポストフィルタリングNNは、第2の信号に対応するポストフィルタリングNNとは別々に更新される。
本開示の一実施形態によれば、ある信号(例えば、第2の信号)に対応するポストフィルタリングNNは、別の信号(例えば、第1の信号)に対応するポストフィルタリングNNに基づいて更新することができる。一例では、第1の信号に対応するコード化ビットストリーム内の第1のポストフィルタリング情報が復号される。第1のポストフィルタリング情報は、ビデオデコーダ内のポストフィルタリングNNの第1のパラメータを示すことができる。第1の信号に対応するビデオデコーダ内のポストフィルタリングNNは、第1のポストフィルタリング情報によって示された第1のパラメータに基づいて決定することができる。一例では、第1の信号は、復元される第1の符号化ブロックを含む。第1の信号は、第1の信号に対応する決定されたポストフィルタリングNNに基づいて復号することができる。例えば、第1の信号が復元され、復元された第1の信号が決定されたポストフィルタリングNNに基づいてポストフィルタリングされる。
例えば、第1の信号に対応するポストフィルタリングNN内のパラメータは、第2の信号に対応するポストフィルタリングNNを更新するために使用することができる。例えば、同じ画像のブロック内のピクセル分布が同様であり得、したがって、異なるブロックに対応するポストフィルタNNの更新されるパラメータが削減されてもよい。本開示の一実施形態によれば、第2の信号に対応するコード化ビットストリーム内の第2のポストフィルタリング情報を復号することができる。第2のポストフィルタリング情報は、第2のパラメータを示すことができる。第2の信号は第1の信号とは異なる。第1の信号に対応するポストフィルタリングNNは、第2のパラメータに基づいて更新することができる。更新されたポストフィルタリングNNは第2の信号に対応し、第1のパラメータおよび第2のパラメータで構成される。第2の信号は、第2の信号に対応する更新されたポストフィルタリングNNに基づいて復号(例えば、ポストフィルタリング)することができる。
一実施形態では、異なるサイズを有する信号(例えば、ブロックまたは画像)に異なるポストフィルタリングNNを適用することができる。一般に、ポストフィルタリングNNにおけるパラメータの数は、信号(例えば、ブロックまたは画像)のサイズ(例えば、幅、高さ、または面積)とともに増加する可能性がある。
一実施形態では、異なる圧縮品質目標に対応する同じ信号(例えば、画像またはブロック)に異なるポストフィルタリングNNが適用される。
NICフレームワークおよびポストフィルタリングNNは、任意のタイプのニューラルネットワークを含み、コンテキスト-ハイパー事前エンコーダ-デコーダフレームワーク、スケール-ハイパー事前エンコーダ-デコーダフレームワーク、ガウス混合尤度フレームワークおよびガウス混合尤度フレームワークの変形、RNNベースの再帰圧縮方法およびRNNベースの再帰圧縮方法の変形などの、任意のニューラルネットワークベースの画像圧縮方法を使用することができる。
関連するE2E画像圧縮方法と比較して、本開示におけるポストフィルタリング訓練方法および装置は、以下の利点を有することができる。適応型オンライン訓練メカニズムは、コーディング効率を改善するために活用される。柔軟で一般的なフレームワークの使用は、様々なタイプの事前訓練されたフレームワークおよび品質メトリックに適応することができる。例えば、ポストフィルタリングNNにおける特定の事前訓練されたパラメータは、符号化され送信されるブロックまたは画像を用いるオンライン訓練を使用することによって置き換えることができる。
ビデオコーディング技術は、量子化などによる、非可逆圧縮から生じるアーチファクトを低減することができるように、復元サンプルに対して実行されるフィルタリング動作を含むことができる。デブロッキングフィルタプロセスは、1つのそのようなフィルタリング動作において使用され、その中で、2つの隣接するブロック間のブロック境界(例えば、境界領域)は、1つのブロックから他のブロックへのサンプル値のより滑らかな移行を実現することができるようにフィルタリングすることができる。
いくつかの関連する例(例えば、HEVC)では、ブロック境界に隣接するサンプルにデブロッキングフィルタプロセスを適用することができる。デブロッキングフィルタプロセスは、復号プロセスと同じ順序でCUごとに実行することができる。例えば、デブロッキングフィルタプロセスは、最初に画像の垂直境界向けの水平フィルタリング、その後に続く画像の水平境界向けの垂直フィルタリングによって実行することができる。輝度成分と彩度成分の両方に対して、フィルタリングされると決定された8×8ブロックの境界にフィルタリングを適用することができる。一例では、複雑さを低減するために、4×4ブロックの境界は処理されない。
デブロッキングフィルタプロセスの程度または強度を示すために、境界強度(BS)を使用することができる。一実施形態では、BS用の2の値は強いフィルタリングを示し、1は弱いフィルタリングを示し、0はデブロッキングフィルタリングを行わないことを示す。
画像のブロックは、本開示の実施形態などの任意の適切な方法を使用して、コード化ビデオビットストリームから復元することができる。例えば、ブロックは、例えばニューラルネットワーク(例えば、CNN)を含むビデオデコーダ(例えば、(1600B)、(1800)、(2000A)、または(2000B))を使用して復元することができる。ブロックは、NNに基づかないビデオデコーダを使用して復元することができる。本開示のいくつかの実施形態によれば、少なくとも1つの後処理NNを用いて復元ブロックの第1の2つの隣接する復元ブロックの複数の領域のうちの1つに対して、ポストフィルタリングまたは後処理を実行することができる。第1の2つの隣接する復元ブロックは、第1の共有境界を有し、第1の共有境界の両側にサンプルを有する境界領域を含むことができる。第1の2つの隣接する復元ブロックの複数の領域は、境界領域と、境界領域の外側にある非境界領域とを含むことができる。複数の領域のうちの1つは、第1の2つの隣接する復元ブロックの複数の領域のうちの後処理された1つと置き換えることができる。実行される後処理は、境界領域のデブロッキング、非境界領域のうちの1つまたは複数の拡張、デブロッキングと拡張の組合せなどであり得る。
1つまたは複数のデブロッキング方法は、ブロック(例えば、画像内の復元ブロック)間のアーチファクトを低減するために使用することができる。境界領域内のアーチファクトなどのブロック間のアーチファクトを低減するために、1つまたは複数のNNベースのデブロッキングモデルを使用することができる。NNベースのデブロッキングモデルは、DNNベースのデブロッキングモデル、CNNベースのデブロッキングモデルなどであり得る。NNベースのデブロッキングモデルは、DNN、CNNなどのNNを使用して実装することができる。
一実施形態では、複数の領域のうちの1つは境界領域である。少なくとも1つの後処理NNは、少なくとも1つのデブロッキングNNを含み、少なくとも1つのデブロッキングNNを用いて境界領域に対してデブロッキングを実行することができる。境界領域は、デブロッキングされた境界領域と置き換えることができる。デブロッキングの例が図21A~図21C、図22、図23、および図26に示される。
図21A~図21Cは、本開示の一実施形態による、例示的なデブロッキングプロセス(2100)を示す。図21Aを参照すると、画像(2101)は、複数のブロック(2111)~(2114)に分割することができる。簡潔にするために、図21Aには4つの等しいサイズのブロック(2111)~(2114)が示されている。一般に、画像は任意の適切な数のブロックに分割することができ、ブロックのサイズは異なっていても同一であってもよく、説明は適切に適応させることができる。いくつかの例では、例えば画像をブロックに分割することに起因してアーチファクトを含む領域は、デブロッキングによって処理することができる。
一例では、ブロック(2111)~(2114)は、メインデコーダネットワーク(915)からの復元ブロックである。復元ブロック(2111)~(2114)のうちの第1の2つの隣接する復元ブロックは、第1の共有境界(2141)によって分離されたブロック(2111)および(2113)を含むことができる。ブロック(2111)および(2113)は、第1の共有境界(2141)の両側にサンプルを有する境界領域Aを含むことができる。図21A~図21Bを参照すると、境界領域Aは、それぞれ、ブロック(2111)および(2113)に位置するサブ境界領域A1およびA2を含むことができる。
復元ブロック(2111)~(2114)のうちの2つの隣接する復元ブロックは、第2の共有境界(2142)によって分離されたブロック(2112)および(2114)を含むことができる。ブロック(2112)および(2114)は、第2の共有境界(2142)の両側にサンプルを有する境界領域Bを含むことができる。図21A~図21Bを参照すると、境界領域Bは、それぞれ、ブロック(2112)および(2114)に位置するサブ境界領域B1およびB2を含むことができる。
復元ブロック(2111)~(2114)のうちの2つの隣接する復元ブロックは、共有境界(2143)によって分離されたブロック(2111)および(2112)を含むことができる。ブロック(2111)および(2112)は、共有境界(2143)の両側にサンプルを有する境界領域Cを含むことができる。図21A~図21Bを参照すると、境界領域Cは、それぞれ、ブロック(2111)および(2112)に位置するサブ境界領域C1およびC2を含むことができる。
復元ブロック(2111)~(2114)のうちの2つの隣接する復元ブロックは、共有境界(2144)によって分離されたブロック(2113)および(2114)を含むことができる。ブロック(2113)および(2114)は、共有境界(2144)の両側にサンプルを有する境界領域Dを含むことができる。図21A~図21Bを参照すると、境界領域Dは、それぞれ、ブロック(2113)および(2114)に位置するサブ境界領域D1およびD2を含むことができる。
サブ境界領域A1~D1およびA2~D2(ならびに境界領域A~D)は、任意の適切なサイズ(例えば、幅および/または高さ)を有することができる。図21Aに示された実施形態では、サブ境界領域A1、A2、B1、およびB2は、m×nの同一サイズを有し、ここで、nはブロック(2111)~(2114)の幅であり、mはサブ境界領域A1、A2、B1、およびB2の高さである。mとnは両方とも正の整数である。一例では、mは4ピクセルまたは4サンプルである。したがって、境界領域AおよびBは、2m×nの同一サイズを有する。サブ境界領域C1、C2、D1、およびD2は、n×mの同一サイズを有し、ここで、nはブロック(2111)~(2114)の高さであり、mはサブ境界領域C1、C2、D1、およびD2の幅である。したがって、境界領域CおよびDは、n×2mの同一サイズを有する。上述されたように、サブ境界領域および境界領域は、異なる幅、異なる高さなどの異なるサイズを有することができる。例えば、サブ境界領域A1とA2は、異なる高さを有することができる。一例では、サブ境界領域C1とC2は、異なる幅を有することができる。境界領域AとBは、異なる幅を有することができる。境界領域CとDは、異なる高さを有することができる。
図21A~21Bを参照すると、境界領域Aは、第1の共有境界(2141)からブロック(2111)内にm本のサンプル(例えば、m行のサンプル)と、第1の共有境界(2141)からブロック(2113)内にm本のサンプル(例えば、m行のサンプル)とを含む。境界領域Cは、共有境界(2143)からブロック(2111)内にm本のサンプル(例えば、m列のサンプル)と、共有境界(2143)からブロック(2112)内にm本のサンプル(例えば、m列のサンプル)とを含む。
デブロッキングは、DNN、CNN、または任意の適切なNNに基づくデブロッキングNNなどの少なくとも1つのデブロッキングNNを用いて境界領域A~Dのうちの1つまたは複数に対して実行することができる。一例では、少なくとも1つのデブロッキングNNは、デブロッキングNN(2130)を含む。一例では、デブロッキングNN(2130)は、1つまたは複数の畳み込み層を含むCNNを使用して実装される。デブロッキングNN(2130)は、プーリング層、完全接続層、正規化層などの、本開示に記載された追加の層を含むことができる。デブロッキングNN(2130)内の層は、任意の適切な順序および任意の適切なアーキテクチャ(例えば、フィードフォワードアーキテクチャ、再帰型アーキテクチャ)で配置することができる。一例では、畳み込み層の後に、プーリング層、完全接続層、正規化層などの他の層が続く。
デブロッキングNN(2130)を用いて境界領域A~Dに対してデブロッキングを実行することができる。境界領域A~Dのうちの1つまたは複数は、アーチファクトを含む。アーチファクトは、それぞれの隣接するブロックによって誘発される場合がある。境界領域A~Dのうちの1つまたは複数は、アーチファクトを低減するためにデブロッキングNN(2130)に送ることができる。したがって、デブロッキングNN(2130)への入力は、境界領域A~Dのうちの1つまたは複数を含み、デブロッキングNN(2130)からの出力は、デブロッキングされた境界領域A~Dのうちの1つまたは複数を含む。
図21Bを参照すると、境界領域A~Dは、それぞれの隣接するブロックによって誘発されたアーチファクトを含む。境界領域A~Dは、アーチファクトを低減するためにデブロッキングNN(2130)に送ることができる。デブロッキングNN(2130)からの出力は、デブロッキングされた境界領域A’~D’を含む。一例では、デブロッキングされた境界領域A’~D’内のアーチファクトは、境界領域A~D内のアーチファクトと比べて低減されている。
図21Bおよび図21Cを参照すると、画像(2101)内の境界領域A~Dは、例えば、デブロッキングされた境界領域A’~D’によって置き換えられることによって更新される。したがって、画像(2150)が生成され、画像(2150)は、デブロッキングされた境界領域A’~D’および非境界領域(2121)~(2124)を含む。
1つまたは複数のサンプルは、複数の境界領域内にあり得る。複数の境界領域が対応するデブロッキングされた境界領域によって置き換えられるとき、1つまたは複数の共有サンプルのうちの1つの値を決定するために任意の適切な方法を使用することができる。
図21Aを参照すると、サンプルSは境界領域AおよびCの中にある。境界領域A’およびC’を取得した後、サンプルSの値を取得するために以下の方法を使用することができる。一例では、境界領域Aはデブロッキングされた境界領域A’によって置き換えられ、その後、境界領域Cはデブロッキングされた境界領域C’によって置き換えられる。したがって、サンプルSの値は、デブロッキングされた境界領域C’内のサンプルSの値によって決定される。
一例では、境界領域Cがデブロッキングされた境界領域C’によって置き換えられ、その後、境界領域Aがデブロッキングされた境界領域A’によって置き換えられる。したがって、サンプルSの値は、デブロッキングされた境界領域A’内のサンプルSの値によって決定される。
一例では、サンプルSの値は、デブロッキングされた境界領域A’内のサンプルSの値とデブロッキングされた境界領域C’内のサンプルSの値の平均(例えば、加重平均)によって決定される。
境界領域は、3つ以上のブロックのサンプルを含むことができる。図22は、本開示の実施形態による、3つ以上のブロックのサンプルを含む境界領域の一例を示す。単一の境界領域ABは境界領域AおよびBを含むことができる。
境界領域ABは、2つの隣接する復元ブロック(2111)と(2113)との間の共有境界(2141)の両側のサンプルを含み、2つの隣接する復元ブロック(2112)と(2114)との間の共有境界(2142)の両側のサンプルを含むことができる。単一の境界領域CDは境界領域CおよびDを含むことができる。
境界領域CDは、2つの隣接する復元ブロック(2111)と(2112)との間の共有境界(2143)の両側のサンプルを含み、2つの隣接する復元ブロック(2113)と(2114)との間の共有境界(2144)の両側のサンプルを含むことができる。
デブロッキングNN(2130)などのデブロッキングNNは、境界領域ABおよびCDのうちの1つまたは複数に対してデブロッキングを実行して、境界領域のうちの1つまたは複数のデブロッキングされた境界領域を生成することができる。図22を参照すると、境界領域ABおよびCDはデブロッキングNN(2130)に送られ、デブロッキングされた境界領域AB’およびCD’が生成される。デブロッキングされた境界領域AB’およびCD’は、画像(2101)内の境界領域ABおよびCDを置き換えることができ、このように画像(2250)が生成される。画像(2250)は、デブロッキングされた境界領域AB’~CD’および非境界領域(2121)~(2124)を含むことができる。
本開示の実施形態によれば、マルチモデルデブロッキング方法を使用することができる。アーチファクトを除去するために、異なるタイプまたはカテゴリの境界領域に異なるデブロッキングモデルを適用することができる。境界領域を異なるカテゴリに分類するために、分類モジュールを適用することができる。任意の分類モジュールを適用することができる。一例では、分類モジュールはNNに基づく。一例では、分類モジュールはNNに基づかない。境界領域は、それぞれのカテゴリに従って異なるデブロッキングモデルに送ることができる。
一実施形態では、少なくとも1つのデブロッキングNNは、それぞれ、異なるデブロッキングモデルに基づいて実装された複数のデブロッキングNNを含む。複数のデブロッキングNNのうちのどれを境界領域に適用するかを決定することができる。決定されたデブロッキングNNを用いて境界領域に対してデブロッキングを実行することができる。一例では、複数のデブロッキングNNのうちのどれを適用するかは、DNN、CNNなどの(例えば、分類NNとも呼ばれる)NNに基づく分類モジュールによって決定される。
図23は、本開示の一実施形態による、複数のデブロッキングモデルに基づく例示的なデブロッキングプロセス(2300)を示す。分類モジュール(2310)は、境界領域A~Dを1つまたは複数のカテゴリに分類することができる。例えば、境界領域C~Dは第1のカテゴリに分類され、境界領域Bは第2のカテゴリに分類され、境界領域Aは第3のカテゴリに分類される。異なるカテゴリの境界領域に異なるデブロッキングモデルを適用することができる。図23では、デブロッキングNN(2330)は、複数のデブロッキングモデル(例えば、デブロッキングモデル1~L)に基づくマルチモデルデブロッキングなどのデブロッキングを実行するために使用することができる。Lは正の整数である。Lが1であるとき、デブロッキングNN(2330)は単一のデブロッキングモデルを含む。Lが1より大きいとき、デブロッキングNN(2330)は複数のデブロッキングモデルを含む。
一例では、デブロッキングモデル1は、第1のカテゴリ内の境界領域(例えば、CおよびD)に適用され、デブロッキングされた境界領域(例えば、C’’およびD’’)が生成される。デブロッキングモデル2は、第2のカテゴリの境界領域(例えば、B)に適用され、デブロッキングされた境界領域(例えば、B’’)が生成される。デブロッキングモデル3は、第3のカテゴリの境界領域(例えば、A)に適用され、デブロッキングされた境界領域(例えば、A’’)が生成される。デブロッキングされた境界領域A’’~D’’は、画像(2101)内の対応する境界領域A~Dを置き換えることができ、このように画像(2350)が生成される。画像(2350)は、デブロッキングされた境界領域A’’~D’’および非境界領域(2121)~(2124)を含むことができる。
境界領域を分類またはカテゴライズするために、任意の適切なメトリックを適用することができる。一例では、境界領域は、境界領域のコンテンツに従って分類される。例えば、高周波数コンテンツ(例えば、比較的大きい分散を有するコンテンツ)を有する境界領域および低周波数コンテンツ(例えば、比較的小さい分散を有するコンテンツ)を有する境界領域は、異なるデブロッキングモデルに対応する異なるカテゴリに分類される。境界領域内のアーチファクトの強度は、境界領域を分類するために使用することができる。マルチモデルデブロッキング方法は、2つ以上のブロック間の境界領域(例えば、A、B、C、D、AB、および/またはCD)などの任意の適切な境界領域に適用することができる。境界領域の周波数は、境界領域内のサンプルの最大差に基づいて決定されてもよい。一例では、共有境界の第1の側にある第1のエッジ付近のサンプルの第1の差が決定される。一例では、共有境界の第2の側にある第2のエッジ付近のサンプルの第2の差が決定される。一例では、第1の差および第2の差が決定される。
ブロック間のアーチファクトを除去するために、デブロッキングNN(例えば、図21BのデブロッキングNN(2130)または図23のデブロッキングNN(2330))を適用することができる。一例では、共有境界に近いサンプルまたはピクセルは、共有境界からさらに離れたサンプル(またはピクセル)よりも多くデブロッキングすることができる。図21Aに戻ると、サンプルSはサンプルFよりも共有境界(2141)に近く、したがって、サンプルSはサンプルFよりも多くデブロッキングすることができる。
デブロッキングNN(例えば、図21BのデブロッキングNN(2130)または図23のデブロッキングNN(2330))におけるデブロッキングモデルは、1つまたは複数の畳み込み層を含むことができる。例えば、CNNベースのアテンション機構(例えば、非局所アテンション、スクイーズおよび励起ネットワーク(SENet)、(例えば、CNNまたはconvnetのセットおよび活性化関数を含む)残差ニューラルネットワーク(ResNet)などが使用されてもよい。例えば、画像超解像によって使用されるDNNは、例えば、出力サイズを入力サイズと同一になるように変更することによって使用することができる。画像超解像では、画像の解像度を低解像度から高解像度に拡張することができる。
NNまたは他の学習ベースの方法を用いて境界領域に対してどのようにデブロッキングを実行するかが上述されている。いくつかの例では、ビデオエンコーダおよび/またはビデオデコーダは、NNに基づくデブロッキング方法およびNNに基づかないデブロッキング方法から選択することができる。選択は、スライスレベル、ピクチャレベル、ピクチャグループ、シーケンスレベルなどの様々なレベルで行うことができる。選択は、フラグを使用してシグナリングすることができる。選択は、境界領域のコンテンツから推論することができる。
ビデオエンコーダおよび/またはビデオデコーダは、例えば、ピクセルまたはサンプルに対するNN導出調整がデフォルトレベルの境界強度(BS)にあるとき、本開示に記載された方法および実施形態に加えて、様々なレベルの境界強度を適用することができる。境界条件およびブロックコーディング特徴を分析することにより、デフォルト調整を修正(例えば、拡大または縮小)するために異なるレベルのBSが割り当てられてもよい。
本開示の一実施形態によれば、少なくとも1つの後処理NNは、少なくとも1つの拡張NNを含むことができる。隣接する復元ブロックの非境界領域のうちの1つまたは複数は、少なくとも1つの拡張NNで拡張することができる。非境界領域のうちの1つまたは複数は、非境界領域のうちの拡張された1つまたは複数と置き換えることができる。
復元画像(例えば、図21Aの画像(2101))は、拡張された画像(例えば、最終的な復元画像)を生成するために拡張モジュールに送ることができる。復元画像は、デブロッキングが実行されるいくつかの実施形態では、デブロッキングNNを使用することによってアーチファクトを低減した後に、拡張モジュールに送ることができる。画像の品質を高めるために、NNベースのポスト拡張モデル(例えば、DNNまたはCNNに基づくポスト拡張モデル)は、図24のポスト拡張NN(2430)などのポスト拡張モジュールで使用することができる。
図24は、本開示の一実施形態による、例示的な拡張プロセス(2400)を示す。いくつかの例では、画像(2101)内の非境界領域(2121)~(2124)(例えば、境界領域A~D以外の残りの領域)は、デブロッキングモジュール(例えば、デブロッキングNN(2130))に送られない。一例では、非境界領域(例えば、非境界領域(2121))は、画像(例えば、(2101))内の復元ブロック(例えば、(2111))からであり、境界領域のサイズは、(n-m)×(n-m)であり得る。図21Aを参照して記載されたように、nは復元ブロック(例えば、(2111))の辺の長さ(例えば、幅および/または高さ)であり、mはデブロッキングのためのサブ境界領域(例えば、A1)の辺の長さである。非境界領域(2121)~(2124)のうちの1つまたは複数は、非境界領域(2121)~(2124)のうちの1つまたは複数の品質をさらに高めるために拡張モジュールに送ることができる。非境界領域のうちの拡張された1つまたは複数は、画像内の非境界領域(2121)~(2124)のうちの1つまたは複数を置き換えることができる。図24を参照すると、非境界領域(2121)~(2124)は、拡張された非境界領域(2121’)~(2124’)を生成するためにポスト拡張NN(2430)に供給される。拡張された非境界領域(2121’)~(2124’)は、拡張された画像(2450)を生成するために、拡張された非境界領域(2121)~(2124)を置き換えることができる。
一例では、非境界領域は、非境界領域の一部分が境界領域内にあるように境界領域と重なる。一例では、非境界領域はコーディングブロック全体である。図24を参照すると、ブロック(2111)は非境界領域であり得、したがって、非境界領域(2111)は、(2112)~(2113)などの他の隣接ブロックと隣接する。
いくつかの実施形態では、少なくとも1つの拡張NNは、それぞれ、複数の拡張モデル(例えば、ポスト拡張モデル)に基づく。複数の拡張モデルのうちのどれを非境界領域に適用するかは、例えば、分類モジュールによって決定することができる。非境界領域は、決定された拡張モデルを用いて拡張することができる。一例では、複数の拡張モデルのうちのどれを適用するかは、DNN、CNNなどの(例えば、分類NNとも呼ばれる)NNに基づく分類モジュールによって決定される。分類モジュール(例えば、ポスト拡張プロセス(例えば、(2500))で使用される分類モジュール(2510))は、デブロッキングプロセス(例えば、(2300))で使用される分類モジュール(例えば、分類モジュール(2310)と同一であっても異なっていてもよい。分類モジュール(例えば、ポスト拡張プロセスで使用される分類モジュール(2510))は、NN(例えば、DNNまたはCNN)を含むことができる。一例では、分類モジュール(例えば、ポスト拡張プロセスで使用される分類モジュール(2510))は、NNを含まない。
図25は、本開示の一実施形態による、マルチモデルポスト拡張モジュールなどの例示的な拡張プロセス(2500)を示す。
分類モジュール(2510)は、非境界領域(2121)~(2124)を1つまたは複数のカテゴリに分類することができる。例えば、非境界領域(2122)~(2123)は第1のカテゴリに分類され、非境界領域(2121)および(2124)は第2のカテゴリに分類される。異なるカテゴリの非境界領域に異なる拡張モデル(例えば、ポスト拡張モデル)を適用することができる。図25では、拡張NN(2530)は、複数の拡張モデル(例えば、拡張モデル1~J)に基づくマルチモデル拡張などの拡張を実行するために使用することができる。Jは正の整数である。Jが1であるとき、拡張NN(2530)は単一の拡張モデルを含む。Jが1より大きいとき、拡張NN(2530)は複数の拡張モデルを含む。
一例では、拡張モデル1は、第1のカテゴリの非境界領域(例えば、(2122)~(2123))に適用され、拡張された非境界領域(例えば、(2122’’)~(2123’’))が生成される。拡張モデル2は、第2のカテゴリの非境界領域(例えば、(2121)および(2124))に適用され、拡張された非境界領域(例えば、(2121’’)および(2124’’))が生成される。拡張された非境界領域(2121’’)~(2124’’)は、対応する非境界領域(2121)~(2124)を置き換えることができ、拡張された画像(2550)は、拡張された非境界領域(2121’’)~(2124’’)および境界領域A~Dを含む。
非境界領域を分類またはカテゴライズするために、任意の適切なメトリックを適用することができる。一例では、非境界領域は、非境界領域のコンテンツに従って分類される。例えば、高周波数コンテンツ(例えば、比較的大きい分散を有するコンテンツ)を有する非境界領域および低周波数コンテンツ(例えば、比較的小さい分散を有するコンテンツ)を有する非境界領域は、異なる拡張モデルに対応する異なるカテゴリに分類される。
画像は、図21~図25を参照して記載されたように、ブロックレベルで拡張することができる。拡張モデル(例えば、ポスト拡張モデル)は、画像全体を拡張することができる。図26は、本開示の一実施形態による、画像全体を拡張する例示的な画像レベルの拡張プロセス(2600)を示す。画像(2101)は、図21Aに記載されたように、非境界領域(2121)~(2124)および境界領域A~Dを含む。一例では、画像(2101)は、上述されたように、復元ブロック(2111)~(2114)を含む復元画像である。境界領域内のアーチファクトは低減することができ、非境界領域は改善された見栄えで拡張することができる。
図26を参照すると、境界領域A~Dおよび非境界領域(2121)~(2124)を含む画像(2101)は、拡張モジュール(2630)に供給することができる。拡張モジュール(2630)は、例えば、境界領域A~Dをデブロッキングすることにより、それぞれ、境界領域A~Dに対応する拡張された境界領域E~Hを生成することができる。拡張モジュール(2630)は、それぞれ、非境界領域(2121)~(2124)に対応する拡張された非境界領域(2621)~(2624)を生成することができる。拡張された境界領域E~Hは、それぞれ、境界領域A~Dを置き換えることができ、拡張された非境界領域(2621)~(2624)は、それぞれ、非境界領域(2121)~(2124)を置き換えることができ、したがって、拡張された画像(2650)が復元画像(2101)に基づいて生成される。
一例では、画像ベースの拡張モジュール(2630)は、デブロッキングと拡張の両方を実行することができる拡張NNを含む。一例では、画像ベースの拡張モジュール(2630)は、拡張を実行することができる拡張NNと、デブロッキングを実行することができるデブロッキングNNとを含む。
図24~図26を参照して記載された拡張モジュール(例えば、(2430)、(2530)、および(2630))は、画像の品質を拡張することができる。拡張モジュール(例えば、(2430)、(2530)、および(2630))は、1つまたは複数の畳み込み層を含むことができる。CNNベースのアテンション機構(例えば、非局所アテンション、SENet)、(例えば、CNNまたはconvnetのセットおよび活性化関数を含む)ResNetなどが使用されてもよい。例えば、画像超解像によって使用されるDNNは、例えば、出力サイズを入力サイズと同一になるように変更することによって使用することができる。
画像内の境界領域および非境界領域は、順次または同時になど、任意の適切な順序で拡張NNおよびデブロッキングNNによって処理することができる。一例では、境界領域がデブロッキングNNによってデブロッキングされ、その後非境界領域が拡張NNによって処理される。一例では、非境界領域が拡張NNによって処理され、その後境界領域がデブロッキングNNによってデブロッキングされる。
本開示の一実施形態によれば、拡張NN(例えば、(2430)、(2530)、もしくは(2630))、デブロッキングNN(例えば、(2130)もしくは(2330))、および/または分類NN(例えば、(2310)もしくは(2510))は、本開示に記載されたように、任意のニューラルネットワークアーキテクチャを含むことができ、任意の数の層を含むことができ、1つまたは複数のサブニューラルネットワークを含むことができ、任意の適切な訓練画像または訓練ブロックで訓練することができる。訓練画像は、生画像または残差データを含む画像を含むことができる。訓練ブロックは、生画像、または残差データを含む画像からであり得る。
本開示に記載されたように、拡張NN(例えば、(2430)、(2530)、もしくは(2630))、デブロッキングNN(例えば、(2130)もしくは(2330))、および/または分類NN(例えば、(2310)もしくは(2510))のうちの1つにおける1つまたは複数の事前訓練されたパラメータを更新するために、コンテンツ適応型オンライン訓練を適用することができる。
拡張NN(例えば、(2430)、(2530)、もしくは(2630))、デブロッキングNN(例えば、(2130)もしくは(2330))、および/または分類NN(例えば、(2310)もしくは(2510))は、別々に訓練することができ、例えば、単一のデブロッキングNNは、デブロッキングNNにおける事前訓練されたパラメータを決定するために訓練される。拡張NN(例えば、(2430)、(2530)、もしくは(2630))、デブロッキングNN(例えば、(2130)もしくは(2330))、および/または分類NN(例えば、(2310)もしくは(2510))は、NICフレームワーク内の構成要素として訓練(事前訓練またはオンラインで訓練)することができる。例えば、NICフレームワーク(900)と、拡張NN(例えば、(2430)、(2530)、もしくは(2630))、デブロッキングNN(例えば、(2130)もしくは(2330))、および/または分類NN(例えば、(2310)もしくは(2510))のうちの少なくとも1つは、一緒に訓練することができる。
一実施形態では、ポストフィルタリングモジュール(1910)内のポストフィルタリングNNは、拡張NN(例えば、(2430)、(2530)、または(2630))、デブロッキングNN(例えば、(2130)または(2330))、および分類NN(例えば、(2310)または(2510))のうちの1つまたは複数を含むことができる。拡張NN(例えば、(2430)、(2530)、または(2630))およびデブロッキングNN(例えば、(2130)または(2330))は、復元画像または復元ブロックに適用することができる。
拡張プロセス(例えば、(2400)、(2500)、または(2600))は、例えば、ブロックが復元された後に拡張プロセスが実行されるので、ポスト拡張プロセスと呼ぶことができる。同じ理由で、拡張モジュール(例えば、(2430)、(2530)、または(2630))は、ポスト拡張モジュールまたはポスト拡張NNと呼ぶことができる。
いくつかの例では、復元画像(2101)は残差データを含む。
図27は、本開示の一実施形態による、符号化プロセス(2700)を概説するフローチャートを示す。プロセス(2700)は、入力信号(例えば、入力ブロックまたは入力画像)を符号化する際に使用することができる。様々な実施形態では、プロセス(2700)は、端末デバイス(310)、(320)、(330)、および(340)内の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703)、(1600A)、または(1700))の機能を実行する処理回路などの処理回路によって実行される。一例では、処理回路は、(i)ビデオエンコーダ(403)、ビデオエンコーダ(603)、およびビデオエンコーダ(703)のうちの1つ、ならびに(ii)ビデオエンコーダ(1600A)またはビデオエンコーダ(1700)のうちの1つなどの機能の組合せを実行する。いくつかの実施形態では、プロセス(2700)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(2700)を実行する。プロセスは(S2701)から始まり、(S2710)に進む。
(S2710)において、符号化信号(例えば、
Figure 2023532397000106
)は、任意の適切な方法を使用して入力信号(例えば、x)に基づいて生成することができる。一例では、符号化信号
Figure 2023532397000107
は、図9Bおよび図19Bを参照して記載されたように、入力信号xに基づいて生成される。入力信号は、入力ブロックまたは入力画像であり得る。
(S2720)において、ポストフィルタリングモジュール(例えば、(1910))内のポストフィルタリングNNの1つまたは複数のパラメータは、ポストフィルタリング訓練において復元信号
Figure 2023532397000108
に基づいて決定することができる。図19Bを参照すると、復元信号
Figure 2023532397000109
は、NICフレームワーク(900)を使用して符号化信号
Figure 2023532397000110
に基づいて生成することができる。ポストフィルタリング訓練は、ポストフィルタリングモジュール(1910)内のポストフィルタリングNNの1つまたは複数のパラメータを決定するために実施することができる。ポストフィルタリングNNは初期パラメータで構成することができ、初期パラメータのうちの1つまたは複数の初期パラメータは、ポストフィルタリング訓練において反復的に更新することができる。1つまたは複数の初期パラメータは、1つまたは複数のパラメータによって置き換えることができる。
(S2730)において、ポストフィルタリングNNの決定された1つまたは複数のパラメータを示すポストフィルタリング情報を符号化することができる。ポストフィルタリング情報は、符号化信号
Figure 2023532397000111
に対応する。いくつかの例では、符号化信号
Figure 2023532397000112
およびポストフィルタリング情報は、コード化ビデオビットストリーム内で送信することができる。処理(2700)は(S2799)に進み、終了する。
プロセス(2700)は様々なシナリオに適切に適合させることができ、プロセス(2700)内のステップはそれに応じて調整することができる。プロセス(2700)内のステップのうちの1つまたは複数は、適合させ、省略し、繰り返し、かつ/または組み合わせることができる。プロセス(2700)を実施するために、任意の適切な順序を使用することができる。さらなるステップを追加することができる。
図28は、本開示の一実施形態による、復号プロセス(2800)を概説するフローチャートを示す。プロセス(2800)は、符号化信号(例えば、符号化ブロックまたは符号化画像)の復元およびポストフィルタリングにおいて使用することができる。様々な実施形態では、プロセス(2800)は、端末デバイス(310)、(320)、(330)、および(340)内の処理回路、ビデオデコーダ(1600B)の機能を実行する処理回路、ビデオデコーダ(例えば、(2000A)または(2000B))の機能を実行する処理回路などの処理回路によって実行される。一例では、処理回路は、(i)ビデオデコーダ(410)、ビデオデコーダ(510)、およびビデオデコーダ(810)のうちの1つ、ならびに(ii)ビデオデコーダ(2000A)またはビデオデコーダ(2000B)のうちの1つなどの機能の組合せを実行する。いくつかの実施形態では、プロセス(2800)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(2800)を実行する。プロセスは(S2801)から始まり、(S2810)に進む。
(S2810)において、第1の符号化信号に対応するコード化ビットストリーム内の第1のポストフィルタリング情報を復号することができる。第1の符号化信号は、符号化ブロックまたは符号化画像であり得る。第1のポストフィルタリング情報は、ビデオデコーダ内のポストフィルタリングNNの第1のパラメータ(例えば、第1のポストフィルタリングパラメータ)を示すことができる。ポストフィルタリングNNは、ビデオデコーダ(例えば、(2000A)または(2000B))内のポストフィルタリングモジュール(例えば、(1910))によって実施することができる。
一例では、第1の符号化信号は復元される第1の符号化画像を含み、第1のポストフィルタリング情報は第1の符号化画像に対応する。
一例では、第1のポストフィルタリングパラメータは、復元される第2の画像にさらに対応する。
第1のパラメータ(例えば、第1のポストフィルタリングパラメータ)は、ポストフィルタリングNNにおけるバイアス項または重み係数であり得る。一例では、第1のポストフィルタリングパラメータは、ポストフィルタリングNNにおけるバイアス項または重み係数に基づいて更新される。
第1のポストフィルタリング情報は、ポストフィルタリングNNの1つまたは複数のパラメータを様々な方式で示すことができる。一例では、ポストフィルタリングNNは初期パラメータで構成される。第1のポストフィルタリング情報は、第1のパラメータと初期パラメータのうちの1つとの間の差を示し、第1のパラメータは、差と初期パラメータのうちの1つの和に従って決定することができる。別の例では、第1のポストフィルタリング情報は、1つまたは複数のパラメータを直接示す。
一例では、ポストフィルタリングNN内の層の数は、第1の符号化信号のサイズ(例えば、幅、高さ、または面積)に依存する。
一例では、ポストフィルタリングNN内の層の数は、1つまたは複数のブロック内の異なるブロックに対応するステップサイズまたはステップの数に依存する。
一例では、1つまたは複数のブロックを含む画像またはビデオが受信される。復元される1つまたは複数のブロックに対応する画像またはビデオ内の第1のポストフィルタリングパラメータが復号される。第1のポストフィルタリングパラメータは、1つまたは複数のブロックのうちの少なくとも1つに適用することができる。第1のポストフィルタリングパラメータは、訓練データセットに基づいて訓練されたポストフィルタリングNN内のポストフィルタリングモジュールによって更新されている。
(S2820)において、第1の符号化信号に対応するビデオデコーダ内のポストフィルタリングNNは、例えば、第1のポストフィルタリング情報によって示された第1のパラメータ(例えば、第1のポストフィルタリングパラメータ)に基づいて決定することができる。例えば、ポストフィルタリングNN向けに構成された初期パラメータのうちの少なくとも1つは、第1のパラメータ(例えば、第1のポストフィルタリングパラメータ)で更新(例えば、置換)される。
(S2830)において、第1の符号化信号は、第1の符号化信号に対応する決定されたポストフィルタリングNNに基づいて復号することができる。第1の符号化信号は、復元信号を生成するために復元することができる。復元信号は、決定されたポストフィルタリングNNに基づいてポストフィルタリング信号を生成するためにポストフィルタリングすることができる。
一例では、第1の符号化信号は符号化ブロックを含み、符号化ブロックは復元することができる。復元ブロックは、決定されたポストフィルタリングNNに基づいてポストフィルタリングされたブロックを生成するためにポストフィルタリングすることができる。
一例では、第1の符号化信号は第1の符号化画像を含み、第1の符号化画像は、第1の符号化画像に対応する決定されたポストフィルタリングNNに基づいて復号される。
一例では、第2の符号化画像は、第1の符号化画像に対応する決定されたポストフィルタリングNNに基づいて復号される。
プロセス(2800)は(S2899)に進み、終了する。
プロセス(2800)は様々なシナリオに適切に適合させることができ、プロセス(2800)内のステップはそれに応じて調整することができる。プロセス(2800)内のステップのうちの1つまたは複数は、適合させ、省略し、繰り返し、かつ/または組み合わせることができる。プロセス(2800)を実施するために、任意の適切な順序を使用することができる。さらなるステップを追加することができる。
一例では、1つまたは複数のブロックに対応する画像またはビデオ内の第2のポストフィルタリングパラメータが復号される。ポストフィルタリングNNは、第2のポストフィルタリングパラメータに基づいて決定することができる。第2のポストフィルタリングパラメータは、1つまたは複数のブロック内の第2のブロックに適用することができる。第2のブロックは、1つまたは複数のブロックのうちの少なくとも1つとは異なる可能性がある。第2のポストフィルタリングパラメータは、ポストフィルタリングNN内のポストフィルタリングモジュールによって更新されている。
第1のポストフィルタリングパラメータは第2のポストフィルタリングパラメータとは異なる可能性があり、第1のポストフィルタリングパラメータは、1つまたは複数のブロックのうちの第1のブロックのコンテンツに適応でき、第2のポストフィルタリングパラメータは、第2のブロックのコンテンツに適応できる。第1のブロックは第2のブロックとは異なる可能性がある。
第1のポストフィルタリングパラメータは、1つまたは複数のブロックのうちの第1のブロックのコンテンツに基づいて決定することができ、第2のポストフィルタリングパラメータは、第2のブロックのコンテンツに基づいて決定することができる。
一例では、第1のポストフィルタリングパラメータは復元される第2の画像に対応し、第2の画像は決定されたポストフィルタリングNNに基づいて復号される。
一例では、第2の符号化信号に対応するコード化ビットストリーム内の第2のポストフィルタリング情報が復号される。第2のポストフィルタリング情報は第2のパラメータを示す。第2の符号化信号は第1の符号化信号とは異なる。第1の符号化信号に対応するポストフィルタリングNNは、第2のパラメータに基づいて更新することができる。更新されたポストフィルタリングNNは第2の符号化信号に対応し、第1のパラメータおよび第2のパラメータで構成することができる。第1のパラメータおよび第2のパラメータは、更新されたポストフィルタリングNNの(i)2つの異なる重み係数、(ii)2つの異なるバイアス、または(iii)重み係数およびバイアスを含むことができる。第2の符号化信号は、第2の符号化信号に対応する更新されたポストフィルタリングNNに基づいて復号することができる。
一例では、第1のポストフィルタリングパラメータは、(i)ポストフィルタリングNNの単一の層、(ii)ポストフィルタリングNNの複数の層、または(iii)ポストフィルタリングNNのすべての層において更新される。
本開示の実施形態は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、方法(または実施形態)の各々、エンコーダ、およびデコーダは、処理回路(例えば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実装されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
本開示は、ニューラルネットワークベースのエンコーダなどのエンコーダ、ニューラルネットワークベースのデコーダなどのデコーダに使用される方法に対していかなる制限も課さない。エンコーダ、デコーダなどで使用されるニューラルネットワークは、DNN、CNNなどの任意の適切なタイプのニューラルネットワークであり得る。
したがって、本開示のコンテンツ適応型オンライン訓練方法は、異なるタイプのNICフレームワーク、例えば、異なるタイプの符号化DNN、復号DNN、符号化CNN、復号CNNなどに適応することができる。
上述された技法は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装され、1つまたは複数のコンピュータ可読媒体に物理的に記憶することができる。例えば、図29は、開示された主題のいくつかの実施形態を実装するのに適したコンピュータシステム(2900)を示す。
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによる、直接、または解釈、マイクロコード実行などを介して実行することができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、または同様のメカニズムを受けることができる任意の適切な機械語またはコンピュータ言語を使用してコード化することができる。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行することができる。
コンピュータシステム(2900)に関して図29に示された構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関するいかなる制限も示唆するものではない。構成要素の構成は、コンピュータシステム(2900)の例示的な実施形態に示された構成要素のいずれか1つまたは組合せに関するいかなる依存性または要件も有すると解釈されるべきでない。
コンピュータシステム(2900)は、特定のヒューマンインターフェース入力デバイスを含んでもよい。そのようなヒューマンインターフェース入力デバイスは、例えば、(キーストローク、スワイプ、データグローブの動きなどの)触覚入力、(音声、拍手などの)オーディオ入力、(ジェスチャなどの)視覚入力、(描写されていない)嗅覚入力を介して、1人または複数の人間のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、(音声、音楽、周囲の音などの)オーディオ、(走査画像、静止画カメラから取得された写真画像などの)画像、(2次元ビデオ、立体ビデオを含む3次元ビデオなどの)ビデオなどの、人間による意識的な入力に必ずしも直接関連しない特定の媒体を取り込むために使用することもできる。
入力ヒューマンインターフェースデバイスには、キーボード(2901)、マウス(2902)、トラックパッド(2903)、タッチスクリーン(2910)、データグローブ(図示せず)、ジョイスティック(2905)、マイクロフォン(2906)、スキャナ(2907)、カメラ(2908)のうちの1つまたは複数が含まれてもよい(各々の1つのみが描写されている)。
コンピュータシステム(2900)はまた、特定のヒューマンインターフェース出力デバイスを含んでもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を介して、1人または複数の人間のユーザの感覚を刺激している場合がある。そのようなヒューマンインターフェース出力デバイスには、触覚出力デバイス(例えば、タッチスクリーン(2910)、データグローブ(図示せず)、またはジョイスティック(2905)による触覚フィードバック、しかし入力デバイスとして機能しない触覚フィードバックデバイスが存在する可能性もある)、(スピーカ(2909)、ヘッドフォン(描写せず)などの)オーディオ出力デバイス、(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(2910)など、各々タッチスクリーン入力機能の有無にかかわらず、各々触覚フィードバック機能の有無にかかわらず、それらのうちのいくつかは、ステレオグラフィック出力、仮想現実眼鏡(描写せず)、ホログラフィックディスプレイおよびスモークタンク(描写せず)などの手段を介して2次元視覚出力または3次元以上の出力を出力することが可能な場合がある)視覚出力デバイス、ならびにプリンタ(描写せず)が含まれてもよい。
コンピュータシステム(2900)は、CD/DVDまたは同様の媒体(2921)を有するCD/DVD ROM/RW(2920)を含む光学媒体、サムドライブ(2922)、リムーバブルハードドライブまたはソリッドステートドライブ(2923)、テープおよびフロッピーディスクなどのレガシー磁気媒体(描写せず)、セキュリティドングルなどの特殊なROM/ASIC/PLDベースのデバイス(描写せず)などの、人間がアクセス可能なストレージデバイスおよびそれらに関連する媒体を含むこともできる。
当業者はまた、現在開示されている主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
コンピュータシステム(2900)は、1つまたは複数の通信ネットワーク(2955)へのインターフェース(2954)を含むこともできる。ネットワークは、例えば、ワイヤレス、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例には、イーサネット、ワイヤレスLANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波ブロードキャストTVを含むTVの有線またはワイヤレスの広域デジタルネットワーク、CANBusを含む車両および産業用などが含まれる。特定のネットワークは、通常、(例えば、コンピュータシステム(2900)のUSBポートなどの)特定の汎用データポートまたは周辺バス(2949)に取り付けられた外部ネットワークインターフェースアダプタを必要とし、他のネットワークは、通常、以下に記載されるシステムバスに取り付けることによってコンピュータシステム(2900)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2900)は他のエンティティと通信することができる。そのような通信は、単方向受信のみ(例えば、ブロードキャストTV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または、例えば、ローカルもしくは広域のデジタルネットワークを使用する他のコンピュータシステムとの双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述されたこれらのネットワークおよびネットワークインターフェースの各々で使用することができる。
前述のヒューマンインターフェースデバイス、人間がアクセス可能なストレージデバイス、およびネットワークインターフェースは、コンピュータシステム(2900)のコア(2940)に取り付けることができる。
コア(2940)は、1つまたは複数の中央処理装置(CPU)(2941)、グラフィックス処理装置(GPU)(2942)、フィールドプログラマブルゲートエリア(FPGA)(2943)、特定のタスク用のハードウェアアクセラレータ(2944)、グラフィックスアダプタ(2950)などの形態の特殊なプログラマブル処理装置を含むことができる。これらのデバイスは、読取り専用メモリ(ROM)(2945)、ランダムアクセスメモリ(2946)、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量ストレージ(2947)とともに、システムバス(2948)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(2948)は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺機器は、コアのシステムバス(2948)に直接取り付けることも、周辺バス(2949)を介して取り付けることもできる。一例では、ディスプレイ(2910)は、グラフィックスアダプタ(2950)に接続することができる。周辺バス用のアーキテクチャには、PCI、USBなどが含まれる。
CPU(2941)、GPU(2942)、FPGA(2943)、およびアクセラレータ(2944)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(2945)またはRAM(2946)に記憶することができる。移行データもRAM(2946)に記憶することができるが、永続データは、例えば、内部大容量ストレージ(2947)に記憶することができる。メモリデバイスのいずれかに対する高速の記憶および検索は、1つまたは複数のCPU(2941)、GPU(2942)、大容量ストレージ(2947)、ROM(2945)、RAM(2946)などと密接に関連付けることができるキャッシュメモリを使用して可能にすることができる。
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードをそこに有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、またはそれらは、コンピュータソフトウェア技術のスキルを有する人々に周知かつ利用可能な種類であり得る。
一例として、限定としてではなく、アーキテクチャを有するコンピュータシステム(2900)、具体的にはコア(2940)は、1つまたは複数の有形のコンピュータ可読媒体内に具現化されたソフトウェアを(CPU、GPU、FPGA、アクセラレータなどを含む)プロセッサが実行する結果として、機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介されたユーザアクセス可能大容量ストレージ、ならびにコア内部大容量ストレージ(2947)またはROM(2945)などの非一時的な性質のコア(2940)の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(2940)によって実行することができる。コンピュータ可読媒体は、特定のニーズに応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(2940)、および具体的にはそのうちの(CPU、GPU、FPGAなどを含む)プロセッサに、RAM(2946)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するために、ソフトウェアの代わりに、またはソフトウェアと一緒に動作することができる、回路(例えば、アクセラレータ(2944))内に配線された、またはさもなければ具現化されたロジックの結果として、機能を提供することができる 必要に応じて、ソフトウェアへの参照はロジックを包含することができ、その逆も同様である。必要に応じて、コンピュータ可読媒体への参照は、実行のためのソフトウェアを記憶する(集積回路(IC)などの)回路、実行のためのロジックを具現化する回路、または両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組合せを包含する。
付記A:頭字語
JEM 共同探索モデル
VVC 多用途ビデオコーディング
BMS ベンチマークセット
MV 動きベクトル
HEVC 高効率ビデオコーディング
SEI 補足拡張情報
VUI ビデオユーザビリティ情報
GOPs ピクチャグループ
TUs 変換ユニット
PUs 予測ユニット
CTUs コーディングツリーユニット
CTBs コーディングツリーブロック
PBs 予測ブロック
HRD 仮想参照デコーダ
SNR 信号対雑音比
CPUs 中央処理装置
GPUs グラフィックス処理装置
CRT 陰極線管
LCD 液晶ディスプレイ
OLED 有機発光ダイオード
CD コンパクトディスク
DVD デジタルビデオディスク
ROM 読取り専用メモリ
RAM ランダムアクセスメモリ
ASIC 特定用途向け集積回路
PLD プログラマブル論理デバイス
LAN ローカルエリアネットワーク
GSM モバイル通信用グローバルシステム
LTE ロングタームエボリューション
CANBus コントローラエリアネットワークバス
USB ユニバーサルシリアルバス
PCI 周辺構成要素相互接続
FPGA フィールドプログラマブルゲートエリア
SSD ソリッドステートドライブ
IC 集積回路
CU コーディングユニット
NIC ニューラル画像圧縮
R-D レート歪み
E2E エンドツーエンド
ANN 人工ニューラルネットワーク
DNN 深層ニューラルネットワーク
CNN 畳み込みニューラルネットワーク
本開示は、いくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に図示または記載されていないが、本開示の原理を具現化し、したがって、その趣旨および範囲内にある多数のシステムおよび方法を考案できることが諒解されよう。
101 サンプル
102 矢印
103 矢印
104 正方形ブロック
110 概略図
201 現在ブロック
202 周囲サンプル
203 周囲サンプル
204 周囲サンプル
205 周囲サンプル
206 周囲サンプル
300 通信システム
310 端末デバイス
320 端末デバイス
330 端末デバイス
340 端末デバイス
350 通信ネットワーク
400 通信システム
401 ビデオソース
402 ビデオピクチャのストリーム
403 ビデオエンコーダ
404 符号化ビデオデータ
405 ストリーミングサーバ
406 クライアントサブシステム
407 コピー、符号化ビデオデータ
408 クライアントサブシステム
409 コピー、符号化ビデオデータ
410 ビデオデコーダ
411 ビデオピクチャの出力ストリーム
412 ディスプレイ
413 キャプチャサブシステム
420 電子デバイス
430 電子デバイス
501 チャネル
510 ビデオデコーダ
512 レンダリングデバイス
515 バッファメモリ
520 パーサー
521 シンボル
530 電子デバイス
531 受信機
551 スケーラ/逆変換ユニット
552 イントラピクチャ予測ユニット
553 動き補償予測ユニット
555 アグリゲータ
556 ループフィルタユニット
557 参照ピクチャメモリ
558 現在ピクチャバッファ
601 ビデオソース
603 ビデオエンコーダ
620 電子デバイス
630 ソースコーダ
632 コーディングエンジン
633 ローカルデコーダ
634 参照ピクチャメモリ
635 予測器
640 送信機
643 コード化ビデオシーケンス
645 エントロピーコーダ
650 コントローラ
660 通信チャネル
703 ビデオエンコーダ
721 汎用コントローラ
722 イントラエンコーダ
723 残差計算器
724 残差エンコーダ
725 エントロピーエンコーダ
726 スイッチ
728 残差デコーダ
730 インターエンコーダ
810 ビデオデコーダ
871 エントロピーデコーダ
872 イントラデコーダ
873 残差デコーダ
874 復元モジュール
880 インターデコーダ
900 NICフレームワーク
911 メインエンコーダネットワーク
912 量子化器
913 エントロピーエンコーダ
914 エントロピーデコーダ
915 メインデコーダネットワーク
916 コンテキストモデルNN
917 エントロピーパラメータNN
921 ハイパーエンコーダ
922 量子化器
923 エントロピーエンコーダ
924 エントロピーデコーダ
925 ハイパーデコーダ
931 符号化信号
932 符号化ビット
951 第1のサブNN
952 第2のサブNN
980 画像
981 ブロック
982 ブロック
983 ブロック
984 ブロック
985 ブロック
986 ブロック
987 ブロック
988 ブロック
989 ブロック
990 ブロック
991 ブロック
992 ブロック
993 ブロック
994 ブロック
995 ブロック
996 ブロック
1600A ビデオエンコーダ
1600B ビデオデコーダ
1700 ビデオエンコーダ
1800 ビデオデコーダ
1910 ポストフィルタリングモジュール
1980 画像
1981 ブロック
1982 ブロック
1983 ブロック
1984 ブロック
1985 ブロック
1986 ブロック
1987 ブロック
1988 ブロック
1989 ブロック
1990 ブロック
1991 ブロック
1992 ブロック
1993 ブロック
1994 ブロック
1995 ブロック
1996 ブロック
2000A ビデオデコーダ
2000B ビデオデコーダ
2100 デブロッキングプロセス
2101 画像
2111 ブロック
2112 ブロック
2113 ブロック
2114 ブロック
2121 非境界領域
2121’ 非境界領域
2121’’ 非境界領域
2122 非境界領域
2122’ 非境界領域
2122’’ 非境界領域
2123 非境界領域
2123’ 非境界領域
2123’’ 非境界領域
2124 非境界領域
2124’ 非境界領域
2124’’ 非境界領域
2130 デブロッキングNN
2141 共有境界
2142 共有境界
2143 共有境界
2144 共有境界
2150 画像
2250 画像
2300 デブロッキングプロセス
2310 分類モジュール
2330 デブロッキングNN
2350 画像
2400 拡張プロセス
2430 拡張NN
2450 画像
2500 拡張プロセス
2510 分類モジュール
2530 拡張NN
2550 画像
2600 拡張プロセス
2621 拡張された非境界領域
2622 拡張された非境界領域
2623 拡張された非境界領域
2624 拡張された非境界領域
2630 拡張モジュール
2650 拡張された画像
2700 プロセス
2800 プロセス
2900 コンピュータシステム
2901 キーボード
2902 マウス
2903 トラックパッド
2905 ジョイスティック
2906 マイクロフォン
2907 スキャナ
2908 カメラ
2909 スピーカ
2910 タッチスクリーン
2920 CD/DVD ROM/RW
2921 CD/DVDまたは同様の媒体
2922 サムドライブ
2923 リムーバブルハードドライブまたはソリッドステートドライブ
2940 コア
2941 中央処理装置(CPU)
2942 グラフィックス処理装置(GPU)
2943 フィールドプログラマブルゲートエリア(FPGA)
2944 ハードウェアアクセラレータ
2945 読取り専用メモリ(ROM)
2946 ランダムアクセスメモリ(RAM)
2947 内部大容量ストレージ
2948 システムバス
2949 周辺バス
2950 グラフィックスアダプタ
2954 インターフェース
2955 通信ネットワーク

Claims (20)

  1. ビデオデコーダにおけるビデオ復号のための方法であって、
    1つまたは複数のブロックを含む画像またはビデオを受信するステップと、
    復元される前記1つまたは複数のブロックに対応する前記画像またはビデオ内の第1のポストフィルタリングパラメータを復号するステップであって、前記第1のポストフィルタリングパラメータが、前記1つまたは複数のブロックのうちの少なくとも1つに適用され、前記第1のポストフィルタリングパラメータが、訓練データセットに基づいて訓練されたポストフィルタリングニューラルネットワーク(NN)内のポストフィルタリングモジュールによって更新されている、ステップと、
    前記第1のポストフィルタリングパラメータに基づいて前記1つまたは複数のブロックに対応する前記ビデオデコーダ内の前記ポストフィルタリングNNを決定するステップと、
    前記1つまたは複数のブロックに対応する前記決定されたポストフィルタリングNNに基づいて、前記1つまたは複数のブロックを復号するステップと
    を含む、方法。
  2. 前記1つまたは複数のブロックに対応する前記画像またはビデオ内の第2のポストフィルタリングパラメータを復号するステップと、
    前記第2のポストフィルタリングパラメータにさらに基づいて前記ポストフィルタリングNNを決定するステップと
    を含み、
    前記第2のポストフィルタリングパラメータが、前記1つまたは複数のブロック内の第2のブロックに適用され、
    前記第2のブロックが、前記1つまたは複数のブロックのうちの前記少なくとも1つとは異なり、
    前記第2のポストフィルタリングパラメータが、前記ポストフィルタリングNN内の前記ポストフィルタリングモジュールによって更新されている、
    請求項1に記載の方法。
  3. 前記第1のポストフィルタリングパラメータが復元される第2の画像に対応し、
    前記方法が、前記決定されたポストフィルタリングNNに基づいて前記第2の画像を復号するステップをさらに含む、
    請求項1に記載の方法。
  4. 前記第1のポストフィルタリングパラメータが前記第2のポストフィルタリングパラメータとは異なり、前記第1のポストフィルタリングパラメータが、前記1つまたは複数のブロックのうちの第1のブロックのコンテンツに適応でき、前記第2のポストフィルタリングパラメータが、前記第2のブロックのコンテンツに適応できる、請求項2に記載の方法。
  5. 前記第1のポストフィルタリングパラメータが、前記ポストフィルタリングNNにおけるバイアス項または重み係数に基づいて更新される、請求項1に記載の方法。
  6. 前記ポストフィルタリングNNが初期パラメータで構成され、
    前記ポストフィルタリングNNを決定する前記ステップが、前記初期パラメータのうちの少なくとも1つを前記第1のポストフィルタリングパラメータで更新するステップを含む、
    請求項1に記載の方法。
  7. 前記1つまたは複数のブロックに対応するコーディング情報が、前記第1のポストフィルタリングパラメータと前記初期パラメータのうちの前記1つとの間の差を示し、
    前記方法が、前記差と前記初期パラメータのうちの前記1つの和に従って前記第1のポストフィルタリングパラメータを決定するステップをさらに含む、
    請求項6に記載の方法。
  8. 前記第1のポストフィルタリングパラメータが、(i)前記ポストフィルタリングNNの単一の層、(ii)前記ポストフィルタリングNNの複数の層、または(iii)前記ポストフィルタリングNNのすべての層において更新される、請求項1に記載の方法。
  9. 前記ポストフィルタリングNN内の層の数が、前記1つまたは複数のブロック内の異なるブロックに対応するステップサイズまたはステップの数に依存する、請求項1に記載の方法。
  10. ビデオ復号のための装置であって、
    1つまたは複数のブロックを含む画像またはビデオを受信し、
    復元される前記1つまたは複数のブロックに対応する前記画像またはビデオ内の第1のポストフィルタリングパラメータを復号し、前記第1のポストフィルタリングパラメータが、前記1つまたは複数のブロックのうちの少なくとも1つに適用され、前記第1のポストフィルタリングパラメータが、訓練データセットに基づいて訓練されたポストフィルタリングニューラルネットワーク(NN)内のポストフィルタリングモジュールによって更新されており、
    前記第1のポストフィルタリングパラメータに基づいて前記1つまたは複数のブロックに対応するビデオデコーダ内の前記ポストフィルタリングNNを決定し、
    前記1つまたは複数のブロックに対応する前記決定されたポストフィルタリングNNに基づいて、前記1つまたは複数のブロックを復号する
    ように構成された処理回路
    を備える、装置。
  11. 前記処理回路が、
    前記1つまたは複数のブロックに対応する前記画像またはビデオ内の第2のポストフィルタリングパラメータを復号し、
    前記第2のポストフィルタリングパラメータにさらに基づいて前記ポストフィルタリングNNを決定する
    ように構成され、
    前記第2のポストフィルタリングパラメータが、前記1つまたは複数のブロック内の第2のブロックに適用され、
    前記第2のブロックが、前記1つまたは複数のブロックのうちの前記少なくとも1つとは異なり、
    前記第2のポストフィルタリングパラメータが、前記ポストフィルタリングNN内の前記ポストフィルタリングモジュールによって更新されている、
    請求項10に記載の装置。
  12. 前記第1のポストフィルタリングパラメータが復元される第2の画像に対応し、
    前記処理回路が、前記決定されたポストフィルタリングNNに基づいて前記第2の画像を復号するように構成される、
    請求項10に記載の装置。
  13. 前記第1のポストフィルタリングパラメータが前記第2のポストフィルタリングパラメータとは異なり、前記第1のポストフィルタリングパラメータが、前記1つまたは複数のブロックのうちの第1のブロックのコンテンツに適応でき、前記第2のポストフィルタリングパラメータが、前記第2のブロックのコンテンツに適応できる、請求項11に記載の装置。
  14. 前記第1のポストフィルタリングパラメータが、前記ポストフィルタリングNNにおけるバイアス項または重み係数に基づいて更新される、請求項10に記載の装置。
  15. 前記ポストフィルタリングNNが初期パラメータで構成され、
    前記処理回路が、前記初期パラメータのうちの少なくとも1つを前記第1のポストフィルタリングパラメータで更新するように構成される、
    請求項10に記載の装置。
  16. 前記1つまたは複数のブロックに対応するコーディング情報が、前記第1のポストフィルタリングパラメータと前記初期パラメータのうちの前記1つとの間の差を示し、
    前記処理回路が、前記差と前記初期パラメータのうちの前記1つの和に従って前記第1のポストフィルタリングパラメータを決定するように構成される、
    請求項15に記載の装置。
  17. 前記第1のポストフィルタリングパラメータが、(i)前記ポストフィルタリングNNの単一の層、(ii)前記ポストフィルタリングNNの複数の層、または(iii)前記ポストフィルタリングNNのすべての層において更新される、請求項10に記載の装置。
  18. 前記ポストフィルタリングNN内の層の数が、前記1つまたは複数のブロック内の異なるブロックに対応するステップサイズまたはステップの数に依存する、請求項10に記載の装置。
  19. 1つまたは複数のブロックを含む画像またはビデオを受信することと、
    復元される前記1つまたは複数のブロックに対応する前記画像またはビデオ内の第1のポストフィルタリングパラメータを復号することであって、前記第1のポストフィルタリングパラメータが、前記1つまたは複数のブロックのうちの少なくとも1つに適用され、前記第1のポストフィルタリングパラメータが、訓練データセットに基づいて訓練されたポストフィルタリングニューラルネットワーク(NN)内のポストフィルタリングモジュールによって更新されている、復号することと、
    前記第1のポストフィルタリングパラメータに基づいて前記1つまたは複数のブロックに対応するビデオデコーダ内の前記ポストフィルタリングNNを決定することと、
    前記1つまたは複数のブロックに対応する前記決定されたポストフィルタリングNNに基づいて、前記1つまたは複数のブロックを復号することと
    を実行するように少なくとも1つのプロセッサによって実行可能なプログラムを記憶する、非一時的コンピュータ可読記憶媒体。
  20. 前記少なくとも1つのプロセッサによって実行可能な前記プログラムが、
    前記1つまたは複数のブロックに対応する前記画像またはビデオ内の第2のポストフィルタリングパラメータを復号することと、
    前記第2のポストフィルタリングパラメータにさらに基づいて前記ポストフィルタリングNNを決定することと
    を実行し、
    前記第2のポストフィルタリングパラメータが、前記1つまたは複数のブロック内の第2のブロックに適用され、
    前記第2のブロックが、前記1つまたは複数のブロックのうちの前記少なくとも1つとは異なり、
    前記第2のポストフィルタリングパラメータが、前記ポストフィルタリングNN内の前記ポストフィルタリングモジュールによって更新されている、
    請求項19に記載の非一時的コンピュータ可読記憶媒体。
JP2022570193A 2021-05-27 2022-05-24 ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法、装置およびコンピュータプログラム Pending JP2023532397A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163194057P 2021-05-27 2021-05-27
US63/194,057 2021-05-27
US17/749,641 US11979565B2 (en) 2021-05-27 2022-05-20 Content-adaptive online training method and apparatus for post-filtering
US17/749,641 2022-05-20
PCT/US2022/072529 WO2022251828A1 (en) 2021-05-27 2022-05-24 Content-adaptive online training method and apparatus for post-filtering

Publications (1)

Publication Number Publication Date
JP2023532397A true JP2023532397A (ja) 2023-07-28

Family

ID=84194503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022570193A Pending JP2023532397A (ja) 2021-05-27 2022-05-24 ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法、装置およびコンピュータプログラム

Country Status (6)

Country Link
US (1) US11979565B2 (ja)
EP (1) EP4128764A4 (ja)
JP (1) JP2023532397A (ja)
KR (1) KR20230010259A (ja)
CN (1) CN115956363A (ja)
WO (1) WO2022251828A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11811429B2 (en) * 2019-10-15 2023-11-07 Tencent America LLC Variational dropout with smoothness regularization for neural network model compression
US20240121443A1 (en) * 2022-10-06 2024-04-11 Sharp Kabushiki Kaisha Systems and methods for signaling neural network post-filter information updates in video coding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201603144D0 (en) * 2016-02-23 2016-04-06 Magic Pony Technology Ltd Training end-to-end video processes
US10284432B1 (en) 2018-07-03 2019-05-07 Kabushiki Kaisha Ubitus Method for enhancing quality of media transmitted via network
KR102622950B1 (ko) * 2018-11-12 2024-01-10 삼성전자주식회사 디스플레이장치, 그 제어방법 및 기록매체
KR20210134397A (ko) * 2019-03-24 2021-11-09 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 필터링 방법 및 장치, 컴퓨터 저장 매체
US11556796B2 (en) * 2019-03-25 2023-01-17 Nokia Technologies Oy Compressing weight updates for decoder-side neural networks
US11412262B2 (en) * 2019-06-24 2022-08-09 Qualcomm Incorporated Nonlinear extensions of adaptive loop filtering for video coding
JP2021072540A (ja) 2019-10-30 2021-05-06 キヤノン株式会社 画像符号化装置、復号装置、伝送システム、及びその制御方法

Also Published As

Publication number Publication date
EP4128764A1 (en) 2023-02-08
WO2022251828A1 (en) 2022-12-01
CN115956363A (zh) 2023-04-11
US11979565B2 (en) 2024-05-07
KR20230010259A (ko) 2023-01-18
EP4128764A4 (en) 2023-09-06
US20220385896A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
JP7434604B2 (ja) ニューラル画像圧縮における画像置換を用いたコンテンツ適応型オンライン訓練
JP2023532397A (ja) ポストフィルタリングのためのコンテンツ適応型オンライン訓練方法、装置およびコンピュータプログラム
US20220405979A1 (en) Content-adaptive online training method and apparatus for deblocking in block-wise image compression
JP7368639B2 (ja) ビデオ符号化のための方法、装置及びコンピュータプログラム
JP7443564B2 (ja) ビデオデコーディングの方法、装置、及びコンピュータプログラム、並びにビデオエンコーディングの方法
JP7447311B2 (ja) ビデオ復号のための方法、装置及びコンピュータプログラム
JP2023528179A (ja) ニューラル画像圧縮におけるコンテンツ適応型オンライン訓練のための方法、装置およびコンピュータプログラム
JP2023528180A (ja) ポストフィルタリングを伴うニューラル画像圧縮におけるブロック単位のコンテンツ適応オンライン訓練の方法、装置、およびコンピュータプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240426