(57)【特許請求の範囲】
【請求項１】
データシンボルに対する算術コーディングを遂行する方法であって、
データシンボルの各々に対する区間を生成するステップであって、前記区間は前記区間の開始地点と長さに基づいて表現される、ステップと、
データシンボルの各々に対する前記区間をアップデートするステップと、
前記アップデートされた区間が特定範囲（range）内に含まれているか否かを確認するステップと、
前記アップデートされた区間が前記特定範囲内に含まれない時、前記アップデートされた区間を調整するステップと、
前記調整された区間を再正規化するステップとを含む、方法。
【請求項２】
前記アップデートされた区間の上位範囲と下位範囲のうちの１つを選択するステップをさらに含み、
前記アップデートされた区間は選択された範囲に基づいて調整される、請求項１に記載の方法。
【請求項３】
前記アップデートされた区間内に臨界地点（threshold point）を算出するステップと、
前記臨界地点から前記上位範囲の上位地点(a top point)までの第１距離と、前記臨界地点から前記下位範囲の下位地点(a bottom point)までの第２距離とを比較するステップと、をさらに含み、
前記アップデートされた区間は前記比較結果に基づいて調整される、請求項２に記載の方法。
【請求項４】
前記第１距離が前記第２距離より短い場合、前記アップデートされた区間の長さは前記第２距離に設定される、請求項３に記載の方法。
【請求項５】
前記第１距離が前記第２距離より短くない場合、前記アップデートされた区間の長さは前記第１距離に設定され、前記アップデートされた区間の開始地点は前記臨界地点に設定される、請求項３に記載の方法。
【請求項６】
二進算術コーディングユニットを含む、データシンボルに対する算術コーディングを遂行する装置であって、
前記二進算術コーディングユニットは、
前記データシンボルの各々に対する区間を生成し、前記区間は前記区間の開始地点と長さに基づいて表現され、
データシンボルの各々に対して前記区間をアップデートし、
前記アップデートされた区間が特定範囲内に含まれているか否かを確認し、
前記アップデートされた区間が前記特定範囲内に含まれない時、前記アップデートされた区間を調整し、
前記調整された区間を再正規化するように構成された、装置。
【請求項７】
前記アップデートされた区間が特定範囲内に含まれる場合、前記特定範囲内に位置したビットがバッファに格納され、前記アップデートされた区間が再正規化される、請求項６に記載の装置。
【請求項８】
前記二進算術コーディングユニットは、前記アップデートされた区間の上位範囲と下位範囲のうちの１つを選択し、
前記アップデートされた区間は選択された範囲に基づいて調整される、請求項６に記載の装置。
【請求項９】
前記二進算術コーディングユニットは前記上位範囲の長さと前記下位範囲の長さとを比較し、
前記アップデートされた区間は前記比較結果に基づいて再正規化される、請求項８に記載の装置。
【請求項１０】
前記上位範囲の長さが前記下位範囲の長さより小さな場合、前記アップデートされた区間の長さは前記下位範囲の長さに設定される、請求項９に記載の装置。
【請求項１１】
前記上位範囲の長さが前記下位範囲の長さより小さくない場合、前記アップデートされた区間の長さは前記上位範囲の長さに設定され、前記アップデートされた区間の開始地点が符号化されるビット位置に設定される、請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオ信号を処理するための方法及び装置に関し、より詳しくは、制限されたキャリー（carry）演算による算術コーディングを遂行するための技術に関する。
【背景技術】
【０００２】
エントロピーコーディングは最も少ない数の平均ビット数を有するデータを示すための過程であり、全てのメディア圧縮方法における基本的な技術である。その中でも算術コーディングはプリフィクス（prefix）コーディング（例えば、ハフマン（Huffman）、ライス（Rice）、 指数ゴロム（exp-Golomb）コードのような他のコーディング技術に比べて高度の演算複雑度を有するエントロピーコーディング方法であるが、よりよい（ほとんど理論的限界に近い）圧縮結果を見せているので、最近のビデオコーディング規格であるＨ．２６５／ＨＥＶＣ及びＶＰ９で用いられており、今後にも活用できることと期待されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
算術コーディングを実際的に具現する方法には多様な選択があり、これらの各々はこのような具現が汎用の目的のプロセッサ及び通常のソフトウェアツールによりなされるか、または特殊なハードウェア（ＡＳＩＣｓ）によりなされるかによって長所と短所を有している。
【０００４】
したがって、本発明はバイト再正規化に基づいて汎用の目的のハードウェアまたは特殊なハードウェアで効果的に具現できる算術コーディングの具現を可能にする技術を定義しようとする。
【０００５】
また、特殊に具現されたハードウェアでの問題点のうちの１つはデータシンボルがエンコーディングされた以後に圧縮されたデータバイトに対する変更の最大個数が制限されないことがあるということである。したがって、本発明は圧縮での損失がほとんど無しでこのような個数を効果的に制限する方法を提案しようとする。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、汎用または特殊化されたハードウェアで効率的に具現されることができ、バイト再正規化に基づく算術コーディングの具現を可能にする技術を定義する。
【０００７】
また、本発明は圧縮での損失がほとんど無しで圧縮されたデータバイトに対する変更の最大個数を効果的に制限する方法を提供する。
【０００８】
また、本発明は区間を調整する方法を提供する。
【０００９】
また、本発明は区間再正規化に対して遅延された決定を遂行する方法を提供する。
【００１０】
また、本発明はバッファ値に制限された決定を遂行する方法を提供する。
【００１１】
また、本発明は拡張精度レジスタでのオーバーフロー可能性を除去するか、またはアウトスタンディングビットとしてバッファで同等なオーバーフローを起こすための方法を提供する。
【発明の効果】
【００１２】
本発明はバイト再正規化に基づく算術コーディングの具現を可能にすることによって汎用または特殊なハードウェアで全て効率的に具現することができる。
【００１３】
また、本発明は圧縮での損失がほとんど無しで圧縮されたデータバイトに対する変更の最大個数を効果的に制限することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明が適用される実施形態に従ってビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図である。
【図２】本発明が適用される実施形態に従ってビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図である。
【図３】本発明が適用される一実施形態に従って算術コーディング区間データをアップデートするために要求される動作の集合を例示するフローチャートである。
【図４】本発明が適用される実施形態に従ってビデオ信号を処理するエントロピーエンコーディングユニット及びエントロピーデコーディングユニットの概略的なブロック図である。
【図５】本発明が適用される実施形態に従ってビデオ信号を処理するエントロピーエンコーディングユニット及びエントロピーデコーディングユニットの概略的なブロック図である。
【図６】本発明が適用される一実施形態に従って能動ビット（active bit）のウィンドウでの算術によるコーディング過程を例示する図である。
【図７】本発明が適用される一実施形態に従う算術コーディング区間に対する再正規化動作を例示する図である。
【図８】本発明が適用される一実施形態に従う算術コーディング区間の可能な位置を例示する図である。
【図９】本発明が適用される一実施形態に従う算術コーディング区間の調整過程を例示する図である。
【図１０】本発明が適用される一実施形態に従う制限されたキャリー演算による算術コーディングを遂行する方法を例示するフローチャートである。
【図１１】本発明が適用される一実施形態に従って算術コーディング区間を再正規化する方法を例示するフローチャートである。
【図１２】本発明が適用される一実施形態に従って算術コーディング区間を調整する方法を例示するフローチャートである。
【図１３】本発明が適用される更に他の実施形態に従って算術コーディング区間を調整する更に他の方法を例示するフローチャートである。
【図１４】本発明が適用される更に他の実施形態に従って算術コーディング区間を調整する更に他の方法を例示するフローチャートである。
【発明を実施するための形態】
【００１５】
本発明は、データシンボルに対する算術コーディングを遂行する方法において、データシンボルの各々に対する区間を生成するステップであって、前記区間は前記区間の開始地点と長さに基づいて表現される、ステップと、データシンボルの各々に対して前記区間をアップデートするステップと、前記アップデートされた区間が特定範囲内に含まれているか否かを確認するステップと、前記確認結果に基づいてアップデートされた区間を再正規化するステップを含むことを特徴とする方法を提供する。
【００１６】
本発明において、前記調整された区間を再正規化するステップをさらに含むことを特徴とする。
【００１７】
本発明は、前記アップデートされた区間が特定範囲内に含まれていない場合、前記アップデートされた区間の上位部分と下位部分のうちの１つを選択するステップをさらに含み、かつ前記アップデートされた区間は選択された部分に基づいて調整されることを特徴とする。
【００１８】
本発明は、前記アップデートされた区間内に臨界地点を算出するステップと、前記臨界地点から前記上位部分までの第１距離と前記臨界地点から前記下位部分までの第２距離とを比較するステップをさらに含み、前記アップデートされた区間は前記比較結果に基づいて調整されることを特徴とする。
【００１９】
本発明において、前記第１距離が前記第２距離より短い場合、前記アップデートされた区間の長さは前記第２距離に設定されることを特徴とする。
【００２０】
本発明において、前記第１距離が前記第２距離より短くない場合、前記アップデートされた区間の長さは前記第１距離に設定され、前記アップデートされた区間の開始時点は前記臨界地点に設定されることを特徴とする。
【００２１】
本発明は、二進算術コーディングユニットを含むデータシンボルに対する算術コーディングを遂行する装置において、前記二進算術コーディングユニットは、データシンボルの各々に対する区間を生成し、前記区間は前記区間の開始地点と長さに基づいて表現され、データシンボルの各々に対して前記区間をアップデートし、前記アップデートされた区間が特定範囲内に含まれているか否かを確認し、前記確認結果に基づいてアップデートされた区間を再正規化するように構成されたことを特徴とする装置を提供する。
【発明の実施のための形態】
【００２２】
以下、添付の図面を参照して本発明の実施形態の構成及びその作用を説明し、図面により説明される本発明の構成及び作用は１つの実施形態として説明されるものであり、これによって本発明の技術的思想とその核心構成及び作用が制限されるものではない。
【００２３】
併せて、本発明で使われる用語はできる限り現在広く使われる一般的な用語を選択したが、特定の場合は出願人が任意に選定した用語を使用して説明する。そのような場合には該当部分の詳細説明でその意味を明確に記載するので、本発明の説明で使われた用語の名称だけで単純解析されてはならず、その該当用語の意味まで把握して解析されるべきであることを明らかにする。
【００２４】
また、本発明で使われる用語は発明を説明するために選択された一般的な用語であるが、類似の意味を有する他の用語がある場合、より適切な解析のために代替可能である。例えば、信号、データ、サンプル、ピクチュア、フレーム、ブロックなどの場合、各コーディング過程で適切に代替されて解析できるものである。また、範囲、長さ、区間（または、コーディング区間、算術コーディング区間）、及び区間長さは、各々の算術コーディング過程で適切に代替されて解析できるものである。
【００２５】
図１及び図２は、本発明が適用される実施形態に従ってビデオ信号を処理するエンコーダ及びデコーダの概略的なブロック図である。
【００２６】
図１のエンコーダ１００は、変換ユニット１１０、量子化ユニット１２０、及びエントロピーエンコーディングユニット１３０を含む。図２のデコーダ２００は、エントロピーデコーディングユニット２１０、逆量子化ユニット２２０、及び逆変換ユニット２３０を含む。
【００２７】
前記エンコーダ１００は、ビデオ信号を受信して前記ビデオ信号から予測された信号を差し引きすることによって予測エラーを生成する。
【００２８】
生成された前記予測エラーは、変換ユニット１１０に転送される。前記変換ユニット１１０は、予測エラーに変換方式を適用することによって変換係数を生成する。
【００２９】
前記量子化ユニット１２０は、前記生成された変換係数を量子化して前記量子化された係数をエントロピーエンコーディングユニット１３０に転送する。
【００３０】
前記エントロピーエンコーディングユニット１３０は、前記量子化された係数に対するエントロピーコーディングを遂行し、エントロピーコーディングされた信号を出力する。この場合、前記エントロピーコーディングは圧縮されたデータシーケンスに入るビットの個数を最適に定義するために使われる過程である。最適のエントロピーコーディング技術のうちの１つの算術コーディングは、多重シンボルを単一の実数で示す方法である。
【００３１】
通常のコーディング条件で、圧縮されたデータバッファ内のビットの値はほとんど同一の確率を有し、ｎ個のアウトスタンディング（outstanding）ビットシーケンスの確率は１／２ｎであるので、とても長いアウトスタンディングビットのシーケンスが出る場合は非常に少ない。しかしながら、算術コーディングの実際の具現は制限されていない個数のアウトスタンディングビットを偶然に（または、意図的に）生成する場合を含む如何なる入力データ及びシンボル集合の確率とも動作するように設計されなければならない。
【００３２】
ソフトウェア（汎用プロセッサ）具現のために設計されたエンコーダは、アウトスタンディングビットの計数器を採択するか、または単純に圧縮されたデータバッファ上のキャリーを仮定する。一方、特殊なプロセッサ（ＡＳＩＣｓ）を使用して具現されたエンコーダは一般的に各動作において要求されるサイクルの個数に対する強い制限を必要とし、したがって平均及び最悪の場合の間で非常に大きい変動を耐えられることができない。
【００３３】
このような問題に対する１つの解決策は、“ビットスタッフィング（stuffing）”と呼ばれるものであって、一回に１つのビットを出力する算術コーディング器のために開発された。連続する“１”のビットの個数が特定の制限を超過する場合に、キャリー電波を制限するために“０”のビットが人為的に挿入できる。このような追加的ビットは如何なる有用な情報も有していないので、圧縮で若干の損失が発生するが、このような損失は相対的に小さく維持できる。
【００３４】
このような解決策の問題点は、完全なバイト（単一ビットでない８ビットワード）の集合を生成する算術コーディングの新たな具現方式では効率的でないということである。ここでいう新たな具現方式とは、データバス及び並列処理が低価格でなされる反面に、クロック速度を高めることが困難な場合、算術符号化器が単一ビット単位でないバイト単位の情報を生成する方式を意味する。
【００３５】
このような具現に対しては“ビットスタッフィング”接近方式は“バイトスタッフィング”に拡張されることができず、言い換えると、キャリー電波を制限するために０バイトを人為的に追加できない。このような方式が所望の結果をもたらすことはできるが、如何なる情報も含んでいない８ビットが追加されなければならず、圧縮での相対的損失が過度になるので、このような方式は実際に具現されることが困難である。
【００３６】
したがって、本発明は汎用または特殊なハードウェアから全て効率的に具現することができ、バイト再正規化に基づく算術コーディングの具現を可能にする技術を定義する。
【００３７】
また、本発明は圧縮での損失がほとんど無しで圧縮されたデータバイトに対する変更の最大個数を効果的に制限することができる。
【００３８】
本発明の一側面で、前記エントロピーエンコーディングユニット１３０は、各々のデータシンボルに対する区間を生成することができ、前記データシンボルの各々に対して前記区間をアップデートすることができる。この場合、前記区間は開始地点及び区間の長さに基づいて示すことができる。
【００３９】
前記エントロピーエンコーディングユニット１３０は、前記アップデートされた区間が特定の範囲に含まれるかを確認することができ、前記確認に基づいて前記アップデートされた区間を再正規化することができる。
【００４０】
前記アップデートされた区間が特定の範囲に含まれる場合、前記エントロピーエンコーディングユニット１３０は、前記特定の範囲内に位置したビットをバッファに格納することができ、前記アップデートされた区間を再正規化することができる。
【００４１】
図２のデコーダ２００は、図１のエンコーダ１００による信号出力を受信する。
【００４２】
前記エントロピーデコーディングユニット２１０は、前記受信された信号に対するエントロピーデコーディングを遂行する。例えば、前記エントロピーデコーディングユニット２１０は、コード値の位置情報を含む信号を受信し、前記コード値の位置情報に該当するシンボルを確認し、前記確認されたシンボルをデコーディングすることができる。
【００４３】
算術コーディングで、前記デコーディングされたシーケンスは、圧縮されたシーケンスのコード値により決定できる。デコーディング過程で、前記コード値は正しいシーケンスをデコーディングするために使用できる。
【００４４】
前記エントロピーデコーディングユニット２１０はｋ番目の正規化されたコード値からｋ番目の正しい値を検索することができ、以後、前記ｋ番目の正しい値及びｋ番目の正規化されたコード値から（ｋ＋１）番目の正規化されたコード値を計算することができる。
【００４５】
一方、前記逆量子化ユニット２２０は前記エントロピーデコーディングされた信号から量子化ステップの大きさに対する情報に基づいて変換係数を獲得する。
【００４６】
前記逆変換ユニット２３０は、前記変換係数に対する逆変換を遂行することによって、予測エラーを獲得する。前記予測エラーを予測信号に加えることによって、復元された信号が生成される。
【００４７】
図３は、算術コーディング区間データをアップデートするために要求される動作の集合を例示するフローチャートである。
【００４８】
本発明が適用される算術コーディング器は、データソースユニット３１０、データモデリングユニット３２０、１次遅延ユニット３３０、及び２次遅延ユニット３４０を含むことができる。
【００４９】
前記データソースユニット３１０は、次の＜数式１＞のようにＭ個のシンボルのアルファベットから各々Ｎ個のランダムなシンボルのシーケンスを生成することができる。
【００５０】
〔数式１〕
【数１】
0006426212.tif 000002
【００５１】
この場合、本発明は前記データシンボルが次の＜数式２＞のように０でない確率を有しながら全て独立的で、同一に分布したものとして仮定する。
【００５２】
〔数式２〕
【数２】
0006426212.tif 000003
【００５３】
また、本発明は次の＜数式３＞のように累積確率分布を定義することができる。
【００５４】
〔数式３〕
【数３】
0006426212.tif 000004
【００５５】
この場合、ｃ（ｓ）は厳格に単調的（monotonic）であり、ｃ（０）=０で、ｃ（Ｍ）=１である。
【００５６】
このような条件が実際の複雑な媒体信号で発見されるものと大きく異なるものと見えることもできるが、事実上、全てのエントロピーコーディングツールがこのような仮定から導出された技術に基づいており、したがって、本発明はこのような単純なモデルに制限された具現を提供することができる。
【００５７】
算術コーディングは主に実数直線上の［ｂｋ、ｂｋ＋ｌｋ］形態の半開区間をアップデートするステップで構成され、この際、ｂｋは区間ベースを示し、ｌｋはその長さを示す。これら区間は各々のデータシンボルｓｋによってアップデートされ、初期条件ｂ１＝０及びl１＝１から始まって、次の＜数式４＞及び＜数式５＞を使用してｋ＝１，２，．．．Ｎに対して再帰的にアップデートされる。
【００５８】
〔数式４〕
【数４】
0006426212.tif 000005
【００５９】
〔数式５〕
【数５】
0006426212.tif 000006
【００６０】
この場合、前記区間は次の＜数式６＞のように徐々に内部に含まれる。
【００６１】
〔数式６〕
【数６】
0006426212.tif 000007
【００６２】
前述したように、図３を参照すると、前記データモデリングユニット３２０はＮ個のランダムなシンボルＳｋのシーケンスを受信することができ、前記累積確率分布Ｃ（Ｓｋ）及びシンボル確率ｐ（Ｓｋ）を出力することができる。
【００６３】
区間長さｌｋ＋１はデータモデリングユニット３２０から出力されたＳｋ及び１次遅延ユニット３３０から出力されたｌｋの掛け算演算により獲得できる。
【００６４】
また、前記区間ベースｂｋ＋１は２次遅延ユニット３４０から出力されたｂｋの足し算演算及びＣ（Ｓｋ）とｌｋの掛け算から獲得できる。
【００６５】
本発明が適用される算術コーディングは、掛け算と足し算の算術演算として定義できる。この場合、ｂｋ及びｌｋは無限精度（infinite precision）で示すことができるが、これははじめに直観的に簡単なバージョンで表現を導入するために使われる。以後に、本発明は有限精度（finite precision）動作を使用して算術コーディングを近似するように具現する方法を提供する。
【００６６】
【表１】
0006426212.tif 000008
【００６７】
【表２】
0006426212.tif 000009
【００６８】
〔数式７〕
【数７】
0006426212.tif 000010
【００６９】
〔数式８〕
【数８】
0006426212.tif 000011
【００７０】
〔数式９〕
【数９】
0006426212.tif 000012
【００７１】
【表３】
0006426212.tif 000013
【００７２】
【表４】
0006426212.tif 000014
【００７３】
〔数式１０〕
【数１０】
0006426212.tif 000015
【００７４】
〔数式１１〕
【数１１】
0006426212.tif 000016
【００７５】
この場合、掛け算値を囲む二重大括弧（double brackets）は前記掛け算が有限精度近似（finite precision approximations）によるものであることを示す。
【００７６】
【表５】
0006426212.tif 000017
であるので、前記＜数式１０＞は＜数式４＞に対応する。
【００７７】
したがって、前記デコーディング過程は、次の＜数式１２＞から＜数式１４＞のように定義できる。
【００７８】
〔数式１２〕
【数１２】
0006426212.tif 000018
【００７９】
〔数式１３〕
【数１３】
0006426212.tif 000019
【００８０】
〔数式１４〕
【数１４】
0006426212.tif 000020
【００８１】
図４及び図５は、本発明が適用される実施形態に従って二進算術コーディングに基づいてビデオ信号を処理するエントロピーエンコーディングユニット及びエントロピーデコーディングユニットの概略的なブロック図を示す。
【００８２】
図４を参照すると、前記エントロピーエンコーディングユニット１３０は、二進化ユニット４１０、コンテクスト（context）モデリングユニット４２０、及び二進算術エンコーディングユニット４３０を含む。
【００８３】
前記二進化ユニット４１０は、データシンボルのシーケンスを受信し、二進化を遂行することによって、０または１の二進化された値で構成された二進シンボル（bin）ストリングを出力することができる。前記二進化ユニット４１０は、シンタックス（syntax）要素を二進シンボルでマッピングすることができる。互いに異なる種々の二進化過程、例えば、単項（unary：Ｕ）、切り捨てられた単項（truncated unary：ＴＵ）、ｋ次Exp-Golomb（ＥＧｋ）、及び固定長さ（ＦＬ）過程などが二進化のために使用できる。前記二進化過程はシンタックス要素の類型に基づいて選択できる。
【００８４】
出力された二進シンボルストリングは、コンテクストモデリングユニット４２０に転送される。前記コンテクストモデリングユニット４２０は、エントロピー−エンコーディングに対する確率評価を遂行する。即ち、前記コンテクストモデリングユニット４２０は前記ｂｉｎの確率を評価することができる。
【００８５】
前記コンテクストモデリングユニット４２０は、高いコーディング効率を達成するために必要とする正確な確率推定を提供することができる。これによって、互いに異なる二進シンボルに対して互いに異なるコンテクストモデルが使われることができ、このようなコンテクストモデルの確率は以前にコーディングされた二進シンボルの値に基づいてアップデートできる。
【００８６】
類似の分布を有する二進シンボルは同一のコンテクストモデルを共有することができる。このような各二進シンボルに対するコンテクストモデルは、シンタックス要素の類型、シンタックス要素内での二進シンボルの位置（ｂｉｎＩｄｘ）、輝度／彩度（luma／chroma）、隣接情報のうち、少なくとも１つに基づいて選択できる。
【００８７】
前記二進算術エンコーディングユニット４３０は、出力されたストリングに対するエントロピーエンコーディングを遂行し、圧縮されたデータビットを出力する。
【００８８】
前記二進算術エンコーディングユニット４３０は、再帰的区間分割（recursive interval division）に基づいて算術コーディングを遂行する。
【００８９】
０乃至１の初期値を有する区間（または、範囲）が二進シンボルの確率に基づいて２つの下位区間に分割される。エンコーディングされたビットは二進分数に変換される場合、デコーディングされた二進シンボルの値を示す２つの下位区間のうちの１つを選択するオフセットを提供する。
【００９０】
デコーディングされたモードの二進シンボルの後に、前記区間は選択された下位区間を同一にするためにアップデートされることができ、前記区間分割過程自体が反復される。前記区間及びオフセットは制限されたビット精度を有し、したがって前記区間が特定の値の以下に低下する度にオーバーフローを防止するために再正規化（renormalization）が必要でありうる。前記再正規化（renormalization）は各々の二進シンボルがデコーディングされた以後に発生することができる。
【００９１】
推定された確率を使用するか、または０．５の同一の確率を仮定して算術コーディングが遂行できる。コーディングされた二進シンボルを迂回するために、範囲を下位区間に分割するステップはシフト演算を通じて遂行されることができ、一方、コンテクストコーディングされた二進シンボルに対してはルックアップテーブル（look up table）が必要でありうる。
【００９２】
図５を参照すると、前記エントロピーデコーディングユニット２１０は、二進算術デコーディングユニット５１０、コンテクストモデリングユニット５２０、及び逆二進化ユニット５３０を含む。
【００９３】
前記エントロピーデコーディングユニット２１０は、図４に対する技術で説明された前記エンコーディング過程を逆に遂行することができる。
【００９４】
二進算術デコーディングユニット５１０で、前記アップデートされた区間は再帰的区間分割のためにまた提供できる。前記アップデートされたコンテクストは、正確な確率評価のために二進算術デコーディングユニット５１０でコンテクストモデリングユニット５２０にまた提供できる。
【００９５】
前記コンテクストモデリングユニット５２０は、シンタックス要素の類型に基づいてコンテクストを選択することができる。エントロピーデコーディングユニット２１０で、デコーディングされた前記二進シンボルは、同一のシンタックス要素の処理を続けるか、または他のシンタックス要素に転換するかを決定するためにまた提供できる。前記コンテクストモデリングユニット５２０はまた前記シンタックス要素内の二進シンボルの位置（ｂｉｎＩｄｘ）に基づいてコンテクストを選択することができる。
【００９６】
前記逆二進化ユニット５３０は、前記二進シンボルストリングを多重値を有するシンボルに変換することができる。
【００９７】
図６は、本発明が適用される一実施形態に従って能動ビット（active bit）のウィンドウでの算術によるコーディング過程を例示する図である。
【００９８】
実際的な算術コーディングの具現のために、本発明は全ての足し算が無限精度で遂行されるが、掛け算は有限精度を使用して一部の特性が保存されるように近似されるという事実を考慮することができる。本明細書では、本発明の理解のために必要な内容のみを扱う。
【００９９】
算術コーディングの重要な側面のうちの１つは、足し算に対しては無限の精度を有する算術過程として見なされることができるが、掛け算では正確な掛け算を近似値に取り替えるということである。この際、近似値は全ての演算が暗黙的に無限精度レジスタとして遂行されることを保証する。
【０１００】
このような解析に基づいて、コーディング過程は、図６に示すように、能動ビット（active bit）の“ウィンドウ（window）”での算術で遂行できる。図６で、シンボル‘ａ’は任意のビット値を示し、Ｂはスケールされたｂの少数点以下値を２Ｐを掛けて整数化した値である。
【０１０１】
区間長さｌｋが減少するので、再正規化と呼ばれる過程でＰを周期的に増加させ、Ｌ＝２Ｐｌの値の大きさの再調整が必要である。再正規化の間、個別的ビットまたは全体バイトがレジスタワードから圧縮されたデータを含んでいるバッファに複写される。
【０１０２】
図６で、前記ビットは‘安定した（settled）’ものと呼ばれ、‘アウトスタンディング’は圧縮されたデータを有しているバッファに既に移動したビットを示し、したがって、算術演算から能動的に使われないことがある。しかしながら、図６を見ると、本発明の重要な側面のうちの１つは、以後の足し算からの二進算術キャリーによって変更される可能性があるアウトスタンディングビットが任意の個数に存在できるということである。
【０１０３】
図７は、本発明が適用される一実施形態に従う算術コーディング区間に対する再正規化動作を例示する図である。
【０１０４】
算術コーディングの実際的具現において、演算は有限精度レジスタで実行されるので、出力されるべき区間の上位ビットが決定されれば、前記上位ビットが出力されることができ、前記再正規化が区間の幅を拡張するために遂行できる。
【０１０５】
図７に図示されたように、厚い実線は選択された区間を示す。図７の２番目の線で、出力されるべき区間［０．６４、０．８］のビット値が明確に０．５より大きいので、コーディングされたビット‘１’はこの時点で出力されることができ、区間［０．５、１．０］が拡張された区間［０．０、１．０］にマッチングできる。このような段階を通じて、選択された区間が再正規化できる。
【０１０６】
図８は、本発明が適用される一実施形態に従う算術コーディング区間の可能な位置を例示する図である。
【０１０７】
以下の説明で、本発明は算術コーディング演算がＰ−ビットレジスタで遂行されることと仮定するが（例えば、Ｐ＝３２またはＰ＝６４）、表示を簡単にするために、本発明はＰｃビットの“キャリー精度（carry-precision）”を定義することができ、これはキャリー電波のために留保された追加的なメモリバイトを含むことができる。例えば、Ｐ＝３２ビットのレジスタを有するプロセッサを使用するが、キャリー電波のために留保された別途のバイトを有する具現が便宜上Ｐｃ＝４０ビットを有するレジスタを使用する具現として解析される。また、本発明は区間ベース及び長さＢｋ及びＬｋを表示するに当たって、インデックスｋを省略してＢとＬが最も最近のインデックス値を示すものと仮定する。
【０１０８】
本発明は区間を調整する方法を提案する。この場合、前記エンコーダ及びデコーダはＢ及びＬを追跡することができ、前記エンコーダ及びデコーダ全てキャリー電波を制限することが好ましい状況であることを確認することができる。
【０１０９】
本発明は前記エンコーダ及びデコーダがＢとＬを変更するために同一の規則を使用し、このような規則が正確な算術デコーディングのための条件に違背しない限り、正確なデコーディングを遂行することができる。
【０１１０】
本発明の一側面で、前記有限精度算術コーディングは自分の区間長さＬが特定の値より小さい場合、これを再正規化する必要がある。
【０１１１】
図８は、特定の条件が満たす時の可能な状況を図示する。例えば、条件Ｌ＜２Ｒが満たされれば（例えば、Ｒ＝２４が３２−ビット算術に対して使用できる）、区間の可能な状況を図８に示すように示すことができる。この場合、本発明は次の＜数式１５＞のようにビット位置を定義することができる。
【０１１２】
〔数式１５〕
【数１５】
0006426212.tif 000021
【０１１３】
〔数式１６〕
【数１６】
0006426212.tif 000022
【０１１４】
また、区間が＜数式１６＞のように内部に含まれる場合、位置Ｒ及びその上のビットはキャリーにより変更されず、したがって、直ちに圧縮されたデータバッファに格納されることができ、前記区間は再正規化できる。
【０１１５】
図９は、本発明が適用される一実施形態に従う算術コーディング区間の調整過程を例示する図である。
【０１１６】
区間［Ｃ、Ｄ］が区間［Ｂ、Ｂ＋Ｌ］を含まない場合、エンコーダはキャリーが発生するか否かが分からない。この場合、本発明は２つの実施形態を提案する。
【０１１７】
第１実施形態で、本発明は如何なるアウトスタンディングバイトの臨時格納も仮定せず、即ち、Ｐｃ＝Ｐである。第２実施形態で、本発明は少ない個数のアウトスタンディングバイトが若干のキャリーを許容するために格納されることを考慮し、Ｐｃ＞Ｐである。
【０１１８】
本発明の一側面で、エンコーダ及びデコーダに使われる以下のアルゴリズムは区間再正規化のための決定を説明する。図９で、条件に従う上段区間の選択結果によってキャリーの発生有無が内包的に決定される。
【０１１９】
前記エントロピーエンコーディングユニットは、以下の＜数式１７＞のようにビット位置を算出することができる。
【０１２０】
〔数式１７〕
【数１７】
0006426212.tif 000023
【０１２１】
ここで、Ｔはビット位置に対する境界を示し、例えばＤよりタイトな境界（tighter bound）を意味することができる。
【０１２２】
前記エントロピーエンコーディングユニットは、ＴがＢより大きいかを確認することができる。ＴがＢより大きい場合、前記エントロピーエンコーディングユニットはＬが２Ｓより大きいかを確認することができる。Ｌが２Ｓより大きい場合にはリターンされる。また、前記エントロピーエンコーディングユニットは、上位部分（Ｂ＋Ｌ−Ｔ）の長さが下位部分（Ｔ−Ｂ）の長さより小さいか否か、またはＴが０と同一であるか否かを確認することができる。
【０１２３】
上位部分（Ｂ＋Ｌ−Ｔ）の長さが下位部分（Ｔ−Ｂ）の長さより小さいか、またはＴが０と同一の場合に、前記エントロピーエンコーディングユニットはＬを（Ｔ−Ｂ）に設定することができる。そうでない場合、前記エントロピーエンコーディングユニットはＬを（Ｂ＋Ｌ−Ｔ）に設定し、ＢをＴに設定することができる。
【０１２４】
次に、前記エントロピーエンコーディングユニットは区間を再正規化することができる。
【０１２５】
この場合、本発明はＬ＜２Ｒ及びＳ≦Ｒを仮定し、条件Ｔ＝０は符号のない整数の算術オーバーフローがある場合のみに発生する。これは、一部の具現でキャリーの電波を始めるために使われる条件と関連している。
【０１２６】
第２実施形態で、前記エントロピーエンコーディングユニットは、バッファ値に制限された決定を遂行することができる。本発明は、最近のデータバイトをこのようなバイトで可能なキャリーと共にバッファに格納することができる。前記説明したように、これは追加的なビットを有するレジスタを有するものと同等であり、本発明は次のようなアルゴリズムを使用することができる。
【０１２７】
前記エントロピーエンコーディングユニットは、前記＜数式１７＞のようにビット位置を計算することができる。この場合、本発明はＰｃビットの精度を仮定することができる。
【０１２８】
また、前記エントロピーエンコーディングユニットはＴが０と同一であるかを確認することができる。
【０１２９】
Ｔが０と同一の場合、前記エントロピーエンコーディングユニットはＬを（Ｔ−Ｂ）に設定することができる。この後、前記エントロピーエンコーディングユニットは区間を再正規化することができる。
【０１３０】
前述したように、本発明は拡張された精度レジスタでのオーバーフローの可能性を除去するか、またはアウトスタンディングビットを有するバッファで同等なオーバーフローを生成するために区間を調整することができる。
【０１３１】
図１０は、本発明が適用される一実施形態に従う制限されたキャリー演算による算術コーディングを遂行する方法を例示するフローチャートである。
【０１３２】
前記二進算術エンコーディングユニット４４０は再帰的区間分割を遂行することができる。即ち、０から１の初期値を有する区間が二進シンボルの確率に基づいて２つの下位区間に分割できる。
【０１３３】
前記二進算術エンコーディングユニット４４０は、コーディングされた二進シンボルの値を示す２つの下位区間のうちの１つを選択することができる。前記区間は選択された下位区間が同一になるようにアップデートできる。この場合、コーディング区間の範囲及びベースは有限個数のビットで示されて、精度の下落を防止するために、区間の再正規化を必要とする。また、前記ベースの上位ビットは再正規化の間コーディングされたビットとして出力できる。範囲がしきい値より小さな場合に、前記コーディング区間（ベース、ベース＋範囲）は再正規化できる。
【０１３４】
キャリー電波及びコーディングされたビットの出力を処理するために、前記コーディングされたビットは今後のキャリー電波がビット値に影響を及ぼさないことが確認される前までは出力されない。
【０１３５】
本発明の一側面で、前記二進算術エンコーディングユニット４４０は、各データシンボルに対する区間を生成することができる（Ｓ１０１０）。各データシンボルに対して生成された前記区間は、二進シンボルの確率に基づいてアップデートできる（Ｓ１０２０）。
【０１３６】
前記二進算術エンコーディングユニット４４０は、区間が内部に含まれるか否かを確認することができる（Ｓ１０３０）。例えば、前記二進算術エンコーディングユニット４４０は、前記アップデートされた区間が特定の範囲に含まれるか否かを確認することができる。即ち、図８を参照すると、図８（ａ）は区間［Ｂ、Ｂ＋Ｌ］が特定の範囲［Ｃ、Ｄ］に含まれていることを示し、図８（ｂ）は区間［Ｂ、Ｂ＋Ｌ］が特定の範囲［Ｃ、Ｄ］に含まれていないことを示す。したがって、図８（ａ）に示すように、区間［Ｂ、Ｂ＋Ｌ］間の特定の範囲［Ｃ、Ｄ］に含まれる場合、位置Ｒ及びその上でのビットはキャリーにより変更されないことがある。したがって、位置Ｒ及びその上での前記ビットはバッファに格納できる。
【０１３７】
この後、前記二進算術エンコーディングユニット４４０は確認結果に基づいて前記アップデートされた区間を再正規化することができる（Ｓ１０４０）。
【０１３８】
図１１は、本発明が適用される一実施形態に従って算術コーディング区間を再正規化する方法を例示するフローチャートである。
【０１３９】
本発明の一側面で、前記二進算術エンコーディングユニット４４０は区間調整を遂行することができる。
【０１４０】
まず、前記二進算術エンコーディングユニット４４０は特定の範囲を定義することができる（Ｓ１１１０）。図９を参照すると、前記特定の範囲［Ｃ、Ｄ］は＜数式１５＞のように定義できる。
【０１４１】
前記二進算術エンコーディングユニット４４０は、区間が特定の範囲に含まれるか否かを確認することができる（Ｓ１１２０）。例えば、前記二進算術エンコーディングユニット４４０は、前記区間が図８（ａ）または図８（ｂ）に該当するか否かを確認することができる。
【０１４２】
前記区間が特定の範囲に含まれる場合、前記二進算術エンコーディングユニット４４０は、前記特定の範囲に位置したビットをバッファに格納することができる（Ｓ１１３０）。そうでない場合、前記二進算術エンコーディングユニット４４０は、特定の条件下で前記区間の上位部分または下位部分のうち、１つを選択することができる（Ｓ１１４０）。
【０１４３】
また、前記二進算術エンコーディングユニット４４０は前記区間を再正規化することができる（Ｓ１１５０）。
【０１４４】
図１２は、本発明が適用される一実施形態に従って算術コーディング区間を調整する方法を例示するフローチャートである。
【０１４５】
本発明の一側面で、前記二進算術エンコーディングユニット４４０は、区間再正規化に対する決定を遂行することができる。
【０１４６】
前記エントロピーエンコーディングユニットは＜数式１７＞のようにビット位置を計算することができる（Ｓ１２１０）。
【０１４７】
前記エントロピーエンコーディングユニット４４０は、ビット位置の値が区間ベースの値より大きいかを確認することができる（Ｓ１２２０）。例えば、図９を参照すると、前記エントロピーエンコーディングユニット４４０は、ＴがＢより大きいかを確認することができる。
【０１４８】
ビット位置の値が区間ベースの値より大きい場合に、前記エントロピーエンコーディングユニット４４０はまた前記区間の上位部分の長さが下位部分の長さより小さいかを確認することができる（Ｓ１２３０）。例えば、図９を参照すると、前記エントロピーエンコーディングユニット４４０は、上位部分（Ｂ＋Ｌ−Ｔ）の長さが下位部分（Ｔ−Ｂ）の長さより小さいかを確認することができる。
【０１４９】
前記上位部分の長さが前記下位部分の長さより小さな場合には、前記エントロピーエンコーディングユニット４４０は、前記区間の長さを前記下位部分の長さに設定することができる（Ｓ１２４０）。
【０１５０】
そうでない場合、前記エントロピーエンコーディングユニット４４０は、前記区間の長さを前記上位部分の長さに設定することができ、前記区間の開始地点をビット位置に設定することができる（Ｓ１２５０）。
【０１５１】
この後、前記エントロピーエンコーディングユニット４４０は、前記区間を再正規化することができる（Ｓ１２６０）。
【０１５２】
図１３及び図１４は、本発明が適用される更に他の実施形態に従って算術コーディング区間を調整する更に他の方法を例示するフローチャートである。
【０１５３】
本発明の更に他の側面で、前記エントロピーエンコーディングユニット４４０は、バッファ値に制限された決定を遂行することができる。本発明は、最近のデータバイトをこのようなバイトのみに可能なキャリーを含んでバッファに格納することができる。前記説明したように、これは追加的なビットを有するレジスタと同等であり、本発明は次のようなアルゴリズムを使用することができる。
【０１５４】
前記二進算術エンコーディングユニット４４０は、特定の範囲を定義することができる（Ｓ１３１０）。図９を参照すると、前記特定の範囲［Ｃ、Ｄ］は＜数式１５＞のように定義できる。
【０１５５】
前記二進算術エンコーディングユニット４４０は、前記区間が前記特定の範囲に含まれるかを確認することができる（Ｓ１３２０）。例えば、前記二進算術エンコーディングユニット４４０は、前記区間が図８（ａ）または図８（ｂ）に該当するかを確認することができる。
【０１５６】
前記区間が前記特定の範囲に含まれる場合、前記二進算術エンコーディングユニット４４０は、前記特定の範囲内に位置したビットをバッファに格納することができる（Ｓ１３３０）。そうでない場合、前記二進算術エンコーディングユニット４４０は、拡張精度レジスタでのオーバーフローまたはアウトスタンディングビットを有するバッファでのオーバーフロー可能性を除去するために、前記区間を調整することができる（Ｓ１３４０）。また、前記二進算術エンコーディングユニット４４０は、前記区間を再正規化することができる（Ｓ１３５０）。
【０１５７】
本発明の更に他の実施形態で、前記エントロピーエンコーディングユニット４４０は、前記の＜数式１７＞のようにビット位置（Ｓ１４１０）を計算することができる。
【０１５８】
前記エントロピーエンコーディングユニット４４０は、ビット位置が０と同一であるかを確認することができる（Ｓ１４２０）。
【０１５９】
ビット位置が０と同一の場合、前記エントロピーエンコーディングユニット４４０は、区間長さをビット位置から区間ベースを差し引きした値に設定することができる（Ｓ１４３０）。
【０１６０】
以後に、前記エントロピーエンコーディングユニット４４０は、区間を再正規化することができる（Ｓ１４４０）。
【０１６１】
前述したように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で具現されて遂行できる。例えば、前記図１から図５で図示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で具現されて遂行できる。
【０１６２】
また、本発明が適用されるデコーダ及びエンコーダは、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ（ＶｏＤ）サービス提供装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、画像電話ビデオ装置、及び医療用ビデオ装置などに含まれることができ、ビデオ信号及びデータ信号を処理するために使用できる。
【０１６３】
また、本発明が適用される処理方法はコンピュータにより実行されるプログラムの形態に生産されることができ、コンピュータにより読取可能な記録媒体に格納できる。本発明に従うデータ構造を有するマルチメディアデータもまたコンピュータにより読取可能な記録媒体に格納できる。前記コンピュータにより読取することができる記録媒体はコンピュータにより読取することができるデータが格納される全ての種類の格納装置を含む。前記コンピュータにより読取可能な記録媒体は、例えば、ブルーレイディスク（ＢＤ）、汎用直列バス（UＳＢ）、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータにより読取可能な記録媒体は、搬送波（例えば、インターネットを通じての転送）の形態に具現されたメディアを含む。また、エンコーディング方法により生成されたビットストリームがコンピュータにより読取可能な記録媒体に格納されるか、または有無線通信ネットワークを介して転送できる。
【産業上の利用可能性】
【０１６４】
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたものであって、当業者であれば、以下の添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内で、多様な他の実施形態を改良、変更、代替、または付加などが可能である。
【図１】
0006426212.tif 000024
【図２】
0006426212.tif 000025
【図３】
0006426212.tif 000026
【図４】
0006426212.tif 000027
【図５】
0006426212.tif 000028
【図６】
0006426212.tif 000029
【図７】
0006426212.tif 000030
【図８】
0006426212.tif 000031
【図９】
0006426212.tif 000032
【図１０】
0006426212.tif 000033
【図１１】
0006426212.tif 000034
【図１２】
0006426212.tif 000035
【図１３】
0006426212.tif 000036
【図１４】
0006426212.tif 000037