JP2023543477A - エントロピー符号化/復号方法および装置 - Google Patents

エントロピー符号化/復号方法および装置 Download PDF

Info

Publication number
JP2023543477A
JP2023543477A JP2023519760A JP2023519760A JP2023543477A JP 2023543477 A JP2023543477 A JP 2023543477A JP 2023519760 A JP2023519760 A JP 2023519760A JP 2023519760 A JP2023519760 A JP 2023519760A JP 2023543477 A JP2023543477 A JP 2023543477A
Authority
JP
Japan
Prior art keywords
samples
values
value
picture
layer information
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
JP2023519760A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2023543477A publication Critical patent/JP2023543477A/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • 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/047Probabilistic or stochastic 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/088Non-supervised learning, e.g. competitive learning
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative 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/048Activation functions
    • 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/094Adversarial learning

Abstract

本出願は、エントロピー符号化/復号方法および装置を提供し、人工知能(AI)ベースのビデオまたはピクチャ圧縮技術の分野に関し、特に、ニューラルネットワークベースのビデオ圧縮技術の分野に関する。本方法は、符号化対象ピクチャブロックのベース層情報を取得するステップであって、ベース層情報は、ピクチャブロック内のM個のサンプルに対応し、Mは正の整数である、ステップと、ピクチャブロックの拡張層情報に対応するK個の要素を取得するステップであって、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、KおよびNの両方が正の整数であり、かつN≧Mである、ステップと、K個のグループの確率値を得るために、ベース層情報をニューラルネットワークに入力するステップであって、K個のグループの確率値はK個の要素に対応し、確率値のいずれのグループも、対応する要素の複数の候補値の確率を表すものである、ステップと、K個のグループの確率値に基づいて、K個の要素に対してエントロピー符号化を行うステップとを含む。本出願は、エントロピー符号化/復号効率を向上させることができる。

Description

