(57)【要約】      （修正有）【課題】高速の二進算術デコーディング方法及び装置を提供する。【解決手段】以前に生成されたデコーディングパラメタセットを使用して一番目のビットに対する符号解読の実行と同時に、一番目のデコーディングパラメタセットが生成される。一番目のデコーディングパラメタセットを使用して二番目のビットの符号解読の実行と同時に二番目のデコーディングパラメタセットが生成される。一番目に符号解読されたビットがシンタックスエレメントの最終ビットであれば、次のビットの符号解読過程で二番目のデコーディングパラメタセットは無視される。一番目及び二番目で符号解読されたビットの生成動作は、一番目に符号解読されたビットがシンタックスエレメントの最終ビットであるか否かの判断動作と共にパイプライン方式で処理することもできる。【選択図】図５
2006054865.tif 000002
【特許請求の範囲】
【請求項１】
以前に生成されたデコーディングパラメタセットを使用して第１の符号解読されたビットと第１セットのデコーディングパラメタとを生成する段階と、
前記第１セットのデコーディングパラメタを使用して第２の符号解読されたビットと第２セットのデコーディングパラメタとを生成する段階と、
前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを判断する段階と、
前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであれば、次の符号解読されたビットを生成するとき、前記第２セットのデコーディングパラメタを無視する段階とを含むことを特徴とする二進算術デコーディング方法。
【請求項２】
前記第１及び第２の符号解読されたビットを生成する段階及び前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを判断する段階は、パイプライン処理され、前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを判断する段階は、前記第２の符号解読されたビット及び前記第２セットのデコーディングパラメタを生成する段階と同時に実行されるか、前記第２の符号解読されたビット及び前記第２セットのデコーディングパラメタを生成した後に実行されることを特徴とする請求項１に記載の二進算術デコーディング方法。
【請求項３】
前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであれば、次の符号解読されたビットを生成するとき、前記第２セットのデコーディングパラメタを無視する段階は、前記次の符号解読されたビットを生成するとき、前記第２の符号解読されたビットの生成時決められたコンテクスト及びデコーディングインターバルパラメタを使用しない段階を含むことを特徴とする請求項１に記載の二進算術デコーディング方法。
【請求項４】
前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであれば、前記第１セットのデコーディングパラメタからのデコーディングインターバルパラメタを使用して第３の符号解読されたビットを生成する段階をさらに含むことを特徴とする請求項３に記載の二進算術デコーディング方法。
【請求項５】
前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを判断する段階は、前記第１の符号解読されたビットの逆二進化を実行する段階を含むことを特徴とする請求項１に記載の二進算術デコーディング方法。
【請求項６】
前記第１及び第２セットのデコーディングパラメタは、各々第１及び第２のコンテクスト及び各々第１及び第２のデコーディングインターバルパラメタを含むことを特徴とする請求項１に記載の二進算術デコーディング方法。
【請求項７】
前記第１及び第２のデコーディングインターバルパラメタは、各々第１及び第２セットのバリュー及びレンジパラメタを含むことを特徴とする請求項６に記載の二進算術デコーディング方法。
【請求項８】
以前に生成されたデコーディングパラメタを使用して第１の符号解読されたビット及び第１セットのデコーディングパラメタを生成する段階及び／または前記第１セットのデコーディングパラメタを使用して第２の符号解読されたビット及び第２セットのデコーディングパラメタを生成する段階は、前記第１セットのレンジ及びバリューパラメタ及び／または前記第２セットのレンジ及びバリューパラメタの逆二進化を実行する段階を含むことを特徴とする請求項７に記載の二進算術デコーディング方法。
【請求項９】
前記第１セットのレンジ及びバリューパラメタ及び／または前記第２セットのレンジ及びバリューパラメタの逆二進化を実行する段階は、
第１のレンジパラメタの下位ｂビットのうちの二進数“１”の個数を示す第１の二進値を生成する段階と、
前記第１のレンジパラメタの最下位ビットを基準に二進数“１”が見えるビット位置を示す第２の二進値を生成する段階と、
前記第１及び第２の二進値の和を生成する段階と、
前記第１及び第２の二進値の和だけ前記第１のレンジパラメタに対するシフトを実行して第２のレンジパラメタを生成する段階と、
前記第１及び第２の二進値の和だけ第１のバリューパラメタに対するシフトを実行して第２のバリューパラメタを生成する段階とを含むことを特徴とする請求項８に記載の二進算術デコーディング方法。
【請求項１０】
以前に生成されたセットのデコーディングパラメタを使用して第１の符号解読されたビット及び第１セットのデコーディングパラメタを生成する段階は、第１の複数の符号解読されたビット及び第１の複数セットのデコーディングパラメタを含み、
前記第１セットのデコーディングパラメタを使用して第２の符号解読されたビット及び第２セットのデコーディングパラメタを生成する段階は、第２の複数の符号解読されたビット及び第２の複数セットのデコーディングパラメタを含み、
前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを判別する段階は、前記第１の複数の符号解読されたビットのうちの一つがシンタックスエレメントの最終ビットであるか否かを判別する段階を含み、
前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであれば、次の符号解読されたビットを生成するとき、前記第２セットのデコーディングパラメタを無視する段階は、前記第１の複数の符号解読されたビットのうちの一つがシンタックスエレメントの最終ビットであれば、次の符号解読されたビットを生成するとき、前記第２の複数セットのデコーディングパラメタのうちの少なくとも一つを無視する段階を含むことを特徴とする請求項１に記載の二進算術デコーディング方法。
【請求項１１】
前記第１及び第２の複数の符号解読されたビットを生成する段階及び前記第１の複数の符号解読されたビットのうちの一つがシンタックスエレメントの最終ビットであるか否かを判断する段階は、パイプライン処理されて、前記第１の複数の符号解読されたビットのうちの一つがシンタックスエレメントの最終ビットであるか否かを判断する段階は、前記第２の複数の符号解読されたビット及び前記第２の複数セットのデコーディングパラメタを生成する段階と同時に実行されるか、前記第２の符号解読されたビット及び前記第２の複数セットのデコーディングパラメタを生成した後に実行されることを特徴とする請求項１０に記載の二進算術デコーディング方法。
【請求項１２】
前記セットのデコーディングパラメタの各々はデコーディングインターバルパラメタを含むことを特徴とする請求項１１に記載の二進算術デコーディング方法。
【請求項１３】
前記セットのデコーディングパラメタの各々はバリューパラメタ及びレンジパラメタを含むことを特徴とする請求項１２に記載の二進算術デコーディング方法。
【請求項１４】
前記セットのデコーディングパラメタの各々はコンテクストを含まないことを特徴とする請求項１０に記載の二進算術デコーディング方法。
【請求項１５】
前記第１の符号解読されたビットから前記シンタックスエレメントを復元する段階をさらに含むことを特徴とする請求項１に記載の二進算術デコーディング方法。
【請求項１６】
符号化されたビットストリームからシンタックスエレメントを復元するように構成された二進算術デコーダを含み、
前記二進算術デコーダは以前に生成されたセットのデコーディングパラメタを使用して第１の符号解読されたビットと対応する第１セットのデコーディングパラメタを生成するように、そして前記第１セットのデコーディングパラメタを使用して第２の符号解読されたビットと対応する第２セットのデコーディングパラメタを生成するように構成され、
前記二進算術デコーダは前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを判断するように、そして前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであれば、次の符号解読されたビットを生成するとき、前記第２セットのデコーディングパラメタを無視するように構成されることを特徴とする二進算術デコーディング装置。
【請求項１７】
前記二進算術デコーダはパイプライン方式で前記第１及び第２の符号解読されたビットを生成するように、そして前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを判断するように構成され、前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを判断する動作と前記第２の符号解読されたビット及び前記第２セットのデコーディングパラメタを生成する動作が同時に実行されるか、前記第２の符号解読されたビット及び前記第２セットのデコーディングパラメタを生成する動作の後に実行されることを特徴とする請求項１６に記載の二進算術デコーディング装置。
【請求項１８】
前記二進算術デコーダはＣＡＢＡＣデコーダを含み、
前記ＣＡＢＡＣデコーダは、前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであれば、前記次の符号解読されたビットを生成するとき、前記第２の符号解読されたビットの生成時決められたコンテクスト及びデコーディングインターバルパラメタを使用しないように構成されることを特徴とする請求項１６に記載の二進算術デコーディング装置。
【請求項１９】
前記ＣＡＢＡＣデコーダは、前記第１の符号解読されたビットがシンタックスエレメントの最終ビットであれば、前記第１セットのデコーディングパラメタからのデコーディングインターバルパラメタを使用して第３の符号解読されたビットをさらに生成するように構成されることを特徴とする請求項１８に記載の二進算術デコーディング装置。
【請求項２０】
前記第１及び第２セットのデコーディングパラメタは、各々第１及び第２のコンテクスト及び各々第１及び第２のデコーディングインターバルパラメタを含むことを特徴とする請求項１８に記載の二進算術デコーディング装置。
【請求項２１】
前記ＣＡＢＡＣデコーダは、
コンテクストとデコーディングインターバルパラメタとを貯蔵するように構成されたレジスタ部と、
前記レジスタ部からのコンテクストを受け入れるように、前記受け入れられたコンテクストを貯蔵するように、そしてシンタックスエレメントインジケータ信号に応答して前記貯蔵されたコンテクストを選択するように構成されるコンテクスト選択部と、
前記コンテクスト選択部からの前記選択されたコンテクストを受け入れるように、データストリームを受け入れて前記選択されたコンテクスト及び前記受け入れられたデコーディングインターバルパラメタに従って符号解読されたビットを生成するように、そして各符号選択されたビットに対するコンテクスト及びデコーディングインターバルパラメタの各セットを生成するように構成される算術デコーダ部と、
前記符号解読されたビットを受け入れるように、前記符号解読されたビットをシンタックスエレメントに変更するように、そして前記符号解読されたビットがシンタックスエレメントの最終ビットであるか否かを示す最終ビットインジケータ信号を生成するように構成される逆二進化部と、
各符号解読されたビット及び前記最終ビットインジケータ信号に対応して前記生成されたセットのコンテクスト及びデコーディングインターバルパラメタを受け入れるように、そして前記最終ビットインジケータ信号に応答して前記コンテクスト及び前記デコーディングインターバルパラメタを前記レジスタ部に貯蔵するように構成される制御部とを含むことを特徴とする請求項２０に記載の二進算術デコーディング装置。
【請求項２２】
前記第１及び第２セットのデコーディングパラメタは、各々第１及び第２セットのレンジ及びバリューパラメタを含み、前記算術デコーダは前記第１セットのレンジ及びバリューパラメタ及び／または前記第２セットのレンジ及びバリューパラメタを再正規化するように構成される再正規化器を含むことを特徴とする請求項２１に記載の二進算術デコーディング装置。
【請求項２３】
第１のレンジパラメタの下位ｂビットのうちの二進数“１”の個数を示す第１の二進値を生成するように構成される第１検出器と、
前記第１のレンジパラメタの最下位ビットを基準に二進数“１”が見えるビット位置を示す第２の二進値を生成するように構成される第２検出器と、
前記第１及び第２の二進値の和を生成するように構成される加算器と、
前記第１及び第２の二進値の和だけ前記第１のレンジパラメタに対するシフトを実行して第２のレンジパラメタを生成するように構成される第１シフトレジスタと、
前記第１及び第２の二進値の和だけ第１のバリューパラメタに対するシフトを実行して第２のバリューパラメタを生成するように構成される第２シフトレジスタとを含むことを特徴とする請求項２２に記載の二進算術デコーディング装置。
【請求項２４】
前記再正規化器は、数学式x＝ｌｏｇ２（２ｂ−２／ｒａｎｇｅ）＋１＝ｂ−１−ｒｏｕｎｄ（ｌｏｇ２ｒａｎｇｅ）（ここで、ｂは定数であり、ｒａｎｇｅは第１のレンジパラメタ）に従って、前記第１のレンジパラメタ及び前記第１のバリューパラメタをｘビットだけシフトさせることで前記第２のレンジパラメタ及び前記第２のバリューパラメタを生成することを特徴とする請求項２３に記載の二進算術デコーディング装置。
【請求項２５】
前記コンテクスト選択部は第１のシンタックスエレメントインジケータ信号に応答して第１のコンテクストインデックスを生成するように、そして第２シンタックスエレメントインジケータ信号に応答して第２のコンテクストインデックスを生成するように構成され、
前記制御部は前記最終ビットインジケータ信号に応答して前記第１のコンテクストインデックスまたは前記第２のコンテクストインデックスを前記レジスタ部に選択的に提供するように構成され、
前記算術デコーダ部は前記第１の符号解読されたビットに対する第１のコンテクスト及び第１セットのデコーディングインターバルパラメタを生成するように、そして前記第２の符号解読されたビットに対する第２のコンテクスト及び第２セットのデコーディングインターバルパラメタを生成するように構成され、
前記レジスタ部は
前記制御部から受け入れたデコーディングインターバルパラメタを貯蔵するように、そして前記貯蔵されたデコーディングインターバルパラメタを前記算術デコーダ部に提供するように構成されるデコーディングインターバルレジスタと、
前記制御部から受け入れられたコンテクストを貯蔵するように構成されるコンテクストレジスタと、
前記制御部から受け入れられたコンテクストインデックスを貯蔵するように構成されるコンテクストインデックスレジスタとを含み、
前記制御部は
前記最終ビットインジケータ信号に応答して前記第１セットのデコーディングインターバルパラメタまたは前記第２セットのデコーディングインターバルパラメタのうちの一つを前記デコーディングインターバルレジスタに貯蔵するように構成される第１の制御回路と、
前記最終ビットインジケータ信号に応答して前記第１のコンテクストまたは前記第２のコンテクストのうちの一つを前記コンテクストレジスタに貯蔵するように構成される前記第２の制御回路と、
前記最終ビットインジケータ信号に応答して前記第１のコンテクストインデックスまたは前記第２のコンテクストインデックスのうちの一つを前記コンテクストインデックスレジスタに貯蔵するように構成される第３の制御回路と、
前記コンテクストインデックスレジスタに貯蔵されたコンテクストインデックスに従って前記選択されたコンテクストを前記コンテクスト選択部のコンテクスト貯蔵位置に提供するように構成される第４の制御回路とを含むことを特徴とする請求項２１に記載の二進算術デコーディング装置。
【請求項２６】
前記二進算術デコーダは第１の複数の符号解読されたビット及び対応する第１の複数セットのデコーディングパラメタを生成するように、そして前記第１セットのデコーディングパラメタを使用して第２の複数の符号解読されたビット及び対応する第２の複数セットのデコーディングパラメタを生成するように構成され、
前記二進算術デコーダは前記第１の複数の符号解読されたビットのうちの一つがシンタックスエレメントの最終ビットであるか否かを判別するように、そして前記第１の複数の符号解読されたビットのうちの一つがシンタックスエレメントの最終ビットであれば、次の符号解読されたビットを生成するとき、前記第２の複数セットのデコーディングパラメタのうちの少なくとも一つを無視するように構成されることを特徴とする請求項１６に記載の二進算術デコーディング装置。
【請求項２７】
前記二進算術デコーダは前記第１及び第２の複数の符号解読されたビットを生成するように、そして前記第１の複数の符号解読されたビットのうちの一つがシンタックスエレメントの最終ビットであるか否かを判断するようにパイプライン方式で構成され、前記第１の複数の符号解読されたビットのうちの一つがシンタックスエレメントの最終ビットであるか否かを判断する動作が、前記第２の複数の符号解読されたビット及び前記第２の複数セットのデコーディングパラメタを生成する動作と同時に実行されるか、前記第２の符号解読されたビット及び前記第２の複数セットのデコーディングパラメタを生成した後に実行されることを特徴とする請求項２６に記載の二進算術デコーディング装置。
【請求項２８】
前記セットのデコーディングパラメタの各々は、デコーディングインターバルパラメタを含むことを特徴とする請求項２６に記載の二進算術デコーディング装置。
【請求項２９】
前記セットのデコーディングパラメタの各々は、バリューパラメタ及びレンジパラメタを含むことを特徴とする請求項２８に記載の二進算術デコーディング装置。
【請求項３０】
前記セットのデコーディングパラメタの各々は、コンテクストを含まないことを特徴とする請求項２６に記載の二進算術デコーディング装置。
【請求項３１】
前記二進算術デコーダは、
算術デコーダのチェーンと、
マルチビット逆二進化器とを含み、
前記算術デコーダの各々は前記チェーンの次の算数をデコーダでデコーディングパラメタのセットをパスするように構成され、
前記マルチビット逆二進化器は前記算術デコーダのチェーンから複数の符号解読されたビットを受け入れるように構成されることを特徴とする請求項２６に記載の二進算術デコーディング装置。
【請求項３２】
前記算術デコーダのチェーン及び前記マルチビット逆二進化器はパイプライン方式で動作して前記第１の複数の符号解読されたビットが前記第２の複数の符号解読されたビットの生成と同時に、または前記第２の複数の符号解読されたビットの生成の後に逆二進化されることを特徴とする請求項３１に記載の二進算術デコーディング装置。
【請求項３３】
算術的に符号化された入力データストリームから第１のレジンパラメタ及び第１のバリューパラメタを生成するように構成されるデコーダと、
第１のレンジパラメタの下位ｂビットのうちの二進数“１”の個数及び前記第１のレンジパラメタの最下位ビットを基準に二進数“１”が見えるビット位置に根拠して、前記第１のレンジ及びバリューパラメタから再正規化された第２のレンジ及びバリューパラメタを生成するように構成されることを特徴とする再正規化器を含む算術デコーダ。
【請求項３４】
前記再正規化器は、
前記第１のレンジパラメタの下位ｂビットのうちの二進数“１”の個数を示す第１の二進値を生成するように構成される第１検出器と、
前記第１のレンジパラメタの最下位ビットを基準に二進数“１”が見えるビット位置を示す第２の二進値を生成するように構成される第２検出器と、
前記第１及び第２の二進値の和を生成するように構成される加算器と、
前記第１及び第２の二進値の和だけ前記第１のレンジパラメタに対するシフトを実行して第２のレンジパラメタを生成するように構成される第１シフトレジスタと、
前記第１及び第２の二進値の和だけ第１のバリューパラメタに対するシフトを実行して第２のバリューパラメタを生成するように構成される第２シフトレジスタとを含むことを特徴とする請求項３３に記載の算術デコーダ。
【請求項３５】
前記再正規化器は、数学式ｘ＝ｌｏｇ２（２ｂ−２／ｒａｎｇｅ）＋１＝ｂ−１−ｒｏｕｎｄ（ｌｏｇ２ｒａｎｇｅ）（ここで、ｂは定数であり、ｒａｎｇｅは第１のレンジパラメタ）に従って、前記第１のレンジパラメタ及び前記第１のバリューパラメタをｘビットだけシフトさせることで前記第２のレンジパラメタ及び前記第２のバリューパラメタを生成することを特徴とする請求項３４に記載の算術デコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は圧縮された動画データの復元技術に係り、さらに具体的には内容基盤適応的二進算術デコーダ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ  Ｄｅｃｏｄｅｒ）に関する。
【背景技術】
【０００２】
最近映像処理装置で徐々に高画質のビデオアプリケーション実現及び多様なマルチメディアサービスの提供が要求されることに従って、映像処理装置で処理しなければならない動画データの量が徐々に増加する趨勢にある。これにともなって、動画データに対する高速の圧縮及び復元技術に対する研究開発が活発に行なわれている。
【０００３】
一般的に使用される動画データ圧縮技術では国際電気通信連合（ＩＴＵ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）で勧告するＨ.２６１、Ｈ.２６２、Ｈ.２６３などと、国際標準化機構（ＩＳＯ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）の動画像専門家グループ（ＭＰＥＧ：Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）で提案するＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４などがある。そして、最近では、国際電気通信連合とＩＳＯとで共同で、高い圧縮率を実現することができる次世代動画圧縮技術であるＨ．２６４またはＭＰＥＧ−４  ｐａｒｔ１０  ＡＶＣが制定された。
【０００４】
Ｈ.２６４標準は既存の圧縮技術に比べて複雑で、実際実現が難しいという短所があるが、 高い圧縮率を実現することができ、多様なネットワーク環境に容易に適応させることができる長所があって次世代動画圧縮技術としてその研究が活発に行なわれている。
【０００５】
一方、Ｈ.２６４標準ではベースラインプロフィル（Ｂａｓｅｌｉｎｅ  ｐｒｏｆｉｌｅ）、メインプロフィル（Ｍａｉｎ  ｐｒｏｆｉｌｅ）及び拡張プロフィル（Ｅｘｔｅｎｄｅｄ  ｐｒｏｆｉｌｅ）の三つの形態の標準プロフィルを定義している。このうちのメインプロフィルはＨＤテレビのような高画質の動画データを使用する端末の特性を定義した集合である。各プロフィル別に互いに異なる圧縮及び復元方法を使用するのに、ベースラインプロフィルは内容基盤適応的可変長コーディング（ＣＡＶＬＣ：Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）方式を使用するエントロピコーディング（ｅｎｔｒｏｐｙ  ｃｏｄｉｎｇ）を通じて動画データを圧縮する。一方、メインプロフィルは内容基盤適応的二進算術コーディング（以下、ＣＡＢＡＣ：Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）方式を使用するエントロピコーディングを通じて動画データを圧縮する。このうちのＣＡＢＡＣ方式は各ビットのコンテクストに従う各シンタックスエレメントの確率モデルの選択と統計とに基づいた確率推定適用及び算術コーディング方式を通じてより効果的な圧縮性能を有する。
【０００６】
図１はＨ.２６４標準で提案するＣＡＢＡＣ方式のデータ圧縮過程を示すフローチャートである。図１を参照すると、ＣＡＢＡＣ方式でのデータ圧縮過程は大きく二進化（Ｂｉｎａｒｉｓａｔｉｏｎ）段階Ｓ１０２と、コンテクストモデル選択（Ｃｏｎｔｅｘｔ  ｍｏｄｅｌ  ｓｅｌｅｃｔｉｎｇ）段階Ｓ１０４と、算術エンコーディング（Ａｒｉｔｈｍｅｔｉｃ  ｅｎｃｏｄｉｎｇ）段階Ｓ１０６と、確率アップデート（Ｐｒｏｂａｂｉｌｉｔｙ  ｕｐｄａｔｅ）段階Ｓ１０８と、に分類される。まず、二進化段階Ｓ１０２では、二進数値を有しないシンタックスエレメント（ＳＥ：Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ）すなわち、伝送係数（ｔｒａｎｓｆｏｒｍ  ｃｏｅｆｆｉｃｉｅｎｔ）と動きベクタ（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ）のように二つ以上の値を有するシンタックスエレメントを算術エンコーディングを実行する以前に二進数に変換する。これは、上述のように、ＣＡＢＡＣ方式では‘０’と‘１’の二進数だけでエンコーディングを実行する二進算術コーディング（ＢＡＣ：Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）を使用するためである。コンテクストモデル選択段階Ｓ１０４では二進化された各ビットに対するコンテクストモデルを選択する。ここで、コンテクストモデルは二進化されたシンタックスエレメントの各ビット別確率モデルを意味し、最近に符号化されたシンタックスエレメントの統計に従って利用可能なモデルが選択される。すなわち、コンテクストモデルは二進化された各データビットが‘１’または‘０’になる確率を貯蔵する。算術エンコード段階Ｓ１０６では算術符号器を利用して選択された確率モデルに従って各々のビットをエンコーディングする。最後に、 確率アップデート段階Ｓ１０８では選択されたコンテクストモデルを実際符号化された値を基盤にしてアップデートする。
【０００７】
図１のような過程を通じて圧縮されたデータはＣＡＢＡＣデコーダによって符号解読されて再び元のデータに復元される。図２はＣＡＢＡＣデコーダでのデータ復元過程を示すフローチャートである。図２に示したように、ＣＡＢＡＣデコーダでのデータ復元過程は大きく、コンテクスト選択段階Ｓ２０２、ビット別デコーディング（Ｄｅｃｏｄｉｎｇ１  ｂｉｔ）段階Ｓ２０４及び逆二進化（Ｄｅ−ｂｉｎａｒｉｚａｔｉｏｎ）段階Ｓ２０６に分類される。まず、コンテクスト選択段階Ｓ２０２では、入力される二進数の各々に対してすなわち、ビット別に算術デコーダでの符号解読またはデコーディングに使用されるコンテクストを選択する。そして、ビット別デコーディング段階Ｓ２０４では、各ビット別に選択されたコンテクストと以前のビットのデコーディング過程で生成されたデコーディングパラメタ（ｖａｌｕｅ、  ｒａｎｇｅ）とを利用して１ビットずつ順次符号解読を実行する。最後に、逆二進化段階Ｓ２０６では、前記デコーディング段階で符号解読されたビットが該当のシンタックスエレメントの最後のビットであるか否かを確認して、元のシンタックスエレメントに復元する。なお、以上のようなＣＡＢＡＣデコーダでのデータ復元過程は各シンタックスエレメントに対してビット単位で行われる。
【０００８】
Ｈ.２６４では図１及び図２の過程を通じて動画データを圧縮して、修復するのに、図２のデータ復元過程の説明で明らかにしたように、二進数に変換されたデータは一つのビット単位で順次、デコーディングが実行される。すなわち、一つのビットに対するデコーディングが完全に終了して初めて、次のビットに対するデコーディング過程を実行することができる。これは複数の二進値すなわち、複数のビットに変換されたシンタックスエレメントの長さが一定せず、可変的であるので、一つのビットに対する逆二進化過程まで完全に終了して初めて、次のビットが以前のシンタックスエレメントに含まれるビットであるか、または他のシンタックスエレメントに含まれるビットであるかが分かるためである。したがって、一つのビットに対するすべてのデコーディング過程が終わって初めて、次のビットに対するデコーディングを実行することができるので、高速の演算を実行するＣＡＢＡＣデコーダを実現するのに困難がある。また、ビット別デコーディング過程で算術デコーダによる演算動作のうちの再正規化（Ｒｅｎｏｒｍａｌｉｚａｔｉｏｎ）動作が可変的な回数で起きるので、この過程での条件比較による全体演算の遅延が発生する問題がある。
【０００９】
以上のような従来のＨ．２６４デコーディング過程での問題点は、高いデータ処理率を有する高速のＣＡＢＡＣデコーダを実現するのに障害要素になっている。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は圧縮された動画データに対する高速のデコーディング実行が可能なパイプライン構造のＣＡＢＡＣデコーダを提供することにある。
【００１１】
本発明のまた他の目的は、算術デコーダのデコーディング演算過程で再正規化動作によって発生される遅延時間を減らすことができるＣＡＢＡＣデコーダを提供することにある。
【課題を解決するための手段】
【００１２】
本発明のＣＡＢＡＣデコーダは、エンコード化された複数のビットに対してビット単位でコンテクスト選択、算術デコーディング（または符号解読）及び逆二進化過程をパイプラインで実行し、算術デコーディング時、ビット別に生成される新しいデコーディングパラメタを前記デコーダにアップデートし、現在逆二進化が実行されるビットが一シンタックスエレメントの最後のビットの場合、最後のビットのデコーディングによって生成されたデコーディングパラメタをデコーダに再設定することを特徴とする。以上のような特徴を有する本発明のデコーダでのデコーディング方法は、エンデコード化された複数のビットに対して以前ビットのデコーディングパラメタを利用してビット単位でコンテクストを選択する第１段階と、第１段階で選択されたコンテクストと以前ビットのデコーディングパラメタとを利用して算術デコーディングを実行する第２段階と、第２段階で符号解読された二進値を逆二進化する第３段階とを含み、第１乃至第３段階は複数のビットに対してパイプラインで実行され、第３段階で逆二進化が実行中であるビットが一シンタックスエレメントの最後のビットの場合、最後のビットのデコーディングパラメタでデコーダを再設定することを特徴とする。
【００１３】
本発明の特徴を実現するための内容基盤適応的二進算術デコーダの実施形態は、エンデコード化された複数のビットに対してコンテクスト選択、デコーディング及び逆二進化の各過程をビット別に連続して実行するパイプラインと、以前ビットのデコーディングパラメタを貯蔵し、これをパイプラインに入力するレジスタ部と、パイプラインからのビット判別信号によってパイプラインからのデコーディングパラメタとレジスタ部からのデコーディングパラメタのうちの一つを選択してレジスタ部に入力する制御部と、で構成されることを特徴とする。
【００１４】
本発明の特徴を実現するためのまた他の実施形態において、内容基盤適応的二進算術デコーダは、以前ビットのコンテクストを利用してビット単位のコンテクスト選択を実行するコンテクスト選択部と、コンテクスト選択部からのコンテクスト、以前ビットのレンジ及びバリューパラメタを利用してビット単位のデコーディングを実行し、現在ビットに対する新しいコンテクスト、レンジ及びバリューパラメタを生成する算術デコーダ部と、算術デコーダ部によって符号解読された二進値に対する逆二進化を実行してシンタックスエレメントを復元し、現在逆二進化が実行されたビットが該当のシンタックスエレメントの最後のビットであるか否かを判別して制御信号を生成する逆二進化部と、制御信号に応答して算術デコーダ部によってビット単位で生成されるコンテクスト、レンジ及びバリューパラメタと以前ビットに対するコンテクスト、レンジ及びバリューパラメタのうちの一つを選択する制御部と、制御部によって選択されたビットのデコーディングパラメタを貯蔵し、貯蔵されたデコーディングパラメタを制御部及びコンテクスト選択部に入力するレジスタ部を含み、制御部は一シンタックスエレメントの最後のビットに対する逆二進化が実行されれば、最後のビットに対するコンテクスト、レンジ及びバリューパラメタを選択してレジスタ部に入力することを特徴とする。
【００１５】
また、本発明で、Ｈ．２６４シンタックスエレメントのうちのＭＰＳ（Ｍｏｓｔ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）及びＬＰＳ（Ｌｅａｓｔ  Ｐｒｏｂａｂｌｅ  Ｓｙｍｂｏｌ）の確率が同一なシンタックスエレメントに対するデコーディングを実行するマルチビットＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）デコーダは、外部から同時に入力される複数単位のビットの各々に対応し、これら各々のビットに対して以前ビットのデコーディングパラメタを利用してデコーディングを実行する複数のデコーダで構成される算術デコーダ部と、算術デコーダ部から入力される符号解読された二進値を同時に逆二進化し、逆二進化されるビットのうちの一シンタックスエレメントの最後のビットが検出されれば、最後のビットのデコーディングパラメタが算術デコーダ部の一番目のデコーダに貯蔵されるように制御するマルチビット逆二進化部を含み、複数のデコーダの各々は入力されるビットのデコーディングを実行し、新たに生成されたデコーディングパラメタを次のビットに対するデコーディングを実行するデコーダと一番目のデコーダとに入力することを特徴とする。
【００１６】
前記のようなすべての実施形態の内容基盤適応的二進算術デコーダに含まれ、高速のデコーディングを可能にする本発明の再正規化器は以前ビットのレンジパラメタで所定けた以下のビットでの‘１’の個数と前記レンジパラメタで初め‘１’が出るビットのけたを利用して一度の演算動作で現在ビットに対する新しいレンジ及びバリューパラメタを生成する。これを実現するための再正規化器は、以前ビットのレンジパラメタで所定けたのビット以下として“１”が一つである場合、“１”を出力し、そうではない場合、“０”を出力する第１ビット検出器と、以前ビットのレンジパラメタで“１”が初めて出るのが何番目であるかを出力する第２ビット検出器と、第１ビット検出器と第２ビット検出器の出力に対する加算を実行する加算器と、以前ビットのレンジパラメタを加算器の演算結果だけシフトさせて現在ビットに対する新しいレンジパラメタを生成する第１シフトレジスタと、以前ビットのバリューパラメタを加算器の演算結果だけシフトさせて現在ビットに対するバリューパラメタを生成する第２シフトレジスタとで構成されることを特徴とする。
【発明の効果】
【００１７】
本発明の内容基盤適応的二進算術デコーダは、再正規化過程を条件比較を実行せず一度に処理することで、デコーディング時、遅延時間を減らすことができる。また、本発明の内容基盤適応的二進算術デコーダは多くのビットのデコーディング動作をパイプラインで実現することで、より速いデコーディング動作を可能にし、この際発生し得るデコーディング誤謬を遮断することができる。
【発明を実施するための最良の形態】
【００１８】
以下、実施形態を示す図面を参照して本発明をより詳細に説明する。
【００１９】
図３は本発明で提案するパイプライン方式のＣＡＢＡＣデコーディング過程を示す図である。図３を参照すると、本発明では一つのビットに対してコンテクスト選択、デコーディング及び逆二進化過程を実行し、同時に次のビットに対してもこのような過程を連続的に実行する。さらに詳細に説明すると、第１クロックサイクルｃｃ１で第１ビットｂｉｎ１に対するコンテクストを選択し、第２クロックサイクルｃｃ２では第１クロックサイクルｃｃ１で選択されたコンテクストを利用して第１ビットｂｉｎ１に対するデコーディングを実行する。これと同時に、第２クロックサイクルｃｃ２では第２ビットｂｉｎ２に対するコンテクスト選択を実行する。そして、第３クロックサイクルｃｃ３では符号解読された第１ビットｂｉｎ１に対する逆二進化を実行し、同時に第２ビットｂｉｎ２に対するデコーディング動作と第３ビットｂｉｎ３に対するコンテクスト選択とを実行する。
【００２０】
以上のように、本発明では一つのビットに対するコンテクスト選択 、‘１’ビットデコーディング及び逆二進化を実行し、同時に次のビットに対しても前記のようなデコーディング動作を実行する。すなわち、全体デコーディング過程をパイプラインで実現して高速のデコーディング動作を実行する。しかし、上述の従来技術で言及したように、各シンタックスエレメントは可変的な長さを有するので、一つのビットに対する逆二進化過程が完全に終わるまでは該当のシンタックスエレメントのすべてのビットに対するデコーディングが終了したか否かが分からない。したがって、図３のようにＣＡＢＡＣデコーディング過程をパイプラインで実行する場合、一つのシンタックスエレメントが終わるとき、次のシンタックスエレメントに含まれる一番目の一ビットが誤ったコンテクスト選択によって符号解読される誤謬が発生する。例えば、図３で第３ビットｂｉｎ３が該当のシンタックスエレメントの最終であると仮定すれば、第４ビットｂｉｎ４に対するコンテクスト選択は新しいシンタックスエレメントによって成り立たなければならない。しかし、図３のように、パイプラインでＣＡＢＡＣデコーディングを実行する場合、第３ビットｂｉｎ３に対する逆二進化が完了する以前に第４ビットｂｉｎ４に対するコンテクスト選択が行われる。したがって、第４ビットｂｉｎ４が第３ビットｂｉｎ３と同一のシンタックスエレメントという仮定下で第４ビットに対するコンテクスト選択が実行される。これは結果的に第４ビットすなわち、次のシンタックスエレメントの一番目の一ビットが誤ったコンテクスト選択によって符号解読される誤謬を発生させる。これは一ビットに対するデコーディング誤謬ではなく、以後のすべてのビットのデコーディング結果が誤る問題をもたらす。なぜなら、第４ビットに対するデコーディング結果がデコーダにアップデートされ、アップデートされた第４ビットのデコーディング結果を有し、次のビットに対するコンテクスト選択及びデコーディングが実行されるためである。
【００２１】
図４は本発明のデコーディング動作を示すフローチャートである。図４に示したように、本発明では前記のような誤謬を防止するために該当のシンタックスエレメントの最後のビットに対する逆二進化が終われば、最後のビットに対するデコーディング結果でデコーディングパラメタをアップデートする。すなわち、図３で第３ビットの逆二進化動作まで完了したとき、たとえ第４ビットに対するデコーディングによって新しいデコーディングパラメタが既に生成されたが、このデコーディングパラメタは無視して、第３ビット（すなわち、一シンタックスエレメントの最後のビット）に対するデコーディングパラメタをＣＡＢＡＣデコーダのレジスタにアップデートすることで、以後の他のシンタックスエレメントに含まれたビットに対するデコーディング誤謬を防止する。
【００２２】
以下、図４を参照して本発明で提案するＣＡＢＡＣデコーディング過程をより詳細に説明する。まず、ビット別コンテクスト選択（段階Ｓ４０２）、‘１’ビットデコーディング（段階Ｓ４０４）及び逆二進化過程（段階Ｓ４０６）は図２に示した従来の一般的なデコーディング過程と同一であるので、これに対する説明は省略する。ただ、本発明では各々のビットに対して前記段階が図３に示したようにパイプラインで実行される。以後の過程において、一つのビットに対する逆二進化過程が終われば、その際、該当のビットがシンタックスエレメントの最後のビットであるか否かを判別する（段階Ｓ４０８）。もし、現在逆二進化が実行されるビットが一シンタックスエレメントの最後のビットであれば、次のビットすなわち、他のシンタックスエレメントの一番目のビットに対するデコーディングによって新たに生成されたデコーディングパラメタは無視して、最後のビットに対するデコーディングによって生成されたコンテクスト、レンジ及びバリューパラメタでデコーダのデコーディングパラメタを再設定する（段階Ｓ４１０）。もし、現在逆二進化されたビットがシンタックスエレメントの最後のビットではなければ、現在デコーディングが実行されたビットのコンテクストとデコーディングインターバルパラメタ（例えば、レンジ及びバリューパラメタ）とでデコーダのデコーディングパラメタをアップデートする（段階Ｓ４１２）。このために、 逆二進化段階では現在デコーディングが実行中であるビットの以前ビットに対するデコーディングパラメタをラッチ（ｌａｔｃｈ）して以前ビットがシンタックスエレメントの最後のビットの場合、ラッチしたデコーディングパラメタをデコーダのレジスタに再び戻して再設定する。
【００２３】
図５は図４のようなパイプライン構造のデコーディング動作を実行する本発明のＣＡＢＡＣデコーダの一実施形態を示すブロック図である。図５を参照すると、本発明のＣＡＢＡＣデコーダはコンテクスト選択部５０２、算術デコーダ部５０４、逆二進化部５０６、制御部５０８及びレジスタ部５１０で構成され、コンテクスト選択部５０２、算術デコーダ部５０４及び逆二進化部５０６は一つのパイプラインで構成される。
【００２４】
コンテクスト選択部５０２は、外部から一サイクルに一つずつ入力されるシンタックスエレメントインジケータ信号ＳＥ、ｘとビットインデックスｋ及び以前ビットのデコーディングによって生成されたデコーディングパラメタＤＣＰ_Ｐのうちの一部ＤＣＰ＿Ｐ２を利用して内部レジスタに貯蔵されている複数のコンテクストのうちの一つＣＴＸ＿Ａを選択し、これを算術デコーダ部５０４に入力する。
【００２５】
算術デコーダ部５０４は外部のストリームバッファから入力されるビットストリーム（ｂｉｔ  ｓｔｒｅａｍ）に対してコンテクスト選択部５０２から入力されるコンテクストＣＴＸ＿Ａに従って１ビット単位でデコーディングを実行する。算術デコーダ部５０４は符号解読された二進値ｂｉｎ＿ｖを逆二進化部５０６に出力し、デコーディング過程で生成されたデコーディングパラメタＤＣＰ＿Ｎを制御部５０８に出力する。この際、算術デコーダ部５０４は以前ビットのデコーディング過程で生成されたデコーディングパラメタＤＣＰ＿Ｐのうちの一部ＤＣＰ＿Ｐ１を利用して現在ビットに対するデコーディングを実行する。
【００２６】
逆二進化部５０６は算術デコーダ部５０４から入力される二進値ｂｉｎ_vを利用して逆二進化を実行して元のシンタックスエレメントＳＥ＿Ｖを復元する。一方、逆二進化部５０６による逆二進化過程で該当のビットがシンタックスエレメントの最後のビットであるか否かが判別される。逆二進化部５０６は現在逆二進化が実行されたビットがシンタックスエレメントの最後のビットであるか否かを示す最終ビットインジケータ信号Ｌａｓｔ＿ｂｉｎを生成する。
【００２７】
制御部５０８は逆二進化部５０６からの最終ビットインジケータ信号Ｌａｓｔ＿ｂｉｎに応答して算術デコーダ部５０４から入力されるデコーディングパラメタＤＣＰ＿Ｎとレジスタ部５１０から入力される以前ビットすなわち、現在逆二進化が実行中であるビットのデコーディングパラメタＤＣＰ＿Ｐのうちの一つを選択してレジスタ部５１０に出力する。
【００２８】
レジスタ部５１０は制御部５０８から入力されるデコーディングパラメタを貯蔵し、貯蔵されたデコーディングパラメタをコンテクスト選択部５０２、算術デコーダ部５０４及び制御部５０８に出力する。
【００２９】
一方、制御部５０８は最終ビットインジケータ信号Ｌａｓｔ＿ｂｉｎに従って現在逆二進化が実行中であるビットが一シンタックスエレメントの最後のビットであれば、レジスタ部５１０から入力される以前ビットすなわち、最後のビットのデコーディングパラメタがレジスタ部５１０に再設定されるようにする。もし、現在逆二進化が実行中であるビットが一シンタックスエレメントの最後のビットでなければ、算術デコーダ部５０４から入力される新しいデコーディングパラメタＤＣＰ＿Ｎがレジスタ部５１０に貯蔵されるようにする。一方、レジスタ部５１０からコンテクスト選択部５０２に入力されるデコーディングパラメタＤＣＰ＿Ｐ２は、以前ビットのコンテクストとコンテクストインデックスとであり、レジスタ部５１０から算術デコーダ部５０４に入力されるデコーディングパラメタＤＣＰ＿Ｐ１は、以前ビットのデコーディングインターバルパラメタ（例えば、レンジ及びバリューパラメタ）である。
【００３０】
図６は図４のようなデコーディング動作を実行する本発明のＣＡＢＡＣデコーダに対するさらに他の実施形態を示す図である。図６に示したＣＡＢＡＣデコーダは、図５と同様に大きく、コンテクスト選択部６１０、算術デコーダ部６２０、逆二進化部６３０、レジスタ部６４０、および制御部６５０に分けることができる。
【００３１】
コンテクスト選択部６１０は、外部から一サイクルに一つのビットに対して一つずつ入力されるシンタックスエレメントインジケータ信号ＳＥ、ｘ及びビットインデックスｋに従って現在ビットに対するコンテクストインデックスＣＴＸ＿Ｉｄｘを生成するコンテクストインデックス生成器６１２と、複数のコンテクストを貯蔵するレジスタ６１４と、生成されたコンテクストインデックスＣＴＸ＿ＩｄｘによってレジスタからのコンテクストＣＴＸ＿Ａを算術デコーダ部６２０に入力する第１制御回路６１６と、で構成される。第１制御回路６１６はマルチプレクサ回路を利用して実現することができ、レジスタ６１４は以前ビットのコンテクストに従って貯蔵されたコンテクストのうちの一つを選択して第１制御回路６１６に出力する。
【００３２】
算術デコーダ部６２０はコンテクスト選択部６１０から入力されるコンテクストＣＴＸ＿Ａとレジスタ部から入力される以前ビットに対するデコーディングパラメタｒａｎｇｅ＿Ｐ、 ｖａｌｕｅ＿Ｐとを利用して外部のストリームバッファから入力されるビットストリーム形態の圧縮データを一サイクルに一ビットずつ符号解読して符号解読された二進値ｂｉｎ＿ｖを逆二進化部６３０に入力する。そして、算術デコーダ部６２０はコンテクスト選択部６１０からのコンテクストＣＴＸ＿Ａ、以前ビットのレンジパラメタｒａｎｇｅ＿Ｐ及びバリューパラメタｖａｌｕｅ＿Ｐを利用して現在ビットに対するデコーディングを実行する過程で新しいコンテクストＣＴＸ＿Ｎ、レンジ及びバリューパラメタｒａｎｇｅ＿Ｎ、ｖａｌｕｅ＿Ｎを生成する。一方、図５及び図６で、算術デコーダ部５０４／６２０は複雑な演算過程を通じてビット別デコーディングを実行するが、下記のプログラム文章は一般的な内容基盤適応的二進算術デコーダによってデコーディング過程で実行されるプログラムコードの一部である。
======================================================================
Modified_QM Coder_decoderstate、 MPS、 range、 value
(１) Set ｂit = MPS
(２) Set rLPS = rLPS_taｂle_６４×４[state][range>>６&３]
(３）Set range = range - rLPS
(４) if value < range then Set state = AC_next_state_MPS_６４[state]
else Set value = value - range
Set range = rLPS、 Set ｂit = !ｂit
if state == ０ then Set MPS =１ - MPS
Set state = AC_next_state_LPS_６４[state]
(５)Set while range ≦２ｂ-２ do
Set range =２*range and value =２*value + read_one_ｂit
=======================================================================
【００３３】
上記プログラムコードで（５）の部分が従来技術で言及した可変的な回数で発生することによって全体演算時間の遅延を発生させる再正規化過程に該当する。すなわち、ｗｈｉｌｅ文の特定条件を満足させるまで（５）の再正規化過程が可変的な回数で繰り返されることによって、全体演算時間が遅延するようになる。もし、上記（５）の再正規化部分をｗｈｉｌｅ文を使用せずに実現することができるとすれば、このような演算時間の遅延を減らすことができる。このために、上記（５）の部分をｗｈｉｌｅ文を使用せず、下記の [数１]のように変形することができる。
【００３４】
[数１]
（５−１）ｘ＝ｌｏｇ２（２ｂ−２／ｒａｎｇｅ）＋１＝ｂ−１−ｒｏｕｎｄ（ｌｏｇ２ｒａｎｇｅ）
（５−２）ｒａｎｇｅ＝ｒａｎｇｅ ＜＜ｘａｎｄ  ｖａｌｕｅ  ＜＜ ｘ  ＋ ｒｅａｄ＿ｘ＿ｂｉｔ（）（ただ、ｂは定数）
【００３５】
上記の [数１]のｘは次のように定義することができる。入力されるレンジ（ｒａｎｇｅ）パラメタを何回かシフトする場合、ｂ番目以上で“１”が一つだけ出るかに対する演算結果を意味する。しかし、上記の[数１]の（５−１）部分はログ（ｌｏｇ）と「／」とが含まれていて、実際（５−１）部分をそのままハードウェアで実現することは難しい。
【００３６】
図７は、図５及び図６に示した本発明の算術デコーダ部で、再正規化過程を実行する再正規化器の実施形態を示す図である。図７を参照すると、再正規化器７００は第１ビット検出器７０２、第２ビット検出器７０４、加算器７０６、第１シフトレジスタ７０８及び第２シフトレジスタ７１０で構成される。第１ビット検出器７０２はレジスタ部から入力される以前ビットのレンジパラメタｒａｎｇｅ＿Ｐでｂ番目のビット以下で‘１’がただ一つの場合は“１”を出力し、‘１’が多数個の場合は“０”を出力する。これは以前ビットのレンジパラメタｒａｎｇｅ＿Ｐに対して２ビットずつＡＮＤとＯＲ演算を通じて実現することができる。このような第１ビット検出器７０２は図に詳細に図示しないが、ＡＮＤゲートとＯＲゲートとを利用して実現することができることは当業者であれば自明な事項に該当する。
【００３７】
第２ビット検出器７０４はレジスタ部６４０で入力される以前ビットのレンジパラメタｒａｎｇｅ＿Ｐで‘１’が初めて出るのが何番目のビットであるかを検出する。これは、優先順位エンコーダ（ｐｒｉｏｒｉｔｙ  ｅｎｃｏｄｅｒ）で実現することができる。
【００３８】
加算器７０６は第１ビット検出器７０２の出力と第２ビット検出器７０４の出力とに対する加算を実行する。そして、加算器による演算結果は第１シフトレジスタ７０８と第２シフトレジスタ７１０とに入力される。加算器７０６の演算結果は上の[数１]でｘ値に該当する。
【００３９】
第１シフトレジスタ７０８はレジスタ部で入力される以前ビットのレンジパラメタｒａｎｇｅ＿Ｐを加算器７０６からの演算結果ｘだけ左にシフトさせた新しいレンジパラメタｒａｎｇｅ＿Ｎを出力する。
【００４０】
第２シフトレジスタ７１０はレジスタ部で入力される以前ビットのバリューパラメタｖａｌｕｅ＿Ｐと外部のストリームバッファで入力されるビットストリームｂｉｔ  ｓｔｒｅａｍ[３１:０]とを加算器７０６からの演算結果ｘだけ左にシフトして新しいバリューパラメタｖａｌｕｅ＿Ｎを生成する。
【００４１】
以上のように再正規化器７００はレジスタ部から入力される以前ビットのレンジ及びバリューパラメタｒａｎｇｅ＿Ｐ、 ｖａｌｕｅ＿Ｐと外部のストリームバッファから入力されるビットストリーム（ｂｉｔ  ｓｔｒｅａｍ）とを利用して新しいレンジ及びバリューパラメタｒａｎｇｅ＿Ｎ、  ｖａｌｕｅ＿Ｎを生成する。この過程で再正規化器７００は前記プログラムコードの（５）部分のように条件を満足するまでシフト動作を繰り返して実行せず、図７のようなハードウェア構成を通じてただ一度で再正規化過程を処理することでデコーディング過程の遅延時間を減らす。算術デコーダ部はＨ．２６４標準に基づいて多様な動作を実行する。
【００４２】
逆二進化部６３０は、算術デコーダ部６２０から順次に入力される符号解読された二進値ｂｉｎ＿ｖを利用して元のシンタックスエレメントＳＥ＿Ｖを復元して、入力される二進値ｂｉｎ＿ｖが該当のシンタックスエレメントの最後のビットであるか否かを判別して、コンテクスト選択動作とアップデートされるデコーディングパラメタとを選択することができる最終ビットインジケータ信号Ｌａｓｔ＿ｂｉｎを生成する。
【００４３】
制御部６４０は、逆二進化部６３０からの制御信号Ｌａｓｔ＿ｂｉｎに従ってレジスタ部６５０から入力される以前ビットのパラメタＣＴＸ＿Ｐ、ＣＴＸ＿Ｉｄｘ＿Ｐ、ｒａｎｇｅ＿Ｐ、ｖａｌｕｅ＿Ｐと算術デコーダ部６２０とコンテクスト選択部６１０から入力される現在ビットのパラメタＣＴＸ＿Ｎ、ＣＴＸ＿Ｉｄｘ＿Ｎ、ｒａｎｇｅ＿Ｎ、ｖａｌｕｅ＿Ｎのうちの一つを選択してレジスタ部６５０に入力する。そして、レジスタ部６５０から入力される以前ビットのコンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｐに従って以前ビットのコンテクストＣＴＸ＿Ｐをコンテクスト選択部６１０に入力する。これを実現するための具体的な実施形態として制御部６４０は図６に示したように複数のマルチプレクサ回路６４２、６４４、６４６、６４８で実現することができる。図６を参照すると、制御部６４０の第１マルチプレクサ回路６４２は、算術デコーダ部６２０から入力される現在ビットに対するデコーディングパラメタｒａｎｇｅ＿Ｎ、ｖａｌｕｅ＿Ｎ、レジスタ部６５０のデコーディングインターバルパラメタレジスタ６５２から入力される以前ビットに対するレンジ及びバリューパラメタｒａｎｇｅ＿Ｐ、ｖａｌｕｅ＿Ｐのうちの一つを逆二進化部６３０からの最終ビットインジケータ信号Ｌａｓｔ＿ｂｉｎに従って選択して、デコーディングインターバルパラメタレジスタ６５２に入力する。すなわち、第１マルチフレクサ回路６４２は、逆二進化部６３０によって現在逆二進化が実行されたビットが該当のシンタックスエレメントの最後のビットであれば、デコーディングインターバルパラメタレジスタ６５２から入力される以前ビットのレンジ及びバリューパラメタｒａｎｇｅ＿Ｐ、ｖａｌｕｅ＿Ｐが再びデコーディングインターバルパラメタレジスタ６５２に再設定されるように制御する。一方、現在逆二進化が実行されたビットが該当のシンタックスエレメントの最後のビットではなければ、算術デコーダ部６２０から入力される現在ビットに対するレンジ及びバリューパラメタｒａｎｇｅ＿Ｎ、ｖａｌｕｅ＿Ｎがデコーディングインターバルパラメタレジスタ６５２に貯蔵されるように制御する。
【００４４】
制御部６４０の第２マルチプレクサ回路６４４は、レジスタ部６５０のインデックスレジスタ６５４から入力される以前ビットのコンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｐとコンテクスト選択部６１０から入力される現在ビットのコンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｎのうちの一つを逆二進化部６３０からの最終ビットインジケータ信号Ｌａｓｔ＿ｂｉｎに従って選択し、選択されたコンテクストインデックスをインデックスレジスタ６５４に貯蔵する。第２マルチプレクサ回路６４４も第１マルチプレクサ回路６４２と同様に現在逆二進化が実行されたビットが該当のシンタックスエレメントの最後のビットであれば、レジスタ部６５０のインデックスレジスタ６５４から入力される以前ビットに対するコンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｐが再びインデックスレジスタ６５４に再設定されるように制御し、現在逆二進化が実行されたビットが該当のシンタックスエレメントの最後のビットではなければ、コンテクスト選択部６１０から入力される現在ビットに対するコンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｎがインデックスレジスタ６５４に貯蔵されるように制御する。
【００４５】
制御部６４０の第３マルチプレクサ回路６４６は、算術デコーダ部６２０から入力される現在ビットのコンテクストＣＴＸ＿Ｎとコンテクストレジスタ６５６から入力される以前ビットのコンテクストCTX＿Ｐのうちの一つを、逆二進化部６３０からの最終ビットインジケータ信号Ｌａｓｔ＿ｂｉｎに従って選択してコンテクストレジスタ６５６に貯蔵する。すなわち、第３マルチプレクサ回路６４６は、現在逆二進化が実行されたビットが該当のシンタックスエレメントの最後のビットであれば、コンテクストレジスタ６５６から入力される以前ビットのコンテクストＣＴＸ＿Ｐが再びコンテクストレジスタ６５６に貯蔵されるように制御し、現在逆二進化が実行されたビットが該当のシンタックスエレメントの最後のビットではなければ、算術デコーダ部６２０から入力される現在ビットに対するコンテクストＣＴＸ＿Ｎがコンテクストレジスタ６５６に貯蔵されるようにする。
【００４６】
制御部６４０の第４マルチプレクサ回路６４８は、インデックスレジスタ６５４から入力される以前ビットのコンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｐに従ってコンテクストレジスタ６４８からの以前ビットに対するコンテクストＣＴＸ＿Ｐをコンテクスト選択部６１０に入力する。
【００４７】
レジスタ部６５０は、現在デコーディングが実行されるビットの以前ビットに対するデコーディングパラメタを各々貯蔵する複数個のレジスタで構成される。これを図６を参照してより詳細に説明すると、レジスタ部６５０はデコーディングインターバルパラメタレジスタ６５２、インデックスレジスタ６５４及びコンテクストレジスタ６５６で構成される。
【００４８】
デコーディングインターバルレジスタ６５２は、制御部６４０の第１マルチプレクサ回路６４２から入力されるデコーディングパラメタを貯蔵し、算術デコーダ部６２０によってデコーディングが実行されるとき、貯蔵デコーディングパラメタを算術デコーダ部６２０と制御部６４０とに出力する。すなわち、デコーディングインターバルパラメタレジスタ６５２は現在デコーディングされるビットの以前ビットに対するデコーディングパラメタｒａｎｇｅ＿Ｐ、ｖａｌｕｅ＿Ｐを貯蔵し、算術デコーダ部６２０によって現在ビットに対するデコーディングが実行されるとき、貯蔵された以前ビットのデコーディングパラメタｒａｎｇｅ＿Ｐ、ｖａｌｕｅ＿Ｐを算術デコーダ部６２０と制御部６４０の第１マルチプレクサ回路６４２とに出力する。
【００４９】
インデックスレジスタ６５４は、制御部６４０の第２マルチプレクサ回路６４４から入力されるコンテクストインデックスを貯蔵し、算術デコーダ部６２０によって新しいビットに対するデコーディングが実行されるとき、貯蔵コンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｐを第２マルチプレクサ回路６４４及び第４マルチプレクサ回路６４８に出力する。 すなわち、インデックスレジスタ６５４は、現在デコーディングされるビットの以前ビットに対するコンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｐを貯蔵し、算術デコーダ部６２０によって現在ビットに対するデコーディングが実行されるとき、貯蔵された以前ビットのコンテクストインデックスＣＴＸ＿Ｉｄｘ＿Ｐを第２マルチプレクサ回路６４４の入力として、そして第４マルチプレクサ回路６４８の制御信号として入力する。
【００５０】
コンテクストレジスタ６５６は、第３マルチプレクサ回路６４６から入力されるコンテクストを貯蔵し、算術デコーダ部６２０によって新しいビットに対するデコーディングが実行されるとき、貯蔵コンテクストＣＴＸ＿Ｐを第３マルチプレクサ回路６４６及び第４マルチプレクサ回路６４８に出力する。
【００５１】
一方、Ｈ．２６４／ＡＶＣ標準では、シンタックスエレメントの種類に従ってＭＰＳ及び ＬＰＳの確率が同一である場合、コンテクスト選択過程を経ないでバイパスデコーダ（Ｂｙｐａｓｓ ｄｅｃｏｄｅｒ）を利用してデコーディングを実行する。このようなシンタックスエレメントの場合、デコーディング時、コンテクストが必要ではなく、デコーディング時の演算式が簡単なので、多くのビットを一回にデコーディングすることができる。また、バイパスモードの場合、エンコーディング時、二進化スキーム（ｂｉｎａｒｉｚａｔｉｏｎ  ｓｃｈｅｍｅ）がエクスポネンシャルゴロムコード（Ｅｘｐ−Ｇｏｌｏｍｂ  Ｃｏｄｅ）になっていて、逆二進化も一度に多くのビットに対して実行することができる。このようなバイパスデコーダでも、前記のような本発明のデコーディング方法を適用することができる。すなわち、複数のビットに対するデコーディングを実行している途中、該当のシンタックスエレメントの最後のビットが符号解読されれば、この最後のビットに対するデコーディングパラメタｒａｎｇｅ、ｖａｌｕｅにアップデートして、ストリップバッファから読み出すビットオフセットを変更することにして、一サイクルに多くのビットを符号解読することが可能である。図８は４ビットずつ同時にデコーディングと逆二進化とを実行する内容基盤適応的二進算術デコーダでのデコーディング過程を示す図である。図８に示したように、一つのサイクルで同時に４ビットずつデコーディングが実行する。また、逆二進化過程も一サイクルに４ビットずつ実行する。そして、図３乃至図６に示したデコーディング方法を応用して逆二進化が実行される４ビットのうちの該当のシンタックスエレメントの最後のビットが検出されれば、その最後のビットに対するデコーディングパラメタが次のシンタックスエレメントの一番目のビットに対するデコーディング時使用されるようにアップデートすることで、以後の他のシンタックスエレメントに含まれるビットに対するデコーディング誤謬を防止することができる。
【００５２】
図９は図８のように、複数のビットに対して同時にデコーディング及び逆二進化を実行するマルチビットデコーダの実施形態を示す図である。図９では一サイクルに４ビットずつデコーディングと逆二進化とを実行するマルチビットデコーダを示す。図９を参照すると、マルチビットデコーダは複数のデコーダで構成されたデコーダ部９００とマルチビット逆二進化部９１０とで構成される。
【００５３】
デコーダ部９００は、４個の算術デコーダ９０２、９０４、９０６、９０８のチェーンで構成される。第１デコーダ９０２は、外部から同時に入力される複数のビットのうちの一番目のビットｂｉｎ０、ｂｉｎ４、．．に対するデコーディングを実行する。第２デコーダ９０４は、第１デコーダ９０２、二番目のビットｂｉｎ１、 ｂｉｎ５、．．．に対するデコーディングを実行する。第３デコーダ９０６は、三番目のビットｂｉｎ２、ｂｉｎ３、．．．に対するデコーディングを実行する。第４デコーダ９０８は、四番目のビットｂｉｎ３、 ｂｉｎ７、…に対するデコーディングを実行する。
【００５４】
第１デコーダ９０２は、四つのビットのうちの一番目のビットに対するデコーディングを実行して符号解読された二進値ｂｉｎ＿ｖ１をマルチビット逆二進化部９１０に入力する。そして、デコーディング時生成されたデコーディングパラメタｒａｎｇｅ＿Ｎ１、ｖａｌｕｅ＿Ｎ１を第２デコーダ９０４に入力する。
【００５５】
第２デコーダ９０４は、第１デコーダ９０２から入力されるデコーディングパラメタｒａｎｇｅ＿Ｎ１、  ｖａｌｕｅ＿Ｎ１を利用して、四つのビットのうちの二番目のビットに対するデコーディングを実行して符号解読された二進値ｂｉｎ＿ｖ２をマルチビット逆二進化部９１０に入力する。そして、デコーディング過程で生成された新しいデコーディングパラメタｒａｎｇｅ＿Ｎ２、  ｖａｌｕｅ＿Ｎ２を第３デコーダ９０６に入力する。
【００５６】
第３デコーダ９０６は、第２デコーダ９０４から入力されるデコーディングパラメタｒａｎｇｅ＿Ｎ２、ｖａｌｕｅ＿Ｎ２を利用して、四つのビットのうちの三番目のビットに対するデコーディングを実行し、符号解読された二進値ｂｉｎ＿ｖ３をマルチビット逆二進化部９１０に入力する。そして、デコーディング過程で生成された新しいデコーディングパラメタｒａｎｇｅ＿Ｎ３、ｖａｌｕｅ＿Ｎ３を第４デコーダ９０８に入力する。
【００５７】
第４デコーダ９０８は、第３デコーダ９０６から入力されるデコーディングパラメタｒａｎｇｅ＿Ｎ３、ｖａｌｕｅ＿Ｎ３を利用して、四つのビットのうちの四番目のビットに対するデコーディングを実行し、符号解読された二進値ｂｉｎ＿ｖ４をマルチビット逆二進化部９１０に入力する。そして、デコーディング過程で生成された新しいデコーディングパラメタｒａｎｇｅ＿Ｎ４、ｖａｌｕｅ＿Ｎ４を第１デコーダ９０２に入力する。
【００５８】
以上、第１乃至第４デコーダ９０２、９０４、９０６、９０８によるデコーディング動作は上述したように、バイパスモードでのデコーディング時、演算式が簡単なので、速い演算が可能であり、一サイクルで行われる得る。
【００５９】
マルチビット逆二進化部９１０は、第１乃至第４デコーダ９０２、９０４、９０６、９０８から入力される符号解読された二進値ｂｉｎ＿ｖ１、ｂｉｎ＿ｖ２、ｂｉｎ＿ｖ３、ｂｉｎ＿ｖ４を逆二進化して該当のシンタックスエレメントＳＥ＿Ｖを生成し、第１乃至第４デコーダ９０２、９０４、９０６、９０８から入力される二進値が該当のシンタックスエレメントの最後のビットであるか否かを各々判別して最後のビットの場合、最後のビットのデコーディングによって生成されたデコーディングパラメタを第１デコーダ９０２にアップデートして入力するように制御信号Ｌａｓｔ＿ｂｉｎを生成する。例えば、三番目のビットｂｉｎ２が該当のシンタックスエレメントの最後のビットの場合、第３デコーダ９０６で出力されるデコーディングパラメタｒａｎｇｅ＿Ｎ３、ｖａｌｕｅ＿Ｎ３を第１デコーダ９０２に戻してアップデートする。このような過程を通じて、次のシンタックスエレメントに含まれたビットのデコーディング誤謬を防止することができる。
【００６０】
以上、本発明の内容基盤適応的二進算術デコーダに対して実施形態を通じて詳細に説明したが、これは一実施形態に過ぎず、本発明の技術的思想を逸脱しない範囲内で多様な変化及び応用が可能である。
【図面の簡単な説明】
【００６１】
【図１】Ｈ．２６４標準によるＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ）に基づいたデータ圧縮過程を示す図である。
【図２】Ｈ．２６４標準によるＣＡＢＡＣに基づいたデータ復元過程を示すフローチャートである。
【図３】本発明によるデコーディング過程のパイプライン構造の例を概略的に示す図である。
【図４】本発明によるデコーディング方法の実施形態を示すフローチャートである。
【図５】本発明によるデコーダの実施形態を示す図である。
【図６】本発明によるデコーダの他の実施形態を示す図である。
【図７】図５及び図６に示したデコーダで使用される再正規化器の実施形態を示す図である。
【図８】本発明によるデコーディング方法の他の実施形態を示す図であり、複数のビットずつ同時にデコーディングと逆二進化とを実行するデコーディング方法を示す図である。
【図９】本発明によるデコーダのまた他の実施形態を示す図であり、複数のビットに対して同時にデコーディング及び逆二進化を実行するデコーダを示す図である。
【図１】
2006054865.tif 000003
【図２】
2006054865.tif 000004
【図３】
2006054865.tif 000005
【図４】
2006054865.tif 000006
【図５】
2006054865.tif 000007
【図６】
2006054865.tif 000008
【図７】
2006054865.tif 000009
【図８】
2006054865.tif 000010
【図９】
2006054865.tif 000011