(57)【要約】デジタル画像コンテンツの事象の起こり得る結果をエンコードおよびデコードする方法とシステム。デジタル画像コンテンツは、それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームから成る。この方法は、起こり得る結果の確率履歴に基づいて定期的に再編成される、ルックアップ・テーブル中のエントリを用いて、結果を表現するビットストリームを生成しデコードすることから成る。起こり得る結果の確率履歴は、ピクチャ、スライス、またはマクロブロックのストリーム中での、エンコードされた結果およびデコードされた結果それぞれの出現をカウントすることによって演算される。エンコーダおよびデコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成は、エンコードされた結果を表現するビットストリームを正しくデコードすることが可能になるように同期される。
2005528066.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含むデジタル画像コンテンツの事象の起こり得る結果をエンコードし、エンコードされた結果を生じさせる方法であって、前記起こり得る結果の確率履歴に基づいて、ルックアップ・テーブル中で定期的に再編成される前記ルックアップ・テーブル中のエントリを用いて、前記エンコードされた結果を表現するビットストリームを生成すること、から成る方法。
【請求項２】
前記ルックアップ・テーブル中の前記エントリが、前記起こり得る結果に対応し、それぞれ、一義的なコードワードに関連づけられる、請求項１に記載の方法。
【請求項３】
前記起こり得る結果の前記確率履歴が、前記ピクチャ、前記スライス、または前記マクロブロックの前記ストリーム中での、前記エンコードされた結果それぞれの出現をカウントすることによって演算される、請求項２に記載の方法。
【請求項４】
前記定期的な再編成が、異なるコードワードに前記ルックアップ・テーブル中の前記エントリを再割当てすることから成る、請求項３に記載の方法。
【請求項５】
前記再割当てすることが、出現の確率履歴がより高い結果に、より短いコードワードを割り当てること、および出現の確率履歴がより低い結果に、より長いコードワードを割り当てることから成る、請求項４に記載の方法。
【請求項６】
ピクチャ、スライス、またはマクロブロックの前記ストリームにおいて場面の変化が検出されると、前記ルックアップ・テーブルが、そのデフォルト値にリセットされる、請求項５に記載の方法。
【請求項７】
前記エンコードが、適応型汎用可変長コードワード・エンコードであり、前記ルックアップ・テーブルが、汎用可変長コードワード・テーブルである、請求項１に記載の方法。
【請求項８】
前記エンコードが、コンテキスト・ベースの適応バイナリ算術エンコードであり、前記ルックアップ・テーブルが、コンテキスト・ベースの適応バイナリ算術符号化テーブルである、請求項１に記載の方法。
【請求項９】
前記イントラ・ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項１に記載の方法。
【請求項１０】
前記予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項１に記載の方法。
【請求項１１】
前記両方向予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項１に記載の方法。
【請求項１２】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、ピクチャごとに１度である、請求項２に記載の方法。
【請求項１３】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、スライスごとに１度である、請求項２に記載の方法。
【請求項１４】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、マクロブロック
ごとに１度である、請求項２に記載の方法。
【請求項１５】
前記起こり得る結果の前記確率履歴の前記演算が、スライディング・ウィンドウによって定義された時間より前に起こる、前記エンコードされた結果を無視し、前記スライディング・ウィンドウが、定義可能な数の前記ピクチャ、前記スライス、または前記マクロブロックに渡る、請求項３に記載の方法。
【請求項１６】
前記起こり得る結果の前記確率履歴の前記演算が、時間的に近いピクチャ、スライス、またはマクロブロックを補償するための重みづけ因子を組み込む、請求項３に記載の方法。
【請求項１７】
前記エンコードされた結果のデコードが成功し得るように、前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、デコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期される、請求項１に記載の方法。
【請求項１８】
それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含むデジタル画像コンテンツの事象の起こり得る結果をデコードし、デコードされた結果を生じさせる方法であって、前記起こり得る結果の確率履歴に基づいて、ルックアップ・テーブル中で定期的に再編成される前記ルックアップ・テーブル中のエントリを用いて、エンコードされた結果を表現するビットストリームをデコードすること、から成る方法。
【請求項１９】
前記ルックアップ・テーブル中の前記エントリが、前記起こり得る結果に対応し、それぞれ、一義的なコードワードに関連づけられる、請求項１８に記載の方法。
【請求項２０】
前記起こり得る結果の前記確率履歴が、前記ピクチャ、前記スライス、または前記マクロブロックの前記ストリーム中での、前記デコードされた結果それぞれの出現をカウントすることによって演算される、請求項１９に記載の方法。
【請求項２１】
前記定期的な再編成が、異なるコードワードに前記ルックアップ・テーブル中の前記エントリを再割当てすることから成る、請求項２０に記載の方法。
【請求項２２】
前記再割当てすることが、出現の確率履歴がより高い結果に、より短いコードワードを割り当てること、および出現の確率履歴がより低い結果に、より長いコードワードを割り当てることから成る、請求項２１に記載の方法。
【請求項２３】
ピクチャ、スライス、またはマクロブロックの前記ストリームにおいて場面の変化が検出されると、前記ルックアップ・テーブルが、そのデフォルト値にリセットされる、請求項２２に記載の方法。
【請求項２４】
前記デコードが、適応型汎用可変長コードワード・デコードであり、前記ルックアップ・テーブルが、汎用可変長コードワード・テーブルである、請求項１８に記載の方法。
【請求項２５】
前記デコードが、コンテキスト・ベースの適応バイナリ算術デコードであり、前記ルックアップ・テーブルが、コンテキスト・ベースの適応バイナリ算術符号化テーブルである、請求項１８に記載の方法。
【請求項２６】
前記イントラ・ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項１８に記載の方法。
【請求項２７】
前記予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テ
ーブルが用いられる、請求項１８に記載の方法。
【請求項２８】
前記両方向予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項１８に記載の方法。
【請求項２９】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、ピクチャごとに１度である、請求項１９に記載の方法。
【請求項３０】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、スライスごとに１度である、請求項１９に記載の方法。
【請求項３１】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、マクロブロックごとに１度である、請求項１９に記載の方法。
【請求項３２】
前記起こり得る結果の前記確率履歴の前記演算が、スライディング・ウィンドウによって定義された時間より前に起こる、前記デコードされた結果を無視し、前記スライディング・ウィンドウが、定義可能な数の前記ピクチャ、前記スライス、または前記マクロブロックに渡る、請求項２０に記載の方法。
【請求項３３】
前記起こり得る結果の前記確率履歴の前記演算が、時間的に近いピクチャ、スライス、またはマクロブロックを補償するための重みづけ因子を組み込む、請求項２０に記載の方法。
【請求項３４】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、エンコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期される、請求項１８に記載の方法。
【請求項３５】
それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含むデジタル画像コンテンツの事象の起こり得る結果をエンコードし、エンコードされた結果を生じさせるエンコーダであって、
前記起こり得る結果に対応するとともに、それぞれが一義的なコードワードに関連づけられるエントリを有するルックアップ・テーブルと、
前記ピクチャ、前記スライス、または前記マクロブロックの前記ストリーム中での、前記エンコードされた結果それぞれの出現をカウントするとともに、前記起こり得る結果の確率履歴を演算するカウンタと、を備え
前記エントリが、前記ルックアップ・テーブル中で、前記起こり得る結果の前記確率履歴に基づいて定期的に編成されるとともに、前記エンコーダによって、前記エンコードされた結果を表現するビットストリームを生成するのに用いられる、エンコーダ。
【請求項３６】
前記定期的な再編成が、異なるコードワードに前記ルックアップ・テーブル中の前記エントリを再割当てすることから成る、請求項３５に記載のエンコーダ。
【請求項３７】
前記再割当てすることが、出現の確率履歴がより高い結果に、より短いコードワードを割り当てること、および出現の確率履歴がより低い結果に、より長いコードワードを割り当てることから成る、請求項３６に記載のエンコーダ。
【請求項３８】
前記エンコーダが、ピクチャ、スライス、またはマクロブロックの前記ストリームにおいて場面の変化を検出すると、前記ルックアップ・テーブルが、そのデフォルト値にリセットされる、請求項３５に記載のエンコーダ。
【請求項３９】
前記ルックアップ・テーブルが、汎用可変長コードワード・テーブルである、請求項３５に記載のエンコーダ。
【請求項４０】
前記ルックアップ・テーブルが、コンテキスト・ベースの適応バイナリ算術符号化テーブルである、請求項３５に記載のエンコーダ。
【請求項４１】
前記イントラ・ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項３５に記載のエンコーダ。
【請求項４２】
前記予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項３５に記載のエンコーダ。
【請求項４３】
前記両方向予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項３５に記載のエンコーダ。
【請求項４４】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、ピクチャごとに１度である、請求項３５に記載のエンコーダ。
【請求項４５】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、スライスごとに１度である、請求項３５に記載のエンコーダ。
【請求項４６】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、マクロブロックごとに１度である、請求項３５に記載のエンコーダ。
【請求項４７】
前記カウンタが、スライディング・ウィンドウからなり、前記スライディング・ウィンドウが、前記スライディング・ウィンドウによって定義された時間より前に起こる、前記エンコードされた結果を前記カウンタが無視することを可能にするとともに、定義可能な数の前記ピクチャ、前記スライス、または前記マクロブロックに渡る、請求項３５に記載のエンコーダ。
【請求項４８】
前記カウンタが、時間的に近いピクチャ、スライス、またはマクロブロックを補償するための重みづけ因子を組み込む、請求項３５に記載のエンコーダ。
【請求項４９】
前記エンコードされた結果のデコードが成功し得るように、前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、デコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期される、請求項３５に記載のエンコーダ。
【請求項５０】
それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含むデジタル画像コンテンツの事象の起こり得る結果をデコードし、デコードされた結果を生じさせるデコーダであって、
前記起こり得る結果に対応するとともに、それぞれが一義的なコードワードに関連づけられるエントリを有するルックアップ・テーブルと、
前記ピクチャ、前記スライス、または前記マクロブロックの前記ストリーム中での、前記デコードされた結果それぞれの出現をカウントするとともに、前記起こり得る結果の確率履歴を演算するカウンタと、を備え、
前記エントリが、前記ルックアップ・テーブル中で、前記起こり得る結果の前記確率履歴に基づいて定期的に再編成されるとともに、前記デコーダによって、エンコードされた結果を表現するビットストリームをデコードするのに用いられる、デコーダ。
【請求項５１】
前記定期的な再編成が、異なるコードワードに前記ルックアップ・テーブル中の前記エントリを再割当てすることから成る、請求項５０に記載のデコーダ。
【請求項５２】
前記再割当てすることが、出現の確率履歴がより高い結果に、より短いコードワードを割り当てること、および出現の確率履歴がより低い結果に、より長いコードワードを割り当てることから成る、請求項５１に記載のデコーダ。
【請求項５３】
前記デコーダが、ピクチャ、スライス、またはマクロブロックの前記ストリームにおいて場面の変化を検出すると、前記ルックアップ・テーブルが、そのデフォルト値にリセットされる、請求項５０に記載のデコーダ。
【請求項５４】
前記ルックアップ・テーブルが、汎用可変長コードワード・テーブルである、請求項５０に記載のデコーダ。
【請求項５５】
前記ルックアップ・テーブルが、コンテキスト・ベースの適応バイナリ算術符号化テーブルである、請求項５０に記載のデコーダ。
【請求項５６】
前記イントラ・ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項５０に記載のデコーダ。
【請求項５７】
前記予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項５０に記載のデコーダ。
【請求項５８】
前記両方向予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルが用いられる、請求項５０に記載のデコーダ。
【請求項５９】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、ピクチャごとに１度である、請求項５０に記載のデコーダ。
【請求項６０】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、スライスごとに１度である、請求項５０に記載のデコーダ。
【請求項６１】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、マクロブロックごとに１度である、請求項５０に記載のデコーダ。
【請求項６２】
前記カウンタが、スライディング・ウィンドウからなり、前記スライディング・ウィンドウが、前記スライディング・ウィンドウによって定義された時間より前に起こる、前記デコードされた結果を前記カウンタが無視することを可能にするとともに、定義可能な数の前記ピクチャ、前記スライス、または前記マクロブロックに渡る、請求項５０に記載のデコーダ。
【請求項６３】
前記カウンタが、時間的に近いピクチャ、スライス、またはマクロブロックを補償するための重みづけ因子を組み込む、請求項５０に記載のデコーダ。
【請求項６４】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成が、エンコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期される、請求項５０に記載のデコーダ。
【請求項６５】
それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロ
ブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含むデジタル画像コンテンツの事象の起こり得る結果をエンコードし、エンコードされた結果を生じさせるエンコード・システムであって、
前記ピクチャの前記ストリーム中での、前記エンコードされた結果それぞれの出現をカウントすることによって、前記起こり得る結果の確率履歴を演算する手段と、
前記起こり得る結果に対応し、一義的なコードワードを有し、前記起こり得る結果の前記確率履歴に基づいて定期的に再編成される、ルックアップ・テーブル中のエントリを用いて、前記エンコードされた結果を表現するビットストリームを生成する手段と、を備えたシステム。
【請求項６６】
異なるコードワードに前記ルックアップ・テーブル中の前記エントリを再割当てする手段をさらに備える、請求項６５に記載のシステム。
【請求項６７】
異なるコードワードに前記ルックアップ・テーブル中の前記エントリを再割当てする前記手段が、出現の確率履歴がより高い結果に、より短いコードワードを割り当てること、および出現の確率履歴がより低い結果に、より長いコードワードを割り当てることから成る、請求項６６に記載のシステム。
【請求項６８】
ピクチャ、スライス、またはマクロブロックの前記ストリームにおいて場面の変化が検出されると、前記ルックアップ・テーブルを、そのデフォルト値にリセットする手段をさらに備える、請求項６５に記載のシステム。
【請求項６９】
前記イントラ・ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルを用いる手段をさらに備える、請求項６５に記載のシステム。
【請求項７０】
前記予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルを用いる手段をさらに備える、請求項６５に記載のシステム。
【請求項７１】
前記両方向予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルを用いる手段をさらに備える、請求項６５に記載のシステム。
【請求項７２】
前記ルックアップ・テーブル中の前記エントリを、ピクチャごとに１度再編成する手段をさらに備える、請求項６５に記載のシステム。
【請求項７３】
前記ルックアップ・テーブル中の前記エントリを、スライスごとに１度再編成する手段をさらに備える、請求項６５に記載のシステム。
【請求項７４】
前記ルックアップ・テーブル中の前記エントリを、マクロブロックごとに１度再編成する手段をさらに備える、請求項６５に記載のシステム。
【請求項７５】
定義可能な数の前記ピクチャ、前記スライス、または前記マクロブロックに渡るスライディング・ウィンドウによって定義された時間より前に起こる、前記エンコードされた結果を、前記起こり得る結果の前記確率履歴の前記演算において無視する手段をさらに備える、請求項６５に記載のシステム。
【請求項７６】
前記起こり得る結果の前記確率履歴の前記演算に、時間的に近いピクチャ、スライス、またはマクロブロックを補償するための重みづけ因子を組み込む手段をさらに備える、請求項６５に記載のシステム。
【請求項７７】
前記エンコードされた結果のデコードが成功し得るように、前記ルックアップ・テーブル
中の前記エントリの前記定期的な再編成を、デコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期する手段をさらに備える、請求項６５に記載のシステム。
【請求項７８】
それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含むデジタル画像コンテンツの事象の起こり得る結果をデコードし、デコードされた結果を生じさせるデコード・システムであって、
前記ピクチャの前記ストリーム中での、前記デコードされた結果それぞれの出現をカウントすることによって、前記起こり得る結果の確率履歴を演算する手段と、
前記起こり得る結果に対応し、一義的なコードワードを有し、前記起こり得る結果の前記確率履歴に基づいて定期的に再編成される、ルックアップ・テーブル中のエントリを用いて、エンコードされた結果を表現するビットストリームをデコードする手段と、から成るシステム。
【請求項７９】
異なるコードワードに前記ルックアップ・テーブル中の前記エントリを再割当てする手段をさらに備える、請求項７８に記載のシステム。
【請求項８０】
異なるコードワードに前記ルックアップ・テーブル中の前記エントリを再割当てする前記手段が、出現の確率履歴がより高い結果に、より短いコードワードを割り当てること、および出現の確率履歴がより低い結果に、より長いコードワードを割り当てることから成る、請求項７９に記載のシステム。
【請求項８１】
ピクチャ、スライス、またはマクロブロックの前記ストリームにおいて場面の変化が検出されると、前記ルックアップ・テーブルを、そのデフォルト値にリセットする手段をさらに備える、請求項７８に記載のシステム。
【請求項８２】
前記イントラ・ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルを用いる手段をさらに備える、請求項７８に記載のシステム。
【請求項８３】
前記予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルを用いる手段をさらに備える、請求項７８に記載のシステム。
【請求項８４】
前記両方向予測ピクチャ、スライス、またはマクロブロックに対して、別個のルックアップ・テーブルを用いる手段をさらに備える、請求項７８に記載のシステム。
【請求項８５】
前記ルックアップ・テーブル中の前記エントリを、ピクチャごとに１度再編成する手段をさらに備える、請求項７８に記載のシステム。
【請求項８６】
前記ルックアップ・テーブル中の前記エントリを、スライスごとに１度再編成する手段をさらに備える、請求項７８に記載のシステム。
【請求項８７】
前記ルックアップ・テーブル中の前記エントリを、マクロブロックごとに１度再編成する手段をさらに備える、請求項７８に記載のシステム。
【請求項８８】
定義可能な数の前記ピクチャ、前記スライス、または前記マクロブロックに渡るスライディング・ウィンドウによって定義された時間より前に起こる、前記デコードされた結果を、前記起こり得る結果の前記確率履歴の前記演算において無視する手段をさらに備える、請求項７８に記載のシステム。
【請求項８９】
前記起こり得る結果の前記確率履歴の前記演算に、時間的に近いピクチャ、スライス、またはマクロブロックを補償するための重みづけ因子を組み込む手段をさらに備える、請求項７８に記載のシステム。
【請求項９０】
前記ルックアップ・テーブル中の前記エントリの前記定期的な再編成を、エンコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期する手段をさらに備える、請求項７８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像コンテンツのための適応型汎用可変長符号化に関する。
【背景技術】
【０００２】
画像圧縮は、現行のおよび新しく出てきている多くの製品において用いられている。画像圧縮は、デジタル・テレビのセットトップ・ボックス（ＳＴＢ）、デジタル衛星システム（ＤＳＳ）、高解像度テレビ（ＨＤＴＶ）デコーダ、デジタル多用途ディスク（ＤＶＤ）プレーヤ、テレビ会議、インターネットの画像およびマルチメディア・コンテンツ、ならびに他のデジタル画像アプリケーションの核心部分である。画像圧縮を使用しないと、デジタル画像コンテンツを表現するのに必要なビット数が極めて多くなり、デジタル画像コンテンツを効率的に格納し、伝送し、または視聴することが困難に、または不可能になる場合もある。
デジタル画像コンテンツは、テレビ受信機、コンピュータのモニタ、またはデジタル画像コンテンツの表示が可能な他の何らかの電子装置上でイメージとして表示することが可能なピクチャのストリームを含む。ある特定のピクチャより前の時間に表示されるピクチャは、その特定のピクチャに対して「逆方向」にある。同様に、ある特定のピクチャより後の時間に表示されるピクチャは、その特定のピクチャに対して「順方向」にある。
【０００３】
各ピクチャは、マクロブロック（ＭＢ）から成るスライスに分割することが可能である。スライスとは、マクロブロックから成る一群であり、マクロブロックとは、ピクセルから成る矩形の一群である。一般的なマクロブロックの大きさは、１６ｘ１６ピクセルである。
【０００４】
画像符号化の背景にある一般概念は、デジタル画像コンテンツから、「本質的でない」データを取り除くことである。量が減少したデータは、放送または伝送用に、より狭い帯域幅しか必要としない。圧縮された画像データは、伝送された後、デコード、すなわち圧縮解除されなければならない。この工程において、伝送された画像データは、符号化工程において取り除かれた「本質的でない」データと置き換わる、画像データに入れて置換される近似データを生成するように処理される。
【０００５】
画像符号化により、デジタル画像コンテンツは、圧縮されていないデジタル画像コンテンツよりも狭い空間を用いて格納すること、および狭い帯域幅を用いて伝送することが可能な、圧縮された形に変換される。画像符号化は、画像コンテンツのピクチャの時間的および空間的な冗長性を利用することによって、そうした変換を行う。デジタル画像コンテンツは、ハード・ドライブ、ＤＶＤ、または他の何らかの不揮発性記憶装置などの記憶媒体に格納することが可能である。
【０００６】
デジタル画像コンテンツを圧縮する画像符号化方法は、数多く存在する。そのため、様々な画像符号化方法が標準化され、そうすることによって、圧縮されたデジタル画像コンテンツが、大多数の画像エンコーダおよびデコーダが認識し得る形式にレンダリングされるようにするために、画像符号化標準が開発されている。たとえば、動画像専門家委員会（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ））、および国際電気通信連合（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ
Ｕｎｉｏｎ（ＩＴＵ−Ｔ）が、広く利用されている画像符号化標準を開発している。こうした標準の例として、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６１、およびＩＴＵ−Ｔ  Ｈ．２６３標準がある。
【０００７】
しかし、より高い解像度、より複雑な画像コンテンツ、およびより速い伝送時間に対する要求が高まるにつれ、より優れた画像圧縮方法の必要性も高まっている。この目標のために、現在、新しい画像符号化標準が開発されている。この新しい画像符号化標準は、ＭＰＥＧ−４  Ｐａｒｔ  １０次世代画像符号化（ＡＶＣ）／Ｈ．２６４標準と呼ばれる。
【０００８】
ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ／Ｈ．２６４標準を始めとする最新の画像符号化標準は、汎用可変長コードワード（universal variable length codeword, ＵＶＬＣ）符号化に部分的に基づいている。ＵＶＬＣ符号化では、ある特定のピクチャ、スライス、またはマクロブロックに関連づけられたシンタックスまたは事象をエンコードするのに、ＵＶＬＣ表が用いられる。事象のある特定の結果をエンコードするのに必要なビット数は、ＵＶＬＣ表中での、その結果の位置に依存する。ＵＶＬＣ表中の特定の結果の位置は、確率分布に基づいて決まる。この符号化手順は、ビットストリームを生成し、このビットストリームは次いで、同様のＵＶＬＣ表を用いて、デコーダによってデコードされ得る。
【０００９】
しかし、従来のＵＶＬＣ符号化に伴う問題は、事象の起こり得る結果が固定された確率分布を有することである。言い換えると、事象の使用頻度に関わらず、事象のある特定の結果をエンコードするのに、同じビット数が用いられる。しかし、多くのアプリケーションでは、起こり得る結果の確率は、ピクチャごと、スライスごと、またはマクロブロックごとに大幅に変わり得る。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
したがって、当該分野において、符号化工程において使われるビットをより少なくするために、適応ＵＶＬＣを用いたビットストリーム生成方法が必要とされている。
【課題を解決するための手段】
【００１１】
可能な多くの実施形態の１つにおいて、本発明は、デジタル画像コンテンツの事象の起こり得る結果をエンコードし、エンコードされた結果を生じさせる方法を提供する。デジタル画像コンテンツは、それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含む。この方法は、起こり得る結果の確率履歴に基づいて定期的に再編成される、ルックアップ・テーブル中のエントリを用いて、エンコードされた結果を表現するビットストリームを生成することから成る。起こり得る結果の確率履歴は、ピクチャ、スライス、またはマクロブロックのストリーム中での、エンコードされた結果それぞれの出現をカウントすることによって演算される。ルックアップ・テーブル中のエントリの定期的な再編成は、エンコードされた結果を表現するビットストリームを正しくデコードすることが可能になるように、デコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期される。
【００１２】
本発明の別の実施形態は、デジタル画像コンテンツの事象の起こり得る結果をデコードし、デコードされた結果を生じさせる方法を提供する。この方法は、エンコーダによって生成されているとともにエンコードされた結果を表現する、ビットストリームをデコードすることから成る。この方法は、起こり得る結果の確率履歴に基づいて定期的に再編成される、ルックアップ・テーブル中のエントリを用いる。起こり得る結果の確率履歴は、ピクチャ、スライス、またはマクロブロックのストリーム中での、デコードされた結果それぞれの出現をカウントすることによって演算される。ルックアップ・テーブル中のエントリの定期的な再編成は、エンコードされた結果を表現するビットストリームを正しくデコードすることが可能になるように、エンコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期される。
【００１３】
本発明の別の実施形態は、デジタル画像コンテンツの事象の起こり得る結果をエンコードし、エンコードされた結果を生じさせるエンコーダを提供する。デジタル画像コンテンツは、それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含む。エンコーダは、起こり得る結果に対応するエントリを有するルックアップ・テーブルを備えている。エントリはそれぞれ、一義的なコードワードに関連づけられる。エンコーダはまた、ピクチャ、スライス、またはマクロブロックのストリーム中での、エンコードされた結果それぞれの出現をカウントするとともに、起こり得る結果の確率履歴を演算するカウンタを備えている。ルックアップ・テーブル中のエントリは、起こり得る結果の確率履歴に基づいて定期的に再編成され、エンコーダによって、エンコードされた結果を表現するビットストリームを生成するのに用いられる。ルックアップ・テーブル中のエントリの定期的な再編成は、エンコードされた結果を正しくデコードすることが可能になるように、デコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期される。
【００１４】
本発明の別の実施形態は、デジタル画像コンテンツの事象の起こり得る結果をデコードし、デコードされた結果を生じさせるデコーダを提供する。デジタル画像コンテンツは、それぞれがイントラの、予測の、または両方向予測のピクチャ、スライス、またはマクロブロックであってよい、ピクチャ、スライス、またはマクロブロックのストリームを含む。デコーダは、起こり得る結果に対応するエントリを有するルックアップ・テーブルを備えている。エントリはそれぞれ、一義的なコードワードに関連づけられる。デコーダはまた、ピクチャ、スライス、またはマクロブロックのストリーム中での、デコードされた結果それぞれの出現をカウントするとともに、起こり得る結果の確率履歴を演算するカウンタを備えている。ルックアップ・テーブル中のエントリは、起こり得る結果の確率履歴に基づいて定期的に再編成され、デコーダによって、エンコードされた結果を表現するビットストリームをデコードするのに用いられる。ルックアップ・テーブル中のエントリの定期的な再編成は、エンコードされた結果を正しくデコードすることが可能になるように、デコーダによって使われるルックアップ・テーブル中のエントリの定期的な再編成と同期される。
【００１５】
添付の図面は、本発明の様々な実施形態を示し、本願明細書の一部をなす。図示した実施形態は、本発明の例に過ぎず、本発明の範囲を限定するものではない。
【発明を実施するための最良の形態】
【００１６】
全図面を通して、同一の参照番号は、同様の要素を示すが、必ずしも同一の要素でなくてよい。
本願明細書は、適応型汎用可変長コードワード（ＵＶＬＣ）符号化を用いたビットストリーム生成方法を提供する。この方法は、ルックアップ・テーブルを用いてエンコードされたビットストリームを生成する、どのデジタル画像符号化方式においても使用することが可能である。具体的には、この方法は、ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ／Ｈ．２６４画像符号化標準において見られる、ＵＶＬＣ符号化方式、およびコンテキスト・ベースの適応バイナリ算術符号化（ＣＡＢＡＣ）符号化方式として実現することが可能である。
【００１７】
上述したように、ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ／Ｈ．２６４標準は、デジタル画像コンテンツをエンコードし圧縮するための新しい標準である。ジョイントビデオチーム（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ））によって２００２年８月１０日に発行された「Ｊｏｉｎｔ  Ｆｉｎａｌ  Ｃｏｍｍｉｔｔｅｅ  Ｄｒａｆｔ（ＪＦＣＤ）ｏｆ  Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」（ＩＴＵ−Ｔ承認済みのＨ．２６４、およびＩＳＯ／ＩＥＣ１４４９６−１０  ＡＶＣ）を含む、ＭＰＥＧ−４  Ｐ
ａｒｔ  １０  ＡＶＣ／Ｈ．２６４標準を制定する文書を、本願明細書に援用する。ＪＶＴは、ＭＰＥＧおよびＩＴＵ−Ｔの専門家から構成される。ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ／Ｈ．２６４標準は公開されているので、本願明細書は、ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ／Ｈ．２６４画像符号化の既存の側面すべてを記載することは試みず、援用した標準の仕様に依拠する。
【００１８】
この方法は、ビットストリーム生成を必要とする、一般的な、どのデジタル画像符号化アルゴリズムでもシステムでも使用することが可能である。この方法は、特定の標準またはアプリケーションに最も役立つように、ピクチャ、スライス、またはマクロブロックに関連づけられた事象をエンコードし、デコードするように、修正し使用することが可能である。したがって、本願明細書で説明する実施形態は、主としてＵＶＬＣ符号化を扱うが、他の実施形態は、たとえばＣＡＢＡＣなど他の画像符号化方式に適用される。
【００１９】
図１に示すように、画像符号化方法において使うことが可能な好ましくは３タイプのピクチャがある。この３タイプのピクチャは、格納されているデジタル画像コンテンツへのランダム・アクセスをサポートするとともに、動き補償を伴う時間予測を用いて、最大冗長削減を試みるように定義される。こうした３タイプのピクチャは、イントラ（Ｉ）ピクチャ（１００）、予測（Ｐ）ピクチャ（１０２ａ、ｂ）、および両方向予測（Ｂ）ピクチャ（１０１ａ〜ｄ）である。Ｉピクチャ（１００）は、格納されているデジタル画像コンテンツへのランダム・アクセス用のアクセス・ポイントを提供する。イントラ・ピクチャ（１００）は、参照ピクチャを参照せずにエンコードされ、中程度の圧縮を用いてエンコードすることが可能である。
【００２０】
予測ピクチャ（１０２ａ、ｂ）は、エンコード済みのＩ、Ｐ、またはＢピクチャを参照ピクチャとして用いてエンコードされる。参照ピクチャは、エンコード中のＰピクチャに対して順時間方向でも、逆時間方向でもよい。予測ピクチャ（１０２ａ、ｂ）は、イントラ・ピクチャ（１００）よりも高い圧縮を用いてエンコードすることが可能である。
【００２１】
両方向予測ピクチャ（１０１ａ〜ｄ）は、２つの時間参照ピクチャを用いてエンコードされる。本発明の態様では、２つの時間参照ピクチャは、エンコード中のＢピクチャに対して同じ時間方向でも、異なる時間方向でもよい。両方向予測ピクチャ（１０１ａ〜ｄ）は、３つのピクチャ・タイプのうち最も高い圧縮を用いてエンコードすることが可能である。
【００２２】
３つのピクチャ・タイプの間の参照関係（１０３）を、図１に示す。たとえば、Ｐピクチャ（１０２ａ）は、エンコードされたＩピクチャ（１００）を、その参照ピクチャとして用いてエンコードすることが可能である。Ｂピクチャ（１０１ａ〜ｄ）は、図１に示すように、エンコードされたＩピクチャ（１００）およびエンコードされたＰピクチャ（１０２ａ、ｂ）を、その参照ピクチャとして用いて、エンコードすることが可能である。エンコードされたＢピクチャ（１０１ａ〜ｄ）は、エンコードされる他のＢピクチャ用の参照ピクチャとしても使うことが可能である。たとえば、図１のＢピクチャ（１０１ｃ）は、他の２つのＢピクチャ（１０１ｂおよび１０１ｄ）を、その参照ピクチャとして有して示してある。
【００２３】
図１に示すＩピクチャ（１００）、Ｂピクチャ（１０１ａ〜ｄ）、およびＰピクチャ（１０２ａ、ｂ）の数と具体的な順序は、ピクチャの例示的な構成として示してあるが、本発明を実現するのに必要なわけではない。ある特定のアプリケーションに最も役立つように、任意の数のＩ、Ｂ、およびＰピクチャを、任意の順序で使ってもよい。ＭＰＥＧ−４
Ｐａｒｔ  １０  ＡＶＣ／Ｈ．２６４標準は、２つの参照ピクチャの間のＢピクチャの数に対してどのような制限も課さず、２つのＩピクチャの間のピクチャの数も制限しない
。
【００２４】
図２は、各ピクチャ（２００）が、好ましくは、マクロブロックから成るスライスに分割されることを示す。スライス（２０１）は、マクロブロックから成る一群であり、マクロブロック（２０２）は、ピクセルから成る矩形の一群である。図２に示すように、好ましいマクロブロック（２０２）の大きさは、１６ｘ１６ピクセルである。
【００２５】
ここで、使用され得る好ましいＵＶＬＣ表を、詳細に説明する。表１は、好ましいＵＶＬＣコードワード構造を示す。表１に示すように、各コードワードに関連づけられたコード番号が存在する。
【００２６】
【表１】
2005528066.tif 000003
表１に示すように、コードワードとは、事象のある特定の結果をエンコードするのに使うことが可能なビットの列である。コードワードのビット長は、コードワードの対応するコード番号の増加に従って増加する。たとえば、コード番号０は、１ビットしかないコードワードを有する。しかし、コード番号１１は、長さが７ビットのコードワードを有する。表１における、コード番号へのコードワードの割当ては、例示的な性質のものであり、ある特定のアプリケーションに最も役立つように、修正することが可能である。
【００２７】
表２は、コードワードと、エンコードされる好ましい事象との間の関係を示す。表２の事象は、例示的な性質のものであり、本発明の実施形態によって符号化することが可能な、事象の唯一のタイプではない。表２に示すように、エンコードされる例示的な事象、またはシンタックスの一部は、ＲＵＮ、ＭＢ＿Ｔｙｐｅ  Ｉｎｔｒａ、ＭＢ＿Ｔｙｐｅ  Ｉｎｔｅｒ、Ｉｎｔｒａ＿ｐｒｅｄ＿ｍｏｄｅ、動きベクトル・データ（ＭＶＤ）、符号化されたブロック・パターン（ＣＢＰ）ｉｎｔｒａおよびｉｎｔｅｒ、Ｔｃｏｅｆｆ＿ｃｈｒｏｍａ＿ＤＣ、Ｔｃｏｅｆｆ＿ｃｈｒｏｍａ＿ＡＣ、およびＴｃｏｅｆｆ＿ｌｕｍａである。こうした事象は、ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ／Ｈ．２６４画像符号化標準に詳細に記述されており、したがって本願明細書では説明しない。
【００２８】
【表２】
2005528066.tif 000004
表２に示すように、各事象は、いくつかの起こり得る結果を有する。たとえば、ＭＢ＿Ｔｙｐｅ（ｉｎｔｅｒ）の結果は、１６ｘ１６、１６ｘ８、８ｘ１６、８ｘ８、などである。各結果には、コードワードに関連づけられたコード番号が割り当てられる。エンコーダは次いで、デコーダに送られるビットストリーム中に、そのコードワードを配置することによって、ある特定の結果をエンコードすることが可能である。デコーダは次いで、同一のＵＶＬＣ表を用いて、正しい結果をデコードする。たとえば、１６ｘ１６の結果（ｉｎｔｅｒ＿１６ｘ１６）には、０というコード番号、および「１」というコードワードが割り当てられる。ｉｎｔｅｒ＿１６ｘ１６をエンコードするために、エンコーダは、ビットストリーム中に「１」を配置する。同様に、４ｘ４の結果（ｉｎｔｅｒ＿４ｘ４）には、６というコード番号、および「０１０１１」というコードワードが割り当てられる。ｉｎｔｅｒ＿４ｘ４をエンコードするために、エンコーダは、ビットストリーム中に「０１０１１」を配置する。
【００２９】
表１に示すように、ＵＶＬＣコードワードのビット長さは、１、３、３、５、５、５、５、７、７、７、．．．である。このことは、エンコードされる事象が、その結果に対して、１／２、１／８、１／８、１／３２、１／３２、１／３２、１／３２、１／１２８、１／１２８、．．．という確率分布を有すると仮定している。たとえば、表３は、表２で与えられる例示的なＭＢ＿Ｔｙｐｅ（ｉｎｔｅｒ）事象に対する最初の１５通りの起こり得る結果を、関連づけられたコード番号、コードワード長、および仮定される確率と共に列挙する。
【００３０】
【表３】
2005528066.tif 000005
表３の例に示すように、可能な各結果は、固定した確率を有すると仮定される。この仮定は、有効でない場合がある。たとえば、ｉｎｔｅｒ＿４ｘ４の確率は、ピクチャごと、スライスごと、またはマクロブロックごとに大幅に変わり得る。表３の例では、ｉｎｔｅｒ＿４ｘ４は、６というコード番号、および長さが５のコードワードを有する。しかし、ｉｎｔｅｒ＿４ｘ４が、ピクチャ、スライス、またはマクロブロックのある特定のシーケ
ンスに対して、最もよく使われる符号化モードになる場合もある。しかし、固定ＵＶＬＣ表を用いた場合、ｉｎｔｅｒ＿４ｘ４は、１ビットではなく、５ビットでエンコードされなければならない。この状況において、ｉｎｔｅｒ＿４ｘ４が、５ビットではなく１ビットで符号化することが可能である場合、符号化工程は、より効率的になり、はるかに少ないビットしか必要としない。これに対して、ｉｎｔｅｒ＿１６ｘ１６は、ある特定のシーケンスに対して、最も使われないモードである場合がある。しかし、固定ＵＶＬＣ表に基づいて、ｉｎｔｅｒ＿１６ｘ１６は、常に１ビットでエンコードされなければならない。この仮定に基づく説明は、事象の実際の確率分布が仮定の確率分布とかけ離れている場合、固定ＵＶＬＣ表の性能がどの程度最適でないかを示す。
【００３１】
ここで、適応ＵＶＬＣ符号化の好ましい方法を、表４および表５に関連して説明する。本発明の実施形態によると、事象（たとえばｉｎｔｅｒ＿４ｘ４）の個々の結果は、その確率に従って、ＵＶＬＣ表において上下に移動される。たとえば、ｉｎｔｅｒ＿４ｘ４が最もよく使われるコード・モードであることを履歴が示す場合、結果ｉｎｔｅｒ＿４ｘ４は、ＵＶＬＣ表の先頭に移動される。同時に、他の起こり得る結果が、表４に示すように、ＵＶＬＣ表中で繰り下げられる。
【００３２】
【表４】
2005528066.tif 000006
表４に示すように、ｉｎｔｅｒ＿４ｘ４はここで、コード番号０、および１ビットのコードワード長を有する。ＵＶＬＣ表をこのように変更することによって、エンコードされたビットストリームに含めなければならないビットが、固定ＵＶＬＣ表が代わりに使われた場合よりもはるかに少なくなる。
【００３３】
同様に、確率の履歴が後になって、ｉｎｔｅｒ＿１６ｘ１６が、表４の例における１５通りの起こり得る結果の最も使われないｉｎｔｅｒコード・モードであることを示す場合、ｉｎｔｅｒ＿１６ｘ１６は、表５に示すように、ＵＶＬＣ表の一番下に移動される。
【００３４】
【表５】
2005528066.tif 000007
表５に示すように、ｉｎｔｅｒ＿１６ｘ１６はここで、コード番号１４、および７のコードワード長を有する。ＵＶＬＣ表をこのように変更することによって、ｉｎｔｅｒ＿１６ｘ１６よりも起こりやすい結果が、ｉｎｔｅｒ＿１６ｘ１６の場合よりも少ないビットでエンコードされる。
【００３５】
確率履歴情報は、好ましくは、エンコーダおよびデコーダ両方に対して利用可能である。したがって、デコーダによって用いられるＵＶＬＣ表は、正しく更新することが可能であり、コードワードは、正しくデコードすることが可能である。
【００３６】
確率分布の仮定は、適応ＵＶＬＣ符号化のこの好ましい方法では変更されないことに留意されたい。そうではなく、ＵＶＬＣ表中で事象の結果を上下に移動することによって、より使われる結果がより少ないビットでエンコードされ、より使われない結果がより多くのビットでエンコードされる。この適応は、ＵＶＬＣ表中の事象すべて、たとえばＲＵＮ、ＭＢ＿Ｔｙｐｅ（ｉｎｔｒａ）、ＭＶＤなどに適用される。
【００３７】
次に、適応ＵＶＬＣ符号化方法の好ましい実現を、図３に関連して説明する。符号化は、表３に示すテーブルなどのデフォルトＵＶＬＣ表（３０２）を用いて開始することが可能である。デフォルトＵＶＬＣ表（３０２）は、ＣＡＢＡＣ符号化用の、または他のタイプのデジタル画像符号化用のルックアップ・テーブルでもよい。「ＵＶＬＣ表」という用語は、これ以降、本願明細書および添付の特許請求の範囲において、特段の注記がない限り、適応ＵＶＬＣ符号化において、またはＣＡＢＡＣ符号化などの他のタイプのデジタル
画像符号化において使用される、任意のルックアップ・テーブルを指定するのに用いられる。
【００３８】
図３に示すように、エンコーダ（３００）およびデコーダ（３０１）は両方とも、好ましくは起こり得る事象それぞれの結果それぞれの出現をカウントするように設定されるカウンタ（３０３，３０５）を有する。たとえば、カウンタ（３０３，３０５）は、結果ｉｎｔｅｒ＿４ｘ４が、エンコーダ（３００）およびデコーダ（３０１）の両端末において何度出現するか、カウントする。エンコーダ（３００）が事象の結果をエンコードした後、エンコーダの対応するカウンタ（３０３）は、好ましくは、その特定の結果のエンコードを反映するように、自動的に更新される。同様に、デコーダ（３０１）が事象の結果をデコードした後、デコーダの対応するカウンタ（３０５）も、好ましくは、その特定の結果のデコードを反映するように、自動的に更新される。本発明の実施形態によると、カウンタ（３０３，３０５）を更新するための規則は、エンコーダ（３００）およびデコーダ（３０１）に対して同一である。したがって、カウンタ（３０３，３０５）は、エンコード端末およびデコード端末両方において同期される。
【００３９】
図３に示すように、ＵＶＬＣ表（３０２，３０４）は、カウンタ（３０３，３０５）の結果を反映するように、定期的に更新される。言い換えると、ＵＶＬＣ表（３０２，３０４）は、カウンタ（３０３，３０５）によってカウントされる、結果の確率履歴に従って、全体的に並べ替えられる。次いで、カウンタ（３０３，３０５）によってカウントされた確率が最も高い結果が、好ましくはＵＶＬＣ表中の最も高い位置に置かれる。したがって、こうした結果は、比較的短いコードワード長を用いて符号化される。
【００４０】
本発明の別の実施形態によると、ＵＶＬＣ表（３０２，３０４）の更新頻度は、ある特定のアプリケーションに最も役立つように変わり得る。更新頻度は、好ましくは、正しいデコードのために、エンコーダのＵＶＬＣ表（３０２）およびデコーダのＵＶＬＣ表（３０４）両方に対して同じである。たとえば、更新頻度は、ピクチャ単位、フレーム単位、スライス単位、またはマクロブロック単位でよい。別の可能性として、ＵＶＬＣ表（３０２，３０４）は、事象の確率分布に大幅な変化が起こると、更新することが可能になる。こうした更新頻度の可能性は、本発明の実施形態による唯一の更新頻度ではない。そうではなく、ある特定のアプリケーションに適合するいかなる更新頻度も、本発明で具現化される。
【００４１】
次に、事象の結果の確率を計算する例示的な方法を説明する。Ｐｒ  ｏｂ（ｉ，ｊ）を、取り決められた更新期間ｉに対する事象の結果ｊの確率とする。たとえば、取り決められた更新期間は、毎フレームごとでよい。ＵＶＬＣ表（３０２，３０４）を更新するのに使われる事象の結果の確率は、以下のように計算される。
【００４２】
【数１】
2005528066.tif 000008
上式で、０≦α＜１である。後続フレームの間の時間的な相関が高いので、符号化されたフレームに基づく、更新されるＵＶＬＣ表（３０２，３０４）は、入ってくるフレームにとって、ある程度ふさわしいものであるべきである。本発明の別の実施形態では、場面の変化が検出されると、ＵＶＬＣ表（３０２，３０４）は、そのデフォルトのコンテンツに切換え復帰され、カウンタ（３０３，３０５）も同様にリセットされる。これは、一部のアプリケーションでは、確率履歴に基づく、更新されたＵＶＬＣ表（３０２，３０４）が、新しい場面にとって理想的でない場合があるからである。しかし、本発明の別の実施
形態によると、新しい場面に遭遇したとき、デフォルトＵＶＬＣ表値に切換え復帰する必要はない。
【００４３】
本発明の別の実施形態によると、ピクチャ・タイプ、すなわちＩ、Ｐ、およびＢそれぞれに対して、別個のＵＶＬＣ表が用いられる。こうしたＵＶＬＣ表は、好ましくは図３に関連して説明した方法を用いて更新される。特定のピクチャ・タイプに対応する結果の出現をカウントするＵＶＬＣ表それぞれに対して、別個のカウンタが存在し得る。ただし、一部のアプリケーションは、異なるピクチャ・タイプに対して別個のＵＶＬＣ表が用いられることを必要としなくてもよい。たとえば、１つ、２つ、または３つの異なるピクチャ・タイプに対して、ただ１つのＵＶＬＣ表を用いることが可能である。
【００４４】
本発明の別の実施形態によると、時間経過に伴う画像特性の変化を明らかにするための確率統計値の累積において、スライディング・ウィンドウがカウンタによって使用される。確率カウンタは、好ましくは、「古くなった」すなわちスライディング・ウィンドウの範囲外の結果出現データを放棄する。スライディング・ウィンドウによる方法は、多くのアプリケーションにおいて好ましい。というのは、たとえばこの方法を用いない場合、ＵＶＬＣ表中の順序を変えるために、たとえば１１番目のフレームよりも、１００１番目のフレームに著しい影響があるからである。
【００４５】
カウンタにおけるスライディング・ウィンドウの実現を、図４に関連して説明する。以下の説明では、１つの事象に対してＪ通りの起こり得る結果があり、図４に示すように、スライディング・ウィンドウがｎ個のフレームに渡ると仮定する。Ｎ（ｉ，ｊ）を、フレームｉに対する結果ｊのカウンタとする。スライディング・ウィンドウ中の結果ｊの総カウンタは、以下のようになる。
【００４６】
【数２】
2005528066.tif 000009
結果ｊの確率は、したがって、以下に等しい。
【００４７】
【数３】
2005528066.tif 000010
スライディング・ウィンドウの適応により、有限な期間に渡って統計値が累積されることが保証される。画像シーケンスの別の特性として、フレームは通常、時間的に遠い他のフレームよりも、時間的に近い他のフレームとの相関が高い。この特性は、ある特定の事象用のカウンタの更新に重みづけ因子α（α＜１）を組み込むことによって取り込むことが可能である。Ｎ（ｉ，ｊ）を、フレームｉに対する結果ｊ用のカウンタとする。ここで、結果ｊの総カウンタは、以下の式によって与えられる。
【００４８】
【数４】
2005528066.tif 000011
結果ｊの確率は、したがって、以下に等しい。
【００４９】
【数５】
2005528066.tif 000012
このタイプの重みづけにより、事象の結果の現在の出現は、以前の出現よりも、現在の出現の確率に対してより強い影響を与えることが保証される。ただし、重みづけは、任意選択であり、一部のアプリケーションでは使われない。
【００５０】
適応ＵＶＬＣの概念は、ＣＡＢＡＣに適用することが可能である。ＣＡＢＡＣにおいて、ＵＶＬＣ符号化において符号化することが可能な同じ事象の結果は、適応バイナリ・コードを用いて符号化される。コード番号は、最初にバイナリ・データに変換される。バイナリ・データは次いで、適応バイナリ算術コードに送り込まれる。コード番号が小さいほど、コード番号がバイナリ化されたビット数が少なくなる。各事象の結果へのコード番号の割当ては一般に、固定されている。ただし、各事象の結果へのコード番号の割当ては、結果の確率履歴に従って適応させることが可能である。
【００５１】
適応ＣＡＢＡＣは、図３の適応ＵＶＬＣ符号化を説明したのと同じ方法を用いて実現される。ただし、ＵＶＬＣ表を更新するのではなく、カウンタが、ＣＡＢＡＣ符号化用に、各事象の結果へのコード番号の割当てを更新する。
【００５２】
以上、本発明の実施形態を例示し説明するためにのみ、説明を行った。本説明は、本発明を網羅することも、開示した厳密などの形に本発明を限定することも意図していない。上記の教示を鑑みることにより、多くの修正形態および変形形態が可能である。本発明の範囲は、添付の特許請求の範囲によって定義されるものとする。
【図面の簡単な説明】
【００５３】
【図１】ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ／Ｈ．２６４標準などの例示的な画像符号化標準によって定義される、本発明の実施形態による３タイプのピクチャの例示的なシーケンスを示す図。
【図２】各ピクチャが、マクロブロックから成る１つまたは複数のスライスに好ましくは分割されることを示す図。
【図３】本発明の実施形態による、適応ＵＶＬＣ符号化方法の好ましい実現を示す図。
【図４】本発明の、スライディング・ウィンドウ実施形態の実現を示す図。
【図１】
2005528066.tif 000013
【図２】
2005528066.tif 000014
【図３】
2005528066.tif 000015
【図４】
2005528066.tif 000016
【国際調査報告】
2005528066.tif 000017
2005528066.tif 000018
2005528066.tif 000019
2005528066.tif 000020
2005528066.tif 000021
2005528066.tif 000022
2005528066.tif 000023