JP4131349B2 - データ変換装置およびデータ変換方法、記録媒体、並びにデータ変換システム - Google Patents
データ変換装置およびデータ変換方法、記録媒体、並びにデータ変換システム Download PDFInfo
- Publication number
- JP4131349B2 JP4131349B2 JP36851198A JP36851198A JP4131349B2 JP 4131349 B2 JP4131349 B2 JP 4131349B2 JP 36851198 A JP36851198 A JP 36851198A JP 36851198 A JP36851198 A JP 36851198A JP 4131349 B2 JP4131349 B2 JP 4131349B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- position information
- horizontal
- rearranging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
Description
【発明の属する技術分野】
本発明は、データ変換装置およびデータ変換方法、提供媒体、並びにデータ変換システムに関し、特に、例えば、局所的な範囲にあるデータを分散し、また、分散したデータを、局所的な範囲に集中させることを容易に行うことができるようにするデータ変換装置およびデータ変換方法、提供媒体、並びにデータ変換システムに関する。
【0002】
【従来の技術】
例えば、あるデータの系列を伝送等する場合においては、その系列のある箇所にノイズやエラーが集中することを防止するために、元のデータの系列を、その系列において局所的な範囲にあるデータを分散させた状態の系列に変換した後に、その伝送等が行われる。
【0003】
【発明が解決しようとする課題】
ところで、時間的または空間的に局所的な範囲に存在する(以下、適宜、局在するという)データを分散させる方法としては、例えば、乱数を用いた方法があり、この方法によれば、あるデータの系列の順番が、乱数にしたがって入れ替えられ、これにより、元のデータにおいて局在するデータが分散されたデータの系列に変換される。
【0004】
しかしながら、乱数を用いて変換した変換後のデータの系列を、元のデータの系列に逆変換するには、即ち、分散させたデータを、元の局所的な範囲に集中させるには、変換時に用いた乱数の系列やシード(乱数を、所定の漸化式に基づいて発生させる場合に、その漸化式に与える初期値)が必要となる。
【0005】
本発明は、このような状況に鑑みてなされたものであり、データを分散または集中させる変換を、容易に行うことができるようにするものである。
【0006】
【課題を解決するための手段】
請求項1に記載のデータ変換装置は、第1のデータを入力する入力手段と、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換する変換手段とを備えることを特徴とする。
【0007】
請求項7に記載のデータ変換方法は、第1のデータを入力し、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換するステップを含むことを特徴とする。
【0010】
請求項8に記載のデータ変換システムは、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換する第1の変換手段と、2進数表現された、第2のデータの位置を表す第2の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第1の位置情報に対応する位置に、第2のデータを入れ替え、第1のデータに変換する第2の変換手段とを備えることを特徴とする。
【0011】
請求項9に記載のデータ変換装置は、書き込みアドレスに応じてデータを記憶するとともに、読み出しアドレスに応じて記憶されたデータを読み出す記憶手段と、シーケンシャルな第1のアドレスを発生するとともに、2進数表現された第1のアドレスを、逆順に並べ替えることにより得られる第2のアドレスを発生し、第1または第2のアドレスのうちの一方を書き込みアドレスとして、他方を読み出しアドレスとして、それぞれ、記憶手段に供給するアドレス発生手段とを備えることを特徴とする。
【0012】
請求項10に記載のデータ変換方法は、シーケンシャルな第1のアドレスを発生するとともに、2進数表現された第1のアドレスを、逆順に並べ替えることにより得られる第2のアドレスを発生し、第1または第2のアドレスのうちの一方を書き込みアドレスとして、データを記憶し、第1または第2のアドレスのうちの他方を読み出しアドレスとして、記憶されたデータを読み出すステップを含むことを特徴とする。
請求項11に記載の記録媒体に記録されているプログラムは、第1のデータを入力し、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換するステップを含むことを特徴とする。
請求項12に記載の記録媒体は、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータが入れ替えられることにより変換された第2のデータが記録されていることを特徴とする。
【0013】
請求項1に記載のデータ変換装置においては、変換手段が、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換するようになされている。
【0014】
請求項7に記載のデータ変換方法においては、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換するようになされている。
【0017】
請求項8に記載のデータ変換システムにおいては、第1の変換手段は、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換するようになされている。第2の変換手段は、2進数表現された、第2のデータの位置を表す第2の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第1の位置情報に対応する位置に、第2のデータを入れ替え、第1のデータに変換するようになされている。
【0018】
請求項9に記載のデータ変換装置においては、アドレス発生手段が、シーケンシャルな第1のアドレスを発生するとともに、2進数表現された第1のアドレスを、逆順に並べ替えることにより得られる第2のアドレスを発生し、第1または第2のアドレスのうちの一方を書き込みアドレスとして、他方を読み出しアドレスとして、それぞれ、記憶手段に供給するようになされている。
【0019】
請求項10に記載のデータ変換方法においては、シーケンシャルな第1のアドレスを発生するとともに、2進数表現された第1のアドレスを、逆順に並べ替えることにより得られる第2のアドレスを発生し、第1または第2のアドレスのうちの一方を書き込みアドレスとして、データを記憶し、第1または第2のアドレスのうちの他方を読み出しアドレスとして、記憶されたデータを読み出すようになされている。
請求項11に記載の記録媒体に記録されているプログラムにおいては、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換するようになされている。
請求項12に記載の記録媒体においては、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータが入れ替えられることにより変換された第2のデータが記録されているようになされている。
【0020】
【発明の実施の形態】
以下に、本発明の実施の形態を説明するが、その前に、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し、一例)を付加して、本発明の特徴を記述すると、次のようになる。
【0021】
即ち、請求項1に記載のデータ変換装置は、データに変換するデータ変換装置であって、第1のデータを入力する入力手段(例えば、図2の画素数検出回路16など)と、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換する変換手段(例えば、図5に示す列入れ替え部22および行入れ替え部23や、図11に示す行入れ替え部41および列入れ替え部42など)とを備えることを特徴とする。
【0022】
請求項3に記載のデータ変換装置は、第1のデータの個数が、2のべき乗個となるように、その第1のデータに、ダミーデータを付加する付加手段(例えば、図5に示すダミー画素付加部21や、図23に示すダミー画素付加部45など)をさらに備えることを特徴とする。
【0023】
請求項4に記載のデータ変換装置は、ダミーデータが付加された第1のデータの位置が入れ替えられることにより得られる第2のデータから、ダミーデータを削除する削除手段(例えば、図11に示すダミー画素削除部43や、図21に示すダミー画素削除部24など)をさらに備えることを特徴とする。
【0024】
請求項5に記載のデータ変換装置は、第1のデータの一部を切り出す切り出し手段(例えば、図14に示す切り出し部44など)をさらに備え、変換手段は、切り出し手段によって切り出された第1のデータの位置の入れ替えを行うことを特徴とする。
【0025】
請求項8に記載のデータ変換システムは、データの変換を行うデータ変換システムであって、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換する第1の変換手段(例えば、図5に示す列入れ替え部22および行入れ替え部23など)と、2進数表現された、第2のデータの位置を表す第2の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第1の位置情報に対応する位置に、第2のデータを入れ替え、第1のデータに変換する第2の変換手段(例えば、図11に示す行入れ替え部41および列入れ替え部42など)とを備えることを特徴とする。
【0026】
請求項9に記載のデータ変換装置は、データの変換を行うデータ変換装置であって、書き込みアドレスに応じてデータを記憶するとともに、読み出しアドレスに応じて記憶されたデータを読み出す記憶手段(例えば、図2に示す画像メモリ11や、図8に示す画像メモリ31など)と、シーケンシャルな第1のアドレスを発生するとともに、2進数表現された第1のアドレスを、逆順に並べ替えることにより得られる第2のアドレスを発生し、第1または第2のアドレスのうちの一方を書き込みアドレスとして、他方を読み出しアドレスとして、それぞれ、記憶手段に供給するアドレス発生手段(例えば、図2に示す水平アドレスカウンタ12、垂直アドレスカウンタ13、ライトアドレス発生回路14、およびリードアドレス発生回路15や、図8に示す水平アドレスカウンタ32、垂直アドレスカウンタ33、ライトアドレス発生回路34、およびリードアドレス発生回路35など)とを備えることを特徴とする。
【0027】
なお、勿論この記載は、各手段を上記したものに限定することを意味するものではない。
【0028】
図1は、本発明を適用した画像処理システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない)の一実施の形態の構成例を示している。
【0029】
エンコーダ1には、処理すべき画像データの系列(x0,x1,・・・,xT)が供給されるようになされており、エンコーダ1では、その画像データ(第1のデータ)の系列(x0,x1,・・・,xT)が受信され、エンコードされることにより、符号化データ(第2のデータ)の系列(xF(0),xF(1),・・・,xF(T))に変換される。
【0030】
ここで、xt(t=0,1,・・・,T)は、先頭からt+1番目の画像データを表している。従って、xtのインデックスtは、そのxtの位置(時間的または空間的位置)を表す。また、F(t)は、tを変換する関数で、ここでは、tを2進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表される値を示す。
【0031】
従って、エンコーダ1では、画像データの系列のうちのt+1番目に位置する画像データxtが、tを2進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表されるF(t)+1番目の位置に入れ替えられ、符号化データとして出力される。
【0032】
エンコーダ1が出力する符号化データは、例えば、光ディスクや、光磁気ディスク、相変化ディスク、磁気テープ、その他でなる記録媒体2に記録され、あるいは、また、例えば、インターネットや、CATV(Cable Television)網、地上波、衛星回線などでなる伝送媒体3を介して伝送される。
【0033】
一方、デコーダ4には、記録媒体2に記録された符号化データの系列(xF(0),xF(1),・・・,xF(T))が再生されて供給(提供)され、あるいは、伝送媒体3を介して伝送されてくる符号化データの系列(xF(0),xF(1),・・・,xF(T))が提供されるようになされており、デコーダ4では、その符号化データ(第1のデータ)の系列(xF(0),xF(1),・・・,xF(T))が受信され、デコードされることにより、元の画像データ(第2のデータ)の系列(x0,x1,・・・,xT)に変換される。
【0034】
即ち、デコーダ4では、符号化データの系列のうちのF(t)+1番目に位置する符号化データ(としての画像データ)xF(t)が、F(t)を2進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表されるt+1番目の位置に入れ替えられ、復号画像として出力される。
【0035】
以上のように、エンコーダ1およびデコーダ4のいずれにおいても、そこに入力されるデータは、そのデータの位置を表す情報(上述の場合には、tやF(t))を2進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表される位置に入れ替えられることで変換(逆変換)される。
【0036】
次に、図2は、図1のエンコーダ1のハードウェア構成例を示している。このエンコーダ1においては、画像データが、所定の順番で、画像メモリ11に書き込まれ、その書き込まれた画像データが、書き込み時とは異なる順番で読み出されることにより、符号化データとされるようになされている。
【0037】
即ち、エンコーダ1に対しては、処理すべき画像データが、例えば、1フレーム単位で、ラインスキャン順に入力されるようになされており、その画像データは、画素数検出回路16を介して、画像メモリ11の入力端子INに供給されるようになされている。
【0038】
画像メモリ11は、幾つかのバンクを有し、各バンクに、その入力端子INに入力される画像データを、そのアドレス端子ADに供給されるライトアドレスにしたがって記憶するようになされている。また、画像メモリ11は、各バンクに記憶された画像データを、そのアドレス端子ADに供給されるリードアドレスにしたがって読み出し、その出力端子OUTから、符号化データとして出力するようになされている。なお、画像メモリ11は、例えば、デュアルポートメモリで構成され、これにより、データの読み書きを同時に行うことができるようになされている。
【0039】
水平アドレスカウンタ12は、画像メモリ11に供給される画像データに同期して(画素が供給されるタイミングで)、例えば、0から、カウンタ設定回路17より供給される値までをシーケンシャルにカウントし、そのカウント値を、画像データの水平方向の位置を表す水平アドレスとして、ライトアドレス発生回路14およびリードアドレス発生回路15に供給するようになされている。垂直アドレスカウンタ13は、画像メモリ11に供給される画像データの水平同期信号に同期して(1水平ラインの画素が供給されるタイミングで)、例えば、0から、カウンタ設定回路17より供給される値までをシーケンシャルにカウントし、そのカウント値を、画像データの垂直方向の位置を表す垂直アドレスとして、ライトアドレス発生回路14およびリードアドレス発生回路15に供給するようになされている。
【0040】
ライトアドレス発生回路14は、水平アドレスカウンタ12からの水平アドレスと、垂直アドレスカウンタ13からの垂直アドレスとを、そのまま用いて、画像データを書き込むべきアドレスとしてライトアドレスを生成し、画像メモリ11のアドレス端子ADに供給するようになされている。リードアドレス発生回路15は、水平アドレスカウンタ12からの水平アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列と、垂直アドレスカウンタ13からの垂直アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列とを用いて、読み出すべき画像データのアドレスとしてリードアドレスを生成し、画像メモリ11のアドレス端子ADに供給するようになされている。
【0041】
画素数検出回路16は、そこに入力される画像データの、例えば、1フレーム(画面)を構成する横(水平方向)の画素数と、縦(垂直方向)の画素数とを検出し、カウンタ設定回路17に供給するとともに、そこに入力される画像データを、画像メモリ11の入力端子INに供給するようになされている。
【0042】
カウンタ設定回路17は、画素数検出回路16からの1フレームの横の画素数または縦の画素数にしたがって、水平アドレスカウンタ12または垂直アドレスカウンタ13にカウントさせるカウント値の最大値を設定し、水平アドレスカウンタ12または垂直アドレスカウンタ13にそれぞれ供給するようになさている。
【0043】
次に、その動作について、図3および図4のフローチャートを参照して説明する。
【0044】
まず、図3のフローチャートを参照して、画像データを画像メモリ11に書き込む書き込み処理について説明する。
【0045】
書き込み処理においては、エンコーダ1に入力された画像データが、画素数検出回路16に供給され、画素数検出回路16では、そこに供給される画像データから、1フレームの横または縦それぞれの画素数が検出される。いま、この横または縦の画素数を、それぞれWまたはHで表すと、この横の画素数Wおよび縦の画素数Hは、画素数検出回路16からカウンタ設定回路17に供給される。
【0046】
カウンタ設定回路17では、ステップS2において、画素数検出回路16からの横の画素数Wまたは縦の画素数Hに基づいて、水平アドレスカウンタ12または垂直アドレスカウンタ13にカウントさせるカウント値の最大値が設定される。
【0047】
即ち、カウンタ設定回路17は、横の画素数W以上の最小の2のべき乗の数2Mを求め、それから1を減算した値である2M−1を、水平アドレスカウンタ12にカウントさせるカウント値の最大値(以下、適宜、最大水平アドレスという)として設定し、水平アドレスカウンタ12に供給する。同様に、カウンタ設定回路17は、縦の画素数H以上の最小の2のべき乗の数2Nを求め、それから1を減算した値である2N−1を、垂直アドレスカウンタ13にカウントさせるカウント値の最大値(以下、適宜、最大垂直アドレスという)として設定し、垂直アドレスカウンタ13に供給する。
【0048】
垂直アドレスカウンタ13は、カウンタ設定回路17から最大垂直アドレス2N−1を受信すると、ステップS3において、そのカウント値を表す変数jを0に初期化し、垂直アドレスとして、ライトアドレス発生回路14に出力する。また、水平アドレスカウンタ12も、カウンタ設定回路17から最大水平アドレス2M−1を受信すると、ステップS4において、そのカウント値を表す変数iを0に初期化し、ライトアドレス発生回路14に出力する。
【0049】
そして、ステップS5に進み、ライトアドレス発生回路14は、垂直アドレスカウンタ13からの垂直アドレスjに、水平アドレスカウンタ12からの水平アドレスiを付加する(垂直アドレスjに続けて水平アドレスiを配置した値を生成する)ことで、ライトアドレスを生成し、ステップS6に進む。ステップS6では、ライトアドレス発生回路14において、ステップS5で生成されたライトアドレスが、画像メモリ11のアドレス端子ADに供給される。
【0050】
一方、このようにしてライトアドレスが、画像メモリ11のアドレス端子ADに供給されるタイミングで、その入力端子INには、フレームの左端からi+1の、上端からj+1番目の画素の画像データが、画素数検出回路16から供給されるようになされており、従って、その画像データは、その空間的位置に対応する、画像メモリ11のアドレスに記憶される。
【0051】
その後、ステップS7に進み、水平アドレスカウンタ12において、水平アドレスiが、最大水平アドレス2M−1に等しいかどうかが判定され、等しくないと判定された場合、ステップS8に進み、水平アドレスカウンタ12において、水平アドレスiが、1だけインクリメントされる。そして、ステップS5に戻り、以下、同様の処理が繰り返される。これにより、ある水平ラインを構成する画素の画像データが、その空間的位置に対応する、画像メモリ11のアドレスに順次記憶されていく。
【0052】
一方、ステップS7において、水平アドレスiが、最大水平アドレス2M−1に等しいと判定された場合、ステップS9に進み、垂直アドレスカウンタ13において、垂直アドレスjが、最大垂直アドレス2N−1に等しいかどうかが判定される。ステップS9において、垂直アドレスjが、最大垂直アドレス2N−1に等しくないと判定された場合、ステップS10に進み、垂直アドレスカウンタ13において、垂直アドレスjが、1だけインクリメントされる。そして、ステップS4に戻り、以下、同様の処理が繰り返される。
【0053】
また、ステップS9において、垂直アドレスjが、最大垂直アドレス2N−1に等しいと判定された場合、ステップS11に進み、処理すべきフレームすべてを画像メモリ11に書き込んだかどうかが判定される。ステップS11において、処理すべきフレームすべてを、まだ書き込んでいないと判定された場合、ステップS3に戻り、次のフレームを対象に、以下、同様の処理が繰り返される。
【0054】
一方、ステップS11において、処理すべきフレームすべてを書き込んだと判定された場合、書き込み処理を終了する。
【0055】
なお、書き込み処理においては、上述のように、水平アドレスiが、0から最大水平アドレス2M−1までカウントされるとともに、垂直アドレスが、0から最大垂直アドレス2N−1までカウントされる。そして、2Mまたは2Nは、それぞれフレームの横の画素数Wまたは縦の画素数H以上の最小の2のべき乗の数であるから、フレームの横の画素数Wが2のべき乗の数に一致しない場合には、画像メモリ11には、2M−W画素分だけ、水平方向に(本来の画像の右側に)、余分なデータが記憶される。同様に、フレームの縦の画素数Hが2のべき乗の数に一致しない場合には、画像メモリ11には、2N−H画素分だけ、垂直方向に(本来の画像の下側に)、余分なデータが記憶される。ここで、この余分なデータを、以下、適宜、ダミーデータという。ダミーデータは、必要なタイミングに、画素数検出回路16から、画像メモリ11の入力端子INに供給されるようになされている。
【0056】
従って、書き込み処理においては、基本的に、各フレームの画像データが、各画素の位置に対応する画像メモリ11のアドレスに記憶される。但し、フレームの横の画素数Wや縦の画素数Hが2のべき乗の数に一致しない場合には、一致するように、フレームの右側や下側に、ダミーデータが付加されて記憶される。
【0057】
次に、図4のフローチャートを参照して、画像メモリ11に書き込まれた画像データを読み出す読み出し処理について説明する。なお、読み出し処理は、例えば、画像メモリ11に、1フレームの画像が書き込まれた後に開始され、以後、バンク切り換えによって、図3で説明した書き込み処理と並列して行われるようになされている。
【0058】
即ち、読み出し処理では、まず最初に、ステップS21において、垂直アドレスカウンタ13は、そのカウント値を表す変数jを0に初期化し、垂直アドレスとして、リードアドレス発生回路15に出力する。さらに、水平アドレスカウンタ12は、ステップS22において、そのカウント値を表す変数iを0に初期化し、リードアドレス発生回路15に出力する。
【0059】
そして、ステップS23に進み、リードアドレス発生回路15は、水平アドレスカウンタ12からの水平アドレスiを2進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値i’を、新たに水平アドレスとする。さらに、リードアドレス発生回路15は、ステップS23において、垂直アドレスカウンタ13からの垂直アドレスjを2進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値j’を、新たに垂直アドレスとする。そして、ステップS24に進み、リードアドレス発生回路15は、新たな垂直アドレスj’に、新たな水平アドレスi’を付加することで、リードアドレスを生成し、ステップS25に進む。ステップS25では、リードアドレス発生回路15において、ステップS24で生成されたリードアドレスが、画像メモリ11のアドレス端子ADに供給される。
【0060】
これにより、画像メモリ11からは、元の画像(但し、ダミーデータが付加されている場合には、そのダミーデータが付加された画像)において、左端からi’+1の、上端からj’+1番目の画素の画像データが読み出され、符号化データとして出力される。即ち、元の画像において、左端からi’+1の、上端からj’+1番目の画素の画像データは、左端からi+1の、上端からj+1番目の画素の画像データに入れ替えられ、符号化データとして出力される。
【0061】
その後、ステップS26に進み、水平アドレスカウンタ12において、水平アドレスiが、最大水平アドレス2M−1に等しいかどうかが判定され、等しくないと判定された場合、ステップS27に進み、水平アドレスカウンタ12において、水平アドレスiが、1だけインクリメントされる。そして、ステップS23に戻り、以下、同様の処理が繰り返される。
【0062】
一方、ステップS26において、水平アドレスiが、最大水平アドレス2M−1に等しいと判定された場合、ステップS28に進み、垂直アドレスカウンタ13において、垂直アドレスjが、最大垂直アドレス2N−1に等しいかどうかが判定される。ステップS28において、垂直アドレスjが、最大垂直アドレス2N−1に等しくないと判定された場合、ステップS29に進み、垂直アドレスカウンタ13において、垂直アドレスjが、1だけインクリメントされる。そして、ステップS22に戻り、以下、同様の処理が繰り返される。
【0063】
ここで、最大水平アドレス2M−1および最大水平アドレス2N−1は、書き込みを開始する前に求められるので(ステップS1,S2(図3))、読み出し処理では、その書き込み時に求められたものが、そのまま用いられる。
【0064】
ステップS28において、垂直アドレスjが、最大垂直アドレス2N−1に等しいと判定された場合、ステップS30に進み、画像メモリ11に、まだ記憶されている画像データがあるかどうかが判定される。ステップS30において、画像メモリ11に、まだ記憶されている画像データがあると判定された場合、ステップS21に戻り、その記憶されている画像データ(まだ読み出されてないフレーム)を対象に、以下、同様の処理が繰り返される。
【0065】
一方、ステップS30において、画像メモリ11に記憶されている画像データ(画像メモリ11から読み出していない画像データ)がないと判定された場合、読み出し処理を終了する。
【0066】
以上のように、読み出し処理において、水平アドレスiを2進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値i’を、新たに水平アドレスとするとともに、垂直アドレスjを2進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値j’を、新たに垂直アドレスとして、新たな垂直アドレスj’に、新たな水平アドレスi’を付加することで、リードアドレスを生成するようにしたので、そのようなリードアドレスにしたがって、画像メモリ11から画像データを読み出すことにより、空間的に局在する画像データは空間的に分散され、そのような空間的に分散された画像データが、符号化データとして出力される。
【0067】
即ち、図5は、図1のエンコーダ1の機能的構成例を示している。
【0068】
処理すべき画像データ(第1のデータ)は、例えば、1フレーム単位で、ダミー画素付加部21に供給され、そこで、ダミーデータが付加される。即ち、ダミー画素付加部21は、1フレームの横の画素数Wおよび縦の画素数Hを検出し、横の画素数Wが2のべき乗の数に等しくないとき、画素数W以上の最小の2のべき乗の数である2Mに足りない分だけ、画像データの水平方向に、ダミーデータを付加する。さらに、ダミー画素付加部21は、縦の画素数Hが2のべき乗の数に等しくないとき、画素数H以上の最小の2のべき乗の数である2Nに足りない分だけ、画像データの垂直方向に、ダミーデータを付加する。これにより、横×縦がW×H画素の画像データは、横および縦の画素数が、いずれも2のべき乗の数に等しい画像データ、即ち、2M×2N画素の画像データとされ、列入れ替え部22に供給される。
【0069】
具体的には、例えば、いま、図6(A)に示すような、1フレーム(画面)の横×縦が8×6画素の画像データが、ダミー画素付加部21に供給されたとすると、横の画素数は8画素で、2のべき乗の数(この場合、23)に等しいから、ダミー画素付加部21は、水平方向にはダミーデータを付加せず、そのままとする。一方、縦の画素数は6画素で、2のべき乗の数に等しくない。そして、縦の画素数6以上の最小の2のべき乗の数は、8(=23)であるから、ダミー画素付加部21は、8画素に足りない分、即ち、2画素分だけ、垂直方向に、ダミーデータを付加する。従って、この場合、ダミー画素付加部21では、図6(B)に示すような、垂直方向に、2画素分だけダミーデータ(図6(B)において、影を付して示す)が付加され、8×8画素とされた1画面の画像データが構成される。
【0070】
ここで、図6(後述する図7および図22においても同様)における(x,y)のxまたはyは、元の画像の画素の水平アドレスまたは垂直アドレスをそれぞれ表している。また、ここでは、画素の水平アドレスまたは垂直アドレスは、その画面(フレーム)における水平方向または垂直方向の位置を表す(水平アドレス+1または垂直アドレス+1が、画素が画面の左端または上端から何番目の位置にあるかを表す)。
【0071】
なお、入力された画像データの横の画素数Wおよび縦の画素数Hが、いずれも2のべき乗の数に等しいときは、ダミー画素付加部11は、そのまま、その画像データを、列入れ替え部22に出力する。
【0072】
列入れ替え部22では、ダミー画素付加部21からの画像データの列(垂直方向に並ぶ画素群)の入れ替えが行われる。即ち、列入れ替え部22は、2M×2N画素の画像データのうちの、ある列にある画像データを、その列の位置を表す水平アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列を水平アドレスとする位置に入れ替える。
【0073】
ここで、例えば、図6(B)に示したような8×8画素の画像データが、ダミー画素付加部21から出力された場合には、その水平アドレス0乃至7それぞれを2進数表現したビット列を逆順に並べ替えたビット列は、次のようになる。
【0074】
0(000B)→0(000B)
1(001B)→4(100B)
2(010B)→2(010B)
3(011B)→6(110B)
4(100B)→1(001B)
5(101B)→5(101B)
6(110B)→3(011B)
7(111B)→7(111B)
・・・(1)
但し、Bは、その前にある数字が2進数であることを表す。
【0075】
従って、列入れ替え部22では、図6(B)に示したような8×8画素の画像データの水平アドレス0乃至7に対応する列に位置する画像データが、水平アドレス0,4,2,6,1,5,3,7に対応する列にそれぞれ入れ替えられ、これにより、図7(A)に示すようなものとされる。
【0076】
以上のように、列入れ替え部22において列の入れ替えが行われた画像データは、行入れ替え部23に供給される。
【0077】
行入れ替え部23では、列入れ替え部22からの画像データの行(水平方向に並ぶ画素群)の入れ替えが行われる。即ち、行入れ替え部23は、2M×2N画素の画像データのうちの、ある行にある画像データを、その行の位置を表す垂直アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列を垂直アドレスとする位置に入れ替える。
【0078】
ここで、例えば、図7(A)に示したような8×8画素の画像データが、列入れ替え部22から出力された場合には、その垂直アドレス0乃至7それぞれを2進数表現したビット列を逆順に並べ替えたビット列は、上述した(1)に示したようになる。
【0079】
従って、行入れ替え部23においても、列入れ替え部22における場合と同様に、図7(A)に示したような8×8画素の画像データの垂直アドレス0乃至7に対応する行に位置する画像データが、垂直アドレス0,4,2,6,1,5,3,7に対応する行にそれぞれ入れ替えられ、これにより、図7(B)に示すようなものとされる。
【0080】
以上のように、行入れ替え部23において行の入れ替えが行われた画像データは、符号化データとして出力される。
【0081】
図6(B)に示した行および列の位置の入れ替えを行う前の画像データと、図7(B)に示した行および列の位置の入れ替えを行った後の画像データとを比較することにより、各画素の画像データが、いわば満遍なく分散していることが分かる。
【0082】
次に、図8は、図1のデコーダ4のハードウェア構成例を示している。
【0083】
デコーダ4に対しては、符号化データが、例えば、1フレーム単位で、ラインスキャン順に入力されるようになされており、その符号化データは、画素数検出回路36を介して、画像メモリ31の入力端子INに供給されるようになされている。
【0084】
そして、デコーダ4を構成する画像メモリ31、水平アドレスカウンタ32、垂直アドレスカウンタ33、ライトアドレス発生回路34、リードアドレス発生回路35、画素数検出回路36、またはカウンタ設定回路37は、図2に示したエンコーダ1を構成する画像メモリ11、水平アドレスカウンタ12、垂直アドレスカウンタ13、ライトアドレス発生回路14、リードアドレス発生回路15、画素数検出回路16、またはカウンタ設定回路17とそれぞれ同様に構成されており、従って、デコーダ4では、符号化データに対して、基本的に、エンコーダ1と同様の処理が施され、元の画像データが復号される。
【0085】
即ち、デコーダ4においても、エンコーダ1と同様に、符号化データが、画像メモリ31に書き込まれ、その書き込まれた符号化データが読み出されることで、元の画像データとされるようになされている。
【0086】
具体的には、図9または図10のフローチャートに示すような書き込み処理または読み出し処理がそれぞれ行われることで、符号化データが元の画像データに復号される。
【0087】
ここで、図9に示したデコーダ4における書き込み処理を構成するステップS41乃至S51では、図3に示したエンコーダ1による書き込み処理を構成するステップS1乃至S11における場合とそれぞれ同様の処理が行われるので、その説明は省略する。また、図10に示したデコーダ4における読み出し処理を構成するステップS61乃至S70においても、図4に示したエンコーダ1による読み出し処理を構成するステップS21乃至S30における場合とそれぞれ同様の処理が行われるので、その説明は省略する。
【0088】
なお、図2のステップS2では、カウンタ設定回路17において、処理対象の画像データの横または縦の画素数が2のべき乗の数に一致しないときには、その横または縦の画素数以上の最小の2のべき乗の数2Mまたは2Nを求め、2M−1または2N−1を、最大水平アドレスまたは最大垂直アドレスとしてそれぞれ設定するようにしたが、デコーダ4に供給される符号化データについては、エンコーダ1においてダミーデータが付加されることにより、その横または縦の画素数は、いずれも2のべき乗の数に一致している。従って、図2のステップS2に対応する図9のステップS42では、カウンタ設定回路37において、符号化データの横または縦の画素数をそのまま用いて、最大水平アドレスおよび最大垂直アドレスが設定される(符号化データの横または縦の画素数は、ここでは、必ず2のべき乗の数に一致しているので、その横または縦の画素数以上の最小の2のべき乗の数を求める必要がない)。
【0089】
以上のように、デコーダ4では、書き込み処理において、各フレームの符号化データが、各画素の位置に対応する画像メモリ31のアドレスに記憶される。そして、読み出し処理において、水平アドレスiを2進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値i’を、新たに水平アドレスとするとともに、垂直アドレスjを2進数表現したビット列を逆順に並べ替え、その結果得られるビット列によって表される値j’を、新たに垂直アドレスとして、新たな垂直アドレスj’に、新たな水平アドレスi’を付加することで、リードアドレスを生成するようにしたので、空間的に分散された画像データとしての符号化データは、空間的に局在する元の画像データに復元される。
【0090】
即ち、図11は、図1のデコーダ4の機能的構成例を示している。
【0091】
符号化データ(第1のデータ)は、例えば、1フレーム単位で、行入れ替え部41に供給されて受信され、列入れ替え部41では、図5の行入れ替え部23と同様にして、符号化データの画像データの行(水平方向に並ぶ画素群)の入れ替えが行われる。即ち、行入れ替え部41は、2M×2N画素の画像データのうちの、ある行にある画像データを、その行の位置を表す垂直アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列を垂直アドレスとする位置に入れ替える。
【0092】
ここで、例えば、図7(B)に示したような8×8画素の符号化データが、行入れ替え部41に入力された場合には、その垂直アドレス0乃至7それぞれを2進数表現したビット列を逆順に並べ替えたビット列は、(1)に示したようになるから、行入れ替え部41では、図7(B)に示したような8×8画素の符号化データの垂直アドレス0乃至7に対応する列に位置する画像データが、垂直アドレス0,4,2,6,1,5,3,7に対応する列にそれぞれ入れ替えられ、これにより、図7(A)に示すようなものとされる。
【0093】
以上のように、行入れ替え部41において行の入れ替えが行われた符号化データは、列入れ替え部42に供給される。
【0094】
列入れ替え部42では、行入れ替え部41からの符号化データの列(垂直方向に並ぶ画素群)の入れ替えが行われる。即ち、列入れ替え部42は、2M×2N画素の画像データのうちの、ある列にある符号化データを、その列の位置を表す水平アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列を水平アドレスとする位置に入れ替える。
【0095】
ここで、例えば、図7(A)に示したような8×8画素の符号化データが、行入れ替え部41から出力された場合には、その水平アドレス0乃至7それぞれを2進数表現したビット列を逆順に並べ替えたビット列は、上述した(1)に示したようになる。
【0096】
従って、列入れ替え部42においても、行入れ替え部41における場合と同様に、図7(A)に示したような8×8画素の符号化データの水平アドレス0乃至7に対応する列に位置する画像データが、水平アドレス0,4,2,6,1,5,3,7に対応する列にそれぞれ入れ替えられ、これにより、図6(B)に示すようなものとされる。
【0097】
以上のように、列入れ替え部42において行の入れ替えが行われた符号化データは、ダミー画素削除部43に供給される。
【0098】
ダミー画素削除部43では、列入れ替え部42からの符号化データから、ダミーデータが削除され、これにより、元の画像データが復元されて出力される。
【0099】
即ち、図5で説明したように、ダミー画素付加部21では、1フレームの横の画素数Wが2のべき乗の数に等しくないとき、画素数W以上の最小の2のべき乗の数である2Mに足りない分だけ、画像データの水平方向に、ダミーデータが付加され、また縦の画素数Hが2のべき乗の数に等しくないときも、画素数H以上の最小の2のべき乗の数である2Nに足りない分だけ、画像データの垂直方向に、ダミーデータが付加される。ダミー画素削除部43では、このようにして付加されたダミーデータが削除され、元の画素数の画像データとされる。
【0100】
具体的には、例えば、いま、図6(B)に示したような、垂直方向に2画素分だけダミーデータが付加された8×8画素の符号化データ(画像データ)が、列入れ替え部42からダミー画素削除部43に供給された場合、ダミー画素削除部43では、その符号化データに付加されている2行分のダミーデータが検出され、これが削除されることにより、図6(A)に示した横×縦が8×6画素の元の画像データが復号される。
【0101】
なお、符号化データの横の画素数Wおよび縦の画素数Hが、いずれも2のべき乗の数に等しいときは、ダミー画素削除部43は、そのまま、その符号化データを、復号結果として出力する。
【0102】
また、ダミーデータの検出は、例えば、元の画像データが取り得ない値を、ダミーデータとして用いることで行うことが可能である。
【0103】
以上のように、エンコーダ1において、画像データ(第1のデータ)の位置を表す水平アドレスまたは垂直アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表される水平アドレスまたは垂直アドレスに対応する位置に、画像データを入れ替え、符号化データとするようにしたので、各画素の画像データを、いわば満遍なく分散させた符号化データ(第2のデータ)を得ることができる。
【0104】
また、デコーダ4においても、エンコーダ1における場合と同様に、符号化データ(第1のデータ)の位置を表す水平アドレスまたは垂直アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表される水平アドレスまたは垂直アドレスに対応する位置に、符号化データを入れ替えるようにしたので、満遍なく分散された画像データを、元の画像データ(第2のデータ)に戻す(元の局所的な範囲に集中させる)ことができる。
【0105】
即ち、例えば、水平アドレスや垂直アドレスとして、3ビットのアドレス空間を考えた場合、水平アドレスや垂直アドレスの入れ替え前のアドレス空間(以下、適宜、元のアドレス空間という)と、入れ替え後のアドレス空間(以下、適宜、変換後のアドレス空間という)とは、(1)で説明したことから、図12(A)に示すように一対一に対応し、両者の関係は、元のアドレス空間から見ても、また、変換後のアドレス空間から見ても、アドレスを2進数表現したビット列を逆順に並べ替えたものとなっている。さらに、両者の関係は、アドレス空間の大きさ(アドレスが何ビットで表されるか)が決まれば、一意に決まり、従って、アドレスを、そのビット列について逆順に並べ替えることにより得られるビット列によって表されるものに変換するというルールさえ、エンコーダ1およびデコーダ4が認識していれば、変換の仕方は、変換対象のデータのアドレス空間の大きさによって一意に決定される。その結果、例えば、乱数によるデータ変換の場合のように、乱数の系列やシード等の情報を用いずに、局在するデータを分散させ、また、そのように分散させたデータを、元の位置に集中させる変換/逆変換を行うことができる。
【0106】
なお、アドレスを、そのビット列について逆順に並べ替えることにより得られるビット列によって表されるものに変換する場合において、変換の仕方(元のアドレスと変換後のアドレスとの対応関係)を一意に決定するためには、アドレスの数が、2のべき乗の数に一致している必要があり、このため、エンコーダ1では、上述したように、横または縦の画素数が2のべき乗の数に一致しないときに、ダミーデータを付加して、2のべき乗の数に一致させるようにしている。
【0107】
また、アドレスを、そのビット列について逆順に並べ替えることにより得られるビット列によって表されるものに変換すること(以下、適宜、ビット逆順変換という)によって、画像データを満遍なく分散させること(さらに、分散しているデータを集中させること)ができるのは、ビット逆順変換の次のような性質による。
【0108】
即ち、ビット逆順変換によれば、元のアドレス空間における隣接するアドレスが、変換後のアドレス空間において、最も分散するようなアドレスに変換される。具体的には、例えば、図12(A)に示したような3ビットのアドレス空間のビット逆順変換によれば、図12(B)や図12(C)に示すように、元のアドレス空間における隣接するアドレス0乃至3は、変換後のアドレス空間において、アドレス0,2,4,6にそれぞれ分散し(図12(B))、また、元のアドレス空間における隣接するアドレス4乃至7は、変換後のアドレス空間において、アドレス1,3,5,7にそれぞれ分散する(図12(C))。さらに、例えば、図12(D)や図12(E)に示すように、元のアドレス空間における隣接するアドレス0,1は、変換後のアドレス空間において、アドレス0,6にそれぞれ分散し(図12(D))、また、元のアドレス空間における隣接するアドレス6,7は、変換後のアドレス空間において、アドレス3,7にそれぞれ分散する(図12(E))。なお、このことは、元のアドレス空間において分散しているアドレスは、ビット逆順変換により、変換後のアドレス空間において隣接するアドレスとなることをも意味する。
【0109】
以上の性質から、エンコーダ1では、ビット逆順変換によって、空間的に局在する画像データが分散されるが、同様に、デコーダ4でも、ビット逆順変換によって、空間的に局在する符号化データが分散される。従って、例えば、デコーダ4で受信された符号化データの空間的に局在する部分に、エラーやノイズが生じている場合には、ビット逆順変換によって、その空間的に局在するエラーやノイズが分散されることになり、その結果、復号画像において、エラーやノイズを目立たなくすることができる。
【0110】
なお、図5のエンコーダ1においては、先に、列の入れ替えを行い、その後に、行の入れ替えを行うようにしたが、先に行の入れ替えを行い、その後に、列の入れ替えを行うようにしても良い。また、図11のデコーダ4においても、同様である。さらに、図5のエンコーダ1における列と行との入れ替えの順番と、図11のデコーダ4における列と行の入れ替えの順番とは従属の関係にあるものではない。即ち、図5のエンコーダ1における列と行との入れ替えの順番は、図11のデコーダ4における列と行の入れ替えの順番に無関係に決めることができ、また、図11のデコーダ4における列と行の入れ替えの順番も、図5のエンコーダ1における列と行との入れ替えの順番に無関係に決めることができる。
【0111】
従って、図2乃至図4で説明したエンコーダ1では、画像メモリ11への書き込み時に、画像データを、その水平アドレスおよび垂直アドレスに対応する位置に書き込み、画像メモリ11からの読み出し時に、元の水平アドレスまたは垂直アドレス(水平アドレスカウンタ12または垂直アドレスカウンタ13がそれぞれ出力する水平アドレスまたは垂直アドレス)それぞれをビット逆順変換した水平アドレスまたは垂直アドレスに対応する位置の画像データを読み出すようにしたが、その逆に、画像メモリ11への書き込み時に、画像データを、その水平アドレスまたは垂直アドレスそれぞれをビット逆順変換した水平アドレスまたは垂直アドレスに対応する位置に書き込み、画像メモリ11からの読み出し時に、元の水平アドレスまたは垂直アドレスに対応する位置の画像データを読み出すようにしても良い。図8乃至図10で説明したデコーダ4についても同様である。
【0112】
次に、エンコーダ1では、元の画像データを満遍なく分散させた符号化データを得ることができる結果、デコーダ4では、その符号化データのすべてがなくても、その一部だけあれば、元の画像データの概要を得ることができる。
【0113】
即ち、例えば、エンコーダ1において、図13(A)に示すような画像データを、その行と列それぞれについてビット逆順変換すると、図13(B)に示すような画像データを空間的に満遍なく分散させた符号化データを得ることができる。そして、例えば、いま、デコーダ4において、その符号化データから、図13(C)に示すように、左上の1/4の部分を切り出し、その行と列それぞれについてビット逆順変換すると、図13(D)に示すような、解像度が元の画像(図13(A))の1/4(横および縦の解像度がいずれも1/2)になった復号画像(1/4に縮小された復号画像)(以下、適宜、縮小復号画像という)を得ることができる。
【0114】
そこで、図14は、そのような縮小復号画像を復号するデコーダ4の機能的構成例を示している。なお、図中、図11における場合と対応する部分については、同一の符号を付してある。即ち、図14のデコーダ4は、行入れ替え部41の前段に、切り出し部44が設けられている他は、図11における場合と同様に構成されている。
【0115】
切り出し部44には、符号化データが入力されるようになされており、切り出し部44は、そこに入力される符号化データの一部を切り出し、行入れ替え部41に供給する。行入れ替え部41、列入れ替え部42、およびダミー画素削除部43では、図11における場合と基本的に同様の処理が行われ、これにより、ダミー画素削除部43からは、縮小復号画像が出力される。
【0116】
但し、図14の実施の形態では、行入れ替え部41において、切り出し部44から供給される符号化データの横の画素数に基づいて、列の入れ替えが行われる。即ち、符号化データの横の画素数が、例えば、512(=29)であったとすると、その符号化データが、そのまま行入れ替え部41に供給された場合には、その水平アドレスは9ビットで表されるから、行入れ替え部41では、水平アドレスが0(000000000B),1(000000001B),2(000000010B),・・・の位置にある列は、その水平アドレスをビット逆順変換した水平アドレスである0(000000000B),256(100000000B),128(010000000B),・・・の位置に入れ替えられる。
【0117】
一方、切り出し部44において、符号化データの横の画素数が、例えば、元の1/2の256画素とされ、行入れ替え部41に供給された場合には、その水平アドレスは8ビットで表されるから、行入れ替え部41では、水平アドレスが0(00000000B),1(00000001B),2(00000010B),・・・の位置にある列は、その水平アドレスをビット逆順変換した水平アドレスである0(00000000B),128(10000000B),64(01000000B),・・・の位置に入れ替えられる。
【0118】
ここで、画像データをビット逆順変換して符号化データとし、その符号化データの一部を切り出して、ビット逆順変換したシミュレーション結果を、図15乃至図20に示す。
【0119】
図15は、ダミーデータが付加された元の画像データを示している。なお、図15に示した画像の横および縦の画素数は、ダミーデータが付加されることにより、いずれも2のべき乗の数である512画素となっている。即ち、図15の画像において、下側の黒い部分は、ダミーデータである。
【0120】
図16は、図15の画像について、ビット逆順変換による列の入れ替えを行った画像を示している。さらに、図17は、図16の列の入れ替えを行った画像について、ビット逆順変換による行の入れ替えを行った画像、即ち、符号化データを示している。図17の符号化データにおいては、周期的に黒いライン(水平ライン)が現れているが、これは、図15の画像の下側の黒い部分としてのダミーデータが分散されたものである。
【0121】
図18は、図17の符号化データから、その左上の1/4の部分を切り取ったものであり、図19は、図18の符号化データの列についてビット逆順変換による列の入れ替えを行った符号化データを示している。そして、図20は、図19の列の入れ替えを行った符号化データについて、ビット逆順変換による行の入れ替えを行った符号化データ、即ち、縮小復号画像を示している。
【0122】
図15と図20から、符号化データの一部から、元の画像データの概要が、精度良く再現されていることが分かる。ここで、図20において、下側にある黒い部分は、ダミーデータである。
【0123】
以上のように、ビット逆順変換の結果得られる符号化データの一部からは、縮小復号画像を得ることができるので、例えば、デコーダ4において、符号化データのすべてを受信することができなくても、元の画像データの概要を復元することが可能となる。さらに、デコーダ4において得られた復号画像を、CRT(Cathode Ray Tube)や液晶ディスプレイ等の表示装置に表示する場合に、切り出し部44において、その表示装置の解像度にしたがって符号化データの切り出しを行うことで、表示装置の解像度に適合した縮小復号画像を得ることが可能となる。
【0124】
なお、図14の切り出し部44において切り出した符号化データの一部の横または縦の画素数が、2のべき乗の数に一致していない場合には、切り出し部44では、例えば、図5のダミー画素付加部21における場合と同様に、ダミーデータを付加して、その横または縦の画素数が、2のべき乗の数に一致するようにして、行入れ替え部41に供給するようにする必要がある。
【0125】
但し、この場合、上述したように、単純に、符号化データの下側や左側にダミーデータを付加すると、ビット逆順変換によって、そのダミーデータが分散し、図17に示した符号化データにおける場合と同様に、復号画像は、ダミーデータが周期的に挿入されたものとなる。しかしながら、上述したように、ダミーデータを、本来の画像データが取り得ない値とすることで、復号画像に挿入されたダミーデータは取り除くことが可能である。
【0126】
また、切り出し部44において、符号化データの、例えば、最も左上の画素を、左上の頂点とする長方形状の領域を切り出す場合には、図20に示したような元の画像を縮小した状態の縮小復号画像を得ることができるが、符号化データの任意の位置からの切り出しを行った場合には、水平同期または垂直同期がとれていないような縮小復号画像が得られることがある。しかしながら、その場合は、その縮小復号画像を、水平方向や垂直方向にシフトすることで、水平同期および垂直同期がとれた状態の縮小復号画像を得ることが可能である。また、符号化データの任意の位置からの切り出しを行った場合でも、その切り出しを行った位置が分かっていれば、水平同期および垂直同期がとれた状態の縮小復号画像を得ることが可能である。
【0127】
次に、図5のエンコーダ1では、ダミー画素付加部21において、1フレームの横の画素数Wが2のべき乗の数に等しくないとき、画素数W以上の最小の2のべき乗の数である2Mに足りない分だけ、画像データの水平方向に、ダミーデータを付加し、また縦の画素数Hが2のべき乗の数に等しくないときも、画素数H以上の最小の2のべき乗の数である2Nに足りない分だけ、画像データの垂直方向に、ダミーデータを付加するようにし、これにより、2M×2N画素とした画像データの行または列それぞれについて、ビット逆順変換を施し、符号化データを得るようにしたが、このようにして得た符号化データには、ダミーデータが含まれるため、そのまま記録媒体2に記録し、あるいは伝送媒体3を介して伝送したのでは、ダミーデータの分だけ、記録効率または伝送効率が劣化することになる。
【0128】
ここで、画像データの横または縦の画素数以上の最小の2のべき乗の数を、以下、適宜、最小規定画素数という。
【0129】
一方、上述のようにダミーデータを付加して得た符号化データから、ダミーデータを削除しても、その削除後の符号化データの画素数から、その最小規定画素数を認識することができ、最小規定画素数が決まれば、元の画像におけるある位置の画像データが、ビット逆順変換後に、どの位置の符号化データとなるかも一意に決定される。従って、ダミーデータを付加した画像データをビット逆順変換して得られる符号化データのどの位置にダミーデータが分散するのかは、最小規定画素数から求めることができ、その結果、符号化データからダミーデータを削除しても、そのダミーデータの削除後の符号化データのどの位置にダミーデータがあったのかを認識することができる。そして、符号化データのどの位置にダミーデータがあったのかを認識することができれば、その位置にダミーデータを挿入し、ビット逆順変換すれば、ダミーデータが付加された状態の画像データを復元することができる。
【0130】
以上から、エンコーダ1には、符号化データからダミーデータを削除したものを出力させるようにすることが可能である。
【0131】
即ち、図21は、そのようなエンコーダ1の機能的構成例を示している。なお、図中、図5における場合と対応する部分については、同一の符号を付してある。即ち、図21のエンコーダ1は、行入れ替え部23の後段にダミー画素削除部24が新たに設けられている他は、図5における場合と同様に構成されている。
【0132】
ダミー画素削除部24は、行入れ替え部23が出力する符号化データから、ダミーデータを検出し、そのダミーデータを削除して、最終的な符号化データとして出力する。
【0133】
具体的には、行入れ替え部23から、例えば、図7(B)と同一の図22(A)に示すような符号化データが出力された場合には、ダミー画素削除部24は、その符号化データの中のダミーデータ(図22(A)において影を付して示す部分)を削除し、図22(B)に示すようなダミーデータを含まない符号化データにして出力する。
【0134】
即ち、この場合、ダミー画素削除部24では、符号化データの中の、垂直アドレスが3および7の位置に分散されているダミーデータが削除され、その削除した部分を、いわば詰めた形にした8×6画素の符号化データが出力される。従って、図22(A)の実施の形態においては、垂直アドレスが3の位置が詰められる結果、図22(A)において垂直アドレスが4,5,6の位置にある画像データ(1,*),(5,*),(3,*)は、図22(B)に示すように、垂直アドレスが3,4,5の位置にそれぞれ移動される(*はワイルドカードを表す)。
【0135】
次に、図23は、以上のようにしてダミーデータが削除された符号化データを復号するデコーダ4の機能的構成例を示している。なお、図中、図11における場合と対応する部分については、同一の符号を付してある。即ち、図23のデコーダ4は、行入れ替え部41の前段に、ダミー画素付加部45が新たに設けられている他は、図11における場合と同様に構成されている。
【0136】
ダミー画素付加部45は、ダミーデータが削除された符号化データを受信し、その画素数から最小規定画素数を認識する。さらに、ダミー画素付加部45は、その最小規定画素数から、元の画像データにおけるアドレスと、そのビット逆順変換後におけるアドレスとの対応関係を認識し、元の画像に付加されたダミーデータが、ビット逆順変換により、符号化データのどの位置に分散するのかを認識する。そして、ダミー画素付加部45は、その認識結果にしたがって、受信した符号化データに、ダミーデータを付加(挿入)する。
【0137】
即ち、ダミー画素付加部45は、図22(C)に示したような8×6画素の符号化データを受信した場合には、その横または縦の画素数である8画素または6画素から、横または縦の最小規定画素数が、いずれも8画素であることを認識する。ここで、図22(C)の符号化データについては、横の画素数は8画素で、その最小規定画素数である8画素に一致するが、縦の画素数が6画素で、その最小規定画素数に2画素足りないから、符号化データには、2行分のダミーデータが挿入されていたことが分かる。
【0138】
さらに、最小規定画素数が8画素の場合、元の画像データにおけるアドレスと、そのビット逆順変換後におけるアドレスとの対応関係は、(1)に示したようになるから、ダミー画素付加部45は、その対応関係に基づき、元の画像データの下部に付加された2行分のダミーデータが、符号化データのどの行に分散するかを認識する。そして、ダミー画素付加部45では、その認識した行にダミーデータが付加される。即ち、最小規定画素数が8画素の場合においては、元の画像データにおいて最小規定画素数に2画素だけ足りない行方向について、その元の画像データの下部に、2行分のダミーデータが付加される。そして、この元の画像データの下部に付加された2行分のダミーデータは、(1)の対応関係から、垂直アドレスが3と7の位置に分散するから、ダミー画素付加部45は、その位置にダミーデータが配置されるように、符号化データにダミーデータを挿入する。
【0139】
ダミー画素付加部45においてダミーデータが付加された符号化データは、行入れ替え部41に供給され、以下、図11で説明したようにして処理されることにより、復号画像に復元される。
【0140】
なお、図21のエンコーダ1では、元の画像データの横または縦の画素数が最小規定画素数に満たないとき、その満たない分だけダミーデータが付加され、その後、ビット逆順変換が行われて、ダミーデータが削除されるが、その他、例えば、元の画像データの横または縦の画素数を引数として、元の画像データのアドレスと、ダミーデータの削除後のアドレスとの対応関係を求める関数や、その対応関係を規定するテーブルを用意しておき、その関数やテーブルを用いて、元の画像データを、ダミーデータのない符号化データに変換するようにすることも可能である。同様に、図23のデコーダ4においても、そのような関数やテーブルを用意しておき、ダミーデータのない符号化データを、元の画像データに変換するようにすることが可能である。この場合、実際にダミーデータを付加したり、削除したりする処理を行わずに済むようになる(但し、上述のような関数やテーブルを用いることは、仮想的にダミーデータの付加、削除を行っているのと等価である)。
【0141】
次に、ビット逆順変換は、その変換対象となるデータの数が2N個であるとき、20+21+22+・・・+2N-1個のスイッチを、いわゆる2分木の構造に配置することによって行うことが可能である。
【0142】
即ち、図24は、そのような構造に配置されたスイッチによってビット逆順変換を行うデータ変換装置の一実施の形態の構成例を示している。なお、ここでは、例えば、8(=23)個のデータx0,x1,x2,x3,x4,x5,x6,x7を変換の対象としており、従って、データ変換装置は、20+21+22=7個のスイッチ51,521,522,531,532,533,534を有している。
【0143】
変換対象の8個のデータx0乃至x7は、その順番で、メモリ61のアドレス#0乃至#7にそれぞれ記憶されており、スイッチ51は、所定のクロック(以下、適宜、読み出しクロックという)に同期したタイミングで、メモリ61のアドレス#0乃至#7にそれぞれ記憶されたデータx0乃至x7を順次読み出すようになされている。
【0144】
そして、スイッチ51は、読み出しクロックの20倍の周期のクロック(従って、読み出しクロックそのもの)に同期して、スイッチ521に接続された端子51aまたはスイッチ522に接続された端子51bを交互に選択するようになされている。また、スイッチ521は、読み出しクロックの21倍の周期のクロックに同期して、スイッチ531に接続された端子521aまたはスイッチ532に接続された端子521bを交互に選択するようになされている。さらに、スイッチ522も、読み出しクロックの21倍の周期のクロックに同期して、スイッチ533に接続された端子522aまたはスイッチ534に接続された端子522bを交互に選択するようになされている。
【0145】
そして、スイッチ531,532,533,534は、読み出しクロックの22倍の周期のクロックに同期して、端子531aと531b,532aと532b,533aと533b,534aと534bを、それぞれ交互に選択するようになされており、端子531a,531b,532a,532b,533a,533b,534a,534bは、メモリ62のアドレス#0乃至#7にそれぞれ接続されている。
【0146】
以上のように構成されるデータ変換装置では、スイッチ51が、メモリ61のアドレス#0からデータx0を読み出すタイミングにおいて、スイッチ51は端子51aを、スイッチ521は端子521aを、スイッチ522は端子522aを、スイッチ531は端子531aを、スイッチ532は端子532aを、スイッチ533は端子533aを、スイッチ534は端子534aを、それぞれ選択し、その結果、メモリ61のアドレス#0に記憶されていたデータx0は、スイッチ51、端子51a、スイッチ521、端子521a、スイッチ531、および端子531aを介して、メモリ62のアドレス#0に供給されて記憶される。
【0147】
そして、スイッチ51が、メモリ61のアドレス#1からデータx1を読み出すタイミングにおいては、スイッチ51は端子51a側から端子51b側に切り換わり、スイッチ521は端子521aを、スイッチ522は端子522aを、スイッチ531は端子531aを、スイッチ532は端子532aを、スイッチ533は端子533aを、スイッチ534は端子534aを、それぞれ選択した状態のままとなる。その結果、メモリ61のアドレス#1に記憶されていたデータx1は、スイッチ51、端子51b、スイッチ522、端子522a、スイッチ533、および端子533aを介して、メモリ62のアドレス#4に供給されて記憶される。
【0148】
さらに、スイッチ51が、メモリ61のアドレス#2からデータx2を読み出すタイミングにおいては、スイッチ51は端子51b側から端子51a側に切り換わるとともに、スイッチ521は端子521a側から端子521b側に、スイッチ522は端子522a側から端子522b側にそれぞれ切り換わり、スイッチ531は端子531aを、スイッチ532は端子532aを、スイッチ533は端子533aを、スイッチ534は端子534aを、それぞれ選択したままの状態となる。その結果、メモリ61のアドレス#2に記憶されていたデータx2は、スイッチ51、端子51a、スイッチ521、端子521b、スイッチ532、および端子532aを介して、メモリ62のアドレス#2に供給されて記憶される。
【0149】
また、スイッチ51が、メモリ61のアドレス#3からデータx3を読み出すタイミングにおいては、スイッチ51は端子51a側から端子51b側に切り換わり、スイッチ521は端子521bを、スイッチ522は端子522bを、スイッチ531は端子531aを、スイッチ532は端子532aを、スイッチ533は端子533aを、スイッチ534は端子534aを、それぞれ選択したままの状態となる。その結果、メモリ61のアドレス#3に記憶されていたデータx3は、スイッチ51、端子51b、スイッチ522、端子522b、スイッチ534、および端子534aを介して、メモリ62のアドレス#6に供給されて記憶される。
【0150】
さらに、スイッチ51が、メモリ61のアドレス#4からデータx4を読み出すタイミングにおいては、スイッチ51は端子51b側から端子51a側に、スイッチ521は端子521b側から端子521a側に、スイッチ522は端子522b側から端子522a側に、スイッチ531は端子531a側から端子531b側に、スイッチ532は端子532a側から端子532b側に、スイッチ533は端子533a側から端子533b側に、スイッチ534は端子534a側から端子534b側に、それぞれ切り換わる。その結果、メモリ61のアドレス#4に記憶されていたデータx4は、スイッチ51、端子51a、スイッチ521、端子521a、スイッチ531、および端子531bを介して、メモリ62のアドレス#1に供給されて記憶される。
【0151】
また、スイッチ51が、メモリ61のアドレス#5からデータx5を読み出すタイミングにおいては、スイッチ51は端子51a側から端子51b側に切り換わり、スイッチ521は端子521aを、スイッチ522は端子522aを、スイッチ531は端子531bを、スイッチ532は端子532bを、スイッチ533は端子533bを、スイッチ534は端子534bを、それぞれ選択したままの状態となる。その結果、メモリ61のアドレス#5に記憶されていたデータx5は、スイッチ51、端子51b、スイッチ522、端子522a、スイッチ533、および端子533bを介して、メモリ62のアドレス#5に供給されて記憶される。
【0152】
さらに、スイッチ51が、メモリ61のアドレス#6からデータx6を読み出すタイミングにおいては、スイッチ51は端子51b側から端子51a側に切り換わるとともに、スイッチ521は端子521a側から端子521b側に、スイッチ522は端子522a側から端子522b側にそれぞれ切り換わり、スイッチ531は端子531bを、スイッチ532は端子532bを、スイッチ533は端子533bを、スイッチ534は端子534bを、それぞれ選択したままの状態となる。その結果、メモリ61のアドレス#6に記憶されていたデータx6は、スイッチ51、端子51a、スイッチ521、端子521b、スイッチ532、および端子532bを介して、メモリ62のアドレス#3に供給されて記憶される。
【0153】
また、スイッチ51が、メモリ61のアドレス#7からデータx7を読み出すタイミングにおいては、スイッチ51は端子51a側から端子51b側に切り換わり、スイッチ521は端子521bを、スイッチ522は端子522bを、スイッチ531は端子531bを、スイッチ532は端子532bを、スイッチ533は端子533bを、スイッチ534は端子534bを、それぞれ選択したままの状態となる。その結果、メモリ61のアドレス#7に記憶されていたデータx7は、スイッチ51、端子51b、スイッチ522、端子522b、スイッチ534、および端子534bを介して、メモリ62のアドレス#7に供給されて記憶される。
【0154】
従って、メモリ62のアドレス#0乃至#7には、データx0,x4,x2,x6,x1,x5,x3,x7がそれぞれ記憶されることとなり、メモリ61に記憶されたデータの並びx0乃至x7は、(1)の対応関係に示したように変換される。
【0155】
ここで、図24において、端子531a,531b,532a,532b,533a,533b,534a,534bを、メモリ61のアドレス#0乃至#7にそれぞれ接続して、そこに記憶されたデータを、スイッチ51側から読み出すようにし、その読み出したデータを、メモリ62のアドレス#0乃至#7に順次記憶させるようにしても、上述の場合と同様のデータの並びの変換を行うことができる。
【0156】
また、メモリ62に記憶されたデータの並びx0,x4,x2,x6,x1,x5,x3,x7を、メモリ61のアドレス#0乃至#7にそれぞれ記憶させ、上述の場合と同様の処理を行うことにより、元のデータの並びx0,x1,x2,x3,x4,x5,x6,x7に変換することができる。
【0157】
なお、図24のデータ変換装置は、図2に示したエンコーダ1と等価である(従って、図8に示したデコーダ4とも等価である)。即ち、7個のスイッチ51,521,522、および531乃至534は、メモリ61の各アドレスに記憶されたデータを、メモリ62のどのアドレスに書き込むかを決めており、従って、メモリ61または62が、図2の画像メモリ11に相当し、スイッチ51,521,522、および531乃至534が、ライトアドレス発生回路14またはリードアドレス発生回路15に相当する。
【0158】
以上のように、アドレスを2進数表現したビット列を逆順に並べ替えることにより得られるビット列によって表されるアドレスに対応する位置に、データを入れ替えるようにしたので、その入れ替え単位のデータの系列が、2のべき乗の数に一致する数のデータから構成される場合には、データのエンコード処理とデコード処理とが一致し、また、入れ替え単位のデータの系列が、2のべき乗の数に一致しない数のデータから構成されていても、データのエンコード処理とデコード処理とは、そのデータの数から一意的に決まるので、乱数等を用いてデータを分散させる場合に比較して簡単な処理で、データを分散させ、また、元に戻す(集中させる)ことが可能となる。
【0159】
なお、本実施の形態では、画像データの画素数が、2のべき乗の数に等しくないとき、その画素数以上の最小の2のべき乗の数に足りない分だけ、ダミーデータを付加するようにしたが、ダミーデータは、画像データの画素数以上の最小でない2のべき乗の数に足りない分だけ付加することも可能である。但し、この場合、付加されるダミーデータのデータ量が多くなるので、処理効率の観点からは好ましくない。
【0160】
また、本実施の形態では、画像データについて、空間的に局在するデータを分散させる(または空間的に分散するデータを集中させる)ようにしたが、その他、例えば、時間的に局在するデータを分散させるようにすることも可能である。
【0161】
さらに、本実施の形態では、画像データを処理の対象としたが、その他、例えば、音声データ等を処理の対象とすることも可能である。
【0162】
また、本実施の形態では、特に言及しなかったが、例えば、図17のシミュレーション結果から明らかなように、ビット逆順変換は、データの暗号化の効果も有する。
【0163】
さらに、本実施の形態では、画像データを構成する画素の位置を、水平アドレスおよび垂直アドレスの2つのアドレスにより、行方向と列方向とで別々に特定するようにしたが、画素の位置は、その他、例えば、ラインスキャン順に1つのシーケンシャルなアドレスによって特定するようにすることも可能である。但し、画素の位置を、水平アドレスおよび垂直アドレスの2つのアドレスによって特定する場合においては、その水平アドレスまたは垂直アドレスには、それぞれ横方向または縦方向の位置が反映されるのに対し、画素の位置を、ラインスキャン順に1つのシーケンシャルなアドレスによって特定する場合においては、そのアドレスには、横方向の位置は反映されるが、縦方向の位置は反映されない。即ち、例えば、画像の中央部分に注目した場合に、ラインスキャン順に付されたシーケンシャルなアドレスには、横方向にある画素どうしの近さや遠さは反映されるが、縦方向にある画素どうしの近さや遠さは反映されない(横方向については、2つの画素のアドレスの値どうしが近ければ、空間的にも近い位置にあるが、縦方向については、2つの画素のアドレスの値どうしが離れていても、空間的に隣接している場合がある)。その結果、画素の位置を、ラインスキャン順に1つのシーケンシャルなアドレスによって特定するようにした場合には、符号化データの一部を切り出してビット逆順変換しても、元の画像の内容を反映した縮小復号画像を得るのが困難になることがある。
【0164】
また、本発明は、例えば、コンピュータに、上述した処理を行わせるためのコンピュータプログラムを実行させることによっても、また、専用のハードウェアによっても、実現可能である。なお、コンピュータプログラムによる場合には、そのコンピュータプログラムは、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、相変化ディスク、その他の記録媒体に記録して提供することも可能であるし、例えば、インターネット、CATV(Cable Television)網、衛星回線、地上波、その他の伝送媒体を介して伝送することにより提供することも可能である。
【0165】
【発明の効果】
請求項1に記載のデータ変換装置および請求項7に記載のデータ変換方法、並びに請求項11に記載の記録媒体によれば、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータが入れ替えられ、第2のデータに変換される。従って、空間的または時間的に局所的な範囲にある第1のデータを分散させて第2のデータとし、逆に、第2のデータを変換して元の第1のデータとすることを、容易に行うことができる。
【0167】
請求項8に記載のデータ変換システムによれば、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータを入れ替え、第2のデータに変換される。そして、2進数表現された、第2のデータの位置を表す第2の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第1の位置情報に対応する位置に、第2のデータを入れ替え、第1のデータに変換される。従って、空間的または時間的に局所的な範囲にある第1のデータを分散させて第2のデータとし、さらに、第2のデータを変換して元の第1のデータとすることを、容易に行うことができる。
【0168】
請求項9に記載のデータ変換装置および請求項10に記載のデータ変換方法によれば、シーケンシャルな第1のアドレスを発生するとともに、2進数表現された第1のアドレスを、逆順に並べ替えることにより得られる第2のアドレスを発生し、第1または第2のアドレスのうちの一方を書き込みアドレスとして、データが記憶され、第1または第2のアドレスのうちの他方を読み出しアドレスとして、記憶したデータが読み出される。従って、空間的または時間的に局所的な範囲にあるデータを分散させ、逆に、そのように分散させたデータを元に戻すことを、容易に行うことができる。
請求項12に記載の記録媒体によれば、2進数表現された、第1のデータの位置を表す第1の位置情報の数列を逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、第1のデータが入れ替えられることにより変換された第2のデータが記録されている。従って、その第2のデータを変換して元の第1のデータとすることを、容易に行うことができる。
【図面の簡単な説明】
【図1】本発明を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
【図2】図1のエンコーダ1の第1の構成例を示すブロック図である。
【図3】図2のエンコーダ1による書き込み処理を説明するためのフローチャートである。
【図4】図2のエンコーダ1による読み出し処理を説明するためのフローチャートである。
【図5】図1のエンコーダ1の第2の構成例を示すブロック図である。
【図6】図5のダミー画素付加部21の処理を説明するための図である。
【図7】図5の列入れ替え部22および行入れ替え部23の処理を説明するための図である。
【図8】図1のデコーダ4の第1の構成例を示すブロック図である。
【図9】図8のデコーダ4による書き込み処理を説明するためのフローチャートである。
【図10】図8のデコーダ4による読み出し処理を説明するためのフローチャートである。
【図11】図1のデコーダ4の第2の構成例を示すブロック図である。
【図12】ビット逆順変換の性質を説明するための図である。
【図13】ビット逆順変換による効果を説明するための画像を示すディスプレイ上に表示された中間階調の写真である。
【図14】図1のデコーダ4の第3の構成例を示すブロック図である。
【図15】シミュレーションに用いた元の画像を示すディスプレイ上に表示された中間階調の写真である。
【図16】図15の画像に対して、ビット逆順変換を施すことにより列の入れ替えを行った結果を示すディスプレイ上に表示された中間階調の写真である。
【図17】図16の画像に対して、ビット逆順変換を施すことにより行の入れ替えを行った結果を示すディスプレイ上に表示された中間階調の写真である。
【図18】図17の画像の一部を切り出したものを示すディスプレイ上に表示された中間階調の写真である。
【図19】図18の画像に対して、ビット逆順変換を施すことにより列の入れ替えを行った結果を示すディスプレイ上に表示された中間階調の写真である。
【図20】図19の画像に対して、ビット逆順変換を施すことにより行の入れ替えを行った結果を示すディスプレイ上に表示された中間階調の写真である。
【図21】図1のエンコーダ1の第3の構成例を示すブロック図である。
【図22】図21のダミー画素削除部24の処理を説明するための図である。
【図23】図1のデコーダ4の第4の構成例を示すブロック図である。
【図24】本発明のデータ変換装置の一実施の形態の構成例を示すブロック図である。
【符号の説明】
1 エンコーダ, 2 記録媒体, 3 伝送媒体, 4 デコーダ, 11画像メモリ, 12 水平アドレスカウンタ, 13 垂直アドレスカウンタ, 14 ライトアドレス発生回路, 15 リードアドレス発生回路, 16画素数検出回路, 17 カウンタ設定回路, 21 ダミー画素付加部, 22 列入れ替え部, 23 行入れ替え部, 24 ダミー画素削除部, 31 画像メモリ, 32 水平アドレスカウンタ, 33 垂直アドレスカウンタ, 34 ライトアドレス発生回路, 35 リードアドレス発生回路, 36 画素数検出回路, 37 カウンタ設定回路, 41 行入れ替え部, 42 列入れ替え部, 43 ダミー画素削除部, 44 切り出し部, 45 ダミー画素付加部, 51,521,522,531,532,533,534 スイッチ, 51a,51b,521a,521b,522a,522b,531a,531b,532a,532b,533a,533b,534a,534b 端子, 61,62 メモリ
Claims (12)
- 第1のデータを第2のデータに変換するデータ変換装置であって、
前記第1のデータを入力する入力手段と、
2進数表現された、前記第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、前記第1のデータを入れ替え、前記第2のデータに変換する変換手段と
を備えることを特徴とするデータ変換装置。 - 前記変換手段は、前記第1のデータの位置の入れ替えを、2のべき乗個の数の前記第1のデータ単位で行う
ことを特徴とする請求項1に記載のデータ変換装置。 - 前記第1のデータの個数が、2のべき乗個となるように、その第1のデータに、ダミーデータを付加する付加手段をさらに備える
ことを特徴とする請求項2に記載のデータ変換装置。 - 前記ダミーデータが付加された前記第1のデータの位置が入れ替えられることにより得られる前記第2のデータから、前記ダミーデータを削除する削除手段をさらに備える
ことを特徴とする請求項3に記載のデータ変換装置。 - 前記第1のデータの一部を切り出す切り出し手段をさらに備え、
前記変換手段は、前記切り出し手段によって切り出された前記第1のデータの位置の入れ替えを行う
ことを特徴とする請求項1に記載のデータ変換装置。 - 前記第1および第2のデータは、画像データであり、
前記第1の位置情報は、前記第1のデータとしての画像データの水平方向の位置情報と垂直方向の位置情報であり、
前記第2の位置情報は、2進数表現された、前記水平方向の位置情報の数列を逆順に並べ替えることにより得られる数列と、前記垂直方向の位置情報の数列を逆順に並べ替えることにより得られる数列である
ことを特徴とする請求項1に記載のデータ変換装置。 - 第1のデータを第2のデータに変換するデータ変換装置のデータ変換方法であって、
前記第1のデータを入力し、
2進数表現された、前記第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、前記第1のデータを入れ替え、前記第2のデータに変換する
ステップを含むことを特徴とするデータ変換方法。 - データの変換を行うデータ変換システムであって、
2進数表現された、第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、前記第1のデータを入れ替え、第2のデータに変換する第1の変換手段と、
2進数表現された、前記第2のデータの位置を表す第2の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される前記第1の位置情報に対応する位置に、前記第2のデータを入れ替え、前記第1のデータに変換する第2の変換手段と
を備えることを特徴とするデータ変換システム。 - データの変換を行うデータ変換装置であって、
書き込みアドレスに応じて前記データを記憶するとともに、読み出しアドレスに応じて記憶された前記データを読み出す記憶手段と、
シーケンシャルな第1のアドレスを発生するとともに、2進数表現された前記第1のアドレスを、逆順に並べ替えることにより得られる第2のアドレスを発生し、前記第1または第2のアドレスのうちの一方を前記書き込みアドレスとして、他方を前記読み出しアドレスとして、それぞれ、前記記憶手段に供給するアドレス発生手段と
を備えることを特徴とするデータ変換装置。 - データの変換を行うデータ変換装置のデータ変換方法であって、
シーケンシャルな第1のアドレスを発生するとともに、2進数表現された前記第1のアドレスを、逆順に並べ替えることにより得られる第2のアドレスを発生し、
前記第1または第2のアドレスのうちの一方を書き込みアドレスとして、前記データを記憶し、
前記第1または第2のアドレスのうちの他方を読み出しアドレスとして、記憶された前記データを読み出す
ステップを含むことを特徴とするデータ変換方法。 - 第1のデータを第2のデータに変換する処理用のプログラムであって、
前記第1のデータを入力し、
2進数表現された、前記第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、前記第1のデータを入れ替え、前記第2のデータに変換する
ステップを含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - 第1のデータが変換された第2のデータが記録されている記録媒体であって、
2進数表現された、前記第1のデータの位置を表す第1の位置情報の数列を、逆順に並べ替えることにより得られる数列で表される第2の位置情報に対応する位置に、前記第1のデータが入れ替えられることにより変換された前記第2のデータが記録されている
ことを特徴とする記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36851198A JP4131349B2 (ja) | 1998-12-09 | 1998-12-09 | データ変換装置およびデータ変換方法、記録媒体、並びにデータ変換システム |
US09/455,696 US6288654B1 (en) | 1998-12-09 | 1999-12-07 | Data conversion apparatus, data conversion method, and recording medium |
EP19990309909 EP1008955A3 (en) | 1998-12-09 | 1999-12-09 | Apparatus and method for encoding by data rearrangement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36851198A JP4131349B2 (ja) | 1998-12-09 | 1998-12-09 | データ変換装置およびデータ変換方法、記録媒体、並びにデータ変換システム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000172486A JP2000172486A (ja) | 2000-06-23 |
JP2000172486A5 JP2000172486A5 (ja) | 2005-11-10 |
JP4131349B2 true JP4131349B2 (ja) | 2008-08-13 |
Family
ID=18492018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36851198A Expired - Fee Related JP4131349B2 (ja) | 1998-12-09 | 1998-12-09 | データ変換装置およびデータ変換方法、記録媒体、並びにデータ変換システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US6288654B1 (ja) |
EP (1) | EP1008955A3 (ja) |
JP (1) | JP4131349B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5537293B2 (ja) * | 2009-07-03 | 2014-07-02 | パナソニック株式会社 | 画像符号化装置及び画像復号化装置 |
EP3419005A1 (en) * | 2017-06-22 | 2018-12-26 | Gemalto Sa | Computing device processing expanded data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3731284A (en) * | 1971-12-27 | 1973-05-01 | Bell Telephone Labor Inc | Method and apparatus for reordering data |
JPS6432378A (en) * | 1987-07-29 | 1989-02-02 | Nec Corp | Bit inverting and transposing system |
US5651121A (en) * | 1992-12-18 | 1997-07-22 | Xerox Corporation | Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand |
US5818877A (en) * | 1996-03-14 | 1998-10-06 | The Regents Of The University Of California | Method for reducing storage requirements for grouped data values |
JP3924967B2 (ja) * | 1998-11-25 | 2007-06-06 | ソニー株式会社 | 符号化装置および方法、復号装置および方法、記録媒体、並びにデータ処理システム |
-
1998
- 1998-12-09 JP JP36851198A patent/JP4131349B2/ja not_active Expired - Fee Related
-
1999
- 1999-12-07 US US09/455,696 patent/US6288654B1/en not_active Expired - Fee Related
- 1999-12-09 EP EP19990309909 patent/EP1008955A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2000172486A (ja) | 2000-06-23 |
EP1008955A2 (en) | 2000-06-14 |
US6288654B1 (en) | 2001-09-11 |
EP1008955A3 (en) | 2003-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5815421A (en) | Method for transposing a two-dimensional array | |
NL8700843A (nl) | Televisie-overdrachtsysteem met transformcoding. | |
JPH01157686A (ja) | 空間充填カーブに基づくビデオスクランブル装置及び方法 | |
US5757432A (en) | Manipulating video and audio signals using a processor which supports SIMD instructions | |
JPH0969951A (ja) | 符号化方法及び復号化方法 | |
CA1254996A (en) | Interpolator for television special effects system | |
JPH04230584A (ja) | 符号化/復号化器および符号化/復号化方法 | |
EP0467717B1 (en) | Data shuffling apparatus | |
JP3092382B2 (ja) | 信号処理装置 | |
JP4131349B2 (ja) | データ変換装置およびデータ変換方法、記録媒体、並びにデータ変換システム | |
JP2000232365A (ja) | 符号化装置および符号化方法、復号装置および復号方法、記録媒体、並びにデータ処理装置 | |
US6873738B2 (en) | Hierarchical image processor for encoding or decoding, and memory on the same chip | |
JP4105257B2 (ja) | 記憶装置および記憶方法 | |
JPS6295670A (ja) | 画像処理装置 | |
JPH01140883A (ja) | データ符号化方法 | |
JPH01318378A (ja) | 基本画像加重因数の伝送を用いるテレビジョン伝送システム | |
JP2798025B2 (ja) | 動画像符号化方法及び装置 | |
JP3532137B2 (ja) | データ発生回路 | |
JPH11205579A (ja) | 画像データ処理装置および画像データ処理方法、並びに提供媒体 | |
JP3227237B2 (ja) | 符号化装置 | |
JP3227154B2 (ja) | 画像処理システム | |
JPH08275181A (ja) | 動画像データの復号装置 | |
US20010015726A1 (en) | Altered multi-resolution analysis for scientific data complexity reduction | |
JPS6295669A (ja) | 画像処理装置 | |
JPH07121065B2 (ja) | 符号・復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050926 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080410 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080502 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080515 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |