"圧縮装置において、グローバルテーブルのインデックスを格納するコストテーブルをさらに備え、探索範囲内のドメインブロックを正方向に探索してレンジブロックと前記ドメインブロック間のコストを計算し、その後、計算されたコストと、前記探索範囲内のドメインブロックを逆方向探索して計算されたコストとを比較して、最小コストを生成し、前記コストテーブルに前記生成された最小コストを前記グローバルテーブルのインデックスに格納する探索器と、前記グローバルテーブルを備え、前記コストテーブルに格納されたグローバルテーブルインデックスによる前記グローバルテーブルのデータを差異値に設定し、前記距離値を含む距離情報および前記差異値を含む差異情報を生成して前記レンジブロックの圧縮データにコーディングするコーダーと、から構成され、前記正方向は、前記探索範囲において、最も距離が遠いブロックから前記レンジブロックへ向う方向であり、前記逆方向検索は、1以上のブロックをグループ化して探索することを特徴とする圧縮装置。前記探索器で生成されたコストが前記テーブルインデックスを生成できない場合、例外処理フラグを生成し、前記例外処理フラグの発生時、前記コーダーは前記例外処理フラグおよびレンジブロックデータを圧縮データにコーディングすることを特徴とする請求項1に記載の圧縮装置。前記グローバルテーブルに格納される差異値は、レンジブロックとドメインブロックの排他的論理和であることを特徴とする請求項2に記載の圧縮装置。前記探索器のコストテーブルがグローバルテーブルおよびローカルテーブルのインデックスを格納し、前記探索器が前記グローバルテーブルに存在しないコストの生成時、これを前記コストテーブルにローカルテーブルのインデックスに登録して、ローカルテーブルの対応するインデックスの位置に二つのブロックの差異値を格納し、前記コーダーは、ローカルテーブルをさらに備え、前記グローバルテーブルインデックスまたはローカルテーブルインデックスによる前記グローバルテーブルまたはローカルテーブルのデータを差異値に設定し、前記差異値を含む距離情報および前記差異値を含む差異情報を生成して前記レンジブロックの圧縮データにコーディングすることを特徴とする請求項1に記載の圧縮装置。前記探索器で生成されたコストが前記テーブルインデックスを生成できない場合、例外処理フラグを生成し、前記例外処理フラグの発生時、前記コーダーは前記例外処理フラグおよびレンジブロックデータを圧縮データにコーディングすることを特徴とする請求項4に記載の圧縮装置。前記グローバルテーブルおよびローカルテーブルに格納される差異値は、レンジブロックとドメインブロックの排他的論理和であることを特徴とする請求項5に記載の圧縮装置。データを圧縮する方法において、グローバルテーブルと、前記グローバルテーブルのインデックスを格納するコストテーブルとを備え、探索範囲内のドメインブロックを正方向に探索してレンジブロックと前記ドメインブロック間のコストを計算し、その後、計算されたコストと、前記探索範囲内のドメインブロックを逆方向探索して計算されたコストとを比較して、最小コストを生成し、前記生成された最小コストを前記コストテーブルにグローバルテーブルのインデックスに格納する探索ステップと、前記グローバルテーブルのインデックスによる前記グローバルテーブルのデータを差異値に設定し、前記距離値を含む距離情報および前記差異値を含む差異情報を生成して前記レンジブロックの圧縮データにコーディングするコーディングステップと、からなり、前記レンジブロックは圧縮対象データのブロックであり、ドメインブロックは前記レンジブロックと比較対象データのブロックであり、前記正方向は、前記探索範囲において、最も距離が遠いブロックから前記レンジブロックへ向う方向であり、前記逆方向探索は、1以上のブロックをグループ化して探索することを特徴とするデータ圧縮方法。前記探索ステップは、前記生成されたコストが前記テーブルインデックスを生成できない場合、例外処理フラグを生成し、前記コーディングステップは、前記例外処理フラグの発生時、前記例外処理フラグおよびレンジブロックデータを圧縮データにコーディングすることを特徴とする請求項7に記載のデータ圧縮方法。前記グローバルテーブルに格納される差異値は、レンジブロックとドメインブロックの排他的論理和であることを特徴とする請求項8に記載のデータ圧縮方法。可変データを格納するローカルテーブルと、前記ローカルテーブルのテーブルインデックスを格納するコストテーブルをさらに備え、前記探索ステップは、前記グローバルテーブルに存在しないコストの生成時、これをコストテーブルにローカルテーブルのインデックスに登録し、前記ローカルテーブルに二つのブロックの差異値を格納し、前記コーディングステップは、前記テーブルインデックスによる前記グローバルテーブルまたはローカルテーブルのデータを差異値に設定し、前記距離値を含む距離情報および前記差異値を含む差異情報を生成して前記レンジブロックの圧縮データにコーディングすることを特徴とするデータ圧縮方法。前記探索ステップは、前記生成されたコストが前記テーブルインデックスを生成できない場合、例外処理フラグを生成し、前記コーディングステップは、前記例外処理フラグの発生時、前記例外処理フラグおよびレンジブロックデータを圧縮データにコーディングすることを特徴とする請求項10に記載のデータ圧縮方法。前記グローバルテーブルに格納される差異値は、レンジブロックとドメインブロックの排他的論理和であることを特徴とする請求項11に記載のデータ圧縮方法。一般的に、メモリを備えるデジタル装置において、圧縮率を高めるためには圧縮速度または復元速度を大きく低下させることになる。このような問題を解決するために、本発明の実施形態では、逆方向コーディング方法を用いて圧縮速度を大きく低下させずに圧縮率を高められる方法を提案する。また、よく使用される圧縮データをテーブルに格納し、コーディング時、テーブルを用いて圧縮データを生成することによって圧縮率を向上させる。また、マクロブロック単位の例外処理ブロックの調整によって圧縮率と復元速度の調整を可能にする。本発明の実施形態に係るデータ圧縮方法は、マクロブロックのデータを正方向および逆方向コーディングしながら、圧縮速度を大きく低下させずに最小のコストを有するドメインブロックを探索して、圧縮率を向上させられる方法を提案する。また、テーブルに圧縮データを効率よく格納し、圧縮時によく発生するブロック差異値に対するコストを低く設定することによって格納されるデータの圧縮率を向上させられる方法を提案する。また、圧縮率のよくないマクロブロックは例外処理して圧縮率と復元速度の調整を可能にする方法を提案する。本発明の実施形態に係るデータ圧縮装置および方法は、逆方向コーディング方法を用いて圧縮速度を大きく低下させずに圧縮率を高めることができ、また、よく使用される圧縮データをテーブルに格納し、コーディング時、テーブルを用いて圧縮データを生成することによって圧縮率を向上させることができ、圧縮効率のよくないブロックは例外処理ブロックとして処理し、圧縮率と復元速度の調整を可能にすることができる。以下、本発明の好ましい実施形態を図面を参照しながら説明する。図面において、同一構成には、なるべく同一符号を付している。下記の説明において、マクロブロックのビット数、ショートブロックの数およびビット数、距離情報および差異情報、テーブルの臨界値等のような具体例等といった特定詳細が本発明をより理解しやすくするために示されている。これらの特定詳細がなくても、また、これらの変形によっても本発明が容易に実施できるということは、この技術分野における通常の知識を有する者にとって自明なことである。本発明の実施形態において、マクロブロックとは、データを圧縮する最小単位を意味する。ショートブロックは、マクロブロックを構成する単位であって、2個以上から構成され、本発明の実施形態における前記ショートブロックは16ビットのサイズを有すると仮定する。本発明の実施形態における前記マクロブロックは2個のショートブロックから構成されていると仮定する。レンジブロックとは、圧縮しようとする一つ以上のマクロブロックを意味する。ドメインブロックとは、レンジブロックを圧縮するために参照されるマクロブロックを意味する。距離情報は、レンジブロックとドメインブロックとの距離を意味する距離値および距離値の変更有無を表示する距離フラグ等を含む。距離フラグは、各マクロブロックに与えられ、レンジブロックの構成を表す。差異情報は、レンジブロックとドメインブロック間のデータ差を意味する差異値および差異値の存在有無を表示する差異フラグを含むことができる。ここで、データ差異とは、二つのブロックのデータを排他的論理和した値を意味する。コストは、前記差異値を計算して圧縮データとしてメモリに格納されるデータの長さを決定する。例外処理とは、圧縮率が高くない場合、データ圧縮をしないことを意味する。グローバルテーブルは、固定テーブルであって、前記差異値をインデックスにする。ローカルテーブルは、可変テーブルであって、圧縮中に発生頻度数の高いマクロブロックをインデックスにする。探索範囲とは、レンジブロックの位置でドメインブロックを探索するための範囲を意味する。正方向コーディングとは、現在コーディングされる一つのマクロブロックから構成されたレンジブロックを最小のコストでコーディングするドメインブロックを探索範囲でコーディングすることを意味し、逆方向コーディングとは、現在コーディングされた一つのマクロブロックを含み、以前コーディングされたレンジブロックを再構成してコストを節減するためのコーディングを意味する。すなわち、前記正方向コーディングとは、圧縮機が、順次に選択される一つのマクロブロックから構成されるレンジブロックを一次的にコーディングすることを意味し、逆方向コーディングとは、現在コーディングしたマクロブロックを含み、以前コーディングされたレンジブロックを再構成して圧縮率を向上させることを意味する。データとは、プログラムおよび使用者データを含む用語であって、全てのデータを総称する意味として使われる。本発明の圧縮機は、データを圧縮する時、圧縮するデータであるレンジブロックの長さを決定し、前記レンジブロックと同一、または、類似のデータを有するドメインブロックを探索し、前記レンジブロックと探索されたドメインブロック間の距離および差異をコーディングして圧縮する方法を提案する。ここで、データは、バイナリデータであってもよく、ファームウェアおよびソフトウェアといったプログラムのコーディングデータを含む全てのデータであってもよい。一般的に、データを圧縮する圧縮機および圧縮解除機は、高圧縮率および高速の復元機能を有するのが好ましい。ここで、圧縮機の圧縮率を高めれば、圧縮機の圧縮速度または圧縮解除機の復元速度が低下する。本発明は、前記探索範囲内でドメインブロックを探索する時、以下のような方法で圧縮率および復元速度を向上させる。まず、圧縮機は、レンジブロックを探索範囲内のドメインブロックと比較する時、以前マクロブロックをコーディングする時に構成された検索対象に対し正方向および逆方向にコーディングして、探索範囲内で前記レンジブロックと最小差異値を有するドメインブロックとを選択する。次に、レンジブロックと選択されたドメインブロック間の距離情報および差異情報を用いてレンジブロックのデータを圧縮する。本発明の実施形態では、圧縮方法は、第1に、二つのブロックの差異値をそのまま用いてデータを圧縮する方法、第2に、よく発生するブロックの差異値を実験的に測定してテーブルに登録し、圧縮時にこれを差異値にして圧縮する方法、第3に、よく発生するブロックの差異値を実験的に測定して固定テーブルに登録し、圧縮中によく発生するブロックの差異値を可変テーブルに登録し、圧縮時にこれを差異値にして圧縮する方法を使用することができる。ここで、前記1番目の圧縮方法の差異値は、最小差異値を有するレンジブロックとドメインブロックとの排他的論理和値exclusiveORoperationvalueとなる。また、2番目の圧縮方法のテーブルは、固定テーブルであって3番目の圧縮方法のグローバルテーブルとなる。また、前記テーブルを用いる圧縮方法は、圧縮時、レンジブロックとドメインブロックとで頻繁に発生するブロックの差異値を実験的に測定し、前記測定された差異値によるコストを生成する。前記ブロック差異値をインデックスに使用し、当該インデックス位置に前記生成されたコストで差異値をコーディングする値を格納する。ここで、最も頻繁に発生するブロックの差異値を最小コストでマップすることでデータの圧縮率を向上させることができる。圧縮率をさらに向上させるため、全体頻度数によるグローバルテーブルと領域別頻度数によるローカルテーブルを設ける。ここで、前記グローバルテーブルは固定テーブルであって、前記圧縮機自体に備えることができ、また、圧縮時、メモリの特定位置に格納することもできる。前記ローカルテーブルは可変テーブルであって、圧縮機がデータを圧縮する際に、グローバルテーブルにはないが特定の領域に頻繁に発生するレンジブロックとドメインブロックとの差異値およびコストをテーブル化してメモリに格納することができる。ここで、前記グローバルテーブルは、圧縮前に予め設けられる固定テーブルであり、前記圧縮機がライトモード時に格納される全てのデータに適用されるテーブルとなる。前記ローカルメモリは可変テーブルであって、部分領域データの圧縮のみで使用されるテーブルとなる。最後に、圧縮機は、マクロブロック単位のデータを圧縮し、探索範囲内でレンジブロックと同一、または、類似のドメインブロックがなければ、前記レンジブロックのデータを圧縮せずに例外処理する。すなわち、前記レンジブロックが探索範囲内の全てのドメインブロックと比較して同一のドメインブロック、または、類似のドメインブロックがない場合、前記レンジブロックの圧縮は、圧縮していない場合に比べてよくない。この場合、前記圧縮機は、該当するレンジブロックを例外ブロックとして処理し、例外処理フラグと共に当該レンジブロックのデータを圧縮せずにそのまま格納する。上記のように、例外処理ブロックを使用すれば、圧縮率および圧縮解除時の復元速度を向上させることができる。しかし、上記のように、二つのブロックの差異値で圧縮する方法、または、グローバルテーブルを用いて圧縮する方法、または、グローバルテーブルおよびローカルテーブルを用いる圧縮方法を使用することができ、また、前記のような圧縮方法に例外処理機能を含ませて圧縮する方法を使用することができる。以下、説明する本発明の実施形態は、グローバルテーブルおよびローカルテーブルを備え、例外処理圧縮方法を用いる場合を仮定して説明する。すなわち、以下、説明する本発明の実施形態では、本発明の実施形態に係るデータ圧縮方法は、マクロブロックのデータを正方向および逆方向コーディングしながら、圧縮速度を大きく低下させずに最も低いコストを有するドメインブロックを探索して圧縮率を向上させられる方法を提案する。また、テーブルに圧縮データを効率よく格納し、圧縮時によく発生するブロック差異値に対するコストを低く設定することによって格納されるデータの圧縮率を向上させられる方法を提案する。また、圧縮率のよくないマクロブロックは例外処理して圧縮率と復元速度の調整を可能にする方法を提案する。図1は、本発明の実施形態に係るレンジブロックおよびドメインブロックの構成を説明するための図面である。前記図1を参照すると、本発明の実施形態に係る圧縮機は、圧縮対象ブロックであるレンジブロックRと参照ブロックであるドメインブロック間の距離を計算し、前記レンジブロックデータを前記ドメインブロックデータと比較してその差異を計算した後、この二つの計算値でレンジブロックの圧縮データを生成する。ここで、前記レンジブロックは一つ以上のマクロブロックから構成され、前記ドメインブロックのサイズは前記レンジブロックと同じサイズを有するブロックにすることができる。前記マクロブロックは、ショートブロックで分割されるか、または、ショートブロックを使用しないこともある。以下、説明する本発明の実施形態では、前記図1に示すように、マクロブロックが2個のショートブロックから構成された場合を仮定して説明する。本発明の実施形態では、前記マクロブロックは2個のショートブロックから構成され、前記ショートブロックは16ビットから構成されると仮定する。前記レンジブロックのドメインブロックは、前記レンジブロック以前の一定の範囲内にある同じサイズを有するマクロブロックにすることができる。ここで、前記レンジブロックは、互いに重なることなく整数単位で割当てられる。また、ドメインブロックは互いに重なることもあり、ショートブロック単位で割当てられる。例えば、圧縮するデータが5個のマクロブロックであり、ショートブロックの番号がSB0-SB9である場合、前記レンジブロックはSB0-SB1,SB2-SB3,SB4-SB5,...,SB8-SB9の順に割当てられる。また、前記レンジブロックがSB8-SB9である場合、前記ドメインブロックはSB6-SB7,SB5-SB6,SB4-SB5,...,SB1-SB2,SB0-SB1で割当てられる。前記レンジブロックの圧縮は、前記ドメインブロックの距離情報および差異情報から構成され、この時、選択されるドメインブロックは、探索範囲内で前記レンジブロックと最も低いコストの距離情報および差異情報を有するドメインブロックとなる。前記距離は、レンジブロックと選択されたドメインブロック間の離隔距離を意味し、各レンジブロックの圧縮データに用いられるため圧縮率に大きい影響を及ぼす。そのため、前記距離は、一定のサイズに制限して使用するのが好ましく、前記設定された距離によって前記探索範囲が決定される。また、前記レンジブロックの長さが長ければ距離に使用するビットは節減されるが、差異値を表すビット数が増加し、これによって前記レンジブロックの長さも圧縮率に大きな影響を及ぼす。前記情報の圧縮を効果的にするためには、前記探索範囲およびレンジブロックの長さを適宜に設定しなければならない。また、本発明の実施形態では、前記レンジブロックを圧縮する時、正方向および逆方向コーディング方法を用いて短時間で最適にドメインブロックを探索する方法を提案する。本発明の実施形態では、マクロブロックを圧縮する時、マクロブロックを圧縮するコストを最小にした後、後方向に、マクロブロックを含みすでに圧縮されたマクロブロックのコストが最小になるよう更新する。すなわち、本発明の実施形態では、探索範囲内で正方向のマクロブロックを探索してコストが最小になるよう圧縮し、その後、再び後方向にすでに圧縮されたマクロブロックのコストを確認してドメインブロックの長さおよび距離を調整する。図2は、本発明の実施形態に係る逆方向コーディングによる圧縮効果を例示する図面である。本発明の実施形態では、逆方向に現在圧縮するマクロブロックを含みすでに圧縮されたマクロブロックに対し、距離コストと差異コストが最適化されるレンジブロックサイズkを求める。この場合、一般的方法は、レファレンスブロックと一致しないマクロブロックは同じレンジブロックに属さない。しかし、本発明の実施形態に係るマクロブロックがドメインブロックと同じでない場合でもレンジブロックに属するようにする。前記図2のような場合、レンジブロックを3個にしてコストT=costcostcostにならなければならないが、本発明の実施形態では、レンジブロックを1個にしてコストU=costとなる。この場合、コストTは、少なくとも二つの距離値を有する一方、コストUは一つの距離値を有する。従って、XとYとが同じでなくてもXとYとの差異値をコーディングしたcostは、小さい値を有することができるため、U<Tが可能である。前記図2において、マクロブロックXがレファレンスブロックYと同じでない場合でも、同じレンジブロックに属することができる。図3aおよび図3bは、本発明の実施形態に係る探索範囲内でドメインブロックを正方向および逆方向コーディングして圧縮対象であるレンジブロックに対する最適のドメインブロックを選択する方法を説明するための図面である。前記圧縮機は、レンジブロックが設定されれば、探索範囲内に存在するドメインブロックを正方向および逆方向コーディングしてコストの最も低いドメインブロックを選択した後、前記選択されたドメインブロックとレンジブロック間の距離およびコストを圧縮データに生成する。図3aは、本発明の実施形態に係る正方向コーディングの実行ステップを説明するための図面であり、図3bは、本発明の実施形態に係る逆方向コーディングの実行ステップを説明するための図面である。ここで、前記レンジブロックはB,C26,27であり、探索範囲は10,11,12,...,25の場合を仮定して説明する。前記図3aおよび図3bを参照すると、前記レンジブロックB,C2627に対する正方向コーディングは、探索範囲内のドメインブロックを順次に選択し、前記選択されたドメインブロックと前記レンジブロックB,C26,27のショートブロックデータを比較する。ここで、前記圧縮機は、正方向コーディングを行いながら前記レンジブロックの前に位置する探索範囲内のドメインブロックとの距離および差異値を計算する。その後、前記圧縮機は、前記逆方向コーディングを行いながら前記計算された距離および差異値を分析して比較されたドメインブロック中、前記レンジブロックと距離が最も近くて差異値の小さいドメインブロックを選択する。すなわち、前記図3aのような場合、前記圧縮機は、正方向および逆方向コーディングを行いながら、前記レンジブロックB,C2627と最も類似していて距離の近いドメインブロックB,C2021を探す。ここで、ドメインブロックB,C1415は、差異値ではドメインブロックB,C2021と同じコストを有するが、距離コストがより大きいためドメインブロックB,C2021が選択され、これに関する距離情報と差異値とが格納される。この場合、前記圧縮機は、前記レンジブロックA,B22,23は、距離値が4で差異値が0のドメインブロックを選択し、レンジブロックE,F24,25は、距離値が8で差異値が0のドメインブロックを選択し、レンジブロックB,C26,27は、距離値が6で差異値が0のドメインブロックを選択する。この時、前記逆方向コーディングを行うステップにおいて、多数のマクロブロックをグループ化して探索する。例えば、前記図3bにおいて、前記レンジブロックB,C2627に対する逆方向コーディングは、レンジブロックA,B,E,F,B,C2227-ドメインブロックA,B,D,F,B,C1015の一つの距離値から構成されたコーディングは、図3に示すように、ドメインブロックB,C2021-レンジブロックB,C2627、ドメインブロックE,F1617-レンジブロックE,F2425、ドメインブロックA,B1819-レンジブロックA,B2223の3個の距離値から構成されたコーディングより小さいコストを有するため、以前コーディングされた結果を再構成して圧縮率を高めることができるようになる。ここで、一つの距離値から構成されたコーディングが、同じでない値があって、差異値に対するコストが3個の距離値から構成されたコーディングより大きいが、距離値を2個少なく使用するため、全体コストは節減する。この場合、前記圧縮機は、レンジブロックA,B,E,F,B,C2227をドメインブロックA,B,D,F,B,C1015と比較して距離値12、差異値は0,DFXOREF,0でコーディングするようになる。図4は、本発明の実施形態に係る圧縮方法のステップを示すフロー図である。まず、前記圧縮機は、ブロックの各参照位置に対し、後方向に現在のコストを最大に節減する長さを求め、セーブが最大セーブより大きければ、最適長さと参照ブロックとに対する情報を更新する。ここで、前記セーブとは、長さ内でレンジブロックのコスト節減の和を意味する。次に、前記圧縮機は、最適参照ブロックと最適長さとに対するブロックのコーディングを更新する。最後に、前記圧縮機は、一定の範囲ごとに差異コーディングを最適化するローカルテーブルを生成し、前記ローカルテーブルはグローバルテーブルを参照して圧縮格納する。前記図4を参照すると、圧縮機は111ステップで、設定されたレンジブロックの参照ブロック位置に対して逆方向コストセーブが最大になる長さを求める。図5は、前記図4の111ステップで、最適化ステップを行う動作を説明するための図面である。前記図5を参照すると、図5の151ステップで、圧縮機は長さ以内の各レンジブロックに対し、セーブ値、すなわちコストの和を求める。前記セーブ値を求めた後、圧縮機は153ステップで、前記セーブ値が最大セーブ値より大きいかを検査し、大きくない場合には、以前の値をそのまま維持し157ステップへ進む。前記153ステップで、前記セーブ値が最大セーブ値より大きい場合には、155ステップで前記最大セーブ値を前記で計算されたセーブ値に更新し、最適長さを前記151ステップの長さに更新し、最適参照ブロックを前記151ステップの参照ブロックに変更する。その後、圧縮機は157ステップで長さが最大長さより大きいかを検査し、大きくなければ159ステップで長さを1増加させた後前記151ステップに戻り、前記最大長さより大きければ、圧縮機は157ステップでこれを感知し161ステップでレンジブロックの位置をハッシュテーブルに挿入して前記図4にリターンする。すると、圧縮機は、図4の113ステップおよび115ステップを行いながら前記セーブ値が最大セーブ値より大きいかを検査し、大きくない場合には以前の値をそのまま維持し、セーブ値が最大セーブ値より大きい場合には前記最大セーブ値を更新し、最適長さを更新して、最適参照ブロックを変更する。その後、圧縮機は、117ステップで前記参照ブロックがテーブルにあるかを検査し、参照リストにあれば参照リストから当該データを読んだ後、111ステップへ進み、なければ121ステップで最適参照ブロックと最適長さとに対してレンジブロックのコーディングを更新する。参照リストは、以前のレンジブロックをコーディングする時、その後のレンジブロックに対する迅速な探索を行うために、ショート単位でキューに登録される。一つのマクロブロックに対する探索対象は、2個のショート中少なくとも1個が同じ位置のものから構成される。コーディング後、圧縮機は123ステップで差異コーディングテーブルを更新する。図6は、前記図4の123ステップで差異コーディングテーブルを更新するステップを示すフロー図である。前記図6を参照すると、圧縮機は181ステップで特定のレンジブロックRをコーディングした後、183ステップ-184ステップを行いながら当該コーディングレンジブロックRが反復的に処理された回数Nの値を1増加させ、増加されたNの値が決められているT値より小さければ、再び次のレンジブロックRをコーディングし、前記のステップを反復する。もし、増加されたN値がTより大きければ、185ステップでローカルフリークエンシーとコストセーブ値とによってローカルテーブルを構成する。その後、圧縮機は187ステップで、更新コストがコストセーブ値より小さいかを検査し、小さければ189ステップでローカルテーブルのコーディングテーブルを更新する。上記のように生成されるローカルテーブルは、前記グローバルテーブルと共にレンジブロックのデータを圧縮するためのテーブルとして使用される。図7aは、本発明の実施形態に係るグローバルテーブルの特性を説明するための図面であり、図7bは、ローカルテーブルの特性を説明するための図面である。前記図7aを参照すると、グローバルテーブルは予め設けられるテーブルであって、データ圧縮時、実験的に頻繁に発生する差異値を抽出して格納した値を格納する。従って、前記グローバルテーブルは更新できないテーブルであり、圧縮時、グローバルテーブルのデータを読むことのみ可能である。グローバルテーブルは固定テーブルであって、固定されたテーブルサイズを有する。本発明の実施形態において、前記グローバルテーブルは8ビットより小さいサイズを0,...,255有すると仮定する。前記グローバルテーブルのインデックスは0から255にすることができ、各インデックスに格納されるデータは、レンジブロックおよびドメインブロックの排他的論理和値である。前記図7aのようなグローバルテーブルを用いる場合、圧縮機は二つのマクロブロックの差異値中、最も頻繁に発生する差異値を0,1,2,3,...,255に割り当てて圧縮効率を高めることができる。前記図7bを参照すると、ローカルテーブルはデータの圧縮中に生成するテーブルであって、本発明の実施形態では、同じ値が3回以上発生し、前記発生された同じ値が前記グローバルテーブルに登録されていない値である場合、当該値をローカルテーブルに登録する。前記ローカルテーブルは圧縮機の探索器で生成することができる。前記ローカルテーブルは、更新が可能であり、データの圧縮中に前記テーブルにリードおよびライトが可能である。前記ローカルテーブルは、可変的に登録が可能であり、前記ローカルテーブルのサイズは前記グローバルテーブルのサイズより大きい値に設定する。本発明の実施形態における前記ローカルテーブルのサイズは8ビット256,...,511であると仮定する。この場合、前記ローカルテーブルのインデックスは256から511にすることができ、各インデックスに格納されるデータは、前記レンジブロックおよびドメインブロックの排他的論理和値である、差異コーディング、距離コーディング、圧縮解除速度制御の順に説明する。まず、前記圧縮の構成は、各マクロブロックは2個のショートブロックから構成されると仮定し、各ショートブロックは16ビットから構成されると仮定する。前記レンジブロックのドメインブロックは、前記レンジブロック以前の探索範囲内に存在する同じサイズのブロックにすることができる。また、前記レンジブロックは互いに重なることなく整数単位で配列され、前記ドメインブロックは互いに重なることもありバイト単位で配列される。レンジブロックの圧縮はドメインブロックとの距離および差異から構成される。2番目に、逆方向コストセーブの動作は、マクロブロックの参照リストは、マクロブロックと少なくとも一つのショートブロックとが一致する位置から構成され、マクロブロック以前のマクロブロックが圧縮されるハッシュテーブルに格納される。また、逆方向に同じ距離値で現在のコストを最大にセーブする長さkを求める。ここで、前記セーブはk個のレンジブロックにおけるコスト節減の和を意味する。その後、最適レファレンスと最適長さとに対しレンジブロックの圧縮を更新する。すなわち、前記圧縮機は、図4の111ステップ-121ステップを行いながら最適化ステップを行うが、これは次のようである。まず、圧縮機は長さ以内の各レンジブロックに対しsaving=oldcost-newcostの和を求める。その後、前記圧縮機は、現在のセーブが最大セーブより大きいかを検査し、大きければ前記圧縮機はパラメーター値を更新する。その後、圧縮機は、長さが最大長さより小さいかを検査する。ここで、前記長さが最大長さより小さければ前記長さを1増加させた後、次のステップを進行するために前記ステップに戻り、前記長さが最大長さであれば、前記レンジブロックの位置をハッシュテーブルに挿入する。3番目に、前記圧縮機の差異値を決定するステップは、前記差異圧縮は、ショートブロック単位の排他的論理和値をコーディングするが、前記コーディング方法は復元速度の要求事項によって選択される。グローバルテーブルは、大きい範囲の圧縮に効率のよいエントロピー符号化テーブルである。ローカルテーブルは、前記グローバルテーブルを参照して圧縮した後格納する。前記ローカルテーブルの構成は、テーブル圧縮率と差異圧縮コストとを考慮してテーブルエントリーの更新が決定される。4番目に、前記圧縮機の距離値を決定するステップは、前記距離圧縮は、復元速度および圧縮率を考慮して次のような2種類の方法を選択することができる。その一つは、現在のレンジブロックの距離が以前のレンジブロックの距離と同じであれば、以前のレンジブロックと同一であることを示す1ビットで表し、以前のレンジブロックの距離と異なっていて256以下であれば10ビットで表し、その他の場合には18ビットで表示する。また、他の方法は、距離は全て16ビットで表示し、距離シークエンスを圧縮して別途格納する。本発明の実施形態では前者の方法を使用すると仮定する。最後に、復元速度制御方法では、大型マクロブロックはm個のマクロブロックから構成される。また、各LMBの圧縮コストが臨界値より大きければコーディングせずにそれ自体を別途格納する。このようなLMBは、例外処理ブロックと称することにする。前記例外処理ブロックは、復元ステップが非常に簡単であるため、復元速度が向上する。前記復元速度の調整は、単純に臨界値tを調整すればよい。上記のように、本発明の実施形態に係るデータ圧縮機は次のような特徴を有する。まず、一つのマクロブロックを圧縮する時、レンジブロックの範囲を調整することでマクロブロックのデータ圧縮率を向上させることができる。2番目に、コストを直接最小化せずに、すでに圧縮されたコストのセーブが最大化する位置を探し、前記1番目で実行する圧縮時間を改善することができる。すなわち、コストを直接最小化すれば、レンジブロックの長さが可変であるため、時間複雑度が非常に大きくなる。3番目に、本発明の実施形態では、マクロブロックを多数のショートブロックを用い、圧縮時、レンジブロックの少なくとも一つのショートブロックが一致するポジションをハッシュして、圧縮実行速度を向上させると共にレンジブロックの連続性を保障する。4番目に、グローバルテーブルに備えてローカルテーブル構成をコストセーブ演算によって決定する。最後に、グローバルテーブルとローカルテーブルとを圧縮によって格納し、圧縮時にこれを用いてマクロブロックのデータを圧縮する。前記のような本発明の実施形態に係る圧縮機の構成および動作を具体的に説明する。図8は、本発明の実施形態に係る前記圧縮機の構成を示す図面である。前記図8を参照すると、ローダー210は、ダウンロードされるデータをロードする。ここで、前記ローダー210は、前記コーダー240で圧縮するデータのサイズのデータをロードする。ここで、前記圧縮フレームとは、前記コーダーがデータを圧縮するサイズを意味する。また、バッファーは、前記ローダー210によってロードされる圧縮フレームのデータを一時バッファーする機能を行う。探索器220は、前記ロードされた圧縮フレームのデータから探索範囲を決定し、レンジブロックを確認した後、前記探索範囲内に位置されたドメインブロックと前記レンジブロックとを比較して二つのブロック間の差異値を生成し、前記生成された差異値によるコストを計算し、最もコストの低いドメインブロックの距離情報およびコスト値を決定する。ここで、前記探索器220は、正方向コーディングで前記マクロブロックのサイズのレンジブロックと探索範囲内のドメインブロック間のコストを計算し、逆方向コーディングで以前コーディングされたレンジブロックと前記マクロブロックとが含まれたコストを最適化するレンジブロックの長さおよび距離を決定する。また、前記探索ステップにおいて、前記レンジブロックとドメインブロックとの差異値を計算した後、同一であればドメインブロックとの距離情報および同一であることを表す差異情報を生成し、異なれば前記ドメインブロックの距離情報および二つのブロックが異なることを表す差異情報を生成する。ここで、前記差異情報は、二つのブロックが同一である場合、同一であることを表す差異フラグになり、異なる場合、二つのブロックが異なることを表す差異フラグおよび差異値から構成される。ここで、前記差異値は、二つのブロックの比較結果値をそのまま使用することができ、前記差異値をコストに変換した値、または前記コストを変形した値等で使用することもできる。本発明の実施形態では、前記比較結果値からコストを計算し、前記計算されたコストをテーブルのインデックスに変換して差異値を生成する場合を例に挙げて説明する。この場合、前記探索器220はコストテーブルを備えることができる。ここで、前記コストテーブルは、計算されたコストに対応されるテーブルのインデックス情報を格納するテーブルとなる。前記テーブルは、グローバルテーブルおよびローカルテーブルであり、前記テーブルインデックスに対応される位置に前記差異値を格納することができる。また、前記探索器220は、前記探索範囲内で正方向コーディングをしながらレンジブロックと選択されるドメインブロックのデータを比較して差異値を生成し、前記コストテーブルで差異値に対応されるコストを計算する。また、逆方向コーディングをして前記生成されたコストを保管しているコストと比較して、現在生成されたコストの方が低ければ前記コストを更新し、そうでなければ以前のコストを維持する。前記のような動作を繰り返し、前記レンジブロックと探索範囲内のドメインブロックとを比較して最も低いコストを探索し、探索終了時、前記コストテーブルで探索された最も低いコストに該当するテーブルインデックスを選択する。その後、前記探索器220は、前記選択されたコストに対応されるドメイン情報との距離情報およびテーブルインデックスを前記コーダー240に伝達し、次のレンジブロックを選択して前記のような動作を繰り返し行う。前記コーダー240は、グローバルテーブルおよびまたはローカルテーブルを備えることができる。また、前記グローバルテーブルおよびローカルテーブルは前記バッファーにバッファーすることができる。前記グローバルテーブルは、前記図7aで説明したように、固定テーブルであって、実験的に測定してこれをテーブル化する。前記ローカルテーブルは、前記図7bで説明したように、可変テーブルであって、現在圧縮するデータに対してのみ可変的に生成するテーブルである。ここで、前記グローバルテーブルおよびローカルテーブルは、前記コストによって決定されるテーブルインデックスによって位置が指定され、前記テーブルインデックス位置にレンジブロックとドメインブロックとの差異値が格納されるテーブルである。以下、説明する本発明の実施形態では、グローバルテーブルおよびローカルテーブルを両方とも使用する場合を仮定して説明する。しかし、前記グローバルテーブルまたはローカルテーブル中のいずれか一つのみを用いてデータを圧縮することもある。前記コーダー240は、前記コスト値に対応される位置に格納されたテーブルインデックスをレンジブロックのコーディングデータに処理する。ここで、前記コストは前記探索器220で計算される。前記探索器220は、レンジブロックとドメインブロックとの差異情報に基づいて前記コストを計算することができ、前記コストを用いてコストテーブルでテーブルインデックスにアクセスする。ここで、前記テーブルインデックスは、グローバルテーブルおよびまたはローカルテーブルのインデックスである。前記探索器220は、前記レンジブロックとドメインブロックとの距離情報および前記テーブルインデックスを含む差異情報を前記コーダー240に伝達する。すると、前記コーダー240は、前記距離情報および差異情報を圧縮データにコーディングする。前記探索器220およびコーダー240の動作を説明する。本発明の実施形態では、前記レンジブロックは2個以上のショートブロックから構成される場合を仮定している。前記探索器220は、前記レンジブロックとドメインブロックとの差異を計算してコストを計算する。この時、レンジブロックとドメインブロックとの差異値が0であれば、すなわち同一であれば、コスト値は0と計算される。また、レンジブロックとドメインブロックとを構成するショートブロックが少なくとも一つ以上同一であれば、同一のショートブロックのコストは0となり、異なるショートブロックのコストは2個のショートブロックの差異値によって計算される。前記のような方法で、前記探索器220は、前記レンジブロックのショートブロックデータと前記探索範囲内のドメインブロックのショートブロックデータとを比較し、最も低いコストを有するショートブロックから構成されたドメインブロックを選択する。この時、前記探索器220は、探索範囲内でドメインブロックを正方向検索しながらコストを計算し、前記計算されたコストを逆方向に探索しながら現在保管している最も低いコストと比較した後、現在探索されたコストの方が低ければ、現在ドメインブロックとの距離情報およびコストを更新する。前記探索範囲内のドメインブロックの探索を終了すれば、前記探索器220は、探索範囲内で前記レンジブロックと最も低いコストを有するドメインブロックとの距離情報およびコスト値を保管するようになる。その後、前記探索器220は、前記コストを用いてコストテーブルでテーブルインデックスを求め、前記距離情報と共に前記テーブルインデックスを含む差異情報をコーダー240に伝達する。この時、前記差異情報は、差異フラグおよびテーブルインデックスを含むことができ、レンジブロックとドメインブロックとが同一である場合、前記テーブルインデックスは含まれない。本発明の実施形態では、前記探索器220が差異情報を生成する時、レンジブロックとドメインブロックのデータが一致すれば、差異フラグをリセットし、差異フラグのみからなる差異情報を生成する。しかし、前記レンジブロックとドメインブロックのデータが一致しなければ、前記探索器220は、差異フラグをセットし、差異値によるコストによって選択されるテーブルインデックス情報を含む差異情報を生成する。すると、前記コーダー240は、前記差異情報の差異フラグを分析して二つのブロックが同一のデータであれば、前記距離情報および差異フラグをレンジブロックの圧縮データにコーディングする。ここで、前記差異情報はテーブルインデックスを含むことができる。この時、前記テーブルインデックスが含まれていれば、前記コーダー240は、前記テーブルインデックスに対応されるテーブルで二つのブロックの差異値を確認した後、前記差異値が正常の差異値であれば、前記距離情報および差異情報をレンジブロックの圧縮データにコーディングする。また、本発明の実施形態では、前記圧縮機は例外ブロック処理部250をさらに備えることができる。ここで、前記例外ブロックは、レンジブロックとドメインブロックとの差異値が設定された臨界値より大きく、圧縮効果がほとんどないブロックになることもある。例えば、前記レンジブロックおよびドメインブロックは、前記図1で説明したように、マクロブロック単位のサイズを有し、前記マクロブロックは2個以上のショートブロックから構成される。この場合、前記探索器220は、上記のようにレンジブロックを決定し、探索範囲内のドメインブロックを正方向および逆方向コーディングして差異値が最も小さいドメインブロックを選択する。しかし、前記設定されたレンジブロックと選択されたドメインブロックのショートブロックデータが全て同一でなければ、現在のレンジブロックデータを圧縮する効果が大幅に落ちる。この場合、本発明の実施形態では、該当するレンジブロックのデータを圧縮せずにそのまま格納し、例外ブロックとして処理したことを表示するフラグを生成する。これは、圧縮解除機でメモリに圧縮格納されたデータを復元する時、例外処理ブロックのデータは圧縮解除ステップを経ることなく直接復元できるため、デコーディング速度が改善できる。本発明の第2実施形態では、前記コーダー240がグローバルテーブルおよびローカルテーブルを備え、差異情報の差異フラグを2ビットから構成し、前記例外ブロックに処理する例外フラグを共に表示する方法を提案する。この場合、前記差異フラグは、下記表1のように構成することができる。前記探索器220は、レンジブロックと選択されたドメインブロックのショートブロックのデータを上記のように探索範囲内のドメインブロックを正方向および逆方向検索し、最も低いコストを有するドメインブロックを選択する。まず、選択されたドメインブロックのデータが前記レンジブロックのデータと同一であれば、前記探索器220は、選択されたドメインブロックとレンジブロックとの距離情報および同一であることを表す差異フラグを生成してコーダー240に伝達する。2番目に、選択されたドメインブロックのデータが前記レンジブロックデータと異なり、二つのブロックの差異値によって生成されたコストがグローバルテーブルのインデックスであれば、前記探索器220は、前記選択されたドメインブロックとレンジブロックとの距離情報およびグローバルテーブルインデックスに存在することを表す差異フラグおよびグローバルテーブルインデックスを含む差異情報を生成して前記コーダー240に伝達する。3番目に、選択されたドメインブロックのデータが前記レンジブロックデータと異なり、二つのブロックの差異値によって生成されたコストがローカルテーブルのインデックスであれば、前記探索器220は、前記選択されたドメインブロックとレンジブロックとの距離情報およびローカルテーブルインデックスに存在することを表す差異フラグおよびローカルテーブルインデックスを含む差異情報を生成して前記コーダー240に伝達する。最後に、前記レンジブロックとドメインブロックのデータが異なり、二つのブロックの差異値によって生成されたコストがグローバルテーブルおよびローカルテーブルに存在しなければ、前記探索器220は、前記差異フラグを例外処理フラグに設定してこれを前記コーダー240に通知する。すると、前記コーダー240は、前記差異フラグを分析してレンジブロックのデータをコーディングする。まず、前記差異フラグが、二つのブロックのデータが同一であることを表すフラグであれば、前記コーダー240は、前記選択されたドメインブロックの距離情報および差異フラグを前記レンジブロックの圧縮データにコーディングする。2番目に、前記差異フラグが、グローバルテーブルのインデックスを有するデータであることを表すフラグであれば、前記コーダー240は、前記選択されたドメインブロックの距離情報および差異フラグおよびグローバルテーブルインデックスからなる差異情報をレンジブロックの圧縮データにコーディングする。3番目に、前記差異フラグが、ローカルテーブルのインデックスを有するデータであることを表すフラグであれば、前記コーダー240は、前記選択されたドメインブロックの距離情報および差異フラグおよびローカルテーブルインデックスからなる差異情報をレンジブロックの圧縮データにコーディングする。最後に、前記差異フラグが例外処理フラグであれば、前記コーダー240は、例外ブロック処理部250を駆動して前記レンジブロックのデータをコーディングせずにそのままメモリに格納する。この場合、前記メモリには、前記例外ブロックに処理されたレンジブロックのコーディングされていないデータが格納され、差異フラグには、例外処理フラグが格納される。本発明の実施形態では、前記例外ブロック処理部250が、前記コーダー240と独立して構成される場合を仮定して説明しているが、前記例外ブロック処理部250は、前記コーダー240に含まれる構成としても具現できる。図9は、前記探索器220の動作を説明するための図面である。前記図9において、レンジブロックは、391のように8番および9番ショートブロックの場合を仮定している。この場合、ドメインブロックは2個のショートブロックを対象にし、図9の場合、ドメインブロックは、6番および7番ショートブロック、5番および6番ショートブロック、4番および5番ショートブロック、3番および4番ショートブロック、2番および3番ショートブロック、1番および2番ショートブロック、また、0番および1番ショートブロック等にすることができる。前記図9の393のような圧縮対象のデータがダウンロードされ、ローダー210によってバッファーにバッファーされた状態である。前記図9を参照すると、310ステップで探索器220は探索範囲をロードし、ここで探索範囲は2,4,8,16,...,65536マクロブロックにすることができる。ここで、前記探索範囲は、上記のようにコーダー240がデータを圧縮するための単位である。前記探索範囲を決定した後、探索器220は320ステップで圧縮する対象であるレンジブロックをロードし、ここで、前記レンジブロックは8番および9番ショートブロックと仮定する。その後、前記探索器220は、330ステップで前記レンジブロックを探索範囲内の各ドメインブロックと比較できるようにドメインブロックを選択する。ここで、前記ドメインブロックの選択は、レンジブロックの位置で正方向コーディングしながらドメインブロックを選択し、この時、前記ドメインブロックはショートブロック単位で移動しながら選択される。前記ドメインブロックを選択した後、探索器220は340ステップで前記選択されたドメインブロックのデータを前記レンジブロックのデータと比較する。この時、前記比較演算は、排他的論理和演算である。その後、前記探索器220は、350ステップで前記ドメインブロックとの距離情報を算出し、360ステップで前記二つのブロック間の差異値によるコストを計算する。ここで、前記距離情報は、距離フラグおよび距離値から構成される。また、前記コストは、二つのブロックの比較結果値の差異値に基づいて計算する。前記探索器220は、テーブルインデックスを格納するコストテーブルを備え、コストはコストテーブルのアドレスに使用される。従って、前記コストが計算されれば、探索器220は、前記コストに対応されるアドレスに格納されたコストテーブルの値を発生し、この時、コストテーブルの値はテーブルインデックスとなる。ここで、前記テーブルインデックスは、前記グローバルテーブルまたはローカルテーブルのインデックスにすることができる。前記のようなステップを行い前記探索器220は前記レンジブロックと探索範囲内のドメインブロックとの距離情報およびコストを計算し、前記計算されたコストをコストテーブルで探索してテーブルインデックスを求める。ここで、前記探索器220は、前記コストによって探索されるテーブルインデックスの中から最も小さい値を有するテーブルインデックスを選択する。すなわち、正方向コーディングをしながらドメインブロックとの距離情報およびコストを計算しすなわち、レンジブロックを選択した後、順次にドメインブロックを選択しながら距離情報およびコストを計算し、前記コストを用いてコストテーブルでテーブルインデックスを決定する。その後、逆方向コーディングし、前記決定されたテーブルインデックスと現在まで探索しながら保管している最も低いテーブルインデックスとを比較して、以前のテーブルインデックスの方が小さい値を有していれば、以前のテーブルインデックスを維持し、そうでなければすなわち、現在のテーブルインデックスの方が小さい値を有していれば、前記テーブルインデックス値を更新して格納する。すなわち、前記探索器220は、現在のテーブルのインデックスの方が小さければ、現在探索されたドメインブロックとの距離情報および差異値によるテーブルインデックスを更新格納し、そうでなければ、以前の探索ステップで保管していた距離情報およびテーブルインデックスをそのまま維持する。前記のような動作を繰り返し行ない、前記探索器220は、前記レンジブロックと探索範囲内で最も低いコストを有するドメインブロックとの距離情報およびテーブルインデックスを格納する。しかし、前記探索器220において、レンジブロックを構成するショートブロック中、いずれのショートブロックも探索範囲内のショートブロックと同一でない場合、当該レンジブロックの圧縮効果はよくない。この場合、本発明の実施形態では、該当するレンジブロックを例外ブロックに処理する。すなわち、探索器220は、レンジブロックのショートブロックを探索範囲内のドメインブロックのショートブロックと比較し、一致する数以上のショートブロックを探索できなかった場合、例外処理フラグを生成して該当するレンジブロックのコストを計算しない。例えば、レンジブロックおよびドメインブロックのサイズを有するマクロブロックがN個のショートブロックから構成され、レンジブロックおよび探索領域内のドメインブロックを比較するとき、二つのマクロブロックにおいて一致するショートブロックの数がM個以下である場合、前記探索器220は、該当するレンジブロックを例外処理ブロックに設定することができる。この場合、前記探索器220は、当該レンジブロックを例外処理ブロックに決定して例外処理フラグをセットする。この場合、本発明の実施形態では、前記差異フラグを例外処理フラグとして処理し前記表1の場合、差異フラグは11となる、テーブルインデックスは生成しない。本発明の実施形態において、前記レンジブロックおよびドメインブロックは2個のショートブロックから構成される場合を仮定して説明している。この場合、前記N=2、M=0に設定することができる。また、前記探索器220は、レンジブロックのショートブロックと探索範囲内の全てのドメインブロックのショートブロックとが同一でない場合、当該レンジブロックを例外処理ブロックに決定し、差異フラグを11に決定して例外処理ブロックであることを表示する。また、前記探索器220はローカルテーブルを生成することができる。すなわち、前記図7bに示すように、前記探索器220は、グローバルテーブルに登録されてはいないが同一の差異値レンジブロックとドメインブロックとの差異値が設定された回数ここでは、3回以上発生すれば、これをローカルテーブルに登録する。この時、前記ローカルテーブルのコストテーブルインデックスは、前記グローバルテーブルのコストテーブルインデックスよりは大きい値を有するように設定する。また、前記コストおよびテーブルインデックスはコストテーブルに登録する。上記のように、ローカルテーブルを使用する場合、圧縮機は前記グローバルテーブルには登録されていないが、よく発生する差異値をテーブルに登録して圧縮を効率よく行うことができる。前記のような探索ステップが終了すれば、前記探索器220は、370ステップで前記格納している距離情報および差異情報テーブルインデックスを含むをコーダー240に伝達する。前記図9の場合、前記探索器220は、図9の393のように、バッファーされたデータをマクロブロック単位に設定し、現在のレンジブロックである8番および9番ブロックの前に位置するドメインブロックを6番および7番、5番および6番、4番および5番、...、0番および1番ブロックの順にインデックスして探索をする。また、前記探索器220は、前記レンジブロックのデータを選択されるドメインブロックのデータと比較して、その結果値を出力する。この場合、前記探索器220は、レンジブロックとドメインブロックとを比較して差異値を生成するが、6番および7番ショートブロックがドメインブロックに選択される時点でEXORB、CXORBを生成し、5番および6番ショートブロックがドメインブロックに選択される時点でBXORB、EXORBを生成し、4番および5番ブロックがドメインブロックに選択される時点でBXORB、BXORBを生成し、3番および4番ショートブロックがドメインブロックに選択される時点でFXORB、BXORBを生成し、2番および3番ショートブロックがドメインブロックに選択される時点でDXORB、FXORBを生成し、1番および2番ショートブロックがドメインブロックに選択される時点でBXORB、DXORBを生成し、0番および1番ショートブロックがドメインブロックに選択される時点でAXORB、BXORBを生成する。また、前記ドメインブロックとレンジブロック間の距離情報も生成する。その後、前記探索器220は、生成された差異値に基づいてコストを計算するが、レンジブロックがドメインブロックと同一である場合図9において4番および5番ショートブロック、コストは0となり、2個のショートブロック中一つのショートブロックが同一である場合5番および6番ショートブロック、3番および4番ショートブロック、1番および2番ショートブロック、0番および1番ショートブロック、コストは最小コストで計算され、2個のショートブロックが両方とも異なる場合、コストは高いコストで計算される。図9のような場合、前記探索器220は370ステップで前記4番および5番ショートブロックの距離情報距離フラグ1、距離値4と二つのブロックデータが同一であることを表す差異フラグここでは、差異フラグ=0とを前記コーダー240に伝達する。しかし、前記4番および5番ショートブロックと同じコストが0または、0に近い値のドメインブロックがない場合、前記探索器220は、コストが最も低いドメインブロックの距離情報および差異情報を生成してコーダー240に伝達する。ここで、前記差異情報は、二つのブロックのデータが互いに異なることを表す差異フラグここでは、差異フラグ=01または10およびテーブルインデックス前記計算されたコストに対応されるコストテーブルに格納されたテーブルインデックスを含む情報である例えば、0番および1番ショートブロックの場合、距離情報距離フラグ1、距離値8および差異情報差異フラグ01、テーブルインデックス。すると、コーダー240は、前記距離情報および差異情報を用いてレンジブロックのデータを圧縮する。図10は、前記コーダー240において、レンジブロックのデータを圧縮するステップを示すフロー図である。前記図10は、コーダー240が例外ブロック処理機能を備える場合を示している。しかし、前記コーダー240は、前記例外ブロック処理機能を備えないこともある。この場合、前記圧縮機は例外ブロック処理部250を備えず、コーダー240は、前記例外ブロックに処理すべきブロックも上記のようにコストを計算してコーディングすることができる。前記図10を参照すると、ローダー210は411ステップでダウンロードされたデータをロードしてバッファーにバッファーするが、この時、前記ロードされるデータはマクロブロックおよびショートブロック単位に分割される。この時、前記ロードされるデータの前の段に位置するマクロブロックは、比較する対象、すなわちドメインブロックがないか、または、少数のドメインブロックと比較してコーディングされる。この場合、比較する対象であるドメインブロックが多くないため、前記圧縮機はレンジブロックの圧縮を効果的にすることができなくなる。そのため、圧縮時、圧縮フレームの前に位置する設定された数のマクロブロックは、圧縮ステップを行わずに例外処理ブロックに処理するのが好ましい。前記ローダー210は、前記圧縮フレームサイズにデータをロードし、探索器220は、ロードされるデータをレンジブロックおよびドメインブロックに分割して探索し始める。この時、ロードされるデータの前の部分は、参照対象であるドメインブロックがないか、または非常に少数のドメインブロックを有するようになる。この場合、本発明の実施形態において、前記探索器220は、ロードされる圧縮フレームデータから設定されたサイズのマクロブロックは例外ブロックに処理する。前記図10では、ロードされる圧縮フレームデータから16マクロブロックを例外ブロック処理することを例示している。従って、圧縮開始時、前記コーダー240は、435ステップで前記マクロブロックMB0-MB15を例外処理ブロックに処理した後、433ステップで例外処理ブロックとして格納する。この時、前記コーダー240は、前記例外処理ブロックのデータを圧縮せずにそのまま格納する。前記例外処理ブロック処理後、探索器220は、前記図9に示すように探索範囲を設定した後、レンジブロックと探索範囲内のドメインブロックとをロードした後、これらのブロックを比較し、前記レンジブロックに対する距離情報および差異情報をコーダー240に伝達する。すると、前記コーダー240は、415ステップで差異フラグを検査してレンジブロックとドメインブロックのデータが同一であるかを検査し、同一であれば417ステップで、探索器220で前記レンジブロックのデータを生成された距離情報および差異フラグにコーディングして圧縮データを生成した後、419ステップでメモリにバッファーする。すなわち、前記レンジブロックおよび探索されたドメインブロックのデータが同一であれば、前記コーダー240は、レンジブロックとドメインブロック間の距離情報およびレンジブロックと同一であることを表す差異フラグを前記レンジブロックの圧縮データに生成する。しかし、前記415ステップでレンジブロックと同一のドメインブロックがない場合、前記コーダー240は、421ステップで前記テーブルインデックスを確認し、423ステップで、前記テーブルでこれを確認する。この時、前記テーブルインデックスは、前記探索器220で二つのブロックの差異値によって生成される情報であり、前記グローバルテーブルのテーブルインデックスとなる。ここで、前記テーブルインデックスを確認する理由は、前記探索器220で探索されたコストがグローバルテーブルに存在するかを確認するためである。すなわち、前記グローバルテーブルは、前記コストによって決定されるテーブルインデックスを用いて、圧縮解除機が圧縮データを復元する時、前記テーブルインデックスによってレンジブロックとドメインブロックとの差異値を抽出することができるようになる。以下の説明では、グローバルテーブルおよびローカルテーブルを両方とも使用する場合と仮定して説明する。前記探索器220で生成されたテーブルインデックスが前記テーブルのインデックスに用いられなければ、当該レンジブロックの圧縮データは復元できない。この時、前記差異フラグが、グローバルテーブルのインデックスであることを表示する差異フラグであれば、前記コーダー240は425ステップで前記テーブルインデックス値がグローバルテーブルに存在するかを検査し、前記グローバルテーブルに存在すれば419ステップで距離情報および差異情報をメモリに格納する。この時、距離情報は、前記レンジブロックと距離フラグおよび該当するドメインブロックとの距離値であり、差異情報は、差異フラグおよびグローバルテーブルのインデックス値である。また、前記差異フラグがローカルテーブルのインデックスであることを表示する差異フラグであれば、前記コーダー240は427ステップでローカルテーブルを探索する。ここで、前記ローカルテーブルは、前記図7bに示すように、探索器220に生成されるテーブルであって、前記グローバルテーブルには登録されていないが設定回数以上に反復的に探索される差異値が登録される。この時、前記ローカルテーブルに前記テーブルインデックス値が存在すれば、前記コーダー240は429ステップでこれを感知し、419ステップで距離情報および差異情報をメモリに格納する。上記のように、前記差異フラグが0でなく、前記差異フラグが01または10であれば、前記コーダー240は、前記差異フラグ値および前記グローバルテーブルまたはローカルテーブルのテーブルインデックスからなる差異情報を前記距離情報と共にメモリに格納する。しかし、前記429ステップで前記差異フラグが例外処理フラグであれば、前記コーダー240は429ステップでこれを感知し、431ステップで例外ブロック処理部250を駆動する。すると、例外ブロック処理部250は、431ステップで例外処理フラグをメモリに格納した後、433ステップでレンジブロックのデータを圧縮せずにそのまま格納する。すなわち、前記レンジブロックが探索範囲内のドメインブロックと同一でなく、また、前記グローバルテーブルおよびローカルテーブルに存在しなければ、コーダー240は、例外ブロック処理部250を介して例外処理フラグと共に圧縮されていないデータをそのまま格納する。上記のように、前記コーダー240は、レンジブロックのデータを圧縮せずにメモリに格納することができる。例えば、前記レンジブロックを構成するショートブロックデータが探索範囲内に存在するドメインブロックのショートブロックデータと同一でないか、または、同一のショートブロックが存在するとしてもコストが高い場合、前記レンジブロックを例外処理ブロックに処理する。すなわち、レンジブロックとドメインブロックとの差異値がグローバルテーブルおよびローカルテーブルに存在しなければ、当該レンジブロックのデータを圧縮せずにそのまま格納する。この場合、前記コーダー240は、これを例外ブロック処理部250に通知し、前記例外ブロック処理部250は、当該レンジブロックのデータを圧縮せずにメモリにそのまま格納する。ここで、前記例外ブロック処理部250はコーダー240の内部に構成することもできる。前記圧縮機は、前記のような動作を繰り返しながらロードされるレンジブロックのデータを圧縮した後、前記メモリに格納する。この時、前記第2補助メモリに格納される圧縮データは、距離情報、差異情報、および例外処理ブロック等から構成される。前記メモリに下記表2のように、距離情報、差異情報、および例外処理ブロックが格納される。上記のように、前記圧縮機は、レンジブロックの前に位置する探索範囲内に存在するドメインブロックをレンジブロックと比較して差異値を求めた後、差異値によるコストを計算し、最も低いコストを有するドメインブロックとの距離情報および差異情報を用いてレンジブロックのデータを圧縮する。前記図9において、レンジブロックと探索範囲内の3番目4,5のドメインブロック間の差異が0であるため、前記コーダー240は、前記3番目のドメインブロックまでの距離および差異値を圧縮データに生成する。しかし、前記図9において、1番目6,7および5番目2,3のドメインブロックのように、探索範囲内のドメインブロック中、前記レンジブロックと同じショートブロックがない場合、前記コーダー240は、前記レンジブロックを例外処理ブロックに処理する。また、2番目5,6、4番目3,4、6番目1,2および7番目0,1のドメインブロックのように、前記レンジブロックのショートブロック中の一つのショートブロックと探索範囲内のドメインブロック中の一つのショートブロックとが同一である場合、前記コーダー240は、前記探索範囲内のドメインブロックとレンジブロックのコストの和を計算し、最も低いコストの和を有するドメインブロックと前記レンジブロック間の距離情報および差異情報を圧縮データに決定する。この時、前記コーダー240が、グローバルテーブルおよびまたはローカルテーブルを備える場合、前記コーダー240は、前記差異値を前記テーブルのインデックスに適用してテーブルの当該インデックス位置に存在する情報を圧縮データに決定する。この場合、前記レンジブロックの圧縮データは、ドメインブロックとの距離および前記テーブルの情報となる。図11は、前記図9に示すようなデータがローダー210によってロードされバッファーにバッファーされた後、探索器220によってレンジブロックと最も低い値を有するドメインブロックのコストを計算する場合、コーダー240が、前記探索器220で出力される距離情報および差異情報を用いて各レンジブロックのデータをコーディングするステップを具体的に示す図面である。前記図11において、ショートブロック0,1,2,3,4,5は、ロード時、例外ブロックに処理するブロックと仮定し、6,7,8,9,10,11がレンジブロックに選択される場合の探索器220およびコーダー240の動作ステップを具体的に説明する。前記図11を参照すると、ローダー210は、図11の参照番号510のような圧縮フレームデータをロードして内部バッファーにバッファーする。すると、コーダー240は、512ステップで前記510のようなデータから例外処理するブロックのデータをロードした後、514ステップおよび516ステップで前記ロードしたブロックデータを例外処理する。この時、前記例外処理されるブロックは6個のショートブロック0,1,2,3,4,5である。前記516ステップで例外処理されるブロックは、図11の参照番号518のようにメモリに格納される。上記のように、ロードされる圧縮フレームデータから設定された数のマクロブロックを例外処理するのは、上記のように圧縮効率がよくないためであって、この場合、ロードされる圧縮フレームデータの始まる部分に位置する設定された数のマクロブロックを例外処理して復号効率を向上させるのが好ましい。従って、前記メモリには例外処理されたブロックのデータが格納される。上記のように、ロードされた圧縮フレームデータの例外処理ブロックを処理した後、圧縮機は、522ステップでその後続くマクロブロックからレンジブロックを選択し、前記選択されたレンジブロックの前に位置するドメインブロックを探索して距離情報および差異情報を計算し、前記選択されたレンジブロックのデータを圧縮する。前記図11では、マクロブロックproc-26,7,proc-38,9,proc-410,11がレンジブロックに選択される場合の圧縮ステップを説明する。まず、proc-26,7の圧縮ステップにおいて、探索器220は524ステップで前記レンジブロック6,7をロードした後、探索範囲を設定する。ここで、前記探索範囲はブロック0-5にすることができる。その後、探索器220は、526ステップで正方向および逆方向コーディングステップを行うが、前記探索範囲内に同一のブロックがないため、グローバルテーブルおよびローカルテーブルのインデックスを生成できず、当該レンジブロックを例外処理するための差異フラグを生成する。従って、コーダー240は、562ステップで前記探索器220で生成される例外処理フラグによって前記レンジブロック6,7を例外処理するようになる。前記例外ブロック処理時、前記コーダー240は、前記差異フラグを格納する領域に例外処理されるブロックであることを表すフラグを格納して例外ブロックのデータを圧縮せずにそのまま格納し、この時、前記メモリに格納される例外処理ブロックのデータは、図11の参照番号564のような形態を有する。次に、proc-38,9の圧縮ステップにおいて、探索器220は、524ステップで前記レンジブロック8,9をロードした後、探索範囲を設定する。ここで、前記探索範囲はブロック0-7にすることができる。その後、探索器220は、526ステップで前記探索範囲のドメインブロックを正方向および逆方向コーディングステップを行う。ドメインブロック4,5を探索する時、探索器220は、前記レンジブロック8,9と同一であることを感知して前記ドメインブロック4,5で差異値が0であることを表す差異情報を生成する。この場合、探索器220は、前記レンジブロックのショートブロック8に対しては差異フラグ=1、差異値=4を有する距離情報を生成し、差異フラグ=0の差異情報を生成し、ショートブロック9に対しては距離フラグ=0の距離情報および差異フラグ=0の差異情報を生成してコーダー240に出力する。すると、前記コーダー240は、532ステップおよび534ステップでレンジブロックとドメインブロックのデータが同一であることを確認し、前記距離情報および差異フラグから構成される圧縮データを生成してメモリに格納する。この時、前記メモリに格納されるブロック8,9の圧縮データは、図11の参照番号536のように、距離情報は10distanceflag、4distancevalueであり、差異情報は00differenceflag=00である。最後に、proc410,11の圧縮ステップにおいて、探索器220は524ステップで前記レンジブロック10,11をロードした後、探索範囲を設定する。ここで、前記探索範囲はブロック09にすることができる。その後、探索器220は526ステップで前記探索範囲のドメインブロックを正方向および逆方向コーディングステップを行う。ドメインブロック0,1を探索する時、探索器220は、前記レンジブロック10,11と類似していることを感知し、これによる距離情報および差異情報を生成する。この時、前記レンジブロックのショートブロック10とドメインブロックのショートブロック0とは同一であるため、探索器220は、当該ショートブロックの位置に差異値が0であることを表す差異情報を生成する。この場合、探索器220は、距離フラグ=1、距離値=10を有する距離情報を生成し、差異フラグ=0の差異情報を生成してコーダー240に出力する。また、レンジブロックのショートブロック11とドメインブロックのショートブロック1とは互いに異なるデータであるため、探索器220は、2個のショートブロックの差異値CXORBを計算し、前記差異値に対応されるコストを計算した後、前記コストテーブルで前記コストによるテーブルインデックスを決定する。この場合、探索器220は、距離フラグ=0に生成し、差異フラグおよび前記決定されたテーブルインデックスからなる差異情報をコーダー240に出力する。ここで、前記テーブルインデックスはグローバルテーブルのインデックスと仮定する。この場合、前記差異情報は、差異フラグ=01およびグローバルテーブルインデックスGtblidxからなる。すると、前記コーダー240は、532ステップおよび534ステップでレンジブロックのショートブロック10とドメインブロックのショートブロック0のデータとが同一であることを確認し、前記距離情報および差異フラグから構成される圧縮データを生成してメモリに格納する。また、前記レンジブロックのショートブロック11はドメインブロックのショートブロック1と同一でないため、コーダー240は、542ステップおよび544ステップを行い探索器220で出力されるテーブルインデックスを544のようなテーブルで探索する。この時、前記テーブルインデックスが、前記図11の参照番号544のようなテーブルで検索されれば、コーダー240は、548ステップで前記検索されたコストGtblidxcodeを差異値として格納する。すなわち、コーダー240は、レンジブロックのショートブロック11の圧縮データで、距離フラグ=0の距離情報と差異フラグ=01、差異値=Gtblidxcodeの差異情報とを圧縮データに生成して550のようにメモリに格納する。図11の参照番号550は、図11の参照番号510のような圧縮フレームデータをロードした後、探索器220およびコーダー240がショートブロック011のデータを圧縮してメモリに格納する形態を表示している。上記のように、本発明の実施形態では、レンジブロックと探索範囲内のドメインブロックとの距離情報および差異情報を確認してレンジブロックを圧縮する。ここで、前記距離情報は、レンジブロックと対応されるドメインブロック間の距離情報であり、距離フラグと距離値とからなる。前記距離フラグは、1ビットを使用してセット状態またはリセット状態に設定することができる。すなわち、現在、圧縮対象であるレンジブロックと対応されるドメインブロック間の距離値が、以前圧縮対象であったレンジブロックと対応されるドメインブロック間の距離値と同一である場合、距離フラグはリセットされた状態に設定し、そうでなければ、前記距離フラグはセットに設定する。この場合、前記距離情報は、距離フラグがセット状態であれば、前記距離フラグおよび対応されるドメインブロックとの距離値から構成され、距離フラグがリセット状態であれば、距離フラグのみから構成され、距離値は格納しない。前記差異情報は、レンジブロックと対応されるドメインブロック間の差異情報であり、差異フラグおよび差異値からなる。ここで、差異フラグは、差異値の種類によって多様な形態に設定することができる。すなわち、差異値が一つの形態に生成される場合、差異フラグは1ビットを用いてセットまたはリセット状態に設定することができる。しかし、差異値が少なくとも2種類の形態を有する場合、形態の数によって差異フラグのビット数を決めることができる。本発明の実施形態では、上記のように、まず、レンジブロックと対応されるドメインブロック間の差異値をそのまま使用する方法、2番目に、グローバルテーブルを備え、レンジブロックとドメインブロックとの差異値を計算した後、差異値によるグローバルテーブルのテーブルインデックスを差異値に使用する方法、3番目に、グローバルテーブルおよびローカルテーブルを備え、レンジブロックとドメインブロック間の差異値を計算した後、差異値によるグローバルまたはローカルテーブルのテーブルインデックスを差異値に使用する方法、最後に、前記2番目および3番目の方法を使用する場合に、圧縮効果の小さいレンジブロックを例外処理ブロックに処理する方法の中から、いずれか一つの方法を使用することができる。前記1番目の差異情報を生成する方法は、現在、圧縮対象であるレンジブロックと対応されるドメインブロック間の距離値が、以前圧縮対象であったレンジブロックと対応されるドメインブロックとで同一である場合、差異フラグはリセットされた状態に設定し、そうでなければ、前記差異フラグはセットに設定する。この時、前記二つのブロックの差異値は、レンジブロックとドメインブロックとを1308722754188013087227541881演算した後、その演算の結果値を差異値に使用する。この場合、前記差異情報は、差異フラグがセット状態であれば、前記差異フラグおよび対応されるドメインブロックの排他的論理和値から構成され、差異フラグがリセット状態であれば、差異フラグのみから構成され差異値は格納しない。前記2番目の差異情報を生成する方法は、現在、圧縮対象であるレンジブロックと対応されるドメインブロック間の距離値が、以前圧縮対象であったレンジブロックと対応されるドメインブロックとで同一である場合、差異フラグはリセットされた状態に設定し、そうでなければすなわち、二つのブロックが異なれば、前記差異フラグはセットに設定する。この時、前記二つのブロックの差異値は、レンジブロックとドメインブロックとを1308722754188213087227541883演算した後、その演算結果値を用いてコストを計算する。また、このコストを用いてグローバルテーブルのテーブルインデックスを決定した後、前記決定されたテーブルインデックスを差異値に設定する。この場合、前記差異情報は、差異フラグがセット状態であれば、差異フラグおよびグローバルテーブルのテーブルインデックスから構成され、差異フラグがリセット状態であれば、差異フラグのみから構成され差異値は格納しない。ここで、グローバルテーブルは、前記レンジブロックとドメインブロック間の差異値が格納され、ここでの差異値は二つのブロック間の排他的論理和値である。前記3番目の差異情報を生成する方法は、現在、圧縮対象であるレンジブロックと対応されるドメインブロック間の距離値が、以前圧縮対象であったレンジブロックと対応されるドメインブロックとで同一である場合、差異フラグはリセットされた状態に設定し、そうでなければ、前記差異フラグはセット状態に設定する。この時、前記二つのブロックの差異値は、レンジブロックとドメインブロックとを1308722754188413087227541885演算した後、その演算結果値を用いてコストを計算する。また、このコストを用いてグローバルまたはローカルテーブルのインデックスを決定した後、決定されたテーブルインデックスを差異値に設定する。ここで、グローバルテーブルは固定テーブルであり、ローカルテーブルは可変テーブルである。また、前記ローカルテーブルは、前記グローバルテーブルに存在しないが頻繁に発生する差異値を分析した後、圧縮ステップでテーブル化して生成されるテーブルである。この場合、前記圧縮機は、レンジブロックと該当するドメインブロックとの差異値をローカルテーブルに登録し、前記ローカルテーブルのテーブルインデックスをコストテーブルに登録する。前記差異情報は、差異フラグがセット状態であれば、前記差異フラグおよびグローバルテーブルのテーブルインデックスから構成され、差異フラグがセット状態であれば、前記差異フラグおよびローカルテーブルのテーブルインデックスから構成される。また、差異フラグがリセット状態であれば、差異フラグのみから構成され差異値は格納しない。前記4番目の差異情報を生成する方法は、グローバルテーブルを用いて圧縮する方法、または、グローバルテーブルおよびローカルテーブルを用いて圧縮する方法を使用する場合、レンジブロックおよびドメインブロックの差異値が前記テーブルに存在しない場合もある。この場合、レンジブロックのデータは圧縮しないほうがよいこともある。すなわち、前記のようなレンジブロックのデータを圧縮する方法は、デコーディング時に長い時間がかかる。そのため、レンジブロックとドメインブロックとの差異値がグローバルテーブルおよびローカルテーブルに登録されていない場合、当該レンジブロックのデータは例外ブロックに処理して圧縮しない方法を使用する。この場合、前記差異フラグを例外処理フラグにセットし、差異値はレンジブロックのデータをそのまま使用する。圧縮機は、上記のように生成される差異情報を距離情報と共に該当するレンジブロックの圧縮データにコーディングする。上記のようにコーディングされた圧縮データはメモリに格納されるか、または、通信部を介して外部に伝送される。"