JP7450611B2 - 一般化された双予測および重み付き予測 - Google Patents

一般化された双予測および重み付き予測 Download PDF

Info

Publication number
JP7450611B2
JP7450611B2 JP2021515615A JP2021515615A JP7450611B2 JP 7450611 B2 JP7450611 B2 JP 7450611B2 JP 2021515615 A JP2021515615 A JP 2021515615A JP 2021515615 A JP2021515615 A JP 2021515615A JP 7450611 B2 JP7450611 B2 JP 7450611B2
Authority
JP
Japan
Prior art keywords
block
prediction
level
generalized
gbi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021515615A
Other languages
English (en)
Other versions
JPWO2020072414A5 (ja
JP2022502904A (ja
Inventor
ボルデ,フィリップ
ルリアネック,ファブリス
ポワリエ,タンギ
ラグランジュ,フィリップ ド
Original Assignee
インターデジタル ヴイシー ホールディングス, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP19305108.3A external-priority patent/EP3691271A1/en
Application filed by インターデジタル ヴイシー ホールディングス, インコーポレイテッド filed Critical インターデジタル ヴイシー ホールディングス, インコーポレイテッド
Publication of JP2022502904A publication Critical patent/JP2022502904A/ja
Publication of JPWO2020072414A5 publication Critical patent/JPWO2020072414A5/ja
Priority to JP2024032679A priority Critical patent/JP2024075598A/ja
Application granted granted Critical
Publication of JP7450611B2 publication Critical patent/JP7450611B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

1.技術分野
本実施形態のうちの少なくとも1つは、概して、ピクチャの符号化および復号のための方法およびデバイス、より具体的には、双予測を使用するピクチャの符号化および復号のための方法およびデバイスに関する。
2.背景技術
高い圧縮効率を達成するために、画像およびビデオのコード化スキームは、通常、予測および変換を用いて、ビデオコンテンツの空間的および時間的冗長性を活用する。一般に、イントラまたはインター予測は、フレーム内またはフレーム間の相関を活用するために使用され、次いで、予測誤差、予測残差、または予測子と表されることが多い、元の画像ブロックと予測された画像ブロックとの間の差は、変換され、量子化され、エントロピーコード化される。符号化中、元の画像ブロックは、通常、可能であれば四分木分割を使用してサブブロックに分割され/分けられる。ビデオを再構築するために、圧縮されたデータは、予測、変換、量子化、およびエントロピーコード化に対応する逆プロセスによって復号される。
イントラモードでは、ブロック予測は、図1の上部に示されているように、現在のスライス、タイル、またはピクチャの再構築されたサンプル(例えば、現在のブロックに隣接するサンプル)を使用して計算される。インターモードでは、ブロック予測は、図1(下部)に示すように以前に再構築された1つの参照ピクチャの少なくとも動き補償(MC)ブロックから計算される。
3.発明の概要
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを復号するための方法が提示される。この方法は、高レベルの構文要素を復号することと、高レベルの構文要素に応答するピクチャの双予測ブロックを復号することと、を含み、
高レベルの構文要素を復号することは、一般化された双予測がピクチャのブロックを復号するために適用できるかどうかを示す構文要素を復号することを含む。
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを復号するための方法が提示される。この方法は、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を復号することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、前記ブロックを復号することと、を含む。
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを復号するための方法が提示される。この方法は、高レベルの構文要素に応答する第1および第2の一般化された双予測重みを表すインデックスを復号することと、第1および第2の予測子を決定することと、復号された第1および第2の一般化された双予測重みを使用して、第1および第2の予測子を単一の予測子に結合することと、単一の予測子から双予測ブロックを再構築することと、を含み、高レベルの構文要素は、一般化された双予測がピクチャのブロックを復号するために適用できるかどうかを示す構文要素を含む。
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを復号するための方法が提示される。この方法は、高レベルの構文要素に応答する第1および第2の一般化された双予測重みを表すインデックスを復号することと、第1および第2の予測子を決定することと、第1および第2の予測子に重み付けされた予測を適用することと、復号された第1および第2の双予測の一般化された重みを使用して、第1および第2の予測子を単一の予測子に結合することと、単一の予測子から双予測ブロックを再構築することと、を含み、高レベルの構文要素は、一般化された双予測がピクチャのブロックを復号するために適用できるかどうかを示す構文要素を含む。
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを符号化するための方法が提示される。この方法は、高レベルの構文要素を取得し、符号化することと、高レベルの構文要素に応答するピクチャの双予測ブロックを符号化することと、を含み、高レベルの構文要素を符号化することは、一般化された双予測がピクチャのブロックを復号するために適用できるかどうかを示す構文要素を符号化することを含む。
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを符号化するための方法が提示される。この方法は、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を符号化することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、該ブロックを符号化することと、を含む。
少なくとも1つの実施形態の一般的な態様によれば、復号装置が提示される。復号装置は、1つ以上のプロセッサを含み、1つ以上のプロセッサは、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を復号することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、該ブロックを復号することと、を実行するように構成されている。
少なくとも1つの実施形態の一般的な態様によれば、符号化装置が提示される。符号化装置は、1つ以上のプロセッサを含み、1つ以上のプロセッサは、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を符号化することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、該ブロックを符号化することと、を実行するように構成されている。
本実施形態のうちの1つ以上は、上記の方法のいずれかの少なくとも一部に従ってビデオデータを符号化または復号するための命令が記憶されたコンピュータ可読記憶媒体も提供する。1つ以上の実施形態は、上記の符号化方法に従って生成されたビットストリームが記憶されたコンピュータ可読記憶媒体も提供する。1つ以上の実施形態は、上記の符号化方法に従って生成されたビットストリームを作成、送信、または受信するための方法および装置も提供する。1つ以上の実施形態は、上記の方法のいずれかの少なくとも一部を実行するための命令を含むコンピュータプログラム製品も提供する。
4.図面の簡単な要約
先行技術によるイントラおよびインター予測を示す。 一実施形態による、復号方法のフローチャートを示す。 一実施形態による、符号化方法のフローチャートを示す。 様々な実施形態による復号方法のフローチャートを示す。 様々な実施形態による復号方法のフローチャートを示す。 一実施形態による、ビデオエンコーダのブロック図を示す。 一実施形態による、ビデオデコーダのブロック図を示す。 様々な態様および実施形態が実施されるシステムの例のブロック図を示す。
5.発明を実施するための形態
HEVCコーディングでは、ピクチャは、通常64x64、128x128、または256x256の構成可能なサイズの正方形のCTUに分割される。CTUは、同じサイズ、すなわち、幅および高さが親ブロックサイズの半分の4つの正方形のコーディング(符号化)ユニット(CU)に分割される四分木のルートである。四分木は、親ノードを4つの子ノードに分割できるツリーであり、各ノードは、4つの子ノードに分割された別のノードの親ノードになる場合がある。HEVCでは、コーディングブロック(CB)は、1つ以上の予測ブロック(PB)に分割され、変換ブロック(TB)に分割された四分木のルートを形成する。コーディングブロック、予測ブロック、および変換ブロックに対応して、コーディング(符号化)ユニット(CU)は、予測ユニット(PU)と、変換ユニット(TU)のツリー構造セットと、を含み、PUは、すべての色成分についての予測情報を含み、TUは、各色成分の残差コーディング構文構造を含む。輝度成分のCB、PB、およびTBのサイズは、対応するCU、PU、およびTUに適用される。
最近の符号化システムでは、CTUは、コーディングユニット(CU)に分割されたコーディングツリーのルートである。コーディング(符号化)ツリーは、親ノード(通常はCUに対応)を子ノード(例えば、2つ、3つ、または4つの子ノード)に分割できるツリーであり、各ノードは、子ノードに分割された別のノードの親ノードになる場合がある。四分木分割モードに加えて、可能な分割モードの総数を増やす新しい分割モード(バイナリツリー対称分割モード、バイナリツリー非対称分割モード、およびトリプルツリー分割モード)も定義される。コーディングツリーは、一意のルートノード、例えば、CTU、を有する。コーディングツリーのリーフは、ツリーの終了ノードである。コーディングツリーの各ノードはCUを表し、CUは、サブCUまたはより一般的にはサブブロックとも呼ばれるより小さなCUにさらに分割され得る。CTUのCUへの分割が決定されると、コーディングツリーのリーフに対応するCUが符号化される。CTUのCUへの分割、および各CUを符号化するために使用されるコーディングパラメータ(コーディングツリーのリーフに対応する)は、レート歪み最適化手順を介してエンコーダ側で決定され得る。
本出願では、「ブロック」または「ピクチャブロック」という用語は、CTU、CU、PU、TU、CB、PB、およびTBのいずれか1つを指すために使用することができる。さらに、「ブロック」または「ピクチャブロック」という用語は、H.264/AVCまたは他のビデオコーディング規格において規定されているマクロブロック、パーティション、およびサブブロックを指すために使用され得、より一般的には、様々なサイズのサンプルのアレイを指すために使用され得る。
本出願では、「再構築された」および「復号された」という用語は互換的に使用され得、「ピクセル」および「サンプル」という用語は互換的に使用され得、「画像」、「ピクチャ」、「フレーム」、「タイル」、および「スライス」という用語は互換的に使用され得る。必須ではないが、通常は、「再構築された」という用語は、エンコーダ側において使用される一方で「復号された」は、デコーダ側において使用される。
インターモードでは、双予測は、現在のブロックを予測するために2つの参照ブロックを平均化することを含む。一般化された双予測(GBI)は、従来の双予測の変形であり、双予測の重みをCUレベルで送信することができる。したがって、GBIは、従来の双予測で使用される(1/2;1/2)とは異なる重みでブロック予測サンプルの合計に重み付けすることを含む。したがって、重みは、テーブルによって定義され得る。一例として、重みのテーブルのエントリ、またはより一般的には、定義された重みのセットを指すインデックスは、ブロックが双予測モードでコード化される場合、ブロックごとに符号化され得る。GBIは、単方向コーディングモードでは適合しない。
重み付き予測(WP)は、復号されたピクチャバッファ(DPB)内の各参照ピクチャのスライスごとの重みおよびオフセットを定義することを含む。WPは、ブロック予測に適用される。重みは、1つのスライス内のすべての参照に対して固定されている。WPは、単方向予測または双予測の両方の場合に適用できる。
双予測
双予測では、2つの予測ブロック(PredおよびPred)は、それぞれ、リストL0およびL1から2つの参照ピクチャを使用して計算される。Predを計算するために使用される参照ピクチャは、参照インデックスrefを有し、Predを計算するために使用される参照ピクチャは、参照インデックスrefを有する。
次いで、予測子PredおよびPredは、単一予測子Predbiに結合される。従来から、(式1)のような結合は、2つの予測の平均を含む。
Predbi=(1/2*Pred[x]+1/2*Pred[x]) (1)
変形では、実装形態は、次のように整数およびシフト演算を使用するように適合される。
Predbi=(Pred[x]+Pred[x]+1)>>1 (2)
ここで、>>は、右シフト演算子である。
一般化された双予測
一般化された双予測(GBI)では、結合に使用される重み(w0およびw1)は、必ずしも1に等しいとは限らない。
Predbi=(w.Pred[x]+w.Pred[x]+off)/(w0+) (3)
変形では、(2)は、実装を容易にするために次のように簡略化されている(整数およびシフト演算を使用)。
Predgbi=(gw.Pred[x]+gw.Pred[x]+(1<<(gs-1)))>>gs (4)
ここで、<<は、左シフト演算子である。
重みw0およびw1は、異なる場合がある。一例として、w0はwに等しく、w1は(1-w)に等しくなり得、重み値wは、表1にリストされている。重み値に対応するインデックスgbi_indexは、各ブロックのビットストリームに符号化され得る。構文要素gbi_indexは、w1(w0は、w0=1-w1のようにw1から推論されるか、または整数およびシフト演算を使用して同等に推論される)について、例えば、表1で指定されているように、固定二値化を使用してコード化される。
構文要素gbi_indexは、インター双予測でコード化されたブロック/CUごとにコード化/復号され得る。一部の特定のモード(例えば、マージモード)では、現在のブロックのgbi_indexの値は、現在のCUがパラメータを継承する隣接(より正確にはマージ候補の1つ)のgbi_indexの値から推測され得る。
重み付き単方向予測と重み付き双予測
重みは、「重み付き予測」(WP)ツールとしても知られるグローバルイルミネーション補償から決定されてもよい。この場合、重みは、エンコーダによって決定され、スライス全体に対して固定される。それらは、ビットストリームで送信され得る。
WPによって、復号されたピクチャバッファ(DPB)に記憶された各リスト(L0およびL1)の各参照ピクチャ「i」の各成分に関連付けられたスライスごとの重みおよびオフセット(w;off)を定義することができる。次いで、WPがブロック予測に適用され得る。重みおよびオフセットは、スライスヘッダーにコード化される。WPは、単方向予測(式5)と双予測(式6)の両方の場合に適用できる。現在のCUがリストL0の参照refIdx0を使用した単方向予測を使用してコード化/復号される場合、(w0;off0)はrefIdx0に関連付けられた重みおよびオフセットを表す。予測子は、次のように決定される。
Pred’=((w.Pred[x]+(1<<(shift-1)))>>shift)+off(5)
現在のCUがリストL0の参照refIdx0およびリストL1のrefIdx1を使用した双予測を使用してコード化/復号される場合、(w0;off0)はrefIdx0に関連付けられた重みおよびオフセットを示し、(w1;off1)はrefIdx1に関連付けられた重みおよびオフセットを表す。予測子は、次のように決定される。
Pred’01=((w.Pred[x]+w.Pred[x]+off01)>>(shift+1) (6)
ここで、off 01=(off+off+1)<<shift
ここで、shiftも、ビットストリームで送信される。
GBIおよびWPはいずれも、重みを使用した線形重み付けによって予測サンプルを変更するため、同様の基本原則を有している。
少なくとも1つの実施形態は、これら2つのツールをコーデック内で適切に共存させることを提案する。
図2は、特定の非限定的な実施形態による、ビットストリームから双予測されたCU/ブロックを復号するための方法のフローチャートを表す。
この方法は、ステップS310で開始する。高レベル構文(HLS)要素が復号される(S320)。ビットストリームの構造を記述する、または複数のピクチャもしくはピクチャ内の複数のコード化されたブロック領域、例えばパラメータセットなど、に適用される情報を提供する構文要素は、HEVCの「高レベル構文」部分として知られている。HLSの例としては、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、タイルヘッダー、またはスライスヘッダー(SH)がある。一実施形態では、フラグweighted_pred_flagおよびweighted_bipred_flagが復号される(S320)。これらは、WPを使用して後続のスライスのCUを復号できるかどうかを示す。同様に、追加のフラグのgeneralized_bi_prediction_flagおよびgbi_enabled_flagが復号され得る(S320)。一例として、generalized_bi_prediction_flagはPPSから復号され、gbi_enabled_flagはSHから復号され得る。これらは、GBIが後続のスライスのCUに適用できるかどうかを示す。PPSおよびSH構文の例が、表2および表3に提案されている。
S360では、GBIパラメータが復号される。一実施形態では、GBIパラメータ(例えば、gbi_index)は、CUレベルで復号され得る。
別の実施形態では、追加条件cond_gbi()(S350)をコーディングユニット(CU)レベルで指定することができる。cond_gbi()は、gbi_indexが明示的にコーディングされているかどうかを示すブール値を返すCUパラメータの関数である。例えば、CUがマージモードでコード化されている場合、cond_gbi()はfalseである。
cond_gbi()がtrueである場合(すなわち、GBIパラメータがビットストリームに存在する)、方法は、S360に続き、GBIパラメータを復号する。そうでない場合(cond_gbi()がfalse)、方法は、S370に続く。
予測子P0およびP1(S370)が決定される。予測子P0は、第1の参照画像内の第1の参照ブロックを動き補償することによって取得される。予測子P1は、第2の参照画像内の第2の参照ブロックを動き補償することによって取得される。動き補償に使用される動きベクトルは、ビットストリームから復号される。
GBIが適用可能な場合、方法は、S380に続く。2つの予測子P0およびP1は、GBIパラメータ、すなわち、gbi_indexによって決定された重みを使用して、単一の予測子に結合される(S380)。
GBIが適用できない場合、2つの予測子は、デフォルトの重みを使用して単一の予測子に結合される(例えば、従来の双予測)。
S390で、CUが再構築される。この目的のために、S330でまだ復号されていない場合、残差がビットストリームから復号される。残差は、再構築されたCUを取得するために予測子に追加される。
方法は、ステップS395で終了する。
変形では、重み付き予測も適合する場合がある。WPが双予測に適合する場合(S420)(例えば、weighted_bipred_flagがtrue)、方法は、S430に続く。そうでない場合、方法は、S380に続く。
S430では、WPが予測子P0およびP1に適用され、すなわち、P0およびP1は、WPの重みおよびオフセットを使用して重み付けされる。
GBIが適用可能な場合、方法は、S380に続く。WP後の2つの予測子P0およびP1は、GBIパラメータ、すなわち、gbi_indexによって決定された重みを使用して、単一の予測子に結合される(S380)。
図3は、特定の非限定的な実施形態による、ビットストリームから双予測されたCU/ブロックを符号化するための方法のフローチャートを表す。
この方法は、ステップS510で開始する。高レベル構文(HLS)要素が取得され、符号化される(S520)。HLSの例としては、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、タイルヘッダー、またはスライスヘッダー(SH)がある。一実施形態では、フラグweighted_pred_flagおよびweighted_bipred_flagが取得され、符号化される(S520)。これらは、WPを使用して後続のスライスのCUを符号化できるかどうかを示す。同様に、追加のフラグgeneralized_bi_prediction_flagおよびgbi_enabled_flagが取得され、符号化され得る(S520)。一例として、generalized_bi_prediction_flagはPPSに符号化され、gbi_enabled_flagはSHに符号化され得る。これらは、GBIが後続のスライスのCUに適用できるかどうかを示す。PPSおよびSH構文の例が、表2および表3に提案されている。GBIおよびWPを適用するかどうかの選択、重みおよびオフセット値の決定は、レート歪みの最適化によって行われ得る。
S560では、GBIパラメータが符号化される。一実施形態では、GBIパラメータ(例えば、gbi_index)は、CUレベルで符号化され得る。
別の実施形態では、追加条件cond_gbi()(S550)をコーディングユニット(CU)レベルで指定することができる。cond_gbi()は、gbi_indexが明示的にコーディングされているかどうかを示すブール値を返すCUパラメータの関数である。
cond_gbi()がtrueである場合(すなわち、GBIパラメータがビットストリームに存在する)、方法は、S560に続き、GBIパラメータを符号化する。そうでない場合(cond_gbi()がfalse)、方法は、S570に続く。
予測子P0およびP1(S570)が決定される。予測子P0は、第1の参照画像内の第1の参照ブロックを動き補償することによって取得される。予測子P1は、第2の参照画像内の第2の参照ブロックを動き補償することによって取得される。動き補償に使用される動きベクトルは、動き推定によって取得され、ビットストリームに符号化される。GBIが適用可能な場合、方法は、S580に続く。
2つの予測子P0およびP1は、GBIパラメータ、すなわち、gbi_indexによって決定された重みを使用して、単一の予測子に結合される(S580)。GBIが適用できない場合、2つの予測子は、デフォルトの重みを使用して単一の予測子に結合される(例えば、従来の双予測)。
S590で、CUが符号化される。この目的のために、残差は、ビットストリームで符号化(変換、量子化、エントロピーコード化)される。残差は、CUから予測子を差し引くことによって取得される。
方法は、ステップS595で終了する。
変形では、重み付き予測も適合する場合がある。WPが双予測に適合する場合(S520)(例えば、weighted_bipred_flagがtrue)、方法は、S530に続く。そうでない場合、方法は、S580に続く。
S530では、WPが予測子P0およびP1に適用され、すなわち、P0およびP1は、WPの重みおよびオフセットを使用して重み付けされる。
GBIが適用可能な場合、方法は、S580に続く。WP後の2つの予測子P0およびP1は、GBIパラメータ、すなわち、gbi_indexについて決定された重みを使用して、単一の予測子に結合される(S580)。
図4は、特定の非限定的な実施形態による、ビットストリームからのCU/ブロックを復号するための方法のフローチャートを表す。
この方法は、ステップS310で開始する。高レベル構文(HLS)要素が復号される(S320)。HLSの例としては、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、タイルヘッダー、またはスライスヘッダー(SH)がある。一実施形態では、フラグweighted_pred_flagおよびweighted_bipred_flagが復号される(S320)。これらは、WPを使用して後続のスライスのCUを復号できるかどうかを示す。同様に、追加のフラグのgeneralized_bi_prediction_flagおよびgbi_enabled_flagが復号され得る(S320)。一例として、generalized_bi_prediction_flagはPPSから復号され、gbi_enabled_flagはSHから復号され得る。これらは、GBIが後続のスライスのCUに適用できるかどうかを示す。PPSおよびSH構文の例が、表2および表3に提案されている。
次いで、現在のCUのパラメータ(コーディングモード、動きベクトルなど)が復号される(S330)。一実施形態では、現在のCUに関連付けられたすべてのパラメータが復号される。変形では、それらのサブセット(例えば、現在のCUが双予測されているかどうかを示すパラメータ)のみが復号される。
CUが双予測されている場合(S340)、方法は、S350(S350が存在する場合)またはS360(S350が存在しない場合)に続く。そうでない場合、方法は、S372に続く。単方向予測(S372)の場合、単一の予測子P0が決定される。
S360では、GBIパラメータが復号される。一実施形態では、GBIパラメータ(例えば、gbi_index)は、表4および表5に開示されるように、CUレベルで復号され得る。GBIパラメータのセットは、decode_gbi_info()によって復号される。条件によっては、可能な重みmax_gbi_indexの数(すなわち、gbi_indexの最大値)が減少する場合がある。したがって、max_gbi_indexは、decode_gbi_info()によって復号されたパラメータでもあり得る。別の例では、max_gbi_indexは、現在のPOC(ピクチャ順序カウント)および参照POCの関数である。
別の実施形態では、使用するgbi_indexのテーブルは、現在のPOCなど他のCUパラメータから推測される。
別の実施形態では、追加の条件cond_gbi()(S350)をコーディングユニット(CU)レベルで指定することができる。したがって、表3は表5に置き換えられる。cond_gbi()は、gbi_indexが明示的にコーディングされているかどうかを示すブール値を返すCUパラメータの関数である。実際、gbi_indexなどのGBIパラメータは、例えばマージモードの場合のように、明示的にコーディングされるか、または推測され得る。GBIは、cond_gbi()(表6)によって無効にすることもできる。例えば、cond_gbi()は、小さなブロック(サンプル数<256)のGBI(gbi_enabled_flagをfalseに設定)を無効にし得る。この場合、重みは、従来の双予測(S385)で使用されるデフォルトの重みに設定され得る。マージモードの場合、cond_gbi()はfalseを返し、gbi_indexは、1つの隣接CU、すなわち、選択されたマージ候補のgbi_indexから決定される。
cond_gbi()がtrueである場合(すなわち、GBIパラメータがビットストリームに存在する)、方法は、S360で続き、GBIパラメータを復号する。そうでない場合(cond_gbi()がfalse)、方法は、S370に続く。
予測子P0およびP1(S370)が決定される。予測子P0は、第1の参照画像内の第1の参照ブロックを動き補償することによって取得される。予測子P1は、第2の参照画像内の第2の参照ブロックを動き補償することによって取得される。動き補償に使用される動きベクトルは、ビットストリームから復号される(S330)。GBIが適用可能な場合(S375)、方法は、S380に続く。
2つの予測子P0およびP1は、GBIパラメータ、すなわち、gbi_indexによって決定された重みを使用して、単一の予測子に結合される(S380)。
GBIが適合しない場合(S375)、方法は、S385に続く。
2つの予測子は、デフォルトの重みを使用して単一の予測子(S385)に結合される(例えば、従来の双予測など)。
S390で、CUが再構築される。この目的のために、S330でまだ復号されていない場合、残差がビットストリームから復号される。残差は、再構築されたCUを取得するために予測子に追加される。
方法は、ステップS395で終了する。
一実施形態では、GBIは、表2の変形である表7による一例に示されるようにWPが有効にされる場合、無効にされる。実際、双予測ブロックに対してWPとGBIの両方を有効にすると、実装形態が複雑になる可能性がある。
WPが有効になっている場合(すなわち、weighted_bipred_flagが1またはtrueに等しい場合)、generalized_bi_prediction_flag=falseになる。それ以外の場合、generalized_bi_prediction_flagは、ビットストリームから復号される。
変形では、GBI-WP相互排除は、現在のCUパラメータ(S375のis_gbi_applicable())に基づいてCUレベルで実装することができる。次いで、weighted_bipred_flagとgeneralized_bipred_flagの両方をtrueに等しくすることができるが、WPおよびGBIはCUレベルで一緒にアクティブ化/適用されない、すなわち、その一方が非アクティブ化されるか、前記そうでない場合は、その一方のみがアクティブ化/適用されるため、その一方のみがCUレベルで適用される。GBI-WP相互排除の場合、CUレベルでGBIおよびWPの1つを非アクティブ化することは、WPとGBIの間で1つをアクティブ化/適用することと同じである。例えば、双予測の場合、is_gbi_applicable()=trueの場合、WPは適用されない(weighted_bipred_flag=trueであっても)、すなわち、WPは非アクティブ化されているので、適用され、GBIはアクティブ化されているので、適用される。
例えば、weighted_bipred_flag=falseの双予測の場合、またはweighted_bipred_flagがtrueであり、WPの重みおよびオフセット(w0;off0)(w1;off1)が(1;0)に等しい場合、is_gbi_applicable()は、trueに設定され、すなわち、WPは非アクティブ化されているので、適用されず、GBIはアクティブ化されているので、適用される。
例えば、weighted_bipred_flag=trueの双予測の場合、weighted_bipred_flagがtrueであり、少なくとも1つの(w0;off0)または(w1;off1)が(1;0)に等しくない場合、is_gbi_applicable()は、falseに設定され、すなわち、WPはアクティブ化されているので、適用され、GBIは非アクティブ化されているので、適用されない。.
図5は、特定の非限定的な実施形態による、ビットストリームからのCU/ブロックを復号するための方法のフローチャートを表す。この実施形態では、GBIとWPの両方が、双予測のために一緒に有効化される。最初にWPが適用され、次いでGBIが適用される。図2のステップと同一の図3のステップは、同じ数値参照で識別され、それ以上開示されない。
この方法は、ステップS310から始まる。高レベル構文(HLS)要素が復号される(S320)。HLSの例としては、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、タイルヘッダー、またはスライスヘッダー(SH)がある。次いで、現在のCUのパラメータ(コーディングモード、動きベクトルなど)が復号される(S330)。
CUが双予測される場合(S340)、方法は、S350(S350が存在する場合)またはS360(S350が存在しない場合)に続く。そうでない場合(CUは双予測されない)、方法は、S372に続く。単方向予測(S372)の場合、単一の予測子P0が決定される。weighted_pred_flagがtrue(S400)の場合、方法は、S410に続く。そうでない場合、方法は、S390に続く。S410では、WPが予測子P0に適用され、すなわち、P0は、WPの重みおよびオフセットを使用して重み付けされる。
cond_gbi()がtrueである場合(すなわち、GBIパラメータがビットストリームに存在する)、方法は、S360に続き、GBIパラメータを復号する。そうでない場合(cond_gbi()がfalse)、方法は、S370に続く。S360では、GBIパラメータ(eggbi_index)が復号される。
予測子P0およびP1(S370)が決定される。予測子P0は、第1の参照画像内の第1の参照ブロックを動き補償することによって取得される。予測子P1は、第2の参照画像内の第2の参照ブロックを動き補償することによって取得される。動き補償に使用される動きベクトルは、ビットストリームから復号される(S330)。
WPが双予測に適合する場合(S420)(例えば、weighted_bipred_flagがtrue)、方法は、S430に続く。そうでない場合、方法は、S375に続く。
S430では、WPが予測子P0およびP1に適用され、すなわち、P0およびP1は、WPの重みおよびオフセットを使用して重み付けされる。一実施形態(V0)では、WPは、以下のように、S430で予測子P0(Pred’0とも表される)およびP1(Pred’1とも表される)に適用される。
Pred’0=((w0.Pred0[x]+(1<<(shift-1)))>>shift)+off0
Pred’1=((w1.Pred1[x]+(1<<(shift-1)))>>shift)+off1
GBIが適用可能な場合(S375)、方法は、S380に続く。2つの予測子P0およびP1は、GBIパラメータ、すなわち、gbi_indexによって決定された重みを使用して、単一の予測子Pred’’に結合される(S380)。したがって、GBIは、S380で次のように適用される(V0)。
Pred’’=(gw0.Pred’0[x]+gw1.Pred’1[x]+(1<<(gs-1)))>>gs
GBIが適用されない場合(S375)、方法は、S385に続く。2つの予測子は、デフォルトの重みを使用して単一の予測子(S385)に結合される(例えば、従来の双予測)。
S390で、CUが再構築される。この目的のために、S330でまだ復号されていない場合、残差がビットストリームから復号される。残差は、再構築されたCUを取得するために予測子に追加される。
方法は、ステップS395で終了する。
別の実施形態(V1)では、Pred’‘は、以下のようにオールインワン(すなわち、WPおよびGBI)で計算され得る。
Pred’’=(GW0.Pred0[x]+GW1.Pred1[x]+OFF0+OFF1+(1<<(GS-1)))>>GS
ここで、GW0=gw0xw0、GW1=gw1xw1、およびGS=shift+gs
OFF0=gw0x(off0<<shift)およびOFF1=gw1x(off1<<shift)
この実施形態は、精度を改善する。ただし、計算時に中間ストレージメモリをオーバーフローする場合があるか(GW0.Pred0[x]+GW1.Pred1[x]+OFF0+OFF1+(1<<(GS-1)))、または多数のビットを使用する。
したがって、別の実施形態(V2)では、中間精度は、以下のように実施することができる。
S430:Pred’0=((w0.Pred0[x]+(1<<(shift-S-1)))>>(shift-S))+(off0<<S)
Pred’1=((w1.Pred1[x]+(1<<(shift-S-1)))>>(shift-S))+(off1<<S)
S380:Pred’’=(gw0.Pred’0[x]+gw1.Pred’1[x]+(1<<(gs+S-1)))>>(gs+S)
ここでは、0<S<shiftである。
このように、中間結果「gw0.Pred’0[x]+gw1.Pred’1[x]+(1<<(gs-1))」を記憶するために使用されるビット数は、前の実施形態で使用されたビットよりも劣っており、一方、精度はV0よりも優れているが、V1よりも劣っている。
さらに別の実施形態では、重みおよびオフセットは、実施を容易にするために、2つの3次元LUT(TableWeight,TableOffset)および1つの1次元LUT(TableShift)に表にされ得る。
GW0=TableWeight[0][idxRef0][numGbiIdx-1-gbiIdx]
GW1=TableWeight[1][idxRef1][gbiIdx]
OFF0=TableOffset[0][idxRef0][numGbiIdx-1-gbiIdx]
OFF1=TableOffset[1][idxRef1][gbiIdx]
GS=TableShift[gbiIdx]
さらに別の実施形態では、WPが現在のCUに適合するかどうかを示すCUごとの追加のフラグをコーディングすることができる。
別の実施形態では、GBIおよびWPは、(V1)と同じ一般的な双予測重み付け式を使用するように結合される。
Pred’’=(GW.Pred[x]+GW.Pred[x]+OFF0+OFF1+(1<<(GS-1)))>>GS
しかしながら、中間値「GW.Pred[x]+GW.Pred[x]+OFF0+OFF1+(1<<(GS-1))」を記憶するために使用されるビット数を低減するために、いくつかの適合が行われる。
この実施形態では、GBIテーブルは、デフォルトの重みに関する重みの差(デルタ)を含む。WPが無効であるとき、デフォルトの重みは、1/2(w=1、s=1)である。WPが有効であるとき、デフォルトの重みは、参照インデックスに関連付けられたw0またはw1である。表1で説明されている例は、次のように変更される(表8)。
WPが無効であるとき、デフォルトの重み(w0=1)および(w1=1)、シフト(s=1)である。
Pred’’=((w+dw).Pred[x]+(w-dw).Pred[x]+(1<<(gs-1)))>>gs
Pred’’=(GW.Pred[x]+GW.Pred[x]+OFF0+OFF1+(1<<(GS-1)))>>GS
ここで、GW=w.(1<<(gs-1))-dw1 GW=w.(1<<(gs-1))+dw
OFF0=OFF1=0
GS=gs
WPが有効であるとき、現在のCUのrefIdx0およびrefIdx1の値は、WPの重み付け(w0、w1、s)およびオフセット(off0、off1)を与える。
a)s<gsの場合、以下のとおりである。
GW=w.(1<<(gs-s))-dw1 GW=w.(1<<(gs-s))+dw
OFF0=(off1<<gs) OFF1=(of0<<gs)
GS=gs
b)s>gsの場合、以下のとおりである。
GW=w-dw1.1<<(s-gs)) GW=w+dw.(1<<(s-gs))
OFF0=(off1<<s) OFF1=(off0<<s)
GS=s
この方法では、「GW.Pred[x]+GW.Pred[x]+OFF0+OFF1+(1<<(GS-1))」の計算に使用されるビット数は、最初にWPが適用され、次にGBIが適用される実施形態(V1)で使用されるビット数よりも劣る。
変形では、シフトgsおよびsの値が等しいため、常にa)またはb)を使用することができる。例えば、gs=s=4である。
図4および図5の実施形態は、エンコーダ側にも適用可能である。
本出願では、ツール、特徴、実施形態、モデル、アプローチなどを含む様々な態様について説明する。これらの態様の多くは、特異的に、また、少なくとも個々の特性を示すために説明されており、しばしば限定的に聞こえ得るように説明される。ただし、これは説明を明確にするためのものであり、これらの態様の適用または範囲を限定するものではない。実際、様々な態様のすべてを組み合わせたり、交換したりして、さらなる態様を提供することができる。さらに、これらの態様は、以前の出願で説明された態様と組み合わせたり、交換したりすることもできる。
本出願で説明および企図される態様は、多くの異なる形式で実装することができる。以下の図6、図7、および図8は、いくつかの実施形態を提供するが、他の実施形態が企図されており、図6、図7、および図8の考察は、実装形態の幅を限定するものではない。これらの態様のうちの少なくとも1つは、概して、ビデオ符号化および復号に関し、少なくとも1つの他の態様は、概して、生成または符号化されたビットストリームを送信することに関する。これらおよび他の態様は、方法、装置、説明された方法のいずれかに従ってビデオデータを符号化または復号するための命令を記憶したコンピュータ可読記憶媒体、および/または説明された方法のいずれかに従って生成されるビットストリームを記憶したコンピュータ可読記憶媒体として実装できる。
様々な方法が、本明細書に記載されており、それらの方法のそれぞれは、説明された方法を達成するための1つ以上のステップまたは動作を含む。本方法の正しい動作のために特定の順序のステップまたは動作が必要でない限り、特定のステップおよび/または動作の順序および/または使用は、変更されてもよく、または組み合わせられてもよい。
本出願に記載されている様々な方法および他の態様を使用して、図6および図7に示すようなビデオエンコーダ100およびデコーダ200のモジュール、例えば、動き補償、エントロピーコード化、および/または復号モジュール(170、275、145、230)を修正することができる。さらに、本態様は、VVCまたはHEVCに限定されず、例えば、既存かまたは将来開発されるかどうかにかかわらず、他の標準規格および推奨事項、ならびに任意のそのような標準規格および推奨事項(VVCおよびHEVCを含む)の拡張版に適用することができる。特に指示されていない限り、または技術的に除外されていない限り、本出願で説明される態様は、個別にまたは組み合わせて使用されることができる。
本出願では、様々な数値、例えば、表1によって定義される重み値w0およびw1が使用される。特定の値は、例示的な目的のためであり、記載された態様は、これらの特定の値に限定されるものではない。
図6は、エンコーダ100を例示する。このエンコーダ100の変形が企図されるが、エンコーダ100は、明確にするためにすべての予想される変形を説明することなく、以下に説明される。
符号化される前に、ビデオシーケンスは事前符号化処理(101)、例えば、入力色ピクチャに色変換(例えば、RGB 4:4:4からYCbCr 4:2:0への変換)を適用すること、または、(例えば、色成分のうちの1つのヒストグラム等化を使用して)圧縮に対してより復元力のある信号分布を得るために、入力ピクチャ成分の再マッピングを実行することを経る場合がある。メタデータは、事前処理に関連付けることができ、ビットストリームに添付することができる。
エンコーダ100では、以下に説明されているように、ピクチャが、エンコーダ要素によって符号化される。符号化されるピクチャは、分割され(102)、例えば、CUの単位で処理される。各単位は、例えば、イントラモードまたはインターモードのいずれかを使用して符号化される。単位がイントラモードで符号化されるとき、イントラ予測を実行する(160)。インターモードにおいて、動き推定(175)および動き補償(170)が行われる。エンコーダは、イントラモードまたはインターモードのどちらをその単位の符号化に使用するかを判断し(105)、例えば、予測モードフラグによって、イントラ/インター判断を示す。予測残差は、例えば、元の画像ブロックから予測されたブロックを減算すること(110)によって、計算される。
次いで、予測残差が変換され(125)、量子化される(130)。量子化された変換係数に加えて、動きベクトルおよび他の構文要素は、ビットストリームを出力するためにエントロピーコード化される(145)。エンコーダは、変換をスキップし、非変換残差信号に直接量子化を適用し得る。エンコーダは、変換および量子化の両方をバイパスすることもでき、すなわち、残差は、変換または量子化プロセスを適用せずに直接コード化される。
符号化器は、符号化されたブロックを復号して、さらに予測するための参照を提供する。量子化された変換係数は非量子化され(140)、逆変換され(150)、予測残差を復号する。復号された予測残差と予測されたブロックとを組み合わせて(155)、画像ブロックが再構築される。ループ内フィルタ(165)は、再構築されたピクチャに適用され、例えば、デブロッキング/SAO(サンプルアダプティブオフセット)フィルタリングを行い、符号化アーチファクトを低減する。フィルタリングされた画像は、参照ピクチャバッファ(180)に記憶される。
図7は、ビデオデコーダ200のブロック図を示す。デコーダ200では、以下に説明されているように、ビットストリームが、デコーダ要素によって復号される。ビデオデコーダ200は、概して、図8で説明するような符号化パスとは逆の復号パスを実行する。エンコーダ100はまた、概して、ビデオデータの符号化の一部としてビデオ復号を実行する。
特に、デコーダの入力は、ビデオエンコーダ100によって生成され得るビデオビットストリームを含む。まず、ビットストリームがエントロピー復号され(230)、変換係数、動きベクトル、および他のコード化された情報を取得する。ピクチャ分割情報は、ピクチャがどのように分割されているかを示す。したがって、デコーダは、復号されたピクチャ分割情報に従ってピクチャを分割することができる(235)。変換係数は非量子化され(240)、逆変換され(250)、予測残差を復号する。復号された予測残差と予測されたブロックとを組み合わせて(255)、画像ブロックが再構築される。予測されたブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から取得され得る(270)。ループ内フィルタ(265)は、再構築された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に記憶される。
復号されたピクチャは、復号後処理(285)、例えば、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)または事前符号化処理(101)で行われる再マッピングプロセスの逆を実行する逆再マッピングをさらに経ることができる。復号後処理では、事前符号化処理で導出され、かつビットストリームで信号通知されるメタデータを使用することができる。
図8は、様々な態様および実施形態が実装されるシステムの例のブロック図を示す。システム1000は、以下で説明される様々な構成要素を含むデバイスとして具現化することができ、本文書で説明される態様の1つ以上を実行するように構成されている。そのようなデバイスの例は、これらに限定されるものではないが、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受像機、パーソナルビデオ録画システム、コネクテッド家電、およびサーバなどの様々な電子デバイスを含む。システム1000の要素は、単独でも組み合わせでも、単一の集積回路、複数のIC、および/または個別の構成要素で具現化され得る。例えば、少なくとも1つの実施形態において、システム1000の処理およびエンコーダ/デコーダ要素は、複数のICおよび/または個別の構成要素にわたって分散している。様々な実施形態において、システム1000は、1つ以上の他のシステムに、または他の電子デバイスに、例えば、通信バスを介して、または専用の入力および/もしくは出力ポートを通して、通信可能に結合される。様々な実施形態において、システム1000は、本文書に記載の態様のうちの1つ以上を実装するように構成される。
システム1000は、例えば、本文書に記載の様々な態様を実装する際に、読み込まれた命令を実行するように構成された少なくとも1つのプロセッサ1010を含む。プロセッサ1010は、当技術分野で周知であるように、埋め込みメモリ、入出力インターフェース、および他の様々な回路を含み得る。システム1000は、少なくとも1つのメモリ1020(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム1000は、不揮発性メモリおよび/または揮発性メモリを含むことができるストレージデバイス1040を含み、これらに限定しないが、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、読み取り専用メモリ(ROM)、プログラム可能な読み取り専用メモリ(PROM)、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブを含む。ストレージデバイス1040は、非限定的な例として、内部ストレージデバイス、付属のストレージデバイス(取り外し可能および取り外し不可能なストレージデバイスを含む)、および/またはネットワークアクセス可能なストレージデバイスを含み得る。
システム1000は、例えば、符号化されたビデオまたは復号されたビデオを提供するためにデータを処理するように構成されたエンコーダ/デコーダモジュール1030を含み、エンコーダ/デコーダモジュール1030は、独自のプロセッサおよびメモリを含み得る。エンコーダ/デコーダモジュール1030は、符号化機能および/または復号機能を実行するデバイスに含まれ得るモジュール(複数可)を表す。周知のように、デバイスは、符号化および復号モジュールの一方または両方を含み得る。さらに、エンコーダ/デコーダモジュール1030は、システム1000の別個の要素として実装されてもよく、または、当業者には周知であるように、ハードウェアとソフトウェアとの組み合わせとして、プロセッサ1010内に組み込まれてもよい。
本文書に記載の様々な態様を実行するためにプロセッサ1010またはエンコーダ/デコーダ1030に読み込まれるプログラムコードは、ストレージデバイス1040に記憶され、続いて、プロセッサ1010による実行のためにメモリ1020に読み込まれ得る。様々な実施形態によれば、プロセッサ1010、メモリ1020、ストレージデバイス1040、およびエンコーダ/デコーダモジュール1030のうちの1つ以上は、本文書に記載のプロセスの実行中、様々な項目のうちの1つ以上を記憶することができる。このような記憶される項目には、入力ビデオ、復号されたビデオまたは復号されたビデオの一部、ビットストリーム、行列、変数、ならびに方程式、式、演算、および演算ロジックの処理からの中間結果または最終結果が含まれ得るが、これらに限定されない。
いくつかの実施形態において、プロセッサ1010および/またはエンコーダ/デコーダモジュール1030の内部のメモリを使用して、命令を記憶し、符号化または復号中に必要とされる処理のために、ワーキングメモリを提供する。しかしながら、他の実施形態において、処理デバイス(例えば、処理デバイスは、プロセッサ1010またはエンコーダ/デコーダモジュール1030のいずれかであり得る)の外部のメモリは、これらの機能のうちの1つ以上に使用される。外部メモリは、メモリ1020および/またはストレージデバイス1040、例えば、ダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリであり得る。いくつかの実施形態において、例えば、テレビのオペレーティングシステムを記憶するために外部不揮発性フラッシュメモリが使用される。少なくとも1つの実施形態では、RAMなどの高速外部ダイナミック揮発性メモリが、MPEG-2(MPEGはMoving Picture Experts Groupを指し、MPEG-2は、ISO/IEC 13818とも呼ばれ、13818-1はH.222としても知られ、13818-2はH.262としても知られる)、HEVC(HEVCはHigh Efficiency Video Codingを指し、H.265およびMPEG-H Part2としても知られる)、またはVVC(Versatile Video Codingであり、JVET、すなわちJoint Video Experts Teamによって開発された新標準規格)などのビデオ符号化および復号動作のためのワーキングメモリとして使用される。
システム1000の要素への入力は、ブロック1130に示されるような様々な入力デバイスを通して提供され得る。このような入力デバイスは、限定はしないが、(i)例えば、放送局によって無線で送信されたRF信号を受信する無線周波数(RF)部分、(ii)コンポーネント(COMP)入力端子(またはCOMP入力端子のセット)、(iii)ユニバーサルシリアルバス(USB)入力端子、および/または(iv)高品位マルチメディアインターフェース(HDMI)入力端子を含む。図10に示されていない他の例としては、コンポジットビデオが挙げられる。
様々な実施形態において、ブロック1130の入力デバイスは、当技術分野で周知であるような関連するそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択する(信号を選択する、またはある周波数帯域に信号を帯域制限する、とも称される)、(ii)選択された信号をダウンコンバートする、(iii)(例えば)ある特定の実施形態ではチャネルと称される場合がある信号周波数帯域を選択するために、より狭い周波数帯域に再び帯域制限する、(iv)ダウンコンバートされ、帯域制限された信号を復調すること、(v)誤り訂正を実行する、および(vi)逆多重化して、所望のデータパケットストリームを選択するのに好適な要素に関連付けられ得る。様々な実施形態のRF部には、これらの機能、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、および逆多重化器を実行する1つ以上の要素が含まれる。RF部には、例えば、受信された信号をより低い周波数に(例えば、中間周波数またはベースバンドに近い周波数)、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行するチューナが含まれ得る。1つのセットトップボックスの実施形態において、RF部およびその関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体経由で送信されたRF信号を受信し、フィルタリングし、ダウンコンバートし、所望の周波数帯域に再びフィルタリングすることによって、周波数選択を実行する。様々な実施形態では、上記(および他の)要素の順番が並べ替えられ、これらの要素のうちのいくつかが取り除かれ、かつ/または同様もしくは異なる機能を実行する他の要素が加えられる。要素を加えることには、既存の要素間に要素を挿入すること、例えば、増幅器およびアナログ-デジタル変換器を挿入することなどが含まれ得る。様々な実施形態において、RF部は、アンテナを含む。
さらに、USBおよび/またはHDMI端子は、USBおよび/またはHDMI接続にわたる他の電子デバイスにシステム1000を接続するためのそれぞれのインターフェースプロセッサを含み得る。入力処理の様々な態様、例えば、リードソロモン誤り訂正が、例えば、必要に応じて、別個の入力処理IC内、またはプロセッサ1010内に実装され得ることを理解されたい。同様に、USBまたはHDMIインターフェース処理の態様は、必要に応じて、別個のインターフェースIC内またはプロセッサ1010内に実装され得る。復調され、誤り訂正され、かつ逆多重化されたストリームは、例えば、プロセッサ1010と、出力デバイス上での表示用に、必要に応じてデータストリームを処理するためにメモリおよび記憶要素と組み合わせて動作するエンコーダ/デコーダ1030と、を含む様々な処理要素に提供される。
システム1000の様々な要素は、一体型ハウジング内に提供され得、一体型ハウジング内で、様々な要素は、相互接続され、好適な接続構成、例えば、Inter-IC(I2C)バス、配線、およびプリント回路基板を含む、当技術分野で周知であるような内部バスを使用して、それらの間でデータを送信することができる。
システム1000は、通信チャネル1060を介して他のデバイスとの通信を可能にする通信インターフェース1050を含む。通信インターフェース1050には、通信チャネル1060経由でデータを送受信するように構成されたトランシーバが含まれ得るが、これに限定されない。通信インターフェース1050には、モデムまたはネットワークカードが含まれ得るが、これらに限定されず、通信チャネル1060は、例えば、有線および/または無線媒体内に実装され得る。
データは、様々な実施形態において、Wi-Fiネットワーク、例えば、IEEE802.11(IEEEは、電気電子技術者協会を指す)などの無線ネットワークを使用して、システム1000にストリーミングされるか、または別様に提供される。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル1060および通信インターフェース1050を介して受信される。これらの実施形態の通信チャネル1060は、典型的には、ストリーミングアプリケーションおよび他のオーバーザトップ通信を可能にするインターネットを含む外部ネットワークへのアクセスを提供するアクセスポイントまたはルータに接続される。他の実施形態は、入力ブロック1130のHDMI接続経由でデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム1000に提供する。さらに他の実施形態は、入力ブロック1130のRF接続を使用して、ストリーミングされたデータをシステム1000に提供する。上記のように、様々な実施形態は、非ストリーミング方式でデータを提供する。さらに、様々な実施形態は、Wi-Fi以外の無線ネットワーク、例えば、セルラーネットワークまたはBluetoothネットワークを使用する。
システム1000は、ディスプレイ1100、スピーカ1110、および他の周辺デバイス1120を含む、様々な出力デバイスに出力信号を提供することができる。様々な実施形態のディスプレイ1100は、例えば、タッチスクリーンディスプレイ、有機発光ダイオード(OLED)ディスプレイ、湾曲ディスプレイ、および/または折り畳み式ディスプレイのうちの1つ以上を含む。ディスプレイ1100は、テレビ、タブレット、ラップトップ、セル電話(携帯電話)、または他のデバイス用であり得る。ディスプレイ1100はまた、他の構成要素(例えば、スマートフォンのように)と統合されてもよく、または別個(例えば、ラップトップ用の外部モニター)であってもよい。他の周辺デバイス1120は、実施形態の様々な例において、スタンドアロンデジタルビデオディスク(またはデジタル多用途ディスク)(両用語ともDVR)、ディスクプレーヤ、ステレオシステム、および/または照明システムのうちの1つ以上を含む。様々な実施形態は、システム1000の出力に基づく機能を提供する1つ以上の周辺デバイス1120を使用する。例えば、ディスクプレーヤは、システム1000の出力を再生する機能を実行する。
様々な実施形態において、システム1000と、ディスプレイ1100、スピーカ1110、または他の周辺デバイス1120との間で、AV.Link、コンシューマエレクトロニクス制御(CEC)、またはユーザの介入の有無に関わらず、デバイス間制御を可能にする他の通信プロトコルなどの信号通知を使用して、制御信号が通信される。出力デバイスは、それぞれのインターフェース1070、1080、および1090を通して専用接続を介してシステム1000に通信可能に結合され得る。代替的に、出力デバイスは、通信インターフェース1050を介して、通信チャネル1060を使用してシステム1000に接続され得る。ディスプレイ1100およびスピーカ1110は、例えば、テレビなどの電子デバイス内のシステム1000の他の構成要素と、単一のユニット内に統合され得る。様々な実施形態において、ディスプレイインタフェース1070は、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバを含む。
代替的に、ディスプレイ1100およびスピーカ1110は、例えば、入力1130のRF部が別個のセットトップボックスの一部である場合、他の構成要素のうちの1つ以上とは別個であってもよい。ディスプレイ1100およびスピーカ1110が外部構成要素である様々な実施形態において、例えば、HDMIポート、USBポート、またはCOMP出力部を含む専用出力接続を介して、出力信号が提供され得る。
実施形態は、プロセッサ1010によって、もしくはハードウェアによって、またはハードウェアとソフトウェアとの組み合わせによって実装されるコンピュータソフトウェアによって、実行されてもよい。非限定的な例として、実施形態は、1つ以上の集積回路によって実装されてもよい。メモリ1020は、技術的環境に適切な任意のタイプのものであり得、非限定的な例として、光メモリデバイス、磁気メモリデバイス、半導体ベースのメモリデバイス、固定メモリ、および取り外し可能なメモリなどの任意の適切なデータストレージ技術を使用して実装され得る。プロセッサ1010は、技術的環境に適切な任意のタイプのものであり得、非限定的な例として、マイクロプロセッサ、汎用コンピュータ、専用コンピュータ、およびマルチコアアーキテクチャに基づくプロセッサのうちの1つ以上を包含し得る。
様々な実装形態が復号を伴う。本出願で使用される「復号」は、例えば、受信した符号化されたシーケンスで実行されるプロセスのすべてまたは一部を包含して、表示に適した最終出力を生成することができる。様々な実施形態では、そのようなプロセスは、デコーダによって通常実行されるプロセスのうちの1つ以上、例えば、エントロピー復号、逆量子化、逆変換、および差分復号を含む。様々な実施形態では、そのようなプロセスはまた、または代替的に、例えば、動き補償など、本出願で説明される様々な実装形態のデコーダによって実行されるプロセスを含む。
さらなる例として、一実施形態では、「復号」は、エントロピー復号のみを指し、別の実施形態では、「復号」は、差分復号のみを指し、別の実施形態では、「復号」は、エントロピー復号および差分復号の組み合わせを指す。「復号プロセス」という語句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い復号プロセスを指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
様々な実装形態は符号化を伴う。「復号」に関する上記の考察と同様に、本出願で使用される「符号化」は、例えば、符号化されたビットストリームを生成するために入力ビデオシーケンスで実行されるプロセスのすべてまたは一部を包含することができる。様々な実施形態では、そのようなプロセスは、典型的には、エンコーダによって実行される1つ以上のプロセス、例えば、分割、差分符号化、変換、量子化、およびエントロピー符号化を含む。様々な実施形態では、そのようなプロセスはまた、または代替的に、例えば、動き補償など、本出願で説明される様々な実装形態のエンコーダによって実行されるプロセスを含む。
さらなる例として、一実施形態では、「符号化」は、エントロピー符号化のみを指し、別の実施形態では、「符号化」は、差分符号化のみを指し、別の実施形態では、「符号化」は、差分符号化およびエントロピー符号化の組み合わせを指す。「符号化プロセス」という語句が、具体的に動作のサブセットを指すことを意図しているか、または概してより広い符号化プロセスを指すことを意図しているかは、特定の説明の文脈に基づいて明確になり、当業者によって十分に理解されると考えられる。
例えば、gbi_indexなどの本明細書で使用される構文要素は、説明的な用語であることに留意されたい。したがって、それらは、他の構文要素名の使用を排除するものではない。
図がフロー図として提示されている場合、それは、対応する装置のブロック図も提供することを理解されたい。同様に、図がブロック図として提示されている場合、それは、対応する方法/プロセスのフロー図も提供することを理解されたい。
様々な実施形態は、レート歪み最適化について言及する。特に、符号化プロセスの間、多くの場合に計算の複雑さの制約を考えて、レートと歪みとの間のバランスまたはトレードオフが、通常、考慮される。レート歪みの最適化は、通常、レートと歪みの加重和であるレート歪み関数を最小化するように定式化される。レート歪みの最適化問題を解決するには、様々なアプローチがある。例えば、アプローチは、考慮されるすべてのモードまたはコード化パラメータ値を含むすべての符号化オプションの広範なテストに基づいており、コード化および復号後の再構築された信号のコード化コストおよび関連する歪みを完全に評価することができる。特に、再構築された信号ではなく、予測または予測残差信号に基づいて近似歪みを計算することによって、復号の複雑さを軽減するために、より高速なアプローチを使用することもできる。可能な符号化オプションの一部にのみ近似歪みを使用し、他の符号化オプションに完全な歪みを使用することなどによって、これら2つのアプローチを組み合わせて使用することもできる。他のアプローチでは、可能な符号化オプションのサブセットのみを評価する。より一般的には、多くのアプローチが、最適化を実行するための様々な技術のうちのいずれかを採用するが、最適化は、必ずしもコード化コストおよび関連する歪みの両方の完全な評価ではない。
本明細書で説明された実装形態および態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号に実装され得る。単一の実装形態の文脈でのみ考察された(例えば、方法としてのみ考察された)としても、考察された特徴の実装形態はまた、他の形態(例えば、装置またはプログラム)で実装されてもよい。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実装することができる。それらの方法は、例えば、プロセッサ内に実装することができ、このプロセッサは、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む処理デバイス全般を指す。プロセッサは、通信デバイス、例えば、コンピュータ、セル電話、ポータブル/パーソナルデジタルアシスタンス(「PDA」)、およびエンドユーザ間の情報の伝達を容易にする他のデバイスなども含む。
「1つの実施形態」もしくは「一実施形態」、または「1つの実装形態」もしくは「一実装形態」、ならびにそれらの他の変形への言及は、実施形態に関連して説明された特定の特徴、構造、特性などが、少なくとも1つの実施形態に含まれることを意味する。したがって、本出願全体にわたって様々な箇所においてみられる、「1つの実施形態では」もしくは「一実施形態では」または「1つの実装形態では」もしくは「一実装形態では」という句、ならびに任意の他の変形の出現は、必ずしもすべてが同じ実施形態を指しているわけではない。
さらに、本出願は、情報の様々な部分を「判断する」ことに言及する場合がある。情報の判断には、例えば、情報の評価、情報の計算、情報の予測、またはメモリからの情報の検索のうちの1つ以上が含まれ得る。
さらに、本出願は、情報の様々な部分に「アクセスする」ことに言及する場合がある。情報のアクセスには、例えば、情報の受信、(例えば、メモリからの)情報の検索、情報の記憶、情報の移動、情報のコピー、情報の計算、情報の判断、情報の予測、または情報の評価のうちの1つ以上が含まれ得る。
さらに、本出願は、情報の様々な部分を「受信する」ことに言及する場合がある。受信することは、「アクセスする」ことと同様に、広義の用語であることが意図されている。情報の受信には、例えば、情報へのアクセス、または(例えば、メモリからの)情報の検索のうちの1つ以上が含まれ得る。さらに、「受信する」ことは、典型的には、何らかの方法で、例えば、情報の記憶、情報の処理、情報の送信、情報の移動、情報のコピー、情報の消去、情報の計算、情報の判断、情報の予測、または情報の評価などの動作中に含まれる。
例えば、「A/B」、「Aおよび/またはB」、ならびに「AおよびBのうちの少なくとも1つ」の場合、次の「/」、「および/または」、ならびに「のうちの少なくとも1つ」のいずれかの使用は、最初に挙げた選択肢(A)のみの選択、または2番目に挙げた選択肢(B)のみの選択、または双方の選択肢(AおよびB)の選択を網羅することを意図していることが分かるはずである。さらなる例として、「A、B、および/またはC」ならびに「A、B、およびCのうちの少なくとも1つ」の場合、そのような言い回しは、最初に挙げた選択肢(A)のみの選択、または2番目に挙げた選択肢(B)のみの選択、または3番目に挙げた選択肢(C)のみの選択、または最初および2番目に挙げた選択肢(AおよびB)のみの選択、または最初および3番目に挙げた選択肢(AおよびC)のみの選択、または2番目および3番目に挙げた選択肢(BおよびC)のみの選択、または3つすべての選択肢(AおよびBおよびC)の選択、を網羅することを意図している。これは、当業者にとって明らかなように、挙げられる項目の数だけ拡張され得る。
また、本明細書で使用される場合、「信号通知する」という単語は、とりわけ、対応するデコーダに何かを指示することを指す。例えば、特定の実施形態では、エンコーダは、例えば、gbi_indexなど、GBIの複数のパラメータのうちの特定の1つを信号通知する。このようにして、実施形態では、同じパラメータが、エンコーダ側およびデコーダ側の両方で使用される。したがって、例えば、エンコーダが、特定のパラメータをデコーダに送信することができ(明示的な信号通知)、その結果、デコーダは、同じ特定のパラメータを使用することができる。逆に、デコーダが既に特定のパラメータならびに他のパラメータを有する場合、信号通知は、送信(暗黙的な信号通知)を行わずに使用されて、デコーダが特定のパラメータを認識して選択するのを単純に可能にすることができる。任意の実際の機能の送信を回避することによって、ビットの節約が、様々な実施形態で実現される。信号通知は、様々な方法で達成できることが分かるはずである。例えば、1つ以上の構文要素、フラグなどが、様々な実施形態で、対応するデコーダに情報を信号通知するために使用される。上記は、「信号通知する」という単語の動詞形に関するものであるが、「信号通知」という単語はまた、本明細書では、名詞として使用することもできる。
当業者には明らかであるように、実装形態は、例えば、記憶または送信され得る情報を搬送するようにフォーマットされる様々な信号を生成することができる。情報は、例えば、方法を実行するための命令、または説明される実装形態のうちの1つにより生成されたデータを含むことができる。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットされ得る。このような信号は、例えば、(例えば、スペクトルの無線周波数部分を使用する)、電磁波として、またはベースバンド信号としてフォーマットすることができる。フォーマットすることは、例えば、データストリームを符号化することと、搬送波を符号化データストリームで変調することと、を含むことができる。信号が搬送する情報は、例えば、アナログまたはデジタル情報とすることができる。信号は、周知のように、様々な異なる有線または無線リンクを介して送信することができる。信号は、プロセッサ可読媒体上に記憶することができる。
いくつかの実施形態について説明する。これらの実施形態の特徴は、単独で、または任意の組み合わせで提供することができる。さらに、実施形態は、様々なクレームのカテゴリーおよびタイプにわたって、単独でまたは任意の組み合わせで、以下の特徴、デバイス、または態様のうちの1つ以上を含むことができる。
・一般化された双予測がピクチャのブロックの復号に適用できるかどうかを示す高レベルの構文要素を復号すること。
・構文要素は、SPS、PPS、タイル、および/またはスライスヘッダーから復号される。
・構文要素は、重み付き予測を使用しない場合にのみ復号される。
・双予測ブロックに対して復号された少なくとも1つの構文要素が、GBIが双予測ブロックに使用されていることを示している場合、第1および第2の一般化された双予測重みを表すインデックスを復号すること。
・一般化された双予測がピクチャのブロックを復号するために適用できるかどうかをデコーダが識別できるようにする信号通知構文要素を挿入すること。
・記載された構文要素、またはその変形のうちの1つ以上を含むビットストリームまたは信号。
・エンコーダによって使用される方法に対応する方法でデコーダをブロック予測に適合できるようにすることを信号通知構文要素に挿入すること。
・記載された構文要素、またはその変形のうちの1つ以上を含むビットストリームまたは信号を、作成および/または送信および/または受信および/または復号すること。
・記載されたいずれかの実施形態に従って一般化された双予測を実行するテレビ、セットトップボックス、セル電話、タブレット、または他の電子デバイス。
・記載されたいずれかの実施形態に従って一般化された双予測を実行し、結果として得られる画像を(例えば、モニタ、スクリーン、他のタイプのディスプレイを使用して)表示するテレビ、セットトップボックス、セル電話、タブレット、または他の電子デバイス。
・符号化された画像を含む信号を受信するためにチャネルを調整し(例えば、チューナを使用して)、記載されたいずれかの実施形態に従って一般化された双予測を実行するテレビ、セットトップボックス、セル電話、タブレット、または他の電子デバイス。
・符号化された画像を含む信号を無線で(例えば、アンテナを使用して)受信し、記載されたいずれかの実施形態に従って一般化された双予測を実行するテレビ、セットトップボックス、セル電話、タブレット、または他の電子デバイス。
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを復号するための方法が提示される。この方法は、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を復号することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、該ブロックを復号することと、を含む。
少なくとも1つの実施形態の一般的な態様によれば、復号装置が提示される。装置は、1つ以上のプロセッサを含み、1つ以上のプロセッサは、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を復号することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、該ブロックを復号することと、を実行するように構成されている。
少なくとも1つの実施形態の一般的な態様によれば、コンピュータ可読媒体が提示され、コンピュータ可読媒体は、1つ以上のプロセッサに、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を復号することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、該ブロックを復号することと、を実行させるための命令を含む。
一実施形態では、第1および第2の高レベル構文要素が、シーケンスパラメータセット、ピクチャパラメータセット、タイルヘッダー、またはスライスヘッダーから復号される。
一実施形態では、復号方法は、該ブロックに対する少なくとも1つの一般化された双予測パラメータを、該ブロックのいくつかの条件が満たされ、該第2の高レベル構文要素が一般化された双予測を適用することを示す場合にのみ、明示的に復号することをさらに含む(復号装置の1つ以上のプロセッサが、実行するようにさらに構成されている)。
一実施形態では、復号方法は、該第1の高レベル構文要素が重み付き予測が適合しないことを示す場合にのみ、該第2の高レベル構文要素を復号することをさらに含む(復号装置の1つ以上のプロセッサが、実行するようにさらに構成されている)。
一実施形態では、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することは、ブロックが双予測され、重み値が1に等しく、オフセット値がゼロに等しい場合、該ブロックの重み付き予測を非アクティブ化することを含む。
一実施形態では、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することは、ブロックが双予測され、少なくとも1つの重み値が1に等しくないか、または少なくとも1つのオフセット値がゼロに等しくない場合、該ブロックの一般化された双予測を非アクティブ化することを含む。
少なくとも1つの実施形態の一般的な態様によれば、ビデオデータを符号化するための方法が提示される。この方法は、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を符号化することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、該ブロックを符号化することと、を含む。
少なくとも1つの実施形態の一般的な態様によれば、符号化装置が提示される。装置は、1つ以上のプロセッサを含み、1つ以上のプロセッサは、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を符号化することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、前記ブロックを符号化することと、を実行するように構成されている。
少なくとも1つの実施形態の一般的な態様によれば、命令を含むコンピュータ可読媒体を1つ以上のプロセッサに実行させるための命令を含むコンピュータ可読媒体が提示され、命令は、1つ以上のプロセッサに、
-ブロックの予測に、重み付き予測が適合するかどうかを示す第1の高レベル構文要素、および一般化された双予測が適合するかどうかを示す第2の高レベル構文要素を符号化することと、
-該第1および第2の高レベル構文要素の両方が重み付き予測および一般化された双予測が適合することを示す場合、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することと、
-該非アクティブ化に応答して、該ブロックを符号化することと、を実行させる。
実施形態のいずれかによる符号化方法または符号化装置に従って生成されたデータを含む信号が提示される。
一実施形態では、該第1および第2の高レベル構文要素が、シーケンスパラメータセット、ピクチャパラメータセット、またはスライスヘッダーに符号化される。
一実施形態では、符号化方法は、該ブロックに対する少なくとも1つの一般化された双予測パラメータを、該ブロックのいくつかの条件が満たされ、該第2の高レベル構文要素が一般化された双予測を適用することを示す場合にのみ、明示的に符号化することをさらに含む(符号化装置の1つ以上のプロセッサが、実行するようにさらに構成されている)。
一実施形態では、符号化方法は、該第1の高レベル構文要素が重み付き予測が適合しないことを示す場合にのみ、該第2の高レベル構文要素を符号化することをさらに含む(符号化装置の1つ以上のプロセッサが、実行するようにさらに構成されている)。
一実施形態では、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することは、ブロックが双予測され、重み値が1に等しく、オフセット値がゼロに等しい場合、該ブロックの重み付き予測を非アクティブ化することを含む。
一実施形態では、ブロックレベルで重み付き予測および一般化された双予測のうちの1つを非アクティブ化することは、ブロックが双予測され、少なくとも1つの重み値が1に等しくないか、または少なくとも1つのオフセット値がゼロに等しくない場合、該ブロックの一般化された双予測を非アクティブ化することを含む。
本実施形態のうちの1つ以上は、上記の方法のいずれかの少なくとも一部に従ってビデオデータを符号化または復号するための命令が記憶されたコンピュータ可読記憶媒体も提供する。1つ以上の実施形態は、上記の符号化方法に従って生成されたビットストリームが記憶されたコンピュータ可読記憶媒体も提供する。1つ以上の実施形態は、上記の符号化方法に従って生成されたビットストリームを作成、送信、または受信するための方法および装置も提供する。1つ以上の実施形態は、上記の方法のいずれかの少なくとも一部を実行するための命令を含むコンピュータプログラム製品も提供する。

Claims (12)

  1. 復号方法であって、
    -ブロックの予測に、ブロックレベルのグループの重み付き予測が適合するかどうかを示す第1の高レベル構文要素の第1の値を取得することであって、同じ重みが、参照ブロックのグループのうちのブロックに重み付けするために定義される、前記取得することと、
    -ブロックの予測に、一般化された双予測が適合するかどうかを示す第2の高レベル構文要素の第2の値を取得することであって、重みは、他のブロックとは独立して1つの参照ブロックに重み付けするために定義される、前記取得することと、
    前記ブロックレベルのグル-プの重み付き予測が適用されることを示す前記第1の値と、前記ブロックレベルの一般化された双予測が適用されることを示す前記第2の値と、前記ブロックレベルの一般化された双予測のモードが現在のブロックに適用され、前記ブロックレベルのグループの重み付き予測のモードに関連する重み値が1に等しく、前記ブロックレベルのグループの重み付き予測のモードに関連するオフセット値がゼロに等しいことを示す前記現在のブロックの少なくとも1つのパラメータとに応答して、前記ブロックレベルの一般化された双予測を適用することによって前記現在のブロックを復号することと、を含む、復号方法。
  2. 前記第1および第2の高レベル構文要素が、シーケンスパラメータセット、ピクチャパラメータセット、タイルヘッダー、またはスライスヘッダーから復号される、請求項1に記載の方法。
  3. 前記現在のブロックに対する少なくとも1つの一般化された双予測パラメータを、前記一般化された双予測パラメータが明示的にコード化されているかどうかを示す前記現在のブロックの条件が満たされ、前記第2の高レベル構文要素が一般化された双予測を適用することを示す場合にのみ、実際に復号することをさらに含む、請求項1に記載の方法。
  4. 符号化方法であって、
    -ブロックの予測に、ブロックレベルのグループの重み付き予測が適合するかどうかを示す第1の高レベル構文要素に伴う第1の値であって、同じ重みが、参照ブロックのグループのうちのブロックに重み付けするために定義される、前記第1の値と、ブロックの予測に、一般化された双予測が適合するかどうかを示す第2の高レベル構文要素に伴う第2の値であって、重みは、他のブロックとは独立して1つの参照ブロックに重み付けするために定義される、前記第2の値とを符号化することと、
    前記ブロックレベルのグル-プの重み付き予測が適用されることを示す前記第1の値と、前記ブロックレベルの一般化された双予測が適用されることを示す前記第2の値と、前記ブロックレベルの一般化された双予測のモードが現在のブロックに適用され、前記ブロックレベルのグループの重み付き予測のモードに関連する重み値が1に等しく、前記ブロックレベルのグループの重み付き予測のモードに関連するオフセット値がゼロに等しいことを示す前記現在のブロックの少なくとも1つのパラメータとに応答して、前記ブロックレベルの一般化された双予測を適用することによって前記現在のブロックを符号化することと、を含む、符号化方法。
  5. 前記第1および第2の高レベル構文要素が、シーケンスパラメータセット、ピクチャパラメータセット、タイルヘッダー、またはスライスヘッダーに符号化される、請求項に記載の方法。
  6. 前記現在のブロックに対する少なくとも1つの一般化された双予測パラメータを、前記一般化された双予測パラメータが明示的にコード化されているかどうかを示す前記現在のブロックの条件が満たされ、前記第2の高レベル構文要素が一般化された双予測を適用することを示す場合にのみ、実際に符号化することをさらに含む、請求項に記載の方法。
  7. 1つ以上のプロセッサを含む復号装置であって、前記1つ以上のプロセッサが、
    -ブロックの予測に、ブロックレベルのグループの重み付き予測が適合するかどうかを示す第1の高レベル構文要素の第1の値を取得することであって、同じ重みが、参照ブロックのグループのうちのブロックに重み付けするために定義される、前記取得することと、
    -ブロックの予測に、一般化された双予測が適合するかどうかを示す第2の高レベル構文要素の第2の値を取得することであって、重みは、他のブロックとは独立して1つの参照ブロックに重み付けするために定義される、前記取得することと、
    前記ブロックレベルのグル-プの重み付き予測が適用されることを示す前記第1の値と、前記ブロックレベルの一般化された双予測が適用されることを示す前記第2の値と、前記ブロックレベルの一般化された双予測のモードが現在のブロックに適用され、前記ブロックレベルのグループの重み付き予測のモードに関連する重み値が1に等しく、前記ブロックレベルのグループの重み付き予測のモードに関連するオフセット値がゼロに等しいことを示す前記現在のブロックの少なくとも1つのパラメータとに応答して、前記ブロックレベルの一般化された双予測を適用することによって前記現在のブロックを復号することと、を実行するように構成された、復号装置。
  8. 1つ以上のプロセッサを含む符号化装置であって、前記1つ以上のプロセッサが、
    -ブロックの予測に、ブロックレベルのグループの重み付き予測が適合するかどうかを示す第1の高レベル構文要素に伴う第1の値であって、同じ重みが、参照ブロックのグループのうちのブロックに重み付けするために定義される、前記第1の値と、ブロックの予測に、一般化された双予測が適合するかどうかを示す第2の高レベル構文要素に伴う第2の値であって、重みは、他のブロックとは独立して1つの参照ブロックに重み付けするために定義される、前記第2の値とを符号化することと、
    前記ブロックレベルのグル-プの重み付き予測が適用されることを示す前記第1の値と、前記ブロックレベルの一般化された双予測が適用されることを示す前記第2の値と、前記ブロックレベルの一般化された双予測のモードが現在のブロックに適用され、前記ブロックレベルのグループの重み付き予測のモードに関連する重み値が1に等しく、前記ブロックレベルのグループの重み付き予測のモードに関連するオフセット値がゼロに等しいことを示す前記現在のブロックの少なくとも1つのパラメータとに応答して、前記ブロックレベルの一般化された双予測を適用することによって前記現在のブロックを符号化することと、を実行するように構成された、符号化装置。
  9. プログラムコード命令がプログラマブルデバイスによって実行されるとき、請求項1に記載の方法を実施するための前記プログラマブルデバイスにロードできる前記プログラムコード命令を含む、コンピュータプログラム。
  10. プログラムコード命令がプログラマブルデバイスによって実行されるとき、請求項に記載の方法を実施するための前記プログラマブルデバイスにロードできる前記プログラムコード命令を含む、コンピュータプログラム。
  11. プログラムコード命令がプログラマブルデバイスによって実行されるとき、請求項1に記載の方法を実施するための前記プログラマブルデバイスにロードできる前記プログラムコード命令を含むコンピュータプログラムを記憶している、非一時的情報記憶媒体。
  12. プログラムコード命令がプログラマブルデバイスによって実行されるとき、請求項に記載の方法を実施するための前記プログラマブルデバイスにロードできる前記プログラムコード命令を含むコンピュータプログラムを記憶している、非一時的情報記憶媒体。
JP2021515615A 2018-10-02 2019-10-01 一般化された双予測および重み付き予測 Active JP7450611B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024032679A JP2024075598A (ja) 2018-10-02 2024-03-05 一般化された双予測および重み付き予測

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18306297.5 2018-10-02
EP18306297 2018-10-02
EP19305108.3 2019-01-29
EP19305108.3A EP3691271A1 (en) 2019-01-29 2019-01-29 Generalized bi-prediction and weighted prediction
PCT/US2019/053952 WO2020072414A1 (en) 2018-10-02 2019-10-01 Generalized bi-prediction and weighted prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024032679A Division JP2024075598A (ja) 2018-10-02 2024-03-05 一般化された双予測および重み付き予測

Publications (3)

Publication Number Publication Date
JP2022502904A JP2022502904A (ja) 2022-01-11
JPWO2020072414A5 JPWO2020072414A5 (ja) 2022-09-15
JP7450611B2 true JP7450611B2 (ja) 2024-03-15

Family

ID=68234319

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021515615A Active JP7450611B2 (ja) 2018-10-02 2019-10-01 一般化された双予測および重み付き予測
JP2024032679A Pending JP2024075598A (ja) 2018-10-02 2024-03-05 一般化された双予測および重み付き予測

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024032679A Pending JP2024075598A (ja) 2018-10-02 2024-03-05 一般化された双予測および重み付き予測

Country Status (8)

Country Link
US (2) US11729417B2 (ja)
EP (1) EP3861740A1 (ja)
JP (2) JP7450611B2 (ja)
KR (1) KR20210068451A (ja)
CN (1) CN112889287A (ja)
AU (2) AU2019354653B2 (ja)
MX (1) MX2021003793A (ja)
WO (1) WO2020072414A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020137920A1 (ja) * 2018-12-27 2021-11-18 シャープ株式会社 予測画像生成装置、動画像復号装置、動画像符号化装置および予測画像生成方法
MX2022002782A (es) * 2019-09-06 2022-05-13 Huawei Tech Co Ltd Método de codificación, método de decodificación, codificador, decodificador y medio legible por computadora no transitorio.
MX2022002916A (es) 2019-09-19 2022-04-06 Beijing Bytedance Network Tech Co Ltd Derivacion de posiciones de muestra de referencia en codificacion de video.
JP7324940B2 (ja) 2019-09-19 2023-08-10 北京字節跳動網絡技術有限公司 ビデオコーディングにおけるスケーリングウインドウ
MX2022003836A (es) 2019-10-05 2022-05-12 Beijing Bytedance Network Tech Co Ltd Se?alizacion basada en los niveles de las herramientas de codificacion de video.
JP7391203B2 (ja) 2019-10-12 2023-12-04 北京字節跳動網絡技術有限公司 ビデオコーディングツールを洗練する使用およびシグナリング
EP4029274A4 (en) 2019-10-13 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. INTERACTION BETWEEN REFERENCE IMAGE RESAMPLING AND VIDEO CODING TOOLS
MX2022007503A (es) 2019-12-27 2022-07-04 Beijing Bytedance Network Tech Co Ltd Se?alizacion de tipos de corte en encabezados de imagenes de video.

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011234045A (ja) 2010-04-26 2011-11-17 Panasonic Corp 画像符号化装置及び画像符号化方法
JP2017085633A (ja) 2017-01-04 2017-05-18 株式会社東芝 復号方法及び復号装置
WO2017197146A1 (en) 2016-05-13 2017-11-16 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
WO2020059877A1 (ja) 2018-09-21 2020-03-26 シャープ株式会社 画像復号装置および画像符号化装置
WO2020069076A1 (en) 2018-09-26 2020-04-02 Vid Scale, Inc. Bi-prediction for video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995527B2 (en) * 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
CN104813663B (zh) * 2012-09-28 2018-05-22 索尼公司 编码设备、编码方法、解码设备和解码方法
US20140198846A1 (en) * 2013-01-16 2014-07-17 Qualcomm Incorporated Device and method for scalable coding of video information
WO2016138513A1 (en) * 2015-02-27 2016-09-01 Arris Enterprises, Inc. Modification of unification of intra block copy and inter signaling related syntax and semantics
US10638140B2 (en) * 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements
EP3273692A4 (en) * 2015-06-10 2018-04-04 Samsung Electronics Co., Ltd. Method and apparatus for encoding or decoding image using syntax signaling for adaptive weight prediction
US10805631B2 (en) * 2016-09-23 2020-10-13 Lg Electronics Inc. Method and apparatus for performing prediction using template-based weight
US10750203B2 (en) * 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
CN111801946A (zh) * 2018-01-24 2020-10-20 Vid拓展公司 用于具有降低的译码复杂性的视频译码的广义双预测

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011234045A (ja) 2010-04-26 2011-11-17 Panasonic Corp 画像符号化装置及び画像符号化方法
WO2017197146A1 (en) 2016-05-13 2017-11-16 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
JP2019519148A (ja) 2016-05-13 2019-07-04 ヴィド スケール インコーポレイテッド ビデオ符号化のための一般化された多重仮説予測(Generalized Multi−Hypothesis Prediction)のためのシステムおよび方法
JP2017085633A (ja) 2017-01-04 2017-05-18 株式会社東芝 復号方法及び復号装置
WO2020059877A1 (ja) 2018-09-21 2020-03-26 シャープ株式会社 画像復号装置および画像符号化装置
WO2020069076A1 (en) 2018-09-26 2020-04-02 Vid Scale, Inc. Bi-prediction for video coding
JP2022502924A (ja) 2018-09-26 2022-01-11 ヴィド スケール インコーポレイテッド ビデオコーディングのための双予測

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chun-Chi Chen et al.,Generalized bi-prediction for inter coding [online],JVET-C0047(JVET-C0047_r1.docx), [2023年10月26日検索],インターネット <URL: https://jvet-experts.org/doc_end_user/documents/3_Geneva/wg11/JVET-C0047-v2.zip>,2016年05月28日

Also Published As

Publication number Publication date
AU2019354653A1 (en) 2021-05-27
JP2024075598A (ja) 2024-06-04
US20230336775A1 (en) 2023-10-19
CN112889287A (zh) 2021-06-01
KR20210068451A (ko) 2021-06-09
MX2021003793A (es) 2021-05-27
AU2023208181A1 (en) 2023-08-17
JP2022502904A (ja) 2022-01-11
EP3861740A1 (en) 2021-08-11
US11729417B2 (en) 2023-08-15
WO2020072414A1 (en) 2020-04-09
US20220060743A1 (en) 2022-02-24
AU2019354653B2 (en) 2023-04-27

Similar Documents

Publication Publication Date Title
JP7450611B2 (ja) 一般化された双予測および重み付き予測
JP7299221B2 (ja) 隣接サンプルに応じた線形モデルに基づく映像符号化及び復号のための方法と装置
US20230164314A1 (en) Method and apparatus for deblocking an image
EP3657794A1 (en) Method and device for picture encoding and decoding
WO2020106564A2 (en) Method and device for picture encoding and decoding
US11962753B2 (en) Method and device of video coding using local illumination compensation (LIC) groups
US20230095684A1 (en) High level syntax simplified video coding tool set for small blocks
EP3878178A1 (en) Video encoding or decoding using block extension for overlapped block motion compensation
KR20210096244A (ko) 픽쳐 인코딩 및 디코딩을 위한 방법 및 디바이스
JP2023500503A (ja) 符号化及び復号化方法並びに装置
KR20220123666A (ko) 가중-예측 파라미터들의 추정
EP3672253A1 (en) Method and apparatus for picture encoding and decoding
EP3668100A1 (en) Method and device for picture encoding and decoding
US11936871B2 (en) Method and device for picture encoding and decoding using illumination compensation
US20230023837A1 (en) Subblock merge candidates in triangle merge mode
US20220038704A1 (en) Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma
EP3691271A1 (en) Generalized bi-prediction and weighted prediction
JP7509773B2 (ja) 二重木を伴う現ピクチャ参照ブロックベクトル初期化
JP2024513657A (ja) ビデオエンコード及びデコードのためのテンプレートマッチング予測
JP2022537222A (ja) 局所照明補正フラグインヘリタンス

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220907

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240126

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240305

R150 Certificate of patent or registration of utility model

Ref document number: 7450611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150