(57)【要約】【課題】  エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダを提供する。【解決手段】  多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、予測如何を示す残差予測フラッグをコーディングする方法において、下位階層の対応するブロックの残差データのエネルギーを計算するステップ、エネルギーによって残差予測フラッグのコーディング方法を決定するステップ、及び決定されたコーディング方法によって残差予測フラッグをコーディングするステップを含む。【選択図】      図９
2006304307.tif 000002
【特許請求の範囲】
【請求項１】
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、
前記下位階層の対応するブロックの残差データのエネルギーを計算するステップと、
前記エネルギーによって前記残差予測フラッグのコーディング方法を決定するステップと、
前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップと、を含むビデオ信号の残差予測フラッグをコーディングする方法。
【請求項２】
前記残差予測フラッグのコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以下である場合、残差予測フラッグをコーディングする過程を省略し、前記残差データのエネルギーが所定の基準値以上である場合、残差予測フラッグの値を予測する値と残差予測フラッグの値との差をコーディングする方法である請求項１に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項３】
前記残差予測フラッグのコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以上である場合、１から前記残差予測フラッグの値を差し引いた値をコーディングする方法である請求項１に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項４】
前記残差予測フラッグのコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以下である場合、残差予測フラッグの値をコーディングする過程を省略し、前記計算された残差データのエネルギーが所定の基準値以上である場合、前記残差予測フラッグの値をシンボル１にバイアスされたコンテキストを使用してコーディングする方法である請求項１に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項５】
前記残差予測フラッグのコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以下である場合、前記残差予測フラッグを第１コンテキストモデルを使用してコーディングし、前記計算された残差データのエネルギーが所定の基準値以上である場合、前記残差予測フラッグを第２コンテキストモデルを使用してコーディングする方法であって、前記第１コンテキストモデルは、０の確率が１の確率よりさらに高い値を有するコンテキストモデルであり、前記第２コンテキストモデルは、１の確率が０の確率よりさらに高い値を有するコンテキストモデルである請求項１に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項６】
前記下位階層の対応するブロックの残差データのエネルギーを計算するステップは、前記ビデオ信号に存在するＣＢＰ（ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ）の各ビットを算出するステップと、前記算出されたビットのうち、１の値を有するビットの存否を検討するステップと、を含む請求項１に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項７】
前記下位階層は、基礎階層またはＦＧＳ階層である請求項１に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項８】
前記計算するステップは、前記向上階層が参照する下位階層のエネルギーを合算して計算するステップである請求項１に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項９】
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、
前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのコーディング方法を決定するステップと、
前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップと、を含むビデオ信号の残差予測フラッグをコーディングする方法。
【請求項１０】
前記残差予測フラッグのコーディング方法は、前記符号化ブロックパターンの各ビットが１であるビットが、所定のビット数以下である場合、残差予測フラッグをコーディングする過程を省略し、前記符号化ブロックパターンの各ビットが１であるビットが、所定のビット数以上である場合、残差予測フラッグの値を予測する値と残差予測フラッグの値との差をコーディングする方法である請求項９に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項１１】
前記残差予測フラッグのコーディング方法は、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以上である場合、１から前記残差予測フラッグの値を差し引いた値をコーディングする方法である請求項９に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項１２】
前記残差予測フラッグのコーディング方法は、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以下である場合、残差予測フラッグの値をコーディングする過程を省略し、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以上である場合、前記残差予測フラッグの値をシンボル１にバイアスされたコンテキストを使用してコーディングする方法である請求項９に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項１３】
前記残差予測フラッグのコーディング方法は、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以下である場合、前記残差予測フラッグを第１コンテキストモデルを使用してコーディングし、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以上である場合、前記残差予測フラッグを第２コンテキストモデルを使用してコーディングする方法であって、前記第１コンテキストモデルは０の確率が１の確率よりさらに高い値を有するコンテキストモデルであり、前記第２コンテキストモデルは１の確率が０の確率よりさらに高い値を有するコンテキストモデルである請求項９に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項１４】
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップは、前記ビデオ信号に存在するＣＢＰ（ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ）の下位４ビットを明度に対する符号化ブロックパターンの値に設定し、上位２ビットを色相に対する符号化ブロックパターンの値に設定するステップを含む請求項９に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項１５】
前記下位階層は、基礎階層またはＦＧＳ階層である請求項９に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項１６】
前記計算するステップは、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて、１であるビットの存否を計算するステップである、請求項９に記載のビデオ信号の残差予測フラッグをコーディングする方法。
【請求項１７】
多階層ビデオ信号の向上階層を構成するブロックの残差データを、対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、
前記下位階層の対応するブロックの残差データのエネルギーを計算するステップと、
前記エネルギーによって前記残差予測フラッグのデコーディング方法を決定するステップと、
前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含むビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項１８】
前記残差予測フラッグのデコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以下である場合、残差予測フラッグをデコーディングする過程なしに残差予測フラッグの値を０に設定し、前記計算された残差データのエネルギーが所定の基準値以上である場合、残差予測フラッグの値を予測する値から差を差し引いた値を残差予測フラッグの値に設定する方法である請求項１７に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項１９】
前記残差予測フラッグのデコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以上である場合、逆残差予測フラッグに設定された値から１を差し引いた値を前記残差予測フラッグの値に設定する方法である請求項１７に記載のビデオ信号の残差予測フラッグをデコーディングする方法である請求項１７に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２０】
前記残差予測フラッグのデコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以下である場合、残差予測フラッグの値をデコーディングする過程を省略し、前記計算された残差データのエネルギーが所定の基準値以上である場合、残差予測フラッグの値をシンボル１にバイアスされたコンテキストを使用してデコーディングする方法である請求項１７に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２１】
前記残差予測フラッグのデコーディング方法は、前記計算された残差データのエネルギーが所定の基準値以下である場合、前記残差予測フラッグを第１コンテキストモデルを使用してデコーディングし、前記計算された残差データのエネルギーが所定の基準値以上である場合、前記残差予測フラッグを第２コンテキストモデルを使用してデコーディングする方法であって、前記第１コンテキストモデルは、０の確率が１の確率よりさらに高い値を有するコンテキストモデルであり、前記第２コンテキストモデルは、１の確率が０の確率よりさらに高い値を有するコンテキストモデルである請求項１７に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２２】
前記下位階層の対応するブロックの残差データのエネルギーを計算するステップは、前記ビデオ信号に存在するＣＢＰ（ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ）の各ビットを算出するステップと、前記算出されたビットのうち、１の値を有するビットの存否を検討するステップと、を含む請求項１７に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２３】
前記下位階層は、基礎階層またはＦＧＳ階層である請求項１７に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２４】
前記計算するステップは、前記向上階層が参照する下位階層のエネルギーを合算して計算するステップである請求項１７に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２５】
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、
前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのデコーディング方法を決定するステップと、
前記決定されたコーディング方法によって残差予測フラッグをデコーディングするステップと、を含むビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２６】
前記残差予測フラッグのデコーディング方法は、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以下である場合、残差予測フラッグをデコーディングする過程なしに残差予測フラッグの値を０に設定し、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以上である場合、残差予測フラッグの値から差を差し引いた値を残差予測フラッグの値に設定する方法である請求項２５に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２７】
前記残差予測フラッグのデコーディング方法は、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以上である場合、逆残差予測フラッグに設定された値から１を差し引いた値を前記残差予測フラッグの値に設定する方法である請求項２５に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２８】
前記残差予測フラッグのデコーディング方法は、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以下である場合、残差予測フラッグの値をデコーディングする過程を省略し、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以上である場合、残差予測フラッグの値をシンボル１にバイアスされたコンテキストを使用してデコーディングする方法である請求項２５に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項２９】
前記残差予測フラッグのデコーディング方法は、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以下である場合、前記残差予測フラッグを第１コンテキストモデルを使用してデコーディングし、前記符号化ブロックパターンの各ビットが１であるビットが所定のビット数以上である場合、前記残差予測フラッグを第２コンテキストモデルを使用してデコーディングする方法であって、前記第１コンテキストモデルは、０の確率が１の確率よりさらに高い値を有するコンテキストモデルであり、前記第２コンテキストモデルは、１の確率が０の確率よりさらに高い値を有するコンテキストモデルである請求項２５に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３０】
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップは、前記ビデオ信号に存在するＣＢＰ（ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ）の下位４ビットを明度に対する符号化ブロックパターンの値に設定し、上位２ビットを色相に対する符号化ブロックパターンの値に設定するステップを含む請求項２５に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３１】
前記下位階層は、基礎階層またはＦＧＳ階層である請求項２５に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３２】
前記計算するステップは、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて、１であるビットの存否を計算するステップである、請求項２５に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３３】
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、
前記下位階層の対応するブロックに対する符号化ブロックパターンの値を確認するステップと、
前記符号化ブロックパターンを構成するそれぞれのビットに１の値を有するビットの存否を判断するステップと、
前記判断の結果、１の値を有するビットが１つ以上存在する否かかによって前記残差予測フラッグのデコーディング方法を決定するステップと、
前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含むビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３４】
前記判断するステップは、
前記符号化ブロックパターンの下位４ビットを、明度の符号化如何を判断する第１変数に設定し、上位２ビットを色相の符号化如何を判断する第２変数に設定するステップと、
マクロブロックのアドレスに割当てられた０ないし３のうち、いずれか１つの大きさほど、前記第１変数をシフトライト（ｓｈｉｆｔ−ｒｉｇｈｔ）演算を行い、その結果と１とをＡＮＤビット演算を行うステップと、
前記判断の結果、０でない場合、前記符号化ブロックパターンに１を有するビットが存在すると判断するステップと、を含む請求項３３に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３５】
前記決定するステップは、前記残差予測フラッグのデコーディングに必要なコンテキストモデルを設定するステップであり、前記デコーディングするステップは、前記設定されたコンテキストモデルを使用してエントロピーデコーディングを行うステップである請求項３３に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３６】
前記エントロピーデコーディングはＣＡＢＡＣ（コンテキスト基盤の適応的算術コーディング）方式でデコーディングする請求項３５に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３７】
前記決定するステップは、前記判断するステップにおいて前記符号化ブロックパターンに１の値を有するビットが１つ以上存在する場合、コンテキストモデルを設定する変数を１に設定し、前記符号化ブロックパターンに１の値を有するビットが存在しない場合、コンテキストモデルを設定する変数を０に設定するステップを含む請求項３３に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３８】
前記デコーディングするステップは、前記コンテキストモデルを設定する変数が０である場合、前記残差予測フラッグを第１コンテキストモデルを使用してデコーディングし、前記コンテキストモデルを設定する変数が１である場合、前記残差予測フラッグを第２コンテキストモデルを使用してデコーディングする方法であって、前記第１コンテキストモデルは、０の確率が１の確率よりさらに高い値を有するコンテキストモデルであり、前記第２コンテキストモデルは、１の確率が０の確率よりさらに高い値を有するコンテキストモデルである請求項３７に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項３９】
前記下位階層は、基礎階層またはＦＧＳ階層である請求項３３に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項４０】
前記確認するステップは、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて、１であるビットの存否を計算するステップである請求項３３に記載のビデオ信号の残差予測フラッグをデコーディングする方法。
【請求項４１】
多階層ビデオ信号の復号化しようとする向上階層をデコーディングする方法において、
前記向上階層に対応する下位階層の符号化ブロックパターン値から、前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定するステップと、
前記デコーディング方法によって選択されたエントロピー復号化方法によって前記残差予測フラッグを復号化し、前記残差予測フラッグによって前記向上計測を復号化する復号化ステップと、を含むデコーディング方法。
【請求項４２】
多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする装置において、
前記下位階層ブロックに対する符号化ブロックパターンの値を解釈するパージング部と、
前記符号化ブロックパターン値によって前記残差予測フラッグに対するデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグをデコーディングするデコーディング部と、を備えるデコーディング装置。
【請求項４３】
前記パージング部は、前記符号化ブロックパターンの下位４ビットを、明度の符号化如何を判断する第１変数に設定し、上位２ビットを色相の符号化如何を判断する第２変数に設定し、マクロブロックのアドレスに割当てられた０ないし３のうち、いずれか１つの大きさほど、前記第１変数をシフトライト演算を行い、その結果と１とをＡＮＤビット演算を行い、前記判断の結果、０でない場合、前記符号化ブロックパターンに１を有するビットが存在すると判断することを特徴とする請求項４２に記載のデコーディング装置。
【請求項４４】
前記パージング部は、前記残差予測フラッグのデコーディングに必要なコンテキストモデルを設定し、前記復号化部は、前記設定されたコンテキストモデルを使用してエントロピーデコーディングを行う請求項４２に記載のビデオデコーダ。
【請求項４５】
前記エントロピーデコーディングはＣＡＢＡＣ（コンテキスト基盤の適応的算術コーディング）方式でデコーディングする請求項４４に記載のビデオデコーダ。
【請求項４６】
前記パージング部は、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて１であるビットの存否を判断する請求項４２に記載のビデオデコーダ。
【請求項４７】
前記復号化部は、前記コンテキストモデルを設定する変数が０である場合、前記残差予測フラッグを第１コンテキストモデルを使用してデコーディングし、前記コンテキストモデルを設定する変数が１である場合、前記残差予測フラッグを第２コンテキストモデルを使用してデコーディングし、前記第１コンテキストモデルは、０の確率が１の確率よりさらに高い値を有するコンテキストモデルであり、前記第２コンテキストモデルは、１の確率が０の確率よりさらに高い値を有するコンテキストモデルである請求項４６に記載のビデオデコーダ。
【請求項４８】
前記下位階層は、基礎階層またはＦＧＳ階層である請求項４２に記載のビデオデコーダ。
【請求項４９】
前記パージング部は、前記向上階層が参照する下位階層の対応するブロックに対する符号化ブロックパターンの各ビットにおいて、１であるビットの存否を判断する請求項４２に記載のビデオデコーダ。
【請求項５０】
多階層ビデオ信号の復号化しようとする向上階層をデコーディングする装置において、
前記向上階層に対応する下位階層の符号化ブロックパターン値を解釈するパージング部と、
前記符号化ブロックパターン値から前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグを逆エントロピー復号化し、前記向上階層を逆エントロピー復号化する逆エントロピー復号化部と、
前記向上階層を逆量子化する逆量子化部と、
前記逆量子化された向上階層を逆時間的変換し、前記残差予測フラッグによって前記下位階層から予測して復号化する逆時間的変換部と、を備えることを特徴とするデコーディング装置。
【請求項５１】
多階層基盤のビデオエンコーダにおいて、
（ａ）入力フレームで基礎階層フレームを生成するステップと、
（ｂ）前記入力フレームで前記基礎階層フレームを参照する向上階層のデータを生成するステップと、
（ｃ）前記基礎階層フレームのデータが前記向上階層のデータを予測できてか否かを判断した結果によって前記向上階層のデータをエンコーディングするステップと、を含むエンコーディング方法。
【請求項５２】
前記（ａ）ステップは、前記基礎階層フレームと時間的差をおく第２フレームと前記基礎階層フレームとの差分による残差データを求めるステップを含み、前記残差データのエネルギーが特定値以下である場合、前記（ｃ）ステップは、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かについての予測情報を除いて、前記向上階層のデータをエンコーディングするステップを含む請求項５１に記載のエンコーディング方法。
【請求項５３】
前記特定値は、エネルギーが０である場合である請求項５１に記載のエンコーディング方法。
【請求項５４】
前記（ａ）ステップは、前記基礎階層フレームと時間的差をおく第２フレームと前記基礎階層フレームとの差分による残差データを求めるステップを含み、前記残差データのエネルギーが特定値以上である場合、前記（ｃ）ステップは、
（ｄ）前記基礎階層フレームのデータのモーションベクトルと前記向上階層のデータのモーションベクトルとの差を計算するステップと、
（ｅ）前記両モーションベクトルの差によって前記基礎階層のデータの参照如何を予測する決定情報を設定するステップと、
（ｆ）前記（ｅ）ステップで設定した決定情報と前記基礎階層フレームのデータを参照しているか否かについての情報との差を含む前記向上階層のデータをエンコーディングするステップと、を含む請求項５１に記載のエンコーディング方法。
【請求項５５】
前記（ｃ）ステップは、
（ｄ）前記向上階層のデータが前記基礎階層フレームのデータで予測したモーションベクトルを求めるステップと、
（ｅ）前記向上階層のデータで空間的に隣接した領域のデータで予測したモーションベクトルを求めるステップと、
（ｆ）前記（ｄ）ステップ及び前記（ｅ）ステップで求めたモーションベクトルの差が特定値以下である場合、前記向上階層のデータが前記基礎階層フレームのモーションベクトルを参照しているか否かについての情報を除いて、前記向上階層のデータをエンコーディングするステップと、を含む請求項５１に記載のエンコーディング方法。
【請求項５６】
前記特定値は、差が０である場合である請求項５１に記載のエンコーディング方法。
【請求項５７】
前記（ｃ）ステップは、
（ｄ）前記向上階層のデータが前記基礎階層フレームのデータで予測したモーションベクトルを求めるステップと、
（ｅ）前記向上階層のデータで空間的に隣接した領域で予測したモーションベクトルを求めるステップと、
（ｆ）前記（ｄ）ステップ及び前記（ｅ）ステップで求めたモーションベクトルの差によって前記基礎階層フレームのデータのモーションベクトルの参照如何を予測するように決定情報を設定するステップと、
（ｇ）前記（ｆ）ステップで設定した決定情報と前記基礎階層フレームのデータのモーションベクトルを参照しているか否かについての情報との差を含んで、前記向上階層のデータをエンコーディングするステップと、を含む請求項５１に記載のエンコーディング方法。
【請求項５８】
前記（ｃ）ステップの向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するための決定情報及び前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む請求項５１に記載のエンコーディング方法。
【請求項５９】
前記エンコーディングするステップは、エントロピーのコーディング方式でエンコーディングするステップを含む請求項５１に記載のエンコーディング方法。
【請求項６０】
前記基礎階層フレームのデータと向上階層のデータは、マクロブロック、スライス、またはフレームのうち、いずれか１つである請求項５１に記載のエンコーディング方法。
【請求項６１】
多階層基盤のビデオデコーダにおいて、
（ａ）入力された基礎階層フレームをデコーディングするステップと、
（ｂ）前記デコーディングされた基礎階層フレームのデータが、前記基礎階層フレームを参照する向上階層のデータの予測に必要か否かを判断するステップと、
（ｃ）前記判断した結果によって前記向上階層のデータをデコーディングするステップと、を含むデコーディング方法。
【請求項６２】
前記（ｂ）ステップの基礎階層フレームのデータが前記基礎階層フレームと時間的差をおく第２フレームとの差分による残差データを含んで前記残差データのエネルギーが特定値以下である場合、前記（ｃ）ステップは、前記向上階層のデータが前記基礎階層フレームのデータを参照しないものと予測情報を設定して、前記向上階層のデータをデコーディングするステップを含む請求項６１に記載のデコーディング方法。
【請求項６３】
前記特定値は、エネルギーが０である場合である請求項６１に記載のデコーディング方法。
【請求項６４】
前記（ｂ）ステップの基礎階層フレームのデータが、前記基礎階層フレームと時間的差をおく第２フレームとの差分による残差データを含み、前記残差データのエネルギーが特定値以上である場合、前記（ｃ）ステップは、
（ｄ）前記エンコーディングされた向上階層のデータのデコーディング時に前記基礎階層フレームの残差データを参照して予測するか否かを決定する決定情報と、前記決定情報と前記基礎階層フレームの残差データとを参照して予測するか否かについての予測情報の差に関する値を含む情報をデコーディングするステップを含む請求項６１に記載のデコーディング方法。
【請求項６５】
前記（ｂ）ステップは、（ｆ）前記（ｄ）ステップ及び前記（ｅ）ステップで求めたモーションベクトルの差が特定値以下である場合、前記（ｃ）ステップは、前記向上階層のデータが前記基礎階層フレームのデータのモーションベクトルを参照しないもので前記予測情報を設定して、前記向上階層のデータをデコーディングするステップを含む請求項６１に記載のデコーディング方法。
【請求項６６】
前記特定値は、差が０である場合である請求項６１に記載のデコーディング方法。
【請求項６７】
前記（ｃ）ステップは、前記エンコーディングされた向上階層のデータのデコーディング時に前記基礎階層フレームのモーションベクトルを参照して予測するか否かを決定する決定情報と、前記決定情報と前記基礎階層フレームのモーションベクトルを参照して予測するか否かについての予測情報の差に関する値を含む情報をデコーディングするステップを含む請求項６１に記載のデコーディング方法。
【請求項６８】
前記（ｃ）ステップの向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するための決定情報及び前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差に関する値を含む請求項６１に記載のデコーディング方法。
【請求項６９】
前記デコーディングするステップは、エントロピーのデコーディング方式でデコーディングするステップを含む請求項６１に記載のデコーディング方法。
【請求項７０】
前記基礎階層フレームのデータと向上階層のデータは、マクロブロック、スライス、またはフレームのうち、いずれか１つである請求項６１に記載のデコーディング方法。
【請求項７１】
入力フレームで基礎階層フレームを生成する基礎階層エンコーダと、
前記入力フレームで前記基礎階層フレームを参照する向上階層のデータを生成する向上階層エンコーダと、を備え、
前記向上階層エンコーダは、前記基礎階層フレームのデータが前記向上階層のデータを予測できるか否かを判断した結果によって、前記向上階層のデータをエンコーディングする変換部を備えるビデオエンコーダ。
【請求項７２】
前記残差データのエネルギーが特定値以下である場合、前記変換部は、前記向上階層のデータが前記基礎階層フレームのデータを参照しているか否かについての予測情報を除いて前記向上階層のデータをエンコーディングする請求項７１に記載のビデオエンコーダ。
【請求項７３】
前記特定値は、エネルギーが０である場合である請求項７１に記載のビデオエンコーダ。
【請求項７４】
前記残差データのエネルギーが特定値以上である場合、前記変換部は、前記基礎階層フレームのデータのモーションベクトルと前記向上階層のデータのモーションベクトルとの差を計算し、前記両モーションベクトルの差によって前記基礎階層のデータの参照如何を予測する決定情報を設定し、前記設定した決定情報と前記基礎階層フレームのデータを参照しているか否かについての情報との差を含んで前記向上階層のデータをエンコーディングする請求項７１に記載のビデオエンコーダ。
【請求項７５】
前記変換部は、前記向上階層のデータが前記基礎階層フレームのデータで予測したモーションベクトルと前記向上階層のデータで空間的に隣接した領域のデータで予測したモーションベクトルとを求め、前記両モーションベクトルの差が特定値以下である場合、前記向上階層のデータが前記基礎階層フレームのモーションベクトルを参照しているか否かについての情報を除いて前記向上階層のデータをエンコーディングする請求項７１に記載のビデオエンコーダ。
【請求項７６】
前記特定値は、エネルギーが０である場合である請求項７１に記載のビデオエンコーダ。
【請求項７７】
前記変換部は、前記向上階層のデータが前記基礎階層フレームのデータで予測したモーションベクトルと前記向上階層のデータで空間的に隣接した領域で予測したモーションベクトルとを求め、前記両モーションベクトルの差によって前記基礎階層フレームのデータのモーションベクトルの参照如何を予測するように決定情報を設定し、前記設定した決定情報と前記基礎階層フレームのデータのモーションベクトルを参照しているか否かについての情報との差を含んで前記向上階層のデータをエンコーディングする請求項７１に記載のビデオエンコーダ。
【請求項７８】
前記向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するための決定情報及び前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む請求項７１に記載のビデオエンコーダ。
【請求項７９】
前記変換部は、エントロピーのコーディング方式でエンコーディングする請求項７１に記載のビデオエンコーダ。
【請求項８０】
前記基礎階層フレームのデータと向上階層のデータは、マクロブロック、スライス、またはフレームのうち、いずれか１つである請求項７１に記載のビデオエンコーダ。
【請求項８１】
入力された基礎階層フレームをデコーディングする基礎階層デコーダと、
前記基礎階層フレームを参照して向上階層のデータをデコーディングする向上階層デコーダと、を備え、
前記向上階層デコーダは、前記デコーディングされた基礎階層フレームのデータが前記基礎階層フレームを参照する向上階層のデータの予測に必要か否かを判断し、前記判断した結果によって前記向上階層のデータをデコーディングする逆変換部を備えるビデオデコーダ。
【請求項８２】
前記基礎階層フレームのデータが前記基礎階層フレームと時間的差をおく第２フレームとの差分による残差データを含み、前記残差データのエネルギーが特定値以下である場合、前記逆変換部は、前記向上階層のデータが前記基礎階層フレームのデータを参照しないものと予測情報を設定して前記向上階層のデータをデコーディングする請求項８１に記載のビデオデコーダ。
【請求項８３】
前記特定値は、エネルギーが０である場合である請求項８１に記載のビデオデコーダ。
【請求項８４】
前記基礎階層フレームのデータが前記基礎階層フレームと時間的差をおく第２フレームとの差分による残差データを含み、前記残差データのエネルギーが特定値以上である場合、前記逆変換部は、前記エンコーディングされた向上階層のデータのデコーディング時に前記基礎階層フレームの残差データを参照して予測するか否かを決定する決定情報と、前記決定情報と前記基礎階層フレームとの残差データを参照して予測するか否かについての予測情報の差に対する値を含む情報をデコーディングする請求項８１に記載のビデオデコーダ。
【請求項８５】
前記逆変換部は、前記向上階層のデータが前記基礎階層フレームのデータで予測したモーションベクトルと前記向上階層のデータで空間的に隣接した領域で予測したモーションベクトルとを求め、前記両モーションベクトルの差が特定値以下である場合、前記向上階層のデータが前記基礎階層フレームのデータのモーションベクトルを参照しないものと前記予測情報を設定して前記向上階層のデータをデコーディングする請求項８１に記載のビデオデコーダ。
【請求項８６】
前記特定値は、エネルギーが０である場合である請求項８１に記載のビデオデコーダ。
【請求項８７】
前記逆変換部は、前記向上階層のデータが前記基礎階層フレームのデータで予測したモーションベクトルと前記向上階層のデータで空間的に隣接した領域で予測したモーションベクトルとを求め、前記両モーションベクトルの差が特定値以上である場合、前記エンコーディングされた向上階層のデータのデコーディング時に前記基礎階層フレームのモーションベクトルを参照して予測するか否かを決定する決定情報と、前決定情報と前記基礎階層フレームのモーションベクトルを参照して予測するか否かについての予測情報との差に対する値を含む情報をデコーディングする請求項８１に記載のビデオデコーダ。
【請求項８８】
前記向上階層のデータは、前記向上階層のデータが前記基礎階層フレームのデータを参照するか否かを予測するための決定情報及び前記基礎階層フレームのデータを参照するか否かについての予測情報と前記決定情報との差を含む請求項８１に記載のビデオデコーダ。
【請求項８９】
前記逆変換部は、エントロピーのデコーディング方式でデコーディングする請求項８１に記載のビデオデコーダ。
【請求項９０】
前記基礎階層フレームのデータと向上階層のデータは、マクロブロック、スライス、またはフレームのうち、いずれか１つである請求項８１に記載のビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ信号のエンコーディング及びデコーディングに係り、より詳細には、エントロピーコーディングのコンテキストモデルを適応的に選択する方法及びビデオデコーダに関する。
【背景技術】
【０００２】
インターネットを含む情報通信技術が発達するにつれて文字、音声だけでなく画像通信が増加しつつある。既存の文字中心の通信方式では消費者の多様な欲求を満たすには足りなく、したがって、文字、映像、音楽など多様な形態の情報を収容できるマルチメディアサービスが増加しつつある。マルチメディアデータは、その量がぼう大で大容量の記録媒体を必要とし、伝送時に広い帯域幅を必要とする。したがって、文字、映像、オーディオを含むマルチメディアデータを伝送するには、圧縮コーディング技法を使用することが必須である。
【０００３】
データを圧縮する基本的な原理はデータの重複をなくす過程である。イメージで同じ色や客体が反復されるような空間的重複や、動映像フレームで隣接フレームがほとんど変化のない場合や、オーディオで同じ音が反復され続けるような時間的重複、または人間の視覚及び知覚能力が高い周波数に鈍感なことを考慮した心理視覚重複をなくすことによりデータを圧縮できる。一般的なビデオコーディング方法において、時間的重畳はモーション補償に基づいた時間的フィルタリング（ｔｅｍｐｏｒａｌ  ｆｉｌｔｅｒｉｎｇ）により除去して、空間的重畳は空間的変換（ｓｐａｔｉａｌ  ｔｒａｎｓｆｏｒｍ）により除去する。
【０００４】
データの重畳を除去した後、生成されるマルチメディアを伝送するためには、伝送媒体が必要であるが、その速度は伝送媒体別に異なる。現在使われている伝送媒体は、秒当り数十ｍｂｉｔのデータを伝送しうる超高速通信網から秒当り３８４ｋｂｉｔの伝送速度を有する移動通信網のように多様な伝送速度を有する。このような環境で、多様な速度の伝送媒体を支援するために、または伝送環境によってこれに適した伝送率でマルチメディアを伝送可能にする、すなわち、スケーラビリティ（ｓｃａｌａｂｉｌｉｔｙ）を有するデータコーディング方法がマルチメディア環境にさらに適していると言える。一方、マルチメディアの再生時に、再生する機器の大きさまたは機器の特徴によって画面の大きさが４：３または１６：９の比率など多様になりうる。
【０００５】
このようなスケーラブルビデオコーディングとは、既に圧縮されたビットストリームに対して伝送ビット率、伝送エラー率、システム資源などの周辺条件によって前記ビットストリームの一部を切り出して、ビデオの解像度、フレーム率、及びビット率などを調節可能にする符号化方式を意味する。このようなスケーラブルビデオコーディングは、既にＭＰＥＧ−４（ｍｏｖｉｎｇ  ｐｉｃｔｕｒｅ  ｅｘｐｅｒｔｓｇ  ｒｏｕｐ−２１）Ｐａｒｔ１０でその標準化作業を進行しつつある。このうち、多階層（ｍｕｌｔｉ−ｌａｙｅｒｅｄ）基盤でスケーラビリティーを具現しようとする多くの努力がある。例えば、基礎階層（ｂａｓｅ  ｌａｙｅｒ）、第１向上階層（ｅｎｈａｎｃｅｄ  ｌａｙｅｒ１）、第２向上階層（ｅｎｈａｎｃｅｄ  ｌａｙｅｒ２）の多階層をおき、それぞれの階層は相異なる解像度ＱＣＩＦ、ＣＩＦ、２ＣＩＦ、または相異なるフレーム率を有するように構成しうる。
【０００６】
１つの階層にコーディングする場合と同様に、多階層にコーディングする場合においても、各階層別に時間的重複性（ｔｅｍｐｏｒａｌ  ｒｅｄｕｎｄａｎｃｙ）を除去するためのモーションベクトル（ｍｏｔｉｏｎｖｅｃｔｏｒ；ＭＶ）を求める必要がある。このようなモーションベクトルは、各階層ごとに別途に検索して使用する場合（前者）があり、１つの階層でモーションベクトル検索をした後、これを他の階層でも使用（そのまま、またはアップ／ダウンサンプリングして）する場合（後者）もある。前者の場合は、後者の場合に比べて正確なモーションベクトルを探すことによって得る利点と、階層別に生成されたモーションベクトルがオーバヘッドとして作用する短所が同時に存在する。したがって、前者の場合には、各階層別モーションベクトル間の重複性をさらに効率よく除去することが非常に重要な課題となる。
【０００７】
図１は、多階層構造を用いたスケーラブルビデオコーデックを示す図面である。まず、基礎階層をＱＣＩＦ（Ｑｕａｒｔｅｒ  Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ）、１５Ｈｚ（フレームレート）に定義し、第１向上階層をＣＩＦ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ）、３０ｈｚに、第２向上階層をＳＤ（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）、６０ｈｚに定義する。もし、ＣＩＦ  ０．５  Ｍｂｐｓストリームを所望するならば、第１向上階層のＣＩＦ＿３０Ｈｚ＿０．７Ｍでビット率が０．５Ｍになるようにビットストリームを切って送ればよい。このような方式で、空間的、時間的、ＳＮＲスケーラビリティーを具現しうる。
【０００８】
図１に示されたように、同じ時間的位置を有する各階層でのフレーム（例えば、１０、２０、及び３０）は、そのイメージが類似していると推定しうる。したがって、下位階層のテクスチャーから（直接またはアップサンプリングした後）現在階層のテクスチャーを予測し、予測された値と実際現在階層のテクスチャーとの差をエンコーディングする方法が知られている。“Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｍｏｄｅｌ  ３．０  ｏｆ  ＩＳＯ／ＩＥＣ  ２１０００−１３  Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ”（以下“ＳＶＭ  ３．０”と称する）では、このような方法をイントラＢＬ予測（Ｉｎｔｒａ＿ＢＬ  ｐｒｅｄｉｃｔｉｏｎ）と定義している。
【０００９】
このように、ＳＶＭ  ３．０では、既存のＨ．２６４で現在フレームを構成するブロックないしマクロブロックに対する予測のために使われたインター予測及び方向的イントラ予測（ｄｉｒｅｃｔｉｏｎａｌ  ｉｎｔｒａ  ｐｒｅｄｉｃｔｉｏｎ）以外にも、現在ブロックとこれに対応する下位階層ブロックとの連関性を用いて現在ブロックを予測する方法を追加的に採択している。このような予測方法を、“イントラＢＬ（Ｉｎｔｒａ＿ＢＬ）予測”と称し、このような予測を使用して符号化するモードを“イントラＢＬモード”と称する。
【００１０】
図２は、前記３種の予測方法を説明する概略図であって、現在フレーム１１のあるマクロブロック１４に対してイントラ予測を行う場合（１）と、現在フレーム１１と他の時間的位置にあるフレーム１２とを用いてインター予測を行う場合（２）と、前記マクロブロック１４と対応する基礎階層フレーム１３の領域１６に対するテクスチャーデータを用いてイントラＢＬ予測を行う場合（３）と、を各々示している。
【００１１】
このように、前記スケーラブルビデオコーディング標準ではマクロブロック単位で前記３つの予測方法のうち、有利な１つの方法を選択して利用する。
【００１２】
ところが、このような予測方法を使用するためには、如何なる予測方法が使用されたか、または予測時に参照するデータが何かについての情報をデコーディング側に送るために多様なフラッグを使用する。マクロブロック単位、またはスライス、フレーム単位でエンコーディングする場合、該当単位によって小さくは１ｂｉｔから数ｂｉｔまたは数十ｂｉｔに該当しうる。このような情報が全体動画像にマクロブロックごとに、またはスライスやフレームごとに設定される場合にデータは大きくなる。したがって、これらの情報を効率的に圧縮するための方法及び装置が必要である。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、前記問題点を改善するために案出されたものであって、本発明は、基礎階層のデータを通じて予測方法に所要されるデータの大きさを減らすところにその目的がある。
【００１４】
本発明の目的は、以上で言及した目的に制限されず、言及されていない他の目的は下の記載から当業者に明確に理解されうる。
【課題を解決するための手段】
【００１５】
本発明の一実施形態によるビデオ信号の残差予測フラッグをコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを、対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、前記下位階層の対応するブロックの残差データのエネルギーを計算するステップ、前記エネルギーによって前記残差予測フラッグのコーディング方法を決定するステップ、及び前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップを含む。
【００１６】
本発明の他の実施形態によるビデオ信号の残差予測フラッグをコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してコーディングするために、前記予測如何を示す残差予測フラッグをコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのコーディング方法を決定するステップと、前記決定されたコーディング方法によって残差予測フラッグをコーディングするステップと、を含む。
【００１７】
本発明の一実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを、対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックの残差データのエネルギーを計算するステップと、前記エネルギーによって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
【００１８】
本発明の他の実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を計算するステップと、前記計算した符号化ブロックパターンの値によって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
【００１９】
本発明のさらに他の実施形態によるビデオ信号の残差予測フラッグをデコーディングする方法は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする方法において、前記下位階層の対応するブロックに対する符号化ブロックパターンの値を確認するステップと、前記符号化ブロックパターンを構成するそれぞれのビットに１の値を有するビットの存否を判断するステップと、前記判断の結果、１の値を有するビットが１つ以上存在する否かかによって前記残差予測フラッグのデコーディング方法を決定するステップと、前記決定されたデコーディング方法によって残差予測フラッグをデコーディングするステップと、を含む。
【００２０】
本発明の他の実施形態によるデコーディング方法は、多階層ビデオ信号の復号化しようとする向上階層をデコーディングする方法において、前記向上階層に対応する下位階層の符号化ブロックパターン値から、前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定するステップと、前記デコーディング方法によって選択されたエントロピー復号化方法によって前記残差予測フラッグを復号化し、前記残差予測フラッグによって前記向上計測を復号化する復号化ステップと、を含む。
【００２１】
本発明の他の実施形態によるデコーディング装置は、多階層ビデオ信号の向上階層を構成するブロックの残差データを対応する下位階層ブロックの残差データから予測してデコーディングするために、前記予測如何を示す残差予測フラッグをデコーディングする装置において、前記下位階層ブロックに対する符号化ブロックパターンの値を解釈するパージング部と、前記符号化ブロックパターン値によって前記残差予測フラッグに対するデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグをデコーディングするデコーディング部と、を備える。
【００２２】
本発明のさらに他の実施形態によるデコーディング装置は、多階層ビデオ信号の復号化しようとする向上階層をデコーディングする装置において、前記向上階層に対応する下位階層の符号化ブロックパターン値を解釈するパージング部と、前記符号化ブロックパターン値から前記向上階層の前記下位階層からの予測如何を示す残差予測フラッグのデコーディング方法を決定し、前記デコーディング方法によって前記残差予測フラッグを逆エントロピー復号化し、前記向上階層を逆エントロピー復号化する逆エントロピー復号化部と、前記向上階層を逆量子化する逆量子化部と、前記逆量子化された向上階層を逆時間的変換し、前記残差予測フラッグによって前記下位階層から予測して復号化する逆時間的変換部と、を備えることを特徴とする。
【００２３】
その他の実施例の具体的な事項は詳細な説明及び図面に含まれている。
【発明の効果】
【００２４】
本発明を具現することによって、基礎階層のデータで向上階層のデータが基礎階層のデータを参照しているか否かを判断して、データの圧縮率を高めることができる。
【発明を実施するための最良の形態】
【００２５】
本発明の利点及び特徴、そしてこれを達成する方法は添付された図面に基づいて詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は以下で開示される実施例に限定されるものではなく、この実施例から外れて多様な形に具現でき、本明細書で説明する実施例は本発明の開示を完全にし、本発明が属する技術分野で当業者に発明の範ちゅうを完全に報せるために提供されるものであり、本発明は請求項及び発明の詳細な説明により定義されるだけである。一方、明細書全体に亙って同一な参照符号は同一な構成要素を示す。
【００２６】
以下、本発明の実施形態によって、基礎階層と向上階層のデータにより予測情報をデコーディングしてコーディング率を向上させる装置及び方法を説明するためのブロック図またはフローチャートに関する図面を参考して本発明について説明する。この時、フローチャートの各ブロックとフロ−チャートの組合わせはコンピュータプログラムインストラクションにより実行可能なのが理解できるであろう。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーに搭載されうるので、コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーを通じて実行されるそのインストラクションがフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラムインストラクションは特定方式で機能を具現するためにコンピュータまたはその他のプログラマブルデータプロセッシング装備を指向できるコンピュータ利用可能またはコンピュータ判読可能メモリに保存されることも可能なので、そのコンピュータ利用可能またはコンピュータ判読可能メモリに保存されたインストラクションはフローチャートのブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションはコンピュータまたはその他のプログラム可能なデータプロセッシング装備上に搭載することも可能なので、コンピュータまたはその他のプログラマブルデータプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラマブルデータプロセッシング装備を行うインストラクションはフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
【００２７】
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつの代替実行例では、ブロックで言及された機能が順序を外れて発生することも可能であるということに注目せねばならない。例えば、連続して図示されている２つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
【００２８】
図２で説明した予測方法をデコーディング側で使用するために如何なる方式の予測がなされたか、あるいは如何なるデータを参照しているかなどについての情報を設定してエンコーディング側から伝送する。データを圧縮する技法のうち１つであるエントロピーコーディングは、無損失圧縮を使用して最終圧縮を行う。通常ハフマンコーディング（Ｈｕｆｆｍａ  ｎｃｏｄｉｎｇ）を多用する。ハフマンコーディングは可変長（ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ）コーディング方式であって、情報が現れる確率によってビットを割り当てる方式である。したがって、エントロピーコーディングを使用して全体ビット効率を高めるためには、情報を示す方式を調節する。
【００２９】
一方、図２で説明した予測方法をデコーディング側に知らせるための情報のうち、基礎階層の情報を参照して予測する方式が存在する。例えば、基礎階層の残差データを参照して予測するか、基礎階層のモーションベクトルを参照して予測する場合が発生する。この際、基礎階層の情報を参照して予測方法を適用しているかを知らせるためのフラッグとして、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇ、モーション予測フラッグ（ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇ）などの予測情報が存在する。これらフラッグは、マクロブロックまたはスライスやフレーム単位で設定しうる。したがって、これらフラッグは、前記単位別に常に存在する情報であるために、これらの大きさを減らすか、エントロピーコーディングのようにコーディング時に圧縮効率を高めることが重要である。このために前記予測フラッグをデコーディング端で予測可能に情報を設定し、前記情報を用いて前記予測フラッグを復元しうる。
【００３０】
図３は、ビデオコーディングでの残差予測の例を示す。残差予測とは、残差結果、すなわち、図２で説明した予測方法のうち、１つを使用して得た結果である残差データについてもう一度予測を行うことを意味する。基礎階層のいずれか１つのマクロブロック、スライスまたはフレーム１４は、図２で説明した予測方法のうち、１つである時間的インター予測を使用して残差データとして、マクロブロック、スライスまたはフレームを構成しうる。この際、基礎階層を参照する向上階層のマクロブロック、スライス、またはフレームも基礎階層の残差データを参照する残差予測を行える。以下、マクロブロックを中心に説明するが、本発明の範囲がマクロブロックに限定されるものではない。マクロブロック以外に、スライス、フレームにも適用しうる。
【００３１】
向上階層のマクロブロックが時間的インター予測を行うために基礎階層の残差を参照しうる。デコーディング端に基礎階層の残差を参照したことを知らせるために、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを１に設定しうる。ところが、基礎階層のマクロブロック（残差データで構成されたマクロブロック）がいずれも０である値を有するか、０でない情報を有するピクセルが特定基準（ｔｈｒｅｓｈｏｌｄ、閾値）より低い場合、またはｃｂｐ値が０であるか、特定基準より低い値を有する場合には、残差予測フラッグを設定する必要がない。基礎階層で実行した時間的インター予測の結果、動きがほとんどない場合を意味する。したがって、この場合、向上階層のマクロブロックは、参照するデータがないか、あるいは不足するので、残差予測フラッグが必要でない。したがって、このような場合には、残差予測フラッグを設定しないことによってビットを節約しうる。
【００３２】
残差予測は、向上階層のモーションベクトルと基礎階層のモーションベクトルとが類似した場合に意味がある。したがって、各階層間のモーションベクトルの差は、残差予測フラッグの値を予測する因子になりうる。まず、残差予測フラッグの値を予測するための決定情報を便宜上予測決定フラッグという。ＪＳＶＭ（Ｊｏｉｎｔ  Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｍｏｄｅｌ）１で残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを設定する代わりに、残差予測フラッグと予測決定フラッグＰｒｄＲｐＦｌａｇとの差をコーディングする場合に、エントロピーコーディングの効率を高めうる。したがって、このような差を示す残差予測差フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇ＿ｄｉｆｆを導入してビデオ情報をエンコーディングしうる。
【００３３】
残差予測差フラッグを求める方法は、次の通りである。まず、基礎階層の残差に存在する非ゼロピクセル（ｎｏｎ−ｚｅｒｏ  ｐｉｘｅｌ）の数が一定基準（ｔｈｒｅｓｈｏｌｄ）以下である場合には残差予測フラッグをコーディングする過程を経る。
【００３４】
非ゼロピクセルの数が一定基準以上である場合には、残差予測フラッグではない残差予測差フラッグをコーディングする。残差予測差フラッグを求めるためには、基礎階層のモーションベクトルＢａｓｅＭＶと向上階層のモーションベクトルＣｕｒｒＭＶとの差を使用する。残差予測差フラッグをコーディングするためには、予測決定フラッグＰｒｐＲｐＦｌａｇを求めなければならない。
【００３５】
もし、｜ＢａｓｅＭＶ−ＣｕｒｒＭＶ｜＜特定値（ｔｈｒｅｓｈｏｌｄ）である場合、ＰｒｐＲｐＦｌａｇを１とし、その他の場合は０にする。求められたＰｒｐＲｐＦｌａｇと残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｉｏｎ＿ｆｌａｇとの差になる値である残差予測差フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇ＿ｄｉｆｆをコーディングする。前記の過程を再び説明すれば次の通りである。
【００３６】
基礎階層の残差のエネルギー（または非ゼロピクセルの数）が特定値Ｔｈｒｅｓｈｏｌｄｒｅｓｉｄｕａｌより低い場合、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｉｏｎ＿ｆｌａｇをコーディングしない。
【００３７】
その他の場合を再び２つに分ければ次の通りである。｜ＢａｓｅＭＶ−ＣｕｒｒＭＶ｜＜特定値ＴｈｒｅｓｈｏｌｄＭＶである場合には、１−ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングし、そうでない場合には、０−ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇ、すなわちｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングする。
【００３８】
前記の概念を具現するためのフローチャートを説明すれば図４のようである。
【００３９】
図４は、本発明の一実施形態による残差予測フラッグのエンコーディング効率を高めるフローチャートである。まず、基礎階層の残差データを求める（Ｓ１０１）。基礎階層の残差データは、基礎階層が時間的インターコーディングのように他のフレームまたは他のブロックなどを参照して得た結果を意味する。基礎階層の残差データが特定値Ｔｈｒｅｓｈｏｌｄｒｅｓｉｄｕａｌより小さい場合（Ｓ１０５）、例えば、０を基準にした場合、または全体エネルギーが特定値より小さい場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを設定する必要がない。したがって、残差予測フラッグをコーディングしない。
【００４０】
一方、基礎階層の残差データが特定値Ｔｈｒｅｓｈｏｌｄｒｅｓｉｄｕａｌより大きい場合（Ｓ１０５）、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを選択的に１または０を有しうる。選択のために予測決定フラッグを設定する基準を定めることができる。Ｓ１１０ステップで、基礎階層のモーションベクトルＢａｓｅＭＶと向上階層または現在階層のモーションベクトルＣｕｒｒＭＶとの差が特定値ＴｈｒｅｓｈｏｌｄＭＶより小さい場合、基礎階層の残差データを使用する可能性が高い。したがって予測決定フラッグを１にする（Ｓ１１１）。一方、Ｓ１１０ステップで、基礎階層のモーションベクトルＢａｓｅＭＶと向上階層または現在階層のモーションベクトルＣｕｒｒＭＶとの差が特定値ＴｈｒｅｓｈｏｌｄＭＶより大きい場合、基礎階層の残差データを使用する可能性が低い。したがって、予測決定フラッグを０にする（Ｓ１１２）。Ｓ１１１及びＳ１１２ステップで設定した予測決定フラッグ及び予測決定フラッグと残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの差である残差予測差フラッグをコーディングする。エンコーディング端ではマクロブロック別に、またはスライス単位またはフレーム単位で前記の予測決定フラッグと残差予測差フラッグとをコーディングしうる。
【００４１】
図５は、本発明の一実施形態による図４でエンコーディングされたデータをデコーディングするフローチャートである。まず、エンコーディングされたデータで基礎階層の残差データを求める（Ｓ１５１）。残差データが特定値Ｔｈｒｅｓｈｏｌｄｒｅｓｉｄｕａｌより小さい場合（Ｓ１５５）、エンコーディングされた予測決定フラッグと残差予測差フラッグとの差を通じて残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを設定する（Ｓ１６１）。エンコーディング側で予測決定フラッグをＰｒｄＲｐＦｌａｇ、残差予測差フラッグをｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇ＿ｄｉｆｆとおく場合、ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇ＿ｄｉｆｆ＝ＰｒｄＲｐＦｌａｇ−ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇと求められる。したがって、ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを求めるためには、ＰｒｄＲｐＦｌａｇとｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇ＿ｄｉｆｆとの差を求めるならば得られる。
【００４２】
残差データが特定値Ｔｈｒｅｓｈｏｌｄｒｅｓｉｄｕａｌより大きい場合（Ｓ１５５）、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを参照して向上階層を生成したものではないので、残差予測フラッグを０に設定する（Ｓ１６２）。
【００４３】
前述した過程は、基礎階層の残差データを参照しているか否かと関連した残差予測フラッグの代りに、他の情報をエンコーディングしてエンコーディング効率を向上させる場合について説明した。以下、これと類似した方式で、基礎階層のモーション情報を参照するモーション予測フラッグの代りに、他の情報をエンコーディングしてエンコーディング効率を向上させる場合について説明する。
【００４４】
図６は、ビデオコーディングでのモーション予測の例を示す。モーション予測とは、基礎階層のモーションベクトルを参照して向上階層または現在階層のモーションベクトルを予測することを意味する。したがって、モーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが１である場合、基礎階層のモーションベクトルを参照して向上階層のモーションベクトルを予測する。逆に、０である場合、基礎階層のモーションベクトルを参照しない。図６の２１及び２５は、マクロブロックまたはサブブロック、スライス、フレームのうち、いずれか１つである。説明の便宜上、マクロブロックを中心に説明する。基礎階層のマクロブロック２１のモーションベクトルと向上階層のマクロブロック２５のモーションベクトルとを比較すれば、相互同一である。この場合、モーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングする必要がないので、このステップをスキップする。ここで、両モーションベクトルが同じか否かより一定基準（ＴｈｒｅｓｈｏｌｄＭｏｔｉｏｎ）以下である場合には、モーション予測フラッグをコーディングしない方式を採用しうる。
【００４５】
一方、基礎階層のモーションベクトルと空間的に隣接した領域を通じて求められたモーションベクトルを比較してモーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを判断しうる。空間的に隣接する領域から算出されたモーションベクトルは正確なモーションベクトルを提供する。しかし、モーション予測が常に正確に行われるものではない。その結果、モーションベクトルにおける大きな差をもたらせる。基礎階層のモーションベクトルを通じた予測が、空間的モーション予測より正確性が劣る場合でも、全般的に合理的な結果を提供する。このような観点で、モーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの予測に、前記両モーションベクトルの差を使用しうる。
【００４６】
マクロブロック２２とマクロブロック２６とのモーションベクトルの差が特定値ＴｈｒｅｓｈｏｌｄＭＶ以上である場合には、モーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを１に設定する可能性が高いので、予測決定フラッグＰｒｄＭｏｔＰｒｄＦｌａｇを１にする。一方、マクロブロック２２とマクロブロック２６とのモーションベクトルの差が特定値ＴｈｒｅｓｈｏｌｄＭＶ以下である場合には、モーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを０に設定する可能性が高いので、予測決定フラッグＰｒｄＭｏｔＰｒｄＦｌａｇを０にする。
【００４７】
前記過程を経て予測決定フラッグの値を定めれば、この値とモーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇとの差を求めてエンコーディングする。差は、モーション予測差フラッグｍｏｔｉｏｎ＿ｐｒｅｄ＿ｆｌａｇ＿ｄｉｆｆに設定してエンコーディングしうる。
【００４８】
図７は、本発明の一実施形態によるモーション予測フラッグのエンコーディング効率を高めるフローチャートである。まず、基礎階層で予測したモーションベクトルＰｒｅｄｉｃｔ＿ＭＶ＿Ｆｒｏｍ＿ＢａｓｅＬａｙｅｒと空間的に隣接した領域で予測したモーションベクトルＰｒｅｄｉｃｔ＿ＭＶ＿Ｆｒｏｍ＿Ｓｐａｔｉａを求める（Ｓ２０１）。そして、両モーションベクトル間の差が特定値ＴｈｒｅｓｈｏｌｄＭｏｔｉｏｎより小さい場合には、モーション予測フラッグをエンコーディングしない（Ｓ２０５）。一方、両モーションベクトル間の差が特定値ＴｈｒｅｓｈｏｌｄＭｏｔｉｏｎより大きい場合には、モーション予測フラッグの代りに、モーション予測フラッグを予測するための予測決定フラッグを設定する過程に進む。基礎階層で予測したモーションベクトルＰｒｅｄｉｃｔ＿ＭＶ＿Ｆｒｏｍ＿ＢａｓｅＬａｙｅｒと空間的に隣接したモーションベクトルＰｒｅｄｉｃｔ＿ＭＶ＿Ｆｒｏｍ＿Ｓｐａｔｉａとの差が特定値ＴｈｒｅｓｈｏｌｄＭＶより大きい場合、または小さい場合によって予測決定フラッグを設定する値が変わる（Ｓ２１０）。
【００４９】
Ｓ２１０において、差が特定値ＴｈｒｅｓｈｏｌｄＭＶより大きい場合には、予測決定フラッグを１に設定し（Ｓ２１１）、Ｓ２１０において、差が特定値ＴｈｒｅｓｈｏｌｄＭＶより小さい場合には、予測決定フラッグを０に設定する（Ｓ２１２）。Ｓ２１１及びＳ２１２ステップで設定した予測決定フラッグの値とモーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇとの差であるモーション予測差フラッグと予測決定フラッグをエンコーディングする（Ｓ２２０）。
【００５０】
図８は、本発明の一実施形態による図７でエンコーディングされたデータをデコーディングするフローチャートである。まず、エンコーディングされたデータから基礎階層で予測したモーションベクトル及び空間的に隣接した領域で予測したモーションベクトルを求める（Ｓ２５１）。両モーションベクトルの差が特定値ＴｈｒｅｓｈｏｌｄＭｏｔｉｏｎより小さい場合（Ｓ２５５）、エンコーディングされた予測決定フラッグとモーション予測差フラッグとの差を通じてモーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを設定する（Ｓ２６１）。エンコーディング側で予測決定フラッグをＰｒｄＲｐＦｌａｇ、モーション予測差フラッグをｍｏｔｉｏｎ＿ｐｒｅｄ＿ｆｌａｇ＿ｄｉｆｆとする場合、ｍｏｔｉｏｎ＿ｐｒｅｄ＿ｆｌａｇ＿ｄｉｆｆ＝ＰｒｄＲｐＦｌａｇ−ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇと求められる。したがって、ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを求めるためには、ＰｒｄＲｐＦｌａｇとｍｏｔｉｏｎ＿ｐｒｅｄ＿ｆｌａｇ＿ｄｉｆｆとの差を求めるならば得られる。
【００５１】
モーションベクトルの差が特定値ＴｈｒｅｓｈｏｌｄＭｏｔｉｏｎより大きい場合（Ｓ２５５）、モーション予測フラッグｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを０に設定する（Ｓ２６２）。
【００５２】
図３ないし図８に至る過程で、コーディングするデータの大きさを減らすために基礎階層のデータを参照する過程を説明した。コーディングするデータの大きさを減らすための他の実施形態を説明すれば次の通りである。
【００５３】
図３ないし図８でのコーディング過程は、基礎階層のデータを参照する必要がない場合には、基礎階層のデータを参照することを示すフラッグをコーディングすることを省略するか、この値を予測するための値をコーディングした。
【００５４】
次の実施形態では、基礎階層のデータを参照して残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値をコーディングしいか、またはその値を新たに変換した値でコーディングする過程を示す。
【００５５】
基礎階層の残差に存在する非ゼロピクセルの数が０であるか、または基礎階層のｃｂｐ（ｃｏｄｅｄ  ｂｌｏｃｋ  ｐａｔｔｅｒｎ）値が０である場合には、残差予測フラッグの値を予測しうるので、残差予測フラッグをコーディングする過程を省略しうる。そして、その他の場合には、１から残差予測フラッグを差し引いた値をコーディングする。なぜなら、その他の場合には、残差予測フラッグの値が１になる可能性が高い。ところが１をそのままコーディングすれば、エンコーディングされるデータが大きくなるので、これを０に変えてコーディングする場合、コーディング率を高めうる。
【００５６】
ＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）を基盤とする場合、前記の方式を使用する時、さらに多くの０が算出される。コンテキスト基盤の適応的算術コーディングを使用する場合、コーディングしなければならないデータで、頻繁に登場するビットまたはビットパターンをさらに効率的に圧縮できるために、データで１または０が登場するパターンを調整することによって、全体圧縮率を高めうる。コンテキスト基盤の適応的算術コーディングについてさらに詳細に説明すれば、コンテキスト基盤の適応的算術コーディングはシンボルのコンテキスト（Ｃｏｎｔｅｘｔ）によって各シンボルのための確率モデルを選択し、ローカル統計（Ｌｏｃａｌ  ｓｔａｔｉｓｔｉｃｓ）に基づいてその確率推定値（Ｐｒｏｂａｂｉｌｉｔｙ  ｅｓｔｉｍａｔｅｓ）を適応させ、算術コーディングを使用することによって、良い圧縮性能を達成する。データシンボルをコーディングする過程は次の通りである。
【００５７】
１．２進化：コンテキスト基盤の適応的算術コーディング技法のうち、２進算術コーディングの場合、２進値でないシンボル値を２進数に変換する。コンテキスト基盤の適応的２進算術コーディング（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ；以下ＣＡＢＡＣと称する）は、２進判断（ｂｉｎａｒｙ  ｄｅｃｉｓｉｏｎ）だけがエンコーディングされる。２進値でないシンボル、例えば、変換係数、またはモーションベクトルのような２以上の可能な値を有する任意のシンボルは算術コーディングに先立って２進コードに変換される。この過程は、データシンボルを可変長コードに変換することと類似しているが、２進コードは伝送前に算術コーダによりさらにエンコーディングされる。
【００５８】
２ないし４は、２進化されたシンボルの各ビット、すなわち、ビン（ｂｉｎ）に対して反復される。
【００５９】
２．コンテキストモデルの選択：コンテキストモデルは、２進化されたシンボルの１つあるいはそれ以上のビン（Ｂｉｎ）に対する確率モデルの集合であり、最近にコーディングされたデータシンボルの統計に基づいて活用可能なモデルから選択される。コンテキストモデルは、各ビンが‘１’または‘０’になる確率を保存する。
【００６０】
３．算術エンコーディング：算術エンコーダは、選択された確率モデルによって各ビンをエンコーディングする。各ビンに対して‘０’と‘１’に該当する２つの副確率範囲（ｓｕｂ−ｒａｎｇｅ）だけがある。
【００６１】
４．確率アップデート：選択された確率モデルは、実際コーディングされた値に基づいてアップデートされる。すなわち、ビンの値が‘１’であれば、‘１’の頻度数が１つ増加する。
【００６２】
前述したＣＡＢＡＣコーディングは、コンテキストモデルを選択する過程をスライス単位で行うために、コンテキストモデルを構成する確率モデルの確率値は、スライスごとに特定定数テーブルに初期化される。ＣＡＢＡＣコーディングは、最近にコーディングされたデータシンボルの統計を反映して、コンテキストモデルをアップデートし続けるために、一定程度の情報が累積されて初めて、既存の可変長コーディング（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ；以下、ＶＬＣと称する）より良いコーディング効率を提供しうる。
【００６３】
図９は、前記の過程を説明するフローチャートである。前述したように、基礎階層の残差エネルギーの値またはＣＢＰ値を参照して残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値をコーディングしいか、またはその値を新たに変換した値でコーディングする過程を示す。
【００６４】
基礎階層の残差データを求める（Ｓ３０１）。基礎階層の残差データのエネルギーが０であるか、またはＣＢＰが０である場合（Ｓ３０２）には、基礎階層の残差データがいずれもゼロピクセルであるということを意味するので、上位階層でこれを参照しない。したがって、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇをコーディングする必要がない。
【００６５】
一方、基礎階層の残差データのエネルギーが０でないか、ＣＢＰが０でない場合、すなわち、基礎階層の残差データに非ゼロピクセルが存在する場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの意味がある。したがって、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値を求める（Ｓ３１２）。そして、１から残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇを差し引いた値、すなわち、１−ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの逆残差予測フラッグｒｅｖｅｒｓｅｄ＿ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値を求めて、これをエンコーディングする（Ｓ３１６）。
【００６６】
図１０は、前記図９で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。基礎階層の残差データを求める（Ｓ３５１）。基礎階層の残差データのエネルギーが０であるか、またはＣＢＰが０である場合（Ｓ３５２）には、向上階層で予測するデータが存在しないので、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値を０に設定する（Ｓ３６４）。一方、Ｓ３５２ステップで基礎階層の残差データに非ゼロピクセルが存在する場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの意味がある。図９において、エンコーディングされたデータは、１−ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値を有する逆残差予測フラッグｒｅｖｅｒｓｅｄ＿ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇであるために、デコーディングされた逆残差予測フラッグを１から差し引いた値である１−ｒｅｖｅｒｓｅｄ＿ｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇを求めて残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇを求めうる。
【００６７】
図９及び図１０で説明した過程は、残差予測フラッグを基礎階層の残差データを通じてコーディング如何を判断し、コーディングする場合には、逆値を使用することによって、コーディング率を向上させる実施形態であった。
【００６８】
次いで、コンテキスト基盤の適応的算術コーディングの方式を適用するに当たって、データをコーディングする場合、変更されたコンテキスト（ｍｏｄｉｆｉｅｄ  ｃｏｎｔｅｘｔ）を基準に残差予測フラッグをコーディングすることを説明する。コンテキスト基盤の適応的算術コーディングは、前述したようにコンテキストを基盤としてシンボルをコーディングする。したがって、コンテキストモデルが０にバイアスされたか、１にバイアスされたかによって、コーディング率が変わる。例えば、０にバイアスされたコンテキストである場合、このコンテキストをもって０の多いデータの圧縮時に圧縮率が高い。一方、１にバイアスされたコンテキストの場合、このコンテキストをもって１の多いデータの圧縮時に圧縮率が高い。ところが、図９で説明したように、残差予測フラッグをコーディングする場合には、１になる可能性が高い。したがって、この場合には、変更されたコンテキストを適用してシンボル１にバイアスされたコンテキストをもって残差予測フラッグをコーディングする。
【００６９】
図１１は、コンテキストを変更して残差予測フラッグをコーディングする過程を示すフローチャートである。前述したように、基礎階層の残差エネルギーの値またはＣＢＰ値を参照して残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値をまったくコーディングしないか、または、その値をシンボル１にバイアスされたコンテキストを使用してコーディングする過程を示す。
【００７０】
基礎階層の残差データを求める（Ｓ４０１）。基礎階層の残差データのエネルギーが０であるか、またはＣＢＰが０である場合（Ｓ４０２）には、基礎階層の残差データがいずれもゼロピクセルであることを意味するので、上位階層でこれを参照しない。したがって、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇをコーディングする必要はない。一方、多階層構造ｍｕｌｔｉ−ｌａｙｅｒｓｔｒｕｃｔｕｒｅを使用する場合には、最下位階層からＣＢＰが累積されうる。この際、基礎階層から累積され続けたＣＢＰ値が０である場合も、残差予測フラッグをコーディングする必要がない。したがって、コーディング過程を省略して進む。
【００７１】
一方、基礎階層の残差データのエネルギーが０でないか、累積されたＣＢＰが０でない場合、すなわち、基礎階層の残差データに非ゼロピクセルが存在する場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの意味がある。したがって、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値を求める（Ｓ４１２）。そして、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値が１である可能性が高いので、シンボル１にバイアスされたコンテキストをもって残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇをエンコーディングする（Ｓ４１６）。
【００７２】
図１２は、図１１で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。基礎階層の残差データを求める（Ｓ４５１）。基礎階層の残差データのエネルギーが０であるか、または累積されたＣＢＰが０である場合（Ｓ４５２）には、向上階層で予測するデータが存在しないので、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値を０に設定する（Ｓ４６４）。一方、Ｓ４５２ステップで基礎階層の残差データに非ゼロピクセルが存在する場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの意味がある。したがって、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇをデコーディングするが、この際、シンボル１にバイアスされたコンテキストをもってデコーディングする（Ｓ４６２）。そして、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄ＿ｆｌａｇの値によって向上階層のデータを求める（Ｓ４７０）。
【００７３】
前記実施形態以外にも基礎階層の残差データのエネルギーまたはＣＢＰ（ｃｏｄｅｄ  ｂｌｏｃｋ  ｐａｔｔｅｒｎ）の値を参照して、残差予測フラッグをコーディングするか否かを決定しうる。基礎階層の残差データのエネルギーまたはＣＢＰが一定範囲に入る場合には、残差予測フラッグをコーディングしない方式で進めうる。これに対するコード（ｐｓｅｕｄｏ  ｃｏｄｅ）を説明すれば、次の通りである。
Ｉｆ（基礎階層の残差データのエネルギーまたはＣＢＰが０である場合）
ｔｈｅｎ
ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングしない。
【００７４】
ｅｌｓｅ
ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングする。
【００７５】
デコーディング側でも基礎階層をデコーディングした結果、基礎階層の残差データのエネルギーまたはＣＢＰが０である場合には、基礎階層に対する残差予測を行わずに、デコーディングを進める。そして、その他の場合には、ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値をデコーディングする。これについてのコード（ｐｓｅｕｄｏ  ｃｏｄｅ）を説明すれば次の通りである。
Ｉｆ（基礎階層の残差データのエネルギーまたはＣＢＰが０である場合）
ｔｈｅｎ
ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをデコーディングしない。
【００７６】
ｅｌｓｅ
ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをデコーディングする。
【００７７】
一方、基礎階層の残差データによってコーディングを異ならせる実施形態を説明すれば図１３のようである。基礎階層の残差データを求める（Ｓ５０１）。残差データを求めた結果、残差データのエネルギーが０であるか、またはＣＢＰが０である場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値が０であるために、残差予測フラッグの値が０である時、エンコーディング効率の高い方法を使用する（Ｓ５２０）。例えば、コーディング方法としてＣＡＢＡＣが使用される場合、‘０’である確率が‘１’である確率よりさらに高い値を有するＣＡＢＡＣコンテキストモデルの確率モデルを使用して、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングする。
【００７８】
一方、基礎階層の残差データのエネルギーが０でないか、ｃｂｐが０でない場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値が１である可能性が高い。したがって、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値が１である場合に効率が高い方法を使用する（Ｓ５３０）。例えば、コーディング方法としてＣＡＢＡＣが使われる場合、‘１’の確率が‘０’の確率よりさらに高い値を有するＣＡＢＡＣコンテキスト確率モデルを使用して残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングする。
【００７９】
図１３の過程をコード（ｐｓｅｕｄｏ  ｃｏｄｅ）を通じて説明すれば次のようである。
Ｉｆ（基礎階層の残差データのエネルギー＝０またはＣＢＰ＝０である場合）
ｔｈｅｎ
ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが‘０’である場合に効率が高い方法を使用してコーディングする。
【００８０】
ｅｌｓｅ
ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが‘１’である場合に効率が高い方法を使用してコーディングする。
【００８１】
基礎階層、ＦＧＳ（ｆｉｎｅ−ｇｒａｎｕｌａｒｉｔｙ  ｓｃａｌａｂｉｌｉｔｙ）階層、そして向上階層で構成されたビデオコーディング方式では、残差データエネルギーのＣＢＰ値は基礎階層またはＦＧＳ階層で参照しうる。
【００８２】
デコーディング過程もこれと類似している。基礎階層の残差データを求め、残差データを求めた結果、残差データのエネルギーが０であるか、またはＣＢＰが０である場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値が０であるために、残差予測フラッグの値が０である時、エンコーディング効率が高い方法によってエンコーディングされたビデオデータをデコーディングする。例えば、ＣＡＢＡＣを通じてビデオエンコーディングがなされた場合、‘０’の確率が‘１’の確率よりさらに高い値を有するＣＡＢＡＣコンテキスト確率モデルを使用してビデオデータをデコーディングし、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを求める。
【００８３】
一方、基礎階層の残差データのエネルギーが０でないか、ｃｂｐが０でない場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値が１である可能性が高いと判断し、エンコーディング率が高い方法を使用してビデオ信号をエンコーディングすることによって、デコーディング時にもこれを考慮してデコーディングする。例えば、コーディング方法としてＣＡＢＡＣが使われる場合、‘１’の確率が‘０’の確率よりさらに高い値を有するＣＡＢＡＣコンテキスト確率モデルを使用してビデオデータをデコーディングし、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを求める。デコーディング過程をコードで説明すれば次の通りである。
Ｉｆ（基礎階層の残差データのエネルギー＝０またはＣＢＰ＝０である場合）
ｔｈｅｎ
ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが‘０’である場合に効率が高い方法を使用してデコーディングする。
【００８４】
ｅｌｓｅ
ｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが‘１’である場合に効率が高い方法を使用してデコーディングする。
【００８５】
図１３において、Ｓ５２０では残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが０である場合、またはＳ５３０では残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが１である場合に各々効率が高い方法を使用する。この際、効率が高い方法のうち１つとして、エントロピーコーディング時にコンテキストモデルを変えることを挙げられる。一実施形態でＣＡＢＡＣコーディングを行う場合、コンテキストモデルを変えてコーディングする過程を説明すれば、図１４のようである。基礎階層の残差データを求める（Ｓ６０１）。残差データを求めた結果、残差データのエネルギーが０であるか、またはＣＢＰが０である場合（Ｓ６１０）には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値が０であるために、ＣＡＢＡＣコンテキストモデルの確率値を、‘０’の確率が‘１’の確率よりさらに高い値を有するように設定してｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングする（Ｓ６２０）。一方、Ｓ６１０ステップで基礎階層の残差データが０でない場合、またはＣＢＰ値が０でない場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値が１である場合が多いので、ＣＡＢＡＣコンテキストモデルの確率値を、‘１’の確率が‘０’の確率よりさらに高い値を有するように設定してｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングする（Ｓ６３０）。
【００８６】
図１５は、図１４の過程を通じてエンコーディングされたビデオデータをデコーダでデコーディングする過程を示すフローチャートである。デコーダは、受信されたビットストリームで基礎階層デコーディングを行い、基礎階層の残差データを求める（Ｓ６５１）。そして、ｃｏｄｅｄ＿ｐａｔｔｅｒｎ＿ｂｌｏｃｋビットを求める（Ｓ６５２）。ｃｏｄｅｄ＿ｐａｔｔｅｒｎ＿ｂｌｏｃｋで下位４ビットはＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａに割り当て、上位２ビットはＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａに割り当てる（Ｓ６５３）。ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａの値は、マクロブロックを構成する４個のサブブロックに対するＣＢＰ値であることが分かる。ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａの値は、ＤＣ成分とＡＣ成分に対するＣＢＰ値であることが分かる。ｃｏｄｅｄ＿ｐａｔｔｅｒｎ＿ｂｌｏｃｋとＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａ、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａの構成を説明すれば、表１のようである。ｃｏｄｅｄ＿ｐａｔｔｅｒｎ＿ｂｌｏｃｋは、各ビットが示すサブブロックまたはマクロブロックでの非ゼロピクセルの存否についての情報を提供する。
【００８７】
【表１】
2006304307.tif 000003
ｂｉｔ［０］は、マクロブロックを８ｘ８大きさで割った明度ブロック（ｌｕｍａｂｌｏｃｋ）のうち、上左側ブロック（ｔｏｐ−ｌｅｆｔ  ８ｘ８ｌ  ｕｍａｂｌｏｃｋ）に非ゼロピクセルが存在する場合、１である。ｂ  ｉｔ［１］は、上右側ブロック（ｔｏｐ−ｒｉｇｈｔ  ８ｘ８  ｌｕｍａｂｌｏｃｋ）、ｂｉｔ［２］は下左側ブロック（ｌｏｗｅｒ−ｌｅｆｔ  ８ｘ８  ｌｕｍａｂｌｏｃｋ）、そしてｂｉｔ［２］は、下右側ブロック（ｌｏｗｅｒ−ｒｉｇｈｔ  ８ｘ８  ｌｕｍａｂｌｏｃｋ）に各々非ゼロピクセルが存在する場合、１の値を有する。
【００８８】
またｂｉｔ［４］及びｂｉｔ［５］は、マクロブロックで色相情報のＤＣ成分とＡＣ成分に非ゼロピクセルが存在する場合、１の値を有する。
【００８９】
したがって、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎの値（ＣＢＰ）を検討すれば、非ゼロピクセルの存否を判断しうる。Ｓ６６０ステップで、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａを構成する４つのｂｉｔのうち、１であるｂｉｔが１つ以上存在するか、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａの値が０より大きい場合には、残差データに非ゼロピクセルが存在することを示すので、この際には残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが１になる可能性が高い。したがって、エントロピーデコーディングに必要なコンテキストモデルを設定するために、ｃｔｘＩｄｘＩｎｃの値を１に設定する（Ｓ６７０）。ｃｔｘＩｄｘＩｎｃの値を１に設定すれば、前述した残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが‘１’である場合に、効率の高い方法でエンコーディングされたデータをデコーディングする。一実施形態で、ＣＡＢＡＣコンテキストモデルの確率値を、‘１’の確率が‘０’の確率よりさらに高い値を有するように設定してデコーディングする。
【００９０】
一方、Ｓ６６０ステップで、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａを構成する４つのｂｉｔのうち、１であるビットが存在しないか、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａの値が０である場合には、残差データに非ゼロピクセルが存在しないことを示すので、この時には残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが０になる。したがって、エントロピーデコーディングに必要なコンテキストモデルを設定するためにｃｔｘＩｄｘＩｎｃの値を０に設定する（Ｓ６７０）。ｃｔｘＩｄｘＩｎｃの値を０に設定すれば、前述した残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが‘０’である場合に、効率が高い方法でエンコーディングされたデータをデコーディングする。一実施形態で、ＣＡＢＡＣコンテキストモデルの確率値を、‘０’の確率が‘１’の確率よりさらに高い値を有するように設定してデコーディングする。
【００９１】
Ｓ６７０またはＳ６８０過程で、ｃｔｘＩｄｘＩｎｃの値を設定すれば、決定された値をもってエントロピーデコーディングを行う（Ｓ６９０）。
【００９２】
Ｓ６６０ステップは、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎに１であるビットが存在している否かを検討する過程である。前述したようにＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａとＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａとにｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎを割り当てる。ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａを通じて非ゼロピクセルを探す過程を説明すれば次の通りである。
ｆｏｒ（ｌｕｍａ８ｘ８ＢｌｋＩｄｘ＝０；，ｉ＜＝３；，ｉ＋＋）｛
ｉｆ（（ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａ＞＞ｌｕｍａ８ｘ８ＢｌｋＩｄｘ）＆１）ａｎｄ
（現在マクロブロックがｉｎｔｅｒ−ｍａｃｒｏｂｌｏｃｋ））
ｔｈｅｎ
ｒｅｓｉｄｕａｌＡｖａｉｌＬｕｍａ８ｘ８Ｂｌｋ＝１；，
ｂｒｅａｋ；，
ｅｌｓｅ
ｒｅｓｉｄｕａｌＡｖａｉｌＬｕｍａ８ｘ８Ｂｌｋ＝０；，
｝
ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａの各ビットが１であるかを把握するために、ｌｕｍａ８ｘ８ＢｌｋＩｄｘ別に＆ビット演算を行い、現在マクロブロックがインターマクロブロック（ｉｎｔｅｒ  ｍａｃｒｏｂｌｏｃｋ）の場合であるかを検討して、真である場合には、ｒｅｓｉｄｕａｌＡｖａｉｌＬｕｍａ８ｘ８Ｂｌｋを１に設定し、その他の場合には、０に設定する。ｒｅｓｉｄｕａｌＡｖａｉｌＬｕｍａ８ｘ８Ｂｌｋ値は、ｂａｓｅＲｅｓｉｄｕａｌＡｖａｉｌＬｕｍａ８ｘ８Ｂｌｋを設定し、その結果、エントロピーデコーディング時にコンテキストモデルを決定するｃｔｘＩｄｘＩｎｃの値を決定する。
【００９３】
ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａを通じて非ゼロピクセルを探す過程を説明すれば次の通りである。
ｉｆ（ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａ！＝０）ａｎｄ
（現在マクロブロックがｉｎｔｅｒ−ｍａｃｒｏｂｌｏｃｋ）
ｔｈｅｎ
ｒｅｓｉｄｕａｌＡｖａｉｌＣｈｒｏｍａ＝１；，
ｂｒｅａｋ；，
ｅｌｓｅ
ｒｅｓｉｄｕａｌＡｖａｉｌＣｈｒｏｍａ＝０；，
ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａの値が０でなく、現在マクロブロックがインターマクロブロックであるかを検討して、真である場合には、ｒｅｓｉｄｕａｌＡｖａｉｌＣｈｒｏｍａを１に設定し、その他の場合は０に設定する。ｒｅｓｉｄｕａｌＡｖａｉｌＣｈｒｏｍａ値は、ｂａｓｅＲｅｓｉｄｕａｌＡｖａｉｌＣｈｒｏｍａを設定し、その結果、エントロピーデコーディング時にコンテキストモデルを決定するｃｔｘＩｄｘＩｎｃの値を決定する。
【００９４】
したがって、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａまたはＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａに１であるビットが１つでも存在すれば、残差データに非ゼロピクセルを１つ以上あると判断して、ｃｔｘＩｄｘＩｎｃを１に設定し、その他の場合は、ｃｔｘＩｄｘＩｎｃを０に設定してエントロピーデコーディングを行う。
【００９５】
図１６は、本発明の一実施形態によるビデオエンコーダの構造を示す例示図である。図１６及び後述する図１７の説明では、１つの基礎階層と１つの向上階層とを使用する場合を例と挙げるが、さらに多くの階層を用いても下位階層と現在階層との間には、本発明を適用しうるということは当業者ならば十分に分かる。
前記ビデオエンコーダ５００は、向上階層エンコーダ４００と基礎階層エンコーダ３００とに大別されうる。まず、基礎階層エンコーダ３００の構成を説明する。
【００９６】
ダウンサンプラー３１０は、入力されたビデオを基礎階層に合う解像度とフレーム率、またはビデオ映像の大きさによってダウンサンプリングする。解像度面でのダウンサンプリングは、ＭＰＥＧダウンサンプラーやウェーブレットダウンサンプラーを利用しうる。そして、フレーム率面でのダウンサンプリングは、フレームスキップまたはフレーム補間などの方法を通じて簡単に行われる。ビデオ映像の大きさによるダウンサンプリングは、元の入力されたビデオが１６：９であっても、４：３に見られるようにすることを意味する。ビデオ情報において境界領域に該当する情報を除去するか、ビデオ情報を該当画面の大きさに合わせて縮小する方式を使用しうる。
【００９７】
モーション推定部３５０は、基礎階層フレームに対してモーション推定を行って基礎階層フレームを構成するパーティション別にモーションベクトル（ｍｖ）を求める。このようなモーション推定は、フレームバッファに保存された以前の参照フレームＦｒ’上で、現在フレームＦｃの各パーティションと最も類似している、すなわち、最もエラーの小さい領域を探す過程であって、固定大きさブロックマッチング方法、または階層的可変サイズブロックマッチングなど多様な方法を使用しうる。前記参照フレームＦｒ’は、フレームバッファ３８０によって提供されうる。但し、図１４の基礎階層エンコーダ３００は、復元されたフレームを参照フレームとして利用する方式、すなわち、閉ループ符号化方式を採択しているが、これに限らず、ダウンサンプラー３１０によって提供される元の基礎階層フレームを参照フレームとして利用する開ループ符号化方式を採択しても良い。
【００９８】
一方、モーション推定部３５０のモーションベクトルｍｖは、仮想領域フレーム生成部３９０に伝達される。これは、現在フレームの境界領域ブロックのモーションベクトルがフレームの中央に向う場合、仮想領域を付加した仮想領域フレームを生成するためである。
【００９９】
モーション補償部３６０は、前記求めたモーションベクトルを用いて、前記参照フレームをモーション補償（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｉｏｎ）する。そして、差分器３１５は基礎階層の現在フレームＦｃと前記モーション補償された参照フレームとを差分することによって、残差フレームを生成する。
【０１００】
変換部３２０は、前記生成された残差フレームに対して、空間的変換を行い、変換係数を生成する。このような空間的変換方法としては、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）、ウェーブレット変換などの方法が主に用いられる。ＤＣＴを使用する場合、前記変換係数は、ＤＣＴ係数を意味し、ウェーブレット変換を使用する場合、前記変換係数はウェーブレット係数を意味する。
【０１０１】
量子化部３３０は、変換部３２０によって生成される変換係数を量子化する。量子化とは、任意の実数値で表現される前記ＤＣＴ係数を量子化テーブルによって所定の区間に分けて不連続的な値（ｄｉｓｃｒｅｔｅ  ｖａｌｕｅ）で表し、これを対応するインデックスにマッチングさせる作業を意味する。このように量子化された結果値を量子化係数という。
【０１０２】
エントロピー符号化部３４０は、量子化部３３０によって生成された量子化係数、モーション推定部３５０で生成されたモーションベクトルを無損失符号化で基礎階層ビットストリームを生成する。このような無損失符号化方法では、ハフマン符号化、算術符号化、可変長符号化などの多様な無損失符号化方法を使用しうる。
【０１０３】
一方、逆量子化部３７１は、量子化部３３０から出力される量子化係数を逆量子化する。このような逆量子化過程は、量子化過程の逆に該当する過程であって、量子化過程で使われた量子化テーブルを用いて量子化過程で生成されたインデックスから、それにマッチングされる値を復元する過程である。
【０１０４】
逆変換部３７２は、前記逆量子化された結果値に対して逆空間的変換を行う。このような逆空間的変換は変換部３２０での変換過程の逆に進行し、具体的に逆ＤＣＴ変換、逆ウェーブレット変換などが用いられる。
【０１０５】
加算器３２５は、モーション補償部３６０の出力値と逆変換部３７２の出力値とを加算して現在フレームを復元Ｆｃ’し、これをフレームバッファ３８０に提供する。フレームバッファ３８０は、前記復元されたフレームを一時保存していて、他の基礎階層フレームのインター予測のために参照フレームとして提供する。
【０１０６】
復元されたフレームＦｃ’は、アップサンプラー３９５を経て向上階層エンコーダ４００に提供される。もちろん、基礎階層の解像度と向上階層の解像度とが同一であれば、前記アップサンプリング過程は省略しうる。
【０１０７】
次いで、向上階層エンコーダ２００の構成を説明する。基礎階層エンコーダ３００から提供されたフレームと入力フレームは、差分器４１０に入力される。差分器２１０は、前記入力フレームで前記入力された仮想領域を含む基礎階層フレームを差分して残差フレームを生成する。前記残差フレームは、変換部４２０、量子化部４３０、及びエントロピー符号化部４４０を経て向上階層ビットストリームに変換されて出力される。
【０１０８】
向上階層エンコーダ４００の変換部４２０は、入力フレームのマクロブロックと基礎階層フレームのマクロブロックの残差信号に対して空間的変換を行って変換係数を生成する。この際、空間的変換方法でＤＣＴ、ウェーブレット変換などが使われるということは前述した通りである。ＤＣＴ使用時のＤＣＴ係数またはウェーブレット変換の使用時、ウェーブレット係数は向上階層のマクロブロックが有する特性上、類似性が存在する。したがって、これら係数間に存在する類似性を除去して圧縮率を高める過程を向上階層エンコーダ４００の変換部４２０が行う。
【０１０９】
量子化部４３０の機能及び動作は、基礎階層エンコーダ３００の量子化部３３０の機能及び動作と同じであるために、重複された説明は省略する。量子化部４３０で算出されたビットストリームをエントロピー符号化部４４０を通じてエンコーディングする前に符号化情報設定部４３５を通じて残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを効率的にエンコーディングするように設定する作業が進む。
【０１１０】
符号化情報設定部４３５は、前述したように、向上階層のデータが基礎階層フレームのデータを参照しているか否かについて、予測データと予測した結果との差をエンコーディングして、以後エントロピー符号化部４４０でエンコーディングされて伝達する情報の損失は無くせる。変換部４２０で圧縮のために情報をビットに設定する過程は、残差データを予測する場合（図４、図９、図１１、図１３、図１４）と、モーションベクトルを予測する場合（図７）とで前述した通りである。例えば、基礎階層またはＦＧＳ階層の残差データのエネルギーが０であるか、またはＣＢＰ値が０である場合には、基礎階層の残差データを予測する必要がないので、符号化情報設定部４３５は残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをエンコーディングしない。以外の場合には、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇをコーディングする。この際、コーディングされる残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇの値が１である可能性が高いので、コーディング効率を考慮してエンコーディングするということは、図４、図９、図１１、図１３及び図１４で説明した。
【０１１１】
図１４の場合を適用する場合、符号化情報設定部４３５は、基礎階層の残差データのエネルギーが０であるか、ＣＢＰ値が０である場合には、残差予測フラッグの値が０であるためにＣＡＢＡＣコンテキストモデルの確率値を、‘０’の確率が‘１’の確率よりさらに高い値を有するように設定する。一方、基礎階層の残差データが０でない場合、またはＣＢＰ値が０でない場合には、残差予測フラッグの値が１である場合が多いので、ＣＡＢＡＣコンテキストモデルの確率値を、‘１’の確率が‘０’の確率よりさらに高い値を有するように設定する。これは前述したｃｔｘＩｄｘＩｎｃを０に設定するか、または１に設定する作業を一実施形態とする。
【０１１２】
エントロピー符号化部４４０は、符号化情報設定部４３５で設定した情報をもって向上階層データを符号化する作業を行う。符号化と関連した他の機能及び動作は、基礎階層エンコーダ３００のエントロピー符号化部３４０の機能及び動作と同様なので、重複される説明は省略する。
【０１１３】
図１６で示した向上階層エンコーダ４００は、基礎階層フレームに対して残差データまたはモーションベクトルのように基礎階層フレームを参照しうるデータがエンコーディング過程で基礎階層フレームのデータを参照しているか否かを予測しうる。
【０１１４】
図１７は、本発明の一実施形態によるビデオデコーダの構造を示す例示図である。前記ビデオデコーダ５５０は、向上階層デコーダ７００と基礎階層デコーダ６００とに大別しうる。まず、基礎階層デコーダ６００の構成を説明する。
エントロピー復号化部６１０は、基礎階層ビットストリームを無損失復号化して、基礎階層フレームのテクスチャーデータと、モーションデータ（モーションベクトル、パーティション情報、参照フレーム番号など）を抽出する。
【０１１５】
逆量子化部６２０は、前記テクスチャーデータを逆量子化する。このような逆量子化過程は、ビデオエンコーダ５００端で行われる量子化過程の逆に該当する過程であって、量子化過程で使われた量子化テーブルを用いて量子化過程で生成されたインデックスから、それにマッチングされる値を復元する過程である。
【０１１６】
逆変換部６３０は、前記逆量子化された結果値に対して逆空間的変換を行って、残差フレームを復元する。このような逆空間的変換は、ビデオエンコーダ５００端の変換部３２０での変換過程の逆に進行し、具体的に逆ＤＣＴ変換、逆ウェーブレット変換などが用いられる。
【０１１７】
一方、エントロピー復号化部６１０は、モーションベクトルｍｖを含むモーションデータをモーション補償部６６０に提供する。
【０１１８】
モーション補償部６６０は、エントロピー復号化部６１０から提供されるモーションデータを用いて、フレームバッファ６５０から提供される既復元されたビデオフレーム、すなわち、参照フレームをモーション補償してモーション補償フレームを生成する。
【０１１９】
加算器６１５は、逆変換部６３０で復元される残差フレームと前記モーション補償部６６０で生成されたモーション補償フレームを加算して基礎階層ビデオフレームを復元する。復元されたビデオフレームは、フレームバッファ６５０に一時保存でき、以後の他のフレームの復元のためにモーション補償部６６０に参照フレームとして提供しうる。
【０１２０】
現在フレームを復元したＦｃ’とのアップサンプラー６８０を経て向上階層デコーダ７００に提供される。したがって、基礎階層の解像度と向上階層の解像度とが同一であれば、前記アップサンプリング過程は省略しうる。もし、基礎階層のビデオ情報が向上階層のビデオ情報と比較して一部領域情報が除去された場合であれば、やはり前記アップサンプリング過程は省略されうる。
【０１２１】
次いで、向上階層デコーダ７００の構成を説明する。向上階層ビットストリームがエントロピー復号化部７１０に入力されれば、エントロピー復号化部７１０は前記入力されたビットストリームを無損失復号化して、非同期フレームに対するテクスチャーデータを抽出する。
【０１２２】
そして、前記抽出されたテクスチャーデータは逆量子化部７２０及び逆変換部７３０を経て残差フレームに復元される。逆量子化部７２０の機能及び動作は、基礎階層デコーダ５５０の逆量子化部６２０と類似した方式で構成される。
【０１２３】
加算器７１５は、前記復元された残差フレームと基礎階層デコーダ６００とから提供される基礎階層フレームを加算してフレームを復元する。
【０１２４】
向上階層デコーダ７００の逆変換部７３０が残差フレームを復元するためには、図５、図８、図１０、図１２、または図１５で説明した過程を進めうる。向上階層のデータが基礎階層フレームの復号化されたデータを参照しているか否かを知るために基礎階層フレームを構成するデータ、例えば、残差データまたはモーションベクトルなどを検討する。図５で基礎階層の残差データが特定値Ｔｈｒｅｓｈｏｌｄｒｅｓｉｄｕａｌより低い場合、基礎階層の残差データが向上階層の残差データを予測するのに参照にならないので、予測フラッグの値を０に設定する過程が進む。また、図８で説明したように基礎階層のモーションベクトルと空間的に隣接したモーションベクトルの差を求め、その差が特定値ＴｈｒｅｓｈｏｌｄＭｏｔｉｏｎより低いか高いかによって、基礎階層のモーションベクトルを予測値として使用しないこともあるので、これに該当する情報であるモーション予測フラッグを０に設定しうる。
【０１２５】
その他にも、図１０、図１２または図１５で説明したように基礎階層の残差データのエネルギーが０であるか、ＣＢＰ値が０か否かによって、基礎階層の残差データが向上階層の残差データを予測するのに参照しうる。コーディング効率を高めるためにエンコーディング側で多様な方法でエンコーディングを行うので、これに適したデコーディング方式を適用して、残差予測フラッグｒｅｓｉｄｕａｌ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇを求めうる。
【０１２６】
図１５のデコーディング過程を一実施形態とする場合、パージング部７０５は、向上階層ビットストリームでｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎを求め、このビット内での１の存否を検討する。ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎを通じて残差データでの非ゼロピクセルの存否を判断しうる。この過程は、図１５の説明で前述したので、ここではその詳細な説明を省略する。
【０１２７】
パージング部７０５は、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎの他にもｂａｓｅＲｅｓｉｄｕａｌＡｖａｉｌＬｕｍａ８ｘ８Ｂｌｋ［０．．３］とｂａｓｅＲｅｓｉｄｕａｌＡｖａｉｌＣｈｒｏｍａの値を通じても、残差データに非ゼロピクセルの存否を判断しうる。パージング部７０５は、ｃｏｄｅｄ＿ｐａｔｔｅｒｎ＿ｂｌｏｃｋビットを求め、下位４ビットはＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａに割り当て、上位２ビットはＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａに割り当てる。そして、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａの４ビットのうち、１であるビットの存否を検討し、またＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａの値が０より大きいかを検討する。その結果、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａの４ビットのうち、１であるビットが１つ以上存在するか、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａの値が０より大きければ、残差データに非ゼロピクセルを１つ以上有すると判断して、ｃｔｘＩｄｘＩｎｃを１に設定し、その他の場合はｃｔｘＩｄｘＩｎｃを０に設定する。パージング部７０５で設定したｃｔｘＩｎｘＩｎｃ値を参照してエントロピー復号化部７１０はエントロピー復号化（デコーディング）を行う。
【０１２８】
以上、図１７に示した向上階層デコーダ７００は、基礎階層フレームに対してイントラＢＬ予測を通じてデコーディングすることを中心に説明した。それ以外にも、図２で説明したようにインター予測またはイントラ予測方法を選択的に用いてデコーディングしうるということは当業者ならば理解できるであろう。
【０１２９】
本発明が属する技術分野で当業者ならば本発明がその技術的思想や必須特徴を変更せずとも他の具体的な形に実施されうるということが理解できるであろう。したがって、前述した実施例は全ての面で例示的なものであって、限定的なものではないと理解せねばならない。
【０１３０】
本発明の範囲は詳細な説明よりは特許請求の範囲により表れ特許請求の範囲の意味及び範囲、そしてその等価概念から導かれるあらゆる変更または変形された形態が本発明の範囲に含まれると解釈されねばならない。
【産業上の利用可能性】
【０１３１】
本発明は、ビデオ信号のエンコーディング及びデコーディングに関連した技術分野に好適に適用されうる。
【図面の簡単な説明】
【０１３２】
【図１】多階層構造を用いたスケーラブルビデオコーデックを示す図である。
【図２】前記３種の予測方法を説明する概略図である。
【図３】ビデオコーディングでの残差予測の例を示す例示図である。
【図４】本発明の一実施形態による残差予測フラッグのエンコーディング効率を高めるフローチャートである。
【図５】本発明の一実施形態による図４でエンコーディングされたデータをデコーディングするフローチャートである。
【図６】ビデオコーディングでのモーション予測（Ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ）の例を示す例示図である。
【図７】本発明の一実施形態によるモーション予測フラッグのエンコーディング効率を高めるフローチャートである。
【図８】本発明の一実施形態による図７でエンコーディングされたデータをデコーディングするフローチャートである。
【図９】本発明の一実施形態による逆残差予測データをエンコーディングする過程を説明するフローチャートである。
【図１０】図９で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。
【図１１】本発明の一実施形態によるコンテキストを変更して残差予測フラッグをコーディングする過程を示すフローチャートである。
【図１２】図１１で説明した過程を通じてエンコーディングされたデータをデコーディングする過程を示すフローチャートである。
【図１３】本発明の一実施形態による基礎階層の残差データによってコーディングを異ならせる実施形態を示すフローチャートである。
【図１４】本発明の一実施形態によるＣＡＢＡＣコーディングを行う場合、コンテキストモデルを変えてコーディングする過程を示すフローチャートである。
【図１５】図１４の過程を通じてエンコーディングされたビデオデータをデコーダがデコーディングする過程を示すフローチャートである。
【図１６】本発明の一実施形態によるビデオエンコーダの構造を示す例示図である。
【図１７】本発明の一実施形態によるビデオデコーダの構造を示す例示図である。
【符号の説明】
【０１３３】
３００      基礎階層エンコーダ
４００      向上階層エンコーダ
４２０      向上階層エンコーダの変換部
４３５      向上階層エンコーダの符号化設定情報部
５００      ビデオエンコーダ
５５０      ビデオデコーダ
６００      基礎階層デコーダ
７０５      パージング部
７１０      エントロピー復号化部
７３０      向上階層デコーダの逆変換部
【図１】
2006304307.tif 000004
【図２】
2006304307.tif 000005
【図３】
2006304307.tif 000006
【図４】
2006304307.tif 000007
【図５】
2006304307.tif 000008
【図６】
2006304307.tif 000009
【図７】
2006304307.tif 000010
【図８】
2006304307.tif 000011
【図９】
2006304307.tif 000012
【図１０】
2006304307.tif 000013
【図１１】
2006304307.tif 000014
【図１２】
2006304307.tif 000015
【図１３】
2006304307.tif 000016
【図１４】
2006304307.tif 000017
【図１５】
2006304307.tif 000018
【図１６】
2006304307.tif 000019
【図１７】
2006304307.tif 000020