JP2024504315A - 人工ニューラルネットワークを使用する逐次データ圧縮 - Google Patents

人工ニューラルネットワークを使用する逐次データ圧縮 Download PDF

Info

Publication number
JP2024504315A
JP2024504315A JP2023543424A JP2023543424A JP2024504315A JP 2024504315 A JP2024504315 A JP 2024504315A JP 2023543424 A JP2023543424 A JP 2023543424A JP 2023543424 A JP2023543424 A JP 2023543424A JP 2024504315 A JP2024504315 A JP 2024504315A
Authority
JP
Japan
Prior art keywords
quantization
content
quantization bin
encoded content
encoded
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
JP2023543424A
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
Priority claimed from US17/648,808 external-priority patent/US20220237740A1/en
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2024504315A publication Critical patent/JP2024504315A/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/124Quantisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/088Non-supervised learning, e.g. competitive learning
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/146Data rate or code amount at the encoder output
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria

Landscapes

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

Abstract

本開示のいくつかの態様は、ニューラルネットワークを使用してコンテンツを圧縮するための技法を提供する。例示的な方法は、一般に、圧縮のためのコンテンツを受信するステップを含む。コンテンツは、コンテンツの潜在空間表現を生成するために訓練された人工ニューラルネットワークによって実装されたエンコーダを介して第1の潜在コード空間に符号化される。第1の圧縮バージョンの符号化されたコンテンツは、一連の量子化ビンサイズのうちの第1の量子化ビンサイズを使用して生成される。精細化された圧縮バージョンの符号化されたコンテンツは、少なくとも第1の圧縮バージョンの符号化されたコンテンツの値を条件として、第1の圧縮バージョンの符号化されたコンテンツを、第1の量子化ビンサイズより小さい1つまたは複数の第2の量子化ビンサイズにスケーリングすることによって生成される。精細化された圧縮バージョンの符号化されたコンテンツが、送信のために出力される。

Description

