(57)【要約】  コーディング情報を圧縮または圧縮解除するためにビデオ信号のコーディング情報をコンテキストモデリングする方法が提供される。エンハンスト層のビデオ信号のコーディング情報の確率コーディングに対する関数の初期値は基本層の対応するビデオ信号のコーディング情報に基礎して決定される。【選択図】図１
2009500941.tif 000002
【特許請求の範囲】
【請求項１】
複数のビデオ層に関する情報を含むビデオ信号をデコーディングする方法であって、
現在層に対する基本層内のブロックのブロックパターン情報及び残余予測指示子情報に基づいて、前記現在層内のブロックの残余予測指示子情報を獲得するステップを含むことを特徴とする方法。
【請求項２】
前記現在層内のブロックの前記残余予測指示子情報は、前記現在層内のブロックのブロックパターン情報及び前記残余予測指示子情報に基づいて、適応性２進算術符号化方法により獲得される、請求項１に記載の方法。
【請求項３】
前記残余予測指示子情報の獲得ステップは、前記現在層内のブロックのブロックパターン情報及び前記残余予測指示子情報に基づいて、前記適応性２進算術符号化方法に対するインデックス変数情報を決定するステップを含む、請求項２に記載の方法。
【請求項４】
前記残余予測指示子情報の獲得ステップは、前記決定されたインデックス変数情報に基づいて、前記現在層内のブロックの残余予測指示子情報を獲得するステップを含む、請求項３に記載の方法。
【請求項５】
前記インデックス変数情報は、前記基本層内のブロックのブロックパターン情報及び前記残余予測指示子情報の和と１の中で小さい値に決定される、請求項３に記載の方法。
【請求項６】
前記インデックス変数情報は、前記基本層内のブロックのブロックパターン情報及び前記残余予測指示子情報の和になるように決定される、請求項３に記載の方法。
【請求項７】
コーディング情報を圧縮または圧縮解除するためにビデオ信号のコーディング情報をモデリングする方法であって、
第１の層と異なる第２の層のコーディング情報と、前記第１の層と前記第２の層間の相関を示すコーディング情報と、の中で少なくとも一つのコーディング情報に基づいて、前記第１の層内の映像ブロックのコーディング情報の確率コーディングに対する関数を決定するステップを含むことを特徴とする方法。
【請求項８】
前記関数を決定するステップは、イントラモードでコーディングされた映像データまたは前記映像ブロックに対応する前記第２の層内のブロックの動きベクターが前記映像ブロックに使用されるか否かを示す情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項９】
前記関数を決定するステップは、前記映像ブロックに対応する前記第２の層内のブロックの動きベクター情報を前記映像ブロックが利用するにおいてリファインメントが必要であるか否かを示す情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１０】
前記関数を決定するステップは、前記映像ブロックの残余データが前記映像ブロックに対応する前記第２の層内のブロックの残余データから予測されたデータを利用してコーディングされるか否かを示す情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１１】
前記関数を決めるステップは、前記映像ブロックの映像データが前記映像ブロックに対応する前記第２の層内のイントラモードブロックの映像データに基づいた差データにコーディングされるか否かを示す情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１２】
前記関数を決定するステップは、前記映像ブロックに対応する前記第２の層内のブロックの動きベクター情報を利用して前記映像ブロックの獲得のために要求される精製値を示す情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１３】
前記関数を決定するステップは、前記映像ブロックに対応する前記第２の層内のブロックの動きベクターが前記映像ブロックの予測動きベクターに使用されるか否かを示す情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１４】
前記関数を決定するステップは、前記映像ブロックのコーディング情報に対応する、前記映像ブロックに対応するブロックのコーディング情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１５】
前記関数を決定するステップは、前記映像ブロックに対応するブロックがインタモードまたはイントラモードでコーディングされるか否かを示す情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１６】
前記関数を決定するステップは、前記映像ブロックに対応する前記第２の層内のブロックの区画情報またはブロックサイズが、前記映像ブロックの区画情報またはブロックサイズと同一であるか否かに基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１７】
前記関数を決定するステップは、前記映像ブロックに対応する前記第２の層内のブロックの量子化パラメーター値、または前記第２の層内のブロックの量子化パラメーター値と前記映像ブロックの量子化パラメーター値との間の差に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１８】
前記関数を決定するステップは、前記映像ブロックの動きベクターと、前記映像ブロックに対応する前記第２の層内のブロックの動きベクターと、の間の差に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項１９】
前記関数を決定するステップは、前記映像ブロックの基準画像を示す値が前記映像ブロックに対応する前記第２の層内のブロックの基準画像を示す値と同一であるか否かに基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項２０】
前記関数を決定するステップは、前記映像ブロックの空間解像度が前記映像ブロックに対応する前記第２の層内のブロックの空間解像度と同一であるか否かに基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項２１】
前記関数を決定するステップは、前記映像ブロックに対応する前記第２の層内に０以外の値が存在するか否かを示すブロックパターン情報に基づいて、確率コーディングに対する前記関数の初期値を決定するステップを含む、請求項７に記載の方法。
【請求項２２】
エンコードされる前記コーディング情報は、前記映像ブロックの残余データが前記映像ブロックに対応する前記第２の層内のインタモードブロックの残余データに基づいた差データでコーディングされるか否かを示すフラッグであり、前記ブロックパターン情報は、前記第２の層内の輝度ブロックと連関される、請求項２１に記載の方法。
【請求項２３】
前記映像ブロックのコーディング情報は、前記映像ブロックの残余データが前記映像ブロックに対応する前記第２の層内のインタモードブロックの残余データに基づいた差データでコーディングされるか否かを示すフラッグであり、前記ブロックパターン情報は、前記第２の層内のブロックのクロミナンスブロックと連関される、請求項２１に記載の方法。
【請求項２４】
前記コーディング情報は、前記第２の層内のブロックの量子化パラメーター値である、請求項７に記載の方法。
【請求項２５】
前記第１の層と前記第２の層との間の相関を示す前記コーディング情報は、前記第１の層の量子化パラメーター値と前記第２の層の量子化パラメーター値との間の差である、請求項７に記載の方法。
【請求項２６】
前記第１の層と前記第２の層との間の相関を示す前記コーディング情報は、前記第１の層と前記第２の層との間の空間解像度比である、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コーディング情報を圧縮または圧縮解除するためにエントロピー符号化を利用してビデオ信号のコーディング情報をモデリングする方法に関する。
【背景技術】
【０００２】
ＳＶＣ(Ｓｃａｌａｂｌｅ Ｖｉｄｅｏ Ｃｏｄｉｎｇ)は、エンコードされた画像シーケンスの一部(特に、フレームの全体シーケンスから断続的に選択されたフレームの部分シーケンス)をデコーディングすることができ、低い映像品質のビデオを表示するために使用できるとともに、最上位映像品質の画像シーケンスでビデオをエンコードするコーディング方式である。
【０００３】
たとえ、スケーラブル符号化方式(ｓｃａｌａｂｌｅ ｃｏｄｉｎｇ ｓｃｈｅｍｅ)によってエンコードされた画像のシーケンスの一部を受信及び処理することにより低い映像品質のビデオの表示が可能であっても、ビットレートが低くなる場合、映像品質が大幅減少される問題点が相変らず存在する。このような問題に対する一つの対策は、低いビットレートに補助画像シーケンス、例えば、小型スクリーンサイズ及び/または低いフレームレートを有する画像のシーケンスを提供することである。
【０００４】
補助画像シーケンスは基本層で指称され、基本画像シーケンスはエンハンスト層(ｅｎｈａｎｃｅｄ ｌａｙｅｒ)とされる。また、デコーダで使用される時、基本画像シーケンスは基本層を基礎としてデコーディングされる現在層で指称される。基本層が提供される時、層間予測はコーディング係数を増加させるように実行される。
【０００５】
ＳＶＣは、ＭＰＥＧ−４ビデオコーデック(ｃｏｄｅｃ)、または“Ｈ.２６４”で指称されるＭＰＥＧ−４ＡＶＣ(Ａｄｖａｎｃｅｄ Ｖｉｄｅｏ Ｃｏｄｅｃ)と結合して使用することができる。隣接したコーディング情報によってエントロピー符号化方式である２進算術符号化を適応的に適用するため、ビデオコーデックのコーディングデータ(例えば、シンタックス(ｓｙｎｔａｘ)情報)をエンコーディングまたはデコーディングする方法を定義する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、本発明は上述したような従来技術の問題点を解決するためになされたもので、その目的は、スケーラブル符号化方式がＭＰＥＧ−４ ＡＶＣと結合される時、ＡＶＣのエントロピー符号化方式であるＣＡＢＡＣ(Ｃｏｎｔｅｘｔ Ａｄａｐｔｉｖｅ Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ)を利用してデータ圧縮レートを増加させるために、コーディング情報のコンテキストモデリング(ｃｏｎｔｅｘｔ ｍｏｄｅｌｉｎｇ)を実行するための方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の目的は、モデリング方法を提供することにより達成でき、ここで、第１の層(例えば、現在層)内の映像ブロックのコーディング情報の確率コーディングのための関数の初期値は、第１の層とは異なる第２の層(例えば、基本層)のコーディング情報に基づいて決定される。
【０００８】
本発明の一実施形態において、コーディング情報の確率コーディングのための関数の初期値を決定するために使用できるフラッグ(ｆｌａｇ)は、イントラモード(ｉｎｔｒａ ｍｏｄｅ)でコーディングされた映像データまたは映像ブロックに対応する第２の層内のブロックの動きベクター情報が映像ブロックに使用されるか否かを示すフラッグ“ｂａｓｅ ｍｏｄｅ ｆｌａｇ”と、映像ブロックに対応する第２の層内のブロックの動きベクター情報を利用する映像ブロックにリファインメント(ｒｅｆｉｎｅｍｅｎｔ)が必要であるか否かを示すフラッグ“ｂａｓｅ ｍｏｄｅ ｒｅｆｉｎｅｍｅｎｔ ｆｌａｇ”と、映像ブロックの残余データが映像ブロックに対応する第２の層内のブロックの残余データから予測されるデータを利用してコーディングされるか否かを示すフラッグ“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”と、映像ブロックの映像データが映像ブロックに対応する第２の層内のイントラモードブロックの映像データに基づいた差データでコーディングされるか否かを示すフラッグ“ｉｎｔｒａ ｂａｓｅ ｆｌａｇ”と、映像ブロックに対応する第２の層内のブロックの動きベクター情報を利用して映像ブロックの動きベクターを獲得するために要求されるリファインメント値を示すフラッグ“ｍｖｄ ｒｅｆ ＩＸ”と、映像ブロックに対応する第２の層内のブロックの動きベクターが映像ブロックの予測動きベクターに使用できるか否かを示すフラッグ“ｍｏｔｉｏｎ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ ＩＸ”と、を含む。
【０００９】
本発明の他の実施形態において、映像ブロックに対応する第２の層内のブロックのコーディング情報は第２の層のコーディング情報として使われる。第２の層内のブロックのコーディング情報は映像ブロックのコーディング情報に対応する。
【００１０】
本発明の他の実施形態において、映像ブロックに対応する第２の層内のブロックがインタモードまたはイントラモードでコーディングされるか否かを示す情報は、第２の層のコーディング情報として使われる。
【００１１】
本発明の他の実施形態において、初期値は、映像ブロックに対応する第２の層内のブロックの区画情報が映像ブロックの区画情報と同一であるか否かに基づいて決定される。
【００１２】
本発明の他の実施形態において、初期値は、映像ブロックに対応する第２の層の量子化パラメータ値、または第２の層内のブロックの量子化パラメーター値と映像ブロックの量子化パラメータ値との間の差に基づいて決定される。
【００１３】
本発明の他の実施形態において、初期値は、映像ブロックの動きベクターと映像ブロックに対応する第２の層内のブロックの動きベクターとの間の差に基づいて決定される。
【００１４】
本発明の他の実施形態において、初期値は、映像ブロックの基準画像を示す値が映像ブロックに対応する第２の層内のブロックの基準画像を示す値と同一であるか否かに基づいて決定される。
【００１５】
本発明の他の実施形態において、初期値は、映像ブロックの空間解像度が映像ブロックに対応する第２の層内のブロックの空間解像度と同一であるか否かに基づいて決定される。
【００１６】
本発明の他の実施形態において、０ではない値が映像ブロックに対応する第２の層内のブロックに存在するか否かを示すブロックパターン情報は、第２の層のコーディング情報として使われる。
【００１７】
本発明の他の実施形態において、初期値を決定するために、２個の定数“ｍ”及び“ｎ”は、第２の層のコーディング情報に基づいて選択され、中間値は、選択された定数“ｍ”及び“ｎ”と、第２の層のコーディングと関連された情報(例えば、第２の層の量子化パラメータ値、第１及び第２の層の量子化パラメータ値間の差、または第１及び第２の層間の空間解像度比)に基づいて決定され、初期確率値及びコーディング情報のＭＰＳは、中間値が所定値より大きいか否かに基づいて決定される。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の好ましい実施の形態について、添付図面を参照しつつ詳細に説明する。
【００１９】
図１は、本発明の好ましい実施形態によるエンハンスト層のＣＡＢＡＣ実行器のブロック図である。図１に示したＣＡＢＡＣ実行器は、２進化器１０１、コンテキストモデラー(ｃｏｎｔｅｘｔ ｍｏｄｅｌｅｒ)１０２、及び算術コーダー１１０を含む。２進化器１０１は特定方式によって入力非２進値コーディング情報を２進化する。特に、２進化器１０１は、図１に示したように、非２進値シンタックス要素(ｓｙｎｔａｘ ｅｌｅｍｅｎｔ)を２進列(ｂｉｎ  ｓｔｒｉｎｇ)に変換する。コンテキストモデラー１０２は、同一層(本実施例ではエンハンスト層)内の隣接ブロックのコーディング情報だけではなく、２進値コーディング情報と相関された基本層コーディング情報または層間関係情報１０に基づいて、２進値コーディング情報の各ビットをモデリングする。算術コーダー１１０はセットモデルに基づいて入力ビット上で算術コーディングを実行する。
【００２０】
算術コーダー１１０は、コンテキストモデラー１０２によりモデリングされた変数(特に、確率関数及び確率関数の初期値)に基づいてコーディング情報のビット上で算術コーディングを実行するレギュラーコーディングエンジン１０３と、コーディング情報のビット０及び１がほとんど同一な発生確率を有するので、モデリングから利得がないコーディング情報上で算術コーディングを実行するバイパス(ｂｙｐａｓｓ)コーディングエンジン１０４と、を含む。
【００２１】
入力コーディング情報と関連された本発明は、モデリングされた変数に基づいて算術コーディング手続きに直接関連されない。したがって、本発明の理解のために必須的ではない、算術コーダー１１０と連関されたビット圧縮(エントロピーコーディング)に関する説明は省略する。
【００２２】
入力コーディング情報が非２進値である場合、図１のＣＡＢＡＣ実行器は、２進化器１０１を通じて入力コーディング情報を２進化する。図２は、２進化の例を示す。図２の例で使用されたコーディング情報はマクロブロックタイプ(ｍａｃｒｏｂｌｏｃｋ ｔｙｐｅｓ：ｍｂ ｔｙｐｅ)と連関される。マクロブロックタイプ(Ｄｉｒｅｃｔ、Ｉｎｔｒａ、Ｐ １６ｘ１６, Ｐ １６ｘ８、Ｐ ８ｘ１６及びＰ ８ｘ８)は、所定方式(または変換テーブル)によって各々の２進値に割り当てられる。他のコーディング情報は、図２と類似な方式で対応する要素に特定された他の方式(または他の変換テーブル)によって２進化される。
【００２３】
ビット圧縮で、上述した２進化を通じて獲得されたビットは算術コーダー１１０に入力される。コーディング情報から発生するビット値０及び１と同一な確率を有するコーディング情報のビットは、バイパスコーディングエンジン１０４に直接入力される。一方、コーディング情報から発生するビット値０及び１の異なる確率を有するコーディング情報のビットは、コンテキストモデラー１０２に入力され、その入力ビットにモデリングプロセスが実行される。
【００２４】
コンテキストモデラー１０２は、隣接するマクロブロックの対応するコーディング情報のビット値及び/または基本層エンコーダー(図示せず)から受信された対応するコーディング情報の値と相関されたコーディング情報に基づいて、またはエンハンスト層と基本層の相関に関する情報１０に基づいて、エンハンスト層内の入力コーディング情報のビットのモデリングを実行する。モデリングは確率関数の選択及び確率関数の初期値を決定するプロセスである。図３に示したように、オフセット値(…、ｋ−１、ｋ、ｋ＋１、…)がコーディング情報によって決定されることにより、コーディング情報の確率関数(…、ｆk-1、ｆk、ｆk+1、…)が選択され、インデックス変数の値“ｃｔｘＩｄｘＩｎｃ”がコーディング情報と相関された情報によってオフセット値から決定する。インデックス変数の値“ｃｔｘＩｄｘＩｎｃ”が決定される時、確率関数とともに使われる初期値“ｖａｌＭＰＳ”及び“ｐＳｔａｔｅＩｄｘ”が決定される。初期値“ｐＳｔａｔｅＩｄｘ”が決定される時、ＬＰＳ(またはＭＰＳ)の初期確率は、図３に示したように決定される。これによって、レギュラーコーディングエンジン１０３は、選択された確率関数を利用して入力コーディング情報のビットを、決定された初期値“ｖａｌＭＰＳ”及び“ｐＳｔａｔｅＩｄｘ”から始めてコーディング(または圧縮)する。
【００２５】
コンテキストモデラー１０２がモデリングを実行する時、インデックス変数“ｃｔｘＩｄｘＩｎｃ”値を決定する方法の詳細例について説明する。以下、提案された各種例は、特定コーディング情報の値と相関されたコーディング情報に基づくかまたはエンハンスト層と基本層の相関に基づいてエンハンスト層の特定コーディング情報をモデリングする方法を示す簡単な例である。したがって、本発明は、以下提案される例に制限されないで、コーディング情報の要素値と関連されたコーディング情報に基礎するかまたはエンハンスト層と基本層の相関に基づいて、エンハンスト層のコーディング情報のモデリングを特徴とする任意の方法は、本発明の範囲に属する。
【００２６】
先に、任意のマクロブロックに対応する基本層内のブロックのコーディング情報(例えば、動きベクター情報またはイントラモード映像データ)がマクロブロックに使用されるか否かを示す、フラッグ“ｂａｓｅ ｍｏｄｅ ｆｌａｇ”のインデックス変数“ｃｔｘＩｄｘＩｎｃ”を決定する各種方法について説明する。
【００２７】
１−１). ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ ｃｏｎｄＴｅｒｍＦｌａｇＢ＋ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ
【００２８】
ここで、“Ａ”及び“Ｂ”は、現在マクロブロックＸの上部の左側上に位置する隣接マクロブロックを示す。フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＮ”(Ｎ＝ＡまたはＢ)は、マクロブロック Ｎが利用不可能な場合、“０”値を有するか、またはマクロブロックＮのフラッグ“ｂａｓｅ ｍｏｄｅ ｆｌａｇ”が０である場合、“１”の値を有する。同様に、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ”は、現在メクロブロックＸに対応する基本層内のブロックが存在しない場合、“０”の値を有するか、または対応するブロックのフラッグ“ｂａｓｅ ｍｏｄｅ ｆｌａｇ”が０である場合、“１”の値を有する。すなわち、基本層の対応するコーディング情報の値は、インデックス変数“ｃｔｘＩｄｘＩｎｃ”を決定するための基準として利用される。これは、確率コーディングのための初期値が基本層の対応するコーディング情報の値によって変わることを示す。
【００２９】
１−２). ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ'＋ ｃｏｎｄＴｅｒｍＦｌａｇＢ'＋ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ'
【００３０】
ここで、ブロックのフラッグ“ｃｏｎｄＴｅｒｍＦｌａｇ’”には、ブロックがインタモードまたはイントラモードにあるか否かによって“０”または“１”の値が割り当てられる。例えば、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ’”は、現在マクロブロックＸに対応する基本層内のブロックがインタモードにある場合、“０”(または“１”)の値を有し、対応するブロックがイントラモードにある場合、“１”(または“０”)の値を有する。
【００３１】
この方法で、２個の隣接ブロックＡ及びＢのモード(インタモードまたはイントラモード)及び基本層内の対応するブロックは、フラッグ“ｂａｓｅ ｍｏｄｅ ｆｌａｇ”のビットをコーディングするための確率関数の初期値を決定するための基準として使用される。
【００３２】
また、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ’”だけが(すなわち、基本層内の対応するブロックのモードだけが)インデックス変数“ｃｔｘＩｄｘＩｎｃ”の値を決定するための基準として使用できるので、初期値がフラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ’”の値だけによって変わるようになる。
【００３３】
１−３). ｃｔｘＩｄｘＩｎｃ＝(ＢａｓｅＢｌｋＳｉｚｅ＝＝ＥｎｈａｎｃｅＢｌｋＳｉｚｅ)？  １：０＋ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢ
【００３４】
この方法で、基本層内のブロックの区画がエンハンスト層内のブロックの区画と同一であるか否かを示す値(例えば、同一の場合には“１”の値、同一ではない場合には “０”の値)、またはエンハンスト層内のブロックのサイズが基本層内の対応するブロックのサイズと同一であるか否かを示す値(例えば、同一の場合には“１”の値、同一ではない場合には“０”の値)が確率関数の初期値を決定する基準として使用される。
【００３５】
１−４). ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ"＋ｃｏｎｄＴｅｒｍＦｌａｇＢ"＋ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ"
【００３６】
ここで、ブロックのフラッグ“ｃｏｎｄＴｅｒｍＦｌａｇ"”には、ブロックの量子化パラメータが所定臨界値と同一であるかそれより大きい場合、“１”の値が割り当てられ、そうではなければ、“０”の値が割り当てられる。この方法で、２個の隣接ブロックＡ及びＢの量子化パラメータ及び基本層内の対応するブロックの量子化パラメータは、フラッグ“ｂａｓｅ ｍｏｄｅ ｆｌａｇ”のビットをコーディングするための確率関数の初期値を決定する基準として使用される。
【００３７】
ブロックのフラッグ“ｃｏｎｄＴｅｒｍＦｌａｇ"”は、ブロックの量子化パラメータよりは、ブロックの量子化パラメータの値と異なる量子化パラメータの値との間の差によって、“１”または“０”の値が割り当てられ、インデックス値“ｃｔｘＩｄｘＩｎｃ”がフラッグ“ｃｏｎｄＴｅｒｍＦｌａｇ"”の値に基礎して決定される。例えば、ブロックＮのフラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＮ"”は、ブロックＮの量子化パラメータの値とブロックＮに対応する基本層内のブロックの量子化パラメータの値との間の差が所定臨界値と同一であるかそれより大きい場合、“１”の値に割り当てられ、そうではない場合、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＮ"”は、“０”の値が割り当てられる。本実施例において、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ"”は、現在ブロックＸの量子化パラメータの値と現在ブロックＸに対応する基本層内のブロックの量子化パラメータの値との間の差が所定臨界値より大きいか小さいかを示すフラッグを示す。
【００３８】
また、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ"”(すなわち、現在ブロックＸに対応する基本層内のブロックの量子化パラメータの値(または現在ブロックＸの量子化パラメータの値と対応するブロックの量子化パラメータの値との間の差))だけが、インデックス変数“ｃｔｘＩｄｘＩｎｃ”の値を決定する基準として使われ、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ"”の値だけによって初期値が変わるようになる。
【００３９】
１−５）．  ｃｔｘＩｄｘＩｎｃ＝０ (ｉｆ  Ｃ ≧ 臨界値１)、
１ (ｉｆ臨界値１>Ｃ≧臨界値２)、
２ (ｉｆ  Ｃ <臨界値２)
【００４０】
ここで、“Ｃ”は、基本層内の対応するブロックの動きベクター、または対応するブロックの動きベクターと、隣接メクロブロックの中で一つの動きベクターまたは隣接メクロブロックの平均動きベクターと、の間の差を示す。
【００４１】
すなわち、基本層の動きベクターは、確率関数の初期値に対する基準として使用される。
【００４２】
１−６）．  ｃｔｘＩｄｘＩｎｃ＝(ｒｅｆＩｄｘEnhanceＬ１＝＝ｒｅｆＩｄｘBaseＬ１)？  １：０＋(ｒｅｆＩｄｘEnhanceＬ０＝＝ｒｅｆＩｄｘBaseＬ０)？  １：０
【００４３】
この方法で、現在コーディング中のコーディング情報を具備したマクロブロックの画像グループＬ０及びＬ１内の基準画像ｒｅｆＩｄｘＬ０及びｒｅｆＩｄｘＬ１のインデックスが、基本層内の対応するブロックの画像グループＬ０及びＬ１内の基準画像のインデックスと同一であるか否かを示す値(例えば、画像グループＬ０及Ｌ１ 内の基準画像インデックスｒｅｆＩｄｘＬ０及びｒｅｆＩｄｘＬ１が全て基本層のインデックスと同一である場合、“２”の値、基準画像インデックスｒｅｆＩｄｘＬ０及びｒｅｆＩｄｘＬ１の中で一つが基本層の対応する一つのインデックスと同一である場合、“１”の値、基準画像インデックスｒｅｆＩｄｘＬ０及びｒｅｆＩｄｘＬ１のいずれも基本層のインデックスと同一ではない場合、“０”の値)は、確率関数の初期値を決定する基準として使われて、初期値は、エンハンスト層内の基準画像インデックスが基本層内のインデックスと同一であるか否かを示す値によって変わるようにする。
【００４４】
上述の方法の中で一つの方法よりは、上述の方法(１−１ｔｏ１−６)の組合せが、フラッグ“ｂａｓｅ ｍｏｄｅ ｆｌａｇ”のエントロピー符号化のための確率関数の初期値を決定するために使用される。
【００４５】
次に、任意のマクロブロックがマクロブロックに対応する基本層内のブロックの動きベクター情報を利用するためにリファインメントが必要であるか否かを示すフラッグ“ｂａｓｅ ｍｏｄｅ ｒｅｆｉｎｅｍｅｎｔ ｆｌａｇ”のインデックス変数“ｃｔｘＩｄｘＩｎｃ”を決定するための各種方法について説明する。
【００４６】
フラッグ“ｂａｓｅ ｍｏｄｅ ｒｅｆｉｎｅｍｅｎｔ ｆｌａｇ”は、基本層内の対応するマクロブロックがイントラモードでコーディングされたとき、イントラモードコーディングを推定する方法、例えば、上述した方法1−２)と類似な方法は、フラッグ“ｂａｓｅ ｍｏｄｅ ｒｅｆｉｎｅｍｅｎｔ ｆｌａｇ”のビットのモデリングに使用されない。
【００４７】
２−１）．  ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢ＋ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ
【００４８】
フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＮ”(Ｎ＝ＡまたはＢ)は、マクロブロックＮの利用が不可能な場合、またはマクロブロックＮのフラッグ“ｂａｓｅ ｍｏｄｅ ｒｅｆｉｎｅｍｅｎｔ ｆｌａｇ”が０である場合、“０”の値を有し、そうではない場合、“１”の値を有する。同様に、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ”は、現在マクロブロックに対応する基本層内のブロックが存在しないかまたは対応するブロックのフラッグ“ｂａｓｅ ｍｏｄｅ ｒｅｆｉｎｅｍｅｎｔ ｆｌａｇ”が０である場合、“０”の値を有し、そうではなければ、“１”の値を有する。すなわち、基本層の対応するコーディング情報の値は、インデックス変数“ｃｔｘＩｄｘＩｎｃ”の値を決定する基準として使用される。
【００４９】
２−２）．  ｃｔｘＩｄｘＩｎｃ＝(ＢａｓｅＢｌｋＳｉｚｅ＝＝ＥｎｈａｎｃｅＢｌｋＳｉｚｅ)？１：０ ＋ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢ
【００５０】
この方法は、上述した方法１−３)と類似である。
【００５１】
２−３）．  ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ"＋ ｃｏｎｄＴｅｒｍＦｌａｇＢ"＋ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ" ｏｒ ｃｔｘＩｄｘＩｎｃ = ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ"
【００５２】
この方法は、上述した方法１−４)と類似である。
【００５３】
２−４）．  ｃｔｘＩｄｘＩｎｃ＝ (ＳｐａｔｉａｌＲｅｓEnhance＝＝ＳｐａｔｉａｌＲｅｓBase)？ １：０
【００５４】
この方法で、基本層内の画像の空間解像度がエンハンスト層内の画像の解像度と同一であるか否かを示す値(例えば、同一である場合、“１”の値、同一ではない場合、“０”の値)は、確率関数の初期値を決定する基準として使用される。
【００５５】
上述した方法の中の一つの方法よりは、上述した方法(２−１  ｔｏ  ２−４)の組合せが、フラッグ“ｂａｓｅ ｍｏｄｅ ｒｅｆｉｎｅｍｅｎｔ ｆｌａｇ”の確率コーディングのための確率関数の初期値を決定するために使用される。
【００５６】
次に、任意のマクロブロックの残余データがメクロブロックに対応する基本層内のブロックの残余データから予測されるデータを利用してコーディングされるか否かを示すフラッグ“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”のインデックス変数“ｃｔｘＩｄｘＩｎｃ”を決定する各種方法について説明する。
【００５７】
３−１）．  ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢ＋ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ
【００５８】
フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＮ”(Ｎ＝ＡまたはＢ)は、マクロブロックＮの利用が不可能であるかマクロブロックＮのフラッグ“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”が０である場合、“０”の値を有し、そうではなければ、“１”の値を有する。同様に、フラッグ“ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ”は、現在マクロブロックに対応する基本層内のブロックが存在しないか対応するブロックのフラッグ“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”が０である場合、“０”の値を有し、そうではなければ、“１”の値を有する。すなわち、基本層の対応するコーディング情報の値はインデックス変数“ｃｔｘＩｄｘＩｎｃ”の値を決定する基準として使用される。
【００５９】
３−２）．  ｃｔｘＩｄｘＩｎｃ＝(ＢａｓｅＢｌｋＳｉｚｅ＝＝ＥｎｈａｎｃｅＢｌｋＳｉｚｅ)？  １：０＋ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢ
【００６０】
この方法は、上述した方法１−３)と類似である。
【００６１】
３−３）．  ｃｔｘＩｄｘＩｎｃ = ｃｏｎｄＴｅｒｍＦｌａｇＡ" ＋ ｃｏｎｄＴｅｒｍＦｌａｇＢ"＋ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ" ｏｒ ｃｔｘＩｄｘＩｎｃ = ｃｏｎｄＴｅｒｍＦｌａｇＢａｓｅ"
【００６２】
この方法は、上述した方法１−４)と類似である。
【００６３】
３−４）．  ｃｔｘＩｄｘＩｎｃ＝(ｒｅｆＩｄｘEnhanceＬ１＝＝ｒｅｆＩｄｘBaseＬ１)？  １：０＋(ｒｅｆＩｄｘEnhanceＬ０＝＝ｒｅｆＩｄｘBaseＬ０)？  １：０
【００６４】
この方法は、上述した方法１−６)と類似である。
【００６５】
３−５）．  ｃｔｘＩｄｘＩｎｃ =   ０ (ｉｆ  Ｃ ≧ 臨界値１)、
１ (ｉｆ臨界値１>Ｃ≧臨界値２)、
２ (ｉｆ  Ｃ <臨界値２)
【００６６】
この方法は、上述した方法１−５)と類似である。
【００６７】
３−６）．  ｃｔｘＩｄｘＩｎｃ＝(ＳｐａｔｉａｌＲｅｓEnhance＝＝ＳｐａｔｉａｌＲｅｓBase)？  １：０
【００６８】
この方法は、上述した方法２−４)と類似である。
【００６９】
３−７）．  ｃｔｘＩｄｘＩｎｃ＝ＣＢＰbase？１：０
【００７０】
この方法で、フラッグ“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”をコーディングするための確率関数の初期値は、基本層内の対応するブロックのＣＰＰ(Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｐａｔｔｅｒｎ)値から決定される。ここで、基本層の輝度(またはルマ(ｌｕｍａ))ブロックまたは色度(ｃｈｒｏｍｉｎａｎｃｅ)(またはクロマ(ｃｈｒｏｍａ))ブロックのＣＢＰは、ＣＢＰとして使用できる。ブロックのＣＢＰは、“０”ではないビット値がブロックに存在する場合、“０”以外の値を有し、そうではなければ、“０”の値を有する。この方法で、フラッグ“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”をコーディングするための確率関数の初期値は、“０”以外の値が基本層内の対応するブロックに存在するか否かを示すによって相違に設定され、“０”以外の値が存在する場合、“１”の値、“０”以外の値が存在しない場合、“０”の値が設定される。
【００７１】
初期値を決定するＣＢＰを利用する方法において、隣接ブロックＡ及びＢの対応するコーディング情報“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”の値と、上述した条件(ＣＢＰbase   １：０)は、インデックス変数“ｃｔｘＩｄｘＩｎｃ”を決定するための条件として利用できる。この場合、インデックス変数“ｃｔｘＩｄｘＩｎｃ”は、次のように決定することができる：
【００７２】
ｃｔｘＩｄｘＩｎｃ＝ＣＢＰbase？１：０＋ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢ
【００７３】
また、インデックス変数“ｃｔｘＩｄｘＩｎｃ”は、２個の隣接ブロックＡ及びＢのＣＢＰ値を基礎として、次のように決定することができる：
【００７４】
ｃｔｘＩｄｘＩｎｃ＝ＣＢＰA？１：０＋ＣＢＰB？１：０
【００７５】
上述した方法の中で一つの方法よりは、上述した方法(３−１ｔｏ３−７)の組合せが、フラッグ“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”の確率コーディングのための確率関数の初期値を決定するために使用される。
【００７６】
上述のコーディング情報ではないコーディング情報のモデリング(例えば、初期値設定)は、基本層のコーディング情報または層間関係によって、他の方式で実行できる。
【００７７】
例えば、エンハンスト層ブロックの映像データがインハンスト層ブロックに対応する基本層内のイントラモードブロックの映像データを基礎として他のデータでコーディングされるか否かを示すフラッグ“ｉｎｔｒａ ｂａｓｅ ｆｌａｇ”の確率コーディングのためのモデリングは、１−１)の方法と類似な方法による層間関係を利用して(特に、基本層内の対応するコーディング情報を利用して)、２−４)の方法と類似な方法による空間解像度の層間関係を利用して、または１−４)の方法と類似な方法による基本層の映像品質レベルを示す量子化パラメーターを利用して、他の方式で実行できる。
【００７８】
また、マクロブロックに対応する基本層内のブロックの動きベクター情報を、任意のメクロブロックが利用するために要求される精製値を示す情報“ｍｖｄ ｒｅｆ ＩＸ、Ｘ＝０、１”の確率コーディングのためのモデリングは、１−１)の方法と類似な方法による層間関係を利用して(特に、基本層内の対応するコーディング情報を利用して)、または２−４)の方法と類似な方法による空間解像度の層間関係を利用して、他の方式で実行できる。
【００７９】
さらに、マクロブロックに対応するブロックの動きベクターがマクロブロックの予測動きベクターに使用される否かを示すフラッグ“ｍｏｔｉｏｎ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ ＩＸ、Ｘ＝０、１”の確率コーディングのためのモデリングは、１−１)の方法と類似な方法による層間関係を利用して(特に、基本層内の対応するコーディング情報を利用して)、２−４)の方法と類似な方法による空間解像度の層間関係を利用して、または１−３)の方法と類似な方法によるブロックサイズ相関を利用して、他の方式で実行できる。
【００８０】
３個の情報(ｉｎｔｒａ ｂａｓｅ ｆｌａｇ、ｍｖｄ ｒｅｆ １Ｘ、ｍｏｔｉｏｎ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ １Ｘ)のモデリングは、上述した関係以外の層間関係を利用して実行できる。
【００８１】
また、上述の各種モデリング方法は、その値が層間関係により影響を受ける所定の他のコーディング情報にも適用できる。
【００８２】
上述の説明において、初期値“ｖａｌＭＰＳ”及び“ｐＳｔａｔｅＩｄｘ”がインデックス変数“ｃｔｘＩｄｘＩｎｃ”から決定されると説明したが、２個の初期値は、図４に示したように、インデックス変数“ｃｔｘＩｄｘＩｎｃ”から決定された値“ｍ”及び“ｎ”から決定される。
【００８３】
図４の初期値決定ルチン内の中間値“ｐｒｅＣｔｘＳｔａｔｅ”は関数“Ｃｌｉｐ３（）”により決定される。ｐｒｅＣｔｘＳｔａｔｅ決定関数“Ｃｌｉｐ３（）”は引数(ｖａｒＸ)として輝度量子化パラメータ“ＳｌｉｃｅＱＰＹ”の以外に、値“ｍ”及び“ｎ”を有する。このような引数(ｖａｒＸ)は現在コーディング中のコーディング情報を具備したマクロブロックと連関される。初期値決定に影響を及ぼす引数(ｖａｒＸ)と、値“ｍ”及び“ｎ”は、層間関係と連関された値を有しない。
【００８４】
これによって、層間関係が引数(ｖａｒＸ)に影響を及ぼして層間関係を基礎とする初期値が獲得されると、確率コーディングの観点で、 初期値は一層利点がある値を有する。したがって、本発明によれば、層間関係は引数(ｖａｒＸ)に影響を受ける。
【００８５】
引数(ｖａｒＸ)で層間関係を反映する方法は、基本層の輝度量子化パラメータ“ＢａｓｅＳｌｉｃｅＱＰＹ”を引数(ｖａｒＸ)として使用し、エンハンスト層と基本層の量子化パラメータの間の差を引数(ｖａｒＸ)として使用し、または基本層と現在層との間の空間解像度比を引数(ｖａｒＸ)として使用する。
【００８６】
本発明において、エンハンスト層と基本層の量子化パラメータの間の差が引数(ｖａｒＸ)として使用される時、図４のｐｒｅＣｔｘＳｔａｔｅ決定関数は、次のように定義できる：
【００８７】
ｐｒｅＣｔｘＳｔａｔｅ＝Ｃｌｉｐ３(１,１２６,((ｍ＊(ＳｌｉｃｅＱＰＹＢａｓｅＳｌｉｃａＱＰＹ))>>４)＋ｎ)
【００８８】
上述した方法はエンコーダで確率コーディングのために説明したが、同一な方法を圧縮データを圧縮解除するための図５のＣＡＢＡＣデコーダに適用することができる。したがって、デコーダでコンテキストモデリングする方法に関する説明は省略する。
【００８９】
図１のＣＡＢＡＣデコーダ内のコンテキストモデラ１０２がターゲットコーディング情報をモデリングする方法と類似な方式で、図５のＣＡＢＡＣデコーダ内のコンテキストモデラ２０２は、基本層コーディング情報及び層間関係情報２０を基礎でターゲットコーディング情報をモデリングし、コンテキストモデラ２０２に連続して提供されるレギュラーデコーディングエンジン２０３に対応する初期値を通過させる。レギュラーデコーディングエンジン２０３は、エンコーダ内のレギュラーコーディングエンジン１０３に採用された初期値と同一な値から始める入力コーディング情報のビットを非圧縮ビットストリームに変換する。
【００９０】
図６は、本発明によるＣＢＰ(Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｐａｔｔｅｒｎ)情報を詳細に示す図である。
【００９１】
ブロックパターン情報は、残りが存在するか否か、特に、８ｘ８ｌｕｍａブロックの残りが存在するか否かを示す代表的なビットフラッグの形態である。例えば、マクロブロック(ｃｕｒｒＭＢ)に対応するベースマクロブロック(ｂａｓｅＭＢ)が基本層内に存在する時、ベースマクロブロックは４ブロックに分割され、ブロックパターン情報の０番目のビットは残りが左側上部ブロックに存在するか否かを示すように設定され、１番目のビットは残りが右側上部ブロックに存在するか否かを示すように設定され、２番目のビットは左側下部ブロックに残りが存在するか否かを示すように設定され、３番目のビットは右側下部ブロックに残りが存在するか否かを示すように設定される。ブロックパターン情報は０乃至３番目のビットと, クロマブロックを示す２ビット(ＡＣ及びＤＣ)を含む６ビットで表現される。したがって、ブロックパターン情報は、残りが分割ブロック各々に存在するか否かを示し、残りが存在する時“１”で表現され、残りが存在しない時“０”で表現される。また、残余予測指示子情報(ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ)をコーディングするための確率関数の初期値は、“０”以外の値が下位層内の対応するブロックに存在するか否かによって相違に設定される。
【００９２】
図７は、本発明によるコンテキストモデリングがブロックパターン情報及び残余予測指示子情報を利用してどのように実行されるかを示す。
【００９３】
本発明の一実施形態において、残余予測指示子情報は、レイヤー１(Ｌａｙｅｒ１）及びレイヤー２（Ｌａｙｅｒ２）の両層で“１”、ブロックパターン情報は、レイヤー１で“０”と仮定する。この場合、レイヤー１内のコーディング情報はレイヤー２のコンテキストモデリングを実行するとき利用できない。これは、レイヤー１のブロックパターン情報が“０”であるので、レイヤー２のメクロブロックに対応するレイヤー１のブロックに残りが存在しないことを示す。しかし、レイヤー０のブロックパターン情報が“０”より大きいので、残りが存在することが分かる。これから、レイヤー１のブロックパターン情報が“０”であっても、レイヤー１の残余予測指示子情報は残りが実際に存在するか否かを判定するために考慮されなければならない。したがって、本発明は、レイヤー２の残余予測を実行する時、レイヤー１より低い層であるレイヤー０のアップサンプル(ｕｐｓａｍｐｌｅｄ)残りを利用する。
【００９４】
以下、任意のマクロブロックの残余データがマクロブロックに対応する基本層内のブロックの残余データから予測されるデータを利用してコーディングされるか否かを示す残余予測指示子情報“ｒｅｓｉｄｕａｌ ｐｒｅｄｉｃｔｉｏｎ ｆｌａｇ”のインデックス変数“ｃｔｘＩｄｘＩｎｃ”を決定する各種方法を提供する本発明の他の実施形態について説明する。
【００９５】
〔式１〕
ｃｔｘＩｄｘＩｎｃ＝ｍｉｎ(１、ｒｅｓＰｒｅｄＦｌａｇbase＋ＣＢＰbase)
【００９６】
式１の方法は、インデックス変数の状態として“０”または“１”を選択するように提供される。基本画像の対応するマクロブロックの残余予測指示子情報が“０”の場合、“０”は基本画像の残余予測指示子情報(ｒｅｓＰｒｅｄＦｌａｇbase)に割り当てられ、そうではなければ、“１”が割り当てられる。同様に、“０”または“１”が基本画像のブロックパターン情報(ＣＢＰbase)に割り当てられる。したがって、残余予測指示子情報(ｒｅｓＰｒｅｄＦｌａｇbase)及びブロックパターン情報(ＣＢＰbase)の和は、“０”、“１” または“２”値を有する。インデックス変数は、“１”と和の値(“０”、“１”または“２”)の中で小さい値がインデックス変数として割り当てられるので、“０”または“１”の値を有する。
【００９７】
〔式２〕
ｃｔｘＩｄｘＩｎｃ＝ｒｅｓＰｒｅｄＦｌａｇbase＋ＣＢＰbase
【００９８】
式２の方法は、インデックス変数の状態として“０”、“１”または“２”を選択するように提供される。
【００９９】
以下、基本画像の対応するブロックの残余情報の値の和を利用してインデックス変数(ｃｔｘＩｄｘＩｎｃ)を決定する他の方法について説明する。本実施形態は、現在画像のブロックが基本画像のブロックに各々対応しない場合、すなわち、複数の対応するベースマクロブロックが存在する場合に適用することができる。
【０１００】
〔式３〕
【数１】
2009500941.tif 000003
【０１０１】
式３で、“Ｐbase、ｉｊ”は、基本画像内の対応するブロックの残余情報の位置(ｉ、ｊ)でのピクセル値を示す。“Ｅｎｅｒｇｙbase”は基本画像内の対応するブロックですべてのピクセルを検索することにより決定できる残りが存在するか否かを示す。
【０１０２】
〔式４〕
ｃｔｘＩｄｘＩｎｃ＝Ｅｎｅｒｇｙbase？１：０
【０１０３】
式４の方法で、すべてのピクセルは画像値が存在するか否かを判定し、任意のピクセル値が存在する場合、“１”がインデックス変数に割り当てられ、ピクセル値が存在しない場合、“０”がインデックス変数に割り当てられる。
【０１０４】
〔式５〕
０  Ｅｎｅｒｇｙbase <＝ｔｈｒｅｓｈ１
ｃｔｘＩｄｘＩｎｃ＝1  ｔｈｒｅｓｈ１ < Ｅｎｅｒｇｙbase < ｔｈｒｅｓｈ２
２  Ｅｎｅｒｇｙbase >＝ｔｈｒｅｓｈ２
【０１０５】
式５の方法では、複数の臨界値(ｔｈｒｅｓｈ１及びｔｈｒｅｓｈ２)を利用して、ピクセル値が臨界値(ｔｈｒｅｓｈ１)以下である場合、“０”を割り当てて、全体和が臨界値(ｔｈｒｅｓｈ１及びｔｈｒｅｓｈ２)の間にある場合、“１”をインデックス変数に割り当てて、全体和が臨界値(ｔｈｒｅｓｈ２)以上である場合、“２”をインデックス変数に割り当てる。
【０１０６】
上述の方法によるコーディング情報をモデリングするためのコンテキストモデラーを含むデコーダは、モバイル通信端末、メディアプレーヤなどに一体化することができる。
【０１０７】
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、形式や細部についての様々な変更が、特許請求の範囲の記載により規定されるような本発明の精神及び範囲から逸脱することなく行われることが可能であることは、当該技術分野における通常の知識を持つ者には明らかである。したがって、本発明の範囲は、前述の実施形態に限定されるものではなく、特許請求の範囲の記載及びこれと均等なものに基づいて定められるべきである。
【産業上の利用可能性】
【０１０８】
制限された実施例を参照して上述したように、本発明は、層間関係を利用してコーディング情報の各ビットのコンテキストモデリングを実行して、確率コーディングの観点で、有利なコーディング情報の確率コーディングに対する関数の初期値(すなわち、ＬＰＳの初期確率を一層減少させる初期値)を決定することができるので、確率コーディングのデータ圧縮レート大幅増加させることができる。
【図面の簡単な説明】
【０１０９】
【図１】本発明によるコンテキストモデリングを実行するエンハンスト層エンコーダーのＣＡＢＡＣ実行器のブロック図である。
【図２】入力コーディング情報の２進化の例を示す図である。
【図３】コーディング情報の確率コーディングのためのコンテキストモデリング方法を示す図である。
【図４】確率コーディングのための初期値を決定するためのルチンを示す図である。
【図５】本発明によるコンテキストモデリングを実行するエンハンスト層デコーダーのＣＡＢＡＣ実行器のブロック図である。
【図６】本発明によるブロックパターン情報を示す図である。
【図７】本発明によるブロックパターン情報及び残余予測指示子補を利用してコンテキストモデリングが実行される方法を示す図である。
【図１】
2009500941.tif 000004
【図２】
2009500941.tif 000005
【図３】
2009500941.tif 000006
【図４】
2009500941.tif 000007
【図５】
2009500941.tif 000008
【図６】
2009500941.tif 000009
【図７】
2009500941.tif 000010
【国際調査報告】
2009500941.tif 000011
2009500941.tif 000012