JP2023105163A - クロマ成分の映像デコード方法及びその装置 - Google Patents

クロマ成分の映像デコード方法及びその装置 Download PDF

Info

Publication number
JP2023105163A
JP2023105163A JP2023093973A JP2023093973A JP2023105163A JP 2023105163 A JP2023105163 A JP 2023105163A JP 2023093973 A JP2023093973 A JP 2023093973A JP 2023093973 A JP2023093973 A JP 2023093973A JP 2023105163 A JP2023105163 A JP 2023105163A
Authority
JP
Japan
Prior art keywords
chroma
qpi
flag
mapping table
quantization parameter
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.)
Granted
Application number
JP2023093973A
Other languages
English (en)
Other versions
JP7476399B2 (ja
Inventor
シタル パルリ
Paluri Seethal
スンファン キム
Sunfan Kim
チエ チャオ
Jie Zhao
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.)
LG Electronics Inc
Original Assignee
LG Electronics 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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2023105163A publication Critical patent/JP2023105163A/ja
Application granted granted Critical
Publication of JP7476399B2 publication Critical patent/JP7476399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/18Methods 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 set of transform coefficients
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

【課題】クロマ成分に対する量子化パラメータ導出に対するデータコーディングの効率を高める方法及び装置を提供する。【解決手段】デコード装置により行われる映像デコード方法は、クロマ成分に対する少なくとも1つのクロマQPマッピングテーブルのクロマ量子化パラメータデータ、クロマ成分に対する予測情報及びレジデュアル情報を含む映像情報を取得するステップと、クロマ量子化パラメータデータに基づいてクロマQPマッピングテーブルを導出するステップと、クロマQPマッピングテーブルに基づいてクロマ成分に対するクロマ量子化パラメータを導出するステップと、予測情報に基づいてクロマ成分に対する予測サンプルを導出するステップと、レジデュアル情報及びクロマ量子化パラメータに基づいてレジデュアルサンプルを導出するステップと、予測サンプル及びレジデュアルサンプルに基づいて復元ピクチャを生成するステップとを含む。【選択図】図9

Description

