(58)【調査した分野】(Int.Cl.,DB名)
前記左側及び上側量子化パラメータのうち一つのみが利用可能な場合、前記Pブロックの量子化パラメータ予測子は、前記利用可能な一つの量子化パラメータと前記以前量子化パラメータの平均値に設定されることを特徴とする請求項1に記載の方法。
【発明を実施するための形態】
【0010】
以下、本発明の多様な実施例を例示図面を参照して詳細に説明する。本発明は、多様な変更を加えることができ、多様な実施例を有することができ、本発明を特定の実施形態に対して限定するものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むと理解しなければならない。各図面の説明において、類似の構成要素に対して類似の参照符号を使用した。
【0011】
本発明による映像符号化装置及び映像復号化装置は、パソコン、個人携帯端末、移動マルチメディアプレーヤー、スマートフォン又は無線通信ターミナルなどのようにユーザターミナルである。前記映像符号化装置及び映像復号化装置は、多様な機器と通信する通信ユニットと、映像を符号化又は復号化するために多様なプログラムとデータを格納するためのメモリとを具備する。
【0012】
図1は、本発明による動画符号化装置1000を示すブロック図である。
【0013】
図1を参照すると、前記動画符号化装置1000は、ピクチャ分割部1010、変換部1020、量子化部1030、スキャニング部1040、エントロピー符号化部1050、イントラ予測部1060、インター予測部1070、逆量子化部1080、逆変換部1090、後処理部1100、ピクチャ格納部1110、減算部1120及び加算部1130を含む。
【0014】
ピクチャ分割部1010は、ピクチャ又はスライスを複数個のLCU(Largest Coding Unit)に分割し、前記各々のLCUを一つ以上のコーディングユニットに分割する。LCUのサイズは、32×32、64×64又は128×128である。ピクチャ分割部1010は、各コーディングユニットの予測モード及び分割モード(partitioning mode)を決定する。
【0015】
一つのLCUは、一個又は複数個のコーディングユニット(coding unit)を含む。前記LCUは、分割構造を示すために、再帰的クワッドツリー構造(recursive quadtree structure)を有する。コーディングユニットの最大サイズ及び最小サイズを示す情報がシーケンスパラメータセット(sequence parameter set)に含まれる。前記分割構造は、一個又は複数個の分割コーディングユニットフラグ(split_cu_flag)を利用して特定される。コーディングユニットは、2N×2Nのサイズを有する。LCUのサイズが64×64であり、且つ最小コーディングユニット(SCU:smallest coding unit)が8×8の場合、コーディングユニットは、64×64、32×32、16×16又は8×8である。
【0016】
コーディングユニットは、一個又は複数個の予測ユニット(prediction unit)を含む。イントラ予測において、前記予測ユニットのサイズは、2N×2N又はN×Nである。インター予測において、前記予測ユニットのサイズは、前記分割モードにより特定される。コーディングユニットが対称に分割されると、分割モードは、2N×2N、2N×N、N×2N及びN×Nのうち一つである。コーディングユニットが非対称に分割されると、分割モードは、2N×nU、2N×nD、nL×2N及びnR×2Nのうち一つである。
【0017】
コーディングユニットは、一個又は複数個の変換ユニット(transform unit)を含む。変換ユニットは、コーディングユニットの分割構造を示すために、再帰的クワッドツリー構造(recursive quadtree structure)を有する。分割構造は、一個又は複数個の分割変換ユニットフラグにより表現される。変換ユニットの最大サイズ及び最小サイズを示すパラメータがシーケンスパラメータセットに含まれる。
【0018】
変換部1020は、残差ブロックを変換して変換ブロックを生成する。残差信号は、変換ユニット単位に変換される。前記残差信号は、イントラ予測部1060又はインター予測部1070により生成される予測ブロックを原本ブロックから減算して誘導される。
【0019】
予測モード(イントラ予測モード又はインター予測モード)に応じて変換マトリクスが変わることができる。また、イントラ予測モードでは、変換マトリクスがイントラ予測モードに基づいて適応的に決定されることができる。変換ユニットは、2個の1次元変換マトリクス(水平マトリクス及び垂直マトリクス)を利用して変換される。例えば、水平イントラ予測モードでは、残差信号が垂直方向性を有するため、DCTベースの整数マトリクスが垂直方向に適用され、DSTベース又はKLTベースの整数マトリクスが水平方向に適用されることができる。垂直イントラ予測モードでは、DCTベースの整数マトリクスが水平方向に適用され、DSTベース又はKLTベースの整数マトリクスが垂直方向に適用されることができる。一方、変換マトリクスの種類が変換ユニットのサイズにより決定されることもできる。
【0020】
量子化部1030は、前記変換ブロックを量子化するための量子化パラメータを決定する。量子化パラメータは、量子化ステップサイズを意味する。量子化パラメータは、量子化ユニット毎に決定される。量子化ユニットは、予め決められたサイズより大きい又は同じコーディングユニットである。前記予め決められたサイズは、量子化ユニットの最小サイズである。前記最小サイズを有する量子化ユニットを最小量子化ユニットという。コーディングユニットのサイズが量子化ユニットの最小サイズより大きい又は同じ場合、前記コーディングユニットは、量子化ユニットになる。複数個のコーディングユニットが最小量子化ユニットに含まれることもできる。前記最小量子化ユニットは、8×8ブロック又は16×16ブロックである。前記最小サイズは、ピクチャ毎に決定されることができる。
【0021】
量子化部1030は、量子化パラメータ予測子を生成し、量子化パラメータから量子化パラメータ予測子を減算して差分量子化パラメータを生成する。前記差分量子化パラメータは、符号化される。
【0022】
前記量子化パラメータ予測子は、下記のように生成される。
【0024】
左側コーディングユニット、上側コーディングユニット及び左上側コーディングユニットの量子化パラメータは、前記順序通りに検索される。前記量子化パラメータ予測子は、一個又は二個の利用可能な量子化パラメータを利用して生成される。例えば、1番目の利用可能な量子化パラメータが前記量子化パラメータ予測子に設定される。または、最初の2個の利用可能な量子化パラメータの平均値を量子化パラメータ予測子に設定し、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。
【0026】
現在ブロックの左側コーディングユニット、上側コーディングユニット及び左上側コーディングユニットが存在しない。しかし、符号化の順序上、現在コーディングユニットの以前コーディングユニットは存在することができる。したがって、現在コーディングユニットに隣接した隣接コーディングユニットと以前コーディングユニットの量子化パラメータが前記量子化パラメータ予測子の生成に使われることができる。前記量子化パラメータは、次の順序、即ち、1)左側隣接コーディングユニットの量子化パラメータ、2)上側隣接コーディングユニットの量子化パラメータ、3)左上側隣接コーディングユニットの量子化パラメータ、及び、4)以前コーディングユニットの量子化パラメータの順に検索される。
【0027】
他の例として、量子化パラメータは、次の順序、即ち、1)左側隣接コーディングユニットの量子化パラメータ、2)上側隣接コーディングユニットの量子化パラメータ、及び、3)以前コーディングユニットの量子化パラメータの順に検索される。
【0028】
少なくとも2個の量子化パラメータが利用可能な場合、前記順序に検索される最初の2個の利用可能な量子化パラメータの平均値を量子化パラメータ予測子に設定し、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。例えば、前記左側及び上側コーディングユニットの量子化パラメータが利用可能な場合、前記左側及び上側量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側及び上側コーディングユニットの量子化パラメータのうち一つのみが利用可能な場合、前記利用可能な量子化パラメータと前記以前コーディングユニットの量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側及び上側コーディングユニットの量子化パラメータが両方とも利用可能でない場合、前記以前コーディングユニットの量子化パラメータが前記量子化パラメータ予測子に設定される。前記平均値は、四捨五入した値である。
【0029】
量子化部1030は、量子化マトリクス及び量子化パラメータを利用して変換ブロックを量子化して量子化ブロックを生成する。量子化ブロックは、逆量子化部1080及びスキャニング部1040に提供される。
【0030】
スキャニング部1040は、前記量子化ブロックにスキャンパターンを適用し、量子化係数をスキャンして1次元の量子化係数成分に変換する。
【0031】
イントラ予測では、イントラ予測モード及び変換ユニットのサイズによって量子化係数の分布が変わる。したがって、スキャンパターンがイントラ予測モード及び変換ユニットのサイズに基づいて決定される。スキャンパターンは、ジグザグスキャン、垂直スキャン及び水平スキャンの中から決定されることができる。ジグザグスキャンは、対角線スキャンに代替されることができる。
【0032】
例えば、変換ユニットのサイズが8×8より小さい又は同じ場合、垂直モード及び前記垂直モードに隣接した予め決められた個数のイントラ予測モードでは水平スキャンが選択され、水平モード及び前記水平モードに隣接した予め決められた個数のイントラ予測モードでは垂直スキャンが選択され、残りのイントラ予測モードではジグザグスキャン又は対角線スキャンが選択される。変換ユニットの大きさが8×8より大きい場合、全てのイントラ予測モードでジグザグスキャン又は対角線スキャンが選択される。
【0033】
インター予測では、予め決められたスキャンパターンが使われる。前記予め決められたスキャンパターンは、ジグザグスキャン又は対角線スキャンである。
【0034】
変換ユニットのサイズが予め決められたサイズより大きい場合、前記量子化ブロックは、複数個のサブセットに分割されてスキャンされる。前記予め決められたサイズは4×4である。サブセットをスキャンするスキャンパターンは、各サブセット内の量子化係数をスキャンするスキャンパターンと同じである。各サブセット内の量子化係数は、逆方向にスキャンされる。サブセットも逆方向にスキャンされる。
【0035】
0でない最後の係数位置を示すパラメータが符号化され、復号器に送信される。前記0でない最後の係数位置は、変換ユニット内の0でない最後の量子化係数の位置を示す。サブセット内の0でない最後の量子化係数の位置を示すパラメータも復号器に送信されることができる。
【0036】
逆量子化部1080は、前記量子化係数を逆量子化する。逆変換部1090は、逆量子化された係数を逆変換して残差信号を生成する。
【0037】
加算部1130は、逆変換部1090により生成される残差信号とイントラ予測部1060又はインター予測部1070により生成される予測信号を加える。減算部1120は、原本サンプルから予測サンプルを減算して残差信号を生成する。
【0038】
後処理部1100は、デブロッキングフィルタリング(deblocking filtering)過程、サンプル適応的オフセット(sample adaptive offset)過程及び適応的ループフィルタリング(adaptive loop filtering)過程を実行する。
【0039】
デブロッキングフィルタリング過程は、復元ピクチャ内に示すブロッキングアーチファクトを除去するために実行される。
【0040】
サンプル適応的オフセット過程は、デブロッキングフィルタリング過程後に原本サンプルと復元サンプルとの間の差を減らすために実行される。サンプル適応的オフセット過程を実行するかどうかは、ピクチャ又はスライス毎に決定される。ピクチャ又はスライスは、複数個のオフセット領域に分けられ、各領域に対してオフセットタイプが決定されることができる。4個のエッジオフセットタイプと2個のバンドオフセットタイプが存在する。オフセットタイプがエッジオフセットタイプのうち一つの場合、前記オフセット領域内の各サンプル毎にエッジタイプが決定される。前記エッジタイプは、現在サンプルと2個の隣接したサンプルを比較して決定される。
【0041】
適応的ループフィルタリング過程は、フィルタ係数を取得するために復元された映像と原本映像を比較して実行される。フィルタ係数は、4×4ブロック又は8×8ブロック内の全てのサンプルに適用される。したがって、ループフィルタのサイズ及び係数は、コーディングユニット単位に変更されることができる。
【0042】
ピクチャ格納部1110は、後処理部1100から復元ピクチャを受信し、それらをメモリに格納する。ピクチャは、フレームベースのピクチャ又はフィールドベースのピクチャである。
【0043】
インター予測部1070は、ピクチャ格納部1110に格納されている一つ以上の参照ピクチャを利用して動き予測を実行し、一つ以上の参照ピクチャを特定する一つ以上の参照ピクチャインデックスと一つ以上の動きベクトルを決定する。インター予測部1070は、前記一つ以上の参照ピクチャインデックス及び一つ以上の動きベクトルを利用して予測ブロックを生成する。
【0044】
イントラ予測部1060は、現在予測ユニットのイントラ予測モードを決定し、前記イントラ予測モードを利用して予測ブロックを生成する。
【0045】
エントロピー符号化部1050は、スキャニング部1040から受信される量子化された係数成分、イントラ予測部1060から受信されるイントラ予測情報、インター予測部1070から受信される動き情報などをエントロピー符号化する。
【0046】
図2は、本発明による動画復号化装置2000を説明するブロック図である。
【0047】
図2に示すように、本発明による動画復号化装置2000は、エントロピー復号化部2010、逆スキャニング部2020、逆量子化部2030、逆変換部2040、イントラ予測部2050、インター予測部2060、後処理部2070、ピクチャ格納部2080及び加算部2090を含む。
【0048】
エントロピー復号化部2010は、受信されたビットストリームからイントラ予測情報、インター予測情報及び量子化係数成分を抽出してエントロピー復号化する。エントロピー復号化部2010は、インター予測情報をインター予測部2060に送信し、イントラ予測情報をイントラ予測部2050に送信し、量子化係数成分を逆スキャニング部2020に送信する。
【0049】
逆スキャニング部2020は、逆スキャンパターンを利用して前記量子化係数成分を2次元の量子化ブロックに変換する。
【0050】
イントラ予測では、イントラ予測モード及び変換ユニットのサイズに基づいて逆スキャンパターンが選択される。逆スキャンパターンは、ジグザグスキャン、垂直スキャン及び水平スキャンの中から選択されることができる。ジグザグスキャンは、対角線スキャンに代替されることができる。
【0051】
例えば、変換ユニットのサイズが8×8より小さい又は同じ場合、垂直モード及び前記垂直モードに隣接した予め決められた個数のイントラ予測モードでは水平スキャンが選択され、水平モード及び前記水平モードに隣接した予め決められた個数のイントラ予測モードでは垂直スキャンが選択され、残りのイントラ予測モードではジグザグスキャン又は対角線スキャンが選択される。変換ユニットの大きさが8×8より大きい場合、全てのイントラ予測モードでジグザグスキャン又は対角線スキャンが選択される。
【0052】
インター予測では、予め決められたスキャンパターンが使われる。前記予め決められたスキャンパターンは、ジグザグスキャン又は対角線スキャンである。
【0053】
変換ユニットのサイズが予め決められたサイズより大きい場合、前記量子化係数成分は、サブセット単位に逆スキャンされて量子化ブロックを構成する。前記サブセットは、予め決められたサイズを有する。前記予め決められたサイズは、4×4である。変換ユニットのサイズと前記予め決められたサイズが同じ場合、前記量子化係数成分が逆スキャンされて変換ユニットを構成する。前記量子化係数成分がサブセット単位に逆スキャンされる時、同じ逆スキャンパターンが各サブセットの量子化係数成分に適用されることができる。
【0054】
複数個のサブセットは、逆方向に逆スキャンされる。前記量子化係数成分も逆方向に逆スキャンされる。サブセットを構成するために、量子化係数成分に適用される逆スキャンパターンと複数個の生成された逆スキャンサブセットに適用される逆スキャンパターンが同じである。逆スキャニング部2020は、変換ユニットの0でない最後の量子化係数の位置を示すパラメータを使用して逆スキャンを実行する。
【0055】
逆量子化部2030は、エントロピー復号化部2010から差分量子化パラメータを受信し、量子化パラメータ予測子を生成して現在コーディングユニットの量子化パラメータを生成する。
【0056】
前記量子化パラメータ予測子は、下記のように生成される。
【0058】
左側コーディングユニット、上側コーディングユニット及び左上側コーディングユニットの量子化パラメータは、前記順序通りに検索される。前記量子化パラメータ予測子は、一個又は二個の利用可能な量子化パラメータを利用して生成される。例えば、1番目の利用可能な量子化パラメータが前記量子化パラメータ予測子に設定される。または、最初の2個の利用可能な量子化パラメータの平均値を量子化パラメータ予測子に設定し、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。
【0060】
現在ブロックの左側コーディングユニット、上側コーディングユニット及び左上側コーディングユニットが存在しない。しかし、符号化の順序上、現在コーディングユニットの以前コーディングユニットは存在することができる。したがって、現在コーディングユニットに隣接した隣接コーディングユニットと以前コーディングユニットの量子化パラメータが前記量子化パラメータ予測子の生成に使われることができる。前記量子化パラメータは、次の順序、即ち、1)左側隣接コーディングユニットの量子化パラメータ、2)上側隣接コーディングユニットの量子化パラメータ、3)左上側隣接コーディングユニットの量子化パラメータ、及び、4)以前コーディングユニットの量子化パラメータの順に検索される。
【0061】
他の例として、量子化パラメータは、次の順序、即ち、1)左側隣接コーディングユニットの量子化パラメータ、2)上側隣接コーディングユニットの量子化パラメータ、及び、3)以前コーディングユニットの量子化パラメータの順に検索される。
【0062】
少なくとも2個の量子化パラメータが利用可能な場合、前記順序に検索される最初の2個の利用可能な量子化パラメータの平均値を量子化パラメータ予測子に設定し、一つの量子化パラメータのみが利用可能な場合は、前記利用可能な量子化パラメータが量子化パラメータ予測子に設定される。例えば、前記左側及び上側コーディングユニットの量子化パラメータが利用可能な場合、前記左側及び上側量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側及び上側コーディングユニットの量子化パラメータのうち一つのみが利用可能な場合、前記利用可能な量子化パラメータと前記以前コーディングユニットの量子化パラメータの平均値が前記量子化パラメータ予測子に設定される。前記左側及び上側コーディングユニットの量子化パラメータが両方とも利用可能でない場合、前記以前コーディングユニットの量子化パラメータが前記量子化パラメータ予測子に設定される。前記平均値は、四捨五入した値である。
【0063】
逆量子化部2030は、前記差分量子化パラメータと前記量子化パラメータ予測子を加えて現在コーディングユニットの量子化パラメータを生成する。現在コーディングユニットの差分量子化パラメータが符号器側から受信されない場合、前記差分量子化パラメータは、0に設定される。前記量子化パラメータは、量子化ユニット毎に生成される。
【0064】
逆量子化部2030は、量子化ブロックを逆量子化する。
【0065】
逆変換部2040は、前記逆量子化されたブロックを逆変換して残差ブロックを生成する。逆変換タイプは、予測モード(イントラ予測モード及びインター予測モード)及び変換ユニットのサイズに基づいて決定される。
【0066】
加算部2090は、前記残差ブロックと予測ブロックを加えて復元サンプルを生成する。
【0067】
イントラ予測部2050は、エントロピー復号化部2010から受信されたイントラ予測情報に基づいて現在予測ユニットのイントラ予測モードを復元し、前記復元されたイントラ予測モードに応じて予測ブロックを生成する。
【0068】
インター予測部2060は、エントロピー復号化部2010から受信されるインター予測情報に基づいて一つ以上の参照ピクチャインデックスと一つ以上の動きベクトルを復元し、前記一つ以上の参照ピクチャインデックスと一つ以上の動きベクトルを利用して予測ブロックを生成する。
【0069】
後処理部2070の動作は、
図1の後処理部1100の動作と同様である。
【0070】
ピクチャ格納部2080は、後処理部2070から後処理されたピクチャを格納する。
【0071】
図3は、本発明によるデブロッキングフィルタリング過程を説明するフローチャートである。
【0072】
デブロッキングフィルタリング過程は、
図1に示す動画符号化装置の後処理部1100及び
図2に示す動画復号化装置の後処理部2070により実行される。
【0073】
デブロッキングフィルタリングがスライスに実行されると決定されると、デブロッキングフィルタリング過程が前記スライスに適用される。動画復号化装置は、デブロッキングフィルタリングが実行されるかどうかをスライス毎に決定するために、ビットストリームから受信されたフラグ(diable_deblocking_filter_flag)を利用する。
【0074】
デブロッキングフィルタリングは、コーディングユニット単位に実行される。まず、コーディングユニットの左側エッジ部から始まって右側方向に垂直エッジがフィルタリングされる。次に、コーディングユニットの上側エッジ部から始まって下側方向に水平エッジがフィルタリングされる。
【0075】
デブロッキングフィルタは、予測ユニットエッジと変換ユニットエッジにのみ適用される。予測ユニット又は変換ユニットのサイズの幅又は高さが8−サンプル長さより小さい場合、デブロッキングフィルタは、8×8サンプルグリッドに置かれているエッジに対してのみ適用される。
【0076】
8×8サンプルグリッドに置かれている4−サンプルエッジに対して境界強度(bS)が決定される(S110)。
【0077】
図4は、本発明による境界強度(bS)を決定するための方法を説明する概念図である。
【0078】
図4に示すように、境界強度は、8×8サンプルグリッドに置かれている4−サンプルエッジに対して決定される。そして、連続的な2個の境界強度を利用して8×8ブロックエッジに対して境界強度が決定される。
【0079】
したがって、本発明によると、境界強度を決定するために要求される演算複雑度は、標準化が進行中であるHEVCに比べて50%が減少する。また、境界強度を決定するために要求されるメモリ容量と帯域幅も50%を減らすことができる。結果的に、本発明は、映像品質の劣化無しでハードウェア及びソフトウェアの複雑度を減らすようになる。
【0080】
図5は、本発明による4−サンプルエッジを説明する概念図である。
図5に示すように、4−サンプルエッジは、サンプルp0を含むPブロックとサンプルq0を含むQブロックとの間に位置する。サンプルp0は、サンプルp0
0〜p0
3のうち一つに対応し、サンプルq0は、サンプルq0
0〜q0
3のうち一つに対応する。ブロックPとQは、予測ユニット又は変換ユニットである。
【0081】
前記境界強度は、下記のように決定される。境界強度は、4−サンプルエッジ毎に決定される。
【0082】
サンプルp0を含む予測ユニット又はサンプルq0を含む予測ユニットがイントラ予測符号化された場合は、4−サンプルエッジの境界強度が2に設定される。4−サンプルエッジは、予測ユニットのエッジである。即ち、ブロックPとブロックQがインター符号化されると、境界強度は、0又は1に設定される。
【0083】
下記の条件のうち一つ以上を満たす場合、境界強度は、1に設定される。
【0084】
1)4−サンプルエッジが変換ユニットエッジであり、サンプルp0を含む変換ユニット又はサンプルq0を含む変換ユニットが少なくとも一つの0でない変換係数を含む場合。
【0085】
2)4−サンプルエッジが予測ユニットエッジであり、サンプルp0を含む予測ユニット及びサンプルq0を含む予測ユニットがインター予測符号化され、サンプルp0を含む予測ユニット及びサンプルq0を含む予測ユニットが互いに異なる参照ピクチャを有し、又は互いに異なる個数の動きベクトルを有する場合。
【0086】
3)サンプルp0を含む予測ユニット及びサンプルq0を含む予測ユニットがインター予測符号化され、サンプルp0を含む予測ユニット及びサンプルq0を含む予測ユニットが各々一つの動きベクトルを有し、前記動きベクトルの水平又は垂直成分間の差の絶対値が予め決められた値(例えば、1サンプル)より大きい又は同じ場合。前記エッジは、LCUの水平境界の一部ではない。
【0087】
4)サンプルp0を含む予測ユニット及びサンプルq0を含む予測ユニットがインター予測符号化され、サンプルp0を含む予測ユニット及びサンプルq0を含む予測ユニットが各々2個の動きベクトルを有し、サンプルp0を含む予測ユニット及びサンプルq0を含む予測ユニットが少なくとも一つの同じ参照ピクチャを有し、同じ参照ピクチャに対応する2個の動きベクトルの水平又は垂直成分間の差の絶対値が前記予め決められた値より大きい又は同じ場合。前記エッジは、LCUの水平境界の一部ではない。
【0088】
前述したように、4−サンプルエッジが8×8サンプルグリッドに置かれていない場合、境界強度は、0に設定される。
【0089】
一方、前記エッジがLCU水平境界であり、サンプルp0を含む予測ユニットがLCU水平境界の上側に位置すると、サンプルp0を含む予測ユニットの動き情報は、サンプルp0を含む予測ユニットの大きさ及び/又は現在予測ユニットの位置に基づいて、サンプルp0を含む予測ユニットの左側又は上側隣接予測ユニットの動き情報に代替されることができる。
【0090】
次に、4−サンプルエッジにデブロッキングフィルタリングが実行されるかどうかが決定される(S120)。
【0091】
各4−サンプルエッジに対して、下記の二つの条件を満たす場合、デブロッキングフィルタリングが実行される。
【0094】
bSは、境界強度を示す。変数βの値は、境界量子化パラメータQP
Bに基づいて決定される。
【0095】
前記変数dは、下記のように定義される。
【0096】
1)d=d
p0+d
q0+d
p3+d
q3
【0097】
2)d
pk=|p2
k−2・p1
k+p0
k|であり、d
qk=|q2
k−2・q1
k+q0
k|
【0098】
次に、デブロッキングフィルタリングが4−サンプルエッジに適用されると決定されると、ストロングフィルタ(strong filter)とウィークフィルタ(weak filter)の中から一つのデブロッキングフィルタが選択される。しかし、デブロッキングフィルタリングが4−サンプルエッジに適用されないと決定されると、前記エッジに対するデブロッキングフィルタリング過程が終了される。
図5に示すように、4−サンプルエッジに対して一つのフィルタが選択される。
【0099】
下記の条件を満たす場合、ストロングフィルタが選択される。
【0101】
2)|p3
i−p0
i|+|q3
i−q0
i|<(β>>3) for each i、i=0,3
【0102】
3)|p0
i−q0
i|<(5*t
c+1)>>1 for each i、i=0,3
【0104】
1)d
i<(β>>1) for each i、i=0,3
【0105】
2)|p3
i−p0
i|+|q3
i−q0
i|<(β>>3) for each i、i=0,3
【0106】
3)|p0
i−q0
i|<(5*t
c+1)>>1 for each i、i=0,3
【0107】
そうでない場合、ウィークフィルタが選択される。変数t
cは、前記境界量子化パラメータQP
Bに基づいて決定される。
【0108】
次に、デブロッキングフィルタが選択されると、前記エッジは、前記デブロッキングフィルタを使用してフィルタリングされる(S140)。
【0109】
ストロングフィルタは、下記の通りである。
【0110】
p
0′=(p
2+2*p
1+2*p
0+2*q
0+q
1+4)>>3)
【0111】
p
1′=(p
2+p
1+p
0+q
0+2)>>2
【0112】
p
2′=(2*p
3+3*p
2+p
1+p
0+q
0+4)>>3
【0113】
q
0′=(p
1+2*p
0+2*q
0+2*q
1+q
2+4)>>3
【0114】
q
1′=(p
0+q
0+q
1+q
2+2)>>2
【0115】
q
2′=(p
0+q
0+q
1+3*q
2+2*q
3+4)>>3
【0116】
ウィークフィルタは、下記の通りである。
【0120】
△p=Clip3(−(t
C>>1)、t
C>>1、(((p
2+p
0+1)>>1)−p
1+△)>>1)
【0122】
△q=Clip3(−(t
C>>1)、t
C>>1、(((q
2+q
0+1)>>1)−q
1−△)>>1)
【0124】
変数β及びt
Cは、前記境界量子化パラメータ(QP
B)により決定され、前記境界量子化パラメータ(QP
B)が増加するほど同じ又は大きくなる。変数βとt
C及び前記境界量子化パラメータ間の関係は、テーブルとして定義される。
【0125】
前記境界量子化パラメータ(QP
B)は、サンプルp0を含むPブロックの量子化パラメータ(QP
P)とサンプルq0を含むQブロックの量子化パラメータ(QP
Q)の平均値である。前記平均値は、四捨五入した値である。PブロックとQブロックのうち少なくとも一つがイントラ符号化されると、前記境界量子化パラメータ(QP
B)が1ずつ増加するほど、前記変数t
Cは、0、1又は2ずつ増加する。
【0126】
以下、本発明によるサンプル適応的オフセット過程に対して説明する。サンプル適応的オフセット過程は、
図1に示す動画符号化装置1000の後処理部1100及び
図2に示す動画復号化装置2000の後処理部2070により実行される。
【0127】
図6は、本発明によるピクチャを複数個の領域に分割する方法を説明する概念図である。SAOタイプは、各領域毎に定義される。
図6に示すように、ピクチャをクワッドツリー構造に分割して前記領域が生成される。前記領域は、LCUであってもよい。三つの種類のSAOタイプが存在する。SAOタイプが最初のタイプ(OFF)の場合、対応する領域にはSAO過程が実行されない。SAOタイプがバンドオフセット(BO)を示す場合、対応領域内の各サンプルにバンドオフセットが加えられる。SAOタイプがエッジオフセット(EO)の場合、エッジインデックスにより決定されるエッジオフセットが対応する領域内の各サンプルに加えられる。
【0128】
図7は、本発明によるエッジタイプを説明する概念図である。
【0129】
図7に示すように、エッジオフセットには4個のエッジタイプが存在する。前記エッジタイプは、エッジインデックスを誘導するために使われる隣接サンプルの位置により決定される。1番目のエッジタイプは、1D 0−degreeエッジタイプであり、2番目のエッジタイプは、1D 90−degreeエッジタイプであり、3番目のエッジタイプは、1D 135−degreeエッジタイプであり、4番目のエッジタイプは、1D 90−degreeエッジタイプである。サンプルCは、現在サンプルを示し、斜線で表示された2個のサンプルは、エッジタイプによって決定される2個の隣接サンプルを示す。
【0130】
前記オフセットタイプが前記四つのオフセットタイプのうち一つを示す時、本発明によるサンプル適応的オフセット過程は、下記のように行われる。
【0131】
第一に、現在サンプルと2個の隣接サンプルとの間の差分値を利用してエッジインデックスが誘導される。2個の隣接サンプルは、現在領域のエッジオフセットタイプによって決定される。現在領域内の各サンプルに対してエッジインデックスが誘導される。エッジインデックスは、下記のように誘導される。
【0132】
edgeIdx=2+sign3(recPicture(x)−recPicture(x−1))+sign3(recPicture(x)−recPicture(x+1))
【0133】
関数sign3(y)は、y値が0より大きい場合に1であり、y値が0より小さい場合に−1であり、及びy値が0の場合に0の値を有する。
【0134】
変数recPicture(x)は、現在サンプル値を示し、変数recPicture(x−1)及び変数recPicture(x+1)は、2個の隣接サンプル値を示す。前記2個の隣接サンプルは、現在領域のエッジオフセットタイプにより決定される。
【0135】
図8は、本発明によるエッジインデックスを説明する概念図である。
図8において、水平軸はサンプル位置を示し、垂直軸はサンプル値を示す。
【0136】
図8に示すように、前記2個の隣接サンプル値が両方とも現在サンプル値より大きい場合、前記エッジインデックスは、0に設定され、前記2個の隣接サンプル値のうち一つは、現在サンプル値より大きく、他の一つは、現在サンプル値と同じ場合、前記エッジインデックスは、1に設定され、前記2個の隣接サンプル値のうち一つは、現在サンプル値より大きく、他の一つは、現在サンプル値より小さい場合、前記エッジインデックスは、2に設定され、前記2個の隣接サンプル値のうち一つは、現在サンプル値より小さく、他の一つは、現在サンプル値と同じ場合、前記エッジインデックスは、3に設定され、前記2個の隣接サンプル値が両方とも現在サンプル値より小さい場合、前記エッジインデックスは、4に設定される。前記2個の隣接サンプル値が両方とも現在サンプル値と同じ場合も、2に設定される。
【0137】
一方、前記2個の隣接サンプルのうち一つが他のLCUに属すると、前記現在サンプルにオフセットが適用されない、又は現在LCU内の他の隣接サンプルが前記他のLCUに属する隣接サンプルの代わりに利用されることができる。
【0138】
次に、エッジオフセットが現在サンプルに以下のように加えられる。
【0139】
recSaoPicture(x)=recPicture(x)+Edge_Offset[edgeIdx]
【0140】
エッジオフセットは、エッジインデックスに基づいて決定される。動画復号化装置では、動画符号化装置1000から送信されたビットストリームから前記エッジオフセットを取得する。動画符号化装置1000は、四つ又は五つの種類のエッジオフセットを送信することができる。四つの種類のエッジオフセットが送信されると、前記四つの種類のエッジオフセットは、各々、エッジインデックス0、1、3、4に対応し、エッジオフセットは、0と見なされることができる。
【0141】
エッジオフセットは、正の値又は負の値を有することができる。前記領域が大きくなるにつれて四つの種類のエッジオフセットを送信するために要求されるビット量が増加する。本発明によるビット量を減少させる方法は、下記の通りである。
【0143】
エッジインデックス0には正のオフセットが適用され、エッジインデックス4には負のオフセットが適用される。即ち、前記2個のエッジオフセットの絶対値のみが送信されてビット量を減らすことができる。エッジインデックス1と3に対してはエッジオフセットの絶対値と符号が送信される。
【0145】
エッジインデックス0及び1に正のオフセットが適用され、エッジインデックス3及び4に負のオフセットが適用される。即ち、四つの種類のオフセットの絶対値のみが送信されてビット量を減らすことができる。
【0146】
追加に、現在サンプルと一つの隣接サンプルとの差分値が閾値より大きい場合、現在サンプルにオフセットが加えられない。例えば、現在サンプルと一つの隣接サンプルとの差分値が前記閾値より大きい場合、オフセット値は、0に設定される。そうでない場合、正のオフセット又は負のオフセットが使われる。
【0147】
以上、実施例を参照して説明したが、該当技術分野の熟練された当業者は、特許請求の範囲に記載された本発明の思想及び領域から外れない範囲内で本発明を多様に修正及び変更可能であることを理解することができる。