JP7018139B2 - 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置 - Google Patents

画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置 Download PDF

Info

Publication number
JP7018139B2
JP7018139B2 JP2020533120A JP2020533120A JP7018139B2 JP 7018139 B2 JP7018139 B2 JP 7018139B2 JP 2020533120 A JP2020533120 A JP 2020533120A JP 2020533120 A JP2020533120 A JP 2020533120A JP 7018139 B2 JP7018139 B2 JP 7018139B2
Authority
JP
Japan
Prior art keywords
sample
cclm
chroma block
block
peripheral
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020533120A
Other languages
English (en)
Other versions
JP2021510245A (ja
Inventor
チャンウォン チェ
チン ホ
ソンファン キム
ソンミ ユ
リン イ
チョンカ チェ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2021510245A publication Critical patent/JP2021510245A/ja
Priority to JP2022010734A priority Critical patent/JP7234425B2/ja
Application granted granted Critical
Publication of JP7018139B2 publication Critical patent/JP7018139B2/ja
Priority to JP2023026311A priority patent/JP7421673B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)

Description

本文書は、画像コーディング技術に関し、より詳細には、画像コーディングシステムにおいてCCLM予測を使用する画像デコード方法およびその装置に関する。
近年、HD(High Definition)画像およびUHD(Ultra High Definition)画像などの高解像度、高品質の画像に対する需要が種々の分野で増加している。画像データが高解像度、高品質になるほど、既存の画像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して画像データを送信したり、既存の記憶(格納)媒体を利用して画像データを記憶する場合、送信コスト(費用)および記憶コストが増加する。
これにより、高解像度、高品質画像の情報を効果的に送信したり、記憶し、再生するために、高効率の画像圧縮技術が求められる。
本文書の技術的課題は、画像コーディング効率を上げる方法および装置を提供することにある。
本文書の他の技術的課題は、イントラ予測の効率を上げる方法および装置を提供することにある。
本文書のさらに他の技術的課題は、クロスコンポーネント線形モデル(Cross Component Linear Model;CCLM)に基づくイントラ予測の効率を上げる方法および装置を提供することにある。
本文書のさらに他の技術的課題は、複数のCCLM予測モードを含むCCLM予測の効率的な符号化および復号方法、そして、上記符号化および復号方法を行うための装置を提供することにある。
本文書のさらに他の技術的課題は、複数のCCLM予測モードに関する線形モデルパラメータ(linear model parameter)を導出するための周辺サンプルを選択する方法および装置を提供することにある。
本文書の一実施形態によれば、デコード装置によって行われる画像デコード方法が提供される。上記方法は、現(現在)クロマブロックに対する予測モード情報を有する画像情報を取得するステップと、予測モード情報に基づいて、複数のクロスコンポーネント線形モデル(Cross-Component Linear Model;CCLM)予測モードのうちの1つを現クロマブロックのCCLM予測モードとして導出するステップと、現クロマブロックのCCLM予測モード、現クロマブロックのサイズ、および特定値に基づいて、現クロマブロックの周辺クロマサンプルのサンプル個数を導出するステップと、サンプル個数の周辺クロマサンプルを導出するステップと、現ルマブロックのダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出するステップであって、周辺ルマサンプルは、周辺クロマサンプルと対応するステップと、周辺クロマサンプルおよびダウンサンプリングされた周辺ルマサンプルに基づいて、CCLMパラメータを計算するステップと、CCLMパラメータおよびダウンサンプリングされたルマサンプルに基づいて、現クロマブロックに対する予測サンプルを導出するステップと、予測サンプルに基づいて、現クロマブロックに対する復元サンプルを生成するステップと、を有し、特定値は、2に導出される、ことを特徴とする。
本文書の他の一実施形態によれば、画像デコードを行うデコード装置が提供される。デコード装置は、現クロマブロックに対する予測モード情報を有する画像情報を取得するエントロピデコード部と、予測モード情報に基づいて複数のクロスコンポーネント線形モデル(Cross-Component Linear Model;CCLM)予測モードのうちの1つを現クロマブロックのCCLM予測モードとして導出し、現クロマブロックのCCLM予測モード、現クロマブロックのサイズ、および特定値に基づいて、現クロマブロックの周辺クロマサンプルのサンプル個数を導出し、サンプル個数の周辺クロマサンプルを導出し、現ルマブロックのダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出し、周辺ルマサンプルは、周辺クロマサンプルと対応し、周辺クロマサンプルおよびダウンサンプリングされた周辺ルマサンプルに基づいて、CCLMパラメータを計算し、CCLMパラメータおよびダウンサンプリングされたルマサンプルに基づいて、現クロマブロックに対する予測サンプルを導出する予測部と、予測サンプルに基づいて、現クロマブロックに対する復元サンプルを生成する加算部と、を備え、特定値は、2に導出される、ことを特徴とする。
本文書のさらに他の一実施形態によれば、エンコード装置によって行われるビデオエンコード方法を提供する。方法は、複数のクロスコンポーネント線形モデル(Cross-Component Linear Model;CCLM)予測モードのうち、現クロマブロックのCCLM予測モードを決定するステップと、現クロマブロックのCCLM予測モード、現クロマブロックのサイズ、および特定値に基づいて、現クロマブロックの周辺クロマサンプルのサンプル個数を導出するステップと、サンプル個数の周辺クロマサンプルを導出するステップと、現ルマブロックのダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出するステップであって、周辺ルマサンプルは、周辺クロマサンプルと対応するステップと、周辺クロマサンプルおよびダウンサンプリングされた周辺ルマサンプルに基づいて、CCLMパラメータを計算するステップと、CCLMパラメータおよびダウンサンプリングされたルマサンプルに基づいて、現クロマブロックに対する予測サンプルを導出するステップと、現クロマブロックに対する予測モード情報を有する画像情報をエンコードするステップと、を有し、特定値は、2に導出される、ことを特徴とする。
本文書のさらに他の一実施形態によれば、ビデオエンコード装置を提供する。エンコード装置は、複数のクロスコンポーネント線形モデル(Cross-Component Linear Model;CCLM)予測モードのうち、現クロマブロックのCCLM予測モードを決定し、現クロマブロックのCCLM予測モード、現クロマブロックのサイズ、および特定値に基づいて、現クロマブロックの周辺クロマサンプルのサンプル個数を導出し、サンプル個数の周辺クロマサンプルを導出し、現ルマブロックのダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出し、周辺ルマサンプルは、周辺クロマサンプルと対応し、周辺クロマサンプルおよびダウンサンプリングされた周辺ルマサンプルに基づいて、CCLMパラメータを計算し、CCLMパラメータおよびダウンサンプリングされたルマサンプルに基づいて、現クロマブロックに対する予測サンプルを導出する予測部と、現クロマブロックに対する予測モード情報を有する画像情報をエンコードするエントロピエンコード部と、を備え、特定値は、2に導出される、ことを特徴とする。
本文書によれば、全般的な画像/ビデオ圧縮効率を上げることができる。
本文書によれば、イントラ予測の効率を上げることができる。
本文書によれば、CCLMに基づいてイントラ予測を行って画像コーディング効率を上げることができる。
本文書によれば、複数のLMモード、すなわち、MDLM(Multi-Directional Linear Model)を含むCCLMに基づくイントラ予測の効率を上げることができる。
本文書によれば、サイズが大きいクロマブロックで行われるMDLM(Multi-Directional Linear Model)のための線形モデルパラメータを導出するために、選択される周辺サンプルの個数を特定個数に制限することで、イントラ予測の複雑度を減らすことができる。
本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す図である。 本文書の実施形態が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。 本文書の実施形態が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。 65個の予測方向のイントラ方向性モードを例示的に示す図である。 一実施形態に係る現クロマブロックのイントラ予測モードを導出する過程(処理、手順、process)を説明する図である。 上述したCCLM予測に関するパラメータ計算のための2N個の参照サンプルを示す図である。 LM_A(Linear Model_Above、LM_A)モードおよびLM_L(Linear Model_Left、LM_L)モードを例示的に示す図である。 一実施形態に従って現クロマブロックに対するCCLM予測を行う過程を説明する図である。 一実施形態に従って現クロマブロックに対するCCLM予測を行う過程を説明する図である。 一実施形態に従って現クロマブロックに対するCCLM予測を行う過程を説明する図である。 一実施形態に従って現クロマブロックに対するCCLM予測を行う過程を説明する図である。 上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法4に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法4に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 クロマブロックの周辺参照サンプルを選択する一例を示す図である。 既存のサブサンプリングを介して導出された周辺参照サンプルおよび本実施形態に係るサブサンプリングを介して導出された周辺参照サンプルを例示的に示す図である。 既存のサブサンプリングを介して導出された周辺参照サンプルおよび本実施形態に係るサブサンプリングを介して導出された周辺参照サンプルを例示的に示す図である。 既存のサブサンプリングを介して導出された周辺参照サンプルおよび本実施形態に係るサブサンプリングを介して導出された周辺参照サンプルを例示的に示す図である。 上述した数式6を使用したサブサンプリングを用いてCCLM予測を行う一例を示す図である。 上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 上述した実施形態の方法4に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。 本文書に係るエンコード装置による画像エンコード方法を概略的に示す図である。 本文書に係る画像エンコード方法を行うエンコード装置を概略的に示す図である。 本文書に係るデコード装置による画像デコード方法を概略的に示す図である。 本文書に係る画像デコード方法を行うデコード装置を概略的に示す図である。 本文書の実施形態が適用されるコンテンツストリーミングシステム構造図を例示的に示す図である。
本文書は、様々な変更を加えることができ、種々の実施形態を有することができるところ、特定の実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本文書を特定の実施形態に限定しようとするものではない。本明細書において常用する用語は、単に特定の実施形態を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つもしくは複数の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能などに関する説明の都合上、独立して図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されることを意味するものではない。例えば、各構成のうち、2つ以上の構成が合わせられて1つの構成をなすことができ、1つの構成が複数の構成に分けられることもできる。各構成が統合および/または分離された実施形態も、本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
以下、添付した図面を参照して、本文書の望ましい実施形態をより詳細に説明する。以下、図面上の同じ構成要素に対しては、同じ参照符号を使用し、同じ構成要素に対して重複した説明は省略されることができる。
図1は、本文書の実施形態が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)および第2の装置(受信デバイス)を含むことができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータを、ファイルまたはストリーミング形態でデジタル記憶媒体またはネットワークを介して受信デバイスに伝達することができる。
上記ソースデバイスは、ビデオソース、エンコード装置、送信部を備えることができる。上記受信デバイスは、受信部、デコード装置、およびレンダラを備えることができる。上記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、上記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信器は、エンコード装置に含まれることができる。受信器は、デコード装置に含まれることができる。レンダラは、ディスプレイ部を備えることができ、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
ビデオソースは、ビデオ/画像のキャプチャ、合成、または生成過程などを介してビデオ/画像を取得できる。ビデオソースは、ビデオ/画像キャプチャデバイスおよび/またはビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つまたは複数のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを備えることができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、およびスマートフォンなどを備えることができ、(電子的に)ビデオ/画像を生成できる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成され得るし、この場合、関連データが生成される過程にてビデオ/画像キャプチャ過程が代替され得る。
エンコード装置は、入力ビデオ/画像をエンコードできる。エンコード装置は、圧縮およびコーディング効率のために、予測、変換、量子化など、一連の手順を行うことができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bit stream)形態で出力されることができる。
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータを、ファイルまたはストリーミング形態でデジタル記憶媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル記憶媒体は、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つの画像を示す単位を意味し、スライス(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)。タイルは、特定のタイル列および特定のタイル列以内の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 may be 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および/またはB」と解釈され、「A、B」は、「Aおよび/またはB」と解釈される。追加的に、「A/B/C」は、「A、Bおよび/またはCのうちの少なくとも1つ」を意味する。また、「A、B、C」も「A、Bおよび/またはCのうちの少なくとも1つ」を意味する。(In this document、the term “/” and “,” should be interpreted to indicate “and/or.” For instance、the expression “A/B” may mean “A and/or B.” Further, “A、B” may mean “A and/or B.” Further、“A/B/C” may mean “at least one of A, B, and/or C.” Also、“A/B/C” may mean “at least one of A, B, and/or C.”)
追加的に、本文書において「または」は、「および/または」と解釈される。例えば、「AまたはB」は、1)「A」だけを意味し、2)「B」だけを意味するか、3)「AおよびB」を意味できる。言い換えれば、本文書の「または」は、「追加的にまたは代替的に(additionally or alternatively)」を意味できる。(Further, in the document, the term “or” should be interpreted to indicate “and/or.” For instance, the expression “A or B” may comprise 1) only A, 2) only B, and/or 3) both A and B. In other words, the term “or” in this document should be interpreted to indicate “additionally or alternatively.”)
図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)または復元ブロック生成部(reconstructed 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を介して逆量子化および逆変換を適用することにより、残差信号(残差ブロックまたは残差サンプル)を復元できる。加算部155は、復元された残差信号をインター予測部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で参照ピクチャとして使用されることができる。エンコード装置は、これによりインター予測が適用される場合、エンコード装置100とデコード装置とにおける予測ミスマッチを避けることができ、符号化効率も向上させることができる。
メモリ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、321)を備えることができる。上述したエントロピデコード部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に伝達することができる。
本明細書において、エンコード装置100のフィルタリング部260、インター予測部221、およびイントラ予測部222で説明された実施形態は、各々デコード装置300のフィルタリング部350、インター予測部332、およびイントラ予測部331にも、同一または対応するように適用されることができる。
一方、上述したように、ビデオコーディングを行うにあたって、圧縮効率を上げるために予測を行う。これによりコーディング対象ブロックである現ブロックに対する予測サンプルを含む予測されたブロックを生成できる。ここで、上記予測されたブロックは、空間領域(ドメイン)(または、ピクセル領域)における予測サンプルを含む。上記予測されたブロックは、エンコード装置およびデコード装置で同様に導出され、上記エンコード装置は、オリジナルブロックのオリジナルサンプル値自体でない、上記オリジナルブロックと上記予測されたブロックとの間の残差に関する情報(残差情報)を、デコード装置にシグナリングすることにより画像コーディング効率を上げることができる。デコード装置は、上記残差情報に基づいて残差サンプルを含む残差ブロックを導出し、上記残差ブロックと上記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成でき、復元ブロックを含む復元ピクチャを生成できる。
上記残差情報は、変換および量子化手順を介して生成されることができる。例えば、エンコード装置は、上記オリジナルブロックと上記予測されたブロックとの間の残差ブロックを導出し、上記残差ブロックに含まれる残差サンプル(残差サンプルアレイ)に変換手順を行って変換係数を導出し、上記変換係数に量子化手順を行って量子化された変換係数を導出し、関連する残差情報を(ビットストリームを介して)デコード装置にシグナリングすることができる。ここで、上記残差情報は、上記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、上記残差情報に基づいて逆量子化/逆変換手順を行い、残差サンプル(または、残差ブロック)を導出できる。デコード装置は、予測されたブロックと上記残差ブロックとに基づいて復元ピクチャを生成できる。エンコード装置は、さらに、以後のピクチャのインター予測のための参照のために、量子化された変換係数を逆量子化/逆変換して残差ブロックを導出し、これに基づいて復元ピクチャを生成できる。
図4は、65個の予測方向のイントラ方向性モードを例示的に示す。
図4に示すように、左上向対角予測方向を有する34番のイントラ予測モードを中心に水平方向性(horizontal directionality)を有するイントラ予測モードと垂直方向性(vertical directionality)を有するイントラ予測モードとを区分できる。図4のHおよびVは、各々水平方向性および垂直方向性を意味し、-32~32の数字は、サンプルグリッドポジション(sample grid position)上で1/32単位の変位を示す。2番ないし33番のイントラ予測モードは、水平方向性、34番ないし66番のイントラ予測モードは、垂直方向性を有する。18番のイントラ予測モードと50番のイントラ予測モードとは、各々水平イントラ予測モード(horizontal intra prediction mode)(または、水平モード)、垂直イントラ予測モード(vertical intra prediction mode)(または、垂直モード)を示し、2番のイントラ予測モードは、左下向対角イントラ予測モード、34番のイントラ予測モードは、左上向対角イントラ予測モード、66番のイントラ予測モードは、右上向対角イントラ予測モードと呼ばれることができる。
図5は、一実施形態に係る現クロマブロックのイントラ予測モードを導出する過程を説明する図である。
本明細書において「クロマ(chroma)ブロック」、「クロマ画像」などは、色差ブロック、色差画像などと同じ意味を表すことができるので、クロマと色差とは混用されることができる。同様に、「ルマ(luma)ブロック」、「ルマ画像」などは、輝度ブロック、輝度画像などと同じ意味を表すことができるので、ルマと輝度とは、混用されることができる。
本明細書において「現クロマブロック」は、現在のコーディング単位である現ブロックのクロマ成分ブロックを意味でき、「現ルマブロック」は、現在のコーディング単位である現ブロックのルマ成分ブロックを意味できる。したがって、現ルマブロックと現クロマブロックとは、相互に対応する。ただし、現ルマブロックと現クロマブロックとのブロック形態およびブロック個数が常に相互に同一であるものではなく、場合によって、相違することができる。一部の場合、現クロマブロックは、現ルマ領域と対応することができ、このとき、現ルマ領域は、少なくとも1つのルマブロックで構成されることができる。
本明細書において、「参照サンプルテンプレート」は、現クロマブロックを予測するための現クロマブロック周辺の参照サンプルの集合を意味できる。参照サンプルテンプレートは、予め定義されることができ、参照サンプルテンプレートに関する情報がエンコード装置200からデコード装置300にシグナリングされることもできる。
図5に示すように、現クロマブロックである4×4ブロックの周辺に1行(ライン)で陰影表示されたサンプルの集合は、参照サンプルテンプレートを示す。参照サンプルテンプレートが1行の参照サンプルで構成されることに対し、参照サンプルテンプレートと対応するルマ領域内の参照サンプル領域は、2行で構成されることを図5から確認することができる。
一実施形態において、JVET(Joint Video Exploration Team)で使用されるJEM(Joint Exploration TEST Model)でクロマ画像の画面内の符号化を行う際、CCLM(Cross Component Linear Model)を用いることができる。CCLMは、クロマ画像の画素値を復元された輝度画像の画素値で予測する方法であって、輝度画像とクロマ画像との間の相関度(correlation)が高いという特性に基づいたものである。
CbおよびCrクロマ画像のCCLM予測は、下記の数式に基づくことができる。
<数式1>
Figure 0007018139000001
ここで、predc(i、j)は、予測されるCbあるいはCrクロマ画像を、RecL’(i、j)は、クロマブロックサイズに調節された復元された輝度画像を、(i、j)は、画素の座標を意味する。4:2:0カラーフォーマット(color format)では、輝度画像のサイズが色彩画像の2倍であるため、ダウンサンプリング(down sampling)を介して色差ブロックサイズのRecL’を生成しなければならず、したがって、色差画像predc(i、j)に使用される輝度画像の画素は、RecL(2i、2j)の他に、周辺画素まで全て考慮して使用することができる。上記RecL’(i、j)は、ダウンサンプリングされたルマサンプルとして示すことができる。また、αおよびβは、線形モデルまたはCCLMパラメータと呼ばれることができる。具体的には、上記αは、スケーリングファクタ、上記βは、オフセット、と呼ばれることができる。上記現ブロックにCCLM予測が適用されるか否かを指示する予測モード情報は、エンコード装置で生成されてデコード装置に送信されることができ、上記CCLMパラメータは、周辺復元サンプル(または、テンプレート)に基づいてエンコード装置とデコード装置とで同様に計算されることができる。
一方、例えば、上記RecL’(i、j)は、次の数式のように6個の周辺画素を用いて導出されることができる。
<数式2>
Figure 0007018139000002
また、α、βは、図3の陰影表示された領域のように、CbもしくはCrクロマブロック周辺テンプレートと輝度ブロック周辺テンプレートとの間のcross-correlationおよび平均値の差を示し、α、βは、例えば、下記の数式3の通りである。
<数式3>
Figure 0007018139000003
ここで、tLは、現在クロマ画像に対応するルマブロックの周辺参照サンプルを、tCは、現在符号化が適用される現クロマブロックの周辺参照サンプルを意味し、(i、j)は、画素位置を意味する。また、M(A)は、A画素の平均を意味する。
一方、上述したCCLM予測に関するパラメータ計算(すなわち、例えば、上記α、β)のためのサンプルは、次のように選択されることができる。
・現クロマブロックがN×Nサイズのクロマブロックである場合、合計2N個(横N個、縦N個)の上記現クロマブロックの周辺参照サンプルペア(pair、輝度および色差)が選択され得る。
・現クロマブロックがN×MサイズまたはM×Nサイズのクロマブロックである場合(ここで、N<=M)、合計2N個(横N個、縦N個)の上記現クロマブロックの周辺参照サンプルペア(pair)が選択され得る。一方、MがNより大きいので(例えば、M=2Nまたは3Nなど)、M個のサンプルのうち、サブサンプリング(subsampling)を介してN個のサンプルペアが選択され得る。
あるいは、複数のCCLMモードに基づいてCCLM予測が行われる場合、すなわち、MDLM(Multi-Directional Linear Model)が適用される場合には、パラメータ計算のためのサンプルが次のように選択されることができる。
・現クロマブロックが既存のCCLM予測、すなわち、LM_LT(Linear Model_Left Top、LM_LT)モードが適用されるN×Nサイズのクロマブロックである場合、合計2N個(横N個、縦N個)の上記現クロマブロックの周辺参照サンプルペア(pair、輝度および色差)が選択され得る。ここで、上記LM_LTモードは、LM_LA(Linear Model_Left Above、LM_LA)モードと呼ばれることもできる。
・現クロマブロックが、上記LM_LTモードが適用されるN×MサイズまたはM×Nサイズのクロマブロックである場合(ここで、N<=M)、合計2N個(横N個、縦N個)の上記現クロマブロックの周辺参照サンプルペア(pair)が選択され得る。一方、MがNより大きいので(例えば、M=2Nまたは3Nなど)、M個のサンプルのうち、サブサンプリング(subsampling)を介してN個のサンプルペアが選択され得る。
・現クロマブロックがMDLM、すなわち、上記LM_LTモード以外のCCLM予測モードが適用されるN×Mサイズのクロマブロックである場合、上記現クロマブロックにLM_T(Linear Model_Top、LM_T)モードが適用され得るし、合計2N個の上側周辺参照サンプルペアが選択され得る。ここで、上記LM_Tモードは、LM_A(Linear Model_Above、LM_A)モードと呼ばれることもできる。
・現クロマブロックがMDLM、すなわち、上記LM_LTモード以外のCCLM予測モードが適用されるM×Nサイズのクロマブロックである場合、上記現クロマブロックにLM_L(Linear Model_Left、LM_L)モードが適用され得るし、合計2N個の左側周辺参照サンプルペアが選択され得る。
一方、上記MDLMは、複数のCCLM予測モードのうち、選択されたCCLM予測モードに基づいて行われるCCLM予測を表すことができる。上記複数のCCLM予測モードは、上記LM_Lモード、上記LM_Tモード、および上記LM_LTモードを含むことができる。上記LM_Tモードは、現ブロックの上側参照サンプルのみを用いてCCLMを行うCCLM予測モードを表すことができ、LM_Lモードは、上記現ブロックの左側参照サンプルのみを用いてCCLMを行うCCLM予測モードを表すことができる。また、LM_LTモードは、既存のCCLM予測のように、上記現ブロックの上側参照サンプルおよび左側参照サンプルを用いてCCLMを行うCCLM予測モードを表すことができる。上記MDLMについての具体的な説明は後述する。
図6は、上述したCCLM予測に関するパラメータ計算のための2N個の参照サンプルを示す。図6に示すように、上記CCLM予測に関するパラメータ計算のために導出される2N個の参照サンプルペアを示すことができる。上記2N個の参照サンプルペアは、上記現クロマブロックに隣接する2N個の参照サンプルおよび上記現ルマブロックに隣接する2N個の参照サンプルを含むことができる。
上述した内容のように、2N個のサンプルペアが導出され得るし、上記サンプルペアを用いた上述した数式3を介してCCLMパラメータα、βが計算される場合、次の表1のような数の演算が要求され得る。
<表1>
Figure 0007018139000004
上記表1を参照すれば、例えば、4×4サイズのクロマブロックの場合、CCLMパラメータ計算のために、乗算演算21回、加算演算31回が必要でありうるし、32×32サイズのクロマブロックの場合、乗算演算133回、加算演算が255回要求されることができる。すなわち、クロマブロックのサイズが大きくなるほど、CCLMパラメータ計算のために要求される演算量が急増するようになり、これは、ハードウェア実現の際のディレイ(遅延)(delay)問題に直結することができる。特に、上記CCLMパラメータは、デコード装置でも計算を介して導出されなければならないため、デコード装置ハードウェア実現の際のディレイ問題および実現コスト(cost)増加につながることができる。
一方、VTM3.0では、αおよびβ計算の際の乗算および加算演算を減らすために、2個のルマおよびクロマサンプルペアの変化勾配を利用してCCLMパラメータが計算され得る。例えば、上記CCLMパラメータは、次の数式のように計算されることができる。
<数式4>
Figure 0007018139000005
ここで(xA、yA)は、CCLMパラメータ計算のための現ブロックの周辺参照サンプルのうち、ルマ値が最も小さいルマサンプルyAおよび上記ルマサンプルのペアであるクロマサンプルxAのサンプル値を示すことができ、(xB、yB)は、CCLMパラメータ計算のための現ブロックの周辺参照サンプルのうち、ルマ値が最も大きいルマサンプルyBおよび上記ルマサンプルのペアであるクロマサンプルxBのサンプル値を示すことができる。すなわち、言い換えれば、yAは、現ブロックの周辺参照サンプルのうち、ルマ値が最も小さいルマサンプルを示すことができ、xAは、上記ルマサンプルyAのペアであるクロマサンプルを示すことができ、yBは、現ブロックの周辺参照サンプルのうち、ルマ値が最も大きいルマサンプルを示すことができ、xBは、上記ルマサンプルyBのペアであるクロマサンプルを示すことができる。
<表2>
Figure 0007018139000006
上記表2は、簡素化された計算方法にて導出されるCCLMパラメータを例示的に示す。
上述した数式を利用してCCLMパラメータが計算されれば、既存の方法に比べて乗算および加算演算を大きく減らすことができるという長所があるが、現ブロックの周辺ルマサンプルのうち、最小値および最大値を決定しなければならないため、比較(comparison)演算が追加される。すなわち、2N個の周辺サンプルでサンプル最小値および最大値を決定するために、4N回の比較演算が必要であり、上記比較演算の追加は、ハードウェア実現の際のディレイ(delay)を招くことがある。
また、CCLM予測を行うにあたって、VTM3.0で採択されたMDLM(multi-directional LM)が行われ得る。
図7は、LM_A(Linear Model_Above、LM_A)モードおよびLM_L(Linear Model_Left、LM_L)モードを例示的に示す。エンコード装置およびデコード装置は、上記LM_Aモードおよび上記LM_Lモードが追加されたCCLM予測を行うことができる。上記LM_Aモードは、現ブロックの上側参照サンプルのみを用いてCCLMを行うCCLM予測モードを表すことができる。この場合、図7に示されたように、既存のCCLM予測における上側参照サンプルを右に2倍拡張した上側参照サンプルに基づいてCCLM予測が行われ得る。上記LM_Aモードは、LM_T(Linear Model_Top、LM_T)モードと呼ばれることもできる。また、LM_Lモードは、上記現ブロックの左側参照サンプルのみを用いてCCLMを行うCCLM予測モードを表すことができる。この場合、図7に示されたように、既存のCCLM予測における左側参照サンプルを下方に2倍拡張した左側参照サンプルに基づいてCCLM予測が行われ得る。一方、既存のCCLM予測、すなわち、現ブロックの上側参照サンプルおよび左側参照サンプルに基づいてCCLM予測を行うモードは、LM_LAモードまたはLM_LTモードと表すことができる。複数のCCLM予測モードを含むMDLMにおけるパラメータα、βは、上述した2個のルマおよびクロマサンプルペアの変化勾配を利用して計算されることができ、したがって、MDLMに関するパラメータ計算の際にも多くの比較演算が必要であり、上記比較演算の追加は、ハードウェア実現の際のディレイ(delay)を招くことがある。具体的には、上述した内容のように、2N個のサンプルペアを用いる上述した数式4を介してCCLMパラメータα、βが計算される場合、4N回の比較演算が要求される。すなわち、4×4クロマブロックの場合、CCLMパラメータ計算のために、比較演算16回が必要であり、32×32クロマブロックの場合には、128回の比較演算が要求される。すなわち、クロマブロックサイズが大きくなるほど、CCLMパラメータ計算のために要求される演算量が急増するようになり、これは、ハードウェア実現の際のディレイ問題に直結する。特に、CCLMパラメータは、デコード装置でも計算を介して求めなければならず、したがって、上記比較演算の追加は、デコード装置のハードウェア実現の際のディレイ問題および実現コスト(cost)増加につながる。
したがって、上記ディレイを減らす方法が必要であり、これにより、本文書は、CCLMパラメータ導出のための演算複雑度を減らし、これによりデコード装置のハードウェアコストならびにデコード過程の複雑度および時間を減らす実施形態を提案する。
本実施形態は、上記CCLMパラメータ導出のための演算複雑度を減らし、これによりデコード装置のハードウェアコストならびにデコード過程の複雑度および時間を減らすことができる。
一例として、上述したクロマブロックサイズの増加によるCCLMパラメータ演算量増加の問題を解決するために、周辺サンプル選択上限ライン(上限線)Nthを設定した後、後述するように、クロマブロック周辺画素を選択してCCLMパラメータを計算する実施形態が提案され得る。上記Nthは、最大周辺サンプル数と示すこともできる。例えば、Nth=2、4、8、または16に設定されることができる。
本実施形態に係る上記CCLMパラメータ計算過程は、次の通りでありうる。
・現クロマブロックがN×Nサイズのクロマブロックであり、上記Nth>=Nである場合、合計2N個(横N個、縦N個)の上記現クロマブロックの周辺参照サンプルペア(pair)が選択され得る。
・現クロマブロックがN×Nサイズのクロマブロックであり、上記Nth<Nである場合、合計2×Nth個(横Nth個、縦Nth個)の上記現クロマブロックの周辺参照サンプルペア(pair)が選択され得る。
・現クロマブロックがN×MサイズまたはM×Nサイズ(ここで、N<=M)のクロマブロックであり、Nth>=Nである場合、合計2N個(横N個、縦N個)の上記現クロマブロックの周辺参照サンプルペア(pair)が選択され得る。上記Mが上記Nより大きいので(例えば、M=2Nまたは3Nなど)、M個のサンプルのうち、サブサンプリング(subsampling)を介してN個のサンプルが選択され得る。
・現クロマブロックがN×MサイズまたはM×Nサイズ(ここで、N<=M)のクロマブロックであり、Nth<Nである場合、合計2×Nth個(横Nth個、縦Nth個)の上記現クロマブロックの周辺参照サンプルペア(pair)が選択され得る。上記Mが上記Nより大きいので(例えば、M=2Nまたは3Nなど)、M個のサンプルのうち、サブサンプリング(subsampling)を介してNth個のサンプルが選択され得る。
上述した内容のように、本実施形態は、選択される周辺サンプル個数の最大値であるNthを設定することにより、CCLMパラメータ計算のための周辺参照サンプル個数を制限でき、これによりサイズが大きいクロマブロックでも比較的少ない計算を介してCCLMパラメータを計算できる。
また、上記Nthを適切に小さい数(例えば、4または8)に設定する場合、CCLMパラメータ計算のハードウェア実現の際、ワーストケース(worst case)の演算(例えば、32×32サイズのクロマブロック)を避けることができ、したがって、上記ワーストケースと比較して要求されるハードウェアゲート(gate)数を減らすことができ、これによりハードウェア実現コストの減少効果も得ることができる。
例えば、上記Nthが2、4、および8である場合に、クロマブロックサイズによるCCLMパラメータ計算演算量は、次の表のように示すことができる。
<表3>
Figure 0007018139000007
一方、上記Nthは、上記Nthを示す追加情報を送信する必要なしでエンコード装置とデコード装置とで予め設定された値に導出されることができる。あるいは、上記Nthを示す追加情報がCU(Coding Unit)、スライス(slice)、ピクチャ(picture)、またはシーケンス(sequence)単位で送信されることができ、上記Nthは、上記Nthを示す追加情報に基づいて導出されることができる。上記Nthを示す追加情報は、上記Nthの値を示すことができる。上記Nthを示す追加情報は、エンコード装置で生成およびエンコードされることができ、デコード装置に送信またはシグナリングされることができる。その後、Nth値を送信またはシグナリングすることは、Nth値に関する情報をエンコード装置からデコード装置に送信またはシグナリングすることを示すことができる。
例えば、CU単位でNthを示す追加情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば、後述する内容のように、シンタックス要素(syntax element)cclm_reduced_sample_flagをパージングし、CCLMパラメータ計算過程を行う方式(方案)が提案され得る。上記cclm_reduced_sample_flagは、CCLMリデュースドサンプルフラグ(CCLM reduced sample flag)のシンタックス要素を示すことができる。
・上記cclm_reduced_sample_flagが0(False)である場合、既存のCCLM周辺サンプル選択方式を介してCCLMパラメータ計算を実行
・上記cclm_reduced_sample_flagが1(True)である場合、上記Nth=2に設定し、上述した実施形態で提案する周辺サンプル選択方式を介してCCLMパラメータ計算を実行
あるいは、スライス、ピクチャ、またはシーケンス単位でNthを示す追加情報が送信される場合、後述するように、HLS(High Level Syntax)を介して送信される上記追加情報に基づいてNth値がデコードされることができる。上記Nthを示す追加情報は、エンコード装置でエンコードされてビットストリームに含まれることができ、送信されることができる。
例えば、スライスヘッダを介してシグナリングされる上記追加情報は、次の表のように示すことができる。
<表4>
Figure 0007018139000008
cclm_reduced_sample_numは、上記Nthを示す追加情報のシンタックス要素を示すことができる。
あるいは、例えば、PPS(Picture Parameter Set、PPS)を介してシグナリングされる上記追加情報は、次の表のように示すことができる。
<表5>
Figure 0007018139000009
あるいは、例えば、SPS(Sequence Parameter Set、SPS)を介してシグナリングされる上記追加情報は、次の表のように示すことができる。
<表6>
Figure 0007018139000010
上記スライスヘッダ、上記PPS、または上記SPSを介して送信されたcclm_reduced_sample_num値(すなわち、cclm_reduced_sample_numをデコードして導出された値)に基づいて導出されたNth値は、次の表のように導出されることができる。
<表7>
Figure 0007018139000011
例えば、上記表7を参照すれば、上記cclm_reduced_sample_numに基づいて上記Nthが導出され得る。上記cclm_reduced_sample_numの値が0である場合、上記Nthは、2に導出される(上記Nthとして、2が導出される)ことができ、上記cclm_reduced_sample_numの値が1である場合、上記Nthは、4に導出されることができ、上記cclm_reduced_sample_numの値が2である場合、上記Nthは、8に導出されることができ、上記cclm_reduced_sample_numの値が3である場合、上記Nthは、16に導出されることができる。
一方、CU、スライス、ピクチャ、またはシーケンス単位でNthを示す追加情報が送信される場合、エンコード装置は、次のように上記Nth値を決定でき、デコード装置に上記Nth値を示す上記Nthに関する上記追加情報を送信することができる。
・CU単位でNth値を示す上記追加情報が送信される場合、エンコード装置は、上記現クロマブロックのイントラ予測モードがCCLMモードであれば、下記の2つの場合のうち、エンコード効率が良い方をRDOを介して決定することができ、決定された方法に関する情報をデコード装置に送信することができる。