本出願は、2020年9月30日に中国国家知識産権局に出願された、「ENTROPY ENCODING/DECODING METHOD AND APPARATUS」と題された中国特許出願第202011066451.7号の優先権を主張するものであり、その全体は参照により本明細書に組み込まれる。
本発明の実施形態は、人工知能(artificial intelligence、AI)ベースのビデオまたはピクチャ圧縮技術の分野に関し、特に、エントロピー符号化/復号方法および装置に関する。
ビデオコーディング(ビデオ符号化および復号)は、幅広いデジタルビデオ用途、例えば、放送デジタルテレビ、インターネットおよびモバイルネットワーク上のビデオ送信、ビデオチャットおよびビデオ会議などのリアルタイム会話用途、DVDおよびブルーレイディスク、ビデオコンテンツ取得編集システム、セキュリティ用途のカムコーダで使用されている。
短いビデオであってもそれを描写するのに必要とされるビデオデータでの量はかなりものになる可能性があり、限られた帯域幅容量を有するネットワークを介して送信されるか、またはそれ以外の方法でデータが通信されるときに困難をもたらす場合がある。よって、ビデオデータは、今日の電気通信ネットワークを介し通信される前に一般に圧縮される。メモリリソースは限られている場合があるため、ビデオが記憶装置に記憶されるときに、ビデオのサイズに関する問題が生じ得る。ビデオ圧縮デバイスは、多くの場合、送信または記憶の前に送信元ソースでソフトウェアおよび/またはハードウェアを使用してビデオデータをコーディングし、それによってデジタルビデオピクチャを表すのに必要とされるデータの量を減らす。圧縮データは、次いで、宛先でビデオ解凍デバイスにより受信される。ネットワークリソースには限りがあり、より高いビデオ品質の需要は絶えず増加しており、ピクチャ品質をほとんどまたはまったく犠牲にせずに圧縮比を改善できる改善された圧縮技術および解凍技法が望ましい。階層化コーディング技術は、時間領域、空間領域、および品質階層化の概念を提供する。フレームレート、解像度、および品質がより高いビデオコンテンツを取得するために、ベース層に基づいて、拡張層に関する情報が追加される。異なるユーザが、ユーザのそれぞれの端末機器の処理能力およびネットワーク帯域幅と一致するように、拡張層のビットストリームが必要かどうかを選択することができる。
近年、ピクチャおよびビデオの符号化および復号の分野で、深層学習が普及しつつある。深層学習ベースの階層化コーディング技術では、エントロピーコーディング効率をいかにして向上させるかが緊急に解決されるべき技術的問題となっている。
本出願は、エントロピー符号化/復号効率を向上させるために、エントロピー符号化/復号方法および装置を提供する。
第1の態様によれば、本出願は、エントロピー符号化方法であって、符号化対象ピクチャブロックのベース層情報を得るステップであって、ベース層情報は、ピクチャブロック内のM個のサンプルに対応し、Mは正の整数である、ステップと、ピクチャブロックの拡張層情報に対応するK個の要素を取得するステップであって、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、KおよびNの両方が正の整数であり、かつN≧Mである、ステップと、K個のグループの確率値を取得するために、ベース層情報をニューラルネットワークに入力するステップであって、K個のグループの確率値はK個の要素に対応し、確率値のいずれのグループも、対応する要素の複数の候補値の確率を表すものである、ステップと、K個のグループの確率値に基づいて、K個の要素に対してエントロピー符号化を行うステップとを含む、エントロピー符号化方法を提供する。
ピクチャブロックは、ビデオデータストリーム内の任意の完全なピクチャフレームであってもよく、あるいはビデオデータストリーム内の任意のピクチャフレームを分割することによって取得された、任意のピクチャブロックまたはピクチャ領域であってもよい。説明を容易にするために、本出願では、ピクチャフレーム、ピクチャブロック、またはピクチャ領域は、まとめて「ピクチャブロック」と呼ばれる。ピクチャブロックと称されても、これは符号化された対象を限定するものではないことを理解されたい。
階層化コーディング技術では、符号化対象ピクチャブロックに対して、符号器は、任意の符号化方式(例えば、ハイブリッド符号化方式またはE2Eピクチャ符号化方式)でピクチャブロックをコーディングでき、取得される符号化情報はベース層情報である。符号器は、ピクチャブロックの復元値を取得するために、前述した符号化方式に対応する復号方式で、符号化された情報を復号し、次に、ピクチャブロックの元の値と復元値との差、すなわちピクチャブロックの拡張層情報を計算する。
ピクチャブロック(ピクチャブロックはN個のサンプルを含むと仮定する)のベース層情報は、ピクチャブロック内のM個のサンプルに対応し、M≦Nであることが知見され得る。これは、コーディングプロセスにダウンサンプリング処理がさらに含まれてもよいためであり、その結果、圧縮コーディングによって取得された、ベース層情報に対応するサンプルの数Mは、元のピクチャブロックに含まれるサンプルの数N未満になる。コーディングプロセスでダウンサンプリング処理が行われない場合は、ベース層情報に対応するサンプルの数Mは、元のピクチャブロックに含まれるサンプルの数Nと等しい。
可能な一実施態様では、ベース層情報は、M個のサンプルの復元値を含む。
符号器は、符号化データを取得するために、E2Eピクチャ符号化などの符号化方式でピクチャブロックを符号化してもよく、次に、符号器は、符号化方式に対応する復号方式で符号化データを復号して、ピクチャブロック内のM個のサンプルの復元値を取得する。したがって、ベース層情報は、M個のサンプルの復元値を含み得る。
可能な一実施態様では、ベース層情報は、M個のサンプルの予測値および/または残差値を含む。
符号器は、符号化データを取得するために、ハイブリッド符号化方式でピクチャブロックを符号化してもよく、次に、符号器は、ハイブリッド復号方式で符号化データを復号して、ピクチャブロック内のM個のサンプルの予測値および/または残差値を取得する。符号化および復号効率に基づいて、復号によって取得される残差値は0になり得る。残差値が0のときは、M個のサンプルの復元値、つまりM個のサンプルの予測値が取得され得る。残差値が0でないときは、M個のサンプルの復元値を取得するために、M個のサンプルの予測値と残差値とに基づいて和算が行われてもよい。したがって、ベース層情報はM個のサンプルの復元値を含み得る、あるいはM個のサンプルの予測値および/または残差値を含み得る。
可能な一実施態様では、ベース層情報は、ピクチャブロック内のM個のサンプルの変換値を参照する。
M個のサンプルの残差値を取得した後で、符号器は、M個のサンプルの変換値を取得するために、残差値を変換(例えば、DCT変換またはDST変換)してもよい。任意選択で、符号器は、M個のサンプルの元の値を直接変換して(例えば、DCT変換またはDST変換)、M個のサンプルの変換値を取得してもよい。
ピクチャブロックの利得を補うものとして、拡張層情報は、ピクチャブロック内のN個のサンプルに対応する。本出願では、K個の要素に対し、以下のいくつかの事例および取得方法があり得る。
1.K個の要素はK個の固有値である。
符号器は、ピクチャブロック内のN個のサンプルの元の値に対して特徴抽出を行って、K個の固有値を取得し得る。これに基づき、K個の要素はK個の固有値である。
ピクチャブロックの拡張層情報は、N個のサンプルの元の値を参照し得る。したがって、拡張層情報に対応するK個の要素は、N個のサンプルの元の値に対応するK個の固有値であってもよい。
特徴抽出は、コンピュータビジョンおよびピクチャ処理における概念であり、コンピュータを使用してピクチャから特性情報を抽出する方法およびプロセスのことをいう。特徴抽出の結果は、ピクチャのサンプルを分割して異なるサブセットにすることであり、通常は孤立点、連続曲線、または連続領域に属する。図8は、本出願の一実施形態による、特徴抽出方法の一例の概略図である。図8に示されるように、拡張層情報(つまりN個のサンプルの元の値)はA×B×c行列で表され、A×Bはピクチャブロックのサイズを表し、cはピクチャブロックの色空間内の成分の数を表す。例えば、YUV色空間では、cが1であれば、3つの成分Y、U、およびVが個別に符号化される、つまり、3つの成分のそれぞれがA×B×1行列に対応することを示し、cが2であれば、3つの成分Y、U、およびVのうち任意の2つの成分が同時に符号化される、つまり、3つの成分のうち任意の2つの成分がA×B×2行列に対応することを示し、cが3であれば、3つの成分Y、U、およびVが同時に符号化される、つまり、3つの成分がA×B×3行列に対応することを示す。特徴抽出用の符号器(Encoder)は、畳み込み層(conv)および正規化層(GND)を含む。例えば、4つのconvと3つのGNDとは、符号器を形成するように交互にカスケード接続される。convのサイズは5×5×192/2であってもよく、5×5は畳み込みカーネルのサイズを表し、192は畳み込み層の深度(含まれているチャネルの数)を表し、2はダウンサンプリング係数を表す。符号器はP×Q×M行列を生成し、P×Qは特徴マップのサイズを表し、Mは特徴マップのチャネルの数を表し、行列内の要素の値は、前述したK個の固有値である。
2.K個の要素はK個の差分固有値である。
符号器は、N個のサンプルの符号化された値を取得するために、N個のサンプルの元の値に対してハイブリッド符号化を行い、N個のサンプルの復元値を取得するために、N個のサンプルの符号化された値に対してハイブリッド復号を行い、N個のサンプルの第1の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの復元値とに基づいて差分計算を行い、K個の差分固有値を取得するために、N個のサンプルの第1の差分に対して特徴抽出を行ってもよい。これに基づき、K個の要素はK個の差分固有値である。
ピクチャブロックの拡張層情報は、N個のサンプルの第1の差分を参照し得る。したがって、拡張層情報に対応するK個の要素は、N個のサンプルの第1の差分に対応するK個の差分固有値であってもよい。同様に、図8に示される符号器は、K個の差分固有値を取得するために、拡張層情報(つまりN個のサンプルの第1の差分)に対して特徴抽出を行うために使用されてもよい。
3.K個の要素はK個の変換値固有値である。
符号器は、N個のサンプルの予測値を取得し、N個のサンプルの第2の差分を取得するために、N個のサンプルの元sの値と、N個のサンプルの予測値とに基づいて差分計算を行い、N個のサンプルの変換値を取得するためにN個のサンプルの第2の差分を変換し、K個の変換値固有値を取得するために、N個のサンプルの変換値に対して特徴抽出を行ってもよい。これに基づき、K個の要素はK個の変換値固有値である。
ピクチャブロックの拡張層情報は、N個のサンプルの変換値を参照し得る。したがって、拡張層情報に対応するK個の要素は、N個のサンプルの変換値に対応するK個の変換値固有値であってもよい。同様に、図8に示される符号器は、K個の変換値固有値を取得するために、拡張層情報(つまりN個のサンプルの変換値)に対して特徴抽出を行うために使用されてもよい。
4.K個の要素は、最後の非ゼロ値の座標と、第1の値と、その他の値とを含む。
符号器は、N個のサンプルの予測値を取得し、N個のサンプルの第2の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの予測値とに基づいて差分計算を行い、N個のサンプルの変換値を取得するために、N個のサンプルの第2の差分を変換し、N個のサンプルの量子化された変換値を取得するために、N個のサンプルの変換値を量子化し、N個のサンプルの量子化された変換値から、最後の非ゼロ値の座標、N個のサンプルの量子化された変換値の第1の値、およびN個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値を抽出し得る。これに基づき、K個の要素は、最後の非ゼロ値の座標、第1の値、および第2の値と最後の非ゼロ値との間の全ての値を含む。
ピクチャブロックの拡張層情報は、N個のサンプルの量子化された変換値を参照し得る。したがって、拡張層情報に対応するK個の要素は、N個のサンプルの量子化された変換値から抽出された最後の非ゼロ値の座標(Last x,y)、N個のサンプルの量子化された変換値の第1の値(DC係数)、およびN個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値(AC係数)を含み得る。N個のサンプルの量子化された変換値のいくつかが、同じになる場合があることに留意されたい。例えば、第1の値と、第2の値と、第3の値とが全て等しければ、DC係数は、N個のサンプルの量子化された変換値における第1の値であり、N個のサンプルの量子化された変換値における第2の値から最後の非ゼロ値までの間で、AC係数が取得される。第2の値と第3の値とは2つの同じ数値であり、DC係数とも同じになる。最後の非ゼロ値の後の値は全て0なので、最後の非ゼロ値が取得される。したがって、これら0の確率値は、取得される必要がない。しかしながら、N個のサンプルの量子化された変換値内の第2の値と、最後の非ゼロ値との間の全ての値の1つ以上も0の場合があり、このような0の確率値は取得される必要がある。
任意選択で、符号器は、M個のサンプルの符号化された値を取得するために、ベース層情報に対応するM個のサンプルの元の値に対してハイブリッド符号化を行い、M個のサンプルの復元値を取得するために、M個のサンプルの符号化された値に対してハイブリッド復号を行い、M個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得してもよい。可能な一実施態様では、M個のサンプルの元の値に対してハイブリッド符号化が行われるときは、M個のサンプルの予測モードに関するモード情報のみが符号化され、符号化されたオブジェクトは、M個の画素の残差値を含まない。この場合、M個のサンプルの符号化された値にハイブリッド復号を行って取得されたM個のサンプルの復元値は、M個のサンプルの予測値である。
N=Mのときは、符号器は、M個のサンプルの復元値に基づいてN個のサンプルの予測値を取得してもよく、またはN>Mのときは、符号器は、N個のサンプルの復元値を取得するために、M個のサンプルの復元値に対して補間をまず行い、次に、N個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得する必要がある。
ニューラルネットワークは、訓練データセットに基づいて、訓練エンジンによって訓練を行うことによって取得される。ニューラルネットワークは、入力ピクチャブロックのベース層情報を処理して、K個の要素に対応するK個のグループの確率値を生成し得る。図9は、本出願の一実施形態による、ニューラルネットワークの一例の構成図である。図9に示されるように、ニューラルネットワークは、畳み込み層(conv)と活性化層(ReLU)とを含む。例えば、4つのconvと3つのReLUとは、ニューラルネットワークを形成するように交互にカスケード接続される。第1のconvのサイズは1×3×3×M/2であってもよく、1は入力ピクチャブロックのチャネルの数を表し、3×3は畳み込みカーネルのサイズを表し、Mは畳み込み層によって出力された特徴マップのチャネルの数を表し、2はダウンサンプリング係数を表す。第2のconvのサイズはM×3×3×M/2であってもよく、Mは入力ピクチャブロックのチャネルの数を表し、3×3は畳み込みカーネルのサイズを表し、Mは畳み込み層によって出力された特徴マップのチャネルの数を表し、2はダウンサンプリング係数を表す。第3のconvのサイズはM×3×3×M/2であってもよく、Mは入力ピクチャブロックのチャネルの数を表し、3×3は畳み込みカーネルのサイズを表し、Mは畳み込み層によって出力された特徴マップのチャネルの数を表し、2はダウンサンプリング係数を表す。第4のconvのサイズはM×3×3×2M/2であってもよく、Mは入力ピクチャブロックのチャネルの数を表し、3×3は畳み込みカーネルのサイズを表し、2Mは畳み込み層によって出力された特徴マップのチャネルの数を表し、2はダウンサンプリング係数を表す。
本出願のこの実施形態では、訓練データセットは、前述したK個の要素に関連付けられる。具体的には、K個の要素の物理的意味が異なれば、訓練データセットはこれに応じて変化する。
任意選択で、K個の要素が、K個の固有値、K個の差分固有値、またはK個の変換値固有値のときは、訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの元の値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含む。
任意選択で、K個の要素が、Last x、y、DC係数、およびAC係数のときは、訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの量子化された変換値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含む。
可能な一実施態様では、訓練エンジンがニューラルネットワークを訓練するプロセスは、PyTorchソフトウェアを使用して、NVIDIA V100 GPUsのニューラルネットワークを訓練することを含む。例えば、ニューラルネットワークを最適化し訓練するために適応型時点推定(adaptive moment estimation、Adam)アルゴリズムが使用され、かつニューラルネットワークの訓練データセットとしてDIV2Kデータセットが使用される。ピクチャブロックのベース層では、VVC参照ソフトウェアを使用して、ピクチャブロックに対して圧縮コーディングが行われ、ピクチャブロックの元の値と、(ピクチャブロックのベース層情報を使用して取得された)ピクチャブロックの復元値とを使用して、計算によって拡張層ピクチャブロックの残差値(すなわち拡張層情報)が取得される。符号器ネットワークは、拡張層ピクチャブロックの残差値の固有値を抽出し、ニューラルネットワークは、ベース層情報に対応する残差値に基づいて、拡張層ピクチャブロックの残差値の固有値の確率分布を推定し、復号器ネットワークは、残差値の固有値に基づいて、拡張層ピクチャブロックの残差値を復元する。符号器ネットワークと、復号器ネットワークと、エントロピー推定ニューラルネットワークとを効率的に結合するために、符号器ネットワークと、復号器ネットワークと、エントロピー推定とは一緒に訓練されてもよい。訓練の最適化目標は、エンドツーエンドのピクチャコーディングの最適化目標と同じであり、共同レート歪み(R+λD)最適化が行われる。共同レート歪み最適化の関数式は以下の通りである:
py(y)は、ニューラルネットワークによって出力されたy番目のグループの確率値を表し、Δxはピクチャブロックの残差値を表し、Δx’はピクチャブロックの残差値の復元値を表す。
可能な一実施態様では、訓練エンジンがニューラルネットワークを訓練するプロセスは、PyTorchソフトウェアを使用して、NVIDIA V100 GPUsのニューラルネットワークを訓練することを含む。例えば、ニューラルネットワークを最適化し訓練するためにAdamアルゴリズムが使用され、かつニューラルネットワークの訓練データセットとしてDIV2Kデータセットが使用される。ピクチャブロックのベース層では、VVC参照ソフトウェアを使用して、ピクチャブロックに対して圧縮コーディングが行われ、次に、ピクチャブロックの復元値を取得するために復号が行われ、ピクチャブロックの元の値と、(ピクチャブロックのベース層情報を使用して取得された)ピクチャブロックの復元値とを使用して、計算によって拡張層ピクチャブロックの残差値が取得される。符号器ネットワークは、拡張層ピクチャブロックの残差値の固有値を抽出し、ニューラルネットワークは、ベース層復元値に基づいて、拡張層ピクチャブロックの残差値の固有値の確率分布を推定する。復号器は、残差値の固有値と、ベース層復元値とに基づいて、高品質の復元値を復元する。符号器と、復号器と、ニューラルネットワークとを効率的に結合するために、符号器と、復号器と、ニューラルネットワークとは一緒に訓練されてもよい。訓練の最適化目標は、エンドツーエンドのピクチャコーディングの最適化目標と同じであり、共同レート歪み(R+λD)最適化が行われる。共同レート歪み最適化の関数式は以下の通りである:
xはピクチャブロックの元の値を表し、x’はピクチャブロックの復元値を表す。
可能な一実施態様では、訓練エンジンがニューラルネットワークを訓練するプロセスは、PyTorchソフトウェアを使用して、NVIDIA V100 GPUsのニューラルネットワークを訓練することを含む。例えば、ニューラルネットワークを最適化するためにAdamアルゴリズムが使用され、かつニューラルネットワークの訓練データセットとしてDIV2Kデータセットが使用される。ピクチャブロックのベース層では、任意のコーデックを使用して圧縮コーディングが行われ、次に、(ピクチャブロックのベース層情報を使用して取得された)ピクチャブロックの復元値を取得するために復号が行われる。ピクチャブロックの拡張層では、VVC参照ソフトウェアを使用して、ピクチャブロックに対して圧縮コーディングが行われ、ピクチャブロックの変換値が抽出される。符号器ネットワークは、拡張層ピクチャブロックの変換値の固有値を抽出し、ニューラルネットワークは、ベース層復元値の変換値に基づいて、拡張層ピクチャブロックの変換値の固有値の確率分布を推定する。復号器は、変換値の固有値に基づいて、拡張層ピクチャブロックの変換値を復元する。符号器と、復号器と、ニューラルネットワークとを効率的に結合するために、符号器と、復号器と、ニューラルネットワークとは一緒に訓練されてもよい。訓練の最適化目標は、エンドツーエンドのピクチャコーディングの最適化目標と同じであり、共同レート歪み(R+λD)最適化が行われる。共同レート歪み最適化の関数式は以下の通りである:
py(y)は、ニューラルネットワークによって出力されたy番目のグループの確率値を表し、Tはピクチャブロックの変換値を表し、T’はピクチャブロックの残差値の変換値を表す。
K個のグループの確率値は、前述したK個の要素に対応し、任意のグループの確率値は、対応する要素の複数の候補値の確率値を表す。例えば、図10は、本出願の実施形態による、K個の要素の一例の概略図である。図10に示されるように、K個の要素は、A、B、C、およびDの4つの特徴点を含み、4つの特徴点の値範囲は、全て{-2,-1,0,1,2}と仮定される。Aに対応する確率値のグループは4つの確率値を含み、4つの確率値は、Aの値範囲{-2,-1,0,1,2}内の4つの値にそれぞれ対応する。Bに対応する確率値のグループは4つの確率値を含み、4つの確率値は、Bの値範囲{-2,-1,0,1,2}内の4つの値にそれぞれ対応する。残りは類推によって推測されることができる。各特徴点(要素)は確率値のグループに対応し、確率値の各グループに含まれる確率値の数は、確率値のグループに対応する特徴点の値範囲に関連付けられることが知見され得る。
本出願で取得されたベース層情報は、K個のグループの確率値を取得するために、ニューラルネットワークに入力される。ニューラルネットワークは、畳み込み層(conv)と活性化層(ReLU)とを含み得る。例えば、4つのconvと3つのReLUとは、ニューラルネットワークを形成するように交互にカスケード接続される。ニューラルネットワークの訓練および使用については、訓練エンジン25の関連説明を参照されたい。本明細書では詳細は繰り返されない。
可能な一実施態様では、前述したいくつかの事例における、K個の要素の一部または全部の、複数の候補値の確率がガウス分布を満たすときは、ガウス分布を満たす要素に対応する確率値のグループは、要素によって満たされるガウス分布の分散および平均を含む。言い換えると、各要素の値は離散値である。したがって、1つ以上の要素の複数の候補値の確率は、ガウス確率分布を満たす。したがって、ニューラルネットワークは、1つ以上の要素のそれぞれの、複数の候補値の確率値を表すために、1つ以上の要素のそれぞれによって満たされる、ガウス分布の分散および平均を使用してよい。
本出願では、ニューラルネットワークによって出力されたK個のグループの確率値を使用してエントロピーコーディングが行われる。例えば、図10に示されるように、A、B、C、およびDの値範囲は、全て{-2,-1,0,1,2}である。Aの各候補値については、-2の確率値は0.1であり、-1の確率値は0.2であり、0の確率値は0.4であり、1の確率値は0.2であり、2の確率値は0.1である。Bの各候補値については、-2の確率値は0.15であり、-1の確率値は0.3であり、0の確率値は0.3であり、1の確率値は0.2であり、2の確率値は0.05である。Cの各候補値については、-2の確率値は0.05であり、-1の確率値は0.1であり、0の確率値は0.4であり、1の確率値は0.4であり、2の確率値は0.05である。Dの各候補値については、-2の確率値は0.5であり、-1の確率値は0.2であり、0の確率値は0.15であり、1の確率値は0.1であり、2の確率値は0.05である。したがって、図11は、本出願の実施形態による、算術コーディングアルゴリズムの一例の概略図である。図11に示されるように、算術コーディングアルゴリズムに基づき、確率区間[0,1]が、A、B、C、およびDのそれぞれの値に基づいて層ごとに分割され、A、B、C、およびDのそれぞれの値は、確率区間内のA、B、C、およびDに対応する区間として表される。最終的に出力される「現在の区間」の下限は、符号化された符号語になる。A、B、C、およびDの値は、全て0になると仮定される。Aの候補値の確率値に基づいて、確率区間[0,1]が、0~0.1、0.1~0.3、0.3~0.7、0.7~0.9、および0.9~1の5つの区間に分割され、値0に対応する区間は0.3~0.7である。Bの候補値の確率値に基づいて、確率区間[0.3,0.7]が、0.3~0.36、0.36~0.48、0.48~0.6、0.6~0.68、および0.68~0.7の5つの区間に分割され、値0に対応する区間は0.48~0.6である。Cの候補値の確率値に基づいて、確率区間[0.48,0.6]が、0.48~0.486、0.486~0.498、0.498~0.546、0.546~0.594、および0.594~0.6の5つの区間に分割され、値0に対応する区間は0.498~0.546である。Dの候補値の確率値に基づいて、確率区間[0.498,0.546]が、0.498~0.522、0.522~0.5316、0.5316~0.5388、0.5388~0.5436、および0.5436~0.546の5つの区間に分割され、値0に対応する区間は0.5316~0.5388である。したがって、「現在の区間」は0.5316~0.5388であり、符号化された符号語として使用される下限0.5316を有する。符号器は、ビットストリームに0.5316の固定少数点表示を書き込んでよい。
本出願では、階層化コーディング技術における拡張層とベース層との相関が完全に探索され、ベース層情報を使用して、拡張層情報に対応する複数の要素に対して確率推定が行われて高精度の確率値を得てから、確率値に基づいて複数の要素にエントロピーコーディングが行われることにより、エントロピーコーディング効率を向上させる。
第2の態様によれば、本出願は、エントロピー復号方法を提供し、ビットストリームを取得するステップと、ベース層情報、および復号対象ピクチャブロックの符号化データを得るために、ビットストリームを解析するステップであって、ベース層情報は、ピクチャブロック内のM個のサンプルに対応し、符号化データは拡張層情報に対応し、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、MおよびNの両方が正の整数であり、かつN≧Mである、ステップと、K個のグループの確率値を得るために、ベース層情報をニューラルネットワークに入力するステップであって、K個のグループの確率値はK個の要素に対応し、確率値のいずれのグループも、対応する要素の複数の候補値の確率を表すものであり、Kは正の整数である、ステップと、K個の要素を得るために、K個のグループの確率値に基づいて、符号化データに対してエントロピー復号を行うステップと、K個の要素に基づいて、N個のサンプルの復元値を得るステップであって、Nは正の整数である、ステップとを含む。
復号器は、復号器と符号器との間の通信リンクを使用して、ビットストリームを受信し得る。復号対象ピクチャブロックに対して、復号器は、復号対象ピクチャブロックに対応するビットストリームを解析し、データからベース層情報を取得し、ベース層情報は、ピクチャブロック内のM個のサンプルに対応する。ビットストリームは、ピクチャブロックの拡張層情報に対応する符号化データをさらに含み、復号器は、データペイロードから符号化データを読み出してよく、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、N≧Mである。
K個のグループの確率値は、K個の要素に対応し、任意のグループの確率値は、対応する要素の複数の候補値の確率値を表す。例えば、図10および図11に示されるように、得られる符号化された符号語は0.5316、ならびに4つの特徴点A、B、C、およびDのそれぞれの、5つの候補値の確率値である。Aの各候補値については、0.5316が属する区間は0.3~0.7であり、この区間は値0に対応するため、Aの値は0である。Bの各候補値については、0.5316が属する区間は0.48~0.6であり、この区間は値0に対応するため、Bの値は0である。Cの各候補値については、0.5316が属する区間は0.498~0.546であり、この区間は値0に対応するため、Cの値は0である。Dの各候補値については、0.5316が属する区間は0.5316~0.5388であり、この区間は値0に対応するため、Dの値は0である。したがって、K個の要素はA、B、C、およびDの4つの特徴であり、4つの特徴の値は全て0であることが知見され得る。
符号器側に対応して、K個の要素はまた、複数の方式で実施されてもよく、かつK個の要素の具体的な表現オブジェクトが、符号器側および復号器側の両方によって合意されてもよく、あるいは符号器側は、K個の要素の指示情報をビットストリームに追加してビットストリームを復号器側に送信してもよく、復号器側は、ビットストリームを解析して指示情報を取得する。
1.K個の要素はK個の固有値である。
復号器は、N個のサンプルの復元値を取得するために、K個の固有値に対して逆特徴抽出を行い得る。
2.K個の要素はK個の差分固有値である。
復号器は、N個のサンプルの第1の差分を取得するために、K個の差分固有値に対して逆特徴抽出を行い、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るためにビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得し、N個のサンプルの予測値と、N個のサンプルの第1の差分とに基づいて、N個のサンプルの復元値を取得し得る。
3.K個の要素はK個の変換値固有値である。
復号器は、N個のサンプルの変換値を得るために、K個の変換値固有値に対して逆特徴抽出を行い、N個のサンプルの第2の差分を得るためにN個のサンプルの変換値を逆変換し、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るためにビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいてN個のサンプルの予測値を取得し、N個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて、N個のサンプルの復元値を取得し得る。
4.K個の要素は、N個のサンプルの変換値の最後の非ゼロ値の座標、N個のサンプルの変換値の第1の値、およびN個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値を含む。
復号器は、N個のサンプルの変換値を得るために、最後の非ゼロ値の座標、第1の値、および第2の値と最後の非ゼロ値との間の全ての値に基づいて逆量子化を行い、N個のサンプルの第2の差分を得るためにN個のサンプルの変換値を逆変換し、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るためにビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいてN個のサンプルの予測値を取得し、N個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて、N個のサンプルの復元値を取得し得る。
任意選択で、N>Mのときは、復号器は、N個のサンプルの復元値を取得するために、M個のサンプルの復元値に対して補間を行い、N個のサンプルの復元値を取得するために、N個のサンプルの復元値と、N個のサンプルの第1の差分とに基づいて和算を行ってもよい。あるいは、N=Mのときは、復号器は、N個のサンプルの復元値を取得するために、M個のサンプルの復元値とN個のサンプルの第1の差分とに基づいて和算を行ってもよい。
任意選択で、N>Mのときは、復号器は、N個のサンプルの予測値を取得するために、M個のサンプルの予測値に対して補間を行い、N個のサンプルの復元値を取得するために、N個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて和算を行ってもよく、またはN=Mのときは、復号器は、N個のサンプルの復元値を取得するために、M個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて和算を行ってもよい。
本出願のビットストリームでは、拡張層は、ピクチャブロックの拡張層情報に対応する複数の要素値のみを保持し、復号器側は、ベース層情報と、拡張層情報に対応する複数の要素複数の候補値の確率値とに基づいて、ニューラルネットワークを使用して推定する。したがって、さらに隠れ変数が符号化され送信される必要がないことにより、バイトを節約し、エントロピー復号効率を向上させる。
第3の態様によれば、本出願は、取得モジュールであって、符号化対象ピクチャブロックのベース層情報を取得するように構成され、ベース層情報は、ピクチャブロック内のM個のサンプルに対応し、Mは正の整数であり、ピクチャブロックの拡張層情報に対応するK個の要素を取得するように構成され、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、KおよびNの両方が正の整数であり、かつN≧Mであり、K個のグループの確率値を取得するために、ニューラルネットワークにベース層情報を入力するように構成され、K個のグループの確率値はK個の要素に対応し、確率値のグループはいずれも、対応する要素の複数の候補値の確率を表すものである、取得モジュールと、K個のグループの確率値に基づいて、K個の要素に対してエントロピー符号化を行うように構成された、エントロピー符号化モジュールとを備える、エントロピー符号化装置を提供する。
可能な一実施態様では、ベース層情報はM個のサンプルの復元値を含み、ベース層情報はM個のサンプルの予測値および/または残差値を含み、あるいはベース層情報は、M個のサンプルの変換値を含む。
可能な一実施態様では、取得モジュールは、K個の固有値を取得するために、N個のサンプルの元の値に対して特徴抽出を行うように特に構成され、これに応じて、K個の要素がK個の固有値になる。
可能な一実施態様では、取得モジュールは、N個のサンプルの符号化された値を取得するために、N個のサンプルの元の値に対してハイブリッド符号化を行い、N個のサンプルの復元値を取得するために、N個のサンプルの符号化された値に対してハイブリッド復号を行い、N個のサンプルの第1の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの復元値とに基づいて差分計算を行い、K個の差分固有値を取得するために、N個のサンプルの第1の差分に対して特徴抽出を行うように特に構成され、これに応じて、K個の要素がK個の差分固有値になる。
可能な一実施態様では、取得モジュールは、N個のサンプルの予測値を取得し、N個のサンプルの第2の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの予測値とに基づいて差分計算を行い、N個のサンプルの変換値を取得するために、N個のサンプルの第2の差分を変換し、K個の変換値固有値を取得するために、N個のサンプルの変換値に対して特徴抽出を行うように特に構成され、これに応じて、K個の要素がK個の変換値固有値になる。
可能な一実施態様では、取得モジュールは、N個のサンプルの予測値を取得し、N個のサンプルの第2の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの予測値とに基づいて差分計算を行い、N個のサンプルの変換値を取得するために、N個のサンプルの第2の差分を変換し、N個のサンプルの量子化された変換値を取得するために、N個のサンプルの変換値を量子化し、N個のサンプルの量子化された変換値からの最後の非ゼロ値の座標、第1の値、およびN個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値を抽出するように特に構成され、これに応じて、K個の要素は、非ゼロ値の座標と、第1の値と、全ての値とを含む。
可能な一実施態様では、取得モジュールは、M個のサンプルの符号化された値を取得するために、M個のサンプルの元の値に対してハイブリッド符号化を行い、M個のサンプルの復元値を取得するために、M個のサンプルの符号化された値に対してハイブリッド復号を行い、M個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得するように特に構成される。
可能な一実施態様では、取得モジュールは、N=Mのときは、M個のサンプルの復元値に基づいてN個のサンプルの予測値を取得する、またはN>Mのときは、N個のサンプルの復元値を取得するために、M個のサンプルの復元値に対して補間を行い、N個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得するように特に構成される。
可能な一実施態様では、第1の要素の複数の候補値の確率がガウス分布を満たすときは、第1の要素に対応する確率値のグループが、第1の要素の複数の候補値の確率によって満たされるガウス分布の分散および平均を含み、第1の要素は、K個の要素のいずれか1つである。
可能な一実施態様では、ニューラルネットワークは畳み込み層を含み、畳み込み層の畳み込みカーネルの深度は24、32、48、64、192または384であり、畳み込み層の畳み込みカーネルのサイズは1×1、3×3、5×5、または7×7である。
可能な一実施態様では、ニューラルネットワークは、畳み込みニューラルネットワークCNN、深層ニューラルネットワークDNN、または再帰型ニューラルネットワークRNNを含む。
可能な一実施態様では、本装置は、訓練データセットを取得するように構成された訓練モジュールであって、訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの元の値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応する、K個のグループの確率値を含む、または訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの量子化された変換値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含み、ニューラルネットワークを取得するために、訓練データセットに基づいて訓練を行う、訓練モジュールをさらに備える。
第4の態様によれば、本出願は、ビットストリームを取得するように構成された、取得モジュールと、エントロピー復号モジュールであって、ベース層情報、および復号対象ピクチャブロックの符号化データを取得するために、ビットストリームを解析するように構成され、ベース層情報は、ピクチャブロック内のM個のサンプルに対応し、符号化データは拡張層情報に対応し、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、MおよびNの両方が正の整数であり、かつN≧Mであり、K個のグループの確率値を得るために、ベース層情報をニューラルネットワークに入力するように構成され、K個のグループの確率値はK個の要素に対応し、確率値のいずれのグループも、対応する要素の複数の候補値の確率を表すものであり、Kは正の整数であり、K個の要素を取得するために、K個のグループの確率値に基づいて、符号化データに対してエントロピー復号を行うように構成され、K個の要素に基づいて、N個のサンプルの復元値を取得するように構成され、Nは正の整数である、エントロピー復号モジュールとを備える、エントロピー復号装置を提供する。
可能な一実施態様では、K個の要素がK個の固有値のときは、エントロピー復号モジュールは、N個のサンプルの復元値を取得するために、K個の固有値に対して逆特徴抽出を行うように特に構成される。
可能な一実施態様では、K個の要素がK個の差分固有値のときは、エントロピー復号モジュールは、N個のサンプルの第1の差分を取得するために、K個の差分固有値に対して逆特徴抽出を行い、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るために、ビットストリームを解析し、N≧Mであり、M個のサンプルの復元値と、N個のサンプルの第1の差分とに基づいて、N個のサンプルの復元値を取得するように特に構成される。
可能な一実施態様では、K個の要素がK個の変換値固有値のときは、エントロピー復号モジュールは、N個のサンプルの変換値を取得するために、K個の変換値固有値に対して逆特徴抽出を行い、N個のサンプルの第2の差分を取得するために、N個のサンプルの変換値を逆変換し、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るために、ビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいて、M個のサンプルの予測値を取得し、M個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて、N個のサンプルの復元値を取得するように特に構成される。
可能な一実施態様では、K個の要素が、N個のサンプルの変換値の最後の非ゼロ値の座標と、N個のサンプルの変換値の第1の値と、N個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値を含むときは、エントロピー復号モジュールが、N個のサンプルの変換値を取得するために、最後の非ゼロ値の座標、第1の値、および全ての値に基づいて逆量子化を行い、N個のサンプルの第2の差分を取得するために、N個のサンプルの変換値を逆変換し、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るために、ビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいて、M個のサンプルの予測値を取得し、M個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて、N個のサンプルの復元値を取得するように特に構成される。
可能な一実施態様では、エントロピー復号モジュールは、N>Mのときは、N個のサンプルの復元値を取得するために、M個のサンプルの復元値に対して補間を行い、N個のサンプルの復元値を取得するために、N個のサンプルの復元値と、N個のサンプルの第1の差分とに基づいて和算を行い、またはN=Mのときは、N個のサンプルの復元値を取得するために、M個のサンプルの復元値と、N個のサンプルの第1の差分とに基づいて和算を行うように特に構成される。
可能な一実施態様では、エントロピー復号モジュールは、N>Mのときは、N個のサンプルの予測値を取得するために、M個のサンプルの予測値に対して補間を行い、N個のサンプルの復元値を取得するために、N個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて和算を行い、またはN=Mのときは、N個のサンプルの復元値を取得するために、M個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて和算を行うように特に構成される。
第5の態様によれば、本出願は、第1の態様のいずれか1つの実施態様による方法を行うように構成された処理回路を備える、符号器を提供する。
第6の態様によれば、本出願は、第2の態様のいずれか1つの実施態様による方法を行うように構成された処理回路を備える、復号器を提供する。
第7の態様によれば、本出願は、コンピュータまたはプロセッサ上で実行されると、請求項に記載のいずれか1つの実施態様による方法を行うプログラムコードを含む、コンピュータプログラム製品を提供する。
第8の態様によれば、本出願は、1つ以上のプロセッサと、プロセッサに結合され、プロセッサによって実行されるプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、プログラムが、プロセッサによって実行されると、符号器が、第1の態様の実施態様のいずれか1つによる方法を行うことを可能にする、非一時的コンピュータ可読記憶媒体とを備える、符号器を提供する。
第9の態様によれば、本出願は、1つ以上のプロセッサと、プロセッサに結合され、プロセッサによって実行されるプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、プログラムが、プロセッサによって実行されると、復号器が、第2の態様の実施態様のいずれか1つによる方法を行うことを可能にする、非一時的コンピュータ可読記憶媒体とを備える、復号器を提供する。
第10の態様によれば、本出願は、コンピュータ機器によって実行されると、第1および第2の態様における実施態様のいずれか1つによる方法を行うプログラムコードを含む、非一時的コンピュータ可読記憶媒体を提供する。
1つ以上の実施形態の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになる。
本出願の一実施形態による、コーディングシステム10の例示的なブロック図である。 本出願の一実施形態による、ビデオコーディングシステム40の例示的なブロック図である。 本出願の一実施形態による、ビデオ符号器20の例示的なブロック図である。 本出願の一実施形態による、ビデオ復号器30の例示的なブロック図である。 本出願の一実施形態による、ビデオコーディングデバイス400の例示的なブロック図である。 本出願の一実施形態による、装置500の例示的なブロック図である。 本出願の一実施形態による、エントロピー符号化/復号方法の例示的なフレームワーク図である。 本出願の一実施形態による、エントロピー符号化方法のプロセス700のフローチャートである。 本出願の一実施形態による、特徴抽出方法の一例の概略図である。 本出願の一実施形態による、ニューラルネットワークの一例の構成図である。 本出願の実施形態による、K個の要素の一例の概略図である。 本出願の実施形態による、算術コーディングアルゴリズムの一例の概略図である。 本出願の一実施形態による、エントロピー復号方法のプロセス1200のフローチャートである。 本出願による、エントロピー符号化方法の例示的なフローチャートである。 本出願の一実施形態による、ニューラルネットワークの一例の構造ブロック図である。 本出願による、エントロピー符号化方法の例示的なフローチャートである。 本出願による、エントロピー符号化方法の例示的なフローチャートである。 本出願による、エントロピー符号化方法の例示的なフローチャートである。 本出願による、エントロピー符号化方法の例示的なフローチャートである。 本出願による、エントロピー符号化方法の例示的なフローチャートである。 この出願の一実施形態による、エントロピー符号化装置2000の概略構造図である。 この出願の一実施形態による、エントロピー復号装置2100の概略構造図である。
本出願の実施形態は、従来のハイブリッドビデオ符号化/復号システムを改善するために、AIベースのビデオピクチャ圧縮技術を提供し、特に、ニューラルネットワークベースのビデオ圧縮技術を提供し、NNベースのエントロピー符号化/復号技術を具体的には提供する。
ビデオコーディングは、ピクチャのシーケンスの処理を一般に指し、ピクチャのシーケンスはビデオまたはビデオシーケンスを形成する。ビデオコーディングの分野では、「ピクチャ(picture)」、「フレーム(frame)」、および、「画像(image)」という用語が同義語として使用され得る。ビデオコーディング(または一般にコーディング)は、ビデオ符号化とビデオ復号の2つの部分を含む。ビデオ符号化は送信側で実行され、(より効率的な記憶および/または送信のために)ビデオピクチャを表すのに必要なデータの量を低減するための、元のビデオピクチャの処理(例えば、圧縮による)を、一般に含む。ビデオ復号は宛先側で行われ、一般に、ビデオピクチャを復元するために、符号器の処理と比較して逆の処理をすることを含む。ビデオピクチャ(または一般にピクチャ)の「コーディング」に言及する実施形態は、ビデオピクチャまたはそれぞれのビデオシーケンスの「符号化」または「復号」に関連すると理解されるべきである。符号化部分と復号部分との組み合わせは、CODEC(符号化および復号、CODEC)とも呼ばれる。
可逆ビデオコーディングの場合は、元のビデオピクチャが復元され得る。言い換えると、復元済ビデオピクチャが元のビデオピクチャと同じ品質を有する(記憶中または送信中に送信損失または他のデータ損失が発生しないと仮定する)。非可逆ビデオコーディングの場合には、ビデオピクチャを表すために必要とされるデータの量を低減するために、例えば量子化によってさらなる圧縮が行われ、また、ビデオピクチャは復号器側で完全に復元され得ない。言い換えると、復元済ビデオピクチャの品質は、元のビデオピクチャよりも低い、または悪い。
いくつかのビデオコーディング規格が、「非可逆ハイブリッドビデオコーディング」のために使用されている(すなわち、画素領域における空間および時間予測が、変換領域において量子化を適用するための2D変換コーディングと組み合わされる)。ビデオシーケンスの各ピクチャは、一組の重なり合わないブロックに通常は分割され、コーディングはブロックレベルで通常は実行される。具体的には、符号器ではビデオがブロック(ビデオブロック)レベルで通常は処理される、すなわち符号化される。例えば、予測ブロックが空間的(イントラピクチャ)予測および時間的(インターピクチャ)予測によって生成され、残差ブロックを取得するために予測ブロックが現在ブロック(処理されているか、または処理されるべきブロック)から減算され、伝送されるべきデータの量を減らすために残差ブロックが変換領域で変換され、量子化される(圧縮される)。復号器側では、表示のために現在ブロックを復元するべく、符号器に対する逆処理部分が、符号化されたブロック、または圧縮されたブロックに適用される。さらに、符号器は復号器処理ループを複製して、その結果、両方が同じ予測(例えば、イントラ予測とインター予測)および/または後続のブロックを処理、すなわちコーディングするための復元画素を生成する。
ビデオコーディングシステム10の以下の実施形態では、ビデオ符号器20およびビデオ復号器30が図1Aから図3に基づいて説明される。
図1Aは、例示的なコーディングシステム10、例えば、本出願の技術を利用することができるビデオコーディングシステム10(または略してコーディングシステム10)を示す概略ブロック図である。ビデオコーディングシステム10のビデオ符号器20(または略して符号器20)およびビデオ復号器30(または略して復号器30)は、本出願に記載された様々な例に従った技術を行うように構成され得るデバイスの例を表している。
図1Aに示されるように、コーディングシステム10は、符号化ピクチャデータ21を復号するために、例えば宛先デバイス14に符号化ピクチャデータ21を提供するように構成された送信元デバイス12を含む。
送信元デバイス12は符号器20を備え、ピクチャソース16、プリプロセッサ(または前処理ユニット)18、例えば、ピクチャプリプロセッサ、および通信インターフェース(または通信ユニット)22を、追加的に、すなわち任意選択で備えていてもよい。
ピクチャソース16は、任意の種類のピクチャ取り込みデバイス、例えば現実世界のピクチャを取り込むためのピクチャ取り込みデバイス、ならびに/または任意の種類のピクチャ生成デバイス、例えばコンピュータアニメーションピクチャを生成するためのコンピュータグラフィックスプロセッサ、または現実世界のピクチャ、コンピュータ生成ピクチャ(例えば、スクリーンコンテンツ、仮想現実(virtual reality、VR)ピクチャ)、および/もしくはそれらの任意の組み合わせ(例えば、拡張現実(augmented reality、AR)ピクチャ)を取得および/もしくは提供するための任意の種類の他のデバイスを備えるか、またはそれらであってもよい。ピクチャソースは、前述のピクチャのうちのいずれかを記憶する任意の種類のメモリまたは記憶装置であってもよい。
プリプロセッサ(または前処理ユニット)18によって行われる処理と区別して、ピクチャまたはピクチャデータ17は、生ピクチャまたは生ピクチャデータ17と呼ばれてもよい。
プリプロセッサ18は、(生)ピクチャデータ17を受信し、ピクチャデータ17に対して前処理を行って、前処理されたピクチャ(または前処理されたピクチャデータ)19を取得するように構成される。プリプロセッサ18によって行われる前処理は、例えば、トリミング、色フォーマット変換(例えば、RGBからYCbCrへの変換)、色補正、または、ノイズ除去を含んでもよい。前処理ユニット18は任意選択の構成要素であってもよいことが理解されよう。
ビデオ符号器(または符号器)20は、前処理されたピクチャデータ19を受信し、符号化ピクチャデータ21(さらなる詳細は、例えば図2に基づいて以下に説明される)を提供するように構成される。
送信元デバイス12の通信インターフェース22は、符号化ピクチャデータ21を受信し、符号化ピクチャデータ21(またはその任意のさらに処理されたバージョン)を、記憶または直接復元のために、通信チャネル13を介して別のデバイス、例えば宛先デバイス14や任意の他のデバイスに送信するように構成されてもよい。
宛先デバイス14は、復号器30を含み通信インターフェース(または通信ユニット)28、ポストプロセッサ(後処理ユニット32)、およびディスプレイデバイス34を、付加的に、すなわち任意選択で、含むことができる。
宛先デバイス14の通信インターフェース28は、例えば送信元デバイス12から、または任意の他のソース、例えば記憶デバイス、例えば符号化ピクチャデータの記憶デバイスから直接、符号化ピクチャデータ21(またはその任意のさらに処理されたバージョン)を受信し、符号化ピクチャデータ21を復号器30に提供するように構成される。
通信インターフェース22および通信インターフェース28は、送信元デバイス12と宛先デバイス14との間の直接通信リンク、例えば、直接の有線もしくは無線接続を介して、または任意の種類のネットワーク、例えば有線もしくは無線ネットワークもしくはそれらの任意の組み合わせや、任意の種類のプライベートおよびパブリックネットワーク、もしくはそれらの任意の種類の組み合わせを介して、符号化ピクチャデータ(または符号化データ)21を送受信するように構成され得る。
通信インターフェース22は、例えば、符号化ピクチャデータ21を適切なフォーマット、例えばパケットにパッケージ化し、かつ/または通信リンクもしくは通信ネットワークを介した送信のための任意の種類の送信符号化もしくは処理を使用して符号化ピクチャデータを処理するように構成され得る。
通信インターフェース28は、通信インターフェース22の相手側を形成し、例えば、送信されたデータを受信し、任意の種類の対応する送信復号もしくは処理および/またはパッケージ解除を使用して送信データを処理して符号化ピクチャデータ21を取得するように構成され得る。
通信インターフェース22および通信インターフェース28の両方は、送信元デバイス12から宛先デバイス14を指す図1Aの通信チャネル13の矢印によって示されるような単方向通信インターフェース、または双方向通信インターフェースとして構成されてもよく、例えば、メッセージを送受信し、例えば、接続をセットアップし、通信リンクおよび/またはデータ送信に関連する任意の他の情報、例えば、符号化ピクチャデータの送信を確認し交換するように構成されてもよい。
ビデオ復号器(または復号器)30は、符号化ピクチャデータ21を受け取り、復号済ピクチャデータ(または復号済ピクチャ)31を提供するように構成される(さらに詳しくは、例えば、図3に基づいて、以下で説明される)。
ポストプロセッサ32は、復号済ピクチャデータ31(復元済ピクチャデータとも呼ばれる)、例えば復号済ピクチャを後処理して、後処理されたピクチャデータ33、例えば後処理済ピクチャを取得するように構成される。後処理ユニット32により実行される後処理としては、例えば、色フォーマット変換(例えば、YCbCrからRGBへの変換)、色補正、トリミング、リサンプリング、または、任意の他の処理、例えば、例えばディスプレイデバイス34による表示のために復号済ピクチャデータ31を準備するための処理が挙げられる。
ディスプレイデバイス34は、例えばユーザまたはビューアにピクチャを表示するための後処理されたピクチャデータ33を受信するように構成される。ディスプレイデバイス34は、復元済ピクチャを表示する任意のタイプのディスプレイ、例えば、一体型や外付けのディスプレイやモニタであり得るか、またはそれらを含み得る。例えば、ディスプレイとしては、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(liquid crystal on silicon、LCoS)、デジタル・ライト・プロセッサ(digital light processor、DLP)、または任意のタイプの他のディスプレイが挙げられる。
コーディングシステム10は、訓練エンジン25をさらに含む。訓練エンジン25は、訓練データセットに基づいて、符号器20(特に、符号器20内のエントロピー符号化ユニット)を訓練し、入力されたピクチャのベース層情報、ピクチャ領域、またはピクチャブロックを処理し、ピクチャ、ピクチャ領域、またはピクチャブロックの拡張層情報に対応する確率値を生成するように構成される。
本出願のこの実施形態の訓練データセットはデータベース(図示せず)に記憶されてもよく、訓練エンジン25は、訓練データセットに基づいた訓練を行うことによって、ターゲットモデル(例えば、エントロピー符号化用のニューラルネットワークであってもよい)を取得する。訓練データセットのソースは、本出願のこの実施形態では限定されないことに留意されたい。例えば、訓練データセットは、モデル訓練を行うために、クラウドその他の場所から取得されてもよい。
図1Aに示されるように、訓練エンジン25による訓練を行うことによって取得されたターゲットモデルがコーディングシステム10に適用されてもよく、例えば、送信元デバイス12(例えば、符号器20)に適用される。訓練エンジン25は、クラウド上で訓練を行うことによってターゲットモデルを取得してもよく、その後、コーディングシステム10がクラウドからターゲットモデルをダウンロードしてターゲットモデルを使用する。あるいは、訓練エンジン25は、クラウド上で訓練を実行することによってターゲットモデルを取得してターゲットモデルを使用してもよく、コーディングシステム10は、処理結果をクラウドから直接取得する。例えば、訓練エンジン25が訓練によってターゲットモデルを取得し、コーディングシステム10がクラウドからターゲットモデルをダウンロードし、次に、符号器20内のエントロピー符号化ユニット270が、拡張層情報に対応する複数のグループの確率値を取得するために、ターゲットモデルに基づいて、入力されたベース層情報を処理してもよく、これにより、拡張層情報に対してエントロピー符号化を実施する。別の例では、訓練エンジン25は訓練によってターゲットモデルを取得し、コーディングシステム10はクラウドからターゲットモデルをダウンロードする必要はない。符号器20はクラウドにベース層情報を送信し、クラウドはターゲットモデルを使用してベース層情報を処理して、拡張層情報に対するエントロピー符号化を完了し、エントロピー符号化済の拡張層情報を符号器20に送信する。
図1Aは、送信元デバイス12および宛先デバイス14を個別のデバイスとして示しているが、デバイスの実施形態は代替的に、送信元デバイス12および宛先デバイス14の両方、あるいは送信元デバイス12および宛先デバイス14の両方の機能を含んでよい、つまり送信元デバイス12または対応する機能と、宛先デバイス14または対応する機能とを含んでよい。そのような実施形態では、送信元デバイス12または対応する機能および宛先デバイス14または対応する機能は、同じハードウェアおよび/もしくはソフトウェアを使用して、または別個のハードウェアおよび/もしくはソフトウェアまたはそれらの任意の組み合わせによって実装されてもよい。
説明に基づいて当業者には明らかなように、図1Aに示される送信元デバイス12および/または宛先デバイス14内の異なるユニットまたは機能の存在および(正確な)分割は、実際のデバイスとアプリケーションに応じて変化してもよい。
符号器20(例えば、ビデオ符号器20)もしくは復号器30(例えば、ビデオ復号器30)、または符号器20と復号器30の両方が、図1Bに示されるように、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、ディスクリート論理、ハードウェア、ビデオコーディング専用、またはそれらの任意の組み合わせなどの処理回路を介して実装されてもよい。符号器20は、図2の符号器20および/または本明細書に記載の任意の他の符号器システムまたはサブシステムに関して説明したような様々なモジュールを具現化するために処理回路46を介して実装されることができる。復号器30は、図3の復号器30および/または本明細書に記載の任意の他の復号器システムまたはサブシステムに関して説明したような様々なモジュールを具現化するために処理回路46を介して実装されることができる。処理回路46は、後述されるように様々な動作を行うように構成され得る。図5に示されるように、技術がソフトウェアにおいて部分的に実装される場合、デバイスは、ソフトウェアの命令を適切な非一時的コンピュータ可読記憶媒体に記憶し、かつ、本発明の技術を行うために1つまたは複数のプロセッサを使用して、命令をハードウェアにおいて実行してもよい。ビデオ符号器20およびビデオ復号器30のいずれかは、例えば、図1Bに示されるように、単一のデバイス内の組み合わせ符号器/復号器(encoder/decoder、CODEC)の一部として統合されてもよい。
送信元デバイス12および宛先デバイス14は、任意の種類のハンドヘルドデバイスまたは固定式デバイス、例えば、ノートブックもしくはラップトップコンピュータ、携帯電話、スマートフォン、タブレット、もしくはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス(コンテンツサービスサーバやコンテンツ配信サーバなど)、放送受信デバイス、放送送信デバイスなどを含む、広範囲のデバイスのいずれかを備えていてもよく、オペレーティングシステムを使用しなくてもよいし、任意の種類のオペレーティングシステムを使用してもよい。場合によっては、送信元デバイス12および宛先デバイス14は、無線通信用の構成要素を装備されてもよい。したがって、送信元デバイス12および宛先デバイス14は、無線通信デバイスであってもよい。
場合によっては、図1Aに示すビデオコーディングシステム10は単なる例であり、本出願の技術は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含まないビデオコーディング設定(例えば、ビデオ符号化またはビデオ復号)に適用することができる。他の例では、データがローカルメモリから取り出されたり、ネットワークを介してストリーミングされたりする。ビデオ符号化デバイスが、データを符号化し、符号化データをメモリに記憶し得、かつ/またはビデオ復号デバイスが、メモリからデータを取得し、そのデータを復号し得る。いくつかの例では、符号化および復号は、互いに通信せずに単にデータをメモリに符号化し、かつ/またはデータをメモリから取り出して復号するデバイスによって行われる。
図1Bは、例示的な実施形態による、図2の符号器20および/または図3の復号器30を含むビデオコーディングシステム40の一例を図式的に示す図である。ビデオコーディングシステム40は、撮像デバイス41、ビデオ符号器20、ビデオ復号器30(および/もしくは処理回路46によって実装されたビデオ符号器/復号器)、アンテナ42、1つ以上のプロセッサ43、1つ以上のメモリ44、ならびに/またはディスプレイデバイス45を含み得る。
図1Bに示されるように、撮像デバイス41、アンテナ42、処理回路46、ビデオ符号器20、ビデオ復号器30、プロセッサ43、メモリ44、および/またはディスプレイデバイス45は、互いに通信することができる。異なる例では、ビデオコーディングシステム40は、ビデオ符号器20のみまたはビデオ復号器30のみを含む場合もある。
いくつかの例では、アンテナ42は、ビデオデータの符号化ビットストリームを送信または受信するように構成され得る。さらに、いくつかの例では、ディスプレイデバイス45は、ビデオデータを提示するように構成され得る。処理回路46は、特定用途向け集積回路(application-specific integrated circuit、ASIC)論理、グラフィックス処理装置、汎用プロセッサなどを含み得る。ビデオコーディングシステム40は、任意選択のプロセッサ43を含んでもよい。任意選択のプロセッサ43も、特定用途向け集積回路(application-specific integrated circuit、ASIC)論理、グラフィックスプロセッサ、汎用プロセッサなどを同様に含み得る。加えて、メモリ44は、任意のタイプのメモリ、例えば、揮発性メモリ(例えば、スタティック・ランダム・アクセス・メモリ(static random access memory、SRAM)やダイナミック・ランダム・アクセス・メモリ(dynamic random access memory、DRAM))または不揮発性メモリ(例えば、フラッシュメモリ)であり得る。非限定的な例において、メモリ44は、キャッシュメモリによって実施され得る。別の例では、処理回路46は、ピクチャバッファを実施するためにメモリ(例えば、キャッシュ)を含み得る。
いくつかの例では、論理回路を使用して実施されるビデオ符号器20は、ピクチャバッファ(例えば、処理回路46またはメモリ44によって実施される)およびグラフィックス処理ユニット(例えば、処理回路46によって実施される)を含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理ユニットは、図2に関して説明したような様々なモジュールおよび/または本明細書に記載の任意の他の符号器システムまたはサブシステムを具現化するために論理回路46を介して実装されるビデオ符号器20を含むことができる。論理回路は、本明細書に記載される様々な動作を行うように構成され得る。
いくつかの例では、復号器30も、図3の復号器30を参照して説明される様々なモジュールおよび/または本明細書に記載される任意の他の復号器システムもしくはサブシステムを実施するために、処理回路46によって同様に実施され得る。いくつかの例では、論理回路を使用して実施されるビデオ復号器30は、ピクチャバッファ(処理回路46またはメモリ44によって実施される)およびグラフィックス処理ユニット(例えば、処理回路46によって実施される)を含み得る。グラフィックス処理ユニットは、ピクチャバッファに通信可能に結合され得る。グラフィックス処理ユニットは、図3に関して説明したような様々なモジュールおよび/または本明細書に記載の任意の他の復号器システムまたはサブシステムを具現化するために論理回路46を介して実装されるビデオ復号器30を含むことができる。
いくつかの例では、アンテナ42は、ビデオデータの符号化ビットストリームを受信するように構成され得る。説明したように、符号化ビットストリームは、本明細書で説明されるビデオフレーム符号化に関連する、データ、インジケータ、インデックス値、モード選択データなど、例えば、コーディング分割に関連したデータ(例えば、変換係数もしくは量子化変換係数、(説明されるような)任意選択のインジケータ、および/またはコーディング分割を定義するデータ)を含み得る。ビデオコーディングシステム40は、アンテナ42に結合され、符号化ビットストリームを復号するように構成されたビデオ復号器30をさらに含み得る。ディスプレイデバイス45は、ビデオフレームを提示するように構成される。
本出願のこの実施形態では、符号器20を参照して説明された例について、復号器30は逆のプロセスを行うように構成され得ることを理解されたい。シンタックス要素のシグナリングに関して、復号器30は、かかるシンタックス要素を受信して解析し、それに対応して関連するビデオデータを復号するように構成され得る。いくつかの例では、符号器20は、シンタックス要素を符号化ビデオビットストリームにエントロピー符号化し得る。そのような例では、ビデオ復号器30は、そのようなシンタックス要素を解析し、それに応じて関連するビデオデータを復号することができる。
説明の便宜上、例えば、高効率ビデオコーディング(High-Efficiency Video Coding、HEVC)を参照して、または多用途ビデオコーディング(Versatile Video Coding、VVC)、ITU-Tビデオコーディングエキスパートグループ(Video Coding Experts Group、VCEG)のビデオコーディングに関する共同コラボレーションチーム(Joint Collaboration Team on Video Coding、JCT-VC)およびISO/IECモーションピクチャエキスパートグループ(Motion Picture Experts Group、MPEG)によって開発された次世代ビデオコーディング規格の基準ソフトウェアを参照して、本発明の実施形態が本明細書で説明される。当業者は、本発明の実施形態がHEVCまたはVVCに限定されないことを理解する必要がある。
符号器および符号化方法
図2は、本出願の技術を実施するように構成されたビデオ符号器20の一例の概略ブロック図である。図2の例では、ビデオ符号器20は、入力(または入力インターフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212、復元ユニット214、ループフィルタ220、復号済ピクチャバッファ(decoded picture buffer、DPB)230、モード選択ユニット260、エントロピー符号化ユニット270、および出力(または出力インターフェース272)を含む。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254および分割ユニット262を含んでもよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示せず)を含んでもよい。図2に示される符号器20は、ハイブリッドビデオ符号器、またはハイブリッドビデオコーデックに基づくビデオ符号器と称される場合もある。
図2を参照すると、エントロピー符号化ユニット270は、訓練されたターゲットモデル(ニューラルネットワークとも呼ばれる)を含み、ニューラルネットワークは、入力されたピクチャのベース層情報、ピクチャ領域、またはピクチャブロックを処理し、ピクチャ、ピクチャ領域、またはピクチャブロックの拡張層情報に対応する確率値を生成するように構成される。例えば、エントロピーコーディング用のニューラルネットワークは、入力されたピクチャ、ピクチャ領域、またはピクチャブロックのベース層情報を受信し、入力されたピクチャ、ピクチャ領域、またはピクチャブロックの拡張層情報に対応する、複数のグループの確率値を生成するように構成される。
残差計算ユニット204、変換処理ユニット206、量子化ユニット208、モード選択ユニット260は、符号器20の順方向信号経路を形成すると呼ばれる場合があり、逆量子化ユニット210、逆変換処理ユニット212、復元ユニット214、バッファ216、ループフィルタ220、復号済ピクチャバッファ(decoded picture buffer、DPB)230、インター予測ユニット244、およびイントラ予測ユニット254は、符号器の逆方向信号経路を形成すると呼ばれる場合があり、ビデオ符号器20の逆方向信号経路は、復号器(図3の復号器30を参照)の信号経路に対応する。逆量子化ユニット210、逆変換処理ユニット212、復元ユニット214、ループフィルタ220、復号済ピクチャバッファ230、インター予測ユニット244、およびイントラ予測ユニット254は、ビデオ符号器20の「内蔵復号器」を形成するとも呼ばれる。
ピクチャおよびピクチャ分割(ピクチャおよびブロック)
符号器20は、例えば入力201を介して、ピクチャ(またはピクチャデータ17)、例えばビデオまたはビデオシーケンスを形成するピクチャのシーケンス内のピクチャを受信するように構成され得る。受信されたピクチャまたはピクチャデータはまた、前処理されたピクチャ(または前処理されたピクチャデータ)19であってもよい。簡単にするために、以下の説明ではピクチャ17を参照する。ピクチャ17はまた、現在のピクチャ、または、コーディングされるべきピクチャ(特に、現在のピクチャを他のピクチャ、例えば同じビデオシーケンス、すなわち現在のピクチャも含むビデオシーケンスの以前に符号化および/または復号済ピクチャから区別するためのビデオコーディングにおいて)と呼ばれてもよい。
(デジタル)ピクチャは、強度値を有するサンプルの2次元配列または行列とみなされる、またはみなされ得る。配列内のサンプルは、画素またはペル(pixelまたはpel)(ピクチャ要素の短い形)とも呼ばれ得る。配列またはピクチャの水平および垂直方向(または軸)のサンプルの数は、ピクチャのサイズおよび/または解像度を定義する。色の表現には、3つの色成分が通常使用され、具体的には、ピクチャは3つのサンプル配列として表されるか、または3つのサンプルの配列を含み得る。RBGフォーマットまたは色空間において、ピクチャは、対応する赤、緑、および青のサンプル配列を含む。しかしながら、ビデオコーディングでは、各画素は、輝度およびクロミナンス形式または色空間、例えば、YCbCrで、通常は表され、YCbCrは、Yによって示される輝度成分(場合によっては、Lが代わりに使用されることもある)と、CbおよびCrによって示される2つのクロミナンス成分と、を含む。輝度(ルマ)成分Yは、明るさまたはグレーレベルの強度(例えば、グレースケールピクチャの場合)を表し、2つのクロミナンス(chrominance、または略してchroma)成分CbおよびCrは、色度または色情報成分を表す。したがって、YCbCrフォーマットのピクチャは、輝度サンプル値(Y)の輝度サンプル配列と、色度値(CbおよびCr)の2つの色度サンプル配列とを含む。RGB形式のピクチャは、YCbCr形式に転換または変換され得、その逆も同様であり、このプロセスはまた、色変換または色転換として知られている。ピクチャがモノクロである場合、ピクチャは輝度サンプル配列のみを含み得る。したがって、ピクチャは、例えば、モノクロ形式のルマサンプルの配列、またはルマサンプルの配列および4:2:0、4:2:2、および4:4:4カラー形式のクロマサンプルの2つの対応する配列であってもよい。
一実施形態では、ビデオ符号器20は、ピクチャ17を複数の(通常は重複しない)ピクチャブロック203に分割するように構成されたピクチャ分割ユニット(図2には示されていない)を含むことができる。これらのブロックはまた、H.265/HEVCおよびVVCでは、ルートブロック、マクロブロック(H.264/AVC)またはコーディングツリーブロック(Coding Tree Block、CTB)またはコーディングツリーユニット(Coding Tree Unit、CTU)と呼ばれてもよい。ピクチャ分割ユニットは、ビデオシーケンスの全てのピクチャとブロックサイズを定義する対応するグリッドに同じブロックサイズを使用するか、ピクチャまたはサブセットまたはピクチャグループ間でブロックサイズを変更し、各ピクチャを対応するブロックに分割するように構成されてもよい。
さらなる実施形態では、ビデオ符号器は、ピクチャ17のブロック203、例えばピクチャ17を形成する1つ、いくつか、または全てのブロックを直接受信するように構成され得る。ピクチャブロック203はまた、現在のピクチャブロックまたはコーディングされるべきピクチャブロックと呼ばれてもよい。
ピクチャ17と同様に、ピクチャブロック203も、ピクチャ17よりも小さい次元であるが、強度値(サンプル値)を有するサンプルの2次元配列または行列であるか、またはそのようにみなされることができる。言い換えると、ブロック203は、例えば、適用される色フォーマットに応じて、1つのサンプル配列(例えば、モノクロピクチャ17の場合はルマ配列、カラーピクチャの場合はルマまたはクロマ配列)または3つのサンプル配列(例えば、カラーピクチャ17の場合、ルマおよび2つのクロマ配列)または任意の他の数および/または種類の配列を含んでもよい。ブロック203の水平および垂直方向(または軸)におけるサンプルの数は、ブロック203のサイズを定義する。したがって、ブロックは、例えば、サンプルのM×N(M列×N行)配列、または変換係数のM×N配列であってもよい。
一実施形態では、図2に示されるようなビデオ符号器20は、ピクチャ17をブロックごとに符号化するように構成され、例えば、符号化および予測はブロック203ごとに実行される。
一実施形態では、図2に示されるようなビデオ符号器20は、スライス(ビデオスライスとも呼ばれる)を使用してピクチャを分割および/または符号化するようにさらに構成されてもよく、ピクチャは、1つ以上のスライス(通常は重なり合わない)を使用して分割または符号化されてもよい。各スライスは、1つ以上のブロック(例えば、コーディングツリーユニットCTU)またはブロックの1つ以上のグループ(例えば、H.265/HEVCおよびVVCにおけるタイル(tile)、ならびにVVCにおけるレンガ(brick))を含み得る。
一実施形態では、図2に示されるビデオ符号器20は、スライス/タイルグループ(ビデオタイルグループとも呼ばれる)および/またはタイル(ビデオタイルとも呼ばれる)を使用してピクチャを分割および/または符号化するようにさらに構成されてもよく、ピクチャは、1つ以上のスライス/タイルグループ(通常は重なり合わない)を使用して、分割または符号化されてもよく、各スライス/タイルグループは、例えば、1つ以上のブロック(例えば、CTU)または1つ以上のタイルを含んでもよく、ここで各タイルは、例えば、長方形の形状であってもよく、1つ以上のブロック(例えば、CTU)、例えば、完全ブロックまたは部分ブロックを含んでもよい。
残差計算
残差計算ユニット204は、例えば、画素領域における残差ブロック205を取得するべく、サンプルごと(画素ごと)に、ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算することにより、ピクチャブロック203および予測ブロック265(予測ブロック265に関するさらなる詳細は後で提供される)に基づいて残差ブロック205を計算するように構成され得る。
変換
変換処理ユニット206は、変換領域の変換係数207を取得するために、残差ブロック205のサンプル値に離散コサイン変換(discrete cosine transform、DCT)や離散サイン変換(discrete sine transform、DST)などの変換を適用するように構成され得る。変換係数207は、変換残差係数と呼ばれてもよく、変換領域における残差ブロック205を表す。
変換処理ユニット206は、HEVC/H.265において定められる変換など、DCT/DSTの整数近似を適用するように構成されてよい。直交DCT変換と比較すると、このような整数近似は、係数に基づいて通常スケーリングされる。順変換および逆変換を使用して処理される残差ブロックのノルムを維持するために、変換プロセスの一部としてさらなるスケール因子が適用される。スケール因子は、いくつかの制約に基づいて通常は選択され、例えばスケール因子は、シフト演算の2の累乗、変換係数のビット深度、および精度と実施コストとのトレードオフである。具体的な倍率は、例えば符号器側20の逆変換処理ユニット212による逆変換(および、例えば復号器側30の逆変換処理ユニット312による対応する逆変換)に関して定められ、また、それに応じて、例えば符号器側20の変換処理ユニット206による順変換のための対応する倍率が定められてもよい。
一実施形態では、ビデオ符号器20(これに応じて、変換処理ユニット206)は、変換パラメータ、例えば、変換または変換のタイプを、例えば、直接的に、または、エントロピー符号化ユニット270を介して符号化または圧縮されて出力するように構成され得、これによって、例えば、ビデオ復号器30は、変換パラメータを受信して復号のために使用することができる。
量子化
量子化ユニット208は、例えばスカラー量子化またはベクトル量子化を適用することによって、変換係数207を量子化して、量子化変換係数209を取得するように構成される。量子化変換係数209は、量子化残差係数209とも呼ばれ得る。
量子化プロセスは、一部または全部の変換係数207に関連したビット深度を低減させ得る。例えば、nがmよりも大きい場合、nビットの変換係数が、量子化中にmビットの変換係数に丸められ得る。量子化パラメータ(quantization parameter、QP)を調整することにより、量子化度が変更されてもよい。例えば、スカラー量子化の場合、より細かいまたはより粗い量子化を達成するために、異なるスケールが適用されてもよい。より小さい量子化ステップサイズはより細かい量子化に対応し、より大きい量子化ステップサイズはより粗い量子化に対応する。適切な量子化ステップサイズは、量子化パラメータ(quantization parameter、QP)によって示され得る。例えば、量子化パラメータは、適切な量子化ステップサイズの所定のセットへのインデックスであってよい。例えば、より小さい量子化パラメータはより細かい量子化(より小さい量子化ステップサイズ)に対応し得、より大きい量子化パラメータはより粗い量子化(より大きい量子化ステップサイズ)に対応し得、あるいは逆もまた同様である。量子化は、量子化ステップサイズによる除算を含むことができ、例えば逆量子化ユニット210による対応する逆量子化および/または逆・逆量子化は、量子化ステップサイズによる乗算を含むことができる。いくつかの標準規格、例えば、HEVCによる実施形態は、量子化パラメータを使用して量子化ステップサイズを決定するように構成され得る。一般に、量子化ステップサイズは、除算を含む方程式の固定小数点近似を使用して量子化パラメータに基づいて計算され得る。残差ブロックのノルムを復元するために量子化および逆量子化に関してさらなるスケール因子が導入されてよく、残差ブロックのノルムは、量子化ステップサイズのための方程式および量子化パラメータの固定小数点近似で使用されるスケールに起因して変更されてよい。1つの例示的な実施態様では、逆変換のスケーリングと逆量子化とが組み合わせられてもよい。あるいは、カスタマイズされた量子化テーブルが使用され、符号器から復号器に、例えば、ビットストリームでシグナリングされてもよい。量子化は非可逆演算であり、損失は量子化ステップサイズの増加に伴って増加する。
一実施形態では、ビデオ符号器20(これに応じて、量子化ユニット208)は、量子化パラメータ(quantization parameter、QP)を出力するように構成することができ、例えば、直接またはエントロピー符号化ユニット270を介して符号化することができ、その結果、例えば、ビデオ復号器30は、復号のために量子化パラメータを受信および適用することができる。
逆量子化
逆量子化ユニット210は、例えば量子化ユニット208と同じ量子化ステップサイズに基づいてまたはそれを使用して量子化ユニット208により適用された量子化スキームの逆量子化方式を適用することによって、量子化ユニット208の逆量子化を量子化係数に関して適用して逆量子化係数211を得るように構成される。逆量子化係数211は、逆量子化された残差係数211と呼ばれる場合もあり、通常は量子化による損失に起因して変換係数と同一ではないが、変換係数207に対応する。
逆変換
逆変換処理ユニット212は、画素領域内の復元済残差ブロック213(または対応する逆量子化係数213)を取得するために、変換処理ユニット206によって適用された変換の逆変換、例えば、逆離散コサイン変換(discrete cosine transform、DCT)または逆離散サイン変換(discrete sine transform、DST)を適用するように構成される。復元済残差ブロック213はまた、変換ブロック213と呼ばれてもよい。
復元
復元ユニット214(例えば、加算器214)は、例えば、復元済残差ブロック213のサンプル値と予測ブロック265のサンプル値とを加算することによって、変換ブロック213(例えば、復元済残差ブロック213)を予測ブロック265に加えて画素領域における復元済ブロック215を取得するように構成される。
フィルタリング
ループフィルタユニット220(または短く「ループフィルタ」220)は、復元済ブロック215をフィルタリングしてフィルタリングされたブロック221を取得するように構成され、または一般に、復元済サンプルをフィルタリングしてフィルタリングされたサンプル値を取得するように構成される。ループフィルタユニットは、例えば、画素遷移を滑らかにするか、そうでなければビデオ品質を改善するように構成される。ループフィルタユニット220は、1つ以上のループフィルタ、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、または1つ以上の他のフィルタ、例えば、適応ループフィルタ(adaptive loop filter、ALF)、ノイズ抑制フィルタ(noise suppression filter、NSF)、もしくはこれらの任意の組み合わせを含んでもよい。一例では、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、およびALFフィルタを含んでもよい。フィルタリングプロセスの順序は、デブロッキングフィルタ、SAOフィルタ、そしてALFフィルタであってもよい。別の例では、クロマスケーリングを伴うルママッピング(luma mapping with chroma scaling、LMCS)と呼ばれるプロセス(すなわち適応型ループ内リシェーパ)が追加される。このプロセスはデブロッキングの前に行われる。別の例では、デブロッキングフィルタプロセスは、アフィン・サブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(sub-block transform、SBT)エッジ、およびイントラサブパーティション(intra sub-partition、ISP)エッジなどの内部サブブロックエッジに適用されてもよい。ループフィルタユニット220は図2ではインループフィルタとして示されるが、他の形態では、ループフィルタユニット220がポストループフィルタとして実装されてもよい。フィルタリングされたブロック221は、フィルタリングされた復元済ブロック221と呼ばれることもある。
一実施形態では、ビデオ符号器20(これに応じて、ループフィルタユニット220)は、例えば、ループフィルタパラメータ(SAOフィルタパラメータ、ALFフィルタパラメータ、またはLMCSパラメータなど)を直接的に、またはエントロピー符号化ユニット270を介して符号化して出力するように構成されてもよく、その結果、例えば、復号器30は、復号するために同じループフィルタパラメータまたはそれぞれのループフィルタを受信して適用する。
復号済ピクチャバッファ
復号済ピクチャバッファ(decoded picture buffer、DPB)230は、ビデオ符号器20でビデオデータを符号化するための参照ピクチャ、一般的には参照ピクチャデータを記憶するメモリであってもよい。DPB 230は、同期DRAM(synchronous DRAM,SDRAM)、磁気抵抗RAM(magnetoresistive RAM,MRAM)、抵抗RAM(resistive RAM,RRAM)を含むダイナミック・ランダム・アクセス・メモリ(dynamic random access memory,DRAM)、または他のタイプのメモリデバイスなどの様々なメモリデバイスのいずれか1つによって形成され得る。復号済ピクチャバッファ230は、1つまたは複数のフィルタリングされたブロック221を記憶するように構成され得る。復号済ピクチャバッファ230は、他の以前にフィルタリングされたブロック、例えば同じ現在のピクチャまたは異なるピクチャ、例えば以前に復元されたピクチャの、以前に復元およびフィルタリングされたブロック221を記憶するようにさらに構成されてよく、また、例えばインター予測のために、完全に以前に復元された、例えば復号済ピクチャ(ならびに対応する参照ブロックおよびサンプル)および/または部分的に復元された現在のピクチャ(ならびに対応する参照ブロックおよびサンプル)を提供することができる。復号済ピクチャバッファ230は、例えば復元済ブロック215がループフィルタユニット220によってフィルタリングされていない場合、または復元済ブロックもしくはサンプルの任意の他のさらなる処理されたバージョンの場合、1つまたは複数のフィルタリングされていない復元済ブロック215、または一般にフィルタリングされていない復元済サンプルを記憶するようにさらに構成され得る。
モード選択(分割および予測)
モード選択ユニット260は、分割ユニット262と、インター予測ユニット244と、イントラ予測ユニット254とを含み、元のピクチャデータ、例えば元のブロック203(現在のピクチャ17の現在ブロック203)と、復元済ピクチャデータ、例えば同じ(現在の)ピクチャの、および/または以前に復号された1つ以上のピクチャから、例えば復号済ピクチャバッファ230または他のバッファ(例えば、図示されていないラインバッファ)から、復元された、フィルタリングされたおよび/またはフィルタリングされていないサンプルまたはブロックと、を受信または取得するように構成される。復元済ピクチャデータは、予測ブロック265または予測値265を取得するために、予測、例えばインター予測またはイントラ予測のための参照ピクチャデータとして使用される。
モード選択ユニット260は、現在ブロック予測モード(分割なしを含む)および予測モード(例えば、イントラまたはインター予測モード)のための分割を決定または選択し、残差ブロック205の計算および復元済ブロック215の復元に使用される対応する予測ブロック265を生成するように構成され得る。
一実施形態では、モード選択ユニット260は、最良一致または言い換えれば最小残差(最小残差は送信または記憶のためのより良好な圧縮を意味する)を提供する、または最小シグナリングオーバーヘッド(最小シグナリングオーバーヘッドは送信または記憶のためのより良好な圧縮を意味する)を提供する、または両方を考慮またはバランスする、分割および予測モードを(例えば、モード選択ユニット260によってサポートされているか、または利用可能なものから)選択するように構成され得る。モード選択ユニット260は、レート歪み最適化(rate distortion Optimization、RDO)に基づいて分割モードおよび予測モードを決定する、例えば、最小レート歪み最適化を提供する予測モードを選択するように構成され得る。本明細書における「最良」、「最低」、および「最適」などの用語は、必ずしも一般的な「最良」、「最低」、および「最適」を指すとは限らないが、また、終了または選択の基準が満たされた事例を指す場合もある。例えば、閾値その他の制限を上回るまたは下回る値は「次善の選択」になる場合があるが、複雑さおよび処理時間は低減される。
言い換えると、分割ユニット262は、例えば四分木分割(quad-tree partitioning、QT)、二分木分割(binary-tree partitioning、BT)もしくは三分木分割(triple-tree partitioning、TT)またはそれらの任意の組み合わせを繰り返し使用して、ピクチャをビデオシーケンスからコーディングツリーユニットのシーケンスに分割するように構成され、CTU203は、より小さいブロックパーティションまたはサブブロック(再びブロックを形成する)にさらに分割されてもよく、例えば、ブロック分割またはサブブロックの各々について予測を実行するように構成されてもよく、モード選択は、分割されたブロック203の木構造の選択を含み、予測モードは、ブロック分割またはサブブロックの各々に適用される。
以下では、例示的なビデオ符号器20によって実行される(例えば、分割ユニット262による)分割および(インター予測ユニット244およびイントラ予測ユニット254による)予測処理について、より詳細に説明される。
分割
分割ユニット262は、コーディングツリーユニット203をより小さいパーティション、例えば正方形または長方形サイズのより小さいブロックに分割(partition)(または分割(split))することができる。3つのサンプル配列を有するピクチャでは、CTUは、N×N個のルマサンプルのブロックと、それに伴う2つの対応するクロマサンプルのブロックからなる。CTUにおけるルマブロックの最大許容サイズは、開発中の多用途ビデオコーディング(Versatile Video Coding、VVC)では128×128になるように指定されるが、将来は128×128ではなく、例えば256×256になるように指定され得る。ピクチャのCTUは、スライス/タイルグループ、タイル、またはレンガとして、クラスタ化/グループ化されてもよい。タイルはピクチャの長方形領域を網羅し、タイルは1つ以上のレンガに分割され得る。レンガは、タイル内のいくつかのCTU行からなる。複数のレンガに分割されていないタイルは、レンガと呼ばれてもよい。しかしながら、レンガはタイルの真のサブセットであり、タイルと呼ばれることはない。VVCではタイルグループの2つのモードがサポートされており、それはすなわちラスタ走査スライス/タイルグループモードと矩形スライスモードである。ラスタ走査タイルグループモードでは、スライス/タイルグループは、ピクチャのタイルラスタ走査におけるタイルのシーケンスを含む。矩形スライスモードでは、スライスは、ピクチャの長方形領域を集合的に形成する、いくつかのピクチャのレンガを含む。矩形スライス内のレンガは、スライスのレンガラスタ走査の順に並んでいる。これらのより小さいブロック(サブブロックとも呼ばれ得る)は、より小さい分割にさらに分割され得る。これはツリー分割または階層ツリー分割とも呼ばれ、例えば、ルートツリーレベル0(階層レベル0、深度0)のルートブロックは再帰的に分割、例えば、次の下位ツリーレベルの2つ以上のブロック、例えば、ツリーレベル1(階層レベル1、深度1)のノードに分割され得る。これらのブロックは、(例えば終了基準が満たされたために、例えば最大ツリー深度または最小ブロックサイズに達せられたために)分割が終了されるまで、次の下位レベルの2つ以上のブロック、例えば、ツリーレベル2(階層レベル2、深度2)などに再度分割されてもよい。さらに分割されていないブロックは、ツリーのリーフブロックまたはリーフノードとも呼ばれる。2つのパーティションに分割することに用いるツリーは、二分木(binary-tree、BT)と呼ばれ、3つのパーティションに分割することに用いるツリーは、三分木(TT)と呼ばれ、4つのパーティションに分割することに用いるツリーは、四分木(quad-tree、QT)と呼ばれる。
例えば、コーディングツリーユニット(CTU)は、ルマサンプルのCTB、3つのサンプル配列を有するピクチャのクロマサンプルの2つの対応するCTB、または白黒ピクチャのサンプルのCTB、または(サンプルをコーディングするために使用される)3つの別々のカラープレーンおよびシンタックス構造を使用してコーディングされるピクチャであってもよいし、それらを含んでもよい。これに対応して、コーディングツリーブロック(CTB)は、構成要素のCTBへの分割(splitting)が分割(partitioning)であるように、Nのいくつかの値に対するサンプルのN×Nブロックであり得る。コーディングユニット(coding unit、CU)は、ルマサンプルのコーディングブロック、3つのサンプル配列を有するピクチャのクロマサンプルの2つの対応するコーディングブロック、または白黒ピクチャのサンプルのコーディングブロック、または(サンプルをコーディングするために使用される)3つの別々のカラープレーンおよびシンタックス構造を使用してコーディングされるピクチャであってもよいし、それらを含んでもよい。これに対応して、コーディングブロック(CB)は、CTBのコーディングブロックへの分割(splitting)が分割(partitioning)であるように、MおよびNのいくつかの値に対するサンプルのM×Nブロックであり得る。
実施形態では、例えば、HEVCによれば、コーディングツリーユニット(CTU)は、コーディングツリーとして示される四分木構造を使用することによってCUに分割されてもよい。インターピクチャ(時間)予測またはイントラピクチャ(空間)予測を用いてピクチャ領域をコーディングするかどうかの決定は、リーフCUレベルで行われる。各リーフCUは、PU分割タイプに基づいて、1つ、2つ、または4つのPUにさらに分割されることができる。1つのPU内部では、同一の予測プロセスが適用され、また、関連情報がPU単位で復号器に送信される。PU分割タイプに基づいて予測プロセスを適用することによって残差ブロックを取得した後に、リーフCUは、CUのコーディングツリーと同様の別の四分木構造に従って変換ユニット(TU)に分割されることができる。
実施形態では、例えば、多用途ビデオコーディング(VVC)と呼ばれる現在開発中の最新のビデオコーディング規格に基づいて、ネストされたマルチタイプツリー(例えば、二分木および三分木)を使用する組み合わされた四分木が、コーディングツリーユニットを分割するのに使用されるセグメント化構造を分割する。コーディングツリーユニット内のコーディングツリー構造では、CUが正方形または長方形のいずれかの形状を有することができる。例えば、コーディングツリーユニット(CTU)は、四分木によって最初に分割される。次に、四分木リーフノードが、マルチタイプツリー構造によってさらに分割され得る。マルチタイプツリー構造には、垂直二分木分割(SPLIT_BT_VER)、水平二分木分割(SPLIT_BT_HOR)、垂直三分木分割(SPLIT_TT_VER)、および水平三分木分割(SPLIT_TT_HOR)の4つの分割タイプがある。マルチタイプツリー・リーフノードはコーディングユニット(CU)と呼ばれ、最大変換長に対してCUが過度に大きくない限り、このセグメント化が、さらに分割することなく予測および変換処理に使用される。このことは、ほとんどの場合、CU、PU、および、TUが、ネストされたマルチタイプツリーのコーディングブロック構造を有する四分木において、同じブロックサイズを有することを意味する。最大サポート変換長がCUの色成分の幅または高さより短いと、例外が発生する。VVCは、ネストされたマルチタイプツリーのコーディングツリー構造を有する四分木において、パーティション分割情報の固有のシグナリング機構を開発する。シグナリング機構では、コーディングツリーユニット(CTU)は四分木のルートとして扱われ、四分木構造によって最初に分割される。各四分木リーフノードは(それが可能なほど十分に大きいときは)、その後、マルチタイプツリー構造によってさらに分割される。マルチタイプツリー構造では、ノードがさらに分割されるかどうかを示すために第1のフラグ(mtt_split_cu_flag)がシグナリングされ、ノードがさらに分割されるときは、分割方向を示すために第2のフラグ(mtt_split_cu_vertical_flag)がシグナリングされ、次に、分割が二分木分割か三分木分割かを示すために第3のフラグ(mtt_split_cu_binary_flag)がシグナリングされる。mtt_split_cu_vertical_flagおよびmtt_split_cu_binary_flagの値に基づき、復号器によって、事前定義された規則または表に基づいて、CUのマルチタイプツリー分割モード(MttSplitMode)が導出され得る。VVCハードウェア復号器における、64×64のルマブロックおよび32×32のクロマのパイプライン設計などのある種の設計では、ルマコーディングブロックの幅または高さが64より大きいときは、TT分割は許容されないことに留意されたい。クロマコーディングブロックの幅または高さのいずれかが32より大きいときもTT分割は禁止される。パイプライン設計は、ピクチャを仮想パイプラインデータユニット(virtual pipeline data unit、VPDU)に分割し、これはピクチャ内で重なり合わないユニットとして定義される。ハードウェア復号器では、連続するVPDUは、複数のパイプライン段階で同時に処理される。VPDUサイズは、ほとんどのパイプライン段階においてバッファサイズにほぼ比例するので、VPDUサイズを小さく保つことが重要である。ほとんどのハードウェア復号器で、VPDUサイズは、最大変換ブロック(transform block、TB)サイズに設定され得る。しかしながら、VVCでは、三分木(TT)および二分木(BT)分割は、VPDUサイズの増加につながる場合がある。
加えて、ツリーノードブロックの一部が下または右ピクチャ境界を越えると、コーディングされた全てのCUの全サンプルがピクチャ境界の内側に配置されるまで、ツリーノードブロックが強制的に分割されることに留意されたい。
一例では、イントラサブパーティション(intra sub-partitions、ISP)ツールは、ブロックサイズに応じてルマイントラ予測ブロックを垂直または水平に分割して、2つまたは4つのサブパーティションにし得る。
一例では、ビデオ符号器20のモード選択ユニット260は、本明細書に記載された分割技法の任意の組み合わせを実行するように構成され得る。
上記のように、ビデオ符号器20は、一組の(例えば、所定の)予測モードから最良または最適な予測モードを決定または選択するように構成される。予測モードのセットは、例えば、イントラ予測モードおよび/またはインター予測モードを含んでもよい。
イントラ予測
イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えば、DC(または平均)モードおよび平面モードなどの無指向性モード、または、HEVCで規定されたモードなどの指向性モードを含んでもよく、あるいは、67個の異なるイントラ予測モード、例えば、DC(または平均)モードおよび平面モードなどの無指向性モード、または、VVCで規定されたモードなどの指向性モードを含み得る。一例では、一部の従来の角度イントラ予測モードは、例えば、VVCで定義されるような、非正方形のブロック用の広角イントラ予測モードに適応的に置き換えられる。別の例では、DC予測のための除算演算を回避するために、非正方形ブロックの平均の計算には長辺のみが使用される。加えて、平面モードのイントラ予測の結果は、位置依存イントラ予測の組み合わせ(position dependent intra prediction combination、PDPC)方法によってさらに変更されてもよい。
イントラ予測ユニット254は、イントラ予測モードのセットのイントラ予測モードに従って、イントラ予測ブロック265を生成するために、同じ現在のピクチャの近隣ブロックの復元済サンプルを使用するように構成される。
イントラ予測ユニット254(または一般にモード選択ユニット260)は、例えば、ビデオ復号器30が予測パラメータを受信して復号に使用することができるように、符号化ピクチャデータ21に含めるためのシンタックス要素266の形態でイントラ予測パラメータ(またはブロックに対して選択されたイントラ予測モードを示す一般的な情報)をエントロピー符号化ユニット270に出力するようにさらに構成される。
インター予測
可能な一実施態様では、(可能性のある)インター予測モードのセットは、利用可能な参照ピクチャ(すなわち、以前に少なくとも部分的に復号された、例えばDBP230に記憶されたピクチャ)および他のインター予測パラメータ、例えば参照ピクチャ全体または一部のみが、例えば参照ピクチャの現在ブロックの領域の周りの検索ウィンドウ領域が最もよく一致する参照ブロックを検索するために使用されるかどうか、ならびに/あるいは例えばサンプル補間、例えばハーフ/セミペル、クォーターペル、および/または1/16ペル補間が適用されるかどうかに依存する。
上記の予測モードに加えて、スキップモード、直接モード、および/または他のインター予測モードが適用されてもよい。
例えば、拡張マージ予測では、このようなモードのマージ候補リストは、空間的近隣CUからの空間MVP、コロケートCUからの時間MVP、FIFO表からの履歴ベースのMVP、ペアワイズ平均MVP、およびゼロMVの、5つのタイプの候補を順に含めることによって構築される。双方向整合ベースの復号器側動きベクトル精密化(decoder side motion vector refinement、DMVR)は、マージモードのMVの精度を高めるために適用され得る。MVDを有するマージモード(merge mode with MVD、MMVD)は、動きベクトル差を有するマージモードに由来する。MMVDフラグは、スキップフラグの送信直後にシグナリングされ、フラグをマージしてCUにMMVDモードが使用されるかどうかを指定する。CUレベルの適応型動きベクトル解像度(adaptive motion vector resolution、AMVR)方式が適用されてもよい。AMVRは、CUのMVDが、異なる精度でコーディングされるのを許容する。現在のCUの予測モードに依存して、現在のCUのMVDが適応的に選択されてもよい。CUがマージモードでコーディングされるときは、現在のCUにインター予測とイントラ予測との組み合わせ(combined inter/intra prediction、CIIP)モードが適用されてもよい。CIIP予測を取得するために、インター予測およびイントラ予測信号に加重平均が行われる。アフィン動き補償予測では、ブロックのアフィン動きフィールドが、2つの制御点(4パラメータ)、または3つの制御点(6パラメータ)の動きベクトルの動き情報で記述される。サブブロックベースの時間動きベクトル予測(subblock-based temporal motion vector prediction、SbTMVP)は、HEVCにおける時間動きベクトル予測(temporal motion vector prediction、TMVP)と同様であるが、現在のCU内のサブCUの動きベクトルを予測する。以前はBIOと呼ばれていた双方向オプティカルフロー(bi-directional optical flow、BDOF)は、特に乗算の回数および乗数の大きさに関して、必要な計算がずっと少ない、より簡素なバージョンである。三角形パーティションモードについては、このようなモードでは、対角線分割または非対角線分割のいずれかを使用して、CUが均等に2つの三角形の形状の区画に分割される。さらに、双予測モードは、2つの予測信号の加重平均を可能にするために、単純平均を越えて拡張される。
インター予測ユニット244は、動き推定(motion estimation、ME)ユニットおよび動き補償(motion compensation、MC)ユニット(両方とも図2には示されていない)を含み得る。動き推定ユニットは、動き推定のために、ピクチャブロック203(現在のピクチャ17の現在のピクチャブロック203)および復号されたピクチャ231、または、少なくとも1つ以上の既に復元されたブロック、例えば、1つ以上の他の/異なる既に復号されたピクチャ231の復元済ブロックを受信または取得するように構成され得る。例えば、ビデオシーケンスは、現在のピクチャおよび以前に復号されたピクチャ231を含むことができ、言い換えると、現在のピクチャおよび以前に復号されたピクチャ231は、ビデオシーケンスを形成するピクチャのシーケンスの一部であるか、またはそれを形成することができる。
符号器20は、例えば、複数の他のピクチャの同じまたは異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ(または参照ピクチャインデックス)および/または参照ブロックの位置(x、y座標)と現在ブロックの位置との間のオフセット(空間オフセット)を、インター予測パラメータとして動き推定ユニットに提供するように構成され得る。このオフセットは、動きベクトル(MV)とも呼ばれる。
動き補償ユニットは、例えば、インター予測パラメータを取得するとともに、インター予測パラメータに基づいてまたはインター予測パラメータを使用してインター予測を実行してインター予測ブロック246を取得するように構成される。動き補償ユニットによって実行される動き補償は、動き推定によって決定された動き/ブロックベクトルに基づいて予測ブロックをフェッチまたは生成し、サブ画素精度への補間を場合によっては実行することを含むことができる。補間フィルタリングは、既知の画素サンプルからさらなる画素サンプルを生成し、それにより、ピクチャブロックをコーディングするために使用されてもよい候補予測ブロックの数を潜在的に増大させてもよい。現在のピクチャブロックのPUに関する動きベクトルを受信する際、動き補償ユニットは、参照ピクチャリストのうちの1つにある動きベクトルが指し示す予測ブロックを特定してもよい。
動き補償ユニットはまた、ビデオスライスのピクチャブロックを復号する際にビデオ復号器30によって使用されるために、ブロックとビデオスライスとに関連付けられているシンタックス要素を生成する。スライスおよびそれぞれのシンタックス要素に加えて、またはこれに代えて、タイルグループおよび/またはタイルと、それぞれのシンタックス要素とが生成されるかまたは使用されてもよい。
エントロピーコーディング
エントロピー符号化ユニット270は、例えば、ビデオ復号器30がパラメータを受信して復号に使用することができるように、例えば、符号化ビットストリーム21の形態で出力272を介して出力することができる符号化ピクチャデータ21を取得するために、量子化残差係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素に対して、例えば、エントロピー符号化アルゴリズムまたは方式(例えば、可変長コーディング(variable length coding、VLC)方式、コンテキスト適応型VLC(context adaptive VLC、CALVC)方式、算術コーディング方式、2値化アルゴリズム、コンテキスト適応型バイナリ算術コーディング(context adaptive binary arithmetic coding、CABAC)、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding、SBAC)、確率区間分割エントロピー(probability interval partitioning entropy、PIPE)コーディング、または別のエントロピー符号化方法または技法)またはバイパス(圧縮なし)を適用するように構成される。符号化ビットストリーム21は、ビデオ復号器30に送信されてもよいし、ビデオ復号器30による後の送信または検索のためにメモリに記憶されてもよい。
ビデオ符号器20の他の構造的変形は、ビデオストリームを符号化するように使用され得る。例えば、非変換ベースの符号器20は、いくつかのブロックまたはフレームに関して変換処理ユニット206を伴うことなく残差信号を直接に量子化することができる。別の実施態様では、符号器20は、単一のユニットに組み合わせられる量子化ユニット208および逆量子化ユニット210を有し得る。
復号器および復号方法
図3は、本出願の技術を実施するように構成されたビデオ復号器30の一例を示す。ビデオ復号器30は、例えば、符号器20によって符号化された符号化ピクチャデータ21(例えば、符号化ビットストリーム21)を受信して、復号済ピクチャ331を取得するように構成される。符号化ピクチャデータまたはビットストリームは、符号化ピクチャデータを復号するための情報、例えば、符号化ビデオスライス(および/あるいはタイルグループまたはタイル)のピクチャブロックおよび関連するシンタックス要素を表すデータを含む。
図3の例では、復号器30は、エントロピー復号ユニット304、逆量子化ユニット310、逆変換処理ユニット312、復元ユニット314(例えば、加算器314)、ループフィルタ320、復号済ピクチャバッファ(DBP)330、モード適用ユニット360、インター予測ユニット344、およびイントラ予測ユニット354を含む。インター予測ユニット344は、動き補償ユニットであってもよいし、動き補償ユニットを含んでもよい。ビデオ復号器30は、いくつかの例では、図2のビデオ符号器100に関して説明された符号化パスとほぼ逆となる復号パスを実行してもよい。
符号器20について説明したように、逆量子化ユニット210、逆変換処理ユニット212、復元ユニット214、ループフィルタ220、復号済ピクチャバッファDPB230、インター予測ユニット344、およびイントラ予測ユニット354は、ビデオ符号器20の「内蔵復号器」を形成するとも呼ばれる。したがって、逆量子化ユニット310の機能は逆量子化ユニット110と同じであってもよく、逆変換処理ユニット312の機能は逆変換処理ユニット122と同じであってもよく、復元ユニット314の機能は復元ユニット214と同じであってもよく、ループフィルタ320の機能はループフィルタ220と同じであってもよく、復号済ピクチャバッファ330の機能は復号済ピクチャバッファ230と同じであってもよい。したがって、ビデオ符号器20のそれぞれのユニットおよび機能について提供された説明は、ビデオ復号器30のそれぞれのユニットおよび機能に対応して適用する。
エントロピー復号
エントロピー復号ユニット304は、ビットストリーム21(または、一般に、符号化ピクチャデータ21)を解析し、符号化ピクチャデータ21に対してエントロピー復号を実行して、量子化係数309および/または復号されたコーディングパラメータ(図3には示されていない)、例えば、インター予測パラメータ(例えば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、および/または、その他のシンタックス要素のうちのいずれか1つまたは全てを取得するように構成される。エントロピー復号ユニット304は、符号器20のエントロピー符号化ユニット270に関して記載されたような符号化方式に対応する復号アルゴリズムまたは方式を適用するように構成され得る。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータ、および/または、その他のシンタックス要素をモード適用ユニット360へ、その他のパラメータを復号器30のその他のユニットへ提供するようにさらに構成され得る。ビデオ復号器30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信することができる。スライスおよびそれぞれのシンタックス要素に加えて、またはこれに代えて、タイルグループおよび/またはタイルと、それぞれのシンタックス要素とが受信されるかまたは使用されてもよい。
逆量子化
逆量子化ユニット310は、量子化パラメータ(quantization parameter、QP)(または逆量子化に関連する一般的な情報)および量子化係数を(例えば、解析および/または復号することによって、例えばエントロピー復号ユニット304によって)符号化ピクチャデータ21から受け取り、量子化パラメータに基づいて、復号済量子化係数309に逆量子化を適用して、逆量子化係数311を取得するように構成され得る。逆量子化係数311は、変換係数311と称される場合もある。逆量子化プロセスは、量子化の程度と同様に適用されるべき逆量子化の程度とを決定するべくビデオスライス内のそれぞれのビデオブロック(あるいはピクチャブロックまたはピクチャブロックグループ)ごとにビデオ符号器20によって決定される量子化パラメータの使用を含んでもよい。
逆変換
逆変換処理ユニット312は、変換係数311とも呼ばれる逆量子化係数311を受信し、画素領域内の復元済残差ブロック213を取得するために、逆量子化係数311に変換を適用するように構成され得る。復元済残差ブロック213はまた、変換ブロック313と呼ばれてもよい。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、または概念的に同様の逆変換プロセスであってもよい。逆変換処理ユニット312は、逆量子化係数311に適用されるべき変換を決定するために、(例えば、解析および/または復号することによって、例えばエントロピー復号ユニット304によって)符号化ピクチャデータ21から変換パラメータまたは対応する情報を受信するようにさらに構成され得る。
復元
復元ユニット314(例えば、加算器314)は、例えば、復元済残差ブロック313のサンプル値と予測ブロック365のサンプル値とを加算することによって、復元済残差ブロック313を予測ブロック365に加えて画素領域における復元済ブロック315を取得するように構成される。
フィルタリング
ループフィルタユニット320(コーディングループ中またはコーディングループ後のいずれか)は、復元済ブロック315をフィルタリングしてフィルタリングされたブロック321を取得し、例えば画素移行を滑らかにするまたはビデオ品質を向上させるように構成される。ループフィルタユニット320は、1つ以上のループフィルタ、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset、SAO)フィルタ、または1つ以上の他のフィルタ、例えば、適応ループフィルタ(adaptive loop filter、ALF)、ノイズ抑制フィルタ(noise suppression filter、NSF)、もしくはこれらの任意の組み合わせを含んでもよい。一例では、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、およびALFフィルタを含んでもよい。フィルタリングプロセスの順序は、デブロッキングフィルタ、SAOフィルタ、そしてALFフィルタであってもよい。別の例では、クロマスケーリングを伴うルママッピング(luma mapping with chroma scaling、LMCS)と呼ばれるプロセス(すなわち適応型ループ内リシェーパ)が追加される。このプロセスはデブロッキングの前に行われる。別の例では、デブロッキングフィルタプロセスは、アフィン・サブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(sub-block transform、SBT)エッジ、およびイントラサブパーティション(intra sub-partition、ISP)エッジなどの内部サブブロックエッジに適用されてもよい。ループフィルタユニット320は図3ではインループフィルタとして示されるが、他の形態では、ループフィルタユニット320がポストループフィルタとして実装されてもよい。
復号済ピクチャバッファ
ピクチャの復号済ビデオブロック321は、その後、復号済ピクチャバッファ330に記憶され、復号済ピクチャバッファ330は、復号済ピクチャ331を、その他のピクチャのためのその後の動き補償、および/またはそれぞれ表示するように出力するための参照ピクチャとして記憶する。
復号器30は、ユーザに対する提示または閲覧のために、例えば出力312を介して復号済ピクチャ311を出力するように構成される。
予測
インター予測ユニット344はインター予測ユニット244(特に動き補償ユニット)と同一であってもよく、イントラ予測ユニット354はインター予測ユニット254と機能的に同一であってもよく、分割パラメータおよび/または予測パラメータ、または符号化ピクチャデータ21から受信したそれぞれの情報に基づいて(例えば、解析および/または復号することによって、例えばエントロピー復号ユニット304によって)分割または分割決定および予測を行う。モード適用ユニット360は、予測ブロック365を取得するために、復元済ピクチャ、ブロック、または対応するサンプル(フィルタリングされたまたはフィルタリングされていない)に基づいてブロックごとに予測(イントラまたはインター予測)を実行するように構成され得る。
ビデオスライスがイントラコーディング済(I)スライスとしてコーディングされるとき、モード適用ユニット360のイントラ予測ユニット354は、シグナリングされたイントラ予測モードおよび現在のピクチャの以前に復号されたブロックからのデータに基づいて、現在のビデオスライスのピクチャブロックの予測ブロック365を生成するように構成される。ビデオピクチャがインターコーディング済(例えば、BまたはP)スライスとしてコーディングされるときは、モード適用ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピー復号ユニット304から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロック用の予測ブロック365を生成するように構成される。インター予測について、予測ブロックは、参照ピクチャリストのうちの1つにある参照ピクチャのうちの1つから作り出され得る。ビデオ復号器30は、DPB330に記憶された参照ピクチャに基づいて、デフォルトの構築技法を用いて参照フレームリスト、すなわちリスト0およびリスト1を構成できる。同じまたは同様のことが、スライス(例えば、ビデオスライス)に加えて、またはこれに代えてタイルグループ(例えば、ビデオタイルグループ)および/またはタイル(例えば、ビデオタイル)を使用する実施形態に対して、またはこの実施形態によって適用されてもよく、例えば、ビデオは、I、PもしくはBタイルグループおよび/またはタイルを使用してコーディングされてもよい。
モード適用ユニット360は、動きベクトルまたは関連情報、および他のシンタックス要素を解析することによって、現在のビデオスライスのビデオブロックに関する予測情報を決定し、予測情報を使用して、復号される現在のビデオブロックに関する予測ブロックを作り出すように構成される。例えば、モード適用ユニット360は、受け取ったシンタックス要素のうちのいくつかを使用して、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(例えば、イントラ予測またはインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)、スライスに関する参照ピクチャリストのうちの1つまたは複数に関する構築情報、スライスのインター符号化されたビデオブロックごとの動きベクトル、スライスのインターコーディングされたビデオブロックごとのインター予測状態、および現在のビデオスライス内のビデオブロックを復号するための他の情報を決定する。同じまたは同様のことが、スライス(例えば、ビデオスライス)に加えて、またはこれに代えてタイルグループ(例えば、ビデオタイルグループ)および/またはタイル(例えば、ビデオタイル)を使用する実施形態に対して、またはこの実施形態によって適用されてもよく、例えば、ビデオは、I、PもしくはBタイルグループおよび/またはタイルを使用してコーディングされてもよい。
一実施形態では、図3に示されるようなビデオ符号器30は、スライス(ビデオスライスとも呼ばれる)を使用してピクチャを分割および/または復号するようにさらに構成されてもよく、ピクチャは、1つ以上のスライス(通常は重なり合わない)を使用して分割または復号されてもよい。各スライスは、1つ以上のブロック(例えば、CTU)またはブロックの1つ以上のグループ(例えば、H.265/HEVCおよびVVCにおけるタイル、ならびにVVCにおけるレンガ)を含み得る。
一実施形態では、図3に示されるビデオ復号器30は、スライス/タイルグループ(ビデオタイルグループとも呼ばれる)および/またはタイル(ビデオタイルとも呼ばれる)を使用してピクチャを分割および/または復号するようにさらに構成されてもよく、ピクチャは、1つ以上のスライス/タイルグループ(通常は重なり合わない)を使用して、分割または復号されてもよく、各スライス/タイルグループは、例えば、1つ以上のブロック(例えば、CTU)または1つ以上のタイルを含んでもよく、ここで各タイルは、例えば、長方形の形状であってもよく、1つ以上のブロック(例えば、CTU)、例えば、完全ブロックまたは部分ブロックを含んでもよい。
ビデオ復号器30のその他の変形例は、符号化ピクチャデータ21を復号するために使用され得る。例えば、復号器30は、ループフィルタユニット320を介さずに、出力ビデオストリームを生成することができる。例えば、非変換ベースの復号器30は、いくつかのブロックまたはフレームに関して逆変換処理ユニット312を伴うことなく残差信号を直接に逆量子化することができる。別の実施態様では、ビデオ復号器30は、単一のユニットへと組み合わされる逆量子化ユニット310および逆変換処理ユニット312を有することができる。
符号器20および復号器30では、現在のステップの処理結果がさらに処理され、次いで次のステップに出力され得ることを理解されたい。例えば、補間フィルタリング、動きベクトル導出またはループフィルタリングの後に、クリップ(clip)またはシフト(shift)などのさらなる演算が、補間フィルタリング、動きベクトル導出またはループフィルタリングの処理結果に対して実行されてもよい。
本発明の実施形態はビデオコーディングに基づいて主に記載されているが、コーディングシステム10、符号器20、および復号器30の実施形態、ならびに本明細書に記載された他の実施形態はまた、静止画の処理またはコーディング、すなわち、ビデオコーディングのように任意の先行または連続するピクチャとは無関係の個々のピクチャの処理またはコーディングのために構成されてもよいことに留意されたい。一般に、ピクチャ処理コーディングが単一のピクチャ17に限定される場合、インター予測ユニット244(符号器)および344(復号器)のみが利用可能でない場合がある。ビデオ符号器20およびビデオ復号器30の全ての他の(ツールまたは技術とも呼ばれる)機能は、静止画処理、例えば、残差計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、分割262/362、イントラ予測254/354、および/またはループフィルタリング220/320、ならびにエントロピーコーディング270およびエントロピー復号304に等しく使用されてもよい。
図4は、本発明の一実施形態による、ビデオコーディングデバイス400の概略図である。ビデオコーディングデバイス400は、本明細書に記載の開示された実施形態を実施するのに適している。一実施形態では、ビデオコーディングデバイス400は、図1Aのビデオ復号器30などの復号器、または図1Aのビデオ符号器20などの符号器であってもよい。
ビデオコーディングデバイス400は、データを受信するための入口ポート410(または入力ポート410)および受信機ユニット(receiver unit、Rx)420と、例えばプロセッサ430がニューラルネットワーク処理ユニット430であってもよい、データを処理するためのプロセッサ、論理ユニット、または例えば中央処理ユニット(central processing unit、CPU)430と、データを送信するための送信機ユニット(transmitter unit、Tx)440および出口ポート450(または出力ポート450)と、データを記憶するためのメモリ460とを備える。ビデオコーディングデバイス400はまた、光信号または電気信号の出入りのために入口ポート410、受信機ユニット420、送信機ユニット440、および出口ポート450に結合された光-電気(optical-to-electrical、OE)構成要素および電気-光(electrical-to-optical、EO)構成要素も備えていてもよい。
プロセッサ430は、ハードウェアおよびソフトウェアによって実施される。プロセッサ430は、1つまたは複数のCPUチップ、コア(例えば、マルチコアプロセッサ)、FPGA、ASIC、およびDSPとして実装され得る。プロセッサ430は、入口ポート410、受信機ユニット420、送信機ユニット440、出口ポート450、およびメモリ460と通信する。プロセッサ430は、コーディングモジュール470(例えば、ニューラルネットワークNNベースのコーディングモジュール470)を含む。コーディングモジュール470は、上述の開示された実施形態を実施する。例えば、コーディングモジュール470は、様々なコーディング演算を実装、処理、準備、または提供する。したがって、符号化/復号モジュール470を含むことは、ビデオコーディングデバイス400の機能に大幅な改善を提供し、ビデオコーディングデバイス400の異なる状態への切り替えをもたらす。あるいは、コーディングモジュール470は、メモリ460に記憶され、かつプロセッサ430によって実行される命令として実装される。
メモリ460は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを備えていてもよく、プログラムが実行のために選択されたときにそのようなプログラムを記憶し、プログラムの実行中に読み出された命令およびデータを記憶するための、オーバーフローデータ記憶デバイスとして使用されてもよい。メモリ460は、揮発性および/または不揮発性であり得、読取り専用メモリ(read-only memory、ROM)、ランダム・アクセス・メモリ(random access memory、RAM)、3値コンテントアドレッサブルメモリ(ternary content-addressable memory、TCAM)、および/またはスタティック・ランダム・アクセス・メモリ(static random-access memory、SRAM)であり得る。
図5は、例示的な実施形態による、装置500の簡略化したブロック図である。装置500は、図1Aにおける送信元デバイス12および宛先デバイス14の両方またはいずれかとして使用されてよい。
装置500内のプロセッサ502は、中央処理ユニットであってもよい。あるいは、プロセッサ502は、現在存在する、または今後開発される情報を操作または処理することができる任意の他のタイプのデバイス、または複数のデバイスとすることができる。開示の実施態様は、図示のような単一のプロセッサ、例えば、プロセッサ502を用いて実施されることができるが、2つ以上のプロセッサを使用して速度および効率における利点が達成されることができる。
一実施態様では、装置500内のメモリ504は、読出し専用メモリ(ROM)デバイスまたはランダム・アクセス・メモリ(RAM)デバイスとすることができる。任意の他の適切なタイプの記憶装置がメモリ504として使用されることができる。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコードおよびデータ506を含むことができる。メモリ504は、オペレーティングシステム508およびアプリケーションプログラム510をさらに含むことができ、アプリケーションプログラム510は、プロセッサ502が本明細書に記載の方法を実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーションプログラム510は、アプリケーション1からNを含むことができ、それらは、本明細書に記載された方法を実行するビデオコーディングアプリケーションをさらに含む。
装置500はまた、ディスプレイ518などの1つまたは複数の出力デバイスを含むことができる。ディスプレイ518は、一例では、ディスプレイとタッチ入力を検知するように動作可能なタッチセンサ式要素とを組み合わせたタッチセンサ式ディスプレイであってもよい。ディスプレイ518は、バス512を介してプロセッサ502に結合されることができる。
装置500のバス512は、ここでは単一のバスとして描かれているが、バス512は複数のバスを含むことができる。さらに、二次記憶装置は、装置500のその他の構成要素に直接結合されることができるか、またはネットワークを介してアクセスされることができ、メモリカードなどの単一の統合ユニットまたは複数のメモリカードなどの複数のユニットを備えることができる。したがって、装置500は、多種多様な形態で実装され得る。
本出願における実施形態は、ニューラルネットワークの適用に関する。理解を容易にするために、以下では、本出願の実施形態における名詞または用語について最初に説明する。名詞または用語は、本発明の内容の一部としても使用される。
(1)ニューラルネットワーク
ニューラルネットワーク(neural network、NN)は、機械学習モデルである。ニューラルネットワークは、ニューロンを含むことができる。ニューロンは、xs、および1のインターセプトを入力として使用する演算ユニットであってもよく、演算ユニットの出力は以下のようになり得る:
s=1、2、...またはnであり、nは1よりも大きい自然数であり、Wsはxsの重みであり、bはニューロンのバイアスである。fはニューロンの活性化関数(activation functions)であり、非線形特徴をニューラルネットワークに導入して、ニューロンの入力信号を出力信号に変換するために使用される。活性化関数の出力信号は、次の畳み込み層の入力として機能することができる。活性化関数は、sigmoid関数であってもよい。ニューラルネットワークは、多くの単一ニューロンを一緒に接続することによって形成されるネットワークである。具体的には、あるニューロンの出力が別のニューロンの入力であってもよい。各ニューロンの入力は、局所受容野の特徴を抽出するために前の層の局所受容野に接続され得る。局所受容野は、いくつかのニューロンを含む領域であってもよい。
(2)深層ニューラルネットワーク
深層ニューラルネットワーク(deep neural network、DNN)は多層ニューラルネットワークとも呼ばれ、複数の隠れ層を有するニューラルネットワークとして理解されてもよい。本明細書では「複数の」という言葉に特別な基準はない。DNNは異なる層の位置に基づいて分割され、DNNのニューラルネットワークは、入力層、隠れ層、および出力層の3つのタイプに分割され得る。一般に、最初の層は入力層であり、最後の層は出力層であり、中間の層は隠れ層である。層は、完全に接続されている。具体的には、第i層内の任意のニューロンは、第(i+1)層内の任意のニューロンに確実に接続されている。DNNは複雑に見えるが、DNNは各層での働きに関しては実際には複雑ではなく、線形関係式
で簡単に表され、ここで
は入力ベクトル、
は出力ベクトル、
はバイアスベクトル、Wは重み行列(係数とも呼ばれる)、そしてa()は活性化関数である。各層において、出力ベクトル
は、入力ベクトル
に対してこのような簡単な演算を行うだけで取得される。その理由は、DNNには多くの層があり、多くの係数Wおよびバイアスベクター
もあるためである。DNNにおけるこれらのパラメータの定義は以下の通りであり、それは、係数Wは一例として使用されるということである。3層DNNにおいて、第2層の4番目のニューロンから第3層の2番目のニューロンへの線形係数が
と定義されると仮定される。上付き文字3は、係数Wが位置される層を表し、下付き文字は、出力された第3層のインデックス2および入力された第2層のインデックス4に対応する。結論として、第(L-1)層のk番目のニューロンから第L層のj番目のニューロンへの係数が
と定義される。入力層にパラメータWが存在しないことに留意されたい。深層ニューラルネットワークでは、隠れ層が多いほど、ネットワークは、現実世界における複雑なケースを記述する能力が高くなる。理論的には、パラメータの多いモデルほどより複雑になり、「容量」が大きくなる。これは、モデルがより複雑な学習タスクを完了できることを示す。深層ニューラルネットワークの訓練は、重み行列を学習するプロセスであり、訓練の最終目的は、訓練された深層ニューラルネットワークの全ての層の重み行列(多くの層のベクトルWによって形成された重み行列)を取得することである。
(3)畳み込みニューラルネットワーク
畳み込みニューラルネットワーク(convolutional neural network、CNN)は、畳み込み構造を有する深層ニューラルネットワークであり、かつ深層学習(deep learning)アーキテクチャである。深層学習アーキテクチャでは、機械学習アルゴリズムに従って、異なる抽象レベルで多層学習が行われる。深層学習アーキテクチャとして、CNNは、フィードフォワード(feed-forward)の人工ニューラルネットワークである。フィードフォワードの人工ニューラルネットワークのニューロンは、入力ピクチャに応答し得る。畳み込みニューラルネットワークは、畳み込み層およびプーリング層によって構成される特徴抽出器を含む。特徴抽出器は、フィルタとみなされることができる。畳み込みプロセスは、入力ピクチャまたは畳み込み特徴平面(feature map)に対して畳み込みを行うために、訓練可能なフィルタを使用するものと考えられてもよい。
畳み込み層は、畳み込みニューラルネットワーク内にあり、入力信号に対して畳み込み処理が行われるニューロン層である。畳み込み層は、複数の畳み込み演算子を含み得る。畳み込み演算子は、カーネルとも呼ばれる。ピクチャ処理では、畳み込み演算子は、入力ピクチャ行列から特定の情報を抽出するフィルタとして機能する。畳み込み演算子は、本質的に重み行列であってもよく、重み行列は通常は事前定義される。ピクチャに対して畳み込み演算を実行するプロセスでは、ピクチャから特定の特徴を抽出するために、入力ピクチャの水平方向に1画素(またはストライド(stride)の値に応じて2画素)の粒度レベルで画素を処理するために、重み行列が通常は使用される。重み行列のサイズは、ピクチャのサイズに関連付けられていなければならない。重み行列の深度次元(depth dimension)は、入力ピクチャの深度次元と同じであることに留意されたい。畳み込み演算中は、重み行列が入力ピクチャ全体の深度まで拡張する。したがって、単一の重み行列を有する畳み込みは、単一の深度次元の畳み込み出力を生成する。しかしながら、ほとんどの場合、単一の重み行列は使用されず、その代わりに同じサイズ(行×列)の複数の重み行列、すなわち複数の同種の行列が使用される。重み行列の出力は、畳み込みピクチャの深度次元を形成するように積層される。本明細書の次元は、前述した「複数の」に基づいて決定されるものと理解されてよい。ピクチャから異なる特徴を抽出するために、異なる重み行列が使用されてもよい。例えば、ピクチャのエッジ情報を抽出するために1つの重み行列が使用され、ピクチャの特定の色を抽出するために別の重み行列が使用され、ピクチャ内の不要なノイズをぼかすために、さらに別の重み行列が使用される。複数の重み行列(行×列)のサイズは同じである。同じサイズの複数の重み行列から抽出された特徴マップのサイズもまた同じであり、次に、畳み込み演算の出力を形成するために、同じサイズの複数の抽出された特徴マップが組み合わされる。実際の用途では、これらの重み行列の重み値は、大量の訓練によって取得される必要がある。訓練によって取得された重み値を使用して形成された各重み行列が、入力ピクチャから情報を抽出するために使用されてもよく、その結果、畳み込みニューラルネットワークは正しい予測を行う。畳み込みニューラルネットワークが複数の畳み込み層を有するときは、初期の畳み込み層で大量の一般的特徴が通常は抽出される。一般的特徴は、低レベル特徴と呼ばれてもよい。畳み込みニューラルネットワークの深度が増加すると、後続の畳み込み層で抽出された特徴がより複雑になり、例えば、高レベルの意味特徴になる。高レベルの意味を有する特徴は、解決すべき問題に対して、より適用性が高い。
訓練パラメータの数は、低減されなければならないことが多い。したがって畳み込み層の後に、プーリング層が定期的に導入されることが必要な場合が多い。1つの畳み込み層の後に1つのプーリング層が続いてもよく、あるいは複数の畳み込み層の後に1つ以上のプーリング層が続いてもよい。ピクチャ処理中に、プーリング層は、ピクチャの空間サイズを低減するためにのみ使用される。プーリング層は、入力ピクチャに対してサンプリングを行って小さいサイズのピクチャを取得するために、平均プーリング演算子および/または最大プーリング演算子を含んでもよい。平均プーリング演算子は、特定の範囲内にあるピクチャ内の画素値を計算して、平均値を生成するために使用されてもよい。平均値が、平均プーリング結果として使用される。最大プーリング演算子は、特定の範囲内で最大値を有する画素を最大プーリング結果として選択するために使用され得る。加えて、畳み込み層における重み行列のサイズが、ピクチャのサイズに関連付けられている必要があることと同様に、プーリング層における演算子もまた、ピクチャのサイズに関連付けられている必要がある。プーリング層から出力される処理済のピクチャのサイズは、プーリング層に入力されたピクチャのサイズより小さくなり得る。プーリング層から出力されるピクチャ内の各サンプルは、プーリング層に入力したピクチャの対応するサブ領域の平均または最大値を表す。
畳み込み層/プーリング層で行われる処理後、畳み込みニューラルネットワークは必要な出力情報を出力する準備ができておらず、その理由は上述されたように、畳み込み層/プーリング層では特徴が抽出されるのみであり、入力ピクチャから得られるパラメータが削減されているからである。しかしながら、最終出力情報(必要なクラス情報または他の関連情報)を生成するために、畳み込みニューラルネットワークは、ニューラルネットワーク層を使用して、1つの必要なタイプ、または必要なタイプのグループの出力を生成する必要がある。したがって、ニューラルネットワーク層は、複数の隠れ層を含んでもよい。複数の隠れ層に含まれるパラメータは、特定のタスクタイプの関連される訓練データに基づいた、事前訓練によって取得されてもよい。例えば、タスクタイプは、ピクチャ認識、ピクチャ分類、および超解像ピクチャ復元を含んでもよい。
任意選択で、ニューラルネットワーク層では、複数の隠れ層の後に、畳み込みニューラルネットワーク全体の出力層が続く。出力層は、カテゴリカル交差エントロピーと同様の損失関数を有し、損失関数は、予測誤差の計算に具体的には使用される。畳み込みニューラルネットワーク全体の順伝播が完了されたら、上述した各層の重み値および偏差を更新するために逆伝播が開始されて、畳み込みニューラルネットワークの損失、ならびに出力層を使用して畳み込みニューラルネットワークによって出力された結果と、理想的な結果との間の誤差を低減する。
(4)再帰型ニューラルネットワーク
再帰型ニューラルネットワーク(recurrent neural networks、RNN)は、シーケンスデータを処理するために使用される。従来のニューラルネットワークモデルは入力層から開始して隠れ層へ、その後出力層に至り、層は完全に接続されていて、各層のノードは接続されていない。この通常のニューラルネットワークは多くの問題を解決するが、まだ対応できない問題が多い。例えば、文章内の次の単語を予測することが期待される場合、文章内の単語は独立したものではないので、先行する単語が使用される必要が通常はある。RNNが再帰型ニューラルネットワークと呼ばれる理由は、シーケンスの現在の出力が、シーケンスの以前の出力にも関連されているからである。具体的な表現形態は、ネットワークが、以前の情報を記憶して、現在の出力の計算に以前の情報を適用することである。具体的には、隠れ層のノードが接続され、隠れ層の入力は入力層の出力を含むだけでなく、前の時点での隠れ層の出力をさらに含む。理論的には、RNNは、任意の長さのシーケンスデータを処理することができる。RNNの訓練は、従来のCNNまたはDNNの訓練と同じである。誤差逆伝播アルゴリズムも使用されるが、RNNが拡張された場合は、RNNのWなどのパラメータが共有されるという相違がある。これは、前述の例で説明された従来のニューラルネットワークとは異なる。加えて、勾配降下アルゴリズムを使用する際は、各ステップにおける出力は、現在のステップのネットワークに依存するだけでなく、いくつかの以前のステップのネットワーク状態にも依存する。学習アルゴリズムは、時間的逆伝播(Back propagation Through Time、BPTT)アルゴリズムと呼ばれる。
畳み込みニューラルネットワークが使用可能なときに再帰型ニューラルネットワークがなお必要とされるのはなぜか。理由は簡単である。畳み込みニューラルネットワークでは要素が互いに独立しており、入出力もまた、「イヌ」と「ネコ」のように、独立しているという前提がある。しかしながら現実の世界では、複数の要素が互いにつながりを持っている。例えば、在庫は時間とともに変化する。別の例では、ある人は「私は旅行が好きで、いちばん好きな場所は雲南です。将来、機会があれば(_)に行きます」と言う。本明細書では、人々は、この人が「雲南」に行くと分かるはずである。なぜなら、人々は文脈から推論を行うからである。しかしながら、機械はどうやってこれを行うのだろう。ここで、RNNが登場する。RNNは、機械を人間のように記憶できるようにすることが意図されている。したがって、RNNの出力は、現在の入力情報および履歴記憶情報に依存していなければならない。
(5)損失関数
深層ニューラルネットワークを訓練するプロセスでは、深層ニューラルネットワークの出力は、実際に期待される予測値に可能な限り近いことが期待されるため、現在のネットワークの予測値と、実際に期待される目標値とが比較されてもよく、次いで、ニューラルネットワークの各層の重みベクトルが、予測値と目標値との差に基づいて更新される(当然ながら、通常は最初の更新の前に初期化処理があり、深層ニューラルネットワークの全ての層に対してパラメータが予め設定される)。例えば、ネットワークの予測値が大きい場合は、深層ニューラルネットワークが実際に期待される目標値、または実際に期待される目標値に非常に近い値を予測できるまで、予測値を下げるように重みベクトルが調整され、調整は継続的に行われる。したがって、「比較によってどのようにして予測値と目標値との差を得るか」は、予め定義される必要がある。これが、損失関数(loss function)または目的関数(objective function)である。損失関数および目的関数は、予測値と目標値との差を測定する重要な式である。損失関数が例として使用される。損失関数の出力値(loss)が大きいほど、差が大きいことを示す。したがって、深層ニューラルネットワークの訓練は、lossをできるだけ最小化するプロセスである。
(6)逆伝播アルゴリズム
訓練プロセスにおいて、畳み込みニューラルネットワークは、誤差の逆伝播(back propagation、BP)アルゴリズムに従って、初期超解像モデルにおけるパラメータの値を補正できるため、超解像モデルを復元する際の誤差損失が小さくなる。具体的には、入力信号は、出力時に誤差損失が発生するまで順方向に伝達され、誤差損失を収束させるために、逆伝播誤差損失情報に基づいて初期超解像モデルのパラメータが更新される。逆伝播アルゴリズムは、重み行列などの、最適な超解像モデルのパラメータを取得することを意図された、誤差損失を中心とした逆伝播の動きである。
(7)敵対的生成ネットワーク
敵対的生成ネットワーク(generative adversarial networks、GAN)は、深層学習モデルである。モデルは少なくとも2つのモジュールを含み、1つのモジュールは生成モデル(Generative Model)であり、もう1つのモジュールは識別モデル(Discriminative Model)である。2つのモジュールは、相互ゲーム学習を行って、より良好な出力を生成する。生成モデルおよび識別モデルは両方ともニューラルネットワークであってよく、具体的には、深層ニューラルネットワークまたは畳み込みニューラルネットワークであってもよい。GANの基本原理は以下の通りであり、一例として画像を生成するためにGANを使用し、G(Generator)およびD(Discriminator)の2つのネットワークがあると仮定される。Gは画像を生成するためのネットワークである。Gはランダムノイズzを受信し、ノイズを使用して画像を生成し、ピクチャはG(z)として示される。Dは、画像が「実像」かどうかを決定するのに使用される、識別器のネットワークである。Dの入力パラメータはxであり、xは画像を表し、出力D(x)は、xが実像である確率を表す。D(x)の値が1であれば、画像が100%実像であることを示す。D(x)の値が0であれば、画像が実像でないことを示す。敵対的生成ネットワークを訓練するプロセスでは、生成ネットワークGの目的は、識別ネットワークDを欺くために可能な限り実像に近い画像を生成することであり、識別ネットワークDの目的は、Gによって生成された画像と実像とを可能な限り区別することである。このように、GとDとの間には動的な「ゲーム」プロセス、具体的には「敵対的生成ネットワーク」における「敵対者」が存在する。最終的なゲーム結果は、理想的な状態では、Gは現実のピクチャと区別するのが困難な画像G(z)を生成でき、Dにとっては、Gによって生成された画像が実像かどうかを決定するのが困難であり、具体的には、D(G(z))=0.5である。このようにして、優れた生成モデルGが得られ、画像を生成するのに使用され得る。
図6は、本出願の一実施形態による、エントロピー符号化/復号方法の例示的なフレームワーク図である。図6に示されるように、ビデオ符号器は、ピクチャブロックのベース層情報および拡張層情報を取得するために、ピクチャブロックの元の値を処理し、かつビデオ符号器は、K個のグループの確率値を取得するためにニューラルネットワークにベース層情報を入力し、K個の要素を取得するために拡張層情報を前処理する。ビデオ符号器は、拡張層情報に対応する符号化データを取得するために、K個のグループの確率値に基づいて、K個の要素に対してエントロピー符号化を行う。ビデオ復号器は、ビットストリームからベース層情報を取得し、K個のグループの確率値を取得するためにベース層情報をニューラルネットワークに入力し、次に、K個の要素を取得するために、K個のグループの確率値に基づいて、ビットストリーム内の符号化データに対してエントロピー復号を行い、次に、拡張層情報を取得するためにK個の要素に後処理を行って、拡張層情報に基づいてピクチャブロックの復元値をさらに取得する。
図7は、本出願の一実施形態による、エントロピー符号化方法のプロセス700のフローチャートである。プロセス700は、ビデオ符号器20によって行われてもよく、具体的には、ビデオ符号器20のエントロピー符号化ユニット270によって行われてもよい。プロセス700は、一連のステップまたは操作として説明される。プロセス700のステップまたは演算は、図7に示される実行順序に限定されない様々な順序でおよび/または同時に実行されてよいことが理解されるべきである。ビデオ符号器が、複数のピクチャフレームを含むビデオデータストリームに使用されると仮定すると、エントロピー符号化を実施するために、以下のステップを含むプロセス700が実行される。プロセス700は、以下を含むことができる。
ステップ701:符号化対象ピクチャブロックのベース層情報を取得する。
ピクチャブロックは、ビデオデータストリーム内の任意の完全なピクチャフレームであってもよく、あるいはビデオデータストリーム内の任意のピクチャフレームを分割することによって取得された、任意のピクチャブロックまたはピクチャ領域であってもよい。説明を容易にするために、本出願では、ピクチャフレーム、ピクチャブロック、またはピクチャ領域は、まとめて「ピクチャブロック」と呼ばれる。ピクチャブロックと称されても、これは符号化された対象を限定するものではないことを理解されたい。
階層化コーディング技術では、符号化対象ピクチャブロックに対して、符号器は、任意の符号化方式(例えば、ハイブリッド符号化方式またはE2Eピクチャ符号化方式)でピクチャブロックをコーディングでき、取得される符号化情報はベース層情報である。符号器は、ピクチャブロックの復元値を取得するために、前述した符号化方式に対応する復号方式で、符号化された情報を復号し、次に、ピクチャブロックの元の値と復元値との差、すなわちピクチャブロックの拡張層情報を計算する。
ピクチャブロック(ピクチャブロックはN個のサンプルを含むと仮定する)のベース層情報は、ピクチャブロック内のM個のサンプルに対応し、M≦Nであることが知見され得る。これは、コーディングプロセスにダウンサンプリング処理がさらに含まれてもよいためであり、その結果、圧縮コーディングによって取得された、ベース層情報に対応するサンプルの数Mは、元のピクチャブロックに含まれるサンプルの数N未満になる。コーディングプロセスでダウンサンプリング処理が行われない場合は、ベース層情報に対応するサンプルの数Mは、元のピクチャブロックに含まれるサンプルの数Nと等しい。
可能な一実施態様では、ベース層情報は、M個のサンプルの復元値を含む。
符号器は、符号化データを取得するために、E2Eピクチャ符号化などの符号化方式でピクチャブロックを符号化してもよく、次に、符号器は、符号化方式に対応する復号方式で符号化データを復号して、ピクチャブロック内のM個のサンプルの復元値を取得する。したがって、ベース層情報は、M個のサンプルの復元値を含み得る。
可能な一実施態様では、ベース層情報は、M個のサンプルの予測値および/または残差値を含む。
符号器は、符号化データを取得するために、ハイブリッド符号化方式でピクチャブロックを符号化してもよく、次に、符号器は、ハイブリッド復号方式で符号化データを復号して、ピクチャブロック内のM個のサンプルの予測値および/または残差値を取得する。符号化および復号効率に基づいて、復号によって取得される残差値は0になり得る。残差値が0のときは、M個のサンプルの復元値、つまりM個のサンプルの予測値が取得され得る。残差値が0でないときは、M個のサンプルの復元値を取得するために、M個のサンプルの予測値と残差値とに基づいて和算が行われてもよい。したがって、ベース層情報はM個のサンプルの復元値を含み得る、あるいはM個のサンプルの予測値および/または残差値を含み得る。
可能な一実施態様では、ベース層情報は、ピクチャブロック内のM個のサンプルのDCT変換値を参照する。
M個のサンプルの残差値を取得した後で、符号器は、M個のサンプルのDCT変換値を取得するために、残差値を変換(例えば、DCT変換)してもよい。任意選択で、符号器は、M個のサンプルの元の値を直接変換して(例えば、DCT変換)、M個のサンプルのDCT変換値を取得してもよい。
ステップ702:ピクチャブロックの拡張層情報に対応するK個の要素を取得する。
ピクチャブロックの利得を補うものとして、拡張層情報は、ピクチャブロック内のN個のサンプルに対応する。本出願では、K個の要素に対し、以下のいくつかの事例および取得方法があり得る。
1.K個の要素はK個の固有値である。
符号器は、ピクチャブロック内のN個のサンプルの元の値に対して特徴抽出を行って、K個の固有値を取得し得る。これに基づき、K個の要素はK個の固有値である。
ピクチャブロックの拡張層情報は、N個のサンプルの元の値を参照し得る。したがって、拡張層情報に対応するK個の要素は、N個のサンプルの元の値に対応するK個の固有値であってもよい。
特徴抽出は、コンピュータビジョンおよびピクチャ処理における概念であり、コンピュータを使用してピクチャから特性情報を抽出する方法およびプロセスのことをいう。特徴抽出の結果は、ピクチャのサンプルを分割して異なるサブセットにすることであり、通常は孤立点、連続曲線、または連続領域に属する。図8は、本出願の一実施形態による、特徴抽出方法の一例の概略図である。図8に示されるように、拡張層情報(つまりN個のサンプルの元の値)はA×B×c行列で表され、A×Bはピクチャブロックのサイズを表し、cはピクチャブロックの色空間内の成分の数を表す。例えば、YUV色空間では、cが1であれば、3つの成分Y、U、およびVが個別に符号化される、つまり、3つの成分のそれぞれがA×B×1行列に対応することを示し、cが2であれば、3つの成分Y、U、およびVのうち任意の2つの成分が同時に符号化される、つまり、3つの成分のうち任意の2つの成分がA×B×2行列に対応することを示し、cが3であれば、3つの成分Y、U、およびVが同時に符号化される、つまり、3つの成分がA×B×3行列に対応することを示す。特徴抽出用の符号器(Encoder)は、畳み込み層(conv)および正規化層(GND)を含む。例えば、4つのconvと3つのGNDとは、符号器を形成するように交互にカスケード接続される。convのサイズは5×5×192/2であってもよく、5×5は畳み込みカーネルのサイズを表し、192は畳み込み層の深度(含まれているチャネルの数)を表し、2はダウンサンプリング係数を表す。符号器はP×Q×M行列を生成し、P×Qは特徴マップのサイズを表し、Mは特徴マップのチャネルの数を表し、行列内の要素の値は、前述したK個の固有値である。
2.K個の要素はK個の差分固有値である。
符号器は、N個のサンプルの符号化された値を取得するために、N個のサンプルの元の値に対してハイブリッド符号化を行い、N個のサンプルの復元値を取得するために、N個のサンプルの符号化された値に対してハイブリッド復号を行い、N個のサンプルの第1の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの復元値とに基づいて差分計算を行い、K個の差分固有値を取得するために、N個のサンプルの第1の差分に対して特徴抽出を行ってもよい。これに基づき、K個の要素はK個の差分固有値である。
ピクチャブロックの拡張層情報は、N個のサンプルの第1の差分を参照し得る。したがって、拡張層情報に対応するK個の要素は、N個のサンプルの第1の差分に対応するK個の差分固有値であってもよい。同様に、図8に示される符号器は、K個の差分固有値を取得するために、拡張層情報(つまりN個のサンプルの第1の差分)に対して特徴抽出を行うために使用されてもよい。
3.K個の要素はK個の変換値固有値である。
符号器は、N個のサンプルの予測値を取得し、N個のサンプルの第2の差分を取得するために、N個のサンプルの元sの値と、N個のサンプルの予測値とに基づいて差分計算を行い、N個のサンプルの変換値を取得するためにN個のサンプルの第2の差分を変換し、K個の変換値固有値を取得するために、N個のサンプルの変換値に対して特徴抽出を行ってもよい。これに基づき、K個の要素はK個の変換値固有値である。
ピクチャブロックの拡張層情報は、N個のサンプルの変換値を参照し得る。したがって、拡張層情報に対応するK個の要素は、N個のサンプルの変換値に対応するK個の変換値固有値であってもよい。同様に、図8に示される符号器は、K個の変換値固有値を取得するために、拡張層情報(つまりN個のサンプルの変換値)に対して特徴抽出を行うために使用されてもよい。
4.K個の要素は、最後の非ゼロ値の座標と、第1の値と、その他の値とを含む。
符号器は、N個のサンプルの予測値を取得し、N個のサンプルの第2の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの予測値とに基づいて差分計算を行い、N個のサンプルの変換値を取得するために、N個のサンプルの第2の差分を変換し、N個のサンプルの量子化された変換値を取得するために、N個のサンプルの変換値を量子化し、N個のサンプルの量子化された変換値から、最後の非ゼロ値の座標、N個のサンプルの量子化された変換値の第1の値、およびN個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値を抽出し得る。これに基づき、K個の要素は、最後の非ゼロ値の座標、第1の値、および第2の値と最後の非ゼロ値との間の全ての値を含む。
ピクチャブロックの拡張層情報は、N個のサンプルの量子化された変換値を参照し得る。したがって、拡張層情報に対応するK個の要素は、N個のサンプルの量子化された変換値から抽出された最後の非ゼロ値の座標(Last x,y)、N個のサンプルの量子化された変換値の第1の値(DC係数)、およびN個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値(AC係数)を含み得る。
任意選択で、符号器は、M個のサンプルの符号化された値を取得するために、ベース層情報に対応するM個のサンプルの元の値に対してハイブリッド符号化を行い、M個のサンプルの復元値を取得するために、M個のサンプルの符号化された値に対してハイブリッド復号を行い、M個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得してもよい。可能な一実施態様では、M個のサンプルの元の値に対してハイブリッド符号化が行われるときは、M個のサンプルの予測モードに関するモード情報のみが符号化され、符号化されたオブジェクトは、M個の画素の残差値を含まない。この場合、M個のサンプルの符号化された値にハイブリッド復号を行って取得されたM個のサンプルの復元値は、M個のサンプルの予測値である。
N=Mのときは、符号器は、M個のサンプルの復元値に基づいてN個のサンプルの予測値を取得してもよく、またはN>Mのときは、符号器は、N個のサンプルの復元値を取得するために、M個のサンプルの復元値に対して補間をまず行い、次に、N個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得する必要がある。
ステップ703:K個のグループの確率値を取得するために、ニューラルネットワークにベース層情報を入力する。
ニューラルネットワークは、訓練データセットに基づいて、訓練エンジンによって訓練を行うことによって取得される。ニューラルネットワークは、入力ピクチャブロックのベース層情報を処理して、K個の要素に対応するK個のグループの確率値を生成し得る。図9は、本出願の一実施形態による、ニューラルネットワークの一例の構成図である。図9に示されるように、ニューラルネットワークは、畳み込み層(conv)と活性化層(ReLU)とを含む。例えば、4つのconvと3つのReLUとは、ニューラルネットワークを形成するように交互にカスケード接続される。第1のconvのサイズは1×3×3×M/2であってもよく、1は入力ピクチャブロックのチャネルの数を表し、3×3は畳み込みカーネルのサイズを表し、Mは畳み込み層によって出力された特徴マップのチャネルの数を表し、2はダウンサンプリング係数を表す。第2のconvのサイズはM×3×3×M/2であってもよく、Mは入力ピクチャブロックのチャネルの数を表し、3×3は畳み込みカーネルのサイズを表し、Mは畳み込み層によって出力された特徴マップのチャネルの数を表し、2はダウンサンプリング係数を表す。第3のconvのサイズはM×3×3×M/2であってもよく、Mは入力ピクチャブロックのチャネルの数を表し、3×3は畳み込みカーネルのサイズを表し、Mは畳み込み層によって出力された特徴マップのチャネルの数を表し、2はダウンサンプリング係数を表す。第4のconvのサイズはM×3×3×2M/2であってもよく、Mは入力ピクチャブロックのチャネルの数を表し、3×3は畳み込みカーネルのサイズを表し、2Mは畳み込み層によって出力された特徴マップのチャネルの数を表し、2はダウンサンプリング係数を表す。
本出願のこの実施形態では、訓練データセットは、前述したK個の要素に関連付けられる。具体的には、K個の要素の物理的意味が異なれば、訓練データセットはこれに応じて変化する。
任意選択で、K個の要素が、K個の固有値、K個の差分固有値、またはK個の変換値固有値のときは、訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの元の値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含む。
任意選択で、K個の要素が、Last x、y、DC係数、およびAC係数のときは、訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの量子化された変換値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含む。
可能な一実施態様では、訓練エンジンがニューラルネットワークを訓練するプロセスは、PyTorchソフトウェアを使用して、NVIDIA V100 GPUsのニューラルネットワークを訓練することを含む。例えば、ニューラルネットワークを最適化し訓練するために適応型時点推定(adaptive moment estimation、Adam)アルゴリズムが使用され、かつニューラルネットワークの訓練データセットとしてDIV2Kデータセットが使用される。ピクチャブロックのベース層では、VVC参照ソフトウェアを使用して、ピクチャブロックに対して圧縮コーディングが行われ、ピクチャブロックの元の値と、(ピクチャブロックのベース層情報を使用して取得された)ピクチャブロックの復元値とを使用して、計算によって拡張層ピクチャブロックの残差値(すなわち拡張層情報)が取得される。符号器ネットワークは、拡張層ピクチャブロックの残差値の固有値を抽出し、ニューラルネットワークは、ベース層情報に対応する残差値に基づいて、拡張層ピクチャブロックの残差値の固有値の確率分布を推定し、復号器ネットワークは、残差値の固有値に基づいて、拡張層ピクチャブロックの残差値を復元する。符号器ネットワークと、復号器ネットワークと、エントロピー推定ニューラルネットワークとを効率的に結合するために、符号器ネットワークと、復号器ネットワークと、エントロピー推定とは一緒に訓練されてもよい。訓練の最適化目標は、エンドツーエンドのピクチャコーディングの最適化目標と同じであり、共同レート歪み(R+λD)最適化が行われる。共同レート歪み最適化の関数式は以下の通りである:
py(y)は、ニューラルネットワークによって出力されたy番目のグループの確率値を表し、Δxはピクチャブロックの残差値を表し、Δx’はピクチャブロックの残差値の復元値を表す。
可能な一実施態様では、訓練エンジンがニューラルネットワークを訓練するプロセスは、PyTorchソフトウェアを使用して、NVIDIA V100 GPUsのニューラルネットワークを訓練することを含む。例えば、ニューラルネットワークを最適化し訓練するためにAdamアルゴリズムが使用され、かつニューラルネットワークの訓練データセットとしてDIV2Kデータセットが使用される。ピクチャブロックのベース層では、VVC参照ソフトウェアを使用して、ピクチャブロックに対して圧縮コーディングが行われ、次に、ピクチャブロックの復元値を取得するために復号が行われ、ピクチャブロックの元の値と、(ピクチャブロックのベース層情報を使用して取得された)ピクチャブロックの復元値とを使用して、計算によって拡張層ピクチャブロックの残差値が取得される。符号器ネットワークは、拡張層ピクチャブロックの残差値の固有値を抽出し、ニューラルネットワークは、ベース層復元値に基づいて、拡張層ピクチャブロックの残差値の固有値の確率分布を推定する。復号器は、残差値の固有値と、ベース層復元値とに基づいて、高品質の復元値を復元する。符号器と、復号器と、ニューラルネットワークとを効率的に結合するために、符号器と、復号器と、ニューラルネットワークとは一緒に訓練されてもよい。訓練の最適化目標は、エンドツーエンドのピクチャコーディングの最適化目標と同じであり、共同レート歪み(R+λD)最適化が行われる。共同レート歪み最適化の関数式は以下の通りである:
xはピクチャブロックの元の値を表し、x’はピクチャブロックの復元値を表す。
可能な一実施態様では、訓練エンジンがニューラルネットワークを訓練するプロセスは、PyTorchソフトウェアを使用して、NVIDIA V100 GPUsのニューラルネットワークを訓練することを含む。例えば、ニューラルネットワークを最適化するためにAdamアルゴリズムが使用され、かつニューラルネットワークの訓練データセットとしてDIV2Kデータセットが使用される。ピクチャブロックのベース層では、任意のコーデックを使用して圧縮コーディングが行われ、次に、(ピクチャブロックのベース層情報を使用して取得された)ピクチャブロックの復元値を取得するために復号が行われる。ピクチャブロックの拡張層では、VVC参照ソフトウェアを使用して、ピクチャブロックに対して圧縮コーディングが行われ、ピクチャブロックの変換値が抽出される。符号器ネットワークは、拡張層ピクチャブロックの変換値の固有値を抽出し、ニューラルネットワークは、ベース層復元値の変換値に基づいて、拡張層ピクチャブロックの変換値の固有値の確率分布を推定する。復号器は、変換値の固有値に基づいて、拡張層ピクチャブロックの変換値を復元する。符号器と、復号器と、ニューラルネットワークとを効率的に結合するために、符号器と、復号器と、ニューラルネットワークとは一緒に訓練されてもよい。訓練の最適化目標は、エンドツーエンドのピクチャコーディングの最適化目標と同じであり、共同レート歪み(R+λD)最適化が行われる。共同レート歪み最適化の関数式は以下の通りである:
py(y)は、ニューラルネットワークによって出力されたy番目のグループの確率値を表し、Tはピクチャブロックの変換値を表し、T’はピクチャブロックの残差値の変換値を表す。
K個のグループの確率値は、前述したK個の要素に対応し、任意のグループの確率値は、対応する要素の複数の候補値の確率値を表す。例えば、図10は、本出願の実施形態による、K個の要素の一例の概略図である。図10に示されるように、K個の要素は、A、B、C、およびDの4つの特徴点を含み、4つの特徴点の値範囲は、全て{-2,-1,0,1,2}と仮定される。Aに対応する確率値のグループは4つの確率値を含み、4つの確率値は、Aの値範囲{-2,-1,0,1,2}内の4つの値にそれぞれ対応する。Bに対応する確率値のグループは4つの確率値を含み、4つの確率値は、Bの値範囲{-2,-1,0,1,2}内の4つの値にそれぞれ対応する。残りは類推によって推測されることができる。各特徴点(要素)は確率値のグループに対応し、確率値の各グループに含まれる確率値の数は、確率値のグループに対応する特徴点の値範囲に関連付けられることが知見され得る。
本出願では、K個のグループの確率値を取得するために、ステップ701で取得されたベース層情報がニューラルネットワークに入力される。ニューラルネットワークは、畳み込み層(conv)と活性化層(ReLU)とを含み得る。例えば、4つのconvと3つのReLUとは、ニューラルネットワークを形成するように交互にカスケード接続される。ニューラルネットワークの訓練および使用については、訓練エンジン25の関連説明を参照されたい。本明細書では詳細は繰り返されない。
可能な一実施態様では、前述したいくつかの事例における、K個の要素の一部または全部の、複数の候補値の確率がガウス分布を満たすときは、ガウス分布を満たす要素に対応する確率値のグループは、要素によって満たされるガウス分布の分散および平均を含む。言い換えると、各要素の値は離散値である。したがって、1つ以上の要素の複数の候補値の確率は、ガウス確率分布を満たす。したがって、ニューラルネットワークは、1つ以上の要素のそれぞれの、複数の候補値の確率値を表すために、1つ以上の要素のそれぞれによって満たされる、ガウス分布の分散および平均を使用してよい。
ステップ704:K個のグループの確率値に基づき、K個の要素に対してエントロピー符号化を行う。
本出願では、ニューラルネットワークによって出力されたK個のグループの確率値を使用してエントロピーコーディングが行われる。例えば、図10に示されるように、A、B、C、およびDの値範囲は、全て{-2,-1,0,1,2}である。Aの各候補値については、-2の確率値は0.1であり、-1の確率値は0.2であり、0の確率値は0.4であり、1の確率値は0.2であり、2の確率値は0.1である。Bの各候補値については、-2の確率値は0.15であり、-1の確率値は0.3であり、0の確率値は0.3であり、1の確率値は0.2であり、2の確率値は0.05である。Cの各候補値については、-2の確率値は0.05であり、-1の確率値は0.1であり、0の確率値は0.4であり、1の確率値は0.4であり、2の確率値は0.05である。Dの各候補値については、-2の確率値は0.5であり、-1の確率値は0.2であり、0の確率値は0.15であり、1の確率値は0.1であり、2の確率値は0.05である。したがって、図11は、本出願の実施形態による、算術コーディングアルゴリズムの一例の概略図である。図11に示されるように、算術コーディングアルゴリズムに基づき、確率区間[0,1]が、A、B、C、およびDのそれぞれの値に基づいて層ごとに分割され、A、B、C、およびDのそれぞれの値は、確率区間内のA、B、C、およびDに対応する区間として表される。最終的に出力される「現在の区間」の下限は、符号化された符号語になる。A、B、C、およびDの値は、全て0になると仮定される。Aの候補値の確率値に基づいて、確率区間[0,1]が、0~0.1、0.1~0.3、0.3~0.7、0.7~0.9、および0.9~1の5つの区間に分割され、値0に対応する区間は0.3~0.7である。Bの候補値の確率値に基づいて、確率区間[0.3,0.7]が、0.3~0.36、0.36~0.48、0.48~0.6、0.6~0.68、および0.68~0.7の5つの区間に分割され、値0に対応する区間は0.48~0.6である。Cの候補値の確率値に基づいて、確率区間[0.48,0.6]が、0.48~0.486、0.486~0.498、0.498~0.546、0.546~0.594、および0.594~0.6の5つの区間に分割され、値0に対応する区間は0.498~0.546である。Dの候補値の確率値に基づいて、確率区間[0.498,0.546]が、0.498~0.522、0.522~0.5316、0.5316~0.5388、0.5388~0.5436、および0.5436~0.546の5つの区間に分割され、値0に対応する区間は0.5316~0.5388である。したがって、「現在の区間」は0.5316~0.5388であり、符号化された符号語として使用される下限0.5316を有する。符号器は、ビットストリームに0.5316の固定少数点表示を書き込んでよい。
本出願では、階層化コーディング技術における拡張層とベース層との相関が完全に探索され、ベース層情報を使用して、拡張層情報に対応する複数の要素に対して確率推定が行われて高精度の確率値を得てから、確率値に基づいて複数の要素にエントロピーコーディングが行われることにより、エントロピーコーディング効率を向上させる。
図12は、本出願の一実施形態による、エントロピー復号方法のプロセス1200のフローチャートである。プロセス1200は、ビデオ復号器30によって行われてもよく、具体的には、ビデオ復号器30のエントロピー復号ユニット304によって行われてもよい。プロセス1200は、一連のステップまたは操作として説明される。プロセス1200のステップまたは演算は、図12に示される実行順序に限定されない様々な順序でおよび/または同時に実行されてよいことが理解されるべきである。ビデオ復号器が、複数のピクチャフレームに対応する符号化ビットストリームに使用されると仮定すると、エントロピー復号を実施するために、以下のステップを含むプロセス1200が行われる。プロセス1200は、以下を含むことができる。
ステップ1201:ビットストリームを取得する。
復号器は、復号器と符号器との間の通信リンクを使用して、ビットストリームを受信し得る。
ステップ1202:復号対象ピクチャブロックのベース層情報および符号化データを取得するために、ビットストリームを解析する。
復号対象ピクチャブロックに対して、復号器は、復号対象ピクチャブロックに対応するビットストリームを解析し、データからベース層情報を取得し、ベース層情報は、ピクチャブロック内のM個のサンプルに対応する。ビットストリームは、ピクチャブロックの拡張層情報に対応する符号化データをさらに含み、復号器は、データペイロードから符号化データを読み出してよく、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、N≧Mである。
ステップ1203:K個のグループの確率値を取得するために、ニューラルネットワークにベース層情報を入力する。
ステップ1203については、図7に示される実施形態のステップ703を参照されたい。本明細書では詳細は繰り返されない。
ステップ1204:K個の要素を取得するために、K個のグループの確率値に基づき、符号化データに対してエントロピー復号を行う。
K個のグループの確率値は、K個の要素に対応し、任意のグループの確率値は、対応する要素の複数の候補値の確率値を表す。例えば、図10および図11に示されるように、得られる符号化された符号語は0.5316、ならびに4つの特徴点A、B、C、およびDのそれぞれの、5つの候補値の確率値である。Aの各候補値については、0.5316が属する区間は0.3~0.7であり、この区間は値0に対応するため、Aの値は0である。Bの各候補値については、0.5316が属する区間は0.48~0.6であり、この区間は値0に対応するため、Bの値は0である。Cの各候補値については、0.5316が属する区間は0.498~0.546であり、この区間は値0に対応するため、Cの値は0である。Dの各候補値については、0.5316が属する区間は0.5316~0.5388であり、この区間は値0に対応するため、Dの値は0である。したがって、K個の要素はA、B、C、およびDの4つの特徴であり、4つの特徴の値は全て0であることが知見され得る。
ステップ1205:K個の要素に基づき、N個のサンプルの復元値を取得する。
符号器側に対応して、K個の要素はまた、複数の方式で実施されてもよく、かつK個の要素の具体的な表現オブジェクトが、符号器側および復号器側の両方によって合意されてもよく、あるいは符号器側は、K個の要素の指示情報をビットストリームに追加してビットストリームを復号器側に送信してもよく、復号器側は、ビットストリームを解析して指示情報を取得する。
1.K個の要素はK個の固有値である。
復号器は、N個のサンプルの復元値を取得するために、K個の固有値に対して逆特徴抽出を行い得る。
2.K個の要素はK個の差分固有値である。
復号器は、N個のサンプルの第1の差分を取得するために、K個の差分固有値に対して逆特徴抽出を行い、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るためにビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得し、N個のサンプルの予測値と、N個のサンプルの第1の差分とに基づいて、N個のサンプルの復元値を取得し得る。
3.K個の要素はK個の変換値固有値である。
復号器は、N個のサンプルの変換値を得るために、K個の変換値固有値に対して逆特徴抽出を行い、N個のサンプルの第2の差分を得るためにN個のサンプルの変換値を逆変換し、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るためにビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいてN個のサンプルの予測値を取得し、N個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて、N個のサンプルの復元値を取得し得る。
4.K個の要素は、N個のサンプルの変換値内の最後の非ゼロ値の座標と、第1の値と、その他の値とを含む。
復号器は、N個のサンプルの変換値を得るために、最後の非ゼロ値の座標、N個のサンプルの変換値内の第1の値、および第2の値と最後の非ゼロ値との間の全ての値とに基づいて逆量子化を行い、N個のサンプルの第2の差分を得るためにN個のサンプルの変換値を逆変換し、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るためにビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいてN個のサンプルの予測値を取得し、N個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて、N個のサンプルの復元値を取得し得る。
任意選択で、N>Mのときは、復号器は、N個のサンプルの復元値を取得するために、M個のサンプルの復元値に対して補間を行い、N個のサンプルの復元値を取得するために、N個のサンプルの復元値と、N個のサンプルの第1の差分とに基づいて和算を行ってもよい。あるいは、N=Mのときは、復号器は、N個のサンプルの復元値を取得するために、M個のサンプルの復元値とN個のサンプルの第1の差分とに基づいて和算を行ってもよい。
任意選択で、N>Mのときは、復号器は、N個のサンプルの予測値を取得するために、M個のサンプルの予測値に対して補間を行い、N個のサンプルの復元値を取得するために、N個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて和算を行ってもよく、またはN=Mのときは、復号器は、N個のサンプルの復元値を取得するために、M個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて和算を行ってもよい。
本出願のビットストリームでは、拡張層は、ピクチャブロックの拡張層情報に対応する複数の要素値のみを保持し、復号器側は、ベース層情報と、拡張層情報に対応する複数の要素複数の候補値の確率値とに基づいて、ニューラルネットワークを使用して推定する。したがって、さらに隠れ変数が符号化され送信される必要がないことにより、バイトを節約し、エントロピー復号効率を向上させる。
前述した実施形態の方法は、いくつかの特定の実施形態を用いて以下で説明される。
実施形態1
図13は、本出願による、エントロピー符号化方法の例示的なフローチャートである。図13に示されるように、xはピクチャブロックの元の値を表す。ビデオ符号器では、ベース層情報に対応する第1の符号化ビットストリームを取得するために、xが、ハイブリッド符号化のフレームワークに基づいて符号器を使用して符号化され、次に、ピクチャブロックの復元値xcを取得するために、第1の符号化ビットストリームが、ハイブリッド復号のフレームワークに基づいて復号器を使用して復号される。ビデオ符号器は、ピクチャブロックの復元値xcをニューラルネットワークに入力して、K個のグループの確率値を取得する。任意選択で、図14に示されるように、ニューラルネットワークにピクチャブロックの復元値xcを入力する前に、ビデオ符号器は、特徴抽出用の符号器2にピクチャブロックの復元値xcをまず入力し、次に、K個のグループの確率値を取得するために、ピクチャブロックの復元値xcに対応する固有値をニューラルネットワークに入力してもよい。符号器2の構造についいては、図8に示される実施形態を参照することに留意されたい。あるいは、符号器2の構造は、他の構造であってもよい。これは、この出願では特に限定されない。ビデオ符号器は、ピクチャブロックの残差値Δxを取得するために、ピクチャブロックの元の値xと、ピクチャブロックの復元値xcとに基づいて差分計算を行い、次に、ピクチャブロックの残差値に対応するK個の差分固有値y1を取得するために、ピクチャブロックの残差値Δxを特徴抽出用の符号器に入力する。ビデオ符号器は、拡張層情報に対応する第2の符号化ビットストリームを取得するために、K個のグループの確率値に基づいて、K個の差分固有値y1に対してエントロピー符号化を行う。
ビデオ復号器は、ハイブリッド復号のフレームワークに基づいた復号器を使用して、受信した第1の符号化ビットストリームを復号して、ピクチャブロックの復元値xcを取得する。ビデオ復号器は、ピクチャブロックの復元値xcをニューラルネットワークに入力して、K個のグループの確率値を取得し、次に、エントロピー符号化方式に対応するエントロピー復号方式で、K個のグループの確率値に基づいて、第2の符号化ビットストリーム内のデータを復号して、K個の差分固有値y1を取得する。ビデオ復号器は、ピクチャブロックの残差値Δx’を取得するために、符号器に対応する復号器を使用して、K個の差分固有値y1に対して逆特徴抽出を行う。ビデオ復号器は、ピクチャブロックの最終的な復元値x’を取得するために、ピクチャブロックの残差値Δx’と、ピクチャブロックの復元値xcとに対して和算を行う。
前述したエントロピー符号化方法およびエントロピー復号方法については、図7および図12の実施形態を参照されたい。本明細書では詳細は繰り返されない。
実施形態2
図15は、本出願による、エントロピー符号化方法の例示的なフローチャートである。図15に示されるように、xはピクチャブロックの元の値を表す。実施形態1との違いは、ビデオ符号器および復号器が、ニューラルネットワークにピクチャブロックの残差値Δxを入力することにある。つまり、この実施形態では、K個のグループの確率値は、ピクチャブロックの残差値Δxに基づいて取得される。
実施形態3
図16は、本出願による、エントロピー符号化方法の例示的なフローチャートである。図16に示されるように、xはピクチャブロックの元の値を表す。実施形態1との違いは、ビデオ符号器および復号器が、ピクチャブロックの残差値Δxおよびピクチャブロックの復元値xcの両方をニューラルネットワークに入力することにある。つまり、この実施形態では、K個のグループの確率値は、ピクチャブロックの残差値Δxと、ピクチャブロックの復元値xcとに基づいて取得される。
実施形態4
図17は、本出願による、エントロピー符号化方法の例示的なフローチャートである。図17に示されるように、xはピクチャブロックの元の値を表す。実施形態1との違いは、ビデオ符号器が、ピクチャブロックの元の値xを、特徴抽出用の符号器に入力して、ピクチャブロックの元の値に対応する、K個の固有値y2を取得することにある。これに対応して、ビデオ復号器は、ベース層ピクチャブロックの復元値xcをニューラルネットワークに入力して、K個のグループの確率値を取得し、エントロピー符号化方式に対応するエントロピー復号方式で第2の符号化ビットストリーム内のデータを復号してK個の固有値y2を取得し、次に、符号器に対応する復号器を使用して、K個の固有値y2に対して逆特徴抽出を行って、ピクチャブロックの復元値x’を取得する。
この実施形態では、ビデオ符号器によってニューラルネットワークに入力されるデータについては、実施形態2および実施形態3をさらに参照されたく、本明細書で再度詳細は説明されないことに留意されたい。
実施形態5
図18は、本出願による、エントロピー符号化方法の例示的なフローチャートである。図18に示されるように、xはピクチャブロックの元の値を表す。ビデオ符号器は、ピクチャブロックの量子化された元の値xdを取得するために、ピクチャブロックの元の値xにダウンサンプリングをまず行う。例えば、ピクチャブロックのサイズは256×256であり、ダウンサンプリングされたピクチャブロックの、量子化された元の値xdに対応するサイズは128×128である。ピクチャブロックの量子化された元の値xdは、ベース層情報に対応する第1の符号化ビットストリームを取得するために、ハイブリッド符号化のフレームワークに基づいて符号器を使用して符号化され、次に、ピクチャブロックの量子化された復元値xd_cを取得するために、第1の符号化ビットストリームが、ハイブリッド復号のフレームワークに基づいた復号器を使用して復号される。ビデオ符号器は、ピクチャブロックの量子化された復元値xd_cをニューラルネットワークに入力して、K個のグループの確率値を取得する。ビデオ符号器は、ピクチャブロックの量子化された復元値xd_cに基づいて、ピクチャブロックの予測値xpを取得し、次に、ピクチャブロックの第2の差分Δx2を取得するために、ピクチャブロックの元の値xと、ピクチャブロックの予測値xpとに基づいて差分計算を行う。ビデオ符号器は、ピクチャブロックの第2の差分Δx2を変換してピクチャブロックの変換値Tを取得し、ピクチャブロックの変換値Tを特徴抽出用の符号器に入力して、ピクチャブロックの変換値に対応するK個の変換値固有値y3を取得する。ビデオ符号器は、拡張層情報に対応する第2の符号化ビットストリームを取得するために、K個のグループの確率値に基づいて、K個の変換値固有値y3に対してエントロピー符号化を行う。
ビデオ復号器は、ハイブリッド復号のフレームワークに基づいた復号器を使用して、受信した第1の符号化ビットストリームを復号して、ピクチャブロックの量子化された復元値xd_cを取得する。ビデオ復号器は、ピクチャブロックの量子化された復元値xd_cをニューラルネットワークに入力して、K個のグループの確率値を取得し、次に、エントロピー符号化方式に対応するエントロピー復号方式で、K個のグループの確率値に基づいて、第2の符号化ビットストリーム内のデータを復号して、K個の変換値固有値y3を取得する。ビデオ復号器は、符号器に対応する復号器を使用して、K個の変換値固有値y3に対して逆特徴抽出を行って、ピクチャブロックの変換値T’を取得する。ビデオ復号器は、ピクチャブロックの変換値T’を逆変換して、ピクチャブロックの第2の差分Δx2’を取得する。ビデオ復号器は、ピクチャブロックの量子化された復元値xd_cに基づいて、ピクチャブロックの予測値xp’を取得する。ビデオ復号器は、ピクチャブロックの最終的な復元値x’を取得するために、ピクチャブロックの予測値xp’と、ピクチャブロックの第2の差分Δx2’とに対して和算を行う。
実施形態6
図19は、本出願による、エントロピー符号化方法の例示的なフローチャートである。図19に示されるように、xはピクチャブロックの元の値を表す。ビデオ符号器は、ベース層情報に対応する第1の符号化ビットストリームを取得するために、ハイブリッド符号化のフレームワークに基づいた符号器を使用して、ピクチャブロックの元の値xを符号化し、次に、ハイブリッド復号のフレームワークに基づいた復号器を使用して、第1の符号化ビットストリームが復号されて、ピクチャブロックの復元値xcを取得する。ビデオ符号器は、ピクチャブロックの復元値xcをニューラルネットワークに入力して、K個のグループの確率値を取得する。ビデオ符号器は、ピクチャブロックの復元値xcに基づいて、ピクチャブロックの予測値xpを取得し、次に、ピクチャブロックの第2の差分Δx2を取得するために、ピクチャブロックの元の値xと、ピクチャブロックの予測値xpとに基づいて差分計算を行う。ビデオ符号器は、ピクチャブロックの第2の差分Δx2を変換してピクチャブロックの変換値Tを取得し、次に、ピクチャブロックの変換値Tを量子化して、ピクチャブロックの量子化された変換値T’を取得する。ビデオ符号器は、ピクチャブロックの量子化された変換値T’から、最後の非ゼロ値の座標(Last x,y)、第1の値(DC係数)、および第2の値と最後の非ゼロ値との間の全ての値(AC係数)を抽出する。ビデオ符号器は、拡張層情報に対応する第2の符号化ビットストリームを取得するために、K個のグループの確率値に基づいて、Last x、y、DC係数、およびAC係数に対してエントロピー符号化を行う。
ビデオ復号器は、ハイブリッド復号のフレームワークに基づいた復号器を使用して、受信した第1の符号化ビットストリームを復号して、ピクチャブロックの復元値xcを取得する。ビデオ復号器は、ピクチャブロックの復元値xcをニューラルネットワークに入力して、K個のグループの確率値を取得し、次に、エントロピー符号化方式に対応するエントロピー復号方式で、K個のグループの確率値に基づいて、第2の符号化ビットストリーム内のデータを復号して、Last x、y、DC係数、およびAC係数を取得する。ビデオ復号器は、ピクチャブロックの変換値Tを取得するために、Last x、yと、DC係数と、AC係数とに基づいて逆量子化を行う。ビデオ復号器は、ピクチャブロックの変換値Tを逆変換して、ピクチャブロックの第2の差分Δx2’を取得する。ビデオ復号器は、ピクチャブロックの復元値xcに基づいて、ピクチャブロックの予測値xp’を取得する。ビデオ復号器は、ピクチャブロックの最終的な復元値x’を取得するために、ピクチャブロックの予測値xp’と、ピクチャブロックの第2の差分Δx2’とに対して和算を行う。
図20は、この出願の一実施形態による、エントロピー符号化装置2000の概略構造図である。エントロピー符号化装置2000は、ビデオ符号器20であってもよい。エントロピー符号化装置2000は、取得モジュール2001と、エントロピー符号化モジュール2002と、訓練モジュール2003とを備える。
取得モジュール2001は、符号化対象ピクチャブロックのベース層情報を取得するように構成され、ベース層情報は、ピクチャブロック内のM個のサンプルに対応し、Mは正の整数であり、ピクチャブロックの拡張層情報に対応するK個の要素を取得するように構成され、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、KおよびNの両方が正の整数であり、かつN≧Mであり、K個のグループの確率値を取得するために、ニューラルネットワークに前記ベース層情報を入力するように構成され、K個のグループの確率値はK個の要素に対応し、確率値のグループはいずれも、対応する要素の複数の候補値の確率を表すものであり、エントロピー符号化モジュール2002は、K個のグループの確率値に基づいて、K個の要素に対してエントロピー符号化を行うように構成される。
可能な一実施態様では、ベース層情報はM個のサンプルの復元値を含み、ベース層情報はM個のサンプルの予測値および/または残差値を含み、あるいはベース層情報は、M個のサンプルのDCT変換値を含む。
可能な一実施態様では、取得モジュール2001は、K個の固有値を取得するために、N個のサンプルの元の値に対して特徴抽出を行うように特に構成され、これに応じて、K個の要素がK個の固有値になる。
可能な一実施態様では、取得モジュール2001は、N個のサンプルの符号化された値を取得するために、N個のサンプルの元の値に対してハイブリッド符号化を行い、N個のサンプルの復元値を取得するために、N個のサンプルの符号化された値に対してハイブリッド復号を行い、N個のサンプルの第1の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの復元値とに基づいて差分計算を行い、K個の差分固有値を取得するために、N個のサンプルの第1の差分に対して特徴抽出を行うように特に構成され、これに応じて、K個の要素がK個の差分固有値になる。
可能な一実施態様では、取得モジュール2001は、N個のサンプルの予測値を取得し、N個のサンプルの第2の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの予測値とに基づいて差分計算を行い、N個のサンプルの変換値を取得するために、N個のサンプルの第2の差分を変換し、K個の変換値固有値を取得するために、N個のサンプルの変換値に対して特徴抽出を行うように特に構成され、これに応じて、K個の要素がK個の変換値固有値になる。
可能な一実施態様では、取得モジュール2001は、N個のサンプルの予測値を取得し、N個のサンプルの第2の差分を取得するために、N個のサンプルの元の値と、N個のサンプルの予測値とに基づいて差分計算を行い、N個のサンプルの変換値を取得するために、N個のサンプルの第2の差分を変換し、N個のサンプルの量子化された変換値を取得するために、N個のサンプルの変換値を量子化し、N個のサンプルの量子化された変換値からの最後の非ゼロ値の座標、第1の値、およびN個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値を抽出するように特に構成され、これに応じて、K個の要素は、非ゼロ値の座標と、第1の値と、全ての値とを含む。
可能な一実施態様では、取得モジュール2001は、M個のサンプルの符号化された値を取得するために、M個のサンプルの元の値に対してハイブリッド符号化を行い、M個のサンプルの復元値を取得するために、M個のサンプルの符号化された値に対してハイブリッド復号を行い、M個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得するように特に構成される。
可能な一実施態様では、取得モジュール2001は、N=Mのときは、M個のサンプルの復元値に基づいてN個のサンプルの予測値を取得する、またはN>Mのときは、M個のサンプルの復元値に対して補間を行って、N個のサンプルの復元値を取得し、N個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得するように特に構成される。
可能な一実施態様では、第1の要素の複数の候補値の確率がガウス分布を満たすときは、第1の要素に対応する確率値のグループが、第1の要素の複数の候補値の確率によって満たされるガウス分布の分散および平均を含み、第1の要素は、K個の要素のいずれか1つである。
可能な一実施態様では、ニューラルネットワークは畳み込み層を含み、畳み込み層の畳み込みカーネルの深度は24、32、48、64、192または384であり、畳み込み層の畳み込みカーネルのサイズは1×1、3×3、5×5、または7×7である。
可能な一実施態様では、ニューラルネットワークは、畳み込みニューラルネットワークCNN、深層ニューラルネットワークDNN、または再帰型ニューラルネットワークRNNを含む。
可能な一実施態様では、本装置は、訓練データセットを取得するように構成された訓練モジュール2003であって、訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの元の値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応する、K個のグループの確率値を含む、または訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの量子化された変換値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含み、ニューラルネットワークを取得するために、訓練データセットに基づいて訓練を行う、訓練モジュール2003をさらに備える。
この実施形態における装置は、図7に示される方法実施形態における技術的解決策を実行するために使用されてもよく、また、装置の実施原理および技術的効果は、同様であって、本明細書には記載されない。
図21はこの出願の一実施形態による、エントロピー復号装置2100の概略構造図である。エントロピー復号装置2100は、ビデオ復号器30であってもよい。エントロピー復号装置2100は、取得モジュール2101と、エントロピー復号モジュール2102とを備える。
取得モジュール2101は、ビットストリームを取得するように構成され、エントロピー復号モジュール2102は、ベース層情報、および復号対象ピクチャブロックの符号化データを取得するために、ビットストリームを解析するように構成され、ベース層情報は、ピクチャブロック内のM個のサンプルに対応し、符号化データは拡張層情報に対応し、拡張層情報は、ピクチャブロック内のN個のサンプルに対応し、MおよびNの両方が正の整数であり、かつN≧Mであり、K個のグループの確率値を得るために、ベース層情報をニューラルネットワークに入力するように構成され、K個のグループの確率値はK個の要素に対応し、確率値のいずれのグループも、対応する要素の複数の候補値の確率を表すものであり、Kは正の整数であり、K個の要素を取得するために、K個のグループの確率値に基づいて、符号化データに対してエントロピー復号を行うように構成され、K個の要素に基づいて、N個のサンプルの復元値を取得するように構成され、Nは正の整数である。
可能な一実施態様では、K個の要素がK個の固有値のときは、エントロピー復号モジュールは、N個のサンプルの復元値を取得するために、K個の固有値に対して逆特徴抽出を行うように特に構成される。
可能な一実施態様では、K個の要素がK個の差分固有値のときは、エントロピー復号モジュール2102は、N個のサンプルの第1の差分を取得するために、K個の差分固有値に対して逆特徴抽出を行い、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るために、ビットストリームを解析し、N≧Mであり、M個のサンプルの復元値と、N個のサンプルの第1の差分とに基づいて、N個のサンプルの復元値を取得するように特に構成される。
可能な一実施態様では、K個の要素がK個の変換値固有値のときは、エントロピー復号モジュール2102は、N個のサンプルの変換値を取得するために、K個の変換値固有値に対して逆特徴抽出を行い、N個のサンプルの第2の差分を取得するために、N個のサンプルの変換値を逆変換し、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るために、ビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいて、M個のサンプルの予測値を取得し、M個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて、N個のサンプルの復元値を取得するように特に構成される。
可能な一実施態様では、K個の要素が、N個のサンプルのDCT変換値の最後の非ゼロ値の座標、N個のサンプルの変換値の第1の値、およびN個のサンプルの量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値を含むときは、エントロピー復号モジュール2102が、N個のサンプルの変換値を取得するために、最後の非ゼロ値の座標と、第1の値と、全ての値とに基づいて逆量子化を行い、N個のサンプルの第2の差分を取得するために、N個のサンプルの変換値を逆変換し、ピクチャブロックのベース層情報に対応するM個のサンプルの復元値を得るために、ビットストリームを解析し、N≧Mであり、M個のサンプルの復元値に基づいて、M個のサンプルの予測値を取得し、M個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて、N個のサンプルの復元値を取得するように特に構成される。
可能な一実施態様では、エントロピー復号モジュールは、N>Mのときは、N個のサンプルの復元値を取得するために、M個のサンプルの復元値に対して補間を行い、N個のサンプルの復元値を取得するために、N個のサンプルの復元値と、N個のサンプルの第1の差分とに基づいて和算を行い、またはN=Mのときは、N個のサンプルの復元値を取得するために、M個のサンプルの復元値と、N個のサンプルの第1の差分とに基づいて和算を行うように特に構成される。
可能な一実施態様では、エントロピー復号モジュール2102は、N>Mのときは、N個のサンプルの予測値を取得するために、M個のサンプルの予測値に対して補間を行い、N個のサンプルの復元値を取得するために、N個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて和算を行い、またはN=Mのときは、N個のサンプルの復元値を取得するために、M個のサンプルの予測値と、N個のサンプルの第2の差分とに基づいて和算を行うように特に構成される。
この実施形態における装置は、図12に示される方法実施形態における技術的解決策を実行するために使用されてもよく、また、装置の実施原理および技術的効果は、同様であって、本明細書には記載されない。
実施過程では、プロセッサ内のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、前述の方法の実施形態のステップが実施され得る。プロセッサは、汎用プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)もしくは別のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理デバイス、または個別ハードウェア構成要素であってよい。汎用プロセッサはマイクロプロセッサであってもよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。本出願の実施形態で開示されている方法のステップは、ハードウェア符号化プロセッサによって行われて完遂したり、符号化プロセッサのハードウェアとソフトウェアモジュールとの組み合わせによって行われて完遂したりするように直接的に与えられてもよい。ソフトウェアモジュールはランダム・アクセス・メモリ、フラッシュメモリ、読出し専用メモリ、プログラム可能読出し専用メモリ、電気的に消去可能なプログラム可能メモリやレジスタなどの本技術における成熟技術である記憶媒体内に位置されてもよい。記憶媒体はメモリ内に配置され、プロセッサはメモリ内の情報を読み取り、プロセッサのハードウェアと共同して前述の方法のステップを完遂する。
前述の実施形態におけるメモリは、揮発性メモリまたは不揮発性メモリであってもよく、あるいは揮発性メモリと不揮発性メモリとの両方を含んでもよい。不揮発性メモリは、読み取り専用メモリ(read-only memory、ROM)、プログラム可能読み取り専用メモリ(programmable ROM、PROM)、消去可能プログラム可能読み取り専用メモリ(erasable PROM、EPROM)、電気的消去可能プログラム可能読み取り専用メモリ(electrically EPROM、EEPROM)、またはフラッシュメモリであってよい。揮発メモリは外部キャッシュとして用いられるランダム・アクセス・メモリ(random access memory,RAM)であってもよい。例の説明(ただし、限定を課さない)にわたって、多くの形態のRAMが用いられてもよく、例えば、スタティック・ランダム・アクセス・メモリ(static RAM,SRAM)、ダイナミック・ランダム・アクセス・メモリ(dynamic RAM,DRAM)、同期型ダイナミック・ランダム・アクセス・メモリ(synchronous DRAM,SDRAM)、ダブル・データ・レート同期型ダイナミック・ランダム・アクセス・メモリ(double data rate SDRAM,DDR SDRAM)、拡張同期型ダイナミック・ランダム・アクセス・メモリ(enhanced SDRAM,ESDRAM)、シンクロナス・リンク・ダイナミック・ランダム・アクセス・メモリ(synchlink DRAM,SLDRAM)やダイレクト・ラムバス・ダイナミック・ランダム・アクセス・メモリ(direct rambus RAM,DR RAM)が用いられてもよい。本明細書で説明したシステムおよび方法のメモリは、これらおよび別の適切なタイプの任意のメモリを含むが、これらに限定されないことに留意されたい。
当業者は、本明細書で開示された実施形態に記載された例と組み合わせて、ユニットおよびアルゴリズムステップが電子ハードウェアまたはコンピュータソフトウェアと電子ハードウェアとの組み合わせによって実施され得ることを認識することができる。機能がハードウェアによって実行されるのかソフトウェアによって実行されるのかは技術的解決手段の具体的な用途および設計制約条件に依存する。当業者は、異なる方法を使用して、特定の用途ごとに記載された機能を実装することができるが、その実装形態が本出願の範囲を超えると考えられるべきではない。
簡易に説明するために、前述のシステム、装置およびユニットの詳細な作動プロセスについては、前述の方法実施形態の対応するプロセスを参照することは、当業者によって明確に理解されるといえる。本明細書では詳細は繰り返されない。
本出願で提供される複数の実施形態では、開示されるシステム、装置、および方法は、別の方式で実装され得ることを理解されたい。例えば、説明された装置の実施形態は単なる一例である。例えば、ユニットへの分割は論理的な機能分割にすぎず、実際の実装では他の分割であってもよい。例えば、複数のユニットまたは構成要素は、別のシステムに組み合わされるか、または統合されてもよく、あるいは一部の特徴は、無視されるか、または実施されなくてもよい。さらに、表示または説明された相互結合、あるいは直接結合または通信接続は、いくつかのインターフェースを使用することによって実装されてもよい。装置またはユニット間の間接結合または通信接続は、電子的な形態、機械的な形態、または他の形態で実装されてもよい。
別個の部分として説明されるユニットは、物理的に別個であってもなくてもよく、ユニットとして表示される部分は、物理的ユニットであってもなくてもよく、すなわち1つの場所に配置されてもよく、または複数のネットワークユニット上に分散されてもよい。ユニットの一部または全部は、実施形態の解決策の目的を達成するために、実際の要件に基づいて選択され得る。
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、ユニットの各々は、物理的に単独で存在してもよく、または2つ以上のユニットが1つのユニットに統合されてもよい。
機能がソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用される場合、機能はコンピュータ可読記憶媒体に記憶されてもよい。そうした理解に基づき、この出願の技術的な解決策は本質的に、または従来の技術に寄与する部分は、または技術的な解決策の一部は、ソフトウェア製品の形で実装されてよい。コンピュータソフトウェア製品は、記憶媒体に記憶されるとともに、この出願の実施形態における方法のステップの全部または一部を実行するようにコンピュータ機器(パーソナルコンピュータ、サーバ、またはネットワークデバイスなど)に指示するためのいくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読み取り専用メモリ(read-only memory、ROM)、ランダム・アクセス・メモリ(random access memory、RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
前述の説明は本出願の特定の実装形態にすぎず、本出願の保護範囲を限定することは意図されていない。本出願に開示された技術的範囲内で当業者によって容易に考え出されるいかなる変形または置換も、本出願の保護範囲内にあるものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
10 ビデオコーディングシステム
12 送信元デバイス
13 通信チャネル
14 宛先デバイス
16 ピクチャソース
17 生ピクチャデータ、カラーピクチャ、モノクロピクチャ
18 プリプロセッサ、前処理ユニット
19 前処理されたピクチャデータ
20 ビデオ符号器、符号器側
21 符号化ピクチャデータ、符号化ビットストリーム
22 通信インターフェース
25 訓練エンジン
28 通信インターフェース
30 ビデオ復号器、復号器側
31 復号済ピクチャデータ
32 ポストプロセッサ、後処理ユニット
33 後処理されたピクチャデータ
34 ディスプレイデバイス
40 ビデオコーディングシステム
41 撮像デバイス
42 アンテナ
43 プロセッサ
44 メモリ
45 ディスプレイデバイス
46 処理回路、論理回路
100 ビデオ符号器
110 逆量子化ユニット
122 逆変換処理ユニット
201 入力インターフェース
203 コーディングツリーユニット、ピクチャブロック
204 残差計算ユニット
205 残差ブロック
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化変換係数、量子化残差係数
210 逆量子化ユニット
211 逆量子化係数、残差係数
212 逆変換処理ユニット
213 変換ブロック
214 復元ユニット、加算器
215 復元済ブロック
220 ループフィルタリング、ループフィルタユニット
221 フィルタリングされたブロック、フィルタリングされた復元済ブロック
230 復号済ピクチャバッファ
231 復号されたピクチャ
244 インター予測ユニット
246 インター予測ブロック
254 イントラ予測ユニット
260 モード選択ユニット
262 分割ユニット
265 イントラ予測ブロック、予測値
266 シンタックス要素
270 エントロピー符号化ユニット、エントロピーコーディング
272 出力インターフェース
304 エントロピー復号ユニット
309 復号済量子化係数
310 逆量子化ユニット
311 逆量子化係数、変換係数、復号済ピクチャ
312 逆変換処理ユニット
313 復元された残差ブロック、変換ブロック
314 復元ユニット、加算器
315 復元済ブロック
320 ループフィルタユニット、ループフィルタリング
321 フィルタリングされたブロック、復号済ビデオブロック
330 復号済ピクチャバッファ
331 復号済ピクチャ
332 出力
344 インター予測ユニット
354 イントラ予測ユニット
360 モード適用ユニット
365 予測ブロック
400 ビデオコーディングデバイス
410 入口ポート、入力ポート
420 受信機ユニット
430 プロセッサ、ニューラルネットワーク処理ユニット
440 送信機ユニット
450 出口ポート、出力ポート
460 メモリ
470 コーディングモジュール、符号化/復号モジュール
500 装置
502 プロセッサ
504 メモリ
506 データ
508 オペレーティングシステム
510 アプリケーションプログラム
512 バス
518 ディスプレイ
700 エントロピー符号化方法のプロセス
1200 エントロピー復号方法のプロセス
2000 エントロピー符号化装置
2001 取得モジュール
2002 エントロピー符号化モジュール
2003 訓練モジュール
2100 エントロピー復号装置
2101 取得モジュール
2102 エントロピー復号モジュール
本出願は、2020年9月30日に中国国家知識産権局に出願された、「ENTROPY ENCODING/DECODING METHOD AND APPARATUS」と題された中国特許出願第202011066451.7号の優先権を主張するものである。
任意選択で、符号器は、M個のサンプルの符号化された値を取得するために、ベース層情報に対応するM個のサンプルの元の値に対してハイブリッド符号化を行い、M個のサンプルの復元値を取得するために、M個のサンプルの符号化された値に対してハイブリッド復号を行い、M個のサンプルの復元値に基づいて、N個のサンプルの予測値を取得してもよい。可能な一実施態様では、M個のサンプルの元の値に対してハイブリッド符号化が行われるときは、M個のサンプルの予測モードに関するモード情報のみが符号化され、符号化されたオブジェクトは、M個のサンプルの残差値を含まない。この場合、M個のサンプルの符号化された値にハイブリッド復号を行って取得されたM個のサンプルの復元値は、M個のサンプルの予測値である。
可能な一実施態様では、訓練エンジンがニューラルネットワークを訓練するプロセスは、PyTorchソフトウェアを使用して、NVIDIA V100 GPUsのニューラルネットワークを訓練することを含む。例えば、ニューラルネットワークを最適化し訓練するために適応型時点推定(adaptive moment estimation、Adam)アルゴリズムが使用され、かつニューラルネットワークの訓練データセットとしてDIV2Kデータセットが使用される。ピクチャブロックのベース層では、VVC参照ソフトウェアを使用して、ピクチャブロックに対して圧縮コーディングが行われ、ピクチャブロックの元の値と、(ピクチャブロックのベース層情報を使用して取得された)ピクチャブロックの復元値とを使用して、計算によって拡張層ピクチャブロックの残差値(すなわち拡張層情報)が取得される。符号器ネットワークは、拡張層ピクチャブロックの残差値の固有値を抽出し、ニューラルネットワークは、ベース層情報に対応する残差値に基づいて、拡張層ピクチャブロックの残差値の固有値の確率分布を推定し、復号器ネットワークは、残差値の固有値に基づいて、拡張層ピクチャブロックの残差値を復元する。符号器ネットワークと、復号器ネットワークと、エントロピー推定ニューラルネットワークとを効率的に結合するために、符号器ネットワークと、復号器ネットワークと、エントロピー推定ニューラルネットワークとは一緒に訓練されてもよい。訓練の最適化目標は、エンドツーエンドのピクチャコーディングの最適化目標と同じであり、共同レート歪み(R+λD)最適化が行われる。共同レート歪み最適化の関数式は以下の通りである:
本出願で取得されたベース層情報は、K個のグループの確率値を取得するために、ニューラルネットワークに入力される。ニューラルネットワークは、畳み込み層(conv)と活性化層(ReLU)とを含み得る。例えば、4つのconvと3つのReLUとは、ニューラルネットワークを形成するように交互にカスケード接続される。ニューラルネットワークの訓練および使用については、訓練エンジンの関連説明を参照されたい。本明細書では詳細は繰り返されない。
K個のグループの確率値は、K個の要素に対応し、任意のグループの確率値は、対応する要素の複数の候補値の確率値を表す。例えば、図10および図11に示されるように、得られる符号化された符号語は0.5316、ならびに4つの特徴点A、B、C、およびDのそれぞれの、5つの候補値の確率値である。Aの各候補値については、0.5316が属する区間は0.3~0.7であり、この区間は値0に対応するため、Aの値は0である。Bの各候補値については、0.5316が属する区間は0.48~0.6であり、この区間は値0に対応するため、Bの値は0である。Cの各候補値については、0.5316が属する区間は0.498~0.546であり、この区間は値0に対応するため、Cの値は0である。Dの各候補値については、0.5316が属する区間は0.5316~0.5388であり、この区間は値0に対応するため、Dの値は0である。したがって、K個の要素はA、B、C、およびDの4つの特徴であり、4つの特徴の値は全て0であることが知見され得る。
第7の態様によれば、本出願は、コンピュータまたはプロセッサ上で実行されると、第1の態様および第2の態様のいずれか1つの実施態様による方法を行うプログラムコードを含む、コンピュータプログラム製品を提供する。
逆変換
逆変換処理ユニット212は、画素領域内の復元済残差ブロック213(または対応する逆量子化係数211)を取得するために、変換処理ユニット206によって適用された変換の逆変換、例えば、逆離散コサイン変換(discrete cosine transform、DCT)または逆離散サイン変換(discrete sine transform、DST)を適用するように構成される。復元済残差ブロック213はまた、変換ブロック213と呼ばれてもよい。
インター予測
可能な一実施態様では、(可能性のある)インター予測モードのセットは、利用可能な参照ピクチャ(すなわち、以前に少なくとも部分的に復号された、例えばDPB230に記憶されたピクチャ)および他のインター予測パラメータ、例えば参照ピクチャ全体または一部のみが、例えば参照ピクチャの現在ブロックの領域の周りの検索ウィンドウ領域が最もよく一致する参照ブロックを検索するために使用されるかどうか、ならびに/あるいは例えばサンプル補間、例えばハーフ/セミペル、クォーターペル、および/または1/16ペル補間が適用されるかどうかに依存する。
エントロピーコーディング
エントロピー符号化ユニット270は、例えば、ビデオ復号器30がパラメータを受信して復号に使用することができるように、例えば、符号化ビットストリーム21の形態で出力272を介して出力されることができる符号化ピクチャデータ21を取得するために、量子化残差係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素に対して、例えば、エントロピー符号化アルゴリズムまたは方式(例えば、可変長コーディング(variable length coding、VLC)方式、コンテキスト適応型VLC(context adaptive VLC、CAVLC)方式、算術コーディング方式、2値化アルゴリズム、コンテキスト適応型バイナリ算術コーディング(context adaptive binary arithmetic coding、CABAC)、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding、SBAC)、確率区間分割エントロピー(probability interval partitioning entropy、PIPE)コーディング、または別のエントロピー符号化方法または技法)またはバイパス(圧縮なし)を適用するように構成される。符号化ビットストリーム21は、ビデオ復号器30に送信されてもよいし、ビデオ復号器30による後の送信または検索のためにメモリに記憶されてもよい。
逆変換
逆変換処理ユニット312は、変換係数311とも呼ばれる逆量子化係数311を受信し、画素領域内の復元済残差ブロック313を取得するために、逆量子化係数311に変換を適用するように構成され得る。復元済残差ブロック213はまた、変換ブロック313と呼ばれてもよい。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、または概念的に同様の逆変換プロセスであってもよい。逆変換処理ユニット312は、逆量子化係数311に適用されるべき変換を決定するために、(例えば、解析および/または復号することによって、例えばエントロピー復号ユニット304によって)符号化ピクチャデータ21から変換パラメータまたは対応する情報を受信するようにさらに構成され得る。
復号器30は、ユーザに対する提示または閲覧のために、例えば出力312を介して復号済ピクチャ331を出力するように構成される。
予測
インター予測ユニット344はインター予測ユニット244(特に動き補償ユニット)と同一であってもよく、イントラ予測ユニット354はイントラ予測ユニット254と機能的に同一であってもよく、分割パラメータおよび/または予測パラメータ、または符号化ピクチャデータ21から受信したそれぞれの情報に基づいて(例えば、解析および/または復号することによって、例えばエントロピー復号ユニット304によって)分割または分割決定および予測を行う。モード適用ユニット360は、予測ブロック365を取得するために、復元済ピクチャ、ブロック、または対応するサンプル(フィルタリングされたまたはフィルタリングされていない)に基づいてブロックごとに予測(イントラまたはインター予測)を実行するように構成され得る。
一実施形態では、図3に示されるようなビデオ復号器30は、スライス(ビデオスライスとも呼ばれる)を使用してピクチャを分割および/または復号するようにさらに構成されてもよく、ピクチャは、1つ以上のスライス(通常は重なり合わない)を使用して分割または復号されてもよい。各スライスは、1つ以上のブロック(例えば、CTU)またはブロックの1つ以上のグループ(例えば、H.265/HEVCおよびVVCにおけるタイル、ならびにVVCにおけるレンガ)を含み得る。
可能な一実施態様では、訓練エンジンがニューラルネットワークを訓練するプロセスは、PyTorchソフトウェアを使用して、NVIDIA V100 GPUsのニューラルネットワークを訓練することを含む。例えば、ニューラルネットワークを最適化し訓練するために適応型時点推定(adaptive moment estimation、Adam)アルゴリズムが使用され、かつニューラルネットワークの訓練データセットとしてDIV2Kデータセットが使用される。ピクチャブロックのベース層では、VVC参照ソフトウェアを使用して、ピクチャブロックに対して圧縮コーディングが行われ、ピクチャブロックの元の値と、(ピクチャブロックのベース層情報を使用して取得された)ピクチャブロックの復元値とを使用して、計算によって拡張層ピクチャブロックの残差値(すなわち拡張層情報)が取得される。符号器ネットワークは、拡張層ピクチャブロックの残差値の固有値を抽出し、ニューラルネットワークは、ベース層情報に対応する残差値に基づいて、拡張層ピクチャブロックの残差値の固有値の確率分布を推定し、復号器ネットワークは、残差値の固有値に基づいて、拡張層ピクチャブロックの残差値を復元する。符号器ネットワークと、復号器ネットワークと、エントロピー推定ニューラルネットワークとを効率的に結合するために、符号器ネットワークと、復号器ネットワークと、エントロピー推定ニューラルネットワークとは一緒に訓練されてもよい。訓練の最適化目標は、エンドツーエンドのピクチャコーディングの最適化目標と同じであり、共同レート歪み(R+λD)最適化が行われる。共同レート歪み最適化の関数式は以下の通りである:
K個のグループの確率値は、K個の要素に対応し、任意のグループの確率値は、対応する要素の複数の候補値の確率値を表す。例えば、図10および図11に示されるように、得られる符号化された符号語は0.5316、ならびに4つの特徴点A、B、C、およびDのそれぞれの、5つの候補値の確率値である。Aの各候補値については、0.5316が属する区間は0.3~0.7であり、この区間は値0に対応するため、Aの値は0である。Bの各候補値については、0.5316が属する区間は0.48~0.6であり、この区間は値0に対応するため、Bの値は0である。Cの各候補値については、0.5316が属する区間は0.498~0.546であり、この区間は値0に対応するため、Cの値は0である。Dの各候補値については、0.5316が属する区間は0.5316~0.5388であり、この区間は値0に対応するため、Dの値は0である。したがって、K個の要素はA、B、C、およびDの4つの特徴であり、4つの特徴の値は全て0であることが知見され得る。