関連出願の相互参照
本出願は、本出願の譲受人に譲渡され、その各々の内容全体が参照により本明細書に含まれる、2021年1月25日に出願された「Progressive Data Compression Using Artificial Neural Networks」と題する米国仮特許出願第63/141,322号の利益および優先権を主張する、2022年1月24日に出願された米国出願第17/648,808号の優先権を主張する。
本開示の態様は、機械学習に関し、より詳細には、ビデオコンテンツなどのデータを圧縮するために人工ニューラルネットワークを使用することに関する。
データ圧縮技法は、記憶および送信の効率を改善すること、および意図された使用(たとえば、デバイスのディスプレイのサイズに対して適切なデータの解像度)に適合することを含む、様々な理由に対してコンテンツのサイズを低減するために使用されてもよい。データ圧縮は、解凍バージョンのデータが、圧縮された元データの近似値であるような損失の多い技法を使用して実行されてもよく、または解凍バージョンのデータが元データに相当することをもたらす損失のない技法を使用することによって実行されてもよい。
一般に、損失のない圧縮は、ファイルのアーカイブの圧縮におけるように、圧縮においてデータが失われるべきでない場合に使用されてもよい。対照的に、損失の多い圧縮は、元のデータの正確な再現が必要でない場合(たとえば、静止画像、ビデオ、またはオーディオの圧縮において、色データの細かさにおける損失、または極端な可聴スペクトルにおけるオーディオ周波数における損失など、幾分のデータ損失が許容され得る場合)に使用されてもよい。
データ圧縮方式は、しばしば、定義されるか、または固定レートの圧縮(たとえば、シングルビットレート)に基づく場合があり、それは、これらの圧縮方式を、データタイプおよび圧縮ニーズを変動させることに対して柔軟性のないものにする。すなわち、任意の所与の圧縮方式に対して、データは、一般に、データがより高い圧縮ビットレートに適しているかまたはより低い圧縮ビットレートに適しているかにかかわらず、特定のビットレートにおいて圧縮される。たとえば、細かい細部を含まない画像において、固定ビットレート圧縮方式は、画像が、より損失の多い圧縮方式(およびそれに応じて、より低いビットレート)を使用する圧縮に適していない場合でも、画像内の情報を表すために必要なビット以上のビットを使用して、これらの画像を圧縮する場合がある。同様に、より詳細な画像が、満足のいくように再現されるには低すぎるビットレートで圧縮される場合がある。したがって、伝統的方式は、しばしば、固定圧縮方式の設計においてトレードオフを伴い、それは、動的でも適応的でもない。
それに応じて、必要なものは、コンテンツを適応的に圧縮するための改善された技法である。
いくつかの態様は、ニューラルネットワークを使用してコンテンツを圧縮するための方法を提供する。例示的な方法は、一般に、圧縮のためのコンテンツを受信するステップを含む。コンテンツは、人工ニューラルネットワークによって実装されるエンコーダを介して第1の潜在コード空間に符号化される。第1の圧縮バージョンの符号化されたコンテンツは、一連の量子化ビンサイズのうちの第1の量子化ビンサイズを使用して生成される。精細化された圧縮バージョンの符号化されたコンテンツは、少なくとも第1の圧縮バージョンの符号化されたコンテンツの値を条件として、第1の圧縮バージョンの符号化されたコンテンツを、第1の量子化ビンサイズより小さい1つまたは複数の第2の量子化ビンサイズにスケーリングすることによって生成される。精細化された圧縮バージョンの符号化されたコンテンツが出力される。
いくつかの態様は、ニューラルネットワークを使用して圧縮されたコンテンツを解凍するための方法を提供する。例示的な方法は、一般に、解凍のための符号化されたコンテンツを受信するステップを含む。潜在コード空間内の値の近似値は、一連の量子化ビンサイズからコードを復元することによって受信された符号化されたコンテンツから復元され、一連の量子化ビンサイズは、第1の量子化ビンサイズと、第1の量子化ビンサイズより小さい1つまたは複数の第2の量子化ビンサイズとを含む。解凍バージョンの符号化されたコンテンツは、人工ニューラルネットワークによって実装されたデコーダを介して、潜在コード空間内の値の近似値を復号することによって生成される。解凍バージョンの符号化されたコンテンツが出力される。
他の態様は、上述の方法および本明細書で説明する方法を実行するように構成される処理システム、処理システムの1つまたは複数のプロセッサによって実行されたとき、上述の方法および本明細書で説明する方法を処理システムに実行させる命令を備える非一時的コンピュータ可読媒体、上述の方法および本明細書でさらに説明する方法を実行するためのコードを備えるコンピュータ可読記憶媒体上に具現されたコンピュータプログラム製品、ならびに上述の方法および本明細書でさらに説明する方法を実行するための手段を備える処理システムを提供する。
以下の説明および関連図面は、1つまたは複数の態様のいくつかの例示的な特徴を詳細に記載する。
添付の図は、1つまたは複数の態様のうちのいくつかの態様を示し、したがって、本開示の範囲の限定と見なされるべきでない。
例示的なニューラルネットワークベースのデータ圧縮パイプラインを示す。 人工ニューラルネットワークとして実装されたエンコーダおよびデコーダと、圧縮ビットレートの連続的スケーリングとを使用してコンテンツを圧縮および解凍するための例示的なパイプラインを示す図である。 本開示の態様による、圧縮ビットレートの連続制御における量子化幅の潜在スケーリングの一例を示す図である。 本開示の態様による、異なる圧縮ビットレートを達成するために使用される量子化ビンサイズの一例を示す図である。 本開示の態様による、量子化ビンサイズレベルにおけるビンが不等サイズを有する、異なる圧縮ビットレートを達成ために使用される量子化ビンサイズレベルの一例を示す図である。 本開示の態様による、より粗い量子化ビンサイズ内の量子化されたコードを条件とする、より細かい量子化ビンサイズ内の量子化されたコードに基づくネストされた量子化の一例を示す図である。 本開示の態様による、逐次コーディングを使用して圧縮パイプラインを介して受信されたコンテンツを圧縮するための例示的な動作を示す図である。 本開示の態様による、符号化されたコンテンツを解凍するための例示的な動作を示す図である。 本開示の態様による、異なるチャネルに対して異なるビットレートを使用するチャネルワイズ(channel-wise)逐次コーディングの一例を示す図である。 本開示の態様による、逐次コーディングに対する効果的な量子化グリッドを示す図である。 本開示の態様による、最も細かい量子化グリッドに対するアラインメントを有する逐次コーディングに対する量子化グリッドを示す図である。 本開示の態様による、逐次コーディングを使用するデータ圧縮の例示的な結果を示す図である。 本開示の態様による、コーディングユニットの異なる順序付けに基づくデータ圧縮の例示的な結果を示す図である。 本開示の態様による、逐次コーディングおよびコーディングユニットの異なる順序付けを使用するデータ圧縮の例示的な結果を示す図である。 本開示の態様による、サイド情報がデータを解凍するために使用される例示的なニューラルネットワークベースのデータ圧縮パイプラインを示す図である。 本開示の態様による、コンテンツの逐次コーディングおよび復号が実行され得る処理システムの例示的な実装形態を示す図である。
理解を容易にするために、可能な場合、図面に共通の同一の要素を指定するために同一の参照番号が使用されている。1つの態様の要素および特徴がさらなる記載なく他の態様の中に有益に組み込まれてもよいことが企図される。
本開示の態様は、単一のモデルが変動するビットレートまたは品質のレベルにおいてコンテンツを符号化するために使用され得るように、人工ニューラルネットワークを使用してコンテンツを逐次圧縮するための技法を提供する。
ニューラルネットワークベースのデータ圧縮システムは、様々なタイプのデータを圧縮するために使用され得る。たとえば、ニューラルネットワークベースのデータ圧縮は、圧縮するために適切な様々なタイプのコンテンツを圧縮するために使用され得る。このコンテンツは、たとえば、ビデオコンテンツ、画像コンテンツ、オーディオコンテンツ、センサーコンテンツ、および圧縮するために適切な他のタイプのデータを含んでもよい。一般に、ニューラルネットワークベースのデータ圧縮は、符号化されたコンテンツのサイズとひずみ(元のコンテンツと解凍されたコンテンツとの間の差)との間のトレードオフに基づいて先験的に決定されたビットレートを使用してコンテンツを圧縮してもよい。多くのデータ圧縮システムでは、より高いビットレート(たとえば、圧縮されるコンテンツを表すために使用されるより大きいビット数)が、より低いひずみと関連付けられてもよく、一方で、より小さいビットレートが、より高いひずみと関連付けられてもよい。ひずみDとビットレートRとの間のトレードオフは、式
によって表されてもよく、ここで、θは、(たとえば、確率論的勾配降下法を使用して)端から端まで最適化されるオートエンコーダ内のパラメータを表し、βは、ビットレートRに適用される重みを表す。
しかしながら、典型的なニューラルネットワークベースのデータ圧縮は、様々な理由で、大規模な展開に対して適していない。たとえば、多くの機械学習ベースの圧縮方式では、モデルは、様々なビットレートをサポートするために訓練される必要がある場合がある。すなわち、第1のモデルは、低(基準(baseline))ビットレートに対して訓練されてもよく、第2のモデルは、基準ビットレートより高い第2のビットレートに対して訓練されてもよく、第3のモデルは、第2のモデルのビットレートより高い第3のビットレートに対して訓練されてもよく、以下同様。他の機械学習ベースの圧縮方式では、エンコーダおよびデコーダのネットワークは、単一のモデルが様々なレートひずみトレードオフに適応することができるように、βパラメータに依存してもよい。他の機械学習ベースの圧縮方式は、生成された潜在(latent)の量子化ステップサイズを調整するために学習してもよい。しかしながら、これらのモデルは、コンテンツの可変コーディングを可能にする圧縮方式を効果的に学習することはできない。この可変コーディングは、逐次コーディング方式、またはデータが複数のビットレートを使用して圧縮されることを可能にする符号化方式を介して達成されてもよく、それにより、いくつかのデータは、より低いビットレートを使用して符号化および復号され得、他のデータ(たとえば、復号されるときに、そのような細部のより忠実な再構築をもたらす方式で符号化されるべき、より多くの細部を有する画像の部分)は、圧縮されるデータにおける差に対処するために、より高いビットレートを動的に使用して符号化および復号され得る。
本開示の態様は、単一のモデルを使用するコンテンツの逐次コーディング(および逐次圧縮)を可能にする技法を提供する。コンテンツの逐次コーディングでは、より高いビットレートコードが、より低いビットレートコードに基づいて生成されてもよく、それにより、符号化され、圧縮されたバージョンの入力データが、複数のモデルを使用して入力データを圧縮する必要なく、複数のビットレートを使用して逐次圧縮される。次いで、圧縮されたデータは、データを解凍するデバイスの処理能力、解凍されたデータ内に必要な細部の量など、様々な検討事項に従って複数のビットレートのうちのいずれかを使用して復元され得る。さらに、逐次的に圧縮されたデータは、各々が異なるビットレートで圧縮される複数のバージョンに対して単一のファイル内に記憶されてもよく、それは、圧縮されたデータに対する記憶および送信の効率を改善する場合がある。
例示的なニューラルネットワークベースのデータ圧縮パイプライン
図1は、本開示の態様による、例示的なニューラルネットワークベースのデータ圧縮パイプライン100を示す。図示のように、パイプライン100は、圧縮のためのコンテンツx111を受信し、コンテンツx111の近似値
127がそこから復元され得る圧縮されたビットストリームを生成するように構成される。一般に、パイプライン100の符号化側110は、コンテンツx111を潜在コード空間内でコードy113にマッピングする従来のニューラルネットワークベースの非線形変換層(ga)112と、潜在コード空間内でコードy113を圧縮する学習された量子化方式(Q)114と、圧縮(量子化)バージョンのコンテンツを表すビットストリームを生成するエンティティコーダ116とを含む。潜在コード空間は、コンテンツがその中にマッピングされ得るニューラルネットワークの隠れ層内の圧縮された空間であってもよい。潜在コード空間内のコードは、一般に、これらのコードがマッピングされる損失のない圧縮バージョンの入力データを表し、それにより、複数の次元の中に存在する場合がある入力データの特徴が、よりコンパクトな表現に低減される。
パイプライン100の復号側120において、エンティティデコーダ122は、量子化バージョンのコンテンツを復元し、逆量子化方式(Q-1)124は、近似コード
を復元する。次いで、従来のニューラルネットワークベースの非線形変換層(gs)126は、コンテンツxの近似値
を近似コード
から生成してもよく、コンテンツxの近似値
を(たとえば、ユーザデバイス上のディスプレイのために、または圧縮されたコンテンツが、ユーザデバイスへの送信のためにそこから検索されてもよい永続的データストア内の記憶のために)出力してもよい。
ニューラルネットワークベースのデータ圧縮に伴う訓練損失は、ひずみの量の合計(たとえば、コンテンツx111とコンテンツx111の近似値
127との間で計算される)と、一般に圧縮ビットレートを表すレートパラメータβとの合計として表されてもよい。上記で説明したように、増加するβは、一般に、増加した品質および減少した圧縮の量をもたらす。圧縮ビットレートが増加される場合、もたらされる圧縮バージョンの入力データは、圧縮ビットレートがより小さい場合より大きいサイズを有する場合がある。したがって、より多くの送信するデータが存在することになり、それは、データを受信して解凍するために必要な電力の量を増加させ、より多くのネットワーク容量が圧縮バージョンの入力データを送信するために使用され、より多くの記憶装置が圧縮バージョンの入力データを記憶するために必要であり、より多くの処理電力が圧縮バージョンの入力データを解凍するために必要であり、以下同様。
一般に、独立モデルが、コンテンツを圧縮するために様々なビットレートオプションを取得するために訓練されてもよい。しかしながら、そのような独立モデルは、モデルが別々に訓練されて関連性を有しないので、コンテンツを逐次符号化することはできない。したがって、これらの独立モデルは、単一のエンコーダ-デコーダが使用され、様々なパラメータが独立モデルのレート-ひずみトレードオフを操作するために使用され得る非逐次モデルである。さらに、可変ビットレートの解決策は、様々な品質レベルにおける符号化バージョンの入力の複数のコピーの生成、送信、および/または記憶を伴う場合があり、それは、データ圧縮動作において生成、送信、および記憶されるデータの量を増加させる場合がある。
本開示の態様は、単一のエンコーダ-デコーダモデルを使用するデータの逐次圧縮を提供する。一般に、データの圧縮は、データをよりコンパクトな表現に符号化するコーディング技法を使用して達成されてもよい。本明細書で逐次コーディングと呼ばれるが、符号化コーディングまたはスケーラブルコーディングとしても知られているこれらのコーディング技法は、一度に複数のビットレートの各々が埋め込まれる状態でコンテンツが符号化されることを可能にする。一度に複数のビットレートが埋め込まれる状態でコンテンツを符号化することによって、圧縮ビットレートの動的制御が簡素化され、それにより、複数の符号化バージョンのデータは、異なる圧縮ビットレート(およびしたがって、異なるレベルの圧縮品質保存)をサポートするために生成される必要はない。
たとえば、ブロードキャストコンテンツのビットレートは、(たとえば、利用可能なスループット、レイテンシ、コンテンツの複雑さ、およびこのコンテンツの圧縮において保存されるべき細部の量などに応答して)動的に適応されてもよい。さらに、コンテンツの逐次コーディングは、複数のサポートされるビットレートの各々に対して生成された複数のバージョンの圧縮されたコンテンツの代わりに、様々なビットレートを使用して復号され得る単一のバージョンの圧縮されたコンテンツを提供することによって、低減された送信および記憶のコストを可能にしてもよい。
一度に複数のビットレートの各々が埋め込まれる状態でコンテンツが符号化されるようなコンテンツの逐次コーディングを可能にするために、コンテンツxを表す潜在空間コードyが、ネストされた量子化モデルを使用して符号化されてもよく、そのモデルにおいて、より細かい量子化レベル(およびそれに応じて、より高いビットレート圧縮)と関連付けられたコードが、より粗い量子化レベル(およびそれに応じて、より低いビットレート圧縮)と関連付けられたコード内に埋め込まれる。本明細書でさらに詳細に説明するように、ネストされた量子化は、より細かい量子化レベルと関連付けられたコードが、より粗い量子化レベルと関連付けられたコードを条件とすることを可能にしてもよく、それにより、データは逐次、より細かい量子化レベルに符号化され得、それに応じて、解凍データのビットレートおよび品質が逐次増加する。
ネストされた量子化モデルでは、高ビットレートモデルで開始して、一連の量子化ビンサイズが学習されてもよい。シリーズの各量子化ビンサイズが、特定のパラメータ(たとえば、βの値)と関連付けられてもよい。最も粗い量子化ビン(すなわち、最低のビットレートと関連付けられた量子化ビン)から開始して、コンテンツxを表す潜在コード空間yが、より細かい量子化ビンに逐次コーディングされてもよい。本明細書でさらに詳細に説明するように、特定の量子化ビンに対するビットは、量子化された確率の連鎖法則に従って特定の量子化ビンまで、最も粗い量子化ビンに対するビットと、逐次より細かくなる量子化ビンの各々との合計として表されてもよい。一般に、ネストされた量子化モデル内の各量子化レベルにおいて、確率が、可能なコードの母集団のうちの各コードと関連付けられてもよく、最高の確率を有するコードが、データがその量子化レベルにおいて圧縮されるコードとして選択されてもよい。連鎖法則に基づいて、データが任意の所与の量子化レベルNにおいて圧縮されるコードは、データがNより低い量子化レベルに(すなわち、より粗い量子化ビンと関連付けられた量子化レベルに)圧縮されるコードの関数として表されてもよいことがわかる。たとえば、最も細かい量子化ビン(すなわち、N個の量子化ビンのうちの第N番目)に対するビットは、式
によって表されてもよく、上式で、P(yN)は、圧縮された入力データと関連付けられたコードが、第N番目の量子化ビン内に位置する分布曲線のもとでの確率質量であり、P(yN|yN-1)は、第N-1番目の量子化ビン内の入力データと関連付けられたコードを条件として、入力データと関連付けられたコードが、第N番目の量子化ビン内に位置する分布曲線のもとでの確率質量である。言い換えれば、最も細かい量子化ビンに対するビット(すなわち、
)は、最も粗い量子化ビンに対するビット(すなわち、
)、最も粗い量子化ビンを条件とする第2の量子化ビンに対するビット(すなわち、
)、最も粗い量子化ビンおよび第2の量子化ビンを条件とする第3の量子化ビンに対するビット(すなわち、
)、以下同様の合計として表されてもよい。
さらに、以下でさらに詳細に説明するように、逐次コーディングは、チャネルベースの潜在順序付けにおいて使用されてもよい。チャネルベースの潜在順序付けにおいて、量子化ビンサイズは、圧縮されるデータ内の異なるチャネルにわたって逐次精細化されてもよい。
たとえば、輝度(Y)、青色差(Pb)、および赤色差(Pr)のチャネルで表されるビデオコンテンツにおいて、異なるビンサイズが、Y、Pb、およびPrのチャネルに対して使用されてもよい。別の例では、クロミナンスチャネル(たとえば、赤(R)、緑(G)、および青(B)の色チャネル)で表されるビジュアルコンテンツに対して、異なるビンサイズが、R、G、およびBの色チャネルに対して使用されてもよい。これらのチャネルの順序付けは、より粗い量子化ビンが、より高い圧縮が著しく多いひずみをもたらさないチャネルに対して使用され、より細かい量子化ビンが、より高い圧縮が著しく多いひずみをもたらすチャネルに対して使用されるように、各チャネルに対して計算されたひずみ差とレート差との比率に基づいてチャネルを分類することによって定義されてもよい。したがって、チャネルを順序付け、チャネルが順序付けられた順序に従って異なる量子化ビンを使用してチャネルを符号化することによって、マルチチャネルコンテンツが符号化され、それにより、もたらされる解凍データの品質に最大の影響を及ぼすチャネルが、最高品質の圧縮を使用して圧縮されてもよく、もたらされる解凍データの品質により小さい影響を及ぼすチャネルが、より低い品質の圧縮を使用して圧縮されてもよい。これは、もたらされる入力データの圧縮表現のサイズを低減してもよく、それは、圧縮されたデータに対する記憶および送信のコストを低減してもよい。
図2は、人工ニューラルネットワークとして実装されたエンコーダおよびデコーダと、圧縮ビットレートの連続的スケーリングとを使用してコンテンツ(たとえば、図1に示す)を圧縮および解凍するためのパイプラインのさらなる詳細を示す。
パイプライン200では、エンコーダ202は、入力xを潜在空間コードyに符号化する。潜在ビットレートを連続的に制御するために、潜在空間コードyは、エンコーダニューラルネットワーク内で重みを制御するために使用される入力を表すハイパー潜在を生成するために、エンコーダニューラルネットワークに対する重みを生成するために使用される別のネットワークであってもよいハイパーエンコーダ204を介して処理される。ハイパー潜在は、データ内の空間的依存性を捕捉する情報として使用されてもよく、yを丸めて(量子化して)、[y]として示される、yの丸められた(量子化された)表現にするために使用されてもよい(s=1のように倍率が適用されないときは、量子化の簡略化バージョン、そのような場合、
)。前のモデルは、yを量子化して[y]にするために使用される確率分布(図示せず)を特徴づけてもよく、ここで、[y]は、確率分布における最高の確率と関連付けられた所与の量子化レベルにおける量子化値に対応する。
デコーダ側において、デコーダニューラルネットワークに対する重みを生成するために使用されるネットワークであってもよいハイパーデコーダ206は、丸められた(量子化された)潜在空間コード[y]をコーディングするために使用されるエントロピーモデルを決定するためにハイパー潜在を復号する。エントロピーモデルは、たとえば、yを符号化してコード[y]にするためにパイプライン200のエンコーダ側で使用される確率分布を生成するために使用される確率モデルであってもよい。エントロピーモデルに基づいて、デコーダ208は、[y]から
を復元し、
が、(たとえば、ディスプレイ、ディスプレイデバイスに対する送信などのために)出力されてもよい。
場合によっては、倍率が、圧縮バージョンのコンテンツxを生成するときに適用されるビットレートおよび圧縮の量に影響を及ぼすためにパイプライン200に適用され得る。この場合、スケーリングパラメータsは、量子化(yを丸めて量子化値にする)の前にスケーラ210において、および解凍の前にリスケーラ212において適用されてもよく、したがって、コンテンツxを表す潜在空間コードyの量子化され、スケーリングされたバージョンは、y/sとして表されてもよい。倍率sによってyをスケーリングすることによって、yを丸める(量子化する)ために使用される量子化ビンサイズは、基準値(たとえば、1)から、より細かいもしくはより粗い程度の量子化に、したがって、より細かいもしくはより粗い程度の圧縮に対応する異なる値に変更されてもよい。これは、モデルが、量子化ビンサイズに関連して訓練されることを可能にし、異なるひずみ-レートのトレードオフの使用を可能にする。
データの逐次コーディングにおける量子化の幅の例示的なスケーリング
図3は、圧縮ビットレートの連続制御における量子化幅の潜在スケーリングの一例を示す。図示のように、sでスケーリングする前に、所与の値yに対して、yの量子化が、最も近い個別のポイント[y]306への丸めをもたらす。yを量子化して[y]306にし、エントロピーコーディングを介して送信するために、システムは、yが存在する量子化ビン304の上界と下界との間の確率分布300内の確率質量302を計算することができる。確率質量は、式
で表されてもよく、ここで、pdf(a)daは、量子化ビン304の上界と下界との間の確率分布関数の値であり、CDFは、確率分布300に沿った所与の値における累積分布関数の値である。したがって、確率質量は、量子化ビンの上界の累積分布関数と量子化ビンの下界の累積分布関数との間の差として表されてもよい。確率質量は、yを量子化して[y]にするために必要なビットの数を表してもよく、それは、確率分布300の下に示される複数のドットのうちの1つであってもよい。
スケーリングが適用されるとき、量子化ビンサイズは、異なる値に変更されてもよい。たとえば、2の倍率sは、スケーリングされた確率分布310に示すように、量子化ビンサイズの幅を2倍にして、yがコーディングされ得る可能な値の数を半分にしてもよい(すなわち、確率分布310の下のドットで示される)。sによるスケーリングの後に、所与の値yに対して、yの量子化が、ネストされた個別のポイント2[y/2] 316への丸めをもたらす。yを量子化およびスケーリングして2[y/2]にし、エントロピーコーディングを介して送信するために、システムは、yが存在するスケーリングされた量子化ビン314の上界と下界との間のスケーリングされた確率分布310内の確率質量312を計算することができる。確率質量は、式
によって表されてもよい。
これは、確率分布300内に示されるものより、大きい量子化間隔および小さいビットの数に対応する。
逆量子化された潜在が、式
に従って、y/sがその中で量子化される量子化ビンの後にsを乗ずることによって取得されてもよく、ここで、μは、ハイパーエンコーダによって学習された推定平均を表す。エントロピーコーディングに使用され、圧縮されたコンテンツのビットストリーム表現を生成する(y/s)の事前確率は、変数の変化の式
を介して元の事前密度から導出されてもよく、ここで、
および
は、それぞれ、効果的な量子化ビンの上界および下界を表す。
図4Aおよび図4Bは、本開示の態様による、異なる圧縮ビットレートを達成するために使用される量子化ビンサイズの例を示す。
特に、図4Aは、潜在コードyがマッピングされ得るビンサイズs1およびs2を有する量子化レベルのシリーズ400Aを示す。s1およびs2はビンサイズが異なるので、各量子化レベルは、異なる中点を有してもよく、中点に対して、値は、量子化されてもまたは丸められてもよく、異なる数の異なるサイズのビンであってもよい。したがって、ビンサイズs1と関連付けられた量子化レベルは、ビンサイズs2と関連付けられた量子化レベルより低い実効ビットレートを有してもよい。したがって、量子化レベルs1を使用して圧縮されたデータは、量子化レベルs2を使用して圧縮されたデータデータより小さい場合があるが、解凍されたときにより低い品質を有する場合がある。
より一般的には、一連の量子化ビンサイズの中の量子化ビンサイズの数Nに対して、第1の量子化ビンサイズs1が最大の量子化ビンサイズに対応し、後続の量子化ビンサイズがsNの量子化ビンサイズに向けて減少する場合、量子化ビンサイズは、s1>s2>s3>...>sNによって表され得る。それに応じて、量子化ビンサイズに対するビットレートは、β123<...<βNによって表され得る。
いくつかの態様では、量子化レベル{1、2、...、N}のセット内の量子化の任意のレベルnに対するビンサイズは、量子化のレベルを通して一致している必要はない。たとえば、図4Bは、異なる量子化ビンサイズを有する量子化レベル402、404、406、408のシリーズ400Bを示す。図示のように、量子化レベル402は最も粗い量子化ビンサイズを有し、量子化レベル404は第1の中間の量子化ビンサイズを有し、量子化レベル406は量子化レベル404のビンサイズより細かい第2の中間の量子化ビンサイズを有し、量子化レベル408は最も細かい量子化ビンサイズを有してもよい。
さらに、図4Bは、量子化ビンサイズが、量子化レベルの中でさえも異なる場合があることを示す。たとえば、量子化レベル406において、中央のビン416は、他のビンと異なるサイズを有してもよい。量子化レベル404は、他のビンと異なるサイズを有する単一のビンを示すが、量子化レベルは、様々なロケーションにおいて様々なサイズのビンを含んでもよいことに留意されたい。たとえば、量子化レベルは、大きい中央のビンと、中点の両側の逐次小さくなるビンと(たとえば、より小さい中央にないビンとより大きい中央のビンと)を有してもよい。別の例では、量子化レベルは、より小さいビンの間に挿入されたより大きいビンを有してもよい。一般に、より大きい中央のビンを選択することで、圧縮性能が改善する(たとえば、元のバージョンの画像に対するひずみを低減することによって解凍された画像の品質が改善する)場合がある。なぜならば、ガウス分布において、確率分布300のもとの大部分の確率質量は、確率分布の中心点周りに中心を置かれてもよいからである。したがって、確率分布の中心点周りのビンサイズを増加することは、中央にないビンに対するビンサイズを増加するよりも大きい影響をレート低減(たとえば、ここでレートは式
に従って定義される)に及ぼす場合がある。
図5は、ネストされた量子化500の例を示す。一般に、ネストされた量子化は、より細かい量子化ビンサイズを使用するデータの量子化が、より粗い量子化ビンサイズ内で量子化されたコードを条件とするように定義されることを可能にしてもよい。上記ので説明したように、量子化ビンサイズs1を使用する潜在空間コードyの量子化は、一般に、より小さい量子化ビンサイズs2を使用する潜在空間コードyの量子化より低いビットレートをもたらす。この場合、潜在空間コードyを与えられると、yは、s1の量子化ビンサイズを有する量子化レベルに対して、上界
および下界
を有する値y1に量子化され得ることがわかる。それに応じて、量子化ビンサイズs2を有する量子化レベルに対して、yは、量子化ビンサイズs2を有する量子化レベルにおける量子化ビンの中点である値y2に量子化され得る。したがって、もたらされる効果的な量子化ビンは、yがその中で量子化される量子化ビンの境界の交差に基づいて、上界
および下界
を有してもよい。この例では、効果的な量子化ビンは、y2が存在する量子化ビンの上界と、y1が存在する量子化ビンの下界とを有してもよい。
より一般的には、yをスケーリングして任意の量子化レベルiにするために、yiは、式
で定義されてもよく、ここで、ラウンド(round)関数は、
を最も近い値(たとえば、所与の量子化レベルにおいて定義された量子化値のうちの1つ)に丸める。yiの確率質量は、式
によって表されてもよく、ここで、
は、yiが量子化グリッド内に存在するビンの上界を表し、ここで、
は、yiが量子化グリッド内に存在するビンの下界を表す。
ネストされた量子化では、最低の量子化レベル(およびしたがって、最大の量子化ビンサイズ)において量子化されたyの確率質量は、圧縮されるコンテンツxに対する潜在空間コードyの初期量子化を表してもよい。すなわち、yの確率質量は、yがその中にマッピングされる最低の量子化レベルにおけるコードのうちの1つと関連付けられた確率質量に対応する。より高い量子化レベル(およびしたがって、より小さい量子化ビンサイズおよびより高いビットレート)に対するyの後続の量子化は、より粗い量子化値を条件とする条件付き確率質量として計算されてもよい。たとえば、第2の量子化ビンサイズs2を使用してyを量子化するために、y1を条件とする量子化値y2の確率質量は、式
によって表されてもよい。
最も細かい量子化ビン(たとえば、最小のビンサイズ、およびしたがって最大のビットレートを有する量子化レベルに対する)を使用して圧縮されたデータを表すために使用されるビットの数は、式
に従って表されてもよい。ビット割り振りは、最も細かい量子化ビンに対して量子化された値に対するビット割り振りが、先行する量子化ビンによって条件付けられる、他の量子化ビンに対する条件付き確率の合計によって表されてもよいように、一連の条件付き確率に解凍されてもよい。したがって、最も細かい量子化ビンに対するビット割り振りは、式
によって表されてもよい。
すなわち、任意の所与の量子化ビンサイズに対して、その量子化ビンサイズに対する条件付き確率は、その量子化ビンサイズより大きい量子化ビンサイズに対して計算された条件付き確率を条件とされてもよい。任意の所与の量子化ビンサイズにおける量子化されたコード[y]の条件付き確率は、より大きい量子化ビンサイズ内のコードの条件付き確率を条件としてもよいので、任意の所与の量子化ビンサイズにおけるコードは、より大きい量子化ビンサイズにおいて生成されたコードを使用する連鎖法則に基づいて導出されてもよい。したがって、単一のモデルが、任意の圧縮ビットレートにおいてコンテンツを符号化および圧縮するために使用されてもよく、複数のサポートされた圧縮ビットレートが、圧縮されたコンテンツ内に埋め込まれる。さらに、圧縮されたコンテンツは、任意の所与の圧縮ビットレートから解凍されてもよく、それは、デバイスが、たとえば各デバイスのコンピューティング能力に基づいてデータを解凍することを可能にしてもよい。
一般に、ネストされた量子化では、符号化は、N段階において発生してもよい(ここで、Nは、yが符号化されてもよい量子化レベルの数を表す)。一般に、yは、最初に、最も粗い量子化ビンと関連付けられた量子化レベルを使用して量子化されてもよく、yの量子化は、逐次より細かくなる量子化ビンサイズを使用して繰り返し精細化されてもよい。一般に、yを量子化してより細かい量子化ビンサイズを有する量子化レベルにすることからもたらされた追加の情報が、条件付き確率式
によって表されてもよく、ここで、
およびIn+1は、1≦n≦Nに対して、量子化ビン
および
のインタラクティブな交差として定義される。
いくつかの態様では、無思慮な手法が、増加した複雑さ(以下でさらに詳細に説明する)および最も細かい量子化レベルにおいて生成された符号語長さより長い場合がある符号語長さをもたらす場合がある。たとえば、無思慮な手法をとると、N段階によって生成されたコードは、データを、N個の異なるビットレート内のデータに埋め込むビットストリームを形成し、ビットストリームの全長は、式
によって表されてもよく、ここで、
は、最も粗い量子化ビンに対する符号語長さを表し、
は、第N番目の量子化ビン(たとえば、最も細かい量子化ビン)までのより細かい量子化ビンからの精細化された情報に対する符号語長さを表す。この場合、上記で説明した条件付き確率式は、交差する量子化境界のトランキングを伴ってもよく、符号語長さ
の合計は、式
によって表される、最も細かい量子化レベルに対する符号語長さより長い場合がある。
複雑さを低減するために、以下で説明するように、完全にネストされた量子化レベルのセットは、より粗い量子化レベルにおける量子化ビンの中心点がより細かい量子化レベルにおける量子化ビンの中心点のサブセットであるように、定義されてもよい。完全にネストされた量子化レベルを用いて、より粗い量子化ビン内のグリッド点のセットが、より細かい量子化ビン内の点のセットであってもよい。すなわち、量子化は、下式に従って定義されてもよい、
In=In+1∩[y-(sk), y+(sk)]=[y-(sk), y+(sk)]。
これは、上記で説明したビットストリーム長さの式を下式に簡略化してもよい。
完全にネストされた量子化レベルのセットを使用することによって、コーディングモデル内の最高ビットレートモデルの性能は、データを圧縮するプロセスを簡略化しながら、保存されてもよい。
いくつかの態様では、倍率の選択は、様々なタイプの圧縮を効果的に実施してもよい。たとえば、si-1=2siのとき、もたらされる圧縮方式は、バイナリビットプレーンコーディングであってもよい。si-1がsiの整数の倍数であるとき、量子化ビンの上界および下界を計算することは、単純な計算であってもよく、したがって、あまりプロセッサ集中型でないデータの圧縮および解凍を可能にしてもよい。
データ圧縮のためのデータの逐次コーディングのための例示的な方法
図6は、逐次コーディングを使用して図1に示すパイプライン100または図2に示すパイプライン200など、圧縮パイプラインを介して受信されたコンテンツを圧縮するためにシステムによって実行されてもよい例示的な動作600を示す。動作600は、学習されたネストされた量子化方式を実装されたニューラルネットワークベースのエンコーダおよび量子化器を含む圧縮パイプラインを実装する、図12のシステム1200など、1つまたは複数のプロセッサを有するシステムによって実行されてもよい。
図示のように、動作600は、ブロック610において、圧縮のためのコンテンツを受信することで開始してもよい。受信されたコンテンツは、データのストリームなどの単一のチャネルコンテンツであってもよく、または異なるチャネルが別々に圧縮され得るマルチチャネルコンテンツ(すなわち、複数のデータチャネルを有するコンテンツ)であってもよい。マルチチャネルコンテンツは、たとえば、複数の空間チャネルを含むオーディオコンテンツ(左/右ステレオ、サラウンドサウンドコンテンツなど)、輝度チャネルおよび/またはクロミナンスチャネル(YPbPr、RGBなど)を含むビデオコンテンツ、独立したビジュアルチャネルおよびオーディオチャネルを含むオーディオビジュアルコンテンツなどを含んでもよい。
ブロック620において、コンテンツは、(たとえば、図1に示すエンコーダ112(ga)を介して)潜在コード空間に符号化される。コンテンツを潜在コード空間に符号化するために、コンテンツの潜在空間表現を生成するように訓練された人工ニューラルネットワークによって実装されたエンコーダが、使用されてもよい。いくつかの態様では、受信されたコンテンツxを潜在コード空間内のコードyに符号化することは、受信されたコンテンツxをコードyに損失なしにマッピングすることであってもよい。圧縮、および元の受信されたコンテンツxに対してもたらされる損失(または、ひずみ)は、コードyを量子化することによって得られる場合がある。
ブロック630において、第1の圧縮バージョンの符号化されたコンテンツが、(たとえば、図1に示す量子化器114(Q)を介して)生成される。第1の圧縮バージョンの符号化されたコンテンツを生成するために、コンテンツがその中に符号化されるコードyは、第1のビットレートと関連付けられた量子化ビンサイズのセットのうちの第1の量子化ビンサイズを使用して量子化されてもよい。たとえば、第1の量子化ビンサイズは、量子化ビンサイズのセットの中の複数の量子化ビンサイズのうちの最も粗い量子化ビンサイズであってもよく、複数の量子化ビンサイズと関連付けられたビットレートのうちの最低のビットレートにおける圧縮をもたらしてもよい。
ブロック640において、精細化された圧縮バージョンの符号化されたコンテンツが、(たとえば、図1に示す量子化器114(Q)を介して)生成される。一例では、精細化された圧縮バージョンの符号化されたコンテンツを生成するために、第1の圧縮バージョンの符号化されたコンテンツは、少なくとも符号化されたコンテンツの値を条件として、第1の量子化ビンサイズより小さい1つまたは複数の第2の量子化ビンサイズにスケーリングされる。一般に、1つまたは複数の第2の量子化ビンサイズのうちの各それぞれの量子化ビンサイズは、第1のビットレートより高いビットレートに対応する。すなわち、1つまたは複数の第2の量子化ビンサイズのうちの各それぞれの量子化ビンサイズは、第1の量子化ビンサイズより小さくてもよい。
ブロック650において、精細化された圧縮バージョンの符号化されたコンテンツが、(たとえば、図1に示すエンティティコーダ116(EC)を介して)送信のために出力される。
図7は、符号化されたコンテンツを解凍するためのシステムによって実行されてもよい例示的な動作700を示す。動作700は、図1に示すパイプライン100または図2に示すパイプライン200など、学習されたネストされた量子化方式を実装されたニューラルネットワークベースのエンコーダおよび量子化器を含む圧縮パイプラインを実装する、図12のシステム1200などの1つまたは複数のプロセッサを有するシステムによって実行されてもよい。
図示のように、動作700は、符号化されたコンテンツが解凍のために受信されるブロック710において開始してもよい。
ブロック720において、潜在コード空間内のコードの近似値が、受信された符号化されたコンテンツから復元される。
場合によっては、コードの近似値
が、一連の量子化ビンサイズからコードを復元することによって復元されてもよい。コードの近似値
は、たとえば、図1に示す逆量子化器124(Q-1)によって復元されてもよい。一連の量子化ビンサイズは、第1のビットレートと関連付けられた第1の量子化ビンサイズと、第1の量子化ビンサイズより小さい1つまたは複数の第2の量子化ビンサイズとを含んでもよい。
一般に、一連の量子化ビンサイズは、解凍バージョンの符号化されたコンテンツ内のひずみの許容量に基づいて、任意のビットレートに対する単一のモデルを使用するコンテンツの解凍を可能にしてもよい。上記で説明したように、圧縮されたデータを表すコードは、連鎖法則を使用して任意の量子化レベルから復元されてもよく、ここで、所与の量子化レベルにおけるコードは、より低い量子化レベル(たとえば、所与の量子化レベルにおけるものより小さい量子化ビンサイズを有する量子化レベル)において取得されたコードを条件とするコードとして定義されてもよい。解凍バージョンの符号化されたコンテンツにおけるひずみの量は、コードの近似値を復元するために使用される最小の量子化ビンサイズと関連付けられたビットレートに逆比例してもよい。すなわち、一連の量子化ビンサイズのうちの最大の量子化ビンサイズと関連付けられた最低のビットレートは、ひずみの最高の量を有してもよく、コードの近似値の復元において、逐次より小さくなる量子化ビンサイズが使用されるにつれて、ひずみは減少してもよい。
ブロック730において、解凍バージョンの符号化されたコンテンツが、図1に示すデコーダ126(gs)など、人工ニューラルネットワークによって実装されたデコーダを介して、潜在コード空間内のコードの近似値を復号することによって生成される。人工ニューラルネットワークによって実装されたデコーダは、たとえば、人工ニューラルネットワークによって実装されたエンコーダを補完するものであってもよく、図6に対して上記で説明したように、コンテンツを潜在コード空間に符号化するために使用されてもよい。
ブロック740において、解凍バージョンの符号化されたコンテンツが出力される。いくつかの態様では、解凍バージョンの符号化されたコンテンツは、デバイスのユーザに対する再生のために、システムに接続または統合されたディスプレイまたはオーディオデバイスなど、1つまたは複数の出力デバイスに出力され得る。いくつかの態様では、解凍バージョンの符号化されたコンテンツは、1つまたは複数の他のコンピューティングシステムのユーザへの出力のために、それらのコンピューティングシステムに出力され得る。
いくつかの態様では、逐次コーディングは、マルチチャネルデータ内の各チャネルに対して異なるレベルの圧縮を使用して(およびしたがって、異なるレベルのひずみを達成して)マルチチャネルデータを圧縮するために使用されてもよい。説明したように、マルチチャネルデータ内のチャネルは、ビジュアルコンテンツ内の輝度チャネルおよび/またはクロミナンスチャネル、マルチチャネルオーディオ内の空間サウンド情報などを含んでもよい。各チャネルは、解凍されたときに、異なるデータの量、またはコンテンツの最終的オーディオビジュアル表現(rendition)に対する異なる影響を有する場合があり、したがって、異なる圧縮の量を使用して各チャネルを符号化(圧縮)することが有用である場合がある。データの圧縮または解凍に使用するビットレートの選択は、たとえば、ネットワークスタック内のアプリケーション層によって制御されるふくそう制御または帯域幅適応機能に基づいて行われてもよい。たとえば、コンテンツサーバがコンテンツサーバと要求デバイスとの間に低い帯域幅を検出する場合、コンテンツサーバはより低いビットレート(たとえば、より大きい量子化ビンサイズを使用する圧縮)を選択することができ、同様に、コンテンツサーバがコンテンツサーバと要求デバイスとの間に高い帯域幅を検出する場合、コンテンツサーバはより高いビットレート(たとえば、より小さい量子化ビンサイズを使用する圧縮)を選択することができる。
たとえば、YPbPr空間(すなわち、輝度チャネルおよび2つの色チャネルを有する)内のマルチチャネルビデオデータにおいて、輝度チャネルは、最も重要なチャネルと見なされてもよい。なぜならば、輝度チャネルは、マルチチャネルビデオデータの中で最も多くのビジュアル情報を搬送するからである。したがって、ビデオコンテンツに適用された品質と圧縮の量とを平衡させるために、最高のビットレートを使用して輝度チャネルを符号化すること、およびより低いビットレートを使用して色チャネルを符号化することが望ましい場合がある。したがって、YPbPr空間内のマルチチャネルビデオデータの符号化において、ニューラルネットワークは、Y、Pb、およびPrのチャネルの各々を別々に符号化して異なる潜在空間コードyY、yPb、およびyPrにしてもよく、これらの潜在空間コードの各々は、別々に符号化されてもよい。
別の例では、複数の色データチャネル内で(たとえば、RGBクロミナンス色空間内で)搬送される画像データにおいて、いくつかの色データは、他の色データより大きい影響を、解凍されたコンテンツのビジュアル表現に及ぼす場合がある。たとえば、異なる色に対して先験的に知られている感度に基づいて、1つの色チャネルは、他のチャネルより高いビットレートの圧縮を使用して符号化されされてもよい。たとえば、RGBデータに対して、緑の色チャネルは、赤および青の色チャネルに対して使用されるものより高いビットレートを使用して圧縮されてもよい。なぜならば、人の目は、他の色データに対するよりも緑の色データに対してより感度が高いことが知られているからである。
チャネルワイズ逐次コーディングを実行するために、チャネルは、各チャネルに適用される圧縮の量に従って順序付けられてもよい。順序付けは、ひずみにおける差ΔD、およびビットレートにおける差ΔRに基づいて決定されてもよい。たとえば、順序付けは、各チャネルに対して計算された比
に基づいてもよく、その比は、各チャネルと関連付けられた圧縮優先度に対応してもよい。チャネルに対するひずみにおける差ΔDを決定するために、システムは、符号化された入力を2回復号することができ、1回目はチャネルを含み、2回目はチャネルを排除する。したがって、解凍のために計算されたひずみの量は、所与のビットレートにおける解凍からチャネルを排除することでもたらされるひずみの量を表してもよい。ビットレートにおける差ΔRを決定するために、システムは、第1のビットレートにおける圧縮および第2のビットレートにおける圧縮に対して生成されたビットの数における差を計算することができる。
例示的なチャネルワイズ逐次コーディング
図8は、異なるチャネルに対して異なるビットレートを使用するチャネルワイズ逐次コーディング800の一例を示す。
図示のように、コーディング800において、ビットストリームは、Cチャネルの各々に対して生成されてもよい。1~Cのこれらのチャネルにおいて、所与のビットレートbにおいてチャネルcの各々に対して生成されたコードに対する量子化ビンサイズは、
として表されてもよい。Cチャネルは、各チャネルcを表すために使用される圧縮の増加することまたは減少することに従って(すなわち、各チャネルに対して計算される
に基づいて)、上記で説明したように順序付けられてもよい。図3~図5に関して上記で説明したように、チャネルに対するコーディングは、一連の異なる量子化ビンサイズを有するネストされた量子化として表されてもよい。図示の例では、
は、複数の量子化ビンサイズのうちの最も粗い量子化ビンサイズに対応し、
は、次第により細かくなる量子化ビンサイズに対応してもよい。
各チャネルに対して、チャネルの潜在空間表現におけるコードycは、最も粗い量子化ビンサイズにおいて圧縮され、送信のために出力され得る。各チャネルに対するネストされた量子化を達成するために、コードycは、より粗いビンサイズにおけるyの量子化値を条件として、より細かい量子化ビンサイズにおいて圧縮され、送信のために出力され得る。より細かい量子化ビンサイズに対する追加のコード情報ycを出力することによって、圧縮されたコンテンツの品質は、最も粗い量子化ビンサイズにおける圧縮に対応する圧縮の基準の量から逐次改善され得、改善の量は、送信のために出力される追加のコードyc(すなわち、逐次より細かくなる量子化ビンサイズに対して生成される)の量に基づいて制御され得る。
場合によっては、追加の逐次コーディングは、Cチャネルのセットの中のいくつかのチャネルcに対する追加の量子化情報を出力することによって達成され得る。
たとえば、チャネルcの各々は、最も粗い量子化ビンサイズにおいて圧縮され、送信のために出力されてもよい。解凍されたデータのもたらされる品質により大きい影響を及ぼすチャネルに対して、次第により細かくなる量子化ビンサイズに対して生成された追加のコードycが、(たとえば、チャネルcのサブセットに対して)出力されてもよい。最も粗い量子化ビンサイズと関連付けられたレベルを超える任意の量子化レベルに対して、解凍されたデータのもたらされた品質に及ぼす影響が小さいチャネルに対して追加の圧縮が実行されないように、コードがCチャネルのサブセットに対して生成されてもよい。任意の量子化レベルNに対して生成されたCチャネルのサブセットは、たとえば、貪欲な技法(greedy technique)(たとえば、量子化レベルにおける一レベルの増加の各々に対して、増加された量子化レベルを使用して符号化されたチャネルの数を1だけ減少させる)を使用して、または各チャネルに対して計算された
に基づいて、どのコードyに対するどのチャネルが、増加された量子化レベル(および対応して減少された量子化ビンサイズ)を使用して生成されるべきかを決定するためにしきい値処理技法を適用することによって、選択されてもよい。そのような方式でコンテンツを圧縮することによって、逐次コーディングは、チャネルごとに、および量子化レベルごとに達成されてもよい。
図8では、コーディング800に示す各レベルは、異なる量子化レベルと、Cチャネルを圧縮するために使用される対応するビットレートとを表す。図示のように、Cチャネルの各々は、最低の量子化レベル(たとえば、量子化レベル1、そのレベルに対して、値が、式
によって表されてもよく、ここで、nはCチャネルのうちの1つを表す)を使用して符号化および圧縮されてもよい。チャネルが重要性を増すにつれて、これらのチャネルは、コードの値が、より低い量子化レベルにおけるコード(たとえば、量子化レベル1~n-1におけるコード)によって条件付けられる、第n番目の量子化レベルにおける確率分布で表される式によって表される、より高い量子化レベルを使用して符号化および圧縮されてもよい。たとえば、コーディング800内のシェーディングは、チャネル1および2が、値が式
によって表されてもよい第2の量子化レベルにおいて符号化および圧縮されるが、その他のチャネルは、この量子化レベルにおいて符号化および圧縮されないことを示す。
データ圧縮における逐次コーディングのための例示的な量子化グリッド
図9は、コンテンツの逐次コーディングのための効果的な量子化グリッド900の一例を示す。図示のように、3つの量子化レベルが、コンテンツxを表す潜在空間コードyを量子化するために使用される。第1の量子化レベルが量子化ビンサイズs1と関連付けられ、第2の量子化レベルが量子化ビンサイズs2と関連付けられ、第3の量子化レベルが量子化ビンサイズs3と関連付けられる。量子化ビンサイズs1と関連付けられた量子化レベルにおいてyを量子化することによって生成されたコードyに対して、送信されるビットの数は、式
に従って表されてもよい。なぜならば、コードy1は、量子化レベルのセットの中の最も粗い量子化レベルを使用して生成されるからである。次のレベルにおいて、yは、y1が位置する量子化ビンの上界とy2が位置する量子化ビンの下界との交差902によって表されてもよい。したがって、第2の量子化レベルにおける効果的な量子化ビンは、第2の量子化レベルにおける量子化ビンサイズより小さくてもよい。第2の量子化レベルにおけるネストされた量子化を達成するために送信する追加のビットの数は、式
によって表されてもよい。
さらなる量子化レベルにおいて、コードy3は、y3が位置するビンの上界とy2の下界との交差904によって表されてもよく、式
によって表されてもよい。
したがって、効果的な量子化ビンサイズは、コンテンツの圧縮に使用される最も細かいビンより細かい場合がある。したがって、送信されるビットの合計は、式
によって表されてもよく、ここで、intersectionOfBinsは、第n番目の量子化ビンの境界と、第n番目の量子化ビンに先行してもよい第n-1番目の量子化ビンの境界とによって形成された最小の効果的な量子化ビン906を表す。
ネストされた量子化を無思慮に適用するとき、データの圧縮における性能低下が存在する場合がある。なぜならば、効果的な量子化ビンは、コンテンツxの潜在空間表現yを量子化するために実際に使用される最も細かいビンより小さい場合があるからである。性能低下は、効果的な圧縮ビットレートの増加に対して、ピーク信号対雑音比(PSNR)によって測定される、品質の増加の低減において見られる場合がある。
ネストされた量子化を無思慮に適用することによる性能低下を軽減するために、逐次コーディングに対する量子化グリッド1000が、図10に示すように、最も細かい量子化グリッド1002に整列されてもよい。
量子化グリッド1004を最も細かい量子化グリッドサイズに対するグリッド1002に整列させるために、マルチパス量子化が、最も細かい量子化ビンサイズに基づいて複数のより粗い量子化ビンを量子化するために使用されてもよい。マルチパス量子化を適用することによって、より小さい量子化ビームの交差が識別されるので(たとえば、効果的な量子化ビン906が識別されるので)、効果的な量子化ビンサイズは、処理を簡素化するために、および可変の効果的な量子化ビンサイズの使用による性能低下を避けるために、最も細かい量子化ビンサイズより小さくない。量子化グリッド1000の中点1006は、量子化レベルの各々に対するグリッド内の中央の量子化ビンの中点にあってもよく、および効果的な量子化グリッド1004内の中央の量子化ビンの中点にあってもよい。
図11は、逐次コーディングを使用するデータ圧縮の例示的な結果を示す。
グラフ1100A~1100Fは、ピクセル当たりのPSNRとサンプル画像を圧縮するために使用された様々な圧縮技法に対するビットレートとの間の関係を示す。グラフ1100Aに示すように、本明細書で説明する逐次コーディング技法を使用する圧縮は、サンプル画像を圧縮するために使用されたピクセル当たり0.11ビットの低いビットレートにおいて26.59dBのPSNRを提供してもよい。グラフ1100Bは、本明細書で説明する逐次コーディング技法が、サンプル画像を圧縮するために使用されたピクセル当たり0.34ビットのビットレートにおいて31.02dBのPSNRを提供してもよいことを示す。グラフ1100Cは、本明細書で説明する逐次コーディング技法が、サンプル画像を圧縮するために使用されたピクセル当たり0.60ビットのビットレートにおいて33.52dBのPSNRを提供してもよいことを示す。グラフ1100Dは、本明細書で説明する逐次コーディング技法が、サンプル画像を圧縮するために使用されたピクセル当たり0.90ビットのビットレートにおいて35.99dBのPSNRを提供してもよいことを示す。グラフ1100Eは、本明細書で説明する逐次コーディング技法が、サンプル画像を圧縮するために使用されたピクセル当たり1.21ビットのビットレートにおいて37.70dBのPSNRを提供してもよいことを示す。最後に、グラフ1100Fは、本明細書で説明する逐次コーディング技法が、サンプル画像を圧縮するために使用されたピクセル当たり1.48ビットのビットレートにおいて39.69dBのPSNRを提供してもよいことを示す。これらの例では、ネストされたドロップアウト逐次コーディングと比較して、圧縮された画像の品質(圧縮された画像にわたるPSNR測定値によって表される)は、各実行ビットレートに対してより高いことがわかる。さらに、各実行ビットレートに対して、圧縮された画像の品質は、先験的に定義されたモデルがデータの圧縮に使用される各ビットレートに対して使用される様々な非逐次コーディング方式を使用して生成された圧縮された画像の品質に匹敵する場合がある。
逐次データ圧縮のための例示的なコーディングユニット順序付け
いくつかの態様では、本明細書で説明する技法を使用して圧縮されたデータは、複数のコーディングユニットに分割されてもよく、各コーディングユニットは、別々に圧縮され得る。たとえば、コーディングユニットは、チャネル、画像内のピクセル(たとえば、画像もしくはビデオコンテンツ内の特定のロケーションにおける複数のチャネルの各々に対するデータ)、データのブロック(たとえば、画像もしくはビデオコンテンツ内のnxmピクセルブロックに対する1つまたは複数のチャネル)、または単一の要素(たとえば、画像もしくはビデオコンテンツ内の特定のロケーションにおける単一のチャネルに対するデータ)であってもよい。逐次コーディングを容易にするために、ならびに各コーディングユニットは、異なる量の情報および異なる圧縮損失に対する感度を有してもよいことを考慮して、各コーディングユニットは、別々に徐々に精細化されてもよい。逐次コーディングは、2つの位相に分割されてもよい。第1の位相は、最大の量子化ビン(たとえば、最低の量子化レベル)から最小の量子化ビン(たとえば、最高の量子化レベル)まで、潜在変数(たとえば、人工ニューラルネットワークベースのエンコーダによって生成された入力xを表すコードy)を符号化する。第2の位相では、隣接する量子化レベルの間の精細化は、コーディングユニットごとに逐次行われてもよく、それにより、コーディングユニット間の境界を表す、もたらされる埋め込みビットストリームにおける各切り捨てポイントは、量子化レベルにおける逐次変化と関連付けられる。
運用上、連続的潜在が、無限に大きい量子化ビンから符号化されてもよく、それにより、潜在変数が、それぞれ、所与の中点値に量子化される。その結果、デコーダに送られる逆量子化潜在は、事前平均であってもよい。精細化に対するコーディングユニットの順序付けは、現在の量子化ビン内のコーディングユニットが適切な量子化ビンにおいて復号されてもよいように、事前量子化から発見されてもよい。コーディングユニットの順序付けに基づいて、コーディングユニットは、最大の量子化ビンから最小の量子化ビンまで精細化されてもよい。処理を簡素化するために、コーディングは、最高の量子化レベル(および対応する最大の量子化ビンサイズ)を使用して符号化されたコーディングユニットが最初にコーディングされ、より低い量子化レベル(および、対応するより小さい量子化ビンサイズ)を使用して符号化されたコーディングユニットが、最高の量子化レベルを使用するコーディングユニットの後に符号化される。
逐次コーディング方式では、潜在空間内のテンソルであってもよいコードyは、N個のコーディングユニット{y1、...、yN}に分割されてもよい。コーディングユニット内の要素は、一緒に精細化されてもよく、切り捨てポイント、または最低のひずみ(たとえば、圧縮損失)を達成する空間内のポイントに対応してもよい。形状(C、H、W)4を有する潜在空間内のテンソルに対して、様々なコーディングが定義されてもよい。単一のチャネルコーディングは、サイズ(1、H、W)を有する潜在スライスに対応してもよく、単一のピクセルコーディングは、サイズ(C、1、1)を有する潜在スライスに対応してもよく、単一の要素コーディングは、サイズ(1、1、1)を有する潜在スライスに対応してもよい。
所与の圧縮順序ρ=(ρ1、...、ρN)に対して、順序付けられたコーディングユニットyρ=(yρ1、...、yρN)が、snの倍率からsn-1の倍率まで別々にスケーリングされてもよい。平均空間ハイパー事前分布モデル(mean space hyperprior model)では、潜在要素の事前分布(priors)は、ハイパー潜在を条件としてもよい。本明細書で説明するスケーリングによる、第t番目のコーディングユニットを精細化するビットレートの増加ΔRは、式
に従って定義されてもよく、ハイパー事前分布モデル内のハイパー潜在が計算されるとき、並行して計算されてもよい。
ひずみにおける低減ΔDも、同様に計算されてもよく、他の順序付けられたコーディングユニットに依存してもよい。ひずみにおける低減ΔDは、式
ΔD(yρt|yρ)=D(yρ(t-1))-D(yρ(t))
によって表されてもよく、ここで、(yρ(t)=(yρ≦t(sn-1), yρ>t(sn))であり、およびここで、D(y)=MSE(x, gs(y))であり、コードyに対するひずみを表す。したがって、圧縮順序ρを使用して順序付けられた潜在を精細化することは、式
によって定義されたレート-ひずみ(R-D)ポイントのセットをもたらしてもよい。
一般に、ρの最適順序は、H(ρ)の凸包が、ρの他の順序の凸包より良い(たとえば、パレート最適圧縮順序である)順序であってもよい。
図12は、異なる順序付けを使用してコンテンツを符号化することに関与するコーディング損失の量の間の関係を示す。グラフ1200では、簡単にするため、2つのコーディングユニットy1およびy2が示されているが、符号化されるデータは、任意の数のコーディングユニットを有してもよいことを理解されたい。図示のように、y1
のひずみ-レート変化率を有し、y2
を有し、y1に対するひずみ-レート変化率は、y2に対するひずみ-レート変化率より大きい。
ひずみ線1202は、y2がy1より前に符号化され、y2がy1より高いレートを使用して符号化された場合のコーディング損失を示す。対照的に、ひずみ線1204は、y1がy2より前に符号化され、y1がy2より高いレートを使用して符号化された場合のコーディング損失を示す。(y1、y2)または(y2、y1)のいずれかの順序を使用する圧縮に対して、全ひずみ/レート損失は、同じであってもよい。しかしながら、y2は、圧縮レートにおける変化に対してy1より敏感でない(すなわち、y2に対する圧縮レートにおける任意の所与の増加に対するひずみの低減は、y1に対するものより小さい)ので、ひずみ線1204がひずみ線1202より低いことで示されるように、y2を符号化する前にy1を符号化する方が、より効率的である場合がある。
したがって、コンテンツが最適に符号化されるように逐次コーディングを使用してコンテンツを圧縮するために、コーディングユニットは、それらのそれぞれのひずみ-レート変化率の降順で分類されてもよい。ひずみ損失の量は、ユニットがコーディングされる順序に依存してもよいので、コーディングユニットが、図1に示すエンコーダ112など、ニューラルネットワークベースのエンコーダによって生成される場合、付加的な複雑差がもたらされる場合がある。しかしながら、各コーディングユニットに対して別々に計算されたひずみ-レート変化率は、逐次コーディングのためにコーディングユニットを順序付ける目的に対する近似値として取り扱われてもよい。
図13は、逐次コーディングおよびコーディングユニットの異なる順序付けを使用するデータ圧縮の例示的な結果を示す。
グラフ1300は、異なるコーディングユニットおよび分類基準に基づく、ピクセル当たりのピーク信号対雑音比(PSNR)とデータの逐次圧縮に対するビットレートとの間の関係を示す。
説明したように、コーディングユニットは、様々な粒度のデータに対して定義されてもよい。チャネルC、最高寸法H、および幅寸法Wのうちのいくつかによって定義された形状(たとえば、複数の色空間チャネルおよび空間次元として定義された静止画像またはビデオフレーム)を有する潜在に対して、コーディングユニットは、Cチャネル、単一のピクセル、Cチャネルのうちの1つに対するピクセルのブロック、または潜在内の単一の要素(たとえば、画像内の特定のロケーションにおけるCチャネルのうちの1つの値)のうちの1つであってもよい。グラフ1300に示す分類基準は、各コーディングブロック、レート差ΔR、および事前標準偏差ρに対するひずみ-レート変化率
によって表されるレート-ひずみ重要度を含む。
図示のように、潜在順序付けおよび要素ごとの圧縮は、潜在順序付けおよびチャネルごとの圧縮より高いPSNRを、所与の圧縮レートにおいて達成してもよく、潜在順序付けおよびピクセルごとの圧縮は、より高い圧縮ビットレートにおける場合を除いて著しく低いPSNRを達成してもよい。チャネルベースのコーディングユニットの分類を使用する圧縮に対して、圧縮性能は、事前標準偏差、レート差、またはレート-ひずみ重要度による分類に対して同様であってもよい。しかしながら、要素ベースのコーディングユニットまたはピクセルベースのコーディングユニットの分類を使用する圧縮に対して、圧縮性能は、異なるタイプの順序付けの間で異なることがわかる。たとえば、要素ベースのコーディングユニットの分類を使用する圧縮に対して、レート差メトリックに基づく順序付けは、事前標準偏差に基づく順序付けより良い圧縮性能(たとえば、所与のビットレートに対してより高いPSNR)を達成してもよいことがわかる。
コーディングユニットを順序付けることは、圧縮および解凍に対して何らかのオーバーヘッドを課す場合がある。たとえば、事前標準偏差によってコーディングユニットを順序付けることは、圧縮が、圧縮されたデータを再構築するために追加の情報を必要とすることなく実行されることを可能にしてもよい。なぜならば、事前標準偏差は、ハイパー潜在が復号されると、デコーダに知られていてもよいからである。しかしながら、レート差メトリックまたはレート-ひずみ重要度メトリックによってコーディングユニットを順序付けることは、コーディングユニットが符号化される順序を搬送するためのビットレートオーバーヘッドを課することを代償にして、より正確なコーディングユニットの順序付けを可能にする場合がある。いくつかの態様では、コーディングユニットが符号化される順序が、順序付け情報をサイド情報としてデコーダに搬送する追加のオーバーヘッドを受け入れるのに十分に重要であると見なされる場合、様々な最適化が、この順序付け情報をデコーダに搬送することに伴うオーバーヘッドを低減するために使用されてもよい。たとえば、静止画像内の個別のピクセルではなく、ピクセルのブロックなどのより大きいコーディングユニットが、データを圧縮するために使用されてもよく、それは、搬送されるサイド情報の量を低減してもよい。別の態様では、予期される順序が、訓練データから機械学習モデルによって学習されてもよく、訓練された機械学習モデルによって生成された予期される順序が、デコーダに搬送されてもよい。さらなる態様では、順序付けは、より大きい量子化ビンサイズを使用してすでに復号された潜在からなど、他の利用可能な情報から学習されてもよい。
図14は、サイド情報がデータを解凍するために使用される例示的なニューラルネットワークベースのデータ圧縮パイプライン1400を示す。
図示のように、圧縮パイプラインは、図1に示し、上記で説明した要素、ならびに圧縮されたビットストリームから元のコンテンツxの近似値
の生成に使用されてもよいサイドチャネルに対する情報(たとえば、ハイパー潜在z)を生成して符号化するために使用される追加の情報を含んでもよい。
コンテンツxを表す潜在空間コードyの圧縮バージョンの復号に使用されてもよいサイドチャネルに対する情報を生成するために、ハイパー分析変換1402(ha)は、ハイパー潜在zを生成してもよく、ハイパー潜在zは、量子化器1404によって量子化され、エントロピーコーダ1406によってハイパー事前分布
に符号化されてもよい。ハイパー事前分布は、潜在空間コードyの圧縮バージョンを用いて送信され、エントロピーデコーダ1408を使用して復号され、ハイパー潜在zの近似値
を復元するために逆量子化器1410を使用して逆量子化されてもよい。近似値
は、事前標準偏差σおよび事前平均μを復元するために、それぞれ、ハイパー合成変換(hypersynthesis transform)1412(hs)および1414(hm)を介して処理されてもよい。
事前標準偏差σおよび平均μは、量子化バージョンのコードyを符号化し、かつ符号化された量子化バージョンのコードyを表すビットストリームから量子化バージョンのコードyを復元するために、エントロピーコーダ116およびエントロピーデコーダ122によって使用されてもよい。その一方で、事前平均μは、yを量子化するための、およびコンテンツxがマッピングされる潜在空間コードyの近似値
を復元するためにエントロピーデコーダ122によって復元されたビットストリームを逆量子化するためのパラメータとして使用されてもよい。
逐次データ圧縮のための例示的な処理システム
図15は、たとえば、図6および図7に関して本明細書で説明したように、畳み込みニューラルネットワーク処理を実行するための例示的な処理システム1500を示す。
処理システム1200は、いくつかの例ではマルチコアCPUであってよい、中央処理ユニット(CPU)1502を含む。CPU1502において実行される命令は、たとえば、CPU1502に関連するプログラムメモリからロードされてもよく、またはメモリパーティション1524からロードされてもよい。
処理システム1500はまた、グラフィックス処理ユニット(GPU)1504、デジタル信号プロセッサ(DSP)1506、ニューラル処理ユニット(NPU)1508、マルチメディア処理ブロック1510、マルチメディア処理ユニット1510、およびワイヤレス接続コンポーネント1512などの、特定の機能に調整された追加の処理コンポーネントを含む。
1508などのNPUは一般に、人工ニューラルネットワーク(ANN)、ディープニューラルネットワーク(DNN)、ランダムフォレスト(RF)などを処理するためのアルゴリズムなどの、機械学習アルゴリズムを実行するためのすべての必要な制御および演算論理を実施するように構成される特殊回路である。NPUは代替として、ニューラル信号プロセッサ(NSP)、テンソル処理ユニット(TPU)、ニューラルネットワークプロセッサ(NNP)、インテリジェンス処理ユニット(IPU)、ビジョン処理ユニット(VPU)、またはグラフ処理ユニットと呼ばれることもある。
1508などのNPUは、画像分類、機械翻訳、物体検出、および様々な他の予測モデルなどの一般的な機械学習タスクの実行を加速するように構成される。いくつかの例では、複数のNPUが、システムオンチップ(SoC)などの単一のチップ上でインスタンス化されてもよいが、他の例では、専用のニューラルネットワークアクセラレータの一部であってもよい。
NPUは、訓練もしくは推論のために最適化されてもよく、または場合によっては、その両方の間で性能のバランスをとるように構成されてよい。訓練と推論の両方を実行することが可能なNPUでは、一般に2つのタスクはやはり独立して実行されてよい。
トレーニングを加速するように設計されたNPUは、一般に、新たなモデルの最適化を加速するように構成され、そうした最適化は、(しばしば、ラベル付けまたはタグ付けされた)既存のデータセットを入力することと、データセットを反復することと、次いで、モデル性能を向上させるために重みおよびバイアスなどのモデルパラメータを調整することとを伴う、極めて計算集約的な動作である。一般に、誤った予測に基づく最適化は、モデルの層を通じて後方に伝搬すること、および予測誤差を小さくするための勾配を決定することを伴う。
推論を加速するように設計されたNPUは、一般に、完全なモデル上で動作するように構成される。したがって、そのようなNPUは、新しいデータを入力し、モデル出力(たとえば、推論)を生成するようにすでに訓練されたモデルを通じてデータを高速に処理するように、構成されてもよい。
一実装形態では、NPU1508は、CPU1502、GPU1504、および/またはDSP1506のうちの1つまたは複数の一部である。
いくつかの例では、ワイヤレス接続コンポーネント1512は、たとえば、第3世代(3G)接続、第4世代(4G)接続(たとえば、4G LTE)、第5世代接続(たとえば、5GまたはNR)、Wi-Fi接続、Bluetooth接続、および他のワイヤレスデータ伝送規格用のサブコンポーネントを含んでもよい。ワイヤレス接続処理コンポーネント1512は、さらに1つまたは複数のアンテナ1514に接続される。
処理システム1500はまた、センサーの任意の方式に関連する1つもしくは複数のセンサー処理ユニット1516、イメージセンサーの任意の方式に関連する1つもしくは複数の画像信号プロセッサ(ISP)1518、および/または衛星ベースの測位システムコンポーネント(たとえば、GPSまたはGLONASS)を含むことがあるナビゲーションプロセッサ1520、ならびに慣性測位システムコンポーネントを含んでもよい。
処理システム1500はまた、スクリーン、タッチ敏感表面(タッチ敏感ディスプレイを含む)、物理ボタン、スピーカー、マイクロフォンなどの、1つまたは複数の入力および/または出力デバイス1522を含んでもよい。
いくつかの例では、処理システム1500のプロセッサのうちの1つまたは複数は、ARMまたはRISC-V命令セットに基づいてもよい。
処理システム1500はまた、ダイナミックランダムアクセスメモリ、フラッシュベースのスタティックメモリなどの、1つまたは複数のスタティックメモリおよび/またはダイナミックメモリを表すメモリ1524を含む。この例では、メモリ1524は、処理システム1500の上述のプロセッサのうちの1つまたは複数によって実行され得るコンピュータ実行可能コンポーネントを含む。
特に、この例では、メモリ1524は、潜在空間符号化コンポーネント1524A、逐次コーディングコンポーネント1524B、逐次コード復元コンポーネント1524C、および潜在空間復号コンポーネント1524Dを含む。図示されたコンポーネントおよび図示されていない他のコンポーネントは、本明細書において説明される方法の様々な態様を実行するように構成されてもよい。
一般に、処理システム1500および/またはそのコンポーネントは、本明細書で説明する方法を実行するように構成されてもよい。
特に、他の態様では、処理システム1500の態様は、処理システム1500がサーバコンピュータなどである場合などには省略されてよい。たとえば、マルチメディアコンポーネント1510、ワイヤレス接続性1512、センサー1516、ISP1518、および/またはナビゲーションコンポーネント1520は、他の態様では省略されてもよい。さらに、モデルを訓練し、モデルを使用してユーザ認証予測などの推論を生成することなどの処理システム1500の態様が説明されてもよい。
例示的な条項
条項1:ニューラルネットワークを使用してコンテンツを圧縮するための方法であって、圧縮のためのコンテンツを受信するステップと、人工ニューラルネットワークによって実装されたエンコーダを介してコンテンツを第1の潜在コード空間に符号化するステップと、一連の量子化ビンサイズのうちの第1の量子化ビンサイズを使用して第1の圧縮バージョンの符号化されたコンテンツを生成するステップと、少なくとも第1の圧縮バージョンの符号化されたコンテンツの値を条件として、第1の圧縮バージョンの符号化されたコンテンツを、第1の量子化ビンサイズより小さい、1つまたは複数の第2の量子化ビンサイズにスケーリングすることによって、精細化された圧縮バージョンの符号化されたコンテンツを生成するステップと、精細化された圧縮バージョンの符号化されたコンテンツを出力するステップとを含む、方法。
条項2:精細化された圧縮バージョンの符号化されたコンテンツを生成するステップが、第1の圧縮バージョンの符号化されたコンテンツの値を条件として、第1の圧縮バージョンの符号化されたコンテンツを第1のより細かい量子化ビンサイズにスケーリングすることによって、第1の精細化された圧縮バージョンの符号化されたコンテンツを生成するステップと、第1の精細化された圧縮バージョンの符号化されたコンテンツおよび第1の圧縮バージョンの符号化されたコンテンツの値を条件として、第1の精細化された圧縮バージョンの符号化されたコンテンツを第2のより細かい量子化ビンサイズにスケーリングすることによって、第2の精細化された圧縮バージョンの符号化されたコンテンツを生成するステップとを含み、第2のより細かい量子化ビンサイズは、第1のより細かい量子化ビンサイズより小さい、条項1の方法。
条項3:一連の量子化ビンサイズのうちの各それぞれの量子化ビンサイズのサイズが、第1の量子化ビンサイズの整数の倍数である、条項1または2の方法。
条項4:一連の量子化ビンサイズのうちの1つの量子化ビンサイズに対する中央のビンが、量子化ビンサイズの中の中央にないビンより大きいビンサイズを有する、条項1から3のいずれかの方法。
条項5:精細化された圧縮バージョンの符号化されたコンテンツを生成するステップが、一連の条件付き確率に基づいてビットストリームを生成するステップを含み、一連の条件付き確率の中の各条件付き確率が、最も細かい量子化ビンサイズ以外の一連の量子化ビンサイズの中のそれぞれの量子化ビンサイズと関連付けられ、それぞれの量子化ビンサイズより大きい量子化ビンサイズに対して計算された条件付き確率を条件とする、条項1から4のいずれかの方法。
条項6:精細化された圧縮バージョンの符号化されたコンテンツを生成するステップが、符号化されたコンテンツが位置する各量子化ビンの上界および下界の累積分布関数に基づいて、符号化されたコンテンツの確率質量を、一連の量子化ビンサイズのうちの各量子化ビンサイズに対して生成するステップを含む、条項1から5のいずれかの方法。
条項7:一連の量子化ビンサイズのうちの各それぞれの量子化ビンサイズに対する確率質量は、それぞれの量子化ビンサイズより大きい一連の量子化ビンサイズの中の量子化ビンサイズに対する確率質量を条件とする、条項6の方法。
条項8:受信されたコンテンツは、複数のデータチャネルを有するコンテンツを含む、条項1から7のいずれかの方法。
条項9:複数のデータチャネルのうちの各それぞれのデータチャネルは、それぞれのデータチャネルを圧縮するために使用される圧縮の量に対応する圧縮優先度と関連付けられる、条項8の方法。
条項10:複数のデータチャネルは、ビジュアルコンテンツ内の輝度チャネルおよび複数のクロミナンスチャネルを含み、輝度チャネルは、複数のクロミナンスチャネルと関連付けられた圧縮優先度より低い圧縮の量と関連付けられた圧縮優先度と関連付けられる、条項9の方法。
条項11:受信されたコンテンツは圧縮されるビジュアルコンテンツを含み、複数のデータチャネルは、ビジュアルコンテンツ内の複数の色データチャネルを含み、圧縮バージョンの符号化されたコンテンツの品質に最高の影響を及ぼす複数の色データチャネルのうちの第1の色データチャネルは、第1の色データチャネル以外の色データチャネルと関連付けられた圧縮優先度より低い圧縮の量と関連付けられた圧縮優先度と関連付けられる、条項9の方法。
条項12:複数の色データチャネルの各々に含まれる輝度データの量に基づいて第1の色データチャネルを識別するステップをさらに含む、条項11の方法。
条項13:それぞれのデータチャネルが一連の量子化ビンサイズの中の各量子化ビンサイズと関連付けられた複数のビットレートの各々に対して符号化されるとき、ひずみにおける減少を計算することおよびビットレートにおける増加を計算することに基づいて、複数のデータチャネルのうちの各それぞれのデータチャネルと関連付けられた圧縮優先度を決定するステップをさらに含む、条項9から12のいずれかの方法。
条項14:各それぞれのデータチャネルに対するひずみにおける減少を計算するステップが、一度目はそれぞれのデータチャネルを含めて符号化されたコンテンツを復号することによって生成されたひずみと、二度目はそれぞれのデータチャネルを除外して符号化されたコンテンツを復号することによって生成されたひずみとの間の差を計算するステップを含む、条項13に方法。
条項15:受信されたコンテンツを複数のコーディングユニットに分割するステップと、圧縮メトリックに基づいて複数のコーディングユニットを順序付けるステップとをさらに含み、精細化された圧縮バージョンの符号化されたコンテンツを生成するステップが、複数のコーディングユニットの各々を精細化するステップを含み、それにより、複数のコーディングユニットの各々は、異なるレベルの量子化を使用して圧縮され、より高い圧縮メトリックを有するコーディングユニットは、より低い圧縮メトリックを有するコーディングユニットより低い圧縮の量を使用して圧縮される、条項1から14のいずれかの方法。
条項16:受信されたコンテンツを複数のコーディングユニットに分割するステップが、受信されたコンテンツを複数の要素に分割するステップを含み、各要素は、受信されたコンテンツ内の特定のロケーションにおける複数のチャネルのうちの1つに対するデータを表す、条項15の方法。
条項17:受信されたコンテンツを複数のコーディングユニットに分割するステップが、受信されたコンテンツを複数のブロックに分割するステップを含み、各ブロックは、受信されたコンテンツ内のロケーションの特定の範囲における複数のチャネルのうちの1つに対するデータを表す、条項15の方法。
条項18:受信されたコンテンツを複数のコーディングユニットに分割するステップが、受信されたコンテンツを複数のチャネルに分割するステップを含む、条項15の方法。
条項19:受信されたコンテンツを複数のコーディングユニットに分割するステップが、受信されたコンテンツを複数のピクセルに分割するステップを含み、各ピクセルは、受信されたコンテンツ内の特定のロケーションにおける複数のチャネルに対するデータを表す、条項15の方法。
条項20:圧縮メトリックは、ハイパー潜在内で符号化された事前標準偏差を含み、ハイパー潜在は、精細化された圧縮バージョンの符号化されたコンテンツの初期部分を含む、条項15の方法。
条項21:圧縮メトリックは、ひずみ-レート比を含み、精細化された圧縮バージョンの符号化されたコンテンツは、最高のひずみ-レート比から最低のひずみ-レート比までの、複数のコーディングユニットに対する順序付け情報を含む、条項15の方法。
条項22:圧縮メトリックは、レートメトリックにおける変化を含み、精細化された圧縮バージョンの符号化されたコンテンツは、レートにおけるある変化からレートにおける最低の変化までの、複数のコーディングユニットに対する順序付け情報を含む、条項15の方法。
条項23:第1の量子化ビンサイズは、第1のビットレートと関連付けられ、1つまたは複数の第2の量子化ビンサイズのうちの各それぞれの量子化ビンサイズは、第1のビットレートより高いビットレートに対応する条項1から22のいずれかの方法。
条項24:ニューラルネットワークを使用してコンテンツを解凍するための方法であって、解凍するための符号化されたコンテンツを受信するステップと、一連の量子化ビンサイズからコードを復元することによって受信された符号化されたコンテンツからl潜在コード空間内の値の近似値を復元するステップであって、一連の量子化ビンサイズは、第1の量子化ビンサイズと、第1の量子化ビンサイズより小さい1つまたは複数の第2の量子化ビンサイズとを含む、ステップと、人工ニューラルネットワークによって実装されたデコーダを介して潜在コード空間内の値の近似値を復号することによって解凍バージョンの符号化されたコンテンツを生成するステップと、解凍バージョンの符号化されたコンテンツを出力するステップとを含む、方法。
条項25:一連の量子化ビンサイズのうちの各それぞれの量子化ビンサイズのサイズが、第1の量子化ビンサイズの整数の倍数である、条項24の方法。
条項26:一連の量子化ビンサイズのうちの1つの量子化ビンサイズに対する中央のビンが、量子化ビンサイズの中の中央にないビンより大きいビンサイズを有する、条項24または25の方法。
条項27:潜在コード空間内の値の近似値を復元するステップが、符号化されたコンテンツを表すビットストリームから一連の条件付き確率に基づいてコードを復元するステップを含み、一連の条件付き確率の中の各条件付き確率が、最も細かい量子化ビンサイズ以外の一連の量子化ビンサイズの中のそれぞれの量子化ビンサイズと関連付けられ、それぞれの量子化ビンサイズより大きい量子化ビンサイズに対して計算された条件付き確率を条件とする、条項24から26のいずれかの方法。
条項28:潜在コード空間内の値の近似値を復元するステップが、符号化されたコンテンツが位置する各量子化ビンの上界および下界の累積分布関数に基づいて、符号化されたコンテンツの確率質量を、一連の量子化ビンサイズのうちの各量子化ビンサイズから識別するステップを含む、条項24から27のいずれかの方法。
条項29:一連の量子化ビンサイズのうちの各それぞれの量子化ビンサイズに対する確率質量は、それぞれの量子化ビンサイズより大きい一連の量子化ビンサイズの中の量子化ビンサイズに対する確率質量を条件とする、条項28の方法。
条項30:受信された符号化されたコンテンツは、複数のデータチャネルを有するコンテンツを含む、条項24から29のいずれかの方法。
条項31:複数のデータチャネルのうちの各それぞれのデータチャネルは、それぞれのデータチャネルを圧縮するために使用される圧縮の量に対応する圧縮優先度と関連付けられる、条項30の方法。
条項32:複数のデータチャネルは、ビジュアルコンテンツ内の輝度チャネルおよび複数のクロミナンスチャネルを含み、輝度チャネルは、複数のクロミナンスチャネルと関連付けられた圧縮優先度より低い圧縮の量と関連付けられた圧縮優先度と関連付けられる、条項31の方法。
条項33:受信された符号化されたコンテンツは、解凍されるビジュアルコンテンツを含み、複数のデータチャネルは、ビジュアルコンテンツ内の複数の色データチャネルを含み、解凍バージョンの符号化されたコンテンツの品質に最高の影響を及ぼす複数の色データチャネルのうちの第1の色データチャネルは、第1の色データチャネル以外の色データチャネルと関連付けられた圧縮優先度より低い圧縮の量と関連付けられた圧縮優先度と関連付けられる、条項31の方法。
条項34:複数の色データチャネルの各々に含まれる輝度データの量に基づいて第1の色データチャネルを識別するステップをさらに含む、条項33の方法。
条項35:符号化されたコンテンツは、複数の符号化されたコーディングユニットを含み、受信された符号化されたコンテンツから潜在コード空間内の値の近似値を復元するステップは、複数の符号化されたコーディングユニットの各々と関連付けられた潜在コード空間内のコードを復元するステップを含む、条項24から34のいずれかの方法。
条項36:複数のコーディングユニットは複数の要素を含み、各要素は、受信されたコンテンツ内の特定のロケーションにおける複数のチャネルのうちの1つに対するデータを表す、条項35の方法。
条項37:複数のコーディングユニットは複数のブロックを含み、各ブロックは、受信されたコンテンツ内のロケーションの特定の範囲における複数のチャネルのうちの1つに対するデータを表す、条項35の方法。
条項38:複数のコーディングユニットは複数のチャネルを含む、条項35の方法。
条項39:複数のコーディングユニットは複数のピクセルを含み、各ピクセルは、受信されたコンテンツ内の特定のロケーションにおける複数のチャネルに対するデータを表す、条項35の方法。
条項40:潜在コード空間内の値の近似値を復元するステップは、ハイパー潜在内で符号化された事前標準偏差を復元するステップを含み、ハイパー潜在は、符号化されたコンテンツの初期部分を含む、条項35の方法。
条項41:潜在コード空間内の値の近似値を復元するステップは、複数のコーディングユニットが圧縮された順序を復元するステップを含み、順序は、符号化されたコンテンツと関連付けられたサイド情報として含まれる、条項35の方法。
条項42:第1の量子化ビンサイズは、第1のビットレートと関連付けられ、1つまたは複数の第2の量子化ビンサイズのうちの各それぞれの量子化ビンサイズは、第1のビットレートより高いビットレートに対応する、条項24から42のいずれかの方法。
条項43:処理システムであって、コンピュータ実行可能命令を含むメモリと、コンピュータ実行可能命令を実行し、処理システムに条項1~42のいずれか一項に記載の方法を実行させるように構成される1つまたは複数のプロセッサとを備える、処理システム。
条項44:処理システムであって、条項1から42のいずれか一項に記載の方法を実行するための手段を備える、処理システム。
条項45:非一時的コンピュータ可読媒体であって、処理システムの1つまたは複数のプロセッサによって実行されたときに、処理システムに条項1から42のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体。
条項46:条項1から42のいずれか一項に記載の方法を実行するためのコードを含むコンピュータ可読記憶媒体上に具現化されるコンピュータプログラム製品。
追加の考慮事項
先行する説明は、いかなる当業者も、本明細書で説明した様々な態様を実践することを可能にするように提供される。本明細書で説明した例は、特許請求の範囲に記載された範囲、適用可能性、または態様を限定するものではない。これらの態様の様々な修正は、当業者に容易に明らかになり、本明細書で定義される一般原理は、他の態様に適用され得る。たとえば、本開示の範囲から逸脱することなく、説明した要素の機能および構成において変更が加えられてもよい。様々な例は、適宜に、様々な手順またはコンポーネントを省略、置換、または追加してもよい。たとえば、説明した方法は、説明した順序とは異なる順序で実行されてもよく、様々なステップが追加されてもよく、省略されてもよく、または組み合わせられてもよい。また、いくつかの例に関して説明した特徴が、いくつかの他の例において組み合わせられてもよい。たとえば、本明細書に記載する任意の数の態様を使用して、装置が実装されてもよく、または方法が実践されてもよい。加えて、本開示の範囲は、本明細書に記載する開示の様々な態様に加えて、またはそうした態様以外の、他の構造、機能性、または構造および機能性を使用して実践されるような装置または方法をカバーするものである。本明細書で開示する本開示のいずれの態様も、特許請求の範囲の1つまたは複数の要素によって具現され得ることを理解されたい。
本明細書において使用される「例示的」という用語は、「例、事例、または例示として機能すること」を意味する。「例示的」として本明細書において説明されるいかなる態様も、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきではない。
本明細書で使用される、項目のリスト「のうちの少なくとも1つ」を指す句は、単一のメンバーを含むそれらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a-b、a-c、b-c、およびa-b-c、ならびに複数の同じ要素を有する任意の組合せ(たとえば、a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c、およびc-c-c、またはa、b、およびcの任意の他の順序)を包含するものとする。
本明細書で使用される「決定すること」という用語は、多種多様なアクションを包含する。たとえば、「決定すること」は、算出すること、計算すること、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベースまたは別のデータ構造においてルックアップすること)、確認することなどを含んでもよい。また、「決定すること」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ内のデータにアクセスすること)などを含んでもよい。また、「決定すること」は、解決すること、選択すること、選ぶこと、確立することなどを含んでもよい。
本明細書で開示した方法は、方法を達成するための1つまたは複数のステップまたは行為を含む。方法のステップおよび/または行為は、特許請求の範囲の範囲から逸脱することなく互いに交換されてもよい。言い換えれば、ステップまたは行為の具体的な順序が指定されない限り、具体的なステップおよび/または行為の順序および/または使用は、特許請求の範囲の範囲から逸脱することなく修正されてもよい。さらに、上で説明された方法の様々な動作は、対応する機能を実行することが可能な任意の適切な手段によって実行されてもよい。手段は、限定はされないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々なハードウェアおよび/またはソフトウェアコンポーネントおよび/またはモジュールを含んでもよい。一般に、図に示される動作がある場合、それらの動作は、類似の番号付けを伴う対応する相対物のミーンズプラスファンクションコンポーネントを有してもよい。
以下の請求項は、本明細書で示される態様に限定されるものではなく、請求項の文言と一致する全範囲を与えられるべきである。請求項内では、単数形での要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものとする。別段に明記されていない限り、「いくつかの」という用語は、1つまたは複数を指す。請求項の要素は、要素が「のための手段」という句を使用して明白に記載されていない限り、または方法クレームの場合には、要素が「のためのステップ」という句を使用して記載されていない限り、米国特許法第112条(f)の規定の下で解釈されるべきではない。当業者に知られているか、または後で知られることになる、本開示全体にわたって説明した様々な態様の要素のすべての構造的および機能的な均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものとする。その上、本明細書に開示されるものはいずれも、そのような開示が特許請求の範囲において明示的に列挙されているかどうかにかかわらず、公に供されることを意図するものではない。
100 ニューラルネットワークベースのデータ圧縮パイプライン
110 パイプラインの符号化側
111 コンテンツx
112 ニューラルネットワークベースの非線形変換層(ga)
113 潜在空間コードy
114 量子化方式(Q)
116 エンティティコーダ
120 パイプラインの復号側
122 エンティティデコーダ
124 逆量子化方式(Q-1)
125 コードの近似値
126 ニューラルネットワークベースの非線形変換層(gs)
127 近似値
200 パイプライン
202 エンコーダ
204 ハイパーエンコーダ
206 ハイパーデコーダ
208 デコーダ
210 スケーラ
212 リスケーラ
300 確率分布
302 確率質量
304 量子化ビン
306 [y]
310 確率分布
312 確率質量
314 スケーリングされた量子化ビン
316 2[y/2]
400A 量子化レベルのシリーズ
400B 量子化レベルのシリーズ
402 量子化レベル
404 量子化レベル
406 量子化レベル
408 量子化レベル
500 ネストされた量子化
800 チャネルワイズ逐次コーディング
900 効果的な量子化グリッド
902 交差
904 交差
906 最小の効果的な量子化ビン
1000 量子化グリッド
1002 最も細かい量子化グリッド
1004 量子化グリッド
1006 量子化グリッドの中点
1100A グラフ
1100B グラフ
1100C グラフ
1100D グラフ
1100E グラフ
1100F グラフ
1200 グラフ
1202 ひずみ線
1204 ひずみ線
1300 グラフ
1400 ニューラルネットワークベースのデータ圧縮パイプライン
1402 ハイパー分析変換
1404 量子化器
1406 エントロピーコーダ
1408 エントロピーデコーダ
1410 逆量子化器
1412 ハイパー合成変換
1414 ハイパー合成変換
1500 処理システム
1502 中央処理ユニット(CPU)
1504 グラフィックス処理ユニット(GPU)
1506 デジタル信号プロセッサ(DSP)
1508 ニューラル処理ユニット(NPU)
1510 マルチメディア処理ブロック
1512 ワイヤレス接続コンポーネント
1514 アンテナ
1516 センサー処理ユニット
1518 画像信号プロセッサ(ISP)
1520 ナビゲーションプロセッサ
1522 入力および/または出力デバイス
1524 メモリ
1524A 潜在空間符号化コンポーネント
1524B 逐次コーディングコンポーネント
1524C 逐次コード復元コンポーネント
1524D 潜在空間復号コンポーネント

