JP2019531029A - 照度補償のためのテンプレートサイズを適応的に決定するシステムおよび方法 - Google Patents

照度補償のためのテンプレートサイズを適応的に決定するシステムおよび方法 Download PDF

Info

Publication number
JP2019531029A
JP2019531029A JP2019518069A JP2019518069A JP2019531029A JP 2019531029 A JP2019531029 A JP 2019531029A JP 2019518069 A JP2019518069 A JP 2019518069A JP 2019518069 A JP2019518069 A JP 2019518069A JP 2019531029 A JP2019531029 A JP 2019531029A
Authority
JP
Japan
Prior art keywords
current block
template
block
video
sample
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
JP2019518069A
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2019531029A publication Critical patent/JP2019531029A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/186Methods 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 a colour or a chrominance component
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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/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
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/553Motion estimation dealing with occlusions
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

技法およびシステムは、ビデオデータを処理するために提供される。例えば、ビデオデータのピクチャの現在のブロックは、符号化デバイスまたは復号デバイスによって処理するために取得されることができる。現在のブロックのパラメータが決定されることができる。現在のブロックの決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数が決定されることができる。現在のブロックのための動き補償が実行されることができる。例えば、1つまたは複数の照度補償パラメータは、現在のブロックのテンプレートおよび参照ピクチャのテンプレートを使用して現在のピクチャのために導出されることができる。【選択図】図17

Description