Claims (44)

  1. エントロピー符号化方法であって、
    符号化対象ピクチャブロックのベース層情報を取得するステップであって、前記ベース層情報は、前記ピクチャブロック内のM個のサンプルに対応し、Mは正の整数である、ステップと、
    前記ピクチャブロックの拡張層情報に対応するK個の要素を取得するステップであって、前記拡張層情報は、前記ピクチャブロック内のN個のサンプルに対応し、KおよびNの両方が正の整数であり、かつN≧Mである、ステップと、
    K個のグループの確率値を取得するために、前記ベース層情報をニューラルネットワークに入力するステップであって、前記K個のグループの確率値は前記K個の要素に対応し、確率値のいずれのグループも、対応する要素の複数の候補値の確率を表すものである、ステップと、
    前記K個のグループの確率値に基づいて、前記K個の要素に対してエントロピー符号化を行うステップと
    を含む、エントロピー符号化方法。
  2. 前記ベース層情報が、前記M個のサンプルの復元値を含み、前記ベース層情報が、前記M個のサンプルの予測値および/または残差値を含み、あるいは前記ベース層情報が、前記M個のサンプルの変換値を含む、請求項1に記載の方法。
  3. 前記ピクチャブロックの拡張層情報に対応するK個の要素を取得する前記ステップが、
    K個の固有値を取得するために、前記N個のサンプルの元の値に対して特徴抽出を行うステップを含み、
    これに応じて、前記K個の要素が前記K個の固有値になる、請求項1または2に記載の方法。
  4. 前記ピクチャブロックの拡張層情報に対応するK個の要素を取得する前記ステップが、
    前記N個のサンプルの符号化された値を取得するために、前記N個のサンプルの元の値に対してハイブリッド符号化を行うステップと、
    前記N個のサンプルの復元値を取得するために、前記N個のサンプルの符号化された値に対してハイブリッド復号を行うステップと、
    前記N個のサンプルの第1の差分を取得するために、前記N個のサンプルの前記元の値と前記N個のサンプルの前記復元値とに基づいて差分計算を行うステップと、
    K個の差分固有値を取得するために、前記N個のサンプルの前記第1の差分に特徴抽出を行うステップとを含み、
    これに応じて、前記K個の要素が前記K個の差分固有値になる、請求項1または2に記載の方法。
  5. 前記ピクチャブロックの拡張層情報に対応するK個の要素を取得する前記ステップが、
    前記N個のサンプルの予測値を取得するステップと、
    前記N個のサンプルの第2の差分を取得するために、前記N個のサンプルの元の値と、前記N個のサンプルの前記予測値とに基づいて差分計算を行うステップと、
    前記N個のサンプルの変換値を取得するために、前記N個のサンプルの前記第2の差分を変換するステップと、
    K個の変換値固有値を取得するために、前記N個のサンプルの前記変換値に特徴抽出を行うステップとを含み、
    これに応じて、前記K個の要素が前記K個の変換値固有値になる、請求項1または2に記載の方法。
  6. 前記ピクチャブロックの拡張層情報に対応するK個の要素を取得する前記ステップが、
    前記N個のサンプルの予測値を取得するステップと、
    前記N個のサンプルの第2の差分を取得するために、前記N個のサンプルの元の値と、前記N個のサンプルの前記予測値とに基づいて差分計算を行うステップと、
    前記N個のサンプルの変換値を取得するために、前記N個のサンプルの前記第2の差分を変換するステップと、
    前記N個のサンプルの量子化された変換値を取得するために、前記N個のサンプルの前記変換値を量子化するステップと、
    前記N個のサンプルの前記量子化された変換値、前記N個のサンプルの前記量子化された変換値の第1の値、および前記N個のサンプルの前記量子化された変換値の第2の値と、最後の非ゼロ値との間の全ての値から、前記最後の非ゼロ値の座標を抽出するステップとを含み、
    これに応じて、前記K個の要素が、前記最後の非ゼロ値の前記座標と、前記第1の値と、前記全ての値とを含む、請求項1または2に記載の方法。
  7. 前記N個のサンプルの前記予測値を取得する前記ステップが、
    前記M個のサンプルの符号化された値を取得するために、前記M個のサンプルの元の値に対してハイブリッド符号化を行うステップと、
    前記M個のサンプルの前記復元値を取得するために、前記M個のサンプルの前記符号化された値に対してハイブリッド復号を行うステップと、
    前記M個のサンプルの前記復元値に基づいて、前記N個のサンプルの前記予測値を取得するステップとを含む、請求項5または6に記載の方法。
  8. 前記M個のサンプルの前記復元値に基づいて、前記N個のサンプルの前記予測値を取得する前記ステップが、
    N=Mのときは、前記M個のサンプルの前記復元値に基づいて前記N個のサンプルの前記予測値を取得する、または
    N>Mのときは、前記N個のサンプルの復元値を取得するために、前記M個のサンプルの前記復元値に対して補間を行い、前記N個のサンプルの前記復元値に基づいて、前記N個のサンプルの前記予測値を取得する、請求項7に記載の方法。
  9. 第1の要素の複数の候補値の確率がガウス分布を満たすときは、前記第1の要素に対応する確率値のグループが、前記第1の要素の前記複数の候補値の前記確率によって満たされる前記ガウス分布の分散および平均を含み、前記第1の要素が、前記K個の要素のいずれか1つである、請求項3から5のいずれか一項に記載の方法。
  10. 前記ニューラルネットワークが畳み込み層を含み、前記畳み込み層の畳み込みカーネルの深度が24、32、48、64、192または384であり、前記畳み込み層の前記畳み込みカーネルのサイズが1×1、3×3、5×5、または7×7である、請求項1から9のいずれか一項に記載の方法。
  11. 前記ニューラルネットワークが、畳み込みニューラルネットワークCNN、深層ニューラルネットワークDNN、または再帰型ニューラルネットワークRNNを含む、請求項10に記載の方法。
  12. 訓練データセットを取得するステップであって、前記訓練データセットが、複数のピクチャブロックのそれぞれのM個のサンプルの元の値、および複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含む、または前記訓練データセットが、複数のピクチャブロックのそれぞれのM個のサンプルの量子化された変換値、および前記複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含む、ステップと、
    前記ニューラルネットワークを取得するために、前記訓練データセットに基づいて訓練を行う、ステップと
    をさらに含む、請求項10または11に記載の方法。
  13. エントロピー復号方法であって、
    ビットストリームを取得するステップと、
    ベース層情報、および復号対象ピクチャブロックの符号化データを取得するために、前記ビットストリームを解析するステップであって、前記ベース層情報は、前記ピクチャブロック内のM個のサンプルに対応し、前記符号化データは拡張層情報に対応し、前記拡張層情報は、前記ピクチャブロック内のN個のサンプルに対応し、MおよびNの両方が正の整数であり、かつN≧Mである、ステップと、
    K個のグループの確率値を取得するために、前記ベース層情報をニューラルネットワークに入力するステップであって、前記K個のグループの確率値はK個の要素に対応し、確率値のいずれのグループも、対応する要素の複数の候補値の確率を表すものであり、Kは正の整数である、ステップと、
    前記K個の要素を取得するために、前記K個のグループの確率値に基づいて、前記符号化データに対してエントロピー復号を行うステップと、
    前記K個の要素に基づいて、前記N個のサンプルの復元値を取得するステップであって、Nは正の整数である、ステップと
    を含む、エントロピー復号方法。
  14. 前記K個の要素がK個の固有値のときは、前記K個の要素に基づいて前記N個のサンプルの復元値を取得する前記ステップが、
    前記N個のサンプルの前記復元値を取得するために、前記K個の固有値に対して逆特徴抽出を行うステップを含む、請求項13に記載の方法。
  15. 前記K個の要素がK個の差分固有値のときは、前記K個の要素に基づいて、前記N個のサンプルの復元値を取得する前記ステップが、
    前記N個のサンプルの第1の差分を取得するために、前記K個の差分固有値に対して逆特徴抽出を行うステップと、
    前記ピクチャブロックの前記ベース層情報に対応する前記M個のサンプルの復元値を取得するために、前記ビットストリームを解析するステップであって、N≧Mである、ステップと、
    前記M個のサンプルの前記復元値と、前記N個のサンプルの前記第1の差分とに基づいて、前記N個のサンプルの前記復元値を取得するステップとを含む、請求項13に記載の方法。
  16. 前記K個の要素がK個の変換値固有値のときは、前記K個の要素に基づいて、前記N個のサンプルの復元値を取得する前記ステップが、
    前記N個のサンプルの変換値を取得するために、前記K個の変換値固有値に対して逆特徴抽出を行うステップと、
    前記N個のサンプルの第2の差分を取得するために、前記N個のサンプルの前記変換値を逆変換するステップと、
    前記ピクチャブロックの前記ベース層情報に対応する前記M個のサンプルの復元値を取得するために、前記ビットストリームを解析するステップであって、N≧Mである、ステップと、
    前記M個のサンプルの前記復元値に基づいて、前記M個のサンプルの予測値を取得するステップと、
    前記M個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて、前記N個のサンプルの前記復元値を取得するステップとを含む、請求項13に記載の方法。
  17. 前記K個の要素が、前記N個のサンプルの変換値の最後の非ゼロ値の座標、前記N個のサンプルの変換値の第1の値、および前記N個のサンプルの前記変換値の第2の値と、前記最後の非ゼロ値との間の全ての値を含むときは、前記K個の要素に基づいて、前記N個のサンプルの復元値を取得する前記ステップが、
    前記N個のサンプルの前記変換値を取得するために、前記非ゼロ値の前記座標と、前記第1の値と、前記全ての値とに基づいて逆量子化を行うステップと、
    前記N個のサンプルの第2の差分を取得するために、前記N個のサンプルの前記変換値を逆変換するステップと、
    前記ピクチャブロックの前記ベース層情報に対応する前記M個のサンプルの復元値を取得するために、前記ビットストリームを解析するステップであって、N≧Mである、ステップと、
    前記M個のサンプルの前記復元値に基づいて、前記M個のサンプルの予測値を取得するステップと、
    前記M個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて、前記N個のサンプルの前記復元値を取得するステップとを含む、請求項13に記載の方法。
  18. 前記M個のサンプルの前記復元値と、前記N個のサンプルの前記第1の差分とに基づいて、前記N個のサンプルの前記復元値を取得する前記ステップが、
    N>Mのときは、前記N個のサンプルの復元値を取得するために、前記M個のサンプルの前記復元値に対して補間を行い、かつ前記N個のサンプルの復元値を取得するために、前記N個のサンプルの前記復元値と、前記N個のサンプルの前記第1の差分とに基づいて和算を行うステップ、または
    N=Mのときは、前記N個のサンプルの復元値を取得するために、前記M個のサンプルの前記復元値と、前記N個のサンプルの前記第1の差分とに基づいて和算を行うステップを含む、請求項17に記載の方法。
  19. 前記M個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて、前記N個のサンプルの前記復元値を取得する前記ステップが、
    N>Mのときは、前記N個のサンプルの予測値を取得するために、前記M個のサンプルの前記予測値に対して補間を行い、かつ前記N個のサンプルの前記復元値を取得するために、前記N個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて和算を行うステップ、または
    N=Mのときは、前記N個のサンプルの復元値を取得するために、前記M個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて和算を行うステップを含む、請求項16または17に記載の方法。
  20. エントロピー符号化装置であって、
    取得モジュールであって、符号化対象ピクチャブロックのベース層情報を取得するように構成され、前記ベース層情報は、前記ピクチャブロック内のM個のサンプルに対応し、Mは正の整数であり、前記ピクチャブロックの拡張層情報に対応するK個の要素を取得するように構成され、前記拡張層情報は、前記ピクチャブロック内のN個のサンプルに対応し、KおよびNの両方が正の整数であり、かつN≧Mであり、K個のグループの確率値を取得するために、ニューラルネットワークに前記ベース層情報を入力するように構成され、前記K個のグループの確率値は前記K個の要素に対応し、確率値のグループはいずれも、対応する要素の複数の候補値の確率を表すものである、取得モジュールと、
    前記K個のグループの確率値に基づいて、前記K個の要素に対してエントロピー符号化を行うように構成された、エントロピー符号化モジュールと
    を備える、エントロピー符号化装置。
  21. 前記ベース層情報が、前記M個のサンプルの復元値を含み、前記ベース層情報が、前記M個のサンプルの予測値および/または残差値を含み、あるいは前記ベース層情報が、前記M個のサンプルの変換値を含む、請求項20に記載の装置。
  22. 前記取得モジュールが、K個の固有値を取得するために、前記N個のサンプルの元の値に対して特徴抽出を行うように特に構成され、これに応じて、前記K個の要素が前記K個の固有値になる、請求項20または21に記載の装置。
  23. 前記取得モジュールが、前記N個のサンプルの符号化された値を取得するために、前記N個のサンプルの元の値に対してハイブリッド符号化を行い、前記N個のサンプルの復元値を取得するために、前記N個のサンプルの前記符号化された値に対してハイブリッド復号を行い、前記N個のサンプルの第1の差分を取得するために、前記N個のサンプルの前記元の値と、前記N個のサンプルの前記復元値とに基づいて差分計算を行い、K個の差分固有値を取得するために、前記N個のサンプルの前記第1の差分に対して特徴抽出を行うように特に構成され、これに応じて、前記K個の要素が前記K個の差分固有値になる、請求項20または21に記載の装置。
  24. 前記取得モジュールが、前記N個のサンプルの予測値を取得し、前記N個のサンプルの第2の差分を取得するために、前記N個のサンプルの元の値と、前記N個のサンプルの前記予測値とに基づいて差分計算を行い、前記N個のサンプルの変換値を取得するために、前記N個のサンプルの前記第2の差分を変換し、K個の変換値固有値を取得するために、前記N個のサンプルの前記変換値に対して特徴抽出を行うように特に構成され、これに応じて、前記K個の要素が前記K個の変換値固有値になる、請求項20または21に記載の装置。
  25. 前記取得モジュールが、前記N個のサンプルの予測値を取得し、前記N個のサンプルの第2の差分を取得するために、前記N個のサンプルの元の値と、前記N個のサンプルの前記予測値とに基づいて差分計算を行い、前記N個のサンプルの変換値を取得するために、前記N個のサンプルの前記第2の差分を変換し、前記N個のサンプルの量子化された変換値を取得するために、前記N個のサンプルの前記変換値を量子化し、前記N個のサンプルの前記量子化された変換値からの最後の非ゼロ値の座標、第1の値、および前記N個のサンプルの前記量子化された変換値の第2の値と、前記最後の非ゼロ値との間の全ての値を抽出するように特に構成され、これに応じて、前記K個の要素が、前記非ゼロ値の前記座標と、前記第1の値と、前記全ての値とを含む、請求項20または21に記載の装置。
  26. 前記取得モジュールが、
    前記M個のサンプルの符号化された値を取得するために、前記M個のサンプルの元の値に対してハイブリッド符号化を行い、前記M個のサンプルの前記復元値を取得するために、前記M個のサンプルの前記符号化された値に対してハイブリッド復号を行い、前記M個のサンプルの前記復元値に基づいて、前記N個のサンプルの前記予測値を取得するように特に構成される、請求項24または25に記載の装置。
  27. 前記取得モジュールが、N=Mのときは、前記M個のサンプルの前記復元値に基づいて前記N個のサンプルの前記予測値を取得する、またはN>Mのときは、前記N個のサンプルの復元値を取得するために、前記M個のサンプルの前記復元値に対して補間を行い、前記N個のサンプルの前記復元値に基づいて、前記N個のサンプルの前記予測値を取得するように特に構成される、請求項26に記載の装置。
  28. 第1の要素の複数の候補値の確率がガウス分布を満たすときは、前記第1の要素に対応する確率値のグループが、前記第1の要素の前記複数の候補値の前記確率によって満たされる前記ガウス分布の分散および平均を含み、前記第1の要素が、前記K個の要素のいずれか1つである、請求項22から24のいずれか一項に記載の装置。
  29. 前記ニューラルネットワークが畳み込み層を含み、前記畳み込み層の畳み込みカーネルの深度が24、32、48、64、192または384であり、前記畳み込み層の前記畳み込みカーネルのサイズが1×1、3×3、5×5、または7×7である、請求項20から28のいずれか一項に記載の装置。
  30. 前記ニューラルネットワークが、畳み込みニューラルネットワークCNN、深層ニューラルネットワークDNN、または再帰型ニューラルネットワークRNNを含む、請求項29に記載の装置。
  31. 訓練モジュールであって、訓練データセットを取得するように構成され、前記訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの元の値、および前記複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応する、K個のグループの確率値を含み、または、前記訓練データセットは、複数のピクチャブロックのそれぞれのM個のサンプルの量子化された変換値、および前記複数のピクチャブロックのそれぞれのN個のサンプルにそれぞれ対応するK個のグループの確率値を含み、前記ニューラルネットワークを取得するために、前記訓練データセットに基づいて訓練を行うように構成される、訓練モジュールをさらに備える、請求項29または30に記載の装置。
  32. エントロピー復号装置であって、
    ビットストリームを取得するように構成された、取得モジュールと、
    エントロピー復号モジュールであって、ベース層情報、および復号対象ピクチャブロックの符号化データを取得するために、前記ビットストリームを解析するように構成され、前記ベース層情報は、前記ピクチャブロック内のM個のサンプルに対応し、前記符号化データは拡張層情報に対応し、前記拡張層情報は、前記ピクチャブロック内のN個のサンプルに対応し、MおよびNの両方が正の整数であり、かつN≧Mであり、K個のグループの確率値を得るために、前記ベース層情報をニューラルネットワークに入力するように構成され、前記K個のグループの確率値はK個の要素に対応し、確率値のいずれのグループも、対応する要素の複数の候補値の確率を表すものであり、Kは正の整数であり、前記K個の要素を取得するために、前記K個のグループの確率値に基づいて、前記符号化データに対してエントロピー復号を行うように構成され、前記K個の要素に基づいて、前記N個のサンプルの復元値を取得するように構成され、Nは正の整数である、エントロピー復号モジュールとを備える、エントロピー復号装置。
  33. 前記K個の要素がK個の固有値のときは、前記エントロピー復号モジュールが、前記N個のサンプルの前記復元値を取得するために、前記K個の固有値に対して逆特徴抽出を行うように特に構成される、請求項32に記載の装置。
  34. 前記K個の要素がK個の差分固有値のときは、前記エントロピー復号モジュールが、前記N個のサンプルの第1の差分を取得するために、前記K個の差分固有値に対して逆特徴抽出を行い、前記ピクチャブロックの前記ベース層情報に対応する前記M個のサンプルの復元値を得るために、前記ビットストリームを解析し、N≧Mであり、前記M個のサンプルの前記復元値と、前記N個のサンプルの前記第1の差分とに基づいて、前記N個のサンプルの前記復元値を取得するように特に構成される、請求項32に記載の装置。
  35. 前記K個の要素がK個の変換値固有値のときは、前記エントロピー復号モジュールが、前記N個のサンプルの変換値を得るために、前記K個の変換値固有値に対して逆特徴抽出を行い、前記N個のサンプルの第2の差分を得るために、前記N個のサンプルの前記変換値を逆変換し、前記ピクチャブロックの前記ベース層情報に対応する前記M個のサンプルの復元値を得るために、前記ビットストリームを解析し、N≧Mであり、前記M個のサンプルの前記復元値に基づいて、前記M個のサンプルの予測値を取得し、前記M個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて、前記N個のサンプルの前記復元値を取得するように特に構成される、請求項32に記載の装置。
  36. 前記K個の要素が、前記N個のサンプルの変換値の最後の非ゼロ値の座標、前記N個のサンプルの変換値の第1の値、および前記N個のサンプルの前記量子化された変換値の第2の値と、前記最後の非ゼロ値との間の全ての値を含むときは、前記エントロピー復号モジュールが、前記N個のサンプルの前記変換値を得るために、前記最後の非ゼロ値の前記座標と、前記第1の値と、前記全ての値とに基づいて逆量子化を行い、前記N個のサンプルの第2の差分を得るために、前記N個のサンプルの前記変換値を逆変換し、前記ピクチャブロックの前記ベース層情報に対応する前記M個のサンプルの復元値を得るために、前記ビットストリームを解析し、N≧Mであり、前記M個のサンプルの前記復元値に基づいて、前記M個のサンプルの予測値を取得し、前記M個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて、前記N個のサンプルの前記復元値を取得するように特に構成される、請求項32に記載の装置。
  37. 前記エントロピー復号モジュールが、N>Mのときは、前記N個のサンプルの復元値を取得するために、前記M個のサンプルの前記復元値に対して補間を行い、前記N個のサンプルの復元値を取得するために、前記N個のサンプルの前記復元値と、前記N個のサンプルの前記第1の差分とに基づいて和算を行い、またはN=Mのときは、前記N個のサンプルの復元値を取得するために、前記M個のサンプルの前記復元値と、前記N個のサンプルの前記第1の差分とに基づいて和算を行うように特に構成される、請求項36に記載の装置。
  38. 前記エントロピー復号モジュールが、N>Mのときは、前記N個のサンプルの予測値を取得するために、前記M個のサンプルの前記予測値に対して補間を行い、前記N個のサンプルの復元値を取得するために、前記N個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて和算を行い、またはN=Mのときは、前記N個のサンプルの復元値を取得するために、前記M個のサンプルの前記予測値と、前記N個のサンプルの前記第2の差分とに基づいて和算を行うように特に構成される、請求項35または36に記載の装置。
  39. 請求項1から12のいずれか一項に記載の方法を行うように構成された処理回路を含む、符号器。
  40. 請求項13から19のいずれか一項に記載の方法を行うように構成された処理回路を含む、復号器。
  41. コンピュータまたはプロセッサ上で実行されると、請求項のいずれか一項に記載の方法を実行するためのプログラムコードを含む、コンピュータプログラム製品。
  42. 符号器であって、
    1つ以上のプロセッサと、
    前記プロセッサに結合され、前記プロセッサによって実行されるプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記プログラムが、前記プロセッサによって実行されると、前記符号器が請求項1から12のいずれか一項に記載の方法を行うことを可能にする、非一時的コンピュータ可読記憶媒体と
    を備える、符号器。
  43. 復号器であって、
    1つ以上のプロセッサと、
    前記プロセッサに結合され、前記プロセッサによって実行されるプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記プログラムが、前記プロセッサによって実行されると、前記復号器が請求項13から19のいずれか一項に記載の方法を行うことを可能にする、非一時的コンピュータ可読記憶媒体とを備える、復号器。
  44. 非一時的コンピュータ可読記憶媒体であって、コンピュータ機器によって実行されると、請求項1から19のいずれか一項に記載の方法を行うプログラムコードを含む、非一時的コンピュータ可読記憶媒体。
