(57)【要約】【課題】本発明は、画像情報符号化装置や復号化装置がある一定の処理時間を保証することができるようにする。【解決手段】ＣＡＢＡＣ符号化器、及び復号化器において入出力されるデータ量を、１ピクチャ、又はスライス、又はマクロブロック、又はブロックといったある符号化単位内において制限することと非圧縮画像データを符合化することにより、画像情報符号化装置や復号化装置がある一定の処理時間を保証することが可能となり、その処理時間を保証した装置を実装することが可能となる。【選択図】　　　　図１
2004135251.tif 000002
【特許請求の範囲】
【請求項１】
入力画像信号にエントロピー符号化を適用し、画像信号を符号化する画像情報符号化方法において、
エントロピー符号化が算術符号化である場合、算術符号化に入力されるデータ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項２】
請求項１に記載の画像情報符号化方法において、
算術符号化として、２値化されたバイナリーデータをその入力データとするバイナリシンボル算術符号化の場合、入力データとして２値化データ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項３】
請求項１に記載の画像情報符号化方法において、
算術符号化として、多値化されたマルチシンボルデータをその入力データとするマルチシンボル算術符号化の場合、入力データとして多値化データ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項４】
請求項１に記載の画像情報符号化方法において、
算術符号化に入力されるデータ量を監視する際に、この入力データ量がある一定符号化単位内において、ある一定量を超えた場合には、この入力データを符号化データとせず、この一定符号化単位内に対応する画像信号に対して異なる符号化処理を適用すること、
を特徴とする画像情報符号化方法。
【請求項５】
請求項４に記載の画像情報符号化方法において、
ある一定符号化単位として、入力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ること、
を特徴とする画像情報符号化方法。
【請求項６】
請求項４に記載の画像情報符号化方法において、
ある一定量として、入力画像信号の符号化効率や符号化方法の処理速度を考慮して決められた量、又は標準規格等で定められた量を取ること、
を特徴とする画像情報符号化方法。
【請求項７】
請求項４に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、異なるスライスパラメータや異なるマクロブロックタイプ、又は、異なる量子化スケールといった異なる符号化パラメータを適用すること、
を特徴とする画像情報符号化方法。
【請求項８】
請求項４に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、画像信号に対して異なる変換処理や異なるエントロピー符号化を適用し符号化を行うこと、
を特徴とする画像情報符号化方法。
【請求項９】
請求項４に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、変換処理やエントロピー符号化を適用しない非圧縮データとして符号化を行うこと、
を特徴とする画像情報符号化方法。
【請求項１０】
請求項４に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用した符号化方法を示すデータを、符号化データとしてビットストリームに埋め込むこと、
を特徴とする画像情報符号化方法。
【請求項１１】
請求項１０に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用した符号化方法を示すデータを、
符号化データとしてビットストリームに埋め込んだ際に、適用される符号化処理が、
ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ　Ａｄａｐｔｉｖｅ　ＢｉｎａｒｙＡｒｉｔｈｍｅｔｉｃ　Ｃｏｄｉｎｇ）以外の符号化処理であった場合、この符号化処理データを符号化する前に、
ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ　Ａｄａｐｔｉｖｅ　ＢｉｎａｒｙＡｒｉｔｈｍｅｔｉｃ　Ｃｏｄｉｎｇ）の終端処理をすること、
を特徴とする画像情報符号化方法。
【請求項１２】
請求項４に記載の画像情報符号化方法において、
算術符号化に用いられるＣｏｎｔｅｘｔの一定符号化単位の先頭における状態を記憶しておくための記憶領域を所有すること、
を特徴とする画像情報符号化方法。
【請求項１３】
請求項４に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理が、請求項８、又は、請求項９で示された符号化処理である場合、算術符号化に用いられるＣｏｎｔｅｘｔを請求項１０で示された記憶領域に記憶された値に復元すること、
を特徴とする画像情報符号化方法。
【請求項１４】
請求項４に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理が、請求項８、又は、請求項９で示された符号化処理である場合、その符号化単位内のマクロブロックのプレディクタの値を、あらかじめ決められた値にセットすること、
を特徴とする画像情報符号化方法。
【請求項１５】
入力画像信号にエントロピー符号化を適用し、画像信号を符号化する画像情報符号化方法において、
エントロピー符号化が算術符号化である場合、算術符号化から出力されるビットデータの量を監視すること、
を特徴とする画像情報符号化方法。
【請求項１６】
請求項１５に記載の画像情報符号化方法において、
算術符号化から出力されるデータ量を監視する際に、この出力データ量がある一定符号化単位内において、ある一定量を超えた場合には、この出力データを符号化データとせず、この一定符号化単位内に対応する画像信号に対して異なる符号化処理を適用すること、
を特徴とする画像情報符号化方法。
【請求項１７】
請求項１６に記載の画像情報符号化方法において、
ある一定符号化単位として、入力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ること、
を特徴とする画像情報符号化方法。
【請求項１８】
請求項１６に記載の画像情報符号化方法において、
ある一定量として、入力画像信号の符号化効率や符号化方法の処理速度を考慮して決められた量、又は標準規格等で定められた量を取ること、
を特徴とする画像情報符号化方法。
【請求項１９】
請求項１６に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、異なるスライスパラメータや異なるマクロブロックタイプ、又は、異なる量子化スケールといった異なる符号化パラメータを適用すること、
を特徴とする画像情報符号化方法。
【請求項２０】
請求項１６に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、画像信号に対して異なる変換処理や異なるエントロピー符号化を適用し符号化を行うこと、
を特徴とする画像情報符号化方法。
【請求項２１】
請求項１６に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、変換処理やエントロピー符号化を適用しない非圧縮データとして符号化を行うこと、
を特徴とする画像情報符号化方法。
【請求項２２】
請求項１６に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用した符号化方法を示すデータを、符号化データとしてビットストリームに埋め込むこと、
を特徴とする画像情報符号化方法。
【請求項２３】
請求項２２に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用した符号化方法を示すデータを、
符号化データとしてビットストリームに埋め込んだ際に、適用される符号化処理が、
ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ　Ａｄａｐｔｉｖｅ　ＢｉｎａｒｙＡｒｉｔｈｍｅｔｉｃ　Ｃｏｄｉｎｇ）以外の符号化処理であった場合、この符号化処理データを符号化する前に、
ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ　Ａｄａｐｔｉｖｅ　Ｂｉｎａｒｙ
Ａｒｉｔｈｍｅｔｉｃ　Ｃｏｄｉｎｇ）の終端処理をすること、
を特徴とする画像情報符号化方法。
【請求項２４】
請求項１６に記載の画像情報符号化方法において、
算術符号化に用いられるＣｏｎｔｅｘｔの一定符号化単位の先頭における状態を記憶しておくための記憶領域を所有すること、
を特徴とする画像情報符号化方法。
【請求項２５】
請求項１６に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理が、請求項２０、又は、請求項２１で示された符号化処理である場合、算術符号化に用いられるＣｏｎｔｅｘｔを請求項２４で示された記憶領域に記憶された値に復元すること、
を特徴とする画像情報符号化方法。
【請求項２６】
請求項１５に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理が、請求項２０、又は、請求項２１で示された符号化処理である場合、その符号化単位内のマクロブロックのプレディクタの値を、あらかじめ決められた値にセットすること、
を特徴とする画像情報符号化方法。
【請求項２７】
入力画像信号にエントロピー符号化を適用し、画像信号を符号化する画像情報符号化方法において、
エントロピー符号化が算術符号化である場合、算術符号化に対する入力、出力の両方のデータ量をそれぞれ監視すること、
を特徴とする画像情報符号化方法。
【請求項２８】
請求項２７に記載の画像情報符号化方法において、
算術符号化として、２値化されたバイナリーデータをその入力データとするバイナリシンボル算術符号化の場合、入力データとして２値化データ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項２９】
請求項２７に記載の画像情報符号化方法において、
算術符号化として、多値化されたマルチシンボルデータをその入力データとするマルチシンボル算術符号化の場合、入力データとして多値化データ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項３０】
請求項２７に記載の画像情報符号化方法において、
算術符号化において、入力と出力されるデータ量をそれぞれ監視する際に、この入力データ量と出力データ量のどちらか、又はその両方が、ある一定符号化単位内において、ある一定量を超えた場合には、この入力データを符号化データとせず、この一定符号化単位内に対応する画像信号に対して異なる符号化処理を適用すること、
を特徴とする画像情報符号化方法。
【請求項３１】
請求項３０に記載の画像情報符号化方法において、
ある一定符号化単位として、入力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ること、
を特徴とする画像情報符号化方法。
【請求項３２】
請求項３０に記載の画像情報符号化方法において、
ある一定量として、入力画像信号の符号化効率や符号化方法の処理速度を考慮して決められた量、又は標準規格等で定められた量を取ること、
を特徴とする画像情報符号化方法。
【請求項３３】
請求項３０に記載の画像情報符号化方法において、
ある一定量として、算術符号化への入力データ量と出力データ量に対して、独立な値を定めること、
を特徴とする画像情報符号化方法。
【請求項３４】
請求項３０に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、異なるスライスパラメータや異なるマクロブロックタイプ、又は、異なる量子化スケールといった異なる符号化パラメータを適用すること、
を特徴とする画像情報符号化方法。
【請求項３５】
請求項３０に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、画像信号に対して異なる変換処理や異なるエントロピー符号化を適用し符号化を行うこと、
を特徴とする画像情報符号化方法。
【請求項３６】
請求項３０に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、変換処理やエントロピー符号化を適用しない非圧縮データとして符号化を行うこと、
を特徴とする画像情報符号化方法。
【請求項３７】
請求項３０に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用した符号化方法を示すデータを、符号化データとしてビットストリームに埋め込むこと、
を特徴とする画像情報符号化方法。
【請求項３８】
請求項３７に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用した符号化方法を示すデータを、
符号化データとしてビットストリームに埋め込んだ際に、適用される符号化処理が、
ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ　Ａｄａｐｔｉｖｅ　ＢｉｎａｒｙＡｒｉｔｈｍｅｔｉｃ　Ｃｏｄｉｎｇ）以外の符号化処理であった場合、この符号化処理データを符号化する前に、
ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ　Ａｄａｐｔｉｖｅ　ＢｉｎａｒｙＡｒｉｔｈｍｅｔｉｃ　Ｃｏｄｉｎｇ）の終端処理をすること、
を特徴とする画像情報符号化方法。
【請求項３９】
請求項３０に記載の画像情報符号化方法において、
算術符号化に用いられるＣｏｎｔｅｘｔの一定符号化単位の先頭における状態を記憶しておくための記憶領域を所有すること、
を特徴とする画像情報符号化方法。
【請求項４０】
請求項３０に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理が、請求項３５、又は、請求項３６で示された符号化処理である場合、算術符号化に用いられるＣｏｎｔｅｘｔを請求項３５で示された記憶領域に記憶された値に復元すること、
を特徴とする画像情報符号化方法。
【請求項４１】
請求項３０に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理が、請求項３５、又は、請求項３５で示された符号化処理である場合、その符号化単位内のマクロブロックのプレディクタの値を、あらかじめ決められた値にセットすること、
を特徴とする画像情報符号化方法。
【請求項４２】
入力画像信号にエントロピー符号化を適用し、画像信号を符号化する画像情報符号化方法において、
エントロピー符号化がハフマン符号化に代表される可変長符号化である場合、可変長符号化から出力されるビットデータの量を監視すること、
を特徴とする画像情報符号化方法。
【請求項４３】
請求項４２に記載の画像情報符号化方法において、
可変長符号化から出力されるデータ量を監視する際に、この出力データ量がある一定符号化単位内において、ある一定量を超えた場合には、この出力データを符号化データとせず、この一定符号化単位内に対応する画像信号に対して異なる符号化処理を適用すること、
を特徴とする画像情報符号化方法。
【請求項４４】
請求項４３に記載の画像情報符号化方法において、
ある一定符号化単位として、入力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ること、
を特徴とする画像情報符号化方法。
【請求項４５】
請求項４３に記載の画像情報符号化方法において、
ある一定量として、入力画像信号の符号化効率や符号化方法の処理速度を考慮して決められた量、又は標準規格等で定められた量を取ること、
を特徴とする画像情報符号化方法。
【請求項４６】
請求項４３に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、異なるスライスパラメータや異なるマクロブロックタイプ、又は、異なる量子化スケールといった異なる符号化パラメータを適用すること、
を特徴とする画像情報符号化方法。
【請求項４７】
請求項４３に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、画像信号に対して異なる変換処理や異なるエントロピー符号化を適用し符号化を行うこと、
を特徴とする画像情報符号化方法。
【請求項４８】
請求項４３に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理として、変換処理やエントロピー符号化を適用しない非圧縮データとして符号化を行うこと、
を特徴とする画像情報符号化方法。
【請求項４９】
請求項４３に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用した符号化方法を示すデータを、符号化データとしてビットストリームに埋め込むこと、
を特徴とする画像情報符号化方法。
【請求項５０】
請求項４３に記載の画像情報符号化方法において、
一定符号化単位内の画像信号に対して適用される異なる符号化処理が、請求項４７、又は、請求項４８で示された符号化処理である場合、その符号化単位内のマクロブロックのプレディクタの値を、あらかじめ決められた値にセットすること、
を特徴とする画像情報符号化方法。
【請求項５１】
入力信号にエントロピー復号化を適用し、画像信号を復号化する画像情報復号化方法において、
エントロピー復号化が算術復号化である場合、算術復号化に入力されるデータ量を監視すること、
を特徴とする画像情報復号化方法。
【請求項５２】
請求項５１に記載の画像復号化方法において、
算術復号化に、２値化されたバイナリーデータを復号化データとして入力する場合、入力データとして２値化データ量を監視すること、
を特徴とする画像情報復号化方法。
【請求項５３】
請求項５１に記載の画像情報復号化方法において、
算術復号化に入力されるデータ量を監視する際に、この入力データ量がある一定符号化単位内において、ある一定量を超えた場合には、エラー処理を行うこと、
を特徴とする画像情報符号化方法。
【請求項５４】
請求項５３に記載の画像情報復号化方法において、
ある一定符号化単位として、出力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ること、
を特徴とする画像情報復号化方法。
【請求項５５】
請求項５３に記載の画像情報復号化方法において、
ある一定量として、出力画像信号の符号化化効率や復号化方法の処理速度を考慮して決められた量、又は標準規格等で定められた量を取ること、
を特徴とする画像情報復号化方法。
【請求項５６】
請求項５３に記載の画像情報復号化方法において、
エラー処理として、出力データ量が一定量を超えた旨を伝える警告を発すること、
を特徴とする画像情報符号化方法。
【請求項５７】
請求項５３に記載の画像情報復号化方法において、
エラー処理として、その符号化単位内のデータの復号化は行わずに、次の符号化単位の復号化を開始すること、
を特徴とする画像情報符号化方法。
【請求項５８】
入力信号にエントロピー復号化を適用し、画像信号を復号化する画像情報復号化方法において、
エントロピー復号化が算術復号化である場合、算術復号化から出力されるデータ量を監視すること、
を特徴とする画像情報復号化方法。
【請求項５９】
請求項５８に記載の画像復号化方法において、
算術復号化として、２値化されたバイナリーデータをその出力データとするバイナリシンボル算術復号化の場合、出力データとして２値化データ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項６０】
請求項５８に記載の画像復号化方法において、
算術復号化として、多値化されたマルチシンボルデータをその出力データとするマルチシンボル算術復号化の場合、出力データとして多値化データ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項６１】
請求項５８に記載の画像復号化方法において、
算術復号化から出力されるデータ量を監視する際に、この出力データ量がある一定符号化単位内において、ある一定量を超えた場合には、エラー処理を行うこと、
を特徴とする画像情報符号化方法。
【請求項６２】
請求項６１に記載の画像復号化方法において、
ある一定符号化単位として、出力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ること、
を特徴とする画像情報符号化方法。
【請求項６３】
請求項６１に記載の画像復号化方法において、
ある一定量として、入力画像信号の符号化効率や復号化方法の処理速度を考慮して決められた量、又は標準規格等で定められた量を取ること、
を特徴とする画像情報符号化方法。
【請求項６４】
請求項６１に記載の画像復号化方法において、
エラー処理として、出力データ量がある一定量を超えた旨を伝える警告を発すること、
を特徴とする画像情報符号化方法。
【請求項６５】
請求項６１に記載の画像復号化方法において、
上記、エラー処理として、その符号化単位内のデータの復号化は行わずに、次の符号化単位の復号化を開始すること、
を特徴とする画像情報符号化方法。
【請求項６６】
入力信号にエントロピー復号化を適用し、画像信号を復号化する画像情報復号化方法において、
エントロピー復号化が算術復号化である場合、算術復号化に対する入力、出力の両方のデータ量をそれぞれ監視すること、
を特徴とする画像情報復号化方法。
【請求項６７】
請求項６６に記載の画像復号化方法において、
算術復号化として、２値化されたバイナリーデータをその出力データとするバイナリシンボル算術復号化の場合、出力データとして２値化データ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項６８】
請求項６６に記載の画像復号化方法において、
算術復号化として、多値化されたマルチシンボルデー名をその出力データとするマルチシンボル算術復号化の場合、出力データとして多値化データ量を監視すること、
を特徴とする画像情報符号化方法。
【請求項６９】
請求項５８に記載の画像復号化方法において、
算術復号化において、入力と出力されるデータ量をそれぞれ監視する際に、この入力データ量と出力データ量のどちらか、又はその両方が、ある一定符号化単位内において、ある一定量を超えた場合には、エラー処理を行うこと、
を特徴とする画像情報符号化方法。
【請求項７０】
請求項６９に記載の画像復号化方法において、
ある一定符号化単位として、出力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ること、
を特徴とする画像情報符号化方法。
【請求項７１】
請求項６９に記載の画像復号化方法において、
ある一定量として、入力画像信号の符号化効率や復号化方法の処理速度を考慮して決められた量、又は標準規格等で定められた量を取ること、
を特徴とする画像情報符号化方法。
【請求項７２】
請求項６９に記載の画像復号化方法において、
エラー処理として、出力データ量がある一定量を超えた旨を伝える警告を発すること、
を特徴とする画像情報符号化方法。
【請求項７３】
請求項６９に記載の画像復号化方法において、
エラー処理として、その符号化単位内のデータの復号化は行わずに、次の符号化単位の復号化を開始すること、
を特徴とする画像情報符号化方法。
【請求項７４】
入力信号にエントロピー復号化を適用し、画像信号を復号化する画像情報復号化方法において、
エントロピー復号化がハフマン復号化に代表される可変長復号化である場合、可変長復号化に入力されるビットデータ量を監視すること、
を特徴とする画像情報復号化方法。
【請求項７５】
請求項７４に記載の画像復号化方法において、
可変長符号化に入力されるデータ量を監視する際に、この入力データ量がある一定符号化単位内において、ある一定量を超えた場合には、エラー処理を行うこと、
を特徴とする画像情報符号化方法。
【請求項７６】
請求項７５に記載の画像情報復号化方法において、
ある一定符号化単位として、出力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ること、
を特徴とする画像情報復号化方法。
【請求項７７】
請求項７５に記載の画像情報復号化方法において、
ある一定量として、出力画像信号の符号化効率や復号化方法の処理速度を考慮して決められた量、又は標準規格等で定められた量を取ること、
を特徴とする画像情報復号化方法。
【請求項７８】
請求項７５に記載の画像情報復号化方法において、
エラー処理として、出力データ量が一定量を超えた旨を伝える警告を発すること、
を特徴とする画像情報符号化方法。
【請求項７９】
請求項７５に記載の画像情報復号化方法において、
エラー処理として、その符号化単位内のデータの復号化は行わずに、次の復号化単位の復号化を開始すること、
を特徴とする画像情報復号化方法。
【請求項８０】
入力信号にエントロピー復号化を適用し、画像信号を復号化する画像情報復号化方法において、
入力ビットストリームより、画像復号化に適用される復号化方法を示す情報を読みとる、
ことを特徴とする画像情報復号化方法。
【請求項８１】
請求項８０に記載の画像情報復号化方法において、
上記、読みとられた復号化方法を示す情報に応じて、適用する復号化処理を選択すること、
を特徴とする画像情報復号化方法。
【請求項８２】
請求項８０に記載の画像情報復号化方法において、
画像復号化処理に適用される復号化方法を示す情報を、ある一定符号化単位毎に読みとること、
を特徴とする画像情報復号化方法。
【請求項８３】
請求項８２に記載の画像情報復号化方法において、
ある一定復号化単位として、入力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域を取ることを特徴とする画像情報復号化方法。
【請求項８４】
請求項８２に記載の画像情報復号化方法において、
一定復号化単位毎に選択されうる復号化処理としては、周波数変換とエントロピー符号化による符号化方式同士の組み合わせのみでなく、ＤＰＣＭなどの画像面変換とエントロピー符号化の組み合わせや、変換処理やエントロピー符号化を適用しない非圧縮で固定長であるＲＡＷデータなどのうちから選択すること、
を特徴とする画像情報復号化方法。
【請求項８５】
請求項８４に記載の画像情報復号化方法において、
ある復号化単位内で選択された復号化方式が、ＤＰＣＭ方式やＲＡＷデータ方式である場合、その復号化単位内のマクロブロックのプレディクタの値を、あらかじめ決められた値にセットすること、
を特徴とする画像情報復号化方法。
【請求項８６】
請求項８４に記載の画像情報復号化方法において、
入力ビットストリームが算術符号化モードにより符号化されたものであり、かつ、ある復号化単位内で選択された復号化方式が、ＲＡＷデータ方式である場合、固定長ビットであるＲＡＷデータを復号化する前に、エントロピー復号化方式を算術符号化から、ＲＡＷデータを復号化するための固定長復号化に切替え、ＲＡＷデータを復号化した直後に、再度、算術符号化に切替え直すこと、
を特徴とする画像情報復号化方法。
【請求項８７】
画像情報がエントロピー符号として符号化されたビットストリームにおいて、
エントロピー符号が算術符号である場合、請求項５３に記載された画像情報復号化方法において、ある一定量を超えないとこ、
を特徴とするビットストリーム。
【請求項８８】
画像情報がエントロピー符号として符号化されたビットストリームにおいて、エントロピー符号が算術符号である場合、請求項６１に記載された画像情報復号化方法において、ある一定量を超えないとこ、
を特徴とするビットストリーム。
【請求項８９】
画像情報がエントロピー符号として符号化されたビットストリームにおいて、
エントロピー符号が算術符号である場合、請求項６９に記載された画像情報復号化方法において、ある一定量を超えないとこ、
を特徴とするビットストリーム。
【請求項９０】
画像情報がエントロピー符号として符号化されたビットストリームにおいて、エントロピー符号が可変長符号である場合、請求項７５に記載された画像情報復号化方法において、ある一定量を超えないとこ、
を特徴とするビットストリーム。
【請求項９１】
画像情報がエントロピー符号として符号化されたビットストリームにおいて、そのビットストリームの中に画像復号化に適用される復号化方法の情報が符号化されている、
ことを特徴とするビットストリーム。
【請求項９２】
請求項９１に記載のビットストリームにおいて、
そのビットストリームの中に画像復号化に適用される復号化方法の情報が、ある一定復号化単位毎に符号化されている、
を特徴とするビットストリーム。
【請求項９３】
請求項９２に記載のビットストリームにおいて、
ある一定復号化単位として、出力画像１ピクチャ、又は、１ピクチャ内を複数の領域に分割したスライス、又は、スライスを構成するマクロブロック、又は、マクロブロックを構成するブロックといった１ピクチャ、又は、１ピクチャをある大きさで分割したそれぞれの分割領域からなること、
を特徴とするビットストリーム。
【請求項９４】
請求項９２に記載のビットストリームにおいて、
一定復号化単位毎に選択されうる符号化処理としては、周波数変換とエントロピー符号化による符号化方式同士の組み合わせのみでなく、ＤＰＣＭなどの画像面変換とエントロピー符号化の組み合わせや、変換処理やエントロピー符号化を適用しない非圧縮で固定長であるＲＡＷデータなどのうちからなること、
を特徴とするビットストリーム。
【請求項９５】
請求項９４に記載のビットストリームにおいて、
このビットストリームが算術符号化モードにより符号化されたものであり、かつ、ある復号化単位内で選択された復号化方式が、固定長であるＲＡＷデータ方式である場合、単一のビットストリームにおいて、算術符号と固定長符号が混在すること、
を特徴とするビットストリーム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＪＶＴ（ＩＴＵ−Ｔ　Ｒｅｃ．Ｈ．２６４｜ＩＳＯ／ＩＥＣ　１４４９６−１０　ＡＶＣ）などの様に、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償とによって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ若しくはインターネット等のネットワークメディアを介して受信する際に、又は光ディスク、磁気ディスク若しくはフラッシュメモリ等の記憶メディア上で処理する際に用いられる画像情報符号化方法、その装置及びプログラム、画像情報復号方法、その装置及びプログラム、並びに画像情報符号化復号方法に関するものである。
【０００２】
【従来の技術】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧなどの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、ＭＰＥＧ２（ＩＳＯ／ＩＥＣ　１３８１８−２）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに現在広く用いられている。ＭＰＥＧ２圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
ＭＰＥＧ２は主として放送用に適合する高画質符号化を対象としていたが、ＭＰＥＧ１より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。しかし、携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してＭＰＥＧ４符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にＩＳＯ／ＩＥＣ１４４９６−２としてその規格が国際標準に承認された。
【０００５】
さらに、近年、テレビ会議用の画像符号化を当初の目的として、ＪＶＴ（ＩＴＵ−ＴＲｅｃ．Ｈ．２６４｜ＩＳＯ／ＩＥＣ　１４４９６−１０　ＡＶＣ）という標準の規格化が進んでいる。ＪＶＴはＭＰＥＧ２やＭＰＥＧ４といった従来の符号化方式に比べ、その符号化、復号により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。
【０００６】
ここで、ＭＰＥＧ２やＪＶＴで採用されている、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償とにより画像圧縮を実現する画像情報符号化装置の概略構成を図１００に示す。図１００に示すように、画像情報符号化装置１００は、Ａ／Ｄ変換部１０１と、画面並べ替えバッファ１０２と、加算器１０３と、直交変換部１０４と、量子化部１０５と、可逆符号化部１０６と、蓄積バッファ１０７と、逆量子化部１０８と、逆直交変換部１０９と、フレームメモリ１１０と、動き予測・補償部１１１と、レート制御部１１２とにより構成されている。
【０００７】
図１００において、Ａ／Ｄ変換部１０１は、入力された画像信号をデジタル信号に変換する。そして、画面並べ替えバッファ１０２は、Ａ／Ｄ変換部１０１から供給された画像圧縮情報のＧＯＰ（Ｇｒｏｕｐ　ｏｆ　Ｐｉｃｔｕｒｅｓ）構造に応じて、フレームの並べ替えを行う。ここで、画面並び替えバッファ１０２は、イントラ（画像内）符号化が行われる画像に関しては、フレーム全体の画像情報を直交変換部１０４に供給する。直交変換部１０４は、画像情報に対して離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換を施し、変換係数を量子化部１０５に供給する。量子化部１０５は、直交変換部１０４から供給された変換係数に対して量子化処理を施す。
【０００８】
可逆符号化部１０６は、量子化部１０５から供給された量子化された変換係数や量子化スケール等から符号化モードを決定し、この符号化モードに対して可変長符号化、又は算術符号化等の可逆符号化を施し、画像符号化単位のヘッダ部に挿入される情報を形成する。符号化された符号化モードを蓄積バッファ１０７に供給して蓄積させる。この符号化された符号化モードは、画像圧縮情報として出力される。
【０００９】
また、可逆符号化部１０６は、量子化された変換係数に対して可変長符号化、若しくは算術符号化等の可逆符号化を施し、符号化された変換係数を蓄積バッファ１０７に供給して蓄積させる。この符号化された変換係数は、画像圧縮情報として出力される。
【００１０】
量子化部１０５の挙動は、レート制御部１１２によって制御される。また、量子化部１０５は、量子化後の変換係数を逆量子化部１０８に供給し、逆量子化部１０８は、その変換係数を逆量子化する。逆直交変換部１０９は、逆量子化された変換係数に対して逆直交変換処理を施して復号画像情報を生成し、その情報をフレームメモリ１１０に供給して蓄積させる。
【００１１】
一方、画面並び替えバッファ１０２は、インター（画像間）符号化が行われる画像に関しては、画像情報を動き予測・補償部１１１に供給する。動き予測・補償部１１１は、同時に参照される画像情報をフレームメモリ１１０より取り出し、動き予測・補償処理を施して参照画像情報を生成する。動き予測・補償部１１１は、この参照画像情報を加算器１０３に供給し、加算器１０３は、参照画像情報を当該画像情報との差分信号に変換する。また、動き補償・予測部１１１は、同時に動きベクトル情報を可逆符号化部１０６に供給する。
【００１２】
可逆符号化部１０６は、量子化部１０５から供給された量子化された変換係数や量子化スケールや、動き補償・予測部１１１から供給された動きベクトル情報等から符号化モードを決定し、この符号化モードに対して可変長符号化、又は算術符号化等の可逆符号化を施し、画像符号化単位のヘッダ部に挿入される情報を形成する。符号化された符号化モードを蓄積バッファ１０７に供給して蓄積させる。この符号化された符号化モードは、画像圧縮情報として出力される
【００１３】
また、可逆符号化部１０６は、その動きベクトル情報に対して可変長符号化若しくは算術符号化等の可逆符号化処理を施し、画像符号化単位のヘッダ部に挿入される情報を形成する。
【００１４】
イントラ符号化と異なり、インター符号化の場合には、直行変換部１０４に入力される画像情報は、加算器１０３より得られた差分信号である。
なお、その他の処理については、イントラ符号化を施される画像圧縮情報と同様であるため、説明を省略する。
【００１５】
続いて、上述した画像情報符号化装置１００に対応する画像情報復号装置の概略構成を図１０１に示す。図１０１に示すように、画像情報復号装置１２０は、蓄積バッファ１２１と、可逆復号部１２２と、逆量子化部１２３と、逆直交変換部１２４と、加算器１２５と、画面並べ替えバッファ１２６と、Ｄ／Ａ変換部１２７と、動き予測・補償部１２８と、フレームメモリ１２９とにより構成されている。
【００１６】
図１０１において、蓄積バッファ１２１は、入力された画像圧縮情報を一時的に格納した後、可逆復号部１２２に転送する。可逆復号部１２２は、定められた画像圧縮情報のフォーマットに基づき、画像圧縮情報に対して可変長復号若しくは算術復号等の処理を施し、ヘッダ部に格納された符号化モード情報を取得し逆量子化部１２３等に供給する。同様に、量子化された変換係数を取得し逆量子化部１２３に供給する。また、可逆復号部１２２は、当該フレームがインター符号化されたものである場合には、画像圧縮情報のヘッダ部に格納された動きベクトル情報についても復号し、その情報を動き予測・補償部１２８に供給する。
【００１７】
逆量子化部１２３は、可逆復号部１２２から供給された量子化後の変換係数を逆量子化し、変換係数を逆直交変換部１２４に供給する。逆直交変換部１２４は、定められた画像圧縮情報のフォーマットに基づき、変換係数に対して逆離散コサイン変換若しくは逆カルーネン・レーベ変換等の逆直交変換を施す。
【００１８】
ここで、当該フレームがイントラ符号化されたものである場合には、逆直交変換処理が施された画像情報は、画面並べ替えバッファ１２６に格納され、Ｄ／Ａ変換部１２７におけるＤ／Ａ変換処理の後に出力される。
【００１９】
一方、当該フレームがインター符号化されたものである場合には、動き予測・補償部１２８は、可逆復号処理が施された動きベクトル情報とフレームメモリ１２９に格納された画像情報とに基づいて参照画像を生成し、加算器１２５に供給する。加算器１２５は、この参照画像と逆直交変換部１２４の出力とを合成する。なお、その他の処理については、イントラ符号化されたフレームと同様であるため、説明を省略する。
【００２０】
ここで、ＪＶＴにおける、可逆符号化部１０６について詳細に説明する。ＪＶＴの可逆符号化部１０６では、量子化部１０５や動き予測・補償部１１１から入力された入力されたモード情報や動き情報、量子化された係数情報といったシンボルに対して、図１０２に示す様に、ＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄＡｄａｐｔｉｖｅ　Ｂｉｎａｒｙ　Ａｒｉｔｈｍｅｔｉｃ　Ｃｏｄｉｎｇ）と呼ばれる算術符号化（以下、ＣＡＢＡＣ）、もしくはＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ　Ａｄａｐｔｉｖｅ　Ｖａｒｉａｂｌｅ　Ｌｅｎｇｔｈ　Ｃｏｄｉｎｇ）と呼ばれる可変長符号化（以下、ＣＡＶＬＣ）のどちらかの可逆符号化が適用され、画像圧縮情報（ビットストリーム）が出力される。どちらの可逆符号化が適用されるかは図１０２におけるＣＡＢＡＣ／ＣＡＶＬＣ選択情報により決められるものであり、このＣＡＢＡＣ／ＣＡＶＬＣ選択情報は画像情報符号化装置１００で決められ、ヘッダ情報としてビットストリームに埋め込まれて出力される。
【００２１】
まず、図１０３に可逆符号化部１０６におけるＣＡＢＡＣの構成図を示す。図１０３では、量子化部１０５や動き予測・補償部１１１から入力されたモード情報や動き情報、量子化された変換係数情報が多値シンボルとしてｂｉｎａｒｉｚａｔｉｏｎ器１３１に入力される。ｂｉｎａｒｉｚａｔｉｏｎ器１３１では、入力された多値シンボルを、あらかじめ決められた一定規則にもとづき任意の長さの２値シンボルの列に変換する。この２値シンボル列はＣＡＢＡＣ符号化器１３３に入力され、ＣＡＢＡＣ符号化器１３３では、入力された２値シンボルに対してバイナリシンボル算術符号化が適用され、その結果をビットストリームとして出力し、蓄積バッファ１０７に入力する。なお、Ｃｏｎｔｅｘｔ演算器１３２では、ｂｉｎａｒｉｚａｔｉｏｎ器１３１に入力されたシンボル情報とｂｉｎａｒｉｚａｔｉｏｎ器１３１からの出力である２値シンボルをもとにＣｏｎｔｅｘｔの計算を行い、ＣＡＢＡＣ符号化器１３３に入力する。Ｃｏｎｔｅｘｔ演算器１３２におけるＣｏｎｔｅｘｔメモリ群１３５には、符号化処理中に随時更新されるＣｏｎｔｅｘｔとリセット時などに用いられるＣｏｎｔｅｘｔの初期状態が保存される。
【００２２】
次に、図１０４に可逆符号化部１０６におけるＣＡＶＬＣの構成図を示す。図１０４では、量子化部１０５や動き予測・補償部１１１から入力されたモード情報や動き情報、量子化された変換係数情報が多値シンボルとしてとしてＣＡＶＬＣ符号化器１４０に入力される。ＣＡＶＬＣ符号化器１４０では、従来のＭＰＥＧなどで採用されている可変長符号化のように、入力された多値シンボルに対して可変長符号テーブルを適用して、ビットストリームを出力する。ここでＣｏｎｔｅｘｔ保存器１４１では、既にＣＡＶＬＣ符号化器１４０で符号化された情報、例えば、処理中のブロックだけでなく既に処理されたブロックにおける各ブロック内の非０係数の個数や直前に符号化された係数の値などが保存される。ＣＡＶＬＣ符号化器１４０は、このＣｏｎｔｅｘｔ保存器１４１からの情報をもとにシンボルに適用する可変長符号テーブルを切り替えることが可能である。なお、Ｃｏｎｔｅｘｔ保存器１４１にはリセット時などに用いられるＣｏｎｔｅｘｔの初期状態も保存される。この出力されたビットストリームは、蓄積バッファ１０７に入力される。
【００２３】
同様に、ＪＶＴにおける、可逆復号化部１２２について詳細に説明する。ＪＶＴの可逆復号化部１２２では、可逆符号化部１０６と同様に、入力されたビットストリームに対して、図１０５に示す様に、ＣＡＢＡＣ、もしくはＣＡＶＬＣのどちらかの可逆復号化が適用される。どちらの可逆復号化が適用されるかは、入力されたビットストリームのヘッダ情報に埋め込まれたＣＡＢＡＣ／ＣＡＶＬＣ選択情報を読み込むことにより、ＣＡＢＡＣかＣＡＶＬＣのどちらかを適用する。
【００２４】
図１０６に可逆復号化部１２２におけるＣＡＢＡＣの構成図を示す。図１０６では、蓄積バッファ１２１より入力されたビットストリームに対しＣＡＢＡＣ復号化器１６１においてバイナリシンボル算術復号化が適用され、その結果が２値シンボル列として出力される。この２値シンボル列は、逆ｂｉｎａｒｉｚａｔｉｏｎ器１６３に入力され、逆ｂｉｎａｒｉｚａｔｉｏｎ器１６３において、あらかじめ決められた一定規則にもとづき多値シンボルに変換される。この逆ｂｉｎａｒｉｚａｔｉｏｎ器１６３から出力される多値シンボルは、モード情報や動きベクトル、量子化された係数情報として、逆ｂｉｎａｒｉｚａｔｉｏｎ器１６３から出力され、逆量子化部１２３、動き予測・補償部１２８に入力される。なお、Ｃｏｎｔｅｘｔ演算器１６２では、逆ｂｉｎａｒｉｚａｔｉｏｎ器１６３に入力された２値化シンボル列と逆ｂｉｎａｒｉｚａｔｉｏｎ器１６３からの出力である多値シンボルをもとにＣｏｎｔｅｘｔの計算を行い、ＣＡＢＡＣ復号化器１６１に入力する。Ｃｏｎｔｅｘｔ演算器１６２におけるＣｏｎｔｅｘｔメモリ群１６５には、復号化処理中に随時更新されるＣｏｎｔｅｘｔとリセット時などに用いられるＣｏｎｔｅｘｔの初期状態が保存される。
【００２５】
次に、図１０７に可逆復号化部１２２におけるＣＡＶＬＣの構成図を示す。図１０７では、蓄積バッファ１２１より入力されたビットストリームがＣＡＶＬＣ復号化器１７０に入力される。ＣＡＶＬＣ復号化器１７０では、従来のＭＰＥＧなどで採用されている可変長復号化のように、入力されたビットストリームに対して可変長復号テーブルを適用して、モード情報や動き情報、量子化された変換係数情報を出力する。これら出力情報は、可逆量子化部１２３、動き予測・補償部１２８に入力される。ここでＣｏｎｔｅｘｔ保存器１７１では、既にＣＡＶＬＣ復号化器１７０で復号化された情報、例えば、処理中のブロックだけでなく既に処理されたブロックにおける各ブロック内の非０係数の個数や直前に復号化された係数の値などが保存される。ＣＡＶＬＣ復号化器１７０は、このＣｏｎｔｅｘｔ保存器１１からの情報をもとにシンボルに適用する可変長復号テーブルを切り替えることが可能である。なお、Ｃｏｎｔｅｘｔ保存器１４１にはリセット時などに用いられるＣｏｎｔｅｘｔの初期状態も保存される。
【００２６】
この図１０３、図１０６に示すＣＡＢＡＣの詳細動作として、以下にＦｉｎａｌ　Ｃｏｍｍｉｔｔｅｅ　Ｄｒａｆｔ　ＩＳＯ／ＩＥＣ　１４４９６−１０：２００２（第９．２節）におけるＣＡＢＡＣの説明を添付する（例えば、非特許文献１参照。）。
【００２７】
９．２Ｃｏｎｔｅｘｔ−ｂａｓｅｄ　ａｄａｐｔｉｖｅ　ｂｉｎａｒｙ　ａｒｉｔｈｍｅｔｉｃ　ｃｏｄｉｎｇ（ＣＡＢＡＣ）
９．２．１　Ｄｅｃｏｄｉｎｇ　ｆｌｏｗ　ａｎｄ　ｂｉｎａｒｉｚａｔｉｏｎＢｉｎａｒｉｚａｔｉｏｎとはｎｏｎ−ｂｉｎａｒｙ　ｓｙｍｂｏｌからｂｉｎａｒｙ列（ｂｉｎと呼ばれる）への変換を行う処理のことであり、９．２．１．１−９．２．１．４節において、ＣＡＢＡＣの為の基本的なｂｉｎａｒｉｚａｔｉｏｎ方式が規定される。Ｄｅｃｏｄｉｎｇ　ｆｌｏｗ、及び、全てのｓｙｎｔａｘ　ｅｌｅｍｅｎｔに対するｂｉｎａｒｉｚａｔｉｏｎ方法は９．２．１．５−９．２．１．９節で規定される。
【００２８】
９．２．１．１　　Ｕｎａｒｙ　ｂｉｎａｒｉｚａｔｉｏｎ
Ｕｎａｒｙ　ｃｏｄｅによるｂｉｎａｌｉｚａｔｉｏｎの最初の５ｓｙｍｂｏｌに対する表をＴａｂｌｅ９−１９に示す。
【００２９】
Ｃｏｄｅ　ｓｙｍｂｏｌ　Ｃに対しては、Ｃ個の’１’の最後に’０’を付けたｂｉｎａｒｙ列が対応する。Ｂｉｎの最初のｂｉｔにはｂｉｎ　ｎｕｍｂｅｒ＝１が対応し、２番目のｂｉｔにはｂｉｎ　ｎｕｍｂｅｒ＝２、と、最後のｂｉｔに行くに従って対応するｂｉｎ　ｎｕｍｂｅｒは増えていく。
【００３０】
2004135251.tif 000003
【００３１】
９．２．１．２　　Ｔｒｕｎｃａｔｅｄ　ｕｎａｒｙ（ＴＵ）ｂｉｎａｒｉｚａｔｉｏｎ
Ｔｒｕｎｃａｔｅｄ　ｕｎａｒｙ（ＴＵ）ｂｉｎａｒｉｚａｔｉｏｎは有限個のシンボル｛０，．．．，Ｃｍａｘ｝に対して適用される。Ｓｙｍｂｏｌ　Ｃ＜Ｃｍａｘ；に対しては９．２．１．１節で規定されたｕｎｎａｒｙ　ｂｉｎａｒｉｚａｔｉｏｎを行い、シンボルＣｍａｘにはＣｍａｘ個の１を割り当てる。Ｂｉｎ　ｎｕｍｂｅｒの割り振り方はｕｎａｒｙ　ｂｉｎａｒｉｚａｔｉｏｎの場合と同じである。
【００３２】
９．２．１．３　　Ｃｏｎｃａｔｅｎａｔｅｄ　ｕｎａｒｙ／ｋｔｈ−ｏｒｄｅｒ　Ｅｘｐ−Ｇｏｌｏｍｂ（ＵＥＧｋ）ｂｉｎａｒｉｚａｔｉｏｎ　Ｃｏｎｃａｔｅｎａｔｅｄ　ｕｎａｒｙ／ｋｔｈ−ｏｒｄｅｒ　Ｅｘｐ−Ｇｏｌｏｍｂ（ＵＥＧｋ）ｂｉｎａｒｉｚａｔｉｏｎは、Ｃｍａｘ＝Ｕｃｏｆｆ（Ｕｃｏｆｆ：Ｃｕｔ　ｏｆｆ　ｐａｒａｍｅｔｅｒ）としたｔｒｕｎｃａｔｅｄ　ｕｎａｒｙｂｉｎａｒｉｚａｔｉｏｎ　ｃｏｄｅ（ｐｒｅｆｉｘｃｏｄｅ）とｋ次のＥｘｐ−Ｇｏｌｏｍｂ符号（ｓｕｆｆｉｘ　ｃｏｄｅ）とが連接されたものが変換後の
2004135251.tif 000004
の場合ｓｕｆｆｉｘ　ｃｏｄｅはｓｙｍｂｏｌ　Ｃ−Ｕｃｏｆｆに対するＥｘｐ−Ｇｏｌｏｍｂ符号となる。
【００３３】
Ｓｙｍｂｏｌ　Ｓに対するｋ次のＥｘｐ−Ｇｏｌｏｍｂ　ｃｏｄｅは以下のように構成される：
2004135251.tif 000005
【００３４】
Ｂｉｎ　ｎｕｍｂｅｒは、ｕｎａｒｙ　ｃｏｄｅの第１ビット目をｂｉｎ　ｎｕｍ＝１として、Ｅｘｐ−Ｇｏｌｏｍｂ符号のＬＳＢに向かって１づつ増えていく。
【００３５】
９．２．１．４　　Ｆｉｘｅｄ−ｌｅｎｇｔｈ（ＦＬ）ｂｉｎａｒｉｚａｔｉｏｎ
2004135251.tif 000006
を適用する。Ｂｉｎ　ｎｕｍｂｅｒはＬＳＢをｂｉｎ＿ｎｕｍ＝１とし、ＭＳＢに向かって増えていく。
【００３６】
９．２．１．５　　Ｂｉｎａｒｉｚａｔｉｏｎ　ｓｃｈｅｍｅｓ　ｆｏｒ　ｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅ　ａｎｄ　ｓｕｂ　ｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅＩ　ｓｌｉｃｅ中のｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅのｂｉｎａｒｉｚａｔｉｏｎ方式はＴａｂｌｅ９−２０で規定される。ただし、ａｄａｐｔｉｖｅ＿ｂｌｏｃｋ＿ｓｉｚｅ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ＝＝１であった場合には、Ｔａｂｌｅ１２−１０に従う。
【００３７】
ＳＩ　ｓｌｉｃｅ中のｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅのｂｉｎａｒｉｚａｔｉｏｎ後のｂｉｔ列はｐｒｅｆｉｘとｓｕｆｆｉｘ部分からなり、ｐｒｅｆｉｘはｂ１＝（（ｍｂ＿ｔｙｐｅ＝＝ＳＩｎｔｒａ＿４ｘ４）？０：１）で表される１ｂｉｔ、ｓｕｆｆｉｘはＳｉｎｔｒａ４ｘ４の場合（ｓｕｆｆｉｘ無し）を除きＴａｂｌｅ９−２０に示すｂｉｎａｒｉｚａｔｉｏｎ　ｐａｔｔｅｒｎに基づく。
【００３８】
Ｐ，ＳＰ，Ｂ　ｓｌｉｃｅのｂｉｎａｒｉｚａｔｉｏｎはＴａｂｌｅ９−２１で規定される。Ｐ，ＳＰ　ｓｌｉｃｅ中のｉｎｔｒａｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅ（ｍｂ＿ｔｙｐｅ値７〜３０に相当）は、Ｔａｂｌｅ９−２１に示すｐｒｅｆｉｘとＴａｂｌｅ９−２０に示すｓｕｆｆｉｘによってｂｉｎａｒｉｚａｔｉｏｎが行われる。
【００３９】
Ｂ　ｓｌｉｃｅ中のｉｎｔｒａ　ｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅ（ｍｂ＿ｔｙｐｅ値２３〜４７に相当）についても、Ｔａｂｌｅ９−２１に示すｐｒｅｆｉｘとＴａｂｌｅ９−２０に示すｓｕｆｆｉｘによってｂｉｎａｒｉｚａｔｉｏｎが行われる。ａｄａｐｔｉｖｅ＿ｂｌｏｃｋ＿ｓｉｚｅ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ＝＝１の場合は、Ｔａｂｌｅ９−２１における対応するｓｌｉｃｅのｐｒｅｆｉｘと、Ｔａｂｌｅ１２−１０で規定されるｓｕｆｆｉｘが用いられる。
【００４０】
Ｐ，ＳＰ，Ｂ　ｓｌｉｃｅにおけるｓｕｂ＿ｍｂ＿ｔｙｐｅのｂｉｎａｒｉｚａｔｉｏｎはＴａｂｌｅ９−２２で与えられる。
【００４１】
2004135251.tif 000007
2004135251.tif 000008
2004135251.tif 000009
【００４２】
2004135251.tif 000010
2004135251.tif 000011
2004135251.tif 000012
【００４３】
2004135251.tif 000013
2004135251.tif 000014
2004135251.tif 000015
【００４４】
９．２．１．６　　　　Ｄｅｃｏｄｉｎｇ　ｆｌｏｗ　ａｎｄ　ａｓｓｉｇｎｍｅｎｔ　ｏｆ　ｂｉｎａｒｉｚａｔｉｏｎ　ｓｃｈｅｍｅｓ
この節においてｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ，ｄｅｌｔａ＿ｑｐ及びｒｅｆｅｒｅｎｃｅ　ｐｉｃｔｕｒｅ　ｉｎｄｅｘ，ｍｏｔｉｏｎ　ｖｅｃｔｏｒ　ｄａｔａ，Ｉｎｔｒａ４ｘ４　ｐｒｅｄｉｃｔｉｏｎ　ｍｏｄｅｓそれぞれのｓｙｎｔａｘ　ｅｌｅｍｅｎｔのｂｉｎａｒｉｚａｔｉｏｎ方式を規定する。
【００４５】
基本的にｃｏｄｅｄ　ｂｌｏｃｋ　ｐａｔｔｅｒｎは７．４．６節で規定された関係ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ＝ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎＹ＋１６＊ｎｃによって復号される。最初にｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ中のｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎＹが、Ｃｍａｘ＝１５，Ｌ＝４によるｆｉｘｅｄ−ｌｅｎｇｔｈ（ＦＬ）ｂｉｎａｒｉｚａｔｉｏｎによって復号され、次に、色差のｎｃがＣｍａｘ＝２のＴＵ　ｂｉｎａｒｉｚａｔｉｏｎによって復号される。
【００４６】
ｄｅｌｔａ＿ｑｐ　ｐａｒａｍｅｔｅｒの復号は次に示すように２段階で行われる。最初に
2004135251.tif 000016
次に、Ｔａｂｌｅ９−２に示される対応関係によって符号付きの値に直される。
【００４７】
Ｉｎｔｒａ＿４ｘ４，Ｓｉｎｔｒａ＿４ｘ４のｌｕｍａに対するｓｐａｔｉａｌ　ｉｎｔｒａ　ｐｒｅｄｉｃｔｉｏｎ　ｍｏｄｅｓの復号は次のように規定される。最初にｉｎｔｒａ＿ｐｒｅｄ＿ｉｎｄｉｃａｔｏｒがＣｍａｘ＝８のｔｒｕｎｃａｔｅｄ　ｕｎａｒｙ（ＴＵ）ｂｉｎａｒｉｚａｔｉｏｎによって復号される。もし、ｉｎｔｒａ＿ｐｒｅｄ＿ｉｎｄｉｃａｔｏｒが０であった場合、ｕｓｅ＿ｍｏｓｔ＿ｐｒｏｂａｂｌｅ＿ｍｏｄｅ＝１とし、
2004135251.tif 000017
ｉｎｔｒａ＿ｐｒｅｄ＿ｉｎｄｉｃａｔｏｒ−１とする。ｉｎｔｒａ＿ｐｒｅｄ＿ｍｏｄｅは与えられたｍｏｓｔ＿ｐｒｏｂａｂｌｅ＿ｍｏｄｅ、ｒｅｍａｉｎｉｎｇ＿ｍｏｄｅ＿ｓｅｌｅｃｔｏｒを用い、９．１．５．１節で規定される方法で復号が行われる。復号順序はＦｉｇｕｒｅ９−１ｂ）に示されるものと同様である。Ｃｈｒｏｍａのｉｎｔｒａ＿ｃｈｒｏｍａ＿ｐｒｅｄ＿ｍｏｄｅに対しては、Ｃｍａｘ＝３のｔｒｕｎｃａｔｅｄ　ｕｎａｒｙ（ＴＵ）ｂｉｎａｒｉｚａｔｉｏｎを用いて復号が行われる。
【００４８】
Ｒｅｆｅｒｅｎｃｅ　ｐｉｃｔｕｒｅ　ｉｎｄｅｘ　ｐａｒａｍｅｔｅｒは９．２．１．１で規定されるｕｎａｒｙｂｉｎａｒｉｚａｔｉｏｎを用いて復号される。
【００４９】
動きベクトルの符号化された各コンポーネントは、それぞれのコンポーネント毎に復号される。それぞれのコンポーネントは水平、垂直成分を含むが、水平方向に対応するものが最初に復号される。最初に絶対値ａｂｓ＿ｍｖｄ＿ｃｏｍｐ、次に、符号ｓｉｇｎ＿ｍｖｄ＿ｃｏｍｐが復号される。ａｂｓ＿ｍｖｄ＿ｃｏｍｐに適用されるｂｉｎａｒｉｚａｔｉｏｎはｃｕｔ−ｏｆｆ　ｐａｒａｍｅｔｅｒ　Ｕｃｏｆｆ＝９のｃｏｎｃａｔｅｎａｔｅｄ　ｕｎａｒｙ／３ｒｄ−ｏｒｄｅｒ　Ｅｘｐ−Ｇｏｌｏｍｂ（ＵＥＧ３）ｂｉｎａｒｉｚａｔｉｏｎである。Ｅｘｐ−Ｇｏｌｏｍｂ復号の際には、９．２．４．３．５で規定されているＤｅｃｏｄｅ＿ｅｑ＿ｐｒｏｂ処理が適用される。
【００５０】
９．２．１．７　　Ｄｅｃｏｄｉｎｇ　ｆｌｏｗ　ａｎｄ　ｂｉｎａｒｉｚａｔｉｏｎ　ｏｆ　ｔｒａｎｓｆｏｒｍ　ｃｏｅｆｆｉｃｉｅｎｔｓ変換係数の復号は３段階からなる。Ｍａｃｒｏｂｌｏｃｋ　ｌｅｖｅｌでのｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎによって係数値があることが分かっている場合、それぞれのｂｌｏｃｋに対するｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇが復号されるが、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇが０である場合、当該ｂｌｏｃｋに対する以降の情報は復号されない。ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇ　！＝０の場合、ｓｃａｎの最後の位置を除くそれぞれのｓｃａｎ位置ｉに対するｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ［ｉ］を復号する。ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ［ｉ］が１であった場合、次にｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ［ｉ］が復号される。ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ［ｉ］が１であるということは、ｓｃａｎ位置ｉの係数値がｓｃａｎパス順で現れる最後の係数であることを意味する。ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ［ｉ］が１となった時には、次に、ｃｏｅｆｆ＿ａｂｓｏｌｕｔｅ＿ｖａｌｕｅ＿ｍｉｎｕｓ＿１をｓｃａｎの逆順で復号し、同様に、その次ｃｏｅｆｆ＿ｓｉｇｎをｓｃａｎの逆順で復号する。ｃｏｅｆｆ＿ａｂｓｏｌｕｔｅ＿ｖａｌｕｅ＿ｍｉｎｕｓ＿１はＵＣｏｆｆ＝１４のｕｎａｒｙ／ｚｅｒｏ−ｏｒｄｅｒ　Ｅｘｐ−Ｇｏｌｏｍｂ（ＵＥＧＯ）ｂｉｎａｒｉｚａｔｉｏｎを用いて復号される。動きベクトルの絶対値復号の場合と同様に、Ｅｘｐ−Ｇｏｌｏｍｂ　ｓｕｆｆｉｘはＤｅｃｏｄｅ＿ｅｑ＿ｐｒｏｂ処理を用いて復号される。
【００５１】
９．２．１．８　　　Ｄｅｃｏｄｉｎｇ　ｏｆ　ｓｉｇｎ　ｉｎｆｏｒｍａｔｉｏｎ　ｒｅｌａｔｅｄ　ｔｏ　ｍｏｔｉｏｎ　ｖｅｃｔｏｒ　ｄａｔａ　ａｎｄ
ｔｒａｎｓｆｏｒｍ　ｃｏｅｆｆｉｃｉｅｎｔｓ
動きベクトルの符号情報ｓｉｇｎ＿ｍｖｄ＿ｃｏｍｐと係数値の符号情報ｃｏｅｆｆ＿ｓｉｇｎは以下のように復号される。最初に９．２．４．３．５節で規定されるＤｅｃｏｄｅ＿ｅｑ＿ｐｒｏｂ処理を行って得られたｓｉｇｎ＿ｉｎｄを用い、符号情報ｓｉｇｎ＿ｉｎｆｏをｓｉｇｎ＿ｉｎｆｏ＝（（ｓｉｇｎ＿ｉｎｄ＝＝０）？１：−１）によって得る。
【００５２】
９．２．１．９　　　Ｄｅｃｏｄｉｎｇ　ｏｆ　ｍａｃｒｏｂｌｏｃｋ　ｓｋｉｐ　ｆｌａｇ　ａｎｄ　ｅｎｄ−ｏｆ−ｓｌｉｃｅ　ｆｌａｇ　ｍｂ＿ｓｋｉｐ＿ｆｌａｇの復号は以下のように行われる。最初に９．２．２．２節で規定されたｃｏｎｔｅｘｔ　ｍｏｄｅｌを用いｍｂ＿ｓｋｉｐ＿ｆｌａｇ＿ｄｅｃｏｄｅｄを復号する。次にｍｂ＿ｓｋｉｐ＿ｆｌａｇをｍｂ＿ｓｋｉｐ＿ｆｌａｇ＿ｄｅｃｏｄｅｄを反転する（ｉ．ｅ．，ｍｂ＿ｓｋｉｐ＿ｆｌａｇ＝ｍｂ＿ｓｋｉｐ＿ｆｌａｇ＿ｄｅｃｏｄｅｄ＾０ｘ０１）ことによって得る。
【００５３】
ｅｎｄ＿ｏｆ＿ｓｌｉｃｅ＿ｆｌａｇはＳｔａｔｅ＝６３，ＭＰＳ＝０のｆｉｘｅｄ，ｎｏｎ−ａｄａｐｔｉｖｅ　ｍｏｄｅｌによって復号される。この場合、以下に示す理由によって、９．２．４．２に示される確率予測を各復号ステップで行っているにも関わらず、ｆｉｘｅｄｍｏｄｅとなることが示される。ｅｎｄ＿ｏｆ＿ｓｌｉｃｅ　ｖａｌｕｅｓがずっと’０’であった場合、ＭＰＳ　ｓｙｍｂｏｌの観測によってもＳｔａｔｅ＝６３は確率予測の結果Ｓｔａｔｅ＝６３のままとなる。そして、ＬＰＳ値’１’がｅｎｄ＿ｏｆ＿ｓｌｉｃｅ＿ｆｌａｇの値として復号された場合は、この時点でｓｌｉｃｅの終わりに到達していることになるから以降の復号処理には影響しない。以上のような理由でＳｔａｔｅ＝６３，ＭＰＳ＝０に設定することにより、ｆｉｘｅｄ，ｎｏｎ−ａｄａｐｔｉｖｅ　ｍｏｄｅｌが実現される。
【００５４】
９．２．２　Ｃｏｎｔｅｘｔ　ｄｅｆｉｎｉｔｉｏｎ　ａｎｄ　ａｓｓｉｇｎｍｅｎｔ
それぞれのｂｉｎ　ｎｕｍｂｅｒに対して、それまでに復号されたｓｙｍｂｏｌ等を含む諸条件によって決まるｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅが定義される。Ｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅの値は特定のｂｉｎ　ｎｕｍｂｅｒに対するｃｏｎｔｅｘｔ　ｍｏｄｅｌを定める。それぞれのｂｉｎ　ｎｕｍｂｅｒ：ｂｉｎ＿ｎｕｍに対して複数のｃｏｎｔｅｘｔ　ｌａｂｅｌが定めらる場合もあるが、１つだけの場合もある。
【００５５】
この節ではｓｙｎｔａｘ　ｅｌｅｍｅｎｔを符号化する為の一般的なｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅの算出法であるｃｏｎｔｅｘｔ　ｔｅｍｐｌａｔｅｓを定義し、ｓｙｎｔａｘ　ｅｌｅｍｅｎｔのそれぞれのｂｉｎ　ｎｕｍｂｅｒに対応するｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅを規定する。まず、それぞのれｓｙｎｔａｘ　ｅｌｅｍｅｎｔの異なるｂｉｎ　ｎｕｍｂｅｒに対して与えられるｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅを規定する為にｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒ：ｃｏｎｔｅｘｔ＿ｉｄを規定するが、これは、ｂｉｎ　ｎｕｍｂｅｒｋに対するｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅをｃｏｎｔｅｘｔ＿ｉｄ［ｋ］として表すためのものである。このｃｏｎｔｅｘｔ＿ｉｄ［ｋ］は、
2004135251.tif 000018
【００５６】
Ｔａｂｌｅ９−２３にそれぞれのｓｙｎｔａｘ　ｅｌｅｍｅｎｔのカテゴリ毎のｃｏｎｔｅｘｔ　ｉｄｅｈｔｉｆｉｅｒの概要を示す。
対応するｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅについてのより詳細な記述は以降の節において記述する。それぞれのｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒはｃｏｎｔｅｘｔ　ｌａｂｅｌの特定の範囲に対応する。ｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅの場合はＩ，ＳＩ，Ｐ，ＳＰ，Ｂ．のそれぞれについて別々のｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒが存在しており、個別のｃｏｎｔｅｘｔ　ｌａｂｅｌの範囲を持つが、ｃｏｎｔｅｘｔ　ｌａｂｅｌの範囲自体は重複している。
【００５７】
変換係数のｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒの場合、ａｄａｐｔｉｖｅ＿ｂｌｏｃｋ＿ｓｉｚｅ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ＝＝１の時にはＴａｂｌｅ１２−１２に示される追加のｃｏｎｔｅｘｔ　ｌａｂｅｌ値を用いる。
【００５８】
2004135251.tif 000019
2004135251.tif 000020
2004135251.tif 000021
【００５９】
９．２．２．１　　　Ｏｖｅｒｖｉｅｗ　ｏｆ　ａｓｓｉｇｎｍｅｎｔ　ｏｆ　ｃｏｎｔｅｘｔ　ｌａｂｅｌｓ
Ｔａｂｌｅ９−２４，９−２５にｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒｓとそのｃｏｎｔｅｘｔ　ｌａｂｅｌの範囲を示す。このｃｏｎｔｅｘｔ　ｌａｂｅｌ（実際にはｏｆｆｓｅｔが加算されたものが参照ｌａｂｅｌ番号となる）とｂｉｎ　ｎｕｍｂｅｒの関係によって、どのｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅがｆｉｘｅｄ　ｍｏｄｅｌを用い、どのｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅが複数のｍｏｄｅｌを持つのかが分かる。
【００６０】
Ｔａｂｌｅ９−２４の特定のｂｉｎ　ｎｕｍｂｅｒ　ｂｉｎ＿ｎｕｍに複数のｃｏｎｔｅｘｔ　ｌａｂｅｌが割り振られているもの、また、Ｔａｂｌｅ９−２５におけるｃｏｎｔｅｘｔ＿ｃａｔｅｇｏｒｙに対して複数のｃｏｎｔｅｘｔ　ｌａｂｅｌが与えられているものは、複数のｍｏｄｅｌからの選択を行う。
【００６１】
2004135251.tif 000022
2004135251.tif 000023
【００６２】
2004135251.tif 000024
【００６３】
９．２．２．２　　　　Ｃｏｎｔｅｘｔ　ｔｅｍｐｌａｔｅｓ　ｕｓｉｎｇ　ｔｗｏ　ｎｅｉｇｈｂｏｕｒｉｎｇ　ｓｙｍｂｏｌｓ
一般的なｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅの設定方法を説明するためにＦｉｇｕｒｅ９−２（図２２）を用いる。当該ｂｌｏｃｋ　Ｃに対して隣接する左ｂｌｏｃｋと上ｂｌｏｃｋにおける同一ｓｙｎｔａｘｅｌｅｍｅｎｔのｓｙｍｂｏｌまたはｂｉｎがＡ，Ｂとして図示されている。
【００６４】
Ｃｏｎｔｅｘｔを決める式の第一番目は以下の通りとなる。
ｃｔｘ＿ｖａｒ＿ｓｐａｔ＝ｃｏｎｄ＿ｔｅｒｍ（Ａ，Ｂ），　　（９−１）
ｃｏｎｄ＿ｔｅｒｍ（Ａ，Ｂ）は隣接ｓｙｍｂｏｌ　Ａ，Ｂとｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅの間の関係を表す関数である。
この他に、３つのテンプレートが以下のように定義される。
2004135251.tif 000025
Ｔａｂｌｅ９−２６において２つの隣接ｓｙｍｂｏｌからのｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅの求め方を示す。ｃｔｘ＿ｃｂｐ４はＴａｂｌｅ９−２８に示される６つのｂｌｏｃｋ　ｔｙｐｅ（Ｌｕｍａ−ＤＣ，Ｌｕｍａ−ＡＣ，Ｃｈｒｏｍａ−Ｕ−ＤＣ，Ｃｈｒｏｍａ−Ｖ−ＤＣ，Ｃｈｒｏｍａ−Ｕ−ＡＣ，Ｃｈｒｏｍａ−Ｖ−ＡＣ）によって決定される。
【００６５】
2004135251.tif 000026
2004135251.tif 000027
【００６６】
2004135251.tif 000028
ｃｏｍｐは水平成分（ｈ）または垂直性分（ｖ）を意味し、Ａ，ＢはＦｉｇｕｒｅ９−２に示すような隣接ｂｌｏｃｋを意味する。これら隣接ｂｌｏｃｋは異なるｍａｃｒｏｂｌｏｃｋ　ｐａｒｔｉｔｉｏｎに属する可能性がある為、以下のような隣接ｂｌｏｃｋを特定する為の方法が規定されている。最初に４ｘ４ｂｌｏｃｋの動きベクトルはｏｖｅｒｓａｍｐｌｅされている、つまり、対応するｂｌｏｃｋがより粗くｐａｒｔｉｔｉｏｎｉｎｇされていた場合、ｑｕａｄｔｒｅｅにおける親ｂｌｏｃｋの動きベクトルを継承しているとみなす。逆に、当該ｂｌｏｃｋ　Ｃが隣接ｂｌｏｃｋより粗くｐａｒｔｉｔｉｏｎｉｎｇされていた場合、隣接ｂｌｏｃｋの左上のｓｕｂ−ｂｌｏｃｋの動きベクトルを対応動きベクトルとする。これらの処理によって隣接ｂｌｏｃｋにおける対応する値を求めた後、（９−５）を用いてｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅを得る。
【００６７】
９．２．２．３　　　Ｃｏｎｔｅｘｔ　ｔｅｍｐｌａｔｅｓ　ｕｓｉｎｇ　ｐｒｅｃｅｄｉｎｇ　ｂｉｎ　ｖａｌｕｅｓ
（ｂ１，．．．，ｂＮ）がｓｙｍｂｏｌ　Ｃのｂｉｎａｒｉｚａｔｉｏｎに相当すると仮定した場合、Ｃのｋ番目のｂｉｎに対応するｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅは以下のように規定される。
ｃｔｘ＿ｖａｒ＿ｂｉｎ［ｋ］＝ｃｏｎｄ＿ｔｅｒｍ（ｂ１，．．．，ｂｋ−１），　　（９−６）
2004135251.tif 000029
与え方の一覧を示す。
【００６８】
2004135251.tif 000030
【００６９】
９．２．２．４　　Ａｄｄｉｔｉｏｎａｌ　ｃｏｎｔｅｘｔ　ｄｅｆｉｎｉｔｉｏｎｓ　ｆｏｒ　ｉｎｆｏｒｍａｔｉｏｎ　ｒｅｌａｔｅｄ　ｔｏｔｒａｎｓｆｏｒｍ　ｃｏｅｆｆｉｃｉｅｎｔｓ
変換係数の条件付けの為には、さらに３つの異なるｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒが追加で用いられる。
【００７０】
これらのｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒはＴａｂｌｅ９−２８で示されるｃｏｎｔｅｘｔ＿ｃａｔｅｇｏｒｙに依存して決まる。
【００７１】
2004135251.tif 000031
【００７２】
ａｄａｐｔｉｖｅ＿ｂｌｏｃｋ＿ｓｉｚｅ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ＝＝１の場合には１２．５．２節で規定されるようなｃｏｎｔｅｘｔ　ｃａｔｅｇｏｒｙがさらに加わる。Ｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒ　ｃｔｘ＿−ｓｉｇとｃｔｘ＿ｌａｓｔはｂｉｎａｒｙ値を持つＳＩＧとＬＡＳＴ、及び、当該ｂｌｏｃｋのｓｃａｎｎｉｎｇ＿ｐｏｓによって以下のように与えられる。
【００７３】
2004135251.tif 000032
（９−７）と（９−８）にあるＭａｐ＿ｓｉｇとＭａｐ＿ｌａｓｔはｂｌｏｃｋ
ｔｙｐｅに依存して変わる。
【００７４】
まず、ｃｏｎｔｅｘｔ　ｃａｔｅｇｏｒｙが０−４の場合、それぞれ以下のような恒等写像となる。
【００７５】
Ｍａｐ＿ｓｉｇ（ｓｃａｎｎｉｎｇ＿ｐｏｓ）＝Ｍａｐ＿ｌａｓｔ（ｓｃａｎｎｉｎｇ＿ｐｏｓ）＝ｓｃａｎｎｉｎｇ＿ｐｏｓ，ｉｆｃｏｎｔｅｘｔ＿ｃａｔｅｇｏｒｙ＝０，．．．，４，
ｓｃａｎｎｉｎｇ＿ｐｏｓはｚｉｇ−ｚａｇ　ｓｃａｎにおけるｓｃａｎ位置を示す。ａｄａｐｔｉｖｅ＿ｂｌｏｃｋ＿ｓｉｚｅ＿ｔｒａｎｓｆｏｒｍ＿ｆｌａｇ＝＝１の場合のみに使われるｃｏｎｔｅｘｔ　ｃａｔｅｇｏｒｙ＝５〜７に対するＭａｐ＿ｓｉｇ，Ｍａｐ＿ｌａｓｔは１２．５．２節で与えられる。
【００７６】
変換係数−１を表すａｂｓ＿ｌｅｖｅｌ＿ｍｌの復号の際にはｃｔｘ＿ａｂｓ＿ｌｅｖｅｌがｃｏｎｔｅｘｔ　ｉｄｅｎｔｉｆｉｅｒとして用いられる。ｃｔｘ＿ａｂｓ＿ｌｅｖｅｌはｃｔｘ＿ａｂｓ＿ｌｅｖｅｌ［１］とｃｔｘ＿ａｂｓ＿ｌｅｖｅｌ［２］の２つのｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅの値を用いて以下のように求められる。
ｃｔｘ＿ａｂｓ＿ｌｅｖ［１］＝　（（ｎｕｍ＿ｄｅｃｏｄ＿ａｂｓ＿ｌｅｖ＿ｇｔｌ！＝０）？４：ｍｉｎ（３，ｎｕｍ＿ｄｅｃｏｄ＿ａｂｓ＿ｌｏｖ＿ｅｑｌ）），　　（９−９）
ｃｔｘ＿ａｂｓ＿ｌｅｖ［２］＝ｍｉｎ（４，ｎｕｍ＿ｄｅｃｏｄ＿ａｂｓ＿ｌｅｖ＿ｇｔｌ），（９−１０）
ｎｕｍ＿ｄｅｃｏｄ＿ａｂｓ＿ｌｅｖ　ｅｑｌは係数値が１の係数の数を表し、ｎｕｍ＿ｄｅｃｏｄ＿ａｂｓ＿ｌｅｖ＿ｇｔｌは係数値が１より大きな係数の数を表す。Ｃｏｎｔｅｘｔ　ｖａｒｉａｂｌｅ　ｃｔｘ＿ａｂｓ＿ｌｅｖｅｌ［ｋ］，ｋ＝１，２を算出する際には当該ｂｌｏｃｋの変換係数のみが必要であり、他の情報は必要とされない。
【００７７】
９．２．３　Ｉｎｉｔｉａｌｉｓａｔｉｏｎ　ｏｆ　ｃｏｎｔｅｘｔ　ｍｏｄｅｌｓ
９．２．３．１　　　Ｉｎｉｔｉａｌｉｓａｔｉｏｎ　ｐｒｏｃｅｄｕｒｅ
Ｓｌｉｃｅの先頭でｓｔａｔｅ　ｎｕｍｂｅｒと９．２．４．２で定義されるＭＰＳに対応するシンボルが初期化される。それら２つを合わせて初期状態と呼ぶが、実際の初期状態は量子化パラメータＱＰによって以下のように定められる。
【００７８】
ｐｒｅ＿ｓｔａｔｅをｐｒｅ＿ｓｔａｔｅ＝（（ｍ＊（ＱＰ−１２））＞＞４）＋ｎによって算出する。
ｐｒｅ＿ｓｔａｔｅをＰ，Ｂ　ｓｌｉｃｅの場合［０，１０１］に、Ｉ　ｓｌｉｃｅの場合［２７，７４］にクリップする。処理は以下の通り。
【００７９】
ｐｒｅ＿ｓｔａｔｅ＝ｍｉｎ（１０１，ｍａｘ（０，ｐｒｅ＿ｓｔａｔｅ））ｆｏｒ　Ｐ−ａｎｄ　Ｂ−ｓｌｉｃｅｓ　ａｎｄ　ｐｒｅ＿ｓｔａｔｅ＝ｍｉｎ（７４，ｍａｘ（２７，ｐｒｅ＿ｓｔａｔｅ））ｆｏｒ　Ｉ−ｓｌｉｃｅｓ；
ｐｒｅ＿ｓｔａｔｅから｛ｓｔａｔｅ，ＭＰＳ｝へのｍａｐｐｉｎｇを以下の式に従って行う：
ｉｆ（ｐｒｅ＿ｓｔａｔｅ＜＝５０）ｔｈｅｎ｛ｓｔａｔｅ＝５０−ｐｒｅ＿ｓｔａｔｅ，ＭＰＳ＝０｝ｅｌｓｅ｛ｓｔａｔｅ＝ｐｒｅ＿ｓｔａｔｅ−５１，ＭＰＳ＝１｝
【００８０】
９．２．３．２　　Ｉｎｉｔｉａｌｉｓａｔｉｏｎ　ｐｒｏｃｅｄｕｒｅ
Ｔａｂｌｅｓ９−２９−９−３４に全てのｓｙｎｔａｘ　ｅｌｅｍｅｎｔに対する初期化ｐａｒａｍｅｔｅｒを示す。初期状態は９．２．３．１節に述べた方法によって得られる。
【００８１】
2004135251.tif 000033
2004135251.tif 000034
【００８２】
2004135251.tif 000035
【００８３】
2004135251.tif 000036
2004135251.tif 000037
【００８４】
2004135251.tif 000038
【００８５】
2004135251.tif 000039
【００８６】
2004135251.tif 000040
2004135251.tif 000041
2004135251.tif 000042
【００８７】
９．２．４　Ｔａｂｌｅ−ｂａｓｅｄ　ａｒｉｔｈｍｅｔｉｃ　ｃｏｄｉｎｇ
注−算術符号は区間分割を行うことによって符号化を行う。与えられた’０’と’１’の予測確率ｐ（‘０’）とｐ（‘１’）＝１−ｐ（‘０’）を用い、最初に与えられた区間Ｒはｐ（‘０’）×ＲとＲ−ｐ（‘０’）×Ｒ，にそれぞれ分割される。受け取ったｂｉｎａｒｙ値によって、どちらの区間を次の分割対象区間とするのかが決められる。Ｂｉｎａｒｙ値は’０’，’１’よりも優勢シンボル（ＭＰＳ）であるか劣勢シンボル（ＬＰＳ）であるかが重要であり、それぞれのｃｏｎｔｅｘｔ　ｍｏｄｅｌ　ＣＴＸはＬＰＳの確率ｐＬＰＳとＭＰＳの種別（‘０’または’１’）によって決定される。
【００８８】
このＲｅｃｏｍｍｅｎｄａｔｉｏｎもしくはＩｎｔｅｒｎａｔｉｏｎａｌ　Ｓｔａｎｄａｒｄにおける算術符号エンジンは以下に示すような３つの特徴を持つ。
【００８９】
確率予測は６４の状態を持つｓｔａｔｅ　ｍａｃｈｉｎｅによって行われる。Ｓｔａｔｅ　ｍａｃｈｉｎｅ
2004135251.tif 000043
て遷移する。
【００９０】
分割区間を表す変数Ｒは新しい分割区間を計算する前に４つの値｛Ｑ１，．．．，Ｑ４｝に量子化される。あらかじめＱｉ×Ｐｋに対応する６４ｘ４種類の値を計算して保持しておくことでＲ×Ｐｋの乗算処理を省くことができる。
‘０’と’１’の発生確率がほぼ等しいとみなせるｓｙｎｔａｘ　ｅｌｅｍｅｎｔについては別の復号処理が適用される。
【００９１】
９．２．４．２　　　Ｐｒｏｂａｂｉｌｉｔｙ　ｅｓｔｉｍａｔｉｏｎ
2004135251.tif 000044
（ＦＳＭ）によって行われる。Ｔａｂｌｅ９−３５に与えられたＭＰＳまたはＬＰＳに対する遷移法則を示す。任意のＳｔａｔｅからＭＰＳまたはＬＰＳを符号化することによってＮｅｘｔ＿Ｓｔａｔｅ＿ＭＰＳ（Ｓｔａｔｅ）またはＮｅｘｔ＿Ｓｔａｔｅ＿ＬＰＳ（Ｓｔａｔｅ）に遷移する。
【００９２】
状態番号はＳｔａｔｅ＝０がＬＰＳの発生確率＝０．５に対応し、以下、番号が増えるごとにＬＰＳの発生確率が低くなっているものに対応する。Ｉ　ｓｌｉｃｅに対しては状態を最初の２４個に制限するため、Ｔａｂｌｅ９−３５ではその為に用いられるＮｅｘｔ＿Ｓｔａｔｅ＿ＭＰＳ＿ＩＮＴＲＡがある。尚、Ｎｅｘｔ＿Ｓｔａｔｅ＿ＭＰＳ＿ＩＮＴＲＡとＮｅｘｔ＿Ｓｔａｔｅ＿ＭＰＳが違うのは一箇所だけである。
【００９３】
Ｉ　ｓｌｉｃｅの復号の際２３より大きな状態への遷移を避けるため、Ｎｅｘｔ＿Ｓｔａｔｅ＿ＭＰＳ（３５）＝２３を用いる。詳細はＴａｂｌｅ９−３５を参照のこと。
１シンボルの符号化／復号を行うたびにＳｔａｔｅが変わり、その結果確率が更新される。
2004135251.tif 000045
2004135251.tif 000046
ＬＰＳの発生確率が０．５、つまり、Ｓｔａｔｅ＝０の時にさらにＬＰＳが得られた場合、ＬＰＳとＭＰＳに対応するシンボル’０’，’１’の交換が行われる。
【００９４】
2004135251.tif 000047
【００９５】
2004135251.tif 000048
2004135251.tif 000049
【００９６】
９．２．４．３　　　　Ｄｅｓｃｒｉｐｔｉｏｎ　ｏｆ　ｔｈｅ　ａｒｉｔｈｍｅｔｉｃ　ｄｅｃｏｄｉｎｇ　ｅｎｇｉｎｅ
算術符号の復号器の状態は、範囲Ｒの分割区間中を指す値Ｖによって表される。Ｆｉｇｕｒｅ９−３に復号処理全体を示す。最初に９．２．４．３．１で規定されるＩｎｉｔＤｅｃｏｄｅｒ処理を行うことによりＶとＲが初期化される。１回のｄｅｃｉｓｉｏｎは以下のような２ステップの処理で行われる。最初にｃｏｎｔｅｘｔ　ｍｏｄｅｌ　ＣＴＸが９．２．２節で示される規則によって生成され、次に与えられたＣＴＸに従って９．２．４．３．２節で規定されるＤｅｃｏｄｅ（ＣＴＸ）が適用されてｓｙｍｂｏｌ　Ｓが得られる。
【００９７】
９．２．４．３．１　　Ｉｎｉｔｉａｌｉｓａｔｉｏｎ　ｏｆ　ｔｈｅ　ｄｅｃｏｄｉｎｇ　ｅｎｇｉｎｅ
Ｆｉｇｕｒｅ９−４に示される初期化処理において、Ｖには９．２．４．３．４節で示されるＧｅｔＢｙｔｅ処理を用いて得られる２ｂｙｔｅの値が設定され、Ｒには０ｘ８０００が設定される。
【００９８】
９．２．４．３．２　　　Ｄｅｃｏｄｉｎｇ　ａ　ｄｅｃｉｓｉｏｎ
Ｆｉｇｕｒｅ９−５は１つのｄｅｃｉｓｉｏｎを行う処理ｆｌｏｗｃｈａｒｔを表す。最初のステップではＬＰＳとＭＰＳに対応する区間ＲＬＰＳとＲＭＰＳが以下のように予測される。
与えられた区間の幅Ｒは、以下に示すように最初にＱという値に量子化される。
Ｑ＝（Ｒ−０ｘ４００１）＞＞１２，　　（９−１１）
このＱとＳｔａｔｅを用いてＲＴＡＢをｉｎｄｅｘｉｎｇすることで以下のようにＲＬＰＳが得られる。
ＲＬＰＳ＝ＲＴＡＢ［Ｓｔａｔｅ］［Ｑ］．　（９−１２）
Ｔａｂｌｅ９−３６にＲＴＡＢを１６ｂｉｔで表現したものを示す。ＲＴＡＢは実際には８ｂｉｔの精度で与えられているが、６ｂｉｔの左シフトが施され形で与えられている。これは１６ｂｉｔアーキテクチャでの実装を容易にするためである。
【００９９】
次に、ＶとＭＰＳ区間ＲＭＰＳとの比較が行われ、ＶがＲＭＰＳ以上であった場合ＬＰＳが復号される。同時にＶからはＲＭＰＳが減ぜられ、ＲにはＲＬＰＳが入る。ＶがＲＭＰＳ未満であった場合、ＭＰＳが復号され、ＲにはＲＭＰＳが入る。それぞれのｄｅｃｏｄｉｎｇ　ｄｅｃｉｓｉｏｎによって、９．２．４．２節で規定される確率の更新が行われる。新しい区間値Ｒによっては、９．２．４．３．３節で規定されるｒｅｎｏｒｍａｌｉｚａｔｉｏｎが適用される。
【０１００】
９．２．４．３．３　Ｒｅｎｏｒｍａｌｉｚａｔｉｏｎ　ｉｎ　ｔｈｅ　ｄｅｃｏｄｉｎｇ　ｅｎｇｉｎｅ（ＲｅｎｏｒｍＤ）
Ｒ　ｅｎｏｒｍａｌｉｚａｔｉｏｎ処理をＦｉｇｕｒｅ９−６に示す。区間値Ｒと０ｘ４０００の比較が最初に行われるが、Ｒが０ｘ４０００よりも大きかった場合ｒｅｎｏｒｍａｌｉｚａｔｉｏｎは行われず、処理は終了する。そうでない場合、ｒｅｎｏｒｍａｌｉｚａｔｉｏｎ　ｌｏｏｐに入る。このｌｏｏｐ内ではＲの値が２倍、つまり、１ｂｉｔ左にｓｈｉｆｔされ、ｂｉｔ−ｃｏｕｎｔ　ＢＧは１減らされる。ＢＧ＜０となった場合はＧｅｔＢｙｔｅによって新たなデータが読み込まれ、Ｂの最下位ビットがＶに設定される。
【０１０１】
９．２．４．３．４　Ｉｎｐｕｔ　ｏｆ　ｃｏｍｐｒｅｓｓｅｄ　ｂｙｔｅｓ（ＧｅｔＢｙｔｅ）
Ｆｉｇｕｒｅ９−７に圧縮データの入力処理を示す。初期化時またはｒｅｎｏｒｍａｌｉｚａｔｉｏｎでｂｉｔ−ｃｏｕｎｔｅｒ　ＢＧが負の値になった場合にこの処理が適用される。最初にｂｉｔｓｔｒｅａｍ　Ｃから新しいｂｙｔｅが読み込まれる。次に、ｂｉｔｓｔｒｅａｍ中の位置を示すＣＬの値が１増やされ、ｂｉｔ−ｃｏｕｎｔｅｒの値が７に設定される。
【０１０２】
９．２．４．３．５　Ｄｅｃｏｄｅｒ　ｂｙｐａｓｓ　ｆｏｒ　ｄｅｃｉｓｉｏｎｓ　ｗｉｔｈ　ｕｎｉｆｏｒｍ　ｐｄｆ（Ｄｅｃｏｄｅ＿ｅｑ＿ｐｒｏｂ）この処理は動きベクトルの符号、及び、変換係数の符号のように符号化ｓｙｍｂｏｌが等しい発生確率を持っているとみなされる場合に適用される特別な処理である。そのような場合、ｓｙｍｂｏｌ　Ｓを復号し、区間を分割するという通常の処理は一回の比較（Ｖ＞＝Ｒｈａｌｆ？）のみで行える。ＲｅｎｏｒｍａｌｉｚａｔｉｏｎはＦｉｇｕｒｅ９−８で示されたものと似ているが以下の２点が異なる。第１点目はｒｅｓｃａｌｉｎｇ処理Ｒ←（Ｒ＜＜１）が不要なことであり、２点目は、最初の比較（Ｒ＜＝０ｘ４０００？）が省けることである。
【０１０３】
【非特許文献１】
Ｆｉｎａｌ　Ｃｏｍｍｉｔｔｅｅ　Ｄｒａｆｔ　ＩＳＯ／ＩＥＣ　１４４９６−１０：２００２（第９．２節）
【０１０４】
【発明が解決しようとする課題】
ところで、画像情報符号化装置１００において、１ピクチャを符号化する際に、その符号化単位を、１ピクチャ、又は、スライス、又は、マクロブロック、又はブロックのいずれとして考えた場合でも、その符号化単位に含まれ、図１０３のｂｉｎａｒｉｚａｔｉｏｎ器１３１に入力されるシンボルの数は固定ではなく、入力される画像信号や符号化条件によって異なるため、不定である。
【０１０５】
また、ｂｉｎａｒｉｚａｔｉｏｎ器１３１に入力された１シンボルに対して出力される２値データ列の長さは、ＪＶＴ　ＦＣＤ第９．２．１節の引用でも示した様に、一定の長さにはならない。例えば、ＪＶＴ　ＦＣＤ第９．２．１．５節Ｔａｂｌｅ９−２０にあるように、Ｉ　ｓｌｉｃｅにおけるｍｂ＿ｔｙｐｅ１Ｓｙｍｂｏｌに対する２値データ列の長さは、最小で１（Ｉｎｔｒａ＿４ｘ４時）、最大で６となる。このように、１つのＳｙｍｂｏｌに対するｂｉｎａｚｉｚａｔｉｏｎ器１３１の出力２値データ長も不定である。
【０１０６】
このことから、入力画像信号のある符号化単位に含まれるシンボルに対して、ｂｉｎａｒｉｚａｔｉｏｎ器１３１で出力される２値データの数は固定ではなく不定となり、入力データと符号化条件によっては、非常に大量の２値データがｂｉｎａｒｉｚａｔｉｏｎ器１３１から出力される可能性がある。
【０１０７】
ここで、ｂｉｎａｒｉｚａｔｉｏｎ器１３１から出力された２値データは図１０３のＣＡＢＡＣ符号化器１３３に入力されることになるが、ＣＡＢＡＣ符号化器１３３は、入力された１個の２値データを処理するのに実装上１クロック以上の処理時間が必要であるため、ＣＡＢＡＣ符号化器１３３に入力される２値データの個数が膨大であると、それだけ処理時間が必要になり、実装した際に、膨大な処理時間がかかることになる。また、上記で述べたように、ＣＡＢＡＣ符号化器１３３に入力される２値データの数は不定であるため、処理時間の最悪値を見積もることが困難になってくる。
【０１０８】
このため、画像情報符号化装置１００において、実時間処理やある一定の処理速度を保証する必要がある場合には、ＣＡＢＡＣ符号化器１３３に入力される２値データの数が膨大であるか、または、不定であると、その保証が不可能となる。
【０１０９】
また、ｂｉｎａｒｉｚａｔｉｏｎ器１３１に入力された１シンボルに対して出力された２値データ列に対するＣＡＢＡＣ符号化器１３３の出力ビット長は不定である。これはＣＡＢＡＣが入力２値データの発生確率に応じて、出力ビット長を可変にコントロールするからである。このため、ＣＡＢＡＣ符号化器１３３に入力された１つの２値データは、その発生確率によって、１ビット以下のビットストリームデータともなり得るし、数ビット以上のビットストリームデータともなり得る。
【０１１０】
ここで、ＣＡＢＡＣ符号化器１３３は、出力される１個のビットデータを処理するのに実装上１クロック以上の処理時間が必要であるため、ＣＡＢＡＣ符号化器１３３から出力されるビットデータが膨大であると、それだけ処理時間が必要になり、実装した際に、膨大な処理時間がかかることになる。また、上記で述べた様に、ＣＡＢＡＣ符号化器１３３から出力されるビットデータの数は不定であるため、処理時間の最悪値を見積もることが困難になってくる。
【０１１１】
このため、画像情報符号化装置１００において、実時間処理やある一定の処理時間を保証する必要がある場合には、ＣＡＢＡＣ符号化器１３３から出力されるビットデータの数が膨大であるか、または、不定であると、その保証が不可能となる。
【０１１２】
以上のように、ＣＡＢＡＣ符号化器１３３へ入出力される２値データやビットデータの個数が、１ピクチャや、ピクチャ内のスライスや、マクロブロックやブロックといった符号化単位内において、不定であり、その数が膨大になり得るというのは、実装上、その符号化単位で、ある一定の処理時間を保証するのを妨げることになる。
【０１１３】
続いて、画像情報復号化装置１２０において、１ピクチャを符号化する際に、その符号化単位を、１ピクチャ、又は、スライス、又は、マクロブロック、又はブロックのいずれとして考えた場合でも、その符号化単位に含まれ、図１０６のＣＡＢＡＣ復号化器１６１に入力されるビットストリームのビット数は固定ではなく、入力されるビットストリームによって異なるため、不定である。
【０１１４】
ここで、ＣＡＢＡＣ復号化器１６１は、入力される１個のビットデータを処理するのに実装上１クロック以上の処理時間が必要であるため、ＣＡＢＡＣ復号化器１６１へ入力されるビットデータが膨大であると、それだけ処理時間が必要になり、実装した際に、膨大な処理時間がかかることになる。また、上記で述べた様に、ＣＡＢＡＣ復号化器１６１へ入力されるビットデータの数は不定であるため、処理速度の最悪値を見積もることが困難になってくる。
【０１１５】
このため、画像情報復号化装置１２０において、実時間処理やある一定の処理時間を保証する必要がある場合には、ＣＡＢＡＣ復号化器１６１へ入力されるビットデータの数が膨大であるか、または、不定であると、その保証が不可能となる。特に、画像情報復号化装置１２０は、画像情報符号化装置１００よりも画像情報をリアルタイムで復号化、表示を行わなければならないという要求が高いため、実時間処理を保証できないことは問題となる。
【０１１６】
【課題を解決するための手段】
本発明は、上記の状況を鑑み、ＣＡＢＡＣ符号化器、及び復号化器において入出力されるデータ量を、１ピクチャ、又はスライス、又はマクロブロック、又はブロックといったある符号化単位内において制限することとその手段を画像情報符号化器や復号化器、及びそのビットストリームに適用する。
【０１１７】
また、本発明では、上記の状況を鑑み、非圧縮画像データを符号化することとその手段を画像情報符号化器や復号化器、及びそのビットストリームに適用する。
【０１１８】
また、本発明では、上記の状況を鑑み、ＣＡＢＡＣだけでなくＣＡＶＬＣに対しても、同様の方法を適用する。
【０１１９】
【作用】
上記のＣＡＢＡＣ符号化器、及び復号化器における入出力データ量の制限、及び非圧縮データの符号化により、画像情報符号化装置や復号化装置がある一定の処理時間を保証することが可能となり、その処理時間を保証した装置を実装することが可能となる。また、同様にＣＡＢＡＣではなくＣＡＶＬＣの場合でも、同様な効果を得ることが可能となる。
【０１２０】
【実施例】
以下、本発明の実施例を図面を参照しながら説明する。
【０１２１】
図１における装置１０による実施例の説明
本発明における画像符号化装置の実施例を図１に示す。図１の装置１０では符号化されるべき画像信号が入力され、符号化されたビットストリームが出力される。装置１０は入力バッファ１１と変換処理部１２とＣＡＢＡＣ処理部１３と制限監視器１４と出力バッファ１５により構成される。入力バッファ１１では、入力画像をマクロブロック単位に分割し出力をし、後段においてマクロブロックの処理が終わる毎に、次のマクロブロックを出力する。変換処理部１２では、入力されたマクロブロック画像に対して処理を行い、ヘッダ情報や量子化された係数情報をＣＡＢＡＣ処理部１３に出力する。具体的には、パラメータ設定器１６により、マクロブロックのモード情報や動きベクトル情報、量子化パラメータ等のヘッダ情報を設定し、その値（シンボル）を予測器１７、ＤＣＴ器１８、量子化器１９、及び、ＣＡＢＡＣ処理部１３に出力する。ここで、パラメータ設定器１６は、マクロブロックのヘッダ情報のみならず、スライスやピクチャのヘッダ情報も設定し、出力することを可能とするので、ここでは、全てを総称してヘッダ情報と記載する。なお、予測器１７では動き補償が、ＤＣＴ器１８ではＤＣＴ変換が、量子化器１９では量子化処理が、それぞれ、前段からの入力信号に対して、パラメータ設定器１６からの入力信号を参照して適用される。
【０１２２】
ＣＡＢＡＣ処理部１３には、ヘッダ情報と量子化された係数情報がシンボルデータとして入力され、算術符号化が適用され、ビットデータとして出力される。具体的には、入力されたシンボルデータをｂｉｎａｒｉｚａｔｉｏｎ器２０によって２値データ列に変換し、その２値データをＣｏｎｔｅｘｔ演算器２１からのＣｏｎｔｅｘｔ情報をもとに、ＣＡＢＡＣ符号化器２２でエントロピー符号化する。Ｃｏｎｔｅｘｔ演算器２１では、ｂｉｎａｒｉｚａｔｉｏｎ器２０に入力されるシンボルデータと、ｂｉｎａｒｉｚａｔｉｏｎ器２０から出力される２値データをもとにＣｏｎｔｅｘｔを更新し、また、そのＣｏｎｔｅｘｔ情報をＣＡＢＡＣ符号化部２２に出力する。
【０１２３】
制限監視器１４は、ＣＡＢＡＣ符号化器２２に入力される２値データの個数のカウンタと出力されるビットデータの個数のカウンタ（ビットカウンタ２５）をそれぞれ独立に持ち、ＣＡＢＡＣ符号化器２２へ２値データが入力されるたびに前者のカウンタを１つずつ増加させ、ＣＡＢＡＣ符号化器２２からビットデータが出力されるたびに後者のカウンタを１つずつ増加させる。このカウンタはそれぞれ、マクロブロックの先頭の処理を開始するたびに０にリセットされる。これにより、各マクロブロックにおける、ＣＡＢＡＣ符号化器２２の入力データと出力データのそれぞれの個数をカウントすることが可能となる。
【０１２４】
この制限監視器１４では、これらカウンタのうちのどちらか一方でも、あらかじめ設定された閾値を超えてしまった場合、その符号化データは無効であることを示す信号（以下、再符号化信号）を、出力バッファ１５とＣｏｎｔｅｘｔ演算器２１とパラメータ設定器１６に対して出力する。この再符号化信号を受け取ったパラメータ設定器１６は、再度この閾値を超えない様に注意して符号化パラメータを設定し直し、符号化対象のマクロブロックデータを再符号化処理する。また、Ｃｏｎｔｅｘｔ演算器２１は、Ｃｏｎｔｅｘｔメモリ群２３を有しており、このＣｏｎｔｅｘｔメモリ群２３は従来の技術の図１０３にある従来のＣｏｎｔｅｘｔメモリ群１３５と同様に、符号化処理中に随時更新されるＣｏｎｔｅｘｔとリセット時などに用いられるＣｏｎｔｅｘｔの初期状態が保存されるが、それと共に、マクロブロックをデータ処理する直前のＣｏｎｔｅｘｔの状態も保存しておくことが可能である。これにより、再符号化信号を受け取ったＣｏｎｔｅｘｔ演算器１６は、内部のＣｏｎｔｅｘｔの状態を、この新たに付け加えられたメモリに保存されているＣｏｎｔｅｘｔの値に書き換えることにより、符号化対象のマクロブロックのデータによって更新される直前のＣｏｎｔｅｘｔの状態に復元することが可能である。また、再符号化信号を受け取った出力バッファ１５は、内部に蓄積された符号化対象マクロブロックのビットデータを全て削除し、新たな符号化パラメータで符号化されたマクロブロックデータの入力を待つ。逆に、対象のマクロブロックの符号化処理を終えた際に、制限監視器１４のいずれのカウンタも、あらかじめ設定された閾値を超えていなければ、出力バッファ１５内の対象マクロブロックのビットデータをビットストリームとして出力することが可能である。
【０１２５】
ここまで説明した図１の装置１０では、制限監視器１４にあるカウンタはマクロブロックの先頭でリセットされることから、これは、マクロブロック単位で、ＣＡＢＡＣ符号化器２２に入力される２値データと、出力されるビットデータの個数を監視し制限することを意味するが、このリセットのタイミングを、マクロブロック内のブロック単位に設定すれば、各ブロック単位での上記データ個数を監視し制限することが可能になる。同様にスライス単位でリセットをすれば、スライス単位で上記データ個数を監視し制限することが可能になるし、ピクチャ単位でリセットすれば、ピクチャ単位で上記データ個数を監視し制限することが可能となる。また、この様に上記データ個数を監視、制限する符号化単位を変える場合には、同時に、Ｃｏｎｔｅｘｔ演算器２１におけるＣｏｎｔｅｘｔメモリ群２３にはその符号化単位の直前のＣｏｎｔｅｘｔ値が保存されるため、Ｃｏｎｔｅｘｔの状態復元も、その符号化単位の直前の状態に復元されることになる。また、出力バッファ１５のビットデータの削除も同様の符号化単位で行われることになる。
【０１２６】
なお、この復元の際には、Ｃｏｎｔｅｘｔメモリ２３群に保存されている符号化単位の直前のＣｏｎｔｅｘｔ値ではなく、同様にＣｏｎｔｅｘｔメモリ群２３に保存されているあらかじめ定められた初期値に復元することも可能である。
【０１２７】
ここまで説明した図１の装置１０では、制限監視器１４には２つのカウンタが設定されているが、これらカウンタに設定する閾値は、それぞれ独立に自由な値を設定することが可能であり、また、２つのうちどちらか一方のみに対応するデータカウントのみを監視し、もう片方は無視する、もしくはカウンタ自体を持たない様な構成にすることも可能である。
【０１２８】
この装置１０により、１回のマクロブロック処理において、ＣＡＢＡＣ符号化器に入力、及び出力されるデータ量の上限を制限することができるため、要求されたマクロブロック１回の処理時間を満たすことが可能になる。また、要求された処理時間で復号化処理が可能なビットストリームを出力することが可能になる。
【０１２９】
ここで、今後の説明のために、図１における変換処理部１２とＣＡＢＡＣ処理部１３をまとめて表現した装置、マクロブロック処理部２９を図７に示す。今後の記載におけるマクロブロック処理部２９は、図１における変換処理部１２とＣＡＢＡＣ処理部１３を直列でつないだ装置として、同様の振る舞いをするものとする。
【０１３０】
図２における装置３０による実施例の説明
図１で示した装置１０では、制限監視器１４が再符号化信号を出力するたびに、変換処理部１２は再度、新たな符号化パラメータを設定して対象マクロブロックの符号化を行わなければならないし、再度設定されたパラメータによって得られたデータにより、再度、制限監視器１４のカウンタが閾値を超えてしまうということが繰り返される可能性もある。そのため、１つのマクロブロックに対して複数回、符号化処理を連続的に適用しなければならず、その分、１ピクチャの符号化時間が多くかかってしまう。
【０１３１】
ゆえに、本発明における画像符号化装置の別の実施例として、対象マクロブロックに対して異なる符号化パラメータを適用する符号化を並列に実施する例を２番目の実施例として図２に示す。
【０１３２】
図２の装置３０では、図１の装置１０と同様に、符号化されるべき画像信号が入力され、符号化されたビットストリームが出力される。図２の装置３０は入力バッファ３１と、Ｎ個の異なる符号化パラメータによるＮ段の並列符号化処理を可能とするマクロブロック処理部３２−１〜３２−Ｎと、それに対応した出力バッファ３３−１〜３３−Ｎと、制限監視・経路選択器３４と切替器３５により構成される。
【０１３３】
図２の装置３０では、符号化対象のマクロブロックに対して、Ｎ個の異なる符号化パラメータを設定し、それぞれの符号化パラメータによる符号化処理をマクロブロック処理部３２−１〜３２−Ｎで並列に行い、その出力を出力バッファ３３−１〜３３−Ｎに蓄積する。
【０１３４】
制限監視・経路選択器３４は、マクロブロック処理部３２−１〜３２−Ｎそれぞれに対応するＣＡＢＡＣ符号化器に対する２つの入出力データカウンタ（ビットカウンタ３６）を持ち、Ｎ段の並列経路のうちから、このカウンタが閾値を超えず、かつ、符号化効率の最も優れた符号化経路を選択し、切替器３５により出力する系統を選択する。
【０１３５】
図２の装置３０におけるその他の詳細な動作、及び符号化単位等のバリエーションは図１の装置１０と同様のものとする。
【０１３６】
この装置３０により、符号化時に置いてＣＡＢＡＣ符号化器に入力、及び出力されるデータ量の上限を制限することができるため、要求されたの符号化処理時間を満たすことが可能になる。また、要求された処理時間で復号化処理が可能なビットストリームを出力することが可能になる。
【０１３７】
図３における装置４０による実施例の説明
次に図３に、また別の本発明における画像符号化装置の実施例を示す。この実施例は、図１の実施例に加えて、非圧縮符号化データ、すなわち、入力されたマクロブロックに対して、圧縮しないＲＡＷデータをそのまま符号化する経路を有している。
【０１３８】
図３の装置４０の図１の装置１０との違いは、マクロブロック画像データはマクロブロック処理部４１のみでなく、非圧縮符号化部４３にも入力される。非圧縮符号化部４３では、入力された画像情報に対して一切の変換処理とエントロピー符号化をしないデータ、すなわち、ＲＡＷデータが出力バッファＢ４４に出力される。制限監視・経路選択器４７は、図１における制限監視器１４の振る舞いと同様に、ビットカウンタ４９によりＣＡＢＡＣ符号化器の入出力のデータ量を監視し、かつ、もし、その監視されているデータがあらかじめ設定されている閾値を超えた場合には、切替器４６が出力バッファＢ４４からの入力を選択し出力するようにする。逆に、閾値を超えなかった場合には、出力バッファＡ４２、出力バッファＢ４４のどちらの出力でも選択することが可能となっている。
【０１３９】
ここで、制限監視・経路選択器４５が出力バッファＢ４４、すなわちＲＡＷデータを選択した場合には、その事がマクロブロック処理部４１にあるＣｏｎｔｅｘｔ演算器にも通知され、Ｃｏｎｔｅｘｔ演算器内のＣｏｎｔｅｘｔ値は、Ｃｏｎｔｅｘｔメモリ群に保存されたマクロブロックを処理する直前のＣｏｎｔｅｘｔの値を用いて、そのＲＡＷデータとして処理されたマクロブロックを処理する直前の状態に復元される
【０１４０】
なお、マクロブロックがＲＡＷデータとして処理された場合のＣｏｎｔｅｘｔの復元方法としては、あらかじめ決められた初期状態に復元するということも可能である。
【０１４１】
ここで、マクロブロックがＲＡＷデータとして符号化されたかどうかを示すために、出力されるビットストリームのヘッダ情報には、そのためのデータが埋め込まれる。
【０１４２】
ＲＡＷデータが符号化された際には、ＣＡＢＡＣ符号化部は、ＲＡＷデータをビットストリームに出力させる前に、ＣＡＢＡＣの終端処理をする。
【０１４３】
また、非圧縮符号化器４５は、ＲＡＷデータを出力する非圧縮処理装置のみでなく、ＤＰＣＭ符号化装置などさまざまな圧縮装置に置き換えることが可能である。
【０１４４】
図３の装置４０におけるその他の詳細な動作、及び符号化単位等のバリエーションは図１の装置１０と同様のものとする。
【０１４５】
この装置４０により、符号化時に置いてＣＡＢＡＣ符号化器に入力、及び出力されるデータ量の上限を制限することができるため、要求されたの符号化処理時間を満たすことが可能になる。また、要求された処理時間で復号化処理が可能なビットストリームを出力することが可能になる。
【０１４６】
図４における装置５０による実施例の説明
次に図４に、また別の本発明における画像符号化装置の実施例である装置５０を示す。この実施例は、図２の装置３０に加えて、非圧縮符号化データ、すなわち、入力されたマクロブロックに対して、圧縮しないＲＡＷデータをそのまま符号化する経路を有している。
【０１４７】
図４の装置の図２の装置との共通の部分の動作は、図１の装置とほとんど同じであるため、違いのみを具体的に示すと、マクロブロック画像データはマクロブロック処理部５１−１〜５１−Ｎのみでなく、非圧縮符号化部５８に入力される。非圧縮符号化部５８では、入力された画像情報に対して一切の変換処理とエントロピー符号化をしないデータ、すなわち、ＲＡＷデータとして出力バッファＢ５９に出力される。制限監視・経路選択器５３は、図２における制限監視・経路選択器３４の振る舞いと同様に、ビットカウンタ５５を監視し、もし、全ての経路１〜Ｎにおけるビットカウンタ（２個のうちどちらか）があらかじめ設定されている閾値を超えた場合には、信号選択器５４が出力バッファＢ５９からの入力を選択し出力するようにする。逆に、閾値を超えなかった場合には、出力バッファＡ５２−１〜５２−Ｎ、出力バッファＢ５９のどちらの出力でも選択することが可能となっている。
【０１４８】
なお、出力バッファＢ５９からのＲＡＷデータが信号選択部５４で選ばれる場合には、マクロブロック処理部５１−１〜５１−ＮにあるＣｏｎｔｅｘｔ演算部のＣｏｎｔｅｘｔの状態は、Ｃｏｎｔｅｘｔメモリ群で記憶されたマクロブロックを処理する直前のＣｏｎｔｅｘｔの状態に復元される。なお、この復元の際には、図１の装置１０でも説明したとおり、あらかじめ定められた初期値に復元することも可能である。
【０１４９】
逆に、出力バッファからＲＡＷデータでなく、出力バッファＡ５２−１〜５２−Ｎのうちの１つである出力バッファＡ５２−ｉが信号選択部５４で選ばれた場合には、マクロブロック処理部５１−ｉのＣｏｎｔｅｘｔ演算部のＣｏｎｔｅｘｔの状態が他のマクロブロック処理部５１−１〜５１−ＮにあるＣｏｎｔｅｘｔ演算部にコピーされる。これは、その後のマクロブロックの符号化を始めるにあたって、全てのＣｏｎｔｅｘｔ演算部のＣｏｎｔｅｘｔの状態が同じでなければならないからである。
ちなみに、非圧縮符号化部５８は、ＲＡＷデータを出力する非圧縮処理装置のみでなく、ＤＰＣＭ符号化装置などさまざまな圧縮装置に置き換えることが可能である。
【０１５０】
図４の装置５０におけるその他の詳細な動作、及び符号化単位等のバリエーショシは図１の装置１０と同様のものとする。
【０１５１】
この装置５０により、符号化時に置いてＣＡＢＡＣ符号化器に入力、及び出力されるデータ量の上限を制限することができるため、要求されたの符号化処理時間を満たすことが可能になる。また、要求された処理時間で復号化処理が可能なビットストリームを出力することが可能になる。
【０１５２】
図５における装置６０による実施例の説明
次に図５に、図１００の可逆符号化部１０６としてＣＡＢＡＣではなくＣＡＶＬＣを適用する装置６０を示す。この装置６０は図１の装置１０のＣＡＢＡＣ処理部１３をＣＡＶＬＣ処理器６３で置き換えたものであり、ＣＡＶＬＣ処理器６３と制限監視器６４以外は同じ振る舞いをするため、ここではＣＡＶＬＣ処理器６３と制限監視器６４の動作についてのみ説明をする。
【０１５３】
ＣＡＶＬＣ処理器６３には、ヘッダ情報と量子化された係数情報がシンボルデータとして入力され、従来のＭＰＥＧ２などと類似した、可変長テーブルを用いた可変長符号化が適用され、ビットデータとして出力される。ここでＣＡＶＬＣ処理器６３は、従来の技術の図１０４で説明したＣＡＶＬＣ符号化器とＣｏｎｔｅｘｔ保存器からなり、従来の保存器と同様に、既にＣＡＶＬＣ符号化器で符号化された情報、例えば、処理中のブロックだけでなく既に処理されたブロックにおける各ブロック内の非０係数の個数や直前に符号化された係数の値などが保存されるのに加えて、本発明におけるＣＡＶＬＣ処理器６３では、再符号化信号が来たときにマクロブロックを符号化する直前の状態に戻れる様に、マクロブロックを符号化する直前のＣｏｎｔｅｘｔの状態を保存しておくことが可能である。ＣＡＶＬＣ符号化器は、このＣｏｎｔｅｘｔ保存器からの情報をもとにシンボルに適用する可変長符号テーブルを切り替えることが可能である。なお、Ｃｏｎｔｅｘｔ保存器にはリセット時などに用いられるＣｏｎｔｅｘｔの初期状態も保存される。
【０１５４】
制限監視器６４は、ＣＡＶＬＣ処理器６３から出力されるビットデータの個数のカウンタ（ビットカウンタ７５）を１つ持ち、ＣＡＶＬＣ処理器６３からビットデータが出力されるたびにこのカウンタを１つずつ増加させる。このカウンタは、マクロブロックの先頭の処理を開始する時に０にリセットされる。これにより、各マクロブロックにおける、ＣＡＶＬＣ処理機６３からの出力データの個数をカウントすることが可能となる。
【０１５５】
この制限監視器６４では、このカウンタ７５があらかじめ設定された閾値を超えてしまった場合、その符号化データは無効であることを示す信号（以下、再符号化信号）を、出力バッファ６５とパラメータ設定器６６に対して出力する。この再符号化信号を受け取ったパラメータ設定器６６は、再度この閾値を超えない様に注意して符号化パラメータを設定し直し、符号化対象のマクロブロックデータを再符号化処理する。また、再符号化信号を受け取った出力バッファ６５は、内部に蓄積された符号化対象マクロブロックのビットデータを全て削除し、新たな符号化パラメータで符号化されたマクロブロックデータの入力を待つ。
【０１５６】
図５の装置６０におけるその他の詳細な動作、及び符号化単位等のバリエーションは図１の装置１０と同様のものとする。
【０１５７】
この装置６０により、１回のマクロブロック処理において、ＣＡＶＬＣ符号化器から出力されるデータ量の上限を制限することができるため、要求されたマクロブロック１回の処理時間を満たすことが可能になる。また、要求された処理時間で復号化処理が可能なビットストリームを出力することが可能になる。
【０１５８】
また、図１の装置のみでなく、図２〜図４の装置に対しても、ＣＡＢＡＣ処理部をＣＡＶＬＣ処理部に置き換えることが可能であり、その振る舞いはここで示した実施例と同様なものとする。但し、ＣＡＶＬＣ処理器はマクロブロックがＲＡＷデータとして符号化されると、そのマクロブロックのＣｏｎｔｅｘｔを持てなくなるので、その様なときのためにＲＡＷデータが符号化された際のＣｏｎｔｅｘｔの更新の仕方を定義しておく必要がある。この定義の方法は符号化装置と復号化装置間で同期が取れていればどんなものでも良い。例えば、ＲＡＷデータとして符号化されたマクロブロック内のブロックに存在している非０係数の個数は１５とみなすなどである。その装置により、符号化時においてＣＡＶＬＣ符号化器から出力されるデータ量の上限を制限することができるため、要求されたの符号化処理時間を満たすことが可能になる。また、要求された処理時間で復号化処理が可能なビットストリームを出力することが可能になる。
【０１５９】
図６における装置８０による実施例の説明
次に、図１〜４の装置に対応した本発明における画像情報復号化装置である装置８０を図６を用いて示す。なお、図１、２の装置においては、非圧縮符号化部とその経路がないため、図６の装置８０において、非圧縮復号化部８８への経路は選択されることはない。この様なことが明らかな場合には、この非圧縮復号化部８８とその経路を実装しないことも可能である。
【０１６０】
図６の装置８０では復号化されるべきビットストリームが入力され、復号化された画像信号が出力される。図６の装置８０は経路選択器Ａ８１、Ｂ８５と符号化方式判定器８４と逆変換処理部８３とＣＡＢＡＣ処理部８２と制限監視器８６と非圧縮復号化器８８により構成される。
【０１６１】
まず、各マクロブロックを処理する始めは、経路選択器Ａ８１、Ｂ８５はＣＡＢＡＣ処理部８２の経路を選択している。ＣＡＢＡＣ処理部８２では、入力されたビットストリームからマクロブロックを復号化する際に、まず、ビットストリームに埋め込まれた、そのマクロブロックがＲＡＷデータかどうかを示すシンボルを復号化し、それが符号化方式判定器８４でＲＡＷデータであると判定された場合は、経路選択器Ａ８１、Ｂ８５は非圧縮復号化部８８の経路を選択し、非圧縮復号化部８８からの出力を、画像信号として出力する様にする。ここで、非圧縮復号化部８８では固定長復号化を行い画像データを取得する。この非圧縮符号化部８８が選択された場合には、ＣＡＢＡＣ処理部８２のＣｏｎｔｅｘｔ演算部９２内のＣｏｎｔｅｘｔの状態は変更しなくても構わないし、あるあらかじめ決められた値で初期化しても良いし、その他の法則を用いて変更しても構わず、符号化装置側のＣＡＢＡＣ処理部の振る舞いと同期が取れていれば良い。また、この際に、同一ピクチャ内の後で復号化されるマクロブロックの復号化に用いられるプレディクタはあらかじめ決められた値に設定される。例えば、非圧縮復号化されたマクロブロックの動きベクトルは０に設定され、マクロブロックタイプはイントラ符号化と言った様に設定される。このプレディクタの値も符号化器側と同期が取れていればどんな値を設定しても良い。
【０１６２】
逆に、符号化方式判定器８４によって、マクロブロックデータがＣＡＢＡＣ処理部８２で処理されることが選択された場合は、引き続き入力ビットストリームはＣＡＢＡＣ処理部８２に入力される。
【０１６３】
ＣＡＢＡＣ処理部８２では、入力ビットストリームから、ヘッダ情報と量子化された係数情報がシンボルデータとして復号化され出力される。具体的には、入力されたビットストリームを、Ｃｏｎｔｅｘｔ演算器９２からのＣｏｎｔｅｘｔ情報をもとに、ＣＡＢＡＣ復号化器９０でエントロピー復号化し、そこで出力された２値シンボル列を逆ｂｉｎａｒｉｚａｔｉｏｎ器９１により、シンボルデータに変換する。Ｃｏｎｔｅｘｔ演算器９２では、逆ｂｉｎａｒｉｚａｔｉｏｎ器９１に入力される２値データと逆ｂｉｎａｒｉｚａｔｉｏｎ器９１から出力されるシンボルデータをもとにＣｏｎｔｅｘｔを更新し、また、そのＣｏｎｔｅｘｔ情報をＣＡＢＡＣ復号化部９０に出力する。このＣＡＢＡＣ処理部８８の動作は、「従来の技術」で説明したＪＶＴ　ＦＣＤ第９．２節の記述に準ずるものとする。
【０１６４】
逆変換処理部８３では、入力されたヘッダ情報や量子化された係数情報を、逆量子化、逆ＤＣＴ、動き補償することにより画像信号を復号化し出力する。
【０１６５】
制限監視器８６は、ＣＡＢＡＣ復号化器９０へ入力されるビットデータの個数のカウンタと出力される２値データの個数のカウンタ（ビットカウンタ９３）をそれぞれ独立に持ち、ＣＡＢＡＣ復号化器９０へビットデータが入力されるたびに前者のカウンタを１つずつ増加させ、ＣＡＢＡＣ復号化器９０から２値データが出力されるたびに後者のカウンタを１つずつ増加させる。このカウンタはそれぞれ、マクロブロックの先頭の処理を開始する時に０にリセットされる。これにより、各マクロブロックにおける、ＣＡＢＡＣ復号化器９０における入力データと出力データのそれぞれの個数をカウントすることが可能となる。
【０１６６】
この制限監視部８６では、これらカウンタのうちのどちらか一方が、あらかじめ設定された閾値を超えてしまった場合、エラー処理を実行する。エラー処理としては、復号化処理をいったん中止し、次のスライスヘッダやピクチャヘッダを待って再度、復号化処理を開始したり、単に警告のみを発するだけで復号化処理は引き続き続けるということが可能である。また、エラー処理をせず、復号化処理を引き続き続けるということも可能である。
【０１６７】
この装置８０により、複号化時においてＣＡＢＡＣ復号化器９０に入力、及び出力されるデータ量を監視することができるため、仮にこの上限を超えるデータ量が入出力されたとしても、要求された復号化処理時間を満たすようにエラー処理等を施すことが可能となる。
【０１６８】
また、実装の方法としては、装置８０においては、必ずしも制限監視部８６は実装されるとは限らない。その場合には、ＣＡＢＡＣ符号化器９０において入出力されるデータ量は監視されない。
【０１６９】
なお、装置８０ではエントロピー復号化としてＣＡＢＡＣを適用した際の、本発明における画像情報復号化装置の実施例を示したが、既に、画像符号化装置の実施例でも示したとおり、このＣＡＢＡＣ処理部はＣＡＶＬＣ処理部で置き換えることが可能であり、その実装方法は符号化装置の実施例でも説明した通り、ほとんど１対１で類似しているため、ここでは説明を割愛する。なお、その符号化装置と同様に、マクロブロックがＲＡＷデータで符号化された際のＣＡＶＬＣのＣｏｎｔｅｘｔの更新の仕方をあらかじめ定義しておく。
【０１７０】
本発明におけるビットストリームの実施例の説明
次に、本発明における符号化されたビットストリームの実施例について示す。ここまでの説明でも述べた様に、本発明ではビットストリーム内に圧縮したデータでも、ＲＡＷデータでも符号化することが可能である。このために、本発明のビットストリームでは、マクロブロックヘッダにおいて、そのマクロブロックがＲＡＷデータとして符号化されているかそうでないかを明示的に示すヘッダ情報を付加し、そのヘッダ情報の後にＲＡＷデータ、もしくは、圧縮されたビットデータのどちらかを続けている。ここで、ＲＡＷデータとして符号化されているかそうでないかを明示的に示すのに、マクロブロックヘッダ情報の１つであるｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅによって明示する。逆に言うと、本発明におけるビットストリームは、異なる符号化方式をマクロブロック単位で混在させることが可能であるということである。
【０１７１】
またここでは、マクロブロックのヘッダ情報としてそのマクロブロックの符号化方式を指定する情報が組み込まれている場合を示したが、この指定情報を、スライスヘッダやピクチャヘッダに組み込めば、それらの単位で符号化方式の混在と、その指定を行うことが可能となる。
【０１７２】
ここで、本発明におけるビットストリームには、このヘッダ情報（例えば、ｍａｃｒｏｂｌｏｃｋ　ｔｙｐｅ）がＣＡＢＡＣで符号化され、続いてＲＡＷデータ（すなわち固定長ビット列）が符号化される場合には、ＲＡＷデータを符号化する前に、ＣＡＢＡＣのの終端処理をされたビットが挿入される。
【０１７３】
また、本発明におけるビットストリームはＣＡＢＡＣで符号化された場合には、これまでの実施例でも述べた様に、ＣＡＢＡＣ符号化器、及び復号化器の入力と出力のビットカウンタのどちらか一方でもあらかじめ設定された閾値を超えることのないデータにより構成される。また、ＣＡＶＬＣで符号化された場合には、ＣＡＶＬＣ符号化器の出力、及び復号化器の入力のビットカウンタが、あらかじめ設定された閾値を超えることのないデータにより構成される。
これらのことから、本発明におけるビットストリームにより、画像情報符号化器、及び画像情報復号化器に対して、ある一定の復号化処理時間を保証することを可能としている。
【０１７４】
【発明の効果】
本発明における、ＣＡＢＡＣ符号化器、及び復号化器における入出力データ量の制限、及び非圧縮データの符号化により、画像情報符号化装置や復号化装置がある一定の処理時間を保証することが可能となり、その結果その処理時間を保証した装置を実装することが可能となる。また、ＣＡＢＡＣではなくＣＡＶＬＣを用いた場合でも同様の効果が得られる。
【図面の簡単な説明】
【図１】本発明のおける画像情報符号化装置の構成例（装置１０）
【図２】本発明のおける画像情報符号化装置の構成例（装置３０）
【図３】本発明のおける画像情報符号化装置の構成例（装置４０）
【図４】本発明のおける画像情報符号化装置の構成例（装置５０）
【図５】本発明のおける画像情報符号化装置の構成例（装置６０）
【図６】本発明のおける画像情報復号化装置の構成例（装置８０）
【図７】本発明のおけるマクロブロック処理部の構成例
【図８】従来の画像情報符号化装置の構成例
【図９】従来の画像情報復号化装置の構成例
【図１０】ＪＶＴ（従来）における可変長符号化器の構成例
【図１１】ＪＶＴ（従来）におけるＣＡＢＡＣ符号化器の構成例
【図１２】ＪＶＴ（従来）におけるＣＡＶＬＣ符号化器の構成例
【図１３】ＪＶＴ（従来）における可変長復号化器の構成例
【図１４】ＪＶＴ（従来）におけるＣＡＢＡＣ復号化器の構成例
【図１５】ＪＶＴ（従来）におけるＣＡＶＬＣ復号化器の構成例
【図１６】Ｏｖｅｒｖｉｅｗ　ｏｆ　ｔｈｅ　Ｄｅｃｏｄｉｎｇ　Ｐｒｏｃｅｓｓ
【図１７】Ｆｌｏｗｃｈａｒｔ　ｏｆ　ｉｎｉｔｉａｌｉｓａｔｉｏｎ　ｏｆｔｈｅ　ｄｅｃｏｄｉｎｇ　ｅｎｇｉｎｅ
【図１８】Ｆｌｏｗｃｈａｒｔ　ｆｏｒ　ｄｅｃｏｄｉｎｇ　ａ　ｄｅｃｉｓｉｏｎ
【図１９】Ｆｌｏｗｃｈａｒｔ　ｏｆ　ｒｅｎｏｒｍａｌｉｚａｔｉｏｎ
【図２０】Ｆｌｏｗｃｈａｒｔ　ｆｏｒ　Ｉｎｐｕｔ　ｏｆ　Ｃｏｍｐｒｅｓｓｅｄ　Ｂｙｔｅｓ
【図２１】Ｆｌｏｗｃｈａｒｔ　ｏｆ　ｄｅｃｏｄｉｎｇ　ｂｙｐａｓｓ
【図２２】Ｉｌｌｕｓｔｒａｔｉｏｎ　ｏｆ　ｔｈｅ　ｇｅｎｅｒｉｃ　ｃｏｎｔｅｘｔ　ｔｅｍｐｌａｔｅ　ｕｓｉｎｇ　ｔｗｏｎｅｉｇｈｂｏｕｒｉｎｇｓｙｍｂｏｌｓ　Ａ　ａｎｄ　Ｂ　ｆｏｒ　ｃｏｎｄｉｔｉｏｎａｌ　ｃｏｄｉｎｇ　ｏｆ　ａ　ｃｕｒｒｅｎｔ　ｓｙｍｂｏｌ　Ｃ
【符号の説明】
１０、３０、４０、５０、６０、８０……装置、１１、６１……入力バッファ、１２、６２……変換処理部、１３……ＣＡＢＡＣ処理部、２９、３２、４１、５１……マクロブロック処理部、６３……ＣＡＶＬＣ処理器。
【図１】
2004135251.tif 000050
【図２】
2004135251.tif 000051
【図３】
2004135251.tif 000052
【図４】
2004135251.tif 000053
【図５】
2004135251.tif 000054
【図６】
2004135251.tif 000055
【図７】
2004135251.tif 000056
【図８】
2004135251.tif 000057
【図９】
2004135251.tif 000058
【図１０】
2004135251.tif 000059
【図１１】
2004135251.tif 000060
【図１２】
2004135251.tif 000061
【図１３】
2004135251.tif 000062
【図１４】
2004135251.tif 000063
【図１５】
2004135251.tif 000064
【図１６】
2004135251.tif 000065
【図１７】
2004135251.tif 000066
【図１８】
2004135251.tif 000067
【図１９】
2004135251.tif 000068
【図２０】
2004135251.tif 000069
【図２１】
2004135251.tif 000070
【図２２】
2004135251.tif 000071