JP7433346B2 - ビデオ単位境界および仮想境界の処理 - Google Patents

ビデオ単位境界および仮想境界の処理 Download PDF

Info

Publication number
JP7433346B2
JP7433346B2 JP2021573862A JP2021573862A JP7433346B2 JP 7433346 B2 JP7433346 B2 JP 7433346B2 JP 2021573862 A JP2021573862 A JP 2021573862A JP 2021573862 A JP2021573862 A JP 2021573862A JP 7433346 B2 JP7433346 B2 JP 7433346B2
Authority
JP
Japan
Prior art keywords
boundary
picture
video
coding tree
tree 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
JP2021573862A
Other languages
English (en)
Other versions
JP2022536519A (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 JP2022536519A publication Critical patent/JP2022536519A/ja
Application granted granted Critical
Publication of JP7433346B2 publication Critical patent/JP7433346B2/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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

関連出願への相互参照
本願は2020年6月15日に出願された国際特許出願第PCT/CN2020/096044号に基づく。同出願は、2019年6月14日に出願された国際特許出願第PCT/CN2019/091324号、2019年6月25日に出願された国際特許出願第PCT/CN2019/092861号、2019年7月8日に出願された国際特許出願第PCT/CN2019/095157号の優先権および利益を適時に主張するために行われる。上記の特許出願すべてはここに参照によりその全体において組み込まれる。
技術分野
この特許文献は、概括的には、ビデオコーディングおよび復号技術に向けられる。
ビデオコーディング規格は、主に、よく知られたITU-TおよびISO/IEC規格の開発を通じて発展してきた。ITU-TはH.261とH.263を、ISO/IECはMPEG-1とMPEG-4 Visualを、両組織は合同でH.262/MPEG-2 VideoとH.264/MPEG-4 Advanced Video Coding(AVC)とH.265/High Efficiency Video Coding(HEVC)規格を作成した。H.262以来、ビデオコーディング規格は、時間的予測と変換コーディングが利用されるハイブリッド・ビデオコーディング構造に基づいている。HEVCを越えた将来のビデオコーディング技術を探求するため、2015年にVCEGとMPEGによって合同で、合同ビデオ探査チーム(JVET)が設立された。それ以来、JVETによって多くの新しい方法が採用され、JEM(Joint Exploration Model[合同探査モデル])と名付けられた参照ソフトウェアに入れられた。2018年4月には、HEVCと比較して50%のビットレート低減を目標とした次世代の多用途ビデオコーディング(VVC)規格に取り組むために、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間でJVETが作成された。
開示されたビデオコーディング、トランスコーディングまたは復号技術を使用して、ビデオ・エンコーダまたはデコーダの実施形態は、より良好な圧縮効率と、コーディングまたは復号ツールのより単純な実装とを提供するよう、コーディングツリー・ブロックの仮想境界を処理することができる。
ある例示的な側面では、ビデオ処理の方法が開示される。この方法は、一つまたは複数のブロックを含むビデオのピクチャーと、そのビデオのビットストリーム表現との間の変換のために、ピクチャー内のあるブロックについて仮想境界がフィルタリング・プロセスのために有効にされるかどうかを、そのブロックの下部境界とピクチャーとの間の関係に関連する規則に基づいて決定することを含む。この方法はまた、該決定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、一つまたは複数のブロックを含むビデオのピクチャーと、そのビデオのビットストリーム表現との間の変換のために、ピクチャー内のあるブロックのためのフィルタリング・プロセスに関連するパディング・プロセスに基づいて生成される仮想サンプルの使用を、そのブロックの寸法に関連する規則に基づいて決定することを含む。この方法はまた、該決定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、一つまたは複数のビデオ単位を含むビデオのピクチャーと、そのビデオのビットストリーム表現との間の変換のために、フィルタリング・プロセスにおける前記一つまたは複数のビデオ単位の境界をまたいだサンプルの使用を無効にすることを決定することを含む。ビットストリーム表現は、前記使用が有効にされることを示す構文フラグをもって構成される。この方法はまた、該決定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、ビデオのあるブロックとそのビデオのビットストリーム表現との間の変換のために、規則に従ってパディング・プロセスがフィルタリング・プロセスのために適用される統一された仕方を決定することを含む。パディング・プロセスは、異なるビデオ単位の境界に近接して位置するブロックのサンプルのために一つまたは複数の仮想サンプルを生成するために適用される。この方法はまた、該決定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、ビデオのあるブロックとそのビデオのビットストリーム表現との間の変換のために、規則に従ってフィルタリング・プロセスにおいてパディング・プロセスが適用されるラインの数を決定することを含む。パディング・プロセスは、少なくとも2つの境界に近接して位置するブロックのサンプルのための一つまたは複数の仮想サンプルを生成するために適用され、前記少なくとも2つの境界は仮想境界と少なくとも1つの他の境界を含む。前記規則は、前記サンプルと前記少なくとも2つの境界の間の距離に関係する。この方法はまた、該決定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、ビデオ単位のビデオのあるブロックとそのビデオのビットストリーム表現との間の変換のために、(1)一つまたは複数のループ内フィルタリング・プロセスを適用する前に第1のサンプルを選択する第1の態様、および(2)前記一つまたは複数のループ内フィルタリング・プロセスを適用した後、適応フィルタリング・プロセスを適用する前に、第2のサンプルを選択する第2の態様を決定することを含む。この方法はまた、該決定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、ビデオ単位のビデオのあるブロックと、そのビデオのビットストリーム表現との間の変換のために、フィルタリング・プロセスのためにそのブロックのあるサンプルについて一つまたは複数の仮想サンプルを生成するために、複数のパディング・プロセスを適用する順序を決定することを含む。この方法はまた、該決定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、ビデオのあるブロックとそのビデオのビットストリーム表現との間の変換のために、そのブロックの成分素性(component identity)に関連する規則に従って、そのブロックのあるサンプルがそのブロックの境界からある距離内に位置され、フィルタリング・プロセスのための境界サンプルとなるかどうかを判定することを含む。この方法はまた、該判定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、ビデオのブロックとそのビデオのビットストリーム表現との間の変換のために、フィルタリング・プロセスのための、そのビデオのビデオ単位の境界をまたいだサンプルの使用が無効にされることを決定することを含む。ビデオは、一つまたは複数のビデオ単位を含み、前記一つまたは複数のビデオ単位のそれぞれは、一つまたは複数のブロックを含む。この方法はまた、該決定に基づいて前記変換を実行することをも含む。
別の例では、ビデオ処理の方法が開示される。この方法は、ビデオのあるブロックとそのビデオのビットストリーム表現との間の変換のために、パディング・サンプルを使用することなくそのブロックにフィルタリング・プロセスを適用する態様を決定することを含む。この方法はまた、該決定に基づいて前記変換を実行することを含む。
別の例示的な側面では、ビデオ処理の方法が開示される。この方法は、ビデオ・ピクチャーのビデオ・ブロックとそのビットストリーム表現との間の変換を実行することを含む。ここで、ビデオ・ブロックはコーディングツリー・ブロックの論理的なグループ化を用いて処理され、コーディングツリー・ブロックは、下部コーディングツリー・ブロックの下部境界がそのビデオ・ピクチャーの下部境界の外側にあるかどうかに基づいて処理される。
別の例示的な側面では、別のビデオ処理方法が開示される。この方法は、現在のビデオ・ブロックのコーディングツリー・ブロックの条件に基づいて、ループ内フィルタリング中の仮想サンプルの使用状態を決定し、仮想サンプルの該使用状態と整合する、そのビデオ・ブロックとそのビデオ・ブロックのビットストリーム表現との間の変換を実行することを含む。
さらに別の例示的な側面では、別のビデオ処理方法が開示される。本方法は、一つまたは複数のビデオ・スライスまたはビデオ・ブリックに論理的にグループ化されたビデオ・ピクチャーと、そのビデオ・ピクチャーのビットストリーム表現との間の変換中に、適応ループ・フィルタ・プロセスにおける別のスライスまたはブリックでのサンプルの使用を無効にすることを決定し、該決定と整合する前記変換を実行することを含む。
さらに別の例示的な側面では、別のビデオ処理方法が開示される。この方法は、ビデオ・ピクチャーの現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換の間に、現在のビデオ・ブロックが、ビデオ・ピクチャーのビデオ単位の境界に位置するサンプルを含むことを決定し、前記決定に基づいて前記変換を実行することを含み、前記変換を実行することは、前記ビデオ・ピクチャーにおけるすべての境界タイプについて同じである統一された方法を使用して、ループ内フィルタリング・プロセスのための仮想サンプルを生成することを含む。
さらに別の例示的な側面では、ビデオ処理の別の方法が開示される。この方法は、ビデオ・ピクチャーの現在のビデオ・ブロックとそのビットストリーム表現との間の変換中に、該変換中にそのビデオ・ピクチャーのために利用可能な複数の適応ループ・フィルタ(ALF)サンプル選択方法のうちの1つを適用することを決定し、複数のALFサンプル選択方法のうちの該1つを適用することによって前記変換を実行することを含む。
さらに別の例示的な側面では、ビデオ処理の別の方法が開示される。この方法は、境界規則に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、ビデオ・ピクチャーの現在のビデオ・ブロックの諸サンプルに対してループ内フィルタリング動作を実行する段階であって、前記境界規則は、ビデオ・ピクチャーの仮想パイプライン・データ単位(virtual pipeline data unit、VPDU)を横断するサンプルを使用することを無効にする、段階と、前記ループ内フィルタリング動作の結果を使用して前記変換を実行する段階とを含む。
さらに別の例示的な側面では、ビデオ処理の別の方法が開示される。この方法は、境界規則に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、ビデオ・ピクチャーの現在のビデオ・ブロックの諸サンプルに対してループ内フィルタリング動作を実行する段階であって、前記境界規則は、ビデオ単位境界をまたぐ現在のビデオ・ブロックの諸位置について、パディングを使用することなく生成されたサンプルを使用することを指定する、段階と、前記ループ内フィルタリング動作の結果を使用して前記変換を実行する段階とを含む。
さらに別の例示的な側面では、ビデオ処理の別の方法が開示される。この方法は、境界規則に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、ビデオ・ピクチャーの現在のビデオ・ブロックの諸サンプルに対してループ内フィルタリング動作を実行する段階であって、前記境界規則は、前記ループ内フィルタリング動作のために、該ループ内フィルタリングの間に使用される現在のビデオ・ブロックの諸サンプルが前記ビデオ・ピクチャーのビデオ単位の境界をまたがないような寸法を有するフィルタを選択することを指定する、段階と、前記ループ内フィルタリング動作の結果を使用して前記変換を実行する段階とを含む。
さらに別の例示的な側面では、ビデオ処理の別の方法が開示される。この方法は、境界規則に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、ビデオ・ピクチャーの現在のビデオ・ブロックの諸サンプルに対してループ内フィルタリング動作を実行する段階であって、前記境界規則は、前記ループ内フィルタリング動作について、パディングされたサンプルが該ループ内フィルタリングのために必要とされるかどうかに基づいて、クリッピング・パラメータまたはフィルタ係数を選択することを指定する、段階と、前記ループ内フィルタリング動作の結果を使用して前記変換を実行する段階とを含む。
さらに別の例示的な側面では、ビデオ処理の別の方法が開示される。この方法は、境界規則に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、ビデオ・ピクチャーの現在のビデオ・ブロックの諸サンプルに対してループ内フィルタリング動作を実行する段階であって、前記境界規則は、現在のビデオ・ブロックの色成分素性に依存する、段階と、前記ループ内フィルタリング動作の結果を使用して前記変換を実行する段階とを含む。
さらに別の例示的な側面では、上述の方法を実行するように構成されたビデオ・エンコード装置が開示される。
さらに別の例示的な側面では、上述の方法を実行するように構成されたビデオ・デコーダが開示される。
さらに別の例示的な側面では、機械読み取り可能媒体が開示される。媒体は、実行時に、プロセッサに、上述した方法の一つまたは複数を実施させるコードを格納する。
開示された技術の上記および他の側面および特徴は、図面、明細書および特許請求の範囲において、より詳細に記載される。
12個のタイルと3個のラスタ走査スライスに分割された18×12のルーマコーディングツリー単位CTUをもつピクチャーの例を示す。
24個のタイルと9個の長方形スライスに分割された18×12のルーマCTUをもつピクチャーの例を示す。
4個のタイル、11個のブリック、および4個の長方形スライスに分割されたピクチャーの例を示す。
K=M、L<Nの場合に、ピクチャー境界をまたぐコーディングツリー・ブロックCTBの例を示す。
K<M、L=Nの場合に、ピクチャー境界をまたぐコーディングツリー・ブロックCTBの例を示す。
K<M、L<Nの場合に、ピクチャー境界をまたぐコーディングツリー・ブロック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の処理の別の例を示す。
開示された技法が実装されうる例示的なビデオ処理システムのブロック図である。
本技術によるビデオ処理方法のフローチャート表現である。
本技術によるビデオ処理方法の別のフローチャート表現である。
本技術によるビデオ処理方法の別のフローチャート表現である。
本技術によるビデオ処理方法の別のフローチャート表現である。
本技術によるビデオ処理方法の別のフローチャート表現である。
本技術によるビデオ処理方法の別のフローチャート表現である。
本技術によるビデオ処理方法の別のフローチャート表現である。
本技術によるビデオ処理方法の別のフローチャート表現である。
本技術によるビデオ処理方法の別のフローチャート表現である。
本技術によるビデオ処理方法のさらに別のフローチャート表現である。
セクション見出しは、理解を容易にするために本文書で使用されており、セクションにおいて開示される実施形態をそのセクションのみに限定するものではない。さらに、ある種の実施形態が、多用途ビデオコーディングまたは他の特定のビデオ・コーデックを参照して記述されているが、開示された技法は、他のビデオコーディング技術にも適用可能である。さらに、いくつかの実施形態は、ビデオコーディングステップを詳細に記述するが、コーディングを元に戻す対応する復号ステップがデコーダによって実装されることが理解されるであろう。さらに、ビデオ処理という用語は、ビデオコーディングまたは圧縮、ビデオ復号または圧縮解除、およびビデオ・ピクセルがある圧縮フォーマットから別の圧縮フォーマットに、または別の圧縮されたビットレートで表現されるビデオ・トランスコードを包含する。
1. 概要
本文書は、ビデオコーディング技術に関する。具体的には、特に非線形適応ループ・フィルタについての、ピクチャー/スライス/タイル/ブリック境界および仮想境界コーディングに関連する。これは、HEVCのような既存のビデオコーディング規格、またはこれから最終化される規格(多用途ビデオコーディング)に適用されうる。これは、将来のビデオコーディング規格またはビデオ・コーデックにも適用可能でありうる。
2. 最初の議論
ビデオコーディング規格は、主に、よく知られたITU-TおよびISO/IEC規格の開発を通じて発展してきた。ITU-TはH.261とH.263を、ISO/IECはMPEG-1とMPEG-4 Visualを、両組織は合同でH.262/MPEG-2 VideoとH.264/MPEG-4 Advanced Video Coding(AVC)とH.265/HEVC規格を作成した。H.262以来、ビデオコーディング規格は、時間的予測と変換コーディングが利用されるハイブリッド・ビデオコーディング構造に基づいている。HEVCを越えた将来のビデオコーディング技術を探求するため、2015年にVCEGとMPEGによって合同で、合同ビデオ探査チーム(JVET)が設立された。それ以来、JVETによって多くの新しい方法が採用され、合同探査モデル(JEM)と名付けられた参照ソフトウェアに入れられた。2018年4月には、HEVCと比較して50%のビットレート低減を目標とした次世代のVVC規格に取り組むために、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間でJVETが作成された。
2.1 色空間およびクロマ・サブサンプリング
色モデル(または色系)としても知られている色空間は、単に色の範囲を数字のタプルとして、典型的には3つまたは4つの値または色成分(たとえば、RGB)として記述する抽象的な数学モデルである。基本的には、色空間は座標系と部分空間の精緻化である。
ビデオ圧縮のために、最も頻繁に使用される色空間は、YCbCrとRGBである。
YCbCr、Y'CbCr、またはY Pb/Cb Pr/Crは、YCBCRまたはY'CBCRとも書かれ、ビデオおよびデジタル写真システムにおけるカラー画像パイプラインの一部として使用される色空間のファミリーである。Y'はルーマ成分であり、CBとCRは青色差と赤色差クロマ成分である。Y'(プライム付き)は、ルミナンスであるYとは区別される。これは、光強度がガンマ補正されたRGB原色に基づいて非線形にエンコードされることを意味する。
クロマ・サブサンプリングは、ヒト視覚系がルミナンスについてよりも色差について鋭敏さが低いことを利用して、ルーマ情報よりもクロマ情報について、より低い解像度を実装することによって画像をエンコードする慣行である。
2.1.1 カラー・フォーマット4:4:4
3つのY'CbCr成分のそれぞれは同じサンプル・レートをもつので、クロマ・サブサンプリングはない。このスキームは、ハイエンドのフィルムスキャナーや映画ポストプロダクションで使用されることがある。
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は水平方向に同じ位置にされている(cosited)。CbとCrは垂直方向においてピクセル間に位置する(間隙に位置する)。
JPEG/JFIF、H.261、MPEG-1では、CbとCrは、交互のルーマ・サンプルの中間で、間隙に位置する。
4:2:0 DVでは、CbとCrは水平方向に同じ位置にされる。垂直方向では、それらは交互の線上で同じ位置にされる。
2.2 さまざまなビデオ単位
ピクチャーは、一つまたは複数のタイル行および一つまたは複数のタイル列に分割される。
タイルは、ピクチャーの長方形領域をカバーするCTUのシーケンスである。
タイルは、一つまたは複数のブリックに分割され、各ブリックは、タイル内のいくつかの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のように小さくてもよい。
7.3.2.3 シーケンスパラメータセットRBSPシンタックス
Figure 0007433346000001
Figure 0007433346000002
log2_ctu_size_minus2に2を加えたものは、各CTUのルーマコーディングツリー・ブロック・サイズを指定する。
log2_min_luma_coding_block_size_minus2に2を加えたものは、最小ルーマ・コーディング・ブロック・サイズを指定する。
変数CtbLog2SizeY、CtbSizeY、MinCbLog2SizeY、MinCbSizeY、MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY、MaxTbSizeY、PicWidthInCtbsY、PicHeightInCtbsY、PicSizeInCtbsY、PicWidthInMinCbsY、PicHeightInMinCbsY、PicSizeInMinCbsY、PicSizeInSamplesY、PicWidthInSamplesCおよびPicHeightInSamplesCは、次のように導出される:
Figure 0007433346000003
2.2.2 ピクチャーにおけるCTU
CTB/LCUサイズがM×Nによって示され(典型的には、Mは、HEVC/VVCで定義されるようにNに等しい)、ピクチャー(または、タイルまたはスライスまたは他の種類のタイプ、ピクチャー境界が例にとられる)境界に位置するCTBについて、K×L個のサンプルがピクチャー境界内にあり、K<MまたはL<Nのいずれかであるとする。図4A~4Cに示されるようなCTBについて、CTBサイズは依然としてM×Nに等しいが、CTBの下部境界/右境界はピクチャーの外側にある。
図4Aは、下部ピクチャー境界をまたぐCTBを示している。図4Bは、右ピクチャー境界をまたぐCTBを示している。図4Cは、右下のピクチャーの境界をまたぐCTBを示している。
図4A~4Cは、ピクチャー境界をまたぐCTBの例を示している。(a)K=M、L<N、(b)K<M、L=N、(c)K<M、L<Nである。
2.3 典型的なビデオ・コーデックのコーディングフロー
図5は、3つのループ内フィルタリング・ブロック、すなわち、ブロッキング解除フィルタ(deblocking filter、DF)、サンプル適応オフセット(sample adaptive offset、SAO)、およびALFを含む、VVCのエンコーダ・ブロック図の例を示す。あらかじめ定義されたフィルタを使用するDFとは異なり、SAOおよびALFは、それぞれオフセットを加えることおよび有限インパルス応答(FIR)フィルタを適用することにより、現在ピクチャーのもとのサンプルを使用して、もとのサンプルと再構成されたサンプルとの間の平均二乗誤差を減少させる。コーディングされたサイド情報が、オフセットおよびフィルタ係数を信号伝達する。ALFは、各ピクチャーの最終処理ステージに位置し、前の諸ステージによって生成されたアーチファクトを捕捉し修正しようとするツールと見なすことができる。
2.4 ブロッキング解除フィルタ(DB)
DBの入力は、ループ内フィルタ前の再構成されたサンプルである。
ピクチャーにおける垂直エッジがまずフィルタリングされる。次いで、垂直エッジ・フィルタリング・プロセスによって修正されたサンプルを入力として、ピクチャーにおける水平エッジがフィルタリングされる。各CTUのCTBにおける垂直エッジおよび水平エッジは、コーディング単位ベースで別個に処理される。コーディング単位内のコーディングブロックの垂直エッジは、コーディングブロックの左側のエッジで始まって、幾何学的順序でコーディングブロックの右側に向かって諸エッジを通じて進むように、フィルタリングされる。コーディング単位内のコーディングブロックの水平エッジは、コーディングブロックの上のエッジで始まって、幾何学的順序でコーディングブロックの底部に向かって諸エッジを通じて進むように、フィルタリングされる。
図6は、8×8グリッド上のピクチャー・サンプルと水平および垂直ブロック境界、および並列にブロッキング解除できる8×8サンプルの重複しないブロックの図解である。
2.4.1. 境界決定
フィルタリングは、8×8ブロック境界に適用される。さらに、それは変換ブロック境界またはコーディングサブブロック境界でなければならない(たとえば、アフィン動き予測、ATMVPの使用による)。そのような境界ではないものについては、フィルタは無効にされる。
2.4.1 境界強度計算
変換ブロック境界/コーディングサブブロック境界について、8×8グリッド内に位置する場合、それはフィルタリングされてもよく、このエッジについてのbS[xDi][yDj]([xDi][yDj]は座標を示す)の設定は、それぞれテーブル1およびテーブル2において定義される。
テーブル1 境界強度(SPS IBCが無効の場合)
Figure 0007433346000004
テーブル2 境界強度(SPS IBCが有効の場合)
Figure 0007433346000005
2.4.3 ルーマ成分についてのブロッキング解除決定
このサブセクションでは、ブロッキング解除決定プロセスが記載される。
図7は、フィルタのオン/オフ決定および強/弱フィルタの選択に関わるピクセルの例を示す。
条件1、条件2、および条件3のすべてが真である場合にのみ、より幅広く、より強いフィルタが使用される。
条件1は「大ブロック条件」である。この条件は、P側とQ側にあるサンプルが、それぞれ変数bSidePisLargeBlkおよびbSideQisLargeBlkで表される大きなブロックに属するかどうかを検出する。bSidePisLargeBlkおよびbSideQisLargeBlkは以下のように定義される。
bSidePisLargeBlk=((エッジ・タイプが垂直であり、かつ、p0がCUに属し、幅>=32)||(エッジ・タイプが水平であり、かつ、p0がCUに属し、高さ>=32)) ? TRUE:FALSE
bSideQisLargeBlk=((エッジ・タイプが垂直であり、かつ、q0がCUに属し、幅>=32)||(エッジ・タイプが水平であり、かつ、q0がCUに属し、高さ>=32)) ? TRUE:FALSE
bSidePisLargeBlkおよびbSideQisLargeBlkに基づき、条件1は次のように定義される。
条件1=(bSidePisLargeBlk||bSidePisLargeBlk) ? TRUE:FALSE
次に、条件1が真(true)である場合は、条件2がさらにチェックされる。まず、次の変数が導出される。
Figure 0007433346000006
条件2=(d<β) ? TRUE:FALSE
ここで、d=dp0+dq0+dp3+dq3である。
条件1と条件2が有効である場合、ブロックのいずれかがサブブロックを使用するかどうかがさらにチェックされる。
Figure 0007433346000007
最後に、条件1と条件2の両方が有効である場合、提案されるブロッキング解除方法は条件3(大ブロック強フィルタ条件)をチェックし、これは以下のように定義される。
条件3 StrongFilterCondition〔強フィルタ条件〕では、次の変数が導出される:
Figure 0007433346000008
HEVCと同様に、StrongFilterCondition=(dpqが(β>>2)より小さく、sp3+sq3が(3*β>>5)より小さく、Abs(p0-q0)が(5*tC+1)>>1より小さい) ? TRUE:FALSE
2.4.4 ルーマについての、より強いブロッキング解除フィルタ(より大きなブロックのために設計)
双線形フィルタは、境界のいずれか一方の側のサンプルが大きなブロックに属する場合に使用される。大きなブロックに属するサンプルは、垂直エッジについては幅≧32である場合、水平エッジについては高さ≧32である場合として定義される。
双線形フィルタは、下記に掲げられる。
i=0からSp-1のブロック境界サンプルpiと、j=0からSq-1のブロック境界サンプルqi(piおよびqiは、上述のHEVCブロッキング解除における、垂直エッジをフィルタリングするための行内のi番目のサンプル、または水平エッジをフィルタリングするための列内のi番目のサンプル)は、次いで、次のように線形補間によって置き換えられる:
Figure 0007433346000009
ここで、tcPDiおよびtcPDjの項は、セクション2.4.7で説明されている位置依存のクリッピングであり、gj、fi、Middles,t、PsおよびQsは下記で与えられる。
2.4.5 クロマについてのブロッキング解除制御
クロマ強フィルタは、ブロック境界の両側で使用される。ここで、クロマ・フィルタは、クロマ・エッジの両側が8(クロマ位置)以上であり、3つの条件に関する以下の判定が満たされる場合に選択される:第1の条件は、境界強度と大きなブロックの決定のためのものである。提案されるフィルタは、ブロック・エッジを直交して横切るブロック幅または高さがクロマ・サンプル領域において8以上である場合に適用できる。第2および第3の条件は、基本的にHEVCルーマ・ブロッキング解除決定の場合と同じであり、それぞれオン/オフ決定および強フィルタ決定である。
第1の決定では、境界強度(boundary strength、bS)がクロマ・フィルタリングのために修正され、諸条件が逐次的にチェックされる。ある条件が満たされる場合、より低い優先度の残りの条件はスキップされる。
クロマ・ブロッキング解除は、bSが2に等しい場合、または大きなブロック境界が検出された場合にbSが1に等しい場合に実行される。
第2および第3の条件は、基本的に、次のようなHEVCルーマ強フィルタ決定と同じである。
第2の条件では:
次いで、dはHEVCルーマ・ブロッキング解除のように導出される。
dがβより小さいとき、第2の条件は真になる。
第3の条件では、StrongFilterConditionは次のように導出される:
dpqは、HEVCと同様に導出される。
sp3=Abs(p3-p0), HEVCと同様に導出される
sq3=Abs(q0-q3), HEVCと同様に導出される
HEVC設計と同様に、StrongFilterCondition=(dpqは(β>>2)より小さく、sp3+sq3は(β>>3)より小さく、Abs(p0-q0)は(5*tC+1)>>1より小さい。
2.4.6 クロマについての強いブロッキング解除フィルタ
次のクロマについての強いブロッキング解除フィルタが定義される:
Figure 0007433346000010
提案されるクロマ・フィルタは、4×4クロマ・サンプル・グリッド上でブロッキング解除を実行する。
2.4.7 位置依存クリッピング
位置依存クリッピングtcPDは、境界にある7個、5個および3個のサンプルを修正する強く、長いフィルタに関わるルーマ・フィルタリング・プロセスの出力サンプルに適用される。量子化誤差分布を仮定して、より高い量子化ノイズを有することが期待され、よって、再構成されたサンプル値の、真のサンプル値からの、より高い偏差を有することが期待されるサンプルについて、クリッピング値を増加させることが提案される。
非対称フィルタでフィルタリングされる各PまたはQ境界について、セクション2.4.2における判断プロセスの結果に依存して、位置依存閾値テーブルは、サイド情報としてデコーダに提供される2つのテーブル(たとえば、以下に表に示されるTc7およびTc3)から選択される:
Figure 0007433346000011
短い対称フィルタでフィルタリングされるPまたはQ境界については、より低い絶対値の位置依存閾値が適用される:
Tc3={3,2,1};
閾値を定義した後、フィルタリングされたp'iおよびq'iのサンプル値は、tcPおよびtcQクリッピング値に従ってクリッピングされる:
p"i=Clip3(p'i+tcPi,p'i-tcPi,p'i);
q"j=Clip3(q'j+tcQj,q'j-tcQj,q'j);
ここで、p'iとq'iはフィルタリングされたサンプル値、p"iとq"jはクリッピング後の出力サンプル値、tcPi はVVC tcパラメータとtcPDとtcQDから導出されたクリッピング閾値である。関数Clip3は、VVCで指定されるクリッピング関数である。
2.4.8 サブブロックのブロッキング解除調整
長いフィルタとサブブロック・ブロッキング解除の両方を用いた並列フレンドリーなブロッキング解除を可能にするために、長いフィルタは、長いフィルタのルーマ・コントロールに示されるように、サブブロック・ブロッキング解除(アフィン、ATMVP、DMVR)を使用する側で、高々5つのサンプルで修正するように制限される。さらに、サブブロック・ブロッキング解除は、CUまたは暗黙的なTU境界に近い8×8グリッド上のサブブロック境界が、それぞれの側の高々2つのサンプルを修正するように制限されるように調整される。
以下は、CU境界と整列していないサブブロック境界に適用される。
Figure 0007433346000012
ここで、0に等しいエッジはCU境界に対応し、2に等しいまたはorthogonalLength-2に等しいエッジは、CU境界から8サンプルのサブブロック境界に対応する、などとなる。ここで、implicitTUは、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については、サンプル分類は、水平、垂直、135°対角方向、45°対角方向の1-D方向パターンに従っての、現在サンプルと近傍サンプルとの比較に基づく。
図8は、EOサンプル分類のための4つの1-D方向パターンを示している:水平(EOクラス=0)、垂直(EOクラス=1)、135°対角(EOクラス=2)、45°対角(EOクラス=3)。
与えられたEOクラスについて、CTB内の各サンプルは5つのカテゴリーの1つに分類される。「c」とラベル付けされた現在のサンプル値が、選択された1-Dパターンに沿った、その2つの近傍サンプル値と比較される。各サンプルについての分類規則がテーブルIにまとめられている。カテゴリー1および4はそれぞれ、選択された1-Dパターンに沿った局所的な谷および局所的なピークに関連している。カテゴリー2および3は、それぞれ、選択された1-Dパターンに沿った凹状および凸状のコーナー(concave and convex corners)に関連する。現在のサンプルがEOカテゴリー1~4に属さない場合は、カテゴリー0であり、SAOは適用されない。
テーブル3:エッジ・オフセットについてのサンプル分類規則
Figure 0007433346000013
2.6 幾何変換ベースの適応ループ・フィルタ
DBの入力は、DBおよびSAO後の再構成されたサンプルである。サンプル分類およびフィルタリング・プロセスは、DBおよびSAO後の再構成されたサンプルに基づく。
いくつかの実施形態では、ブロック・ベースのフィルタ適応のある幾何変換ベースの適応ループ・フィルタ(geometry transformation-based adaptive loop filter、GALF)が適用される。ルーマ成分については、局所的な勾配の方向および活性に基づいて、各2×2ブロックについて、25個のフィルタのうちの1つが選択される。
2.6.1 フィルタ形状
いくつかの実施形態では、(図9に示すような)3つまでのダイヤモンド・フィルタ形状が、ルーマ成分について選択できる。ルーマ成分について使用されるフィルタの形状を示すために、インデックスがピクチャー・レベルで信号伝達される。それぞれの四角はサンプルを表し、Ci(iは0~6(左)、0~12(中央)、0~20(右))は、そのサンプルに適用される係数を表す。ピクチャーにおけるクロマ成分については、常に5×5のダイヤモンド形状が使用される。
2.6.1.1 ブロック分類
各ブロックは、25個のクラスのうちの1つにカテゴリー分けされる。分類インデックスCは、その方向性Dと活性
Figure 0007433346000014
〔^Aとも記す〕の量子化された値とに基づいて、次のように導出される:
Figure 0007433346000015
Dおよび^Aを計算するために、まず、1-Dラプラシアンを用いて、水平方向、垂直方向、および2つの対角方向の勾配が計算される:
Figure 0007433346000016
インデックスiおよびjは、2×2ブロック内の左上のサンプルの座標を指し、R(i,j)は座標(i,j)における再構成されたサンプルを示す。
次いで、水平方向と垂直方向の勾配のD最大および最小値が
Figure 0007433346000017
として設定され、2つの対角方向の勾配の最大および最小値は
Figure 0007433346000018
として設定される。
方向性の値Dを導出するために、これらの値は互いと、また2つの閾値t1およびt2と比較される:
Figure 0007433346000019
活性値Aは次のように計算される:
Figure 0007433346000020
Aはさらに0から4の範囲(両端含む)に量子化され、量子化された値は
Figure 0007433346000021
と表される。
ピクチャー内の両方のクロマ成分については、分類方法は適用されない。たとえば、ALF係数の単一の集合が各クロマ成分に適用される。
2.6.1.2 フィルタ係数の幾何学的変換
図10は、5×5ダイヤモンド・フィルタ・サポートについての相対的なコーディネーターを示す:左は対角方向、中央は垂直反転、右は回転である。
それぞれの2×2ブロックをフィルタリングする前に、回転または対角方向および垂直方向の反転のような幾何学的変換が、フィルタ係数f(k,l)に適用される。f(k,l)は、そのブロックについて計算された勾配値に依存して、座標(k,l)に関連付けられる。これは、フィルタ・サポート領域内のサンプルにこれらの変換を適用することと等価である。発想は、ALFが適用される異なるブロックを、それらの方向性を整列させることによって、より類似させることである。
対角方向、垂直方向反転、回転を含む3つの幾何学的変換が導入される:
Figure 0007433346000022
ここで、Kはフィルタのサイズであり、0≦k,l≦K-1は、位置(0,0)が左上隅に、位置(K-1,K-1)が右下隅になるような係数座標である。変換は、そのブロックについて計算された勾配値に依存してフィルタ係数f(k,l)に適用される。変換と4方向の4つの勾配との関係がテーブル4にまとめられている。図9は、5×5ダイヤモンドに基づく各位置についての変換された係数を示す。
テーブル4:あるブロックについて計算された勾配と変換のマッピング
Figure 0007433346000023
2.6.1.3 フィルタ・パラメータ信号伝達
いくつかの実施形態では、GALFフィルタ・パラメータは、第1のCTUについて、たとえば、スライス・ヘッダの後、第1のCTUのSAOパラメータの前に信号伝達される。ルーマ・フィルタ係数の25個までの集合が信号伝達されることができる。ビット・オーバーヘッドを減らすために、異なる分類のフィルタ係数がマージされることができる。また、参照ピクチャーのGALF係数が記憶され、現在ピクチャーのGALF係数として再利用されることが許容される。現在ピクチャーは、参照ピクチャーについて記憶されているGALF係数を使用し、GALF係数信号伝達をバイパスすることを選択することができる。この場合、参照ピクチャーの1つに対するインデックスのみが信号伝達され、示された参照ピクチャーの記憶されたGALF係数が現在ピクチャーのために継承される。
GALF時間的予測をサポートするために、GALFフィルタ集合の候補リストが維持される。新しいシーケンスのデコードの開始時には、候補リストは空である。一つのピクチャーをデコードした後、対応するフィルタの集合が候補リストに追加されてもよい。候補リストのサイズが最大の許容される値(たとえば、6)に達すると、新しいフィルタの集合がデコード順で最も古い集合を上書きする、すなわち、候補リストを更新するために先入れ先出し(FIFO)規則が適用される。重複を避けるために、対応するピクチャーがGALF時間的予測を使用しない場合にのみ、集合がリストに追加できる。時間的スケーラビリティをサポートするために、フィルタ集合の複数の候補リストがあり、各候補リストは時間的層〔レイヤー〕に関連付けられる。より具体的には、時間的層インデックス(TempIdx)によって割り当てられた各アレイは、より低いTempIdxと等しい、以前にデコードされたピクチャーのフィルタ集合を構成することができる。たとえば、k番目のアレイは、kに等しいTempIdxに関連付けられるように割り当てられ、k以下のTempIdxをもつピクチャーからのフィルタ集合のみを含む。あるピクチャーをコーディングした後、そのピクチャーに関連付けられた諸フィルタ集合は、等しいまたはより高いTempIdxに関連付けられたアレイを更新するために使用される。
信号伝達オーバーヘッドを最小化するために、インターコーディングされるフレームについてはGALF係数の時間的予測が使用される。イントラフレームについては、時間的予測は利用可能ではなく、16個の固定されたフィルタの集合が各クラスに割り当てられる。固定されたフィルタの使用法を示すために、各クラスについてのフラグが信号伝達され、必要であれば、選択された固定されたフィルタのインデックスが示される。固定されたフィルタが所与のクラスについて選択されている場合でも、適応フィルタの係数は依然としてこのクラスについて送られることができ、その場合、再構成されたピクチャーに適用されるフィルタの係数は、係数の両方の集合の和である。
ルーマ成分のフィルタリング・プロセスは、CUレベルで制御できる。GALFがCUのルーマ成分に適用されるかどうかを示すために、フラグが信号伝達される。クロマ成分については、GALFを適用されるか否かは、ピクチャー・レベルのみで指示される。
2.6.1.4 フィルタリング・プロセス
デコーダ側では、あるブロックについてGALFが有効にされていると、そのブロック内の各サンプルがフィルタリングされ、以下に示されるようなサンプル値R'(i,j)が得られる。ここで、Lはフィルタ長を表し、fm,nはフィルタ係数を表し、f(k,l)はデコードされたフィルタ係数を表す。
Figure 0007433346000024
図11は、現在のサンプルの座標(i,j)を(0,0)と仮定した場合の、5×5ダイヤモンド・フィルタ・サポートについて使用される相対座標の例を示す。同じ色で満たされた異なる座標におけるサンプルは、同じフィルタ係数で乗算される。
2.7 幾何変換ベースの適応ループ・フィルタ(GALF)
2.7.1 例示的なGALF
いくつかの実施形態では、適応ループ・フィルタのフィルタリング・プロセスは、以下のように実行される:
Figure 0007433346000025
ここで、サンプルI(x+i,y+j)は入力サンプルであり、O(x,y)はフィルタリングされた出力サンプル(たとえば、フィルタ結果)であり、w(i,j)はフィルタ係数を表す。実際上は、VTM4.0では、それは、固定小数点精度計算のために整数算術を使用して実装される:
Figure 0007433346000026
ここで、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は、垂直勾配のためのサブサンプリングされた位置を示し、図12は、水平勾配のためのサブサンプリングされた位置を示し、図12Cは、対角勾配のためのサブサンプリングされた位置を示し、図12Dは、対角勾配のためのサブサンプリングされた位置を示す。
2.8 非線形ALF
2.8.1 フィルタリング再定式化
式(11)は、コーディング効率の影響なしに、次の式で再定式化できる:
Figure 0007433346000027
ここで、w(i,j)は式(11)と同じフィルタ係数である[ただし、w(0,0)は式(13)では1に等しいが式(11)では
Figure 0007433346000028
に等しい]。
(13)のこのフィルタ公式を用いて、VVCは、近傍サンプル値(I(x+i,y+j))がフィルタリングされている現在のサンプル値(I(x,y))とあまりにも異なる場合には該近傍サンプル値の影響を減らす単純なクリッピング関数を用いて、ALFをより効率的にするために非線形性を導入する。
より具体的には、ALFフィルタは次のように修正される:
Figure 0007433346000029
ここで、K(d,b)=min(b,max(-b,d))はクリッピング関数であり、k(i,j)は(i,j)フィルタ係数に依存するクリッピング・パラメータである。エンコーダは最良のk(i,j)を見出すために最適化を実行する。
いくつかの実施形態では、クリッピング・パラメータk(i,j)は、各ALFフィルタについて指定され、フィルタ係数ごとに1つのクリッピング値が信号伝達される。これは、ルーマ・フィルタごとに12個までのクリッピング値が、クロマ・フィルタについては6個までのクリッピング値がビットストリームにおいて信号伝達されることができることを意味する。
信号伝達コストおよびエンコーダの複雑さを制限するために、インターおよびイントラ・スライスについて同じである4つの固定値のみが使用される。
局所差の分散は、しばしばクロマについてよりもルーマについてのほうが大きいため、ルーマおよびクロマ・フィルタについての2つの異なる集合が適用される。各集合における最大サンプル値(ここでは10ビットのビット深さについて1024)も導入され、必要がなければクリッピングを無効にすることができる。
いくつかの実施形態で使用されるクリッピング値の集合は、テーブル5において与えられる。4つの値は、ルーマについてはサンプル値(10ビットでコーディング)の全範囲を、クロマについては4~1024の範囲を、対数領域でほぼ均等に分割することによって選択された。
より精密には、クリッピング値のルーマ・テーブルは、次の公式によって得られたものである。
Figure 0007433346000030
同様に、クリッピング値の「クロマ」テーブルは、次の公式に従って得られる。
Figure 0007433346000031
Figure 0007433346000032
選択されたクリッピング値は、上のテーブル5におけるクリッピング値のインデックスに対応するゴロムコーディング方式を使用して、「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エッジと重複する水平エッジのブロッキング解除は、決定およびフィルタリングが最初のCTUからのラインK、L、M、Mおよび下のCTUからのラインO、Pを必要とするため、実行できない。よって、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フィルタリングされたサンプルが必要である。さらに、ALF分類のためには、ラインD、E、FのSAOフィルタリングされたサンプルが必要である。さらに、ライン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のラインバッファ要求をなくすために、仮想境界(VB)の概念が最新のVVCに導入される。図13に示されるように、VBは、Nピクセルだけ上方にシフトされた水平LCU境界である。各LCUについて、SAOおよびALFは、下のLCUが来る前にVBより上のピクセルを処理することができるが、下のLCUが来るまでVBより下のピクセルを処理することはできない。これは、DFに起因する。ハードウェア実装コストを考慮して、提案されたVBと水平LCU境界との間のスペースは、ルーマについては4ピクセル(たとえば、図13ではN=4)、クロマについては2ピクセル(たとえば、図9ではN=2)として設定される。
2.9.1 VBサイズNが4の場合の修正されたALFブロック分類
図15A~15Bは、仮想境界がCTU境界より4ライン上にある場合(N=4)についての修正されたブロック分類を示す。図15Aに示されているように、行Gで始まる4×4ブロックについては、ブロック分類は、ラインEからJまでのみを使用するが、ラインJに属するサンプルについてのラプラシアン勾配計算は、もう1つ下のライン(ラインK)をさらに必要とする。したがって、ラインKはラインJでパディングされる。
同様に、図15Bに示されているように、ラインKで始まる4×4ブロックについては、ブロック分類は、ラインKからPまでのみを使用するが、ラインKに属するサンプルについてのラプラシアン勾配計算は、もう1つ上のライン(ラインJ)を必要とする。したがって、ラインJはラインKでパディングされる。
2.9.2 仮想境界を越えたサンプルのための両側パディング
図16A~16Cに示されるように、仮想境界に近いラインに属するルーマ・サンプルをフィルタリングするために、フィルタの打ち切りされたバージョンが使用される。図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つの要求されるラインがパディングされる必要があることを示す。
同様に、図17A~17Bに示されるように、両側パディング方法は、クロマALFフィルタリングについても使用される。図17A~17Bは、仮想境界における修正されたクロマALFフィルタリングを示す(5×5ダイヤモンド・フィルタ・サポート、中心は、フィルタリングされるべき現在のサンプルである)。図17Aは、VBの上/下の1つの要求されるラインがパディングされる必要があることを示す。図17Bは、VBの上/下の2つの要求されるラインがパディングされる必要があることを示す。
2.9.3 非線形ALFが無効にされる場合の両側パディングの代替的な実装法
非線形ALFがあるCTBについて無効にされている場合、たとえば式(14)のクリッピング・パラメータが(1<<Bitdepth)に等しい場合、パディング・プロセスは、フィルタ係数を修正することによって置き換えることができる(修正係数に基づくALF[modified-coeff based ALF]、MALFとしても知られる)。たとえば、ラインL/I内のサンプルをフィルタリングするとき、フィルタ係数c5はc5'に修正され、この場合、実線のP0Aから破線のP0Aに、および実線のP3Bから破線のP3Bにルーマ・サンプルをコピーする必要はない。図18A。この場合、フィルタリングされるべき現在のサンプルが(x,y)に位置すると仮定すると、両側パディングおよびMALFは同じ結果を生成する。
Figure 0007433346000033
パディングのため、K(d,b)=d、I(x-1,y-1)=I(x-1,y-2)だからである。
しかしながら、非線形ALFが有効にされている場合、MALFおよび両側パディングは、異なるフィルタリング結果を生成する可能性がある。なぜなら、非線形パラメータは、フィルタ係数c5およびc1の場合のように、各係数に関連付けられるため、クリッピング・パラメータが異なるからである。したがって、
Figure 0007433346000034
パディングのためI(x-1,y-1)=I(x-1,y-2)であっても、K(d,b)!=dだからである。
2.10 ALFフィルタリングに関する仕様
新たに追加された部分は、太字のイタリック体の下線付きテキストで示される。削除された部分は[[]]を使って示される。
7.3.2.4 ピクチャーパラメータセットRBSP構文
Figure 0007433346000035
Figure 0007433346000036
Figure 0007433346000037
loop_filter_across_bricks_enabled_flagが1に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作がブリック境界をまたいで実行されうることを指定する。loop_filter_across_bricks_enabled_flagが0に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作がブリック境界をまたいで実行されないことを指定する。ループ内フィルタリング動作は、ブロッキング解除フィルタ、サンプル適応オフセット・フィルタ、および適応ループ・フィルタ動作を含む。存在しない場合、loop_filter_across_bricks_enabled_flagの値は1に等しいと推定される。
loop_filter_across_slices_enabled_flagが1に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作がスライス境界をまたいで実行されうることを指定する。loop_filter_across_slices_enabled_flagが0に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作がスライス境界をまたいで実行されないことを指定する。ループ内フィルタリング動作は、ブロッキング解除フィルタ、サンプル適応オフセット・フィルタ、および適応ループ・フィルタ動作を含む。存在しない場合、loop_filter_across_slices_enabled_flagの値は0に等しいと推定される。
pps_loop_filter_across_virtual_boundaries_disabled_flagが1に等しいことは、PPSを参照するピクチャーにおいて、仮想境界をまたいでのループ内フィルタリング動作が無効にされることを指定する。pps_loop_filter_across_virtual_boundaries_disabled_flagが0に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作のそのような無効化が適用されないことを指定する。ループ内フィルタリング動作は、ブロッキング解除フィルタ、サンプル適応オフセット・フィルタ、および適応ループ・フィルタ動作を含む。存在しない場合、pps_loop_filter_across_virtual_boundaries_disabled_flagの値は0に等しいと推定される。
pps_num_ver_virtual_boundariesは、PPSに存在するpps_virtual_boundaries_pos_x[i]構文要素の数を指定する。pps_num_ver_virtual_boundariesが存在しない場合、0に等しいと推定される。
8.8.5.2 ルーマ・サンプルについてのコーディングツリー・ブロック・フィルタリング・プロセス
このプロセスの入力は以下の通り:
・適応ループ・フィルタリング・プロセスの前の再構成されたルーマ・ピクチャー・サンプル・アレイrecPictureL
・フィルタ処理され再構成されたルーマ・ピクチャー・サンプル・アレイalfPictureL
・現在ピクチャーの左上のサンプルに対して現在のルーマコーディングツリー・ブロックの左上のサンプルを指定するルーマ位置(xCtb,yCtb)。
このプロセスの出力は、修正されたフィルタリングされた再構築されたルーマ・ピクチャー・サンプル・アレイalfPictureLである。
節8.8.5.3のフィルタ・インデックスについての導出プロセスが呼び出される。位置(xCtb,yCtb)と再構成されたルーマ・ピクチャー・サンプル・アレイrecPictureLが入力とされ、x,y=0..CtbSizeY-1としてfiltIdx[x][y]およびtransposeIdx[x][y]が出力である。
フィルタリングされた再構成されたルーマ・サンプルalfPictureL[x][y]の導出のために、現在のルーマコーディングツリー・ブロック内の各再構成されたルーマ・サンプルrecPictureL[x][y]は、x,y=0..CtbSizeY-1として、次のようにフィルタリングされる
・filtIdx[x][y]によって指定されたフィルタに対応するルーマ・フィルタ係数の配列f[j]およびルーマ・クリッピング値の配列c[j]は、j=0..11として、次のように導出される:
Figure 0007433346000038
・ルーマ・フィルタ係数およびクリッピング値インデックスidxは、transposeIdx[x][y]に依存して、次のように導出される:
Figure 0007433346000039
・i,j=-3..3として、ルーマ・サンプルの所与の配列recPicture内の対応するルーマ・サンプル(x,y)のそれぞれについての位置(hx+i,vy+j)は次のように導出される:
Figure 0007433346000040
Figure 0007433346000041
〔表15の内容をテキストでも記載しておく:
・変数applyVirtualBoundaryは次のように導出される:
・以下の条件のうち一つまたは複数が真の場合、applyVirtualBoundaryは0に等しく設定される:
・現在のコーディングツリー・ブロックの下部境界がピクチャーの下部境界である。
・現在のコーディングツリー・ブロックの下部境界がブリックの下部境界であり、loop_filter_across_bricks_enabled_flagが0に等しい。
・現在のコーディングツリー・ブロックの下部境界がスライスの下部境界であり、loop_filter_across_slices_enabled_flagが0に等しい。
・現在のコーディングツリー・ブロックの下部境界は、ピクチャーの下部の仮想境界の1つであり、pps_loop_filter_across_virtual_boundries_disabled_flagが1に等しい。
・それ以外の場合、applyVirtualBoundaryは1に等しく設定される。〕
・再構成されたサンプル・オフセットr1、r2、およびr3は、水平方向ルーマ・サンプル位置yとapplyVirtualBoundaryに従ってテーブル8-22において指定される。
・変数currは次のように導出される:
curr=recPictureL[hx,vy] (8-1188)
・変数sumは次のように導出される:
Figure 0007433346000042
・修正されたフィルタリングされた再構成されたルーマ・ピクチャー・サンプルalfPictureL[xCtb+x][yCtb+y]は、次のように導出される:
Figure 0007433346000043
Figure 0007433346000044
8.8.5.4 クロマ・サンプルについてのコーディングツリー・ブロック・フィルタリング・プロセス
このプロセスの入力は以下の通り:
・適応ループ・フィルタリング・プロセスの前の再構成されたクロマ・ピクチャー・サンプル・アレイrecPicture、
・フィルタリングされた再構成されたクロマ・ピクチャー・サンプル・アレイalfPicture、
・現在ピクチャーの左上のサンプルに対して現在のクロマコーディングツリー・ブロックの左上のサンプルを指定するクロマ位置(xCtbC,yCtbC)。
このプロセスの出力は、修正されたフィルタリングされた再構成されたクロマ・ピクチャー・サンプル・アレイalfPictureである。
現在のクロマコーディングツリー・ブロックの幅および高さctbWidthCおよびctbHeightCは、次のように導出される:
ctbWidthC=CtbSizeY/SubWidthC (8-1230)
ctbHeightC=CtbSizeY/SubHeightC (8-1231)
フィルタ処理された再構成されたクロマ・サンプルalfPicture[x][y]の導出のために、現在のクロマコーディングツリー・ブロック内の各再構成されたクロマ・サンプルrecPicture[x][y]は、x=0..ctbWidthC-1、y=0..ctbHeightC-1として、次のようにフィルタリングされる:
・i,j=-2..2として、クロマ・サンプルの所与の配列recPicture内の対応する各クロマ・サンプル(x,y)についての位置(hx+i,vy+j)は、次のように導出される:
Figure 0007433346000045
・変数applyVirtualBoundaryは次のように導出される:
Figure 0007433346000046
〔表20の内容をテキストでも記載しておく:
・以下の条件のうち一つまたは複数が真の場合、applyVirtualBoundaryは0に等しく設定される:
・現在のコーディングツリー・ブロックの下部境界がピクチャーの下部境界である。
・現在のコーディングツリー・ブロックの下部境界がブリックの下部境界であり、loop_filter_across_bricks_enabled_flagが0に等しい。
・現在のコーディングツリー・ブロックの下部境界がスライスの下部境界であり、loop_filter_across_slices_enabled_flagが0に等しい。
・現在のコーディングツリー・ブロックの下部境界は、ピクチャーの下部の仮想境界の1つであり、pps_loop_filter_across_virtual_boundries_disabled_flagが1に等しい。
・それ以外の場合、applyVirtualBoundaryは1に等しく設定される。〕
・再構成されたサンプル・オフセットr1、r2は、水平方向ルーマ・サンプル位置yとapplyVirtualBoundaryに従ってテーブル8-22において指定される。
・変数currは次のように導出される:
curr=recPictureL[hx,vy] (8-1238)
・クロマ・フィルタ係数の配列f[j]とクロマクリッピング値の配列c[j]は、j=0..5として次のように導出される:
f[j]=AlfCoeffC[slice_alf_aps_id_chroma][j]
c[j]=AlfClipC[slice_alf_aps_id_chroma][j]
・変数sumは次のように導出される:
Figure 0007433346000047
・修正されたフィルタリングされた再構成されたクロマ・ピクチャー・サンプルalfPicture[xCtbC+x][yCtbC+y]は、次のように導出される:
Figure 0007433346000048
2.11 CTU処理の例
現在のVVC設計によれば、あるCTBの下部境界がスライス/ブリックの下部境界である場合、ALF仮想境界処理方法は無効にされる。たとえば、図19に示されるように、1つのピクチャーが複数の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行のCTU/CTBの場合(たとえば、CTU-A)、最後の4ラインを除くM×(M-4)ブロックを処理する。
・そうではなく、スライス/ブリック/タイルの最初のCTU行内ではなく(たとえばCTU-B)、スライス/ブリック/タイルの最後のCTU行内ではないCTU/CTBの場合、上のCTU行からの4ラインを含み、現在のCTU内の最後の4ラインを除くM×Mブロックを処理する。
図19は、ピクチャー内のCTUの処理の例を示す。
2.12 360度ビデオコーディング
VTM5における水平ラップアラウンド動き補償は、正距円筒図法(ERP)投影フォーマットでの再構成された360度ビデオの視覚的品質を改善するために設計された360固有のコーディングツールである。従来の動き補償では、動きベクトルが参照ピクチャーのピクチャー境界を越えるサンプルを参照する場合、対応するピクチャー境界の最も近い近傍からコピーすることによって境界外サンプルの値を導出するために、反復的なパディングが適用される。360度ビデオでは、この反復的パディング方法は適当ではなく、再構成されたビューポート・ビデオにおいて「シーム・アーチファクト」と呼ばれる視覚的アーチファクトを引き起こす可能性がある。360度ビデオは球面上で捕捉され、本来的に「境界」をもたないため、投影ドメインにおいて参照ピクチャーの境界外にある参照サンプルは、球面ドメインにおいては近傍サンプルから常に得ることができる。一般的な投影フォーマットについては、2D-3D座標変換および3D-2D座標変換、ならびに端数サンプル位置についてのサンプル補間に関わるので、球面ドメインでは対応する近傍サンプルを導出することが難しいことがある。この問題は、ERP投影フォーマットの左と右の境界については、ずっと単純である。なぜなら、左のピクチャー境界の外側の球面近傍は右のピクチャー境界の内側のサンプルから得られ、その逆も同様であるからである。
図20は、VVCにおける水平ラップアラウンド動き補償の例を示す。
水平方向のラップアラウンド動き補償プロセスは、図20に示すとおりである。参照ブロックの一部が、投影ドメインにおいて参照ピクチャーの左(または右)境界の外側にある場合、反復的なパディングの代わりに、「境界外」部分は、投影ドメインにおける右(または左)境界のほうの、参照ピクチャーの対応する球面近傍から取られる。反復的パディングは、上下のピクチャー境界のみに使用される。図20に示されるように、水平ラップアラウンド動き補償は、360度のビデオコーディングにおいてしばしば使用される非規範的なパディング方法と組み合わせることができる。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()構文を若干更新することによって指定され、以下の諸デコード・プロセスに更新される:
○(高度な)時間的ルーマ動きベクトル予測のための導出プロセス
○ルーマ・サンプル双線形補間プロセス
○ルーマ・サンプル8タップ補間フィルタリング・プロセス
○クロマ・サンプル補間プロセス。
7)VCL NAL単位を変更する必要なくサブピクチャー・シーケンスの抽出を可能にするために、サブピクチャーIDはSPSにおいて明示的に指定され、タイル・グループ・ヘッダに含まれる。
出力サブピクチャー集合(output sub-picture sets、OSPS)は、サブピクチャーとその諸集合のための規範的な抽出と適合性点を指定するために提案される。
3. 本稿において提供される解決策によって解決される技術的問題
現在のVVC設計には以下のような問題がある。
1. ALF仮想境界を有効にする現在の設定は、CTBの下部境界がピクチャーの下部境界であるかどうかに依存する。もしそれが真ならば、ALF仮想境界は、図19のCTU-Dのように、無効にされる。しかしながら、CTBの下部境界がピクチャーの下部境界の外側にあることがある。たとえば、256×240ピクチャーが4つの128×128ピクチャーに分割され、この場合、ALF仮想境界は、下部境界の外側にサンプルをもつ最後の2つのCTUについて、間違って真に設定される可能性がある。
2. ALF仮想境界を扱う方法は、下部のピクチャー境界およびスライス/タイル/ブリック境界について無効にされる。スライス/ブリック境界に沿ったVBを無効にすると、パイプライン・バブルが発生したり、LCUサイズが64×64であるとして、仮想パイプライン・データ単位(VPDU、VVCでは64×64)ごとに68ラインの処理が必要になったりすることがある。たとえば:
a. スライス/ブリック/タイル境界を前もって知らないデコーダ(w.e.低遅延アプリケーション)については、ALFラインバッファが復元される必要がある。ラインバッファ内のコンテンツがALFフィルタリングに使用されるか否かは、現在のCTUがスライス/ブリック/タイル境界CTUでもあるかどうかに依存するが、この情報は、次のスライス/ブリック/タイルがデコードされるまでは不明である。
b. スライス/ブリック/タイル境界を前もって知っているデコーダについては、ALFラインバッファの使用を避けるために、デコーダは、パイプライン・バブルを我慢するか(可能性が非常に低い)、常時64×64 VDPUあたり68ラインの速度でALFを実行する(過剰な備え)必要がある。
3. 仮想境界およびビデオ単位境界を扱うための種々の方法、たとえば種々のパディング方法が存在する。一方、複数の境界にあるラインについて、複数のパディング方法が実行されることがある。
a. 一例では、ブロックの下部境界が360度仮想境界であり、ALF仮想境界がこのブロックにも適用される場合、この場合、360度仮想境界のためのパディング方法は、まず、360度仮想境界の下の仮想サンプルを生成するために適用されうる。その後、360度仮想境界の下に位置するこれらの仮想サンプルは、利用可能なものとして扱われる。また、図16A~Cに従って、ALF 両側パディング方法がさらに適用されてもよい。一例が図25に示される。
4. 仮想境界を取り扱う方法は、それほど効率的ではないかもしれないパディングされたサンプルが利用されるので、最善ではない可能性がある。
5. 非線形ALFが無効にされる場合、MALFおよび両側パディング方法は、サンプルをフィルタリングするために同じ結果を生成することができるであろう。これは、仮想境界を越えるサンプルにアクセスすることを必要とする。しかしながら、非線形ALFが有効にされる場合、2つの方法は異なる結果をもたらすであろう。2つのケースを整列させることが有益であろう。
4. 技法および実施形態の例
以下のリストは、一般的な概念を説明するための例として考慮されるべきである。リストされた技法は、狭義に解釈されるべきではない。さらに、これらの技法は、任意の仕方で組み合わせることができる。
ALF仮想境界に使用されるパディング方法は、「両側パディング」と記されてもよい。ここで、(i,j)に位置する1つのサンプルがパディングされる場合、同じフィルタ係数を共有する(m,n)に位置する対応するサンプルも、たとえ該サンプルが利用可能であっても、パディングされる。このことは、図12~図13に示される。
ピクチャー境界/360度ビデオ仮想境界、通常境界(たとえば、上部および下部の境界)のために使用されるパディング方法は、「片側パディング」と記されてもよい。ここでは、使用されるあるサンプルが境界の外側にある場合、それはピクチャー内の利用可能なサンプルからコピーされる。
360度ビデオの左右の境界に使用されるパディング方法は、「ラッピングベースのパディング」と記されてもよい。ここでは、使用されるあるサンプルが境界の外側にある場合、それは動き補償された結果を使用してコピーされる。
以下の議論では、サンプルが「ビデオ単位の境界にある」とは、そのサンプルとビデオ単位の境界との距離が閾値未満または以下であることを意味する。「ライン」は、同一の水平位置にある諸サンプルまたは同一の垂直位置にある諸サンプルを指しうる(たとえば、同じ行のサンプルおよび/または同じ列のサンプル)。関数Abs(x)は次のように定義される:
Figure 0007433346000049
以下の議論では、「仮想サンプル」とは、再構成されたサンプルとは異なっていてもよい(ブロッキング解除および/またはSAOによって処理されてもよい)生成されたサンプルを指す。仮想サンプルは、別のサンプルについてALFを実施するために使用されてもよい。仮想サンプルは、パディングによって生成されてもよい。
「ALF仮想境界処理方法があるブロックに対して有効にされる」とは、仕様のapplyVirtualBoundaryが真に設定されることを示してもよい。「仮想境界を有効にする」とは、現在のブロックが仮想境界によって少なくとも2つの部分に分割され、フィルタリング・プロセス(たとえば、ALF)において、一方の部分に位置するサンプルが他方の部分にあるサンプルを利用することが許されないことを示してもよい。仮想境界は、1つのブロックの下部境界のK行上であってもよい。
以下の議論では、近傍サンプル(neighboring samples)は、フィルタ分類および/またはフィルタリング・プロセスに必要とされるものであってもよい。
本開示において、近傍サンプルが「利用不能」とは、それが現在ピクチャー、または現在のサブピクチャー、または現在のタイル、または現在のスライス、または現在のCTU、または現在の処理単位(ALF処理単位または狭いALF処理単位など)、または他の任意の現在のビデオ単位の外である場合である。
1. 「現在のコーディングツリー・ブロックの下部境界は、ピクチャーの下部境界である」ことの判別は、「現在のコーディングツリー・ブロックの下部境界は、ピクチャーの下部境界であるか、ピクチャーの外側である」に置き換えられる。
a. あるいはまた、さらに、この場合、ALF仮想境界処理方法は無効にされてもよい。
2. ループ内フィルタリング・プロセスにおいて仮想サンプルの使用を有効にするかどうか(たとえば、仮想境界を有効にするかどうか(たとえば、applyVirtualBoundaryを真に設定するか偽に設定するか))は、CTBサイズに依存してもよい。
a. 一例では、applyVirtualBoundaryは、所与のCTU/CTBサイズについて、たとえばK×Lに等しいCTU/CTBサイズ(たとえば、K=L=4)について常に偽に設定される。
b.一例では、applyVirtualBoundaryは、K×L以下の、またはK×Lより小さいあるCTU/CTBサイズ(たとえば、K=L=8)について常に偽に設定される。
c. あるいはまた、ALFは、4×4、8×8などのある種のCTU/CTBサイズについて無効にされる。
3. ループ内フィルタリング・プロセス(たとえば、ALF)における(たとえば再構成されたサンプルからパディングされた)仮想サンプルの使用を有効にするかどうかは、ブロックの下部境界が、ピクチャーと比較してより細かい粒度にあるビデオ単位(たとえば、スライス/タイル/ブリック)の下部境界または仮想境界であるかどうかに依存する。
a. 一例では、CTBの下部境界が当該ビデオ単位の境界または仮想境界である場合、コーディングツリー・ブロック(CTB)についてALF仮想境界処理方法が有効にされてもよい(たとえば、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サンプルは、上のCTUからのK個のラインを用い、仮想境界より下のK個のラインを除外してフィルタリングされてもよい。
4. ブリック/スライス境界をまたぐループ・フィルタについての信号伝達された使用制御フラグ(たとえば、loop_filter_across_bricks_enabled_flag/roop_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. あるいはまた、それら最後のK行についてALFが無効にされてもよい。
d. 一例では、1つのラインが複数の境界にある場合(たとえば、ラインから境界までの間の距離が閾値未満)、パディング・プロセスは、それが何個の境界に属しうるかに関係なく、1回だけ実行される。
i. あるいはまた、何個の近傍ラインがパディングされるかは、すべての境界に対する現在のラインの位置に依存する。
ii. たとえば、何個の近傍ラインがパディングされるかは、たとえば現在のラインが2つの境界内にあり、該2つの境界が上および下にある場合、現在のラインと2つの境界との間の距離によって決定されてもよい。
iii. たとえば、何個の近傍ラインがパディングされるかは、たとえば現在のラインが2つの境界内にあり、それら2つの境界が上および下にある場合、現在の行と最も近い境界との間の距離によって決定されてもよい。
iv. たとえば、何個の近傍ラインがパディングされるかは、各境界について独立して計算されてもよく、最大のものが最終的なパディングされるライン数として選択される。
v. 一例では、何個の近傍ラインがパディングされるかは、ラインの各側(たとえば、上側および下側)について決定されてもよい。
vi. 一例では、両側パディング方法について、何個の近傍ラインがパディングされるかは、両側について合同で決定されてもよい。
vii. あるいはまた、さらに、ALFによって使用される両側パディング方法が適用される。
e. 一例では、1つのラインが複数の境界にあり、ラインの各側(たとえば、上側と下側)に少なくとも1つの境界がある場合、ALFはそれについて無効にされてもよい。
f. 一例では、現在のラインによって必要とされるパディングされたラインの数が閾値よりも大きい場合、ALFは現在のラインについて無効にされてもよい。
i. 一例では、任意の側のパディングされたラインの数が閾値よりも大きい場合、ALFは現在のラインについて無効にされてもよい。
ii. 一例では、両側におけるパディングされたラインの合計数が閾値よりも大きい場合、ALFは現在のラインについて無効にされてもよい。
g. あるいはまた、上記の諸方法は、ブロックがビデオ単位の下部境界に位置するサンプルを含み、ALFのようなループ内フィルタリングがブロックについて有効にされている場合に適用されてもよい。
h. あるいはまた、さらに、上記の諸方法は、たとえば、ブロックがビデオ単位の下部境界に位置するサンプルを含み、境界をまたぐフィルタリングが許可されない(たとえば、pps_loop_filter_across_virtual_boundaries_disabled_flag/loop_filter_across_slices_enabled_flag/loop_filter_across_slices_enabled_flagが真である)場合のようなある種の条件下で適用されてもよい。
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. 一例では、あるブロックについて、それがVPDUの境界に位置するサンプルを含む場合、そのブロックについてALF仮想境界処理方法が有効にされてもよい(たとえば、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. あるいはまた、さらに、ループ内再整形(In-loop reshaping、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,y1)に関連するフィルタ係数が位置(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. 一例では、カラー・フォーマットが4:4:4でない場合、T1とT2は異なっていてもよい。
13. 1つのCTU/VPDUの下/上/左/右境界が独立したコーディングを用いるスライス/タイル/ブリック/サブ領域の境界でもある場合、複数パディング・プロセスの固定された順序が適用される。
a. 一例では、第1段階で、スライス/タイル/ブリックのパディング方法(たとえば、片側パディング)がまず適用される。その後、ALF仮想境界を処理するためのパディング方法(たとえば、両側パディング方法)が、第2段階の間にさらに適用される。この場合、第1段階の後のパディングされたサンプルは、利用可能であるとマークされ、ALF仮想境界プロセスにおいて何個のラインがパディングされるべきかを決定するために使用されてもよい。それらの境界に位置しないCTUを扱うための同じ規則(たとえば、図16)が利用される。
14. 提案される諸方法は、2つのサブピクチャーの間の一つまたは複数の境界に適用されてもよい。
a. 提案された諸方法を適用する境界は、水平境界であってもよい。
b. 提案された諸方法を適用する境界は、垂直境界であってもよい。
5. 実施形態
以下の諸セクションでは、開示された技術のいくつかの実施形態を受け入れるように、VVC規格の現行バージョンがどのように修正されるかのいくつかの例が記載される。新たに追加された部分は、太字のイタリック体の下線付きテキストで示される。削除された部分は[[]]を使って示される。
5.1 実施形態#1
loop_filter_across_bricks_enabled_flagが1に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作がブリック境界をまたいで実行されうることを指定する。loop_filter_across_bricks_enabled_flagが0に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作がブリック境界をまたいで実行されないことを指定する。ループ内フィルタリング動作は、ブロッキング解除フィルタ、サンプル適応オフセット・フィルタ[[、および適応ループ・フィルタ]]動作を含む。存在しない場合、loop_filter_across_bricks_enabled_flagの値は1に等しいと推定される。
loop_filter_across_slices_enabled_flagが1に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作がスライス境界をまたいで実行されうることを指定する。loop_filter_across_slices_enabled_flagが0に等しいことは、PPSを参照するピクチャーにおいて、ループ内フィルタリング動作がスライス境界をまたいで実行されないことを指定する。ループ内フィルタリング動作は、ブロッキング解除フィルタ、サンプル適応オフセット・フィルタ[[、および適応ループ・フィルタ]]動作を含む。存在しない場合、loop_filter_across_slices_enabled_flagの値は0に等しいと推定される。
5.2 実施形態#2
図21は、ピクチャーにおけるCTUの処理を示す。図19と比べた相違は、破線でハイライトされている。
5.3 実施形態#3
8.8.5.2 ルーマ・サンプルについてのコーディングツリー・ブロック・フィルタリング・プロセス
このプロセスの入力は以下の通り:
・適応ループ・フィルタリング・プロセスの前の再構成されたルーマ・ピクチャー・サンプル・アレイrecPictureL
・フィルタ処理され再構成されたルーマ・ピクチャー・サンプル・アレイalfPictureL
・現在ピクチャーの左上のサンプルに対して現在のルーマコーディングツリー・ブロックの左上のサンプルを指定するルーマ位置(xCtb,yCtb)。
このプロセスの出力は、修正されたフィルタリングされた再構築されたルーマ・ピクチャー・サンプル・アレイalfPictureLである。
節8.8.5.3のフィルタ・インデックスについての導出プロセスが呼び出される。位置(xCtb,yCtb)と再構成されたルーマ・ピクチャー・サンプル・アレイrecPictureLが入力とされ、x,y=0..CtbSizeY-1としてfiltIdx[x][y]およびtransposeIdx[x][y]が出力である。
フィルタリングされた再構成されたルーマ・サンプルalfPictureL[x][y]の導出のために、現在のルーマコーディングツリー・ブロック内の各再構成されたルーマ・サンプルrecPictureL[x][y]は、x,y=0..CtbSizeY-1として、次のようにフィルタリングされる
・filtIdx[x][y]によって指定されたフィルタに対応するルーマ・フィルタ係数の配列f[j]およびルーマ・クリッピング値の配列c[j]は、j=0..11として、次のように導出される:
・……
・ルーマ・フィルタ係数およびクリッピング値インデックスidxは、transposeIdx[x][y]に依存して、次のように導出される:
・……
・i,j=-3..3として、ルーマ・サンプルの所与の配列recPicture内の対応するルーマ・サンプル(x,y)のそれぞれについての位置(hx+i,vy+j)は次のように導出される:
・……
・変数applyVirtualBoundaryは次のように導出される:
・以下の条件[[のうち一つまたは複数]]が真の場合、applyVirtualBoundaryは0に等しく設定される:
・現在のコーディングツリー・ブロックの下部境界がピクチャーの下部境界である。
[[・現在のコーディングツリー・ブロックの下部境界がブリックの下部境界であり、loop_filter_across_bricks_enabled_flagが0に等しい。
・現在のコーディングツリー・ブロックの下部境界がスライスの下部境界であり、loop_filter_across_slices_enabled_flagが0に等しい。
・現在のコーディングツリー・ブロックの下部境界は、ピクチャーの下部の仮想境界の1つであり、pps_loop_filter_across_virtual_boundries_disabled_flagが1に等しい。]]
・それ以外の場合、applyVirtualBoundaryは1に等しく設定される。
・再構成されたサンプル・オフセットr1、r2、およびr3は、水平方向ルーマ・サンプル位置yとapplyVirtualBoundaryに従ってテーブル8-22において指定される。
・……
8.8.5.4 クロマ・サンプルについてのコーディングツリー・ブロック・フィルタリング・プロセス
このプロセスの入力は以下の通り:
・適応ループ・フィルタリング・プロセスの前の再構成されたクロマ・ピクチャー・サンプル・アレイrecPicture、
・フィルタリングされた再構成されたクロマ・ピクチャー・サンプル・アレイalfPicture、
・現在ピクチャーの左上のサンプルに対して現在のクロマコーディングツリー・ブロックの左上のサンプルを指定するクロマ位置(xCtbC,yCtbC)。
このプロセスの出力は、修正されたフィルタリングされた再構成されたクロマ・ピクチャー・サンプル・アレイalfPictureである。
現在のクロマコーディングツリー・ブロックの幅および高さctbWidthCおよびctbHeightCは、次のように導出される:
ctbWidthC=CtbSizeY/SubWidthC (8-1230)
ctbHeightC=CtbSizeY/SubHeightC (8-1231)
フィルタ処理された再構成されたクロマ・サンプルalfPicture[x][y]の導出のために、現在のクロマコーディングツリー・ブロック内の各再構成されたクロマ・サンプルrecPicture[x][y]は、x=0..ctbWidthC-1、y=0..ctbHeightC-1として、次のようにフィルタリングされる:
・i,j=-2..2として、クロマ・サンプルの所与の配列recPicture内の対応する各クロマ・サンプル(x,y)についての位置(hx+i,vy+j)は、次のように導出される:
Figure 0007433346000050

・変数applyVirtualBoundaryは次のように導出される:
・以下の条件[[のうち一つまたは複数]]が真の場合、applyVirtualBoundaryは0に等しく設定される:
・現在のコーディングツリー・ブロックの下部境界がピクチャーの下部境界である。
・[[現在のコーディングツリー・ブロックの下部境界がブリックの下部境界であり、loop_filter_across_bricks_enabled_flagが0に等しい。
・現在のコーディングツリー・ブロックの下部境界がスライスの下部境界であり、loop_filter_across_slices_enabled_flagが0に等しい。
・現在のコーディングツリー・ブロックの下部境界は、ピクチャーの下部の仮想境界の1つであり、pps_loop_filter_across_virtual_boundries_disabled_flagが1に等しい。]]
・それ以外の場合、applyVirtualBoundaryは1に等しく設定される。
・再構成されたサンプル・オフセットr1、r2は、水平方向ルーマ・サンプル位置yとapplyVirtualBoundaryに従ってテーブル8-22において指定される。
……
あるいはまた、「現在のコーディングツリー・ブロックの下部境界は、ピクチャーの下部境界である」という条件は、「現在のコーディングツリー・ブロックの下部境界は、ピクチャーの下部境界であるか、ピクチャーの外側である」という条件に置き換えられてもよい。
5.4 実施形態#4
この実施形態は、ALF分類プロセス(セクション4におけるブレット7に対応)において、VPDU領域より下のサンプルを使用することを禁止する例を示す。
8.8.5.3 ルーマ・サンプルについてのALF転置およびフィルタ・インデックスについての導出プロセス
このプロセスの入力は以下の通り:
・現在ピクチャーの左上のサンプルに対して現在のルーマコーディングツリー・ブロックの左上のサンプルを指定するルーマ位置(xCtb,yCtb)、
・適応ループ・フィルタリング・プロセスの前の再構成されたルーマ・ピクチャー・サンプル・アレイrecPictureL
このプロセスの出力は以下の通り:
・x,y=0..CtbSizeY-1として、分類フィルタ・インデックス配列filtIdx[x][y]
・x,y=0..CtbSizeY-1として、転置インデックス配列transposeIdx[x][y]。
i,j=-2..5として、ルーマ・サンプルの所与の配列recPicture内の対応するルーマ・サンプル(x,y)のそれぞれの位置(hx+i,vy+j)は、次のように導出される:
Figure 0007433346000051
分類フィルタ・インデックス・アレイfiltIdxおよび転置インデックス・アレイtransposeIdxは、以下の順序付けられたステップによって導出される:
1. x,y=-2..CtbSizeY+1として、変数filtH[x][y]、filtV[x][y]、filtD0[x][y]、およびfiltD1[x][y]は次のように導出される:
・xとyの両方が偶数であるか、またはxとyの両方が不均一な数である場合、次が適用される:
Figure 0007433346000052
・それ以外の場合は、filtH[x][y]、filtV[x][y]、filtD0[x][y]、filtD1[x][y]は0に設定される。
2. 変数minY、maxYおよびacは次のように導出される:
Figure 0007433346000053
3. 変数varTempH1[x][y]、varTempV1[x][y]、varTempD01[x][y]、varTempD11[x][y]およびvarTemp[x][y]は、x,y=0..(CtbSizeY-1)>>2として、次のように導出される:
Figure 0007433346000054
4. 変数dir1[x][y]、dir2[x][y]およびdirS[x][y]は、x,y=0..CtbSizeY-1として、次のように導出される:
・変数hv1、hv0およびdirHVは次のように導出される:
……
・変数d1、d0およびdirDは次のように導出される:
……
5. 変数avgVar[x][y]は、x,y=0..CtbSizeY-1として、次のように導出される:
Figure 0007433346000055
6. 分類フィルタ・インデックス配列filtIdx[x][y]および転置インデックス配列transposeIdx[x][y]は、x=y=0..CtbSizeY-1として、次のように導出される:
Figure 0007433346000056
5.5 実施形態#5
複数の種類の境界(たとえば、スライス/ブリック境界、360度の仮想境界)に位置するサンプルについて、パディング・プロセスは1回だけ呼び出される。そして、1つの側あたり何個のラインがパディングされるかは、境界に対する現在のサンプルの位置に依存する。
一例では、ALF両側パディング方法が適用される。あるいはまた、さらに、対称的な両側パディング方法では、サンプルが2つの境界、たとえば、上側の1つの境界と下側の1つの境界にある場合、何個のサンプルがパディングされるかは、図27に示されるように、近いほうの境界によって決定される。一方、分類情報を導出する場合、図27の2つの境界間の4つのラインのみが使用される。
図26は、4ラインのサンプルが2つの境界のものである場合のパディング方法の例を示す。一例では、図26の第1の境界は、ALF仮想境界であってもよく、図25の第2の境界は、スライス/タイル/ブリック境界または360度仮想境界であってもよい。
図22は、ビデオ処理装置2200のブロック図である。装置2200は、本明細書に記載される方法の一つまたは複数を実装するために使用されてもよい。装置2200は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機などで具現されうる。装置2200は、一つまたは複数のプロセッサ2202、一つまたは複数のメモリ2204、およびビデオ処理ハードウェア2206を含んでいてもよい。プロセッサ2202は、本文書に記載される一つまたは複数の方法を実装するように構成されてもよい。メモリ(単数または複数)2204は、本明細書に記載される方法および技法を実装するために使用されるデータおよびコードを記憶するために使用されてもよい。ビデオ処理ハードウェア2206は、ハードウェア回路において、本文書に記載されるいくつかの技法を実装するために使用されてもよい。
いくつかの実施形態では、ビデオコーディング方法は、図22に関して説明したようにハードウェアプラットフォーム上に実装される装置を使用して実装されてもよい。
図23は、ビデオ処理の例示的方法2300のフローチャートである。本方法は、ビデオの現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換のために、変換中に使用する一つまたは複数の補間フィルタを決定する段階(2302)であって、前記一つまたは複数の補間フィルタは、前記ビデオのための複数の補間フィルタからのものである、段階と、前記一つまたは複数の補間フィルタを使用して前記変換を実行する段階(2304)とを含む。
本稿に記載されるさまざまな解決策および実施形態は、解決策のリストを使用してさらに記載される。
セクション4、項目1は、以下の解決策の追加例を提供する。
1. ビデオ・ピクチャーのビデオ・ブロックとそのビットストリーム表現との間の変換を実行する段階であって、前記ビデオ・ブロックは、コーディングツリー・ブロックの論理グループを使用して処理され、前記コーディングツリー・ブロックは、下部コーディングツリー・ブロックの下部境界が前記ビデオ・ピクチャーの下部境界の外側にあるかどうかに基づいて処理される、段階を含む、ビデオ処理方法。
2. 前記コーディングツリー・ブロックを処理する段階は、前記コーディングツリー・ブロック内のサンプルを使用することによって、前記コーディングツリー・ブロックのサンプル値の適応ループ・フィルタリングを実行する段階を含む、解決策1に記載の方法。
3. 前記コーディングツリー・ブロックを処理する段階は、前記コーディングツリー・ブロックを仮想境界に従って2つの部分に分割することを無効にすることによって、前記コーディングツリー・ブロックのサンプル値の適応ループ・フィルタリングを実行する段階を含む、解決策1に記載の方法。
セクション4、項目2は、以下の解決策の追加的な例を提供する。
4. 現在のビデオ・ブロックのコーディングツリー・ブロックの条件に基づいて、ループ内フィルタリング中の仮想サンプルの使用状態を決定する段階と;仮想サンプルの使用状態と整合する、前記ビデオ・ブロックと前記ビデオ・ブロックのビットストリーム表現との間の変換を実行する段階とを含む、ビデオ処理の方法。
5. 前記使用状態の論理的な真の値は、現在のビデオ・ブロックが仮想境界によって少なくとも2つの部分に分割されることを示し、一方の部分のサンプルをフィルタリングすることは、別の部分からの情報を利用することを許可されない、解決策4の方法。
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. 一つまたは複数のビデオ・スライスまたはビデオ・ブリックに論理的にグループ化されたビデオ・ピクチャーと、前記ビデオ・ピクチャーのビットストリーム表現との間の変換中に、前記適応ループ・フィルタ・プロセスにおける別のスライスまたはブリックにおけるサンプルの使用を無効にするように決定する段階と;前記決定と整合する前記変換を実行する段階とを含む、ビデオ処理の方法。
セクション4、項目5は、以下の解決策の追加的な例を提供する。
17. ビデオ・ピクチャーの現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換の間に、前記現在のビデオ・ブロックが前記ビデオ・ピクチャーのビデオ単位の境界に位置するサンプルを含むことを決定する段階と;前記決定に基づいて前記変換を実行する段階とを含み、前記変換を実行する段階は、前記ビデオ・ピクチャーのすべての境界タイプについて同じである統一された方法を使用して、ループ内フィルタリング・プロセスのための仮想サンプルを生成することを含む、ビデオ処理の方法。
18. 前記ビデオ単位は、スライスまたはタイルまたは360度ビデオである、解決策17の方法。
19. 前記ループ内フィルタリングは、適応ループ・フィルタリングを含む、解決策17の方法。
20. 前記統一された方法が、両側パディング方法である、解決策17~19のいずれかの方法。
21. 前記統一された方法が、第一のラインより下のサンプルにアクセスすることが許容されず、第一のラインより下のサンプルについて仮想サンプルを生成するためにパディングが利用される場合、第二のラインより上のサンプルにアクセスすることも許容されないように設定され、第二のラインより上のサンプルについて仮想サンプルを生成するためにパディングが利用される、解決策17~20のいずれかの方法。
22. 前記統一された方法が、第一のラインより上のサンプルにアクセスすることが許容されず、第一のラインより上のサンプルについて仮想サンプルを生成するためにパディングが利用される場合、第二のラインより下のサンプルにアクセスすることも許容されないように設定され、第二のラインより下のサンプルについて仮想サンプルを生成するためにパディングが利用される、解決策17~20のいずれかの方法。
23. 第一のラインとフィルタリングされるべき現在のサンプルが位置する現在のラインとの間の距離および第二のラインと第一のラインとの間の距離が等しい、解決策21~22のいずれかの方法。
セクション4、項目6は、以下の解決策の追加的な例を提供する。
24. ビデオ・ピクチャーの現在のビデオ・ブロックとそのビットストリーム表現との間の変換中に、前記変換中に前記ビデオ・ピクチャーについて利用可能な複数の適応ループ・フィルタ(ALF)サンプル選択方法のうちの1つを適用することを決定する段階と;複数のALFサンプル選択方法のうちの前記1つを適用することによって前記変換を実行する段階とを含む、ビデオ処理の方法。
25. 前記複数のALFサンプル選択方法が、前記変換中にループ内フィルタが現在のビデオ・ブロックに適用される前にサンプルが選択される第1の方法、および前記変換中にループ内フィルタが現在のビデオ・ブロックに適用された後にサンプルが選択される第2の方法を含む、解決策24の方法。
セクション4、項目7は、以下の解決策の追加的な例を提供する。
26. 境界規則に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、ビデオ・ピクチャーの現在のビデオ・ブロックのサンプルに対してループ内フィルタリング動作を実行する段階であって、前記境界規則が、前記ビデオ・ピクチャーの仮想パイプライン・データユニット(VPDU)を越えたサンプルを使用することを無効にする、段階と;前記ループ内フィルタリング動作の結果を使用して前記変換を実行する段階とを含む、ビデオ処理の方法。
27. 前記VPDUが固定サイズを有する前記ビデオ・ピクチャーの領域に対応する、解決策26の方法。
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のいずれか一つまたは複数に記載の方法を実装するように構成されたプロセッサを含む、ビデオ・エンコード装置。
42. 解決策1~38のいずれか一つまたは複数に記載の方法を実装するように構成されたプロセッサを含む、ビデオ・デコード装置。
43. コードが記憶されているコンピュータ読み取り可能媒体であって、前記コードは、プロセッサによる実行に際して、該プロセッサに、解決策1~38のいずれか一つまたは複数に記載された方法を実施させる、媒体。
図28は、本明細書で開示されるさまざまな技法が実装されうる、例示的なビデオ処理システム2800を示すブロック図である。さまざまな実装は、システム2800の構成要素の一部または全部を含んでいてもよい。システム2800は、ビデオ・コンテンツを受領するための入力2802を含んでいてもよい。ビデオ・コンテンツは、生または非圧縮フォーマット、たとえば、8または10ビットの複数成分ピクセル値で受領されてもよく、または圧縮またはエンコードされたフォーマットで受領されてもよい。入力2802は、ネットワークインターフェース、周辺バスインターフェース、または記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット、受動光ネットワーク(PON)などの有線インターフェース、およびWi-Fiまたはセルラーインターフェースなどの無線インターフェースを含む。
システム2800は、本稿に記載されるさまざまなコーディングまたはエンコード方法を実装しうるコーディング構成要素2804を含んでいてもよい。コーディング構成要素2804は、入力2802からのビデオの平均ビットレートをコーディング構成要素2804の出力に低下させて、ビデオのコーディング表現を生成してもよい。よって、コーディング技法は、ビデオ圧縮またはビデオ・トランスコード技法と呼ばれることがある。コーディング構成要素2804の出力は、記憶されるか、または構成要素2806によって表されるように、接続された通信を介して伝送されうる。入力2802において受領されたビデオの記憶されたまたは通信されたビットストリーム(またはコーディング)表現は、ディスプレイインターフェース2810に送られるピクセル値または表示可能なビデオを生成するために、構成要素2808によって使用されてもよい。ビットストリーム表現からユーザーが見ることができるビデオを生成するプロセスは、ビデオ圧縮解除と呼ばれることがある。さらに、ある種のビデオ処理動作は、「コーディング」動作またはツールと称されるが、コーディングツールまたは動作は、エンコーダにおいて使用され、コーディングの結果を反転させる対応する復号ツールまたは動作がデコーダによって実行されることが理解されるであろう。
周辺バスインターフェースまたはディスプレイインターフェースの例は、ユニバーサルシリアルバス(USB)または高精細度マルチメディアインターフェース(HDMI(登録商標))またはディスプレイポートなどを含みうる。記憶インターフェースの例は、SATA(シリアルアドバンストテクノロジーアタッチメント)、PCI、IDEインターフェースなどを含む。本稿に記載される技法は、携帯電話、ラップトップ、スマートフォン、またはデジタルデータ処理および/またはビデオ表示を実行することができる他の装置のようなさまざまな電子装置に具現されうる。
図29は、本技術によるビデオ処理のための方法2900のフローチャート表現である。方法2900は、動作2910において、一つまたは複数のブロックを含むビデオのピクチャーと、そのビデオのビットストリーム表現との間の変換について、ピクチャー内のあるブロックについて仮想境界がフィルタリング・プロセスのために有効にされるかどうかを、そのブロックの下部境界とピクチャーとの間の関係に関連する規則に基づいて決定することを含む。方法2900はまた、動作2920において、該決定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、前記規則は、ブロックの下部境界とピクチャーとの間の関係が、前記決定のために十分であると定義する。いくつかの実施形態では、前記フィルタリング・プロセスは、適応ループ・フィルタリング・プロセスまたはループ内フィルタリング・プロセスを含む。いくつかの実施形態では、前記規則は、ブロックの下部境界がピクチャーの下部境界でない場合に、仮想境界が有効にされることを指定する。
いくつかの実施形態では、規則は、ブロックの下部境界がピクチャーの下部境界である、またはピクチャーの外側に位置する場合に、仮想境界が無効にされることを指定する。いくつかの実施形態では、前記規則は、ピクチャー内のブロックの下部境界がピクチャーの下部境界でない場合に、仮想境界が有効にされることを指定する。いくつかの実施形態では、前記規則は、ブロックの下部境界がピクチャーより小さいビデオ単位の境界でない場合に、仮想境界が有効にされることを指定する。いくつかの実施形態において、ビデオ単位は、スライス、タイルまたはブリックを含む。
いくつかの実施形態では、前記規則は、ブロックの下部境界が仮想境界である場合、仮想境界が有効にされることを指定する。いくつかの実施形態では、前記規則は、ピクチャー・レベルの構文フラグが仮想境界使用が無効にされることを示しているにもかかわらず、前記フィルタリング・プロセスについて仮想境界が有効にされることを指定する。いくつかの実施形態では、前記構文フラグは、pps_loop_filter_across_virtual_boundaries_disabled_flagを含む。いくつかの実施形態では、前記規則は、ブロックの下部境界がピクチャーの下部境界と同じであるにもかかわらず、前記フィルタリング・プロセスについて仮想境界が有効にされることを指定する。いくつかの実施形態では、コーディングツリー・ブロックについて仮想境界が有効にされている場合、前記フィルタリング・プロセスは、ブロックの仮想境界より上からのサンプルのみをフィルタリングする。
図30は、本技術によるビデオ処理のための方法3000のフローチャート表現である。方法3000は、動作3010において、一つまたは複数のブロックを含むビデオのピクチャーと、そのビデオのビットストリーム表現との間の変換について、ピクチャー内のあるブロックのためのフィルタリング・プロセスに関連するパディング・プロセスに基づいて生成される仮想サンプルの使用を、そのブロックの寸法に関連する規則に基づいて決定することを含む。方法3000はまた、動作3020において、該決定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、仮想サンプルの使用は、仮想境界がブロックについて有効にされるかどうかに関係する。いくつかの実施形態では、フィルタリング・プロセスは、適応ループ・フィルタリング・プロセスまたはループ内フィルタリング・プロセスを含む。
いくつかの実施形態では、前記規則は、ブロックの寸法がK×Lである場合、仮想境界は常に無効にされると指定する。いくつかの実施形態では、K=L=4である。いくつかの実施形態では、前記規則は、ブロックの寸法がK×L以下である場合に、仮想境界は常に無効にされると指定する。いくつかの実施形態では、K=L=8である。
いくつかの実施形態では、前記規則は、ブロックの寸法がM×Nである場合に、仮想境界が無効にされることを指定する。ここで、MおよびNは正の整数である。いくつかの実施形態では、M=N=4またはM=N=8である。
図31は、本技術によるビデオ処理のための方法3100のフローチャート表現である。方法3100は、動作3110において、一つまたは複数のビデオ単位を含むビデオのピクチャーと、そのビデオのビットストリーム表現との間の変換について、フィルタリング・プロセスにおける前記一つまたは複数のビデオ単位の境界を越えるサンプルの使用を無効にすることを決定することを含む。ビットストリーム表現は、前記使用が有効にされることを示す構文フラグをもって構成される。方法3100はまた、動作3820において、該決定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、一つまたは複数のビデオ単位は、ブリックまたはスライスを含む。いくつかの実施形態では、フィルタリング・プロセスは、適応ループ・フィルタリング・プロセスまたはループ内フィルタリング・プロセスを含む。いくつかの実施形態では、構文フラグは、適応ループ・フィルタリング・プロセスに適用可能ではない。いくつかの実施形態では、構文フラグは、loop_filter_across_bricks_enabled_flagまたはloop_filter_across_slices_enabled_flagを含む。いくつかの実施形態では、構文フラグは、ブロッキング解除フィルタ・プロセスまたはサンプル適応オフセット(SAO)プロセスに適用可能である。いくつかの実施形態では、サンプルの使用は、パディング・プロセスに基づいて生成された仮想サンプルの使用を含む。
図32は、本技術によるビデオ処理のための方法3200のフローチャート表現である。方法3200は、動作3210において、ビデオのあるブロックとそのビデオのビットストリーム表現との間の変換について、規則に従ってパディング・プロセスがフィルタリング・プロセスのために適用される統一された仕方を決定することを含む。パディング・プロセスは、異なるビデオ単位の境界に近接して位置するブロックのサンプルのために一つまたは複数の仮想サンプルを生成するために適用される。方法3200はまた、動作3220において、該決定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、前記異なるビデオ単位は、スライス、ブリック、タイル、ピクチャーまたは360度ビデオ単位を含む。いくつかの実施形態では、異なるビデオ単位の境界は、仮想境界または実際の境界を含む。いくつかの実施形態では、フィルタリング・プロセスは、適応ループ・フィルタリング・プロセスまたはループ内フィルタリング・プロセスを含む。
いくつかの実施形態では、前記規則は、パディング・プロセスが前記フィルタリング・プロセスのために1回のみ呼び出されることを指定する。いくつかの実施形態では、前記規則は、ループ内フィルタリング・プロセスのために、前記一つまたは複数の仮想サンプルが、対称的なパディング態様に基づいて生成されることを指定する。いくつかの実施形態では、前記規則は、サンプルが前記一つまたは複数のビデオ単位のうちの1つのビデオ単位の下部境界に位置する場合に、パディング・プロセスが適用されることを指定する。
いくつかの実施形態では、前記規則は、前記一つまたは複数の仮想サンプルが位置するラインの数が、前記複数の境界のうちの少なくとも1つに対する前記サンプルの位置に関する第2の規則に基づいて決定されることを指定する。いくつかの実施形態では、前記第2の規則は、前記複数の境界のすべてに対する前記サンプルの位置に関係する。いくつかの実施形態では、前記サンプルは、2つの境界の間に位置し、前記第2の規則は、前記サンプルと前記2つの境界の間の距離に関係する。いくつかの実施形態では、前記第2の規則は、前記サンプルと前記サンプルに最も近い境界との間の距離に関係する。
いくつかの実施形態では、前記一つまたは複数の仮想サンプルが位置するラインの数は、前記複数の境界のそれぞれについて決定され、前記変換のためには最大のライン数が使用される。いくつかの実施形態では、前記一つまたは複数の仮想サンプルが位置するラインの数は、境界に沿った前記サンプルの各側について決定される。いくつかの実施形態では、前記一つまたは複数の仮想サンプルが位置するラインの数は、境界に沿った前記サンプルの両側について合同的に決定される。
いくつかの実施形態では、前記規則は、前記一つまたは複数の仮想サンプルが位置するラインの数が閾値よりも大きい場合に、前記フィルタリング・プロセスが無効にされることを指定する。いくつかの実施形態では、前記フィルタリング・プロセスは、前記サンプルの一つの側のラインの数が前記閾値よりも大きい場合に無効にされる。いくつかの実施形態では、ラインの数が前記サンプルの両側において、前記閾値よりも大きい場合に、前記フィルタリング・プロセスは無効にされる。
いくつかの実施形態では、前記規則は、適応ループ・フィルタリング・プロセスが前記ブロックに適用される場合、前記一つまたは複数の仮想サンプルが前記サンプルの両側に位置することを指定する。いくつかの実施形態では、前記規則は、前記サンプルが前記複数の境界の第2の境界と第3の境界の間の第1の境界に位置する場合、適応ループ・フィルタリング・プロセスが無効にされることを指定する。いくつかの実施形態では、前記規則は、前記サンプルが前記一つまたは複数のビデオ単位のうちの1つのビデオ単位の下部境界に位置し、かつ前記ループ内フィルタリング・プロセスが前記ブロックについて有効にされる場合に、パディング・プロセスが適用されることを指定する。
いくつかの実施形態では、前記規則は、条件が満たされた場合にパディング・プロセスが適用されることを指定する。いくつかの実施形態では、前記サンプルが前記一つまたは複数のビデオ単位のうちの1つのビデオ単位の下部境界に位置し、構文フラグが、前記フィルタリング・プロセスにおける前記一つまたは複数のビデオ単位の境界を越えるサンプルの使用が禁止されていることを示す場合、前記条件が満たされる。いくつかの実施形態では、前記構文フラグはpps_loop_filter_across_virtual_boundaries_disabled_flagまたはloop_filter_across_slices_enabled_flag/loop_filter_across_slices_enabled_flagを含む。
図33は、本技術によるビデオ処理のための方法3300のフローチャート表現である。方法3300は、動作3310において、ビデオのあるブロックとそのビデオのビットストリーム表現との間の変換について、規則に従ってフィルタリング・プロセスにおいてパディング・プロセスが適用されるラインの数を決定することを含む。パディング・プロセスは、少なくとも2つの境界に近接して位置する前記ブロックのサンプルのための一つまたは複数の仮想サンプルを生成するために適用され、前記少なくとも2つの境界は仮想境界と少なくとも1つの他の境界を含む。前記規則は、前記サンプルと前記少なくとも2つの境界の間の距離に関係する。方法3300はまた、動作3320において、該決定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、前記フィルタ・プロセスは、適応ループ・フィルタリング・プロセスを含む。いくつかの実施形態では、前記規則は、前記サンプルの各側についてのラインの数が(M-min(D0,D1))であることを指定する。D0は前記サンプルと前記仮想境界との間の第1の距離を表し、D1は前記サンプルと前記少なくとも1つの他の境界との間の第2の距離を表す。Mは、前記仮想境界から前記ブロックの下部境界までのラインの数を表す。いくつかの実施形態では、前記規則は、前記サンプルの各側についてのラインの数が(M-max(D0,D1))であることを指定する。D0は前記サンプルと前記仮想境界との間の第1の距離を表し、D1は前記サンプルと前記少なくとも1つの他の境界との間の第2の距離を表す。Mは、前記仮想境界から前記ブロックの下部境界までのラインの数を表す。
図34は、本技術によるビデオ処理のための方法3400のフローチャート表現である。方法3400は、動作43410において、ビデオ単位のビデオのあるブロックとそのビデオのビットストリーム表現との間の変換について、(1)一つまたは複数のループ内フィルタリング・プロセスを適用する前に第1のサンプルを選択する第1の態様、および(2)前記一つまたは複数のループ内フィルタリング・プロセスを適用した後、適応フィルタリング・プロセスを適用する前に、第2のサンプルを選択する第2の態様を決定することを含む。方法3400はまた、動作3420において、該決定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、前記ビデオ単位は、コーディングツリー・ブロック、スライスまたはブリックを含む。いくつかの実施形態では、前記第1のサンプルを選択する第1の態様および前記第2のサンプルを選択する第2の態様は、前記第1のサンプルおよび前記第2のサンプルの位置に基づく。いくつかの実施形態では、前記第1の態様は、ビデオ単位の下部境界に位置するサンプルが適応フィルタリング・プロセスにおいて使用される場合、ビデオ単位の下部境界に位置するそのサンプルが前記第1のサンプルとして選択されることを指定する。いくつかの実施形態では、前記第2の態様は、ビデオ単位の下部境界に位置しないサンプルが適応フィルタリング・プロセスにおいて使用される場合、ビデオ単位の下部境界に位置しないそのサンプルが前記第2のサンプルとして選択されることを指定する。
図35は、本技術によるビデオ処理のための方法3500のフローチャート表現である。方法3500は、動作3510において、ビデオ単位のビデオのあるブロックと、そのビデオのビットストリーム表現との間の変換について、フィルタリング・プロセスのためにそのブロックのあるサンプルについて一つまたは複数の仮想サンプルを生成する複数のパディング・プロセスを適用する順序を決定することを含む。方法3500はまた、動作3520において、該決定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、前記ブロックは、コーディングツリー単位または仮想パイプライン・データ単位を含む。いくつかの実施形態では、前記ビデオ単位は、ピクチャーのスライス、ブリック、またはサブ領域を含む。いくつかの実施形態では、この順序は、前記ビデオ単位の第1のパディング・プロセスが、仮想境界のための第2のパディング・プロセスの前に適用されることを指定する。いくつかの実施形態では、前記ブロックのサンプルの片側に沿ったバーチャルサンプルの第1の集合が、前記第1のパディング・プロセスにおいて生成される。いくつかの実施形態では、前記ブロックのサンプルの両側に沿った仮想サンプルの第2の集合が、第2のパディング・プロセスにおいて生成される。いくつかの実施形態では、前記第1の集合の仮想サンプルは、前記第2の集合の仮想サンプルを生成するために、前記第2のパディング・プロセスにおいて使用される。
いくつかの実施形態では、境界は、ピクチャー内の2つの領域の間の水平境界を含む。いくつかの実施形態では、境界は、ピクチャー内の2つの領域の間の垂直境界を含む。いくつかの実施形態では、2つの領域は、ビデオのサブピクチャーを含む。
図36は、本技術によるビデオ処理のための方法3600のフローチャート表現である。方法3600は、動作3610において、ビデオのあるブロックとそのビデオのビットストリーム表現との間の変換について、そのブロックの成分素性(component identity)に関連する規則に従って、そのブロックのあるサンプルがそのブロックの境界からある距離内に位置され、フィルタリング・プロセスのための境界サンプルとなるかどうかを判定することを含む。この方法はまた、動作3620において、該判定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、前記フィルタリング・プロセスは、ループ内フィルタリング・プロセスまたは適応ループ・フィルタリング・プロセスを含む。いくつかの実施形態では、前記規則は、前記サンプルと下部境界との間の距離が閾値T1より小さく、かつ前記ブロックがルーマ・ブロックである場合に、前記サンプルが前記ブロックの下部境界サンプルであることを指定する。いくつかの実施形態では、前記規則は、前記サンプルと前記下部境界との間の距離が閾値T2より小さく、かつ前記ブロックがクロマ・ブロックである場合に、前記サンプルが前記ブロックの下部境界サンプルであることを指定する。ある実施形態では、T1およびT2は異なる。いくつかの実施形態では、ビデオのカラー・フォーマットが4:4:4でない場合には、T1とT2は異なる。
図37は、本技術によるビデオ処理のための方法3700のフローチャート表現である。方法3700は、動作3710において、ビデオのブロックとそのビデオのビットストリーム表現との間の変換について、フィルタリング・プロセスのための、そのビデオのビデオ単位の境界を越えるサンプルの使用が無効にされることを決定することを含む。ビデオは、一つまたは複数のビデオ単位を含み、前記一つまたは複数のビデオ単位のそれぞれは、一つまたは複数のブロックを含む。方法3700はまた、動作3720において、該決定に基づいて前記変換を実行することをも含む。
いくつかの実施形態では、前記ビデオ単位は、仮想パイプライン・データ単位を含む。いくつかの実施形態では、前記ビデオ単位は、64×64領域を含む。いくつかの実施形態では、前記フィルタリング・プロセスは、ループ内フィルタリング・プロセスまたは適応ループ・フィルタリング・プロセスを含む。いくつかの実施形態では、前記境界は、垂直境界を含む。いくつかの実施形態では、前記境界は、水平境界を含む。いくつかの実施形態では、前記ブロックが前記ビデオ単位の境界に近接して位置するサンプルを含む場合、前記ブロックについての仮想境界が有効にされる。いくつかの実施形態では、前記フィルタリング・プロセスによって必要とされるサンプルは、前記サンプルが前記境界の外側または前記仮想境界より下に位置する場合、前記ビデオ単位内の利用可能なサンプルに基づいて生成されたパディング・サンプルによって置き換えられる。いくつかの実施形態では、適応ループ・フィルタリング・プロセスにおける分類段階によって必要とされるサンプルは、前記サンプルが前記境界の外側または前記仮想境界より下に位置する場合、前記ビデオ単位内の利用可能なサンプルに基づいて決定されたパディング・サンプルまたは分類結果によって置き換えられる。
図38は、本技術によるビデオ処理のための方法3800のフローチャート表現である。方法3800は、動作3810において、ビデオのあるブロックとそのビデオのビットストリーム表現との間の変換について、パディング・サンプルを使用することなくそのブロックにフィルタリング・プロセスを適用する態様を決定することを含む。方法3800はまた、動作3820において、該決定に基づいて前記変換を実行することを含む。
いくつかの実施形態では、前記フィルタリング・プロセスは適応ループ・フィルタリング・プロセスを含む。いくつかの実施形態では、前記態様は、任意のループ内フィルタリング・プロセスの前に決定された再構成されたサンプルが、適応ループ・フィルタリング・プロセスにおいて使用されることを指定する。いくつかの実施形態では、前記ブロック内の現在のサンプルについて、任意のループ内フィルタリング・プロセスの前に決定された2つの再構成されたサンプルが、適応ループ・フィルタリング・プロセスにおいて使用され、ここで、該2つの再構成されたサンプルのそれぞれは、現在のサンプルのそれぞれの側に位置される。いくつかの実施形態では、2つの再構成されたサンプルは、現在のサンプルに対して対称的に位置される。いくつかの実施形態では、現在のサンプルが(x,y)に位置し、第1の再構成されたサンプルが(x+i,y+j)に位置する場合、第2の再構成されたサンプルは(x-i,y-j)に位置し、xおよびyは非負の整数であり、iおよびjは正の整数である。いくつかの実施形態では、前記ブロックの構成要素がスケーリングされる再整形段階が有効にされる場合、再構成されたサンプルは、再整形されたドメインから変換されたドメインから選択される。
いくつかの実施形態では、前記態様は、適応ループ・フィルタリング・プロセスに関連する調整パラメータまたはサンプルを指定する。いくつかの実施形態では、調整は、現在のサンプルに関連するフィルタ係数を修正することを含む。いくつかの実施形態において、修正は、現在のサンプルに関連するフィルタ係数をゼロに設定することを含む。いくつかの実施形態では、修正は、現在のサンプルに適用可能なフィルタ係数を((1<<C_BD)-Sum)と設定することを含み、ここで、C_BDは、フィルタ係数のビット深さを表し、Sumは、サンプルをパディングすることを必要としないサンプルに適用可能なすべての係数の和を表す。
いくつかの実施形態では、調整は、サンプルをパディングすることを必要とするサンプルを除外することを含む。いくつかの実施形態では、調整は、非線形フィルタが有効にされているか否かにかかわらず、第1のサンプルのフィルタ係数を第2のサンプルのフィルタ係数に加えることを含む。いくつかの実施形態では、調整は、さらに、第2のサンプルについてのクリッピング・パラメータを導出することを含む。いくつかの実施形態では、第2のサンプルについてのクリッピング・パラメータは、少なくとも第2のサンプルについてのデコードされたクリッピング・パラメータに基づいて導出される。いくつかの実施形態では、第2のサンプルについてのクリッピング・パラメータは、第1のサンプルについての第1のデコードされたクリッピング・パラメータおよび第2のサンプルについての第2のデコードされたクリッピング・パラメータの関数に基づいて導出される。
いくつかの実施形態では、前記態様は、サンプルをパディングすることを必要としない第1のサンプルについての前記フィルタリング・プロセスに関連するパラメータの第1の集合が、サンプルをパディングすることを使用する第2のサンプルについてのパラメータの第2の集合と異なることを指定する。いくつかの実施形態では、前記態様は、第1のサンプルおよび第2のサンプルが同じクラス・インデックスを共有するにもかかわらず、第1の集合のパラメータと第2の集合のパラメータが異なることを指定する。いくつかの実施形態では、前記フィルタリング・プロセスに関連するパラメータは、クリッピング・パラメータ、フィルタ係数、または前記フィルタリング・プロセスをサポートする他のパラメータを含む。いくつかの実施形態では、前記態様は、前記フィルタリング・プロセスに関連するパラメータが前記ビットストリーム表現において信号伝達されることを指定する。いくつかの実施形態では、前記パラメータは、コーディングツリー単位レベル、領域レベル、スライス・レベル、またはタイル・レベルで信号伝達される。いくつかの実施形態では、前記態様は、前記第1の集合のパラメータが前記第2の集合のパラメータに基づいて決定されることを指定する。
いくつかの実施形態では、前記態様は、現在のサンプルについてのフィルタリング・プロセスに関連するパラメータを調整することを指定する。いくつかの実施形態では、調整は、現在のサンプルに関連するフィルタ係数を修正することを含む。いくつかの実施形態では、修正は、現在のサンプルに関連するフィルタ係数をゼロに設定することを含む。いくつかの実施形態では、修正は、現在のサンプルに適用可能なフィルタ係数を((1<<C_BD)-Sum)と設定することを含み、ここで、C_BDは、フィルタ係数のビット深さを表し、Sumは、サンプルをパディングすることを必要としないサンプルに適用可能なすべての係数の和を表す。いくつかの実施形態では、調整は、サンプルをパディングすることを必要とするサンプルを除外することを含む。いくつかの実施形態では、調整は、非線形フィルタが有効にされるか否かにかかわらず、第1のサンプルのフィルタ係数を第2のサンプルのフィルタ係数に加えることを含む。いくつかの実施形態では、調整は、さらに、第2のサンプルのためのクリッピング・パラメータを導出することを含む。いくつかの実施形態では、第2のサンプルについてのクリッピング・パラメータは、少なくとも第2のサンプルについてのデコードされたクリッピング・パラメータに基づいて導出される。いくつかの実施形態では、第2のサンプルについてのクリッピング・パラメータは、第1のサンプルについての第1のデコードされたクリッピング・パラメータおよび第2のサンプルについての第2のデコードされたクリッピング・パラメータの関数に基づいて導出される。
いくつかの実施形態では、前記変換は、前記ビデオを前記ビットストリーム表現にエンコードすることを含む。いくつかの実施形態では、前記変換は、前記ビットストリーム表現を前記ビデオにデコードすることを含む。
以上から、本開示の技術の個別的な実施形態が例解の目的で記載されてきたが、本発明の範囲から逸脱することなく、さまざまな修正を行うことができることが理解されるであろう。よって、本開示の技術は、添付の特許請求の範囲による場合を除き、限定されない。
開示された技術のいくつかの実施形態は、ビデオ処理ツールまたはモードを可能にする決定または判断を行うことを含む。一例では、ビデオ処理ツールまたはモードが有効にされる場合、エンコーダは、ビデオのブロックの処理において該ツールまたはモードを使用または実装するが、必ずしも該ツールまたはモードの使用に基づいて、結果として生じるビットストリームを修正しないことがある。すなわち、ビデオのブロックからビデオのビットストリーム表現への変換は、前記ビデオ処理ツールまたはモードを、前記決定または判断に基づいて有効にされているときに使用する。別の例では、ビデオ処理ツールまたはモードが有効にされている場合、デコーダは、ビットストリームがビデオ処理ツールまたはモードに基づいて修正されたという知識をもって、ビットストリームを処理する。すなわち、ビデオのビットストリーム表現からビデオのブロックへの変換は、前記決定または判断に基づいて有効にされたビデオ処理ツールまたはモードを使用して実行される。
開示された技術のいくつかの実施形態は、ビデオ処理ツールまたはモードを無効にする決定または判断を行うことを含む。一例では、ビデオ処理ツールまたはモードが無効にされている場合、エンコーダは、ビデオのブロックをビデオのビットストリーム表現に変換する際に、該ツールまたはモードを使用しない。別の例では、ビデオ処理ツールまたはモードが無効にされている場合、デコーダは、ビットストリームが前記決定または判断に基づいて有効にされたビデオ処理ツールまたはモードを使用して修正されていないとの知識を用いて、ビットストリームを処理する。
この特許文献に記載されている主題および機能動作の実装は、本明細書に開示されている構造およびその構造的等価物を含む、さまざまなシステム、デジタル電子回路、またはコンピュータ・ソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらの一つまたは複数の組み合わせにおいて実装できる。本明細書に記載された主題の実装は、一つまたは複数のコンピュータ・プログラム・プロダクト、たとえば、データ処理装置による実行のための、またはデータ処理装置の動作を制御するための、有形で非一時的なコンピュータ読み取り可能媒体上にエンコードされたコンピュータ・プログラム命令の一つまたは複数のモジュールとして実装できる。コンピュータ読み取り可能媒体は、機械読み取り可能な記憶装置、機械読み取り可能な記憶基板、メモリ装置、機械読み取り可能な伝搬信号を実現する物質の組成、またはそれらの一つまたは複数の組み合わせでありうる。用語「データ処理ユニット」または「データ処理装置」は、たとえば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータ・プログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの一つまたは複数の組み合わせを構成するコードを含むことができる。
コンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイルまたはインタープリットされる言語を含む、任意の形のプログラミング言語で書くことができ、それは、スタンドアローン・プログラムとして、またはコンピューティング環境における使用に好適なモジュール、コンポーネント、サブルーチン、または他のユニットとしてを含め、任意の形で展開できる。コンピュータ・プログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分(たとえば、マークアップ言語文書に格納される一つまたは複数のスクリプト)、問題のプログラム専用の単一ファイル、または複数の協調させられたファイル(たとえば、一つまたは複数のモジュール、サブプログラム、またはコード部分を格納するファイル)に記憶できる。コンピュータ・プログラムは、1つのコンピュータ上で、または1つのサイトに位置する、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開できる。
本明細書に記載されるプロセスおよび論理フローは、入力データに対して作用し、出力を生成することによって機能を実行するよう、一つまたは複数のコンピュータ・プログラムを実行する一つまたは複数のプログラマブルプロセッサによって実行できる。プロセスおよび論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような特殊目的論理回路によって実行されることもでき、装置もかかる特殊目的論理回路として実装されることができる。
コンピュータ・プログラムの実行に好適なプロセッサは、たとえば、汎用および専用マイクロプロセッサの両方、および任意の種類のデジタル・コンピュータの任意の一つまたは複数のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダム・アクセス・メモリまたはその両方から命令およびデータを受領する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための一つまたは複数のメモリ装置である。一般に、コンピュータはまた、データを記憶するための一つまたは複数の大容量記憶装置、たとえば、磁気、光磁気ディスク、または光ディスクを含んでいてもよく、またはかかる大容量記憶装置からデータを受領し、かかる大容量記憶装置にデータを転送するように動作上結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータ・プログラム命令およびデータを記憶するのに好適なコンピュータ読み取り可能媒体は、たとえば半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスを含む、あらゆる形の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補足されることができ、またはかかる特殊目的論理回路に組み込まれることができる。
明細書は、図面とともに、単に例示的とみなされることが意図されている。ここで、例示的とは例を意味する。本明細書中で使用されるところでは、「または」の使用は、文脈がそうでないことを明確に示すのでない限り、「および/または」を含むことが意図される。
この特許文献は多くの詳細が含んでいるが、これらは、いずれかの発明の範囲または特許請求されうるものに対する限定として解釈されるべきではなく、具体的な発明の具体的な実施形態に特有でありうる事項の記述として解釈されるべきである。この特許文献において別個の実施形態の文脈で記載されているある種の特徴は、単一の実施形態において組み合わせて実装されることもできる。逆に、単一の実施形態の文脈において記述されているさまざまな特徴が、複数の実施形態において別個に、または任意の好適なサブコンビネーションにおいて実装されることもできる。さらに、上記では特徴は、ある種の組み合わせにおいて作用するものとして記述され、当初はそのようにクレームされることさえありうるが、クレームされた組み合わせからの一つまたは複数の特徴が、場合によっては、該組み合わせから切り出されることができ、クレームされた組み合わせは、サブコンビネーションまたはサブコンビネーションの変形に向けられてもよい。
同様に、図面には特定の順序で動作が示されているが、これは、所望の結果を達成するために、そのような動作が示されている特定の順序で、または逐次順に実行されること、または、示されるすべての動作が実行されることを要求するものとして理解されるべきではない。さらに、この特許文献に記載されている実施形態におけるさまざまなシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではない。
少数の実装および例のみが記述されており、この特許文献に記載され、説明されている内容に基づいて、他の実装、拡張および変形がなされてもよい。

Claims (14)

  1. ビデオ処理の方法であって:
    一つまたは複数のコーディングツリー・ブロックを含むビデオのピクチャーと、前記ビデオのビットストリームとの間の変換について、前記ピクチャー内のあるコーディングツリー・ブロックについてラインバッファ仮想境界が第1のフィルタリング・プロセスのために有効にされるかどうかを、前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部境界との間の関係に基づいて決定する段階と;
    前記決定に基づいて前記変換を実行する段階とを含み、
    前記第1のフィルタリング・プロセスは:
    前記コーディングツリー・ブロックについて少なくとも1つのフィルタリング・インデックスを決定し;
    前記少なくとも1つのフィルタリング・インデックスに基づいてフィルタリング係数集合を導出し;
    前記フィルタリング係数集合に基づいてフィルタリング動作を実行することを含み、
    前記コーディングツリー・ブロックの下部境界が前記コーディングツリー・ブロックを含む前記ピクチャーの下部境界でない場合に、前記ラインバッファ仮想境界が有効にされ、
    前記決定は、前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部境界との間の関係のみに依存し、前記コーディングツリー・ブロックおよび前記ピクチャーの他の境界とは独立であり、
    前記決定は、前記コーディングツリー・ブロックの下部境界とブリックの下部境界の間の関係、前記コーディングツリー・ブロックの下部境界とスライスの下部境界の間の関係、または前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部仮想境界の間の関係とは独立である、
    方法。
  2. 前記ラインバッファ仮想境界が、前記少なくとも1つのフィルタリング・インデックスを決定するために使用され、前記ラインバッファ仮想境界の外部のサンプルは、前記少なくとも1つのフィルタリング・インデックスを決定するためには使用されない、請求項1に記載の方法。
  3. 前記ラインバッファ仮想境界が、ダイヤモンド形フィルタを使用する前記フィルタリング動作において使用され、前記フィルタリング動作において、前記仮想境界の2つの側で対称的なパディングが実行される、請求項1または2に記載の方法。
  4. 前記第1のフィルタリング・プロセスのためにパディング・プロセスが適用される統一された仕方を決定する段階をさらに含み、前記パディング・プロセスは、複数種類のビデオ領域の境界に近接して位置する前記コーディングツリー・ブロックのサンプルについて、一つまたは複数の仮想サンプルを生成するために適用され、
    前記パディング・プロセスは、前記第1のフィルタリング・プロセスについて1回だけ呼び出される、
    請求項1ないし3のうちいずれか一項に記載の方法。
  5. 前記複数種類のビデオ領域の境界は、スライス境界、ブリック境界、タイル境界、サブピクチャー境界または360度境界のうちの少なくとも1つを含む、請求項4に記載の方法。
  6. 複数種類のビデオ領域の境界は、仮想境界または実際の境界を含む、請求項4または5に記載の方法。
  7. 前記パディング・プロセスを適用するライン数は、前記境界のうちの少なくとも1つに対する前記サンプルの位置に基づいて決定される、請求項4ないし6のうちいずれか一項に記載の方法。
  8. 複数種類のビデオ領域の境界は、水平境界または垂直境界を含む、請求項4ないし7のうちいずれか一項に記載の方法。
  9. 前記第1のフィルタリング・プロセスは、適応ループ・フィルタリング・プロセスである、請求項1ないし8のうちいずれか一項に記載の方法。
  10. 前記変換は、前記ビデオを前記ビットストリームにエンコードすることを含む、請求項1ないし9のうちいずれか一項に記載の方法。
  11. 前記変換は、前記ビットストリームを前記ビデオにデコードすることを含む、請求項1ないし9のうちいずれか一項に記載の方法。
  12. プロセッサと、命令を有する非一時的なメモリとを有する、ビデオ・データを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに:
    一つまたは複数のコーディングツリー・ブロックを含むビデオのピクチャーと、前記ビデオのビットストリームとの間の変換について、前記ピクチャー内のあるコーディングツリー・ブロックについてラインバッファ仮想境界が第1のフィルタリング・プロセスのために有効にされるかどうかを、前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部境界との間の関係に基づいて決定する段階と;
    前記決定に基づいて前記変換を実行する段階とを実行させるものであり、
    前記第1のフィルタリング・プロセスは:
    前記コーディングツリー・ブロックについて少なくとも1つのフィルタリング・インデックスを決定し;
    前記少なくとも1つのフィルタリング・インデックスに基づいてフィルタリング係数集合を導出し;
    前記フィルタリング係数集合に基づいてフィルタリング動作を実行することを含み、
    前記コーディングツリー・ブロックの下部境界が前記コーディングツリー・ブロックを含む前記ピクチャーの下部境界でない場合に、前記ラインバッファ仮想境界が有効にされ、
    前記決定は、前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部境界との間の関係のみに依存し、前記コーディングツリー・ブロックおよび前記ピクチャーの他の境界とは独立であり、
    前記決定は、前記コーディングツリー・ブロックの下部境界とブリックの下部境界の間の関係、前記コーディングツリー・ブロックの下部境界とスライスの下部境界の間の関係、または前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部仮想境界の間の関係とは独立である、
    装置。
  13. 命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに:
    一つまたは複数のコーディングツリー・ブロックを含むビデオのピクチャーと、前記ビデオのビットストリームとの間の変換について、前記ピクチャー内のあるコーディングツリー・ブロックについてラインバッファ仮想境界が第1のフィルタリング・プロセスのために有効にされるかどうかを、前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部境界との間の関係に基づいて決定する段階と;
    前記決定に基づいて前記変換を実行する段階とを実行させるものであり、
    前記第1のフィルタリング・プロセスは:
    前記コーディングツリー・ブロックについて少なくとも1つのフィルタリング・インデックスを決定し;
    前記少なくとも1つのフィルタリング・インデックスに基づいてフィルタリング係数集合を導出し;
    前記フィルタリング係数集合に基づいてフィルタリング動作を実行することを含み、
    前記コーディングツリー・ブロックの下部境界が前記コーディングツリー・ブロックを含む前記ピクチャーの下部境界でない場合に、前記ラインバッファ仮想境界が有効にされ、
    前記決定は、前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部境界との間の関係のみに依存し、前記コーディングツリー・ブロックおよび前記ピクチャーの他の境界とは独立であり、
    前記決定は、前記コーディングツリー・ブロックの下部境界とブリックの下部境界の間の関係、前記コーディングツリー・ブロックの下部境界とスライスの下部境界の間の関係、または前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部仮想境界の間の関係とは独立である、
    記憶媒体。
  14. ビデオのビットストリームを記憶する方法であって、前記方法は:
    ビデオのピクチャー内のあるコーディングツリー・ブロックについてラインバッファ仮想境界が第1のフィルタリング・プロセスのために有効にされるかどうかを、前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部境界との間の関係に基づいて決定する段階と;
    前記決定に基づいて前記ビットストリームを生成する段階と;
    前記ビットストリームを非一時的なコンピュータ読み取り可能な記憶媒体に記憶する段階とを含み、
    前記第1のフィルタリング・プロセスは:
    前記コーディングツリー・ブロックについて少なくとも1つのフィルタリング・インデックスを決定し;
    前記少なくとも1つのフィルタリング・インデックスに基づいてフィルタリング係数集合を導出し;
    前記フィルタリング係数集合に基づいてフィルタリング動作を実行することを含み、
    前記コーディングツリー・ブロックの下部境界が前記コーディングツリー・ブロックを含む前記ピクチャーの下部境界でない場合に、前記ラインバッファ仮想境界が有効にされ、
    前記決定は、前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部境界との間の関係のみに依存し、前記コーディングツリー・ブロックおよび前記ピクチャーの他の境界とは独立であり、
    前記決定は、前記コーディングツリー・ブロックの下部境界とブリックの下部境界の間の関係、前記コーディングツリー・ブロックの下部境界とスライスの下部境界の間の関係、または前記コーディングツリー・ブロックの下部境界と前記ピクチャーの下部仮想境界の間の関係とは独立である、
    方法
JP2021573862A 2019-06-14 2020-06-15 ビデオ単位境界および仮想境界の処理 Active JP7433346B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
CN2019091324 2019-06-14
CNPCT/CN2019/091324 2019-06-14
CN2019092861 2019-06-25
CNPCT/CN2019/092861 2019-06-25
CN2019095157 2019-07-08
CNPCT/CN2019/095157 2019-07-08
PCT/CN2020/096044 WO2020249123A1 (en) 2019-06-14 2020-06-15 Handling video unit boundaries and virtual boundaries

Publications (2)

Publication Number Publication Date
JP2022536519A JP2022536519A (ja) 2022-08-17
JP7433346B2 true JP7433346B2 (ja) 2024-02-19

Family

ID=73781981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021573862A Active JP7433346B2 (ja) 2019-06-14 2020-06-15 ビデオ単位境界および仮想境界の処理

Country Status (7)

Country Link
US (2) US12003712B2 (ja)
EP (1) EP3970366A4 (ja)
JP (1) JP7433346B2 (ja)
KR (1) KR20220020268A (ja)
CN (2) CN114424539B (ja)
BR (1) BR112021024638A2 (ja)
WO (1) WO2020249123A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020249124A1 (en) 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
CN114097225B (zh) 2019-07-09 2024-04-19 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
EP3984223A4 (en) 2019-07-11 2022-11-09 Beijing Bytedance Network Technology Co., Ltd. SAMPLE PADDING IN AN ADAPTIVE LOOP FILTERING
MX2022000120A (es) 2019-07-15 2022-02-16 Beijing Bytedance Network Tech Co Ltd Clasificacion en filtrado de bucle adaptativo.
MX2022000987A (es) * 2019-07-25 2022-10-28 Hfi Innovation Inc Metodo y aparato de filtrado de bucle adaptativo de componentes cruzados con limite virtual para codificacion de video.
CN117278747A (zh) 2019-09-22 2023-12-22 北京字节跳动网络技术有限公司 自适应环路滤波中的填充过程
KR20220063177A (ko) 2019-09-27 2022-05-17 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 상이한 비디오 유닛들 간의 적응적 루프 필터링
EP4029263A4 (en) 2019-10-10 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. FILLING PROCEDURE AT UNAVAILABLE SAMPLING POINTS IN AN ADAPTIVE LOOP FILTERING
EP4047933B1 (en) 2019-11-18 2024-07-31 LG Electronics Inc. Filtering-based image coding device and method
CN118450118A (zh) * 2019-11-18 2024-08-06 Lg电子株式会社 编码设备、解码设备、比特流生成设备和数据发送设备
WO2021101200A1 (ko) 2019-11-18 2021-05-27 엘지전자 주식회사 루프 필터링을 제어하기 위한 영상 코딩 장치 및 방법
JP7180001B2 (ja) * 2019-12-24 2022-11-29 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 適応ループフィルタ処理のための仮想境界処理
US20220394309A1 (en) * 2021-05-20 2022-12-08 Lemon Inc. On Padding Methods For Neural Network-Based In-Loop Filter

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517555A (ja) 2011-05-10 2014-07-17 メディアテック インコーポレイテッド インループフィルターバッファーの削減方法及び装置

Family Cites Families (125)

* 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 海信集团有限公司 一种视频环路滤波方法
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
KR101649882B1 (ko) 2009-02-10 2016-08-22 래티스세미컨덕터코퍼레이션 블록 노이즈 검출 및 필터링
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
KR101772459B1 (ko) 2010-05-17 2017-08-30 엘지전자 주식회사 신규한 인트라 예측 모드
CA3188026A1 (en) 2010-09-30 2012-04-05 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
CN103155557B (zh) 2010-10-05 2017-03-01 寰发股份有限公司 基于分区基础的自适应环路滤波方法和装置
US8861617B2 (en) 2010-10-05 2014-10-14 Mediatek Inc 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
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
CN103891292B (zh) 2011-10-24 2018-02-02 寰发股份有限公司 视频数据环路滤波处理方法及其装置
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
US20130128986A1 (en) 2011-11-23 2013-05-23 Mediatek Inc. Method and Apparatus of Slice Boundary Padding for Loop Filtering
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
EP2697973B1 (en) 2012-04-16 2017-06-28 HFI Innovation Inc. Method and apparatus for loop filtering across slice or tile boundaries
US20130343447A1 (en) 2012-06-25 2013-12-26 Broadcom Corporation Adaptive loop filter (ALF) padding in accordance with 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
EP2941871A2 (en) 2013-01-07 2015-11-11 VID SCALE, Inc. Enhanced deblocking filters for video coding
US9294776B2 (en) 2013-03-05 2016-03-22 Qualcomm Incorporated Parallel processing for video coding
KR101767331B1 (ko) 2013-04-17 2017-08-10 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
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
GB2516824A (en) 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
WO2015043501A1 (en) 2013-09-27 2015-04-02 Qualcomm Incorporated Residual coding for depth intra prediction modes
US10567806B2 (en) 2013-11-15 2020-02-18 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
EP3138293A4 (en) 2014-04-29 2017-05-24 Microsoft Technology Licensing, LLC Encoder-side decisions for sample adaptive offset filtering
EP3198867A4 (en) 2014-10-31 2018-04-04 MediaTek Inc. Method of improved directional intra prediction for video coding
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
US10158836B2 (en) 2015-01-30 2018-12-18 Qualcomm Incorporated Clipping for cross-component prediction and adaptive color transform for video coding
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
WO2016167538A1 (ko) 2015-04-12 2016-10-20 엘지전자(주) 비디오 신호의 인코딩, 디코딩 방법 및 그 장치
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
JP6559337B2 (ja) 2015-09-23 2019-08-14 ノキア テクノロジーズ オーユー 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
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
KR102521272B1 (ko) 2016-07-08 2023-04-12 브이아이디 스케일, 인크. 지오메트리 투영을 이용한 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
KR102416257B1 (ko) 2016-08-03 2022-07-04 주식회사 케이티 비디오 신호 처리 방법 및 장치
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
WO2018052224A1 (ko) 2016-09-13 2018-03-22 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
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 华为技术有限公司 一种去块滤波方法及终端
US20180184127A1 (en) 2016-12-22 2018-06-28 Qualcomm Incorporated Determining neighboring samples for bilateral filtering in video coding
US10555006B2 (en) * 2016-12-22 2020-02-04 Qualcomm Incorporated Deriving bilateral filter information based on a prediction mode 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
CN116233423A (zh) 2017-03-22 2023-06-06 汉阳大学校产学协力团 基于自适应像素分类基准的环路滤波方法
EP3539290A1 (en) 2017-03-30 2019-09-18 Samsung Electronics Co., Ltd. Method and apparatus for producing 360 degree image content on rectangular projection by selectively applying in-loop filter
KR20230079466A (ko) 2017-04-11 2023-06-07 브이아이디 스케일, 인크. 면 연속성을 사용하는 360 도 비디오 코딩
EP3454556A1 (en) 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
US10728573B2 (en) 2017-09-08 2020-07-28 Qualcomm Incorporated Motion compensated boundary pixel padding
CN117061771A (zh) 2017-09-20 2023-11-14 Vid拓展公司 用于编码的方法和装置和用于解码的方法和装置
CN114979635B (zh) 2017-10-09 2023-10-27 佳能株式会社 用于对样本块进行滤波的方法、装置和存储介质
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 シャープ株式会社 動画像符号化装置及び動画像復号装置
WO2019089695A1 (en) 2017-11-01 2019-05-09 Vid Scale, Inc. Methods for simplifying adaptive loop filter in video coding
CN111316649B (zh) 2017-11-01 2024-06-11 Vid拓展公司 重叠块运动补偿
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
CN116055748A (zh) 2017-11-29 2023-05-02 韩国电子通信研究院 采用环内滤波的图像编码/解码方法和装置
CN118509596A (zh) 2017-12-19 2024-08-16 Vid拓展公司 用于360度视频译码的面不连续性滤波
WO2019131400A1 (ja) 2017-12-26 2019-07-04 シャープ株式会社 画像フィルタ装置、画像復号装置、および画像符号化装置
EP3732880A4 (en) 2017-12-29 2021-04-28 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PARTITIONING VIDEO BLOCKS TO ONE FRAME LIMIT FOR VIDEO ENCODING
CN109996069B (zh) 2018-01-03 2021-12-10 华为技术有限公司 视频图像编解码方法及设备
US20190215518A1 (en) 2018-01-10 2019-07-11 Qualcomm Incorporated Histogram of gradient based optical flow
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
WO2019157717A1 (zh) 2018-02-14 2019-08-22 北京大学 运动补偿的方法、装置和计算机系统
US11212438B2 (en) 2018-02-14 2021-12-28 Qualcomm Incorporated Loop filter padding for 360-degree video coding
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
CN108449591A (zh) 2018-03-21 2018-08-24 天津大学 一种深度视频dmm模式简化方法
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
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
US20210314630A1 (en) 2018-05-31 2021-10-07 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks in an inter prediction slice of video data
EP3808079A1 (en) 2018-06-18 2021-04-21 InterDigital VC Holdings, Inc. Boundary filtering for planar and dc modes in intra prediction
EP3863285A1 (en) 2018-06-21 2021-08-11 Telefonaktiebolaget LM Ericsson (publ) Deblocking of video picture boundaries
CN112335250A (zh) 2018-06-28 2021-02-05 韩国电子通信研究院 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
KR20200005480A (ko) 2018-07-06 2020-01-15 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US11094088B2 (en) 2018-08-31 2021-08-17 Mediatek Inc. Method and apparatus of in-loop filtering for virtual boundaries in video coding
CN112703742B (zh) 2018-09-14 2023-03-31 华为技术有限公司 视频译码中的分块指示
US11743458B2 (en) 2018-10-23 2023-08-29 Hfi Innovation Inc. Method and apparatus for reduction of in-loop filter buffer
CN112913247B (zh) 2018-10-23 2023-04-28 北京字节跳动网络技术有限公司 使用局部照明补偿的视频处理
CN109660797A (zh) * 2018-11-09 2019-04-19 北京达佳互联信息技术有限公司 自适应滤波方法、装置、电子设备及计算机可读介质
CN109600611B (zh) * 2018-11-09 2021-07-13 北京达佳互联信息技术有限公司 环路滤波方法、环路滤波装置、电子设备和可读介质
US11044473B2 (en) * 2018-12-21 2021-06-22 Qualcomm Incorporated Adaptive loop filtering classification in video coding
CN113498605A (zh) 2018-12-23 2021-10-12 华为技术有限公司 编码器、解码器及使用自适应环路滤波器的相应方法
CN113330745A (zh) 2019-01-09 2021-08-31 华为技术有限公司 视频译码中的子图像标识符指示
CN113545036B (zh) 2019-03-02 2023-11-28 北京字节跳动网络技术有限公司 对环路内滤波的限制
CN113557736A (zh) 2019-03-11 2021-10-26 华为技术有限公司 视频译码中的子图像级滤波
US11910024B2 (en) 2019-03-11 2024-02-20 Qualcomm Incorporated Boundary handling for adaptive loop filtering
US11546587B2 (en) 2019-04-11 2023-01-03 Mediatek Inc. Adaptive loop filter with adaptive parameter set
WO2020249124A1 (en) 2019-06-14 2020-12-17 Beijing Bytedance Network Technology Co., Ltd. Handling video unit boundaries and virtual boundaries based on color format
CN114097225B (zh) 2019-07-09 2024-04-19 北京字节跳动网络技术有限公司 用于自适应环路滤波的样点确定
CN114097227A (zh) 2019-07-11 2022-02-25 三星电子株式会社 视频解码方法和设备以及视频编码方法和设备
EP3984223A4 (en) 2019-07-11 2022-11-09 Beijing Bytedance Network Technology Co., Ltd. SAMPLE PADDING IN AN ADAPTIVE LOOP FILTERING
US11432015B2 (en) 2019-07-11 2022-08-30 Qualcomm Incorporated Adaptive loop filtering across raster-scan slices
MX2022000120A (es) 2019-07-15 2022-02-16 Beijing Bytedance Network Tech Co Ltd Clasificacion en filtrado de bucle adaptativo.
MX2022002542A (es) 2019-09-05 2022-05-18 Hfi Innovation Inc Metodo y aparato para filtracion de bucle adaptable en limite de imagen y sub-imagen en codificacion de video.
US11303890B2 (en) 2019-09-05 2022-04-12 Qualcomm Incorporated Reusing adaptive loop filter (ALF) sub-picture boundary processing for raster-scan slice boundaries
CN117278747A (zh) 2019-09-22 2023-12-22 北京字节跳动网络技术有限公司 自适应环路滤波中的填充过程
KR20220063177A (ko) 2019-09-27 2022-05-17 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 상이한 비디오 유닛들 간의 적응적 루프 필터링
EP4029263A4 (en) 2019-10-10 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. FILLING PROCEDURE AT UNAVAILABLE SAMPLING POINTS IN AN ADAPTIVE LOOP FILTERING

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517555A (ja) 2011-05-10 2014-07-17 メディアテック インコーポレイテッド インループフィルターバッファーの削減方法及び装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHEN, Ching-Yeh et al.,Non-CE8.c.7: Single-source SAO and ALF virtual boundary processing with cross9x9,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting: Geneva, CH, 21-30 November, 2011, [JCTVC-G212],JCTVC-G212 (version 5),ITU-T,2011年11月29日,<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G212-v5.zip>: JCTVC-G212_r1.doc: pp.1-25
CHEN, Jianle et al.,Algorithm description for Versatile Video Coding and Test Model 5 (VTM 5),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH, 19-27 Mar. 2019, [JVET-N1002-v2],JVET-N1002 (version 2),ITU-T,2019年06月11日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1002-v2.zip>: JVET-N1002-v2.docx: pp.59-66

Also Published As

Publication number Publication date
US20240107014A1 (en) 2024-03-28
US20220103817A1 (en) 2022-03-31
WO2020249123A1 (en) 2020-12-17
CN114424539B (zh) 2024-07-12
US12003712B2 (en) 2024-06-04
JP2022536519A (ja) 2022-08-17
KR20220020268A (ko) 2022-02-18
CN118138754A (zh) 2024-06-04
BR112021024638A2 (pt) 2022-01-18
EP3970366A1 (en) 2022-03-23
CN114424539A (zh) 2022-04-29
EP3970366A4 (en) 2023-03-29

Similar Documents

Publication Publication Date Title
JP7433346B2 (ja) ビデオ単位境界および仮想境界の処理
JP7549082B2 (ja) 適応ループフィルタリングのためのサンプル決定
JP7549081B2 (ja) 適応ループフィルタリングにおけるサンプルパディング
CN113994671B (zh) 基于颜色格式处理视频单元边界和虚拟边界
JP7361196B2 (ja) 適応ループ・フィルタリングにおける分類
JP7454042B2 (ja) 適応ループ・フィルタリングにおける利用可能でないサンプル位置でのパディング・プロセス
JP7318120B2 (ja) 適応ループフィルタリングにおけるパディングプロセス
JP7326600B2 (ja) 異なるビデオユニット間の適応ループフィルタリング
KR102707854B1 (ko) 적응적 루프 필터링에서의 분류
RU2811461C2 (ru) Классификация в адаптивной контурной фильтрации
RU2815441C2 (ru) Способ заполнения отсчетов при адаптивной контурной фильтрации
CN114128296A (zh) 自适应环路滤波中跨视频单元边界访问样点

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231025

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: 20240116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240206

R150 Certificate of patent or registration of utility model

Ref document number: 7433346

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150