JP7469488B2 - インループフィルタリングと映像スライスとの間の相互作用 - Google Patents

インループフィルタリングと映像スライスとの間の相互作用 Download PDF

Info

Publication number
JP7469488B2
JP7469488B2 JP2022548759A JP2022548759A JP7469488B2 JP 7469488 B2 JP7469488 B2 JP 7469488B2 JP 2022548759 A JP2022548759 A JP 2022548759A JP 2022548759 A JP2022548759 A JP 2022548759A JP 7469488 B2 JP7469488 B2 JP 7469488B2
Authority
JP
Japan
Prior art keywords
video
bitstream
slice
picture
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022548759A
Other languages
English (en)
Other versions
JP2023513710A (ja
Inventor
カイ ジャン
リー ジャン
ヤン ワン
イェクイ ワン
ジピン ドン
ジジョン シュー
ホンビン リウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of JP2023513710A publication Critical patent/JP2023513710A/ja
Application granted granted Critical
Publication of JP7469488B2 publication Critical patent/JP7469488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

関連出願の相互参照
願は、2020年2月14日出願の国際特許出願第PCT/CN2020/075216号の優先権および利益を張する2021年2月9日出願の国際特許出願第PCT/CN2021/076255号に基づく記出願の開示全体は、本明細書の開示して参照によりここに援用される。
この特許明細書は、画像および映像の符号化および復号化に関する。
デジタル映像は、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信および表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
本願は、コーディングされた表現の復号化に有用な制御情報を使用して、映像のコーディングされた表現を処理するために、映像エンコーダおよびデコーダにより使用され得る技術を開示する。
1つの例示的な態様において、映像処理方法が開示される。この方法は、映像ユニットを含む映像と映像のビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に準拠し、フォーマット規則は、タイル境界を超えてインループフィルタリング動作を実行するかどうかを示す第1の構文要素を、映像ユニットをタイルに分割するかどうかまたはどのように分割するかに応じて、ビットストリームに選択的に含めることを規定する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、フォーマット規則に準拠し、フォーマット規則は、スライス境界を超えてインループフィルタリング動作を実行するかどうかを示す構文要素を、映像ユニットをスライスに分割するかどうかまたはどのように分割するかに応じて、ビットストリームに選択的に含めることを規定する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、フォーマット規則に準拠し、フォーマット規則は、変換へのツールの適用可能性に関する情報をビットストリームにおいて映像スライスレベルおよび/または映像ピクチャレベルで示すことを規定し、ツールは輝度サンプルを特定の値にマッピングし、クロマサンプルの値に対してスケーリング動作を選択的に適用する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像のビットストリームとの間の変換を実行することを含み、変換はサイズ規則に準拠し、サイズ規則は、映像領域のコーディング特性に従って、TS(Transform-skip)コーディング方式またはBDPCM(Block-based Delta Pulse Code Modulation)コーディング方式を使用してコーディングされる映像領域の最大サイズ、あるいは映像領域のための変換ブロックの最大サイズを規定する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、変換の間に使用される最小許容コーディングブロックサイズが、ビットストリームに最大許容変換ブロックサイズが含まれるかどうか、および/またはどのように最大許容変換ブロックサイズが含まれるかを制御することを規定するフォーマット規則に準拠する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域とこの映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、変換の間に使用される最小許容コーディングブロックサイズが、TS(Transform-Skip)方式またはBDPCM(Block-based Delta Pulse Code Modulation)方式を使用して、符号化または復号化のための映像領域の最大サイズの指示がビットストリームに含まれるかどうか、および/またはどのようにこの指示が含まれるかを制御することを規定するフォーマット規則に準拠する。
別の例示的な態様において、映像処理方法が開示される。この方法は、フォーマット規則に従って、映像の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、変換の間に使用される最小許容コーディングブロックサイズが、TS(Transform-Skip)方式またはBDPCM(Block-based Delta Pulse Code Modulation)方式が有効化されているか無効化されているかを示す領域がビットストリームに含まれているか、および/またはどのようにこの領域が含まれるかを制御することを規定するフォーマット規則に準拠する。
別の例示的な態様において、映像処理方法が開示される。この方法は、フォーマット規則に従って、映像の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、変換の間に使用される最小許容コーディングブロックサイズが、変換におけるコーディングツールの適用可能性に関する情報を搬送する領域がビットストリームの映像領域レベルに含まれるかどうか、および/またはどのように領域が映像領域レベルに含まれるかを制御することを規定するフォーマット規則に準拠する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像のビットストリームとの間の変換のために、映像領域に対してデュアルツリーコーディング方式が有効化されていることに起因して、映像の輝度成分およびクロマ成分に使用される分割方式が異なる最小許容ブロックサイズを有することを判定することと、判定に基づいて変換を行うこととを含む。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像のビットストリームとの間の変換のために、規則に基づいて、映像領域に対して許容されるサブブロックベースのマージ候補の最大数を判定することと、判定に基づいて変換を実行することを含み、規則は変換の間に使用されるサブブロックベースのマージ候補の最大数が第1の変数と第2の変数の和として導出可能であることを規定し、第1の変数はアフィン予測が無効化されていることに対応する0に等しく、第2の変数はsbTMVP(sub-block based Temporal Motion Vector Prediction)が有効化されているかどうかに基づく。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像領域のビットストリームとの間の変換を、映像が4:2:2映像または4:4:4映像であることに起因する変換に適用できる処理規則を適合させることにより、実行することを含み、処理規則は、クロマおよび輝度を、(a)ALF(Adaptive Loop Filtering)動作の仮想境界とCTB(Coding Tree Block)の底部境界との間の画素ラインの数、または、(b)ALF動作の仮想境界とCTBの底部境界との間の行に適用されるフィルタのフィルタ強度、または、(c)同一行の輝度とクロマサンプルをパディングするために使用されるパディング方法、のうちの1つまたは複数に対して調整することを定義する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像ユニットとこの映像のコーディングされた表現との間の変換のために、映像ユニットの映像領域にわたるインループフィルタリングの適用可能性の指示がコーディングされた表現に含まれているかどうかを判定することと、判定に基づいて変換を実行することとを含む。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像のコーディングされた表現との間の変換を実行することを含み、コーディングされた表現はフォーマット規則に準拠したフォーマット規則は、変換に対するLMCS(Luma Mapping with Chroma Scaling)の適用可能性に関する情報が映像スライスレベルでコーディングされた表現中に示されることを規定し、LMCSツールは、変換中に、現在の映像ブロックを第1のドメインおよび第2のドメインに基づいて構築することを含み、および/またはクロマ残差は輝度に依存してスケーリングされる。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像と映像のコーディングされた表現との間の変換を実行することを含み、変換は、符号化する間に、変換スキップコーディング方式またはデルタパルス符号化変調コーディング方式を使用して符号化された映像領域の最大サイズについてサイズ規則を適用し、または復号化する間に、変換スキップ復号化方式またはデルタパルス符号化変調デコーディング方式を使用して、復号化された映像領域の最大サイズに対してサイズ規則を実施して符号化された表現を解析および復号化することを規定するサイズ規則に準拠する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像のコーディングされた表現との間の変換を実行することを含み、コーディングされた表現は、変換の間に使用される最小許容変換ブロックサイズが、コーディングされた表現に最大許容変換ブロックサイズの指示が含まれるかどうか、またはどのように指示が含まれるかを制御することを規定するフォーマット規則に準拠する。
別の例示的な態様において、映像処理方法が開示される。この方法は、フォーマット規則に従って、映像の映像ユニットと映像のコーディングされた表現との間の変換を実行することを含み、コーディングされた表現は、変換の間に使用される最小許容コーディングブロックサイズが、変換におけるコーディングツールの適用可能性に関する情報を搬送する領域が映像領域レベルで含まれるかどうかを制御することを規定するフォーマット規則に準拠する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像のコーディングされた表現との変換のために、デュアルツリーコーディングを変換のために使用することに起因して、映像の輝度およびクロマ成分に使用される分割方式が、輝度およびクロマ成分に対して許容される最小ブロックサイズが異なることを決定し、決定に基づいてこの変換を実行することを含む。
別の例示的な態様において、映像処理方法が開示される。この方法は、コーディングされた表現のためのフォーマット規則に準拠して、映像の映像領域と映像領域のコーディングされた表現との間の変換を実行することを含み、フォーマット規則は、変換の間に使用されるサブブロックベースのマージ候補の最大数を第1の変数と第2の変数との和として導出することを規定し、アフィン予測を使用することによって、第1の変数の値を制御し、サブブロックベースの時間動きベクトル予測を使用することによって、第2の変数の値を制御する。
別の例示的な態様において、映像処理方法が開示される。この方法は、映像の映像領域と映像領域のコーディングされた表現との変換を、映像が4:2:2または4:4:4映像であることに起因する変換に適用できる処理規則を整合させることにより、実行することを含み、処理規則は、クロマおよび輝度を、(a)適応ループフィルタリング動作の仮想境界とコーディングツリーブロックの底部境界との間の画素ラインの数、または、(b)適応ループフィルタリング動作の仮想境界とコーディングツリーブロックの底部境界との間の行に適用されるフィルタのフィルタ強度、または、(c)行内の映像サンプルをパディングするために使用されるパディング方法、のうちの1または複数に対して調整することを定義する。
さらに別の例示的な態様において、映像エンコーダ装置が開示される。映像エンコーダは、上述した方法を実装するように構成されたプロセッサを備える。
さらに別の例示的な態様において、映像デコーダ装置が開示される。映像デコーダは、上述した方法を実装するように構成されたプロセッサを備える。
さらに別の例示的な態様では、コードが記憶されたコンピュータ可読媒体が開示される。コードは、本明細書に記載の方法の1つをプロセッサが実行可能なコードの形式で実施する。
これらのおよび他の特徴は、本文書全体にわたって説明される。
ピクチャのラスタスキャンスライス分割の例を示し、ピクチャは、12個のタイルと3個のラスタスキャンスライスとに分割される。 ピクチャの矩形スライス分割の例を示し、ピクチャは、24個のタイル(6個のタイル列および4個のタイル行)と9個の矩形スライスとに分割される。 タイルおよび矩形のスライスに分割されたピクチャの例を示し、ピクチャは、4つのタイル(2つのタイルの列および2つのタイルの行)と4つの矩形スライスとに分割される。 15個のタイル、24個のスライス、および24個のサブピクチャに分割されたピクチャを示す。 ピクチャにおける4:2:2の輝度およびクロマサンプルの名目上の垂直および水平の位置を示す。 ALFフィルタ形状の例を示す。 サブサンプリングされたラプラシアン計算を示し垂直方向勾配のためのサブサンプリング位置を示す。 サブサンプリングされたラプラシアン計算を示し、水平方向勾配のためのサブサンプリング位置を示す。 サブサンプリングされたラプラシアン計算を示し、対角勾配のためのサブサンプリング位置を示す。 サブサンプリングされたラプラシアン計算を示し、対角勾配のためのサブサンプリング位置を示す。 輝度成分のためのVTM-4.0中のループフィルタラインバッファ要件の例を示す。 クロマ成分のためのVTM-4.0中のループフィルタラインバッファ要件を示す。 仮想境界における修正された区分を示す。 仮想境界における輝度成分のための修正されたALFフィルタリングの例を示す。 仮想境界における修正輝度ALFフィルタリングの例を示す。 仮想境界における修正輝度ALFフィルタリングの例を示す。 仮想境界における修正輝度ALFフィルタリングの例を示す。 ピクチャまたはサブピクチャまたはスライスまたはタイルの境界における輝度ALFフィルタリングのための反復パディングの例を示す。 ALFのための鏡面パディングの例を示す。 映像処理システム例を示すブロック図である。 映像処理装置のブロック図である。 映像処理方法の一例を示すフローチャートである。 本開示のいくつかの実施形態による映像コーディングシステムを示すブロック図である。 本発明のいくつかの実施形態によるエンコーダを示すブロック図である。 本発明のいくつかの実施形態によるデコーダを示すブロック図である。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。 映像処理の方法の例を示すフローチャートである。
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに用いられ、開示される技術の範囲を限定するために用いられたものではない。このように、本明細書で説明される技術は、他の映像コーデックプロトコルおよび設計にも適用可能である。
1.概要
本明細書は、映像コーディング技術に関する。具体的には、これは、サブピクチャ、タイル、およびスライスの信号通知に関する。この考えは、個々にまたは様々な組み合わせで、マルチレイヤ映像コーディング、例えば、現在開発されているVVC(Versatile Video Coding)をサポートする任意の映像コーディング標準または非標準映像コーデックに適用されてもよい。
2.略語
APS Adaptation Parameter Set
AU Access Unit
AUD Access Unit Delimiter
AVC Advanced Video Coding
CLVS Coded Layer Video Sequence
CPB Coded Picture Buffer
CRA Clean Random Access
CTU Coding Tree Unit
CVS Coded Video Sequence
DPB Decoded Picture Buffer
DPS Decoding Parameter Set
EOB End Of Bitstream
EOS End Of Sequence
GDR Gradual Decoding Refresh
HEVC High Efficiency Video Coding
HRD Hypothetical Reference Decoder
IDR Instantaneous Decoding Refresh
JEM Joint Exploration Model
MCTS Motion-Constrained Tile Sets
NAL Network Abstraction Layer
OLS Output Layer Set
PH Picture Header
PPS Picture Parameter Set
PTL Profile,Tier and Level
PU Picture Unit
RBSP Raw Byte Sequence Payload
SEI Supplemental Enhancement Information
SPS Sequence Parameter Set
SVC Scalable Video Coding
VCL Video Coding Layer
VPS Video Parameter Set
VTM VVC Test Model
VUI Video Usability Information
VVC Versatile Video Coding
3.初期の協議
映像コーディング規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4 Visualを作り、両団体はH.262/MPEG-2 VideoとH.264/MPEG-4 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Model)と呼ばれる参照ソフトウェアに組み込まれてきた。JVETは四半期に1回開催され、新しいコーディング規格はHEVCに比べて50%のビットレート低減を目指している。2018年4月のJVET会議において、新しい映像コーディング規格を「VVC(Versatile Video Coding)」と正式に命名し、その時、第1版のVVCテストモデル(VTM)をリリースした。VVCの標準化に寄与する努力が続けられているので、すべてのJVET会議において、VVC標準に新しいコーディング技術が採用されている。毎回の会議の後、VVC作業草案およびテストモデルVTMを更新する。VVCプロジェクトは、現在、2020年7月の会合における技術完成(FDIS)を目指している。
3.1HEVCにおけるピクチャ分割スキーム
HEVCには、正規のスライス、依存性のあるスライス、タイル、WPP(Wavefront Parallel Processing)という4つの異なる画像分割スキームがあり、これらを適用することで、MTU(Maximum Transfer Unit)サイズのマッチング、並列処理、エンドツーエンドの遅延の低減が可能になる。
正規のスライスは、H.264/AVCと同様である。各正規のスライスは、それ自体のNALユニットにカプセル化され、スライス境界にわたるインピクチャ予測(イントラサンプル予測、動き情報予測、コーディングモード予測)およびエントロピーコーディング依存性は無効化される。このように、1つの正規のスライスは、同じピクチャ内の他の正規のスライスとは独立して再構成することができる(しかし、ループフィルタリング動作のために依然として相互依存性が残っている場合がある)。
正規のスライスは、並列化に使用できる唯一のツールであり、H.264/AVCでもほぼ同じ形式で使用できる。正規のスライスに基づく並列化は、プロセッサ間通信またはコア間通信をあまり必要としない(予測コーディングされたピクチャを復号化するとき、動き補償のためのプロセッサ間またはコア間データ共有を除いて、通常、インピクチャ予測のためにプロセッサ間またはコア間データ共有よりもはるかに重い)。しかしながら、同じ理由で、正規のスライスを使用すると、スライスヘッダのビットコストおよびスライス境界にわたる予測が欠如していることに起因して、コーディングのオーバーヘッドが大きくなる可能性がある。さらに、レギュラースライスは(後述の他のツールとは対照的に)、レギュラースライスのインピクチャの独立性および各レギュラースライスがそれ自体のNALユニットにカプセル化されることに起因して、MTUサイズ要件に適応するようにビットストリームを分割するための鍵となるメカニズムとしても機能する。多くの場合、並列化の目標およびMTUサイズマッチングの目標は、画像におけるスライスレイアウトに矛盾する要求を課す。このような状況を実現したことにより、以下のような並列化ツールが開発された。
従属スライスは、ショートスライスヘッダを有し、インピクチャ予測を一切中断することなく、ツリーブロック境界でビットストリームを区分することを可能にする。基本的に、従属スライスは、正規のスライスを複数のNALユニットに断片化し、正規のスライス全体の符号化が完了する前に正規のスライスの一部を送出することを可能にすることによって、エンドツーエンド遅延を低減する。
WPPにおいて、ピクチャは、単一行のCTB(Coding Tree Block)に分割される。エントロピー復号化および予測は、他の分割におけるCTBからのデータを使用することを許可される。CTB行の並列復号化によって並列処理が可能であり、1つのCTB行の復号化の開始が2つのCTBだけ遅延され、それによって、対象のCTBが復号化される前に、対象のCTBの上および右のCTBに関するデータが確実に利用可能になる。この互い違いのスタート(グラフで表される場合、波面のように見える)を使用することで、ピクチャがCTB行を含む数までのプロセッサ/コアを用いて並列化することが可能である。1つのインピクチャの近傍のツリーブロック行間のインピクチャ予測が許可されるので、インピクチャ予測を可能にするために必要なプロセッサ間/コア間通信は十分となり得る。WPP分割は、適用されない場合と比較して、追加のNALユニットの生成をもたらさず、従って、WPPは、MTUサイズマッチングのためのツールではない。しかし、MTUサイズのマッチングが必要な場合、一定のコーディングオーバーヘッドを伴って、WPPで正規のスライスを使用することができる。
タイルは、ピクチャをタイルの列および行に分割する水平および垂直境界を規定する。タイルの列は、ピクチャの上から下へと延びている。同様に、タイル行は、ピクチャの左から右に延びる。ピクチャにおけるタイルの数は、単にタイル列の数にタイル行の数を乗算することで得ることができる。
CTBのスキャン順序は、1つのタイル内でローカルになるように(タイルのCTBラスタスキャンの順に)変更され、その後、ピクチャのタイルラスタスキャンの順に従って、次のタイルの左上のCTBを復号化する。正規のスライスと同様に、タイルは、インピクチャ予測依存性およびエントロピー復号化依存性を損なう。しかしながら、これらは、個々のNALユニット(この点でWPPと同じ)に含まれる必要がなく、従って、タイルは、MTUサイズマッチングに使用できない。各タイルは、1つのプロセッサ/コアによって処理されてもよく、処理ユニット間のインピクチャ予測に必要なプロセッサ間/コア間通信では、近傍タイルの復号化は、スライスが2つ以上のタイルにまたがっている場合、共有スライスヘッダの伝達と、再構築されたサンプルおよびメタデータのループフィルタリングに関連する共有とに限定される。1つのスライスに2つ以上のタイルまたはWPPセグメントが含まれる場合、該スライスにおける最初の1つ以外の各タイルまたはWPPセグメントのエントリポイントバイトオフセットが、スライスヘッダにおいて信号通知される。
説明を簡単にするために、HEVCにおいては、4つの異なるピクチャ分割方式の適用に関する制限が規定されている。所与のコーディングされた映像シーケンスは、HEVCに指定されたプロファイルのほとんどについて、タイルおよび波面の両方を含むことができない。各スライスおよびタイルについて、以下の条件のいずれかまたは両方を満たさなければならない。1)1つのスライスにおけるすべてのコーディングされたツリーブロックは、同じタイルに属し、2)1つのタイルにおけるすべてのコーディングされたツリーブロックは、同じスライスに属する。最後に、1つの波面セグメントはちょうど1つのCTB行を含み、WPPが使用されている際に、1つのスライスが1つのCTB行内で始まる場合、同じCTB行で終わらなければならない。
最近のHEVCに対する補正は、JCT-VCの出力文書であるJCTVC-AC1005、J.ボイス、A.ラマスブラモニアン、R.スクピン、G.J.スリ版、A.トゥラピス、Y.-K.ワング(編集者),“HEVC Additional Supplemental Enhancement Information’(Draft4),”Oct.24,2017,下記で入手可能:http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zipこの補正を含め、HEVCは、3つのMCTS関連SEIメッセージ、即ち、時間MCTS SEIメッセージ、MCTS抽出情報セットSEIメッセージ、およびMCTS抽出情報ネスティングSEIメッセージを特定する。
時間MCTS SEIメッセージは、ビットストリーム中にMCTSが存在することを示し、MCTSに信号送信する。各MCTSにおいて、動きベクトルは、MCTS内部のフルサンプル位置と、補間のためにMCTS内部のフルサンプル位置のみを必要とするフラクショナルサンプル位置とを指すように制限され、且つ、MCTS外部のブロックから導出された時間動きベクトル予測のための動きベクトル候補の使用は許可されない。このように、各MCTSは、MCTSに含まれていないタイルが存在せず、独立して復号化されてもよい。
MCTS抽出情報セットSEIメッセージは、MCTSサブビットストリーム抽出(SEIメッセージの意味の一部として指定される)において使用され得る補足情報を提供し、MCTSセットのための適合ビットストリームを生成する。この情報は、複数の抽出情報セットを含み、各抽出情報セットは、複数のMCTSセットを定義し、MCTSサブビットストリーム抽出処理において使用される代替VPS、SPS、およびPPSのRBSPバイトを含む。MCTSサブビットストリーム抽出プロセスによってサブビットストリームを抽出する場合、パラメータセット(VPS,SPS,PPS)を書き換えるかまたは置き換える必要があり、スライスヘッダを若干更新する必要があり、その理由は、スライスアドレスに関連する構文要素の1つまたは全て(first_slice_segment_in_pic_flagおよびslice_segment_addressを含む)が異なる値となる必要があるためである。
3.2.VVCにおけるピクチャの分割
VVCにおいて、1つのピクチャは、1または複数のタイル行および1または複数のタイル列に分割される。1つのタイルは、1つのピクチャの1つの矩形領域を覆う1つのCTUのシーケンスである。1つのタイルにおけるCTUは、そのタイル内でラスタスキャン順にスキャンされる。
1つのスライスは、1つのピクチャのタイル内において、整数個の完全なタイルまたは整数個の連続した完全なCTU行を含む。
スライスの2つのモード、即ちラスタスキャンスライスモードおよび矩形スライスモードに対応している。ラスタスキャンスライスモードにおいて、1つのスライスは、1つのピクチャのタイルラスタスキャンにおける1つの完全なタイルのシーケンスを含む。矩形スライスモードにおいて、1つのスライスは、ピクチャの矩形領域を集合的に形成する複数の完全なタイル、またはピクチャの矩形領域を集合的に形成する1つのタイルの複数の連続した完全なCTU行のいずれかを含む。矩形スライス内のタイルを、そのスライスに対応する矩形領域内で、タイルラスタスキャンの順にスキャンする。
1つのサブピクチャは、1つのピクチャの矩形領域を集合的に覆う1または複数のスライスを含む。
図1は、ピクチャのラスタスキャンスライス分割の例を示し、ピクチャは、12個のタイルと3個のラスタスキャンスライスとに分割される。
図2は、ピクチャの矩形スライス分割の例を示し、ピクチャは、24個のタイル(6個のタイル列および4個のタイル行)と9個の矩形スライスとに分割される。
図3は、タイルおよび矩形のスライスに分割されたピクチャの例を示し、ピクチャは、4つのタイル(2つのタイルの列および2つのタイルの行)と4つの矩形スライスとに分割される。
図4は、1つのピクチャをサブピクチャで分割する例を示し、1つのピクチャは、18個のタイルに分割され、左側の12個が、4×4のCTUの1つのスライスをそれぞれ含み、右側の6個のタイルが、2×2のCTUの垂直方向に積み重ねられたスライスをそれぞれ含み、全体で24個のスライスおよび24個の異なる寸法のサブピクチャとなる(各スライスは、1つのサブピクチャ)。
3.3. VVCにおけるSPS/PPS/ピクチャヘッダ/スライスヘッダの信号通知(JVET-Q2001-vBとして)
7.3.2.3 シーケンスパラメータセットRBSP構文
Figure 0007469488000001
Figure 0007469488000002
Figure 0007469488000003
Figure 0007469488000004
Figure 0007469488000005
Figure 0007469488000006
Figure 0007469488000007
Figure 0007469488000008
Figure 0007469488000009
Figure 0007469488000010
Figure 0007469488000011
7.3.2.4 ピクチャパラメータセットRBSP構文
Figure 0007469488000012
Figure 0007469488000013
Figure 0007469488000014
Figure 0007469488000015
Figure 0007469488000016
Figure 0007469488000017
7.3.2.7 ピクチャヘッダ構造構文
Figure 0007469488000018
Figure 0007469488000019
Figure 0007469488000020
Figure 0007469488000021
Figure 0007469488000022
Figure 0007469488000023
Figure 0007469488000024
Figure 0007469488000025
7.3.7.1 一般スライスセグメントヘッダ構文
Figure 0007469488000026
Figure 0007469488000027
Figure 0007469488000028
Figure 0007469488000029
Figure 0007469488000030
Figure 0007469488000031
3.4色空間およびクロマサブサンプリング
色空間は、カラーモデル(または表色系)としても知られ、色の範囲を数字のタプル(tuple)として簡単に記述する抽象的な数学モデルであり、典型的には3または4つの値または色成分(例えばRGB)である。基本的には、色空間は座標系とサブ空間とを精緻化したものである。
映像圧縮の場合、最も頻繁に使用される色空間は、YCbCrおよびRGBである。
YCbCr、Y’CbCr、またはY Pb/Cb Pr/Crは、YCBCRまたはY’CBCRとも記述され、カラー画像のパイプライン映像およびデジタル写真システムの一部として使用される色空間のファミリーである。Y’は輝度成分であり、CBおよびCRは青色差および赤色差の色成分である。Y’(プライム付き)は、輝度であるYと区別され、ガンマ補正されたRGBプライマリーに基づいて光強度が非線形に符号化されることを意味する。
クロマサブサンプリングは、人間の視覚システムが、輝度よりも色差の方が知覚が低いことを利用して、輝度情報よりもクロマ情報の方が解像度が低くなるように実装して画像を符号化する方法である。
3.4.1. 4:4:4
3つのY’CbCr成分のそれぞれは、同じサンプルレートを有し、従って、クロマサブサンプリングはない。この方式は、ハイエンドフィルムスキャナおよび映画の撮影後の編集に用いられることがある。
3.4.2. 4:2:2
2つのクロマ成分は、輝度のサンプルレートの半分でサンプリングされ、水平クロマ解像度は半分にされ、垂直クロマ解像度は変化しない。これにより、視覚的にほとんどまたは全く差がなく、非圧縮の映像信号の帯域幅を1/3に低減することができる。4:2:2カラーフォーマットの名目上の垂直および水平の位置の例が、例えば、VVC作業ドラフトの図5に示されている。
図5は、ピクチャにおける4:2:2の輝度およびクロマサンプルの名目上の垂直および水平の位置を示す。
3.4.3. 4:2:0
4:2:0では、水平サンプリングは4:1:1に比べて2倍になるが、この方式ではCbとCrチャンネルを各交互のラインでのみサンプリングするため、垂直解像度が半分になる。従って、データレートは同じである。CbおよびCrはそれぞれ水平および垂直方向の両方に2倍ずつサブサンプリングされる。異なる水平および垂直位置を有する4:2:0スキームの3つの変形がある。
●MPEG-2において、CbおよびCrは水平方向に共座している。CbおよびCrは垂直方向の画素間に位置する(格子間に位置する)。
●JPEG/JFIF、H.261、およびMPEG-1において、CbおよびCrは、交互の輝度サンプルの中間に間欠的に位置する。
●4:2:0DVにおいて、CbおよびCrは、水平方向に共座(co-sited)している。垂直方向には、それらは交互に共座(co-sited)している。
表3-1 chroma_format_idcおよびseparate_colour_plane_flagから導出したSubWidthCおよびSubHeightCの値
Figure 0007469488000032
3.5ALF(Adaptive Loop Filter)
VVCにおいて、ブロックベースのフィルタ適応を伴うALF(Adaptive Loop Filter)が適用される。輝度成分に対し、局所勾配の方向および働きに基づいて、4×4のブロックごとに25個のフィルタのうちの1つが選択される。
3.5.1.フィルタ形状
2つの菱形フィルタ形状(図6に示す)が使用される。輝度成分に対し7×7の菱形が適用され、クロマ成分には5×5の菱形が適用される。
図6は、ALFフィルタの形状の例を示す(クロマ:5×5の菱形、輝度:7×7の菱形)。
3.5.2.ブロック区分
輝度成分の場合、各4×4のブロックを25個のクラスのうちの1つに分類する。分類インデックスCは、その方向性DおよびアクティビティA^の量子化値に基づいて、以下のように導出される。
Figure 0007469488000033
DおよびA^を計算するために、まず、1-Dラプラシアンを使用して、水平、垂直および2つの対角線方向の勾配を計算する。
Figure 0007469488000034
ここで、インデックスiおよびjは、4×4ブロック内の左上のサンプルの座標を表し、R(i,j)は、座標(i,j)における再構成されたサンプルを示す。
ブロック区分の複雑性を低減するために、サブサンプリングされた1-Dラプラシアン計算が適用される。図7A~7Dに示すように、すべての方向の勾配計算に同じサブサンプリング位置を用いる。
図7A~7Dは、サブサンプリングされたラプラシアン計算を示す。
そして、水平方向および垂直方向の勾配のD最大値およびD最小値を以下のように設定する。
Figure 0007469488000035
2つの対角線方向の勾配の最大値および最小値は、以下のように設定される。
Figure 0007469488000036
指向性Dの値を導出するために、これらの値を互いに且つ2つの閾値tおよびtと比較する。
Figure 0007469488000037
アクティビティ値Aは、以下のように計算される。
Figure 0007469488000038
Aをさらに0~4の範囲に量子化し、量子化された値をA^とする。
ピクチャにおけるクロマ成分に対して、分類方法は適用されず、即ち、単一のALF係数のセットが各クロマ成分に対して適用される。
3.5.3.フィルタ係数およびクリッピング値の幾何学的変換
各4×4の輝度ブロックをフィルタリングする前に、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)および対応するフィルタクリッピング値c(k,l)に対して、回転または対角線および垂直方向の反転等の幾何学的変換を施す。これは、これらの変換をフィルタサポート領域内のサンプルに適用することに等しい。その考えは、ALFが適用される異なるブロックを、それらの方向性を揃えることによって、より類似させることである。
対角線、垂直方向の反転および回転を含む3つの幾何学的変換を導入する。
Figure 0007469488000039
ここで、Kはフィルタのサイズであり、0≦k,l≦K-1が係数座標であり、位置(0,0)は左上隅にあり、位置(K-1,K-1)は右下隅にある。変換は、そのブロックに対して計算された勾配値に基づいて、フィルタ係数f(k,l)およびクリッピング値c(k,l)に適用される。変換と4つの方向の4つの勾配との関係を以下の表にまとめる。
表3-2 1つのブロックに対して計算された勾配と変換とのマッピング
Figure 0007469488000040
3.5.4.フィルタパラメータ信号通知
ALFフィルタパラメータは、APS(Adaptive Parameter Set)において信号通知される。1つのAPSにおいて、最大25組の輝度フィルタ係数およびクリッピング値インデックス、並びに最大8組のクロマフィルタ係数およびクリッピング値インデックスを信号通知することができる。ビットオーバーヘッドを低減するために、輝度成分の異なる分類のフィルタ係数をマージすることができる。スライスヘッダにおいて、現在のスライスに使用されるAPSのインデックスが信号通知される。
APSから復号化されたクリッピング値インデックスは、輝度およびクロマ成分両方に対するクリッピング値のテーブルを使用してクリッピング値を判定することを可能にする。これらのクリッピング値は、内部ビット深度に依存する。より正確には、クリッピング値は、以下の式によって求められる。
Figure 0007469488000041
Bは内部ビット深度に等しく、αは予め定義された定数2.35に等しく、NはVVCにおいて許容されるクリッピング値の数である4に等しい。
スライスヘッダにおいて、現在のスライスに使用される輝度フィルタセットを規定するように、最大7つのAPSインデックスを信号通知することができる。フィルタリング処理はCTBレベルでさらに制御されてもよい。ALFが輝度CTBに適用されるかどうかを示すために、常に1つのフラグが信号通知される。1つの輝度CTBは、16個の固定フィルタセットと複数のAPSからのフィルタセットから、1つのフィルタセットを選択することができる。どのフィルタセットが適用されるかを示すように、輝度CTBのためにフィルタセットインデックスが信号通知される。エンコーダおよびデコーダの両方において、16個の固定フィルタセットを予め規定し、ハードコーディングする。
クロマ成分の場合、現在のスライスに使用されているクロマフィルタセットを示すように、スライスヘッダにAPSインデックスを信号通知する。CTBレベルにおいて、APSにおいて2以上のクロマフィルタセットが存在する場合、各クロマCTBに対しフィルタインデックスを信号通知する。
フィルタ係数は、128に等しいノルムで量子化される。乗算の複雑性を抑えるために、非中心位置の係数値が-2~2-1の範囲内に含まれるように、ビットストリーム適合性が適用される。中心位置係数はビットストリームにおいて信号通知されず、128に等しいと見なされる。
デコーダ側において、CTBのためにALFが有効化されると、CU内の各サンプルR(i,j)がフィルタリングされ、その結果、以下に示すように、サンプル値R’(i,j)が得られる。
Figure 0007469488000042
ここで、f(k,l)は復号化されたフィルタ係数を表し、K(x,y)はクリッピング関数であり、c(k,l)は復号化されたクリッピングパラメータを表す。変数kおよびlは、-L/2とL/2との間で変化し、ここで、Lはフィルタ長を表す。機能Clip3(-y,y,x)に対応するクリッピング関数K(x,y)=min(y,max(-y,x))。
3.5.6.ラインバッファ削減のための仮想境界フィルタリング処理
ハードウェアおよび組み込みソフトウェアにおいて、ピクチャベースの処理は、その高いピクチャバッファ要件のために、実際には受け入れられない。オンチップピクチャバッファの使用は非常に高価であり、オフチップピクチャバッファの使用は、外部メモリアクセス、電力消費、およびデータアクセス待ち時間を大幅に増加させる。そのため、実際の製品において、DF、SAO、ALFをピクチャベースの復号化からLCUベースの復号化に変更することになる。DF、SAO、ALFにLCUベースの処理を使用する場合、複数のLCUを並列処理するために、LCUパイプライン方式を用いたラスタスキャンでLCUごとに全体の復号化処理を行うことができる。この場合、1つのLCU行を処理するには上側のLCU行からのピクセルが必要であるので、DF、SAO、およびALFのためにラインバッファが必要である。オフチップラインバッファ(例えば、DRAM)を使用する場合、外部メモリの帯域幅および消費電力が増大し、オンチップラインバッファ(例えば、SRAM)を使用する場合、チップ面積が増大する。従って、ラインバッファは既にピクチャバッファよりも遥かに小さいが、ラインバッファを低減することが依然として望ましい。
VTM-4.0において、図8に示すように、輝度成分に必要なラインバッファの総数は11.25ラインである。ラインバッファ要件の説明は以下のとおりである。CTUエッジと重複する水平エッジのデブロッキングは、決定およびフィルタリングには、第1のCTUからのラインK,L、M、M、および最下のCTUからのラインO、Pを必要とするので、行うことができない。そのため、CTU境界と重なる水平エッジのデブロッキングは、下側CTUが来るまで延期される。従って、ラインK、L、M、Nに対して、再構成された輝度サンプルをラインバッファ(4ライン)に記憶しなければならない。次に、ラインA~Jに対してSAOフィルタリングを行うことができる。デブロッキングはラインKにおけるサンプルを変更しないため、ラインJはSAOフィルタリングすることができる。ラインKのSAOフィルタリングの場合、エッジオフセット分類決定はラインバッファにのみ記憶される(これは0.25輝度ラインである)。ALFフィルタリングは、ラインA~Fに対してのみ行うことができる。図8に示すように、各4×4のブロックにALF分類を行う。各4×4のブロックの分類は、8×8のサイズのアクティビティウィンドウを必要とし、このアクティビティウィンドウは、1dラプラシアンを計算して勾配を決定するために9×9のウィンドウを必要とする。
従って、ラインG、H、I、Jと重なる4×4のブロックのブロック分類のために、仮想境界より下のSAOフィルタリングされたサンプルを必要とする。さらに、ALF分類のために、ラインD、E、FのSAOフィルタリングされたサンプルが必要である。さらに、ラインGのALFフィルタリングは、上側のラインから3つのSAOフィルタリングされたラインD、E、Fを必要とする。従って、総ラインバッファ要件は、以下のとおりである。
-ラインK~N(水平DFピクセル):4ライン
-ラインD~J(SAOフィルタリングされたピクセル):7ライン
-ラインJとラインKとの間のSAOエッジオフセット分類子値:0.25ライン
従って、必要とされる輝度ラインの総数は、7+4+0.25=11.25である。
同様に、クロマ成分のラインバッファ要求は図9に例示されている。クロマ成分のためのラインバッファ要件は、6.25ラインであると評価される。
図8は、輝度成分のためのVTM-4.0中のループフィルタラインバッファ要件の例を示す。
図9は、クロマ成分のためのVTM-4.0中のループフィルタラインバッファ要件を示す。
SAOおよびALFのラインバッファ要件を排除するために、最近のVVCにおいて、仮想境界(VB:Virtual Boundary)の概念が導入されてALFのラインバッファ要件を低減する。水平CTU境界付近のサンプルに対して修正されたブロック分類およびフィルタリングが用いられる。図8に示すように、VBは、水平LCU境界においてN個のピクセルだけ上方向にシフトされている。各LCUに対し、SAOおよびALFは、下側のLCUが来る前に、VBより上のピクセルを処理することができるが、下側のLCUが来るまで、VBより下のピクセルを処理することはできず、これは、DFによってもたらされる。ハードウェアの実施コストを勘案し、提案したVBと水平LCU境界との間の空間を、輝度成分が4ピクセル(即ち、図8または図10におけるN=4)、クロマ成分が2ピクセル(即ち、N=2)として設定する。
図10は、仮想境界における修正された分類を示す。
図11に示すように、輝度成分に対して修正されたブロック分類を適用する。仮想境界より上の4×4のブロックの1Dラプラシアン勾配計算のために、仮想境界より上のサンプルのみを使用する。同様に、仮想境界より下の4×4のブロックの1Dラプラシアン勾配計算のために、仮想境界より下のサンプルのみを使用する。従って、1Dラプラシアン勾配計算に使用されるサンプルの低減された数を考慮に入れることで、アクティビティ値Aの量子化を拡大縮小する。
フィルタリング処理のために、仮想境界におけるミラーリングされた(対称)パディング演算が、輝度成分およびクロマ成分の両方に使用される。図11に示すように、フィルタリングされるサンプルが仮想境界の下に位置する場合、仮想境界の上に位置する近傍のサンプルにパディングを行う。一方、他方の側の対応するサンプルもまた、対称的にパディングされる。
他の例に対し、(i,j)に位置する1つのサンプル(例えば、図12Bに点線を有するP0A)をパディングする場合、図12A~12Cに示すように、同じフィルタ係数を共有する(m,n)に位置する対応するサンプル(例えば、図12Bに点線を有するP3B)もまた、サンプルが利用可能でもパディングを行う。
図12Aは、VBの上/下に1つの必要な線を(一辺ごとに)パディングする必要があることを示している。
図12Bは、VBの上/下に2つの必要な線を(一辺ごとに)パディングする必要があることを示している。
図12Cは、VBの上/下に3つの必要な線を(一辺ごとに)パディングする必要があることを示している。
水平CTU境界で使用されるミラー(対称)パディング方法とは異なり、境界を横切るフィルタリングが無効にされる場合、スライス、タイル、およびサブピクチャの境界に対して反復(片側)パディング処理が適用される。ピクチャの境界においても、反復(片側)パディング処理が適用される。パディングされたサンプルは、分類およびフィルタリング処理の両方に使用される。図13は、ピクチャ/サブピクチャ/スライス/タイル境界における輝度ALFフィルタリングのための反復パディング法の例を示す。
3.5.7 明細書における適応ループフィルタ処理
8.8.5.2 輝度サンプルのためのコーディングツリーブロックフィルタリング処理
この処理の入力は以下の通りである。
-適応ループフィルタリング処理の前に再構成された輝度ピクチャサンプルアレイrecPicture
-フィルタリングされた再構成輝度ピクチャサンプルアレイalfPicture
-現在のピクチャの左上のサンプルに対する現在の輝度コーディングツリーブロックの左上のサンプルを規定する輝度位置(xCtb,yCtb)
この処理の出力は、修正され、フィルタリングされ、再構成された輝度ピクチャサンプルアレイalfPictureである。
フィルタインデックス8.8.5.3項の導出処理は、位置(xCtb,yCtb)で、再構成輝度ピクチャサンプル配列recPictureを入力とし、filtIdx[x][y]およびtransposeIdx[x][y]、x,y=0..CtbSizeY-1を出力として、呼び出される。
フィルタリングされた再構成輝度サンプルalfPicture[x][y]を導出するために、現在の輝度コーディングツリーブロックrecPicture[x][y]内のそれぞれの再構成輝度サンプルは、x,y=0...CtbSizeY-1で以下のようにフィルタリングされる。
-filtIdx[x][y]で規定されるフィルタに対応する輝度フィルタ係数f[j]の配列および輝度クリッピング値c[j]の配列は、j=0..11で、以下のように導出される。
-AlfCtbFiltSetIdxY[xCtb>>CtbLog2SizeY][yCtb>>>CtbLog2SizeY]が16未満である場合、以下を適用する。
i=AlfCtbFiltSetIdxY[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY] (1453)
f[j]=AlfFixFiltCoeff[AlfClassToFiltMap[i][filtIdx[x][y]]][j] (1454)
c[j]=2BitDepth (1455)
-そうでない場合(AlfCtbFiltSetIdxY[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]が16以上であると、以下が適用される。
i=slice_alf_aps_id_luma[AlfCtbFiltSetIdxY[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]-16] (1456)
f[j]=AlfCoeff[i][filtIdx[x][y]][j] (1457)
c[j]=AlfClip[i][filtIdx[x][y]][j] (1458)
-transposeIdx[x][y]に応じて、輝度フィルタ係数およびクリッピング値インデックスidxを以下のように導出する。
-transposeIndex[x][y]が1に等しい場合、以下が適用される。
idx[]={9,4,10,8,1,5,11,7,3,0,2,6} (1459)
-そうでない場合、TtransposeIndex[x][y]が2に等しい場合、以下が適用される。
idx[]={0,3,2,1,8,7,6,5,4,9,10,11} (1460)
-そうでない場合、transposeIndex[x][y]が3に等しい場合、以下が適用される。
idx[]={9,8,10,4,3,7,11,5,1,0,2,6} (1461)
-そうでない場合、以下が適用される。
idx[]={0,1,2,3,4,5,6,7,8,9,10,11} (1462)
-i,j=-3..3である輝度サンプルの所与の配列recPicture内の対応する各輝度サンプルの位置(hx+i,vy+j)は以下のように導出される。
x+i=Clip3(0,pic_width_in_luma_samples-1,xCtb+x+i) (1463)
y+j=Clip3(0,pic_height_in_luma_samples-1,yCtb+y+j) (1464)
-変数clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlagおよびclipBotRightFlagは、(xCtb,yCtb)および(x,y)を入力として、8.8.5.5項で規定されるように、ALF境界位置導出処理を呼び出すことによって導出される。
-変数hx+iとvy+jは、ALFサンプルパディング処理を8.8.5.6項に規定されているように、(xCtb,yCtb)、(hx+i,vy+j),0,clipLeftPos,clipRightPos,clipTopPos,clipBottomPos,clipTopLeftFlagおよびclipBotRightFlagを入力として呼び出することによって修正される。
-変数applyAlfLineBufBoundaryisは、以下のように導出される。
-現在のコーディングツリーブロックの底部境界が現在のピクチャの底部境界であり、pic_height_in_luma_samples-yCtb<=CtbSizeY-4である場合、applyAlfLineBufBoundaryは0に等しく設定される。
-そうでない場合、applyAlfLineBundaryを1に等しく設定する。
-垂直サンプル位置オフセットy1,y2,y3と変数alfShiftYは、垂直輝度サンプル位置yとapplyAlfLineBufBoundaryに従って、表45で規定される。
-変数currは、以下のように導出される。
curr=recPicture[h][v] (1465)
-変数sumは、以下のように導出される。
sum=f[idx[0]]*(Clip3(-c[idx[0]],c[idx[0]],recPicture[h][vy+y3]-curr)+
Clip3(-c[idx[0]],c[idx[0]],recPicture[h][vy-y3]-curr))+
f[idx[1]]*(Clip3(-c[idx[1]],c[idx[1]],recPicture[hx+1][vy+y2]-curr)+
Clip3(-c[idx[1]],c[idx[1]],recPicture[hx-1][vy-y2]-curr))+
f[idx[2]]*(Clip3(-c[idx[2]],c[idx[2]],recPicture[h][vy+y2]-curr)+
Clip3(-c[idx[2]],c[idx[2]],recPicture[h][vy-y2]-curr))+
f[idx[3]]*(Clip3(-c[idx[3]],c[idx[3]],recPicture[hx-1][vy+y2]-curr)+
Clip3(-c[idx[3]],c[idx[3]],recPicture[hx+1][vy-y2]-curr))+
f[idx[4]]*(Clip3(-c[idx[4]],c[idx[4]],recPicture[hx+2][vy+y1]-curr)+
Clip3(-c[idx[4]],c[idx[4]],recPicture[hx-2][vy-y1]-curr))+
f[idx[5]]*(Clip3(-c[idx[5]],c[idx[5]],recPicture[hx+1][vy+y1]-curr)+
Clip3(-c[idx[5]],c[idx[5]],recPicture[hx-1][vy-y1]-curr))+
f[idx[6]]*(Clip3(-c[idx[6]],c[idx[6]],recPicture[h][vy+y1]-curr)+
Clip3(-c[idx[6]],c[idx[6]],recPicture[h][vy-y1]-curr))+
f[idx[7]]*(Clip3(-c[idx[7]],c[idx[7]],recPicture[hx-1][vy+y1]-curr)+
Clip3(-c[idx[7]],c[idx[7]],recPicture[hx+1][vy-y1]-curr))+
f[idx[8]]*(Clip3(-c[idx[8]],c[idx[8]],recPicture[hx-2][vy+y1]-curr)+
Clip3(-c[idx[8]],c[idx[8]],recPicture[hx+2][vy-y1]-curr))+
f[idx[9]]*(Clip3(-c[idx[9]],c[idx[9]],recPicture[hx+3][v]-curr)+
Clip3(-c[idx[9]],c[idx[9]],recPicture[hx-3][v]-curr))+
f[idx[10]]*(Clip3(-c[idx[10]],c[idx[10]],recPicture[hx+2][v]-curr)+
Clip3(-c[idx[10]],c[idx[10]],recPicture[hx-2][v]-curr))+
f[idx[11]]*(Clip3(-c[idx[11]],c[idx[11]],recPicture[hx+1][v]-curr)+
Clip3(-c[idx[11]],c[idx[11]],recPicture[hx-1][v]-curr)) (1466)
sum=curr+((sum+64)>>alfShiftY) (1467)
-修正され、フィルタリングされ、再構成された輝度ピクチャサンプルalfPicture[xCtb+x][yCtb+y]は、以下のように導出される。
alfPicture[xCtb+x][yCtb+y]=Clip3(0,(1<<BitDepth)-1,sum) (1468)
表45 -垂直の輝度サンプルの位置yおよびapplyAlfLineBufBoundaryに応じたy1、y2、y3およびalfShiftYの仕様
Figure 0007469488000043
8.8.5.4 クロマサンプルのためのコーディングツリーブロックフィルタリング処理
この処理の入力は以下の通りである。
-適応ループフィルタリング処理の前に再構成されたクロマピクチャサンプルアレイrecPicture
-フィルタリングされ、再構成されたクロマピクチャサンプルアレイalfPicture
-現在のピクチャの左上のサンプルに対する現在のクロマコーディングツリーブロックの左上のサンプルを規定するクロマ位置(xCtbC,yCtbC)
-代替クロマフィルタインデックスaltIdx
この処理の出力は、修正され、フィルタリングされ、再構成されたクロマピクチャサンプルアレイalfPictureである。
現在のクロマコーディングツリーブロックの幅と高さ、ctbWidthCとctbHeightCは、以下のように導出される。
ctbWidthC=CtbSizeY/SubWidthC (1500)
ctbHeightC=CtbSizeY/SubHeightC (1501)
フィルタリングされ、再構成されたクロマサンプルalfPicture[x][y]を導出するために、現在のクロマコーディングツリーブロックrecPicture[x][y]内の各再構成されたクロマサンプルは、以下のように、x=0..ctbWidthC-1、y=0..ctbHeightC-1でフィルタリングされる。
-i,j=-2..2であるクロマサンプルの所与の配列recPicture内の対応するクロマサンプル(x,y)のそれぞれの位置(hx+i,vy+j)は以下のように導出される。
x+i=Clip3(0,pic_width_in_luma_samples/SubWidthC-1,xCtbC+x+i) (1502)
y+j=Clip3(0,pic_height_in_luma_samples/SubHeightC-1,yCtbC+y+j) (1503)
-変数clipLeftPos,clipRightPos,clipTopPos,clipBottomPos,clipTopLeftFlag,clipBotRightFlagは(xCtbC*SubWidthC,yCtbC*SubHeightC)と(x*SubWidthC,y*SubHeightC)を入力として8.8.5.5項に規定されるALF境界位置導出処理を呼び出すことによって導出される。
-変数hx+iとvy+jは、(xCtb,yCtb)、(hx+i,vy+j)、1に等しく設定された変数isChroma、clipLeftPos、clipRightPos、clipTopPos、clipBottomPos、clipTopLeftFlagおよびclipBotRightFlagを入力として、8.8.5.6項に規定されたALFサンプルパディング処理を呼び出すことによって修正される。
-変数applyAlfLineBundaryは、以下のように導出する。
-現在のコーディングツリーブロックの底部境界がピクチャの底部境界であり、pic_height_in_luma_samples-(yCtbC*SubHeightC)<CtbSizeY-4である場合、applyAlfLineBundaryは0に等しく設定される。
-そうでない場合、applyAlfLineBundaryを1に等しく設定する。
-垂直サンプル位置オフセットy1,y2と変数alfShiftCは、垂直クロマサンプル位置yとapplyAlfLineBufBoundaryに従って、表45で規定する。
-変数currは、以下のように導出される。
curr=recPicture[h][v] (1504)
-クロマフィルタ係数f[j]の配列およびクロマクリッピング値c[j]の配列は、j=0..5として、以下のように導出される。
f[j]=AlfCoeff[slice_alf_aps_id_chroma][altIdx][j] (1505)
c[j]=AlfClip[slice_alf_aps_id_chroma][altIdx][j] (1506)
-変数sumは、以下のように導出される。
sum=f[0]*(Clip3(-c[0],c[0],recPicture[h][vy+y2]-curr)+
Clip3(-c[0],c[0],recPicture[h][vy-y2]-curr))+
f[1]*(Clip3(-c[1],c[1],recPicture[hx+1][vy+y1]-curr)+
Clip3(-c[1],c[1],recPicture[hx-1][vy-y1]-curr))+
f[2]*(Clip3(-c[2],c[2],recPicture[h][vy+y1]-curr)+
Clip3(-c[2],c[2],recPicture[h][vy-y1]-curr))+
f[3]*(Clip3(-c[3],c[3],recPicture[hx-1][vy+y1]-curr)+
Clip3(-c[3],c[3],recPicture[hx+1][vy-y1]-curr))+
f[4]*(Clip3(-c[4],c[4],recPicture[hx+2][v]-curr)+
Clip3(-c[4],c[4],recPicture[hx-2][v]-curr))+
f[5]*(Clip3(-c[5],c[5],recPicture[hx+1][v]-curr)+
Clip3(-c[5],c[5],recPicture[hx-1][v]-curr)) (1507)
sum=curr+((sum+64)>>alfShiftC) (1508)
-修正され、フィルタリングされ、再構成されたクロマピクチャサンプルalfPicture[xCtbC+x][yCtbC+y]は、以下のように導出される。
alfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepth)-1,sum) (1509)
表46 -垂直のクロマサンプルの位置yおよびapplyAlfLineBufBoundaryに応じたy1、y2およびalfShiftCの仕様
Figure 0007469488000044
4.開示される解決策が解決しようとする技術課題の例
VVCにおけるSPS/PPS/ピクチャヘッダ/スライスヘッダの信号通知のための既存の設計には、以下のような問題がある。
1)loop_filter_across_tiles_enabled_flagは、1個のタイルしかない場合でも、信号通知される。
2)loop_filter_across_slices_enabled_flagは、1つのスライスしかない場合でも、信号通知される。
3)LMCS情報は、スライスヘッダではなく、ピクチャヘッダで信号通知される。
4)最大許容TSブロックサイズは、最大CUサイズより大きくてよい。
5)MaxNumSubblockMergeCandは、アフィンが有効化されているか否かに応じて異なる方法で導出される。
6)ALF仮想境界において鏡面パディングを適用し、ALFに対して利用できないサンプルとそれらの対応サンプル(例えば、輝度ALFおよびクロマALF)を取得し、ALF仮想境界の位置を利用して、どのサンプルが利用できず、パディングされる必要があるかを判定する。しかしながら、現在の設計では、クロマALFのALF仮想境界の位置は、4:2:2/4:4:4に対するクロマフォーマット映像の輝度ALFの位置と調整されていない。
7)現在の設計では、フィルタ強度は、仮想境界の位置に依存する、仮想水平CTU境界に隣接する行のALFフィルタリングのために低下する。しかしながら、不正確なALF仮想境界位置によって、意図しないサンプル行のフィルタ強度が低下する。
5.技術および実施形態の例
上述した課題等を解決するために、以下に示す方法が開示されている。これらの項目は、一般的な概念を説明するための例であり、狭義に解釈されるべきではない。さらに、これらの項目は、個々に適用されてもよく、または任意の方法で組み合わされてもよい。
本開示において、近傍の(隣接または非隣接)サンプル(またはライン、または行)は、異なる映像処理ユニット(例えば、現在のピクチャ、または現在のサブピクチャ、または現在のタイル、または現在のスライス、または現在のブリック、または現在のCTU、または現在の処理ユニット(例えば、ALF処理ユニットまたは狭いALF処理ユニット)の外にあるか、または任意の他の現在の映像ユニットである)に位置する場合、または再構成されていない、またはクロスフィルタリング映像処理ユニットが許可されない場合には、「利用不可」である。
ALF仮想境界のために使用されるパディング方法は、「鏡面パディング」と呼ばれ、(i,j)に位置する第1の利用できないサンプル(または第1の利用できないラインj、または第1の利用できない行i)に対してパディングする必要があり、ALF中の「第1のサンプルの対応するサンプル」(または、「第1のラインの対応するライン」または第1の行の対応する行)(例えば、現在のサンプル(または現在のライン、または現在の行)から同一距離を共有する(m,n)(または対応するラインn、または対応する行m)に位置する対応するサンプル)により定義される第2のサンプルも、第2のサンプルが利用可能であってもパディングされる。
1.インループフィルタリング動作がタイル境界をまたいで実行されるかどうかを示す信号通知(例えば、loop_filter_across_tiles_enabled_flag)は、映像ユニット(例えば、ピクチャ)をタイルに分割するかどうかおよび/またはどのように映像ユニットを分割するかに条件付けすることができる。
a.一例として、loop_filter_across_tiles_enabled_flagは、映像ユニットが2つ以上のタイルに分割される場合にのみ信号通知される。
b.あるいは、映像ユニットに対して1個のタイルしかない場合、loop_filter_across_tiles_enabled_flagの信号通知はスキップされる。
c.一例として、loop_filter_across_tiles_enabled_flagは、一般制約フラグone_tile_per_pic_constraint_flagが0に等しい場合にのみ信号通知される。
i.あるいは、一般制約フラグone_tile_per_pic_constraint_flagが1に等しい場合、loop_filter_across_tiles_enabled_flagは0に等しくなるよう参照(または、要求)される。
2.インループフィルタリング動作がスライス境界をまたいで実行されるかどうかを示す信号通知(例えば、loop_filter_across_slices_enabled_flag)は、映像ユニット(例えば、ピクチャおよび/またはサブピクチャ)をスライスに分割するかどうかおよび/またはどのように映像ユニットを分割するかに条件付けすることができる。
a.一例として、loop_filter_across_slices_enabled_flagは、映像ユニットが1つのスライスのみに分割される場合、信号通知されない。
b.一例として、各サブピクチャが1つのスライスのみに分割される場合(例えば、single_slice_per_subpic_flagが1に等しい)、loop_filter_across_slices_enabled_flagは信号通知されない。
c.一例として、各サブピクチャが1つのスライスにのみ分割される場合(例えば、single_slice_per_subpic_flagが1に等しい場合)、loop_filter_across_slices_enabled_flagは信号通知される。
d.一例として、loop_filter_across_slices_enabled_flagは、ピクチャが非矩形方法でスライスに分割された場合(例えば、rect_slice_flagが0に等しい)に信号通知される。
e.一例として、ピクチャが矩形方法でスライスに分割され(例えばrect_slice_flagが0に等しい)、かつ、スライス数が1に等しい(例えばnum_slices_in_pic_minus1が0に等しい)場合、loop_filter_across_slices_enabled_flagは信号通知されない。
f.一例として、loop_filter_across_slices_enabled_flagは、一般制約フラグone_slice_per_pic_constraint_flagが0に等しい場合にのみ信号通知される。
i.あるいは、一般制約フラグone_slice_per_pic_constraint_flagが1に等しい場合、loop_filter_across_slices_enabled_flagは0に等しくなるよう参照(または、要求)される。
3.LMCS情報(例えば、LMCSの使用の指示、および/または輝度再整形の使用、および/または使用されるべきLMCS APSのadaptation_parameter_set_id、および/またはクロマ残差スケーリングの使用)は、スライスヘッダおよび/またはピクチャヘッダにおいて信号通知されてもよい。
a.LMCS情報は、ph_lmcs_enabled_flagまたはslice_lmcs_enabled_flag等の、LMCSを有効化するかどうかの第1の指示を含んでもよい。
b.LMCS情報は、ph_lmcs_aps_idおよび/またはph_chroma_residual_scale_flag等のLMCSパラメータの第2の指示を含んでもよい。
c.LMCS情報は、スライスヘッダおよびピクチャヘッダの両方において信号通知されてもよい。
d.LMCS情報は、ピクチャヘッダおよびスライスヘッダの両方に信号通知されてもよく、LMCS情報がスライスヘッダに存在する場合、ピクチャヘッダのものは存在するなら、上書きされてもよい。
e.LMCS情報は、スライスヘッダまたはピクチャヘッダのいずれか一方に信号通知されてもよいが、両方には信号通知されない。
f.一例として、どのLMCS APSが現在のスライスに使用されるかを示すために、構文要素がスライスヘッダにおいて信号通知されてもよい。
g.一例として、構文要素(例えば、lmcs_info_in_ph_flag)が、SPSまたはPPS等のより高いレベルの映像ユニットにおいて信号通知され、LMCS情報がピクチャヘッダまたはスライスヘッダにおいて信号通知されるかどうかを示す。
i.構文要素は、第1の指示のみを制御してもよい。
ii.構文要素は、第2の指示のみを制御してもよい。
iii.構文要素は、第1の指示および第2の指示の両方を制御してもよい。
h.ピクチャヘッダにおけるLMCS情報の構文要素は、存在しない場合、デフォルト値に設定されてもよい。
i.スライスヘッダにおけるLMCS情報の構文要素は、存在しない場合、デフォルト値に設定されてもよい。
i.スライスヘッダにおけるLMCS情報の構文要素は、存在しない場合、ピクチャヘッダにおけるLMCS情報の対応する構文要素の値に設定されてもよい。
j.一例として、PHに関連付けられたスライスが参照するLMCS APSの2つ以上のadaptation_parameter_set_id(例えば、ph_lmcs_aps_id[]のリスト)は、ピクチャヘッダにおいて信号通知されてもよい。
i.一例として、ph_lmcs_aps_id[]のリストの長さは、ピクチャにおけるスライスの数に依存してもよい。
ii.一例として、構文要素は、リストph_lmcs_aps_id[]においてどのLMCS APSが現在のスライスに使用されるかを示すように、スライスヘッダにおいて信号通知されてもよい。
4.TS(Transform Skip)および/またはBDPCMのための最大許容サイズは、CTB(Coding Tree Block)サイズ以下とする。
a.例えば、輝度ブロックのためのTSおよび/またはBDPCMの最大許容幅および高さは、CtbSizeY以下である必要がある。
b.例えば、クロマブロックのためのTSおよび/またはBDPCMの最大許容幅および高さは、CtbSizeY/subWidthCおよび/またはCtbSizeY/subHeightC以下である必要がある。
i.あるいは、クロマブロックのためのTSおよび/またはBDPCMの最大許容幅は、CtbSizeY/subWidthCおよび/またはCtbSizeY/subHeightC以下である必要がある。
ii.あるいは、クロマブロックのためのTSおよび/またはBDPCMの最大許容高さは、CtbSizeY/subWidthCおよび/またはCtbSizeY/subHeightC以下である必要がある。
c.例えば、log2_transformation_skip_max_size_minus2+2がCtbLog2SizeY以下である必要がある。
d.例えば、log2_transformation_skip_max_size_minus2の最大値は、CtbLog2SizeY-2に等しい。
e.例えば、MaxTsSizeは、以下のように導出される。
MaxTsSize=Min(CtbSizeY,1<<(log2_transform_skip_max_size_minus2+2))。
f.例えば、MaxTsSizeは、以下のように導出される。
MaxTsSize=1<<Min(log2_transform_skip_max_size_minus2+2,CtbLog2SizeY)。
g.クロマブロックのためのTSおよび/またはBDPCMのための最大許容ブロックサイズは、クロマブロックのための最大変換ブロックサイズ以下とする。
i.一例として、MaxTbSizeYが輝度ブロックのための最大変換サイズを表すとすると、クロマブロックのためのTSおよび/またはBDPCMの最大許容幅および高さは、MaxTbSizeY/SubWidthC以下であってもよい。
ii.一例として、MaxTbSizeYが輝度ブロックのための最大変換サイズを表すとすると、クロマブロックのためのTSおよび/またはBDPCMの最大許容幅は、MaxTbSizeY/SubWidthC以下であってもよい。
iii.一例として、MaxTbSizeYが輝度ブロックの最大変換サイズを表すとすると、クロマブロックのためのTSおよび/またはBDPCMの最大許容高さは、MaxTbSizeY/SubHeightC以下であってもよい。
h.最大許容TS(Transform Skip)ブロックサイズは、バイナリ構文要素(例えば、「0」は16に等しく表し、「1」は32に等しく表す)で信号通知されてもよい。
5.最大許容TS(Transform Skip)ブロックサイズおよび/または最大許容変換ブロックサイズは、最小コーディングブロックサイズよりも小さくてはならない。
6.最大許容変換ブロックサイズ(例えばJVET-Q2001-vBではMaxTbSizeYと表記)を信号通知、解釈、または制限するかどうか、および/またはどのように信号通知、解釈、または制限するかは、最小許容コーディングブロックサイズ(例えばJVET-Q2001-vBではMinCbSizeYと表記)に依存してもよい。
a.一例として、MaxTbSizeYは、MinCbSizeYよりも大きいかまたは等しくなければならないことが必要である。
i.一例として、MinCbSizeYが64に等しい場合、sps_max_luma_transformation_size_64_flagの値は1に等しくなる。
ii.一例として、MinCbSizeYが64に等しい場合、sps_max_luma_transformation_size_64_flagは、信号通知されず、1と推論される。
7.TSおよび/またはBDPCMコーディングの最大許容サイズ(例えば、JVET-Q2001-vBではMaxTsSizeと表記される)を信号通知、解釈または制限するかどうか、および/またはどのように信号通知、解釈または制限するかは、最小許容コーディングブロックサイズ(例えば、JVET-Q2001-vBではMinCbSizeYと表記される)に依存してもよい。
a.一例として、MaxTsSizeはMinCbSizeY以上でなければならないことが必要である。
b.一例として、MaxTsSizeは、W以下でなければならず、Wは、32などの整数である。
i.例えば、MaxTsSizeは、MinCbSizeY<=MaxTsSize<=Wを満たさねばならない。
ii.例えば、TSおよび/またはBDPCMコーディングが有効化されている場合、MinCbSizeYは、X以下とする。
c.一例として、TSおよび/またはBDPCMが有効化されている(例えば、sps_transform_skip_enabled_flagが1に等しい)場合、MaxTsSizeはMinCbSizeY以上でなければならないことが必要である。
i.例えば、sps_transform_skip_enabled_flagが1に等しい場合、log2_transform_skip_max_size_minus2はlog2_min_luma_coding_block_size_minus2以上とする。
d.一例として、MaxTsSize=max(MaxTsSize,MinCbSizeY)である。
i.別の例において、MaxTsSize=min(W,max(MaxTsSize,MinCbSizeY))であり、Wは、32などの整数である。
e.一例として、TSおよび/またはBDPCMが有効化されている場合(例えばsps_transform_skip_enabled_flagは1に等しい)、MaxTsSize=max(MaxTsSize,MinCbSizeY)とする。
i.一例では、TSおよび/またはBDPCMが有効化されている(例えば、sps_transform_skip_enabled_flagが1に等しい)場合、MaxTsSize=min(W、max(MaxTsSize、MinCbSizeY))、Wは32などの整数である。
f.一例として、MaxTsSize(例えば、JVET-Q2001-vBにおけるlog2_transform_skip_max_size_minus2)の信号通知は、MinCbSizeYに依存してもよい。
i.一例として、log2_transform_skip_max_size_minus2とlog2_min_luma_coding_block_size_minus2の差(log2_diff_max_trasform_skip_min_coding_blockと表記される)はMaxTsSizeを示すために信号通知されてもよい。
1) 例えば、MaxTsSize=1<(MinCbLog2SizeY+log2_diff_max_trasform_skip_min_coding_block)。
2) 例えば、MaxTsSize=min(W,1<<(MinCbLog2SizeY+log2_diff_max_trasform_skip_min_coding_block))において、Wは32などの整数である。
8.TSおよび/またはBDPCMコーディング(例えば、JVET-Q2001-vBではsps_transform_skip_enabled_flagと表記)の指示を信号通知、解釈または制限するか、および/または信号通知、解釈または制限どのようにするかは、最小許容コーディングブロックサイズ(例えば、JVET-Q2001-vBにおいてminCbSizeYと表記される)に依存してもよい。
a.一例として、MinCbSizeYが64に等しい場合、sps_transform_skip_enabled_flagは、信号通知されず、0と推論される。
b.一例として、MinCbSizeYがTSおよび/またはBDPCMの最大許容サイズよりも大きい(例えば、TSおよび/またはBDPCMの最大許容サイズが32である)場合、sps_transform_skip_enabled_flagは通知されず、0と推論される。
9.SPS/PPS/ピクチャヘッダ/スライスヘッダにおいてコーディングツールXの指示を信号通知または解釈するかどうか、および/またはどのようにツールXの指示を信号通知または解釈するかは、最小許容コーディングブロックサイズ(例えば、JVET-Q2001-vBにおけるMinCbSizeY)に依存してもよい。
a.SPS/PPS/ピクチャヘッダ/スライスヘッダにおけるコーディングツールXの指示は、最小許容コーディングブロックサイズがTよりも大きい場合、信号通知されず、使用されないと推論されてもよく、Tは32などの整数である。
b.SPS/PPS/ピクチャヘッダ/スライスヘッダにおけるコーディングツールXは、最小許容コーディングブロックサイズがTよりも大きい場合、使用されないことを示す必要があり、Tは32などの整数である。
c.コーディングツールXは、CIIP(Combined Inter-Intra Prediction)であってもよい。
d.コーディングツールXは、MTS(Multiple Transform Selection)であってもよい。
e.コーディングツールXは、SBT(Segment Block Transform)であってもよい。
f.コーディングツールXは、SMVD(Syymetric Motion Vector Difference)であってもよい。
g.コーディングツールXは、BDOFであってもよい。
h.コーディングツールXは、アフィン予測であってもよい。
i.コーディングツールXは、PROF(Prediction Refine with Optical Flow)であってもよい。
j.コーディングツールXは、DMVR(Decoder-side Motion Vector Refinement)であってもよい。
k.コーディングツールXは、BCW(Bi-prediction with CU-level Weights)であってもよい。
l.コーディングツールXは、MMVD(Merge with Motion Vector Difference)であってもよい。
m.コーディングツールXは、GPM(Geometric Partitioning Mode)であってもよい。
n.コーディングツールXは、IBC(Intra Block Copy)であってもよい。
o.コーディングツールXは、パレットコーディングであってもよい。
p.コーディングツールXは、ACT(Adaptive Color Transform)であってもよい。
q.コーディングツールXは、JCCR(Joint Cb-Cr Residue coding)であってもよい。
r.コーディングツールXは、CCLM(Cross-Component Lineae Model Prediction)であってもよい。
s.コーディングツールXは、MRL(Multiple Reference Line)であってもよい。
t.コーディングツールXは、MIP(Matrix-based Intra-Prediction)であってもよい。
u.コーディングツールXは、ISP(Intra Subpartitions Prediction)であってもよい。
10.デュアルツリーコーディングが適用される場合、2分木分割のための最小許容ブロックサイズ(例えば、JVET-Q2001-vBにおけるMinBtSizeY)は、輝度成分およびクロマ成分について異なってもよい。
a.一例として、MinBtSizeY=1<<<MinBtLog2SizeYは、輝度成分に対する2分木分割のための最小許容ブロックサイズであり、MinBtSizeC=1<<<<MinBtLog2SizeCは、クロマ成分に対する2分木分割のための最小許容ブロックサイズであり、MinBtLog2SizeYは、MinBtLog2SizeCに等しくなくてもよい。
i.MinBtLog2SizeYは、MinCbLog2SizeYによって予測され、信号通知されてもよい。例えば、MinBtLog2SizeYとMinCbLog2SizeYとの差が信号通知されてもよい。
ii.MinBtLog2SizeCは、MinCbLog2SizeYによって予測され、信号通知されてもよい。例えば、MinBtLog2SizeCとMinCbLog2SizeYとの差が信号通知されてもよい。
11.デュアルツリーコーディングが適用される場合、3分木分割のための最小許容ブロックサイズ(例えば、JVET-Q2001-vBにおけるMinTtSizeY)は、輝度成分およびクロマ成分について異なってもよい。MinCbSizeY=1<<<MinCbLog2SizeYは、最小許容コーディングブロックサイズを表す。
a.一例では、MinTtSizeY=1<<MinTtLog2SizeYは、輝度成分に対する3分木分割の最小許容ブロックサイズであり、MinTtSizeC=1<<MinTtLog2SizeCはクロマ成分に対する3分木分割の最小許容ブロックサイズであり、MinTtLog2SizeYはMinTtLog2SizeCと等しくなくてもよい。
i.MinTtLog2SizeYは、MinCbLog2SizeYによって予測され、信号通知されてもよい。例えば、MinTtLog2SizeYとMinCbLog2SizeYとの差を信号通知してもよい。
ii.MinTtLog2SizeCは、MinCbLog2SizeYによって予測され、信号通知されてもよい。例えば、MinTtLog2SizeCとMinCbLog2SizeYとの差を信号通知してもよい。
12.サブブロックベースのマージ候補の最大数(例えば、MaxNumSubblockMergeCand)は、第1の変数と第2の変数の和として導出され、第1の変数は、アフィン予測が無効化されている場合(例えば、sps_affine_enabled_flagが0に等しい)、0に等しく、第2の変数は、サブブロックベースのTMVP(sbTMVP)が有効化されているか否かに依存する。
a.一例として、第1の変数は、許可されたアフィンマージ候補の数を表す。
b.一例として、第2の変数は、(sps_sbtmvp_enabled_flag && ph_temporal_mvp_enable_flag)に設定されてもよい。
c.一例として、第1の変数は、K-Sとして導出され、Sは、構文要素(例えば、5_minus_num_affine_merge_cand)によって設定された値であり、Kは、4または5等の固定数である。
d.一例として、MaxNumSubblockMergeCand=5 - five_minus_max_num_affine_merge_cand+(sps_sbtmvp_enabled_flag && ph_temporal_mvp_enable_flag)である。
e.一例として、MaxNumSubblockMergeCand=4-4_minus_max_num_affine_merge_cand+(sps_sbtmvp_enabled_flag && ph_temporal_mvp_enable_flag)である。
f.一例として、MaxNumSubblockMergeCand=Min(W,MaxNumSubblockMergeCand)であり、Wは、5などの固定数である。
g.一例として、第1の変数(例えば、5_minus_max_num_affine_merge_candまたは4_minus_max_num_affine_merge_cand)の指示は、条件付きで信号通知されてもよい。
i.一例として、これは、sps_affine_enabled_flagが1に等しい場合にのみ信号通知されてもよい。
ii.存在しない場合、five_minus_max_num_affine_merge_candはKであると推論される(例えば、K=4または5)。
13.輝度成分とクロマ成分にためのALF仮想境界とCTB底部境界間の行(ライン)数、および/または輝度成分のALF仮想境界とCTB底部境界間の行とクロマ成分の対応する行のフィルタ強度、および/または同じ行の輝度およびクロマサンプルのパディング方法は、4:2:2および4:4:4の場合に対して調整されている。
a.一例として、クロマALFにおけるALF仮想境界(VB)の垂直(および/または水平)位置は、4:2:2/4:4:4のクロマフォーマット映像の場合、輝度ALFにおけるALF仮想境界の垂直(および/または水平)位置と調整されるべきである。輝度ALFにおけるALF VBの垂直(および/または水平)位置をvbPosYで表し、クロマALFにおけるALF VBの垂直(および/または水平)位置をvbPosCで表す。
i.一例として、輝度ALFにおけるALF VBの垂直位置vbPosYがCtbSizeY-Sに等しい場合、クロマ成分vbPosCに対するALF VBの垂直位置は、(CtbSizeY-S)/SubHeightCに等しく設定されてもよい。
ii.一例として、輝度ALFにおけるALF VBの水平位置vbPosYがCtbSizeY_Sに等しい場合、クロマ成分に対するALF VBの水平位置vbPosC=(CtbSizeY-S)/SubWidthCとなる。
iii.上記の例において、CtbSizeYは、各CTUの輝度コーディングツリーのブロックサイズを規定し、SubHeightCおよびSubWidthCは、表3-1に定義される。Sは、4などの整数である。
b.一例として、ALF VBの垂直(および/または水平)位置付近のKライン(および/またはH本の列)のクロマALFにおけるパディング方法は、輝度ALFにおけるパディング方法と調整されるべきである。垂直(または水平)クロマサンプル位置をYcで表す。
i.一例として、YcがvbPosCに等しい場合(例えば、図14Bにおいて)、以下が適用されてもよい。
1)上側(または左側)のK(例えば、K=2)個の利用不可能なラインは、パディングされてもよい。あるいは、さらに、現在のラインの下(または右)のこれらの利用不可能なラインのうちの対応するK個のラインは、対応するK個のラインが利用可能であってもパディングされてもよい。
a.一例として、上側のKの利用不可能なラインは、現在のラインを使用してパディングしてもよい。
i.一例として、図14Bにおいて、現在のラインの上のC1、C2、C3は、C5、C6、C5に等しく設定されてもよい。そして、現在のラインの上のC0は、C6に等しく設定されてもよい。
b.一例として、対応するK個のラインは、現在のラインを使用してパディングされてもよい。
i.一例として、図14Bにおいて、現在のラインの下のC3、C2、C1は、C5、C6、C5に等しく設定されてもよい。そして、現在のラインの下のC0は、C6に等しく設定されてもよい。
2)下または(右)のK個の利用できないラインはパディングされてよい。あるいは、更に、現在のラインの上(または左)のこれらの利用不可能なラインの対応するK個のラインは、対応するK個のラインが利用可能であってもパディングされてもよい。
ii.一例として、YcがvbPosC-Mに等しい(例えば、M=1,2)場合(例えば、図14Aおよび図14Dにおいて)、以下が適用されてもよい。
1)下(または右)(例えば、K=1,2)の利用できないラインはパディングされてもよい。そして、現在のラインの上(または左)のこれらの利用不可能なラインの対応するK個のラインは、対応するK個のラインが利用可能であってもパディングされる場合がある。
a.一例として、Mが1に等しい場合、下のK個の利用不可能なラインが、現在のラインを使用してパディングされてもよい。
i.一例として、図14Aにおいて、現在のラインの下のC3、C2、C1は、C5、C6、C5に等しく設定されてもよい。そして、現在のラインの下のC0は、C6に等しく設定されてもよい。
b.一例として、Mが1に等しい場合、対応するK個のラインは、現在のラインを使用してパディングされてもよい。
i.一例として、図14Aにおいて、現在のライン上のC1、C2、C3は、C5、C6、C5に等しく設定されてもよい。そして、現在のラインの上のC0は、C6に等しく設定されてもよい。
c.一例として、Mが2以上である場合、ALF仮想境界の上側の最も下の線(例えば、vbPosC-1)を使用して、下のK個の利用不可能なラインがパディングされてもよい。
i.一例として、図14Dにおいて、現在のラインの下のC0は、C6に等しく設定されてもよい。
d.一例として、Mが2以上である場合、ALF仮想境界の上の最も下のラインの対応するライン(例えば、vbPos_2*M+1)を使用して、対応するK個のラインがパディングされてもよい。
i.一例として、図14Dにおいて、現在のラインの上のC0は、C6に等しく設定されてもよい。
iii.一例として、YcがvbPosC+Nに等しい(例えば、N=1)場合(例えば、図14Cにおいて)、以下が適用されてもよい。
1)上(または左)のK(例えば、K=1)個の使用不可能なラインはパディングされてもよい。そして、現在のラインの下(または右)のこれらの利用不可能なラインの対応するK個のラインは、対応するK個のラインが利用可能であってもパディングされてもよい。
a.一例として、上側のKの利用不可能なラインは、現在のラインを使用してパディングしてもよい。
i.一例として、図14Cにおいて、現在のラインの上のC0は、C6に等しく設定されてもよい。
b.一例として、対応するK個のラインは、現在のラインを使用してパディングされてもよい。
i.一例として、図14Cにおいて、現在のラインの下のC0は、C6に等しく設定されてもよい。
c.一例として、クロマALFにおけるALF VBの垂直(または水平)位置付近のMライン(またはN列)のALFフィルタ強度は、4:2:2/4:4:4のクロマフォーマット映像に対する輝度ALFにおいて調整されるものとする。輝度ALFおよびクロマALFのALFフィルタ強度は、alfShiftY(例えば、表45)およびalfShiftC(例えば、表46)によって制御される。
i.一例として、Yc==vbPosC-M(例えば、M=0,1)である場合、alfShiftC=T1であり、Yc!=vbPosC-M,である場合、alfShiftC=T2である。
1)一例において、T1=10,T2=7である。
ii.一例として、Yc==vbPosC+M(例えば、M=0)である場合、alfShiftC=T1であり、Yc!=vbPosC+Mである場合、alfShiftC=T2である。
1)一例において、T1=10,T2=7である。
6.実施形態
6.1. loop_filter_across_tiles_enabled_flagの信号通知の実施形態
7.3.2.4 ピクチャパラメータセットRBSP構文
Figure 0007469488000045
6.2. loop_filter_across_slices_enabled_flagの信号通知の実施形態1
7.3.2.4 ピクチャパラメータセットRBSP構文
Figure 0007469488000046
6.3. loop_filter_across_slices_enabled_flagの信号通知の実施形態2
7.3.2.4 ピクチャパラメータセットRBSP構文
Figure 0007469488000047
6.4. loop_filter_across_slices_enabled_flagの信号通知の実施形態3
7.3.2.4 ピクチャパラメータセットRBSP構文
Figure 0007469488000048
6.5. loop_filter_across_slices_enabled_flagの信号通知の実施形態4
7.3.2.4 ピクチャパラメータセットRBSP構文
Figure 0007469488000049
6.6. LMCS情報の信号通知の実施形態1
7.3.2.4 ピクチャパラメータセットRBSP構文
Figure 0007469488000050
6.7. LMCS情報の信号通知の実施形態2
7.3.2.7 ピクチャパラメータセットRBSP構文
Figure 0007469488000051
6.8. LMCS情報の信号通知の実施形態3
7.3.7.1 一般スライスセグメントヘッダ構文
Figure 0007469488000052
6.9. LMCS情報の信号通知の実施形態4
7.3.2.7 ピクチャパラメータセットRBSP構文
Figure 0007469488000053
6.10.LMCS情報の信号通知の実施形態5
7.3.7.1 一般スライスセグメントヘッダ構文
Figure 0007469488000054
6.11. LMCS情報の信号通知の実施形態6
例1:slice_lmcs_enabled_flagが存在しない場合、ph_lmcs_enabled_flagに等しいと推論される。
例2:slice_lmcs_aps_idが存在しない場合、ph_lmcs_aps_idに等しいと推論される。
例3:slice_chroma_residual_scale_flagが存在しない場合、ph_chroma_residual_scale_flagに等しいと推論される。
6.12.スライス情報の信号通知の実施形態1
7.3.2.4 ピクチャパラメータセットRBSP構文
Figure 0007469488000055
Figure 0007469488000056
6.13.ALF仮想境界操作の実施形態
8.8.5.4 クロマサンプルのためのコーディングツリーブロックフィルタリング処理

