JP2023041886A - 変換係数レベルコーディング方法およびその装置 - Google Patents

変換係数レベルコーディング方法およびその装置 Download PDF

Info

Publication number
JP2023041886A
JP2023041886A JP2023015055A JP2023015055A JP2023041886A JP 2023041886 A JP2023041886 A JP 2023041886A JP 2023015055 A JP2023015055 A JP 2023015055A JP 2023015055 A JP2023015055 A JP 2023015055A JP 2023041886 A JP2023041886 A JP 2023041886A
Authority
JP
Japan
Prior art keywords
flag
transform coefficient
level
parity
flags
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023015055A
Other languages
English (en)
Inventor
チュンカ チェ
Jungah Choi
ソンファン キム
Sung Hwan Kim
ソンミ ユ
Sunmi Yoo
チャンウォン チェ
Jangwon Choi
チン ホ
Jin Heo
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 JP2023041886A publication Critical patent/JP2023041886A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】画像コーディング効率を高める方法および装置を提供する。【解決手段】本開示によるデコード装置により行われる画像デコード方法は、残差情報を有するビットストリームを受信し、残差情報に基づいて変換ブロックに対する複数の変換係数を導出し、複数の変換係数に基づいて変換を行うことによって変換ブロックに対する複数の残差サンプルを導出し、複数の残差サンプルに基づいて復元ピクチャを生成することを有し、変換ブロックのサイズに基づいて閾値を決定し、閾値に基づいてデコードされた1つの変換係数に対する有効係数フラグの値、パリティレベルフラグの値、第1変換係数レベルフラグの値、第2変換係数レベルフラグの値、残りの絶対値シンタックス要素の値およびサインフラグの値に基づいて、1つの変換係数を導出する、ことを特徴とする。【選択図】図9

Description