Claims (30)

  1. ニューラルネットワークを使用してコンテンツを圧縮するための方法であって、
    圧縮のためのコンテンツを受信するステップと、
    人工ニューラルネットワークによって実装されたエンコーダを介して前記コンテンツを第1の潜在コード空間に符号化するステップと、
    一連の量子化ビンサイズのうちの第1の量子化ビンサイズを使用して第1の圧縮バージョンの前記符号化されたコンテンツを生成するステップと、
    少なくとも前記第1の圧縮バージョンの前記符号化されたコンテンツの値を条件として、前記第1の圧縮バージョンの前記符号化されたコンテンツを、前記第1の量子化ビンサイズより小さい、前記一連の量子化ビンサイズの中の1つまたは複数の第2の量子化ビンサイズにスケーリングすることによって、精細化された圧縮バージョンの前記符号化されたコンテンツを生成するステップと、
    前記精細化された圧縮バージョンの前記符号化されたコンテンツを出力するステップと
    を含む、方法。
  2. 前記精細化された圧縮バージョンの前記符号化されたコンテンツを生成するステップが、
    前記第1の圧縮バージョンの前記符号化されたコンテンツの値を条件として、前記第1の圧縮バージョンの前記符号化されたコンテンツを第1のより細かい量子化ビンサイズにスケーリングすることによって、第1の精細化された圧縮バージョンの前記符号化されたコンテンツを生成するステップと、
    前記第1の精細化された圧縮バージョンの前記符号化されたコンテンツおよび前記第1の圧縮バージョンの前記符号化されたコンテンツの値を条件として、前記第1の精細化された圧縮バージョンの前記符号化されたコンテンツを第2のより細かい量子化ビンサイズにスケーリングすることによって、第2の精細化された圧縮バージョンの前記符号化されたコンテンツを生成するステップであって、前記第2のより細かい量子化ビンサイズは前記第1のより細かい量子化ビンサイズより小さい、ステップと
    を含む、請求項1に記載の方法。
  3. 前記一連の量子化ビンサイズのうちの各それぞれの量子化ビンサイズのサイズが、前記第1の量子化ビンサイズの整数の倍数である、請求項1に記載の方法。
  4. 前記一連の量子化ビンサイズのうちの1つの量子化ビンサイズに対する中央のビンが、前記量子化ビンサイズの中の中央にないビンより大きいビンサイズを有する、請求項1に記載の方法。
  5. 前記精細化された圧縮バージョンの前記符号化されたコンテンツを生成するステップが、一連の条件付き確率に基づいてビットストリームを生成するステップを含み、
    前記一連の条件付き確率の中の各条件付き確率が、最も細かい量子化ビンサイズ以外の前記一連の量子化ビンサイズの中のそれぞれの量子化ビンサイズと関連付けられ、前記それぞれの量子化ビンサイズより大きい量子化ビンサイズに対して計算された条件付き確率を条件とする、請求項1に記載の方法。
  6. 前記精細化された圧縮バージョンの前記符号化されたコンテンツを生成するステップが、
    前記符号化されたコンテンツが位置する各量子化ビンの上界および下界の累積分布関数に基づいて、前記符号化されたコンテンツの確率質量を、前記一連の量子化ビンサイズのうちの各量子化ビンサイズに対して生成するステップを含み、
    前記一連の量子化ビンサイズのうちの各それぞれの量子化ビンサイズに対する前記確率質量は、前記それぞれの量子化ビンサイズより大きい前記一連の量子化ビンサイズの中の量子化ビンサイズに対する確率質量を条件とする、請求項1に記載の方法。
  7. 前記符号化されたコンテンツは、複数のデータチャネルを有するコンテンツを含み、
    前記複数のデータチャネルの各それぞれのデータチャネルは、前記それぞれのデータチャネルを圧縮するために使用される圧縮の量に対応する圧縮優先度と関連付けられる、請求項1に記載の方法。
  8. 前記それぞれのデータチャネルが前記一連の量子化ビンサイズの中の各量子化ビンサイズと関連付けられた複数のビットレートの各々に対して符号化されるとき、ビットレートにおける増加を復号して計算した後のひずみにおける減少を計算することに基づいて、前記複数のデータチャネルのうちの各それぞれのデータチャネルと関連付けられた前記圧縮優先度を決定するステップをさらに含む、請求項7に記載の方法。
  9. 各それぞれのデータチャネルに対するひずみにおける前記減少を計算するステップが、一度目は前記それぞれのデータチャネルを含めて前記符号化されたコンテンツを復号することによって生成されたひずみと、二度目は前記それぞれのデータチャネルを除外して前記符号化されたコンテンツを復号することによって生成されたひずみとの間の差を計算するステップを含む、請求項8に記載の方法。
  10. 前記受信されたコンテンツを複数のコーディングユニットに分割するステップと、
    圧縮メトリックに基づいて前記複数のコーディングユニットを順序付けるステップと
    をさらに含み、
    前記精細化された圧縮バージョンの前記符号化されたコンテンツを生成するステップが、前記複数のコーディングユニットの各々を精細化するステップを含み、それにより、前記複数のコーディングユニットの各々が異なるレベルの量子化を使用して圧縮され、より高い圧縮メトリックを有するコーディングユニットが、より低い圧縮メトリックを有するコーディングユニットより少ない圧縮の量を使用して圧縮される、請求項1に記載の方法。
  11. 前記受信されたコンテンツを前記複数のコーディングユニットに分割するステップが、前記受信されたコンテンツを複数の要素に分割するステップを含み、各要素は、前記受信されたコンテンツ内の特定のロケーションにおける複数のチャネルのうちの1つに対するデータを表す、請求項10に記載の方法。
  12. 前記受信されたコンテンツを前記複数のコーディングユニットに分割するステップが、前記受信されたコンテンツを複数のブロックに分割するステップを含み、各ブロックは、前記受信されたコンテンツ内のロケーションの特定の範囲における複数のチャネルのうちの1つに対するデータを表す、請求項10に記載の方法。
  13. 前記受信されたコンテンツを前記複数のコーディングユニットに分割するステップが、前記受信されたコンテンツを複数のチャネルに分割するステップを含む、請求項10に記載の方法。
  14. 前記受信されたコンテンツを前記複数のコーディングユニットに分割するステップが、前記受信されたコンテンツを複数のピクセルに分割するステップを含み、各ピクセルは、前記受信されたコンテンツ内の特定のロケーションにおける複数のチャネルに対するデータを表す、請求項10に記載の方法。
  15. 前記圧縮メトリックは、
    ハイパー潜在内で符号化された事前標準偏差であって、前記ハイパー潜在は、前記精細化された圧縮バージョンの前記符号化されたコンテンツの初期部分を含む、事前標準偏差か、
    ひずみ-レート比であって、前記精細化された圧縮バージョンの前記符号化されたコンテンツは、最高のひずみ-レート比から最低のひずみ-レート比までの、前記複数のコーディングユニットに対する順序付け情報を含む、ひずみ-レート比か、または
    レートメトリックにおける変化のうちの1つまたは複数を含み、前記精細化された圧縮バージョンの前記符号化されたコンテンツは、レートにおけるある変化からレートにおける最低の変化までの、前記複数のコーディングユニットに対する順序付け情報を含む、請求項10に記載の方法。
  16. 前記第1の量子化ビンサイズは、第1のビットレートと関連付けられ、
    前記1つまたは複数の第2の量子化ビンサイズのうちの各それぞれの量子化ビンサイズは、前記第1のビットレートより高いビットレートに対応する、請求項1に記載の方法。
  17. ニューラルネットワークを使用してコンテンツを解凍するための方法であって、
    解凍のための符号化されたコンテンツ受信するステップと、
    一連の量子化ビンサイズからコードを復元することによって前記受信された符号化されたコンテンツからl潜在コード空間内の値の近似値を復元するステップであって、前記一連の量子化ビンサイズは、第1の量子化ビンサイズと、前記第1の量子化ビンサイズより小さい1つまたは複数の第2の量子化ビンサイズとを含む、ステップと、
    人工ニューラルネットワークによって実装されたデコーダを介して前記潜在コード空間内の前記値の前記近似値を復号することによって解凍バージョンの前記符号化されたコンテンツを生成するステップと、
    前記解凍バージョンの前記符号化されたコンテンツを出力するステップと
    を含む、方法。
  18. 前記一連の量子化ビンサイズのうちの各それぞれの量子化ビンサイズのサイズが、前記第1の量子化ビンサイズの整数の倍数であり、
    前記潜在コード空間内の前記値の前記近似値を復元するステップが、前記符号化されたコンテンツを表すビットストリームから一連の条件付き確率に基づいてコードを復元するステップを含み、
    前記一連の条件付き確率の中の各条件付き確率が、最も細かい量子化ビンサイズ以外の前記一連の量子化ビンサイズの中のそれぞれの量子化ビンサイズと関連付けられ、前記それぞれの量子化ビンサイズより大きい量子化ビンサイズに対して計算された条件付き確率を条件とする、請求項17に記載の方法。
  19. 前記潜在コード空間内の前記値の前記近似値を復元するステップが、前記符号化されたコンテンツが位置する各量子化ビンの上界および下界の累積分布関数に基づいて、前記符号化されたコンテンツの確率質量を、前記一連の量子化ビンサイズのうちの各量子化ビンサイズから識別するステップを含み、
    前記一連の量子化ビンサイズのうちの各それぞれの量子化ビンサイズに対する前記確率質量は、前記それぞれの量子化ビンサイズより大きい前記一連の量子化ビンサイズの中の量子化ビンサイズに対する確率質量を条件とする、請求項17に記載の方法。
  20. 前記受信された符号化されたコンテンツは、複数のデータチャネルを有するコンテンツを含み、
    前記複数のデータチャネルのうちの各それぞれのデータチャネルは、前記それぞれのデータチャネルを圧縮するために使用される圧縮の量に対応する圧縮優先度と関連付けられる、請求項17に記載の方法。
  21. 前記符号化されたコンテンツは、複数の符号化されたコーディングユニットを含み、
    前記受信された符号化されたコンテンツから潜在コード空間内の前記値の前記近似値を復元するステップは、前記複数の符号化されたコーディングユニットの各々と関連付けられた前記潜在コード空間内のコードを復元するステップを含む、請求項17に記載の方法。
  22. 前記複数のコーディングユニットは複数の要素を含み、各要素は、前記受信されたコンテンツ内の特定のロケーションにおける複数のチャネルのうちの1つに対するデータを表す、請求項21に記載の方法。
  23. 前記複数のコーディングユニットは複数のブロックを含み、各ブロックは、前記受信されたコンテンツ内のロケーションの特定の範囲における複数のチャネルのうちの1つに対するデータを表す、請求項21に記載の方法。
  24. 前記複数のコーディングユニットは複数のチャネルを含む、請求項21に記載の方法。
  25. 前記複数のコーディングユニットは複数のピクセルを含み、各ピクセルは、前記受信されたコンテンツ内の特定のロケーションにおける複数のチャネルに対するデータを表す、請求項21に記載の方法。
  26. 前記潜在コード空間内の前記値の前記近似値を復元するステップは、ハイパー潜在内で符号化された事前標準偏差を復元するステップを含み、前記ハイパー潜在は、前記符号化されたコンテンツの初期部分を含む、請求項21に記載の方法。
  27. 前記潜在コード空間内の前記値の前記近似値を復元するステップは、前記複数のコーディングユニットが圧縮された順序を復元するステップを含み、前記順序は、前記符号化されたコンテンツと関連付けられたサイド情報として含まれる、請求項21に記載の方法。
  28. 前記第1の量子化ビンサイズは、第1のビットレートと関連付けられ、
    前記1つまたは複数の第2の量子化ビンサイズのうちの各それぞれの量子化ビンサイズは、前記第1のビットレートより高いビットレートに対応する、請求項17に記載の方法。
  29. メモリに記憶された実行可能命令を有するメモリと、
    前記実行可能命令を実行するように構成されるプロセッサであって、前記実行可能命令は、前記システムに、
    圧縮のためのコンテンツを受信することと、
    人工ニューラルネットワークによって実装されたエンコーダを介して前記コンテンツを第1の潜在コード空間に符号化することと、
    一連の量子化ビンサイズのうちの第1の量子化ビンサイズを使用して第1の圧縮バージョンの前記符号化されたコンテンツを生成することと、
    少なくとも前記第1の圧縮バージョンの前記符号化されたコンテンツの値を条件として、前記第1の圧縮バージョンの前記符号化されたコンテンツを、前記第1の量子化ビンサイズより小さい前記一連の量子化ビンサイズの中の1つまたは複数の第2の量子化ビンサイズにスケーリングすることによって、精細化された圧縮バージョンの前記符号化されたコンテンツを生成することと、
    前記精細化された圧縮バージョンの前記符号化されたコンテンツを出力することと
    を行わせる、プロセッサと
    を備える、システム。
  30. メモリに記憶された実行可能命令を有するメモリと、
    前記実行可能命令を実行するように構成されるプロセッサであって、前記実行可能命令は、前記システムに、
    解凍のための符号化されたコンテンツを受信することと、
    一連の量子化ビンサイズからコードを復元することによって、前記受信された符号化されたコンテンツから潜在コード空間内の値の近似値を復元することであって、前記一連の量子化ビンサイズは、第1の量子化ビンサイズと前記第1の量子化ビンサイズより小さい1つまたは複数の第2の量子化ビンサイズとを含む、ことと、
    人工ニューラルネットワークによって実装されたデコーダを介して前記潜在コード空間内の前記値の前記近似値を復号することによって解凍バージョンの前記符号化されたコンテンツを生成するステップと、
    前記解凍バージョンの前記符号化されたコンテンツを出力することと
    を行わせる、プロセッサと
    を備える、システム。