-垂直サンプル位置オフセットy1,y2および変数alfShiftCは、垂直クロマサンプル位置yおよびapplyAlfLineBufBoundaryに従って、表46で規定される。
-変数currは、以下のように導出される。
curr=recPicture[h][v] (1504)
-クロマフィルタ係数f[j]の配列およびクロマクリッピング値c[j]の配列は、j=0..5として、以下のように導出される。
f[j]=AlfCoeff[slice_alf_aps_id_chroma][altIdx][j] (1505)
c[j]=AlfClip[slice_alf_aps_id_chroma][altIdx][j] (1506)
-変数sumは、以下のように導出される。
sum=f[0]*(Clip3(-c[0],c[0],recPicture[h][vy+y2]-curr)+
Clip3(-c[0],c[0],recPicture[h][vy-y2]-curr))+
f[1]*(Clip3(-c[1],c[1],recPicture[hx+1][vy+y1]-curr)+
Clip3(-c[1],c[1],recPicture[hx-1][vy-y1]-curr))+
f[2]*(Clip3(-c[2],c[2],recPicture[h][vy+y1]-curr)+
Clip3(-c[2],c[2],recPicture[h][vy-y1]-curr))+
f[3]*(Clip3(-c[3],c[3],recPicture[hx-1][vy+y1]-curr)+
Clip3(-c[3],c[3],recPicture[hx+1][vy-y1]-curr))+
f[4]*(Clip3(-c[4],c[4],recPicture[hx+2][v]-curr)+
Clip3(-c[4],c[4],recPicture[hx-2][v]-curr))+
f[5]*(Clip3(-c[5],c[5],recPicture[hx+1][v]-curr)+
Clip3(-c[5],c[5],recPicture[hx-1][v]-curr)) (1507)
sum=curr+((sum+64)>>alfShiftC) (1508)
-修正され、フィルタリングされ、再構成されたクロマピクチャサンプルalfPicture[xCtbC+x][yCtbC+y]は、以下のように導出される。
alfPicture[xCtbC+x][yCtbC+y]=Clip3(0,(1<<BitDepth)-1,sum) (1509)
表46 -垂直クロマサンプルの位置yLおよびapplyAlfLineBundaryに応じたy1、y2およびalfShiftCの仕様
Figure 0007469488000057
図15は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1900を示すブロック図である。様々な実装形態は、システム1900のコンポーネントの一部または全部を含んでもよい。システム1900は、映像コンテンツを受信するための入力1902を含んでもよい。映像コンテンツは、未加工または非圧縮フォーマット、例えば、8または10ビットのマルチコンポーネント画素値で受信されてもよく、または圧縮または符号化されたフォーマットで受信されてもよい。入力1902は、ネットワークインターフェース、周辺バスインターフェース、または記憶インターフェースを表してもよい。ネットワークインターフェースの例は、イーサネット(登録商標)、PON(登録商標;Passive Optical Network)等の有線インターフェース、およびWi-Fi(登録商標)またはセルラーインターフェース等の無線インターフェースを含む。
システム1900は、本明細書に記載される様々なコーディングまたは符号化方法を実装することができるコーディングコンポーネント1904を含んでもよい。コーディングコンポーネント1904は、入力1902からの映像の平均ビットレートをコーディングコンポーネント1904の出力に低減し、映像のコーディングされた表現を生成してもよい。従って、このコーディング技術は、映像圧縮または映像トランスコーディング技術と呼ばれることがある。コーディングコンポーネント1904の出力は、コンポーネント1906によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力1902において受信された、記憶されたまたは通信された映像のビットストリーム(またはコーディングされた)表現は、コンポーネント1908によって使用されて、表示インターフェース1910に送信される画素値または表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作またはツールと呼ぶが、コーディングツールまたは動作は、エンコーダおよびそれに対応する、符号化の結果を逆にする復号化ツールまたは操作が、デコーダによって行われることが理解されよう。
周辺バスインターフェースまたは表示インターフェースの例は、USB(登録商標;Universal Serial Bus)またはHDMI(登録商標;High Definition Multimedia Interface)またはディスプレイポート等を含んでもよい。ストレージインターフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、またはデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
図16は、映像処理装置3600のブロック図である。装置3600は、本明細書に記載の方法の1または複数を実装するために使用されてもよい。装置3600は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等に実施されてもよい。装置3600は、1または複数のプロセッサ3602と、1または複数のメモリ3604と、映像処理ハードウェア3606と、を含んでもよい。1または複数のプロセッサ3602は、本明細書に記載される1または複数の方法を実装するように構成されてもよい。1または複数のメモリ3604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア3606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
図18は、本開示の技法を利用し得る例示的な映像コーディングシステム100を示すブロック図である。
図18に示すように、映像コーディングシステム100は、送信元装置110と、送信先装置120と、を含んでもよい。送信元装置110は、符号化された映像データを生成するものであり、映像符号化機器とも呼ばれ得る。送信先装置120は、送信元装置110によって生成された符号化映像データを復号化してよく、映像復号化機器とも呼ばれ得る。
送信元装置110は、映像ソース112と、映像エンコーダ114と、入出力(I/O)インターフェース116と、を含んでよい。
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインターフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データを符号化し、ビットストリームを生成する。ビットストリームは、映像データのコーディングされた表現を形成するビットのシーケンスを含んでもよい。ビットストリームは、コーディングされたピクチャおよび関連付けられたデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインターフェース116は、変復調器(モデム)および/または送信機を含んでもよい。符号化された映像データは、ネットワーク130aを介して、I/Oインターフェース116を介して送信先装置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(High Efficiency Video Coding)規格、VVM(Versatile Video Coding)規格、および他の現在のおよび/またはさらなる規格等の映像圧縮規格に従って動作してもよい。
図19は、映像エンコーダ200の一例を示すブロック図であり、映像エンコーダ200は、図18に示されるシステム100における映像エンコーダ114であってもよい。
映像エンコーダ200は、本開示の技術のいずれかまたは全部を実行するように構成されてもよい。図19の例において、映像エンコーダ200は、複数の機能コンポーネントを備える。本開示で説明される技法は、映像エンコーダ200の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
映像エンコーダ200の機能コンポーネントは、分割部201、予測部202を含んでもよく、予測部202は、モード選択部203、動き推定部204、動き補償部205、およびイントラ予測部206、残差生成部207、変換部208、量子化部209、逆量子化部210、逆変換部211、再構成部212、バッファ213、およびエントロピー符号化部214を含んでもよい。
他の例において、映像エンコーダ200は、より多くの、より少ない、または異なる機能コンポーネントを含んでもよい。一例において、予測部202は、IBC(Intra Block Copy)部を含んでもよい。IBC部は、少なくとも1つの参照ピクチャが現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を行うことができる。
さらに、動き推定部204および動き補償部205などのいくつかのコンポーネントは、高度に統合されてもよいが、説明のために、図19の例においては別々に表されている。
分割部201は、1つのピクチャを1または複数の映像ブロックに分割してもよい。映像エンコーダ200および映像デコーダ300は、様々な映像ブロックサイズをサポートすることができる。
モード選択部203は、例えば、誤りの結果に基づいて、イントラまたはインターのコーディングモードのうちの1つを選択し、得られたイントラまたはインターコーディングされたブロックを残差生成部207に供給し、残差ブロックデータを生成して再構成部212に供給し、符号化されたブロックを参照ピクチャとして使用するために再構成してもよい。いくつかの例において、モード選択部203は、インター予測信号およびイントラ予測信号に基づいて予測を行うCIIP(Combination of Intra and Inter Prediction)モードを選択してもよい。また、モード選択部203は、インター予測の場合、ブロックの動きベクトルの解像度(例えば、サブピクセルまたは整数画素精度)を選択してもよい。
現在の映像ブロックに対してインター予測を行うために、動き推定部204は、バッファ213からの1または複数の参照フレームと現在の映像ブロックとを比較することで、現在の映像ブロックのための動き情報を生成してもよい。動き補償部205は、現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報および復号化されたサンプルに基づいて、現在の映像ブロックのための予測映像ブロックを判定してもよい。
動き推定部204および動き補償部205は、現在の映像ブロックがIスライスであるか、Pスライスであるか、またはBスライスであるかによって、例えば、現在の映像ブロックに対して異なる動作を行ってもよい。
いくつかの例では、動き推定部204は、現在の映像ブロックに対して単一方向予測を行い、動き推定部204は、現在の映像ブロックに対して、参照映像ブロック用のリスト0またはリスト1の参照ピクチャを検索してもよい。そして、動き推定部204は、参照映像ブロックと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルとを含む、リスト0またはリスト1における参照ピクチャを示す参照インデックスを生成してもよい。動き推定部204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償部205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
他の例において、動き推定部204は、現在の映像ブロックを双方向予測してもよく、動き推定部204は、リスト0における参照ピクチャの中から現在の映像ブロックを求めるための参照映像ブロックを検索してもよく、また、リスト1における参照ピクチャの中から現在の映像ブロックを求めるための別の参照映像ブロックを検索してもよい。そして、動き推定部204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してもよい。動き推定部204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償部205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してもよい。
いくつかの例では、動き推定部204は、デコーダの復号化処理のために、動き情報のフルセットを出力してもよい。
いくつかの例では、動き推定部204は、現在の映像のための動き情報のフルセットを出力しなくてもよい。むしろ、動き推定部204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定部204は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似していることを判定してもよい。
一例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同じ動き情報を有することを映像デコーダ300に示す値を示してもよい。
別の例において、動き推定部204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、動きベクトル差分(MVD;Motion Vector Difference)とを識別してもよい。動きベクトル差分は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、示された映像ブロックの動きベクトルおよび動きベクトル差分を使用して、現在の映像ブロックの動きベクトルを決定してもよい。
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技法の2つの例は、AMVP(Advanced Motion Vector Prediction)およびマージモード信号通知を含む。
イントラ予測部206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測部206が現在の映像ブロックをイントラ予測する場合、イントラ予測部206は、同じピクチャにおける他の映像ブロックの復号化されたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
残差生成部207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックのための残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
他の例において、例えば、スキップモードにおいて、現在の映像ブロックのための残差データがなくてもよく、残差生成部207は、減算演算を行わなくてもよい。
変換処理部208は、現在の映像ブロックに関連付けられた残差映像ブロックに1または複数の変換を適用することによって、現在の映像ブロックのための1または複数の変換係数映像ブロックを生成してもよい。
変換処理部208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化部209は、現在の映像ブロックに関連付けられた1または複数の量子化パラメータ(QP:Quantization Parameter)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
逆量子化部210および逆変換部211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成部212は、予測部202にて生成された1または複数の予測映像ブロックからの対応するサンプルに再構成された残差映像ブロックを加え、現在のブロックに関連付けられた再構成映像ブロックを生成し、バッファ213に記憶してもよい。
再構成部212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作が行われてもよい。
エントロピー符号化部214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピー符号化部214がデータを受信すると、エントロピー符号化部214は、1または複数のエントロピー符号化動作を行い、エントロピー符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリームを出力してもよい。
開示される技術のいくつかの実施形態は、映像処理ツールまたはモードを有効化するように決定または判定することを含む。一例において、映像処理ツールまたはモードが有効化される場合、エンコーダは、1つの映像ブロックを処理する際にツールまたはモードを使用するまたは実装するが、ツールまたはモードの使用に基づいて、結果として得られるビットストリームを必ずしも修正しなくてもよい。すなわち、映像のブロックから映像のビットストリーム表現への変換は、決定または判定に基づいて映像処理ツールまたはモードが有効化される場合に、映像処理ツールまたはモードを使用する。別の例において、映像処理ツールまたはモードが有効化される場合、デコーダは、ビットストリームが映像処理ツールまたはモードに基づいて修正されたことを知って、ビットストリームを処理する。すなわち、決定または判定に基づいて有効化された映像処理ツールまたはモードを使用して、映像のビットストリーム表現から映像のブロックへの変換を行う。
図20は、映像デコーダ300の一例を示すブロック図であり、映像デコーダ300は、図18に示されるシステム100における映像デコーダ114であってもよい。
映像デコーダ300は、本開示の技術のいずれかまたは全部を実行するように構成されてもよい。図20の実施例において、映像デコーダ300は、複数の機能コンポーネントを備える。本開示で説明される技法は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
図20の例において、映像デコーダ300は、エントロピー復号化部301、動き補正部302、イントラ予測部303、逆量子化部304、逆変換部305、および再構成部306、並びにバッファ307を備える。映像デコーダ300は、いくつかの例では、映像エンコーダ200(図19)に関して説明した符号化パスとほぼ逆の復号化パスを行ってもよい。
エントロピー復号化部301は、符号化されたビットストリームを取り出す。符号化されたビットストリームは、エントロピー符号化された映像データ(例えば、映像データの符号化されたブロック)を含んでもよい。エントロピー復号化部301は、エントロピー符号化された映像データを復号化し、エントロピー復号された映像データから、動き補償部302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定してもよい。動き補償部302は、例えば、AMVPおよびマージモードを実行することで、このような情報を判定してもよい。
動き補償部302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を実行する。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
動き補償部302は、映像ブロックの符号化中に映像エンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数ピクセルのための補間値を計算してもよい。動き補償部302は、受信した構文情報に基づいて、映像エンコーダ200が使用する補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成してもよい。
動き補償部302は、構文情報の一部を用いて、符号化された映像シーケンスのフレームおよび/またはスライスを符号化するために使用されるブロックのサイズ、符号化された映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのように符号化されるかを示すモード、各インター符号化されたブロックに対する1または複数の参照フレーム(および参照フレームリスト)、および符号化された映像シーケンスを復号化するための他の情報を決定してもよい。
イントラ予測部303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化部303は、ビットストリームに提供され、エントロピー復号化部301によって復号化された、量子化された映像ブロック係数を逆量子化(すなわち、逆量子化)する。逆変換部303は、逆変換を適用する。
再構成部306は、残差ブロックと、動き補償部202またはイントラ予測部303によって生成された対応する予測ブロックとを合計し、復号化されたブロックを形成してもよい。所望であれば、ブロックアーチファクトを除去するために、復号化されたブロックをフィルタリングするためにデブロッキングフィルタを適用してもよい。復号化された映像ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のために参照ブロックを提供し、また表示装置に表示するために復号化された映像を生成する。
次に、いくつかの実施形態において好適な解決策を列挙する。
以下の解決策は、前章(例えば、項目1、2)で論じた技術の例示的な実施形態を示す。
1.映像の映像ユニットと映像のコーディングされた表現との間の変換のために、映像ユニットの映像領域にわたるインループフィルタリングの適用可能性の指示がコーディングされた表現に含まれているかどうかを判定すること(1702)と、判定に基づいて変換を実行すること(1704)とを含む、映像処理方法(例えば、図17に示される方法1700)。
2.映像ユニットはピクチャを含む、解決策1に記載の方法。
3.映像領域はタイルを含む、解決策1から2のいずれかに記載の方法。
4.映像領域はスライスを含む、解決策1から2のいずれかに記載の方法。
以下の解決策は、前章(例えば、項目3)で論じた技術の例示的な実施形態を示す。
5.映像の映像領域と映像のコーディングされた表現との間の変換を実行することを含み、コーディングされた表現はフォーマット規則に準拠し、フォーマット規則は、変換に対するLMCS(Luma Mapping with Chroma Scaling)の適用可能性に関する情報が映像スライスレベルでコーディングされた表現中に示されることを規定し、LMCSツールは、変換中に、現在の映像ブロックを第1のドメインおよび第2のドメインに基づいて構築することを含み、および/またはクロマ残差は輝度依存的にスケーリングされる、映像処理の方法。
以下の解決策は、前章(例えば、項目4、5、7、8)で論じた技術の例示的な実施形態を示す。
6.映像と映像のコーディングされた表現との間の変換を実行することを含み、変換は、符号化する間に、変換スキップコーディング方式またはデルタパルス符号化変調コーディング方式を使用して符号化された映像領域の最大サイズについてサイズ規則を適用し、または復号化する間に、変換スキップ復号化方式またはデルタパルス符号化変調エンコーディング方式を使用して、復号された映像領域の最大サイズに対してサイズ規則を実施してコーディングされた表現を解析および復号化することを規定するサイズ規則に準拠する、映像処理の方法。
7.サイズ規則は、変換スキップブロックである映像領域の最大サイズがコーディングツリーブロックサイズ以下であることを規定する、解決策6に記載の方法。
8.サイズ規則は、ブロックベースのデルタパルスモードコーディングを使用して処理される映像領域の最大サイズが、コーディングツリーブロックサイズ以下であることを規定する、解決策6に記載の方法。
以下の解決策は、前章(例えば、項目5)で論じた技術の例示的な実施形態を示す。
9.サイズ規則は、変換スキップブロックである映像領域の最大サイズが最小コーディングブロックサイズ以下であることを規定する、解決策6に記載の方法。
10.サイズ規則は、ブロックベースのデルタパルスモードコーディングを使用して処理される映像領域の最大サイズが、最小コーディングブロックサイズ以下であることを規定する、解決策6に記載の方法。
以下の解決策は、前章(例えば、項目7)で論じた技術の例示的な実施形態を示す。
11.サイズは、コーディングされた表現の中の領域に表示され、変換のための最小許容コーディングブロックサイズが、領域がコーディングされた表現のどこに発生するか、および/またはサイズが領域からどのように解釈されるかを制御する、解決策6から10のいずれかに記載の方法。
以下の解決策は、前章(例えば、項目8)で論じた技術の例示的な実施形態を示す。
12.変換のための最小許容コーディングブロックサイズが、サイズ規則を示す領域がコーディングされた表現中に発生するかどうか、および/またはサイズが領域からどのように解釈されるかを制御する、解決策6から10のいずれかに記載の方法。
以下の解決策は、前章(例えば、項目6)で論じた技術の例示的な実施形態を示す。
13.映像の映像領域と映像のコーディングされた表現との間の変換を実行することを含み、コーディングされた表現は、変換の間に使用される最小許容変換ブロックサイズが、コーディングされた表現に最大許容変換ブロックサイズの指示が含まれるかどうか、またはどのように指示が含まれるかを制御することを規定するフォーマット規則に準拠する、映像処理の方法。
14.フォーマット規則は、最小許容変換ブロックサイズが最小許容コーディングブロックサイズ以上であることを規定する、解決策13に記載の方法。
以下の解決策は、前章(例えば、項目9)で論じた技術の例示的な実施形態を示す。
15.フォーマット規則に応じて、映像の映像ユニットと映像のコーディングされた表現との間の変換を実行することを含み、コーディングされた表現は、変換の間に使用される最小許容コーディングブロックサイズが、変換におけるコーディングツールの適用可能性に関する情報を搬送する領域を映像領域レベルで含めるかどうかを制御することを規定するフォーマット規則に準拠する、映像処理の方法。
16.映像領域は、シーケンスパラメータセットまたはピクチャパラメータセットまたはピクチャヘッダまたはスライスヘッダに対応する、解決策15に記載の方法。
17.コーディングツールは、インターイントラ結合予測(combined inter-intra prediction)ツールを含む、解決策15から16のいずれかに記載の方法。
18.コーディングツールは、多重変換選択コーディング(multiple transform selection coding)ツールを含む、解決策15から16のいずれかに記載の方法。
以下の解決策は、前章(例えば、項目10、11)で論じた技術の例示的な実施形態を示す。
19.映像の映像領域と映像のコーディングされた表現との間の変換のために、デュアルツリーコーディングを変換のために使用することに起因して、映像の輝度およびクロマ成分に使用される分割方式が、輝度およびクロマ成分に対して許容される最小ブロックサイズが異なることを判定し、判定に基づいて変換を実行することを含む、映像処理の方法。
20.分割方式は、2分木分割を含む、19に記載の方法。
21.分割方式は、3分木分割を含む、解決策19に記載の方法。
以下の解決策は、前章(例えば、項目12)で論じた技術の例示的な実施形態を示す。
22.コーディングされた表現のためのフォーマット規則に準拠して、映像の映像領域と映像領域のコーディングされた表現との間の変換を実行することを含み、フォーマット規則は、変換の間に使用されるサブブロックベースのマージ候補の最大数を第1の変数と第2の変数との和として導出することを規定し、アフィン予測の使用は、第1の変数の値を制御し、サブブロックベースの時間動きベクトル予測の使用は、第2の変数の値を制御する、映像処理の方法。
23.第1の変数は、許可されたアフィンマージ候補の数を表す、解決策22に記載の方法。
以下の解決策は、前章(例えば、項目16)で論じた技術の例示的な実施形態を示す。
24.映像の映像領域と映像領域のコーディングされた表現との間の変換を、映像が4:2:2映像または4:4:4映像であることに起因する変換に適用できる処理規則を整合させることにより、実行することを含み、処理規則は、クロマおよび輝度を、(a)適応ループフィルタリング動作の仮想境界とコーディングツリーブロックの底部境界との間の画素ラインの数、または、(b)適応ループフィルタリング演算の仮想境界とコーディングツリーブロックの下部境界との間の行に適用されるフィルタのフィルタ強度、または、(c)行内の映像サンプルをパディングするために使用するパディング方法、のうちの1または複数に対して調整することを定義する、映像処理の方法。
25.処理規則は、クロマ成分と輝度成分との間の仮想境界の垂直調整をさらに定義する、解決策24に記載の方法。
26.処理規則は、クロマのK個のラインおよび/またはH個の列をパディングするために使用されるパディング方法と、輝度のために使用されるパディング方法とを調整させることを規定する、解決策24に記載の方法。
27.映像領域は、映像コーディングユニットを含む、上記解決策のいずれかに記載の方法。
28.映像領域は、映像ピクチャを含む、上記解決策のいずれかに記載の方法。
29.変換は、映像をコーディングされた表現に符号化することを含む、解決策1~28のいずれかに記載の方法。
30.変換は、映像の画素値を生成するためにコーディングされた表現を復号化することを含む、解決策1~28のいずれかに記載の方法。
31.解決策1~30の1または複数に記載の方法を実装するように構成されたプロセッサを備える、映像復号化装置。
32.解決策1~30の1または複数に記載の方法を実装するように構成されたプロセッサを備える、映像符号化装置。
33.コンピュータコードが記憶されたコンピュータプログラム製品であって、コードは、プロセッサにより実行されると、プロセッサに、解決策1~30のいずれかに記載の方法を実装させるコンピュータプログラム製品。
34.本明細書に記載の方法、装置またはシステム。
図21は、映像処理の方法(2100)の一例を示すフローチャートである。動作2102は、映像ユニットを含む映像と映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、フォーマット規則に準拠し、フォーマット規則は、タイル境界をまたいでインループフィルタリング動作を行うかどうかを示す第1の構文要素を、映像ユニットをタイルに分割するかどうかまたはどのように分割するかに応じて、ビットストリームに選択的に含めることを規定する。
方法2100のいくつかの実施形態において、映像ユニットはピクチャを含む。方法2100のいくつかの実施形態において、第1の構文要素はピクチャパラメータセットに含まれる。方法2100のいくつかの実施形態において、フォーマット規則は、映像ユニットが2つ以上のタイルに分割されることに応答して、第1の構文要素がビットストリームに含まれることを規定する。方法2100のいくつかの実施形態において、フォーマット規則は、1個のタイルのみを含む映像ユニットに応答して、第1の構文要素がビットストリームに含まれないことを規定する。方法2100のいくつかの実施形態において、フォーマット規則は、制約としてピクチャごとに1個のタイルが存在するかどうかを示す第2の構文要素に対して0の値を含むビットストリームに応答して、第1の構文要素がビットストリームに含まれることを規定する。
方法2100のいくつかの実施形態において、フォーマット規則は、制約としてピクチャごとに1個のタイルが存在するかどうかを示す第2の構文要素に対して1の値を含むビットストリームに応答して、第1の構文要素は0に等しく、ビットストリーム中に含まれる必要があることを規定する。方法2100のいくつかの実施形態において、第2の構文要素は、one_tile_per_pic_constraint_flagである。方法2100のいくつかの実施形態において、インループフィルタリング動作は、デブロックフィルタリング動作、サンプル適応オフセット動作、または適応ループフィルタリング動作のうちの少なくとも1つを含む。方法2100のいくつかの実施形態において、第1の構文要素は、loop_filter_across_tiles_enabled_flagである。方法2100のいくつかの実施形態において、変換を実行することは、映像をビットストリームに符号化することを含む。
方法2100のいくつかの実施形態において、変換を実行することは、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む。方法2100のいくつかの実施形態において、変換を実行することは、ビットストリームから映像を復号化することを含む。いくつかの実施形態において、映像復号化装置は、方法2100および関連する実施形態の動作を実装するように構成されるプロセッサを含む。いくつかの実施形態において、映像符号化装置は、方法2100および関連する実施形態の動作を実装するように構成されるプロセッサを備える。
いくつかの実施形態において、コンピュータ命令が記憶されたコンピュータプログラム製品は、プロセッサにより実行される場合、プロセッサに方法2100および関連する実施形態に関する動作を実装させる。いくつかの実施形態において、映像処理装置で実行される方法で生成された映像のビットストリームを記憶する非一時的なコンピュータ読み取り可能な記録媒体であって、方法は、映像ユニットを含む映像からビットストリームを生成することを含み、ビットストリームは、フォーマット規則に準拠し、フォーマット規則は、タイル境界をまたいでインループフィルタリング動作を行うかを示す第1の構文要素を、映像ユニットをタイルに分割するか否かまたはどのように分割するかに応じて、ビットストリームに選択的に含めることを規定する。いくつかの実施形態において、方法2100および関連する実施形態の動作をプロセッサに実装させる命令を記憶する非一時的なコンピュータ可読記憶媒体。いくつかの実施形態において、ビットストリーム生成の方法は、方法2100および関連する実施形態の動作に従って映像のビットストリームを生成することと、ビットストリームをコンピュータ読み取り可能なプログラム媒体に記憶することと、を含む。
図22は、映像処理の方法(2200)の一例を示すフローチャートである。動作2202は、映像の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に準拠し、フォーマット規則は、スライス境界をまたいでインループフィルタリング動作を行うかどうかを示す構文要素を、映像ユニットをスライスに分割するかどうかまたはどのように分割するかに応じて、ビットストリームに選択的に含めることを規定する。
方法2200のいくつかの実施形態において、映像ユニットはピクチャを含む。方法2200のいくつかの実施形態において、映像ユニットはサブピクチャを含む。方法2200のいくつかの実施形態において、構文要素はピクチャパラメータセットに含まれる。方法2200のいくつかの実施形態において、規則は、映像ユニットが1つのスライスのみに分割されることに応答して、構文要素をビットストリームに含めないことを規定する。方法2200のいくつかの実施形態において、規則は、映像ユニットの各サブピクチャが1つのスライスのみに分割されることに応答して、構文要素をビットストリームに含めないことを規定する。方法2200のいくつかの実施形態において、規則は、映像ユニットの各サブピクチャが1つのスライスのみに分割されることに応答して、構文要素をビットストリームに含めることを規定する。
方法2200のいくつかの実施形態において、規則は、第1のフラグが、各サブピクチャが1つからなり、かつ、1の矩形スライスからなることを規定する1に等しいことに応答して、構文要素をビットストリームに含めることを規定する。方法2200のいくつかの実施形態において、第1のフラグは、single_slice_per_subpic_flagである。方法2200のいくつかの実施形態において、第1のフラグは、ピクチャパラメータセットに含まれる。
方法2200のいくつかの実施形態において、規則は、非矩形形状に分割されたピクチャを含む映像ユニットに応答して、構文要素をビットストリームに含めることを規定する。方法2200のいくつかの実施形態において、規則は、第2のフラグが、各ピクチャに対してラスタスキャンスライスモードを使用していることを規定する0に等しいことに応答して、構文要素をビットストリームに含めることを規定する。方法2200のいくつかの実施形態において、ラスタスキャンスライスモードは、非矩形スライスモードである。方法2200のいくつかの実施形態において、第2のフラグはrect_slice_flagである。方法2200のいくつかの実施形態において、第2のフラグはピクチャパラメータセットに含まれる。方法2200のいくつかの実施形態において、規則は、映像ユニットが矩形に分割されたピクチャを含み、かつ、映像ユニットのスライスの数が1に等しいことに応答して、構文要素をビットストリームに含めないことを規定する。
方法2200のいくつかの実施形態において、規則は、制約としてピクチャ毎に1つのスライスがあるかどうかを示す構文要素に対してビットストリームが0の値を含むことに応答して、構文要素がビットストリームに含まれることを規定する。方法2200のいくつかの実施形態において、規則は、制約としてピクチャ毎に1つのスライスがあるかどうかを示す構文要素に対してビットストリームが1の値を含むことに応答して、構文要素が0に等しいことが必要であり、かつ、ビットストリームに含まれることを規定する。方法2200のいくつかの実施形態において、インループフィルタリング動作は、デブロックフィルタリング動作、サンプル適応オフセット動作、または適応ループフィルタリング動作のうち少なくとも1つを含む。方法2200のいくつかの実施形態において、変換を実行することは、映像をビットストリームに符号化することを含む。方法2200のいくつかの実施形態において、変換を実行することは、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む。
方法2200のいくつかの実施形態において、変換を実行することは、ビットストリームから映像を復号化することを含む。いくつかの実施形態において、映像復号化装置は、方法2200および関連する実施形態の動作を実装するように構成されるプロセッサを含む。いくつかの実施形態において、映像符号化装置は、方法2200および関連する実施形態の動作を実装するように構成されるプロセッサを含む。いくつかの実施形態において、コンピュータ命令が記憶されたコンピュータプログラム製品は、プロセッサにより実行される場合、プロセッサに方法2200および関連する実施形態の動作を実装させる。いくつかの実施形態において、映像処理装置で実行される方法で生成された映像のビットストリームを記憶した非一時的なコンピュータ読み取り可能な記録媒体であって、方法は、映像の映像ユニットからビットストリームを生成することを含み、ビットストリームは、フォーマット規則に準拠し、フォーマット規則は、スライス境界をまたいでインループフィルタリングを行うか否かを示す構文要素を、映像ユニットをスライスに分割するかどうかまたはどのようにこの映像ユニットをスライスに分割するかに応じて、ビットストリームに選択的に含めることを規定する。
いくつかの実施形態において、プロセッサに関連する実施形態の方法2200および動作を実装させる命令を記憶する非一時的なコンピュータ可読記憶媒体が提供される。いくつかの実施形態において、ビットストリーム生成の方法は、方法2200および関連する実施形態の動作に従って映像のビットストリームを生成することと、ビットストリームをコンピュータ読み取り可能なプログラム媒体に記憶することとを含む。
図23は、例示的な映像処理の方法(2300)の流れ図である。動作2302は、映像の映像領域と映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、フォーマット規則に準拠し、フォーマット規則は、ツールの変換への適用可能性に関する情報がビットストリームにおいて映像スライスレベルおよび/または映像ピクチャレベルで示されることを規定し、ツールは、輝度サンプルを特定の値にマッピングし、且つクロマサンプルの値に対してスケーリング動作を選択的に適用する。
方法2300のいくつかの実施形態において、フォーマット規則は、ツールの適用可能性に関する情報が、ツールを有効にするかどうかの第1の指示を含むことを規定する。方法2300のいくつかの実施形態において、フォーマット規則は、ツールの適用可能性に関する情報がパラメータの第2の指示を含むことを規定し、パラメータは、ツールのための映像ピクチャレベルにおけるAPS(Adaptive Parameter Set)の識別子、および/または映像ピクチャレベルでのクロマ残差スケールが有効化されているかどうかを示す値を含む。方法2300のいくつかの実施形態において、フォーマット規則は、ツールの適用可能性に関する情報が映像スライスレベルおよび映像ピクチャレベルの両方で示されることを規定する。
方法2300のいくつかの実施形態において、フォーマット規則は、ツールの適用可能性に関する情報が映像スライスレベルおよび映像ピクチャレベルの両方で示されることを規定し、映像スライスレベルに含まれる場合のツールの適用可能性に関する以前の情報を、ツールの適用可能性に関する情報が映像スライスレベルで含まれる場合にツールの適用可能性に関する情報で上書きすることを規定する。方法2300のいくつかの実施形態において、フォーマット規則は、ツールの適用可能性に関する情報が映像スライスレベルまたは映像ピクチャレベルのいずれかで示されることを規定する。方法2300のいくつかの実施形態において、フォーマット規則は、どのAPS(Adaptive Parameter Set)が映像領域の現在のスライスに使用されるかを示すために、ツールの適用可能性に関する情報をいずれかの映像スライスレベルで示すことを規定する。方法2300のいくつかの実施形態において、フォーマット規則は、ビットストリームが、ツールの適用可能性に関する情報が映像スライスレベルで示されているかまたは映像ピクチャレベルで示されているかを示すために、SPS(Sequence Parameter Set)またはPPS(Picture Parameter Set)において構文要素を含むことを規定する。
方法2300のいくつかの実施形態において、構文要素は第1の指示のみを制御する。方法2300のいくつかの実施形態において、構文要素は第2の指示のみを制御する。方法2300のいくつかの実施形態において、構文要素は、第1の指示および第2の指示の両方を制御する。方法2300のいくつかの実施形態において、フォーマット規則は、情報がピクチャヘッダに存在しないことに応答して、ツールの適用可能性に関する情報がデフォルト値を有するピクチャヘッダの構文要素に示されることを規定する。方法2300のいくつかの実施形態において、フォーマット規則は、情報がスライスヘッダに存在しないことに応答して、ツールの適用可能性に関する情報がデフォルト値を有するスライスヘッダの構文要素に示されることを規定する。方法2300のいくつかの実施形態において、フォーマット規則は、ツールの適用可能性に関する情報がスライスヘッダの構文要素に示されることを規定し、フォーマット規則は、構文要素がピクチャヘッダにおけるツールの適用可能性に関する情報を示す、対応する構文要素の値を有することを規定し、フォーマット規則は、情報がスライスヘッダに存在しないことに応答して、構文要素が対応する構文要素の値を有することを規定する。
方法2300のいくつかの実施形態において、フォーマット規則は、ピクチャヘッダに関連するスライスが複数のAPS識別子を参照することに応答して、ツールが使用可能にされたAPS(Adaptive Parameter Set)の複数のAPS識別子をピクチャヘッダに示すことを規定する。方法2300のいくつかの実施形態において、複数のAPS識別子のリストの長さは、1つのピクチャにおけるスライスの数に依存する。方法2300のいくつかの実施形態において、フォーマット規則は、構文要素がスライスヘッダに含まれることを規定し、構文要素は、複数のAPSからどのツールが使用可能にされたAPSを現在のスライスに使用すべきであるかを示す。方法2300のいくつかの実施形態において、ツールは、有効化されている場合に、映像領域が輝度成分からである場合、映像領域に対して再形成された領域のサンプルと元の領域のサンプルとの切り替えを実行し、または、ツールは、有効化されている場合に、映像領域がクロマ成分からである場合、映像領域のクロマ残差スケーリングを実行する。
図24は、映像処理の方法2400の一例を示すフローチャートである。動作2402は、映像の映像領域とこの映像のビットストリームとの変換を行うことを含み、この変換はサイズ規則に準拠し、このサイズ規則は、映像領域のコーディング特性に従って、TS(Transform-Skip)コーディング方式またはBDPCM(Block-based Delta Pulse Code Modulation)コーディング方式でコーディングされる映像領域の最大サイズ、あるいは映像領域のための変換ブロックの最大サイズを規定する。
方法2400のいくつかの実施形態において、サイズ規則は、映像領域の最大サイズがCTB(Coding Tree Block)サイズ以下であることを規定する。方法2400のいくつかの実施形態において、サイズ規則は、輝度ブロックのためのTSコーディングまたはデコーディング方式、および/またはBDPCMコーディングまたはデコーディング方式のための最大許容幅および高さがCTBサイズ以下であることを規定する。方法2400のいくつかの実施形態において、サイズ規則は、クロマブロックのためのTSコーディングまたはデコーディング方式、および/またはBDPCMコーディングまたはデコーディング方式のための最大許容幅および高さが、subWidthCで除算されたCTBサイズおよび/またはsubHeightCで除算されたCTBサイズ以下であることを規定し、subWidthCおよびsubHeightCは、映像のクロマフォーマットに依存する。方法2400のいくつかの実施形態において、サイズ規則は、クロマブロックのためのTSコーディングまたはデコーディング方式、および/またはBDPCMコーディングまたはデコーディング方式のための最大許容幅が、CTBサイズをsubWidthCで除算したもの、および/またはCTBサイズをsubHeightCで除算したもの以下であることを規定する。
方法2400のいくつかの実施形態において、サイズ規則は、クロマブロックのためのTSコーディングまたはデコーディング方式および/またはBDPCMコーディングまたはデコーディング方式のための最大許容高さが、CTBサイズをsubWidthCで除算したもの、および/またはCTBサイズをsubHeightCで除算したもの以下であることを規定する。方法2400のいくつかの実施形態において、第1の値は、log2_transformation_skip_max_size_minus2+2に等しく、第1の値は、CtbLog2SizeYの第2の値以下であり、log2_transformation_max_size_minus2+2は、TSコーディング方式またはTSデコーディング方式に使用される。
方法2400のいくつかの実施形態において、log2_transform_skip_max_size_minus2の最大値を記述する第1の値は、CtbLog2SizeYの第2の値から2を引いた値に等しく、log2_transform_skip_max_size_minus2+2は、TSコーディング方式に使用される、またはTSデコーディング方式に使用される最大ブロックサイズのlog2に等しい。方法2400のいくつかの実施形態では、サイズ規則は、変換スキップブロックである映像領域の最大サイズが、(CtbSizeY,1<<(log2_transform_skip_max_size_minus2+2))の最小値であることを規定し、<<は左シフト操作を示し、CtbSizeYはCTBサイズであり、およびlog2_transform_skip_max_size_minus2+2は、TSコーディング方式に使用される、またはTSデコーディング方式に使用される最大ブロックサイズのlog2に等しい。方法2400のいくつかの実施形態では、サイズ規則は、変換スキップブロックである映像領域の最大サイズが1<<Min(log2_transform_skip_max_size_minus2+2,CtbLog2SizeY)であることを規定し、<<は左シフト操作を示し、CtbSizeYはCTBサイズを示し、およびlog2_transform_skip_max_size_minus2+2は、TSコーディング方式またはTSデコーディング方式に使用される最大ブロックサイズのlog2に等しい。方法2400のいくつかの実施形態において、サイズ規則は、クロマブロックのためのTSコーディングまたはデコーディング方式、および/またはBDPCMコーディングまたはデコーディング方式のための最大サイズが、クロマブロックのための最大変換ブロックサイズ以下であることを規定する。
方法2400のいくつかの実施形態において、クロマブロックのためのTSコーディングまたはデコーディング方式、および/またはBDPCMコーディングまたはデコーディング方式のための最大許容幅および高さが、輝度ブロックのための最大変換ブロックサイズをSubWidthCで除算したもの以下である。方法2400のいくつかの実施形態において、クロマブロックのためのTSコーディングまたはデコーディング方式、および/またはBDPCMコーディングまたはデコーディング方式のための最大許容幅は、輝度ブロックの最大変換ブロックサイズをSubWidthCで除算したもの以下である。方法2400のいくつかの実施形態において、クロマブロックのためのTSコーディングまたはデコーディング方式、および/またはBDPCMコーディングまたはデコーディング方式のための最大許容高さは、輝度ブロックの最大変換ブロックサイズをsubHeightCで除算したもの以下である。方法2400のいくつかの実施形態において、サイズ規則は、変換スキップブロックである映像領域の最大サイズをビットストリームにおいてバイナリ構文要素で示すことを規定する。方法2400のいくつかの実施形態において、サイズ規則は、変換スキップブロックおよび/または最大許容変換ブロックサイズである映像領域の最大サイズが最小コーディングブロックサイズ以上であることを規定する。
図25は、映像処理の方法2500の一例を示すフローチャートである。動作2502は、映像の映像領域と映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、変換中に使用される最小許容コーディングブロックサイズが、ビットストリームに最大許容変換ブロックサイズが含まれるかどうか、および/またはどのように最大許容変換ブロックサイズが含まれるかを制御することを規定するフォーマット規則に準拠する。
方法2500のいくつかの実施形態において、フォーマット規則は、最小許容変換ブロックサイズが最小許容コーディングブロックサイズ以上であることを規定する。方法2500のいくつかの実施形態において、最小許容コーディングブロックサイズが64に等しいことに応答して、ビットストリームに含まれるsps_max_luma_transformation_size_64_flagの値は、1に等しい。方法2500のいくつかの実施形態において、最小許容コーディングブロックサイズが64に等しいことに応答して、sps_max_luma_transformation_size_64_flagの値は、ビットストリームに含まれず、1であると推論される。
図26は、映像処理の方法2600の一例を示すフローチャートである。動作2602は、映像の映像領域と映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、変換の間に使用される最小許容コーディングブロックサイズが、TS(Transform-Skip)方式またはBDPCM(Block-based Delta Pulse Code Modulation)方式を使用してコーディングまたはデコーディングするための映像領域の最大サイズの指示がビットストリームに含まれるかどうか、および/またはどのように指示が含まれるかを制御することを規定するフォーマット規則に準拠する。
方法2600のいくつかの実施形態において、フォーマット規則は、映像領域の最大サイズが最小許容コーディングブロックサイズ以上であることを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、映像領域の最大サイズがW以下であることを規定し、Wは整数である。方法2600のいくつかの実施形態において、Wは32である。方法2600のいくつかの実施形態において、フォーマット規則は、映像領域の最大サイズが最小許容コーディングブロックサイズ以上であることを規定し、フォーマット規則は、映像領域の最大サイズがW以下であることを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、TS方式および/またはBDPCM方式が有効化されている場合、最小許容コーディングブロックサイズがX以下であることを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、TS方式および/またはBDPCM方式が有効化されている場合、映像領域の最大サイズが最小許容コーディングブロックサイズ以上であることを規定する。
方法2600のいくつかの実施形態において、フォーマット規則は、TS方式が有効化されている場合、最大サイズのlog2が最小輝度コーディングブロックサイズのlog2以上であることを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、映像領域の最大サイズが、最大サイズか、最小許容コーディングブロックサイズのいずれかの最大値であることを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、映像領域の最大サイズが第1の値および第2の値の最小値であり、第1の値は整数Wであり、第2の値は最大サイズまたは最小許容コーディングブロックサイズのいずれか一方の最大値であることを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、TS方式および/またはBDPCM方式が有効化されている場合、映像領域の最大サイズが、最大サイズ、または、最小許容コーディングブロックサイズのいずれかの最大値であることを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、TS方式および/またはBDPCM方式が有効化されている場合、映像領域の最大サイズが第1の値および第2の値の最小であり、第1の値は整数Wであり、第2の値は最大サイズまたは最小許容コーディングブロックサイズのいずれかの最大値であることを規定する。
方法2600のいくつかの実施形態において、フォーマット規則は、最小許容コーディングブロックサイズに基づいて、映像領域の最大サイズをビットストリームに含めることを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、ビットストリームにおける映像領域の最大サイズのlog2と最小許容コーディングブロックサイズのlog2との差を含めることによって、映像領域の最大サイズを示すことを規定する。方法2600のいくつかの実施形態において、フォーマット規則は、以下を規定する。MaxTsSize=1<<(MinCbLog2SizeY+log2_diff_max_trasform_skip_min_coding_block)であり、<<は左シフト操作を示し、MaxTsSizeは映像領域の最大サイズであり、MinCbLog2SizeYは最小コーディングユニットサイズのlog2であり、log2_diff_max_trasform_skip_min_coding_blockは、ビットストリームにおける映像領域の最大サイズと最小許容コーディングブロックサイズとの差のlog2である。
方法2600のいくつかの実施形態において、フォーマット規則は、以下を規定する。
MaxTsSize=min(W,1<<(MinCbLog2SizeY+log2_diff_max_trasform_skip_min_coding_block))であり、<<は左シフト操作を示し、Wは整数であり、MaxTsSizeは映像領域の最大サイズであり、MinCbLog2SizeYは最小コーディングユニットサイズのlog2であり、log2_diff_max_trasform_skip_min_coding_blockは、ビットストリームにおける映像領域の最大サイズと最小許容コーディングブロックサイズとの差のlog2である。
図27は、映像処理の方法(2700)の一例を示すフローチャートである。動作2702は、フォーマット規則に従って、映像の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、変換の間に使用される最小許容コーディングブロックサイズが、TS(Transform-Skip)方式またはBDPCM(Block-based Delta Pulse Code Modulation)方式が有効化されているか無効化されているかを示す領域がビットストリームに含まれているか、および/またはどのようにこの領域がビットストリームに含まれるかを制御することを規定するフォーマット規則に準拠する。
方法2700のいくつかの実施形態において、フォーマット規則は、最小許容コーディングブロックサイズが64に等しいことに応答して、領域が0であると推論され、ビットストリームに含まれないことを規定する。方法2700のいくつかの実施形態において、フォーマット規則は、最小許容コーディングブロックサイズがTSコーディング方式および/またはBDPCMコーディング方式のための許容される最大サイズよりも大きいことに応答して、領域が0であると推論され、ビットストリームに含まれないことを規定する。
図28は、映像処理の方法2800の一例を示すフローチャートである。動作2802は、フォーマット規則に従って、映像の映像ユニットと映像のビットストリームとの間の変換を実行することを含み、ビットストリームは、変換の間に使用される最小許容コーディングブロックサイズが、変換におけるコーディングツールの適用可能性に関する情報を搬送する領域がビットストリームにおける映像領域レベルにて含まれるかどうか、および/またはどのようにこの領域がビットストリームに含まれるかを制御することを規定するフォーマット規則に準拠する。
方法2800のいくつかの実施形態において、映像領域レベルは、シーケンスパラメータセットまたはピクチャパラメータセット、あるいはピクチャヘッダまたはスライスヘッダに対応する。方法2800のいくつかの実施形態では、フォーマット規則は、最小許容コーディングブロックサイズが整数Tよりも大きいことに応答して、コーディングツールのための領域が使用されないと推論され、ビットストリームに含まれないことを規定する。方法2800のいくつかの実施形態では、フォーマット規則は、コーディングツールのための領域は、最小許容コーディングブロックサイズが整数Tよりも大きいことに応答して、コーディングツールが使用されず、ビットストリームに含まれることを規定する。方法2800のいくつかの実施形態では、コーディングツールはCIIP(Combined Inter-Intra Prediction)ツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、MTS(Multiple Transform Selection)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、SBT(Segment Block Transform)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、SMVD(Symmetric Motion Vector Difference)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、BDOF(Bi-Directional Optical Flow)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、アフィン予測コーディングツールを含む。
方法2800のいくつかの実施形態において、コーディングツールは、PROF(Prediction Refine with Optical Flow)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、DMVR(Decoder-side Motion Vector Refinement)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、BCW(Bi-prediction with CU-level Weights)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、MMVD(Merge with Motion Vector Difference)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、GPM(Geometric Partitioning Mode)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、IBC(Intra Block Copy)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、パレットコーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、ACT(Adaptive Color Transform)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、JCCR(Joint Cb-Cr Residue coding)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、CCLM(Cross-Component Linear Model prediction)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、MRL(Multiple Reference Line)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、MIP(Matrix-based Intra-Prediction)コーディングツールを含む。方法2800のいくつかの実施形態において、コーディングツールは、ISP(Intra Subpartitions Prediction)コーディングツールを含む。
図29は、映像処理の方法(2900)の一例を示すフローチャートである。動作2902は、映像の映像領域と映像のビットストリームとの間の変換のために、映像領域に対してデュアルツリーコーディング方式が有効化されていることに起因して、映像の輝度成分およびクロマ成分に使用される分割方式が異なる最小許容ブロックサイズを有することを判定することを含む。動作2904は、判定に基づいて変換を行うことをも含む。
方法2900のいくつかの実施形態において、分割方式は、2分木分割を含む。方法2900のいくつかの実施形態において、輝度成分のための2分木分割のための第1の最小許容ブロックサイズは、MinBtSizeY=1<<<MinBtLog2SizeYであり、クロマ成分のための2分木分割のための第2の最小許容ブロックサイズは、MinBtSizeC=1<<<MinBtLog2SizeCであり、<<は左シフト操作を示し、MinBtSizeYは第1の最小許容ブロックサイズであり、MinBtLog2SizeYはMinBtSizeYのlog2であり、MinBtSizeCは第1の最小許容ブロックサイズであり、MinBtLog2SizeCはMinBtSizeCのlog2であり、MinBtLog2SizeYはMinBtLog2SizeCに等しくない。方法2900のいくつかの実施形態において、MinBtLog2SizeYは、最小コーディングユニットサイズに基づいて予測されて信号通知される。方法2900のいくつかの実施形態において、MinBtLog2SizeYと最小コーディングユニットサイズのlog2との差が、ビットストリームに含まれる。方法2900のいくつかの実施形態において、MinBtLog2SizeCは、最小コーディングユニットサイズに基づいて予測されて信号通知される。
方法2900のいくつかの実施形態において、MinBtLog2SizeCと最小コーディングユニットサイズのlog2との差が、ビットストリームに含まれる。方法2900のいくつかの実施形態において、分割方式は、3分木分割を含む。方法2900のいくつかの実施形態において、最小許容コーディングブロックサイズMinCbSizeYは、1<<MinCbLog2SizeYに等しく、<<は左シフト操作を示し、MinCbLog2SizeYは最小コーディングユニットサイズのlog2である。方法2900のいくつかの実施形態において、輝度成分のための3分木分割のための第1の最小許容ブロックサイズは、MinTtSizeY=1<<<MinTtLog2SizeYであり、クロマ成分のための3分木分割のための第2の最小許容ブロックサイズは、MinTtSizeC=1<<<MinTtLog2SizeCであり、<<は左シフト操作を示し、MinTtSizeYは第1の最小許容ブロックサイズであり、MinTtLog2SizeYはMinTtSizeYのlog2であり、MinTtSizeCは第1の最小許容ブロックサイズであり、MinTtLog2SizeCはMinTtSizeCのlog2であり、MinTtLog2SizeYはMinTtLog2SizeCに等しくない。方法2900のいくつかの実施形態において、MinTtLog2SizeYは、最小コーディングユニットサイズに基づいて予測されて信号通知される。方法2900のいくつかの実施形態において、MinTtLog2SizeYと最小コーディングユニットサイズのlog2との差が、ビットストリームに含まれる。方法2900のいくつかの実施形態において、MinTtLog2SizeCは、最小コーディングユニットサイズに基づいて予測されて信号通知される。方法2900のいくつかの実施形態において、MinTtLog2SizeCと最小コーディングユニットサイズのlog2との差が、ビットストリームに含まれる。
図30は、映像処理の方法(3000)の一例を示すフローチャートである。動作3002は、規則に基づいて、映像の映像領域と映像のビットストリームとの間の変換のために、映像領域に対して許可されるサブブロックベースのマージ候補の最大数を判定することを含む。動作3004は、判定に基づいて変換を実行することを含み、この規則はこの変換の間に使用されるサブブロックベースのマージ候補の最大数が第1変数と第2変数の和として導出可能であることを規定し、第1変数はアフィン予測が無効化されていることに対応する0に等しく、また第2変数はsbTMVP(sub-block based Temporal Motion Vector Prediction)が有効化されているかどうかに基づいている。
方法3000のいくつかの実施形態において、第1の変数は、許可されたアフィンマージ候補の数を表す。方法3000のいくつかの実施形態において、第2変数は、(sps_sbtmvp_enabled_flag && ph_temporal_mvp_enable_flag)に設定される。方法3000のいくつかの実施形態において、第1の変数はK-Sとして導出され、Sは構文要素によって信号通知される値であり、Kは固定数である。方法3000のいくつかの実施形態において、サブブロックベースのマージ候補の最大数はMaxNumSubblockMergeCandであり、第1変数は5_minus_max_num_affine_merge_candであり、MaxNumSubblockMergeCand=5-five_minus_max_num_affine_merge_cand+(sps_sbtmvp_enabled_flag && ph_temporal_mvp_enable_flag)である。方法3000のいくつかの実施形態において、サブブロックベースのマージ候補の最大数はMaxNumSubblockMergeCandであり、第1変数は4_minus_max_num_affine_merge_candであり、MaxNumSubblockMergeCand=4-five_minus_max_num_affine_merge_cand+(sps_sbtmvp_enabled_flag && ph_temporal_mvp_enable_flag)である。方法3000のいくつかの実施形態において、サブブロックベースのマージ候補の最大数は、MaxNumSubblockMergeCandであり、MaxNumSubblockMergeCand=Min(W,MaxNumSubblockMergeCand)であり、Wは固定数である。方法3000のいくつかの実施形態において、第1の変数は、ビットストリームにおいて条件付きで信号通知される。方法3000のいくつかの実施形態において、sps_affine_enabled_flagが1に等しいことに応答して、第1の変数がビットストリームにおいて信号通知される。方法3000のいくつかの実施形態において、第1の変数がビットストリームに存在しないことに応答して、five_minus_max_num_affine_merge_candがKであると推論される。
図31は、映像処理の方法(3100)の一例を示すフローチャートである。動作3102は、映像の映像領域と映像領域のビットストリームとの間の変換を、映像が4:2:2映像または4:4:4映像であることに起因する変換に適用できる処理規則を整合させることにより、実行することを含み、処理規則は、クロマおよび輝度を、(a)ALF(Adaptive Loop Filtering)動作の仮想境界とCTB(Coding Tree Block)の底部境界との間の複数の画素線、または、(b)ALF動作の仮想境界とCTBの底部境界との間の行に適用されるフィルタのフィルタ強度、または、(c)同じ行の輝度およびクロマサンプルをパディングするために使用されるパディング方法、のうちの1つまたは複数に対して調整されることを定義する。
方法3100のいくつかの実施形態において、処理規則は、ALF動作のためのクロマ成分と輝度成分との間の仮想境界に対して、垂直位置および/または水平位置を揃えることを規定する。方法3100のいくつかの実施形態において、処理規則は、輝度成分のための仮想境界の垂直位置(vbPosY)が(CtbSizeY-S)に等しいことに応答して、クロマ成分のための仮想境界の垂直位置(vbPosC)が(CtbSizeY-S)/SubHeightC)に等しいことを規定する。方法3100のいくつかの実施形態において、処理規則は、輝度成分のための仮想境界の水平位置(vbPosY)が(CtbSizeY-S)に等しいことに応答して、クロマ成分のための仮想境界の水平位置(vbPosC)が(CtbSizeY-S)/SubWidthCに等しいことを規定する。方法3100のいくつかの実施形態において、CtbSizeYは、各CTU(Coding Tree Unit)の輝度CTBサイズであり、Sは整数であり、SubHeightCおよび/またはSubWidthCは、1または2の値を有する。方法3100のいくつかの実施形態において、処理規則は、仮想境界の垂直位置および/または水平位置付近のクロマ成分のK個のラインおよび/またはH個の列をパディングするために使用されるパディング方法が、輝度成分に使用されるパディング方法と調整されることを規定し、Ycは、垂直または水平のクロマサンプル位置である。方法3100のいくつかの実施形態において、Ycは、クロマ成分の仮想境界の垂直または水平位置に等しい。
方法3100のいくつかの実施形態において、上または左のK個の利用不可能なラインはパディングされるか、または仮想境界の下または右の対応するK個の利用不可能なラインのK個のラインがパディングされるか、または仮想境界の下または右の対応するK個の利用可能なラインのK個のラインがパディングされる。方法3100のいくつかの実施形態において、上のK個の利用不可能なラインは、仮想境界を使用してパディングされる。方法3100のいくつかの実施形態において、第1の行のサンプルは、仮想境界の真上に位置し、第1の行の真上の第2の行のサンプルは、第1の行のサンプルに等しく設定され、第1の行の2行上の第3の行のサンプルは、第1の行のサンプルに等しく設定される。方法3100のいくつかの実施形態において、K個のラインは仮想境界を使用してパディングされる。方法3100のいくつかの実施形態において、第1の行のサンプルは仮想境界の直下に位置し、第1の行の直下に位置する第2の行のサンプルは第1の行のサンプルに等しく設定され、第1の行の2行下に位置する第3の行のサンプルは第1の行のサンプルに等しく設定される。
方法3100のいくつかの実施形態において、下または右のK個の利用不可能なラインはパディングされ、または仮想境界の上または左の対応するK個の利用不可能なラインのK個のラインはパディングされ、または仮想境界の上または左の対応するK個の利用可能なラインのK個のラインがパディングされる。方法3100のいくつかの実施形態において、Ycは、クロマ成分の仮想境界の垂直または水平位置からMを減算したものに等しく、Mは整数である。方法3100のいくつかの実施形態において、下または右のK個の利用不可能なラインがパディングされ、仮想境界の上または左の対応するK個の利用不可能なラインのK個のラインがパディングされ、または仮想境界の上または左の対応するK個の利用可能なラインのK個のラインがパディングされる。方法3100のいくつかの実施形態において、Mが1に等しいことに応答して、下のK個の利用不可能なラインは、仮想境界を使用してパディングされる。方法3100のいくつかの実施形態において、第1の行のサンプルは仮想境界の直下に位置し、第1の行の直下に位置する第2の行のサンプルは第1の行のサンプルに等しく設定され、第1の行の2行下に位置する第3の行のサンプルは第1の行のサンプルに等しく設定される。方法3100のいくつかの実施形態において、Mが1に等しいことに応答して、対応するK個の利用不可能なラインまたは対応するK個の利用可能なラインは、仮想境界を使用してパディングされる。方法3100のいくつかの実施形態において、第1の行のサンプルは、仮想境界の真上に位置し、第1の行の真上の第2の行のサンプルは、第1の行のサンプルに等しく設定され、第1の行の2行上の第3の行のサンプルは、第1の行のサンプルに等しく設定される。
方法3100のいくつかの実施形態において、Mが2以上であることに応答して、下側のK個の利用不可能なラインは、仮想境界の上側の最も下のラインを使用してパディングされる。方法3100のいくつかの実施形態において、第1のサンプル行は、仮想境界の2行上に位置し、仮想境界の直下に位置する第2の行のサンプルは、第1の行からのサンプルに等しい。方法3100のいくつかの実施形態において、Mが2以上であることに応答して、対応するK個の利用不可能なラインまたは対応するK個の利用可能なラインは、仮想境界の上側の最も下のラインの対応するラインを使用してパディングされる。方法3100のいくつかの実施形態において、第1の行のサンプルは、仮想境界の2行上に位置し、第1の行の2行上に位置する第2の行のサンプルは、第1の行からのサンプルに等しい。方法3100のいくつかの実施形態において、Ycは、クロマ成分の仮想境界の垂直または水平位置にNを加えたものに等しく、Nは整数である。方法3100のいくつかの実施形態において、上または左のK個の利用不可能なラインがパディングされ、仮想境界の下または右の対応するK個の利用不可能なラインのK個のラインがパディングされるか、または仮想境界の下または右の対応するK個の利用可能なラインのK個のラインがパディングされる。方法3100のいくつかの実施形態において、上のK個の利用不可能なラインは、仮想境界を使用してパディングされる。
方法3100のいくつかの実施形態において、第1の行のサンプルは、仮想境界の2行下に位置し、仮想境界の直上に位置する第2の行のサンプルは、第1の行からのサンプルに等しい。方法3100のいくつかの実施形態において、対応するK個の利用不可能なラインまたは対応するK個の利用可能なラインは、仮想境界を使用してパディングされる。方法3100のいくつかの実施形態において、第1の行のサンプルは、仮想境界の2行下に位置し、第1の行の2行下に位置する第2の行のサンプルは、第1の行からのサンプルに等しい。方法3100のいくつかの実施形態では、処理規則は、仮想境界の垂直位置または水平位置の近くのクロマ成分のM行またはN列の第1のフィルタ強度が、輝度成分に対して使用される第2のフィルタ強度と調整することを規定し、輝度成分に対する第2のフィルタ強度およびクロマ成分の第1のフィルタ強度はそれぞれalfShiftYおよびalfShiftCによって制御され、Ycは垂直または水平のクロマサンプルの位置である。方法3100のいくつかの実施形態において、Yc==vbPosC-M、alfShiftC=T1の場合、およびYc!=vbPosC-Mの場合、alfShiftC=T2となり、vbPosCは、クロマ成分の仮想境界の水平位置である。方法3100のいくつかの実施形態において、T1=10、およびT2=7である。方法3100のいくつかの実施形態において、Yc==vbPosC+M(例えば、M=0,1)である場合、alfShiftC=T1であり、Yc!=vbPosC+M,alfShiftC=T2である場合、vbPosCはクロマ成分の仮想境界の水平位置である。方法3100のいくつかの実施形態において、T1=10、およびT2=7である。
方法2300から3100のいくつかの実施形態において、変換を実行することは、映像をビットストリームに符号化することを含む。方法2300から3100のいくつかの実施形態において、変換を実行することは、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む。方法2300から3100のいくつかの実施形態において、変換を実行することは、ビットストリームから映像を復号化することを含む。いくつかの実施形態において、映像復号化装置は、方法2300から3100および関連する実施形態の演算を実装するプロセッサを含む。いくつかの実施形態において、映像符号化装置は、方法2300から3100および関連する実施形態の演算を実装するプロセッサを含む。いくつかの実施形態において、コンピュータ命令が記憶されたコンピュータプログラム製品は、プロセッサにより実行される場合、プロセッサに方法2300から3100および関連する実施形態の動作を実装させる。いくつかの実施形態において、映像処理装置で実行される方法で生成された映像のビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、方法は、映像の映像領域からビットストリームを生成することを含み、ビットストリームは、フォーマット規則に準拠し、フォーマット規則は、ツールの変換への適用可能性に関する情報がビットストリームにおいて映像スライスレベルおよび/または映像ピクチャレベルで示されることを規定し、ツールは、輝度サンプルを特定の値にマッピングし、且つクロマサンプルの値に対してスケーリング動作を選択的に適用する。いくつかの実施形態において、プロセッサに方法2300から3100および関連する実施形態の動作を実行させる命令を記憶する非一時的なコンピュータ可読記憶媒体が提供される。いくつかの実施形態において、ビットストリーム生成方法は、方法2300から3100および関連する実施形態の動作に従って映像のビットストリームを生成することと、ビットストリームをコンピュータ読み取り可能なプログラム媒体に記憶することとを含む。いくつかの実施形態において、本願明細書に開示される方法またはシステムに従って、方法、装置、生成されたビットストリームを提供する。
本明細書では、「映像処理」という用語は、映像符号化、映像復号化、映像圧縮、または映像展開を指してよい。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換およびコーディングされた誤り残差値の観点から、且つビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用して符号化されてもよい。さらに、変換中、デコーダは、上記解決策で説明されているように、判定に基づいて、いくつかのフィールドが存在しても存在しなくてもよいという知識を持って、ビットストリームを構文解析してもよい。同様に、エンコーダは、特定の構文フィールドが含まれるべきであるか、または含まれざるべきであるかを判定し、構文フィールドをコーディングされた表現に含めるか、またはコーディングされた表現から除外することによって、それに応じてコーディングされた表現を生成してもよい。
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1または複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。コンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開することも可能である。
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1または複数のコンピュータプログラムを実行する1または複数のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1または複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1または複数のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1または複数の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
いくつかの実装形態および例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。