[0001]本願は、ビデオコーディングおよび圧縮に関する。より詳細には、本願は、改良された照度補償を実行するシステムおよび方法に関する。
[0002]多くのデバイスおよびシステムは、ビデオデータが処理され消費のために出力されることを認める。デジタルビデオデータは、消費者およびビデオプロバイダの要望を満たすために大容量を含む。例えば、ビデオデータの消費者は、高い忠実度、解像度、フレームレートおよびそれらと同様のものをもつ、最大限の品質のビデオを望む。結果として、これらの要望を満たすために要求されたビデオデータは、ビデオデータを処理し記憶するデイバスおよび通信ネットワーク上に負担を掛ける。
[0003]様々なビデオコーディング技法は、ビデオデータを圧縮するために使用され得る。ビデオコーディングは、1つまたは複数のビデオコーディング標準に従って実行される。例えば、ビデオコーディング標準は、HEVC(high-efficiency video coding)、AVC(advanced video coding)、MPEG(moving picture experts group)コーディング、または同様のものを含む。ビデオコーディングは一般に、ビデオ画像またはシーケンス中に存在する冗長性の利点を取る予測方法(例えば、インター予測、イントラ予測、または同様のもの)を利用する。ビデオコーディング技法の重要な目的は、より低いビットレートを使用する形式にビデオデータを圧縮する一方、ビデオ品質への劣化を避けるまたは最小限にすることである。利用可能になっている今まで発展してきているビデオサービスで、より良いコーディング効率をもつ符号化技法が必要とされる。
[0004]照度補償は、1つまたは複数のピクチャの間の照度における変動を効率的に補償するために使用されることができる。いくつかのインプリメンテーションでは、技法およびシステムは、ローカル照度補償(LIC)のために使用する1つまたは複数のテンプレートのサイズを適応的に決定するために本明細書に説明される。例えば、現在のブロックのための1つまたは複数のLICパラメータを導出するために使用されるテンプレート中のピクセルの行および/または列の数は、現在のブロックのパラメータに依存して変化することができる。パラメータは、ブロックサイズ(例えば、ブロックの幅、ブロックの高さ、またはブロックの幅および高さ、あるいはサイズの他の適切な測定値)、ブロックのクロマフォーマット(例えば、4:2:0フォーマット、4:2:2フォーマット、4:4:4フォーマット、または他の適切なクロマフォーマット)、またはテンプレートサイズを決定するために使用されることができる他のパラメータを含むことができる。
[0005]少なくとも1つの例に従って、ビデオデータを処理する方法が提供される。方法は、ビデオデータの現在ピクチャの現在のブロックを取得することを備える。方法はさらに、現在のブロックのパラメータを決定することを備える。方法はさらに、現在のブロックの決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することを備える。方法はさらに、現在のブロックのための動き補償を実行することを備える。動き補償を実行することは、現在のブロックのテンプレートおよび参照ピクチャのテンプレートを使用して現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む。
[0006]別の例では、ビデオデータを記憶するように構成されたメモリと、プロセッサとを含むビデオデータを処理するための装置が提供される。プロセッサは、ビデオデータの現在ピクチャの現在のブロックを取得するように構成され、且つ取得することができる。プロセッサはさらに、現在のブロックのパラメータを決定するように構成され、且つ決定することができる。プロセッサはさらに、現在のブロックの決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定するように構成される。プロセッサはさらに、現在のブロックのための動き補償を実行するように構成され、且つ実行することができる。動き補償を実行することは、現在のブロックのテンプレートおよび参照ピクチャのテンプレートを使用して現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む。
[0007]別の例では、非一時的コンピュータ可読媒体は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ビデオデータのピクチャの現在のブロックを取得することと、現在のブロックのパラメータを決定することと、現在のブロックの決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することと、現在のブロックのための動き補償を実行すること、ここにおいて、動き補償を実行することは、現在のブロックのテンプレートおよび参照ピクチャのテンプレートを使用して現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、とを行わせる命令を有することが提供される。
[0008]別の例では、ビデオデータを処理するための装置が提供される。装置は、ビデオデータの現在ピクチャの現在のブロックを取得するための手段を含む。装置はさらに、現在のブロックのパラメータを決定するための手段を含む。装置はさらに、現在のブロックの決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定するための手段を含む。装置はさらに、現在のブロックのための動き補償を実行するための手段を含む。動き補償を実行することは、現在のブロックのテンプレートおよび参照ピクチャのテンプレートを使用して現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む。
[0009]いくつかの態様では、現在のブロックをパラメータは、現在のブロックのサイズを含む。いくつかのケースでは、現在のブロックのサイズは、現在のブロックの幅を含む。いくつかの例では、現在のブロックのテンプレート中のサンプルの行の数は、現在のブロックの幅が閾値幅より小さいときに1行である。いくつかの例では、現在のブロックのテンプレート中のサンプルの行の数は、現在のブロックの幅が閾値幅より大きいときに1行である。
[0010]いくつかのケースでは、現在のブロックのサイズは、現在のブロックの高さを含む。いくつかの例では、現在のブロックのテンプレート中のサンプルの列の数は、現在のブロックの高さが閾値高さより小さいときに1列である。いくつかの例では、現在のブロックのテンプレート中のサンプルの列の数は、現在のブロックの高さが閾値高さより大きいときに1列より大きくなる。
[0011]いくつかのケースでは、現在のブロックをサイズは、ブロックの幅およびブロックの高さを含む。
[0012]いくつかの例では、現在のブロックをパラメータは、現在のブロックのクロマフォーマットを含む。1つの例示的な例では、現在のブロックのテンプレート中のサンプルの行の数およびサンプルの列の数は、現在のブロックのクロマフォーマットが4:2:0であるとき、現在のブロックのルーマサイズの半分に設定される。別の例では、現在のブロックのテンプレート中のサンプルの行の数は、現在のブロックのルーマサイズと同じサイズに設定され、現在のブロックのテンプレート中のサンプルの列の数は、現在のブロックのクロマフォーマットが4:2:2であるとき、ルーマサイズの半分に設定される。
[0013]いくつかの例では、上で説明される、方法、装置、およびコンピュータ可読媒体はさらに、1つまたは複数の照度補償パラメータを使用して現在のブロックを復号することを備える。
[0014]いくつかの態様では、上で説明される、方法、装置、およびコンピュータ可読媒体は、符号化されたビットストリーム中で1つまたは複数の照度補償パラメータをシグナリングすることを備える。
[0015]この発明の概要は、特許請求される主題の基幹的または本質的な特徴を識別することを意図されてはおらず、特許請求される主題の範囲を決定するために単独で使用されることも意図されてはいない。主題は、この特許の明細書全体の適切な部分、任意または全ての図面、および各請求項を参照することによって理解されるべきである。
[0016]前述は、他の特徴および実施形態とともに、後続の明細書、特許請求の範囲、および添付の図面を参照するとより明らかとなるであろう。
[0017]本発明の例示の実施形態は、次の図面を参照して以下に詳細に説明される。
いくつかの例に従って、符号化デバイスおよび復号デバイスの例を例示するブロック図である。 いくつかの例に従って、マージモードのための例となる空間的近隣モーションベクトル候補を例示する概念図である。 いくつかの例に従って、アドバンスト動きベクトル予測(AMVP:advanced motion vector prediction)モードのための例となる空間的近隣モーションベクトル候補を例示する概念図である。 いくつかの例に従って、例となる時間的動きベクトル予測子(TMVP:temporal motion vector predictor)候補を例示する概念図である。 いくつかの例に従って、動きベクトルスケーリングの例を例示する概念図である。 いくつかの例に従って、現在のコーディングユニットのための照度補償(IC)パラメータを推定するために使用される現在のコーディングユニットの近隣サンプルの例を例示する概念図である。 いくつかの例に従って、現在のコーディングユニットのための照度補償(IC)パラメータを推定するために使用される参照ブロックの近隣サンプルの例を例示する概念図である。 いくつかの例に従って、現在のコーディングユニットのための照度補償(IC)パラメータの導出のために使用される現在のコーディングユニットの近隣サンプルの例を例示する概念図である。 いくつかの例に従って、現在のコーディングユニットのためのICパラメータの導出のために使用される参照ブロックの近隣サンプルの例を例示する概念図である。 いくつかの例に従って、重複したブロック動き補償(OBMC:overlapped block motion compensation)の例を例示する概念図である。 いくつかの例に従って、HEVCのためのOBMCの例を例示する概念図である。 いくつかの例に従って、HEVCのためのOBMCの例を例示する別の概念図である。 いくつかの例に従って、OBMCが適用する場合のサブブロックの例を例示する概念図である。 いくつかの例に従って、OBMCが適用する場合のサブ予測ユニットの例を例示する概念図である。 いくつかの例に従って、フレームレートアップ変換(FRUC:frame rate up conversion)におけるの片側動き推定の例を例示する概念図である。 いくつかの例に従って、フレームレートアップ変換(FRUC:frame rate up conversion)におけるの両側動き推定の例を例示する概念図である。 いくつかの例に従って、テンプレートマッチングベースの復号器側動きベクトル導出(DMVD)において使用される参照ピクチャの例を例示する概念図である。 いくつかの例に従って、テンプレートマッチングベースのDMVDにおいて使用される現在のピクチャの例を例示する概念図である。 いくつかの例に従って、DMVDにおけるミラーベースの双方向動きベクトル導出の例を例示する概念図である。 いくつかの例に従って、DMVDを使用して予測ユニット(PU)を復号する例を例示するフローチャートである。 いくつかの例に従って、ローカル照度補償パラメータのテンプレートベースの導出の例を例示する概念図である。 いくつかの例に従って、OBMCフラグと照度補償(IC)フラグとの間の改善されたシグナリングのためのプロセスの例を例示するフローチャートである。 本開示に従って、ビデオデータを処理するプロセスの例を例示するフローチャートである。 本開示に従って、ビデオデータを処理するプロセスの別の例を例示するフローチャートである。 本開示に従って、ビデオデータを処理するプロセスの別の例を例示するフローチャートである。 いくつかの例に従って、例となるビデオ符号化デバイスを例示するブロック図である。 いくつかの例に従って、例となるビデオ復号デバイスを例示するブロック図である。
[0045]本開示のある特定の態様および実施形態が、以下で提供される。当業者に明らかであるように、これらの態様および実施形態のうちのいくつかは、独立して適用されえ、およびそれらのうちのいくつかは、組み合わせて適用されうる。以下の説明では、説明を目的として、特定の詳細が発明の実施形態の完全な理解を提供するために示される。しかしながら、様々な実施形態がこれらの特定の詳細なしに実施され得ることは明らかであろう。図面および説明は、制限的であるとは意図されない。
[0046]次に続く説明は、例示の実施形態のみを提供しており、本開示の範囲、適用可能性、または構成を限定することを意図されてはいない。むしろ、次に続く例示の実施形態の説明は、例示の実施形態をインプリメントするための可能にする説明を当業者に提供する。添付された特許請求の範囲中に記載されているような本発明の精神および範囲から逸脱することなしに、要素の機能および配列において様々な変更がなされ得ることは理解されるべきである。
[0047]実施形態完全な理解を提供するために、説明において特定の詳細が与えられる。しかしながら、実施形態が、これらの特定の詳細なしで実施され得ることは、当業者によって理解されるであろう。例えば、回路、システム、ネットワーク、プロセス、および他のコンポーネントは、不必要な詳細における実施形態を曖昧にしないために、ブロック図形式のコンポーネントとして示されうる。他の事例では、よく知られている回路、プロセス、アルゴリズム、構造、および技法が、実施形態を曖昧にすることを避けるために、不必要な詳細なしに示されうる。
[0048]また、個々の実施形態が、フローチャート、フロー図、データフロー図、構造図、またはブロック図として図示されるプロセスとして説明され得ることに留意されたい。フローチャートは、動作を連続的な処理として説明し得るが、動作の多くは、並行してまたは同時に実行されることができる。加えて、動作の順序は、再配列され得る。プロセスは、その動作が完了すると終了されるが、図面に含まれていない追加のステップを有する可能性がある。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラム、等に対応し得る。プロセスが関数に対応するとき、その終了は、その関数のcalling関数またはmain関数への戻りに対応する可能性がある。
[0049]「コンピュータ可読媒体」という用語は、ポータブルまたは非ポータブル記憶デバイスと、光記憶デバイスと、命令(1つ以上)および/またはデータを記憶、包含、あるいは搬送することが可能である様々な他の媒体とを含むが、それらに限定されない。コンピュータ可読媒体は、データが記憶されることができ、且つワイヤレスにあるいはワイヤード接続を通して伝搬する搬送波および/または一時的電子信号を含まない、非一時的媒体を含み得る。非一時的媒体の例は、磁気ディスクまたはテープ、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD)、フラッシュメモリ、メモリまたはメモリデバイスのような光記憶媒体を含み得るが、それらに限定されない。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラム文の任意の組み合わせを表し得るコードおよび/または機械実行可能命令を記憶していることがあり得る。コードセグメントは、情報、データ、引き数、パラメータ、またはメモリコンテンツを渡すおよび/または受け取ることによって別のコードセグメントまたはハードウェア回路に結合され得る。情報、引き数、パラメータ、データ、等は、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信、または同様のものを含む任意の適した手段を介して渡されうるか、転送され得るか、または送信され得る。
[0050]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによってインプリメントされ得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードにおいてインプリメントされたとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(例えば、コンピュータプログラム製品)は、コンピュータ可読または機械可読媒体中に記憶され得る。プロセッサは、必要なタスクを実行し得る。
[0051] ビデオコーディングデバイスは、ビデオデータを効率的に符号化および復号するためのビデオ圧縮技法をインプリメントする。ビデオ圧縮技法は、空間的予測(例えば、イントラフレーム予測またはイントラ予測)、時間的予測(例えば、インターフレーム予測またはインター予測)、(ビデオデータの異なるレイヤにわたるインターレイヤ予測、および/またはビデオシーケンスに固有の冗長性を低減または取り除く他の予測技法を含む、異なる予測モードを適用することを含み得る。ビデオ符号化器は、(より詳細に以下に説明される)コーディングユニットまたはビデオブロックと呼ばれる矩形領域中に元のビデオシーケンスの各ピクチャを区分化することができる。これらのビデオブロックは、特定の予測モードを使用して符号化され得る。
[0052]ビデオブロックは、より小さいブロックのうちの1つまたは複数のグループに1つまたは複数の方法において分割され得る。ブロックは、コーディングブロック、予測ブロック、変換ブロック、または他の適切なブロックをコーディングすることを含むことができる。別に指定されない限り、「ブロック」の一般的な参照は、このようなビデオブロック(例えば、コーディングツリーブロック、コーディングブロック、予測ブロック、変換ブロック、または当業者によって理解されるであろう、他の適切なブロックあるいはサブブロックを参照し得る。さらに、これらのブロックの各々はまた、「ユニット」(例えば、コーディングツリーユニット(CTU)、コーディングユニット、予測ユニット(PU)、転送ユニット(TU)、または同様なもの)として本明細書に交換可能に参照され得る。いくつかのケースでは、ユニットは、ビットストリーム中に符号化されるコーディング論理ユニットを示す一方、ブロックは、プロセスが目標にするビデオフレームバッファの一部を示し得る。
[0053]インター予測モードについて、ビデオ符号化器は、参照フレームまたは参照ピクチャと呼ばれる別の時間的なロケーションにおいて位置付けられるフレーム(またはピクチャ)において符号化されているブロックと似ているブロックを探索することができる。ビデオ符号化器は、符号化されるべきブロックからある空間的置き換えに探索を制限し得る。最良の一致は、水平置き換えコンポーネントおよび垂直置き換えコンポーネントを含む2次元(2D)動きベクトルを使用して位置付けられ得る。イントラ予測モードについて、ビデオ符号化器は、同じピクチャ内で前に符号化された近隣ブロックからのデータに基づいて空間的予測技法を使用して予測されたブロックを形成し得る。
[0054]ビデオ符号化器は、予測誤りを決定し得る。例えば、予測は、符号化されているブロック中のピクセル値と、予測ブロックとの間の差として決定されることができる。予測誤りはまた、剰余と呼ばれることができる。ビデオ符号化器はまた、変換係数を生成するために、予測誤り(例えば、離散工サイン変換(DCT)、または他の適切な変換)に変換を適用し得る。変換後、ビデオ符号化器は、変換係数を量子化し得る。量子化された変換係数および動きベクトルは、シンタックス要素を使用して表わされ、制御情報と共に、ビデオシーケンスのコード化表現を形成し得る。いくつかの例では、ビデオ符号化器は、シンタックス要素をエントロピーコードし得、それによりさらにそれらの表現のために必要とされるビットの数を低減する。
[0055]ビデ復号器は、上で説明したシンタックス要素および制御情報を使用して、現在のフレームを復号するための予測データ(例えば、予測ブロック)を構築し得る。例えば、ビデオ符号化器は、予測ブロックおよび圧縮された予測誤りを追加し得る。ビデオ復号器は、量子化された係数を使用して変換ベースの関数を重み付けすることによって圧縮された予測誤りを決定し得る。再構築されたフレームと元のフレームとの間の差分は、再構築誤りと呼ばれる。
[0056]いくつかの例では、ビデオデータを処理する1つまたは複数のシステムおよび方法は、ブロックベースのビデオコーディング中の照度補償(IC)パラメータを導出または推定することに向けられる。いくつかの例では、ビデオ符号化器および/またはビデオ復号器は、1つまたは複数のピクチャ官の照度(例えば、明るさ)における変化を効率的にコード化するためにローカル照度補償(LIC)(または照度補償(IC))を実行することができる。ビデオ符号化器および/またはビデオ復号器は、符号化または復号されているコーディングブロックまたはコーディングユニットのための1つまたは複数のICパラメータ(例えば、オフセット、1つまたは複数のスケーリングファクタ、シフト数、または他の適切なICパラメータ)を決定することができる。ICパラメータは、複数の参照ブロックのサンプル、現在の1つまたは複数の近隣ブロックのサンプル、および/または他の情報に基づいて決定されることができる。ビデオ復号器は、現在のブロックを復号するための予測データを構築するために、ICパラメータおよび/または他のデータを利用することができる。
[0057]いくつかの例では、ビデオデータを処理する1つまたは複数のシステムおよび方法は、LICのために使用する1つまたは複数のテンプレートのサイズを適応的に決定することに向けられる。例えば、現在のブロックのための1つまたは複数のLICパラメータを導出するために使用されるテンプレート中のピクセルの行および/または列の数は、現在のブロックのパラメータに依存して変化することができる。パラメータは、ブロックサイズ(例えば、ブロックの幅、ブロックの高さ、またはブロックの幅および高さ、あるいはサイズの他の適切な測定値)、ブロックのクロマフォーマット(例えば、4:2:0フォーマット、4:2:2フォーマット、4:4:4フォーマット、または他の適切なクロマフォーマット)、またはテンプレートサイズを決定するために使用されることができる他のパラメータを含むことができる。
[0058]いくつかの例では、ビデオデータを処理する1つまたは複数のシステムおよび方法は、所定のセットから重みの適応選択に向けられる。例えば、テンプレートベースのソリューションは、復号器に重みの選択をシグナルする必要なしに、重みの所定のセットの1つまたは複数の重みから1つまたは複数の最適重みを探索するために使用されることができる。このシステムおよび方法は、予測プロセスにおいて重みを利用する動きベクトルまたは補償に基づく任意のマッチングのために使用されることができる。例えば、このシステムおよび方法は、任意の2予測ブロック(bi-predicted block)のために使用されることができ、ここで、2つの論理的な分離ピクチャを指す2つの動きベクトルが考慮される。このような例では、重みは、1に等しい合計を持つ両方の参照ピクチャ(例えば、ref0およびref1)のための重み付けファクタのペアと呼ばれることができる。このようなシステムおよび方法がそれのために使用されることができるマッチングベースの動き予測または補償技法の例は、LIC、重み付けされた予測(WP)、または予測プロセスにおける重みを利用する任意の他の適切な技法を含む。
[0059]本明細書に説明される技法は、既存のビデオコード(例えば、HEVC(High Efficiency Video Coding)、AVC(Advanced Video Coding)、または他の適切な既存のビデオコーデック)に適用されることができ、例えば、JEM(joint exploration modelのような、任意の未来のビデオコーディング基準のための効率的なコーディングツール出ることができる。
[0060]図1は、符号化デバイス104および復号デバイス112を含むシステム100の例を例示するブロック図である。符号化デバイス104は、ソースデバイスの一部でありえ、および復号デバイス112は、受信デバイスの一部であり得る。ソースデバイスおよび/または受信デバイスは、モバイルまたは固定の電話ハンドセット(例えば、スマートフォン、セルラ電話、または同様のもの)、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス、インターネットプロトコル(IP)カメラのような電子デバイス、または任意の他の適した電子デバイスを含み得る。いくつかの例では、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための1つまたは複数のワイヤレストランシーバを含み得る。本明細書に説明されるコーディング技法は、(例えば、インターネットを通した)ストリーミングビデオ送信、テレビブロードキャストまたは送信、データ記憶媒体上での記憶のためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用を含む、様々なマルチメディア適用におけるビデオコーディングに適用可能である。いくつかの例では、システム100は、ビデオ会議、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、ゲーミング、および/またはビデオ電話通信のような適用をサポートするために、1方向(one-way)または2方向(two-way)のビデオ送信をサポートすることができる。
[0061]符号化デバイス104(または符号化器)は、符号化されたビデオビットストリームを生成すべく、ビデオコーディング規格またはプロトコルを使用してビデオデータを符号化するために使用されることができる。ビデオコーディング規格の例は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張を含む(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264、および高効率ビデオコーディング(HEVC)またはITU−T H.265を含む。範囲およびスクリーンコンテンツコーディング拡張、3Dビデオコーディング(3D−HEVC)およびマルチビュー拡張(MV−HEVC)およびスケーラブル拡張(SHVC)を含む、マルチレイヤビデオコーディングを扱うHEVCへの様々な拡張が存在する。HEVCおよびその拡張は、ITU−T ビデオコーディングエキスパートグループ(VCEG)およびISO/IECモーションピクチャエキスパートグループ(MPEG)のビデオコーディングに関する共同コラボレーションチーム(JCT−VC:the Joint Collaboration Team on Video Coding)ならびに3Dビデオコーディング拡張開発に関する共同コラボレーションチーム(JCT−3V:Joint Collaboration Team on 3D Video Coding Extension Development)によって開発されてきた。MPEGとITU−T VCEGとはまた、次世代のビデオコーディング規格のための新しいコーディングツールを調査するために、共同調査ビデオチーム(JVET)を結成した。参照ソフトウェアは、JEM(共同調査モデル)と呼ばれる。
[0062]ここに説明される多くの例は、JEMモデル、HEVC規格、および/またはそれらの拡張を使用した例を提供する。しかしながら、ここに説明される技法およびシステムはまた、AVC、MPEG、それらの拡張のような他のコーディング規格、あるいは現在存在する他の適したコーディング規格または将来のコーディング規格に適用可能であり得る。それ故に、ここに説明される技法およびシステムは、特定のビデオコーディング規格を参照して説明されうるが、当業者は、その説明がその特定の規格にしか適用されないと解釈されるべきではないことを認識するであろう。
[0063]図1を参照すると、ビデオソース102は、符号化デバイス104にビデオデータを提供し得る。ビデオソース102は、ソースデバイスの一部でありうるか、またはソースデバイス以外のデバイスの一部であり得る。ビデオソース102は、ビデオキャプチャデバイス(例えば、ビデオカメラ、カメラ電話、ビデオ電話、または同様のもの)、記憶されたビデオを包含するビデオアーカイブ、ビデオデータを提供するビデオサーバまたはコンテンツプロバイダ、ビデオサーバまたはコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組み合わせ、または任意の他の適したビデオソースを含み得る。
[0064]ビデオソース102からのビデオデータは、1つまたは複数の入力ピクチャまたはフレームを含み得る。ピクチャまたはフレームは、ビデオの一部である静止画像である。符号化デバイス104の符号化器エンジン106(または符号化器)は、符号化されたビデオビットストリームを生成するためにビデオデータを符号化する。いくつかの例では、符号化されたビデオビットストリーム(あるいは、「ビデオビットストリーム」または「ビットストリーム」)は、一連の1つまたは複数のコーディングされたビデオシーケンスである。コーディングされたビデオシーケンス(CVS)は、ベースレイヤ中にランダムアクセスポイントピクチャを有し、且つある特定の特性を有するアクセスユニット(AU)から開始し、ベースレイヤ中にランダムアクセスポイントピクチャを有し、且つある特定の特性を有する次のAUまでの、およびそれを含まない一連のAUを含む。例えば、CVSを開始するランダムアクセスポイントピクチャのある特定の特性は、1に等しいRASLフラグ(例えば、NoRaslOutputFlag)を含み得る。そうでない場合は、(0に等しいRASLフラグを有する)ランダムアクセスポイントピクチャは、CVSを開始しない。アクセスユニット(AU)は、1つまたは複数のコーディングされたピクチャ、および同じ出力時間を共有するそのコーディングされたピクチャに対応する制御情報を含む。ピクチャのコーディングされたスライスは、ネットワーク抽象化レイヤ(NAL)ユニットと呼ばれるデータユニットへとビットストリームレベルでカプセル化される。例えば、HEVCビデオビットストリームは、NALユニットを含む1つまたは複数のCVSを含みうる。NALユニットの各々は、NALユニットヘッダを有する。一例では、ヘッダは、(マルチレイヤ拡張を除き)H.264/AVCの場合は1バイト、およびHEVCの場合は2バイトである。NALユニットヘッダ中のシンタックス要素は、指定されたビットを取り、したがって、中でもとりわけ、トランスポートストリーム、リアルタイムトランスポート(RTP)プロトコル、ファイルフォーマットのような全ての種類のシステムおよびトランスポートレイヤに対して可視である。
[0065]ビデオコーディングレイヤ(VCL)NALユニットおよび非VCL NALユニットを含む、2つのクラスのNALユニットがHEVC規格中に存在する。VCL NALユニットは、コーディングされたピクチャデータの1つのスライスまたはスライスセグメント(以下に説明される)を含み、および非VCL NALユニットは、1つまたは複数のコーディングされたピクチャに関連する制御情報を含む。いくつかのケースでは、NALユニットは、パケットと呼ばれることができる。HEVC AUは、コーディングされたピクチャデータを包含するVCL NALユニットと、コーディングされたピクチャデータに対応する非VCL NALユニット(ある場合には)とを含む。
[0066]NALユニットは、ビデオ中のピクチャのコーディングされた表現のような、ビデオデータのコーディングされた表現を形成するビットのシーケンス(例えば、符号化されたビデオビットストリーム、ビットストリームのCVS、または同様のもの)を包含し得る。符号化器エンジン106は、各ピクチャを複数のスライスへと区分化することによってピクチャのコーディングされた表現を生成する。スライスは、同じピクチャ内の他のスライスからのデータへの依存なしにスライス中の情報がコーディングされるように、他のスライスとは独立している。スライスは、独立スライスセグメントと、存在する場合は、以前のスライスセグメントに従属する1つまたは複数の従属スライスセグメントとを含む1つまたは複数のスライスセグメントを含む。スライスはその後、ルーマサンプルおよびクロマサンプルのコーディングツリーブロック(CTB)へと区分化される。ルーマサンプルの1つのCTBおよびクロマサンプルの1つまたは複数のCTBは、サンプルのためのシンタックスとともに、コーディングツリーユニット(CTU)と呼ばれる。CTUは、HEVC符号化のための基本処理ユニットである。CTUは、変動するサイズの複数のコーディングユニット(CU)へと分割されることができる。CUは、コーディングブロック(CB)と呼ばれるルーマおよびクロマサンプルアレイを包含する。
[0067]ルーマおよびクロマCBはさらに、予測ブロック(PB)へとさらに分割されることができる。PBは、(利用可能であるか、または使用のために有効にされるときに)インター予測またはイントラブロックコピー予測のために同じ動きパラメータを使用するルーマ成分またはクロマ成分のサンプルのブロックである。1つのルーマPBおよび1つまたは複数のクロマPBは、関連するシンタックスとともに、予測ユニット(PU)を形成する。インター予測の場合、動きパラメータのセット(例えば、1つまたは複数の動きベクトル、参照インデックス、または同様のもの)は、PUごとにビットストリーム中でシグナリングされ、1つのルーマPBおよび1つまたは複数のクロマPBのインター予測のために使用される。動きパラメータはまた、動き情報と呼ばれることができる。CBはまた、1つまたは複数の変換ブロック(TB)へと区分化されることができる。TBは、同じ2次元変換が予測残差信号をコーディングするために適用される色成分のサンプルの正方形ブロックを表す。変換ユニット(TU)は、ルーマおよびクロマサンプルのTB、および対応するシンタックス要素を表す。
[0068]CUのサイズは、コーディングモードのサイズに対応し、および形状が正方形であり得る。例えば、CUのサイズは、8×8サンプル、16×16サンプル、32×32サンプル、64×64サンプル、または最大で対応するCTUのサイズまでの任意の他の適切なサイズであり得る。「N×N」というフレーズは、垂直および水平寸法の観点からビデオブロックのピクセル寸法(例えば、8ピクセル×8ピクセル)を指すために本明細書では使用され得る。ブロック中の画素は、行と列に配置され得る。いくつかの実施形態では、ブロックは、水平方向に、垂直方向と同じ数のピクセルを有さないことがあり得る。CUに関連付けられたシンタックスデータは、例えば、1つまたは複数のPUへのCUの区分化を説明し得る。区分化モードは、CUがイントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なり得る。PUは、形状が非正方形になるように区分化され得る。CUに関連付けられたシンタックスデータはまた、例えば、CTUにしたがったCUの1つまたは複数のTUへの区分化を説明し得る。TUは、形が正方形または非正方形であることができる。
[0069]HEVC規格によると、変換は、変換ユニット(TU)を使用して実行され得る。TUは、CUによって異なり得る。TUは、所与のCU内のPUのサイズに基づいてサイジングされ得る。TUは、PUと同じサイズであり得るか、またはより小さくあり得る。いくつかの例では、CUに対応する残差サンプルは、「残差四分木」(RQT)として知られる四分木構造を使用してより小さい単位にさらに分割され得る。RQTのリーフノードは、TUに対応し得る。TUに関連付けられたピクセル差分値は、変換係数を作り出すために変換され得る。変換係数はその後、符号化器エンジン106によって量子化され得る。
[0070]ビデオデータのピクチャがCUへと区分化されると、符号化器エンジン106は、予測モードを使用して各PUを予測する。予測ユニットまたは予測ブロックはその後、残差を得るために元のビデオデータから減算される(以下に説明される)。各CUについて、予測モードは、シンタックスデータを使用してビットストリーム内部でシグナリングされ得る。予測モードは、イントラ予測(またはイントラピクチャ予測)あるいはインター予測(またはインターピクチャ予測)を含み得る。イントラ予測は、ピクチャ内の空間的に近隣するサンプル間の相関を利用する。例えば、イントラ予測を使用して、各PUは、例えば、PUについての平均値を見出すためのDC予測、平面をPUに合わせるための平面予測、近隣データから補外するための方向予測、または任意の他の適したタイプの予測を使用して、同じピクチャ中の近隣画像データから予測される。インター予測は、画像サンプルのブロックについての動き補償予測を導出するために、ピクチャ間の時間的相関を使用する。例えば、インター予測を使用して、各PUは、(出力順序で現在のピクチャの前または後の)1つまたは複数の参照ピクチャ中の画像データからの動き補償予測を使用して予測される。ピクチャエリアを、インターピクチャ予測を使用してコーディングするか、またはイントラピクチャ予測を使用してコーディングするかの決定は、例えば、CUレベルでなされ得る。
[0071]いくつかの例では、ピクチャの1つまたは複数のスライスは、スライスタイプを割り当てられる。スライスタイプは、Iスライス、Pスライス、およびBスライスを含む。Iスライス(イントラフレーム、独立して復号可能)は、イントラ予測によってのみコーディングされるピクチャのスライスであり、およびしたがって、Iスライスがスライスの任意の予測ユニットまたは予測ブロックを予測するためにフレーム内のデータしか必要としないことから、独立して復号可能である。Pスライス(単方向(uni−directional)予測フレーム)は、イントラ予測で、および単方向インター予測でコーディングされうるピクチャのスライスである。Pスライス内の各予測ユニットまたは予測ブロックは、イントラ予測でコーディングされるか、またはインター予測でコーディングされるかのいずれかである。インター予測が適用されると、予測ユニットまたは予測ブロックは、1つの参照ピクチャによってのみ予測され、およびしたがって、参照サンプルは、1つのフレームの1つの参照領域からのもののみである。Bスライス(双方向予測フレーム)は、イントラ予測で、およびインター予測で(例えば、双予測(bi-prediction)または単予測(uni-prediction)のいずれかで)コーディングされうるピクチャのスライスである。Bスライスの予測ユニットまたは予測ブロックは、2つの参照ピクチャから双方向に予測されえ、ここで、各ピクチャは、1つの参照領域を与え(contributes)、2つの参照領域のサンプルセットは、双方向予測ブロックの予測信号を作り出すために(例えば、等しい重みで、または異なる重みで)重み付けされる。上述されたように、1つのピクチャのスライスは、独立してコーディングされる。いくつかのケースでは、ピクチャは、単に1つのスライスとしてコーディングされることができる。
[0072]PUは、予測プロセスに関連するデータ(例えば、動きパラメータまたは他の適したデータ)を含み得る。例えば、PUがイントラ予測を使用して符号化されるとき、PUは、PUに対するイントラ予測モードを記述するデータを含み得る。別の例として、PUがインター予測を使用して符号化されるとき、PUは、PUのための動きベクトルを定義するデータを含み得る。PUについての動きベクトルを定義するデータは、例えば、動きベクトルの水平成分(Δx)、動きベクトルの垂直成分(Δy)、動きベクトルについての解像度(例えば、整数精度、4分の1ピクセル精度、または8分の1ピクセル精度)、動きベクトルが指し示す参照ピクチャ、参照インデックス、動きベクトルについての参照ピクチャリスト(例えば、リスト0、リスト1、またはリストC)、あるいはそれらの任意の組み合わせを記述し得る。
[0073]符号化デバイス104はその後、変換および量子化を実行し得る。例えば、予測に続いて、符号化器エンジン106は、PUに対応する残差値を算出し得る。残差値は、コーディングされるピクセルの現在のブロック(PU)と、現在のブロックを予測するために使用される予測ブロック(例えば、予測されたバージョンの現在のブロック)との間のピクセル差分値を備え得る。例えば、予測ブロックを生成した(例えば、インター予測またはイントラ予測を出した)後に、符号化器エンジン106は、現在のブロックから予測ユニットによって作り出される予測ブロックを減算することによって残差ブロックを生成することができる。残差ブロックは、現在のブロックのピクセル値と予測ブロックのピクセル値との間の差分を定量化するピクセル差分値のセットを含む。いくつかの例では、残差ブロックは、2次元ブロックフォーマット(例えば、ピクセル値の2次元行列または配列)で表され得る。そのような例では、残差ブロックは、ピクセル値の2次元表現である。
[0074]予測が実行された後に残り得る任意の残差データは、ブロック変換を使用して変換され、それは、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、他の適した変換関数、またはそれらの任意の組み合わせに基づき得る。いくつかのケースでは、1つまたは複数のブロック変換(例えば、サイズ32×32、16×16、8×8、4×4、または他の適切なサイズ)が、各CU中の残差データに適用され得る。いくつかの実施形態では、TUが、符号化器エンジン106によってインプリメントされる変換および量子化プロセスのために使用され得る。1つまたは複数のPUを有する所与のCUがまた、1つまたは複数のTUを含み得る。以下でさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数へと変換され得、その後、エントロピーコーディングのための直列化された変換係数(serialized transform coefficients)を生成するために、TUを使用して量子化およびスキャンされ得る。
[0075]いくつかの実施形態では、CUのPUを使用するイントラ予測またはインター予測コーディングに続いて、符号化器エンジン106は、CUのTUについての残差データを算出し得る。PUは、空間的ドメイン(またはピクセルドメイン)中のピクセルデータを備え得る。TUは、ブロック変換の適用後の変換ドメイン中の係数を備え得る。前述されたように、残差データは、PUに対応する予測値および符号化されていないピクチャのピクセル間のピクセル差分値に対応し得る。符号化器エンジン106は、CUについての残差データを含むTUを形成しえ、およびその後、CUについての変換係数を作り出すためにTUを変換し得る。
[0076]符号化器エンジン106は、変換係数の量子化を実行し得る。量子化は、係数を表すために使用されるデータの量を低減するために、変換係数を量子化することによって、さらなる圧縮を提供する。例えば、量子化は、係数のうちのいくつかまたは全てに関連付けられたビット深度を低減し得る。一例では、nビット値を有する係数は、量子化中にmビット値に切り捨てられえ、nは、mよりも大きい。
[0077]量子化が実行されると、コーディングされたビデオビットストリームは、量子化された変換係数、予測情報(例えば、予測モード、動きベクトル、ブロックベクトル、または同様のもの)、区分化情報、および他のシンタックスデータのような任意の他の適したデータを含む。コーディングされたビデオビットストリームの異なる要素はその後、符号化器エンジン106によってエントロピー符号化され得る。いくつかの例では、符号化器エンジン106は、エントロピー符号化されることができる直列化されたベクトルを作り出すために、量子化された変換係数をスキャンするための予め定義されたスキャン順序を利用し得る。いくつかの例では、符号化器エンジン106は、適応スキャンを実行し得る。ベクトル(例えば、1次元ベクトル)を形成するために、量子化された変換係数をスキャンした後に、符号化器エンジン106は、ベクトルをエントロピー符号化し得る。例えば、符号化器エンジン106は、コンテキスト適応可変長コーディング(context adaptive variable length coding)、コンテキスト適応バイナリ算術コーディング(context adaptive binary arithmetic coding)、シンタックスベースのコンテキスト適応バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding)、確率間隔区分化エントロピーコーディング(probability interval partitioning entropy coding)、または別の適したエントロピー符号化技法を使用し得る。
[0078]前述されたように、HEVCビットストリームは、VCL NALユニットおよび非VCL NALユニットを含む、NALユニットのグループを含む。VCL NALユニットは、コーディングされたビデオビットストリームを形成するコーディングされたピクチャデータを含む。例えば、コーディングされたビデオビットストリームを形成するビットのシーケンスは、VCL NALユニット中に存在する。非VCL NALユニットは、他の情報に加えて、符号化されたビデオビットストリームに関連する高レベル情報を有するパラメータセットを包含し得る。例えば、パラメータセットは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)を含み得る。パラメータセットの目的の例は、ビットレート効率、誤り耐性、およびシステムレイヤインターフェースを提供することを含む。各スライスは、スライスを復号するために復号デバイス112が使用しうる情報にアクセスすべく、単一のアクティブPPS、SPS、およびVPSを参照する。識別子(ID)は、VPS ID、SPS ID、およびPPS IDを含むパラメータセットごとにコーディングされ得る。SPSは、SPS IDおよびVPS IDを含む。PPSは、PPS IDおよびSPS IDを含む。各スライスヘッダは、PPS IDを含む。IDを使用して、アクティブパラメータセットは、所与のスライスについて識別されることができる。
[0079]PPSは、所与のピクチャ中の全てのスライスに適用される情報を含む。このことから、ピクチャ中の全てのスライスは、同じPPSを参照する。異なるピクチャ中のスライスもまた、同じPPSを参照し得る。SPSは、同じコーディングされたビデオシーケンス(CVS)またはビットストリーム中の全てのピクチャに適用される情報を含む。前述されたように、コーディングされたビデオシーケンスは、ベースレイヤ中のランダムアクセスポイントピクチャ(例えば、瞬時復号参照(IDR:instantaneous decode reference)ピクチャまたはブロークンリンクアクセス(BLA)ピクチャ、あるいは他の適切なランダムアクセスポイントピクチャ)から開始し、且つ(上述された)ある特定のプロパティを有し、そしてベースレイヤ中にランダムアクセスポイントピクチャを有し、且つある特定のプロパティを有する次のアクセスユニット(AU)(またはビットストリームの終了)までの、およびそれを含まない一連のAUである。SPS中の情報は、コーディングされたビデオシーケンス内のピクチャごとに変化しないことがあり得る。コーディングされたビデオシーケンス中のピクチャは、同じSPSを使用し得る。VPSは、コーディングされたビデオシーケンスまたはビットストリーム内の全てのレイヤに適用される情報を含む。VPSは、コーディングされたビデオシーケンス全体に適用されるシンタックス要素を有するシンタックス構造を含む。いくつかの実施形態では、VPS、SPS、またはPPSは、符号化されたビデオビットストリームで帯域内で送信され得る。いくつかの実施形態では、VPS、SPS、またはPPSは、コーディングされたビデオデータを包含するNALユニットとは別個の送信中で帯域外で送信され得る。
[0080]ビデオビットストリームはまた、補足エンハンスメント情報(SEI:Supplemental Enhancement Information)メッセージを含むことができる。例えば、SEI NALユニットは、ビデオビットストリームの一部であることができる。いくつかのケースでは、SEIメッセージは、復号プロセスによって必要とされない情報を包含することができる。例えば、SEIメッセージ中の情報は、復号器がビットストリームのビデオピクチャを復号するのに不可欠ではないことがありうるが、復号器は、ピクチャの表示または処理を改善するためにその情報を使用することができる(例えば、復号された出力)。SEIメッセージ中の情報は、埋め込まれたメタデータであることができる。1つの例示的な例では、SEIメッセージ中の情報は、コンテンツの見易さを改善するために復号器側エンティティによって使用されることができる。いくつかの事例では、ある特定の適用規格は、品質の改善が適用規格に適合する全てのデバイスにもたらされることができるように、ビットストリーム中におけるそのようなSEIメッセージの存在を義務付けうる(例えば、多くの他の例に加えて、フレーム互換平面立体3DTVビデオフォーマット(frame-compatible plano-stereoscopic 3DTV video format)のためのフレームパッキングSEIメッセージ(the frame-packing SEI message)の搬送、ここで、SEIメッセージは、ビデオのフレームごとに搬送される、回復ポイントSEIメッセージ(a recovery point SEI message)の対応、DVBにおけるパンスキャンスキャン矩形SEIメッセージ(pan-scan scan rectangle SEI message)の使用)。
[0081]符号化デバイス104の出力110は、受信デバイスの復号デバイス112に通信リンク120を通して、符号化されたビデオビットストリームデータを構成するNALユニットを送り得る。復号デバイス112の入力114は、NALユニットを受信し得る。通信リンク120は、ワイヤレスネットワーク、ワイヤードネットワーク、またはワイヤードネットワークとワイヤレスネットワークとの組み合わせによって提供されるチャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組み合わせを含み得、および任意の適したワイヤレスネットワーク(例えば、インターネットまたは他のワイドエリアネットワーク、パケットベースのネットワーク、WiFi(登録商標)、無線周波数(RF)、UWB、WiFi−Direct、セルラ、ロングタームエボリューション(LTE(登録商標))、WiMax(登録商標)、または同様のもの)を含み得る。ワイヤードネットワークは、任意のワイヤードインターフェース(例えば、ファイバ、イーサネット(登録商標)、電力線イーサネット、同軸ケーブルを通したイーサネット、デジタル信号線(DSL)、または同様のもの)を含み得る。ワイヤードおよび/またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチ、または同様のもののような様々な機器を使用してインプリメントされ得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、および受信デバイスに送信され得る。
[0082]いくつかの例では、符号化デバイス104は、記憶装置108中に符号化されたビデオデータを記憶し得る。出力110は、符号化器エンジン106から、または記憶装置108から、符号化されたビデオデータを取り出し得る。記憶装置108は、多様な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。例えば、記憶装置108は、ハードドライブ、記憶ディスク、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化されたビデオデータを記憶するための任意の他の適したデジタル記憶媒体を含み得る。
[0083]復号デバイス112の入力114は、符号化されたビデオビットストリームを受信し、および復号器エンジン116に、または復号器エンジン116による後の使用のために記憶装置118にビデオビットストリームデータを提供し得る。復号器エンジン116は、(例えば、エントロピー復号器を使用した)エントロピー復号、および符号化されたビデオデータを構成する1つまたは複数のコーディングされたビデオシーケンスの要素を抽出することによって、符号化されたビデオビットストリームデータを復号し得る。復号器エンジン116はその後、符号化されたビデオビットストリームデータを再スケーリングし、それに対して逆変換を実行し得る。残差データはその後、復号器エンジン116の予測段に渡される。復号器エンジン116はその後、ピクセルのブロック(例えば、PU)を予測する。いくつかの例では、予測は、逆変換の出力に追加される(残差データ)。
[0084]復号デバイス112は、ビデオ宛先デバイス112に復号されたビデオを出力しえ、それは、コンテンツの消費者に復号されたビデオデータを表示するためのディスプレイまたは他の出力デバイスを含み得る。いくつかの態様では、ビデオ宛先デバイス122は、復号デバイス112を含む受信デバイスの一部であり得る。いくつかの態様では、ビデオ宛先デバイス122は、受信デバイス以外の別個のデバイスの一部であり得る。
[0085]いくつかの例では、ビデオ符号化デバイス104および/またはビデオ復号デバイス112は、それぞれ、オーディオ符号化デバイスおよびオーディオ復号デバイスと一体化され得る。ビデオ符号化デバイス104および/またはビデオ復号デバイス112はまた、1つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組み合わせのような、上述されたコーディング技法をインプリメントするのに必要な他のハードウェアまたはソフトウェアを含み得る。ビデオ符号化デバイス104およびビデオ復号デバイス112は、それぞれのデバイス中で、組み合わされた符号化器/復号器(コーデック)の一部として一体化され得る。符号化デバイス104の特定の詳細の例は、図19を参照して以下に説明される。符号化デバイス112の特定の詳細の例は、図20を参照して以下に説明される。
[0086]HEVC規格への拡張は、MV−HEVCと呼ばれるマルチビュービデオコーディング拡張と、SHVCと呼ばれるスケーラブルビデオコーディング拡張とを含む。MV−HEVCおよびSHVC拡張は、レイヤードコーディングの概念を共有しており、異なるレイヤが、符号化されたビデオビットストリーム中に含まれる。コーディングされたビデオシーケンス中の各レイヤは、一意のレイヤ識別子(ID)によってアドレスされる。レイヤIDは、NALユニットが関連付けられるレイヤを識別するために、NALユニットのヘッダ中に存在し得る。MV−HEVCでは、異なるレイヤは通常、ビデオビットストリーム中の同じシーンの異なるビューを表す。SHVCでは、ビデオビットストリームを異なる空間的解像度(またはピクチャ解像度)で、あるいは異なる再構築忠実度(reconstruction fidelities)で表す、異なるスケーラブルレイヤが提供される。スケーラブルレイヤは、(レイヤID=0の)ベースレイヤと、(レイヤID=1、2、...nの)1つまたは複数のエンハンスメントレイヤとを含み得る。ベースレイヤは、第1のバーションのHEVCのプロファイルに適合しえ、およびビットストリーム中の最下位の利用可能レイヤを表す。エンハンスメントレイヤは、ベースレイヤと比較して、増大された空間的解像度、時間的解像度またはフレームレート、および/または再構築忠実性(または品質)を有する。エンハンスメントレイヤは、階層的に編成され、およびより下位のレイヤに従属することも(またはしないことも)あり得る。いくつかの例では、異なるレイヤは、単一の標準コーデックを使用してコーディングされうる(例えば、全てのレイヤは、HEVC、SHVC、または他のコーディング規格を使用して符号化される)。いくつかの例では、異なるレイヤは、多標準コーデックを使用してコーディングされうる。例えば、ベースレイヤは、AVCを使用してコーディングされえ、その一方で、1つまたは複数のエンハンスメントレイヤは、HEVC規格へのSHVCおよび/またはMV−HEVC拡張を使用してコーディングされうる。
[0087]一般に、レイヤは、VCL NALユニットおよび非VCL NALユニットの対応するセットを含む。NALユニットは、特定のレイヤID値に割り当てられる。レイヤは、レイヤがより低いレイヤによって決まり得るセンスにおいて階層的であることができる。レイヤセットは、自己完結型であるビットストリーム中に表わされるレイヤのセットを参照し、それは、レイヤセット中のレイヤが復号プロセスにおけるレイヤセット中の他のレイヤによって決まることができるが、復号のための任意の他のレイヤによって決まらないことを意味する。従って、レイヤセット中のレイヤは、ビデオコンテンツを表わすことができる独立ビットストリームを形成することができる。レイヤセット中のレイヤのセットは、サブビットストリーム抽出プロセスの動作によって別のビットストリームから取得され得る。レイヤセットは、復号器があるパラメータに従って動作したいとき、復号されるべきレイヤのセットに対応し得る。
[0088]上述されたように、各ブロックについて、(ここでは動きパラメータとも呼ばれる)動き情報のセットが利用可能であることができる。動き情報のセットは、前方予測方向および後方予測方向についての動き情報を含む。前方および後方予測方向は、双方向予測モードの2つの予測方向であり、このケースでは、「前方」および「後方」という用語は、必ずしも幾何学的な意味を有してはいない。代わりに、「前方」および「後方」は、現在ピクチャの参照ピクチャリスト0(RefPicList0)と参照ピクチャリスト1(RefPicList1)とに対応する。いくつかの例では、1つの参照ピクチャリストしかピクチャまたはスライスに対して利用可能でないとき、RefPicList0のみが利用可能であり、およびスライスの各ブロックの動き情報は、常に前方である。
[0089]いくつかのケースでは、その参照インデックスと一緒に動きベクトルは、コーディングプロセス(例えば、動き補償)に使用される。関連する参照インデックスを有するそのような動きベクトルは、動き情報の単予測セットとして表される。各予測方向について、動き情報は、参照インデックスおよび動きベクトルを包含することができる。いくつかのケースでは、動きベクトル自体が、それが関連する参照インデックスを有すると仮定されるように参照され得るように、動きベクトルを符号化し得る。参照インデックスは、現在の参照ピクチャリスト(RefPicList0またはRefPicList1)中の参照ピクチャを識別するために使用される。動きベクトルは、現在のピクチャ中の座標位置から参照インデックスによって識別される参照ピクチャ中の座標へのオフセットを提供する水平および垂直成分を有する。例えば、参照インデックスは、現在のピクチャ中のブロックに対して使用されるべき特定の参照ピクチャを示すことができ、および動きベクトルは、参照ピクチャ中のどこに、最もマッチするブロック(現在のブロックに最もマッチするブロック)が参照ピクチャ中にあるかを示すことができる。
[0090]ピクチャ順序カウント(POC)は、ピクチャの表示順序を識別するためにビデオコーディング規格において使用されることができる。1つのコード化されたビデオシーケンス内の2つのピクチャが同じPOC値を有するケースがあるが、それは、典型的にコーディングされたビデオシーケンス内で起こらない。複数のコーディングされたビデオシーケンスがビットストリーム中に存在するとき、POCの同じ値を有するピクチャは、復号順序の観点から互いにより近いことがあり得る。ピクチャのPOC値は、参照ピクチャリスト構築、HEVCにおけるような参照ピクチャセットの導出、および動きベクトルスケーリングのために使用されることができる。
[0091]H.264/AVCでは、各インターマクロブロック(MB)は、1つの16×16MB区分、2つの16×8MB区分、2つの8×16MB区分、および4つの8×8MB区分を含む、4つの異なる方法へと区分化され得る。1つのMBにおける異なるMB区分は、各指示(RefPicList0またはRefPicList1)のための異なる参照インデックス値を有し得る。いくつかのケースでは、MBが4つの8×8MB区分へと区分化されないとき、それは、各方向におけるMB区分ごとに1つの動きベクトルしか有することができない。いくつかのケースでは、MBが4つの8×8MB区分へと区分化されるとき、各8×8MB区分は、サブブロックへとさらに区分化されることができ、このケースでは、各サブブロックは、各方向方向に異なる動きベクトルを有することができる。幾つかの例では、1つの8×8サブブロック、2つの8×4サブブロック、2つの4×8サブブロック、および4つの4×4サブブロックを含む8×8MB区分からサブブロックを得るために4つの異なる方法がある。各サブブロックは、各方向に異なる動きベクトルを有することができる。したがって、動きベクトルは、サブブロック以上のレベルで存在することができる。
[0092]AVCでは、時間的直接モードは、Bスライス中でのスキップおよび/または直接モードのためのMBまたはMB区分レベルのいずれかで有効にされることができる。各MB区分について、現在のブロックのRefPicList1[0]中の現在のMB区分とコロケートされたブロックの動きベクトルは、動きベクトルを導出するために使用される。コロケートされたブロック中の各動きベクトルは、POC距離に基づいてスケーリングされる。
[0093]空間的直接モードはまた、AVCにおいて実行されることができる。例えば、AVCでは、直接モードはまた、空間的近隣物から動き情報を予測することができる。
[0094]HEVCでは、スライス中の最も大きいコーディングユニットは、コーディングツリーブロック(CTB)と呼ばれる。CTBは、四分木を包含し、それのノードは、コーディングユニットである。CTBのサイズは、HEVCメインプロファイルにおいて16×16から64×64までの範囲であることができる。いくつかのケースでは、8×8CTBサイズがサポートされることができる。コーディングユニット(CU)は、CTBと同じサイズであることができ、且つ8×8ほどに小さくあることができる。いくつかのケースでは、各コーディングユニットは、1つのモードでコーディングされる。CUがインターコーディングされるとき、CUは、2つまたは4つの予測ユニット(PU)へとさらに区分化され得る、またはさらなる区分が適用されないときにはただ1つのPUになり得る。1つのCUに2つのPUが存在するとき、それらは、ハーフサイズの長方形であるか、CUの1/4または3/4のサイズを有する2つの長方形であることができる。
[0095]CUがインターコーディングされるとき、動き情報の1つのセットが、PUごとに存在することができる。加えて、各PUは、動き情報のセットを導出するために、一意のインター予測モードでコード化される。
[0096]HEVCにおける動き予測について、予測ユニット(PU)のための、アドバンスト動きベクトル予測(AMVP)およびマージモードを含む、2つのインター予測モードがある。スキップは、マージの特別なケースとして考慮される。AMVPまたはマージモードのいずれでも、動きベクトル(MV)候補リストは、複数の動きベクトル予測子(predictors)のために維持される。現在のPUの動きベクトル(1つ以上)、ならびにマージモードにおける参照インデックスは、MV候補リストから1つの候補を取ることによって生成される。
[0097]いくつかの例では、MV候補リストは最大で、マージモードについては5つまでの候補を、およびAMVPモードについては2つまでの候補を包含する。他の例では、異なる数の候補が、マージモードおよび/またはAMVPモードについてのMV候補リスト中に含まれることができる。マージ候補は、動き情報のセットを包含し得る。例えば、動き情報のセットは、両方の参照ピクチャリスト(リスト0およびリスト1)に対応する動きベクトルおよび参照インデックスを含むことができる。マージ候補がマージインデックスによって識別される場合、参照ピクチャは、現在のブロックの予測のために使用され、並びに関連する動きが決定される。しかしながら、AMVPモード下で、リスト0またはリスト1のいずれかからの各ポテンシャル予測指示について、参照インデックスは、AMVP候補が動きベクトルのみを包含するのでMC候補リストにMVPインデックスと一緒に、明示的にシグナリングされる必要がある。AMVPモードでは、予測動きベクトルは、さらに精微化されることができる。
[0098]上記に見られることができるように、マージ候補は、動き情報のフルセットに対応するが、その一方でAMVP候補は、特定の予測方向および参照インデックスについての単に1つの動きベクトルを包含する。両方のモードについての候補は、同じ空間的および時間的近隣ブロックから同様に導出される。
[0099]いくつかの例では、マージモードは、インター予測されたPUが同じ、動きベクトルまたは複数の動きベクトル、予測方向、空間的近隣動きデータ位置および1つまたは複数の時間的コロケートされた動きデータ位置のグループから選択された動きデータ位置を含むインター予測PUからの、参照ピクチャインデックスまたは複数の参照ピクチャインデックスを継承することを可能にする。AMVPモードについてPUの動きベクトルまたはまたは複数の動きベクトルは、符号化器によって構築されたAMVP候補リストから1つまたは複数の動き予測(MVP)に関連して叙述的にコード化されることができる。いくつかの例では、PUの単一方向インター予測について、符号化器は、単一AMVP候補リストを生成することができる。いくつかの例では、PUの両方向予測について、符号化器は、2つのAMVP候補リスト、前方予測方向からの空間的または時間的近隣PUの動きデータを使用して1つ、後方予測方向から空間的および時間的近隣PUの動きデータを使用して1つを生成することができる。
[0100]両方のモードについての候補は、空間的および/または時間的近隣ブロックから導出されることができる。例えば、図2Aおよび図2Bは、HEVCにおける空間的近隣候補を例示する概念図を含む。図2Aは、マージモードのための空間的近隣動きベクトル(MV)候補を例示する。図2Bは、AMVPモードのための空間的近隣動きベクトル(MV)候補を例示する。空間的MV候補は、空間的PU(PU0)のための近隣ブロックから導出されるが、ブロックからの候補を生成する方法は、マージモードおよびAMVPモードによって異なる。
[0101]マージモードでは、符号化器は、様々な動きベクトル位置からマージする候補を考慮することによってマージする候補リストを形成することができる。例えば、図2A中に示されるように、4つまでの空間的MVは、図2A中に数0−4で示されるそれぞれの空間的近隣動きデータ位置で導出されることができる。MV候補は、数0−4によって示される順でマージする候補リストに順序付けされることができる。例えば、位置および順序は、左位置(0)、上位置(1)、右上位置(2)、左下位置(3)、および左上位置(4)を含むことができる。
[0102]図2B中に示されるAVMPモードでは、近隣ブロックは、2つのグループ:ブロック0および1を含む左グループ、およびブロック2、3、および4を含む上グループに分けられる。各グループについて、シグナルされる参照インデックスによって示されたのと同じ参照ピクチャ近隣ブロックを参照する近隣ブロック中のポテンシャル候補は、グループの最終候補を形成するために選択されるべき最も高い優先順位を有する。全ての近隣ブロックが同じ参照ピクチャを指し示す動きベクトルを包含するわけではない可能性がある。したがって、そのような候補が見出されることができない場合、第1の利用可能な候補は、最終候補を形成するためにスケーリングされることができ、それ故、時間的距離差は、補償されることができる。
[0103]図3Aおよび図3Bは、HEVC中の時間的動きベクトル予測を例示する概念図を含む。時間的動きベクトル予測子(TMVP)候補は、有効且つ利用可能である場合、空間的動きベクトル候補の後にMV候補リストに追加される。TMVP候補のための動きベクトル導出のプロセスは、マージモードとAMVPモードとの両方について同じである。いくつかの例では、しかしながら、マージモードにおけるTMVP候補のためのターゲット参照インデックスは、ゼロに設定されることができる、または近隣ブロックのそれから導出されることができる。
[0104]TMVP候補導出のためのプライマリブロックロケーションは、空間的近隣候補を生成するために使用された上および左ブロックへのバイアスを補償するために、ブロック「T]として図3A中に示されるように、コロケートされたPUの右下ブロック外部にある。しかしながら、そのブロックが現在のブロックCTB(またはLCU)行の外側に位置付けられるまたは動き情報が利用可能でない場合、ブロックは、PUの中心ブロックと置換される。TMVP候補のための動きベクトルは、スライスレベルにおいて示される、コロケートされたピクチャのコロケートされたPUから導出される。AVC中の時間的直接モードと類似して、TMVP候補の動きベクトルは、動きベクトルスケーリングを被り、それは、距離差を補償するために実行される。
[0105]動き予測の他の態様は、HEVC基準においてカバーされる。例えば、マージモードおよびAMVPモードのいくつかの他の態様がカバーされる。1つの態様は、動きベクトルスケーリングを含む。動きベクトルスケーリングに関して、動きベクトルの値が、表示時間中のピクチャの距離に比例することが想定されることができる。動きベクトルは、2つのピクチャ−参照ピクチャと、動きベクトルを包含するピクチャ(すなわち包含ピクチャ)と、を関連付ける。動きベクトルが他の動きベクトルを予測するために利用されるとき、包含ピクチャと参照ピクチャとの距離は、ピクチャ順序カウント(POC)値に基づいて算出される。
[0106]予測されるべき動きベクトルについて、その関連付けられた包含ピクチャと参照ピクチャの両方は、異なり得る。従って、(POCに基づく)新規距離が計算される。そして、動きベクトルは、これらの2つのPOC距離に基づいてスケーリングされる。空間的近隣候補について、2つの動きベクトルについての包含ピクチャは、同じである一方、参照ピクチャは異なる。HEVCでは、動きベクトルスケーリングは、空間的および時間的近隣候補についてのTMVPとAMVPとの両方に適用される。
[0107]動き予測の別の態様は、人工動きベクトル候補生成を含む。例えば、動きベクトル候補リストが完了しない場合、人工動きベクトル候補が生成され、すべての候補が取得されるまでリストの終わりに挿入される。マージモードでは、2つのタイプの人工MV候補:Bスライスのためにのみ導出される組み合わされた候補と、第1のタイプが十分な人工候補を提供しない場合にAMVPのためにのみ使用されるゼロ候補と、がある。候補リスト中にすでにあり、必要な動き情報を有する候補の各ペアについて、両方向組み合わせ動きベクトル候補は、リスト0中のピクチャを参照する第1の候補の動きベクトルおよびリスト1中のピクチャを参照する第2の候補の動きベクトルの組合せによって導出される。
[0108]マージモードおよびAMVPモードの別の態様は、候補挿入のためのプルーニングプロセスを含む。例えば、別のブロックからの候補は、同じであり得、それは、マージおよび/またはAMVP候補リストの効率を低下させる。プルーニングプロセスは、この問題を解決するために適用されることができる。プルーニングプロセスは、例えば、ある範囲において同一候補を挿入することを避けるために、ある1つの候補を現在の候補リスト中の他の複数の候補と比較する。複雑さを低減するために、プルーニングプロセスの限られた数のみが各ポテンシャルのものを他の存在するものすべてと比較することの代わりに適用される。
[0109]様々な関連する動き予測技法がある。1つよ予測技法は、ローカル照度補償(LIC)である。照度補償は、HEVCのために提案された。例えば、JCTVC−C041では、区分ベースの照度補償(PBIC)が提案された。重み付け予測(WP)を有効および/または無効にする、WPと異なり、(以下で説明される)スライスレベルでのWPパラメータをシグナルする、PBICは、ローカル照度変化を取り扱うために、予測ユニット(PU)レベルでICパラメータをシグナルし、照度補償(IC)を有効および/または無効にする。JVET−B0023では、ブロックベースのLICは、CUに拡張され、HEVCにおけるPUと同様に、CUは、QTBT構造における動き情報を搬送するベーシックユニットになる。
[0110]以下でより詳細に説明される重み付け予測(WP)と同様に、スケーリングファクタ(aによっても示される)およびオフセット(bによっても示される)は、ICによって使用され、シフト数は、6になるように固定される。ICフラグは、ICが現在のPUのために適用されるか否かを示すように各PUのためにコード化される。ICがPUのために適用される場合、ICパラメータのセット(例えば、aおよびb)は、復号器にシグナルされ、動き補償のために使用される。いくつかの例では、ICパラメータ上で使われたビットをセーブするために、クロマコンポーネントは、ルーマコンポーネントとスケーリングファクタを共有し、固定されたオフセット128が使用される。
[0111]3D−HEVCでは、ICは、インタービュー予測のために有効にされる。明示的にICパラメータをシグナルする、PBICおよびWPと異なる、それは、現在のCUの近隣サンプルおよび参照ブロックの近隣サンプルに基づいてICパラメータを導出する。ICは、2N×2N区分モードのみに適用される。AMVPモードについて、ICフラグのみがインタービュー参照ピクチャから予測される各CUのためにシグナルされる。マージモードについて、ビットをセーブするために、ICフラグは、PUのマージインデックスが0に等しくない時にのみシグナルされる。いくつかのケースでは、ICは、時間的参照ピクチャからのみ予測されるCUに適用されない。
[0112]ICパラメータの導出に関して、インタービュー予測に使用される線形ICモデルは、式(1)に示される。
Figure 2019531029
[0113]ここで、PUは、現在のPUであり、(i,j)は、PU中のピクセルの座標であり、(dν,dν)は、PUの視差ベクトルである。p(i,j)は、PUの予測であり、rは、近隣ビューからのPUの参照ピクチャであり、aおよびbは、線形ICモデルのパラメータである。
[0114]PUのためのパラメータaおよびbを推定するために、図4Aおよび図4B中に示されるように、ピクセルの2つのセットが使用される。ピクセルの第1のセットは、図4A中に示され、(現在のPUを包含するCU)現在のCUの左の列および上の行中の利用可能な再構築された近隣ピクセルを含む。ピクセルの第2のセットは、図4B中に示され、現在のCUの参照ブロックの対応する近隣ピクセルを含む。現在のCUの参照ブロックは、現在のPUの視差ベクトルを使用することによって見出される。
[0115]仮に、RecneigおよびRecrefneigは、現在のCUおよびその参照ブロックそれぞれの使用された近隣ピクセルセットを示し、2Nは、RecneigおよびRecrefneigにおけるピクセル数を示すとする。その後、aおよびbは、以下のように計算されることができる。
Figure 2019531029
Figure 2019531029
[0116]いくつかのケースでは、aのみが線形モデル中で使用され、bはいつも、0に等しくなるように設定される。いくつかのケースでは、bのみが使用され、aはいつも1に等しくなるように設定される
[0117]HEVCでは、重み付け予測(WP)は、(aによって示される)スケーリング要素の場合に、サポートされ、(sによって表わされる)シフト数および(bによって表わされる)オフセットは、動き補償中で使用される。参照ピクチャの位置(x,y)におけるピクセル値がp(x、y)であると仮定して、その後、p(x、y)の代わりにp’(x、y)=((a*p(x,y)+(1<<(s−1)))>>s)+bが動き補償において予測値として使用される。
[0118]WPが有効であるとき、現在のスライスの各参照ピクチャについて、フラグは、WPが参照ピクチャのために適用されるか否かを示すためにシグナリングされる。WPが1つの参照ピクチャのために適用される場合、WPパラメータのセット(例えば、a、sおよびb)は、復号器に送られ、参照ピクチャからの動き補償のために使用される。いくつかの例では、ルーマおよびクロマコンポーネントのためにWPをフレキシブルにオン/オフするために、WPフラグおよびWPパラメータは、ルーマおよびクロマコンポーネントのために別々にシグナルされる。WPでは、WPパラメータの1つの同じセットが1つの参照ピクチャ中の全てのピクセルのために使用される。
[0119]JVETにおけるローカル照度補償(LIC)に関して、LICは、スケーリングファクタaおよびオフセットbを使用して、照度変更のための線形モデルに基づく。このようなLICは、各インターモードコード化コーディングユニット(CU)のために適応的に有効にされるまたは無効にされる。LICがCUのために適用されるとき、少なくとも2乗誤差方法は、現在のCUの近隣サンプルおよびそれらに対応する参照サンプルを使用することによってパラメータaおよびbを導出するように用いられる。より詳細に、図5Aおよび図5Bに例示されるように、CUのサブサンプルされた(2:1サブサンプリング)近隣サンプルおよび参照ピクセルにおける(現在のCUまたはサブCUの動き情報によって識別される)対応するピクセルが使用される。いくつかの例では、ICパラメータは、別々に、各予測方向のために導出され適用される。
[0120]CUがマージモードでコード化されるとき、LICフラグは、マージモードにおける動き情報コピーと同様の方法で、近隣ブロックからコピーされ;さもなければ、LICフラグは、LICが適用されるか否かを示すためにCUのためにシグナルされる。
[0121]重複したブロック動き補償(OBMC)は、H.263の発展において提案された。例えば、OBMCは、8×8ブロック上で実行されることができ、2つの接続された近隣8×8ブロックの動きベクトルは、図6中に示されるように、現在のブロックために使用される。例えば、現在のマクロブロック中の第1の8×8ブロックについて、それ自身の動きベクトルを除いて、上および左近隣動きベクトルはまた、生成された2つの追加の予測ブロックに適用される。この方法では、現在の8×8ブロックにおける各ピクセルは、3つの予測値を有し、これらの3つの予測値の重み付けされた平均は、最終予測として使用される。
[0122]近隣ブロックがコード化されないまたは(イントラ予測を使用して)イントラとしてコード化されるとき、近隣ブロックが利用可能な動きベクトルを有しないことを意味するので、現在の8×8ブロックの動きベクトルは、近隣動きベクトルとして使用される。その一方で、(図6中に示されるように)現在のマクロブロックの第3および第4の8×8ブロックについて、下の近隣ブロックがいつも使用されない。言い換えれば、各MBについて、それの下のMBからの動き情報がOBMC中の現在のMBのピクセルを再構築するために全く使用されないことになる。
[0123]HEVCでは、OBMCはまた、すべての目的のためのそれら全体において参照することによって本願明細書に組み込まれる、米国公開番号US2013/0128974号およびUS2012/0177120号中に説明されるように、PU境界を滑らかにするために提案された。提案された方法の例は、図7Aおよび図B中に示される。CUが2つ(またはそれ以上)のPUを包含するとき、PU境界付近の線および/または列は、OBMCによって滑らかにされる。「A」または「B]でマークされたピクセルについて、2つの予測値は、(例えば、それぞれに、PU0およびPU1の動きベクトルを適用することによって)生成され、それらの重み付けされた平均は、最終予測として使用される。
[0124]JEM3.0(Joint Exploration Test Model 3.0)では、サブPUレベルのOBMCが適用される。OBMCは、CUの右および下境界を除くすべての動き補償(MC)ブロックのために実行される。さらに、ルーマおよびクロマコンポーネントの両方にそれが適用される。HEVCでは、MCブロックは、PUに対応する。JEMでは、PUがサブPUモードでコード化されるとき、PUの各サブブロックは、MCブロックである。統一したやり方でCU/PU境界を処理するために、OBMCは、すべてのMCブロック境界のためのサブブロックレベルで実行される。ここで、サブブロックサイズは、図8Aおよび図8B中に例示されるように4×4に等しく設定される。
[0125]OBMCが現在のサブブロックに適用されるとき、現在の動きベクトルに加えて、4つの接続された近隣サブブロックの動きベクトルはさらに、それらが利用可能であり、現在の動きベクトルと一致していない場合、現在のサブブロックのための予測ブロックを導出するために使用される。複数の動きベクトルに基づく複数の予測ブロックは、現在のサブブロックの最終予測信号を生成するために重み付けされる。
[0126]近隣サブブロックの動きベクトルに基づく予測ブロックは、近隣上、下、左、および右サブブロックのためのインデックスを示すNと共に、Pとして示され、現在のサブブロック動きベクトルに基づく予測ブロックは、Pとして示される。PがPと同じPUに属している(従って、同じ動き情報を包含する)とき、OBMCは、Pから実行されない。さもなければ、Pの各ピクセルは、P中の同じピクセルに追加される、例えば、Pの4つの行/列がPに追加される。重み付け要素{1/4、1/8、1/16、1/32}は、Pのために使用され、重み付け要素{3/4、7/8、15/16、31/32}は、Pのために使用される。例外は、小さなMCブロックである(すなわち、PUサイズが8×4に等しいとき4×8またはPUは、ATMVPモードでコード化される)、それは、Pの2つのみの行/列がPに追加される)。このケースでは、重み付け要素{1/4、1/8}は、Pのために使用され、重み付け要素{3/4、7/8}は、Pのために使用される。垂直に(水平に)近隣サブブロックの動きベクトルに基づいて生成されたPについて、Pの同じ行(列)におけるピクセルは、同じ重み付け要素でPに追加される。PU境界のために留意すべき点は、OBMCが境界の各辺上で適用されることができる。図8Aおよび図8B中のようにOBMCは、2度、PU1とPU2との間の境界に沿って適用されることができる。最初に、OBMCは、境界内部のPU1に沿って影付きブロックにPU2のMVと共に適用される。第2に、OBMCは、教会内部のPU2に沿って影付きブロックにPU1のMVと共に適用される。対照的に、OBMCは、CU境界の1つの辺にのみ適用されることができ、それは、現在のCUをコード化しているとき、コード化されたCUが変更されることが出来ないからである。
[0127]フレームレートアップコンバージョン(FRUC)技法は、低フレームレートビデオに基づいて高フレームレートビデオを生成するために使用される。FRUCは、ディスプレイ産業において幅広く使用されている。FRUCアルゴリズムは、2つのタイプに分けられることができる。FRUC方法の1つのタイプは、単一フレーム反復または平均することによって中間フレームを補間する。しかしながら、この方法は、多くの動きを包含するビデオにおいて不適切な結果を提供する。動き補償FRUC(MC−FRUC)と与ばれる、FRUC方法の他のタイプは、それが中間フレームを生成し、以下の2つのステップを含むときにオブジェクト移動を考慮する:(1)動き推定(ME)および(2)動き補償された補間(MCI)。MEは、ベクトルを使用するオブジェクト動きを表わす、動きベクトル(MV)を生成する一方で、MCIは、補間フレームを生成するためにMVを使用する。
[0128]ブロックマッチングアルゴリズム(BMA)は、それがインプリメントするのに単純であることから、MC−FRUCにおけるMEのために広く使用されている。BMAは、画像をブロックへと分割し、およびそれらのブロックの移動を検出する。MEの2つの種類は、一方的なMEおよび両面的なMEを含むBMAのために主に使用される。
[0129]図9は、FRUCにおける一方的なMEを例示する。図9中に示されるように、一方的なMEは、現在のフレームの参照フレームから最もマッチするブロックを探索することによってMVを取得する。その後、保管されたフレーム中の動き軌道上のブロックは、MVが達成されることができるように配置されることができる。図9中で示されるように、3つのフレーム中の3つのブロックは、動き軌道に従うことが含まれる。現在のフレーム中のブロックがコード化されたブロックに属するが、参照フレーム中で最もマッチするブロックは、コード化されたブロックに完全に属し得ない;いくつかのケースでは、補間フレーム中のブロックにもない。その結果として、ブロックの重なり合った領域と、満たされていない(穴)領域とが、補間フレーム中に生じ得る。
[0130]重複を取り扱うために、単一FRUCアルゴリズムは、重複したピクセルを平均することおよび上書きすることを単に包含する。さらに、穴は、参照または現在のフレームからのピクセル値によってカバーされる。しかしながら、これらのアルゴリズムは、ブロッキングアーティファクトおよびぼやけをもたらす。従って、動きフィールドセグメンテーション、離散ハートレー変換を使用する連続補外(successive extrapolation)、および画像インペインティング(image inpainting)は、ブロッキングアーティファクトおよびぼやけを増大させることなしに、穴および重複を取り扱うために提案される。
[0131]図10は、FRUCにおける両面的なMEを例示する。図10中に示されるように、両面的なMEは、重複および穴によって生じた問題を避けるように使用されることができる(MC−FRUCにおける)別のソリューションである。両面的なMEは、参照および現在のフレームのブロック間の時間的対称性を使用して補間フレームにおけるブロックを通り抜けているMVを取得する。結果として、それは重複および穴を生成しない。現在のブロックが処理されているブロックであると仮定されるので、例えば、ビデオコーディングのケースなどの、ある順序では、このようなブロックは、重複無しに補間ピクチャ全体をカバーすることになる。例えば、ビデオコーディングのケースでは、ブロックは、復号順序において処理されることができる。従って、いくつかの例では、このような例は、FRUCアイディアがビデオコーディングフレーム中で考慮される場合より適切になり得る。
[0132]復号側の動きベクトル導出はまた実行されることができる。アドバンストビデオコーデックに起因して、ビットストリーム中の動き情報のより良いビット割合が達成されることができる。動き情報のビットコストを低減するために、復号器側動きベクトル導出(DMVD)が、提案された。
[0133]テンプレートマッチングベースのDMVDは、良いコーディング効率改善を示す。図11Aおよび図11Bは、テンプレートマッチングベースのDMVDのアイデアを例示する。復号器での現在のブロックである、予測ターゲットのために最もマッチするものを探索する代わりに、テンプレートの最もマッチするものが参照フレーム中で探索される。同じオブジェクトからテンプレートおよび予測ターゲットを仮定すると、テンプレートの動きベクトルは、予測ターゲットの動きベクトルとして使用されることができる。テンプレートマッチングが符号化器と復号器との両方において行われることから、動きベクトルは、シグナリングコストを避けるために復号器側において導出されることができる。
[0134]DMVDの別のカテゴリは、ミラーベースの両方向MV導出である。このアイデアは、FRUCにおける両面的なMEに類似する。ミラーベースのMV導出は、小数サンプル正確度(fractional sample accuracy)における、探索中心の周囲の中心対称動き推定によって適用される。探索ウィンドウのサイズおよび/またはロケーションは、予め定義されることができ、ビットストリーム中でシグナリングされることができる。図12は、DMVDにおけるミラーベースの両方向MC導出を例示する。図12中の用語dMVは、MVペア、MV0およびMV1を生成するために、PMV0に追加され、PMV1から引かれたオフセットである。探索ウィンドウ内部のdMVの全ての値は、チェックされることになり、L0およびL1参照ブロックの間の絶対差の合計(SAD)は、中心対称動き推定の測定として使用される。最小SADを持つMVペアは、中心対称動き推定の出力として選択される。方法は、SADマッチングのために、将来参照(現在のフレームより後の時間的位置での参照)および早期参照(現在のブロックより前の時間的位置での参照)を必要とするので、それは、前の参照が利用可能であるPフレームまたは低遅延Bフレームに適用できない。
[0135]いくつかのケースでは、HEVCにおいて、マージモードとミラーベースの両方向MVを組み合わせるように提案された。例えば、pu_dmvd_flagと呼ばれるフラグは、DMVPモードが現在のPUに適用されるかどうかを示すために、BスライスのPUために追加される。図13は、追加されたpu_dmvd_flagでのPU復号のフローチャートである。DMVDモードがビットストリーム中の任意のMV情報を明示的に送信し得ないので、HEVCコーディングプロセスにおけるマージモードのシンタックスでpu_dmvd_flagを積分する復号プロセスは、図13中に示されるように表わされる。
[0136]様々な問題が上で説明された技法の1つまたは複数で存在する。例えば、既存のLICアルゴリズムでは、両予測動き補償の間、LICパラメータは、予測子上の接合影響を考慮せずにRef0およびRef1から独立的に導出される。例えば、両予測ケースでは、別々のLIC補償予測パッチが決定され、等しい重み(0.5)が最終予測子を生成するためにLIC補償予測パッチを組み合わせるために使用される。さらに、既存のLICアルゴリズムでは、近隣ピクセルの単一行および単一列のサブセットのみがLICパラメータを導出するために使用され、それは、次善のソリューションを導き得る。さらにもっと、既存のLICアルゴリズムでは、整数に配置されたピクセルは、フィルタリング無しで(分数ピクセル精度無しで)LICパラメータを導出するために使用され、それは、雑音の多い再構築されたピクセルに起因して次善のパラメータを作り出すことにつながり得る。また、LICが有効であるとき、OBMCは、両予測動き補償のために有効にされ、それは、ブロックの境界ピクセルにわたってスムーズになることにつながる。
[0137]様々な技法は、前述の問題を解決するために本明細書で説明される。いくつかのケースでは、本明細書で説明される技法は、別個に適用され得る。いくつかのケースでは、本明細書で説明される技法の任意の組合せが適用され得る。本出願では、いくつかのケースでは、参照インデックス情報は動き情報と見なされ得る。いくつかの例では、それらは、動き情報のセットと一緒に呼び出される。
[0138]いくつかの例では、方法およびシステムは、複数の参照ピクチャのテンプレートに基づいてピクチャのブロックのための1つまたは複数のローカル照度補償(LIC)パラメータを導出するために本明細書で説明される。符号化器および復号器の両方は、本明細書で説明される技法を使用して照度補償パラメータを導出するために同じプロシージャに従うことができる。例えば、符号化器および復号器の両方は、ビットストリーム中で(復号器に)シグナルされるべきまたは別のシグナリングメカニズムを使用するパラメータ無しに同じプロシージャを使用してオフセットおよび重み(またはスケーリングファクタ)を導出することができる。いくつかのケースでは、符号器側で、符号化器および復号器LICパラメータ導出における差のみが、LICのスイッチと動き探索との間の接合最適化を実行するために必要になる。いくつかの例では、徹底的な探索が用いられることができる。
[0139]本明細書に説明されるLIC方法は、両予測動き補償のためのLICパラメータを解決するために代替方法を含む。例えば、両予測動き補償の間、LICパラメータは、同時に、参照ピクチャリスト0(RefPicList0)からの第1の参照ピクチャのブロック(Ref0)および参照ピクチャリスト1(RefPicList1)から第2の参照ピクチャのブロック(Ref1)の両方のテンプレートを考慮することによって導出されることができる。1つの例では、第1の参照ピクチャの第1のテンプレートおよび第2の参照ピクチャの第2のテンプレートは、1つまたは複数のローカル照度補償パラメータを同時に導出するために使用される。このような技法は、予測子のそれらの結合影響を考慮せずにRef0およびRef1から別々にLICパラメータを導出する既存の技法よりよい最適な予測子を提供する。例えば、既存のLICソリューションを使用して、LICパラメータは、現在の再構築されたフレームと参照フレームとの間の近隣ピクチャによって形成さ有れたデータセットのペアのソリューションを見出すことによって導出される。両予測動き補償では、既存のLICソリューションの計算は、離れたコスト関数を使用して、別個にL0およびL1の参照ブロック関して行われる。等しい重みの両平均動作は、LIC補償予測子を組み合わせるために使用される。Ref0およびRef1のために別個にLICパラメータを導出することは、現在のフレームに対する2つの参照フレームの時間的距離が等しくないときに問題を提起し得る。さらに、時間的に非一様な照度変化があるとき、LICパラメータの等しい導出は、それが両予測になるとき、次善のパラメータをもたらし得る。
[0140]LICパラメータのテンプレートベース導出を例示する図である。現在のブロック1402は、動き補償が実行される現在のピクチャのブロックである。参照ピクチャブロック1404は、参照ピクチャリスト0(RefPicList0)からの第1の参照ピクチャのブロック(Ref0)であり、参照ピクチャブロック1406は、参照ピクチャリスト1(RefPicList1)からの第2の参照ピクチャのブロック(Ref1)である。それぞれ、用語P0は、Ref0のテンプレート領域を表わし、用語P1は、Ref1のテンプレート領域を表わす。用語Nは、現在のブロック1402のテンプレート領域を示す。テンプレートNiにおけるサンプルは、現在のブロック1402近隣の再構築されたフレームの再構築されたブロックの一部である。
[0141]照度補償パラメータは、オフセット、1つまたは複数の重み、シフト数、または他の適切な照度補償パラメータを含むことができる。重みはまた、スケーリングファクタと呼ばれることができる。第1の参照ピクチャおよび第2の参照ピクチャのテンプレートを使用することによって、例えば、1つまたは複数の重みは、第1の参照ピクチャのテンプレートのための第1の重みと第2の参照ピクチャのテンプレートのための第2の重みを含むことができる。
[0142]いくつかのインプリメンテーションでは、線形最小二乗回帰(linear least square regression)は、両予測動き補償におけるLICパラメータを推定するために使用されることができる。1つの例では、LICパラメータの導出は、下の最小二乗回帰方程式(例えば、下の方程式(5)−(6)または方程式(4)および11))を使用してコスト関数(例えば、下の方程式(4)または方程式(10))を解くことによって行うことができる。例えば、現在のブロックの1つまたは複数の近隣ブロックからのサンプルのサブセットは、LICパラメータを導出するために使用されることができる。現在のブロックの近隣ブロックからのサンプルは、現在のブロック1402中に可能な照度変化を見出すために使用されることができ、それは、(近隣ブロック中の)近隣サンプルと(現在のブロック1402中の)現在のサンプルとの間の強い相関関係があると仮定されるからである。例えば、同じ動き情報を共有する、現在のブロックおよび近隣ブロックがとても類似する照度値を包含すべきであると仮定されることができる。近隣サンプルを使用する別の理由は、現在のブロックがまだ予測されていないことであり、(再構築された)近隣サンプルが現在のブロックの動き補償のためのテンプレートマッチングを実行する際に使用されることができる場合に、現在のブロックから使用するピクセルがなくなり得る。
[0143]1つの例示的な例では、上ネイバー、左ネイバー、または上ネイバーおよび左ネイバーの両方が使用され得る。例えば、図14中に示されるテンプレートNは、現在のブロック1402の上ネイバーおよび左ネイバーからのサンプルのサブセットを含むことができる。図14中に示されるテンプレートP0は、参照ブロック1404の上ネイバーおよび左ネイバーからのピクセルのサブセットを含み、テンプレートP1は、参照ブロック1406の上ネイバーおよび左ネイバーからのピクセルのサブセットを含むことができる。テンプレートP0およびP1中に使用される近隣ブロックのサンプルは、テンプレートN中で使用される近隣サンプルに対応するサンプルを含むことができる。いくつかのケースでは、テンプレートP0およびP1中で使用される対応するサンプルは、現在のブロックの動き情報によって識別されることができる。復号器側での1つの例示的な例では、動きベクトルは、マージモード、FRUCマージモード、または通常のAMVPモードの何れかに処理してもらって、ビットストリーム中でシグナルされることが出来る。復号器は、動き情報(例えば、動きベクトルおよび参照インデックス)および参照ピクチャ順序カウント(POC)を再構築することができる。復号器は、参照インデックスを使用して参照ピクチャを識別することができ、動きベクトルを使用して参照ピクチャ内の参照ブロック1404および1406を識別することができる。復号器はその後、参照ブロック1404および1406の関連したテンプレート領域P0およびP1を導出することができる。例えば、一旦参照ブロック1404および1406が参照ピクチャ内で決定されると、近隣ブロックから上および左近隣ブロックサンプル(例えば、1つまたは複数の行および1つまたは複数の列)がテンプレート領域P0およびP1として決定されることができる。このような技法は、FRUCテンプレートマッチングと異なり、ここで、現在のブロックのテンプレートは、最初に決定され、その後、テンプレートは、所与の参照フレーム上の動きベクトルを探索するために使用される。
[0144]いくつかの例では、両予測LICのための重みを解くために以下のコスト関数が考慮される:
Figure 2019531029
[0145]ここで、λは、規則化パラメータであり、項Nは、現在の再構築されたフレーム中の現在のブロックの上近隣ピクセルおよび/または左近隣ピクセル(例えば、図14中に示される現在のブロックのテンプレートN)であり、項P0,iおよびP1,iは、それぞれ、List0およびList1の参照フレームにおける参照ブロックの上および/または左近隣ピクセル(例えば、図14中に示される参照ブロック1404のテンプレートP0および参照ブロック1406のテンプレートP1)であり、項iは、テンプレート領域内のピクセルインデックスであり、項Nは、テンプレート領域中のピクセルの総数(N、P0および/またはP1)である。
[0146]項oは、オフセットであり、項wおよびwは、重みである。重みwおよびwおよびオフセットoは、一連のピクチャ中の照度変化によって誘発される不一致を補償するために使用される。例えば、オフセットoは、同時に、2つの参照フレームを考慮することによって平均照度変化を示すことができる。重みwは、図14中で示されるテンプレートP0中のサンプルである、(List0からの)参照ブロック1404から生成された予測サンプルを乗じる。重みwは、図14中で示されるテンプレートP0中のサンプルである、(List1からの)参照ブロック1406から生成された予測サンプルを乗じる。重みwおよびwは、調整可能なパラメータであり、ピクチャのある特徴に基づく。例えば、重みwおよびwは、ピクチャがより明るいかより暗いか、または他の特徴に基づいて現在のピクチャを予測するために使用されている参照ピクチャの時間的距離に基づくことができる。1つの例では、2つの参照ピクチャがある場合、第1の参照ピクチャが第2の参照ピクチャよりも現在のピクチャにより近くに位置して状態で、異なる重みは、動き補償が実行されている現在のブロックのためのより良い予測例を見出すためにこれら2つの異なる参照ピクチャに適用されることができる。例えば、より小さな重みは、(現在のピクチャにより近い)第1の参照ピクチャのサンプルに適用される重みよりも(現在のピクチャからより離れている)第2の参照ピクチャのサンプルに適用されることができる。別の例では、より高い重みは、より少ない照度変化を有するサンプルに適用されることができる。例えば、下の方程式(6)によって示されるように、相互相関は、近隣サンプルから第1の参照フレームの予測サンプルに取られ、参照フレームがより離れ、第1の参照フレームの近隣サンプルが第2の参照フレームの近隣サンプルより暗い場合、その後、重みは、より少なくなることができる。最終予測は、方程式(9)に従って生成される。
[0147]方程式(4)は、重みwおよびw且つオフセットoの値を取得するために線形最小二乗回帰を使用して解かれることができる。例えば、線形最小二乗回帰を使用して方程式(4)を解くことによって、方程式(4)に対するソリューションは、以下のように見出されることができる。
Figure 2019531029
[0148]したがって重みおよびオフセットは、方程式(4)を解くことによって見出されることができる。いくつかのケースでは、最小二乗ソリューション(方程式(5)における項a・c−b)の決定がゼロに等しい場合、単方向LICは、(同時に2つの参照ブロックを使用する)両方向LICの代わりに使用される(時間で単一参照ブロックを使用する)ことができる。いくつかのケースでは、過度の補償を避けるために、方程式(5)におけるオフセットoは、さらに制限されることができる。値の1つの例は、ビット深さ(BD)に関連付けられることができ、ここで、オフセットは、[−2BD,2BD−1]の範囲に制限されることができる。
[0149]方程式(5)では、Nは、解析されているテンプレートにおけるピクセルの数(N,P0,および/またはP1)であり、項{a,b,c,d,e}は、以下のように定義される。
Figure 2019531029
[0150]項aおよびcは、それぞれ、テンプレートP0およびテンプレートP1からのサンプルにわたる分散を表わす。例えば、項aは、参照ブロック1404(Ref0)のためのテンプレートP0の予測サンプルの分散を表わし、項cは、参照ブロック1406(Ref1)のためのテンプレートP1の予測サンプルの分散を表わす。例としてaを使用して、テンプレートP0からのサンプル値P0,iは、二乗され、テンプレートP0中のサンプルの平均は、二乗サンプル値P0,Iから減算され、それは、サンプル値P0,iの分散を提供する。平均は、テンプレートP0におけるサンプルの総計によって割られた、二乗された、テンプレートP0におけるサンプルのすべての合計として示される。規則化パラメータλはまた、下で説明されるように(項a−eの各々のために)使用される。項cの定義は、テンプレートPからのサンプル値P1,iに関するが、項aの定義に類似する。
[0151]項bは、P0およびP1における対応するサンプルの共分散(またはいくつかのケースでは相互相関)に関連する。項dは、テンプレートP0中のサンプルとテンプレートN中の対応するサンプルとの間の共分散(またはいくつかのケースでは相互相関)に関連する。同様に、項eは、テンプレートP1中のサンプルとテンプレートN中の対応するサンプルとの間の相互相関に関連する。方程式(5)中に示されるように、重みwおよびwは、項a,b,c,d,eに基づいて決定される。重みwおよびwは、(現在のブロックの)現在の近隣サンプルと参照ブロックの参照ネイバーとの間の類似の測定値を表わす。他の参照ネイバーの分散が高い、または参照ネイバーと現在のブロックとの間の共分散が高い場合、重みはより高くなる。2つの参照ネイバーの分散が高い、または現在のネイバーおよび参照ネイバーの共分散が高い場合、重みはより低くなる。
[0152]方程式(6)は、以下のように書き換えられることができる。
Figure 2019531029
[0153]規則化パラメータλは、正の値として選択されることができる:
Figure 2019531029
[0154]ここで、kは、絶対値が1より小さいスケーリングファクタである。代替として、λは、2乗の2つの合計の最大値になるように選択されることができる。
Figure 2019531029
[0155]最終予測サンプルは、以下のように作り出される:
Figure 2019531029
[0156]最終予測サンプルP(x,y)は、現在のブロック1402における位置(x、y)でのサンプルのために使用されることになるサンプル値を表わす。本明細書で説明されるように、LICのアプリケーションは、従来の両予測動き補償中に統合されることが出来る。最適な重みを見出すためにテンプレートベースの探索を考慮するとき、方程式(9)はまだ、両予測動き補償の間の最適な重みを適用するために使用されることができる。
[0157]いくつかの例では、LICパラメータを導出する1つよりも多くの導出方法が実行されることができる。このような例では、符号化器または他の送信機側デバイスは、導出方法が(例えばVPSおよび/またはSPSにおける)シーケンスレベルで、(例えば、PPSにおける)ピクチャレベルで、(例えば、スライスヘッダにおける)スライスレベルで、CTUレベルで、CUレベルで、PUレベルで、またはこれらの組合せ、あるいは他の適切なシグナリングレベルで使用されるべきであると復号器にシグナルすることができる。
[0158]使用される代替のコスト関数の別の例示的な例が以下のように定義される。
Figure 2019531029
[0159]方程式(10)におけるコスト関数に対する線形最小二乗ソリューションは、方程式(5)と同様の形式を有するが、以下のように{a,b,c,d,e}における各項のための異なる定義を持つ。
Figure 2019531029
[0160]より一般的に、方程式(1)は、以下のように定義される:
Figure 2019531029
[0161]DefaultW0およびDefaultW1の値は、任意の適切な値に設定されることができ、ピクチャレベルで、スライスレベルで、ブロックレベルで、ブロックのグループのレベルでのような異なるレベルでビットストリーム中にシグナルされることができる。1つの例として、スライスヘッダ中でシグナルされた重み付けされた予測パラメータは、DefaultW0およびDefaultW1の値を導出するために使用されることができる。方程式(10)中の例となるコスト関数はDefaultW0およびDefaultW1項の両方のために0.5の値を使用する。しかしながら、この項は、構成可能であり、任意の適切な値に設定されることができる。
[0162]いくつかの例では、最小二乗ソリューションは、ネイバー(例えば、上ネイバー、左ネイバー、上および左ネイバーの両方、または他のネイバーのいずれか)からのテンプレートの複数の線および/または列に基づいて計算されることができる。線および/または列の例となる数(いくつかのケースにおける、典型的な数)は、1つ、2つ、4つまたは他の適切な行および/または列の数を含む。例えば、現在のブロック1402の左ネイバーからのサンプルの1つより多くの線および/または列、および現在のブロック1402の上ネイバーからのサンプルの1つより多くの線および/または列は、テンプレートN中に含まれることができる。これらのケースでは、テンプレートP0およびP1中の線および/または列の対応する数があることになる。1つの例示的な例では、テンプレートNは、現在のブロック1402の左近隣ブロックからのピクセルの2列および現在のブロック1402の上近隣ブロックからのピクセルの2行を含むことができる。この例では、テンプレートP0は、参照ブロック1404の左近隣ブロックからのピクセルの2列および参照ブロック1404の上近隣ブロックからのピクセルの2行を含むことができる。同様に、この例では、テンプレートP1は、参照ブロック1406の左近隣ブロックからのピクセルの2列および参照ブロック1406の上近隣ブロックからのピクセルの2行を含むことができる。
[0163]上の方程式4−11は、複数の線および/または列がテンプレート中に含まれるときに修正され得る。例えば、テンプレート領域(項N)中のピクセルの数は、テンプレート中の線および/または列の数に基づいて変更されるだろう。例えば、ブロックが16×16(ピクセルの16行掛けるピクセルの16列)であり、上近隣ブロックからの2つの線および左近隣ブロックからの2つの列が使用される場合、Nテンプレートは、64サンプル(左近隣ブロックから32サンプルおよび上近隣ブロックから32サンプル)およを含むことになり、Nの値は64になるだろう。この例では、P0およびP1テンプレートはさらに、64個のサンプルを含むことになる。
[0164]いくつかのケースでは、整数に位置付けられたサンプル(またはピクセル)は、LICパラメータの導出のために使用される。いくつかのケースでは、小数に位置付けられたサンプル(またはピクセル)は、LICパラメータの導出のために使用される。いくつかのケースでは、整数に位置付けられたサンプルおよび小数に位置付けられたサンプルは両方、使用されることができる。例えば、ピクチャかの移動オブジェクトの正確な変位は、連続であり、ビデオシーケンス中のピクチャのサンプリンググリッドに従わない傾向がある。このため、小数正確さは、ビデオコーダの整数正確さの代わりに動きベクトルのために使用されることができ、残差誤りにおける低減およびビデオコーダのコーディング効率における増加につながる。動きベクトルが小数値を有する場合、参照ブロックは、それに応じて、補間される必要がある。例えば、現在のブロックのサンプルのための動きベクトルは、参照ブロックにおける小数ピクセル位置を提示することができる。小数ピクセル位置は、ブロック中の小数サンプルロケーション(非整数ロケーション)でサンプル(例えば、ルーマサンプル)を参照する。このロケーションは、補間によって生成される必要がある。小数位置のサンプルが使用されるときの1つの例では、テンプレート(例えば、P0またはP1)の補間されたまたはフィルタされたバージョンは、LICパラメータを導出するときの再構築されたピクセルから量子化誤差を低減するために使用されることができる。このテンプレートの保管されたバージョンは、1つまたは複数の補間フィルタを使用して生成されることができる。例えば、現在のブロックの動きベクトルが参照フレーム中の小数ピクセル位置を提示する場合、補間フィルタは、LICパラメータを導出する前にテンプレートのためのサンプルのより良いセットを生成するために使用されることができる。例えば、補間フィルタのタイプは、HEVC基準において定義された、両線形補間フィルタ、8タップ補間フィルタ、または任意の他の適切なフィルタを含むが、これらに限定されない。現在のところ、照度補償ソリューションは、任意の小数ピクセル位置サンプルを使用しない。例えば、現在のソリューションを使用して、動きベクトルが小数ピクセル位置を提示すると仮定して、LIC導出に使用されるべき予測子の値は、最も近い参照サンプル位置に丸められ、その後結果として生じるサンプルは、LICパラメータを導出するために使用される。
[0165]1つの例では、テンプレート(P0およびP1)からのいくつかのサンプルは、異常値になると決定され、排除されることができる。例えば、最小二乗ソリューションは、異常値を排除したサンプルに基づいて計算されることができる。いくつかのインプリメンテーションでは、復号されたまたは導出されたサンプル値範囲(またはしきい値)は、異常値を取り除くために適用されることができる。範囲は、異常値しきい値範囲と呼ばれることができる。値が範囲内にないサンプルは、取り除かれ、最小二乗ソリューションは、値が範囲内にあるサンプルに基づいて計算される。1つの例示的な例では、8ビットのピクセル値が利用され、そのケースでは、ピクセル値は、0−255からなることができる。いくつかのケースでは、所与のピクセルにおけるピクセルの値は、16−235の間のピクセル値のサブセットのような利用可能な値すべてのサブセットを含むことができる。所与のピクチャ内で使用された値のサブセットは、異常値を排除するための範囲として使用されることができる。範囲外にある任意のサンプルの値は、異常値であると決定されることができ、上の方程式を使用してLICパラメータを導出する前にテンプレートから取り除かれることができる。別の例示的な例では、テンプレート中のサンプル値の平均値が計算されることができ、平均からのx標準偏差を含むことができる。x項は、(3標準偏差のための)3、4、5、または他の適切な値のような任意の適切な値に設定されることができる。平均からのx標準偏差を超えるサンプルは、排除されることができる。範囲は、スライスレベル、ピクチャレベル、ブロックレベル、または同様なもので、復号器にシグナルされることができる。
[0166]いくつかの例では、ルーマコンポーネントのみがRef0およびRef1の両方のためのLICパラメータを一緒に最適化するために使用される必要がある。代替として、ルーマおよびクロマコンポーネントの両方は、両予測LICパラメータの導出の間考慮されることができる。符号化器は、クロマコンポーネントのうちの1つまたは複数にLICを適用するかどうか、またはルーマコンポーネントにLICを適用するかどうかのみを(パラメータセットにおいて、SEIメッセージにおいて、または他の適切なシグナリングメカニズムで)復号器にシグナルすることができる。
[0167]いくつかのケースでは、FRUC二面マッチング(FRUC bilateral matching)が有効であるとき両予測LIC導出は、スキップされ、システムは、単方向LICで処理されることができる。いくつかのケースでは、FRUCおよび二面(テンプレートベースの)LICは、一緒に使用されることができる。
[0168]いくつかの例では、前に説明された重複したブロック動き補償(BOMC)技法は、LIC(例えば、両予測および/または単予測LICのいずれか)が有効であるときバラバラに使用されることができる。例えば、いくつかのケースでは、LICがブロックのために有効であるときOBMCは、ブロックのために無効にされる。別の例では、LICが有効であるとき、OBMCは、Bタイプスライスのみのために無効にされる。この例では、(例えば、パラメータセットのシンタックスにおいて、ヘッダにおいて、SEIメッセージにおいて、または同様なものにおいて)OBMCフラグおよびICフラグは、Pタイプスライス中のブロックのためにのみ一緒に有効にされることができる。別の例では、LICが有効になるとき、OBMCは、両予測ブロックのためにのみ無効にされる。この例では、OBMCおよびIC技法は、単予測ブロックのためにのみ同時に適用されることができる。
[0169]加えて、OBMCが適用されるかどうかを示すために、フラグが(例えば、パラメータセットのシンタックスにおいて、SEIメッセージにおいて、または同様なものにおいて)使用される場合、関連すrうOBMCフラグは、OBMCおよびLIXがブロック、スライス、ピクチャまたは同様なもののために一緒に有効にされることができないときに送られないべきである。同様に、制限は、OBMCフラグが最初にシグナルされた場合に、LICフラグに適用されることができる。
[0170]図15は、ICとOBMCフラグ(ブロック1504および1506)との間の既存のシグナリングと同様に、改善されたシグナリングでのフローチャートのためのプロセス1500を例示する。上の例1、例2、または例3を使用することが既存の技法より低い符号化複雑性およびより良いコーディング効率性を達成することができる。例えば、ブロック1502で、プロセス1500は、現在のブロックのための動きベクトルおよび参照インデックスをシグナルする。既存の技法を使用して、(ブロック1504で)OBMCフラグおよび(ブロック15060で)ICフラグがシグナルされる。しかしながら、例1では、プロセス1500は、ICフラグがブロック1508でシグナルされるかどうかをチェックする。ICフラグがシグナルされる場合、OBMCフラグがシグナルされない。しかしながら、ICフラグがシグナルされない場合、OBMCフラグは、ブロック1510でシグナルされる。OBMCフラグがシグナルされないとき、それは、現在のブロックのために無効にであると仮定される。
[0171]例2では、プロセス1500は、ブロック1512で、ICフラグがシグナルされるかどうかおよび現在のスライスがBタイプスライスであるかどうかをチェックする。ICフラグがシグナルされ、現在のスライスがBタイプスライスである場合、OBMCフラグがシグナルされない。しかしながら、ICフラグがシグナルされない、または現在のスライスがBタイプスライスである場合、OBMCフラグは、ブロック1514でシグナルされる。OBMCフラグがシグナルされないとき、それは、現在のブロックのために無効にであると仮定される。
[0172]例3では、プロセス1500は、ブロック1516で、ICフラグがシグナルされるかどうかおよび現在のブロックが両予測ブロックであるかどうかをチェックする。ICフラグがシグナルされ、現在のブロックが両予測ブロックである場合、OBMCフラグがシグナルされない。しかしながら、ICフラグがシグナルされない、または現在のブロック両予測ブロックである場合、OBMCフラグは、ブロック1518でシグナルされる。OBMCフラグがシグナルされないとき、それは、現在のブロックのために無効にであると仮定される。
[0173]上で説明される例のうちの1つまたは複数は、JEM3.0における既存のローカル照度補償(LIC)ツールに対する代替方法を提供する。例のうちのいくつかでは、線形最小二乗法が両予測動き補償におけるL0およびL1の両方一緒にLICパラメータを解くために使用される。共通テスト条件下のJEM−3.0でテストされた、提案された方法は、2−3%符号化時間増加と共に、ランダムアクセス、低遅延B、および低遅延P構成のために0.18%/0.01%/xxx%BDレート低減をそれぞれに提供し得る。
[0174]実験は、本明細書で説明されるテンプレートベースの両予測LIC導出を使用して肯定的な結果を示す。以下のシミュレーションでは、ラムダの値は、以下の式のように選択される:
Figure 2019531029
Figure 2019531029
Figure 2019531029
Figure 2019531029
[0175]テーブル1、2、および3の第1の3つの列中の値は、BDレートと呼ばれ、それは、コーディング効率を測定するためにビデオコーディングにおけるメトリックが共通に使用される。BDレートのための負の数は、同じ品質のビデオを表わすためのビットの低減を参照し、従って、コーディング利得を暗示する。次の2つの列はそれぞれ、符号化ランタイム(EncT)および復号ランタイム(DecT)である。テーブル1−3中の行の各々は、UHD(クラスA1/クラスA2)、HD(クラスB)、WVGA(クラスC)、およびWQVGA(クラスD)からの異なるソシューションのシーケンスのセットを示す。クラスFは、コンピュータスクリーンコンテンツ(SCC)を含む特別なセットである。
[0176]いくつかの例では、単予測動き補償および/または両予測動き補償の間、LICパラメータは、様々な技法のすべてまたは任意のサブセットを組み合わせることによって導出されることができる。1つの例示となる例では、テンプレートは、上ネイバー、左ネイバー、上ネイバーおよび左ネイバーの両方、または別の近隣ブロックからサンプルの全て(例えば、ピクセル、すべての輝度サンプル、すべてのクロミナンスサンプル、クロミナンスサンプルのうちの1つのみ、これらの組合せ、または他の適切なサンプル)を考慮することによって生み出されることができる。
[0177]いくつかのケースでは、(例えば、単予測動き補償または両予測動き補償のいずれかのための)回帰計算中に含まれるピクセル(または他のサンプル)の行および/または列の数は、1つ、2つ、または4つであることができる。行および/または列の他の適切な数はまた使用されることができる。いくつかのケースでは、可能な行および/または列の数は、固定されることができる。
いくつかのインプリメンテーションでは、システムおよび方法は、LICのために使用する1つまたは複数のテンプレートのサイズを適応的に決定するために本明細書に説明される。例えば、現在のブロックのためのLICを実行するために使用されるテンプレート(例えば、上で説明されるN、P0、またはP1、あるいは単予測動き補償において使用される単一参照ピクチャのテンプレート)の行および/または列の数は、現在のブロックのパラメータに依存して変化することができる。パラメータは、現在のブロックのブロックサイズ(例えば、ブロックの幅、ブロックの高さ、またはブロックの幅および高さ)、現在のブロックのクロマフォーマット(例えば、4:2:0フォーマット、4:2:2フォーマット、4:4:4フォーマット、または他の適切なクロマフォーマット)、またはテンプレートサイズを決定するために使用されることができる他のパラメータを含むことができる。
[0179]例えば、テンプレートにおける行および/または列(または他のサンプル)の数は、現在のブロックの幅および/または高さに依存して変化することができる。いくつかの例では、ブロック幅がしきい値幅より小さいとき、上テンプレートの行の数は1である。いくつかの例では、ブロック高さがしきい値高さより小さいとき、左テンプレートの列の数は1である。ブロック幅がしきい値幅より大きいとき、上テンプレートの行の数は1より大きく、ブロック高さがしきい値高さより大きいとき、左テンプレートの列の数は1より大きい。1つの例示的な例では、8ピクセル未満の幅および/または高さを持つブロックについて、線および/または列の数は、1に限定される。さもなければ、幅および/または高さが32ピクセル未満であるとき線および/または列の数は、2に限定される。さもなければ、線および/または列の数は、最大4までであることができる。いくつかのケースでは、しきい値は、符号化器および/または復号器によって静的に決定されることができる。いくつかのケースでは、しきい値は、シーケンスパラメータセット(SPS)中で、ピクチャパラメータセット(PPS)中で、スライスヘッダ中で、SEIメッセージ中で、または他の適切なシグナリングを使用してシグナルされる。
[0180]別の例では、クロマのための行および/または列(または他のサンプル)の数は、クロマフォーマットに依存する。例えば、4:2:0フォーマットについて、クロマのためのピクセルの行および/または列の数は、ルーマサイズの半分に設定される。別の例では、4:2:2フォーマットについて、クロマのためのピクセルの列の数は、ルーマサイズの半分に設定される一方、行の数は、ルーマサイズのと同じに設定される。関連するルーマコンポーネントの行および/または列の数が1であるとき、その後、関連する行および/または列は、1に設定される。
[0181]いくつかのケースでは、テンプレートのサイズは、SPS中で、PPS中で、スライスヘッダ中で、SEIメッセージ中で、または他の適切なシグナリングを使用してシグナルされることができる。いくつかの例では、回帰計算の前に近隣ピクセルを前処理するための補間フィルタのタイプは、本明細書で説明されるように、HEVC基準において定義される双線形および8タップ補間フィルタを含む。いくつかのケースでは、補間フィルタのタイプは、SPS、PPS、スライスヘッダ、SEIメッセージを介して、または他の適切なシグナリングを使用してシグナルされることができる。
[0182]いくつかの例では、1つまたは複数のシステムおよび方法はさらに、重みの所定のセットからの重みの適応選択を提供する。例えば、テンプレートベースのソリューションは、復号器に重みの選択をシグナルする必要なしに、重みの所定のセットの1つまたは複数の重みから1つまたは複数の最適重みを探索するために使用されることができる。適応重み選択は、LIC、重み付けられた予測(WP)、または予測プロセスにおいて重みを利用する他の予測または補償技法のような、任意のテンプレートマッチングベースの動き予測または補償のために使用されることができる。
[0183]例えば、重みの所定のセットが両予測動き補償の間に考慮される場合、テンプレートベースの方法は、復号器に重みの選択をシグナルする必要なしに重みの最適なセットのために探索するように利用されることができる。この方法は、LIC有効およびLIC無効ケースの両方に適用可能であり、したがって、本明細書に説明される他の方法のいくつかまたはすべてと独立に適用されることができる。この方法および下の例は、両予測ブロックおよび/または単予測ブロックに適用されることができる。
[0184]いくつかのケースでは、現在のブロックの近隣サンプルは、前に説明されたものと同様に、テンプレートとして使用されることができる。いくつかのケースでは、候補テンプレートのためのサンプルに関連付けられた1つまたは複数メトリックは、重みの所定のセットからどの重みを選択するかを決定するために使用されることができる。例えば、(現在のブロックの動き情報によって示される)1つまたは複数参照ブロックのそれらの対応するサンプルおよび現在のブロックの近隣サンプルの、絶対差の合計(SAD)、絶対変換差の合計(SATD)、および/または二乗誤差の合計(SSE)は、テンプレートマッチングの基準として使用されることができる。この例では、テンプレートマッチングの、最も小さいSAD、SATD、またはSSEをもたらす重みの所定のセットからの重みが予測を生成するために生成され使用されることができる。当業者のうちの1人は、任意の他の測定値がテンプレートマッチングの基準として使用されることができることを理解できるだろう。このケースでは、1つまたは複数特定の重みパラメータのシグナリングが必要でない。
[0185]いくつかのケースでは、所定のセットにおけるテンプレートマッチングのメトリック(例えば、SAD、SATD、SSE、または同様なもの)は、重みパラメータのシグナリングのために使用されることができる。例えば、テンプレートマッチングのSAD/SATD/SSEの順序は、重みパラメータのシグナリング順序を切り替えるために使用されることができる。1つの例示的な例では、重みおよび符号化器の4つのペアがどの重みのペアが使用されるかをシグナルするために必要である。最小のSAD/SATD/SSE値をもたらすペアは、「0」のコードワードを割り当てられ、2番目に最小のSAD/SATD/SSE値をもたらすペアは、「10」のコードワードを割り当てられる。2つのペアの残りは、それぞれ「110」および「111」のコードワードを割り当てられる。
[0186]図16は、本明細書で説明される両予測LICパラメータ導出技法のうちの1つまたは複数を使用してビデオデータを処理するプロセス1600の例を例示するフローチャートである。1602で、プロセス1600は、ビデオデータを取得することを含む。いくつかの例では、ビデオデータは、プロセス1800が復号デバイスによって実行されるときのような、符号化されたビデオデータ(例えば、符号化されたビデオビットストリーム)を含むことができる。いくつかの例では、ビデオデータは、プロセス1800が復号デバイスによって実行されるときのような、符号化されていないビデオデータを含むことができる。ビデオデータは、複数のピクチャを含むことができ、ピクチャは、前に説明されるように、複数のブロックに分割される。ビデオデータはさらに、動き補償を実行するために使用されることができる、ピクチャおよび/またはブロックのための動き情報を含むことができる。
[0187]1604で、プロセス1600は、ビデオデータのピクチャの現在のピクチャのための両予測動き補償を実行することを含む。両予測動き補償を実行することは、現在のブロックのテンプレート、第1の参照ピクチャの第1のテンプレート、および第2の参照ピクチャの第2のテンプレートを使用して現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む。1つの例示的な例では、現在のブロックは、図14中で示される現在のブロックであることができ、現在のブロックのテンプレートは、テンプレートNを含むことができ、第1の参照ピクチャは、参照ブロック1404を含むことができ、第1のテンプレートは、テンプレートP0を含むことができ、第2の参照ピクチャは、参照ブロック1406を含むことができ、第2のテンプレートは、テンプレートP1を含むことができる。
[0188]いくつかの例では、第1の参照ピクチャの第1のテンプレートおよび第2の参照ピクチャの第2のテンプレートは、1つまたは複数のローカル照度補償パラメータを導出するために同時に使用される。例えば、方程式(4)中に示されるコスト関数または方程式(10)中に示されるコスト関数(または他の適切な関数)は、同時に第1の参照ピクチャおよび第2の参照ピクチャの両方を使用して1つまたは複数ローカル輝度補償パラメータを導出するために解かれることができる(両方の参照ピクチャが同じコスト関数において使用される)。
[0189]いくつかのケースでは、現在のブロックのテンプレートは、現在のブロックの1つまたは複数空間的近隣サンプルを含む。例えば、例として図14を使用して、テンプレートNは、現在のブロック1402に隣接しているブロックからのサンプルで構成される。このケースでは、第1のテンプレートは、第1の参照ブロックの1つまたは複数空間的近隣サンプルを含み、第2のテンプレートは、第2の参照ブロックの1つまたは複数空間的近隣サンプルを含む。例えば、例として図14を再び使用して、テンプレートP0は、参照ブロック1404の空間的近隣サンプルを含み、テンプレートP1は、参照ブロック1406の空間的近隣サンプルを含む。
[0190]いくつかの例では、現在のブロックのための1つまたは複数のローカル照度補償パラメータは、現在のブロックのテンプレートの1つまたは複数の空間的近隣サンプルを取得することによって導出されることができる。プロセス1600は、第1の参照ピクチャの第1のテンプレートの1つまたは複数のサンプルを決定することができる。第1のテンプレートの1つまたは複数のサンプルは、第1の参照ピクチャの第1の参照ブロックの1つまたは複数の空間的近隣サンプルを含む。プロセス1600はまた、第2の参照ピクチャの第2のテンプレートの1つまたは複数のサンプルを決定し、それは、第2の参照ピクチャの第2の参照ブロックの1つまたは複数の空間的近隣サンプルを含む。例えば、現在のブロックの動き情報(例えば、動きベクトルおよび2つの参照インデックス)は、(参照インデックスを使用して)第1および第2の参照ピクチャ、および(動きベクトルを使用して)参照ピクチャ内の第1および第2のブロックを位置付けるために使用されることができる。第1および第2の参照ブロックの1つまたは複数の空間的近隣サンプルは、その後決定されることができる。1つの例示的な例では、第1のテンプレート中に包含される第1の参照ブロックの1つまたは複数の空間的近隣サンプルは、第1の参照ブロックより上の近隣ブロックからのサンプルの1つまたは複数の行、および近隣ブロックから第1の参照ブロックの左へのサンプルの1つまたは複数の列として決定されることができる。この例では、第2のテンプレート中に包含される第2の参照ブロックの1つまたは複数の空間的近隣サンプルは、第2の参照ブロックより上の近隣ブロックからのサンプルの1つまたは複数の行、および近隣ブロックから第2の参照ブロックの左へのサンプルの1つまたは複数の列として決定されることができる。他の近隣ブロックからの行および/または列はまた、使用されることができる。
[0191]1つまたは複数の照度補償パラメータは、現在のブロックの1つまたは複数の空間的近隣サンプル、第1のテンプレートの1つまたは複数のサンプル、第2のテンプレートの1つまたは複数のサンプルに基づいて現在のブロックのために導出されることができる。例えば、1つまたは複数のローカル照度補償パラメータは、オフセット、第1の重み、第2の重み、を使用してコスト関数を解くことによって導出されることができる。1つの例示的な例では、方程式(4)中に示されるコスト関数または方程式(10)中に示されるコスト関数(または他の適切な関数)は、現在のブロックのための1つまたは複数のローカル照度補償パラメータを導出するために、現在のブロックの1つまたは複数の空間的近隣サンプル、第1のテンプレートの1つまたは複数のサンプル、および第2のテンプレートの1つまたは複数のサンプルを使用して解かれることができる。この例では、LICプロシージャの入力は、現在のブロックの近隣サンプル、2つの参照ブロックの近隣サンプル、且つ2つの動きベクトルおよび参照インデックスを含み、それは、どの参照サンプルから来たのかを示す。
[0192]いくつかのケースでは、現在のブロックのテンプレートは、現在のブロックの少なくとも1つの近隣ブロックの複数のサンプルのサブセットを含む。例えば、現在のブロックのテンプレートは、近隣ブロックからのピクセルの単一線または近隣ブロックからのピクセルの複数の線を含むことができる1つの例では、テンプレートを作り上げている近隣サンプルは、上近隣ブロック、左近隣ブロック、上近隣ブロックおよび左近隣ブロックの両方、または他の近隣ブロックからのものであることができる。現在のブロックのテンプレートが現在のブロックの上近隣ブロックおよび左近隣ブロックを含む例では、テンプレートは、上近隣ブロックからの単一行および左近隣ブロックからの単一列を含むことができる。いくつかのケースでは、現在のブロックのテンプレートは、現在のブロックの近隣ブロックからのサンプルの複数の線を含む。いくつかのケースでは、現在のブロックのテンプレートは、現在のブロックの第1の近隣ブロックからのサンプルの複数の線および現在のブロックの第2の近隣ブロックからのサンプルの複数の線を含む。いくつかのケースでは、テンプレートは、2つの近隣ブロックより多くのブロックからの近隣ブロックを含むことができる。現在のブロックのテンプレートが現在のブロックの上近隣ブロックおよび左近隣ブロックを含む例では、テンプレートは、上近隣ブロックからの2つ以上の行および左近隣ブロックの2つ以上の列を含むことができる。第1の参照ブロックの第1のテンプレートおよび第2の参照ブロックの第2のテンプレートはまた、それぞれの参照ブロックの近隣ブロックの単一行および/または列、または近隣ブロックからの複数の行および/または列を含むことができる。
[0193]いくつかの例では、1つまたは複数のローカル照度補償パラメータは、1つまたは複数の重みを含む。例えば、1つまたは複数の重みは、第1の参照ピクチャに対応する第1の重みおよび第2の参照ピクチャに対応する第2の重みを含むことができる。前の例を使用して、第1の重みは、方程式(4)または方程式(10)から、重みwを含み、第2の重みは、重みwを含むことができる。いくつかの例では、1つまたは複数のローカル照度補償パラメータは、オフセットを含み得る。上からの例を使用して、オフセットは、方程式(4)または方程式(10)からのオフセットoを含むことができる。いくつかの例では、1つまたは複数のローカル照度補償パラメータは、オフセット、第1の参照ピクチャに対応する第1の重み、および第2の参照ピクチャに対応する第2の重みを含むことができる。
[0194]いくつかのインプリメンテーションでは、第1の参照ピクチャの第1のテンプレートにおける整数位置のサンプルおよび第2の参照ピクチャの第2のテンプレートにおける整数位置のサンプルは、1つまたは複数のローカル照度補償パラメータを導出するために使用される。いくつかのケースでは、第1の参照ピクチャの第1のテンプレートにおける小数位置のサンプルおよび第2の参照ピクチャの第2のテンプレートにおける小数位置のサンプルは、1つまたは複数のローカル照度補償パラメータを導出するために使用される。このケースでは、プロセス1600は、第1の参照ピクチャの第1のテンプレートにおける小数位置のサンプルおよび第2のテンプレートにおける小数位置のサンプルを導出するために少なくとも1つの補間フィルタを使用することができる。
[0195]いくつかの例では、第1および第2の参照ブロックの近隣サンプルからのあるサンプルは、1つまたは複数の照度補償パラメータを導出する際の使用から除外されることができる。例えば、プロセス1600は、異常しきい値範囲の外側にある、第1のテンプレートまたは第2のテンプレートのうちの少なくとも1つまたは複数からの少なくとも1つのサンプルを決定することと、1つまたは複数の照度補償パラメータを導出するために使用することから少なくとも1つのサンプルを除外することとを含むことができる。例えば、前に説明されるように、異常しきい値範囲は、テンプレート中のすべての利用可能なピクセル値のサブセット、テンプレートにおけるピクセル値の平均値からのx標準偏差、または他の適切な範囲を含む。
[0196]いくつかのケースでは、第1のテンプレートおよび第2のテンプレートのうちの1つまたは複数のサンプルからのルーマコンポーネントのみが1つまたは複数のローカル照度補償パラメータを導出するために使用される。
[0196]いくつかのケースでは、第1のテンプレートおよび第2のテンプレートのうちの1つまたは複数のサンプルからの少なくとも1つのクロマコンポーネントおよびルーマコンポーネントが1つまたは複数のローカル照度補償パラメータを導出するために使用される。
[0197]復号器によって実行されるとき、プロセス1600はさらに、1つまたは複数の照度補償パラメータを使用して現在のブロックを復号することを含むことができる。符号化器または他の送信機サイドのデバイスによって実行されるとき、プロセス1600は、符号化されたビデオビットストリーム中で1つまたは複数の照度補償パラメータをシグナリングすることを含む。
[0198]いくつかの例では、重複ブロック動き補償(OBMC)は、ローカル照度補償が現在のブロックのために有効であるときに現在のブロックのために無効にされることができる。いくつかのケースでは、OBMCは、ローカル照度補償がビデオデータのために有効であるとき、ビデオデータのBタイプスライスに対して無効にされる。いくつかのケースでは、OBMCは、ローカル照度補償がビデオデータのために有効であるとき、ビデオデータの両予測ブロックに対して無効にされる。
[0199]図17は、本明細書で説明される適応テンプレート導出技法のうちの1つまたは複数を使用してビデオデータを処理するプロセス1700の例を例示するフローチャートである。1702で、プロセス1700は、ビデオデータのピクチャの現在のブロックを取得することを備える。いくつかの例では、ビデオデータは、プロセス1800が復号デバイスによって実行されるときのような、符号化されたビデオデータ(例えば、符号化されたビデオビットストリーム)を含むことができる。いくつかの例では、ビデオデータは、プロセス1800が復号デバイスによって実行されるときのような、符号化されていないビデオデータを含むことができる。ビデオデータは、複数のピクチャを含むことができ、ピクチャは、前に説明されるように、複数のブロックに分割される。ビデオデータはさらに、動き補償を実行するために使用されることができる、ピクチャおよび/またはブロックのための動き情報を含むことができる。
[0200]1704で、プロセス1700は、現在のブロックのパラメータを決定することを含む。いくつかのケースでは、現在のブロックのパラメータは、現在のブロックのサイズを含む。1つの例示的な例では、現在のブロックのサイズは、現在のブロックの幅を含む。別の例では、現在のブロックのサイズは、現在のブロックの高さを含む。別の例では、現在のブロックをサイズは、ブロックの幅およびブロックの高さを含む。サイズはまた、ピクセルの数、エリア、または同様なもののような、任意の他の適切なサイズの測定値を含む。いくつかのケースでは、現在のブロックのパラメータは、現在のブロックのクロマフォーマットを含む。様々な例では、クロマフォーマットは、4:2:0クロマフォーマット、4:2:2クロマフォーマット、4:4:4クロマフォーマット、または他の適切なフォーマットを含むことができる。
[0204]1706で、プロセス1700は、現在のブロックの決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することを含む。1つの例示的な例では、パラメータがブロックの幅を含むとき、現在のブロックのテンプレート中のサンプルの行の数は、現在のブロックの幅が閾値幅より小さいときに1行である。別の例示的な例では、パラメータがブロックの幅を含むとき、現在のブロックのテンプレート中のサンプルの行の数は、現在のブロックの幅が閾値幅より大きいときに1行である。別の例示的な例では、パラメータがブロックの高さを含むとき、現在のブロックのテンプレート中のサンプルの列の数は、現在のブロックの高さが閾値高さより小さいときに1列である。別の例示的な例では、パラメータがブロックの高さを含むとき、現在のブロックのテンプレート中のサンプルの列の数は、現在のブロックの高さが閾値高さより大きいときに1列である。別の例示的な例では、パラメータがブロックのクロマフォーマットを含むとき、現在のブロックのテンプレート中のサンプルの行の数およびサンプルの列の数は、現在のブロックのクロマフォーマットが4:2:0であるとき、現在のブロックのルーマサイズの半分に設定される。別の例示的な例では、パラメータがブロックのクロマフォーマットを含むとき、現在のブロックのテンプレート中のサンプルの行の数は、現在のブロックのルーマサイズと同じサイズに設定され、現在のブロックのテンプレート中のサンプルの列の数は、現在のブロックのクロマフォーマットが4:2:2であるとき、ルーマサイズの半分に設定される。
[0202]1708で、プロセス1700は、現在のブロックのための動き補償を実行することを含む。動き補償を実行することは、現在のブロックのテンプレートおよび参照ピクチャのテンプレートを使用して現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む。動き補償は、単予測ブロック動き補償または両予測動き補償を含むことができる。
[0203]復号器によって実行されるとき、プロセス1700はさらに、1つまたは複数の照度補償パラメータを使用して現在のブロックを復号することを含むことができる。符号化器または他の送信機サイドのデバイスによって実行されるとき、プロセス1700は、符号化されたビデオビットストリーム中で1つまたは複数の照度補償パラメータをシグナリングすることを含む。
[0204]図18は、本明細書で説明される適応重み選択導出技法のうちの1つまたは複数を使用してビデオデータを処理するプロセス1800の例を例示するフローチャートである。1802で、プロセス1800は、ビデオデータのピクチャの現在のブロックを取得することを備える。いくつかの例では、ビデオデータは、プロセス1800が復号デバイスによって実行されるときのような、符号化されたビデオデータ(例えば、符号化されたビデオビットストリーム)を含むことができる。いくつかの例では、ビデオデータは、プロセス1800が復号デバイスによって実行されるときのような、符号化されていないビデオデータを含むことができる。ビデオデータは、複数のピクチャを含むことができ、ピクチャは、前に説明されるように、複数のブロックに分割される。ビデオデータはさらに、動き補償を実行するために使用されることができる、ピクチャおよび/またはブロックのための動き情報を含むことができる。
[0205]1804で、プロセス1800は、テンプレートマッチングベースの動き補償のための重みの所定のセットを取得することを含む。いくつかのケースでは重みの所定のセットは、少なくとも、重みの第1のセットと重みの第2のセットとを含む。重みの所定のセットは、重みの第1のセットおよび第2のセットより多い重みのセットを含むことができる。重みは、ローカル照度補償、重み予測、またはビデオコーディングのための重みを使用する他の関数のような、推定関数または適切な任意の動き補償において使用されることができる。
[0206]1806で、プロセス1800は、現在のブロックの1つまたは複数の空間的近隣サンプルおよび参照フレームの1つまたは複数の空間的近隣サンプルに関連付けられた複数のメトリックを決定することを含む。例えば、複数のメトリックは、参照フレームの1つまたは複数の空間的近隣サンプルに重みの第1のセットを適用することによって第1のメトリックを決定することと、参照フレームの1つまたは複数の空間的近隣サンプルに重みの第2のセットを適用することによって第2のメトリックを決定することとによって決定されることができる。いくつかのケースでは、複数のメトリックは、現在のブロックの1つまたは複数の空間的近隣サンプルと、参照フレームの1つまたは複数の空間的近隣サンプルとの間の絶対差の合計を計算することによって決定されることができる。いくつかのケースでは、複数のメトリックは、現在のブロックの1つまたは複数の空間的近隣サンプルと、参照フレームの1つまたは複数の空間的近隣サンプルとの間の絶対変換差の合計を計算することによって決定されることができる。いくつかのケースでは、複数のメトリックは、現在のブロックの1つまたは複数の空間的近隣サンプルと、参照フレームの1つまたは複数の空間的近隣サンプルとの間の予測の二乗誤差の合計を計算することによって決定されることができる。
[0207]1808で、プロセス1800は、動き補償に基づくテンプレートマッチングのために使用する重みの所定のセットから重みのセットを選択することを含む。重みのセットは、複数のメトリックに基づいて決定される。例えば、重みのセットは、複数のメトリックに基づいて、第1のメトリックおよび第2のメトリックを比較することと、第2のメトリックより小さい第1のメトリックを決定することと、第2のメトリックより小さい第1のメトリックに基づいて重みの第1のセットを選択することとによって選択されることができる。第2のメトリックより小さい第1のメトリックによって示されるように、重みの第1のセットは、テンプレートマッチングベースの重み補償のための重みの所定のセットの中の最も小さいメトリックをもたらす。
[0208]1810で、プロセス1800は、選択された重みのセットを使用して現在のブロックのためのテンプレートマッチングベースの動き補償を実行することを含む。テンプレートマッチングベースの動き補償は、ローカル照度補償(LIC)、重み付けされた予測(WP)、または他の適切なテンプレートマッチングベースの動き補償技法のような、任意の適切な動き補償技法を含むことができる。
[0209]いくつかのケースでは、重み付けパラメータがビデオデータと共にシグナルされない。例えば、重みのセットを適応的に選択することによって、復号器がプロセスを使用して重みのセットを選択することができるので、重みパラメータを復号器にシグナルする必要がない。
[0210]いくつかの例では、プロセス1600、1700、および1800は、図1中に示されるシステムのような、計算デバイスまたは装置によって実行され得る。例えば、プロセス900は、図1および図12中に示される符号化デバイス104によって、別のソース側デバイスまたはビデオ送信デバイスによって、図1および図12中に示される復号デバイス112によって、および/または別のクライアント側デバイス、ディスプレイ、または任意の他のクライアント側デバイスによって実行されることができる。プロセス1000は、図1および図12中に示される符号化デバイス104によって、または別のビデオソース側デバイスまたはビデオ送信デバイスによって実行されることができる。プロセス1100は、図1および図20中に示される復号デバイスによておよび/または図1および図19中に示される符号化デバイス104によって実行されることができる。いくつかのケースでは、計算デバイスまたは装置は、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、またはプロセス1600、1700、および1800のステップを遂行するように構成されたデバイスの他のコンポーネントを含み得る。いくつかの例では、計算デバイスまたは装置は、ビデオフレームを含むビデオデータ(例えば、ビデオシーケンス)をキャプチャするように構成されたカメラを含み得る。いくつかの例では、ビデオデータをキャプチャする他のキャプチャデバイスまたはカメラは、計算デバイスと離れており、そのケースでは、計算デバイスは、キャプチャされたビデオデータを受信または取得する。計算デバイスはさらに、ビデオデータを通信するように構成されたネットワークインターフェースを含む。ネットワークインターフェースは、インテ―ネットプロトコル(IP)ベースのデータまたはデータの他のタイプを通信するように構成され得る。いくつかの例では、計算デバイスまたは装置は、ビデオビットストリームのピクチャのサンプルのような、出力ビデオコンテンツを表示するためのディスプレイを含み得る。
[0211]プロセス1600、1700、および1800は、論理フローチャートとして例示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せによってインプリメントされることができる動作のシーケンスを表わす。コンピュータ命令のコンテキストでは、動作は、1つまたは複数のプロセッサによって実行されると、列挙された動作を実行する、1つまたは複数のコンピュータ可読記憶媒体上に記憶されたコンピュータ実行可能命令を表わす。一般に、コンピュータ実行可能命令は、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および特定の関数実行するか、または特定のデータタイプをインプリメントする同様のものを含む。説明される動作の順序は、限定されるように構築されるように意図されておらず、説明される動作の任意の数はプロセスをインプリメントするために、任意の順序で、および/または並列に組み合わされることができる。
[0212]追加として、プロセス1600、1700、および1800は、実行可能な命令と共に構築された1つまたは複数のコンピュータシステムの制御下で実行され、ハードウェアによって、1つまたは複数のプロセッサ上で集合的に、またはそれらの組合せで実行するコード(例えば、実行可能命令、1つまたは複数のコンピュータプログラム、または1つまたは複数のアプリケーション)としてインプリメントされ得る。上で注意されるように、コードは、例えば、1つまたは複数のプロ瀬在によって実行可能な複数の命令を備えるコンピュータプログラムの形成において、コンピュータ可読またはマシン可読記憶媒体上で記憶され得る。コンピュータ可読またはマシン可読記憶媒体は、非一時的であり得る。
[0213]ここに論述されるコーディング技法は、実例的なビデオ符号化および復号システム(例えば、システム100)においてインプリメントされ得る。いくつかの例では、システムは、宛先デバイスによって後の時間に復号されることになる符号化されたビデオデータを提供するソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介して宛先デバイスにビデオデータを提供する。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーミングコンソール、ビデオストリーミングデバイス、または同様のものを含む、幅広い範囲のデバイスのうちの任意のものを備え得る。いくつかのケースでは、ソースデバイスおよび宛先デバイスは、ワイヤレス通信のために装備され得る。
[0214]宛先デバイスは、コンピュータ可読媒体を介して復号されることになる符号化されたビデオデータを受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスに符号化されたビデオデータを移動させることが可能である任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体は、ソースデバイスがリアルタイムで宛先デバイスに直接符号化されたビデオデータを送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つまたは複数の物理伝送線のような任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットのようなグローバルネットワークといった、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を容易にするのに役立ちうる任意の他の機器を含み得る。
[0215]いくつかの例では、符号化されたデータは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化されたデータは、記憶デバイスから、入力インターフェースによってアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または非揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体のような様々な分散型または局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。さらなる例では、記憶デバイスは、ファイルサーバ、またはソースデバイス12によって生成された符号化されたビデオを記憶し得る別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶するおよび符号化されたビデオデータを宛先デバイス14に送信する能力がある任意のタイプのサーバであり得る。例となるファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイスは、インターネット接続を含む、任意の標準データ接続を通じて符号化されたビデオデータにアクセスしうる。これは、ファイルサーバに記憶された、符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、有線接続(例えば、DSL、ケーブルモデム等)、またはその両方の組み合わせを含むことができる。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組み合わせであり得る。
[0216] 本開示の技法は、必ずしも、ワイヤレスアプリケーション又はセッティングに制限されるわけではない。本技法は、無線テレビジョンブロードキャスト、ケーブルテレビジョン送信、衛星テレビジョン送信、HTTPを介した動的適応型ストリーミング(DASH)のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されるデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他のアプリケーションのような、様々なマルチメディアアプリケーションの任意のものをサポートするビデオコード化に適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話通信のようなアプリケーションをサポートするために、一方向または二方向のビデオ送信をサポートするように構成され得る。
[0217]一例では、ソースデバイスは、ビデオソース、ビデオ符号化器、および出力インターフェースを含む。宛先デバイスは、入力インターフェース、ビデオ復号器、およびディスプレイデバイスを含み得る。ソースデバイスのビデオ符号化器は、ここに開示されている技法を適用するように構成され得る。他の例では、ソースデバイス及び宛先デバイスは、他の構成要素(components)又は配置(arrangemants)を含むことができる。例えば、ソースデバイスは、外部カメラのような外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイスは、一体化されたディスプレイデバイスを含むというよりはむしろ、外部ディスプレイデバイスとインターフェースし得る。
[0218]上記の実例的なシステムは単に一例に過ぎない。平行してビデオデータを処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法が、ビデオ符号化デバイスによって実行されるが、本技法はさらに、典型的に「CODEC」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。更に本開示の技法はまた、ビデオプレプロセッサによっても実行され得る。ソースデバイスおよび宛先デバイスは単に、ソースデバイスが宛先デバイスへの送信のためのコード化されたビデオデータを生成するそのようなコーディングデバイスの例に過ぎない。いくつかの例では、ソースデバイスおよび宛先デバイスは、それらデバイスの各々がビデオ符号化および復号コンポーネントを含むような実質的に対称的な方法で動作し得る。故に、実例的なシステムは、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話通信のために、ビデオデバイス間の1方向または2方向ビデオ送信をサポートし得る。
[0219]ビデオソースは、ビデオカメラのようなビデオキャプチャデバイス、以前にキャプチャされたビデオを包含するビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてコンピュータグラフィックスベースのデータを、またはライブビデオ、アーカイブされたビデオ、およびコンピュータ生成されたビデオの組み合わせを生成し得る。いくつかのケースでは、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラ電話またはビデオ電話を形成し得る。しかしながら上述されたように、本開示で説明される技法は、概してビデオコード化に適用可能であり得、ワイヤレスおよび/またはワイヤードアプリケーションに適用され得る。各ケースでは、キャプチャされた、事前にキャプチャされた、またはコンピュータ生成されたビデオは、ビデオ符号化器によって符号化され得る。符号化されたビデオ情報はその後、コンピュータ可読媒体上に出力インターフェースによって出力され得る。
[0220]述べられたように、コンピュータ可読媒体は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信のような一過性媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu−ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体のような記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、例えば、ネットワーク送信を介して、ソースデバイスから符号化されたビデオデータを受信し、および宛先デバイスに符号化されたビデオデータを提供し得る。同様に、ディスクスタンピング設備のような媒体製造設備のコンピューティングデバイスは、ソースデバイスから符号化されたビデオデータを受信し、および符号化されたビデオデータを包含するディスクを製造し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解され得る。
[0221]宛先デバイスの入力インターフェースは、コンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ブロックおよび他のコーディングユニット、例えば、ピクチャのグループ(GOP:group of pictures)の特性および/または処理を記述するシンタックス要素を含む、ビデオ符号化器によって定義されるシンタックス情報を含み得、それはまた、ビデオ復号器によって使用される。ディスプレイデバイスは、ユーザに復号されたビデオデータを表示し、およびブラウン管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような多様なディスプレイデバイスのうちの任意のものを備え得る。本発明の様々な実施形態が、説明されてきた。
[0222]符号化デバイス104および復号デバイス112の特定の詳細は、それぞれ図19および図20に示されている。図19は、この開示において説明される技法のうちの1つまたは複数をインプリメントしうる実例的な符号化デバイス104を例示するブロック図である。符号化デバイス104は、例えば、ここに説明されるシンタックス構造(例えば、VPS、SPS、PPS、または他のシンタックス要素のシンタックス構造)を生成し得る。符号化デバイス104は、ビデオスライス内のビデオブロックのイントラ予測およびインター予測コーディングを実行し得る。前述されたように、イントラコーディングは、所与のビデオフレームまたはピクチャ内の空間的冗長性を低減または取り除くために空間的予測に少なくとも部分的に依拠する。インターコーディングは、ビデオシーケンスの隣接または周囲フレーム内の時間的冗長性を低減または取り除くために時間的予測に少なくとも部分的に依拠する。イントラモード(Iモード)は、いくつかの空間的ベースの圧縮モードのうちの任意のものを指し得る。単方向予測(Pモード)又は双方向予測(Bモード)のようなインターモードは、いくつかの時間的ベースの圧縮モードのうちの任意のものを指し得る。
[0223]符号化デバイス104は、区分化ユニット35、予測処理ユニット41、フィルタユニット63、ピクチャメモリ64、加算器50、変換処理ユニット52、量子化ユニット54、およびエントロピー符号化ユニット56を含む。予測処理ユニット41は、動き推定ユニット42、動き補償ユニット44、およびイントラ予測処理ユニット46を含む。ビデオブロック再構築のために、符号化デバイス104はまた、逆量子化ユニット58、逆変換処理ユニット60、および加算器62を含む。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような1つまたは複数のループフィルタを表すことを意図されている。フィルタユニット63はインループフィルタとして図19に示されているが、他の構成では、フィルタユニット63は、ポストループフィルタとしてインプリメントされ得る。後処理デバイス(A post processing device)57は、符号化デバイス104によって生成される符号化されたビデオデータに対して追加の処理を実行し得る。この開示の技法は、いくつかの事例では、符号化デバイス104によってインプリメントされ得る。他の事例では、しかしながら、この開示の技法のうちの1つまたは複数は、後処理デバイス57によってインプリメントされ得る。
[0224]図19に示されているように、符号化デバイス104は、ビデオデータを受信し、および区分化ユニット35は、データをビデオブロックへと区分化する。その区分化はまた、スライス、スライスセグメント、タイル、または他のより大きなユニットへの区分化、ならびに、例えば、LCUおよびCUの四分木構造にしたがったビデオブロック区分化を含み得る。符号化デバイス104は概して、符号化されることになるビデオスライス内のビデオブロックを符号化するコンポーネントを例示している。スライスは、複数のビデオブロック(そして、場合によっては、タイルと称されるビデオブロックのセット)へと分割され得る。予測処理ユニット41は、誤差結果(例えば、コーディングレートおよび歪みのレベル、または同様のもの)に基づいて、現在のビデオブロックに対して、複数のイントラ予測コーディングモードのうちの1つまたは複数のインター予測コーディングモードのうちの1つのような複数の可能なコーディングモードのうちの1つを選択し得る。予測処理ユニット41は、結果として生じるイントラ又はインターコード化されたブロックを、残差ブロックデータを生成するために加算器50に、参照ピクチャとしての使用のための符号化されたブロックを再構築するために加算器62に提供し得る。
[0225]予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を提供するためにコード化されるべき現在のブロックと同じフレームまたはスライスにおける1つまたは複数の近隣ブロックに関連して現在のビデオブロックのイントラ予測コード化を実行することができる。予測処理ユニット41内の動き推定ユニット42及び動き補償ユニット44は、時間的圧縮を提供するために、1つ又は複数の参照ピクチャ内の1つ又は複数の予測ブロックに対して、現在のビデオブロックのインター予測コード化を実行する。
[0226]動き推定ユニット42は、ビデオシーケンスについての所定のパターンに従って、ビデオスライスに対するインター予測モードを決定するように構成され得る。所定のパターンは、Pスライス、Bスライス、またはGPBスライスとしてシーケンスにおけるビデオスライスを指定することができる。動き推定ユニット42及び動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別個に例示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックについての動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックの予測ユニット(PU)の変位を示し得る。
[0227]予測ブロックは、画素差の観点から、コード化されることとなるビデオブロックのPUに厳密に一致すると認められるブロックであり、これは、差分絶対値和(SAD)、差分二乗和(SSD)、又は他の差分メトリックによって決定され得る。いくつかの例では、符号化デバイス104は、ピクチャメモリ64中に記憶された参照ピクチャのサブ整数ピクセル位置についての値を算出し得る。例えば、符号化デバイス104は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数ピクセル位置の値を補間し得る。従って、動き推定ユニット42は、全画素位置及び分数画素位置に対して、動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
[0228]動き推定ユニット42は、PUの位置と参照ピクチャの予測ブロックの位置とを比較することで、インターコード化されたスライス内のビデオブロックのPUについての動きベクトルを算出する。参照ピクチャは、各々が参照ピクチャメモリ64に記憶された1つ又は複数の参照ピクチャを識別する第1の参照ピクチャリスト(リスト0)又は第2の参照ピクチャリスト(リスト1)から選択され得る。動き推定ユニット42は、算出された動きベクトルを、エントロピー符号化ユニット56及び動き補償ユニット44に送る。
[0229]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて、予測ブロックをフェッチすること又は生成ことを伴い得、場合によっては、サブ画素精度への補間を実行する。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリスト中に、動きベクトルが指し示す予測ブロックを位置付け得る。符号化デバイス104は、コーディングされる現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差ビデオブロックを形成し、ピクセル差分値を形成する。画素差分値は、このブロックについての残差データを形成し、輝度及び彩度の両方の差分成分を含み得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際に復号デバイス112によって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成し得る。
[0230]イントラ予測処理ユニット46は、上記に説明されるように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット46は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、およびイントラ予測ユニット処理46は、テストされたモードから使用するための適切なイントラ予測モードを選択し得る。例えば、イントラ予測処理ユニット46は、様々なテストされたイントラ予測モードについてのレート歪み分析を使用してレート歪み値を算出し得、およびテストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は概して、符号化されたブロックを作り出すために使用されるビットレート(つまり、ビットの数)に加えて、符号化されたブロックと、符号化されたブロックを作り出すために符号化された元の符号化されていないブロックとの間の歪み(または誤り)の量を決定することができる。イントラ予測処理ユニット46は、どのイントラ予測モードがそのブロックに関する最良のレート歪み値を示すかを決定するために、歪みの割合及び様々な符号化されたブロックについての変化量を計算し得る。
[0231]いずれのケースでも、ブロックのためのイントラ予測モードを選択した後で、イントラ予測処理ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供することができる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス104は、様々なブロックについての符号化コンテキストの定義、ならびに最確(most probable)イントラ予測モードのインジケーション、イントラ予測モードインデックステーブル、およびコンテキストの各々に対して使用するための修正されたイントラ予測モードインデックステーブルを、送信されたビットストリーム構成データ中に含め得る。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルと、複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)とを含み得る。
[0232]予測処理ユニット41がインター予測またはイントラ予測のいずれかを介して現在のビデオブロックについての予測ブロックを生成した後に、符号化デバイス104は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つ又は複数のTUに含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)のような変換又は概念上同様の変換を使用して、残差ビデオデータを残差変換係数へと変換する。変換処理ユニット52は、残差ビデオデータを画素ドメインから周波数ドメインのような変換ドメインに変換し得る。
[0233]変換処理ユニット52は、結果として生じる変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートを更に低減するために、変換係数を量子化する。量子化プロセスは、係数のうちの一部または全部に関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することで修正され得る。いくつかの例では、次に、量子化ユニット54は、量子化された変換係数を含む行列のスキャンを実行し得る。代替的に、エントロピー符号化ユニット56がスキャンを実行し得る。
[0234]量子化に続いて、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースのコンテキスト適応型バイナリ算術コード化(SBAC)、確率間隔区分化エントロピー(PIPE:probability interval partitioning entropy)コード化、又は別のエントロピーコード化技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化されたビットストリームは、復号デバイス112に送信されうるか、または復号デバイス112による後の送信または取り出しのためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コード化されている現在のビデオスライスについての動きベクトル及び他のシンタックス要素をエントロピー符号化し得る。
[0235]逆量子化ユニット58及び逆変換処理ユニット60は、参照ピクチャの参照ブロックとしての後の使用のために、画素ドメイン内において残差ブロックを再構築するために、それぞれ逆量子化及び逆変換を適用する。動き補償ユニット44は、参照ピクチャリスト内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを追加することによって、参照ブロックを算出し得る。動き補償ユニット44はまた、再構築された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定で用いるサブ整数画素値を算出し得る。加算器62は、ピクチャメモリ64中での記憶のための参照ブロックを作り出すために、動き補償ユニット44によって作り出された動き補償予測ブロックに再構築された残差ブロックを追加する。参照ブロックは、後続のビデオフレーム又はピクチャにおいてブロックをインター予測するために、動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。
[0236]この方法では、図19の符号化デバイス104は、LICパラメータを導出することと、テンプレートのサイズを適応的に決定することと、および/または重みを適応的に選択することとを行うように降雨性されたビデオ得符号化器の例を表わす。符号化デバイス104は、例えば、LICパラメータを導出し得、テンプレートのサイズを適応的に決定し得、および/または上で説明されたような重みセットを適応的に選択し得る。例えば、符号化デバイスは、図16、17、および図18に関して上述されたプロセスを含む、本明細書で説明される技法のうちの任意のものを実行しうる。いくつかのケースでは、本開示の技法のうちのいくつかはまた、後処理デバイス57によってインプリメントされ得る。
[0237]図20は、実例的な復号デバイス112を例示するブロック図である。復号デバイス112は、エントロピー復号ユニット80、予測処理ユニット81、逆量子化ユニット86、逆変換処理ユニット88、加算器90、フィルタユニット91、およびピクチャメモリ92を含む。予測処理ユニット81は、動き補償ユニット82およびイントラ予測処理ユニット84を含む。復号デバイス112は、いくつかの例では、図20からの符号化デバイス104に関して説明された符号化パスとは概して相反する復号パスを実行し得る。
[0238]復号プロセス中に、復号デバイス112は、符号化デバイス104によって送られる符号化されたビデオスライスのビデオブロックと関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。いくつかの実施形態では、復号デバイス112は、符号化デバイス104から符号化されたビデオビットストリームを受信し得る。いくつかの実施形態では、復号デバイス112は、サーバ、媒体認識ネットワーク要素(MANE:a media-aware network element)、ビデオエディタ/スプライサ、または上述された技法のうちの1つまたは複数をインプリメントするように構成された他のそのようなデバイスのようなネットワークエンティティ79から符号化されたビデオビットストリームを受信し得る。ネットワークエンティティ79は、符号化デバイス104を含むことも含まないこともあり得る。この開示において説明される技法のうちのいくつかは、ネットワークエンティティ79が復号デバイス112に符号化されたビデオビットストリームを送信するより前にネットワークエンティティ79によってインプリメントされ得る。いくつかのビデオ復号システムでは、ネットワークエンティティ79および復号デバイス112は、別個のデバイスの一部でありうるが、その一方で、他の事例では、ネットワークエンティティ79に関して説明される機能は、復号デバイス112を備える同じデバイスによって実行され得る。
[0239]復号デバイス112のエントロピー復号ユニット80は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトル及び他のシンタックス要素を予測処理ユニット81に転送する。復号デバイス112は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。エントロピー復号ユニット80は、VPS、SPS、およびPPSのような、または複数のパラメータセット中の固定長シンタックス要素と可変長シンタックス要素との両方を処理および構文解析し得る。
[0240]ビデオスライスがイントラコード化された(I)スライスとしてコード化されるとき、予測処理ユニット81のイントラ予測処理ユニット84は、現在のフレームまたはピクチャの以前に復号されたブロックからの信号伝達されたイントラ予測モードおよびデータに基づいて現在のビデオスライスのビデオブロックに関する予測データを生成することができる。ビデオフレームがインターコーディングされた(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについての予測ブロックを作り出す。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの1つから作り出され得る。復号デバイス112は、ピクチャメモリ92中に記憶された参照ピクチャに基づいて、デフォルト構築技法を使用して参照フレームリスト、リスト0およびリスト1を構築し得る。
[0241]動き補償ユニット82は、動きベクトル及び他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックに関する予測情報を決定し、復号されている現在のビデオブロックに関する予測ブロックを作り出すためにその予測情報を使用する。例えば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(例えば、イントラまたはインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)と、スライスについての1つまたは複数の参照ピクチャリストについての構築情報と、スライスの各インター符号化されたビデオブロックについての動きベクトルと、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、パラメータセット中の1つまたは複数のシンタックス要素を使用し得る。
[0242]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、参照ブロックのサブ整数ピクセルについての補間された値を算出するためにビデオブロックの符号化中に、符号化デバイス104によって使用されるような補間フィルタを使用し得る。このケースでは、動き補償ユニット82は、受信されたシンタックス要素から符号化デバイス104によって使用される補間フィルタを決定しえ、および予測ブロックを作り出すために補間フィルタを使用し得る。
[0243]逆量子化ユニット86は、ビットストリーム中で提供され、且つエントロピー復号ユニット80によって復号された、量子化された変換係数を逆量子化(inverse quantizes)、すなわち逆量子化(de-quantizes)する。逆量子化プロセスは、量子化の度合い、および同様に、適用されるべき逆量子化の度合いを決定するために、ビデオスライス中の各ビデオブロックについて符号化デバイス104によって算出される量子化パラメータの使用を含み得る。逆変換処理ユニット88は、ピクセルドメイン中に残差ブロックを作り出すために、変換係数に逆変換(例えば、逆DCTまたは他の適した逆変換)、逆整数変換、あるいは概念的に同様の逆変換プロセスを適用する。
[0244]動き補償ユニット82が動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックについての予測ブロックを生成した後に、復号デバイス112は、逆変換処理ユニット88からの残差ブロックを、動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つ又は複数の構成要素を表す。所望される場合、(コーディングループ中またはコーディングループ後のいずれかの)ループフィルタはまた、ピクセル遷移を平滑化にするために、またはそうでない場合にはビデオ品質を改善するために使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタのような1つまたは複数のループフィルタを表すことを意図されている。フィルタユニット91はインループフィルタとして図17に示されているが、他の構成では、フィルタユニット91は、ポストループフィルタとしてインプリメントされ得る。所与のフレームまたはピクチャ中の復号されたビデオブロックはその後、ピクチャメモリ92中に記憶され、それは、後続する動き補償のために使用される参照ピクチャを記憶する。ピクチャメモリ92はまた、図1に示されているビデオ宛先デバイス122のようなディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する。
[0245]この方法では、図20の符号化デバイス112は、LICパラメータを導出することと、テンプレートのサイズを適応的に決定することと、および/または重みを適応的に選択することとを行うように降雨性されたビデオ得符号化器の例を表わす。符号化デバイス112は、例えば、LICパラメータを導出し得、テンプレートのサイズを適応的に決定し得、および/または上で説明されたような重みセットを適応的に選択し得る。例えば、復号デバイス112は、図16、17、および図18に関して上述されたプロセスを含む、本明細書で説明される技法のうちの任意のものを実行しうる。
[0246]前述の説明では、本願の態様は、その特定の実施形態に関して説明されているが、当業者は、本発明はそれに限定されないと認識するであろう。このことから、本願の例示的な実施形態がここに詳細に説明されてきたが、発明の概念は、他の方法で様々に具現化および用いられえ、および添付された特許請求の範囲は、先行技術によって限定される場合を除いて、そのような様々な変形を含むように解釈されることを意図されていることが理解されるべきである。上述された本発明の様々な特徴および態様は、個々にまたは一緒に使用され得る。さらに、実施形態は、本明細書のより広い精神および範囲から逸脱することなしに、本明細書に説明されたものを超えたあらゆる数の環境および適用において利用されることができる。本明細書および図面は、それ故に、制限的というよりはむしろ例示的であると見なされるべきである。例示を目的として、方法は、特定の順序で説明された。代替の実施形態では、方法は、説明されたものとは異なる順序で遂行されうることが認識されるべきである。
[0247]コンポーネントがある特定の動作を実行する「ように構成される」ものとして説明される場合、そのような構成は、例えば、動作を実行するように電子回路または他のハードウェアを設計することによって、動作を実行するようにプログラマブル電子回路(例えば、マイクロプロセッサ、または他の適した電子回路)をプログラミングすることによって、またはそれらの任意の組み合わせで、達成されることができる。
[0248]本明細書に開示されている実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組み合わせとしてインプリメントされ得る。ハードウェアとソフトウェアとのこの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、それらの機能の観点から概して上で説明されてきた。このような機能性がハードウェアとして実施されるかソフトウェアとして実施されるかは、特定のアプリケーション及びシステム全体に課せられる設計制約に依存する。当業者は、特定のアプリケーションごとに、説明された機能性を多様な方法で実装できるが、このような実装の判断は本発明の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
[0249]本明細書に説明された技法はまた、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいてインプリメントされ得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおけるアプリケーションを含む複数の用途を有する集積回路デバイスなどの、様々なデバイスのいずれかにおいて実装され得る。モジュールまたはコンポーネントとして説明されたどの特徴も、集積ロジックデバイスにおいてともに、またはディスクリートではあるが相互動作可能なロジックデバイスとして別個に、インプリメントされ得る。ソフトウェアで実施される場合、この技法は、少なくとも部分的に、命令を含むプログラムコードを備えるコンピュータ読取可能なデータ記憶媒体によって実現され得、これらの命令は、実行されると、上述した方法のうちの1つ又は複数を実行する。コンピュータ可読データ記憶媒体は、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気または光学データ記憶媒体などの、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波などの、命令またはデータ構造の形態でプログラムコードを搬送または通信し、コンピュータによってアクセスされ、読み取られ、および/または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
[0250]プログラムコードは、1つ又は複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は他の同等の集積回路又はディスクリート論理回路のような1つ又は複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で記述された技法のうちの任意のものを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPと、1つのマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアに連結した1つ又は複数のマイクロプロセッサ又は任意の他のそのような構成との組み合わせとして実現され得る。従って、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明された技法の実装に適切な任意の他の構造または装置のいずれかを指し得る。加えて、いくつかの態様では、ここに説明された機能は、符号化および復号のために構成された専用ソフトウェアモジュールまたはハードウェアモジュール内で提供されうるか、あるいは組み合わされたビデオ符号化器−復号器(CODEC)中に組み込まれうる。
[0250]プログラムコードは、1つ又は複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は他の同等の集積回路又はディスクリート論理回路のような1つ又は複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で記述された技法のうちの任意のものを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPと、1つのマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアに連結した1つ又は複数のマイクロプロセッサ又は任意の他のそのような構成との組み合わせとして実現され得る。従って、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明された技法の実装に適切な任意の他の構造または装置のいずれかを指し得る。加えて、いくつかの態様では、ここに説明された機能は、符号化および復号のために構成された専用ソフトウェアモジュールまたはハードウェアモジュール内で提供されうるか、あるいは組み合わされたビデオ符号化器−復号器(CODEC)中に組み込まれうる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを処理する方法であって、
前記ビデオデータのピクチャの現在のブロックを取得することと、
前記現在のブロックのパラメータを決定することと、
前記現在のブロックの前記決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、前記現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することと、
前記現在のブロックのための動き補償を実行すること、ここにおいて、前記動き補償を実行することは、前記現在のブロックの前記テンプレートおよび前記参照ピクチャの前記テンプレートを使用して前記現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、と
を備える、方法。
[C2]
前記現在のブロックを前記パラメータは、前記現在のブロックのサイズを含む、
[C1]に記載の方法。
[C3]
前記現在のブロックを前記サイズは、前記現在のブロックの幅を含む、
[C2]に記載の方法。
[C4]
前記現在のブロックの前記テンプレート中のサンプルの前記行の数は、前記現在のブロックの前記幅が閾値幅より小さいときに1行である、
[C3]に記載の方法。
[C5]
前記現在のブロックの前記テンプレート中のサンプルの前記行の数は、前記現在のブロックの前記幅が閾値幅より大きいときに1行より多くなる、
[C3]に記載の方法。
[C6]
前記現在のブロックを前記サイズは、前記現在のブロックの高さを含む、
[C2]に記載の方法。
[C7]
前記現在のブロックのテンプレート中のサンプルの前記列の数は、前記現在のブロックの前記高さが閾値高さより小さいときに1列である、
[C6]に記載の方法。
[C8]
前記現在のブロックの前記テンプレート中のサンプルの前記列の数は、前記現在のブロックの前記高さが閾値高さより大きいときに1列より多くなる、
[C6]に記載の方法。
[C9]
前記現在のブロックを前記サイズは、前記ブロックの幅および前記ブロックの高さを含む、
[C2]に記載の方法。
[C10]
前記現在のブロックを前記パラメータは、前記現在のブロックのクロマフォーマットを含む、
[C1]に記載の方法。
[C11]
前記現在のブロックの前記テンプレート中の前記サンプルの行の数および前記サンプルの列の数は、前記現在のブロックの前記クロマフォーマットが4:2:0であるとき前記現在のブロックのルーマサイズの半分に設定される、
[C10]に記載の方法。
[C12]
前記現在のブロックの前記テンプレート中の前記サンプルの行の数は、前記現在のブロックのルーマサイズと同じサイズに設定され、前記現在のブロックの前記テンプレート中の前記サンプルの列の数は、前記現在のブロックの前記クロマフォーマットが4:2:2であるとき前記ルーマサイズの半分に設定される、
[C10]に記載の方法。
[C13]
前記1つまたは複数の照度補償パラメータを使用して前記現在のブロックを復号することをさらに備える、
[C1]に記載の方法。
[C14]
符号かされたビデオビットストリーム中で、前記1つまたは複数の照度補償パラメータをシグナリングすることをさらに備える、
[C1]に記載の方法。
[C15]
装置であって、
ビデオデータを記憶するように構成されたメモリと、
プロセッサと
を備え、前記プロセッサは、
前記ビデオデータのピクチャの現在のブロックを取得することと、
前記現在のブロックのパラメータを決定することと、
前記現在のブロックの前記決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、前記現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することと、
前記現在のブロックのための動き補償を実行すること、ここにおいて、前記動き補償を実行することは、前記現在のブロックの前記テンプレートおよび前記参照ピクチャの前記テンプレートを使用して前記現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、と
を行うように構成される、装置。
[C16]
前記現在のブロックを前記パラメータは、前記現在のブロックのサイズを含む、
[C15]に記載の装置。
[C17]
前記現在のブロックを前記サイズは、前記現在のブロックの幅を含む、
[C16]に記載の装置。
[C18]
前記現在のブロックの前記テンプレート中のサンプルの前記行の数は、前記現在のブロックの前記幅が閾値幅より小さいときに1行である、
[C17]に記載の装置。
[C19]
前記現在のブロックの前記テンプレート中のサンプルの前記行の数は、前記現在のブロックの前記幅が閾値幅より大きいときに1行より多くなる、
[C17]に記載の装置。
[C20]
前記現在のブロックを前記サイズは、前記現在のブロックの高さを含む、
[C16]に記載の装置。
[C21]
前記現在のブロックの前記テンプレート中のサンプルの前記列の数は、前記現在のブロックの前記高さが閾値高さより小さいときに1列である、
[C20]に記載の装置。
[C22]
前記現在のブロックのテンプレート中のサンプルの前記列の数は、前記現在のブロックの前記高さが閾値高さより大きいときに1列より多くなる、
[C20]に記載の装置。
[C23]
前記現在のブロックを前記サイズは、前記ブロックの幅および前記ブロックの高さを含む、
[C16]に記載の装置。
[C24]
前記現在のブロックを前記パラメータは、前記現在のブロックのクロマフォーマットを含む、
[C15]に記載の装置。
[C25]
前記現在のブロックの前記テンプレート中の前記サンプルの行の数および前記サンプルの列の数は、前記現在のブロックの前記クロマフォーマットが4:2:0であるとき前記現在のブロックのルーマサイズの半分に設定される、
[C24]に記載の装置。
[C26]
前記現在のブロックの前記テンプレート中の前記サンプルの行の数は、前記現在のブロックのルーマサイズと同じサイズに設定され、前記現在のブロックの前記テンプレート中の前記サンプルの列の数は、前記現在のブロックの前記クロマフォーマットが4:2:2であるとき前記ルーマサイズの半分に設定される、
[C24]に記載の装置。
[C27]
前記ビデオデータを表示するためのディスプレイ
をさらに備える、[C15]に記載の装置。
[C28]
前記装置は、ピクチャをキャプチャするためのカメラを有するモバイルデバイスを備える、
[C15]に記載の装置。
[C29]
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
ビデオデータのピクチャの現在のブロックを取得することと、
前記現在のブロックのパラメータを決定することと、
前記現在のブロックの前記決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、前記現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することと、
前記現在のブロックのための動き補償を実行すること、ここにおいて、前記動き補償を実行することは、前記現在のブロックの前記テンプレートおよび前記参照ピクチャの前記テンプレートを使用して前記現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、と
を行わせる命令を有する、非一時的コンピュータ可読媒体。
[C30]
ビデオデータを処理するための装置であって、
前記ビデオデータの現在ピクチャの現在のブロックを取得するための手段と、
前記現在のブロックのパラメータを決定するための手段と、
前記現在のブロックの前記決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、前記現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定するための手段と、
前記現在のブロックのための動き補償を実行するための手段、ここにおいて、前記動き補償を実行することは、前記現在のブロックの前記テンプレートおよび前記参照ピクチャの前記テンプレートを使用して前記現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、と
を備える、装置。

Claims (30)

  1. ビデオデータを処理する方法であって、
    前記ビデオデータのピクチャの現在のブロックを取得することと、
    前記現在のブロックのパラメータを決定することと、
    前記現在のブロックの前記決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、前記現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することと、
    前記現在のブロックのための動き補償を実行すること、ここにおいて、前記動き補償を実行することは、前記現在のブロックの前記テンプレートおよび前記参照ピクチャの前記テンプレートを使用して前記現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、と
    を備える、方法。
  2. 前記現在のブロックを前記パラメータは、前記現在のブロックのサイズを含む、
    請求項1に記載の方法。
  3. 前記現在のブロックを前記サイズは、前記現在のブロックの幅を含む、
    請求項2に記載の方法。
  4. 前記現在のブロックの前記テンプレート中のサンプルの前記行の数は、前記現在のブロックの前記幅が閾値幅より小さいときに1行である、
    請求項3に記載の方法。
  5. 前記現在のブロックの前記テンプレート中のサンプルの前記行の数は、前記現在のブロックの前記幅が閾値幅より大きいときに1行より多くなる、
    請求項3に記載の方法。
  6. 前記現在のブロックを前記サイズは、前記現在のブロックの高さを含む、
    請求項2に記載の方法。
  7. 前記現在のブロックのテンプレート中のサンプルの前記列の数は、前記現在のブロックの前記高さが閾値高さより小さいときに1列である、
    請求項6に記載の方法。
  8. 前記現在のブロックの前記テンプレート中のサンプルの前記列の数は、前記現在のブロックの前記高さが閾値高さより大きいときに1列より多くなる、
    請求項6に記載の方法。
  9. 前記現在のブロックを前記サイズは、前記ブロックの幅および前記ブロックの高さを含む、
    請求項2に記載の方法。
  10. 前記現在のブロックを前記パラメータは、前記現在のブロックのクロマフォーマットを含む、
    請求項1に記載の方法。
  11. 前記現在のブロックの前記テンプレート中の前記サンプルの行の数および前記サンプルの列の数は、前記現在のブロックの前記クロマフォーマットが4:2:0であるとき前記現在のブロックのルーマサイズの半分に設定される、
    請求項10に記載の方法。
  12. 前記現在のブロックの前記テンプレート中の前記サンプルの行の数は、前記現在のブロックのルーマサイズと同じサイズに設定され、前記現在のブロックの前記テンプレート中の前記サンプルの列の数は、前記現在のブロックの前記クロマフォーマットが4:2:2であるとき前記ルーマサイズの半分に設定される、
    請求項10に記載の方法。
  13. 前記1つまたは複数の照度補償パラメータを使用して前記現在のブロックを復号することをさらに備える、
    請求項1に記載の方法。
  14. 符号かされたビデオビットストリーム中で、前記1つまたは複数の照度補償パラメータをシグナリングすることをさらに備える、
    請求項1に記載の方法。
  15. 装置であって、
    ビデオデータを記憶するように構成されたメモリと、
    プロセッサと
    を備え、前記プロセッサは、
    前記ビデオデータのピクチャの現在のブロックを取得することと、
    前記現在のブロックのパラメータを決定することと、
    前記現在のブロックの前記決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、前記現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することと、
    前記現在のブロックのための動き補償を実行すること、ここにおいて、前記動き補償を実行することは、前記現在のブロックの前記テンプレートおよび前記参照ピクチャの前記テンプレートを使用して前記現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、と
    を行うように構成される、装置。
  16. 前記現在のブロックを前記パラメータは、前記現在のブロックのサイズを含む、
    請求項15に記載の装置。
  17. 前記現在のブロックを前記サイズは、前記現在のブロックの幅を含む、
    請求項16に記載の装置。
  18. 前記現在のブロックの前記テンプレート中のサンプルの前記行の数は、前記現在のブロックの前記幅が閾値幅より小さいときに1行である、
    請求項17に記載の装置。
  19. 前記現在のブロックの前記テンプレート中のサンプルの前記行の数は、前記現在のブロックの前記幅が閾値幅より大きいときに1行より多くなる、
    請求項17に記載の装置。
  20. 前記現在のブロックを前記サイズは、前記現在のブロックの高さを含む、
    請求項16に記載の装置。
  21. 前記現在のブロックの前記テンプレート中のサンプルの前記列の数は、前記現在のブロックの前記高さが閾値高さより小さいときに1列である、
    請求項20に記載の装置。
  22. 前記現在のブロックのテンプレート中のサンプルの前記列の数は、前記現在のブロックの前記高さが閾値高さより大きいときに1列より多くなる、
    請求項20に記載の装置。
  23. 前記現在のブロックを前記サイズは、前記ブロックの幅および前記ブロックの高さを含む、
    請求項16に記載の装置。
  24. 前記現在のブロックを前記パラメータは、前記現在のブロックのクロマフォーマットを含む、
    請求項15に記載の装置。
  25. 前記現在のブロックの前記テンプレート中の前記サンプルの行の数および前記サンプルの列の数は、前記現在のブロックの前記クロマフォーマットが4:2:0であるとき前記現在のブロックのルーマサイズの半分に設定される、
    請求項24に記載の装置。
  26. 前記現在のブロックの前記テンプレート中の前記サンプルの行の数は、前記現在のブロックのルーマサイズと同じサイズに設定され、前記現在のブロックの前記テンプレート中の前記サンプルの列の数は、前記現在のブロックの前記クロマフォーマットが4:2:2であるとき前記ルーマサイズの半分に設定される、
    請求項24に記載の装置。
  27. 前記ビデオデータを表示するためのディスプレイ
    をさらに備える、請求項15に記載の装置。
  28. 前記装置は、ピクチャをキャプチャするためのカメラを有するモバイルデバイスを備える、
    請求項15に記載の装置。
  29. 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
    ビデオデータのピクチャの現在のブロックを取得することと、
    前記現在のブロックのパラメータを決定することと、
    前記現在のブロックの前記決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、前記現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定することと、
    前記現在のブロックのための動き補償を実行すること、ここにおいて、前記動き補償を実行することは、前記現在のブロックの前記テンプレートおよび前記参照ピクチャの前記テンプレートを使用して前記現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、と
    を行わせる命令を有する、非一時的コンピュータ可読媒体。
  30. ビデオデータを処理するための装置であって、
    前記ビデオデータの現在ピクチャの現在のブロックを取得するための手段と、
    前記現在のブロックのパラメータを決定するための手段と、
    前記現在のブロックの前記決定されたパラメータに基づいて、参照ピクチャのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数と、前記現在のブロックのテンプレート中のサンプルの行の数またはサンプルの列の数のうちの少なくとも1つまたは複数とを決定するための手段と、
    前記現在のブロックのための動き補償を実行するための手段、ここにおいて、前記動き補償を実行することは、前記現在のブロックの前記テンプレートおよび前記参照ピクチャの前記テンプレートを使用して前記現在のブロックのための1つまたは複数のローカル照度補償を導出することを含む、と
    を備える、装置。
JP2019518069A 2016-10-05 2017-10-04 照度補償のためのテンプレートサイズを適応的に決定するシステムおよび方法 Pending JP2019531029A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662404715P 2016-10-05 2016-10-05
US62/404,715 2016-10-05
US15/713,075 2017-09-22
US15/713,075 US10880570B2 (en) 2016-10-05 2017-09-22 Systems and methods of adaptively determining template size for illumination compensation
PCT/US2017/055188 WO2018067732A1 (en) 2016-10-05 2017-10-04 Systems and methods of adaptively determining template size for illumination compensation

Publications (1)

Publication Number Publication Date
JP2019531029A true JP2019531029A (ja) 2019-10-24

Family

ID=61757326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019518069A Pending JP2019531029A (ja) 2016-10-05 2017-10-04 照度補償のためのテンプレートサイズを適応的に決定するシステムおよび方法

Country Status (7)

Country Link
US (3) US10951912B2 (ja)
EP (1) EP3523962A1 (ja)
JP (1) JP2019531029A (ja)
KR (1) KR20190055819A (ja)
CN (1) CN109792518B (ja)
BR (1) BR112019006894A2 (ja)
WO (3) WO2018067733A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022506628A (ja) * 2018-11-05 2022-01-17 インターデイジタル ヴィーシー ホールディングス インコーポレイテッド 隣接サンプル依存パラメトリックモデルに基づいたコーディングモードの簡易化
JP2022528331A (ja) * 2019-03-25 2022-06-10 オッポ広東移動通信有限公司 画像成分予測方法、エンコーダー、デコーダー及び記憶媒体

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3044507A1 (fr) * 2015-11-30 2017-06-02 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
WO2018066958A1 (ko) 2016-10-04 2018-04-12 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10951912B2 (en) 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding
CN109496431A (zh) * 2016-10-13 2019-03-19 富士通株式会社 图像编码/解码方法、装置以及图像处理设备
KR20180074000A (ko) * 2016-12-23 2018-07-03 삼성전자주식회사 비디오 디코딩 방법, 이를 수행하는 비디오 디코더, 비디오 인코딩 방법, 및 이를 수행하는 비디오 인코더
CN112153029A (zh) 2017-04-21 2020-12-29 泽尼马克斯媒体公司 基于编码器提示的渲染和预编码负载估计的系统和方法
US10742975B2 (en) 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US20200014918A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application accelerator
US20200014945A1 (en) * 2018-07-08 2020-01-09 Mellanox Technologies, Ltd. Application acceleration
GB2563943B (en) 2017-06-30 2021-02-24 Canon Kk Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses
US10542279B2 (en) * 2017-09-25 2020-01-21 Intel Corporation Temporal motion vector prediction control in video coding
EP3468194A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Decoupled mode inference and prediction
EP3468198A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Method and apparatus for video encoding and decoding based on illumination compensation
GB2567861A (en) 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
US11425418B2 (en) * 2017-11-01 2022-08-23 Vid Scale, Inc. Overlapped block motion compensation
US11223824B2 (en) * 2017-11-09 2022-01-11 Sony Corporation Image processing apparatus and image processing method
KR102387363B1 (ko) * 2017-11-30 2022-04-18 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
WO2019137735A1 (en) * 2018-01-15 2019-07-18 Telefonaktiebolaget Lm Ericsson (Publ) Restricted overlapped block motion compensation
WO2019143602A1 (en) * 2018-01-16 2019-07-25 Vid Scale, Inc. Motion compensated bi-prediction based on local illumination compensation
EP3518543A1 (en) * 2018-01-26 2019-07-31 Thomson Licensing Illumination compensation flag in frame rate up-conversion with template matching
KR102356262B1 (ko) * 2018-03-27 2022-02-08 주식회사 윌러스표준기술연구소 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치
EP3777167A1 (en) * 2018-03-30 2021-02-17 Vid Scale, Inc. Template-based inter prediction techniques based on encoding and decoding latency reduction
US10834409B2 (en) * 2018-04-06 2020-11-10 Arris Enterprises Llc System and method of implementing multiple prediction models for local illumination compensation
EP3554080A1 (en) * 2018-04-13 2019-10-16 InterDigital VC Holdings, Inc. Methods and devices for picture encoding and decoding
WO2019203036A1 (ja) * 2018-04-17 2019-10-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10735721B2 (en) * 2018-04-17 2020-08-04 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method using local illumination compensation
CN116684594A (zh) * 2018-04-30 2023-09-01 寰发股份有限公司 照度补偿方法及相应的电子装置
US10506251B2 (en) * 2018-05-08 2019-12-10 Tencent America LLC Method and apparatus for video coding
MX2020011906A (es) * 2018-05-09 2021-02-18 Interdigital Vc Holdings Inc Compensacion de movimiento para codificacion y decodificacion de video.
CN111869215B (zh) * 2018-05-31 2023-06-06 华为技术有限公司 受限长距离运动矢量预测方法及装置
WO2019228660A1 (en) * 2018-06-01 2019-12-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video codec using template matching prediction
WO2019234672A1 (en) 2018-06-07 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Partial cost calculation
EP3804324A4 (en) 2018-06-11 2022-08-03 HFI Innovation Inc. BIDIRECTIONAL OPTICAL FLOW METHOD AND APPARATUS FOR VIDEO CODING
WO2019245712A1 (en) * 2018-06-18 2019-12-26 Interdigital Vc Holdings, Inc. Illumination compensation in video coding
EP3818697A4 (en) 2018-07-02 2021-07-07 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR PREDICTING MOTION VECTORS
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
US11051036B2 (en) * 2018-07-14 2021-06-29 Mediatek Inc. Method and apparatus of constrained overlapped block motion compensation in video coding
KR20200010113A (ko) * 2018-07-18 2020-01-30 한국전자통신연구원 지역 조명 보상을 통한 효과적인 비디오 부호화/복호화 방법 및 장치
WO2020031923A1 (ja) * 2018-08-06 2020-02-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
WO2020031902A1 (ja) * 2018-08-06 2020-02-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
MX2021001833A (es) 2018-08-17 2021-05-12 Hfi Innovation Inc Metodos y aparatos de procesamiento de video con prediccion bidireccional en sistemas de codificacion de video.
US11956460B2 (en) * 2018-08-31 2024-04-09 Hulu, LLC Selective template matching in video coding
WO2020060843A1 (en) * 2018-09-19 2020-03-26 Interdigital Vc Holdings, Inc. Generalized bi-prediction index coding
EP3668097A1 (en) * 2018-12-13 2020-06-17 InterDigital VC Holdings, Inc. Generalized bi-prediction index coding
CN112771874A (zh) * 2018-09-19 2021-05-07 交互数字Vc控股公司 用于画面编码和解码的方法和设备
US11146800B2 (en) * 2018-09-24 2021-10-12 Tencent America LLC Low latency local illumination compensation
CN112889277A (zh) * 2018-10-22 2021-06-01 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
CN116939198A (zh) 2018-10-23 2023-10-24 北京字节跳动网络技术有限公司 并置的局部照明补偿和修改的帧间预测编解码
WO2020084506A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonized local illumination compensation and intra block copy coding
WO2020094051A1 (en) * 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Signaling of side information for inter prediction with geometric partitioning
CN113039790B (zh) 2018-11-17 2023-04-14 北京字节跳动网络技术有限公司 视频处理的方法、装置和非暂时性计算机可读介质
CN113196773B (zh) 2018-12-21 2024-03-08 北京字节跳动网络技术有限公司 具有运动矢量差的Merge模式中的运动矢量精度
EP3829167A4 (en) * 2018-12-25 2021-08-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. DECODING PREDICTION METHOD AND APPARATUS, AND COMPUTER STORAGE MEDIUM
US10887611B2 (en) * 2018-12-27 2021-01-05 Qualcomm Incorporated Pruning for illumination compensation mode
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
CN113491130B (zh) * 2019-01-17 2024-02-27 北京达佳互联信息技术有限公司 用于视频编解码的线性模型推导的方法和装置
WO2020149770A1 (en) 2019-01-18 2020-07-23 Huawei Technologies Co., Ltd. Method and apparatus of local illumination compensation for predictive coding
US11172195B2 (en) * 2019-01-26 2021-11-09 Qualcomm Incorporated Excluding intra coded reference samples from local illumination compensation parameter derivation
CN113302916B (zh) * 2019-01-27 2024-04-12 北京字节跳动网络技术有限公司 具有cu级别权重的双向预测的插值
WO2020163209A1 (en) * 2019-02-08 2020-08-13 Interdigital Vc Holdings, Inc. Method and device for picture encoding and decoding using illumination compensation
US11997308B2 (en) * 2019-03-08 2024-05-28 Interdigital Madison Patent Holdings, Sas Local illumination compensation for video encoding or decoding
CN113508596A (zh) * 2019-03-11 2021-10-15 Oppo广东移动通信有限公司 帧内预测方法、装置及计算机存储介质
CN112954329B (zh) 2019-03-11 2022-08-26 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
TWI738248B (zh) 2019-03-14 2021-09-01 聯發科技股份有限公司 運動細化以及子分區基礎填充的視訊處理的方法以及裝置
WO2020236039A1 (en) * 2019-05-21 2020-11-26 Huawei Technologies Co., Ltd. Method and apparatus of local illumination compensation for inter prediction
EP3984218A1 (en) * 2019-06-12 2022-04-20 InterDigital VC Holdings, Inc. Illumination compensation for video encoding and decoding
US20220360787A1 (en) * 2019-06-21 2022-11-10 Telefonaktiebolaget Lm Ericsson (Publ) Video coding layer up-switching indication
US11272200B2 (en) * 2019-06-24 2022-03-08 Tencent America LLC Method and apparatus for video coding
CN117499659A (zh) 2019-07-25 2024-02-02 北京字节跳动网络技术有限公司 帧内块复制虚拟缓冲区的尺寸限制
AU2020316548A1 (en) * 2019-07-25 2022-02-24 Beijing Bytedance Network Technology Co., Ltd. Mapping restriction for intra-block copy virtual buffer
CN114342410A (zh) 2019-09-05 2022-04-12 北京字节跳动网络技术有限公司 帧内块复制模式下块矢量的范围约束
WO2021057751A1 (en) 2019-09-23 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Setting intra-block copy virtual buffer based on virtual pipeline data unit
WO2021102953A1 (en) * 2019-11-29 2021-06-03 Zte Corporation Multi-view video processing method and apparatus
CN111028135B (zh) * 2019-12-10 2023-06-02 国网重庆市电力公司电力科学研究院 一种图像文件修复方法
CN111031319B (zh) * 2019-12-13 2022-04-19 浙江大华技术股份有限公司 一种局部光照补偿预测方法、终端设备及计算机存储介质
WO2021185306A1 (en) 2020-03-18 2021-09-23 Beijing Bytedance Network Technology Co., Ltd. Intra block copy buffer and palette predictor update
US20220201282A1 (en) * 2020-12-22 2022-06-23 Qualcomm Incorporated Overlapped block motion compensation
US11863774B2 (en) 2021-01-15 2024-01-02 Tencent America LLC Method and apparatus for video coding
US20220312004A1 (en) 2021-03-23 2022-09-29 Tencent America LLC Method and apparatus for video coding
CN117321992A (zh) * 2021-04-09 2023-12-29 抖音视界有限公司 自适应运动候选列表
US20220360769A1 (en) * 2021-04-26 2022-11-10 Tencent America LLC Bi-prediction without signaling cu-level weights
WO2023096472A1 (ko) * 2021-11-29 2023-06-01 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 이를 위한 장치
WO2024010377A1 (ko) * 2022-07-05 2024-01-11 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
US20240015278A1 (en) * 2022-07-08 2024-01-11 Tencent America LLC Method and apparatus for bi-prediction with sample adaptive weights
US20240146903A1 (en) * 2022-10-26 2024-05-02 Tencent America LLC Context design for coding and decoding syntax elements in inter prediction modes

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3276985B2 (ja) 1991-06-27 2002-04-22 ゼロックス・コーポレーション イメージピクセル処理方法
JP3116967B2 (ja) 1991-07-16 2000-12-11 ソニー株式会社 画像処理装置および画像処理方法
DE69536083D1 (de) * 1994-04-20 2010-08-05 Oki Electric Ind Co Ltd Gerät und Verfahren zur Kodierung und Dekodierung von Bildern unter Verwendung einer Kantensynthese und einer Wavelet-Rücktransformation
US5781788A (en) 1995-05-08 1998-07-14 Avc Technology, Inc. Full duplex single clip video codec
US6259741B1 (en) 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
JP5062833B2 (ja) 2004-09-16 2012-10-31 トムソン ライセンシング 局在的な輝度変動を利用した重み付き予測ビデオ・コーデックのための方法および装置
BRPI0810924A2 (pt) 2007-04-09 2019-09-24 Ntt Docomo Inc predição de imagem/dispositivo de codificação, predição de imagem/ método de codificação, predição de imagem/programa de codificação, predição de imagem/dispositivo de codificação, predição de imagem/método de codificação e predição de imagem/programa de codificação
KR101244917B1 (ko) * 2007-06-11 2013-03-18 삼성전자주식회사 조도 보상 방법 및 장치, 이를 이용한 영상의 부호화,복호화 방법 및 장치
JP5406465B2 (ja) 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
JP2010035137A (ja) * 2008-07-01 2010-02-12 Sony Corp 画像処理装置および方法、並びにプログラム
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
US20110170793A1 (en) 2008-09-24 2011-07-14 Kazushi Sato Image processing apparatus and method
CN102160379A (zh) 2008-09-24 2011-08-17 索尼公司 图像处理装置和图像处理方法
TWI498003B (zh) 2009-02-02 2015-08-21 Thomson Licensing 代表一序列圖像的碼式資料連流之解碼方法和一序列圖像之寫碼方法及碼式圖像資料結構
US8873626B2 (en) 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
US8995526B2 (en) 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
CN102223525B (zh) * 2010-04-13 2014-02-19 富士通株式会社 视频解码方法和系统
KR101836981B1 (ko) 2010-07-09 2018-03-09 한국전자통신연구원 템플릿 매칭을 이용한 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
US20130182768A1 (en) 2010-09-30 2013-07-18 Korea Advanced Institute Of Science And Technology Method and apparatus for encoding / decoding video using error compensation
US9807424B2 (en) 2011-01-10 2017-10-31 Qualcomm Incorporated Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
CN103379321B (zh) * 2012-04-16 2017-02-01 华为技术有限公司 视频图像分量的预测方法和装置
US9906786B2 (en) 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
US9667942B2 (en) * 2012-11-20 2017-05-30 Qualcomm Incorporated Adaptive luminance compensation in three dimensional video coding
CN105103552B (zh) * 2013-01-10 2019-04-05 三星电子株式会社 用于补偿亮度差的对层间视频进行编码的方法及其装置以及用于对视频进行解码的方法及其装置
EP3013049A4 (en) 2013-06-18 2017-02-22 Sharp Kabushiki Kaisha Illumination compensation device, lm predict device, image decoding device, image coding device
US10321142B2 (en) * 2013-07-15 2019-06-11 Samsung Electronics Co., Ltd. Method and apparatus for video encoding for adaptive illumination compensation, method and apparatus for video decoding for adaptive illumination compensation
JP2017520994A (ja) * 2014-06-20 2017-07-27 寰發股▲ふん▼有限公司HFI Innovation Inc. 3dおよびマルチビュービデオコーディングのサブpu構文シグナリングおよび照明補償方法
WO2017035831A1 (en) 2015-09-06 2017-03-09 Mediatek Inc. Adaptive inter prediction
EP3349445A4 (en) * 2015-09-11 2019-03-20 KT Corporation METHOD AND DEVICE FOR PROCESSING VIDEO SIGNAL
EP3453174A1 (en) 2016-05-06 2019-03-13 VID SCALE, Inc. Method and system for decoder-side intra mode derivation for block-based video coding
CN115118971A (zh) * 2016-05-13 2022-09-27 Vid拓展公司 用于视频编码的通用式多假设预测的系统及方法
US10951912B2 (en) 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022506628A (ja) * 2018-11-05 2022-01-17 インターデイジタル ヴィーシー ホールディングス インコーポレイテッド 隣接サンプル依存パラメトリックモデルに基づいたコーディングモードの簡易化
JP7488256B2 (ja) 2018-11-05 2024-05-21 インターデイジタル ヴィーシー ホールディングス インコーポレイテッド 隣接サンプル依存パラメトリックモデルに基づいたコーディングモードの簡易化
JP2022528331A (ja) * 2019-03-25 2022-06-10 オッポ広東移動通信有限公司 画像成分予測方法、エンコーダー、デコーダー及び記憶媒体

Also Published As

Publication number Publication date
CN109792518A (zh) 2019-05-21
US10951912B2 (en) 2021-03-16
US20180098070A1 (en) 2018-04-05
US10880570B2 (en) 2020-12-29
BR112019006894A2 (pt) 2019-07-02
WO2018067732A1 (en) 2018-04-12
US10798404B2 (en) 2020-10-06
WO2018067733A1 (en) 2018-04-12
CN109792518B (zh) 2023-06-23
US20180098086A1 (en) 2018-04-05
WO2018067729A1 (en) 2018-04-12
EP3523962A1 (en) 2019-08-14
KR20190055819A (ko) 2019-05-23
US20180098079A1 (en) 2018-04-05

Similar Documents

Publication Publication Date Title
CN109792518B (zh) 处理视频数据的方法、设备和非暂时性计算机可读介质
US10701390B2 (en) Affine motion information derivation
US10631002B2 (en) Frame rate up-conversion coding mode
JP6740243B2 (ja) ビデオコーディングにおける動きベクトル導出
WO2021034579A1 (en) Method and apparatus for coding video using scaling ratios relating to picture size
US11290743B2 (en) Interaction of illumination compensation with inter-prediction
CA3144976A1 (en) Reference picture resampling with switchable filters
US11388394B2 (en) Local illumination compensation (LIC) for virtual pipeline data units (VPDUS)
JP2023554269A (ja) 重複ブロック動き補償
AU2021409970A9 (en) Overlapped block motion compensation
US11356707B2 (en) Signaling filters for video processing
US10887611B2 (en) Pruning for illumination compensation mode
US20220201282A1 (en) Overlapped block motion compensation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190617