JP2023543424A 2021-01-25 2022-01-25 人工ニューラルネットワークを使用する逐次データ圧縮 Pending JP2024504315A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163141322P 2021-01-25 2021-01-25
US63/141,322 2021-01-25
US17/648,808 2022-01-24
US17/648,808 US20220237740A1 (en) 2021-01-25 2022-01-24 Progressive data compression using artificial neural networks
PCT/US2022/013723 WO2022159897A1 (en) 2021-01-25 2022-01-25 Progressive data compression using artificial neural networks

Publications (1)

Publication Number Publication Date
JP2024504315A true JP2024504315A (ja) 2024-01-31

Family

ID=80284798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023543424A Pending JP2024504315A (ja) 2021-01-25 2022-01-25 人工ニューラルネットワークを使用する逐次データ圧縮

Country Status (5)

Country Link
EP (1) EP4282076A1 (ja)
JP (1) JP2024504315A (ja)
KR (1) KR20230136121A (ja)
BR (1) BR112023013954A2 (ja)
WO (1) WO2022159897A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116260969B (zh) * 2023-05-15 2023-08-18 鹏城实验室 一种自适应的通道渐进式编解码方法、装置、终端及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10886943B2 (en) * 2019-03-18 2021-01-05 Samsung Electronics Co., Ltd Method and apparatus for variable rate compression with a conditional autoencoder