Claims (13)

  1. 映像データの処理の方法であって、
    映像ユニットを有する映像と、前記映像のビットストリームとの間の変換を実行すること
    を有し、
    前記ビットストリームは、フォーマット規則に準拠し、
    前記フォーマット規則は、インループフィルタリング動作がスライス境界を越えて実行されることが許可されているか否かを示す構文要素が、前記映像ユニットが1よりも多いスライス、または、1つのスライスのみに分割されるか否かに基づいて、前記ビットストリームに選択的に含まれることを規定し、
    前記映像ユニットがサブピクチャである場合、前記フォーマット規則は更に、前記サブピクチャが1つのスライスのみに分割される場合に、前記構文要素が前記ビットストリームに含まれることを規定する、方法。
  2. 前記構文要素は、ピクチャパラメータセットに存在する、請求項1に記載の方法。
  3. 前記フォーマット規則は更に、第1のフラグが、前記サブピクチャが1つ、かつ、1つの矩形スライスのみから構成されることを規定する1に等しい場合、前記構文要素が前記ビットストリームに含まれることを規定する、請求項1に記載の方法。
  4. 前記第1のフラグは、single_slice_per_subpic_flagであり、
    前記第1のフラグは、ピクチャパラメータセットに存在する、請求項3に記載の方法。
  5. 前記映像ユニットは、ピクチャである場合、前記フォーマット規則は更に、前記ピクチャが非矩形形状に分割される場合に、前記構文要素が前記ビットストリームに含まれることを規定する、請求項1から4のいずれか一項に記載の方法。
  6. 前記フォーマット規則は更に、第2のフラグが、ラスタスキャンスライスモードが前記ピクチャに対して使用されることを規定する0に等しい場合、前記構文要素が前記ビットストリームに含まれることを規定する、請求項5に記載の方法。
  7. 前記ラスタスキャンスライスモードは、非矩形スライスモードであり、
    前記第2のフラグは、rect_slice_flagであり、
    前記第2のフラグは、ピクチャパラメータセットに存在する、請求項6に記載の方法。
  8. 前記フォーマット規則は更に、前記変換へのツールの適用可能性に関する情報が、映像スライスレベルおよび映像ピクチャレベルの両方にて、前記ビットストリームにて示されること許可されていることを規定し、
    前記ツールは、輝度サンプルを特定の値にマッピングし、スケーリング動作をクロマサンプルの値に選択的に適応するように構成される、
    請求項1から7のいずれか一項に記載の方法。
  9. 前記変換を実行することは、前記映像を前記ビットストリームに符号化することを含む、請求項1から8のいずれか一項に記載の方法。
  10. 前記変換を実行することは、前記映像を前記ビットストリームから復号化することを含む、請求項1から8のいずれか一項に記載の方法。
  11. プロセッサと、命令を有する非一時的メモリを有する、映像データを処理するための装置であって、
    前記プロセッサによって前記命令が実行された際に、前記プロセッサに、
    映像ユニットを有する映像と、前記映像のビットストリームとの間の変換を実行すること
    を実行させ、
    前記ビットストリームは、フォーマット規則に準拠し、
    前記フォーマット規則は、インループフィルタリング動作がスライス境界を越えて実行されることが許可されているか否かを示す構文要素が、前記映像ユニットが1よりも多いスライス、または、1つのスライスのみに分割されるか否かに基づいて、前記ビットストリームに選択的に含まれることを規定し、
    前記映像ユニットがサブピクチャである場合、前記フォーマット規則は更に、前記サブピクチャが1つのスライスのみに分割される場合に、前記構文要素が前記ビットストリームに含まれることを規定する、装置。
  12. プロセッサに、
    映像ユニットを有する映像と、前記映像のビットストリームとの間の変換を実行すること
    を実行させ、
    前記ビットストリームは、フォーマット規則に準拠し、
    前記フォーマット規則は、インループフィルタリング動作がスライス境界を越えて実行されることが許可されているか否かを示す構文要素が、前記映像ユニットが1よりも多いスライス、または、1つのスライスのみに分割されるか否かに基づいて、前記ビットストリームに選択的に含まれることを規定し、
    前記映像ユニットがサブピクチャである場合、前記フォーマット規則は更に、前記サブピクチャが1つのスライスのみに分割される場合に、前記構文要素が前記ビットストリームに含まれることを規定する、命令を格納する非一時的コンピュータ可読記憶媒体。
  13. 映像のビットストリームを格納するための方法であって、
    映像ユニットを有する映像に対するビットストリームを生成することと、
    前記ビットストリームを、非一時的コンピュータ可読記録媒体に格納することと、
    を有し、
    前記ビットストリームは、フォーマット規則に準拠し、
    前記フォーマット規則は、インループフィルタリング動作がスライス境界を越えて実行されることが許可されているか否かを示す構文要素が、前記映像ユニットが1よりも多いスライス、または、1つのスライスのみに分割されるか否かに基づいて、前記ビットストリームに選択的に含まれることを規定し、
    前記映像ユニットがサブピクチャである場合、前記フォーマット規則は更に、前記サブピクチャが1つのスライスのみに分割される場合に、前記構文要素が前記ビットストリームに含まれることを規定する、方法。
