JP2022535726A - 行列ベースイントラ予測における制約されたアップサンプリングプロセス - Google Patents

行列ベースイントラ予測における制約されたアップサンプリングプロセス Download PDF

Info

Publication number
JP2022535726A
JP2022535726A JP2021570148A JP2021570148A JP2022535726A JP 2022535726 A JP2022535726 A JP 2022535726A JP 2021570148 A JP2021570148 A JP 2021570148A JP 2021570148 A JP2021570148 A JP 2021570148A JP 2022535726 A JP2022535726 A JP 2022535726A
Authority
JP
Japan
Prior art keywords
block
samples
neighboring samples
reconstructed neighboring
current video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021570148A
Other languages
English (en)
Inventor
デン,ジピン
ザン,カイ
ザン,リー
リュウ,ホンビン
シュイ,ジィジォン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2022535726A publication Critical patent/JP2022535726A/ja
Priority to JP2023190715A priority Critical patent/JP2024003124A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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

Abstract

映像符号化のために行列ベースイントラ予測法を含む、デジタル映像符号化のための装置、システム方法が記載される。代表的な一態様において、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(MIP)モードを用いて実行するステップを含み、変換は、最終予測ブロックが現在映像ブロックの減少した予測ブロックを使用することによって、且つルールに従って現在映像ブロックの再構成隣接サンプルを使用することによって決定されるアップサンプリング演算を行うことを含み、減少した予測ブロックは、現在映像ブロックの減少した境界サンプルに対して行列ベクトル乗算演算を行うことによって取得される。

Description

[関連出願への相互参照]
パリ条約に基づく適用可能な特許法及び/又は規則の下で、この出願は、2019年5月31日に出願された国際特許出願第PCT/CN2019/089590号の優先権及び利益を適時に主張して行われる。法律の下での全ての目的のために、上記出願の開示全体を、この出願の開示の一部として援用する。
[技術分野]
この特許文書は、映像符号化技術、装置及びシステムに関連する。
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅使用を占めている。映像を受信して表示することが可能な接続ユーザ装置の数が増えるにつれて、デジタル映像使用に対する帯域幅需要が増加し続けることが予期される。
デジタル映像符号化、そして具体的には、映像符号化のための行列ベースイントラ予測法に関係する装置、システム及び方法が記載される。記載される方法は、既存の映像符号化標準(例えば、HEVC(High Efficiency Video Coding)及び将来の映像符号化標準(例えば、VVC(Versatile Video Coding))若しくはコーデックの双方に適用され得る。
代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(matrix based intra prediction;MIP)モードを用いて実行するステップを含み、MIPモードにおいて、現在映像ブロックの予測ブロックは、映像のうち先行して符号化されたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いて選択的にアップサンプリング演算を行うことによって決定され、変換は、現在映像ブロックの減少した境界サンプルが現在映像ブロックの参照境界サンプルに少なくとも基づくルールに従って生成される単一の段階において境界ダウンサンプリング演算を行うことを含み、変換は、現在映像ブロックの減少した境界サンプルを用いて行列ベクトル乗算演算を行うことを含む。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(MIP)モードを用いて実行するステップを含み、MIPモードにおいて、現在映像ブロックの最終予測ブロックは、映像のうち先行して符号化されたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いてアップサンプリング演算を行うことによって決定され、変換は、最終予測ブロックが現在映像ブロックの減少した予測ブロックを使用することによって、且つルールに従って現在映像ブロックの再構成隣接サンプルを使用することによって決定されるアップサンプリング演算を行うことを含み、減少した予測ブロックは、現在映像ブロックの減少した境界サンプルに対して行列ベクトル乗算演算を行うことによって取得される。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックがアフィン線形加重イントラ予測(affine linear weighted intra prediction;ALWIP)モードを用いて符号化されることを決定するステップと、該決定に基づき、非ALWIPイントラモード向けの最確モード(most probable mode;MPM)リストの少なくとも一部に基づいて、ALWIPモード向けのMPMリストの少なくとも一部を構築するステップと、ALWIPモード向けのMPMリストに基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックのルマコンポーネントが、アフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定するステップと、該決定に基づいてクロマイントラモードを推定するステップと、クロマイントラモードに基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定するステップと、該決定に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードとは異なる符号化モードを用いて符号化されることを決定するステップと、該決定に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックに対して、アフィン線形加重イントラ予測(ALWIP)モードを用いて第1の予測を生成するステップと、第1の予測に基づいて、位置依存イントラ予測コンビネーション(position dependent intra prediction combination;PDPC)を用いて第2の予測を生成するステップと、第2の予測に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定するステップと、ALWIPモードに基づいて、現在映像ブロックの複数のサブブロックを予測するステップと、該予測に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、映像処理の方法が開示される。当該方法は、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、現在映像ブロックに対するルールに基づいて、アフィン線形加重イントラ予測(ALWIP)モードの使用を指し示すフラグのコンテキストを決定するステップと、ALWIPモードに基づいて、現在映像ブロックの複数のサブブロックを予測するステップと、該予測に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、映像処理の方法が開示される。当該方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、少なくとも2つのフィルタリング段階のうちの第1のフィルタリング段階におけるサンプルの第1の精度は、少なくとも2つのフィルタリング段階のうちの第2のフィルタリング段階におけるサンプルの第2の精度とは異なる。
更なる他の一態様において、映像処理の方法が開示される。当該方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、アップサンプリングプロセスは、垂直アップサンプリング及び水平アップサンプリングの双方が実行される場合に固定の順序で実行される。
更なる他の一態様において、映像処理の方法が開示される。当該方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、変換は、アップサンプリングプロセスの前に転置演算を行うことを含む。
更なる他の代表的な一態様において、上述の方法は、プロセッサ実行可能コードの形態で具体化され、コンピュータ読み取り可能なプログラム媒体に格納される。
更なる他の代表的な一態様において、上述の方法を実行するように構成された又は動作可能な装置が開示される。当該装置は、この方法を実装するようにプログラムされたプロセッサを含み得る。
更なる他の代表的な一態様において、ビデオデコーダ装置が、ここに記載される方法を実装し得る。
開示される技術の上述の及び他の態様及び特徴が、図面、明細書、及び特許請求の範囲に更に詳細に記載される。
33個のイントラ予測方向の一例を示している。 67個のイントラ予測モードの一例を示している。 線形モデルの重みの導出に使用されるサンプルの位置の一例を示している。 予測ブロックに隣接する4つの参照ラインの一例を示している。 図5A及び図5Bは、ブロックサイズに応じたサブパーティションの例を示している。 図5A及び図5Bは、ブロックサイズに応じたサブパーティションの例を示している。 4×4ブロックに関するALWIPの一例を示している。 8×8ブロックに関するALWIPの一例を示している。 8×4ブロックに関するALWIPの一例を示している。 16×16ブロックに関するALWIPの一例を示している。 MPMリスト構築に使用される隣接ブロックの一例を示している。 開示される技術に従った、行列ベースイントラ予測に関する方法の一例のフローチャートを示している。 開示される技術に従った、行列ベースイントラ予測に関する方法の他の一例のフローチャートを示している。 開示される技術に従った、行列ベースイントラ予測に関する方法の更なる他の一例のフローチャートを示している。 開示される技術に従った、行列ベースイントラ予測に関する方法の更なる他の一例のフローチャートを示している。 本文書に記載されるビジュアルメディア復号又はビジュアルメディア符号化技術を実装するためのハードウェアプラットフォームの一例のブロック図である。 隣接ブロックの一例を示している。 提案の減少した境界サンプルの生成の一例である。 元の再構成隣接サンプルを用いた提案のアップサンプリングの一例を示している。 ビデオデコーダの一例を示すブロック図である。 ここに開示される様々な技術が実装され得る映像処理システムの一例を示すブロック図である。 この開示の技術を利用し得る例示的な映像符号化システムを示すブロック図である。 ビデオエンコーダの一例を示すブロック図である。 開示される技術に従った、行列ベースイントラ予測に関する更なる方法例のフローチャートを示している。 開示される技術に従った、行列ベースイントラ予測に関する更なる方法例のフローチャートを示している。
より高い解像度の映像に対する高まる要求により、映像符号化方法及び技術は、現代技術においてどこにでも見られるものになっている。映像コーデックは、典型的に、デジタル映像を圧縮又は解凍する電子回路又はソフトウェアを含み、より高い符号化効率を提供するために絶えず改良されている。映像コーデックは、圧縮されていない映像を圧縮フォーマットに変換し、又はその逆の変換を行う。映像品質、映像を表現するために使用されるデータの量(ビットレートによって決定される)、符号化及び復号のアルゴリズムの複雑さ、データ損失及び誤差に対する感度、編集の容易さ、ランダムアクセス、及びエンド・ツー・エンド遅延(レイテンシ)の間に複雑な関係がある。圧縮フォーマットは、通常、例えばHEVC(High Efficiency Video Coding)標準(H.265又はMPEG-H Part2としても知られている)、成立されることになるVVC(Versatile Video Coding)標準、又は他の現在及び/又は将来の映像符号化標準といった、標準映像圧縮仕様に準拠する。
開示される技術の実施形態は、ランタイム性能を改善するために、既存の映像符号化標準(例えば、HEVC、H.265)及び将来の標準に適用され得る。本文書では、説明の読みやすさを向上させるためにセクション見出しを使用するが、それらセクション見出しは、説明又は実施形態(及び/又は実装)をそれぞれのセクションのみに限定するものではない。
1 HEVCに関する簡単なレビュー
1.1 HEVC/H.265におけるイントラ予測
イントラ予測は、検討されているカラーチャネルにおける先行して再構成されたサンプルを用いて、所与のTB(変換ブロック)に関するサンプルを生成することを含む。イントラ予測モードは、ルマ(luma)チャネル及びクロマ(chroma)チャネルに関して別々に信号伝達され、クロマチャネルイントラ予測モードは、オプションで、‘DM_CHROMA’モードを介してルマチャネルイントラ予測モードに依存する。イントラ予測モードはPB(予測ブロック)レベルで信号伝達されるが、イントラ予測プロセスは、CUの残りの四分木階層に従ってTBレベルで適用され、それにより、1つのTBの符号化がCU内の次のTBの符号化に影響すること、及びそれ故に、参照値として使用されるサンプルまでの距離を短くすることを可能にする。
HEVCは、DCモード、プレーナ(planar)モード、及び33個の方向若しくは‘角度’イントラ予測モードという35個のイントラ予測モードを含んでいる。33の角度イントラ予測モードは図1に示されている。
クロマカラーチャネルに関連するPBでは、イントラ予測モードは、プレーナモード、DCモード、水平モード、垂直モード、‘DM_CHROMA’モード、又は時々、対角モード‘34’のいずれかとして規定される。
なお、クロマフォーマット4:2:2及び4:2:0では、クロマPBは(それぞれ)2つ又は4つのルマPBと重なり合うとすることができ、この場合、DM_CHROMAでのルマ方向はこれらのルマPBの左上からとられる。
DM_CHROMAモードは、ルマカラーチャネルPBのイントラ予測モードがクロマカラーチャネルPBに適用されることを指し示す。これは比較的一般的であるので、intra_chroma_pred_modeの最確モード符号化スキームは、このモードが選択されることを好むようにバイアスされる。
2 VVCにおけるイントラ予測の例
2.1 67個のイントラ予測モードを備えたイントラモード符号化
自然映像内で示される任意のエッジ方向を捕捉するために、方向イントラモードの数が、HEVCで使用されるような33個から65個に拡張される。追加の方向モードを、図2に赤色の点線矢印として示しており、プレーナモード及びDCモードは同じままである。これらのいっそう密な方向イントラ予測モードが、全てのブロックサイズに適用されるとともに、ルマイントラ予測及びクロマイントラ予測の両方に適用される。
2.2 クロスコンポーネント線形モデル(CCLM)の例
一部の実施形態において、また、クロスコンポーネント冗長性を低減させるために、クロスコンポーネント線形モデル(cross-component linear model;CCLM)予測モード(LMとしても参照される)がJEMにおいて使用され、そこでは、クロマサンプルが、以下:
Figure 2022535726000002
の線形モデルを使用することによって、同じCUの再構成されたルマサンプルに基づいて予測される。
ここで、pred(i,j)は、CU内の予測クロマサンプルを表し、recL’(i,j)は、同じCUのダウンサンプリングされた再構成ルマサンプルを表す。線形モデルパラメータα及びβは、ダウンサンプリングされた隣接ルマサンプルのセット内で最小サンプル値を持つルマサンプル及び最大サンプル値を持つルマサンプルとそれらの対応するクロマサンプルとである、2つのサンプルからのルマ値とクロマ値との間の関係から導出される。図3は、CCLMモードに関与する現在ブロックのサンプル並びに左サンプル及び上サンプルの位置の一例を示している。
このパラメータ計算は、復号プロセスの一部として実行され、単にエンコーダ探索処理としてではない。結果として、α及びβ値をデコーダに伝達するために使用される構文はない。
クロマイントラモード符号化では、合計8つのイントラモードがクロマイントラモード符号化向けに可能にされている。それらのモードは、5つの伝統的なイントラモードと、3つのクロスコンポーネント線形モデルモード(CCLM、LM_A、及びLM_L)とを含む。クロマモード符号化は、対応するルマブロックのイントラ予測モードに直接的に依存する。Iスライスでは、ルマコンポーネントとクロマコンポーネントとに対して別々のブロック分割構造が可能であるため、1つのクロマブロックが複数のルマブロックに対応することがある。従って、クロマDMモードでは、現在クロマブロックの中心位置をカバーする対応するルマブロックのイントラ予測モードが直接継承される。
2.3 複数参照ライン(MRL)イントラ予測
複数参照ライン(multiple reference line;MRL)イントラ予測は、より多くの参照ラインをイントラ予測に使用する。図4に、4つの参照ラインの例を示しており、ここでは、セグメントA及びFのサンプルは、再構成された隣接サンプルからフェッチされるのではなく、それぞれセグメントB及びEからの最も近いサンプルでパディングされる。HEVCイントラピクチャ予測は、最も近い参照ライン(すなわち参照ライン0)を使用する。MRLでは、2つの追加のライン(参照ライン1及び参照ライン3)が使用される。選択された参照ラインのインデックス(mrl_idx)が信号伝達され、イントラ予測子を生成するために使用される。0より大きい参照ラインidxの場合、MPMリスト内の追加の参照ラインモードのみを含み、残りのモードなしでmpmインデックスのみを信号伝達する。
2.4イントラサブパーティション(ISP)
イントラサブパーティション(Intra Sub-Partitions;ISP)ツールは、ルマイントラ予測ブロックを、ブロックサイズに応じて垂直方向又は水平方向に2つ又は4つのサブパーティションに分割する。例えば、ISPでの最小ブロックサイズは4×8(又は8×4)である。ブロックサイズが4×8(又は8×4)よりも大きい場合、対応するブロックが4つのサブパーティションによって分割される。図5は、2つの可能性の例を示している。全てのサブパーティションが、少なくとも16サンプルを持つという条件を満たす。
各サブパーティションについて、予測信号に残差信号を加えることによって再構成サンプルが得られる。ここで、残差信号は、例えばエントロピー復号、逆量子化及び逆変換などのプロセスによって生成される。従って、各サブパーティションの再構成サンプル値は、次のサブパーティションの予測を生成するのに利用可能であり、各サブパーティションが繰り返し処理される。さらに、処理される最初のサブパーティションは、CUの左上サンプルを含むものであり、その後、下向き(水平スプリット)又は右向き(垂直スプリット)に続く。結果として、サブパーティション予測信号を生成するのに使用される参照サンプルは、ラインの左側及び上方にのみ位置する。全てのサブパーティションが同じイントラモードを共有する。
2.5 アフィン線形加重イントラ予測(ALWIP又は行列ベースイントラ予測)
アフィン線形加重イントラ予測(ALWIP、行列ベースイントラ予測(MIP)としても知られる)がJVET-N0217で提案されている。
JVET-N0217において2つのテストが行われている。テスト1において、ALWIPは、8Kバイトのメモリ制約及びサンプル当たり最大4回の乗算で設計される。テスト2はテスト1と同様であるが、メモリ要求及びモデルアーキテクチャの観点で設計を更に単純化する:
・全てのブロック形状に対して単一セットの行列及びオフセットベクトル。
・全てのブロック形状に対してモード数を19まで削減。
・メモリ要求を5760個の10ビット値すなわち7.20キロバイトまで削減。
・予測サンプルの線形補間が方向あたり単一ステップで実行され、第1のテストにおいてのような反復補間を置き換える。
2.5.1 JVET-N0217のテスト1
幅W及び高さHの矩形ブロックのサンプルを予測するために、アフィン線形加重イントラ予測(ALWIP)は、ブロックの左の1ラインのH個の再構成隣接境界サンプルと、ブロックの上の1ラインのW個の再構成隣接境界サンプルとを入力としてとる。これらの再構成サンプルが利用可能でない場合には、それらは、従来からのイントラ予測において行われている通りに生成される。予測信号の生成は、次の3つのステップに基づく。
境界サンプルから、W=H=4のケースで4つのサンプル、それ以外の全てのケースで8つのサンプルが、平均することによって抽出される。
それら平均したサンプルを入力として、行列ベクトル乗算及びそれに続くオフセットの加算が実行される。その結果は、元のブロック内のサンプルのサブサンプリングされたセットについての減少された予測信号である。
サブサンプリングされたセットについての予測信号から、残りの位置の予測信号が、各方向に単一ステップの線形補間である線形補間によって生成される。
予測信号を生成するのに必要とされる行列及びオフセットベクトルは、行列の3セットS、S、Sからとられる。セットSは、各々が16行及び4列を持つ18個の行列A ,i∈{0,…,17}及び各々がサイズ16の18個のオフセットベクトルb ,i∈{0,…,17}からなる。このセットの行列及びオフセットベクトルは、サイズ4×4のブロックに使用される。セットSは、各々が16行及び8列を持つ10個の行列A ,i∈{0,…,9}及び各々がサイズ16の10個のオフセットベクトルb ,i∈{0,…,9}からなる。このセットの行列及びオフセットベクトルは、サイズ4×8、8×4、及び8×8のブロックに使用される。最後に、セットSは、各々が64行及び8列を持つ6個の行列A ,i∈{0,…,5}及び各々がサイズ64の6個のオフセットベクトルb ,i∈{0,…,5}からなる。このセットの行列及びオフセットベクトル、又はこれらの行列及びオフセットベクトルの一部は、他の全てのブロック形状に使用される。
行列ベクトル積の計算に必要な乗算の総数は常に4×W×H以下である。換言すれば、ALWIPモードで必要とされる乗算はサンプル当たり多くて4回である。
2.5.2 境界の平均化
第1のステップにて、入力境界bdrytop及びbdryleftが、より小さい境界bdryred top及びbdryred leftへと減少(reduced)される。ここで、bdryred top及びbdryred leftは、4×4ブロックのケースではどちらも2サンプルからなり、それ以外の全てのケースでどちらも4サンプルからなる。
4×4ブロックのケースでは、0≦i<2で、
Figure 2022535726000003
と定義され、bdryred leftも同様に定義される。
それ以外のケースで、ブロック幅WがW=4・2kとして与えられる場合、0≦i<4で、
Figure 2022535726000004
と定義され、bdryred leftも同様に定義される。
これら2つの減少された境界bdryred top及びbdryred leftが減少境界ベクトルbdryredへと連結され、これは故に、形状4×4のブロックではサイズ4、それ以外の全ての形状のブロックではサイズ8のものである。モード(mode)がALWIPモードを指す場合、この連結は次のように定義される:
Figure 2022535726000005
最後に、サブサンプリングされた予測信号の補間のために、大きいブロックについて、平均した境界の第2のバージョンが必要である。すなわち、min(W,H)>8且つW≧Hである場合、W=8×2lと記述し、0≦i<8で、
Figure 2022535726000006
と定義する。
min(W,H)>8且つH>Wである場合、同様にbdryredII leftを定義する。
2.5.3 行列ベクトル乗算による減少予測信号の生成
減少された入力ベクトルbdryredから、減少された予測信号predredを生成する。後者の信号は、幅Wred及び高さHredのダウンサンプリングされたブロックについての信号である。ここで、Wred及びHredは:
Figure 2022535726000007
として定義される。
減少予測信号predredは、行列ベクトル積を計算し、補正値を加算することによって計算される:
predred=A・bdryred+b
ここで、Aは、Wred・Hred行を持ち、且つW=H=4の場合に4列、それ以外の全てのケースで8列を持つ行列であり、bは、サイズWred・Hredのベクトルである。
行列A及びベクトルbは、以下のように、セットS、S、Sのうちの1つからとられる。インデックスidx=idx(W,H)を、次のように定義する:
Figure 2022535726000008
また、mを以下とする:
Figure 2022535726000009
そして、idx≦1又はidx=2且つmin(W,H)>4である場合、A=Aidx 及びb=bidx とする。idx=2且つmin(W,H)=4である場合、W=4のケースではダウンサンプリングされたブロック内の奇数のx座標に対応するAidx の全ての行又はH=4のケースではダウンサンプリングされたブロック内の奇数のy座標に対応するAidx の全ての行を除外することによって生じる行列をAとする。
最後に、以下の場合に、減少された予測信号がその転置行列で置き換えられる:
・W=H=4、且つモード≧18
・max(W,H)=8、且つモード≧10
・max(W,H)>8、且つモード≧6。
predredの計算に必要な乗算の数は、W=H=4のケースで4である。何故なら、この場合、Aは4列及び16行を有するからである。それ以外の全てのケースでは、Aは8列及びWred・Hred行を有し、直ちに確認されることには、これらのケースでは8・Wred・Hred≦4W・H回の乗算が必要であり、すなわち、これらのケースでも、predredを計算するのに必要とされる乗算の数はサンプル当たり多くて4である。
2.5.4 ALWIPプロセス全体の例示
平均化、行列ベクトル乗算、及び線形補間のプロセス全体を、図6-図9にて異なる形状について例示する。なお、残りの形状は、図示のケースのうちの1つにおいてのように扱われる。
1. 4×4ブロックを所与として、ALWIPは境界の各軸に沿って2つの平均をとる。得られた4つの入力サンプルが行列ベクトル乗算に入る。セットSから行列がとられる。オフセットを加えた後、これは16個の最終予測サンプルを生み出す。この予測信号を生成するのに線形補間は必要でない。従って、サンプル当たり合計で(4・16)/(4・4)=4回の乗算が行われる。
2. 8×8ブロックを所与として、ALWIPは境界の各軸に沿って4つの平均をとる。得られた8つの入力サンプルが行列ベクトル乗算に入る。セットSから行列がとられる。これは、予測ブロックの奇数位置に16個のサンプルを生み出す。従って、サンプル当たり合計で(8・16)/(8・8)=2回の乗算が行われる。オフセットを加えた後、これらのサンプルは、減少された上境界を用いることによって垂直方向に補間される。元の左境界を用いることによって水平補間が続く。
3. 8×4ブロックを所与として、ALWIPは境界の水平軸に沿った4つの平均と、左境界上の4つの元の境界値とをとる。得られた8つの入力サンプルが行列ベクトル乗算に入る。セットSから行列がとられる。これは、予測ブロックの奇数水平位置且つ各垂直位置に16個のサンプルを生み出す。従って、サンプル当たり合計で(8・16)/(8・4)=4回の乗算が行われる。オフセットを加えた後、これらのサンプルは、元の左境界を用いることによって水平方向に補間される。
4. 16×16ブロックを所与として、ALWIPは境界の各軸に沿って4つの平均をとる。得られた8つの入力サンプルが行列ベクトル乗算に入る。4つの平均を生成するために、2段階のダウンサンプリング演算が利用される。最初に、それぞれ連続する2つのサンプルが1つのダウンサンプリング値を導出するために使用され、従って、上/左隣接の8つの平均が取得され得る。次に、辺当たり8つの平均が更にダウンサンプリングされて、辺当たり4つの平均を生成し得る。4つの平均は、減少予測信号を導出するために使用される。さらに、辺当たり8つの平均は、減少予測信号のサブサンプリングを介して最終予測サンプルの生成に更に利用される。セットSから行列がとられる。これは、予測ブロックの奇数位置に64個のサンプルを生み出す。従って、サンプル当たり合計で(8・64)/(16・16)=2回の乗算が行われる。オフセットを加えた後、これらのサンプルは、上境界の8つの平均を用いることによって垂直方向に補間される。元の左境界を用いることによって水平補間が続く。補間プロセスは、このケースにおいて、如何なる乗算も追加しない。従って、合計として、サンプル当たり2回の乗算がALWIP予測を計算するのに必要とされる。
より大きい形状の場合、手順は基本的に同じであり、サンプル当たりの乗算数が4未満であることを確認するのは容易である。
W>8であるW×8ブロックの場合、サンプルが奇数水平位置且つ各垂直位置に与えられるので、水平補間のみが必要である。
最後に、W>8であるW×4ブロックの場合、ダウンサンプリングされたブロック内の横軸に沿った奇数エントリに対応する全ての行を除外することによって生じる行列をA_kとする。従って、出力サイズは32であり、この場合も水平補間のみが実行されるままである。
転置されたケースも、これらに従って扱われる。
2.5.5 単一ステップ線形補間
max(W,H)≧8であるW×Hブロックでは、予測信号は、Wred×Hredについての減少された予測信号predredから線形補間による生じる。ブロック形状に応じて、垂直方向、水平方向、又は両方向に線形補間が行われる。線形補間が両方向に適用される場合、それは、W<Hの場合には先ず水平方向に適用され、それ以外の場合には先ず垂直方向に適用される。
一般性を損なうことなく、max(W,H)≧8且つW≧HであるW×Hブロックを考える。すると、一次元線形補間は以下のように行われる。一般性を損なうことなく、垂直方向での線形補間を記述すれば十分である。最初に、減少予測信号が、境界信号によって上に拡張される。垂直アップサンプリング係数Uver=H/Hredを定義し、Uver=2uver>1と記述する。そして、拡張された減少予測信号を、
Figure 2022535726000010
により定義する。
そして、この拡張された減少予測信号から、垂直方向に線形補間された予測信号が、0≦x<Wred、0≦y<Hred、及び0≦k<Uverについて、
Figure 2022535726000011
によって生成される。
2.5.6 提案するイントラ予測モードの信号伝達
イントラモードにおける各符号化ユニット(CU)について、対応する予測ユニット(PU)にALWIPモードが適用されるか否かを指し示すフラグが、ビットストリーム内で送られる。後者のインデックスの信号伝達は、JVET-M0043においてと同じようにMRLと調和される。ALWIPモードが適用される場合、ALWIPモードのインデックスpredmodeが、3つのMPMSを有するMPMリストを用いて信号伝達される。
ここで、MPMの導出は、以下のように、上及び左PUのイントラモードを用いて行われる。従来からのイントラ予測モードpredmodeAngularの各々にALWIPモードを割り当てる3つの固定テーブルmap_angular_to_alwipidx,idx∈{0,1,2}が存在する:
predmodeALWIP=map_angular_to_alwipidx[predmodeAngular
幅W及び高さHの各PUに対して、セクション2.5.3においてのように3つのセットのうちのどれからALWIPパラメータが取られるかを指し示すインデックス:
idx(PU)=idx(W,H)∈{0,1,2}
を定義する。
上予測ユニットPUaboveが利用可能であり、現在PUと同じCTUに属し、且つイントラモードにある場合であって、idx(PU)=idx(PUabove)であり且つALWIPがALWIPモードpredmodeALWIP aboveでPUaboveに適用される場合、
Figure 2022535726000012
とする。
上PUが利用可能であり、現在PUと同じCTUに属し、且つイントラモードにある場合であって、従来からのイントラ予測モードpredmodeAngular aboveが上PUに適用される場合、
Figure 2022535726000013
とする。
その他全てのケースでは、
Figure 2022535726000014
とし、これは、このモードが利用可能でないことを意味する。同じようにして、しかし、左PUが現在PUと同じCTUに属する必要があるという制約なしに、モードmodeALWIP leftを導出する。
最後に、各々が3つの異なるALWIPモードを含む3つの固定デフォルトリストlistidx、idx∈{0,1,2}が提供される。デフォルトリストlistidx(PU)並びにモードmodeALWIP above及びmodeALWIP leftから、-1をデフォルト値に置き換え且つ繰り返しを排除することによって、3つの異なるMPMを構築する。
ALWIP MPMリスト構築に使用される左隣接ブロック及び上隣接ブロックは、図10に示すA1及びB1である。
2.5.7 従来からのルマ及びクロマイントラ予測モードのための適応MPMリスト導出
提案されるALWIPモードは、従来からのイントラ予測モードのMPMベースの符号化と、以下のように調和される。従来からのイントラ予測モードに対するルマ及びクロマMPMリスト導出プロセスは、所与のPUについてのALWIPモードpredmodeALWIPを従来からのイントラ予測モードのうちの1つにマッピングする固定テーブルmap_alwip_to_angularidx,idx∈{0,1,2}を使用する:
predmodeAngular=map_alwip_to_angularidx(PU)[predmodeALWIP
ルマMPMリスト導出では、ALWIPモードpredmodeALWIPを使用する隣接ルマブロックに遭遇すると常に、このブロックは、あたかも従来からのイントラ予測モードpredmodeAngularを使用しているかのように扱われる。クロマMPMリスト導出では、現在ルマブロックがLWIPモードを使用するときは常に、同じマッピングを用いてALWIPモードを従来からのイントラ予測モードに変換する。
2.5.8 対応する変更ワーキングドラフト
一部の実施形態において、このセクションに記載されるように、開示される技術の実施形態に基づいて、intra_lwip_flag、intra_lwip_mpm_flag、intra_lwip_mpm_idx及びintra_lwip_mpm_remainderに関する部分がワーキングドラフトに追加されている。
一部の実施形態において、このセクションに記載されるように、開示される技術の実施形態に基づくワーキングドラフトへの追加及び変更を表すために、<begin>タグ及び<end>タグが使用される。
構文テーブル
符号化ユニット構文
Figure 2022535726000015
Figure 2022535726000016
セマンティック
<begin> 1に等しいintra_lwip_flag[x0][y0]は、ルマサンプルについてのイントラ予測タイプがアフィン線形加重イントラ予測であることを規定する。0に等しいintra_lwip_flag[x0][y0]は、ルマサンプルについてのイントラ予測タイプがアフィン線形加重イントラ予測ではないことを規定する。
intra_lwip_flag[x0][y0]が存在しない場合、それは0に等しいと推定される。
構文要素intra_lwip_mpm_flag[x0][y0]、intra_lwip_mpm_idx[x0][y0]、及びintra_lwip_mpm_remainder[x0][y0]は、ルマサンプルについてのアフィン線形加重イントラ予測モードを規定する。配列インデックスx0,y0は、ピクチャの左上ルマサンプルに対する、検討されている符号化ブロックの左上ルマサンプルの位置(x0,y0)を規定する。intra_lwip_mpm_flag[x0][y0]が1に等しい場合、8.4.X節に従って、隣接するイントラ予測される符号化ユニットからアフィン線形加重イントラ予測モードが推定される。
intra_lwip_mpm_flag[x0][y0]が存在しない場合、それは1に等しいと推定される。<end>
intra_subpartitions_split_flag[x0][y0]は、イントラサブパーティションスプリットタイプが水平であるのか、それとも垂直であるのかを規定する。intra_subpartitions_split_flag[x0][y0]が存在しない場合、それは次のように推定される:
- intra_lwip_flag[x0][y0]が1に等しい場合、intra_subpartitions_split_flag[x0][y0]は0に等しいと推定される。
- それ以外の場合は、以下が適用される:
- cbHeightがMaxTbSizeYより大きい場合、intra_subpartitions_split_flag[x0][y0]は0に等しいと推定される;
- そうでない場合(cbWidthがMaxTbSizeYより大きい)、intra_subpartitions_split_flag[x0][y0]は1に等しいと推測される。
復号プロセス
8.4.1 イントラ予測モードで符号化される符号化ユニットについての一般的な復号プロセス
このプロセスへの入力は以下である:
- 現在符号化ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xCb,yCb)、
- ルマサンプルにおける現在符号化ブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在符号化ブロックの高さを規定する変数cbHeight、
- 単一のツリーが使用されるのか、それとも二重のツリーが使用されるのかを規定し、二重のツリーを使用される場合に、現在ツリーがルマコンポーネントに対応するのかクロマコンポーネントに対応するのかを規定する変数treeType。
このプロセスの出力は、インループフィルタリング前の修正再構成ピクチャである。
8.7.1節にて規定される量子化パラメータの導出プロセスが、ルマ位置(xCb,yCb)、ルマサンプルにおける現在符号化ブロックの幅cbWidth、ルマサンプルにおける現在符号化ブロックの高さcbHeight、及び変数treeTypeを入力として呼び出される。
treeTypeがSINGLE_TREEに等しい場合、又はtreeTypeがDUAL_TREE_LUMAに等しい場合、ルマサンプルについての復号プロセスは次のように規定される:
- pcm_flag[xCb][yCb]が1に等しい場合、再構成ピクチャが次のように変更される:
SL[xCb+i][yCb+j]=
pcm_sample_luma[(cbHeight*j)+i]<<(BitDepthY-PcmBitDepthY), (8-6)
with i=0..cbWidth-1,j=0..cbHeight-1
- それ以外の場合、以下が適用される:
1. ルマイントラ予測モードは次のように導出される:
- intra_lwip_flag[xCb][yCb]が1に等しい場合、8.4.X節に規定されるアフィン線形加重イントラ予測モードの導出プロセスが、ルマ位置(xCb,yCb)、ルマサンプルにおける現在符号化ブロックの幅cbWidth、及びルマサンプルにおける現在符号化ブロックの高さcbHeightを入力として呼び出される;
- そうでない場合、8.4.2節に規定されるルマイントラ予測モードの導出プロセスが、ルマ位置(xCb,yCb)、ルマサンプルにおける現在符号化ブロックの幅cbWidth、及びルマサンプルにおける現在符号化ブロックの高さcbHeightを入力として呼び出される;
2. 8.4.4.1節に規定されるイントラブロックの一般的な復号プロセスが、ルマ位置(xCb,yCb)、ツリータイプtreeType、cbWidthに等しく設定された変数nTbW、cbHeightに等しく設定された変数nTbH、IntraPredModeY[xCb][yCb]に等しく設定された変数predModeIntra、及び0に等しく設定された変数cIdxを入力として呼び出され、その出力が、インループフィルタリング前の修正再構成ピクチャである。

<begin>
8.4.X アフィン線形加重イントラ予測モードの導出プロセス
このプロセスへの入力は以下である:
- 現在ルマ符号化ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xCb,yCb)、
- ルマサンプルにおける現在符号化ブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在符号化ブロックの高さを規定する変数cbHeight。
このプロセスにて、アフィン線形加重イントラ予測モードIntraPredModeY[xCb][yCb]が導出される。
IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップによって導出される:
1. 隣接位置(xNbA,yNbA)及び(xNbB,yNbB)が、それぞれ、(xCb-1,yCb)及び(xCb,yCb-1)に等しく設定される;
2. A又はBのいずれかで置き換えられるXについて、変数candLwipModeXが次のように導出される:
- 6.4.X節に規定されるブロックの利用可能性導出プロセス[Ed.(BB):近隣ブロック利用可能性チェックプロセスtbd]が、(xCb,yCb)に等しく設定された位置(xCurr,yCurr)、及び(xNbX,yNbX)に等しく設定された隣接位置(xNbY,yNbY)を入力として呼び出され、その出力がavailableXに割り当てられる;
- 候補アフィン線形加重イントラ予測モードcandLwipModeXが次のように導出される:
- 次の条件のうちの1つ以上がtrueである場合、candLwipModeXは-1に等しく設定される;
- 変数availableXがFALSEに等しい;
- CuPredMode[xNbX][yNbX]がMODE_INTRAに等しくなく、且つmh_intra_flag[xNbX][yNbX]が1に等しくない;
- pcm_flag[xNbX][yNbX]が1に等しい;
- XがBに等しく、且つyCb-1が((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい;
- それ以外の場合、以下が適用される:
- 8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、ルマサンプルにおける現在符号化ブロックの幅cbWidth、及びルマサンプルにおける現在符号化ブロックの高さcbHeightを入力として呼び出され、その出力が変数sizeIdに割り当てられる;
- intra_lwip_flag[xNbX][yNbX]が1に等しい場合、8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、ルマサンプルにおける隣接符号化ブロックの幅nbWidthX、及びルマサンプルにおける隣接符号化ブロックの高さnbHeightXを入力として呼び出され、その出力が変数sizeIdXに割り当てられる;
- sizeIdがsizeIdXに等しい場合、candLwipModeXはIntraPredModeY[xNbX][yNbX]に等しく設定される;
- そうでない場合、candLwipModeXは-1に等しく設定される;
- それ以外の場合、candLwipModeXは、表8-X1に規定されるようにIntraPredModeY[xNbX][yNbX]及びsizeIdを用いて導出される;
3. x=0..2でのcandLwipModeList[x]が、表8-X2に規定されるようにlwipMpmCand[sizeId]を用いて、次のように導出される:
- candLwipModeA及びcandLwipModeBが両方とも-1に等しい場合、以下が適用される:
candLwipModeList[0]=lwipMpmCand[sizeId][0] (8-X1)
candLwipModeList[1]=lwipMpmCand[sizeId][1] (8-X2)
candLwipModeList[2]=lwipMpmCand[sizeId][2] (8-X3)
- そうでない場合、以下が適用される:
- candLwipModeAがcandLwipModeBに等しい場合、又はcandLwipModeA若しくはcandLwipModeBのいずれかが-1に等しい場合、以下が適用される:
candLwipModeList[0]=(candLwipModeA!=-1)?
candLwipModeA:candLwipModeB (8-X4)
- candLwipModeList[0]がlwipMpmCand[sizeId][0]に等しい場合、以下が適用される:
candLwipModeList[1]=lwipMpmCand[sizeId][1] (8-X5)
candLwipModeList[2]=lwipMpmCand[sizeId][2] (8-X6)
- それ以外の場合、以下が適用される:
candLwipModeList[1]=lwipMpmCand[sizeId][0] (8-X7)
candLwipModeList[2]=(candLwipModeList[0]!=lwipMpmCand[sizeId][1])?
lwipMpmCand[sizeId][1]:lwipMpmCand[sizeId][2] (8-X8)
- それ以外の場合、以下が適用される:
candLwipModeList[0]=candLwipModeA (8-X9)
candLwipModeList[1]=candLwipModeB (8-X10)
- candLwipModeA及びcandLwipModeBが両方ともlwipMpmCand[sizeId][0]に等しくない場合、以下が適用される:
candLwipModeList[2]=lwipMpmCand[sizeId][0] (8-X11)
- そうでない場合、以下が適用される:
- candLwipModeA及びcandLwipModeBが両方ともlwipMpmCand[sizeId][1]に等しくない場合、以下が適用される:
candLwipModeList[2]=lwipMpmCand[sizeId][1] (8-X12)
- そうでない場合、以下が適用される:
candLwipModeList[2]=lwipMpmCand[sizeId][2] (8-X13)
4. 以下の手順を適用することにより、IntraPredModeY[xCb][yCb]が導出される:
- intra_lwip_mpm_flag[xCb][yCb]が1に等しい場合、IntraPredModeY[xCb][yCb]はcandLwipModeList[intra_lwip_mpm_idx[xCb][yCb]に等しく設定される;
- そうでない場合、IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップを適用することによって導出される:
1. i=0..1で、及び各iについてj=(i+1)..2で、candLwipModeList[i]がcandLwipModeList[j]より大きい場合、双方の値が次のように交換される:
(candLwipModeList[i],candLwipModeList[j])=
Swap(candLwipModeList[i],candLwipModeList[j]) (8-X14)
2. IntraPredModeY[xCb][yCb]が、以下の順序付けられたステップによって導出される:
i. IntraPredModeY[xCb][yCb]が、intra_lwip_mpm_remainder[xCb][yCb]に等しく設定される;
ii. 両端を含めて0から2に等しいiで、IntraPredModeY[xCb][yCb]がcandLwipModeList[i]以上である場合、IntraPredModeY[xCb][yCb]の値が1だけインクリメントされる。
x=xCb..xCb+cbWidth-1及びy=yCb..yCb+cbHeight-1での変数IntraPredModeY[x][y]は、IntraPredModeY[xCb][yCb]に等しいように設定される。
8.4.X.1 予測ブロックサイズタイプの導出プロセス
このプロセスへの入力は以下である:
- ルマサンプルにおける現在符号化ブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在符号化ブロックの高さを規定する変数cbHeight。
このプロセスの出力は変数sizeIdである。
変数sizeIdは次のように導出される:
- cbWidth及びcbHeightの両方が4に等しい場合、sizeIdは0に等しく設定される;
- そうでなく、cbWidth及びcbHeightの両方が8以下である場合、sizeIdは1に等しく設定される;
- それ以外の場合、sizeIdは2に等しく設定される。
Figure 2022535726000017
Figure 2022535726000018
<end>
8.4.2 ルマイントラ予測モードの導出プロセス
このプロセスへの入力は以下である:
- 現在ルマ符号化ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xCb,yCb)、
- ルマサンプルにおける現在符号化ブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在符号化ブロックの高さを規定する変数cbHeight。
このプロセスにて、ルマイントラ予測モードIntraPredModeY[xCb][yCb]が導出される。
表8-1は、イントラ予測モードIntraPredModeY[xCb][yCb]についての値及び関連する名称を規定している。
Figure 2022535726000019
IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップによって導出される:
1. 隣接位置(xNbA,yNbA)及び(xNbB,yNbB)が、それぞれ、(xCb-1,yCb+cbHeight-1)及び(xCb+cbWidth-1,yCb-1)に等しく設定される;
2. A又はBのいずれかで置き換えられるXについて、変数candIntraPredModeXが次のように導出される:
- <begin>6.4.X節に規定されるブロックの利用可能性導出プロセス[Ed.(BB):近隣ブロック利用可能性チェックプロセスtbd]<end>が、(xCb,yCb)に等しく設定された位置(xCurr,yCurr)、及び(xNbX,yNbX)に等しく設定された隣接位置(xNbY,yNbY)を入力として呼び出され、その出力がavailableXに割り当てられる;
- 候補イントラ予測モードcandIntraPredModeXが次のように導出される:
- 次の条件のうちの1つ以上がtrueである場合、candIntraPredModeXはINTRA_PLANARに等しく設定される;
- 変数availableXがFALSEに等しい;
- CuPredMode[xNbX][yNbX]がMODE_INTRAに等しくなく、且つclip_flag[xNbX][yNbX]が1に等しくない;
- pcm_flag[xNbX][yNbX]が1に等しい;
- XがBに等しく、且つyCb-1が((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい;
- そうでない場合、candIntraPredModeXは次のように導出される:
- intra_lwip_flag[xCb][yCb]が1に等しい場合、candIntraPredModeXは、以下の順序付けられたステップによって導出される:
i. 8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、ルマサンプルにおける現在符号化ブロックの幅cbWidth及びルマサンプルにおける現在符号化ブロックの高さcbHeightを入力として呼び出され、その出力が変数sizeIdに割り当てられる;
ii. 表8-X3に規定されるようにIntraPredModeY[xNbX][yNbX]及びsizeIdを使用して、candIntraPredModeXが導出される;
- そうでない場合、candIntraPredModeXはIntraPredModeY[xNbX][yNbX]に等しく設定される;
3. 変数ispDefaultMode1及びispDefaultMode2が次のように定義される:
- IntraSubPartitionsSplitTypeがISP_HOR_SPLITに等しい場合、ispDefaultMode1はINTRA_ANGULAR18に等しく設定され、ispDefaultMode2はINTRA_ANGULAR5に等しく設定される;
- そうでない場合、ispDefaultMode1はINTRA_ANGULAR50に等しく設定され、ispDefaultMode2はINTRA_ANGULAR63に等しく設定される。

Figure 2022535726000020
8.4.3 クロマイントラ予測モードの導出プロセス
このプロセスへの入力は以下である:
- 現在クロマ符号化ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xCb,yCb)、
- ルマサンプルにおける現在符号化ブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在符号化ブロックの高さを規定する変数cbHeight。
このプロセスにて、クロマイントラ予測モードIntraPredModeC[xCb][yCb]が導出される。
対応するルマイントラ予測モードlumaIntraPredModeが、次のように導出される:
- intra_lwip_flag[xCb][yCb]が1に等しい場合、lumaIntraPredModeは、以下の順序付けられたステップによって導出される:
i. 8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、ルマサンプルにおける現在符号化ブロックの幅cbWidth及びルマサンプルにおける現在符号化ブロックの高さcbHeightを入力として呼び出され、その出力が変数sizeIdに割り当てられる;
ii. 表8-X3に規定されるようにIntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]及びsizeIdを使用し、candIntraPredModeXの値をlumaIntraPredModeに割り当てて、ルマイントラ予測モードが導出される;
- そうでない場合、lumaIntraPredModeは、IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]に等しく設定される。
クロマイントラ予測モードIntraPredModeC[xCb][yCb]が、表8-2及び表8-3に規定されるようにintra_chroma_pred_mode[xCb][yCb]及びlumaIntraPredModeを使用して導出される。

xxx. イントラサンプル予測
<begin>
このプロセスへの入力は以下である:
- 現在変換ブロックの左上サンプルを現在ピクチャの左上サンプルに対して規定するサンプル位置(xTbCmp,yTbCmp)、
- イントラ予測モードを規定する変数predModeIntra、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- 符号化ブロック幅を規定する変数nCbW、
- 符号化ブロック高さを規定する変数nCbH、
- 現在ブロックのカラーコンポーネントを規定する変数cIdx。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
予測サンプルpredSamples[x][y]は次のように導出される:
- intra_lwip_flag[xTbCmp][yTbCmp]が1に等しく、且つcIdxが0に等しい場合、8.4.4.2.X1節に規定されるアフィン線形加重イントラサンプル予測プロセスが、位置(xTbCmp,yTbCmp)、イントラ予測モードpredModeIntra、変換ブロック幅nTbW及び高さnTbHを入力として呼び出され、その出力がpreSamplesである;
- そうでない場合、8.4.4.2.X1節に規定される一般的なイントラサンプル予測プロセスが、位置(xTbCmp,yTbCmp)、イントラ予測モードpredModeIntra、変換ブロック幅nTbW及び高さnTbH、符号化ブロック幅nCbW及び高さnCbH、並びに変数cIdxを入力として呼び出され、その出力がpreSamplesである。
8.4.4.2.X1 アフィン線形加重イントラサンプル予測
このプロセスへの入力は以下である:
- 現在変換ブロックの左上サンプルを現在ピクチャの左上サンプルに対して規定するサンプル位置(xTbCmp,yTbCmp)、
- イントラ予測モードを規定する変数predModeIntra、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、変換ブロック幅nTbW及び変換ブロック高さnTbHを入力として呼び出され、その出力が変数sizeIdに割り当てられる。
変数numModes、boundarySize、predW、predH、及びpredCが、表8-X4に規定されるようにsizeIdを使用して導出される。
Figure 2022535726000021
フラグisTransposedが次のように導出される:
isTransposed=(predModeIntra>(numModes/2))?1:0 (8-X15)
フラグneedUpsBdryHor及びneedUpsBdryVerが次のように導出される:
needUpsBdryHor=(nTbW>predW)?TRUE:FALSE (8X16)
needUpsBdryVer=(nTbH>predH)?TRUE:FALSE (8X17)
変数upsBdryW及びupsBdryHが次のように導出される:
upsBdryW=(nTbH>nTbW)?nTbW:predW (8-X18)
upsBdryH=(nTbH>nTbW)?predH:nTbH (8-X19)
変数lwipW及びlwipHが次のように導出される:
lwipW=(isTransposed==1)?predH:predW (8-X20)
lwipH=(isTransposed==1)?predW:predH (8-X21)
x=0..nTbW-1での参照サンプルrefT[x]及びy=0..nTbH-1での参照サンプルrefL[y]の生成のために、8.4.4.2.X2節に規定される参照サンプル導出プロセスが、サンプル位置(xTbCmp,yTbCmp)、変換ブロック幅nTbW、変換ブロック高さnTbHを入力とし、x=0..nTbW-1での上参照サンプルrefT[x]及びy=0..nTbH-1での左参照サンプルrefL[y]を出力として呼び出される。
x=0..2*boundarySize-1での境界サンプルp[x]の生成のために、以下が適用される:
- 8.4.4.2.X3節に規定される境界減少プロセスが、上参照サンプルに対して、ブロックサイズnTbW、参照サンプルrefT、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryVer、及びアップサンプリング境界サイズupsBdryWを入力とし、x=0..boundrySize-1での減少境界サンプルredT[x]及びx=0..upsBdryW-1でのアップサンプリング境界サンプルupsBdryT[x]を出力として呼び出される。
- 8.4.4.2.X3項に規定される境界減少プロセスが、左参照サンプルに対して、ブロックサイズnTbH、参照サンプルrefL、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryHor、及びアップサンプリング境界サイズupsBdryHを入力とし、x=0..boundrySize-1での減少境界サンプルredL[x]及びx=0..upsBdryH-1でのアップサンプリング境界サンプルupsBdryL[x]を出力として呼び出される。
- 減少された上及び左境界サンプルredT及びredLが、次のように境界サンプルアレイpに割り当てられる:
- isTransposedが1に等しい場合、p[x]が、x=0..boundarySize-1でredL[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される;
- そうでない場合、p[x]が、x=0..boundarySize-1でredT[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される。
predModeIntraに従ったイントラサンプル予測プロセスのために、以下の順序付けられたステップが適用される:
1. x=0..lwipW-1,y=0..lwipH-1でのアフィン線形加重サンプルpredLwip[x][y]が、次のように導出される:
- 変数modeIdが次のように導出される:
modeId=predModeIntra-(isTransposed==1)?(numModes/2):0 (8-X22)
- x=0..2*boundarySize-1,y=0..predC*predC-1での重み行列mWeight[x][y]が、表8-XX[TBD:重み行列の加算]に規定されるようにsizeId及びmodoIdを用いて導出される;
- y=0..predC*predC-1でのバイアスベクトルvBias[y]が、表8-XX[TBD:バイアスベクトルの加算]に規定されるようにsizeId及びmodeIdを用いて導出される;
- 変数sWが、表8-X5に規定されるようにsizeId及びmodeIdを用いて導出される;
- x=0..lwipW-1,y=0..lwipH-1でのアフィン線形加重サンプルpredLwip[x][y]が、次のように導出される:
Figure 2022535726000022
2. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- isTransposedが1に等しい場合、x=0..predW-1,y=0..predH-1でのpredLwip[x][y]がpredLwip[y][x]に等しく設定される;
- needUpsBdryVerがTRUEに等しい又はneedUpsBdryHorがTRUEに等しい場合、8.4.4.2.X4節に規定される予測アップサンプリングプロセスが、入力ブロック幅predW、入力ブロック高さpredH、アフィン線形加重サンプルpredLwip、変換ブロック幅nTbW、変換ブロック高さnTbH、アップサンプリング境界幅upsBdryW、アップサンプリング境界高さupsBdryH、上アップサンプリング境界サンプルupsBdryT、及び左アップサンプリング境界サンプルupsBdryLを入力として呼び出され、その出力が予測サンプルアレイpredSamplesである;
- それ以外の場合、x=0..nTbW-1,y=0..nTbH-1でのpredSamples[x][y]がpredLwip[x][y]に等しく設定される。
Figure 2022535726000023
8.4.4.2.X2 参照サンプル導出プロセス
このプロセスへの入力は以下である:
- 現在変換ブロックの左上ルマサンプルを現在ピクチャの左上ルマサンプルに対して規定するサンプル位置(xTbY,yTbY)、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1での上参照サンプルrefT[x]及びy=0..nTbH-1での左参照サンプルrefL[y]である。
x=0..nTbW-1での隣接サンプルrefT[x]及びy=0..nTbH-1でのrefL[y]は、インループフィルタプロセスに先立つ構築サンプルであり、次のように導出される:
- 上隣接ルマ位置(xNbT,yNbT)及び左隣接ルマ位置(xNbL,yNbL)が:
(xNbT,yNbT)=(xTbY+x,yTbY-1) (8-X28)
(xNbL,yNbL)=(xTbY-1,yTbY+y) (8-X29)
によって規定される;
- 6.4.X節[Ed.(BB):隣接ブロック利用可能性チェックプロセスtbd]に規定されるブロックの利用可能性導出プロセスが、(xTbY,yTbY)に等しく設定される現在ルマ位置(xCurr,yCurr)及び上隣接ルマ位置(xNbT,yNbT)を入力として呼び出され、その出力が、x=0..nTbW-1でのavailTop[x]に割り当てられる;
- 6.4.X節[Ed.(BB):隣接ブロック利用可能性チェックプロセスtbd]に規定されるブロックの利用可能性導出プロセスが、(xTbY,yTbY)に等しく設定される現在ルマ位置(xCurr,yCurr)及び左隣接ルマ位置(xNbL,yNbL)を入力として呼び出され、その出力が、y=0..nTbH-1でのavailLeft[y]に割り当てられる;
- x=0..nTbW-1での上参照サンプルrefT[x]が次のように導出される:
- x=0..nTbW-1での全てのavailTop[x]がTRUEに等しい場合、その位置(xNbT,yNbT)のサンプルが、x=0..nTbW-1でのrefT[x]に割り当てられる;
- そうでなく、availTop[0]がFALSEに等しい場合、x=0..nTbW-1での全てのrefT[x]が、1<<(BitDepthY-1)に等しく設定される;
- それ以外の場合、x=0..nTbW-1での参照サンプルrefT[x]は、以下の順序付けられたステップによって導出される:
1. 変数lastTが、FALSEに等しいx=0..nTbW-1でのシーケンスavailTop[x]の最初の要素の位置xに等しく設定される;
2. 全てのx=0..lastT-1に対して、位置(xNbT,yNbT)のサンプルがrefT[x]に割り当てられる;
3. 全てのx=lastT..nTbW-1に対して、refT[x]はrefT[lastT-1]に等しく設定される;
- y=0..nTbH-1での左参照サンプルrefL[x]が次のように導出される:
- y=0..nTbH-1での全てのavailLeft[y]がTRUEに等しい場合、その位置(xNbL,yNbL)のサンプルが、y=0..nTbH-1でのrefL[y]に割り当てられる;
- そうでなく、availLeft[0]がFALSEに等しい場合、y=0..nTbH-1での全てのrefL[y]が、1<<(BitDepthY-1)に等しく設定される;
- それ以外の場合、y=0..nTbH-1での参照サンプルrefL[y]は、以下の順序付けられたステップによって導出される:
1. 変数lastLが、FALSEに等しいy=0..nTbH-1でのシーケンスavailLeft[y]の最初の要素の位置yに等しく設定される;
2. 全てのy=0..lastL-1に対して、位置(xNbL,yNbL)のサンプルがrefL[y]に割り当てられる;
3. 全てのy=lastL..nTbH-1に対して、refL[y]はrefL[lastL-1]に等しく設定される。
境界減少プロセスの仕様
このプロセスへの入力は以下である:
- 変換ブロックサイズを規定する変数nTbX、
- x=0..nTbX-1での参照サンプルrefX[x]、
- ダウンサンプリングした境界サイズを規定する変数boundarySize、
- アップサンプリングに中間境界サンプルが必要であるかを規定するフラグneedUpsBdryX、
- アップサンプリングに関する境界サイズを規定する変数upsBdrySize。
このプロセスの出力は、x=0..boundarySize-1での減少境界サンプルredX[x]及びx=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]である。
x=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]は、次のように導出される:
- needUpsBdryXがTRUEに等しく、且つupsBdrySizeがnTbXより小さい場合、以下が適用される:
Figure 2022535726000024
- そうでない場合(upsBdrySizeがnTbXに等しい)、upsBdryX[x]はrefX[x]に等しく設定される。
x=0..boundarySize-1での減少境界サンプルredX[x]は次のように導出される:
- boundarySizeがupsBdrySizeより小さい場合、以下が適用される:
Figure 2022535726000025
- そうでない場合(boundarySizeがupsBdrySizeに等しい)、redX[x]はupsBdryX[x]に等しく設定される。
8.4.4.2.X4 予測アップサンプリングプロセスの仕様
このプロセスへの入力は以下である:
- 入力ブロック幅を規定する変数predW、
- 入力ブロック高さを規定する変数predH、
- x=0..predW-1,y=0..predH-1でのアフィン線形加重サンプルpredLwip[x][y]、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- アップサンプリング境界幅を規定する変数upsBdryW、
- アップサンプリング境界高さを規定する変数upsBdryH、
- x=0..upsByW-1での上アップサンプリング境界サンプルupsBdryT[x]、
- x=0..upsBdryH-1での左アップサンプリング境界サンプルupsBdryL[x]。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
x=0..predW-1,y=0..predH-1でのpredLwip[x][y]から、疎な予測サンプルpredSamples[m][n]が、次のように導出される:
upHor=nTbW/predW (8-X34)
upVer=nTbH/predH (8-X35)
predSamples[(x+1)*upHor-1][(y+1)*upVer-1]=predLwip[x][y] (8-X36)
次のように、x=0..upsBdryW-1での上境界サンプルupsBdryT[x]がpredSamples[m][-1]に割り当てられる:
predSamples[(x+1)*(nTbW/upsBdryW)-1][-1]=upsBdryT[x] (8-X37)
y=0..upsBdryH-1での左境界サンプルupsBdryL[y]が、次のように、predSamples[-1][n]に割り当てられる:
predSamples[-1][(y+1)*(nTbH/upsBdryH)-1]=upsBdryL[y] (8-X38)
x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- nTbHがnTbWより大きい場合、以下の順序付けられたステップが適用される:
1. upHorが1より大きい場合、m=0..predW-1,n=1..predHでの全ての疎な位置(xHor,yHor)=(m*upHor-1,n*upVer-1)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される:
predSamples[xHor+dX][yHor]=((upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor])/upHor (8-X39)
2. m=0..nTbW-1,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される:
predSamples[xVer][yVer+dY]=((upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer])/upVer (8-X40)
- そうでない場合、以下の順序付けられたステップが適用され:
1. upVerが1より大きい場合、m=1..predW,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m*upHor-1,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、(8-X40)に規定されるように適用される;
2. m=0..predW-1,n=0..nTbH-1での全ての疎な位置(xHor,yHor)=(m*upHor-1,n)に対する水平アップサンプリングが、dX=1..upHor-1として、(8-X39)に規定されるように適用される。
<end>
Figure 2022535726000026
Figure 2022535726000027
Figure 2022535726000028
<end>
ALWIPの概要
幅W及び高さHの矩形ブロックのサンプルを予測するために、アフィン線形加重イントラ予測(ALWIP)は、ブロックの左の1ラインのH個の再構成隣接境界サンプルと、ブロックの上の1ラインのW個の再構成隣接境界サンプルとを入力としてとる。これらの再構成サンプルが利用可能でない場合には、それらは、従来からのイントラ予測において行われている通りに生成される。ALWIPはルマイントラブロックにのみ適用される。クロマイントラブロックについては、従来からのイントラ符号化モードが適用される。
予測信号の生成は、次の3つのステップに基づく。
1. 境界サンプルから、W=H=4のケースで4つのサンプル、それ以外の全てのケースで8つのサンプルが、平均することによって抽出される。
2. それら平均したサンプルを入力として、行列ベクトル乗算及びそれに続くオフセットの加算が実行される。その結果は、元のブロック内のサンプルのサブサンプリングされたセットについての減少された予測信号である。
3. サブサンプリングされたセットについての予測信号から、残りの位置の予測信号が、各方向に単一ステップの線形補間である線形補間によって生成される。
ALWIPモードが適用される場合、ALWIPモードのインデックスpredmodeが、3つのMPMSを有するMPMリストを用いて信号伝達される。ここで、MPMの導出は、以下のように、上及び左PUのイントラモードを用いて行われる。従来からのイントラ予測モードpredmodeAngularの各々にALWIPモードを割り当てる3つの固定テーブルmap_angular_to_alwipidx,idx∈{0,1,2}が存在する:
predmodeALWIP=map_angular_to_alwipidx[predmodeAngular
幅W及び高さHの各PUに対して、3つのセットのうちのどれからALWIPパラメータが取られるかを指し示すインデックス:
idx(PU)=idx(W,H)∈{0,1,2}
を定義する。
上予測ユニットPUaboveが利用可能であり、現在PUと同じCTUに属し、且つイントラモードにある場合であって、idx(PU)=idx(PUabove)であり且つALWIPがALWIPモードpredmodeALWIP aboveでPUaboveに適用される場合、
Figure 2022535726000029
とする。
上PUが利用可能であり、現在PUと同じCTUに属し、且つイントラモードにある場合であって、従来からのイントラ予測モードpredmodeAngular aboveが上PUに適用される場合、
Figure 2022535726000030
とする。
その他全てのケースでは、
Figure 2022535726000031
とし、これは、このモードが利用可能でないことを意味する。同じようにして、しかし、左PUが現在PUと同じCTUに属する必要があるという制約なしに、モードmodeALWIP leftを導出する。
最後に、各々が3つの異なるALWIPモードを含む3つの固定デフォルトリストlistidx、idx∈{0,1,2}が提供される。デフォルトリストlistidx(PU)並びにモードmodeALWIP above及びmodeALWIP leftから、-1をデフォルト値に置き換え且つ繰り返しを排除することによって、3つの異なるMPMを構築する。
ルマMPMリスト導出では、ALWIPモードpredmodeALWIPを使用する隣接ルマブロックに遭遇すると常に、このブロックは、あたかも従来からのイントラ予測モードpredmodeAngularを使用しているかのように扱われる。
Figure 2022535726000032
3. VVCにおける変換
3.1 MTS(Multiple Transform Selection)
HEVCで採用されてきたDCT-IIに加えて、マルチ変換選択(MTS)スキームが、インター及びイントラのどちらの符号化ブロックを残差符号化することにも使用される。これは、DCT8/DST7から選択される複数の変換を使用する。新たに導入された変換行列はDST-VII及びDCT-VIIIである。
3.2 JVET-N0193で提案されたRST(Reduced Secondary Transform)
RSTは、4×4及び8×8ブロックに対して、それぞれ16×16及び16×64非分離変換を適用する。一次の順変換及び逆変換は依然として2つの1D水平/垂直変換パスと同じ方法で実行される。二次の順変換及び逆変換は、一次変換のそれとは別のプロセスステップである。エンコーダでは、先ず、一次順変換が実行され、二次順変換及び量子化と、CABACビット符号化とが続く。デコーダでは、先ず、CABACビット復号及び逆量子の後に二次逆変換が実行され、次に一次逆変換が続く。RSTは、イントラスライス及びインタースライスの両方でイントラ符号化TUにのみ適用される。
3.3 JVET-N0185におけるイントラモード符号化向けの統一MPMリスト
複数参照ライン(MRL)及びイントラサブパーティション(ISP)符号化ツールが適用されるか否かに関係なく、イントラブロック向けに統一(ユニファイド)6-MPMリストが提案されている。このMPMリストは、VTM4.0においてのように、左及び上の隣接ブロックのイントラモードに基づいて構築される。左のモードをLeftと表記し、上ブロックのモードをAboveと表記すると、統一MPMリストは以下の通りである:
・隣接ブロックが利用可能でないとき、そのイントラモードはデフォルトでPlanarに設定される。
・モードLeft及びAboveの両方が非角度モードである場合:
MPMリスト→{Planar,DC,V,H,V-4,V+4}
・モードLeft及びAboveの一方が角度モードであり、他方が非角度モードである場合:
a. モードMaxをLeftとAboveとの大きい方のモードとして設定する
b. MPMリスト→{Planar,Max,DC,Max-1,Max+1,Max-2}
・Left及びAboveがどちらも角度モードであり且つ相異なる場合:
a. モードMaxをLeftとAboveの大きい方のモードとして設定する;
b. モードLeftとAboveとの差が、両端を含めて2から62の範囲内である場合:
i. MPMリスト→{Planar,Left,Above,DC,Max-1,Max+1}
c. それ以外の場合:
i. MPMリスト→{Planar,Left,Above,DC,Max-2,Max+2}
・Left及びAboveがどちらも角度モードであり且つそれらが同じである場合:
a. MPMリスト→{Planar,Left,Left-1,Left+1,DC,Left-2}
加えて、MPMインデックスコードワードの最初のビンは、CABACコンテキスト符号化される。現在イントラブロックがMRL有効、ISP有効、又は通常イントラブロックであるかに対応して、合計3つのコンテキストが使用される。
統一MPMリスト構築に使用される左隣接ブロック及び上隣接ブロックは、図10に示すA2及びB2である。
最初に、1つのMPMフラグが符号化される。ブロックがMPMリスト内のモードの1つで符号化される場合、更にMPMインデックスが符号化される。そうでない場合には、残りのモードへのインデックス(MPMを除く)が符号化される。
4 既存の実装における欠点の例
JVET-N0217におけるALWIPの設計は以下の問題を有する:
1)2019年3月のJVETミーティングにて、MRLモード、ISPモード、通常イントラモードに対して統一6-MPMリスト生成が採用された。しかし、アフィン線形加重予測モードは異なる3-MPMリスト構築を使用しており、そのことがMPMリスト構築を複雑にする。複雑なMPMリスト構築は、特に例えば4×4サンプルなどの小さいブロックに関して、デコーダのスループットを損ねる可能性がある;
2)ALWIPはブロックのルマコンポーネントにのみ適用される。ALWIP符号化ブロックのクロマコンポーネントについては、クロマモードインデックスが符号化されてデコーダに送信され、それが不必要な信号伝達をもたらし得る;
3)他の符号化ツールとのALWIPと相互作用を考慮すべきである;
4)次式:
Figure 2022535726000033
にてupsBdryXを計算するとき、Log2(uDwn)-1が-1に等しくなることが可能であり、-1での左シフトが定まらない;
5)予測サンプルをアップサンプリングするとき、丸めが適用されない;
6) デブロッキングプロセスにおいて、ALWIP符号化ブロックは通常イントラブロックとして扱われる;
7)多すぎるコンテキスト(例えば、4つ)がALWIPフラグ(例えば、intra_lwip_flag)を符号化するときに使用される;
8)垂直アップサンプリング及び水平アップサンプリングの双方が必要であるとき、アップサンプリング順序はブロック形状に依存する。これはハードウェアにとって好都合ではない;
9)線形補間フィルタがアップサンプリングに使用され、これは非効率になり得る;
10)ALWIPにて利用される2段階のダウンサンプリング方法は、不必要な計算複雑性をもたらし得る。さらに、アップサンプリングされる予測ブロックを生成するためにダウンサンプリングされた参照サンプルを用いることは不正確になり得る。
5 マトリクスベースのイントラ符号化に関する例示的方法
ここで開示される技術の実施形態は、既存の実装の欠点を解消し、それにより、より高い符号化効率及びより低い計算複雑性を有する映像符号化を提供する。映像符号化のための行列ベースイントラ予測法は、本文書に記載されるように、既存の及び将来の映像符号化標準の双方を強化することができ、様々な実装に関して説明される以下の例にて明らかになる。以下に提供される開示技術の例は、一般的概念を説明するものであり、限定するものとして解釈されることを意味するものではない。一例において、そうでないことが明示的に示されない限り、これらの例にて説明される様々な特徴は組み合わされることができる。
以下の説明において、イントラ予測モードは角度イントラ予測モード(DC、プレーナ、CCLM、及び他の取り得るイントラ予測モードを含む)を指し、イントラモードは通常イントラモード、又はMRL、又はISP、又はALWIPを指す。
以下の説明において、“他のイントラモード”は、例えば通常イントラモード、又はMRL、又はISPなどの、ALWIP以外の1つ又は複数のイントラモードを指すとし得る。
以下の説明において、SatShift(x,n)は、
Figure 2022535726000034
として定義され、Shift(x,n)は、Shift(x,n)=(x+offset0)>>nとして定義される。
一例において、offset0及び/又はoffset1は、(1<<n)>>1又は(1<<(n-1))に設定される。他の一例において、offset0及び/又はoffset1は0に設定される。
他の一例において、offset0=offset1=((1<<n)>>1)-1又は((1<<(n-1)))-1である。
Clip3(min,max,x)は、
Figure 2022535726000035
として定義される。
ALWIP向けのMPMリスト構築
1. ALWIP向けのMPMリストの全体又は一部を、非ALWIPイントラモード(例えば通常イントラモード、MRL、又はISPなど)向けのMPMリストを構築するための手順の全体又は一部に従って構築し得ることが提案される;
a. 一例において、ALWIP向けのMPMリストのサイズは、非ALWIPイントラモード向けのMPMリストのサイズと同じとし得る;
i. 例えば、ALWIP及び非ALWIPイントラモードの両方で、MPMリストのサイズは6である;
b. 一例において、ALWIP向けのMPMリストを、非ALWIPイントラモード向けのMPMリストから導出し得る;
i. 一例において、先ず、非ALWIPイントラモード向けのMPMリストを構築し得る。その後、それらの一部又は全てを、ALWIP符号化ブロック用のMPMリストに更に追加され得るMPMへと変換し得る;
1)あるいは、また、変換したMPMをALWIP符号化ブロック用のMPMリストに追加するときに、剪定(プルーニング)を適用してもよい;
2)デフォルトモードを、ALWIP符号化ブロック用のMPMリストに追加してもよい;
a. 一例において、非ALWIPイントラモードのMPMリストから変換されたものの前にデフォルトモードを追加し得る;
b. 代わりに、非ALWIPイントラモードのMPMリストから変換されたものの後にデフォルトモードを追加してもよい;
c. 代わりに、非ALWIPイントラモードのMPMリストから変換されたものとインターリーブさせるようにデフォルトモードを追加してもよい;
d. 一例において、デフォルトモードは、全ての種類のブロックに対して同一であるように固定にされ得る;
e. 代わりに、デフォルトモードは、例えば隣接ブロックの利用可能性、隣接ブロックのモード情報、ブロック寸法など、符号化される情報に従って決定されてもよい;
ii. 一例において、非ALWIPイントラモード用のMPMリスト内の1つのイントラ予測モードが、それがALWIP用のMPMリストに入れられるときに、それに対応するALWIPイントラ予測モードへと変換され得る;
1)あるいは、非ALWIPイントラモード用のMPMリスト内の全てのイントラ予測モードが、ALWIP用のMPMリストを構築するために使用される前に、対応するALWIPイントラ予測モードに変換されてもよい;
2)あるいは、非ALWIPイントラモード用のMPMリストがALWIP用のMPMリストを導出するために更に使用する得る場合に、全ての候補イントラ予測モード(隣接ブロックからのイントラ予測モードと例えばプレーナ及びDCなどのデフォルトイントラ予測モードとを含み得る)が、非ALWIPイントラモード向けのMPMリストを構築するために使用される前に、対応するALWIPイントラ予測モードに変換されてもよい;
3)一例において、2つの変換されたALWIPイントラ予測モードが比較され得る;
a. 一例において、それらが同じである場合、それらのうちの一方のみがALWIP用のMPMリストに入れられ得る;
b. 一例において、それらが同じである場合、それらのうちの一方のみが非ALWIPイントラモード用のMPMリストに入れられ得る;
iii. 一例において、非ALWIPイントラモード用のMPMリスト内のS個のイントラ予測モードのうちのK個を、ALWIPモード向けのMPMリストとして選び得る。例えば、Kは3に等しく、Sは6に等しい;
1)一例において、非ALWIPイントラモード用のMPMリスト内の最初のK個のイントラ予測モードが、ALWIPモード向けのMPMリストとして選ばれてもよい;
2. ALWIP向けのMPMリストを導出するのに使用される1つ又は複数の隣接ブロックが、非ALWIPイントラモード(例えば通常イントラモード、MRL、又はISPなど)向けのMPMリストを導出するのにも使用され得ることが提案される;
a. 一例において、ALWIP用のMPMリストを導出するのに使用される現在ブロックの左の隣接ブロックは、非ALWIPイントラモード用のMPMリストを導出するのに使用されるものと同じであるべきである;
i. 現在ブロックの左上隅が(xCb,yCb)であり、現在ブロックの幅及び高さがW及びHであるとすると、一例において、ALWIP及び非ALWIPイントラモードの双方用のMPMリストを導出するのに使用される左隣接ブロックは位置(xCb-1,yCb)をカバーし得る。代わりの一例において、ALWIP及び非ALWIPイントラモードの双方用のMPMリストを導出するのに使用される左隣接ブロックは位置(xCb-1,yCb+H-1)をカバーし得る;
ii. 例えば、統一MPMリスト構築に使用される左隣接ブロック及び上隣接ブロックは、図10に示すA2及びB2である;
b. 一例において、ALWIP用のMPMリストを導出するのに使用される現在ブロックの上の隣接ブロックは、非ALWIPイントラモード用のMPMリストを導出するのに使用されるものと同じであるべきである;
i. 現在ブロックの左上隅が(xCb,yCb)であり、現在ブロックの幅及び高さがW及びHであるとすると、一例において、ALWIP及び非ALWIPイントラモードの双方用のMPMリストを導出するのに使用される上隣接ブロックは位置(xCb,yCb-1)をカバーし得る。代わりの一例において、ALWIP及び非ALWIPイントラモードの双方用のMPMリストを導出するのに使用される上隣接ブロックは位置(xCb+W-1,yCb-1)をカバーし得る;
ii. 例えば、統一MPMリスト構築に使用される左隣接ブロック及び上隣接ブロックは、図10に示すA1及びB1である;
3. ALWIP向けのMPMリストが現在ブロックの幅及び/又は高さに応じて異なる方法で構築され得ることが提案される;
a. 一例において、異なるブロック寸法では異なる隣接ブロックがアクセスされ得る;
4. ALWIP向けのMPMリスト及び非ALWIPイントラモード向けのMPMリストが、同じ手順であるが異なるパラメータを用いて構築され得ることが提案される;
a. 一例において、非ALWIPイントラモードのMPMリスト構築手順におけるS個のイントラ予測モードのうちのK個が、ALWIPモードにおいて使用されるMPMリストのために導出され得る。例えば、Kは3に等しく、Sは6に等しい;
i. 一例において、MPMリスト構築手順における最初のK個のイントラ予測モードが、ALWIPモードにおいて使用されるMPMリストのために導出され得る;
b. 一例において、MPMリスト内の最初のモードは異なり得る;
i. 例えば、非ALWIPイントラモード用のMPMリスト内の最初のモードはPlanarであり得るが、ALWIP用のMPMリストではMode X0であってもよい;
1)一例において、X0は、Planarから変換されたALWIPイントラ予測モードとし得る;
c. 一例において、MPMリストにおけるスタッフィングモードが異なってもよい;
i. 例えば、非ALWIPイントラモード用のMPMリストの最初の3つのスタッフィングモードは、DC、Vertical及びHorizontalであり得るが、それらはALWIP用のMPMリストではMode X1、X2、X3であってもよい;
1)一例において、X1、X2、X3は、異なるsizeIdに対して異なってもよい;
ii. 一例において、スタッフィングモードの数が異なってもよい;
d. 一例において、MPMリストにおける隣接モードが異なってもよい;
i. 例えば、隣接ブロックの通常イントラ予測モードが、非ALWIPイントラモード用のMPMリストを構築するのに使用される。そして、それらが、ALWIPモード用のMPMリストを構築するためのALWIPイントラ予測モードに変換される;
e. 一例において、MPMリストにおけるシフトされたモードが異なってもよい;
i. 例えば、Xは通常イントラ予測モードであり、K0は整数であるとして、X+K0が、非ALWIPイントラモード用のMPMリストに入れられ得る。そして、YはALWIPイントラ予測モードであり、K1は整数であるとして、Y+K1が、ALWIP用のMPMリストに入れられることができ、K0はK1とは異なり得る;
1)一例において、K1は幅及び高さに依存し得る;
5. 非ALWIPイントラモードで現在ブロック用のMPMリストを構築する際に、隣接ブロックが、それがALWIPで符号化される場合に、利用可能でないとして扱われることが提案される;
a. あるいは、非ALWIPイントラモードで現在ブロック用のMPMリストを構築する際に、隣接ブロックが、それがALWIPで符号化される場合に、予め定められたイントラ予測モード(例えばPlanarなど)で符号化されるとして扱われる;
6. ALWIPイントラモードで現在ブロック用のMPMリストを構築する際に、隣接ブロックが、それが非ALWIPイントラモードで符号化される場合に、利用可能でないとして扱われることが提案される;
a. あるいは、ALWIPイントラモードで現在ブロック用のMPMリストを構築する際に、隣接ブロックが、それが非ALWIPイントラモードで符号化される場合に、予め定められたALWIPイントラモードXで符号化されるとして扱われる;
i. 一例において、Xは、例えば幅及び/又は高さなどのブロック寸法に依存し得る;
7. ラインバッファからALWIPフラグの格納を除去することが提案される;
a. 一例において、アクセスされる2番目のブロックが現在ブロックとは異なるLCU/CTU行/領域に位置する場合に、2番目のブロックがALWIPで符号化されるかの条件チェックがスキップされる;
b. 一例において、アクセスされる2番目のブロックが現在ブロックとは異なるLCU/CTU行/領域に位置する場合に、2番目のブロックは、例えば通常イントラ符号化ブロックとして扱われるなど、非ALWIPモードと同じように扱われる;
8. ALWIPフラグを符号化するときに、K(K>=0)個以下のコンテキストが使用され得る;
a. 一例において、K=1である;
9. ALWIPモードに関連するモードインデックスを直接格納する代わりに、ALWIP符号化ブロックの変換されたイントラ予測モードを格納することが提案される;
a. 一例において、1つのALWIP符号化ブロックに関連する復号されたモードインデックスが、例えばセクション2.5.7に記載されるようなmap_alwip_to_angularに従ってなどで、通常イントラモードにマッピングされる;
b. あるいは、さらに、ALWIPフラグの格納が完全に除去される;
c. あるいは、さらに、ALWIPモードの格納が完全に除去される;
d. あるいは、さらに、1つの隣接/現在ブロックがALWIPフラグで符号化されるかの条件チェックがスキップされ得る;
e. あるいは、さらに、ALWIP符号化ブロックに割り当てられるモードとアクセスされる1つのブロックに関連する通常イントラ予測の変換がスキップされ得る;
異なるカラーコンポーネントに対するALWIP
10. 対応するルマブロックがALWIPモードで符号化される場合に、推定されるクロマイントラモード(例えば、DMモード)が常に適用され得ることが提案される;
a. 一例において、対応するルマブロックがALWIPモードで符号化される場合、信号伝達なしで、クロマイントラモードはDMモードであると推定される;
b. 一例において、対応するルマブロックは、所与の位置(例えば、現在クロマブロックの左上、現在クロマブロックの中心)にあるクロマサンプルの対応するサンプルをカバーするものであるとし得る;
c. 一例において、例えばその(ALWIP)モードを通常イントラモードの1つにマッピングすることによってなどで、対応するルマブロックのイントラ予測モードに従ってDMモードが導出され得る;
11. クロマブロックの対応するルマブロックがALWIPモードで符号化される場合に、幾つかのDMモードが導出され得る;
12. 1つの対応するルマブロックがALWIPモードで符号化される場合に、特別なモードがクロマブロックに割り当てられることが提案される;
a. 一例において、特別なモードは、ALWIP符号化ブロックに関連するイントラ予測モードにかかわらず、所与の通常イントラ予測モードであるように定められる;
b. 一例において、この特別なモードに複数の異なるやり方のイントラ予測が割り当てられ得る;
13. ALWIPがクロマコンポーネントにも適用され得ることが提案される;
a. 一例において、行列及び/又はバイアスベクトルは、異なるカラーコンポーネントに対して異なり得る;
b. 一例において、行列及び/又はバイアスベクトルは、Cb及びCrに対して連帯して定められ得る;
i. 一例において、Cb及びCrコンポーネントが連結され得る;
ii. 一例において、Cb及びCrコンポーネントがインターリーブされ得る;
c. 一例において、クロマコンポーネントは、対応するルマブロックと同じALWIPイントラ予測モードを共有し得る;
i. 一例において、対応するルマブロックがALWIPモードを適用し、且つクロマブロックがDMモードで符号化される場合に、同じALWIPイントラ予測モードがクロマコンポーネントに適用される;
ii. 一例において、同じALWIPイントラ予測モードがクロマコンポーネントに適用され、その後の線形補間がスキップされ得る;
iii. 一例において、同じALWIPイントラ予測モードが、サブサンプリングされた行列及び/又はバイアスベクトルを用いてクロマコンポーネントに適用される;
d. 一例において、異なるコンポーネントに対してALWIPイントラ予測モードの数が異なってもよい;
i. 例えば、クロマコンポーネントに対するALWIPイントラ予測モードの数は、同じブロック幅及び高さのルマコンポーネントに対するものより少ないとし得る;
ALWIPの適用可能性
14. ALWIPを適用することができるかが信号伝達され得ることが提案される;
a. 例えば、それは、シーケンスレベルで(例えば、SPS内で)、ピクチャレベルで(例えば、PPS又はピクチャヘッダ内で)、スライスレベルで(例えば、スライスヘッダ内で)、タイルグループレベルで(例えば、タイルグループヘッダ内で)、タイルレベルで、CTU行レベルで、又はCTUレベルで信号伝達され得る;
b. 例えば、ALWIPを適用することができない場合、intra_lwip_flagは信号伝達されずに、0であると推定され得る;
15. ALWIPを適用することができるかがブロック幅(W)及び/又は高さ(H)に依存し得ることが提案される;
c. 例えば、W>=T1(又はW>T1)且つH>=T2(又はH>T2)の場合(例えば、T1=T2=32)、ALWIPは適用されることができないとし得る;
i. 例えば、W<=T1(又はW<T1)且つH<=T2(又はH<T2)の場合(例えば、T1=T2=32)、ALWIPは適用されることができないとし得る;
d. 例えば、W>=T1(又はW>T1)又はH>=T2(又はH>T2)の場合(例えば、T1=T2=32)、ALWIPは適用されることができないとし得る;
i. 例えば、W<=T1(又はW<T1)又はH<=T2(又はH<T2)の場合(例えば、T1=T2=32)、ALWIPは適用されることができないとし得る;
e. 例えば、W+H>=T(又はW+H>T)の場合(例えば、T=256)、ALWIPは適用されることができないとし得る;
i. 例えば、W+H<=T(又はW+H<T)の場合(例えば、T=256)、ALWIPは適用されることができないとし得る;
f. 例えば、W*H>=T(又はW*H>T)の場合(例えば、T=256)、ALWIPは適用されることができないとし得る;
i. 例えば、W*H<=T(又はW*H<T)の場合(例えば、T=256)、ALWIPは適用されることができないとし得る;
g. 例えば、ALWIPを適用することができない場合、intra_lwip_flagは信号伝達されずに、0であると推定され得る;
ALWIPにおける計算問題
16. ALWIPに関与するシフト演算は、Sは0以上でなければならないとして、Sだけ数を左シフト又は右シフトするのみとすることができることが提案される;
a. 一例において、Sが0であるとき又は0より大きいときに、右シフト演算は異なるとし得る;
i. 一例において、upsBdryX[x]は、
uDwn>1のとき、
Figure 2022535726000036
として計算されるべきであり、
uDwnが1に等しいとき、
Figure 2022535726000037
として計算されるべきである;
b. 一例において、upsBdryX[x]は、
Figure 2022535726000038
として計算されるべきである;
17. それた結果が、ALWIPのアップサンプリングプロセスにおいてゼロに向かう方に又はゼロから遠ざかる方に丸められるべきであることが提案される;
i. 一例において、
predSamples[xHor+dX][yHor]=((upHor-dX)*predSamples[xHor][yHor]+dX*predSamples[xHor+upHor][yHor]+offsetHor)/upHor (8-X39)
及び
predSamples[xVer][yVer+dY]=((upVer-dY)*predSamples[xVer][yVer]+dY*predSamples[xVer][yVer+upVer]+offsetVer)/upVer (8-X40)
であり、ここで、offsetHor及びoffsetVerは整数である。例えば、offsetHor=upHor/2、且つoffsetVer=upVer/2である;
他の符号化ツールとの相互作用
18. ALWIPがCIIP符号化ブロックに使用され得ることが提案される;
a. 一例において、CIIP符号化ブロックにおいて、イントラ予測信号を生成するためにALWIPイントラ予測モードが使用されるのか、それとも例えばプレーナなどの通常イントラ予測モードが使用されるのかが、明示的に信号伝達され得る;
b. 一例において、イントラ予測信号を生成するためにALWIPイントラ予測モードが使用されるのか、それとも例えばプレーナなどの通常イントラ予測モードが使用されるのかが、暗示的に推定され得る;
i. 一例において、CIIP符号化ブロックではALWIPイントラ予測モードは決して使用されないとし得る;
1)代わりに、CIIP符号化ブロックでは通常イントラ予測が決して使用されないとしてもよい;
ii. 一例において、イントラ予測信号を生成するためにALWIPイントラ予測モードが使用されるのか、それとも例えばプレーナなどの通常イントラ予測モードが使用されるのかが、隣接ブロックの情報から推定されてもよい;
19. CCLMモードにおいて隣接ルマサンプルをダウンサンプリングするために使用される手順の全体又は一部が、ALWIPモードにおいて隣接サンプルをダウンサンプリングするために使用され得ることが提案される;
a. あるいは、ALWIPモードにおいて隣接ルマサンプルをダウンサンプリングするために使用される手順の全体又は一部が、CCLMモードにおいて隣接サンプルをダウンサンプリングするために使用されてもよい;
b. ダウンサンプリング手順は、CCLMプロセスで使用されるときとALWIPプロセスで使用されるときとで異なるパラメータ/引数で呼び出され得る;
c. 一例において、CCLMプロセスにおけるダウンサンプリング方法(例えば隣接ルマ位置の選択、ダウンサンプリングフィルタなど)が、ALWIPプロセスにおいて利用され得る;
d. 隣接ルマサンプルをダウンサンプリングする手順は、少なくとも、ダウンサンプリングされる位置の選択、ダウンサンプリングフィルタ、丸め、クリッピング演算を含む;
20. ALWIPモードで符号化されるブロックは、RST又は/及び二次変換又は/及び回転変換又は/及び非分離二次変換(Non-Separable Secondary Transform;NSST)を適用できないことが提案される;
a. 一例において、そのような制約が適用され得るか否かは、例えば、(15)に記載される条件と同じ、ブロックの寸法情報に依存し得る;
b. あるいは、RST又は/及び二次変換又は/及び回転変換又は/及びNSSTが適用される場合、ALWIPモードは許可されないとし得る;
c. あるいは、ALWIPモードで符号化されるブロックは、RST又は/及び二次変換又は/及び回転変換又は/及び非分離二次変換(NSST)を適用することができてもよい;
i. 一例において、変換行列の選択はALWIPイントラ予測モードに依存し得る;
ii. 一例において、変換行列の選択は、ALWIPイントラ予測モードから変換される通常イントラ予測モードに依存し得る;
iii. 一例において、変換行列の選択は、ALWIPイントラ予測モードから変換される通常イントラ予測モードについての分類に依存し得る;
21. ALWIPモードで符号化されるブロックは、ブロックベースDPCM(BDPCM)又は残差RDPCMを適用できないことが提案される;
a. あるいは、BDPCM又はRDPCMが適用される場合、ALWIPモードは許可されないとし得る;
22. ALWIPモードで符号化されるブロックは、変換としてDCT-IIのみを使用し得ることが提案される;
a. 一例において、変換行列インデックスの信号伝達は常にスキップされる;
b. あるいは、ALWIPモードで符号化されるブロックに使用される変換が、明示的に信号伝達される代わりに暗示的に導出され得ることが提案される。例えば、JVET-M0303で提案されている手法に従って変換が選択されてもよい;
c. 代わりに、ALWIPモードで符号化されるブロックは変換スキップのみを使用し得ることが提案される;
i. あるいは、さらに、ALWIPが使用されるとき、変換スキップの使用を示すインジケーションの信号伝達がスキップされる;
d. 一例において、ALWIPモード情報(例えば、有効/無効、予測モードインデックスなど)は、変換行列のインジケーションの後に条件付きで信号伝達され得る;
i. 一例において、所与の変換行列(例えば、変換スキップ又はDCT-II)に対して、ALWIPモード情報のインジケーションが信号伝達され得る;
ii. あるいは、さらに、ALWIPモード情報のインジケーションは、一部の予め定められた変換行列に対してスキップされてもよい;
23. ALWIPモードで符号化されるブロックは、選択された変換がモード依存であるときに、ALWIPイントラ予測モードから変換された通常イントラ予測で符号化されるとみなされることが提案される;
24. ALWIPモードは変換スキップを使用しないとし得る;
a. 例えば、この場合に変換スキップの使用のインジケーションを更に信号伝達する必要はない;
b. あるいは、変換スキップが適用されるとき、ALWIPモードは許可されないとし得る;
i. 例えば、この場合において変換スキップが適用されるとき、ALWIPモード情報を信号伝達する必要はない;
25. 例えばデブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)などのフィルタリングプロセスにおいて、どのようにフィルタを選択するか、及び/又はサンプルをフィルタすべきかは、ALWIPの使用によって決定され得る;
26. フィルタリングされていない隣接サンプルがALWIPモードで使用され得る;
a. あるいは、フィルタリングされた隣接サンプルがALWIPモードで使用されてもよい;
b. 一例において、フィルタリングされた隣接サンプルがダウンサンプリングに使用され得るとともに、フィルタリングされていない隣接サンプルがアップサンプリングに使用され得る;
c. 一例において、フィルタリングされていない隣接サンプルがダウンサンプリングに使用され得るとともに、フィルタリングされた隣接サンプルがアップサンプリングに使用され得る;
d. 一例において、フィルタリングされた左隣接サンプルがアップサンプリングに使用され得るとともに、フィルタリングされていない上隣接サンプルがアップサンプリングに使用され得る;
e. 一例において、フィルタリングされていない左隣接サンプルがアップサンプリングに使用され得るとともに、フィルタリングされた上隣接サンプルがアップサンプリングに使用され得る;
f. 一例において、フィルタリングされた隣接サンプルが使用されるのか、それともフィルタリングされていない隣接サンプルが使用されるのかは、ALWIPモードに依存し得る;
i. 一例において、ALWIPモードが伝統的なイントラ予測モードに変換されてもよく、フィルタリングされた隣接サンプルが使用されるのか、それともフィルタリングされていない隣接サンプルが使用されるのかは、変換された伝統的イントラ予測モードに依存し得る。例えば、そのような決定は伝統的なイントラ予測モードと同じである;
ii. あるいは、ALWIPモードにたいして、フィルタリングされた隣接サンプルが使用されるのか、それともフィルタリングされていない隣接サンプルが使用されるのかが信号伝達されてもよい;
g. 一例において、フィルタリングされたサンプルは、伝統的イントラ予測モードと同じように生成され得る;
27. どの行列又は/及びオフセットベクトルが使用されるのかは、リシェイピング(LMCS(luma mapping with chroma scaling)としても知られる)情報に依存し得る;
a. 一例において、リシェイピングがオンであるときとオフであるときとで異なる行列又は/及びオフセットベクトルが使用され得る;
b. 一例において、異なるリシェイピングパラメータに対して異なる行列又は/及びオフセットベクトルが使用され得る;
c. 一例において、ALWIPは常に元のドメインで実行され得る;
i. 例えば、ALWIPで使用される前に、隣接サンプルが(リシェイピングが適用される場合の)元のドメインにマッピングされる;
28. ALWIPは、リシェイピングが適用されるときに無効にされ得る;
a. あるいは、ALWIPが有効にされるときにリシェイピングが無効にされ得る;
b. 一例において、ALWIPは、リシェイピングが適用されるときにHDR(高ダイナミックレンジ)コンテンツに対して無効にされてもよい;
29. ALWIPで使用される行列は、サンプルのビット深度に依存し得る;
a. あるいは、さらに、ALWIPで使用されるオフセット値は、サンプルビット深度に依存し得る;
b. あるいは、行列パラメータ及びオフセット値は、Nビットサンプルに対してMビット精度で格納されることができ(M<=N)、例えば、行列パラメータ及びオフセット値は、10ビットサンプルに対して8ビット精度で格納されることができる;
c. サンプルのビット深度は、例えばルマなどのカラーコンポーネントに関する入力アレイのビット深度とし得る;
d. サンプルビット深度は、例えばルマなどのカラーコンポーネントに関する内部アレイ/再構成サンプルのビット深度とし得る;
30. 規定されたブロックサイズに対する行列パラメータ及び/又はオフセット値は、他のブロックサイズに対する行列パラメータ及び/又はオフセット値から導出され得る;
31. 一例において、8×8ブロックの16×8行列を、4×4ブロックの16×4行列から導出することができる;
32. ALWIPによって生成された予測が、更に使用される予測信号を得るために処理されることになる中間信号として扱われ得ることが提案される;
a. 一例において、ALWIPによって生成された予測に位置依存イントラ予測コンビネーション(PDPC)が適用されて、更に使用される予測信号を生成し得る;
i. 一例において、PDPCは、ALWIP符号化ブロックに対して、ブロックが例えばプレーナ又はDCなどの特定の通常イントラ予測モードで符号化されるのと同じようにして行われる;
ii. 一例において、PDPCは、ALWIP符号化ブロックに対して、ALWIPイントラ予測モードから変換された通常イントラ予測モードでブロックが符号化されるのと同じようにして行われる;
iii. 一例において、PDPCは、ALWIP符号化ブロックに対して条件付きで適用される;
1)例えば、PDPCは、ALWIPイントラ予測モードから変換された通常イントラ予測モードに対してPDPCが適用される場合にのみ、ALWIP符号化ブロックに対して適用される;
b. 一例において、ALWIPによって生成された境界サンプル予測が隣接サンプルとともにフィルタリングされて、更に使用される予測信号を生成し得る;
i. 一例において、境界サンプルに対するフィルタリングは、ALWIP符号化ブロックに対して、ブロックが例えばプレーナ又はDCなどの特定の通常イントラ予測モードで符号化されるのと同じようにして行われる;
ii. 一例において、境界サンプルに対するフィルタリングは、ALWIP符号化ブロックに対して、ALWIPイントラ予測モードから変換された通常イントラ予測モードでブロックが符号化されるのと同じようにして行われる;
iii. 一例において、境界サンプルに対するフィルタリングは、ALWIP符号化ブロックに対して条件付きで適用される;
1)例えば、境界サンプルに対するフィルタリングは、ALWIPイントラ予測モードから変換された通常イントラ予測モードに対して境界サンプルに対するフィルタリングが適用される場合にのみ、ALWIP符号化ブロックに対して適用される;
33. バイリニア補間フィルタ以外の補間フィルタがALWIPのアップサンプリングプロセスで使用され得ることが提案される;
a. 一例において、4タップ補間フィルタがALWIPのアップサンプリングプロセスで使用され得る;
i. 例えば、クロマコンポーネントの動き補償を行うために使用されるVVCにおける4タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用され得る;
ii. 例えば、角度イントラ予測を行うために使用されるVVCにおける4タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用され得る;
iii. 例えば、ルマコンポーネントの動き補償を行うために使用されるVVCにおける8タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用され得る;
34. ALWIPモードで符号化されるブロック内のサンプルは、複数の異なる手法で予測され得る;
a. 一例において、W*Hブロックについて、その中のsW*sHサブブロックの予測は、それにsW*sH ALWIPを適用することによって生成され得る;
i. 一例において、W*Hブロックについて、その左上のW/2*H/2ブロックの予測は、それにW/2*H/2 ALWIPを適用することによって生成され得る;
ii. 一例において、W*Hブロックについて、その左のW/2*Hブロックの予測は、それにW/2*H ALWIPを適用することによって生成され得る;
iii. 一例において、W*Hブロックについて、その上のW*H/2ブロックの予測は、それにW*H/2 ALWIPを適用することによって生成され得る;
iv. 一例において、sW*sHサブブロックは、利用可能な左隣接サンプル又は/及び上隣接サンプルを有し得る;
b. 一例において、サブブロックの位置をどのように決定するかは、ブロックの寸法に依存し得る;
i. 例えば、W≧Hであるとき、その左のW/2*Hブロックの予測は、それにW/2*H ALWIPを適用することによって生成され得る;
ii. 例えば、H≧Wであるとき、その上のW*H/2ブロックの予測は、それにW*H/2 ALWIPを適用することによって生成され得る;
iii. 例えば、WがHに等しいとき、その左上のW/2*H/2ブロックの予測は、それにW/2*H/2 ALWIPを適用することによって生成され得る;
c. 一例において、さらに、残りのサンプル(例えば、sW*sHサブブロックに属さないサンプル)の予測は、W*H ALWIPを適用することによって生成され得る;
i. あるいは、残りのサンプルの予測は、従来からのイントラ予測を適用する(例えば、変換されたイントラ予測モードをイントラモードとして使用する)ことによって生成されてもよい;
ii. さらに、sW*sHサブブロック内のサンプルについての計算はスキップされ得る;
35. ALWIPモードで符号化されるブロック内のサンプルは、サブブロック(例えば、サイズsW*sHを有する)レベルで予測され得る;
a. 一例において、sW*sH ALWIPは、(例えば、境界サブブロックに対して)隣接再構成サンプルを用いて又は(例えば、内側サブブロックに対して)隣接予測サンプルを用いて、各サブブロックに適用され得る;
b. 一例において、サブブロックはラスタ走査順に予測され得る;
c. 一例において、サブブロックはジグザグ順に予測され得る;
d. 一例において、サブブロックの幅(高さ)はsWMax(sHMax)より大きくないとし得る;
e. 一例において、ブロックが幅又は高さのいずれかで又は幅及び高さの両方で閾値Lよりも大きい(又は等しい)場合、そのブロックは、複数のサブブロックに分割され得る;
f. 閾値Lは、予め定められていてもよいし、SPS/PPS/ピクチャ/スライス/タイルグループ/タイルレベルで信号伝達されてもよい;
i. あるいは、閾値は、例えばブロックサイズ、ピクチャタイプ、時レイヤインデックスなどの特定の符号化情報に依存してもよい;
36. 隣接サンプル(隣の又は隣ではない)が、ALWIPで使用される前にフィルタリングされることが提案される;
a. あるいは、隣接サンプルは、ALWIPで使用される前にフィルタリングされない;
b. あるいは、隣接サンプルは、ALWIPで使用される前に条件付きでフィルタリングされる;
i. 例えば、隣接サンプルは、ALWIPイントラ予測モードが1つ又は一部の特定の値に等しい場合にのみ、ALWIPで使用される前にフィルタリングされる;
37. ALWIPフラグを符号化するときに、算術符号化にてALWIPフラグのコンテキストを導出する方法が、全ての寸法の現在ブロックに対して同じであることが提案される;
a. 一例において、算術符号化にてALWIPフラグのコンテキストを導出する方法は、Abs(Log2(cbWidth)-Log2(cbHeight))が1より大きい場合とそうでない場合とで同じであり、ここで、CbWidth及びCbHeightは、それぞれ、現在ブロックの幅及び高さである;
b. 一例において、算術符号化におけるALWIPフラグのコンテキストの導出は、隣接ブロックのALWIP情報及び/又は隣接ブロックの利用可能性にのみ依存する;
i. 一例において、複数の隣接ブロックALWIP情報(例えば、intra_lwip_flag)及び/又は隣接ブロックの利用可能性が直接使用される。例えば、左及び上の隣接ブロックのALWIPフラグ及び/又は左及び上の隣接ブロックの利用可能性が、算術符号化にてALWIPフラグのコンテキストを導出するために使用される。一例を表2に示す。あるいは、さらに、コンテキストインデックスoffset ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3である;
Figure 2022535726000039
ii. 一例において、隣接ブロックのうちの1つのALWIP情報(例えばintra_lwip_flag)が、算術符号化にてALWIPフラグのコンテキストを導出するのに使用され、隣接ブロックは左隣接ブロックとし得る。一例を表3に示す。あるいは、さらに、コンテキストインデックスoffset ctxInc=(condL&&availableL)+ctxSetIdx*3である。
Figure 2022535726000040
iii. 一例において、隣接ブロックのうちの1つのALWIPフラグ情報(例えばintra_lwip_flag)の1つが、算術符号化にてALWIPフラグのコンテキストを導出するのに使用され、隣接ブロックは上隣接ブロックとし得る。一例を表4に示す。あるいは、さらに、コンテキストインデックスoffset ctxInc=(condA&&availableA)+ctxSetIdx*3である。
Figure 2022535726000041
c. 一例において、算術符号化にてALWIPフラグを符号化するために、1つの固定コンテキストが使用される;
d. 一例において、ALWIPフラグは、算術符号化にてバイパス符号化される;
e. あるいは、算術符号化にてALWIPフラグを符号化するために、K個のコンテキストが使用され得る。使用されるコンテキストは、ブロックの寸法(例えば、Wと表記される幅及びHと表記される高さ)に依存し得る;
i. 一例において、Kは2に等しい。W>N*H又はH>N*W(例えば、N=2)である場合、最初のコンテキストが使用され、そうでない場合、2番目のコンテキストが使用される;
38. 算術符号化にてALWIPフラグ(例えば、intra_lwip_flag)を符号化するのにN(N>=0)個のコンテキストが使用され得ることが提案される;
a. 一例において、Nは3に等しい。ALWIPフラグ、及び/又は2つの隣接ブロック又は/及び非隣接ブロックの利用可能性が、算術符号化にてALWIPフラグのコンテキストを導出するのに使用され得る;
i. 一例において、2つの隣接ブロックは、上ブロック(例えば、図10のB1)及び左ブロック(例えば、図10のA1)を含み得る;
ii. 一例において、2つの隣接ブロックは、上ブロック及び左下ブロック(例えば、図10のA2)を含み得る;
iii. 一例において、2つの隣接ブロックは、上ブロック及び右上ブロック(例えば、図10のB2)を含み得る;
iv. 一例において、2つの隣接ブロックは、右上ブロック(例えば、図10のB2)及び左ブロック(例えば、図10のA1)を含み得る;
v. 一例において、2つの隣接ブロックは、右上ブロック(例えば、図10のB2)及び左下ブロック(例えば、図10のA2)を含み得る;
vi. 一例において、2つの隣接ブロックは、左ブロック(例えば、図10のA1)及び左下ブロック(例えば、図10のA2)を含み得る;
vii. 一例において、隣接ブロックは、図10とは異なるように定められてもよい。一例が図16に記載されている。2つの隣接ブロックは、{右上,上,左上,左,左下}ブロックのうちの任意の2つを含み得る。例えば、2つの隣接ブロックは、{B0,B1,B2,A0,A1}のブロックのうちの任意の2つを含み得る;
b. 一例において、Nは2に等しい。ALWIPフラグ、及び/又は1つの隣接ブロック若しくは非隣接ブロックの利用可能性が、算術符号化にてALWIPフラグのコンテキストを導出するのに使用され得る;
i. 一例において、隣接ブロックは、{右上,上,左上,左,左下}のうちのいずれか1つとし得る。隣接ブロックの一例が図10に記載されている;
ii. 一例において、隣接ブロックは、{右上,上,左上,左,左下}ブロックのうちのいずれか1つとし得る。隣接ブロックの一例が図16に記載されている;
c. 一例において、算術符号化にてALWIPフラグを符号化するために1つの固定コンテキストが使用され得る;
d. 一例において、ALWIPフラグは、算術符号化にてバイパス符号化され得る。図16は、隣接ブロックの一例を示している;
39. アップサンプリング境界サンプルを計算することなく減少境界サンプルが生成され得ることが提案される;
a. 一例において、アップサンプリング境界サンプル位置にある参照サンプルが直接的に、予測アップサンプリングプロセスに使用される;
i. 一例において、アップサンプリング境界サンプルは、複数の隣接参照サンプルを平均することによっては計算されないとし得る;
b. 一例において、減少境界サンプルは、参照サンプル及びダウンスケーリング係数から直接的に計算され得る;
i. 一例において、ダウンスケーリング係数は、変換ブロックサイズ及びダウンサンプリングした境界サイズによって計算され得る;
40. 行列乗算に使用される減少境界サンプルは1つの段階で生成され得ることが提案される;
a.一例において、減少行列サンプルは、1つの段階で元の再構成隣接サンプルから直接的に生成され得る(なお、VVC WD5は、セクション2.2.1.5.4.4に記載されるようにALWIP減少境界サンプルを生成するために二段階のダウンサンプリングを使用する)。元の再構成隣接サンプルは、更なる処理なしに復号隣接サンプルとし得る。例えば、元の再構成隣接サンプルは、角度インター予測サンプルを生成するために使用され得る;
b. 一例において、減少境界サンプルは、現在ブロックの上隣接行及び/又は左隣接列に位置する元の再構成サンプルから生成され得る;
i.例えば、N個の減少境界サンプルが現在ブロックに(所与の順序で)隣接するM個の元の再構成サンプルから生成される必要があるとすると、それぞれK個の連続する元の再構成隣接サンプルが、1つの出力減少境界サンプルを取得するために使用され得る;
1) 一例において、K=M/Nである;
a. あるいは、K=(M+N/2)/Nである;
2) 一例において、1つの出力減少境界サンプルは、K個の連続する元の再構成隣接サンプルの平均として導出され得る;
3) 一例において、1つの出力減少境界サンプルは、K個の連続する元の再構成隣接サンプルの加重平均として導出され得る;
c. 一例において、左減少境界サンプルは、現在ブロックの左隣接列に位置する元の再構成サンプルから生成され、上減少サンプルは、現在ブロックの上隣接行に位置する元の再構成サンプルから生成され得る;
i. 例えば、図17に示されるように、それぞれboundaryleft及びboundarytopと表記される左境界及び上境界の4つの減少境界サンプルは、元の左/上隣接再構成サンプル(図面において16×16ブロックに隣接する灰色の格子として表記される)によって生成される;
d. どのように減少境界サンプルを生成するかは、ブロック寸法/符号化情報(例えば、イントラ予測モード、変換タイプ等)に依存し得る;
e. 一例において、上記の方法は、減少境界サンプルを生成することを必要とする全てのサイズのALWIPブロック(例えば、4×4のALWIPブロックから64×64のALWIPブロックまで)に適用され得る;
f. 一例において、現在ブロックの左隣接列及び現在ブロックの上隣接行に対する減少境界サンプルの生成プロセスは、異なる方法で行われ得る;
i. 例えば、8×4のALWIPブロックに関して、所定の減少境界サンプルの数は上の4つ及び左の4つであり、この場合、8×4のALWIPブロックの上の行に位置する8つの隣接サンプルは、上の4つの減少境界サンプルを生成するために使用され、8×4のALWIPブロックの左の列に位置する4つの隣接サンプルは、左の4つの減少境界サンプルとして直接コピーされる;
41. 減少予測ブロックから最終予測ブロックを生成するために、アップサンプリングプロセスにおいて元の再構成隣接サンプル(現在ブロックに隣接する又は隣接しない)の全部又は一部を使用することが提案される;
a. 一例において、元の再構成隣接サンプルは、現在ブロックの上隣接行及び/又は左隣接列に位置し得る。一例が図18に示されており、64×64の最終予測ブロックは、8×8の減少予測ブロックに64×64ブロックの元の再構成隣接サンプルを加えたものをアップサンプリングすることによって生成される;
i. あるいは、さらに、減少境界サンプルは、減少予測ブロックを取得するための行列乗算にのみ使用され得るが、最終予測ブロックを生成するためのアップサンプリングプロセスにおいて使用されないとし得る。例えば、K個の減少境界サンプルは、M×Nの減少予測ブロックを生成するためにALWIPの行列乗算に入力され得るが、アップサンプリングプロセスにおいて最終予測ブロックを生成するために使用されないとし得る。例えば、K=8であり、M×Nは8×8である;
b. 一例において、選択された元の再構成隣接サンプルは、減少予測ブロックから最終予測ブロックを生成するためにアップサンプリングプロセスにおいて使用され得る;
i. 例えば、現在ブロックの左の全ての元の再構成隣接サンプルが選択され得る;
ii. 例えば、現在ブロックの上の全ての元の再構成隣接サンプルが選択され得る;
iii. 例えば、現在ブロックの左のそれぞれM個の連続する元の再構成隣接サンプルのうちのK個が選択され得る。例えば、K=1であり、M=2/4/8である;
1) 例えば、それぞれM個の連続する隣接のうちの後方のK個の元の再構成隣接サンプルが選択され得る;
2) 例えば、それぞれM個の連続する隣接のうちの最初のK個の元の再構成隣接サンプルが選択され得る;
iv. 例えば、現在ブロックの上のそれぞれM個の連続する元の再構成隣接サンプルのうちのK個が選択され得る。例えば、K=1であり、M=2/4/8である;
1) 例えば、それぞれM個の連続する隣接のうちの後方のK個の元の再構成隣接サンプルが選択され得る;
2) 例えば、それぞれM個の連続する隣接のうちの最初のK個の元の再構成隣接サンプルが選択され得る;
v. 例えば、選択はブロックの幅及び高さに依存し得る。blkW及びblkHがそれぞれALWIPブロックの幅及び高さを表記すると仮定する。(blkX,blkH)は、ブロックの左上位置を表す;
1) 例えば、blkWがblkHより大きい場合、現在ブロックの左の全ての元の再構成隣接サンプルが選択され得る、及び/又はMで表記される、現在ブロックの上の選択された元の再構成隣接サンプルの数は、blkWに依存し得る;
a. 一例において、現在ブロックの上の第kの選択サンプルは、位置(blkX+(k+1)*blkW/M-1,blkY-1)になり得る。ここで、kは0からM-1である;
b. 例えば、blkW<=8である場合、M=4である;
c. 例えば、blkW>8である場合、M=8である;
d. あるいは、blkW及びblkHの関係にかかわらず、現在ブロックの左の全ての元の再構成隣接サンプルが選択され得る、及び/又は現在ブロックの上のM個の元の再構成隣接サンプルが選択され得る。ここで、Mは上記のルールによって判断される;
2) 例えば、blkWがblkH未満である場合、現在ブロックの上の全ての元の再構成隣接サンプルが選択され得る、及び/又はMで表記される、現在ブロックの左の選択された元の再構成隣接サンプルの数は、blkHに依存し得る;
a. 一例において、現在ブロックの左の第kの選択サンプルは、位置(blkX-1,blkY+(k+1)*blkH/M-1)になり得る。ここで、kは0からM-1である;
b. 例えば、blkH<=8である場合、M=4である;
c. 例えば、blkH>8である場合、M=8である;
d. あるいは、blkW及びblkHの関係にかかわらず、現在ブロックの上の全ての元の再構成隣接サンプルが選択され得る、及び/又は現在ブロックの左のM個の元の再構成隣接サンプルが選択され得る。ここで、Mは上記のルールによって判断される;
c. 一例において、ALWIPアップサンプリングに使用される隣接サンプルは、最終予測ブロックを生成するために使用される前に、更に修正され得る(例えば、フィルタリングされ、フィルタは、N=2又はN=3のようなNタップフィルタとし得る);
i. 一例において、隣接サンプルフィルタリングプロセスは、ALWIPモードに従って適応的に適用され得る;
d. どのように最終予測ブロックを生成するか(例えば、線形補間)は、ブロック寸法/符号化情報(例えば、イントラ予測方向、変換タイプ等)に依存し得る;
42. 一例において、サンプルは、ALWIPにおけるアップサンプリングプロセスの異なるフィルタリング段階において異なる精度を有し得る。“サンプル”は、予測サンプル又はアップサンプリングプロセスの前若しくは後の中間サンプルを指し得る;
a. 一例において、サンプルは、第1のフィルタリング段階において水平方向に第1の次元に沿ってアップサンプリングされ、次いで、サンプルは、ALWIPのアップサンプリングプロセスの第2のフィルタリング段階において垂直方向に第2の次元に沿ってアップサンプリングされる;
i. あるいは、サンプルは、第1のフィルタリング段階において垂直方向に第1の次元に沿ってアップサンプリングされ、次いで、サンプルは、ALWIPのアップサンプリングプロセスの第2のフィルタリング段階において水平方向に第2の次元に沿ってアップサンプリングされる;
b. 一例において、第1のフィルタリング段階における右シフト又は除算なしでの出力アップサンプリング結果が、第2のフィルタリング段階への入力サンプルとして使用され得る;
i. 一例において、第2のフィルタリング段階における出力アップサンプリングフィルタリングの結果が、Shift1だけ右シフトされて又はDem1で除算されて、最終的なアップサンプリング結果を導出し得る;
ii. 一例において、第1のフィルタリング段階における出力アップサンプリングフィルタリング結果が、Shift2だけ右シフトされて又はDem2で除算されて、最終的なアップサンプリングの結果を導出し得る;
1)一例において、Shift1=2×Shift2; Dem1=Dem2×Dem2である;
iii. 一例において、第2のフィルタリング段階に入力されるが第1のフィルタリング段階における出力アップサンプリング結果ではないサンプルが、第2のフィルタリング段階に入力される前に、Shift3だけ左シフトされ又はDem3を乗算され得る;
1)一例において、Shift3=Shift1; Dem3=Dem2である;
c. 一例において、第1のフィルタリング段階における出力アップサンプリング結果が、第2のフィルタリング段階への入力サンプルとして使用される前に、Shift1だけ右シフトされ又はDem1で除算され得る;
i. 一例において、第2のフィルタリング段階における出力アップサンプリングフィルタリング結果が、Shift2だけ右シフトされて又はDem2で除算されて、最終的なアップサンプリング結果を導出することができ、ここで、Shift2は、Shift1に等しくないとすることができ、例えば、Shift2>Shift1であり、Dem2はDem1に等しくないとすることができ、例えば、Dem2>Dem1である;
ii. 一例において、第1のフィルタリング段階における出力アップサンプリングフィルタリング結果が、Shift3だけ右シフトされて又はDem3で除算されて、最終的なアップサンプリング結果を導出することができ、ここで、Shift3はShift1に等しくないとすることができ、Dem3はDem1に等しくないとすることができる;
1)一例において、Shift3=Shift1+Shift2である;
iii. 一例において、第2のフィルタリング段階に入力されるが、第1のフィルタリング段階における出力アップサンプリング結果ではないサンプルが、第2のフィルタリング段階に入力される前に、ある係数だけ左シフトされ又はある係数を乗算され得る;
d. 一例において、第1のフィルタリング段階における出力アップサンプリング結果が、第2のフィルタリング段階への入力サンプルとして使用される前に、Shift1だけ左シフトされ又はDem1を乗算され得る;
i. 一例において、第2のフィルタリング段階における出力アップサンプリングフィルタリング結果が、ある係数だけ右シフトされて又はある係数で除算されて、最終的なアップサンプリング結果を導出し得る;
ii. 一例において、第1のフィルタリング段階における出力アップサンプリングフィルタリング結果が、ある係数だけ右シフトされて又はある係数で除算されて、最終的なアップサンプリング結果を導出し得る;
iii. 一例において、第2のフィルタリング段階に入力されるが第1のフィルタリング段階における出力アップサンプリング結果ではないサンプルが、第2のフィルタリング段階に入力される前に、Shift2だけ左シフトされ又はDem2を乗算されることができ、ここで、Shift2は、Shift1に等しくないとすることができ、例えば、Shift2>Shift1であり、Dem1はDem2に等しくないとすることができ、例えば、Dem2>Dem1である;
e. 一例において、第1のフィルタリング段階に入力されるサンプルが、第1のフィルタリング段階への入力サンプルとして使用される前に、Shift1だけ左シフトされ又はDem1を乗算され得る;
i. 一例において、第2のフィルタリング段階における出力アップサンプリングフィルタリング結果が、ある係数だけ右シフトされて又はある係数で除算されて、最終的なアップサンプリング結果を導出し得る;
ii. 一例において、第1のフィルタリング段階における出力アップサンプリングフィルタリング結果が、ある係数だけ右シフトされて又はある係数で除算されて、最終的なアップサンプリング結果を導出し得る;
iii. 一例において、第2のフィルタリング段階に入力されるが第1のフィルタリング段階における出力アップサンプリング結果ではないサンプルが、第2のフィルタリング段階に入力される前に、Shift2だけ左シフトされ又はDem2を乗算されることができ、ここで、Shift2は、Shift1に等しくないとすることができ、例えば、Shift2>Shift1であり、Dem2はDem1に等しくないとすることができ、例えば、Dem2>Dem1である;
43. 垂直アップサンプリング及び水平アップサンプリングの双方が必要とされる場合、ALWIPにおけるアップサンプリングが固定の順序で実行され得ることが提案される;
a. 一例において、水平アップサンプリングが最初に実行され得るとともに、水平アップサンプリングが次に実行され得る;
b. 一例において、垂直アップサンプリングが最初に実行され得るとともに、水平アップサンプリングが次に実行され得る;
44. 一例において、アップサンプリングの前のALWIPにおける予測サンプルは、ブロック寸法に従って転置され得る;
a. 一例において、W*Hブロックが最初にH*Wブロックに転置され、次いで、アップサンプリングが適用され得る;
b. あるいは、さらに、アップサンプリングプロセスの後に、アップサンプリングされたサンプルが逆方向に転置され得る;
45.バイリニアフィルタの代わりに別の補間フィルタがWLWIPにおいてアップサンプリングに使用され得ることが提案される;
a. 一例において、(4タップ、6タップ、8タップ等の)ガウスフィルタが使用され得る;
b. 一例において、(4タップ、6タップ、8タップ等の)キュービックフィルタが使用され得る;
c. 一例において、クロマサンプルに対する動き補償において用いられる補間フィルタが使用され得る;
d. 一例において、ルマサンプルに対する動き補償において用いられる補間フィルタ(6タップ、8タップ等)が使用され得る;
e. どの補間フィルタが使用されるかは、ブロック寸法に依存し得る;
f. どの補間フィルタが使用されるかは、アップサンプリング比に依存し得る;
g. どの補間フィルタが使用されるかは、ALWIPの予測モードに依存し得る;
h. どの補間フィルタが使用されるかは、アップサンプリングに利用可能なサンプル数に依存し得る;
i. 例えば、1つの行(又は列)に4つの利用可能なサンプル(隣接参照サンプルを除く)が存在する場合、4タップ補間フィルタが使用され得る;
ii. 例えば、1つの行(又は列)に8つの利用可能なサンプル(隣接参照サンプルを除く)が存在する場合、4タップ又は8タップ補間フィルタが使用され得る。
5. 実施形態
新たに追加される部分を太字体でハイライトし、削除される部分を下線でハイライトする。
5.1 一例
ALWIPフラグを符号化するために3つのコンテキストが使用される。
Figure 2022535726000042
5.2 一例
ALWIPフラグを符号化するために1つの固定コンテキストが使用される。
Figure 2022535726000043
5.3 一例
境界減少プロセスを1ステップで実行する。
以下の実施形態は、採用されたJVET-N0220-提案-テスト-CE3-4.1_v2に基づく。
8.4.4.2.X1 アフィン線形加重イントラサンプル予測
8.4.4.2.X3 境界減少プロセスの仕様
このプロセスへの入力は以下である:
- 変換ブロックサイズを規定する変数nTbX、
- x=0..nTbX-1での参照サンプルrefX[x]、
- ダウンサンプリングした境界サイズを規定する変数boundarySize、
- アップサンプリングに中間境界サンプルが必要であるかを規定するフラグneedUpsBdryX、
- アップサンプリングに関する境界サイズを規定する変数upsBdrySize。
このプロセスの出力は、x=0..boundarySize-1での減少境界サンプルredX[x]及びx=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]である。
x=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]は、次のように導出される:
- needUpsBdryXがTRUEに等しく、且つupsBdrySizeがnTbXより小さい場合、以下が適用される:
Figure 2022535726000044
- そうでない場合(upsBdrySizeがnTbXに等しい)、upsBdryX[x]はrefX[x]に等しく設定される。
x=0..boundarySize-1での減少境界サンプルredX[x]は次のように導出される:
- boundarySizeがupsBdrySize nTbXより小さい場合、以下が適用される:
Figure 2022535726000045
式8-X33内の項upsBdryXは削除される。
- そうでない場合(boundarySizeがupsBdrySize nTbXに等しい)、redX[x]はupsBdryX[x] refX[x]に等しく設定される。
5.4 一例
ALWIPのアップサンプリングプロセスの異なるフィルタリング段階において異なる精度で予測サンプルを導出する。
以下の実施形態は、採用されたJVET-N0217-提案-テスト-CE3-4.1_v2に基づく。
8.4.4.2.X4 予測アップサンプリングプロセスの仕様
このプロセスへの入力は以下である:
- 入力ブロック幅を規定する変数predW、
- 入力ブロック高さを規定する変数predH、
- x=0..predW-1,y=0..predH-1でのアフィン線形加重サンプルpredLwip[x][y]、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- アップサンプリング境界幅を規定する変数upsBdryW、
- アップサンプリング境界高さを規定する変数upsBdryH、
- x=0..upsByW-1での上アップサンプリング境界サンプルupsBdryT[x]、
- x=0..upsBdryH-1での左アップサンプリング境界サンプルupsBdryL[x]。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
x=0..predW-1,y=0..predH-1でのpredLwip[x][y]から、疎な予測サンプルpredSamples[m][n]が、次のように導出される:
upHor=nTbW/predW (8-X34)
upVer=nTbH/predH (8-X35)
predSamples[(x+1)*upHor-1][(y+1)*upVer-1]=predLwip[x][y] (8-X36)
次のように、x=0..upsBdryW-1での上境界サンプルupsBdryT[x]がpredSamples[m][-1]に割り当てられる:
predSamples[(x+1)*(nTbW/upsBdryW)-1][-1]=upsBdryT[x] (8-X37)
y=0..upsBdryH-1での左境界サンプルupsBdryL[y]が、次のように、predSamples[-1][n]に割り当てられる:
predSamples[-1][(y+1)*(nTbH/upsBdryH)-1]=upsBdryL[y] (8-X38)
x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- nTbHがnTbWより大きい場合、以下の順序付けられたステップが適用される:
1. upHorが1より大きい場合、m=0..predW-1,n=1..predHでの全ての疎な位置(xHor,yHor)=(m*upHor-1,n*upVer-1)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される:
Figure 2022535726000046
2. m=0..nTbW-1,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される:
Figure 2022535726000047
- そうでない場合、以下の順序付けられたステップが適用され:
Figure 2022535726000048
5.5 項目40に対応する例
ブロック寸法をW×Hとする。x=Sx,Sx+Kx,Sx+2Kx,Sx+3Kx,…、y=Sy,Sy+Ky,Sy+2Ky,Sy+3Ky,…でのサンプルP(x,y)がアップサンプリングプロセスに入力されて、x=0,1,2,…,W-1、y=0,1,2,…,H-1でのアップサンプリングサンプルS(x,y)が導出される。Kx及びKyは、それぞれ、水平方向及び垂直方向に沿ったステップサイズである。(Sx,Sy)は開始位置である。
1-Dアップサンプリングが第1段階で水平方向に行われ、1-Dアップサンプリングが第2段階で垂直方向に行われるとする。
一例において、右シフトなしでの第1段階における出力結果が、
S’(Sx+Kx-1,Sy)=F1*P(Sx,Sy)+F2*P(Sx+Kx,Sy)
S’(Sx+Kx-1,Sy+Ky)=F1*P(Sx,Sy+Ky)+F2*P(Sx+Kx,Sy+Ky)
として導出され得る。
F1、F2は2タップフィルタの係数であり、F1+F2=2である。
次いで、第2段階における出力結果が、
S’(Sx+Kx-1,Sy+1)=F3*S’(Sx+Kx-1,Sy)+F4*S’(Sx+Kx-1,Sy+Ky)
として導出され得る。
F3、F4は2タップフィルタの係数であり、F3+F4=2である。
そして、最終的なアップサンプリングサンプル値が、
S(Sx+Kx-1,Sy+1)=Shift(S’(Sx+Kx-1,Sy+1),2N);
S(Sx+Kx-1,Sy)=Shift(S’(Sx+Kx-1,Sy),N);
S(Sx+Kx-1,Sy+Ky)=Shift(S’(Sx+Kx-1,Sy+Ky),N);
として導出され得る。
5.6 一例
減少境界サンプルを一段階で導出し、アップサンプリングのための参照バッファを生成する。
以下の実施形態は、採用されたJVET-N0217-提案-テスト-CE3-4.1_v2に基づく。
8.4.4.2.X1 アフィン線形加重イントラサンプル予測
8.4.4.2.X3 境界減少プロセスの仕様

x=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]は、次のように導出される:
- needUpsBdryXがTRUEに等しく、且つupsBdrySizeがnTbXより小さい場合、以下が適用される:
Figure 2022535726000049
- そうでない場合(upsBdrySizeがnTbXに等しい)、upsBdryX[x]はrefX[x]に等しく設定される。
x=0..boundarySize-1での減少境界サンプルredX[x]は次のように導出される:
- boundarySizeがupsBdrySize nTbXより小さい場合、以下が適用される:
Figure 2022535726000050
式8-X33内の項upsBdryXは削除される。
- そうでない場合(boundarySizeがupsBdrySize nTbXに等しい)、redX[x]はupsBdryX[x] refX[x]に等しく設定される。
5.7 一例
ALWIP(行列ベースイントラ予測又はMIPとしても知られる)がここに提示される。テキストはJVET-N1001-v6に基づく。
5.7.1 最初の水平アップサンプリング後の垂直アップサンプリング
8.4.5.2.1 行列ベースイントラサンプル予測
このプロセスへの入力は以下である:
- 現在変換ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するサンプル位置(xTbCmp,yTbCmp)、
- イントラ予測モードを規定する変数predModeIntra、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
変数numModes、boundarySize、predW、predH、及びpredCが、表8-7に規定されるようにMipSizeId[xTbCmp][yTbCmp]を使用して導出される。
Figure 2022535726000051
フラグisTransposedが次のように導出される:
isTransposed=(predModeIntra>(numModes/2))?TRUE:FALSE (8-56)
フラグneedUpsBdryHor及びneedUpsBdryVerが次のように導出される:
needUpsBdryHor=(nTbW>predW)?TRUE:FALSE (8-57)
needUpsBdryVer=(nTbH>predH)?TRUE:FALSE (8-58)
変数upsBdryW及びupsBdryHが次のように導出される:
Figure 2022535726000052
変数mipW及びmipHが次のように導出される:
mipW=isTransposed?predH:predW (8-61)
mipH=isTransposed?predW:predH (8-62)
x=0..nTbW-1での参照サンプルrefT[x]及びy=0..nTbH-1での参照サンプルrefL[y]の生成のために、8.4.5.2.2節に規定されるMIP参照サンプル導出プロセスが、サンプル位置(xTbCmp,yTbCmp)、変換ブロック幅nTbW、変換ブロック高さnTbHを入力とし、x=0..nTbW-1での上参照サンプルrefT[x]及びy=0..nTbH-1での左参照サンプルrefL[y]を出力として呼び出される。
x=0..2*boundarySize-1での境界サンプルp[x]の生成のために、以下が適用される:
- 8.4.5.2.3節に規定されるMIP境界ダウンサンプリングプロセスが、上参照サンプルに対して、ブロックサイズnTbW、x=0..nTbW-1での参照サンプルrefT[x]、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryHor、及びアップサンプリング境界サイズupsBdryWを入力とし、x=0..boundrySize-1での減少境界サンプルredT[x]及びx=0..upsBdryW-1でのアップサンプリング境界サンプルupsBdryT[x]を出力として呼び出される。
- 8.4.5.2.3項に規定されるMIP境界ダウンサンプリングプロセスが、左参照サンプルに対して、ブロックサイズnTbH、y=0..nTbH-1での参照サンプルrefL[y]、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryVer、及びアップサンプリング境界サイズupsBdryHを入力とし、x=0..boundrySize-1での減少境界サンプルredL[x]及びx=0..upsBdryH-1でのアップサンプリング境界サンプルupsBdryL[x]を出力として呼び出される。
- 減少された上及び左境界サンプルredT及びredLが、次のように境界サンプルアレイpに割り当てられる:
- isTransposedが1に等しい場合、p[x]が、x=0..boundarySize-1でredL[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される;
- そうでない場合、p[x]が、x=0..boundarySize-1でredT[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される。
predModeIntraに従ったイントラサンプル予測プロセスのために、以下の順序付けられたステップが適用される:
3. x=0..mipW-1,y=0..mipH-1での行列ベースイントラ予測サンプルpredMip[x][y]が、次のように導出される:
- 変数modeIdが次のように導出される:
modeId=predModeIntra-(isTransposed?numModes/2:0) (8-63)
- x=0..2*boundarySize-1,y=0..predC*predC-1での重み行列mWeight[x][y]が、表8-XX[Ed.(BB):10ビットでない重みの解が採用されたときの重み行列の加算]に規定されるようにMipSizeId[xTbCmp][yTbCmp]及びmodeIdを用いて導出される;
- y=0..predC*predC-1でのバイアスベクトルvBias[y]が、表8-XX[Ed.(BB):10ビットでない重みの解が採用されたときのバイアスベクトルの加算]に規定されるようにsizeId及びmodeIdを用いて導出される;
- 変数sWが、表8-8に規定されるようにMipSizeId[xTbCmp][yTbCmp]及びmodeIdを用いて導出される;
- x=0..mipW-1,y=0..mipH-1での行列ベースイントラ予測サンプルpredMip[x][y]が、次のように導出される:
Figure 2022535726000053
4. isTransposedがTRUEに等しい場合、x=0..predH-1,y=0..predW-1でのpredH×predWのアレイpredMip[x][y]が、次のように転置される:
predTemp[y][x]=predMip[x][y] (8-69)
predMip=predTemp (8-70)
5. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- needUpsBdryVerがTRUEに等しい又はneedUpsBdryHorがTRUEに等しい場合、8.4.5.2.4節に規定されるMIP予測アップサンプリングプロセスが、入力ブロック幅predW、入力ブロック高さpredH、x=0..predW-1,y=0..predH-1での行列ベースイントラ予測サンプルpredMip[x][y]、変換ブロック幅nTbW、変換ブロック高さnTbH、アップサンプリング境界幅upsBdryW、アップサンプリング境界高さupsBdryH、上アップサンプリング境界サンプルupsBdryT、及び左アップサンプリング境界サンプルupsBdryLを入力として呼び出され、その出力が予測サンプルアレイpredSamplesである;
- それ以外の場合、x=0..nTbW-1,y=0..nTbH-1でのpredSamples[x][y]がpredMip[x][y]に等しく設定される。
6. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のようにクリッピングされる:
predSamples[x][y]=Clip1Y(predSamples[x][y]) (8-71)
Figure 2022535726000054
8.4.5.2.4 MIP予測アップサンプリングプロセス
このプロセスへの入力は以下である:
- 入力ブロック幅を規定する変数predW、
- 入力ブロック高さを規定する変数predH、
- x=0..predW-1,y=0..predH-1での行列ベースイントラ予測サンプルpredMip[x][y]、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- アップサンプリング境界幅を規定する変数upsBdryW、
- アップサンプリング境界高さを規定する変数upsBdryH、
- x=0..upsBdryW-1での上アップリング境界サンプルupsBdryT[x]、
- x=0..upsBdryH-1での左アップリング境界サンプルupsBdryL[x]。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測参照サンプルpredSamples[x][y]である。
x=0..predW-1,y=0..predH-1でのpredMip[x][y]から、疎な予測サンプルpredSamples[m][n]が、次のように導出される:
upHor=nTbW/predW (8-78)
upVer=nTbH/predH (8-79)
predSamples[(x+1)*upHor-1][(y+1)*upVer-1]=predMip[x][y] (8-80)
次のように、x=0..upsBdryW-1での上境界サンプルupsBdryT[x]がpredSamples[m][-1]に割り当てられる:
predSamples[(x+1)*(nTbW/upsBdryW)-1][-1]=upsBdryT[x] (8-81)
y=0..upsBdryH-1での左境界サンプルupsBdryL[y]が、次のように、predSamples[-1][n]に割り当てられる:
predSamples[-1][(y+1)*(nTbH/upsBdryH)-1]=upsBdryL[y] (8-82)
x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
nTbHがnTbWより大きい場合、以下の順序付けられたステップが適用される:
1. upHorが1より大きい場合、m=0..predW-1,n=1..predHでの全ての疎な位置(xHor,yHor)=(m*upHor-1,n*upVer-1)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される:
sum=(upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor] (8-83)
predSamples[xHor+dX][yHor]=
(sum+upHor/2-(sum<0?1:0))/upHor (8-84)
2. m=0..nTbW-1,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される:
sum=(upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer] (8-85)
predSamples[xVer][yVer+dY]=
(sum+upVer/2-(sum<0?1:0))/upVer (8-86)
そうでない場合、以下の順序付けられたステップが適用され:
1. upVerが1より大きい場合、m=1..predW,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m*upHor-1,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される;
sum=(upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer] (8-87)
predSamples[xVer][yVer+dY]=
(sum+upVer/2-(sum<0?1:0))/upVer (8-88)
2. m=0..predW-1,n=0..nTbH-1での全ての疎な位置(xHor,yHor)=(m*upHor-1,n)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される。
sum=(upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor] (8-89)
predSamples[xHor+dX][yHor]=
(sum+upHor/2-(sum<0?1:0))/upHor (8-90)
5.7.2 最初の垂直アップサンプリングの後の水平アップサンプリング
8.4.5.2.1 行列ベースイントラサンプル予測
このプロセスへの入力は以下である:
- 現在変換ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するサンプル位置(xCbCmp,yCbCmp)、
- イントラ予測モードを規定する変数predModeIntra、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
変数numModes、boundarySize、predW、predH、及びpredCが、表8-7に規定されるようにMipSizeId[xTbCmp][yTbCmp]を使用して導出される。
Figure 2022535726000055
フラグisTransposedが次のように導出される:
isTransposed=(predModeIntra>(numModes/2))?TRUE:FALSE (8-56)
フラグneedUpsBdryHor及びneedUpsBdryVerが次のように導出される:
needUpsBdryHor=(nTbW>predW)?TRUE:FALSE (8-57)
needUpsBdryVer=(nTbH>predH)?TRUE:FALSE (8-58)
変数upsBdryW及びupsBdryHが次のように導出される:
upsBdryW=(nTbH>nTbW)?nTbW:predW (8-59)
upsBdryH=(nTbH>nTbW)?predH:nTbH (8-60)
upsBdryW=predW (8-59)
upsBdryH=nTbH (8-60)
変数mipW及びmipHが次のように導出される:
mipW=isTransposed?predH:predW (8-61)
mipH=isTransposed?predW:predH (8-62)
x=0..nTbW-1での参照サンプルrefT[x]及びy=0..nTbH-1での参照サンプルrefL[y]の生成のために、8.4.5.2.2節に規定されるMIP参照サンプル導出プロセスが、サンプル位置(xTbCmp,yTbCmp)、変換ブロック幅nTbW、変換ブロック高さnTbHを入力とし、x=0..nTbW-1での上参照サンプルrefT[x]及びy=0..nTbH-1での左参照サンプルrefL[y]を出力として呼び出される。
x=0..2*boundarySize-1での境界サンプルp[x]の生成のために、以下が適用される:
- 8.4.5.2.3節に規定されるMIP境界ダウンサンプリングプロセスが、上参照サンプルに対して、ブロックサイズnTbW、x=0..nTbW-1での参照サンプルrefT[x]、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryHor、及びアップサンプリング境界サイズupsBdryWを入力とし、x=0..boundrySize-1での減少境界サンプルredT[x]及びx=0..upsBdryW-1でのアップサンプリング境界サンプルupsBdryT[x]を出力として呼び出される。
- 8.4.5.2.3項に規定されるMIP境界ダウンサンプリングプロセスが、左参照サンプルに対して、ブロックサイズnTbH、y=0..nTbH-1での参照サンプルrefL[y]、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryVer、及びアップサンプリング境界サイズupsBdryHを入力とし、x=0..boundrySize-1での減少境界サンプルredL[x]及びx=0..upsBdryH-1でのアップサンプリング境界サンプルupsBdryL[x]を出力として呼び出される。
- 減少された上及び左境界サンプルredT及びredLが、次のように境界サンプルアレイpに割り当てられる:
- isTransposedが1に等しい場合、p[x]が、x=0..boundarySize-1でredL[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される;
- そうでない場合、p[x]が、x=0..boundarySize-1でredT[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される。
predModeIntraに従ったイントラサンプル予測プロセスのために、以下の順序付けられたステップが適用される:
7. x=0..mipW-1,y=0..mipH-1での行列ベースイントラ予測サンプルpredMip[x][y]が、次のように導出される:
- 変数modeIdが次のように導出される:
modeId=predModeIntra-(isTransposed?numModes/2:0) (8-63)
- x=0..2*boundarySize-1,y=0..predC*predC-1での重み行列mWeight[x][y]が、表8-XX[Ed.(BB):10ビットでない重みの解が採用されたときの重み行列の加算]に規定されるようにMipSizeId[xTbCmp][yTbCmp]及びmodeIdを用いて導出される;
- y=0..predC*predC-1でのバイアスベクトルvBias[y]が、表8-XX[Ed.(BB):10ビットでない重みの解が採用されたときのバイアスベクトルの加算]に規定されるようにsizeId及びmodeIdを用いて導出される;
- 変数sWが、表8-8に規定されるようにMipSizeId[xTbCmp][yTbCmp]及びmodeIdを用いて導出される;
- x=0..mipW-1,y=0..mipH-1での行列ベースイントラ予測サンプルpredMip[x][y]が、次のように導出される:
Figure 2022535726000056
8. isTransposedがTRUEに等しい場合、x=0..predH-1,y=0..predW-1でのpredH×predWのアレイpredMip[x][y]が、次のように転置される:
predTemp[y][x]=predMip[x][y] (8-69)
predMip=predTemp (8-70)
9. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- needUpsBdryVerがTRUEに等しい又はneedUpsBdryHorがTRUEに等しい場合、8.4.5.2.4節に規定されるMIP予測アップサンプリングプロセスが、入力ブロック幅predW、入力ブロック高さpredH、x=0..predW-1,y=0..predH-1での行列ベースイントラ予測サンプルpredMip[x][y]、変換ブロック幅nTbW、変換ブロック高さnTbH、アップサンプリング境界幅upsBdryW、アップサンプリング境界高さupsBdryH、上アップサンプリング境界サンプルupsBdryT、及び左アップサンプリング境界サンプルupsBdryLを入力として呼び出され、その出力が予測サンプルアレイpredSamplesである;
- それ以外の場合、x=0..nTbW-1,y=0..nTbH-1でのpredSamples[x][y]がpredMip[x][y]に等しく設定される。
10. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のようにクリッピングされる:
predSamples[x][y]=Clip1Y(predSamples[x][y]) (8-71)
Figure 2022535726000057
8.4.5.2.4 MIP予測アップサンプリングプロセス
このプロセスへの入力は以下である:
- 入力ブロック幅を規定する変数predW、
- 入力ブロック高さを規定する変数predH、
- x=0..predW-1,y=0..predH-1での行列ベースイントラ予測サンプルpredMip[x][y]、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- アップサンプリング境界幅を規定する変数upsBdryW、
- アップサンプリング境界高さを規定する変数upsBdryH、
- x=0..upsBdryW-1での上アップリング境界サンプルupsBdryT[x]、
- x=0..upsBdryH-1での左アップリング境界サンプルupsBdryL[x]。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測参照サンプルpredSamples[x][y]である。
x=0..predW-1,y=0..predH-1でのpredMip[x][y]から、疎な予測サンプルpredSamples[m][n]が、次のように導出される:
upHor=nTbW/predW (8-78)
upVer=nTbH/predH (8-79)
predSamples[(x+1)*upHor-1][(y+1)*upVer-1]=predMip[x][y] (8-80)
次のように、x=0..upsBdryW-1での上境界サンプルupsBdryT[x]がpredSamples[m][-1]に割り当てられる:
predSamples[(x+1)*(nTbW/upsBdryW)-1][-1]=upsBdryT[x] (8-81)
y=0..upsBdryH-1での左境界サンプルupsBdryL[y]が、次のように、predSamples[-1][n]に割り当てられる:
predSamples[-1][(y+1)*(nTbH/upsBdryH)-1]=upsBdryL[y] (8-82)
x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
nTbHがnTbWより大きい場合、以下の順序付けられたステップが適用される:
1. upHorが1より大きい場合、m=0..predW-1,n=1..predHでの全ての疎な位置(xHor,yHor)=(m*upHor-1,n*upVer-1)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される:
sum=(upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor] (8-83)
predSamples[xHor+dX][yHor]=
(sum+upHor/2-(sum<0?1:0))/upHor (8-84)
2. m=0..nTbW-1,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される:
sum=(upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer] (8-85)
predSamples[xVer][yVer+dY]=
(sum+upVer/2-(sum<0?1:0))/upVer (8-86)
そうでない場合、以下の順序付けられたステップが適用され:
1. upVerが1より大きい場合、m=1..predW,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m*upHor-1,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される;
sum=(upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer] (8-87)
predSamples[xVer][yVer+dY]=
(sum+upVer/2-(sum<0?1:0))/upVer (8-88)
2. m=0..predW-1,n=0..nTbH-1での全ての疎な位置(xHor,yHor)=(m*upHor-1,n)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される。
sum=(upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor] (8-89)
predSamples[xHor+dX][yHor]=
(sum+upHor/2-(sum<0?1:0))/upHor (8-90)
上述の例は、例えば、ビデオエンコーダ及び/又はデコーダにて実装され得る以下に記載の方法、例えば方法1100-1400及び2300-2400、のコンテキストで組み込まれ得る。
図11は、映像処理のための例示的な方法のフローチャートを示している。方法1100は、ステップ1110にて、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定することを含む。
方法1100は、ステップ1120にて、上記決定に基づき、非ALWIPイントラモード向けの最確モード(MPM)リストの少なくとも一部に基づいて、ALWIPモード向けのMPMリストの少なくとも一部を構築することを含む。
方法1100は、ステップ1130にて、ALWIPモード向けのMPMリストに基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することを含む。
一部の実施形態において、ALWIPモードのMPMリストのサイズは、非ALWIPイントラモード向けのMPMリストのサイズと同じである。一例において、ALWIPモードのMPMリストのサイズは6である。
一部の実施形態において、方法1100は更に、ALWIPモード向けのMPMリストにデフォルトモードを挿入するステップを有する。一例において、デフォルトモードは、ALWIPモード向けのMPMリストのうちの非ALWIPイントラモード向けのMPMリストに基づく部分の前に挿入される。他の一例において、デフォルトモードは、ALWIPモード向けのMPMリストのうちの非ALWIPイントラモード向けのMPMリストに基づく部分に続いて挿入される。更なる他の一例において、デフォルトモードは、ALWIPモード向けのMPMリストのうちの非ALWIPイントラモード向けのMPMリストに基づく部分とインターリーブして挿入される。
一部の実施形態において、ALWIPモード向けのMPMリスト及び非ALWIPイントラモード向けのMPMリストを構築することは、1つ以上の隣接ブロックに基づく。
一部の実施形態において、ALWIPモード向けのMPMリスト及び非ALWIPイントラモード向けのMPMリストを構築することは、現在映像ブロックの高さ又は幅に基づく。
一部の実施形態において、ALWIPモード向けのMPMリストを構築することは、非ALWIPイントラモード向けのMPMリストを構築するのに使用される第2のパラメータセットとは異なる第1のパラメータセットに基づく。
一部の実施形態において、方法1100は更に、現在映像ブロックの隣接ブロックがALWIPモードで符号化されていることを決定し、非ALWIPイントラモード向けのMPMリストを構築する際に、その隣接ブロックを利用可能でないとして指定するステップを含む。
一部の実施形態において、方法1100は更に、現在映像ブロックの隣接ブロックが非ALWIPモードで符号化されていることを決定し、ALWIPモード向けのMPMリストを構築する際に、その隣接ブロックを利用可能でないとして指定するステップを含む。
一部の実施形態において、非ALWIPイントラモードは、通常イントラモード、複数参照ライン(MRL)イントラ予測モード又はイントラサブパーティション(ISP)ツールに基づく。
図12は、映像処理のための例示的な方法のフローチャートを示している。方法1200は、ステップ1210にて、現在映像ブロックのルマコンポーネントが、アフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定することを含む。
方法1200は、ステップ1220にて、上記決定に基づいてクロマイントラモードを推定することを含む。
方法1200は、ステップ1230にて、クロマイントラモードに基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することを含む。
一部の実施形態において、ルマコンポーネントは、クロマコンポーネントの所定のクロマサンプルをカバーする。一例において、所定のクロマサンプルは、クロマコンポーネントの左上サンプル又は中心サンプルである。
一部の実施形態において、推定されるクロマイントラモードはDMモードである。
一部の実施形態において、推定されるクロマイントラモードはALWIPモードである。
一部の実施形態において、ALWIPモードは、現在映像ブロックの1つ以上のクロマコンポーネントに適用される。
一部の実施形態において、現在映像ブロックの異なるカラーコンポーネントにALWIPモードの異なる行列又はバイアスベクトルが適用される。一例において、異なる行列又はバイアスベクトルは、Cb及びCrコンポーネントに対して連帯して定められる。他の一例において、CbコンポーネントとCrコンポーネントとが連結される。更なる他の一例において、CbコンポーネントとCrコンポーネントとがインターリーブされる。
図13は、映像処理のための例示的な方法のフローチャートを示している。方法1300は、ステップ1310にて、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定することを含む。
方法1300は、ステップ1320にて、上記決定に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することを含む。
一部の実施形態において、上記決定は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルグループヘッダ、タイルヘッダ、符号化ツリーユニット(CTU)行、又はCTU領域の中での信号伝達に基づく。
一部の実施形態において、上記決定は、現在映像ブロックの高さ(H)又は幅(W)に基づく。一例において、W>T1又はH>T2である。他の一例において、W≧T1又はH≧T2である。更なる他の一例において、W<T1又はH<T2である。更なる他の一例において、W≦T1又はH≦T2である。更なる他の一例において、T1=32及びT2=32である。
一部の実施形態において、上記決定は、現在映像ブロックの高さ(H)又は幅(W)に基づく。一例において、W+H≦Tである。他の一例において、W+H≧Tである。更なる他の一例において、W×H≦Tである。更なる他の一例において、W×H≧Tである。更なる他の一例において、T=256である。
図14は、映像処理のための例示的な方法のフローチャートを示している。方法1400は、ステップ1410にて、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードとは異なる符号化モードを用いて符号化されることを決定することを含む。
方法1400は、ステップ1420にて、上記決定に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することを含む。
一部の実施形態において、符号化モードは、組み合わせイントラ・インター予測(CIIP)モードであり、方法1400は更に、ALWIPモードと通常イントラ予測モードとの間で選択を実行するステップを含む。一例において、選択を実行することは、現在映像ブロックのビットストリーム表現内での明示的な信号伝達に基づく。他の一例において、選択を実行することは所定のルールに基づく。更なる他の一例において、所定のルールは、現在映像ブロックがCIIPモードを用いて符号化されるときに常にALWIPモードを選択する。更なる他の一例において、所定のルールは、現在映像ブロックがCIIPモードを用いて符号化されるときに常に通常イントラ予測モードを選択する。
一部の実施形態において、符号化モードは、クロスコンポーネント線形モデル(CCLM)予測モードである。一例において、ALWIPモード用のダウンサンプリング手順は、CCLM予測モード用のダウンサンプリング手順に基づく。他の一例において、ALWIPモード用のダウンサンプリング手順は第1のパラメータセットに基づき、CCLM予測モード用のダウンサンプリング手順は、第1のパラメータセットとは異なる第2のパラメータセットに基づく。更なる他の一例において、ALWIPモード用の又はCCLM予測モード用のダウンサンプリング手順は、ダウンサンプリング位置の選択、ダウンサンプリングフィルタの選択、丸め演算又はクリッピング演算のうちの少なくとも1つを有する。
一部の実施形態において、方法1400は更に、RST(Reduced Secondary Transform)、二次変換、回転変換、又は非分離二次変換(NSST)のうちの1つ以上を適用するステップを含む。
一部の実施形態において、方法1400は更に、ブロックベースのDPCM(differential pulse coded modulation)又は残差DPCMを適用するステップを含む。
一部の実施形態において、映像処理方法は、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、現在映像ブロックに対するルールに基づいて、アフィン線形加重イントラ予測(ALWIP)モードの使用を指し示すフラグのコンテキストを決定することと、ALWIPモードに基づいて、現在映像ブロックの複数のサブブロックを予測することと、該予測に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することとを含む。ルールは、先験的技術を用いて暗示的に規定されてもよいし、符号化ビットストリーム内で信号伝達されてもよい。この方法の他の例及び態様は、セクション4の項目37及び38に更に記載されている。
一部の実施形態において、映像処理のための方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定することと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行することとを含み、少なくとも2つのフィルタリング段階のうちの第1のフィルタリング段階におけるサンプルの第1の精度は、少なくとも2つのフィルタリング段階のうちの第2のフィルタリング段階におけるサンプルの第2の精度とは異なる。
一例において、現在映像ブロックのサンプルは、予測サンプル、アップサンプリングプロセスの前の中間サンプル、又はアップサンプリングプロセスの後の中間サンプルである。他の一例において、サンプルは、第1のフィルタリング段階で水平方向に第1次元にてアップサンプリングされ、サンプルは、第2のフィルタリング段階で垂直方向に第2次元にてアップサンプリングされる。更なる他の一例において、サンプルは、第1のフィルタリング段階で垂直方向に第1次元にてアップサンプリングされ、サンプルは、第2のフィルタリング段階で水平方向に第2次元にてアップサンプリングされる。
一例において、第1のフィルタリング段階の出力が右シフトされて又は除算されて、処理された出力を生成し、該処理された出力が、第2のフィルタリング段階への入力である。他の一例において、第1のフィルタリング段階の出力が左シフト又は乗算されて、処理された出力を生成し、該処理された出力が第2のフィルタリング段階への入力である。この方法の他の例及び態様は、セクション4の項目40に更に記載されている。
セクション4の項目41から43に更に記載されるように、映像処理方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、アップサンプリングプロセスは、垂直アップサンプリング及び水平アップサンプリングの双方が実行される場合に固定の順序で実行される。セクション4の項目41から43に更に記載されるように、他の方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いて符号化されることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、変換は、アップサンプリングプロセスの前に転置演算を行うことを含む。
上記の方法の更なる特徴は、セクション4の項目41から43に記載されている。
6 開示技術の実装例
図15は、映像処理装置1500のブロック図である。装置1500は、ここに記載される方法のうちの1つ以上を実装するために使用され得る。装置1500は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信器にて具現化され得る。装置1500は、1つ以上のプロセッサ1502、1つ以上のメモリ1504、及び映像処理ハードウェア1506を含み得る。(1つ以上の)プロセッサ1502は、本文書に記載される1つ以上の方法(以下に限られないが方法11100-1400及び2100-2300を含む)を実行するように構成され得る。(1つ以上の)メモリ1504は、ここに記載される方法及び技術を実行するのに使用されるデータ及びコードを格納するために使用され得る。映像処理ハードウェア1506は、本文書に記載される一部の技術をハードウェア回路にて実装するために使用され得る。
一部の実施形態において、映像符号化方法は、図15に関して説明したようなハードウェアプラットフォーム上に実装される装置を用いて実装され得る。
開示される技術の一部の実施形態は、映像処理ツール又はモードを有効にする決定を行うことを含む。一例において、映像処理ツール又はモードが有効にされるとき、エンコーダは、映像のブロックの処理においてそのツール又はモードを使用又は実装することになるが、必ずしも、そのツール又はモードの使用に基づいて、結果として生じるビットストリームを変更するわけではない。すなわち、映像のブロックから映像のビットストリーム表現への変換は、映像処理ツール又はモードを、それが決定に基づいて有効にされるときに使用することになる。他の一例において、映像処理ツール又はモードが有効にされるとき、デコーダは、その映像処理ツール又はモードに基づいてビットストリームが変更されていることを知って、ビットストリームを処理することになる。すなわち、映像のビットストリーム表現から映像のブロックへの変換は、決定に基づいて有効にされていた映像処理ツール又はモードを用いて実行されることになる。
開示される技術の一部の実施形態は、映像処理ツール又はモードを無効にする決定を行うことを含む。一例において、映像処理ツール又はモードが無効にされるとき、エンコーダは、映像のブロックの映像のビットストリームへの変換においてそのツール又はモードを使用しないことになる。他の一例において、映像処理ツール又はモードが無効にされるとき、デコーダは、決定に基づいて無効にされていた映像処理ツール又はモードを用いてはビットストリームが変更されていないことを知って、ビットストリームを処理することになる。
図21は、この開示の技術を利用し得る映像符号化システム100の一例を示すブロック図である。図21に示すように、映像符号化システム100は、ソース装置110及びデスティネーション装置120を含み得る。ソース装置110は、符号化映像データを生成し、映像符号化装置として参照され得る。デスティネーション装置120は、ソース装置110によって生成された符号化映像データを復号することができ、映像復号装置として参照され得る。ソース装置110は、映像ソース112、ビデオエンコーダ114、及び入力/出力(I/O)インタフェース116を含み得る。
映像ソース112は、例えば、映像キャプチャ装置、映像コンテンツプロバイダから映像データを受信するインタフェース、及び/又は映像データを生成するコンピュータグラフィックスシステム、又はそのようなソースの組み合わせなどの、ソースを含み得る。映像データは、1つ以上のピクチャを有し得る。ビデオエンコーダ114は、映像ソース112からの映像データを符号化してビットストリームを生成する。ビットストリームは、映像データの符号化表現を形成する一連のビットを含み得る。ビットストリームは、符号化ピクチャ及び関連データを含み得る。符号化ピクチャはピクチャの符号化表現である。関連データは、シーケンスパラメータセット、ピクチャパラメータセット、及び他の構文構造を含み得る。I/Oインタフェース116は、変調器/復調器(モデム)及び/又は送信器を含み得る。符号化映像データは、I/Oインタフェース116を介し、ネットワーク130aを通じて直接、デスティネーション装置120に伝送され得る。符号化映像データはまた、デスティネーション装置120によるアクセスのためにストレージ媒体/サーバ130b上に格納されてもよい。
デスティネーション装置120は、I/Oインタフェース126、ビデオデコーダ124、及び表示装置122を含み得る。
I/Oインタフェース126は、受信器及び/又はモデムを含み得る。I/Oインタフェース126は、ソース装置110又はストレージ媒体/サーバ130bから符号化映像データを取得し得る。ビデオデコーダ124は符号化映像データを復号し得る。表示装置122は、復号映像データをユーザに表示し得る。表示装置122は、デスティネーション装置120と一体化されてもよいし、あるいは、外部表示装置とインタフェースするように構成されたデスティネーション装置120の外部にあってもよい。
ビデオエンコーダ114及びビデオデコーダ124は、例えばハイエフィシェンシビデオコーディング(HEVC)標準、バーサタイルビデオコーディング(VVC)標準、及び他の現行の及び/又は将来の標準などの、映像圧縮標準に従って動作し得る。
図22は、図21に示したシステム100内のビデオエンコーダ114とし得るものであるビデオエンコーダ200の一例を示すブロック図である。
ビデオエンコーダ200は、この開示の技術のうちのいずれか又は全てを実行するように構成され得る。図22の例において、ビデオエンコーダ200は、複数の機能コンポーネントを含んでいる。この開示に記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有され得る。一部の例において、プロセッサが、この開示に記載される技術のうちのいずれか又は全てを実行するように構成され得る。
ビデオエンコーダ200の機能コンポーネントは、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含み得る。
他の例において、ビデオエンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含んでいてもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在映像ブロックが位置するところのピクチャである、というIBCモードで予測を実行し得る。
また、例えば動き推定ユニット204及び動き補償ユニット205などの一部のコンポーネントは、図22の例では説明の目的で別々に表されているが、高度に集積されることができる。
分割ユニット201は、ピクチャを1つ以上の映像ブロックに分割し得る。ビデオエンコーダ200及びビデオデコーダ300は、様々な映像ブロックサイズをサポートし得る。
モード選択ユニット203は、例えば誤差結果に基づいて、イントラ又はインターである複数の符号化モードのうちの1つを選択し、得られたイントラ又はインター符号化ブロックを、残差ブロックデータを生成する残差生成ユニット207と、参照ピクチャとしての使用のために符号化ブロックを再構成する再構成ユニット212とに提供し得る。一部の例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくものである組み合わせイントラ・インター予測(combination of intra and inter predication;CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックに対する動きベクトルの分解能(例えば、サブピクセル又は整数ピクセルの精度)を選択し得る。
現在映像ブロックに対してインター予測を実行するために、動き推定ユニット204が、バッファ213からの1つ以上の参照フレームを現在映像ブロックと比較することによって、現在映像ブロックについての動き情報を生成し得る。動き補償ユニット205が、現在映像ブロックに関連付けられたピクチャ以外の、バッファ213からのピクチャの動き情報及び復号サンプルに基づいて、現在映像ブロックについての予測映像ブロックを決定し得る。
動き推定ユニット204及び動き補償ユニット205は、例えば、現在映像ブロックがIスライス内にあるか、Pスライス内にあるか、それともBスライス内にあるかに応じて、現在映像ブロックに対して異なる演算を実行し得る。
一部の例において、動き推定ユニット204は、現在映像ブロックに対して片方向予測を実行することができ、動き推定ユニット204は、現在映像ブロックに対する参照映像ブロックについてリスト0又はリスト1の参照ピクチャを探索し得る。そして、動き推定ユニット204は、参照映像ブロックを含んだリスト0又はリスト1内の参照ピクチャを指し示す参照インデックスと、現在映像ブロックと参照映像ブロックとの間の空間変位を指し示す動きベクトルとを生成し得る。動き推定ユニット204は、現在映像ブロックの動き情報として、上記参照インデックスと、予測方向インジケータと、上記動きベクトルとを出力し得る。現在映像ブロックの動き情報によって示される参照映像ブロックに基づいて、動き補償ユニット205が現在ブロックの予測映像ブロックを生成し得る。
他の例において、動き推定ユニット204は、現在映像ブロックに対して双方向予測を実行することができ、動き推定ユニット204は、現在映像ブロックに対する参照映像ブロックについてリスト0内の参照ピクチャを探索し得るとともに、現在映像ブロックに対するもう1つの参照映像ブロックについてリスト1内の参照ピクチャも探索し得る。そして、動き推定ユニット204は、参照映像ブロックを含んだリスト0内の及びリスト1内の参照ピクチャを指し示す参照インデックスと、それら参照映像ブロックと現在映像ブロックとの間の空間変位を指し示す動きベクトルとを生成し得る。動き推定ユニット204は、現在映像ブロックの動き情報として、それら参照インデックスと、現在映像ブロックの上記動きベクトルとを出力し得る。現在映像ブロックの動き情報によって示される参照映像ブロックに基づいて、動き補償ユニット205が現在ブロックの予測映像ブロックを生成し得る。
一部の例において、動き推定ユニット204は、デコーダの復号処理のために、動き情報の完全なセットを出力し得る。
一部の例において、動き推定ユニット204は、現在映像についての動き情報の完全なセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して現在映像ブロックの動き情報を信号伝達してもよい。例えば、動き推定ユニット204は、現在映像ブロックの動き情報が隣接映像ブロックの動き情報と十分に似ていると判定し得る。
一例において、動き推定ユニット204は、現在映像ブロックに関連付けられる構文構造内で、現在映像ブロックが別の映像ブロックと同じ動き情報を持つことをビデオデコーダ300に示す値を指し示し得る。
他の一例において、動き推定ユニット204は、現在映像ブロックに関連付けられる構文構造内で、別の映像ブロックと動きベクトル差(MVD)とを特定してもよい。動きベクトル差は、現在映像ブロックの動きベクトルと、指し示される映像ブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、指し示された映像ブロックの動きベクトルと動きベクトル差とを用いて、現在映像ブロックの動きベクトルを決定し得る。
上述のように、ビデオエンコーダ200は、動きベクトルを予測的に信号伝達し得る。ビデオエンコーダ200によって実装され得る予測的シグナリング技術の2つの例は、アドバンスト動きベクトル予測(AMVP)及びマージモードシグナリングを含む。
イントラ予測ユニット206は、現在映像ブロックに対してイントラ予測を実行し得る。イントラ予測ユニット206が現在映像ブロックに対してイントラ予測を実行するとき、イントラ予測ユニット206は、同じピクチャ内の他の映像ブロックの復号サンプルに基づいて、現在映像ブロックについての予測データを生成し得る。現在映像ブロックについての予測データは、予測映像ブロックと様々な構文要素とを含み得る。
残差生成ユニット207は、現在映像ブロックの(1つ以上の)予測映像ブロックを現在映像ブロックから差し引くことによって(例えば、マイナス符号によって示される)、現在映像ブロックについての残差データを生成し得る。現在映像ブロックの残差データは、現在映像ブロック内のサンプルの異なるサンプル成分に対応する残差映像ブロックを含み得る。
他の例では、例えばスキップモードにおいて、現在映像ブロックのために現在映像ブロックについての残差データが存在しないことがあり、残差生成ユニット207は減算演算を実行しないことがある。
変換処理ユニット208は、現在映像ブロックに関連する残差映像ブロックに1つ以上の変換を適用することによって、現在映像ブロックについての1つ以上の変換係数映像ブロックを生成し得る。
変換処理ユニット208が現在映像ブロックに関する変換係数映像ブロックを生成した後、量子化ユニット209が、現在映像ブロックに関する変換係数映像ブロックを、現在映像ブロックに関する1つ以上の量子化パラメータ(QP)値に基づいて量子化し得る。
逆量子化ユニット210及び逆変換ユニット211が、変換係数映像ブロックに、それぞれ、逆量子化及び逆変換を適用して、変換係数映像ブロックから残差映像ブロックを再構成し得る。再構成ユニット212が、再構成された残差映像ブロックを、予測ユニット202によって生成された1つ以上の予測映像ブロックからの対応するサンプルに足し合わせて、バッファ213に記憶される現在ブロックに関する再構成映像ブロックを生成し得る。
再構成ユニット212が映像ブロックを再構成した後、映像ブロック内の映像ブロッキングアーチファクトを低減させるために、ループフィルタリング演算が実行され得る。
エントロピー符号化ユニット214が、ビデオエンコーダ200の他の機能コンポーネントからデータを受信し得る。エントロピー符号化ユニット214がデータを受信すると、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化演算を実行してエントロピー符号化データを生成し、そして、エントロピー符号化データを含むビットストリームを出力し得る。
図19は、図17に示したシステム100内のビデオデコーダ124とし得るものであるビデオデコーダ300の一例を示すブロック図である。
ビデオデコーダ300は、この開示の技術のうちのいずれか又は全てを実行するように構成され得る。図19の例において、ビデオデコーダ300は、複数の機能コンポーネントを含んでいる。この開示に記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有され得る。一部の例において、プロセッサが、この開示に記載される技術のうちのいずれか又は全てを実行するように構成され得る。
図19の例において、ビデオデコーダ300は、エントロピー復号ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、再構成ユニット306、及びバッファ307を含んでいる。ビデオデコーダ300は、一部の例において、ビデオエンコーダ200(図18)に関して説明した符号化パスに対して概ね逆の復号パスを実行し得る。
エントロピー復号ユニット301が符号化ビットストリームを取り出し得る。符号化ビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化ブロック)を含み得る。エントロピー復号ユニット301はエントロピー符号化映像データを復号することができ、エントロピー復号された映像データから、動き補償ユニット302が、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他のモーション情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定し得る。
動き補償ユニット302は、場合により補間フィルタに基づく補間を実行して、動き補償ブロックを生成し得る。サブピクセル精度で使用される補間フィルタに関する識別子が構文要素に含められ得る。
動き補償ユニット302は、映像ブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルに対する補間値を計算し得る。動き補償ユニット302は、ビデオエンコーダ200によって使用された補間フィルタを、受信した構文情報に従って決定し、その補間フィルタを用いて予測ブロックを生成し得る。
動き補償ユニット302は、構文情報の一部を用いて、符号化映像シーケンスのフレーム及び/又はスライスを符号化するのに使用されるブロックのサイズ、符号化映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述するパーティション情報、各パーティションがどのように符号化されるかを指し示すモード、各インター符号化ブロックに関する1つ又は複数の参照フレーム(及び参照フレームリスト)、及び符号化映像シーケンスを復号するための他の情報を決定し得る。
イントラ予測ユニット303は、例えばビットストリーム内で受信した、イントラ予測モードを用いて、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット303が、ビットストリーム内で提供されてエントロピー復号ユニット301によって復号された量子化された映像ブロック係数を逆量子化する、すなわち、量子化解除する。逆変換ユニット303が逆変換を適用する。
再構成ユニット306が、残差ブロックを、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックと足し合わせて、復号ブロックを形成し得る。望まれる場合、ブロックアーチファクトを除去するために復号ブロックをフィルタリングするよう、デブロッキングフィルタも適用され得る。そして、復号映像ブロックがバッファ307に格納され、それが、後の動き補償/イントラ予測のための参照ブロックを提供し、また、表示装置上での提示のための復号映像を生成する。
本文書において、“映像処理”という用語は、映像符号化、映像復号、映像圧縮又は映像解凍を指してもよい。例えば、映像圧縮アルゴリズムは、映像のピクセル表現から対応するビットストリーム表現への変換又はその逆の間に適用され得る。例えば、現在映像ブロックのビットストリーム表現又は符号化表現は、構文によって定義されるように、ビットストリーム内の異なる位置において共に位置するビット又は広がるビットに対応し得る。例えば、映像ブロックは、変換及び符号化された誤差残差値に関して、また、ヘッダ内のビット又はビットストリーム内の他のフィールドも用いて符号化され得る。さらに、変換中に、デコーダは、上記の解決策に記載のような決定に基づいて、一部のフィールドが存在し得る又は存在しないという認識でビットストリームを解析し得る。同様に、エンコーダも、特定の構文フィールドが含まれる又は含まれないことを決定し、それに応じて符号化表現からの構文フィールドを含めることによって又は除外することによって、符号化表現を生成し得る。
図20は、ここに開示される様々な技術が実装され得る映像処理システム2000の一例を示すブロック図である。様々な実装は、システム2000のコンポーネントの一部又は全てを含み得る。システム2000は、映像コンテンツを受信する入力2002を含み得る。映像コンテンツは、例えば8ビット又は10ビットのマルチコンポーネント(多成分)ピクセル値といった、ロー(未加工)又は未圧縮のフォーマットで受信されてもよいし、あるいは圧縮又は符号化されたフォーマットで受信されてもよい。入力2002は、ネットワークインタフェース、周辺バスインタフェース、又はストレージインタフェースを表し得る。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などの有線インタフェース、及びWi-Fi(登録商標)若しくはセルラーインタフェースなどの無線インタフェースを含む。
システム2000は、本文書に記載される様々なコーディング又は符号化方法を実装し得る符号化コンポーネント2004を含み得る。符号化コンポーネント2004は、入力2002から符号化コンポーネント2004の出力まで映像の平均ビットレートを低減させて、映像の符号化表現を生成し得る。符号化技術は、それ故に、映像圧縮技術又は映像トランスコーディング技術と呼ばれることがある。符号化コンポーネント2004の出力は、格納されるか、コンポーネント2006によって表されるように接続されて通信を介して伝送されるかし得る。入力2002で受信された映像の格納又は通信されるビットストリーム(又は符号化)表現は、ディスプレイインタフェース2010に送られるピクセル値又は表示可能映像を生成するためにコンポーネント2008によって使用され得る。ビットストリーム表現からユーザが見ることができる映像を生成するプロセスは、映像解凍と呼ばれることがある。また、特定の映像処理操作が“符号化”の操作又はツールとして参照されることがあるが、理解されることには、符号化のツール又は操作はエンコーダで使用され、符号化の結果を裏返す対応する復号のツール又は操作がデコーダで実行されることになる。
周辺バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインタフェース(HDMI(登録商標))又はディスプレイポート(Displayport)などを含み得る。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェースなどを含む。本文書に記載される技術は、例えば携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実行することが可能な他の装置などの、種々のエレクトロニクス装置にて具現化され得る。
一部の実施形態において、ALWIPモード又はMIPモードは、映像のうち先行して符号化されたサンプルに対して、境界ダウンサンプリング演算(又は平均演算)を行い、続いて行列ベクトル乗算演算を行い、続いて選択的に(又はオプションで)アップサンプリング演算(又は線形補間演算)を行うことによって、現在映像ブロックの予測ブロックを計算するために使用される。一部の実施形態において、ALWIPモード又はMIPモードは、映像のうち先行して符号化されたサンプルに対して、境界ダウンサンプリング演算(又は平均演算)を行い、続いて行列ベクトル乗算演算を行うことによって、現在映像ブロックの予測ブロックを計算するために使用される。一部の実施形態において、ALWIPモード又はMIPモードはまた、行列ベクトル乗算演算を行った後に、アップサンプリング演算(又は線形補間演算)を行うことができる。
図23は、映像処理のための例示的な方法2300のフローチャートを示している。方法2300は、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(MIP)モードを用いて実行するステップ302を含み、MIPモードにおいて、現在映像ブロックの予測ブロックは、映像のうち先行して符号化されたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いて選択的にアップサンプリング演算を行うことによって決定され、変換は、現在映像ブロックの減少した境界サンプルが現在映像ブロックの参照境界サンプルに少なくとも基づくルールに従って生成される単一の段階において境界ダウンサンプリング演算を行うことを含み、変換は、現在映像ブロックの減少した境界サンプルを用いて行列ベクトル乗算演算を行うことを含む。
方法2300に関する一部の実施形態において、参照境界サンプルは、現在映像ブロックの再構成隣接サンプルである。方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが現在映像ブロックの再構成隣接サンプルから生成されることを規定する。方法2300に関する一部の実施形態において、再構成隣接サンプルは、再構成隣接サンプルが現在映像ブロックに使用される前にフィルタリングされない参照フィルタリングプロセスのない復号隣接サンプルである。方法2300に関する一部の実施形態において、再構成隣接サンプルは、再構成隣接サンプルが現在映像ブロックに使用される前にフィルタリングされる参照フィルタリングプロセスのある復号隣接サンプルである。
方法2300に関する一部の実施形態において、角度イントラ予測サンプルは、再構成隣接サンプルで生成される。方法2300に関する一部の実施形態において、非角度イントラ予測サンプルは、再構成隣接サンプルで生成される。方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが現在映像ブロックの上の行に位置する再構成隣接サンプル及び/又は現在映像ブロックの左の列に位置する再構成隣接サンプルから生成されることを規定する。方法2300に関する一部の実施形態において、第1の数(N)の減少した境界サンプルは、第2の数(M)の再構成隣接サンプルから生成され、減少した境界サンプルは、第3の数(K)の連続する再構成隣接サンプルを用いて生成される。方法2300に関する一部の実施形態において、K=M/Nである。方法2300に関する一部の実施形態において、K=(M+N/2)Nである。方法2300に関する一部の実施形態において、減少した境界サンプルは、第3の数(K)の連続する再構成隣接サンプルにおける連続する再構成隣接サンプルの平均に基づいて生成される。
方法2300に関する一部の実施形態において、減少した境界サンプルは、第3の数(K)の連続する再構成隣接サンプルにおける連続する再構成隣接サンプルの加重平均に基づいて生成される。方法2300に関する一部の実施形態において、ルールは、現在映像ブロックの左に位置する減少した境界サンプルが現在映像ブロックの左の隣接列に位置する再構成隣接サンプルから生成され、現在映像ブロックの上に位置する減少した境界サンプルが現在映像ブロックの上の隣接行に位置する再構成隣接サンプルから生成されることを規定する。方法2300に関する一部の実施形態において、現在映像ブロックは16×16映像ブロックであり、16×16映像ブロックの左に位置する4つの減少した境界サンプルは、16×16映像ブロックの左の隣接列に位置する再構成隣接サンプルから生成され、16×16映像ブロックの上に位置する4つの減少した境界サンプルは、16×16映像ブロックの上の隣接行に位置する再構成隣接サンプルから生成される。
方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが境界ダウンサンプリング演算によって生成される技術が現在映像ブロックの寸法に基づくことを規定する。方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが境界ダウンサンプリング演算によって生成される技術が現在映像ブロックの符号化情報に基づくことを規定する。方法2300に関する一部の実施形態において、符号化情報は、現在映像ブロックの幅と、現在映像ブロックの高さと、現在映像ブロックに関連するイントラ予測モード又は変換モードのインジケーションとを含む。方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが現在映像ブロックのサイズに関係なく生成されることを規定する。方法2300に関する一部の実施形態において、ルールは、現在映像ブロックの左に位置する減少した境界サンプルが生成されるプロセスが、現在映像ブロックの上に位置する減少した境界サンプルが生成されるプロセスと異なることを規定する。方法2300に関する一部の実施形態において、現在映像ブロックは幅(M)及び高さ(N)を有し、現在映像ブロックの上に位置する減少した境界サンプルの第1の所定数はM、N、又はMとNとのうちの最小値であり、現在映像ブロックの左に位置する減少した境界サンプルの第2の所定数はM、N、又はMとNとのうちの最小値であり、第1の数の減少した境界サンプルは、隣接サンプルに基づいて又は現在映像ブロックの上の行に位置する隣接サンプルをコピーすることによって生成され、第2の数の減少した境界サンプルは、隣接サンプルをコピーすることによって又は現在映像ブロックの左の列に位置する隣接サンプルに基づいて生成される。
図24は、映像処理のための例示的な方法2400のフローチャートを示している。方法2400は、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(MIP)モードを用いて実行するステップ2402を含み、MIPモードにおいて、現在映像ブロックの最終予測ブロックは、映像のうち先行して符号化されたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いてアップサンプリング演算を行うことによって決定され、変換は、最終予測ブロックが現在映像ブロックの減少した予測ブロックを使用することによって、且つルールに従って現在映像ブロックの再構成隣接サンプルを使用することによって決定されるアップサンプリング演算を行うことを含み、減少した予測ブロックは、現在映像ブロックの減少した境界サンプルに対して行列ベクトル乗算演算を行うことによって取得される。
方法2400に関する一部の実施形態において、ルールは、最終予測ブロックが再構成隣接サンプルの全部を使用することによって決定されることを規定する。方法2400に関する一部の実施形態において、ルールは、最終予測ブロックが再構成隣接サンプルの一部を使用することによって決定されることを規定する。方法2400に関する一部の実施形態において、再構成隣接サンプルは、現在映像ブロックに隣接する。方法2400に関する一部の実施形態において、再構成隣接サンプルは、現在映像ブロックに隣接しない。方法2400に関する一部の実施形態において、再構成隣接サンプルは、現在映像ブロックの上の隣接行である、及び/又は再構成隣接サンプルは、現在映像ブロックの左の隣接列である。
方法2400に関する一部の実施形態において、ルールは、最終予測ブロックを決定する場合、減少した境界サンプルがアップサンプリング演算から除外されることを規定する。方法2400に関する一部の実施形態において、ルールは、最終予測ブロックが再構成隣接サンプルから選択された再構成隣接サンプルのセットを使用することによって決定されることを規定する。方法2400に関する一部の実施形態において、再構成隣接サンプルから選択された再構成隣接サンプルのセットは、現在映像ブロックの左に位置する再構成隣接サンプルの全部の選択を含む。方法2400に関する一部の実施形態において、再構成隣接サンプルから選択された再構成隣接サンプルのセットは、現在映像ブロックの上に位置する再構成隣接サンプルの全部の選択を含む。
方法2400に関する一部の実施形態において、再構成隣接サンプルから選択された再構成隣接サンプルのセットは、現在映像ブロックの左に位置するそれぞれM個の連続する再構成隣接サンプルのうちのK個の選択を含む。方法2400に関する一部の実施形態において、Kは1に等しく、Mは2、4又は8に等しい。方法2400に関する一部の実施形態において、それぞれM個の連続する再構成隣接サンプルのうちのK個は、それぞれM個の連続するもののうちの最後のK個の再構成隣接サンプルを含む。方法2400に関する一部の実施形態において、それぞれM個の連続する再構成隣接サンプルのうちのK個は、それぞれM個の連続するもののうちの最初のK個の再構成隣接サンプルを含む。方法2400に関する一部の実施形態において、再構成隣接サンプルから選択された再構成隣接サンプルのセットは、現在映像ブロックの上に位置するそれぞれM個の連続する再構成隣接サンプルのうちのK個の選択を含む。方法2400に関する一部の実施形態において、Kは1に等しく、Mは2、4又は8に等しい。方法2400に関する一部の実施形態において、それぞれM個の連続する再構成隣接サンプルのうちのK個は、それぞれM個の連続するもののうちの最後のK個の再構成隣接サンプルを含む。
方法2400に関する一部の実施形態において、それぞれM個の連続する再構成隣接サンプルのうちのK個は、それぞれM個の連続するもののうちの最初のK個の再構成隣接サンプルを含む。方法2400に関する一部の実施形態において、再構成隣接サンプルのセットは、現在映像ブロックの幅及び/又は現在映像ブロックの高さに基づいて再構成隣接サンプルから選択される。方法2400に関する一部の実施形態において、現在映像ブロックの幅が現在映像ブロックの高さ以上であることに応じて、再構成隣接サンプルのセットは、現在映像ブロックの左に位置する再構成隣接サンプルの全部を含むように選択され、及び/又は再構成隣接サンプルのセットは、現在映像ブロックの上に位置する或る数の再構成隣接サンプルを含むように選択され、或る数の再構成隣接サンプルは、現在映像ブロックの幅に依存する。
方法2400に関する一部の実施形態において、現在映像ブロックの上に位置する第kの選択された再構成隣接サンプルは、(blkX+(k+1)*blkW/M-1,blkY-1)によって記述される位置に位置し、(blkX,blkY)は現在映像ブロックの左上位置を表し、Mは再構成隣接サンプルの数であり、kは0以上(M-1)以下である。方法2400に関する一部の実施形態において、幅が8以下であることに応じて、再構成隣接サンプルの数は4に等しい。方法2400に関する一部の実施形態において、幅が8より大きいことに応じて、再構成隣接サンプルの数は8に等しい。方法2400に関する一部の実施形態において、再構成隣接サンプルのセットは、現在映像ブロックの左に位置する再構成隣接サンプルの全部を含むように選択される、及び/又は再構成隣接サンプルのセットは、現在映像ブロックの上に位置する或る数の再構成隣接サンプルを含むように選択され、或る数の再構成隣接サンプルは、現在映像ブロックの幅に依存する。
方法2400に関する一部の実施形態において、幅が8以下であることに応じて、再構成隣接サンプルの数は4に等しい。方法2400に関する一部の実施形態において、幅が8より大きいことに応じて、再構成隣接サンプルの数は8に等しい。方法2400に関する一部の実施形態において、現在映像ブロックの幅が現在映像ブロックの高さ未満であることに応じて、再構成隣接サンプルのセットは、現在映像ブロックの上に位置する再構成隣接サンプルの全部を含むように選択され、及び/又は再構成隣接サンプルのセットは、現在映像ブロックの左に位置する或る数の再構成隣接サンプルを含むように選択され、或る数の再構成隣接サンプルは、現在映像ブロックの高さに依存する。
方法2400に関する一部の実施形態において、現在映像ブロックの左に位置する第kの選択された再構成隣接サンプルは、(blkX-1,blkY+(k+1)*blkH/M-1)によって記述される位置に位置し、(blkX,blkY)は現在映像ブロックの左上位置を表し、Mは再構成隣接サンプルの数であり、kは0以上(M-1)以下である。方法2400に関する一部の実施形態において、高さが8以下であることに応じて、再構成隣接サンプルの数は4に等しい。方法2400に関する一部の実施形態において、高さが8より大きいことに応じて、再構成隣接サンプルの数は8に等しい。方法2400に関する一部の実施形態において、再構成隣接サンプルのセットは、現在映像ブロックの上に位置する再構成隣接サンプルの全部を含むように選択される、及び/又は再構成隣接サンプルのセットは、現在映像ブロックの左に位置する或る数の再構成隣接サンプルを含むように選択され、或る数の再構成隣接サンプルは、現在映像ブロックの高さに依存する。
方法2400に関する一部の実施形態において、高さが8以下であることに応じて、再構成隣接サンプルの数は4に等しい。方法2400に関する一部の実施形態において、高さが8より大きいことに応じて、再構成隣接サンプルの数は8に等しい。方法2400に関する一部の実施形態において、ルールは、最終予測ブロックが再構成隣接サンプルを修正することによって取得された修正再構成隣接サンプルのセットを使用することによって決定されることを規定する。方法2400に関する一部の実施形態において、ルールは、修正再構成隣接サンプルのセットが再構成隣接サンプルに対してフィルタリング演算を行うことによって取得されることを規定する。方法2400に関する一部の実施形態において、フィルタリング演算は、Nタップフィルタを使用する。方法2400に関する一部の実施形態において、Nは2又は3に等しい。
方法2400に関する一部の実施形態において、ルールは、現在映像ブロックの最終予測ブロックが決定されるMIPモードに従って、フィルタリング演算が適応的に適用されることを規定する。方法2400に関する一部の実施形態において、最終予測ブロックがアップサンプリング演算によって決定される技術は、現在映像ブロックの寸法に基づく。方法2400に関する一部の実施形態において、最終予測ブロックがアップサンプリング演算によって決定される技術は、現在映像ブロックに関連する符号化情報に基づく。方法2400に関する一部の実施形態において、符号化情報は、現在映像ブロックに関連するイントラ予測方向又は変換モードのインジケーションを含む。
この特許文献の方法の一部の実施形態において、変換を実行することは、現在映像ブロックからビットストリーム表現を生成することを含む。この特許文献の方法の一部の実施形態において、変換を実行することは、ビットストリーム表現から現在映像ブロックを生成することを含む。
以上から、理解されることには、ここに開示された技術の特定の実施形態を説明の目的でここに記述したが、発明の範囲から逸脱することなく様々な変更が為され得る。従って、ここに開示された技術は、添付の請求項による場合を除き、限定されるものではない。
この特許文書に記述される主題及び機能動作の実装は、この明細書に開示されている構造及びそれらに構造的に均等なものを含め、様々なシステム、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアにて、あるいはこれらのうちの1つ以上の組み合わせにて実施されることができる。この明細書に記述される主題の実装は、1つ以上のコンピュータプログラムプロダクトとして実装されることができ、すなわち、データ処理装置による実行のための、又はデータ処理装置の動作を制御するための、有形の非一時的なコンピュータ読み取り可能媒体にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶装置、機械読み取り可能記憶基板、メモリ装置、機械読み取り可能な伝搬信号を生じさせる物質の組成、又はそれらのうちの1つ以上の組み合わせとすることができる。用語“データ処理ユニット”又は“データ処理装置”は、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理するあらゆる装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードといった、問題としているコンピュータプログラムのための実行環境を作り出すコードを含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル型又はインタープリタ型の言語を含め、如何なる形態のプログラミング言語で記述されてもよく、また、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして、を含め、如何なる形態で展開されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するわけではない。プログラムは、他のプログラム若しくはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に格納されてもよいし、問題としているプログラムに専用の単一ファイルに格納されてもよいし、あるいは、複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を格納するファイル)に格納されてもよい。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開されてもよいし、あるいは、一箇所に配置された、又は複数箇所に分散されて通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開されてもよい。
この明細書に記載されるプロセス及び論理フローは、入力データについて演算して出力を生成することによって機能を実行するよう、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されることができる。これらのプロセス及び論理フローはまた、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)といった専用の論理回路によって実行されることもでき、また、装置も、そのような専用の論理回路として実装されることができる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の双方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はこれらの両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを格納する1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、磁気光ディスク、又は光ディスクといった、データを格納するための1つ以上の大容量ストレージ装置を含み、あるいは、大容量ストレージ装置からデータを受信したり、それにデータを転送したりするように動作的に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ読み取り可能媒体は、例として、例えばEPROM、EEPROM、及びフラッシュメモリデバイスといった半導体メモリデバイスを含め、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用の論理回路によって補われたり、それに組み込まれたりしてもよい。
意図されることには、明細書は、図面と共に、単に例示的なものとみなされ、例示的なとは一例を意味する。ここで使用されるとき、“又は”の使用は、文脈が別のことを明確に示していない限り、“及び/又は”を含むことが意図される。
この特許文書は数多くの詳細が含んでいるが、それらは、いずれかの発明又は特許請求され得るものの範囲についての限定として解釈されるべきでなく、むしろ、特定の発明の特定の実施形態に特有とし得る機構の説明として解釈されるべきである。別々の実施形態の文脈でこの特許文書に記載されている特定の複数の機構が、単一の実施形態にて組み合わせて実装されることもできる。逆に、単一の実施形態の文脈で説明されている種々の機構が、複数の実施形態にて別々に、又は何らかの好適なサブコンビネーションで実装されることもできる。さらには、複数の機構が、特定の組み合わせにて作用するものとして上述され、さらには当初はそのように特許請求されていることがあり得るが、場合によって、特許請求されている組み合わせからの1以上の機構を組み合わせから除くこともでき、また、特許請求されている組み合わせをサブコンビネーション又はサブコンビネーションのバリエーションへと導いてもよい。
同様に、図面には処理が特定の順序で示されるが、このことは、所望の結果を達成するために、それらの動作が図示される特定の順序で若しくは順番に実行されること、又は図示される全ての処理が実行されることを要求するものとして理解されるべきでない。また、この特許文書に記載されている実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離を必要とするものとして理解されるべきでない。
ほんの少しの実装及び例を記載したのみであり、この特許文書に記載及び図示されているものに基づいて、他の実装、拡張及び変形が行われ得る。
[関連出願への相互参照]
この出願は、2020年5月28に出願された国際特許出願第PCT/CN2020/092906号の国内移行段階であり、当該出願は、2019年5月31日に出願された国際特許出願第PCT/CN2019/089590号の優先権及び利益を主張する。法律の下での全ての目的のために、上記出願の開示全体を、この出願の開示の一部として援用する。
[関連出願への相互参照]
この出願は、2020年5月28に出願された国際特許出願第PCT/CN2020/092906号の国内移行段階であり、当該出願は、2019年5月31日に出願された国際特許出願第PCT/CN2019/089590号の優先権及び利益を主張する。法律の下での全ての目的のために、上記出願の開示全体を、この出願の開示の一部として援用する。
[技術分野]
この特許文書は、映像コーディング技術、装置及びシステムに関連する。
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅使用を占めている。映像を受信して表示することが可能な接続ユーザ装置の数が増えるにつれて、デジタル映像使用に対する帯域幅需要が増加し続けることが予期される。
デジタル映像コーディング、そして具体的には、映像コーディングのための行列ベースイントラ予測法に関係する装置、システム及び方法が記載される。記載される方法は、既存の映像コーディング標準(例えば、HEVC(High Efficiency Video Coding)及び将来の映像コーディング標準(例えば、VVC(Versatile Video Coding))若しくはコーデックの双方に適用され得る。
代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(matrix based intra prediction;MIP)モードを用いて実行するステップを含み、MIPモードにおいて、現在映像ブロックの予測ブロックは、映像のうち先行してコーディングされたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いて選択的にアップサンプリング演算を行うことによって決定され、変換は、現在映像ブロックの減少した境界サンプルが現在映像ブロックの参照境界サンプルに少なくとも基づくルールに従って生成される単一の段階において境界ダウンサンプリング演算を行うことを含み、変換は、現在映像ブロックの減少した境界サンプルを用いて行列ベクトル乗算演算を行うことを含む。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(MIP)モードを用いて実行するステップを含み、MIPモードにおいて、現在映像ブロックの最終予測ブロックは、映像のうち先行してコーディングされたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いてアップサンプリング演算を行うことによって決定され、変換は、最終予測ブロックが現在映像ブロックの減少した予測ブロックを使用することによって、且つルールに従って現在映像ブロックの再構成隣接サンプルを使用することによって決定されるアップサンプリング演算を行うことを含み、減少した予測ブロックは、現在映像ブロックの減少した境界サンプルに対して行列ベクトル乗算演算を行うことによって取得される。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックがアフィン線形加重イントラ予測(affine linear weighted intra prediction;ALWIP)モードを用いてコーディングされることを決定するステップと、該決定に基づき、非ALWIPイントラモード向けの最確モード(most probable mode;MPM)リストの少なくとも一部に基づいて、ALWIPモード向けのMPMリストの少なくとも一部を構築するステップと、ALWIPモード向けのMPMリストに基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックのルマコンポーネントが、アフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定するステップと、該決定に基づいてクロマイントラモードを推定するステップと、クロマイントラモードに基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定するステップと、該決定に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードとは異なるコーディングモードを用いてコーディングされることを決定するステップと、該決定に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックに対して、アフィン線形加重イントラ予測(ALWIP)モードを用いて第1の予測を生成するステップと、第1の予測に基づいて、位置依存イントラ予測コンビネーション(position dependent intra prediction combination;PDPC)を用いて第2の予測を生成するステップと、第2の予測に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、開示される技術は、映像処理のための方法を提供するために使用され得る。この例示的な方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定するステップと、ALWIPモードに基づいて、現在映像ブロックの複数のサブブロックを予測するステップと、該予測に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、映像処理の方法が開示される。当該方法は、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、現在映像ブロックに対するルールに基づいて、アフィン線形加重イントラ予測(ALWIP)モードの使用を指し示すフラグのコンテキストを決定するステップと、ALWIPモードに基づいて、現在映像ブロックの複数のサブブロックを予測するステップと、該予測に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
更なる他の代表的な一態様において、映像処理の方法が開示される。当該方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、少なくとも2つのフィルタリング段階のうちの第1のフィルタリング段階におけるサンプルの第1の精度は、少なくとも2つのフィルタリング段階のうちの第2のフィルタリング段階におけるサンプルの第2の精度とは異なる。
更なる他の一態様において、映像処理の方法が開示される。当該方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、アップサンプリングプロセスは、垂直アップサンプリング及び水平アップサンプリングの双方が実行される場合に固定の順序で実行される。
更なる他の一態様において、映像処理の方法が開示される。当該方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、変換は、アップサンプリングプロセスの前に転置演算を行うことを含む。
更なる他の代表的な一態様において、上述の方法は、プロセッサ実行可能コードの形態で具体化され、コンピュータ読み取り可能なプログラム媒体に格納される。
更なる他の代表的な一態様において、上述の方法を実行するように構成された又は動作可能な装置が開示される。当該装置は、この方法を実装するようにプログラムされたプロセッサを含み得る。
更なる他の代表的な一態様において、ビデオデコーダ装置が、ここに記載される方法を実装し得る。
開示される技術の上述の及び他の態様及び特徴が、図面、明細書、及び特許請求の範囲に更に詳細に記載される。
33個のイントラ予測方向の一例を示している。 67個のイントラ予測モードの一例を示している。 線形モデルの重みの導出に使用されるサンプルの位置の一例を示している。 予測ブロックに隣接する4つの参照ラインの一例を示している。 図5A及び図5Bは、ブロックサイズに応じたサブパーティションの例を示している。 図5A及び図5Bは、ブロックサイズに応じたサブパーティションの例を示している。 4×4ブロックに関するALWIPの一例を示している。 8×8ブロックに関するALWIPの一例を示している。 8×4ブロックに関するALWIPの一例を示している。 16×16ブロックに関するALWIPの一例を示している。 MPMリスト構築に使用される隣接ブロックの一例を示している。 開示される技術に従った、行列ベースイントラ予測に関する方法の一例のフローチャートを示している。 開示される技術に従った、行列ベースイントラ予測に関する方法の他の一例のフローチャートを示している。 開示される技術に従った、行列ベースイントラ予測に関する方法の更なる他の一例のフローチャートを示している。 開示される技術に従った、行列ベースイントラ予測に関する方法の更なる他の一例のフローチャートを示している。 本文書に記載されるビジュアルメディア復号又はビジュアルメディア符号化技術を実装するためのハードウェアプラットフォームの一例のブロック図である。 隣接ブロックの一例を示している。 提案の減少した境界サンプルの生成の一例である。 元の再構成隣接サンプルを用いた提案のアップサンプリングの一例を示している。 ビデオデコーダの一例を示すブロック図である。 ここに開示される様々な技術が実装され得る映像処理システムの一例を示すブロック図である。 この開示の技術を利用し得る例示的な映像コーディングシステムを示すブロック図である。 ビデオエンコーダの一例を示すブロック図である。 開示される技術に従った、行列ベースイントラ予測に関する更なる方法例のフローチャートを示している。 開示される技術に従った、行列ベースイントラ予測に関する更なる方法例のフローチャートを示している。
より高い解像度の映像に対する高まる要求により、映像コーディング方法及び技術は、現代技術においてどこにでも見られるものになっている。映像コーデックは、典型的に、デジタル映像を圧縮又は解凍する電子回路又はソフトウェアを含み、より高いコーディング効率を提供するために絶えず改良されている。映像コーデックは、圧縮されていない映像を圧縮フォーマットに変換し、又はその逆の変換を行う。映像品質、映像を表現するために使用されるデータの量(ビットレートによって決定される)、符号化及び復号のアルゴリズムの複雑さ、データ損失及び誤差に対する感度、編集の容易さ、ランダムアクセス、及びエンド・ツー・エンド遅延(レイテンシ)の間に複雑な関係がある。圧縮フォーマットは、通常、例えばHEVC(High Efficiency Video Coding)標準(H.265又はMPEG-H Part2としても知られている)、成立されることになるVVC(Versatile Video Coding)標準、又は他の現在及び/又は将来の映像コーディング標準といった、標準映像圧縮仕様に準拠する。
開示される技術の実施形態は、ランタイム性能を改善するために、既存の映像コーディング標準(例えば、HEVC、H.265)及び将来の標準に適用され得る。本文書では、説明の読みやすさを向上させるためにセクション見出しを使用するが、それらセクション見出しは、説明又は実施形態(及び/又は実装)をそれぞれのセクションのみに限定するものではない。
1 HEVCに関する簡単なレビュー
1.1 HEVC/H.265におけるイントラ予測
イントラ予測は、検討されているカラーチャネルにおける先行して再構成されたサンプルを用いて、所与のTB(変換ブロック)に関するサンプルを生成することを含む。イントラ予測モードは、ルマ(luma)チャネル及びクロマ(chroma)チャネルに関して別々に信号伝達され、クロマチャネルイントラ予測モードは、オプションで、‘DM_CHROMA’モードを介してルマチャネルイントラ予測モードに依存する。イントラ予測モードはPB(予測ブロック)レベルで信号伝達されるが、イントラ予測プロセスは、CUの残りの四分木階層に従ってTBレベルで適用され、それにより、1つのTBのコーディングがCU内の次のTBのコーディングに影響すること、及びそれ故に、参照値として使用されるサンプルまでの距離を短くすることを可能にする。
HEVCは、DCモード、プレーナ(planar)モード、及び33個の方向若しくは‘角度’イントラ予測モードという35個のイントラ予測モードを含んでいる。33の角度イントラ予測モードは図1に示されている。
クロマカラーチャネルに関連するPBでは、イントラ予測モードは、プレーナモード、DCモード、水平モード、垂直モード、‘DM_CHROMA’モード、又は時々、対角モード‘34’のいずれかとして規定される。
なお、クロマフォーマット4:2:2及び4:2:0では、クロマPBは(それぞれ)2つ又は4つのルマPBと重なり合うとすることができ、この場合、DM_CHROMAでのルマ方向はこれらのルマPBの左上からとられる。
DM_CHROMAモードは、ルマカラーチャネルPBのイントラ予測モードがクロマカラーチャネルPBに適用されることを指し示す。これは比較的一般的であるので、intra_chroma_pred_modeの最確モード符号化スキームは、このモードが選択されることを好むようにバイアスされる。
2 VVCにおけるイントラ予測の例
2.1 67個のイントラ予測モードを備えたイントラモード符号化
自然映像内で示される任意のエッジ方向を捕捉するために、方向イントラモードの数が、HEVCで使用されるような33個から65個に拡張される。追加の方向モードを、図2に赤色の点線矢印として示しており、プレーナモード及びDCモードは同じままである。これらのいっそう密な方向イントラ予測モードが、全てのブロックサイズに適用されるとともに、ルマイントラ予測及びクロマイントラ予測の両方に適用される。
2.2 クロスコンポーネント線形モデル(CCLM)の例
一部の実施形態において、また、クロスコンポーネント冗長性を低減させるために、クロスコンポーネント線形モデル(cross-component linear model;CCLM)予測モード(LMとしても参照される)がJEMにおいて使用され、そこでは、クロマサンプルが、以下:
Figure 2022535726000083
の線形モデルを使用することによって、同じCUの再構成されたルマサンプルに基づいて予測される。
ここで、pred(i,j)は、CU内の予測クロマサンプルを表し、recL’(i,j)は、同じCUのダウンサンプリングされた再構成ルマサンプルを表す。線形モデルパラメータα及びβは、ダウンサンプリングされた隣接ルマサンプルのセット内で最小サンプル値を持つルマサンプル及び最大サンプル値を持つルマサンプルとそれらの対応するクロマサンプルとである、2つのサンプルからのルマ値とクロマ値との間の関係から導出される。図3は、CCLMモードに関与する現在ブロックのサンプル並びに左サンプル及び上サンプルの位置の一例を示している。
このパラメータ計算は、復号プロセスの一部として実行され、単にエンコーダ探索処理としてではない。結果として、α及びβ値をデコーダに伝達するために使用される構文はない。
クロマイントラモード符号化では、合計8つのイントラモードがクロマイントラモード符号化向けに可能にされている。それらのモードは、5つの伝統的なイントラモードと、3つのクロスコンポーネント線形モデルモード(CCLM、LM_A、及びLM_L)とを含む。クロマモード符号化は、対応するルマブロックのイントラ予測モードに直接的に依存する。Iスライスでは、ルマコンポーネントとクロマコンポーネントとに対して別々のブロック分割構造が可能であるため、1つのクロマブロックが複数のルマブロックに対応することがある。従って、クロマDMモードでは、現在クロマブロックの中心位置をカバーする対応するルマブロックのイントラ予測モードが直接継承される。
2.3 複数参照ライン(MRL)イントラ予測
複数参照ライン(multiple reference line;MRL)イントラ予測は、より多くの参照ラインをイントラ予測に使用する。図4に、4つの参照ラインの例を示しており、ここでは、セグメントA及びFのサンプルは、再構成された隣接サンプルからフェッチされるのではなく、それぞれセグメントB及びEからの最も近いサンプルでパディングされる。HEVCイントラピクチャ予測は、最も近い参照ライン(すなわち参照ライン0)を使用する。MRLでは、2つの追加のライン(参照ライン1及び参照ライン3)が使用される。選択された参照ラインのインデックス(mrl_idx)が信号伝達され、イントラ予測子を生成するために使用される。0より大きい参照ラインidxの場合、MPMリスト内の追加の参照ラインモードのみを含み、残りのモードなしでmpmインデックスのみを信号伝達する。
2.4イントラサブパーティション(ISP)
イントラサブパーティション(Intra Sub-Partitions;ISP)ツールは、ルマイントラ予測ブロックを、ブロックサイズに応じて垂直方向又は水平方向に2つ又は4つのサブパーティションに分割する。例えば、ISPでの最小ブロックサイズは4×8(又は8×4)である。ブロックサイズが4×8(又は8×4)よりも大きい場合、対応するブロックが4つのサブパーティションによって分割される。図5は、2つの可能性の例を示している。全てのサブパーティションが、少なくとも16サンプルを持つという条件を満たす。
各サブパーティションについて、予測信号に残差信号を加えることによって再構成サンプルが得られる。ここで、残差信号は、例えばエントロピー復号、逆量子化及び逆変換などのプロセスによって生成される。従って、各サブパーティションの再構成サンプル値は、次のサブパーティションの予測を生成するのに利用可能であり、各サブパーティションが繰り返し処理される。さらに、処理される最初のサブパーティションは、CUの左上サンプルを含むものであり、その後、下向き(水平スプリット)又は右向き(垂直スプリット)に続く。結果として、サブパーティション予測信号を生成するのに使用される参照サンプルは、ラインの左側及び上方にのみ位置する。全てのサブパーティションが同じイントラモードを共有する。
2.5 アフィン線形加重イントラ予測(ALWIP又は行列ベースイントラ予測)
アフィン線形加重イントラ予測(ALWIP、行列ベースイントラ予測(MIP)としても知られる)がJVET-N0217で提案されている。
JVET-N0217において2つのテストが行われている。テスト1において、ALWIPは、8Kバイトのメモリ制約及びサンプル当たり最大4回の乗算で設計される。テスト2はテスト1と同様であるが、メモリ要求及びモデルアーキテクチャの観点で設計を更に単純化する:
・全てのブロック形状に対して単一セットの行列及びオフセットベクトル。
・全てのブロック形状に対してモード数を19まで削減。
・メモリ要求を5760個の10ビット値すなわち7.20キロバイトまで削減。
・予測サンプルの線形補間が方向あたり単一ステップで実行され、第1のテストにおいてのような反復補間を置き換える。
2.5.1 JVET-N0217のテスト1
幅W及び高さHの矩形ブロックのサンプルを予測するために、アフィン線形加重イントラ予測(ALWIP)は、ブロックの左の1ラインのH個の再構成隣接境界サンプルと、ブロックの上の1ラインのW個の再構成隣接境界サンプルとを入力としてとる。これらの再構成サンプルが利用可能でない場合には、それらは、従来からのイントラ予測において行われている通りに生成される。予測信号の生成は、次の3つのステップに基づく。
境界サンプルから、W=H=4のケースで4つのサンプル、それ以外の全てのケースで8つのサンプルが、平均することによって抽出される。
それら平均したサンプルを入力として、行列ベクトル乗算及びそれに続くオフセットの加算が実行される。その結果は、元のブロック内のサンプルのサブサンプリングされたセットについての減少された予測信号である。
サブサンプリングされたセットについての予測信号から、残りの位置の予測信号が、各方向に単一ステップの線形補間である線形補間によって生成される。
予測信号を生成するのに必要とされる行列及びオフセットベクトルは、行列の3セットS、S、Sからとられる。セットSは、各々が16行及び4列を持つ18個の行列A ,i∈{0,…,17}及び各々がサイズ16の18個のオフセットベクトルb ,i∈{0,…,17}からなる。このセットの行列及びオフセットベクトルは、サイズ4×4のブロックに使用される。セットSは、各々が16行及び8列を持つ10個の行列A ,i∈{0,…,9}及び各々がサイズ16の10個のオフセットベクトルb ,i∈{0,…,9}からなる。このセットの行列及びオフセットベクトルは、サイズ4×8、8×4、及び8×8のブロックに使用される。最後に、セットSは、各々が64行及び8列を持つ6個の行列A ,i∈{0,…,5}及び各々がサイズ64の6個のオフセットベクトルb ,i∈{0,…,5}からなる。このセットの行列及びオフセットベクトル、又はこれらの行列及びオフセットベクトルの一部は、他の全てのブロック形状に使用される。
行列ベクトル積の計算に必要な乗算の総数は常に4×W×H以下である。換言すれば、ALWIPモードで必要とされる乗算はサンプル当たり多くて4回である。
2.5.2 境界の平均化
第1のステップにて、入力境界bdrytop及びbdryleftが、より小さい境界bdryred top及びbdryred leftへと減少(reduced)される。ここで、bdryred top及びbdryred leftは、4×4ブロックのケースではどちらも2サンプルからなり、それ以外の全てのケースでどちらも4サンプルからなる。
4×4ブロックのケースでは、0≦i<2で、
Figure 2022535726000084
と定義され、bdryred leftも同様に定義される。
それ以外のケースで、ブロック幅WがW=4・2kとして与えられる場合、0≦i<4で、
Figure 2022535726000085
と定義され、bdryred leftも同様に定義される。
これら2つの減少された境界bdryred top及びbdryred leftが減少境界ベクトルbdryredへと連結され、これは故に、形状4×4のブロックではサイズ4、それ以外の全ての形状のブロックではサイズ8のものである。モード(mode)がALWIPモードを指す場合、この連結は次のように定義される:
Figure 2022535726000086
最後に、サブサンプリングされた予測信号の補間のために、大きいブロックについて、平均した境界の第2のバージョンが必要である。すなわち、min(W,H)>8且つW≧Hである場合、W=8×2lと記述し、0≦i<8で、
Figure 2022535726000087
と定義する。
min(W,H)>8且つH>Wである場合、同様にbdryredII leftを定義する。
2.5.3 行列ベクトル乗算による減少予測信号の生成
減少された入力ベクトルbdryredから、減少された予測信号predredを生成する。後者の信号は、幅Wred及び高さHredのダウンサンプリングされたブロックについての信号である。ここで、Wred及びHredは:
Figure 2022535726000088
として定義される。
減少予測信号predredは、行列ベクトル積を計算し、補正値を加算することによって計算される:
predred=A・bdryred+b
ここで、Aは、Wred・Hred行を持ち、且つW=H=4の場合に4列、それ以外の全てのケースで8列を持つ行列であり、bは、サイズWred・Hredのベクトルである。
行列A及びベクトルbは、以下のように、セットS、S、Sのうちの1つからとられる。インデックスidx=idx(W,H)を、次のように定義する:
Figure 2022535726000089
また、mを以下とする:
Figure 2022535726000090
そして、idx≦1又はidx=2且つmin(W,H)>4である場合、A=Aidx 及びb=bidx とする。idx=2且つmin(W,H)=4である場合、W=4のケースではダウンサンプリングされたブロック内の奇数のx座標に対応するAidx の全ての行又はH=4のケースではダウンサンプリングされたブロック内の奇数のy座標に対応するAidx の全ての行を除外することによって生じる行列をAとする。
最後に、以下の場合に、減少された予測信号がその転置行列で置き換えられる:
・W=H=4、且つモード≧18
・max(W,H)=8、且つモード≧10
・max(W,H)>8、且つモード≧6。
predredの計算に必要な乗算の数は、W=H=4のケースで4である。何故なら、この場合、Aは4列及び16行を有するからである。それ以外の全てのケースでは、Aは8列及びWred・Hred行を有し、直ちに確認されることには、これらのケースでは8・Wred・Hred≦4W・H回の乗算が必要であり、すなわち、これらのケースでも、predredを計算するのに必要とされる乗算の数はサンプル当たり多くて4である。
2.5.4 ALWIPプロセス全体の例示
平均化、行列ベクトル乗算、及び線形補間のプロセス全体を、図6-図9にて異なる形状について例示する。なお、残りの形状は、図示のケースのうちの1つにおいてのように扱われる。
1. 4×4ブロックを所与として、ALWIPは境界の各軸に沿って2つの平均をとる。得られた4つの入力サンプルが行列ベクトル乗算に入る。セットSから行列がとられる。オフセットを加えた後、これは16個の最終予測サンプルを生み出す。この予測信号を生成するのに線形補間は必要でない。従って、サンプル当たり合計で(4・16)/(4・4)=4回の乗算が行われる。
2. 8×8ブロックを所与として、ALWIPは境界の各軸に沿って4つの平均をとる。得られた8つの入力サンプルが行列ベクトル乗算に入る。セットSから行列がとられる。これは、予測ブロックの奇数位置に16個のサンプルを生み出す。従って、サンプル当たり合計で(8・16)/(8・8)=2回の乗算が行われる。オフセットを加えた後、これらのサンプルは、減少された上境界を用いることによって垂直方向に補間される。元の左境界を用いることによって水平補間が続く。
3. 8×4ブロックを所与として、ALWIPは境界の水平軸に沿った4つの平均と、左境界上の4つの元の境界値とをとる。得られた8つの入力サンプルが行列ベクトル乗算に入る。セットSから行列がとられる。これは、予測ブロックの奇数水平位置且つ各垂直位置に16個のサンプルを生み出す。従って、サンプル当たり合計で(8・16)/(8・4)=4回の乗算が行われる。オフセットを加えた後、これらのサンプルは、元の左境界を用いることによって水平方向に補間される。
4. 16×16ブロックを所与として、ALWIPは境界の各軸に沿って4つの平均をとる。得られた8つの入力サンプルが行列ベクトル乗算に入る。4つの平均を生成するために、2段階のダウンサンプリング演算が利用される。最初に、それぞれ連続する2つのサンプルが1つのダウンサンプリング値を導出するために使用され、従って、上/左隣接の8つの平均が取得され得る。次に、辺当たり8つの平均が更にダウンサンプリングされて、辺当たり4つの平均を生成し得る。4つの平均は、減少予測信号を導出するために使用される。さらに、辺当たり8つの平均は、減少予測信号のサブサンプリングを介して最終予測サンプルの生成に更に利用される。セットSから行列がとられる。これは、予測ブロックの奇数位置に64個のサンプルを生み出す。従って、サンプル当たり合計で(8・64)/(16・16)=2回の乗算が行われる。オフセットを加えた後、これらのサンプルは、上境界の8つの平均を用いることによって垂直方向に補間される。元の左境界を用いることによって水平補間が続く。補間プロセスは、このケースにおいて、如何なる乗算も追加しない。従って、合計として、サンプル当たり2回の乗算がALWIP予測を計算するのに必要とされる。
より大きい形状の場合、手順は基本的に同じであり、サンプル当たりの乗算数が4未満であることを確認するのは容易である。
W>8であるW×8ブロックの場合、サンプルが奇数水平位置且つ各垂直位置に与えられるので、水平補間のみが必要である。
最後に、W>8であるW×4ブロックの場合、ダウンサンプリングされたブロック内の横軸に沿った奇数エントリに対応する全ての行を除外することによって生じる行列をA_kとする。従って、出力サイズは32であり、この場合も水平補間のみが実行されるままである。
転置されたケースも、これらに従って扱われる。
2.5.5 単一ステップ線形補間
max(W,H)≧8であるW×Hブロックでは、予測信号は、Wred×Hredについての減少された予測信号predredから線形補間による生じる。ブロック形状に応じて、垂直方向、水平方向、又は両方向に線形補間が行われる。線形補間が両方向に適用される場合、それは、W<Hの場合には先ず水平方向に適用され、それ以外の場合には先ず垂直方向に適用される。
一般性を損なうことなく、max(W,H)≧8且つW≧HであるW×Hブロックを考える。すると、一次元線形補間は以下のように行われる。一般性を損なうことなく、垂直方向での線形補間を記述すれば十分である。最初に、減少予測信号が、境界信号によって上に拡張される。垂直アップサンプリング係数Uver=H/Hredを定義し、Uver=2uver>1と記述する。そして、拡張された減少予測信号を、
Figure 2022535726000091
により定義する。
そして、この拡張された減少予測信号から、垂直方向に線形補間された予測信号が、0≦x<Wred、0≦y<Hred、及び0≦k<Uverについて、
Figure 2022535726000092
によって生成される。
2.5.6 提案するイントラ予測モードの信号伝達
イントラモードにおける各コーディングユニット(CU)について、対応する予測ユニット(PU)にALWIPモードが適用されるか否かを指し示すフラグが、ビットストリーム内で送られる。後者のインデックスの信号伝達は、JVET-M0043においてと同じようにMRLと調和される。ALWIPモードが適用される場合、ALWIPモードのインデックスpredmodeが、3つのMPMSを有するMPMリストを用いて信号伝達される。
ここで、MPMの導出は、以下のように、上及び左PUのイントラモードを用いて行われる。従来からのイントラ予測モードpredmodeAngularの各々にALWIPモードを割り当てる3つの固定テーブルmap_angular_to_alwipidx,idx∈{0,1,2}が存在する:
predmodeALWIP=map_angular_to_alwipidx[predmodeAngular
幅W及び高さHの各PUに対して、セクション2.5.3においてのように3つのセットのうちのどれからALWIPパラメータが取られるかを指し示すインデックス:
idx(PU)=idx(W,H)∈{0,1,2}
を定義する。
上予測ユニットPUaboveが利用可能であり、現在PUと同じCTUに属し、且つイントラモードにある場合であって、idx(PU)=idx(PUabove)であり且つALWIPがALWIPモードpredmodeALWIP aboveでPUaboveに適用される場合、
Figure 2022535726000093
とする。
上PUが利用可能であり、現在PUと同じCTUに属し、且つイントラモードにある場合であって、従来からのイントラ予測モードpredmodeAngular aboveが上PUに適用される場合、
Figure 2022535726000094
とする。
その他全てのケースでは、
Figure 2022535726000095
とし、これは、このモードが利用可能でないことを意味する。同じようにして、しかし、左PUが現在PUと同じCTUに属する必要があるという制約なしに、モードmodeALWIP leftを導出する。
最後に、各々が3つの異なるALWIPモードを含む3つの固定デフォルトリストlistidx、idx∈{0,1,2}が提供される。デフォルトリストlistidx(PU)並びにモードmodeALWIP above及びmodeALWIP leftから、-1をデフォルト値に置き換え且つ繰り返しを排除することによって、3つの異なるMPMを構築する。
ALWIP MPMリスト構築に使用される左隣接ブロック及び上隣接ブロックは、図10に示すA1及びB1である。
2.5.7 従来からのルマ及びクロマイントラ予測モードのための適応MPMリスト導出
提案されるALWIPモードは、従来からのイントラ予測モードのMPMベースのコーディングと、以下のように調和される。従来からのイントラ予測モードに対するルマ及びクロマMPMリスト導出プロセスは、所与のPUについてのALWIPモードpredmodeALWIPを従来からのイントラ予測モードのうちの1つにマッピングする固定テーブルmap_alwip_to_angularidx,idx∈{0,1,2}を使用する:
predmodeAngular=map_alwip_to_angularidx(PU)[predmodeALWIP
ルマMPMリスト導出では、ALWIPモードpredmodeALWIPを使用する隣接ルマブロックに遭遇すると常に、このブロックは、あたかも従来からのイントラ予測モードpredmodeAngularを使用しているかのように扱われる。クロマMPMリスト導出では、現在ルマブロックがLWIPモードを使用するときは常に、同じマッピングを用いてALWIPモードを従来からのイントラ予測モードに変換する。
2.5.8 対応する変更ワーキングドラフト
一部の実施形態において、このセクションに記載されるように、開示される技術の実施形態に基づいて、intra_lwip_flag、intra_lwip_mpm_flag、intra_lwip_mpm_idx及びintra_lwip_mpm_remainderに関する部分がワーキングドラフトに追加されている。
一部の実施形態において、このセクションに記載されるように、開示される技術の実施形態に基づくワーキングドラフトへの追加及び変更を表すために、<begin>タグ及び<end>タグが使用される。
構文テーブル
コーディングユニット構文
Figure 2022535726000096
Figure 2022535726000097
セマンティック
<begin> 1に等しいintra_lwip_flag[x0][y0]は、ルマサンプルについてのイントラ予測タイプがアフィン線形加重イントラ予測であることを規定する。0に等しいintra_lwip_flag[x0][y0]は、ルマサンプルについてのイントラ予測タイプがアフィン線形加重イントラ予測ではないことを規定する。
intra_lwip_flag[x0][y0]が存在しない場合、それは0に等しいと推定される。
構文要素intra_lwip_mpm_flag[x0][y0]、intra_lwip_mpm_idx[x0][y0]、及びintra_lwip_mpm_remainder[x0][y0]は、ルマサンプルについてのアフィン線形加重イントラ予測モードを規定する。配列インデックスx0,y0は、ピクチャの左上ルマサンプルに対する、検討されているコーディングブロックの左上ルマサンプルの位置(x0,y0)を規定する。intra_lwip_mpm_flag[x0][y0]が1に等しい場合、8.4.X節に従って、隣接するイントラ予測されるコーディングユニットからアフィン線形加重イントラ予測モードが推定される。
intra_lwip_mpm_flag[x0][y0]が存在しない場合、それは1に等しいと推定される。<end>
intra_subpartitions_split_flag[x0][y0]は、イントラサブパーティションスプリットタイプが水平であるのか、それとも垂直であるのかを規定する。intra_subpartitions_split_flag[x0][y0]が存在しない場合、それは次のように推定される:
- intra_lwip_flag[x0][y0]が1に等しい場合、intra_subpartitions_split_flag[x0][y0]は0に等しいと推定される。
- それ以外の場合は、以下が適用される:
- cbHeightがMaxTbSizeYより大きい場合、intra_subpartitions_split_flag[x0][y0]は0に等しいと推定される;
- そうでない場合(cbWidthがMaxTbSizeYより大きい)、intra_subpartitions_split_flag[x0][y0]は1に等しいと推測される。
復号プロセス
8.4.1 イントラ予測モードでコーディングされるコーディングユニットについての一般的な復号プロセス
このプロセスへの入力は以下である:
- 現在コーディングブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xCb,yCb)、
- ルマサンプルにおける現在コーディングブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在コーディングブロックの高さを規定する変数cbHeight、
- 単一のツリーが使用されるのか、それとも二重のツリーが使用されるのかを規定し、二重のツリーを使用される場合に、現在ツリーがルマコンポーネントに対応するのかクロマコンポーネントに対応するのかを規定する変数treeType。
このプロセスの出力は、インループフィルタリング前の修正再構成ピクチャである。
8.7.1節にて規定される量子化パラメータの導出プロセスが、ルマ位置(xCb,yCb)、ルマサンプルにおける現在コーディングブロックの幅cbWidth、ルマサンプルにおける現在コーディングブロックの高さcbHeight、及び変数treeTypeを入力として呼び出される。
treeTypeがSINGLE_TREEに等しい場合、又はtreeTypeがDUAL_TREE_LUMAに等しい場合、ルマサンプルについての復号プロセスは次のように規定される:
- pcm_flag[xCb][yCb]が1に等しい場合、再構成ピクチャが次のように変更される:
SL[xCb+i][yCb+j]=
pcm_sample_luma[(cbHeight*j)+i]<<(BitDepthY-PcmBitDepthY), (8-6)
with i=0..cbWidth-1,j=0..cbHeight-1
- それ以外の場合、以下が適用される:
1. ルマイントラ予測モードは次のように導出される:
- intra_lwip_flag[xCb][yCb]が1に等しい場合、8.4.X節に規定されるアフィン線形加重イントラ予測モードの導出プロセスが、ルマ位置(xCb,yCb)、ルマサンプルにおける現在コーディングブロックの幅cbWidth、及びルマサンプルにおける現在コーディングブロックの高さcbHeightを入力として呼び出される;
- そうでない場合、8.4.2節に規定されるルマイントラ予測モードの導出プロセスが、ルマ位置(xCb,yCb)、ルマサンプルにおける現在コーディングブロックの幅cbWidth、及びルマサンプルにおける現在コーディングブロックの高さcbHeightを入力として呼び出される;
2. 8.4.4.1節に規定されるイントラブロックの一般的な復号プロセスが、ルマ位置(xCb,yCb)、ツリータイプtreeType、cbWidthに等しく設定された変数nTbW、cbHeightに等しく設定された変数nTbH、IntraPredModeY[xCb][yCb]に等しく設定された変数predModeIntra、及び0に等しく設定された変数cIdxを入力として呼び出され、その出力が、インループフィルタリング前の修正再構成ピクチャである。

<begin>
8.4.X アフィン線形加重イントラ予測モードの導出プロセス
このプロセスへの入力は以下である:
- 現在ルマコーディングブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xCb,yCb)、
- ルマサンプルにおける現在コーディングブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在コーディングブロックの高さを規定する変数cbHeight。
このプロセスにて、アフィン線形加重イントラ予測モードIntraPredModeY[xCb][yCb]が導出される。
IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップによって導出される:
1. 隣接位置(xNbA,yNbA)及び(xNbB,yNbB)が、それぞれ、(xCb-1,yCb)及び(xCb,yCb-1)に等しく設定される;
2. A又はBのいずれかで置き換えられるXについて、変数candLwipModeXが次のように導出される:
- 6.4.X節に規定されるブロックの利用可能性導出プロセス[Ed.(BB):近隣ブロック利用可能性チェックプロセスtbd]が、(xCb,yCb)に等しく設定された位置(xCurr,yCurr)、及び(xNbX,yNbX)に等しく設定された隣接位置(xNbY,yNbY)を入力として呼び出され、その出力がavailableXに割り当てられる;
- 候補アフィン線形加重イントラ予測モードcandLwipModeXが次のように導出される:
- 次の条件のうちの1つ以上がtrueである場合、candLwipModeXは-1に等しく設定される;
- 変数availableXがFALSEに等しい;
- CuPredMode[xNbX][yNbX]がMODE_INTRAに等しくなく、且つmh_intra_flag[xNbX][yNbX]が1に等しくない;
- pcm_flag[xNbX][yNbX]が1に等しい;
- XがBに等しく、且つyCb-1が((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい;
- それ以外の場合、以下が適用される:
- 8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、ルマサンプルにおける現在コーディングブロックの幅cbWidth、及びルマサンプルにおける現在コーディングブロックの高さcbHeightを入力として呼び出され、その出力が変数sizeIdに割り当てられる;
- intra_lwip_flag[xNbX][yNbX]が1に等しい場合、8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、ルマサンプルにおける隣接コーディングブロックの幅nbWidthX、及びルマサンプルにおける隣接コーディングブロックの高さnbHeightXを入力として呼び出され、その出力が変数sizeIdXに割り当てられる;
- sizeIdがsizeIdXに等しい場合、candLwipModeXはIntraPredModeY[xNbX][yNbX]に等しく設定される;
- そうでない場合、candLwipModeXは-1に等しく設定される;
- それ以外の場合、candLwipModeXは、表8-X1に規定されるようにIntraPredModeY[xNbX][yNbX]及びsizeIdを用いて導出される;
3. x=0..2でのcandLwipModeList[x]が、表8-X2に規定されるようにlwipMpmCand[sizeId]を用いて、次のように導出される:
- candLwipModeA及びcandLwipModeBが両方とも-1に等しい場合、以下が適用される:
candLwipModeList[0]=lwipMpmCand[sizeId][0] (8-X1)
candLwipModeList[1]=lwipMpmCand[sizeId][1] (8-X2)
candLwipModeList[2]=lwipMpmCand[sizeId][2] (8-X3)
- そうでない場合、以下が適用される:
- candLwipModeAがcandLwipModeBに等しい場合、又はcandLwipModeA若しくはcandLwipModeBのいずれかが-1に等しい場合、以下が適用される:
candLwipModeList[0]=(candLwipModeA!=-1)?
candLwipModeA:candLwipModeB (8-X4)
- candLwipModeList[0]がlwipMpmCand[sizeId][0]に等しい場合、以下が適用される:
candLwipModeList[1]=lwipMpmCand[sizeId][1] (8-X5)
candLwipModeList[2]=lwipMpmCand[sizeId][2] (8-X6)
- それ以外の場合、以下が適用される:
candLwipModeList[1]=lwipMpmCand[sizeId][0] (8-X7)
candLwipModeList[2]=(candLwipModeList[0]!=lwipMpmCand[sizeId][1])?
lwipMpmCand[sizeId][1]:lwipMpmCand[sizeId][2] (8-X8)
- それ以外の場合、以下が適用される:
candLwipModeList[0]=candLwipModeA (8-X9)
candLwipModeList[1]=candLwipModeB (8-X10)
- candLwipModeA及びcandLwipModeBが両方ともlwipMpmCand[sizeId][0]に等しくない場合、以下が適用される:
candLwipModeList[2]=lwipMpmCand[sizeId][0] (8-X11)
- そうでない場合、以下が適用される:
- candLwipModeA及びcandLwipModeBが両方ともlwipMpmCand[sizeId][1]に等しくない場合、以下が適用される:
candLwipModeList[2]=lwipMpmCand[sizeId][1] (8-X12)
- そうでない場合、以下が適用される:
candLwipModeList[2]=lwipMpmCand[sizeId][2] (8-X13)
4. 以下の手順を適用することにより、IntraPredModeY[xCb][yCb]が導出される:
- intra_lwip_mpm_flag[xCb][yCb]が1に等しい場合、IntraPredModeY[xCb][yCb]はcandLwipModeList[intra_lwip_mpm_idx[xCb][yCb]に等しく設定される;
- そうでない場合、IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップを適用することによって導出される:
1. i=0..1で、及び各iについてj=(i+1)..2で、candLwipModeList[i]がcandLwipModeList[j]より大きい場合、双方の値が次のように交換される:
(candLwipModeList[i],candLwipModeList[j])=
Swap(candLwipModeList[i],candLwipModeList[j]) (8-X14)
2. IntraPredModeY[xCb][yCb]が、以下の順序付けられたステップによって導出される:
i. IntraPredModeY[xCb][yCb]が、intra_lwip_mpm_remainder[xCb][yCb]に等しく設定される;
ii. 両端を含めて0から2に等しいiで、IntraPredModeY[xCb][yCb]がcandLwipModeList[i]以上である場合、IntraPredModeY[xCb][yCb]の値が1だけインクリメントされる。
x=xCb..xCb+cbWidth-1及びy=yCb..yCb+cbHeight-1での変数IntraPredModeY[x][y]は、IntraPredModeY[xCb][yCb]に等しいように設定される。
8.4.X.1 予測ブロックサイズタイプの導出プロセス
このプロセスへの入力は以下である:
- ルマサンプルにおける現在コーディングブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在コーディングブロックの高さを規定する変数cbHeight。
このプロセスの出力は変数sizeIdである。
変数sizeIdは次のように導出される:
- cbWidth及びcbHeightの両方が4に等しい場合、sizeIdは0に等しく設定される;
- そうでなく、cbWidth及びcbHeightの両方が8以下である場合、sizeIdは1に等しく設定される;
- それ以外の場合、sizeIdは2に等しく設定される。
Figure 2022535726000098
Figure 2022535726000099
<end>
8.4.2 ルマイントラ予測モードの導出プロセス
このプロセスへの入力は以下である:
- 現在ルマコーディングブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xCb,yCb)、
- ルマサンプルにおける現在コーディングブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在コーディングブロックの高さを規定する変数cbHeight。
このプロセスにて、ルマイントラ予測モードIntraPredModeY[xCb][yCb]が導出される。
表8-1は、イントラ予測モードIntraPredModeY[xCb][yCb]についての値及び関連する名称を規定している。
Figure 2022535726000100
IntraPredModeY[xCb][yCb]は、以下の順序付けられたステップによって導出される:
1. 隣接位置(xNbA,yNbA)及び(xNbB,yNbB)が、それぞれ、(xCb-1,yCb+cbHeight-1)及び(xCb+cbWidth-1,yCb-1)に等しく設定される;
2. A又はBのいずれかで置き換えられるXについて、変数candIntraPredModeXが次のように導出される:
- <begin>6.4.X節に規定されるブロックの利用可能性導出プロセス[Ed.(BB):近隣ブロック利用可能性チェックプロセスtbd]<end>が、(xCb,yCb)に等しく設定された位置(xCurr,yCurr)、及び(xNbX,yNbX)に等しく設定された隣接位置(xNbY,yNbY)を入力として呼び出され、その出力がavailableXに割り当てられる;
- 候補イントラ予測モードcandIntraPredModeXが次のように導出される:
- 次の条件のうちの1つ以上がtrueである場合、candIntraPredModeXはINTRA_PLANARに等しく設定される;
- 変数availableXがFALSEに等しい;
- CuPredMode[xNbX][yNbX]がMODE_INTRAに等しくなく、且つclip_flag[xNbX][yNbX]が1に等しくない;
- pcm_flag[xNbX][yNbX]が1に等しい;
- XがBに等しく、且つyCb-1が((yCb>>CtbLog2SizeY)<<CtbLog2SizeY)より小さい;
- そうでない場合、candIntraPredModeXは次のように導出される:
- intra_lwip_flag[xCb][yCb]が1に等しい場合、candIntraPredModeXは、以下の順序付けられたステップによって導出される:
i. 8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、ルマサンプルにおける現在コーディングブロックの幅cbWidth及びルマサンプルにおける現在コーディングブロックの高さcbHeightを入力として呼び出され、その出力が変数sizeIdに割り当てられる;
ii. 表8-X3に規定されるようにIntraPredModeY[xNbX][yNbX]及びsizeIdを使用して、candIntraPredModeXが導出される;
- そうでない場合、candIntraPredModeXはIntraPredModeY[xNbX][yNbX]に等しく設定される;
3. 変数ispDefaultMode1及びispDefaultMode2が次のように定義される:
- IntraSubPartitionsSplitTypeがISP_HOR_SPLITに等しい場合、ispDefaultMode1はINTRA_ANGULAR18に等しく設定され、ispDefaultMode2はINTRA_ANGULAR5に等しく設定される;
- そうでない場合、ispDefaultMode1はINTRA_ANGULAR50に等しく設定され、ispDefaultMode2はINTRA_ANGULAR63に等しく設定される。

Figure 2022535726000101
8.4.3 クロマイントラ予測モードの導出プロセス
このプロセスへの入力は以下である:
- 現在クロマ符号化ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するルマ位置(xCb,yCb)、
- ルマサンプルにおける現在コーディングブロックの幅を規定する変数cbWidth、
- ルマサンプルにおける現在コーディングブロックの高さを規定する変数cbHeight。
このプロセスにて、クロマイントラ予測モードIntraPredModeC[xCb][yCb]が導出される。
対応するルマイントラ予測モードlumaIntraPredModeが、次のように導出される:
- intra_lwip_flag[xCb][yCb]が1に等しい場合、lumaIntraPredModeは、以下の順序付けられたステップによって導出される:
i. 8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、ルマサンプルにおける現在コーディングブロックの幅cbWidth及びルマサンプルにおける現在コーディングブロックの高さcbHeightを入力として呼び出され、その出力が変数sizeIdに割り当てられる;
ii. 表8-X3に規定されるようにIntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]及びsizeIdを使用し、candIntraPredModeXの値をlumaIntraPredModeに割り当てて、ルマイントラ予測モードが導出される;
- そうでない場合、lumaIntraPredModeは、IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]に等しく設定される。
クロマイントラ予測モードIntraPredModeC[xCb][yCb]が、表8-2及び表8-3に規定されるようにintra_chroma_pred_mode[xCb][yCb]及びlumaIntraPredModeを使用して導出される。

xxx. イントラサンプル予測
<begin>
このプロセスへの入力は以下である:
- 現在変換ブロックの左上サンプルを現在ピクチャの左上サンプルに対して規定するサンプル位置(xTbCmp,yTbCmp)、
- イントラ予測モードを規定する変数predModeIntra、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
コーディングブロック幅を規定する変数nCbW、
コーディングブロック高さを規定する変数nCbH、
- 現在ブロックのカラーコンポーネントを規定する変数cIdx。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
予測サンプルpredSamples[x][y]は次のように導出される:
- intra_lwip_flag[xTbCmp][yTbCmp]が1に等しく、且つcIdxが0に等しい場合、8.4.4.2.X1節に規定されるアフィン線形加重イントラサンプル予測プロセスが、位置(xTbCmp,yTbCmp)、イントラ予測モードpredModeIntra、変換ブロック幅nTbW及び高さnTbHを入力として呼び出され、その出力がpreSamplesである;
- そうでない場合、8.4.4.2.X1節に規定される一般的なイントラサンプル予測プロセスが、位置(xTbCmp,yTbCmp)、イントラ予測モードpredModeIntra、変換ブロック幅nTbW及び高さnTbH、コーディングブロック幅nCbW及び高さnCbH、並びに変数cIdxを入力として呼び出され、その出力がpreSamplesである。
8.4.4.2.X1 アフィン線形加重イントラサンプル予測
このプロセスへの入力は以下である:
- 現在変換ブロックの左上サンプルを現在ピクチャの左上サンプルに対して規定するサンプル位置(xTbCmp,yTbCmp)、
- イントラ予測モードを規定する変数predModeIntra、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
8.4.X.1節に規定されるブロックのサイズタイプ導出プロセスが、変換ブロック幅nTbW及び変換ブロック高さnTbHを入力として呼び出され、その出力が変数sizeIdに割り当てられる。
変数numModes、boundarySize、predW、predH、及びpredCが、表8-X4に規定されるようにsizeIdを使用して導出される。
Figure 2022535726000102
フラグisTransposedが次のように導出される:
isTransposed=(predModeIntra>(numModes/2))?1:0 (8-X15)
フラグneedUpsBdryHor及びneedUpsBdryVerが次のように導出される:
needUpsBdryHor=(nTbW>predW)?TRUE:FALSE (8X16)
needUpsBdryVer=(nTbH>predH)?TRUE:FALSE (8X17)
変数upsBdryW及びupsBdryHが次のように導出される:
upsBdryW=(nTbH>nTbW)?nTbW:predW (8-X18)
upsBdryH=(nTbH>nTbW)?predH:nTbH (8-X19)
変数lwipW及びlwipHが次のように導出される:
lwipW=(isTransposed==1)?predH:predW (8-X20)
lwipH=(isTransposed==1)?predW:predH (8-X21)
x=0..nTbW-1での参照サンプルrefT[x]及びy=0..nTbH-1での参照サンプルrefL[y]の生成のために、8.4.4.2.X2節に規定される参照サンプル導出プロセスが、サンプル位置(xTbCmp,yTbCmp)、変換ブロック幅nTbW、変換ブロック高さnTbHを入力とし、x=0..nTbW-1での上参照サンプルrefT[x]及びy=0..nTbH-1での左参照サンプルrefL[y]を出力として呼び出される。
x=0..2*boundarySize-1での境界サンプルp[x]の生成のために、以下が適用される:
- 8.4.4.2.X3節に規定される境界減少プロセスが、上参照サンプルに対して、ブロックサイズnTbW、参照サンプルrefT、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryVer、及びアップサンプリング境界サイズupsBdryWを入力とし、x=0..boundrySize-1での減少境界サンプルredT[x]及びx=0..upsBdryW-1でのアップサンプリング境界サンプルupsBdryT[x]を出力として呼び出される。
- 8.4.4.2.X3項に規定される境界減少プロセスが、左参照サンプルに対して、ブロックサイズnTbH、参照サンプルrefL、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryHor、及びアップサンプリング境界サイズupsBdryHを入力とし、x=0..boundrySize-1での減少境界サンプルredL[x]及びx=0..upsBdryH-1でのアップサンプリング境界サンプルupsBdryL[x]を出力として呼び出される。
- 減少された上及び左境界サンプルredT及びredLが、次のように境界サンプルアレイpに割り当てられる:
- isTransposedが1に等しい場合、p[x]が、x=0..boundarySize-1でredL[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される;
- そうでない場合、p[x]が、x=0..boundarySize-1でredT[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される。
predModeIntraに従ったイントラサンプル予測プロセスのために、以下の順序付けられたステップが適用される:
1. x=0..lwipW-1,y=0..lwipH-1でのアフィン線形加重サンプルpredLwip[x][y]が、次のように導出される:
- 変数modeIdが次のように導出される:
modeId=predModeIntra-(isTransposed==1)?(numModes/2):0 (8-X22)
- x=0..2*boundarySize-1,y=0..predC*predC-1での重み行列mWeight[x][y]が、表8-XX[TBD:重み行列の加算]に規定されるようにsizeId及びmodoIdを用いて導出される;
- y=0..predC*predC-1でのバイアスベクトルvBias[y]が、表8-XX[TBD:バイアスベクトルの加算]に規定されるようにsizeId及びmodeIdを用いて導出される;
- 変数sWが、表8-X5に規定されるようにsizeId及びmodeIdを用いて導出される;
- x=0..lwipW-1,y=0..lwipH-1でのアフィン線形加重サンプルpredLwip[x][y]が、次のように導出される:
Figure 2022535726000103
2. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- isTransposedが1に等しい場合、x=0..predW-1,y=0..predH-1でのpredLwip[x][y]がpredLwip[y][x]に等しく設定される;
- needUpsBdryVerがTRUEに等しい又はneedUpsBdryHorがTRUEに等しい場合、8.4.4.2.X4節に規定される予測アップサンプリングプロセスが、入力ブロック幅predW、入力ブロック高さpredH、アフィン線形加重サンプルpredLwip、変換ブロック幅nTbW、変換ブロック高さnTbH、アップサンプリング境界幅upsBdryW、アップサンプリング境界高さupsBdryH、上アップサンプリング境界サンプルupsBdryT、及び左アップサンプリング境界サンプルupsBdryLを入力として呼び出され、その出力が予測サンプルアレイpredSamplesである;
- それ以外の場合、x=0..nTbW-1,y=0..nTbH-1でのpredSamples[x][y]がpredLwip[x][y]に等しく設定される。
Figure 2022535726000104
8.4.4.2.X2 参照サンプル導出プロセス
このプロセスへの入力は以下である:
- 現在変換ブロックの左上ルマサンプルを現在ピクチャの左上ルマサンプルに対して規定するサンプル位置(xTbY,yTbY)、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1での上参照サンプルrefT[x]及びy=0..nTbH-1での左参照サンプルrefL[y]である。
x=0..nTbW-1での隣接サンプルrefT[x]及びy=0..nTbH-1でのrefL[y]は、インループフィルタプロセスに先立つ構築サンプルであり、次のように導出される:
- 上隣接ルマ位置(xNbT,yNbT)及び左隣接ルマ位置(xNbL,yNbL)が:
(xNbT,yNbT)=(xTbY+x,yTbY-1) (8-X28)
(xNbL,yNbL)=(xTbY-1,yTbY+y) (8-X29)
によって規定される;
- 6.4.X節[Ed.(BB):隣接ブロック利用可能性チェックプロセスtbd]に規定されるブロックの利用可能性導出プロセスが、(xTbY,yTbY)に等しく設定される現在ルマ位置(xCurr,yCurr)及び上隣接ルマ位置(xNbT,yNbT)を入力として呼び出され、その出力が、x=0..nTbW-1でのavailTop[x]に割り当てられる;
- 6.4.X節[Ed.(BB):隣接ブロック利用可能性チェックプロセスtbd]に規定されるブロックの利用可能性導出プロセスが、(xTbY,yTbY)に等しく設定される現在ルマ位置(xCurr,yCurr)及び左隣接ルマ位置(xNbL,yNbL)を入力として呼び出され、その出力が、y=0..nTbH-1でのavailLeft[y]に割り当てられる;
- x=0..nTbW-1での上参照サンプルrefT[x]が次のように導出される:
- x=0..nTbW-1での全てのavailTop[x]がTRUEに等しい場合、その位置(xNbT,yNbT)のサンプルが、x=0..nTbW-1でのrefT[x]に割り当てられる;
- そうでなく、availTop[0]がFALSEに等しい場合、x=0..nTbW-1での全てのrefT[x]が、1<<(BitDepthY-1)に等しく設定される;
- それ以外の場合、x=0..nTbW-1での参照サンプルrefT[x]は、以下の順序付けられたステップによって導出される:
1. 変数lastTが、FALSEに等しいx=0..nTbW-1でのシーケンスavailTop[x]の最初の要素の位置xに等しく設定される;
2. 全てのx=0..lastT-1に対して、位置(xNbT,yNbT)のサンプルがrefT[x]に割り当てられる;
3. 全てのx=lastT..nTbW-1に対して、refT[x]はrefT[lastT-1]に等しく設定される;
- y=0..nTbH-1での左参照サンプルrefL[x]が次のように導出される:
- y=0..nTbH-1での全てのavailLeft[y]がTRUEに等しい場合、その位置(xNbL,yNbL)のサンプルが、y=0..nTbH-1でのrefL[y]に割り当てられる;
- そうでなく、availLeft[0]がFALSEに等しい場合、y=0..nTbH-1での全てのrefL[y]が、1<<(BitDepthY-1)に等しく設定される;
- それ以外の場合、y=0..nTbH-1での参照サンプルrefL[y]は、以下の順序付けられたステップによって導出される:
1. 変数lastLが、FALSEに等しいy=0..nTbH-1でのシーケンスavailLeft[y]の最初の要素の位置yに等しく設定される;
2. 全てのy=0..lastL-1に対して、位置(xNbL,yNbL)のサンプルがrefL[y]に割り当てられる;
3. 全てのy=lastL..nTbH-1に対して、refL[y]はrefL[lastL-1]に等しく設定される。
境界減少プロセスの仕様
このプロセスへの入力は以下である:
- 変換ブロックサイズを規定する変数nTbX、
- x=0..nTbX-1での参照サンプルrefX[x]、
- ダウンサンプリングした境界サイズを規定する変数boundarySize、
- アップサンプリングに中間境界サンプルが必要であるかを規定するフラグneedUpsBdryX、
- アップサンプリングに関する境界サイズを規定する変数upsBdrySize。
このプロセスの出力は、x=0..boundarySize-1での減少境界サンプルredX[x]及びx=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]である。
x=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]は、次のように導出される:
- needUpsBdryXがTRUEに等しく、且つupsBdrySizeがnTbXより小さい場合、以下が適用される:
Figure 2022535726000105
- そうでない場合(upsBdrySizeがnTbXに等しい)、upsBdryX[x]はrefX[x]に等しく設定される。
x=0..boundarySize-1での減少境界サンプルredX[x]は次のように導出される:
- boundarySizeがupsBdrySizeより小さい場合、以下が適用される:
Figure 2022535726000106
- そうでない場合(boundarySizeがupsBdrySizeに等しい)、redX[x]はupsBdryX[x]に等しく設定される。
8.4.4.2.X4 予測アップサンプリングプロセスの仕様
このプロセスへの入力は以下である:
- 入力ブロック幅を規定する変数predW、
- 入力ブロック高さを規定する変数predH、
- x=0..predW-1,y=0..predH-1でのアフィン線形加重サンプルpredLwip[x][y]、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- アップサンプリング境界幅を規定する変数upsBdryW、
- アップサンプリング境界高さを規定する変数upsBdryH、
- x=0..upsByW-1での上アップサンプリング境界サンプルupsBdryT[x]、
- x=0..upsBdryH-1での左アップサンプリング境界サンプルupsBdryL[x]。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
x=0..predW-1,y=0..predH-1でのpredLwip[x][y]から、疎な予測サンプルpredSamples[m][n]が、次のように導出される:
upHor=nTbW/predW (8-X34)
upVer=nTbH/predH (8-X35)
predSamples[(x+1)*upHor-1][(y+1)*upVer-1]=predLwip[x][y] (8-X36)
次のように、x=0..upsBdryW-1での上境界サンプルupsBdryT[x]がpredSamples[m][-1]に割り当てられる:
predSamples[(x+1)*(nTbW/upsBdryW)-1][-1]=upsBdryT[x] (8-X37)
y=0..upsBdryH-1での左境界サンプルupsBdryL[y]が、次のように、predSamples[-1][n]に割り当てられる:
predSamples[-1][(y+1)*(nTbH/upsBdryH)-1]=upsBdryL[y] (8-X38)
x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- nTbHがnTbWより大きい場合、以下の順序付けられたステップが適用される:
1. upHorが1より大きい場合、m=0..predW-1,n=1..predHでの全ての疎な位置(xHor,yHor)=(m*upHor-1,n*upVer-1)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される:
predSamples[xHor+dX][yHor]=((upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor])/upHor (8-X39)
2. m=0..nTbW-1,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される:
predSamples[xVer][yVer+dY]=((upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer])/upVer (8-X40)
- そうでない場合、以下の順序付けられたステップが適用され:
1. upVerが1より大きい場合、m=1..predW,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m*upHor-1,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、(8-X40)に規定されるように適用される;
2. m=0..predW-1,n=0..nTbH-1での全ての疎な位置(xHor,yHor)=(m*upHor-1,n)に対する水平アップサンプリングが、dX=1..upHor-1として、(8-X39)に規定されるように適用される。
<end>
Figure 2022535726000107
Figure 2022535726000108
Figure 2022535726000109
<end>
ALWIPの概要
幅W及び高さHの矩形ブロックのサンプルを予測するために、アフィン線形加重イントラ予測(ALWIP)は、ブロックの左の1ラインのH個の再構成隣接境界サンプルと、ブロックの上の1ラインのW個の再構成隣接境界サンプルとを入力としてとる。これらの再構成サンプルが利用可能でない場合には、それらは、従来からのイントラ予測において行われている通りに生成される。ALWIPはルマイントラブロックにのみ適用される。クロマイントラブロックについては、従来からのイントラコーディングモードが適用される。
予測信号の生成は、次の3つのステップに基づく。
1. 境界サンプルから、W=H=4のケースで4つのサンプル、それ以外の全てのケースで8つのサンプルが、平均することによって抽出される。
2. それら平均したサンプルを入力として、行列ベクトル乗算及びそれに続くオフセットの加算が実行される。その結果は、元のブロック内のサンプルのサブサンプリングされたセットについての減少された予測信号である。
3. サブサンプリングされたセットについての予測信号から、残りの位置の予測信号が、各方向に単一ステップの線形補間である線形補間によって生成される。
ALWIPモードが適用される場合、ALWIPモードのインデックスpredmodeが、3つのMPMSを有するMPMリストを用いて信号伝達される。ここで、MPMの導出は、以下のように、上及び左PUのイントラモードを用いて行われる。従来からのイントラ予測モードpredmodeAngularの各々にALWIPモードを割り当てる3つの固定テーブルmap_angular_to_alwipidx,idx∈{0,1,2}が存在する:
predmodeALWIP=map_angular_to_alwipidx[predmodeAngular
幅W及び高さHの各PUに対して、3つのセットのうちのどれからALWIPパラメータが取られるかを指し示すインデックス:
idx(PU)=idx(W,H)∈{0,1,2}
を定義する。
上予測ユニットPUaboveが利用可能であり、現在PUと同じCTUに属し、且つイントラモードにある場合であって、idx(PU)=idx(PUabove)であり且つALWIPがALWIPモードpredmodeALWIP aboveでPUaboveに適用される場合、
Figure 2022535726000110
とする。
上PUが利用可能であり、現在PUと同じCTUに属し、且つイントラモードにある場合であって、従来からのイントラ予測モードpredmodeAngular aboveが上PUに適用される場合、
Figure 2022535726000111
とする。
その他全てのケースでは、
Figure 2022535726000112
とし、これは、このモードが利用可能でないことを意味する。同じようにして、しかし、左PUが現在PUと同じCTUに属する必要があるという制約なしに、モードmodeALWIP leftを導出する。
最後に、各々が3つの異なるALWIPモードを含む3つの固定デフォルトリストlistidx、idx∈{0,1,2}が提供される。デフォルトリストlistidx(PU)並びにモードmodeALWIP above及びmodeALWIP leftから、-1をデフォルト値に置き換え且つ繰り返しを排除することによって、3つの異なるMPMを構築する。
ルマMPMリスト導出では、ALWIPモードpredmodeALWIPを使用する隣接ルマブロックに遭遇すると常に、このブロックは、あたかも従来からのイントラ予測モードpredmodeAngularを使用しているかのように扱われる。
Figure 2022535726000113
3. VVCにおける変換
3.1 MTS(Multiple Transform Selection)
HEVCで採用されてきたDCT-IIに加えて、マルチ変換選択(MTS)スキームが、インター及びイントラのどちらのコーディングブロックを残差コーディングすることにも使用される。これは、DCT8/DST7から選択される複数の変換を使用する。新たに導入された変換行列はDST-VII及びDCT-VIIIである。
3.2 JVET-N0193で提案されたRST(Reduced Secondary Transform)
RSTは、4×4及び8×8ブロックに対して、それぞれ16×16及び16×64非分離変換を適用する。一次の順変換及び逆変換は依然として2つの1D水平/垂直変換パスと同じ方法で実行される。二次の順変換及び逆変換は、一次変換のそれとは別のプロセスステップである。エンコーダでは、先ず、一次順変換が実行され、二次順変換及び量子化と、CABACビット符号化とが続く。デコーダでは、先ず、CABACビット復号及び逆量子の後に二次逆変換が実行され、次に一次逆変換が続く。RSTは、イントラスライス及びインタースライスの両方でイントラコーディングTUにのみ適用される。
3.3 JVET-N0185におけるイントラモード符号化向けの統一MPMリスト
複数参照ライン(MRL)及びイントラサブパーティション(ISP)コーディングツールが適用されるか否かに関係なく、イントラブロック向けに統一(ユニファイド)6-MPMリストが提案されている。このMPMリストは、VTM4.0においてのように、左及び上の隣接ブロックのイントラモードに基づいて構築される。左のモードをLeftと表記し、上ブロックのモードをAboveと表記すると、統一MPMリストは以下の通りである:
・隣接ブロックが利用可能でないとき、そのイントラモードはデフォルトでPlanarに設定される。
・モードLeft及びAboveの両方が非角度モードである場合:
MPMリスト→{Planar,DC,V,H,V-4,V+4}
・モードLeft及びAboveの一方が角度モードであり、他方が非角度モードである場合:
a. モードMaxをLeftとAboveとの大きい方のモードとして設定する
b. MPMリスト→{Planar,Max,DC,Max-1,Max+1,Max-2}
・Left及びAboveがどちらも角度モードであり且つ相異なる場合:
a. モードMaxをLeftとAboveの大きい方のモードとして設定する;
b. モードLeftとAboveとの差が、両端を含めて2から62の範囲内である場合:
i. MPMリスト→{Planar,Left,Above,DC,Max-1,Max+1}
c. それ以外の場合:
i. MPMリスト→{Planar,Left,Above,DC,Max-2,Max+2}
・Left及びAboveがどちらも角度モードであり且つそれらが同じである場合:
a. MPMリスト→{Planar,Left,Left-1,Left+1,DC,Left-2}
加えて、MPMインデックスコードワードの最初のビンは、CABACコンテキストコーディングされる。現在イントラブロックがMRL有効、ISP有効、又は通常イントラブロックであるかに対応して、合計3つのコンテキストが使用される。
統一MPMリスト構築に使用される左隣接ブロック及び上隣接ブロックは、図10に示すA2及びB2である。
最初に、1つのMPMフラグがコーディングされる。ブロックがMPMリスト内のモードの1つでコーディングされる場合、更にMPMインデックスがコーディングされる。そうでない場合には、残りのモードへのインデックス(MPMを除く)がコーディングされる。
4 既存の実装における欠点の例
JVET-N0217におけるALWIPの設計は以下の問題を有する:
1)2019年3月のJVETミーティングにて、MRLモード、ISPモード、通常イントラモードに対して統一6-MPMリスト生成が採用された。しかし、アフィン線形加重予測モードは異なる3-MPMリスト構築を使用しており、そのことがMPMリスト構築を複雑にする。複雑なMPMリスト構築は、特に例えば4×4サンプルなどの小さいブロックに関して、デコーダのスループットを損ねる可能性がある;
2)ALWIPはブロックのルマコンポーネントにのみ適用される。ALWIPコーディングブロックのクロマコンポーネントについては、クロマモードインデックスがコーディングされてデコーダに送信され、それが不必要な信号伝達をもたらし得る;
3)他のコーディングツールとのALWIPと相互作用を考慮すべきである;
4)次式:
Figure 2022535726000114
にてupsBdryXを計算するとき、Log2(uDwn)-1が-1に等しくなることが可能であり、-1での左シフトが定まらない;
5)予測サンプルをアップサンプリングするとき、丸めが適用されない;
6) デブロッキングプロセスにおいて、ALWIPコーディングブロックは通常イントラブロックとして扱われる;
7)多すぎるコンテキスト(例えば、4つ)がALWIPフラグ(例えば、intra_lwip_flag)をコーディングするときに使用される;
8)垂直アップサンプリング及び水平アップサンプリングの双方が必要であるとき、アップサンプリング順序はブロック形状に依存する。これはハードウェアにとって好都合ではない;
9)線形補間フィルタがアップサンプリングに使用され、これは非効率になり得る;
10)ALWIPにて利用される2段階のダウンサンプリング方法は、不必要な計算複雑性をもたらし得る。さらに、アップサンプリングされる予測ブロックを生成するためにダウンサンプリングされた参照サンプルを用いることは不正確になり得る。
5 マトリクスベースのイントラコーディングに関する例示的方法
ここで開示される技術の実施形態は、既存の実装の欠点を解消し、それにより、より高いコーディング効率及びより低い計算複雑性を有する映像コーディングを提供する。映像コーディングのための行列ベースイントラ予測法は、本文書に記載されるように、既存の及び将来の映像コーディング標準の双方を強化することができ、様々な実装に関して説明される以下の例にて明らかになる。以下に提供される開示技術の例は、一般的概念を説明するものであり、限定するものとして解釈されることを意味するものではない。一例において、そうでないことが明示的に示されない限り、これらの例にて説明される様々な特徴は組み合わされることができる。
以下の説明において、イントラ予測モードは角度イントラ予測モード(DC、プレーナ、CCLM、及び他の取り得るイントラ予測モードを含む)を指し、イントラモードは通常イントラモード、又はMRL、又はISP、又はALWIPを指す。
以下の説明において、“他のイントラモード”は、例えば通常イントラモード、又はMRL、又はISPなどの、ALWIP以外の1つ又は複数のイントラモードを指すとし得る。
以下の説明において、SatShift(x,n)は、
Figure 2022535726000115
として定義され、Shift(x,n)は、Shift(x,n)=(x+offset0)>>nとして定義される。
一例において、offset0及び/又はoffset1は、(1<<n)>>1又は(1<<(n-1))に設定される。他の一例において、offset0及び/又はoffset1は0に設定される。
他の一例において、offset0=offset1=((1<<n)>>1)-1又は((1<<(n-1)))-1である。
Clip3(min,max,x)は、
Figure 2022535726000116
として定義される。
ALWIP向けのMPMリスト構築
1. ALWIP向けのMPMリストの全体又は一部を、非ALWIPイントラモード(例えば通常イントラモード、MRL、又はISPなど)向けのMPMリストを構築するための手順の全体又は一部に従って構築し得ることが提案される;
a. 一例において、ALWIP向けのMPMリストのサイズは、非ALWIPイントラモード向けのMPMリストのサイズと同じとし得る;
i. 例えば、ALWIP及び非ALWIPイントラモードの両方で、MPMリストのサイズは6である;
b. 一例において、ALWIP向けのMPMリストを、非ALWIPイントラモード向けのMPMリストから導出し得る;
i. 一例において、先ず、非ALWIPイントラモード向けのMPMリストを構築し得る。その後、それらの一部又は全てを、ALWIPコーディングブロック用のMPMリストに更に追加され得るMPMへと変換し得る;
1)あるいは、また、変換したMPMをALWIPコーディングブロック用のMPMリストに追加するときに、剪定(プルーニング)を適用してもよい;
2)デフォルトモードを、ALWIPコーディングブロック用のMPMリストに追加してもよい;
a. 一例において、非ALWIPイントラモードのMPMリストから変換されたものの前にデフォルトモードを追加し得る;
b. 代わりに、非ALWIPイントラモードのMPMリストから変換されたものの後にデフォルトモードを追加してもよい;
c. 代わりに、非ALWIPイントラモードのMPMリストから変換されたものとインターリーブさせるようにデフォルトモードを追加してもよい;
d. 一例において、デフォルトモードは、全ての種類のブロックに対して同一であるように固定にされ得る;
e. 代わりに、デフォルトモードは、例えば隣接ブロックの利用可能性、隣接ブロックのモード情報、ブロック寸法など、コーディングされる情報に従って決定されてもよい;
ii. 一例において、非ALWIPイントラモード用のMPMリスト内の1つのイントラ予測モードが、それがALWIP用のMPMリストに入れられるときに、それに対応するALWIPイントラ予測モードへと変換され得る;
1)あるいは、非ALWIPイントラモード用のMPMリスト内の全てのイントラ予測モードが、ALWIP用のMPMリストを構築するために使用される前に、対応するALWIPイントラ予測モードに変換されてもよい;
2)あるいは、非ALWIPイントラモード用のMPMリストがALWIP用のMPMリストを導出するために更に使用する得る場合に、全ての候補イントラ予測モード(隣接ブロックからのイントラ予測モードと例えばプレーナ及びDCなどのデフォルトイントラ予測モードとを含み得る)が、非ALWIPイントラモード向けのMPMリストを構築するために使用される前に、対応するALWIPイントラ予測モードに変換されてもよい;
3)一例において、2つの変換されたALWIPイントラ予測モードが比較され得る;
a. 一例において、それらが同じである場合、それらのうちの一方のみがALWIP用のMPMリストに入れられ得る;
b. 一例において、それらが同じである場合、それらのうちの一方のみが非ALWIPイントラモード用のMPMリストに入れられ得る;
iii. 一例において、非ALWIPイントラモード用のMPMリスト内のS個のイントラ予測モードのうちのK個を、ALWIPモード向けのMPMリストとして選び得る。例えば、Kは3に等しく、Sは6に等しい;
1)一例において、非ALWIPイントラモード用のMPMリスト内の最初のK個のイントラ予測モードが、ALWIPモード向けのMPMリストとして選ばれてもよい;
2. ALWIP向けのMPMリストを導出するのに使用される1つ又は複数の隣接ブロックが、非ALWIPイントラモード(例えば通常イントラモード、MRL、又はISPなど)向けのMPMリストを導出するのにも使用され得ることが提案される;
a. 一例において、ALWIP用のMPMリストを導出するのに使用される現在ブロックの左の隣接ブロックは、非ALWIPイントラモード用のMPMリストを導出するのに使用されるものと同じであるべきである;
i. 現在ブロックの左上隅が(xCb,yCb)であり、現在ブロックの幅及び高さがW及びHであるとすると、一例において、ALWIP及び非ALWIPイントラモードの双方用のMPMリストを導出するのに使用される左隣接ブロックは位置(xCb-1,yCb)をカバーし得る。代わりの一例において、ALWIP及び非ALWIPイントラモードの双方用のMPMリストを導出するのに使用される左隣接ブロックは位置(xCb-1,yCb+H-1)をカバーし得る;
ii. 例えば、統一MPMリスト構築に使用される左隣接ブロック及び上隣接ブロックは、図10に示すA2及びB2である;
b. 一例において、ALWIP用のMPMリストを導出するのに使用される現在ブロックの上の隣接ブロックは、非ALWIPイントラモード用のMPMリストを導出するのに使用されるものと同じであるべきである;
i. 現在ブロックの左上隅が(xCb,yCb)であり、現在ブロックの幅及び高さがW及びHであるとすると、一例において、ALWIP及び非ALWIPイントラモードの双方用のMPMリストを導出するのに使用される上隣接ブロックは位置(xCb,yCb-1)をカバーし得る。代わりの一例において、ALWIP及び非ALWIPイントラモードの双方用のMPMリストを導出するのに使用される上隣接ブロックは位置(xCb+W-1,yCb-1)をカバーし得る;
ii. 例えば、統一MPMリスト構築に使用される左隣接ブロック及び上隣接ブロックは、図10に示すA1及びB1である;
3. ALWIP向けのMPMリストが現在ブロックの幅及び/又は高さに応じて異なる方法で構築され得ることが提案される;
a. 一例において、異なるブロック寸法では異なる隣接ブロックがアクセスされ得る;
4. ALWIP向けのMPMリスト及び非ALWIPイントラモード向けのMPMリストが、同じ手順であるが異なるパラメータを用いて構築され得ることが提案される;
a. 一例において、非ALWIPイントラモードのMPMリスト構築手順におけるS個のイントラ予測モードのうちのK個が、ALWIPモードにおいて使用されるMPMリストのために導出され得る。例えば、Kは3に等しく、Sは6に等しい;
i. 一例において、MPMリスト構築手順における最初のK個のイントラ予測モードが、ALWIPモードにおいて使用されるMPMリストのために導出され得る;
b. 一例において、MPMリスト内の最初のモードは異なり得る;
i. 例えば、非ALWIPイントラモード用のMPMリスト内の最初のモードはPlanarであり得るが、ALWIP用のMPMリストではMode X0であってもよい;
1)一例において、X0は、Planarから変換されたALWIPイントラ予測モードとし得る;
c. 一例において、MPMリストにおけるスタッフィングモードが異なってもよい;
i. 例えば、非ALWIPイントラモード用のMPMリストの最初の3つのスタッフィングモードは、DC、Vertical及びHorizontalであり得るが、それらはALWIP用のMPMリストではMode X1、X2、X3であってもよい;
1)一例において、X1、X2、X3は、異なるsizeIdに対して異なってもよい;
ii. 一例において、スタッフィングモードの数が異なってもよい;
d. 一例において、MPMリストにおける隣接モードが異なってもよい;
i. 例えば、隣接ブロックの通常イントラ予測モードが、非ALWIPイントラモード用のMPMリストを構築するのに使用される。そして、それらが、ALWIPモード用のMPMリストを構築するためのALWIPイントラ予測モードに変換される;
e. 一例において、MPMリストにおけるシフトされたモードが異なってもよい;
i. 例えば、Xは通常イントラ予測モードであり、K0は整数であるとして、X+K0が、非ALWIPイントラモード用のMPMリストに入れられ得る。そして、YはALWIPイントラ予測モードであり、K1は整数であるとして、Y+K1が、ALWIP用のMPMリストに入れられることができ、K0はK1とは異なり得る;
1)一例において、K1は幅及び高さに依存し得る;
5. 非ALWIPイントラモードで現在ブロック用のMPMリストを構築する際に、隣接ブロックが、それがALWIPでコーディングされる場合に、利用可能でないとして扱われることが提案される;
a. あるいは、非ALWIPイントラモードで現在ブロック用のMPMリストを構築する際に、隣接ブロックが、それがALWIPでコーディングされる場合に、予め定められたイントラ予測モード(例えばPlanarなど)でコーディングされるとして扱われる;
6. ALWIPイントラモードで現在ブロック用のMPMリストを構築する際に、隣接ブロックが、それが非ALWIPイントラモードでコーディングされる場合に、利用可能でないとして扱われることが提案される;
a. あるいは、ALWIPイントラモードで現在ブロック用のMPMリストを構築する際に、隣接ブロックが、それが非ALWIPイントラモードでコーディングされる場合に、予め定められたALWIPイントラモードXでコーディングされるとして扱われる;
i. 一例において、Xは、例えば幅及び/又は高さなどのブロック寸法に依存し得る;
7. ラインバッファからALWIPフラグの格納を除去することが提案される;
a. 一例において、アクセスされる2番目のブロックが現在ブロックとは異なるLCU/CTU行/領域に位置する場合に、2番目のブロックがALWIPでコーディングされるかの条件チェックがスキップされる;
b. 一例において、アクセスされる2番目のブロックが現在ブロックとは異なるLCU/CTU行/領域に位置する場合に、2番目のブロックは、例えば通常イントラコーディングブロックとして扱われるなど、非ALWIPモードと同じように扱われる;
8. ALWIPフラグを符号化するときに、K(K>=0)個以下のコンテキストが使用され得る;
a. 一例において、K=1である;
9. ALWIPモードに関連するモードインデックスを直接格納する代わりに、ALWIPコーディングブロックの変換されたイントラ予測モードを格納することが提案される;
a. 一例において、1つのALWIPコーディングブロックに関連する復号されたモードインデックスが、例えばセクション2.5.7に記載されるようなmap_alwip_to_angularに従ってなどで、通常イントラモードにマッピングされる;
b. あるいは、さらに、ALWIPフラグの格納が完全に除去される;
c. あるいは、さらに、ALWIPモードの格納が完全に除去される;
d. あるいは、さらに、1つの隣接/現在ブロックがALWIPフラグでコーディングされるかの条件チェックがスキップされ得る;
e. あるいは、さらに、ALWIPコーディングブロックに割り当てられるモードとアクセスされる1つのブロックに関連する通常イントラ予測の変換がスキップされ得る;
異なるカラーコンポーネントに対するALWIP
10. 対応するルマブロックがALWIPモードでコーディングされる場合に、推定されるクロマイントラモード(例えば、DMモード)が常に適用され得ることが提案される;
a. 一例において、対応するルマブロックがALWIPモードでコーディングされる場合、信号伝達なしで、クロマイントラモードはDMモードであると推定される;
b. 一例において、対応するルマブロックは、所与の位置(例えば、現在クロマブロックの左上、現在クロマブロックの中心)にあるクロマサンプルの対応するサンプルをカバーするものであるとし得る;
c. 一例において、例えばその(ALWIP)モードを通常イントラモードの1つにマッピングすることによってなどで、対応するルマブロックのイントラ予測モードに従ってDMモードが導出され得る;
11. クロマブロックの対応するルマブロックがALWIPモードでコーディングされる場合に、幾つかのDMモードが導出され得る;
12. 1つの対応するルマブロックがALWIPモードでコーディングされる場合に、特別なモードがクロマブロックに割り当てられることが提案される;
a. 一例において、特別なモードは、ALWIPコーディングブロックに関連するイントラ予測モードにかかわらず、所与の通常イントラ予測モードであるように定められる;
b. 一例において、この特別なモードに複数の異なるやり方のイントラ予測が割り当てられ得る;
13. ALWIPがクロマコンポーネントにも適用され得ることが提案される;
a. 一例において、行列及び/又はバイアスベクトルは、異なるカラーコンポーネントに対して異なり得る;
b. 一例において、行列及び/又はバイアスベクトルは、Cb及びCrに対して連帯して定められ得る;
i. 一例において、Cb及びCrコンポーネントが連結され得る;
ii. 一例において、Cb及びCrコンポーネントがインターリーブされ得る;
c. 一例において、クロマコンポーネントは、対応するルマブロックと同じALWIPイントラ予測モードを共有し得る;
i. 一例において、対応するルマブロックがALWIPモードを適用し、且つクロマブロックがDMモードでコーディングされる場合に、同じALWIPイントラ予測モードがクロマコンポーネントに適用される;
ii. 一例において、同じALWIPイントラ予測モードがクロマコンポーネントに適用され、その後の線形補間がスキップされ得る;
iii. 一例において、同じALWIPイントラ予測モードが、サブサンプリングされた行列及び/又はバイアスベクトルを用いてクロマコンポーネントに適用される;
d. 一例において、異なるコンポーネントに対してALWIPイントラ予測モードの数が異なってもよい;
i. 例えば、クロマコンポーネントに対するALWIPイントラ予測モードの数は、同じブロック幅及び高さのルマコンポーネントに対するものより少ないとし得る;
ALWIPの適用可能性
14. ALWIPを適用することができるかが信号伝達され得ることが提案される;
a. 例えば、それは、シーケンスレベルで(例えば、SPS内で)、ピクチャレベルで(例えば、PPS又はピクチャヘッダ内で)、スライスレベルで(例えば、スライスヘッダ内で)、タイルグループレベルで(例えば、タイルグループヘッダ内で)、タイルレベルで、CTU行レベルで、又はCTUレベルで信号伝達され得る;
b. 例えば、ALWIPを適用することができない場合、intra_lwip_flagは信号伝達されずに、0であると推定され得る;
15. ALWIPを適用することができるかがブロック幅(W)及び/又は高さ(H)に依存し得ることが提案される;
c. 例えば、W>=T1(又はW>T1)且つH>=T2(又はH>T2)の場合(例えば、T1=T2=32)、ALWIPは適用されることができないとし得る;
i. 例えば、W<=T1(又はW<T1)且つH<=T2(又はH<T2)の場合(例えば、T1=T2=32)、ALWIPは適用されることができないとし得る;
d. 例えば、W>=T1(又はW>T1)又はH>=T2(又はH>T2)の場合(例えば、T1=T2=32)、ALWIPは適用されることができないとし得る;
i. 例えば、W<=T1(又はW<T1)又はH<=T2(又はH<T2)の場合(例えば、T1=T2=32)、ALWIPは適用されることができないとし得る;
e. 例えば、W+H>=T(又はW+H>T)の場合(例えば、T=256)、ALWIPは適用されることができないとし得る;
i. 例えば、W+H<=T(又はW+H<T)の場合(例えば、T=256)、ALWIPは適用されることができないとし得る;
f. 例えば、W*H>=T(又はW*H>T)の場合(例えば、T=256)、ALWIPは適用されることができないとし得る;
i. 例えば、W*H<=T(又はW*H<T)の場合(例えば、T=256)、ALWIPは適用されることができないとし得る;
g. 例えば、ALWIPを適用することができない場合、intra_lwip_flagは信号伝達されずに、0であると推定され得る;
ALWIPにおける計算問題
16. ALWIPに関与するシフト演算は、Sは0以上でなければならないとして、Sだけ数を左シフト又は右シフトするのみとすることができることが提案される;
a. 一例において、Sが0であるとき又は0より大きいときに、右シフト演算は異なるとし得る;
i. 一例において、upsBdryX[x]は、
uDwn>1のとき、
Figure 2022535726000117
として計算されるべきであり、
uDwnが1に等しいとき、
Figure 2022535726000118
として計算されるべきである;
b. 一例において、upsBdryX[x]は、
Figure 2022535726000119
として計算されるべきである;
17. それた結果が、ALWIPのアップサンプリングプロセスにおいてゼロに向かう方に又はゼロから遠ざかる方に丸められるべきであることが提案される;
i. 一例において、
predSamples[xHor+dX][yHor]=((upHor-dX)*predSamples[xHor][yHor]+dX*predSamples[xHor+upHor][yHor]+offsetHor)/upHor (8-X39)
及び
predSamples[xVer][yVer+dY]=((upVer-dY)*predSamples[xVer][yVer]+dY*predSamples[xVer][yVer+upVer]+offsetVer)/upVer (8-X40)
であり、ここで、offsetHor及びoffsetVerは整数である。例えば、offsetHor=upHor/2、且つoffsetVer=upVer/2である;
他のコーディングツールとの相互作用
18. ALWIPがCIIPコーディングブロックに使用され得ることが提案される;
a. 一例において、CIIPコーディングブロックにおいて、イントラ予測信号を生成するためにALWIPイントラ予測モードが使用されるのか、それとも例えばプレーナなどの通常イントラ予測モードが使用されるのかが、明示的に信号伝達され得る;
b. 一例において、イントラ予測信号を生成するためにALWIPイントラ予測モードが使用されるのか、それとも例えばプレーナなどの通常イントラ予測モードが使用されるのかが、暗示的に推定され得る;
i. 一例において、CIIPコーディングブロックではALWIPイントラ予測モードは決して使用されないとし得る;
1)代わりに、CIIPコーディングブロックでは通常イントラ予測が決して使用されないとしてもよい;
ii. 一例において、イントラ予測信号を生成するためにALWIPイントラ予測モードが使用されるのか、それとも例えばプレーナなどの通常イントラ予測モードが使用されるのかが、隣接ブロックの情報から推定されてもよい;
19. CCLMモードにおいて隣接ルマサンプルをダウンサンプリングするために使用される手順の全体又は一部が、ALWIPモードにおいて隣接サンプルをダウンサンプリングするために使用され得ることが提案される;
a. あるいは、ALWIPモードにおいて隣接ルマサンプルをダウンサンプリングするために使用される手順の全体又は一部が、CCLMモードにおいて隣接サンプルをダウンサンプリングするために使用されてもよい;
b. ダウンサンプリング手順は、CCLMプロセスで使用されるときとALWIPプロセスで使用されるときとで異なるパラメータ/引数で呼び出され得る;
c. 一例において、CCLMプロセスにおけるダウンサンプリング方法(例えば隣接ルマ位置の選択、ダウンサンプリングフィルタなど)が、ALWIPプロセスにおいて利用され得る;
d. 隣接ルマサンプルをダウンサンプリングする手順は、少なくとも、ダウンサンプリングされる位置の選択、ダウンサンプリングフィルタ、丸め、クリッピング演算を含む;
20. ALWIPモードでコーディングされるブロックは、RST又は/及び二次変換又は/及び回転変換又は/及び非分離二次変換(Non-Separable Secondary Transform;NSST)を適用できないことが提案される;
a. 一例において、そのような制約が適用され得るか否かは、例えば、(15)に記載される条件と同じ、ブロックの寸法情報に依存し得る;
b. あるいは、RST又は/及び二次変換又は/及び回転変換又は/及びNSSTが適用される場合、ALWIPモードは許可されないとし得る;
c. あるいは、ALWIPモードでコーディングされるブロックは、RST又は/及び二次変換又は/及び回転変換又は/及び非分離二次変換(NSST)を適用することができてもよい;
i. 一例において、変換行列の選択はALWIPイントラ予測モードに依存し得る;
ii. 一例において、変換行列の選択は、ALWIPイントラ予測モードから変換される通常イントラ予測モードに依存し得る;
iii. 一例において、変換行列の選択は、ALWIPイントラ予測モードから変換される通常イントラ予測モードについての分類に依存し得る;
21. ALWIPモードでコーディングされるブロックは、ブロックベースDPCM(BDPCM)又は残差RDPCMを適用できないことが提案される;
a. あるいは、BDPCM又はRDPCMが適用される場合、ALWIPモードは許可されないとし得る;
22. ALWIPモードでコーディングされるブロックは、変換としてDCT-IIのみを使用し得ることが提案される;
a. 一例において、変換行列インデックスの信号伝達は常にスキップされる;
b. あるいは、ALWIPモードでコーディングされるブロックに使用される変換が、明示的に信号伝達される代わりに暗示的に導出され得ることが提案される。例えば、JVET-M0303で提案されている手法に従って変換が選択されてもよい;
c. 代わりに、ALWIPモードでコーディングされるブロックは変換スキップのみを使用し得ることが提案される;
i. あるいは、さらに、ALWIPが使用されるとき、変換スキップの使用を示すインジケーションの信号伝達がスキップされる;
d. 一例において、ALWIPモード情報(例えば、有効/無効、予測モードインデックスなど)は、変換行列のインジケーションの後に条件付きで信号伝達され得る;
i. 一例において、所与の変換行列(例えば、変換スキップ又はDCT-II)に対して、ALWIPモード情報のインジケーションが信号伝達され得る;
ii. あるいは、さらに、ALWIPモード情報のインジケーションは、一部の予め定められた変換行列に対してスキップされてもよい;
23. ALWIPモードでコーディングされるブロックは、選択された変換がモード依存であるときに、ALWIPイントラ予測モードから変換された通常イントラ予測でコーディングされるとみなされることが提案される;
24. ALWIPモードは変換スキップを使用しないとし得る;
a. 例えば、この場合に変換スキップの使用のインジケーションを更に信号伝達する必要はない;
b. あるいは、変換スキップが適用されるとき、ALWIPモードは許可されないとし得る;
i. 例えば、この場合において変換スキップが適用されるとき、ALWIPモード情報を信号伝達する必要はない;
25. 例えばデブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)などのフィルタリングプロセスにおいて、どのようにフィルタを選択するか、及び/又はサンプルをフィルタすべきかは、ALWIPの使用によって決定され得る;
26. フィルタリングされていない隣接サンプルがALWIPモードで使用され得る;
a. あるいは、フィルタリングされた隣接サンプルがALWIPモードで使用されてもよい;
b. 一例において、フィルタリングされた隣接サンプルがダウンサンプリングに使用され得るとともに、フィルタリングされていない隣接サンプルがアップサンプリングに使用され得る;
c. 一例において、フィルタリングされていない隣接サンプルがダウンサンプリングに使用され得るとともに、フィルタリングされた隣接サンプルがアップサンプリングに使用され得る;
d. 一例において、フィルタリングされた左隣接サンプルがアップサンプリングに使用され得るとともに、フィルタリングされていない上隣接サンプルがアップサンプリングに使用され得る;
e. 一例において、フィルタリングされていない左隣接サンプルがアップサンプリングに使用され得るとともに、フィルタリングされた上隣接サンプルがアップサンプリングに使用され得る;
f. 一例において、フィルタリングされた隣接サンプルが使用されるのか、それともフィルタリングされていない隣接サンプルが使用されるのかは、ALWIPモードに依存し得る;
i. 一例において、ALWIPモードが伝統的なイントラ予測モードに変換されてもよく、フィルタリングされた隣接サンプルが使用されるのか、それともフィルタリングされていない隣接サンプルが使用されるのかは、変換された伝統的イントラ予測モードに依存し得る。例えば、そのような決定は伝統的なイントラ予測モードと同じである;
ii. あるいは、ALWIPモードにたいして、フィルタリングされた隣接サンプルが使用されるのか、それともフィルタリングされていない隣接サンプルが使用されるのかが信号伝達されてもよい;
g. 一例において、フィルタリングされたサンプルは、伝統的イントラ予測モードと同じように生成され得る;
27. どの行列又は/及びオフセットベクトルが使用されるのかは、リシェイピング(LMCS(luma mapping with chroma scaling)としても知られる)情報に依存し得る;
a. 一例において、リシェイピングがオンであるときとオフであるときとで異なる行列又は/及びオフセットベクトルが使用され得る;
b. 一例において、異なるリシェイピングパラメータに対して異なる行列又は/及びオフセットベクトルが使用され得る;
c. 一例において、ALWIPは常に元のドメインで実行され得る;
i. 例えば、ALWIPで使用される前に、隣接サンプルが(リシェイピングが適用される場合の)元のドメインにマッピングされる;
28. ALWIPは、リシェイピングが適用されるときに無効にされ得る;
a. あるいは、ALWIPが有効にされるときにリシェイピングが無効にされ得る;
b. 一例において、ALWIPは、リシェイピングが適用されるときにHDR(高ダイナミックレンジ)コンテンツに対して無効にされてもよい;
29. ALWIPで使用される行列は、サンプルのビット深度に依存し得る;
a. あるいは、さらに、ALWIPで使用されるオフセット値は、サンプルビット深度に依存し得る;
b. あるいは、行列パラメータ及びオフセット値は、Nビットサンプルに対してMビット精度で格納されることができ(M<=N)、例えば、行列パラメータ及びオフセット値は、10ビットサンプルに対して8ビット精度で格納されることができる;
c. サンプルのビット深度は、例えばルマなどのカラーコンポーネントに関する入力アレイのビット深度とし得る;
d. サンプルビット深度は、例えばルマなどのカラーコンポーネントに関する内部アレイ/再構成サンプルのビット深度とし得る;
30. 規定されたブロックサイズに対する行列パラメータ及び/又はオフセット値は、他のブロックサイズに対する行列パラメータ及び/又はオフセット値から導出され得る;
31. 一例において、8×8ブロックの16×8行列を、4×4ブロックの16×4行列から導出することができる;
32. ALWIPによって生成された予測が、更に使用される予測信号を得るために処理されることになる中間信号として扱われ得ることが提案される;
a. 一例において、ALWIPによって生成された予測に位置依存イントラ予測コンビネーション(PDPC)が適用されて、更に使用される予測信号を生成し得る;
i. 一例において、PDPCは、ALWIPコーディングブロックに対して、ブロックが例えばプレーナ又はDCなどの特定の通常イントラ予測モードでコーディングされるのと同じようにして行われる;
ii. 一例において、PDPCは、ALWIPコーディングブロックに対して、ALWIPイントラ予測モードから変換された通常イントラ予測モードでブロックがコーディングされるのと同じようにして行われる;
iii. 一例において、PDPCは、ALWIPコーディングブロックに対して条件付きで適用される;
1)例えば、PDPCは、ALWIPイントラ予測モードから変換された通常イントラ予測モードに対してPDPCが適用される場合にのみ、ALWIPコーディングブロックに対して適用される;
b. 一例において、ALWIPによって生成された境界サンプル予測が隣接サンプルとともにフィルタリングされて、更に使用される予測信号を生成し得る;
i. 一例において、境界サンプルに対するフィルタリングは、ALWIPコーディングブロックに対して、ブロックが例えばプレーナ又はDCなどの特定の通常イントラ予測モードでコーディングされるのと同じようにして行われる;
ii. 一例において、境界サンプルに対するフィルタリングは、ALWIPコーディングブロックに対して、ALWIPイントラ予測モードから変換された通常イントラ予測モードでブロックがコーディングされるのと同じようにして行われる;
iii. 一例において、境界サンプルに対するフィルタリングは、ALWIPコーディングブロックに対して条件付きで適用される;
1)例えば、境界サンプルに対するフィルタリングは、ALWIPイントラ予測モードから変換された通常イントラ予測モードに対して境界サンプルに対するフィルタリングが適用される場合にのみ、ALWIPコーディングブロックに対して適用される;
33. バイリニア補間フィルタ以外の補間フィルタがALWIPのアップサンプリングプロセスで使用され得ることが提案される;
a. 一例において、4タップ補間フィルタがALWIPのアップサンプリングプロセスで使用され得る;
i. 例えば、クロマコンポーネントの動き補償を行うために使用されるVVCにおける4タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用され得る;
ii. 例えば、角度イントラ予測を行うために使用されるVVCにおける4タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用され得る;
iii. 例えば、ルマコンポーネントの動き補償を行うために使用されるVVCにおける8タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用され得る;
34. ALWIPモードでコーディングされるブロック内のサンプルは、複数の異なる手法で予測され得る;
a. 一例において、W*Hブロックについて、その中のsW*sHサブブロックの予測は、それにsW*sH ALWIPを適用することによって生成され得る;
i. 一例において、W*Hブロックについて、その左上のW/2*H/2ブロックの予測は、それにW/2*H/2 ALWIPを適用することによって生成され得る;
ii. 一例において、W*Hブロックについて、その左のW/2*Hブロックの予測は、それにW/2*H ALWIPを適用することによって生成され得る;
iii. 一例において、W*Hブロックについて、その上のW*H/2ブロックの予測は、それにW*H/2 ALWIPを適用することによって生成され得る;
iv. 一例において、sW*sHサブブロックは、利用可能な左隣接サンプル又は/及び上隣接サンプルを有し得る;
b. 一例において、サブブロックの位置をどのように決定するかは、ブロックの寸法に依存し得る;
i. 例えば、W≧Hであるとき、その左のW/2*Hブロックの予測は、それにW/2*H ALWIPを適用することによって生成され得る;
ii. 例えば、H≧Wであるとき、その上のW*H/2ブロックの予測は、それにW*H/2 ALWIPを適用することによって生成され得る;
iii. 例えば、WがHに等しいとき、その左上のW/2*H/2ブロックの予測は、それにW/2*H/2 ALWIPを適用することによって生成され得る;
c. 一例において、さらに、残りのサンプル(例えば、sW*sHサブブロックに属さないサンプル)の予測は、W*H ALWIPを適用することによって生成され得る;
i. あるいは、残りのサンプルの予測は、従来からのイントラ予測を適用する(例えば、変換されたイントラ予測モードをイントラモードとして使用する)ことによって生成されてもよい;
ii. さらに、sW*sHサブブロック内のサンプルについての計算はスキップされ得る;
35. ALWIPモードでコーディングされるブロック内のサンプルは、サブブロック(例えば、サイズsW*sHを有する)レベルで予測され得る;
a. 一例において、sW*sH ALWIPは、(例えば、境界サブブロックに対して)隣接再構成サンプルを用いて又は(例えば、内側サブブロックに対して)隣接予測サンプルを用いて、各サブブロックに適用され得る;
b. 一例において、サブブロックはラスタ走査順に予測され得る;
c. 一例において、サブブロックはジグザグ順に予測され得る;
d. 一例において、サブブロックの幅(高さ)はsWMax(sHMax)より大きくないとし得る;
e. 一例において、ブロックが幅又は高さのいずれかで又は幅及び高さの両方で閾値Lよりも大きい(又は等しい)場合、そのブロックは、複数のサブブロックに分割され得る;
f. 閾値Lは、予め定められていてもよいし、SPS/PPS/ピクチャ/スライス/タイルグループ/タイルレベルで信号伝達されてもよい;
i. あるいは、閾値は、例えばブロックサイズ、ピクチャタイプ、時レイヤインデックスなどの特定の符号化情報に依存してもよい;
36. 隣接サンプル(隣の又は隣ではない)が、ALWIPで使用される前にフィルタリングされることが提案される;
a. あるいは、隣接サンプルは、ALWIPで使用される前にフィルタリングされない;
b. あるいは、隣接サンプルは、ALWIPで使用される前に条件付きでフィルタリングされる;
i. 例えば、隣接サンプルは、ALWIPイントラ予測モードが1つ又は一部の特定の値に等しい場合にのみ、ALWIPで使用される前にフィルタリングされる;
37. ALWIPフラグを符号化するときに、算術コーディングにてALWIPフラグのコンテキストを導出する方法が、全ての寸法の現在ブロックに対して同じであることが提案される;
a. 一例において、算術コーディングにてALWIPフラグのコンテキストを導出する方法は、Abs(Log2(cbWidth)-Log2(cbHeight))が1より大きい場合とそうでない場合とで同じであり、ここで、CbWidth及びCbHeightは、それぞれ、現在ブロックの幅及び高さである;
b. 一例において、算術コーディングにおけるALWIPフラグのコンテキストの導出は、隣接ブロックのALWIP情報及び/又は隣接ブロックの利用可能性にのみ依存する;
i. 一例において、複数の隣接ブロックALWIP情報(例えば、intra_lwip_flag)及び/又は隣接ブロックの利用可能性が直接使用される。例えば、左及び上の隣接ブロックのALWIPフラグ及び/又は左及び上の隣接ブロックの利用可能性が、算術コーディングにてALWIPフラグのコンテキストを導出するために使用される。一例を表2に示す。あるいは、さらに、コンテキストインデックスoffset ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3である;
Figure 2022535726000120
ii. 一例において、隣接ブロックのうちの1つのALWIP情報(例えばintra_lwip_flag)が、算術コーディングにてALWIPフラグのコンテキストを導出するのに使用され、隣接ブロックは左隣接ブロックとし得る。一例を表3に示す。あるいは、さらに、コンテキストインデックスoffset ctxInc=(condL&&availableL)+ctxSetIdx*3である。
Figure 2022535726000121
iii. 一例において、隣接ブロックのうちの1つのALWIPフラグ情報(例えばintra_lwip_flag)の1つが、算術コーディングにてALWIPフラグのコンテキストを導出するのに使用され、隣接ブロックは上隣接ブロックとし得る。一例を表4に示す。あるいは、さらに、コンテキストインデックスoffset ctxInc=(condA&&availableA)+ctxSetIdx*3である。
Figure 2022535726000122
c. 一例において、算術コーディングにてALWIPフラグをコーディングするために、1つの固定コンテキストが使用される;
d. 一例において、ALWIPフラグは、算術符号化にてバイパスコーディングされる;
e. あるいは、算術コーディングにてALWIPフラグをコーディングするために、K個のコンテキストが使用され得る。使用されるコンテキストは、ブロックの寸法(例えば、Wと表記される幅及びHと表記される高さ)に依存し得る;
i. 一例において、Kは2に等しい。W>N*H又はH>N*W(例えば、N=2)である場合、最初のコンテキストが使用され、そうでない場合、2番目のコンテキストが使用される;
38. 算術コーディングにてALWIPフラグ(例えば、intra_lwip_flag)をコーディングするのにN(N>=0)個のコンテキストが使用され得ることが提案される;
a. 一例において、Nは3に等しい。ALWIPフラグ、及び/又は2つの隣接ブロック又は/及び非隣接ブロックの利用可能性が、算術コーディングにてALWIPフラグのコンテキストを導出するのに使用され得る;
i. 一例において、2つの隣接ブロックは、上ブロック(例えば、図10のB1)及び左ブロック(例えば、図10のA1)を含み得る;
ii. 一例において、2つの隣接ブロックは、上ブロック及び左下ブロック(例えば、図10のA2)を含み得る;
iii. 一例において、2つの隣接ブロックは、上ブロック及び右上ブロック(例えば、図10のB2)を含み得る;
iv. 一例において、2つの隣接ブロックは、右上ブロック(例えば、図10のB2)及び左ブロック(例えば、図10のA1)を含み得る;
v. 一例において、2つの隣接ブロックは、右上ブロック(例えば、図10のB2)及び左下ブロック(例えば、図10のA2)を含み得る;
vi. 一例において、2つの隣接ブロックは、左ブロック(例えば、図10のA1)及び左下ブロック(例えば、図10のA2)を含み得る;
vii. 一例において、隣接ブロックは、図10とは異なるように定められてもよい。一例が図16に記載されている。2つの隣接ブロックは、{右上,上,左上,左,左下}ブロックのうちの任意の2つを含み得る。例えば、2つの隣接ブロックは、{B0,B1,B2,A0,A1}のブロックのうちの任意の2つを含み得る;
b. 一例において、Nは2に等しい。ALWIPフラグ、及び/又は1つの隣接ブロック若しくは非隣接ブロックの利用可能性が、算術コーディングにてALWIPフラグのコンテキストを導出するのに使用され得る;
i. 一例において、隣接ブロックは、{右上,上,左上,左,左下}のうちのいずれか1つとし得る。隣接ブロックの一例が図10に記載されている;
ii. 一例において、隣接ブロックは、{右上,上,左上,左,左下}ブロックのうちのいずれか1つとし得る。隣接ブロックの一例が図16に記載されている;
c. 一例において、算術コーディングにてALWIPフラグをコーディングするために1つの固定コンテキストが使用され得る;
d. 一例において、ALWIPフラグは、算術コーディングにてバイパスコーディングされ得る。図16は、隣接ブロックの一例を示している;
39. アップサンプリング境界サンプルを計算することなく減少境界サンプルが生成され得ることが提案される;
a. 一例において、アップサンプリング境界サンプル位置にある参照サンプルが直接的に、予測アップサンプリングプロセスに使用される;
i. 一例において、アップサンプリング境界サンプルは、複数の隣接参照サンプルを平均することによっては計算されないとし得る;
b. 一例において、減少境界サンプルは、参照サンプル及びダウンスケーリング係数から直接的に計算され得る;
i. 一例において、ダウンスケーリング係数は、変換ブロックサイズ及びダウンサンプリングした境界サイズによって計算され得る;
40. 行列乗算に使用される減少境界サンプルは1つの段階で生成され得ることが提案される;
a.一例において、減少行列サンプルは、1つの段階で元の再構成隣接サンプルから直接的に生成され得る(なお、VVC WD5は、セクション2.2.1.5.4.4に記載されるようにALWIP減少境界サンプルを生成するために二段階のダウンサンプリングを使用する)。元の再構成隣接サンプルは、更なる処理なしに復号隣接サンプルとし得る。例えば、元の再構成隣接サンプルは、角度インター予測サンプルを生成するために使用され得る;
b. 一例において、減少境界サンプルは、現在ブロックの上隣接行及び/又は左隣接列に位置する元の再構成サンプルから生成され得る;
i.例えば、N個の減少境界サンプルが現在ブロックに(所与の順序で)隣接するM個の元の再構成サンプルから生成される必要があるとすると、それぞれK個の連続する元の再構成隣接サンプルが、1つの出力減少境界サンプルを取得するために使用され得る;
1) 一例において、K=M/Nである;
a. あるいは、K=(M+N/2)/Nである;
2) 一例において、1つの出力減少境界サンプルは、K個の連続する元の再構成隣接サンプルの平均として導出され得る;
3) 一例において、1つの出力減少境界サンプルは、K個の連続する元の再構成隣接サンプルの加重平均として導出され得る;
c. 一例において、左減少境界サンプルは、現在ブロックの左隣接列に位置する元の再構成サンプルから生成され、上減少サンプルは、現在ブロックの上隣接行に位置する元の再構成サンプルから生成され得る;
i. 例えば、図17に示されるように、それぞれboundaryleft及びboundarytopと表記される左境界及び上境界の4つの減少境界サンプルは、元の左/上隣接再構成サンプル(図面において16×16ブロックに隣接する灰色の格子として表記される)によって生成される;
d. どのように減少境界サンプルを生成するかは、ブロック寸法/コーディング情報(例えば、イントラ予測モード、変換タイプ等)に依存し得る;
e. 一例において、上記の方法は、減少境界サンプルを生成することを必要とする全てのサイズのALWIPブロック(例えば、4×4のALWIPブロックから64×64のALWIPブロックまで)に適用され得る;
f. 一例において、現在ブロックの左隣接列及び現在ブロックの上隣接行に対する減少境界サンプルの生成プロセスは、異なる方法で行われ得る;
i. 例えば、8×4のALWIPブロックに関して、所定の減少境界サンプルの数は上の4つ及び左の4つであり、この場合、8×4のALWIPブロックの上の行に位置する8つの隣接サンプルは、上の4つの減少境界サンプルを生成するために使用され、8×4のALWIPブロックの左の列に位置する4つの隣接サンプルは、左の4つの減少境界サンプルとして直接コピーされる;
41. 減少予測ブロックから最終予測ブロックを生成するために、アップサンプリングプロセスにおいて元の再構成隣接サンプル(現在ブロックに隣接する又は隣接しない)の全部又は一部を使用することが提案される;
a. 一例において、元の再構成隣接サンプルは、現在ブロックの上隣接行及び/又は左隣接列に位置し得る。一例が図18に示されており、64×64の最終予測ブロックは、8×8の減少予測ブロックに64×64ブロックの元の再構成隣接サンプルを加えたものをアップサンプリングすることによって生成される;
i. あるいは、さらに、減少境界サンプルは、減少予測ブロックを取得するための行列乗算にのみ使用され得るが、最終予測ブロックを生成するためのアップサンプリングプロセスにおいて使用されないとし得る。例えば、K個の減少境界サンプルは、M×Nの減少予測ブロックを生成するためにALWIPの行列乗算に入力され得るが、アップサンプリングプロセスにおいて最終予測ブロックを生成するために使用されないとし得る。例えば、K=8であり、M×Nは8×8である;
b. 一例において、選択された元の再構成隣接サンプルは、減少予測ブロックから最終予測ブロックを生成するためにアップサンプリングプロセスにおいて使用され得る;
i. 例えば、現在ブロックの左の全ての元の再構成隣接サンプルが選択され得る;
ii. 例えば、現在ブロックの上の全ての元の再構成隣接サンプルが選択され得る;
iii. 例えば、現在ブロックの左のそれぞれM個の連続する元の再構成隣接サンプルのうちのK個が選択され得る。例えば、K=1であり、M=2/4/8である;
1) 例えば、それぞれM個の連続する隣接のうちの後方のK個の元の再構成隣接サンプルが選択され得る;
2) 例えば、それぞれM個の連続する隣接のうちの最初のK個の元の再構成隣接サンプルが選択され得る;
iv. 例えば、現在ブロックの上のそれぞれM個の連続する元の再構成隣接サンプルのうちのK個が選択され得る。例えば、K=1であり、M=2/4/8である;
1) 例えば、それぞれM個の連続する隣接のうちの後方のK個の元の再構成隣接サンプルが選択され得る;
2) 例えば、それぞれM個の連続する隣接のうちの最初のK個の元の再構成隣接サンプルが選択され得る;
v. 例えば、選択はブロックの幅及び高さに依存し得る。blkW及びblkHがそれぞれALWIPブロックの幅及び高さを表記すると仮定する。(blkX,blkH)は、ブロックの左上位置を表す;
1) 例えば、blkWがblkHより大きい場合、現在ブロックの左の全ての元の再構成隣接サンプルが選択され得る、及び/又はMで表記される、現在ブロックの上の選択された元の再構成隣接サンプルの数は、blkWに依存し得る;
a. 一例において、現在ブロックの上の第kの選択サンプルは、位置(blkX+(k+1)*blkW/M-1,blkY-1)になり得る。ここで、kは0からM-1である;
b. 例えば、blkW<=8である場合、M=4である;
c. 例えば、blkW>8である場合、M=8である;
d. あるいは、blkW及びblkHの関係にかかわらず、現在ブロックの左の全ての元の再構成隣接サンプルが選択され得る、及び/又は現在ブロックの上のM個の元の再構成隣接サンプルが選択され得る。ここで、Mは上記のルールによって判断される;
2) 例えば、blkWがblkH未満である場合、現在ブロックの上の全ての元の再構成隣接サンプルが選択され得る、及び/又はMで表記される、現在ブロックの左の選択された元の再構成隣接サンプルの数は、blkHに依存し得る;
a. 一例において、現在ブロックの左の第kの選択サンプルは、位置(blkX-1,blkY+(k+1)*blkH/M-1)になり得る。ここで、kは0からM-1である;
b. 例えば、blkH<=8である場合、M=4である;
c. 例えば、blkH>8である場合、M=8である;
d. あるいは、blkW及びblkHの関係にかかわらず、現在ブロックの上の全ての元の再構成隣接サンプルが選択され得る、及び/又は現在ブロックの左のM個の元の再構成隣接サンプルが選択され得る。ここで、Mは上記のルールによって判断される;
c. 一例において、ALWIPアップサンプリングに使用される隣接サンプルは、最終予測ブロックを生成するために使用される前に、更に修正され得る(例えば、フィルタリングされ、フィルタは、N=2又はN=3のようなNタップフィルタとし得る);
i. 一例において、隣接サンプルフィルタリングプロセスは、ALWIPモードに従って適応的に適用され得る;
d. どのように最終予測ブロックを生成するか(例えば、線形補間)は、ブロック寸法/コーディング情報(例えば、イントラ予測方向、変換タイプ等)に依存し得る;
42. 一例において、サンプルは、ALWIPにおけるアップサンプリングプロセスの異なるフィルタリング段階において異なる精度を有し得る。“サンプル”は、予測サンプル又はアップサンプリングプロセスの前若しくは後の中間サンプルを指し得る;
a. 一例において、サンプルは、第1のフィルタリング段階において水平方向に第1の次元に沿ってアップサンプリングされ、次いで、サンプルは、ALWIPのアップサンプリングプロセスの第2のフィルタリング段階において垂直方向に第2の次元に沿ってアップサンプリングされる;
i. あるいは、サンプルは、第1のフィルタリング段階において垂直方向に第1の次元に沿ってアップサンプリングされ、次いで、サンプルは、ALWIPのアップサンプリングプロセスの第2のフィルタリング段階において水平方向に第2の次元に沿ってアップサンプリングされる;
b. 一例において、第1のフィルタリング段階における右シフト又は除算なしでの出力アップサンプリング結果が、第2のフィルタリング段階への入力サンプルとして使用され得る;
i. 一例において、第2のフィルタリング段階における出力アップサンプリングフィルタリングの結果が、Shift1だけ右シフトされて又はDem1で除算されて、最終的なアップサンプリング結果を導出し得る;
ii. 一例において、第1のフィルタリング段階における出力アップサンプリングフィルタリング結果が、Shift2だけ右シフトされて又はDem2で除算されて、最終的なアップサンプリングの結果を導出し得る;
1)一例において、Shift1=2×Shift2; Dem1=Dem2×Dem2である;
iii. 一例において、第2のフィルタリング段階に入力されるが第1のフィルタリング段階における出力アップサンプリング結果ではないサンプルが、第2のフィルタリング段階に入力される前に、Shift3だけ左シフトされ又はDem3を乗算され得る;
1)一例において、Shift3=Shift1; Dem3=Dem2である;
c. 一例において、第1のフィルタリング段階における出力アップサンプリング結果が、第2のフィルタリング段階への入力サンプルとして使用される前に、Shift1だけ右シフトされ又はDem1で除算され得る;
i. 一例において、第2のフィルタリング段階における出力アップサンプリングフィルタリング結果が、Shift2だけ右シフトされて又はDem2で除算されて、最終的なアップサンプリング結果を導出することができ、ここで、Shift2は、Shift1に等しくないとすることができ、例えば、Shift2>Shift1であり、Dem2はDem1に等しくないとすることができ、例えば、Dem2>Dem1である;
ii. 一例において、第1のフィルタリング段階における出力アップサンプリングフィルタリング結果が、Shift3だけ右シフトされて又はDem3で除算されて、最終的なアップサンプリング結果を導出することができ、ここで、Shift3はShift1に等しくないとすることができ、Dem3はDem1に等しくないとすることができる;
1)一例において、Shift3=Shift1+Shift2である;
iii. 一例において、第2のフィルタリング段階に入力されるが、第1のフィルタリング段階における出力アップサンプリング結果ではないサンプルが、第2のフィルタリング段階に入力される前に、ある係数だけ左シフトされ又はある係数を乗算され得る;
d. 一例において、第1のフィルタリング段階における出力アップサンプリング結果が、第2のフィルタリング段階への入力サンプルとして使用される前に、Shift1だけ左シフトされ又はDem1を乗算され得る;
i. 一例において、第2のフィルタリング段階における出力アップサンプリングフィルタリング結果が、ある係数だけ右シフトされて又はある係数で除算されて、最終的なアップサンプリング結果を導出し得る;
ii. 一例において、第1のフィルタリング段階における出力アップサンプリングフィルタリング結果が、ある係数だけ右シフトされて又はある係数で除算されて、最終的なアップサンプリング結果を導出し得る;
iii. 一例において、第2のフィルタリング段階に入力されるが第1のフィルタリング段階における出力アップサンプリング結果ではないサンプルが、第2のフィルタリング段階に入力される前に、Shift2だけ左シフトされ又はDem2を乗算されることができ、ここで、Shift2は、Shift1に等しくないとすることができ、例えば、Shift2>Shift1であり、Dem1はDem2に等しくないとすることができ、例えば、Dem2>Dem1である;
e. 一例において、第1のフィルタリング段階に入力されるサンプルが、第1のフィルタリング段階への入力サンプルとして使用される前に、Shift1だけ左シフトされ又はDem1を乗算され得る;
i. 一例において、第2のフィルタリング段階における出力アップサンプリングフィルタリング結果が、ある係数だけ右シフトされて又はある係数で除算されて、最終的なアップサンプリング結果を導出し得る;
ii. 一例において、第1のフィルタリング段階における出力アップサンプリングフィルタリング結果が、ある係数だけ右シフトされて又はある係数で除算されて、最終的なアップサンプリング結果を導出し得る;
iii. 一例において、第2のフィルタリング段階に入力されるが第1のフィルタリング段階における出力アップサンプリング結果ではないサンプルが、第2のフィルタリング段階に入力される前に、Shift2だけ左シフトされ又はDem2を乗算されることができ、ここで、Shift2は、Shift1に等しくないとすることができ、例えば、Shift2>Shift1であり、Dem2はDem1に等しくないとすることができ、例えば、Dem2>Dem1である;
43. 垂直アップサンプリング及び水平アップサンプリングの双方が必要とされる場合、ALWIPにおけるアップサンプリングが固定の順序で実行され得ることが提案される;
a. 一例において、水平アップサンプリングが最初に実行され得るとともに、水平アップサンプリングが次に実行され得る;
b. 一例において、垂直アップサンプリングが最初に実行され得るとともに、水平アップサンプリングが次に実行され得る;
44. 一例において、アップサンプリングの前のALWIPにおける予測サンプルは、ブロック寸法に従って転置され得る;
a. 一例において、W*Hブロックが最初にH*Wブロックに転置され、次いで、アップサンプリングが適用され得る;
b. あるいは、さらに、アップサンプリングプロセスの後に、アップサンプリングされたサンプルが逆方向に転置され得る;
45.バイリニアフィルタの代わりに別の補間フィルタがWLWIPにおいてアップサンプリングに使用され得ることが提案される;
a. 一例において、(4タップ、6タップ、8タップ等の)ガウスフィルタが使用され得る;
b. 一例において、(4タップ、6タップ、8タップ等の)キュービックフィルタが使用され得る;
c. 一例において、クロマサンプルに対する動き補償において用いられる補間フィルタが使用され得る;
d. 一例において、ルマサンプルに対する動き補償において用いられる補間フィルタ(6タップ、8タップ等)が使用され得る;
e. どの補間フィルタが使用されるかは、ブロック寸法に依存し得る;
f. どの補間フィルタが使用されるかは、アップサンプリング比に依存し得る;
g. どの補間フィルタが使用されるかは、ALWIPの予測モードに依存し得る;
h. どの補間フィルタが使用されるかは、アップサンプリングに利用可能なサンプル数に依存し得る;
i. 例えば、1つの行(又は列)に4つの利用可能なサンプル(隣接参照サンプルを除く)が存在する場合、4タップ補間フィルタが使用され得る;
ii. 例えば、1つの行(又は列)に8つの利用可能なサンプル(隣接参照サンプルを除く)が存在する場合、4タップ又は8タップ補間フィルタが使用され得る。
5. 実施形態
新たに追加される部分を太字体でハイライトし、削除される部分を下線でハイライトする。
5.1 一例
ALWIPフラグをコーディングするために3つのコンテキストが使用される。
Figure 2022535726000123
5.2 一例
ALWIPフラグをコーディングするために1つの固定コンテキストが使用される。
Figure 2022535726000124
5.3 一例
境界減少プロセスを1ステップで実行する。
以下の実施形態は、採用されたJVET-N0220-提案-テスト-CE3-4.1_v2に基づく。
8.4.4.2.X1 アフィン線形加重イントラサンプル予測
8.4.4.2.X3 境界減少プロセスの仕様
このプロセスへの入力は以下である:
- 変換ブロックサイズを規定する変数nTbX、
- x=0..nTbX-1での参照サンプルrefX[x]、
- ダウンサンプリングした境界サイズを規定する変数boundarySize、
- アップサンプリングに中間境界サンプルが必要であるかを規定するフラグneedUpsBdryX、
- アップサンプリングに関する境界サイズを規定する変数upsBdrySize。
このプロセスの出力は、x=0..boundarySize-1での減少境界サンプルredX[x]及びx=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]である。
x=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]は、次のように導出される:
- needUpsBdryXがTRUEに等しく、且つupsBdrySizeがnTbXより小さい場合、以下が適用される:
Figure 2022535726000125
- そうでない場合(upsBdrySizeがnTbXに等しい)、upsBdryX[x]はrefX[x]に等しく設定される。
x=0..boundarySize-1での減少境界サンプルredX[x]は次のように導出される:
- boundarySizeがupsBdrySize nTbXより小さい場合、以下が適用される:
Figure 2022535726000126
式8-X33内の項upsBdryXは削除される。
- そうでない場合(boundarySizeがupsBdrySize nTbXに等しい)、redX[x]はupsBdryX[x] refX[x]に等しく設定される。
5.4 一例
ALWIPのアップサンプリングプロセスの異なるフィルタリング段階において異なる精度で予測サンプルを導出する。
以下の実施形態は、採用されたJVET-N0217-提案-テスト-CE3-4.1_v2に基づく。
8.4.4.2.X4 予測アップサンプリングプロセスの仕様
このプロセスへの入力は以下である:
- 入力ブロック幅を規定する変数predW、
- 入力ブロック高さを規定する変数predH、
- x=0..predW-1,y=0..predH-1でのアフィン線形加重サンプルpredLwip[x][y]、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- アップサンプリング境界幅を規定する変数upsBdryW、
- アップサンプリング境界高さを規定する変数upsBdryH、
- x=0..upsByW-1での上アップサンプリング境界サンプルupsBdryT[x]、
- x=0..upsBdryH-1での左アップサンプリング境界サンプルupsBdryL[x]。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
x=0..predW-1,y=0..predH-1でのpredLwip[x][y]から、疎な予測サンプルpredSamples[m][n]が、次のように導出される:
upHor=nTbW/predW (8-X34)
upVer=nTbH/predH (8-X35)
predSamples[(x+1)*upHor-1][(y+1)*upVer-1]=predLwip[x][y] (8-X36)
次のように、x=0..upsBdryW-1での上境界サンプルupsBdryT[x]がpredSamples[m][-1]に割り当てられる:
predSamples[(x+1)*(nTbW/upsBdryW)-1][-1]=upsBdryT[x] (8-X37)
y=0..upsBdryH-1での左境界サンプルupsBdryL[y]が、次のように、predSamples[-1][n]に割り当てられる:
predSamples[-1][(y+1)*(nTbH/upsBdryH)-1]=upsBdryL[y] (8-X38)
x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- nTbHがnTbWより大きい場合、以下の順序付けられたステップが適用される:
1. upHorが1より大きい場合、m=0..predW-1,n=1..predHでの全ての疎な位置(xHor,yHor)=(m*upHor-1,n*upVer-1)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される:
Figure 2022535726000127
2. m=0..nTbW-1,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される:
Figure 2022535726000128
- そうでない場合、以下の順序付けられたステップが適用され:
Figure 2022535726000129
5.5 項目40に対応する例
ブロック寸法をW×Hとする。x=Sx,Sx+Kx,Sx+2Kx,Sx+3Kx,…、y=Sy,Sy+Ky,Sy+2Ky,Sy+3Ky,…でのサンプルP(x,y)がアップサンプリングプロセスに入力されて、x=0,1,2,…,W-1、y=0,1,2,…,H-1でのアップサンプリングサンプルS(x,y)が導出される。Kx及びKyは、それぞれ、水平方向及び垂直方向に沿ったステップサイズである。(Sx,Sy)は開始位置である。
1-Dアップサンプリングが第1段階で水平方向に行われ、1-Dアップサンプリングが第2段階で垂直方向に行われるとする。
一例において、右シフトなしでの第1段階における出力結果が、
S’(Sx+Kx-1,Sy)=F1*P(Sx,Sy)+F2*P(Sx+Kx,Sy)
S’(Sx+Kx-1,Sy+Ky)=F1*P(Sx,Sy+Ky)+F2*P(Sx+Kx,Sy+Ky)
として導出され得る。
F1、F2は2タップフィルタの係数であり、F1+F2=2である。
次いで、第2段階における出力結果が、
S’(Sx+Kx-1,Sy+1)=F3*S’(Sx+Kx-1,Sy)+F4*S’(Sx+Kx-1,Sy+Ky)
として導出され得る。
F3、F4は2タップフィルタの係数であり、F3+F4=2である。
そして、最終的なアップサンプリングサンプル値が、
S(Sx+Kx-1,Sy+1)=Shift(S’(Sx+Kx-1,Sy+1),2N);
S(Sx+Kx-1,Sy)=Shift(S’(Sx+Kx-1,Sy),N);
S(Sx+Kx-1,Sy+Ky)=Shift(S’(Sx+Kx-1,Sy+Ky),N);
として導出され得る。
5.6 一例
減少境界サンプルを一段階で導出し、アップサンプリングのための参照バッファを生成する。
以下の実施形態は、採用されたJVET-N0217-提案-テスト-CE3-4.1_v2に基づく。
8.4.4.2.X1 アフィン線形加重イントラサンプル予測
8.4.4.2.X3 境界減少プロセスの仕様

x=0..upsBdrySize-1でのアップサンプリング境界サンプルupsBdryX[x]は、次のように導出される:
- needUpsBdryXがTRUEに等しく、且つupsBdrySizeがnTbXより小さい場合、以下が適用される:
Figure 2022535726000130
- そうでない場合(upsBdrySizeがnTbXに等しい)、upsBdryX[x]はrefX[x]に等しく設定される。
x=0..boundarySize-1での減少境界サンプルredX[x]は次のように導出される:
- boundarySizeがupsBdrySize nTbXより小さい場合、以下が適用される:
Figure 2022535726000131
式8-X33内の項upsBdryXは削除される。
- そうでない場合(boundarySizeがupsBdrySize nTbXに等しい)、redX[x]はupsBdryX[x] refX[x]に等しく設定される。
5.7 一例
ALWIP(行列ベースイントラ予測又はMIPとしても知られる)がここに提示される。テキストはJVET-N1001-v6に基づく。
5.7.1 最初の水平アップサンプリング後の垂直アップサンプリング
8.4.5.2.1 行列ベースイントラサンプル予測
このプロセスへの入力は以下である:
- 現在変換ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するサンプル位置(xTbCmp,yTbCmp)、
- イントラ予測モードを規定する変数predModeIntra、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
変数numModes、boundarySize、predW、predH、及びpredCが、表8-7に規定されるようにMipSizeId[xTbCmp][yTbCmp]を使用して導出される。
Figure 2022535726000132
フラグisTransposedが次のように導出される:
isTransposed=(predModeIntra>(numModes/2))?TRUE:FALSE (8-56)
フラグneedUpsBdryHor及びneedUpsBdryVerが次のように導出される:
needUpsBdryHor=(nTbW>predW)?TRUE:FALSE (8-57)
needUpsBdryVer=(nTbH>predH)?TRUE:FALSE (8-58)
変数upsBdryW及びupsBdryHが次のように導出される:
Figure 2022535726000133
変数mipW及びmipHが次のように導出される:
mipW=isTransposed?predH:predW (8-61)
mipH=isTransposed?predW:predH (8-62)
x=0..nTbW-1での参照サンプルrefT[x]及びy=0..nTbH-1での参照サンプルrefL[y]の生成のために、8.4.5.2.2節に規定されるMIP参照サンプル導出プロセスが、サンプル位置(xTbCmp,yTbCmp)、変換ブロック幅nTbW、変換ブロック高さnTbHを入力とし、x=0..nTbW-1での上参照サンプルrefT[x]及びy=0..nTbH-1での左参照サンプルrefL[y]を出力として呼び出される。
x=0..2*boundarySize-1での境界サンプルp[x]の生成のために、以下が適用される:
- 8.4.5.2.3節に規定されるMIP境界ダウンサンプリングプロセスが、上参照サンプルに対して、ブロックサイズnTbW、x=0..nTbW-1での参照サンプルrefT[x]、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryHor、及びアップサンプリング境界サイズupsBdryWを入力とし、x=0..boundrySize-1での減少境界サンプルredT[x]及びx=0..upsBdryW-1でのアップサンプリング境界サンプルupsBdryT[x]を出力として呼び出される。
- 8.4.5.2.3項に規定されるMIP境界ダウンサンプリングプロセスが、左参照サンプルに対して、ブロックサイズnTbH、y=0..nTbH-1での参照サンプルrefL[y]、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryVer、及びアップサンプリング境界サイズupsBdryHを入力とし、x=0..boundrySize-1での減少境界サンプルredL[x]及びx=0..upsBdryH-1でのアップサンプリング境界サンプルupsBdryL[x]を出力として呼び出される。
- 減少された上及び左境界サンプルredT及びredLが、次のように境界サンプルアレイpに割り当てられる:
- isTransposedが1に等しい場合、p[x]が、x=0..boundarySize-1でredL[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される;
- そうでない場合、p[x]が、x=0..boundarySize-1でredT[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される。
predModeIntraに従ったイントラサンプル予測プロセスのために、以下の順序付けられたステップが適用される:
3. x=0..mipW-1,y=0..mipH-1での行列ベースイントラ予測サンプルpredMip[x][y]が、次のように導出される:
- 変数modeIdが次のように導出される:
modeId=predModeIntra-(isTransposed?numModes/2:0) (8-63)
- x=0..2*boundarySize-1,y=0..predC*predC-1での重み行列mWeight[x][y]が、表8-XX[Ed.(BB):10ビットでない重みの解が採用されたときの重み行列の加算]に規定されるようにMipSizeId[xTbCmp][yTbCmp]及びmodeIdを用いて導出される;
- y=0..predC*predC-1でのバイアスベクトルvBias[y]が、表8-XX[Ed.(BB):10ビットでない重みの解が採用されたときのバイアスベクトルの加算]に規定されるようにsizeId及びmodeIdを用いて導出される;
- 変数sWが、表8-8に規定されるようにMipSizeId[xTbCmp][yTbCmp]及びmodeIdを用いて導出される;
- x=0..mipW-1,y=0..mipH-1での行列ベースイントラ予測サンプルpredMip[x][y]が、次のように導出される:
Figure 2022535726000134
4. isTransposedがTRUEに等しい場合、x=0..predH-1,y=0..predW-1でのpredH×predWのアレイpredMip[x][y]が、次のように転置される:
predTemp[y][x]=predMip[x][y] (8-69)
predMip=predTemp (8-70)
5. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- needUpsBdryVerがTRUEに等しい又はneedUpsBdryHorがTRUEに等しい場合、8.4.5.2.4節に規定されるMIP予測アップサンプリングプロセスが、入力ブロック幅predW、入力ブロック高さpredH、x=0..predW-1,y=0..predH-1での行列ベースイントラ予測サンプルpredMip[x][y]、変換ブロック幅nTbW、変換ブロック高さnTbH、アップサンプリング境界幅upsBdryW、アップサンプリング境界高さupsBdryH、上アップサンプリング境界サンプルupsBdryT、及び左アップサンプリング境界サンプルupsBdryLを入力として呼び出され、その出力が予測サンプルアレイpredSamplesである;
- それ以外の場合、x=0..nTbW-1,y=0..nTbH-1でのpredSamples[x][y]がpredMip[x][y]に等しく設定される。
6. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のようにクリッピングされる:
predSamples[x][y]=Clip1Y(predSamples[x][y]) (8-71)
Figure 2022535726000135
8.4.5.2.4 MIP予測アップサンプリングプロセス
このプロセスへの入力は以下である:
- 入力ブロック幅を規定する変数predW、
- 入力ブロック高さを規定する変数predH、
- x=0..predW-1,y=0..predH-1での行列ベースイントラ予測サンプルpredMip[x][y]、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- アップサンプリング境界幅を規定する変数upsBdryW、
- アップサンプリング境界高さを規定する変数upsBdryH、
- x=0..upsBdryW-1での上アップリング境界サンプルupsBdryT[x]、
- x=0..upsBdryH-1での左アップリング境界サンプルupsBdryL[x]。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測参照サンプルpredSamples[x][y]である。
x=0..predW-1,y=0..predH-1でのpredMip[x][y]から、疎な予測サンプルpredSamples[m][n]が、次のように導出される:
upHor=nTbW/predW (8-78)
upVer=nTbH/predH (8-79)
predSamples[(x+1)*upHor-1][(y+1)*upVer-1]=predMip[x][y] (8-80)
次のように、x=0..upsBdryW-1での上境界サンプルupsBdryT[x]がpredSamples[m][-1]に割り当てられる:
predSamples[(x+1)*(nTbW/upsBdryW)-1][-1]=upsBdryT[x] (8-81)
y=0..upsBdryH-1での左境界サンプルupsBdryL[y]が、次のように、predSamples[-1][n]に割り当てられる:
predSamples[-1][(y+1)*(nTbH/upsBdryH)-1]=upsBdryL[y] (8-82)
x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
nTbHがnTbWより大きい場合、以下の順序付けられたステップが適用される:
1. upHorが1より大きい場合、m=0..predW-1,n=1..predHでの全ての疎な位置(xHor,yHor)=(m*upHor-1,n*upVer-1)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される:
sum=(upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor] (8-83)
predSamples[xHor+dX][yHor]=
(sum+upHor/2-(sum<0?1:0))/upHor (8-84)
2. m=0..nTbW-1,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される:
sum=(upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer] (8-85)
predSamples[xVer][yVer+dY]=
(sum+upVer/2-(sum<0?1:0))/upVer (8-86)
そうでない場合、以下の順序付けられたステップが適用され:
1. upVerが1より大きい場合、m=1..predW,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m*upHor-1,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される;
sum=(upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer] (8-87)
predSamples[xVer][yVer+dY]=
(sum+upVer/2-(sum<0?1:0))/upVer (8-88)
2. m=0..predW-1,n=0..nTbH-1での全ての疎な位置(xHor,yHor)=(m*upHor-1,n)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される。
sum=(upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor] (8-89)
predSamples[xHor+dX][yHor]=
(sum+upHor/2-(sum<0?1:0))/upHor (8-90)
5.7.2 最初の垂直アップサンプリングの後の水平アップサンプリング
8.4.5.2.1 行列ベースイントラサンプル予測
このプロセスへの入力は以下である:
- 現在変換ブロックの左上サンプルを現在ピクチャの左上ルマサンプルに対して規定するサンプル位置(xCbCmp,yCbCmp)、
- イントラ予測モードを規定する変数predModeIntra、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]である。
変数numModes、boundarySize、predW、predH、及びpredCが、表8-7に規定されるようにMipSizeId[xTbCmp][yTbCmp]を使用して導出される。
Figure 2022535726000136
フラグisTransposedが次のように導出される:
isTransposed=(predModeIntra>(numModes/2))?TRUE:FALSE (8-56)
フラグneedUpsBdryHor及びneedUpsBdryVerが次のように導出される:
needUpsBdryHor=(nTbW>predW)?TRUE:FALSE (8-57)
needUpsBdryVer=(nTbH>predH)?TRUE:FALSE (8-58)
変数upsBdryW及びupsBdryHが次のように導出される:
upsBdryW=(nTbH>nTbW)?nTbW:predW (8-59)
upsBdryH=(nTbH>nTbW)?predH:nTbH (8-60)
upsBdryW=predW (8-59)
upsBdryH=nTbH (8-60)
変数mipW及びmipHが次のように導出される:
mipW=isTransposed?predH:predW (8-61)
mipH=isTransposed?predW:predH (8-62)
x=0..nTbW-1での参照サンプルrefT[x]及びy=0..nTbH-1での参照サンプルrefL[y]の生成のために、8.4.5.2.2節に規定されるMIP参照サンプル導出プロセスが、サンプル位置(xTbCmp,yTbCmp)、変換ブロック幅nTbW、変換ブロック高さnTbHを入力とし、x=0..nTbW-1での上参照サンプルrefT[x]及びy=0..nTbH-1での左参照サンプルrefL[y]を出力として呼び出される。
x=0..2*boundarySize-1での境界サンプルp[x]の生成のために、以下が適用される:
- 8.4.5.2.3節に規定されるMIP境界ダウンサンプリングプロセスが、上参照サンプルに対して、ブロックサイズnTbW、x=0..nTbW-1での参照サンプルrefT[x]、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryHor、及びアップサンプリング境界サイズupsBdryWを入力とし、x=0..boundrySize-1での減少境界サンプルredT[x]及びx=0..upsBdryW-1でのアップサンプリング境界サンプルupsBdryT[x]を出力として呼び出される。
- 8.4.5.2.3項に規定されるMIP境界ダウンサンプリングプロセスが、左参照サンプルに対して、ブロックサイズnTbH、y=0..nTbH-1での参照サンプルrefL[y]、境界サイズboundarySize、アップサンプリング境界フラグneedUpsBdryVer、及びアップサンプリング境界サイズupsBdryHを入力とし、x=0..boundrySize-1での減少境界サンプルredL[x]及びx=0..upsBdryH-1でのアップサンプリング境界サンプルupsBdryL[x]を出力として呼び出される。
- 減少された上及び左境界サンプルredT及びredLが、次のように境界サンプルアレイpに割り当てられる:
- isTransposedが1に等しい場合、p[x]が、x=0..boundarySize-1でredL[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される;
- そうでない場合、p[x]が、x=0..boundarySize-1でredT[x]に等しく設定され、p[x+boundarySize]が、x=0..boundarySize-1でredL[x]に等しく設定される。
predModeIntraに従ったイントラサンプル予測プロセスのために、以下の順序付けられたステップが適用される:
7. x=0..mipW-1,y=0..mipH-1での行列ベースイントラ予測サンプルpredMip[x][y]が、次のように導出される:
- 変数modeIdが次のように導出される:
modeId=predModeIntra-(isTransposed?numModes/2:0) (8-63)
- x=0..2*boundarySize-1,y=0..predC*predC-1での重み行列mWeight[x][y]が、表8-XX[Ed.(BB):10ビットでない重みの解が採用されたときの重み行列の加算]に規定されるようにMipSizeId[xTbCmp][yTbCmp]及びmodeIdを用いて導出される;
- y=0..predC*predC-1でのバイアスベクトルvBias[y]が、表8-XX[Ed.(BB):10ビットでない重みの解が採用されたときのバイアスベクトルの加算]に規定されるようにsizeId及びmodeIdを用いて導出される;
- 変数sWが、表8-8に規定されるようにMipSizeId[xTbCmp][yTbCmp]及びmodeIdを用いて導出される;
- x=0..mipW-1,y=0..mipH-1での行列ベースイントラ予測サンプルpredMip[x][y]が、次のように導出される:
Figure 2022535726000137
8. isTransposedがTRUEに等しい場合、x=0..predH-1,y=0..predW-1でのpredH×predWのアレイpredMip[x][y]が、次のように転置される:
predTemp[y][x]=predMip[x][y] (8-69)
predMip=predTemp (8-70)
9. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
- needUpsBdryVerがTRUEに等しい又はneedUpsBdryHorがTRUEに等しい場合、8.4.5.2.4節に規定されるMIP予測アップサンプリングプロセスが、入力ブロック幅predW、入力ブロック高さpredH、x=0..predW-1,y=0..predH-1での行列ベースイントラ予測サンプルpredMip[x][y]、変換ブロック幅nTbW、変換ブロック高さnTbH、アップサンプリング境界幅upsBdryW、アップサンプリング境界高さupsBdryH、上アップサンプリング境界サンプルupsBdryT、及び左アップサンプリング境界サンプルupsBdryLを入力として呼び出され、その出力が予測サンプルアレイpredSamplesである;
- それ以外の場合、x=0..nTbW-1,y=0..nTbH-1でのpredSamples[x][y]がpredMip[x][y]に等しく設定される。
10. x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のようにクリッピングされる:
predSamples[x][y]=Clip1Y(predSamples[x][y]) (8-71)
Figure 2022535726000138
8.4.5.2.4 MIP予測アップサンプリングプロセス
このプロセスへの入力は以下である:
- 入力ブロック幅を規定する変数predW、
- 入力ブロック高さを規定する変数predH、
- x=0..predW-1,y=0..predH-1での行列ベースイントラ予測サンプルpredMip[x][y]、
- 変換ブロック幅を規定する変数nTbW、
- 変換ブロック高さを規定する変数nTbH、
- アップサンプリング境界幅を規定する変数upsBdryW、
- アップサンプリング境界高さを規定する変数upsBdryH、
- x=0..upsBdryW-1での上アップリング境界サンプルupsBdryT[x]、
- x=0..upsBdryH-1での左アップリング境界サンプルupsBdryL[x]。
このプロセスの出力は、x=0..nTbW-1,y=0..nTbH-1での予測参照サンプルpredSamples[x][y]である。
x=0..predW-1,y=0..predH-1でのpredMip[x][y]から、疎な予測サンプルpredSamples[m][n]が、次のように導出される:
upHor=nTbW/predW (8-78)
upVer=nTbH/predH (8-79)
predSamples[(x+1)*upHor-1][(y+1)*upVer-1]=predMip[x][y] (8-80)
次のように、x=0..upsBdryW-1での上境界サンプルupsBdryT[x]がpredSamples[m][-1]に割り当てられる:
predSamples[(x+1)*(nTbW/upsBdryW)-1][-1]=upsBdryT[x] (8-81)
y=0..upsBdryH-1での左境界サンプルupsBdryL[y]が、次のように、predSamples[-1][n]に割り当てられる:
predSamples[-1][(y+1)*(nTbH/upsBdryH)-1]=upsBdryL[y] (8-82)
x=0..nTbW-1,y=0..nTbH-1での予測サンプルpredSamples[x][y]が、次のように導出される:
nTbHがnTbWより大きい場合、以下の順序付けられたステップが適用される:
1. upHorが1より大きい場合、m=0..predW-1,n=1..predHでの全ての疎な位置(xHor,yHor)=(m*upHor-1,n*upVer-1)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される:
sum=(upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor] (8-83)
predSamples[xHor+dX][yHor]=
(sum+upHor/2-(sum<0?1:0))/upHor (8-84)
2. m=0..nTbW-1,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される:
sum=(upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer] (8-85)
predSamples[xVer][yVer+dY]=
(sum+upVer/2-(sum<0?1:0))/upVer (8-86)
そうでない場合、以下の順序付けられたステップが適用され:
1. upVerが1より大きい場合、m=1..predW,n=0..predH-1での全ての疎な位置(xVer,yVer)=(m*upHor-1,n*upVer-1)に対する垂直アップサンプリングが、dY=1..upVer-1として、次のように適用される;
sum=(upVer-dY)*predSamples[xVer][yVer]+
dY*predSamples[xVer][yVer+upVer] (8-87)
predSamples[xVer][yVer+dY]=
(sum+upVer/2-(sum<0?1:0))/upVer (8-88)
2. m=0..predW-1,n=0..nTbH-1での全ての疎な位置(xHor,yHor)=(m*upHor-1,n)に対する水平アップサンプリングが、dX=1..upHor-1として、次のように適用される。
sum=(upHor-dX)*predSamples[xHor][yHor]+
dX*predSamples[xHor+upHor][yHor] (8-89)
predSamples[xHor+dX][yHor]=
(sum+upHor/2-(sum<0?1:0))/upHor (8-90)
上述の例は、例えば、ビデオエンコーダ及び/又はデコーダにて実装され得る以下に記載の方法、例えば方法1100-1400及び2300-2400、のコンテキストで組み込まれ得る。
図11は、映像処理のための例示的な方法のフローチャートを示している。方法1100は、ステップ1110にて、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定することを含む。
方法1100は、ステップ1120にて、上記決定に基づき、非ALWIPイントラモード向けの最確モード(MPM)リストの少なくとも一部に基づいて、ALWIPモード向けのMPMリストの少なくとも一部を構築することを含む。
方法1100は、ステップ1130にて、ALWIPモード向けのMPMリストに基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することを含む。
一部の実施形態において、ALWIPモードのMPMリストのサイズは、非ALWIPイントラモード向けのMPMリストのサイズと同じである。一例において、ALWIPモードのMPMリストのサイズは6である。
一部の実施形態において、方法1100は更に、ALWIPモード向けのMPMリストにデフォルトモードを挿入するステップを有する。一例において、デフォルトモードは、ALWIPモード向けのMPMリストのうちの非ALWIPイントラモード向けのMPMリストに基づく部分の前に挿入される。他の一例において、デフォルトモードは、ALWIPモード向けのMPMリストのうちの非ALWIPイントラモード向けのMPMリストに基づく部分に続いて挿入される。更なる他の一例において、デフォルトモードは、ALWIPモード向けのMPMリストのうちの非ALWIPイントラモード向けのMPMリストに基づく部分とインターリーブして挿入される。
一部の実施形態において、ALWIPモード向けのMPMリスト及び非ALWIPイントラモード向けのMPMリストを構築することは、1つ以上の隣接ブロックに基づく。
一部の実施形態において、ALWIPモード向けのMPMリスト及び非ALWIPイントラモード向けのMPMリストを構築することは、現在映像ブロックの高さ又は幅に基づく。
一部の実施形態において、ALWIPモード向けのMPMリストを構築することは、非ALWIPイントラモード向けのMPMリストを構築するのに使用される第2のパラメータセットとは異なる第1のパラメータセットに基づく。
一部の実施形態において、方法1100は更に、現在映像ブロックの隣接ブロックがALWIPモードで符号化されていることを決定し、非ALWIPイントラモード向けのMPMリストを構築する際に、その隣接ブロックを利用可能でないとして指定するステップを含む。
一部の実施形態において、方法1100は更に、現在映像ブロックの隣接ブロックが非ALWIPモードで符号化されていることを決定し、ALWIPモード向けのMPMリストを構築する際に、その隣接ブロックを利用可能でないとして指定するステップを含む。
一部の実施形態において、非ALWIPイントラモードは、通常イントラモード、複数参照ライン(MRL)イントラ予測モード又はイントラサブパーティション(ISP)ツールに基づく。
図12は、映像処理のための例示的な方法のフローチャートを示している。方法1200は、ステップ1210にて、現在映像ブロックのルマコンポーネントが、アフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定することを含む。
方法1200は、ステップ1220にて、上記決定に基づいてクロマイントラモードを推定することを含む。
方法1200は、ステップ1230にて、クロマイントラモードに基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することを含む。
一部の実施形態において、ルマコンポーネントは、クロマコンポーネントの所定のクロマサンプルをカバーする。一例において、所定のクロマサンプルは、クロマコンポーネントの左上サンプル又は中心サンプルである。
一部の実施形態において、推定されるクロマイントラモードはDMモードである。
一部の実施形態において、推定されるクロマイントラモードはALWIPモードである。
一部の実施形態において、ALWIPモードは、現在映像ブロックの1つ以上のクロマコンポーネントに適用される。
一部の実施形態において、現在映像ブロックの異なるカラーコンポーネントにALWIPモードの異なる行列又はバイアスベクトルが適用される。一例において、異なる行列又はバイアスベクトルは、Cb及びCrコンポーネントに対して連帯して定められる。他の一例において、CbコンポーネントとCrコンポーネントとが連結される。更なる他の一例において、CbコンポーネントとCrコンポーネントとがインターリーブされる。
図13は、映像処理のための例示的な方法のフローチャートを示している。方法1300は、ステップ1310にて、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定することを含む。
方法1300は、ステップ1320にて、上記決定に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することを含む。
一部の実施形態において、上記決定は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルグループヘッダ、タイルヘッダ、コーディングツリーユニット(CTU)行、又はCTU領域の中での信号伝達に基づく。
一部の実施形態において、上記決定は、現在映像ブロックの高さ(H)又は幅(W)に基づく。一例において、W>T1又はH>T2である。他の一例において、W≧T1又はH≧T2である。更なる他の一例において、W<T1又はH<T2である。更なる他の一例において、W≦T1又はH≦T2である。更なる他の一例において、T1=32及びT2=32である。
一部の実施形態において、上記決定は、現在映像ブロックの高さ(H)又は幅(W)に基づく。一例において、W+H≦Tである。他の一例において、W+H≧Tである。更なる他の一例において、W×H≦Tである。更なる他の一例において、W×H≧Tである。更なる他の一例において、T=256である。
図14は、映像処理のための例示的な方法のフローチャートを示している。方法1400は、ステップ1410にて、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードとは異なるコーディングモードを用いてコーディングされることを決定することを含む。
方法1400は、ステップ1420にて、上記決定に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することを含む。
一部の実施形態において、コーディングモードは、組み合わせイントラ・インター予測(CIIP)モードであり、方法1400は更に、ALWIPモードと通常イントラ予測モードとの間で選択を実行するステップを含む。一例において、選択を実行することは、現在映像ブロックのビットストリーム表現内での明示的な信号伝達に基づく。他の一例において、選択を実行することは所定のルールに基づく。更なる他の一例において、所定のルールは、現在映像ブロックがCIIPモードを用いてコーディングされるときに常にALWIPモードを選択する。更なる他の一例において、所定のルールは、現在映像ブロックがCIIPモードを用いてコーディングされるときに常に通常イントラ予測モードを選択する。
一部の実施形態において、コーディングモードは、クロスコンポーネント線形モデル(CCLM)予測モードである。一例において、ALWIPモード用のダウンサンプリング手順は、CCLM予測モード用のダウンサンプリング手順に基づく。他の一例において、ALWIPモード用のダウンサンプリング手順は第1のパラメータセットに基づき、CCLM予測モード用のダウンサンプリング手順は、第1のパラメータセットとは異なる第2のパラメータセットに基づく。更なる他の一例において、ALWIPモード用の又はCCLM予測モード用のダウンサンプリング手順は、ダウンサンプリング位置の選択、ダウンサンプリングフィルタの選択、丸め演算又はクリッピング演算のうちの少なくとも1つを有する。
一部の実施形態において、方法1400は更に、RST(Reduced Secondary Transform)、二次変換、回転変換、又は非分離二次変換(NSST)のうちの1つ以上を適用するステップを含む。
一部の実施形態において、方法1400は更に、ブロックベースのDPCM(differential pulse coded modulation)又は残差DPCMを適用するステップを含む。
一部の実施形態において、映像処理方法は、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、現在映像ブロックに対するルールに基づいて、アフィン線形加重イントラ予測(ALWIP)モードの使用を指し示すフラグのコンテキストを決定することと、ALWIPモードに基づいて、現在映像ブロックの複数のサブブロックを予測することと、該予測に基づいて、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行することとを含む。ルールは、先験的技術を用いて暗示的に規定されてもよいし、コーディングビットストリーム内で信号伝達されてもよい。この方法の他の例及び態様は、セクション4の項目37及び38に更に記載されている。
一部の実施形態において、映像処理のための方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定することと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行することとを含み、少なくとも2つのフィルタリング段階のうちの第1のフィルタリング段階におけるサンプルの第1の精度は、少なくとも2つのフィルタリング段階のうちの第2のフィルタリング段階におけるサンプルの第2の精度とは異なる。
一例において、現在映像ブロックのサンプルは、予測サンプル、アップサンプリングプロセスの前の中間サンプル、又はアップサンプリングプロセスの後の中間サンプルである。他の一例において、サンプルは、第1のフィルタリング段階で水平方向に第1次元にてアップサンプリングされ、サンプルは、第2のフィルタリング段階で垂直方向に第2次元にてアップサンプリングされる。更なる他の一例において、サンプルは、第1のフィルタリング段階で垂直方向に第1次元にてアップサンプリングされ、サンプルは、第2のフィルタリング段階で水平方向に第2次元にてアップサンプリングされる。
一例において、第1のフィルタリング段階の出力が右シフトされて又は除算されて、処理された出力を生成し、該処理された出力が、第2のフィルタリング段階への入力である。他の一例において、第1のフィルタリング段階の出力が左シフト又は乗算されて、処理された出力を生成し、該処理された出力が第2のフィルタリング段階への入力である。この方法の他の例及び態様は、セクション4の項目40に更に記載されている。
セクション4の項目41から43に更に記載されるように、映像処理方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、アップサンプリングプロセスは、垂直アップサンプリング及び水平アップサンプリングの双方が実行される場合に固定の順序で実行される。セクション4の項目41から43に更に記載されるように、他の方法は、現在映像ブロックがアフィン線形加重イントラ予測(ALWIP)モードを用いてコーディングされることを決定するステップと、現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換の間に、ALWIPモードに関連するアップサンプリングプロセスにて、現在映像ブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップと、を含み、変換は、アップサンプリングプロセスの前に転置演算を行うことを含む。
上記の方法の更なる特徴は、セクション4の項目41から43に記載されている。
6 開示技術の実装例
図15は、映像処理装置1500のブロック図である。装置1500は、ここに記載される方法のうちの1つ以上を実装するために使用され得る。装置1500は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信器にて具現化され得る。装置1500は、1つ以上のプロセッサ1502、1つ以上のメモリ1504、及び映像処理ハードウェア1506を含み得る。(1つ以上の)プロセッサ1502は、本文書に記載される1つ以上の方法(以下に限られないが方法11100-1400及び2100-2300を含む)を実行するように構成され得る。(1つ以上の)メモリ1504は、ここに記載される方法及び技術を実行するのに使用されるデータ及びコードを格納するために使用され得る。映像処理ハードウェア1506は、本文書に記載される一部の技術をハードウェア回路にて実装するために使用され得る。
一部の実施形態において、映像コーディング方法は、図15に関して説明したようなハードウェアプラットフォーム上に実装される装置を用いて実装され得る。
開示される技術の一部の実施形態は、映像処理ツール又はモードを有効にする決定を行うことを含む。一例において、映像処理ツール又はモードが有効にされるとき、エンコーダは、映像のブロックの処理においてそのツール又はモードを使用又は実装することになるが、必ずしも、そのツール又はモードの使用に基づいて、結果として生じるビットストリームを変更するわけではない。すなわち、映像のブロックから映像のビットストリーム表現への変換は、映像処理ツール又はモードを、それが決定に基づいて有効にされるときに使用することになる。他の一例において、映像処理ツール又はモードが有効にされるとき、デコーダは、その映像処理ツール又はモードに基づいてビットストリームが変更されていることを知って、ビットストリームを処理することになる。すなわち、映像のビットストリーム表現から映像のブロックへの変換は、決定に基づいて有効にされていた映像処理ツール又はモードを用いて実行されることになる。
開示される技術の一部の実施形態は、映像処理ツール又はモードを無効にする決定を行うことを含む。一例において、映像処理ツール又はモードが無効にされるとき、エンコーダは、映像のブロックの映像のビットストリームへの変換においてそのツール又はモードを使用しないことになる。他の一例において、映像処理ツール又はモードが無効にされるとき、デコーダは、決定に基づいて無効にされていた映像処理ツール又はモードを用いてはビットストリームが変更されていないことを知って、ビットストリームを処理することになる。
図21は、この開示の技術を利用し得る映像コーディングシステム100の一例を示すブロック図である。図21に示すように、映像コーディングシステム100は、ソース装置110及びデスティネーション装置120を含み得る。ソース装置110は、符号化映像データを生成し、映像符号化装置として参照され得る。デスティネーション装置120は、ソース装置110によって生成された符号化映像データを復号することができ、映像復号装置として参照され得る。ソース装置110は、映像ソース112、ビデオエンコーダ114、及び入力/出力(I/O)インタフェース116を含み得る。
映像ソース112は、例えば、映像キャプチャ装置、映像コンテンツプロバイダから映像データを受信するインタフェース、及び/又は映像データを生成するコンピュータグラフィックスシステム、又はそのようなソースの組み合わせなどの、ソースを含み得る。映像データは、1つ以上のピクチャを有し得る。ビデオエンコーダ114は、映像ソース112からの映像データを符号化してビットストリームを生成する。ビットストリームは、映像データのコーディング表現を形成する一連のビットを含み得る。ビットストリームは、符号化ピクチャ及び関連データを含み得る。コーディングピクチャはピクチャのコーディング表現である。関連データは、シーケンスパラメータセット、ピクチャパラメータセット、及び他の構文構造を含み得る。I/Oインタフェース116は、変調器/復調器(モデム)及び/又は送信器を含み得る。符号化映像データは、I/Oインタフェース116を介し、ネットワーク130aを通じて直接、デスティネーション装置120に伝送され得る。符号化映像データはまた、デスティネーション装置120によるアクセスのためにストレージ媒体/サーバ130b上に格納されてもよい。
デスティネーション装置120は、I/Oインタフェース126、ビデオデコーダ124、及び表示装置122を含み得る。
I/Oインタフェース126は、受信器及び/又はモデムを含み得る。I/Oインタフェース126は、ソース装置110又はストレージ媒体/サーバ130bから符号化映像データを取得し得る。ビデオデコーダ124は符号化映像データを復号し得る。表示装置122は、復号映像データをユーザに表示し得る。表示装置122は、デスティネーション装置120と一体化されてもよいし、あるいは、外部表示装置とインタフェースするように構成されたデスティネーション装置120の外部にあってもよい。
ビデオエンコーダ114及びビデオデコーダ124は、例えばハイエフィシェンシビデオコーディング(HEVC)標準、バーサタイルビデオコーディング(VVC)標準、及び他の現行の及び/又は将来の標準などの、映像圧縮標準に従って動作し得る。
図22は、図21に示したシステム100内のビデオエンコーダ114とし得るものであるビデオエンコーダ200の一例を示すブロック図である。
ビデオエンコーダ200は、この開示の技術のうちのいずれか又は全てを実行するように構成され得る。図22の例において、ビデオエンコーダ200は、複数の機能コンポーネントを含んでいる。この開示に記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有され得る。一部の例において、プロセッサが、この開示に記載される技術のうちのいずれか又は全てを実行するように構成され得る。
ビデオエンコーダ200の機能コンポーネントは、分割ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含み得る。
他の例において、ビデオエンコーダ200は、より多くの、より少ない、又は異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含んでいてもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在映像ブロックが位置するところのピクチャである、というIBCモードで予測を実行し得る。
また、例えば動き推定ユニット204及び動き補償ユニット205などの一部のコンポーネントは、図22の例では説明の目的で別々に表されているが、高度に集積されることができる。
分割ユニット201は、ピクチャを1つ以上の映像ブロックに分割し得る。ビデオエンコーダ200及びビデオデコーダ300は、様々な映像ブロックサイズをサポートし得る。
モード選択ユニット203は、例えば誤差結果に基づいて、イントラ又はインターである複数のコーディングモードのうちの1つを選択し、得られたイントラ又はインターコーディングブロックを、残差ブロックデータを生成する残差生成ユニット207と、参照ピクチャとしての使用のために符号化ブロックを再構成する再構成ユニット212とに提供し得る。一部の例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくものである組み合わせイントラ・インター予測(combination of intra and inter predication;CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックに対する動きベクトルの分解能(例えば、サブピクセル又は整数ピクセルの精度)を選択し得る。
現在映像ブロックに対してインター予測を実行するために、動き推定ユニット204が、バッファ213からの1つ以上の参照フレームを現在映像ブロックと比較することによって、現在映像ブロックについての動き情報を生成し得る。動き補償ユニット205が、現在映像ブロックに関連付けられたピクチャ以外の、バッファ213からのピクチャの動き情報及び復号サンプルに基づいて、現在映像ブロックについての予測映像ブロックを決定し得る。
動き推定ユニット204及び動き補償ユニット205は、例えば、現在映像ブロックがIスライス内にあるか、Pスライス内にあるか、それともBスライス内にあるかに応じて、現在映像ブロックに対して異なる演算を実行し得る。
一部の例において、動き推定ユニット204は、現在映像ブロックに対して片方向予測を実行することができ、動き推定ユニット204は、現在映像ブロックに対する参照映像ブロックについてリスト0又はリスト1の参照ピクチャを探索し得る。そして、動き推定ユニット204は、参照映像ブロックを含んだリスト0又はリスト1内の参照ピクチャを指し示す参照インデックスと、現在映像ブロックと参照映像ブロックとの間の空間変位を指し示す動きベクトルとを生成し得る。動き推定ユニット204は、現在映像ブロックの動き情報として、上記参照インデックスと、予測方向インジケータと、上記動きベクトルとを出力し得る。現在映像ブロックの動き情報によって示される参照映像ブロックに基づいて、動き補償ユニット205が現在ブロックの予測映像ブロックを生成し得る。
他の例において、動き推定ユニット204は、現在映像ブロックに対して双方向予測を実行することができ、動き推定ユニット204は、現在映像ブロックに対する参照映像ブロックについてリスト0内の参照ピクチャを探索し得るとともに、現在映像ブロックに対するもう1つの参照映像ブロックについてリスト1内の参照ピクチャも探索し得る。そして、動き推定ユニット204は、参照映像ブロックを含んだリスト0内の及びリスト1内の参照ピクチャを指し示す参照インデックスと、それら参照映像ブロックと現在映像ブロックとの間の空間変位を指し示す動きベクトルとを生成し得る。動き推定ユニット204は、現在映像ブロックの動き情報として、それら参照インデックスと、現在映像ブロックの上記動きベクトルとを出力し得る。現在映像ブロックの動き情報によって示される参照映像ブロックに基づいて、動き補償ユニット205が現在ブロックの予測映像ブロックを生成し得る。
一部の例において、動き推定ユニット204は、デコーダの復号処理のために、動き情報の完全なセットを出力し得る。
一部の例において、動き推定ユニット204は、現在映像についての動き情報の完全なセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して現在映像ブロックの動き情報を信号伝達してもよい。例えば、動き推定ユニット204は、現在映像ブロックの動き情報が隣接映像ブロックの動き情報と十分に似ていると判定し得る。
一例において、動き推定ユニット204は、現在映像ブロックに関連付けられる構文構造内で、現在映像ブロックが別の映像ブロックと同じ動き情報を持つことをビデオデコーダ300に示す値を指し示し得る。
他の一例において、動き推定ユニット204は、現在映像ブロックに関連付けられる構文構造内で、別の映像ブロックと動きベクトル差(MVD)とを特定してもよい。動きベクトル差は、現在映像ブロックの動きベクトルと、指し示される映像ブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、指し示された映像ブロックの動きベクトルと動きベクトル差とを用いて、現在映像ブロックの動きベクトルを決定し得る。
上述のように、ビデオエンコーダ200は、動きベクトルを予測的に信号伝達し得る。ビデオエンコーダ200によって実装され得る予測的シグナリング技術の2つの例は、アドバンスト動きベクトル予測(AMVP)及びマージモードシグナリングを含む。
イントラ予測ユニット206は、現在映像ブロックに対してイントラ予測を実行し得る。イントラ予測ユニット206が現在映像ブロックに対してイントラ予測を実行するとき、イントラ予測ユニット206は、同じピクチャ内の他の映像ブロックの復号サンプルに基づいて、現在映像ブロックについての予測データを生成し得る。現在映像ブロックについての予測データは、予測映像ブロックと様々な構文要素とを含み得る。
残差生成ユニット207は、現在映像ブロックの(1つ以上の)予測映像ブロックを現在映像ブロックから差し引くことによって(例えば、マイナス符号によって示される)、現在映像ブロックについての残差データを生成し得る。現在映像ブロックの残差データは、現在映像ブロック内のサンプルの異なるサンプル成分に対応する残差映像ブロックを含み得る。
他の例では、例えばスキップモードにおいて、現在映像ブロックのために現在映像ブロックについての残差データが存在しないことがあり、残差生成ユニット207は減算演算を実行しないことがある。
変換処理ユニット208は、現在映像ブロックに関連する残差映像ブロックに1つ以上の変換を適用することによって、現在映像ブロックについての1つ以上の変換係数映像ブロックを生成し得る。
変換処理ユニット208が現在映像ブロックに関する変換係数映像ブロックを生成した後、量子化ユニット209が、現在映像ブロックに関する変換係数映像ブロックを、現在映像ブロックに関する1つ以上の量子化パラメータ(QP)値に基づいて量子化し得る。
逆量子化ユニット210及び逆変換ユニット211が、変換係数映像ブロックに、それぞれ、逆量子化及び逆変換を適用して、変換係数映像ブロックから残差映像ブロックを再構成し得る。再構成ユニット212が、再構成された残差映像ブロックを、予測ユニット202によって生成された1つ以上の予測映像ブロックからの対応するサンプルに足し合わせて、バッファ213に記憶される現在ブロックに関する再構成映像ブロックを生成し得る。
再構成ユニット212が映像ブロックを再構成した後、映像ブロック内の映像ブロッキングアーチファクトを低減させるために、ループフィルタリング演算が実行され得る。
エントロピー符号化ユニット214が、ビデオエンコーダ200の他の機能コンポーネントからデータを受信し得る。エントロピー符号化ユニット214がデータを受信すると、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化演算を実行してエントロピー符号化データを生成し、そして、エントロピー符号化データを含むビットストリームを出力し得る。
図19は、図17に示したシステム100内のビデオデコーダ124とし得るものであるビデオデコーダ300の一例を示すブロック図である。
ビデオデコーダ300は、この開示の技術のうちのいずれか又は全てを実行するように構成され得る。図19の例において、ビデオデコーダ300は、複数の機能コンポーネントを含んでいる。この開示に記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有され得る。一部の例において、プロセッサが、この開示に記載される技術のうちのいずれか又は全てを実行するように構成され得る。
図19の例において、ビデオデコーダ300は、エントロピー復号ユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、再構成ユニット306、及びバッファ307を含んでいる。ビデオデコーダ300は、一部の例において、ビデオエンコーダ200(図18)に関して説明した符号化パスに対して概ね逆の復号パスを実行し得る。
エントロピー復号ユニット301が符号化ビットストリームを取り出し得る。符号化ビットストリームは、エントロピーコーディングされた映像データ(例えば、映像データの符号化ブロック)を含み得る。エントロピー復号ユニット301はエントロピーコーディング映像データを復号することができ、エントロピー復号された映像データから、動き補償ユニット302が、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他のモーション情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定し得る。
動き補償ユニット302は、場合により補間フィルタに基づく補間を実行して、動き補償ブロックを生成し得る。サブピクセル精度で使用される補間フィルタに関する識別子が構文要素に含められ得る。
動き補償ユニット302は、映像ブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルに対する補間値を計算し得る。動き補償ユニット302は、ビデオエンコーダ200によって使用された補間フィルタを、受信した構文情報に従って決定し、その補間フィルタを用いて予測ブロックを生成し得る。
動き補償ユニット302は、構文情報の一部を用いて、符号化映像シーケンスのフレーム及び/又はスライスを符号化するのに使用されるブロックのサイズ、符号化映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述するパーティション情報、各パーティションがどのように符号化されるかを指し示すモード、各インター符号化ブロックに関する1つ又は複数の参照フレーム(及び参照フレームリスト)、及び符号化映像シーケンスを復号するための他の情報を決定し得る。
イントラ予測ユニット303は、例えばビットストリーム内で受信した、イントラ予測モードを用いて、空間的に隣接するブロックから予測ブロックを形成し得る。逆量子化ユニット303が、ビットストリーム内で提供されてエントロピー復号ユニット301によって復号された量子化された映像ブロック係数を逆量子化する、すなわち、量子化解除する。逆変換ユニット303が逆変換を適用する。
再構成ユニット306が、残差ブロックを、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックと足し合わせて、復号ブロックを形成し得る。望まれる場合、ブロックアーチファクトを除去するために復号ブロックをフィルタリングするよう、デブロッキングフィルタも適用され得る。そして、復号映像ブロックがバッファ307に格納され、それが、後の動き補償/イントラ予測のための参照ブロックを提供し、また、表示装置上での提示のための復号映像を生成する。
本文書において、“映像処理”という用語は、映像符号化、映像復号、映像圧縮又は映像解凍を指してもよい。例えば、映像圧縮アルゴリズムは、映像のピクセル表現から対応するビットストリーム表現への変換又はその逆の間に適用され得る。例えば、現在映像ブロックのビットストリーム表現又はコーディング表現は、構文によって定義されるように、ビットストリーム内の異なる位置において共に位置するビット又は広がるビットに対応し得る。例えば、映像ブロックは、変換及びコーディングされた誤差残差値に関して、また、ヘッダ内のビット又はビットストリーム内の他のフィールドも用いて符号化され得る。さらに、変換中に、デコーダは、上記の解決策に記載のような決定に基づいて、一部のフィールドが存在し得る又は存在しないという認識でビットストリームを解析し得る。同様に、エンコーダも、特定の構文フィールドが含まれる又は含まれないことを決定し、それに応じてコーディング表現からの構文フィールドを含めることによって又は除外することによって、コーディング表現を生成し得る。
図20は、ここに開示される様々な技術が実装され得る映像処理システム2000の一例を示すブロック図である。様々な実装は、システム2000のコンポーネントの一部又は全てを含み得る。システム2000は、映像コンテンツを受信する入力2002を含み得る。映像コンテンツは、例えば8ビット又は10ビットのマルチコンポーネント(多成分)ピクセル値といった、ロー(未加工)又は未圧縮のフォーマットで受信されてもよいし、あるいは圧縮又は符号化されたフォーマットで受信されてもよい。入力2002は、ネットワークインタフェース、周辺バスインタフェース、又はストレージインタフェースを表し得る。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などの有線インタフェース、及びWi-Fi(登録商標)若しくはセルラーインタフェースなどの無線インタフェースを含む。
システム2000は、本文書に記載される様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント2004を含み得る。コーディングコンポーネント2004は、入力2002からコーディングコンポーネント2004の出力まで映像の平均ビットレートを低減させて、映像のコーディング表現を生成し得る。コーディング技術は、それ故に、映像圧縮技術又は映像トランスコーディング技術と呼ばれることがある。コーディングコンポーネント2004の出力は、格納されるか、コンポーネント2006によって表されるように接続されて通信を介して伝送されるかし得る。入力2002で受信された映像の格納又は通信されるビットストリーム(又はコーディング)表現は、ディスプレイインタフェース2010に送られるピクセル値又は表示可能映像を生成するためにコンポーネント2008によって使用され得る。ビットストリーム表現からユーザが見ることができる映像を生成するプロセスは、映像解凍と呼ばれることがある。また、特定の映像処理操作が“コーディング”の操作又はツールとして参照されることがあるが、理解されることには、コーディングのツール又は操作はエンコーダで使用され、コーディングの結果を裏返す対応する復号のツール又は操作がデコーダで実行されることになる。
周辺バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインタフェース(HDMI(登録商標))又はディスプレイポート(Displayport)などを含み得る。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェースなどを含む。本文書に記載される技術は、例えば携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実行することが可能な他の装置などの、種々のエレクトロニクス装置にて具現化され得る。
一部の実施形態において、ALWIPモード又はMIPモードは、映像のうち先行してコーディングされたサンプルに対して、境界ダウンサンプリング演算(又は平均演算)を行い、続いて行列ベクトル乗算演算を行い、続いて選択的に(又はオプションで)アップサンプリング演算(又は線形補間演算)を行うことによって、現在映像ブロックの予測ブロックを計算するために使用される。一部の実施形態において、ALWIPモード又はMIPモードは、映像のうち先行してコーディングされたサンプルに対して、境界ダウンサンプリング演算(又は平均演算)を行い、続いて行列ベクトル乗算演算を行うことによって、現在映像ブロックの予測ブロックを計算するために使用される。一部の実施形態において、ALWIPモード又はMIPモードはまた、行列ベクトル乗算演算を行った後に、アップサンプリング演算(又は線形補間演算)を行うことができる。
図23は、映像処理のための例示的な方法2300のフローチャートを示している。方法2300は、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(MIP)モードを用いて実行するステップ302を含み、MIPモードにおいて、現在映像ブロックの予測ブロックは、映像のうち先行してコーディングされたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いて選択的にアップサンプリング演算を行うことによって決定され、変換は、現在映像ブロックの減少した境界サンプルが現在映像ブロックの参照境界サンプルに少なくとも基づくルールに従って生成される単一の段階において境界ダウンサンプリング演算を行うことを含み、変換は、現在映像ブロックの減少した境界サンプルを用いて行列ベクトル乗算演算を行うことを含む。
方法2300に関する一部の実施形態において、参照境界サンプルは、現在映像ブロックの再構成隣接サンプルである。方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが現在映像ブロックの再構成隣接サンプルから生成されることを規定する。方法2300に関する一部の実施形態において、再構成隣接サンプルは、再構成隣接サンプルが現在映像ブロックに使用される前にフィルタリングされない参照フィルタリングプロセスのない復号隣接サンプルである。方法2300に関する一部の実施形態において、再構成隣接サンプルは、再構成隣接サンプルが現在映像ブロックに使用される前にフィルタリングされる参照フィルタリングプロセスのある復号隣接サンプルである。
方法2300に関する一部の実施形態において、角度イントラ予測サンプルは、再構成隣接サンプルで生成される。方法2300に関する一部の実施形態において、非角度イントラ予測サンプルは、再構成隣接サンプルで生成される。方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが現在映像ブロックの上の行に位置する再構成隣接サンプル及び/又は現在映像ブロックの左の列に位置する再構成隣接サンプルから生成されることを規定する。方法2300に関する一部の実施形態において、第1の数(N)の減少した境界サンプルは、第2の数(M)の再構成隣接サンプルから生成され、減少した境界サンプルは、第3の数(K)の連続する再構成隣接サンプルを用いて生成される。方法2300に関する一部の実施形態において、K=M/Nである。方法2300に関する一部の実施形態において、K=(M+N/2)Nである。方法2300に関する一部の実施形態において、減少した境界サンプルは、第3の数(K)の連続する再構成隣接サンプルにおける連続する再構成隣接サンプルの平均に基づいて生成される。
方法2300に関する一部の実施形態において、減少した境界サンプルは、第3の数(K)の連続する再構成隣接サンプルにおける連続する再構成隣接サンプルの加重平均に基づいて生成される。方法2300に関する一部の実施形態において、ルールは、現在映像ブロックの左に位置する減少した境界サンプルが現在映像ブロックの左の隣接列に位置する再構成隣接サンプルから生成され、現在映像ブロックの上に位置する減少した境界サンプルが現在映像ブロックの上の隣接行に位置する再構成隣接サンプルから生成されることを規定する。方法2300に関する一部の実施形態において、現在映像ブロックは16×16映像ブロックであり、16×16映像ブロックの左に位置する4つの減少した境界サンプルは、16×16映像ブロックの左の隣接列に位置する再構成隣接サンプルから生成され、16×16映像ブロックの上に位置する4つの減少した境界サンプルは、16×16映像ブロックの上の隣接行に位置する再構成隣接サンプルから生成される。
方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが境界ダウンサンプリング演算によって生成される技術が現在映像ブロックの寸法に基づくことを規定する。方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが境界ダウンサンプリング演算によって生成される技術が現在映像ブロックのコーディング情報に基づくことを規定する。方法2300に関する一部の実施形態において、コーディング情報は、現在映像ブロックの幅と、現在映像ブロックの高さと、現在映像ブロックに関連するイントラ予測モード又は変換モードのインジケーションとを含む。方法2300に関する一部の実施形態において、ルールは、減少した境界サンプルが現在映像ブロックのサイズに関係なく生成されることを規定する。方法2300に関する一部の実施形態において、ルールは、現在映像ブロックの左に位置する減少した境界サンプルが生成されるプロセスが、現在映像ブロックの上に位置する減少した境界サンプルが生成されるプロセスと異なることを規定する。方法2300に関する一部の実施形態において、現在映像ブロックは幅(M)及び高さ(N)を有し、現在映像ブロックの上に位置する減少した境界サンプルの第1の所定数はM、N、又はMとNとのうちの最小値であり、現在映像ブロックの左に位置する減少した境界サンプルの第2の所定数はM、N、又はMとNとのうちの最小値であり、第1の数の減少した境界サンプルは、隣接サンプルに基づいて又は現在映像ブロックの上の行に位置する隣接サンプルをコピーすることによって生成され、第2の数の減少した境界サンプルは、隣接サンプルをコピーすることによって又は現在映像ブロックの左の列に位置する隣接サンプルに基づいて生成される。
図24は、映像処理のための例示的な方法2400のフローチャートを示している。方法2400は、映像の現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(MIP)モードを用いて実行するステップ2402を含み、MIPモードにおいて、現在映像ブロックの最終予測ブロックは、映像のうち先行してコーディングされたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いてアップサンプリング演算を行うことによって決定され、変換は、最終予測ブロックが現在映像ブロックの減少した予測ブロックを使用することによって、且つルールに従って現在映像ブロックの再構成隣接サンプルを使用することによって決定されるアップサンプリング演算を行うことを含み、減少した予測ブロックは、現在映像ブロックの減少した境界サンプルに対して行列ベクトル乗算演算を行うことによって取得される。
方法2400に関する一部の実施形態において、ルールは、最終予測ブロックが再構成隣接サンプルの全部を使用することによって決定されることを規定する。方法2400に関する一部の実施形態において、ルールは、最終予測ブロックが再構成隣接サンプルの一部を使用することによって決定されることを規定する。方法2400に関する一部の実施形態において、再構成隣接サンプルは、現在映像ブロックに隣接する。方法2400に関する一部の実施形態において、再構成隣接サンプルは、現在映像ブロックに隣接しない。方法2400に関する一部の実施形態において、再構成隣接サンプルは、現在映像ブロックの上の隣接行である、及び/又は再構成隣接サンプルは、現在映像ブロックの左の隣接列である。
方法2400に関する一部の実施形態において、ルールは、最終予測ブロックを決定する場合、減少した境界サンプルがアップサンプリング演算から除外されることを規定する。方法2400に関する一部の実施形態において、ルールは、最終予測ブロックが再構成隣接サンプルから選択された再構成隣接サンプルのセットを使用することによって決定されることを規定する。方法2400に関する一部の実施形態において、再構成隣接サンプルから選択された再構成隣接サンプルのセットは、現在映像ブロックの左に位置する再構成隣接サンプルの全部の選択を含む。方法2400に関する一部の実施形態において、再構成隣接サンプルから選択された再構成隣接サンプルのセットは、現在映像ブロックの上に位置する再構成隣接サンプルの全部の選択を含む。
方法2400に関する一部の実施形態において、再構成隣接サンプルから選択された再構成隣接サンプルのセットは、現在映像ブロックの左に位置するそれぞれM個の連続する再構成隣接サンプルのうちのK個の選択を含む。方法2400に関する一部の実施形態において、Kは1に等しく、Mは2、4又は8に等しい。方法2400に関する一部の実施形態において、それぞれM個の連続する再構成隣接サンプルのうちのK個は、それぞれM個の連続するもののうちの最後のK個の再構成隣接サンプルを含む。方法2400に関する一部の実施形態において、それぞれM個の連続する再構成隣接サンプルのうちのK個は、それぞれM個の連続するもののうちの最初のK個の再構成隣接サンプルを含む。方法2400に関する一部の実施形態において、再構成隣接サンプルから選択された再構成隣接サンプルのセットは、現在映像ブロックの上に位置するそれぞれM個の連続する再構成隣接サンプルのうちのK個の選択を含む。方法2400に関する一部の実施形態において、Kは1に等しく、Mは2、4又は8に等しい。方法2400に関する一部の実施形態において、それぞれM個の連続する再構成隣接サンプルのうちのK個は、それぞれM個の連続するもののうちの最後のK個の再構成隣接サンプルを含む。
方法2400に関する一部の実施形態において、それぞれM個の連続する再構成隣接サンプルのうちのK個は、それぞれM個の連続するもののうちの最初のK個の再構成隣接サンプルを含む。方法2400に関する一部の実施形態において、再構成隣接サンプルのセットは、現在映像ブロックの幅及び/又は現在映像ブロックの高さに基づいて再構成隣接サンプルから選択される。方法2400に関する一部の実施形態において、現在映像ブロックの幅が現在映像ブロックの高さ以上であることに応じて、再構成隣接サンプルのセットは、現在映像ブロックの左に位置する再構成隣接サンプルの全部を含むように選択され、及び/又は再構成隣接サンプルのセットは、現在映像ブロックの上に位置する或る数の再構成隣接サンプルを含むように選択され、或る数の再構成隣接サンプルは、現在映像ブロックの幅に依存する。
方法2400に関する一部の実施形態において、現在映像ブロックの上に位置する第kの選択された再構成隣接サンプルは、(blkX+(k+1)*blkW/M-1,blkY-1)によって記述される位置に位置し、(blkX,blkY)は現在映像ブロックの左上位置を表し、Mは再構成隣接サンプルの数であり、kは0以上(M-1)以下である。方法2400に関する一部の実施形態において、幅が8以下であることに応じて、再構成隣接サンプルの数は4に等しい。方法2400に関する一部の実施形態において、幅が8より大きいことに応じて、再構成隣接サンプルの数は8に等しい。方法2400に関する一部の実施形態において、再構成隣接サンプルのセットは、現在映像ブロックの左に位置する再構成隣接サンプルの全部を含むように選択される、及び/又は再構成隣接サンプルのセットは、現在映像ブロックの上に位置する或る数の再構成隣接サンプルを含むように選択され、或る数の再構成隣接サンプルは、現在映像ブロックの幅に依存する。
方法2400に関する一部の実施形態において、幅が8以下であることに応じて、再構成隣接サンプルの数は4に等しい。方法2400に関する一部の実施形態において、幅が8より大きいことに応じて、再構成隣接サンプルの数は8に等しい。方法2400に関する一部の実施形態において、現在映像ブロックの幅が現在映像ブロックの高さ未満であることに応じて、再構成隣接サンプルのセットは、現在映像ブロックの上に位置する再構成隣接サンプルの全部を含むように選択され、及び/又は再構成隣接サンプルのセットは、現在映像ブロックの左に位置する或る数の再構成隣接サンプルを含むように選択され、或る数の再構成隣接サンプルは、現在映像ブロックの高さに依存する。
方法2400に関する一部の実施形態において、現在映像ブロックの左に位置する第kの選択された再構成隣接サンプルは、(blkX-1,blkY+(k+1)*blkH/M-1)によって記述される位置に位置し、(blkX,blkY)は現在映像ブロックの左上位置を表し、Mは再構成隣接サンプルの数であり、kは0以上(M-1)以下である。方法2400に関する一部の実施形態において、高さが8以下であることに応じて、再構成隣接サンプルの数は4に等しい。方法2400に関する一部の実施形態において、高さが8より大きいことに応じて、再構成隣接サンプルの数は8に等しい。方法2400に関する一部の実施形態において、再構成隣接サンプルのセットは、現在映像ブロックの上に位置する再構成隣接サンプルの全部を含むように選択される、及び/又は再構成隣接サンプルのセットは、現在映像ブロックの左に位置する或る数の再構成隣接サンプルを含むように選択され、或る数の再構成隣接サンプルは、現在映像ブロックの高さに依存する。
方法2400に関する一部の実施形態において、高さが8以下であることに応じて、再構成隣接サンプルの数は4に等しい。方法2400に関する一部の実施形態において、高さが8より大きいことに応じて、再構成隣接サンプルの数は8に等しい。方法2400に関する一部の実施形態において、ルールは、最終予測ブロックが再構成隣接サンプルを修正することによって取得された修正再構成隣接サンプルのセットを使用することによって決定されることを規定する。方法2400に関する一部の実施形態において、ルールは、修正再構成隣接サンプルのセットが再構成隣接サンプルに対してフィルタリング演算を行うことによって取得されることを規定する。方法2400に関する一部の実施形態において、フィルタリング演算は、Nタップフィルタを使用する。方法2400に関する一部の実施形態において、Nは2又は3に等しい。
方法2400に関する一部の実施形態において、ルールは、現在映像ブロックの最終予測ブロックが決定されるMIPモードに従って、フィルタリング演算が適応的に適用されることを規定する。方法2400に関する一部の実施形態において、最終予測ブロックがアップサンプリング演算によって決定される技術は、現在映像ブロックの寸法に基づく。方法2400に関する一部の実施形態において、最終予測ブロックがアップサンプリング演算によって決定される技術は、現在映像ブロックに関連するコーディング情報に基づく。方法2400に関する一部の実施形態において、コーディング情報は、現在映像ブロックに関連するイントラ予測方向又は変換モードのインジケーションを含む。
この特許文献の方法の一部の実施形態において、変換を実行することは、現在映像ブロックからビットストリーム表現を生成することを含む。この特許文献の方法の一部の実施形態において、変換を実行することは、ビットストリーム表現から現在映像ブロックを生成することを含む。
以上から、理解されることには、ここに開示された技術の特定の実施形態を説明の目的でここに記述したが、発明の範囲から逸脱することなく様々な変更が為され得る。従って、ここに開示された技術は、添付の請求項による場合を除き、限定されるものではない。
この特許文書に記述される主題及び機能動作の実装は、この明細書に開示されている構造及びそれらに構造的に均等なものを含め、様々なシステム、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアにて、あるいはこれらのうちの1つ以上の組み合わせにて実施されることができる。この明細書に記述される主題の実装は、1つ以上のコンピュータプログラムプロダクトとして実装されることができ、すなわち、データ処理装置による実行のための、又はデータ処理装置の動作を制御するための、有形の非一時的なコンピュータ読み取り可能媒体にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶装置、機械読み取り可能記憶基板、メモリ装置、機械読み取り可能な伝搬信号を生じさせる物質の組成、又はそれらのうちの1つ以上の組み合わせとすることができる。用語“データ処理ユニット”又は“データ処理装置”は、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理するあらゆる装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードといった、問題としているコンピュータプログラムのための実行環境を作り出すコードを含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル型又はインタープリタ型の言語を含め、如何なる形態のプログラミング言語で記述されてもよく、また、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして、を含め、如何なる形態で展開されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するわけではない。プログラムは、他のプログラム若しくはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に格納されてもよいし、問題としているプログラムに専用の単一ファイルに格納されてもよいし、あるいは、複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を格納するファイル)に格納されてもよい。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開されてもよいし、あるいは、一箇所に配置された、又は複数箇所に分散されて通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開されてもよい。
この明細書に記載されるプロセス及び論理フローは、入力データについて演算して出力を生成することによって機能を実行するよう、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されることができる。これらのプロセス及び論理フローはまた、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)といった専用の論理回路によって実行されることもでき、また、装置も、そのような専用の論理回路として実装されることができる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の双方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はこれらの両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを格納する1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、磁気光ディスク、又は光ディスクといった、データを格納するための1つ以上の大容量ストレージ装置を含み、あるいは、大容量ストレージ装置からデータを受信したり、それにデータを転送したりするように動作的に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ読み取り可能媒体は、例として、例えばEPROM、EEPROM、及びフラッシュメモリデバイスといった半導体メモリデバイスを含め、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用の論理回路によって補われたり、それに組み込まれたりしてもよい。
意図されることには、明細書は、図面と共に、単に例示的なものとみなされ、例示的なとは一例を意味する。ここで使用されるとき、“又は”の使用は、文脈が別のことを明確に示していない限り、“及び/又は”を含むことが意図される。
この特許文書は数多くの詳細が含んでいるが、それらは、いずれかの発明又は特許請求され得るものの範囲についての限定として解釈されるべきでなく、むしろ、特定の発明の特定の実施形態に特有とし得る機構の説明として解釈されるべきである。別々の実施形態の文脈でこの特許文書に記載されている特定の複数の機構が、単一の実施形態にて組み合わせて実装されることもできる。逆に、単一の実施形態の文脈で説明されている種々の機構が、複数の実施形態にて別々に、又は何らかの好適なサブコンビネーションで実装されることもできる。さらには、複数の機構が、特定の組み合わせにて作用するものとして上述され、さらには当初はそのように特許請求されていることがあり得るが、場合によって、特許請求されている組み合わせからの1以上の機構を組み合わせから除くこともでき、また、特許請求されている組み合わせをサブコンビネーション又はサブコンビネーションのバリエーションへと導いてもよい。
同様に、図面には処理が特定の順序で示されるが、このことは、所望の結果を達成するために、それらの動作が図示される特定の順序で若しくは順番に実行されること、又は図示される全ての処理が実行されることを要求するものとして理解されるべきでない。また、この特許文書に記載されている実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離を必要とするものとして理解されるべきでない。
ほんの少しの実装及び例を記載したのみであり、この特許文書に記載及び図示されているものに基づいて、他の実装、拡張及び変形が行われ得る。

Claims (45)

  1. 映像処理の方法であって、
    映像の現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での変換を、行列ベースイントラ予測(MIP)モードを用いて実行するステップを含み、
    前記MIPモードにおいて、前記現在映像ブロックの最終予測ブロックは、前記映像のうち先行して符号化されたサンプルに対して、境界ダウンサンプリング演算を行い、続いて行列ベクトル乗算演算を行い、続いてアップサンプリング演算を行うことによって決定され、
    前記変換は、前記最終予測ブロックが前記現在映像ブロックの減少した予測ブロックを使用することによって、且つルールに従って前記現在映像ブロックの再構成隣接サンプルを使用することによって決定される前記アップサンプリング演算を行うことを含み、
    前記減少した予測ブロックは、前記現在映像ブロックの減少した境界サンプルに対して前記行列ベクトル乗算演算を行うことによって取得される、方法。
  2. 前記ルールは、前記最終予測ブロックが前記再構成隣接サンプルの全部を使用することによって決定されることを規定する、請求項1に記載の方法。
  3. 前記ルールは、前記最終予測ブロックが前記再構成隣接サンプルの一部を使用することによって決定されることを規定する、請求項1に記載の方法。
  4. 前記再構成隣接サンプルは、前記現在映像ブロックに隣接する、請求項1乃至3のうちいずれか1項に記載の方法。
  5. 前記再構成隣接サンプルは、前記現在映像ブロックに隣接しない、請求項1乃至3のうちいずれか1項に記載の方法。
  6. 前記再構成隣接サンプルは、前記現在映像ブロックの上の隣接行である、及び/又は
    前記再構成隣接サンプルは、前記現在映像ブロックの左の隣接列である、請求項1乃至5のうちいずれか1項に記載の方法。
  7. 前記ルールは、前記最終予測ブロックを決定する場合、前記減少した境界サンプルが前記アップサンプリング演算から除外されることを規定する、請求項1乃至5のうちいずれか1項に記載の方法。
  8. 前記ルールは、前記最終予測ブロックが前記再構成隣接サンプルから選択された再構成隣接サンプルのセットを使用することによって決定されることを規定する、請求項1に記載の方法。
  9. 前記再構成隣接サンプルから選択された前記再構成隣接サンプルのセットは、前記現在映像ブロックの左に位置する前記再構成隣接サンプルの全部の選択を含む、請求項8に記載の方法。
  10. 前記再構成隣接サンプルから選択された前記再構成隣接サンプルのセットは、前記現在映像ブロックの上に位置する前記再構成隣接サンプルの全部の選択を含む、請求項8に記載の方法。
  11. 前記再構成隣接サンプルから選択された前記再構成隣接サンプルのセットは、前記現在映像ブロックの左に位置するそれぞれM個の連続する再構成隣接サンプルのうちのK個の選択を含む、請求項8に記載の方法。
  12. Kは1に等しく、Mは2、4又は8に等しい、請求項11に記載の方法。
  13. それぞれM個の連続する再構成隣接サンプルのうちの前記K個は、それぞれM個の連続するもののうちの最後のK個の再構成隣接サンプルを含む、請求項11に記載の方法。
  14. それぞれM個の連続する再構成隣接サンプルのうちの前記K個は、それぞれM個の連続するもののうちの最初のK個の再構成隣接サンプルを含む、請求項11に記載の方法。
  15. 前記再構成隣接サンプルから選択された前記再構成隣接サンプルのセットは、前記現在映像ブロックの上に位置するそれぞれM個の連続する再構成隣接サンプルのうちのK個の選択を含む、請求項8に記載の方法。
  16. Kは1に等しく、Mは2、4又は8に等しい、請求項15に記載の方法。
  17. それぞれM個の連続する再構成隣接サンプルのうちの前記K個は、それぞれM個の連続するもののうちの最後のK個の再構成隣接サンプルを含む、請求項15に記載の方法。
  18. それぞれM個の連続する再構成隣接サンプルのうちの前記K個は、それぞれM個の連続するもののうちの最初のK個の再構成隣接サンプルを含む、請求項15に記載の方法。
  19. 前記再構成隣接サンプルのセットは、前記現在映像ブロックの幅及び/又は前記現在映像ブロックの高さに基づいて前記再構成隣接サンプルから選択される、請求項8に記載の方法。
  20. 前記現在映像ブロックの前記幅が前記現在映像ブロックの前記高さ以上であることに応じて、
    前記再構成隣接サンプルのセットは、前記現在映像ブロックの左に位置する前記再構成隣接サンプルの全部を含むように選択され、及び/又は
    前記再構成隣接サンプルのセットは、前記現在映像ブロックの上に位置する或る数の前記再構成隣接サンプルを含むように選択され、前記或る数の前記再構成隣接サンプルは、前記現在映像ブロックの前記幅に依存する、請求項19に記載の方法。
  21. 前記現在映像ブロックの上に位置する第kの選択された再構成隣接サンプルは、(blkX+(k+1)*blkW/M-1,blkY-1)によって記述される位置に位置し、
    (blkX,blkY)は前記現在映像ブロックの左上位置を表し、
    Mは前記再構成隣接サンプルの数であり、
    kは0以上(M-1)以下である、請求項20に記載の方法。
  22. 前記幅が8以下であることに応じて、前記再構成隣接サンプルの数は4に等しい、請求項20に記載の方法。
  23. 前記幅が8より大きいことに応じて、前記再構成隣接サンプルの数は8に等しい、請求項20に記載の方法。
  24. 前記再構成隣接サンプルのセットは、前記現在映像ブロックの左に位置する前記再構成隣接サンプルの全部を含むように選択される、及び/又は
    前記再構成隣接サンプルのセットは、前記現在映像ブロックの上に位置する或る数の前記再構成隣接サンプルを含むように選択され、前記或る数の再構成隣接サンプルは、前記現在映像ブロックの前記幅に依存する、請求項19に記載の方法。
  25. 前記幅が8以下であることに応じて、前記再構成隣接サンプルの数は4に等しい、請求項24に記載の方法。
  26. 前記幅が8より大きいことに応じて、前記再構成隣接サンプルの数は8に等しい、請求項24に記載の方法。
  27. 前記現在映像ブロックの前記幅が前記現在映像ブロックの前記高さ未満であることに応じて、
    前記再構成隣接サンプルのセットは、前記現在映像ブロックの上に位置する前記再構成隣接サンプルの全部を含むように選択され、及び/又は
    前記再構成隣接サンプルのセットは、前記現在映像ブロックの左に位置する或る数の前記再構成隣接サンプルを含むように選択され、前記或る数の前記再構成隣接サンプルは、前記現在映像ブロックの前記高さに依存する、請求項19に記載の方法。
  28. 前記現在映像ブロックの左に位置する第kの選択された再構成隣接サンプルは、(blkX-1,blkY+(k+1)*blkH/M-1)によって記述される位置に位置し、
    (blkX,blkY)は前記現在映像ブロックの左上位置を表し、
    Mは前記再構成隣接サンプルの数であり、
    kは0以上(M-1)以下である、請求項27に記載の方法。
  29. 前記高さが8以下であることに応じて、前記再構成隣接サンプルの数は4に等しい、請求項27に記載の方法。
  30. 前記高さが8より大きいことに応じて、前記再構成隣接サンプルの数は8に等しい、請求項27に記載の方法。
  31. 前記再構成隣接サンプルのセットは、前記現在映像ブロックの上に位置する前記再構成隣接サンプルの全部を含むように選択される、及び/又は
    前記再構成隣接サンプルのセットは、前記現在映像ブロックの左に位置する或る数の前記再構成隣接サンプルを含むように選択され、前記或る数の前記再構成隣接サンプルは、前記現在映像ブロックの前記高さに依存する、請求項19に記載の方法。
  32. 前記高さが8以下であることに応じて、前記再構成隣接サンプルの数は4に等しい、請求項31に記載の方法。
  33. 前記高さが8より大きいことに応じて、前記再構成隣接サンプルの数は8に等しい、請求項31に記載の方法。
  34. 前記ルールは、前記最終予測ブロックが前記再構成隣接サンプルを修正することによって取得された修正再構成隣接サンプルのセットを使用することによって決定されることを規定する、請求項1に記載の方法。
  35. 前記ルールは、前記修正再構成隣接サンプルのセットが前記再構成隣接サンプルに対してフィルタリング演算を行うことによって取得されることを規定する、請求項34に記載の方法。
  36. 前記フィルタリング演算は、Nタップフィルタを使用する、請求項35に記載の方法。
  37. Nは2又は3に等しい、請求項36に記載の方法。
  38. 前記ルールは、前記現在映像ブロックの前記最終予測ブロックが決定される前記MIPモードに従って、前記フィルタリング演算が適応的に適用されることを規定する、請求項35に記載の方法。
  39. 前記最終予測ブロックが前記アップサンプリング演算によって決定される技術は、前記現在映像ブロックの寸法に基づく、請求項1に記載の方法。
  40. 前記最終予測ブロックが前記アップサンプリング演算によって決定される技術は、前記現在映像ブロックに関連する符号化情報に基づく、請求項1に記載の方法。
  41. 前記符号化情報は、前記現在映像ブロックに関連するイントラ予測方向又は変換モードのインジケーションを含む、請求項40に記載の方法。
  42. 前記変換を実行することは、前記現在映像ブロックから前記ビットストリーム表現を生成することを含む、請求項1乃至41のうちいずれか1項に記載の方法。
  43. 前記変換を実行することは、前記ビットストリーム表現から前記現在映像ブロックを生成することを含む、請求項1乃至41のうちいずれか1項に記載の方法。
  44. プロセッサと、命令を有する非一時的なメモリとを含む映像システムにおける装置であって、
    前記命令は、前記プロセッサによって実行されると、前記プロセッサに請求項1乃至43のうちいずれか1項に記載の方法を実施させる、装置。
  45. 非一時的なコンピュータ読み取り可能な媒体に格納されたコンピュータプログラム製品であって、
    請求項1乃至43のうちいずれか1項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
JP2021570148A 2019-05-31 2020-05-28 行列ベースイントラ予測における制約されたアップサンプリングプロセス Pending JP2022535726A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023190715A JP2024003124A (ja) 2019-05-31 2023-11-08 行列ベースイントラ予測における制約されたアップサンプリングプロセス

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019089590 2019-05-31
CNPCT/CN2019/089590 2019-05-31
PCT/CN2020/092906 WO2020239018A1 (en) 2019-05-31 2020-05-28 Restricted upsampling process in matrix-based intra prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023190715A Division JP2024003124A (ja) 2019-05-31 2023-11-08 行列ベースイントラ予測における制約されたアップサンプリングプロセス

Publications (1)

Publication Number Publication Date
JP2022535726A true JP2022535726A (ja) 2022-08-10

Family

ID=73551965

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021570148A Pending JP2022535726A (ja) 2019-05-31 2020-05-28 行列ベースイントラ予測における制約されたアップサンプリングプロセス
JP2023190715A Pending JP2024003124A (ja) 2019-05-31 2023-11-08 行列ベースイントラ予測における制約されたアップサンプリングプロセス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023190715A Pending JP2024003124A (ja) 2019-05-31 2023-11-08 行列ベースイントラ予測における制約されたアップサンプリングプロセス

Country Status (6)

Country Link
US (3) US11451784B2 (ja)
EP (1) EP3959876A4 (ja)
JP (2) JP2022535726A (ja)
KR (1) KR20220013939A (ja)
CN (2) CN114051735A (ja)
WO (2) WO2020239018A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10542264B2 (en) * 2017-04-04 2020-01-21 Arris Enterprises Llc Memory reduction implementation for weighted angular prediction
JP7299342B2 (ja) 2019-04-12 2023-06-27 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置、記憶媒体、及び記憶方法
JP7403555B2 (ja) * 2019-04-16 2023-12-22 北京字節跳動網絡技術有限公司 イントラコーディングモードにおけるマトリクスの導出
CN113728647B (zh) 2019-05-01 2023-09-05 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文编码
CN113812150B (zh) 2019-05-01 2023-11-28 北京字节跳动网络技术有限公司 使用滤波的基于矩阵的帧内预测
JP2022533190A (ja) 2019-05-22 2022-07-21 北京字節跳動網絡技術有限公司 アップサンプリングを使用した行列ベースのイントラ予測
WO2020246803A1 (ko) * 2019-06-03 2020-12-10 엘지전자 주식회사 매트릭스 기반 인트라 예측 장치 및 방법
KR20210138115A (ko) * 2019-06-03 2021-11-18 엘지전자 주식회사 매트릭스 기반 인트라 예측 장치 및 방법
CN113950836B (zh) 2019-06-05 2024-01-12 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文确定
EP3975564A4 (en) * 2019-06-11 2022-08-03 Sony Group Corporation IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD
WO2020262951A1 (ko) * 2019-06-24 2020-12-30 현대자동차주식회사 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치
KR20220024835A (ko) * 2019-06-25 2022-03-03 인터디지털 브이씨 홀딩스 프랑스 에스에이에스 픽처 데이터를 코딩/디코딩하기 위한 방법 및 장치
US11943478B2 (en) * 2019-09-19 2024-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Allowing a matrix based intra prediction block to have multiple transform blocks
KR20220082847A (ko) 2019-10-28 2022-06-17 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 색상 성분에 기초한 신택스 시그널링 및 파싱
CN111050183B (zh) * 2019-12-13 2022-04-19 浙江大华技术股份有限公司 一种帧内预测方法、编码器及存储介质
CN113439440A (zh) * 2019-12-19 2021-09-24 Oppo广东移动通信有限公司 图像分量预测方法、编码器、解码器以及存储介质
WO2022216051A1 (ko) * 2021-04-08 2022-10-13 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
US20220337875A1 (en) * 2021-04-16 2022-10-20 Tencent America LLC Low memory design for multiple reference line selection scheme
WO2023177098A1 (ko) * 2022-03-14 2023-09-21 현대자동차주식회사 초해상도 인루프 필터를 이용하는 비디오 코딩을 위한 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022531902A (ja) * 2019-05-10 2022-07-12 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ブロックベース予測

Family Cites Families (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100323676B1 (ko) 2000-01-27 2002-02-07 구자홍 디지털 동영상 수신 장치
US7142601B2 (en) * 2003-04-14 2006-11-28 Mitsubishi Electric Research Laboratories, Inc. Transcoding compressed videos to reducing resolution videos
WO2005086981A2 (en) * 2004-03-10 2005-09-22 Sindhara Supermedia, Inc. Methods and apparatuses for compressing digital image data with motion prediction
US8340177B2 (en) 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
CN100461867C (zh) 2004-12-02 2009-02-11 中国科学院计算技术研究所 一种帧内图像预测编码方法
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
KR101365575B1 (ko) 2007-02-05 2014-02-25 삼성전자주식회사 인터 예측 부호화, 복호화 방법 및 장치
CN101848383A (zh) 2009-03-24 2010-09-29 虹软(上海)科技有限公司 对mpeg2格式视频进行降采样解码的方法
US20100246675A1 (en) 2009-03-30 2010-09-30 Sony Corporation Method and apparatus for intra-prediction in a video encoder
KR20120038401A (ko) 2009-06-09 2012-04-23 소니 주식회사 화상 처리 장치 및 방법
CN101646081A (zh) 2009-06-18 2010-02-10 杭州高特信息技术有限公司 一种avs快速帧内预测方法及装置
CN102045560B (zh) 2009-10-23 2013-08-07 华为技术有限公司 一种视频编解码方法及设备
KR20110045949A (ko) 2009-10-28 2011-05-04 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
JP5544996B2 (ja) 2010-04-09 2014-07-09 ソニー株式会社 画像処理装置および方法
KR101389163B1 (ko) 2010-04-09 2014-04-28 미쓰비시덴키 가부시키가이샤 화상 복호 장치
MY173125A (en) 2010-05-14 2019-12-30 Interdigital Vc Holdings Inc Methods and apparatus for intra coding a block having pixels assigned to groups
WO2012014461A1 (ja) 2010-07-28 2012-02-02 パナソニック株式会社 符号化方法および復号化方法
CN102377993B (zh) 2010-08-05 2014-09-03 富士通株式会社 帧内预测模式选择方法和系统
US8885701B2 (en) 2010-09-08 2014-11-11 Samsung Electronics Co., Ltd. Low complexity transform coding using adaptive DCT/DST for intra-prediction
US8923395B2 (en) 2010-10-01 2014-12-30 Qualcomm Incorporated Video coding using intra-prediction
CN101977316B (zh) 2010-10-27 2012-07-25 无锡中星微电子有限公司 一种可伸缩编码方法
US9167252B2 (en) 2010-12-01 2015-10-20 Texas Instruments Incorporated Quantization matrix compression in video coding
US9462272B2 (en) 2010-12-13 2016-10-04 Electronics And Telecommunications Research Institute Intra prediction method and apparatus
WO2012092761A1 (en) 2011-01-07 2012-07-12 Mediatek Singapore Pte. Ltd. Method and apparatus for improved intra prediction mode coding
US8861593B2 (en) 2011-03-15 2014-10-14 Sony Corporation Context adaptation within video coding modules
JP2012238927A (ja) 2011-05-09 2012-12-06 Sony Corp 画像処理装置及び画像処理方法
WO2012172779A1 (en) * 2011-06-13 2012-12-20 Panasonic Corporation Method and apparatus for encoding and decoding video using intra prediction mode dependent adaptive quantization matrix
US9392301B2 (en) 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
CN102427530B (zh) 2011-10-11 2013-10-23 北京工业大学 帧内预测方法
US9036704B2 (en) 2011-10-24 2015-05-19 Infobridge Pte. Ltd. Image decoding method using intra prediction mode
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
US9088796B2 (en) 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
US9288508B2 (en) 2011-11-08 2016-03-15 Qualcomm Incorporated Context reduction for context adaptive binary arithmetic coding
HUE049148T2 (hu) 2012-02-29 2020-09-28 Sony Corp Képfeldolgozó eszköz és képfeldolgozási eljárás
WO2013154028A1 (ja) 2012-04-13 2013-10-17 ソニー株式会社 画像処理装置および方法
US20130272391A1 (en) 2012-04-16 2013-10-17 Futurewei Technologies, Inc. Method and Apparatus of Quantization Matrix Coding
US9277211B2 (en) 2012-04-20 2016-03-01 Futurewei Technologies, Inc. Binarization scheme for intra prediction residuals and improved intra prediction in lossless coding in HEVC
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9538205B2 (en) 2012-06-01 2017-01-03 Sharp Kabushiki Kaisha Arithmetic decoding device, image decoding apparatus, arithmetic coding device, and image coding apparatus
CN108712651A (zh) 2012-06-29 2018-10-26 韩国电子通信研究院 视频解码方法、视频编码方法和计算机可读介质
US9998727B2 (en) 2012-09-19 2018-06-12 Qualcomm Incorporated Advanced inter-view residual prediction in multiview or 3-dimensional video coding
WO2014052740A1 (en) 2012-09-28 2014-04-03 Vid Scale, Inc. Adaptive upsampling for multi-layer video coding
US20140098883A1 (en) * 2012-10-09 2014-04-10 Nokia Corporation Method and apparatus for video coding
US9521425B2 (en) * 2013-03-19 2016-12-13 Qualcomm Incorporated Disparity vector derivation in 3D video coding for skip and direct modes
US20140286413A1 (en) 2013-03-25 2014-09-25 Qualcomm Incorporated Disabling sign data hiding in video coding
WO2014171713A1 (ko) 2013-04-15 2014-10-23 인텔렉추얼 디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
US20150016533A1 (en) 2013-07-12 2015-01-15 Qualcomm Incorporated Intra motion compensation extensions
CN105765979B (zh) 2013-09-24 2019-08-09 Vid拓展公司 用于可缩放视频编码的层间预测
WO2015056955A1 (ko) * 2013-10-14 2015-04-23 삼성전자 주식회사 다시점 비디오 부호화 방법 및 장치, 다시점 비디오 복호화 방법 및 장치
EP3058739B1 (en) 2013-10-14 2019-08-07 Microsoft Technology Licensing, LLC Features of intra block copy prediction mode for video and image coding and decoding
US10110910B2 (en) 2013-10-21 2018-10-23 Vid Scale, Inc. Parallel decoding method for layered video coding
US10397607B2 (en) 2013-11-01 2019-08-27 Qualcomm Incorporated Color residual prediction for video coding
KR101786414B1 (ko) 2013-12-13 2017-10-17 브이아이디 스케일, 인크. 보간을 이용하는 루마 및 크로마의 위상 정렬을 위한 컬러 색역 스케일러블 비디오 코딩 디바이스 및 방법
WO2015103124A1 (en) 2014-01-02 2015-07-09 Vid Scale, Inc. Color space conversion
MX360926B (es) 2014-01-03 2018-11-22 Microsoft Technology Licensing Llc Prediccion de vector de bloque en codificacion/descodificacion de video e imagen.
US10182241B2 (en) 2014-03-04 2019-01-15 Microsoft Technology Licensing, Llc Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
WO2015131388A1 (en) 2014-03-07 2015-09-11 Qualcomm Incorporated Simplification of depth intra mode coding in 3d video coding
EP3138293A4 (en) 2014-04-29 2017-05-24 Microsoft Technology Licensing, LLC Encoder-side decisions for sample adaptive offset filtering
AU2014202921B2 (en) 2014-05-29 2017-02-02 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
US10567755B2 (en) 2014-07-06 2020-02-18 Lg Electronics Inc. Method for processing video signal, and apparatus therefor
US9918105B2 (en) 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
WO2016074147A1 (en) 2014-11-11 2016-05-19 Mediatek Singapore Pte. Ltd. Separated coding tree for luma and chroma
TWI511530B (zh) 2014-12-09 2015-12-01 Univ Nat Kaohsiung 1St Univ Sc Distributed video coding system and decoder for distributed video coding system
US10097839B2 (en) 2014-12-19 2018-10-09 Qualcomm Incorporated Palette mode for subsampling format
US10200711B2 (en) 2015-03-27 2019-02-05 Qualcomm Incorporated Motion vector derivation in video coding
US20180115787A1 (en) 2015-04-12 2018-04-26 Lg Electronics Inc. Method for encoding and decoding video signal, and apparatus therefor
KR102390073B1 (ko) 2015-06-08 2022-04-25 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 인트라 블록 카피 모드
EP3598760A1 (en) * 2015-06-11 2020-01-22 Intellectual Discovery Co., Ltd. Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therfor
KR101809630B1 (ko) 2015-06-11 2017-12-15 인텔렉추얼디스커버리 주식회사 적응적인 디블록킹 필터링에 관한 부호화/복호화 방법 및 장치
US10681380B2 (en) * 2015-06-12 2020-06-09 Panasonic Intellectual Property Management Co., Ltd. Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus
US10531084B2 (en) 2015-06-15 2020-01-07 Lg Electronics Inc. Intra prediction mode based image processing method, and apparatus therefor
US20160373770A1 (en) 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10841593B2 (en) 2015-06-18 2020-11-17 Qualcomm Incorporated Intra prediction and intra mode coding
US20160373782A1 (en) 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
US11463689B2 (en) * 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US20160373742A1 (en) 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US11477484B2 (en) 2015-06-22 2022-10-18 Qualcomm Incorporated Video intra prediction using hybrid recursive filters
JP2018527784A (ja) 2015-07-08 2018-09-20 ヴィド スケール インコーポレイテッド クロスプレーンフィルタリングを使用する強化されたクロマコーディング
TWI764870B (zh) 2015-07-28 2022-05-21 法商內數位麥德遜專利控股有限公司 視訊訊號處理裝置及方法
WO2017041271A1 (en) 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
KR20180044944A (ko) 2015-09-21 2018-05-03 엘지전자 주식회사 계수 유도 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US10681379B2 (en) 2015-09-29 2020-06-09 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
EP3367680B1 (en) 2015-10-22 2020-07-01 LG Electronics Inc. Intra-prediction method and apparatus in video coding system
EP3371976A1 (en) 2015-11-02 2018-09-12 Dolby Laboratories Licensing Corp. Layered representation containing crc codes and delivery of high dynamic range video
EP3360329A4 (en) 2015-11-18 2019-04-10 MediaTek Inc. METHOD AND DEVICE FOR AN INTRAPRADICATION MODE WITH AN INTRAPREDICATION FILTER FOR VIDEO AND IMAGE COMPRESSION
US20170150176A1 (en) 2015-11-25 2017-05-25 Qualcomm Incorporated Linear-model prediction with non-square prediction units in video coding
US10863207B2 (en) 2015-11-27 2020-12-08 Mediatek Inc. Method and apparatus of entropy coding and context modelling for video and image coding
US10448011B2 (en) 2016-03-18 2019-10-15 Mediatek Inc. Method and apparatus of intra prediction in image and video processing
US10567759B2 (en) 2016-03-21 2020-02-18 Qualcomm Incorporated Using luma information for chroma prediction with separate luma-chroma framework in video coding
US11259047B2 (en) 2016-04-06 2022-02-22 Kt Corporation Method and apparatus for processing video signal
US10931947B2 (en) 2016-05-04 2021-02-23 Sharp Kabushiki Kaisha Systems and methods for coding transform data
CN109417625B (zh) 2016-05-05 2023-02-28 交互数字麦迪逊专利控股公司 编码或解码视频的装置及方法
US10547854B2 (en) 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
EP3244614A1 (en) 2016-05-13 2017-11-15 Thomson Licensing A method and a device for decoding an intra predicted block of a picture and corresponding coding method and coding device
US11228770B2 (en) 2016-05-16 2022-01-18 Qualcomm Incorporated Loop sample processing for high dynamic range and wide color gamut video coding
US20190289301A1 (en) 2016-05-23 2019-09-19 Kaonmedia Co., Ltd. Image processing method, and image encoding and decoding method using same
US10812807B2 (en) 2016-06-03 2020-10-20 Lg Electronics Inc. Intra-prediction method and apparatus in image coding system
US10484712B2 (en) * 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
US20170374369A1 (en) 2016-06-24 2017-12-28 Mediatek Inc. Methods and Apparatuses of Decoder Side Intra Mode Derivation
CN116708777A (zh) 2016-07-18 2023-09-05 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
GB2552323B (en) * 2016-07-18 2020-04-29 Imagination Tech Ltd Mip map compression
US10368107B2 (en) 2016-08-15 2019-07-30 Qualcomm Incorporated Intra video coding using a decoupled tree structure
WO2018033661A1 (en) * 2016-08-15 2018-02-22 Nokia Technologies Oy Video encoding and decoding
US10326986B2 (en) 2016-08-15 2019-06-18 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US10721489B2 (en) 2016-09-06 2020-07-21 Qualcomm Incorporated Geometry-based priority for the construction of candidate lists
CN117201775A (zh) * 2016-09-13 2023-12-08 韩国电子通信研究院 视频编码/解码方法和装置以及存储比特流的记录介质
EP3301916A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
US10506228B2 (en) 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
CN109792516B (zh) 2016-10-04 2021-05-25 联发科技股份有限公司 图像和视频编解码中用于帧内色度编解码的方法及装置
CN109792521A (zh) 2016-10-04 2019-05-21 韩国电子通信研究院 用于对图像进行编码/解码的方法和设备以及存储比特流的记录介质
US11095893B2 (en) 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
CN116896633A (zh) 2016-10-28 2023-10-17 韩国电子通信研究院 视频编码/解码方法和设备以及存储比特流的记录介质
WO2018128417A1 (ko) 2017-01-04 2018-07-12 삼성전자 주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
US20180199062A1 (en) 2017-01-11 2018-07-12 Qualcomm Incorporated Intra prediction techniques for video coding
US11025903B2 (en) 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
US11102509B2 (en) 2017-04-28 2021-08-24 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bit stream
US10638126B2 (en) 2017-05-05 2020-04-28 Qualcomm Incorporated Intra reference filter for video coding
US10560723B2 (en) 2017-05-08 2020-02-11 Qualcomm Incorporated Context modeling for transform coefficient coding
WO2018208349A1 (en) 2017-05-09 2018-11-15 Google Llc Directional intra-prediction coding
WO2018216862A1 (ko) 2017-05-24 2018-11-29 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
TWI678917B (zh) * 2017-06-07 2019-12-01 聯發科技股份有限公司 用於視訊編解碼的畫面內-畫面間預測的方法及裝置
EP3627836A4 (en) 2017-06-21 2021-04-07 LG Electronics Inc. METHOD AND DEVICE FOR DECODING IMAGES ACCORDING TO INTRAPREDICTION IN AN IMAGE ENCODING SYSTEM
CN109151468B (zh) 2017-06-28 2020-12-08 华为技术有限公司 一种图像数据的编码、解码方法及装置
CN117499630A (zh) 2017-07-06 2024-02-02 Lx 半导体科技有限公司 图像解码设备、图像编码设备、用于发送图像数据的设备
CN109302608B (zh) 2017-07-25 2021-06-22 华为技术有限公司 图像处理方法、设备及系统
WO2019022099A1 (ja) 2017-07-28 2019-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US11172203B2 (en) 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
WO2019050385A2 (ko) 2017-09-07 2019-03-14 엘지전자 주식회사 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
CN107749987B (zh) * 2017-09-30 2020-09-18 河海大学 一种基于块运动估计的数字视频稳像方法
JP2021010046A (ja) 2017-10-06 2021-01-28 シャープ株式会社 画像符号化装置及び画像復号装置
CN117097903A (zh) 2018-02-14 2023-11-21 杜比实验室特许公司 在视频编码中利用率失真优化进行图像再成形
WO2019172676A1 (ko) 2018-03-08 2019-09-12 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
US10382772B1 (en) 2018-07-02 2019-08-13 Tencent America LLC Method and apparatus for video coding
KR20200028856A (ko) 2018-09-07 2020-03-17 김기백 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
CN113170114B (zh) 2018-09-13 2024-03-29 弗劳恩霍夫应用研究促进协会 仿射线性加权帧内预测
IL281629B2 (en) 2018-09-21 2024-01-01 Guangdong Oppo Mobile Telecommunications Corp Ltd A method of encoding/decoding image signals and a device therefor
CN112823515B (zh) 2018-10-07 2024-03-19 三星电子株式会社 使用用于多参考线的mpm配置方法处理视频信号的方法和设备
AU2019374663B2 (en) 2018-11-08 2023-02-09 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image signal encoding/decoding method, and device for same
CN113475071A (zh) 2018-12-20 2021-10-01 弗劳恩霍夫应用研究促进协会 使用具有邻近样本缩减的线性或者仿射变换的内预测
US11445203B2 (en) 2019-01-04 2022-09-13 Qualcomm Incorporated Sub-partition intra prediction in video coding
CN112425160B (zh) 2019-02-26 2023-05-12 苹果公司 用于对视频信号进行编码/解码的方法及其设备
US11711534B2 (en) 2019-02-28 2023-07-25 Apple Inc. Method for encoding/decoding image signal, and device therefor
JP7377878B2 (ja) 2019-03-05 2023-11-10 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ハイブリッドビデオ符号化ツールのための使用事例駆動コンテキストモデル選択
WO2020185022A1 (ko) 2019-03-12 2020-09-17 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
US11134257B2 (en) 2019-04-04 2021-09-28 Tencent America LLC Simplified signaling method for affine linear weighted intra prediction mode
JP7299342B2 (ja) 2019-04-12 2023-06-27 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置、記憶媒体、及び記憶方法
JP7403555B2 (ja) 2019-04-16 2023-12-22 北京字節跳動網絡技術有限公司 イントラコーディングモードにおけるマトリクスの導出
WO2020211776A1 (en) 2019-04-16 2020-10-22 Mediatek Inc. Methods and apparatuses for coding video data with adaptive secondary transform signaling
KR20210133299A (ko) 2019-04-20 2021-11-05 엘지전자 주식회사 Bdpcm에 기반한 영상 코딩 방법 및 그 장치
US11381808B2 (en) * 2019-04-25 2022-07-05 Hfi Innovation Inc. Method and apparatus of matrix based intra prediction in image and video processing
KR20210113390A (ko) 2019-04-27 2021-09-15 후아웨이 테크놀러지 컴퍼니 리미티드 인트라 예측의 인코더, 디코더 및 대응하는 방법
CN113785566A (zh) 2019-04-27 2021-12-10 韦勒斯标准与技术协会公司 基于帧内预测处理视频信号的方法和设备
CN113728647B (zh) 2019-05-01 2023-09-05 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文编码
CN113812150B (zh) 2019-05-01 2023-11-28 北京字节跳动网络技术有限公司 使用滤波的基于矩阵的帧内预测
US11277637B2 (en) 2019-05-09 2022-03-15 Qualcomm Incorporated Reference sampling for matrix intra prediction mode
US11284093B2 (en) 2019-05-09 2022-03-22 Qualcomm Incorporated Affine linear weighted intra prediction in video coding
US11363284B2 (en) 2019-05-09 2022-06-14 Qualcomm Incorporated Upsampling in affine linear weighted intra prediction
US20230057982A1 (en) 2019-05-15 2023-02-23 Beijing Bytedance Network Technology Co., Ltd. Matrix-based intra prediction using filtering
JP2022533190A (ja) * 2019-05-22 2022-07-21 北京字節跳動網絡技術有限公司 アップサンプリングを使用した行列ベースのイントラ予測
KR20210138115A (ko) 2019-06-03 2021-11-18 엘지전자 주식회사 매트릭스 기반 인트라 예측 장치 및 방법
CN113950836B (zh) 2019-06-05 2024-01-12 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文确定
WO2020251470A1 (en) 2019-06-14 2020-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Simplified downsampling for matrix based intra prediction
US11197025B2 (en) 2019-06-21 2021-12-07 Qualcomm Incorporated Signaling of matrix intra prediction parameters in video coding
JP2022525770A (ja) 2019-06-25 2022-05-19 オッポ広東移動通信有限公司 マッピング方法、エンコーダ、デコーダ及びコンピュータ記憶媒体
US11284073B2 (en) 2019-07-08 2022-03-22 Hyundai Motor Company Method and apparatus for intra prediction coding of video data involving matrix based intra-prediction
CN110708559B (zh) 2019-09-03 2022-03-25 北京达佳互联信息技术有限公司 图像处理方法、装置及存储介质
US20210092405A1 (en) 2019-09-19 2021-03-25 Qualcomm Incorporated Matrix combination for matrix-weighted intra prediction in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022531902A (ja) * 2019-05-10 2022-07-12 フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン ブロックベース予測

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PFAFF, JONATHAN ET AL.: "CE3: Affine linear weighted intra prediction (CE3-4.1, CE3-4.2)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 14TH MEETING: GENE, vol. JVET-N0217 (version 3), JPN6023008647, 25 March 2019 (2019-03-25), ISSN: 0005007421 *

Also Published As

Publication number Publication date
US11451784B2 (en) 2022-09-20
US20220014752A1 (en) 2022-01-13
WO2020239018A1 (en) 2020-12-03
CN114051735A (zh) 2022-02-15
US11943444B2 (en) 2024-03-26
EP3959876A4 (en) 2022-06-29
US20240121396A1 (en) 2024-04-11
CN113924775A (zh) 2022-01-11
WO2020239017A1 (en) 2020-12-03
EP3959876A1 (en) 2022-03-02
US20230039865A1 (en) 2023-02-09
CN113924775B (zh) 2023-11-14
JP2024003124A (ja) 2024-01-11
KR20220013939A (ko) 2022-02-04

Similar Documents

Publication Publication Date Title
JP7299342B2 (ja) ビデオ処理方法、装置、記憶媒体、及び記憶方法
JP2022535726A (ja) 行列ベースイントラ予測における制約されたアップサンプリングプロセス
CN113950836B (zh) 基于矩阵的帧内预测的上下文确定
WO2020211807A1 (en) Matrix derivation in intra coding mode
CN113875233B (zh) 使用上采样的基于矩阵的帧内预测
CN113812150B (zh) 使用滤波的基于矩阵的帧内预测
CN113728647B (zh) 基于矩阵的帧内预测的上下文编码
JP7404526B2 (ja) カラーコンポーネントに基づくシンタックスシグナリング及び構文解析

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220121

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230919