1)既存のCCLM参照サンプル選択方式を介してCCLMパラメータ計算を行うことが、エンコード効率が良い場合、値が0(False)であるcclm_reduced_sample_flagを送信
2)Nth=2に設定され、本実施形態で提案するCCLM参照サンプル方式を介してCCLMパラメータ計算を行うことが、エンコード効率が良い場合、値が1(True)であるcclm_reduced_sample_flagを送信
・あるいは、スライス、ピクチャ、またはシーケンス単位でNth値を示す上記追加情報が送信される場合、エンコード装置は、上述した表4、表5、または表6のように、HLS(High Level Syntax)を追加してNth値を示す追加情報を送信できる。エンコード装置は、上記Nth値を、入力画像のサイズを考慮したり、またはエンコードターゲットビットレート(target bitrate)に合うように設定することができる。
1)例えば、入力画像がHD以上である場合、エンコード装置は、Nth=8に設定することができ、それ以下である場合、Nth=4に設定することができる。
2)高い品質の画像エンコードが必要な場合、エンコード装置は、Nth=8に設定することができ、普通品質の画像エンコードが必要な場合、Nth=4に設定、低い品質の画像エンコードが必要な場合、Nth=2に設定することができる。
一方、上述した表3で図示されたように、本実施形態で提案する方法が使用される場合、ブロックサイズが大きくなるにもかかわらず、CCLMパラメータ計算のために要求される演算量は増加しないことを見ることができる。一例として、現クロマブロックのサイズが32×32である場合に、本実施形態で提案する方法を介して(例えば、上記Nth=4に設定)CCLMパラメータ計算のための演算量を86%減らすことができる。
次の表は、上記Nthが2である場合の実験結果データを示すことができる。
<表8>
Figure 0007018139000012
また、次の表は、上記Nthが4である場合の実験結果データを示すことができる。
<表9>
Figure 0007018139000013
また、次の表は、上記Nthが8である場合の実験結果データを示すことができる。
<表10>
Figure 0007018139000014
また、次の表は、上記Nthが16である場合の実験結果データを示すことができる。
<表11>
Figure 0007018139000015
上記表8ないし表11は、上記Nthが2、4、8、16である場合のコーディング効率および演算複雑度を示すことができる。
上記表8ないし表11を参照すれば、CCLMパラメータ計算演算量を減らしたにもかかわらず、エンコード効率は、ほとんど変化がないことを見ることができる。例えば、上記表9を参照すれば、上記Nthが4に設定される場合(Nth=4)、各成分に対するエンコード効率は、Y0.04%、Cb0.12%、Cr0.07%であって、上記Nthを設定しない場合とほとんど変化がなく、エンコードおよびデコード複雑度は、97%および95%に減少することが確認できる。
また、表10および表11を参照すれば、CCLMパラメータ計算演算量を減らす場合(すなわち、Nth=8または16)、エンコード効率は、むしろ良くなり、エンコードおよびデコード複雑度は、減少することを見ることができる。
本実施形態で提案する方法は、クロマ成分に対するイントラ予測モードであるCCLMモードに使用されることができ、上記CCLMモードを介して予測されたクロマブロックは、エンコード装置でオリジナル画像との差分を介して残差画像を導出するのに使用されるか、デコード装置で残差信号との合計を介して復元された画像を導出するのに使用されることができる。
図8aおよび図8bは、一実施形態に従って、現クロマブロックに対するCCLM予測を行う過程を説明する図である。
図8aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S800)。例えば、上記CCLMパラメータは、図8bに示された実施形態のように計算されることができる。
図8bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図8bに示すように、エンコード装置/デコード装置は、現クロマブロックに対するNthを設定できる(S805)。上記Nthは、予め設定された値でありうるし、またはシグナリングされる上記Nthに関する追加情報に基づいて導出されることができる。上記Nthは、2、4、8、または16に設定されることができる。
その後、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S810)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅であるNが上記Nthより大きいかを判断することができる(S815)。
上記Nが上記Nthより大きい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S820)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S825)。
また、上記Nが上記Nthより大きくない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2N個の周辺サンプルを選択できる(S830)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S825)。
一方、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができる(S835)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
その後、エンコード装置/デコード装置は、上記Nが上記Nthより大きいかを判断することができる(S840)。
上記Nが上記Nthより大きい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S845)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S825)。
また、上記Nが上記Nthより大きくない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2N個の周辺サンプルを選択できる(S850)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S825)。
さらに、図8aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S860)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
一方、本文書では、上記CCLMパラメータ導出において、CCLMパラメータ導出のための演算複雑度を減らす上述した実施形態と異なる実施形態が提案され得る。
一例として、上述したクロマブロックサイズの増加によるCCLMパラメータ演算量増加の問題を解決するために、周辺サンプル選択上限ラインNthを現クロマブロックのブロックサイズに適応的に設定し、上記設定されたNthに基づいて上記現クロマブロックの周辺画素を選択してCCLMパラメータを計算する実施形態が提案され得る。上記Nthは、最大周辺サンプル数と示すこともできる。
例えば、次のように、現クロマブロックのブロックサイズに適応的に上記Nthが設定され得る。
・N×MサイズまたはM×Nサイズ(ここで、N<=M)の現クロマブロックでN<=THである場合、Nth=2に設定
・N×MサイズまたはM×Nサイズ(ここで、N<=M)の現クロマブロックでN>THである場合、Nth=4に設定
この場合、例えば、閾値THに従ってCCLMパラメータを計算するのに使用される参照サンプルは、次のように選択されることができる。
例えば、上記THが4である場合(TH=4)、上記現クロマブロックの上記Nが2または4である場合には、一辺のブロックに対する2個のサンプルペアが用いられて、上記CCLMパラメータが計算され得るし、上記Nが8、16、または32である場合には、一辺のブロックに対する4個のサンプルペアが用いられて、上記CCLMパラメータが計算され得る。
また、例えば、上記THが8である場合(TH=8)、上記現クロマブロックの上記Nが2、4、または8である場合には、一辺のブロックに対する2個のサンプルペアが用いられて、上記CCLMパラメータが計算され得るし、上記Nが16または32である場合には、一辺のブロックに対する4個のサンプルペアが用いられて、上記CCLMパラメータが計算され得る。
上述した内容のように、本実施形態は、現クロマブロックのブロックサイズに適応的に上記Nthを設定することによって、ブロックサイズに最適化されたサンプル個数が選択され得る。
例えば、既存のCCLM参照サンプル選択方式および本実施形態に係るCCLMパラメータ計算演算量は、次の表のように示すことができる。
<表12>
Figure 0007018139000016
ここで、上記Nは、上記現ブロックの幅および高さのうちの小さい値を示すことができる。上記表12を参照すれば、本実施形態で提案するCCLM参照サンプル選択方式が使用される場合、ブロックサイズが大きくなるにもかかわらず、CCLMパラメータ計算のために要求される演算量は増加しないことができる。
一方、上記THは、上記THを示す追加情報を送信する必要なしで、エンコード装置とデコード装置とで予め設定された値に導出されることができる。あるいは、上記THを示す追加情報が、CU(Coding Unit)、スライス(slice)、ピクチャ(picture)、またはシーケンス(sequence)単位で送信され得るし、上記THは、上記THを示す追加情報に基づいて導出されることができる。上記THを示す追加情報は、上記THの値を示すことができる。
例えば、CU単位でTHを示す追加情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば、後述する内容のようにシンタックス要素(syntax element)cclm_reduced_sample_flagをパージングし、CCLMパラメータ計算過程を行う方式が提案され得る。上記cclm_reduced_sample_flagは、CCLMリデュースドサンプルフラグ(CCLM reduced sample flag)のシンタックス要素を示すことができる。
・上記cclm_reduced_sample_flagが0(False)である場合、全てのブロックに対して上記Nth=4に設定し、上述した図8で提案された実施形態の周辺サンプル選択方式を介してCCLMパラメータ計算を実行
・上記cclm_reduced_sample_flagが1(True)である場合、上記TH=4に設定し、上述した実施形態で提案する周辺サンプル選択方式を介してCCLMパラメータ計算を実行
あるいは、スライス、ピクチャ、またはシーケンス単位でTHを示す追加情報が送信される場合、後述するように、HLS(High Level Syntax)を介して送信される上記追加情報に基づいて、TH値がデコードされ得る。
例えば、スライスヘッダを介してシグナリングされる上記追加情報は、次の表のように示すことができる。
<表13>
Figure 0007018139000017
cclm_reduced_sample_thresholdは、上記THを示す追加情報のシンタックス要素を示すことができる。
あるいは、例えば、PPS(Picture Parameter Set、PPS)を介してシグナリングされる上記追加情報は、次の表のように示すことができる。
<表14>
Figure 0007018139000018
あるいは、例えば、SPS(Sequence Parameter Set、SPS)を介してシグナリングされる上記追加情報は、次の表のように示すことができる。
<表15>
Figure 0007018139000019
上記スライスヘッダ、上記PPS、または上記SPSを介して送信されたcclm_reduced_sample_threshold値(すなわち、cclm_reduced_sample_thresholdをデコードして導出された値)に基づいて導出されたTH値は、次の表のように導出されることができる。
<表16>
Figure 0007018139000020
例えば、上記表16を参照すれば、上記cclm_reduced_sample_thresholdに基づいて上記THが導出され得る。上記cclm_reduced_sample_thresholdの値が0である場合、上記THは、4に導出されることができ、上記cclm_reduced_sample_thresholdの値が1である場合、上記THは、8に導出されることができる。
一方、上記THが別の追加情報送信なしでエンコード装置とデコード装置とで予め設定された値に導出される場合、エンコード装置は、上記予め設定されたTH値に基づいて上述した実施形態のような上記CCLM予測のためのCCLMパラメータ計算を行うことができる。
あるいは、エンコード装置は、上記閾値THの使用が可能か否かを決定でき、上記THの使用が可能か否かを示す情報および上記TH値を示す追加情報を次のようにデコード装置に送信することができる。
・CU単位でTHの使用が可能か否かを示す情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば(すなわち、上記現クロマブロックにCCLM予測が適用される場合)、下記の2つの場合のうち、エンコード効率が良い方をRDOを介して決定することができ、決定された方法に関する情報をデコード装置に送信することができる。
1)全てのブロックに対して上記Nth=4に設定し、上述した図8で提案された実施形態の周辺サンプル選択方式を介してCCLMパラメータを計算することが、エンコード効率が良い場合、値が0(False)であるcclm_reduced_sample_flagを送信
2)上記TH=4に設定し、上述した実施形態で提案する周辺サンプル選択方式を介してCCLMパラメータを計算することが、エンコード効率が良い場合、値が1(True)であるcclm_reduced_sample_flagを送信
・あるいは、スライス、ピクチャ、またはシーケンス単位でTHの使用が可能か否かを示す情報が送信される場合、エンコード装置は、上述した表13、表14、または表15のように、HLS(High Level Syntax)を追加してTHの使用が可能か否かを示す情報を送信できる。エンコード装置は、上記THの使用が可能か否かを、入力画像のサイズを考慮したり、またはエンコードターゲットビットレート(target bitrate)に合うように設定することができる。
1)例えば、入力画像がHD以上である場合、エンコード装置は、TH=8に設定することができ、それ以下である場合、TH=4に設定することができる。
2)高い品質の画像エンコードが必要な場合、エンコード装置は、TH=8に設定することができ、低い品質の画像エンコードが必要な場合、TH=4に設定することができる。
本実施形態で提案する方法は、クロマ成分に対するイントラ予測モードであるCCLMモードに使用されることができ、上記CCLMモードを介して予測されたクロマブロックは、エンコード装置でオリジナル画像との差分を介して残差画像を導出するのに使用されるか、デコード装置で残差信号との合計を介して復元された画像を導出するのに使用されることができる。
図9aおよび図9bは、一実施形態に従って、現クロマブロックに対するCCLM予測を行う過程を説明する図である。
図9aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S900)。例えば、上記CCLMパラメータは、図9bに示された実施形態のように計算されることができる。
図9bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図9bに示すように、エンコード装置/デコード装置は、現クロマブロックに対するTHを設定できる(S905)。上記THは、予め設定された値でありうるし、またはシグナリングされる上記THに関する追加情報に基づいて導出されることができる。上記THは、4または8に設定されることができる。
その後、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S910)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅であるNが上記THより大きいかを判断することができる(S915)。
上記Nが上記THより大きい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S920)。ここで、上記Nthは、4でありうる。すなわち、上記Nが上記THより大きい場合、上記Nthは、4でありうる。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S925)。
また、上記Nが上記THより大きくない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S930)。ここで、上記Nthは、2でありうる。すなわち、上記Nが上記THより大きい場合、上記Nthは、2でありうる。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S925)。
一方、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができる(S935)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
その後、エンコード装置/デコード装置は、上記Nが上記THより大きいかを判断することができる(S940)。
上記Nが上記THより大きい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S945)。ここで、上記Nthは、4でありうる。すなわち、上記Nが上記THより大きい場合、上記Nthは、4でありうる。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S925)。
また、上記Nが上記THより大きくない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S950)。ここで、上記Nthは、2でありうる。すなわち、上記Nが上記THより大きい場合、上記Nthは、2でありうる。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S925)。
さらに、図9aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S960)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
一方、本文書では、上記CCLMパラメータ導出においてCCLMパラメータ導出のための演算複雑度を減らす上述した実施形態と異なる実施形態が提案され得る。
具体的には、本実施形態は、クロマブロックのブロックサイズの増加によるCCLMパラメータ演算量増加の問題を解決するために、画素選択上限ラインNthを適応的に設定する方式を提案する。また、本実施形態は、N=2(ここで、上記Nは、クロマブロックの幅および高さのうちの小さい値)である場合、すなわち、2×2サイズのクロマブロックに対するCCLM予測の際に発生するワーストケース(worst case)の演算(CTU内の全てのクロマブロックが2×2サイズに分割された後、全てのクロマブロックでCCLM予測が行われるケース)を防止するために、適応的にNthを設定する方式が提案され得るし、これにより上記ワーストケースにおけるCCLMパラメータ計算のための演算量を約40%減らすことができる。
例えば、本実施形態によれば、次のように、ブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法1(Proposed Method1)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN<=2である場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN=4である場合、Nthは、2に設定(Nth=2)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN>4である場合、Nthは、4に設定(Nth=4)
あるいは、例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法2(Proposed Method2)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN<=2である場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN=4である場合、Nthは、2に設定(Nth=2)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN=8である場合、Nthは、4に設定(Nth=4)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN>8である場合、Nthは、8に設定(Nth=8)
あるいは、例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法3(Proposed Method3)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN<=2である場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN>2である場合、Nthは、2に設定(Nth=2)
あるいは、例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法4(Proposed Method4)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN<=2である場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN>2である場合、Nthは、4に設定(Nth=4)
本実施形態の上述した方法1ないし方法4は、N=2である場合のワーストケースの複雑度を40%程度減らすことができ、各クロマブロックサイズに適応的にNthを適用できるので、エンコード損失を最小化できる。また、例えば、上記方法2は、Nthを8まで可変的に適用することができるので、高画質エンコードに適合することができ、上記方法3および上記方法4は、Nthを4または2に減らすことができるので、CCLM複雑度を大きく減少させることができ、低画質または中間画質エンコードに適合することができる。
上述した方法1ないし方法4のように、本実施形態によれば、ブロックサイズに適応的にNthを設定でき、これによりブロックサイズに最適化されたCCLMパラメータ導出のための参照サンプル個数が選択され得る。
エンコード装置/デコード装置は、上記周辺サンプル選択上限ラインNthを設定した後、上述したように、クロマブロック周辺サンプルを選択してCCLMパラメータを計算できる。
上述した実施形態が適用される場合のクロマブロックサイズによるCCLMパラメータ計算演算量は、次の表のように示すことができる。
<表17>
Figure 0007018139000021
上述した表17に図示されたように、本実施形態で提案する方法などが使用される場合、ブロックサイズが大きくなるにもかかわらず、CCLMパラメータ計算のために要求される演算量は増加しないことを見ることができる。
一方、本実施形態では、追加情報を送信する必要なしでエンコード装置とデコード装置とで約束された値が使用され得るし、または、CU、スライス、ピクチャおよびシーケンス単位で、提案された方法の使用が可能か否かおよび上記Nthの値を示す情報が送信され得る。
例えば、CU単位で提案された方法の使用が可能か否かを示す情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば(すなわち、上記現クロマブロックにCCLM予測が適用される場合)、次のようにcclm_reduced_sample_flagがパージングされて上述した実施形態が行われ得る。
・上記cclm_reduced_sample_flagの値が0(False)である場合、全てのブロックに対して上記Nth=4に設定し、上述した図8で提案された実施形態の周辺サンプル選択方式を介してCCLMパラメータ計算を実行
・上記cclm_reduced_sample_flagの値が1(True)である場合、上述した本実施形態の方法3を介してCCLMパラメータ計算を実行
あるいは、スライス、ピクチャ、またはシーケンス単位で適用される方法を示す情報が送信される場合、後述するように、HLS(High Level Syntax)を介して送信される上記情報に基づいて上述した方法1ないし方法4のうち、適用される方法が選択され得るし、選択された方法に基づいて上記CCLMパラメータが計算され得る。
例えば、スライスヘッダを介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表18>
Figure 0007018139000022
cclm_reduced_sample_thresholdは、上記適用される方法を示す情報のシンタックス要素を示すことができる。
あるいは、例えば、PPS(Picture Parameter Set、PPS)を介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表19>
Figure 0007018139000023
あるいは、例えば、SPS(Sequence Parameter Set、SPS)を介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表20>
Figure 0007018139000024
上記スライスヘッダ、上記PPS、または上記SPSを介して送信されたcclm_reduced_sample_threshold値(すなわち、cclm_reduced_sample_thresholdをデコードして導出された値)に基づいて選択された方法は、次の表のように導出されることができる。
<表21>
Figure 0007018139000025
表21を参照すれば、上記cclm_reduced_sample_thresholdの値が0である場合、上記現クロマブロックに適用される方法として、上記方法1が選択されることができ、上記cclm_reduced_sample_thresholdの値が1である場合、上記現クロマブロックに適用される方法としては、上記方法2が選択されることができ、上記cclm_reduced_sample_thresholdの値が2である場合、上記現クロマブロックに適用される方法として、上記方法3が選択されることができ、上記cclm_reduced_sample_thresholdの値が3である場合、上記現クロマブロックに適用される方法として、上記方法4が選択されることができる。
本実施形態で提案する方法は、クロマ成分に対するイントラ予測モードであるCCLMモードに使用されることができ、上記CCLMモードを介して予測されたクロマブロックは、エンコード装置でオリジナル画像との差分を介して残差画像を導出するのに使用されるか、デコード装置で残差信号との合計を介して復元された画像を導出するのに使用されることができる。
一方、CU、スライス、ピクチャ、およびシーケンス単位で上記方法などのうちの1つを示す情報が送信される場合、エンコード装置は、上記方法1ないし上記方法4のうちの1つの方法を決定した後、上記情報をデコード装置に次のように送信することができる。
・CU単位で上述した実施形態の方法が適用されるか否かを示す情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば(すなわち、上記現クロマブロックにCCLM予測が適用される場合)、下記の2つの場合のうち、エンコード効率が良い方をRDOを介して決定することができ、決定された方法に関する情報をデコード装置に送信することができる。
1)全てのブロックに対して上記Nth=4に設定し、上述した図8で提案された実施形態の周辺サンプル選択方式を介してCCLMパラメータを計算することが、エンコード効率が良い場合、値が0(False)であるcclm_reduced_sample_flagを送信
2)上記方法3が適用されると設定し、上述した実施形態で提案する周辺サンプル選択方式を介してCCLMパラメータを計算することが、エンコード効率が良い場合、値が1(True)であるcclm_reduced_sample_flagを送信
・あるいは、スライス、ピクチャ、またはシーケンス単位で上述した実施形態の方法が適用されるか否かを示す情報が送信される場合、エンコード装置は、上述した表18、表19、または表20のように、HLS(High Level Syntax)を追加して上記方法などのうちの1つの方法を示す情報を送信できる。エンコード装置は、上記方法などのうちの適用される方法を、入力画像のサイズを考慮したり、またはエンコードターゲットビットレート(target bitrate)に合うように設定することができる。
1)例えば、入力画像がHD以上である場合、エンコード装置は、上記方法2(Nth=1、2、4、or8)を適用でき、それ以下である場合、上記方法1(Nth=1、2、or4)を適用できる。
2)高い品質の画像エンコードが必要な場合、エンコード装置は、上記方法2(Nth=1、2、4、or8)を適用でき、低い品質の画像エンコードが必要な場合、上記方法3(Nth=1or2)または上記方法4(Nth=1or4)を適用できる。
本実施形態で提案する方法は、クロマ成分に対するイントラ予測モードであるCCLMモードに使用されることができ、上記CCLMモードを介して予測されたクロマブロックは、エンコード装置でオリジナル画像との差分を介して残差画像を導出するのに使用されるか、デコード装置で残差信号との合計を介して復元された画像を導出するのに使用されることができる。
図10aおよび図10bは、上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。
図10aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S1000)。例えば、上記CCLMパラメータは、図10bに示された実施形態のように計算されることができる。
図10bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図10bに示すように、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S1005)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅または高さをNに設定することができ(S1010)、上記Nが2より小さいか(N<2)を判断することができる(S1015)。
あるいは、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができ(S1020)、エンコード装置/デコード装置は、上記Nが2より小さいかを判断することができる(S1015)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
上記Nが2より小さい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1025)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1030)。
一方、上記Nが2より小さくない場合、エンコード装置/デコード装置は、上記Nが4以下(N<=4)であるかを判断することができる(S1035)。
上記Nが4以下である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1040)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1030)。
あるいは、上記Nが4より大きい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1045)。ここで、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1030)。
さらに、図10aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S1050)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図11aおよび図11bは、上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。
図11aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S1100)。例えば、上記CCLMパラメータは、図11bに示された実施形態のように計算されることができる。
図11bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図11bに示すように、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S1105)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅または高さをNに設定することができ(S1110)、上記Nが2より小さいか(N<2)を判断することができる(S1115)。
あるいは、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができ(S1120)、エンコード装置/デコード装置は、上記Nが2より小さいかを判断することができる(S1115)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
上記Nが2より小さい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1125)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1130)。
一方、上記Nが2より小さくない場合、エンコード装置/デコード装置は、上記Nが4以下(N<=4)であるかを判断することができる(S1135)。
上記Nが4以下である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1140)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1130)。
一方、上記Nが4より大きい場合、エンコード装置/デコード装置は、上記Nが8以下(N<=8)であるかを判断することができる(S1145)。
上記Nが8以下である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1150)。ここで、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1130)。
あるいは、上記Nが8より大きい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1155)。ここで、上記Nthは、8でありうる(Nth=8)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1130)。
さらに、図11aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S1160)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図12aおよび図12bは、上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。
図12aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S1200)。例えば、上記CCLMパラメータは、図12bに示された実施形態のように計算されることができる。
図12bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図12bに示すように、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S1205)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅または高さをNに設定することができ(S1210)、上記Nが2より小さいか(N<2)を判断することができる(S1215)。
あるいは、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができ(S1220)、エンコード装置/デコード装置は、上記Nが2より小さいかを判断することができる(S1215)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
上記Nが2より小さい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1225)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1230)。
一方、上記Nが2より小さくない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1235)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1230)。
さらに、図12aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S1240)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図13aおよび図13bは、上述した実施形態の方法4に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。
図13aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S1300)。例えば、上記CCLMパラメータは、図13bに示された実施形態のように計算されることができる。
図13bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図13bに示すように、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S1305)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅または高さをNに設定することができ(S1310)、上記Nが2より小さいか(N<2)を判断することができる(S1315)。
あるいは、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができ(S1320)、エンコード装置/デコード装置は、上記Nが2より小さいかを判断することができる(S1315)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
上記Nが2より小さい場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1325)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1330)。
一方、上記Nが2より小さくない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1335)。ここで、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1330)。
さらに、図13aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S1340)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
一方、本文書では、上記CCLMパラメータ導出においてCCLMパラメータ導出のための演算複雑度を減らす上述した実施形態と異なる実施形態が提案され得る。
具体的には、本実施形態は、クロマブロックのブロックサイズ増加によるCCLMパラメータ演算量増加の問題を解決するために、画素選択上限ラインNthを適応的に設定する方式を提案する。
例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法1(Proposed Method1)
・現クロマブロックが2×2サイズのクロマブロックである場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<M)の現クロマブロックでN=2である場合、Nthは、2に設定(Nth=2)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN>2である場合、Nthは、4に設定(Nth=4)
あるいは、例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法2(Proposed Method2)
・現クロマブロックが2×2サイズのクロマブロックである場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<M)の現クロマブロックでN=2である場合、Nthは、2に設定(Nth=2)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN=4である場合、Nthは、2に設定(Nth=2)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN>4である場合、Nthは、4に設定(Nth=4)
あるいは、例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法3(Proposed Method3)
・現クロマブロックが2×2サイズのクロマブロックである場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<M)の現クロマブロックでN=2である場合、Nthは、2に設定(Nth=2)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN=4である場合、Nthは、4に設定(Nth=4)
・N×MサイズまたはM×Nサイズ(ここで、例えば、N<=M)の現クロマブロックでN>4である場合、Nthは、8に設定(Nth=8)
本実施形態の上述した方法1ないし方法3は、上記現クロマブロックが2×2サイズのブロックである場合のワーストケースの複雑度を40%程度減らすことができ、各クロマブロックサイズに適応的にNthを適用できるので、エンコード損失を最小化できる。また、例えば、上記方法1および方法3は、N>2である場合にNthを4で適用できるので、高画質エンコードに適合することができ、上記方法2は、N=4である場合にもNthを2に減らすことができるので、CCLM複雑度を大きく減少させることができ、低画質あるいは中間画質エンコードに適合することができる。
上述した方法1ないし方法3のように、本実施形態によれば、ブロックサイズに適応的にNthを設定でき、これによりブロックサイズに最適化されたCCLMパラメータ導出のための参照サンプル個数が選択され得る。
エンコード装置/デコード装置は、上記周辺サンプル選択上限ラインNthを設定した後、上述したように、クロマブロック周辺サンプルを選択してCCLMパラメータを計算できる。
上述した実施形態が適用される場合のクロマブロックサイズによるCCLMパラメータ計算演算量は、次の表のように示すことができる。
<表22>
Figure 0007018139000026
上述した表22に図示されたように、本実施形態で提案する方法などが使用される場合、ブロックサイズが大きくなるにもかかわらず、CCLMパラメータ計算のために要求される演算量は増加しないことを見ることができる。
一方、本実施形態は、追加情報を送信する必要なしでエンコード装置とデコード装置とで約束された値が使用され得るし、または、CU、スライス、ピクチャおよびシーケンス単位で、提案された方法の使用が可能か否かおよび上記Nthの値を示す情報が送信され得る。
例えば、CU単位で提案された方法の使用が可能か否かを示す情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば(すなわち、上記現クロマブロックにCCLM予測が適用される場合)、次のようにcclm_reduced_sample_flagがパージングされて上述した実施形態が行われ得る。
・上記cclm_reduced_sample_flagの値が0(False)である場合、全てのブロックに対して上記Nth=2に設定し、上述した図8で提案された実施形態の周辺サンプル選択方式を介してCCLMパラメータ計算を実行
・上記cclm_reduced_sample_flagの値が1(True)である場合、上述した本実施形態の方法1を介してCCLMパラメータ計算を実行
あるいは、スライス、ピクチャ、またはシーケンス単位で適用される方法を示す情報が送信される場合、後述するように、HLS(High Level Syntax)を介して送信される上記情報に基づいて上述した方法1ないし方法3のうち、適用される方法が選択され得るし、選択された方法に基づいて上記CCLMパラメータが計算され得る。
例えば、スライスヘッダを介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表23>
Figure 0007018139000027
cclm_reduced_sample_thresholdは、上記適用される方法を示す情報のシンタックス要素を示すことができる。
あるいは、例えば、PPS(Picture Parameter Set、PPS)を介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表24>
Figure 0007018139000028
あるいは、例えば、SPS(Sequence Parameter Set、SPS)を介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表25>
Figure 0007018139000029
上記スライスヘッダ、上記PPS、または上記SPSを介して送信されたcclm_reduced_sample_threshold値(すなわち、cclm_reduced_sample_thresholdをデコードして導出された値)に基づいて選択された方法は、次の表のように導出されることができる。
<表26>
Figure 0007018139000030
表26を参照すれば、上記cclm_reduced_sample_thresholdの値が0である場合、上記現クロマブロックに上述した実施形態の方法などが適用されないことがあり、上記cclm_reduced_sample_thresholdの値が1である場合、上記現クロマブロックに適用される方法として、上記方法1が選択されることができ、上記cclm_reduced_sample_thresholdの値が2である場合、上記現クロマブロックに適用される方法として、上記方法2が選択されることができ、上記cclm_reduced_sample_thresholdの値が3である場合、上記現クロマブロックに適用される方法として、上記方法3が選択されることができる。
本実施形態で提案する方法は、クロマ成分に対するイントラ予測モードであるCCLMモードに使用されることができ、上記CCLMモードを介して予測されたクロマブロックは、エンコード装置でオリジナル画像との差分を介して残差画像を導出するのに使用されるか、デコード装置で残差信号との合計を介して復元された画像を導出するのに使用されることができる。
一方、CU、スライス、ピクチャ、およびシーケンス単位で上記方法などのうちの1つを示す情報が送信される場合、エンコード装置は、上記方法1ないし上記方法3のうちの1つの方法を決定した後、上記情報をデコード装置に次のように送信することができる。
・CU単位で上述した実施形態の方法が適用されるか否かを示す情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば(すなわち、上記現クロマブロックにCCLM予測が適用される場合)、下記の2つの場合のうち、エンコード効率が良い方をRDOを介して決定することができ、決定された方法に関する情報をデコード装置に送信することができる。
1)全てのブロックに対して上記Nth=2に設定し、上述した図8で提案された実施形態の周辺サンプル選択方式を介してCCLMパラメータを計算することが、エンコード効率が良い場合、値が0(False)であるcclm_reduced_sample_flagを送信
2)上記方法1が適用されると設定し、上述した実施形態で提案する周辺サンプル選択方式を介してCCLMパラメータを計算することが、エンコード効率が良い場合、値が1(True)であるcclm_reduced_sample_flagを送信
・あるいは、スライス、ピクチャ、またはシーケンス単位で上述した実施形態の方法が適用されるか否かを示す情報が送信される場合、エンコード装置は、上述した表23、表24、または表25のように、HLS(High Level Syntax)を追加して上記方法などのうちの1つの方法を示す情報を送信できる。エンコード装置は、上記方法などのうち、適用される方法を、入力画像のサイズを考慮したり、またはエンコードターゲットビットレート(target bitrate)に合うように設定することができる。
1)例えば、入力画像がHD以上である場合、エンコード装置は、上記方法3(Nth=1、2、4、or8)を適用でき、それ以下である場合、上記方法1(Nth=1、2、or4)を適用できる。
2)高い品質の画像エンコードが必要な場合、エンコード装置は、上記方法3(Nth=1、2、4、or8)を適用でき、低い品質の画像エンコードが必要な場合、上記方法2(Nth=1、2、2、or4)または上記方法1(Nth=1、2、or4)を適用できる。
本実施形態で提案する方法は、クロマ成分に対するイントラ予測モードであるCCLMモードに使用されることができ、上記CCLMモードを介して予測されたクロマブロックは、エンコード装置でオリジナル画像との差分を介して残差画像を導出するのに使用されるか、デコード装置で残差信号との合計を介して復元された画像を導出するのに使用されることができる。
図14aおよび図14bは、上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。
図14aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S1400)。例えば、上記CCLMパラメータは、図14bに示された実施形態のように計算されることができる。
図14bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図14bに示すように、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S1405)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅または高さをNに設定することができ(S1410)、上記現クロマブロックのサイズが2×2サイズであるかを判断することができる(S1415)。
あるいは、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができ(S1420)、エンコード装置/デコード装置は、上記現クロマブロックのサイズが2×2サイズであるかを判断することができる(S1415)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
上記現クロマブロックのサイズが2×2サイズである場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1425)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1430)。
一方、上記現クロマブロックのサイズが2×2サイズでない場合、エンコード装置/デコード装置は、上記Nが2であるか(N==2)を判断することができる(S1435)。
上記Nが2である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1440)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1430)。
あるいは、上記Nが2でない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1445)。ここで、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1430)。
さらに、図14aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S1450)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図15aおよび図15bは、上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。
図15aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S1500)。例えば、上記CCLMパラメータは、図15bに示された実施形態のように計算されることができる。
図15bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図15bに示すように、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S1505)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅または高さをNに設定することができ(S1510)、上記現クロマブロックのサイズが2×2サイズであるかを判断することができる(S1515)。
あるいは、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができ(S1520)、エンコード装置/デコード装置は、上記現クロマブロックのサイズが2×2サイズであるかを判断することができる(S1515)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
上記現クロマブロックのサイズが2×2サイズである場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1525)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1530)。
一方、上記現クロマブロックのサイズが2×2サイズでない場合、エンコード装置/デコード装置は、上記Nが2であるか(N==2)を判断することができる(S1535)。
上記Nが2である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1540)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1530)。
一方、上記Nが2でない場合、エンコード装置/デコード装置は、上記Nが4であるか(N==4)を判断することができる(S1545)。
上記Nが4である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1550)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1530)。
あるいは、上記Nが4でない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1555)。ここで、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1530)。
さらに、図15aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S1560)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図16aおよび図16bは、上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。
図16aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S1600)。例えば、上記CCLMパラメータは、図16bに示された実施形態のように計算されることができる。
図16bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図16bに示すように、エンコード装置/デコード装置は、上記現クロマブロックが正方形クロマブロック(square chroma block)であるかを判断することができる(S1605)。
上記現クロマブロックが上記正方形クロマブロックである場合、エンコード装置/デコード装置は、上記現ブロックの幅または高さをNに設定することができ(S1610)、上記現クロマブロックのサイズが2×2サイズであるかを判断することができる(S1615)。
あるいは、上記現クロマブロックが上記正方形クロマブロックでない場合、上記現クロマブロックのサイズは、M×NサイズまたはN×Mサイズで導出されることができ(S1620)、エンコード装置/デコード装置は、上記現クロマブロックのサイズが2×2サイズであるかを判断することができる(S1615)。ここで、上記Mは、上記Nより大きい値を示すことができる(N<M)。
上記現クロマブロックのサイズが2×2サイズである場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1625)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1630)。
一方、上記現クロマブロックのサイズが2×2サイズでない場合、エンコード装置/デコード装置は、上記Nが2であるか(N==2)を判断することができる(S1635)。
上記Nが2である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1640)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1630)。
一方、上記Nが2でない場合、エンコード装置/デコード装置は、上記Nが4であるか(N==4)を判断することができる(S1645)。
上記Nが4である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1650)。ここで、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1630)。
あるいは、上記Nが4でない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2Nth個の周辺サンプルを選択できる(S1655)。ここで、上記Nthは、8でありうる(Nth=8)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S1630)。
さらに、図16aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S1660)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
一方、本文書では、CCLMパラメータ計算のための周辺参照サンプル導出においてサブサンプリング(subsampling)が必要な場合、より効率的にサブサンプリングサンプルを選択する実施形態を提案する。
図17は、クロマブロックの周辺参照サンプルを選択する一例を示す。
図17の(a)に示すように、2×2サイズであるクロマブロック(N=2)では、4個の周辺参照サンプルに基づいて上記クロマブロックに対するCCLMパラメータα、βが計算され得る。上記周辺参照サンプルは、上記ルマブロックの4個の周辺参照サンプルおよび上記クロマブロックの4個の周辺参照サンプルを含むことができる。また、上述した実施形態などのように、2×2サイズのクロマブロックに対するNthが1に設定される場合(Nth=1)、図17の(b)に示すように、2個の周辺参照サンプルに基づいて上記クロマブロックに対するCCLMパラメータα、βが計算され得る。しかしながら、図17に示されたように、半分にサブサンプリングされた周辺参照サンプルを用いる場合、上記周辺参照サンプルが現クロマブロックの左上側に集まっているため、CCLMパラメータ計算の際、周辺参照サンプルの多様性を考慮できないという問題が発生し、これは、CCLMパラメータの精度(正確度)の低下の原因になることができる。
図18a~図18cは、既存のサブサンプリングを介して導出された周辺参照サンプルおよび本実施形態に係るサブサンプリングを介して導出された周辺参照サンプルを例示的に示す。
図18aおよび図18bに示されたように、本実施形態に係るサブサンプリングを介して上記現クロマブロックの左上側から遠い周辺サンプルを優先的に選択することにより、CCLMパラメータ計算の際、より様々なサンプル値が選択され得る。
また、本実施形態は、図18cに示されたように、n×2サイズおよび2×nサイズのように、非正方形(non-square)クロマブロックに対しても左上側から遠い方から選択するサブサンプリングを提案する。これにより、CCLMパラメータ計算の際、より様々なサンプル値を選択でき、これによりCCLMパラメータ計算の精度を向上させることができる。
一方、既存のサブサンプリングは、次のような数式に基づいて行われることができる。
<数式5>
Figure 0007018139000031
ここで、Idx_wは、サブサンプリングを介して導出された上記現クロマブロックの上側に隣接する周辺参照サンプル(または、周辺参照サンプルの位置)を示すことができ、Idx_hは、サブサンプリングを介して導出された上記現クロマブロックの左側に隣接する周辺参照サンプル(または、周辺参照サンプルの位置)を示すことができる。また、widthは、上記現クロマブロックの幅を示すことができ、heightは、上記現クロマブロックの高さを示すことができる。また、subsample_numは、サブサンプリングを介して導出された周辺参照サンプル個数(一辺に隣接する周辺参照サンプルの個数)を示すことができる。
例えば、上記数式5に基づいて行われるサブサンプリングは、次のように行われることができる。
上記数式5のxは変数であって、0からサブサンプリング後の上記現クロマブロックの上側周辺参照サンプルの参照サンプル個数まで増加されることができる。一例として、幅が16である現クロマブロックで2個の上側周辺参照サンプルが選択される場合、上記数式5のwidthは16であり、xは0から1まで変化することができる。また、上記Subsample_numは2であるため、Idx_w値は0および8が選択され得る。したがって、上記現クロマブロックの左上端サンプルポジションのx成分およびy成分が0である場合、上記サブサンプリングを介して上記上側周辺参照サンプルのうち、x座標が0である上側周辺参照サンプルおよびx座標が8である上側周辺参照サンプルが選択され得る。
また、上記数式5のyは変数であって、0からサブサンプリング後の上記現クロマブロックの左側周辺参照サンプルの参照サンプル個数まで増加されることができる。一例として、高さが32である現クロマブロックで4個の左側周辺参照サンプルが選択される場合、上記数式5のheightは32であり、yは0から3まで変化することができる。また、上記Subsample_numは4であるため、Idx_h値は、0、8、16、および24が選択され得る。したがって、上記現クロマブロックの左上端サンプルポジションのx成分およびy成分が0である場合、上記サブサンプリングを介して上記左側周辺参照サンプルのうち、y座標が0である左側周辺参照サンプル、y座標が8である左側周辺参照サンプル、y座標が16である左側周辺参照サンプル、およびy座標が24である左側周辺参照サンプルが選択され得る。
上記数式5を参照すれば、サブサンプリングを介して上記現クロマブロックの左上側に近いサンプルのみが選択され得る。
これにより、本実施形態は、上記数式5と異なる数式に基づいてサブサンプリングが行われ得る。例えば、本実施形態で提案されたサブサンプリングは、次のような数式に基づいて行われることができる。
<数式6>
Figure 0007018139000032
ここで、subsample_num_widthは、サブサンプリングを介して導出された上側周辺参照サンプル個数を示すことができ、subsample_num_heightは、サブサンプリングを介して導出された左側周辺参照サンプル個数を示すことができる。
また、xは変数であって、0からサブサンプリング後の上記現クロマブロックの上側周辺参照サンプルの参照サンプル個数まで増加されることができる。また、yは変数であって、0からサブサンプリング後の上記現クロマブロックの左側周辺参照サンプルの参照サンプル個数まで増加されることができる。
例えば、上記数式6を参照すれば、幅が16である現クロマブロックで2個の上側周辺参照サンプルが選択される場合、上記数式6のwidthは16であり、xは0から1まで変化することができる。また、上記subsample_num_widthは2であるため、Idx_w値は15および7が選択され得る。したがって、上記現クロマブロックの左上端サンプルポジションのx成分およびy成分が0である場合、上記サブサンプリングを介して上記上側周辺参照サンプルのうち、x座標が15である上側周辺参照サンプルおよびx座標が7である上側周辺参照サンプルが選択され得る。すなわち、上記現クロマブロックの上側周辺サンプルのうち、上記現クロマブロックの左上側から遠い上側周辺参照サンプルが選択され得る。
また、例えば、上記数式6を参照すれば、高さが32である現クロマブロックで4個の左側周辺参照サンプルが選択される場合、上記数式6のheightは32であり、yは0から3まで変化することができる。また、上記subsample_num_heightは4であるため、Idx_h値は31、23、15、および7が選択され得る。したがって、上記現クロマブロックの左上端サンプルポジションのx成分およびy成分が0である場合、上記サブサンプリングを介して上記左側周辺参照サンプルのうち、y座標が31である左側周辺参照サンプル、y座標が23である左側周辺参照サンプル、y座標が15である左側周辺参照サンプル、およびy座標が7である左側周辺参照サンプルが選択され得る。
一方、上記数式6の上記subsample_num_widthおよび上記subsample_num_heightは、現クロマブロックのサイズに基づいて導出されることができる。例えば、上記subsample_num_widthおよび上記subsample_num_heightは、次の表のように導出されることができる。
<表27>
Figure 0007018139000033
表27を参照すれば、上記現クロマブロックの幅および高さのうち、短い方に合わせて長い方に隣接する周辺参照サンプルに対してサブサンプリングが行われ得る。すなわち、長い方に隣接する周辺参照サンプルのうち、選択される周辺参照サンプルの個数は、上記現クロマブロックの幅および高さのうちの小さい値に導出されることができる。例えば、subsample_num_width=subsample_num_height=min(width、height)として導出されることができる。
あるいは、例えば、上記Nthが導出される場合、上記Nthに基づいてsubsample_num_widthおよびsubsample_num_heightが導出され得る。例えば、上記subsample_num_widthおよびsubsample_num_heightは、上記Nthに基づいて次の表のように導出されることができる。
<表28>
Figure 0007018139000034
ここで、min(A、B)は、A、Bのうちの小さい値を示すことができる。
あるいは、例えば、予め決められたLUT(Look-Up Table)に基づいて上記現クロマブロックの形状に合う最適な個数の周辺参照サンプルを導出するサブサンプリングが行われ得る。例えば、上記LUTは、次の表のように導出されることができる。
<表29>
Figure 0007018139000035
上記表29を参照すれば、上述したサブサンプリングより、選択される周辺参照サンプル数を増加させることができ、これにより、より高い精度でCCLMパラメータが計算され得る。上述した例の6個の周辺参照サンプルを導出するサブサンプリングでは、8個の周辺参照サンプルを導出するサブサンプリングのうち、先に出てくる6個の位置(idx_wまたはidx_h)が選択され得るし、12または14個の周辺参照サンプルを導出するサブサンプリングでは、16個の周辺参照サンプルを導出するサブサンプリングのうち、先に出てくる12または14個の位置が選択され得る。また、24または28個の周辺参照サンプルを導出するサブサンプリングでは、32個の周辺参照サンプルを導出するサブサンプリングのうち、先に出てくる24または28個の位置が選択され得る。
あるいは、ハードウェア複雑度の増加を防止するために、簡素化された個数の周辺参照サンプルを導出するサブサンプリングが行われ得る。この場合、例えば、上記LUTは、次の表のように導出されることができる。
<表30>
Figure 0007018139000036
上記表30を参照すれば、上記subsample_num_widthおよび上記subsample_num_heightの合計の最大値が8に設定されることができる。これにより、ハードウェア複雑度の増加を減らすと同時に、効率的にCCLMパラメータが計算され得る。
上述した例の6個の周辺参照サンプルを導出するサブサンプリングでは、8個の周辺参照サンプルを導出するサブサンプリングのうち、先に出てくる6個の位置(idx_wまたはidx_h)が選択され得る。
提案する方法では、追加情報を送信する必要なしでエンコーダとデコーダとで約束された値を使用でき、または、CU、slice、pictureおよびsequence単位で提案する方法の使用が可能か否かおよび値を送信できる。
上述した表29および30のようなLUTを使用するサブサンプリングが行われる場合、エンコード装置およびデコード装置は、表(すなわち、LUT)に決められたsubsample_num_widthおよびsubsample_num_height数を用いることができ、上記Nthが用いられる場合、上記Nth値に基づいて上記subsample_num_widthおよび上記subsample_num_heightを決定できる。また、その他の場合には、表28で導出される値がデフォルト(default)subsample_num_widthおよびデフォルトsubsample_num_height数として用いられることができる。
一方、CU単位で提案する方法、すなわち、上述した数式6を使用するサブサンプリングの適用の有無を示す情報が送信される場合、デコード装置は、現クロマブロックのイントラ予測モードがCCLMモードであれば、次のようにcclm_subsample_flagをパージングしてCCLM予測を行う方法が提案され得る。
・上記cclm_subsample_flagが0(False)である場合、既存のサブサンプリング方法(上述した数式5に基づいてサブサンプリング)を介して周辺参照サンプルを選択およびCCLMパラメータ計算を実行
・上記cclm_subsample_flagが1(True)である場合、提案されたサブサンプリング方法(上述した数式6に基づいてサブサンプリング)を介して周辺参照サンプルを選択およびCCLMパラメータ計算を実行
スライス、ピクチャ、およびシーケンス単位で提案する方法の適用の有無を示す情報が送信される場合、次のように、HLS(High Level Syntax)を介して上記情報を送信できる。デコード装置は、上記情報に基づいて行われるサブサンプリング方法を選択できる。
例えば、スライスヘッダを介してシグナリングされる上記提案する方法の適用の有無を示す情報は、次の表のように示すことができる。
<表31>
Figure 0007018139000037
cclm_subsample_flagは、上記提案する方法の適用の有無を示す情報のシンタックス要素を示すことができる。
あるいは、例えば、PPS(Picture Parameter Set、PPS)を介してシグナリングされる上記提案する方法の適用の有無を示す情報は、次の表のように示すことができる。
<表32>
Figure 0007018139000038
あるいは、例えば、SPS(Sequence Parameter Set、SPS)を介してシグナリングされる上記提案する方法の適用の有無を示す情報は、次の表のように示すことができる。
<表33>
Figure 0007018139000039
上記スライスヘッダ、上記PPS、または上記SPSを介して送信されたcclm_subsample_flag値(すなわち、cclm_subsample_flagをデコードして導出された値)に基づいて選択された方法は、次の表のように導出されることができる。
<表34>
Figure 0007018139000040
表34に示すように、上記cclm_subsample_flagの値が0である場合、上記数式5を使用するサブサンプリングが行われ得るし、上記cclm_subsample_flagの値が1である場合、数式6を使用するサブサンプリングが行われ得る。
一方、追加情報の送信なしでエンコード装置とデコード装置とで予め設定された値が使用される場合、エンコード装置は、デコード装置と同様に上述した実施形態を行うことができ、選択された周辺参照サンプルに基づいて計算されたCCLMパラメータ計算を行うことができる。
あるいは、CU、スライス、ピクチャ、およびシーケンス単位で提案されたサブサンプリング方法の適用が可能か否かを示す情報が送信される場合、エンコード装置は、次のように上記提案されたサブサンプリング方法の適用が可能か否かを決定した後、デコード装置に上記情報を送信することができる。
・CU単位で提案されたサブサンプリング方法の適用が可能か否かを示す情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば、下記の2つの場合のうち、エンコード効率が良い方をRDOを介して決定した後、該当する場合を示す値の上記情報をデコード装置に送信することができる。
1)既存の参照サンプルサブサンプリング(上述した数式5を使用するサブサンプリング)を介してのCCLMパラメータ計算の実行が、エンコード効率が良い場合、値が0(False)であるcclm_subsample_flagを送信
2)提案されたサブサンプリング(上述した数式6を使用するサブサンプリング)を介してのCCLMパラメータ計算の実行が、エンコード効率が良い場合、値が1(True)であるcclm_subsample_flagを送信
・スライス、ピクチャ、およびシーケンス単位で提案されたサブサンプリング方法の適用が可能か否かを示す情報が送信される場合、上述した表31、表32、および表33のように、HLS(High Level Syntax)を追加して上記情報が送信され得る。
図19は、上述した数式6を使用したサブサンプリングを用いてCCLM予測を行う一例を示す。
図19に示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S1900)。
具体的には、エンコード装置/デコード装置は、上記現クロマブロックの周辺サンプルに対するサブサンプリングが必要であるかを判断することができる(S1905)。
例えば、上記現クロマブロックに対するCCLMパラメータを計算するために、上記現クロマブロックの幅より小さい個数の上側周辺サンプルが選択される場合、上記現クロマブロックの上側周辺サンプルに対する上記サブサンプリングが行われる必要がある。また、例えば、上記現クロマブロックに対するCCLMパラメータを計算するために。上記現クロマブロックの高さより小さい個数の左側周辺サンプルが選択される場合、上記現クロマブロックの左側周辺サンプルに対する上記サブサンプリングが行われる必要がある。
上記サブサンプリングが必要な場合、エンコード装置/デコード装置は、周辺サンプルに対して上記数式6を使用したサブサンプリングを行って、特定個数の周辺サンプルを選択できる(S1910)。その後、エンコード装置/デコード装置は、選択された周辺サンプルに基づいて上記現クロマブロックに対するCCLMパラメータを計算できる(S1915)。
一方、上記サブサンプリングが必要でない場合、エンコード装置/デコード装置は、上記サブサンプリングを行わずに、上記現クロマブロックの周辺サンプルを選択できる(S1920)。その後、エンコード装置/デコード装置は、選択された周辺サンプルに基づいて上記現クロマブロックに対するCCLMパラメータを計算できる(S1915)。
上記CCLMパラメータが導出された場合、エンコード装置/デコード装置は、上記CCLMパラメータに基づいて上記現クロマブロックに対するCCLM予測を行って上記現クロマブロックの予測サンプルを生成できる(S1925)。
一方、本文書では、上記CCLMパラメータの導出においてCCLMパラメータ導出のための演算複雑度を減らす上述した実施形態と異なる実施形態が提案され得る。
本実施形態は、上述したクロマブロックサイズ増加によるCCLMパラメータ演算量増加の問題を解決するために、サンプル選択上限ラインNthを適応的に設定する方法を提案する。上記Nthは、最大周辺サンプル数と示すこともできる。
また、本実施形態は、N=2(ここで、上記Nは、クロマブロックの幅および高さのうちの小さい値)である場合、すなわち、2×2サイズのクロマブロックに対するCCLM予測の際に発生するワーストケース(worst case)の演算(CTU内の全てのクロマブロックが2×2サイズに分割された後、全てのクロマブロックでCCLM予測が行われるケース)を防止するために、適応的にNthを設定する方式が提案され得るし、これにより、上記ワーストケースにおけるCCLMパラメータ計算のための比較演算の演算量を約50%減らすことができる。
例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法1(Proposed Method1)
・N×MサイズまたはM×Nサイズの現クロマブロックでN=2である場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズの現クロマブロックでN=4である場合、Nthは、2に設定(Nth=2)
・N×MサイズまたはM×Nサイズの現クロマブロックでN>4である場合、Nthは、4に設定(Nth=4)
あるいは、例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法2(Proposed Method2)
・N×MサイズまたはM×Nサイズの現クロマブロックでN=2である場合、Nthは、1に設定(Nth=1)
・N×MサイズまたはM×Nサイズの現クロマブロックでN=4である場合、Nthは、2に設定(Nth=2)
あるいは、例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法3(Proposed Method3)
・N×MサイズまたはM×Nサイズの現クロマブロックでN>4である場合、Nthは、4に設定(Nth=4)
あるいは、例えば、本実施形態によれば、次のようにブロックサイズに適応的に上記Nthが設定され得る。
・本実施形態の方法4(Proposed Method4)
・N×MサイズまたはM×Nサイズの現クロマブロックでN>2である場合、Nthは、2に設定(Nth=2)
本実施形態において、N=2である場合は、CCLMパラメータ計算のための周辺サンプル個数が4個(すなわち、2N)である場合を示すことができ、Nth=1とは、CCLMパラメータ計算のために、2(すなわち、2Nth)個の周辺サンプルのみを使用することを示すことができる。また、N=4である場合は、CCLMパラメータ計算のための周辺サンプル個数が8個(すなわち、2N)である場合を示すことができ、Nth=2とは、CCLMパラメータ計算のために、4(すなわち、2Nth)個の周辺サンプルのみを使用することを示すことができる。
したがって、上記方法1によれば、CCLM予測のために、4個の周辺サンプルが使用され得る場合(例えば、2×NサイズまたはN×2サイズのクロマブロックに既存のCCLM予測モード(すなわち、LM_LAモード)が適用される場合、2×NサイズのクロマブロックにLM_Aモードが適用される場合、およびN×2サイズのクロマブロックにLM_Lモードが適用される場合)に半分の周辺サンプルのみを使用してCCLMパラメータを計算することで、ワーストケース(worst case)における比較演算を半分に減らすことができる。また、CCLM予測のために、8個の周辺サンプルが使用され得る場合(例えば、4×NサイズまたはN×4サイズのクロマブロックに既存のCCLM予測モード(すなわち、LM_LAモード)が適用される場合、4×NサイズのクロマブロックにLM_Aモードが適用される場合、およびN×4サイズのクロマブロックにLM_Lモードが適用される場合)にも半分の周辺サンプルのみを使用してCCLMパラメータを計算することで、比較演算量を大きく減らすことができ、それ以上使用する場合にも、最大8個の周辺サンプルのみを使用してCCLMパラメータ演算が行われ得る。
また、上記方法2によれば、CCLM予測のために、4個の周辺サンプルが使用され得る場合(例えば、2×NサイズまたはN×2サイズのクロマブロックに既存のCCLM予測モード(すなわち、LM_LAモード)が適用される場合、2×NサイズのクロマブロックにLM_Aモードが適用される場合、およびN×2サイズのクロマブロックにLM_Lモードが適用される場合)に半分の周辺サンプルのみを使用してCCLMパラメータを計算することで、ワーストケース(worst case)における比較演算を半分に減らすことができる。また、それ以上使用する場合にも、最大4個の周辺サンプルのみを使用してCCLMパラメータ演算が行われ得る。
また、上記方法3によれば、最大8個の周辺サンプルのみを使用してCCLMパラメータ演算が行われ得るし、方法4によれば、最大4個の周辺サンプルのみを使用してCCLMパラメータ演算が行われ得る。すなわち、方法4によれば、全てのクロマブロックで4個の周辺サンプルを用いてCCLMパラメータが計算され得る。
上述した例のように、方法1ないし4によれば、N=2である場合のワーストケースの比較演算量を50%減らすことができ、各クロマブロックサイズに適応的にNthを適用でき、エンコード損失を最小化できる。
上述した方法1ないし方法4のように、本実施形態によれば、ブロックサイズに適応的にNthを設定でき、これによりブロックサイズに最適化されたCCLMパラメータ導出のための参照サンプル個数が選択され得る。
エンコード装置/デコード装置は、上記周辺サンプル選択上限ラインNthを設定した後、上述したように、クロマブロック周辺サンプルを選択してCCLMパラメータを計算できる。
上述した実施形態が適用される場合のクロマブロックサイズによるCCLMパラメータ計算演算量は、次の表のように示すことができる。
<表35>
Figure 0007018139000041
上述した表35に図示されたように、本実施形態で提案する方法などが使用される場合、ブロックサイズが大きくなるにもかかわらず、CCLMパラメータ計算のために要求される演算量は増加しないことを見ることができる。
一方、本実施形態は、追加情報を送信する必要なしでエンコード装置とデコード装置とで約束された値が使用され得るし、または、CU、スライス、ピクチャおよびシーケンス単位で、提案された方法の使用が可能か否かおよび上記Nthの値を示す情報が送信され得る。
例えば、CU単位で提案された方法の使用が可能か否かを示す情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば(すなわち、上記現クロマブロックにCCLM予測が適用される場合)、次のようにcclm_reduced_sample_flagがパージングされて、上述した実施形態が行われ得る。
・上記cclm_reduced_sample_flagの値が0(False)である場合、全てのブロックに対して上記Nth=4に設定し、上述した図8で提案された実施形態の周辺サンプル選択方式を介してCCLMパラメータ計算を実行
・上記cclm_reduced_sample_flagの値が1(True)である場合、上述した本実施形態の方法2を介してCCLMパラメータ計算を実行
あるいは、スライス、ピクチャ、またはシーケンス単位で適用される方法を示す情報が送信される場合、後述するように、HLS(High Level Syntax)を介して送信される上記情報に基づいて上述した方法1ないし方法4のうち、適用される方法が選択され得るし、選択された方法に基づいて上記CCLMパラメータが計算され得る。
例えば、スライスヘッダを介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表36>
Figure 0007018139000042
cclm_reduced_sample_thresholdは、上記適用される方法を示す情報のシンタックス要素を示すことができる。
あるいは、例えば、PPS(Picture Parameter Set、PPS)を介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表37>
Figure 0007018139000043
あるいは、例えば、SPS(Sequence Parameter Set、SPS)を介してシグナリングされる上記適用される方法を示す情報は、次の表のように示すことができる。
<表38>
Figure 0007018139000044
上記スライスヘッダ、上記PPS、または上記SPSを介して送信されたcclm_reduced_sample_threshold値(すなわち、cclm_reduced_sample_thresholdをデコードして導出された値)に基づいて選択された方法は、次の表のように導出されることができる。
<表39>
Figure 0007018139000045
表39を参照すれば、上記cclm_reduced_sample_thresholdの値が0である場合、上記現クロマブロックに適用される方法として、上記方法1が選択されることができ、上記cclm_reduced_sample_thresholdの値が1である場合、上記現クロマブロックに適用される方法として、上記方法2が選択されることができ、上記cclm_reduced_sample_thresholdの値が2である場合、上記現クロマブロックに適用される方法として、上記方法3が選択されることができ、上記cclm_reduced_sample_thresholdの値が3である場合、上記現クロマブロックに適用される方法として、上記方法4が選択されることができる。
本実施形態で提案する方法は、クロマ成分に対するイントラ予測モードであるCCLMモード(LM_Tモード、LM_TモードまたはLM_LTモード)に使用されることができ、上記CCLMモードを介して予測されたクロマブロックは、エンコード装置でオリジナル画像との差分を介して残差画像を導出するのに使用されるか、デコード装置で残差信号との合計を介して復元された画像を導出するのに使用されることができる。
一方、上述した実施形態で提案する方法1および方法2の実験結果データは、次の通りでありうる。
次の表は、上記方法1の実験結果データを示すことができる。
<表40>
Figure 0007018139000046
また、次の表は、上記方法2の実験結果データを示すことができる。
<表41>
Figure 0007018139000047
上記表40ないし表41は、上記方法1および方法2が適用される場合のコーディング効率および演算複雑度を示すことができる。本実験においてアンカ(anchor)は、VTM3.0rc1であり、オールイントラ(All intra)実験結果である。
表40を参照すれば、上記方法1が適用されれば、CCLMパラメータ計算演算量を減らすにもかかわらず(Nth=1、2、4)、エンコード損失(損害)はなく、むしろわずかの性能利得を得ることができる(例えば、Y0.02%、Cb0.12%、Cr0.17%性能利得)。また、表40を参照すれば、エンコードおよびデコード複雑度は、99%および96%に減少することが確認できる。
また、表41を参照すれば、上記方法2が適用されれば、CCLMパラメータ計算演算量を大きく減らす場合にも(Nth=1、2)、エンコード効率は、ほとんど既存のCCLM予測と差がなく、エンコードおよびデコード複雑度も99%および96%に減少することが確認できる。
一方、CU、スライス、ピクチャ、およびシーケンス単位で上記方法などのうちの1つを示す情報が送信される場合、エンコード装置は、上記方法1ないし上記方法4のうちの1つの方法を決定した後、上記情報をデコード装置に次のように送信することができる。
・CU単位で上述した実施形態の方法が適用されるか否かを示す情報が送信される場合、現クロマブロックのイントラ予測モードがCCLMモードであれば(すなわち、上記現クロマブロックにCCLM予測(LM_Tモード、LM_TモードまたはLM_LTモード)が適用される場合)、下記の2つの場合のうち、エンコード効率が良い方をRDOを介して決定でき、決定された方法に関する情報をデコード装置に送信することができる。
1)全てのブロックに対して上記Nth=4に設定し、上述した図8で提案された実施形態の周辺サンプル選択方式を介してCCLMパラメータを計算することが、エンコード効率が良い場合、値が0(False)であるcclm_reduced_sample_flagを送信
2)上記方法2が適用されると設定し、上述した実施形態で提案する周辺サンプル選択方式を介してCCLMパラメータを計算することが、エンコード効率が良い場合、値が1(True)であるcclm_reduced_sample_flagを送信
・あるいは、スライス、ピクチャ、またはシーケンス単位で上述した実施形態の方法が適用されるか否かを示す情報が送信される場合、エンコード装置は、上述した表36、表37、または表38のように、HLS(High Level Syntax)を追加して上記方法などのうちの1つの方法を示す情報を送信できる。エンコード装置は、上記方法などのうち、適用される方法を、入力画像のサイズを考慮したり、またはエンコードターゲットビットレート(target bitrate)に合うように設定することができる。
1)例えば、入力画像がHD以上である場合、エンコード装置は、上記方法1(Nth =1、2、または4)を適用でき、それ以下である場合、上記方法2(Nth=1または2)を適用できる。
2)高い品質の画像エンコードが必要な場合、エンコード装置は、上記方法3(Nth=4)を適用でき、低い品質の画像エンコードが必要な場合、上記方法4(Nth=2)を適用できる。
本実施形態で提案する方法は、クロマ成分に対するイントラ予測モードであるCCLMモード(LM_Tモード、LM_TモードまたはLM_LTモード)に使用されることができ、上記CCLMモードを介して予測されたクロマブロックは、エンコード装置でオリジナル画像との差分を介して残差画像を導出するのに使用されるか、デコード装置で残差信号との合計を介して復元された画像を導出するのに使用されることができる。
図20aおよび図20bは、上述した実施形態の方法1に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。上記CCLM予測は、既存のCCLM予測、すなわち、上記LM_LTモードに基づいて行われるCCLM予測、または上記LM_Lモードまたは上記LM_Tモードに基づいて行われるCCLM予測を表すことができる。
図20aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S2000)。例えば、上記CCLMパラメータは、図20bに示された実施形態のように計算されることができる。
図20bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図20bに示すように、エンコード装置/デコード装置は、上記現クロマブロックの形状(shape)および上記現クロマブロックのCCLM予測モードに基づいてNを設定できる(S2005)。例えば、上記現クロマブロックに上記LM_LTモードが適用される場合、上記現クロマブロックの幅および高さのうちの小さい値がNに設定され得る。また、例えば、上記現クロマブロックが、幅が高さよりさらに大きい非正方形ブロックであり、上記現クロマブロックに上記LM_Tモードが適用される場合、上記現クロマブロックの幅がNに設定され得る。また、例えば、上記現クロマブロックが、高さが幅よりさらに大きい非正方形ブロックであり、上記現クロマブロックに上記LM_Lモードが適用される場合、上記現クロマブロックの高さがNに設定され得る。
その後、エンコード装置/デコード装置は、上記Nが2であるか(N=2)を判断することができる(S2010)。
上記Nが2である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2個(すなわち、2Nth)の周辺サンプルを選択できる(S2015)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S2020)。
一方、上記Nが2でない場合、エンコード装置/デコード装置は、上記Nが4であるか(N=4)を判断することができる(S2025)。
上記Nが4である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の4個(すなわち、2Nth)の周辺サンプルを選択できる(S2030)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S2020)。
あるいは、上記Nが4でない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の8個(すなわち、2Nth)の周辺サンプルを選択できる(S2035)。ここで、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S2020)。
さらに、図20aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S2040)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図21aおよび図21bは、上述した実施形態の方法2に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。上記CCLM予測は、既存のCCLM予測、すなわち、上記LM_LTモードに基づいて行われるCCLM予測、または上記LM_Lモードまたは上記LM_Tモードに基づいて行われるCCLM予測を表すことができる。
図21aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S2100)。例えば、上記CCLMパラメータは、図21bに示された実施形態のように計算されることができる。
図21bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図21bに示すように、エンコード装置/デコード装置は、上記現クロマブロックの形状(shape)および上記現クロマブロックのCCLM予測モードに基づいてNを設定できる(S2105)。例えば、上記現クロマブロックに上記LM_LTモードが適用される場合、上記現クロマブロックの幅および高さのうちの小さい値がNに設定され得る。また、例えば、上記現クロマブロックが、幅が高さよりさらに大きい非正方形ブロックであり、上記現クロマブロックに上記LM_Tモードが適用される場合、上記現クロマブロックの幅がNに設定され得る。また、例えば、上記現クロマブロックが、高さが幅よりさらに大きい非正方形ブロックであり、上記現クロマブロックに上記LM_Lモードが適用される場合、上記現クロマブロックの高さがNに設定され得る。
その後、エンコード装置/デコード装置は、上記Nが2であるか(N=2)を判断することができる(S2110)。
上記Nが2である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の2個(すなわち、2Nth)の周辺サンプルを選択できる(S2115)。ここで、上記Nthは、1でありうる(Nth=1)。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S2120)。
一方、上記Nが2でない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の4個(すなわち、2Nth)の周辺サンプルを選択できる(S2125)。ここで、上記Nthは、2でありうる(Nth=2)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S2120)。
さらに、図21aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S2130)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図22aおよび図22bは、上述した実施形態の方法3に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。上記CCLM予測は、既存のCCLM予測、すなわち、上記LM_LTモードに基づいて行われるCCLM予測、または上記LM_Lモードまたは上記LM_Tモードに基づいて行われるCCLM予測を表すことができる。
図22aに示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S2200)。例えば、上記CCLMパラメータは、図21bに示された実施形態のように計算されることができる。
図22bは、CCLMパラメータを計算する具体的な実施形態を例示的に示すことができる。例えば、図22bに示すように、エンコード装置/デコード装置は、上記現クロマブロックの形状(shape)および上記現クロマブロックのCCLM予測モードに基づいてNを設定できる(S2205)。例えば、上記現クロマブロックに上記LM_LTモードが適用される場合、上記現クロマブロックの幅および高さのうちの小さい値がNに設定され得る。また、例えば、上記現クロマブロックが、幅が高さよりさらに大きい非正方形ブロックであり、上記現クロマブロックに上記LM_Tモードが適用される場合、上記現クロマブロックの幅がNに設定され得る。また、例えば、上記現クロマブロックが、高さが幅よりさらに大きい非正方形ブロックであり、上記現クロマブロックに上記LM_Lモードが適用される場合、上記現クロマブロックの高さがNに設定され得る。
その後、エンコード装置/デコード装置は、上記Nが2であるか(N=2)を判断することができる(S2210)。
上記Nが2である場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の4個の周辺サンプルを選択できる(S2215)。すなわち、参照行内の参照サンプルを用いて上記CCLMパラメータを計算することができる。
エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S2220)。
一方、上記Nが2でない場合、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の8個(すなわち、2Nth)の周辺サンプルを選択できる(S2225)。ここで、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S2220)。
さらに、図22aに示すように、上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S2230)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図23は、上述した実施形態の方法4に従って導出された現クロマブロックのCCLMパラメータに基づいてCCLM予測を行う過程を説明する図である。上記CCLM予測は、既存のCCLM予測、すなわち、上記LM_LTモードに基づいて行われるCCLM予測、または上記LM_Lモードまたは上記LM_Tモードに基づいて行われるCCLM予測を表すことができる。
図23に示すように、エンコード装置/デコード装置は、上記現ブロックに対するCCLMパラメータを計算できる(S2300)。
例えば、エンコード装置/デコード装置は、上記CCLMパラメータ計算のための参照サンプルとして上記現ブロックに隣接する参照行(reference line)内の4個(すなわち、2Nth)の周辺サンプルを選択できる(S2305)。ここで、上記Nthは、2でありうる(Nth=2)。あるいは、上記Nthは、4でありうる(Nth=4)。その後、エンコード装置/デコード装置は、上記選択された参照サンプルに基づいて上記CCLM予測に関するパラメータα、βを導出できる(S2310)。
上記現クロマブロックに対するCCLM予測に関する上記パラメータが計算された場合、エンコード装置/デコード装置は、上記パラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる(S2320)。例えば、エンコード装置/デコード装置は、上記計算されたパラメータおよび上記現クロマブロックに対する現ルマブロックの復元サンプルが使用される上述した数式1に基づいて、上記現クロマブロックに対する予測サンプルを生成できる。
図24は、本文書に係るエンコード装置による画像エンコード方法を概略的に示す。図24において開示された方法は、図2において開示されたエンコード装置によって行われることができる。具体的には、例えば、図24のS2400ないしS2460は、上記エンコード装置の予測部によって行われることができ、S2470は、上記エンコード装置のエントロピエンコード部によって行われることができる。また、図示されてはいないが、上記現クロマブロックに対するオリジナルサンプルと予測サンプルとに基づいて上記現クロマブロックに対する残差サンプルを導出する過程は、上記エンコード装置の減算部によって行われることができ、上記現クロマブロックに対する残差サンプルと予測サンプルとに基づいて上記現クロマブロックに対する復元サンプルを導出する過程は、上記エンコード装置の加算部によって行われることができ、上記残差サンプルに基づいて上記現クロマブロックに対する残差に関する情報を生成する過程は、上記エンコード装置の変換部によって行われることができ、上記残差に関する情報をエンコードする過程は、上記エンコード装置のエントロピエンコード部によって行われることができる。
エンコード装置は、複数のCCLM(Cross-Component Linear Model)予測モードのうち、現クロマブロックのCCLM予測モードを決定する(S2400)。例えば、エンコード装置は、RDコスト(Rate-Distortion cost)(または、RDO)に基づいて上記現クロマブロックのイントラ予測モードを決定できる。ここで、上記RDコストは、SAD(Sum of Absolute Difference)に基づいて導出されることができる。エンコード装置は、RDコストに基づいて上記CCLM予測モードのうちの1つを上記現クロマブロックのイントラ予測モードとして決定することができる。すなわち、エンコード装置は、RDコストに基づいて上記CCLM予測モードのうち、上記現クロマブロックのCCLM予測モードを決定できる。
また、エンコード装置は、上記現クロマブロックのイントラ予測モードを表す予測モード情報をエンコードでき、ビットストリームを介して上記予測モード情報はシグナリングされることができる。上記現クロマブロックに対する上記予測モード情報を示すシンタックス要素(syntax element)は、intra_chroma_pred_modeでありうる。画像情報は、上記予測モード情報を含むことができる。
また、エンコード装置は、上記現クロマブロックの上記CCLM予測モードを指すインデックス情報をエンコードでき、ビットストリームを介して上記インデックス情報をシグナリングすることができる。上記予測モード情報は、CCLM(Cross-Component Linear Model)予測モードのうち、上記現クロマブロックの上記CCLM予測モードを指すインデックス情報を含むことができる。ここで、上記CCLM予測モードは、レフトトップ(lefttop)LMモード、トップ(top)LMモード、およびレフト(left)LMモードを含むことができる。上記レフトトップLMモードは、上述したLM_LTモードを表すことができ、上記レフトLMモードは、上述したLM_Lモードを表すことができ、上記トップLMモードは、上述したLM_Tモードを表すことができる。また、エンコード装置は、上記現クロマブロックにCCLM予測が適用されるか否かを表すフラグをエンコードでき、ビットストリームを介して上記フラグをシグナリングすることができる。上記予測モード情報は、上記現クロマブロックにCCLM予測が適用されるか否かを表す上記フラグを含むことができる。例えば、上記現クロマブロックにCCLM予測が適用される場合、上記インデックス情報が指すCCLM予測モードが上記現クロマブロックに対するCCLM予測モードとして導出されることができる。
エンコード装置は、上記現クロマブロックの上記CCLM予測モード、上記現クロマブロックのサイズ、および特定値に基づいて、上記現クロマブロックの周辺クロマサンプルのサンプル個数を導出する(S2410)。
ここで、上記現クロマブロックの上記CCLM予測モードが上記レフトLMモードである場合、上記周辺クロマサンプルは、上記現クロマブロックの左側周辺クロマサンプルのみを含むことができる。また、上記現クロマブロックの上記CCLM予測モードが上記トップLMモードである場合、上記周辺クロマサンプルは、上記現クロマブロックの上側周辺クロマサンプルのみを含むことができる。また、上記現クロマブロックの上記CCLM予測モードが上記レフトトップLMモードである場合、上記周辺クロマサンプルは、上記現クロマブロックの上記左側周辺クロマサンプルおよび上記上側周辺クロマサンプルを含むことができる。
例えば、上記現クロマブロックの上記CCLM予測モードが上記レフトLMモードである場合、エンコード装置は、上記現クロマブロックの高さと上記特定値とに基づいて上記サンプル個数を導出できる。
一例として、エンコード装置は、上記高さの2倍数(2倍の数)と上記特定値の2倍数とを比較して、上記周辺クロマサンプルの上記サンプル個数を導出できる。例えば、上記現クロマブロックの上記高さの2倍数が上記特定値の2倍数より大きい場合、上記サンプル個数は、上記特定値の2倍数に導出されることができる。また、例えば、上記現クロマブロックの上記高さの2倍数が上記特定値の2倍数以下である場合、上記サンプル個数は、上記高さの2倍数に導出されることができる。
また、例えば、上記現クロマブロックの上記CCLM予測モードが上記トップLMモードである場合、エンコード装置は、上記現クロマブロックの幅と上記特定値とに基づいて上記サンプル個数を導出できる。
一例として、エンコード装置は、上記幅の2倍数と上記特定値の2倍数とを比較して、上記周辺クロマサンプルの上記サンプル個数を導出できる。例えば、上記現クロマブロックの上記幅の2倍数が上記特定値の2倍数より大きい場合、上記サンプル個数は、上記特定値の2倍数に導出されることができる。また、例えば、上記現クロマブロックの上記幅の2倍数が上記特定値の2倍数以下である場合、上記サンプル個数は、上記幅の2倍数に導出されることができる。
また、例えば、上記現クロマブロックの上記CCLM予測モードが上記レフトトップLMモードである場合、エンコード装置は、上記幅および上記高さと上記特定値とを比較して、上記上側周辺クロマサンプルおよび上記左側周辺クロマサンプルの上記サンプル個数を導出できる。
例えば、上記現クロマブロックの上記幅および上記高さが上記特定値より大きい場合、上記サンプル個数は、上記特定値に導出されることができる。
また、例えば、上記現クロマブロックの上記幅および上記高さが上記特定値以下である場合、上記サンプル個数は、上記幅および上記高さのうちの1つの値に導出されることができる。一例として、上記幅および上記高さのうちの小さい値に導出されることができる。
一方、上記特定値は、上記現クロマブロックのCCLMパラメータを計算するために導出されることができる。ここで、上記特定値は、周辺サンプル個数上限ラインまたは最大周辺サンプル個数と示すこともできる。一例として、上記特定値は、2に導出されることができる。あるいは、上記特定値は、4、8、または16に導出されることができる。
また、例えば、上記特定値は、予め設定された値に導出されることができる。すなわち、上記特定値は、エンコード装置とデコード装置との間で約束された値に導出されることができる。言い換えれば、上記特定値は、上記CCLMモードが適用される上記現クロマブロックに対して予め設定された値に導出されることができる。
あるいは、例えば、エンコード装置は、上記特定値を示す情報をエンコードでき、ビットストリームを介して上記特定値を示す情報をシグナリングすることができる。上記画像情報は、上記特定値を示す情報を含むことができる。上記特定値を示す情報は、CU(Coding Unit)単位でシグナリングされることができる。あるいは、上記特定値を示す情報は、スライスヘッダ(slice header)、PPS(Picture Parameter Set)、SPS(Sequence Parameter Set)単位でシグナリングされることができる。すなわち、上記特定値を示す情報は、スライスヘッダ(slice header)、PPS(Picture Parameter Set)、SPS(Sequence Parameter Set)でシグナリングされることができる。
あるいは、例えば、エンコード装置は、上記特定値に基づいて周辺参照サンプルの個数を導出するか否かを示すフラグ情報をエンコードでき、ビットストリームを介して上記フラグ情報をシグナリングすることができる。上記画像情報は、上記特定値に基づいて周辺参照サンプルの個数を導出するか否かを示すフラグ情報を含むことができる。上記フラグ情報の値が1である場合、上記フラグ情報は、上記特定値に基づいて周辺参照サンプルの個数を導出することを示すことができ、上記フラグ情報の値が0である場合、上記フラグ情報は、上記特定値に基づいて周辺参照サンプルの個数を導出しないことを示すことができる。上記フラグ情報の値が1である場合、上記予測関連情報は、上記特定値を示す情報を含むことができ、上記特定値は、上記特定値を示す情報に基づいて導出されることができる。上記フラグ情報および/または上記特定値を示す情報は、CU(Coding Unit)単位でシグナリングされることができる。あるいは、上記フラグ情報および/または上記特定値を示す情報は、スライスヘッダ(slice header)、PPS(Picture Parameter Set)、またはSPS(Sequence Parameter Set)単位でシグナリングされることができる。すなわち、上記フラグ情報および/または上記特定値を示す情報は、スライスヘッダ、PPS、またはSPSでシグナリングされることができる。
あるいは、例えば、上記特定値は、上記現クロマブロックのサイズに基づいて導出されることができる。
一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2以下である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2以下である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が8である場合、上記特定値は、4に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が8より大きい場合、上記特定値は、8に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2以下である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2より大きい場合、上記特定値は、2に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2以下である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックのサイズが2×2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックのサイズが2×2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックのサイズが2×2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、4に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、8に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2より大きい場合、上記特定値は、2に導出されることができる。
また、一例として、上記特定値は、上記現ブロックの幅および高さのうちの小さい値が特定閾値より大きいか否かに基づいて導出されることができる。例えば、上記現ブロックの幅および高さのうちの小さい値が特定閾値より大きい場合、上記特定値は、4に導出されることができ、上記現ブロックの幅および高さのうちの小さい値が特定閾値以下である場合、上記特定値は、2に導出されることができる。上記特定閾値は、予め設定された値に導出されることができる。すなわち、上記特定閾値は、エンコード装置とデコード装置との間で約束された値に導出されることができる。あるいは、例えば、エンコード装置は、予測関連情報を含む画像情報をエンコードでき、上記予測関連情報は、上記特定閾値を示す情報を含むことができる。この場合、上記特定閾値は、上記特定閾値を示す情報に基づいて導出されることができる。例えば、上記導出された特定閾値は、4または8でありうる。
エンコード装置は、上記サンプル個数の上記周辺クロマサンプルを導出する(S2420)。エンコード装置は、上記サンプル個数の上記周辺クロマサンプルを導出できる。
例えば、上記現クロマブロックの上記CCLM予測モードが上記レフトトップLMモードである場合、エンコード装置は、上記サンプル個数の左側周辺クロマサンプルおよび上記サンプル個数の上側周辺クロマサンプルを導出できる。具体的には、上記現クロマブロックのサイズがN×Mである場合、エンコード装置は、N個の上側周辺クロマサンプルから上記サンプル個数の上側周辺クロマサンプルを導出でき、N個の左側周辺クロマサンプルから上記サンプル個数の左側周辺クロマサンプルを導出できる。ここで、Nは、Mより小さいか、同じでありうる。
また、例えば、上記現クロマブロックの上記CCLM予測モードが上記トップLMモードである場合、エンコード装置は、上記サンプル個数の上側周辺クロマサンプルを導出できる。具体的には、上記現クロマブロックのサイズがN×Mである場合、エンコード装置は、2N個の上側周辺クロマサンプルから上記サンプル個数の上側周辺クロマサンプルを導出できる。ここで、Nは、Mより小さいか、同じでありうる。
また、例えば、上記現クロマブロックの上記CCLM予測モードが上記レフトLMモードである場合、エンコード装置は、上記サンプル個数の左側周辺クロマサンプルを導出できる。具体的には、上記現クロマブロックのサイズがM×Nである場合、エンコード装置は、2N個の左側周辺クロマサンプルから上記サンプル個数の左側周辺クロマサンプルを導出できる。ここで、Nは、Mより小さいか、同じでありうる。
エンコード装置は、現ルマブロックのダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出する(S2430)。ここで、上記周辺ルマサンプルは、上記周辺クロマサンプルと対応することができる。例えば、上記ダウンサンプリングされた周辺ルマサンプルは、上記上側周辺クロマサンプルと対応する上記現ルマブロックのダウンサンプリングされた上側周辺ルマサンプルおよび上記左側周辺クロマサンプルと対応する上記現ルマブロックのダウンサンプリングされた左側周辺ルマサンプルを含むことができる。
すなわち、例えば、上記周辺ルマサンプルは、上記上側周辺クロマサンプルと対応する上記サンプル個数のダウンサンプリングされた上側周辺ルマサンプルおよび上記左側周辺クロマサンプルと対応する上記サンプル個数のダウンサンプリングされた左側周辺ルマサンプルを含むことができる。
あるいは、例えば、上記ダウンサンプリングされた周辺ルマサンプルは、上記上側周辺クロマサンプルと対応する上記現ルマブロックのダウンサンプリングされた上側周辺ルマサンプルを含むことができる。すなわち、例えば、上記周辺ルマサンプルは、上記上側周辺クロマサンプルと対応する上記サンプル個数のダウンサンプリングされた上側周辺ルマサンプルを含むことができる。
あるいは、例えば、上記ダウンサンプリングされた周辺ルマサンプルは、上記左側周辺クロマサンプルと対応する上記現ルマブロックのダウンサンプリングされた左側周辺ルマサンプルを含むことができる。すなわち、例えば、上記周辺ルマサンプルは、上記左側周辺クロマサンプルと対応する上記サンプル個数のダウンサンプリングされた左側周辺ルマサンプルを含むことができる。
エンコード装置は、上記周辺クロマサンプルおよび上記ダウンサンプリングされた周辺ルマサンプルに基づいてCCLMパラメータを計算する(S2440)。エンコード装置は、上記周辺クロマサンプルおよび上記ダウンサンプリングされた周辺ルマサンプルに基づいてCCLMパラメータを計算できる。例えば、上記CCLMパラメータは、上述した数式3に基づいて導出されることができる。あるいは、例えば、上記CCLMパラメータは、上述した数式4に基づいて導出されることができる。
エンコード装置は、上記CCLMパラメータおよび上記ダウンサンプリングされたルマサンプルに基づいて上記現クロマブロックに対する予測サンプルを導出する(S2450)。エンコード装置は、上記CCLMパラメータおよび上記ダウンサンプリングされたルマサンプルに基づいて上記現クロマブロックに対する予測サンプルを導出できる。エンコード装置は、上記CCLMパラメータによって導出されるCCLMを上記ダウンサンプリングされたルマサンプルに適用して上記現クロマブロックに対する予測サンプルを生成できる。すなわち、エンコード装置は、上記CCLMパラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる。例えば、上記予測サンプルは、上述した数式1に基づいて、導出されることができる。
エンコード装置は、上記現クロマブロックに対する予測モード情報を含む画像情報をエンコードする(S2460)。エンコード装置は、上記現クロマブロックに対する予測モード情報を含む画像情報をエンコードでき、ビットストリームを介してシグナリングすることができる。上記予測モード情報は、上記現クロマブロックにCCLM予測が適用されるか否かを表すフラグを含むことができる。また、上記予測モード情報は、上記現クロマブロックのCCLM予測モードを表すインデックス情報を含むことができる。
また、例えば、上記画像情報は、上記特定値を示す情報を含むことができる。また、例えば、上記画像情報は、上記特定閾値を示す情報を含むことができる。また、例えば、上記画像情報は、上記特定値に基づいて周辺参照サンプルの個数を導出するか否かを示すフラグ情報を含むことができる。
一方、図示されてはいないが、エンコード装置は、上記現クロマブロックに対するオリジナルサンプルと予測サンプルとに基づいて上記現クロマブロックに対する残差サンプルを導出でき、上記残差サンプルに基づいて上記現クロマブロックに対する残差に関する情報を生成でき、上記残差に関する情報をエンコードできる。上記画像情報は、上記残差に関する情報を含むことができる。また、エンコード装置は、上記現クロマブロックに対する上記予測サンプルおよび上記残差サンプルに基づいて上記現クロマブロックに対する復元サンプルを生成できる。
一方、上記ビットストリームは、ネットワークまたは(デジタル)記憶媒体を介してデコード装置に送信されることができる。ここで、ネットワークは、放送網および/または通信網などを含むことができ、デジタル記憶媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な記憶媒体を含むことができる。
図25は、本文書に係る画像エンコード方法を行うエンコード装置を概略的に示す。図24において開示された方法は、図25において開示されたエンコード装置によって行われることができる。具体的には、例えば、図25の上記エンコード装置の予測部は、図24のS2400ないしS2450を行うことができ、図25の上記エンコード装置のエントロピエンコード部は、図24のS2460を行うことができる。また、図示されてはいないが、上記現クロマブロックに対するオリジナルサンプルと予測サンプルとに基づいて上記現クロマブロックに対する残差サンプルを導出する過程は、図25の上記エンコード装置の減算部によって行われることができ、上記現クロマブロックに対する予測サンプルおよび残差サンプルに基づいて上記現クロマブロックに対する復元サンプルを導出する過程は、図25の上記エンコード装置の加算部によって行われることができ、上記残差サンプルに基づいて上記現クロマブロックに対する残差に関する情報を生成する過程は、図25の上記エンコード装置の変換部によって行われることができ、上記残差に関する情報をエンコードする過程は、図25の上記エンコード装置のエントロピエンコード部によって行われることができる。
図26は、本文書に係るデコード装置による画像デコード方法を概略的に示す。図26において開示された方法は、図3において開示されたデコード装置によって行われることができる。具体的には、例えば、図26のS2600は、上記デコード装置のエントロピデコード部によって行われることができ、S2610ないしS2650は、上記デコード装置の予測部によって行われることができ、S2660は、上記デコード装置の加算部によって行われることができる。また、図示されてはいないが、ビットストリームを介して現ブロックの残差に関する情報を取得する過程は、上記デコード装置のエントロピデコード部によって行われることができ、上記残差情報に基づいて上記現ブロックに対する上記残差サンプルを導出する過程は、上記デコード装置の逆変換部によって行われることができる。
デコード装置は、現クロマブロックに対する予測モード情報を含む画像情報を取得する(S2600)。デコード装置は、ビットストリームを介して上記現クロマブロックに対する予測モード情報を含む画像情報を受信できる。上記予測モード情報は、上記現クロマブロックのイントラ予測モードを表すことができる。また、上記現クロマブロックに対する上記予測モード情報を示すシンタックス要素(syntax element)は、intra_chroma_pred_modeでありうる。画像情報は、上記予測モード情報を含むことができる。
また、上記予測モード情報は、CCLM(Cross-Component Linear Model)予測モードのうち、上記現クロマブロックの上記CCLM予測モードを指すインデックス情報を含むことができる。上記CCLM予測モードは、レフトトップ(lefttop)LMモード、トップ(top)LMモード、およびレフト(left)LMモードを含むことができる。上記レフトトップLMモードは、上述したLM_LTモードを表すことができ、上記レフトLMモードは、上述したLM_Lモードを表すことができ、上記トップLMモードは、上述したLM_Tモードを表すことができる。また、上記予測モード情報は、上記現クロマブロックにCCLM予測が適用されるか否かを表すフラグを含むことができる。例えば、上記現クロマブロックにCCLM予測が適用される場合、上記インデックス情報が指すCCLM予測モードは、上記現クロマブロックに対するCCLM予測モードとして導出されることができる。
デコード装置は、上記予測モード情報に基づいて複数のCCLM予測モードのうちの1つを上記現クロマブロックの上記CCLM予測モードとして導出する(S2610)。デコード装置は、上記予測モード情報に基づいて上記現在クロマイントラ予測モードのイントラ予測モードを導出できる。例えば、上記予測モード情報は、上記現クロマブロックの上記CCLM予測モードを表すことができる。例えば、上記現クロマブロックの上記CCLM予測モードは、上記インデックス情報に基づいて導出されることができる。上記複数のCCLM予測モードのうち、上記インデックス情報が指すCCLM予測モードが、上記現クロマブロックの上記CCLM予測モードとして導出されることができる。
デコード装置は、上記現クロマブロックの上記CCLM予測モード、上記現クロマブロックのサイズ、および特定値に基づいて、上記現クロマブロックの周辺クロマサンプルのサンプル個数を導出する(S2620)。
ここで、上記現クロマブロックの上記CCLM予測モードが上記レフトLMモードである場合、上記周辺クロマサンプルは、上記現クロマブロックの左側周辺クロマサンプルのみを含むことができる。また、上記現クロマブロックの上記CCLM予測モードが上記トップLMモードである場合、上記周辺クロマサンプルは、上記現クロマブロックの上側周辺クロマサンプルのみを含むことができる。また、上記現クロマブロックの上記CCLM予測モードが上記レフトトップLMモードである場合、上記周辺クロマサンプルは、上記現クロマブロックの上記左側周辺クロマサンプルおよび上記上側周辺クロマサンプルを含むことができる。
例えば、上記現クロマブロックの上記CCLM予測モードが上記レフトLMモードである場合、デコード装置は、上記現クロマブロックの高さと上記特定値とに基づいて上記サンプル個数を導出できる。
一例として、デコード装置は、上記高さの2倍数と上記特定値の2倍数とを比較して、上記周辺クロマサンプルの上記サンプル個数を導出できる。例えば、上記現クロマブロックの上記高さの2倍数が上記特定値の2倍数より大きい場合、上記サンプル個数は、上記特定値の2倍数に導出されることができる。また、例えば、上記現クロマブロックの上記高さの2倍数が上記特定値の2倍数以下である場合、上記サンプル個数は、上記高さの2倍数に導出されることができる。
また、例えば、上記現クロマブロックの上記CCLM予測モードが上記トップLMモードである場合、デコード装置は、上記現クロマブロックの幅と上記特定値とに基づいて上記サンプル個数を導出できる。
一例として、デコード装置は、上記幅の2倍数と上記特定値の2倍数とを比較して、上記周辺クロマサンプルの上記サンプル個数を導出できる。例えば、上記現クロマブロックの上記幅の2倍数が上記特定値の2倍数より大きい場合、上記サンプル個数は、上記特定値の2倍数に導出されることができる。また、例えば、上記現クロマブロックの上記幅の2倍数が上記特定値の2倍数以下である場合、上記サンプル個数は、上記幅の2倍数に導出されることができる。
また、例えば、上記現クロマブロックの上記CCLM予測モードが上記レフトトップLMモードである場合、デコード装置は、上記幅および上記高さと上記特定値とを比較して、上記上側周辺クロマサンプルおよび上記左側周辺クロマサンプルの上記サンプル個数を導出できる。
例えば、上記現クロマブロックの上記幅および上記高さが上記特定値より大きい場合、上記サンプル個数は、上記特定値に導出されることができる。
また、例えば、上記現クロマブロックの上記幅および上記高さが上記特定値以下である場合、上記サンプル個数は、上記幅および上記高さのうちの1つの値に導出されることができる。一例として、上記幅および上記高さのうちの小さい値に導出されることができる。
一方、上記特定値は、上記現クロマブロックのCCLMパラメータを計算するために導出されることができる。ここで、上記特定値は、周辺サンプル個数上限ラインまたは最大周辺サンプル個数と示すこともできる。一例として、上記特定値は、2に導出されることができる。あるいは、上記特定値は、4、8、または16に導出されることができる。
また、例えば、上記特定値は、予め設定された値に導出されることができる。すなわち、上記特定値は、エンコード装置とデコード装置との間で約束された値に導出されることができる。言い換えれば、上記特定値は、上記CCLMモードが適用される上記現クロマブロックに対して予め設定された値に導出されることができる。
あるいは、例えば、デコード装置は、ビットストリームを介して予測関連情報を取得できる。言い換えれば、上記画像情報は、上記特定値を示す情報を含むことができ、上記特定値は、上記特定値を示す情報に基づいて導出されることができる。上記特定値を示す情報は、CU(Coding Unit)単位でシグナリングされることができる。あるいは、上記特定値を示す情報は、スライスヘッダ(slice header)、PPS(Picture Parameter Set)、またはSPS(Sequence Parameter Set)単位でシグナリングされることができる。すなわち、上記特定値を示す情報は、スライスヘッダ、PPS、またはSPSでシグナリングされることができる。
あるいは、例えば、デコード装置は、ビットストリームを介して上記特定値に基づいて周辺参照サンプルの個数を導出するか否かを示すフラグ情報を取得できる。言い換えれば、上記画像情報は、上記特定値に基づいて上記サンプル個数を導出するか否かを示すフラグ情報を含むことができ、上記フラグ情報の値が1である場合、上記画像情報は、上記特定値を示す情報を含むことができ、上記特定値は、上記特定値を示す情報に基づいて導出されることができる。一方、上記フラグ情報の値が0である場合、上記フラグ情報は、上記特定値に基づいて周辺参照サンプルの個数を導出しないことを示すことができる。上記フラグ情報および/または上記特定値を示す情報は、CU(Coding Unit)単位でシグナリングされることができる。あるいは、上記フラグ情報および/または上記特定値を示す情報は、スライスヘッダ(slice header)、PPS(Picture Parameter Set)、またはSPS(Sequence Parameter Set)単位でシグナリングされることができる。すなわち、上記フラグ情報および/または上記特定値を示す情報は、スライスヘッダ、PPS、またはSPSでシグナリングされることができる。
あるいは、例えば、上記特定値は、上記現クロマブロックのサイズに基づいて導出されることができる。
一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2以下である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2以下である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が8である場合、上記特定値は、4に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が8より大きい場合、上記特定値は、8に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2以下である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2より大きい場合、上記特定値は、2に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2以下である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックのサイズが2×2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックのサイズが2×2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックのサイズが2×2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、4に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、8に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2である場合、上記特定値は、1に導出されることができ、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4である場合、上記特定値は、2に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が4より大きい場合、上記特定値は、4に導出されることができる。
また、一例として、上記現クロマブロックの上記幅および上記高さのうちの小さい値が2より大きい場合、上記特定値は、2に導出されることができる。
また、一例として、上記特定値は、上記現ブロックの幅および高さのうちの小さい値が特定閾値より大きいか否かに基づいて導出されることができる。例えば、上記現ブロックの幅および高さのうちの小さい値が特定閾値より大きい場合、上記特定値は、4に導出されることができ、上記現ブロックの幅および高さのうちの小さい値が特定閾値以下である場合、上記特定値は、2に導出されることができる。上記特定閾値は、予め設定された値に導出されることができる。すなわち、上記特定閾値は、エンコード装置とデコード装置との間で約束された値に導出されることができる。あるいは、例えば、上記画像情報は、上記特定閾値を示す情報を含むことができる。この場合、上記特定閾値は、上記特定閾値を示す情報に基づいて導出されることができる。例えば、上記導出された特定閾値は、4または8でありうる。
デコード装置は、上記サンプル個数の上記周辺クロマサンプルを導出する(S2630)。デコード装置は、上記サンプル個数の上記周辺クロマサンプルを導出できる。
例えば、上記現クロマブロックの上記CCLM予測モードが上記レフトトップLMモードである場合、デコード装置は、上記サンプル個数の左側周辺クロマサンプルおよび上記サンプル個数の上側周辺クロマサンプルを導出できる。具体的には、上記現クロマブロックのサイズがN×Mである場合、デコード装置は、N個の上側周辺クロマサンプルから上記サンプル個数の上側周辺クロマサンプルを導出でき、N個の左側周辺クロマサンプルから上記サンプル個数の左側周辺クロマサンプルを導出できる。ここで、Nは、Mより小さいか、同じでありうる。
また、例えば、上記現クロマブロックの上記CCLM予測モードが上記トップLMモードである場合、デコード装置は、上記サンプル個数の上側周辺クロマサンプルを導出できる。具体的には、上記現クロマブロックのサイズがN×Mである場合、デコード装置は、2N個の上側周辺クロマサンプルから上記サンプル個数の上側周辺クロマサンプルを導出できる。ここで、Nは、Mより小さいか、同じでありうる。
また、例えば、上記現クロマブロックの上記CCLM予測モードが上記レフトLMモードである場合、デコード装置は、上記サンプル個数の左側周辺クロマサンプルを導出できる。具体的には、上記現クロマブロックのサイズがM×Nである場合、デコード装置は、2N個の左側周辺クロマサンプルから上記サンプル個数の左側周辺クロマサンプルを導出できる。ここで、Nは、Mより小さいか、同じでありうる。
デコード装置は、現ルマブロックのダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出する(S2640)。ここで、上記周辺ルマサンプルは、上記周辺クロマサンプルと対応することができる。例えば、上記ダウンサンプリングされた周辺ルマサンプルは、上記上側周辺クロマサンプルと対応する上記現ルマブロックのダウンサンプリングされた上側周辺ルマサンプルおよび上記左側周辺クロマサンプルと対応する上記現ルマブロックのダウンサンプリングされた左側周辺ルマサンプルを含むことができる。
すなわち、例えば、上記周辺ルマサンプルは、上記上側周辺クロマサンプルと対応する上記サンプル個数のダウンサンプリングされた上側周辺ルマサンプルおよび上記左側周辺クロマサンプルと対応する上記サンプル個数のダウンサンプリングされた左側周辺ルマサンプルを含むことができる。
あるいは、例えば、上記ダウンサンプリングされた周辺ルマサンプルは、上記上側周辺クロマサンプルと対応する上記現ルマブロックのダウンサンプリングされた上側周辺ルマサンプルを含むことができる。すなわち、例えば、上記周辺ルマサンプルは、上記上側周辺クロマサンプルと対応する上記サンプル個数のダウンサンプリングされた上側周辺ルマサンプルを含むことができる。
あるいは、例えば、上記ダウンサンプリングされた周辺ルマサンプルは、上記左側周辺クロマサンプルと対応する上記現ルマブロックのダウンサンプリングされた左側周辺ルマサンプルを含むことができる。すなわち、例えば、上記周辺ルマサンプルは、上記左側周辺クロマサンプルと対応する上記サンプル個数のダウンサンプリングされた左側周辺ルマサンプルを含むことができる。
デコード装置は、上記周辺クロマサンプルおよび上記ダウンサンプリングされた周辺ルマサンプルに基づいてCCLMパラメータを計算する(S2650)。デコード装置は、上記周辺クロマサンプルおよび上記ダウンサンプリングされた周辺ルマサンプルに基づいてCCLMパラメータを計算できる。例えば、上記CCLMパラメータは、上述した数式3に基づいて導出されることができる。あるいは、例えば、上記CCLMパラメータは、上述した数式4に基づいて導出されることができる。
デコード装置は、上記CCLMパラメータおよび上記ダウンサンプリングされたルマサンプルに基づいて上記現クロマブロックに対する予測サンプルを導出する(S2660)。デコード装置は、上記CCLMパラメータおよび上記ダウンサンプリングされたルマサンプルに基づいて上記現クロマブロックに対する予測サンプルを導出できる。デコード装置は、上記CCLMパラメータによって導出されるCCLMを上記ダウンサンプリングされたルマサンプルに適用して上記現クロマブロックに対する予測サンプルを生成できる。すなわち、デコード装置は、上記CCLMパラメータに基づいてCCLM予測を行って上記現クロマブロックに対する予測サンプルを生成できる。例えば、上記予測サンプルは、上述した数式1に基づいて導出されることができる。
デコード装置は、上記予測サンプルに基づいて上記現クロマブロックに対する復元サンプルを生成する(S2670)。デコード装置は、上記予測サンプルに基づいて復元サンプルを生成できる。例えば、デコード装置は、上記ビットストリームから上記現クロマブロックに対する残差に関する情報を受信できる。上記残差に関する情報は、(クロマ)残差サンプルに関する変換係数を含むことができる。デコード装置は、上記残差情報に基づいて上記現クロマブロックに対する上記残差サンプル(または、残差サンプルアレイ)を導出できる。この場合、デコード装置は、上記予測サンプルおよび上記残差サンプルに基づいて上記復元サンプルを生成できる。デコード装置は、上記復元サンプルに基づいて復元ブロックまたは復元ピクチャを導出できる。その後、デコード装置は、必要に応じて主観的/客観的画質を向上させるために、デブロックフィルタリングおよび/またはSAO手順のようなインループフィルタリング手順を上記復元ピクチャに適用できることは、上述した通りである。
図27は、本文書に係る画像デコード方法を行うデコード装置を概略的に示す。図26において開示された方法は、図27において開示されたデコード装置によって行われることができる。具体的には、例えば、図27の上記デコード装置のエントロピデコード部は、図26のS2600を行うことができ、図27の上記デコード装置の予測部は、図26のS2610ないしS2660を行うことができ、図27の上記デコード装置の加算部は、図26のS2670を行うことができる。また、図示されてはいないが、ビットストリームを介して現ブロックの残差に関する情報を含む画像情報を取得する過程は、図27の上記デコード装置のエントロピデコード部によって行われることができ、上記残差に関する情報に基づいて上記現ブロックに対する上記残差サンプルを導出する過程は、図27の上記デコード装置の逆変換部によって行われることができる。
上述した本文書によれば、CCLMに基づいてイントラ予測を行って画像コーディング効率を上げることができる。
また、本文書によれば、複数のLMモード、すなわち、MDLM(Multi-Directional Linear Model)を含むCCLMに基づくイントラ予測の効率を上げることができる。
また、本文書によれば、サイズが大きいクロマブロックで行われるMDLM(multi-directional Linear Model)のための線形モデルパラメータを導出するために、選択される周辺サンプルの個数を特定個数に制限することにより、イントラ予測の複雑度を減らすことができる。
上述した実施形態において、方法などは、一連のステップまたはブロックとしてフローチャートに基づいて説明されているが、本文書は、ステップなどの順序に限定されるものではなく、あるステップは、上述と異なるステップと異なる順序でまたは同時に発生することができる。また、当業者であれば、フローチャートに示されたステップが排他的でなく、他のステップが含まれるか、フローチャートの1つまたは複数のステップが本文書の範囲に影響を及ぼさずに削除され得ることを理解できるであろう。
本文書において説明した実施形態などは、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて行われることができる。例えば、各図面において図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現されて行われることができる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル記憶媒体に記憶されることができる。
また、本文書の実施形態が適用されるデコード装置およびエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、ビデオオンデマンド(注文型ビデオ)(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、画像電話ビデオ装置、運送手段端末(例えば、車両端末、飛行機端末、船舶端末など)、および医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、OTTビデオ(Over The Top video)装置では、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recorder)などを備えることができる。
また、本文書の実施形態が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に記憶されることができる。本文書に係るデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に記憶されることができる。上記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが記憶されるあらゆる種類の記憶装置および分散記憶装置を含む。上記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、ユニバーサルシリアル(汎用直列)バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピ(登録商標)ディスク、および光学データ記憶装置を含むことができる。また、上記コンピュータが読み取り可能な記録媒体は、搬送波の形態(例えば、インターネットを介しての送信)で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームは、コンピュータが読み取り可能な記録媒体に記憶されるか、有無線通信(wired/wireless communication)ネットワークを介して送信されることができる。
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、上記プログラムコードは、本文書の実施形態によってコンピュータで行われることができる。上記プログラムコードは、コンピュータによって読み取り可能なキャリア上に記憶されることができる。
図28は、本文書の実施形態が適用されるコンテンツストリーミングシステム構造図を例示的に示す。
本文書の実施形態が適用されるコンテンツストリーミングシステムは、大別して、エンコードサーバ(encoding server)、ストリーミングサーバ(streaming server)、ウェブサーバ(a web server)、メディア記憶装置(格納所)(media storage)、ユーザ装置(user equipment)、およびマルチメディア入力装置を含むことができる。
上記エンコードサーバは、スマートフォン、カメラ(camera)、カムコーダ(camcorder)などのマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを上記ストリーミングサーバに送信する役割を担う。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、上記エンコードサーバは、省略されることができる。
上記ビットストリームは、本文書の実施形態が適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、上記ストリーミングサーバは、上記ビットストリームを送信または受信する過程で一時的に上記ビットストリームを記憶することができる。
上記ストリーミングサーバは、ウェブサーバを介してのユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、上記ウェブサーバは、ユーザにいかなるサービスがあるかを知らせる媒介体の役割を担う。ユーザが上記ウェブサーバに望みのサービスを要求すれば、上記ウェブサーバは、これをストリーミングサーバに伝達し、上記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、上記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、上記制御サーバは、上記コンテンツストリーミングシステム内の各装置間命令/応答を制御する役割を担う。
上記ストリーミングサーバは、メディア記憶装置および/またはエンコードサーバからコンテンツを受信できる。例えば、上記エンコードサーバからコンテンツを受信する場合、上記コンテンツをリアルタイムに受信することができる。この場合、円滑なストリーミングサービスを提供するために、上記ストリーミングサーバは、上記ビットストリームを一定時間の間記憶することができる。
上記ユーザ装置の例では、携帯電話、スマートフォン(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 (9)

  1. デコード装置によって行われる画像デコード方法であって、
    現クロマブロックに対する予測モード情報を有する画像情報を取得するステップと、
    前記予測モード情報に基づいて、複数のクロスコンポーネント線形モデル(Cross-Component Linear Model;CCLM)予測モードのうちの1つを前記現クロマブロックのCCLM予測モードとして導出するステップと、
    記現クロマブロックの幅または高さと、特定値と、に基づいて、前記現クロマブロックの周辺クロマサンプルのサンプル個数を導出するステップと、
    前記サンプル個数の周辺クロマサンプルを導出するステップと、
    現ルマブロックの前記周辺クロマサンプルに関連するダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出するステップと、
    前記周辺クロマサンプルおよび前記ダウンサンプリングされた周辺ルマサンプルに基づいて、CCLMパラメータを計算するステップと、
    前記CCLMパラメータおよび前記ダウンサンプリングされたルマサンプルに基づいて、前記現クロマブロックに対する予測サンプルを導出するステップと、
    前記予測サンプルに基づいて、前記現クロマブロックに対する復元サンプルを生成するステップと、を有し、
    前記特定値は、2に導出され
    前記現クロマブロックの前記幅または高さは、Nであり、
    前記複数のCCLM予測モードは、レフトトップ線形モデル(Linear Model;LM)モード、トップLMモードおよびレフトLMモードを有し、
    Nが前記特定値以下であることに基づいて、前記周辺クロマサンプルのサンプル個数は2Nとして導出され、
    Nが前記特定値より大きいことに基づいて、前記周辺クロマサンプルのサンプル個数は4として導出される、画像デコード方法。
  2. 前記現クロマブロックの前記CCLM予測モードが前記レフトLMモードであることと、Nが前記特定値より大きいことと、に基づいて、前記周辺クロマサンプルは、前記現クロマブロックの4個の左側周辺クロマサンプルを有す、請求項に記載の画像デコード方法。
  3. 前記現クロマブロックの前記CCLM予測モードが前記レフトトップLMモードであることとが前記特定値以下であることと、に基づいて前記周辺クロマサンプルは、前記現クロマブロックのN個の左側周辺クロマサンプルおよびN個の上側周辺クロマサンプルを有する、請求項に記載の画像デコード方法。
  4. 前記予測モード情報は、前記CCLM予測モードのうちの1つを指すインデックス情報を有し、
    前記現クロマブロックの前記CCLM予測モードは、前記インデックス情報に基づいて導出される、請求項に記載の画像デコード方法。
  5. 前記現クロマブロックの前記CCLM予測モードが前記トップLMモードであることと、Nが前記特定値より大きいことと、に基づいて、前記周辺クロマサンプルは、前記現クロマブロックの4個の上側周辺クロマサンプルを有する、請求項1に記載の画像デコード方法。
  6. 前記現クロマブロックの前記CCLM予測モードが前記レフトトップLMモードであることと、Nが前記特定値より大きいことと、に基づいて、前記周辺クロマサンプルは、前記現クロマブロックの2個の左側周辺クロマサンプルと2個の上側周辺クロマサンプルとを有する、請求項1に記載の画像デコード方法。
  7. エンコード装置によって行われる画像エンコード方法であって、
    複数のクロスコンポーネント線形モデル(Cross-Component Linear Model;CCLM)予測モードのうち、現クロマブロックのCCLM予測モードを決定するステップと、
    記現クロマブロックの幅または高さと、特定値と、に基づいて、前記現クロマブロックの周辺クロマサンプルのサンプル個数を導出するステップと、
    前記サンプル個数の周辺クロマサンプルを導出するステップと、
    現ルマブロックの前記周辺クロマサンプルに関連するダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出するステップと、
    前記周辺クロマサンプルおよび前記ダウンサンプリングされた周辺ルマサンプルに基づいて、CCLMパラメータを導出するステップと、
    前記CCLMパラメータおよび前記ダウンサンプリングされたルマサンプルに基づいて、前記現クロマブロックに対する予測サンプルを導出するステップと、
    前記現クロマブロックに対する予測モード情報を有する画像情報をエンコードするステップと、を有し、
    前記特定値は、2に導出され
    前記現クロマブロックの前記幅または高さは、Nであり、
    前記複数のCCLM予測モードは、レフトトップ線形モデル(Linear Model;LM)モード、トップLMモードおよびレフトLMモードを有し、
    Nが前記特定値以下であることに基づいて、前記周辺クロマサンプルのサンプル個数は2Nとして導出され、
    Nが前記特定値より大きいことに基づいて、前記周辺クロマサンプルのサンプル個数は4として導出される、画像エンコード方法。
  8. 前記予測モード情報は、前記CCLM予測モードのうち、前記現クロマブロックの前記CCLM予測モードを指すインデックス情報を有する、請求項に記載の画像エンコード方法。
  9. 画像に関するデータの送信方法であって、
    現クロマブロックに対する予測モード情報を有する画像情報のビットストリームを取得するステップと、
    前記予測モード情報を有する前記画像情報の前記ビットストリームを有する前記データを送信するステップと、を有し、
    前記予測モード情報は、
    複数のクロスコンポーネント線形モデル(Cross-Component Linear Model;CCLM)予測モードのうち、前記現クロマブロックのCCLM予測モードを決定することと、
    前記現クロマブロックの幅または高さと、特定値と、に基づいて、前記現クロマブロックの周辺クロマサンプルのサンプル個数を導出することと、
    前記サンプル個数の周辺クロマサンプルを導出することと、
    現ルマブロックの前記周辺クロマサンプルに関連するダウンサンプリングされた周辺ルマサンプルおよびダウンサンプリングされたルマサンプルを導出することと、
    前記周辺クロマサンプルおよび前記ダウンサンプリングされた周辺ルマサンプルに基づいて、CCLMパラメータを導出することと、
    前記CCLMパラメータおよび前記ダウンサンプリングされたルマサンプルに基づいて、前記現クロマブロックに対する予測サンプルを導出することと、
    前記現クロマブロックに対する予測モード情報を有する画像情報をエンコードすることと、によって生成され、
    前記特定値は、2に導出され、
    前記現クロマブロックの前記幅または高さは、Nであり、
    前記複数のCCLM予測モードは、レフトトップ線形モデル(Linear Model;LM)モード、トップLMモードおよびレフトLMモードを有し、
    Nが前記特定値以下であることに基づいて、前記周辺クロマサンプルのサンプル個数は2Nとして導出され、
    Nが前記特定値より大きいことに基づいて、前記周辺クロマサンプルのサンプル個数は4として導出される、方法。
JP2020533120A 2018-11-23 2019-11-11 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置 Active JP7018139B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022010734A JP7234425B2 (ja) 2018-11-23 2022-01-27 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置
JP2023026311A JP7421673B2 (ja) 2018-11-23 2023-02-22 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862770835P 2018-11-23 2018-11-23
US62/770,835 2018-11-23
PCT/KR2019/015253 WO2020105925A1 (ko) 2018-11-23 2019-11-11 영상 코딩 시스템에서 cclm 예측 기반 영상 디코딩 방법 및 그 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022010734A Division JP7234425B2 (ja) 2018-11-23 2022-01-27 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置

Publications (2)

Publication Number Publication Date
JP2021510245A JP2021510245A (ja) 2021-04-15
JP7018139B2 true JP7018139B2 (ja) 2022-02-09

Family

ID=70773851

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020533120A Active JP7018139B2 (ja) 2018-11-23 2019-11-11 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置
JP2022010734A Active JP7234425B2 (ja) 2018-11-23 2022-01-27 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置
JP2023026311A Active JP7421673B2 (ja) 2018-11-23 2023-02-22 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022010734A Active JP7234425B2 (ja) 2018-11-23 2022-01-27 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置
JP2023026311A Active JP7421673B2 (ja) 2018-11-23 2023-02-22 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置

Country Status (14)

Country Link
US (4) US11012699B2 (ja)
EP (2) EP3709645B1 (ja)
JP (3) JP7018139B2 (ja)
KR (3) KR102637084B1 (ja)
CN (3) CN116939201A (ja)
AU (2) AU2019383886B2 (ja)
BR (3) BR122021014717B1 (ja)
CA (2) CA3213928A1 (ja)
ES (1) ES2934966T3 (ja)
HU (1) HUE060910T2 (ja)
MX (1) MX2020005865A (ja)
PL (1) PL3709645T3 (ja)
TW (2) TWI784561B (ja)
WO (1) WO2020105925A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11178396B2 (en) 2018-11-14 2021-11-16 Tencent America LLC Constrained intra prediction and unified most probable mode list generation
EP3829167A4 (en) * 2018-12-25 2021-08-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. DECODING PREDICTION METHOD AND APPARATUS, AND COMPUTER STORAGE MEDIUM
CN116614633A (zh) * 2019-01-02 2023-08-18 Oppo广东移动通信有限公司 解码预测方法、装置及计算机存储介质
EP3973450A4 (en) * 2019-06-28 2023-02-22 ByteDance Inc. CHROMINANCE INTRA MODE DERIVATION IN SCREEN CONTENT ENCODING
US20220092827A1 (en) * 2020-09-23 2022-03-24 Electronics And Telecommunications Research Institute Method, apparatus, system and computer-readable recording medium for feature information
WO2022191553A1 (ko) * 2021-03-08 2022-09-15 현대자동차주식회사 행렬 기반 크로스 컴포넌트 예측을 이용하는 비디오 코딩방법 및 장치
WO2024080828A1 (ko) * 2022-10-13 2024-04-18 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
CN115988206B (zh) * 2023-03-21 2024-03-26 深圳传音控股股份有限公司 图像处理方法、处理设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180077426A1 (en) 2016-09-15 2018-03-15 Qualcomm Incorporated Linear model chroma intra prediction for video coding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101138392B1 (ko) 2004-12-30 2012-04-26 삼성전자주식회사 색차 성분의 상관관계를 이용한 컬러 영상의 부호화,복호화 방법 및 그 장치
KR102124495B1 (ko) 2010-04-09 2020-06-19 엘지전자 주식회사 비디오 데이터 처리 방법 및 장치
JP2013034163A (ja) * 2011-06-03 2013-02-14 Sony Corp 画像処理装置及び画像処理方法
US9693070B2 (en) * 2011-06-24 2017-06-27 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
TW201309036A (zh) 2011-06-28 2013-02-16 Samsung Electronics Co Ltd 使用亮度成分影像的預測色度成分影像用的裝置與方法
WO2013109898A1 (en) 2012-01-19 2013-07-25 Futurewei Technologies, Inc. Reference pixel reduction for intra lm prediction
US9497465B2 (en) * 2012-06-29 2016-11-15 Electronics And Telecommunications Research Institute Method and device for encoding/decoding images
EP3021578B1 (en) * 2013-07-10 2019-01-02 KDDI Corporation Sub-sampling of reference pixels for chroma prediction based on luma intra prediction mode
US9998742B2 (en) * 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
US10455249B2 (en) * 2015-03-20 2019-10-22 Qualcomm Incorporated Downsampling process for linear model prediction mode
US10873746B2 (en) 2016-12-21 2020-12-22 Sharp Kabushiki Kaisha Intra prediction image generation device using cross-component liner model, image decoding apparatus, and image coding apparatus using same
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
CN117834862A (zh) * 2018-09-20 2024-04-05 Lg电子株式会社 图像解码、编码方法和数据的发送方法及存储介质
KR20210087928A (ko) * 2018-11-06 2021-07-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측을 위한 파라미터 유도의 복잡성 감소

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180077426A1 (en) 2016-09-15 2018-03-15 Qualcomm Incorporated Linear model chroma intra prediction for video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Jangwon Choi, et al.,CE3-related : Reduced number of reference samples for CCLM parameter calculation,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0138-v2,12th Meeting: Macao, CN,2018年10月,pp.1-5
Jangwon Choi, et al.,CE3-related : Reduced number of reference samples for CCLM parameter calculation,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0219-v2,13th Meeting: Marrakech, MA,2019年01月,pp.1-4
Xiang Ma, Haitao Yang, and Jianle Chen,CE3: CCLM/MDLM coefficients derivation method using one luma line buffer (Test 5.5.1 and 5.5.2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0339_r1,12th Meeting: Macao, CN,2018年09月,pp.1-4
Xiang Ma, Haitao Yang, and Jianle Chen,CE3: Multi-directional LM (MDLM) (Test 5.4.1 and 5.4.2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0338_r1,12th Meeting: Macao, CN,2018年09月,pp.1-4

Also Published As

Publication number Publication date
EP3709645B1 (en) 2022-10-19
CA3085391A1 (en) 2020-05-28
CN116939201A (zh) 2023-10-24
EP3709645A4 (en) 2021-07-14
CA3085391C (en) 2023-10-24
TWI732355B (zh) 2021-07-01
JP7234425B2 (ja) 2023-03-07
WO2020105925A1 (ko) 2020-05-28
AU2021206901A1 (en) 2021-08-12
KR102637084B1 (ko) 2024-02-15
TW202027506A (zh) 2020-07-16
TW202143720A (zh) 2021-11-16
US20200296391A1 (en) 2020-09-17
BR112020012022A2 (pt) 2021-06-22
CA3213928A1 (en) 2020-05-28
EP4120680A1 (en) 2023-01-18
KR102524061B1 (ko) 2023-04-21
US20230308665A1 (en) 2023-09-28
TW202308385A (zh) 2023-02-16
US11012699B2 (en) 2021-05-18
US11706426B2 (en) 2023-07-18
EP4120680B1 (en) 2024-01-31
US20220248036A1 (en) 2022-08-04
CN111587574B (zh) 2023-06-16
AU2019383886B2 (en) 2021-04-29
US11956451B2 (en) 2024-04-09
US11412236B2 (en) 2022-08-09
KR20200074218A (ko) 2020-06-24
KR102415322B1 (ko) 2022-06-30
JP2022070864A (ja) 2022-05-13
AU2019383886A1 (en) 2020-06-18
JP2021510245A (ja) 2021-04-15
MX2020005865A (es) 2020-09-09
BR112020012022B1 (pt) 2022-12-06
PL3709645T3 (pl) 2023-02-20
ES2934966T3 (es) 2023-02-28
KR20220098266A (ko) 2022-07-11
KR20230058177A (ko) 2023-05-02
JP7421673B2 (ja) 2024-01-24
US20210176480A1 (en) 2021-06-10
EP3709645A1 (en) 2020-09-16
JP2023054264A (ja) 2023-04-13
TWI784561B (zh) 2022-11-21
CN116916016A (zh) 2023-10-20
AU2021206901B2 (en) 2022-08-04
CN111587574A (zh) 2020-08-25
HUE060910T2 (hu) 2023-04-28
BR122021014717B1 (pt) 2022-12-06
BR122021014718B1 (pt) 2022-12-06

Similar Documents

Publication Publication Date Title
JP7018139B2 (ja) 画像コーディングシステムにおけるcclm予測ベースの画像デコード方法および装置
KR102542002B1 (ko) 영상 코딩 시스템에서 cclm 예측에 기반한 영상 디코딩 방법 및 그 장치
KR20210092308A (ko) 영상 코딩 시스템에서 cclm 예측을 사용하는 영상 디코딩 방법 및 그 장치
KR20210100741A (ko) 영상 코딩 시스템에서 인트라 예측을 사용하는 영상 디코딩 방법 및 그 장치
KR102476272B1 (ko) 영상 코딩 시스템에서 cclm 예측에 기반한 영상 디코딩 방법 및 그 장치
TWI842133B (zh) 用於硬體實施的高效cclm參數導出方法
RU2773521C1 (ru) Способ для декодирования изображения на основе предсказания взаимно-компонентной линейной модели в системе кодирования изображения и устройство для этого
RU2794202C2 (ru) Способ для декодирования изображения на основе предсказания взаимно-компонентной линейной модели в системе кодирования изображения и устройство для этого

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211027

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220128

R150 Certificate of patent or registration of utility model

Ref document number: 7018139

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150