JP2022548759A 2020-02-14 2021-02-09 インループフィルタリングと映像スライスとの間の相互作用 Active JP7469488B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2020/075216 2020-02-14
CN2020075216 2020-02-14
PCT/CN2021/076255 WO2021160126A1 (en) 2020-02-14 2021-02-09 Interplay between in-loop filtering and video slices

Publications (2)

Publication Number Publication Date
JP2023513710A JP2023513710A (ja) 2023-04-03
JP7469488B2 true JP7469488B2 (ja) 2024-04-16

Family

ID=77292662

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022548759A Active JP7469488B2 (ja) 2020-02-14 2021-02-09 インループフィルタリングと映像スライスとの間の相互作用
JP2022548757A Active JP7401689B2 (ja) 2020-02-14 2021-02-09 インループフィルタリングと映像タイルとの間の相互作用

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022548757A Active JP7401689B2 (ja) 2020-02-14 2021-02-09 インループフィルタリングと映像タイルとの間の相互作用

Country Status (7)

Country Link
US (3) US12114016B2 (ja)
EP (2) EP4091329A4 (ja)
JP (2) JP7469488B2 (ja)
KR (2) KR20220130149A (ja)
CN (3) CN115211126A (ja)
BR (1) BR112022016130A2 (ja)
WO (3) WO2021160128A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AR121127A1 (es) * 2020-02-29 2022-04-20 Beijing Bytedance Network Tech Co Ltd Señalización de información de imagen de referencia en un flujo de bits de video
WO2021197433A1 (en) * 2020-04-01 2021-10-07 Mediatek Inc. Method and apparatus for signaling slice partition information in image and video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021162494A1 (ko) 2020-02-14 2021-08-19 엘지전자 주식회사 필터 가용 정보를 선택적으로 시그널링 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101232780B1 (ko) * 2006-01-12 2013-09-03 (주)휴맥스 통합 코덱 장치 및 방법
WO2008123709A1 (en) * 2007-04-04 2008-10-16 Humax Co., Ltd. Bitstream decoding device and method having decoding solution
US9807426B2 (en) * 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
US20130107973A1 (en) * 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US9648317B2 (en) * 2012-01-30 2017-05-09 Qualcomm Incorporated Method of coding video and storing video content
WO2013144144A1 (en) * 2012-03-30 2013-10-03 Panasonic Corporation Syntax and semantics for adaptive loop filter and sample adaptive offset
US9706200B2 (en) * 2012-06-18 2017-07-11 Qualcomm Incorporated Unification of signaling lossless coding mode and pulse code modulation (PCM) mode in video coding
US9749627B2 (en) * 2013-04-08 2017-08-29 Microsoft Technology Licensing, Llc Control data for motion-constrained tile set
US9936207B2 (en) 2013-10-14 2018-04-03 Qualcomm Incorporated Indication of parallel processing in video coding
US20160165238A1 (en) * 2014-12-09 2016-06-09 Vixs Systems Inc. Neighbor tile buffering for deblock filtering across tile boundaries
US20180054613A1 (en) * 2016-08-22 2018-02-22 Mediatek Inc. Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus
WO2019103126A1 (en) * 2017-11-22 2019-05-31 Sharp Kabushiki Kaisha Systems and methods for signaling tile structures for pictures of coded video
US10841602B2 (en) * 2018-07-16 2020-11-17 Tencent America LLC Hierarchical tiles
US11284114B2 (en) * 2019-04-23 2022-03-22 Qualcomm Incorporated Adaptive loop filter set index signaling
US11363307B2 (en) * 2019-08-08 2022-06-14 Hfi Innovation Inc. Video coding with subpictures
GB2590632B (en) * 2019-12-20 2023-07-26 Canon Kk Video coding and decoding
AR121127A1 (es) * 2020-02-29 2022-04-20 Beijing Bytedance Network Tech Co Ltd Señalización de información de imagen de referencia en un flujo de bits de video
WO2021197445A1 (en) * 2020-04-01 2021-10-07 Beijing Bytedance Network Technology Co., Ltd. Constraints on adaptation parameter set syntax elements
US11503342B2 (en) * 2020-06-10 2022-11-15 Sharp Kabushiki Kaisha Systems and methods for signaling sequence parameter information in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021162494A1 (ko) 2020-02-14 2021-08-19 엘지전자 주식회사 필터 가용 정보를 선택적으로 시그널링 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, Jianle Chen, Shan Liu, and Ye-Kui Wang,Versatile Video Coding (Draft 8),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q2001 (version 13),17th Meeting: Brussels, BE,2020年02月09日,pp.43-49,58-60,110-125,140-147
Hyeongmun Jang, et al.,AHG17/Non-CE5: on loop filter processing for subpicture treated as a picture,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0246,16th Meeting: Geneva, CH,2019年10月,pp.1-7
Kiyofumi Abe, Tadamasa Toma, and Virginie Drugeon,AHG12: Loop filter control flag for tile boundary,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0252-v1,16th Meeting: Geneva, CH,2019年09月,pp.1-3
Li Zhang, Ye-Kui Wang, and Kai Zhang,AHG12: Control of loop filtering across subpicture/tile/slice boundaries,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q0120-v1,17th Meeting: Brussels, BE,2019年12月,pp.1-11
Naeri Park, et al.,AHG12: On signalling of loop filter across tiles and slices enabled flags,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0197,18th Meeting: by teleconference,2020年04月,pp.1-3

