JP7318120B2 - 適応ループフィルタリングにおけるパディングプロセス - Google Patents

適応ループフィルタリングにおけるパディングプロセス Download PDF

Info

Publication number
JP7318120B2
JP7318120B2 JP2022517725A JP2022517725A JP7318120B2 JP 7318120 B2 JP7318120 B2 JP 7318120B2 JP 2022517725 A JP2022517725 A JP 2022517725A JP 2022517725 A JP2022517725 A JP 2022517725A JP 7318120 B2 JP7318120 B2 JP 7318120B2
Authority
JP
Japan
Prior art keywords
samples
video
block
sample
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022517725A
Other languages
English (en)
Other versions
JP2022548935A (ja
Inventor
リュウ,ホンビン
ザン,リー
ザン,カイ
ワン,ユエ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance 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 Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of JP2022548935A publication Critical patent/JP2022548935A/ja
Priority to JP2023117435A priority Critical patent/JP2023139106A/ja
Application granted granted Critical
Publication of JP7318120B2 publication Critical patent/JP7318120B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/117Filters, e.g. for pre-processing or post-processing
    • 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/182Methods 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 pixel
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本特許文献は、ビデオ符号化及び復号化技術を概して対象とする。
ビデオコーディング標準規格は、よく知られているITU-T及びISO/IEC標準規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同でH.262/MPEG-2 Video及びH264/MPEG-4 Advanced Video Coding(AVC)及びH.265/High Efficiency Video Coding(HEVC)標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、時間予測に変換コーディングをプラスしたものが利用されるハイブリッド型ビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、Joint Video Exploration Team(JVET)が2015年にVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい手法がJVETによって採用され、Joint Exploration Model(JEM)と呼ばれる参照ソフトウェアに置かれてきた。2018年4月に、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間で、Joint Video Expert Team(JVET)が、HEVCと比較して50%のビットレート低減を目標とする次世代のVersatile Video Coding(VVC)標準規格を検討するために作られた。
開示されているビデオ符号化、トランスコーディング、又は復号化技術を用いて、ビデオエンコーダ又はデコーダの実施形態は、符号化又は復号化ツールのより良い圧縮効率及びより簡単な実装をもたらすようコーディングツリーブロックの仮想境界を扱うことができる。
1つの例となる態様において、ビデオ処理の方法が開示される。方法は、ビデオの現在のブロックと、ビデオのビットストリーム表現との間の変換のために、現在のブロックの外にあるビデオの1つ以上のサンプルが変換のコーディングプロセスに利用不可能であることを決定するステップを含む。コーディングプロセスは、適応ループフィルタ(Adaptive Loop Filter,ALF)コーディングプロセスを含む。方法は、決定に基づき、ビデオの1つ以上のサンプルに対してパディングサンプルを使用することによって変換を実行するステップを含む。パディングサンプルは、順番にサンプルの利用可能性をチェックすることによって生成される。
他の例となる態様において、ビデオ処理の方法が開示される。方法は、ビデオの現在のブロックと、ビデオのビットストリーム表現との間の変換のために、現在のブロックの隣接ブロック内のサンプルが現在のブロックと同じビデオ領域にあるかどうかに関して第1決定を行うステップを含む。隣接ブロックは、(1)現在のブロックの左上、(2)現在のブロックの右上、(3)現在のブロックの左下、又は(4)現在のブロックの右下に位置している。方法は、現在のブロックの変換に対する、前記現在のブロックの外にあるサンプルを使用するコーディングツールの適用可能性に関して、第2決定を行うために、第1決定を使用するステップを含む。コーディングツールは、適応ループフィルタ(ALF)分類プロセス及び/又はALFフィルタリングプロセスを含むALFツールを含む。方法はまた、第1決定及び第2決定に従って変換を実行するステップを含む。
他の例となる態様において、ビデオ処理の方法が開示される。方法は、ビデオの現在のブロックと、ビデオのビットストリーム表現との間の変換のために、現在のブロックの外にあるビデオの1つ以上のサンプルが変換のコーディングプロセスに利用不可能であることを決定するステップを含む。方法はまた、決定に基づき、ビデオの1つ以上のサンプルに対してパディングサンプルを使用することによって変換を実行するステップを含む。パディングサンプルは、順番にサンプルの利用可能性をチェックすることによって生成される。
他の例となる態様において、ビデオ処理の方法が開示される。方法は、ビデオユニットを含むビデオピクチャを含むビデオと、ビデオのビットストリーム表現との間の変換を実行するステップを含む。第1のシンタックス要素の組は、ビデオユニットの境界にわたるサンプルが、ビデオユニットの境界に適用可能なフィルタリングプロセスにおいてアクセス可能であるかどうかを示すよう、ビットストリーム表現に含まれ、第1のシンタックス要素の組は、異なるレベルに含まれる。
他の例となる態様において、ビデオ処理の方法が開示される。方法は、ビデオピクチャのビデオブロックと、そのビットストリーム表現との間の変換を実行するステップを含む。ここで、ビデオブロックは、コーディングツリーブロックの論理グルーピングを用いて処理され、コーディングツリーブロックは、下端コーディングツリーブロックの下境界がビデオピクチャの下境界の外にあるかどうかに基づき処理される。
他の例となる態様において、他のビデオ処理方法が開示される。方法は、現在のビデオブロックのコーディングツリーブロックの条件に基づき、インループフィルタリング中に仮想サンプルの利用状態を決定するステップと、仮想サンプルの利用状態に従って、ビデオブロックとビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
更なる他の例となる態様において、他のビデオ処理方法が開示される。方法は、1つ以上のビデオスライス又はビデオブリックに論理的にグループ分けされるビデオピクチャと、ビデオピクチャのビットストリーム表現との間の変換中に、適応ループフィルタプロセスにおける他のスライス又はブリック内のサンプルの使用を無効にすると決定するステップと、決定に従って変換を実行するステップとを含む。
更なる他の例となる態様において、他のビデオ処理方法が開示される。方法は、ビデオピクチャの現在のビデオブロックと、現在のビデオブロックのビットストリーム表現との間の変換中に、現在のビデオブロックがビデオピクチャのビデオユニットの境界に位置しているサンプルを含むことを決定するステップと、決定に基づき変換を実行するステップとを含み、変換を実行するステップは、ビデオピクチャ内の全ての境界タイプについて同じである統一的方法を用いて、インループフィルタリングプロセスのための仮想サンプルを生成することを含む。
更なる他の例となる態様において、ビデオ処理の他の方法が開示される。方法は、ビデオピクチャの現在のビデオブロックとそのビットストリーム表現との間の変換中に、変換中にビデオピクチャに利用可能な複数の適応ループフィルタ(ALF)サンプル選択方法のうちの1つを決定するステップと、複数のALFサンプル選択方法のうちのその1つを適用することによって変換を実行するステップとを含む。
更なる他の例となる態様において、ビデオ処理の他の方法が開示される。方法は、境界ルールに基づき、ビデオピクチャの現在のビデオブロックと、現在のビデオブロックのビットストリーム表現との間の変換中に、現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであり、境界ルールは、ビデオピクチャの仮想パイプラインデータユニット(VPDU)を横断するサンプルを使用することを無効にする、ステップと、インループフィルタリング動作の結果を用いて変換を実行するステップとを含む。
更なる他の例となる態様において、ビデオ処理の他の方法が開示される。方法は、境界ルールに基づき、ビデオピクチャの現在のビデオブロックと、現在のビデオブロックのビットストリーム表現との間の変換中に、現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであり、境界ルールは、ビデオユニット境界にわたる現在のビデオブロックの位置について、パディングを使用せずに生成されるサンプルを使用することを定める、ステップと、インループフィルタリング動作の結果を用いて変換を実行するステップとを含む。
更なる他の例となる態様において、ビデオ処理の他の方法が開示される。方法は、境界ルールに基づき、ビデオピクチャの現在のビデオブロックと、現在のビデオブロックのビットストリーム表現との間の変換中に、現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであり、境界ルールは、インループフィルタリング動作のために、インループフィルタリング中に使用される現在のビデオブロックのサンプルがビデオピクチャのビデオユニットの境界を横断しないような大きさを有するフィルタを選択することを定める、ステップと、インループフィルタリング動作の結果を用いて変換を実行するステップとを含む。
更なる他の例となる態様において、ビデオ処理の他の方法が開示される。方法は、境界ルールに基づき、ビデオピクチャの現在のビデオブロックと、現在のビデオブロックのビットストリーム表現との間の変換中に、現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであり、境界ルールは、インループフィルタリング動作のために、パディングサンプルがインループフィルタリングに必要とされるか否かに基づきクリッピングパラメータ又はフィルタ係数を選択することを定める、ステップと、インループフィルタリング動作の結果を用いて変換を実行するステップとを含む。
更なる他の例となる態様において、ビデオ処理の他の方法が開示される。方法は、境界ルールに基づき、ビデオピクチャの現在のビデオブロックと、現在のビデオブロックのビットストリーム表現との間の変換中に、現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであり、境界ルールは、現在のビデオブロックの色成分識別に依存する、ステップと、インループフィルタリング動作の結果を用いて変換を実行するステップとを含む。
更なる他の例となる態様において、上記の方法を実行するよう構成されたビデオ符号化装置が開示される。
更なる他の例となる態様において、上記の方法を実行するよう構成されるビデオデコーダが開示される。
更なる他の例となる態様において、機械読み出し可能な媒体が開示される。媒体は、実行時に、プロセッサに、上記の方法の1つ以上を実装させるコードを記憶する。
開示されている技術の上記及び他の態様及び特徴は、図面、明細書、及び特許請求の範囲で更に詳細に記載される。
12個のタイル及び3つのラスタスキャンスライスにパーティション化される18×12のルーマコーディングツリーユニット(CTU)を含むピクチャの例を示す。 24個のタイル及び9つの長方形スライスにパーティション化される18×12のルーマコーディングツリーユニット(CTU)を含むピクチャの例を示す。 4つのタイル、11個のブリック、及び4つの長方形スライスにパーティション化されるピクチャの例を示す。 K=M、L<Mの場合にピクチャ境界を横断するコーディングツリーブロック(CTB)の例を示す。 K<M、L=Mの場合にピクチャ境界を横断するコーディングツリーブロック(CTB)の例を示す。 K<M、L<Mの場合にピクチャ境界を横断するコーディングツリーブロック(CTB)の例を示す。 エンコーダブロック図の例を示す。 8×8グリッド上のピクチャサンプル並びに水平及び垂直ブロック境界と、並行してデブロッキングされ得る8×8サンプルの重なり合わないブロックとの実例である。 フィルタオン/オフ決定及び強/弱フィルタ選択に関与するピクセルの例を示す。 4つの1-D方向パターンを示す。 幾何適応ループフィルタリング(GALF)フィルタ形状(左:5×5ダイヤモンド、中央:7×7ダイヤモンド、右:9×9ダイヤモンド)の例を示す。 5×5ダイヤモンドフィルタサポートのための相対座標を示す。 5×5ダイヤモンドフィルタサポートのための相対座標の例を示す。 サブサンプリングされたラプラシアン計算のための配置例を示す。 サブサンプリングされたラプラシアン計算のための他の配置例を示す。 サブサンプリングされたラプラシアン計算のための他の配置例を示す。 サブサンプリングされたラプラシアン計算のための更なる他の配置例を示す。 ルーマ成分のためのVTM-4.0でのループフィルタラインバッファ要件の例を示す。 クロマ成分のためのVTM-4.0でのループフィルタラインバッファ要件の例を示す。 N=4の場合の仮想境界でのALFブロック分類の例を示す。 N=4の場合の仮想境界でのALFブロック分類の他の例を示す。 仮想境界での変更されたルーマALFフィルタリングの例を表す。 仮想境界での変更されたルーマALFフィルタリングの他の例を表す。 仮想境界での変更されたルーマALFフィルタリングの更なる他の例を表す。 仮想境界での変更されたクロマALFフィルタリングの例を表す。 仮想境界での変更されたクロマALFフィルタリングの他の例を表す。 水平ラップアラウンド動き補償の例を示す。 水平ラップアラウンド動き補償の他の例を示す。 変更された適応ループフィルタの例を表す。 ビデオピクチャにおけるCTUの処理の例を示す。 変更された適応ループフィルタ境界の例を示す。 ビデオ処理装置の例のブロック図である。 ビデオ処理の方法の例のフローチャートである。 3×2レイアウトでのHECの画像の例を示す。 2種類の境界のサンプルのためのパディングされたラインの数の例を示す。 ピクチャ内のCTUの処理の例を示す。 ピクチャ内のCTUの処理の他の例を示す。 現在のサンプル及びアクセスされる必要があるサンプルの他の例を示す。 「利用不可能」な隣接サンプルのパディングの他の例を示す。 ALF分類プロセスで利用される必要があるサンプルの例を示す。 開示されている技術が実装され得るビデオ処理システムの例のブロック図である。 本技術に従うビデオ処理の方法のフローチャート表現である。 本技術に従うビデオ処理の他の方法のフローチャート表現である。 例となるビデオコーディングシステムを表すブロック図である。 本開示のいくつかの実施形態に従うエンコーダを表すブロック図である。 本開示のいくつかの実施形態に従うデコーダを表すブロック図である。
セクション見出しは、理解を簡単にするために本明細書で使用されているのであって、セクションで開示されている実施形態をそのセクションにのみ制限するものではない。更に、特定の実施形態は、Virsatile Video Coding(VVC)又は他の特定のビデオコーデックを参照して記載されているが、開示されている技術は、他のビデオコーディング技術にも適用可能である。更に、いくつかの実施形態は、ビデオコーディングステップについて詳述しているが、コーディングを元に戻す対応する復号化ステップがデコーダによって実装されることが理解されるだろう。更に、ビデオ処理という用語は、ビデオ符号化又は圧縮、ビデオ復号化又は圧縮解除、及びビデオピクセルが1つの圧縮されたフォーマットから他の圧縮されたフォーマットに又は異なる圧縮ビットレートで表現されるビデオトランスコーディングを包含する。
[1.概要]
本明細書は、ビデオコーディング技術に関係がある。具体的に、それは、特に非線形適応ループフィルタのためのピクチャ/スライス/タイル/ブリック境界及び仮想境界コーディングに関係がある。それは、HEVCのような既存のビデオコーディング標準規格、又はまとめられるべき標準規格(Versatile Video Coding)に適用されてもよい。それはまた、将来のビデオコーディング標準規格又はビデオコーデックにも適用可能であり得る。
[2.最初の議論]
ビデオコーディング標準規格は、よく知られているITU-T及びISO/IEC標準規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同でH.262/MPEG-2 Video及びH264/MPEG-4 Advanced Video Coding(AVC)及びH.265/HEVC標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、時間予測に変換コーディングをプラスしたものが利用されるハイブリッド型ビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、Joint Video Exploration Team(JVET)が2015年にVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい手法は、JVETによって採用され、Joint Exploration Model(JEM)と呼ばれる参照ソフトウェアに置かれてきた。2018年4月に、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間で、JVETが、HEVCと比較して50%のビットレート低減を目標とするVVC標準規格を検討するために作られた。
[2.1 色空間及びクロマサブサンプリング]
カラーモデル(又はカラーシステム)としても知られている色空間は、数字の順序組(tuples)として、通常は、3又は4つの値又は色成分(例えば、RGB)として、色の範囲を簡単に記述する抽象数学モデルである。基本的には、色空間は、座標系及び部分空間の精緻化(elaboration)である。
ビデオ圧縮のために、最も頻繁に使用される色空間はYCbCr及びRGBである。
YCBCR又はY’CBCRとも書かれるYCbCr、Y’CbCr、又はY Pb/Cb Pr/Crは、ビデオ及びデジタル写真撮影システムにおけるカラー画像パイプラインの部分として使用される色空間のファミリーである。Y’は、ルーマ成分であり、CB及びCRは、青色差分及び赤色差分クロマ成分である。Y’(プライム付き)は、輝度であるYとは区別される。つまり、光度は、ガンマ補正されたRGBプライマリに基づき非線形に符号化される。
クロマサブサンプリングは、輝度よりも色の違いに対して人間の視覚系が鈍いことを利用して、ルーマ情報の場合に比べてクロマ情報の場合に低い解像度を実装することによって画像を符号化する慣行である。
[2.1.1 色フォーマット4:4:4]
3つのY’CbCt成分の夫々が同じサンプルレートを有しているので、クロマサブサンプリングは存在しない。このスキームは、ハイエンドのフィルムスキャナ及び映画のポストプロダクションで時々使用される。
[2.1.2 色フォーマット4:2:2]
2つのクロマ成分はルーマのサンプルレートの半分でサンプリングされ、水平クロマ解像度は半分になる。これは、圧縮されていないビデオ信号のバンド幅を3分の1に低減するが、視覚的な違いはほとんど全くない。
[2.1.3 色フォーマット4:2:0]
4:2:0では、水平サンプリングは4:1:1と比べて2倍になるが、Cb及びCrチャネルがこのスキームでは夫々交互のラインでしかサンプリングされないということで、垂直解像度は半分になる。よって、データレートは同じである。Cb及びCrは、水平方向及び垂直方向の両方で夫々2倍でサブサンプリングされる。4:2:0スキームには3つのバリエーションがあり、水平方向及び垂直方向の配置が異なる。
MPEG-2では、Cb及びCrは、水平方向で共存している。Cb及びCrは、垂直方向においてはピクセル間に位置決めされる(隙間に配置される)。
JPEG/JFIF、H.261、及びMPEG-1では、Cb及びCrは、交互のルーマサンプルの中間で、隙間に配置される。
4:2:0 DVでは、Cb及びCrは、水平方向で共存している。垂直方向においては、それらは交互のライン上に共存している。
[2.2 様々なビデオユニット]
ピクチャは、1つ以上のタイル行及び1つ以上のタイル列に分けられる。タイルは、ピクチャの長方形領域をカバーするCTUの連続である。
タイルは、1つ以上のブリックに分けられ、各ブリックは、そのタイル内の多数のCTU行から成る。
多数のブリックにパーティション化されていないタイルも、ブリックと呼ばれる。しかし、タイルの実際のサブセットであるブリックは、タイルとは呼ばれない。
スライスは、ピクチャの多数のタイル、又はタイルの多数のブリックのどちらかを含む。
スライスの2つのモード、つまり、ラスタスキャンスライスモード及び長方形スライスモード、がサポートされる。ラスタスキャンスライスモードでは、スライスは、ピクチャのタイルラスタスキャンにおけるタイルの連続を含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域を集合的に形成するピクチャの多数のブリックを含む。長方形スライス内のブリックは、そのスライスのブリックラスタスキャンの順になっている。
図1は、ピクチャのラスタスキャンスライスパーティショニングの例を示し、ピクチャは、12個のタイル及び3つのラスタスキャンスライスに分割されている。
図2は、ピクチャの長方形スライスパーティショニングの例を示し、ピクチャは、24個のタイル(6つのタイル列及び4つのタイル行)及び9つの長方形スライスに分割されている。
図3は、タイル、ブリック、及び長方形スライスにパーティション化されているピクチャの例を示す。ピクチャは、4つのタイル(2つのタイル列及び2つのタイル行)、11個のブリック(左上のタイルが1つのブリックを含み、右上のタイルが5つのブリックを含み、左下のタイルが2つのブリックを含み、右下のタイルが3つのブリックを含む。)、及び4つの長方形スライスに分割されている。
[2.2.1 CTU/CTBサイズ]
VVCでは、シンタックス要素log2_ctu_size_minus2によってSPSで通知されるCTUサイズは、4×4まで小さくすることができる。
Figure 0007318120000001
Figure 0007318120000002
Figure 0007318120000003
[2.2.2 ピクチャ内のCTU]
M×N(通常は、HEVC/VVCで定義されるように、MはNに等しい。)によって示されるCTB/LCUサイズを仮定して、ピクチャ(あるいは、タイル若しくはスライス又は他の種類のタイプ)の境界(ピクチャ境界が例とされる。)に位置しているCTBについて、K×Lのサンプルがピクチャ境界内にあり、このとき、K<M又はL<Nのどちらかである。図4A~4Cに表されているようなCTBについて、CTBサイズは依然としてM×Nに等しいが、CTBの下境界/右境界はピクチャの外にある。
図4Aは、下側ピクチャ境界をまたぐCTBを示す。図4Bは、右側ピクチャ境界をまたぐCTBを示す。図4Cは、右下ピクチャ境界をまたぐCTBを示す。
図4A~4Cは、(a)K=M、L<N、(b)K<M、L=N、及び(c)K<M、L<Nである場合について、ピクチャ境界を横断するCTBの例を示す。
[2.3 典型的なビデオコーデックのコーディングフロー]
図5は、3つのインループフィルタリングブロック、つまり、デブロッキングフィルタ(Deblocking Filter,DF)、サンプル適応オフセット(Sample Adaptive Offset,SAO)、及びALFを含む、VVCのエンコーダブロック図の例を示す。予め定義されたフィルタを使用するDFとは異なり、SAO及びALFは、オフセット及びフィルタ係数を通知するコード化されたサイド情報を用いて、夫々、オフセットを加えることによって、及び有限インパルス応答(Finite Impulse Response,FIR)フィルタを適用することによって、現在のピクチャの元のサンプルと再構成されたサンプルとの間の平均二乗誤差を低減するように、現在のピクチャの元のサンプルを利用する。ALFは、各ピクチャの最後の処理段に位置し、前の段で生じたアーチファクトを捕捉及び修正しようと試みるツールと見なせる。
[2.4 デブロッキングフィルタ(DB)]
DBの入力は、インループフィルタ前の再構成されたサンプルである。
ピクチャ内の垂直エッジが最初にフィルタリングされる。次いで、ピクチャ内の水平エッジが、垂直エッジフィルタリング処理によって変更されたサンプルを入力として用いて、フィルタリングされる。各CTUのCTB内の水平及び垂直エッジは、コーディングユニットごとに個別に処理される。コーディングユニット内のコーディングブロックの垂直エッジは、コーディングブロックの左側にあるエッジから始まり、それらの幾何学順序においてコーディングブロックの右側に向かってエッジを通過して、フィルタリングされる。コーディングユニット内のコーディングブロックの水平エッジは、コーディングブロックの上にあるエッジから始まり、それらの幾何学順序においてコーディングブロックの下に向かってエッジを通過して、フィルタリングされる。
図6は、8×8グリッド上のピクチャサンプル並びに垂直及び水平ブロック境界と、並行してデブロッキングされ得る8×8のサンプルの重なり合わないブロックとの実例である。
[2.4.1 境界決定]
フィルタリングは8×8ブロック境界に適用される。更に、それは、変換ブロック境界又はコーディングサブブロック境界であるべきである(例えば、アフィン動き予測、ATMVPの利用による。)。そのような境界ではないものについては、フィルタは無効にされる。
[2.4.2 境界強さの計算]
変換ブロック境界/コーディングサブブロック境界については、それが8×8グリッドに位置している場合に、フィルタリングされてもよく、このエッジに対するbS[xD][yD](ここで、[xD][yD]は座標を表す。)の設定は、表1及び表2で夫々定義される。
Figure 0007318120000004
[2.4.3 ルーマ成分のためのデブロッキング決定]
このサブセクションでは、デブロッキング決定プロセスが記載される。
図7は、フィルタオン/オフ決定及び強/弱フィルタ選択に関与するピクセルの例を示す。
より広く、より強いルーマフィルタは、条件1(Condition 1)、条件2(Condition 2)及び条件3(Condition 3)の全てが真である場合にのみ使用されるフィルタである。
条件1は、「大きいブロックの条件」(“large block condition”)である。この条件は、Pサイド及びQサイドのサンプルが大きいブロックに属するかどうかを検出する。これは、変数bSidePisLargeBlk及びbSideQisLargeBlkによって夫々表される。bSidePisLargeBlk及びbSideQisLargeBlkは、次のように定義される。

bSidePisLargeBlk=((エッジタイプが垂直であり、pが幅>=32であるCUに属する)||(エッジタイプが水平であり、pが高さ>=32であるCUに属する))?TRUE:FALSE

bSideQisLargeBlk=((エッジタイプが垂直であり、qが幅>=32であるCUに属する)||(エッジタイプが水平であり、qが高さ>=32であるCUに属する))?TRUE:FALSE
bSidePisLargeBlk及びbSideQisLargeBlkに基づいて、条件1は、次のように定義される。

条件1=(bSidePisLargeBlk||bSideQisLargeBlk)?TRUE:FALSE
次に、条件1が真である場合に、条件2が更にチェックされることになる。最初に、次の変数が導出される:
- dp0、dp3、dq0、dq3が、HEVCで見られるように、最初に導出される
- if(pサイドが32以上である)
dp0=(dp0+Abs(p5-2×p4+p3)+1)>>1
dp3=(dp3+Abs(p5-2×p4+p3)+1)>>1
- if(qサイドが32以上である)
dq0=(dq0+Abs(q5-2×q4+q3)+1)>>1
dq3=(dq3+Abs(q5-2×q4+q3)+1)>>1
条件2=(d<β)?TRUE:FALSE
このとき、d=dp0+dq0+dp3+dq3である。
条件1及び条件2が妥当である場合に、ブロックのいずれかがサブブロックを使用するかどうかが更にチェックされる:
Figure 0007318120000005
最後に、条件1及び条件2の両方が妥当である場合に、提案されているデブロッキング方法は、次のように定義されている条件3(大きいブロック強いフィルタ条件)をチェックすることになる。
条件3の強フィルタ条件(StrongFolterCondition)では、次の変数が導出される:
dpqが、HEVCで見られるように、導出される。
HEVCで見られるように導出されたsp=Abs(p-p
if(pサイドが32以上である)
if(Sp==5)
sp=(sp+Abs(p-p)+1)>>1
else
sp=(sp+Abs(p-p)+1)>>1
HEVCで見られるように導出されたsq=Abs(q-q
if(qサイドが32以上である)
if(Sp==5)
sq=(sq+Abs(q-q)+1)>>1
else
sq=(sq+Abs(q-q)+1)>>1
HEVCで見られるように、StrongFilterCondition=(dpqが(β>>2)よりも小さい,sp+sqが(3×β>>5)よりも小さい,かつAbs(p-q)が(5×t+1)>>1よりも小さい)?TRUE:FALSEである。
[2.4.4 (より大きいブロックのために設計された)ルーマのためのより強いデブロッキングフィルタ]
境界のどちらか一方の側のサンプルが大きいブロックに属する場合に、双線形フィルタが使用される。大きいブロックに属するサンプルは、垂直エッジについては、幅>=32である場合、及び水平エッジについては、高さ>=32である場合として定義される。
双線形フィルタは、以下に挙げられている。
上記のHEVCデブロッキングにおけるブロック境界サンプルp(i=0乃至Sp-1)及びq(j=0乃至Sq-1)(p及びqは、垂直エッジをフィルタリングするためには、行内のi番目のサンプル、又は水平エッジをフィルタリングするためには、列内のi番目のサンプルである)は、次いで、次のように線形補間で置換される:

’=(f*Middles,t+(64-f)*P+32)>>6),p±tcPDにクリップされる

’=(g*Middles,t+(64-g)*Q+32)>>6),q±tcPDにクリップされる

ここで、tcPD及びtcPDの項は、セクション2.4.7で記載される位置依存のクリッピングであり、g、f、Middles,t、P、及びQは、以下で与えられる。
[2.4.5 クロマのためのデブロッキング制御]
クロマ強フィルタは、ブロック境界の両側で使用される。ここで、クロマフィルタは、クロマエッジの両側が8(クロマ位置)以上であり、3つの条件による次の決定が満足される場合に、選択される。第1の条件は、境界強さ及び大きいブロックの決定に関する。提案されているフィルタは、ブロックエッジを直角に横断するブロック幅又は高さがクロマサンプル領域で8以上である場合に、適用され得る。第2及び第3の条件は、基本的に、HEVCルーマデブロッキング決定の場合と同じであり、夫々、オン/オフ決定及び強フィルタ決定である。
最初の決定では、境界強さ(bS)がクロマフィルタリングのために変更され、条件は順次的にチェックされる。条件が満足される場合には、より優先度が低い残りの条件はスキップされる。
クロマデブロッキングは、大きいブロック境界が検出される場合に、bSが2に等しいか、又はbSが1に等しいときに実行される。
第2及び第3の条件は、次のように、基本的に、HEVCルーマ強フィルタ決定と同じである。
第2の条件では:
次いで、dが、HEVCルーマデブロッキングで見られるように導出される。
第2条件は、dがβよりも小さい場合に真になる。
第3の条件では、StrongFilterConditionが次のように導出される:
dpqが、HEVCで見られるように、導出される。
HEVCで見られるように導出されたsp=Abs(p-p
HEVCで見られるように導出されたsq=Abs(q-q
HEVC設計で見られるように、StrongFilterCondition=(dpqが(β>>2)よりも小さい,sp+sqが(β>>3)よりも小さい,かつAbs(p-q)が(5×t+1)>>1よりも小さい)である。
[2.4.6 クロマのための強デブロッキングフィルタ]
クロマのための次の強デブロッキングフィルタが定義される:
’=(3×p+2×p+p+p+q+4)>>3
’=(2×p+p+2×p+p+q+q+4)>>3
’=(p+p+p+2×p+q+q+q+4)>>3
提案されているクロマフィルタは、4×4クロマサンプルグリッドに対してデブロッキングを実行する。
[2.4.7 位置依存のクリッピング]
位置依存のクリッピングtcPDは、境界にある7、5、及び3つのサンプルを変更するものである強くかつ長いフィルタを用いるルーマフィルタリングプロセスの出力サンプルに適用される。量子化誤差分布を仮定して、サンプルのクリッピング値を増加させることが提案される。これは、より高い量子化ノイズを有することが予想されるので、真のサンプル値からの再構成されたサンプル値のより高い偏差を有することが予想される。
非対称フィルタによりフィルタリングされた各P又はQ境界について、セクション2.4.2での意志決定プロセスの結果に応じて、位置依存の閾値テーブルは、サイド情報としてデコーダへ供給される2つの表(例えば、以下に示されているTc7及びTc3)から選択される:
Tc7={6,5,4,3,2,1,1};Tc3={6,4,2};
tcPD=(Sp==3)?Tc3:Tc7;
tcQD=(Sq==3)?Tc3:Tc7;
短い対称フィルタを用いてP又はQがフィルタリングされる場合に、より桁が低い位置依存の閾値が適用される:
Tc3={3,2,1};
閾値を定義することに続いて、フィルタリングされたp’及びq’のサンプル値は、tcP及びtcQのクリッピング値に従ってクリッピングされる:
p”=Clip3(p’+tcP,p’-tcP,p’);
q”=Clip3(q’+tcQ,q’-tcQ,q’);
ここで、p’及びq’は、フィルタリングされたサンプル値であり、p”及びq”は、クリッピング後の出力サンプル値であり、tcP及びtcQは、VVCのtcパラメータ並びにtcPD及びtcQDから導出されるクリッピング閾値である。関数Clip3は、VVCで定められているクリッピング関数である。
[2.4.8 サブブロックデブロッキング調整]
長いフィルタ及びサブブロックデブロッキングの両方を使用して並列フレンドリデブロッキングを可能にするために、長いフィルタは、長いフィルタについてルーマ制御で示されるように、サブブロックデブロッキング(AFFINE又はATMVP又はDMVR)を使用する側で多くても5つのサンプルしか変更しないよう制限される。更に、サブブロックデブロッキングは、CU又は暗黙的なTU境界に近い8×8グリッド上のサブブロック境界が夫々の側で多くても2つのサンプルしか変更しないよう制限されるように、調整される。
以下は、CU境界と整列されていないサブブロック境界に適用される:
Figure 0007318120000006
0に等しいエッジがCU境界に対応する場合に、2に等しいか又はorthogonalLength-2に等しいエッジは、CU境界などから8サンプルのサブブロック境界に対応する。TUの暗黙的な分割が使用される場合に、暗黙的なTUは真である。
[2.5 SAO]
SAOの入力は、DB後の再構成されたサンプルである。SAOの概念は、最初に領域サンプルを、選択された分類子を用いて複数のカテゴリに分類し、カテゴリごとにオフセットを取得し、それからそのオフセットをカテゴリの各サンプルに加えることによって、領域の平均サンプル歪みを低減することであり、このとき、領域の分類子インデックス及びオフセットはビットストリームでコード化される。HEVC及びVVCでは、領域(SAOパラメータ通知のためのユニット)は、CTUであるよう定義される。
低い複雑性の要件を満足することができる2つのSAOタイプがHEVCでは採用されている。これら2つのタイプは、エッジオフセット(Edge Offset,EO)及びバンドオフセット(Band Offset,BO)であり、以下で更に詳細に説明される。SAOタイプのインデックスはコード化される([0,2]の範囲にある。)。EOについては、サンプル分類は、1-D方向パターン、つまり、水平、垂直、135°対角、及び45°対角に従って、現在のサンプルと隣接するサンプルとの間の比較に基づく。
図8は、EOサンプル分類のための4つの1-D方向パターン:水平(EOクラス=0)、垂直(EOクラス=1)、135°対角(EOクラス=2)、及び45°対角(EOクラス=3)を示す。
所与のEOクラスについて、CTB内の各サンプルは、5つのカテゴリのうちの1つに分類される。“c”とラベル付けされた現在のサンプル値は、選択された1-Dパターン沿いのその2つの隣接物と比較される。各サンプルの分類規則は、表3にまとめられている。カテゴリ1及び4は、夫々、選択された1-Dパターンに沿った局所的な谷間及び局所的なピークに関連する。カテゴリ2及び3は、夫々、選択された1-Dパターンに沿った凹部及び凸部に関連する。現在のサンプルがEOカテゴリ1~4に属さない場合には、それはカテゴリ0であり、SAOは適用されない。
Figure 0007318120000007
[2.6 幾何変換に基づいた適応ループフィルタ]
DBの入力は、DB及びSAOの後の再構成されたサンプルである。サンプル分類及びフィルタリングプロセスは、DB及びSAOの後の再構成されたサンプルに基づく。
いくつかの実施形態において、ブロックベースのフィルタ適応を用いた、幾何変換に基づいた適応ループフィルタ(Geometry transformation-based Adaptive Loop Filter,GALF)が、適用される。ルーマ成分については、局所的な傾きの方向及び活動(activity)に基づいて、25個のフィルタの中の1つが、2×2ブロックごとに選択される。
[2.6.1 フィルタ形状]
いくつかの実施形態において、最大3つのダイヤモンドフィルタ形状(図9に図示。)がルーマ成分のために選択され得る。インデックスは、ルーマ成分に使用されるフィルタ形状を示すようピクチャレベルで通知される。各正方形はサンプルを表し、Ci(iは0~6(左)、0~12(中央)、0~20(右)である。)は、サンプルに適用される係数を表す。ピクチャのクロマ成分については、5×5ダイヤモンド形状が常に使用される。
[2.6.1.1 ブロック分類]
各2×2ブロックは、25個のクラスの中の1つに分類される。分類インデックスCは、次のように、その方向性D及び活動の量子化された値A(ハット付き)に基づき導出される:
Figure 0007318120000008
D及びハット付きAを計算するために、水平方向、垂直方向、及び2つの対角方向の傾きが最初に、1-Dラプラシアンを用いて計算される:
Figure 0007318120000009
インデックスi及びjは、2×2ブロックにおける左上サンプルの座標を指し、R(i,j)は、座標(i,j)での再構成されたサンプルを示す。
次いで、水平方向及び垂直方向の傾きの最大及び最小値が:
Figure 0007318120000010
としてセットされ、そして、2つの対角方向の傾きの最大及び最小値が:
Figure 0007318120000011
としてセットされる。
方向性Dの値を導出するために、これらの値は、互いに、そして2つの閾値t及びtと比較される:
Figure 0007318120000012
活動値Aは:
Figure 0007318120000013
と計算される。Aは更に、0以上4以下の範囲に量子化され、量子化された値は、ハット付きAとして表される。
ピクチャの両クロマ成分については、分類方法は適用されない。例えば、クロマ成分ごとに、ひと組のALF係数が適用される。
[2.6.1.2 フィルタ係数の幾何変換]
図10は、5×5ダイヤモンドフィルタサポートのための相対座標を示す(左:対角、中央:垂直フリップ、右:回転)。
各2×2ブロックをフィルタリングする前に、回転又は対角及び垂直フリップなどの幾何変換が、そのブロックについて計算された傾き値に応じて、座標(k,l)に関連するフィルタ係数f(k,l)に適用される。これは、フィルタサポート領域内のサンプルにこれらの変換を適用することと等価である。アイデアは、ALFが適用される様々なブロックを、それらの方向性を調整することによって、より類似させることである。
対角、垂直フリップ、及び回転を含む3つの幾何変換が導入される:
Figure 0007318120000014
ここで、Kは、フィルタのサイズであり、0≦k,l≦K-1は、位置(0,0)が左上隅にあり、位置(K-1,K-1)が右下隅にあるような、係数座標である。変換は、そのブロックについて計算された傾き値に応じてフィルタ係数f(k,l)に適用される。変換と4つの方向の4つの傾きとの間の関係は、表4にまとめられている。図9は、5×5ダイヤモンドに基づいた各位置の変換後の係数を示す。
Figure 0007318120000015
[2.6.1.3 フィルタパラメータの通知]
いくつかの実施形態において、GALFフィルタパラメータは、最初のCTUについて、例えば、スライスヘッダの後かつ最初のCTUのSAOパラメータの前に、通知される。最大25組のルーマフィルタ係数が通知され得る。ビットオーバヘッドを低減するために、異なる分類のフィルタ係数がマージされ得る。また、参照ピクチャのGALF係数は記憶されて、現在のピクチャのGALF係数として再利用することを可能にされる。現在のピクチャは、参照ピクチャについて記憶されたGALF係数を使用することを選択し、GALF係数の通知をバイパスしてもよい。この場合に、参照ピクチャの1つへのインデックスのみが通知され、指示された参照ピクチャの記憶されているGALF係数が現在のピクチャに受け継がれる。
GALF時間予測をサポートするために、GALFフィルタセットの候補リストが保持される。新しいシーケンスの復号化の開始時に、候補リストは空である。1つのピクチャの復号化の後に、フィルタの対応するセットが候補リストに加えられ得る。候補リストのサイズが最大許容値(例えば、6)に達すると、フィルタの新しいセットが復号化順で最も古いセットを上書きし、つまり、先入れ先出し(First-In-First-Out,FIFO)規則が、候補リストを更新するために適用される。重複を回避するために、対応するピクチャがGALF時間予測を使用しない場合にのみ、セットは加えられ得る。時間スケーラビリティをサポートするために、フィルタセットの複数の候補リストが存在し、各候補リストは時間レイヤと関連付けられる。より具体的には、時間レイヤインデックス(TempIdx)によって割り当てられている各アレイは、より低いTempIdxに等しい以前に復号されたピクチャのフィルタセットを構成し得る。例えば、k番目のアレイは、kに等しいTempIdxと関連付けられるよう割り当てられ、それは、k以下のTempIdxを有するピクチャからのフィルタセットのみを含む。特定のピクチャのコーディングの後で、そのピクチャに関連したフィルタセットは、等しい又はより高いTempIdxと関連付けられたアレイを更新するために使用されことになる。
GALF係数の時間予測は、シグナリングオーバヘッドを最小化するように、イントラコーディングされたフレームに使用される。イントラフレームについては、時間予測は利用不可能であり、16個の固定フィルタのセットが各クラスに割り当てられる。固定フィルタの利用を示すために、クラスごとにフラグが通知され、必要に応じて、選択された固定フィルタのインデックスが通知される。固定フィルタが所与のクラスのために選択される場合でさえ、適応フィルタf(k,l)の係数は、このクラスについて依然として送信され得る。この場合に、再構成された画像に適用されることになるフィルタの係数は、係数の両方のセットの和である。
ルーマ係数のフィルタリングプロセスは、CUレベルで制御され得る。フラグは、GALFがCUのルーマ成分に適用されるかどうかを示すために通知される。クロマ成分については、GALFが適用されるか否かは、ピクチャレベルでのみ示される。
[2.6.1.4 フィルタリングプロセス]
デコーダ側で、GALFがブロックに対して有効にされる場合に、そのブロック内の各サンプルR(i,j)はフィルタリングされ、以下で示されるサンプル値R’(i,j)が得られる。ここで、Lは、フィルタ長さを表し、fm,nは、フィルタ係数を表し、f(k、l)は、復号されたフィルタ係数を表す。
Figure 0007318120000016
図11は、現在のサンプル座標(i,j)が(0,0)であると仮定して、5×5ダイヤモンドフィルタサポートに使用される相対座標の例を示す。同じ色で塗りつぶされた、異なる座標のサンプルは、同じフィルタ係数を乗算されている。
[2.7 幾何変換に基づいた適応ループフィルタ(GALF)]
[2.7.1 例となるGALF]
いくつかの実施形態において、適応ループフィルタのフィルタリングプロセスは、次のように実行される:
Figure 0007318120000017
ここで、サンプルI(x+i,y+j)は、入力サンプルであり、O(x,y)は、フィルタリングされた出力サンプル(例えば、フィルタ結果)であり、w(i,j)は、フィルタ係数を表す。実際に、VTM-4.0で、それは、固定点精度の計算に整数演算を用いて実装される:
Figure 0007318120000018
ここで、Lは、フィルタ長さを表し、w(i,j)は、固定点精度でのフィルタ係数である。
VVCにおけるGALFの現在の設計には、次の主要な変更がある:
(1)適応フィルタ形状は削除される。7×7フィルタ形状のみがルーマ成分に認められ、5×5フィルタがクロマ成分に認められる。
(2)スライス/ピクチャレベルからCTUレベルに移動されたALFパラメータの通知。
(3)クラスインデックスの計算は2×2ではなく4×4レベルで実行される。加えて、いくつかの実施形態において、ALF分類のためのサブサンプリングされたラプラシアン計算法が利用される。より具体的には、1つのブロック内の各サンプルについて水平/垂直/45°対角/135°対角の各傾きを計算することは不要である。代わりに、1:2サブサンプリングが利用される。
図12A~12Dは、CE2.6.2のためのサブサンプリングされたラプラシアン計算を示す。図12Aは、垂直傾きについてのサブサンプリングされた位置を表し、図12Bは、水平傾きについてのサブサンプリングされた位置を表し、図12Cは、対角傾きについてのサブサンプリングされた位置を表し、図12Dは、対角傾きについてのサブサンプリングされた位置を表す。
[2.8 非線形ALF]
[2.8.1 フィルタリングの再定式化]
式(11)は、次の式で、コーディング効率に影響を及ぼさずに、再定式化され得る:
Figure 0007318120000019
ここで、w(i,j)は、式(11)と同じフィルタ係数である[式(13)では、1に等しいw(0,0)を除き、一方、式(11)では、それは1-Σ(i,j)≠(0,0)w(i,j)に等しい。]。
(13)のこの上記のフィルタ式を用いて、VVCは、隣接するサンプル値(I(x+i,y+j))が、フィルタリングされている現在のサンプル値(I(x,y))と異なりすぎる場合に、それらの隣接するサンプル値の影響を低減するよう単純なクリッピング関数を使用することによって、ALFをより効率的にするために非線形性を導入する。
より具体的には、ALFフィルタは、次のように変更される:
Figure 0007318120000020
ここで、K(d,b)=min(b,max(-b,d))は、クリッピング関数であり、k(i,j)は、(i,j)フィルタ係数に依存するクリッピングパラメータである。エンコーダは、最良のk(i,j)を見つけるために最適化を実行する。
いくつかの実施形態において、クリッピングパラメータk(i,j)は、各ALFフィルタのために指定され、1つのクリッピング値がフィルタ係数ごとに通知される。つまり、最大12個のクリッピング値が、ルーマフィルタごとにビットストリームで通知され、最大6個のクリッピング値が、クロマフィルタのために通知される。
通知コスト及びエンコーダ複雑性を制限するために、INTER及びINTRAスライスについて同じである4つの固定値のみが使用される。
局所的差違の分散はしばしばクロマでよりもルーマで高いので、ルーマ及びクロマフィルタのための2つの異なったセットが適用される。各セット内の最大サンプル値(ここでは、10ビットのビットデプスの場合に、1024)も導入され、それにより、クリッピングは、不要である場合には無効にされ得る。
いくつかの実施形態で使用されるクリッピング値のセットは、表5で与えられる。4つの値は、対数領域で、ルーマの場合はサンプル値の全範囲(10ビットでコード化)を、及びクロマの場合は4~1024の範囲をほぼ均等に分割することによって、選択されている。
より厳密には、クリッピング値のルーマテーブルは、次の式によって求められている:
Figure 0007318120000021
同様に、クリッピング値のクロマテーブルは、次の式に従って求められる:
Figure 0007318120000022
Figure 0007318120000023
選択されたクリッピング値は、上記の表5内のクリッピング値のインデックスに対応するGolomb符号化スキームを使用することによって、「alf_data」シンタックス要素でコーディングされる。この符号化スキームは、フィルタインデックスの符号化スキームと同じである。
[2.9 仮想境界]
ハードウェア及び組み込みソフトウェアで、ピクチャベースの処理は、その高いピクチャバッファ要件のために、実際には受け入れられない。オンチップのピクチャバッファの使用は、非常に高価であり、オフチップのピクチャバッファの使用は、外部メモリアクセス、電力消費量、及びデータアクセスレイテンシを大幅に増大させる。従って、DF、SAO、及びALFは、実際の製品ではピクチャベースからLCUベースの復号化に変更されることになる。LCUベースの処理がDF、SAO、及びALFに使用される場合に、復号化プロセス全体が、複数のLCUの並列処理のためにLCUパイプライン方式によりラスタスキャンでLCUごとに行われ得る。この場合に、1つのLCU行の処理に上部LCU行からのピクセルが必要とされるので、DF、SAO、及びALFのためにラインバッファが必要とされる。オフチップのラインバッファ(例えば、DRAM)が使用される場合には、外部メモリバンド幅及び電力消費量が増える。オンチップのラインバッファ(例えば、SRAM)が使用される場合には、チップ面積が増える。従って、ラインバッファはピクチャバッファよりも既にずっと小さいが、依然として、ラインバッファを低減することが望まれている。
いくつかの実施形態において、図13に示されるように、必要とされるラインバッファの総数は、ルーマ成分の場合に11.25ラインである。ラインバッファ要件の説明は次の通りである:決定及びフィルタリングには最初のCTUからのラインK、L、M、Nと下位CTUからのラインO、Pとが必要なため、CTUエッジと重なり合う水平エッジのデブロッキングは実行不可能である。従って、CTU境界と重なり合う水平エッジのデブロッキングは、下位CTUが来るまで延期される。従って、ラインK、L、M、Nについては、再構成されたルーマサンプルがラインバッファ(4ライン)に格納される必要がある。次いで、SAOフィルタリングがラインAからJまでについて実行され得る。ラインJは、デブロッキングがラインKのサンプルを変更しないということで、SAOフィルタリング可能である。ラインKのSAOフィルタリングのために、エッジオフセット分類決定は、ラインバッファ(0.25ルーマラインである。)にのみ格納される。ALFフィルタリングは、ラインA~Fについてのみ実行可能である。図13に示されるように、ALF分類は、4×4ブロックごとに実行される。各4×4ブロック分類は、サイズ8×8の活動ウィンドウを必要とし、つまり、1dラプラシアンを計算して傾きを決定するために9×9ウィンドウを必要とする。
従って、ラインG、H、I、Jと重なり合う4×4ブロックのブロック分類のためには、仮想境界より下のSAOフィルタリングされたサンプルが必要である。更には、ラインD、E、FのSAOフィルタリングされたサンプルが、ALF分類のために必要とされる。更に、ラインGのALFフィルタリングは、上のラインからの3つのSAOフィルタリングされたラインD、E、Fを必要とする。従って、全体のラインバッファ要件は次の通りである:
- ラインK~N(水平DFピクセル):4ライン
- ラインD~J(SAOフィルタリングされたピクセル):7ライン
- ラインJとラインKとの間のSAOエッジオフセット分類子の値:0.25ライン。
従って、必要とされるルーマラインの総数は、7+4+0.25=11.25である。
同様に、クロマ成分のラインバッファ要件は、図14に表されている。クロマ成分のラインバッファ要件は、6.25ラインであると評価される。
SAO及びALFのラインバッファ要件を排除するために、仮想境界(virtual boundary,VB)の概念が最新のVVCでは導入されている。図13に示されるように、VBは、Nピクセルだけ上方にシフトされた水平LCU境界である。各LCUについて、SAO及びALFは、下位のLCUが来る前にVBの上にあるピクセルを処理することができるが、DFによって引き起こされる下位のLCUが来るまでVBより下のピクセルを処理することができない。ハードウェア実装コストを考慮すると、処理されたVBと水平LCU境界との間の空間は、ルーマについては4ピクセル(例えば、図13ではN=4)、及びクロマについては2ピクセル(例えば、図9ではN=2)としてセットされる。
[2.9.1 VBサイズNが4である場合の変更されたALFブロック分類]
図15A~15Bは、仮想境界がCTU境界より4ライン上にある(N=4)場合の変更されたブロック分類を表す。図15Aに表されているように、4×4ブロックがラインGから始まる場合に、ブロック分類はラインEからJまでのみを使用する。しかし、ラインJに属するサンプルのラプラシアン傾き計算は、もう1つ下のライン(ラインK)を必要とする。従って、ラインKはラインJを用いてパディングされる。
同様に、図15Bに表されているように、4×4ブロックがラインKから始まる場合に、ブロック分類はラインKからPまでのみを使用する。しかし、ラインKに属するサンプルのラプラシアン傾き計算は、もう1つ上のライン(ラインJ)を必要とする。従って、ラインはラインKを用いてパディングされる。
[2.9.2 仮想境界を横断するサンプルの両側パディング]
図16A~16Cに表されているように、フィルタの切り捨てられたバージョン(truncated version)は、仮想境界に近いラインに属するルーマサンプルのフィルタリングのために使用される。図16Aを例とすると、図13に表されているラインMをフィルタリングするときに、例えば、7×7ダイヤモンドの中央のサンプルがラインMにあり、VB(太線で表される。)の上にある1つのラインにアクセスする必要がある。この場合に、VBの上のサンプルは、VBの直ぐ下のサンプルからコピーされる。例えば、実線のP0サンプルが、上の破線の位置にコピーされる。対称的に、実線のP3サンプルも、破線の位置のサンプルが利用可能であっても、その破線の位置の直ぐ下にコピーされる。コピーされたサンプルは、ルーマフィルタリングプロセスでのみ使用される。
ALF仮想境界のために使用されるパディング方法は、「両側パディング」(Two-side Padding)と呼ばれ得る。図16A~16C及び図17A~17Bに表されているように、(i,j)に位置している1つのサンプル(例えば、図16Bでは、破線のP0A)がパディングされる場合に、同じフィルタ係数を共有する、(m,n)に位置している対応するサンプル(例えば、図16Bでは、破線のP3B)も、そのサンプルが利用可能であってもパディングされる。図16A~16Cの7×7ダイヤモンドフィルタサポートでは、中心は、フィルタリングされるべき現在のサンプルである。図16Aは、VBの上/下の1つの必要なラインがパディングされる必要があることを示す。図16Bは、VBの上/下の2つの必要なラインがパディングされる必要があることを示す。図16Cは、VBの上/下の3つの必要なラインがパディングされる必要があることを示す。
同様に、図17~17Bに表されているように、両側パディング法は、クロマALFフィルタリングのためにも使用される。図17A~17Bは、仮想境界での変更されたクロマALFフィルタリングを示す(5×5ダイヤモンドフィルタサポートであり、中心は、フィルタリングされるべき現在のサンプルである。)。図17Aは、VBの上/下の1つの必要なラインがパディングされる必要があることを示す。図17Bは、VBの上/下の2つの必要なラインがパディングされる必要があることを示す。
[2.9.3 非線形ALFが無効にされる場合の両側パディングの実装のための代案]
非線形ALFがCTBについて無効にされる場合に、例えば、式(14)のクリッピングパラメータk(i,j)は(1<<Bitdepth)に等しく、パディングプロセスは、フィルタ係数を変更することによって置換され得る(別名、変更された係数に基づいたALF(Modified-coeff based ALF,MALF))。例えば、ラインL/Iのサンプルをフィルタリングするとき、フィルタ係数c5はc5’に変更され、この場合に、ルーマサンプルを実線P0Aから破線P0Aへ及び実線P3Bから破線P3Bへコピーすることは不要である(図18A)。この場合に、両側パディング及びMALFは、フィルタリングされるべき現在のサンプルが(x,y)に位置していると仮定すると、同じ結果をもたらすことになる。
Figure 0007318120000024
これは、パディングにより、K(d,b)=dかつI(x-1,y-1)=I(x-1,y-2)であるからである。
しかし、非線形ALFが有効にされる場合には、MALF及び両側パディングは、異なったフィルタリング結果をもたらすことになる。これは、非線形パラメータが各係数と関連付けられ、例えば、フィルタ係数c5及びc1については、クリッピングパラメータが異なるからである。従って、
Figure 0007318120000025
これは、パディングにより、I(x-1,y-1)=I(x-1,y-2)でもK(d,b)!=dであるからである。
[2.10 ALFフィルタリングに関する規格]
新たに加えられた部分は、太字イタリック体の下線付きテキストで示される。削除された部分は、二重括弧[[]]を用いて示される。
Figure 0007318120000026
Figure 0007318120000027
Figure 0007318120000028
Figure 0007318120000029
Figure 0007318120000030
Figure 0007318120000031
Figure 0007318120000032
Figure 0007318120000033
Figure 0007318120000034
[2.11 CTU処理の例]
現在のVVC設計に従って、1つのCTBの下境界がスライス/ブリックの下境界である場合に、ALF仮想境界処理方法は無効にされる。例えば、1つのピクチャは、図19に表されているように、複数のCTU及び2つのスライスに分割される。
CTUサイズがM×M(例えば、M=64)であると仮定して、仮想境界定義に従って、CTB内の最後の4ラインは仮想境界より下で扱われる。ハードウェア実装では、次が適用される:
- CTBの下境界がピクチャの下境界である(例えば、CTU-D)場合に、それは、上のCTU行からの4ライン及び現在のCTU内の全ラインを含む(M+4)×Mブロックを処理する。
- そうでない場合に、CTBの下境界がスライス(又はブリック)の下境界であり(例えば、CTU-C)、loop_filter_across_slice_enabled_flag(又はloop_filter_across_bricks_enabled_flag)が0に等しいならば、それは、上のCTU行からの4ライン及び現在のCTU内の全ラインを含む(M+4)×Mブロックを処理する。
- そうでない場合に、CTU/CTBがスライス/ブリック/タイル内の最初のCTU行内にある(例えば、CTU-A)ならば、それは、最後の4ラインを除くM×(M-4)ブロックを処理する。
- そうでない場合に、CTU/CTBがスライス/ブリック/タイルの最初のCTU行内になく(例えば、CTU-B)、スライス/ブリック/タイルの最後のCTU行内にないならば、それは、上のCTU行からの4ラインを含み、現在のCTU内の最後の4ラインを除くM×Mブロックを処理する。
図19は、ピクチャ内のCTUの処理の例を示す。
[2.12 360度ビデオコーディング]
VTM-5.0における水平ラップアラウンド(wrap around)動き補償は、正距円筒図法(Equi-Rectangular,ERP)投影フォーマットでの再構成された360度ビデオの視覚品質を改善するよう設計された360固有コーディングツールである。従来の動き補償では、動きベクトルが参照ピクチャのピクチャ境界を越えるサンプルを参照する場合に、繰り返しパディングを適用して、対応するピクチャ境界上の最近傍からコピーすることにより、範囲外のサンプルの値を導き出す。360度ビデオについては、繰り返しパディングのこの方法は適切ではなく、再構成されたビューポートビデオにおいて、「シームアーチファクト」(seam artifacts)と呼ばれる視覚アーチファクトを引き起こす可能性がある。360度ビデオは球体で捕捉され、本質的に「境界」がないため、投影領域において参照ピクチャの境界の外にある参照サンプルは、球形の領域内の隣接するサンプルから常に取得され得る。一般的な投影フォーマットについては、2Dから3D及び3Dから2Dの座標変換、並びに分数サンプル位置のサンプル補間が必要であるから、球形の領域で対応する隣接サンプルを導出するのは難しい場合がある。この問題は、ERP投影フォーマットの左右の境界についてははるかに単純である。これは、左側のピクチャ境界の外側の球形の隣接物が右側のピクチャ境界の内側のサンプルから取得可能であり、その逆も同様であるからである。
図20は、VVCにおける水平ラップアラウンド動き補償の例を示す。
水平ラップアラウンド動き補償プロセスは、図20に表されている。参照ブロックの一部が投影領域において参照ピクチャの左側(又は右側)境界の外にある場合には、繰り返しパディングの代わりに、「境界外」部分は、投影領域において右側(又は左側)境界に向かって参照ピクチャにある対応する球形の隣接物から取得される。繰り返しパディングは、上下のピクチャ境界に対してのみ使用される。図20に表されているように、水平ラップアラウンド動き補償は、360度ビデオコーディングでしばしば使用される非規範的な(non-normative)パディングと組み合わされ得る。VVCでは、これは、パディング前にERPピクチャ幅にセットされるべきであるラップアラウンドオフセットを示すようハイレベルシンタックス要素を通知することによって達成される。このシンタックスは、水平ラップアラウンドの位置を然るべく調整するために使用される。このシンタックスは、左右のピクチャ境界に対する特定の量のパディングによって影響を及ぼされず、従って、例えば、左右のパディングが異なる場合に、ERPピクチャの非対称なパディングを当然にサポートする。水平ラップアラウンド動き補償は、参照サンプルが参照ピクチャの左右の境界の外にある場合の動き補償のためのより有意味な情報を提供する。
複数の面から成る投影フォーマットについては、どのようなコンパクトなフレームパッキング配置が使用されても、フレームパックされたピクチャ内の2つ以上の隣接する面の間には不連続性が現れる。例えば、図24で表されている3×2のフレームパッキング構成を考えると、上半分の3つの面は3Dジオメトリにおいて連続であり、下半分の3つの面は3Dジオメトリにおいて連続であるが、フレームパックされたピクチャの上下の半分は、3Dジオメトリにおいて不連続である。インループフィルタリング動作がこの不連続性に対して実行される場合に、面シームアーチファクトは、再構成されたビデオで可視的になる可能性がある。
面シームアーチファクトを軽減するために、インループフィルタリング動作は、フレームパックされたピクチャ内の不連続性にわたって無効にされ得る。シンタックスは、インループフィルタリング動作が無効にされる垂直及び/又は水平仮想境界を通知するよう提案された。連続した面の各組ごとに1つずつ、2つのタイルを使用することと比較して、タイルにわたるインループフィルタリング動作を無効にするために、提案されている通知方法は、面サイズがCTUサイズの倍数であることを必要としないので、より柔軟である。
[2.13 サブピクチャベースの動き制約付き独立領域の例]
いくつかの実施形態において、次の特徴が含まれる:
1)ピクチャはサブピクチャに分割され得る。
2)サブピクチャの存在の指示は、サブピクチャの他のシーケンスレベル情報とともに、SPSで示される。
3)サブピクチャが復号化プロセス(インループフィルタリング動作を除く。)でピクチャとして扱われるかどうかは、ビットストリームによって制御可能である。
4)サブピクチャ境界にわたるインループフィルタリングが無効にされるかどうかは、サブピクチャごとにビットストリームによって制御可能である。DBF、SAO、及びALFプロセスは、サブピクチャ境界にわたるインループフィルタリング動作の制御のために更新される。
5)簡単のために、開始点として、サブピクチャの幅、高さ、水平オフセット、及び垂直オフセットが、SPSでルーマサンプルの単位で通知される。サブピクチャ境界は、スライス境界であるよう制約される。
6)復号化プロセス(インループフィルタリング動作を除く。)でピクチャとしてサブピクチャを扱うことは、coding_tree_unit( )シンタックスをわずかに更新することによって指定され、次の復号化プロセスに更新する:
○(高度(advanced))時間ルーマ動きベクトル予測のための導出プロセス
○ルーマサンプル双線形補間プロセス
○ルーマサンプル8-タップ補間フィルタリングプロセス
○クロマサンプル補間プロセス
7)サブピクチャIDはSPSで明示的に指定され、タイルグループヘッダに含まれて、VCL NALユニットを変更する必要なしにサブピクチャシーケンスの抽出を可能にする。
出力サブピクチャセット(output sub-picture sets,OSPS)は、サブピクチャ及びそのセットの規範的な抽出及びコンフォーマンスポイントを指定するよう提案されている。
[3.本願で与えられている解決法によって解決される技術的課題]
現在のVVC設計には、次の問題がある。
1.ALF仮想境界を有効にする現在の設定は、CTBの下境界がピクチャの下境界であるかどうかに依存する。それが当てはまる場合に、ALF仮想境界は無効にされる(例えば、図19のCTU-D)。しかし、CTBの下境界はピクチャの下境界の外側にあることがあり得る。例えば、256×240ピクチャが4つの128×128CTUに分割され、この場合に、ALF仮想境界は、下側ピクチャ境界の外にあるサンプルを有する最後の2つのCTUに対して誤って真にセットされることがある。
2.ALF仮想境界を扱う方法は、下側ピクチャ境界及びスライス/タイル/ブリック境界に対して無効にされる。スライス/ブリック境界に沿ったVBを無効にすることは、パイプラインバブルを生じさせるか、あるいは、LCUサイズが64×64であると仮定して、仮想パイプラインデータユニット(VPDU,VVCでは64×64)ごとに68ラインを処理する必要がある可能性がある。例えば:
a.デコーダがスライス/ブリック/タイル境界を前もって知らない(低遅延アプリケーションなど)場合に、ALFラインバッファはリストアされる必要がある。ラインバッファ内の内容がALFフィルタリングに使用されるか否かは、現在のCTUがスライス/ブリック/タイル境界CTUでもあるかどうかに依存する。しかし、この情報は、次のスライス/ブリック/タイルが復号されるまで未知である。
b.デコーダがスライス/ブリック/タイル境界を前もって知っている場合に、デコーダは、パイプラインバブルを甘受するか(ほとんどない。)、あるいは、ALFラインバッファの使用を回避するために、64×64VDPUごとに68ラインの速度で常にALFを実行するか(オーバープロビジョン)、のどちらかが必要である。
3.仮想境界及びビデオユニット境界を扱う種々の方法、例えば、異なるパディング方法、が存在する。一方で、1よりも多いパディング方法は、ラインが複数の境界にある場合に、そのラインに対して実行されることがある。
a.一例で、ブロックの下境界が360度仮想境界であり、ALF仮想境界もこのブロックに適用されるならば、この場合に、360度仮想境界のためのパディング方法が最初に、360度仮想境界より下に仮想サンプルを生成するために適用され得る。その後に、360度仮想境界より下に位置しているこれらの仮想サンプルは、利用可能であるとして扱われる。また、ALF両側パディング方法が、図16A~Cに従って、更に適用されてもよい。例は、図25に表されている。
4.仮想境界を扱う方法は、パディングされたサンプルが利用されるが、これはそれほど効率的でない可能性があるので、次善である可能性がある。
5.非線形ALFが無効にされる場合に、MALF及び両側パディング方法は、仮想境界を横断するサンプルにアクセスする必要があるサンプルをフィルタリングするために同じ結果を生成することができる。しかし、非線形ALFが有効にされる場合には、2つの方法は異なる結果をもたらす。2つの場合をそろえることが有益である。
6.スライスは、図28に表されているように、長方形スライス、又は非長方形スライスであってよい。この場合に、CTUについては、それは如何なる境界(例えば、ピクチャ/スライス/タイル/ブリック)とも一致しないことがある。しかし、現在のスライスの外にあるサンプルにアクセスすることが必要であり得る。スライス境界を横断するフィルタリングが無効にされる(例えば、loop_filter_across_slices_enabled_flagが偽である)場合に、どのようにALF分類及びフィルタリングプロセスを実行すべきかは、未知である。
7.サブピクチャは、ピクチャ内の1つ以上のスライスの長方形領域である。サブピクチャは、ピクチャの長方形領域を集合的にカバーする1つ以上のスライスを含む。シンタックステーブルは、サブピクチャの概念を含めるように、次のように変更される(太字、イタリック体、及び下線)。
Figure 0007318120000035
サブピクチャを横断するフィルタリングを有効にすることはサブピクチャごとに制御される、ことが留意される。しかし、スライス/タイル/ブリックを横断するフィルタリングを有効にすることの制御は、1つのピクチャ内の全てのスライス/タイル/ブリックを制御するよう1度通知されるピクチャレベルにおいて、制御される。
8.ALF分類は4×4ユニットで実行される。つまり、1つの4×4ユニット内の全てのサンプルは、同じ分類結果を共有する。しかし、より正確に言えば、現在の4×4ブロックを含む8×8ウィンドウ内のサンプルは、それらの傾きを計算する必要がある。この場合に、10×10個のサンプルが、図30に表されているように、アクセスされる必要がある。サンプルの一部が異なるビデオユニット(例えば、異なるスライス/タイル/ブリック/サブピクチャ/「360仮想境界」の上又は左又は右又は下/「ALF仮想境界」の上又は下)に位置している場合に、どのように分類を計算すべきかが定義される必要がある。
9.VVC設計では、4つの境界位置(例えば、左垂直/右垂直/上水平/下水平)が識別される。サンプルが4つの境界位置の中に位置している場合に、それは利用可能とマークされる。しかし、VVCでは、スライスは、図28に示されるように、非長方形領域をカバーしている場合がある。これら4つの境界位置をチェックすることによって、それは誤った利用可能性結果をマークすることがある。例えば、図28の青色の位置(左上の点)については、それは、現在のブロック(例えば、赤色の位置(右下の点)をカバーするブロック)とは異なるスライスにあり、loop_filter_across_slices_enabled_flagが偽である(例えば、スライスにわたるサンプルがALFで使用されることを認められない)場合に、「利用不可能」とマークされるべきである。しかし、現在のブロックの左垂直/右垂直/上水平/下水平境界しかチェックしないことで、青色の位置は、「利用可能」と誤ってマークされることになる。
[4.技術及び実施形態の例]
以下の列挙は、一般概念を説明するための例と見なされるべきである。挙げられている技術は、狭い意味で解釈されるべきではない。更に、これらの技術はどのように組み合わされてもよい。
ALF仮想境界に使用されるパディング方法は、「両側パディング」(Two-side Padding)と呼ばれ得る。図12~13に表されているように、(i,j)に位置している1つのサンプルがパディングされる場合に、同じフィルタ係数を共有する、(m,n)に位置している対応するサンプルも、そのサンプルが利用可能であってもパディングされる。
ピクチャ境界/360度ビデオ仮想境界や通常の境界(例えば、上側及び下側の境界)に使用されるパディング方法は、「片側パディング」(One-side Padding)呼ばれ得る。使用されるべき1つのサンプルが境界の外にある場合に、それは、ピクチャ内の利用可能なサンプルからコピーされる。
360度ビデオの左右の境界に使用されるパディング方法は、「ラップベースパディング」(wrapping-base Padding)と呼ばれ得る。使用されるべき1つのサンプルが境界の外にある場合に、それは、動き補償された結果を用いてコピーされる。
以下の説明では、サンプルが「ビデオユニットの境界にある」とは、サンプルとビデオユニットの境界との間の距離が閾値未満又は以下であることを意味し得る。「ライン」は、1つの同じ水平位置にあるサンプル、又は1つの同じ垂直位置にあるサンプルを指し得る(例えば、同じ行内のサンプル及び/又は同じ列内のサンプル)。関数Abs(x)は、次のように定義される:
Figure 0007318120000036
以下の説明では、「仮想サンプル」は、生成されたサンプルを指し、これは、(デブロッキング及び/又はSAOによって処理され得る)再構成されたサンプルとは異なってもよい。仮想サンプルは、他のサンプルに対してALFを行うために使用されてもよい。仮想サンプルは、パディングによって生成されてもよい。
「ALF仮想境界処理方法が1つのブロックに対して有効にされる」とは、仕様内のapplyVirtualBoundaryが真にセットされることを示し得る。「仮想境界を有効にする」とは、現在のブロックが仮想境界によって少なくとも2つの部分に分割され、1つの部分に位置しているサンプルが、フィルタリングプロセス(例えば、ALF)で他の部分のサンプルを利用することを認められない、ことを示し得る。仮想境界は、1つのブロックの下境界の上にあるK個の行であってよい。
以下の説明では、隣接サンプルは、フィルタ分類及び/又はフィルタリングプロセスに必要とされるものであってよい。
本開示において、隣接サンプルは、それが現在のピクチャ、又は現在のサブピクチャ、又は現在のタイル、又は現在のスライス、又は現在のブリック、又は現在のCTU、又は現在の処理ユニット(例えば、ALF処理ユニット若しくは狭ALF処理ユニット)、あるいは、任意の他の現在のビデオユニットの外にある場合に、「利用不可能」である。
1.「現在のコーディングツリーブロックの下境界はピクチャの下境界である」との決定は、「現在のコーディングツリーブロックの下境界はピクチャの下境界であるか又はピクチャの外にある」によって置換される。
a.代替的に、更に、この場合に、ALF仮想境界処理方法は無効にされてもよい。
2.インループフィルタリングプロセスで仮想サンプルの利用を有効にするかどうか(例えば、仮想境界を有効にする(例えば、applyVirtualBoundaryを真又は偽にセットする)かどうか)は、CTBサイズに依存し得る。
a.一例で、applyVirtualBoundaryは、所与のCTU/CTBサイズについて、例えば、K×L(例えば、K=L=4)に等しいCTU/CTBサイズについて、常に偽にセットされる。
b.一例で、applyVirtualBoundaryは、K×L(例えば、K=L=8)以下又はそれよりも小さいCTU/CTBサイズについて、常に偽にセットされる。
c.代替的に、ALFは、4×4、8×8などの特定のCTU/CTBサイズについて、無効にされる。
3.インループフィルタリングプロセス(例えば、ALF)で仮想サンプル(例えば、再構成されたサンプルからパディングされたもの)の利用を有効にすべきかどうかは、ブロックの下境界が、ピクチャ(例えば、スライス/タイル/ブリック)と比べて粒度が細かいビデオユニットの下境界又は仮想境界であるかどうかに依存し得る。
a.一例で、ALF仮想境界処理方法は、CTBの下境界がビデオユニットの境界又は仮想境界である場合に、コーディングツリーブロック(CTB)について有効にされ得る(例えば、applyVirtualBoundaryは真にセットされる)。
i.代替的に、更に、下境界が下側ピクチャ境界でない場合に、又は下境界がピクチャの外にある場合に、上記の方法は有効にされる。
b.現在のコーディングツリーブロックの下境界がピクチャの下側仮想境界の1つであり、pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しい場合に、ALF仮想境界処理方法は依然として有効にされ得る(例えば、applyVirtualBoundaryは真にセットされる)。
c.一例で、CTBに対してALF仮想境界処理方法(applyVirtualBoundaryの値)を有効にすべきかどうかは、CTBの下境界とピクチャの下境界との間の関係にのみ依存し得る。
i.一例で、applyVirtualBoundaryは、CTBの下境界が、CTBを含むピクチャの下境界である場合又は下境界がピクチャの外にある場合にのみ、偽にセットされる。
ii.一例で、applyVirtualBoundaryは、CTBの下境界が、CTBを含むピクチャの下境界ではない場合に、真にセットされる。
d.一例で、図18A~18CのCTU-Cを復号するときに、M×M個のサンプルは、仮想境界の下にあるK個のラインを除いて、上のCTUからのK個のラインを用いて、フィルタリングされ得る。
4.ブリック/スライス境界を横断するループフィルタのための通知された制御利用フラグ(例えば、loop_filter_across_bricks_enabled_flag/loop_filter_across_slices_enabled_flag)が真である場合でさえ、フィルタリングプロセス(例えば、ALF)でブリック/スライス境界にわたるサンプルの利用を無効にすることが提案される。
a.代替的に、更に、通知されたloop_filter_across_bricks_enabled_flag/loop_filter_across_slices_enabled_flagは、ALFを除いた、デブロッキングフィルタ及びSAOのフィルタリングプロセスのみを制御し得る。
b.一例で、仮想サンプルは、他のサンプルに対してALFを行うよう、対応する位置にある再構成されたサンプルの代わりに使用されてもよい。
5.1つのブロック(例えば、CTB)がビデオユニットの境界(例えば、スライス/ブリック/タイル/360度ビデオ仮想又は通常の境界/ピクチャ境界)に位置しているサンプルを含む場合に、ALFなどのインループフィルタリングのためにビデオユニットの内側又は外側で仮想サンプルをどのように生成するか(例えば、パディング方法)は、種々の種類の境界のために統一され得る。
a.代替的に、更に、仮想境界の方法(例えば、両側パディング方法)は、インループフィルタリングのための境界にあるサンプルを処理するためにブロックに適用され得る。
b.代替的に、更に、上記の方法は、ブロックがビデオユニットの下境界に位置しているサンプルを含む場合に適用され得る。
c.一例で、1つのブロックのK個のラインを復号する場合に、K個のラインがブロックの仮想境界の下にあり(例えば、図17A~17BのCTU-Bでの最後のK個のライン)、ブロックの下境界がビデオユニットの下境界であるならば、仮想サンプルは、これらK個のラインの外にある他のサンプルの利用を回避するためにALF分類/フィルタリングプロセスで生成され得る。例えば、両側パディング方法が適用され得る。
i.代替的に、ALFは、それらの最後のK個のラインについて無効にされてもよい。
d.一例で、1つのブロックが複数の境界にある場合に、ALF分類に使用されるピクセル/サンプルは、これら複数の境界のいずれも横断しないように制限され得る。
i.一例で、あるサンプルについて、その特定の隣接サンプルが「利用不可能」である(複数の境界のいずれかを横切る)場合に、1つ又は全ての種類の傾き/方向性がそのサンプルに対して計算され得ない。
1.一例で、サンプルの傾きはゼロとして扱われ得る。
2.一例で、サンプルの傾きは「利用不可能」であるとして扱われてよく、ALF分類プロセスで導出された活動(例えば、セクション2.6.1.1の式(8)で定義される。)に加えられなくてもよい。
ii.一例で、ALF分類プロセスで導出された活動/方向性は、ALF分類プロセスで使用される部分的なサンプルのみが「利用可能」である(例えば、それらの境界のいずれも横切らない)場合に、係数によってスケーリングされ得る。
iii.一例で、境界ブロックについては、傾き/方向性がALF分類プロセスでN個のサンプルに対して計算される必要があり、かつ、傾きがM個のサンプルに対してのみ計算され得る、と仮定して(例えば、サンプルの特定の隣接サンプルが「利用可能」でない場合に、傾きはそれについては計算されなくてもよい。)、活動はN/Mを乗じられ得る。
1.代替的に、それは、N/Mに依存した係数を乗じられてもよい。例えば、数は、M(Nは整数である。)であってもよく、例えば、M=2である。
e.一例で、M×N(例えば、現在の設計ではM=N=8,M列N行)ウィンドウ内の一部のサンプルの傾きが分類のために使用され得る。
i.例えば、現在のN1×N2(現在の設計ではN1=N2=4)ブロックについては、M×Nは、N1×N2ブロックの中心にある。
ii.一例で、いずれかの境界にわたるサンプルにアクセスする必要がないサンプルの傾きが使用され得る。
1.代替的に、更に、1つ又は複数の境界に位置しているサンプルの傾きを計算する場合に、現在のサンプルのいくつかの隣接サンプルが「利用不可能」であるならば、パディング(例えば、片側パディング)が実行され得る。
2.代替的に、更に、上にあるK(例えば、K=1,2)個の利用不可能なラインは、現在のサンプルがビデオユニット(例えば、スライス/ブリック/タイル/360度ビデオ仮想境界又はALF仮想境界)の上境界に位置している場合に、パディングされ得る。
3.代替的に、更に、左にあるK(例えば、K=1,2)個の利用不可能な列は、現在のサンプルがビデオユニットの左境界に位置している場合に、パディングされ得る。
4.代替的に、更に、右にあるK(例えば、K=1,2)個の利用不可能な列は、現在のサンプルがビデオユニットの右境界に位置している場合に、パディングされ得る。
5.代替的に、更に、下にあるK(例えば、K=1,2)個の利用不可能なラインは、現在のサンプルがビデオユニットの下境界に位置している場合に、パディングされ得る。
6.代替的に、更に、現在のサンプルがビデオユニットの上境界及び左境界に位置している場合に、上にあるK1(例えば、K1=1,2)個の利用不可能なラインが、最初に、M×(N+K1)ウィンドウを生成するようパディングされ得、次いで、左にあるK2(例えば、K2=1,2)個の利用不可能な列が、(M+K2)×(N+K1)ウィンドウを生成するようパディングされ得る。
a.代替的に、左にあるK2(例えば、K2=1,2)個の利用不可能な列が、最初に、(M+K2)×Nウィンドウを生成するようパディングされ得、次いで、上にあるK1(例えば、K1=1,2)個の利用不可能なラインが、(M+K2)×(N+K1)ウィンドウを生成するようパディングされ得る。
7.代替的に、更に、現在のサンプルがビデオユニットの上境界及び右境界に位置している場合に、上にあるK1(例えば、K1=1,2)個の利用不可能なラインが、最初に、M×(N+K1)ウィンドウを生成するようパディングされ得、次いで、右にあるK2(例えば、K2=1,2)個の利用不可能な列が、(M+K2)×(N+K1)ウィンドウを生成するようパディングされ得る。
a.代替的に、右にあるK2(例えば、K2=1,2)個の利用不可能な列が、最初に、(M+K2)×Nウィンドウを生成するようパディングされ得、次いで、上にあるK1(例えば、K1=1,2)個の利用不可能なラインが、(M+K2)×(N+K1)ウィンドウを生成するようパディングされ得る。
8.代替的に、更に、現在のサンプルがビデオユニットの下境界及び右境界に位置している場合に、下にあるK1(例えば、K1=1,2)個の利用不可能なラインが、最初に、M×(N+K1)ウィンドウを生成するようパディングされ得、次いで、右にあるK2(例えば、K2=1,2)個の利用不可能な列が、(M+K2)×(N+K1)ウィンドウを生成するようパディングされ得る。
a.代替的に、右にあるK2(例えば、K2=1,2)個の利用不可能な列が、最初に、(M+K2)×Nウィンドウを生成するようパディングされ得、次いで、下にあるK1(例えば、K1=1,2)個の利用不可能なラインが、(M+K2)×(N+K1)ウィンドウを生成するようパディングされ得る。
9.代替的に、更に、現在のサンプルがビデオユニットの下境界及び左境界に位置している場合に、下にあるK1(例えば、K1=1,2)個の利用不可能なラインが、最初に、M×(N+K1)ウィンドウを生成するようパディングされ得、次いで、左にあるK2(例えば、K2=1,2)個の利用不可能な列が、(M+K2)×(N+K1)ウィンドウを生成するようパディングされ得る。
a.代替的に、左にあるK2(例えば、K2=1,2)個の利用不可能な列が、最初に、(M+K2)×Nウィンドウを生成するようパディングされ得、次いで、下にあるK1(例えば、K1=1,2)個の利用不可能なラインが、(M+K2)×(N+K1)ウィンドウを生成するようパディングされ得る。
10.代替的に、更に、パディングされたサンプルは、傾きを計算するために使用されてもよい。
iii.一例で、ビデオユニット(例えば、スライス/ブリック/タイル/360度ビデオ仮想境界又はALF仮想境界)の上/下境界にあるブロックについては、M×(N-C1)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの上/下にあるC1個のラインの傾きは、分類において使用されない。
iv.一例で、ビデオユニットの左/右境界にあるブロックについては、(M-C1)×Nウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの左/右にあるC1個の列の傾きは、分類において使用されない。
v.一例で、ビデオユニットの上境界及び下境界にあるブロックについては、M×(N-C1-C2)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの上にあるC1個のライン及び下にあるC2個のラインの傾きは、分類において使用されない。
vi.一例で、ビデオユニットの上境界及び左境界にあるブロックについては、(M-C1)×(N-C2)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの上にあるC1個のライン及び左にあるC2個の列の傾きは、分類において使用されない。
vii.一例で、ビデオユニットの上境界及び右境界にあるブロックについては、(M-C1)×(N-C2)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの上にあるC1個のライン及び右にあるC2個の列の傾きは、分類において使用されない。
viii.一例で、ビデオユニットの下境界及び左境界にあるブロックについては、(M-C1)×(N-C2)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの下にあるC1個のライン及び左にあるC2個の列の傾きは、分類において使用されない。
ix.一例で、ビデオユニットの下境界及び右境界にあるブロックについては、(M-C1)×(N-C2)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの下にあるC1個のライン及び右にあるC2個の列の傾きは、分類において使用されない。
x.一例で、ビデオユニットの左境界及び右境界にあるブロックについては、(M-C1-C2)×Nウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの左にあるC1個の列及び右にあるC2個の列の傾きは、分類において使用されない。
xi.一例で、ビデオユニットの上境界、下境界及び左境界にあるブロックについては、(M-C3)×(N-C1-C2)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの上にあるC1個のライン、下にあるC2個のライン及び左にあるC3個の列の傾きは、分類において使用されない。
xii.一例で、ビデオユニットの上境界、下境界及び右境界にあるブロックについては、(M-C3)×(N-C1-C2)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの上にあるC1個のライン、下にあるC2個のライン及び右にあるC3個の列の傾きは、分類において使用されない。
xiii.一例で、ビデオユニットの左境界、右境界及び上境界にあるブロックについては、(M-C1-C2)×(N-C3)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの左にあるC1個の列、右にあるC2個の列、及び上にあるC3個のラインの傾きは、分類において使用されない。
xiv.一例で、ビデオユニットの左境界、右境界及び下境界にあるブロックについては、(M-C1-C2)×(N-C3)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの左にあるC1個の列、右にあるC2個の列、及び下にあるC3個のラインの傾きは、分類において使用されない。
xv.一例で、ビデオユニットの左境界、右境界、上境界及び下境界にあるブロックについては、(M-C1-C2)×(N-C3-C4)ウィンドウ内のサンプルの傾きが、ブロックの分類のために使用されてもよい。
1.代替的に、更に、M×Nウィンドウの左にあるC1個の列、右にあるC2個の列、上にあるC3個のライン、及び下にあるC4個のラインの傾きは、分類において使用されない。
xvi.一例で、C1、C2、C3及びC4は2に等しい。
xvii.一例で、傾き計算で必要とされる如何なる「利用不可能」な隣接サンプルを有さないサンプルの傾きが、使用され得る。
f.一例で、1つのラインが複数の境界にある(例えば、ラインと境界との間の距離が閾値に満たない)場合に、パディングプロセスは、それがいくつの境界に属し得るかにかかわらず一度しか実行されない。
i.代替的に、更に、いくつの隣接ラインがパディングされるべきであるかは、全ての境界に対する現在のラインの位置に依存し得る。
ii.例えば、いくつの隣接ラインがパディングされるべきであるかは、例えば、現在のラインが2つの境界内にあり、その2つの境界が上及び下である場合に、現在のラインと2つの境界との間の距離によって決定され得る。
iii.例えば、いくつの隣接ラインがパディングされるべきであるかは、例えば、現在のラインが2つの境界内にあり、その2つの境界が上及び下である場合に、現在のラインと最も近い境界との間の距離によって決定され得る。
iv.例えば、いくつの隣接ラインがパディングされるべきであるかは、境界ごとに独立して計算されてもよく、最大である1つが、最終的にパディングされたライン数として選択される。
v.一例で、いくつの隣接ラインがパディングされるべきであるかは、ラインの各側(例えば、上側及び下側)について決定され得る。
vi.一例で、両側パディング方法については、いくつの隣接ラインがパディングされるべきであるかは、両側に対してまとめて決定され得る。
vii.代替的に、更に、ALFによって使用される両側パディング方法が適用される。
g.一例で、1つのラインが複数の境界にあり、ラインの各側(例えば、上側及び下側)に少なくとも1つの境界がある場合に、ALFはそれに対して無効にされ得る。
h.一例で、現在のラインによって必要とされるパディングされたラインの数が閾値よりも多い場合に、ALFは現在のラインに対して無効にされ得る。
i.一例で、いずれかの側でのパディングされたラインの数が閾値よりも多い場合に、ALFは現在のラインに対して無効にされ得る。
ii.一例で、両側でのパディングされたラインの総数が閾値よりも多い場合に、ALFは現在のラインに対して無効にされ得る。
i.代替的に、更に、上記の方法は、ブロックがビデオユニットの下境界に位置しているサンプルを含み、ALFなどのインループフィルタリングがそのブロックに対して有効にされる場合に、適用され得る。
k.代替的に、更に、上記の方法は、特定の条件の下で、例えば、ブロックがビデオユニットの下境界に位置しているサンプルを含み、境界にわたるフィルタリングが認められない(例えば、pps_loop_filter_across_virtual_boundaries_disabled_flag/loop_filter_across_slices_enabled_flag/loop_filter_across_bricks_enabled_flagが真である)場合に、適用され得る。
j.提案されている方法は、垂直境界に位置しているサンプル/ブロックにも適用可能である。
6.サンプルが1つのブロックの少なくとも2つの境界にある(例えば、現在のラインの上にある少なくとも1つはALF仮想境界であり、下は他の境界である)場合に、パディングされるラインの数は、ALF仮想境界に対する現在のラインの距離によって完全に決定されるわけではない。代わりに、それは、2つの境界に対する現在のラインの距離によって決定される。
a.一例で、サイドごとのパディングのためのラインの数は(M-min(D0,D1))にセットされる。
b.一例で、サイドごとのパディングのためのラインの数は(M-max(D0,D1))にセットされる。
c.上記の例について、D0、D1は、現在のラインと上側/下側境界との間の距離を表す。
d.上記の例について、Mは、ALF仮想境界が1つのCTUの下部からであるラインの数を表す。
7.ALF分類及び/又はALF線形若しくは非線形フィルタリングプロセスでサンプルを選択する少なくとも2つの方法が定義され得る。それらのうちの1つは、いずれかのインループフィルタリング方法が適用される前にサンプルを選択し、他は、1つ又は複数のインループフィルタリング方法が適用された後に、しかしALFが適用される前にサンプルを選択する。
a.一例で、種々の方法の選択は、フィルタリングされるサンプルの位置に依存し得る。
b.一例で、ビデオユニット(例えば、CTB)の下境界にあるサンプルは、それが他のサンプルに対してALFで使用される場合に、第1の方法により選択され得る。さもなれば(それが境界にない場合には)、第2の方法が選択される。
8.フィルタリングプロセスでVPDU境界を横断するサンプル(例えば、64×64領域)の利用を無効にすることが提案される。
a.一例で、ALF分類プロセスによって必要とされるサンプルがVPDU境界の外に、又は仮想境界より下にある場合に、それは仮想サンプルで置換され得るか、あるいは、そのサンプルの分類結果は、利用可能なサンプルからのパディングなど、他のサンプルに関連付けられているものからコピーされ得る。
b.一例で、フィルタリングプロセスによって必要とされるサンプルがVPDU境界の外に、又は仮想境界より下にある場合に、それは、利用可能なサンプルからのパディングなど、仮想サンプルで置換され得る。
c.一例で、ALF仮想境界処理方法は、ブロックがVPDUの境界に位置しているサンプルを含む場合に、そのブロックに対して有効にされる(例えば、applyVirtualBoundaryは真にセットされる。)。
d.代替的に、水平VPDU境界を横断するサンプルの利用は、フィルタリングプロセスで無効にされ得る。
i.一例で、フィルタリングプロセスによって必要とされるサンプルが水平VPDU境界より下に、又は仮想境界より下にある場合に、それは、利用可能なサンプルからのパディングなど、仮想サンプルで置換され得る。
e.代替的に、垂直VPDU境界を横断するサンプルの利用は、フィルタリングプロセスで無効にされ得る。
i.一例で、フィルタリングプロセスによって必要とされるサンプルが垂直VPDU境界の外に、又は仮想境界より下にある場合に、それは、利用可能なサンプルからのパディングなど、仮想サンプルで置換され得る。
9.パディングされたサンプル(例えば、利用不可能ではない、仮想境界の上/下にある、ビデオユニットの境界の上/下にある)をALF分類/フィルタリングプロセスで使用する代わりに、全てのインループフィルタの前の再構成されたサンプルを使用することが提案される。
a.代替的に、更に、両側パディングの概念は、全てのインループフィルタの前の再構成されたサンプルからのサンプルをパディングすることにより、適用される。
i.一例で、フィルタサポートにおけるサンプルが全てのインループフィルタの前の再構成されたサンプルからである場合に、フィルタサポートにおける対称(例えば、原点、例えば、現在のサンプルに関して対称)なサンプルも、全てのインループフィルタの前の再構成されたサンプルを使用すべきである。
1.フィルタリングされるべき現在のサンプルの座標が(0,0)であり、(i,j)に位置しているサンプルが全てのインループフィルタの前の再構成されたサンプルであると仮定して、その場合に、(-i,-j)に位置しているサンプルが、全てのインループフィルタの前の再構成されたサンプルである。
2.フィルタリングされるべき現在のサンプルの座標が(x,y)であり、(x+i,y+j)に位置しているサンプルが全てのインループフィルタの前の再構成されたサンプルであると仮定して、その場合に、(x-i,y-j)に位置しているサンプルが、全てのインループフィルタの前の再構成されたサンプルである。
b.代替的に、更に、インループ再成形(別名、LMCS)が有効にされる場合に、全てのインループフィルタの前の再構成されたサンプルは、再成形された領域から変換された元の領域内のサンプルである。
10.パディングされたサンプル(例えば、利用不可能ではない、仮想境界の上/下にある、ビデオユニットの境界の上/下にある)をALFフィルタリングプロセスで使用する代わりに、異なるALFフィルタサポートを採用することが提案される。
a.一例で、サンプルが上記の方法でパディングされる必要があると仮定して、パディングを実行する代わりに、そのサンプルに関連したフィルタ係数は、ゼロであるようセットされる。
i.この場合に、フィルタサポートは、パディングされる必要があるサンプルを除くことによって、変更される。
ii.代替的に、更に、現在のサンプルを除く他のサンプルに適用されるフィルタ係数は変更されないままであるが、現在のサンプルに適用されるフィルタ係数は、((1<<C_BD)-パディングされる必要がないサンプルに適用される全てのフィルタ係数の和)のように、変更され得る。ここで、C_BDは、はフィルタ係数のビットデプスを示す。
1.図18A~図18Bを例とすると、ラインL及びIをフィルタリングする場合に、現在のサンプルに適用されるフィルタ係数c12は、((1<<C_BD)-2×(c4+c5+c6+c7+c8+c9+c10+c11))であるよう変更される。
b.一例で、サンプル(x1,y1)が上記の方法で(x2,y2)からパディングされると仮定して、パディングを実行する代わりに、非線形フィルタが有効又は無効にされるかどうかにかかわらず、(x1,x2)に関連したフィルタ係数が位置(x2,y2)のそれに加えられる。
i.代替的に、更に、(x2,y2)のクリッピングパラメータは、オン・ザ・フライで導出され得る。
1.一例で、それは、(x2,y2)についての復号されたクリッピングパラメータに等しくセットされ得る。
2.代替的に、それは、より大きい値又はより小さい値といった、(x1,y1)及び(x2,y2)についての復号されたクリッピングパラメータを入力とする関数の戻り値にセットされ得る。
11.クリッピングパラメータ/フィルタ係数/フィルタサポートの選択は、サンプルのフィルタリングがパディングされたサンプル(例えば、利用不可能ではない、仮想境界の上/下にある、ビデオユニットの境界の上/下にある)にアクセスする必要があるかどうかに依存し得る。
a.一例で、異なるクリッピングパラメータ/フィルタ係数/フィルタサポートが、同じクラスインデックスを有しているサンプルに利用され得るが、それらのうちのいくつかについては、パディングされたサンプルにアクセスすることを必要とし、他はそうではない。
b.一例で、パディングされたサンプルにアクセスする必要があるサンプルのフィルタリングのためのクリッピングパラメータ/フィルタ係数/フィルタサポートは、CTU/領域/スライス/タイルレベルで通知され得る。
c.一例で、パディングされたサンプルにアクセスする必要があるサンプルのフィルタリングのためのクリッピングパラメータ/フィルタ係数/フィルタサポートは、パディングされたサンプルにアクセスする必要がないサンプルのフィルタリングのために使用されたものから導出され得る。
i.一例で、ビュレット9a又は9bが適用されてもよい。
12.インループフィルタリング(例えば、ALF)のために境界にあるサンプルを扱う方法は、色成分及び/又は色フォーマットに依存し得る。
a.例えば、「境界にある」との定義は、異なる色成分ごとに異なってもよい。一例で、ルーマサンプルは、それと下境界との間の距離がT1に満たない場合に、下境界にあり、クロマサンプルは、それと下境界との間の距離がT2に満たない場合に、下境界にある。T1及びT2は異なってもよい。
i.一例で、T1及びT2は、色フォーマットが4:4:4でない場合に異なってもよい。
13.1つのCTU/VPDUの下側/上側/左側/右側境界が独立したコーディングによるスライス/タイル/ブリック/サブ領域の境界でもある場合に、複数のパディングプロセスの固定順序が適用される。
a.一例で、第1のステップにおいて、スライス/タイル/ブリックのパディング方法(例えば、片側パディング)が最初に適用される。その後に、ALF仮想境界を扱うためのパディング方法(例えば、両側パディング方法)が、第2のステップの間に更に適用される。この場合に、第1のステップ後のパディングされたサンプルは、利用可能としてマークされ、ALF仮想境界プロセスでいくつのラインがパディングされるべきかを決定するために使用され得る。それらの境界に位置していないCTUを扱うための同じ規則(例えば、図16A~C)が利用される。
14.提案されている方法は、2つのサブピクチャ間の1つ又は複数の境界に適用され得る。
a.提案されている方法を適用する境界は水平境界であってよい。
b.提案されている方法を適用する境界は垂直境界であってよい。
15.上記の提案されている方法は、垂直境界にあるサンプル/ブロックに適用され得る。
16.提案されている方法が「360仮想境界」で適用されるべきかどうか又は/及びどのように適用されるかは、「360仮想境界」の位置に依存し得る。
a.一例で、「360仮想境界」がCTU境界と一致する場合に、提案されている方法は適用され得る。例えば、両側パディングのみが、「360仮想境界」にあるサンプルに対してALFで適用され得る。
b.一例で、「360仮想境界」がCTU境界と一致しない場合に、提案されている方法は適用され得ない。例えば、片側パディングのみが、「360仮想境界」にあるサンプルに対してALFで適用され得る。
c.一例で、「360仮想境界」の位置にかかわらず、「360仮想境界」にあるサンプルに対して、同じパディング方法がALFで適用され得る。
i.例えば、片側パディングが、「360仮想境界」にあるサンプルに対してALFで適用されてよい。
ii.例えば。両側パディングが、「360仮想境界」にあるサンプルに対してALFで適用されてよい。
d.一例で、複数の境界にあるサンプルについて、少なくとも1つの境界が「360仮想境界」であり、「360仮想境界」のうちの少なくとも1つがCTU境界と一致しない場合に、提案されている方法は適用されなくてもよい。
i.例えば、それらの複数の境界のうちのいずれかを横断するサンプルは、片側パディングによってパディングされ得る。
1.代替的に、更に、「仮想境界」がある場合に、両側パディングは、片側パディング後にALFで適用され得る。
e.一例で、2種類の境界の間に位置しているサンプルについては、それらのうちの1つが「360仮想境界」であり、他がそうではない場合に、パディングは、ALFプロセスで一度だけ呼び出される。
i.一例で、ALF仮想境界を扱うパディング方法(例えば、両側パディング方法)が呼び出され得る。
1.代替的に、ピクチャ(又はスライス/タイル/ブリック/サブピクチャ)境界を扱うパディング方法(例えば、片側パディング)が呼び出され得る。
ii.代替的に、2つ又は複数のパディングプロセスが順番に適用され得る。
1.一例で、ピクチャ(又はスライス/タイル/ブリック/サブピクチャ)境界を扱うパディング方法(例えば、片側パディング)が最初に適用されてよく、その後に、ALF仮想境界を扱うパディング方法(例えば、両側パディング方法)が更に呼び出されてもよい。
a.代替的に、更に、最初のパディング後のパディングされたサンプルは、第2のパディングプロセスで利用可能である。
iii.一例で、2種類以上の境界(例えば、スライス境界/タイル境界/ブリック境界/「360仮想境界」/「ALF仮想境界」/サブピクチャ境界)の間に位置しているサンプルについては、境界のうちのただ1つのみが「360仮想境界」であり(図24に示されるように、例えば、第1の境界が「360仮想境界」であり、第2の境界が「ALF仮想境界」又はスライス/ブリック/タイル境界/サブピクチャ境界であり、あるいは、その逆である)場合に、提案されている方法が適用され得る。例えば、両側パディングのみが、それらのサンプルに対してALFで適用され得る。
1.代替的に、これらの複数の種類の境界が「360仮想境界」又はピクチャ境界のどちらかである場合に、提案されている方法は適用されなくてもよい。例えば、片側パディングのみが、それらのサンプルに対してALFで適用され得る。
f.一例で、2種類以上の境界の間に位置しているサンプルについて、境界のうちの少なくとも1つが「360仮想境界」であり、それがCTU境界と一致しない場合に、提案されている方法は適用されなくてもよい。
i.この場合に、それは、「360仮想境界」でのみ、サンプルを扱う従来技術として扱われ得るが、他の種類の境界ではそうではない。
ii.一例で、片側パディングのみが、それらのサンプルに対してALFで適用され得る。
g.一例で、2種類以上の境界の間に位置しているサンプルについて、境界のうちの少なくとも1つが「360仮想境界」である場合に、提案されている方法は適用されなくてもよい。
i.この場合に、それは、「360仮想境界」でのみ、サンプルを扱う従来技術として扱われ得るが、他の種類の境界ではそうではない。
ii.一例で、片側パディングのみが、それらのサンプルに対してALFで適用され得る。
17.ALFフィルタリングプロセス(例えば、図16Cで、現在のサンプルP0をフィルタリングする場合に、iがA/B/C/Dであるとして、P0i)又は/及びALF分類プロセスで必要とされる参照ピクチャが、例えば、サンプルが現在のサンプルとは異なるビデオユニット(例えば、スライス/ブリック/タイル/サブピクチャ)に位置しており、ビデオユニット(例えば、スライス/ブリック/タイル/サブピクチャ境界)を横断するサンプルを使用したフィルタリングが許されないことにより、「利用不可能」である場合に、「利用不可能」なサンプルは、「利用可能」なサンプル(例えば、現在のサンプルと同じスライス/ブリック/タイル/サブピクチャ内のサンプル)でパディングされ得る。
a.一例で、「利用不可能」な参照サンプルは、その最も近い「利用可能」な水平位置に最初にクリップされてよく、それから、「利用不可能」な参照サンプルは、必要に応じて、その最も近い「利用可能」な垂直位置にクリップされる。
b.一例で、「利用不可能」な参照サンプルは、その最も近い「利用可能」な垂直位置に最初にクリップされてよく、それから、「利用不可能」な参照サンプルは、必要に応じて、その最も近い「利用可能」な水平位置にクリップされる。
c.一例で、「利用不可能」な参照サンプルの座標は、水平方向においてその最も近い「利用可能」なサンプル(例えば、最も小さい距離)の座標にクリップされる。
i.一例で、座標(x1,y1)及び(x2,y2)の2つのサンプルについては、それらの間の水平距離がAbs(x1-x2)と計算され得る。
d.一例で、「利用不可能」な参照サンプルの座標は、垂直方向においてその最も近い「利用可能」なサンプル(例えば、最も小さい距離)の座標にクリップされる。
i.一例で、座標(x1,y1)及び(x2,y2)の2つのサンプルについては、それらの間の垂直距離がAbs(y1-y2)と計算され得る。
e.一例で、「利用不可能」なサンプルは、その最も近い「利用可能」なサンプル(例えば、最小距離)にクリップされる。
i.一例で、座標(x1,y1)及び(x2,y2)の2つのサンプルについては、それらの間の距離が(x1-x2)×(x1-x2)+(y1-y2)×(y1-y2)と計算され得る。
ii.代替的に、2つのピクセル間の距離は、Abs(x1-x2)+Abs(y1-y2)と計算され得る。
f.一例で、「利用不可能」なサンプルは、「利用可能」なサンプルが見つけられるまで、予め定義された順序でパディングされてよい。例は図31に示されており、Curは現在のブロック/CU/PU/CTUである。
i.例えば、垂直方向の「利用可能」なサンプルが最初にチェックされ得、それから、水平方向の「利用可能」なサンプルがチェックされ得る。
ii.例えば、水平方向の「利用可能」なサンプルが最初にチェックされ得、それから、垂直方向の「利用可能」なサンプルがチェックされ得る。
iii.例えば、「利用不可能」な左上隣接サンプル(例えば、領域「1」内にある。)について、最初に、現在のブロック/CU/PU/CTUの左隣接サンプル(例えば、領域「4」内にある。)がチェックされ、「利用可能」なサンプルがない場合には、次いで、上隣接サンプル(例えば、領域「2」内にある。)がチェックされる。左隣接サンプルにも上隣接サンプルにも「利用可能」なサンプルがない場合には、現在のブロック/CU/PU/CTUの左上サンプルが、「利用不可能」なサンプルをパディングするために使用される。
1.代替的に、「利用不可能」な左上隣接サンプルについて、最初に、現在のブロック/CU/PU/CTUの上隣接サンプルがチェックされ、「利用可能」なサンプルがない場合には、次いで、左隣接サンプルがチェックされる。上隣接サンプルにも左隣接サンプルにも「利用可能」なサンプルがない場合には、現在のブロック/CU/PU/CTUの左上サンプルが、「利用不可能」なサンプルをパディングするために使用される。
iv.例えば、「利用不可能」な右上隣接サンプル(例えば、領域「3」内にある。)について、最初に、現在のブロック/CU/PU/CTUの右隣接サンプル(例えば、領域「5」内にある。)がチェックされ、「利用可能」なサンプルがない場合には、次いで、上隣接サンプル(例えば、領域「2」内にある。)がチェックされる。右隣接サンプルにも上隣接サンプルにも「利用可能」なサンプルがない場合には、現在のブロック/CU/PU/CTUの右上サンプルが、「利用不可能」なサンプルをパディングするために使用される。
1.代替的に、「利用不可能」な右上隣接サンプルについて、最初に、現在のブロック/CU/PU/CTUの上隣接サンプルがチェックされ、「利用可能」なサンプルがない場合には、次いで、右隣接サンプルがチェックされる。上隣接サンプルにも右隣接サンプルにも「利用可能」なサンプルがない場合には、現在のブロック/CU/PU/CTUの右上サンプルが、「利用不可能」なサンプルをパディングするために使用される。
v.例えば、「利用不可能」な左下隣接サンプル(例えば、領域「6」内にある。)について、最初に、現在のブロック/CU/PU/CTUの左隣接サンプル(例えば、領域「4」内にある。)がチェックされ、「利用可能」なサンプルがない場合には、次いで、下隣接サンプル(例えば、領域「7」内にある。)がチェックされる。左隣接サンプルにも下隣接サンプルにも「利用可能」なサンプルがない場合には、現在のブロック/CU/PU/CTUの左下サンプルが、「利用不可能」なサンプルをパディングするために使用される。
1.代替的に、「利用不可能」な左下隣接サンプルについて、最初に、現在のブロック/CU/PU/CTUの下隣接サンプルがチェックされ、「利用可能」なサンプルがない場合には、次いで、左隣接サンプルがチェックされる。下隣接サンプルにも左隣接サンプルにも「利用可能」なサンプルがない場合には、現在のブロック/CU/PU/CTUの左下サンプルが、「利用不可能」なサンプルをパディングするために使用される。
vi.例えば、「利用不可能」な右下隣接サンプルについて、最初に、現在のブロック/CU/PU/CTUの右隣接サンプル(例えば、領域「5」内にある。)がチェックされ、「利用可能」なサンプルがない場合には、次いで、下隣接サンプル(例えば、領域「7」内にある。)がチェックされる。右隣接サンプルにも下隣接サンプルにも「利用可能」なサンプルがない場合には、現在のブロック/CU/PU/CTUの右下サンプルが、「利用不可能」なサンプルをパディングするために使用される。
1.代替的に、「利用不可能」な右下隣接サンプルについて、最初に、現在のブロック/CU/PU/CTUの下隣接サンプルがチェックされ、「利用可能」なサンプルがない場合には、次いで、右隣接サンプルがチェックされる。下隣接サンプルにも右隣接サンプルにも「利用可能」なサンプルがない場合には、現在のブロック/CU/PU/CTUの右下サンプルが、「利用不可能」なサンプルをパディングするために使用される。
vii.一例で、各隣接領域について、1つ又は複数のサンプルが順番にチェックされてよい。代替的に、1つしかチェックされなくてもよい。
viii.代替的に、更に、どのチェックも利用可能なサンプルを見つけられなかった場合には、フィルタリングされるべき現在のサンプルの値が代わりに使用されてもよい。
ix.一例で、「利用不可能」な左上/右上/左下/右下隣接サンプルについて、それは常に、現在のブロック/CU/PU/CTU内のサンプルによってパディングされてよい。
1.一例で、「利用不可能」な左上隣接サンプル(例えば、図31の「領域1」内にある。)について、現在のブロック/CU/PU/CTUの左上サンプルが、「利用不可能」なサンプルをパディングするために使用される。
2.一例で、「利用不可能」な右上隣接サンプル(例えば、図31の「領域3」内にある。)について、現在のブロック/CU/PU/CTUの右上サンプルが、「利用不可能」なサンプルをパディングするために使用される。
3.一例で、「利用不可能」な左下隣接サンプル(例えば、図31の「領域1」内にある。)について、現在のブロック/CU/PU/CTUの左下サンプルが、「利用不可能」なサンプルをパディングするために使用される。
4.一例で、「利用不可能」な右下隣接サンプル(例えば、図31の「領域1」内にある。)について、現在のブロック/CU/PU/CTUの右下サンプルが、「利用不可能」なサンプルをパディングするために使用される。
g.代替的に、フィルタリングプロセスは、現在のサンプルについて無効にされる。
h.代替的に、ALFでの分類プロセス(例えば、現在のサンプルについての傾き計算)は、利用不可能な参照サンプルを使用することを認められない。
18.利用不可能な参照サンプルのパディングされたサンプルを導出する方法は、CTUがいずれかの境界と一致するかどうかに依存し得る。
a.一例で、現在のCTUが如何なる種類の境界とも一致しないが、現在のサンプルに対するフィルタリングプロセス(例えば、ALF分類/ALFフィルタリングプロセス)が、異なるビデオユニット(例えば、スライス)内の参照サンプルにアクセスする必要がある場合に、ビュレット16で記載されている方法が適用され得る。
i.代替的に、更に、現在のCTUが如何なる種類の境界とも一致しないが、現在のサンプルに対するフィルタリングプロセス(例えば、ALF分類/ALFフィルタリングプロセス)が、異なるビデオユニット(例えば、スライス)内の参照サンプルにアクセスする必要があり、スライス境界を横断するフィルタリングが許されない場合に、ビュレット16で記載されている方法が適用され得る。
ii.代替的に、更に、現在のCTUが如何なる種類の境界とも一致しないが、現在のサンプルに対するフィルタリングプロセス(例えば、ALF分類/ALFフィルタリングプロセス)が、異なるビデオユニット(例えば、スライス)内の参照サンプル及び同じビデオユニット内の参照サンプルにアクセスする必要があり、スライス境界を横断するフィルタリングが許されない場合に、ビュレット16で記載されている方法が適用され得る。
b.一例で、現在のCTUが少なくとも1種類の境界と一致する場合に、統一されたパディング方法が適用され得る(例えば、両側又は片側パディング)。
i.代替的に、現在のCTUが複数の種類の境界と一致し、それらの境界を横断するフィルタリングが許されない場合に、統一されたパディング方法が適用され得る(例えば、両側又は片側パディング)。
c.一例で、両側パディング又は/及び片側パディングによってパディングされ得ない「利用不可能」なサンプルのみが、ビュレット16で記載されている方法を用いてパディングされ得る。
19.フィルタリングプロセス(例えば、デブロッキング、SAO、ALF、バイラテラルフィルタリング、アダマール変換フィルタリングなど)がビデオユニットの境界(例えば、スライス/ブリック/タイル/サブピクチャ境界)にわたるサンプルにアクセスすることができるかどうかは、シーケンス/ピクチャ内の全てのビデオユニットについて制御されるのではなく、それ自体によって制御されるように、異なるレベルで制御され得る。
a.代替的に、1つのシンタックス要素は、スライスについて、フィルタリングプロセスがそのスライスのスライス境界をまたぐことができるかどうかを示すようPPC/スライスヘッダで通知され得る。
b.代替的に、1つのシンタックス要素は、ブリック/タイルについて、フィルタリングプロセスがそのブリック/タイルのブリック/タイル境界をまたぐことができるかどうかを示すようPPCで通知され得る。
c.一例で、シンタックス要素は、フィルタリングプロセスがビデオ/ピクチャのブリック境界又は/及びタイル境界又は/及びスライス境界又は/及び「360度仮想境界」をまたぐことができるかどうかを示すようSPS/PPSで通知され得る。
i.一例で、別個のシンタックス要素が、異なる種類の境界ごとに通知されてもよい。
ii.一例で、1つのシンタックス要素が、全ての種類の境界について通知されてもよい。
iii.一例で、1つのシンタックス要素が、いくつかの種類の境界について通知されてもよい。
1.例えば、1つのシンタックス要素が、ブリック境界及びタイル境界の両方について通知され得る。
d.一例で、シンタックス要素は、フィルタリングプロセスに関するPPC/スライスレベル指示があるかどうかを示すようSPSで通知され得る。
i.一例で、別個のシンタックス要素が、異なる種類の境界ごとに通知されてもよい。
ii.一例で、1つのシンタックス要素が、全ての種類の境界について通知されてもよい。
iii.一例で、1つのシンタックス要素が、いくつかの種類の境界について通知されてもよい。
1.例えば、1つのシンタックス要素が、ブリック境界及びタイル境界の両方について通知され得る。
iv.フィルタリングプロセスがスライス/ブリック/タイル/サブピクチャ境界をまたぐことができるかどうかに関する指示は、SPS内の対応するシンタックス要素が特定の値に等しい場合にのみ、PPS/スライスヘッダで通知され得る。
1.代替的に、フィルタリングプロセスがスライス/ブリック/タイル/サブピクチャ境界をまたぐことができるかどうかに関する指示は、SPS内の対応するシンタックス要素が特定の値に等しい場合に、PPS/スライスヘッダで通知されなくてもよい。
a.この場合に、フィルタリングプロセスは、SPS内の指示が特定の値に等しい場合に、スライス/ブリック/タイル/サブピクチャ境界をまたぐことを許されない。
b.この場合に、フィルタリングプロセスは、SPS内の指示が特定の値に等しい場合に、スライス/ブリック/タイル/サブピクチャ境界をまたいでもよい。
20.現在のブロックの左上/右上/左下/右下隣接領域に位置しているサンプルがALFプロセスにおける現在のブロックと同じビデオユニット(例えば、スライス/ブリック/タイル/サブピクチャ/360度ビデオ仮想境界)にあるかどうかをチェックすることが提案される。現在のピクチャの左上サンプルに対する現在のルーマコーディングツリーブロックの左上サンプルを(x0,y0)で表し、ctbXSize及びctbYSizeを夫々、CTUの幅及び高さとして表す。
a.一例で、左上領域に位置している代表サンプル、例えば、(x0-offsetX0,y0-offsetY0)がチェックされ得る。
i.一例で、(offsetX0,offsetY0)は(1,1)、(2,1)又は(1,2)に等しくてもよい。
b.一例で、右上領域に位置している代表サンプル、例えば、(x0+offsetX1,y0-offsetY1)がチェックされ得る。
i.一例で、(offsetX1,offsetY1)は(ctbXSize,1)、(ctbXSize+1,1)又は(ctbXSize,2)に等しくてもよい。
c.一例で、左下領域に位置している代表サンプル、例えば、(x0-offsetX2,y0+offsetY2)がチェックされ得る。
i.一例で、(offsetX2,offsetY2)は(1,ctbYSize)、(2,ctbYSize)又は(1,ctbYSize+1)に等しくてもよい。
d.一例で、右下領域に位置している代表サンプル、例えば、(x0+offsetX3,y0+offsetY3)がチェックされ得る。
i.一例で、(offsetX3,offsetY3)は(ctbXSize,ctbYSize)、(ctbXSize+1,ctbYSize)又は(ctbXSize,ctbYSize+1)に等しくてもよい。
e.一例で、ある領域内の代表サンプルが異なるビデオユニットにあり、異なるビデオユニットを横断するフィルタリングが許されない場合に、その領域内でアクセスされるサンプルは、利用不可能とマークされる。
i.一例で、ある領域内の代表サンプルが異なるビデオユニットにあり、loop_filter_across_slices_enabled_flagが0に等しい場合に、その領域内でアクセスされるサンプルは、利用不可能とマークされる。
ii.一例で、ある領域内の代表サンプルが異なるビデオユニットにあり、loop_filter_across_bricks_enabled_flagが0に等しい場合に、その領域内でアクセスされるサンプルは、利用不可能とマークされる。
iii.一例で、ある領域内の代表サンプルが異なるビデオユニットにあり、loop_filter_across_subpic_enabled_flag[SubPicIdx]が0に等しい場合に、その領域内でアクセスされるサンプルは、利用不可能とマークされる。一例で、SubPicIdxは、現在のブロックを含む現在のサブピクチャのインデックスである。
f.上記の例で、offsetXi/offsetYi(iは0,・・・,3である。)は整数である。
i.代替的に、更に、offsetXi/offsetYi(iは0,・・・,3である。)は、CTUの幅/高さに等しくセットされてもよい。
21.上記の提案されている方法は、ALFにのみならず、現在のブロックの外にあるサンプルにアクセスする必要がある他の種類のフィルタリング方法にも適用されてよい。
a.代替的に、上記の提案されている方法は、現在のブロックの外にあるサンプルにアクセスする必要がある他のコーディングツール(非フィルタリング方法)に適用されてもよい。
22.上記の方法を適用すべきかどうか及び/又はどのように適用すべきかは、次によって決定されてよい:
a.DPS/SPS/VPS/PPS/APS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/最大コーディングユニット(LCU)/コーディングユニット(CU)/LCU行/LCUのグループ/TU/PUブロック/ビデオコーディングユニットで通知されたメッセージ
b.CU/PU/TU/ブロック/ビデオコーディングユニットの位置
c.現在のブロック及び/又はその隣接ブロックのブロック寸法
d.現在のブロック及び/又はその隣接ブロックのブロック寸法のブロック形状
e.現在のブロック及び/又はその隣接ブロックのコーディングされた情報
f.色フォーマット(例えば、4:2:0、4:4:4)の指示
g.コーディングツリー構造
h.スライス/タイルグループタイプ及び/又はピクチャタイプ
i.色成分(例えば、クロマ成分又はルーマ成分に対してのみ適用されてもよい。)
j.時間レイヤID
k.標準規格のプロファイル/レベル/ティア
[5.実施形態]
以下のセクションでは、開示されている技術のいくつかの実施形態に適合するようにVVC標準規格の現在のバージョンがどのように変更されているかのいくつかの例が、記載されている。新たに加えられた部分は、太字イタリック体の下線付きテキストで示されている。削除された部分は。二重括弧[[]]を用いて示されている。
[5.1 実施形態#1]
Figure 0007318120000037
[5.2 実施形態#2]
図21は、ピクチャ内のCTUの処理を示す。図19と比較した相違点は、破線で強調表示されている。
[5.3 実施形態#3]
Figure 0007318120000038
Figure 0007318120000039
Figure 0007318120000040
代替的に、「現在のコーディングツリーブロックの下境界はピクチャの下境界である」との条件は、「現在のコーディングツリーブロックの下境界はピクチャの下境界であるか、又はピクチャの外にある」で置換され得る。
[5.4 実施形態#4]
この実施形態は、(セクション4のビュレット7に対応する)ALF分類プロセスでVPDUより下のサンプルを使用することを認めない例を示す。
Figure 0007318120000041
Figure 0007318120000042
Figure 0007318120000043
[5.5 実施形態#5]
複数の種類の境界(例えば、スライス/ブリック境界、360度仮想境界)に位置するサンプルについては、パディングプロセスは一度しか呼び出されない。また、サイドごとにいくつのラインがパディングされるべきかは、境界に対する現在のサンプルの位置に依存する。
一例で、ALF両側パディング方法が適用される。代替的に、更には、対称な両側パディング方法では、サンプルが2つの境界にあり、例えば、1つの境界は上側にあり、1つの境界が下側にある場合に、いくつのサンプルがパディングされるかは、図27に示されるように、近い方の境界によって決定される。一方で、分類情報を導出する場合に、図27では、2つの境界の間の4つのラインしか使用されない。
図26は、サンプルの4つのラインが2つの境界に含まれる場合のパディング方法の例を示す。一例で、図26の第1の境界は、ALF仮想境界であってよく、図25の第2の境界は、スライス/タイル/ブリック境界又は360度仮想境界であってよい。
[5.6 実施形態#6]
Figure 0007318120000044
Figure 0007318120000045
Figure 0007318120000046
Figure 0007318120000047
Figure 0007318120000048
Figure 0007318120000049
Figure 0007318120000050
Figure 0007318120000051
Figure 0007318120000052
Figure 0007318120000053
[5.7 実施形態#7]
CTUについては、それが如何なる境界(例えば、ピクチャ/スライス/タイル/ブリック/サブピクチャ境界)とも一致しない可能性がある。しかし、それは現在のユニット(例えば、ピクチャ/スライス/タイル/ブリック/サブピクチャ)の外のサンプルにアクセスする必要があり得る。スライス境界を横断するフィルタリングが無効にされる(例えば、loop_filter_across_slices_enabled_flagが偽である)場合には、現在のユニットの外のサンプルをパディングする必要がある。
例えば、図28のサンプル2801(ルーマサンプルを例とする。)については、ALFフィルタリングプロセスで使用されたサンプルが、図29で見られるようにパディングされ得る。
[5.8 実施形態#8]
この実施形態では、次の主な考えが適用される。
●ALF仮想境界の有効化に関して
ピクチャ内の最後のCUT行に位置していないCTUについて(例えば、CTUの下境界はピクチャの下境界でなく、ピクチャの下境界を越えない。)、ALF仮想境界は有効にされる。つまり、1つのCTUは2つ以上の部分に分割されてよく、1つの部分にあるサンプルは、他の部分にあるサンプルを使用することを許されない。
ピクチャ内の最後のCUT行に位置しているCTUについて(例えば、CTUの下境界はピクチャの下境界であるか、あるいは、ピクチャの下境界を越える。)、ALF仮想境界は有効にされる。つまり、1つのCTUは2つ以上の部分に分割されてよく、1つの部分にあるサンプルは、他の部分にあるサンプルを使用することを許されない。
●分類プロセスにおける境界(ALF仮想境界、スライス/タイル/ブリック/サブピクチャ境界、「360仮想境界」を含む。)のパディングに関して
1つ(又は複数種類)の境界にあるサンプルについて、その境界にわたる隣接サンプルが使用されることを許されない場合には、片側パディングが、そのような隣接サンプルをパディングするために実行される。
●ALFフィルタリングプロセスにおける境界(ALF仮想境界、スライス/タイル/ブリック/サブピクチャ境界、「360仮想境界」を含む。)のパディングに関して
CTU境界と一致するスライス/タイル/ブリック/サブピクチャ境界又は「360仮想境界」である1つ(又は複数種類)の境界にあるサンプルについて、その境界にわたる隣接サンプルが使用されることを許されない場合には、両側パディングが、そのような隣接サンプルをパディングするために実行される。
CTU境界と一致しないピクチャ境界又は「360仮想境界」である1つ(又は複数種類)の境界にあるサンプルについて、その境界にわたる隣接サンプルが使用されることを許されない場合には、片側パディングが、そのような隣接サンプルをパディングするために実行される。
Figure 0007318120000054
Figure 0007318120000055
Figure 0007318120000056
Figure 0007318120000057
Figure 0007318120000058
Figure 0007318120000059
Figure 0007318120000060
Figure 0007318120000061
Figure 0007318120000062
Figure 0007318120000063
Figure 0007318120000064
Figure 0007318120000065
Figure 0007318120000066
Figure 0007318120000067
Figure 0007318120000068
上記の実施形態で使用される固有値-128は、-Kなどの他の値で置換されてもよく、例えば、Kは、CTUの下側境界からシフトされた数よりも大きいか又はそれ以上である(例えば、K=-5)。
代替的に、「PpsVirtualBoundariesPosY[n]がpic_height_in_luma_samples-1又は0に等しくない」との条件付きチェックは、PpsVirtualBoundariesPosY[n]が1以上Ceil(pic_height_in_luma_samples÷8)-1以下の範囲内にあることに基づき、更に除外され得る。
代替的に、各サンプルが、それがビデオユニット境界に位置している場合に、異なる方法で処理される必要があるかどうかをマークするために、1つのフラグが使用されてもよい。
[5.9 実施形態#9]
この実施形態では、次の主な考えが適用される。
●ALF仮想境界の有効化に関して
ピクチャ内の最後のCUT行に位置していないCTUについて(例えば、CTUの下境界はピクチャの下境界でなく、ピクチャの下境界を越えない。)、ALF仮想境界は有効にされる。つまり、1つのCTUは2つ以上の部分に分割されてよく、1つの部分にあるサンプルは、他の部分にあるサンプルを使用することを許されない。
ピクチャ内の最後のCUT行に位置しているCTUについて(例えば、CTUの下境界はピクチャの下境界であるか、あるいは、ピクチャの下境界を越える。)、ALF仮想境界は有効にされる。つまり、1つのCTUは2つ以上の部分に分割されてよく、1つの部分にあるサンプルは、他の部分にあるサンプルを使用することを許されない。
●分類プロセスにおける境界(ALF仮想境界、スライス/タイル/ブリック/サブピクチャ境界、「360仮想境界」を含む。)のパディングに関して
1つ(又は複数種類)の境界にあるサンプルについて、その境界にわたる隣接サンプルが使用されることを許されない場合には、片側パディングが、そのような隣接サンプルをパディングするために実行される。
●ALFフィルタリングプロセスにおける境界(ALF仮想境界、スライス/タイル/ブリック/サブピクチャ境界、「360仮想境界」を含む。)のパディングに関して
CTU境界と一致するスライス/タイル/ブリック/サブピクチャ境界又は「360仮想境界」である1つ(又は複数種類)の境界にあるサンプルについて、その境界にわたる隣接サンプルが使用されることを許されない場合には、両側パディングが、そのような隣接サンプルをパディングするために実行される。
CTU境界と一致しないピクチャ境界又は「360仮想境界」である1つ(又は複数種類)の境界にあるサンプルについて、その境界にわたる隣接サンプルが使用されることを許されない場合には、片側パディングが、そのような隣接サンプルをパディングするために実行される。
Figure 0007318120000069
Figure 0007318120000070
Figure 0007318120000071
Figure 0007318120000072
Figure 0007318120000073
Figure 0007318120000074
Figure 0007318120000075
Figure 0007318120000076
Figure 0007318120000077
Figure 0007318120000078
Figure 0007318120000079
Figure 0007318120000080
Figure 0007318120000081
Figure 0007318120000082
上記の実施形態で使用される固有値-128は、-Kなどの他の値で置換されてもよく、例えば、Kは、CTUの下側境界からシフトされた数よりも大きいか又はそれ以上である(例えば、K=-5)。
代替的に、各サンプルが、それがビデオユニット境界に位置している場合に、異なる方法で処理される必要があるかどうかをマークするために、1つのフラグが使用されてもよい。
[5.10 実施形態#10]
Figure 0007318120000083
Figure 0007318120000084
Figure 0007318120000085
Figure 0007318120000086
Figure 0007318120000087
Figure 0007318120000088
Figure 0007318120000089
Figure 0007318120000090
Figure 0007318120000091
Figure 0007318120000092
図22は、ビデオ処理装置2200のブロック図である。装置2200は、本明細書で記載されている方法の1つ以上を実装するために使用され得る。装置2200は、スマートフォン、タブレット、コンピュータ、インターネット・オブ・シングス(IoT)レシーバ、などで具現されてもよい。装置2200は、1つ以上のプロセッサ2202、1つ以上のメモリ2204、及びビデオ処理ハードウェア2206を含み得る。プロセッサ2202は、本明細書で記載される1つ以上の方法を実装するよう構成され得る。メモリ(複数のメモリ)2204は、本明細書で記載される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用され得る。ビデオ処理ハードウェア2206は、ハードウェア回路において、本明細書で記載されるいくつかの技術を実装するために使用され得る。いくつかの実施形態において、ビデオ処理ハードウェア2206は、プロセッサ2202(例えば、グラフィクス処理ユニット)に内蔵されてもよく、あるいは、部分的に内蔵されてもよい。
いくつかの実施形態において、ビデオコーディング方法は、図22に関連して記載されたハードウェアプラットフォームで実装される装置を用いて実装されてもよい。
図23は、ビデオ処理の例示的な方法2300のフローチャートである。方法は、ビデオの現在のビデオブロックと現在のビデオブロックのビットストリーム表現との間の変換のために、その変換中に使用する1つ以上の補間フィルタを決定すること(2302)であって、1つ以上の補間フィルタはビデオのための複数の補間フィルタからである、決定することと、1つ以上の補間フィルタを用いて変換を実行すること(2304)とを含む。
本明細書で記載される様々な解決法及び実施形態は、解決法のリストを用いて更に記載される。
セクション4,項目1は、次の解決法の更なる例を提供する。
解決法1.ビデオ処理の方法であって、
ビデオピクチャのビデオブロックとそのビットストリーム表現との間の変換を実行するステップを有し、
前記ビデオブロックは、コーディングツリーブロックの論理的グルーピングを用いて処理され、前記コーディングツリーブロックは、下端コーディングツリーブロックの下境界がビデオピクチャの下境界の外にあるかどうかに基づき処理される、
方法。
解決法2.解決法1の方法であって、
前記コーディングツリーブロックを処理することは、前記コーディングツリーブロック内のサンプルを使用することによって前記コーディングツリーブロックのサンプル値の適応ループフィルタリングを実行することを含む、
方法。
解決法3.解決法1の方法であって、
前記コーディングツリーブロックを処理することは、仮想境界に従って前記コーディングツリーブロックを2つの部分に分けることを無効化することによって、前記コーディングツリーブロックのサンプル値の適応ループフィルタリングを実行することを含む、
方法。
セクション4,項目2は、次の解決法の更なる例を提供する。
解決法4.ビデオ処理の方法であって、
現在のビデオブロックのコーディングツリーブロックの条件に基づいて、インループフィルタリング中に仮想サンプルの使用状態を決定するステップと、
前記仮想サンプルの使用状態に従って前記ビデオブロックと該ビデオブロックのビットストリーム表現との間の変換を実行するステップと
を含む方法。
解決法5.解決法4の方法であって、
前記使用状態の論理的な真値は、前記現在のビデオブロックが仮想境界によって少なくとも2つの部分に分けられ、1つの部分内のサンプルをフィルタリングすることは、他の部分からの情報を利用することを許されない、ことを示す、
方法。
解決法6.解決法4の方法であって、
前記使用状態の論理的な真値は、前記インループフィルタリング中に使用され、
前記インループフィルタリングは、前記現在のビデオブロックの再構成されたサンプルの変更された値を用いて実行される、
方法。
解決法7.解決法4の方法であって、
前記使用状態の論理的な偽値は、前記ブロック内のサンプルをフィルタリングすることが同じブロック内の情報を利用することを許される、ことを示す、
方法。
解決法8.解決法4の方法であって、
前記使用状態の論理的な真値は、前記インループフィルタリングが、前記現在のビデオブロックの再構成されたサンプルに対して、該再構成されたサンプルを更に変更せずに実行される、ことを示す、
方法。
請求項9.解決法4乃至8のいずれかの方法であって、
前記条件は、前記コーディングツリーブロックが特定のサイズを有していることにより、前記使用状態を論理的な偽値にセットすることを指定する、
方法。
請求項10.解決法4乃至8のいずれかの方法であって、
前記条件は、前記コーディングツリーブロックが特定のサイズよりも大きいサイズを有していることにより、前記使用状態を論理的な偽値にセットすることを指定する、
方法。
解決法11.解決法4乃至8のいずれかの方法であって、
前記コーディングツリーブロックは特定のサイズよりも小さいサイズを有している、
方法。
セクション4,項目3は、次の解決法の更なる例を提供する。
解決法12.解決法5の方法であって、
前記条件は、前記現在のビデオブロックの下境界が、ビデオピクチャよりも小さいビデオユニットの下境界であるか、あるいは、前記現在のビデオブロックの下境界が仮想境界であるか、に依存する、
方法。
解決法13.解決法12の方法であって、
前記条件は、前記現在のビデオブロックの下境界がスライス又はタイル又はブリック境界の下境界であるかどうか、に依存する、
方法。
解決法14.解決法12の方法であって、
前記条件は、前記現在のビデオブロックの下境界がスライス又はタイル又はブリック境界の下境界である場合に、前記使用状態を論理的な真値にセットすることを指定する、
方法。
解決法15.解決法4乃至12の方法であって、
前記条件は、前記現在のビデオブロックの下境界がピクチャ境界の下境界であるか、あるいは、ピクチャ境界の下境界の外側である場合に、前記使用状態を論理的な偽値にセットすることを指定する、
方法。
セクション4,項目4は、次の解決法の更なる例を提供する。
解決法16.ビデオ処理の方法であって、
1つ以上のビデオスライス又はビデオブリックに論理的にグループ分けされるビデオピクチャと、該ビデオピクチャのビットストリーム表現との間の変換中に、適応ループフィルタプロセスにおける他のスライス又はブリック内のサンプルの使用を無効にすると決定するステップと、
前記決定に従って前記変換を実行するステップと
を含む方法。
セクション4,項目5は、次の解決法の更なる例を提供する。
解決法17.ビデオ処理の方法であって、
ビデオピクチャの現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に、前記現在のビデオブロックが前記ビデオピクチャのビデオユニットの境界に位置しているサンプルを含むことを決定するステップと、
前記決定に基づいて前記変換を実行するステップと
を含み、
前記変換を実行するステップは、前記ビデオピクチャ内の全ての境界タイプについて同じである統一手法を用いてインループフィルタリングのための仮想サンプルを生成することを含む、
方法。
解決法18.解決法17の方法であって、
前記ビデオユニットは、スライス又はタイル又は360度ビデオである、
方法。
解決法19.解決法17の方法であって、
前記インループフィルタリングは適応ループフィルタリングを含む、
方法。
解決法20.解決法17乃至19のいずれかの方法であって、
前記統一手法は両側パディング方法である、
方法。
解決法21.解決法17乃至20のいずれかの方法であって、
前記統一手法では、第1のラインより下のサンプルにアクセスすることが許されず、パディングが前記第1のラインより下のサンプルのための仮想サンプルを生成するために利用される場合に、第2のラインより上のサンプルにアクセスすることも、許されないとセットされ、パディングは、前記第2のラインの上のサンプルのための仮想サンプルを生成するために利用される、
方法。
解決法22.解決法17乃至20のいずれかの方法であって、
前記統一手法では、第1のラインの上のサンプルにアクセスすることが許されず、パディングが前記第1のラインの上のサンプルのための仮想サンプルを生成するために利用される場合に、第2のラインより下のサンプルにアクセスすることも、許されないとセットされ、パディングは、前記第2のラインより下のサンプルのための仮想サンプルを生成するために利用される、
方法。
解決法23.解決法21乃至22のいずれかの方法であって、
前記第1ラインと、フィルタリングされるべき現在のサンプルが位置している現在のラインとの間の距離、及び前記第2のラインと前記第1のラインとの間の距離は、等しい、
方法。
セクション4,項目6は、次の解決法の更なる例を提供する。
解決法24.ビデオ処理の方法であって、
ビデオピクチャの現在のビデオブロックとそのビットストリーム表現との間の変換中に、該変換中に前記ビデオピクチャに対して利用可能な複数の適応ループフィルタ(ALF)サンプル選択方法のうちの1つを適用すると決定するステップと、
前記複数のALFサンプル選択方法のうちの1つを適用することによって前記変換を実行するステップと
を含む方法。
解決法25.解決法24の方法であって、
前記複数のALFサンプル選択方法は、前記変換中に前記現在のビデオブロックにインループフィルタが適用される前にサンプルが選択される第1の方法と、前記変換中に前記現在のビデオブロックにインループフィルタが適用された後にサンプルが選択される第2の方法とを含む、
方法
セクション4,項目7は、次の解決法の更なる例を提供する。
解決法26.ビデオ処理の方法であって、
境界ルールに基づいて、ビデオピクチャの現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に前記現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであって、前記境界ルールは、前記ビデオピクチャの仮想パイプラインデータユニット(VPDU)を横断するサンプルを使用することを無効にする、ステップと、
前記インループフィルタリング動作の結果を用いて前記変換を実行するステップと
を含む方法。
解決法27.解決法26の方法であって、
前記VPDUは、固定サイズを有している前記ビデオピクチャの領域に対応する、
方法。
解決法28.解決法26乃至27のいずれかの方法であって、
前記境界ルールは、無効にされたサンプルの代わりに前記インループフィルタリングのために仮想サンプルを使用することを更に定める、
方法。
解決法29.解決法28の方法であって、
前記仮想サンプルは、パディングによって生成される、
方法。
セクション4,項目8は、次の解決法の更なる例を提供する。
解決法30.ビデオ処理の方法であって、
境界ルールに基づいて、ビデオピクチャの現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に前記現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであって、前記境界ルールは、ビデオユニット境界にわたる前記現在のビデオブロックの位置について、パディングを使用せずに生成されるサンプルを使用することを定める、ステップと、
前記インループフィルタリング動作の結果を用いて前記変換を実行するステップと
を含む方法。
解決法31.解決法30の方法であって、
前記サンプルは、両側パディング方法を用いて生成される、
方法。
解決法32.解決法30の方法であって、
前記インループフィルタリング動作は、前記インループフィルタリング動作中に、対称に位置しているサンプルについて同じ仮想サンプル生成技術を使用することを有する、
方法。
解決法33.解決法30乃至32のいずれかの方法であって、
前記現在のビデオブロックのサンプルに対する前記インループフィルタリング動作は、前記インループフィルタリングを適用する前に、前記現在のビデオブロックの前記サンプルの再成形を実行することを含む、
方法。
セクション4,項目9は、次の解決法の更なる例を提供する。
解決法34.ビデオ処理の方法であって、
境界ルールに基づいて、ビデオピクチャの現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に前記現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであって、前記境界ルールは、前記インループフィルタリング動作のために、前記インループフィルタリング動作中に使用される現在のビデオブロックのサンプルが前記ビデオピクチャのビデオユニットの境界を横断しないような大きさを有しているフィルタを選択することを定める、ステップと、
前記インループフィルタリング動作の結果を用いて前記変換を実行するステップと
を含む方法。
セクション4,項目10は、次の解決法の更なる例を提供する。
解決法35.ビデオ処理の方法であって、
境界ルールに基づいて、ビデオピクチャの現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に前記現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであり、前記境界ルールは、前記インループフィルタリング動作のために、パディングされたサンプルが前記インループフィルタリング動作に必要とされるか否かに基づいてクリッピングパラメータ又はフィルタ係数を選択することを定める、ステップと、
前記インループフィルタリング動作の結果を用いて前記変換を実行するステップと
を含む方法。
解決法36.解決法35の方法であって、
前記クリッピングパラメータ又はフィルタ係数は、前記ビットストリーム表現に含まれる、
方法。
セクション4,項目11は、次の解決法の更なる例を提供する。
解決法37.ビデオ処理の方法であって、
境界ルールに基づいて、ビデオピクチャの現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に前記現在のビデオブロックのサンプルに対してインループフィルタリング動作を実行するステップであり、前記境界ルールは、前記現在のビデオブロックの色成分識別に依存する、ステップと、
前記インループフィルタリング動作の結果を用いて前記変換を実行することと
を含む方法。
解決法38.解決法37の方法であって、
前記境界ルールは、ルーマ及び/又は異なる色成分について異なる、
方法。
解決法39.解決法1乃至38のいずれかの方法であって、
前記変換は、前記現在のビデオブロックを前記ビットストリーム表現に符号化することを含む、
方法。
解決法40.解決法1乃至38のいずれかの方法であって、
前記変換は、前記ビットストリーム表現を復号して前記現在のビデオブロックのサンプル値を生成することを含む、
方法。
解決法41.解決法1乃至38のうちいずれか1つ以上に記載される方法を実装するよう構成されたプロセッサを有するビデオ符号化装置。
解決法42.解決法1乃至38のうちいずれか1つ以上に記載される方法を実装するよう構成されたプロセッサを有するビデオ復号化装置。
解決法43.コードを記憶しているコンピュータ可読媒体であって、
前記コードは、プロセッサによる実行時に、該プロセッサに、解決法1乃至38のうちいずれか1つに記載される方法を実装させる、
コンピュータ可読媒体。
図31は、本明細書で開示されている様々な技術が実装され得る例示的なビデオ処理システム3100を示すブロック図である。様々な実施は、システム3100のコンポーネントの一部又は全部を含んでよい。システム3100は、ビデオコンテンツを受ける入力部3102を含み得る。ビデオコンテンツは、生の又は圧縮されていないフォーマット、例えば、8又は10ビットのマルチコンポーネントピクセル値で受け取られてもよく、あるいは、圧縮又は符号化されたフォーマットであってもよい。入力部3102は、ネットワークインターフェース、ペリフェラルバスインターフェース、又はストレージインターフェースに相当してもよい。ネットワークインターフェースの例には、Ethernet(登録商標)、受動光ネットワーク(PON)などのような有線インターフェース、及びWi-Fi又はセルラーネットワークなどの無線インターフェースが含まれる。
システム3100は、本明細書で記載されている様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント3104を含んでもよい。コーディングコンポーネント3104は、ビデオのコーディングされた表現を生成するよう、入力部3102からコーディングコンポーネント3104の出力部へのビデオの平均ビットレートを低減し得る。コーディング技術は、従って、ビデオ圧縮又はビデオトランスコーディング技術と時々呼ばれる。コーディングコンポーネント3104の出力は、コンポーネント3106によって表されるように、保存されても、あるいは、接続された通信を介して伝送されてもよい。入力部3102で受け取られたビデオの保存又は通信されたビットストリーム(又はコーディングされた)表現は、ピクセル値又は表示インターフェース3110へ送られる表示可能なビデオを生成するためのコンポーネント3108によって使用されてもよい。ユーザが見ることができるビデオをビットストリーム表現から生成するプロセスは、ビデオ圧縮解除と時々呼ばれる。更に、特定のビデオ処理動作が「コーディング」動作又はツールと呼ばれる一方で、そのようなコーディングツール又は動作はエンコーダで使用され、コーディングの結果を入れ替える対応する復号化ツール又は動作は、デコーダによって実行されることになることが理解されるだろう。
ペリフェラルバスインターフェース又は表示インターフェースの例には、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(HDMI(登録商標))又はDisplayport(登録商標)などが含まれ得る。ストレージインターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース、などがある。本明細書で説明されている技術は、携帯電話機、ラップトップ、スマートフォン、あるいは、デジタルデータ処理及び/又はビデオ表示を実行する能力がある他のデバイスなどの様々な電子デバイスで具現されてもよい。
図32は、本技術に従うビデオ処理のための方法3200のフローチャート表現である。方法3200は、動作3210で、ビデオの現在のブロックと、ビデオのビットストリーム表現との間の変換のために、現在のブロックの外にあるビデオの1つ以上のサンプルが変換のコーディングプロセスに利用不可能であることを決定することを含む。コーディングプロセスは、適応ループフィルタ(ALF)コーディングプロセスを含む。方法3200は、決定に基づいて、ビデオの1つ以上のサンプルに対してパディングサンプルを使用することによって変換を実行することを含む。パディングサンプルは、順番にサンプルの利用可能性をチェックすることによって生成される。
いくつかの実施形態において、現在のブロックは、コーディングユニット、ピクチャユニット、又はコーディングツリーユニットを有する。いくつかの実施形態において、利用不可能である、現在のブロックの外にある1つ以上のサンプルは、現在のブロックの左上に位置している第1隣接ブロック内にあるサンプルを有する。順番は、(1)現在のブロックの上にある第2隣接ブロック内のサンプルが最初にチェックされ、(2)第2隣接ブロック内のサンプルが利用不可能である場合に、現在のブロックの左に位置している第3隣接ブロック内のサンプルが次にチェックされ、(3)第3隣接ブロック内のサンプルも利用不可能である場合に、現在のブロックの左上サンプルが、パディングサンプルを生成するために使用される、ことを定める。
いくつかの実施形態において、利用不可能である、現在のブロックの外にある1つ以上のサンプルは、現在のブロックの右下に位置している第1隣接ブロック内にあるサンプルを有する。順番は、(1)現在のブロックの下にある第2隣接ブロック内のサンプルが最初にチェックされ、(2)第2隣接ブロック内のサンプルが利用不可能である場合に、現在のブロックの右に位置している第3隣接ブロック内のサンプルが次にチェックされ、(3)第3隣接ブロック内のサンプルも利用不可能である場合に、現在のブロックの右下サンプルが、パディングサンプルを生成するために使用される、ことを定める。
いくつかの実施形態において、利用不可能である、現在のブロックの外にある1つ以上のサンプルは、現在のブロックの右上に位置している第1隣接ブロック内にあるサンプルを有する。順番は、(1)現在のブロックの上にある第2隣接ブロック内のサンプルが最初にチェックされ、(2)第2隣接ブロック内のサンプルが利用不可能である場合に、現在のブロックの右に位置している第3隣接ブロック内のサンプルが次にチェックされ、(3)第3隣接ブロック内のサンプルも利用不可能である場合に、現在のブロックの右上サンプルが、パディングサンプルを生成するために使用される、ことを定める。
いくつかの実施形態において、利用不可能である、現在のブロックの外にある1つ以上のサンプルは、現在のブロックの左下に位置している第1隣接ブロック内にあるサンプルを有する。順番は、(1)現在のブロックの下にある第2隣接ブロック内のサンプルが最初にチェックされ、(2)第2隣接ブロック内のサンプルが利用不可能である場合に、現在のブロックの左に位置している第3隣接ブロック内のサンプルが次にチェックされ、(3)第3隣接ブロック内のサンプルも利用不可能である場合に、現在のブロックの左下サンプルが、パディングサンプルを生成するために使用される、ことを定める。
いくつかの実施形態において、利用不可能である、現在のブロックの外にある1つ以上のサンプルは、現在のブロックの左上に位置している第1隣接ブロック内にあるサンプルを有する。順番は、(1)現在のブロックの左に位置している第2隣接ブロック内のサンプルが最初にチェックされ、(2)第2隣接ブロック内のサンプルが利用不可能である場合に、現在のブロックの上にある第3隣接ブロック内のサンプルが次にチェックされ、(3)第3隣接ブロック内のサンプルも利用不可能である場合に、現在のブロックの左上サンプルが、パディングサンプルを生成するために使用される、ことを定める。
いくつかの実施形態において、利用不可能である、現在のブロックの外にある1つ以上のサンプルは、現在のブロックの右上に位置している第1隣接ブロック内にあるサンプルを有する。順番は、(1)現在のブロックの右に位置している第2隣接ブロック内のサンプルが最初にチェックされ、(2)第2隣接ブロック内のサンプルが利用不可能である場合に、現在のブロックの上にある第3隣接ブロック内のサンプルが次にチェックされ、(3)第3隣接ブロック内のサンプルも利用不可能である場合に、現在のブロックの右上サンプルが、パディングサンプルを生成するために使用される、ことを定める。
いくつかの実施形態において、利用不可能である、現在のブロックの外にある1つ以上のサンプルは、現在のブロックの左下に位置している第1隣接ブロック内にあるサンプルを有する。順番は、(1)現在のブロックの左に位置している第2隣接ブロック内のサンプルが最初にチェックされ、(2)第2隣接ブロック内のサンプルが利用不可能である場合に、現在のブロックの下にある第3隣接ブロック内のサンプルが次にチェックされ、(3)第3隣接ブロック内のサンプルも利用不可能である場合に、現在のブロックの左下サンプルが、パディングサンプルを生成するために使用される、ことを定める。
いくつかの実施形態において、利用不可能である、現在のブロックの外にある1つ以上のサンプルは、現在のブロックの右下に位置している第1隣接ブロック内にあるサンプルを有する。順番は、(1)現在のブロックの右に位置している第2隣接ブロック内のサンプルが最初にチェックされ、(2)第2隣接ブロック内のサンプルが利用不可能である場合に、現在のブロックの下にある第3隣接ブロック内のサンプルが次にチェックされ、(3)第3隣接ブロック内のサンプルも利用不可能である場合に、現在のブロックの右下サンプルが、パディングサンプルを生成するために使用される、ことを定める。
いくつかの実施形態において、順番は、(1)垂直方向の利用可能なサンプルが最初にチェックされ、(2)水平方向の利用可能なサンプルが任意で次にチェックされる、ことを定める。いくつかの実施形態において、順番は、(1)水平方向の利用可能なサンプルが最初にチェックされ、(2)垂直方向の利用可能なサンプルが任意で次にチェックされる、ことを定める。いくつかの実施形態において、現在のブロックの各隣接ブロック内のサンプルは、順番にチェックされる。いくつかの実施形態において、ただ1つのサンプルが、現在のブロックの各隣接ブロックにおいてチェックされる。
いくつかの実施形態において、利用可能なサンプルがパディングサンプルを生成するために見つからない場合に、現在のブロック内の現在のサンプルがALFコーディングプロセスで使用される。いくつかの実施形態において、(1)現在のブロックの左上、(2)現在のブロックの右上、(3)現在のブロックの右下、又は(4)現在のブロックの左下に位置している隣接ブロック内の利用不可能なサンプルについて、このサンプルは、現在のブロック内の1つ以上のサンプルを用いてパディングされる。いくつかの実施形態において、現在のブロックの左上サンプルは、現在のブロックの左上に位置している隣接ブロック内のサンプルをパディングするために使用される。いくつかの実施形態において、現在のブロックの右上サンプルは、現在のブロックの右上に位置している隣接ブロック内のサンプルをパディングするために使用される。いくつかの実施形態において、現在のブロックの左下サンプルは、現在のブロックの左下に位置している隣接ブロック内のサンプルをパディングするために使用される。いくつかの実施形態において、現在のブロックの右下サンプルは、現在のブロックの右下に位置している隣接ブロック内のサンプルをパディングするために使用される。いくつかの実施形態において、コーディングプロセスは、現在のブロックの外にある1つ以上のサンプルにアクセスする他のフィルタリングコーディングプロセスを更に有する。
図33は、本技術に従うビデオ処理のための方法3300のフローチャート表現である。方法3300は、動作3310で、ビデオの現在のブロックと、ビデオのビットストリーム表現との間の変換のために、現在のブロックの隣接ブロック内のサンプルが現在のブロックと同じビデオ領域にあるかどうかに関して第1決定を行うことを含む。隣接ブロックは、(1)現在のブロックの左上、(2)現在のブロックの右上、(3)現在のブロックの左下、又は(4)現在のブロックの右下に位置している。方法3300は、動作3320で、現在のブロックの変換に対する、前記現在のブロックの外にあるサンプルを使用するコーディングツールの適用可能性に関して、第2決定を行うために、第1決定を使用することを含む。コーディングツールは、適応ループフィルタ(ALF)分類プロセス及び/又はALFフィルタリングプロセスを含むALFツールを含む。方法3300は、動作3330で、第1決定及び第2決定に従って変換を実行することを含む。
いくつかの実施形態において、現在のブロックは、コーディングユニット、ピクチャユニット、又はコーディングツリーユニットを有する。いくつかの実施形態において、
ビデオ領域は、スライス、ブリック、タイル、又はサブピクチャを有する。いくつかの実施形態において、サンプルは、(1)そのサンプル及び現在のブロックの現在のサンプルが異なるビデオ領域にあり、(2)ビデオの異なるビデオ領域にわたってサンプルにアクセスすることがコーディングツールに対して無効にされる場合に、コーディングツールに対して利用不可能であると見なされる。いくつかの実施形態において、ビデオの異なるビデオ領域にわたってサンプルにアクセスすることが無効にされるかどうかを示すために、コーディングされた表現において、シンタックス要素が通知される。いくつかの実施形態において、方法は、コーディングツールのためにサンプルがパディングサンプルを導出するよう利用不可能であることに応答して、パディングプロセスを適用することを含む。
いくつかの実施形態において、現在のブロックの左上サンプルは(x0,y0)と表され、現在のブロックの左上に位置している隣接ブロック内のサンプル(x0-offsetX0,y0-offfsetY0)がチェックされ、offsetX0及びoffsetY0は整数である。いくつかの実施形態において、(offsetX0,offsetY0)は、(1,1)、(2,1)又は(1,2)を有する。
いくつかの実施形態において、現在のブロックの左上サンプルは(x0,y0)と表され、現在のブロックの右上に位置している隣接ブロック内のサンプル(x0+offsetX1,y0-offsetY1)がチェックされ、offsetX1及びoffsetY1は整数である。いくつかの実施形態において、(offsetX1,offsetY1)は、(BlockWidth,1)、(BlockWidth+1,1)又は(BlockWidth,2)を有し、BlockWidthは、現在のブロックの幅である。
いくつかの実施形態において、現在のブロックの左上サンプルは(x0,y0)と表され、現在のブロックの左下に位置している隣接ブロック内のサンプル(x0-offsetX2,y0+offsetY2)がチェックされ、offsetX2及びoffsetY2は整数である。いくつかの実施形態において、(offsetX2,offsetY2)は、(1,BlockHeight)、(2,BlockHeight)又は(1,BlockHeight+1)を有し、BlockHeightは、現在のブロックの高さである。
いくつかの実施形態において、現在のブロックの左上サンプルは(x0,y0)と表され、現在のブロックの右下に位置している隣接ブロック内のサンプル(x0+offsetX3,y0+offsetY3)がチェックされ、offsetX3及びoffsetY3は整数である。いくつかの実施形態において、(offsetX3,offsetY3)は、(BlockWidth,BlockHeight)、(BlockWidth+1,BlockHeight)又は(BlockWidth,BlockHeight+1)を有し、BlockWidthは、現在のブロックの幅であり、BlockHeightは、現在のブロックの高さである。
いくつかの実施形態において、offsetXk又はoffsetYkは、現在のブロックの幅又は高さに基づき決定され、k=0,1,2,又は3である。いくつかの実施形態において、コーディングツールは、他のフィルタリングコーディングツールを更に有する。
いくつかの実施形態において、現在のブロックへの方法の1つ以上の適用可能性は、ビデオの特性に基づき決定される。いくつかの実施形態において、ビデオの特性は、コーディングされた表現においてデコーダパラメータセット、スライスパラメータセット、ビデオパラメータセット、ピクチャパラメータセット、適応パラメータセット、ピクチャヘッダ、スライスヘッダ、タイルグループヘッダ、最大コーディングユニット(LCU)、コーディングユニット、LCU行、LCUのグループ、変換ユニット、ピクチャユニット、又はビデオコーディングユニットで通知された情報を含む。いくつかの実施形態において、ビデオの特性は、ビデオ内のコーディングユニット、ピクチャユニット、変換ユニット、ブロック、又はビデオコーディングユニットの位置を有する。いくつかの実施形態において、ビデオの特性は、現在のブロック又は現在のブロックの隣接ブロックの特性を有する。いくつかの実施形態において、現在のブロック又は現在のブロックの隣接ブロックの特性は、現在のブロックの大きさ又は現在のブロックの前記隣接ブロックの大きさを含む。いくつかの実施形態において、現在のブロック又は現在のブロックの隣接ブロックの特性は、現在のブロックの形状又は現在のブロックの隣接ブロックの形状を含む。いくつかの実施形態において、ビデオの特性は、ビデオの色フォーマットの指示を含む。いくつかの実施形態において、ビデオの特性は、ビデオに適用されるコーディングツリー構造を含む。いくつかの実施形態において、ビデオの特性は、ビデオのスライスタイプ、タイルグループタイプ、又はピクチャタイプを含む。いくつかの実施形態において、ビデオの特性は、ビデオの色成分を含む。いくつかの実施形態において、ビデオの特性は、ビデオの時間レイヤ識別子を含む。いくつかの実施形態において、ビデオの特性は、ビデオ標準のプロファイル、レベル、又はティアを含む。
いくつかの実施形態において、変換は、ビデオをビットストリーム表現に符号化することを含む。いくつかの実施形態において、変換は、ビットストリーム表現をビデオに復号することを含む。
図34は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を表すブロック図である。
図34に示されるように、ビデオコーディングシステム100は、発信元デバイス110及び送信先デバイス120を含んでよい。発信元デバイス110は、符号化されたビデオデータを生成し、ビデオ符号化デバイスと呼ばれ得る。送信先デバイス120は、発信元デバイス110によって生成された符号化されたビデオデータを復号することができ、ビデオ復号化デバイスと呼ばれ得る。
発信元デバイス110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インターフェース116を含んでよい。
ビデオソース112は、ビデオ捕捉デバイスなどのソース、ビデオコンテンツプロバイダからビデオデータを受け取るインターフェース、及び/又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、そのようなソースの組み合わせを含んでよい。ビデオデータは1つ以上のピクチャを有してもよい。ビデオエンコーダ114は、ビットストリームを生成するようビデオソース112からのビデオデータを符号化する。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットのシーケンスを含んでよい。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信器を含んでよい。符号化されたビデオデータは、I/Oインターフェース116を介して送信先デバイス120に対してネットワーク130aを通じて直接に伝送されてよい。符号化されたビデオデータはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバ130bに記憶されてもよい。
送信先デバイス120は、I/Oインターフェース126、ビデオデコーダ124、及び表示デバイス122を含んでよい。
I/Oインターフェース126は、受信器及び/又はモデムを含んでよい。I/Oインターフェース126は、発信元デバイス110又は記憶媒体/サーバ130bから符号化されたビデオデータを取得してよい。ビデオデコーダ124は、符号化されたビデオデータを復号してよい。表示デバイス122は、復号されたビデオデータをユーザに表示してよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、あるいは、外付け表示デバイスとインターフェース接続するよう構成されて送信先デバイス120の外にあってもよい。
ビデオエンコーダ114及びビデオデコーダ124は、HEVC(High Efficiency Video Coding)標準規格、VVC(Versatile Video Coding)標準規格、並びに他の現在の及び/又は更なる標準規格などのビデオ圧縮規格に従って作動してもよい。
図35は、ビデオエンコーダ200の例を表すブロックであり、図34に表されているシステム100のビデオエンコーダ114であってよい。
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図35の例において、ビデオエンコーダ200は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有されてもよい。いくつかの例において、プロセッサは、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピ符号化ユニット214とを含んでよい。
他の例において、ビデオエンコーダ200は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例において、予測ユニット202は、イントラブロックコピー(Intra Block Copy,IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在のビデオブロックが位置しているピクチャであるIBCモードで、予測を実行してよい。
更に、動き推定ユニット204及び動き補償ユニット205などのいくつかのコンポーネントは、高度に集積されてもよいが、説明のために図35の例では別々に表されている。
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化してよい。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートしてよい。
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードの1つを選択し、結果として得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する残差生成ユニット207へ、及び参照ピクチャとしての使用のために、符号化されたブロックを再構成する再構成ユニット212へ供給してよい。いくつかの例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ-インター複合予測(Combination of Intra and Inter Prediction,CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックの動きベクトルのための分解能(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックの動き情報を生成してもよい。動き補償ユニット205は、動き情報と、現在のビデオブロックに関連したピクチャ以外のバッファ213からのピクチャの復号されたサンプルとに基づいて、現在のビデオブロックの予測されたビデオブロックを決定してもよい。
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスであるかどうかに応じて、現在のビデオブロックのために異なる動作を実行してもよい。
いくつかの例において、動き推定ユニット204は、現在のビデオブロックのために一方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0又はリスト1の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成してよい。動き推定ユニット204は、現在のビデオブロックの動き情報として参照インデックス、予測方向インジケータ、及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のブロックの予測されたビデオブロックを生成してもよい。
他の例においては、動き推定ユニット204は、現在のビデオブロックのために双方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0内の参照ピクチャから探してもよく、また、現在のビデオブロックのためのもう1つの参照ビデオブロックをリスト1内の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在のビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在のビデオブロックの動き情報として現在のビデオブロックの参照インデックス及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のビデオブロックの予測されたビデオブロックを生成してもよい。
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために動き情報のフルセットを出力してもよい。
いくつかの例において、動き推定ユニット204は、現在のビデオの動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報を通知してもよい。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接ビデオブロックの動き情報と十分に類似していることを決定してもよい。
一例において、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、現在のビデオブロックが他のビデオブロックと同じ動き情報を有していることをビデオデコーダ300に示す値を示してもよい。
他の例においては、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、他のビデオブロック及び動きベクトル差分(Motion Vector Difference,MVD)を特定してもよい。動きベクトル差分は、現在のビデオブロックの動きベクトルと、特定されているビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、現在のビデオブロックの動きベクトルを決定するために、特定されているビデオブロックの動きベクトル及び動きベクトル差分を使用してもよい。
上述されたように、ビデオエンコーダ200は、動きベクトルを予測的に通知してもよい。ビデオエンコーダ200によって実装され得る予測シグナリング技術の2つの例には、アドバンスド動きベクトル予測(Advanced Motion Vector Prediction,AMVP)及びマージモードシグナリングがある。
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行してもよい。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行する場合に、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックの復号されたサンプルに基づいて、現在のビデオブロックの予測データを生成し得る。現在のビデオブロックの予測データは、予測されたビデオブロック及び様々なシンタックス要素を含んでもよい。
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されたビデオブロックを減じること(例えば、マイナス符号によって示される。)によって、現在のビデオブロックの残差データを生成してもよい。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプルコンポーネントに対応する残差ビデオブロックを含んでもよい。
他の例においては、例えば、スキップモードで、現在のビデオブロックの残差データは存在しない場合があり、残差生成ユニット207は、減算演算を実行しなくてもよい。
変換処理ユニット208は、現在のビデオブロックに関連した残差ビデオブロックに1つ以上の変換を適用することによって、現在のビデオブロックの1つ以上の変換係数ビデオブロックを生成してもよい。
変換処理ユニット208が現在のビデオブロックに関連した変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連した1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連した変換係数ビデオブロックを量子化してもよい。
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックに各々逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してもよい。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに加えて、バッファ213での記憶のために、現在のブロックに関連した再構成されたビデオブロックを生成してもよい。
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング動作が、ビデオブロックにおいてビデオブロッキングアーチファクトを低減するよう実行されてもよい。
エントロピ符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受け取ってもよい。エントロピ符号化ユニット214がデータを受け取るとき、エントロピ符号化ユニット214は、エントロピ符号化されたデータを生成し、そのエントロピ符号化されたデータを含むビットストリームを生成するよう、1つ以上のエントロピ符号化動作を実行してもよい。
図36は、ビデオデコーダ300の例を表すブロック図であり、図34で表されているシステム100のビデオデコーダ124であってよい。
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図36の例で、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有されてもよい。いくつかの例で、プロセッサは、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
図36の例において、ビデオデコーダ300は、エントロピ復号化ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例において、ビデオエンコーダ200(図35)に関して記載された符号化パスとは概して逆の復号化パスを実行してもよい。
エントロピ復号化ユニット301は、符号化されたビットストリームを取り出し得る。符号化されたビットストリームは、エントロピコーディングされたビデオデータ(例えば、ビデオデータの符号化されたブロック)を含んでもよい。エントロピ復号化ユニット301は、エントロピコーディングされたビデオデータを復号してよく、エントロピ復号化されたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定してもよい。
動き補償ユニット302は、場合により、補間フィルタに基づく補間を実行して、動き補償されたブロックを生成してもよい。サブピクセル精度で使用される補間フィルタのための識別子は、シンタックス要素に含まれてもよい。
動き補償ユニット302は、参照ブロックのサブ整数ピクセルについて補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ200によって使用された補間フィルタを使用してもよい。動き補償ユニット302は、受け取られたシンタックス情報に従って、ビデオエンコーダ200によって使用された補間フィルタを決定し、その補間フィルタを使用して、予測ブロックを生成し得る。
動き補償ユニット302は、符号化されたビデオシーケンスのフレーム及び/又はスライスを符号化するために使用されるブロックのサイズと、符号化されたビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報と、各インターコーディングされたブロックについての1つ以上の参照フレーム(及び参照フレームリスト)と、符号化されたビデオシーケンスを復号するための他の情報とを決定するために、シンタックス情報のいくつかを使用してもよい。
イントラ予測ユニット303は、空間的に隣接するブロックから予測ブロックを形成するよう、例えば、ビットストリームで受け取られたイントラ予測モードを使用してもよい。逆量子化ユニット304は、ビットストリームで供給されてエントロピ復号化ユニット301によって復号された量子化されたビデオブロック係数を逆量子化する、すなわち、量子化解除する。逆変換ユニット305は、逆変換を適用する。
再構成ユニット306は、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックを残差ブロックに加算して、復号されたブロックを形成し得る。望まれる場合には、デブロッキングフィルタも、ブロッキネスアーチファクトを取り除くために、復号されたブロックにフィルタをかけるよう適用されてもよい。復号されたビデオブロックは、次いで、バッファ307に格納され、バッファ307は、その後の動き補償/イントラ予測のために参照ブロックを提供し、更には、復号されたビデオを表示デバイスでの提示のために生成する。
上記から、目下開示されている技術の具体的な実施形態は、例示のために本明細書で記載されているのであって、様々な変更が、発明の範囲から逸脱せずに行われてもよい、ことが理解されるだろう。従って、目下開示されている技術は、添付の特許請求の範囲によることを除いて、限定されない。
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを有効にするとの決定又は判定を行うことを含む。例において、ビデオ処理ツール又はモードが有効にされる場合に、エンコーダは、ビデオのブロックの処理においてツール又はモードを使用又は実装するが、結果として得られるビットストリームを、ツール又はモードの利用に基づいて必ずしも変更しなくてもよい。つまり、ビデオのブロックからビデオのビットストリーム表現への変換は、ビデオ処理ツール又はモードが決定又は判定に基づいて有効にされる場合に、それを使用する。他の例においては、ビデオ処理ツール又はモードが有効にされる場合に、デコーダは、ビットストリームがビデオ処理ツール又はモードに基づいて変更されていると知った上でビットストリームを処理する。つまり、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判定に基づいて有効にされたビデオ処理ツール又はモードを用いて実行される。
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを無効にするとの決定又は判定を行うことを含む。例において、ビデオ処理ツール又はモードが無効にされる場合に、エンコーダは、ビデオのブロックからビデオのビットストリーム表現への変換において、ツール又はモードを使用しない。他の例においては、ビデオ処理ツール又はモードが無効にされる場合に、デコーダは、決定又は判定に基づいて有効にされたビデオ処理ツール又はモードを用いてビットストリームが変更されていないと知った上で、ビットストリームを処理する。
本特許文献で記載されている主題及び機能的動作の実施は、本明細書で開示されている構造及びそれらの構造的同等物を含む、様々なシステム、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアで、あるいは、それらのうちの1つ以上の組み合わせで実装され得る。本明細書で記載されている主題の実施は、1つ以上のコンピュータプログラム製品、例えば、データ処理装置によって実行されるか又はその動作を制御する有形かつ非一時的なコンピュータ可読媒体において符号化されているコンピュータプログラム命令の1つ以上のモジュールとして実装され得る。コンピュータ可読媒体は、マシン可読記憶デバイス、マシン可読記憶基板、メモリデバイス、マシン可読な伝播信号に影響を与える物質の組成、又はそれらの1つ以上の組み合わせであることができる。「データ処理ユニット」又は「データ処理装置」との用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサハードウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとしてを含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで実行されるようデプロイ可能である。
本明細書で説明されているプロセス及びロジックフローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及びロジックフローはまた、専用のロジック回路、例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向け集積回路(ASIC)によっても実行可能であり、装置は、そのようなものとして実装可能である。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを読み出すことになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
本明細書は、図面とともに、単に実例として見なされるべきであることが意図され、実例とは例を意味する。本明細書で使用されるように、「又は」(or)の使用は、文脈中で別段明示されない限りは、「及び/又は」(and/or)を含むよう意図される。
本明細書は、多数の詳細を含むが、それらは、あらゆる対象の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で説明されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して説明されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして先に説明され、更には、そのようなものとして最初に請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が示されているその特定の順序で又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書で説明されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。
[関連出願への相互参照]
願は、2019年9月22日付けで出願された国際特許出願第PCT/CN2019/107160号に対する優先権及びその利益を請求して2020年9月22日付けで出願された国際特許出願第PCT/CN2020/116707号に基づく。上記の全ての特許出願は、参照により本願に援用される。

Claims (12)

  1. ビデオデータを処理する方法であって、
    ビデオの現在のブロックと前記ビデオのビットストリームとの間の変換のために、前記現在のブロックの外にある前記ビデオの1つ以上のサンプルが前記変換のコーディングプロセスに利用不可能であることを決定するステップであり、前記コーディングプロセスは適応ループフィルタプロセスを含む、前記決定するステップと、
    前記決定に基づき、前記ビデオの前記1つ以上のサンプルに対してパディングサンプルを使用することによって前記変換を実行するステップと
    を有し、
    前記パディングサンプルは、順番に隣接サンプルの利用可能性をチェックすることによって生成され
    利用不可能である、前記現在のブロックの外にある前記1つ以上のサンプルは、前記現在のブロックの左上に位置している第1隣接ブロック内にある第1サンプルを有し、前記第1サンプルのパディングサンプルを生成する順番は、
    (1)前記現在のブロックの上にある第2隣接ブロック内のサンプルが最初にチェックされ、
    (2)前記第2隣接ブロック内のサンプルが利用不可能である場合に、前記現在のブロックの左に位置している第3隣接ブロック内のサンプルが次にチェックされる
    ことを定め、
    前記第3隣接ブロック内のサンプルも利用不可能である場合に、前記現在のブロックの左上サンプルが、前記第1サンプルのパディングサンプルを生成するために使用され、あるいは、
    利用不可能である、前記現在のブロックの外にある前記1つ以上のサンプルは、前記現在のブロックの右下に位置している第4隣接ブロック内にある第2サンプルを有し、前記第2サンプルのパディングサンプルを生成する順番は、
    (1)前記現在のブロックの下にある第5隣接ブロック内のサンプルが最初にチェックされ、
    (2)前記第5隣接ブロック内のサンプルが利用不可能である場合に、前記現在のブロックの右に位置している第6隣接ブロック内のサンプルが次にチェックされる
    ことを定め、
    前記第6隣接ブロック内のサンプルも利用不可能である場合に、前記現在のブロックの右下サンプルが、前記第2サンプルのパディングサンプルを生成するために使用される
    方法。
  2. 前記第2隣接ブロック内のサンプル又は前記第3隣接ブロック内のサンプルは、前記第2隣接ブロック内のサンプル又は前記第3隣接ブロック内のサンプルが前記現在のブロックとは異なるビデオユニットに位置し、かつ、前記ビデオユニットにわたるサンプルを使用するコーディングプロセスが許可されないことにより、利用不可能である、
    請求項に記載の方法。
  3. 前記ビデオユニットは、スライス、タイル、又はサブピクチャである、
    請求項に記載の方法。
  4. 前記第5隣接ブロック内のサンプル又は前記第6隣接ブロック内のサンプルは、前記第5隣接ブロック内のサンプル又は前記第6隣接ブロック内のサンプルが前記現在のブロックとは異なるビデオユニットに位置し、かつ、前記ビデオユニットにわたるサンプルを使用するコーディングプロセスが許可されないことにより、利用不可能である、
    請求項に記載の方法。
  5. 前記現在のブロックは、コーディングユニット、コーディングブロック、コーディングツリーユニット、又はコーディングツリーブロックである、
    請求項1乃至のうちいずれか一項に記載の方法。
  6. 前記1つ以上のサンプルに対する前記パディングサンプルは、前記適応ループフィルタプロセスで分類動作のために使用され、前記1つ以上のサンプルに対する前記パディングサンプルは、前記分類動作で分類フィルタインデックスを決定するために使用され、前記分類フィルタインデックスは、フィルタリング係数セットを決定するために利用される、
    請求項1乃至のうちいずれか一項に記載の方法。
  7. 前記1つ以上のサンプルに対する前記パディングサンプル及び前記フィルタリング係数セットは、前記現在のブロックのフィルタリングされた再構成されたサンプルを導出するために前記適応ループフィルタプロセスのフィルタ計算で使用される、
    請求項に記載の方法。
  8. 前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、
    請求項1乃至のうちいずれかに記載の方法。
  9. 前記変換は、前記ビットストリームから前記ビデオを復号することを含む、
    請求項1乃至のうちいずれかに記載の方法。
  10. ビデオデータを処理する装置であって、
    プロセッサと、命令を有する非一時メモリとを有し、
    前記命令は、前記プロセッサによる実行時に、前記プロセッサに、
    ビデオの現在のブロックと前記ビデオのビットストリームとの間の変換のために、前記現在のブロックの外にある前記ビデオの1つ以上のサンプルが前記変換のコーディングプロセスに利用不可能であることを決定するステップであり、前記コーディングプロセスは適応ループフィルタプロセスを含む、前記決定するステップと、
    前記決定に基づき、前記ビデオの前記1つ以上のサンプルに対してパディングサンプルを使用することによって前記変換を実行するステップであり、前記パディングサンプルは、順番に隣接サンプルの利用可能性をチェックすることによって生成される、前記実行するステップと
    を実行させ
    利用不可能である、前記現在のブロックの外にある前記1つ以上のサンプルは、前記現在のブロックの左上に位置している第1隣接ブロック内にある第1サンプルを有し、前記第1サンプルのパディングサンプルを生成する順番は、
    (1)前記現在のブロックの上にある第2隣接ブロック内のサンプルが最初にチェックされ、
    (2)前記第2隣接ブロック内のサンプルが利用不可能である場合に、前記現在のブロックの左に位置している第3隣接ブロック内のサンプルが次にチェックされる
    ことを定め、
    前記第3隣接ブロック内のサンプルも利用不可能である場合に、前記現在のブロックの左上サンプルが、前記第1サンプルのパディングサンプルを生成するために使用され、あるいは、
    利用不可能である、前記現在のブロックの外にある前記1つ以上のサンプルは、前記現在のブロックの右下に位置している第4隣接ブロック内にある第2サンプルを有し、前記第2サンプルのパディングサンプルを生成する順番は、
    (1)前記現在のブロックの下にある第5隣接ブロック内のサンプルが最初にチェックされ、
    (2)前記第5隣接ブロック内のサンプルが利用不可能である場合に、前記現在のブロックの右に位置している第6隣接ブロック内のサンプルが次にチェックされる
    ことを定め、
    前記第6隣接ブロック内のサンプルも利用不可能である場合に、前記現在のブロックの右下サンプルが、前記第2サンプルのパディングサンプルを生成するために使用される
    装置。
  11. プロセッサに、
    ビデオの現在のブロックと前記ビデオのビットストリームとの間の変換のために、前記現在のブロックの外にある前記ビデオの1つ以上のサンプルが前記変換のコーディングプロセスに利用不可能であることを決定するステップであり、前記コーディングプロセスは適応ループフィルタプロセスを含む、前記決定するステップと、
    前記決定に基づき、前記ビデオの前記1つ以上のサンプルに対してパディングサンプルを使用することによって前記変換を実行するステップであり、前記パディングサンプルは、順番に隣接サンプルの利用可能性をチェックすることによって生成される、前記実行するステップと
    を実行させる命令を記憶し
    利用不可能である、前記現在のブロックの外にある前記1つ以上のサンプルは、前記現在のブロックの左上に位置している第1隣接ブロック内にある第1サンプルを有し、前記第1サンプルのパディングサンプルを生成する順番は、
    (1)前記現在のブロックの上にある第2隣接ブロック内のサンプルが最初にチェックされ、
    (2)前記第2隣接ブロック内のサンプルが利用不可能である場合に、前記現在のブロックの左に位置している第3隣接ブロック内のサンプルが次にチェックされる
    ことを定め、
    前記第3隣接ブロック内のサンプルも利用不可能である場合に、前記現在のブロックの左上サンプルが、前記第1サンプルのパディングサンプルを生成するために使用され、あるいは、
    利用不可能である、前記現在のブロックの外にある前記1つ以上のサンプルは、前記現在のブロックの右下に位置している第4隣接ブロック内にある第2サンプルを有し、前記第2サンプルのパディングサンプルを生成する順番は、
    (1)前記現在のブロックの下にある第5隣接ブロック内のサンプルが最初にチェックされ、
    (2)前記第5隣接ブロック内のサンプルが利用不可能である場合に、前記現在のブロックの右に位置している第6隣接ブロック内のサンプルが次にチェックされる
    ことを定め、
    前記第6隣接ブロック内のサンプルも利用不可能である場合に、前記現在のブロックの右下サンプルが、前記第2サンプルのパディングサンプルを生成するために使用される、
    非一時的なコンピュータ可読記憶媒体。
  12. デオのビットストリームを記憶する方法であって
    ビデオの現在のブロックについて、前記現在のブロックの外にある前記ビデオの1つ以上のサンプルがコーディングプロセスに利用不可能であることを決定するステップであり、前記コーディングプロセスは適応ループフィルタプロセスを含む、前記決定するステップと、
    前記決定に基づき、前記ビデオの前記1つ以上のサンプルに対してパディングサンプルを使用することによって前記ビットストリームを生成するステップであり、前記パディングサンプルは、順番に隣接サンプルの利用可能性をチェックすることによって生成される、前記生成するステップと
    前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと
    し、
    利用不可能である、前記現在のブロックの外にある前記1つ以上のサンプルは、前記現在のブロックの左上に位置している第1隣接ブロック内にある第1サンプルを有し、前記第1サンプルのパディングサンプルを生成する順番は、
    (1)前記現在のブロックの上にある第2隣接ブロック内のサンプルが最初にチェックされ、
    (2)前記第2隣接ブロック内のサンプルが利用不可能である場合に、前記現在のブロックの左に位置している第3隣接ブロック内のサンプルが次にチェックされる
    ことを定め、
    前記第3隣接ブロック内のサンプルも利用不可能である場合に、前記現在のブロックの左上サンプルが、前記第1サンプルのパディングサンプルを生成するために使用され、あるいは、
    利用不可能である、前記現在のブロックの外にある前記1つ以上のサンプルは、前記現在のブロックの右下に位置している第4隣接ブロック内にある第2サンプルを有し、前記第2サンプルのパディングサンプルを生成する順番は、
    (1)前記現在のブロックの下にある第5隣接ブロック内のサンプルが最初にチェックされ、
    (2)前記第5隣接ブロック内のサンプルが利用不可能である場合に、前記現在のブロックの右に位置している第6隣接ブロック内のサンプルが次にチェックされる
    ことを定め、
    前記第6隣接ブロック内のサンプルも利用不可能である場合に、前記現在のブロックの右下サンプルが、前記第2サンプルのパディングサンプルを生成するために使用される
    方法
JP2022517725A 2019-09-22 2020-09-22 適応ループフィルタリングにおけるパディングプロセス Active JP7318120B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023117435A JP2023139106A (ja) 2019-09-22 2023-07-19 適応ループフィルタリングにおけるパディングプロセス

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019107160 2019-09-22
CNPCT/CN2019/107160 2019-09-22
PCT/CN2020/116707 WO2021052508A1 (en) 2019-09-22 2020-09-22 Padding process in adaptive loop filtering

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023117435A Division JP2023139106A (ja) 2019-09-22 2023-07-19 適応ループフィルタリングにおけるパディングプロセス

Publications (2)

Publication Number Publication Date
JP2022548935A JP2022548935A (ja) 2022-11-22
JP7318120B2 true JP7318120B2 (ja) 2023-07-31

Family

ID=74883940

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022517725A Active JP7318120B2 (ja) 2019-09-22 2020-09-22 適応ループフィルタリングにおけるパディングプロセス
JP2023117435A Pending JP2023139106A (ja) 2019-09-22 2023-07-19 適応ループフィルタリングにおけるパディングプロセス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023117435A Pending JP2023139106A (ja) 2019-09-22 2023-07-19 適応ループフィルタリングにおけるパディングプロセス

Country Status (6)

Country Link
US (3) US11652998B2 (ja)
EP (1) EP4018652A4 (ja)
JP (2) JP7318120B2 (ja)
KR (1) KR20220061980A (ja)
CN (3) CN114503594B (ja)
WO (2) WO2021052508A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113475072B (zh) * 2019-03-04 2023-12-15 北京字节跳动网络技术有限公司 视频处理中滤波信息的信令
WO2021201617A1 (ko) * 2020-03-31 2021-10-07 엘지전자 주식회사 레이어간 정렬된 서브픽처 정보에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
US20220394309A1 (en) * 2021-05-20 2022-12-08 Lemon Inc. On Padding Methods For Neural Network-Based In-Loop Filter
US20230179763A1 (en) * 2021-12-06 2023-06-08 Tencent America LLC Interpolation Filters for Adaptive Motion Vector Difference Resolution

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130128986A1 (en) 2011-11-23 2013-05-23 Mediatek Inc. Method and Apparatus of Slice Boundary Padding for Loop Filtering
US20130343447A1 (en) 2012-06-25 2013-12-26 Broadcom Corporation Adaptive loop filter (ALF) padding in accordance with video coding

Family Cites Families (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558320B2 (en) 2003-06-13 2009-07-07 Microsoft Corporation Quality control in frame interpolation with motion analysis
CN101207812B (zh) 2007-12-10 2010-04-07 海信集团有限公司 一种视频环路滤波方法
CN102349107B (zh) 2009-02-10 2015-02-18 晶像股份有限公司 块噪声检测和滤波
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
CN102972028B (zh) * 2010-05-17 2015-08-12 Lg电子株式会社 新的帧内预测模式
MX2013003696A (es) 2010-09-30 2013-05-20 Mitsubishi Electric Corp Dispositivo de codificacion de imagen en movimiento, dispositivo de decodificacion de imagen en movimiento, metodo de codificacion de imagen en movimiento y metodo de decodificacion de imagen en movimiento.
US8861617B2 (en) * 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
CA2805722C (en) 2010-10-05 2016-03-29 Ching-Yeh Chen Method and apparatus of region-based adaptive loop filtering
US9525884B2 (en) 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
KR101567467B1 (ko) 2011-05-10 2015-11-09 미디어텍 인크. 루프내 필터 버퍼의 감소를 위한 방법 및 장치
KR101956284B1 (ko) 2011-06-30 2019-03-08 엘지전자 주식회사 보간 방법 및 이를 이용한 예측 방법
US9641866B2 (en) 2011-08-18 2017-05-02 Qualcomm Incorporated Applying partition-based filters
US9357235B2 (en) * 2011-10-13 2016-05-31 Qualcomm Incorporated Sample adaptive offset merged with adaptive loop filter in video coding
WO2013060250A1 (en) * 2011-10-24 2013-05-02 Mediatek Inc. Method and apparatus for non-cross-tile loop filtering
US9247258B2 (en) 2011-10-26 2016-01-26 Qualcomm Incorporated Unified design for picture partitioning schemes
US20130107973A1 (en) * 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9538200B2 (en) * 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US9591331B2 (en) * 2012-03-28 2017-03-07 Qualcomm Incorporated Merge signaling and loop filter on/off signaling
US8983218B2 (en) 2012-04-11 2015-03-17 Texas Instruments Incorporated Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding
KR102070622B1 (ko) 2012-11-23 2020-01-29 삼성전자주식회사 동영상을 위한 양자화 테이블 추정 방법 및 장치
US9596461B2 (en) 2012-11-26 2017-03-14 Qualcomm Incorporated Loop filtering across constrained intra block boundaries in video coding
WO2014107709A2 (en) 2013-01-07 2014-07-10 Vid Scale, Inc. Enhanced deblocking filters for video coding
US9294776B2 (en) 2013-03-05 2016-03-22 Qualcomm Incorporated Parallel processing for video coding
US9648335B2 (en) 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers
US9628792B2 (en) 2013-07-15 2017-04-18 Qualcomm Incorporated Cross-layer parallel processing and offset delay parameters for video coding
WO2015043501A1 (en) 2013-09-27 2015-04-02 Qualcomm Incorporated Residual coding for depth intra prediction modes
EP3761641A1 (en) 2013-11-15 2021-01-06 MediaTek Inc. Method of block-based adaptive loop filtering
US9807406B2 (en) 2014-03-17 2017-10-31 Qualcomm Incorporated Picture flushing and decoded picture buffer parameter inference for multi-layer bitstreams
WO2015165030A1 (en) * 2014-04-29 2015-11-05 Microsoft Technology Licensing, Llc Encoder-side decisions for sample adaptive offset filtering
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US20160227222A1 (en) 2015-02-02 2016-08-04 Mediatek Inc. Multi-Standard Video Decoder with Novel Intra Prediction Decoding
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
US20160241881A1 (en) 2015-02-13 2016-08-18 Mediatek Inc. Method and Apparatus of Loop Filters for Efficient Hardware Implementation
KR102390073B1 (ko) * 2015-06-08 2022-04-25 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 인트라 블록 카피 모드
WO2017045101A1 (en) 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd. Advanced deblocking filter in video coding
KR102432085B1 (ko) 2015-09-23 2022-08-11 노키아 테크놀로지스 오와이 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품
US10531111B2 (en) 2015-11-06 2020-01-07 Microsoft Technology Licensing, Llc Flexible reference picture management for video encoding and decoding
KR102345475B1 (ko) * 2016-01-05 2022-01-03 한국전자통신연구원 잔차 신호에 대한 예측 방법 및 장치
WO2017133660A1 (en) 2016-02-04 2017-08-10 Mediatek Inc. Method and apparatus of non-local adaptive in-loop filters in video coding
US11405611B2 (en) 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
US10264282B2 (en) 2016-06-27 2019-04-16 Mediatek Inc. Method and apparatus of inter coding for VR video using virtual reference frames
JP6983862B2 (ja) 2016-07-08 2021-12-17 ヴィド スケール インコーポレイテッド ジオメトリ投影を使用する360度ビデオ符号化
US10841581B2 (en) 2016-07-14 2020-11-17 Arris Enterprises Llc Region specific encoding and SAO-sensitive-slice-width-adaptation for improved-quality HEVC encoding
US20180041778A1 (en) 2016-08-02 2018-02-08 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
CN116634139A (zh) 2016-08-03 2023-08-22 株式会社Kt 用于对视频进行编码和解码的方法和装置
US20180048907A1 (en) * 2016-08-11 2018-02-15 Qualcomm Incorporated Video coding tools for in-loop sample processing
US20180054613A1 (en) 2016-08-22 2018-02-22 Mediatek Inc. Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus
US10419757B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US10623737B2 (en) * 2016-10-04 2020-04-14 Qualcomm Incorporated Peak sample adaptive offset
KR20180057566A (ko) 2016-11-22 2018-05-30 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN108111851B (zh) 2016-11-25 2020-12-22 华为技术有限公司 一种去块滤波方法及终端
US10555006B2 (en) 2016-12-22 2020-02-04 Qualcomm Incorporated Deriving bilateral filter information based on a prediction mode in video coding
US20180184127A1 (en) 2016-12-22 2018-06-28 Qualcomm Incorporated Determining neighboring samples for bilateral filtering in video coding
US20180192074A1 (en) * 2017-01-03 2018-07-05 Mediatek Inc. Video processing method for processing projection-based frame with 360-degree content represented by projection faces packed in 360-degree virtual reality projection layout
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
US11277635B2 (en) 2017-03-17 2022-03-15 Vid Scale, Inc. Predictive coding for 360-degree video based on geometry padding
EP3606077A4 (en) 2017-03-22 2021-01-06 Industry - University Cooperation Foundation Hanyang University LOOP FILTERING PROCESS ACCORDING TO AN ADAPTIVE PIXEL CLASSIFICATION STANDARD
US11212497B2 (en) 2017-03-30 2021-12-28 Samsung Electronics Co., Ltd. Method and apparatus for producing 360 degree image content on rectangular projection by selectively applying in-loop filter
SG11201909450WA (en) 2017-04-11 2019-11-28 Vid Scale Inc 360-degree video coding using face continuities
US10778974B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
US10728573B2 (en) * 2017-09-08 2020-07-28 Qualcomm Incorporated Motion compensated boundary pixel padding
EP3454556A1 (en) 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
KR20200064989A (ko) 2017-09-20 2020-06-08 브이아이디 스케일, 인크. 360도 비디오 코딩에서의 면 불연속 처리
CN111213378B (zh) 2017-10-09 2022-05-03 佳能株式会社 用于对像素块进行去块滤波的方法和装置
US10965941B2 (en) 2017-10-09 2021-03-30 Qualcomm Incorporated Position-dependent prediction combinations in video coding
JP2021016016A (ja) 2017-10-20 2021-02-12 シャープ株式会社 動画像符号化装置及び動画像復号装置
EP3704857A1 (en) 2017-11-01 2020-09-09 VID SCALE, Inc. Overlapped block motion compensation
US11641488B2 (en) 2017-11-01 2023-05-02 Vid Scale, Inc. Methods for simplifying adaptive loop filter in video coding
US10728549B2 (en) 2017-11-06 2020-07-28 Dolby Laboratories Licensing Corporation Adaptive loop filtering for high-dynamic range video
CN107801024B (zh) 2017-11-09 2019-07-12 北京大学深圳研究生院 一种用于帧内预测的边界滤波方法
US10721469B2 (en) 2017-11-28 2020-07-21 Qualcomm Incorporated Line buffer reduction for adaptive loop filtering in video coding
CN111615828B (zh) 2017-11-29 2023-01-10 韩国电子通信研究院 采用环内滤波的图像编码/解码方法和装置
CN111713111B (zh) 2017-12-19 2024-04-09 Vid拓展公司 用于360度视频译码的面不连续性滤波
WO2019131400A1 (ja) 2017-12-26 2019-07-04 シャープ株式会社 画像フィルタ装置、画像復号装置、および画像符号化装置
WO2019131651A1 (en) 2017-12-29 2019-07-04 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
CN109996069B (zh) 2018-01-03 2021-12-10 华为技术有限公司 视频图像编解码方法及设备
US10972729B2 (en) 2018-01-20 2021-04-06 Qualcomm Incorporated Deblocking filter selection and application in video coding
US20190238845A1 (en) * 2018-01-26 2019-08-01 Qualcomm Incorporated Adaptive loop filtering on deblocking filter results in video coding
US11212438B2 (en) 2018-02-14 2021-12-28 Qualcomm Incorporated Loop filter padding for 360-degree video coding
CN110337811A (zh) 2018-02-14 2019-10-15 北京大学 运动补偿的方法、装置和计算机系统
US20190281273A1 (en) 2018-03-08 2019-09-12 Mediatek Inc. Adaptive loop filtering method for reconstructed projection-based frame that employs projection layout of 360-degree virtual reality projection
US11470359B2 (en) 2018-03-30 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks at a boundary of a picture for video coding
US10708592B2 (en) 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
WO2019208372A1 (ja) 2018-04-25 2019-10-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10904576B2 (en) 2018-04-27 2021-01-26 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method for generating a prediction image using a plurality of pixels generated outside of a boundary of a reference picture on which smoothing has been performed
EP3804315A4 (en) 2018-05-31 2022-03-09 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PARTITIONING VIDEO BLOCKS INTO A SLOT FOR INTERPRETING VIDEO DATA
CN112272950A (zh) 2018-06-18 2021-01-26 交互数字Vc控股公司 帧内预测中的平面和dc模式的边界滤波
CN111819847B (zh) 2018-06-21 2022-08-09 瑞典爱立信有限公司 视频图片边界的编码、解码方法、编解码器及存储介质
KR20200002011A (ko) 2018-06-28 2020-01-07 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11818340B2 (en) 2018-07-06 2023-11-14 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium in which bitstream is stored
US11094088B2 (en) 2018-08-31 2021-08-17 Mediatek Inc. Method and apparatus of in-loop filtering for virtual boundaries in video coding
CN116781935A (zh) 2018-09-14 2023-09-19 华为技术有限公司 视频译码中的分块指示
WO2020083108A1 (en) 2018-10-23 2020-04-30 Mediatek Inc. Method and apparatus for reduction of in-loop filter buffer
CN112913247B (zh) 2018-10-23 2023-04-28 北京字节跳动网络技术有限公司 使用局部照明补偿的视频处理
CN109600611B (zh) * 2018-11-09 2021-07-13 北京达佳互联信息技术有限公司 环路滤波方法、环路滤波装置、电子设备和可读介质
CN109660797A (zh) 2018-11-09 2019-04-19 北京达佳互联信息技术有限公司 自适应滤波方法、装置、电子设备及计算机可读介质
US11044473B2 (en) 2018-12-21 2021-06-22 Qualcomm Incorporated Adaptive loop filtering classification in video coding
KR20210100737A (ko) 2018-12-23 2021-08-17 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더 및 적응 루프 필터를 사용한 대응 방법들
HRP20230682T1 (hr) 2019-01-09 2023-10-13 Huawei Technologies Co., Ltd. Ograničenja položaja podslike kod kodiranja videa
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020176636A1 (en) 2019-02-27 2020-09-03 Futurewei Technologies, Inc. Luma mapping with chroma scaling adaptation parameter set in video coding
JP7288071B2 (ja) 2019-03-02 2023-06-06 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置及び記憶媒体
US11910024B2 (en) 2019-03-11 2024-02-20 Qualcomm Incorporated Boundary handling for adaptive loop filtering
MX2021011023A (es) 2019-03-11 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
SG11202110102YA (en) 2019-03-24 2021-10-28 Beijing Bytedance Network Technology Co Ltd Nonlinear adaptive loop filtering in video processing
TWI739386B (zh) 2019-04-11 2021-09-11 聯發科技股份有限公司 具有適應性參數集之適應性迴路濾波器
CN113678464B (zh) 2019-04-15 2022-12-02 北京字节跳动网络技术有限公司 非线性自适应环路滤波器中的参数的时域预测
CN117499679A (zh) 2019-04-16 2024-02-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
CN113994671B (zh) 2019-06-14 2024-05-10 北京字节跳动网络技术有限公司 基于颜色格式处理视频单元边界和虚拟边界
CN114097225B (zh) * 2019-07-09 2024-04-19 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
AU2020309443A1 (en) 2019-07-11 2022-02-10 Samsung Electronics Co., Ltd. Video decoding method and apparatus, and video encoding method and apparatus
JP7291845B2 (ja) * 2019-07-11 2023-06-15 北京字節跳動網絡技術有限公司 適応ループフィルタリングにおけるサンプルパディング
US20220303587A1 (en) 2019-09-05 2022-09-22 Hfi Innovation Inc. Method and Apparatus for Adaptive Loop Filtering at Picture and Sub-Picture Boundary in Video Coding
US11303890B2 (en) 2019-09-05 2022-04-12 Qualcomm Incorporated Reusing adaptive loop filter (ALF) sub-picture boundary processing for raster-scan slice boundaries

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130128986A1 (en) 2011-11-23 2013-05-23 Mediatek Inc. Method and Apparatus of Slice Boundary Padding for Loop Filtering
US20130343447A1 (en) 2012-06-25 2013-12-26 Broadcom Corporation Adaptive loop filter (ALF) padding in accordance with video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Hongbin Liu, et al.,Non-CE5: Fixes of ALF sample padding,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0492,16th Meeting: Geneva, CH,2019年09月,pp.1-2
Hongbin Liu, et al.,Non-CE5: Padding method for samples at variant boundaries in ALF,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0625,15th Meeting: Gothenburg, SE,2019年06月,pp.1-4
Jianle Chen, and Hendry,On padding process of adaptive loop filter,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0121-v1,16th Meeting: Geneva, CH,2019年09月,pp.1-4
Minhua Zhou,AHG16/HLS: A clean-up for the ALF sample padding,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0053-v1,16th Meeting: Geneva, CH,2019年09月,pp.1-3

Also Published As

Publication number Publication date
EP4018652A4 (en) 2022-11-02
CN114503594A (zh) 2022-05-13
JP2023139106A (ja) 2023-10-03
WO2021052508A1 (en) 2021-03-25
US11652998B2 (en) 2023-05-16
KR20220061980A (ko) 2022-05-13
US20230081202A1 (en) 2023-03-16
US20230199190A1 (en) 2023-06-22
CN117278747A (zh) 2023-12-22
US11671594B2 (en) 2023-06-06
CN114430902A (zh) 2022-05-03
US20230080321A1 (en) 2023-03-16
CN114503594B (zh) 2024-04-05
WO2021052509A1 (en) 2021-03-25
JP2022548935A (ja) 2022-11-22
EP4018652A1 (en) 2022-06-29
CN114430902B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
JP7291845B2 (ja) 適応ループフィルタリングにおけるサンプルパディング
JP7291846B2 (ja) 適応ループフィルタリングのためのサンプル決定
CN113994671B (zh) 基于颜色格式处理视频单元边界和虚拟边界
JP7318120B2 (ja) 適応ループフィルタリングにおけるパディングプロセス
JP7326600B2 (ja) 異なるビデオユニット間の適応ループフィルタリング
JP7433346B2 (ja) ビデオ単位境界および仮想境界の処理
JP7454042B2 (ja) 適応ループ・フィルタリングにおける利用可能でないサンプル位置でのパディング・プロセス
WO2021008546A1 (en) Accessing samples across video unit boundaries in adaptive loop filtering
KR102669852B1 (ko) 적응적 루프 필터링을 위한 샘플 결정
CN114128296A (zh) 自适应环路滤波中跨视频单元边界访问样点

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230526

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230719

R150 Certificate of patent or registration of utility model

Ref document number: 7318120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150