JP2023519760A 2020-09-30 2021-09-26 エントロピー符号化/復号方法および装置 Pending JP2023543477A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202011066451.7 2020-09-30
CN202011066451.7A CN114339262B (zh) 2020-09-30 2020-09-30 熵编/解码方法及装置
PCT/CN2021/120639 WO2022068716A1 (zh) 2020-09-30 2021-09-26 熵编/解码方法及装置

Publications (1)

Publication Number Publication Date
JP2023543477A true JP2023543477A (ja) 2023-10-16

Family

ID=80951204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023519760A Pending JP2023543477A (ja) 2020-09-30 2021-09-26 エントロピー符号化/復号方法および装置

Country Status (5)

Country Link
US (1) US20230239516A1 (ja)
EP (1) EP4207766A4 (ja)
JP (1) JP2023543477A (ja)
CN (1) CN114339262B (ja)
WO (1) WO2022068716A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116939218A (zh) * 2022-04-08 2023-10-24 华为技术有限公司 区域增强层的编解码方法和装置
CN117412046A (zh) * 2022-07-08 2024-01-16 华为技术有限公司 一种编解码方法、装置及计算机设备
CN117440185A (zh) * 2022-07-14 2024-01-23 杭州海康威视数字技术股份有限公司 一种基于神经网络的图像解码、编码方法、装置及其设备
CN115643404A (zh) * 2022-11-16 2023-01-24 江西锦路科技开发有限公司 一种基于混合深度学习的图像处理方法、装置和系统
CN115880762B (zh) * 2023-02-21 2023-07-21 中国传媒大学 面向人机混合视觉的可伸缩人脸图像编码方法、系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100878826B1 (ko) * 2005-07-08 2009-01-14 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는방법
CN103716629B (zh) * 2012-09-29 2017-02-22 华为技术有限公司 用于图像处理的方法、装置、编码器和解码器
EP3151562B1 (en) * 2015-09-29 2020-06-17 Dolby Laboratories Licensing Corporation Feature based bitrate allocation in non-backward compatible multi-layer codec via machine learning
WO2019197715A1 (en) * 2018-04-09 2019-10-17 Nokia Technologies Oy An apparatus, a method and a computer program for running a neural network
EP3562162A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for video encoding and decoding based on neural network implementation of cabac
EP3633990B1 (en) * 2018-10-02 2021-10-27 Nokia Technologies Oy An apparatus and method for using a neural network in video coding
CN111491168A (zh) * 2019-01-29 2020-08-04 华为软件技术有限公司 视频编解码方法、解码器、编码器和相关设备
US10652581B1 (en) * 2019-02-27 2020-05-12 Google Llc Entropy coding in image and video compression using machine learning
CN110602494A (zh) * 2019-08-01 2019-12-20 杭州皮克皮克科技有限公司 基于深度学习的图像编码、解码系统及编码、解码方法
CN110545426B (zh) * 2019-08-29 2021-04-20 西安电子科技大学 基于编码损伤修复cnn的空域可分级视频编码方法

