JP6956803B2 - ニューラルネットワークを使用するタイル型画像圧縮 - Google Patents

ニューラルネットワークを使用するタイル型画像圧縮 Download PDF

Info

Publication number
JP6956803B2
JP6956803B2 JP2019559287A JP2019559287A JP6956803B2 JP 6956803 B2 JP6956803 B2 JP 6956803B2 JP 2019559287 A JP2019559287 A JP 2019559287A JP 2019559287 A JP2019559287 A JP 2019559287A JP 6956803 B2 JP6956803 B2 JP 6956803B2
Authority
JP
Japan
Prior art keywords
image
tile
context
input image
particular tile
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.)
Active
Application number
JP2019559287A
Other languages
English (en)
Other versions
JP2020522153A (ja
Inventor
ミッシェル・コヴェル
ダミアン・ヴィンセント
デイヴィッド・チャールズ・ミンネン
サウラブ・シン
スン・ジン・ファン
ニコラス・ジョンストン
ジョエル・エリック・ショア
ジョージ・ダン・トデリッチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2020522153A publication Critical patent/JP2020522153A/ja
Priority to JP2021134157A priority Critical patent/JP7225333B2/ja
Application granted granted Critical
Publication of JP6956803B2 publication Critical patent/JP6956803B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • 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

Landscapes

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

Description

本明細書は、ニューラルネットワークを使用して画像を圧縮し、再構築することに関する。
ニューラルネットワークは、受け取られた入力に関する出力を予測するために非線形ユニットの1つまたは複数の層を使用する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれの組の現在の値に従って、受け取られた入力から出力を生成する。
一部のニューラルネットワークは、再帰型ニューラルネットワークである。再帰型ニューラルネットワークは、入力シーケンスを受け取り、入力シーケンスから出力シーケンスを生成するニューラルネットワークである。特に、再帰型ニューラルネットワークは、現在の時間ステップにおいて出力を計算する際に前の時間ステップからのネットワークの内部状態の一部またはすべてを使用し得る。再帰型ニューラルネットワークの例は、1つまたは複数の長期短期(LSTM: long short term)記憶ブロックを含むLSTMニューラルネットワークである。各LSTM記憶ブロックは、たとえば、現在の活性化(activation)を生成する際に使用するためまたはLSTMニューラルネットワークのその他の構成要素に提供されるための、セルに関する前の状態をセルが記憶することを可能にする、入力ゲート、忘却ゲート、および出力ゲートをそれぞれが含む1つまたは複数のセルを含み得る。
本明細書は、タイル型深層ネットワークを使用する画像圧縮および再構築のためのテクノロジーを説明する。概して、これらのテクノロジーは、入力画像をタイルに分割することと、各タイル内のピクセル値の最初の予測を行うために空間コンテキスト(spatial context)を使用することと、残差を漸次符号化することとを含む。
概して、本明細書に記載の主題の1つの革新的な態様は、画像圧縮および再構築の行為を含む方法に具現化され得る。この態様のその他の実施形態は、方法の行為を実行するようにそれぞれが構成された対応するコンピュータシステム、装置、および1つまたは複数のコンピュータ記憶装置上に記録される可能性があるコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムが特定の動作または行為を実行するように構成されることは、システムが、動作中にシステムに動作または行為を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをそのシステム上にインストール済みであることを意味する。1つまたは複数のコンピュータプログラムに関して、特定の動作または行為を実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されるときに装置に動作または行為を実行させる命令を含むことを意味する。
上述のおよびその他の実施形態は、それぞれ任意で以下の特徴のうちの1つまたは複数を単独でまたは組み合わせて含むことが可能である。特に、1つの実施形態が、以下の特徴をすべて組み合わせて含む。
画像エンコーダシステムは、タイルに区分けされた入力画像の符号化された表現を生成する要求を受け取る可能性がある。それから、画像エンコーダシステムは、入力画像の符号化された表現を生成する。符号化された表現は、タイルの各々に関する2進符号のそれぞれの組を含む。特定のタイルに関する符号化された表現を生成することは、入力タイルの予測である出力タイルを生成するために入力タイルに関するコンテキストを処理するために訓練された空間コンテキスト予測ニューラルネットワークを使用して特定のタイルに関するコンテキストを処理することを含む可能性がある。コンテキストは、入力画像内の特定のタイルに隣接する1つまたは複数のタイルを含む可能性がある。残差画像が、特定のタイルと、特定のタイルに関するコンテキストを処理することによって空間コンテキスト予測ニューラルネットワークによって生成された出力タイルとの間で決定される可能性があり、特定のタイルに関する2進符号の組が、エンコーダのニューラルネットワークを使用して残差画像を符号化することによって生成される可能性がある。
入力画像は、データ圧縮アルゴリズムを使用して、符号化された表現の2進符号を圧縮することによって圧縮される可能性がある。データ圧縮アルゴリズムは、訓練されたエントロピーコーダである可能性がある。圧縮された入力画像は、入力画像の解凍のために画像デコーダシステムに送られる可能性がある。
エンコーダのニューラルネットワークは、各時間ステップにおいて、時間ステップのためのエンコーダ入力を受け取ることと、時間ステップに関する2進符号の組を生成するためにエンコーダ入力を処理することとによって残差を符号化するように構成された再帰型ニューラルネットワークである可能性がある。第1の時間ステップのためのエンコーダ入力は、残差画像である可能性がある。第1の時間ステップの後の時間ステップのためのエンコーダ入力は、(i)残差と、(ii)前の時間ステップにおいて2進符号の組からデコーダのニューラルネットワークによって生成された再構築との間の暫定残差画像である可能性があり、デコーダのニューラルネットワークは、各時間ステップにおいて、時間ステップに関する2進符号の組を含むデコーダ入力を受け取り、時間ステップにおいてエンコーダ入力の再構築を生成するためにデコーダ入力を処理するように構成される再帰型ニューラルネットワークである。
特定のタイルに関する2進符号の組を生成することが、各時間ステップにおいて、時間ステップおよび任意の以前の時間ステップにおいて既に生成された2進符号から再構築されるときに特定のタイルに関する品質の閾値が満たされたかどうかを、時間ステップのためのエンコーダ入力の再構築から判定することを含む。
特定のタイルに関する2進符号の組を生成することが、品質の閾値が満たされたとの判定に応じて、既に生成された2進符号を、入力画像の符号化された表現における特定のタイルに関する2進符号の組として使用することを含む可能性がある。
特定のタイルに関する2進符号の組を生成することは、各時間ステップにおいて、特定のタイルが現在の時間ステップにおいて生成された2進符号の組から再構築されるときに特定のタイルに関する品質の閾値が満たされたかどうかを判定することと、品質の閾値が満たされるとの判定に応じて、特定のタイルに関して現在の時間ステップにおいて生成された2進符号の組を、入力画像の符号化された表現における特定のタイルに関する2進符号の組として使用することとを含む可能性がある。
特定のタイルが入力画像の左または上の境界上にない場合、コンテキストは、入力画像内の特定のタイルの左および上の隣接するタイルである可能性がある。
特定のタイルが入力画像の左の境界上にあり、入力画像の上の境界にない場合、コンテキストは、特定のタイルの上の隣接するタイルおよびプレースホルダコンテキストデータ(placeholder context data)である可能性がある。
特定のタイルが入力画像の左上の角にある場合、コンテキストは、プレースホルダコンテキストデータである可能性がある。
特定のタイルが入力画像の上の境界上にあり、入力画像の左上の角にない場合、コンテキストは、特定のタイルの左の隣接するタイルおよびプレースホルダコンテキストデータである可能性がある。
別の実施形態は、入力画像の符号化された表現から入力画像を再構築する要求を受け取ることを含む可能性があり、入力画像は、タイルに区分けされる可能性があり、符号化された表現は、タイルの各々に関する2進符号のそれぞれの組を含む可能性がある。入力画像の再構築が、入力タイルの最初の再構築画像である出力タイルを生成するために入力タイルに関するコンテキストを処理するために訓練された空間コンテキスト予測ニューラルネットワークを使用して特定のタイルに関するコンテキストを処理することによって特定のタイルに関して生成される可能性がある。コンテキストは、入力画像内の特定のタイルに隣接する1つまたは複数のタイルの再構築を含む可能性がある。特定のタイルの残差再構築画像が、デコーダのニューラルネットワークを使用してタイルに関する2進符号の組を処理することによって生成することによって生成される可能性があり、最初の再構築画像が、特定のタイルの最後の再構築を生成するために特定のタイルの残差再構築画像と合成される可能性がある。
再構築を生成することは、圧縮された入力画像を受け取ることと、タイルに関する2進符号のそれぞれの組を生成するためにデータ解凍アルゴリズムを使用して、圧縮された入力画像を解凍することとを含む可能性がある。
データ解凍アルゴリズムは、訓練されたエントロピーデコーダである可能性がある。
特定のタイルに関する2進符号の組は、各時間ステップに関する2進符号のそれぞれのサブセットを含む可能性がある。デコーダのニューラルネットワークは、各時間ステップにおいて、時間ステップ再構築残差画像を生成するために時間ステップに関する2進符号のサブセットを処理することによって残差を生成するように構成された再帰型ニューラルネットワークである可能性がある。
再構築残差画像を生成することは、時間ステップに関する時間ステップ再構築残差画像を合成することを含む可能性がある。
本明細書に記載の対象は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態に実装され得る。本明細書に記載の画像圧縮および再構築システムは、タイル型畳み込みニューラルネットワークを使用して深層畳み込みニューラルネットワーク(deep convolutional neural network)の利点をビットレートの適応と組み合わせる。システムは、画像を符号化し、復号するために画像タイルに関する空間コンテキスト予測データと真の画像タイルとの間の残差を使用する。このプロセスは、高品質の出力を引き続き生成しながら、エンコーダからデコーダに送られる必要があるデータを少なくする結果となる。特に、圧縮されたビットがタイル全体ではなく残差を表しさえすればよいので、空間コンテキスト予測ニューラルネットワークの使用のおかげで、所与のタイルが、より少ないビット、またはより小さなサイズに圧縮され得るビットのより複雑でない列を使用して表される可能性がある。
通常の画像圧縮技術においては、局所的な情報の共有が、近くの2進符号への従属関係を生じ、画像全域のビットレートの調整を難しくする。ニューラルネットワークに基づく既存の画像圧縮アルゴリズムは、各画像全域で一定の空間ビットレート(spatial bit rate)を用いる量子化された表現を学習する。対照的に、説明されるタイル型畳み込みニューラルネットワークのブロックに基づくアーキテクチャを使用することによって、画像圧縮システムは、局所的な再構築の品質に基づくビットレートの適用の実装を大幅に簡単にしながらも、解像度の柔軟性および局所的な情報の共有を実現する。
さらに、適応的なビット割り当ては、モデルが畳み込み層のみで構成されている(fully-convolutional)ので既存のニューラルネットワーク圧縮アーキテクチャにおいては難しい。そのようなネットワークが2進符号のすべてが存在するようにして訓練される場合、欠けた符号のある再構築は、不定的に悪くなり得る。
システムは、各タイル内で2進符号からの情報を共有することによって不定的に悪い再構築を避ける。この方針は、近隣のタイルの品質を落とすことなくタイルの1つのエリア内でビットレートが下げられることを可能にする。システムは、空間コンテキスト予測ニューラルネットワーク、残差符号化ニューラルネットワーク、および残差復号ニューラルネットワークを使用して画像の詳細を正確に再構築し、物体の境界にまたがるピクセル値を予測する。システムは、比較的離れたピクセルの間の相関を利用し、したがって、タイル間で一貫している視覚的情報を再符号化するコストを避ける。
別の利点は、タイル型の適応的な手法が、一定の品質(たとえば、画像全体で同様のPSNR)で画像を符号化することをより容易にすることであり、それが、主観評価を改善する。
本明細書の対象の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明に記載されている。対象のその他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。
画像を圧縮し、再構築するための、タイル型畳み込みニューラルネットワークを用いた空間適応的な手法を使用する例示的な画像圧縮および再構築システムを示す図である。 例示的なコンテキストパッチ(context patch)を示す図である。 例示的なコンテキストパッチを示す図である。 例示的なコンテキストパッチを示す図である。 例示的なコンテキストパッチを示す図である。 例示的な空間コンテキスト予測ニューラルネットワークを示す図である。 例示的な残差エンコーダのニューラルネットワークを示す図である。 空間適応的な手法を使用して画像を圧縮し、再構築するための例示的なプロセスを示す図である。 空間適応的な手法を使用して画像を圧縮し、再構築するための例示的なプロセスを示す図である。 空間適応的な手法を使用して、圧縮された画像を復号するための例示的なプロセスを示す図である。
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
本明細書は、概して、画像を圧縮し、再構築するための、タイル型畳み込みニューラルネットワークを用いた空間適応的な手法を使用する画像圧縮および再構築システムおよび方法を説明する。
画像圧縮は、デジタル画像を記憶または送信するコストを削減するためにデジタル画像に適用されるある種のデータ圧縮である。この画像圧縮は、可逆であるかまたは非可逆である可能性がある。可逆圧縮は、元のデータが圧縮されたデータから完全に再構築されることを可能にし、一方、非可逆圧縮は、元のデータの近似の再構築を提供する。
例示的な画像圧縮および再構築システムは、非可逆画像圧縮のための、タイル型畳み込みニューラルネットワークを用いた、ブロックに基づく空間適応的な手法を使用する。
図1は、例示的な画像圧縮および再構築システム100を示す。画像圧縮および再構築システム100は、以下で説明されるシステム、構成要素、および技術が実装され得る、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。システム100は、タイル型ニューラルネットワークを使用して、品質に影響を受けるビットレートの空間適応を用いて入力画像104を圧縮し、入力画像の画像再構築を決定する。この空間適応は、より複雑なまたは視覚的に目立つ入力画像の領域を優先的に記述することによってシステムが追加のビットをより効果的に使用することを可能にする。図1はシステムの符号化構成要素と復号構成要素との両方を同じシステムの一部として示すが、一部の実装において、構成要素は、別々のシステムであり、別々のコンピューティングデバイスに置かれることが可能である。たとえば、1つの例示的な実装において、符号化構成要素、つまり、入力画像を圧縮するために必要なそれらの構成要素は、サーバに置かれることが可能であり、復号構成要素、つまり、入力画像を再構築するために必要なそれらの構成要素は、クライアントデバイスに置かれることが可能である。
動作中、画像圧縮および再構築システム100は、圧縮されることになる入力画像104を取り込み、分割エグゼキュータ106が、画像をタイルに分割する。たとえば、入力画像104は、それぞれが32×32ピクセルから形成されるタイルに分割されるか、または任意のその他の好適な数のピクセルのタイルに分割される可能性がある。
それから、システム100は、画像104を1タイルずつ符号化する。
各タイルに関して、空間コンテキストプレディクタ108が、「コンテキストパッチ」を生成するために、隣接するタイルを空間コンテキストとして使用する。
図2a〜図2dは、目標タイル202の値がまだ処理されていない例示的な64×64のコンテキストパッチ200a〜dを示す。特定のタイル202aが入力画像の左または上の境界上にない場合、図2aに示されるように、空間コンテキストは、入力画像内の特定のタイルの左および上の隣接するタイル204a、206a、208を使用して生成される。特定のタイル202bが入力画像の左の境界上にあり、入力画像の左上の角にない場合、図2bに示されるように、空間コンテキストは、特定のタイル202bの上の隣接するタイル204aを使用して生成される。図2cは、特定のタイル202cが入力画像の左上の角にある場合に、特定のタイル202cに関する空間コンテキストがプレースホルダコンテキストデータを用いて生成されることを示す。図2dは、特定のタイル202dが入力画像の上の境界上にあり、入力画像の左上の角にない場合に、空間コンテキストが特定のタイル205dの左の隣接する画像およびプレースホルダコンテキストデータを使用して生成されることを示す。
再び図1を参照すると、空間コンテキストプレディクタ108は、入力タイルの予測である出力タイルを生成するために入力タイルに関するコンテキストを処理するために訓練されるニューラルネットワークである。たとえば、空間コンテキストプレディクタ108は、入力タイルに関する画像コンテキストパッチ、たとえば、図2a〜図2dに示される64×64ピクセルのコンテキストパッチを受け取り、入力タイルの予測を生成することができる。空間コンテキストプレディクタは、図3に関連して下でより詳細に検討される。
それから、システム100は、再構築画像の詳細を埋めるために残差ネットワーク(residual network) 130を使用する。残差ネットワーク130は、再帰型オートエンコーダ(recurrent auto-encoder)に基づくディープネットワークである。残差ネットワーク130は、エンコーダ110およびデコーダ114を含む。エンコーダ110およびデコーダ114のニューラルネットワークのための例示的な再帰型アーキテクチャが、G. Toderici、D. Vincent、N. Johnston、S.J. Hwang、D. Minnen、J. Shor、およびM. Covell、「Full resolution image compression with recurrent neural networks」、CoRR、vol. abs/1608.05148、2016年に記載されており、この文献の内容全体は、特にエンコーダおよびデコーダのニューラルネットワークのための再帰型アーキテクチャに関連して、参照により本明細書に組み込まれる。
各タイルに関して、エンコーダ110は、真の画像タイルと最初の予測との間の残差を符号化する。一部の実装において、エンコーダは、符号化を反復して実行する。各反復で、エンコーダ110は、反復のためのエンコーダ入力を受け取り、タイルの符号化されたバージョンを表す入力画像の各タイルに関する2進符号の組を生成するためにエンコーダ入力を符号化する。最初の繰り返しで、エンコーダ入力は、真の画像タイルと最初の予測との間の残差である。エンコーダ110は、残差を符号化して2進符号を生成し、前の反復から残っている残差を捕捉するためにデコーダ114を使用して2進数から入力を再構築する。復号されたピクセル値は、記憶され(122)、後続のタイルを予測するためのコンテキストとして使用される。最初の反復の後、各反復で、エンコーダ入力は、前の反復からの残差タイルである。タイルを再構築し、前の反復から残っている残差を捕捉することによって、システムは、元の入力のより近い近似を次々と提供する。
残差ネットワーク130は、画像入力104のすべてのタイルが処理されるまで符号化プロセスを反復的に続ける。そして、画像圧縮および再構築システム100は、画像に関する圧縮された2進数140を提供する。
一部の実装においては、タイルが符号化されると、残差ネットワークは、符号化された残差142、つまり、2進符号または圧縮された2進符号を、復号するためにデコーダ128に送る可能性がある。画像の復号は、ラスタ順に1タイルずつ進行する。画像圧縮および再構築システム100は、予測されたタイルを得るためにタイルに関するコンテキストに対してデコーダのための空間コンテキストプレディクタ124を実行する。コンテキストは、既に再構築されたタイル150を使用して取得され得る。デコーダ128は、実際の復号されたタイルと空間コンテキストプレディクタ124からの予測されたタイルとの間の残差を得るために2進符号を反復的に復号する。そして、コンバイナ132が、復号された残差と予測されたタイルとを合成してタイルの完全な再構築150を得る。空間コンテキストプレディクタ124は、ビットレートを上げることなくタイルの境界をまたがって情報を共有することによってタイル間の境界アーチファクトの起こり得る発生を防ぐことによって有利であり得る。本質的に、コンテキスト予測ニューラルネットワークは、ピクセルのコンテキストとうまく合わさるピクセルを生成することができ、タイルの予測されたピクセルはコンテキストピクセルの近くでより詳細で正確であるので、ネットワークは、境界アーチファクトを最小化するように働くことができる。デコーダ128は、ニューラルネットワークである。デコーダのニューラルネットワークのための例示的な再帰型アーキテクチャが、G. Toderici、D. Vincent、N. Johnston、S.J. Hwang、D. Minnen、J. Shor、およびM. Covell、「Full resolution image compression with recurrent neural networks」、CoRR、vol. abs/1608.05148、2016年に記載されており、この文献の内容全体は、特にデコーダのニューラルネットワークのための再帰型アーキテクチャに関連して、参照により本明細書に組み込まれる。
画像圧縮および再構築システム100は、空間コンテキストプレディクタ108のための訓練エンジン116、および残差符号化ネットワーク130のための訓練エンジン118も含む。空間コンテキストプレディクタ108と残差符号化ネットワーク130との両方が、順番に訓練される。空間コンテキストプレディクタ108は、入力タイルの予測である出力タイルを生成するために入力タイルに関するコンテキストを処理するために訓練される。残差エンコーダのネットワークは、空間コンテキストプレディクタを実行した後、各タイル内の残差を圧縮するように訓練される。エンコーダのネットワークは、空間コンテキストの予測後に残る特定のピクセルの誤差を符号化することを学習する。各訓練プロセスは、32枚の画像のミニバッチサイズと、ステップサイズ20,000を用い、指数関数的減衰スケジュール(exponential decay schedule) (B = 0.95)に従う初期学習率0.5とを使用する可能性がある。一部の実装において、2つのネットワークは、一緒に訓練される可能性がある。その他の実装において、2つのネットワークは、別々に訓練される可能性がある。
訓練データは、コンテキスト画像パッチ、たとえば、図2a〜図2dに示される64×64の画像パッチである可能性がある。これらの画像パッチは、画像の集合から刈り取られる可能性がある。訓練手順は、G. Toderici、D. Vincent、N. Johnston、S.J. Hwang、D. Minnen、J. Shor、およびM. Covell、「Full resolution image compression with recurrent neural networks」、CoRR、vol. abs/1608.05148、2016年に記載された訓練手順と同様である可能性があり、この文献の内容全体は、特に訓練手順に関連して、参照により本明細書に組み込まれる。
図1は符号化構成要素および復号構成要素ならびに空間コンテキストプレディクタを同じシステムの一部として示すが、一部の実装において、構成要素は、別々のシステムであり、別々のコンピューティングデバイスに置かれることが可能である。たとえば、実施形態において、エンコーダ110は、サーバに置かれることが可能であり、デコーダ114は、クライアントデバイスに置かれることが可能である。空間コンテキストプレディクタ108は、第3のコンピューティングデバイス上にある可能性がある。
図3は、空間コンテキストプレディクタのネットワークの例示的なアーキテクチャ300を示す。空間コンテキストプレディクタのネットワークは、コンテキストタイルから特徴を抽出するためにストライド付きの畳み込み(strided convolution)を使用し、目標タイルに関するRGBの予測を生成するためにフラクショナル畳み込み(fractional convolution)を使用する。
空間コンテキストプレディクタは、(3チャネル)コンテキストパッチ302を入力として取り込む。プレディクタは、4つの畳み込み層310、311、312、313を使用して入力を処理する。これらの層の各々は、削減された解像度およびより大きな深さ(depth)の特徴マップを学習する。そして、プレディクタは、Deepak Pathak、Philipp Krahenbuhl、Jeff Donahue、Trevor Darrell、およびAlexei Efrosによって「Context encoders: Feature learning by Inpainting」、CVPR、2016年において説明されたように、チャネル毎の全結合層(channel-wise, fully-connected layer)を実装するために深さ毎の畳み込み層(depth-wise convolutional layer) 320とそれに続く点毎の畳み込み層(pointwise convolutional layer) 321とを使用し、上記文献の内容全体は、特にチャネル毎の全結合層に関連して、参照により本明細書に組み込まれる。この層は、全結合層の2次のコスト全部を負うことなくタイル全体に情報が伝播することを可能にする。
ネットワークの最後の段階において、プレディクタは、最後の層が前の32×32×64の特徴マップから3チャネルの画像を生成して目標の予測340を生成するまで、フラクショナル畳み込み層330、331、332を使用して空間解像度を漸増させる。
それから、システムは、実際のタイルと、空間コンテキスト予測ニューラルネットワークによって生成された目標の予測340との間の残差画像を決定する。残差ネットワークが、各タイル内の残差を圧縮するために残差画像タイルを処理する。
図4は、残差画像を圧縮し、再構築する例示的な残差ネットワーク400を示す。残差ネットワーク400は、各層が定義された高さ、幅、および深さを有する再帰型オートエンコーダのアーキテクチャを使用する。空間コンテキストプレディクタは、それぞれの新しいタイルに関する正確な低周波数(low frequency)データを生成することができる。空間コンテキストプレディクタが多くの画像の詳細を復元することができない場合、再構築の品質が、再帰型オートエンコーダのアーキテクチャによる残差画像の圧縮および再構築によって改善され得る。各反復で、残差エンコーダは、入力から特徴を抽出し、それらの特徴を量子化して128ビットを生成する。図4は、4回の反復を示す。
各時間ステップにおいて、残差エンコーダのネットワークは、時間ステップのためのエンコーダ入力を受け取り、時間ステップに関する2進符号の組を生成するためにエンコーダ110を使用して入力を処理する。第1の時間ステップに関して、エンコーダ入力は、空間コンテキスト予測ニューラルネットワークの目標の予測と入力画像の実際のタイルとの間の残差画像である。
システムは、データ圧縮アルゴリズム、たとえば、訓練されたエントロピーコーダを使用して符号化された表現の2進符号を圧縮することによって入力画像を圧縮する。システムは、入力画像の解凍のために、圧縮された入力画像を画像デコーダに送る可能性がある。
デコーダ114は、これらの2進符号から入力を再構築することを学習する。
再構築は、タイルに関する2進符号のそれぞれの組を生成するために、圧縮された2進符号を解凍することを含む可能性がある。各反復は、前の反復から残っている残差(Pi)を捕捉しようと試み、したがって、反復の出力の総和が元の出力の継続的に向上する近似を提供する。
第1の時間ステップの後の時間ステップのためのエンコーダ入力は、(i)残差と、(ii)前の時間ステップにおいて2進符号の組からデコーダのニューラルネットワークによって生成された再構築との間の暫定残差画像である。
ネットワークのエンコーダ部分は、入力残差画像から特徴を抽出するために1つの畳み込み層を使用し、その後に、空間解像度を減らし、特徴マップを生成する3つの畳み込みLSTM層を使用する。重みは、すべての反復で共有され、再帰型の結合が、情報が1つの反復から次の反復に伝播することを可能にする。
バイナリボトルネック層(binary bottleneck layer)402は、1×1畳み込みと、その後のtanh活性化関数とを使用して、入ってくる特徴を(-1, 1)にマッピングする。システムは、パラメータ空間の探索を促進するためにtanhの出力からサンプリングする(P(b=1) = 0.5-(1 + tanh(x)))。例示的なサンプリングのさらなる詳細は、Raiko、M. Berglund、G. Alain、およびL. Dinhによって「Techniques for learning binary stochastic feedforward neural networks」、ICLR、2015年において説明されており、サンプリングに関するこの文献の内容は、参照により本明細書に組み込まれる。システムが訓練されたネットワークを本物の画像に適用するとき、システムは、確定的に(deterministically) 2値化する(x = 0のときはb = 1であるものとして、b = sign (tanh(x)))。
図4に示されていないが、デコーダ114は、エンコーダ110と同じ構造を有する。しかし、デコーダ114は、各特徴マップの解像度を上げるためにフラクショナル畳み込みを使用する。最後の層は、32×32×64の形状の特徴マップであるデコーダの出力を取得し、tanh活性化を使用して特徴を[-1, 1]の範囲内の3つの値にマッピングする。そして、出力は、8ビットのRGB値へとスケーリングされ、切り捨てられ、量子化される(R = round (min (max (R1 * 142 + 128,0), 255)))。システムは128ではなく142によりスケーリングして、非常に低速な学習につながり得るとても小さな勾配のtanhの範囲に入ることなくネットワークが極端なピクセル値をより容易に予測することを可能にする。
システムは、特定のタイルが現在の時間ステップまたは任意の以前の時間ステップにおいて既に生成された2進符号から再構築されるときに特定のタイルに関する品質の閾値が満たされたかどうかを判定することによって、各時間ステップにおいて特定のタイルに関する2進符号の組を生成する。品質の閾値は、たとえば、再構築された画像に関する目標品質を表す所定の閾値であることが可能である。品質の閾値が満たされた場合、システムは、既に生成された2進符号を、入力画像の符号化された表現における特定のタイルに関する2進符号の組として使用する。この適応的な手法は、残差エンコーダがいずれかのステップの後に停止され得る再帰型ネットワークであることによって容易にされる。各ステップがさらなるビットを生成するので、このメカニズムは、異なるタイルの間の適応的なビット割り当てを可能にし、したがって、単一のニューラルネットワークが異なるビットレートの符号化を生成することを可能にし得る。
図5は、タイル型畳み込みニューラルネットワークを用いた空間適応的な手法を使用して画像を圧縮し、再構築するための例示的なプロセス500の流れ図である。便宜上、プロセス500は、1つまたは複数の場所に置かれ、本明細書に従って適切にプログラミングされた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適切にプログラミングされた画像圧縮および再構築システム、たとえば、図1の画像圧縮および再構築システム100が、プロセス500を実行することができる。
図5aおよび図5bに示されるように、画像圧縮および再構築システムは、タイルに区分けされた入力画像の符号化された表現を生成する要求を受け取る(502)。次いでシステムは、入力画像の各タイルに関する2進符号のそれぞれの組を含む入力画像の符号化された表現を生成する(504)。システムは、空間コンテキスト予測ニューラルネットワークを使用して特定のタイルに関するコンテキストを最初に処理することによって符号化された表現を生成する(506)。上述のように、空間コンテキスト予測ニューラルネットワークは、入力タイルの予測である出力タイルを生成するために入力タイルに関するコンテキストを処理するために訓練される。それから、システムは、特定の入力タイルと、空間コンテキスト予測ニューラルネットワークによって生成された出力タイルとの間の残差画像を決定する(507)。システムは、エンコーダのニューラルネットワークを使用して残差画像を符号化することによって特定のタイルに関する2進符号の組を生成する(508)。この符号化プロセスは、図4に関連して上で説明されている。
図6は、空間適応的な手法を使用して圧縮された画像を復号するための例示的なプロセス600の流れ図である。便宜上、プロセス600は、1つまたは複数の場所に置かれ、本明細書に従って適切にプログラミングされた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、適切にプログラミングされた画像圧縮および再構築システム、たとえば、図1の画像圧縮および再構築システム100が、プロセス600を実行することができる。
図6に示されるように、画像圧縮および再構築システムは、既に復号された(または再構築された)特定のタイルに関するコンテキストタイル決定する(602)。そして、システムは、目標タイルの最初の再構築を生成するために空間コンテキスト予測ネットワークを使用してコンテキストタイルを処理する(604)。システムは、デコーダのニューラルネットワークを使用して特定のタイルに関する2進符号を処理することによって残差再構築画像を生成する(606)。それから、システムは、最後の再構築タイルを得るために残差再構築画像を最初の再構築と合成する(608)。
本明細書に記載の対象の実施形態および機能的動作は、本明細書で開示された構造およびそれらの構造的均等物を含むデジタル電子回路、有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装されることが可能である。本明細書に記載の対象の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的ストレージ媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。コンピュータ記憶媒体は、機械可読記憶装置、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであることが可能である。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために好適なレシーバ装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化されることが可能である。
用語「データ処理装置」は、データ処理ハードウェアを指し、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用の論理回路、たとえば、FPGA (フィールドプログラマブルゲートアレイ)またはASIC (特定用途向け集積回路)であることも可能であり、またはそのような専用論理回路をさらに含むことも可能である。任意で、装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことが可能である。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは記載される場合もあるコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述されることが可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境内での使用に適したその他のユニットとしての形態を含む任意の形態で配置されることが可能である。プログラムは、ファイルシステム内のファイルに対応する可能性があるが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえば、マークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶され得る。コンピュータプログラムは、1台のコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、データ通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように配置されることが可能である。
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するための1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行されることが可能である。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGAもしくはASICによって、または専用の論理回路と1つもしくは複数のプログラミングされたコンピュータとの組合せによって実行されることが可能である。
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはそれら両方、または任意のその他の種類の中央演算処理装置に基づくことが可能である。概して、中央演算処理装置は、読み出し専用メモリ、またはランダムアクセスメモリ、またはそれら両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を遂行または実行するための中央演算処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央演算処理装置およびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれることが可能である。また、概してコンピュータは、データを記憶するための1つもしくは複数の大容量記憶装置、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量記憶装置からデータを受信するか、もしくはそれらの大容量記憶装置にデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブル記憶装置、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込まれることが可能である。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
ユーザとのインタラクションを提供するために、本明細書に記載の対象の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT (ブラウン管)またはLCD (液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装されることが可能である。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、発話、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。また、コンピュータは、メッセージングアプリケーションを実行しているパーソナルデバイス、たとえば、スマートフォンにテキストメッセージまたはその他の形態のメッセージを送信し、返報としてユーザから応答メッセージを受信することによってユーザとインタラクションすることができる。
本明細書に記載の対象の実施形態は、バックエンド構成要素を、たとえば、データサーバとして含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書に記載の対象の実装とインタラクションすることができるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実装されることが可能である。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。一部の実施形態において、サーバは、たとえば、クライアントとして働くデバイスとインタラクションするユーザに対してデータを表示し、そのようなユーザからユーザ入力を受け取る目的でユーザデバイスにデータ、たとえば、HTMLページを送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザの結果
添付の請求項の実施形態および上述の実施形態に加えて、下の付番された実施形態も、革新的である。
本明細書は多くの特定の実装の詳細を含むが、これらは、いかなる発明の範囲または特許請求される可能性があるものの範囲に対する限定ともみなされるべきでなく、むしろ、特定の発明の特定の実施形態に特有である場合がある特徴の説明とみなされるべきである。別々の実施形態の文脈で本明細書において説明されている特定の特徴が、単一の実施形態において組み合わせて実装されることも可能である。反対に、単一の実施形態の文脈で説明されている様々な特徴が、複数の実施形態に別々にまたは任意の好適な部分的組合せで実装されることも可能である。さらに、特徴は、特定の組合せで動作するものとして上で説明されている可能性があり、最初にそのように主張されてさえいる可能性があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除されることが可能であり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする可能性がある。
同様に、動作が図中に特定の順序で示されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である可能性がある。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分割は、すべての実施形態においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることが理解されるべきである。
実施形態1は、複数のタイルに区分けされた入力画像の符号化された表現を生成する要求を、1つまたは複数のコンピュータを含む画像エンコーダシステムによって受け取るステップと、入力画像の符号化された表現を画像エンコーダシステムによって生成するステップとを含み、符号化された表現が、複数のタイルの各々に関する2進符号のそれぞれの組を含み、生成するステップが、複数のタイルのうちの特定のタイルに関して、入力タイルの予測である出力タイルを生成するために入力タイルに関するコンテキストを処理するために訓練された空間コンテキスト予測ニューラルネットワークを使用して特定のタイルに関するコンテキストを処理することであって、コンテキストが、入力画像内で特定のタイルに隣接する1つまたは複数のタイルを含む、処理すること、特定のタイルと、特定のタイルに関するコンテキストを処理することによって空間コンテキスト予測ニューラルネットワークによって生成された出力タイルとの間の残差画像を決定すること、およびエンコーダのニューラルネットワークを使用して残差画像を符号化することによって特定のタイルに関する2進符号の組を生成することを含む方法である。
実施形態2は、データ圧縮アルゴリズムを使用して、符号化された表現の2進符号を圧縮することによって入力画像を圧縮するステップをさらに含む実施形態1の方法である。
実施形態3は、データ圧縮アルゴリズムが訓練されたエントロピーコーダである実施形態2の方法である。
実施形態4は、圧縮された入力画像を入力画像の解凍のために画像デコーダシステムに送るステップをさらに含む実施形態2または3のいずれか1つの方法である。
実施形態5は、エンコーダのニューラルネットワークが、複数の時間ステップの各々において、時間ステップのためのエンコーダ入力を受け取ることと、時間ステップに関する2進符号の組を生成するためにエンコーダ入力を処理することとによって残差を符号化するように構成された再帰型ニューラルネットワークである実施形態1から4のいずれか1つの方法である。
実施形態6は、複数の時間ステップのうちの第1の時間ステップのためのエンコーダ入力が残差画像である実施形態5の方法である。
実施形態7は、第1の時間ステップの後の複数の時間ステップのうちの時間ステップのためのエンコーダ入力が、(i)残差と、(ii)前の時間ステップにおいて2進符号の組からデコーダのニューラルネットワークによって生成された再構築との間の暫定残差画像であり、デコーダのニューラルネットワークが、複数の時間ステップの各々において、時間ステップに関する2進符号の組を含むデコーダ入力を受け取り、時間ステップにおいてエンコーダ入力の再構築を生成するためにデコーダ入力を処理するように構成される再帰型ニューラルネットワークである実施形態5または6のいずれか1つの方法である。
実施形態8は、特定のタイルに関する2進符号の組を生成することが、複数の時間ステップの各々において、時間ステップおよび任意の以前の時間ステップにおいて既に生成された2進符号から再構築されるときに特定のタイルに関する品質の閾値が満たされたかどうかを、時間ステップのためのエンコーダ入力の再構築から判定することを含む実施形態7の方法である。
実施形態9は、特定のタイルに関する2進符号の組を生成することが、品質の閾値が満たされたとの判定に応じて、既に生成された2進符号を、入力画像の符号化された表現における特定のタイルに関する2進符号の組として使用することを含む実施形態8の方法である。
実施形態10は、特定のタイルに関する2進符号の組を生成することが、複数の時間ステップの各々において、特定のタイルが現在の時間ステップにおいて生成された2進符号の組から再構築されるときに特定のタイルに関する品質の閾値が満たされたかどうかを判定することと、品質の閾値が満たされるとの判定に応じて、特定のタイルに関して現在の時間ステップにおいて生成された2進符号の組を、入力画像の符号化された表現における特定のタイルに関する2進符号の組として使用することとを含む実施形態1から6のいずれか1つの方法である。
実施形態11は、特定のタイルが入力画像の左または上の境界上にない場合、コンテキストが入力画像内の特定のタイルの左および上の隣接するタイルである実施形態1から10のいずれか1つの方法である。
実施形態12は、特定のタイルが入力画像の左の境界上にあり、入力画像の左上の角にない場合、コンテキストが特定のタイルの上の隣接するタイルおよびプレースホルダコンテキストデータである実施形態11の方法である。
実施形態13は、特定のタイルが入力画像の左上の角にある場合、コンテキストがプレースホルダコンテキストデータである実施形態12の方法である。
実施形態14は、特定のタイルが入力画像の上の境界上にあり、入力画像の左上の角にない場合、コンテキストが特定のタイルの左の隣接するタイルおよびプレースホルダコンテキストデータである実施形態11から13のいずれか1つの方法である。
実施形態15は、入力画像の符号化された表現から入力画像を再構築する要求を、1つまたは複数のコンピュータを含む画像デコーダシステムによって受け取るステップであって、入力画像が、複数のタイルに区分けされており、符号化された表現が、複数のタイルの各々に関する2進符号のそれぞれの組を含む、ステップと、入力画像の再構築を画像デコーダシステムによって生成するステップとを含み、生成するステップが、複数のタイルのうちの特定のタイルに関して、入力タイルの最初の再構築画像である出力タイルを生成するために入力タイルに関するコンテキストを処理するために訓練された空間コンテキスト予測ニューラルネットワークを使用して特定のタイルに関するコンテキストを処理することであって、コンテキストが、入力画像内で特定のタイルに隣接する1つまたは複数のタイルの再構築を含む、処理すること、デコーダのニューラルネットワークを使用してタイルに関する2進符号の組を処理することによって特定のタイルの残差再構築画像を生成すること、および特定のタイルの最後の再構築を生成するために最初の再構築画像と特定のタイルの残差再構築画像とを合成することを含む方法である。
実施形態16は、再構築を生成するステップが、圧縮された入力画像を受け取ることと、タイルに関する2進符号のそれぞれの組を生成するためにデータ解凍アルゴリズムを使用して、圧縮された入力画像を解凍することとをさらに含む実施形態15の方法である。
実施形態17は、データ解凍アルゴリズムが訓練されたエントロピーデコーダである実施形態16の方法である。
実施形態18は、特定のタイルに関する2進符号の組が、複数の時間ステップの各々に関する2進符号のそれぞれのサブセットを含み、デコーダのニューラルネットワークが、複数の時間ステップの各々において、時間ステップ再構築残差画像を生成するために時間ステップに関する2進符号のサブセットを処理することによって残差を生成するように構成された再帰型ニューラルネットワークである実施形態15から17のいずれか1つの方法である。
実施形態19は、再構築残差画像を生成することが、複数の時間ステップに関する時間ステップ再構築残差画像を合成することを含む実施形態18の方法である。
実施形態20は、特定のタイルが入力画像の左または上の境界上にない場合、コンテキストが入力画像内の特定のタイルの左および上の隣接するタイルの再構築である実施形態15から19のいずれか1つの方法である。
実施形態21は、特定のタイルが入力画像の左の境界上にあり、入力画像の左上の角にない場合、コンテキストが特定のタイルの上の隣接するタイルの再構築およびプレースホルダコンテキストデータである実施形態20の方法である。
実施形態22は、特定のタイルが入力画像の左上の角にある場合、コンテキストがプレースホルダコンテキストデータである実施形態21の方法である。
実施形態23は、特定のタイルが入力画像の上の境界上にあり、入力画像の左上の角にない場合、コンテキストが特定のタイルの左の隣接するタイルの再構築およびプレースホルダコンテキストデータである実施形態20から22のいずれか1つの方法である。
実施形態24は、1つまたは複数のコンピュータと、1つまたは複数のコンピュータによって実行されるときに1つまたは複数のコンピュータに実施形態1〜23のいずれか1つのそれぞれの方法の動作を実行させる命令を記憶する1つまたは複数の記憶装置とを含むシステムである。
実施形態25は、1つまたは複数のコンピュータによって実行されるときに1つまたは複数のコンピュータに実施形態1〜23のいずれか1つのそれぞれの方法の動作を実行させる命令を記憶する1つまたは複数のコンピュータ記憶媒体である。
対象の特定の実施形態が、説明された。その他の実施形態は、添付の請求項の範囲内にある。たとえば、請求項に挙げられた行為は、異なる順序で実行され、それでも所望の結果を達成することができる。一例として、添付の図に示されたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序または逐次的順序を必要としない。場合によっては、マルチタスクおよび並列処理が有利である可能性がある。
100 画像圧縮および再構築システム
104 入力画像
106 分割エグゼキュータ
108 空間コンテキストプレディクタ
110 エンコーダ
114 デコーダ
116 訓練エンジン
118 訓練エンジン
124 空間コンテキストプレディクタ
128 デコーダ
130 残差ネットワーク
132 コンバイナ
140 画像に関する圧縮された2進数
142 符号化された残差
150 既に再構築されたタイル、タイルの完全な再構築
200a〜d コンテキストパッチ
202 目標タイル
202a 特定のタイル
202b 特定のタイル
202c 特定のタイル
202d 特定のタイル
204a 隣接するタイル
204a 隣接するタイル
206a 隣接するタイル
208 隣接するタイル
300 アーキテクチャ
302 コンテキストパッチ
310 畳み込み層
311 畳み込み層
312 畳み込み層
313 畳み込み層
320 深さ毎の畳み込み層
321 点毎の畳み込み層
330 フラクショナル畳み込み層
331 フラクショナル畳み込み層
332 フラクショナル畳み込み層
340 目標の予測
400 残差ネットワーク
402 バイナリボトルネック層
500 プロセス
600 プロセス

Claims (22)

  1. 複数のタイルに区分けされた入力画像の符号化された表現を生成する要求を、1つまたは複数のコンピュータを含む画像エンコーダシステムによって受け取るステップと、
    前記入力画像の前記符号化された表現を前記画像エンコーダシステムによって生成するステップとを含む方法であって、
    前記符号化された表現が、前記複数のタイルの各々に関する2進符号のそれぞれの組を含み、
    前記生成するステップが、前記複数のタイルのうちの特定のタイルに関して、
    入力タイルの予測である出力タイルを生成するために前記入力タイルに関するコンテキストを処理するために訓練された空間コンテキスト予測ニューラルネットワークを使用して前記特定のタイルに関するコンテキストを処理するステップであって、前記コンテキストが、前記入力画像内で前記特定のタイルに隣接する1つまたは複数のタイルを含む、ステップと、
    前記特定のタイルと、前記特定のタイルに関する前記コンテキストを処理することによって、前記空間コンテキスト予測ニューラルネットワークによって生成された前記出力タイルとの間の残差画像を決定するステップと、
    エンコーダのニューラルネットワークを使用して前記残差画像を符号化することによって、前記特定のタイルに関する2進符号の組を生成するステップとを含み、
    前記エンコーダのニューラルネットワークが、複数の時間ステップの各々において、
    前記時間ステップのためのエンコーダ入力を受け取ることと、
    前記時間ステップに関する2進符号の組を生成するために前記エンコーダ入力を処理することとによって、
    残差を符号化するように構成された再帰型ニューラルネットワークであ
    前記複数の時間ステップのうちの第1の時間ステップのための前記エンコーダ入力が、
    前記残差画像であり、
    前記第1の時間ステップの後の前記複数の時間ステップのうちの時間ステップのための前記エンコーダ入力が、(i)前記残差と、(ii)前の時間ステップにおいて2進符号の前記組からデコーダのニューラルネットワークによって生成された再構築との間の暫定残差画像である、
    方法。
  2. データ圧縮アルゴリズムを使用して、前記符号化された表現の前記2進符号を圧縮することによって、前記入力画像を圧縮するステップをさらに含む、
    請求項1に記載の方法。
  3. 前記データ圧縮アルゴリズムが、訓練されたエントロピーコーダである、
    請求項2に記載の方法。
  4. 前記入力画像の解凍のために、圧縮された入力画像を画像デコーダシステムに送るステップをさらに含む、
    請求項2または3に記載の方法。
  5. 記デコーダのニューラルネットワークが、前記複数の時間ステップの各々において、
    前記時間ステップに関する2進符号の前記組を含むデコーダ入力を受け取り、前記時間ステップにおいて前記エンコーダ入力の再構築を生成するために前記デコーダ入力を処理するように構成される再帰型ニューラルネットワークである、
    請求項1に記載の方法。
  6. 前記特定のタイルに関する2進符号の前記組を生成するステップが、前記複数の時間ステップの各々において、
    前記時間ステップおよび任意の以前の時間ステップにおいて既に生成された前記2進符号から再構築されるときに前記特定のタイルに関する品質の閾値が満たされたかどうかを、前記時間ステップのための前記エンコーダ入力の前記再構築から判定するステップを含む、
    請求項5に記載の方法。
  7. 前記特定のタイルに関する2進符号の前記組を生成するステップが、
    前記品質の閾値が満たされたとの判定に応じて、前記既に生成された2進符号を、前記入力画像の前記符号化された表現における前記特定のタイルに関する2進符号の前記組として使用するステップを含む、
    請求項6に記載の方法。
  8. 前記特定のタイルに関する2進符号の前記組を生成するステップが、複数の時間ステップの各々において、
    前記特定のタイルが現在の時間ステップにおいて生成された2進符号の前記組から再構築されるときに前記特定のタイルに関する品質の閾値が満たされたかどうかを判定するステップと、
    前記品質の閾値が満たされるとの判定に応じて、前記特定のタイルに関して前記現在の時間ステップにおいて生成された2進符号の前記組を、前記入力画像の前記符号化された表現における前記特定のタイルに関する2進符号の前記組として使用するステップとを含む、
    請求項1から4のいずれか一項に記載の方法。
  9. 前記特定のタイルが前記入力画像の左または上の境界上にない場合、前記コンテキストが、前記入力画像内の前記特定のタイルの左および上の隣接するタイルである、
    請求項1から8のいずれか一項に記載の方法。
  10. 前記特定のタイルが、前記入力画像の左の境界上にありかつ前記入力画像の左上の角にない場合、前記コンテキストが、前記特定のタイルの上の隣接するタイルおよびプレースホルダ内のコンテキストデータである、
    請求項9に記載の方法。
  11. 前記特定のタイルが前記入力画像の前記左上の角にある場合、前記コンテキストが、前記プレースホルダ内のコンテキストデータである、
    請求項10に記載の方法。
  12. 前記特定のタイルが前記入力画像の上の境界上にありかつ前記入力画像の前記左上の角にない場合、前記コンテキストが、前記特定のタイルの左の隣接するタイルおよび前記プレースホルダ内のコンテキストデータである、
    請求項10または11に記載の方法。
  13. 入力画像の符号化された表現から前記入力画像を再構築する要求を、1つまたは複数のコンピュータを含む画像デコーダシステムによって受け取るステップであって、前記入力画像が、複数のタイルに区分けされており、前記符号化された表現が、前記複数のタイルの各々に関する2進符号のそれぞれの組を含む、ステップと、
    前記入力画像の再構築を前記画像デコーダシステムによって生成するステップとを含む方法であって、
    前記生成するステップが、前記複数のタイルのうちの特定のタイルに関して、
    入力タイルの最初の再構築画像である出力タイルを生成するために前記入力タイルに関するコンテキストを処理するために訓練された空間コンテキスト予測ニューラルネットワークを使用して前記特定のタイルに関するコンテキストを処理するステップであって、
    前記コンテキストが、前記入力画像内で前記特定のタイルに隣接する1つまたは複数のタイルの再構築を含む、ステップと、
    デコーダのニューラルネットワークを使用して前記タイルに関する2進符号の組を処理することによって、前記特定のタイルの残差再構築画像を生成するステップと、
    前記特定のタイルの最後の再構築を生成するために、前記最初の再構築画像と前記特定のタイルの前記残差再構築画像とを合成するステップを含み、
    前記特定のタイルに関する2進符号の前記組が、複数の時間ステップの各々に関する2進符号のそれぞれのサブセットを含み、
    前記デコーダのニューラルネットワークが、前記複数の時間ステップの各々において、
    時間ステップ再構築残差画像を生成するために、前記時間ステップに関する2進符号の前記サブセットを処理し、
    前記残差再構築画像を生成するために、前記複数の時間ステップのうちの第1の時間ステップに関する前記サブセットを処理し、
    (i)前記残差再構築画像と、(ii)前の時間ステップにおいて2進符号の前記組から前記デコーダのニューラルネットワークによって生成された再構築と、の間の暫定残差画像を生成するために、前記第1の時間ステップの後の前記複数の時間ステップのうちの時間ステップに関する2進符号の前記サブセットを処理する、
    ことによって、残差を生成するように構成された再帰型ニューラルネットワークである、
    方法。
  14. 前記再構築を生成するステップが、
    圧縮された入力画像を受け取るステップと、
    前記タイルに関する2進符号の前記それぞれの組を生成するためにデータ解凍アルゴリズムを使用して、前記圧縮された入力画像を解凍するステップとをさらに含む、
    請求項13に記載の方法。
  15. 前記データ解凍アルゴリズムが、訓練されたエントロピーデコーダである、
    請求項14に記載の方法。
  16. 再構築残差画像を生成することが、
    前記複数の時間ステップに関する前記時間ステップ再構築残差画像を合成することを含む、
    請求項13から15のいずれか一項に記載の方法。
  17. 前記特定のタイルが前記入力画像の左または上の境界上にない場合、前記コンテキストが、前記入力画像内の前記特定のタイルの左および上の隣接するタイルの再構築である、
    請求項13から16のいずれか一項に記載の方法。
  18. 前記特定のタイルが前記入力画像の左の境界上にありかつ前記入力画像の左上の角にない場合、前記コンテキストが、前記特定のタイルの上の隣接するタイルの再構築およびプレースホルダ内のコンテキストデータである、
    請求項17に記載の方法。
  19. 前記特定のタイルが前記入力画像の前記左上の角にある場合、前記コンテキストが、前記プレースホルダ内のコンテキストデータである、
    請求項18に記載の方法。
  20. 前記特定のタイルが前記入力画像の上の境界上にありかつ前記入力画像の前記左上の角にない場合、前記コンテキストが、前記特定のタイルの左の隣接するタイルの再構築および前記プレースホルダ内のコンテキストデータである、
    請求項18または19に記載の方法。
  21. 1つまたは複数のコンピュータと、
    前記1つまたは複数のコンピュータに請求項1から20のいずれか一項に記載の方法を実行させるための命令を記憶する1つまたは複数の記憶装置とを含む、
    システム。
  22. 1つまたは複数のコンピュータに請求項1から20のいずれか一項に記載の方法を実行させるための命令を記憶する、
    コンピュータ可読記憶媒体。
JP2019559287A 2017-05-26 2018-05-29 ニューラルネットワークを使用するタイル型画像圧縮 Active JP6956803B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021134157A JP7225333B2 (ja) 2017-05-26 2021-08-19 ニューラルネットワークを使用するタイル型画像圧縮

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762511935P 2017-05-26 2017-05-26
US62/511,935 2017-05-26
PCT/US2018/034933 WO2018218249A1 (en) 2017-05-26 2018-05-29 Tiled image compression using neural networks

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021134157A Division JP7225333B2 (ja) 2017-05-26 2021-08-19 ニューラルネットワークを使用するタイル型画像圧縮

Publications (2)

Publication Number Publication Date
JP2020522153A JP2020522153A (ja) 2020-07-27
JP6956803B2 true JP6956803B2 (ja) 2021-11-02

Family

ID=63080457

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019559287A Active JP6956803B2 (ja) 2017-05-26 2018-05-29 ニューラルネットワークを使用するタイル型画像圧縮
JP2021134157A Active JP7225333B2 (ja) 2017-05-26 2021-08-19 ニューラルネットワークを使用するタイル型画像圧縮

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021134157A Active JP7225333B2 (ja) 2017-05-26 2021-08-19 ニューラルネットワークを使用するタイル型画像圧縮

Country Status (6)

Country Link
US (1) US11250595B2 (ja)
EP (1) EP3603070A1 (ja)
JP (2) JP6956803B2 (ja)
KR (1) KR102332476B1 (ja)
CN (1) CN110915215B (ja)
WO (1) WO2018218249A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250595B2 (en) * 2017-05-26 2022-02-15 Google Llc Tiled image compression using neural networks
US11082720B2 (en) * 2017-11-21 2021-08-03 Nvidia Corporation Using residual video data resulting from a compression of original video data to improve a decompression of the original video data
WO2019197712A1 (en) * 2018-04-09 2019-10-17 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10999606B2 (en) * 2019-01-08 2021-05-04 Intel Corporation Method and system of neural network loop filtering for video coding
US11182929B2 (en) * 2019-02-25 2021-11-23 Center For Deep Learning In Electronics Manufacturing, Inc. Methods and systems for compressing shape data for electronic designs
EP3705944A1 (en) 2019-03-06 2020-09-09 ASML Netherlands B.V. Extracting a feature from a data set
US10373300B1 (en) 2019-04-29 2019-08-06 Deep Render Ltd. System and method for lossy image and video compression and transmission utilizing neural networks
CN110728726B (zh) * 2019-10-24 2022-09-23 湖南大学 一种基于用户交互与深度神经网络的图像压缩方法
US20210406691A1 (en) 2020-06-29 2021-12-30 Tencent America LLC Method and apparatus for multi-rate neural image compression with micro-structured masks
CN114079776A (zh) * 2020-08-21 2022-02-22 Oppo广东移动通信有限公司 图像处理方法、装置、设备、计算机存储介质和系统
FR3114933B1 (fr) * 2020-10-06 2023-10-13 Fond B Com Procédé et dispositif électronique de décodage d’un flux de données, et programme d’ordinateur associé
US11816871B2 (en) * 2020-12-30 2023-11-14 Advanced Micro Devices, Inc. Real-time low latency computer vision/machine learning compute accelerator with smart convolutional neural network scheduler
US20220345717A1 (en) * 2021-04-16 2022-10-27 Tencent America LLC Method and apparatus for dynamic learning rates of substitution in neural image compression
KR102620823B1 (ko) * 2021-07-06 2024-01-04 한국과학기술원 인공지능 기반의 변형가능한 기준 마커 생성 및 인식 방법 및 그 시스템
CN113810693B (zh) * 2021-09-01 2022-11-11 上海交通大学 一种jpeg图像无损压缩和解压缩方法、系统与装置
US11546614B1 (en) 2021-10-25 2023-01-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder and decoder for encoding and decoding images
CN114494569B (zh) * 2022-01-27 2023-09-19 光线云(杭州)科技有限公司 基于轻量级神经网络和残差流式传输的云渲染方法和装置
CN114501011B (zh) * 2022-02-22 2023-04-21 北京市商汤科技开发有限公司 图像压缩方法、图像解压缩方法及装置
CN115278257A (zh) * 2022-07-28 2022-11-01 北京大学深圳研究生院 一种图像压缩方法、装置、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
JP4717860B2 (ja) 2007-08-22 2011-07-06 眞一郎 湯村 データ圧縮方法及び画像表示方法及び表示画像拡大方法
JP5222870B2 (ja) 2010-03-05 2013-06-26 日本放送協会 イントラ予測装置、符号化器、復号器及びプログラム
US8615138B2 (en) * 2011-11-03 2013-12-24 Google Inc. Image compression using sub-resolution images
WO2015176280A1 (en) * 2014-05-22 2015-11-26 Microsoft Technology Licensing, Llc Re-encoding image sets using frequency-domain differences
CN107736027B (zh) * 2015-06-12 2021-06-01 松下知识产权经营株式会社 图像编码方法、图像解码方法、图像编码装置及图像解码装置
US11321609B2 (en) * 2016-10-19 2022-05-03 Samsung Electronics Co., Ltd Method and apparatus for neural network quantization
US10748062B2 (en) * 2016-12-15 2020-08-18 WaveOne Inc. Deep learning based adaptive arithmetic coding and codelength regularization
WO2018213499A1 (en) * 2017-05-16 2018-11-22 Google Llc Stop code tolerant image compression neural networks
US11250595B2 (en) * 2017-05-26 2022-02-15 Google Llc Tiled image compression using neural networks
CN108960333B (zh) * 2018-07-12 2021-12-17 西安电子科技大学 基于深度学习的高光谱图像无损压缩方法

Also Published As

Publication number Publication date
JP2020522153A (ja) 2020-07-27
EP3603070A1 (en) 2020-02-05
KR20190133044A (ko) 2019-11-29
JP7225333B2 (ja) 2023-02-20
US11250595B2 (en) 2022-02-15
US20200111238A1 (en) 2020-04-09
KR102332476B1 (ko) 2021-11-30
CN110915215A (zh) 2020-03-24
JP2021192525A (ja) 2021-12-16
WO2018218249A1 (en) 2018-11-29
CN110915215B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
JP6956803B2 (ja) ニューラルネットワークを使用するタイル型画像圧縮
US10192327B1 (en) Image compression with recurrent neural networks
US11257254B2 (en) Data compression using conditional entropy models
Minnen et al. Spatially adaptive image compression using a tiled deep network
US11538197B2 (en) Channel-wise autoregressive entropy models for image compression
CN111105375B (zh) 图像生成方法及其模型训练方法、装置及电子设备
CN104135663A (zh) 对图像进行编码
US20200226797A1 (en) Systems and methods for image compression at multiple, different bitrates
KR20170010008A (ko) 인코더 및 디코더
CN108632630B (zh) 一种结合位运算和概率预测的二值图像编码方法
KR102250088B1 (ko) 비디오 스트림을 복호화하는 방법 및 장치
US11259051B2 (en) Pyramid algorithm for video compression and video analysis
CN103248885B (zh) 帧内图像预测编解码方法及视频编解码器
CN112968886B (zh) 振动信号压缩方法及装置、存储介质、计算机设备
Nortje et al. BINet: A binary inpainting network for deep patch-based image compression
JP5362099B2 (ja) 符号化装置
KR20240025629A (ko) 광학 흐름를 이용한 비디오 압축
KR102016125B1 (ko) 데이터 압축 및 압축해제방법
KR20230156318A (ko) 화상 코딩 모드를 결정하는 방법
WO2022235270A1 (en) Video inter/intra compression using mixture of experts
CN116320395A (zh) 图像处理方法、装置、电子设备及可读存储介质
CN116965030A (zh) 使用稀疏表示来生成图像
CN114339216A (zh) 视频处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210819

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210819

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210830

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211005

R150 Certificate of patent or registration of utility model

Ref document number: 6956803

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150