(57)【特許請求の範囲】
【請求項１】
第１のデータを第２のデータに変換するデータ変換装置であって、
前記第１のデータを入力する入力手段と、
２進数表現された、前記第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、前記第１のデータを入れ替え、前記第２のデータに変換する変換手段と
を備えることを特徴とするデータ変換装置。
【請求項２】
前記変換手段は、前記第１のデータの位置の入れ替えを、２のべき乗個の数の前記第１のデータ単位で行う
ことを特徴とする請求項１に記載のデータ変換装置。
【請求項３】
前記第１のデータの個数が、２のべき乗個となるように、その第１のデータに、ダミーデータを付加する付加手段をさらに備える
ことを特徴とする請求項２に記載のデータ変換装置。
【請求項４】
前記ダミーデータが付加された前記第１のデータの位置が入れ替えられることにより得られる前記第２のデータから、前記ダミーデータを削除する削除手段をさらに備える
ことを特徴とする請求項３に記載のデータ変換装置。
【請求項５】
前記第１のデータの一部を切り出す切り出し手段をさらに備え、
前記変換手段は、前記切り出し手段によって切り出された前記第１のデータの位置の入れ替えを行う
ことを特徴とする請求項１に記載のデータ変換装置。
【請求項６】
前記第１および第２のデータは、画像データであり、
前記第１の位置情報は、前記第１のデータとしての画像データの水平方向の位置情報と垂直方向の位置情報であり、
前記第２の位置情報は、２進数表現された、前記水平方向の位置情報の数列を逆順に並べ替えることにより得られる数列と、前記垂直方向の位置情報の数列を逆順に並べ替えることにより得られる数列である
ことを特徴とする請求項１に記載のデータ変換装置。
【請求項７】
第１のデータを第２のデータに変換するデータ変換装置のデータ変換方法であって、
前記第１のデータを入力し、
２進数表現された、前記第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、前記第１のデータを入れ替え、前記第２のデータに変換する
ステップを含むことを特徴とするデータ変換方法。
【請求項８】
データの変換を行うデータ変換システムであって、
２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、前記第１のデータを入れ替え、第２のデータに変換する第１の変換手段と、
２進数表現された、前記第２のデータの位置を表す第２の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される前記第１の位置情報に対応する位置に、前記第２のデータを入れ替え、前記第１のデータに変換する第２の変換手段と
を備えることを特徴とするデータ変換システム。
【請求項９】
データの変換を行うデータ変換装置であって、
書き込みアドレスに応じて前記データを記憶するとともに、読み出しアドレスに応じて記憶された前記データを読み出す記憶手段と、
シーケンシャルな第１のアドレスを発生するとともに、２進数表現された前記第１のアドレスを、逆順に並べ替えることにより得られる第２のアドレスを発生し、前記第１または第２のアドレスのうちの一方を前記書き込みアドレスとして、他方を前記読み出しアドレスとして、それぞれ、前記記憶手段に供給するアドレス発生手段と
を備えることを特徴とするデータ変換装置。
【請求項１０】
データの変換を行うデータ変換装置のデータ変換方法であって、
シーケンシャルな第１のアドレスを発生するとともに、２進数表現された前記第１のアドレスを、逆順に並べ替えることにより得られる第２のアドレスを発生し、
前記第１または第２のアドレスのうちの一方を書き込みアドレスとして、前記データを記憶し、
前記第１または第２のアドレスのうちの他方を読み出しアドレスとして、記憶された前記データを読み出す
ステップを含むことを特徴とするデータ変換方法。
【請求項１１】
第１のデータを第２のデータに変換する処理用のプログラムであって、
前記第１のデータを入力し、
２進数表現された、前記第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、前記第１のデータを入れ替え、前記第２のデータに変換する
ステップを含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１２】
第１のデータが変換された第２のデータが記録されている記録媒体であって、
２進数表現された、前記第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、前記第１のデータが入れ替えられることにより変換された前記第２のデータが記録されている
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ変換装置およびデータ変換方法、提供媒体、並びにデータ変換システムに関し、特に、例えば、局所的な範囲にあるデータを分散し、また、分散したデータを、局所的な範囲に集中させることを容易に行うことができるようにするデータ変換装置およびデータ変換方法、提供媒体、並びにデータ変換システムに関する。
【０００２】
【従来の技術】
例えば、あるデータの系列を伝送等する場合においては、その系列のある箇所にノイズやエラーが集中することを防止するために、元のデータの系列を、その系列において局所的な範囲にあるデータを分散させた状態の系列に変換した後に、その伝送等が行われる。
【０００３】
【発明が解決しようとする課題】
ところで、時間的または空間的に局所的な範囲に存在する（以下、適宜、局在するという）データを分散させる方法としては、例えば、乱数を用いた方法があり、この方法によれば、あるデータの系列の順番が、乱数にしたがって入れ替えられ、これにより、元のデータにおいて局在するデータが分散されたデータの系列に変換される。
【０００４】
しかしながら、乱数を用いて変換した変換後のデータの系列を、元のデータの系列に逆変換するには、即ち、分散させたデータを、元の局所的な範囲に集中させるには、変換時に用いた乱数の系列やシード（乱数を、所定の漸化式に基づいて発生させる場合に、その漸化式に与える初期値）が必要となる。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、データを分散または集中させる変換を、容易に行うことができるようにするものである。
【０００６】
【課題を解決するための手段】
請求項１に記載のデータ変換装置は、第１のデータを入力する入力手段と、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換する変換手段とを備えることを特徴とする。
【０００７】
請求項７に記載のデータ変換方法は、第１のデータを入力し、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換するステップを含むことを特徴とする。
【００１０】
請求項８に記載のデータ変換システムは、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換する第１の変換手段と、２進数表現された、第２のデータの位置を表す第２の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第１の位置情報に対応する位置に、第２のデータを入れ替え、第１のデータに変換する第２の変換手段とを備えることを特徴とする。
【００１１】
請求項９に記載のデータ変換装置は、書き込みアドレスに応じてデータを記憶するとともに、読み出しアドレスに応じて記憶されたデータを読み出す記憶手段と、シーケンシャルな第１のアドレスを発生するとともに、２進数表現された第１のアドレスを、逆順に並べ替えることにより得られる第２のアドレスを発生し、第１または第２のアドレスのうちの一方を書き込みアドレスとして、他方を読み出しアドレスとして、それぞれ、記憶手段に供給するアドレス発生手段とを備えることを特徴とする。
【００１２】
請求項１０に記載のデータ変換方法は、シーケンシャルな第１のアドレスを発生するとともに、２進数表現された第１のアドレスを、逆順に並べ替えることにより得られる第２のアドレスを発生し、第１または第２のアドレスのうちの一方を書き込みアドレスとして、データを記憶し、第１または第２のアドレスのうちの他方を読み出しアドレスとして、記憶されたデータを読み出すステップを含むことを特徴とする。
請求項１１に記載の記録媒体に記録されているプログラムは、第１のデータを入力し、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換するステップを含むことを特徴とする。
請求項１２に記載の記録媒体は、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータが入れ替えられることにより変換された第２のデータが記録されていることを特徴とする。
【００１３】
請求項１に記載のデータ変換装置においては、変換手段が、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換するようになされている。
【００１４】
請求項７に記載のデータ変換方法においては、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換するようになされている。
【００１７】
請求項８に記載のデータ変換システムにおいては、第１の変換手段は、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換するようになされている。第２の変換手段は、２進数表現された、第２のデータの位置を表す第２の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第１の位置情報に対応する位置に、第２のデータを入れ替え、第１のデータに変換するようになされている。
【００１８】
請求項９に記載のデータ変換装置においては、アドレス発生手段が、シーケンシャルな第１のアドレスを発生するとともに、２進数表現された第１のアドレスを、逆順に並べ替えることにより得られる第２のアドレスを発生し、第１または第２のアドレスのうちの一方を書き込みアドレスとして、他方を読み出しアドレスとして、それぞれ、記憶手段に供給するようになされている。
【００１９】
請求項１０に記載のデータ変換方法においては、シーケンシャルな第１のアドレスを発生するとともに、２進数表現された第１のアドレスを、逆順に並べ替えることにより得られる第２のアドレスを発生し、第１または第２のアドレスのうちの一方を書き込みアドレスとして、データを記憶し、第１または第２のアドレスのうちの他方を読み出しアドレスとして、記憶されたデータを読み出すようになされている。
請求項１１に記載の記録媒体に記録されているプログラムにおいては、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換するようになされている。
請求項１２に記載の記録媒体においては、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータが入れ替えられることにより変換された第２のデータが記録されているようになされている。
【００２０】
【発明の実施の形態】
以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し、一例）を付加して、本発明の特徴を記述すると、次のようになる。
【００２１】
即ち、請求項１に記載のデータ変換装置は、データに変換するデータ変換装置であって、第１のデータを入力する入力手段（例えば、図２の画素数検出回路１６など）と、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換する変換手段（例えば、図５に示す列入れ替え部２２および行入れ替え部２３や、図１１に示す行入れ替え部４１および列入れ替え部４２など）とを備えることを特徴とする。
【００２２】
請求項３に記載のデータ変換装置は、第１のデータの個数が、２のべき乗個となるように、その第１のデータに、ダミーデータを付加する付加手段（例えば、図５に示すダミー画素付加部２１や、図２３に示すダミー画素付加部４５など）をさらに備えることを特徴とする。
【００２３】
請求項４に記載のデータ変換装置は、ダミーデータが付加された第１のデータの位置が入れ替えられることにより得られる第２のデータから、ダミーデータを削除する削除手段（例えば、図１１に示すダミー画素削除部４３や、図２１に示すダミー画素削除部２４など）をさらに備えることを特徴とする。
【００２４】
請求項５に記載のデータ変換装置は、第１のデータの一部を切り出す切り出し手段（例えば、図１４に示す切り出し部４４など）をさらに備え、変換手段は、切り出し手段によって切り出された第１のデータの位置の入れ替えを行うことを特徴とする。
【００２５】
請求項８に記載のデータ変換システムは、データの変換を行うデータ変換システムであって、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換する第１の変換手段（例えば、図５に示す列入れ替え部２２および行入れ替え部２３など）と、２進数表現された、第２のデータの位置を表す第２の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第１の位置情報に対応する位置に、第２のデータを入れ替え、第１のデータに変換する第２の変換手段（例えば、図１１に示す行入れ替え部４１および列入れ替え部４２など）とを備えることを特徴とする。
【００２６】
請求項９に記載のデータ変換装置は、データの変換を行うデータ変換装置であって、書き込みアドレスに応じてデータを記憶するとともに、読み出しアドレスに応じて記憶されたデータを読み出す記憶手段（例えば、図２に示す画像メモリ１１や、図８に示す画像メモリ３１など）と、シーケンシャルな第１のアドレスを発生するとともに、２進数表現された第１のアドレスを、逆順に並べ替えることにより得られる第２のアドレスを発生し、第１または第２のアドレスのうちの一方を書き込みアドレスとして、他方を読み出しアドレスとして、それぞれ、記憶手段に供給するアドレス発生手段（例えば、図２に示す水平アドレスカウンタ１２、垂直アドレスカウンタ１３、ライトアドレス発生回路１４、およびリードアドレス発生回路１５や、図８に示す水平アドレスカウンタ３２、垂直アドレスカウンタ３３、ライトアドレス発生回路３４、およびリードアドレス発生回路３５など）とを備えることを特徴とする。
【００２７】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【００２８】
図１は、本発明を適用した画像処理システム（システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない）の一実施の形態の構成例を示している。
【００２９】
エンコーダ１には、処理すべき画像データの系列（ｘ0，ｘ1，・・・，ｘT）が供給されるようになされており、エンコーダ１では、その画像データ（第１のデータ）の系列（ｘ0，ｘ1，・・・，ｘT）が受信され、エンコードされることにより、符号化データ（第２のデータ）の系列（ｘF(0)，ｘF(1)，・・・，ｘF(T)）に変換される。
【００３０】
ここで、ｘt（ｔ＝０，１，・・・，Ｔ）は、先頭からｔ＋１番目の画像データを表している。従って、ｘtのインデックスｔは、そのｘtの位置（時間的または空間的位置）を表す。また、Ｆ（ｔ）は、ｔを変換する関数で、ここでは、ｔを２進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表される値を示す。
【００３１】
従って、エンコーダ１では、画像データの系列のうちのｔ＋１番目に位置する画像データｘtが、ｔを２進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表されるＦ（ｔ）＋１番目の位置に入れ替えられ、符号化データとして出力される。
【００３２】
エンコーダ１が出力する符号化データは、例えば、光ディスクや、光磁気ディスク、相変化ディスク、磁気テープ、その他でなる記録媒体２に記録され、あるいは、また、例えば、インターネットや、ＣＡＴＶ（Cable Television）網、地上波、衛星回線などでなる伝送媒体３を介して伝送される。
【００３３】
一方、デコーダ４には、記録媒体２に記録された符号化データの系列（ｘF(0)，ｘF(1)，・・・，ｘF(T)）が再生されて供給（提供）され、あるいは、伝送媒体３を介して伝送されてくる符号化データの系列（ｘF(0)，ｘF(1)，・・・，ｘF(T)）が提供されるようになされており、デコーダ４では、その符号化データ（第１のデータ）の系列（ｘF(0)，ｘF(1)，・・・，ｘF(T)）が受信され、デコードされることにより、元の画像データ（第２のデータ）の系列（ｘ0，ｘ1，・・・，ｘT）に変換される。
【００３４】
即ち、デコーダ４では、符号化データの系列のうちのＦ（ｔ）＋１番目に位置する符号化データ（としての画像データ）ｘF(t)が、Ｆ（ｔ）を２進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表されるｔ＋１番目の位置に入れ替えられ、復号画像として出力される。
【００３５】
以上のように、エンコーダ１およびデコーダ４のいずれにおいても、そこに入力されるデータは、そのデータの位置を表す情報（上述の場合には、ｔやＦ（ｔ））を２進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表される位置に入れ替えられることで変換（逆変換）される。
【００３６】
次に、図２は、図１のエンコーダ１のハードウェア構成例を示している。このエンコーダ１においては、画像データが、所定の順番で、画像メモリ１１に書き込まれ、その書き込まれた画像データが、書き込み時とは異なる順番で読み出されることにより、符号化データとされるようになされている。
【００３７】
即ち、エンコーダ１に対しては、処理すべき画像データが、例えば、１フレーム単位で、ラインスキャン順に入力されるようになされており、その画像データは、画素数検出回路１６を介して、画像メモリ１１の入力端子ＩＮに供給されるようになされている。
【００３８】
画像メモリ１１は、幾つかのバンクを有し、各バンクに、その入力端子ＩＮに入力される画像データを、そのアドレス端子ＡＤに供給されるライトアドレスにしたがって記憶するようになされている。また、画像メモリ１１は、各バンクに記憶された画像データを、そのアドレス端子ＡＤに供給されるリードアドレスにしたがって読み出し、その出力端子ＯＵＴから、符号化データとして出力するようになされている。なお、画像メモリ１１は、例えば、デュアルポートメモリで構成され、これにより、データの読み書きを同時に行うことができるようになされている。
【００３９】
水平アドレスカウンタ１２は、画像メモリ１１に供給される画像データに同期して（画素が供給されるタイミングで）、例えば、０から、カウンタ設定回路１７より供給される値までをシーケンシャルにカウントし、そのカウント値を、画像データの水平方向の位置を表す水平アドレスとして、ライトアドレス発生回路１４およびリードアドレス発生回路１５に供給するようになされている。垂直アドレスカウンタ１３は、画像メモリ１１に供給される画像データの水平同期信号に同期して（１水平ラインの画素が供給されるタイミングで）、例えば、０から、カウンタ設定回路１７より供給される値までをシーケンシャルにカウントし、そのカウント値を、画像データの垂直方向の位置を表す垂直アドレスとして、ライトアドレス発生回路１４およびリードアドレス発生回路１５に供給するようになされている。
【００４０】
ライトアドレス発生回路１４は、水平アドレスカウンタ１２からの水平アドレスと、垂直アドレスカウンタ１３からの垂直アドレスとを、そのまま用いて、画像データを書き込むべきアドレスとしてライトアドレスを生成し、画像メモリ１１のアドレス端子ＡＤに供給するようになされている。リードアドレス発生回路１５は、水平アドレスカウンタ１２からの水平アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列と、垂直アドレスカウンタ１３からの垂直アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列とを用いて、読み出すべき画像データのアドレスとしてリードアドレスを生成し、画像メモリ１１のアドレス端子ＡＤに供給するようになされている。
【００４１】
画素数検出回路１６は、そこに入力される画像データの、例えば、１フレーム（画面）を構成する横（水平方向）の画素数と、縦（垂直方向）の画素数とを検出し、カウンタ設定回路１７に供給するとともに、そこに入力される画像データを、画像メモリ１１の入力端子ＩＮに供給するようになされている。
【００４２】
カウンタ設定回路１７は、画素数検出回路１６からの１フレームの横の画素数または縦の画素数にしたがって、水平アドレスカウンタ１２または垂直アドレスカウンタ１３にカウントさせるカウント値の最大値を設定し、水平アドレスカウンタ１２または垂直アドレスカウンタ１３にそれぞれ供給するようになさている。
【００４３】
次に、その動作について、図３および図４のフローチャートを参照して説明する。
【００４４】
まず、図３のフローチャートを参照して、画像データを画像メモリ１１に書き込む書き込み処理について説明する。
【００４５】
書き込み処理においては、エンコーダ１に入力された画像データが、画素数検出回路１６に供給され、画素数検出回路１６では、そこに供給される画像データから、１フレームの横または縦それぞれの画素数が検出される。いま、この横または縦の画素数を、それぞれＷまたはＨで表すと、この横の画素数Ｗおよび縦の画素数Ｈは、画素数検出回路１６からカウンタ設定回路１７に供給される。
【００４６】
カウンタ設定回路１７では、ステップＳ２において、画素数検出回路１６からの横の画素数Ｗまたは縦の画素数Ｈに基づいて、水平アドレスカウンタ１２または垂直アドレスカウンタ１３にカウントさせるカウント値の最大値が設定される。
【００４７】
即ち、カウンタ設定回路１７は、横の画素数Ｗ以上の最小の２のべき乗の数２Mを求め、それから１を減算した値である２M−１を、水平アドレスカウンタ１２にカウントさせるカウント値の最大値（以下、適宜、最大水平アドレスという）として設定し、水平アドレスカウンタ１２に供給する。同様に、カウンタ設定回路１７は、縦の画素数Ｈ以上の最小の２のべき乗の数２Nを求め、それから１を減算した値である２N−１を、垂直アドレスカウンタ１３にカウントさせるカウント値の最大値（以下、適宜、最大垂直アドレスという）として設定し、垂直アドレスカウンタ１３に供給する。
【００４８】
垂直アドレスカウンタ１３は、カウンタ設定回路１７から最大垂直アドレス２N−１を受信すると、ステップＳ３において、そのカウント値を表す変数ｊを０に初期化し、垂直アドレスとして、ライトアドレス発生回路１４に出力する。また、水平アドレスカウンタ１２も、カウンタ設定回路１７から最大水平アドレス２M−１を受信すると、ステップＳ４において、そのカウント値を表す変数ｉを０に初期化し、ライトアドレス発生回路１４に出力する。
【００４９】
そして、ステップＳ５に進み、ライトアドレス発生回路１４は、垂直アドレスカウンタ１３からの垂直アドレスｊに、水平アドレスカウンタ１２からの水平アドレスｉを付加する（垂直アドレスｊに続けて水平アドレスｉを配置した値を生成する）ことで、ライトアドレスを生成し、ステップＳ６に進む。ステップＳ６では、ライトアドレス発生回路１４において、ステップＳ５で生成されたライトアドレスが、画像メモリ１１のアドレス端子ＡＤに供給される。
【００５０】
一方、このようにしてライトアドレスが、画像メモリ１１のアドレス端子ＡＤに供給されるタイミングで、その入力端子ＩＮには、フレームの左端からｉ＋１の、上端からｊ＋１番目の画素の画像データが、画素数検出回路１６から供給されるようになされており、従って、その画像データは、その空間的位置に対応する、画像メモリ１１のアドレスに記憶される。
【００５１】
その後、ステップＳ７に進み、水平アドレスカウンタ１２において、水平アドレスｉが、最大水平アドレス２M−１に等しいかどうかが判定され、等しくないと判定された場合、ステップＳ８に進み、水平アドレスカウンタ１２において、水平アドレスｉが、１だけインクリメントされる。そして、ステップＳ５に戻り、以下、同様の処理が繰り返される。これにより、ある水平ラインを構成する画素の画像データが、その空間的位置に対応する、画像メモリ１１のアドレスに順次記憶されていく。
【００５２】
一方、ステップＳ７において、水平アドレスｉが、最大水平アドレス２M−１に等しいと判定された場合、ステップＳ９に進み、垂直アドレスカウンタ１３において、垂直アドレスｊが、最大垂直アドレス２N−１に等しいかどうかが判定される。ステップＳ９において、垂直アドレスｊが、最大垂直アドレス２N−１に等しくないと判定された場合、ステップＳ１０に進み、垂直アドレスカウンタ１３において、垂直アドレスｊが、１だけインクリメントされる。そして、ステップＳ４に戻り、以下、同様の処理が繰り返される。
【００５３】
また、ステップＳ９において、垂直アドレスｊが、最大垂直アドレス２N−１に等しいと判定された場合、ステップＳ１１に進み、処理すべきフレームすべてを画像メモリ１１に書き込んだかどうかが判定される。ステップＳ１１において、処理すべきフレームすべてを、まだ書き込んでいないと判定された場合、ステップＳ３に戻り、次のフレームを対象に、以下、同様の処理が繰り返される。
【００５４】
一方、ステップＳ１１において、処理すべきフレームすべてを書き込んだと判定された場合、書き込み処理を終了する。
【００５５】
なお、書き込み処理においては、上述のように、水平アドレスｉが、０から最大水平アドレス２M−１までカウントされるとともに、垂直アドレスが、０から最大垂直アドレス２N−１までカウントされる。そして、２Mまたは２Nは、それぞれフレームの横の画素数Ｗまたは縦の画素数Ｈ以上の最小の２のべき乗の数であるから、フレームの横の画素数Ｗが２のべき乗の数に一致しない場合には、画像メモリ１１には、２M−Ｗ画素分だけ、水平方向に（本来の画像の右側に）、余分なデータが記憶される。同様に、フレームの縦の画素数Ｈが２のべき乗の数に一致しない場合には、画像メモリ１１には、２N−Ｈ画素分だけ、垂直方向に（本来の画像の下側に）、余分なデータが記憶される。ここで、この余分なデータを、以下、適宜、ダミーデータという。ダミーデータは、必要なタイミングに、画素数検出回路１６から、画像メモリ１１の入力端子ＩＮに供給されるようになされている。
【００５６】
従って、書き込み処理においては、基本的に、各フレームの画像データが、各画素の位置に対応する画像メモリ１１のアドレスに記憶される。但し、フレームの横の画素数Ｗや縦の画素数Ｈが２のべき乗の数に一致しない場合には、一致するように、フレームの右側や下側に、ダミーデータが付加されて記憶される。
【００５７】
次に、図４のフローチャートを参照して、画像メモリ１１に書き込まれた画像データを読み出す読み出し処理について説明する。なお、読み出し処理は、例えば、画像メモリ１１に、１フレームの画像が書き込まれた後に開始され、以後、バンク切り換えによって、図３で説明した書き込み処理と並列して行われるようになされている。
【００５８】
即ち、読み出し処理では、まず最初に、ステップＳ２１において、垂直アドレスカウンタ１３は、そのカウント値を表す変数ｊを０に初期化し、垂直アドレスとして、リードアドレス発生回路１５に出力する。さらに、水平アドレスカウンタ１２は、ステップＳ２２において、そのカウント値を表す変数ｉを０に初期化し、リードアドレス発生回路１５に出力する。
【００５９】
そして、ステップＳ２３に進み、リードアドレス発生回路１５は、水平アドレスカウンタ１２からの水平アドレスｉを２進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値ｉ’を、新たに水平アドレスとする。さらに、リードアドレス発生回路１５は、ステップＳ２３において、垂直アドレスカウンタ１３からの垂直アドレスｊを２進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値ｊ’を、新たに垂直アドレスとする。そして、ステップＳ２４に進み、リードアドレス発生回路１５は、新たな垂直アドレスｊ’に、新たな水平アドレスｉ’を付加することで、リードアドレスを生成し、ステップＳ２５に進む。ステップＳ２５では、リードアドレス発生回路１５において、ステップＳ２４で生成されたリードアドレスが、画像メモリ１１のアドレス端子ＡＤに供給される。
【００６０】
これにより、画像メモリ１１からは、元の画像（但し、ダミーデータが付加されている場合には、そのダミーデータが付加された画像）において、左端からｉ’＋１の、上端からｊ’＋１番目の画素の画像データが読み出され、符号化データとして出力される。即ち、元の画像において、左端からｉ’＋１の、上端からｊ’＋１番目の画素の画像データは、左端からｉ＋１の、上端からｊ＋１番目の画素の画像データに入れ替えられ、符号化データとして出力される。
【００６１】
その後、ステップＳ２６に進み、水平アドレスカウンタ１２において、水平アドレスｉが、最大水平アドレス２M−１に等しいかどうかが判定され、等しくないと判定された場合、ステップＳ２７に進み、水平アドレスカウンタ１２において、水平アドレスｉが、１だけインクリメントされる。そして、ステップＳ２３に戻り、以下、同様の処理が繰り返される。
【００６２】
一方、ステップＳ２６において、水平アドレスｉが、最大水平アドレス２M−１に等しいと判定された場合、ステップＳ２８に進み、垂直アドレスカウンタ１３において、垂直アドレスｊが、最大垂直アドレス２N−１に等しいかどうかが判定される。ステップＳ２８において、垂直アドレスｊが、最大垂直アドレス２N−１に等しくないと判定された場合、ステップＳ２９に進み、垂直アドレスカウンタ１３において、垂直アドレスｊが、１だけインクリメントされる。そして、ステップＳ２２に戻り、以下、同様の処理が繰り返される。
【００６３】
ここで、最大水平アドレス２M−１および最大水平アドレス２N−１は、書き込みを開始する前に求められるので（ステップＳ１，Ｓ２（図３））、読み出し処理では、その書き込み時に求められたものが、そのまま用いられる。
【００６４】
ステップＳ２８において、垂直アドレスｊが、最大垂直アドレス２N−１に等しいと判定された場合、ステップＳ３０に進み、画像メモリ１１に、まだ記憶されている画像データがあるかどうかが判定される。ステップＳ３０において、画像メモリ１１に、まだ記憶されている画像データがあると判定された場合、ステップＳ２１に戻り、その記憶されている画像データ（まだ読み出されてないフレーム）を対象に、以下、同様の処理が繰り返される。
【００６５】
一方、ステップＳ３０において、画像メモリ１１に記憶されている画像データ（画像メモリ１１から読み出していない画像データ）がないと判定された場合、読み出し処理を終了する。
【００６６】
以上のように、読み出し処理において、水平アドレスｉを２進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値ｉ’を、新たに水平アドレスとするとともに、垂直アドレスｊを２進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値ｊ’を、新たに垂直アドレスとして、新たな垂直アドレスｊ’に、新たな水平アドレスｉ’を付加することで、リードアドレスを生成するようにしたので、そのようなリードアドレスにしたがって、画像メモリ１１から画像データを読み出すことにより、空間的に局在する画像データは空間的に分散され、そのような空間的に分散された画像データが、符号化データとして出力される。
【００６７】
即ち、図５は、図１のエンコーダ１の機能的構成例を示している。
【００６８】
処理すべき画像データ（第１のデータ）は、例えば、１フレーム単位で、ダミー画素付加部２１に供給され、そこで、ダミーデータが付加される。即ち、ダミー画素付加部２１は、１フレームの横の画素数Ｗおよび縦の画素数Ｈを検出し、横の画素数Ｗが２のべき乗の数に等しくないとき、画素数Ｗ以上の最小の２のべき乗の数である２Mに足りない分だけ、画像データの水平方向に、ダミーデータを付加する。さらに、ダミー画素付加部２１は、縦の画素数Ｈが２のべき乗の数に等しくないとき、画素数Ｈ以上の最小の２のべき乗の数である２Nに足りない分だけ、画像データの垂直方向に、ダミーデータを付加する。これにより、横×縦がＷ×Ｈ画素の画像データは、横および縦の画素数が、いずれも２のべき乗の数に等しい画像データ、即ち、２M×２N画素の画像データとされ、列入れ替え部２２に供給される。
【００６９】
具体的には、例えば、いま、図６（Ａ）に示すような、１フレーム（画面）の横×縦が８×６画素の画像データが、ダミー画素付加部２１に供給されたとすると、横の画素数は８画素で、２のべき乗の数（この場合、２3）に等しいから、ダミー画素付加部２１は、水平方向にはダミーデータを付加せず、そのままとする。一方、縦の画素数は６画素で、２のべき乗の数に等しくない。そして、縦の画素数６以上の最小の２のべき乗の数は、８（＝２3）であるから、ダミー画素付加部２１は、８画素に足りない分、即ち、２画素分だけ、垂直方向に、ダミーデータを付加する。従って、この場合、ダミー画素付加部２１では、図６（Ｂ）に示すような、垂直方向に、２画素分だけダミーデータ（図６（Ｂ）において、影を付して示す）が付加され、８×８画素とされた１画面の画像データが構成される。
【００７０】
ここで、図６（後述する図７および図２２においても同様）における（ｘ，ｙ）のｘまたはｙは、元の画像の画素の水平アドレスまたは垂直アドレスをそれぞれ表している。また、ここでは、画素の水平アドレスまたは垂直アドレスは、その画面（フレーム）における水平方向または垂直方向の位置を表す（水平アドレス＋１または垂直アドレス＋１が、画素が画面の左端または上端から何番目の位置にあるかを表す）。
【００７１】
なお、入力された画像データの横の画素数Ｗおよび縦の画素数Ｈが、いずれも２のべき乗の数に等しいときは、ダミー画素付加部１１は、そのまま、その画像データを、列入れ替え部２２に出力する。
【００７２】
列入れ替え部２２では、ダミー画素付加部２１からの画像データの列（垂直方向に並ぶ画素群）の入れ替えが行われる。即ち、列入れ替え部２２は、２M×２N画素の画像データのうちの、ある列にある画像データを、その列の位置を表す水平アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列を水平アドレスとする位置に入れ替える。
【００７３】
ここで、例えば、図６（Ｂ）に示したような８×８画素の画像データが、ダミー画素付加部２１から出力された場合には、その水平アドレス０乃至７それぞれを２進数表現したビット列を逆順に並べ替えたビット列は、次のようになる。
【００７４】
０（０００Ｂ）→０（０００Ｂ）
１（００１Ｂ）→４（１００Ｂ）
２（０１０Ｂ）→２（０１０Ｂ）
３（０１１Ｂ）→６（１１０Ｂ）
４（１００Ｂ）→１（００１Ｂ）
５（１０１Ｂ）→５（１０１Ｂ）
６（１１０Ｂ）→３（０１１Ｂ）
７（１１１Ｂ）→７（１１１Ｂ）
・・・（１）
但し、Ｂは、その前にある数字が２進数であることを表す。
【００７５】
従って、列入れ替え部２２では、図６（Ｂ）に示したような８×８画素の画像データの水平アドレス０乃至７に対応する列に位置する画像データが、水平アドレス０，４，２，６，１，５，３，７に対応する列にそれぞれ入れ替えられ、これにより、図７（Ａ）に示すようなものとされる。
【００７６】
以上のように、列入れ替え部２２において列の入れ替えが行われた画像データは、行入れ替え部２３に供給される。
【００７７】
行入れ替え部２３では、列入れ替え部２２からの画像データの行（水平方向に並ぶ画素群）の入れ替えが行われる。即ち、行入れ替え部２３は、２M×２N画素の画像データのうちの、ある行にある画像データを、その行の位置を表す垂直アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列を垂直アドレスとする位置に入れ替える。
【００７８】
ここで、例えば、図７（Ａ）に示したような８×８画素の画像データが、列入れ替え部２２から出力された場合には、その垂直アドレス０乃至７それぞれを２進数表現したビット列を逆順に並べ替えたビット列は、上述した（１）に示したようになる。
【００７９】
従って、行入れ替え部２３においても、列入れ替え部２２における場合と同様に、図７（Ａ）に示したような８×８画素の画像データの垂直アドレス０乃至７に対応する行に位置する画像データが、垂直アドレス０，４，２，６，１，５，３，７に対応する行にそれぞれ入れ替えられ、これにより、図７（Ｂ）に示すようなものとされる。
【００８０】
以上のように、行入れ替え部２３において行の入れ替えが行われた画像データは、符号化データとして出力される。
【００８１】
図６（Ｂ）に示した行および列の位置の入れ替えを行う前の画像データと、図７（Ｂ）に示した行および列の位置の入れ替えを行った後の画像データとを比較することにより、各画素の画像データが、いわば満遍なく分散していることが分かる。
【００８２】
次に、図８は、図１のデコーダ４のハードウェア構成例を示している。
【００８３】
デコーダ４に対しては、符号化データが、例えば、１フレーム単位で、ラインスキャン順に入力されるようになされており、その符号化データは、画素数検出回路３６を介して、画像メモリ３１の入力端子ＩＮに供給されるようになされている。
【００８４】
そして、デコーダ４を構成する画像メモリ３１、水平アドレスカウンタ３２、垂直アドレスカウンタ３３、ライトアドレス発生回路３４、リードアドレス発生回路３５、画素数検出回路３６、またはカウンタ設定回路３７は、図２に示したエンコーダ１を構成する画像メモリ１１、水平アドレスカウンタ１２、垂直アドレスカウンタ１３、ライトアドレス発生回路１４、リードアドレス発生回路１５、画素数検出回路１６、またはカウンタ設定回路１７とそれぞれ同様に構成されており、従って、デコーダ４では、符号化データに対して、基本的に、エンコーダ１と同様の処理が施され、元の画像データが復号される。
【００８５】
即ち、デコーダ４においても、エンコーダ１と同様に、符号化データが、画像メモリ３１に書き込まれ、その書き込まれた符号化データが読み出されることで、元の画像データとされるようになされている。
【００８６】
具体的には、図９または図１０のフローチャートに示すような書き込み処理または読み出し処理がそれぞれ行われることで、符号化データが元の画像データに復号される。
【００８７】
ここで、図９に示したデコーダ４における書き込み処理を構成するステップＳ４１乃至Ｓ５１では、図３に示したエンコーダ１による書き込み処理を構成するステップＳ１乃至Ｓ１１における場合とそれぞれ同様の処理が行われるので、その説明は省略する。また、図１０に示したデコーダ４における読み出し処理を構成するステップＳ６１乃至Ｓ７０においても、図４に示したエンコーダ１による読み出し処理を構成するステップＳ２１乃至Ｓ３０における場合とそれぞれ同様の処理が行われるので、その説明は省略する。
【００８８】
なお、図２のステップＳ２では、カウンタ設定回路１７において、処理対象の画像データの横または縦の画素数が２のべき乗の数に一致しないときには、その横または縦の画素数以上の最小の２のべき乗の数２Mまたは２Nを求め、２M−１または２N−１を、最大水平アドレスまたは最大垂直アドレスとしてそれぞれ設定するようにしたが、デコーダ４に供給される符号化データについては、エンコーダ１においてダミーデータが付加されることにより、その横または縦の画素数は、いずれも２のべき乗の数に一致している。従って、図２のステップＳ２に対応する図９のステップＳ４２では、カウンタ設定回路３７において、符号化データの横または縦の画素数をそのまま用いて、最大水平アドレスおよび最大垂直アドレスが設定される（符号化データの横または縦の画素数は、ここでは、必ず２のべき乗の数に一致しているので、その横または縦の画素数以上の最小の２のべき乗の数を求める必要がない）。
【００８９】
以上のように、デコーダ４では、書き込み処理において、各フレームの符号化データが、各画素の位置に対応する画像メモリ３１のアドレスに記憶される。そして、読み出し処理において、水平アドレスｉを２進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値ｉ’を、新たに水平アドレスとするとともに、垂直アドレスｊを２進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値ｊ’を、新たに垂直アドレスとして、新たな垂直アドレスｊ’に、新たな水平アドレスｉ’を付加することで、リードアドレスを生成するようにしたので、空間的に分散された画像データとしての符号化データは、空間的に局在する元の画像データに復元される。
【００９０】
即ち、図１１は、図１のデコーダ４の機能的構成例を示している。
【００９１】
符号化データ（第１のデータ）は、例えば、１フレーム単位で、行入れ替え部４１に供給されて受信され、列入れ替え部４１では、図５の行入れ替え部２３と同様にして、符号化データの画像データの行（水平方向に並ぶ画素群）の入れ替えが行われる。即ち、行入れ替え部４１は、２M×２N画素の画像データのうちの、ある行にある画像データを、その行の位置を表す垂直アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列を垂直アドレスとする位置に入れ替える。
【００９２】
ここで、例えば、図７（Ｂ）に示したような８×８画素の符号化データが、行入れ替え部４１に入力された場合には、その垂直アドレス０乃至７それぞれを２進数表現したビット列を逆順に並べ替えたビット列は、（１）に示したようになるから、行入れ替え部４１では、図７（Ｂ）に示したような８×８画素の符号化データの垂直アドレス０乃至７に対応する列に位置する画像データが、垂直アドレス０，４，２，６，１，５，３，７に対応する列にそれぞれ入れ替えられ、これにより、図７（Ａ）に示すようなものとされる。
【００９３】
以上のように、行入れ替え部４１において行の入れ替えが行われた符号化データは、列入れ替え部４２に供給される。
【００９４】
列入れ替え部４２では、行入れ替え部４１からの符号化データの列（垂直方向に並ぶ画素群）の入れ替えが行われる。即ち、列入れ替え部４２は、２M×２N画素の画像データのうちの、ある列にある符号化データを、その列の位置を表す水平アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列を水平アドレスとする位置に入れ替える。
【００９５】
ここで、例えば、図７（Ａ）に示したような８×８画素の符号化データが、行入れ替え部４１から出力された場合には、その水平アドレス０乃至７それぞれを２進数表現したビット列を逆順に並べ替えたビット列は、上述した（１）に示したようになる。
【００９６】
従って、列入れ替え部４２においても、行入れ替え部４１における場合と同様に、図７（Ａ）に示したような８×８画素の符号化データの水平アドレス０乃至７に対応する列に位置する画像データが、水平アドレス０，４，２，６，１，５，３，７に対応する列にそれぞれ入れ替えられ、これにより、図６（Ｂ）に示すようなものとされる。
【００９７】
以上のように、列入れ替え部４２において行の入れ替えが行われた符号化データは、ダミー画素削除部４３に供給される。
【００９８】
ダミー画素削除部４３では、列入れ替え部４２からの符号化データから、ダミーデータが削除され、これにより、元の画像データが復元されて出力される。
【００９９】
即ち、図５で説明したように、ダミー画素付加部２１では、１フレームの横の画素数Ｗが２のべき乗の数に等しくないとき、画素数Ｗ以上の最小の２のべき乗の数である２Mに足りない分だけ、画像データの水平方向に、ダミーデータが付加され、また縦の画素数Ｈが２のべき乗の数に等しくないときも、画素数Ｈ以上の最小の２のべき乗の数である２Nに足りない分だけ、画像データの垂直方向に、ダミーデータが付加される。ダミー画素削除部４３では、このようにして付加されたダミーデータが削除され、元の画素数の画像データとされる。
【０１００】
具体的には、例えば、いま、図６（Ｂ）に示したような、垂直方向に２画素分だけダミーデータが付加された８×８画素の符号化データ（画像データ）が、列入れ替え部４２からダミー画素削除部４３に供給された場合、ダミー画素削除部４３では、その符号化データに付加されている２行分のダミーデータが検出され、これが削除されることにより、図６（Ａ）に示した横×縦が８×６画素の元の画像データが復号される。
【０１０１】
なお、符号化データの横の画素数Ｗおよび縦の画素数Ｈが、いずれも２のべき乗の数に等しいときは、ダミー画素削除部４３は、そのまま、その符号化データを、復号結果として出力する。
【０１０２】
また、ダミーデータの検出は、例えば、元の画像データが取り得ない値を、ダミーデータとして用いることで行うことが可能である。
【０１０３】
以上のように、エンコーダ１において、画像データ（第１のデータ）の位置を表す水平アドレスまたは垂直アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表される水平アドレスまたは垂直アドレスに対応する位置に、画像データを入れ替え、符号化データとするようにしたので、各画素の画像データを、いわば満遍なく分散させた符号化データ（第２のデータ）を得ることができる。
【０１０４】
また、デコーダ４においても、エンコーダ１における場合と同様に、符号化データ（第１のデータ）の位置を表す水平アドレスまたは垂直アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表される水平アドレスまたは垂直アドレスに対応する位置に、符号化データを入れ替えるようにしたので、満遍なく分散された画像データを、元の画像データ（第２のデータ）に戻す（元の局所的な範囲に集中させる）ことができる。
【０１０５】
即ち、例えば、水平アドレスや垂直アドレスとして、３ビットのアドレス空間を考えた場合、水平アドレスや垂直アドレスの入れ替え前のアドレス空間（以下、適宜、元のアドレス空間という）と、入れ替え後のアドレス空間（以下、適宜、変換後のアドレス空間という）とは、（１）で説明したことから、図１２（Ａ）に示すように一対一に対応し、両者の関係は、元のアドレス空間から見ても、また、変換後のアドレス空間から見ても、アドレスを２進数表現したビット列を逆順に並べ替えたものとなっている。さらに、両者の関係は、アドレス空間の大きさ（アドレスが何ビットで表されるか）が決まれば、一意に決まり、従って、アドレスを、そのビット列について逆順に並べ替えることにより得られるビット列によって表されるものに変換するというルールさえ、エンコーダ１およびデコーダ４が認識していれば、変換の仕方は、変換対象のデータのアドレス空間の大きさによって一意に決定される。その結果、例えば、乱数によるデータ変換の場合のように、乱数の系列やシード等の情報を用いずに、局在するデータを分散させ、また、そのように分散させたデータを、元の位置に集中させる変換／逆変換を行うことができる。
【０１０６】
なお、アドレスを、そのビット列について逆順に並べ替えることにより得られるビット列によって表されるものに変換する場合において、変換の仕方（元のアドレスと変換後のアドレスとの対応関係）を一意に決定するためには、アドレスの数が、２のべき乗の数に一致している必要があり、このため、エンコーダ１では、上述したように、横または縦の画素数が２のべき乗の数に一致しないときに、ダミーデータを付加して、２のべき乗の数に一致させるようにしている。
【０１０７】
また、アドレスを、そのビット列について逆順に並べ替えることにより得られるビット列によって表されるものに変換すること（以下、適宜、ビット逆順変換という）によって、画像データを満遍なく分散させること（さらに、分散しているデータを集中させること）ができるのは、ビット逆順変換の次のような性質による。
【０１０８】
即ち、ビット逆順変換によれば、元のアドレス空間における隣接するアドレスが、変換後のアドレス空間において、最も分散するようなアドレスに変換される。具体的には、例えば、図１２（Ａ）に示したような３ビットのアドレス空間のビット逆順変換によれば、図１２（Ｂ）や図１２（Ｃ）に示すように、元のアドレス空間における隣接するアドレス０乃至３は、変換後のアドレス空間において、アドレス０，２，４，６にそれぞれ分散し（図１２（Ｂ））、また、元のアドレス空間における隣接するアドレス４乃至７は、変換後のアドレス空間において、アドレス１，３，５，７にそれぞれ分散する（図１２（Ｃ））。さらに、例えば、図１２（Ｄ）や図１２（Ｅ）に示すように、元のアドレス空間における隣接するアドレス０，１は、変換後のアドレス空間において、アドレス０，６にそれぞれ分散し（図１２（Ｄ））、また、元のアドレス空間における隣接するアドレス６，７は、変換後のアドレス空間において、アドレス３，７にそれぞれ分散する（図１２（Ｅ））。なお、このことは、元のアドレス空間において分散しているアドレスは、ビット逆順変換により、変換後のアドレス空間において隣接するアドレスとなることをも意味する。
【０１０９】
以上の性質から、エンコーダ１では、ビット逆順変換によって、空間的に局在する画像データが分散されるが、同様に、デコーダ４でも、ビット逆順変換によって、空間的に局在する符号化データが分散される。従って、例えば、デコーダ４で受信された符号化データの空間的に局在する部分に、エラーやノイズが生じている場合には、ビット逆順変換によって、その空間的に局在するエラーやノイズが分散されることになり、その結果、復号画像において、エラーやノイズを目立たなくすることができる。
【０１１０】
なお、図５のエンコーダ１においては、先に、列の入れ替えを行い、その後に、行の入れ替えを行うようにしたが、先に行の入れ替えを行い、その後に、列の入れ替えを行うようにしても良い。また、図１１のデコーダ４においても、同様である。さらに、図５のエンコーダ１における列と行との入れ替えの順番と、図１１のデコーダ４における列と行の入れ替えの順番とは従属の関係にあるものではない。即ち、図５のエンコーダ１における列と行との入れ替えの順番は、図１１のデコーダ４における列と行の入れ替えの順番に無関係に決めることができ、また、図１１のデコーダ４における列と行の入れ替えの順番も、図５のエンコーダ１における列と行との入れ替えの順番に無関係に決めることができる。
【０１１１】
従って、図２乃至図４で説明したエンコーダ１では、画像メモリ１１への書き込み時に、画像データを、その水平アドレスおよび垂直アドレスに対応する位置に書き込み、画像メモリ１１からの読み出し時に、元の水平アドレスまたは垂直アドレス（水平アドレスカウンタ１２または垂直アドレスカウンタ１３がそれぞれ出力する水平アドレスまたは垂直アドレス）それぞれをビット逆順変換した水平アドレスまたは垂直アドレスに対応する位置の画像データを読み出すようにしたが、その逆に、画像メモリ１１への書き込み時に、画像データを、その水平アドレスまたは垂直アドレスそれぞれをビット逆順変換した水平アドレスまたは垂直アドレスに対応する位置に書き込み、画像メモリ１１からの読み出し時に、元の水平アドレスまたは垂直アドレスに対応する位置の画像データを読み出すようにしても良い。図８乃至図１０で説明したデコーダ４についても同様である。
【０１１２】
次に、エンコーダ１では、元の画像データを満遍なく分散させた符号化データを得ることができる結果、デコーダ４では、その符号化データのすべてがなくても、その一部だけあれば、元の画像データの概要を得ることができる。
【０１１３】
即ち、例えば、エンコーダ１において、図１３（Ａ）に示すような画像データを、その行と列それぞれについてビット逆順変換すると、図１３（Ｂ）に示すような画像データを空間的に満遍なく分散させた符号化データを得ることができる。そして、例えば、いま、デコーダ４において、その符号化データから、図１３（Ｃ）に示すように、左上の１／４の部分を切り出し、その行と列それぞれについてビット逆順変換すると、図１３（Ｄ）に示すような、解像度が元の画像（図１３（Ａ））の１／４（横および縦の解像度がいずれも１／２）になった復号画像（１／４に縮小された復号画像）（以下、適宜、縮小復号画像という）を得ることができる。
【０１１４】
そこで、図１４は、そのような縮小復号画像を復号するデコーダ４の機能的構成例を示している。なお、図中、図１１における場合と対応する部分については、同一の符号を付してある。即ち、図１４のデコーダ４は、行入れ替え部４１の前段に、切り出し部４４が設けられている他は、図１１における場合と同様に構成されている。
【０１１５】
切り出し部４４には、符号化データが入力されるようになされており、切り出し部４４は、そこに入力される符号化データの一部を切り出し、行入れ替え部４１に供給する。行入れ替え部４１、列入れ替え部４２、およびダミー画素削除部４３では、図１１における場合と基本的に同様の処理が行われ、これにより、ダミー画素削除部４３からは、縮小復号画像が出力される。
【０１１６】
但し、図１４の実施の形態では、行入れ替え部４１において、切り出し部４４から供給される符号化データの横の画素数に基づいて、列の入れ替えが行われる。即ち、符号化データの横の画素数が、例えば、５１２（＝２9）であったとすると、その符号化データが、そのまま行入れ替え部４１に供給された場合には、その水平アドレスは９ビットで表されるから、行入れ替え部４１では、水平アドレスが０（０００００００００Ｂ），１（００００００００１Ｂ），２（０００００００１０Ｂ），・・・の位置にある列は、その水平アドレスをビット逆順変換した水平アドレスである０（０００００００００Ｂ），２５６（１００００００００Ｂ），１２８（０１０００００００Ｂ），・・・の位置に入れ替えられる。
【０１１７】
一方、切り出し部４４において、符号化データの横の画素数が、例えば、元の１／２の２５６画素とされ、行入れ替え部４１に供給された場合には、その水平アドレスは８ビットで表されるから、行入れ替え部４１では、水平アドレスが０（００００００００Ｂ），１（０００００００１Ｂ），２（００００００１０Ｂ），・・・の位置にある列は、その水平アドレスをビット逆順変換した水平アドレスである０（００００００００Ｂ），１２８（１０００００００Ｂ），６４（０１００００００Ｂ），・・・の位置に入れ替えられる。
【０１１８】
ここで、画像データをビット逆順変換して符号化データとし、その符号化データの一部を切り出して、ビット逆順変換したシミュレーション結果を、図１５乃至図２０に示す。
【０１１９】
図１５は、ダミーデータが付加された元の画像データを示している。なお、図１５に示した画像の横および縦の画素数は、ダミーデータが付加されることにより、いずれも２のべき乗の数である５１２画素となっている。即ち、図１５の画像において、下側の黒い部分は、ダミーデータである。
【０１２０】
図１６は、図１５の画像について、ビット逆順変換による列の入れ替えを行った画像を示している。さらに、図１７は、図１６の列の入れ替えを行った画像について、ビット逆順変換による行の入れ替えを行った画像、即ち、符号化データを示している。図１７の符号化データにおいては、周期的に黒いライン（水平ライン）が現れているが、これは、図１５の画像の下側の黒い部分としてのダミーデータが分散されたものである。
【０１２１】
図１８は、図１７の符号化データから、その左上の１／４の部分を切り取ったものであり、図１９は、図１８の符号化データの列についてビット逆順変換による列の入れ替えを行った符号化データを示している。そして、図２０は、図１９の列の入れ替えを行った符号化データについて、ビット逆順変換による行の入れ替えを行った符号化データ、即ち、縮小復号画像を示している。
【０１２２】
図１５と図２０から、符号化データの一部から、元の画像データの概要が、精度良く再現されていることが分かる。ここで、図２０において、下側にある黒い部分は、ダミーデータである。
【０１２３】
以上のように、ビット逆順変換の結果得られる符号化データの一部からは、縮小復号画像を得ることができるので、例えば、デコーダ４において、符号化データのすべてを受信することができなくても、元の画像データの概要を復元することが可能となる。さらに、デコーダ４において得られた復号画像を、ＣＲＴ（Cathode Ray Tube）や液晶ディスプレイ等の表示装置に表示する場合に、切り出し部４４において、その表示装置の解像度にしたがって符号化データの切り出しを行うことで、表示装置の解像度に適合した縮小復号画像を得ることが可能となる。
【０１２４】
なお、図１４の切り出し部４４において切り出した符号化データの一部の横または縦の画素数が、２のべき乗の数に一致していない場合には、切り出し部４４では、例えば、図５のダミー画素付加部２１における場合と同様に、ダミーデータを付加して、その横または縦の画素数が、２のべき乗の数に一致するようにして、行入れ替え部４１に供給するようにする必要がある。
【０１２５】
但し、この場合、上述したように、単純に、符号化データの下側や左側にダミーデータを付加すると、ビット逆順変換によって、そのダミーデータが分散し、図１７に示した符号化データにおける場合と同様に、復号画像は、ダミーデータが周期的に挿入されたものとなる。しかしながら、上述したように、ダミーデータを、本来の画像データが取り得ない値とすることで、復号画像に挿入されたダミーデータは取り除くことが可能である。
【０１２６】
また、切り出し部４４において、符号化データの、例えば、最も左上の画素を、左上の頂点とする長方形状の領域を切り出す場合には、図２０に示したような元の画像を縮小した状態の縮小復号画像を得ることができるが、符号化データの任意の位置からの切り出しを行った場合には、水平同期または垂直同期がとれていないような縮小復号画像が得られることがある。しかしながら、その場合は、その縮小復号画像を、水平方向や垂直方向にシフトすることで、水平同期および垂直同期がとれた状態の縮小復号画像を得ることが可能である。また、符号化データの任意の位置からの切り出しを行った場合でも、その切り出しを行った位置が分かっていれば、水平同期および垂直同期がとれた状態の縮小復号画像を得ることが可能である。
【０１２７】
次に、図５のエンコーダ１では、ダミー画素付加部２１において、１フレームの横の画素数Ｗが２のべき乗の数に等しくないとき、画素数Ｗ以上の最小の２のべき乗の数である２Mに足りない分だけ、画像データの水平方向に、ダミーデータを付加し、また縦の画素数Ｈが２のべき乗の数に等しくないときも、画素数Ｈ以上の最小の２のべき乗の数である２Nに足りない分だけ、画像データの垂直方向に、ダミーデータを付加するようにし、これにより、２M×２N画素とした画像データの行または列それぞれについて、ビット逆順変換を施し、符号化データを得るようにしたが、このようにして得た符号化データには、ダミーデータが含まれるため、そのまま記録媒体２に記録し、あるいは伝送媒体３を介して伝送したのでは、ダミーデータの分だけ、記録効率または伝送効率が劣化することになる。
【０１２８】
ここで、画像データの横または縦の画素数以上の最小の２のべき乗の数を、以下、適宜、最小規定画素数という。
【０１２９】
一方、上述のようにダミーデータを付加して得た符号化データから、ダミーデータを削除しても、その削除後の符号化データの画素数から、その最小規定画素数を認識することができ、最小規定画素数が決まれば、元の画像におけるある位置の画像データが、ビット逆順変換後に、どの位置の符号化データとなるかも一意に決定される。従って、ダミーデータを付加した画像データをビット逆順変換して得られる符号化データのどの位置にダミーデータが分散するのかは、最小規定画素数から求めることができ、その結果、符号化データからダミーデータを削除しても、そのダミーデータの削除後の符号化データのどの位置にダミーデータがあったのかを認識することができる。そして、符号化データのどの位置にダミーデータがあったのかを認識することができれば、その位置にダミーデータを挿入し、ビット逆順変換すれば、ダミーデータが付加された状態の画像データを復元することができる。
【０１３０】
以上から、エンコーダ１には、符号化データからダミーデータを削除したものを出力させるようにすることが可能である。
【０１３１】
即ち、図２１は、そのようなエンコーダ１の機能的構成例を示している。なお、図中、図５における場合と対応する部分については、同一の符号を付してある。即ち、図２１のエンコーダ１は、行入れ替え部２３の後段にダミー画素削除部２４が新たに設けられている他は、図５における場合と同様に構成されている。
【０１３２】
ダミー画素削除部２４は、行入れ替え部２３が出力する符号化データから、ダミーデータを検出し、そのダミーデータを削除して、最終的な符号化データとして出力する。
【０１３３】
具体的には、行入れ替え部２３から、例えば、図７（Ｂ）と同一の図２２（Ａ）に示すような符号化データが出力された場合には、ダミー画素削除部２４は、その符号化データの中のダミーデータ（図２２（Ａ）において影を付して示す部分）を削除し、図２２（Ｂ）に示すようなダミーデータを含まない符号化データにして出力する。
【０１３４】
即ち、この場合、ダミー画素削除部２４では、符号化データの中の、垂直アドレスが３および７の位置に分散されているダミーデータが削除され、その削除した部分を、いわば詰めた形にした８×６画素の符号化データが出力される。従って、図２２（Ａ）の実施の形態においては、垂直アドレスが３の位置が詰められる結果、図２２（Ａ）において垂直アドレスが４，５，６の位置にある画像データ（１，＊），（５，＊），（３，＊）は、図２２（Ｂ）に示すように、垂直アドレスが３，４，５の位置にそれぞれ移動される（＊はワイルドカードを表す）。
【０１３５】
次に、図２３は、以上のようにしてダミーデータが削除された符号化データを復号するデコーダ４の機能的構成例を示している。なお、図中、図１１における場合と対応する部分については、同一の符号を付してある。即ち、図２３のデコーダ４は、行入れ替え部４１の前段に、ダミー画素付加部４５が新たに設けられている他は、図１１における場合と同様に構成されている。
【０１３６】
ダミー画素付加部４５は、ダミーデータが削除された符号化データを受信し、その画素数から最小規定画素数を認識する。さらに、ダミー画素付加部４５は、その最小規定画素数から、元の画像データにおけるアドレスと、そのビット逆順変換後におけるアドレスとの対応関係を認識し、元の画像に付加されたダミーデータが、ビット逆順変換により、符号化データのどの位置に分散するのかを認識する。そして、ダミー画素付加部４５は、その認識結果にしたがって、受信した符号化データに、ダミーデータを付加（挿入）する。
【０１３７】
即ち、ダミー画素付加部４５は、図２２（Ｃ）に示したような８×６画素の符号化データを受信した場合には、その横または縦の画素数である８画素または６画素から、横または縦の最小規定画素数が、いずれも８画素であることを認識する。ここで、図２２（Ｃ）の符号化データについては、横の画素数は８画素で、その最小規定画素数である８画素に一致するが、縦の画素数が６画素で、その最小規定画素数に２画素足りないから、符号化データには、２行分のダミーデータが挿入されていたことが分かる。
【０１３８】
さらに、最小規定画素数が８画素の場合、元の画像データにおけるアドレスと、そのビット逆順変換後におけるアドレスとの対応関係は、（１）に示したようになるから、ダミー画素付加部４５は、その対応関係に基づき、元の画像データの下部に付加された２行分のダミーデータが、符号化データのどの行に分散するかを認識する。そして、ダミー画素付加部４５では、その認識した行にダミーデータが付加される。即ち、最小規定画素数が８画素の場合においては、元の画像データにおいて最小規定画素数に２画素だけ足りない行方向について、その元の画像データの下部に、２行分のダミーデータが付加される。そして、この元の画像データの下部に付加された２行分のダミーデータは、（１）の対応関係から、垂直アドレスが３と７の位置に分散するから、ダミー画素付加部４５は、その位置にダミーデータが配置されるように、符号化データにダミーデータを挿入する。
【０１３９】
ダミー画素付加部４５においてダミーデータが付加された符号化データは、行入れ替え部４１に供給され、以下、図１１で説明したようにして処理されることにより、復号画像に復元される。
【０１４０】
なお、図２１のエンコーダ１では、元の画像データの横または縦の画素数が最小規定画素数に満たないとき、その満たない分だけダミーデータが付加され、その後、ビット逆順変換が行われて、ダミーデータが削除されるが、その他、例えば、元の画像データの横または縦の画素数を引数として、元の画像データのアドレスと、ダミーデータの削除後のアドレスとの対応関係を求める関数や、その対応関係を規定するテーブルを用意しておき、その関数やテーブルを用いて、元の画像データを、ダミーデータのない符号化データに変換するようにすることも可能である。同様に、図２３のデコーダ４においても、そのような関数やテーブルを用意しておき、ダミーデータのない符号化データを、元の画像データに変換するようにすることが可能である。この場合、実際にダミーデータを付加したり、削除したりする処理を行わずに済むようになる（但し、上述のような関数やテーブルを用いることは、仮想的にダミーデータの付加、削除を行っているのと等価である）。
【０１４１】
次に、ビット逆順変換は、その変換対象となるデータの数が２N個であるとき、２0＋２1＋２2＋・・・＋２N-1個のスイッチを、いわゆる２分木の構造に配置することによって行うことが可能である。
【０１４２】
即ち、図２４は、そのような構造に配置されたスイッチによってビット逆順変換を行うデータ変換装置の一実施の形態の構成例を示している。なお、ここでは、例えば、８（＝２3）個のデータｘ0，ｘ1，ｘ2，ｘ3，ｘ4，ｘ5，ｘ6，ｘ7を変換の対象としており、従って、データ変換装置は、２0＋２1＋２2＝７個のスイッチ５１，５２1，５２2，５３1，５３2，５３3，５３4を有している。
【０１４３】
変換対象の８個のデータｘ0乃至ｘ7は、その順番で、メモリ６１のアドレス＃０乃至＃７にそれぞれ記憶されており、スイッチ５１は、所定のクロック（以下、適宜、読み出しクロックという）に同期したタイミングで、メモリ６１のアドレス＃０乃至＃７にそれぞれ記憶されたデータｘ0乃至ｘ7を順次読み出すようになされている。
【０１４４】
そして、スイッチ５１は、読み出しクロックの２0倍の周期のクロック（従って、読み出しクロックそのもの）に同期して、スイッチ５２1に接続された端子５１ａまたはスイッチ５２2に接続された端子５１ｂを交互に選択するようになされている。また、スイッチ５２1は、読み出しクロックの２1倍の周期のクロックに同期して、スイッチ５３1に接続された端子５２1ａまたはスイッチ５３2に接続された端子５２1ｂを交互に選択するようになされている。さらに、スイッチ５２2も、読み出しクロックの２1倍の周期のクロックに同期して、スイッチ５３3に接続された端子５２2ａまたはスイッチ５３4に接続された端子５２2ｂを交互に選択するようになされている。
【０１４５】
そして、スイッチ５３1，５３2，５３3，５３4は、読み出しクロックの２2倍の周期のクロックに同期して、端子５３1ａと５３1ｂ，５３2ａと５３2ｂ，５３3ａと５３3ｂ，５３4ａと５３4ｂを、それぞれ交互に選択するようになされており、端子５３1ａ，５３1ｂ，５３2ａ，５３2ｂ，５３3ａ，５３3ｂ，５３4ａ，５３4ｂは、メモリ６２のアドレス＃０乃至＃７にそれぞれ接続されている。
【０１４６】
以上のように構成されるデータ変換装置では、スイッチ５１が、メモリ６１のアドレス＃０からデータｘ0を読み出すタイミングにおいて、スイッチ５１は端子５１ａを、スイッチ５２1は端子５２1ａを、スイッチ５２2は端子５２2ａを、スイッチ５３1は端子５３1ａを、スイッチ５３2は端子５３2ａを、スイッチ５３3は端子５３3ａを、スイッチ５３4は端子５３4ａを、それぞれ選択し、その結果、メモリ６１のアドレス＃０に記憶されていたデータｘ0は、スイッチ５１、端子５１ａ、スイッチ５２1、端子５２1ａ、スイッチ５３1、および端子５３1ａを介して、メモリ６２のアドレス＃０に供給されて記憶される。
【０１４７】
そして、スイッチ５１が、メモリ６１のアドレス＃１からデータｘ1を読み出すタイミングにおいては、スイッチ５１は端子５１ａ側から端子５１ｂ側に切り換わり、スイッチ５２1は端子５２1ａを、スイッチ５２2は端子５２2ａを、スイッチ５３1は端子５３1ａを、スイッチ５３2は端子５３2ａを、スイッチ５３3は端子５３3ａを、スイッチ５３4は端子５３4ａを、それぞれ選択した状態のままとなる。その結果、メモリ６１のアドレス＃１に記憶されていたデータｘ1は、スイッチ５１、端子５１ｂ、スイッチ５２2、端子５２2ａ、スイッチ５３3、および端子５３3ａを介して、メモリ６２のアドレス＃４に供給されて記憶される。
【０１４８】
さらに、スイッチ５１が、メモリ６１のアドレス＃２からデータｘ2を読み出すタイミングにおいては、スイッチ５１は端子５１ｂ側から端子５１ａ側に切り換わるとともに、スイッチ５２1は端子５２1ａ側から端子５２1ｂ側に、スイッチ５２2は端子５２2ａ側から端子５２2ｂ側にそれぞれ切り換わり、スイッチ５３1は端子５３1ａを、スイッチ５３2は端子５３2ａを、スイッチ５３3は端子５３3ａを、スイッチ５３4は端子５３4ａを、それぞれ選択したままの状態となる。その結果、メモリ６１のアドレス＃２に記憶されていたデータｘ2は、スイッチ５１、端子５１ａ、スイッチ５２1、端子５２1ｂ、スイッチ５３2、および端子５３2ａを介して、メモリ６２のアドレス＃２に供給されて記憶される。
【０１４９】
また、スイッチ５１が、メモリ６１のアドレス＃３からデータｘ3を読み出すタイミングにおいては、スイッチ５１は端子５１ａ側から端子５１ｂ側に切り換わり、スイッチ５２1は端子５２1ｂを、スイッチ５２2は端子５２2ｂを、スイッチ５３1は端子５３1ａを、スイッチ５３2は端子５３2ａを、スイッチ５３3は端子５３3ａを、スイッチ５３4は端子５３4ａを、それぞれ選択したままの状態となる。その結果、メモリ６１のアドレス＃３に記憶されていたデータｘ3は、スイッチ５１、端子５１ｂ、スイッチ５２2、端子５２2ｂ、スイッチ５３4、および端子５３4ａを介して、メモリ６２のアドレス＃６に供給されて記憶される。
【０１５０】
さらに、スイッチ５１が、メモリ６１のアドレス＃４からデータｘ4を読み出すタイミングにおいては、スイッチ５１は端子５１ｂ側から端子５１ａ側に、スイッチ５２1は端子５２1ｂ側から端子５２1ａ側に、スイッチ５２2は端子５２2ｂ側から端子５２2ａ側に、スイッチ５３1は端子５３1ａ側から端子５３1ｂ側に、スイッチ５３2は端子５３2ａ側から端子５３2ｂ側に、スイッチ５３3は端子５３3ａ側から端子５３3ｂ側に、スイッチ５３4は端子５３4ａ側から端子５３4ｂ側に、それぞれ切り換わる。その結果、メモリ６１のアドレス＃４に記憶されていたデータｘ4は、スイッチ５１、端子５１ａ、スイッチ５２1、端子５２1ａ、スイッチ５３1、および端子５３1ｂを介して、メモリ６２のアドレス＃１に供給されて記憶される。
【０１５１】
また、スイッチ５１が、メモリ６１のアドレス＃５からデータｘ5を読み出すタイミングにおいては、スイッチ５１は端子５１ａ側から端子５１ｂ側に切り換わり、スイッチ５２1は端子５２1ａを、スイッチ５２2は端子５２2ａを、スイッチ５３1は端子５３1ｂを、スイッチ５３2は端子５３2ｂを、スイッチ５３3は端子５３3ｂを、スイッチ５３4は端子５３4ｂを、それぞれ選択したままの状態となる。その結果、メモリ６１のアドレス＃５に記憶されていたデータｘ5は、スイッチ５１、端子５１ｂ、スイッチ５２2、端子５２2ａ、スイッチ５３3、および端子５３3ｂを介して、メモリ６２のアドレス＃５に供給されて記憶される。
【０１５２】
さらに、スイッチ５１が、メモリ６１のアドレス＃６からデータｘ6を読み出すタイミングにおいては、スイッチ５１は端子５１ｂ側から端子５１ａ側に切り換わるとともに、スイッチ５２1は端子５２1ａ側から端子５２1ｂ側に、スイッチ５２2は端子５２2ａ側から端子５２2ｂ側にそれぞれ切り換わり、スイッチ５３1は端子５３1ｂを、スイッチ５３2は端子５３2ｂを、スイッチ５３3は端子５３3ｂを、スイッチ５３4は端子５３4ｂを、それぞれ選択したままの状態となる。その結果、メモリ６１のアドレス＃６に記憶されていたデータｘ6は、スイッチ５１、端子５１ａ、スイッチ５２1、端子５２1ｂ、スイッチ５３2、および端子５３2ｂを介して、メモリ６２のアドレス＃３に供給されて記憶される。
【０１５３】
また、スイッチ５１が、メモリ６１のアドレス＃７からデータｘ7を読み出すタイミングにおいては、スイッチ５１は端子５１ａ側から端子５１ｂ側に切り換わり、スイッチ５２1は端子５２1ｂを、スイッチ５２2は端子５２2ｂを、スイッチ５３1は端子５３1ｂを、スイッチ５３2は端子５３2ｂを、スイッチ５３3は端子５３3ｂを、スイッチ５３4は端子５３4ｂを、それぞれ選択したままの状態となる。その結果、メモリ６１のアドレス＃７に記憶されていたデータｘ7は、スイッチ５１、端子５１ｂ、スイッチ５２2、端子５２2ｂ、スイッチ５３4、および端子５３4ｂを介して、メモリ６２のアドレス＃７に供給されて記憶される。
【０１５４】
従って、メモリ６２のアドレス＃０乃至＃７には、データｘ0，ｘ4，ｘ2，ｘ6，ｘ1，ｘ5，ｘ3，ｘ7がそれぞれ記憶されることとなり、メモリ６１に記憶されたデータの並びｘ0乃至ｘ7は、（１）の対応関係に示したように変換される。
【０１５５】
ここで、図２４において、端子５３1ａ，５３1ｂ，５３2ａ，５３2ｂ，５３3ａ，５３3ｂ，５３4ａ，５３4ｂを、メモリ６１のアドレス＃０乃至＃７にそれぞれ接続して、そこに記憶されたデータを、スイッチ５１側から読み出すようにし、その読み出したデータを、メモリ６２のアドレス＃０乃至＃７に順次記憶させるようにしても、上述の場合と同様のデータの並びの変換を行うことができる。
【０１５６】
また、メモリ６２に記憶されたデータの並びｘ0，ｘ4，ｘ2，ｘ6，ｘ1，ｘ5，ｘ3，ｘ7を、メモリ６１のアドレス＃０乃至＃７にそれぞれ記憶させ、上述の場合と同様の処理を行うことにより、元のデータの並びｘ0，ｘ1，ｘ2，ｘ3，ｘ4，ｘ5，ｘ6，ｘ7に変換することができる。
【０１５７】
なお、図２４のデータ変換装置は、図２に示したエンコーダ１と等価である（従って、図８に示したデコーダ４とも等価である）。即ち、７個のスイッチ５１，５２1，５２2、および５３1乃至５３4は、メモリ６１の各アドレスに記憶されたデータを、メモリ６２のどのアドレスに書き込むかを決めており、従って、メモリ６１または６２が、図２の画像メモリ１１に相当し、スイッチ５１，５２1，５２2、および５３1乃至５３4が、ライトアドレス発生回路１４またはリードアドレス発生回路１５に相当する。
【０１５８】
以上のように、アドレスを２進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表されるアドレスに対応する位置に、データを入れ替えるようにしたので、その入れ替え単位のデータの系列が、２のべき乗の数に一致する数のデータから構成される場合には、データのエンコード処理とデコード処理とが一致し、また、入れ替え単位のデータの系列が、２のべき乗の数に一致しない数のデータから構成されていても、データのエンコード処理とデコード処理とは、そのデータの数から一意的に決まるので、乱数等を用いてデータを分散させる場合に比較して簡単な処理で、データを分散させ、また、元に戻す（集中させる）ことが可能となる。
【０１５９】
なお、本実施の形態では、画像データの画素数が、２のべき乗の数に等しくないとき、その画素数以上の最小の２のべき乗の数に足りない分だけ、ダミーデータを付加するようにしたが、ダミーデータは、画像データの画素数以上の最小でない２のべき乗の数に足りない分だけ付加することも可能である。但し、この場合、付加されるダミーデータのデータ量が多くなるので、処理効率の観点からは好ましくない。
【０１６０】
また、本実施の形態では、画像データについて、空間的に局在するデータを分散させる（または空間的に分散するデータを集中させる）ようにしたが、その他、例えば、時間的に局在するデータを分散させるようにすることも可能である。
【０１６１】
さらに、本実施の形態では、画像データを処理の対象としたが、その他、例えば、音声データ等を処理の対象とすることも可能である。
【０１６２】
また、本実施の形態では、特に言及しなかったが、例えば、図１７のシミュレーション結果から明らかなように、ビット逆順変換は、データの暗号化の効果も有する。
【０１６３】
さらに、本実施の形態では、画像データを構成する画素の位置を、水平アドレスおよび垂直アドレスの２つのアドレスにより、行方向と列方向とで別々に特定するようにしたが、画素の位置は、その他、例えば、ラインスキャン順に１つのシーケンシャルなアドレスによって特定するようにすることも可能である。但し、画素の位置を、水平アドレスおよび垂直アドレスの２つのアドレスによって特定する場合においては、その水平アドレスまたは垂直アドレスには、それぞれ横方向または縦方向の位置が反映されるのに対し、画素の位置を、ラインスキャン順に１つのシーケンシャルなアドレスによって特定する場合においては、そのアドレスには、横方向の位置は反映されるが、縦方向の位置は反映されない。即ち、例えば、画像の中央部分に注目した場合に、ラインスキャン順に付されたシーケンシャルなアドレスには、横方向にある画素どうしの近さや遠さは反映されるが、縦方向にある画素どうしの近さや遠さは反映されない（横方向については、２つの画素のアドレスの値どうしが近ければ、空間的にも近い位置にあるが、縦方向については、２つの画素のアドレスの値どうしが離れていても、空間的に隣接している場合がある）。その結果、画素の位置を、ラインスキャン順に１つのシーケンシャルなアドレスによって特定するようにした場合には、符号化データの一部を切り出してビット逆順変換しても、元の画像の内容を反映した縮小復号画像を得るのが困難になることがある。
【０１６４】
また、本発明は、例えば、コンピュータに、上述した処理を行わせるためのコンピュータプログラムを実行させることによっても、また、専用のハードウェアによっても、実現可能である。なお、コンピュータプログラムによる場合には、そのコンピュータプログラムは、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、相変化ディスク、その他の記録媒体に記録して提供することも可能であるし、例えば、インターネット、ＣＡＴＶ（Cable Television）網、衛星回線、地上波、その他の伝送媒体を介して伝送することにより提供することも可能である。
【０１６５】
【発明の効果】
請求項１に記載のデータ変換装置および請求項７に記載のデータ変換方法、並びに請求項１１に記載の記録媒体によれば、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータが入れ替えられ、第２のデータに変換される。従って、空間的または時間的に局所的な範囲にある第１のデータを分散させて第２のデータとし、逆に、第２のデータを変換して元の第１のデータとすることを、容易に行うことができる。
【０１６７】
請求項８に記載のデータ変換システムによれば、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータを入れ替え、第２のデータに変換される。そして、２進数表現された、第２のデータの位置を表す第２の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第１の位置情報に対応する位置に、第２のデータを入れ替え、第１のデータに変換される。従って、空間的または時間的に局所的な範囲にある第１のデータを分散させて第２のデータとし、さらに、第２のデータを変換して元の第１のデータとすることを、容易に行うことができる。
【０１６８】
請求項９に記載のデータ変換装置および請求項１０に記載のデータ変換方法によれば、シーケンシャルな第１のアドレスを発生するとともに、２進数表現された第１のアドレスを、逆順に並べ替えることにより得られる第２のアドレスを発生し、第１または第２のアドレスのうちの一方を書き込みアドレスとして、データが記憶され、第１または第２のアドレスのうちの他方を読み出しアドレスとして、記憶したデータが読み出される。従って、空間的または時間的に局所的な範囲にあるデータを分散させ、逆に、そのように分散させたデータを元に戻すことを、容易に行うことができる。
請求項１２に記載の記録媒体によれば、２進数表現された、第１のデータの位置を表す第１の位置情報の数列を逆順に並べ替えることにより得られる数列で表される第２の位置情報に対応する位置に、第１のデータが入れ替えられることにより変換された第２のデータが記録されている。従って、その第２のデータを変換して元の第１のデータとすることを、容易に行うことができる。
【図面の簡単な説明】
【図１】本発明を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
【図２】図１のエンコーダ１の第１の構成例を示すブロック図である。
【図３】図２のエンコーダ１による書き込み処理を説明するためのフローチャートである。
【図４】図２のエンコーダ１による読み出し処理を説明するためのフローチャートである。
【図５】図１のエンコーダ１の第２の構成例を示すブロック図である。
【図６】図５のダミー画素付加部２１の処理を説明するための図である。
【図７】図５の列入れ替え部２２および行入れ替え部２３の処理を説明するための図である。
【図８】図１のデコーダ４の第１の構成例を示すブロック図である。
【図９】図８のデコーダ４による書き込み処理を説明するためのフローチャートである。
【図１０】図８のデコーダ４による読み出し処理を説明するためのフローチャートである。
【図１１】図１のデコーダ４の第２の構成例を示すブロック図である。
【図１２】ビット逆順変換の性質を説明するための図である。
【図１３】ビット逆順変換による効果を説明するための画像を示すディスプレイ上に表示された中間階調の写真である。
【図１４】図１のデコーダ４の第３の構成例を示すブロック図である。
【図１５】シミュレーションに用いた元の画像を示すディスプレイ上に表示された中間階調の写真である。
【図１６】図１５の画像に対して、ビット逆順変換を施すことにより列の入れ替えを行った結果を示すディスプレイ上に表示された中間階調の写真である。
【図１７】図１６の画像に対して、ビット逆順変換を施すことにより行の入れ替えを行った結果を示すディスプレイ上に表示された中間階調の写真である。
【図１８】図１７の画像の一部を切り出したものを示すディスプレイ上に表示された中間階調の写真である。
【図１９】図１８の画像に対して、ビット逆順変換を施すことにより列の入れ替えを行った結果を示すディスプレイ上に表示された中間階調の写真である。
【図２０】図１９の画像に対して、ビット逆順変換を施すことにより行の入れ替えを行った結果を示すディスプレイ上に表示された中間階調の写真である。
【図２１】図１のエンコーダ１の第３の構成例を示すブロック図である。
【図２２】図２１のダミー画素削除部２４の処理を説明するための図である。
【図２３】図１のデコーダ４の第４の構成例を示すブロック図である。
【図２４】本発明のデータ変換装置の一実施の形態の構成例を示すブロック図である。
【符号の説明】
１  エンコーダ，  ２  記録媒体，  ３  伝送媒体，  ４  デコーダ，  １１画像メモリ，  １２  水平アドレスカウンタ，  １３  垂直アドレスカウンタ，  １４  ライトアドレス発生回路，  １５  リードアドレス発生回路，  １６画素数検出回路，  １７  カウンタ設定回路，  ２１  ダミー画素付加部，  ２２  列入れ替え部，  ２３  行入れ替え部，  ２４  ダミー画素削除部，  ３１  画像メモリ，  ３２  水平アドレスカウンタ，  ３３  垂直アドレスカウンタ，  ３４  ライトアドレス発生回路，  ３５  リードアドレス発生回路，  ３６  画素数検出回路，  ３７  カウンタ設定回路，  ４１  行入れ替え部，  ４２  列入れ替え部，  ４３  ダミー画素削除部，  ４４  切り出し部，  ４５  ダミー画素付加部，  ５１，５２1，５２2，５３1，５３2，５３3，５３4  スイッチ，  ５１ａ，５１ｂ，５２1ａ，５２1ｂ，５２2ａ，５２2ｂ，５３1ａ，５３1ｂ，５３2ａ，５３2ｂ，５３3ａ，５３3ｂ，５３4ａ，５３4ｂ  端子，  ６１，６２  メモリ
【図１】
0004131349.tif 000002
【図２】
0004131349.tif 000003
【図３】
0004131349.tif 000004
【図４】
0004131349.tif 000005
【図５】
0004131349.tif 000006
【図６】
0004131349.tif 000007
【図７】
0004131349.tif 000008
【図８】
0004131349.tif 000009
【図９】
0004131349.tif 000010
【図１０】
0004131349.tif 000011
【図１１】
0004131349.tif 000012
【図１２】
0004131349.tif 000013
【図１３】
0004131349.tif 000014
【図１４】
0004131349.tif 000015
【図１５】
0004131349.tif 000016
【図１６】
0004131349.tif 000017
【図１７】
0004131349.tif 000018
【図１８】
0004131349.tif 000019
【図１９】
0004131349.tif 000020
【図２０】
0004131349.tif 000021
【図２１】
0004131349.tif 000022
【図２２】
0004131349.tif 000023
【図２３】
0004131349.tif 000024
【図２４】
0004131349.tif 000025