Also Published As

Publication number Publication date
CN114339262B (zh) 2023-02-14
CN114339262A (zh) 2022-04-12
US20230239516A1 (en) 2023-07-27
EP4207766A1 (en) 2023-07-05
WO2022068716A1 (zh) 2022-04-07
EP4207766A4 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
JP2023543477A (ja) エントロピー符号化/復号方法および装置
WO2020181997A1 (en) An encoder, a decoder and corresponding methods for inter prediction
WO2022063265A1 (zh) 帧间预测方法及装置
CN114125446A (zh) 图像编码方法、解码方法和装置
US20240064318A1 (en) Apparatus and method for coding pictures using a convolutional neural network
JP2023528641A (ja) チャネル間相関情報を用いた適応的画像向上
WO2022111233A1 (zh) 帧内预测模式的译码方法和装置
CN116982311A (zh) 用于学习的视频压缩的多尺度光流
US20230239500A1 (en) Intra Prediction Method and Apparatus
US20230388490A1 (en) Encoding method, decoding method, and device
CN115604485A (zh) 视频图像的解码方法及装置
WO2023011420A1 (zh) 编解码方法和装置
WO2023020320A1 (zh) 熵编解码方法和装置
KR20230129068A (ko) 확장 가능한 인코딩 및 디코딩 방법 및 장치
JP2024513693A (ja) ピクチャデータ処理ニューラルネットワークに入力される補助情報の構成可能な位置
WO2024012249A1 (zh) 包含文字的图像编解码方法和装置
US20230128496A1 (en) Motion compensation with a sparse optical flow representation
KR20220059549A (ko) 향상된 보간 필터로써 하나의 블록 행의 처리 동안 페치되는 참조 라인의 수를 감소시키는 아핀 모션 모델 제약
CN116137659A (zh) 帧间编码的块划分方法和装置
WO2023091040A1 (en) Generalized difference coder for residual coding in video compression

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230509