(57)【要約】【課題】  多値要素が配列されたデータを圧縮し、再現できるデータの生成方法を提供する。【解決手段】  多値の第１の要素２１が配列された画像データ１１に対して、２値の第２の要素２２に圧縮しようとしている第１の要素２１の注目位置の上、左、左上の位置の２値要素２２の和を基準値３０とし、この基準値３０を閾値として注目位置の第１の要素２１を２値化する。２値データ１２は、多値化しようとしている注目位置と、その上、左、左上の位置の２値要素２２の和を求めることにより、多値化することができる。【選択図】        図３
2006041850.tif 000002
【特許請求の範囲】
【請求項１】
第１の要素の配列を備えた第１のデータから、第２の要素の配列を備えた第２のデータを生成する方法であって、
第１の位置の前記第２の要素を、前記第１の位置の前記第１の要素と、前記第１の位置と第１の関係にある少なくとも１つの他の位置の前記第２の要素を第１の関数により演算した基準値とに基づき生成する第１のデータ生成工程を有する方法。
【請求項２】
前記第１の位置の第２の要素は、前記第１の位置の第１の要素と前記基準値との差分を示す、請求項１の方法。
【請求項３】
前記第１の位置の第２の要素は、前記基準値を閾値として、前記第１の位置の第１の要素を２値化したものである、請求項１の方法。
【請求項４】
前記第１の要素の配列および前記第２の要素の配列は多次元であり、
前記基準値は、前記第１の位置に第２の関係で接する複数の前記他の位置の第２の要素の和である、請求項１の方法。
【請求項５】
第２の要素の配列を備えた第２のデータから、第１の要素の配列を備えた第１のデータを生成する方法であって、
第１の位置の前記第１の要素を、前記第１の位置の前記第２の要素と、前記第１の位置と第１の関係にある少なくとも１つの他の位置の前記第２の要素を第１の関数により演算した基準値とに基づき生成する第２のデータ生成工程を有する方法。
【請求項６】
前記第２のデータ生成工程では、前記第１の位置の第１の要素を、前記第１の位置の第２の要素と前記基準値との和により生成する、請求項５の方法。
【請求項７】
前記第１の要素の配列および前記第２の要素の配列は多次元であり、
前記第２のデータ生成工程では、前記基準値を、前記第１の位置に第２の関係で接する複数の前記他の位置の第２の要素の和により求める、請求項５の方法。
【請求項８】
第１の要素の配列を備えた第１のデータから、第２の要素の配列を備えた第２のデータを生成する際に、第１の位置の前記第２の要素を、前記第１の位置の前記第１の要素と、前記第１の位置と第１の関係にある少なくとも１つの他の位置の前記第２の要素を第１の関数により演算した基準値とに基づき生成する第１の生成手段を有するデータ処理装置。
【請求項９】
請求項８において、前記第１の位置の第２の要素は、前記第１の位置の第１の要素と前記基準値との差分を示す、データ処理装置。
【請求項１０】
請求項８において、前記第１の位置の第２の要素は、前記基準値を閾値として、前記第１の位置の第１の要素を２値化したものである、データ処理装置。
【請求項１１】
請求項８において、前記第１の要素の配列および前記第２の要素の配列は多次元であり、
前記基準値は、前記第１の位置に第２の関係で接する複数の前記他の位置の第２の要素の和である、データ処理装置。
【請求項１２】
第２の要素の配列を備えた第２のデータから、第１の要素の配列を備えた第１のデータを生成する際に、第１の位置の前記第１の要素を、前記第１の位置の前記第２の要素と、前記第１の位置と第１の関係にある少なくとも１つの他の位置の前記第２の要素を第１の関数により演算した基準値とに基づき生成する第２の生成手段を有するデータ処理装置。
【請求項１３】
請求項１２において、前記第２の生成手段では、前記第１の位置の第１の要素を、前記第１の位置の第２の要素と前記基準値との和により生成する、データ処理装置。
【請求項１４】
請求項１２において、前記第１の要素の配列および前記第２の要素の配列は多次元であり、
前記第２の生成手段では、前記基準値を、前記第１の位置に第２の関係で接する複数の前記他の位置の第２の要素の和により求める、データ処理装置。
【請求項１５】
請求項１ないし４のいずれかに記載の第１のデータ生成工程をコンピュータにおいて実行するためのプログラム。
【請求項１６】
請求項５ないし７のいずれかに記載の第２のデータ生成工程をコンピュータにおいて実行するためのプログラム。
【請求項１７】
第１の要素の配列を備えた第１のデータから生成された第２のデータを記録した記録媒体であって、
前記第２のデータは、第２の要素の配列を備えており、第１の位置の前記第２の要素は、前記第１の位置の前記第１の要素と、前記第１の位置と第１の関係にある少なくとも１つの他の位置の前記第２の要素を第１の関数により演算した基準値とに基づき生成されたものである、記録媒体。
【請求項１８】
請求項１７において、前記第１の位置の第２の要素は、前記第１の位置の第１の要素と前記基準値との差分を示す、記録媒体。
【請求項１９】
請求項１７おいて、前記第１の位置の第２の要素は、前記基準値を閾値として、前記第１の位置の第１の要素を２値化したものである、記録媒体。
【請求項２０】
請求項１７において、前記第１の要素の配列は多次元であり、
前記基準値は、前記第１の位置に前記第１の関係で接する複数の前記他の位置の第２の要素の和である、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、種々の目的に使用可能なデータの変換および生成方法に関するものである。
【背景技術】
【０００２】
圧縮・伸張、符号化・復号化、暗号化などを目的として、ビット列を含むデータを異なるデータに変換し、また再変換する処理が知られている。特開平６−２５３１５３号公報には、符号化に際して、多階調画像の画素値をビット毎に１枚の２値画像として取り出すことにより複数枚の２値画像にし、これらの２値画像を符号化することが開示されている。この技術では、多階調画像の各画素値がｎビットで表されるのであれば、ｎ枚の２値画像が形成され、このｎ枚の２値画像のそれぞれが符号化される。また、復号化に際しては、ｎ枚の２値画像に復号化し、各々の２値画像の各画素のデータを組み合わせることにより多階調画像が得られる。
【特許文献１】特開平６−２５３１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
データを符号化および復号化する目的は様々であるが、１つの大きな目的は記録および通信する際のデータ量を削減することである。たとえば、ｎドットの多値画像をｎドットの２値データに変換でき、その２値データからｎドットの多値画像を再生できるのであれば、記録あるいは通信に要するデータ量を大幅に削減できる。２値データは無理としても、多階調の階調数を数分の１に圧縮することが可能であればデータ量も数分の１になる。
【０００４】
データの圧縮とは、データの冗長性を取り除き、符号化することであり、たとえば、ランレングス法では同じ文字が続くところを数に置き換え、ハフマン法では頻繁に現れる文字を短い表現に変更し、ＬＺ法では辞書という概念を持ち込んで圧縮している。これに対し、本発明においては、新しい手法により、データを圧縮することができる方法を提供することを目的としている。特に、多値画像のデータを、２値データに変換し、また、可逆性は保証されないが、オリジナルに近い多値画像を生成することができる方法を提供することを目的としている。
【課題を解決するための手段】
【０００５】
本発明においては、第１の要素の配列を備えた第１のデータから、第２の要素の配列を備えた第２のデータを生成する方法であって、第１の位置の第２の要素を、第１の位置の第１の要素と、第１の位置と第１の関係にある少なくとも１つの他の位置の第２の要素を第１の関数により演算した基準値とに基づき生成する第１のデータ生成工程を有する方法を提供する。この第１のデータ生成工程により、第１の要素の配列を備えた第１のデータから生成された第２のデータは、第２の要素の配列を備えており、第１の位置の第２の要素は、第１の位置の第１の要素と、第１の位置と第１の関係にある少なくとも１つの他の位置の第２の要素を第１の関数により演算した基準値とに基づき生成されたものである。この第２のデータは、ＣＤ−ＲＯＭ、磁気ディスク、メモリスティックなどの適当な記録媒体に記録し、保存あるいは提供することができる。また、第２のデータは、インターネットなどのコンピュータネットワークあるいはその他の通信を介して提供することができる。
【０００６】
本発明の第１のデータ生成工程は、第１の要素の配列を備えた第１のデータから、第２の要素の配列を備えた第２のデータを生成する際に、第１の位置の第２の要素を、第１の位置の第１の要素と、第１の位置と第１の関係にある少なくとも１つの他の位置の第２の要素を第１の関数により演算した基準値とに基づき生成する第１の生成手段を有するデータ処理装置により実行することができる。データ処理装置の１つの例は、適当なハードウェア資源を備えたコンピュータであり、第１のデータ生成工程をコンピュータにおいて実行するためのプログラムあるいはプログラム製品として本発明を提供することができる。また、第２のデータ生成工程は、第２の要素の配列を備えた第２のデータから、第１の要素の配列を備えた第１のデータを生成する際に、第１の位置の第１の要素を、第１の位置の第２の要素と、第１の位置と第１の関係にある少なくとも１つの他の位置の第２の要素を第１の関数により演算した基準値とに基づき生成する第２の生成手段を有するデータ処理装置により実行できる。このデータ処理装置の１つの例も、適当なハードウェア資源を備えたコンピュータであり、第２のデータ生成工程をコンピュータにおいて実行するためのプログラムあるいはプログラム製品として本発明を提供することができる。これらのプログラム製品は、ＣＤ−ＲＯＭなどの適当な記録媒体に記録して提供でき、コンピュータネットワークなどを介して提供することができる。
【０００７】
本発明の第２のデータは、オリジナルの第１のデータの第１の要素に対して適当な位置関係にある第２のデータの第２の要素との関係を用いて第１のデータの第１の要素を変換する。したがって、第２のデータを生成する場合は、第１のデータを適当な方向にスキャンしながら順番に第２の要素を生成する必要がある。しかしながら、第２のデータから第１のデータを生成する場合は、第１の要素に対して適当な位置関係にある第２の要素との関係を用いて第１の要素を生成できる。このため、配列の途中からでも第１のデータを生成できる。すなわち、この第２の要素の配列を備えた第２のデータから、第１の要素の配列を備えた第１のデータを生成する場合は、第１の位置の第１の要素を、第１の位置の第２の要素と、第１の位置と第１の関係にある少なくとも１つの他の位置の第２の要素を第１の関数により演算した基準値とに基づき生成する第２のデータ生成工程を有する方法を用いることができる。
【０００８】
また、第１のデータを再生するときに、第２の要素を決める第１の位置に対する第１の関係と、基準値を求める第１の関数と、さらに、対象となる第２の要素および基準値に対する第１の要素の関係が分からなければ第１の要素は生成できない。したがって、第２のデータは少なくとも３つの要素により符号化あるいは暗号化されており、第２のデータを単に取得しても第１のデータは生成できない。
【０００９】
さらに、第２のデータの第２の要素は、基準値に基づき第１の要素から生成するので、第２の要素の情報量を削減することが可能となり、データ量を圧縮できる。たとえば、第１の位置の第２の要素を、第１の位置の第１の要素と基準値との差分を示すように生成すれば、基準値を利用して第１の要素を圧縮できる。そして、第１の位置と第１の関係にあり、第１の要素との差分を示す第２の要素が、次の第２の要素を生成するための基準値を算出する要素となるので、第１の位置の第１の要素は、複数の位置の第２の要素に分散されることとなり第２のデータの情報量は削減される。一方、第１のデータは、複数の位置の第２の要素を積算することにより再現することができるようになる。すなわち、第２のデータ生成工程では、第１の位置の第１の要素を、第１の位置の第２の要素と基準値との和により生成することができる。
【００１０】
第１の位置の第２の要素を、基準値を閾値として、第１の位置の第１の要素を２値化したものとして生成することができ、第２の要素の情報量をもっとも少なくし、圧縮率を向上できる。第１の要素の配列が多次元の場合は、第２の要素の配列も多次元になる。そして、基準値としては、第１の位置に第２の関係で接する複数の他の位置の第２の要素の和を採用できる。基準値としては、第１の位置に第２の関係で接する複数の他の位置の第２の要素の和を採用することにより、第１の位置の第１の要素を、第１の位置の周辺の複数の第２の要素に分散することになり、第２のデータの情報量をさらに削減することができる。
【発明の効果】
【００１１】
本発明のデータを生成する方法においては、配列化された複数の第１の要素を、同様に配列化された第２の要素に変換することができ、第２の要素の情報量を削減することができる。したがって、第１の要素が多値であれば、２値化することが可能となり、多値画像を生成するためのデータを２値化データ（２値画像に変換するのではなく）にして記録あるいは転送し、多値画像を生成するデータに復元することができる。本発明により生成される第２のデータは、さらにランレングス法などを用いて圧縮することも可能であり、圧縮効率はさらに向上する。また、第１のデータが、２次元または３次元以上の多次元の配列を備えている場合にも本発明を適用することが可能であり、第１の要素を周囲の第２の要素に分散することにより、第２の要素の情報量を低減し、圧縮効率を向上することができる。
【発明を実施するための最良の形態】
【００１２】
以下に図面を参照して本発明をさらに詳しく説明する。図１に本発明のデータを生成する方法を使用可能なシステムの概略を示してある。このシステム９は、カメラ付きで、インターネット３を介してメール５の送受信が可能な携帯電話１と、インターネット３を介してメール５を送受信可能なパーソナルコンピュータ２とを有する。携帯電話１は、撮影した多値の画像データ１１を２値のデータ１２に圧縮した状態でメール５に添付して送信する。パーソナルコンピュータ２は、メール５を受信し、それに添付された２値データ１２を多値の画像データ１１に復元してディスプレイ２ａに表示する。
【００１３】
携帯電話１は、アンテナ３２を介してデータを送受信するための通信機能３３と、通信機能３３を介して音声データを送受信する通話機能３６と、通信機能３３を介してメール５を送受信するメール機能３４と、撮影対象物４を多値の画像データ１１として取得するカメラ機能３５と、カメラ機能３５で取得された画像データ１１を２値データ１２に圧縮または変換する変換機能（エンコーダ）１０とを有している。カメラ機能３５は、多値の要素２１が２次元に配列された多階調の画像データ（第１のデータ）１１を取得する。エンコーダ１０は、この画像データ１１から２値の要素２２が２次元に配列された２値データ（第２のデータ）１２を生成する。
【００１４】
パーソナルコンピュータ（ＰＣ）２には、オペレーティングシステム（ＯＳ）４１と、各種のアプリケーションがインストールされている。アプリケーションには、画像データを表示可能なビュワー４２、メール５の作成、閲覧および送受信が可能なメールソフト４５などが含まれる。ビュワー４２は、インターフェイス４３を介して携帯電話１から取得したメール５に添付された２値データ１２から多値の画像データ１１を生成してディスプレイ２ａに表示する機能（デコーダ）２０を備えている。
【００１５】
図２に、エンコーダ１０により画像データ１１から２値データ１２が生成され、デコーダ２０により２値データ１２から多値の画像データ１３が生成される様子を示してある。図２（ａ）はオリジナルの多値の画像データ１１を示し、図２（ｂ）は画像データ１１から生成された２値データ１２を示し、図２（ｃ）は２値データ１２から再現された多値の画像データ１３を示している。図２（ａ）に示した画像データ１１は、９×９の第１の要素２１を備え、各々の第１の要素２１は「０」から「４」までの値（階調値）を取る多値の要素である。したがって、第１の要素２１は、最低３ビットで表される５階調の要素である。一方、図２（ｂ）に示した２値データ１２は、９×９の第２の要素２２を備え、各々の第２の要素２２は２値であり、１ビットで表される要素である。
【００１６】
図３に、エンコーダ１０において、画像データ１１から２値データ１２が生成される処理の詳細を、画像データ１１の一部の領域Ａおよびこの領域Ａに対応する２値データ１２の領域Ｂを参照しながら示してある。図３（ａ）に示すように、エンコーダ１０は、ある位置Ｈ（ｘ、ｙ）の第１の要素２１をターゲットとしたときに、注目位置Ｈ（ｘ、ｙ）に対して第１の関係にある第２の要素２２を第１の関数により演算して基準値３０とする基準値算出機能５２と、注目位置Ｈ（ｘ、ｙ）の第１の要素２１を、求められた基準値３０を閾値として用いて２値化する２値化機能５１とを有している。この基準値算出機能５２は、第１の関係の２値要素２２として、注目位置Ｈ（ｘ、ｙ）に隣接する第２の関係の複数の第２の要素２２を選択する。具体的には、先行して２値化されている左上の位置Ｈ（ｘ−１、ｙ−１）、上の位置Ｈ（ｘ、ｙ−１）および左の位置Ｈ（ｘ−１、ｙ）の３つの隣接位置の第２の要素２２を取得する。そして、第１の関数５３として、これら３つの隣接位置の２値要素２２の和を採用し、その結果を基準値３０とする。
【００１７】
２値化機能５１は、基準値３０を閾値とし、注目位置Ｈ（ｘ、ｙ）の第１の要素２１を２値化する。たとえば、多値の第１の要素２１が基準値３０よりも大きいときには「１」とし、それ以外のときには「０」とする。このような処理により、第１の要素２１は、基準値３０に対する大小関係を「０」または「１」で表すデータとして暗号化されると共に、最低３ビットで表された第１の要素２１を１ビットの要素に圧縮できる。この２値化機能５１により、注目位置Ｈ（ｘ、ｙ）の第２の要素２２が得られる。
【００１８】
このエンコーダ１０では、図２（ａ）に示した画像データ１１に対して、第１の要素２１を、左上から右下に向かうように走査して、第２の要素２２を生成する。ただし、オリジナルの第１のデータ１１の最も上方のラインと、最も左側のラインの第１の要素から第２の要素に変換する場合は、変換に使用する第２の要素が不足する。したがって、不足する位置においては適当な値が選択されるようにしておくか、あるいは、第１のデータ１１に適した値のラインを上方および左側に追加しておくことが考えられる。
【００１９】
エンコーダ１０の具体的な操作は、まず、図３（ａ）に示したように、画像データ１１の領域Ａの注目位置Ｈ（ｘ、ｙ）の第１の要素２１が「３」である場合、基準値算出機能５２は、注目位置Ｈ（ｘ、ｙ）に対する３つの隣接位置の第２の要素２２、すなわち、左上の位置Ｈ（ｘ−１、ｙ−１）の「０」、左の位置Ｈ（ｘ−１、ｙ）の「１」、および上の位置Ｈ（ｘ、ｙ−１）の「１」を取得しそれらの和から基準値３０として「２」を求める。２値化機能５１は、注目位置Ｈ（ｘ、ｙ）の第１の要素２１が「３」であり、基準値３０の「２」より大きいので、第２の要素２２として「１」を出力する。
【００２０】
次に、図３（ｂ）に示すように、注目位置Ｈ（ｘ、ｙ）を右側に１つ移動する。この場合、基準値算出機能５２は、３つの隣接位置の第２の要素２２を取得して基準値３０を演算する。この場合、基準値３０は「２」となる。２値化機能５１は、注目位置Ｈ（ｘ、ｙ）の多値要素２１が「３」なので、第２の要素２２として再び「１」を出力する。注目位置Ｈ（ｘ、ｙ）を右方向にシフトさせながら１行分の第２の要素２２を順次出力することができる。そして、１行分の第２の要素２２が出力されると、注目位置Ｈ（ｘ、ｙ）を１つの下の行の左端に移動して、その行の第１の要素２１を順次、第２の要素２２に変換する。
【００２１】
図３（ｃ）に示した位置では、基準値算出機能５２により求められる基準値３０は「３」になり、注目位置Ｈ（ｘ、ｙ）における第１の要素２１は「３」のため、２値化機能５１により出力される第２の要素２２は「０」になる。
【００２２】
エンコーダ１０により生成された第２のデータ１２は、第１のデータ１１と同じ要素数を備えた２次元の配列となる。しかしながら、各々の第２の要素２２は２値、すなわち、１ビットで表される。このため、各々の要素が３ビットを要する第１の画像データ１１のほぼ１／３にデータ量を削減することができる。また、第２のデータ１２は、画像を示すデータではあるが、第１のデータ１１の第１の要素２１の値が、周囲の位置の第２の要素２２に分散されているために、そのままでは画像としてみることができない。したがって、第２のデータ１２は、第１のデータ１１を暗号化したデータであるということができる。
【００２３】
図４に、デコーダ２０において、第２のデータ１２から、多階調の画像データ１３を生成する処理の詳細を示してある。この図４は、２値データ１２の一部の領域Ｂおよびこの領域Ｂに対応する復元画像データの一部の領域Ｃを取り出して示してある。デコーダ２０は、注目位置Ｈ（ｘ、ｙ）に対する第１の関係にある第２の要素２１から第１の関数に基づいて基準値３０を求める基準値生成機能６２と、注目位置Ｈ（ｘ、ｙ）の第１の要素２１を基準値３０と、注目位置Ｈ（ｘ、ｙ）の第２の要素２２とに基づいて生成する多値化機能６１とを有している。この基準値生成機能６２は、第１の関係として、注目位置Ｈ（ｘ、ｙ）と第２の関係（左上、上、左）で隣接する位置にある３つの第２の要素２２を選択する。また、第１の関数として和を選択し、これら３つの隣接位置にある第２の要素２２の和を求めて基準値３０とする。多値化機能６１は、求められた基準値３０と、注目位置Ｈ（ｘ、ｙ）の第２の要素２２との和を、注目位置Ｈ（ｘ、ｙ）の第１の要素２１ａとして出力する。
【００２４】
図４（ａ）に示した注目位置Ｈ（ｘ、ｙ）は図３（ａ）に示した注目位置Ｈ（ｘ、ｙ）に対応している。基準値生成機能６２は、第２のデータ１２から、左上の位置Ｈ（ｘ−１、ｙ−１）の「０」、左の値Ｈ（ｘ−１、ｙ）の「１」、および上の位置Ｈ（ｘ、ｙ−１）の「１」の和から「２」を基準値３０として求める。多値化機能６１は、この基準値３０と、注目位置Ｈ（ｘ、ｙ）の第２の要素２２である「１」との和から、注目位置Ｈ（ｘ、ｙ）の第１の要素２１ａとして「３」を出力する。
【００２５】
図４（ｂ）に示した注目位置Ｈ（ｘ、ｙ）は図３（ｂ）に示した注目位置Ｈ（ｘ、ｙ）に対応している。基準値生成機能６２では、注目位置Ｈ（ｘ、ｙ）に対する３つの隣接位置の第２の要素２２、すなわち、「１」、「１」、「０」の和から基準値３０を求め、多値化機能６１は、基準値３０の「２」と、注目位置Ｈ（ｘ、ｙ）の第２の要素２２である「１」との和から第１の要素２１ａとして「３」を出力する。
【００２６】
デコーダ２０においては、第２のデータ１２が決まっているので、エンコーダ１０のようにスキャンしなくても第１の要素２１ａを求めることができる。すなわち、エンコーダ１０においても、デコーダ２０においても、基準値３０は、第２のデータ１２により決定されるようにしているので、デコーダ２０において第１の要素２１ａを順番に求めなくても第１のデータ１３を再現することができる。スキャンしながら第１の要素２１ａを求めて第１のデータ１３を生成することも可能である。図４（ｃ）に示すように、この例では、デコーダ１０は、注目位置Ｈ（ｘ、ｙ）の上のラインの左上と上の第２の要素２２と、注目位置Ｈ（ｘ、ｙ）の左側と、注目位置Ｈ（ｘ、ｙ）自身の第２の要素２２との和を求めることにより、注目位置Ｈ（ｘ、ｙ）の第１の要素２１ａを算出することができる。
【００２７】
第１のデータ１１の各要素２１は、それと所定の位置関係にある第２のデータ１２の要素２２の関数により得られるようになっており、第１のデータ１１の各要素２１の値は、第２のデータの各要素２２に分散されていると言うことができる。この例のように、注目位置Ｈ（ｘ、ｙ）における多値の第１の要素２１はほぼ正確に再現される。しかしながら、元の多値の第１の要素２１が基準値３０に対して大きく離れているようなデータに対しては、第２のデータ１２から可逆的に第１のデータ１１を再現することが難しい。そのようなデータは、第２の要素２１として２値ではなく、多値の差分値を採用することにより、可逆性を向上することができる。しかしながら、第２のデータ１２のデータ量は増加することになる。
【００２８】
図５に、エンコーダ１０において、第１のデータ１１から第２のデータ１２を生成する処理の概要をフローチャートにより示してある。エンコーダ１０では、カメラ機能３５により撮影対象物４が多値画像データ１１として取得されたときや、携帯電話１のメモリに記録されている多値画像データ１１をメール５に添付する指示があったときには、ステップ７１において、２値化機能５１により、注目位置Ｈ（ｘ、ｙ）の多値要素２１を順番に読み込み、それと前後して、あるいは同時にステップ７２において、基準値算出機能５２により、注目位置Ｈ（ｘ、ｙ）に対する３つの隣接位置の２値要素２２の和を基準値３０として求める。次に、ステップ７３において、２値化機能５１により、求められた基準値３０を閾値として、読み込んだ注目位置Ｈ（ｘ、ｙ）の多値要素２１を２値化し、ステップ７４において、２値化された値を注目位置Ｈ（ｘ、ｙ）の２値要素２２として携帯電話１のメモリに記録する。ステップ７５において、画像データ１１を左上から右下に向けて走査しながら全ての多値要素２１についての２値化が終了すると、ステップ７６において、画像データ１１の２値データ１２をメールの添付ファイルなどとして出力する。処理速度あるいは通信速度に依存するが、ステップ７３において第２の要素２２を２値化しながら通信経路に流すことも可能である。
【００２９】
図６にデコーダ２０において、２値の第２のデータ１２から多値の第１のデータ１３を生成する処理の概要をフローチャートにより示してある。デコーダ２０では、メール５に添付された２値データ１２を再生する指示などがあると、ステップ８１において、多値化機能６１により、注目位置Ｈ（ｘ、ｙ）の２値要素２２を読み込み、それと前後して、あるいは同時に、ステップ８２において、基準値生成機能６２により、注目位置Ｈ（ｘ、ｙ）に対する３つの隣接位置の２値要素２２の和を基準値３０として求める。ステップ８３において、多値化機能６１により、求められた基準値３０と、読み込んだ注目位置Ｈ（ｘ、ｙ）の２値要素２２との和を求め、その値を、ステップ８４において、注目位置Ｈ（ｘ、ｙ）の多値要素２１ａとしてＰＣ２のディスクなどのメモリに記録する。ステップ８５において、このような処理を、多値化機能６１により、適当なシーケンスで実行し、第２のデータ１２の全ての２値要素２２について処理が完了すると、ステップ８６において、ビュワー４２の機能や、他のアプリケーションの機能を用いて出力する。これにより、パーソナルコンピュータ２の側では、携帯電話１から２値データ１２により転送された多値画像をディスプレイ２ａに表示したり、不図示のプリンタで印刷することができる。
【００３０】
処理速度などに依存するが、ステップ８３において、１つの多値要素２２が復元する毎に他の機能を用いて画像として出力することも可能である。特に、多値要素２１ａは、走査しながら復元する必要がないので、画像データ１１を途中から再生したり、所定のピッチの画素から再生することにより、様々な効果を得ることができる。
【００３１】
本例では、図５および図６に示した処理は、各ステップを実行可能な命令を有するプログラムを携帯電話１やパーソナルコンピュータ２のＣＰＵなどのハードウェアで実行することにより実現することが可能であり、また、これらの処理を実行する専用のハードウェア（チップ）として提供することも可能である。これらの処理を実行可能な命令を有するプログラムはＲＯＭなどの記録媒体に記録して提供することが可能であり、インターネットなどのコンピュータネットワークを介して提供することも可能である。
【００３２】
また、注目位置Ｈ（ｘ、ｙ）に対する第１の関係の位置として、３つの位置が選択されるようになっており、注目位置Ｈ（ｘ、ｙ）をあわせると、トータルで４つの位置の２値要素２２を用いて多値要素２１ａを算出する。このため、０〜４の階調値、すなわち、多値要素２１と同じ階調数「５」を表すことができるので、４つの２値要素２２の和を演算するだけで元の５階調の多値要素を得ることができる。第１の関係にある位置を広範囲に広げることも可能であるが、小さな階調値の多値要素が広い範囲に展開されてしまう可能性もある。このような場合は、再現される値の上限や下限の閾値を設けて正規化することが望ましい。
【００３３】
上記では、画像データ１１からそのまま２値データ１２を生成する例を説明したが、図７には、画像データ１１の多値要素２１を平均化してから２値データを生成する例を示してある。図７（ａ）および（ｄ）に示すように、注目位置Ｈ（ｘ、ｙ）と、注目位置Ｈ（ｘ、ｙ）に対して第１の関係にある３つの位置を含む領域（２画素×２画素の領域）Ｒに含まれる多値要素２１の平均を算出し、この平均値を新たな多値要素３１とする。具体的には、領域Ｒに含まれる多値要素２１の平均値Ａを図７（ｅ）に示された条件にしたがって分類し新たな多値要素３１に置き換える。
【００３４】
平均値Ａが式（１）の条件を満足すれば、平均化後の多値要素３１を「０」、式（２）を満足すれば、平均化後の多値要素３１を「１」、式（３）を満足すれば、平均化後の多値要素３１を「２」、式（４）を満足すれば、平均化後の多値要素３１を「３」、式（５）を満足すれば、平均化後の多値要素３１を「４」とする。このような条件にしたがって、画像データ１１に対して左上から右下に向かって処理を進めることにより画像データ１１が左上にシフトされたデータ１１ｂが得られる。本例では、画像データが左上にシフトするので、シフトした部分の多値要素を補うために、「０」の多値要素３１が逆Ｌ字状に配列されたデータ１１ｃを付加し、これらのデータ１１ｂおよび１１ｃにより９×９の平均化データ３２を生成している。
【００３５】
この平均化データ３２を、上記と同様に２値化処理したのが、図７（ｂ）に示した２値データ１２であり、この２値データ１２を、上記と同様に再生または多値化処理したのが、図７（ｃ）に示した平均化データ１３ａである。再生された平均化データ１３ａは完全ではないが元の平均化データ３２を再現している。
【００３６】
なお、上記では、第１のデータとして、第１の要素が２次元に配列された画像データを２値化して再現する例を説明しているが、２次元に限定されずに、３次元などの多次元であっても良い。２値化に限定されずに、ｎ（ｎ≧２）ビットの第１の要素２１が（ｎ−１）ビットの第２の要素２２にできれば、第１のデータ１１をデータ量の少ない第２のデータ１２に変換することが可能である。このため、本発明は、画像データ１１を２値データ１２に変換する処理に限定されずに、第１の要素２１よりも少ないビット数で表される第２の要素に変換する処理に適用可能である。また、第２の要素が、注目位置の第２の要素により第１の関数により演算された基準値と、注目位置の第１の要素との差分を示すようにする方式は、第２の要素を第１の要素よりも少ないビット数で表せる一つの例である。
【００３７】
さらに、上記で説明した、注目位置に対する第１の関係の位置、第１の関数、画像データ１１の階調値などは例示であって、本発明はこれらに限定されるものではない。また、本発明を、携帯電話１とパーソナルコンピュータ２からなるシステムを例に説明したが、このようなシステムに限定されることはなく、機器同士でのデータ通信、または、同じ機器内でのデータの記録保存など、データを圧縮して復元するあらゆる場面で利用することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明に係るデータを生成する方法を適用したシステムの一例である。
【図２】図２（ａ）は元の画像データ、図２（ｂ）は元の画像データから生成された２値データ、図２（ｃ）は２値データから再現された画像データを示す図である。
【図３】携帯電話に搭載されたエンコーダの概略を示す図である。
【図４】パーソナルコンピュータに搭載されたデコーダの概略を示す図である。
【図５】エンコーダの概略の処理を示す図である。
【図６】デコーダの概略の処理を示す図である。
【図７】図７（ａ）は元の画像データを平均化した後のデータ、図７（ｂ）は平均化した後のデータから生成した２値データ、図７（ｃ）は２値データから再現されたデータ、図７（ｄ）は元の画像データの一部、図７（ｅ）は平均化の条件を示す図である。
【符号の説明】
【００３９】
１    携帯電話
２    パーソナルコンピュータ
１０    エンコーダ
１１    画像データ（第１のデータ）
１２    ２値データ（第２のデータ）
２０    デコーダ
２１    多値要素（第１の要素）
２２    ２値要素（第２の要素）
５１    ２値化機能
６１    多値化機能
【図１】
2006041850.tif 000003
【図２】
2006041850.tif 000004
【図３】
2006041850.tif 000005
【図４】
2006041850.tif 000006
【図５】
2006041850.tif 000007
【図６】
2006041850.tif 000008
【図７】
2006041850.tif 000009