Also Published As

Publication number Publication date
EP4282076A1 (en) 2023-11-29
BR112023013954A2 (pt) 2023-11-07
KR20230136121A (ko) 2023-09-26
WO2022159897A1 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
US11423310B2 (en) Deep learning based adaptive arithmetic coding and codelength regularization
KR102287947B1 (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
KR102285738B1 (ko) 영상의 주관적 품질을 평가하는 방법 및 장치
US20220237740A1 (en) Progressive data compression using artificial neural networks
US20220191521A1 (en) Processing of residulas in video coding
US6813387B1 (en) Tile boundary artifact removal for arbitrary wavelet filters
US11893762B2 (en) Method and data processing system for lossy image or video encoding, transmission and decoding
US11881003B2 (en) Image compression and decoding, video compression and decoding: training methods and training systems
KR102312337B1 (ko) Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
US20230106778A1 (en) Quantization for Neural Networks
KR102287942B1 (ko) 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
US20030081852A1 (en) Encoding method and arrangement
JP2024504315A (ja) 人工ニューラルネットワークを使用する逐次データ圧縮
KR102312338B1 (ko) Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
US20240155132A1 (en) Processing of residuals in video coding
CN116746066A (zh) 使用人工神经网络的渐进式数据压缩
CN114501034A (zh) 基于离散高斯混合超先验和Mask的图像压缩方法及介质
EA045392B1 (ru) Обработка остатков при кодировании видео
Lambat et al. A MODIFIED ALGORITHM FOR CODEBOOK DESIGN USING VECTOR QUANTIZATION FOR IMAGE COMPRESSION