本発明の目的、技術案および利点をより明確にするために、以下、図面を参照して本発明の実施形態をさらに詳細に説明する。
本発明の実施例を詳細に説明する前に、まず、本発明の実施例に係る応用シーンについて説明する。
図1は、本発明の実施例による符号化・復号化システムの構造概略図である。図1に示すように、符号化・復号化システムは、エンコーダ01、デコーダ02、記憶装置03、およびリンク04を含む。エンコーダ01は、記憶装置03と通信することができ、エンコーダ01は、リンク04を介してデコーダ02と通信することもできる。デコーダ02は、記憶装置03と通信することもできる。
エンコーダ01は、データソースを取得し、データソースを符号化し、符号化されたコードストリームを記憶装置03に転送して記憶し、またはリンク04を介してデコーダ02に直接に転送するために使用される。デコーダ02は、記憶装置03からコードストリームを取得して復号化することにより、データソースを得ることができ、またはエンコーダ01がリンク04を介して転送したコードストリームを受信した後、復号化することにより、データソースを得ることができる。ここで、データソースは、撮影された画像であってもよく、撮影されたビデオであってもよい。エンコーダ01およびデコーダ02は、いずれも単独で電子装置として使用されることができる。記憶装置03は、複数種類の分散型またはローカルアクセス型のデータ記憶媒体のいずれかを含むことができる。例えば、ハードディスクドライブ、ブルーレイディスク、読み取り専用ディスク、フラッシュメモリ、または符号化されたデータを記憶するための他の適切なデジタル記憶媒体が挙げられる。リンク04は、少なくとも1つの通信媒体を含むことができ、当該少なくとも1つの通信媒体、例えばRF(Radio Frequency、無線周波数)スペクトルまたは1つ以上の物理的伝送線路などの無線および/または有線通信媒体を含むことができる。
図2を参照して、図2は一例示的な実施例による符号化・復号化のフローチャートであり、符号化は、予測、変換、量子化、エントロピー符号化のいくつかのプロセスを含み、復号化は、復号化、逆変換、逆量子化、予測のいくつかのプロセスを含む。現在、通常はバイナリ算術符号化・復号化技術を用いて、現在の構文要素に対して符号化・復号化を行う。符号化および復号化における予測は、一般的に、イントラ予測、複数行予測、クロスコンポーネント予測、およびマトリクスに基づくイントラ予測などを含み、なお、符号化および復号化には、イントラ輝度候補リスト、適応ループフィルタ、適応的動きベクトル精度符号化・復号化技術、及びBD(Block-based quantized residual Differential、ブロックに基づく量子化された残差の差分)PCM(Pulse Code Modulation、パルス符号変調)符号化・復号化技術なども用いられ、次に、これらの予測方式と符号化・復号化技術について簡単に説明する。
「バイナリ算術符号化」
バイナリ算術符号化とは、現在の構文要素が二値化された後の各bin(ビット)に対してその確率モデルパラメータに基づいて算術符号化を行うことにより、最後のコードストリームを得ることを指す。それは、コンテキストに基づく適応算術符号化とバイパスに基づくバイナリ算術符号化の2つの符号化方式を含む。
CABAC(Context-based Adaptive Binary Arithmetic Coding、コンテキストに基づく適応バイナリ算術符号化)は、適応バイナリ算術符号化とよく設計された1つのコンテキストモデルを組み合わせて得られた方法である。符号化において、各シンボルの符号化は、いずれも前に符号化された結果に関連し、シンボルストリームの統計特性に応じて、各シンボルに対してコードワードを適応的に割り当て、特に、出現確率が非等確率であるシンボルに適用し、コードレートをさらに圧縮することができる。構文要素の各ビットは、コンテキストモデラーに順次に入力され、エンコーダは、前に符号化された構文要素またはビットに基づいて、各入力されたビットに対して適切な確率モデルを割り当て、当該プロセスはコンテキストモデリングと呼ばれる。ビットとそれに割り当てられた確率モデルをバイナリ算術エンコーダに送って符号化する。エンコーダは、ビット値に従ってコンテキストモデルを更新し、これは符号化の適応である。
バイパスに基づくバイナリ算術符号化(Bypass-based Binary Arithmetic Coding)は、等確率に基づくバイナリ算術符号化モード(バイパス符号化モードとも呼ばれる)であり、CABACに比べて、Bypassは確率更新の過程を欠いており、確率状態を適応的に更新する必要もなく、0と1の確率がそれぞれ50%の固定確率で符号化し、この符号化の方法は、より簡単であり、符号化の複雑度が低く、メモリ消費が小さく、等確率のシンボルに適している。
「イントラ予測」
イントラ予測とは、画像空間領域の相関を利用して、現在の画像ブロックの周りで符号化され再構築された隣接ブロックの画素を用いて、当該現在の画像ブロックの画素を予測することにより、画像空間領域の冗長性を除去する目的を達成することを指す。イントラ予測には複数種類のイントラ予測モードが規定され、各イントラ予測モードは、1種類のテクスチャ方向に対応する(DCモードを除く)。例えば、画像のテクスチャが水平状に配置されている場合、水平予測モードを選択することにより、画像情報をより良く予測することができる。例示的に、HEVC(High Efficiency Video Coding、高効率ビデオ符号化)では、輝度コンポーネントは、5種類のサイズの予測ユニット(画像ブロックまたはサブブロック)をサポートすることができ、各種類のサイズの予測ユニットは、表1に示すように、Planarモード、DCモード、33種類の角度モードを含む35種類のイントラ予測モードに対応する。
当該複数種類のイントラ予測モードに対応する予測方向は、図3に示すようになる。Planarモードは、画素値が緩やかに変化する領域に適用され、実施例では、水平方向と垂直方向の2つの線形フィルタを用いてフィルタリング処理を行い、両者の平均値を現在の画像ブロックの予測値とすることができる。DCモードは、面積が大きい平坦領域に適用され、現在の画像ブロックの周りで符号化され再構築された隣接ブロックの平均画素値を現在の画像ブロックの予測値とすることができる。一例として、PlanarモードおよびDCモードは、非角度モードとも呼ばれる。続けて図3を参照して、角度モードでは、モード番号26とモード番号10に対応するイントラ予測モードは、それぞれ垂直方向と水平方向を示し、本発明の一実現可能な実施形態では、モード番号26に隣接するモード番号に対応するイントラ予測モードを総称して垂直予測モードと呼び、モード番号10に隣接するモード番号に対応するイントラ予測モードを総称して水平予測モードと呼ぶことができ、例示的に、垂直予測モードは、モード番号2~モード番号18を含み、水平系測モードは、モード番号19~モード番号34を含むことができる。なお、次世代の符号化・復号化標準規格であるVVC(Versatile Video Coding、ヴァーサトルビデオ符号化)では、図4に示すように、角度モードに対してより細かく分割する。
「従来のイントラ予測」
従来のイントラ予測で採用された方法では、周辺画素を用いて現在のブロックを予測し、空間領域の冗長性を除去する。従来のイントラ予測モードでは、採用された目標予測モードは、MPM(Most probable mode:最も可能性の高いイントラ予測モード)リストからのものであってもよく、非MPMリストからのものであってもよい。
「ISP(Intra Sub-block-Partitions、イントラサブブロック予測)」
ISP技術において、イントラ予測で採用された方法では、画像ブロックを複数のサブブロックに分割して予測し、ISP技術をサポートする画像ブロックにとってサポートできる分割方式は、水平分割と垂直分割とを含む。復号化側にとって、現在のブロックがISPモードを起動する場合、現在のブロックのサイズがデフォルトで1種類の分割方式のみをサポートすれば、現在のブロックをデフォルトの分割方向で分割し、且つ予測、逆変換、逆量子化などの処理を行い、現在のブロックのサイズが2種類の分割方式をサポートすれば、その分割方向をさらに解析し、現在のブロックを確定された分割方向で分割し、且つ予測、逆変換、逆量子化などの処理を行う必要がある。
「MRL(Multi-Reference Line、複数行予測)」
MRL技術で採用された方法では、現在のブロックの参照画素に基づいて予測し、参照画素は、現在のブロックの隣接行からのものであってもよい。例えば、参考画素は、図5に示すReference line0(0行目)、Reference line1(1行目)、Reference line2(2行目)、Reference line3(3行目)からのものであってもよい。ここで、0行目は、現在のブロックの境界に隣接する行であり、1行目は、現在のブロックの境界に次に隣接する行であり、2行目は、1行目に隣接する行であり、3行目は、2行目に隣接する行である。現在、次世代の符号化・復号化標準規格であるVVCでは、参照画素は、Reference line0、Reference line1及びReference line3からのものであり、Reference2は、使用されていない。ここで、前記lineは、現在のブロックの上側の行であってもよいし、現在のブロックの左側の列であってもよい。
「MPM」
HEVCにおいて、MPMの個数は3であり、現在のVVCにおいて、MPMの個数は6である。ISPおよびMRLモードの場合、そのイントラ予測モードは、MPMからのものでなければならず、従来のイントラ予測の場合、そのイントラ予測モードは、MPMからも非MPMからのものである可能性がある。
「CCLM(Cross-Component Linear Model Prediction、クロスコンポーネント予測)」
CCLM技術で採用された方法は、線形予測モデルを用いて、輝度コンポーネントから画素値を再構築し、線形方程式を利用することにより、色度コンポーネント予測画素値を得る技術であり、画像コンポーネント間の冗長性を除去し、符号化性能をさらに向上させることができる。現在、3種類のクロスコンポーネント予測モードがあり、それぞれMDLM_Lモード、MDLM_TモードとDMモードであり、MDLM_Lモードは、左テンプレート情報のみを用いて線形パラメータを得たクロスコンポーネント予測モードであり、MDLM_Tは、上テンプレート情報のみを用いて線形モデルパラメータを導出するクロスコンポーネント予測モードであり、DMは、色度について輝度と同様の予測モードを用いる。
「適応的なループフィルタリング」
適応ループフィルタ(Adaptive loop filter、ALF)について、自身の勾配方向に応じて、固定のフィルタから1種類のフィルタを選択してフィルタリングすることができ、且つCTUレベルのflagによって当該ブロックがALFフィルタリングをオンにするかどうかを示すことができ、色度と輝度は別々に制御できる。
「AMVR(adaptive motion vector resolution、適応的動きベクトル精度)」
AMVRは、動きベクトル差分符号化を行う際に異なる精度を採用できることを示すために使用され、採用された精度は、4画素精度のような整数画素精度であってもよいし、1/16画素精度のような非整数画素精度であってもよい。当該技術は、従来のイントラ予測における動きベクトルデータ符号化に適用でき、affine(アフィン)予測モードにおける動きベクトルデータ符号化にも適用できる。
「MIP(Matrix Based Intra Prediction、マトリクスに基づくイントラ予測)」
マトリクスに基づくイントラ予測技術とは、現在のブロックの上及び左の隣接画素を参照ピクセルとし、マトリクスベクトル乗算器に送り、バイアスを加算することにより、現在のブロックの予測画素値を確定することを指す。
「BDPCM」
BDPCMとは、予測ステップにおいて画素を予測する際に、対応する参照画素の画素値を垂直方向に直接コピーすること、または、対応する参照画素の画素値を水平方向にコピーすることを指し、垂直予測および水平予測と同様である。次に、予測画素と元の画素との残差値を量子化し、量子化された残差を差分符号化する。
例として、現在のブロックのサイズがM*Nである場合、
は、予測残差を表し、
は、予測残差r
i,jを量子化して量子化された後の残差を得ることを表す。次に、量子化された後の残差Q(r
i,j)を差分符号化することにより、差分符号化結果
を得る。
復号化側にとって、逆累積プロセスは、量子化された後の残差データを得るために使用される。
次に、量子化された後の残差を逆量子化し、予測値と加算することにより、再構築画素値を得る。
「JCCR(Joint Coding of Chrominance residuals、色度残差のジョイント符号化)」
JCCRは、CB(青色色度)コンポーネントとCR(赤色色度)コンポーネントをジョイント符号化する方式であり、色度残差の分布を観察することにより、CBとCRが常に負の相関を示す傾向があることを確認しやすいので、JCCRが、このような現象を利用してCBとCRをジョイント符号化する方式を提案し、例えば、(CB-CR)/2、即ちCBコンポーネントとCRコンポーネントの平均値を符号化すればよい。
関連技術では、異なる予測モードまたは符号化・復号化技術において、復号化側は、異なる構文要素を符号化側に伝送する必要があり、また、構文要素を伝送するために必要なコンテキストモデルが多く、符号化・復号化プロセスの複雑度が高く、メモリオーバーヘッドが大きい。かかる事情に鑑みて、本発明は、必要なコンテキストモデルの数を減らし、ひいては、符号化・復号化プロセスの複雑さを軽減し、メモリオーバーヘッドを削減することができる符号化・復号化の方法を提供する。
「ISPモード」
ISPモードでは、復号化側と符号化側との間で伝送を必要とする構文要素は、第1のISP指示情報と第2のISP指示情報とを含むことができ、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用され、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。例示的に、第1の指示情報は、intra_subpartitions_mode_flagであり、第2の指示情報は、intra_subpartitions_split_flagである。
そして、第1のISP指示情報の符号化または復号化を行うと確定したときに、1つのコンテキストモデルに基づいて、第1のISP指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要があり、第2のISP指示情報の符号化または復号化を行うと確定したときに、別の異なるコンテキストモデルに基づいて、第2のISP指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要がある。つまり、以下の表2に示すように、2つのコンテキストモデルを使用して、第1のISP指示情報および第2のISP指示情報を符号化・復号化する必要がある。
「ISPモードの第1の実施形態」
図6は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図1に示すように、当該方法は以下のステップを含む。
ステップ601において、第1のISP指示情報の符号化を行うと確定したときに、1つのコンテキストモデルに基づいて、第1のISP指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用される。
一例として、現在のブロックがサブブロック分割技術をサポートする条件を満たす場合、現在のブロックは、サブブロック分割技術を使用しようと試みることができ、符号化側は、RDO(Rate Distortion Optimization、レート歪み最適化)によって最終的にサブブロック分割技術を使用するかどうかを決定し、第1のISP指示情報の符号化を行うことができ、第1のISP指示情報によって、現在のブロックがイントラサブブロック予測モードを起動するかどうかを示す。ここで、サブブロック分割技術をサポートする条件は、現在のブロックが輝度ブロックであることと、現在のブロックが複数行予測モードを起動しないことと、現在のブロックのサイズが一定の制限条件を満たすことと、を含む。もちろん、サブブロック分割技術をサポートする条件は、上記の3つの条件に限定されるだけでなく、他の条件を含んでもよい。
例示的に、第1のISP指示情報は、intra_subpartitions_mode_flagであり、intra_subpartitions_mode_flagは、現在のブロックがイントラサブブロック予測モードを起動するかどうかを示すフラグである。intra_subpartitions_mode_flagが0である場合、現在のブロックがイントラサブブロック予測モードを起動しないことを示し、intra_subpartitions_mode_flagが1である場合、現在のブロックがイントラサブブロック予測モードを起動することを示す。
ステップ602において、第2のISP指示情報の符号化を行うと確定したときに、第2のISP指示情報に対してバイパスに基づくバイナリ算術符号化を行い、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。
ここで、サブブロック分割方式は、水平分割方向と垂直分割方向とを含む。現在のブロックが2つの分割方向をサポートする場合、最終的に使用される分割方向を確定し、使用される分割方向に基づいて、第2のISP指示情報の符号化を継続する必要がある。現在のブロックが1つの分割方向のみをサポートする場合、第2のISP指示情報の符号化を継続する必要がない。
ここで、第2のISP指示情報は、intra_subpartitions_split_flagであってもよく、intra_subpartitions_split_flagは、現在のブロックのISPモードのサブブロック分割方式を示すフラグである。例示的に、intra_subpartitions_split_flagが0である場合、現在のブロックのISPモードのサブブロック分割方式が水平分割であることを示し、intra_subpartitions_split_flagが1である場合、現在のブロックのISPモードのサブブロック分割方式が垂直分割であることを示す。
一例として、ISPモードにおける構文要素の符号化の方式は、表3に示す通りである。
つまり、関連技術における第2のISP指示情報の符号化方式を修正し、複雑なCABAC符号化方式をバイパス符号化方式で置き換えることにより、メモリオーバーヘッドを削減し、符号化の複雑度を軽減することができ、そして、符号化の性能から、性能は基本的に変わらない。
図7は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図6の実施例による符号化の方法に対応する復号化の方法であり、図7に示すように、当該方法は以下のステップを含む。
ステップ701において、第1のISP指示情報の復号化を行うと確定したときに、1つのコンテキストモデルに基づいて、第1のISP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用される。
一例として、現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たす場合、符号化ストリームにおける第1のISP指示情報を復号化することにより、現在のブロックがイントラサブブロック予測モードを起動するかどうかを解析する。ここで、解析条件は、現在のブロックが輝度ブロックであることと、現在のブロックが複数行予測モードを起動しないことと、現在のブロックのサイズが一定の制限条件を満たすことと、を含む。もちろん、当該解析条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
例示的に、第1のISP指示情報は、intra_subpartitions_mode_flagである。intra_subpartitions_mode_flagが0である場合、現在のブロックがイントラサブブロック予測モードを起動しないことを示し、intra_subpartitions_mode_flagが1である場合、現在のブロックがイントラサブブロック予測モードを起動することを示す。
ステップ702において、第2のISP指示情報の復号化を行うと確定したときに、第2のISP指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。
例示的に、第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動することを指示し、且つ現在のブロックが2つの分割方向をサポートする場合、第2のISP指示情報の復号化を行う必要があると確定した。第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動しないことを指示し、または第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動することを指示し、且つ現在のブロックが1つの分割方向のみをサポートする場合、第2のISP指示情報の復号化を行う必要がないと確定した。
例えば、intra_subpartitions_mode_flagが1であり、且つ現在のブロックが2つの分割方向をサポートする場合、分割方向のフラグであるintra_subpartitions_split_flagをさらに解析する必要がある。intra_subpartitions_mode_flagが0であり、またはintra_subpartitions_mode_flagが1であるが、現在のブロックがある一定方向の分割方向のみをサポートする場合、分割方向を表すフラグを解析する必要がない。
以上の2つのISP指示情報に基づいて、復号化側は、現在のブロックがISPモードを起動するかどうか、及び対応する分割方向を確定することにより、確定された分割方向に基づいて現在のブロックを予測して、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
「ISPモードの第2の実施形態」
図8は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図8に示すように、当該方法は以下のステップを含む。
ステップ801において、第1のISP指示情報の符号化を行うと確定したときに、第1のISP指示情報に対してバイパスに基づくバイナリ算術符号化を行い、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用される。
一例として、現在のブロックがサブブロック分割技術をサポートする条件を満たす場合、現在のブロックは、サブブロック分割技術を使用しようと試みることができ、符号化側は、RDOによって最終的にサブブロック分割技術を使用するかどうかを決定し、第1のISP指示情報の符号化を行うことができ、第1のISP指示情報によって、現在のブロックがイントラサブブロック予測モードを起動するかどうかを示す。ここで、サブブロック分割技術をサポートする条件は、現在のブロックが輝度ブロックであることと、現在のブロックが複数行予測モードを起動しないことと、現在のブロックのサイズが一定の制限条件を満たすことと、を含む。もちろん、サブブロック分割技術をサポートする条件は、上記の3つの条件に限定されるだけでなく、他の条件を含んでもよい。
例示的に、第1のISP指示情報は、intra_subpartitions_mode_flagであり、intra_subpartitions_mode_flagは、現在のブロックがイントラサブブロック予測モードを起動するかどうかを示すフラグである。intra_subpartitions_mode_flagが0である場合、現在のブロックがイントラサブブロック予測モードを起動しないことを示し、intra_subpartitions_mode_flagが1である場合、現在のブロックがイントラサブブロック予測モードを起動することを示す。
ステップ802において、第2のISP指示情報の符号化を行うと確定したときに、第2のISP指示情報に対してバイパスに基づくバイナリ算術符号化を行い、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。
ここで、サブブロック分割方式は、水平分割方向と垂直分割方向とを含む。現在のブロックが2つの分割方向をサポートする場合、最終的に使用される分割方向を確定し、使用される分割方向に基づいて、第2のISP指示情報の符号化を継続する必要がある。現在のブロックが1つの分割方向のみをサポートする場合、第2のISP指示情報の符号化を継続する必要がない。
ここで、第2のISP指示情報は、intra_subpartitions_split_flagであってもよく、intra_subpartitions_split_flagは、現在のブロックのISPモードのサブブロック分割方式を示すフラグである。例示的に、intra_subpartitions_split_flagが0である場合、現在のブロックのISPモードのサブブロック分割方式が水平分割であることを示し、intra_subpartitions_split_flagが1である場合、現在のブロックのISPモードのサブブロック分割方式が垂直分割であることを示す。
一例として、ISPモードにおける構文要素の符号化方式は、表4に示す通りである。
つまり、関連技術におけるintra_subpartitions_mode_flagのフラグ、及びintra_subpartitions_split_flagのフラグの符号化方式を修正し、元の複雑なCABAC符号化方式をバイパス符号化方式で置き換えることにより、メモリオーバーヘッドをさらに削減し、符号化の複雑度を軽減することができ、そして、符号化の性能から、性能は基本的に変わらない。
図9は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図8の実施例による符号化の方法に対応する復号化の方法であり、図9に示すように、当該方法は以下のステップを含む。
ステップ901において、第1のISP指示情報の復号化を行うと確定したときに、第1のISP指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用される。
一例として、現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たす場合、符号化ストリームにおける第1のISP指示情報を復号化することにより、現在のブロックがイントラサブブロック予測モードを起動するかどうかを解析する。ここで、解析条件は、現在のブロックが輝度ブロックであることと、現在のブロックが複数行予測モードを起動しないことと、現在のブロックのサイズが一定の制限条件を満たすことと、を含む。もちろん、当該解析条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
例示的に、第1のISP指示情報は、intra_subpartitions_mode_flagである。intra_subpartitions_mode_flagが0である場合、現在のブロックがイントラサブブロック予測モードを起動しないことを示し、intra_subpartitions_mode_flagが1である場合、現在のブロックがイントラサブブロック予測モードを起動することを示す。
ステップ902において、第2のISP指示情報の復号化を行うと確定したときに、第2のISP指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。
例示的に、第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動することを指示し、且つ現在のブロックが2つの分割方向をサポートする場合、第2のISP指示情報の復号化を行う必要があると確定した。第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動しないことを指示し、または第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動することを指示し、且つ現在のブロックが1つの分割方向のみをサポートする場合、第2のISP指示情報の復号化を行う必要がないと確定した。
例えば、intra_subpartitions_mode_flagが1であり、且つ現在のブロックが2つの分割方向をサポートする場合、分割方向のフラグであるintra_subpartitions_split_flagをさらに解析する必要がある。intra_subpartitions_mode_flagが0であり、またはintra_subpartitions_mode_flagが1であるが、現在のブロックがある一定方向の分割方向のみをサポートする場合、分割方向を表すフラグを解析する必要がない。
以上の2つのISP指示情報に基づいて、復号化側は、現在のブロックがISPモードを起動するかどうか、及び対応する分割方向を確定することにより、確定された分割方向に基づいて現在のブロックを予測して、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
「MRLモード」
「MRLモードの第1の実施形態」
図10は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図10に示すように、当該方法は以下のステップを含む。
ステップ1001において、現在のブロックの幅と高さのサイズがM*Nであり、Mが64未満且つNが64未満の場合、現在のブロックは、複数行予測モードをサポートしない。
例示的に、現在のブロックの幅と高さのサイズがM*Nである場合、現在のブロックは、複数行予測モードをサポートしない。
「MRLモードの第2の実施形態」
MRLモードにおいて、復号化側と符号化側との間で伝送を必要とする構文要素は、参照行指示情報を含むことができ、参照行指示情報が、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行のインデックス情報を指示するために使用される。例示的に、参照行指示情報は、intra_luma_ref_idxである。
関連技術では、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、複数行予測モードに対応する参照行指示情報が、最大2ビットを占める場合、この2ビットについて、以下の表5および表6に示すように、2つの異なるコンテキストモデルを使用して、符号化・復号化する必要がある。
ここで、第1のbinとは、参照行指示情報の第1のビットを指し、第1のコンテキストモデルに基づいて符号化・復号化する必要があり、第2のbinとは、参照行指示情報の第2のビットを指し、第2のコンテキストモデルに基づいて符号化・復号化する必要があり、第1のコンテキストモデルと第2のコンテキストモデルは異なる。
そして、目標参照行のインデックス情報と目標参照行の行番号との対応関係を表7に示す。
表7から分かるように、参照行指示情報で指示されるインデックス情報が0である場合、目標参照行は、0行目であり、参照行指示情報で指示されるインデックス情報が1である場合、目標参照行は、1行目であり、参照行指示情報で指示されるインデックス情報が2である場合、目標参照行は、3行目である。
なお、本発明の実施例における行は、現在のブロックの上側の行であってもよいし、現在のブロックの左側の列であってもよい。
図11は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図10に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、複数行予測モードに対応する参照行指示情報が、最大2ビットを占める場合、当該方法は以下のステップを含む。
ステップ1101において、1つのコンテキストモデルに基づいて、参照行指示情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化を行う。
一例として、現在のブロックが複数行予測技術をサポートする条件を満たすかどうかを確定することができ、現在のブロックが複数行予測技術をサポートする条件を満たす場合、現在のブロックが各参照行を用いて符号化しようと試みることができると確定する。符号化側は、RDOによって最終的な参照画素ソースを決定し、参照行インデックス情報を符号化ストリームに符号化することができる。ここで、複数行予測技術をサポートする条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行を含まないことと、を含む。もちろん、複数行予測技術をサポートする条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
一例として、複数行予測技術を使用することができる場合、すべての参照行を巡回し、RDOによって最終的な目標参照行を決定し、参照行指示情報を符号化する。符号化ストリームにおいて、具体的な状況に応じて参照行指示情報を符号化することができる。一例として、参照行指示情報は、intra_luma_ref_idxであってもよい。
なお、本発明の実施例における行は、現在のブロックの上側の行であってもよいし、現在のブロックの左側の列であってもよい。
ステップ1102において、参照行指示情報の第2のビットに対して符号化を行う必要があるときに、参照行指示情報の第2のビットに対してバイパスに基づくバイナリ算術符号化を行う。
本発明の実施例において、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、複数行予測モードに対応する参照行指示情報が、最大2ビットを占める場合、この2ビットの第1のビットについて、1つのコンテキストモデルを使用して符号化することができ、第2のビットについて、バイパス符号化モードに基づいて符号化することができ、このようにすると、1つのコンテキストモデルを使用するだけで、参照行指示情報の全てのビットに対する符号化が可能になり、使用されるコンテキストモデルの数を減らし、符号化の複雑さとメモリ消費をさらに軽減し、そして符号化性能も大きく変化していない。
例えば、参照行指示情報によって使用されるコンテキストモデルは、以下の表8および表9に示す通りである。
図12は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図11に示された符号化の方法に対応する復号化の方法であり、図12に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、複数行予測モードに対応する参照行指示情報が、最大2ビットを占める場合、当該方法は以下のステップを含む。
ステップ1201において、1つのコンテキストモデルに基づいて、参照行指示情報の第1のビットに対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ1202において、参照行指示情報の第2のビットに対して復号化を行う必要があるときに、参照行指示情報の第2のビットに対してバイパスに基づくバイナリ算術復号化を行う。
参照行指示情報を復号化することにより、参照行指示情報に基づいて、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行を確定することができ、次に、目標参照行を利用して現在のブロックを予測する。
一例として、現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たす場合、参照行指示情報を復号化することにより、現在のブロックの参照画素ソースを確定する。解析条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行ではないことと、を含む。もちろん、当該解析条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
一例として、現在のブロックが複数行予測を使用することができる場合、intra_luma_ref_idxの値に基づいて、現在のブロックの参照画素を確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得るために、intra_luma_ref_idxを解析する必要がある。
「MRLモードの第3の実施形態」
関連技術では、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が4であり、複数行予測モードに対応する参照行指示情報が、最大3ビットを占める場合、この3ビットについて、以下の表10および表11に示すように、3つの異なるコンテキストモデルを使用して、符号化・復号化する必要がある。
ここで、第1のbinとは、参照行指示情報の第1のビットを指し、第1のコンテキストモデルに基づいて符号化・復号化する必要があり、第2のbinとは、参照行指示情報の第2のビットを指し、第2のコンテキストモデルに基づいて符号化・復号化する必要があり、第3のbinとは、参照行指示情報の第3のビットを指し、第3のコンテキストモデルに基づいて符号化・復号化する必要があり、この3つのコンテキストモデルは異なる。
そして、目標参照行のインデックス情報と対応する目標参照行の行番号を表12に示す。
表12から分かるように、参照行指示情報で指示されるインデックス情報が0である場合、目標参照行は、0行目であり、参照行指示情報で指示されるインデックス情報が1である場合、目標参照行は、1行目であり、参照行指示情報で指示されるインデックス情報が2である場合、目標参照行は、2行目であり、参照行指示情報で指示されるインデックス情報が3である場合、目標参照行は、3行目である。
図13は、本発明の実施例による符号化の方法のフローチャートであり、符号化側に適用され、図13に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が4であり、複数行予測モードに対応する参照行指示情報が、最大3ビットを占める場合、当該方法は以下のステップを含む。
ステップ1301において、1つのコンテキストモデルに基づいて、参照行指示情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化を行う。
一例として、現在のブロックが複数行予測技術をサポートする条件を満たすかどうかを確定することができ、現在のブロックが複数行予測技術をサポートする条件を満たす場合、現在のブロックが各参照行を用いて符号化しようと試みることができると確定する。符号化側は、RDOによって最終的な参照画素ソースを決定し、参照行インデックス情報を符号化ストリームに符号化することができる。ここで、複数行予測技術をサポートする条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行ではないことと、を含む。もちろん、複数行予測技術をサポートする条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
一例として、複数行予測技術を使用することができる場合、すべての参照行を巡回し、RDOによって最終的な目標参照行を決定し、参照行指示情報を符号化する。符号化ストリームにおいて、具体的な状況に応じて参照行指示情報を符号化することができる。一例として、参照行指示情報は、intra_luma_ref_idxであってもよい。
ステップ1302において、参照行指示情報の第2のビットに対して符号化を行う必要があるときに、参照行指示情報の第2のビットに対してバイパスに基づくバイナリ算術符号化を行う。
ステップ1303において、参照行指示情報の第3のビットに対して符号化を行う必要があるときに、参照行指示情報の第3のビットに対してバイパスに基づくバイナリ算術符号化を行う。
本発明の実施例において、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が4であり、複数行予測モードに対応する参照行指示情報が、最大3ビットを占める場合、この3ビットの第1のビットについて、1つのコンテキストモデルを使用して符号化することができ、第2のビット及び第3のビットについて、バイパス符号化モードに基づいて符号化することができ、このようにすると、1つのコンテキストモデルを使用するだけで、参照行指示情報の全てのビットに対する符号化が可能になり、使用されるコンテキストモデルの数を減らし、符号化の複雑さとメモリ消費をさらに軽減し、そして符号化性能も大きく変化していない。
例えば、参照行指示情報によって使用されるコンテキストモデルは、以下の表13および表14に示す通りである。
図14は、本発明の実施例による復号化の方法のフローチャートであり、復号化側に適用され、図12の実施例による符号化の方法に対応する復号化の方法であり、図14に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が4であり、複数行予測モードに対応する参照行指示情報が、最大3ビットを占める場合、当該方法は以下のステップを含む。
ステップ1401において、1つのコンテキストモデルに基づいて、参照行指示情報の第1のビットに対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ1402において、参照行指示情報の第2のビットに対して復号化を行う必要があるときに、参照行指示情報の第2のビットに対してバイパスに基づくバイナリ算術復号化を行う。
ステップ1403において、参照行指示情報の第3のビットに対して復号化を行う必要があるときに、参照行指示情報の第3のビットに対してバイパスに基づくバイナリ算術復号化を行う。
一例として、現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たす場合、参照行指示情報を復号化することにより、現在のブロックの参照画素ソースを確定する。解析条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行ではないことと、を含む。もちろん、当該解析条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
一例として、現在のブロックが複数行予測を使用することができる場合、intra_luma_ref_idxの値に基づいて、現在のブロックの参照画素を確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得るために、intra_luma_ref_idxを解析する必要がある。
「MRLモードの第4の実施形態」
図15は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図15に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、ここで、インデックス情報が0である候補参照行は0行目であり、インデックス情報が1である候補参照行は1行目であり、インデックス情報が2である候補参照行は2行目である場合、当該方法は以下のステップを含む。
ステップ1501において、複数行予測モードに基づいて現在のブロックを予測するときに、目標参照行に基づいて現在のブロックを予測し、目標参照行は、参照行指示情報に基づいて確定される。
ここで、参照行指示情報で指示されるインデックス情報が0である場合、目標参照行は、0行目である。
参照行指示情報で指示されるインデックス情報が1である場合、目標参照行は、1行目である。
参照行指示情報で指示されるインデックス情報が2である場合、目標参照行は、2行目である。
例示的に、参照行指示情報で指示されるインデックス情報と対応する目標参照行は、以下の表15に示す通りである。
本発明の実施例において、最も近い3行3列を目標参照行の候補として選択することができる。つまり、目標参照行は、候補参照行から選択された1行であり、ここで、複数行予測モードに対応する候補参照行の行数は3であり、且つ現在のブロックの境界に最も近い3行3列が候補参照行として用いられる。
「MRLモードの第5の実施形態」
図16は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図16に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、ここで、インデックス情報が0である候補参照行は0行目であり、インデックス情報が1である候補参照行は1行目であり、インデックス情報が2である候補参照行は2行目である場合、当該方法は以下のステップを含む。
ステップ1601において、複数行予測モードに基づいて現在のブロックを予測するときに、目標参照行に基づいて現在のブロックを予測し、目標参照行は、参照行指示情報に基づいて確定される。
ここで、参照行指示情報で指示されるインデックス情報が0である場合、目標参照行は、0行目である。
参照行指示情報で指示されるインデックス情報が1である場合、目標参照行は、2行目である。
参照行指示情報で指示されるインデックス情報が2である場合、目標参照行は、3行目である。
例示的に、参照行指示情報で指示されるインデックス情報と対応する目標参照行は、以下の表16に示す通りである。
本発明の実施例において、0行目、2行目及び3行目を目標参照行の候補として選択することができる。
「MRLモードの第6の実施形態」
図17は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図17に示すように、現在のブロックが複数行予測モードをサポートすると確定する場合、当該方法は以下のステップを含む。
ステップ1701において、複数行予測モードに基づいて現在のブロックを予測する前に、複数行予測モードに対応する候補参照行の行数に基づいて、行数指示情報に対して復号化を行い、行数指示情報は、複数行予測モードに対応する候補参照行の行数を指示するために使用される。
ステップ1702において、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行は、参照行指示情報を符号化し、参照行指示情報は、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行のインデックス情報を指示するために使用される。
ステップ1703において、目標参照行に基づいて現在のブロックを予測する。
本発明の実施例において、複数行予測モードに対応する候補参照行の行数を指示できる行数指示情報を追加することにより、複数行予測モードが参照行数を選択できるようになる。
一例として、行数指示情報は、シーケンスパラメータセット(SPS)、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。好ましくは、行数指示情報は、シーケンスパラメータセットに存在し、つまり、SPSレベルに複数行予測モードに対応する候補参照行の行数を指示するために使用される構文を追加することができる。
図18は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図17に示すように、現在のブロックが複数行予測モードをサポートすると確定する場合、当該方法は以下のステップを含む。
ステップ1801において、複数行予測モードに基づいて現在のブロックを予測する前に、行数指示情報に対して復号化を行い、行数指示情報は、複数行予測モードに対応する候補参照行の行数を指示するために使用される。
ステップ1802において、行数指示情報に基づいて複数行予測モードに対応する候補参照行の行数を確定する。
ステップ1803において、複数行予測モードに対応する候補参照行の行数と参照行指示情報に基づいて目標参照行を確定し、参照行指示情報は、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行のインデックス情報を指示するために使用される。
ステップ1804において、目標参照行に基づいて現在のブロックを予測する。
本発明の実施例において、複数行予測モードに対応する候補参照行の行数を指示できる行数指示情報を追加することにより、複数行予測モードが参照行数を選択できるようになる。
一例として、行数指示情報は、シーケンスパラメータセット(SPS)、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。好ましくは、行数指示情報は、シーケンスパラメータセットに存在し、つまり、SPSレベルに複数行予測モードに対応する候補参照行の行数を指示するために使用される構文を追加することができる。
「AMVRモード」
AMVRモードでは、復号化側と符号化側との間で伝送を必要とする構文要素は、第1のAMVR指示情報と第2のAMVR指示情報とを含むことができ、第1のAMVR指示情報は、AMVRモードを起動するかどうかを指示するために使用され、第2のAMVR指示情報は、第2のAMVR指示情報は、AMVRモードで運転ベクトル差分の符号化または復号化を行うときに使用される画素精度のインデックス情報を指示するために使用される。一例として、第1のAMVR指示情報は、amvr_flagであり、第2のAMVR指示情報は、amvr_precision_flagである。
関連技術では、アフィン予測モードと非アフィン予測モードについては、非アフィン予測モードとは、アフィン予測モード以外の他の予測モードを指し、第1のAMVR指示情報および第2のAMVR指示情報について、表17および表18に示すように、符号化および復号化のために合計で4つのコンテキストモデルを必要とする。
表17および表18から分かるように、現在のブロックがアフィン予測モードを起動する場合、第1のAMVR指示情報の符号化または復号化を行うときに、第3のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要があり、第2のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第4のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要がある。現在のブロックが非アフィン予測モードを起動する場合、第1のAMVR指示情報の符号化または復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要があり、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要がある。つまり、AMVR指示情報に対して符号化または復号化を行うためには、合計で4つの異なるコンテキストモデルを必要とし、メモリ消費が大きい。
「AMVRモードの第1の実施形態」
図19は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図19に示すように、当該方法は以下のステップを含む。
ステップ1901において、現在のブロックがアフィン予測モードを起動し、またはアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ1902において、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のコンテキストモデルと第2のコンテキストモデルは異なる。
一例として、現在のブロックが適応的動きベクトル精度を使用できるという条件を満たす場合、現在のブロックは、複数の動きベクトル精度を使用して符号化しようと試みることができる。例示的に、符号化側は、RDOによってAMVRを起動するかどうか、および採用された動きベクトル精度を決定し、対応する構文情報を符号化ストリームに符号化することができる。ここで、適応的動きベクトル精度を使用する条件は、現在のブロックがイントラ予測ブロックであることと、現在のブロックの動き情報が非ゼロ動きベクトル差分を含むことと、を含む。もちろん、適応的動きベクトル精度を使用する条件は、上記の条件に限定されず、他の条件を含んでもよい。
図20は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図19に示された符号化の方法に対応する復号化の方法であり、図20に示すように、当該方法は以下のステップを含む。
ステップ2001において、現在のブロックがアフィン予測モードを起動し、またはアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
一例として、復号化側が現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たすと確定した場合、第1のAMVRを解析することにより、現在のブロックがAMVRを起動するかどうか、即ち適応的動きベクトル精度を使用するかどうかを確定する。ここで、解析条件は、現在のブロックがフレーム間ブロックであることと、現在のブロックの動き情報が非ゼロ動きベクトル差分を含むことと、を含む。もちろん、解析条件は、上記の条件に限定されず、他の条件を含んでもよい。
ステップ2002において、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデルと第2のコンテキストモデルは異なる。
現在のブロックがAMVRモードを起動したと確定した場合、第2のAMVR指示情報をさらに解析することにより、使用された精度を確定する必要もある。復号化側が、第1のAMVR指示情報及び第2のAMVR指示情報に基づいて、現在のブロックの動き情報の動きベクトル精度を一意に確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
例示的に、アフィン予測モードと非アフィン予測モードについては、第1のAMVR指示情報及び第2のAMVR指示情報に使用されるコンテキストモデルは、以下の表19に示す通りである。
本発明の実施例において、AMVR指示情報が、Affineアフィン予測モード及び非affineアフィン予測モードでは、コンテキストモデルを共用することができ、このようにすると、AMVRで必要なコンテキストモデルを2つに減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「AMVRモードの第2の実施形態」
図21は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図21に示すように、当該方法は以下のステップを含む。
ステップ2101において、現在のブロックがアフィン予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
ステップ2102において、現在のブロックがアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第2のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
図22は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図21に示された符号化の方法に対応する復号化の方法であり、図22に示すように、当該方法は以下のステップを含む。
ステップ2201において、現在のブロックがアフィン予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ステップ2202において、現在のブロックがアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第2のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
例示的に、アフィン予測モードと非アフィン予測モードについては、第1のAMVR指示情報及び第2のAMVR指示情報に使用されるコンテキストモデルは、以下の表20に示す通りである。
本発明の実施例において、Affineアフィン予測モード及び非affineアフィン予測モードでは、第2のAMVR指示情報に対して、バイパスに基づくバイナリ算術符号化または復号化を行うように修正され、このようにすると、AMVRで必要なコンテキストモデルを2つに減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「AMVRモードの第3の実施形態」
図23は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図23に示すように、当該方法は以下のステップを含む。
ステップ2301において、現在のブロックがアフィン予測モードを起動し、またはアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックが適応的動きベクトル精度AMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ2302において、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
図24は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図22に示された符号化の方法に対応する復号化の方法であり、図24に示すように、当該方法は以下のステップを含む。
ステップ2401において、現在のブロックがアフィン予測モードを起動し、またはアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックが適応的動きベクトル精度AMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ2402において、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
例示的に、アフィン予測モードと非アフィン予測モードについては、第1のAMVR指示情報及び第2のAMVR指示情報に使用されるコンテキストモデルは、以下の表21に示す通りである。
本発明の実施例において、第1のAMVR指示情報は、Affineアフィン予測モード及び非affineアフィン予測モードでは、1つのコンテキストモデルを共用し、第2のAMVR指示情報に対して、バイパスに基づくバイナリ算術符号化または復号化を行うように修正され、このようにすると、AMVRで必要なコンテキストモデルを1つに減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「AMVRモードの第4の実施形態」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該方法は以下のステップを含む。
ステップ1において、現在のブロックがアフィン予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ2において、現在のブロックがアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第3のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ここで、第1のコンテキストモデル、第2のコンテキストモデル及び第3のコンテキストモデルは、異なる。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、当該方法は、上記の符号化の方法に対応する復号化の方法であり、当該方法は、以下のステップを含む。
ステップ1において、現在のブロックがアフィン予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ2において、現在のブロックがアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第3のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ここで、第1のコンテキストモデル、第2のコンテキストモデル及び第3のコンテキストモデルは、異なる。
例示的に、アフィン予測モードと非アフィン予測モードについては、第1のAMVR指示情報及び第2のAMVR指示情報に使用されるコンテキストモデルは、以下の表22に示す通りである。
本発明の実施例において、第1のAMVR指示情報は、Affineアフィン予測モード及び非affineアフィン予測モードでは、1つのコンテキストモデルを共用することができ、このようにすると、AMVRモードで必要なコンテキストモデルを3つに減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「輝度のMPM」
現在のブロックが輝度ブロックである場合、符号化側と復号化側との間で予測モードインデックス情報を伝送する必要があり、予測モードインデックス情報は、MPMリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。符号化側と復号化側に、最も可能性の高いイントラ予測モードMPMリストが記憶され、従来のイントラ予測モード、イントラサブブロック予測モード及び複数行予測モードは、当該MPMリストを共用することができる。
関連技術では、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行である場合、予測モードインデックス情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号を行うためには、2つの異なるコンテキストモデルが必要であり、具体的にどのコンテキストモデルを使用するかは、現在のブロックがイントラサブブロック予測モードを起動するかどうかに依存する。
例示的に、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表23に示す通りである。
ここで、予測モードインデックス情報は、intra_luma_mpm_idxである。intra_luma_ref_idxが0に等しい場合、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行であり、すなわち、現在のブロックが複数行予測モードを起動しないことを示す。intra_luma_ref_idxが0に等しくない場合、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行ではなく、すなわち、現在のブロックが複数行予測モードを起動したことを示す。
表22から分かるように、intra_luma_ref_idxが0に等しい場合、intra_luma_mpm_idxの第1のビットは、現在のブロックがイントラサブブロック予測モードを起動するかどうかに応じて、符号化および復号化のために2つの異なるコンテキストモデルから1つのコンテキストモデルを選択する必要がある。また、intra_luma_ref_idxが0に等しくない場合、現在のブロックが複数行予測モードを起動したことを示し、現在のブロックによって起動された複数行予測モードもMPMリストからのものである。
「輝度のMPMの第1の実施形態」
図25は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図25に示すように、当該方法は以下のステップを含む。
ステップ2501において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報を確定する。
ステップ2502において、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ2503において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストからのものであれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2504において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、次に、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
一例として、符号化側は、MPMリストを構築することができ、イントラサブブロック予測モード、複数行予測モード及び従来のイントラ予測は、当該MPMリストを共用することができる。
一例として、符号化側は、RDOによって最終的に使用される予測モード、即ち目標予測モードを決定することができ、目標予測モードがイントラサブブロック予測モードまたは複数行予測モードである場合、目標予測モードは、必ず当該MPMリストから選択される予測モードであり、どの予測モードが選択されたかを復号化側に通知するためには、予測モードインデックス情報(intra_luma_mpm_idx)を符号化する必要がある。目標予測モードが従来のイントラ予測である場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグを符号化する必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、次に、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
図26は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図24に示された符号化の方法に対応する復号化の方法であり、図26に示すように、当該方法は以下のステップを含む。
ステップ2601において、現在のブロックがイントラサブブロック予測を起動するときに、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ2602において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ2603において、目標予測モードに基づいて現在のブロックを予測する。
ステップ2604において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の第1のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものであり、第2のコンテキストモデルと第1のコンテキストモデルは同じコンテキストモデルである。
ステップ2605において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、前記MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ2606において、目標予測モードに基づいて現在のブロックを予測する。
一例として、復号化側が符号化ストリームを先に受信することができ、従来のイントラ予測、イントラサブブロック予測モード及び複数行予測モードに基づいて同じMPMリストを構築する前提で、現在のブロックがイントラサブブロック予測モードまたは複数行予測モードを起動する場合、採用された目標予測モードは、必ず当該MPMリストからのものであり、リストにおけるインデックス値を解析するだけで、最終的な目標予測モードが得られる。現在のブロックが従来のイントラ予測を起動する場合、目標予測モードが当該MPMリストからのものであるかどうかを確定するためには、1つのフラグを解析する必要であり、当該MPMリストからのものである場合、当該MPMリストにおけるインデックス値を解析する。
復号化側が、以上のフラグの値に基づいて、現在のブロックの予測モードを一意に確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
本発明の実施例において、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行である場合、予測モードインデックス情報の第1のビットに対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動するかどうかという条件に基づいて、2つの異なるコンテキストモデルからコンテキストモデルを選択するのではなく、現在のブロックがイントラサブブロック予測モードを起動するという条件と現在のブロックがイントラサブブロック予測モードを起動しないという条件のこの2つの異なる条件で、同じコンテキストモデルを使用して、予測モードインデックス情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号化を行うことができ、このようにすると、必要なコンテキストモデルの数を1つに減らし、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減することができる。
一例として、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表24に示す通りである。
つまり、intra_luma_ref_idxが0に等しい場合、intra_luma_mpm_idxの第1のビットについて、現在のブロックがイントラサブブロック予測モードを起動する場合及び現在のブロックがイントラサブブロック予測モードを起動しない場合において、同じコンテキストモデルに基づいて、intra_luma_mpm_idxの第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号化を行うことができる。
「輝度のMPMの第2の実施形態」
図27は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図27に示すように、当該方法は以下のステップを含む。
ステップ2701において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報を確定する。
ステップ2702において、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2703において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストに存在すれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2704において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
図28は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図27に示された符号化の方法に対応する復号化の方法であり、図28に示すように、当該方法は以下のステップを含む。
ステップ2801において、現在のブロックがイントラサブブロック予測を起動するときに、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2802において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ2803において、目標予測モードに基づいて現在のブロックを予測する。
ステップ2804において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2805において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける現在のブロックによって起動される目標予測モードのインデックス情報を指示するために使用される。
ステップ2806において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行であり、即ちintra_luma_ref_idxが0に等しい場合、予測モードインデックス情報の第1のビットに対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動するかどうかを考慮せずに、即ち現在のブロックがイントラサブブロック予測モードを起動する場合と現在のブロックがイントラサブブロック予測モードを起動しない場合のこの2つの異なる場合において、予測モードインデックス情報の第1のビットに対してバイパスに基づくバイナリ算術符号化または復号化を行うことができる。このようにすると、予測モードインデックス情報の第1のビットについては、コンテキストモデルを使用する必要がなく、必要なコンテキストモデルの数をゼロに減らし、ひいては符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
一例として、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表25に示す通りである。
つまり、intra_luma_ref_idxが0に等しい場合、intra_luma_mpm_idxの第1のビットは、現在のブロックがイントラサブブロック予測モードを起動する場合及び現在のブロックがイントラサブブロック予測モードを起動しない場合において、intra_luma_mpm_idxの第1のビットに対してバイパスに基づくバイナリ算術符号化または復号化を行うことができる。
「輝度のMPMの第3の実施形態」
図29は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図29に示すように、当該方法は以下のステップを含む。
ステップ2901において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報を確定する。
ステップ2902において、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ2903において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来の予測の目標予測モードがMPMリストに存在すれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2904において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測を起動する場合、現在のブロックによって起動された従来の予測の目標予測モードがMPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードがMPMリストからのものであると確定した場合、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
図30は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図29に示された復号化の方法に対応する復号化の方法であり、図30に示すように、当該方法は以下のステップを含む。
ステップ3001において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、前記予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3002において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ3003において、目標予測モードに基づいて現在のブロックを予測する。
ステップ3004において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、前記予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3005において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける現在のブロックによって起動される目標予測モードのインデックス情報を指示するために使用される。
ステップ3006において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行であり、即ちintra_luma_ref_idxが0に等しい場合、予測モードインデックス情報に対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動すれば、1つのコンテキストモデルに基づいて、予測モードインデックス情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号を行い、現在のブロックがイントラサブブロック予測モードを起動しなければ、予測モードインデックス情報の第1のビットに対してバイパスに基づくバイナリ算術符号化または復号を行う。このようにすると、予測モードインデックス情報の符号化・復号化には、1つのコンテキストモデルのみが必要であり、必要なコンテキストモデルの数を1つに減らし、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
一例として、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表26に示す通りである。
つまり、intra_luma_ref_idxが0に等しい場合、且つ現在のブロックがISPモードを起動する場合、1つのコンテキストモデルを使用して、intra_luma_mpm_idxの第1のビットに対して符号化または復号を行い、現在のブロックがISPモードを起動しない場合、Bypassでintra_luma_mpm_idxの第1のビットに対して符号化または復号を行う。
「輝度のMPMの第4の実施形態」
図31は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図31に示すように、当該方法は以下のステップを含む。
ステップ3101において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報を確定する。
ステップ3102において、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ3103において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストに存在すれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ3104において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
図32は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、符号化側に適用され、当該方法は、図31に示された符号化の方法に対応する復号化の方法であり、図32に示すように、当該方法は以下のステップを含む。
ステップ3201において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて前記現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、前記予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3202において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて前記現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、前記予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3203において、目標予測モードに基づいて現在のブロックを予測する。
ステップ3204において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3205において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける現在のブロックによって起動される目標予測モードのインデックス情報を指示するために使用される。
ステップ3206において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、本発明の実施例において、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行であり、即ちintra_luma_ref_idxが0に等しい場合、予測モードインデックス情報に対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動すれば、予測モードインデックス情報の第1のビットに対してバイパスに基づくバイナリ算術符号化または復号化を行い、現在のブロックがイントラサブブロック予測モードを起動しなければ、1つのコンテキストモデルに基づいて、予測モードインデックス情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号を行う。このようにすると、予測モードインデックス情報の符号化・復号化には、1つのコンテキストモデルのみが必要であり、必要なコンテキストモデルの数を1つに減らし、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
一例として、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表27に示す通りである。
つまり、intra_luma_ref_idxが0に等しい場合、且つ現在のブロックがISPモードを起動しない場合、1つのコンテキストモデルを使用して、intra_luma_mpm_idxの第1のビットに対して符号化または復号を行い、現在のブロックがISPモードを起動する場合、Bypassでintra_luma_mpm_idxの第1のビットに対して符号化または復号を行う。
「輝度のMPMの第5の実施形態」
符号化側と復号化側との間で伝送される構文要素は、planar指示情報を含んでもよく、planar指示情報は、現在のブロックの目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、1ビットを占める。例示的に、planar指示情報は、intra_luma_not_planar_flagである。
関連技術では、planar指示情報の符号化・復号化の方式は、以下の表28に示す通りである。
上記の表26に示すように、planar指示情報intra_luma_not_planar_flagは、コンテキストに基づく適応バイナリ算術符号化を採用し、コンテキストの選択は、現在のブロックがイントラサブブロック予測モードを起動するかどうかに依存し、つまり、planar指示情報の符号化・復号化には、2つの異なるコンテキストコンテキストモデルが必要である。
図33は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図33に示すように、当該方法は以下のステップを含む。
ステップ3301において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動されたイントラサブブロック予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものである。
ステップ3302において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来のイントラ予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、第1のコンテキストモデルと前記第2のコンテキストモデルは同じである。
図34は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図33に示された符号化の方法に対応する復号化の方法であり、図34に示すように、当該方法は以下のステップを含む。
ステップ3401において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、planar指示情報を復号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものである。
ステップ3402において、planar指示情報に基づいて、現在のブロックによって起動されるイントラサブブロック予測の目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3403において、planar指示情報に基づいて、現在のブロックによって起動されるイントラサブブロック予測の目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
ステップ3404において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、planar指示情報に対して復号化を行い、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、第1のコンテキストモデルと第2のコンテキストモデルは同じである。
ステップ3405において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3406において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックがイントラサブブロック予測モードを起動するかどうかを考慮せずに、planar指示情報に対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動する場合と現在のブロックが従来のイントラ予測を起動する場合のこの2つの場合において、同じコンテキストモデルに基づいて、planar指示情報に対してコンテキストに基づく適応バイナリ算術符号化または復号化を行う。このようにすると、planar指示情報に必要なコンテキストモデルを1つに減らし、符号化・復号化の複雑さ及びメモリオーバーヘッドが削減される。
一例として、planar指示情報の符号化・復号化の方式は、以下の表29に示す通りである。
上記の表27に示すように、planar指示情報intra_luma_not_planar_flagは、依然としてコンテキストに基づく適応バイナリ算術符号化・復号化を採用するが、コンテキストの選択は、現在のブロックがイントラサブブロック予測モードを起動するかどうかに依存せず、現在のブロックがイントラサブブロック予測モードを起動する場合と現在のブロックが従来のイントラ予測を起動する場合のこの2つの場合において、1つの固定のコンテキストモデルを使用して符号化・復号化を行う。
「輝度のMPMの第6の実施形態」
図35は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図35に示すように、当該方法は以下のステップを含む。
ステップ3501において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動されたイントラサブブロック予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ3502において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来のイントラ予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術符号化を行って得られたものである。
図36は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図35に示された符号化の方法に対応する復号化の方法であり、図36に示すように、当該方法は以下のステップを含む。
ステップ3601において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、planar指示情報を復号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3602において、planar指示情報に基づいて、現在のブロックによって起動されるイントラサブブロック予測の目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3603において、planar指示情報に基づいて、現在のブロックによって起動されるイントラサブブロック予測の目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
ステップ3604において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、planar指示情報に対して復号化を行い、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3605において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3606において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックがイントラサブブロック予測モードを起動するかどうかを考慮せずに、planar指示情報に対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測を起動する場合と現在のブロックが従来のイントラ予測を起動する場合のこの2つの場合において、planar指示情報に対してバイパスに基づくバイナリ算術符号化または復号を行う。このようにすると、planar指示情報に必要なコンテキストモデルをゼロに減らし、符号化・復号化の複雑さ及びメモリオーバーヘッドが削減される。
一例として、planar指示情報の符号化・復号化の方式は、以下の表30に示す通りである。
上記の表30に示すように、planar指示情報intra_luma_not_planar_flagは、コンテキストに基づく適応バイナリ算術符号化・復号化の方式を採用せず、現在のブロックがイントラサブブロック予測モードを起動する場合と現在のブロックが従来のイントラ予測を起動する場合のこの2つの場合において、バイパスに基づくバイナリ算術符号化または復号化の方式を採用する。
なお、上記の方法は、従来のイントラ予測のみを考慮したシーンにも適用できる。
「実施例1」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該符号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストからのものであれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、次に、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、上記の符号化の方法に対応する復号化の方法であり、当該復号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものであり、第2のコンテキストモデルと第1のコンテキストモデルは同じコンテキストモデルである。
ステップ2において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、前記MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ3において、目標予測モードに基づいて現在のブロックを予測する。
「実施例2」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該符号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストに存在すれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、上記の符号化の方法に対応する復号化の方法であり、当該復号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける現在のブロックによって起動される目標予測モードのインデックス情報を指示するために使用される。
ステップ3において、目標予測モードに基づいて現在のブロックを予測する。
「実施例3」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該符号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来のイントラ予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものである。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、上記の符号化の方法に対応する復号化の方法であり、当該復号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、planar指示情報に対して復号化を行い、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものである。
ステップ2において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
「実施例4」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該符号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来のイントラ予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術符号化を行って得られたものである。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、上記の符号化の方法に対応する復号化の方法であり、当該復号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、planar指示情報に対して復号化を行い、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
「色度のMPM」
符号化側と復号化側との間で伝送される構文要素は、色度予測モードインデックス情報をさらに含み、色度予測モードインデックス情報は、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。
関連技術では、色度予測モードインデックス情報と対応する予測モードは、以下の表31に示す通りである。
上記の表29から分かるように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報は、最大4ビットを占め、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動しない場合、色度予測モードインデックス情報は、最大5ビットを占める。
関連技術では、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の符号化・復号化の方式は、以下の表32に示す通りである。
上記の表30から分かるように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、色度予測モードインデックス情報の第2のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、色度予測モードインデックス情報の第3のビット及び第4のビットは、第3のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、そして、これらの3つのコンテキストモデルは、異なるコンテキストモデルである。つまり、色度予測モードインデックス情報は3つのコンテキストモデルを使用する必要があり、メモリオーバヘッドが大きい。
「色度のMPMの第1の実施形態」
図37は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図37に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動し、現在のブロックが色度ブロックであり、当該方法は以下のステップを含む。
ステップ3701において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を確定する。
ここで、符号化側は、レート歪みコストによって最終的な目標予測モードを選択することができ、次に、インデックス情報を符号化することにより、どの予測モードが選択されたかを復号化側に通知する。
ステップ3702において、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報に基づいて、色度予測モードインデックス情報を符号化する。
ここで、色度予測モードインデックス情報は、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。色度予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、色度予測モードインデックス情報の第2のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、そして、第1のコンテキストモデルと前記第2のコンテキストモデルは異なり、色度予測モードインデックス情報の第3のビット及び第4のビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
一例として、符号化側には色度予測モード候補リストが記憶され、符号化側は、RDOによって最終的に使用される目標予測モードを決定することができ、次に、インデックス値を符号化することにより、どの予測モードが選択されたかを復号化側に通知し、即ち、色度予測モードインデックス情報を符号化する。
一例として、色度予測モードは、輝度と同じ予測モード及びクロスコンポーネント予測モードを含む。ここで、クロスコンポーネント予測モードは、両側テンプレートによって線形モデルパラメータを導出するモード、上テンプレートによって線形モデルパラメータを導出するモード、左テンプレートによって線形モデルパラメータを導出するモード、planar予測モード、DC予測モード、垂直予測モード及び水平予測モードを含む。
図38は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、上記の図37に示された符号化の方法に対応する復号化の方法であり、図38に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動し、現在のブロックが色度ブロックであり、当該方法は以下のステップを含む。
ステップ3801において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、色度予測モードインデックス情報に対して復号化を行う。
ここで、色度予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、色度予測モードインデックス情報の第2のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、第1のコンテキストモデルと第2のコンテキストモデルは異なり、色度予測モードインデックス情報の第3のビット及び第4のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3802において、色度予測モードインデックス情報に基づいて、候補予測モードリストから現在のブロックの目標予測モードを確定する。
ステップ3803において、目標予測モードに基づいて現在のブロックを予測する。
一例として、復号化側は、符号化ストリームを受信し、次に、そこから色度予測モードに関連する構文を解析することができる。各予測モードにかかる符号化ビットオーバーヘッドは異なり、復号化側は、色度予測モードインデックス情報を解析して、現在のブロックの色度予測モードを一意に確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
本発明の実施例において、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の第3のビット及び第4のビットは、バイパスに基づくバイナリ算術復号化を行って得られ、このようにすると、色度予測モードインデックス情報に必要なコンテキストモデルの数を2つに減らし、符号化・復号化の複雑さを軽減し、内容オーバーヘッドを削減することができる。
一例として、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の符号化・復号化の方式は、以下の表33及び表34に示す通りである。
「色度のMPMの第2の実施形態」
図39は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図39に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動し、現在のブロックが色度ブロックであり、当該方法は以下のステップを含む。
ステップ3901において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を確定する。
ここで、符号化側は、レート歪みコストによって最終的な目標予測モードを選択することができ、次に、インデックス情報を符号化することにより、どの予測モードが選択されたかを復号化側に通知する。
ステップ3902において、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報に基づいて、色度予測モードインデックス情報を符号化する。
ここで、色度予測モードインデックス情報は、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。色度予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、色度予測モードインデックス情報の第2のビット、三つのビット及び第4のビットバイパスに基づくバイナリ算術符号化を行って得られたものである。
図40は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、上記の図39に示された符号化の方法に対応する復号化の方法であり、図40に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動し、現在のブロックが色度ブロックであり、当該方法は以下のステップを含む。
ステップ4001において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、色度予測モードインデックス情報に対して復号化を行う。
ここで、色度予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、色度予測モードインデックス情報の第2のビット、三つのビット及び第4のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ4002において、色度予測モードインデックス情報に基づいて、候補予測モードリストから現在のブロックの目標予測モードを確定する。
ステップ4003において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の第1のビットは、1つのコンテキストモデルを使用し、第2のビット、第3のビット及び第4のビットは、いずれもバイパスに基づくバイナリ算術符号化・復号化の方式を採用し、このようにすると、色度予測モードインデックス情報に必要なコンテキストモデルの数を1つに減らし、符号化・復号化の複雑さを軽減し、内容オーバーヘッドを削減することができる。
一例として、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の符号化・復号化の方式は、以下の表35及び表36に示す通りである。
「色度のMPMの第3の実施形態」
図41は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図41に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックが色度ブロックである場合、当該方法は以下のステップを含む。
ステップ4101において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を確定する。
ここで、符号化側は、レート歪みコストによって最終的な目標予測モードを選択することができ、次に、インデックス情報を符号化することにより、どの予測モードが選択されたかを復号化側に通知する。
ステップ4102において、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報に基づいて、色度予測モードインデックス情報を符号化する。
ここで、色度予測モードインデックス情報は、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。
一例として、前記色度予測モードインデックス情報が10である場合、前記目標予測モードは、第1のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が110である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が111である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が11110である場合、前記目標予測モードは、planar予測モードであり、
前記色度予測モードインデックス情報が111110である場合、前記目標予測モードは、垂直予測モードであり、
前記色度予測モードインデックス情報が1111110である場合、前記目標予測モードは、水平予測モードであり、
前記色度予測モードインデックス情報が1111111である場合、前記目標予測モードは、DC予測モードである。
例示的に、色度予測モードインデックス情報と対応する予測モードは、以下の表37に示す通りである。
上記の表35から分かるように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報は、クロスコンポーネント予測モードを指示し、このような場合、色度予測モードインデックス情報は、最大3ビットを占め、ビットオーバヘッドを削減し、ひいてはメモリオーバーヘッドを削減する。なお、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動しない場合、色度予測モードインデックス情報は、従来のイントラ予測を指示し、このような場合、色度予測モードインデックス情報は、最大6ビットを占める。
別の実施例として、前記色度予測モードインデックス情報が10である場合、前記目標予測モードは、第1のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が110である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が111である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が11110である場合、前記目標予測モードは、planar予測モードであり、
前記色度予測モードインデックス情報が111110である場合、前記目標予測モードは、垂直予測モードであり、
前記色度予測モードインデックス情報が1111110である場合、前記目標予測モードは、水平予測モードであり、
前記色度予測モードインデックス情報が1111111である場合、前記目標予測モードは、DC予測モードである。
ステップ4103において、目標予測モードに基づいて現在のブロックを予測する。
例示的に、色度予測モードインデックス情報と対応する予測モードは、以下の表38に示す通りである。
上記の表36から分かるように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報は、クロスコンポーネント予測モードを指示し、このような場合、色度予測モードインデックス情報は、最大3ビットを占め、ビットオーバヘッドを削減し、ひいてはメモリオーバーヘッドを削減する。なお、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動しない場合、色度予測モードインデックス情報は、従来のイントラ予測を指示し、このような場合、色度予測モードインデックス情報は、最大7ビットを占める。
図42は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図41に示された符号化の方法に対応する復号化の方法であり、図42に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックが色度ブロックである場合、当該方法は以下のステップを含む。
ステップ4201において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、色度予測モードインデックス情報に対して復号化を行う。
ステップ4202において、色度予測モードインデックス情報に基づいて、候補予測モードリストから現在のブロックの目標予測モードを確定する。
一例として、前記色度予測モードインデックス情報が10である場合、前記目標予測モードは、第1のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が110である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が111である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が11110である場合、前記目標予測モードは、planar予測モードであり、
前記色度予測モードインデックス情報が111110である場合、前記目標予測モードは、垂直予測モードであり、
前記色度予測モードインデックス情報が1111110である場合、前記目標予測モードは、水平予測モードであり、
前記色度予測モードインデックス情報が1111111である場合、前記目標予測モードは、DC予測モードである。
別の実施例として、前記色度予測モードインデックス情報が10である場合、前記目標予測モードは、第1のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が110である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が111である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が11110である場合、前記目標予測モードは、planar予測モードであり、
前記色度予測モードインデックス情報が111110である場合、前記目標予測モードは、垂直予測モードであり、
前記色度予測モードインデックス情報が1111110である場合、前記目標予測モードは、水平予測モードであり、
前記色度予測モードインデックス情報が1111111である場合、前記目標予測モードは、DC予測モードである。
目標予測モードに基づいて現在のブロックを予測する。
ステップ4203において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報のビットオーバヘッドを削減し、ひいてはメモリオーバーヘッドを削減することができる。
「CCLMモード」
図43は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図43に示すように、当該方法は以下のステップを含む。
ステップ4301において、現在のブロックの輝度と色度が1つの分割ツリーを共有するときに、現在のブロックに対応する輝度ブロックの幅と高さのサイズが64*64であり、現在のブロックに対応する色度ブロックのサイズが32*32である場合、現在のブロックは、クロスコンポーネント予測モードをサポートしない。
本発明の実施例において、CCLMモードにおける輝度と色度の依存性を低減し、色度ブロックが64*64の輝度ブロックの再構築値を待つ必要があることを回避することができる。
「ALFモード」
符号化側と復号化側との間で伝送される構文要素は、ALF指示情報をさらに含み、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。例示的に、ALF指示情報は、alf_ctb_flagである。
関連技術では、ALF指示情報の符号化・復号化の方式は、以下の表39に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
表37及び上記の計算式から分かるように、ALF指示情報の符号化・復号化のコンテキストモデルの選択は、現在のブロックの上ブロックがALFを使用するかどうか、現在のブロックの左ブロックがALFを使用するかどうか、及び現在のコンポーネントのインデックスに依存し、合計で9つのコンテキストモデルを使用する必要がある。
具体的に、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化・復号化を行い、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化・復号化を行い、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化・復号化を行い、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第3のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。ここで、上記の9つのコンテキストモデルは、異なる。
「ALFモードの第1の実施形態」
図44は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図44に示すように、当該方法は以下のステップを含む。
ステップ4401において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ4402において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる3つのコンテキストモデルと第1のコンテキストモデルセットに含まれる3つのコンテキストモデルは、異なる。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
一例として、第2のコンテキストモデルセットは、第4のコンテキストモデル、第5のコンテキストモデル、および第6のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第4のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第5のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第6のコンテキストモデルである。
一例として、符号化側は、RDOによって現在のブロックがALFを起動するかどうか、即ち適応的なループフィルタリングを使用するかどうかを決定し、且つコードストリームにおいてALF指示情報を符号化することにより、ALFを起動するかどうかを復号化側に通知し、ひいては適応的なループフィルタリングを行うかどうかを復号化側に通知することができる。そして、ALFを起動する場合、ALFに関連する構文要素を符号化する必要もあり、符号化側も、同様にフィルタリングを行う。
図45は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図44に示された符号化の方法に対応する復号化の方法であり、図45に示すように、当該方法は以下のステップを含む。
ステップ4501において、現在のブロックが適応ループフィルタALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
ステップ4502において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる3つのコンテキストモデルと第1のコンテキストモデルセットに含まれる3つのコンテキストモデルは、異なる。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
復号化側は、符号化ストリームを受信した後、ALF指示情報を復号化することにより、現在のブロックが適応的なループフィルタリングを起動するかどうかを解析することができる。ALF指示情報が、現在のブロックがALFを起動することを指示する場合、復号化側は、現在のブロックに対して適応的なループフィルタリングを行うために、ALFに関連する構文要素の復号化を継続することにより、フィルタリングされた後の再構築画素を得ることができる。
一例として、ALF指示情報の符号化・復号化の方式は、以下の表40に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、CB色度ブロック及びCR色度ブロックは、3つの異なるコンテキストモデルを共用することができ、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を6に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第2の実施形態」
図46は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図46に示すように、当該方法は以下のステップを含む。
ステップ4601において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ4602において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、前記現在のブロックの上ブロックがALFを起動するかどうか、および前記現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる3つのコンテキストモデルと第1のコンテキストモデルセットに含まれる3つのコンテキストモデルは、同じである。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
一例として、第2のコンテキストモデルセットは、第4のコンテキストモデル、第5のコンテキストモデル、および第6のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第4のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第5のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第6のコンテキストモデルである。
図47は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図46に示された符号化の方法に対応する復号化の方法であり、図47に示すように、当該方法は以下のステップを含む。
ステップ4701において、現在のブロックが適応ループフィルタALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
ステップ4702において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる3つのコンテキストモデルと第1のコンテキストモデルセットに含まれる3つのコンテキストモデルは、異なる。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
一例として、ALF指示情報の符号化・復号化の方式は、以下の表41に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、輝度ブロック、CB色度ブロック及びCR色度ブロックは、3つの異なるコンテキストモデルを共用することができ、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を3に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第3の実施形態」
図48は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図48に示すように、当該方法は以下のステップを含む。
ステップ4801において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ4802において、現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ4803において、現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第3のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデル、第2のコンテキストモデル及び第3のコンテキストモデルは、異なるコンテキストモデルである。
図49は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図48に示された符号化の方法に対応する復号化の方法であり、図49に示すように、当該方法は以下のステップを含む。
ステップ4901において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ4902において、現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ4903において、現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第3のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデル、第2のコンテキストモデル及び第3のコンテキストモデルは、異なるコンテキストモデルである。
一例として、ALF指示情報の符号化・復号化の方式は、以下の表42に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、1つのコンテキストモデルを共用し、CB色度ブロックは、1つのコンテキストモデルを共用し、CR色度ブロックは、1つのコンテキストモデルを共用し、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を3に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第4の実施形態」
図50は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図50に示すように、当該方法は以下のステップを含む。
ステップ5001において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ5002において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
図51は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図50に示された符号化の方法に対応する復号化の方法であり、図51に示すように、当該方法は以下のステップを含む。
ステップ5101において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5102において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデルと第2のコンテキストモデルは、異なる。
一例として、ALF指示情報の符号化・復号化の方式は、以下の表43に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、1つのコンテキストモデルを共用し、CB色度ブロックとCR色度ブロックは、1つのコンテキストモデルを共用し、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を2に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第5の実施形態」
図52は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図52に示すように、当該方法は以下のステップを含む。
ステップ5201において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ5202において、現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ5203において、現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデルセットに含まれるコンテキストモデル、第1のコンテキストモデル及び第2のコンテキストモデルは、異なるコンテキストモデルである。
図53は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図52に示された符号化の方法に対応する復号化の方法であり、図53に示すように、当該方法は以下のステップを含む。
ステップ5301において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ5302において、現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う
ステップ5303において、現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデルセットに含まれるコンテキストモデル、第1のコンテキストモデル及び第2のコンテキストモデルは、異なるコンテキストモデルである。
一例として、輝度ブロックにとって、ALF指示情報の符号化・復号化の方式は、以下の表44に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
一例として、色度ブロックにとって、ALF指示情報の符号化・復号化の方式は、以下の表45に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、3つの異なるコンテキストモデルを使用する必要があり、CB色度ブロックは、1つのコンテキストモデルを共用し、CR色度ブロックは、1つの異なるコンテキストモデルを共用し、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を5に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第6の実施形態」
図54は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図54に示すように、当該方法は以下のステップを含む。
ステップ5401において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ5402において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第2のコンテキストモデルと第1のコンテキストモデルは、同じコンテキストモデルである。
図55は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図54に示された符号化の方法に対応する復号化の方法であり、図55に示すように、当該方法は以下のステップを含む。
ステップ5501において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5502において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第2のコンテキストモデルと第1のコンテキストモデルは、同じコンテキストモデルである。
本発明の実施例において、ALF指示情報に対して、輝度ブロック、CB色度ブロック及びCR色度ブロックは、1つのコンテキストモデルを共用することができ、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第7の実施形態」
図56は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図56に示すように、当該方法は以下のステップを含む。
ステップ5601において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
ステップ5602において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
図57は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図56に示された符号化の方法に対応する復号化の方法であり、図57に示すように、当該方法は以下のステップを含む。
ステップ5701において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5702において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
本発明の実施例において、ALF指示情報に対して、現在のブロックが輝度ブロック、CB色度ブロック及びCR色度ブロックである場合、バイパスに基づくバイナリ算術復号化の方式を採用して、ALF指示情報に対して符号化または復号化を行うことができ、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を0に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第8の実施形態」
図58は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図58に示すように、当該方法は以下のステップを含む。
ステップ5801において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、1つのコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5802において、現在のブロックがALFをサポートし、現在のブロックが適応ループフィルタALFを起動し、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
図59は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図58に示された符号化の方法に対応する復号化の方法であり、図59に示すように、当該方法は以下のステップを含む。
ステップ5901において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、1つのコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5902において、現在のブロックがALFをサポートし、現在のブロックが適応ループフィルタALFを起動し、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、1つのコンテキストモデルを使用し、CB色度ブロック及びCR色度ブロックは、バイパスに基づくバイナリ算術符号化・復号化の方式を採用して符号化または復号化を行い、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第9の実施形態」
図60は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図60に示すように、当該方法は以下のステップを含む。
ステップ6001において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術符号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ6002において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、1つのコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
図61は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図60に示された符号化の方法に対応する復号化の方法であり、図61に示すように、当該方法は以下のステップを含む。
ステップ6101において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ6102において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、1つのコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、バイパスに基づくバイナリ算術符号化・復号化の方式を採用して符号化または復号化を行い、CB色度ブロック及びCR色度ブロックは、1つのコンテキストモデルを共用し、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「MIPモード」
MIPモードでは、符号化側と復号化側との間で伝送される構文要素は、MIP指示情報をさらに含み、MIP指示情報は、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかを指示するために使用される。例示的に、MIP指示情報は、Intra_MIP_flagである。
関連技術では、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行うことができる。ここで、目標コンテキストモデルは、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、及び現在のブロックがプリセットサイズ条件を満たすかどうかに応じて、4つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、プリセットサイズ条件は、現在のブロックの幅が高さの2倍を超えること、または現在のブロックの高さが幅の2倍を超えることであってもよい。もちろん、当該プリセットサイズ条件は、他の条件であってもよく、本発明の実施例は、これについて限定しない。
具体的に、上記の4つの異なるコンテキストモデルは、第1のコンテキストモデル、第2のコンテキストモデル、第3のコンテキストモデルおよび第4のコンテキストモデルを含むと仮定する。現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックがプリセットサイズ条件を満たさない場合、または、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第3のコンテキストモデルであり、現在のブロックがプリセットサイズ条件を満たす場合、目標コンテキストモデルは、第4のコンテキストモデルである。
上記から分かるように、MIPモードでは、MIP指示情報は4つの異なるコンテキストモデルを使用する必要があり、メモリオーバヘッドが大きい。
「MIPモードにおける第1の実施形態」
図62は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図62に示すように、当該方法は以下のステップを含む。
ステップ6201において、現在のブロックの幅と高さのサイズが32*32である場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしない。
ここで、現在のブロックは、輝度ブロックまたは色度ブロックである。例示的に、現在のブロックが輝度ブロックであり、且つ現在のブロックの幅と高さのサイズが32*32である場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしない。
別の例として、現在のブロックの幅と高さのサイズが32*16である場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしない。例示的に、現在のブロックは、輝度ブロックまたは色度ブロックである。
別の例として、現在のブロックの幅と高さのサイズが4*4である場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしない。例示的に、現在のブロックは、輝度ブロックまたは色度ブロックである。
本発明の実施例において、現在のブロックが大きいサイズのブロックである場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしないこと、すなわち現在のブロックはマトリクスに基づくイントラ予測モードを有効にできないことが保証され、このようにすると、演算の複雑さを軽減することができる。
「MIPモードにおける第2の実施形態」
図63は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図63に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6301において、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、および現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、上記の3つの異なるコンテキストモデルは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含むと仮定する。現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しない場合、または、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
一例として、符号化側は、現在のブロックがマトリクスに基づくイントラ予測の条件を満たすと確定した場合、RDOによって現在のブロックがMIPモードを起動するかどうか、即ちマトリクスに基づくイントラ予測の方法を使用するかどうかを決定することができ、且つ符号化ストリームにおいてMIP指示情報を符号化することにより、MIPモードを起動するかどうかを復号化側に通知する。
符号化ストリームにおいて具体的な状況に応じて上記のMIP指示情報を符号化し、そして、現在のブロックがMIPモードを起動する場合、MIPに関する他の構文要素を符号化する必要もある。
図64は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図63に示された符号化の方法に対応する復号化の方法であり、図64に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6401において、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、および現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、上記の3つの異なるコンテキストモデルは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含むと仮定する。現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しない場合、または、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ6402において、MIP指示情報に基づいて、現在のブロックがマトリクスに基づくイントラ予測モードを起動すると確定した場合、マトリクスに基づくイントラ予測モードは、現在のブロックを予測する。
一例として、復号化側は、符号化ストリームを受信し、現在のブロックが解析条件を満たすと確定した場合、MIP指示情報を解析することにより、現在のブロックがMIPモードを起動するかどうかを確定する。解析条件は、現在のブロックが輝度ブロックであることと、現在のブロックのサイズが一定の条件を満たすこととを含む。もちろん、解析条件は、上記の条件に限定されず、他の条件を含んでもよい。
MIP指示情報により、復号化側は、現在のブロックの予測モードがマトリクスに基づくイントラ予測モードであるかどうかを確定することができ、マトリクスに基づくイントラ予測モードである場合、当該モードに関する他の構文の解析を継続することにより、その予測モードの情報を得て、ひいては予測値を得ることができる。
本発明の実施例において、MIPモードでは、現在のブロックのサイズ条件を考慮せずに、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、および現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうかのみに応じて、3つの異なるコンテキストモデルから1つのコンテキストモデルを選択し、このようにすると、MIP指示情報に必要なコンテキストモデルの数を3に減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「MIPモードにおける第3の実施形態」
図65は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図65に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6501において、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックがプリセットサイズ条件を満たすかどうかに応じて、2つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
ここで、プリセットサイズ条件は、現在のブロックの幅が高さの2倍を超えること、または現在のブロックの高さが幅の2倍を超えることであってもよい。
一例として、上記の2つの異なるコンテキストモデルは、第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定する。現在のブロックのサイズがプリセットサイズ条件を満たす場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックのサイズがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第2のコンテキストモデルである。
図66は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図65に示された符号化の方法に対応する復号化の方法であり、図66に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6601において、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックがプリセットサイズ条件を満たすかどうかに応じて、2つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
ここで、プリセットサイズ条件は、現在のブロックの幅が高さの2倍を超えること、または現在のブロックの高さが幅の2倍を超えることであってもよい。
一例として、上記の2つの異なるコンテキストモデルは、第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定する。現在のブロックのサイズがプリセットサイズ条件を満たす場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックのサイズがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ6602において、MIP指示情報に基づいて、現在のブロックがマトリクスに基づくイントラ予測モードを起動すると確定した場合、マトリクスに基づくイントラ予測モードは、現在のブロックを予測する。
本発明の実施例において、MIPモードでは、MIP指示情報のコンテキストモデルの選択に対して、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、および現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうかを考慮せずに、サイズ条件のみに応じて、コンテキストモデルを選択することができ、このようにすると、MIP指示情報に必要なコンテキストモデルの数を2に減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「MIPモードにおける第4の実施形態」
図67は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図67に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6701において、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、同じコンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
図68は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図67に示された符号化の方法に対応する復号化の方法であり、図68に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6801において、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、同じコンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ6802において、MIP指示情報に基づいて、現在のブロックがマトリクスに基づくイントラ予測モードを起動すると確定した場合、マトリクスに基づくイントラ予測モードは、現在のブロックを予測する。
本発明の実施例において、MIPモードでは、MIP指示情報のコンテキストモデルの選択に対して、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、及びサイズ条件を考慮せずに、異なる条件で、同じコンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術符号化または復号化を行い、このようにすると、MIP指示情報に必要なコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「MIPモードにおける第5の実施形態」
図69は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図69に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6901において、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、MIP指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
図70は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図69に示された符号化の方法に対応する復号化の方法であり、図70に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ7001において、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、MIP指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ステップ7002において、MIP指示情報に基づいて、現在のブロックがマトリクスに基づくイントラ予測モードを起動すると確定した場合、マトリクスに基づくイントラ予測モードは、現在のブロックを予測する。
本発明の実施例において、MIPモードでは、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、及びサイズ条件を考慮せずに、異なる条件で、MIP指示情報に対してバイパスに基づくバイナリ算術符号化または復号化を行い、つまり、コンテキストに基づく適応バイナリ算術符号化または復号化を使用せず、このようにすると、MIP指示情報に必要なコンテキストモデルの数をゼロに減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「BDPCMモード」
関連技術では、BDPCM技術には、BDPCMモードをオンまたはオフにするためのSPSレベルの構文がなく、また、BDPCMモードを有効にすることができる最大の符号化ブロックのサイズのスイッチを制御するためのSPSレベルの構文がなく、柔軟性が低い。
「BDPCMモードにおける第1の実施形態」
図71は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図71に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7101において、現在のブロックに対してBDPCM符号化を行う前に、第1のBDPCM指示情報を符号化し、第1のBDPCM指示情報は、現在の処理ユニットがBDPCMモードをサポートするかどうかを指示するために使用される。
一例として、第1のBDPCM指示情報は、シーケンスパラメータセット、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。好ましくは、第1のBDPCM指示情報は、シーケンスパラメータセットに存在し、つまり、第1のBDPCM指示情報は、SPSレベルの構文である。
別の実施例において、符号化側は、範囲指示情報を符号化してもよく、当該範囲指示情報は、BDPCMモードをサポートする処理ユニットの範囲を指示するために使用される。当該範囲指示情報は、シーケンスパラメータセット、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。
図72は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図71に示された符号化の方法に対応する復号化の方法であり、図72に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7201において、現在のブロックに対してBDPCM復号化を行う前に、第1のBDPCM指示情報を復号化し、第1のBDPCM指示情報は、現在の処理ユニットがBDPCMモードをサポートするかどうかを指示するために使用される。
ステップ7202において、第1のBDPCM指示情報に基づいて、現在の処理ユニットを復号化する。
一例として、第1のBDPCM指示情報が、現在の処理ユニットがBDPCMモードをサポートすることを指示する場合、BDPCMモードに基づいて現在の処理ユニットを処理する。
一例として、第1のBDPCM指示情報は、シーケンスパラメータセット、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。好ましくは、第1のBDPCM指示情報は、シーケンスパラメータセットに存在し、つまり、第1のBDPCM指示情報は、SPSレベルの構文である。
別の実施例において、復号化側は、範囲指示情報を復号化してもよく、当該範囲指示情報は、BDPCMモードをサポートする処理ユニットの範囲を指示するために使用される。当該範囲指示情報は、シーケンスパラメータセット、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。
本発明の実施例において、BDPCMモードをオンまたはオフにするための構文を追加し、符号化・復号化プロセスの柔軟性を向上させた。また、BDPCMモードをサポートする処理ユニットの範囲を指示するために使用される構文も追加する。
「BDPCMモードにおける第2の実施形態」
図73は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図73に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7301において、現在のブロックに対してBDPCM処理を行う前に、第2のBDPCM指示情報を符号化し、第2のBDPCM指示情報は、BDPCMモードをサポートする処理ユニットのサイズ範囲を指示するために使用される。
ここで、現在の処理ユニットにおけるユニットの範囲は、シーケンスレベル、画像パラメータレベルまたはブロックレベルなどであってもよい。例えば、現在の処理ユニットは、現在の画像ブロックであってもよい。
例示的に、当該サイズ範囲は、32*32より小さいサイズ範囲であってもよい。
一例として、第2のBDPCM指示情報は、BDPCMモードをサポートできる処理ユニットの最大サイズ、即ちBDPCMモードを使用できる処理ユニットの最大サイズを指示するために使用される。例示的に、前記最大サイズは、32*32である。
一例として、第2のBDPCM指示情報は、シーケンスパラメータセット(SPS)、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。好ましくは、第2のBDPCM指示情報は、シーケンスパラメータセットに存在し、つまり、第2のBDPCM指示情報は、SPSレベルに追加された構文である。
図74は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図71に示された符号化の方法に対応する復号化の方法であり、図72に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7401において、現在のブロックに対してBDPCM処理を行う前に、第2のBDPCM指示情報を復号化し、第2のBDPCM指示情報は、BDPCMモードをサポートする処理ユニットのサイズ範囲を指示するために使用される。
ステップ7402において、第2のBDPCM指示情報及び現在のブロックのサイズに基づいて、現在のブロックがBDPCM処理を行うことができるかどうかを確定する。
一例として、現在のブロックのサイズが、第2のBDPCM指示情報で指示されたBDPCMモードをサポートする処理ユニットのサイズ範囲内である場合、現在のブロックがBDPCM処理を行うことができると確定する。現在のブロックのサイズが、第2のBDPCM指示情報で指示されたBDPCMモードをサポートする処理ユニットのサイズ範囲内ではない場合、現在のブロックがBDPCM処理を行うことができないと確定する。
一例として、第2のBDPCM指示情報は、BDPCMモードをサポートできる処理ユニットの最大サイズを指示するために使用され、現在のブロックのサイズが第2のBDPCM指示情報で指示された最大サイズ以下である場合、現在のブロックがBDPCM処理を行うことができると確定する。現在のブロックのサイズが第2のBDPCM指示情報で指示された最大サイズより大きい場合、現在のブロックがBDPCM処理を行うことができないと確定する。
一例として、第2のBDPCM指示情報は、シーケンスパラメータセット(SPS)、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。好ましくは、第2のBDPCM指示情報は、シーケンスパラメータセットに存在し、つまり、第2のBDPCM指示情報は、SPSレベルに追加された構文である。
本発明の実施例において、BDPCMモードを使用できるサイズ範囲を制御するための構文を追加し、符号化・復号化プロセスの柔軟性を向上させた。
「BDPCMモードにおける第3の実施形態」
BDPCMモードでは、符号化側と復号化側との間で伝送される構文要素は、第3のBDPCM指示情報及び第4のBDPCM指示情報を含んでもよい。第3のBDPCM指示情報は、現在の処理ユニットがBDPCMモードを起動するかどうかを指示するために使用され、第4のBDPCM指示情報は、BDPCMモードの予測方向のインデックス情報を指示するために使用される。例示的に、第3のBDPCM指示情報は、Intra_bdpcm_flagであり、第4のBDPCM指示情報は、Intra_bdpcm_dir_flagである。
関連技術では、現在のブロックがBDPCMモードをサポートする場合、第3のBDPCM指示情報の符号化または復号化を行うと確定したときに、1つのコンテキストモデルに基づいて、第3のBDPCM指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要があり、第4のBDPCM指示情報の符号化または復号化を行うと確定したときに、別の異なるコンテキストモデルに基づいて、第4のBDPCM指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要がある。つまり、以下の表46に示すように、2つのコンテキストモデルを使用して、第3のBDPCM指示情報と第4のBDPCM指示情報に対して符号化・復号化を行う必要がある。
図75は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図75に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7501において、現在のブロックに対してBDPCM符号化を行う前に、現在のブロックがBDPCMモードを起動するかどうかに応じて、1つのコンテキストモデルに基づいて、第3のBDPCM指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
一例として、現在のブロックがブロックに基づく量子化された残差の差分PCM符号化の条件を満たす場合、RDOによってBDPCMモードを起動するかどうか、即ち、量子化された残差の差分PCM符号化の方法を使用するかどうかを決定することができ、且つ符号化ストリームにおいて第3のBDPCM指示情報を符号化することにより、現在のブロックがBDPCMモードを起動するかどうかを示す。
ステップ7502において、現在のブロックがBDPCMモードを起動すると確定した場合、BDPCMモードの予測方向のインデックス情報に基づいて、第4のBDPCM指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
ここで、BDPCMモードの予測方向は、水平予測方向及び垂直予測方向を含む。
一例として、符号化側は、RDOによって予測方向を決定することができ、選択された予測方向に基づいて、符号化ストリームにおいて第4のBDPCM指示情報を符号化することにより、BDPCMモードの予測方向を示す。
図76は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図75に示された符号化の方法に対応する復号化の方法であり、図76に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7601において、現在のブロックに対してブロックに基づく量子化された残差の差分PCM復号化を行う前に、1つのコンテキストモデルに基づいて、第3のBDPCM指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
一例として、復号化側は、現在のブロックの符号化ストリームを受信することができ、現在のブロックが解析条件を満たす場合、第3のBDPCM指示情報を解析することにより、現在のブロックがBDPCMモードを起動するかどうかを確定する。
ここで、解析条件は、現在のブロックのサイズが一定のサイズ条件を満たすことを含む。もちろん、当該解析条件は、上記の条件に限定されず、他の条件を含んでもよい。
ステップ7602において、第3のBDPCM指示情報が、現在のブロックがBDPCMモードを起動することを指示するときに、第4のBDPCM指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第4のBDPCM指示情報は、BDPCMモードの予測方向のインデックス情報を指示するために使用される。
現在のブロックがBDPCMモードを起動する場合、第4のBDPCM指示情報をさらに解析することにより、予測方向を確定する必要がある。
ステップ7603において、第4のBDPCM指示情報で指示される予測方向に従って、現在のブロックに対してBDPCM処理を行う。
一例として、復号化側は、逆累積プロセスにより量子化された後の残差データを得て、次に、逆量子化し、予測値と加算することにより、再構築画素値を得ることができる。
一例として、第3のBDPCM指示情報及び第4のBDPCM指示情報の符号化・復号化の方式は、以下の表47に示す通りである。
本発明の実施例において、第3のBDPCM指示情報は、1つのコンテキストモデルを使用し、第4のBDPCM指示情報は、バイパスに基づくバイナリ算術符号化・復号化の方式を採用し、このようにすると、第3のBDPCM指示情報及び第4のBDPCM指示情報に必要なコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「BDPCMモードにおける第4の実施形態」
図77は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図77に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7701において、現在のブロックに対してBDPCM符号化を行う前に、現在のブロックがBDPCMモードを起動するかどうかに応じて、第3のBDPCM指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
一例として、現在のブロックがブロックに基づく量子化された残差の差分PCM符号化の条件を満たす場合、レート歪みによって現在のブロックが量子化された残差の差分PCM符号化の方法を使用するかどうかを決定することができ、且つ符号化ストリームにおいて第3のBDPCM指示情報を符号化することにより、現在のブロックがBDPCMモードを起動するかどうかを示す。
ステップ7702において、現在のブロックがBDPCMモードを起動すると確定した場合、BDPCMモードの予測方向のインデックス情報に基づいて、第4のBDPCM指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ここで、BDPCMモードの予測方向は、水平予測方向及び垂直予測方向を含む。
一例として、符号化側は、レート歪みによって予測方向を決定することができ、符号化ストリームにおいて第4のBDPCM指示情報を符号化することにより、BDPCMモードの予測方向を示す。
図78は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図77に示された符号化の方法に対応する復号化の方法であり、図78に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7801において、現在のブロックに対してBDPCM復号化を行う前に、第3のBDPCM指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
一例として、復号化側は、現在のブロックの符号化ストリームを受信することができ、現在のブロックが解析条件を満たす場合、第3のBDPCM指示情報を解析することにより、現在のブロックがBDPCMモードを起動するかどうかを確定する。
ここで、解析条件は、現在のブロックのサイズが一定のサイズ条件を満たすことを含む。もちろん、当該解析条件は、上記の条件に限定されず、他の条件を含んでもよい。
ステップ7802において、第3のBDPCM指示情報が、現在のブロックがBDPCMモードを起動することを指示するときに、第4のBDPCM指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第4のBDPCM指示情報は、BDPCMモードの予測方向のインデックス情報を指示するために使用される。
現在のブロックがBDPCMモードを起動する場合、第4のBDPCM指示情報をさらに解析することにより、予測方向を確定する必要がある。
ステップ7803において、第4のBDPCM指示情報で指示される予測方向に従って、現在のブロックに対してBDPCM処理を行う。
一例として、復号化側は、逆累積プロセスにより量子化された後の残差データを得て、次に、逆量子化し、予測値と加算することにより、再構築画素値を得ることができる。
一例として、第3のBDPCM指示情報及び第4のBDPCM指示情報の符号化・復号化の方式は、以下の表48に示す通りである。
本発明の実施例において、第3のBDPCM指示情報及び第4のBDPCM指示情報は、バイパスに基づくバイナリ算術符号化・復号化の方式を採用し、このようにすると、第3のBDPCM指示情報及び第4のBDPCM指示情報に必要なコンテキストモデルの数をゼロに減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「BDPCMモードにおける第5の実施形態」
BDPCMモードでは、符号化側と復号化側との間で伝送される構文要素は、CBF指示情報をさらに含み、CBF指示情報は、CBF指示情報は、現在のブロックの変換ブロックが非ゼロ変換係数を有するかどうかを指示するために使用される。例示的に、CBF指示情報は、cbf_flagまたはTu_cbf_lumaである。
関連技術では、イントラサブブロック予測に基づいて現在のブロックを予測する前に、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行うことができる。ここで、目標コンテキストモデルは、現在のブロックがイントラサブブロック予測モードを起動するかどうか、現在のブロックの前の変換ブロックが非ゼロ変換係数を有するかどうか、現在のブロックの変換ブロックの分割深さ、及び現在のブロックがBDPCMモードを起動するかどうかという条件に応じて、5つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
具体的に、この5つの異なるコンテキストモデルは、第1のコンテキストモデル、第2のコンテキストモデル、第3のコンテキストモデル、第4のコンテキストモデルおよび第5のコンテキストモデルを含むと仮定する。現在のブロックがイントラサブブロック予測を起動する場合、目標コンテキストモデルは、現在のブロックの前の変換ブロックが非ゼロ変換係数を有するかどうかに応じて、第1のコンテキストモデル及び第2のコンテキストモデルから選択された1つのコンテキストモデルである。例示的に、現在のブロックの前の変換ブロックが非ゼロ変換係数を有する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの前の変換ブロックが非ゼロ変換係数を有しない場合、目標コンテキストモデルは、第2のコンテキストモデルである。現在のブロックがイントラサブブロック予測を起動しなく、即ち、現在のブロックが従来のイントラ予測を起動する場合、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、第3のコンテキストモデル及び第4のコンテキストモデルから選択された1つのコンテキストモデルである。例示的に、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第3のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第4のコンテキストモデルである。現在のブロックがBDPCMモードを起動する場合、目標コンテキストモデルは、第5のコンテキストモデルである。
関連技術では、CBF指示情報が、5つのコンテキストモデルを使用する必要があり、必要とされるコンテキストモデルの数が多いので、符号化・復号化の複雑さが高く、メモリオーバーヘッドが大きい。
図78は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図79に示すように、当該方法は以下のステップを含む。
ステップ7901において、現在のブロックがイントラサブブロック予測を起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの前の変換ブロックが非ゼロ変換係数を有するかどうかに応じて、第1のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットが第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定すると、現在のブロックの前の変換ブロックが非ゼロ変換係数を有する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの前の変換ブロックが非ゼロ変換係数を有しない場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ7902において、現在のブロックが従来のイントラ予測を起動し、またはBDPCMモードを起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、第2のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる2つのコンテキストモデルセットと第1のコンテキストモデルセットに含まれる2つのコンテキストモデルは、異なる。
一例として、第2のコンテキストモデルセットが第3のコンテキストモデルおよび第4のコンテキストモデルを含むと仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第3のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第4のコンテキストモデルである。
図80は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図79に示された符号化の方法に対応する復号化の方法であり、図80に示すように、当該方法は以下のステップを含む。
ステップ8001において、現在のブロックがイントラサブブロック予測を起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの前の変換ブロックが非ゼロ変換係数を有するかどうかに応じて、第1のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットが第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定すると、現在のブロックの前の変換ブロックが非ゼロ変換係数を有する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの前の変換ブロックが非ゼロ変換係数を有しない場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ8002において、現在のブロックが従来のイントラ予測を起動し、またはBDPCMモードを起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、第2のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる2つのコンテキストモデルセットと第1のコンテキストモデルセットに含まれる2つのコンテキストモデルは、異なる。
一例として、第2のコンテキストモデルセットが第3のコンテキストモデルおよび第4のコンテキストモデルを含むと仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第3のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第4のコンテキストモデルである。
本発明の実施例において、現在のブロックがBDPCMモードを起動する場合、CBF指示情報の符号化・復号化のコンテキストモデルの選択も、現在のブロックの変換ブロックの分割深さに依存し、現在のブロックがBDPCMモードを起動したとき、及び従来のイントラ予測を起動したときに、2つのコンテキストモデルを共有し、このようにすると、CBF指示情報に必要なコンテキストモデルの数を4に減らし、この結果、符号化・復号化の複雑さを軽減し、内容オーバーヘッドを削減することができる。
「BDPCMモードにおける第6の実施形態」
図81は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図81に示すように、当該方法は以下のステップを含む。
ステップ8101において、現在のブロックがイントラサブブロック予測を起動し、または従来のイントラ予測を起動し、或いはBDPCMモードを起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、この2つの異なるコンテキストモデルが第1のコンテキストモデルと第2のコンテキストモデルであると仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第2のコンテキストモデルである。
図82は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図81に示された符号化の方法に対応する復号化の方法であり、図82に示すように、当該方法は以下のステップを含む。
ステップ8201において、現在のブロックがイントラサブブロック予測を起動し、または従来のイントラ予測を起動し、或いはBDPCMモードを起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、この2つの異なるコンテキストモデルが第1のコンテキストモデルと第2のコンテキストモデルであると仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第2のコンテキストモデルである。
本発明の実施例において、現在のブロックがBDPCMモードを起動し、またはイントラサブブロック予測モードを起動する場合、CBF指示情報の符号化・復号化のコンテキストモデルの選択も、現在のブロックの変換ブロックの分割深さに依存し、現在のブロックがBDPCMモードを起動し、従来のイントラ予測を起動し、及びイントラサブブロック分割モードを起動したときに、2つのコンテキストモデルを共有し、このようにすると、CBF指示情報に必要なコンテキストモデルの数を2に減らし、この結果、符号化・復号化の複雑さを軽減し、内容オーバーヘッドを削減することができる。
「BDPCMモードにおける第7の実施形態」
図83は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図83に示すように、当該方法は以下のステップを含む。
ステップ8301において、現在のブロックがイントラサブブロック予測を起動し、または従来のイントラ予測を起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、第1のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットが第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ8302において、現在のブロックがBDPCMモードを起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、第1のコンテキストモデルセットに含まれる1つのコンテキストモデルである。
図84は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図83の実施例に示された符号化の方法に対応する復号化の方法であり、図84に示すように、当該方法は以下のステップを含む。
ステップ8401において、現在のブロックがイントラサブブロック予測を起動し、または従来のイントラ予測を起動する場合、イントラサブブロック予測に基づいて現在のブロックを予測する前に、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて第1のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットが第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ8402において、現在のブロックがBDPCMモードを起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、第1のコンテキストモデルセットに含まれる1つのコンテキストモデルである。
本発明の実施例において、イントラサブブロック予測及び従来のイントラ予測の起動において、CBF指示情報は、現在のブロックの変換ブロックの分割深さに基づいて、2つのコンテキストモデルを共有し、BDPCMモードでは、CBF指示情報の符号化・復号化のコンテキストモデルについては、従来のイントラ予測及びイントラサブブロック予測モードに使用される2つのコンテキストモデルから1つを選択することができ、このようにすると、CBF指示情報に必要なコンテキストモデルの数を2に減らし、この結果、符号化・復号化の複雑さを軽減し、内容オーバーヘッドを削減することができる。
「JCCRモード」
図85は、本発明の実施例による符号化モードのフローチャートであり、当該方法は、符号化側に適用され、図85に示すように、当該方法は以下のステップを含む。
ステップ8501において、JCCRモードに基づいて現在のブロックを復号化する前に、現在のブロックがJCCRモードをサポートするかどうかに応じて、JCCR指示情報を符号化し、JCCR指示情報は、現在の処理ユニットがJCCRモードをサポートするかどうかを指示するために使用される。
ここで、現在の処理ユニットにおけるユニットの範囲は、シーケンスレベル、画像パラメータレベルまたはブロックレベルなどであってもよい。例えば、現在の処理ユニットは、現在の画像ブロックである。
ここで、現在の処理ユニットがJCCRモードをサポートするかどうかとは、JCCRモードを有効にできるかどうか、つまり、JCCRモードをオンにするかどうかを指す。例示的に、JCCR指示情報は、sps_jccr_enable_flagであり、JCCRの有効フラグである。一例として、sps_jccr_enable_flagが真の場合、現在のブロックがJCCRモードをサポートすることを示す。一例として、現在のブロックは、色度残差ブロックであってもよい。
一例として、JCCR指示情報は、シーケンスパラメータセット(SPS)、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。好ましくは、JCCR指示情報は、シーケンスパラメータセットに存在し、つまり、JCCR指示情報は、SPSレベルに追加された構文である。
一例として、符号化側は、範囲指示情報を符号化してもよく、当該範囲指示情報は、JCCRモードをサポートする処理ユニットの範囲を指示するために使用される。一例として、当該範囲指示情報は、シーケンスパラメータセット(SPS)、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。
この後、復号化側は、JCCR指示情報に基づいて、現在のブロックがJCCRモードを起動するかどうかを確定する。
一例として、JCCRモードが、現在のブロックがJCCRモードをサポートすることを指示する場合、現在のブロックのCBF値の確定を継続することができ、現在のブロックのCBコンポーネントとCRコンポーネントのCBF値がいずれも真であり、即ち現在のブロックのCBコンポーネントとCRコンポーネントの残差係数がいずれも0ではない場合、符号化側は、JCCRモードを起動できる。例示的に、現在のブロックがJCCRモードを起動するかどうかについては、符号化側でRDOによって決定されることができる。
図86は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図85に示された符号化の方法に対応する復号化の方法であり、図86に示すように、当該方法は以下のステップを含む。
ステップ8601において、JCCRモードに基づいて現在のブロックを復号化する前に、JCCR指示情報を復号化し、JCCR指示情報は、現在の処理ユニットがJCCRモードをサポートするかどうかを指示するために使用される。
ステップ8602において、JCCR指示情報に基づいて現在のブロックがJCCRモードをサポートすると確定し、且つ現在のブロックがJCCRモードを起動する場合、現在のブロックのCBコンポーネントとCRコンポーネントの相関性に従って、現在のブロックに対して復号化を行うことにより、現在のブロックの色度残差係数を得る。
一例として、JCCR指示情報に基づいて現在のブロックがJCCRモードをサポートすると確定した場合、現在のブロックのCBF値の確定を継続することができ、現在のブロックのCBコンポーネントのCBFとCRコンポーネントのCBF値がいずれも真であり、即ち現在のブロックのCBコンポーネントとCRコンポーネントがいずれも非ゼロ変換係数を有する場合、現在のブロックがJCCRモードを起動するかどうかを解析し続ける。現在のブロックがJCCRモードを起動すると確定した場合、現在のブロックのCBコンポーネントとCRコンポーネントの相関性に従って、現在のブロックに対して復号化を行うことにより、現在のブロックの色度残差係数を得る。
ここで、現在のブロックのCBF値は、現在のブロックの変換ブロックが非ゼロ変換係数を有するかどうか、即ち現在のブロックの変換ブロックが1つ以上の0に等しくない変換係数を含むかどうかを指示するために使用される。現在のブロックのCBF値は、現在のブロックのCBコンポーネントのCBF値及び現在のブロックのCRコンポーネントのCBF値を含むことができる。ここで、現在のブロックのCBコンポーネントのCBF値は、現在のブロックのCB変換ブロックが非ゼロ変換係数を有するかどうか、即ち現在のブロックのCB変換ブロックが1つ以上の0に等しくない変換係数を含むかどうかを指示するために使用される。現在のブロックのCRコンポーネントのCBF値は、現在のブロックのCR変換ブロックが非ゼロ変換係数を有するかどうか、即ち現在のブロックのCR変換ブロックが1つ以上の0に等しくない変換係数を含むかどうかを指示するために使用される。現在のブロックのCBコンポーネントのCBF値が真であり、即ちCBコンポーネントのCBF値が1である場合、現在のブロックのCB変換ブロックが非ゼロ変換係数を有することを示す。現在のブロックのCRコンポーネントのCBF値が真であり、即ちCRコンポーネントのCBF値が1である場合、現在のブロックのCR変換ブロックが非ゼロ変換係数を有することを示す。
一例として、JCCR指示情報は、シーケンスパラメータセット(SPS)、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。好ましくは、JCCR指示情報は、シーケンスパラメータセットに存在し、つまり、JCCR指示情報は、SPSレベルに追加された構文である。
別の実施例において、復号化側は、範囲指示情報を復号化してもよく、当該範囲指示情報は、JCCRモードをサポートする処理ユニットのサイズ範囲を指示するために使用される。当該範囲指示情報は、シーケンスパラメータセット(SPS)、画像パラメータレベル、sliceレベルまたはTileレベルに存在することができる。
本発明の実施例において、JCCRモードをサポートするかどうかを指示するために使用される構文を追加し、符号化・復号化プロセスの柔軟性を向上させた。また、JCCRモードをサポートする処理ユニットの範囲を指示するために使用される構文も追加する。
なお、本発明の実施例における現在のブロックまたは画像ブロックは、シーケンスレベル、画像パラメータレベル、またはブロックレベルの他の処理ユニットであってもよく、本発明の実施例は、これについて限定しない。
図87は、本発明の実施例による符号化側8700の構造概略図であり、当該符号化側8700は、構成または性能の相違により大きな差異を生じることができ、1つ以上のプロセッサ(central processing units、CPU)8701と、1つ以上のメモリ8702を含むことができ、ここで、前記メモリ8702には、少なくとも1つの指令が記憶され、前記少なくとも1つの指令が前記プロセッサ8701によってアップロードされ、実行されることにより、上述の様々な方法の実施例による符号化の方法を実現する。もちろん、当該符号化側8700は、入出力を行うために、有線または無線ネットワークインターフェース、キーボード、および入出力インターフェースなどのコンポーネントを有してもよく、当該符号化側8700は、装置の機能を実現するための他のコンポーネントを含んでもよく、ここでは説明を省略する。
図88は、本発明の実施例による復号化側8800の構造概略図であり、当該復号化側8800は、構成または性能の相違により大きな差異を生じることができ、1つ以上のプロセッサ(central processing units、CPU)8801と、1つ以上のメモリ8802を含むことができ、ここで、前記メモリ8802には、少なくとも1つの指令が記憶され、前記少なくとも1つの指令が前記プロセッサ8801によってアップロードされ、実行されることにより、上述の様々な方法の実施例による復号化の方法を実現する。もちろん、当該復号化側8800は、入出力を行うために、有線または無線ネットワークインターフェース、キーボード、および入出力インターフェースなどのコンポーネントを有してもよく、当該復号化側8800は、装置の機能を実現するための他のコンポーネントを含んでもよく、ここでは説明を省略する。
別の実施例において、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、上記のいずれかに記載の符号化の方法、復号化の方法、または符号化・復号化の方法を実現するコンピュータ可読記憶媒体に関する。
別の実施例において、コンピュータ上で動作するとき、上記のいずれかに記載の符号化の方法、復号化の方法、または符号化・復号化の方法をコンピュータに実行させることを特徴とする指令を含むコンピュータプログラム製品に関する。
当業者にとって、上記の実施例のステップの全部または一部をハードウェアによって完了してもよく、プログラムを利用して関連するハードウェアを指令することにより完了してもよいことを理解することができ、前記プログラムは、コンピュータ可読記憶媒体に記憶されることができ、上記記憶媒体は、読み出し専用メモリ、磁気ディスク、または光ディスク等であってもよい。
上記は、本発明の好ましい実施例に過ぎない、本発明を限定するものではなく、本発明の精神および原則内でなされた任意の変更、等効な置換、改善などは、本発明の範囲に含まれるものとする。
本発明の目的、技術案および利点をより明確にするために、以下、図面を参照して本発明の実施形態をさらに詳細に説明する。
本発明の実施例を詳細に説明する前に、まず、本発明の実施例に係る応用シーンについて説明する。
図1は、本発明の実施例による符号化・復号化システムの構造概略図である。図1に示すように、符号化・復号化システムは、エンコーダ01、デコーダ02、記憶装置03、およびリンク04を含む。エンコーダ01は、記憶装置03と通信することができ、エンコーダ01は、リンク04を介してデコーダ02と通信することもできる。デコーダ02は、記憶装置03と通信することもできる。
エンコーダ01は、データソースを取得し、データソースを符号化し、符号化されたコードストリームを記憶装置03に転送して記憶し、またはリンク04を介してデコーダ02に直接に転送するために使用される。デコーダ02は、記憶装置03からコードストリームを取得して復号化することにより、データソースを得ることができ、またはエンコーダ01がリンク04を介して転送したコードストリームを受信した後、復号化することにより、データソースを得ることができる。ここで、データソースは、撮影された画像であってもよく、撮影されたビデオであってもよい。エンコーダ01およびデコーダ02は、いずれも単独で電子装置として使用されることができる。記憶装置03は、複数種類の分散型またはローカルアクセス型のデータ記憶媒体のいずれかを含むことができる。例えば、ハードディスクドライブ、ブルーレイディスク、読み取り専用ディスク、フラッシュメモリ、または符号化されたデータを記憶するための他の適切なデジタル記憶媒体が挙げられる。リンク04は、少なくとも1つの通信媒体を含むことができ、当該少なくとも1つの通信媒体、例えばRF(Radio Frequency、無線周波数)スペクトルまたは1つ以上の物理的伝送線路などの無線および/または有線通信媒体を含むことができる。
図2を参照して、図2は一例示的な実施例による符号化・復号化のフローチャートであり、符号化は、予測、変換、量子化、エントロピー符号化のいくつかのプロセスを含み、復号化は、復号化、逆変換、逆量子化、予測のいくつかのプロセスを含む。現在、通常はバイナリ算術符号化・復号化技術を用いて、現在の構文要素に対して符号化・復号化を行う。符号化および復号化における予測は、一般的に、イントラ予測、複数行予測、クロスコンポーネント予測、およびマトリクスに基づくイントラ予測などを含み、なお、符号化および復号化には、イントラ輝度候補リスト、適応ループフィルタ、適応的動きベクトル精度符号化・復号化技術、及びBD(Block-based quantized residual Differential、ブロックに基づく量子化された残差の差分)PCM(Pulse Code Modulation、パルス符号変調)符号化・復号化技術なども用いられ、次に、これらの予測方式と符号化・復号化技術について簡単に説明する。
「バイナリ算術符号化」
バイナリ算術符号化とは、現在の構文要素が二値化された後の各bin(ビット)に対してその確率モデルパラメータに基づいて算術符号化を行うことにより、最後のコードストリームを得ることを指す。それは、コンテキストに基づく適応算術符号化とバイパスに基づくバイナリ算術符号化の2つの符号化方式を含む。
CABAC(Context-based Adaptive Binary Arithmetic Coding、コンテキストに基づく適応バイナリ算術符号化)は、適応バイナリ算術符号化とよく設計された1つのコンテキストモデルを組み合わせて得られた方法である。符号化において、各シンボルの符号化は、いずれも前に符号化された結果に関連し、シンボルストリームの統計特性に応じて、各シンボルに対してコードワードを適応的に割り当て、特に、出現確率が非等確率であるシンボルに適用し、コードレートをさらに圧縮することができる。構文要素の各ビットは、コンテキストモデラーに順次に入力され、エンコーダは、前に符号化された構文要素またはビットに基づいて、各入力されたビットに対して適切な確率モデルを割り当て、当該プロセスはコンテキストモデリングと呼ばれる。ビットとそれに割り当てられた確率モデルをバイナリ算術エンコーダに送って符号化する。エンコーダは、ビット値に従ってコンテキストモデルを更新し、これは符号化の適応である。
バイパスに基づくバイナリ算術符号化(Bypass-based Binary Arithmetic Coding)は、等確率に基づくバイナリ算術符号化モード(バイパス符号化モードとも呼ばれる)であり、CABACに比べて、Bypassは確率更新の過程を欠いており、確率状態を適応的に更新する必要もなく、0と1の確率がそれぞれ50%の固定確率で符号化し、この符号化の方法は、より簡単であり、符号化の複雑度が低く、メモリ消費が小さく、等確率のシンボルに適している。
「イントラ予測」
イントラ予測とは、画像空間領域の相関を利用して、現在の画像ブロックの周りで符号化され再構築された隣接ブロックの画素を用いて、当該現在の画像ブロックの画素を予測することにより、画像空間領域の冗長性を除去する目的を達成することを指す。イントラ予測には複数種類のイントラ予測モードが規定され、各イントラ予測モードは、1種類のテクスチャ方向に対応する(DCモードを除く)。例えば、画像のテクスチャが水平状に配置されている場合、水平予測モードを選択することにより、画像情報をより良く予測することができる。例示的に、HEVC(High Efficiency Video Coding、高効率ビデオ符号化)では、輝度コンポーネントは、5種類のサイズの予測ユニット(画像ブロックまたはサブブロック)をサポートすることができ、各種類のサイズの予測ユニットは、表1に示すように、Planarモード、DCモード、33種類の角度モードを含む35種類のイントラ予測モードに対応する。
当該複数種類のイントラ予測モードに対応する予測方向は、図3に示すようになる。Planarモードは、画素値が緩やかに変化する領域に適用され、実施例では、水平方向と垂直方向の2つの線形フィルタを用いてフィルタリング処理を行い、両者の平均値を現在の画像ブロックの予測値とすることができる。DCモードは、面積が大きい平坦領域に適用され、現在の画像ブロックの周りで符号化され再構築された隣接ブロックの平均画素値を現在の画像ブロックの予測値とすることができる。一例として、PlanarモードおよびDCモードは、非角度モードとも呼ばれる。続けて図3を参照して、角度モードでは、モード番号26とモード番号10に対応するイントラ予測モードは、それぞれ垂直方向と水平方向を示し、本発明の一実現可能な実施形態では、モード番号26に隣接するモード番号に対応するイントラ予測モードを総称して垂直予測モードと呼び、モード番号10に隣接するモード番号に対応するイントラ予測モードを総称して水平予測モードと呼ぶことができ、例示的に、垂直予測モードは、モード番号2~モード番号18を含み、水平系測モードは、モード番号19~モード番号34を含むことができる。なお、次世代の符号化・復号化標準規格であるVVC(Versatile Video Coding、ヴァーサトルビデオ符号化)では、図4に示すように、角度モードに対してより細かく分割する。
「従来のイントラ予測」
従来のイントラ予測で採用された方法では、周辺画素を用いて現在のブロックを予測し、空間領域の冗長性を除去する。従来のイントラ予測モードでは、採用された目標予測モードは、MPM(Most probable mode:最も可能性の高いイントラ予測モード)リストからのものであってもよく、非MPMリストからのものであってもよい。
「ISP(Intra Sub-block-Partitions、イントラサブブロック予測)」
ISP技術において、イントラ予測で採用された方法では、画像ブロックを複数のサブブロックに分割して予測し、ISP技術をサポートする画像ブロックにとってサポートできる分割方式は、水平分割と垂直分割とを含む。復号化側にとって、現在のブロックがISPモードを起動する場合、現在のブロックのサイズがデフォルトで1種類の分割方式のみをサポートすれば、現在のブロックをデフォルトの分割方向で分割し、且つ予測、逆変換、逆量子化などの処理を行い、現在のブロックのサイズが2種類の分割方式をサポートすれば、その分割方向をさらに解析し、現在のブロックを確定された分割方向で分割し、且つ予測、逆変換、逆量子化などの処理を行う必要がある。
「MRL(Multi-Reference Line、複数行予測)」
MRL技術で採用された方法では、現在のブロックの参照画素に基づいて予測し、参照画素は、現在のブロックの隣接行からのものであってもよい。例えば、参考画素は、図5に示すReference line0(0行目)、Reference line1(1行目)、Reference line2(2行目)、Reference line3(3行目)からのものであってもよい。ここで、0行目は、現在のブロックの境界に隣接する行であり、1行目は、現在のブロックの境界に次に隣接する行であり、2行目は、1行目に隣接する行であり、3行目は、2行目に隣接する行である。現在、次世代の符号化・復号化標準規格であるVVCでは、参照画素は、Reference line0、Reference line1及びReference line3からのものであり、Reference line2は、使用されていない。ここで、前記lineは、現在のブロックの上側の行であってもよいし、現在のブロックの左側の列であってもよい。
「MPM」
HEVCにおいて、MPMの個数は3であり、現在のVVCにおいて、MPMの個数は6である。ISPおよびMRLモードの場合、そのイントラ予測モードは、MPMからのものでなければならず、従来のイントラ予測の場合、そのイントラ予測モードは、MPMからも非MPMからのものである可能性がある。
「CCLM(Cross-Component Linear Model Prediction、クロスコンポーネント予測)」
CCLM技術で採用された方法は、線形予測モデルを用いて、輝度コンポーネントから画素値を再構築し、線形方程式を利用することにより、色度コンポーネント予測画素値を得る技術であり、画像コンポーネント間の冗長性を除去し、符号化性能をさらに向上させることができる。現在、3種類のクロスコンポーネント予測モードがあり、それぞれMDLM_Lモード、MDLM_TモードとDMモードであり、MDLM_Lモードは、左テンプレート情報のみを用いて線形パラメータを得たクロスコンポーネント予測モードであり、MDLM_Tは、上テンプレート情報のみを用いて線形モデルパラメータを導出するクロスコンポーネント予測モードであり、DMは、色度について輝度と同様の予測モードを用いる。
「適応的なループフィルタリング」
適応ループフィルタ(Adaptive loop filter、ALF)について、自身の勾配方向に応じて、固定のフィルタから1種類のフィルタを選択してフィルタリングすることができ、且つCTUレベルのflagによって当該ブロックがALFフィルタリングをオンにするかどうかを示すことができ、色度と輝度は別々に制御できる。
「AMVR(adaptive motion vector resolution、適応的動きベクトル精度)」
AMVRは、動きベクトル差分符号化を行う際に異なる精度を採用できることを示すために使用され、採用された精度は、4画素精度のような整数画素精度であってもよいし、1/16画素精度のような非整数画素精度であってもよい。当該技術は、従来のイントラ予測における動きベクトルデータ符号化に適用でき、affine(アフィン)予測モードにおける動きベクトルデータ符号化にも適用できる。
「MIP(Matrix Based Intra Prediction、マトリクスに基づくイントラ予測)」
マトリクスに基づくイントラ予測技術とは、現在のブロックの上及び左の隣接画素を参照ピクセルとし、マトリクスベクトル乗算器に送り、バイアスを加算することにより、現在のブロックの予測画素値を確定することを指す。
「BDPCM」
BDPCMとは、予測ステップにおいて画素を予測する際に、対応する参照画素の画素値を垂直方向に直接コピーすること、または、対応する参照画素の画素値を水平方向にコピーすることを指し、垂直予測および水平予測と同様である。次に、予測画素と元の画素との残差値を量子化し、量子化された残差を差分符号化する。
例として、現在のブロックのサイズがM*Nである場合、
は、予測残差を表し、
は、予測残差r
i,jを量子化して量子化された後の残差を得ることを表す。次に、量子化された後の残差Q(r
i,j)を差分符号化することにより、差分符号化結果
を得る。
復号化側にとって、逆累積プロセスは、量子化された後の残差データを得るために使用される。
次に、量子化された後の残差を逆量子化し、予測値と加算することにより、再構築画素値を得る。
「JCCR(Joint Coding of Chrominance residuals、色度残差のジョイント符号化)」
JCCRは、CB(青色色度)コンポーネントとCR(赤色色度)コンポーネントをジョイント符号化する方式であり、色度残差の分布を観察することにより、CBとCRが常に負の相関を示す傾向があることを確認しやすいので、JCCRが、このような現象を利用してCBとCRをジョイント符号化する方式を提案し、例えば、(CB-CR)/2、即ちCBコンポーネントとCRコンポーネントの平均値を符号化すればよい。
関連技術では、異なる予測モードまたは符号化・復号化技術において、復号化側は、異なる構文要素を符号化側に伝送する必要があり、また、構文要素を伝送するために必要なコンテキストモデルが多く、符号化・復号化プロセスの複雑度が高く、メモリオーバーヘッドが大きい。かかる事情に鑑みて、本発明は、必要なコンテキストモデルの数を減らし、ひいては、符号化・復号化プロセスの複雑さを軽減し、メモリオーバーヘッドを削減することができる符号化・復号化の方法を提供する。
「ISPモード」
ISPモードでは、復号化側と符号化側との間で伝送を必要とする構文要素は、第1のISP指示情報と第2のISP指示情報とを含むことができ、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用され、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。例示的に、第1の指示情報は、intra_subpartitions_mode_flagであり、第2の指示情報は、intra_subpartitions_split_flagである。
そして、第1のISP指示情報の符号化または復号化を行うと確定したときに、1つのコンテキストモデルに基づいて、第1のISP指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要があり、第2のISP指示情報の符号化または復号化を行うと確定したときに、別の異なるコンテキストモデルに基づいて、第2のISP指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要がある。つまり、以下の表2に示すように、2つのコンテキストモデルを使用して、第1のISP指示情報および第2のISP指示情報を符号化・復号化する必要がある。
「ISPモードの第1の実施形態」
図6は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図6に示すように、当該方法は以下のステップを含む。
ステップ601において、第1のISP指示情報の符号化を行うと確定したときに、1つのコンテキストモデルに基づいて、第1のISP指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用される。
一例として、現在のブロックがサブブロック分割技術をサポートする条件を満たす場合、現在のブロックは、サブブロック分割技術を使用しようと試みることができ、符号化側は、RDO(Rate Distortion Optimization、レート歪み最適化)によって最終的にサブブロック分割技術を使用するかどうかを決定し、第1のISP指示情報の符号化を行うことができ、第1のISP指示情報によって、現在のブロックがイントラサブブロック予測モードを起動するかどうかを示す。ここで、サブブロック分割技術をサポートする条件は、現在のブロックが輝度ブロックであることと、現在のブロックが複数行予測モードを起動しないことと、現在のブロックのサイズが一定の制限条件を満たすことと、を含む。もちろん、サブブロック分割技術をサポートする条件は、上記の3つの条件に限定されるだけでなく、他の条件を含んでもよい。
例示的に、第1のISP指示情報は、intra_subpartitions_mode_flagであり、intra_subpartitions_mode_flagは、現在のブロックがイントラサブブロック予測モードを起動するかどうかを示すフラグである。intra_subpartitions_mode_flagが0である場合、現在のブロックがイントラサブブロック予測モードを起動しないことを示し、intra_subpartitions_mode_flagが1である場合、現在のブロックがイントラサブブロック予測モードを起動することを示す。
ステップ602において、第2のISP指示情報の符号化を行うと確定したときに、第2のISP指示情報に対してバイパスに基づくバイナリ算術符号化を行い、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。
ここで、サブブロック分割方式は、水平分割方向と垂直分割方向とを含む。現在のブロックが2つの分割方向をサポートする場合、最終的に使用される分割方向を確定し、使用される分割方向に基づいて、第2のISP指示情報の符号化を継続する必要がある。現在のブロックが1つの分割方向のみをサポートする場合、第2のISP指示情報の符号化を継続する必要がない。
ここで、第2のISP指示情報は、intra_subpartitions_split_flagであってもよく、intra_subpartitions_split_flagは、現在のブロックのISPモードのサブブロック分割方式を示すフラグである。例示的に、intra_subpartitions_split_flagが0である場合、現在のブロックのISPモードのサブブロック分割方式が水平分割であることを示し、intra_subpartitions_split_flagが1である場合、現在のブロックのISPモードのサブブロック分割方式が垂直分割であることを示す。
一例として、ISPモードにおける構文要素の符号化の方式は、表3に示す通りである。
つまり、関連技術における第2のISP指示情報の符号化方式を修正し、複雑なCABAC符号化方式をバイパス符号化方式で置き換えることにより、メモリオーバーヘッドを削減し、符号化の複雑度を軽減することができ、そして、符号化の性能から、性能は基本的に変わらない。
図7は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図6の実施例による符号化の方法に対応する復号化の方法であり、図7に示すように、当該方法は以下のステップを含む。
ステップ701において、第1のISP指示情報の復号化を行うと確定したときに、1つのコンテキストモデルに基づいて、第1のISP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用される。
一例として、現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たす場合、符号化ストリームにおける第1のISP指示情報を復号化することにより、現在のブロックがイントラサブブロック予測モードを起動するかどうかを解析する。ここで、解析条件は、現在のブロックが輝度ブロックであることと、現在のブロックが複数行予測モードを起動しないことと、現在のブロックのサイズが一定の制限条件を満たすことと、を含む。もちろん、当該解析条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
例示的に、第1のISP指示情報は、intra_subpartitions_mode_flagである。intra_subpartitions_mode_flagが0である場合、現在のブロックがイントラサブブロック予測モードを起動しないことを示し、intra_subpartitions_mode_flagが1である場合、現在のブロックがイントラサブブロック予測モードを起動することを示す。
ステップ702において、第2のISP指示情報の復号化を行うと確定したときに、第2のISP指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。
例示的に、第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動することを指示し、且つ現在のブロックが2つの分割方向をサポートする場合、第2のISP指示情報の復号化を行う必要があると確定した。第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動しないことを指示し、または第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動することを指示し、且つ現在のブロックが1つの分割方向のみをサポートする場合、第2のISP指示情報の復号化を行う必要がないと確定した。
例えば、intra_subpartitions_mode_flagが1であり、且つ現在のブロックが2つの分割方向をサポートする場合、分割方向のフラグであるintra_subpartitions_split_flagをさらに解析する必要がある。intra_subpartitions_mode_flagが0であり、またはintra_subpartitions_mode_flagが1であるが、現在のブロックがある一定方向の分割方向のみをサポートする場合、分割方向を表すフラグを解析する必要がない。
以上の2つのISP指示情報に基づいて、復号化側は、現在のブロックがISPモードを起動するかどうか、及び対応する分割方向を確定することにより、確定された分割方向に基づいて現在のブロックを予測して、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
「ISPモードの第2の実施形態」
図8は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図8に示すように、当該方法は以下のステップを含む。
ステップ801において、第1のISP指示情報の符号化を行うと確定したときに、第1のISP指示情報に対してバイパスに基づくバイナリ算術符号化を行い、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用される。
一例として、現在のブロックがサブブロック分割技術をサポートする条件を満たす場合、現在のブロックは、サブブロック分割技術を使用しようと試みることができ、符号化側は、RDOによって最終的にサブブロック分割技術を使用するかどうかを決定し、第1のISP指示情報の符号化を行うことができ、第1のISP指示情報によって、現在のブロックがイントラサブブロック予測モードを起動するかどうかを示す。ここで、サブブロック分割技術をサポートする条件は、現在のブロックが輝度ブロックであることと、現在のブロックが複数行予測モードを起動しないことと、現在のブロックのサイズが一定の制限条件を満たすことと、を含む。もちろん、サブブロック分割技術をサポートする条件は、上記の3つの条件に限定されるだけでなく、他の条件を含んでもよい。
例示的に、第1のISP指示情報は、intra_subpartitions_mode_flagであり、intra_subpartitions_mode_flagは、現在のブロックがイントラサブブロック予測モードを起動するかどうかを示すフラグである。intra_subpartitions_mode_flagが0である場合、現在のブロックがイントラサブブロック予測モードを起動しないことを示し、intra_subpartitions_mode_flagが1である場合、現在のブロックがイントラサブブロック予測モードを起動することを示す。
ステップ802において、第2のISP指示情報の符号化を行うと確定したときに、第2のISP指示情報に対してバイパスに基づくバイナリ算術符号化を行い、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。
ここで、サブブロック分割方式は、水平分割方向と垂直分割方向とを含む。現在のブロックが2つの分割方向をサポートする場合、最終的に使用される分割方向を確定し、使用される分割方向に基づいて、第2のISP指示情報の符号化を継続する必要がある。現在のブロックが1つの分割方向のみをサポートする場合、第2のISP指示情報の符号化を継続する必要がない。
ここで、第2のISP指示情報は、intra_subpartitions_split_flagであってもよく、intra_subpartitions_split_flagは、現在のブロックのISPモードのサブブロック分割方式を示すフラグである。例示的に、intra_subpartitions_split_flagが0である場合、現在のブロックのISPモードのサブブロック分割方式が水平分割であることを示し、intra_subpartitions_split_flagが1である場合、現在のブロックのISPモードのサブブロック分割方式が垂直分割であることを示す。
一例として、ISPモードにおける構文要素の符号化方式は、表4に示す通りである。
つまり、関連技術におけるintra_subpartitions_mode_flagのフラグ、及びintra_subpartitions_split_flagのフラグの符号化方式を修正し、元の複雑なCABAC符号化方式をバイパス符号化方式で置き換えることにより、メモリオーバーヘッドをさらに削減し、符号化の複雑度を軽減することができ、そして、符号化の性能から、性能は基本的に変わらない。
図9は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図8の実施例による符号化の方法に対応する復号化の方法であり、図9に示すように、当該方法は以下のステップを含む。
ステップ901において、第1のISP指示情報の復号化を行うと確定したときに、第1のISP指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第1のISP指示情報は、イントラサブブロック予測モードを起動するかどうかを指示するために使用される。
一例として、現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たす場合、符号化ストリームにおける第1のISP指示情報を復号化することにより、現在のブロックがイントラサブブロック予測モードを起動するかどうかを解析する。ここで、解析条件は、現在のブロックが輝度ブロックであることと、現在のブロックが複数行予測モードを起動しないことと、現在のブロックのサイズが一定の制限条件を満たすことと、を含む。もちろん、当該解析条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
例示的に、第1のISP指示情報は、intra_subpartitions_mode_flagである。intra_subpartitions_mode_flagが0である場合、現在のブロックがイントラサブブロック予測モードを起動しないことを示し、intra_subpartitions_mode_flagが1である場合、現在のブロックがイントラサブブロック予測モードを起動することを示す。
ステップ902において、第2のISP指示情報の復号化を行うと確定したときに、第2のISP指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第2のISP指示情報は、イントラサブブロック予測モードのサブブロック分割方式を指示するために使用される。
例示的に、第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動することを指示し、且つ現在のブロックが2つの分割方向をサポートする場合、第2のISP指示情報の復号化を行う必要があると確定した。第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動しないことを指示し、または第1のISP指示情報が、現在のブロックがイントラサブブロック予測モードを起動することを指示し、且つ現在のブロックが1つの分割方向のみをサポートする場合、第2のISP指示情報の復号化を行う必要がないと確定した。
例えば、intra_subpartitions_mode_flagが1であり、且つ現在のブロックが2つの分割方向をサポートする場合、分割方向のフラグであるintra_subpartitions_split_flagをさらに解析する必要がある。intra_subpartitions_mode_flagが0であり、またはintra_subpartitions_mode_flagが1であるが、現在のブロックがある一定方向の分割方向のみをサポートする場合、分割方向を表すフラグを解析する必要がない。
以上の2つのISP指示情報に基づいて、復号化側は、現在のブロックがISPモードを起動するかどうか、及び対応する分割方向を確定することにより、確定された分割方向に基づいて現在のブロックを予測して、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
「MRLモード」
「MRLモードの第1の実施形態」
図10は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図10に示すように、当該方法は以下のステップを含む。
ステップ1001において、現在のブロックの幅と高さのサイズがM*Nであり、Mが64未満且つNが64未満の場合、現在のブロックは、複数行予測モードをサポートしない。
例示的に、現在のブロックの幅と高さのサイズがM*Nである場合、現在のブロックは、複数行予測モードをサポートしない。
「MRLモードの第2の実施形態」
MRLモードにおいて、復号化側と符号化側との間で伝送を必要とする構文要素は、参照行指示情報を含むことができ、参照行指示情報が、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行のインデックス情報を指示するために使用される。例示的に、参照行指示情報は、intra_luma_ref_idxである。
関連技術では、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、複数行予測モードに対応する参照行指示情報が、最大2ビットを占める場合、この2ビットについて、以下の表5および表6に示すように、2つの異なるコンテキストモデルを使用して、符号化・復号化する必要がある。
ここで、第1のbinとは、参照行指示情報の第1のビットを指し、第1のコンテキストモデルに基づいて符号化・復号化する必要があり、第2のbinとは、参照行指示情報の第2のビットを指し、第2のコンテキストモデルに基づいて符号化・復号化する必要があり、第1のコンテキストモデルと第2のコンテキストモデルは異なる。
そして、目標参照行のインデックス情報と目標参照行の行番号との対応関係を表7に示す。
表7から分かるように、参照行指示情報で指示されるインデックス情報が0である場合、目標参照行は、0行目であり、参照行指示情報で指示されるインデックス情報が1である場合、目標参照行は、1行目であり、参照行指示情報で指示されるインデックス情報が2である場合、目標参照行は、3行目である。
なお、本発明の実施例における行は、現在のブロックの上側の行であってもよいし、現在のブロックの左側の列であってもよい。
図11は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図10に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、複数行予測モードに対応する参照行指示情報が、最大2ビットを占める場合、当該方法は以下のステップを含む。
ステップ1101において、1つのコンテキストモデルに基づいて、参照行指示情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化を行う。
一例として、現在のブロックが複数行予測技術をサポートする条件を満たすかどうかを確定することができ、現在のブロックが複数行予測技術をサポートする条件を満たす場合、現在のブロックが各参照行を用いて符号化しようと試みることができると確定する。符号化側は、RDOによって最終的な参照画素ソースを決定し、参照行インデックス情報を符号化ストリームに符号化することができる。ここで、複数行予測技術をサポートする条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行を含まないことと、を含む。もちろん、複数行予測技術をサポートする条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
一例として、複数行予測技術を使用することができる場合、すべての参照行を巡回し、RDOによって最終的な目標参照行を決定し、参照行指示情報を符号化する。符号化ストリームにおいて、具体的な状況に応じて参照行指示情報を符号化することができる。一例として、参照行指示情報は、intra_luma_ref_idxであってもよい。
なお、本発明の実施例における行は、現在のブロックの上側の行であってもよいし、現在のブロックの左側の列であってもよい。
ステップ1102において、参照行指示情報の第2のビットに対して符号化を行う必要があるときに、参照行指示情報の第2のビットに対してバイパスに基づくバイナリ算術符号化を行う。
本発明の実施例において、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、複数行予測モードに対応する参照行指示情報が、最大2ビットを占める場合、この2ビットの第1のビットについて、1つのコンテキストモデルを使用して符号化することができ、第2のビットについて、バイパス符号化モードに基づいて符号化することができ、このようにすると、1つのコンテキストモデルを使用するだけで、参照行指示情報の全てのビットに対する符号化が可能になり、使用されるコンテキストモデルの数を減らし、符号化の複雑さとメモリ消費をさらに軽減し、そして符号化性能も大きく変化していない。
例えば、参照行指示情報によって使用されるコンテキストモデルは、以下の表8および表9に示す通りである。
図12は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図11に示された符号化の方法に対応する復号化の方法であり、図12に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、複数行予測モードに対応する参照行指示情報が、最大2ビットを占める場合、当該方法は以下のステップを含む。
ステップ1201において、1つのコンテキストモデルに基づいて、参照行指示情報の第1のビットに対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ1202において、参照行指示情報の第2のビットに対して復号化を行う必要があるときに、参照行指示情報の第2のビットに対してバイパスに基づくバイナリ算術復号化を行う。
参照行指示情報を復号化することにより、参照行指示情報に基づいて、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行を確定することができ、次に、目標参照行を利用して現在のブロックを予測する。
一例として、現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たす場合、参照行指示情報を復号化することにより、現在のブロックの参照画素ソースを確定する。解析条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行ではないことと、を含む。もちろん、当該解析条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
一例として、現在のブロックが複数行予測を使用することができる場合、intra_luma_ref_idxの値に基づいて、現在のブロックの参照画素を確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得るために、intra_luma_ref_idxを解析する必要がある。
「MRLモードの第3の実施形態」
関連技術では、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が4であり、複数行予測モードに対応する参照行指示情報が、最大3ビットを占める場合、この3ビットについて、以下の表10および表11に示すように、3つの異なるコンテキストモデルを使用して、符号化・復号化する必要がある。
ここで、第1のbinとは、参照行指示情報の第1のビットを指し、第1のコンテキストモデルに基づいて符号化・復号化する必要があり、第2のbinとは、参照行指示情報の第2のビットを指し、第2のコンテキストモデルに基づいて符号化・復号化する必要があり、第3のbinとは、参照行指示情報の第3のビットを指し、第3のコンテキストモデルに基づいて符号化・復号化する必要があり、この3つのコンテキストモデルは異なる。
そして、目標参照行のインデックス情報と対応する目標参照行の行番号を表12に示す。
表12から分かるように、参照行指示情報で指示されるインデックス情報が0である場合、目標参照行は、0行目であり、参照行指示情報で指示されるインデックス情報が1である場合、目標参照行は、1行目であり、参照行指示情報で指示されるインデックス情報が2である場合、目標参照行は、2行目であり、参照行指示情報で指示されるインデックス情報が3である場合、目標参照行は、3行目である。
図13は、本発明の実施例による符号化の方法のフローチャートであり、符号化側に適用され、図13に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が4であり、複数行予測モードに対応する参照行指示情報が、最大3ビットを占める場合、当該方法は以下のステップを含む。
ステップ1301において、1つのコンテキストモデルに基づいて、参照行指示情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化を行う。
一例として、現在のブロックが複数行予測技術をサポートする条件を満たすかどうかを確定することができ、現在のブロックが複数行予測技術をサポートする条件を満たす場合、現在のブロックが各参照行を用いて符号化しようと試みることができると確定する。符号化側は、RDOによって最終的な参照画素ソースを決定し、参照行インデックス情報を符号化ストリームに符号化することができる。ここで、複数行予測技術をサポートする条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行ではないことと、を含む。もちろん、複数行予測技術をサポートする条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
一例として、複数行予測技術を使用することができる場合、すべての参照行を巡回し、RDOによって最終的な目標参照行を決定し、参照行指示情報を符号化する。符号化ストリームにおいて、具体的な状況に応じて参照行指示情報を符号化することができる。一例として、参照行指示情報は、intra_luma_ref_idxであってもよい。
ステップ1302において、参照行指示情報の第2のビットに対して符号化を行う必要があるときに、参照行指示情報の第2のビットに対してバイパスに基づくバイナリ算術符号化を行う。
ステップ1303において、参照行指示情報の第3のビットに対して符号化を行う必要があるときに、参照行指示情報の第3のビットに対してバイパスに基づくバイナリ算術符号化を行う。
本発明の実施例において、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が4であり、複数行予測モードに対応する参照行指示情報が、最大3ビットを占める場合、この3ビットの第1のビットについて、1つのコンテキストモデルを使用して符号化することができ、第2のビット及び第3のビットについて、バイパス符号化モードに基づいて符号化することができ、このようにすると、1つのコンテキストモデルを使用するだけで、参照行指示情報の全てのビットに対する符号化が可能になり、使用されるコンテキストモデルの数を減らし、符号化の複雑さとメモリ消費をさらに軽減し、そして符号化性能も大きく変化していない。
例えば、参照行指示情報によって使用されるコンテキストモデルは、以下の表13および表14に示す通りである。
図14は、本発明の実施例による復号化の方法のフローチャートであり、復号化側に適用され、図13の実施例による符号化の方法に対応する復号化の方法であり、図14に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が4であり、複数行予測モードに対応する参照行指示情報が、最大3ビットを占める場合、当該方法は以下のステップを含む。
ステップ1401において、1つのコンテキストモデルに基づいて、参照行指示情報の第1のビットに対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ1402において、参照行指示情報の第2のビットに対して復号化を行う必要があるときに、参照行指示情報の第2のビットに対してバイパスに基づくバイナリ算術復号化を行う。
ステップ1403において、参照行指示情報の第3のビットに対して復号化を行う必要があるときに、参照行指示情報の第3のビットに対してバイパスに基づくバイナリ算術復号化を行う。
一例として、現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たす場合、参照行指示情報を復号化することにより、現在のブロックの参照画素ソースを確定する。解析条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行ではないことと、を含む。もちろん、当該解析条件は、上記の3つの条件に限定されず、他の条件を含んでもよい。
一例として、現在のブロックが複数行予測を使用することができる場合、intra_luma_ref_idxの値に基づいて、現在のブロックの参照画素を確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得るために、intra_luma_ref_idxを解析する必要がある。
「MRLモードの第4の実施形態」
図15は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図15に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、ここで、インデックス情報が0である候補参照行は0行目であり、インデックス情報が1である候補参照行は1行目であり、インデックス情報が2である候補参照行は2行目である場合、当該方法は以下のステップを含む。
ステップ1501において、複数行予測モードに基づいて現在のブロックを予測するときに、目標参照行に基づいて現在のブロックを予測し、目標参照行は、参照行指示情報に基づいて確定される。
ここで、参照行指示情報で指示されるインデックス情報が0である場合、目標参照行は、0行目である。
参照行指示情報で指示されるインデックス情報が1である場合、目標参照行は、1行目である。
参照行指示情報で指示されるインデックス情報が2である場合、目標参照行は、2行目である。
例示的に、参照行指示情報で指示されるインデックス情報と対応する目標参照行は、以下の表15に示す通りである。
本発明の実施例において、最も近い3行3列を目標参照行の候補として選択することができる。つまり、目標参照行は、候補参照行から選択された1行であり、ここで、複数行予測モードに対応する候補参照行の行数は3であり、且つ現在のブロックの境界に最も近い3行3列が候補参照行として用いられる。
「MRLモードの第5の実施形態」
図16は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図16に示すように、現在のブロックが複数行予測モードをサポートすると確定し、且つ複数行予測モードに対応する候補参照行の行数が3であり、ここで、インデックス情報が0である候補参照行は0行目であり、インデックス情報が1である候補参照行は1行目であり、インデックス情報が2である候補参照行は2行目である場合、当該方法は以下のステップを含む。
ステップ1601において、複数行予測モードに基づいて現在のブロックを予測するときに、目標参照行に基づいて現在のブロックを予測し、目標参照行は、参照行指示情報に基づいて確定される。
ここで、参照行指示情報で指示されるインデックス情報が0である場合、目標参照行は、0行目である。
参照行指示情報で指示されるインデックス情報が1である場合、目標参照行は、2行目である。
参照行指示情報で指示されるインデックス情報が2である場合、目標参照行は、3行目である。
例示的に、参照行指示情報で指示されるインデックス情報と対応する目標参照行は、以下の表16に示す通りである。
本発明の実施例において、0行目、2行目及び3行目を目標参照行の候補として選択することができる。
「MRLモードの第6の実施形態」
図17は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図17に示すように、現在のブロックが複数行予測モードをサポートすると確定する場合、当該方法は以下のステップを含む。
ステップ1701において、複数行予測モードに基づいて現在のブロックを予測する前に、複数行予測モードに対応する候補参照行の行数に基づいて、行数指示情報に対して復号化を行い、行数指示情報は、複数行予測モードに対応する候補参照行の行数を指示するために使用される。
ステップ1702において、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行は、参照行指示情報を符号化し、参照行指示情報は、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行のインデックス情報を指示するために使用される。
ステップ1703において、目標参照行に基づいて現在のブロックを予測する。
本発明の実施例において、複数行予測モードに対応する候補参照行の行数を指示できる行数指示情報を追加することにより、複数行予測モードが参照行数を選択できるようになる。
一例として、行数指示情報は、シーケンスパラメータセット(SPS)、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。好ましくは、行数指示情報は、シーケンスパラメータセットに存在し、つまり、SPSレベルに複数行予測モードに対応する候補参照行の行数を指示するために使用される構文を追加することができる。
図18は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図18に示すように、現在のブロックが複数行予測モードをサポートすると確定する場合、当該方法は以下のステップを含む。
ステップ1801において、複数行予測モードに基づいて現在のブロックを予測する前に、行数指示情報に対して復号化を行い、行数指示情報は、複数行予測モードに対応する候補参照行の行数を指示するために使用される。
ステップ1802において、行数指示情報に基づいて複数行予測モードに対応する候補参照行の行数を確定する。
ステップ1803において、複数行予測モードに対応する候補参照行の行数と参照行指示情報に基づいて目標参照行を確定し、参照行指示情報は、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行のインデックス情報を指示するために使用される。
ステップ1804において、目標参照行に基づいて現在のブロックを予測する。
本発明の実施例において、複数行予測モードに対応する候補参照行の行数を指示できる行数指示情報を追加することにより、複数行予測モードが参照行数を選択できるようになる。
一例として、行数指示情報は、シーケンスパラメータセット(SPS)、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。好ましくは、行数指示情報は、シーケンスパラメータセットに存在し、つまり、SPSレベルに複数行予測モードに対応する候補参照行の行数を指示するために使用される構文を追加することができる。
「AMVRモード」
AMVRモードでは、復号化側と符号化側との間で伝送を必要とする構文要素は、第1のAMVR指示情報と第2のAMVR指示情報とを含むことができ、第1のAMVR指示情報は、AMVRモードを起動するかどうかを指示するために使用され、第2のAMVR指示情報は、第2のAMVR指示情報は、AMVRモードで動きベクトル差分の符号化または復号化を行うときに使用される画素精度のインデックス情報を指示するために使用される。一例として、第1のAMVR指示情報は、amvr_flagであり、第2のAMVR指示情報は、amvr_precision_flagである。
関連技術では、アフィン予測モードと非アフィン予測モードについては、非アフィン予測モードとは、アフィン予測モード以外の他の予測モードを指し、第1のAMVR指示情報および第2のAMVR指示情報について、表17および表18に示すように、符号化および復号化のために合計で4つのコンテキストモデルを必要とする。
表17および表18から分かるように、現在のブロックがアフィン予測モードを起動する場合、第1のAMVR指示情報の符号化または復号化を行うときに、第3のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要があり、第2のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第4のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要がある。現在のブロックが非アフィン予測モードを起動する場合、第1のAMVR指示情報の符号化または復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要があり、第2のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要がある。つまり、AMVR指示情報に対して符号化または復号化を行うためには、合計で4つの異なるコンテキストモデルを必要とし、メモリ消費が大きい。
「AMVRモードの第1の実施形態」
図19は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図19に示すように、当該方法は以下のステップを含む。
ステップ1901において、現在のブロックがアフィン予測モードを起動し、またはアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ1902において、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のコンテキストモデルと第2のコンテキストモデルは異なる。
一例として、現在のブロックが適応的動きベクトル精度を使用できるという条件を満たす場合、現在のブロックは、複数の動きベクトル精度を使用して符号化しようと試みることができる。例示的に、符号化側は、RDOによってAMVRを起動するかどうか、および採用された動きベクトル精度を決定し、対応する構文情報を符号化ストリームに符号化することができる。ここで、適応的動きベクトル精度を使用する条件は、現在のブロックがイントラ予測ブロックであることと、現在のブロックの動き情報が非ゼロ動きベクトル差分を含むことと、を含む。もちろん、適応的動きベクトル精度を使用する条件は、上記の条件に限定されず、他の条件を含んでもよい。
図20は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図19に示された符号化の方法に対応する復号化の方法であり、図20に示すように、当該方法は以下のステップを含む。
ステップ2001において、現在のブロックがアフィン予測モードを起動し、またはアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
一例として、復号化側が現在のブロックの符号化ストリームを先に受信することができ、現在のブロックが解析条件を満たすと確定した場合、第1のAMVRを解析することにより、現在のブロックがAMVRを起動するかどうか、即ち適応的動きベクトル精度を使用するかどうかを確定する。ここで、解析条件は、現在のブロックがフレーム間ブロックであることと、現在のブロックの動き情報が非ゼロ動きベクトル差分を含むことと、を含む。もちろん、解析条件は、上記の条件に限定されず、他の条件を含んでもよい。
ステップ2002において、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデルと第2のコンテキストモデルは異なる。
現在のブロックがAMVRモードを起動したと確定した場合、第2のAMVR指示情報をさらに解析することにより、使用された精度を確定する必要もある。復号化側が、第1のAMVR指示情報及び第2のAMVR指示情報に基づいて、現在のブロックの動き情報の動きベクトル精度を一意に確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
例示的に、アフィン予測モードと非アフィン予測モードについては、第1のAMVR指示情報及び第2のAMVR指示情報に使用されるコンテキストモデルは、以下の表19に示す通りである。
本発明の実施例において、AMVR指示情報が、Affineアフィン予測モード及び非affineアフィン予測モードでは、コンテキストモデルを共用することができ、このようにすると、AMVRで必要なコンテキストモデルを2つに減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「AMVRモードの第2の実施形態」
図21は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図21に示すように、当該方法は以下のステップを含む。
ステップ2101において、現在のブロックがアフィン予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
ステップ2102において、現在のブロックがアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第2のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
図22は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図21に示された符号化の方法に対応する復号化の方法であり、図22に示すように、当該方法は以下のステップを含む。
ステップ2201において、現在のブロックがアフィン予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ステップ2202において、現在のブロックがアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第2のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
例示的に、アフィン予測モードと非アフィン予測モードについては、第1のAMVR指示情報及び第2のAMVR指示情報に使用されるコンテキストモデルは、以下の表20に示す通りである。
本発明の実施例において、Affineアフィン予測モード及び非affineアフィン予測モードでは、第2のAMVR指示情報に対して、バイパスに基づくバイナリ算術符号化または復号化を行うように修正され、このようにすると、AMVRで必要なコンテキストモデルを2つに減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「AMVRモードの第3の実施形態」
図23は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図23に示すように、当該方法は以下のステップを含む。
ステップ2301において、現在のブロックがアフィン予測モードを起動し、またはアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックが適応的動きベクトル精度AMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ2302において、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
図24は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図23に示された符号化の方法に対応する復号化の方法であり、図24に示すように、当該方法は以下のステップを含む。
ステップ2401において、現在のブロックがアフィン予測モードを起動し、またはアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックが適応的動きベクトル精度AMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ2402において、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のAMVR指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
例示的に、アフィン予測モードと非アフィン予測モードについては、第1のAMVR指示情報及び第2のAMVR指示情報に使用されるコンテキストモデルは、以下の表21に示す通りである。
本発明の実施例において、第1のAMVR指示情報は、Affineアフィン予測モード及び非affineアフィン予測モードでは、1つのコンテキストモデルを共用し、第2のAMVR指示情報に対して、バイパスに基づくバイナリ算術符号化または復号化を行うように修正され、このようにすると、AMVRで必要なコンテキストモデルを1つに減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「AMVRモードの第4の実施形態」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該方法は以下のステップを含む。
ステップ1において、現在のブロックがアフィン予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ2において、現在のブロックがアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の符号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の符号化を行うときに、第3のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ここで、第1のコンテキストモデル、第2のコンテキストモデル及び第3のコンテキストモデルは、異なる。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、当該方法は、上記の符号化の方法に対応する復号化の方法であり、当該方法は、以下のステップを含む。
ステップ1において、現在のブロックがアフィン予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第1のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ2において、現在のブロックがアフィン予測モード以外の他の予測モードを起動する場合、現在のブロックの動きベクトル差分の復号化を行うときに、現在のブロックがAMVRモードをサポートすれば、第1のAMVR指示情報の復号化を行うときに、第3のコンテキストモデルに基づいて、第1のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のAMVR指示情報が、現在のブロックがAMVRモードを起動することを指示するときに、第2のコンテキストモデルに基づいて、第2のAMVR指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ここで、第1のコンテキストモデル、第2のコンテキストモデル及び第3のコンテキストモデルは、異なる。
例示的に、アフィン予測モードと非アフィン予測モードについては、第1のAMVR指示情報及び第2のAMVR指示情報に使用されるコンテキストモデルは、以下の表22に示す通りである。
本発明の実施例において、第1のAMVR指示情報は、Affineアフィン予測モード及び非affineアフィン予測モードでは、1つのコンテキストモデルを共用することができ、このようにすると、AMVRモードで必要なコンテキストモデルを3つに減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「輝度のMPM」
現在のブロックが輝度ブロックである場合、符号化側と復号化側との間で予測モードインデックス情報を伝送する必要があり、予測モードインデックス情報は、MPMリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。符号化側と復号化側に、最も可能性の高いイントラ予測モードMPMリストが記憶され、従来のイントラ予測モード、イントラサブブロック予測モード及び複数行予測モードは、当該MPMリストを共用することができる。
関連技術では、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行である場合、予測モードインデックス情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号を行うためには、2つの異なるコンテキストモデルが必要であり、具体的にどのコンテキストモデルを使用するかは、現在のブロックがイントラサブブロック予測モードを起動するかどうかに依存する。
例示的に、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表23に示す通りである。
ここで、予測モードインデックス情報は、intra_luma_mpm_idxである。intra_luma_ref_idxが0に等しい場合、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行であり、すなわち、現在のブロックが複数行予測モードを起動しないことを示す。intra_luma_ref_idxが0に等しくない場合、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行ではなく、すなわち、現在のブロックが複数行予測モードを起動したことを示す。
表23から分かるように、intra_luma_ref_idxが0に等しい場合、intra_luma_mpm_idxの第1のビットは、現在のブロックがイントラサブブロック予測モードを起動するかどうかに応じて、符号化および復号化のために2つの異なるコンテキストモデルから1つのコンテキストモデルを選択する必要がある。また、intra_luma_ref_idxが0に等しくない場合、現在のブロックが複数行予測モードを起動したことを示し、現在のブロックによって起動された複数行予測モードもMPMリストからのものである。
「輝度のMPMの第1の実施形態」
図25は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図25に示すように、当該方法は以下のステップを含む。
ステップ2501において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報を確定する。
ステップ2502において、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ2503において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストからのものであれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2504において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測モードを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、次に、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
一例として、符号化側は、MPMリストを構築することができ、イントラサブブロック予測モード、複数行予測モード及び従来のイントラ予測は、当該MPMリストを共用することができる。
一例として、符号化側は、RDOによって最終的に使用される予測モード、即ち目標予測モードを決定することができ、目標予測モードがイントラサブブロック予測モードまたは複数行予測モードである場合、目標予測モードは、必ず当該MPMリストから選択される予測モードであり、どの予測モードが選択されたかを復号化側に通知するためには、予測モードインデックス情報(intra_luma_mpm_idx)を符号化する必要がある。目標予測モードが従来のイントラ予測である場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグを符号化する必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、次に、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
図26は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図25に示された符号化の方法に対応する復号化の方法であり、図26に示すように、当該方法は以下のステップを含む。
ステップ2601において、現在のブロックがイントラサブブロック予測を起動するときに、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ2602において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ2603において、目標予測モードに基づいて現在のブロックを予測する。
ステップ2604において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の第1のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものであり、第2のコンテキストモデルと第1のコンテキストモデルは同じコンテキストモデルである。
ステップ2605において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、前記MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ2606において、目標予測モードに基づいて現在のブロックを予測する。
一例として、復号化側が符号化ストリームを先に受信することができ、従来のイントラ予測、イントラサブブロック予測モード及び複数行予測モードに基づいて同じMPMリストを構築する前提で、現在のブロックがイントラサブブロック予測モードまたは複数行予測モードを起動する場合、採用された目標予測モードは、必ず当該MPMリストからのものであり、リストにおけるインデックス値を解析するだけで、最終的な目標予測モードが得られる。現在のブロックが従来のイントラ予測を起動する場合、目標予測モードが当該MPMリストからのものであるかどうかを確定するためには、1つのフラグを解析する必要であり、当該MPMリストからのものである場合、当該MPMリストにおけるインデックス値を解析する。
復号化側が、以上のフラグの値に基づいて、現在のブロックの予測モードを一意に確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
本発明の実施例において、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行である場合、予測モードインデックス情報の第1のビットに対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動するかどうかという条件に基づいて、2つの異なるコンテキストモデルからコンテキストモデルを選択するのではなく、現在のブロックがイントラサブブロック予測モードを起動するという条件と現在のブロックがイントラサブブロック予測モードを起動しないという条件のこの2つの異なる条件で、同じコンテキストモデルを使用して、予測モードインデックス情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号化を行うことができ、このようにすると、必要なコンテキストモデルの数を1つに減らし、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減することができる。
一例として、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表24に示す通りである。
つまり、intra_luma_ref_idxが0に等しい場合、intra_luma_mpm_idxの第1のビットについて、現在のブロックがイントラサブブロック予測モードを起動する場合及び現在のブロックがイントラサブブロック予測モードを起動しない場合において、同じコンテキストモデルに基づいて、intra_luma_mpm_idxの第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号化を行うことができる。
「輝度のMPMの第2の実施形態」
図27は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図27に示すように、当該方法は以下のステップを含む。
ステップ2701において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報を確定する。
ステップ2702において、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2703において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストに存在すれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2704において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
図28は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図27に示された符号化の方法に対応する復号化の方法であり、図28に示すように、当該方法は以下のステップを含む。
ステップ2801において、現在のブロックがイントラサブブロック予測を起動するときに、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2802において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ2803において、目標予測モードに基づいて現在のブロックを予測する。
ステップ2804において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2805において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける現在のブロックによって起動される目標予測モードのインデックス情報を指示するために使用される。
ステップ2806において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行であり、即ちintra_luma_ref_idxが0に等しい場合、予測モードインデックス情報の第1のビットに対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動するかどうかを考慮せずに、即ち現在のブロックがイントラサブブロック予測モードを起動する場合と現在のブロックがイントラサブブロック予測モードを起動しない場合のこの2つの異なる場合において、予測モードインデックス情報の第1のビットに対してバイパスに基づくバイナリ算術符号化または復号化を行うことができる。このようにすると、予測モードインデックス情報の第1のビットについては、コンテキストモデルを使用する必要がなく、必要なコンテキストモデルの数をゼロに減らし、ひいては符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
一例として、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表25に示す通りである。
つまり、intra_luma_ref_idxが0に等しい場合、intra_luma_mpm_idxの第1のビットは、現在のブロックがイントラサブブロック予測モードを起動する場合及び現在のブロックがイントラサブブロック予測モードを起動しない場合において、intra_luma_mpm_idxの第1のビットに対してバイパスに基づくバイナリ算術符号化または復号化を行うことができる。
「輝度のMPMの第3の実施形態」
図29は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図29に示すように、当該方法は以下のステップを含む。
ステップ2901において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報を確定する。
ステップ2902において、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ2903において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来の予測の目標予測モードがMPMリストに存在すれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2904において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測を起動する場合、現在のブロックによって起動された従来の予測の目標予測モードがMPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードがMPMリストからのものであると確定した場合、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
図30は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図29に示された復号化の方法に対応する復号化の方法であり、図30に示すように、当該方法は以下のステップを含む。
ステップ3001において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、前記予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3002において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ3003において、目標予測モードに基づいて現在のブロックを予測する。
ステップ3004において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、前記予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3005において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける現在のブロックによって起動される目標予測モードのインデックス情報を指示するために使用される。
ステップ3006において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行であり、即ちintra_luma_ref_idxが0に等しい場合、予測モードインデックス情報に対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動すれば、1つのコンテキストモデルに基づいて、予測モードインデックス情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号を行い、現在のブロックがイントラサブブロック予測モードを起動しなければ、予測モードインデックス情報の第1のビットに対してバイパスに基づくバイナリ算術符号化または復号を行う。このようにすると、予測モードインデックス情報の符号化・復号化には、1つのコンテキストモデルのみが必要であり、必要なコンテキストモデルの数を1つに減らし、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
一例として、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表26に示す通りである。
つまり、intra_luma_ref_idxが0に等しい場合、且つ現在のブロックがISPモードを起動する場合、1つのコンテキストモデルを使用して、intra_luma_mpm_idxの第1のビットに対して符号化または復号を行い、現在のブロックがISPモードを起動しない場合、Bypassでintra_luma_mpm_idxの第1のビットに対して符号化または復号を行う。
「輝度のMPMの第4の実施形態」
図31は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図31に示すように、当該方法は以下のステップを含む。
ステップ3101において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報を確定する。
ステップ3102において、MPMリストにおける現在のブロックによって起動されたイントラサブブロック予測の目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ3103において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストに存在すれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ3104において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
図32は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図31に示された符号化の方法に対応する復号化の方法であり、図32に示すように、当該方法は以下のステップを含む。
ステップ3201において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて前記現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、前記予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3202において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ3203において、目標予測モードに基づいて現在のブロックを予測する。
ステップ3204において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3205において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける現在のブロックによって起動される目標予測モードのインデックス情報を指示するために使用される。
ステップ3206において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、本発明の実施例において、現在のブロックの目標予測モードの参照行が現在のブロックの隣接行であり、即ちintra_luma_ref_idxが0に等しい場合、予測モードインデックス情報に対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動すれば、予測モードインデックス情報の第1のビットに対してバイパスに基づくバイナリ算術符号化または復号化を行い、現在のブロックがイントラサブブロック予測モードを起動しなければ、1つのコンテキストモデルに基づいて、予測モードインデックス情報の第1のビットに対してコンテキストに基づく適応バイナリ算術符号化または復号を行う。このようにすると、予測モードインデックス情報の符号化・復号化には、1つのコンテキストモデルのみが必要であり、必要なコンテキストモデルの数を1つに減らし、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
一例として、予測モードインデックス情報に使用されるコンテキストモデルは、以下の表27に示す通りである。
つまり、intra_luma_ref_idxが0に等しい場合、且つ現在のブロックがISPモードを起動しない場合、1つのコンテキストモデルを使用して、intra_luma_mpm_idxの第1のビットに対して符号化または復号を行い、現在のブロックがISPモードを起動する場合、Bypassでintra_luma_mpm_idxの第1のビットに対して符号化または復号を行う。
「輝度のMPMの第5の実施形態」
符号化側と復号化側との間で伝送される構文要素は、planar指示情報を含んでもよく、planar指示情報は、現在のブロックの目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、1ビットを占める。例示的に、planar指示情報は、intra_luma_not_planar_flagである。
関連技術では、planar指示情報の符号化・復号化の方式は、以下の表28に示す通りである。
上記の表29に示すように、planar指示情報intra_luma_not_planar_flagは、コンテキストに基づく適応バイナリ算術符号化を採用し、コンテキストの選択は、現在のブロックがイントラサブブロック予測モードを起動するかどうかに依存し、つまり、planar指示情報の符号化・復号化には、2つの異なるコンテキストコンテキストモデルが必要である。
図33は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図33に示すように、当該方法は以下のステップを含む。
ステップ3301において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動されたイントラサブブロック予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものである。
ステップ3302において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来のイントラ予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、第1のコンテキストモデルと前記第2のコンテキストモデルは同じである。
図34は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図33に示された符号化の方法に対応する復号化の方法であり、図34に示すように、当該方法は以下のステップを含む。
ステップ3401において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、planar指示情報を復号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものである。
ステップ3402において、planar指示情報に基づいて、現在のブロックによって起動されるイントラサブブロック予測の目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3403において、planar指示情報に基づいて、現在のブロックによって起動されるイントラサブブロック予測の目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
ステップ3404において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、planar指示情報に対して復号化を行い、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、第1のコンテキストモデルと第2のコンテキストモデルは同じである。
ステップ3405において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3406において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックがイントラサブブロック予測モードを起動するかどうかを考慮せずに、planar指示情報に対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測モードを起動する場合と現在のブロックが従来のイントラ予測を起動する場合のこの2つの場合において、同じコンテキストモデルに基づいて、planar指示情報に対してコンテキストに基づく適応バイナリ算術符号化または復号化を行う。このようにすると、planar指示情報に必要なコンテキストモデルを1つに減らし、符号化・復号化の複雑さ及びメモリオーバーヘッドが削減される。
一例として、planar指示情報の符号化・復号化の方式は、以下の表29に示す通りである。
上記の表27に示すように、planar指示情報intra_luma_not_planar_flagは、依然としてコンテキストに基づく適応バイナリ算術符号化・復号化を採用するが、コンテキストの選択は、現在のブロックがイントラサブブロック予測モードを起動するかどうかに依存せず、現在のブロックがイントラサブブロック予測モードを起動する場合と現在のブロックが従来のイントラ予測を起動する場合のこの2つの場合において、1つの固定のコンテキストモデルを使用して符号化・復号化を行う。
「輝度のMPMの第6の実施形態」
図35は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図35に示すように、当該方法は以下のステップを含む。
ステップ3501において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動されたイントラサブブロック予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ3502において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来のイントラ予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術符号化を行って得られたものである。
図36は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図35に示された符号化の方法に対応する復号化の方法であり、図36に示すように、当該方法は以下のステップを含む。
ステップ3601において、現在のブロックがイントラサブブロック予測を起動し、イントラサブブロック予測の目標予測モードがMPMリストに存在し、現在のブロックが輝度ブロックである場合、イントラサブブロック予測に基づいて現在のブロックを予測するときに、planar指示情報を復号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3602において、planar指示情報に基づいて、現在のブロックによって起動されるイントラサブブロック予測の目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3603において、planar指示情報に基づいて、現在のブロックによって起動されるイントラサブブロック予測の目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動されるイントラサブブロック予測の目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
ステップ3604において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、planar指示情報に対して復号化を行い、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3605において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3606において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックがイントラサブブロック予測モードを起動するかどうかを考慮せずに、planar指示情報に対して符号化または復号を行うときに、現在のブロックがイントラサブブロック予測を起動する場合と現在のブロックが従来のイントラ予測を起動する場合のこの2つの場合において、planar指示情報に対してバイパスに基づくバイナリ算術符号化または復号を行う。このようにすると、planar指示情報に必要なコンテキストモデルをゼロに減らし、符号化・復号化の複雑さ及びメモリオーバーヘッドが削減される。
一例として、planar指示情報の符号化・復号化の方式は、以下の表30に示す通りである。
上記の表30に示すように、planar指示情報intra_luma_not_planar_flagは、コンテキストに基づく適応バイナリ算術符号化・復号化の方式を採用せず、現在のブロックがイントラサブブロック予測モードを起動する場合と現在のブロックが従来のイントラ予測を起動する場合のこの2つの場合において、バイパスに基づくバイナリ算術符号化または復号化の方式を採用する。
なお、上記の方法は、従来のイントラ予測のみを考慮したシーンにも適用できる。
「実施例1」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該符号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストからのものであれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、次に、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、上記の符号化の方法に対応する復号化の方法であり、当該復号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の第1のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、他のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものであり、第2のコンテキストモデルと第1のコンテキストモデルは同じコンテキストモデルである。
ステップ2において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、前記MPMリストにおける目標予測モードのインデックス情報を指示するために使用される。
ステップ3において、目標予測モードに基づいて現在のブロックを予測する。
「実施例2」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該符号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された目標予測モードがMPMリストに存在すれば、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報を確定する。
ステップ2において、MPMリストにおける現在のブロックによって起動された目標予測モードのインデックス情報に基づいて、予測モードインデックス情報を符号化し、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
一例として、現在のブロックが従来のイントラ予測ブロックを起動する場合、現在のブロックによって起動された従来の予測の目標予測モードが当該MPMリストからのものであるかどうかを示すためには、1つのフラグが必要であり、目標予測モードが当該MPMリストからのものであると確定した場合、MPMリストにおける目標予測モードのインデックス情報を確定し、目標予測モードがMPMリストからのものではない場合、MPMリストにおける目標予測モードのインデックス情報を確定する必要がない。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、上記の符号化の方法に対応する復号化の方法であり、当該復号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動するときに、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、予測モードインデックス情報に対して復号化を行い、ここで、予測モードインデックス情報の全てのビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2において、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、当該予測モードインデックス情報は、MPMリストにおける現在のブロックによって起動される目標予測モードのインデックス情報を指示するために使用される。
ステップ3において、目標予測モードに基づいて現在のブロックを予測する。
「実施例3」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該符号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来のイントラ予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものである。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、上記の符号化の方法に対応する復号化の方法であり、当該復号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、planar指示情報に対して復号化を行い、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものである。
ステップ2において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
「実施例4」
別の実施例において、符号化側に適用される符号化の方法をさらに提供し、当該符号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、現在のブロックによって起動された従来のイントラ予測の目標予測モードがplanar予測モードであるかどうかに応じて、planar指示情報を符号化し、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術符号化を行って得られたものである。
別の実施例において、復号化側に適用される復号化の方法をさらに提供し、上記の符号化の方法に対応する復号化の方法であり、当該復号化の方法は以下のステップを含む。
ステップ1において、現在のブロックが従来のイントラ予測を起動し、従来のイントラ予測の目標予測モードがMPMリストからのものであり、現在のブロックが輝度ブロックである場合、従来のイントラ予測に基づいて現在のブロックを予測するときに、planar指示情報に対して復号化を行い、ここで、planar指示情報は、現在のブロックによって起動される目標予測モードがplanar予測モードであるかどうかを指示するために使用され、planar指示情報は、バイパスに基づくバイナリ算術符号化を行って得られたものである。
ステップ2において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードであると確定したときに、planar予測モードに基づいて現在のブロックを予測する。
ステップ3において、planar指示情報に基づいて、現在のブロックによって起動される目標予測モードがplanar予測モードではないと確定したときに、予測モードインデックス情報に基づいて、MPMリストから現在のブロックによって起動される目標予測モードを確定し、目標予測モードに基づいて現在のブロックを予測する。
「色度のMPM」
符号化側と復号化側との間で伝送される構文要素は、色度予測モードインデックス情報をさらに含み、色度予測モードインデックス情報は、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。
関連技術では、色度予測モードインデックス情報と対応する予測モードは、以下の表31に示す通りである。
上記の表31から分かるように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報は、最大4ビットを占め、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動しない場合、色度予測モードインデックス情報は、最大5ビットを占める。
関連技術では、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の符号化・復号化の方式は、以下の表32に示す通りである。
上記の表32から分かるように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、色度予測モードインデックス情報の第2のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、色度予測モードインデックス情報の第3のビット及び第4のビットは、第3のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、そして、これらの3つのコンテキストモデルは、異なるコンテキストモデルである。つまり、色度予測モードインデックス情報は3つのコンテキストモデルを使用する必要があり、メモリオーバヘッドが大きい。
「色度のMPMの第1の実施形態」
図37は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図37に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動し、現在のブロックが色度ブロックであり、当該方法は以下のステップを含む。
ステップ3701において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を確定する。
ここで、符号化側は、レート歪みコストによって最終的な目標予測モードを選択することができ、次に、インデックス情報を符号化することにより、どの予測モードが選択されたかを復号化側に通知する。
ステップ3702において、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報に基づいて、色度予測モードインデックス情報を符号化する。
ここで、色度予測モードインデックス情報は、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。色度予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、色度予測モードインデックス情報の第2のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、そして、第1のコンテキストモデルと前記第2のコンテキストモデルは異なり、色度予測モードインデックス情報の第3のビット及び第4のビットは、バイパスに基づくバイナリ算術符号化を行って得られたものである。
一例として、符号化側には色度予測モード候補リストが記憶され、符号化側は、RDOによって最終的に使用される目標予測モードを決定することができ、次に、インデックス値を符号化することにより、どの予測モードが選択されたかを復号化側に通知し、即ち、色度予測モードインデックス情報を符号化する。
一例として、色度予測モードは、輝度と同じ予測モード及びクロスコンポーネント予測モードを含む。ここで、クロスコンポーネント予測モードは、両側テンプレートによって線形モデルパラメータを導出するモード、上テンプレートによって線形モデルパラメータを導出するモード、左テンプレートによって線形モデルパラメータを導出するモード、planar予測モード、DC予測モード、垂直予測モード及び水平予測モードを含む。
図38は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、上記の図37に示された符号化の方法に対応する復号化の方法であり、図38に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動し、現在のブロックが色度ブロックであり、当該方法は以下のステップを含む。
ステップ3801において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、色度予測モードインデックス情報に対して復号化を行う。
ここで、色度予測モードインデックス情報の第1のビットは、第1のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、色度予測モードインデックス情報の第2のビットは、第2のコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、第1のコンテキストモデルと第2のコンテキストモデルは異なり、色度予測モードインデックス情報の第3のビット及び第4のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ3802において、色度予測モードインデックス情報に基づいて、候補予測モードリストから現在のブロックの目標予測モードを確定する。
ステップ3803において、目標予測モードに基づいて現在のブロックを予測する。
一例として、復号化側は、符号化ストリームを受信し、次に、そこから色度予測モードに関連する構文を解析することができる。各予測モードにかかる符号化ビットオーバーヘッドは異なり、復号化側は、色度予測モードインデックス情報を解析して、現在のブロックの色度予測モードを一意に確定することにより、後の再構築プロセスに用いられる現在のブロックの予測値を得ることができる。
本発明の実施例において、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の第3のビット及び第4のビットは、バイパスに基づくバイナリ算術復号化を行って得られ、このようにすると、色度予測モードインデックス情報に必要なコンテキストモデルの数を2つに減らし、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減することができる。
一例として、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の符号化・復号化の方式は、以下の表33及び表34に示す通りである。
「色度のMPMの第2の実施形態」
図39は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図39に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動し、現在のブロックが色度ブロックであり、当該方法は以下のステップを含む。
ステップ3901において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を確定する。
ここで、符号化側は、レート歪みコストによって最終的な目標予測モードを選択することができ、次に、インデックス情報を符号化することにより、どの予測モードが選択されたかを復号化側に通知する。
ステップ3902において、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報に基づいて、色度予測モードインデックス情報を符号化する。
ここで、色度予測モードインデックス情報は、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。色度予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術符号化を行って得られたものであり、色度予測モードインデックス情報の第2のビット、第3のビット及び第4のビットバイパスに基づくバイナリ算術符号化を行って得られたものである。
図40は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、上記の図39に示された符号化の方法に対応する復号化の方法であり、図40に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動し、現在のブロックが色度ブロックであり、当該方法は以下のステップを含む。
ステップ4001において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、色度予測モードインデックス情報に対して復号化を行う。
ここで、色度予測モードインデックス情報の第1のビットは、1つのコンテキストモデルに基づいてコンテキストに基づく適応バイナリ算術復号化を行って得られたものであり、色度予測モードインデックス情報の第2のビット、第3のビット及び第4のビットは、バイパスに基づくバイナリ算術復号化を行って得られたものである。
ステップ4002において、色度予測モードインデックス情報に基づいて、候補予測モードリストから現在のブロックの目標予測モードを確定する。
ステップ4003において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の第1のビットは、1つのコンテキストモデルを使用し、第2のビット、第3のビット及び第4のビットは、いずれもバイパスに基づくバイナリ算術符号化・復号化の方式を採用し、このようにすると、色度予測モードインデックス情報に必要なコンテキストモデルの数を1つに減らし、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減することができる。
一例として、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報の符号化・復号化の方式は、以下の表35及び表36に示す通りである。
「色度のMPMの第3の実施形態」
図41は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図41に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックが色度ブロックである場合、当該方法は以下のステップを含む。
ステップ4101において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を確定する。
ここで、符号化側は、レート歪みコストによって最終的な目標予測モードを選択することができ、次に、インデックス情報を符号化することにより、どの予測モードが選択されたかを復号化側に通知する。
ステップ4102において、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報に基づいて、色度予測モードインデックス情報を符号化する。
ここで、色度予測モードインデックス情報は、対応する候補予測モードリストにおける現在のブロックの目標予測モードのインデックス情報を指示するために使用される。
一例として、前記色度予測モードインデックス情報が10である場合、前記目標予測モードは、第1のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が110である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が111である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が11110である場合、前記目標予測モードは、planar予測モードであり、
前記色度予測モードインデックス情報が111110である場合、前記目標予測モードは、垂直予測モードであり、
前記色度予測モードインデックス情報が1111110である場合、前記目標予測モードは、水平予測モードであり、
前記色度予測モードインデックス情報が1111111である場合、前記目標予測モードは、DC予測モードである。
例示的に、色度予測モードインデックス情報と対応する予測モードは、以下の表37に示す通りである。
上記の表37から分かるように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報は、クロスコンポーネント予測モードを指示し、このような場合、色度予測モードインデックス情報は、最大3ビットを占め、ビットオーバヘッドを削減し、ひいてはメモリオーバーヘッドを削減する。なお、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動しない場合、色度予測モードインデックス情報は、従来のイントラ予測を指示し、このような場合、色度予測モードインデックス情報は、最大6ビットを占める。
別の実施例として、前記色度予測モードインデックス情報が10である場合、前記目標予測モードは、第1のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が110である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が111である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が11110である場合、前記目標予測モードは、planar予測モードであり、
前記色度予測モードインデックス情報が111110である場合、前記目標予測モードは、垂直予測モードであり、
前記色度予測モードインデックス情報が1111110である場合、前記目標予測モードは、水平予測モードであり、
前記色度予測モードインデックス情報が1111111である場合、前記目標予測モードは、DC予測モードである。
ステップ4103において、目標予測モードに基づいて現在のブロックを予測する。
例示的に、色度予測モードインデックス情報と対応する予測モードは、以下の表38に示す通りである。
上記の表38から分かるように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報は、クロスコンポーネント予測モードを指示し、このような場合、色度予測モードインデックス情報は、最大3ビットを占め、ビットオーバヘッドを削減し、ひいてはメモリオーバーヘッドを削減する。なお、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動しない場合、色度予測モードインデックス情報は、従来のイントラ予測を指示し、このような場合、色度予測モードインデックス情報は、最大7ビットを占める。
図42は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図41に示された符号化の方法に対応する復号化の方法であり、図42に示すように、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックが色度ブロックである場合、当該方法は以下のステップを含む。
ステップ4201において、クロスコンポーネント予測モードに基づいて現在のブロックを予測するときに、色度予測モードインデックス情報に対して復号化を行う。
ステップ4202において、色度予測モードインデックス情報に基づいて、候補予測モードリストから現在のブロックの目標予測モードを確定する。
一例として、前記色度予測モードインデックス情報が10である場合、前記目標予測モードは、第1のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が110である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が111である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が11110である場合、前記目標予測モードは、planar予測モードであり、
前記色度予測モードインデックス情報が111110である場合、前記目標予測モードは、垂直予測モードであり、
前記色度予測モードインデックス情報が1111110である場合、前記目標予測モードは、水平予測モードであり、
前記色度予測モードインデックス情報が1111111である場合、前記目標予測モードは、DC予測モードである。
別の実施例として、前記色度予測モードインデックス情報が10である場合、前記目標予測モードは、第1のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が110である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が111である場合、前記目標予測モードは、第2のクロスコンポーネント予測モードであり、
前記色度予測モードインデックス情報が11110である場合、前記目標予測モードは、planar予測モードであり、
前記色度予測モードインデックス情報が111110である場合、前記目標予測モードは、垂直予測モードであり、
前記色度予測モードインデックス情報が1111110である場合、前記目標予測モードは、水平予測モードであり、
前記色度予測モードインデックス情報が1111111である場合、前記目標予測モードは、DC予測モードである。
目標予測モードに基づいて現在のブロックを予測する。
ステップ4203において、目標予測モードに基づいて現在のブロックを予測する。
本発明の実施例において、現在のブロックがクロスコンポーネント予測モードをサポートし、現在のブロックがクロスコンポーネント予測モードを起動する場合、色度予測モードインデックス情報のビットオーバヘッドを削減し、ひいてはメモリオーバーヘッドを削減することができる。
「CCLMモード」
図43は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図43に示すように、当該方法は以下のステップを含む。
ステップ4301において、現在のブロックの輝度と色度が1つの分割ツリーを共有するときに、現在のブロックに対応する輝度ブロックの幅と高さのサイズが64*64であり、現在のブロックに対応する色度ブロックのサイズが32*32である場合、現在のブロックは、クロスコンポーネント予測モードをサポートしない。
本発明の実施例において、CCLMモードにおける輝度と色度の依存性を低減し、色度ブロックが64*64の輝度ブロックの再構築値を待つ必要があることを回避することができる。
「ALFモード」
符号化側と復号化側との間で伝送される構文要素は、ALF指示情報をさらに含み、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。例示的に、ALF指示情報は、alf_ctb_flagである。
関連技術では、ALF指示情報の符号化・復号化の方式は、以下の表39に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
表39及び上記の計算式から分かるように、ALF指示情報の符号化・復号化のコンテキストモデルの選択は、現在のブロックの上ブロックがALFを使用するかどうか、現在のブロックの左ブロックがALFを使用するかどうか、及び現在のコンポーネントのインデックスに依存し、合計で9つのコンテキストモデルを使用する必要がある。
具体的に、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化・復号化を行い、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化・復号化を行い、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化・復号化を行い、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第3のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。ここで、上記の9つのコンテキストモデルは、異なる。
「ALFモードの第1の実施形態」
図44は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図44に示すように、当該方法は以下のステップを含む。
ステップ4401において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ4402において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる3つのコンテキストモデルと第1のコンテキストモデルセットに含まれる3つのコンテキストモデルは、異なる。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
一例として、第2のコンテキストモデルセットは、第4のコンテキストモデル、第5のコンテキストモデル、および第6のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第4のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第5のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第6のコンテキストモデルである。
一例として、符号化側は、RDOによって現在のブロックがALFを起動するかどうか、即ち適応的なループフィルタリングを使用するかどうかを決定し、且つコードストリームにおいてALF指示情報を符号化することにより、ALFを起動するかどうかを復号化側に通知し、ひいては適応的なループフィルタリングを行うかどうかを復号化側に通知することができる。そして、ALFを起動する場合、ALFに関連する構文要素を符号化する必要もあり、符号化側も、同様にフィルタリングを行う。
図45は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図44に示された符号化の方法に対応する復号化の方法であり、図45に示すように、当該方法は以下のステップを含む。
ステップ4501において、現在のブロックが適応ループフィルタALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
ステップ4502において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる3つのコンテキストモデルと第1のコンテキストモデルセットに含まれる3つのコンテキストモデルは、異なる。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
復号化側は、符号化ストリームを受信した後、ALF指示情報を復号化することにより、現在のブロックが適応的なループフィルタリングを起動するかどうかを解析することができる。ALF指示情報が、現在のブロックがALFを起動することを指示する場合、復号化側は、現在のブロックに対して適応的なループフィルタリングを行うために、ALFに関連する構文要素の復号化を継続することにより、フィルタリングされた後の再構築画素を得ることができる。
一例として、ALF指示情報の符号化・復号化の方式は、以下の表40に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、CB色度ブロック及びCR色度ブロックは、3つの異なるコンテキストモデルを共用することができ、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を6に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第2の実施形態」
図46は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図46に示すように、当該方法は以下のステップを含む。
ステップ4601において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ4602において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、前記現在のブロックの上ブロックがALFを起動するかどうか、および前記現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる3つのコンテキストモデルと第1のコンテキストモデルセットに含まれる3つのコンテキストモデルは、同じである。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
一例として、第2のコンテキストモデルセットは、第4のコンテキストモデル、第5のコンテキストモデル、および第6のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第4のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第5のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第6のコンテキストモデルである。
図47は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図46に示された符号化の方法に対応する復号化の方法であり、図47に示すように、当該方法は以下のステップを含む。
ステップ4701において、現在のブロックが適応ループフィルタALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
ステップ4702において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第2のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる3つのコンテキストモデルと第1のコンテキストモデルセットに含まれる3つのコンテキストモデルは、異なる。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
一例として、ALF指示情報の符号化・復号化の方式は、以下の表41に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、輝度ブロック、CB色度ブロック及びCR色度ブロックは、3つの異なるコンテキストモデルを共用することができ、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を3に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第3の実施形態」
図48は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図48に示すように、当該方法は以下のステップを含む。
ステップ4801において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ4802において、現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
ステップ4803において、現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第3のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、第1のコンテキストモデル、第2のコンテキストモデル及び第3のコンテキストモデルは、異なるコンテキストモデルである。
図49は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図48に示された符号化の方法に対応する復号化の方法であり、図49に示すように、当該方法は以下のステップを含む。
ステップ4901において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ4902において、現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ4903において、現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第3のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデル、第2のコンテキストモデル及び第3のコンテキストモデルは、異なるコンテキストモデルである。
一例として、ALF指示情報の符号化・復号化の方式は、以下の表42に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、1つのコンテキストモデルを共用し、CB色度ブロックは、1つのコンテキストモデルを共用し、CR色度ブロックは、1つのコンテキストモデルを共用し、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を3に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第4の実施形態」
図50は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図50に示すように、当該方法は以下のステップを含む。
ステップ5001において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ5002において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
図51は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図50に示された符号化の方法に対応する復号化の方法であり、図51に示すように、当該方法は以下のステップを含む。
ステップ5101において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5102において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデルと第2のコンテキストモデルは、異なる。
一例として、ALF指示情報の符号化・復号化の方式は、以下の表43に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、1つのコンテキストモデルを共用し、CB色度ブロックとCR色度ブロックは、1つのコンテキストモデルを共用し、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を2に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第5の実施形態」
図52は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図52に示すように、当該方法は以下のステップを含む。
ステップ5201において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ5202において、現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ5203において、現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデルセットに含まれるコンテキストモデル、第1のコンテキストモデル及び第2のコンテキストモデルは、異なるコンテキストモデルである。
図53は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図52に示された符号化の方法に対応する復号化の方法であり、図53に示すように、当該方法は以下のステップを含む。
ステップ5301において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、目標コンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがALFを起動するかどうか、および現在のブロックの左ブロックがALFを起動するかどうかに応じて、第1のコンテキストモデルセットに含まれる3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含む。現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動し、現在のブロックの左ブロックがALFを起動しない場合、または、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがALFを起動しなく、現在のブロックの左ブロックがALFを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ5302において、現在のブロックがALFをサポートし、現在のブロックがCB色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う
ステップ5303において、現在のブロックがALFをサポートし、現在のブロックがCR色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第1のコンテキストモデルセットに含まれるコンテキストモデル、第1のコンテキストモデル及び第2のコンテキストモデルは、異なるコンテキストモデルである。
一例として、輝度ブロックにとって、ALF指示情報の符号化・復号化の方式は、以下の表44に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
一例として、色度ブロックにとって、ALF指示情報の符号化・復号化の方式は、以下の表45に示す通りである。
ここで、コンテキストモデルによって選択された計算式は、
である。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、3つの異なるコンテキストモデルを使用する必要があり、CB色度ブロックは、1つのコンテキストモデルを共用し、CR色度ブロックは、1つの異なるコンテキストモデルを共用し、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を5に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第6の実施形態」
図54は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図54に示すように、当該方法は以下のステップを含む。
ステップ5401において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ5402において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第2のコンテキストモデルと第1のコンテキストモデルは、同じコンテキストモデルである。
図55は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図54に示された符号化の方法に対応する復号化の方法であり、図55に示すように、当該方法は以下のステップを含む。
ステップ5501において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第1のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5502において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、第2のコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、第2のコンテキストモデルと第1のコンテキストモデルは、同じコンテキストモデルである。
本発明の実施例において、ALF指示情報に対して、輝度ブロック、CB色度ブロック及びCR色度ブロックは、1つのコンテキストモデルを共用することができ、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第7の実施形態」
図56は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図56に示すように、当該方法は以下のステップを含む。
ステップ5601において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
ステップ5602において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
図57は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図56に示された符号化の方法に対応する復号化の方法であり、図57に示すように、当該方法は以下のステップを含む。
ステップ5701において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5702において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
本発明の実施例において、ALF指示情報に対して、現在のブロックが輝度ブロック、CB色度ブロック及びCR色度ブロックである場合、バイパスに基づくバイナリ算術復号化の方式を採用して、ALF指示情報に対して符号化または復号化を行うことができ、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を0に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第8の実施形態」
図58は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図58に示すように、当該方法は以下のステップを含む。
ステップ5801において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、1つのコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5802において、現在のブロックがALFをサポートし、現在のブロックが適応ループフィルタALFを起動し、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
図59は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図58に示された符号化の方法に対応する復号化の方法であり、図59に示すように、当該方法は以下のステップを含む。
ステップ5901において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、1つのコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ5902において、現在のブロックがALFをサポートし、現在のブロックが適応ループフィルタALFを起動し、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、1つのコンテキストモデルを使用し、CB色度ブロック及びCR色度ブロックは、バイパスに基づくバイナリ算術符号化・復号化の方式を採用して符号化または復号化を行い、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「ALFモードの第9の実施形態」
図60は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図60に示すように、当該方法は以下のステップを含む。
ステップ6001において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術符号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ6002において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、1つのコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
図61は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図60に示された符号化の方法に対応する復号化の方法であり、図61に示すように、当該方法は以下のステップを含む。
ステップ6101において、現在のブロックがALFをサポートし、現在のブロックが輝度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、ALF指示情報に対してバイパスに基づくバイナリ算術復号化を行い、ALF指示情報は、現在のブロックがALFを起動するかどうかを指示するために使用される。
ステップ6102において、現在のブロックがALFをサポートし、現在のブロックが色度ブロックである場合、ALFモードに基づいて現在のブロックに対してフィルタリング処理を行う前に、1つのコンテキストモデルに基づいてALF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ここで、色度ブロックは、CB色度ブロックとCR色度ブロックとを含む。
本発明の実施例において、ALF指示情報に対して、輝度ブロックは、バイパスに基づくバイナリ算術符号化・復号化の方式を採用して符号化または復号化を行い、CB色度ブロック及びCR色度ブロックは、1つのコンテキストモデルを共用し、このようにすると、ALF指示情報に使用されるコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さが軽減され、メモリオーバーヘッドが削減される。
「MIPモード」
MIPモードでは、符号化側と復号化側との間で伝送される構文要素は、MIP指示情報をさらに含み、MIP指示情報は、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかを指示するために使用される。例示的に、MIP指示情報は、Intra_MIP_flagである。
関連技術では、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行うことができる。ここで、目標コンテキストモデルは、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、及び現在のブロックがプリセットサイズ条件を満たすかどうかに応じて、4つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、プリセットサイズ条件は、現在のブロックの幅が高さの2倍を超えること、または現在のブロックの高さが幅の2倍を超えることであってもよい。もちろん、当該プリセットサイズ条件は、他の条件であってもよく、本発明の実施例は、これについて限定しない。
具体的に、上記の4つの異なるコンテキストモデルは、第1のコンテキストモデル、第2のコンテキストモデル、第3のコンテキストモデルおよび第4のコンテキストモデルを含むと仮定する。現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックがプリセットサイズ条件を満たさない場合、または、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第3のコンテキストモデルであり、現在のブロックがプリセットサイズ条件を満たす場合、目標コンテキストモデルは、第4のコンテキストモデルである。
上記から分かるように、MIPモードでは、MIP指示情報は4つの異なるコンテキストモデルを使用する必要があり、メモリオーバヘッドが大きい。
「MIPモードにおける第1の実施形態」
図62は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側または復号化側に適用され、図62に示すように、当該方法は以下のステップを含む。
ステップ6201において、現在のブロックの幅と高さのサイズが32*32である場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしない。
ここで、現在のブロックは、輝度ブロックまたは色度ブロックである。例示的に、現在のブロックが輝度ブロックであり、且つ現在のブロックの幅と高さのサイズが32*32である場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしない。
別の例として、現在のブロックの幅と高さのサイズが32*16である場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしない。例示的に、現在のブロックは、輝度ブロックまたは色度ブロックである。
別の例として、現在のブロックの幅と高さのサイズが4*4である場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしない。例示的に、現在のブロックは、輝度ブロックまたは色度ブロックである。
本発明の実施例において、現在のブロックが大きいサイズのブロックである場合、現在のブロックは、マトリクスに基づくイントラ予測モードをサポートしないこと、すなわち現在のブロックはマトリクスに基づくイントラ予測モードを有効にできないことが保証され、このようにすると、演算の複雑さを軽減することができる。
「MIPモードにおける第2の実施形態」
図63は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図63に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6301において、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、および現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、上記の3つの異なるコンテキストモデルは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含むと仮定する。現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しない場合、または、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
一例として、符号化側は、現在のブロックがマトリクスに基づくイントラ予測の条件を満たすと確定した場合、RDOによって現在のブロックがMIPモードを起動するかどうか、即ちマトリクスに基づくイントラ予測の方法を使用するかどうかを決定することができ、且つ符号化ストリームにおいてMIP指示情報を符号化することにより、MIPモードを起動するかどうかを復号化側に通知する。
符号化ストリームにおいて具体的な状況に応じて上記のMIP指示情報を符号化し、そして、現在のブロックがMIPモードを起動する場合、MIPに関する他の構文要素を符号化する必要もある。
図64は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、図63に示された符号化の方法に対応する復号化の方法であり、図64に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6401において、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、および現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、3つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、上記の3つの異なるコンテキストモデルは、第1のコンテキストモデル、第2のコンテキストモデル、および第3のコンテキストモデルを含むと仮定する。現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動し、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しない場合、または、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動する場合、目標コンテキストモデルは、第2のコンテキストモデルであり、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動しなく、且つ現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動しない場合、目標コンテキストモデルは、第3のコンテキストモデルである。
ステップ6402において、MIP指示情報に基づいて、現在のブロックがマトリクスに基づくイントラ予測モードを起動すると確定した場合、マトリクスに基づくイントラ予測モードは、現在のブロックを予測する。
一例として、復号化側は、符号化ストリームを受信し、現在のブロックが解析条件を満たすと確定した場合、MIP指示情報を解析することにより、現在のブロックがMIPモードを起動するかどうかを確定する。解析条件は、現在のブロックが輝度ブロックであることと、現在のブロックのサイズが一定の条件を満たすこととを含む。もちろん、解析条件は、上記の条件に限定されず、他の条件を含んでもよい。
MIP指示情報により、復号化側は、現在のブロックの予測モードがマトリクスに基づくイントラ予測モードであるかどうかを確定することができ、マトリクスに基づくイントラ予測モードである場合、当該モードに関する他の構文の解析を継続することにより、その予測モードの情報を得て、ひいては予測値を得ることができる。
本発明の実施例において、MIPモードでは、現在のブロックのサイズ条件を考慮せずに、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、および現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうかのみに応じて、3つの異なるコンテキストモデルから1つのコンテキストモデルを選択し、このようにすると、MIP指示情報に必要なコンテキストモデルの数を3に減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「MIPモードにおける第3の実施形態」
図65は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図65に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6501において、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックがプリセットサイズ条件を満たすかどうかに応じて、2つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
ここで、プリセットサイズ条件は、現在のブロックの幅が高さの2倍を超えること、または現在のブロックの高さが幅の2倍を超えることであってもよい。
一例として、上記の2つの異なるコンテキストモデルは、第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定する。現在のブロックのサイズがプリセットサイズ条件を満たす場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックのサイズがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第2のコンテキストモデルである。
図66は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図65に示された符号化の方法に対応する復号化の方法であり、図66に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6601において、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、目標コンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックがプリセットサイズ条件を満たすかどうかに応じて、2つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
ここで、プリセットサイズ条件は、現在のブロックの幅が高さの2倍を超えること、または現在のブロックの高さが幅の2倍を超えることであってもよい。
一例として、上記の2つの異なるコンテキストモデルは、第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定する。現在のブロックのサイズがプリセットサイズ条件を満たす場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックのサイズがプリセットサイズ条件を満たさない場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ6602において、MIP指示情報に基づいて、現在のブロックがマトリクスに基づくイントラ予測モードを起動すると確定した場合、マトリクスに基づくイントラ予測モードは、現在のブロックを予測する。
本発明の実施例において、MIPモードでは、MIP指示情報のコンテキストモデルの選択に対して、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、および現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうかを考慮せずに、サイズ条件のみに応じて、コンテキストモデルを選択することができ、このようにすると、MIP指示情報に必要なコンテキストモデルの数を2に減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「MIPモードにおける第4の実施形態」
図67は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図67に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6701において、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、同じコンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
図68は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図67に示された符号化の方法に対応する復号化の方法であり、図68に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6801において、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、同じコンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
ステップ6802において、MIP指示情報に基づいて、現在のブロックがマトリクスに基づくイントラ予測モードを起動すると確定した場合、マトリクスに基づくイントラ予測モードは、現在のブロックを予測する。
本発明の実施例において、MIPモードでは、MIP指示情報のコンテキストモデルの選択に対して、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、及びサイズ条件を考慮せずに、異なる条件で、同じコンテキストモデルに基づいてMIP指示情報に対してコンテキストに基づく適応バイナリ算術符号化または復号化を行い、このようにすると、MIP指示情報に必要なコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「MIPモードにおける第5の実施形態」
図69は、本発明の実施例による符号化・復号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図69に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ6901において、現在のブロックがマトリクスに基づくイントラ予測モードを起動するかどうかに応じて、MIP指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
図70は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図69に示された符号化の方法に対応する復号化の方法であり、図70に示すように、現在のブロックがマトリクスに基づくイントラ予測モードをサポートする場合、当該方法は以下のステップを含む。
ステップ7001において、マトリクスに基づくイントラ予測モードに基づいて現在のブロックを予測する前に、MIP指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
ステップ7002において、MIP指示情報に基づいて、現在のブロックがマトリクスに基づくイントラ予測モードを起動すると確定した場合、マトリクスに基づくイントラ予測モードは、現在のブロックを予測する。
本発明の実施例において、MIPモードでは、現在のブロックの上ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、現在のブロックの左ブロックがマトリクスに基づくイントラ予測モードを起動するかどうか、及びサイズ条件を考慮せずに、異なる条件で、MIP指示情報に対してバイパスに基づくバイナリ算術符号化または復号化を行い、つまり、コンテキストに基づく適応バイナリ算術符号化または復号化を使用せず、このようにすると、MIP指示情報に必要なコンテキストモデルの数をゼロに減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「BDPCMモード」
関連技術では、BDPCM技術には、BDPCMモードをオンまたはオフにするためのSPSレベルの構文がなく、また、BDPCMモードを有効にすることができる最大の符号化ブロックのサイズのスイッチを制御するためのSPSレベルの構文がなく、柔軟性が低い。
「BDPCMモードにおける第1の実施形態」
図71は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図71に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7101において、現在のブロックに対してBDPCM符号化を行う前に、第1のBDPCM指示情報を符号化し、第1のBDPCM指示情報は、現在の処理ユニットがBDPCMモードをサポートするかどうかを指示するために使用される。
一例として、第1のBDPCM指示情報は、シーケンスパラメータセット、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。好ましくは、第1のBDPCM指示情報は、シーケンスパラメータセットに存在し、つまり、第1のBDPCM指示情報は、SPSレベルの構文である。
別の実施例において、符号化側は、範囲指示情報を符号化してもよく、当該範囲指示情報は、BDPCMモードをサポートする処理ユニットの範囲を指示するために使用される。当該範囲指示情報は、シーケンスパラメータセット、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。
図72は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図71に示された符号化の方法に対応する復号化の方法であり、図72に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7201において、現在のブロックに対してBDPCM復号化を行う前に、第1のBDPCM指示情報を復号化し、第1のBDPCM指示情報は、現在の処理ユニットがBDPCMモードをサポートするかどうかを指示するために使用される。
ステップ7202において、第1のBDPCM指示情報に基づいて、現在の処理ユニットを復号化する。
一例として、第1のBDPCM指示情報が、現在の処理ユニットがBDPCMモードをサポートすることを指示する場合、BDPCMモードに基づいて現在の処理ユニットを処理する。
一例として、第1のBDPCM指示情報は、シーケンスパラメータセット、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。好ましくは、第1のBDPCM指示情報は、シーケンスパラメータセットに存在し、つまり、第1のBDPCM指示情報は、SPSレベルの構文である。
別の実施例において、復号化側は、範囲指示情報を復号化してもよく、当該範囲指示情報は、BDPCMモードをサポートする処理ユニットの範囲を指示するために使用される。当該範囲指示情報は、シーケンスパラメータセット、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。
本発明の実施例において、BDPCMモードをオンまたはオフにするための構文を追加し、符号化・復号化プロセスの柔軟性を向上させた。また、BDPCMモードをサポートする処理ユニットの範囲を指示するために使用される構文も追加する。
「BDPCMモードにおける第2の実施形態」
図73は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図73に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7301において、現在のブロックに対してBDPCM処理を行う前に、第2のBDPCM指示情報を符号化し、第2のBDPCM指示情報は、BDPCMモードをサポートする処理ユニットのサイズ範囲を指示するために使用される。
ここで、現在の処理ユニットにおけるユニットの範囲は、シーケンスレベル、画像パラメータセットまたはブロックレベルなどであってもよい。例えば、現在の処理ユニットは、現在の画像ブロックであってもよい。
例示的に、当該サイズ範囲は、32*32より小さいサイズ範囲であってもよい。
一例として、第2のBDPCM指示情報は、BDPCMモードをサポートできる処理ユニットの最大サイズ、即ちBDPCMモードを使用できる処理ユニットの最大サイズを指示するために使用される。例示的に、前記最大サイズは、32*32である。
一例として、第2のBDPCM指示情報は、シーケンスパラメータセット(SPS)、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。好ましくは、第2のBDPCM指示情報は、シーケンスパラメータセットに存在し、つまり、第2のBDPCM指示情報は、SPSレベルに追加された構文である。
図74は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図73に示された符号化の方法に対応する復号化の方法であり、図74に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7401において、現在のブロックに対してBDPCM処理を行う前に、第2のBDPCM指示情報を復号化し、第2のBDPCM指示情報は、BDPCMモードをサポートする処理ユニットのサイズ範囲を指示するために使用される。
ステップ7402において、第2のBDPCM指示情報及び現在のブロックのサイズに基づいて、現在のブロックがBDPCM処理を行うことができるかどうかを確定する。
一例として、現在のブロックのサイズが、第2のBDPCM指示情報で指示されたBDPCMモードをサポートする処理ユニットのサイズ範囲内である場合、現在のブロックがBDPCM処理を行うことができると確定する。現在のブロックのサイズが、第2のBDPCM指示情報で指示されたBDPCMモードをサポートする処理ユニットのサイズ範囲内ではない場合、現在のブロックがBDPCM処理を行うことができないと確定する。
一例として、第2のBDPCM指示情報は、BDPCMモードをサポートできる処理ユニットの最大サイズを指示するために使用され、現在のブロックのサイズが第2のBDPCM指示情報で指示された最大サイズ以下である場合、現在のブロックがBDPCM処理を行うことができると確定する。現在のブロックのサイズが第2のBDPCM指示情報で指示された最大サイズより大きい場合、現在のブロックがBDPCM処理を行うことができないと確定する。
一例として、第2のBDPCM指示情報は、シーケンスパラメータセット(SPS)、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。好ましくは、第2のBDPCM指示情報は、シーケンスパラメータセットに存在し、つまり、第2のBDPCM指示情報は、SPSレベルに追加された構文である。
本発明の実施例において、BDPCMモードを使用できるサイズ範囲を制御するための構文を追加し、符号化・復号化プロセスの柔軟性を向上させた。
「BDPCMモードにおける第3の実施形態」
BDPCMモードでは、符号化側と復号化側との間で伝送される構文要素は、第3のBDPCM指示情報及び第4のBDPCM指示情報を含んでもよい。第3のBDPCM指示情報は、現在の処理ユニットがBDPCMモードを起動するかどうかを指示するために使用され、第4のBDPCM指示情報は、BDPCMモードの予測方向のインデックス情報を指示するために使用される。例示的に、第3のBDPCM指示情報は、Intra_bdpcm_flagであり、第4のBDPCM指示情報は、Intra_bdpcm_dir_flagである。
関連技術では、現在のブロックがBDPCMモードをサポートする場合、第3のBDPCM指示情報の符号化または復号化を行うと確定したときに、1つのコンテキストモデルに基づいて、第3のBDPCM指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要があり、第4のBDPCM指示情報の符号化または復号化を行うと確定したときに、別の異なるコンテキストモデルに基づいて、第4のBDPCM指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行う必要がある。つまり、以下の表46に示すように、2つのコンテキストモデルを使用して、第3のBDPCM指示情報と第4のBDPCM指示情報に対して符号化・復号化を行う必要がある。
図75は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図75に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7501において、現在のブロックに対してBDPCM符号化を行う前に、現在のブロックがBDPCMモードを起動するかどうかに応じて、1つのコンテキストモデルに基づいて、第3のBDPCM指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行う。
一例として、現在のブロックがブロックに基づく量子化された残差の差分PCM符号化の条件を満たす場合、RDOによってBDPCMモードを起動するかどうか、即ち、量子化された残差の差分PCM符号化の方法を使用するかどうかを決定することができ、且つ符号化ストリームにおいて第3のBDPCM指示情報を符号化することにより、現在のブロックがBDPCMモードを起動するかどうかを示す。
ステップ7502において、現在のブロックがBDPCMモードを起動すると確定した場合、BDPCMモードの予測方向のインデックス情報に基づいて、第4のBDPCM指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
ここで、BDPCMモードの予測方向は、水平予測方向及び垂直予測方向を含む。
一例として、符号化側は、RDOによって予測方向を決定することができ、選択された予測方向に基づいて、符号化ストリームにおいて第4のBDPCM指示情報を符号化することにより、BDPCMモードの予測方向を示す。
図76は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図75に示された符号化の方法に対応する復号化の方法であり、図76に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7601において、現在のブロックに対してブロックに基づく量子化された残差の差分PCM復号化を行う前に、1つのコンテキストモデルに基づいて、第3のBDPCM指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行う。
一例として、復号化側は、現在のブロックの符号化ストリームを受信することができ、現在のブロックが解析条件を満たす場合、第3のBDPCM指示情報を解析することにより、現在のブロックがBDPCMモードを起動するかどうかを確定する。
ここで、解析条件は、現在のブロックのサイズが一定のサイズ条件を満たすことを含む。もちろん、当該解析条件は、上記の条件に限定されず、他の条件を含んでもよい。
ステップ7602において、第3のBDPCM指示情報が、現在のブロックがBDPCMモードを起動することを指示するときに、第4のBDPCM指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第4のBDPCM指示情報は、BDPCMモードの予測方向のインデックス情報を指示するために使用される。
現在のブロックがBDPCMモードを起動する場合、第4のBDPCM指示情報をさらに解析することにより、予測方向を確定する必要がある。
ステップ7603において、第4のBDPCM指示情報で指示される予測方向に従って、現在のブロックに対してBDPCM処理を行う。
一例として、復号化側は、逆累積プロセスにより量子化された後の残差データを得て、次に、逆量子化し、予測値と加算することにより、再構築画素値を得ることができる。
一例として、第3のBDPCM指示情報及び第4のBDPCM指示情報の符号化・復号化の方式は、以下の表47に示す通りである。
本発明の実施例において、第3のBDPCM指示情報は、1つのコンテキストモデルを使用し、第4のBDPCM指示情報は、バイパスに基づくバイナリ算術符号化・復号化の方式を採用し、このようにすると、第3のBDPCM指示情報及び第4のBDPCM指示情報に必要なコンテキストモデルの数を1に減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「BDPCMモードにおける第4の実施形態」
図77は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図77に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7701において、現在のブロックに対してBDPCM符号化を行う前に、現在のブロックがBDPCMモードを起動するかどうかに応じて、第3のBDPCM指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
一例として、現在のブロックがブロックに基づく量子化された残差の差分PCM符号化の条件を満たす場合、レート歪みによって現在のブロックが量子化された残差の差分PCM符号化の方法を使用するかどうかを決定することができ、且つ符号化ストリームにおいて第3のBDPCM指示情報を符号化することにより、現在のブロックがBDPCMモードを起動するかどうかを示す。
ステップ7702において、現在のブロックがBDPCMモードを起動すると確定した場合、BDPCMモードの予測方向のインデックス情報に基づいて、第4のBDPCM指示情報に対してバイパスに基づくバイナリ算術符号化を行う。
ここで、BDPCMモードの予測方向は、水平予測方向及び垂直予測方向を含む。
一例として、符号化側は、レート歪みによって予測方向を決定することができ、符号化ストリームにおいて第4のBDPCM指示情報を符号化することにより、BDPCMモードの予測方向を示す。
図78は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図77に示された符号化の方法に対応する復号化の方法であり、図78に示すように、現在のブロックがBDPCMモードをサポートする場合、当該方法は以下のステップを含む。
ステップ7801において、現在のブロックに対してBDPCM復号化を行う前に、第3のBDPCM指示情報に対してバイパスに基づくバイナリ算術復号化を行う。
一例として、復号化側は、現在のブロックの符号化ストリームを受信することができ、現在のブロックが解析条件を満たす場合、第3のBDPCM指示情報を解析することにより、現在のブロックがBDPCMモードを起動するかどうかを確定する。
ここで、解析条件は、現在のブロックのサイズが一定のサイズ条件を満たすことを含む。もちろん、当該解析条件は、上記の条件に限定されず、他の条件を含んでもよい。
ステップ7802において、第3のBDPCM指示情報が、現在のブロックがBDPCMモードを起動することを指示するときに、第4のBDPCM指示情報に対してバイパスに基づくバイナリ算術復号化を行い、第4のBDPCM指示情報は、BDPCMモードの予測方向のインデックス情報を指示するために使用される。
現在のブロックがBDPCMモードを起動する場合、第4のBDPCM指示情報をさらに解析することにより、予測方向を確定する必要がある。
ステップ7803において、第4のBDPCM指示情報で指示される予測方向に従って、現在のブロックに対してBDPCM処理を行う。
一例として、復号化側は、逆累積プロセスにより量子化された後の残差データを得て、次に、逆量子化し、予測値と加算することにより、再構築画素値を得ることができる。
一例として、第3のBDPCM指示情報及び第4のBDPCM指示情報の符号化・復号化の方式は、以下の表48に示す通りである。
本発明の実施例において、第3のBDPCM指示情報及び第4のBDPCM指示情報は、バイパスに基づくバイナリ算術符号化・復号化の方式を採用し、このようにすると、第3のBDPCM指示情報及び第4のBDPCM指示情報に必要なコンテキストモデルの数をゼロに減らすことができ、この結果、符号化・復号化の複雑さを軽減し、メモリオーバーヘッドを削減する。
「BDPCMモードにおける第5の実施形態」
BDPCMモードでは、符号化側と復号化側との間で伝送される構文要素は、CBF指示情報をさらに含み、CBF指示情報は、CBF指示情報は、現在のブロックの変換ブロックが非ゼロ変換係数を有するかどうかを指示するために使用される。例示的に、CBF指示情報は、cbf_flagまたはTu_cbf_lumaである。
関連技術では、イントラサブブロック予測に基づいて現在のブロックを予測する前に、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化またはコンテキストに基づく適応バイナリ算術復号化を行うことができる。ここで、目標コンテキストモデルは、現在のブロックがイントラサブブロック予測モードを起動するかどうか、現在のブロックの前の変換ブロックが非ゼロ変換係数を有するかどうか、現在のブロックの変換ブロックの分割深さ、及び現在のブロックがBDPCMモードを起動するかどうかという条件に応じて、5つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
具体的に、この5つの異なるコンテキストモデルは、第1のコンテキストモデル、第2のコンテキストモデル、第3のコンテキストモデル、第4のコンテキストモデルおよび第5のコンテキストモデルを含むと仮定する。現在のブロックがイントラサブブロック予測を起動する場合、目標コンテキストモデルは、現在のブロックの前の変換ブロックが非ゼロ変換係数を有するかどうかに応じて、第1のコンテキストモデル及び第2のコンテキストモデルから選択された1つのコンテキストモデルである。例示的に、現在のブロックの前の変換ブロックが非ゼロ変換係数を有する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの前の変換ブロックが非ゼロ変換係数を有しない場合、目標コンテキストモデルは、第2のコンテキストモデルである。現在のブロックがイントラサブブロック予測を起動しなく、即ち、現在のブロックが従来のイントラ予測を起動する場合、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、第3のコンテキストモデル及び第4のコンテキストモデルから選択された1つのコンテキストモデルである。例示的に、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第3のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第4のコンテキストモデルである。現在のブロックがBDPCMモードを起動する場合、目標コンテキストモデルは、第5のコンテキストモデルである。
関連技術では、CBF指示情報が、5つのコンテキストモデルを使用する必要があり、必要とされるコンテキストモデルの数が多いので、符号化・復号化の複雑さが高く、メモリオーバーヘッドが大きい。
図79は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、復号化側に適用され、図79に示すように、当該方法は以下のステップを含む。
ステップ7901において、現在のブロックがイントラサブブロック予測を起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの前の変換ブロックが非ゼロ変換係数を有するかどうかに応じて、第1のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットが第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定すると、現在のブロックの前の変換ブロックが非ゼロ変換係数を有する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの前の変換ブロックが非ゼロ変換係数を有しない場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ7902において、現在のブロックが従来のイントラ予測を起動し、またはBDPCMモードを起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、第2のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる2つのコンテキストモデルと第1のコンテキストモデルセットに含まれる2つのコンテキストモデルは、異なる。
一例として、第2のコンテキストモデルセットが第3のコンテキストモデルおよび第4のコンテキストモデルを含むと仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第3のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第4のコンテキストモデルである。
図80は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図79に示された符号化の方法に対応する復号化の方法であり、図80に示すように、当該方法は以下のステップを含む。
ステップ8001において、現在のブロックがイントラサブブロック予測を起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの前の変換ブロックが非ゼロ変換係数を有するかどうかに応じて、第1のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットが第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定すると、現在のブロックの前の変換ブロックが非ゼロ変換係数を有する場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの前の変換ブロックが非ゼロ変換係数を有しない場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ8002において、現在のブロックが従来のイントラ予測を起動し、またはBDPCMモードを起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、第2のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルであり、第2のコンテキストモデルセットに含まれる2つのコンテキストモデルと第1のコンテキストモデルセットに含まれる2つのコンテキストモデルは、異なる。
一例として、第2のコンテキストモデルセットが第3のコンテキストモデルおよび第4のコンテキストモデルを含むと仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第3のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第4のコンテキストモデルである。
本発明の実施例において、現在のブロックがBDPCMモードを起動する場合、CBF指示情報の符号化・復号化のコンテキストモデルの選択も、現在のブロックの変換ブロックの分割深さに依存し、現在のブロックがBDPCMモードを起動したとき、及び従来のイントラ予測を起動したときに、2つのコンテキストモデルを共有し、このようにすると、CBF指示情報に必要なコンテキストモデルの数を4に減らし、この結果、符号化・復号化の複雑さを軽減し、内容オーバーヘッドを削減することができる。
「BDPCMモードにおける第6の実施形態」
図81は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図81に示すように、当該方法は以下のステップを含む。
ステップ8101において、現在のブロックがイントラサブブロック予測を起動し、または従来のイントラ予測を起動し、或いはBDPCMモードを起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、この2つの異なるコンテキストモデルが第1のコンテキストモデルと第2のコンテキストモデルであると仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第2のコンテキストモデルである。
図82は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図81に示された符号化の方法に対応する復号化の方法であり、図82に示すように、当該方法は以下のステップを含む。
ステップ8201において、現在のブロックがイントラサブブロック予測を起動し、または従来のイントラ予測を起動し、或いはBDPCMモードを起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、この2つの異なるコンテキストモデルが第1のコンテキストモデルと第2のコンテキストモデルであると仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第2のコンテキストモデルである。
本発明の実施例において、現在のブロックがBDPCMモードを起動し、またはイントラサブブロック予測モードを起動する場合、CBF指示情報の符号化・復号化のコンテキストモデルの選択も、現在のブロックの変換ブロックの分割深さに依存し、現在のブロックがBDPCMモードを起動し、従来のイントラ予測を起動し、及びイントラサブブロック分割モードを起動したときに、2つのコンテキストモデルを共有し、このようにすると、CBF指示情報に必要なコンテキストモデルの数を2に減らし、この結果、符号化・復号化の複雑さを軽減し、内容オーバーヘッドを削減することができる。
「BDPCMモードにおける第7の実施形態」
図83は、本発明の実施例による符号化の方法のフローチャートであり、当該方法は、符号化側に適用され、図83に示すように、当該方法は以下のステップを含む。
ステップ8301において、現在のブロックがイントラサブブロック予測を起動し、または従来のイントラ予測を起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて、第1のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択される1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットが第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ8302において、現在のブロックがBDPCMモードを起動する場合、CBF指示情報の符号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行い、ここで、目標コンテキストモデルは、第1のコンテキストモデルセットに含まれる1つのコンテキストモデルである。
図84は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図83の実施例に示された符号化の方法に対応する復号化の方法であり、図84に示すように、当該方法は以下のステップを含む。
ステップ8401において、現在のブロックがイントラサブブロック予測を起動し、または従来のイントラ予測を起動する場合、イントラサブブロック予測に基づいて現在のブロックを予測する前に、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、現在のブロックの変換ブロックの分割深さに応じて第1のコンテキストモデルセットに含まれる2つの異なるコンテキストモデルから選択された1つのコンテキストモデルである。
一例として、第1のコンテキストモデルセットが第1のコンテキストモデルおよび第2のコンテキストモデルを含むと仮定すると、現在のブロックの変換ブロックの分割深さがプリセット分割深さより大きい場合、目標コンテキストモデルは、第1のコンテキストモデルであり、現在のブロックの変換ブロックの分割深さがプリセット分割深さ以下である場合、目標コンテキストモデルは、第2のコンテキストモデルである。
ステップ8402において、現在のブロックがBDPCMモードを起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行い、ここで、目標コンテキストモデルは、第1のコンテキストモデルセットに含まれる1つのコンテキストモデルである。
本発明の実施例において、イントラサブブロック予測及び従来のイントラ予測において、CBF指示情報は、現在のブロックの変換ブロックの分割深さに基づいて、2つのコンテキストモデルを共有し、BDPCMモードでは、CBF指示情報の符号化・復号化のコンテキストモデルについては、従来のイントラ予測及びイントラサブブロック予測モードに使用される2つのコンテキストモデルから1つを選択することができ、このようにすると、CBF指示情報に必要なコンテキストモデルの数を2に減らし、この結果、符号化・復号化の複雑さを軽減し、内容オーバーヘッドを削減することができる。
「JCCRモード」
図85は、本発明の実施例による符号化モードのフローチャートであり、当該方法は、符号化側に適用され、図85に示すように、当該方法は以下のステップを含む。
ステップ8501において、JCCRモードに基づいて現在のブロックを符号化する前に、現在のブロックがJCCRモードをサポートするかどうかに応じて、JCCR指示情報を符号化し、JCCR指示情報は、現在の処理ユニットがJCCRモードをサポートするかどうかを指示するために使用される。
ここで、現在の処理ユニットにおけるユニットの範囲は、シーケンスレベル、画像パラメータセットまたはブロックレベルなどであってもよい。例えば、現在の処理ユニットは、現在の画像ブロックである。
ここで、現在の処理ユニットがJCCRモードをサポートするかどうかとは、JCCRモードを有効にできるかどうか、つまり、JCCRモードをオンにするかどうかを指す。例示的に、JCCR指示情報は、sps_jccr_enable_flagであり、JCCRの有効フラグである。一例として、sps_jccr_enable_flagが真の場合、現在のブロックがJCCRモードをサポートすることを示す。一例として、現在のブロックは、色度残差ブロックであってもよい。
一例として、JCCR指示情報は、シーケンスパラメータセット(SPS)、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。好ましくは、JCCR指示情報は、シーケンスパラメータセットに存在し、つまり、JCCR指示情報は、SPSレベルに追加された構文である。
一例として、符号化側は、範囲指示情報を符号化してもよく、当該範囲指示情報は、JCCRモードをサポートする処理ユニットの範囲を指示するために使用される。一例として、当該範囲指示情報は、シーケンスパラメータセット(SPS)、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。
この後、復号化側は、JCCR指示情報に基づいて、現在のブロックがJCCRモードを起動するかどうかを確定する。
一例として、JCCRモードが、現在のブロックがJCCRモードをサポートすることを指示する場合、現在のブロックのCBF値の確定を継続することができ、現在のブロックのCBコンポーネントとCRコンポーネントのCBF値がいずれも真であり、即ち現在のブロックのCBコンポーネントとCRコンポーネントの残差係数がいずれも0ではない場合、符号化側は、JCCRモードを起動できる。例示的に、現在のブロックがJCCRモードを起動するかどうかについては、符号化側でRDOによって決定されることができる。
図86は、本発明の実施例による復号化の方法のフローチャートであり、当該方法は、復号化側に適用され、当該方法は、上記の図85に示された符号化の方法に対応する復号化の方法であり、図86に示すように、当該方法は以下のステップを含む。
ステップ8601において、JCCRモードに基づいて現在のブロックを復号化する前に、JCCR指示情報を復号化し、JCCR指示情報は、現在の処理ユニットがJCCRモードをサポートするかどうかを指示するために使用される。
ステップ8602において、JCCR指示情報に基づいて現在のブロックがJCCRモードをサポートすると確定し、且つ現在のブロックがJCCRモードを起動する場合、現在のブロックのCBコンポーネントとCRコンポーネントの相関性に従って、現在のブロックに対して復号化を行うことにより、現在のブロックの色度残差係数を得る。
一例として、JCCR指示情報に基づいて現在のブロックがJCCRモードをサポートすると確定した場合、現在のブロックのCBF値の確定を継続することができ、現在のブロックのCBコンポーネントのCBFとCRコンポーネントのCBF値がいずれも真であり、即ち現在のブロックのCBコンポーネントとCRコンポーネントがいずれも非ゼロ変換係数を有する場合、現在のブロックがJCCRモードを起動するかどうかを解析し続ける。現在のブロックがJCCRモードを起動すると確定した場合、現在のブロックのCBコンポーネントとCRコンポーネントの相関性に従って、現在のブロックに対して復号化を行うことにより、現在のブロックの色度残差係数を得る。
ここで、現在のブロックのCBF値は、現在のブロックの変換ブロックが非ゼロ変換係数を有するかどうか、即ち現在のブロックの変換ブロックが1つ以上の0に等しくない変換係数を含むかどうかを指示するために使用される。現在のブロックのCBF値は、現在のブロックのCBコンポーネントのCBF値及び現在のブロックのCRコンポーネントのCBF値を含むことができる。ここで、現在のブロックのCBコンポーネントのCBF値は、現在のブロックのCB変換ブロックが非ゼロ変換係数を有するかどうか、即ち現在のブロックのCB変換ブロックが1つ以上の0に等しくない変換係数を含むかどうかを指示するために使用される。現在のブロックのCRコンポーネントのCBF値は、現在のブロックのCR変換ブロックが非ゼロ変換係数を有するかどうか、即ち現在のブロックのCR変換ブロックが1つ以上の0に等しくない変換係数を含むかどうかを指示するために使用される。現在のブロックのCBコンポーネントのCBF値が真であり、即ちCBコンポーネントのCBF値が1である場合、現在のブロックのCB変換ブロックが非ゼロ変換係数を有することを示す。現在のブロックのCRコンポーネントのCBF値が真であり、即ちCRコンポーネントのCBF値が1である場合、現在のブロックのCR変換ブロックが非ゼロ変換係数を有することを示す。
一例として、JCCR指示情報は、シーケンスパラメータセット(SPS)、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。好ましくは、JCCR指示情報は、シーケンスパラメータセットに存在し、つまり、JCCR指示情報は、SPSレベルに追加された構文である。
別の実施例において、復号化側は、範囲指示情報を復号化してもよく、当該範囲指示情報は、JCCRモードをサポートする処理ユニットのサイズ範囲を指示するために使用される。当該範囲指示情報は、シーケンスパラメータセット(SPS)、画像パラメータセット、sliceレベルまたはTileレベルに存在することができる。
本発明の実施例において、JCCRモードをサポートするかどうかを指示するために使用される構文を追加し、符号化・復号化プロセスの柔軟性を向上させた。また、JCCRモードをサポートする処理ユニットの範囲を指示するために使用される構文も追加する。
なお、本発明の実施例における現在のブロックまたは画像ブロックは、シーケンスレベル、画像パラメータセット、またはブロックレベルの他の処理ユニットであってもよく、本発明の実施例は、これについて限定しない。
図87は、本発明の実施例による符号化側8700の構造概略図であり、当該符号化側8700は、構成または性能の相違により大きな差異を生じることができ、1つ以上のプロセッサ(central processing units、CPU)8701と、1つ以上のメモリ8702を含むことができ、ここで、前記メモリ8702には、少なくとも1つの指令が記憶され、前記少なくとも1つの指令が前記プロセッサ8701によってアップロードされ、実行されることにより、上述の様々な方法の実施例による符号化の方法を実現する。もちろん、当該符号化側8700は、入出力を行うために、有線または無線ネットワークインターフェース、キーボード、および入出力インターフェースなどのコンポーネントを有してもよく、当該符号化側8700は、装置の機能を実現するための他のコンポーネントを含んでもよく、ここでは説明を省略する。
図88は、本発明の実施例による復号化側8800の構造概略図であり、当該復号化側8800は、構成または性能の相違により大きな差異を生じることができ、1つ以上のプロセッサ(central processing units、CPU)8801と、1つ以上のメモリ8802を含むことができ、ここで、前記メモリ8802には、少なくとも1つの指令が記憶され、前記少なくとも1つの指令が前記プロセッサ8801によってアップロードされ、実行されることにより、上述の様々な方法の実施例による復号化の方法を実現する。もちろん、当該復号化側8800は、入出力を行うために、有線または無線ネットワークインターフェース、キーボード、および入出力インターフェースなどのコンポーネントを有してもよく、当該復号化側8800は、装置の機能を実現するための他のコンポーネントを含んでもよく、ここでは説明を省略する。
別の実施例において、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、上記のいずれかに記載の符号化の方法、復号化の方法、または符号化・復号化の方法を実現するコンピュータ可読記憶媒体に関する。
別の実施例において、コンピュータ上で動作するとき、上記のいずれかに記載の符号化の方法、復号化の方法、または符号化・復号化の方法をコンピュータに実行させることを特徴とする指令を含むコンピュータプログラム製品に関する。
当業者にとって、上記の実施例のステップの全部または一部をハードウェアによって完了してもよく、プログラムを利用して関連するハードウェアを指令することにより完了してもよいことを理解することができ、前記プログラムは、コンピュータ可読記憶媒体に記憶されることができ、上記記憶媒体は、読み出し専用メモリ、磁気ディスク、または光ディスク等であってもよい。
上記では、以下の技術案も例示された。
技術案1として、JCCR指示情報に対して復号化を行い、前記JCCR指示情報は、現在の処理ユニットがJCCRモードをサポートするかどうかを指示するために使用されることと、前記JCCR指示情報に基づいて、現在の処理ユニットがJCCRモードをサポートするかどうかを確定することと、を含む復号化の方法に関する。
技術案2として、技術案1によると、前記前記JCCR指示情報に基づいて、現在の処理ユニットがJCCRモードをサポートするかどうかを確定することは、
前記JCCR指示情報のフラグ値が第1値である場合、現在の処理ユニットがJCCRモードをサポートすると確定することと、前記JCCR指示情報のフラグ値が第2値である場合、現在の処理ユニットがJCCRモードをサポートしないと確定することと、
を含む。
技術案3として、技術案1によると、前記JCCR指示情報は、シーケンスパラメータセットに存在する。
技術案4として、技術案1によると、前記JCCR指示情報は、sps_jccr_enable_flagである。
技術案5として、技術案1によると、復号化の方法は、前記JCCR指示情報に基づいて現在の処理ユニットがJCCRモードをサポートすると確定し、且つ前記現在の処理ユニットがJCCRモードを起動する場合、前記現在の処理ユニットの青色色度CBコンポーネントと赤色色度CRコンポーネントの相関性に従って、前記現在の処理ユニットに対して復号化を行うことにより、前記現在の処理ユニットの色度残差係数を得ることをさらに含む。
技術案6として、技術案1によると、前記前記JCCR指示情報に基づいて前記現在の処理ユニットがJCCRモードをサポートすると確定し、且つ前記現在の処理ユニットがJCCRモードを起動する場合、前記現在の処理ユニットのCBコンポーネントとCRコンポーネントの相関性に従って、前記現在の処理ユニットに対して復号化を行うことにより、前記現在の処理ユニットの色度残差係数を得ることは、
前記JCCR指示情報に基づいて前記現在の処理ユニットがJCCRモードをサポートすると確定した場合、前記現在の処理ユニットのCBコンポーネントとCRコンポーネントのCBF値を確定することと、前記現在の処理ユニットのCBコンポーネントとCRコンポーネントのCBF値がいずれも真である場合、前記現在の処理ユニットがJCCRモードを起動するかどうかを解析することと、前記現在の処理ユニットがJCCRモードを起動する場合、前記現在の処理ユニットのCBコンポーネントとCRコンポーネントの相関性に従って、前記現在の処理ユニットに対して復号化を行うことにより、前記現在の処理ユニットの色度残差係数を得ることと、
を含む。
技術案7として、技術案1によると、前記JCCR指示情報は、SPSレベルのイネーブルフラグであり、前記現在の処理ユニットがJCCRモードをサポートするかどうかとは、前記現在の処理ユニットがJCCRモードを有効にできるかどうかを指す。
技術案8として、技術案1によると、前記現在の処理ユニットは、現在の色度残差ブロックである。
技術案9として、技術案1によると、復号化の方法は、前記JCCR指示情報に基づいて前記現在の処理ユニットがJCCRモードをサポートすると確定し、且つ前記現在の処理ユニットが解析条件を満たす場合、前記現在の処理ユニットがJCCRモードを起動するかどうかを解析し、ここで、前記解析条件は、前記現在の処理ユニットのCB色度コンポーネントとCR色度コンポーネントがいずれも非ゼロ変換係数を有することをさらに含む。
技術案10として、符号化の方法は、
JCCR指示情報を符号化し、前記JCCR指示情報は、現在の処理ユニットがJCCRモードをサポートするかどうかを指示するために使用されることと、
前記JCCR指示情報のフラグ値が第1値である場合、前記JCCR指示情報は、前記現在の処理ユニットがJCCRモードをサポートすることを指示するために使用されることと、
前記JCCR指示情報のフラグ値が第2値である場合、前記JCCR指示情報は、前記現在の処理ユニットがJCCRモードをサポートしないことを指示するために使用されることと、を含む。
技術案11として、技術案10によると、前記JCCR指示情報は、シーケンスパラメータセットに存在する。
技術案12として、技術案10によると、前記JCCR指示情報は、sps_jccr_enable_flagである。
技術案13として、技術案10によると、前記現在の処理ユニットがJCCRモードをサポートする場合、JCCRモードの起動を確定する前に、符号化の方法は、
前記現在の処理ユニットのCBコンポーネントとCRコンポーネントのCBF値を確定することと、
前記現在の処理ユニットのCBコンポーネントとCRコンポーネントのCBF値がいずれも真である場合、JCCRモードを起動する条件を満たすと確定することと、
をさらに含む。
技術案14として、技術案10によると、JCCRモードを起動する条件を満たすと確定した後、符号化の方法は、
レート歪み最適化RDOによって、JCCRモードを起動するかどうかを確定することをさらに含む。
技術案15として、技術案1から9のいずれかに記載の方法を実行するように構成されている復号化の装置に関する。
技術案16として、技術案10から14のいずれか1項に記載の方法を実行するように構成されている符号化の装置に関する。
技術案17として、プロセッサとコンピュータ可読記憶媒体とを含み、前記コンピュータ可読記憶媒体に前記プロセッサによって実行可能なコンピュータ実行可能指令が記憶され、前記プロセッサがコンピュータ実行可能指令を実行するために使用されることにより、技術案1から9のいずれかに記載の方法を実現する復号化のデバイスに関する。
技術案18として、プロセッサとコンピュータ可読記憶媒体とを含み、前記コンピュータ可読記憶媒体に前記プロセッサによって実行可能なコンピュータ実行可能指令が記憶され、前記プロセッサがコンピュータ実行可能指令を実行するために使用されることにより、技術案10から14のいずれか1項に記載の方法を実現する符号化のデバイスに関する。
技術案19として、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、上記の技術案1から14のいずれかに記載の方法を実現するコンピュータ可読記憶媒体に関する。
技術案20として、現在のブロックが複数行予測モードをサポートする場合、複数行予測モードに基づいて現在のブロックを予測するときに、目標参照行に基づいて現在のブロックを予測し、前記目標参照行は、参照行指示情報に基づいて確定されることを含み、
ここで、前記参照行指示情報は、複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行のインデックス情報を指示するために使用され、前記目標参照行は、候補参照行から選択された1行であり、ここで、前記複数行予測モードに対応する候補参照行の行数は3であり、且つ現在のブロックの境界に最も近い3行3列が前記候補参照行として用いられ、
前記参照行指示情報が、最大2ビットを占め、且つこの2ビットについて、2つのコンテキストモデルを使用して復号化し、ここで、前記参照行指示情報の第1のビットは、第1のコンテキストモデルに基づいて復号化し、前記参照行指示情報の第2のビットを復号化する必要があるとき、前記参照行指示情報の第2のビットは、第2のコンテキストモデルに基づいて復号化し、前記第1のコンテキストモデルと前記第2のコンテキストモデルは異なる、復号化の方法に関する。
技術案21として、技術案20によると、前記行は、現在のブロックの上側の行、または現在のブロックの左側の列である。
技術案22として、技術案20によると、前記現在のブロックの境界に最も近い3行3列が前記候補参照行として用いられることは、0行目、1行目および2行目が前記候補参照行として用いられることを含み、
ここで、前記0行目は、前記現在のブロックの境界に隣接する行であり、前記1行目は、前記現在のブロックの境界に次に隣接する行であり、前記2行目は、前記1行目に隣接する行である。
技術案23として、技術案20によると、インデックス情報が0である候補参照行は前記0行目であり、インデックス情報が1である候補参照行は前記1行目であり、インデックス情報が2である候補参照行は2行目である場合、前記目標参照行が参照行指示情報に基づいて確定されることは、
参照行指示情報で指示されるインデックス情報が0である場合、前記目標参照行が、前記0行目であることと、
前記参照行指示情報で指示されるインデックス情報が1である場合、前記目標参照行が、前記1行目であることと、
前記参照行指示情報で指示されるインデックス情報が2である場合、前記目標参照行が、前記2行目であることと、を含む。
技術案24として、技術案20によると、前記現在のブロックの境界に最も近い3行3列が前記候補参照行として用いられることは、0行目、1行目、2行目、0列目、1列目、および2列目が前記候補参照行として用いられることを含み、ここで、前記0行目は、前記現在のブロックの上境界に隣接する行であり、前記1行目は、前記現在のブロックの上境界に次に隣接する行であり、前記2行目は、前記1行目に隣接する行であり、前記0列目は、前記現在のブロックの左境界に隣接する列であり、前記1列目は、前記現在のブロックの左境界に次に隣接する列であり、前記2列目は、前記1列目に隣接する列であり、前記目標参照行が参照行指示情報に基づいて確定されることは、参照行指示情報で指示されるインデックス情報が0である場合、前記目標参照行が、前記0行目および0列目であることと、前記参照行指示情報で指示されるインデックス情報が1である場合、前記目標参照行が、前記1行目および1列目であることと、前記参照行指示情報で指示されるインデックス情報が2である場合、前記目標参照行が、前記2行目および2列目であることと、を含む。
技術案25として、技術案24によると、前記複数行予測モードは、現在のブロックの参照画素に基づいて予測するために使用され、ここで、前記目標参照行が前記0行目および0列目である場合、現在のブロックの予測に使用される参照画素は、前記0行目または0列目から取得され、前記目標参照行が前記1行目および1列目である場合、現在のブロックの予測に使用される参照画素は、前記1行目または1列目から取得され、前記目標参照行が前記2行目および2列目である場合、現在のブロックの予測に使用される参照画素は、前記2行目または2列目から取得される。
技術案26として、技術案20によると、復号化の方法は、現在のブロックが複数行予測技術をサポートする条件を満たすかどうかを確定することと、
現在のブロックが複数行予測技術をサポートする条件を満たす場合、現在のブロックが複数行予測モードをサポートすると確定することと、をさらに含み、
ここで、前記複数行予測技術をサポートする条件は、現在のブロックが輝度イントラブロックであることと、現在のブロックのサイズが一定の制限条件を満たすことと、現在のブロックが符号化ツリーユニットの第1の行を含まないことと、を含む。
技術案27として、技術案20によると、前記複数行予測モードは、現在のブロックの参照画素に基づいて予測するために使用され、ここで、現在のブロックの予測に使用される参照画素は、現在のブロックの前記目標参照行から取得される。
技術案28として、技術案20によると、前記目標参照行のインデックス情報は、intra_luma_ref_idxで表記されている。
技術案29として、
複数行予測モードに基づいて現在のブロックの予測を行うときに使用される目標参照行を確定することと、
第1のコンテキストモデルに基づいて、参照行指示情報の第1のビットに対して符号化を行うことと、
前記参照行指示情報の第2のビットに対して符号化を行う必要があるときに、第2のコンテキストモデルに基づいて、前記参照行指示情報の第2のビットに対して符号化を行うことと、を含み、
ここで、前記参照行指示情報が、最大2ビットを占め、且つこの2ビットについて、2つのコンテキストモデルを使用して符号化し、前記第1のコンテキストモデルと前記第2のコンテキストモデルは異なり、前記参照行指示情報は、複数行予測モードに基づいて前記現在のブロックの予測を行うときに使用される目標参照行のインデックス情報を指示するために使用され、ここで、前記目標参照行は、参照行指示情報におけるインデックス情報に基づいて候補参照行から選択され、ここで、前記複数行予測モードに対応する候補参照行の行数は3であり、且つ前記現在のブロックの境界に最も近い3行3列が前記候補参照行として用いられる、符号化の方法に関する。
技術案30として、技術案29によると、前記目標参照行の行は、前記現在のブロックの上側の行、または前記現在のブロックの左側の列である。
技術案31として、技術案29によると、
前記0行目は、前記現在のブロックの境界に隣接する行であり、前記1行目は、前記現在のブロックの境界に次に隣接する行であり、前記2行目は、前記1行目に隣接する行であり、
インデックス情報が0である候補参照行は前記0行目であり、インデックス情報が1である候補参照行は前記1行目であり、インデックス情報が2である候補参照行は前記2行目である場合、前記目標参照行が参照行指示情報におけるインデックス情報に基づいて候補参照行から選択されることは、
参照行指示情報で指示されるインデックス情報が0である場合、前記目標参照行が、前記0行目であることと、
前記参照行指示情報で指示されるインデックス情報が1である場合、前記目標参照行が、前記1行目であることと、
前記参照行指示情報で指示されるインデックス情報が2である場合、前記目標参照行が、前記2行目であることと、を含む。
技術案32として、技術案29によると、前記現在のブロックの境界に最も近い3行3列が前記候補参照行として用いられることは、0行目、1行目、2行目、0列目、1列目、および2列目が前記候補参照行として用いられることを含み、ここで、前記0行目は、前記現在のブロックの上境界に隣接する行であり、前記1行目は、前記現在のブロックの上境界に次に隣接する行であり、前記2行目は、前記1行目に隣接する行であり、前記0列目は、前記現在のブロックの左境界に隣接する列であり、前記1列目は、前記現在のブロックの左境界に次に隣接する列であり、前記2列目は、前記1列目に隣接する列であり、前記目標参照行が参照行指示情報に基づいて確定されることは、参照行指示情報で指示されるインデックス情報が0である場合、前記目標参照行が、前記0行目および0列目であることと、前記参照行指示情報で指示されるインデックス情報が1である場合、前記目標参照行が、前記1行目および1列目であることと、前記参照行指示情報で指示されるインデックス情報が2である場合、前記目標参照行が、前記2行目および2列目であることと、を含む。
技術案33として、技術案32によると、前記複数行予測モードは、現在のブロックの参照画素に基づいて予測するために使用され、ここで、前記目標参照行が前記0行目および0列目である場合、現在のブロックの予測に使用される参照画素は、前記0行目または0列目から取得され、前記目標参照行が前記1行目および1列目である場合、現在のブロックの予測に使用される参照画素は、前記1行目または1列目から取得され、前記目標参照行が前記2行目および2列目である場合、現在のブロックの予測に使用される参照画素は、前記2行目または2列目から取得される。
技術案34として、技術案29によると、符号化の方法は、
前記現在のブロックが複数行予測技術をサポートする条件を満たすかどうかを確定することと、
前記現在のブロックが複数行予測技術をサポートする条件を満たす場合、前記現在のブロックが複数行予測モードをサポートすると確定することと、をさらに含み、
ここで、前記複数行予測技術の条件は、前記現在のブロックが輝度イントラブロックであることと、前記現在のブロックのサイズが一定の制限条件を満たすことと、前記現在のブロックが符号化ツリーユニットの第1の行を含まないことと、を含む。
技術案35として、技術案20から28のいずれかに記載の方法を実行するように構成されていることを特徴とする復号化の装置に関する。
技術案36として、技術案29から34のいずれかに記載の方法を実行するように構成されていることを特徴とする符号化の装置に関する。
技術案37として、プロセッサとコンピュータ可読記憶媒体とを含み、前記コンピュータ可読記憶媒体に前記プロセッサによって実行可能なコンピュータ実行可能指令が記憶され、
前記プロセッサがコンピュータ実行可能指令を実行するために使用されることにより、技術案20から28のいずれかに記載の方法を実現する、復号化のデバイスに関する。
技術案38として、プロセッサとコンピュータ可読記憶媒体とを含み、前記コンピュータ可読記憶媒体に前記プロセッサによって実行可能なコンピュータ実行可能指令が記憶され、
前記プロセッサがコンピュータ実行可能指令を実行するために使用されることにより、請求項29から34のいずれか1項に記載の方法を実現する、符号化のデバイスに関する。
技術案39として、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、技術案20から34のいずれかに記載の方法を実現するコンピュータ可読記憶媒体に関する。
技術案40として、復号化の方法であって、
第1のBDPCM指示情報に対して復号化を行い、前記第1のBDPCM指示情報は、現在の処理ユニットがBDPCMモードをサポートするかどうかを指示するために使用され、前記第1のBDPCM指示情報は、シーケンスパラメータセットに存在し、ここで、前記第1のBDPCM指示情報のフラグ値が第1値である場合、現在の処理ユニットがBDPCMモードをサポートすると確定し、前記第1のBDPCM指示情報のフラグ値が第2値である場合、現在の処理ユニットがBDPCMモードをサポートしないと確定することと、
現在の処理ユニットがBDPCMモードをサポートする場合、第2のBDPCM指示情報を復号化し、前記第2のBDPCM指示情報は、BDPCMモードをサポートする画像ブロックのサイズ範囲を指示するために使用され、前記第2のBDPCM指示情報は、前記シーケンスパラメータセットに存在することと、
前記第1のBDPCM指示情報と前記第2のBDPCM指示情報に基づいて、現在の処理ユニットに対して復号化を行うことと、を含み、
ここで、前記前記第1のBDPCM指示情報と前記第2のBDPCM指示情報に基づいて、現在の処理ユニットに対して復号化を行うことは、
前記第1のBDPCM指示情報、前記第2のBDPCM指示情報および現在の処理ユニットのサイズに基づいて、現在の処理ユニットがBDPCMモードでの復号化をサポートできるかどうかを確定することを含み、
ここで、前記前記第1のBDPCM指示情報、前記第2のBDPCM指示情報および現在の処理ユニットのサイズに基づいて、現在の処理ユニットがBDPCMモードでの復号化をサポートできるかどうかを確定することは、
前記第1のBDPCM指示情報のフラグ値が第1値であり、且つ前記第2のBDPCM指示情報で指示されるサイズ範囲および現在の処理ユニットのサイズに基づいて、現在の処理ユニットのサイズが前記サイズ範囲内であると確定する場合、現在の処理ユニットがBDPCMモードをサポートできると確定することを含み、
前記方法は、
現在の処理ユニットがBDPCMモードをサポートする場合、第3のBDPCM指示情報に対して復号化を行い、前記第3のBDPCM指示情報は、現在の処理ユニットがBDPCMモードを起動するかどうかを指示するために使用されることと、
前記第3のBDPCM指示情報が、現在の処理ユニットがBDPCMモードを起動することを指示するときに、第4のBDPCM指示情報に対して復号化を行い、前記第4のBDPCM指示情報は、BDPCMモードの予測方向のインデックス情報を指示するために使用されることと、
前記第4のBDPCM指示情報で指示される予測方向に従って、現在の処理ユニットに対してBDPCM処理を行い、ここで、前記BDPCMモードの予測方向は、水平予測方向及び垂直予測方向を含むことと、をさらに含む、復号化の方法に関する。
技術案41として、技術案40によると、前記第2のBDPCM指示情報は、BDPCMモードをサポートできる処理ユニットの最大サイズを指示するためにも使用される。
技術案42として、技術案41によると、BDPCMモードをサポートできる処理ユニットの最大サイズは、32*32である。
技術案43として、技術案40によると、前記第3のBDPCM指示情報に対して復号化を行うことは、
現在の処理ユニットが解析条件を満たす場合、前記第3のBDPCM指示情報を解析することにより、現在の処理ユニットがBDPCMモードを起動するかどうかを確定することを含み、ここで、前記解析条件は、現在の処理ユニットのサイズが一定のサイズ条件を満たすことを含む。
技術案44として、技術案40によると、復号化の方法は、現在の処理ユニットがBDPCMモードを起動する場合、CBF指示情報の復号化を行うと確定したときに、目標コンテキストモデルに基づいて、前記CBF指示情報に対してコンテキストに基づく適応バイナリ算術復号化を行うことをさらに含み、ここで、前記CBF指示情報は、前記現在の処理ユニットの変換ブロックが非ゼロ変換係数を有するかどうかを指示するために使用され、前記目標コンテキストモデルは、第1のコンテキストモデルセットにおける1つのコンテキストモデルである。
技術案45として、技術案40から44によると、前記現在の処理ユニットは、現在の画像ブロックである。
技術案46として、符号化の方法であって、
第1のBDPCM指示情報に対して符号化を行い、前記第1のBDPCM指示情報は、現在の処理ユニットがBDPCMモードをサポートするかどうかを指示するために使用され、前記第1のBDPCM指示情報は、シーケンスパラメータセットに存在し、ここで、前記第1のBDPCM指示情報のフラグ値が第1値である場合、前記第1のBDPCM指示情報は、現在の処理ユニットがBDPCMモードをサポートすることを指示するために使用され、前記第1のBDPCM指示情報のフラグ値が第2値である場合、前記第1のBDPCM指示情報は、現在の処理ユニットがBDPCMモードをサポートしないことを指示するために使用されることと、
現在の処理ユニットがBDPCMモードをサポートする場合、第2のBDPCM指示情報を符号化し、前記第2のBDPCM指示情報は、BDPCMモードをサポートする処理ユニットのサイズ範囲を指示するために使用され、前記第2のBDPCM指示情報は、前記シーケンスパラメータセットに存在することと、
前記第1のBDPCM指示情報と前記第2のBDPCM指示情報に基づいて、現在の処理ユニットに対して符号化を行うことと、
を含み、
ここで、前記前記第1のBDPCM指示情報と前記第2のBDPCM指示情報に基づいて、現在の処理ユニットに対して符号化を行うことは、
前記第1のBDPCM指示情報、前記第2のBDPCM指示情報および現在の処理ユニットのサイズに基づいて、現在の処理ユニットがBDPCMモードでの符号化をサポートできるかどうかを確定することを含み、
ここで、前記前記第1のBDPCM指示情報、前記第2のBDPCM指示情報および現在の処理ユニットのサイズに基づいて、現在の処理ユニットがBDPCMモードでの符号化をサポートできるかどうかを確定することは、
前記第1のBDPCM指示情報のフラグ値が第1値であり、且つ前記第2のBDPCM指示情報で指示されるサイズ範囲および現在の処理ユニットのサイズに基づいて、現在の処理ユニットのサイズが前記サイズ範囲内であると確定する場合、現在の処理ユニットがBDPCMモードをサポートできると確定することを含み、
前記方法は、現在の処理ユニットがBDPCMモードをサポートする場合、第3のBDPCM指示情報に対して符号化を行い、前記第3のBDPCM指示情報は、現在の処理ユニットがBDPCMモードを起動するかどうかを指示するために使用されることをさらに含み、
前記第3のBDPCM指示情報が、現在の処理ユニットがBDPCMモードを起動することを指示するために使用される場合、前記方法は、
第4のBDPCM指示情報に対して符号化を行い、前記第4のBDPCM指示情報は、BDPCMモードの予測方向のインデックス情報を指示するために使用され、ここで、前記BDPCMモードの予測方向は、水平予測方向及び垂直予測方向を含むことをさらに含む、符号化の方法に関する。
技術案47として、技術案46によると、前記第2のBDPCM指示情報は、BDPCMモードをサポートできる処理ユニットの最大サイズを指示するためにも使用される。
技術案48として、技術案47によると、BDPCMモードをサポートできる処理ユニットの最大サイズは、32*32である。
技術案49として、技術案46によると、前記第3のBDPCM指示情報が、現在の処理ユニットがBDPCMモードを起動することを指示するために使用される場合、符号化の方法は、CBF指示情報の符号化を行うときに、目標コンテキストモデルに基づいて、前記CBF指示情報に対してコンテキストに基づく適応バイナリ算術符号化を行うことをさらに含み、ここで、前記CBF指示情報は、現在の処理ユニットの変換ブロックが非ゼロ変換係数を有するかどうかを指示するために使用され、前記目標コンテキストモデルは、第1のコンテキストモデルセットにおける1つのコンテキストモデルである。
技術案50として、技術案46から49によると、前記現在の処理ユニットは、現在の画像ブロックである。
技術案51として、技術案40から45のいずれかに記載の方法を実行するように構成されている復号化の装置に関する。
技術案52として、技術案46から50のいずれかに記載の方法を実行するように構成されている符号化の装置に関する。
技術案53として、
プロセッサとコンピュータ可読記憶媒体とを含み、前記コンピュータ可読記憶媒体に前記プロセッサによって実行可能なコンピュータ実行可能指令が記憶され、
前記プロセッサがコンピュータ実行可能指令を実行するために使用されることにより、技術案40から45のいずれかに記載の方法を実現する、復号化のデバイスに関する。
技術案54として、
プロセッサとコンピュータ可読記憶媒体とを含み、前記コンピュータ可読記憶媒体に前記プロセッサによって実行可能なコンピュータ実行可能指令が記憶され、
前記プロセッサがコンピュータ実行可能指令を実行するために使用されることにより、技術案46から50のいずれか1項に記載の方法を実現する、符号化のデバイスに関する。
技術案55として、指令が記憶されたコンピュータ可読記憶媒体であって、前記指令がプロセッサによって実行されるとき、技術案40から50のいずれか1項に記載の方法を実現するコンピュータ可読記憶媒体に関する。
上記は、本発明の好ましい実施例に過ぎない、本発明を限定するものではなく、本発明の精神および原則内でなされた任意の変更、等効な置換、改善などは、本発明の範囲に含まれるものとする。