Also Published As

Publication number Publication date
JP2023513710A (ja) 2023-04-03
CN115362682A (zh) 2022-11-18
EP4091329A4 (en) 2023-04-12
US20240073457A1 (en) 2024-02-29
CN115211126A (zh) 2022-10-18
US20220394250A1 (en) 2022-12-08
JP7401689B2 (ja) 2023-12-19
WO2021160125A1 (en) 2021-08-19
BR112022016130A2 (pt) 2022-10-04
US11825123B2 (en) 2023-11-21
KR20220138052A (ko) 2022-10-12
EP4091329A1 (en) 2022-11-23
KR20220130149A (ko) 2022-09-26
EP4091321A1 (en) 2022-11-23
US20220394306A1 (en) 2022-12-08
JP2023513708A (ja) 2023-04-03
WO2021160126A1 (en) 2021-08-19
EP4091321A4 (en) 2023-04-12
WO2021160128A1 (en) 2021-08-19
US12114016B2 (en) 2024-10-08
CN115211108A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
JP7485761B2 (ja) クロスコンポーネント適応ループフィルタの信号通知
US20220174322A1 (en) Subpicture size definition in video processing
JP7482220B2 (ja) サブピクチャのパラメータセットシグナリングにおける構文制約
US20220272335A1 (en) Cross-component adaptive loop filter
KR102609308B1 (ko) 비디오 비트스트림에서의 서브픽처 시그널링을 위한 신택스
US20240048735A1 (en) Cross-component adaptive loop filter
US11683488B2 (en) Adaptive loop filtering between different video units
US12114016B2 (en) Interplay between in-loop filtering and video slices
US11863715B2 (en) Joint use of adaptive colour transform and differential coding of video
JP7495509B2 (ja) 映像コーディングにおけるスライス及びタイル分割
CN117544777A (zh) 用于视频编解码的跨分量自适应环路滤波
US20240179310A1 (en) Fusion Mode For Adaptive Loop Filter In Video Coding
JP7522237B2 (ja) 適応ループフィルタリングのための境界位置
JP7460784B2 (ja) スライスおよびタイルを含むピクチャのコーディング
US20230396796A1 (en) On boundary padding size in image/video coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240207

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240404

R150 Certificate of patent or registration of utility model

Ref document number: 7469488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150