本開示は、画像コーディング技術に関し、より詳細には、画像コーディングシステムの変換係数レベルコーディング方法およびその装置に関する。
最近、4Kまたは8K以上のUHD(Ultra High Definition)画像/ビデオなどの高解像度、高品質の画像/ビデオに対する需要が多様な分野で増加している。画像/ビデオデータが高解像度、高品質になるほど、既存の画像/ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の記憶(格納)媒体を用いて画像/ビデオデータを記憶する場合、送信コストおよび記憶コストが増加する。
また、最近、VR(Virtual Reality)、AR(Artificial Reality)コンテンツやホログラムなどの没入型(イマーシブ)メディア(Immersive Media)に対する関心および需要が増加しており、ゲーム画像のように現実画像とは異なる画像特性を有する画像/ビデオに関する放送が増加している。
したがって、上記のような様々な特性を有する高解像度高品質の画像/ビデオの情報を効果的に圧縮して送信するか、記憶または再生するために、高効率の画像/ビデオ圧縮技術が要求される。
本開示の技術的課題は、画像コーディング効率を高める方法および装置を提供することにある。
本開示の他の技術的課題は、残差(レジデュアル)コーディングの効率を高める方法および装置を提供することにある。
本開示のさらに他の技術的課題は、変換係数レベルコーディングの効率を高める方法および装置を提供することにある。
本開示のさらに他の技術的課題は、ライスパラメータ(rice parameter)に基づいて残差情報に対して二進化過程(処理)を行って残差コーディング効率を高める方法および装置を提供することにある。
本開示のさらに他の技術的課題は、量子化された変換係数に対する変換係数レベルのパリティ(parity)に関するパリティレベルフラグと変換係数レベルが第1閾(臨界)値より大きいか否かに関する第1変換係数レベルフラグとのデコード手順を決定(または、変更)して、コーディング効率を高める方法および装置を提供することにある。
本開示のさらに他の技術的課題は、残差情報に含まれる、現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和を所定の閾値以下に制限して、コーディング効率を高める方法および装置を提供することにある。
本開示のさらに他の技術的課題は、残差情報に含まれる、現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和を所定の閾値以下に制限して、コンテキストに基づいてコーディングされるデータを減少させる方法および装置を提供することにある。
本開示の一実施形態によれば、デコード装置により行われる画像デコード方法が提供される。方法は、残差情報を有するビットストリームを受信するステップと、ビットストリームに有される残差情報に基づいて現ブロックに対する量子化された変換係数を導出するステップと、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出するステップと、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成するステップと、を有し、残差情報は、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグとを有し、量子化された変換係数を導出するステップは、第1変換係数レベルフラグをデコードし、パリティレベルフラグをデコードするステップと、デコードされたパリティレベルフラグの値およびデコードされた第1変換係数レベルフラグの値に基づいて量子化された変換係数を導出するステップと、を有し、第1変換係数レベルフラグをデコードするステップは、パリティレベルフラグをデコードするステップより先に行われることを特徴とする。
本開示の他の一実施形態によれば、画像デコードを行うデコード装置が提供される。デコード装置は、残差情報を有するビットストリームを受信し、ビットストリームに有される残差情報に基づいて現ブロックに対する量子化された変換係数を導出するエントロピデコード部と、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出する逆変換部と、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成する加算部と、を有し、残差情報は、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグとを有し、エントロピデコード部により行われる量子化された変換係数を導出することは、第1変換係数レベルフラグをデコードし、パリティレベルフラグをデコードすることと、デコードされたパリティレベルフラグの値およびデコードされた第1変換係数レベルフラグの値に基づいて量子化された変換係数を導出することと、を有し、第1変換係数レベルフラグをデコードすることは、パリティレベルフラグをデコードすることより先に行われることを特徴とする。
本開示のさらに他の実施形態によれば、エンコード装置により行われる画像エンコード方法が提供される。方法は、現ブロックに対する残差サンプルを導出するステップと、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出するステップと、量子化された変換係数に関する情報を有する残差情報をエンコードするステップと、を有し、残差情報は、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグとを有し、残差情報をエンコードするステップは、量子化された変換係数に基づいてパリティレベルフラグの値および第1変換係数レベルフラグの値を導出するステップと、第1変換係数レベルフラグをエンコードし、パリティレベルフラグをエンコードするステップと、を有し、第1変換係数レベルフラグをエンコードするステップは、パリティレベルフラグをエンコードするステップより先に行われることを特徴とする。
本開示のさらに他の実施形態によれば、画像エンコードを行うエンコード装置が提供される。エンコード装置は、現ブロックに対する残差サンプルを導出する減算部と、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出する量子化部と、量子化された変換係数に関する情報を有する残差情報をエンコードするエントロピエンコード部と、を有し、残差情報は、量子化された変換係数レベルに対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグとを有し、エントロピエンコード部により行われる残差情報をエンコードすることは、量子化された変換係数に基づいてパリティレベルフラグの値および第1変換係数レベルフラグの値を導出することと、第1変換係数レベルフラグをエンコードし、パリティレベルフラグをエンコードすることと、を有し、第1変換係数レベルフラグをエンコードすることは、パリティレベルフラグをエンコードすることより先に行われることを特徴とする。
本開示のさらに他の実施形態によれば、ビデオデコード装置が一部の実施形態によるデコード方法を行うようにする指示(instructions)に関する情報を記憶する、デコーダで読み取り可能な記憶媒体が提供される。
本開示のさらに他の実施形態によれば、ビデオデコード装置が一実施形態によるデコード方法を行うようにする指示に関する情報を記憶する、デコーダで読み取り可能な記憶媒体が提供される。一実施形態によるデコード方法は、残差情報を有するビットストリームを受信するステップと、ビットストリームに有される残差情報に基づいて現ブロックに対する量子化された変換係数を導出するステップと、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出するステップと、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成するステップと、を有し、残差情報は、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグとを有し、量子化された変換係数を導出するステップは、第1変換係数レベルフラグをデコードし、パリティレベルフラグをデコードするステップと、デコードされたパリティレベルフラグの値およびデコードされた第1変換係数レベルフラグの値に基づいて量子化された変換係数を導出するステップと、を有し、第1変換係数レベルフラグをデコードするステップは、パリティレベルフラグをデコードするステップより先に行われることを特徴とする。
本開示によれば、全般的な画像/ビデオの圧縮効率を高めることができる。
本開示によれば、残差コーディングの効率を高めることができる。
本開示によれば、ライスパラメータに基づいて残差情報に対して二進化過程を行って残差コーディング効率を高めることができる。
本開示によれば、変換係数レベルコーディングの効率を高めることができる。
本開示によれば、ライスパラメータに基づいて残差情報に対して二進化過程を行って残差コーディング効率を高めることができる。
本開示によれば、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグとのデコード順序を決定(または、変更)してコーディング効率を高めることができる。
本開示によれば、残差情報に含まれる、現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和を所定の閾値以下に制限して、コーディング効率を高めることができる。
本開示によれば、残差情報に含まれる、現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和を所定の閾値以下に制限して、コンテキストに基づいてコーディングされるデータを減少させることができる。
本開示が適用されることができるビデオ/画像コーディングシステムの例を概略的に示す図である。 本開示が適用されることができるビデオ/画像エンコード装置の構成を概略的に説明する図である。 本開示が適用されることができるビデオ/画像デコード装置の構成を概略的に説明する図である。 一実施形態によるCABACエンコードシステムのブロック図を示す図である。 4×4ブロック内の変換係数の例を示す図である。 2×2ブロック内の変換係数の例を示す図である。 一実施形態によるエンコード装置の動作を示すフローチャートである。 一実施形態によるエンコード装置の構成を示すブロック図である。 一実施形態によるデコード装置の動作を示すフローチャートである。 一実施形態によるデコード装置の構成を示すブロック図である。 本文書において開示された発明が適用されることができるコンテンツストリーミングシステムの例を示す図である。
本開示の一実施形態によると、デコード装置により行われる画像デコード方法が提供される。上記方法は、残差情報を含むビットストリームを受信するステップと、上記ビットストリームに含まれる上記残差情報に基づいて現ブロックに対する量子化された変換係数を導出するステップと、逆量子化過程(inverse quantization process)に基づいて上記量子化された変換係数から上記現ブロックに対する変換係数を導出するステップと、上記導出された変換係数に逆変換(inverse transform)を適用して上記現ブロックに対する残差サンプルを導出するステップと、上記現ブロックに対する上記残差サンプルに基づいて復元ピクチャを生成するステップと、を含むものの、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティに対するパリティレベルフラグおよび上記変換係数レベルが第1閾値より大きいか否かに対する第1変換係数レベルフラグを含み、上記量子化された変換係数を導出するステップは、上記第1変換係数レベルフラグをデコードし、上記パリティレベルフラグをデコードするステップと、上記デコードされたパリティレベルフラグの値および上記デコードされた第1変換係数レベルフラグの値に基づいて上記量子化された変換係数を導出するステップと、を含み、上記第1変換係数レベルフラグをデコードするステップは、上記パリティレベルフラグをデコードするステップより先に行われることを特徴とする。
[発明の実施のための最良の形態]
本開示は、様々な変更を加えることができ、様々な実施形態を有することができるため、特定の実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本開示を特定の実施形態に限定しようとするものではない。本明細書において常用する用語は、単に特定の実施形態を説明するために用いられるものであって、本開示の技術的な思想を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」または「有する」などの用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するものであって、1つもしくは複数の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれを組み合わせたものなどの存在または付加の可能性を予め排除しないものとして理解しなければならない。
一方、本開示において説明される図面上の各構成は、相異なる特徴的な機能に関する説明の便宜のために独立して示されたものであって、各構成が互いに別個のハードウェアまたは別個のソフトウェアで実現されることを意味するものではない。例えば、各構成のうちの2つ以上の構成が結合されて1つの構成をなすこともでき、1つの構成を複数の構成に分けることもできる。各構成が統合および/または分離された実施例も本発明の本質から外れない限り、本発明の権利範囲に含まれる。
以下、添付の図面を参照して、本開示の好ましい実施形態をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複する説明は省略する。
図1は、本開示を適用できるビデオ/画像コーディングシステムの例を概略的に示す。
この文書は、ビデオ/画像コーディングに関する。例えば、この文書に開示された方法/実施形態は、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)。この文書において、タイルグループとスライスとは混用されてもよい。例えば、本文書においては、タイルグループ/タイルグループヘッダは、スライス/スライスヘッダと呼ばれてもよい。
ピクセル(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つ」を意味する。
Figure 2023041886000002
追加的に、本文書において、「または」は、「および/または」と解釈される。例えば、「AまたはB」は、1)「A」のみを意味するか、2)「B」のみを意味するか、3)「AおよびB」を意味し得る。言い換えると、本文書の「または」は「追加的にまたは代替的に(additionally or alternatively)」を意味し得る。
Figure 2023041886000003
図1に示すように、ビデオ/画像コーディングシステムは、第1装置(ソースデバイス)および第2装置(受信デバイス)を含む。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミングの形態でデジタル記憶媒体またはネットワークを介して受信デバイスに伝達する。
上記ソースデバイスは、ビデオソース、エンコード装置、送信部を含む。上記受信デバイスは、受信部、デコード装置およびレンダラを含む。上記エンコード装置は、ビデオ/画像エンコード装置と呼ばれてもよく、上記デコード装置は、ビデオ/画像デコード装置と呼ばれてもよい。送信部は、エンコード装置に含まれてもよい。受信部は、デコード装置に含まれてもよい。レンダラは、ディスプレイ部を含んでもよく、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されてもよい。
ビデオソースは、ビデオ/画像のキャプチャ、合成または生成過程などにより、ビデオ/画像を取得する。ビデオソースは、ビデオ/画像キャプチャデバイスおよび/またはビデオ/画像生成デバイスを含んでもよい。ビデオ/画像キャプチャデバイスは、例えば、1つまたは複数のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含む。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレットおよびスマートフォンなどを含み、(電子的に)ビデオ/画像を生成する。例えば、コンピュータなどにより仮想のビデオ/画像が生成され、この場合、関連データが生成される過程がビデオ/画像キャプチャ過程に代わってもよい。
エンコード装置は、入力ビデオ/画像をエンコードする。エンコード装置は、圧縮およびコーディング効率のために予測、変換、量子化などの一連の手順を行う。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bit stream)の形態で出力される。
送信部は、ビットストリームの形態で出力されたエンコードされたビデオ/画像情報またはデータを、ファイルまたはストリーミングの形態でデジタル記憶媒体またはネットワークを介して受信デバイスの受信部に伝達する。デジタル記憶媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなどの多様な記憶媒体を含む。送信部は、予め定められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含んでもよく、放送/通信ネットワークを介する送信のためのエレメントを含んでもよい。受信部は、上記ビットストリームを受信/抽出してデコード装置に伝達する。
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ/画像をデコードする。
レンダラは、デコードされたビデオ/画像をレンダリングする。レンダリングされたビデオ/画像は、ディスプレイ部を介して表示される。
図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)深さ(depth)の複数のコーディングユニットに分割される。この場合、例えば、四分木構造が先に適用され、二分木構造および/または三分木構造が後で適用されてもよい。あるいは、二分木構造が先に適用されてもよい。これ以上の分割されない最終コーディングユニットに基づいて、本開示によるコーディング手順が行われることができる。この場合、画像特性によるコーディング効率などに基づいて、最大コーディングユニットが直ちに最終コーディングユニットとして使用され、または、必要に応じて、コーディングユニットは、再帰的に(recursively)より下位の深さ(depth)のコーディングユニットに分割されて、最適なサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順は、後述する予測、変換、および復元などの手順を含む。他の例として、上記処理ユニットは、予測ユニット(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つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用できる。これは、CIIP(Combined Inter and Intra Prediction)と呼ばれる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(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とデコード装置とにおいての予測ミスマッチを避けることができ、符号化効率も向上させることができる。
メモリ270のDPBは、修正された復元ピクチャをインター予測部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エントロピデコード方法は、ビットストリームにおいて各シンタックス要素に該当するビンを受信し、デコード対象シンタックス要素情報と周辺およびデコード対象ブロックのデコード情報または以前の段階でデコードされたシンボル/ビンの情報を利用してコンテキストモデルを決定し(determine a context model using a decoding target syntax element information, decoding information of a decoding target block or information of a symbol/bin decoded in a previous stage)、決定されたコンテキストモデルに応じてビン(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つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、CIIP(Combined Inter and Intra Prediction)と呼ばれてもよい。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(Intra Block Copy:IBC)予測モードに基づくこともでき、またはパレットモードに基づくこともできる。上記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は、一実施形態によるCABACエンコードシステムのブロック図を示す図である。
図4に示すように、単一の構文要素を符号化するためのCABACのブロック図が示される。CABACの符号化の過程において、入力信号が二進値ではない構文要素である場合、二進化により入力信号を二進値に変換することができる。入力信号が既に二進値である場合は、二進化を経ずにバイパスされることができる。ここで、二進値を構成するそれぞれの二進数0または1をビン(bin)と呼んでもよい。例えば、二進化された後の二進ストリングが110である場合、1、1、0のそれぞれを1つのビンと呼ぶことができる。
二進化されたビンは、正規(regular)符号化エンジンまたはバイパス符号化エンジンに入力される。正規符号化エンジンは、当該ビンに対して確率値を反映するコンテキスト(文脈)モデルを割り当て、割り当てられたコンテキストモデルに基づいて当該ビンを符号化する。正規符号化エンジンにおいては、各ビンに対する符号化を行った後、当該ビンに対する確率モデルを更新することができる。このように符号化されるビンをコンテキスト符号化ビン(context-coded bin)という。バイパス符号化エンジンは、入力されたビンに対して確率を推定する手順と、符号化後に当該ビンに適用した確率モデルを更新する手順と、を省略することができる。コンテキストを割り当てる代わりに均一な確率分布を適用して入力されるビンを符号化することにより符号化速度を向上させることができる。このように符号化されるビンを「バイパスビン(bypass bin)」という。
エントロピ符号化は、正規符号化エンジンにより符号化を行うか、バイパス符号化エンジンにより符号化を行うか、を決定し、符号化経路を切り替えることができる。エントロピ復号は、符号化と同一の過程を逆順で行うことができる。
一実施形態において、(量子化された)変換係数は、transform_skip_flag、last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、coded_sub_block_flag、sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flag、mts_idxなどのシンタックス要素(syntax elements)に基づいて、符号化および/または復号されることができる。下記の表1は、残差データ符号化に関連するシンタックス要素を示す。
[表1]
Figure 2023041886000004
Figure 2023041886000005
Figure 2023041886000006
Figure 2023041886000007
transform_skip_flagは、関連するブロック(associated block)において変換が省略されるか否かを示す。上記関連するブロックは、CB(Coding Block)またはTB(Transform Block)であり得る。変換(および量子化)ならびに残差コーディング手順に関して、CBとTBとは混用されてもよい。例えば、CBに対して残差サンプルが導出され、上記残差サンプルに対する変換および量子化により(量子化された)変換係数が導出されることができることは前述の通りであり、残差コーディング手順により上記(量子化された)変換係数の位置、サイズ、符号などを効率的に示す情報(例えば、シンテクス要素)が生成され、シグナリングされることができる。量子化された変換係数は、簡単に変換係数と呼ばれてもよい。一般に、CBが最大TBより大きくない場合、CBのサイズはTBのサイズと同一であり、この場合、変換(および量子化)ならびに残差コーディングされる対象ブロックは、CBまたはTBと呼ばれてもよい。一方、CBが最大TBより大きい場合、変換(および量子化)ならびに残差コーディングされる対象ブロックは、TBと呼ばれてもよい。以下、残差コーディングに関連するシンタックス要素が変換ブロック(TB)単位でシグナリングされると説明するが、これは例であって、上記TBがコーディングブロック(CB)と混用できることは前述の通りである。
一実施形態において、シンタックス要素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffixおよびlast_coeff_y_suffixに基づいて、変換ブロック内の最後の0でない変換係数の(x,y)位置情報を符号化することができる。より具体的には、last_sig_coeff_x_prefixは、変換ブロック内のスキャン順序(scanning order)における最後(last)の有効係数(significant coefficient)の列位置(column position)のプリフィックス(prefix)を示し、last_sig_coeff_y_prefixは、変換ブロック内の上記スキャン順序(scanning order)における最後(last)の有効係数(significant coefficient)の行位置(row position)のプリフィックス(prefix)を示し、last_sig_coeff_x_suffixは、上記変換ブロック内の上記スキャン順序(scanning order)における最後(last)の有効係数(significant coefficient)の列位置(column position)のサフィックス(suffix)を示し、last_sig_coeff_y_suffixは、上記変換ブロック内の上記スキャン順序(scanning order)における最後(last)の有効係数(significant coefficient)の行位置(row position)のサフィックス(suffix)を示す。ここで、有効係数は、上記0ではない係数を示すことができる。上記スキャン順序は、右上向対角スキャン順序であり得る。あるいは、上記スキャン順序は、水平スキャン順序、または垂直スキャン順序であり得る。上記スキャン順序は、対象ブロック(CB、もしくはTBを含むCB)にイントラ/インター予測が適用されるか否かならびに/または具体的なイントラ/インター予測モードに基づいて決定できる。
次に、変換ブロックを4×4サブブロック(sub-block)に分割した後、各4×4サブブロックごとに1ビットのシンタックス要素coded_sub_block_flagを使用して現サブブロック内に0でない係数が存在するか否か示すことができる。
coded_sub_block_flagの値が0である場合、それ以上送信する情報がないので、現サブブロックに対する符号化過程を終了することができる。逆に、coded_sub_block_flagの値が1である場合、sig_coeff_flagに対する符号化過程を継続して行うことができる。最後の0でない係数を含むサブブロックは、coded_sub_block_flagに対する符号化が不要であり、変換ブロックのDC情報を含んでいるサブブロックは0でない係数を含む確率が高いので、coded_sub_block_flagは、符号化されずにその値が1であると仮定されることができる。
coded_sub_block_flagの値が1であるため、現サブブロック内に0でない係数が存在すると判断される場合、逆にスキャンされた順序に従って二進値を有するsig_coeff_flagを符号化することができる。スキャン順序に従って、それぞれの係数に対して1ビットシンタックス要素sig_coeff_flagを符号化することができる。現在スキャン位置において変換係数の値が0でない場合、sig_coeff_flagの値は1になり得る。ここで、最後の0でない係数を含んでいるサブブロックの場合、最後の0でない係数に対してはsig_coeff_flagを符号化する必要がないので、上記サブブロックに対する符号化過程が省略されてもよい。sig_coeff_flagが1である場合にのみレベル情報符号化が実行でき、レベル情報符号化の過程には4つのシンタックス要素を使用することができる。より具体的には、各sig_coeff_flag[xC][yC]は、現TB内の各変換係数位置(xC,yC)における当該変換係数のレベル(値)が0でないか(non-zero)か否かを示すことができる。一実施形態において、上記sig_coeff_flagは、量子化された変換係数が0ではない有効係数であるか否かを示す有効係数フラグの一例に該当し得る。
sig_coeff_flagに対する符号化以後の残りのレベル値は、下記の数式1の通りである。すなわち、符号化すべきレベル値を示すシンタックス要素remAbsLevelは、下記の数式1の通りである。ここで、coeffは、実際の変換係数値を意味する。
[数式1]
remAbsLevel = |coeff| - 1
par_level_flagにより、下記の数式2のように、数式1に記載されたremAbsLevelのleast significant coefficient(LSB)値を符号化することができる。ここで、par_level_flag[n]は、スキャン位置nにおける変換係数レベル(値)のパリティ(parity)を示すことができる。par_leve_flagの符号化後に符号化すべき変換係数レベル値remAbsLevelを、下記の数式3のようにアップデートすることができる。
[数式2]
par_level_flag = remAbsLevel & 1
[数式3]
remAbsLevel’ = remAbsLevel >> 1
rem_abs_gt1_flagは、当該スキャン位置(n)におけるremAbsLevel’が1より大きいか否かを、rem_abs_gt2_flagは、当該スキャン位置(n)におけるremAbsLevel’が2より大きいか否かを示すことができる。rem_abs_gt2_flagが1である場合にのみ、abs_remainderに対する符号化が行われることができる。実際の変換係数値であるcoeffと各シンタックス要素との関係を整理すると、例えば、下記の数式4の通りであり、下記の表2は、数式4に関連する例を示す。また、各係数の符号は、1ビットシンボルであるcoeff_sign_flagを用いて符号化できる。|coeff|は、変換係数レベル(値)を示し、変換係数に対するAbsLevelとして表されてもよい。
[数式4]
| coeff | = sig_coeff_flag + par_level_flag + 2 * (rem_abs_gt1_flag + rem_abs_gt2_flag + abs_remainder)
Figure 2023041886000008
一方、一実施形態において、上記par_level_flagは、上記量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグの一例を示し、上記rem_abs_gt1_flagは、変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグの一例を示し、上記rem_abs_gt2_flagは、変換係数レベルが第2閾値より大きいか否かに関する第2変換係数レベルフラグの一例を示す。
また、他の一実施形態において、rem_abs_gt2_flagは、rem_abs_gt3_flagと呼ばれてもよく、さらに他の実施形態においては、rem_abs_gt1_flagおよびrem_abs_gt2_flagが、abs_level_gtx_flag[n][j]に基づいて現れることもできる。abs_level_gtx_flag[n][j]は、スキャン位置nにおいて変換係数レベル(または、変換係数レベルを右側に1だけシフトした値)の絶対値が(j<<1)+1より大きいか否かを示すフラグであり得る。一例において、上記rem_abs_gt1_flagは、abs_level_gtx_flag[n][0]と同一および/または類似の機能を行うことができ、上記rem_abs_gt2_flagは、abs_level_gtx_flag[n][1]と同一および/または類似の機能を行うことができる。すなわち、上記abs_level_gtx_flag[n][0]は、上記第1変換係数レベルフラグの一例に該当し、上記abs_level_gtx_flag[n][1]は、上記第2変換係数レベルフラグの一例に該当し得る。上記(j<<1)+1は、場合によって、第1閾値、第2閾値などの所定の閾値に代替されてもよい。
図5は、4×4ブロック内の変換係数の例を示す図である。
図5の4×4ブロックは、量子化された係数の一例を示す。図5に示すブロックは、4×4変換ブロックであるか、または、8×8、16×16、32×32、64×64変換ブロックの4×4サブブロックであり得る。図5の4×4ブロックは、輝度ブロックまたは色差ブロックを示すことができる。図5の逆対角線スキャンされる係数に対する符号化の結果は、例えば、表3の通りである。表3において、scan_posは、逆対角線スキャンによる係数の位置を示す。scan_pos15は、4×4ブロックにおいて1番目にスキャンされる、すなわち、右側下端コーナの係数であり、scan_pos0は、最後にスキャンされる、すなわち、左側上端コーナの係数を示す。一方、一実施形態において、上記scan_posは、スキャン位置と称されてもよい。例えば、上記scan_pos0は、スキャン位置0と称されてもよい。
Figure 2023041886000009
表1で説明したように、一実施形態において、4×4サブブロック単位の主要なシンタックス要素(syntax element)は、sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flagなどを含む。このうち、sig_coeff_flag、par_level_flag、rem_abs_gt1_flagおよびrem_abs_gt2_flagは、正規符号化エンジンを用いて符号化されるコンテキスト符号化ビンを示し、abs_remainderおよびcoeff_sign_flagは、バイパス符号化エンジンを用いて符号化されるバイパスビンを示す。
コンテキスト符号化ビンは、以前のビンを処理しながらアップデートした確率状態および範囲を使用するため、高いデータ依存性を示すことができる。すなわち、コンテキスト符号化ビンは、現ビンの符号化/復号が全て行われた後に次のビンの符号化/復号を行うことができるため、並列処理が難しい場合がある。また、確率区間を読み出して現在の状態を判断するためにも、多くの時間を必要とすることがある。したがって、一実施形態においては、コンテキスト符号化ビンの数を減少させ、バイパスビン数を増加させることにより、CABAC処理量を向上させる方法が提案される。
一実施形態において、係数レベル情報は、逆スキャン順序で符号化できる。すなわち、単位ブロックの右側下端の係数から開始して左側上端方向にスキャンされた後に符号化される。一例において、逆スキャン順序で先にスキャンされる係数レベルは、小さい値を示すことができる。このような先にスキャンされる係数に対するpar_level_flag、rem_abs_gt1_flagおよびrem_abs_gt2_flagをシグナリングすることは、係数レベルを示すための二進化ビンの長さを減少させることができ、各シンタックス要素は、定められたコンテキストを用いて、以前に符号化されたコンテキスト(context)に基づいて算術符号化(arithmetic coding)により効率的に符号化できる。
しかしながら、一部の大きな値を有する係数レベル、すなわち、単位ブロックの左側上端に位置する係数レベルの場合、par_level_flag、rem_abs_gt1_flagおよびrem_abs_gt2_flagをシグナリングすることが圧縮性能の向上に役立たない可能性もある。par_level_flag、rem_abs_gt1_flagおよびrem_abs_gt2_flagを用いることが符号化効率を低下させる可能性もある。
一実施形態においては、コンテキスト符号化ビンで符号化されるシンタックス要素(par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag)を、バイパス符号化エンジンを用いて符号化される、すなわち、バイパスビンで符号化される、abs_remainderシンタックス要素に迅速に切り替えることにより、コンテキスト符号化ビンの数を減少させることができる。
一実施形態において、rem_abs_gt2_flagに対する符号化を行う係数の個数を制限することができる。4×4ブロック内の明示的に符号化されるrem_abs_gt2_flagの個数は、最大16個となり得る。すなわち、係数の絶対値が2より大きい全ての係数に対してrem_abs_gt2_flagが符号化されることもあるが、一実施形態においては、スキャン順序に従って、2より大きな絶対値を有する(すなわち、rem_abs_gt1_flagが1である係数)最初のN個の係数に対してのみ、rem_abs_gt2_flagを符号化することができる。Nは、符号化器により選択されてもよく、0から16までの任意の値で設定されてもよい。表4は、Nが1であるとき、上記一実施形態の適用例を示す。一実施形態によれば、4×4ブロックにおいて、下記の表4にXと示された個数の分だけrem_abs_gt2_flagに対する符号化の回数を減少させることができ、したがって、コンテキスト符号化ビンの個数を減少させることができる。rem_abs_gt2_flagに対する符号化が行われないスキャン位置に対して係数のabs_remainder値を表3と比較するとき、下記の表4のように変更される。
Figure 2023041886000010
一実施形態において、rem_abs_gt1_flagに対する符号化を行う係数の個数が制限される。4×4ブロック内の明示的に符号化されるrem_abs_gt2_flagの個数は、最大16個となり得る。すなわち、係数の絶対値が0より大きい全ての係数に対してrem_abs_gt1_flagが符号化されるが、一実施形態においては、スキャン順序に従って0より大きい絶対値を有する最初のM個の係数(すなわち、sig_coeff_flagが1である係数)に対してのみ、rem_abs_gt1_flagを符号化することができる。Mは、符号化器により選択されることもでき、0から16までの任意の値で設定されることもできる。表5は、Mが4であるときの上記一実施形態の適用例を示す。rem_abs_gt1_flagが符号化されない場合、rem_abs_gt2_flagも符号化されないので、上記一実施形態によれば、4×4ブロックにおいてXと示された個数の分だけrem_abs_gt1_flagに対する符号化回数を減少させることができ、したがって、コンテキスト符号化ビンの個数を減少させることができる。rem_abs_gt1_flagに対する符号化が行われないスキャン位置に対して、係数のrem_abs_gt2_flagおよびabs_remainderの値を表3と比較すると、下記の表6のように変更される。表6は、Mが8であるときの上記一実施形態の適用例を示す。
Figure 2023041886000011
Figure 2023041886000012
一実施形態においては、rem_abs_gt1_flagおよびrem_abs_gt2_flagの個数をそれぞれ制限する前述の実施形態が結合されることができる。rem_abs_gt1_flagの個数制限を示すMとrem_abs_gt2_flagの個数制限を示すNとは、両方とも0から16の値を有してもよいが、NはMと同一であるかNより小さくてもよい。表7は、Mが8、Nが1であるときの本実施形態の適用例を示す。Xとマークされた位置において、当該シンタックス要素の符号化が行われないので、コンテキスト符号化ビンの個数を減らすことができる。
Figure 2023041886000013
一実施形態において、par_level_flagに対する符号化を行う係数の個数が制限されることがある。4×4ブロック内の明示的に符号化されるpar_level_flagの個数は、最大16個となり得る。すなわち、係数の絶対値が0より大きい全ての係数に対してpar_level_flagが符号化されることができるが、一実施形態においては、スキャン順序に従って0より大きな絶対値を有する最初のL個の係数(すなわち、sig_coeff_flagが1である係数)に対してのみ、par_level_flagを符号化することができる。Lは、符号化器により選択されることもでき、0から16までの任意の値で設定されることもできる。表8は、Lが8であるときの上記一実施形態の適用例を示す。上記実施形態によれば、4×4ブロックにおいてXと示された個数の分だけpar_level_flagに対する符号化の回数を減少させることができ、したがって、コンテキスト符号化ビンの個数を減少させることができる。par_level_flagに対する符号化が行われないスキャン位置に対して、係数のrem_abs_gt1_flag、rem_abs_gt2_flagおよびabs_remainderの値を表3と比較すると、下記の表8のように変更される。
Figure 2023041886000014
一実施形態においては、par_level_flagおよびrem_abs_gt2_flagの個数をそれぞれ制限する前述の実施形態が結合されることができる。par_level_flagの個数制限を示すLとrem_abs_gt2_flagの個数制限を示すNとは、両方とも0から16の値を有することができる。表9は、Lが8、Nが1であるときの本実施形態の適用例を示す。Xとマークされた位置において当該シンタックス要素の符号化が行われないので、コンテキスト符号化ビンの個数を減らすことができる。
Figure 2023041886000015
一実施形態においては、par_level_flagおよびrem_abs_gt1_flagの個数をそれぞれ制限する前述の実施形態が結合されることができる。par_level_flagの個数制限を示すLとrem_abs_gt1_flagの個数制限を示すMとは、両方とも0から16の値を有することができる。表10は、Lが8、Mが8であるときの本実施形態の適用例を示す。Xとマークされた位置において当該シンタックス要素の符号化が行われないので、コンテキスト符号化ビンの個数を減らすことができる。
Figure 2023041886000016
一実施形態においては、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flagの個数をそれぞれ制限する前述の実施形態が結合されることができる。par_level_flagの個数制限を示すL、rem_abs_gt1_flagの個数制限を示すMおよびrem_abs_gt2_flagの個数制限を示すNは、全て0から16の値を有することができるが、NはMと同一であるか、Mより小さい。表11は、Lが8、Mが8、Nが1であるときの本実施形態の適用例を示す。Xとマークされた位置において当該シンタックス要素の符号化が行われないので、コンテキスト符号化ビンの個数を減らすことができる。
Figure 2023041886000017
一実施形態において、sig_coeff_flag、par_level_flagおよびrem_abs_gt1_flagの個数の和を制限する方法が提案される。sig_coeff_flag、par_level_flagおよびrem_abs_gt1_flagの個数の和をKに制限するとき、Kは、0から48の値を有することができる。本実施形態においては、sig_coeff_flag、par_level_flagおよびrem_abs_gt1_flagの個数の和がKを超えてsig_coeff_flag、par_level_flagおよびrem_abs_gt1_flagに対する符号化が行われない場合、rem_abs_gt2_flagも符号化されないことがある。表12は、Kを30に制限した場合を示す。
Figure 2023041886000018
一実施形態において、sig_coeff_flag、par_level_flag、rem_abs_gt1_flagの数の和を制限する方法と、前述のrem_abs_gt2_flagの数を制限する方法と、を結合することもできる。sig_coeff_flag、par_level_flag、rem_abs_gt1_flagの数の和をKに制限し、rem_abs_gt2_flagの数をNに制限するとき、Kは0から48の値を、Nは0から16の値を有することができる。表13は、Kを30に、Nを2に制限した場合を示す。
Figure 2023041886000019
一実施形態においては、par_level_flag、rem_abs_gt1_flagの順に符号化が行われることができるが、本開示による一実施形態においては、符号化順序を変更して、rem_abs_gt1_flag、par_level_flagの順に符号化が行われることもできる。このように、par_level_flagとrem_abs_gt1_flagとの符号化順序を変更すると、sig_coeff_flagが符号化された後にrem_abs_gt1_flagが符号化され、rem_abs_gt1_flagが1であるときにのみpar_level_flagが符号化される。したがって、実際の変換係数値であるcoeffと各シンタックス要素との関係は、下記の数式5のように変更されることができる。下記の表14は、par_level_flagとrem_abs_gt1_flagとの符号化順序が変更された場合に関する一例を示す。上記表2と比較すると、下記の表14においては、|coeff|が1である場合にpar_leve_flagが符号化されなくて、処理量および符号化の面で利点があり得る。もちろん、表14において、|coeff|が2である場合、表2とは異なって、rem_abs_gt2_flagが符号化される必要があり、|coeff|が4である場合、表2と異なって、abs_remainderが符号化される必要があるが、|coeff|が1である場合が|coeff|が2又が4である場合より多く発生する可能性があるので、表14によれば、表2に比較してより高い処理量および符号化性能を示すことができる。図5のような4×4サブブロックを符号化した結果は、下記の表15の通りである。
[数式5]
| coeff | = sig_coeff_flag + rem_abs_gt1_flag + par_level_flag + 2 * (rem_abs_gt2_flag + abs_remainder)
Figure 2023041886000020
Figure 2023041886000021
一実施形態において、sig_coeff_flag、rem_abs_gt1_flag、par_level_flag、rem_abs_gt2_flag、abs_remainder、coeff_sig_flagの順に符号化を行うとき、sig_coeff_flag、rem_abS_gt1_flagおよびpar_level_flagの個数の和を制限する方法が提案される。sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和がKに制限される場合、Kは、0から48の値を有することができる。本実施形態においては、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagがそれ以上符号化されないとき、rem_abs_gt2_flagも符号化されない可能性がある。表16は、Kを25に制限した場合を示す。
Figure 2023041886000022
一実施形態において、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagは、(残差)シンタックス内の1つのforループ(loop)内で符号化されることができる。3つのシンタックス要素(sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flag)の個数の和がKを超えなくて、上記3つのシンタックス要素の個数の和がKと正確に一致しなくても、同一のスキャン位置で符号化を止めることができる。下記の表17は、Kを27に制限した場合を示す。スキャン位置3まで符号化を行ったとき、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和は、25である。Kを超えない値であるが、このとき、エンコード装置において次のスキャン位置であるscan_pos2の係数レベルの値が分からないため、scan_pos2で発生するコンテキスト符号化ビンの個数が1から3のいずれの値を有するか分からない。したがって、エンコード装置は、scan_pos3までのみ符号化し、符号化を終了することができる。K値は異なるが、符号化結果は、上記表16と下記の表17とで同一であり得る。
Figure 2023041886000023
一実施形態において、par_level_flagとrem_abs_gt1_flagとの符号化順序を変更するものの、rem_abs_gt2_flagの個数を制限する方法が提案される。すなわち、sig_coeff_flag、rem_abs_gt1_flag、par_level_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flagの順に符号化を行うものの、rem_abs_gt2_flagで符号化される係数の個数が制限される。
4×4ブロック内の明示的に符号化するrem_abs_gt2_flagの最大個数は、16である。すなわち、係数の絶対値が2より大きい全ての係数に対してrem_abs_gt2_flagが符号化されることができる。これとは異なって、本実施形態においては、スキャン順序に従って2より大きな絶対値を有する最初のN個の係数(すなわち、rem_abs_gt1_flagが1である係数)に対してのみrem_abs_gt2_flagを符号化することができる。Nは、符号化器により選択されることもでき、0から16までの任意の値で設定されることもできる。下記の表18は、Nが1であるときの本実施形態の適用例を示す。4×4ブロックにおいてXと示された個数の分だけrem_abs_gt2_flagに対する符号化回数を減少させることができ、したがって、コンテキスト符号化ビンの個数を減少させることができる。rem_abs_gt2_flagに対する符号化が行われないスキャン位置に対して、係数のabs_remainder値は、表15と比較して下記の表18のように変更される。
Figure 2023041886000024
一実施形態においては、par_level_flagとrem_abs_gt1_flagとの符号化順序を変更するものの、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和とrem_abs_gt2_flagの個数とをそれぞれ制限する方法が提供される。一例において、sig_coeff_flag、rem_abs_gt1_flag、par_level_flag、rem_abs_gt2_flag、abs_remainder、coeff_sig_flagの順に符号化を行うとき、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和を制限する方法と前述したrem_abs_gt2_flagの個数を制限する方法とが結合されることができる。sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和をKに制限し、rem_abs_gt2_flagの個数をNに制限するとき、Kは0から48の値を、Nは0から16の値を有することができる。表19は、Kを25に、Nを2に制限する場合を示す。
Figure 2023041886000025
図6は、2×2ブロック内の変換係数の例を示す図である。
図6の2×2ブロックは、量子化された係数の一例を示す。図6に示すブロックは、2x2変換ブロックであるか、または4×4、8×8、16×16、32×32、64×64変換ブロックの2×2サブブロックであり得る。図6の2×2ブロックは、輝度ブロックまたは色差ブロックを示す。図6の逆対角線スキャンされる係数に対する符号化結果は、例えば、表20の通りである。表20において、scan_posは、逆対角線スキャンによる係数の位置を示す。scan_pos3は、2×2ブロックにおいて最初にスキャンされる、すなわち、右側下端コーナの係数であり、scan_pos0は、最後にスキャンされる、すなわち、左側上端コーナの係数を示す。
Figure 2023041886000026
表1において説明したように、一実施形態において、2×2サブブロック単位の主要シンタックス要素(syntax element)は、sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flagなどを含む。このうち、sig_coeff_flag、par_level_flag、rem_abs_gt1_flagおよびrem_abs_gt2_flagは、正規符号化エンジンを用いて符号化されるコンテキスト符号化ビンを示し、abs_remainderおよびcoeff_sign_flagは、バイパス符号化エンジンを用いて符号化されるバイパスビンを示す。
コンテキスト符号化ビンは、以前のビンを処理しながらアップデートした確率状態および範囲を使用するので、高いデータ依存性を示す。すなわち、コンテキスト符号化ビンは、現ビンの符号化/復号が全て行われた後に次のビンの符号化/復号を行うことができるため、並列処理が難しい場合がある。また、確率区間を読んで現在の状態を判断するためにも、多くの時間が必要であり得る。したがって、一実施形態においては、コンテキスト符号化ビンの数を減少させ、バイパスビンの数を増加させることにより、CABAC処理量を向上させる方法が提案される。
一実施形態において、係数レベル情報は、逆スキャン順序で符号化できる。すなわち、単位ブロックの右側下端の係数から開始して左側上端の方向にスキャンされた後に符号化される。一例において、逆スキャン順序で先にスキャンされる係数レベルは、小さい値を示すことができる。このように先にスキャンされる係数に対するpar_level_flag、rem_abs_gt1_flagおよびrem_abs_gt2_flagをシグナリングすることは、係数レベルを示すための二進化ビンの長さを減少させることができ、各シンタックス要素は、定められたコンテキストを用いて、以前に符号化されたコンテキスト(context)に基づいて算術符号化(arithmetic coding)により効率的に符号化されることができる。
しかしながら、一部の大きな値を有する係数レベル、すなわち、単位ブロックの左側上端に位置する係数レベルの場合、par_level_flag、rem_abs_gt1_flagおよびrem_abs_gt2_flagをシグナリングすることが、圧縮性能の向上に役立たない可能性もある。par_level_flag、rem_abs_gt1_flagおよびrem_abs_gt2_flagを用いることが、符号化効率を低下させる可能性もある。
一実施形態においては、コンテキスト符号化ビンで符号化されるシンタックス要素(par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag)をバイパス符号化エンジンを用いて符号化される、すなわち、バイパスビンで符号化されるabs_remainderシンタックス要素に迅速に切り替えることにより、コンテキスト符号化ビンの数を減少させることができる。
一実施形態において、rem_abs_gt2_flagで符号化される係数の個数が制限されることがある。2×2ブロック内の明示的に符号化されるrem_abs_gt2_flagの個数は、最大4つになり得る。すなわち、係数の絶対値が2より大きい全ての係数に対してrem_abs_gt2_flagが符号化されることもあるが、一実施形態においては、スキャン順序に従って2より大きな絶対値を有する最初のN個の係数(すなわち、rem_abs_gt1_flagが1である係数)に対してのみ、rem_abs_gt2_flagを符号化することができる。Nは、符号化器により選択されることもでき、0から4までの任意の値で設定されることもできる。符号化器に本実施形態と類似する方法により輝度または色差4×4サブブロックのためのコンテキスト符号化ビンが制限されると、使用される制限値を用いてNを算出することができる。Nを算出する方法としては、数式6のように輝度または色差4×4サブブロックのためのコンテキスト符号化ビン制限値(N4×4)をそのまま使用するか、2×2サブブロック画素の数は4であるので、数式7によりNを算出する。ここで、aおよびbは定数を意味し、本開示において特定の値に限定されない。
これと類似して、サブブロックの横/縦のサイズ値を用いてNを算出することもできる。サブブロックは、正方形の形態であるので、横サイズの値と縦サイズの値とは、同一である。2×2サブブロックの横または縦のサイズの値は、2であるので、数式8によりNを算出することができる。
[数式6]
N = N4x4
[数式7]
N = {N4x4 >> (4 - a)} + b
[数式8]
N = {N4x4 >> (a - 2)} + b
表21は、Nが1であるとき、本実施形態の適用例を示す。2×2ブロックにおいてXと示された個数の分だけrem_abs_gt2_flagに対する符号化回数を減らすことができるので、これにより、コンテキスト符号化ビンの数を減らすことができる。rem_abs_gt2_flagの符号化が行われないスキャン位置に対する係数のabs_remainder値を表20と比較すると、下記の表21のように変更される。
Figure 2023041886000027
一実施形態による色差ブロックの2×2サブブロック符号化において、sig_coeff_flag、par_level_flagおよびrem_abs_gt1_flagの個数の和が制限されることができる。sig_coeff_flag、par_level_flagおよびrem_abs_gt1_flagの個数の和をKに制限するとき、Kは、0から12の値を有することができる。本実施形態において、sig_coeff_flag、par_level_flag、rem_abs_gt1_flagの和がKを超えて符号化されないとき、rem_abs_gt2_flagも符号化されない可能性がある。
Kは、符号化器により選択されることもでき、0から12までの任意の値で設定されることもできる。符号化器において本実施形態と類似する方法により輝度または色差4×4サブブロックのためのコンテキスト符号化ビンが制限されるとき、使用される制限値を用いてKを算出することもできる。Kを算出する方法としては、数式9のように輝度または色差4×4サブブロックのためのコンテキスト符号化ビン制限値(K4×4)をそのまま使用するか、2×2サブブロック画素の数は4であるので、数式10によりKを算出する。ここで、aおよびbは、定数を意味し、本開示において特定の値に限定されない。
これと類似して、サブブロックの横/縦のサイズ値を用いてKを算出することもできる。サブブロックは、正方形の形態であるので、横サイズの値と縦サイズの値とは、同一である。2×2サブブロックの横または縦サイズの値は2であるので、数式11によりKを算出することができる。
[数式9]
K = K4x4
[数式10]
K = {K4x4 >> (4 - a)} + b
[数式11]
K = {K4x4 >> (a - 2)} + b
表22は、Kを6に制限した場合を示す。
Figure 2023041886000028
一実施形態において、sig_coeff_flag、par_level_flagおよびrem_abs_gt1_flagの個数の和を制限する方法と、前述のrem_abs_gt2_flagの個数を制限する方法と、が結合されることができる。sig_coeff_flag、par_level_flagおよびrem_abs_gt1_flagの個数の和をKに制限し、rem_abs_gt2_flagの個数をNに制限するとき、Kは0から12の値を、Nは0から4の値を有することができる。
KおよびNは、符号化器において決定されることもでき、数式6ないし数式11に関連して、上記説明した方法に基づいて算出されることもできる。
表23は、Kを6に、Nを1に制限した場合を示す。
Figure 2023041886000029
一実施形態において、par_level_flagとrem_abs_gt1_flagとの符号化順序を変更する方法が提案される。より具体的には、par_level_flag、rem_abs_gt1_flagの順に符号化されるのではなく、本実施形態においては、色差ブロックの2×2サイズのサブブロックを符号化するとき、rem_abs_gt1_flag、par_level_flagの順に符号化が行われる。par_level_flagとrem_abs_gt1_flagとの符号化順序を変更すると、sig_coeff_flagの後にrem_abs_gt1_flagが符号化され、rem_abs_gt1_flagが1であるときにのみpar_level_flagが符号化されることができる。したがって、実際の変換係数値であるcoeffと各シンタックス要素との関係は、下記の数式12のように変更される。
[数式12]
|coeff| = sig_coeff_flag + rem_abs_gt1_flag + par_level_flag + 2 * (rem_abs_gt2_flag + abs_remainder)
下記の表24は、上記数式12と関連するいくつかの例を示す。表2と比較するとき、表24によれば、|coeff|が1である場合にpar_leve_flagが符号化されなくて、処理量および符号化の面で利点を有することができる。もちろん、|coeff|が2である場合、表2とは異なって、rem_abs_gt2_flagが符号化される必要があり、|coeff|が4である場合、表2とは異なって、abs_remainderが符号化される必要があるが、|coeff|が1である場合は、|coeff|が2または4である場合より多く発生するので、表24による方法が表2による方法に比べてより高い処理量および符号化性能を示すことができる。図6のような4×4サブブロックを符号化した結果は、表25の通りである。
Figure 2023041886000030
Figure 2023041886000031
一実施形態において、par_level_flagとrem_abs_gt1_flagとの符号化順序を変更するものの、sig_coeff_flag、rem_abs_gt1_flag、par_level_flagの個数の和を制限する方法が提案される。例えば、sig_coeff_flag、rem_abs_gt1_flag、par_level_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flagの順に符号化を行うとき、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和が制限される。sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和をKに制限するとき、Kは0から12の値を有することができる。Kは、符号化器により選択可能であり、0から12までの任意の値で設定される。また、数式9ないし数式11に関連して前述の内容に基づいて算出されることができる。
一実施形態においては、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagがそれ以上符号化されないとき、rem_abs_gt2_flagも符号化されない可能性がある。表26は、Kを6に制限した場合を示す。
Figure 2023041886000032
一実施形態において、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagは、1つのforループ内で符号化されることができる。3つのシンタックス要素(sig_coeff_flag、rem_abs_gt1_flag、par_level_flag)の数の和がKを超えなくて、和がKと正確に一致しなくても同一のスキャン位置で符号化を止めることができる。表27は、Kを8に制限した場合を示す。スキャン位置2(scan_pos2)まで符号化を行ったとき、sig_coeff_flag、rem_abs_gt1_flag、par_level_flagの数の和は、6である。Kを超えない値であるが、ここで、符号化器で次のスキャン位置である1(scan_pos1)の係数レベルの値が分からないので、scan_pos1で発生するコンテキスト符号化ビンの数が1ないし3のいずれの値を有するかが分からない。したがって、scan_pos2までのみ符号化して符号化を終了することができる。したがって、Kの値は異なるが、符号化結果は、表26と表27とで同一であり得る。
Figure 2023041886000033
一実施形態において、par_level_flagとrem_abs_gt1_flagとの符号化順序を変更するものの、rem_abs_gt2_flagの数を制限する方法が提案される。例えば、sig_coeff_flag、rem_abs_gt1_flag、par_level_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flagの順に符号化を行うとき、rem_abs_gt2_flagで符号化される係数の個数が制限される。
一実施形態において、2×2ブロック内で符号化されるrem_abs_gt2_flagの個数は、最大4つである。すなわち、係数の絶対値が2より大きい全ての係数に対して、rem_abs_gt2_flagが符号化される。それに対して、本開示の他の一実施形態においては、スキャン順序に従って2より大きな絶対値を有する最初のN個の係数(すなわち、rem_abs_gt1_flagが1である係数)に対してのみ、rem_abs_gt2_flagを符号化する方法が提案される。
Nは、符号化器により選択されることもでき、0から4までの任意の値で設定されることもできる。また、数式6ないし数式8に関連して、上記説明した方法で算出されることができる。
表28は、Nが1であるとき、本実施形態の適用例を示す。4×4ブロックにおいてXと示された個数の分だけrem_abs_gt2_flagに対する符号化回数を減らすことができるので、これにより、コンテキスト符号化ビンの数を減らすことができる。rem_abs_gt2_flagに対する符号化が行われないスキャン位置に対して係数のabs_remainder値が、表25と比較すると、下記の表28のように変更される。
Figure 2023041886000034
一実施形態において、par_level_flagとrem_abs_gt1_flagとの符号化順序を変更するものの、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和とrem_abs_gt2_flagの個数とをそれぞれ制限する方法が提供される。例えば、sig_coeff_flag、rem_abs_gt1_flag、par_level_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flagの順に符号化を行うとき、sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数を制限する方法と、rem_abs_gt2_flagの個数を制限する方法と、が結合されることができる。sig_coeff_flag、rem_abs_gt1_flagおよびpar_level_flagの個数の和をKに制限し、rem_abs_gt2_flagの個数をNに制限するとき、Kは0から12の値を、Nは0から4の値を有することができる。KおよびNは、符号化器により選択されることもでき、Kは0から12、Nは0から4、までの任意の値で設定されることもできる。また、数式6から数式11に関連して、上記説明された方法で算出されることができる。
下記の表29は、Kを6に、Nを1に、制限した場合を示す。
Figure 2023041886000035
図7は、一実施形態によるエンコード装置の動作を示すフローチャートであり、図8は、一実施形態によるエンコード装置の構成を示すブロック図である。
図7および図8によるエンコード装置は、図9および図10によるデコード装置と対応する動作を行うことができる。したがって、図9および図10で後述されるデコード装置の動作は、図7および図8によるエンコード装置にも同様に適用されることができる。
図7に開示された各ステップは、図2に開示されたエンコード装置200により行われることができる。より具体的には、S700は、図2に開示された減算部231により行われ、S710は、図2に開示された量子化部233により行われ、S720は、図2に開示されたエントロピエンコード部240により行われる。また、S700ないしS720に従う動作は、図4ないし図6で前述された内容の一部に基づいたものである。したがって、図2および図4ないし図6で前述された内容と重複する具体的な内容は、説明を省略するか、簡略にする。
図8に示すように、一実施形態によるエンコード装置は、減算部231、変換部232、量子化部233およびエントロピエンコード部240を含む。しかしながら、場合によっては、図8に示す全ての構成要素がエンコード装置の必須構成要素ではない可能性があり、エンコード装置は、図8に示す構成要素より多いか少ない構成要素により実現されることができる。
一実施形態によるエンコード装置において、減算部231、変換部232、量子化部233およびエントロピエンコード部240は、それぞれが別途のチップ(chip)で実現されるか、少なくとも2つ以上の構成要素が1つのチップで実現される。
一実施形態によるエンコード装置は、現ブロックに対する残差サンプルを導出する(S700)。より具体的には、エンコード装置の減算部231は、現ブロックに対する残差サンプルを導出する。
一実施形態によるエンコード装置は、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出する(S710)。より具体的には、エンコード装置の量子化部233は、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出する。
一実施形態によるエンコード装置は、量子化された変換係数に関する情報を含む残差情報をエンコードする(S720)。より具体的には、エンコード装置のエントロピエンコード部240は、量子化された変換係数に関する情報を含む残差情報をエンコードする。
一実施形態において、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグおよび上記変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグを含む。一例において、上記パリティレベルフラグは、par_level_flagを示し、上記第1変換係数レベルフラグは、rem_abs_gt1_flagまたはabs_level_gtx_flag[n][0]を示し、上記第2変換係数レベルフラグは、rem_abs_gt2_flagまたはabs_gtx_flag[n][1]を示す。
一実施形態において、上記残差情報をエンコードするステップは、上記量子化された変換係数に基づいて上記パリティレベルフラグの値および上記第1変換係数レベルフラグの値を導出するステップと、上記第1変換係数レベルフラグをエンコードし、上記パリティレベルフラグをエンコードするステップと、を含む。
一実施形態において、上記第1変換係数レベルフラグをエンコードするステップは、上記パリティレベルフラグをエンコードするステップより先に行われることがある。例えば、エンコード装置は、rem_abs_gt1_flagまたはabs_level_gtx_flag[n][0]に対するエンコードを、par_level_flagに対するエンコードより先に行うことができる。
一実施形態において、上記残差情報は、上記量子化された変換係数が0ではない有効係数であるか否かを示す有効係数フラグおよび上記量子化された変換係数の上記変換係数レベルが第2閾値より大きいか否かに関する第2変換係数レベルフラグをさらに含む。一例において、上記有効係数フラグは、sig_coeff_flagを示す。
一実施形態において、上記残差情報に含まれる、上記現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和は、所定の閾値以下であり得る。一例において、上記現ブロック内の現サブブロックに関連する量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和が、所定の閾値以下に制限されることができる。
一実施形態において、上記所定の閾値は、上記現ブロック(または、上記現ブロック内の現サブブロック)のサイズに基づいて決定される。
一実施形態において、上記残差情報に含まれる上記有効係数フラグの個数、上記第1変換係数レベルフラグの個数、上記パリティレベルフラグの個数の和は、第3閾値以下であり、上記残差情報に含まれる上記第2変換係数レベルフラグの個数は、第4閾値以下であり、上記所定の閾値は、上記第3閾値と上記第4閾値との和を示す。
一例において、現ブロックまたは現ブロック内の現サブブロックのサイズが4×4である場合、上記第3閾値はKを示し、ここで、Kは、0から48のいずれか1つの値を示す。また、上記第4閾値はNを示し、ここで、Nは、0から16のいずれか1つの値を示す。
他の例において、現ブロックまたは現ブロック内の現サブブロックのサイズが2×2である場合、上記第3閾値はKを示し、ここで、Kは、0から12のいずれか1つの値を示す。また、上記第4閾値はNを示し、ここで、Nは、0から4のいずれか1つの値を示す。
一実施形態において、係数スキャン順序により決定された0番目の量子化された変換係数ないしn番目の量子化された変換係数に基づいて導出された上記有効係数フラグの個数、上記第1変換係数レベルフラグの個数、上記パリティレベルフラグの個数および上記第2変換係数フラグの個数の和が上記所定の閾値に到達する場合、上記係数スキャン順序により決定されたn+1番目の量子化された変換係数に対しては、有効係数フラグ、第1変換係数レベルフラグ、パリティレベルフラグおよび上記第2変換係数レベルの明示的なシグナリングが省略され、上記残差情報に含まれる係数レベル情報の値に基づいて上記n+1番目の量子化された変換係数の値が導出される。
例えば、係数スキャン順序により決定された0番目の量子化された変換係数(もしくは、1番目に量子化された変換係数)ないしn番目の量子化された変換係数(もしくは、n+1番目に量子化された変換係数)に基づいて導出された上記sig_coeff_flagの個数、上記rem_abs_gtx_flag[0]の個数、上記par_level_flagの個数ならびに上記rem_abs_gt2_flag(もしくは、abs_level_gtx_flag[n][1])の個数の和が上記所定の閾値に到達する場合、上記係数スキャン順序により決定されたn+1番目の量子化された変換係数に対しては、sig_coeff_flag、rem_abs_gt1_flag(もしくは、abs_level_gtx_flag[n][0])、par_level_flag、abs_level_gtx_flag[n][1]ならびにrem_abs_gt2_flag(もしくは、abs_level_gtx_flag[n][1])の明示的なシグナリングが省略され、上記残差情報に含まれるabs_remainderまたはdec_abs_levelの値に基づいて上記n+1番目の量子化された変換係数の値が導出される。
一実施形態において、上記残差情報に含まれる上記有効係数フラグ、上記第1変換係数レベルフラグ、上記パリティレベルフラグおよび上記第2変換係数レベルフラグは、コンテキストに基づいてコーディングされ、上記係数レベル情報は、バイパスに基づいてコーディングされる。
図7および図8のエンコード装置およびエンコード装置の動作方法によれば、エンコード装置は、現ブロックに対する残差サンプルを導出し(S700)、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出し(S710)、量子化された変換係数に関する情報を含む残差情報をエンコードし(S720)、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグおよび上記変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグを含み、上記残差情報をエンコードするステップは、上記量子化された変換係数に基づいて上記パリティレベルフラグおよび上記第1変換係数レベルの値を導出するステップと、上記第1変換係数レベルフラグをエンコードし、上記パリティレベルフラグをエンコードするステップと、を含み、上記第1変換係数レベルフラグをエンコードするステップは、上記パリティレベルフラグをエンコードするステップより先に行われることを特徴とする。すなわち、本開示によれば、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグとのデコード順序を決定(または、変更)してコーディング効率を高めることができる。
図9は、一実施形態によるデコード装置の動作を示すフローチャートであり、図10は、一実施形態によるデコード装置の構成を示すブロック図である。
図9に開示された各ステップは、図3に開示されたデコード装置300により行われる。より具体的には、S900およびS910は、図3に開示されたエントロピデコード部310により行われ、S920は、図3に開示された逆量子化部321および/または逆変換部322により行われ、S930は、図3に開示された加算部340により行われる。また、S900ないしS930による動作は、図4ないし図6で前述された内容の一部に基づいたものである。したがって、図3ないし図6で前述した内容と重複する具体的な内容は、説明を省略するかまたは簡単にする。
図10に示すように、一実施形態によるデコード装置は、エントロピデコード部310、逆量子化部321、逆変換部322および加算部340を含む。しかしながら、場合によっては、図10に示す全ての構成要素がデコード装置の必須構成要素ではない可能性があり、デコード装置は、図10に示す構成要素より多いか少ない構成要素により実現されてもよい。
一実施形態によるデコード装置において、エントロピデコード部310、逆量子化部321、逆変換部322および加算部340は、それぞれが別途のチップ(chip)で実現されるか、少なくとも2つ以上の構成要素が1つのチップにより実現されてもよい。
一実施形態によるデコード装置は、残差情報を含むビットストリームを受信する(S900)。より具体的には、デコード装置のエントロピデコード部310は、残差情報を含むビットストリームを受信する。
一実施形態によるデコード装置は、ビットストリームに含まれる残差情報に基づいて現ブロックに対する量子化された変換係数を導出する(S910)。より具体的には、デコード装置のエントロピデコード部310は、ビットストリームに含まれる残差情報に基づいて現ブロックに対する量子化された変換係数を導出する。
一実施形態によるデコード装置は、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出する(S920)。より具体的には、デコード装置の逆量子化部321は、逆量子化過程に基づいて量子化された変換係数から変換係数を導出し、デコード装置の逆変換部322は、変換係数を逆変換して現ブロックに対する残差サンプルを導出する。
一実施形態によるデコード装置は、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成する(S930)。より具体的には、デコード装置の加算部340は、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成する。
一実施形態において、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティ(parity)に関するパリティレベルフラグおよび上記変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグを含む。一例において、上記パリティレベルフラグは、par_level_flagを示し、上記第1変換係数レベルフラグは、rem_abs_gt1_flagまたはabs_level_gtx_flag[n][0]を示し、上記第2変換係数レベルフラグは、rem_abs_gt2_flagまたはabs_gtx_flag[n][1]を示す。
一実施形態において、上記量子化された変換係数を導出するステップは、上記変換係数レベルフラグをデコードし、上記パリティレベルフラグをデコードするステップと、上記デコードされたパリティレベルフラグの値および上記デコードされた第1変換係数レベルフラグの値に基づいて上記量子化された変換係数を導出するステップと、を含む。
一実施形態において、上記第1変換係数レベルフラグをデコードするステップは、上記パリティレベルフラグをデコードするステップより先に行われてもよい。例えば、デコード装置は、rem_abs_gt1_flagまたはabs_level_gtx_flag[n][0]に対するデコーディングをpar_level_flagに対するデコーディングより先に行うことができる。
一実施形態において、上記残差情報は、上記量子化された変換係数が0ではない有効係数であるか否かを示す有効係数フラグおよび上記量子化された変換係数の上記変換係数レベルが第2閾値より大きいか否かに関する第2変換係数レベルフラグをさらに含んでもよい。一例において、上記有効係数フラグは、sig_coeff_flagを示す。
一実施形態において、上記残差情報に含まれる、上記現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和は、所定の閾値以下であり得る。一例において、上記現ブロック内の現サブブロックに関連する量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和が、所定の閾値以下に制限される。
一実施形態において、上記所定の閾値は、上記現ブロック(または、上記現ブロック内の現サブブロック)のサイズに基づいて決定される。
一実施形態において、上記残差情報に含まれる上記有効係数フラグの個数、上記第1変換係数レベルフラグの個数、上記パリティレベルフラグの個数の和は、第3閾値以下であり、上記残差情報に含まれる上記第2変換係数レベルフラグの個数は、第4閾値以下であり、上記所定の閾値は、上記第3閾値と上記第4閾値との和を示す。
一例において、現ブロックまたは現ブロック内の現サブブロックのサイズが4×4である場合、上記第3閾値はKを示し、ここで、Kは、0から48のいずれか1つの値を示す。また、上記第4閾値はNを示し、ここで、Nは、0から16のいずれか1つの値を示す。
他の例において、現ブロックまたは現ブロック内の現サブブロックのサイズが2×2である場合、上記第3閾値はKを示し、ここで、Kは0から12のいずれか1つの値を示す。また、上記第4閾値はNを示し、ここで、Nは0から4のいずれか1つの値を示す。
一実施形態において、係数スキャン順序により決定された0番目の量子化された変換係数ないしn番目の量子化された変換係数に基づいて導出された上記有効係数フラグの個数、上記第1変換係数レベルフラグの個数、上記パリティレベルフラグの個数および上記第2変換係数レベルフラグの個数の和が上記所定の閾値に到達する場合、上記係数スキャン順序により決定されたn+1番目の量子化された変換係数に対しては、有効係数フラグ、第1変換係数レベルフラグ、パリティレベルフラグ、上記第2変換係数レベルフラグの明示的なシグナリングが省略され、上記残差情報に含まれる係数レベル情報の値に基づいて上記n+1番目の量子化された変換係数の値が導出される。
例えば、係数スキャン順序により決定された0番目の量子化された変換係数(もしくは、1番目に量子化された変換係数)ないしn番目の量子化された変換係数(もしくは、n+1番目に量子化された変換係数)に基づいて導出された上記sig_coeff_flagの個数、上記rem_abs_gtx_flag(もしくは、abs_level_gtx_flag[n][0])の個数、上記par_level_flagの個数ならびに上記rem_abs_gt2_flag(もしくは、abs_level_gtx_flag[n][1])の個数の和が上記所定の閾値に到達する場合、上記係数スキャン順序により決定されたn+1番目の量子化された変換係数に対して、sig_coeff_flag、rem_abs_gt1_flag(もしくは、abs_level_gtx_flag[n][0])、par_level_flag、abs_level_gtx_flag[n][1]ならびにrem_abs_gt2_flag(もしくは、abs_level_gtx_flag[n][1])の明示的なシグナリングが省略され、上記残差情報に含まれるabs_remainderまたはdec_abs_levelの値に基づいて上記n+1番目の量子化された変換係数の値が導出される。
一実施形態において、上記残差情報に含まれる上記有効係数フラグ、上記第1変換係数レベルフラグ、上記パリティレベルフラグおよび上記第2変換係数レベルフラグは、コンテキストに基づいてコーディングされ、上記係数レベル情報は、バイパスに基づいてコーディングされる。
図9および図10に開示されたデコード装置およびデコード装置の動作方法によれば、デコード装置は、残差情報を含むビットストリームを受信し(S900)、上記ビットストリームに含まれる上記残差情報に基づいて現ブロックに対する量子化された変換係数を導出し(S910)、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出し(S920)、上記現ブロックに対する上記残差サンプルに基づいて復元ピクチャを生成し(S930)、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティ(parity)に関するパリティレベルフラグおよび上記変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグを含み、上記量子化された変換係数を導出するステップは、上記変換係数レベルフラグをデコードし、上記パリティレベルフラグをデコードするステップと、上記デコードされたパリティレベルフラグの値および上記デコードされた第1変換係数レベルフラグに基づいて上記量子化された変換係数を導出するステップと、を含み、上記第1変換係数レベルフラグをデコードするステップは、上記パリティレベルフラグをデコードするステップより先に行われることを特徴とする。すなわち、本開示によれば、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第1閾値より大きいか否かに関する第1変換係数レベルフラグとのデコード順序を決定(または、変更)してコーディング効率を高めることができる。
前述した実施形態において、方法は、一連のステップまたはブロックとしてフローチャートに基づいて説明されているが、本開示は、ステップの順序に限定されるものではなく、あるステップは、前述とは異なるステップおよび異なる順序でまたは同時に発生し得る。また、当業者であれば、フローチャートに示されているステップが排他的ではなく、他のステップが含まれるか、フローチャートの1つまたは複数のステップが本開示の範囲に影響することなく削除できることを理解できるであろう。
前述した本開示による方法は、ソフトウェアの形態で実現されてもよく、本開示によるエンコード装置および/またはデコード装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの画像処理を行う装置に含まれてもよい。
本開示において、実施形態がソフトウェアで実現されるとき、前述の方法は、前述の機能を行うモジュール(プロセス、機能など)で実現できる。モジュールは、メモリに記憶され、プロセッサにより行われることができる。メモリは、プロセッサの内部または外部に位置し、よく知られた様々な手段でプロセッサと接続される。プロセッサは、ASIC(Application-Specific Integrated Circuit)、他のチップセット、論理回路および/またはデータ処理装置を含む。メモリは、ROM(Read-Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、メモリカード、記憶媒体および/または他の記憶装置を含んでもよい。すなわち、本開示において説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて行われる。例えば、各図に示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて行われる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムは、デジタル記憶媒体に記憶されることができる。
また、本開示が適用されるデコード装置およびエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、ビデオオンデマンド(注文型ビデオ)(VoD)サービス提供装置、OTT(Over The Top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(Virtual Reality)装置、AR(Augmented Reality)装置、画像電話ビデオ装置、運送手段端末(例えは、車両(自律走行車両を含む)端末、飛行機端末、船舶端末など)および医療用ビデオ装置などに含まれることができ、ビデオ信号およびデータ信号を処理するために使用できる。例えば、OTTビデオ(Over The Top video)装置としては、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recorder)などが含まれる。
また、本開示が適用される処理方法は、コンピュータにより実行されるプログラムの形態で生産されることができ、コンピュータにより読み取りできる記録媒体に記憶できる。本発明によるデータ構造を有するマルチメディアデータもまたコンピュータにより読み取りできる記録媒体(コンピュータ読取り可能記憶媒体)に記憶できる。上記コンピュータにより読み取りできる記録媒体は、コンピュータにより読み取りできるデータが記憶される全ての種類の記憶装置および分散記憶装置を含む。上記コンピュータにより読み取りできる記録媒体は、例えば、ブルーレイディスク(BD)、ユニバーサルシリアル(汎用直列)バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピ(登録商標)ディスク、および光学データ記憶装置を含むことができる。また、上記コンピュータにより読み取りできる記録媒体は、搬送波(例えば、インターネットを介する送信)の形態で実現されたメディアを含む。また、エンコード方法により生成されたビットストリームがコンピュータにより読み取りできる記録媒体に記憶されるか、有無線通信ネットワークを介して送信できる。
また、本開示の実施形態は、プログラムコードによるコンピュータプログラム製品として実現され、上記プログラムコードは、本発明の実施形態によりコンピュータにおいて行われる。上記プログラムコードは、コンピュータにより読み取りできるキャリア上に記憶されることができる。
図11は、本文書において開示された発明が適用されることができるコンテンツストリーミングシステムの例を示す。
図11に示すように、本開示が適用されるコンテンツストリーミングシステムは、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア記憶装置(格納所)、ユーザ装置およびマルチメディア入力装置を含む。
上記エンコードサーバは、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを上記ストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、上記エンコードサーバは、省略されてもよい。
上記ビットストリームは、本開示が適用されるエンコード方法またはビットストリーム生成方法により生成され、上記ストリームサーバは、上記ビットストリームを送信または受信する過程で一時的に上記ビットストリームを記憶することができる。
上記ストリーミングサーバは、ウェブサーバを介するユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、上記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体としての役割を果たす。ユーザが上記ウェブサーバに所望のサービスを要求すると、上記ウェブサーバは、これをストリーミングサーバに伝達し、上記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。ここで、上記コンテンツストリーミングシステムは、別途の制御サーバを含んでもよく、この場合、上記制御サーバは、上記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割を果たす。
上記ストリーミングサーバは、メディア記憶装置および/またはエンコードサーバからコンテンツを受信する。例えば、上記エンコードサーバからコンテンツを受信する場合、上記コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、上記ストリーミングサーバは、上記ビットストリームを一定時間記憶することができる。
上記ユーザ装置の例としては、携帯電話、スマートフォン(smart phone)、ノートブックコンピュータ(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 (11)

  1. デコード装置により行われる画像デコード方法であって、
    残差情報を有するビットストリームを受信するステップと、
    前記ビットストリームに有される前記残差情報に基づいて現ブロックに対する複数の量子化された変換係数を導出するステップと、
    前記複数の量子化された変換係数に基づいて前記現ブロックに対する複数の残差サンプルを導出するステップと、
    前記現ブロックに対する前記複数の残差サンプルに基づいて復元ピクチャを生成するステップと、を有し、
    前記残差情報は、前記現ブロックに対する1つの量子化された変換係数に対する、有効係数フラグ、パリティレベルフラグ、第1変換係数レベルフラグおよび第2変換係数レベルフラグを有し、
    前記有効係数フラグは、前記1つの量子化された変換係数が0ではない有効係数であるか否かに関し、
    前記パリティレベルフラグは、前記1つの量子化された変換係数に対する変換係数レベルのパリティに関し、
    前記第1変換係数レベルフラグは、前記変換係数レベルが第1閾値より大きいか否かに関し、
    前記第2変換係数レベルフラグは、前記変換係数レベルが第2閾値より大きいか否かに関し、
    前記第1閾値は、1であり、前記第2閾値は、3であり、
    前記複数の量子化された変換係数を導出するステップは、
    前記有効係数フラグ、前記第1変換係数レベルフラグ、前記パリティレベルフラグおよび前記第2変換係数レベルフラグをデコードするステップと、
    前記デコードされた有効係数フラグの値、前記デコードされたパリティレベルフラグの値、前記デコードされた第1変換係数レベルフラグの値および前記デコードされた第2変換係数レベルフラグの値に基づいて前記1つの量子化された変換係数を導出するステップと、を有し、
    前記第1変換係数レベルフラグをデコードするステップは、前記パリティレベルフラグをデコードするステップより先に行われ、
    前記1つの量子化された変換係数の前記変換係数レベルが1であることに基づいて、前記パリティレベルフラグおよび前記第2変換係数レベルフラグは、デコードされず、
    前記残差情報に有される、前記現ブロック内の前記複数の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和は、所定の閾値以下である、画像デコード方法。
  2. 前記所定の閾値は、前記現ブロックのサイズに基づいて決定される、請求項1に記載の画像デコード方法。
  3. 前記残差情報に有される、前記有効係数フラグの個数、前記第1変換係数レベルフラグの個数および前記パリティレベルフラグの個数の和は、第3閾値以下であり、
    前記残差情報に有される前記第2変換係数レベルフラグの個数は、第4閾値以下であり、
    前記所定の閾値は、前記第3閾値と前記第4閾値との和である、請求項1に記載の画像デコード方法。
  4. 係数スキャン順序により決定された0番目の量子化された変換係数ないしn番目の量子化された変換係数に基づいて導出された、前記有効係数フラグの個数、前記第1変換係数レベルフラグの個数、前記パリティレベルフラグの個数および前記第2変換係数レベルフラグの個数の和が前記所定の閾値に到達する場合、前記係数スキャン順序により決定されたn+1番目の量子化された変換係数に対しては、有効係数フラグ、第1変換係数レベルフラグ、パリティレベルフラグおよび第2変換係数レベルフラグの明示的なシグナリングが省略され、前記残差情報に有される係数レベル情報の値に基づいて前記n+1番目の量子化された変換係数の値が導出される、請求項1に記載の画像デコード方法。
  5. 前記残差情報に有される、前記有効係数フラグ、前記第1変換係数レベルフラグ、前記パリティレベルフラグおよび前記第2変換係数レベルフラグは、コンテキストに基づいてコーディングされ、
    前記係数レベル情報は、バイパスに基づいてコーディングされる、請求項4に記載の画像デコード方法。
  6. エンコード装置により行われる画像エンコード方法であって、
    現ブロックに対する複数の残差サンプルを導出するステップと、
    前記現ブロックに対する前記複数の残差サンプルに基づいて複数の量子化された変換係数を導出するステップと、
    前記複数の量子化された変換係数に関する情報を有する残差情報をエンコードするステップと、を有し、
    前記残差情報は、前記現ブロックに対する1つの量子化された変換係数に対する、有効係数フラグ、パリティレベルフラグ、第1変換係数レベルフラグおよび第2変換係数レベルフラグを有し、
    前記有効係数フラグは、前記1つの量子化された変換係数が0ではない有効係数であるか否かに関し、
    前記パリティレベルフラグは、前記1つの量子化された変換係数に対する変換係数レベルのパリティに関し、
    前記第1変換係数レベルフラグは、前記変換係数レベルが第1閾値より大きいか否かに関し、
    前記第2変換係数レベルフラグは、前記変換係数レベルが第2閾値より大きいか否かに関し、
    前記第1閾値は、1であり、前記第2閾値は、3であり、
    前記残差情報をエンコードするステップは、
    前記1つの量子化された変換係数に基づいて、前記有効係数フラグの値、前記パリティレベルフラグの値、前記第1変換係数レベルフラグの値および前記第2変換係数レベルフラグの値を導出するステップと、
    前記有効係数フラグ、前記第1変換係数レベルフラグをエンコードし、前記パリティレベルフラグおよび前記第2変換係数レベルフラグをエンコードするステップと、を有し、
    前記第1変換係数レベルフラグをエンコードするステップは、前記パリティレベルフラグをエンコードするステップより先に行われ、
    前記1つの量子化された変換係数の前記変換係数レベルが1であることに基づいて、前記パリティレベルフラグおよび前記第2変換係数レベルフラグは、エンコードされず、
    前記残差情報に有される、前記現ブロック内の前記複数の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和は、所定の閾値以下である、画像エンコード方法。
  7. 前記所定の閾値は、前記現ブロックのサイズに基づいて決定される、請求項6に記載の画像エンコード方法。
  8. 前記残差情報に有される、前記有効係数フラグの個数、前記第1変換係数レベルフラグの個数および前記パリティレベルフラグの個数の和は、第3閾値以下であり、
    前記残差情報に有される前記第2変換係数レベルフラグの個数は、第4閾値以下であり、
    前記所定の閾値は、前記第3閾値と前記第4閾値との和である、請求項6に記載の画像エンコード方法。
  9. 係数スキャン順序により決定された0番目の量子化された変換係数ないしn番目の量子化された変換係数に基づいて導出された、前記有効係数フラグの個数、前記第1変換係数レベルフラグの個数、前記パリティレベルフラグの個数および前記第2変換係数レベルフラグの個数の和が前記所定の閾値に到達する場合、前記係数スキャン順序により決定されたn+1番目の量子化された変換係数に対しては、有効係数フラグ、第1変換係数レベルフラグ、パリティレベルフラグおよび第2変換係数レベルフラグの明示的なシグナリングが省略され、前記残差情報に有される係数レベル情報の値に基づいて前記n+1番目の量子化された変換係数の値が導出される、請求項6に記載の画像エンコード方法。
  10. 前記残差情報に有される、前記有効係数フラグ、前記第1変換係数レベルフラグ、前記パリティレベルフラグおよび前記第2変換係数レベルフラグは、コンテキストに基づいてコーディングされ、
    前記係数レベル情報は、バイパスに基づいてコーディングされる、請求項9に記載の画像エンコード方法。
  11. 画像情報に関するデータを送信する方法であって、
    複数の量子化された変換係数に対する残差情報を有する画像情報のビットストリームを取得するステップであって、前記複数の量子化された変換係数に対する前記残差情報は、
    現ブロックに対する複数の残差サンプルを導出するステップと、
    前記現ブロックに対する前記複数の残差サンプルに基づいて前記複数の量子化された変換係数を導出するステップと、
    前記複数の量子化された変換係数に関する情報を有する残差情報をエンコードして前記ビットストリームを生成するステップと、によって生成されるステップと、
    前記残差情報を有する前記画像情報の前記ビットストリームを有する前記データを送信するステップと、を有し、
    前記残差情報は、前記現ブロックに対する1つの量子化された変換係数に対する、有効係数フラグ、パリティレベルフラグ、第1変換係数レベルフラグおよび第2変換係数レベルフラグを有し、
    前記有効係数フラグは、前記1つの量子化された変換係数が0ではない有効係数であるか否かに関し、
    前記パリティレベルフラグは、前記1つの量子化された変換係数に対する変換係数レベルのパリティに関し、
    前記第1変換係数レベルフラグは、前記変換係数レベルが第1閾値より大きいか否かに関し、
    前記第2変換係数レベルフラグは、前記変換係数レベルが第2閾値より大きいか否かに関し、
    前記第1閾値は、1であり、前記第2閾値は、3であり、
    前記残差情報をエンコードするステップは、
    前記1つの量子化された変換係数に基づいて、前記有効係数フラグの値、前記パリティレベルフラグの値、前記第1変換係数レベルフラグの値および前記第2変換係数レベルフラグの値を導出するステップと、
    前記有効係数フラグ、前記第1変換係数レベルフラグをエンコードし、前記パリティレベルフラグおよび前記第2変換係数レベルフラグをエンコードするステップと、を有し、
    前記第1変換係数レベルフラグをエンコードするステップは、前記パリティレベルフラグをエンコードするステップより先に行われ、
    前記1つの量子化された変換係数の前記変換係数レベルが1であることに基づいて、前記パリティレベルフラグおよび前記第2変換係数レベルフラグは、エンコードされず、
    前記残差情報に有される、前記現ブロック内の前記複数の量子化された変換係数に対する有効係数フラグの個数、第1変換係数レベルフラグの個数、パリティレベルフラグの個数および第2変換係数レベルフラグの個数の和は、所定の閾値以下である、方法。
JP2023015055A 2018-09-20 2023-02-03 変換係数レベルコーディング方法およびその装置 Pending JP2023041886A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862734233P 2018-09-20 2018-09-20
US62/734,233 2018-09-20
US201862734266P 2018-09-21 2018-09-21
US62/734,266 2018-09-21
PCT/KR2019/012226 WO2020060282A1 (ko) 2018-09-20 2019-09-20 변환 계수 레벨 코딩 방법 및 그 장치
JP2020526968A JP7222997B2 (ja) 2018-09-20 2019-09-20 変換係数レベルコーディング方法およびその装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020526968A Division JP7222997B2 (ja) 2018-09-20 2019-09-20 変換係数レベルコーディング方法およびその装置

Publications (1)

Publication Number Publication Date
JP2023041886A true JP2023041886A (ja) 2023-03-24

Family

ID=69887664

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020526968A Active JP7222997B2 (ja) 2018-09-20 2019-09-20 変換係数レベルコーディング方法およびその装置
JP2023015055A Pending JP2023041886A (ja) 2018-09-20 2023-02-03 変換係数レベルコーディング方法およびその装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020526968A Active JP7222997B2 (ja) 2018-09-20 2019-09-20 変換係数レベルコーディング方法およびその装置

Country Status (8)

Country Link
US (4) US11095897B2 (ja)
EP (1) EP3691272A4 (ja)
JP (2) JP7222997B2 (ja)
KR (3) KR20230175339A (ja)
CN (3) CN111373753B (ja)
BR (1) BR112021005152A2 (ja)
MX (1) MX2021003245A (ja)
WO (1) WO2020060282A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102459940B1 (ko) * 2018-09-11 2022-10-27 엘지전자 주식회사 레지듀얼 코딩 방법 및 그 장치
CN112956200A (zh) 2018-09-21 2021-06-11 Oppo广东移动通信有限公司 视频信号编码/解码方法以及用于所述方法的设备
CN113170132A (zh) * 2018-09-24 2021-07-23 弗劳恩霍夫应用研究促进协会 使用或适用于与依赖标量量化的组合的变换系数的有效编码
CN116886914A (zh) * 2018-10-05 2023-10-13 Lg电子株式会社 图像编码/解码方法、存储介质及数据传输方法
WO2020151753A1 (en) * 2019-01-25 2020-07-30 Mediatek Inc. Method and apparatus of transform coefficient coding with tb-level constraint
FR3113219B1 (fr) * 2020-07-29 2022-07-29 Sagemcom Energy & Telecom Sas Procédé de transmission de mesures permettant de réduire la charge du réseau
CN116095329A (zh) * 2021-02-21 2023-05-09 腾讯科技(深圳)有限公司 视频编解码方法、装置、计算机可读介质及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104378637B (zh) * 2011-10-18 2017-11-21 株式会社Kt 视频信号解码方法
US9503717B2 (en) 2012-01-09 2016-11-22 Texas Instruments Incorporated Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency
US9191670B2 (en) * 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
TWI549487B (zh) * 2012-04-15 2016-09-11 三星電子股份有限公司 對視訊進行解碼的方法
MY167469A (en) * 2012-06-22 2018-08-29 Velos Media Int Ltd Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US9088769B2 (en) 2012-06-28 2015-07-21 Blackberry Limited Reduced worst-case context-coded bins in video compression with parity hiding
US9930348B2 (en) * 2014-03-14 2018-03-27 Qualcomm Incorporated Coefficient level coding in a video coding process
KR102333000B1 (ko) * 2015-01-15 2021-12-01 한국전자통신연구원 고속 변환 계수 부호화 방법 및 장치
KR102662646B1 (ko) 2018-07-02 2024-05-03 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 종속 스칼라 양자화에 적합한 변환 계수의 엔트로피 코딩
WO2020038311A1 (en) 2018-08-22 2020-02-27 Mediatek Inc. Method and apparatus of transform coefficient coding
US11483575B2 (en) 2018-08-24 2022-10-25 Hfi Innovation Inc. Coding transform coefficients with throughput constraints
US11336918B2 (en) 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
WO2020054713A1 (en) 2018-09-11 2020-03-19 Sharp Kabushiki Kaisha Systems and methods for coding transform coefficient level values

Also Published As

Publication number Publication date
WO2020060282A1 (ko) 2020-03-26
JP7222997B2 (ja) 2023-02-15
CN111373753B (zh) 2023-09-08
KR20230175339A (ko) 2023-12-29
CN111373753A (zh) 2020-07-03
BR112021005152A2 (pt) 2021-06-15
US20230308653A1 (en) 2023-09-28
KR20200055084A (ko) 2020-05-20
EP3691272A4 (en) 2021-03-10
US11706419B2 (en) 2023-07-18
US20200252616A1 (en) 2020-08-06
US20210337206A1 (en) 2021-10-28
US11490088B2 (en) 2022-11-01
EP3691272A1 (en) 2020-08-05
KR102448535B1 (ko) 2022-09-28
MX2021003245A (es) 2021-05-12
KR102616533B1 (ko) 2023-12-20
CN116708825A (zh) 2023-09-05
JP2021503247A (ja) 2021-02-04
KR20220133330A (ko) 2022-10-04
US11095897B2 (en) 2021-08-17
CN116723334A (zh) 2023-09-08
US20230023002A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
JP7222997B2 (ja) 変換係数レベルコーディング方法およびその装置
JP7148739B2 (ja) 映像コーディングシステムにおいて文脈コーディングされたサインフラグを使用する映像デコーディング方法及びその装置
KR102473571B1 (ko) 변환 계수 코딩 방법 및 그 장치
JP7282904B2 (ja) 映像コーディングシステムにおいてレジデュアル情報を使用する映像デコーディング方法及びその装置
KR102472944B1 (ko) 변환 계수 코딩 방법 및 그 장치
KR20210036413A (ko) 신택스 디자인 방법 및 신택스를 이용하여 코딩을 수행하는 장치
KR20220038121A (ko) 비디오/영상 코딩 시스템에서 라이스 파라미터 도출 방법 및 장치
JP2024053059A (ja) 画像コーディングシステムで単純化されたレジデュアルデータコーディングを用いる画像デコード方法及びその装置
JP7260711B2 (ja) 映像コーディングシステムにおいてレジデュアルコーディング方法に対するフラグを使用する映像デコード方法及びその装置
KR20210060498A (ko) 변환 계수 코딩 방법 및 장치
JP7288149B2 (ja) 画像コーディングシステムにおけるレジデュアルコーディングに対する画像デコード方法及びその装置
KR20240068680A (ko) 변환 계수 코딩 방법 및 그 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240409