(57)【特許請求の範囲】
【請求項１】
複数の値が配列されてなる原データにおいてデータ配列上の各所定の位置をそれぞれ表す各インデックスが、前記原データの少なくとも一部をランレングス圧縮して得られる圧縮データにおいてそれぞれどの位置に対応するかを表すインデックス対応情報を作成し、
前記原データのデータ配列上の所望の位置を特定する、該所望の位置近傍の前記インデックスと該インデックスからのずれ量とを求め、
前記インデックス対応情報に基づいて、前記原データ上の前記所望の位置近傍のインデックスに対応する前記圧縮データ上の位置を求めるとともに、該位置と前記ずれ量とにより、前記圧縮データにおける前記所望の位置に対応する位置を特定することを特徴とする圧縮データの位置特定方法。
【請求項２】
前記インデックス対応情報が、
前記圧縮データを構成する複数のレングスデータのうち、前記インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報と、
該レングスデータ特定情報が特定するレングスデータに含まれる各前記値に対応する位置の中で前記インデックスに対応する位置を相対的に特定するインデックス相対位置特定情報とを含むものであることを特徴とする請求項１記載の圧縮データの位置特定方法。
【請求項３】
前記圧縮データが、前記各インデックスが表す位置と、該圧縮データを構成するいずれかのレングスデータに含まれる各前記値のうち先頭または最後尾のいずれか所定の側の値に対応する位置とが一致するように構成されたものであり、
前記インデックス対応情報が、前記インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報を含むものであることを特徴とする請求項１記載の圧縮データの位置特定方法。
【請求項４】
前記所望の位置近傍のインデックスが、前記所望の位置の最寄りのインデックスであることを特徴とする請求項１から３いずれか記載の圧縮データの位置特定方法。
【請求項５】
前記原データが、２値化データであることを特徴とする請求項１から４いずれか記載の圧縮データの位置特定方法。
【請求項６】
前記各インデックスが、データ配列上の一定の間隔で規定されるものであることを特徴とする請求項１から５いずれか記載の圧縮データの位置特定方法。
【請求項７】
前記位置を特定する工程が、前記圧縮データにおける、前記原データのデータ配列上の２つの異なる所望の位置に対応する切出し位置をそれぞれ特定する工程であり、
該工程の後、前記切出し位置間のデータを前記圧縮データから切り出すことを特徴とする請求項１から６いずれか記載の圧縮データの位置特定方法。
【請求項８】
前記データを切り出す工程が、前記圧縮データの少なくとも一部を圧縮状態のまま切り出す工程であることを特徴とする請求項７記載の圧縮データの位置特定方法。
【請求項９】
前記原データが、画像を構成する行列状に並んだ複数の画素の各々に対応する画素値を前記値とする画像データであり、
前記圧縮データが、前記画像における前記画素の画素値を画素行毎にランレングス圧縮したデータであり、
前記所望の位置が、前記画像において隣接する複数の画素行の各々において切出された画素群を接続して得られる前記画像における前記画素行と非平行な直線に沿って存する画素群に対応するレングスデータ群を取得するための、前記切出された画素群の各切出し位置であることを特徴とする請求項１から６いずれか記載の圧縮データの位置特定方法。
【請求項１０】
複数の値が配列されてなる原データにおけるデータ配列上の各所定の位置をそれぞれ表す各インデックスが、前記原データの少なくとも一部をランレングス圧縮して得られる圧縮データにおいてそれぞれどの位置に対応するかを表すインデックス対応情報を記憶する記憶手段と、
前記原データのデータ配列上の所望の位置を特定する、該所望の位置近傍の前記インデックスと該インデックスからのずれ量とを表す所望位置情報を取得する所望位置情報取得手段と、
前記インデックス対応情報に基づいて、前記原データ上の前記所望の位置近傍のインデックスに対応する前記圧縮データ上の位置を求めるとともに、該位置と前記ずれ量とにより、前記圧縮データにおける前記所望の位置に対応する位置を特定する位置特定手段とを備えたことを特徴とする圧縮データの位置特定装置。
【請求項１１】
前記インデックス対応情報が、
前記圧縮データを構成する複数のレングスデータのうち、前記インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報と、
該レングスデータ特定情報が特定するレングスデータに含まれる各前記値に対応する位置の中で前記インデックスに対応する位置を相対的に特定するインデックス相対位置特定情報とを含むものであることを特徴とする請求項１０記載の圧縮データの位置特定装置。
【請求項１２】
前記圧縮データが、前記各インデックスが表す位置と、該圧縮データを構成するいずれかのレングスデータに含まれる各前記値のうち先頭または最後尾のいずれか所定の側の値に対応する位置とが一致するように構成されたものであり、
前記インデックス対応情報が、前記インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報を含むものであることを特徴とする請求項１０記載の圧縮データの位置特定装置。
【請求項１３】
前記所望の位置近傍のインデックスが、前記所望の位置の最寄りのインデックスであることを特徴とする請求項１０から１２いずれか記載の圧縮データの位置特定装置。
【請求項１４】
前記原データが、２値化データであることを特徴とする請求項１０から１３いずれか記載の圧縮データの位置特定装置。
【請求項１５】
前記各インデックスが、データ配列上の一定の間隔で規定されるものであることを特徴とする請求項１０から１４いずれか記載の圧縮データの位置特定装置。
【請求項１６】
前記位置特定手段が、前記圧縮データにおける、前記原データのデータ配列上の２つの異なる所望の位置に対応する切出し位置をそれぞれ特定するものであり、
前記切出し位置間のデータを前記圧縮データから切り出す手段をさらに備えたことを特徴とする請求項１０から１５いずれか記載の圧縮データの位置特定装置。
【請求項１７】
前記データを切り出す手段が、前記圧縮データの少なくとも一部を圧縮状態のまま切り出すものであることを特徴とする請求項１６記載の圧縮データの位置特定装置。
【請求項１８】
前記原データが、画像を構成する行列状に並んだ複数の画素の各々に対応する画素値を前記値とする画像データであり、
前記圧縮データが、前記画像における前記画素の画素値を画素行毎にランレングス圧縮したデータであり、
前記所望の位置が、前記画像において隣接する複数の画素行の各々において切出された画素群を接続して得られる前記画像における前記画素行と非平行な直線に沿って存する画素群に対応するレングスデータ群を取得するための、前記切出された画素群の各切出し位置であることを特徴とする請求項１０から１５いずれか記載の圧縮データの位置特定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ランレングス圧縮データの位置特定方法および装置に関し、詳しくは、圧縮前の原データにおけるデータ配列上の所望の位置に対応する、ランレングス圧縮後のデータにおける位置を特定するための方法および装置に関するものである。
【背景技術】
【０００２】
昨今、コンピュータの処理能力の向上に伴い、大サイズのデータが頻繁に扱われるようになったが、このような大サイズのデータをそのまま扱おうとすると、データ処理量が増大し、また、大量のメモリを占有するため、非効率的で非経済的である。そこで、データが持つ情報をできるだけ損なわないようにデータサイズを小さくする、いわゆるデータ圧縮が行われている。
【０００３】
データ圧縮の方法はこれまでに種々提案されているが、その一つとしてランレングス（ｒｕｎ−ｌｅｎｇｔｈ）圧縮方法がある。この圧縮方法は、データ上に同じ値が連続して出現するような場合に、その値が連続するという冗長性を利用して、同じ値が連続する長さを符号化（ｃｏｄｉｎｇ）する方法であり、ランレングス圧縮データは、その長さを表すレングスデータの集まりとして構成される。例えば、白色と黒色の画素のみで構成される２値画像を、白色画素が連続する長さと黒色画素が連続する長さとで表すことができる（例えば、特許文献１等）。
【０００４】
ところで、データを取り扱う上で、原データ（オリジナルデータ）上の所望の位置に配された値を読み取ったり、加工したりすることが行われるが、この場合、当然ながら原データにおけるその所望の位置を特定する必要がある。圧縮されていない原データにおいては、通常、各値にアドレスが割り当てられているので、そのアドレスに基づいて比較的単純に、上記の所望の位置を特定することができる。一方、ランレングス圧縮されたランレングス圧縮データにおいては、各値が各アドレスに割り当てられていないため、ランレングス圧縮データ上で上記の所望の位置に対応する位置を特定するには、その所望の位置が、原データ上で先頭から何番目の位置であるかを求めた後（例えばＮ番目の位置とする）、ランレングス圧縮データ上でこのランレングス圧縮データを構成する各レングスデータに含まれる値の長さ（値の個数）を先頭から順次加算して求めた値と、先に求めた「Ｎ」との大小比較から、その所望の位置を見つけることとなる。
【特許文献１】特開２００１−１０２９３７公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のレングスデータに含まれる値の長さを先頭から順次加算してゆく方法では、演算処理量が膨大となり、ランレングス圧縮データ上の位置を高速に特定することができないという問題がある。
【０００６】
本発明は、上記事情に鑑み、ランレングス圧縮データにおける、圧縮前の原データ上の位置に対応する位置を高速に特定することが可能なランレングス圧縮データの位置特定方法および装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明の第１の圧縮データの位置特定方法は、
複数の値が配列されてなる原データにおいてデータ配列上の各所定の位置をそれぞれ表す各インデックスが、前記原データの少なくとも一部をランレングス圧縮して得られる圧縮データにおいてそれぞれどの位置に対応するかを表すインデックス対応情報を作成し、
前記インデックス対応情報に基づいて、前記圧縮データにおける、前記原データのデータ配列上の所望の位置に対応する位置を特定することを特徴とする方法である。
【０００８】
本発明の第２の圧縮データの位置特定方法は、
複数の値が配列されてなる原データにおいてデータ配列上の各所定の位置をそれぞれ表す各インデックスが、前記原データの少なくとも一部をランレングス圧縮して得られる圧縮データにおいてそれぞれどの位置に対応するかを表すインデックス対応情報を作成し、
前記原データのデータ配列上の所望の位置を特定する、該所望の位置近傍の前記インデックスと該インデックスからのずれ量とを求め、
前記インデックス対応情報に基づいて、前記原データ上の前記所望の位置近傍のインデックスに対応する前記圧縮データ上の位置を求めるとともに、該位置と前記ずれ量とにより、前記圧縮データにおける前記所望の位置に対応する位置を特定することを特徴とする方法である。
【０００９】
本発明の第２の圧縮データの位置特定方法において、
前記インデックス対応情報は、
前記圧縮データを構成する複数のレングスデータのうち、前記インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報と、
該レングスデータ特定情報が特定するレングスデータに含まれる各前記値に対応する位置の中で前記インデックスに対応する位置を相対的に特定するインデックス相対位置特定情報とを含むものであってもよい。
【００１０】
また、本発明の第２の圧縮データの位置特定方法において、
前記圧縮データは、前記各インデックスが表す位置と、該圧縮データを構成するいずれかのレングスデータに含まれる各前記値のうち先頭または最後尾のいずれか所定の側の値に対応する位置とが一致するように構成されたものであり、
前記インデックス対応情報は、前記インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報を含むものであってもよい。
【００１１】
また、本発明の第２の圧縮データの位置特定方法において、
前記所望の位置近傍のインデックスは、前記所望の位置の最寄りのインデックスであってもよい。
【００１２】
本発明の第１および第２の圧縮データの位置特定方法において、
前記原データは、２値化データであってもよい。
【００１３】
また、本発明の第１および第２の圧縮データの位置特定方法において、
前記各インデックスは、データ配列上の一定の間隔で規定されるものであってもよい。
【００１４】
また、本発明の第１および第２の圧縮データの位置特定方法において、
前記位置を特定する工程は、前記圧縮データにおける、前記原データのデータ配列上の２つの異なる所望の位置に対応する切出し位置をそれぞれ特定する工程であり、
該工程の後、前記切出し位置間のデータを前記圧縮データから切り出すようにしてもよい。
【００１５】
この場合において、
前記データを切り出す工程は、前記圧縮データの少なくとも一部を圧縮状態のまま切り出す工程であってもよい。
【００１６】
本発明の第１および第２の圧縮データの位置特定方法において、
前記原データは、画像を構成する行列状に並んだ複数の画素の各々に対応する画素値を前記値とする画像データであり、
前記圧縮データは、前記画像における前記画素の画素値を画素行毎にランレングス圧縮したデータであり、
前記所望の位置は、前記画像において隣接する複数の画素行の各々において切出された画素群に対応するレングスデータを接続して前記画像における前記画素行と非平行な直線に沿って存する画素群に対応するレングスデータ群を取得する場合における、前記切出された画素群の各切出し位置に対応する前記圧縮データ上の位置であってもよい。
【００１７】
本発明の圧縮データの位置特定装置は、
複数の値が配列されてなる原データにおけるデータ配列上の各所定の位置をそれぞれ表す各インデックスが、前記原データの少なくとも一部をランレングス圧縮して得られる圧縮データにおいてそれぞれどの位置に対応するかを表すインデックス対応情報を記憶する記憶手段と、
前記原データのデータ配列上の所望の位置を特定する、該所望の位置近傍の前記インデックスと該インデックスからのずれ量とを表す所望位置情報を取得する所望位置情報取得手段と、
前記インデックス対応情報に基づいて、前記原データ上の前記所望の位置近傍のインデックスに対応する前記圧縮データ上の位置を求めるとともに、該位置と前記ずれ量とにより、前記圧縮データにおける前記所望の位置に対応する位置を特定する位置特定手段とを備えたことを特徴とするものである。
【００１８】
本発明の圧縮データの位置特定装置において、
前記インデックス対応情報は、
前記圧縮データを構成する複数のレングスデータのうち、前記インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報と、
該レングスデータ特定情報が特定するレングスデータに含まれる各前記値に対応する位置の中で前記インデックスに対応する位置を相対的に特定するインデックス相対位置特定情報とを含むものであってもよい。
【００１９】
また、本発明の圧縮データの位置特定装置において、
前記圧縮データは、前記各インデックスが表す位置と、該圧縮データを構成するいずれかのレングスデータに含まれる各前記値のうち先頭または最後尾のいずれか所定の側の値に対応する位置とが一致するように構成されたものであり、
前記インデックス対応情報は、前記インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報を含むものであってもよい。
【００２０】
また、本発明の圧縮データの位置特定装置において、
前記所望の位置近傍のインデックスは、前記所望の位置の最寄りのインデックスであってもよい。
【００２１】
また、本発明の圧縮データの位置特定装置において、
前記原データは、２値化データであってもよい。
【００２２】
また、本発明の圧縮データの位置特定装置において、
前記各インデックスは、データ配列上の一定の間隔で規定されるものであってもよい。
【００２３】
また、本発明の圧縮データの位置特定装置において、
前記位置特定手段は、前記圧縮データにおける、前記原データのデータ配列上の２つの異なる所望の位置に対応する切出し位置をそれぞれ特定するものであり、
前記切出し位置間のデータを前記圧縮データから切り出す手段をさらに備えたものであってもよい。
【００２４】
この場合において、
前記データを切り出す手段は、前記圧縮データの少なくとも一部を圧縮状態のまま切り出すものであってもよい。
【００２５】
また、本発明の圧縮データの位置特定装置において、
前記原データは、画像を構成する行列状に並んだ複数の画素の各々に対応する画素値を前記値とする画像データであり、
前記圧縮データは、前記画像における前記画素の画素値を画素行毎にランレングス圧縮したデータであり、
前記所望の位置は、前記画像において隣接する複数の画素行の各々において切出された画素群に対応するレングスデータを接続して前記画像における前記画素行と非平行な直線に沿って存する画素群に対応するレングスデータ群を取得する場合における、前記切出された画素群の各切出し位置に対応する前記ランレングス圧縮データ上の位置であってもよい。
【００２６】
本発明の圧縮データのデータ構造は、
複数の値が配列されてなる原データの少なくとも一部をランレングス圧縮して得られた圧縮データと、
前記原データおよび前記圧縮データのうち一方のデータ上で離散的に規定された複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報とを含むことを特徴とするものである。
【００２７】
本発明のコンピュータ読取可能な記録媒体は、
複数の値が配列されてなる原データの少なくとも一部をランレングス圧縮して得られた圧縮データと、
前記原データおよび前記圧縮データのうち一方のデータ上で離散的に規定された複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報とが記録されたことを特徴とするものである。
【００２８】
本発明の第１のデータ処理装置は、
複数の値が配列されてなる原データの少なくとも一部をランレングス圧縮して得られた圧縮データと、前記原データおよび前記圧縮データのうち一方のデータ上で離散的に規定された複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報とが記録された電磁的に読取可能な記録媒体と、
前記記録媒体から読み取られた前記インデックス対応情報に基づいて、前記原データ上の特定の位置に対応する前記圧縮データ上の位置を特定する手段とを備えたことを特徴とするものである。
【００２９】
本発明の第２のデータ処理装置は、
複数の値が配列されてなる原データの少なくとも一部をランレングス圧縮して得られた圧縮データと、前記原データおよび前記圧縮データのうち一方のデータ上で離散的に規定された複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報とが記録された電磁的に読取可能な記録媒体と、
前記記録媒体から前記圧縮データと前記インデックス対応情報とを読み取り、前記インデックス対応情報に基づいて、前記原データ上の特定の範囲に対応する前記圧縮データ上の範囲のデータを切り出す手段とを備えたことを特徴とするものである。
【００３０】
本発明の第２のデータ処理装置において、
前記データを切り出す手段は、前記圧縮データの少なくとも一部を圧縮状態のまま切り出すものであってもよい。
【００３１】
本発明の第３の圧縮データの位置特定方法は、
複数の値が配列されてなる原データおよび該原データの少なくとも一部をランレングス圧縮して得られた圧縮データのうち一方のデータ上で離散的に規定された複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報に基づいて、前記原データ上の特定の位置に対応する前記圧縮データ上の位置を特定することを特徴とする方法である。
【００３２】
本発明のデータ切り出し方法は、
複数の値が配列されてなる原データおよび該原データの少なくとも一部をランレングス圧縮して得られた圧縮データのうち一方のデータ上で離散的に規定された複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報に基づいて、前記原データ上の特定の範囲に対応する前記圧縮データ上の切出し範囲を特定し、
前記圧縮データから前記切出し範囲のデータを切り出すことを特徴とする方法である。
【００３３】
本発明のデータ切り出し方法において、
前記切出し範囲のデータを切り出す工程は、前記圧縮データの少なくとも一部を圧縮状態のまま切り出す工程であってもよい。
【００３４】
本発明のインデックス対応情報形成方法は、
複数の値が配列されてなる原データおよび該原データの少なくとも一部をランレングス圧縮して得られた圧縮データのうち一方のデータ上で複数のインデックスを離散的に規定し、
前記複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報を形成することを特徴とする方法である。
【００３５】
本発明のインデックス対応情報形成装置は、
複数の値が配列されてなる原データおよび該原データの少なくとも一部をランレングス圧縮して得られた圧縮データのうち一方のデータ上で複数のインデックスを離散的に規定する手段と、
前記複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報を形成する手段とを備えたことを特徴とするものである。
【００３６】
この場合において、本発明のインデックス対応情報形成装置は、
前記原データの少なくとも一部をランレングス圧縮して前記圧縮データを形成する手段をさらに備えるものであってもよい。
【００３７】
本発明の描画装置は、複数の値が配列されてなる原データの少なくとも一部をランレングス圧縮して得られた圧縮データと、前記原データおよび前記圧縮データのうち一方のデータ上で離散的に規定された複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報とが記録された電磁的に読取可能な記録媒体と、
前記記録媒体から前記圧縮データと前記インデックス対応情報とを読み取り、前記インデックス対応情報に基づいて、前記原データ上の特定の範囲に対応する前記圧縮データ上の切出し範囲のデータを切り出す手段と、
前記切出し範囲のデータに基づいて画像を描画する描画手段とを備えたことを特徴とするものである。
【００３８】
本発明の描画方法は、複数の値が配列されてなる原データおよび該原データの少なくとも一部をランレングス圧縮して得られた圧縮データのうち一方のデータ上で離散的に規定された複数のインデックスの各々が、前記原データおよび前記圧縮データのうち他方のデータ上のどの位置に対応するかを表すインデックス対応情報に基づいて、前記原データ上の特定の範囲に対応する前記圧縮データ上の切出し範囲を特定し、
前記圧縮データから前記切出し範囲のデータを切り出し、
前記切出し範囲のデータに基づいて画像を描画することを特徴とする方法である。
【発明の効果】
【００３９】
本発明の圧縮データの位置特定方法および装置によれば、原データにおいてデータ配列上の所定の位置をそれぞれ表す各インデックスが、原データの少なくとも一部をランレングス圧縮して得られる圧縮データにおいてそれぞれどの位置に対応するかを表すインデックス対応情報を予め作成しておき、このインデックス対応情報によって、原データ上の位置と圧縮データ上の位置とを、インデックスからの相対的な位置として対応付けし、これにより原データ上の所望の位置に対応する圧縮データ上の位置を特定するので、圧縮データ上の位置を、レングスデータが表す値の個数を先頭から順次加算して各値の順番を求めずとも、その位置近傍のインデックスを基準とした相対的な位置として把握することができ、圧縮データにおける、圧縮前の原データ上の所望の位置に対応する位置を高速に特定することが可能となる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明の実施の形態について説明する。
【００４１】
図１は、本発明の一実施形態に係る画像データ読出し装置１００の概略構成を示す図である。
【００４２】
この画像データ読出し装置１００は、複数の値が配列されてなる原データＰをランレングス圧縮（以下ＲＬ圧縮という）して得られるＲＬ圧縮データＰ′と、原データＰにおいてデータ配列上の所定の位置をそれぞれ表す各インデックスが、ＲＬ圧縮データＰ′においてそれぞれどの位置に対応するかを表すインデックス対応情報Ｗとを記憶する記憶手段１０と、原データＰのデータ配列上の所望の位置を特定する、当該所望の位置近傍のインデックスと当該インデックスからのずれ量とを表す所望位置情報Ｔを取得する所望位置情報取得手段２０と、インデックス対応情報Ｗに基づいて、原データＰ上の所望の位置近傍のインデックスに対応するランレングス圧縮データＰ′上の位置を求めるとともに、当該位置と上記ずれ量とにより、ランレングス圧縮データＰ′における上記所望の位置に対応する位置を特定する位置特定手段３０と、ランレングス圧縮データＰ′において特定された所望の位置に対応する位置から値を読み出して出力するデータ読出手段４０とを備えている。
【００４３】
原データＰは、複数の画素からなるデジタル画像Ｐを表す画像データであって、画像Ｐにおける座標(x,y)の画素の濃度（白／黒）を表すデータ値dy(x)，x=0,1,2,…，y=1,2,3,…が配列されてなる２値化データである。
【００４４】
また、画像データＰをＲＬ圧縮して得られるＲＬ圧縮データＰ′は、画像Ｐにおける画素行（水平ライン）yについて同種の値が連続する長さを表すレングスデータrle_dy[pointer]，pointer=0,1,2,…が配列されてなるものである。ここでpointerは画素行yについてのレングスデータのうち先頭から何番目のデータであるかを表すパラメータである。なお、画像データのＲＬ圧縮データはレングスデータにその色を示すカラーコードを付加する場合があるが、省略も可能である。
【００４５】
原データＰにおいて目印となるインデックスは、画像Ｐにおける各画素行に対応する原データ毎に、データ配列上の一定の間隔で規定されるものであり、ここでは、先頭の画素の位置を含め、そこから画素間隔Ｈで規定される各位置を表すものである。
【００４６】
インデックス対応情報Ｗは、画像Ｐにおける画素行ｙに対応した原データ上の各インデックスが、ＲＬ圧縮データＰ′上のどの位置にあるかを特定する位置データindex_dy[index_pointer]，（index_pointer=0,1,2,…；その画素行yにおいて先頭から何番目のインデックスであるかを表すパラメータ）が配列されてなるデータであり、この位置データindex_dy[index_pointer]は、ＲＬ圧縮データＰ′を構成する複数のレングスデータのうち、各インデックスが表す位置が含まれるレングスデータを特定する、レングスデータ特定情報としてのポインタrle_pointer，（rle_pointer=0,1,2,…；インデックスが表す位置が含まれるレングスデータがその画素行の先頭から何番目のレングスデータであるかを表すパラメータ）と、そのポインタによって特定されるレングスデータに含まれる各値、すなわち、そのレングスデータを原データに展開したときに現れる連続する各値に対応する位置の中でインデックスに対応する位置を相対的に特定するインデックス相対位置特定情報としてのオフセットrle_offset，（rle_offset=0,1,2,…；インデックスが表す位置がrle_pointerによって特定されたレングスデータに含まれる各値の中で先頭から何番目の値に対応する位置であるかを表すパラメータ）とを有するデータ（rle_pointer，rle_offset）で表される。
【００４７】
所望位置情報取得手段２０は、所望位置情報Ｔとして、画像Ｐにおける所望の画素の座標（xs，ys）を取得し、原データＰにおけるこの画素の値dys(xs)の位置を特定する、当該位置に対して内輪で最寄りのインデックスＩＳと当該インデックスＩＳからのずれ量ＲＳを求めるものである。ＩＳは、画素行ysと、当該画素行の何番目のインデックスであるかを表すパラメータindex_pointer_s，（index_pointer_s =0,1,2,…）、ＲＳは、インデックスＩＳを基準に何番目の値の位置であるかを表すパラメータrlt_s，（rlt_s =0,1,2,…）で表すことができ、index_pointer_s、rlt_sはそれぞれ、式（１），（２）に従って算出することができる。
【００４８】
index_pointer_s＝INT(xs/H)        （１）
rlt_s＝xs−H×index_pointer_s     （２）
ここで、INTは小数点以下を切り捨てる関数であり、Hはインデックスが規定されるデータ配列上の一定画素間隔である。
【００４９】
位置特定手段３０は、インデックス対応情報Ｗを記憶手段１０から読み出し、このインデックス対応情報Ｗに基づいて、求められたインデックスＩＳに対応するＲＬ圧縮データＰ′上の対応インデックスＩＳ′を求め、この対応インデックスＩＳ′と上記ずれ量ＲＳから、ランレングス圧縮データＰ′における所望の画素に対応する位置（ＩＳ′＋ＲＳ）を特定する。以下、その具体的手法を説明する。
【００５０】
(1) インデックスＩＳを特定するパラメータから対応インデックスＩＳ′を特定するパラメータを求める。
【００５１】
画素行ysと、index_pointer_sにより、インデックス対応情報Ｗの位置データindex_dys[index_pointer_s]を参照し、この位置データが示すパラメータ（rle_pointer_s，rle_offset_s）を得る。
【００５２】
(2)対応インデックスＩＳ′＋ずれ量ＲＳにより、所望の位置に対応する位置を求める。
【００５３】
(2-1）  ｎ＝０    ；パラメータｎの初期設定
(2-2）  rlt_s ＜ Σ(i=0→n)  rle_dys[rle_pointer_s＋i]−rle_offset_s    （３）
を満たすか判定
；所望の位置に対応する位置が、対応インデックスＩＳ′を含むレングスデータを基準としてｎ番目のレングスデータに含まれるか否かの判定
(2-3）  (2-2)でYesのとき：所望の位置に対応する位置＝rle_dys[rle_pointer_s＋ｎ]に含まれる各値に対応する位置のうち、先頭から（rle_offset_s＋rlt_s）−（Σ(i=0→n)rle_dys[rle_pointer_s＋i]−ｒle_dys[rle_pointer_s＋n]）個分シフトした位置
(2-2)でNoのとき：ｎ＝ｎ＋１として、(2-2)の処理へ
データ読出手段４０は、位置特定手段３０で特定された、ＲＬ圧縮データＰ′上の上記所望の位置に対応する位置に配された値を、記憶手段１０に記憶されているＲＬ圧縮データＰ′から読み出して出力する。
【００５４】
次に、画像データ読出し装置１００における動作の流れについて、具定例を示して説明する。図２は、その動作の流れを概略的に示したフローチャートである。
【００５５】
本実施例において、画像Ｐは、図３に示すような横２０×縦８の画素からなるデジタル画像とする。画像Ｐにおいての座標は、最左上を原点（０，１）として矢印Ｘ方向（右向き）に横軸ｘ、矢印Ｙ方向（下向き）に縦軸ｙをとる。原データＰは、このような画像Ｐにおける各画素の濃度を、各画素の座標に対してその濃度に応じて異なる２値（例えば０と１）のいずれかを割り当てたものであり、また、ＲＬ圧縮データＰ′は、このような原データＰを、画像Ｐにおける各画素行に対応するデータ毎にＲＬ圧縮して得られるものである。図４は、このようにして得られたＲＬ圧縮データＰ′を表すものである。
【００５６】
また、インデックスは、画像Ｐにおける各画素行について、先頭を含めて画素間隔Ｈ＝５で規定されている。図５は、このように規定された各インデックスが表す位置が、ＲＬ圧縮データＰ′上のどこにあるかをそれぞれ特定する複数の位置データからなるインデックス対応情報（インデックスデータ）Ｗを表したものである。
【００５７】
まず、所望位置情報取得手段２０が、操作者からの入力や他の装置からの入力を受け、所望位置情報Ｔとして、画像Ｐにおける所望の読出し画素の座標（xs，ys）を取得し（＃１）、この座標に対応する原データＰ上の位置を特定する、内輪で最寄りのインデックスＩＳと当該インデックスからのずれ量ＲＳを求める（＃２）。ここでは、具体例として、所望の読出し画素の座標を（１３，３）とする。したがって、先に定義したインデックスの画素間隔H＝5とともに、xs＝13，ys＝3となり、上記式（１），（２）により、インデックスＩＳとずれ量ＲＳを決める各パラメータは、
index_pointer_s＝INT(xs/H)＝INT(13/5)＝2
rlt_s＝xs−H×index_pointer_s＝13-5×2＝3
となる。
【００５８】
所望位置情報取得手段２０によりインデックスＩＳとずれ量ＲＳが特定されると、位置特定手段３０が、インデックス対応情報Ｗを記憶手段１０から読み出し、このインデックス対応情報Ｗに基づいて、インデックスＩＳを特定するパラメータから対応インデックスＩＳ′を特定するパラメータを求める（＃３）。ここで、画素行ys＝3，index_pointer_s＝2より、インデックス対応情報Ｗの参照する位置データは、
index_dys[index_pointer_s]＝index_d3[2]＝（2,1）
となり、対応インデックスＩＳ′を特定するパラメータ、rle_pointer_s＝2，rle_offset_s＝1を得ることになる。
【００５９】
そして、対応インデックスＩＳ′＋ずれ量ＲＳにより、所望の位置に対応する位置を求める（＃４）。ここで、rlt_s＝3，rle_pointer_s＝2，rle_offset_s＝1より、上記(2-1）〜(2-3)の処理を行うと、
n＝0のとき、
rlt_s ＜ Σ(i=0→n)  rle_dys[rle_pointer_s＋i]−rle_offset_s
rlt_s ＜ rle_d3[2]−rle_offset_s
3 ＜ 4−1 ＝3
となり、式を満たさない。そこで、n=n+1として再度判定する。
【００６０】
n＝1のとき、
rlt_s ＜ Σ(i=0→n)rle_dys[rle_pointer_s＋i]−rle_offset_s
rlt_s ＜ rle_d3[2]＋rle_d3[3]−rle_offset_s
3 ＜ 4＋1−1 ＝4
となり、式を満たす。よって、所望の位置に対応する位置は、レングスデータrle_d3[3]に含まれることが分かり、rle_pointer_s＝2，rle_offset_s＝1，rlt_s＝3，ys＝3，n＝1より、
（rle_offset_s＋rlt_s）
−（Σ(i=0→n)rle_dys[rle_pointer_s＋i]−ｒle_dys[rle_pointer_s＋n]）
＝（rle_offset_s＋rlt_s）−（rle_d3[2]＋rle_d3[3]−rle_d3[3]）
＝（1＋3）−（4＋1−1）
＝0
であるから、所望の位置に対応する位置は、レングスデータrle_dys[rle_pointer_s＋n]、すなわち、rle_d3[3]に含まれる各値に対応する位置のうち、先頭から０個分シフトした位置であるということが分かる。
【００６１】
所望の位置に対応する位置が特定できたら、データ読取手段４０が、記憶手段１０からＲＬ圧縮データＰ′上のその位置にある値を読み出し出力する（＃５）。
【００６２】
このように、本実施形態の画像データ読出し装置によれば、原データＰにおいてデータ配列上の所定の位置をそれぞれ表す各インデックスが、原データＰをＲＬ圧縮して得られるＲＬ圧縮データＰ′においてそれぞれどの位置に対応するかを表すインデックス対応情報Ｗを予め作成しておき、このインデックス対応情報Ｗによって、原データＰ上の位置とＲＬ圧縮データＰ′上の位置とを、インデックスからの相対的な位置として対応付けし、これにより原データＰ上の所望の位置に対応するＲＬ圧縮データＰ′上の位置を特定するので、ＲＬ圧縮データＰ′上の位置を、レングスデータが表す値の個数を先頭から順次加算して各値の順番を求めずとも、その位置近傍のインデックスを基準とした相対的な位置として把握することができ、ＲＬ圧縮データＰにおける、圧縮前の原データＰ上の所望の位置に対応する位置を高速に特定することが可能となる。
【００６３】
なお、本実施例においては、所望の位置を１つだけ指定して、ＲＬ圧縮データ上のその対応位置における値を１つだけ読み出して出力したが、もちろん、所望の位置を複数指定して、ＲＬ圧縮データ上のその対応位置で特定される区間の全ての値を読み出して出力するようにしてもよい。
【００６４】
また、ＲＬ圧縮データＰ′は、各インデックスが表す位置と、当該ＲＬ圧縮データＰ′を構成するいずれかのレングスデータに含まれる各値のうち先頭または最後尾のいずれか所定の側の値に対応する位置とが一致するように構成されたものであり、インデックス対応情報Ｗは、インデックスが表す位置が含まれるレングスデータを特定するレングスデータ特定情報としてのポインタrle_pointer_sを含むものとすることもできる。すなわち、原データＰにおいてはたとえ同種の値が連続していても、インデックスの位置で強制的に区切られるように構成することで、インデックスの位置は常にいずれかのレングスデータの先頭または最後尾に位置することとなり、レングスデータを特定するポインタの情報だけでＲＬ圧縮データＰ′上の対応インデックス位置を特定することができる。例えば、上記実施例と同様に、原データＰが図３に示す画像の画像データであって、インデックスが５画素間隔で規定される場合には、ＲＬ圧縮データＰ′およびインデックス対応情報Ｗは、それぞれ、図６，７に示すようなデータとなる。このようにすると、データの圧縮率は低下するが、インデックス対応情報Ｗを構成する位置データがポインタrle_pointer_sのみで足りるという利点がある。なおこの場合において、ＲＬ圧縮データＰ′上の位置を特定するには、本実施例においてオフセットrle_offset_s＝0と考えればよい。
【００６５】
なお、ランレングス圧縮データにおいてレングスデータをインデックスの位置で強制的に区切る場合とそうでない場合とは上述のように一長一短であるから、所望の効果をより得るために、これら２つの手法を用途に応じて切り替えて使用するようにしてもよい。
【００６６】
本実施例では、説明を容易にするため、原データＰが表す画像Ｐのサイズは非常に小さく、インデックスの間隔も狭くしているが、実際には、非常に大きなサイズの画像と間隔の広いインデックスを想定することができ、データのサイズが大きくなるほど、レングスデータに含まれる値の数を先頭から合算してゆく演算処理は膨大で時間がかかるため、本発明の効果も大きくなるものと思われる。
【００６７】
特に、大サイズのデータを扱う描画装置（インクジェット方式等の各種プリンタ、空間光変調素子を用いた面露光方式等の各種デジタル露光機、レーザ走査方式の各種描画装置等）に本実施例を適用するとより効果的である。
【００６８】
本実施例では、原データＰを画像データとしているが、本発明のランレングス圧縮データの位置特定方法は、画像データ以外のデータにも適用可能であることは言うまでもない。また、位置特定後は、その位置にある値を読み出すだけでなく、その位置の値を変更したり、その位置に別の値を挿入したり、その位置の値を削除する等、種々の処理が可能であることも言うまでもない。
【００６９】
また、原データ上の２点に対応するランレングス圧縮データ上の２つの位置を特定し、その間のデータを切り出す際に、切出し位置のレングスデータの値を適切に変更することで、圧縮状態を保ったまま切り出すことができる。
【００７０】
ここで、上述のランレングス圧縮データの位置特定方法を、露光装置における描画点データの取得方法に適用した実施例について説明する。
【００７１】
従来、デジタル・マイクロミラー・デバイス（以下、ＤＭＤという）等の空間光変調素子を利用し、画像データに応じて空間光変調素子により光ビームを変調して露光を行う露光装置が提案されている。このようなＤＭＤを用いた露光装置としては、例えば、ＤＭＤを露光面に対して所定の走査方向に相対的に移動させるとともに、その走査方向への移動に応じてＤＭＤのメモリセルに多数のマイクロミラーに対応した多数の描画点データからなるフレームデータを入力し、ＤＭＤのマイクロミラーに対応した描画点群を時系列に順次形成することにより所望の画像を露光面に形成するものがある。
【００７２】
この露光装置を用いて、例えば、基板を露光してその基板上に配線パターンを描画するような場合では、基板に予め施される熱処理等によって基板が歪んだり、基板を移動させる移動機構の制御精度に応じて基板の移動方向にずれが生じたりする場合があり、このような場合には、配線パターンを基板の歪み方と同じ歪み方で描画することや、基板の移動方向のずれに伴う配線パターンの描画のずれをキャンセルすることなどが望まれる場合がある。
【００７３】
そこで、描画点データに基づいて描画点を形成する描画点形成領域を、基板に対して相対的に移動させるとともに、その移動に応じて描画点を基板上に順次形成して基板上に画像を描画する際に用いられる描画点データを取得する描画点データ取得方法において、画像の描画の際の基板上における描画点形成領域の描画軌跡の情報を取得し、もしくは、基板上の画像空間における描画点形成領域の描画軌跡の情報を取得し、その取得された描画軌跡情報に基づいて画像を表わす画像データ上における描画点形成領域の描画点データ軌跡の情報を取得し、その取得した描画点データ軌跡情報に基づいて描画点データ軌跡に対応した複数の描画点データを画像データから取得する方法が、本出願人により提案されている（特願２００５−１０３７８７参照）。
【００７４】
本実施例は、上述のランレングス圧縮データの位置特定方法を、この描画点データの取得方法に適用したものである。
【００７５】
上記の描画軌跡情報は、例えば、歪みが生じる前の基板上に予め設けられた複数の基準マークをカメラ等で撮像して検出することによりその各基準マークの位置を示す検出位置情報を取得し、その取得した検出位置情報に基づいて取得したり、予め設定された基板の所定相対移動方向に対する画像の描画の際の基板の実相対移動方向のずれ情報を取得し、その取得したずれ情報に基づいて取得したりするができる。
【００７６】
本実施例では、ＤＭＤを備えた露光装置を用いて基板に配線パターン等の画像を描画する場合において、基板の歪み方と同じ歪み方で画像を描画する場合について説明する。
【００７７】
図８は、基板上に水平方向および垂直方向に所定の間隔で予め設けられた複数の基準マークの位置をカメラ等で検出し、その検出された基準マークの位置を格子点としてこれら格子点を直線で結んで得られた格子線Ｃ１（検出位置情報）と、その基準マークが本来あるべき位置（歪む前の位置）を格子点としてこれら格子点を結んで得られた格子線Ｃ２と、ＤＭＤを構成する複数のマイクロミラーのうちの１つが移動する軌跡を表す線（描画軌跡情報）Ｌ１と、格子線Ｃ１に対する線Ｌ１の相対位置を格子線Ｃ２上に変換して得られる線、すなわち、線Ｌ１が格子線Ｃ１上の所定の２つの格子点間の線分を分断する際の分断比ａ１：ｂ１と同一の比ａ２：ｂ２（＝ａ１：ｂ１）でこの線分に対応する格子線Ｃ２上の線分を分断する点を結んで得られる線（描画点データ軌跡情報）Ｌ２との関係を示した図である。
【００７８】
図８から理解されるように、配線パターン等を表す画像が基板の歪み方と同じ歪み方で基板上に描画されるためには、上記のマイクロミラーに対応した描画点群を、画像を表す画像データ上の描画点形成領域において線Ｌ２に沿って時系列的に順次形成することにより、画像を露光面に形成することが必要となる。
【００７９】
すなわち、ここでは、上記ランレングス圧縮データの位置特定方法において、原データを、画像を構成する行列状に並んだ複数の画素の各々に対応する画素値で構成される画像データとし、ランレングス圧縮データを、上記画像における画素の画素値を画素行毎にランレングス圧縮したデータとし、上記所望の位置を、上記画像において隣接する複数の画素行の各々において切出された画素群を接続して得られる前記画像における前記画素行と非平行な直線に沿って存する画素群に対応するレングスデータ群を取得するための、前記切出された画素群の各切出し位置としている。
【００８０】
図９は、描画対象となる画像を図３に示す画像とした場合において、その画像データ上における描画形成領域の描画点データ軌跡を表す線Ｌ２を示した図である。なお、この画像データは、図４に示すように、ランレングス圧縮データとして与えられているものとする。
【００８１】
基板上の所望の位置で露光するための、マイクロミラーに対応した描画点群を得るには、画像データ上における描画形成領域において線Ｌ２と重なる位置に存在する描画点群を、各ライン毎に切り出し、それらをその切り出された順番に接続して取得する必要がある。そのためには、各ラインの切出し位置を特定する必要があるが、切出し位置を特定するためにラインの先頭から各レングスデータが表す描画点データ数を加算していくと処理に時間か掛かるので、一定の画素数間隔（ここでは、５画素間隔）でインデックスを用意し、上述の手法にしたがって、インデックスの位置の近傍でその切出し位置を探索し特定する。
【００８２】
図１０は、このようにして用意されたインデックスデータを示している。このインデックスデータを構成する各データは、切出されたランレングス圧縮データを接続する際に便利なように、インデックスの位置を表す情報のほかにインデックスが含まれるランレングスデータにおいてそのインデックスに対応する描画点データ以降の残りの描画点データ数を情報として有している。すなわち、インデックスが含まれるレングスデータのそのラインにおける先頭からの順位（０から数える）をz1、そのインデックスに対応する描画点データのそのレングスデータ内における先頭からの順位（０から数える）をz2、そのインデックスが含まれるレングスデータにおけるそのインデックスに対応する描画点データ以降の残りの描画点データ数（画素数）をz3として、(z1,z2,z3)で表されている。
【００８３】
ところで、図８に示すように、基板が格子線Ｃ１で表現されるような歪みを有する場合、実際の描画軌跡に相当するミラーの移動軌跡を表す線Ｌ１の長さと、歪みのない理想的な基板上での描画軌跡に相当する描画点データ軌跡を表す線Ｌ２の長さとを、互いに対応する同一区間において比較してみると、線Ｌ１の方が線Ｌ２より長くなっていることが分かる。したがって、これに伴い、描画点データの長さも増やさなければならない場合がある。例えば、線Ｌ１の長さ（実基板上の長さ）と線Ｌ２の長さ（理想基板上の長さ）とを比較した結果、線Ｌ１の長さの方が線Ｌ２の長さより１ピクセル分長いことが判明し、描画点データの長さに１ピクセル分のデータを追加する必要がある場合には、追加したい位置（例えば、真ん中）の前か後のデータと同じ値のデータを１つ追加する必要がある。そこで、上記の各切出し位置が特定されたら、次に、必要に応じて、線Ｌ２の各ライン毎にそのラインに対応する描画点データのピクセルの過不足を調整するため、その過不足数に応じて各ラインを等分し、その位置をインデックスを使って割り出し、その位置のデータが属するレングスデータの値を増減させる。
【００８４】
このようにして、マイクロミラーに対応する描画点群を表す描画点データをランレングス圧縮データで取得する。具体的には、以下のように描画点データを取得する。
【００８５】
線Ｌ２によって切出された各ラインのデータは、図９の画像データからd2(0〜7)+d3(8〜17)+d4(18〜19)である。d2(0)は図１０のindex_d2[0]のインデックスデータ(0,0,20)からrle_d2[0]の値20の１画素目、d2(7)はindex_d2[1]のインデックスデータ(0,5,15)からrle_d2[0]の値20の８画素目となり、この２点は同一データ区間にあることが分かる。したがって、ランレングス圧縮データとしての最初の出力データは「８」(0〜7)となる。
【００８６】
ところが、d3(8)については、index_d3[1]のインデックスデータ(0,5,2)が表す残り画素数(=2)が、このインデックスから次の切出し位置までの描画点数(=8-5=3)を超えないため、rle_d3[1]を調べ、その値(=2)を残り画素数(=2)に加える。すると、2+2=4>3となり、次の切出し位置までの描画点数を越えたため、次の切出し位置はrle_d3[1]の２画素目であることが分かる。同様にd3(17)はrle_d3[4]の値(=6)の４画素目と分かり、ランレングス圧縮データとしての次の出力データは「１，４，１，４」となる。
【００８７】
d4(18〜19)は両端ともindex_d4[3]の(6,1,5)に含まれ、その描画点数は残り画素数(=5)を超えないので、ランレングス圧縮データとしての次の出力データは「２」(18〜19)となる。
【００８８】
したがって、描画点データは、上記の出力データをすべて接続して、「８，１，４，１，４，２」となる。なお、最後方のデータ「４，２」は、同じ白を表すデータなので１つにまとめて「６」としてもよい。
【００８９】
そして、上述のような描画点データにおける過不足がある場合には、適当なレングスデータの値を増減させてその過不足を解消するようにする。
【００９０】
このように、ＤＭＤを用いた露光装置に関し、基板上の所望の位置で露光するための、マイクロミラーに対応した描画点データを得るために、画像データ上における描画形成領域において描画点データ軌跡を表す線と重なる位置に存在する描画点群に相当するデータを各ライン毎に切り出し、それらを接続して描画点データを取得するような場合であって、その画像データがランレングス圧縮されている場合において、その切出し位置を特定する際に、上記ランレングス圧縮データの位置特定方法を利用すれば、その切出し位置を高速に特定することができ、しいては、描画点データを高速に取得することができ、高速な露光を可能にする。
【００９１】
なお、本発明のランレングス圧縮データの位置特定方法は、上記実施例のほかにも、もちろん利用することができる。例えば、同露光装置において、図１１に示すように、ある区間の画像データをコピーするためにそのデータの切出し位置を特定する方法として用いることができる。また、同露光装置において、図１２に示すように、ビーム軌跡とデータの切出しラインとが非平行であることから描画点データの長さとこれに対応する画像データの長さとが異なる場合に、描画点データの長さを補正するべく、描画点データの一部として１つのライン上で切り出される画像データの長さを補正するためにそのデータの切出し位置を特定する方法としても用いることができる。
【００９２】
また、歪み等の生じた実基板上での描画軌跡の長さに合わせ、描画点データの数を補正すべく、画像データから描画点データを取得する際、データ数の過不足調整をする位置を特定する方法として用いたり、画像データ上で複数行に渡って描画点データを取得する際に、行が切り替わる位置を特定する方法として用いることができる。
【００９３】
なお、本実施例では、ランレングス圧縮データはインデックスの位置とは無関係に区切られて構成されているが、この他、ランレングス圧縮データをインデックスの位置で強制的に区切られるように構成するようにしても、同様にして描画点データを求めることができる。
【００９４】
また、インデックスは、原データ側だけでなく、ランレングス圧縮データ側に立てることも考えられる。例えば、図１３に示すように、インデックスを、ランレングス圧縮データを構成する複数のレングスデータの中で所定数おきに現れるレングスデータに対してインデックスを立て、インデックス対応情報を、インデックス位置におけるレングスデータの先頭からの位置と、インデックス位置に対応する原データ上の位置とを含む情報とする。このような実施例において、原データ上の所望の位置に対応するランレングス圧縮データ上の位置を特定するには、次のような方法を用いればよい。例えば、図１３を例に考えた場合、原データ上で注目する位置「３９」（先頭から４０番目のデータの位置）がランレングス圧縮データ上でどの位置に対応するかを求める場合、まず、インデックスが表す原データ上の位置を示す値と「３９」とを先頭のインデックスから順次、大小比較する。すると、位置「３９」は、index(2)とindex(3)の間にあることが分かる（３０＜３９＜４３）。次に、位置「３９」がidnex(2)が表す原データ上の位置「３０」にそれ以降のレングスデータ値を加算し、「３９」と順次、大小比較する。すると、「３９」は、No.7のレングスデータの値“２”の２画素目であることが分かる（（３０＋８）＜３９＜（３０＋８＋２））。
【００９５】
また、ランレングス圧縮データを構成するレングスデータの表し方としては、各レングスデータを例えば８ビットのデータとし、その先頭ビットにそのレングスデータが例えば白／黒のいずれを表すデータであるかを示すカラービットを設ける方法や、レングスデータは通常、白と黒を交互に表すという規則性を利用して、その規則性が変わるときに、レングスデータとして「０」データを挿入する方法等があるが、いずれの表し方であっても、切出し位置におけるレングスデータが表す白／黒の別を正確に把握し、上記の描画点データを的確に取得することができる。
【００９６】
また、本実施の形態では、原データの少なくとも一部がランレングス圧縮されたPackBitsやSRLE（Switched Run Length Encoding）等の圧縮方式を採用することもできる。この場合、不連続データのかたまりを１つのレングスデータとみなしてインデックスを付与するようにしてもよい。
【図面の簡単な説明】
【００９７】
【図１】画像データ読出装置１００の構成を表す図
【図２】画像データ読出装置１００の動作の流れを示したフローチャート
【図３】デジタル画像Ｐの一例を表す図
【図４】ランレングス圧縮データＰ′の一例（その１）を表す図
【図５】インデックス対応情報Ｗの一例（その１）を表す図
【図６】ランレングス圧縮データＰ′の一例（その２）を表す図
【図７】インデックス対応情報Ｗの一例（その２）を表す図
【図８】検出位置情報、描画軌跡情報および描画点データ軌跡情報の相互関係を表す図
【図９】描画点データ軌跡を表す線Ｌ２によって各ライン毎に描画点群が切り出される様子を示した図
【図１０】改変されたインデックス対応情報を表す図
【図１１】ある区間のデータをコピーするための切出し位置を特定する様子を示した概念図
【図１２】データの長さを補正する箇所を特定する様子を示した概念図
【図１３】ランレングス圧縮データ側にインデックスを立てた実施例を説明するための図
【符号の説明】
【００９８】
１０  記憶手段
２０  所望位置情報取得手段
３０  位置特定手段
４０  データ読出手段
１００  画像データ読出装置
【図１】
0004642620.tif 000002
【図２】
0004642620.tif 000003
【図３】
0004642620.tif 000004
【図４】
0004642620.tif 000005
【図５】
0004642620.tif 000006
【図６】
0004642620.tif 000007
【図７】
0004642620.tif 000008
【図８】
0004642620.tif 000009
【図９】
0004642620.tif 000010
【図１０】
0004642620.tif 000011
【図１１】
0004642620.tif 000012
【図１２】
0004642620.tif 000013
【図１３】
0004642620.tif 000014