"入力されたデータ列に含まれる複数のデータ要素のうちN個Nは2以上の自然数を1のブロックにまとめ、前記ブロックに含まれるN個のデータ要素に対して所定の圧縮方式により圧縮データを当該ブロック単位に生成し、前記圧縮データの生成に用いられた圧縮方式に対応し、かつ、前記ブロックに含まれるデータ要素数がN個であることを特定する制御コードを、当該圧縮データに付加するデータ圧縮方法。前記ブロックに含まれるN個のデータ要素に対して複数の圧縮方式のそれぞれによりデータを圧縮した場合のデータ長を試算し、前記複数の圧縮方式のうち前記試算したデータ長が最小となる圧縮方式を前記所定の圧縮方式として選択し、前記ブロックに含まれるN個のデータ要素に対して、前記選択された圧縮方式により圧縮データを生成することを特徴とする請求項1に記載のデータ圧縮方法。前記複数の圧縮方式は、前記N個のデータ要素のそれぞれについて、直前のデータ要素との圧縮値を算出し、前記算出されたN個の圧縮値のデータ長のうち最大値を特定し、前記N個の圧縮値のそれぞれのデータ長を前記特定した最大値となるように補正し、前記補正後のN個の圧縮値を前記ブロックにおける圧縮データとする第1の圧縮方式を含み、前記第1の圧縮方式に対応する制御コードは、前記特定した最大値をさらに特定することを特徴とする請求項2に記載のデータ圧縮方法。前記入力されたデータ列に含まれる複数のデータ要素のうちN個を第1のブロックにまとめ、前記第1のブロックに含まれない他のN個を第2のブロックにまとめ、前記第1の圧縮方式により前記第1のブロックに対して算出された圧縮値のデータ長の最大値と、前記第1の圧縮方式により前記第2のブロックに対して算出された圧縮値のデータ長の最大値とが等しい場合、当該第1のブロック及び当該第2のブロックを結合して第3のブロックにまとめ、前記第3のブロックに含まれる圧縮値のそれぞれのデータ長を前記最大値となるように補正し、当該補正後の2N個の圧縮値を前記第3のブロックにおける圧縮データとし、前記第1の圧縮方式に対応し、かつ、データ要素数が2N個であることを特定する制御コードを、前記第3のブロックにおける圧縮データに付加することを特徴とする請求項3に記載のデータ圧縮方法。Nが4以上の自然数である場合、前記ブロックに含まれるN個のデータ要素を複数のデータ要素を含む複数のサブブロックに分類し、各サブブロック間で前記第1の圧縮方式により算出された圧縮値のデータ長の最大値が異なる場合、前記サブブロック単位に前記第1の圧縮方式により圧縮データを生成し、各サブブロックにおける前記最大値を特定する制御コードを、前記サブブロック単位に付加することを特徴とする請求項3に記載のデータ圧縮方法。前記複数の圧縮方式は、前記ブロックに含まれるN個のデータ要素が特定のデータ列の特徴を有するか否かを判定し、前記特定のデータ列の特徴を有すると判定した場合、前記N個のデータ要素と当該特定のデータ列との差分を可逆に表現する特徴値を算出し、前記特徴値を前記ブロックにおける圧縮データとする第2の圧縮方式を含み、前記第2の圧縮方式に対応する制御コードは、前記特定のデータ列をさらに特定することを特徴とする請求項2乃至5のいずれか1項に記載のデータ圧縮方法。過去に圧縮データが生成された過去ブロックにおけるN個のデータ要素の特徴に基づきデータ列を生成し、当該生成したデータ列を前記第2の圧縮方式に用いられる前記特定のデータ列に追加することを特徴とする請求項6に記載のデータ圧縮方法。前記複数の圧縮方式は、前記ブロックに含まれるN個のデータ要素が過去に圧縮データが生成された過去ブロックにおけるN個のデータ要素の特徴を有するか否かを判定し、前記過去ブロックの特徴を有すると判定した場合、前記N個のデータ要素と当該過去ブロックとの差分を可逆に表現する特徴値を算出して、前記特徴値を前記ブロックにおける圧縮データとする第3の圧縮方式を含み、前記第3の圧縮方式に対応する制御コードは、前記過去ブロックをさらに特定することを特徴とする請求項2乃至7のいずれか1項に記載のデータ圧縮方法。前記試算するために、前記ブロック領域に格納されたN個のデータ要素から前記複数の圧縮方式のそれぞれに対応する複数の変換データを生成し、前記選択された圧縮方式に対応付けられた変換データを用いて前記圧縮データを生成することを特徴とする請求項2乃至8のいずれか1項に記載のデータ圧縮方法。前記所定の圧縮方式は、前記ブロックに含まれるN個のデータ要素のそれぞれについて圧縮値を算出し、前記算出されたN個の圧縮値のデータ長のうち最大値を特定し、前記N個の圧縮値のそれぞれのデータ長を前記特定した最大値となるように補正し、前記補正後のN個の圧縮値を前記ブロックにおける圧縮データとする第1の圧縮方式であり、前記制御コードは、前記特定した最大値をさらに特定することを特徴とする請求項1に記載のデータ圧縮方法。前記所定の圧縮方式は、前記ブロックに含まれるN個のデータ要素が特定のデータ列の特徴を有するか否かを判定し、前記特定のデータ列の特徴を有すると判定した場合、前記N個のデータ要素と当該特定のデータ列との差分を可逆に表現する特徴値を算出し、前記特徴値を前記ブロックにおける圧縮データとする第2の圧縮方式であり、前記制御コードは、前記特定のデータ列をさらに特定することを特徴とする請求項1に記載のデータ圧縮方法。前記所定の圧縮方式は、前記ブロックに含まれるN個のデータ要素が過去に圧縮データが生成された過去ブロックにおけるN個のデータ要素の特徴を有するか否かを判定し、前記過去ブロックの特徴を有すると判定した場合、前記N個のデータ要素と当該過去ブロックとの差分を可逆に表現する特徴値を算出し、前記特徴値を前記ブロックにおける圧縮データとする第3の圧縮方式であり、前記制御コードは、前記過去ブロックをさらに特定することを特徴とする請求項1に記載のデータ圧縮方法。前記入力されたデータ列が複数種類のデータ要素を含む場合、当該データ列に含まれる各データ要素を種類ごとに分類し、前記分類された種類ごとにN個のデータ要素を1のブロックにまとめることを特徴とする請求項1乃至12のいずれか1項に記載のデータ圧縮方法。複数のデータ要素をN個Nは2以上の自然数ごとに格納する複数のブロック領域を有する記憶部と、外部から入力されるデータ列に含まれる複数のデータ要素を前記記憶部に格納するデータ格納部と、前記ブロック領域に格納されたN個のデータ要素に対して所定の圧縮方式により圧縮データを生成し、当該圧縮方式に対応し、かつ、当該ブロック領域に格納されたデータ要素数がN個であることを特定する制御コードを、当該圧縮データに付加する圧縮データ生成部と、を備えるデータ圧縮装置。前記ブロック領域に格納されたN個のデータ要素に対して複数の圧縮方式のそれぞれによりデータを圧縮した場合のデータ長を試算する圧縮データ長試算部をさらに備え、前記圧縮データ生成部は、前記複数の圧縮方式のうち前記圧縮データ長試算部により試算されたデータ長が最小となる圧縮方式を前記所定の圧縮方式として選択し、前記ブロックに含まれるN個のデータ要素に対して、前記選択された圧縮方式により圧縮データを生成することを特徴とする請求項14に記載のデータ圧縮装置。前記圧縮データ長試算部は、前記試算するために、前記ブロック領域に格納されたN個のデータ要素から前記複数の圧縮方式のそれぞれに対応する複数の変換データを生成し、当該生成した複数の変換データを前記複数の圧縮方式のそれぞれに対応付けて前記記憶部に格納し、前記圧縮データ生成部は、前記選択された圧縮方式に対応付けられた変換データを前記記憶部から取得し、当該取得した変換データを用いて前記圧縮データを生成することを特徴とする請求項15に記載のデータ圧縮装置。複数のデータ要素をN個Nは2以上の自然数ごとに格納する複数のブロック領域を有する記憶部を備えたコンピュータに、外部から入力されるデータ列に含まれる複数のデータ要素を前記記憶部に格納するデータ格納処理と、前記ブロック領域に格納されたN個のデータ要素に対して所定の圧縮方式により圧縮データを生成し、当該圧縮方式に対応し、かつ、当該ブロック領域に格納されたデータ要素数がN個であることを特定する制御コードを、当該圧縮データに付加する圧縮データ生成処理と、を実行させるデータ圧縮プログラム。上述した特許文献1及び2では、画素の差分データを伝送するにあたって、データのサイズに対応した8又は10のグループを設定している。また、伝送しようとする画素の差分データのサイズに応じて、画素の差分データをグループ分けして、画素の差分データが属するグループの番号を決めている。そして、画素の差分データの伝送を行うために、どの番号のグループに属するデータとして画素の差分データを伝送するのかを示したグループ情報を初めに伝送して、その後、それに続いて画素の差分データ自体の伝送をするといった処理を、一画素ごとに行っている。なお、その際に制御コードのサイズは可変長で、画素の差分データのとる値の範囲に応じて制御コードのサイズも変化するようになっている図62。特許文献1及び2では、このような方法を採ることで、制御コードと画素の差分データの合計サイズが、オリジナルの画素値データサイズ8ビットよりも小さいサイズとなる時には、オリジナルのデータのみを伝送するよりも少ないデータ量で伝送することができる。しかしながら、必ず一画素毎に制御コードを付加しており、例えば、同じ制御コードが連続する場合であっても、毎回連続して、同じ値を示す全く同一の制御コードを繰り返し伝送する必要があるため、冗長なデータの伝送が繰り返し行われることとなる。また、制御コードのサイズを変化させることまでを含めて制御コードの値を変化させており、動的変化に対応したテーブル表を持ってデータサイズに応じて制御コードの値を変化させ、時系列に組み合わせを変化させながら必要なビットサイズへとデータの切り出しを行うといったような処理が必要となり、比較的複雑な構成のHW論理回路となってしまう。本発明の第1の態様にかかるデータ圧縮方法は、入力されたデータ列に含まれる複数のデータ要素のうちN個Nは2以上の自然数を1のブロックにまとめ、前記ブロックに含まれるN個のデータ要素に対して所定の圧縮方式により圧縮データを当該ブロック単位に生成し、前記圧縮データの生成に用いられた圧縮方式に対応し、かつ、前記ブロックに含まれるデータ要素数がN個であることを特定する制御コードを、当該圧縮データに付加する。本発明の第2の態様にかかるデータ圧縮装置は、複数のデータ要素をN個Nは2以上の自然数ごとに格納する複数のブロック領域を有する記憶部と、外部から入力されるデータ列に含まれる複数のデータ要素を前記記憶部に格納するデータ格納部と、前記ブロック領域に格納されたN個のデータ要素に対して所定の圧縮方式により圧縮データを生成し、当該圧縮方式に対応し、かつ、当該ブロック領域に格納されたデータ要素数がN個であることを特定する制御コードを、当該圧縮データに付加する圧縮データ生成部と、を備える。本発明の第3の態様にかかるデータ圧縮プログラムは、複数のデータ要素をN個Nは2以上の自然数ごとに格納する複数のブロック領域を有する記憶部を備えたコンピュータに、外部から入力されるデータ列に含まれる複数のデータ要素を前記記憶部に格納するデータ格納処理と、前記ブロック領域に格納されたN個のデータ要素に対して所定の圧縮方式により圧縮データを生成し、当該圧縮方式に対応し、かつ、当該ブロック領域に格納されたデータ要素数がN個であることを特定する制御コードを、当該圧縮データに付加する圧縮データ生成処理と、を実行させる。上述したように、本発明の第1、第2又は第3の態様は、定まった複数個の連続画素をまとめて一つのブロックとして、そのブロックの先頭に制御コードを付加した形で伝送を行うためのものである。そのため、複数の画素をまとめて一つのブロックとすることで、制御コードを画素毎に付加していた場合に比べて、制御コードの冗長化を抑え、圧縮効率を高めることができる。よって、制御コードによるオーバーヘッドが減少し、伝送量を減少させることができる。本発明により、画素等のデータ要素単位に制御コードを付加する場合に比べて、圧縮効率を高めるためのデータ圧縮方法、装置及びプログラムを提供することができる。以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。また、以下の本発明の実施の形態では、圧縮伸張の対象とするデータが画像データであるものとして説明を行う。但し、本発明の対象とするデータは、これに限定されず、例えば、音声データ、音声及び画像が混在した動画データ又は特定規格タイプの信号等であってもよい。<発明の実施の形態1>本発明の実施の形態1では、定まった複数個の連続画素をまとめて一つのブロックとして扱うことでロスレスの圧縮伸張を行う画像圧縮装置100及び画像伸張装置200について説明する。また、以下では、入力データの1画素を8ビット1バイトであるものとして説明する。尚、1画素のデータサイズはこれに限定されない。まず、図1を用いて、画像圧縮側の構成を説明する。図1は、本発明の実施の形態1にかかる画像圧縮装置100の構成を示すブロック図である。画像圧縮装置100は、複数の画素をまとめて一つのブロックとして、ブロック単位で伝送する。また、画像圧縮装置100は、データ圧縮方式としてDPCM隣接差分方式、既定パターン適合方式及び過去データ参照方式の3つのデータ圧縮方式を用意している。そして、画像圧縮装置100は、3つのデータ圧縮方式の中でブロック毎に最も高い圧縮率となる方式を使用してデータ圧縮処理を行う。その後、画像圧縮装置100は、ブロック毎に、ブロックの先頭に制御コードを付加する。図1において、画像圧縮装置100は、外部から入力される入力データD1に対して、所定の圧縮方式によりデータを圧縮し、出力データD2として外部へ出力する。ここで、入力データD1は、8ビット幅の画素データであるデータ要素が時系列に並べられたデータ列である。また、出力データD2は、後述する本発明の実施の形態1にかかる伝送コードの形式によるデータ列である。画像圧縮装置100は、画像データ取込部11、画像データバッファ12、圧縮データサイズ試算部13、圧縮データ要素生成エンジン14、圧縮データ要素選択生成部15及びパケッタイザ16を備える。画像データ取込部11は、入力データD1をそのまま画像データバッファ12へ格納する。例えば、画像データ取込部11は、入力データD1である8ビット幅の画素データ単位に画像データバッファ12へ格納する。すなわち、画像データ取込部11は、外部から入力されるデータ列に含まれる複数のデータ要素を画像データバッファ12に格納するデータ格納部である。また、画像データ取込部11は、画像データバッファ12に4画素分のデータを格納する度に、その旨を圧縮データサイズ試算部13へ通知する。これにより、圧縮データ試算処理以降の処理が少なくとも4画素分のデータ格納毎に実行される。画像データバッファ12は、リングバッファ形式の記憶部である。ここでは、画像データバッファ12は、36バイトであるものとする。そして、36バイトのデータ出力端子を持つことで全てのアドレスのデータがデータ出力端子から同時に出力できるものとする。なお、画像データバッファ12は、4画素4バイトを1ブロックとして、8つのブロック領域を有する。つまり、画像データバッファ12は、複数のデータ要素をN個Nは2以上の自然数ごとに格納する複数のブロック領域を有する記憶部である。圧縮データ要素生成エンジン14は、複数のデータ圧縮方式の処理ロジックが実装され、所定数の画素データから所定のデータ圧縮方式により圧縮データを生成するものである。ここでは、圧縮データ要素生成エンジン14は、データ圧縮方式の処理ロジックとして、DPCM隣接差分141、既定パターン適合142及び過去データ参照143を有するものとする。尚、これら3種類のデータ圧縮方式の具体的な内容については、後述する。また、圧縮データ要素生成エンジン14は、画像データバッファ12から1ブロック分の画素データを取得し、取得した画素データのそれぞれに対して、3つのデータ圧縮方式におけるデータ圧縮時のデータサイズを算出する。但し、画像データバッファ12とは36バイト288ビットの信号線により接続されていることで、最大では9ブロック分全ての36バイトのデータを1サイクルで同時に取得できる。また、データ圧縮方式は、これに限定されない。例えば、圧縮データ要素生成エンジン14は、少なくとも2以上のデータ圧縮方式の処理ロジックを有していれば良く、また、上述した3つのデータ圧縮方式以外を含んでも構わない。圧縮データサイズ試算部13は、圧縮データ要素生成エンジン14を使用して、1ブロック当たりに、各データ圧縮方式による圧縮時のデータサイズを試算する。すなわち、圧縮データサイズ試算部13は、ブロック領域に格納されたN個のデータ要素に対して複数の圧縮方式のそれぞれにより圧縮データを生成した場合のデータ長を当該ブロック単位に試算する圧縮データサイズ試算部である。圧縮データ要素選択生成部15は、圧縮データサイズ試算部13により試算されたデータサイズを基にして、当該ブロックにおいて最もデータサイズが小さくなるデータ圧縮方式を選択し、圧縮データ要素生成エンジン14を使用して選択した圧縮方式での圧縮値を生成する。ここで、圧縮データ要素選択生成部15が選択した圧縮方式が上述した所定の圧縮方式となる。ここで、圧縮データ要素生成エンジン14は、圧縮データサイズ試算部13による試算の際に生成したデータを用いて、圧縮値を生成しても良い。すなわち、圧縮データ要素生成エンジン14は、試算するために、ブロック領域に格納されたN個のデータ要素から複数の圧縮方式のそれぞれに対応する複数の変換データを生成する。ここで、変換データとは、最終的な圧縮データそのものではなく、少なくとも当該データ圧縮方式における中間データ等である。例えば、圧縮対象の画素データと隣接画素との差分値等である。そして、圧縮データサイズ試算部13は、生成された複数の変換データを画像データバッファ12とは異なる所定の記憶領域不図示に一時的に格納する。その後、圧縮データ要素選択生成部15は、選択された圧縮方式に対応付けられた変換データを記憶領域から取得し、当該取得した変換データを用いて前記圧縮データを生成する。これにより、圧縮データ要素選択生成部15は、3種類のデータ圧縮方式におけるそれぞれ全ての圧縮処理を実行することなく最適な方式を選択することができる。さらに、圧縮データ要素選択生成部15は、圧縮データサイズ試算処理により生成された変換データを用いることができるため、再度、画素データから圧縮データを生成することに比べて、圧縮処理における処理効率を高めることができる。パケッタイザ16は、生成された圧縮データを圧縮データ要素選択生成部15から取得して、制御コードのデータと結合して、一つのパケットデータである出力データD2としてバス上へ送信する。なお、その際の取得についても前述の記憶領域のデータを共有のものとして用いてもよい。すなわち、圧縮データ要素選択生成部15及びパケッタイザ16は、複数の圧縮方式のうち圧縮データサイズ試算部13により試算したデータ長が最小となる圧縮方式を選択し、ブロックに含まれるN個のデータ要素に対して、当該選択された圧縮方式により圧縮データを当該ブロック単位に生成し、当該選択された圧縮方式に対応し、かつ、当該ブロック領域に格納されたデータ要素数がN個であることを特定する制御コードを、当該圧縮データに付加する圧縮データ生成部である。図2は、本発明の実施の形態1にかかる入力データの処理タイミングを説明するための図である。具体的には、一つのブロックに格納するデータの数を4とした時に、圧縮データサイズ試算部13から圧縮データ要素選択生成部15及びパケッタイザ16までの処理の実行を4ピクセルクロック4サイクルで行うように実施した時のタイミングの例である。ただし、内部の処理は、ピクセルクロックよりも高速なサイクルで動作するクロックを基準として動作させるものとする。図3は、本発明の実施の形態1にかかる画像圧縮処理の流れを示すフローチャートである。まず、画像データ取込部11は、外部から入力された画素データを取り込み、画像データバッファ12へ格納するS101。次に、画像データ取込部11は、画像データバッファ12に格納済みの未処理の画素数が4であるか、又は、未処理の画素数が4未満であってもDATAENABLEがOFFであるか否かを判定するS102。尚、DATAENABLEとは、入力データD1において以降に処理可能なデータ要素の存在を示す値である。例えば、画像データ取込部11は、入力データD1が1画面における最終画素であると判定した場合を、DATAENABLEがOFFであるものとする。ステップS102において、未処理の画素数が4又は未処理の画素数が4未満であってもDATAENABLEがOFFであると判定した場合、圧縮データサイズ試算部13は、画像データバッファ12に格納済みの4画素に対して、3つの各データ圧縮方式で圧縮した場合の圧縮率を試算するS103。つまり、圧縮データ要素生成エンジン14は、バッファへ格納された定まった複数個の連続画素をまとめて一つのブロックとした場合のサイズをデータ圧縮方式毎に試算する。そして、圧縮データ要素選択生成部15は、最も圧縮率の高いデータ圧縮方式により圧縮データを生成するS104。その後、パケッタイザ16は、生成した圧縮データをバス上で伝送するS105。このとき、パケッタイザ16は、圧縮データの生成に用いられたデータ圧縮方式に対応する制御コードを当該圧縮データに付加して伝送する。また、制御コードには、当該圧縮データに4画素が含まれていることを示す情報が含まれているものとする。これにより、複数の画素データを1ブロックとして1つの制御コードを付した圧縮データを伝送することができ、圧縮効率を高めることができる。ステップS102において、未処理の画素数が4未満であり、かつ、DATAENABLEがONであると判定した場合、並びに、ステップS106において、DATAENABLEがONであると判定した場合、ステップS101へ戻るS106。次に、図4を用いて、画像伸張側の構成を説明する。図4は、本発明の実施の形態1にかかる画像伸張装置200の構成を示すブロック図である。画像伸張装置200は、外部から入力データD3を入力し、入力データD3に含まれる制御コードに基づいてデータ圧縮方式を特定し、特定したデータ圧縮方式によりデータを復号して出力データD4として出力する。ここで、入力データD3は、本発明の実施の形態1にかかる伝送コードの形式による圧縮データのデータ列である。また、入力データD3には、圧縮データ及び制御コードがパケット単位に含まれるものとする。画像伸張装置200は、圧縮データ取込部21、画像データバッファ22、データ要素復号部23、圧縮データ要素復号エンジン24及び画素値再生出力部25を備える。圧縮データ取込部21は、外部から入力された入力データD3をそのままバッファ不図示へ格納する。ここで、入力データD3の1ブロック当たりのパケットサイズは、最大で36ビットである。画像データバッファ22は、図1の画像データバッファ12と同等のリングバッファ形式の記憶部である。ここでは、画像データバッファ22は、36バイトであるものとする。また、画像データバッファ22には、復号後から少なくとも伝送前まで復号されたデータが格納される。データ要素復号部23は、入力データD3に含まれる制御コードに応じて、各ブロックで使用していたデータ圧縮方式を選択し、選択したデータ圧縮方式によりブロックから4画素分のデータ要素を取り出す。そして、データ要素復号部23は、取り出したデータ要素と選択したデータ圧縮方式を示す情報とを圧縮データ要素復号エンジン24へ通知する。圧縮データ要素復号エンジン24は、複数のデータ復号方式の処理ロジックが実装され、所定のデータブロックから所定のデータ復号方式によりデータを復号するものである。ここでは、圧縮データ要素復号エンジン24は、データ復号方式の処理ロジックとして、DPCM隣接差分241、既定パターン適合242及び過去データ参照243を有するものとする。尚、DPCM隣接差分241、既定パターン適合242及び過去データ参照243は、それぞれ、データ圧縮方式であるDPCM隣接差分141、既定パターン適合142及び過去データ参照143に対応する復号方式である。画素値再生出力部25は、圧縮データ要素復号エンジン24を使用して、データ要素復号部23により取り出された4画素分のデータ要素に対して、選択されたデータ圧縮方式に基づき復号を行う。このとき、圧縮データ要素復号エンジン24は、画素値再生出力部25からの指示に応じて、データ要素復号部23から通知されたデータ圧縮方式に基づき、4画素分のデータ要素を復号し、画像データバッファ22へ格納する。そして、画素値再生出力部25は、圧縮データ要素復号エンジン24を介して画像データバッファ22から復号後のデータを読み出し、4つの原画素値へと復元再生して、出力データD4として出力する。尚、図1及び図4における各構成要素及び部品はソフトウェアにより構成されても良い。また、画像圧縮装置100及び画像伸張装置200の全てをプログラムにより実施することも出来る。図5は、本発明の実施の形態1にかかる画像伸張処理の流れを示すフローチャートである。まず、圧縮データ取込部21は、入力された圧縮データパケットである入力データD3を取り込み、画像データバッファ22へ格納するS201。次に、データ要素復号部23は、画像データバッファ22に格納済みのパケットの先頭部の制御コードフィールドを参照して、データ圧縮方式を判定するS202。そして、圧縮データ要素復号エンジン24は、判定されたデータ圧縮方式によりパケットのデータを4つの画素値へと復号し、復号済みデータを画像データバッファ22へ格納するS203。画素値再生出力部25は、復号した画素データを画像データバッファ22からバス上へ出力データD4として出力及び伝送するS204。本発明の実施の形態1は、複数のデータ圧縮方式のいずれかを用いてデータの圧縮を行うものである。ここで、データ圧縮方式として、DPCM隣接差分以下、単に、隣接差分と呼ぶ既定パターン適合過去データ参照の各方式を用いる。また、圧縮対象とするデータの内容に応じて適用する可逆圧縮のアルゴリズムデータ圧縮方式をブロック毎に動的に切り替えている。切り替えをするための具体的な手順としては、先ず、各データ圧縮方式について、それぞれの方式による圧縮率を事前に理論値として算出して、各方式の中で最も理論圧縮率の高い方式を用いるように、使用する方式を各ブロック4画素毎で選択し、随時適用するデータ圧縮方式を切り替えながら、各ブロックにとって最適な方式による圧縮及び伸張を行う。これは、各ブロックの先頭に付加する制御コードの値を変化させることによって実現している。以下に、それぞれのデータ圧縮方式について具体例を交えて説明する。まず、隣接差分方式について説明する。隣接差分方式は、本発明において基本となるものである。隣接差分方式は、直前の画素から当該画素の値を減算して得られた値をそれぞれの画素毎に算出して、その値をブロック内へ格納する方式である。本発明の実施の形態1にかかる隣接差分方式では、4画素分のデータをまとめて一つのブロックとして伝送し、その際、先頭には制御コードを付加するものとする。一つのブロックとしてまとめる連続画素の数が4つであれば、画素データが4つ集まった段階から圧縮処理を開始することが可能である。そのため、大量のデータが蓄積されるのを待たずに、画像の水平1ライン分にも達しない4画素分のデータしか用意できていない段階から圧縮処理をすることが可能である。また、新たなデータとして4画素分のデータが用意できた段階で次の圧縮処理を開始することができる。そのため、即応性のある圧縮伸張処理を実現できる。ここで、隣接差分方式の特徴を以下に記す。まず、一つのブロックは必ず上記のフォーマットで伝送される。また、制御コードによって、画素値データ領域のサイズが変化できる。ただし、同一ブロック内に含まれた各画素値データを格納する領域のサイズは4つとも同一のサイズとする。領域のサイズはブロック毎に0ビット~8ビットの範囲で可変とする。ただし、4つとも同一のサイズとなるように補正される。また、領域のサイズは、そのブロックで最大サイズの画素値データが格納できるように決定する。各領域が何ビットのサイズであるかは制御コードによって特定できる。すなわち、連続する4画素の差分値のうち、最もビット長が大きい差分値が当該ブロック4画素分の制御コードを決定する。ここで、ビット長の大小は、2進数で表現した場合に1の最上位桁で判断するものとする。そのため、差分値Aが00010000であり、差分値Bが00001111である場合、差分値Aのビット長が5、差分値Bのビット長が4であるため、差分値Aのビット長が大きいと判断される。そして、例えば、最大のビット長が3ビットであるとすると、ビット長が各3ビットであることを示す制御コードが先頭に付加され、その後にビット長が3ビット単位に補正された4画素の差分値が4個連続して追加される。図6は、本発明の実施の形態1にかかる隣接差分方式による圧縮処理の流れを示すフローチャートである。まず、連続画素数nを1に初期化するS111。次に、バッファの圧縮対象のブロックである現在ブロックからn画素目のデータを取得するS112。そして、直前の画素との差分値を算出するS113。ここで、連続画素数nが4以上か否かを判定するS114。尚、ここでは、上述した画像圧縮装置100に合わせて連続画素数nの上限値を4としているが、隣接差分方式では、これに限定されない。ステップS114において、連続画素数nが4未満であると判定した場合、連続画素数nに1加算して、ステップS112へ戻るS115。ステップS114において、連続画素数nが4以上であると判定した場合、算出した差分値のうちビット長の最大値を特定するS116。そして、他の差分値のビット長を最大値に合わせて補正するS117。例えば、最大値が3ビットである場合、差分値が1ビットの画素については、上位2ビットに0を追加して3ビットのデータに補正する。その後、特定した最大値及び補正後の差分値に、制御コードを付加して圧縮データを生成するS118。当該制御コードは、隣接差分方式であること、連続画素数が4であること及び特定した最大値を特定することができるものとする。尚、図6に示す圧縮処理を画像圧縮装置100に隣接差分方式を適用する場合には、まず、圧縮データサイズ試算部13がステップS116まで実行し、特定した最大値に基づき圧縮データのビット長を試算する。例えば、特定した最大値が3ビットである場合、連続画素数が4であるため、当該ブロックの隣接差分方式における圧縮時のビット長が12ビットであると試算する。また、圧縮データサイズ試算部13は、ステップS113により算出された各画素における4つの差分値と、その中で特定された最大値と、試算したビット長とを上述した記憶領域に格納する。そして、圧縮データ要素選択生成部15は、記憶領域に格納された4つの差分値のうち、最大値以外の差分値について、最大値と同じビット長となるように補正する。尚、図6のステップS113においては、各画素について直前の画素との差分値を算出しているが、これに限定されず、任意の圧縮値を算出するようにしても構わない。ここで、4画素分のデータをまとめて一つのブロックとして伝送する場合の例を図7に示す。図7は、本発明の実施の形態1の隣接差分方式における伝送ブロックの例を示す図である。また、以上に説明したブロックが、複数個連続した時のイメージは図8の通りとなる。図8は、本発明の実施の形態1の隣接差分方式における複数の伝送ブロックの例を示す図である。尚、本発明の実施の形態1にかかる隣接差分方式においては、4画素ともに差分値が0であった場合については差分データの伝送を省略するようにしてもよい。図9は、4画素ともに直前の値と同一で、差分値が0であった場合の伝送ブロックの例を示す図である。各画素の差分データが全て0であることが制御コードのみから明確となるため、このケースの場合に限っては、各画素の差分データの伝送を省略することができる。そのため、ブロックは制御コードのみで構成され、一つの制御コードを伝送することのみで4画素分の情報が伝送される。また、本発明の実施の形態1においては、4画素ともに元のままの8ビット1バイトの値を直接伝送するための制御コードを用いることもできる。図10は、本発明の実施の形態1にかかる原画素値を直接伝送する場合の伝送ブロックの例を示す図である。当該制御コードを使用した場合には、4画素とも元のままの値を直接伝送するため、伝送データのサイズは、この時に最も大きくなる。その際の伝送データのサイズとしては、8ビット×4画素分=32ビットのデータに4ビットの制御コードを付加して全36ビットのデータとして直接伝送するため、圧縮率としては36ビット÷32ビット=1.125となる。即ち本発明においてはいかなるデータに対する圧縮においても圧縮率が1.125を超える値となることはない。これは、丁度、1画素8ビットにつき1ビットの制御信号を付加して、圧縮機能のON/OFFを切替制御する構成に相当した形となる。そのため、パケッタイザ16により出力する圧縮データの伝送バス幅を9ビットとすることで、入力データ8ビットの伝送レート以上の高速な出力が得られ遅延によるオーバーフローが生じることのない確実なスループットを実現することができる。以上に説明した本発明の実施の形態1にかかる隣接差分方式を用いることで、比較的同様なサイズの画素データ或いは差分値データが連続する時に、効率的な伝送を行うことが可能となる。また、特許文献1及び2と比較をすると、4つの画素データで制御コードを共通化することによって、4つの画素のうちの、残り3つの画素については制御コードの伝送を行うことなくデータ転送が可能となっている。このため、4つの画素データ間のサイズの差異の合計が、制御コード3つ分のサイズよりも小さい限りにおいては、画素データのサイズが4つそれぞれに異なっている場合であっても特許文献1及び2に比べて効率的に伝送をすることができる。そのため、極端に急激なかけ離れ方をしたデータ並びで無い限りは、各データサイズに多少の差異があっても相応に効率的な伝送を期待することができる。尚、一つのブロックを構成する画素データの数が4である理由は次の通りである。仮に、一つのブロックを構成する画素データの数が5であり、入力データのビット幅を0~255の範囲に分布可能な8ビットのレンジに限ったデータである場合を前提とする。この場合、各画素データ間のばらつきの具合が大きく見え始めてしまう。例えば、データが0,1,2,3、255という5つであるとする。ここで、0,1,2,3の4つのデータについては、小さく区切ってまとめれば、より小さいレンジに格納可能である。しかし、5つ目のデータである255のサイズが大きいため、隣接差分方式では、他のデータも最大サイズ255のビット長である8ビットのデータに合わせて補正される。そのため、予めこれに合わせて格納可能なレンジ8ビット×5=40ビットを用意する必要が生じる。よって、データを複数まとめる効果よりも、データサイズのばらつきによる損失未使用領域の影響の方が大きく出てきてしまう。また、仮に、一つのブロックを構成する画素データの数が2であり、二つの画素データ例えば、0と255などの間に大きな差分がある場合を前提とする。この場合、他にそれを補完する残りの画像データ例えば、255がもう一つ存在していれば、初めの二つのデータにおける急激なばらつきによる損失を補い、未使用領域の相対的な割合を低下させることができる。しかし、画素データの数が少ないほどそのような補完の効果は働きにくい。よって、このようなケースでの効率の低下が確率的に多くの割合で発生する。さらに、仮に、一つのブロックを構成する画素データの数が1であった場合には、特許文献1及び2と同じ効果しか得られない。なお、実験により、一つのブロックを構成する画素データの数を4とした場合には、使用した画像パターンにおいては、以上で取り上げた各条件に対するバランスを最も適切に保つことができることを確認した。以上の理由から実施例においては、一つのブロックを構成する画素データの数を4としている。図11は、本発明の実施の形態1にかかる画像データバッファ36バイトのイメージを示す図である。また、具体的な原画像の各画素とそれに対応した実際の伝送コードの例を図12~図17に示す。図12~図17は、本発明の実施の形態1にかかる隣接差分方式での処理及び伝送コードの例を示す図である。図12には、圧縮対象となる原画像データ6×3のサイズにおける各画素の画素値を示す。例えば、画素1は、画素値が200であり、画素2は、画素値が170である。そして、画素1、画素2、、画素18の順で画像圧縮装置100に入力されるものとする。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。図13では、画像データ取込部11は、2画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素2を格納する。併せて、現在ブロックの2画素目に画素1のデータが移動する。図14では、画素1~画素4が画像データバッファ12の現在ブロックに格納された状態を示す。そして、圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、画素1に対する直前画素が存在しないため、差分値を算出できない。よって、圧縮データ要素選択生成部15は、画素1~画素4の画素値を直接値1~直接値4としてそのまま圧縮データとし、制御コードを付加したものを伝送コードとして生成する。続いて、画像データ取込部11が画素5~画素7を画像データバッファ12に取り込む間は、未処理の画素が4未満であり、末端でないため、圧縮データの生成が行われない。図15では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。このとき、画素1~画素4については、INDEXが0である過去ブロックに格納されている。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素5と直前の画素である画素4との差分値を0と算出し、同様に、画素6、画素7及び画素8についても、差分値を-20、10及び20と算出する。そして、画素5~画素8の差分値の中からビット長が最大となるものを特定し、特定された最大値に合わせて他の差分値を補正する。そして、圧縮データ要素選択生成部15は、画素5~画素8の補正後の差分値を圧縮データとし、制御コードを付加したものを伝送コードとして生成する。図16では、画素9~画素12が画像データバッファ12の現在ブロックに格納された状態を示す。このとき、画素1~画素4については、INDEXが1である過去ブロックに格納されており、画素5~画素8については、INDEXが0である過去ブロックに格納されている。また、画素9~画素12に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素9と直前の画素である画素8との差分値を0と算出し、同様に、画素10、画素11及び画素12についても、差分値を0、0及び0と算出する。このとき、画素9~画素12の差分値が全て0であるため、圧縮データ要素選択生成部15は、制御コードのみを伝送コードとして生成する。図17では、原画像データの全ての画素値が取り込み完了した場合を示す。つまり、画像データバッファ12の現在ブロックには、画素17及び画素18が格納されていることを示す。このとき、画素1~画素4については、INDEXが3である過去ブロックに格納されており、画素13~画素16については、INDEXが0である過去ブロックに格納されている。また、画素17及び画素18に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素選択生成部15は、有効データが2画素であることを示すサブコード及び画素17及び画素18の直接値を含めて圧縮データとし、最終ブロックであることを特定する制御コードを付加したものを伝送コードとして生成する。次に、既定パターン適合方式について説明する。上述した隣接差分方式は、画像データの圧縮及び伸張に関して、写真などの自然画像や文字などの人工画像を問わず、あらゆる種類の画像を対象として処理を行うことができる。しかし、本発明の実施の形態1では、その中で特に予め用意した特定のパターンにマッチする画像をより効果的に圧縮するために、既定パターン適合方式を用いる。既定パターン適合方式についても、ブロック単位で伝送を行う。既定パターン適合方式は、画素データの値の変化のパターンを既定パターンとして予め用意する。そして、圧縮対象のブロックにおける画素データの値の変化のパターンが既定パターンに適合するか否かを検出する。そして、適合する既定パターンとの差分値をパラメータ値として算出し、当該パラメータ値と既定パターンの種別を特定する値とを圧縮データとして制御コードを付加して伝送するものである。ここで、既定パターン適合方式の特徴を以下に記す。まず、4画素分のデータをまとめて一つのブロックとして伝送する。その際、先頭には既定パターン適合方式であることを示す制御コードを付加する。また、4つの画素について、既定のデータ列の値の変化パターン既定パターンとの差分を算出し、その値をパラメータ値として伝送する。既定パターンとしては、文字や罫線などを想定した人工画像向けのタイプと、滑らかに変化するグラデーションを想定した自然画像向けのタイプの二つのタイプを例とする。尚、両タイプとも、それぞれにいくつかの既定パターンを用意しているが、人工画像タイプの変化パターンでは、全ての変化パターンが一段階の画素変化をするもので、自然画像タイプの変化パターンでは全ての変化パターンが二段階に画素変化をするものとしている。図18は、本発明の実施の形態1にかかる既定パターン適合方式による圧縮処理の流れを示すフローチャートである。まず、現在ブロックの画素データと既定パターンとを比較するS121。このとき、既定パターンが複数存在する場合、全ての既定パターンについての比較を行う。次に、既定パターンに適合するか否かを判定するS122。このとき、複数の既定パターンに適合する場合には、それらの中から最も適合する既定パターンを選択する。既定パターンに適合すると判定した場合、適合する既定パターンにおけるパラメータ値を算出するS123。そして、算出したパラメータ値及び適合する既定パターンを特定するIDに、制御コードを付加して圧縮データを生成するS124。尚、図18に示す圧縮処理を画像圧縮装置100に既定パターン適合方式を適用する場合には、まず、圧縮データサイズ試算部13がステップS123まで実行し、算出したパラメータ値及び適合する既定パターンを特定するIDに基づき圧縮データのビット長を試算する。また、圧縮データサイズ試算部13は、ステップS123により算出されたパラメータ値と、適合する既定パターンを特定するIDと、試算したビット長とを上述した記憶領域に格納する。そして、圧縮データ要素選択生成部15は、既定パターン適合方式が選択された場合、記憶領域に格納されたパラメータ値と、適合する既定パターンを特定するIDとを用いて、ステップS124を実行する。ここで、上述した既定パターンは、特定のデータ列の特徴と呼ぶことができる。そのため、既定パターン適合方式は、ブロックに含まれるN個のデータ要素が特定のデータ列の特徴を有するか否かを判定し、特定のデータ列の特徴を有すると判定した場合、N個のデータ要素と当該特定のデータ列との差分を可逆に表現する特徴値を算出し、特徴値をブロックにおける圧縮データとするものである。そして、既定パターン適合方式における制御コードは、特定のデータ列をさらに特定するものである。また、人工画像タイプのパターンで4画素分のデータをまとめて一つのブロックとして伝送する伝送フォーマットを図19に示す。図19は、本発明の実施の形態1にかかる人工画像タイプのパターンでの伝送コードの具体的な例を示す図である。図19では、制御コードによって人工画像タイプのパターンであることを示し、SUBコードによって、既定パターンのうち、どのパターンで変化するタイプの画素データであるのかを指定する。そして続く8ビットのパラメータ値によって、指定した既定パターンで変化する時の、変化の割合を指定する。また、自然画像タイプのパターンでの伝送フォーマットを下記に示す。図20は、本発明の実施の形態1にかかる自然画像タイプのパターンでの伝送コードの具体的な例を示す図である。図20では、制御コードによって自然画像タイプのパターンであることを示し、SUBコードによって、既定パターンのうち、どのパターンで変化するタイプの画素データであるのかを指定する。そして続く2つの4ビットのパラメータ値によって、指定した既定パターンで変化する時の、変化の割合を指定する。続いて、人工画像タイプ及び自然画像タイプそれぞれの具体的なパターンを示す。まず、人工画像タイプの具体的なパターンを以下に示す。人工画像タイプのパターンは、エッジ信号やレベル信号に相当する信号変化に対応したパターンである。図21は、本発明の実施の形態1にかかる人工画像タイプのパターンの例1を示す図である。人工画像タイプのパターンの例1は、まず、1画素目にパラメータ値で指定した量の画素値の変化差分が生じ、2画素目にはパラメータ値で指定する量の逆符号の差分値の変化をして元通りとなり、3画素目、4画素目はそのまま差分に変化が無く、2画素目と同一の画素値が継続するパターンである。図22及び図23は、本発明の実施の形態1にかかる人工画像タイプのパターンの例1での伝送データの例を示す図である。図22には、圧縮対象となる原画像データ8×3のサイズにおける各画素の画素値を示す。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。続いて、画素2以降が画像データバッファ12に格納される。その際、画素1~画素4については、図14と同様に、圧縮データとして直接値1~直接値4が伝送される。図23では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素5と直前の画素である画素4との差分値を120と算出し、画素6~画素8の差分値を0と算出する。よって、画素5~画素8の値の変化のパターンが図21に示した既定パターンに適合すると判定する。そして、パラメータ値を120とする。そして、圧縮データ要素選択生成部15は、SUBコードに当該既定パターンのIDを指定して、パラメータ値と共に圧縮データとし、制御コードを付加したものを伝送コードとして生成する。また、以降、画素9~画素24まで処理を続ける。図24は、本発明の実施の形態1にかかる人工画像タイプのパターンの例2を示す図である。人工画像タイプのパターンの例2は、まず、1画素目は前画素と同一で変化が無く、2画素目はパラメータ値で指定する量の画素値の変化差分が生じ、その後の3画素目は2画素目との差分が無く、2画素目と同一の画素値が継続するが、最後の4画素目はパラメータ値で指定した量の逆符号の差分値の変化をして元通りとなり1画素目と同一の画素値となるパターンである。図25及び図26は、本発明の実施の形態1にかかる人工画像タイプのパターンの例2での伝送データの例を示す図である。図25には、圧縮対象となる原画像データ8×3のサイズにおける各画素の画素値を示す。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。続いて、画素2以降が画像データバッファ12に格納される。その際、画素1~画素4については、図14と同様に、圧縮データとして直接値1~直接値4が伝送される。図26では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素6と直前の画素である画素5との差分値を120と算出し、画素8と直前の画素である画素7との差分値を―120と算出し、その他の差分値を0と算出する。よって、画素5~画素8の値の変化のパターンが図24に示した既定パターンに適合すると判定する。そして、パラメータ値を120とする。そして、圧縮データ要素選択生成部15は、SUBコードに当該既定パターンのIDを指定して、パラメータ値と共に圧縮データとし、制御コードを付加したものを伝送コードとして生成する。また、以降、画素9~画素24まで処理を続ける。図27は、本発明の実施の形態1にかかる人工画像タイプのパターンの例3を示す図である。人工画像タイプのパターンの例3は、まず、1画素目は前画素と同一で変化が無く、2画素目はパラメータ値で指定する量の画素値の変化差分が生じ、その後、3画素目、4画素目は2画素目との差分が無く、2画素目と同一の画素値が継続するパターンである。図28及び図29は、本発明の実施の形態1にかかる人工画像タイプのパターンの例3での伝送データの例を示す図である。図28には、圧縮対象となる原画像データ12×3のサイズにおける各画素の画素値を示す。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。続いて、画素2以降が画像データバッファ12に格納される。その際、画素1~画素4については、図14と同様に、圧縮データとして直接値1~直接値4が伝送される。図29では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素6と直前の画素である画素5との差分値を120と算出し、画素5、画素7及び画素8の差分値を0と算出する。よって、画素5~画素8の値の変化のパターンが図27に示した既定パターンに適合すると判定する。そして、パラメータ値を120とする。そして、圧縮データ要素選択生成部15は、SUBコードに当該既定パターンのIDを指定して、パラメータ値と共に圧縮データとし、制御コードを付加したものを伝送コードとして生成する。また、以降、画素9~画素36まで処理を続ける。次に、自然画像タイプの具体的なパターンを以下に示す。自然画像タイプのパターンは、二段階に変化する信号に対応したパターンである。全てのパターンにおいて二種類の異なる変化差分量を表現可能である。図30は、本発明の実施の形態1にかかる自然画像タイプのパターンの例1を示す図である。自然画像タイプのパターンの例1は、まず、1画素目にパラメータ1で指定する量の画素値の変化差分が生じ、その後、2画素目、3画素目は1画素目の時と同様の画素値をとり、4画素目はパラメータ2で指定する量の画素値の変化差分が生じるパターンである。図31及び図32は、本発明の実施の形態1にかかる自然画像タイプのパターンの例1での伝送データの例を示す図である。図31には、圧縮対象となる原画像データ12×3のサイズにおける各画素の画素値を示す。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。続いて、画素2以降が画像データバッファ12に格納される。その際、画素1~画素4については、図14と同様に、圧縮データとして直接値1~直接値4が伝送される。図32では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素5と直前の画素である画素4との差分値を5と算出し、画素8と直前の画素である画素7との差分値を10と算出し、画素6及び画素7の差分値を0と算出する。よって、画素5~画素8の値の変化のパターンが図30に示した既定パターンに適合すると判定する。そして、パラメータ値1を5、パラメータ値2を10とする。そして、圧縮データ要素選択生成部15は、SUBコードに当該既定パターンのIDを指定して、パラメータ値1及びパラメータ値2と共に圧縮データとし、制御コードを付加したものを伝送コードとして生成する。また、以降、画素9~画素36まで処理を続ける。図33は、本発明の実施の形態1にかかる自然画像タイプのパターンの例2を示す図である。自然画像タイプのパターンの例2は、まず、1画素目にパラメータ1で指定する量の画素値の変化差分が生じ、その後、2画素目も1画素目の時と同様の画素値をとり、3画素目はパラメータ2で指定する量の画素値の変化差分が生じ、4画素目は3画素目と同様の画素値をとるパターンである。図34及び図35は、本発明の実施の形態1にかかる自然画像タイプのパターンの例2での伝送データの例を示す図である。図34には、圧縮対象となる原画像データ12×3のサイズにおける各画素の画素値を示す。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。続いて、画素2以降が画像データバッファ12に格納される。その際、画素1~画素4については、図14と同様に、圧縮データとして直接値1~直接値4が伝送される。図35では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素5と直前の画素である画素4との差分値を5と算出し、画素7と直前の画素である画素6との差分値を10と算出し、画素6及び画素8の差分値を0と算出する。よって、画素5~画素8の値の変化のパターンが図33に示した既定パターンに適合すると判定する。そして、パラメータ値1を5、パラメータ値2を10とする。そして、圧縮データ要素選択生成部15は、SUBコードに当該既定パターンのIDを指定して、パラメータ値1及びパラメータ値2と共に圧縮データとし、制御コードを付加したものを伝送コードとして生成する。また、以降、画素9~画素36まで処理を続ける。図36は、本発明の実施の形態1にかかる自然画像タイプのパターンの例3を示す図である。自然画像タイプのパターンの例3は、まず、1画素目にパラメータ1で指定する量の画素値の変化差分が生じ、その後、2画素目はパラメータ2で指定する量の画素値の変化差分が更に生じ、3画素目と4画素目は2画素目と同様の画素値をとるパターンである。図37及び図38は、本発明の実施の形態1にかかる自然画像タイプのパターンの例3での伝送データの例を示す図である。図37には、圧縮対象となる原画像データ12×3のサイズにおける各画素の画素値を示す。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。続いて、画素2以降が画像データバッファ12に格納される。その際、画素1~画素4については、図14と同様に、圧縮データとして直接値1~直接値4が伝送される。図38では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素5と直前の画素である画素4との差分値を5と算出し、画素6と直前の画素である画素5との差分値を10と算出し、画素7及び画素8の差分値を0と算出する。よって、画素5~画素8の値の変化のパターンが図36に示した既定パターンに適合すると判定する。そして、パラメータ値1を5、パラメータ値2を10とする。そして、圧縮データ要素選択生成部15は、SUBコードに当該既定パターンのIDを指定して、パラメータ値1及びパラメータ値2と共に圧縮データとし、制御コードを付加したものを伝送コードとして生成する。また、以降、画素9~画素36まで処理を続ける。図39は、本発明の実施の形態1にかかる自然画像タイプのパターンの例4を示す図である。自然画像タイプのパターンの例4は、まず、1画素目は前画素と同一で変化が無く、2画素目にパラメータ1で指定する量の画素値の変化差分が生じ、3画素目は2画素目の時と同様の画素値をとり、その後、4画素目はパラメータ2で指定する量の画素値の変化差分が更に生じるパターンである。図40及び図41は、本発明の実施の形態1にかかる自然画像タイプのパターンの例4での伝送データの例を示す図である。図40には、圧縮対象となる原画像データ12×3のサイズにおける各画素の画素値を示す。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。続いて、画素2以降が画像データバッファ12に格納される。その際、画素1~画素4については、図14と同様に、圧縮データとして直接値1~直接値4が伝送される。図41では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、画素6と直前の画素である画素5との差分値を20と算出し、画素8と直前の画素である画素7との差分値を5と算出し、画素5及び画素7の差分値を0と算出する。よって、画素5~画素8の値の変化のパターンが図39に示した既定パターンに適合すると判定する。そして、パラメータ値1を20、パラメータ値2を5とする。そして、圧縮データ要素選択生成部15は、SUBコードに当該既定パターンのIDを指定して、パラメータ値1及びパラメータ値2と共に圧縮データとし、制御コードを付加したものを伝送コードとして生成する。また、以降、画素9~画素36まで処理を続ける。続いて、過去データ参照方式について説明する。本発明の実施の形態1では、過去に処理したデータと同様なパターンを持つデータを効率的に圧縮するために、過去データ参照方式を用いる。過去データ参照方式は、用意した画像データバッファへ過去数ブロック分の画素値または差分値をブロック毎に保存しておき、そのうちの一つの過去ブロックを選択して、その中にある4つの各画素値または差分値を予測画素値または予測差分値としたとき、その値と現在画素値または現在差分値との差分のサイズが最も小さくなる過去ブロックを予測ブロックとして選択して、それを予測画素ブロックまたは予測差分ブロックとしてそれとの差分を格納した予測誤差ブロックを伝送する方式である。ここで、過去データ参照方式の特徴を以下に記す。まず、4画素分のデータをまとめて一つのブロックとして伝送する。その際、先頭には制御コードを付加する。また、画像データバッファへ保存するデータは、画素値ではなく差分値であってもよく、過去の差分値に対する差分を伝送してもよい。図42は、本発明の実施の形態1にかかる過去データ参照方式による圧縮処理の流れを示すフローチャートである。まず、現在ブロックの画素データと過去ブロックとを比較するS131。このとき、過去ブロックが複数存在する場合、全ての過去ブロックについての比較を行う。次に、過去ブロックに適合するか否かを判定するS132。このとき、複数の過去ブロックに適合する場合には、それらの中から最も適合する過去ブロックを選択する。過去ブロックに適合すると判定した場合、適合する過去ブロックに対応する画素ごとに差分値を算出するS133。そして、算出した差分値及び適合する過去ブロック番号に、制御コードを付加して圧縮データを生成するS134。尚、図42に示す圧縮処理を画像圧縮装置100に過去データ参照方式を適用する場合には、まず、圧縮データサイズ試算部13がステップS133まで実行し、算出した差分値及び適合する過去ブロック番号のビット長に基づき圧縮データのビット長を試算する。また、圧縮データサイズ試算部13は、ステップS133により算出された差分値と、適合する過去ブロック番号と、試算したビット長とを上述した記憶領域に格納する。そして、圧縮データ要素選択生成部15は、過去データ参照方式が選択された場合、記憶領域に格納された差分値と、適合する過去ブロック番号とを用いて、ステップS134を実行する。言い換えると、過去データ参照方式は、ブロックに含まれるN個のデータ要素が過去に圧縮データが生成された過去ブロックにおけるN個のデータ要素の特徴を有するか否かを判定し、過去ブロックの特徴を有すると判定した場合、N個のデータ要素と当該過去ブロックとの差分を可逆に表現する特徴値を算出し、特徴値を前記ブロックにおける圧縮データとするものである。そして、過去データ参照方式における制御コードは、過去ブロックをさらに特定するものである。ここで、過去データ参照方式での伝送フォーマットを図43に示す。図43は、本発明の実施の形態1にかかる過去データ参照方式での伝送コードの例を示す図である。図43では、制御コードによって過去データ参照方式であることを示し、SUBコードによって、過去ブロックのINDEXを番号で指定する。そして続く4つの差分値によって、指定した過去ブロックにおける対応する画素との変化の割合を指定する。続いて、過去データ参照方式での具体的な原画像の各画素値と、それに対応した実際の伝送コードの例を図44~図47示す。図44~図47は、本発明の実施の形態1にかかる過去データ参照方式での処理及び伝送コードの例を示す図である。図44には、圧縮対象となる原画像データ6×3のサイズにおける各画素の画素値を示す。ここで、画像データ取込部11は、1画素目を取り込み、画像データバッファ12の現在ブロックの1画素目に画素1を格納する。続いて、画素2以降が画像データバッファ12に格納される。その際、画素1~画素4については、図14と同様に、圧縮データとして直接値1~直接値4が伝送される。図45では、画素5~画素8が画像データバッファ12の現在ブロックに格納された状態を示す。また、画素5~画素8に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、現在ブロックに格納された画素5~画素8と、INDEXが0である過去ブロックに格納された画素1~画素4とを比較し、対応する画素ごとに差分値を算出する。ここでは、画素5~画素8のそれぞれの差分値を10、20、-10及び10と算出する。また、SUBコードである過去ブロック番号0とする。そして、圧縮データ要素選択生成部15は、画素5~画素8の差分値とSUBコードを圧縮データとし、制御コードを付加したものを伝送コードとして生成する。図46では、画素13~画素16が画像データバッファ12の現在ブロックに格納された状態を示す。このとき、画素1~画素4については、INDEXが2である過去ブロックに格納されており、画素9~画素12については、INDEXが0である過去ブロックに格納されている。また、画素13~画素16に対する圧縮データが生成され、伝送される場合の伝送コードの例を示す。ここでは、圧縮データ要素生成エンジン14は、現在ブロックに格納された画素13~画素16と、INDEXが0~2の過去ブロック毎に格納された画素とを比較し、対応する画素ごとに差分値を算出する。ここでは、最も差分値の合計が小さい過去ブロックが0となる。具体的には、画素13~画素16のそれぞれの差分値を1、1、1及び1と算出する。また、SUBコードである過去ブロック番号2とする。そして、圧縮データ要素選択生成部15は、画素13~画素16の差分値とSUBコードを圧縮データとし、制御コードを付加したものを伝送コードとして生成する。図47では、図17と同様に、原画像データの全ての画素値が取り込み完了した場合を示す。ここでは、圧縮データ要素選択生成部15は、有効データが2画素であることを示すサブコード及び画素17及び画素18の直接値を含めて圧縮データとし、最終ブロックであることを特定する制御コードを付加したものを伝送コードとして生成する。ここで、本発明の実施の形態1において、使用する制御コードの例を図48に示す。CODE0~CODE7は、隣接差分方式に対応する制御コードである。CODE8は、圧縮を行わずに画素値をそのまま伝送する場合の制御コードである。CODE9及びCODE10は、過去データ参照方式に対応する制御コードである。CODE11及びCODE12は、既定パターン適合方式に対応する制御コードである。CODE15は、画像データの末端であるため、1ブロックが4画素未満となった場合に対応する制御コードである。CODE11を用いて既定パターンでの伝送をするときの伝送データの構造は、図19に示したものである。また、CODE12を用いて既定パターンでの伝送をするときの伝送データの構造は、図20に示したものである。また、CODE9を用いて過去ブロックとの差分データ各画素の差分値が3ビットである場合を伝送するときの伝送データの構造は図49に示したものである。また、CODE10を用いて過去ブロックとの差分データ各画素の差分値が6ビットである場合を伝送するときの伝送データの構造は図50に示したものである。以上のように、本発明の実施の形態1では、複数の画素をまとめて一つのブロックとすることで、制御コードが冗長化することによる伝送量の増加を抑え、オーバーヘッドを減少させることができる。上述した特許文献1及び2では、4画素分のデータを伝送する際には図62のように4回に分けてデータの伝送をしていた。一方、本発明の実施の形態1では、図51に示すように1度の伝送で4画素分のデータを伝送することができる。そして、その時のデータ量を、4回に分けて伝送するデータの総量よりも少なく抑えられる。また、HW回路のLSIチップ化において、チップサイズに与えるインパクトが比較的大きなものとしてはメモリの容量が挙げられる。しかしながら、本発明の実施の形態1では、画像データバッファ用のメモリとして48バイトのRAMRandomAccessMemoryを搭載して実現することを前提としている。すなわち、1ライン分にも満たないメモリで実現することが可能である。このように、本発明の実施の形態1により、画素等のデータ要素単位に制御コードを付加する場合に比べて、圧縮効率を高めることができる。さらに、上述したように本発明の実施の形態1は、定まった複数個の連続画素をまとめて一つのブロックとして、ブロック単位に複数の圧縮方式のいずれかから最適な圧縮方式を選択するものである。その際、同一のデータに対して複数の圧縮方式により圧縮データの作成までを行うのではなく、圧縮時のデータ長までを行うことで、不要な圧縮処理を抑えることができる。そのため、圧縮効率を高めつつ、圧縮処理の負荷を抑えることができる。<発明の実施の形態2>本発明の実施の形態2では、上述した発明の実施の形態1に改良を加え、入力データD1のビット幅を8ビット以外にしたものや1ブロックの画素数を4以外にした場合について説明する。すなわち、上述した発明の実施の形態1にかかる画像圧縮装置100における入力データD1のビット幅は8ビットであるものとし、1ブロックの画素数を4としていたが、8ビットの範囲0~255を拡張して10ビット、16ビット、32ビット、64ビット等としてもよい。また、画像圧縮装置100における1ブロックに格納する画素データの数は、4に限定されない。例えば、8画素で1ブロックとしてもよい。さらに、データ圧縮方式のうち一部の方式のみブロックの画素数を異なるようにしてもよい。その場合、試算の際には、複数のデータ圧縮方式間の画素数を同一にすればよい。そこで、本発明の実施の形態2の実施例1として、過去に圧縮データが生成された過去ブロックにおけるN個のデータ要素の特徴に基づきデータ列を生成し、当該生成したデータ列を既定パターン適合方式に用いる特定のデータ列に追加するものである。上述した本発明の実施の形態1にかかる画像圧縮装置100では、圧縮データ要素生成エンジン14としてDPCM隣接差分141、既定パターン適合142及び過去データ参照143の各データ圧縮方式を用いた圧縮を実施しているが、本発明の実施の形態2の実施例1では、入力データD1の範囲やブロック内の画素数の数を拡張した場合など、それらを適切に処理することのできる更に別の方法を加えて圧縮の実施をする。例えば、過去のデータを基にして、将来現れる可能性の高いデータパターンを予測して、既定パターン適合方式での、各既定タイプの特定SUBコードが示すパターンの中身を予測した内容に基づくパターンへ動的に入れ替えるようにしてもよい。その場合、例えば、人工画像タイプや自然画像タイプなどの各パターンにおいて各SUBコードが示すパターンの中身を個別に動的に入れ替える他、制御コードが示すパターンのタイプ自体を全く別の第三のタイプ音声や画像以外のその他のデータに適した特定規格信号タイプなどへ動的に入れ替えることも考えられる。これによりINDEXによる指定範囲INDEXのサイズを増加させずに対応可能なパターンの数を増やすことができる。更に、発明の実施の形態1では固定としているブロック内に格納する画素の数を、本発明の実施の形態2の実施例2として、各ブロック毎に動的に変化させるようにしてもよい。例えば、ビット長が6ビットの差分値を、1ブロックに8つ格納するための制御コードを一つ新設するとする。また、発明の実施の形態1の隣接差分方式を適用し、1ブロックにおける差分値のビット長の最大値が6ビットとなる場合には、図48に示した制御コードであるCODE6が使用される。ここで、CODE6を使用した伝送コードが2ブロック連続して生成される場合には、新設した制御コードの方を用いる方が、制御コード一つ分の伝送量削減を実現することができる。そのため、本発明の実施の形態2の実施例2にかかる画像圧縮装置100は、入力されたデータ列に含まれる複数のデータ要素のうちN個を第1のブロックにまとめ、第1のブロックに含まれない他のN個を第2のブロックにまとめ、隣接差分方式により第1のブロックに対して算出された圧縮値のデータ長の最大値と、隣接差分方式により第2のブロックに対して算出された圧縮値のデータ長の最大値とが等しい場合、当該第1のブロック及び当該第2のブロックを結合して第3のブロックにまとめ、第3のブロックに含まれる圧縮値のそれぞれのデータ長を最大値となるように補正し、当該補正後の2N個の圧縮値を第3のブロックにおける圧縮データとし、第1の圧縮方式に対応し、かつ、データ要素数が2N個であることを特定する制御コードを、第3のブロックにおける圧縮データに付加する。これにより、入力データの傾向に応じてより効果的に圧縮効率を高めることができる。具体的には、図52は、本発明の実施の形態1にかかる8画素の伝送データの例を示す図である。ここでは、画素データ1~4が第1のブロックに、画素データ5~8が第2のブロックに、それぞれまとめられていることを示す。そして、図53は、本発明の実施の形態2の実施例2にかかる8画素の伝送データの例を示す図である。つまり、画素データ1~4と画素データ5~8とが第3のブロックとして1ブロックにまとめることで、1ブロックに格納するデータの数を8とした制御コードを用いた場合の例である。一方、6ビット長のデータが4つ連続するブロックとして伝送する制御コードを付加したブロックのうち、後方2つの実際のデータサイズが2ビットである場合などが多発するケースに特化する場合もある。ここで、実際のデータサイズが2ビットである場合とは、上位4ビットが0であり、少なくとも上位5ビット目が1であることを示す。この場合には、2ビット長のデータ2つを伝送する制御コードと、6ビット長データを2つだけ伝送する制御コードを設けて、2回に分けて伝送することで効率化を図ることができる。そのため、本発明の実施の形態2の実施例3として、画像圧縮装置100は、Nが4以上の自然数である場合、ブロックに含まれるN個のデータ要素を複数のデータ要素を含む複数のサブブロックに分類し、各サブブロック間で隣接差分方式により算出された圧縮値のデータ長の最大値が異なる場合、サブブロック単位に隣接差分方式により圧縮データを生成し、各サブブロックにおける最大値を特定する制御コードを、サブブロック単位に付加する。これにより、入力データの傾向に応じてより効果的に圧縮効率を高めることができる。具体的には、図54は、本発明の実施の形態1にかかる後方2画素のデータ長が短い場合の伝送データの例を示す図である。ここで、画素データ3及び4のビット長は6ビットであるが、実際のデータサイズは2ビットであることを示す。そして、図55は、本発明の実施の形態2の実施例3にかかる後方2画素のデータ長が短い場合の伝送データの例を示す図である。つまり、図54の画素データ1~4を、図55では、画素データ1及び2をサブブロックAと、画素データ3及び4をサブブロックBとまとめている。このように、4ビットの制御コードを2つ用いたとしても、圧縮されるデータ長が8ビットであるため、4画素で合計4ビットが削減されたこととなる。尚、図54及び図55の例では、画素データの前方と後方でそれぞれ実際のデータサイズが同一であったが、異なっていても構わない。その場合、サブブロックに分けた後に、サブブロックごとに隣接差分方式におけるデータ長の補正を行うことで対応できる。このように、本発明の実施の形態2によっても、複数のデータをまとめて一つのブロックとすることで伝送効率を高めることができる。<発明の実施の形態3>本発明の実施の形態3にかかる画像圧縮装置100は、上述した発明の実施の形態1又は2に改良を加えたものである。本発明の実施の形態3は、入力データ取り込みの際に、入力するデータを数個の単位に分類するように取り込んでいき、取り込んだ分類済みのデータに対して処理対象を順次切り替えながら圧縮又は伸張を行うものである。すなわち、本発明の実施の形態3にかかる画像圧縮装置100は、入力されたデータ列が複数種類のデータ要素を含む場合、当該データ列に含まれる各データ要素を種類ごとに分類し、分類された種類ごとにN個のデータ要素を1のブロックにまとめるものである。例えば、入力データがRGBの3色で表現される場合、画素のデータ列は、R1/G1/B1/R2/G2/B2/R3/G3/B3/R4/G4/B4/R5/G5/B5という順序で規則的に並べられている。このとき、入力データを3分割化する形で、R1/R2/R3/R4/R5、G1/G2/G3/G4/G5、B1/B2/B3/B4/B5とデータを並び替えることにより、連続性のある同一種類の要素毎に分類されたデータに対しての圧縮処理へと変更することができる。図56は、本発明の実施の形態3の実施例1にかかる画像圧縮装置100aを示す図である。画像圧縮装置100aは、本発明の実施の形態1にかかる画像圧縮装置100に変形を加えたものであり、外部から入力される入力データD5に対して、所定の圧縮方式によりデータを圧縮し、出力データD6として外部へ出力する。ここで、入力データD5は、各画素がRGBのいずれかを表し、RGBが1画素ずつ規則的に並べられているものとする。出力データD6は、出力データD2と同等の形式の伝送コードである。画像圧縮装置100aは、画像圧縮装置100との違いとして、画像データ取込部11a、画像データバッファ121~123、圧縮データ要素生成エンジン14aを備える。画像データ取込部11aは、入力データD5の格納先を1サイクル毎に画像データバッファ121、122、123のいずれかへ規則的に切り替える。画像データバッファ121~123は、それぞれ、図1の画像データバッファ12と同等の記憶部である。尚、画像データバッファ121~123は、各12バイトであるものとする。これにより、合計で画像データバッファ12と同サイズとなるため、HW装置の規模の増大への影響は少ない。また、画像データバッファ12と同様に全アドレス範囲である12バイト分のデータすべてを同時に出力することで、HWの内部処理についても緩やかなサイクルに抑えた内部クロックに基づいて動作させることができる。例えば、画像データバッファ121にRの画素を格納し、画像データバッファ122にGの画素を格納し、画像データバッファ123にBの画素を格納するようにする。圧縮データ要素生成エンジン14aは、処理対象のバッファを、4サイクル毎に画像データバッファ121、122、123のいずれかへ規則的に切り替えて、データ圧縮を行う。そのため、圧縮データサイズ試算部13、圧縮データ要素選択生成部15、パケッタイザ16における処理については、本発明の実施の形態1と同じく、4サイクル以内での実行が可能な構成である。また、圧縮データ要素生成エンジン14aのエンジン部自体も1つ用意をしておくだけである。これにより、要素の種類ごとに分類されたデータを順次切り替えながら処理することが実現できる。ただし、画像データバッファは2つ増設して、3つ分とすることが必要である。また、圧縮データ要素生成エンジン14aを、4サイクル毎に各データバッファへと処理対象をずらして4サイクル以内で実行をさせることで、単一のデータ圧縮エンジンのみで実現が可能となる。図57は、本発明の実施の形態3の実施例1にかかる入力データの処理タイミングを示す図である。入力データD5は、上述したようにR1、G1、B1、R2、と言う順序に、RGBが1画素ずつ規則的に並べられていることを示す。画像データ取込部11aが入力先バッファを1サイクル毎に順番に切り替えて、ローテーションで格納する。これにより、画像データバッファ121には、R1,R2,、画像データバッファ122には、G1、G2、、画像データバッファ123には、B1、B2、という順序で格納される。また、圧縮データ要素生成エンジン14aは、バッファ切替部171及びデータ圧縮処理部172を備える。バッファ切替部171は、4サイクル毎に入力されるCS信号切り替え信号により処理対象バッファを画像データバッファ121、122、123、121、と切り替える。なお、ここでいうCS信号は複数ビットとなり得る信号であり、例えばオープンドレインの構成であればどのRAMによるデータ線の電圧解放によってデータ線を駆動するのかを指定して、データ線の電圧制御元とするRAMからの信号だけを選択的に得るための元データとする信号をさす。あるいは、バッファ切替部が複数段のMUXMultiplexerにより構成されてもよい。データ圧縮処理部172は、図1の圧縮データ要素生成エンジン14と同等の構成である。そのため、R列であればR4まで画像データバッファ121に貯まった段階でG4が画像データバッファ122に格納されるサイクルと同時にデータ圧縮処理が開始できる。また、発明の実施の形態1と同じく4サイクルで圧縮データを生成することができれば、引き続いて、G列について圧縮データを生成する前に、待ち時間が発生しない。4サイクル後にG5が画像データバッファ122に格納されるためである。尚、画像データバッファ121~123の合計サイズを画像データバッファ12と同等に保つために、1つあたりの画像データバッファのサイズを画像データバッファ12に比べて減少させた場合には、過去データ参照方式で参照可能な過去の範囲はその分減少する。また、一つの画像データバッファにデータが4つ貯まって、圧縮可能なブロック分のデータにまで蓄積されるまでの時間は3倍に増加するため、リセット解除後に一番初めの処理を開始するまでのレスポンスは若干低下する。また、その分のデータ出力遅延は生じる。また、本発明の実施の形態3の実施例2として、実施例1に代えて、下記のようにアドレスの変換を行うことで仮想的に実現をすることができる。図58は、本発明の実施の形態3の実施例2にかかる入力データを3つに分類して取り込んで圧縮する時のバッファの例を示す図である。実施例2では、図1の画像圧縮装置100の画像データバッファ12と圧縮データ要素生成エンジン14の間に、アドレス変換部18を追加し、圧縮データ要素生成エンジン14を圧縮データ要素生成エンジン14bとバッファ指定部19に置き換えたものである。アドレス変換部18は、画像データバッファ12から各画素を3画素置きに取得した場合のデータ列を仮想的に仮想バッファ181~183という形で実現する。例えば、アドレス変換部18は、8ビットを一まとめとして各レジスタセルからワイア引き出しをして仮想的なバッファとなるように信号の順序を組み替えて並べて用意しておき、レジスタセルへのダイレクトリードアクセスに関して用意した信号線の方に対しての参照となるようにデータ取り込みの接続先を対象とする元のレジスタセルから並べなおした信号線の方へ変更しておくことで、仮想的に連続したアドレスを持つ3つのバッファに対する処理として扱える。また、バッファ指定部19は、仮想バッファ181~183のいずれかを規則的に切り替えて指定する信号を4サイクル毎に出力する。圧縮データ要素生成エンジン14bは、バッファ切替部171aとデータ圧縮処理部172を備える。バッファ切替部171aは、バッファ指定部19からの指定に応じて、仮想バッファ181~183のいずれかを選択して画素データを取得する。このように、本発明の実施の形態3の実施例1又は2により、複数種類のデータ要素を含むデータ列に対して、本発明の実施の形態1又は2と同等の効果を奏することができる。<その他の発明の実施の形態>以上に示したように、本発明の実施の形態1~3により、画像1ラインにも満たない数画素分のデータが用意できた段階から数画素単位のサイクルで、リアルタイムに可逆圧縮及び伸張することが出来る。また、平面の画像データを格納可能なサイズのメモリまでは用意する必要がなく、メモリサイズを抑えてシンプルな論理回路で実現することができるため、回路の面積を抑えることができる。さらに、既存の回路に負担をかけることなく、単に既存回路のBUSの両端へこの回路を付加するのみで、既存回路のBUS効率を改善できる。尚、本発明は、既存のLSI仕様に対して、付加的なHW回路としてBUS両端に極小さな回路を追加するレベルで、それ以外の既存仕様を変更することなくバス伝送効率を向上させて既存LSI機能の改善を図ることを目的に開発した技術に関する。その技術開発の結果として、JPEG圧縮とは異なり、1ラインにも満たない数画素分のデータが用意できた段階から数画素単位のサイクルで圧縮伸張を実行していくことで、相応の圧縮率でリアルタイムに画像データを可逆圧縮することが出来る単純で小さなHW回路を発明した。その一例が上述した画像圧縮装置100等である。尚、本発明の実施の形態1~3にかかる画像圧縮装置及び画像伸張装置をRubyソースコードとしてプログラムで構成して、実際の画像に対して圧縮及び伸張処理を実行した際の実際の圧縮率を次に示す。ペイント/ドロー系手描き画像は、0.6~0.7、自然画像/写真画像は、0.6~0.7、人工画像/文字画像は、0.3~0.6である。また、本発明の実施の形態1~3の隣接差分方式では、データ列を可逆圧縮する圧縮及び伸長方式において、元データ各々に対して一意に定まる可逆な変換を施した後、変換データを定まった個数Nづつのブロックに分割し、ブロック単位で圧縮コードを生成する。圧縮コードは、制御部とN個の数値部から構成され、各数値部のビット長は、N個の数値部のビット長のうち、可逆可能な最大のビット長を有する値で同一に決定され、制御部はその値に該当するコードを割り当てる。図59は、本発明の隣接差分方式にかかるN個ずつのデータ要素を単位としての圧縮及び変換の概念を説明するための図である。さらに、本発明の実施の形態1~3の既定パターン適合方式では、変換データのブロックが予め定められ特定データ列の特徴を有する場合には、その特定データ列からの違いを可逆に表現できる数値を抽出し、そのビット長が隣接差分方式の場合の同一ビット長×Nより短い場合にのみその圧縮コードをその特定タイプを示す制御部コードと違いを可逆に表現できる数値で決定する。図60は、本発明の既定パターン適合方式にかかる既定パターンを指定し、N個ずつのデータ要素を単位として圧縮及び変換をする方法の概念を説明するための図である。さらにまた、本発明の実施の形態1~3の過去ブロック参照方式では、変換データの特定ブロックがその前のブロックのいずれかと比較して、その前のブロック位置を示す数値と、その前ブロックからの違いを可逆に表現できる数値を抽出し、そのビット長が隣接差分方式の場合の同一ビット長×Nより短い場合にのみ、その圧縮コードをその特定タイプを示す制御部コードと前ブロック位置を示す数値と、違いを可逆に表現できる数値で決定する。図61は、本発明の過去ブロック参照方式にかかるN個ずつのデータ要素を単位として前ブロック位置と比較して圧縮及び変換をする方法の概念を説明するための図である。尚、上記のデータ圧縮方式において、可逆変換は必須でなく、入力されたデータ列を直接、可逆圧縮しても構わない。尚、本発明の実施の形態1にかかる画像圧縮装置100は、複数のデータ圧縮方式を備えるものとしたが、一つのデータ圧縮方式のみが実装されたものであっても構わない。すなわち、隣接差分方式専用、既定パターン適合方式専用又は過去ブロック参照方式専用のデータ圧縮装置であってもよい。その場合、例えば、図1の圧縮データサイズ試算部13を除き、圧縮データ要素生成エンジン14には、DPCM隣接差分141、既定パターン適合142又は過去データ参照143のいずれかのみを搭載し、画像データ取込部11から圧縮データ要素選択生成部15へ通知を行うようにすればよい。このような場合であっても、複数のデータをまとめて一つのブロックとすることで伝送効率を高めることができる。さらに、本発明にかかるデータ圧縮方式は上述したものに限定されない。そのため、本発明にかかるデータ圧縮方法は、少なくとも、入力されたデータ列に含まれる複数のデータ要素のうちN個Nは2以上の自然数を1のブロックにまとめ、ブロックに含まれるN個のデータ要素に対して所定の圧縮方式により圧縮データを当該ブロック単位に生成し、圧縮データの生成に用いられた圧縮方式に対応し、かつ、ブロックに含まれるデータ要素数がN個であることを特定する制御コードを、当該圧縮データに付加するものである。さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPUCentralProcessingUnitにコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体nontransitorycomputerreadablemediumを用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体tangiblestoragemediumを含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ、光磁気記録媒体例えば光磁気ディスク、CD-ROMReadOnlyMemory、CD-R、CD-R/W、DVDDigitalVersatileDisc、BDDisc、半導体メモリ例えば、マスクROM、PROMProgrammableROM、EPROMErasablePROM、フラッシュROM、RAMRandomAccessMemoryを含む。また、コンピュータプログラムは、様々なタイプの一時的なコンピュータ可読媒体transitorycomputerreadablemediumによってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。"