本文書は、映像コーディング技術に関し、より詳しくは、映像コーディングシステムにおいてシグナリングされたクロマ量子化パラメータデータに基づいて導出されたクロマQPマッピングテーブルを使用するコーディングする映像デコード方法及びその装置に関する。
最近、HD(High Definition)画像及びUHD(Ultra High Definition)画像のような高解像度、高品質の画像に対する需要が様々な分野で増加している。画像データが高解像度、高品質になるほど、既存の画像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して画像データを送信し、または既存の格納媒体を利用して画像データを格納する場合、送信費用と格納費用が増加される。
それによって、高解像度、高品質画像の情報を効果的に送信または格納し、再生するために、高効率の画像圧縮技術が要求される。
本文書の技術的課題は、画像コーディング効率を上げる方法及び装置を提供することにある。
本文書の他の技術的課題は、クロマ成分に対する量子化パラメータ導出に対するデータコーディングの効率を高める方法及び装置を提供することにある。
本文書の一実施形態によれば、デコード装置により行われる映像デコード方法が提供される。前記方法は、クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータ、前記クロマ成分に対する予測情報及びレジデュアル情報を含む映像情報を取得するステップと、前記クロマ量子化パラメータデータに基づいて前記クロマQPマッピングテーブルを導出するステップと、前記クロマQPマッピングテーブルに基づいて前記クロマ成分に対するクロマ量子化パラメータを導出するステップと、前記予測情報に基づいて前記クロマ成分に対する予測サンプルを導出するステップと、前記レジデュアル情報に基づいて前記クロマ成分に対する変換係数を導出するステップと、前記クロマ量子化パラメータに基づいて前記変換係数を逆量子化してレジデュアルサンプルを導出するステップと、前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャを生成するステップとを含み、前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input ocoordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び前記クロマQPマッピングテーブルの前記対象ポイントの出力座標(output ocoordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含むことを特徴とする。
本文書の他の一実施形態によれば、映像デコードを行うデコード装置が提供される。前記デコード装置は、クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータ、前記クロマ成分に対する予測情報及びレジデュアル情報を含む映像情報を取得するエントロピーデコード部と、前記予測情報に基づいて前記クロマ成分に対する予測サンプルを導出する予測部と、前記クロマ量子化パラメータデータに基づいて前記クロマQPマッピングテーブルを導出し、前記クロマQPマッピングテーブルに基づいて前記クロマ成分に対するクロマ量子化パラメータを導出し、前記レジデュアル情報に基づいて前記クロマ成分に対する変換係数を導出し、前記クロマ量子化パラメータに基づいて前記変換係数を逆量子化してレジデュアルサンプルを導出するレジデュアル処理部と、前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャを生成する加算部とを含み、前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input ocoordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び前記クロマQPマッピングテーブルの対象ポイントの出力座標(output ocoordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含むことを特徴とする。
本文書のまた他の一実施形態によれば、エンコード装置により行われるビデオエンコード方法を提供する。前記方法は、インター予測又はイントラ予測に基づいてクロマ成分に対する予測サンプルを導出するステップと、前記予測サンプルに基づいて前記クロマ成分に対するレジデュアルサンプルを導出するステップと、前記クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを生成するステップと、前記クロマ成分に関する予測情報、前記クロマ成分に関するレジデュアル情報及び前記クロマ量子化パラメータをエンコードするステップとを含み、前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input ocoordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び前記クロマQPマッピングテーブルの対象ポイントの出力座標(output ocoordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含むことを特徴とする。
本文書のまた他の実施形態によれば、ビデオエンコード装置を提供する。前記エンコード装置は、インター予測又はイントラ予測に基づいてクロマ成分に対する予測サンプルを導出する予測部と、前記予測サンプルに基づいて前記クロマ成分に対するレジデュアルサンプルを導出し、前記クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを生成するレジデュアル処理部と、前記クロマ成分に関する予測情報、前記クロマ成分に関するレジデュアル情報及び前記クロマ量子化パラメータデータをエンコードするエントロピーエンコード部とを含み、前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input ocoordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び前記クロマQPマッピングテーブルの対象ポイントの出力座標(output ocoordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含むことを特徴とする。
本文書によれば、クロマ成分に対するクロマ量子化パラメータ導出のためにデフォルトクロマQPマッピングテーブルを使用せずに、シグナリングされるクロマ量子化パラメータデータに基づいて導出されたクロマQPマッピングテーブルを使用してクロマ成分に対するクロマ量子化パラメータを導出することができ、これにより、映像の特性に応じた量子化パラメータに基づいてコーディングを行ってコーディング効率を向上させることができる。
本文書によれば、クロマQPマッピングテーブルのポイントの入力座標の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記クロマQPマッピングテーブルの前記ポイントの出力座標の導出に使用されるデルタ値を示すシンタックスエレメントに基づいてクロマQPマッピングテーブルを導出することができ、映像の特性をより具体的に反映したクロマQPマッピングテーブルに基づいてコーディングを行ってコーディング効率を向上させることができる。
本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
インター予測基盤のビデオ/画像エンコード方法の例を示す。
インター予測基盤のビデオ/画像デコード方法の例を示す。
インター予測手順を例示的に示す。
本文書に係るエンコード装置による画像エンコード方法を概略的に示す。
本文書に係る画像エンコード方法を行うエンコード装置を概略的に示す。
本文書に係るデコード装置による画像デコード方法を概略的に示す。
本文書に係る画像デコード方法を行うデコード装置を概略的に示す。
本文書の実施形態が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
本文書は、様々な変更を加えることができ、種々の実施形態を有することができ、特定実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本文書を特定実施形態に限定しようとするものではない。本明細書において常用する用語は、単に特定の実施形態を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすことができ、1つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施形態も本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
以下、添付した図面を参照して、本文書の好ましい実施形態をより詳細に説明する。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素に対して重なった説明は省略されることができる。
図1は、本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を含むことができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を備えることができる。前記受信デバイスは、受信部、デコード装置、及びレンダラーを備えることができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラーは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
ビデオソースは、ビデオ/画像のキャプチャ、合成、または生成過程などを介してビデオ/画像を取得することができる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/又はビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを備えることができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを備えることができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、関連データが生成される過程にてビデオ/画像キャプチャ過程が代替されることができる。
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介しての送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達することができる。
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/画像をデコードすることができる。
レンダラーは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
この文書は、ビデオ/画像コーディングに関する。例えば、この文書において開示された方法/実施形態は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)、または次世代ビデオ/画像コーディング標準(例えば、H.267またはH.268等)に開示される方法に適用されることができる。
この文書では、ビデオ/画像コーディングに関する様々な実施形態を提示し、他の言及がない限り、前記実施形態は、互いに組み合わせられて実行されることもできる。
この文書においてビデオ(video)は、時間の流れによる一連の画像(image)の集合を意味し得る。ピクチャ(picture)は、一般に特定の時間帯の1つの画像を示す単位を意味し、サブピクチャ(subpicture)/スライス(slice)/タイル(tile)はコーディングにおいてピクチャの一部を構成する単位である。サブピクチャ/スライス/タイルは、1つ以上のCTU(coding tree unit)を含んでもよい。1つのピクチャは1つ以上のサブピクチャ/スライス/タイルで構成されてもよい。1つのピクチャは1つ以上のタイルのグループで構成されてもよい。1つのタイルグループは1つ以上のタイルを含んでもよい。ブリックはピクチャ内のタイル内のCTU行の長方形領域を示す(a brick may represent a rectangular region of CTU rows within a tile in a picture)。タイルは複数のブリックでパーティショニングされ、各ブリックは前記タイル内の1つ以上のCTU行で構成される(A tile may be partitioned into multiple bricks, each of which consisting of one or more CTU rows within the tile)。複数のブリックによりパーティショニングされていないタイルもブリックと呼ばれてもよい(A tile that is not partitioned into multiple bricks may be also referred to as a brick)。ブリックスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し、前記CTUはブリック内においてCTUラスタスキャンで整列され、タイル内のブリックは前記タイルの前記ブリックのラスタスキャンで連続的に整列され、そして、ピクチャ内のタイルは前記ピクチャの前記タイルのラスタスキャンで連続整列される(A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。また、サブピクチャはサブピクチャ内の1つ以上のスライスの長方形領域を示す(a subpicture may represent a rectangular region of one or more slices within a picture)。すなわち、サブピクチャはピクチャの長方形領域を総括的にカバーする1つ以上のスライスを含む(a subpicture contains one or more slices that collectively cover a rectangular region of a picture)。タイルは特定タイル列及び特定タイル列以内のCTUの長方形領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列はCTUの長方形領域であり、前記長方形領域は前記ピクチャの高さと同じ高さを有し、幅はピクチャパラメータセット内のシンタックス要素により明示される(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行はCTUの長方形領域であり、前記長方形領域はピクチャパラメータセット内のシンタックスエレメントにより明示される幅を有し、高さは前記ピクチャの高さと同一であり得る(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture )。タイルスキャンはピクチャをパーティショニングするCTUの特定の順次オーダリングを示し、前記CTUはタイル内のCTUラスタスキャンで連続整列され、ピクチャ内のタイルは前記ピクチャの前記タイルのラスタスキャンで連続整列される(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスはピクチャの整数個のブリックを含み、前記整数個のブリックは1つのNALユニットに含まれる(A slice includes an integer number of bricks of a picture that maybe exclusively contained in a single NAL unit)。スライスは複数の完全なタイルで構成され、または、1つのタイルの完全なブリックの連続的なシーケンスであり得る(A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile)。この文書では、タイルグループとスライスは混用されてもよい。例えば、本文書ではtile group/tile group headerはslice/slice headerと呼ばれてもよい。
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用されることができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを示すこともでき、クロマ(chroma)成分のピクセル/ピクセル値のみを示すこともできる。
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち、少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
本明細書において「A又はB(A or B)」は「Aのみ」、「Bのみ」又は「AとBの両方」を意味し得る。言い換えると、本明細書において、「A又はB(A or B)」は「A及び/又はB(A and/or B)」と解され得る。例えば,本明細書において「A、B又はC(A,B or C)」は,「Aのみ」、「Bのみ」、「Cのみ」又は「A、B及びCの任意の全ての組み合わせ(any combination of A,B and C)」を意味し得る。
本明細書において使用されるスラッシュ(/)やコンマ(comma)は、「及び/又は(and/or)」を意味し得る。例えば、「A/B」は「A及び/又はB」を意味し得る。これにより、「A/B」は「Aのみ」、「Bのみ」、又は「AとBの両方」を意味し得る。例えば、「A、B、C」は「A、B又はC」を意味し得る。
本明細書において「少なくとも1つのA及びB(at least one of A and B)」は、「Aのみ」、「Bのみ」又は「AとBの両方」を意味し得る。また、本明細書において「少なくとも1つのA又はB(at least one of A or B)」や「少なくとも1つのA及び/又はB(at least one of A and/or B)」という表現は、「少なくとも1つのA及びB(at least one of A and B)」と同様に解釈され得る。
また、本明細書において「少なくとも1つのA、B及びC(at least one of A, B and C)」は、「Aのみ」、「Bのみ」、「Cのみ」又は「A、B及びCの任意の全ての組み合わせ(any combination of A, B and C)」を意味し得る。また、「少なくとも1つのA、B又はC(at least one of A, B or C)」や「少なくとも1つのA、B及び/又はC(at least one of A, B and/or C)」は「少なくとも1つのA、B及びC(at least one of A, B and C)」を意味し得る。
また、本明細書において用いられる括弧は「例えば(for example)」を意味し得る。具体的には、「予測(イントラ予測)」と表示されている場合、「予測」の一例として「イントラ予測」が提案されているものであり得る。言い換えると、本明細書の「予測」は「イントラ予測」に制限(limit)されず、「イントラ予測」が「予測」の一例として提案されるものであり得る。また、「予測(すなわち、イントラ予測)」と表示されている場合にも、「予測」の一例として、「イントラ予測」が提案されているものであり得る。
本明細書において1つの図面内で個別に説明される技術的特徴は、個別に実現されてもよく、同時に実現されてもよい。
以下の図面は,本明細書の具体的な一例を説明するために作成された。図面に記載された具体的な装置の名称や具体的な信号/メッセージ/フィールドの名称は例示的に提示するものであるので、本明細書の技術的特徴が以下の図面に用いられた具体的な名称に制限されない。
図2は、本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、画像エンコード装置を含むことができる。
図2に示すように、エンコード装置200は、画像分割部(image partitioner)210、予測部(predictor)220、レジデュアル処理部(residual processor)230、エントロピーエンコード部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を備えて構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を備えることができる。レジデュアル処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を備えることができる。レジデュアル処理部230は、減算部(subtractor)231をさらに備えることができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。前述した画像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコード部240、加算部250、及びフィルタリング部260は、実施形態によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を含むことができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに備えることもできる。
画像分割部210は、エンコード装置200に入力された入力画像(または、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/又はターナリ構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/又はターナリ構造が後ほど適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本文書に係るコーディング手順が実行されることができる。この場合、画像特性に応じるコーディング効率などに基づいて、最大コーディングユニットが直ちに最終コーディングユニットとして使用されることができ、または、必要に応じてコーディングユニットは、再帰的に(recursively)、より下位デプスのコーディングユニットに分割されて、最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに備えることができる。この場合、前記予測ユニット及び前記変換ユニットは、各々前述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であり、前記変換ユニットは、変換係数を誘導する単位及び/又は変換係数からレジデュアル信号(residual signal)を誘導する単位である。
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)から、インター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成することができ、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコーダ200内において入力画像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planar Mode)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65つの方向性予測モードを含むことができる。ただし、これは、例示に過ぎず、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用されることができる。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的隣接ブロックを含む参照ピクチャとは同じであってもよく、異なってもよい。前記時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名称で呼ばれることができ、前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、隣接ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するためにどのような候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が実行されることができ、例えば、スキップモードとマージモードの場合に、インター予測部221は、隣接ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは異なってレジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(Motion Vector Predictor)として利用し、動きベクトル差分(motion vector difference)をシグナリングすることによって現在ブロックの動きベクトルを指示することができる。
予測部220は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、または、パレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画像コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似して実行されることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングすることができる。
前記予測部(インター予測部221及び/又は前記イントラ予測部222を含む)を介して生成された予測信号は、復元信号を生成するために用いられ、またはレジデュアル信号を生成するために用いられることができる。変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成することができる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)のうち、少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するとするとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることもでき、正方形でない、可変サイズのブロックにも適用されることもできる。
量子化部233は、変換係数を量子化してエントロピーエンコード部240に送信され、エントロピーエンコード部240は、量子化された信号(量子化された変換係数に関する情報)をエンコードしてビットストリームとして出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態で再整列することができ、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコード方法を実行することができる。エントロピーエンコード部240は、量子化された変換係数の他に、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値等)を共に、または別にエンコードすることもできる。エンコードされた情報(例えば、エンコードされたビデオ/画像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位で送信または格納されることができる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書においてエンコード装置からデコード装置に伝達/シグナリングされる情報及び/又はシンタックス要素は、ビデオ/画像情報に含まれることができる。前記ビデオ/画像情報は、前述したエンコード手順を介してエンコードされて前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。エントロピーエンコード部240から出力された信号は、送信する送信部(図示せず)及び/又は格納する格納部(図示せず)がエンコード装置200の内/外部エレメントとして構成されることができ、または送信部は、エントロピーエンコード部240に含まれることもできる。
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することによってレジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元することができる。加算部250は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることによって復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
一方、ピクチャエンコード及び/又は復元過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法についての説明で後述するように、フィルタリングに関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。フィルタリングに関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
メモリ270に送信された修正された復元ピクチャは、インター予測部221で参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置200とデコード装置300での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
メモリ270DPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部221に伝達することができる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達することができる。
図3は、本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
図3に示すように、デコード装置300は、エントロピーデコード部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memory)360を備えて構成されることができる。予測部330は、インター予測部331及びイントラ予測部332を備えることができる。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)322を備えることができる。前述したエントロピーデコード部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
ビデオ/画像情報を含むビットストリームが入力されると、デコード装置300は、図2のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを実行することができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであり、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/又はターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出されることができる。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
デコード装置300は、図2のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(例えば、ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてさらにピクチャをデコードすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコード手順を介してデコードされて前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLCまたはCABAC等のコーディング方法を基にビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値などを出力することができる。より詳細に、CABACエントロピーデコード方法は、ビットストリームで各構文要素に該当するビンを受信し、デコード対象構文要素情報と周辺及びデコード対象ブロックのデコード情報、または以前ステップでデコードされたシンボル/ビンの情報を利用して文脈(context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測し、ビンの算術デコード(arithmetic decoding)を実行して各構文要素の値に該当するシンボルを生成することができる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して文脈モデルをアップデートすることができる。エントロピーデコード部310でデコードされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310でエントロピーデコードが実行されたレジデュアル値、即ち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコード部310でデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピーデコード部310の構成要素である。一方、本文書に係るデコード装置は、ビデオ/画像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち、少なくとも1つを備えることができる。
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で実行された係数スキャン順序に基づいて再整列を実行することができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を利用して量子化された変換係数に対する逆量子化を実行し、変換係数(transform coefficient)を取得することができる。
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
予測部は、現在ブロックに対する予測を実行し、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
予測部320は、後述する様々な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、1つのブロックに対する予測のために、イントラ予測またはインター予測を適用することができるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー(intra block copy、IBC)予測モードに基づくこともでき、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を実行するが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似して実行されることができる。即ち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見ることができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
イントラ予測部331は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの周辺(neighbor)に位置することができ、または離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部331は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
インター予測部332は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードから送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。例えば、インター予測部332は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出できる。様々な予測モードに基づいてインター予測が実行されることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
加算部340は、取得されたレジデュアル信号を予測部(インター予測部332及び/又はイントラ予測部331を含む)から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることにより復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることができ、または次のピクチャのインター予測のために使用されることもできる。
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに様々なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ360、具体的に、メモリ360のDPBに送信することができる。前記様々なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部332で参照ピクチャとして使用されることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/又は既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するために、インター予測部260に伝達することができる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部331に伝達することができる。
本明細書において、エンコード装置200のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態は、各々デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
本文書において量子化/逆量子化及び/又は変換/逆変換のうち、少なくとも1つは省略されることができる。前記量子化/逆量子化が省略される場合、前記量子化された変換係数は、変換係数と呼ばれることができる。前記変換/逆変換が省略される場合、前記変換係数は、係数またはレジデュアル係数と呼ばれることができ、または、表現の統一性のために、変換係数と依然と呼ばれることもできる。
本文書において量子化された変換係数及び変換係数は、各々変換係数及びスケーリングされた(scaled)変換係数と称されることができる。この場合、レジデュアル情報は、変換係数(等)に関する情報を含むことができ、前記変換係数(等)に関する情報は、レジデュアルコーディングシンタックスを介してシグナリングされることができる。前記レジデュアル情報(または、前記変換係数(等)に関する情報)に基づいて変換係数が導出され得るし、前記変換係数に対する逆変換(スケーリング)を介してスケーリングされた変換係数が導出され得る。前記スケーリングされた変換係数に対する逆変換(変換)に基づいてレジデュアルサンプルが導出され得る。これは、本文書の他の部分でも同様に適用/表現されることができる。
上述したように、ビデオコーディングを行うのにおいて、圧縮効率を上げるために予測を行う。これを介してコーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成できる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコード装置及びデコード装置で同一に導出され、前記エンコード装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコード装置にシグナリングすることにより画像コーディング効率を上げることができる。デコード装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成でき、復元ブロックを含む復元ピクチャを生成できる。
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれたレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を行って変換係数を導出し、前記変換係数に量子化手順を行って量子化された変換係数を導出し、関連したレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を行い、レジデュアルサンプル(または、レジデュアルブロック)を導出できる。デコード装置は、予測されたブロックと前記レジデュアルブロックとに基づいて復元ピクチャを生成できる。エンコード装置は、さらに以後ピクチャのインター予測のための参照のために、量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成できる。
イントラ予測は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の参照サンプルに基づいて現在ブロックに対する予測サンプルを生成する予測を表すことができる。現在ブロックにイントラ予測が適用される場合、現在ブロックのイントラ予測に使用する周辺参照サンプルが導出され得る。前記現在ブロックの周辺参照サンプルは、nW×nHサイズの現在ブロックの左側(left)境界に隣接したサンプル及び左下側(bottom-left)に隣り合う合計2×nH個のサンプル、現在ブロックの上側(top)境界に隣接したサンプル及び右上側(top-right)に隣り合う合計2xnW個のサンプル及び現在ブロックの左上側(top-left)に隣り合う1個のサンプルを含むことができる。または、前記現在ブロックの周辺参照サンプルは、複数列の上側周辺サンプル及び複数行の左側周辺サンプルを含むこともできる。また、前記現在ブロックの周辺参照サンプルは、nW×nHサイズの現在ブロックの右側(right)境界に隣接した合計nH個のサンプル、現在ブロックの下側(bottom)境界に隣接した合計nW個のサンプル、及び現在ブロックの右下側(bottom-right)に隣り合う1個のサンプルを含むこともできる。
ただし、現在ブロックの周辺参照サンプルのうち一部は、まだデコードされていないか、利用可能でないことができる。この場合、デコーダは、利用可能なサンプルに利用可能でないサンプルを代替(substitution)して、予測に使用する周辺参照サンプルを構成できる。または、利用可能なサンプルの補間(interpolation)を介して予測に使用する周辺参照サンプルを構成できる。
周辺参照サンプルが導出された場合、(i)現在ブロックの周辺(neighboring)参照サンプルの平均(average)あるいはインターポレーション(interpolation)に基づいて予測サンプルを誘導することができ、(ii)現在ブロックの周辺参照サンプルのうち予測サンプルに対して特定(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導することもできる。(i)の場合は、非方向性(non-directional)モードまたは非角度(non-angular)モード、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれることができる。
また、前記周辺参照サンプルのうち、前記現在ブロックの予測サンプルを基準に前記現在ブロックのイントラ予測モードの予測方向に位置する第1の周辺サンプルと前記予測方向の反対方向に位置する第2の周辺サンプルとの補間によって前記予測サンプルが生成されることもできる。上述した場合は、線形補間イントラ予測(Linear interpolation intra prediction、LIP)と呼ばれることができる。また、線形モデル(linear model、LM)を利用し、ルマサンプルに基づいてクロマ予測サンプルが生成されることもできる。この場合は、LMモードまたはCCLM(chroma component LM)モードと呼ばれることができる。
また、フィルタリングされた周辺参照サンプルに基づいて前記現在ブロックの臨時予測サンプルを導出し、前記既存の周辺参照サンプル、すなわち、フィルタリングされなかった周辺参照サンプルのうち、前記イントラ予測モードによって導出された少なくとも1つの参照サンプルと前記臨時予測サンプルとを加重合(weighted sum)して前記現在ブロックの予測サンプルを導出することもできる。上述した場合は、PDPC(Position dependent intra prediction)と呼ばれることができる。
また、現在ブロックの周辺多重参照サンプルラインのうち、最も予測正確度が高い参照サンプルラインを選択し、当該ラインで予測方向に位置する参照サンプルを用いて予測サンプルを導出し、このとき、使用された参照サンプルラインをデコード装置に指示(シグナリング)する方法にてイントラ予測符号化を行うことができる。上述した場合は、多重参照ライン(multi-reference line)イントラ予測またはMRL基盤イントラ予測と呼ばれることができる。
また、現在ブロックを垂直または水平のサブパーティションに分けて同じイントラ予測モードに基づいてイントラ予測を行うものの、前記サブパーティション単位で周辺参照サンプルを導出して用いることができる。すなわち、この場合、現在ブロックに対するイントラ予測モードが前記サブパーティションに同様に適用されるものの、前記サブパーティション単位で周辺参照サンプルを導出して用いることにより、場合によってイントラ予測性能を高めることができる。このような予測方法は、ISP(intra sub-partitions)基盤イントラ予測と呼ばれることができる。
上述したイントラ予測方法等は、イントラ予測モードと区分してイントラ予測タイプと呼ばれることができる。前記イントラ予測タイプは、イントラ予測技法または付加イントラ予測モードなど、様々な用語と呼ばれることができる。例えば、前記イントラ予測タイプ(または、付加イントラ予測モードなど)は、上述したLIP、PDPC、MRL、ISPのうち、少なくとも1つを含むことができる。前記LIP、PDPC、MRL、ISPなどの特定イントラ予測タイプを除いた一般イントラ予測方法は、ノーマルイントラ予測タイプと呼ばれることができる。ノーマルイントラ予測タイプは、前記のような特定イントラ予測タイプが適用されない場合、一般的に適用されることができ、上述したイントラ予測モードに基づいて予測が行われ得る。一方、必要に応じて導出された予測サンプルに対する後処理フィルタリングが行われることもできる。
具体的に、イントラ予測手順は、イントラ予測モード/タイプ決定ステップ、周辺参照サンプル導出ステップ、イントラ予測モード/タイプ基盤の予測サンプル導出ステップを含むことができる。また、必要に応じて、導出された予測サンプルに対する後処理フィルタリング(post-filtering)ステップが行われることもできる。
イントラ予測が適用される場合、周辺ブロックのイントラ予測モードを用いて現在ブロックに適用されるイントラ予測モードが決定される。例えば、デコード装置は、現在ブロックの周辺ブロック(ex.左側及び/又は上側周辺ブロック)のイントラ予測モード及び追加的な候補モードに基づいて導出されたMPM(most probable mode)リスト内のMPM候補のいずれか1つを受信されたMPMインデックスに基づいて選択することができ、または、前記MPM候補(及びプランナーモード)に含まれない残りのイントラ予測モードのいずれか1つをリメイニングイントラ予測モードの情報に基づいて選択することができる。前記MPMリストは、プランナーモードを候補として含むか含まないように構成される。例えば、前記MPMリストがプランナーモードを候補として含む場合、前記MPMリストは6つの候補を有することができ、前記MPMリストがプランナーモードを候補として含まない場合、前記MPMリストは5つの候補を有することができる。前記MPMリストがプランナーモードを候補として含まない場合、現在ブロックのイントラ予測モードがプランナーモードでないかを示すnotプランナーフラグ(ex.intra_luma_not_planar_flag)がシグナリングされることができる。例えば、MPMフラグが先にシグナリングされ、MPMインデックス及びnotプランナーフラグは、MPMフラグの値が1である場合にシグナリングされることができる。また、前記MPMインデックスは、前記notプランナーフラグの値が1である場合にシグナリングされることができる。ここで、前記MPMリストがプランナーモードを候補として含まないように構成されることは、前記プランナーモードがMPMではないというよりは、MPMとして常にプランナーモードが考慮されるので、先にフラグ(not planar flag)をシグナリングしてプランナーモードであるか否かを先に確認するためである。
例えば、現在ブロックに適用されるイントラ予測モードがMPM候補(及びプランナーモード)中にあるか、それともリメイニングモード中にあるかは、MPMフラグ(ex.intra_luma_mpm_flag)に基づいて指示される。MPMフラグの値1は、前記現在ブロックに対するイントラ予測モードがMPM候補(及びプランナーモード)内にあることを示し、MPMフラグの値0は、前記現在ブロックに対するイントラ予測モードがMPM候補(及びプランナーモード)内にないことを示す。前記notプランナーフラグ(ex.intra_luma_not_planar_flag)値0は、前記現在ブロックに対するイントラ予測モードがプランナーモードであることを示し、前記notプランナーフラグ値1は前記現在ブロックに対するイントラ予測モードがプランナーモードではないことを示す。前記MPMインデックスは、mpm_idx又はintra_luma_mpm_idxシンタックス要素の形態でシグナリングされることができ、前記リメイクイントラ予測モード情報は、rem_intra_luma_pred_mode又はintra_luma_mpm_remainderシンタックス要素の形態でシグナリングされることができる。例えば、前記リメイニングイントラ予測モード情報は、全体イントラ予測モードのうち前記MPM候補(及びプランナーモード)に含まれない残りのイントラ予測モードを予測モード番号順にインデックスしてその1つを指すことができる。前記イントラ予測モードは、ルマ成分(サンプル)に対するイントラ予測モードであり得る。以下、イントラ予測モードの情報は、前記MPMフラグ(ex.intra_luma_mpm_flag)、前記not planar flag(ex.intra_luma_not_planar_flag)、前記MPMインデックス(ex.mpm_idx又はintra_luma_mpm_idx)、前記リメイニングイントラ予測モード情報(rem_intra_luma_pred_mode又はintra_luma_mpm_remainder)の少なくとも1つを含む。本文書において、MPMリストは、MPM候補リスト、candModeListなどの様々な用語で呼ばれてもよい。MIPが現在ブロックに適用される場合、MIPのための別途のmpm flag(ex.intra_mip_mpm_flag)、mpmインデックス(ex.intra_mip_mpm_idx)、リメイニングイントラ予測モード情報 (ex.intra_mip_remainder)がシグナリングされることができ、前記not planar flagはシグナリングされない。
言い換えると、一般的に映像に対するブロック分割が行われると、コーディングしようとする現在ブロックと周辺(neighboring)ブロックは類似の映像特性を有することになる。従って、現在ブロックと周辺ブロックは互いに同一か又は類似のイントラ予測モードを有する確率が高い。従って、エンコーダは、現在ブロックのイントラ予測モードをエンコードするために周辺ブロックのイントラ予測モードを利用することができる。
例えば、エンコーダ/デコーダは、現在ブロックに対するMPM(most probable modes)リストを構成することができる。前記MPMリストは、MPM候補リストと示してもよい。ここで、MPMとは、イントラ予測モードコーディングの時、現在ブロックと周辺ブロックの類似性を考慮してコーディング効率を向上させるために利用されるモードを意味する。前述のように、MPMリストは、プランナーモードを含んで構成されてもよく、又はプランナーモードを除いて構成されてもよい。例えば、MPMリストがプランナーモードを含む場合、MPMリストの候補の個数は6つであり得る。そして、MPMリストがプランナーモードを含まない場合、MPMリストの候補の個数は5つであり得る。
エンコーダ/デコーダは5つ又は6つのMPMを含むMPMリストを構成することができる。
MPMリストを構成するためにデフォルトイントラモード(Default intra modes)、周辺イントラモード(Neighbour intra modes)、及び導出されたイントラモード(Derved intra modes)の3種類のモードが考慮される。
前記周辺イントラモードのために、2つの周辺ブロック、すなわち、左側周辺ブロック及び上側周辺ブロックが考慮される。
前述のように、MPMリストがプランナーモードを含まないように構成する場合、前記リストからプランナー(planar)モードが除外され、前記MPMリスト候補の個数は5つに設定される。
また、イントラ予測モードのうち非方向性モード(又は、非角度モード)は、現在ブロックの周辺(neighboring)参照サンプルの平均(average)ベースのDCモード又は補間(interpolation)ベースのプランナー(planar)モードを含む。
一方、インター予測が適用される場合、エンコード装置/デコード装置の予測部は、ブロック単位でインター予測を行って予測サンプルを導出できる。インター予測は、現在ピクチャ以外のピクチャ(等)のデータ要素(ex.サンプル値、または動き情報)に依存的な方法で導出される予測を表すことができる(Inter prediction can be a prediction derived in a manner that is dependent on data elements(ex.sample values or motion information) of picture(s) other than the current picture)。現在ブロックにインター予測が適用される場合、参照ピクチャインデックスが指す参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロック(予測サンプルアレイ)を導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現在ブロックとの間の動き情報の相関性に基づいて現在ブロックの動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測が適用される場合、周辺ブロックは、現在ピクチャ内に存在する空間的周辺ブロック(spatial neighboring block)と参照ピクチャに存在する時間的周辺ブロック(temporal neighboring block)とを備えることができる。前記参照ブロックを備える参照ピクチャと前記時間的周辺ブロックを備える参照ピクチャとは、同一であることができ、異なることもできる。前記時間的周辺ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(colCU)などの名前と呼ばれることができ、前記時間的周辺ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)とも呼ばれることができる。例えば、現在ブロックの周辺ブロックに基づいて動き情報候補リストが構成され得るし、前記現在ブロックの動きベクトル及び/又は参照ピクチャインデックスを導出するために、いずれの候補が選択(使用)されるかを指示するフラグまたはインデックス情報がシグナリングされ得る。様々な予測モードに基づいてインター予測が行われ得るし、例えば、スキップモードとマージモードの場合に、現在ブロックの動き情報は、選択された周辺ブロックの動き情報と同様であることができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が送信されないことができる。動き情報予測(motion vector prediction、MVP)モードの場合、選択された周辺ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)は、シグナリングされることができる。この場合、前記動きベクトル予測子及び動きベクトル差分の合計を利用して前記現在ブロックの動きベクトルを導出できる。
前記動き情報は、インター予測タイプ(L0予測、L1予測、Bi予測等)によってL0動き情報及び/又はL1動き情報を含むことができる。L0方向の動きベクトルは、L0動きベクトルまたはMVL0と呼ばれることができ、L1方向の動きベクトルは、L1動きベクトルまたはMVL1と呼ばれることができる。L0動きベクトルに基づいた予測は、L0予測と呼ばれることができ、L1動きベクトルに基づいた予測は、L1予測と呼ばれることができ、前記L0動きベクトル及び前記L1動きベクトルの両方に基づいた予測は、対(Bi)予測と呼ばれることができる。ここで、L0動きベクトルは、参照ピクチャリストL0(L0)に連関した動きベクトルを表すことができ、L1動きベクトルは、参照ピクチャリストL1(L1)に連関した動きベクトルを表すことができる。参照ピクチャリスストL0は、前記現在ピクチャより出力順序上、以前ピクチャを参照ピクチャとして備えることができ、参照ピクチャリストL1は、前記現在ピクチャより出力順序上、以後ピクチャを備えることができる。前記以前ピクチャは、順方向(参照)ピクチャと呼ばれることができ、前記以後ピクチャは、逆方向(参照)ピクチャと呼ばれることができる。前記参照ピクチャリストL0は、前記現在ピクチャより出力順序上、以後ピクチャを参照ピクチャとしてさらに備えることができる。この場合、前記参照ピクチャリストL0内で前記以前ピクチャが先にインデクシングされ、前記以後ピクチャは、その次にインデクシングされることができる。前記参照ピクチャリストL1は、前記現在ピクチャより出力順序上、以前ピクチャを参照ピクチャとしてさらに備えることができる。この場合、前記参照ピクチャリスト1内で前記以後ピクチャが先にインデクシングされ、前記以前ピクチャは、その次にインデクシングされることができる。ここで、出力順序は、POC(picture order count)順序(order)に対応することができる。
インター予測に基づいたビデオ/画像エンコード手順は、概略的に例えば、次を含むことができる。
図4は、インター予測基盤のビデオ/画像エンコード方法の例を示す。
エンコード装置は、現在ブロックに対するインター予測を行う(S400)。エンコード装置は、現在ブロックのインター予測モード及び動き情報を導出し、前記現在ブロックの予測サンプルを生成できる。ここで、インター予測モード決定、動き情報導出、及び予測サンプル生成手順は同時に行われることができ、いずれか1つの手順が他の手順より先に行われることもできる。例えば、エンコード装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を備えることができ、予測モード決定部で前記現在ブロックに対する予測モードを決定し、動き情報導出部で前記現在ブロックの動き情報を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出できる。例えば、エンコード装置のインター予測部は、動き推定(motion estimation)を介して参照ピクチャの一定領域(サーチ領域)内で前記現在ブロックと類似したブロックをサーチし、前記現在ブロックとの差が最小または一定基準以下である参照ブロックを導出できる。これに基づいて前記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、前記参照ブロックと前記現在ブロックとの位置差に基づいて動きベクトルを導出できる。エンコード装置は、様々な予測モードのうち、前記現在ブロックに対して適用されるモードを決定できる。エンコード装置は、前記様々な予測モードに対するRD costを比較し、前記現在ブロックに対する最適の予測モードを決定できる。
例えば、エンコード装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補が指す参照ブロックのうち、前記現在ブロックと、前記現在ブロックとの差が最小または一定基準以下である参照ブロックとを導出できる。この場合、前記導出された参照ブロックと連関したマージ候補が選択され、前記選択されたマージ候補を指すマージインデックス情報が生成されてデコード装置にシグナリングされることができる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報を導出できる。
他の例として、エンコード装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。この場合、例えば、上述した動き推定によって導出された参照ブロックを指す動きベクトルが前記現在ブロックの動きベクトルとして用いられることができ、前記mvp候補のうち、前記現在ブロックの動きベクトルとの差が最も小さい動きベクトルを有するmvp候補が前記選択されたmvp候補になり得る。前記現在ブロックの動きベクトルから前記mvpを差し引いた差分であるMVD(motion vector difference)が導出され得る。この場合、前記MVDに関する情報がデコード装置にシグナリングされることができる。また、(A)MVPモードが適用される場合、前記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて、別に前記デコード装置にシグナリングされることができる。
エンコード装置は、前記予測サンプルに基づいてレジデュアルサンプルを導出できる(S410)。エンコード装置は、前記現在ブロックの原本サンプルと前記予測サンプルとの比較を介して前記レジデュアルサンプルを導出できる。
エンコード装置は、予測情報及びレジデュアル情報を含む画像情報をエンコードする(S420)。エンコード装置は、エンコードされた画像情報をビットストリーム形態で出力することができる。前記予測情報は、前記予測手順に関連した情報として予測モード情報(ex.skip flag、merge flag or mode index等)及び動き情報に関する情報を含むことができる。前記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報(ex.merge index、mvp flag or mvp index)を含むことができる。また、前記動き情報に関する情報は、上述したMVDに関する情報及び/又は参照ピクチャインデックス情報を含むことができる。また、前記動き情報に関する情報は、L0予測、L1予測、または、対(bi)予測が適用されるか否かを表す情報を含むことができる。前記レジデュアル情報は、前記レジデュアルサンプルに関する情報である。前記レジデュアル情報は、前記レジデュアルサンプルに対する量子化された変換係数に関する情報を含むことができる。
出力されたビットストリームは、(デジタル)格納媒体に格納されてデコード装置に伝達されることができ、または、ネットワークを介してデコード装置に伝達されることもできる。
一方、上述したように、エンコード装置は、前記参照サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャ(復元サンプル及び復元ブロックを含む)を生成できる。これは、デコード装置で行われることと同じ予測結果をエンコード装置で導出するためであり、これを介してコーディング効率を上げることができるためである。したがって、エンコード装置は、復元ピクチャ(または、復元サンプル、復元ブロック)をメモリに格納し、インター予測のための参照ピクチャとして活用することができる。前記復元ピクチャにインループフィルタリング手順などがさらに適用され得ることは、上述したとおりである。
インター予測に基づいたビデオ/画像デコード手順は、概略的に例えば、次を含むことができる。
図5は、インター予測基盤のビデオ/画像デコード方法の例を示す。
図5に示すように、デコード装置は、前記エンコード装置で行われた動作と対応する動作を行うことができる。デコード装置は、受信された予測情報に基づいて現在ブロックに対する予測を行い、予測サンプルを導出できる。
具体的に、デコード装置は、受信された予測情報に基づいて前記現在ブロックに対する予測モードを決定できる(S500)。デコード装置は、前記予測情報内の予測モード情報に基づいて前記現在ブロックにいずれのインター予測モードが適用されるか決定することができる。
例えば、前記merge flagに基づいて前記現在ブロックに前記マージモードが適用されるか、または(A)MVPモードが決定されるかの可否を決定できる。または、前記mode indexに基づいて様々なインター予測モード候補のうち1つを選択できる。前記インター予測モード候補は、スキップモード、マージモード、及び/又は(A)MVPモードを含むことができ、または、後述する様々なインター予測モードを含むことができる。
デコード装置は、前記決定されたインター予測モードに基づいて前記現在ブロックの動き情報を導出する(S510)。例えば、デコード装置は、前記現在ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、前記マージ候補リストに含まれたマージ候補のうち1つのマージ候補を選択できる。前記選択は、上述した選択情報(merge index)に基づいて行われることができる。前記選択されたマージ候補の動き情報を利用して前記現在ブロックの動き情報を導出できる。前記選択されたマージ候補の動き情報が前記現在ブロックの動き情報として利用されることができる。
他の例として、デコード装置は、前記現在ブロックに(A)MVPモードが適用される場合、後述する(A)MVP候補リストを構成し、前記(A)MVP候補リストに含まれたmvp(motion vector predictor)候補のうち、選択されたmvp候補の動きベクトルを前記現在ブロックのmvpとして用いることができる。前記選択は、上述した選択情報(mvp flag or mvp index)に基づいて行われることができる。この場合、前記MVDに関する情報に基づいて前記現在ブロックのMVDを導出でき、前記現在ブロックのmvpと前記MVDに基づいて前記現在ブロックの動きベクトルを導出できる。また、前記参照ピクチャインデックス情報に基づいて前記現在ブロックの参照ピクチャインデックスを導出できる。前記現在ブロックに関する参照ピクチャリスト内で前記参照ピクチャインデックスが指すピクチャが前記現在ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
一方、後述するように、候補リスト構成なしに前記現在ブロックの動き情報が導出され得るし、この場合、後述する予測モードで開示された手順によって前記現在ブロックの動き情報が導出され得る。この場合、上述したような候補リスト構成は省略されることができる。
デコード装置は、前記現在ブロックの動き情報に基づいて前記現在ブロックに対する予測サンプルを生成できる(S520)。この場合、前記現在ブロックの参照ピクチャインデックスに基づいて前記参照ピクチャを導出し、前記現在ブロックの動きベクトルが前記参照ピクチャ上で指す参照ブロックのサンプルを用いて前記現在ブロックの予測サンプルを導出できる。この場合、後述するように、場合によって、前記現在ブロックの予測サンプルのうち、全部または一部に対する予測サンプルフィルタリング手順がさらに行われることができる。
例えば、デコード装置のインター予測部は、予測モード決定部、動き情報導出部、予測サンプル導出部を備えることができ、予測モード決定部で受信された予測モード情報に基づいて前記現在ブロックに対する予測モードを決定し、動き情報導出部で受信された動き情報に関する情報に基づいて前記現在ブロックの動き情報(動きベクトル及び/又は参照ピクチャインデックス等)を導出し、予測サンプル導出部で前記現在ブロックの予測サンプルを導出できる。
デコード装置は、受信されたレジデュアル情報に基づいて前記現在ブロックに対するレジデュアルサンプルを生成する(S530)。デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて前記現在ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成できる。(S540)。その後、前記復元ピクチャにインループフィルタリング手順などがさらに適用され得ることは、上述したとおりである。
図6は、インター予測手順を例示的に示す。
図6を参照すれば、上述したように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードによる動き情報導出ステップ、導出された動き情報に基づいた予測実行(予測サンプル生成)ステップを含むことができる。前記インター予測手順は、上述したように、エンコード装置及びデコード装置で行われることができる。本文書においてコーディング装置とは、エンコード装置及び/又はデコード装置を含むことができる。
図6に示すように、コーディング装置は、現在ブロックに対するインター予測モードを決定する(S600)。ピクチャ内の現在ブロックの予測のために、様々なインター予測モードが使用され得る。例えば、マージモード、スキップモード、MVP(motion vector prediction)モード、アファイン(Affine)モード、サブブロックマージモード、MMVD(merge with MVD)モードなど、様々なモードが使用され得る。DMVR(Decoder side motion vector refinement)モード、AMVR(adaptive motion vector resolution)モード、Bi-prediction with CU-level weight (BCW)、Bi-directional optical flow (BDOF)などが付随的なモードとしてさらにあるいは代わりに使用されることができる。アファインモードは、アファイン動き予測(affine motion prediction)モードと呼ばれることもできる。MVPモードは、AMVP(advanced motion vector prediction)モードと呼ばれることもできる。本文書において一部モード及び/又は一部モードによって導出された動き情報候補は、他のモードの動き情報関連候補のうち、1つとして含まれることもできる。例えば、HMVP候補は、前記マージ/スキップモードのマージ候補として追加されることができ、または、前記MVPモードのmvp候補として追加されることもできる。前記HMVP候補が前記マージモードまたはスキップモードの動き情報候補として使用される場合、前記HMVP候補は、HMVPマージ候補と呼ばれることができる。
現在ブロックのインター予測モードを指す予測モード情報がエンコード装置からデコード装置にシグナリングされることができる。前記予測モード情報は、ビットストリームに含まれてデコード装置に受信されることができる。前記予測モード情報は、複数の候補モードのうち1つを指示するインデックス情報を含むことができる。または、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、前記予測モード情報は、1つ以上のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモード適用可否を指示し、スキップモードが適用されない場合に、マージフラグをシグナリングしてマージモード適用可否を指示し、マージモードが適用されない場合に、MVPモードが適用されることと指示するか、追加的な区分のためのフラグをさらにシグナリングすることもできる。アファインモードは、独立的なモードでシグナリングされることができ、または、マージモードまたはMVPモードなどに従属的なモードでシグナリングされることもできる。例えば、アファインモードは、アファインマージモード及びアファインMVPモードを含むことができる。
コーディング装置は、前記現在ブロックに対する動き情報を導出する(S610)。前記動き情報導出を前記インター予測モードに基づいて導出することができる。
コーディング装置は、現在ブロックの動き情報を利用してインター予測を行うことができる。エンコード装置は、動き推定(motion estimation)手順を介して現在ブロックに対する最適の動き情報を導出できる。例えば、エンコード装置は、現在ブロックに対する原本ピクチャ内の原本ブロックを用いて相関性の高い類似した参照ブロックを参照ピクチャ内の決められた探索範囲内で分数ピクセル単位で探索することができ、これを介して動き情報を導出できる。ブロックの類似性は、位相(phase)基盤のサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現在ブロック(または、現在ブロックのテンプレート)と参照ブロック(または、参照ブロックのテンプレート)との間のSADに基づいて計算されることができる。この場合、探索領域内のSADが最も小さい参照ブロックに基づいて動き情報を導出できる。導出された動き情報は、インター予測モードに基づいて種々の方法によってデコード装置にシグナリングされることができる。
コーディング装置は、前記現在ブロックに対する動き情報に基づいてインター予測を行う(S620)。コーディング装置は、前記動き情報に基づいて前記現在ブロックに対する予測サンプル(等)を導出できる。前記予測サンプルを含む現在ブロックは、予測されたブロックと呼ばれることができる。
一方、前述のように、エンコード装置の量子化部は、変換係数に量子化を適用して量子化された変換係数を導出し、エンコード装置の逆量子化部又はデコード装置の逆量子化部は、量子化された変換係数に逆量子化を適用して変換係数を導出することができる。
一般的に、ビデオ/映像コーディングにおいては量子化率を変化させることができ、変化した量子化率を利用して圧縮率を調節することができる。実現の観点からは、複雑度を考慮して量子化率を直接使用する代わりに量子化パラメータ(quantization parameter:QP)が使用される。例えば、0から63までの整数値の量子化パラメータが使用され、各量子化パラメータ値は実際の量子化率に対応できる。また、例えば、ルマ成分(ルマサンプル)に対する量子化パラメータ(QP)とクロマ成分(クロマサンプル)に対する量子化パラメータ(QP)は異なる設定が可能である。
量子化過程は、変換係数(C)を入力とし、量子化率(Qstep)で割って、これに基づいて量子化された変換係数(C‘)を得ることができる。この場合、計算複雑度を考慮して量子化率にスケールを乗算して整数形態にし、スケール値に該当する値の分だけシフト演算を行うことができる。量子化率とスケール値の積に基づいて量子化スケール(quantization scale)が導出できる。すなわち、QPによって前記量子化スケールが導出されることができる。例えば、前記変換係数(C)に前記量子化スケールを適用して、これに基づいて量子化された変換係数(C‘)が導出されることもできる。
逆量子化過程は量子化過程の逆過程であり、量子化された変換係数(C‘)に量子化率(Qstep)を乗算して、これに基づいて復元された変換係数(C‘‘)を得ることができる。この場合、前記量子化パラメータによってレベルスケール(level scale)が導出され、前記量子化された変換係数(C‘)に前記レベルスケールを適用して、これに基づいて復元された変換係数(C‘‘)が導出される。復元された変換係数(C‘‘)は、変換及び/又は量子化過程での損失(loss)により最初の変換係数(C)と多少の差があり得る。従って、エンコード装置においてもデコード装置と同様に逆量子化を行う。
一方、周波数に応じて量子化強度を調節する適応的周波数別加重量子化(adaptive frequency weighting quantization)技術が適用されることができる。前記適応的周波数別加重量子化技術は、周波数別に異なる量子化強度を適用する方法である。前記適応的周波数別加重量子化は、予め定義された量子化スケーリングメトリクスを用いて各周波数別に異なる量子化強度を適用することができる。すなわち、前述の量子化/逆量子化過程は、前記量子化スケーリングメトリクスに基づいて行われることができる。例えば、現在ブロックのサイズ及び/又は前記現在ブロックのレジデュアル信号を生成するために、前記現在ブロックに適用された予測モードがインター予測であるか、イントラ予測であるかによって異なる量子化スケーリングメトリクスが使用される。前記量子化スケーリングメトリクスは、量子化メトリクス又はスケーリングメトリクスと呼ばれてもよい。前記量子化スケーリングメトリクスは予め定義されてもよい。また、周波数適応的スケーリングのために、前記量子化スケーリングメトリクスに対する周波数別量子化スケール情報がエンコード装置において構成/エンコードされてデコード装置にシグナリングされる。前記周波数別量子化スケール情報は、量子化スケーリング情報と呼ばれてもよい。前記周波数別量子化スケール情報は、スケーリングリストデータ(scaling_list_data)を含む。前記スケーリングリストデータに基づいて(修正された)前記量子化スケーリングメトリクスが導出される。また、前記周波数別量子化スケール情報は、前記スケーリングリストデータの存否を指示する存否フラグ(present flag)情報を含む。または、前記スケーリングリストデータが上位レベル(例えば、SPS)においてシグナリングされた場合、前記上位レベルの下位レベル(例えば、PPS又はtile group headerなど)において前記スケーリングリストデータが修正されるか否かを指示する情報などがさらに含まれる。
前述のように、量子化パラメータに基づいてルマ成分及びクロマ成分に量子化/逆量子化が適用される。
コーディングユニット(coding unit)に対する量子化パラメータは、ピクチャ及び/又はスライスレベルでシグナリングされる情報に基づいて決定される。例えば、前記量子化パラメータは後述のように導出されることができる。
例えば、SPS(sequence parameter set)を介して量子化パラメータの導出に関する情報が次の表のようにシグナリングされる。
前述の表1のシンタックスエレメント(syntax elements)に対するセマンティック(semantics)は、次の表の通りである。
例えば、シンタックスエレメントbit_depth_luma_minus8は、ルマアレイ(luma array)のサンプルのビットデプス(bit depth)であるBitDepth及びルマ量子化パラメータレンジオフセット(luma quantization parameter range offset)であるQpBdOffsetを示す。すなわち、例えば、前記シンタックスエレメントbit_depth_luma_minus8に基づいて前記BitDepth及び前記QpBdOffsetが導出されることができる。例えば、前記BitDepthは、前記シンタックスエレメントbit_depth_luma_minus8の値に8を加算した値として導出され、前記QpBdOffsetは、前記シンタックスエレメントbit_depth_luma_minus8の値に6を乗算した値として導出される。また、前記bit_depth_luma_minus8は0ないし8の範囲にあり得る。
また、例えば、シンタックスエレメントbit_depth_chroma_minus8は、クロマアレイ(chroma array)のサンプルのビットデプス(bit depth)であるBitDepth及びクロマ量子化パラメータレンジオフセット(chroma quantization parameter range offset)であるQpBdOffsetを示す。すなわち、例えば、前記シンタックスエレメントbit_depth_chroma_minus8に基づいて前記BitDepth及び前記QpBdOffsetが導出されることができる。例えば、前記BitDepthは前記シンタックスエレメントbit_depth_chroma_minus8の値に8を加算した値として導出され、前記QpBdOffsetは前記シンタックスエレメントbit_depth_chroma_minus8の値に6を乗算した値として導出される。また、前記bit_depth_chroma_minus8は0ないし8の範囲にあり得る。
また、例えば、PPS(picture parameter set)を介して量子化パラメータの導出に関する情報が次の表のようにシグナリングされる。前記情報は、クロマCbオフセット(Chroma Cb offset)、クロマCrオフセット(Chroma Cr offset)、ジョイントクロマオフセット及びイニシャル量子化パラメータを含む。すなわち、前記情報は、クロマCbオフセット(Chroma Cb offset)、クロマCrオフセット(Chroma Cr offset)、ジョイントクロマオフセット及びイニシャル量子化パラメータに対するシンタックスエレメントを含む。
前述の表3のシンタックスエレメント(syntax elements)に対するセマンティック(semantics)は、次の表の通りである。
例えば、シンタックスエレメントinit_qp_minus26に26を加算した値は、PPSを参照する各スライスに対するSliceQpの初期値(initial value)を示す。slice_qp_deltaの0でない値(non-zero value)がデコードされる場合、前記SliceQpの初期値はスライスレイヤにおいて修正されることができる。前記init_qp_minus26 0は、-(26+QpBdOffset)ないし+37の範囲にあり得る。
また、例えば、シンタックスエレメントpps_cb_qp_offset及びpps_cr_qp_offsetは、それぞれQp’Cb及びQp’Crの導出に使われるルマ量子化パラメータQp’に対するオフセット(offset)を示す。前記pps_cb_qp_offset及びpps_cr_qp_offsetは、-12ないし+12の範囲にあり得る。また、ChromaArrayTypeが0である場合、デコード過程でpps_cb_qp_offset及びpps_cr_qp_offsetは使用されない場合もあり、デコード装置は前記シンタックスエレメントの値を無視(ignore)することができる。
また、例えば、シンタックスエレメントpps_joint_cbcr_qp_offsetは、Qp’CbCrの導出に使われるルマ量子化パラメータQp’に対するオフセット(offset)を示す。前記pps_joint_cbcr_qp_offsetは、-12ないし+12の範囲にあり得る。また、ChromaArrayTypeが0である場合、デコード過程でpps_joint_cbcr_qp_offsetは使用されない場合もあり、デコード装置は前記シンタックスエレメントの値を無視(ignore)することができる。
また、例えば、シンタックスエレメントpps_slice_chroma_qp_offsets_present_flagは、シンタックスエレメントslice_cb_qp_offset及びslice_cr_qp_offsetが関連するスライスヘッダに存在(present)するか否かを示す。例えば、値が1であるpps_slice_chroma_qp_offsets_present_flagは、slice_cb_qp_offset及びslice_cr_qp_offsetに関連するスライスヘッダに存在(present)することを示す。また、例えば、値が0であるpps_slice_chroma_qp_offsets_present_flagは、slice_cb_qp_offset及びslice_cr_qp_offsetに関連するスライスヘッダに存在しないことを示す。また、ChromaArrayTypeが0である場合、デコード過程でpps_slice_chroma_qp_offsets_present_flagは0のようである。
前述のようにPPSにおいてパーシングされるシンタックスエレメントはinit_qp_minus26、pps_cb_qp_offset_pps_cr_qp_offset、pps_joint_cbcr_qp_offset及びpps_slice_chroma_qp_offsets_present_flagであり得る。シンタックスエレメントinit_qp_minus26は、PPSを参照する各スライスに対するSliceQpYの初期値を示す。また、シンタックスエレメントpps_cb_qp_offset、pps_cr_qp_offset及びpps_joint_cbcr_qp_offsetは、ルマ量子化パラメータQp’に対するオフセットを示す。また、シンタックスエレメントpps_slice_chroma_qp_offsets_present_flagは、オフセットパラメータがスライスヘッダに存在するか否かを示す。
また、例えば、スライスヘッダ(slice header)を介して量子化パラメータの導出に関する情報が次の表のようにシグナリングされることができる。
前述の表5のシンタックスエレメント(syntax elements)に対するセマンティック(semantics)は次の表の通りである。
例えば、slice_qp_deltaはコーディングユニットレイヤにおいてCuQpDeltaValの値により修正(modified)されるまでスライス内のコーディングブロックに使用されるQpの初期値を示す。例えば、スライスに対するQpの初期値、SliceQpは26+init_qp_minus26+slice_qp_deltaとして導出される。SliceQpの値は、-QpBdOffsetないし+63の範囲にあり得る。
また、例えば、slice_cb_qp_offsetは量子化パラメータQp’Cbの値を決定する時にpps_cb_qp_offsetの値に追加される差(difference)を示す。slice_cb_qp_offsetの値は-12ないし+12の範囲にあり得る。また、例えば、slice_cb_qp_offsetが存在しない場合、前記slice_cb_qp_offsetは0とみなされる(inferred)。pps_cb_qp_offset+slice_cb_qp_offsetの値は、12ないし+12の範囲にあり得る。
また、例えば、slice_cr_qp_offsetは、量子化パラメータQp’Crの値を決定する時にpps_cr_qp_offsetの値に追加される差(difference)を示す。slice_cr_qp_offsetの値は、-12ないし+12の範囲にあり得る。また、例えば、slice_cr_qp_offsetが存在しない場合、前記slice_cr_qp_offsetは0とみなされる(inferred)。pps_cr_qp_offset+slice_cr_qp_offsetの値は、12ないし+12の範囲にあり得る。
また、例えば、slice_cbcr_qp_offsetは、量子化パラメータQp’CbCrの値を決定する時にpps_cbcr_qp_offsetの値に追加される差(difference)を示す。slice_cbcr_qp_offsetの値は、-12ないし+12の範囲にあり得る。また、例えば、slice_cbcr_qp_offsetが存在しない場合、前記slice_cbcr_qp_offsetは0とみなされる(inferred)。pps_cbcr_qp_offset+slice_cbcr_qp_offsetの値は、12ないし+12の範囲にあり得る。
ルマ及びクロマ量子化パラメータに対する導出プロセスは、前記プロセスに対する入力がルマ位置(luma location)、現在コーディングブロックの幅及び高さを指定する変数及びシングルツリー(single tree)又はデュアルツリー(dual tree)であるかを指定する変数であることから開始される。一方、前述のように、ルマ量子化パラメータ、クロマ量子化パラメータ及びジョイントクロマ量子化パラメータは、Qp’、Qp’Cb、Qp’Cr及びQp’CbCrと示すことができる。
一方、例えば、CuQpDeltaValの符号(sign)を示すシンタックスエレメントcu_qp_delta_sign_flagがパーシングされる。例えば、前記cu_qp_delta_sign_flagはCuQpDeltaValの符号(sign)を次のように示すことができる。
例えば、前記cu_qp_delta_sign_flagが0である場合、前記cu_qp_delta_sign_flagに対応するCuQpDeltaValは正数(positive value)を有する。または、例えば、前記cu_qp_delta_sign_flagが1である場合、前記cu_qp_delta_sign_flagに対応するCuQpDeltaValは負数(negative value)を有する。また、前記cu_qp_delta_sign_flagが存在しない場合、前記cu_qp_delta_sign_flagは0とみなされる。
また、例えば、cu_qp_delta_absが存在する場合、変数IsCuQpDeltaCodedは1として導出され、変数CuQpDeltaValはcu_qp_delta_abs*(1-2*cu_qp_delta_sign_flag)として導出される。前記CuQpDeltaValは-(32+QpBdOffsetY/2)ないし+(31+QpBdOffsetY/2)の範囲にあり得る。
その後、例えば、前記ルマ量子化パラメータQp’は次の数式のように導出される。
また、ChromaArrayTypeが0ではなく、treeTypeがSINGLE_TREE又はDUAL_TREE_CHROMAである場合、以下が適用される。
-treeTypeがDUAL_TREE_CHROMAのようであると、変数Qpはルマ位置(xCb+cbWidth/2,yCb+cbHeight/2)を含むルマコーディングユニットのルマ量子化パラメータQpと同一に設定されることができる。
-変数qPCb、qPCr及びqPCbCrは以下のように導出される。
例えば、ChromaArrayTypeが1であると、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいて次の表7に指定されたQpC値と同一に設定されることができる。
または、ChromaArrayTypeが1でないと、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてMin(qPi,63)と同一に設定されることができる。
-Cb成分及びCr成分に対するクロマ量子化パラメータ、Qp’Cb及びQp’Cr、ジョイントCb-Crコーディングに対するクロマ量子化パラメータQp’CbCrは以下のように導出される。
一方、本文書は、量子化/逆量子化過程でのコーディング効率を向上させるための方案を提案する。
一実施形態として、本文書は、ChromaArrayTypeが0でない場合(例えば、ChromaArrayTypeが1である場合)、既存のVVCドラフト5v.7に予め定義されたクロマ量子化マッピングテーブルを介してルマ量子化パラメータ値からクロマ量子化パラメータ値を得る方法ではなく、ユーザがクロマ量子化マッピングテーブル(user defined Chroma Quantization Table)を定義し、これを使用する方法を提案する。VVC説明テキスト(VVC specification text)(例えば、VVCドラフト5v.7)においてはqPi(ルマ量子化パラメータ値)が与えられた場合、予め定義されたクロマ量子化テーブル(例えば、前述の表7)を介してQpc(クロマ量子化パラメータ値)が導出されるが、本文書は、ユーザが新しく定義したクロマ量子化マッピングテーブルに基づいてqPiからQpcを導出する方法を提案する。本文書の実施形態によれば、Qpc値がqPi値の関数(function)関係から導出され、ユーザ定義機能(user defined functionality)方法により関数がAPS、SPS又はPPSなどのシンタックスにシグナリングされることができ、関数関係は予め定義されたシンタックスエレメントの値を送信し、送信された値に基づいてユーザがクロマ量子化テーブルマッピングを定義する方法を提案する。1つの例として、Qpc値がqPi値の関数(function)関係により導出できるので、当該関数を示すシンタックスエレメント値が送信される場合、ユーザが定義するクロマ量子化マッピングテーブル(a user defined Chroma Quantization Table)が表7のような形式で導出されることができる。
一実施形態としてAPS(adaptation parameter set)において後述する表のようにクロマ量子化マッピング関連関数を示すシンタックスエレメント(Qpc_data)に関する情報をシグナリングする方案を提案する。
前述の表8を参照すると、前記aps_params_typeがQpc_APSを示す場合、例えば、前記aps_params_typeの値が2である場合は、Qpc_data()がシグナリングされる。
前述の表8のシンタックスエレメント(syntax elements)に対するセマンティック(semantics)は、次の表の通りである。
例えば、シンタックスエレメントadaptation_parameter_set_idは、他のシンタックスエレメントにより参照されるAPSの識別子(identifier)を提供する。
また、例えば、シンタックスエレメントaps_extension_flagはAPS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在するか否かを示す。例えば、値が1であるシンタックスエレメントaps_extension_flagはAPS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在することを示し、値が0であるシンタックスエレメントaps_extension_flagはAPS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在しないことを示す。
また、例えば、シンタックスエレメントaps_extension_data_flagは任意の値を有することができる。前記aps_extension_data_flagの存在(presence)と価値(value)は、この規格のバージョンにおいて明示されたプロファイルに対するデコーダ適合性に影響を及ぼさないことがある。例えば、この規格のバージョンに従うデコード装置は、全てのシンタックスエレメントaps_extension_data_flagを無視することができる。
また、例えば、シンタックスエレメントaps_params_typeは、後述の表10に示すように、APSに含まれたAPSパラメータのタイプを示す。
例えば、表10を参照すると、シンタックスエレメントaps_params_typeの値が0であると、前記シンタックスエレメントaps_params_typeは、APSパラメータのタイプがALFパラメータであることを示し、シンタックスエレメントaps_params_typeの値が1であると、前記シンタックスエレメントaps_params_typeは、APSパラメータのタイプがLMCSパラメータであることを示し、シンタックスエレメントaps_params_typeの値が2であると、前記シンタックスエレメントaps_params_typeは、APSパラメータのタイプがQpcパラメータであることを示す。Qpcデータパラメータはクロマ量子化データパラメータを示すことができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態においては、PPS(picture parameter set)においてユーザ定義Qpデータ(user defined Qp data)をシグナリングする方案を提案する。本実施形態において提案した方案を実行するための一例として、SPSにおいてPPSがユーザ定義データを含むか否かを示すフラグが導入されることがある。すなわち、SPSにおいてPPSがユーザ定義データを含むか否かを示すフラグがシグナリングされる。また、本実施形態によれば、PPSにおいて前記ユーザ定義データがシグナリングされる。または、スライスヘッダ(slice header)及び/又は他のヘッダセットにおいて前記ユーザ定義データがシグナリングされることもある。
PPSがユーザ定義データを含むか否かを示すフラグは、次の表のようにシグナリングされる。
例えば、シンタックスエレメントQpc_data_default_flagは、前述のフラグのシンタックスエレメントであり得る。前記シンタックスエレメントQpc_data_default_flagは、PPS RBSPシンタックス構造にQpc_data()パラメータが存在するか否かを示す。例えば、0のQpc_data_default_flagは、PPS RBSPシンタックス構造にQpc_data()パラメータが存在せず、デフォルトテーブル(default table)がクロマ量子化(chroma quantization)の決定を助けるために使用されることを示す。ここで、前記デフォルトテーブルは前述の表7のようである。また、例えば、1のQpc_data_default_flagは、PPS RBSPシンタックス構造にQpc_data()パラメータが存在することを示す。
また、本実施形態によるPPSにおいてシグナリングされる前記ユーザ定義データは、次の表の通りである。
一方、例えば、Qpc_data()は、ChromaArrayTypeが1であるときのクロマ量子化導出に必要な情報を含む。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態においては、クロマ量子化係数(Quantization Parameter:QP)導出とコンバイン(combined)クロマQP導出のための柔軟な構造(flexible structure)を提案する。本実施形態は、SPS及び/又はPPSにおいてクロマ量子化係数(QP)を導出するために使用される関数を示すパラメータ(parameters)が使用できるユーザ定義モード(user defined mode)の有無を示すイニシャルフラグ(initial flag)をシグナリングする方案を提案する。
例えば、本実施形態において提案したハイレベルシンタックス(high level syntax)においてシグナリングされるフラグ情報は、後述の表の通りである。
例えば、Qpc_data_present_flagは、ハイレベルシンタックスRBSPシンタックス構造にクロマ量子化係数を導出するためのパラメータが存在するか否かを示す。例えば、0のQpc_data_present_flagは、ハイレベルシンタックスRBSPシンタックス構造にクロマ量子化パラメータが存在しないことを示す。また、例えば、1のQpc_data_present_flagは、ハイレベルシンタックスRBSPシンタックス構造にクロマ量子化パラメータが存在することを示す。
または、前記シンタックスエレメントQpc_data_present_flagは、ビットストリームにおいてクロマ量子化導出の使用方案を示すために使われることもある。例えば、Qpc_data_present_flagは次のようにクロマ量子化導出のために使われるツール(tool)又はユーザ定義モードの使用を示すことができる。
例えば、Qpc_data_present_flagは、ビットストリームにおいてユーザ定義クロマ量子化(user defined chroma quantization)が使われるか否かを示す。例えば、0のQpc_data_present_flagは、ユーザ定義クロマ量子化がビットストリームにおいて使用されないことを示す。また、例えば、1のQpc_data_present_flagは、ユーザ定義クロマ量子化が単独で又は他のフラグと一緒に使用されることを示す。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態においては、1つの関数(function)においてシグナリングされるユーザ定義情報(user defined Information)を使ってクロマ量子化パラメータ(QP)、すなわち、Qp‘Cb、Qp‘Cr及びQp‘CbCrがどのように導出されるかの一実施形態を提案する。例えば、本実施形態によれば、クロマ量子化パラメータ(QP)を導出するための関数を示すデータがシグナリングされ、前記クロマ量子化データに基づいてクロマ量子化パラメータが導出される。前記クロマ量子化係数導出のためのデータ(又は、ユーザ定義QPマッピングテーブル(user defined QP mapping table))は、次の表のようにシグナリングされる。
前述の表14のシンタックスエレメント(syntax elements)に対するセマンティック(semantics)は、次の表の通りである。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小のqPiインデックスを示す。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックス間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、次の数式のように導出されることができる。
また、例えば、シンタックスエレメントQpC_qPi_val[i]は、i番目のインデックスに対するQp値を示す。
また、例えば、シンタックスエレメントQpOffsetは、Qpの導出に使われるオフセット値(offset value)を示す。
また、例えば、qPiに対する変数QpIdx[qPi]は以下のように導出できる。ここで、前記qPiは0からqPiMaxIdxであり得る。
-qPi<qPi_min_idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQpC_qPi_val[qPi]と同一に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-QpOffsetに設定される。
その後、Qpの値はQpIdx[qPi]として導出される。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表の通りである。
前述の表16を参照すると、ルマ及びクロマ量子化パラメータに対する導出プロセスは、前記プロセスに対する入力が、ルマ位置(xCb,yCb)、現在コーディングブロックの幅及び高さを指定する変数cbWidth、cbHeight及びシングルツリー(single tree)又はデュアルツリー(dual tree)であるかを指定する変数treeTypeであることから開始される。一方、前述のように、ルマ量子化パラメータ、クロマ量子化パラメータは、Qp’、Qp’Cb及びQp’Crと示される。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態は、SPS内のフラグがユーザ定義モード(user defined mode)又はデフォルトモード(default mode)を有することにより量子化パラメータの導出を制御するために使用できるシンタックスエレメントを使用する例を提案する。量子化パラメータを導出するために使用できるシンタックスエレメントの一例は、次の表の通りである。一方、前記シンタックスエレメントの構造は一例であり、前記構造は、下記の表に示された構造に制限されない。
例えば、シンタックスエレメントQpc_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQpc_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。また、例えば、1のQpc_data_default_flagは、デフォルトテーブルがクロマ量子化パラメータを導出するために使用されることを示す。ここで、前記デフォルトテーブルは前述の表7の通りである。また、前記シンタックスエレメントQpc_data_default_flagが存在しない場合、前記シンタックスエレメントQpc_data_default_flagは1とみなされる。
一方、前記ユーザ定義モードが使用される場合は、対応するスライスヘッダ、タイルグループ/ヘッダ、又は他の適切なヘッダがAPS IDのシグナリングに使用される。例えば、前記表18のようにスライスヘッダを介して前記APS IDを示すシンタックスエレメントがシグナリングされることができる。
例えば、シンタックスエレメントslice_Qp_aps_idは、スライスが参照されるQp APSのadaptation_parameter_set_idを示す。slice_Qp_aps_idのようなadaptation_parameter_set_idを有するQp APS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalIdより小さいか等しい。同一値のadaptation_parameter_set_idを有する複数のQp APSが同一のピクチャの2つ以上のスライスにより参照される場合、同一値のadaptation_parameter_set_idを有する複数のQp APSは同一のコンテンツ(content)を有することができる。
また、本実施形態において提案されたクロマ量子化データを伝達するAPS構造は、前述の表19の通りである。
例えば、シンタックスエレメントadaptation_parameter_set_idは、他のシンタックスエレメントにより参照されるAPSの識別子(identifier)を提供することができる。
また、例えば、シンタックスエレメントaps_extension_flagは、APS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在するか否かを示す。例えば、値が1であるシンタックスエレメントaps_extension_flagは、APS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在することを示し、値が0であるシンタックスエレメントaps_extension_flagは、APS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在しないことを示す。
また、例えば、シンタックスエレメントaps_extension_data_flagは任意の値を有することができる。前記aps_extension_data_flagの存在(presence)と価値(value)は、この規格のバージョンにおいて明示されたプロファイルに対するデコーダ適合性に影響を及ぼさない場合がある。例えば、この規格のバージョンに従うデコード装置は、全てのシンタックスエレメントaps_extension_data_flagを無視することができる。
また、例えば、シンタックスエレメントaps_params_typeは、前述の表10に示しているように、APSに含まれたAPSパラメータのタイプを示す。
前述の表19に開示されたQp_data()は、次の表のようにシグナリングされる。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小のqPiインデックスを示す。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックス間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出されることができる。
また、例えば、シンタックスエレメントQp_prec_minus1に1を加えた値は、シンタックスlmcs_delta_abs_cw[i]の表現(representation)に対して使われるビット(bits)の数を示す。Qp_prec_minus1の値は0ないしBitDepthY-2の範囲にあり得る。
また、例えば、シンタックスエレメントQp_init_valはqPi_min_idxに対応するQp値を示す。
また、例えば、シンタックスエレメントQp_qPi_delta_val[i]は、i番目のインデックスに対するQp値のデルタ(delta)を示す。
また、例えば、シンタックスエレメントQpOffsetは、Qpの導出に使われるオフセット値(offset value)を示す。
例えば、qPiに対する変数QpIdx[qPi]は以下のように導出される。ここで、前記qPiは0からqPiMaxIdxであり得る。
-qPi<qPi_min_idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_delta_val[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-QpOffsetに設定される。
その後、Qpの値はQpIdx[qPi]と導出されることができる。
前述の実施形態のように、クロマ量子化パラメータ、すなわち、Qp‘Cb、Qp‘Cr及びQp‘CbCrはシグナリングされるユーザ定義情報を使用して、又は、前述の表7のようなデフォルトテーブルに示されたデフォルト値を使用して導出されることができる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表の通りである。
前述の表21を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは本実施形態において提案しているようにシグナリングされるユーザ定義情報に基づいて導出され、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出される。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態は、SPSのフラグがユーザ定義モード又はデフォルトモードを示すことにより量子化パラメータの導出をコントロールするために使用できるシンタックスエレメントを提案する。具体的に、本実施形態は、以下のようなシンタックス構造のシンタックスエレメントをシグナリングする方案を提案する。一方、前記シンタックスエレメントの構造は一例であり、前記構造は下記の表に示された構造に制限されない。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小のqPiインデックスを示す。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出されることができる。
また、例えば、シンタックスエレメントQp_qPi_delta_val[i]は、i番目のインデックスに対するQp値のデルタ(delta)を示す。
また、例えば、シンタックスエレメントQpOffsetは、前述のようなQpの導出に使われるオフセット値(offset value)を示す。
前述の実施形態のように、クロマ量子化パラメータ、すなわち、Qp‘Cb、Qp‘Cr及びQp‘CbCrはシグナリングされるユーザ定義情報を使用して又は前述の表7のようなデフォルトテーブルに示されたデフォルト値を使用して導出されることができる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表の通りである。
前述の表23を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、次のようにそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてQpの値と同一に導出されることができる。
例えば、変数QpIdx[i]は以下のように導出される。
-i<qPi_min_idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-i=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[i]はQp_qPi_delta_val[i]+QpIdx[i-1]に設定される。
-i>qPiMaxIdxである場合、QpIdx[i]はqPi-QpOffsetに設定される。
その後、前記Qpは前記QpIdx[i]に設定されることができる。
また、表23を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr、qPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出される。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態はAPS(Adaptation Parameter Set)においてクロマ量子化(Qp)導出パラメータに対するシンタックスエレメントを提案する。例えば、スライスヘッダにおいてAPS IDがシグナリングされることができる。また、例えば、デフォルトテーブルが使われるか又はAPSにおいてシグナリングされる情報から導出されるテーブルが使われるかを示すPPS(picture parameter set)内のフラグが提案される。また、例えば、前記デフォルトテーブルが使用されない場合、スライスヘッダにQpデータを含むAPSに対するアクセス(access)をサポートするための追加的な制御方案が加えられる。
一方、既存のビデオ/映像標準によれば、クロマQPはルマQPから導出され、追加的に、シグナリングされたクロマQPオフセットによりアップデートされることができる。既存のクロマ量子化パラメータQpCテーブルは、前述の表7のようなデフォルトテーブルであり得る。
本実施形態は、インデックスqPiの関数としてクロマ量子化パラメータQpをシグナリングするための機能を追加することを提案する。APSは、Qp値のシグナリング方案の統合に使用される。
例えば、本実施形態によるAPSは、次の表の通りである。
例えば、シンタックスエレメントadaptation_parameter_set_idは、他のシンタックスエレメントにより参照されるAPSの識別子(identifier)を提供する。
また、例えば、シンタックスエレメントaps_params_typeは、前述の表10に示されているように、APSに含まれたAPSパラメータのタイプを示す。
また、例えば、シンタックスエレメントaps_extension_flagは、APS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在するか否かを示す。例えば、値が1であるシンタックスエレメントaps_extension_flagは、APS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在することを示し、値が0であるシンタックスエレメントaps_extension_flagは、APS RBSPシンタックス構造にaps_extension_data_flagシンタックスエレメントが存在しないことを示す。
また、例えば、シンタックスエレメントaps_extension_data_flagは任意の値を有する。前記aps_extension_data_flagの存在(presence)と価値(value)は、この規格のバージョンにおいて明示されたプロファイルに対するデコーダ適合性に影響を及ぼさない場合がある。例えば、この規格のバージョンに従うデコード装置は、全てのシンタックスエレメントaps_extension_data_flagを無視することができる。
前述の表24に開示されたQp_data()は、次の表のようにシグナリングされる。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小のqPiインデックスを示す。qPi_min_idxの値は0ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。また、例えば、qPi_delta_max_idxの値は0ないし63の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出される。
また、例えば、シンタックスエレメントQp_qPi_delta_val[i]は、i番目のインデックスに対するQp値の差(difference)を示す。前記差はデルタと呼ばれてもよい。
また、例えば、シンタックスエレメントQpOffset_present_flagは、ビットストリームにQpOffsetが存在するか否かを示す。例えば、1のQpOffset_present_flagはビットストリームにQpOffsetが存在することを示す。また、例えば、0のQpOffset_present_flagはビットストリームにQpOffsetが存在しないことを示す。QpOffset_present_flagが存在しない場合、QpOffset_present_flagは0とみなされる。
また、例えば、シンタックスエレメントQpOffsetは、Qpの導出に使われるオフセット値(offset value)を示す。
例えば、qPiに対する変数QpIdx[qPi]は以下のように導出される。ここで、前記qPiは0から63であり得る。
-qPi<qPi_min_Idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_delta_val[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpOffset_present_flagが1であると、QpIdx[qPi]はqPi-QpOffsetに設定され、QpOffset_present_flagが1でないと、すなわち、QpOffset_present_flagが0であると、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、Qpの値はQpIdx[qPi]と導出される。
また、本実施形態は、次の表のようなPPSでシグナリングされるフラグを提案する。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モード(user defined mode)が使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータを導出するためにユーザ定義モードが使用されることを示す。また、例えば、1のQp_data_default_flagは、量子化パラメータを導出するために前述したデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。Qp_data_default_flagが存在しない場合、Qp_data_default_flagは1とみなされる。
また、本実施形態は、次の表のようにスライスヘッダでシグナリングされるシンタックスエレメントを提案する。
例えば、シンタックスエレメントslice_Qp_aps_idは、スライスが参照するQp APSのadaptation_parameter_set_idを示す。slice_Qp_aps_idのようなadaptation_parameter_set_idを有するQp APS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalIdより小さいか等しい。同一値のadaptation_parameter_set_idを有する複数のQp APSが同一のピクチャの2つ以上のスライスにより参照される場合、同一値のadaptation_parameter_set_idを有する複数のQp APSは同一のコンテンツ(content)を有することができる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表のように示すことができる。
前述の表28を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出される。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態においては、SPSにおけるクロマ量子化のユーザ定義誘導を以下のようにシグナリングすることが提案される。例えば、本実施形態はユーザ定義クロマ量子化(Qp)を提案する。例えば、SPSのフラグがクロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためのテーブルの内容をSPSにおいてシグナリングされた情報から導出するかを示すことができる。
例えば、本実施形態は、次の表に示されたシンタックスエレメントを使用してインデックスqPiの関数としてクロマ量子化を行う方案を提案する。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は0ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_delta_max_idxの値は0ないし63の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出されることができる。
また、例えば、シンタックスエレメントQp_qPi_delta_val[i]は、i番目のインデックスに対するQp値のデルタ(delta)を示す。
例えば、変数QpIdx[qPi]は以下のように導出される。
-qPi<qPi_min_Idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_delta_val[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定される。
また、本実施形態に提案されるクロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すSPSのフラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表の通りである。
前述の表31を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr、qPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態はインデックスqPiの関数としてクロマ量子化パラメータQpをシグナリングするための機能を追加することを提案する。例えば、PPSにおいて量子化パラメータを導出するためのユーザ定義テーブル(user defined table)に対するシンタックスエレメントをシグナリングする方案が提案され、これにより、PPSを参照する各ピクチャにユーザ定義テーブルとデフォルトテーブルの間を切り替えできる柔軟性を提供することができる。
本実施形態において提案されるPPSにおいてシグナリングされるユーザ定義テーブル(user defined table)に対するシンタックスエレメントは、次の表の通りである。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は0ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_delta_max_idxの値は0ないし63の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出されることができる。
また、例えば、シンタックスエレメントQpC_qPi_delta_val[i]は、i番目のインデックスに対するQp値のデルタ(delta)を示す。
例えば、変数QpIdx[qPi]は以下のように導出されることができる。
-qPi<qPi_min_Idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_delta_val[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定される。
また、本実施形態に提案されるクロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すSPSのフラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記のクロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされることができる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表の通りである。
前述の表34を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr、qPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態は、クロマ量子化パラメータQpを導出及びシグナリングする一般的なモードを提案する。
本実施形態において提案されるクロマ量子化パラメータに対するクロマ量子化パラメータデータ、Qp_data()は、次の表のようにシグナリングされる。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は0ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_delta_max_idxの値は0ないし63の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出されることができる。
また、例えば、シンタックスエレメントQpC_qPi_delta_val[i]は、i番目のインデックスに対するQp値のデルタ(delta)を示す。
例えば、変数QpIdx[qPi]は以下のように導出されることができる。
-qPi<qPi_min_Idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_delta_val[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定される。
また、本実施形態は、クロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すフラグをシグナリングする方案を提案する。前記フラグは、SPS(sequence parameter set)、又はPPS(picture parameter set)などのハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。ハイレベルシンタックスを介してシグナリングされる前記フラグは次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記のクロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされることができる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記のデフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表の通りである。
前述の表37を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出される。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態は、オフセットなしにクロマ量子化パラメータQpテーブルを導出する方案を提案する。本実施形態は、APSと共に使用されることができ、又は独立的に使用されるように提案されることもできる。例えば、クロマ量子化データと統合されたAPSのシンタックス構造は、次の表の通りである。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は0ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_delta_max_idxの値は0ないし63の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出されることができる。
また、例えば、シンタックスエレメントQpC_qPi_delta_val[i]は、i番目のインデックスに対するQp値の差(difference)を示す。前記差はデルタ(delta)と呼ばれてもよい。
例えば、変数QpIdx[qPi]は以下のように導出される。ここで、前記qPiは0から63であり得る。
-qPi<qPi_min_Idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_delta_val[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定される。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態は、連続的なQp値間のデルタ(又は差)が1に制限される方案を一例として提示する。
例えば、本実施形態は、既存の映像/ビデオ標準にユーザ定義クロマ量子化(Qp)を追加する方案を提案する。例えば、本実施形態において提案されるSPS(sequence parameter set)のフラグは、クロマ量子化パラメータ導出のために既存のデフォルトテーブルを使用するか又はテーブルの内容をSPSにおいてシグナリングされた情報に基づいて導出するかを示す。本実施形態によれば、ユーザ定義クロマ量子化を受容してコーディングされる映像に適した方案が選択されることができ、コーディング効率を向上させることができる。
例えば、本実施形態は、次の表のようなシンタックスエレメントを使用してインデックスqPiの関数としてクロマ量子化(Chroma Quantization)Qpをシグナリングする機能を追加することを提案する。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は1ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_delta_max_idxの値は1ないし63の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出されることができる。
また、例えば、シンタックスエレメントQp_qPi_flag[i]は、Qp値が1増加するか否かを示す。すなわち、例えば、シンタックスエレメントQp_qPi_flag[i]は、i番目のQp値が(i-1)番目のQp値より1増加するか否かを示すことができる。例えば、1のQp_qPi_flag[i]はQp値が1増加することを示し、0のQp_qPi_flag[i]はQp値が増加していないことを示す。
例えば、変数QpIdx[qPi]は以下のように導出されることができる。ここで、前記qPiは0から63であり得る。
-qPi<qPi_min_Idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_flag[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定される。
また、本実施形態は、クロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すフラグをシグナリングする方案を提案する。前記フラグは、SPS(sequence parameter set)、又はPPS(picture parameter set)などのハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。ハイレベルシンタックスを介してシグナリングされる前記フラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記のクロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされることができる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表の通りである。
前述の表41を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、qPCb、変数qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr、qPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態は、クロマQP導出のためのデータシグナリング構造の一例を提案する。具体的に、本実施形態は、SPSにおいて新たなシンタックスエレメント(syntax element)であるchroma_qp_mapping_flagを追加する方案を提案する。例えば、前記chroma_qp_mapping_flagの値が0である場合、クロマ量子化パラメータの導出のためにデフォルト(default)クロマQPマッピングテーブルが使用されることができる。また、例えば、前記chroma_qp_mapping_flagの値が1である場合、クロマQPマッピングテーブルを導出するために使用されるシンタックスエレメントが次の表のようにシグナリングされることができる。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、クロマ量子化パラメータの導出のために前述の表42に示されたクロマ量子化パラメータデータに基づいて導出されるクロマQPマッピングテーブルが使用されることを示す。前記Qp_data_default_flagが0である場合、前述の表42に示されたクロマ量子化パラメータデータがシグナリングされることができる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
また、例えば、シンタックスエレメントqPi_delta_max_idx_minus1に1を加えた値は、マッピング関数(mapping function)が増加しないポイント(points)の数を示す。
また、例えば、シンタックスエレメントqPi_min_idx_minus1は、マッピング関数が増加しないポイントのセットの1番目の要素(first element)を示す。
また、例えば、シンタックスエレメントQp_qPi_flag[i]は、マッピング関数が増加しないポイントのセットのi番目の要素と(i-1)番目の要素間のデルタ値(delta value)を示す。
表42に示されたクロマ量子化パラメータデータに基づいてクロマQPマッピングテーブルは次のように導出されることができる。
例えば、変数cQpFlatSizeは、次の数式のように導出されることができる。
また、例えば、変数cQpFlat[]は、次の表のように導出されることができる。
その後、前記変数cQpFlatSize及び前記変数cQpFlat[]に基づいてクロマQPマッピングテーブルが次の表のように導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態は、SPSにおいて新たなシンタックスエレメントであるchroma_qp_mapping_flagを追加することを提案する。例えば、前記chroma_qp_mapping_flagの値が0である場合、クロマ量子化パラメータの導出のためにデフォルト(default)クロマQPマッピングテーブルが使用される。また、例えば、前記chroma_qp_mapping_flagの値が1である場合、クロマQPマッピングテーブルを導出するために使用されるシンタックスエレメントが次の表のようにシグナリングされる。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、クロマ量子化パラメータの導出のために前述の表42に示されたクロマ量子化パラメータデータに基づいて導出されるクロマQPマッピングテーブルが使用されることを示す。前記Qp_data_default_flagが0である場合、前述の表42に示されたクロマ量子化パラメータデータがシグナリングされる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7にようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
また、例えば、シンタックスエレメントqPi_delta_max_idx_minus1に1を加えた値は、マッピング関数(mapping function)が増加しないポイント(points)の数を示す。
また、例えば、シンタックスエレメントqPi_min_idx_minus1に1を加えた値はマッピング関数が増加しないポイントのセットの1番目の要素(first element)を示す。
また、例えば、シンタックスエレメントQp_qPi_idx_minus1[i]に1を加えた値はマッピング関数が増加しないポイントのセットのi番目の要素と(i-1)番目の要素間のデルタ値(delta value)を示す。
表45に示されたクロマ量子化パラメータデータに基づいてクロマQPマッピングテーブルは次のように導出されることができる。
例えば、変数cQpFlatSizeは、前述の数式5のように導出されることができる。
また、例えば、変数cQpFlat[]は、次の表のように導出されることができる。
その後、前記変数cQpFlatSize及び前記変数cQpFlat[]に基づいてクロマQPマッピングテーブルが導出されることができる。例えば、前記クロマQPマッピングテーブルは、前述の表44のように導出される。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。
例えば、本実施形態はそれぞれのクロマ成分に対する個別テーブルをシグナリングする方案を提案する。すなわち、例えば、本実施形態は、それぞれのクロマ成分に対するクロマQPマッピングテーブルを導出するために使用されるシンタックスエレメントをシグナリングする方案を提案する。
例えば、それぞれのクロマ成分に対するクロマQPマッピングテーブルが導出され、それぞれのクロマ成分に対するシンタックスエレメントは、次の表のようにシグナリングされることができる。
例えば、シンタックスエレメントqp_luma_to_chroma_joint_map_flagは、共通の(common)ルマ-クロマ量子化パラメータマッピングテーブルがクロマ成分Cb、Cr及びCbCrに使用されるか否かを示す。すなわち、例えば、シンタックスエレメントqp_luma_to_chroma_joint_map_flagは、1つのルマ-クロマ量子化パラメータマッピングテーブルがCbレジデュアル(Cb residual)、Crレジデュアル(Cr residual)及びCbCrレジデュアル(CbCr residual)に対して適用されるか否かを示す。例えば、qp_luma_to_chroma_joint_map_flagの値が1である場合、共通の(common)ルマ-クロマ量子化パラメータマッピングテーブルがクロマ成分Cb、Cr及びCbCrに対して使用され、qp_luma_to_chroma_joint_map_flagの値が0である場合、クロマ成分Cb、Cr及びCbCrのそれぞれに対して個別的なルマ-クロマ量子化パラメータマッピングテーブルが使用される。
また、例えば、シンタックスエレメントqPi_min_idx_minus1に1を加えた値は、クロマ量子化に使用される最小(minimum)qPiインデックスを示す。qPi_min_idx_minus1の値は1ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idx_minus1に1を加えた値は、Qpi_min_idxとクロマQp導出に使われる最大qPiインデックス間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。例えば、qPi_delta_max_idx_minus1の値は1ないし63の範囲にあり得る。Qp導出に使用される最大インデックスqPiMaxIdxは、次の数式のように導出される。
また、例えば、シンタックスエレメントQp_qPi_flag[j]は、Qp値が1増加するか否かを示す。すなわち、例えば、シンタックスエレメントQp_qPi_flag[i][j]は、i番目のクロマ成分のj番目のQp値が(j-1)番目のQp値より1増加するか否かを示す。例えば、1のQpC_qPi_flag[j]はQp値が1増加することを示し、0のQpC_qPi_flag[j]はQp値が増加していないことを示す。
例えば、変数QpIdx[i][qPi]は次のように導出されることができる。ここで、前記qPiは0からmaxQpであり得る。
-qPi<qPi_min_idx_minus1+1である場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx_minus1+1・・・qPiMaxIdxである場合、QpIdx[qPi]はQpC_qPi_flag[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpの値は前記QpIdx[i][qPi]と導出されることができる。
一方、本実施形態によれば、SPSでクロマQPマッピングテーブルを導出するために使用されるシンタックスエレメントがシグナリングされるか又はデフォルトテーブルが使用されるかを示すフラグがシグナリングされることができる。例えば、前記フラグは、次の表のようにシグナリングされる。
シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、クロマ量子化パラメータの導出のために前述の表47に示されたクロマ量子化パラメータデータに基づいて導出されるクロマQPマッピングテーブルが使用されることを示す。前記Qp_data_default_flagが0である場合、前述の表47に示されたクロマ量子化パラメータデータがシグナリングされる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表のように示すことができる。
前述の表49を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出される。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr、qPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出される。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。本実施形態は、終了ポイント(end point)を最大QPに対するデルタ(delta)でシグナリングすることにより、開始ポイント(staring point)と終了ポイントとの間の最大差をシグナリングする方案を提案する。すなわち、例えば、本実施形態によれば、クロマQpC導出に使われるmaxQpと最大qPiインデックスの間のデルタ値を示すシンタックスエレメントがシグナリングされる。
本実施形態において提案されるクロマ量子化パラメータに対するクロマ量子化パラメータデータ、Qp_data()は、次の表のようにシグナリングされる。
例えば、シンタックスエレメントqPi_min_idxは、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は0ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idxは、maxQpとクロマQp導出に使用される最大qPiインデックス間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_delta_max_idxの値は1ないし63の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、次の数式のように導出されることができる。
また、例えば、シンタックスエレメントQp_qPi_flag[i]は、Qp値が1増加するか否かを示す。すなわち、例えば、シンタックスエレメントQp_qPi_flag[i]は、i番目のQp値が(i-1)番目のQp値より1増加するか否かを示す。例えば、1のQp_qPi_flag[i]はQp値が1増加することを示し、0のQp_qPi_flag[i]はQp値が増加していないことを示す。
例えば、変数QpIdx[qPi]は以下のように導出されることができる。ここで、前記qPiは0から63であり得る。
-qPi<qPi_min_Idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQpC_qPi_flag[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定される。
また、本実施形態は、クロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すフラグをシグナリングする方案を提案する。前記フラグは、SPS(sequence parameter set)、又はPPS(picture parameter set)などのハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。ハイレベルシンタックスを介してシグナリングされる前記フラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記のクロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされることができる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表のように示すことができる。
前述の表52を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。本実施形態は、終了ポイント(end point)を最大QPに対するデルタで又は開始ポイント(starting point)と開始ポイントにデルタを加算した値の差でシグナリングすることにより、開始ポイントと終了ポイントとの間の最大差をシグナリングすることを提案する。
本実施形態において提案されるクロマ量子化パラメータに対するクロマ量子化パラメータデータ、Qp_data()は、次の表のようにシグナリングされる。
例えば、シンタックスエレメントqPi_min_idx_minus1に1を加えた値は、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は1ないしmaxQpの範囲にあり得る。
また、例えば、シンタックスエレメントis_delta_maxQpは、最大インデックスqPiMaxIdxがmaxQp値から導出されるか否かを示す。例えば、1のis_delta_maxQpはqPiMaxIdxがmaxQp値から導出されることを示す。また、例えば、0のis_delta_maxQpはqPiMaxIdxがシンタックスエレメントqPi_min_idx_minus1から導出されることを示す。
また、例えば、シンタックスエレメントqPi_delta_max_idx_minus1に1を加えた値は、maxQpとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。例えば、qPi_delta_max_idx_minus1の値は1ないし63の範囲にあり得る。Qp導出に使用される最大インデックスqPiMaxIdxは、次の表のように導出されることができる。
また、例えば、シンタックスエレメントQp_qPi_flag[i]は、Qp値が1増加するか否かを示す。すなわち、例えば、シンタックスエレメントQp_qPi_flag[i]は、i番目のQp値が(i-1)番目のQp値より1増加するか否かを示す。例えば、1のQp_qPi_flag[i]はQp値が1増加することを示し、0のQp_qPi_flag[i]はQp値が増加していないことを示す。
例えば、変数QpIdx[qPi]は以下のように導出される。ここで、前記qPiは0からmaxQpであり得る。
-qPi<qPi_min_idx_minus1+1である場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx_minus1・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_flag[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定される。
また、本実施形態は、クロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すフラグをシグナリングする方案を提案する。前記フラグは、SPS(sequence parameter set)、又はPPS(picture parameter set)などのハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。ハイレベルシンタックスを介してシグナリングされる前記フラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記クロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出するプロセスを標準形式で記載すると、次の表の通りである。
前述の表56を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。本実施形態は、終了ポイント(end point)を最大QPに対するデルタで又は開始ポイント(starting point)と開始ポイントにデルタを加算した値の差でシグナリングすることにより、開始ポイントと終了ポイントとの間の最大差をシグナリングすることを提案する。
本実施形態において提案されるクロマ量子化パラメータに対するクロマ量子化パラメータデータ、Qp_data()は、次の表のようにシグナリングされる。
例えば、シンタックスエレメントqPi_min_idx_minus1に1を加えた値は、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は1ないしmaxQpの範囲にあり得る。
また、例えば、シンタックスエレメントis_delta_maxQpは、最大インデックスqPiMaxIdxがmaxQp値から導出されるか否かを示す。例えば、1のis_delta_maxQpはqPiMaxIdxがmaxQp値から導出されることを示す。また、例えば、0のis_delta_maxQpはqPiMaxIdxがシンタックスエレメントqPi_min_idx_minus1から導出されることを示す。
また、例えば、シンタックスエレメントqPi_delta_max_idx_minus1に1を加えた値は、maxQpとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。例えば、qPi_delta_max_idx_minus1の値は1ないし63の範囲にあり得る。Qp導出に使用される最大インデックスqPiMaxIdxは、前述の表54のように導出されることができる。
また、例えば、シンタックスエレメントQp_qPi_flag[i]は、Qp値が1増加するか否かを示す。すなわち、例えば、シンタックスエレメントQp_qPi_flag[i]は、i番目のQp値が(i-1)番目のQp値より1増加するか否かを示す。例えば、1のQpC_qPi_flag[i]はQp値が1増加することを示し、0のQpC_qPi_flag[i]はQp値が増加していないことを示す。
例えば、変数QpIdx[qPi]は以下のように導出される。ここで、前記qPiは0からmaxQpであり得る。
-qPi<qPi_min_idx_minus1+1である場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx_minus1・・・qPiMaxIdxである場合、QpIdx[qPi]はQpC_qPi_flag[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定されることができる。
また、本実施形態は、クロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すフラグをシグナリングする方案を提案する。前記フラグは、SPS(sequence parameter set)、又はPPS(picture parameter set)などのハイレベルシンタックス(high level syntax)を介してシグナリングされる。ハイレベルシンタックスを介してシグナリングされる前記フラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記のクロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記のデフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表のように示すことができる。
前述の表59を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出される。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。本実施形態は、実際値の代わりにminus1命名法(minus1 nomenclature)を用いてクロマQPマッピングテーブルに対するインデックスをシグナリングする方案を提案する。
本実施形態において提案されるクロマ量子化パラメータに対するクロマ量子化パラメータデータ、Qp_data()は、次の表のようにシグナリングされる。
例えば、シンタックスエレメントqPi_min_idx_minus1に1を加えた値は、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は1ないし63の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idx_minus1に1を加えた値はqPi_min_idxとクロマQp導出に使われる最大qPiインデックス間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_delta_max_idxの値は1ないし63の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、次の数式のように導出されることができる。
また、例えば、シンタックスエレメントQp_qPi_flag[i]は、Qp値が1増加するか否かを示す。すなわち、例えば、シンタックスエレメントQp_qPi_flag[i]は、i番目のQp値が(i-1)番目のQp値より1増加するか否かを示す。例えば、1のQp_qPi_flag[i]はQp値が1増加することを示し、0のQp_qPi_flag[i]はQp値が増加していないことを示す。
例えば、変数QpIdx[qPi]は以下のように導出されることができる。ここで、前記qPiは0から63であり得る。
-qPi<qPi_min_idx_minus1+1である場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx_minus1+1・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_flag[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記QpCは前記QpIdx[qPi]に設定されることができる。
また、本実施形態は、クロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すフラグをシグナリングする方案を提案する。前記フラグは、SPS(sequence parameter set)、又はPPS(picture parameter set)などのハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。ハイレベルシンタックスを介してシグナリングされる前記フラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記のクロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされることができる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表のように示すことができる。
前述の表62を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr、qPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。本実施形態は、個別のクロマ量子化テーブルがそれぞれのクロマ成分に対して使用される方案を提案する。
本実施形態において提案されるクロマ量子化パラメータに対するクロマ量子化パラメータデータは、次の表のようにシグナリングされることができる。
例えば、シンタックスエレメントQp_data_default_flagは、デフォルトクロマ量子化パラメータテーブルが使用されるか否かを示す。例えば、1のQp_data_default_flagは、クロマ量子化パラメータの導出のためにデフォルトクロマ量子化パラメータテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、例えば、0のQp_data_default_flagは、クロマ量子化パラメータの導出のためにデフォルトクロマ量子化パラメータテーブルが使用されないことを示す。すなわち、例えば、0のQp_data_default_flagは、クロマ量子化パラメータの導出のためにシグナリングされるクロマ量子化パラメータデータに基づいて導出されるクロマ量子化パラメータテーブルが使用されることを示す。
また、例えば、シンタックスエレメントsps_separate_qpc_table_flagは、Cbサンプル及びCrサンプルに対して、2つの個別Qpテーブルが使用されるか否かを示す。すなわち、例えば、シンタックスエレメントsps_separate_qpc_table_flagは、Cbレジデュアル(Cb residual)、Crレジデュアル(Cr residual)のそれぞれに対して個別的なルマ-クロマ量子化パラメータマッピングテーブルが使用されるか否かを示すことができる。例えば、1のsps_separate_qpc_table_flagは、Cbサンプル及びCrサンプルのそれぞれに対して個別的なQpテーブルが使用されることを示し、0のsps_separate_qpc_table_flagは、Cbサンプル及びCrサンプルに対して1つのQpテーブルが使用されることを示す。
一方、例えば、変数QpCb[i]は、Cbサンプルに使用されるQpテーブルを示す。また、例えば、変数QpCr[i]は、Crサンプルに使用されるQpテーブルを示す。また、例えば、sps_separate_qpc_table_flagの値が0である場合、QpCr[i]はQpCb[i]と同一であり得る。ここで、iは0から69であり得る。
また、例えば、シンタックスエレメントqPi_cb_min_idx_minus1に1を加算した値はCbクロマ成分に使用される最小qPiインデックスを示す。qPi_cb_min_idx_minus1の値は1ないし69の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_cb_delta_max_idx_minus1に1を加えた値はqPi_cb_min_idx_minus1とCbクロマQp導出に使われる最大qPi_cb_delta_idx_minus1の間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_cb_delta_max_idx_minus1の値は1ないし69の範囲にあり得る。例えば、Cb成分に対するQp導出に使われる最大インデックスqPiMaxIdxcbは次の数式のように導出されることができる。
また、例えば、シンタックスエレメントQp_cb_qPi_flag[i]は、Cb成分に対するi番目のQp値QpCb[i]と(i-1)番目のQp値QpCb[i-1]の間のデルタ値(delta values)を示す。Qp_cb_qPi_flag[i]の値は0ないし1の範囲にあり得る。
例えば、変数QpCb[i]は次のように導出される。ここで、前記iは0から69であり得る。
-i=0..qPiMaxIdxCbの場合、qPCb[i]はiと同一に設定される。
-i=qPi_cb_min_idx_minus1+1+1..qPiMaxIdxCbの場合、QpCb[i]はQpCb[i-1]+Qp_cb_qPi_flag[i]に設定される。
-i=qPiMaxIdxCb+1...69の場合、QpCb[i]はi-deltaEndに設定され、deltaEndはqPiMaxIdxCb-qPCb[qPiMaxIdxCb]と導出されることができる。
また、例えば、Cr成分に対するシンタックスエレメントであるqPi_cr_min_idx_minus1、qPiMaxIdxCr及びQp_cr_qPi_flag[i]は、Cb成分に対するシンタックスエレメント同一の意味を有する。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。例えば、本実施形態は複数のクロマQPテーブルに対するパラメータをシグナリングする方案を提案する。また、本実施形態は、前述の実施形態のうち少なくとも1つと連結されることもできる。すなわち、例えば、本文書の実施形態は共通的に適用されることもできる。
具体的には、例えば、本実施形態は、VVC仕様テキスト(VVC Specification Text)にユーザ定義クロマ量子化パラメータ(Qp)を含むことを提案する。例えば、本実施形態によれば、SPS(sequence parameter set)のフラグは、クロマ量子化パラメータの導出のためにデフォルトテーブルを使用するか又はクロマQPマッピングテーブルをSPSにおいてシグナリングされた情報に基づいて導出するか否かを示す。これにより、映像コーディングにおける映像のコンテンツ特性を考慮してユーザ定義クロマ量子化パラメータが使用されることができ、コーディング効率を向上させることができる。また、本実施形態は、クロマ成分に対して1つのユーザ定義テーブルが使用されるオプションとCb構成要素及びCr構成要素に対して別途のユーザ定義テーブルが使用されるオプションとして柔軟性(flexibility)を提供することができる。
例えば、本実施形態において提案されるクロマ量子化パラメータに対するクロマ量子化パラメータデータQp_data()は、次の表のようにシグナリングされる。
例えば、シンタックスエレメントqPi_min_idx_minus1に1を加えた値は、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は1ないし69の範囲にあり得る。
また、例えば、シンタックスエレメントqPi_delta_max_idxはqPi_min_idxとクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdxの値はqPi_min_idxより大きいか等しい。qPi_delta_max_idxの値は0ないし69の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdxは、前述の数式4のように導出されることができる。
また、例えば、シンタックスエレメントQp_qPi_flag[i]は、Qp値が1増加するか否かを示すことができる。すなわち、例えば、シンタックスエレメントQp_qPi_flag[i]は、i番目のQp値が(i-1)番目のQp値より1増加するか否かを示す。例えば、1のQp_qPi_flag[i]はQp値が1増加することを示し、0のQp_qPi_flag[i]はQp値が増加していないことを示す。
例えば、変数QpIdx[qPi]は以下のように導出できる。ここで、前記qPiは0から69であり得る。
-qPi<qPi_min_Idxである場合、QpIdx[qPi]はqPiと同一に設定される。
-qPi=qPi_min_idx・・・qPiMaxIdxである場合、QpIdx[qPi]はQp_qPi_flag[qPi]+QpIdx[qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[qPi]はqPi-(qPiMaxIdx-QpIdx[qPiMaxIdx])に設定される。
その後、前記Qpは前記QpIdx[qPi]に設定される。
また、本実施形態は、クロマ量子化導出のためにデフォルトテーブルを使用するか又はシグナリングされる情報に基づいて導出されるクロマQPマッピングテーブルが使用されるかを示すフラグをシグナリングする方案を提案する。前記フラグは、SPS(sequence parameter set)、又はPPS(picture parameter set)などのハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。ハイレベルシンタックスを介してシグナリングされる前記フラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記クロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされることができる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7のようである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表のように示すことができる。
前述の表66を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr、qPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、例えば、本実施形態において提案されるクロマ成分のそれぞれに対して別途のユーザ定義テーブルが使用される場合のクロマ量子化パラメータデータQp_data()は、次の表のようにシグナリングされることができる。
例えば、シンタックスエレメントis_separate_chroma_tableは、Cb成分及びCr成分に対して別途のクロマ量子化テーブル関連パラメータがシグナリングされるか否かを示す。すなわち、例えば、シンタックスエレメントis_separate_chroma_tableは、Cb成分及びCr成分に対して2つの個別クロマ量子化パラメータマッピングテーブルが使用されるか否かを示すことができる。例えば、シンタックスエレメントis_separate_chroma_tableは、Cbレジデュアル(Cb residual)、Crレジデュアル(Cr residual)のそれぞれに対して個別的なルマ-クロマ量子化パラメータマッピングテーブルが使用されるか否かを示すことができる。例えば、1のis_separate_chroma_tableは、Cb成分及びCr成分に対して別途のクロマ量子化パラメータマッピングテーブルがシグナリングされることを示し、0のis_separate_chroma_tableは、Cb要素及びCr要素及びジョイント(joint)CbCr要素に対して1つのクロマ量子化パラメータマッピングテーブルが使用されることを示す。例えば、is_separate_chroma_tableの値が1である場合、Cb成分に対するqPi_min_idx_minus1[i]、qPi_delta_max_Idx[i]及びQp_qPi_flag[i][j]とCr成分に対するqPi_min_idx_minus1[i]、qPi_delta_max_Idx[i]及びQp_qPi_flag[i][j]がシグナリングされることができる。また、例えば、is_separate_chroma_tableの値が0である場合、Cb成分及びCr成分及びジョイント(joint)CbCr成分に対するqPi_min_idx_minus1[i]、qPi_delta_max_Idx[i]及びQp_qPi_flag[i][j]がシグナリングされることができる。
また、例えば、シンタックスエレメントqPi_min_idx_minus1[i]に1を加えた値は、クロマ量子化に使用される最小qPiインデックスを示す。qPi_min_idxの値は1ないし69の範囲にあり得る。変数qPi_min_Idx[i]はqPi_min_idx_minus1[i]に1を加算した値と同一に設定される。
また、例えば、シンタックスエレメントqPi_delta_max_idxはqPi_min_Idx[i]とクロマQp導出に使われる最大qPiインデックスの間のデルタ値(delta value)を示す。qPiMaxIdx[i]の値はqPi_min_Idx[i]より大きいか等しい。qPi_delta_max_idxの値は0ないし69の範囲にあり得る。例えば、Qp導出に使われる最大インデックスqPiMaxIdx[i]は次の数式のように導出されることができる。
qPiMaxIdx[i]の値はqPi_min_idx_minus1[i]より大きいか等しい。
また、例えば、シンタックスエレメントQp_qPi_flag[i][j]は、i番目のクロマ成分のj番目のQp値が1増加するか否かを示す。すなわち、例えば、シンタックスエレメントQp_qPi_flag[i][j]は、i番目のクロマ成分のj番目のQp値が(j-1)番目のQp値より1増加するか否かを示す。例えば、1のQpC_qPi_flag[j]はi番目のクロマ成分のj番目のQp値が1増加することを示し、0のQpC_qPi_flag[j]はi番目のクロマ成分のj番目のQp値が増加しないことを示す。
例えば、変数QpIdx[i][qPi]は次の表のように導出されることができる。ここで、前記qPiは0から69であり得る。
表68を参照すると、is_separate_chroma_tableの値が1であると、0番目(i=0)のクロマ量子化パラメータデータ及び1番目(i=1)のクロマ量子化パラメータデータがシグナリングされることができる。ここで、例えば、0番目(i=0)のクロマ量子化パラメータデータは、Cb成分に対するクロマ量子化パラメータマッピングテーブルを導出するためのクロマ量子化パラメータデータであり、1番目(i=0)のクロマ量子化パラメータデータは、Cr成分に対するクロマ量子化パラメータマッピングテーブルを導出するためのクロマ量子化パラメータデータであり得る。
また、表68を参照すると、is_separate_chroma_tableの値が0であると、0番目(i=0)のクロマ量子化パラメータデータのみがシグナリングされることができる。ここで、例えば、0番目(i=0)のクロマ量子化パラメータデータは、Cb成分、Cr成分及びジョイントCbCr成分に対するクロマ量子化パラメータマッピングテーブルを導出するためのクロマ量子化パラメータデータであり得る。すなわち、クロマ成分に対して1つのクロマ量子化パラメータマッピングテーブルが使用される。
また、表68を参照すると、QpIdx[i][qPi]は次のように導出される。
-qPi<qPi_min_Idx[i]である場合、QpIdx[i][qPi]はqPiと同一に設定される。
-qPi=qPi_min_Idx[i]・・・qPiMaxIdx[i]である場合、QpIdx[qPi]はQp_qPi_flag[i][qPi]+QpIdx[i][qPi-1]に設定される。
-qPi>qPiMaxIdxである場合、QpIdx[i][qPi]はqPi-(qPiMaxIdx[i]-QpIdx[i][qPiMaxIdx])に設定される。
その後、前記Qpの値は前記QpIdx[i][qPi]と導出されることができる。
また、本実施形態は、クロマ量子化導出のためにデフォルトテーブルを使用するか又はクロマ量子化導出のためにシグナリングされる情報が使用されるかを示すフラグをシグナリングする方案を提案する。前記フラグは、SPS(sequence parameter set)、又はPPS(picture parameter set)などのハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。ハイレベルシンタックスを介してシグナリングされる前記フラグは、次の表の通りである。
例えば、シンタックスエレメントQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されるか否かを示す。例えば、0のQp_data_default_flagは、量子化パラメータの導出のためにユーザ定義モードが使用されることを示す。すなわち、例えば、0のQp_data_default_flagは、前記クロマ量子化パラメータデータQp_data()が使用されることを示す。前記Qp_data_default_flagが0である場合、前記クロマ量子化パラメータデータQp_data()がシグナリングされることができる。また、例えば、1のQp_data_default_flagは、量子化パラメータの導出のためにデフォルトテーブルが使用されることを示す。前記デフォルトテーブルは、前述の表7の通りである。また、Qp_data_default_flagが存在しない場合、前記Qp_data_default_flagは1とみなされる。
例えば、本実施形態によって量子化パラメータを導出する過程を標準形式で記載すると、次の表のように示すことができる。
前述の表70を参照すると、ChromaArrayTypeが1であり、Qp_data_default_flagが否定(FALSE)を示す場合(すなわち、例えば、Qp_data_default_flagが0である場合)、変数qPCb、qPCr及びqPCbCrは、本実施形態において提案されているようにシグナリングされるユーザ定義情報に基づいて導出されることができる。また、例えば、ChromaArrayTypeが1であり、Qp_data_default_flagが肯定(TRUE)を示す場合(すなわち、例えば、Qp_data_default_flagが1である場合)、変数qPCb、qPCr及びqPCbCrはそれぞれqPiCb、qPiCr及びqPiCbCrと同一のインデックスqPiに基づいてデフォルトテーブルにより導出されることができる。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。例えば、本実施形態はデフォルト設定なしにクロマQPテーブルに対するパラメータをシグナリングする方案を提案する。また、本実施形態は、前述の実施形態のうち少なくとも1つと連結されることもできる。すなわち、例えば、本文書の実施形態は共通的に適用されることもできる。
本実施形態において提案されるクロマ量子化パラメータに対するクロマ量子化パラメータデータは、次の表のようにシグナリングされることができる。
例えば、シンタックスエレメントis_same_qp_table_for_cb_crは、Cb成分、Cr成分及びジョイントCbCr成分に対してただ1つのクロマQPマッピングテーブルがシグナリングされて適用されるか否かを示す。すなわち、例えば、シンタックスエレメントis_same_qp_table_for_cb_crは、Cb成分、Cr成分及びジョイントCbCr成分に対してただ1つのクロマQPマッピングテーブル関連パラメータがシグナリングされ、1つのクロマQPマッピングテーブルが適用されるか否かを示す。例えば、1のis_same_qp_table_for_cb_crは、Cb成分、Cr成分及びジョイントCbCr成分に対してただ1つのクロマQPマッピングテーブルがシグナリングされ適用されることを示す。すなわち、例えば、1のis_same_qp_table_for_cb_crは、Cb成分、Cr成分及びジョイントCbCr成分に対してただ1つのクロマQPマッピングテーブル関連パラメータがシグナリングされ、1つのクロマQPマッピングテーブルが適用されることを示す。また、例えば、0のis_same_qp_table_for_cb_crは、Cb成分、Cr成分及びジョイントCbCr成分に対して複数のクロマQPマッピングテーブルがシグナリングされ適用されることを示す。すなわち、例えば、0のis_same_qp_table_for_cb_crは、Cb成分、Cr成分及びジョイントCbCr成分に対して複数のクロマQPマッピングテーブル関連パラメータがシグナリングされ、複数のクロマQPマッピングテーブルが適用されることを示す。例えば、0のis_same_qp_table_for_cb_crは、Cb成分、Cr成分及びジョイントCbCr成分に対して3つのクロマQPマッピングテーブルがシグナリングされ、適用されることを示す。
また、例えば、シンタックスエレメントqPi_table_len_Idx[i]は、i番目のクロマQPマッピングテーブルの説明に使用されるポイント数を示す。すなわち、例えば、qPi_table_len_Idx[i]は(i番目)クロマQPマッピングテーブルのインデックス数を示す。qPi_table_len_Idx[i]の値は0ないし69+QpBdOffsetの範囲にあり得る。
また、例えば、シンタックスエレメントqp_qPi_in_idx[i][j]は、i番目のクロマQPマッピングテーブルのj番目のピボットポイント(pivot point)の入力座標(input coordinate)の導出に使われるデルタ値を示す。
また、例えば、シンタックスエレメントqp_qPi_out_idx[i][j]は、i番目のクロマQPマッピングテーブルのj番目のピボットポイント(pivot point)の出力座標(output coordinate)の導出に使われるデルタ値を示す。
前述のシンタックスエレメントに基づいてi番目のQPマッピングテーブルcQPTable[i]は、次の表のように導出されることができる。ここで、iはsame_qp_table_for_cb_crが1である場合は0でり、same_qp_table_for_cb_crが1である場合は0ないし2のうちの1つであり得る。
前述の表72を参照すると、qp_qPi_in_Idx[i][j]に基づいて、i番目のクロマQPマッピングテーブルのj番目のピボットポイント(pivot point)の入力座標(input coordinate)が導出されることができる。前述の表72に示されているqpVal[i][j]は、前記j番目のピボットポイント(pivot point)の入力座標(input coordinate)を示す。また、前述の表72を参照すると、qp_qPi_out_Idx[i][j]に基づいてi番目のクロマQPマッピングテーブルのj番目のピボットポイント(pivot point)の出力座標(output coordinate)が導出されることができる。前述の表72に示されているcQPTable[i][j]は、前記j番目のピボットポイント(pivot point)の出力座標(output coordinate)を示す。
また、本実施形態によれば、クロマQPの導出のために次のような変化があり得る。例えば、次の表のような制約が追加される。
前述の表73を参照すると、qpVal[i][j]の値はqpVal[i][j-1]の値より大きい。ここで、jは1ないしqPi_table_len_Idx[i]のいずれか1つであり得る。
また、クロマタイプが0でない場合、例えば、クロマタイプが1である場合、chroma_qp_table_present_flagが1であると、変数qPCb及びqPCrはそれぞれChromaQpTable[0][qPiCb]、ChromaQpTable[1][qPiCr]、ChromaQpTable[1][qPiCbCr]と同一に設定される。
また、本文書は、量子化パラメータに関する情報をシグナリングする他の一実施形態を提案する。本実施形態は、前述の実施形態のうち少なくとも1つと連結されることもできる。例えば、本実施形態は、シグナリングされるqpインデックスの範囲を制限する方案を提案する。一例として、本実施形態は、前述の以前例でのシンタックスエレメントqPi_table_len_Idxを以下のようにシグナリングすることが提案する。
例えば、シンタックスエレメントqPi_table_len_Idx[i]は、クロマQPマッピングテーブルの説明に使用されるポイント数を示す。また、前記シンタックスエレメントqPi_table_len_Idx[i]の値は0ないし69+QpBdOffsetCの範囲にあり得る。
前述のように、本実施形態においては、シグナリングされるか又は他の方式で推論できる最小の範囲でパラメータ(例えば、qPi_table_len_Idx[i]が示すクロマQPマッピングテーブルのポイント数)を制限する方案が提案される。
図7は、本文書によるエンコード装置による映像エンコード方法を概略的に示す。図7において開示された方法は図2において開示されたエンコード装置により行われることができる。具体的に、例えば、図7のS700は前記エンコード装置の予測部により行われ、S710ないしS720は前記エンコード装置のレジデュアル処理部により行われ、S730は前記エンコード装置のエントロピーエンコード部により行われる。また、図示されてはいないが、レジデュアルサンプルと予測サンプルに基づいて復元サンプル及び復元ピクチャを生成する過程は前記エンコード装置の加算部により行われる。
エンコード装置は、インター予測又はイントラ予測に基づいてクロマ成分に対する予測サンプルを導出する(S700)。エンコード装置は、予測モードに基づいて前記クロマ成分に対する予測サンプルを導出する。すなわち、例えば、エンコード装置は、予測モードに基づいて前記クロマ成分に対する現在ブロックの予測サンプルを導出する。この場合、インター予測又はイントラ予測など、本文書において開示された様々な予測方法が適用されることができる。前記クロマ成分は、Cb成分、Cr成分及び/又はジョイント(joint)CbCr成分を含む。
例えば、エンコード装置は、前記クロマ成分に対する現在ブロックにインター予測を行うか又はイントラ予測を行うかを決定し、具体的なインター予測モード又は具体的なイントラ予測モードをRDコストに基づいて決定することができる。決定されたモードに応じて、エンコード装置は前記現在ブロックに対する予測サンプルを導出することができる。
エンコード装置は、前記予測サンプルに基づいて前記クロマ成分に対するレジデュアルサンプルを導出する(S710)。例えば、エンコード装置は、現在ピクチャ内の前記クロマ成分に対する現在ブロックの原本サンプルと予測サンプルの減算により前記レジデュアルサンプルを導出することができる。
エンコード装置は、前記クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを生成する(S720)。
エンコード装置は、クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを生成することができる。前記クロマ成分に対するデフォルト(default)クロマQPマッピングテーブルは使用されないことがある。すなわち、クロマ成分に対するクロマ量子化パラメータが使用される場合、エンコード装置は、クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを生成することができる。映像情報は、クロマ成分に対する少なくとも1つのクロマQPマッピングテーブル(chroma QP mappingtable)のクロマ量子化パラメータデータを含む。また、例えば、前記クロマ成分はCb成分、Cr成分及び/又はジョイントCbCr成分を含む。また、例えば、前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含む。また、例えば、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントの値は、0ないし特定値の範囲にあり得る。前記特定値は69+QpBdOffsetCであり得る。また、例えば、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントは、前述のqPi_table_len_Idx[i]であり、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqp_qPi_in_idx[i][j]であり、前記クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqp_qPi_out_idx[i][j]であり得る。
また、例えば、エンコード装置は、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを決定し、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを生成することができる。前記映像情報は、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを含む。
例えば、エンコード装置は、クロマタイプに基づいて、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを生成することができる。ここで、前記クロマタイプは前述のChromaArrayTypeを意味する。例えば、前記クロマタイプの値が0でない場合、エンコード装置は、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを生成することができる。例えば、前記クロマタイプの値が1である場合、エンコード装置は、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを生成する。ここで、前記クロマタイプの値が0である場合、前記クロマタイプはMonochromeフォーマット(format)であり、前記クロマタイプの値が1である場合、前記クロマタイプは4:2:0フォーマットであり、前記クロマタイプの値が2である場合、前記クロマタイプは4:2:2フォーマットであり、前記クロマタイプの値が3である場合、前記クロマタイプは4:4:4フォーマットであり得る。例えば、前記フラグに対するシンタックスエレメントは、前述のqp_luma_to_chroma_joint_map_flag、sps_separate_qpc_table_flag、is_separate_chroma_table又はis_same_qp_table_for_cb_crであり得る。
例えば、前記フラグの値が1である場合、前記フラグは、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されることを示す。また、例えば、前記フラグの値が0である場合、前記フラグは、前記クロマ成分に対して複数のクロマQPマッピングテーブルが適用されることを示す。すなわち、例えば、前記フラグの値が0である場合、前記フラグは、前記クロマ成分のそれぞれに対して個別的なクロマQPマッピングテーブルが適用されることを示す。
従って、例えば、前記フラグの値が1である場合、前記クロマ成分に対する1つのクロマQPマッピングテーブルのクロマ量子化パラメータデータがシグナリングされ、前記フラグの値が0である場合、前記クロマ成分に対する複数のクロマQPマッピングテーブルのクロマ量子化パラメータデータがシグナリングされる。すなわち、例えば、前記フラグの値が0である場合、前記クロマ成分のそれぞれに対して個別的なクロマQPマッピングテーブルのクロマ量子化パラメータデータがシグナリングされる。
また、例えば、前記フラグは、ハイレベルシンタックス(high level syntax)を介してシグナリングされる。例えば、前記フラグは、SPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation Parameter Set)などを介してシグナリングされる。
また、例えば、エンコード装置は、前記フラグに基づいて前記クロマ成分に対するクロマ量子化パラメータデータを生成することができる。
例えば、前記クロマ成分に対する複数のクロマQPマッピングテーブルのクロマ量子化パラメータデータは、Cb成分に対する第1クロマQPマッピングテーブルの第1クロマ量子化パラメータデータ及びCr成分に対する第2クロマQPマッピングテーブルの第2クロマ量子化パラメータデータを含む。または、例えば、前記クロマ量子化パラメータデータは、Cb成分に対する第1クロマQPマッピングテーブルの第1クロマ量子化パラメータデータ、Cr成分に対する第2クロマQPマッピングテーブルの第2クロマ量子化パラメータデータ及び/又はジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータを含む。
一方、例えば、エンコード装置は、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr可用フラグを生成することができる。すなわち、例えば、エンコード装置は、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを判断することができ、前記ジョイントCbCr可用フラグを生成することができる。また、例えば、エンコード装置は、クロマタイプに基づいて、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr可用フラグを生成することができる。ここで、前記クロマタイプは前述のChromaArrayTypeを意味し得る。例えば、前記クロマタイプの値が0でない場合、エンコード装置は、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr可用フラグを生成することができる。例えば、前記クロマタイプの値が1である場合、エンコード装置は、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr可用フラグを生成することができる。また、例えば、前記ジョイントCbCr可用フラグは、ハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記ジョイントCbCr可用フラグは、SPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation parameter set)などを介してシグナリングされることができる。
この場合、前記フラグの値が0であり(すなわち、前記クロマ成分に対して複数のクロマQPマッピングテーブルが適用されると判断され)、前記ジョイントCbCr可用フラグの値が1である場合(すなわち、前記ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在すると判断された場合)、前記クロマ量子化パラメータデータはCb成分に対する第1クロマQPマッピングテーブルの第1クロマ量子化パラメータデータ、Cr成分に対する第2クロマQPマッピングテーブルの第2クロマ量子化パラメータデータ及びジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータを含む。
また、例えば、前記第1クロマ量子化パラメータデータは、Cb成分に対する第1クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記第1クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記第1クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含む。前記第1クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントは、前述のqPi_table_len_Idx[i]であってもよく、前記第1クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqP_qPi_in_idx[i][j]であってもよく、前記第1クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは前述のqP_qPi_out_idx[i][j]であってもよい。また、例えば、前記第1クロマ量子化パラメータデータはハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記第1クロマ量子化パラメータデータはSPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation parameter set)などを介してシグナリングされることができる。
また、例えば、前記第2クロマ量子化パラメータデータは、Cr成分に対する第2クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記第2クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記第2クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含む。前記第2クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントは、前述のqPi_table_len_Idx[i]であってもよく、前記第2クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqP_qPi_in_idx[i][j]であってもよく、前記第2クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqP_qPi_out_idx[i][j]であってもよい。また、例えば、前記第2クロマ量子化パラメータデータはハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記第2クロマ量子化パラメータデータはSPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation parameter set)などを介してシグナリングされることができる。
また、例えば、前記第3クロマ量子化パラメータデータは、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記第3クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記第3クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含む。前記第3クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントは、前述のqPi_table_len_Idx[i]であってもよく、前記第3クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqP_qPi_in_idx[i][j]であってもよく、前記第3クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqP_qPi_out_idx[i][j]であってもよい。また、例えば、前記第3クロマ量子化パラメータデータはハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記第3クロマ量子化パラメータデータはSPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation parameter set)などを介してシグナリングされることができる。
また、例えば、前記フラグの値が1である場合(すなわち、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されると判断された場合)、前記クロマ量子化パラメータデータは、Cb成分、Cr成分及びジョイントCbCr成分に対する1つのクロマQPマッピングテーブルのクロマ量子化パラメータデータを含む。
エンコード装置は、前記クロマ成分に関する予測情報、前記クロマ成分に関するレジデュアル情報及び前記クロマ量子化パラメータデータをエンコードする(S730)。エンコード装置は、前記クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータをエンコードすることができる。映像情報は、前記クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを含む。
また、例えば、エンコード装置は、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグ及び/又は前記ジョイントCbCr可用フラグをエンコードすることができる。前記映像情報は、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグ及び/又は前記ジョイントCbCr可用フラグを含む。
また、例えば、エンコード装置は、前記現在ブロックに対する予測情報を生成及びエンコードすることができる。前記予測情報は、前記クロマ成分に対する現在ブロックの予測モードを示す予測モード情報を含む。前記映像情報は前記予測情報を含む。
また、例えば、エンコード装置は、前記レジデュアルサンプルに対するレジデュアル情報をエンコードすることができる。例えば、エンコード装置は、前記レジデュアルサンプルに基づいて変換係数を導出し、前記変換係数に基づいて前記レジデュアル情報を生成することができる。例えば、エンコード装置は、前記レジデュアルサンプルをクロマ量子化パラメータに基づいて量子化して量子化されたレジデュアルサンプルを導出し、前記量子化されたレジデュアルサンプルに基づいて変換係数を導出し、前記変換係数に基づいて前記レジデュアル情報を生成及びエンコードすることができる。または、例えば、エンコード装置は、前記レジデュアルサンプルをクロマ量子化パラメータに基づいて量子化して量子化されたレジデュアルサンプルを導出し、前記量子化されたレジデュアルサンプルを変換して変換係数を導出し、前記変換係数に基づいて前記レジデュアル情報を生成及びエンコードすることができる。
例えば、前記フラグの値が0である場合、エンコード装置は、前記Cb成分に対するレジデュアルサンプルを前記Cb成分に対する第1クロマ量子化パラメータに基づいて量子化して前記Cb成分に対する量子化されたレジデュアルサンプルを導出し、前記Cr成分に対するレジデュアルサンプルを前記Cr成分に対する第2クロマ量子化パラメータに基づいて量子化して前記Cr成分に対する量子化されたレジデュアルサンプルを導出することができる。または、例えば、前記フラグの値が0である場合、エンコード装置は、前記Cb成分に対するレジデュアルサンプルを前記Cb成分に対する第1クロマ量子化パラメータに基づいて量子化して前記Cb成分に対する量子化されたレジデュアルサンプルを導出し、前記Cr成分に対するレジデュアルサンプルを前記Cr成分に対する第2クロマ量子化パラメータデータに基づいて量子化して前記Cr成分に対する量子化されたレジデュアルサンプルを導出し、前記ジョイントCbCr成分に対するレジデュアルサンプルを前記ジョイントCbCr成分に対する第3クロマ量子化パラメータに基づいて量子化して前記ジョイントCbCr成分に対する量子化されたレジデュアルサンプルを導出することができる。または、例えば、前記フラグの値が1である場合、エンコード装置は、前記クロマ成分に対するレジデュアルサンプルをクロマ量子化パラメータに基づいて量子化して前記クロマ成分に対する量子化されたレジデュアルサンプルを導出することができる。
前記映像情報は前記レジデュアル情報を含む。例えば、前記レジデュアル情報は、現在クロマブロックの変換係数に対するシンタックスエレメントを含む。例えば、前記シンタックスエレメントは、coded_sub_block_flag、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gtX_flag、abs_remainder及び/又はcoeff_sign_flagなどのシンタックスエレメント(syntax elements)を含む。
また、例えば、エンコード装置は、映像情報をエンコードしてビットストリームの形態で出力することができる。
一方、前記画像情報を含むビットストリームは、ネットワークまたは(デジタル)格納媒体を介してデコード装置に送信されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。
図8は、本文書による映像エンコード方法を行うエンコード装置を概略的に示す。図7において開示された方法は、図8において開示されたエンコード装置により行われることができる。具体的に、例えば、図8の前記エンコード装置の予測部はS700を行い、前記エンコード装置のレジデュアル処理部はS710ないしS720を行い、前記エンコード装置のエントロピーエンコード部はS730を行うことができる。また、図示されてはいないが、前記レジデュアルサンプルと予測サンプルに基づいて復元サンプル及び復元ピクチャを生成する過程は、前記エンコード装置の加算部により行われる。
図9は、本文書によるデコード装置による映像デコード方法を概略的に示す。図9において開示された方法は、図3において開示されたデコード装置により行われることができる。具体的に、例えば、図9のS900は前記デコード装置のエントロピーデコード部により行われ、図9のS930は前記デコード装置の予測部により行われ、図9のS910ないしS920、S940ないしS950は前記デコード装置のレジデュアル処理部により行われ、図9のS960は前記デコード装置の加算部により行われる。
デコード装置は、クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータ、前記クロマ成分に対する予測情報及びレジデュアル情報を含む映像情報を取得する(S900)。デコード装置は、ビットストリームを介して映像情報を取得することができる。例えば、前記映像情報は、クロマ量子化パラメータに関する情報を含む。デコード装置は、ビットストリームを介して映像情報を取得することができる。
例えば、前記映像情報は、少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを含む。例えば、デコード装置は、クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを取得することができる。前記クロマ成分に対するデフォルト(default)クロマQPマッピングテーブルは使用されない場合がある。すなわち、クロマ成分に対するクロマ量子化パラメータが使用される場合、デコード装置は、クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(Quantization Parameter:QP)マッピングテーブルのクロマ量子化パラメータデータを取得することができる。例えば、前記クロマ成分はCb成分、Cr成分及び/又はジョイントCbCr成分を含む。また、例えば、前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含む。また、例えば、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントの値は、0ないし特定値の範囲にあり得る。前記特定値は69+QpBdOffsetCであり得る。また、例えば、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントは、前述のqPi_table_len_Idx[i]であり、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqp_qPi_in_idx_[i][j]であり、前記クロマQPマッピングテーブルの前記対象ポイントの出力(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは前述のqp_qPi_in_idx_[i][j]であり得る。
また、例えば、クロマQPマッピングテーブルのクロマ量子化パラメータデータは、ハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記クロマ量子化パラメータデータはSPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation Parameter Set)などを介してシグナリングされることができる。
また、例えば、デコード装置は、クロマ成分に対して1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを取得することができる。すなわち、例えば、デコード装置は、クロマ成分に対して1つのクロマQPマッピングテーブルがシグナリング及び適用されるか否かを示すフラグを取得することができる。前記映像情報は前記フラグを含む。一方、例えば、デコード装置は、クロマタイプに基づいて、1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを取得することができる。ここで、前記クロマタイプは前述のChromaArrayTypeを意味し得る。例えば、前記クロマタイプの値が0でない場合、デコード装置は1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを取得することができる。例えば、前記クロマタイプの値が1である場合、デコード装置は1つのクロマQPマッピングテーブルが適用されるか否かを示すフラグを取得することができる。ここで、前記クロマタイプの値が0である場合、前記クロマタイプはMonochromeフォーマット(format)であり、前記クロマタイプの値が1である場合、前記クロマタイプは4:2:0フォーマットであり、前記クロマタイプの値が2である場合、前記クロマタイプは4:2:2フォーマットであり、前記クロマタイプの値が3である場合、前記クロマタイプは4:4:4フォーマットであり得る。例えば、前記フラグに対するシンタックスエレメントは、前述のqp_luma_to_chroma_joint_map_flag、sps_separate_qpc_table_flag、is_separate_chroma_table又はis_same_qp_table_for_cb_crであり得る。
例えば、前記フラグの値が1である場合、前記フラグは、前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されることを示す。また、例えば、前記フラグの値が0である場合、前記フラグは、前記クロマ成分に対して複数のクロマQPマッピングテーブルが適用されることを示す。すなわち、例えば、前記フラグの値が0である場合、前記フラグは、前記クロマ成分のそれぞれに対して個別的なクロマQPマッピングテーブルが適用されることを示す。
従って、例えば、前記フラグの値が1である場合、前記クロマ成分に対する1つのクロマQPマッピングテーブルのクロマ量子化パラメータデータがシグナリングされ、前記フラグの値が0である場合、前記クロマ成分に対する複数のクロマQPマッピングテーブルのクロマ量子化パラメータデータがシグナリングされることができる。すなわち、例えば、前記フラグの値が0である場合、前記クロマ成分のそれぞれに対して個別のクロマQPマッピングテーブルのクロマ量子化パラメータデータがシグナリングされることができる。
また、例えば、前記フラグは、ハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記フラグは、SPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation parameter set)などを介してシグナリングされることができる。
また、例えば、前記クロマ成分に対する複数のクロマQPマッピングテーブルのクロマ量子化パラメータデータは、Cb成分に対する第1クロマQPマッピングテーブルの第1クロマ量子化パラメータデータ及びCr成分に対する第2クロマQPマッピングテーブルの第2クロマ量子化パラメータデータを含む。または、例えば、前記クロマ量子化パラメータデータは、Cb成分に対する第1クロマQPマッピングテーブルの第1クロマ量子化パラメータデータ、Cr成分に対する第2クロマQPマッピングテーブルの第2クロマ量子化パラメータデータ及び/又はジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータを含む。
一方、例えば、デコード装置は、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr利用フラグを取得することができる。例えば、前記映像情報は、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr可用フラグを含む。また、例えば、デコード装置は、クロマタイプに基づいて、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr可用フラグを取得することができる。ここで、前記クロマタイプは前述のChromaArrayTypeを意味し得る。例えば、前記クロマタイプの値が0でない場合、デコード装置はジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr可用フラグを取得することができる。例えば、前記クロマタイプの値が1である場合、デコード装置は、ジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在するか否かを示すジョイントCbCr可用フラグを取得することができる。また、例えば、前記ジョイントCbCr可用フラグは、ハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記ジョイントCbCr可用フラグは、SPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation parameter set)などによりシグナリングされることができる。
この場合、前記フラグの値が0であり(すなわち、前記フラグが前記クロマ成分に対して複数のクロマQPマッピングテーブルが適用されることを示し)、前記ジョイントCbCr利用フラグの値が1である場合(すなわち、前記ジョイントCbCr可用フラグがジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータが存在することを示している場合)、前記クロマ量子化パラメータデータは、Cb成分に対する第1クロマQPマッピングテーブルの第1量子化パラメータデータ、Cr成分に対する第2クロマQPマッピングテーブルの第2クロマ量子化パラメータデータ及びジョイントCbCr成分に対する第3クロマQPマッピングテーブルの第3クロマ量子化パラメータデータを含む。
また、例えば、前記第1クロマ量子化パラメータデータは、Cb成分に対する第1クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記第1クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記第1クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含む。前記第1クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントは、前述のqPi_table_len_Idx[i]であり、前記第1クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を表すシンタックスエレメントは、前述のqp_qPi_in_idx_[i][j]であり、前記第1クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは前述のqp_qPi_out_idx_[i][j]であり得る。また、例えば、前記第1クロマ量子化パラメータデータは、ハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記第1クロマ量子化パラメータデータはSPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation parameter set)などを介してシグナリングされることができる。
また、例えば、前記第2クロマ量子化パラメータデータは、Cr成分に対する第2クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記第2クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記第2クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含む。前記第2クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントは、前述のqPi_table_len_Idx[i]であり、前記第2クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqp_qPi_in_idx[i][j]であり、前記第2クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは前述のqp_qPi_out_idx[i][j]であり得る。また、例えば、前記第2クロマ量子化パラメータデータはハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記第2クロマ量子化パラメータデータはSPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、又はAPS(adaptation parameter set)などを介してシグナリングされることができる。
また、例えば、前記第3クロマ量子化パラメータデータはジョイントCbCr成分に対する第3クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記第3クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を表すシンタックスエレメント及び/又は前記第3クロマQPマッピング出力テーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントを含む。前記第3クロマQPマッピングテーブルのポイント数を示すシンタックスエレメントは、前述のqPi_table_len_Idx[i]であり、前記第3クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは、前述のqp_qPi_in_idx[i][j]であり、前記第3クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントは前述のqp_qPi_out_idx[i][j]であり得る。また、例えば、前記第3クロマ量子化パラメータデータは、ハイレベルシンタックス(high level syntax)を介してシグナリングされることができる。例えば、前記第3クロマ量子化パラメータデータはSPS(sequence parameter set)、PPS(picture parameter set)、スライスヘッダ(slice header)、またはAPS(adaptation parameter set)などによりシグナリングされることができる。
また、例えば、前記フラグの値が1である場合(すなわち、前記フラグが前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されることを示す場合)、前記クロマ量子化パラメータデータは、Cb成分、Cr成分及びジョイントCbCr成分に対する(1つの)クロマQPマッピングテーブルのクロマ量子化パラメータデータを含む。
また、例えば、前記映像情報は前記クロマ成分に対する予測情報及び/又はレジデュアル情報を含む。例えば、前記映像情報は前記クロマ成分に対する予測情報を含み、前記予測情報は前記予測モード情報を含む。前記予測モード情報は、前記クロマ成分に対する現在ブロックにインター予測が適用されるかイントラ予測が適用されるかを示す。また、例えば、前記レジデュアル情報は、前記クロマ成分に対する現在ブロックの変換係数に対するシンタックスエレメントを含む。例えば、前記シンタックスエレメントはcoded_sub_block_flag、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gtX_flag、abs_remainder及び/又はcoeff_sign_flagなどのシンタックスエレメント(syntax elements)を含む。
デコード装置は、前記クロマ量子化パラメータデータに基づいて前記クロマQPマッピングテーブルを導出する(S910)。デコード装置は、前記クロマ量子化パラメータデータに基づいて前記クロマQPマッピングテーブルを導出することができる。前記クロマQPマッピングテーブルは、クロマ量子化パラメータテーブル(chroma quantization parameter table)又はユーザ定義量子化パラメータマッピングテーブル(user defined quantization parameter mapping table)と呼ばれてもよい。
例えば、前述のように、前記クロマQPマッピングテーブルは、前記クロマQPマッピングテーブルのポイント数を示すシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標(input coordinate)の導出に使われるデルタ値を示すシンタックスエレメント及び/又は前記クロマQPマッピングテーブルの前記対象ポイントの出力座標(output coordinate)の導出に使用されるデルタ値を示すシンタックスエレメントに基づいて導出されることができる。すなわち、例えば、前記量子化パラメータデータに基づいてクロマ成分に対するクロマQPマッピングテーブルが導出されることができる。例えば、前述の表72に示されているように、前記量子化パラメータデータに基づいてクロマ成分に対するクロマQPマッピングテーブルが導出されることができる。
例えば、前記フラグの値が0である場合(すなわち、前記フラグが前記クロマ成分に対して複数のクロマQPマッピングテーブルが適用されることを示す場合)、前記Cb成分に対する前記第1クロマQPマッピングテーブルの前記第1クロマ量子化パラメータデータに基づいて前記クロマCb成分に対する前記第1クロマQPマッピングテーブルが導出されることができる。また、例えば、前記フラグの値が0である場合、前記Cr成分に対する前記第2クロマQPマッピングテーブルの前記第2クロマ量子化パラメータデータに基づいて前記クロマCr成分に対する前記第2クロマQPマッピングテーブルが導出されることができる。また、例えば、前記フラグの値が0である場合、前記ジョイントCbCr成分に対する前記第3クロマQPマッピングテーブルの前記第3クロマ量子化パラメータデータに基づいて前記クロマジョイントCbCr成分に対する前記第1クロマQPマッピングテーブルが導出されることができる。
また、例えば、前記フラグの値が1である場合(すなわち、前記フラグが前記クロマ成分に対して1つのクロマQPマッピングテーブルが適用されることを示す場合)、前記クロマ成分に対する前記クロマQPマッピングテーブルのクロマ量子化パラメータデータに基づいて前記クロマ成分に対する前記クロマ量子化パラメータテーブルが導出されることができる。前記クロマ成分は、Cb成分、Cr成分及び/又はジョイントCbCr成分を含む。
デコード装置は、前記クロマQPマッピングテーブルに基づいて前記クロマ成分に対するクロマ量子化パラメータを導出する(S920)。デコード装置は、前記クロマQPマッピングテーブルに基づいて前記クロマ成分に対するクロマ量子化パラメータを導出することができる。
例えば、前記フラグの値が0である場合、前記第1クロマQPマッピングテーブルに基づいて前記Cb成分に対する第1クロマ量子化パラメータが導出され、前記第2クロマQPマッピングテーブルに基づいて前記Cr成分に対する第2クロマ量子化パラメータが導出されることができる。また、例えば、前記フラグの値が0である場合、前記第1クロマQPマッピングテーブルに基づいて前記Cb成分に対する第1クロマ量子化パラメータが導出され、前記第2クロマQPマッピングテーブルに基づいて前記Cr成分に対する第2クロマ量子化パラメータが導出され、前記第3クロマQPマッピングテーブルに基づいて前記ジョイントCbCr成分に対する第3クロマ量子化パラメータが導出されることができる。ここで、前記Cb成分に対する前記量子化パラメータは前述のQP‘Cbを示し、前記Cr成分に対する前記量子化パラメータは前述のQP‘Crを示し、前記ジョイントCbCr成分に対する前記量子化パラメータは前述のQp‘CbCrを示す。
例えば、ルマ成分に対する量子化パラメータに基づいてクロマ成分(Cb成分、Cr成分又はジョイントCbCr成分)に対するインデックスが導出され、前記クロマ成分に対するクロマQPマッピングテーブルの前記インデックスに対するポイントのクロマ量子化パラメータに基づいて前記クロマ成分に対するクロマ量子化パラメータが導出されることができる。すなわち、例えば、前記クロマQPマッピングテーブルにおいてルマ成分の量子化パラメータと同一のインデックスのポイントに対するクロマ量子化パラメータに基づいて前記クロマ成分に対するクロマ量子化パラメータが導出されることができる。
また、例えば、クロマ成分(Cb成分、Cr成分又はジョイントCbCr成分)に対する前記クロマQPマッピングテーブルの前記インデックスに対するポイントのクロマ量子化パラメータ(例えば、qPCb、qPCr、又はqPCr)にオフセットを加えて前記クロマ成分に対する前記クロマ量子化パラメータ(例えば、QP‘Cb、QP‘Cr又はQp‘CbCr)が導出される。前記オフセットは、前記クロマ成分に対する量子化パラメータの導出のためのオフセット(offset)を示すシンタックスエレメントに基づいて導出されることができる。
または、例えば、前記フラグの値が1である場合、前記クロマ成分に対する1つのクロマQPマッピングテーブルに基づいて前記クロマ成分に対するクロマ量子化パラメータが導出される。従って、前記クロマ成分に対して、クロマ量子化パラメータが同一に適用されることができる。
例えば、ルマ成分に対する量子化パラメータに基づいてクロマ成分(Cb成分、Cr成分及びジョイントCbCr成分)に対するインデックスが導出され、前記クロマ成分に対するクロマQPマッピングテーブルの前記インデックスに対するポイントのクロマ量子化パラメータに基づいて前記クロマ成分に対するクロマ量子化パラメータが導出されることができる。すなわち、例えば、前記のクロマQPマッピングテーブルにおいてルマ成分の量子化パラメータと同一のインデックスのポイントに対するクロマ量子化パラメータに基づいて前記クロマ成分に対するクロマ量子化パラメータが導出されることができる。
また、例えば、クロマ成分に対する前記クロマQPマッピングテーブルの前記インデックスのポイントに対するクロマ量子化パラメータにオフセットを加えて前記クロマ成分に対する前記クロマ量子化パラメータが導出されることができる。前記オフセットは前記クロマ成分に対するクロマ量子化パラメータの導出のためのオフセット(offset)を示すシンタックスエレメントに基づいて導出される。
デコード装置は、前記予測情報に基づいて前記クロマ成分に対する予測サンプルを導出する(S930)。デコード装置は、前記予測情報に基づいて前記クロマ成分にインター予測が適用されるかイントラ予測が適用されるか判断し、これに基づいて予測を行うことができる。すなわち、例えば、デコード装置は、前記予測情報に基づいて前記クロマ成分に対する現在ブロックにインター予測が適用されるかイントラ予測が適用されるかを判断し、これに基づいて予測を行うことができる。
例えば、デコード装置は、前記予測情報に基づいて前記クロマ成分に対する前記現在ブロックに適用される予測モードを導出し、前記予測モードに基づいて前記現在ブロックの予測サンプルを導出する。例えば、前記現在ブロックにインター予測が適用される場合、デコード装置は、前記映像情報に含まれた予測情報に基づいて前記現在ブロックの動き情報を導出し、前記動き情報に基づいて前記現在ブロックの前記予測サンプルを導出する。また、例えば、前記現在ブロックにイントラ予測が適用される場合、デコード装置は、前記現在ブロックの周辺サンプルに基づいて参照サンプルを導出し、前記参照サンプル及び前記現在ブロックのイントラ予測モードに基づいて前記現在ブロックの前記予測サンプルを導出することができる。前記参照サンプルは、前記現在ブロックの上側参照サンプル及び左側参照サンプルを含む。例えば、前記現在ブロックのサイズがN×Nであり、前記現在ブロックの左上端(top-left)サンプルポジションのx成分が0及びy成分が0である場合、前記左参照サンプルはp[-1][0]ないしp[-1][2N-1]、前記上側参照サンプルはp[0][-1]ないしp[2N-1][-1]であり得る。
デコード装置は、前記レジデュアル情報に基づいて前記クロマ成分に対する変換係数を導出する(S940)。例えば、デコード装置は、前記受信されたレジデュアル情報に基づいてクロマ成分に対する変換係数を導出する。または、例えば、デコード装置は、レジデュアル情報に基づいて変換係数を導出し、前記変換係数を逆変換して逆変換された変換係数を導出する。前記変換係数は、前記Cb成分に対する変換係数、前記Cr成分に対する変換係数及び/又は前記ジョイントCbCr成分に対する変換係数を含む。
デコード装置は、前記クロマ量子化パラメータに基づいて前記変換係数を逆量子化してレジデュアルサンプルを導出する(S950)。デコード装置は、前記クロマ量子化パラメータに基づいてレジデュアルサンプルを導出することができる。
例えば、前記フラグの値が0である場合、デコード装置は、前記Cb成分に対する変換係数を前記Cb成分に対する第1クロマ量子化パラメータに基づいて逆量子化して前記Cb成分に対するレジデュアルサンプルを導出し、前記Cr成分に対する変換係数を前記Cr成分に対する第2クロマ量子化パラメータに基づいて逆量子化して前記Cr成分に対するレジデュアルを導出することができる。例えば、前記フラグの値が0である場合、デコード装置は、前記Cb成分に対する変換係数を前記Cb成分に対する第1クロマ量子化パラメータに基づいて逆量子化して前記Cb成分に対するレジデュアルサンプルを導出し、前記Cr成分に対する変換係数を前記Cr成分に対する第2クロマ量子化パラメータに基づいて逆量子化して前記Cr成分に対するレジデュアルを導出し、前記ジョイントCbCr成分に対する変換係数を前記ジョイントCbCr成分に対する第3クロマ量子化パラメータに基づいて逆量子化して前記ジョイントCbCr成分に対するレジデュアルサンプルを導出することができる。または、例えば、前記フラグの値が1である場合、デコード装置は、前記クロマ成分に対する変換係数をクロマ量子化パラメータに基づいて逆量子化して前記クロマ成分に対するレジデュアルサンプルを導出することができる。
または、例えば、前記フラグの値が0である場合、デコード装置は、前記Cb成分に対する逆変換された変換係数を前記Cb成分に対する第1クロマ量子化パラメータに基づいて逆量子化して前記Cb成分に対するレジデュアルサンプルを導出し、前記Cr成分に対する逆変換された変換係数を前記Cr成分に対する第2クロマ量子化パラメータに基づいて逆量子化して前記Cr成分に対するレジデュアルサンプルを導出する。または、例えば、前記フラグの値が0である場合、デコード装置は、前記Cb成分に対する逆変換された変換係数を前記Cb成分に対する第1クロマ量子化パラメータに基づいて逆量子化して前記Cb成分に対するレジデュアルサンプルを導出し、前記Cr成分に対する逆変換された変換係数を前記Cr成分に対する第2クロマ量子化パラメータに基づいて逆量子化して前記Cr成分に対するレジデュアルサンプルを導出し、前記ジョイントCbCr成分に対する逆変換された変換係数を前記ジョイントCbCr成分に対する第3クロマ量子化パラメータデータに基づいて逆量子化して前記ジョイントCbCr成分に対するレジデュアルサンプルを導出することができる。または、例えば、前記フラグの値が1である場合、デコード装置は、前記クロマ成分に対する逆変換された変換係数をクロマ量子化パラメータに基づいて逆量子化して前記クロマ成分に対するレジデュアルサンプルを導出することができる。
デコード装置は、前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャを生成する(S960)。例えば、デコード装置は、前記レジデュアルサンプルに基づいて前記復元ピクチャを生成する。
一方、例えば、デコード装置は、ビットストリームを介して受信された予測情報に基づいて前記現在ブロックに対するインター予測モード又はイントラ予測モードを実行して予測サンプルを導出し、前記予測サンプルと前記レジデュアルサンプルの加算により復元サンプル及び/又は復元ピクチャを生成する。
その後、必要に応じて主観的/客観的画質を向上させるために、デブロッキングフィルタリング、SAO、及び/又はALF手順のようなインループフィルタリング手順が前記復元サンプルに適用され得ることは、上述したとおりである。
図10は、本文書による映像デコード方法を行うデコード装置を概略的に示す。図9において開示された方法は、図10において開示されたデコード装置により行われる。具体的に、例えば、図10の前記デコード装置のエントロピーデコード部は図9のS900を行い、図10の前記デコード装置の予測部は図9のS930を行い、図10の前記デコード装置のレジデュアル処理部は図9のS910ないしS920、S940ないしS950を行い、図10の前記デコード装置の加算部は図9を行うことができる。
前述した本文書によれば、クロマ成分に対するクロマ量子化パラメータ導出のためにデフォルトクロマQPマッピングテーブルを使用せずに、シグナリングされるクロマQPマッピングパラメータデータに基づいて導出されたクロマQPマッピングテーブルを使用してクロマ成分に対するクロマ量子化パラメータを導出することができ、これにより、映像の特性に応じた量子化パラメータに基づいてコーディングを行ってコーディング効率を向上させることができる。
また、本文書によれば、クロマQPマッピングテーブルのポイントの入力座標の導出に使用されるデルタ値を示すシンタックスエレメント及び/又は前記クロマQPマッピングテーブルの前記ポイントの出力座標の導出に使用されるデルタ値を示すシンタックスエレメントに基づいてクロマQPマッピングテーブルを導出し、映像の特性をより具体的に反映したクロマQPマッピングテーブルに基づいてコーディングを行ってコーディング効率を向上させることができる。
前述した実施形態において、方法は、一連のステップまたはブロックで流れ図を基に説明されているが、本文書は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと異なる順序でまたは同時に発生することができる。また、当業者であれば、流れ図に示されたステップが排他的でなく、他のステップが含まれ、または流れ図の1つまたはそれ以上のステップが本文書の範囲に影響を及ぼさずに削除可能であることを理解することができる。
本文書において説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。例えば、各図面において図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて実行されることができる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
また、本文書の実施形態が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(例えば、車両端末、飛行機端末、船舶端末等)、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over the top video)装置として、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recoder)などを備えることができる。
また、本文書の実施形態が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。本文書に係るデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介しての送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または有無線通信ネットワークを介して送信されることができる。
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本文書の実施形態によってコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
図11は、本文書の実施形態が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
本文書の実施形態が適用されるコンテンツストリーミングシステムは、大別して、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
前記ビットストリームは、本文書の実施形態が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間命令/応答を制御する役割をする。
前記ストリーミングサーバは、メディア格納所及び/またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
前記ユーザ装置の例として、携帯電話、スマートフォン(smartphone)、ノートブックコンピュータ(laptop computer)、デジタル放送用端末、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末(smartwatch)、グラス型端末(smart glass)、HMD(head mounted display))、デジタルTV、デスクトップコンピュータ、デジタルサイニジなどがある。前記コンテンツストリーミングシステム内の各サーバは、分散サーバで運営されることができ、この場合、各サーバで受信するデータは分散処理されることができる。
本明細書に記載された請求項は様々な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせられて装置として実現されることもでき、本明細書の装置請求項の技術的特徴が組み合わせられて方法として実現されることもできる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて装置として実現されることもでき、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせられて方法として実現されることもできる。

Claims (10)

  1. デコード装置により行われる映像デコード方法において、
    クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(QP)マッピングテーブルのクロマ量子化パラメータデータ、前記クロマ成分に対する予測情報及びレジデュアル情報を含む映像情報を取得するステップと、
    前記クロマ量子化パラメータデータに基づいて前記クロマQPマッピングテーブルを導出するステップと、
    前記クロマQPマッピングテーブルに基づいて前記クロマ成分に対するクロマ量子化パラメータを導出するステップと、
    前記予測情報に基づいて前記クロマ成分に対する予測サンプルを導出するステップと、
    前記レジデュアル情報に基づいて前記クロマ成分に対する変換係数を導出するステップと、
    前記クロマ量子化パラメータに基づいて前記変換係数を逆量子化してレジデュアルサンプルを導出するステップと、
    前記予測サンプル及び前記レジデュアルサンプルに基づいて復元ピクチャを生成するステップと、を含み、
    前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数に対するシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標を導出するために使用されるデルタ値に対するシンタックスエレメント、及び前記クロマQPマッピングテーブルの前記対象ポイントの出力座標を導出するために使用されるデルタ値に対するシンタックスエレメントを含み、
    前記クロマ量子化パラメータデータは、シーケンスパラメータセット(SPS)を介してシグナリングされ、
    前記クロマ成分に対する前記クロマQPマッピングテーブルは、1つのクロマQPマッピングテーブルがシグナリングされ、Cb成分、Cr成分及びジョイントCbCr成分に対して適用されるか否かに関連するフラグに基づいて導出され、
    前記フラグの値が1であることに基づいて、前記1つのクロマQPマッピングテーブルがシグナリングされ、前記Cb成分、前記Cr成分及び前記ジョイントCbCr成分に対して適用され、
    前記フラグの値が0であることに基づいて、前記Cb成分、前記Cr成分及び前記ジョイントCbCr成分のそれぞれに対するそれぞれのクロマQPマッピングテーブルを含む複数のクロマQPマッピングテーブルがシグナリングされる、映像デコード方法。
  2. 前記クロマ成分に対するデフォルトクロマQPマッピングテーブルは使用されない、請求項1に記載の映像デコード方法。
  3. 前記予測情報に基づいて前記クロマ成分に対する前記予測サンプルを導出するステップは、
    前記予測情報に基づいて現在クロマブロックの予測モードを導出するステップと、
    前記予測モードに基づいて前記予測サンプルを導出するステップと、を含む、請求項1に記載の映像デコード方法。
  4. 前記クロマQPマッピングテーブルの前記ポイント数に対する前記シンタックスエレメントの値は0ないし特定値の範囲にある、請求項1に記載の映像デコード方法。
  5. 前記フラグの値が1であることに基づいて、前記ジョイントCbCr成分に対するクロマQPマッピングテーブルはシグナリングされず、前記1つのクロマQPマッピングテーブルがシグナリングされ、
    前記フラグの値が0であることに基づいて、前記ジョイントCbCr成分に対する前記クロマQPマッピングテーブルが別途にシグナリングされる、請求項1に記載の映像デコード方法。
  6. 前記複数のクロマQPマッピングテーブルは、前記Cb成分に対する第1クロマQPマッピングテーブル、前記Cr成分に対する第2クロマQPマッピングテーブル、及び前記ジョイントCbCr成分に対する第3クロマQPマッピングテーブルを含む、請求項1に記載の映像デコード方法。
  7. 前記第1クロマQPマッピングテーブルに基づいて前記Cb成分に対する第1クロマ量子化パラメータが導出され、
    前記第2クロマQPマッピングテーブルに基づいて前記Cr成分に対する第2クロマ量子化パラメータが導出され、
    前記第3クロマQPマッピングテーブルに基づいて前記ジョイントCbCr成分に対する第3クロマ量子化パラメータが導出される、請求項6に記載の映像デコード方法。
  8. 前記クロマ量子化パラメータに基づいて前記変換係数を逆量子化して前記レジデュアルサンプルを導出するステップは、
    前記第1クロマ量子化パラメータに基づいて、前記Cb成分に対する変換係数を逆量子化して前記Cb成分に対するレジデュアルサンプルを導出するステップと、
    前記第2クロマ量子化パラメータに基づいて、前記Cr成分に対する変換係数を逆量子化して前記Cr成分に対するレジデュアルサンプルを導出するステップと、
    前記第3クロマ量子化パラメータに基づいて、前記ジョイントCbCr成分に対する変換係数を逆量子化して前記ジョイントCbCr成分に対するレジデュアルサンプルを導出するステップと、を含む、請求項7に記載の映像デコード方法。
  9. エンコード装置により行われる映像エンコード方法において、
    インター予測又はイントラ予測に基づいてクロマ成分に対する予測サンプルを導出するステップと、
    前記予測サンプルに基づいて前記クロマ成分に対するレジデュアルサンプルを導出するステップと、
    前記クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(QP)マッピングテーブルのクロマ量子化パラメータデータを生成するステップと、
    前記クロマ成分に関する予測情報、前記クロマ成分に関するレジデュアル情報、及び前記クロマ量子化パラメータデータをエンコードするステップと、を含み、
    前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数に対するシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標を導出するために使用されるデルタ値に対するシンタックスエレメント、及び前記クロマQPマッピングテーブルの前記対象ポイントの出力座標を導出するために使用されるデルタ値に対するシンタックスエレメントを含み、
    前記クロマ量子化パラメータデータは、シーケンスパラメータセット(SPS)を介してシグナリングされ、
    前記クロマ成分に対する前記クロマQPマッピングテーブルは、1つのクロマQPマッピングテーブルがシグナリングされ、Cb成分、Cr成分及びジョイントCbCr成分に対して適用されるか否かに関連するフラグに基づいて導出され、
    前記フラグの値が1であることに基づいて、前記1つのクロマQPマッピングテーブルがシグナリングされ、前記Cb成分、前記Cr成分及び前記ジョイントCbCr成分に対して適用され、
    前記フラグの値が0であることに基づいて、前記Cb成分、前記Cr成分及び前記ジョイントCbCr成分のそれぞれに対するそれぞれのクロマQPマッピングテーブルを含む複数のクロマQPマッピングテーブルがシグナリングされる、映像エンコード方法。
  10. 映像に対するデータの送信方法において、
    クロマ成分に関する予測情報、前記クロマ成分に関するレジデュアル情報、及び前記クロマ成分に対する少なくとも1つのクロマ量子化パラメータ(QP)マッピングテーブルのクロマ量子化パラメータデータを含む映像情報のビットストリームを取得するステップと、
    前記予測情報、前記レジデュアル情報、及び前記クロマ量子化パラメータデータを含む前記映像情報の前記ビットストリームを含む前記データを送信するステップと、を含み、
    前記クロマ量子化パラメータデータは、前記クロマQPマッピングテーブルのポイント数に対するシンタックスエレメント、前記クロマQPマッピングテーブルの対象ポイントの入力座標を導出するために使用されるデルタ値に対するシンタックスエレメント、及び前記クロマQPマッピングテーブルの前記対象ポイントの出力座標を導出するために使用されるデルタ値に対するシンタックスエレメントを含み、
    前記クロマ量子化パラメータデータは、シーケンスパラメータセット(SPS)を介してシグナリングされ、
    前記クロマ成分に対する前記クロマQPマッピングテーブルは、1つのクロマQPマッピングテーブルがシグナリングされ、Cb成分、Cr成分及びジョイントCbCr成分に対して適用されるか否かに関連するフラグに基づいて導出され、
    前記フラグの値が1であることに基づいて、前記1つのクロマQPマッピングテーブルがシグナリングされ、前記Cb成分、前記Cr成分及び前記ジョイントCbCr成分に対して適用され、
    前記フラグの値が0であることに基づいて、前記Cb成分、前記Cr成分及び前記ジョイントCbCr成分のそれぞれに対するそれぞれのクロマQPマッピングテーブルを含む複数のクロマQPマッピングテーブルがシグナリングされる、データ送信方法。
JP2023093973A 2019-07-05 2023-06-07 クロマ成分の映像デコード方法及びその装置 Active JP7476399B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962871062P 2019-07-05 2019-07-05
US62/871,062 2019-07-05
JP2022500121A JP7293487B2 (ja) 2019-07-05 2020-07-03 クロマ成分の映像デコード方法及びその装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022500121A Division JP7293487B2 (ja) 2019-07-05 2020-07-03 クロマ成分の映像デコード方法及びその装置

Publications (2)

Publication Number Publication Date
JP2023105163A true JP2023105163A (ja) 2023-07-28
JP7476399B2 JP7476399B2 (ja) 2024-04-30

Family

ID=74114262

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022500121A Active JP7293487B2 (ja) 2019-07-05 2020-07-03 クロマ成分の映像デコード方法及びその装置
JP2023093973A Active JP7476399B2 (ja) 2019-07-05 2023-06-07 クロマ成分の映像デコード方法及びその装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2022500121A Active JP7293487B2 (ja) 2019-07-05 2020-07-03 クロマ成分の映像デコード方法及びその装置

Country Status (6)

Country Link
US (2) US12047579B2 (ja)
EP (1) EP3996370A4 (ja)
JP (2) JP7293487B2 (ja)
KR (2) KR102641457B1 (ja)
CN (1) CN114342394A (ja)
WO (1) WO2021006559A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021040907A1 (en) * 2019-08-30 2021-03-04 Alibaba Group Holding Limited Method and system for signaling chroma quantization parameter table
BR112022005290A2 (pt) * 2019-09-23 2022-09-20 Huawei Tech Co Ltd Método e aparelho para sinalização de parâmetros de quantização de crominância

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
KR20130058524A (ko) * 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
US9332257B2 (en) * 2012-10-01 2016-05-03 Qualcomm Incorporated Coded black flag coding for 4:2:2 sample format in video coding
US10200698B2 (en) * 2016-08-09 2019-02-05 Intel Corporation Determining chroma quantization parameters for video coding
EP4346205A3 (en) * 2019-04-26 2024-04-24 Huawei Technologies Co., Ltd. Method and apparatus for signaling of mapping function of chroma quantization parameter
WO2020243206A1 (en) * 2019-05-28 2020-12-03 Dolby Laboratories Licensing Corporation Quantization parameter signaling

Also Published As

Publication number Publication date
JP7476399B2 (ja) 2024-04-30
KR102711456B1 (ko) 2024-09-27
KR20240032153A (ko) 2024-03-08
EP3996370A1 (en) 2022-05-11
EP3996370A4 (en) 2023-06-07
US20240275974A1 (en) 2024-08-15
CN114342394A (zh) 2022-04-12
WO2021006559A1 (ko) 2021-01-14
US12047579B2 (en) 2024-07-23
KR102641457B1 (ko) 2024-02-28
JP7293487B2 (ja) 2023-06-19
US20220279186A1 (en) 2022-09-01
KR20220017426A (ko) 2022-02-11
JP2022539792A (ja) 2022-09-13

Similar Documents

Publication Publication Date Title
US11968392B2 (en) Image decoding method and device thereof
JP2022534238A (ja) ブロックサイズに基づいてbdpcmを行う画像デコード方法及びその装置
JP7476399B2 (ja) クロマ成分の映像デコード方法及びその装置
JP7324878B2 (ja) 画像デコード方法、及びその装置
KR102594692B1 (ko) 크로마 성분에 대한 영상 디코딩 방법 및 그 장치
US20240291988A1 (en) Method for decoding image and apparatus therefor
US20240305795A1 (en) Image decoding method for chroma quantization parameter data and apparatus therefor
JP2024113089A (ja) 映像デコード方法及びその装置
JP2023145648A (ja) 画像デコード方法及びその装置
JP7576605B2 (ja) 映像デコード方法及びその装置
KR102721128B1 (ko) 영상 디코딩 방법 및 그 장치
KR20240155381A (ko) 영상 디코딩 방법 및 그 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230607

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240417

R150 Certificate of patent or registration of utility model

Ref document number: 7476399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150