(57)【要約】算術的エンコーダは、複数のイベントを含むイベントシーケンスを少なくとも一つの情報片を含む一つの情報シーケンスへと変換するために設けられており、イベントシーケンスのイベントと確率推定器からの確率推定値とを受信するための、並びに、イベント（群）の情報片（群）に対する比率を制限することにより受信イベント及び確率推定値に応じて情報シーケンスの０以上の片を生成するための、コアエンジンを含む。少なくとも一つのイベントシーケンスの中のイベントの数を、少なくとも一つの情報シーケンスの中の生成された情報片の数の関数として制限することが可能な算術的エンコーダが、提供されている。算術的デコーダが、少なくとも一つの情報片を含む一つの情報シーケンスを複数のイベントを含む一つのイベントシーケンスへと変換するために設けられており、イベント（群）の情報シーケンスの中の情報片（群）に対する制限された比率を考慮することにより、シーケンサからの情報シーケンスの少なくとも一つの情報片を、少なくとも一つのイベントを生成するために確率推定器から受信される確率推定値に応じて処理するためのコアエンジンを含む。
2005524267.tif 000002
【特許請求の範囲】
【請求項１】
複数のイベントを含む一つのイベントシーケンスを少なくとも一つの情報片を含む一つの情報シーケンスへと変換するための算術的エンコーダであって、
前記イベントシーケンスのイベント（群）を受信するための少なくとも一つの入力ポートと、
少なくとも一つの出力ポートと、
前記少なくとも一つの入力ポート及び前記少なくとも一つの出力ポートと接続され、前記受信されるイベント（群）の少なくとも一つのコンテクスト情報を生成するためのコンテクスト生成器を含むシーケンサと、
前記イベントシーケンスの一つのイベント及び対応するコンテクスト情報を前期シーケンサから受信するために、及び、前記イベントがある特定の値を有する確率推定値を生成するために、前記シーケンサと接続された確率推定器と、
前記イベントシーケンスの前記イベントを前記シーケンサから、前記確率推定値を前記確率推定器から受信するために、イベント（群）の情報片（群）に対する比率を制限することにより前記受信されるイベント及び前記確率推定値に応じて前記情報シーケンスの０以上の片を生成するために、並びに、前記情報シーケンスの前記０以上の情報片を前記シーケンサへと提供するために、前記シーケンサ及び前記確率推定器と接続されたコアエンジンと、
を備え、
前記生成情報片（群）は、前記情報シーケンスとして前記少なくとも一つの出力ポートから提供される
ことを特徴とする算術的エンコーダ。
【請求項２】
前記イベントシーケンスの前記イベント（群）は、バイナリイベントであって、前記情報シーケンスの前記情報片（群）は、情報のバイナリビットである
ことを特徴とする請求項１に記載の算術的エンコーダ。
【請求項３】
イベント（群）の情報片（群）に対する前記比率を制限する前記コアプロセッサは、イベント（群）の情報片（群）に対する平均の比率を制限することを含む
ことを特徴とする請求項１に記載の算術的エンコーダ。
【請求項４】
イベント（群）の情報片（群）に対する制限された平均は、情報片あたり４イベントである
ことを特徴とする請求項３に記載の算術的エンコーダ。
【請求項５】
前記コアプロセッサは、イベント（群）の情報片（群）に対する前記平均比率を予め定められた比率の値へと制限する際に用いられる、各々の情報片のイベントの数を追跡するためのカウンタレジスタを含んでいる
ことを特徴とする請求項３に記載の算術的エンコーダ。
【請求項６】
前記コアプロセッサは、イベント（群）の情報片（群）に対する比率が前記予め定められた比率の値を超えるような情報シーケンスの中に、少なくとも一つのスタッフィング情報片を生成する
ことを特徴とする請求項５に記載の算術的エンコーダ。
【請求項７】
前記コアエンジンは、各々の処理されるイベント毎に予め定められた加算値だけ前記カウンタを加算する
ことを特徴とする請求項５に記載の算術的エンコーダ。
【請求項８】
前記予め定められた加算値は、１である
ことを特徴とする請求項７に記載の算術的エンコーダ。
【請求項９】
前記コアエンジンは、前記カウンタレジスタを用いて、一つの情報片が生成される時に、前記予め定められた比率の値を前記カウンタレジスタから減算することによりイベント（群）の前記平均比率を制限する
ことを特徴とする請求項５に記載の算術的コーダ。
【請求項１０】
前記イベント（群）がＭ−ａｒｙである
ことを特徴とする請求項１に記載の算術的エンコーダ。
【請求項１１】
前記コアエンジンは、イベント（群）の情報片（群）に対する前記比率を予め定められた比率の値へと制限する際に用いられる、イベント（群）の数を追跡するための第一カウンタレジスタ、及び、情報片（群）の数を追跡するための第二カウンタレジスタを含んでいる
ことを特徴とする請求項１に記載の算術的エンコーダ。
【請求項１２】
前記コアエンジンは、前記第一カウンタの値を前記第二カウンタの値と比較することにより前期比率を追跡する
ことを特徴とする請求項１１に記載の算術的エンコーダ。
【請求項１３】
複数のイベントを含む一つのイベントシーケンスを少なくとも一つの情報片を含む一つの情報シーケンスへと変換するためのコアエンジンであって、
前記イベントシーケンスの少なくとも一つのイベント及び前記少なくとも一つのイベントの確率推定値を受信するための、並びに、イベント（群）の情報片（群）に対する比率を制限することにより前記受信イベント及び前記確率推定値に応じて情報シーケンスの０以上の片を生成するための、コントローラ
を備えたことを特徴とするコアエンジン。
【請求項１４】
イベント（群）の情報片（群）に対する比率を制限する際に用いられる、各々の情報片のイベントの数を追跡するために前記コントローラと接続されたカウンタレジスタ
を更に備えたことを特徴とする請求項１３に記載のコアエンジン。
【請求項１５】
前記コントローラは、一つのイベントが処理される時、前記カウンタを予め定められた加算値だけ加算する
ことを特徴とする請求項１４に記載のコアエンジン。
【請求項１６】
前記予め定められた加算値は、１である
ことを特徴とする請求項１５に記載の算術的エンコーダ。
【請求項１７】
前記コアエンジンは、前記カウンタレジスタを用いて、一つの情報片が生成される時に、前記予め定められた比率の値を前記カウンタレジスタから減算することによりイベント（群）の前記比率を制限する
ことを特徴とする請求項１４に記載のコアエンジン。
【請求項１８】
前記イベントシーケンスの前記イベント（群）は、バイナリイベントであって、前記情報シーケンスの前記情報片（群）は、情報のバイナリビットである
ことを特徴とする請求項１３に記載のコアエンジン。
【請求項１９】
イベント（群）の情報片（群）に対する前記比率を制限する前記コントローラは、イベント（群）の情報片（群）に対する平均の比率を制限することを含む
ことを特徴とする請求項１３に記載のコアエンジン。
【請求項２０】
イベント（群）の情報片（群）に対する制限された平均は、情報片あたり４イベントである
ことを特徴とする請求項１９に記載のコアエンジン。
【請求項２１】
前記コアプロセッサは、イベント（群）の情報ビット（群）に対する平均の比率が前記予め定められた比率の値を超えるような情報シーケンスの中に、少なくとも一つのスタッフィング情報片を生成する
ことを特徴とする請求項１９に記載のコアエンジン。
【請求項２２】
イベント（群）の数を追跡するために前記コントローラと接続された第一カウンタレジスタと、
情報片（群）の数を追跡するために前記コントローラと接続された第二カウンタと、
を更に備え、
前記コントローラは、前記第一カウンタ及び前記第二カウンタを、イベント（群）の情報片（群）に対する比率を制限する際に用いる
ことを特徴とする請求項１３に記載のコアエンジン。
【請求項２３】
前記比率を制限する前記コントローラは、前記第一カウンタの値を前記第二カウンタの値と比較することを含む
ことを特徴とする請求項２２に記載のコアエンジン。
【請求項２４】
複数のイベントを含む一つのイベントシーケンスを少なくとも一つの情報片を含む一つの情報シーケンスへと変換するための算術的符号化の方法であって、
前記イベントシーケンスの少なくとも一つのイベントの受信と、
前記少なくとも一つのイベントのコンテクスト情報の生成と、
前記コンテクスト情報に対応しての、前記イベントがある特定の値を有する確率推定値の生成と、
イベント（群）の情報片（群）に対する比率を制限することによる、前記受信イベント及び前記確率推定値に応じての前記情報シーケンスの０以上の情報片の生成と
を備えた方法。
【請求項２５】
前記イベントシーケンスのイベントの前記受信は、バイナリイベント（群）の受信を含み、
前記情報シーケンスの０以上の情報片の前記生成は、情報の０以上のバイナリビットの生成を含む
ことを特徴とする請求項２４に記載の方法。
【請求項２６】
イベント（群）の情報片（群）に対する比率の前記制限は、イベント（群）の情報片（群）に対する平均の比率の制限を含む
ことを特徴とする請求項２４に記載の方法。
【請求項２７】
イベント（群）の情報片（群）に対する比率の前記制限は、各々の生成される情報片のイベントの数の追跡を含む
ことを特徴とする請求項２６に記載の方法。
【請求項２８】
各々の生成される情報片のイベントの数の前記追跡は、カウンタを用いての各々の生成される情報片のイベントの数の追跡を含む
ことを特徴とする請求項２７に記載の方法。
【請求項２９】
カウンタを用いての各々の生成される情報片のイベントの数の前記追跡は、一つのイベントが処理される時に、前記カウンタを予め定められた加算値だけ加算することによる前記イベントの数の追跡を含む
ことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記カウンタの予め定められた加算値による前記加算は、前記カウンタを１だけ加算することを含む
ことを特徴とする請求項２９に記載の方法。
【請求項３１】
各々の生成される情報片のイベントの数の前記追跡は、一つの情報片が生成される時に、前記予め定められた比率の値を前記カウンタレジスタから減算することを含む
ことを特徴とする請求項２７に記載の方法。
【請求項３２】
イベント（群）の情報片（群）に対する平均の比率の前記制限は、イベント（群）の情報片（群）に対する前記平均比率を４の値に制限することを含む
ことを特徴とする請求項２６に記載の方法。
【請求項３３】
イベント（群）の情報片（群）に対する平均の比率の前記制限は、更に、イベント（群）の情報片（群）に対する比率が前記予め定められた比率の値を超える時に、情報シーケンスの中に、少なくとも一つのスタッフィング情報片を生成することを含む
ことを特徴とする請求項２６に記載の方法。
【請求項３４】
各々の生成される情報片のイベントの数の前記追跡は、第一カウンタを用いたイベント（群）の数の追跡及び第二カウンタを用いた情報片（群）の数の追跡を含む
ことを特徴とする請求項２４に記載の方法。
【請求項３５】
各々の生成される情報片のイベントの数の前記追跡は、更に、前記第一カウンタの値の前記第二カウンタの値との比較を含む
ことを特徴とする請求項３４に記載の方法。
【請求項３６】
複数のイベントを含む一つのイベントシーケンスを少なくとも一つの情報片を含む一つの情報シーケンスへと変換するための、算術的エンコーダを用いた算術的符号化の方法であって、
前記イベントシーケンスの少なくとも一つのイベント及び対応する確率推定値の受信と、
前記イベント及び前記対応する確率推定値に応じての０以上の情報片の生成と、
を備え、
前記生成は、
前記対応する確率推定値を用いたある特定のイベント値に対するサブレンジ値の算出と、
前記受信イベント及び前記算出サブレンジ値に応じたレンジレジスタ及びロウレジスタの少なくとも一方の調整と、
平均比率を追跡するために、一つのイベントが処理される際にカウンタレジスタを予め定められた加算値だけ加算することと、一つの情報片が生成される際に前記カウンタを予め定められた減算値だけ減算することと、によりイベント（群）の情報片（群）に対する平均比率を制限することを含む、前記算術的エンコーダの一部の再正規化と、
を含んでいる
ことを特徴とする方法。
【請求項３７】
前記カウンタレジスタの前記減算は、
前記カウンタレジスタの値が０より小さいか否かを決定すること、
前記カウンタレジスタの前記値が０より小さくない時に、前記カウンタレジスタを前記予め定められた減算値だけ減算すること、及び、
前記カウンタレジスタの前記値が０より小さい時に、前記レンジレジスタの前記値を倍加して前記カウンタレジスタを前記予め定められた減算値だけ減算すること
を含む
ことを特徴とする請求項３６に記載の方法。
【請求項３８】
前記少なくとも一つのイベントの前記受信は、少なくとも一つのバイナリイベントの受信を含み、
０以上の情報片の前記生成は、０以上のバイナリビットの生成を含む
ことを特徴とする請求項３６に記載の方法。
【請求項３９】
少なくとも一つの情報片を含む一つの情報シーケンスを複数のイベントを含む一つのイベントシーケンスへと変換するための算術的デコーダであって、
前記情報シーケンスの情報片（群）を受信するための少なくとも一つの入力ポートと、
少なくとも一つの出力ポートと、
少なくとも一つの受信されるイベント（群）のコンテクスト情報を生成するためのコンテクスト生成器を含み、前記少なくとも一つの入力ポート及び前記少なくとも一つの出力ポートと接続されたシーケンサと、
前記イベントシーケンスの一つの生成されたイベント及び対応するコンテクスト情報を受信するために、及び、確率推定値を決定するために、前記シーケンサと接続された確率推定器と、
イベント（群）の情報片（群）に対する制限された比率を考慮することにより、少なくとも一つのイベントを生成するために、前記確率推定値に応じて前記シーケンサからの前記情報シーケンスの少なくとも一つの情報片を処理するために、前記シーケンサ及び前記確率推定器と接続されたコアエンジンと、
を備え、
前記確率推定値を更新するために、前記生成されたイベントが対応するコンテクスト情報と共に前記シーケンサから前記確率推定器へと提供され、
前記生成されたイベントは、前記少なくとも一つの出力ポートからの前記イベントシーケンスとしての伝送のために前記シーケンサへと提供される
ことを特徴とする算術的デコーダ。
【請求項４０】
前記情報シーケンスの前記少なくとも一つの情報片は、バイナリビットであって、
前記イベントシーケンスの前記イベント（群）は、バイナリイベント（群）である
ことを特徴とする請求項３９に記載の算術的デコーダ。
【請求項４１】
イベント（群）の情報片（群）に対する制限された比率を考慮することにより少なくとも一つのイベントを生成する前記コアエンジンは、イベント（群）の情報片（群）に対する平均の制限された比率を考慮することにより少なくとも一つのイベントを生成する前記コアエンジンを含む
ことを特徴とする請求項４０に記載の算術的デコーダ。
【請求項４２】
イベント（群）の情報片（群）に対する平均の制限された比率を考慮する前記コアエンジンは、情報片（群）に対して４つのイベントという値を有する平均の制限された比率を考慮する前記コアエンジンを含む
ことを特徴とする請求項４１に記載の算術的デコーダ。
【請求項４３】
前記コアプロセッサは、イベント（群）の情報片（群）に対する平均の制限された前記比率が予め定められた平均の比率の値であることを考慮する際に用いられる、情報片（群）に対するイベントの数を追跡するためのカウンタレジスタを含んでいる
ことを特徴とする請求項４１に記載の算術的デコーダ。
【請求項４４】
前記コアエンジンは、前記情報シーケンスの中のスタッフィング情報片（群）を識別するために前記カウンタレジスタを用いる
ことを特徴とする請求項４３に記載の算術的デコーダ。
【請求項４５】
前記コアエンジンは、レンジレジスタを更に含み、
前記情報シーケンスの中の前記スタッフィング情報片（群）は、前記レンジレジスタがリスケールされる場合のみ識別される
ことを特徴とする請求項４４に記載の算術的デコーダ。
【請求項４６】
前記コアエンジンは、一つのイベントが処理される時、前記カウンタを予め定められた加算値だけ加算する
ことを特徴とする請求項４３に記載の算術的エンコーダ。
【請求項４７】
前記予め定められた加算値は、１である
ことを特徴とする請求項４６に記載の算術的エンコーダ。
【請求項４８】
前記コアエンジンは、前記カウンタレジスタを用いて、一つの情報片が処理される時に、前記予め定められた比率の値を前記カウンタレジスタから減算することにより、イベント（群）の情報片（群）に対する平均の制限された比率を考慮する
ことを特徴とする請求項４３に記載の算術的コーダ。
【請求項４９】
前記イベントシーケンスの前記生成イベント（群）は、Ｍ−ａｒｙである
ことを特徴とする請求項３９に記載の算術的デコーダ。
【請求項５０】
前記コアエンジンは、情報片（群）の数を追跡するための第一カウンタレジスタ、及び、イベント（群）の数を追跡するための第二カウンタレジスタを含んでおり、
前記第一及び第二カウンタは、イベント（群）の情報片（群）に対する制限された比率を考慮する際に用いられる
ことを特徴とする請求項３９に記載の算術的デコーダ。
【請求項５１】
前記コアエンジンは、前記第一カウンタの値を前記第二カウンタの値と比較することにより前期制限された比率を考慮する
ことを特徴とする請求項５０に記載の算術的デコーダ。
【請求項５２】
少なくとも一つの情報片を含む一つの情報シーケンスを複数のイベントを含む一つのイベントシーケンスへと変換するためのコアエンジンであって、
前記情報シーケンスの少なくとも一つの情報片及び確率推定値を受信するための、並びに、イベント（群）の情報片（群）に対する制限された比率を考慮することにより前記少なくとも一つの情報片及び確率シーケンスに応じてイベントシーケンスの０以上のイベントを生成するためのコントローラ
を備えたことを特徴とするコアエンジン。
【請求項５３】
イベント（群）の情報片（群）に対する制限された比率を考慮する際に用いられる、各々の情報片のイベントの数を追跡するために前記コントローラと接続されたカウンタレジスタ
を更に備えたことを特徴とする請求項５２に記載のコアエンジン。
【請求項５４】
前記コントローラは、一つのイベントが処理される時、前記カウンタを予め定められた加算値だけ加算する
ことを特徴とする請求項５３に記載のコアエンジン。
【請求項５５】
前記予め定められた加算値は、１である
ことを特徴とする請求項５４に記載のコアエンジン。
【請求項５６】
前記コアエンジンは、前記カウンタレジスタを用いて、一つの情報片が処理される時に、前記予め定められた比率の値を前記カウンタレジスタから減算することにより、イベント（群）の平均の制限された比率を考慮する
ことを特徴とする請求項５３に記載のコアエンジン。
【請求項５７】
前記イベントシーケンスの前記イベント（群）は、バイナリイベントであって、前記情報の前記情報片（群）は、情報のバイナリビットである
ことを特徴とする請求項５２に記載のコアエンジン。
【請求項５８】
イベント（群）の情報片（群）に対する制限された比率を考慮する前記コントローラは、イベント（群）の情報片（群）に対する平均の制限された比率を考慮することを含む
ことを特徴とする請求項５２に記載のコアエンジン。
【請求項５９】
イベント（群）の情報片（群）に対する前記制限された平均は、情報片あたり４イベントである
ことを特徴とする請求項５８に記載のコアエンジン。
【請求項６０】
前記コアプロセッサは、イベント（群）の情報ビット（群）に対する平均の制限された比率を用いて、前記情報シーケンスの中の０以上のスタッフィング情報片を識別する
ことを特徴とする請求項５８に記載のコアエンジン。
【請求項６１】
情報片（群）の数を追跡するための第一カウンタと、
イベント（群）の数を追跡するための第二カウンタと、
を更に備え、
前記第一及び第二カウンタは、イベント（群）の情報片（群）に対する制限された比率を考慮する際に用いられる、
ことを特徴とする請求項５２に記載のコアエンジン。
【請求項６２】
前記コアエンジンは、前記第一カウンタの値を前記第二カウンタの値と比較することにより前記制限された比率を考慮する
ことを特徴とする請求項６１に記載のコアエンジン。
【請求項６３】
少なくとも一つの情報片を含む一つの情報シーケンスを複数のイベントシーケンスを含む一つのイベントシーケンスへと変換するための算術的復号の方法であって、
前記情報シーケンスの少なくとも一つの情報片の受信と、
前記少なくとも一つのイベントのコンテクスト情報の生成と、
前記コンテクスト情報に対応した確率推定値の生成と、
前記少なくとも一つの受信された情報片及び前記確率推定値に応じた、イベント（群）の情報片（群）に対する制限された比率を考慮することによる、前記イベントシーケンスの０以上のイベントの生成と
を備えたことを特徴とする方法。
【請求項６４】
少なくとも一つの情報片の前記受信は、少なくとも一つの情報のバイナリビットの受信を含み、
０以上のイベントの前記生成は、０以上のバイナリイベントの生成を含む
ことを特徴とする請求項６３に記載の方法。
【請求項６５】
イベント（群）の情報片（群）に対する制限された比率への前記考慮は、イベント（群）の情報片（群）に対する平均の制限された比率への考慮を含む
ことを特徴とする請求項６３に記載の方法。
【請求項６６】
イベント（群）の情報片（群）に対する平均の制限された比率の前記考慮は、各々の情報片に対するイベントの数の追跡を含む
ことを特徴とする請求項６５に記載の方法。
【請求項６７】
各々の情報片のイベントの数の前記追跡は、各々の生成される情報片のイベントの数のカウンタを用いた追跡を含む
ことを特徴とする請求項６６に記載の方法。
【請求項６８】
カウンタを用いた各々の情報片のイベントの数の前記追跡は、一つのイベントが処理される時に前記カウンタを予め定められた加算値だけ加算することによる前記イベントの数の追跡を含む
ことを特徴とする請求項６７に記載の方法。
【請求項６９】
前記カウンタの予め定められた加算値による前記加算は、前記カウンタを１だけ加算することを含む
ことを特徴とする請求項６８に記載の方法。
【請求項７０】
各々の情報片のイベントの数の前記追跡は、一つの情報片が処理される時に前記予め定められた比率の値を前記カウンタレジスタから減算することを含む
ことを特徴とする請求項６７に記載の方法。
【請求項７１】
イベント（群）の情報片（群）に対する平均の比率の前記制限は、イベント（群）の情報片（群）に対する平均の比率を４の値に制限することを含む
ことを特徴とする請求項６５に記載の方法。
【請求項７２】
イベント（群）の情報片（群）に対する平均の制限された比率の前記考慮は、更に、イベント（群）の情報片（群）に対する平均の制限された比率を用いて、前記情報シーケンスの中の少なくとも一つのスタッフィング情報片を識別することを含む
ことを特徴とする請求項６５に記載の方法。
【請求項７３】
イベント（群）の情報片（群）に対する制限された比率の前記考慮は、第一カウンタを用いた情報片（群）の数の追跡と、
第二カウンタを用いたイベント（群）の数の追跡と、
前記第一カウンタの値の前記第二カウンタの値との比較と
を含むことを特徴とする請求項６３に記載の方法。
【請求項７４】
少なくとも一つの情報片を含む一つの情報シーケンスを複数のイベントを含む一つのイベントシーケンスへと変換するための、算術的デコーダを用いた算術的復号の方法であって、
前記情報シーケンスの少なくとも一つの情報片及び確率推定値の受信と、
前記情報片及び前記確率推定値に応じた０以上のイベントの生成と、
を備え、
前記生成は、
前記確率推定値を用いたある特定のイベント値に対するサブレンジ値の算出と、
前記少なくとも一つの情報片及び前記算出されたサブレンジ値に応じたレンジレジスタ及びバリューレジスタの少なくとも一方の調整と、
前記算出されたサブレンジ値と前記バリューレジスタとの間の比較に応じたイベントの放出と、
前記レンジレジスタの値が予め定められたレンジ値より大きい場合に、平均比率追跡のためのカウンタレジスタを予め定められた加算値だけ加算することと、前記レンジレジスタの前記値が前記予め定められたレンジ値以下である場合に、前記カウンタレジスタを予め定められた減算値だけ減算することと、によりイベント（群）の情報片（群）に対する平均比率を考慮することを含む、前記算術的デコーダの一部の再正規化と、
を含んでいる
ことを特徴とする方法。
【請求項７５】
前記カウンタレジスタの前記減算は、
前記カウンタレジスタの値が０より小さいか否かを決定することと、
前記カウンタレジスタの前記値が０より小さくない時に、前記バリューレジスタを倍加し、前記バリューレジスタに前記放出されたイベントの値を加算し、前記カウンタレジスタを前記予め定められた減算値だけ減算することと、
前記カウンタレジスタの前記値が０より小さい時に、前記レンジレジスタを倍加し、前記バリューレジスタを倍加し、前記バリューレジスタに前記放出されたイベントの値を加算し、前記カウンタレジスタを前記予め定められた減算値だけ減算することと、
を含むことを特徴とする請求項７４に記載の方法。
【請求項７６】
前記少なくとも一つのイベントの前記受信は、少なくとも一つのバイナリイベントの受信を含み、
０以上の情報片の前記生成は、０以上のバイナリビットの生成を含む
ことを特徴とする請求項７４に記載の方法。
【請求項７７】
一つのビデオ信号を、少なくとも一つの情報片を含む一つの情報シーケンスへと符号化するためのビデオ符号化システムであって、
前記ビデオ信号を、当該ビデオ信号を表す複数のイベントを含むイベントシーケンスへと変換するビデオプロセッサと、
前記イベントシーケンスの少なくとも一つのイベント及び当該少なくとも一つのイベントの確率推定値を受信するための、並びに、イベント（群）の情報片（群）に対する平均の比率を制限することにより前記受信イベント及び前記確率推定値に応じて前記情報シーケンスの０以上の片を生成するための、コントローラを有するコアエンジンを含み、前記イベントシーケンスを前記情報シーケンスへと変換するために前記ビデオプロセッサと通信するエンコーダと
を備えたことを特徴とするシステム。
【請求項７８】
少なくとも一つの情報片を含む一つの情報シーケンスを一つのビデオ信号へと復号するためのビデオ復号システムであって、
前記情報シーケンスの少なくとも一つの情報片及び確率推定値を受信するため、並びに、イベント（群）の情報片（群）に対する平均の制限された比率を考慮することにより前記少なくとも一つの情報片及び確率シーケンスに応じて前記イベントシーケンスの０以上のイベントを生成するためのコントローラを有し、前記情報シーケンスを複数のイベントを含む一つのイベントシーケンスへと変換するためのデコーダと、
前記イベントシーケンスを前記ビデオ信号へと変換するために前記デコーダと通信するビデオプロセッサと
を備えたことを特徴とするシステム。
【請求項７９】
イベント（群）の情報片（群）に対する制限された比率を考慮する前記ビデオコントローラ信号は、イベント（群）の情報片（群）に対する平均の比率のカウンタを用いての追跡を含み、各々の処理されるイベントに対して前記カウンタは加算値だけ加算される
ことを特徴とする、請求項７８に記載のビデオ復号システム。
【請求項８０】
イベント（群）の情報片（群）に対する制限された比率を考慮する前記コントローラは、情報片の数を追跡するための第一カウンタ、及び、イベントの数を追跡するための第二カウンタを用いて、前記第一カウンタの値を前記第二カウンタの値と比較しての、イベント（群）の情報片（群）に対する平均の比率の追跡を含む
ことを特徴とする請求項７８に記載のビデオ復号システム。
【請求項８１】
前記ビデオ信号は、ビデオイメージを表す複数のサンプルを含み、
前記イベントシーケンスを前記ビデオ信号へと変換する前記ビデオプロセッサは、前記イベントシーケンスを前記複数のサンプルへ変換することを含む
ことを特徴とする請求項７８に記載のビデオ復号システム。
【請求項８２】
前記ビデオ信号は、ビデオイメージを表す複数のサンプルブロックを含み、
前記イベントシーケンスを前記ビデオ信号へと変換する前記ビデオプロセッサは、前記イベントシーケンスを前記複数のサンプルブロックへ変換することを含む
ことを特徴とする請求項７８に記載のビデオ復号システム。
【請求項８３】
前記サンプルブロック（群）は、１６×１６サンプル、８×８サンプル、及び、４×４サンプルの少なくとも一つを含む
ことを特徴とする請求項８２に記載のビデオ復号システム。
【請求項８４】
一つのイベントシーケンスから算術的エンコーダによって生成される情報片（群）の一つのシーケンスであって、イベント（群）の情報片（群）に対する比率が予め定められた比率によって制限されるように、０以上のスタッフィング情報片を含む
ことを特徴とする情報片（群）のシーケンス。
【請求項８５】
前記予め定められたイベント（群）の情報片（群）に対する比率は、４である
ことを特徴とする請求項８４に記載の情報片（群）のシーケンス。
【請求項８６】
前記情報片（群）のシーケンスは、バイナリイベント（群）のシーケンスから算術的エンコーダによって生成されるビット（群）のシーケンスであって、当該シーケンスのビット（群）の数に対するバイナリイベント（群）の比率が予め定められた比率によって制限されるように、０以上のスタッフィングビット（群）を含む
ことを特徴とする請求項８４に記載の情報片（群）のシーケンス。
【請求項８７】
前記情報片（群）及び前記０以上のスタッフィング片は、Ｍ−ａｒｙである
ことを特徴とする請求項８４に記載の情報片（群）のシーケンス。
【請求項８８】
各々のイベントシーケンスが複数のイベントを含むとして、少なくとも一つのイベントシーケンスを、各々の情報シーケンスが少なくとも一つの情報片を含むとして、少なくとも一つの情報シーケンスへと変換するためのエントロピーコーダであって、
少なくとも一つのイベントシーケンスの少なくとも一つのイベントに応じて少なくとも一つの情報シーケンスの０以上の情報片を生成するための算術的エンコーダと、
少なくとも一つのイベントシーケンスの中のイベント（群）の数を、少なくとも一つの情報シーケンスの中の生成された情報片（群）の数の関数として制限するために前記算術的エンコーダと接続されたコントローラと
を備えたことを特徴とするエントロピーコーダ。
【請求項８９】
少なくとも一つのイベントシーケンスが複数のセグメントに分割された入力データを表し、
情報片（群）の数の関数としてイベント（群）の数を制限する前記コントローラは、少なくとも一つのイベントシーケンスの中のイベントの最大数を、
少なくとも一つの情報シーケンスの中の生成情報片の数と、
セグメントの数と
を含む一次結合の関数として制限するコントローラを含む
ことを特徴とする請求項８８に記載のエントロピーコーダ。
【請求項９０】
前記コントローラは、少なくとも一つの情報シーケンスの中に０以上のスタッフィング片を生成することにより、少なくとも一つのイベントシーケンスのイベントの数を少なくとも一つの情報シーケンスの情報片の数へと制限する
ことを特徴とする請求項８９に記載のエントロピーコーダ。
【請求項９１】
前記入力データは、ビデオデータである
ことを特徴とする請求項８９に記載のエントロピーコーダ。
【請求項９２】
各々のセグメントは、前記入力データの１６×１６サンプルのブロックを含む
ことを特徴とする請求項９１に記載のエントロピーコーダ。
【請求項９３】
前記コントローラは、少なくとも一つの情報シーケンスの中に０以上のスタッフィング片を生成することにより、少なくとも一つのイベントシーケンスのイベントの数を少なくとも一つの情報シーケンスの情報片の数へと制限する
ことを特徴とする請求項８８に記載のエントロピーコーダ。
【請求項９４】
前記情報片（群）及び前記イベント（群）の少なくとも一つがＭ−ａｒｙである
ことを特徴とする請求項８８に記載のエントロピーコーダ。
【請求項９５】
各々のイベントシーケンスが複数のイベントを含むとして、少なくとも一つのイベントシーケンスを、各々の情報シーケンスが少なくとも一つの情報片を含むとして、少なくとも一つの情報シーケンスへと変換するための方法であって、
少なくとも一つのイベントシーケンスの少なくとも一つのイベントに応じての、少なくとも一つの情報シーケンスの０以上の情報片の生成と、
少なくとも一つのイベントシーケンスの中のイベントの数の、少なくとも一つの情報シーケンスの中の生成された情報片の数の関数としての制限と
を備えたことを特徴とする方法。
【請求項９６】
少なくとも一つのイベントシーケンスが複数のセグメントに分割された入力データを表し、
前記制限は、少なくとも一つのイベントシーケンスの中のイベントの最大数を、
少なくとも一つの情報シーケンスの中の生成情報片の数と、
セグメントの数と
を含む一次結合の関数として制限することを含む
ことを特徴とする請求項９５に記載の方法。
【請求項９７】
入力データを、各々の情報シーケンスが少なくとも一つの情報片を含むとして、少なくとも一つの情報シーケンスへと変換するためのエンコーダであって、
入力データを、各々のイベントシーケンスが複数のイベントを含むとして、少なくとも一つのイベントシーケンスへと変換するためのプロセッサと、
少なくとも一つのイベントシーケンスの少なくとも一つのイベントに応じて少なくとも一つの情報シーケンスの０以上の情報片を生成するための算術的エンコーダと、
少なくとも一つのイベントシーケンスの中のイベント（群）の数を、少なくとも一つの情報シーケンスの中の生成された情報片（群）の数の関数として制限するために前記算術的エンコーダと接続されたコントローラと
を備えたことを特徴とするエンコーダ。
【請求項９８】
前記コントローラは、少なくとも一つの情報シーケンスの中に０以上のスタッフィング片を生成することにより、少なくとも一つのイベントシーケンスのイベントの数を少なくとも一つの情報シーケンスの情報片の数へと制限する
ことを特徴とする請求項９７に記載の符号化装置。
【請求項９９】
前記プロセッサは、前記入力データを複数のセグメントへと分割し、
情報片（群）の数の関数としてイベント（群）の数を制限する前記コントローラは、少なくとも一つのイベントシーケンスの中のイベントの最大数を、
少なくとも一つの情報シーケンスの中の生成情報片の数と、
セグメントの数と
を含む一次結合の関数として制限するコントローラを含む
をことを特徴とする請求項９７に記載の符号化装置。
【請求項１００】
前記算術的エンコーダ及び前記コントローラは、エントロピーエンコーダを構成し、
前記エントロピーエンコーダは、前記プロセッサと接続され、少なくとも一つの情報シーケンスの中の生成された情報片の数に関する情報を前記プロセッサへと伝送することが可能である
ことを特徴とする請求項９９に記載の符号化装置。
【請求項１０１】
前記プロセッサは、前記エントロピーエンコーダから受信される前記情報に応じて少なくとも一つのイベントシーケンスのイベントの比率を低減することが可能である
ことを特徴とする請求項１００に記載の符号化装置。
【請求項１０２】
前記入力データは、ビデオデータである
ことを特徴とする請求項９９に記載の符号化装置。
【請求項１０３】
各々のセグメントは、１６×１６サンプルの一つのブロックを含む
ことを特徴とする請求項１０２に記載の符号化装置。
【請求項１０４】
前記コントローラは、少なくとも一つの情報シーケンスの中に０以上のスタッフィング片を生成することにより、少なくとも一つのイベントシーケンスのイベントの数を少なくとも一つの情報シーケンスの情報片の数へと制限する
ことを特徴とする請求項９９に記載の符号化装置。
【請求項１０５】
前記情報片（群）及び前記イベント（群）の少なくとも一つがＭ−ａｒｙである
ことを特徴とする請求項９７に記載のエントロピーエンコーダ。
【請求項１０６】
各々のイベントシーケンスが複数のイベントを含むとして、エントロピーエンコーダにおいて少なくとも一つのイベントシーケンスから生成される情報片（群）のシーケンスであって、前記情報シーケンスのシーケンスの中の情報片の数が、少なくとも一つイベントシーケンスの中のイベントの最大数を、前記情報片（群）のシーケンスの中の生成情報片（群）の数及びセグメントの数を含む一次結合の関数として制限するために用いられる
ことを特徴とする情報片（群）のシーケンス。
【請求項１０７】
前記情報片（群）のシーケンスは、少なくとも一つイベントシーケンスの中のイベントの最大数の前記制限が満たされるように、０以上のスタッフィング情報片を含む
ことを特徴とする請求項１０６に記載の情報片（群）のシーケンス。
【請求項１０８】
前記情報片（群）及び前記イベント（群）の少なくとも一つがＭ−ａｒｙである
ことを特徴とする請求項１０６に記載の情報片（群）のシーケンス。
【発明の詳細な説明】
【関連する出願】
【０００１】
本特許出願は、「算術的符号化器の計算量の抑制」と題された、Frank Bossenによる、２００２年４月２３日に出願された米国仮特許出願第６０／３７４，７７０号の優先権を主張するものであり、当該仮特許出願は引用によって本願に組み込まれる。
【発明の背景】
【０００２】
本出願は、データ処理に関しており、特には、計算量限界を低減した態様でのデータシーケンスの符号化、及び、復号に関している。
【０００３】
ある一連のデータ（即ち、バイナリ（２値）またはＭ−ａｒｙ（多値）の情報）を第一拠点から第二拠点へと伝送するために圧縮することは、一般的である。例えば、第一拠点においてビデオデータが生成され得る。ここで、前記データは、テレビ会議通話（コール）を表す。当該データは、典型的には、一連のイベント（即ち、バイナリイベント）へと変換される。当該一連のイベントを第二拠点へと配信するためには、第二拠点へのイベントシーケンスの伝送のために必要な時間を削減するために、当該一連のイベントを一連の情報へと圧縮し、または、符号化することが望ましい。算術的符号化器（算術的エンコーダ）が、第二拠点への伝送のために、当該一連のイベント（即ち、バイナリイベント）を情報片群の情報シーケンス（即ち、情報のバイナリビット）へと圧縮するのに典型的に用いられる。当該情報シーケンスの圧縮又は符号化の効率が高いほど、当該情報シーケンスの第二拠点への伝送速度が大きくなる。
【０００４】
圧縮は、符号化されるイベントごとに１より小さい情報片を生成することにより実現されて、符号化される情報片群に対するイベント群の比率は、当該イベント群の確率分布に応じて、６４：１または１２８：１にまで達し得る。算術的符号化器（算術的デコーダ）が、第二拠点において前記情報シーケンスを前記イベントシーケンスへと復号するために用いられて、従って、テレビ会議通話を表すビデオデータが第二拠点に居る人物へと表示され得る。
【０００５】
データ圧縮は、他の目的にもまた利用される。そのような利用の一つは、イベントシーケンスを記憶するための記憶媒体のある容量において、ビデオ画質を向上することであり得る。この例において、エンコーダは、ビデオ（即ち、ある動画を表す）を、その後の時間における再生のために、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）またはデジタルビデオディスク読取専用メモリ（ＤＶＤ−ＲＯＭ）、もしくは、光学式、磁気式または他の方式を含む他のあらゆる記憶媒体へと記憶するために用いられ得る。前述のように、イベントの符号化された情報片に対する比率は、当該イベント群の確率分布に応じて、６４：１または１２８：１にまで達し得る。その後の時間において、当該情報シーケンスを当該イベントシーケンスへと復号するためにデコーダが用いられて、これによって、当該ビデオまたは他のデータが使用されることが可能となる。
【０００６】
しかし、エンコーダにおける符号化効率が上昇するに従って、ある長さの一連の情報片群をイベントシーケンスへと復号するためにより多くの量の処理（即ち、復号処理）がデコーダにおいて要求される。このような増加した処理は、特にイベントシーケンスがリアルタイム形式で提供されることが望まれる場合に、弊害をもたらす。例えば、イベントシーケンスがビデオを表す場合、リアルタイムとは、ある時間枠（即ち、１秒間）のビデオを表す情報シーケンスについて、デコーダが当該情報シーケンスを受信して当該情報シーケンスを対応するイベントシーケンスへと当該時間枠の中で復号することが可能である、ということを示す。時には、そのようなリアルタイム処理は、従来のエンコーダで用いられる効率向上の手法では達成不可能である。
【０００７】
本発明は、前述の問題の一つ以上を、新規かつ単純な方法で解決することを目的としている。
【発明の簡単な要約】
【０００８】
本発明によれば、エンコーダ及びデコーダにおける計算量限界を削減するためのシステム及び方法が提供される。
【０００９】
本発明は一つの観点から見ると、複数のイベントを含む一つのイベントシーケンスを、少なくとも一つの情報片を含む一つの情報シーケンスへと算術的に符号化するためのシステム及び方法についてのものであり、前記イベントシーケンスのイベント群を受信するための少なくとも一つの入力ポートと少なくとも一つの出力ポートとをも含んでいる。シーケンサは、前記少なくとも一つの入力ポートおよび前記少なくとも一つの出力ポートと接続されており、受信されたイベントの少なくとも一つのコンテクスト情報を生成するための一つのコンテクスト生成器を含んでいる。確率推定器は、前記イベントシーケンスの一つのイベント及び対応するコンテクスト情報を前記シーケンサから受信し、さらに、前記イベントがある特定の値を有することの確率推定値を生成するために、前記シーケンサと接続されている。コアエンジンは、前記シーケンサから前記イベントシーケンスの前記イベントを、前記確率推定器から前記確率推定値を、それぞれ受信するために前記シーケンサ及び前記確率推定器と接続されており、前記受信イベント及び確率推定値に応じて前記情報シーケンスの０以上の片をイベントの情報片に対する比率（イベントから情報片に変換する比率））を制限しつつ生成し、更に、前記情報シーケンスの前記０以上の情報片を前記シーケンサへ提供する。シーケンサでは、生成された情報片は、前記少なくとも一つの出力ポートにおいて前記情報シーケンスとして提供される。
【００１０】
本発明の更なる実施の形態によれば、前記イベントシーケンスの前記イベント（群）はバイナリイベント（群）であり、前記情報シーケンスの前記情報片（群）は情報のバイナリビット（群）である。本特徴による別の実施の形態によれば、イベント（群）の情報片（群）に対する比率を制限する前記コアプロセッサは、イベント（群）の情報片（群）に対する平均比率を制限することを含んでいる。更なる実施の形態によれば、前記コアプロセッサは、イベント（群）の情報片（群）に対する平均比率を予め定められた比率の値へと制限するために用いられる、各々の情報片のイベントの数を追跡（把握）するための一つのカウンタレジスタを持つ。更なる実施の形態によれば、前記コアプロセッサは、イベント（群）の情報片（群）に対する比率が前記予め定められた比率の値を超える場合、情報シーケンスの中に少なくとも一つのスタッフィング情報片を生成する。
【００１１】
本発明の別の特徴によれば、少なくとも一つの情報片を含む一つの情報シーケンスを複数のイベントを含む一つのイベントシーケンスへと変換するための、前記情報シーケンスの情報片を受信するための少なくとも一つの入力ポートと少なくとも一つの出力ポートとを含む、算術的デコーダ及び方法が提供されている。シーケンサは、前記少なくとも一つの入力ポート及び前記少なくとも一つの出力ポートと接続され、少なくとも一つの生成（された）イベントのコンテクスト情報を生成するための一つのコンテクスト生成器を含んでいる。確率推定器は、イベントシーケンスの中の生成されたイベント及び対応するコンテクスト情報を受信するために、及び、確率推定値を決定するために、前記シーケンサと接続されている。コアエンジンは、前記確率推定値に応じて前記シーケンサからの前記情報シーケンスの０以上の情報片を処理して、イベント（群）の情報片（群）に対する制限された比率を考慮して一つのイベントを生成するために、前記シーケンサ及び前記確率推定器と接続されている。ここで、前記生成イベントは、前記確率推定値を更新するために前記シーケンサから得られた対応するコンテクスト情報と共に前記確率推定器へと提供され、また、前記生成イベントは、前記少なくとも一つの出力ポートからの前記イベントシーケンスとしての伝送のために前記シーケンサへと提供される。
【００１２】
本特徴による一実施の形態によれば、前記情報シーケンスの前記少なくとも一つの情報片は、バイナリビットであり、前記イベントシーケンスの前記イベントは、バイナリイベントである。更なる実施の形態によれば、イベント（群）の情報片（群）に対する制限された比率を考慮して少なくとも一つのイベントを生成する前記コアエンジンは、イベント（群）の情報片（群）に対する平均の制限された比率を考慮して少なくとも一つのイベントを生成する前記コアエンジンを含んでいる。別の更なる実施の形態によれば、前記コアプロセッサは、イベント（群）の情報片（群）に対する平均の制限比率が予め定められた平均の比率の値であることを考慮するために用いられる、情報片に対するイベントの数を追跡するためのカウンタレジスタを持つ。更なる実施の形態によれば、前記コアエンジンは、情報シーケンスの中のスタッフィング情報片を識別するために、前記カウンタレジスタを利用する。
【００１３】
本発明の更なる特徴によれば、コアエンジンは、複数のイベントを含む一つのイベントシーケンスを少なくとも一つの情報片を含む一つの情報シーケンスへと変換するために提供されており、前記イベントシーケンスの少なくとも一つのイベント及び前記少なくとも一つのイベントの確率推定値を受信するための、並びに、イベント（群）の情報片（群）に対する前記比率を制限することにより前記受信イベント及び前記確率推定値に応じて情報シーケンスの０以上の片を生成するための、コントローラを含んでいる。
【００１４】
本発明の別の特徴によれば、コアエンジンは、少なくとも一つの情報片を含む情報シーケンスを複数のイベントを含むイベントシーケンスへと変換するために提供されており、前記情報シーケンスの少なくとも一つの情報片及び確率推定値を受信するための、並びに、イベント（群）の情報片（群）に対する制限比率を考慮して前記少なくとも一つの情報片及び前記確率推定値に応じて前記イベントシーケンスの０以上のイベントを生成するための、コントローラを含んでいる。
【００１５】
本発明の更に別の特徴によれば、一連の情報片（群）は、一連のイベント（群）から算術的エンコーダによって生成され、イベント（群）の情報片（群）に対する比率が予め定められた比率によって制限されていることを示すような０以上のスタッフィング情報片を含んでいる。
【００１６】
本発明の別の特徴によれば、各々のイベントシーケンスが少なくとも一つのイベントを含むとして、少なくとも一つのイベントシーケンスを、各々の情報シーケンスが少なくとも一つの情報片を含むとして、少なくとも一つの情報シーケンスへと変換するためのエントロピーコーダは、少なくとも一つのイベントシーケンスの少なくとも一つのイベントに応じて少なくとも一つの情報シーケンスの０以上の情報片を生成するための一つの算術的エンコーダを持つ。前記エントロピーエンコーダは、更に、少なくとも一つのイベントシーケンスの中のイベントの数を、少なくとも一つの情報シーケンスの中の生成された情報片の数の関数として制限するための、前記算術的エンコーダと接続された一つのコントローラを持つ。本特徴による一実施の形態によれば、少なくとも一つのイベントシーケンスが複数のセグメントに分割された入力データを表し、前記コントローラが、少なくとも一つのイベントシーケンスの中のイベントの最大数を、少なくとも一つの情報シーケンスの中の生成情報片の数とセグメントの数とを含む一次結合の関数として制限することにより、情報片群の数の関数としてイベントの数を制限する。更なる実施の形態において、前記エントロピーエンコーダは、入力データを前記少なくとも一つのイベントシーケンスへと変換するための一つのプロセッサと接続されており、前記エントロピーエンコーダは、少なくとも一つの情報シーケンスの生成情報片群の数に関する情報を前記プロセッサへと伝送することが可能である。更なる実施の形態において、前記プロセッサは、前記エントロピーエンコーダから受信された情報に応じて少なくとも一つイベントシーケンスのイベント比率を低減することが可能である。
【００１７】
本発明の別の特徴によれば、各々のイベントシーケンスが複数のイベントを含むとして、一連の情報片（群）がエントロピーエンコーダにおいて少なくとも一つのイベントシーケンスから生成され、ここで前記情報片のシーケンスの中の情報片の数が、少なくとも一つイベントシーケンスの中のイベントの最大数を、前記情報片（群）のシーケンスの中の生成情報片（群）の数及びセグメントの数を含む一次結合の関数として制限するために用いられる。
【本発明の詳細な説明】
【００１８】
本発明の一実施の形態によれば、複数のイベントを含む一つのイベントシーケンスを少なくとも一つの情報片を含む一つの情報シーケンスへと変換するために、前記イベントシーケンスのイベントを受信するための少なくとも一つの入力ポート、及び、少なくとも一つの出力ポートを含む算術的エンコーダが提供されている。一つのシーケンサが、前記少なくとも一つの入力ポート及び前記少なくとも一つの出力ポートと接続されて、前記受信イベントの少なくとも一つのコンテクスト情報を生成するための一つのコンテクスト生成器を含んでいる。前記イベントシーケンスの一つのイベント及び対応するコンテクスト情報を前記シーケンサから受信するために、及び、前記イベントがある特定の値をもつ確率の推定値を生成するために、前記シーケンサに接続された確率推定器が提供されている。前記シーケンサから前記イベントシーケンスの前記イベントを受信し、かつ、前記確率推定器から前記確率推定値を受信して、前記受信イベントおよび前記確率推定値に応じて前記情報シーケンスの０以上の片を生成するために、コアエンジンが、前記シーケンサ及び前記確率推定器に接続されている。前記コアエンジンは、イベント（群）の情報片（群）に対する比率を制限し得て、前記情報シーケンスの前記０以上の情報片を前記シーケンサへと提供する。前記生成された情報片（群）は、前記少なくとも一つの出力ポートにおいて前記情報シーケンスとして提供される。
【００１９】
本発明による別の実施の形態によれば、少なくとも一つの情報片を含む一つの情報シーケンスを複数のイベントを含む一つのイベントシーケンスへと変換するための、前記情報シーケンスの情報片（群）を受信するための少なくとも一つの入力ポートと、少なくとも一つの出力ポートと、前記少なくとも一つの入力ポート及び前記少なくとも一つの出力ポートと接続されて少なくとも一つの生成イベントのコンテクスト情報を生成するための一つのコンテクスト生成器を含む一つのシーケンサとを含む、算術的デコーダもまた提供される。前記確率推定器は、前記イベントシーケンスの一つの生成イベント及び対応するコンテクスト情報を受信するために、及び、確率推定値を決定するために、前記シーケンサと接続されている。コアエンジンは、前記確率推定値に応じて前記シーケンサからの前記情報シーケンスの０以上の情報片を処理して、イベント（群）の情報片（群）に対する制限された比率を考慮して一つのイベントを生成するために、前記シーケンサ及び前記確率推定器と接続されている。前記生成イベントは、前記確率推定値を更新するために前記シーケンサから対応するコンテクスト情報と共に前記確率推定器へと提供され、前記生成イベントは、前記少なくとも一つの出力ポートからの前記イベントシーケンスとしての伝送のために前記シーケンサへと提供される。
【００２０】
イベント（群）の情報片（群）に対する比率を制限し前記イベントシーケンスを前記情報シーケンスへと符号化する前記算術的エンコーダを有することにより、前記イベントシーケンスのリアルタイムでの利用を可能とする形式での一連のデータ（即ち、バイナリまたはM−ａｒｙのイベント）の圧縮が可能となる。更に、イベント（群）の情報片（群）に対する比率を制限して、生成された情報シーケンスの計算量を低減することにより、限定的な処理能力を持つデコーダ（例えば、携帯デコーダ）が、潜在的にリアルタイム処理機能を維持して、あるいは、少なくともこのようなデコーダが復号処理を実施する間に当該情報の利用者をかなりの時間待たせる必要なく、前記情報シーケンスをその対応するイベントシーケンスへと復号することが可能となる。
【００２１】
同様に、情報片あたりのイベントの制限された比率を考慮して前記情報シーケンスをイベントシーケンスへと復号するデコーダを提供することは、例えばテレビ会議通話の間のような、イベントシーケンスのリアルタイムでの利用を提供し、或いは、例えば映画のようなビデオ情報をＤＶＤ−ＲＯＭから読出して使用するために当該ビデオデータを処理するといった、記憶媒体からの情報の読出し及び処理を提供する。
【００２２】
本発明による別の実施の形態によれば、各々のイベントシーケンスが複数のイベントを含むとして、少なくとも一つのイベントシーケンスを、各々の情報シーケンスが少なくとも一つの情報片を含むとして、少なくとも一つの情報シーケンスへと変換するためのエントロピーコーダが提供され、それは、少なくとも一つのイベントシーケンスの少なくとも一つのイベントに応じて少なくとも一つの情報シーケンスの０以上の情報片を生成するための一つの算術的エンコーダを含んでいる。前記エントロピーエンコーダは、更に、少なくとも一つのイベントシーケンスの中のイベントの数を、少なくとも一つの情報シーケンスの中の生成された情報片の数の関数として制限するために、前記算術的エンコーダと接続された一つのコントローラを含んでいる。前記少なくとも一つのイベントシーケンスが複数のセグメントに分割された入力データを表し得て、前記コントローラが、少なくとも一つの情報シーケンスの中の生成情報片の数とセグメント数とを含む一次結合の関数として少なくとも一つのイベントシーケンスの中のイベントの最大数を制限することにより、情報片（群）の数の関数としてイベントの数を制限する。前記エントロピーエンコーダは、入力データを前記少なくとも一つのイベントシーケンスへと変換するための一つのプロセッサと接続され得て、前記エントロピーエンコーダは、少なくとも一つの情報シーケンスの生成情報片（群）の数に関する情報を前記プロセッサへと伝送することが可能である。更に、前記プロセッサは、前記エントロピーエンコーダから受信された情報に応じて少なくとも一つイベントシーケンスのイベント比率を低減することが可能であり得る。
【００２３】
一つの情報シーケンス内の生成情報片の数の関数として一つのイベントシーケンス内のイベントの数を制限することが可能なエントロピーエンコーダを有することは、セグメント群毎の情報片の最大数を考慮する一方で、先行技術の符号化器（エンコーダ）と比較してビデオ符号化品質を維持した状況で、ビデオデータが確実に復号されることを可能とし得る。加えて、前記エンコーダが計算量閾値が間もなく上回られるという指示を受信すると、前記エンコーダは、例えば、入力データの次のセグメントのイベントをより少なく生成して、次のセグメントの制限閾値が上回られる確率を低減し得る。更に、前記コントローラが、前記制限閾値が上回られた場合にスタッフィングビットの付加を始動させることが可能であるため、前記プロセッサは、当該プロセッサが計算量制限を考慮する必要がないまたは取り扱う必要がないというように具備され得る。前記エンコーダ及び前記デコーダは、例えば、ビデオプロセッサ（即ち、ビデオコーデック）で生成されるようなビデオデータを処理するのに用いられ得る。前記ビデオプロセッサの例では、あるビデオ画像が記録されて、当該記録画像の１６×１６、８×８、または、４×４のサンプルを表し得るデータのサンプルブロックへと分割される。前記ブロックは、続いて、前記ビデオプロセッサ（即ち、離散コサイン変換を用いる）により変換され、量子化されて前記サンプルブロックを表す整数値を得る。この整数値は、ビデオプロセッサによりイベントシーケンス（即ち、バイナリイベント）に変換されて、符号化のためにエンコーダに伝送される。あるいは、前記ビデオプロセッサは、個別のサンプルに直接的に作用し得て、それらを変換し量子化して、前記サンプルの特定の量子化された整数値を一連のイベントへと変換し得る。
【００２４】
ここで論じられたエンコーダ及びデコーダの一つの利用法は、ビデオデータを符号化し復号することであるが、当該技術に精通した者であれば認識するであろうように、ここで開示されたエンコーダ及びデコーダは、エンコーダについては一連のイベントシーケンスが一つの情報シーケンスへと圧縮されて、デコーダについてはそのような一つの情報シーケンスが復元される、というあらゆる状況において利用され得る。更に、エンコーダに係わる以下の議論が、複数のバイナリイベントを含む一連のイベントシーケンスを少なくとも一つの情報バイナリビットを含む一つの情報シーケンスへと処理することに関連しており、デコーダに関しては、少なくとも一つの情報バイナリビットを含む一連の情報シーケンスを複数のバイナリイベントを含む一連のイベントシーケンスへと処理することに関連しているものの、エンコーダ及びデコーダは、Ｍ−ａｒｙであるという特徴を持つ（即ち、各々のＭ−ａｒｙイベントは１より大きいビットのデータを表す）イベントを含むイベントシーケンス（群）及び情報シーケンス（群）に対しても、ここで示された教示を用いることにより、当該技術に精通した者によって理解されるであろうように、機能し得る。
【００２５】
図１は、本発明の一実施の形態による算術的エンコーダ１００のブロック図を示す。前記算術的エンコーダ１００は、シーケンサ１０５、確率推定器１１０及びコアエンジン１１５を含んでおり、これらはそれぞれ互いに接続されている。一つ以上の入力データ回線１２０が、一連のイベントシーケンス１２５、ここでは順序立てられた一連のバイナリイベントシーケンス、を受信するための入力ポートをエンコーダ１００へと提供する。シーケンスのバイナリイベント１２５は、値「Ａ」または値「Ｂ」を有し得る。当該イベントシーケンスは、少なくとも一つの情報片を含む順序立てられたシーケンスである情報シーケンス、ここではバイナリビット、を生成するために、後述のように、エンコーダによって処理される。ここで、情報シーケンスの中の情報片の数は、イベントシーケンスの中のイベントの数よりも小さい。出力データ回線１３０が、エンコーダ１００からの情報シーケンス１３５を伝送するための出力ポートを提供する。情報シーケンスの順序立てられたバイナリビットシーケンスは、「０」または「１」の値を有する一つ以上のビットを含んでいる。
【００２６】
前記順序立てられたバイナリイベントシーケンス１２５を受信すると、シーケンサ１０５は、イベント伝送回線１４０及び１４５を介して、確率推定器１１０及びコアエンジン１１５の双方へとそれぞれ順次当該イベント群１２５を伝送する。イベントシーケンス１２５の各々のバイナリイベントについて、シーケンサ１０５は、また、確率推定器１１０へと当該バイナリイベントのコンテクスト情報をコンテクスト伝送回線１５０を介して伝送する。確率推定器１１０は、コンテクスト伝送回線１５０を介して受信したコンテクスト情報を用いて、確率伝送回線１５５を介してコアエンジン１１５へと伝送される確率推定値Ｐ（Ａ）を生成する。確率推定器１１０は、続いて、バイナリイベント伝送回線１４０を介して受信したバイナリイベントの値に基づいて内部状態を更新する。コアエンジン１１５は、イベント伝送回線１４５を介して受信したバイナリイベント、及び、確率伝送回線１５５を介して受信した対応する確率推定値Ｐ（Ａ）を用いて、詳細が後述されるように、イベント（群）の情報ビット（群）に対する比率を制限しつつ、０以上の情報ビットを生成する。
【００２７】
シーケンサ１０５は、イベントシーケンス１２５の第一のバイナリイベントを受信すると、初期化回線１８５及び１９０を介して、初期化信号を確率推定器１１０及びコアエンジン１１５へとそれぞれ伝送する。
【００２８】
ビット伝送回線１５８を通じた伝送のための０以上の情報ビットを生成する際に、コアエンジン１１５は、レンジレジスタ１６５、ロウレジスタ１７０、ビットアウトスタンディングレジスタ１７５及びカウンタレジスタ１８０を含む多様なレジスタを用いる。エンコーダ１００の動作は、図２−図６のフロー図に関連して記述されている。
【００２９】
図２は、シーケンサ１０５から初期化信号を受信した際のコアエンジン１１５の動作を表すフロー図を示している。図２のフロー図に示されているように、コアエンジン１１５は、ステップ２０５に示されるように、例えば、１６進数（Ｈ）で８０００の値に、レンジレジスタ１６５を初期化する。コアエンジン１１５は、また、ロウレジスタ１７０、ビットアウトスタンディングレジスタ１７５及びカウンタレジスタ１８０の各々を、ステップ２１０，２１５及び２２０に示されるように、例えば０の値へと、それぞれ初期化する。
【００３０】
初期化の後、イベントシーケンス１２５の一つのバイナリイベントを受信すると、コアエンジンは、本発明の一実施の形態による図３のフロー図に示された通りに動作する。
【００３１】
図３のステップ３０５に示されるように、コアエンジン１１５は、ある特別なイベント値、例えばイベント値「Ａ」、のサブレンジ値Ｒ（Ａ）を、レンジレジスタ１６５の現在値及び確率伝送回線１５５を介して受信した当該特別なイベント値の確率推定値を用いて算出する。ここで、サブレンジ値Ｒ（Ａ）は、レンジレジスタ値「Ｒ」を確率推定値Ｐ（Ａ）で乗算することにより算出される。ステップ３１０に示されるように、コアエンジン１１５のコンパレータ（図示されず）は、イベント伝送回線１４５を介して受信されたバイナリイベントの値「Ｘ」を確率値Ｐ（Ａ）が生成されたところの前記特定のイベント値Ａと比較する。受信したイベント値ＸがＡと等しい場合、レンジレジスタ１６５は、ステップ３１５に示されるように、サブレンジ値Ｒ（Ａ）に設定される（即ち、Ｒ（Ａ）の値がレンジレジスタ１６５に記憶される）。しかし、ステップ３１０において受信イベント値ＸがイベントＡと等しくない場合、ステップ３２０に示されるように、サブレンジＲ（Ａ）がレンジレジスタ１６５の値Ｒから差し引かれ、結果値がレンジレジスタ１６５に記憶される。ロウレジスタ１７０の値Ｌは、ステップ３２５に示されるように、サブレンジ値Ｒ（Ａ）と合算されてロウレジスタ１７０に記憶される。ステップ３１５においてレンジレジスタ１６５の値を、または、ステップ３２５においてロウレジスタ１７０の値を再計算する際に、ステップ３３０に示されて本発明の一実施の形態による図４のフロー図に関連して更に記述されるように、コアエンジンは再正規化ルーチンを呼び出す。
【００３２】
図４に示されるように、再正規化は、レンジレジスタ１６５の値が予め定められたレンジ値、ここではステップ４０５に示されるように４０００Ｈ、と比較されて開始する。レンジレジスタ１６５の値Ｒが４０００Ｈより大きい場合、カウンタレジスタは、ここではステップ４１０に示されるように、予め定められた加算値、１だけ加算される。ステップ４０５でコアエンジン１１５において値Ｒが４０００Ｈ以下であると判断された場合、ステップ４１５に示されるように、ロウレジスタ１７０の値Ｌとレンジレジスタ１６５の値Ｒとは、合算され、値８０００Ｈと比較される。合算値が８０００Ｈ以下である場合、「０」と等しいパラメータＢをもち、ステップ４２０に示されて、後に詳述される、ビットプラスフォロールーチンが呼び出される。ロウレジスタの値は、続いて、ステップ４２５に示されるように倍化され、カウンタレジスタ１８０の値Ｃは、ステップ４３０に示されるように０と比較される。カウンタレジスタ１８０の値Ｃが０より少なくない場合、ステップ４３５に示されるように、減算値、ここでは４Ｈ、がカウンタレジスタ１８０から減算され、フローはステップ４０５へと戻り、前述のように動作する。しかし、ステップ４３０にてカウンタレジスタの値Ｃが０より小さいと判断される場合、レンジレジスタは、ステップ４４０に示されるようにレンジレジスタ１６５の値Ｒを倍加することにより再拡大され、プログラムフローは前述のステップ４３５へと続く。
【００３３】
ステップ４１５において値Ｌ及び値Ｒの合算値が８０００Ｈ以下ではないと判断された場合、ロウレジスタ１７０の値Ｌは、ステップ４４５に示されるように８０００Ｈと比較される。値Ｌが８０００Ｈ以上である場合、ステップ４５０に示されて後に詳述されるように、パラメータＢが１と等しいビットプラスフォロールーチンが呼び出される。ステップ４５５に示されるように値８０００Ｈがロウレジスタ１７０から減算されて、フローは前述のステップ４２５へと継続する。しかし、ステップ４４５においてＬが８０００Ｈ以上でないと判断された場合、ビットアウトスタンディングレジスタ１７５はステップ４６０に示されるように１だけ加算され、ステップ４６５に示されるようにロウレジスタ１７０から値４０００Ｈが減算される。フローは、続いて、前述のステップ４２５へと継続する。
【００３４】
イベントシーケンス１２５の最終イベントを受信すると、シーケンサ１０５は、終了伝送回線１９５を介してコアエンジン１１５へと終了信号を伝送する。終了信号を受信した時のコアエンジン１１５の動作は、本発明の一実施の形態による図５のフロー図に示されている。
【００３５】
図５に示されるように、ロウレジスタ１７０の最上位ビット（ＭＳＢ）の値を有する引数Ｂのビットプラスフォロールーチンがステップ５０５で呼び出される。ロウレジスタ１７０の最下位ビット（ＬＳＢ）は、続いて、ステップ５１０に示されるようにシーケンサ１０５へと伝送される。ビットプラスフォロールーチンは、本発明の一実施の形態による図６のフロー図においてより詳細に示される。
【００３６】
図６に示されるように、値Ｂは、ステップ６０５に示されるように、情報シーケンス１３５の一ビットとしてシーケンサ１０５へとビット伝送回線１５８を介して伝送される。ビットアウトスタンディングレジスタ１７５の値ＢＯは、ステップ６１０において、０と比較される。ビットアウトスタンディングレジスタ１７５の値ＢＯが０より大きくない場合、フローは、ビットプラスフォロールーチンを呼び出したプログラムセグメント／ルーチン（即ち、図４のボックス４２０またはボックス４５０、または、図５のボックス５０５）へと戻る。しかし、ステップ６１０において値ＢＯが０より大きい場合、１から値Ｂを減算した値を有する情報シーケンス１３５の一ビットが、ステップ６１５に示されるように、ビット伝送回線１５８を介してシーケンサ１０５へと伝送される。ビットアウトスタンディングレジスタの値ＢＯは、ステップ６２０に示されるように１だけ減算され、フローは、ステップ６１０へと戻り、前述のように継続する。
【００３７】
このように、カウンタ１８０を持つコアエンジン１１５を有するエンコーダ１００を提供することは、イベント（群）の情報片（群）に対する比率を追跡することを考慮しており、これにより、エンコーダから提供される情報シーケンスの計算量を削減するために前記比率を制限することが可能となる。ステップ４１０に関連して議論されるカウンタの加算値、ステップ４３５に関連して議論されるカウンタの減算値、及び、ステップ４３０においてカウンタレジスタ１８０が比較されるところの値は、イベント（群）の情報片（群）に対する平均比率を決定するのに用いられる。例えば、図４に関連して前述された値で、ステップ４３５において４という減算値を有するとすると、イベント（群）の情報片（群）に対する平均比率が４に制限されることとなる。減算値を変化させることにより、イベント（群）の情報片（群）に対する平均比率も変化する。従って、加算値、減算値及びカウンタが比較されるところの値は、単なる典型例に過ぎない。なぜならば、このような値は、図２のボックス２２０においてカウンタレジスタ１８０が初期化された値と共に、前述の通りである必然性はなく、あらゆる整数値を取り得る。ここで、当該技術に精通した者であれば認識するであろうように、対応する値は、要求されるイベント（群）の情報片（群）に対する制限された平均比率を達成するように選択される。
【００３８】
図７−図１０は、情報シーケンスにおけるイベント（群）の情報片（群）に対する制限された比率に応じて、少なくとも一つの情報片を含む一つの情報シーケンスを複数のイベント群を含む一つのイベントシーケンスへと復号することができる算術的デコーダ及びその動作を示している。図７は、デコーダのブロック図で、図８−図１０は、当該デコーダの動作を示すフロー図である。
【００３９】
図７は、本発明の一実施の形態による算術的デコーダ７００を示す。前記算術的デコーダ７００は、シーケンサ７０５、確率推定器７１０及びコアエンジン７１５を含んでおり、これらは互いに接続されている。一つ以上の情報シーケンス入力データ回線７２０は、一連の情報７２５、ここでは順序立てられた一連のバイナリビット、の取込ポートをデコーダ７００へと提供する。シーケンスのバイナリビット（群）７２５は、値「０」または「１」を有し得る。デコーダは、イベントシーケンスを生成するために、後に詳述するように、イベント（群）の情報シーケンス内の情報片（群）に対する制限された比率に応じて、情報シーケンスを処理する。前記生成されたイベントシーケンスは、「Ａ」または「Ｂ」の値を有し得る複数のイベント、ここではバイナリイベント（群）、を含む順序立てられたイベントシーケンスである。前記イベントシーケンスは、デコーダ７００からの少なくとも一つの出力ポートを提供する、出力イベントシーケンスデータ回線７３０へと提供される。
【００４０】
バイナリビット群の順序立てられたシーケンス７２５を受信すると、シーケンサ７０５は、一つ以上のビットをビット伝送回線７４０を介してコアエンジン７１５へと順次伝送する。前記一つ以上のビットを受信すると、コアエンジン７１５は、イベント（群）、ここではバイナリイベント（群）、を生成し始める。前記イベント（群）は、イベント伝送回線７４５及び７５０を介して、シーケンサ７０５及び確率推定器７１０へとそれぞれ伝送される。後に詳述されるように、確率推定器は、第一のバイナリイベントを生成するために、初期確率推定値をコアエンジンへと伝送する。その後、コアエンジン７１５により生成されてシーケンサ７０５へと伝送される各々のバイナリイベントに対し、シーケンサ７０５は、対応するコンテクストをコンテクスト伝送回線７５５を介して確率推定器２１０へと伝送する。コンテクスト伝送回線７５５を介して受信したコンテクストの値に基づいて、確率推定値７１０は、対応する確率推定値Ｐ（Ａ）を生成する。当該確率推定値は、確率伝送回線７６０を介してコアエンジン７１５へと伝送され、コアエンジン７１５によって更にイベント（群）を生成するために用いられる。確率推定値Ｐ（Ａ）を伝送した後、確率推定器７１０は、コアエンジン７１５からイベント伝送回線７５０を介して受信されたバイナリイベントの値に基づいて内部状態を更新する。コアエンジン７１５は、生成された各々のバイナリイベントに対して０以上の情報ビットを消費する。コアエンジン７１５は、イベントシーケンス７３５のイベント（群）を生成する際に、レンジレジスタ７６５、バリューレジスタ７７０及びカウンタレジスタ７７５を含む、様々なレジスタを用いる。初期化信号が、初期化伝送回線７８０及び７８５を介して、コアエンジン７１５及び確率推定器７１０へとそれぞれ提供される。終了信号が、終了信号回線７９０を介してコアエンジン７１５へと提供される。デコーダ７００の動作は、図８―図１０のフロー図に示されている。
【００４１】
図８は、本発明の一実施の形態による初期化信号回線７８０を介した初期化信号の受信の際のデコーダ７００の動作を示している。図８に示されるように、コアエンジン７１５は、ステップ８００に示されるように、レンジレジスタ７６５を８０００Ｈの値へと初期化し、ステップ８０５に示されるように、バリューレジスタ７７０を１６ビットで表される特定の値（後述）へと初期化する。更に、コアエンジン７１５は、カウンタレジスタ７７５を、ステップ８１０に示されるように０の値へと初期化する。
【００４２】
バリューレジスタ７７０は、ステップ８０５において、１６ビット、例えば、情報シーケンスの最初の１６の情報片、をバリューレジスタ７７０に収集することにより初期化される。この点は、Moffat等による「Arithmetic Coding Revisited」と題するACM Transactions on Information Systems, VOL. 16, NO. 3, 1998年7月, 第256-294頁に記述されており、引用によって本願に組み込まれ、当該技術に精通した者には認識されるであろう。
【００４３】
図９は、本発明の一実施の形態におけるイベントシーケンス７２５を生成する際のコアエンジン７１５の動作を示すフロー図である。ステップ９００に示されるように、サブレンジ値Ｒ（Ａ）は、イベント値「Ａ」に対してコアエンジン７１５によって算出される。前記サブレンジ値Ｒ（Ａ）は、レンジレジスタ７６５の値及び確率推定値伝送回線７６０を介して確率推定器７１０から受信された決定された確率推定値Ｐ（Ａ）に基づいて、レンジレジスタ７６５の値Ｒを確率推定値Ｐ（Ａ）で乗算することにより算出される。ある情報シーケンス７３５について始めてサブレンジ値Ｒ（Ａ）を算出する時、確率推定器７１０は、確率推定値Ｐ（Ａ）をある初期の／所定の（即ち、事前に定められた）確率推定値として決定する。その後、コアエンジン７１５からイベント（群）が放出されると、確率推定器７１０は、後述のように、放出されたイベント（群）を、コンテクスト情報回線７５５を介して受信される対応するコンテクスト情報と共に、確率推定値伝送回線７６０を介して提供される確率推定値Ｐ（Ａ）を更新する際に用いる。
【００４４】
サブレンジ値Ｒ（Ａ）は、続いて、ステップ９０５に示されるようにバリューレジスタ７７０の値Ｖと比較される。サブレンジ値Ｒ（Ａ）がバリューレジスタ７６５の値Ｖよりも小さい場合、レンジレジスタ１６５は、ステップ９１０に示されるようにサブレンジ値Ｒ（Ａ）へとセットされて、イベント「Ａ」は、ステップ９１５に示されるようにイベント伝送回線７４５を介してシーケンサ７０５へと放出される。続いて、ステップ９２０に示されるように再正規化手続きが呼び出される。前記再正規化手続きについては、図１０のフロー図に関連して詳細に記述される。
【００４５】
ステップ９０５においてサブレンジ値Ｒ（Ａ）がバリューレジスタ７７０の値Ｖよりも小さくない場合、サブレンジ値Ｒ（Ａ）は、ステップ９２５に示されるようにレンジレジスタ７６５から減算される。サブレンジ値Ｒ（Ａ）は、ステップ９３０に示されるようにバリューレジスタ７７０から減算され、ステップ９３５に示されるようにイベント「Ｂ」がコアエンジンからイベント伝送回線７４５を介してシーケンサ７０５へと放出される。フローは、ステップ９２０の再正規化手続きへと継続する。
【００４６】
前述のように、イベント伝送回線７４５を介したイベントの放出の際、シーケンサ７０５は、コンテクスト伝送回線７５５を介して確率推定器２１０へとコンテクストを伝送して、確率推定器７１０は、コアエンジン７１５によって放出されたバイナリイベントの値に基づいて内部状態を更新する。
【００４７】
図１０は、本発明の一実施の形態によるステップ９２０について前述の再正規化を実行する際のコアエンジン１１５の動作を示すフロー図である。ステップ１０００に示されるように、レンジレジスタ７６５の値Ｒは、予め定められたレンジ値、ここでは４０００Ｈ、と比較される。前記予め定められた値Ｒが４０００Ｈ以下でない場合、ステップ１００５に示されるように、カウンタレジスタ７７５は、予め定められた加算値、ここでは１、だけ加算され、再正規化が完結する。しかし、レンジレジスタ７６５の値Ｒが４０００Ｈ以下である場合、ステップ１０１０に示されるようにカウンタレジスタ７７５の値Ｃが０と比較される。カウンタレジスタ７７５の値Ｃが０より小さくない場合、バリューレジスタ７７０の値Ｖが倍加されて、ビット伝送回線７４０を介してコアエンジン７１５において受信された最新のビットの値を加算される。加算の結果がステップ１０１５に示されるようにバリューレジスタ７７０に記憶される。ステップ１０２０に示されるように、カウンタレジスタ７７５の値Ｃは、予め定められた減算値、ここでは４Ｈ，だけ減算され、フローは、ステップ１０００へと戻る。ステップ１０１０においてカウンタレジスタの値Ｃが０より小さい場合、レンジレジスタ７６５は、ステップ１０２５に示されるようにレンジレジスタの値Ｒを倍加することによりリスケールされ、フローは前述のステップ１０１５へと継続する。
【００４８】
情報シーケンス７２５の最後の情報片がコアエンジン７１５に伝送されて処理された後、シーケンサ７０５は、コアエンジン７１５に、終了信号伝送回線７９０を介して、コアエンジン７１５に情報シーケンス７２５の復号が完了したことを示す終了信号を伝送する。コアエンジン７１５は、終了信号に応じて何の動作も実行する必要がない。
【００４９】
イベント（群）の情報片（群）に対する比率を制限することによりイベントシーケンスを情報シーケンスへと符号化することが可能で、計算量が削減されたエンコーダ１００は、情報シーケンスの符号化効率に著しく影響することなく、リアルタイム利用の情報の提供を支援するために復号されて用いられ得る情報シーケンスを提供するのに有利である。加えて、このように計算量が削減された符号化は、情報シーケンスを復号化するのに用いられるデコーダが限定的な処理能力を有する（例えば、携帯装置に組み込まれている）場合に、復号が完了するのを待つ際に過度な遅延なしにそうしたデコーダが情報シーケンスを復号することが可能であるため、有益である。更に、デコーダ７００は、イベント（群）の情報シーケンス内の情報片（群）に対する制限された比率に応じて情報シーケンスをイベントシーケンスへと復号することが可能であり、例えばイベントシーケンスのリアルタイム利用のような利用において、情報シーケンスの効率的な復号を可能とするため有利であり得る。
【００５０】
図１１は、本発明のもう一つの実施の形態によるエンコーダ１１００を示している。図１１に示されるように、前記エンコーダは、エントロピーエンコーダ１１１０と接続されたプロセッサ１１０５を含んでいる。前記エントロピーエンコーダは、コントローラ１１２０と接続された算術的エンコーダ１１１５を含んでいる。入力データ１１２５は、エンコーダにおいて受信され、１１３０に示される情報片群の一つ以上のシーケンスへと符号化される。
【００５１】
入力データ１１２５は、エンコーダ１１００によって符号化される、例えばビデオデータを含む、どのようなデータでもあり得る。プロセッサ１１０５は、入力データを受信し、当該入力データを一つ以上のイベントシーケンス１１３５へと変換する。プロセッサ１１０５は、入力データを一つ以上の情報セグメントへと分割し得る（表示されず）。例えば、入力データ１１２５がビデオデータの場合、プロセッサは、当該ビデオデータをデータブロック、例えば対応するビデオイメージの１６×１６のサンプル、へと分割し得る。一連のイベント１１３５は、一つ以上のセグメント（ビデオブロック）を表し得る。
【００５２】
エントロピーエンコーダ１１１０は、算術的符号化されるイベントシーケンス１１３５を受信する。ここで、算術的エンコーダ１１１５がイベントシーケンス１１３５の各々のイベントに対して０以上のビットの情報シーケンス１１３０を生成する。コントローラ１１２０は、情報シーケンス１１３０の情報片の数をイベントシーケンス１１３５のイベントの数の関数として、イベントの数が生成される情報片（群）の数に対してある閾値を超えないように、制限することにより、エントロピーコーダ１１１０を制御し得る。前記閾値を超過すると、コントローラ１１２０は、前記閾値を満たすために、１つ以上のスタッフィング情報片を情報シーケンス１１３０へと付加するようにエントロピーコーダを制御し得る。
【００５３】
エントロピーエンコーダは、図１の算術的エンコーダ１００に関して前述されたものと同様の態様で、イベントシーケンス１１３５を符号化し得る。例えば、算術的エンコーダ１１１５は、適切な位置において、図１に関連して記述された通り、シーケンサ及び確率推定器を含み得る。算術的エンコーダ１１１５は、更に、レンジ、ロウ及びビットアウトスタンディングのレジスタを有するコアエンジンを含み得る。コントローラ１１２０は、処理されたイベントシーケンス１１３５のイベントの数及び生成された情報シーケンス１１３０の情報片の数を追跡するための一つ以上のカウンタを含み得る。あるいは、前記一つ以上のカウンタは、エントロピーコーダ１１１０の中に存在し得て、コントローラ１１２０は、処理されるイベントと生成される情報片との間の閾値が実質的に保持されていることを保証するためにカウンタ（群）を監視することが可能である。コントローラ１１２０は、例えば、各々のイベントシーケンスが符号化されるところの、情報片の数を制限し得る。例えば、コントローラは、（生成された情報片の数）×（閾値）≧（処理されたイベントの数）であることを保証し得る。これは、例えば、コントローラが処理されたイベント毎にカウンタを加算し、一ビットが処理されると閾値を表すカウンタからある数、例えば「４」、を減算するという、図１−図６、特に図４、に関連して前述されたものと同様の態様で、実現される。コントローラは、続いて、カウンタの値を、例えば値０と比較し得て、カウンタの値が０より大きい場合にスタッフィングビットの挿入を始動し得る。このようにして、コントローラは、算術的エンコーダ１１１５が処理されたイベント（群）の生成された情報片（群）に対する比率４：１に実質的に制限される、ということを保証することが可能である。
【００５４】
加えて又はあるいは、コントローラは、情報片シーケンスの中の情報片の数及びイベントシーケンスに表された入力データ１１２５のセグメントの数の関数として、イベントシーケンス１１３５のイベントの数を制限し得る。例えば、前記制限は一次結合の形を取り得る：
ｅ≦αＢ＋βＳ、
ここで、
ｅは、情報片シーケンスの中に表されたイベントの数であり、
Ｂは、情報片シーケンスの中の情報片の数であり、
Ｓは、イベントシーケンスの中に表されたセグメントの数であり、
α及びβは、生成された情報片の数に対するイベントシーケンスのイベントの数の制限を実質的に保持するためにコントローラによって用いられるカウンタへの減算値を表す。
【００５５】
α及びβの値は、典型的にはコントローラ１１２０へと提供され、α及びβの導出については後述される。値αは、例えば、コーダにおける一つの情報片の生成時のカウンタへの減算値を表し得て、値βは、例えば、一つのセグメントの処理の完了時のカウンタへの減算値を表し得る。あるいは、当該技術に精通した者には明白であろうように、値βは、一つのセグメントを処理し始める時または一つのセグメントの処理の間の他の如何なる時においても、カウンタ値から減算され得る。
【００５６】
一つの比率制御回線１１４０が、イベントシーケンス１１３５のイベントの数を、情報片シーケンスの中の情報片の数、及び、イベントシーケンスの中に現れた入力データ１１２５のセグメントの数、の関数として制限する際に用いられ得る。例えば、比率制御回線１１４０は、計算量制限（ＭＥＰＳ及び／またはＰＭＥＰＳ、後記参照）に関する情報をエントロピーエンコーダ１１１０からプロセッサ１１０５へと伝えるために用いられ得る。エントロピーエンコーダは、制限された閾値が間もなく超過されるまたは超過されたことを、例えばカウンタ（群）の値に関する情報を伝送することにより、プロセッサへと指示し得る。プロセッサ１１０５は、従って、例えばコントローラ１１２０が情報シーケンス１１３０へのスタッフィングビットの挿入を始動する可能性を低減するために、イベント率を低減（即ち、セグメント／ブロック毎のイベントの数を低減）し得る。
【００５７】
ある状況において、処理されるべき入力データ１１２５のデータセグメントの数がエンコーダ１１００において知られ得て、例えば、ある特定の通信媒体上での伝送のために、情報片シーケンスが実質的に制限される必要がないことがあり得る。これらの状況において、エンコーダ１１００において生成される情報片シーケンスは、入力データ１１２５の既知の数のセグメントから生成された伝送のための全体の符号化イメージを表し得る。処理されるべき入力データのデータセグメントの数が既知の場合、コントローラは、例えば、イベントシーケンス１１３５のイベントの数を次のように制限し得る：
ｅ−βＳ≦αＢ
セグメントの全数Ｓ及び値βが既知であるため、入力データ１１２５の一つ以上のセグメントの処理の間又は後に、β×Ｓの積がイベントシーケンス１１３５のイベントの数ｅから減算され得る。例えば、生成されたビットの数に対応したイベントの数を制限するためにカウンタが用いられる場合、当該カウンタは、β×Ｓの値だけ始めに減算され得て、生成された各々の情報片毎に値αだけ減算され得て、一方でエントロピーエンコーダ１１１０によって処理されたイベントシーケンス１１３５のイベント毎にカウンタが「１」だけ加算される。βの値は、どのような値でもあり得て、典型的には１から１００の範囲にあり、例えば更に後述されるように決定され得る。αの値は、どのような値でもあり得て、典型的には１から１０の範囲にあり、例えば更に後述されるように決定され得る。
【００５８】
ある状況においては、処理されるべき入力データ１１２５のセグメントの数は予め知られず、例えば、通信媒体が情報シーケンス１１３０の中に提供され得る情報片の数を制限する。これは例えば、情報シーケンス１１３０がインターネット上をインターネットプロトコル（ＩＰ）パケットとして伝送される場合に起こり得る。ここで、ＩＰパケットは最大サイズの制限を有する。これらの状況において、特定のイメージの計算量に依存して、一つ以上の情報片シーケンスが入力データ１１２５の単一のイメージを表すことを要求され得る。しかし、一つの情報片シーケンスの最大サイズが幾つの処理されたセグメント群の後に到達されるのかが知られないことがあり得るため、情報片シーケンスの生成に用いられるセグメントの数は、予め知られないことがあり得る。処理されるべき入力データ１１２５のセグメントの数が予め知られていない場合、コントローラは、複数のイベントシーケンスを表す一つ以上のセグメントが符号化される時に、当該複数のイベントシーケンスを考慮し得る。例えば、生成されたビットの数に応じてイベントの数を制限するためにカウンタが用いられる場合、カウンタは、処理されるセグメント毎に値βだけ減算され得て、情報片が生成される毎に値αだけ減算され得て、一方でエントロピーエンコーダ１１１０によって処理されたイベントシーケンス１１３５のイベント毎にカウンタが「１」だけ加算され得る。
【００５９】
α及びβの値は、例えば、ある特定の標準（例えば、ビデオ符号化を規定する標準）により課せられる制限に応じて、及び／または、エンコーダ１１００によって符号化された情報シーケンスを復号するために用いられるデコーダに関連した制限に応じて、決定され得る。こうした特定の標準によって課せられる制限は、１秒あたりの最大ビット数（ＭＢＰＳ）、１秒あたりのセグメント（ブロック）の最大数（ＭＳＰＳ）及び１秒あたりのピークの最大ビット数（ＰＭＢＰＳ）に関する情報を含み得る。ＰＭＢＰＳは、例えば、符号化されるべき二つの画像の間の時間距離によって割られた画像の最大ビット数を表し得る。
【００６０】
ＭＢＰＳは、チャンネル容量、例えば、移動体通信の利用で毎秒約６４０００ビット、デジタル加入者回線（ＤＳＬ）で毎秒５０００００ビット、テレビ（ＴＶ）のような放送の利用で毎秒４００００００ビットを説明し得る。ＭＳＰＳは、ビデオフォーマット標準、例えば、移動体（即ち、携帯電話）利用において毎秒１０又は１５フレームで１７６×１４４ピクセル、ＤＳＬ利用において毎秒２４フレームで３２０×２４０ピクセル、標準的なＴＶでの利用において毎秒３０フレームで７２０×４８０ピクセル、高解像度ＴＶでの利用において毎秒３０フレームで１９２０×１０８８ピクセル、を説明し得る。ＰＭＢＰＳはＭＢＰＳのあらゆる倍数、典型的にはＭＢＰＳの数倍、例えばＰＭＢＰＳ≒１０×ＭＢＰＳであり得る。
【００６１】
特定の実施の形態によって、デコーダの資源（即ち、処理能力及び／または利用できるバッファメモリ）は限定され得て、これもまたα及びβの値を決定する時に考慮され得る。このような限定は、デコーダによって処理され得る実際の又は推定された一秒あたりの最大イベント数（ＭＥＰＳ）の値、及び／または、デコーダによって処理され得る１秒あたりの極大の最大イベント数（ＰＭＥＰＳ）（即ち、符号化されるべき二つの画像の間の時間距離によって割られた画像の最大イベント数）を含み得る。
【００６２】
前述のデコーダの制限の一つ以上に応じて、α及びβは、線形系で表され得る：
ＰＭＥＰＳ＝α＊ＰＭＢＰＳ＋β＊ＭＳＰＳ、及び
ＭＥＰＳ＝α＊ＭＢＰＳ＋β＊ＭＳＰＳ
【００６３】
α及びβの値は、例えば特定の標準によって定められたＰＭＢＰＳ及びＭＳＰＳの制限とデコーダのＰＭＥＰＳ及びＭＥＰＳの一方又は両方の制限とに応じて、α及びβの前記線形系を解くことにより決定され得る。α及びβの値は、整数値である必要性はなく、前記線形系を実質的に満たす任意の値であり得る。
【００６４】
α及びβの値は、エンコーダ１１００のシステム設計者によって前述の一つ以上の制限に応じて予め決定され得て、コントローラ１１２０へと提供され得る。あるいは又は加えて、α及びβの値は、前述の一つ以上の制限に応じて又はエンコーダ１１００の既定値として、コントローラ１１２０によって又はエンコーダ１１００の他のいずれかのコンポーネントによって決定され得る。コントローラ１１２０がα及びβの値を標準によって又は復号装置によって課せられる制限の一方又は両方を用いて決定する場合、一つ以上の制限に関する情報は、コントローラ１１２０のメモリ（図示されず）に記憶され得て、α及びβの値を決定する際にコントローラ１１２０によって用いられ得る。加えて又はあるいは、前記制限に関する情報は、例えば、外部メモリ（例えば、デジタルビデオディスク（ＤＶＤ））、ＤＶＤプレイヤ装置といった外部装置によって、又は、例えば特定の入力データ１１２５の符号化に関する機能の幾つかを取り扱うシステムエンジニアから、コントローラ１１２０へと提供され得る。後者の場合、前記システムエンジニアは、当該技術に精通した者によって理解されるであろうように、符号化の標準及び／または復号装置によって結果として課せられた制限に関する情報をコンソールもしくは他の入力装置（図示されず）へと入力し得る、または、他の方法で特定し得る。
【００６５】
デコーダの制限ＰＭＥＰＳ及びＭＥＰＳの一方又は両方が知られていない場合、ＰＭＥＰＳ及びＭＥＰＳの値は、例えばエンコーダ１１００によって生成される情報シーケンス１１３０を復号することが可能であるためにデコーダが有すべき最低動作要求として、推定され得る。更に、ＰＭＥＰＳ及び／またはＭＥＰＳの値を推定する時、例えば、データを算術的に復号するためにデコーダが用いる時間のパーセンテージに対する考慮がなされ得る。例えば、デコーダにおいて受信される情報シーケンスを算術的に復号するために、デコーダが３０％を越えないその処理時間／能力のみを消費することが可能であると推定され得る。
【００６６】
更に、前記線形系を用いてα及びβの値が決定されるとしても、こうした値は要求される符号化能力を達成するために調整され得て、α及びβの調整された値が入力データ１１２５を情報シーケンス１１３０へと符号化するためにエンコーダ１１００によって続いて用いられ得る。例えば、α及びβの値は、情報シーケンス１１３０内にスタッフされた情報片（群）に起因するビデオ画質の潜在的損失を考慮して調整され得る。例えば、良好なビデオの画質（即ち、歪が少ないか全くないビデオ）を保持するために、復号の計算量を制限しつつ、スタッフされる情報片の数を最小化することが望まれ得る。復号の計算量とビデオ画質との間のそのようなトレードオフは、実験的に決定され得て、エンコーダ１１００によって用いられる特定のビデオ符号化アルゴリズムにおいて考慮され得る。
【００６７】
加えて、α及びβの値を決定する時、例えばα及び／またはβの値が小さ過ぎるといったように、計算量の制限が厳し過ぎるか否かという点について考慮がなされ得る。情報片シーケンスの中のスタッフィング情報片の高い比率（例えば、情報シーケンスの情報片の約１％または２％より大きいスタッフィング片の数）は、制限が厳しすぎることを示唆し得る。精通した者であれば認識するであろうように、例えば、用いられ得る特定の標準及び／またはデコーダを考慮して、他の比率もスタッフィング情報片の高い比率を示唆し得る。
【００６８】
例えばα及びβの値が厳しすぎると判断された場合、α及びβの値は、スタッフィングビットが付加される可能性を低減する（即ち、符号化された情報シーケンスの中の品質ペナルティの発生率を低減する）ために増加され得る。α及びβの値を増大する場合、符号化された情報シーケンスを復号するために用いられるデコーダに関連して結果として生じる計算量制限（即ち、ＭＥＰＳ及び／またはＰＭＥＰＳ）の影響に関して考慮がなされ得る。そのような考慮は、デコーダを導入するコストを含み得る。計算量制限がより大きい場合、デコーダにおいてより高い処理能力が要求され得る。要求される処理能力の増大は、より高い導入コストを生じ得る。
【００６９】
あるいは、α及びβは、線形回帰手法を用いて実験的に決定され得る。各々がＳ個のセグメント（群）を表すイベントシーケンスの数は、計算量の制限を何ら課することなく符号化され得る。各々のイベントシーケンスｚについて、イベントの数ｅ（ｚ）に対して、結果として生成される情報片の数Ｂ（ｚ）が知られる。線形回帰を用いて、データペア（ｅ（ｚ），Ｂ（ｚ））を近似する線ｅ＝ｃ＊Ｂ＋ｄが決定され得る。αのある初期値がｃで示され得て、βのある初期値がｄ／Ｓで示され得る。α及び／またはβの値は、続いて、線ｅ＝α＊Ｂ＋β＊Ｓより上方にあるデータペア（ｅ（ｚ），Ｂ（ｚ））の数を最小化するというように、増加され得る。α及び／またはβの増加量は、また、ＭＥＰＳ及び／またはＰＭＥＰＳの結果値を、例えばデコーダの導入コストを制御するために、考慮し得る。
【００７０】
前述の様々な手法の一つ以上によって決定されたα及びβの値を用いて、エンコーダ１１００は、生成される各々の情報片に対してαの値を考慮（即ち、αの値だけカウンタを減算する）し得て、入力データ１１２５の一セグメントの完了時にβの値を考慮（即ち、βの値だけカウンタを減算する）し得る。例えば、α及びβが整数値である場合、そのような考慮（即ち、一つ以上のカウンタへの減算）は、直接的に遂行され得る。
【００７１】
例えば、α及びβの一つまたは両方が分数である場合、α及びβへ非分数値を提供するために、共通分母が決定され得る。このような状況において、例えばカウンタを情報片の生成時及びセグメント処理の完了時にα及びβの値でそれぞれ減算することにより、α及びβの新たな非分数値が前述のように考慮され得る。前記決定された共通分母は、例えば、イベントシーケンス１１３５の各々のイベントの処理時に前記共通分母の値をカウンタ値へと加算することにより、考慮され得る。例えば、α及びβの値が４／３及び２５にそれぞれ決定された場合、共通分母は３として決定され得る。α及びβの非分数値は、従って、前記共通分母を用いて４及び７５にそれぞれ決定され得る。従って、カウンタがα及びβの値を考慮するために用いられる場合、当該カウンタは、生成される情報片毎に４だけ減算され、各々のセグメントの処理の完了時に７５だけ減算され、処理されるイベント毎に３だけ加算され得る。
【００７２】
入力データの一つ以上のセグメントにわたって情報片の数を制限することが可能なエンコーダを有することは、セグメントグループ毎の情報片の最大数を考慮して、先行技術のエンコーダと比較してビデオ符号化品質を保持しつつ、ビデオデータが確実に復号されることを可能とする。加えて、計算量閾値が間もなく超過されることを示す信号をエンコーダが比率制御回線を介して受信する場合、エンコーダは、より少ないイベント（群）、例えば入力データの次のセグメントからのβまたはβより少ないイベント（群）を、当該次のセグメント／ブロックについて前記閾値を超過することを回避するために、生成し得る。０と異なるβの値を有することは、従って、ビデオ画質を調整する際にプロセッサ１１０５を支援し得る。加えて、前記制限閾値が超過されるとコントローラが典型的にはスタッフィングビットの付加を始動するため、プロセッサは、当該プロセッサが計算量制限を考慮するまたは取り扱う必要がないといった態様で導入され得る。従って、プロセッサが特定の標準によって課せられる制限、例えばＭＳＰＳ、ＭＢＰＳ及びＰＭＢＰＳの一つ以上に関する制限、を満たす場合、当該プロセッサはまたＭＥＰＳ及び／またはＰＭＥＰＳの（即ち、前述のα及びβから派生する）計算量制限も満たし得る。
【００７３】
生成される情報片の数に応じてイベントの数を制限することがエンコーダ１１００に関連して述べられてきたが、精通した者は、情報シーケンスの中の情報片の数に応じたイベントシーケンスのイベントの数の同様の制限が図１に関連して前述されたエンコーダ１００においても説明され得る、ということを認識するであろう。更に、コントローラ１１２０は算術的エンコーダ１１１５と接続されて描かれてきたが、精通した者は、そのような接続が直接的なものまたは他の中間装置を介したものであり得ることを認識するであろう。そうした接続は、情報シーケンス１１３０の情報片の数をイベントシーケンス１１３５のイベントの数の関数として制限することによりコントローラ１１２０がエントロピーコーダ１１１０を規制することが可能であるというように、コントローラ１１２０と算術的エンコーダ１１１５との間の直接的及び／または間接的な通信を可能とする。
【００７４】
ここにおいて記述されるエンコーダ１００及び１１００並びにデコーダ７００は、完全にハードウェアとして、適切なマイクロプロセッサ上で動作するソフトウェアとして、または、ハードウェアとソフトウェアの組み合わせとして、構成され得る。当該技術に精通した者によって認識されるであろうように、コアエンジン１１５及び７１５、並びに、算術的エンコーダ１１１５、コントローラ１１２０及びプロセッサ１１０５の機能は、適切なマイクロプロセッサ上で動作するコンピュータプログラムとして実施され得て、カウンタレジスタ１８０及び７７５は、前記マイクロプロセッサの中に実装されたレジスタである、または、例えばＲＡＭ、ＥＥＰＲＯＭもしくは磁気式、光学式や他の形式の書換可能な任意の記憶媒体といった、マイクロプロセッサと通信する外部記憶媒体上に実装され得る。前述のように、エンコーダ１００及び１１００並びにデコーダ７００は、エンコーダの場合にはバイナリイベントシーケンスをバイナリ情報シーケンスへと処理して、デコーダの場合にはバイナリ情報シーケンスをバイナリイベントシーケンスへと処理すると記述されてきたが、当該技術に精通した者であれば認識するであろうように、ここに記述される教示を用いることにより、ここに記述される利点をなおも達成しつつ、Ｍ−ａｒｙイベントシーケンスが処理されて生成され得る。
【００７５】
更に、ここに記述される利点をなおも達成しつつ、カウンタレジスタ１８０及び７７５の信号は反転され得て、その場合、ステップ４１０及び１００５において記述されたカウンタレジスタへの加算は減算へと変更され、ステップ４３５及び１０２０において記述されたカウンタレジスタへの減算は加算へと変更され、ステップ４３０及び１０１０におけるカウンタレジスタとの比較はそれぞれのカウンタレジスタの値が０より大きいかどうかを決定することへと変更され得る。
【００７６】
加えて、一つの代わりに二つのカウンタが用いられ得る。第一カウンタＣ１がイベントを数え得て、第二カウンタＣ２がビットを数え得る。そのような場合、イベントのビットに対する予め定められた比率が実質的に保持されているか否かを決定（考慮）するための前記二つのカウンタの間の比較は、Ｃ１＜４＊Ｃ２であるか否かであり得る。
【００７７】
加えて、エンコーダ１００及びデコーダ７００は別々のハードウェアとして記述されてきたが、当該技術に精通した者であれば認識するであろうように、ここに記述されたような各々が果たす機能は、一つのユニットへと統合され得る。例えば、それは、テレビ会議のために使用されるパーソナルコンピュータ（ＰＣ）において当該ＰＣのプロセッサ及び記憶媒体がここに記述されたエンコーダ及びデコーダの機能を果たすべく用いられる場合に、有用であり得る。
【００７８】
ここで論じられたコアエンジンによって実現される、イベント（群）の情報片（群）に対する比率を制限すること、及び、イベント（群）の情報片（群）に対する制限された比率を考慮することは、Q-coder、MQ-coder、Z-coderのコアエンジン、並びに、Rene van der Vleutenによる「Low Complexity Arithmetic Coding Implementation」, Document JVT-B033, JVT meeting in Geneva, Switzerland, 2002年1月、及び、Wingerによる「Low-Complexity Arithmetic Coding Engine」, Document JVT-B036, JVT meeting in Geneva, Switzerland, 2002年1月において論じられているコアエンジン、を含む他のコアエンジン設計によっても実現され得る。前記二つの文献は、共に引用によって本願に組み込まれる。
【００７９】
このように、イベント（群）の情報片（群）に対する比率を制限することによりイベントシーケンスを情報シーケンスへと符号化することが可能な、計算量制限を低減されたエンコーダが記述されてきた。このようなエンコーダは、情報シーケンスの符号化効率に著しく影響することなく、リアルタイム利用のための情報の提供を支援するために復号されて用いられ得る情報シーケンスを提供するのに有利である。加えて、このように計算量を低減された符号化は、情報シーケンスを復号する際に用いられるデコーダが限定的な処理能力を有する（例えば、携帯装置に組み込まれている）場合に、復号が完了されるのを待つ際に過度な遅延なしにそうしたデコーダが情報シーケンスを復号することが可能であるため、有益である。加えて、入力データの一つ以上のセグメントにわたる情報片の数を制限することが可能なエンコーダが記述され得て、これにより、セグメント群毎の情報片の最大数を考慮しつつ、先行技術のエンコーダと比較してビデオ符号化品質を維持した状況で、ビデオデータが確実に復号されることが可能となり得る。計算量閾値が間もなく超過されることを示す信号をエンコーダが比率制御回線を介して受信する場合、エンコーダは、入力データの次のセグメントについて前記閾値を超過することを回避するために、より少ないイベント（群）を生成し得る。加えて、前記制限閾値が超過されるとコントローラが典型的にはスタッフィングビットの付加を始動するため、プロセッサは、当該プロセッサが計算量制限を考慮するまたは取り扱う必要がないといった態様で導入され得る。更に、イベント（群）の情報シーケンス内の情報片（群）に対する制限された比率に応じて情報シーケンスをイベントシーケンスへと復号することが可能であり、それによって例えばイベントシーケンスのリアルタイム利用のような利用のための情報シーケンスの効率的な復号を可能とするデコーダが記述されている。
【００８０】
本発明は特定の実施の形態に関連して示され記述されてきたが、前述されたものに加えての特定の変更や修正が本発明の基本的特徴からなされ得ることは明らかである。加えて、本発明を実施するために用いられ得る多数の異なるタイプのコンピュータソフトウェア及びハードウェアが存在し得て、本発明は、前述された実施例に限定されない。従って、前述の実施の形態は、あらゆる点で、単なる説明であり限定ではないと理解されるものであり、本発明の範囲は、従って、前述の説明よりも添付の特許請求の範囲によって示される。特許請求の範囲の等価物の範囲及び範疇において生じるあらゆる変化は、その範囲の中に包含される。
【図面の簡単な説明】
【００８１】
【図１】本発明の一実施の形態に係るエンコーダのブロック図である。
【図２】本発明の一実施の形態に係る図１のエンコーダの初期化を示すフロー図である。
【図３】本発明の一実施の形態に係る図１のエンコーダのコアエンジンの動作を示すフロー図である。
【図４】本発明の一実施の形態に係る図１のエンコーダの繰り込み手順を示すフロー図である。
【図５】図５は、本発明の一実施の形態に係る図１のエンコーダのコアエンジンの終了信号を受信した際の動作を示すフロー図である。
【図６】図６は、本発明の一実施の形態に係る図１のコアエンジンによってなされるＢｉｔ−Ｐｌｕｓ−Ｆｏｌｌｏｗルーチンのフロー図である。
【図７】図７は、本発明の一実施の形態に係るデコーダのブロック図である。
【図８】図８は、本発明の一実施の形態に係る図７のデコーダの初期化を示すフロー図である。
【図９】図９は、本発明の一実施の形態に係る図７のデコーダのコアエンジンの動作を示すフロー図である。
【図１０】図１０は、本発明の一実施の形態に係る図７のデコーダのコアエンジンの繰り込みを示すフロー図である。
【図１１】図１１は、本発明の別の実施の形態に係るエンコーダのブロック図である。
【図１】
2005524267.tif 000003
【図２】
2005524267.tif 000004
【図３】
2005524267.tif 000005
【図４】
2005524267.tif 000006
【図５】
2005524267.tif 000007
【図６】
2005524267.tif 000008
【図７】
2005524267.tif 000009
【図８】
2005524267.tif 000010
【図９】
2005524267.tif 000011
【図１０】
2005524267.tif 000012
【図１１】
2005524267.tif 000013
【国際調査報告】
2005524267.tif 000014