(57)【要約】【課題】  画像内の色の連続性に応じた適切な構成で画像データを扱うことのできる技術を提供する。【解決手段】  画像データは、カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有する。ヘッダ部は、データ部が所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含む。データ部は、モード情報が少なくとも１種類の非圧縮モードのうちの１つを示す場合には１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、モード情報が少なくとも１種類の圧縮モードのうちの１つを示す場合には１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含む。【選択図】  図７
2006033823.tif 000002
【特許請求の範囲】
【請求項１】
カラー画像を表すカラー画像データを記録したコンピュータ読み取り可能な記録媒体であって、
前記カラー画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含む、
ことを特徴とする、画像データが記録されたコンピュータ読み取り可能な記録媒体。
【請求項２】
請求項１記載のコンピュータ読み取り可能な記録媒体であって、
前記圧縮画素データは、前記１ブロックに含まれる画素の色を色情報とランレングスとを用いた形式で表すランレングスデータである、画像データが記録されたコンピュータ読み取り可能な記録媒体。
【請求項３】
請求項２記載のコンピュータ読み取り可能な記録媒体であって、
前記ヘッダ部は、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、複数の色を含むカラーパレットの中から選択された一部の複数の色を、前記ランレングスデータで表し得る色情報として利用可能なことを示す色選択情報を含み、
前記ランレングスデータは、
前記色選択情報で特定された前記複数の色のいずれの色のランであるかを示す色指定情報を含む、画像データが記録されたコンピュータ読み取り可能な記録媒体。
【請求項４】
請求項３記載のコンピュータ読み取り可能な記録媒体であって、
前記色選択情報は、前記カラーパレットにおいて選択される前記一部の複数の色の範囲を特定するための始点を指定するオフセット値である、画像データが記録されたコンピュータ読み取り可能な記録媒体。
【請求項５】
カラー画像を表すカラー画像データを記録したコンピュータ読み取り可能な記録媒体であって、
前記カラー画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含む、
ことを特徴とする、画像データが記録されたコンピュータ読み取り可能な記録媒体。
【請求項６】
カラー画像を表す圧縮画像データを伸張するための画像伸張装置であって、
前記圧縮画像データを記憶する第１のメモリと、
前記第１のメモリに記憶された前記圧縮画像データを伸張する伸張部と、
を備え、
前記第１のメモリに記録された前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含み、
前記伸張部は、
前記ヘッダ部に含まれる前記モード情報に応じて、前記圧縮画像データを順次伸張する、
ことを特徴とする画像伸張装置。
【請求項７】
請求項６記載の画像伸張装置であって、
前記圧縮画素データは、前記１ブロックに含まれる画素の色を色情報とランレングスとを用いた形式で表すランレングスデータである、画像伸張装置。
【請求項８】
請求項７記載の画像伸張装置であって、
前記ヘッダ部は、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、複数の色を含むカラーパレットの中から選択された一部の複数の色を、前記ランレングスデータで表し得る色情報として利用可能なことを示す色選択情報を含み、
前記ランレングスデータは、
前記色選択情報で特定された前記複数の色のいずれの色のランであるかを示す色指定情報を含み、
前記伸張部は、
前記カラーパレットを備え、
前記カラーパレットを参照しつつ、色情報に応じて各画素の色を決定する、画像伸張装置。
【請求項９】
請求項８記載の画像伸張装置であって、
前記色選択情報は、前記カラーパレットにおいて選択される前記一部の複数の色の範囲を特定するための始点を指定するオフセット値である、画像伸張装置。
【請求項１０】
請求項６ないし９のいずれかに記載の画像伸張装置であって、さらに、
伸張された前記圧縮画像データと他の画像データとを合成するための画像合成部と、
合成された画像データに従って合成画像を表示するための表示部と、
を備え、
前記画像合成部は、
前記圧縮画像データの色情報が所定の値を有する画素については、他の画像データを選択して前記合成された画像データとして出力する、画像伸張装置。
【請求項１１】
カラー画像を表す圧縮画像データを伸張するための画像伸張装置であって、
前記圧縮画像データを記憶する第１のメモリと、
前記第１のメモリに記憶された前記圧縮画像データを伸張する伸張部と、
を備え、
前記第１のメモリに記録された前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含み、
前記伸張部は、
前記カラーパレットを備え、
前記カラーパレットを参照しつつ、前記色選択情報と前記色指定情報とに応じて各画素の色を決定する、
ことを特徴とする画像伸張装置。
【請求項１２】
カラー画像を圧縮するための画像圧縮装置であって、
前記カラー画像を記憶する第１のメモリと、
前記カラー画像から圧縮された圧縮画像データを生成する圧縮部と、
前記圧縮画像データを記録するための第２のメモリと、
前記第２のメモリに前記圧縮画像データを書き込む書込制御部と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含む、
ことを特徴とする画像圧縮装置。
【請求項１３】
請求項１２記載の画像圧縮装置であって、
前記圧縮部は、前記所定の複数のデータ構成モードの中で、データ量が最も小さくなるモードをブロック毎に決定する、画像圧縮装置。
【請求項１４】
請求項１２または１３記載の画像圧縮装置であって、
前記圧縮画素データは、前記１ブロックに含まれる画素の色を色情報とランレングスとを用いた形式で表すランレングスデータである、画像圧縮装置。
【請求項１５】
請求項１４記載の画像圧縮装置であって、
前記ヘッダ部は、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、複数の色を含むカラーパレットの中から選択された一部の複数の色を、前記ランレングスデータで表し得る色情報として利用可能なことを示す色選択情報を含み、
前記ランレングスデータは、
前記色選択情報で特定された前記複数の色のいずれの色のランであるかを示す色指定情報を含み、
前記圧縮部は、
前記カラー画像の各画素の色に応じた色情報を与えるカラーパレットを備え、
前記カラーパレットを参照しつつ、前記圧縮画像データを生成する、画像圧縮装置。
【請求項１６】
請求項１５記載の画像圧縮装置であって、
前記色選択情報は、前記カラーパレットにおいて選択される前記一部の複数の色の範囲を特定するための始点を指定するオフセット値である、画像圧縮装置。
【請求項１７】
カラー画像を圧縮するための画像圧縮装置であって、
前記カラー画像を記憶する第１のメモリと、
前記カラー画像から圧縮された圧縮画像データを生成する圧縮部と、
前記圧縮画像データを記録するための第２のメモリと、
前記第２のメモリに前記圧縮画像データを書き込む書込制御部と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含み、
前記圧縮部は、
前記カラー画像の各画素の色に応じた色情報を与える前記カラーパレットを備え、
前記カラーパレットを参照しつつ、圧縮された前記圧縮画像データを生成する、
ことを特徴とする画像圧縮装置。
【請求項１８】
カラー画像を表す圧縮画像データを伸張するための画像伸張方法であって、
（ａ）前記圧縮画像データを準備する工程と、
（ｂ）前記圧縮画像データを伸張する工程と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含み、
前記工程（ｂ）は、
前記ヘッダ部に含まれる前記モード情報に応じて、前記圧縮画像データを順次伸張する工程を含む、
ことを特徴とする画像伸張方法。
【請求項１９】
カラー画像を表す圧縮画像データを伸張するための画像伸張方法であって、
（ａ）前記圧縮画像データを準備する工程と、
（ｂ）前記圧縮画像データを伸張する工程と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含み、
前記工程（ｂ）は、
前記カラーパレットを準備する工程と、
前記カラーパレットを参照しつつ、前記色選択情報と前記色指定情報とに応じて各画素の色を決定する工程と、を含む、
ことを特徴とする画像伸張方法。
【請求項２０】
カラー画像を圧縮するための画像圧縮方法であって、
（ａ）前記カラー画像を準備する工程と、
（ｂ）前記カラー画像から圧縮された圧縮画像データを生成する工程と、
前記工程（ｂ）によって生成される前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含む、
ことを特徴とする画像圧縮方法。
【請求項２１】
カラー画像を圧縮するための画像圧縮方法であって、
（ａ）前記カラー画像を準備する工程と、
（ｂ）前記カラー画像から圧縮された圧縮画像データを生成する工程と、
前記工程（ｂ）によって生成される前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含み、
前記工程（ｂ）は、
前記カラー画像の各画素の色に応じた色情報を与える前記カラーパレットを準備する工程と、
前記カラーパレットを参照しつつ、圧縮された前記圧縮画像データを生成する工程と、を含む、
ことを特徴とする画像圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理技術に関し、特に、画像データの圧縮、および、伸張を行うための技術に関する。
【背景技術】
【０００２】
画像データはデータ量が大きい場合には、通常、圧縮して保存される。画像データの圧縮方法の１つとして、例えば、同じ色情報を有する画素が連続する場合に、同じ色が連続する画素数を示すランレングスを用いて圧縮データを構成するランレングス圧縮方法がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記のようなランレングス圧縮方法は、例えば、色情報が画素毎に異なるときには、圧縮しない（非圧縮）ときよりもデータ量が大きくなってしまう場合がある。また、圧縮された画像データと非圧縮の画像データとのデータ量が殆ど同じ場合でも、圧縮された画像データはその伸張に時間がかかる。したがって、このような画素を多く含む画像については非圧縮で画像データを保存することが好ましい。一方、画像において、同じ色を有する画素が連続している場合には、データ量や処理時間の点で画像データを圧縮することが好ましい。
【０００４】
上記の説明から分かるように、１つの画像に、色が画素毎に異なっている画素群と、同じ色を有する画素が連続している画素群とが含まれている場合には、圧縮モードあるいは非圧縮モードのいずれか一方だけでは、画像のデータ量をあまり小さくすることができない、あるいは、処理時間を短縮できないという問題があった。
【０００５】
また、データ量を削減するために、各画素の色を指定するための色データのビット数を減らす場合がある。このときは、カラーパレットに多数の色を準備しても、カラーパレットの一部の色しか用いることができないという問題があった。
【０００６】
この発明は、従来技術における上述の課題を解決するためになされたものであり、画像内の色の連続性に応じた適切な構成で画像データを扱うことのできる技術を提供することを第１の目的とする。また、カラーパレットの多数の色を有効に用いることのできる技術を提供することを第２の目的とする。
【課題を解決するための手段】
【０００７】
上述の課題の少なくとも一部を解決するため、本発明の第１の記録媒体は、画像データを記録したコンピュータ読み取り可能な記録媒体であって、
前記カラー画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含む、
ことを特徴とする。
【０００８】
ブロック画像データは、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択されたデータ構成モードによって構成されている。このようなブロック画像データを利用すれば、画像内の色の連続性に応じた適切な構成で画像データを扱うことが可能となる。
【０００９】
なお、この発明における「記録媒体」としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等の、コンピュータが読取り可能な種々の媒体を利用できる。
【００１０】
上記の第１の記録媒体において、
前記圧縮画素データは、前記１ブロックに含まれる画素の色を色情報とランレングスとを用いた形式で表すランレングスデータであるようにしてもよい。
【００１１】
このように圧縮画素データとしてランレングスデータを用いれば、可逆圧縮が可能である。
【００１２】
上記の第１の記録媒体において、
前記ヘッダ部は、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、複数の色を含むカラーパレットの中から選択された一部の複数の色を、前記ランレングスデータで表し得る色情報として利用可能なことを示す色選択情報を含み、
前記ランレングスデータは、
前記色選択情報で特定された前記複数の色のいずれの色のランであるかを示す色指定情報を含むようにしてもいよい。
【００１３】
こうすれば、ヘッダ部に含まれる色選択情報と、データ部の各ランレングスデータに含まれる色指定情報とによって、圧縮モードのブロック画像データに含まれる各画素についての色情報を特定することができる。また、ヘッダ部の色選択情報によってカラーパレットの中から選択される一部の複数の色を変更することができるので、カラーパレット内の多数の色を有効に用いることが可能となる。
【００１４】
上記の第１の記録媒体において、
前記色選択情報は、前記カラーパレットにおいて選択される前記一部の複数の色の範囲を特定するための始点を指定するオフセット値であるようにしてもよい。
【００１５】
このように色選択情報としてオフセット値を用いれば、容易に一部の複数の色を変更することができる。
【００１６】
本発明の第２の記録媒体は、カラー画像を表すカラー画像データを記録したコンピュータ読み取り可能な記録媒体であって、
前記カラー画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含む、
ことを特徴とする。
【００１７】
こうすれば、各ブロック画像データのヘッダ部の色選択情報によってカラーパレットの中から選択される一部の複数の色を変更することができるので、カラーパレット内の多数の色を有効に用いることが可能となる。
【００１８】
本発明の第１の装置は、カラー画像を表す圧縮画像データを伸張するための画像伸張装置であって、
前記圧縮画像データを記憶する第１のメモリと、
前記第１のメモリに記憶された前記圧縮画像データを伸張する伸張部と、
を備え、
前記第１のメモリに記録された前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含み、
前記伸張部は、
前記ヘッダ部に含まれる前記モード情報に応じて、前記圧縮画像データを順次伸張する、
ことを特徴とする。
【００１９】
この第１の装置では、カラー画像内の色の連続性に応じた適切な構成で生成された圧縮画像データを、各ブロック画像データのヘッダ部のモード情報に応じてうまく伸張することができる。伸張された画像データを用いれば、カラー画像を再現することが可能となる。
【００２０】
上記の第１の装置において、
前記圧縮画素データは、前記１ブロックに含まれる画素の色を色情報とランレングスとを用いた形式で表すランレングスデータであるようにしてもよい。
【００２１】
このように、圧縮画素データとして可逆圧縮であるランレングスデータを用いれば、カラー画像をそのまま再現することが可能である。
【００２２】
また、上記の第１の装置において、
前記ヘッダ部は、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、複数の色を含むカラーパレットの中から選択された一部の複数の色を、前記ランレングスデータで表し得る色情報として利用可能なことを示す色選択情報を含み、
前記ランレングスデータは、
前記色選択情報で特定された前記複数の色のいずれの色のランであるかを示す色指定情報を含み、
前記伸張部は、
前記カラーパレットを備え、
前記カラーパレットを参照しつつ、色情報に応じて各画素の色を決定するようにしてもよい。
【００２３】
こうすれば、ヘッダ部に含まれる色選択情報と、データ部の各ランレングスデータに含まれる色指定情報とによって、圧縮モードのブロック画像データに含まれる各画素についての色情報を特定することができる。また、ヘッダ部の色選択情報によってカラーパレットの中から選択される一部の複数の色を変更することができるので、カラーパレット内の多数の色を有効に用いることができる。
【００２４】
上記の第１の装置において、
前記色選択情報は、前記カラーパレットにおいて選択される前記一部の複数の色の範囲を特定するための始点を指定するオフセット値であるようにしてもよい。
【００２５】
このように色選択情報としてオフセット値を用いれば、容易に一部の複数の色を変更することができる。
【００２６】
さらに、上記の第１の装置において、
伸張された前記圧縮画像データと他の画像データとを合成するための画像合成部と、
合成された画像データに従って合成画像を表示するための表示部と、
を備え、
前記画像合成部は、
前記圧縮画像データの色情報が所定の値を有する画素については、他の画像データを選択して前記合成された画像データとして出力するようにしてもよい。
【００２７】
この装置では、第１のメモリに記憶された圧縮画像データの色情報が所定の値を有するときには、画像合成部は、その画素については他の画像データを選択して出力する。これにより、伸張された圧縮画像データと他の画像データとを合成することができるので、「透明」の効果を有する合成画像を表示部において表現することが可能となる。
【００２８】
本発明の第２の装置は、カラー画像を表す圧縮画像データを伸張するための画像伸張装置であって、
前記圧縮画像データを記憶する第１のメモリと、
前記第１のメモリに記憶された前記圧縮画像データを伸張する伸張部と、
を備え、
前記第１のメモリに記録された前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含み、
前記伸張部は、
前記カラーパレットを備え、
前記カラーパレットを参照しつつ、前記色選択情報と前記色指定情報とに応じて各画素の色を決定する、
ことを特徴とする。
【００２９】
こうすれば、各ブロック画像データのヘッダ部の色選択情報によってカラーパレットの中から選択される一部の複数の色を変更することができるので、カラーパレット内の多数の色を有効に用いることが可能となる。
【００３０】
本発明の第３の装置は、カラー画像を圧縮するための画像圧縮装置であって、
前記カラー画像を記憶する第１のメモリと、
前記カラー画像から圧縮された圧縮画像データを生成する圧縮部と、
前記圧縮画像データを記録するための第２のメモリと、
前記第２のメモリに前記圧縮画像データを書き込む書込制御部と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含む、
ことを特徴とする。
【００３１】
この第３の装置では、圧縮部が備えられているため、モード情報等を決定して、第１のメモリに記憶されたカラー画像内の色の連続性に応じた適切な構成で圧縮画像データを生成することができる。
【００３２】
また、上記の第３の装置において、
前記圧縮部は、前記所定の複数のデータ構成モードの中で、データ量が最も小さくなるモードをブロック毎に決定することが好ましい。
【００３３】
こうすれば、データ量が最も小さくなる圧縮画像データを生成することが可能となる。
【００３４】
上記の第３の装置において、
前記圧縮画素データは、前記１ブロックに含まれる画素の色を色情報とランレングスとを用いた形式で表すランレングスデータであるようにしてもよい。
【００３５】
このように圧縮画素データとしてランレングスデータを用いれば、可逆圧縮することが可能となる。
【００３６】
上記の第３の装置において、
前記ヘッダ部は、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、複数の色を含むカラーパレットの中から選択された一部の複数の色を、前記ランレングスデータで表し得る色情報として利用可能なことを示す色選択情報を含み、
前記ランレングスデータは、
前記色選択情報で特定された前記複数の色のいずれの色のランであるかを示す色指定情報を含み、
前記圧縮部は、
前記カラー画像の各画素の色に応じた色情報を与えるカラーパレットを備え、
前記カラーパレットを参照しつつ、前記圧縮画像データを生成するようにしてもよい。
【００３７】
このようにカラーパレットを参照しつつ圧縮画像データを生成する場合には、各画素の色に応じて色情報を決定することができる。また、圧縮モードの場合には、各画素の色に応じた色情報から色選択情報と色指定情報とが決定される。ヘッダ部の色選択情報によってカラーパレットの中から選択される一部の複数の色を変更することができるので、カラーパレット内の多数の色を有効に用いることが可能となる。
【００３８】
また、上記の第３の装置において、
前記色選択情報は、前記カラーパレットにおいて選択される前記一部の複数の色の範囲を特定するための始点を指定するオフセット値であるようにしてもよい。
【００３９】
このように色選択情報としてオフセット値を用いれば、容易に一部の複数の色を変更することができる。
【００４０】
本発明の第４の装置は、カラー画像を圧縮するための画像圧縮装置であって、
前記カラー画像を記憶する第１のメモリと、
前記カラー画像から圧縮された圧縮画像データを生成する圧縮部と、
前記圧縮画像データを記録するための第２のメモリと、
前記第２のメモリに前記圧縮画像データを書き込む書込制御部と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含み、
前記圧縮部は、
前記カラー画像の各画素の色に応じた色情報を与える前記カラーパレットを備え、
前記カラーパレットを参照しつつ、圧縮された前記圧縮画像データを生成する、
ことを特徴とする。
【００４１】
こうすれば、各ブロック画像データのヘッダ部の色選択情報によってカラーパレットの中から選択される一部の複数の色を変更することができるので、カラーパレット内の多数の色を有効に用いることが可能となる。
【００４２】
本発明の第１の方法は、カラー画像を表す圧縮画像データを伸張するための画像伸張方法であって、
（ａ）前記圧縮画像データを準備する工程と、
（ｂ）前記圧縮画像データを伸張する工程と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含み、
前記工程（ｂ）は、
前記ヘッダ部に含まれる前記モード情報に応じて、前記圧縮画像データを順次伸張する工程を含む、
ことを特徴とする。
【００４３】
このような方法を用いた場合にも、上記の第１の装置と同様の作用・効果を有し、カラー画像内の色の連続性に応じた適切な構成で生成された圧縮画像データを、各ブロック画像データのヘッダ部のモード情報に応じてうまく伸張することができる。また、伸張された画像データを用いれば、カラー画像を再現することが可能となる。
【００４４】
本発明の第２の方法は、カラー画像を表す圧縮画像データを伸張するための画像伸張方法であって、
（ａ）前記圧縮画像データを準備する工程と、
（ｂ）前記圧縮画像データを伸張する工程と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含み、
前記工程（ｂ）は、
前記カラーパレットを準備する工程と、
前記カラーパレットを参照しつつ、前記色選択情報と前記色指定情報とに応じて各画素の色を決定する工程と、を含む、
ことを特徴とする。
【００４５】
このような方法を用いた場合にも、上記の第２の装置と同様の作用・効果を有し、カラーパレット内の多数の色を有効に用いることが可能となる。
【００４６】
本発明の第３の方法は、カラー画像を圧縮するための画像圧縮方法であって、
（ａ）前記カラー画像を準備する工程と、
（ｂ）前記カラー画像から圧縮された圧縮画像データを生成する工程と、
前記工程（ｂ）によって生成される前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記データ部が、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定の複数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていることを示すモード情報を含み、
前記データ部は、
前記モード情報が前記少なくとも１種類の非圧縮モードのうちの１つを示す場合には、１ブロックに含まれる画素についての色情報を画素毎に表す画素データを含み、
前記モード情報が前記少なくとも１種類の圧縮モードのうちの１つを示す場合には、前記１ブロックに含まれる画素についての色情報をデータ圧縮した形式で表す圧縮画素データを含む、
ことを特徴とする。
【００４７】
このような方法を用いた場合にも、上記の第３の装置と同様の作用・効果を有し、画像内の色の連続性に応じた適切な構成で圧縮画像データを生成することができる。
【００４８】
本発明の第４の方法は、カラー画像を圧縮するための画像圧縮方法であって、
（ａ）前記カラー画像を準備する工程と、
（ｂ）前記カラー画像から圧縮された圧縮画像データを生成する工程と、
前記工程（ｂ）によって生成される前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
複数の色を含むカラーパレットの中から一部の複数の色を選択するための色選択情報を含み、
前記データ部は、
１ブロックに含まれる画素についての色を、前記色選択情報によって選択された前記一部の複数の色のうちから指定するための色指定情報を含み、
前記工程（ｂ）は、
前記カラー画像の各画素の色に応じた色情報を与える前記カラーパレットを準備する工程と、
前記カラーパレットを参照しつつ、圧縮された前記圧縮画像データを生成する工程と、を含む、
ことを特徴とする。
【００４９】
このような方法を用いた場合にも、上記の第４の装置と同様の作用・効果を有し、カラーパレット内の多数の色を有効に用いることができる。
【発明を実施するための最良の形態】
【００５０】
Ａ．画像データの構造：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、本実施例における圧縮された画像データを示す説明図である。図１（Ａ）は、圧縮前の元画像（カラー画像）を示している。図１（Ａ）に示す元画像は、複数の水平ラインＬ１，Ｌ２…Ｌｎを含んでいる。また、各水平ラインは、複数の画素を含んでいる。図１（Ｂ）は、圧縮された画像データのデータ構造を示している。本実施例においては、圧縮された画像データは、図１（Ａ）に示す各水平ラインＬ１，Ｌ２…Ｌｎに対応した複数組のライン画像データＤＴ１，ＤＴ２…ＤＴｎを含んでいる。各組のライン画像データは、それぞれヘッダ部ＨＤとデータ部ＤＤとを備えている。なお、画像データの先頭に、画像サイズなどの画像全体の情報を含む図示しないフレームヘッダを設けてもよい。
【００５１】
各組のライン画像データのヘッダ部ＨＤには、後述するように、その組のデータ部ＤＤがいかなるデータ構成モードに基づいて構成されているかを示すモード情報が登録されている。
【００５２】
図２は、ヘッダ部に登録されるモード情報の内容を示す説明図である。本実施例におけるモード情報ＭＤは、ヘッダ部内の３ビット（ＭＤ２〜ＭＤ０）を用いて表される。３ビットのモード情報ＭＤで表される値が「７（111b）」（かっこ内の符号「b 」は２進数を表す）である場合には、６４色圧縮モードを示している。同様に、モード情報ＭＤが「６（110b）」，「５（101b）」である場合には、それぞれ３２色、１６色圧縮モードを示している。また、モード情報ＭＤが「４（100b）」である場合には２５６色非圧縮モードを示しており、モード情報ＭＤが「３（011b）」および「２（010b）」である場合には６４色非圧縮モードを示している。さらに、モード情報ＭＤが「１（001b）」の場合には画像データ全体の終了を示す。また、モード情報ＭＤが「０（000b）」の場合には、その水平ラインに画素が存在していないこと（改行）を示している。なお、モード情報ＭＤとして「１」，「０」が登録されたヘッダ部が用いられる場合には、データ部は存在しない。これらのモード情報の内容の詳細については、後述する。
【００５３】
図３は、非圧縮モードの場合のデータ構造を示す説明図である。図３（Ａ）は、２５６色非圧縮モードのデータ構造を示している。ヘッダ部ＨＤは、１６ビット（２バイト）で構成されており、上位第２〜第４ビットの３ビット（ＭＤ２〜ＭＤ０）がモード情報ＭＤに割り当てられている。なお、図２（Ａ）に示すように２５６色非圧縮モードの場合には、モード情報ＭＤとして「４」が登録されている。また、ヘッダ部ＨＤの下位１０ビット（ＤＮ９〜ＤＮ０）は画素数情報ＤＮに割り当てられている。本実施例の画素数情報ＤＮには、１水平ラインに含まれる画素数が登録される。すなわち、本実施例では、１水平ラインあたり１０２３（２10−１）画素以下の画素によって構成される元画像を対象としている。なお、ヘッダ部ＨＤ内の他のビットには、所定の値（０または１）がそれぞれ登録される。
【００５４】
２５６色非圧縮モードにおいて、データ部ＤＤは、１水平ラインに含まれる画素数に等しい数の画素データＰＤを含んでいる。データ部においては、元画像（図１（Ａ））の１水平ライン内に並ぶ各画素に対応する画素データＰＤがそのままの順序で並んでいる。各画素データＰＤは、それぞれ８ビット（ＣＣ７〜ＣＣ０）の色データ情報ＣＣで構成されている。各画素データの色データ情報ＣＣは、元画像の各画素の色データを示している。色データ情報ＣＣとしては、色データが登録されたカラーパレットのカラーコード値が登録される。
【００５５】
図４は、カラーパレットを示す説明図である。図４に示すカラーパレットでは２５６色の色データが登録されている。カラーパレットの各色データＣＬ０，ＣＬ１，ＣＬ２…ＣＬ２５５は、例えば、白，赤，青などの表示色に対応している。本実施例において、各色データＣＬｎは、それぞれ０〜６３（６ビット）の値を取り得るＲ，Ｇ，Ｂの３つの値によって示されている。例えば、図中、色データＣＬ２５５が赤色である場合には、ＣＬ２５５は「Ｒ＝６３，Ｇ＝０，Ｂ＝０」を意味する。カラーパレットに含まれる各色データＣＬ０，ＣＬ１…ＣＬ２５５には、それぞれカラーコード「０」，「１」…「２５５」が割り当てられている。したがって、カラーコードの値ｎを指定すれば、色データＣＬｎが決定される。
【００５６】
図３（Ａ）の各画素データＰＤには、色データ情報ＣＣとして図４に示すカラーコードの値が登録され、カラーコードの値から各画素の色データが特定される。２５６色非圧縮モードにおいては、色データ情報ＣＣとして８ビットが割り当てられているので、図４のカラーパレットのすべての色データ（２５６色）を特定することができる。なお、本実施例では、カラーパレットのカラーコードの値を用いて色データ情報ＣＣを表しているが、色データ情報ＣＣがそのまま画素の色を表すようにしてもよい。このときには、色データ情報ＣＣは、例えば、１８ビット（６ビット×３）で構成される。
【００５７】
なお、２５６色非圧縮モードのライン画像データの終了は、ヘッダ部に登録された画素数情報ＤＮによって知ることができる。また、画像データ全体が２５６色非圧縮モードのライン画像データによって終了する場合には、前述のモード情報ＭＤ（図２）として「１」が登録されたヘッダ部が画像データの最後尾に付加される。これによって、画像データ全体の終了を知ることができる。このことは、画像データ全体が６４色非圧縮モード（後述する）のライン画像データで終了する場合にも同じである。
【００５８】
図３（Ｂ）は、６４色非圧縮モードのデータ構造を示している。ヘッダ部ＨＤは、図３（Ａ）の２５６色非圧縮モードのヘッダ部と同じデータ構造を有している。ただし、６４色非圧縮モードの場合には、モード情報ＭＤ（図２）として「３」あるいは「２」が登録される。
【００５９】
６４色非圧縮モードにおいても、データ部ＤＤは、１水平ラインに含まれる画素数分の画素データＰＤを含んでいる。ただし、各画素データＰＤは、それぞれ６ビット（ＣＣ５〜ＣＣ０）の色データ情報ＣＣで構成されている。したがって、６４色非圧縮モードにおいて特定可能な色データは、カラーパレット（図４）に含まれる２５６色の色データのうち、ＣＬ０〜ＣＬ６３の６４色である。
【００６０】
なお、上記の説明からも分かるように、本明細書における「非圧縮モード」とは、元画像に含まれる各画素について個々に色データ情報を登録するモードを意味する。したがって、本実施例のように、色データ（例えば、Ｒ，Ｇ，Ｂの各データ値）を直接表現せずに、色データが登録されたカラーパレット（図４）におけるカラーコードを用いて少ないビット数で間接的に表現する場合にも非圧縮モードと呼ぶ。
【００６１】
図５は、６４色圧縮モードのデータ構造を示す説明図である。６４色圧縮モードのヘッダ部ＨＤは、図３の非圧縮モードと同様に１６ビット（２バイト）で構成されており、上位第２〜第４ビットの３ビット（ＭＤ２〜ＭＤ０）がモード情報ＭＤとして割り当てられている。なお、６４色圧縮モードの場合には、モード情報ＭＤ（図２）として「７」が登録されている。また、ヘッダ部ＨＤの下位８ビット（ＰＯＳ７〜ＰＯＳ０）には、非圧縮モードにおける画素数情報ＤＮに代えて、カラーパレット（図４）の２５６色の中でランレングスデータＲＬＤに用いられる６４色を選択するための色選択情報ＰＯＳ（後述する）が割り当てられている。
【００６２】
６４色圧縮モードにおいて、データ部ＤＤは、少なくとも１つのランレングスデータＲＬＤを含んでいる。各ランレングスデータＲＬＤは、図示するように、基本的には上位６ビット（ＣＣ５〜ＣＣ０）の色データ情報ＣＣと、下位２ビット（ＲＬ１〜ＲＬ０）の基本ランレングス情報ＲＬとの、８ビットで構成される（以下、このランレングスデータの構成を「基本モード」と呼ぶ）。６ビットの色データ情報ＣＣには、色選択情報ＰＯＳで選択された６４色の色データの中の１つを特定するための値が登録される。したがって、６４色圧縮モードにおいては、１水平ラインあたり６４色までの色データを使用することができる。また、２ビットの基本ランレングス情報ＲＬには、元画像において同じ色データを有する画素が連続する数（ランレングス）が登録される。例えば、基本ランレングス情報ＲＬに「３（11b ）」が登録されている場合には、元画像において同じ色データを有する画素が３画素連続することを示している。なお、上記の説明からも分かるように、圧縮モードにおける色データ情報ＣＣが本発明における色指定情報に相当する。
【００６３】
ところで、基本ランレングス情報ＲＬは、２ビットで構成されているため、同じ色データを有する画素が４画素以上連続する場合を表すことができない。この場合には、２ビットの基本ランレングス情報ＲＬとして「０」を登録し、その後ろに８ビット（ＥＸ７〜ＥＸ０）の拡張ランレングス情報ＥＸを付加する（以下、このランレングスデータの構成を「拡張モード」と呼ぶ）。したがって、拡張ランレングス情報ＥＸを用いることにより、４画素以上２５５画素以下のランレングスを表現することが可能である。また、同じ色データを有する連続する画素が２５６画素以上存在する場合には、１つ目のランレングスデータのランレングスとして「２５５」が登録され、次のランレングスデータに同じ色データ情報と残りのランレングスとが登録される。なお、本明細書では、基本ランレングス情報および拡張ランレングス情報をまとめて、「ランレングス情報」とも呼ぶ。
【００６４】
６４色圧縮モードにおいては、１組のライン画像データの最後のランレングスデータＬＥにライン画像データの終了を示すエンドマークが付加されている。この最後のランレングスデータＬＥでは、基本および拡張ランレングス情報ＲＬ，ＥＸとして「０」が登録されている（ラインエンド）。このように拡張ランレングス情報として、通常用いられることのない「０」が登録されている場合には、その組のライン画像データが終了して、次の組のライン画像データが続くことを示している。なお、最後のランレングスデータＬＥにおける色データ情報ＣＣには、いかなる値が登録されていてもよい。また、画像データ全体が圧縮モードのライン画像データによって終了する場合には、基本ランレングス情報ＲＬとして「０」が登録され、拡張ランレングス情報ＥＸとして「１」が登録される（キャラクタエンド）。このように、拡張ランレングス情報として、通常用いられることのない「１」が登録されている場合には、その組のライン画像データの終了を示すとともに、表示する画像データの終了を示している。なお、各組の最後のランレングスデータＬＥについては、後述する他の圧縮モードにおいても同様である。
【００６５】
図６は、３２色圧縮モードおよび１６色圧縮モードのデータ構造を示す説明図である。図６（Ａ）は、３２色圧縮モードのデータ構造を示している。ヘッダ部ＨＤは、図５の６４色圧縮モードのヘッダ部と同じデータ構造を有している。ただし、３２色圧縮モードの場合には、モード情報ＭＤ（図２）として「６」が登録されている。
【００６６】
３２色圧縮モードにおいても、データ部ＤＤは、少なくとも１つのランレングスデータＲＬＤを含む。このランレングスデータＲＬＤも、図５の６４色圧縮モードのランレングスデータとほぼ同じデータ構造を有している。ただし、各ランレングスデータＲＬＤの基本モードは、上位５ビット（ＣＣ４〜ＣＣ０）の色データ情報ＣＣと、下位３ビット（ＲＬ２〜ＲＬ０）の基本ランレングス情報ＲＬとの、８ビットで構成される。したがって、５ビットの色データ情報ＣＣには、カラーパレット（図４）における３２色の色データを特定するための値が登録される。また、３ビットの基本ランレングス情報ＲＬによって、「７（111b）」までのランレングスを登録することができる。３２色圧縮モードにおいても、各ランレングスデータＲＬＤは拡張モードを採用することにより、８画素以上２５５画素以下のランレングスを登録することが可能である。
【００６７】
図６（Ｂ）は、１６色圧縮モードのデータ構造を示している。１６色圧縮モードにおいても、ヘッダ部ＨＤおよびデータ部ＤＤの各ランレングスデータＲＬＤは、図５の６４色圧縮モード、および、図６（Ａ）の３２色圧縮モードとほぼ同じデータ構造を有している。なお、１６色圧縮モードの場合には、ヘッダ部のモード情報ＭＤ（図２）として「５」が登録されている。また、データ部の各ランレングスデータＲＬＤの基本モードは、上位４ビット（ＣＣ３〜ＣＣ０）の色データ情報ＣＣと、下位４ビット（ＲＬ３〜ＲＬ０）の基本ランレングス情報ＲＬとの、８ビットで構成される。したがって、４ビットの色データ情報ＣＣには、カラーパレット（図４）における１６色の色データを特定するための値が登録される。また、４ビットの基本ランレングス情報ＲＬによって、「１５（1111b ）」までのランレングスを登録することができる。１６色圧縮モードにおいても、各ランレングスデータＲＬＤは拡張モードを採用することにより、１６画素以上２５５画素以下のランレングスを登録することが可能である。
【００６８】
なお、図５，図６に示すように、圧縮モードにおいては、基本モードの８ビットが色データ情報ＣＣと基本ランレングス情報ＲＬとに区分されているので、色データ情報ＣＣに割り当てられるビット数が多い場合には、基本ランレングス情報ＲＬに割り当てられるビット数が少なくなっている。これは、１水平ラインの画素に用いられる色データの種類が多い場合には、ラン長が短くなるという経験的に知られる特徴と一致する。したがって、上記のような色データ情報ＣＣと基本ランレングス情報ＲＬとの関係によって、１水平ラインの画素を比較的少ないデータ量でうまく表現できる場合が多い。
【００６９】
ところで、図５，図６に示すように、圧縮モードにおいては、色データ情報として割り当てられるビット数が少ない。このような場合には、通常、カラーパレット（図４）において、割り当てられているビット数で表現できる数の色データしか用いることができない。例えば、図６（Ｂ）に示す１６色圧縮モードでは、カラーコード「０（0000b ）」〜「１５（1111b ）」に対応する色データＣＬ０〜ＣＬ１５しか用いることができない。
【００７０】
そこで、図５，図６に示す圧縮モードのヘッダ部ＨＤにおいては、前述の８ビットの色選択情報ＰＯＳとしてカラーパレットのオフセット値を登録する。これにより、図５，図６に示す各圧縮モードでは、色データ情報のビット数に応じて制限されている使用可能な色データの種類を変更することが可能となる。
【００７１】
例えば、１６色圧縮モード（図６（Ｂ））において、ヘッダ部の色選択情報ＰＯＳにカラーパレットのオフセット値として「０（00000000b ）」が登録されている場合には、図４に示すように、カラーパレットのカラーコード「０」を起点として連続１６個のカラーコード「０」〜「１５」に対応する色データＣＬ０〜ＣＬ１５を選択することができる。また、色選択情報ＰＯＳにカラーパレットのオフセット値として「３」が登録されている場合には、カラーパレットのカラーコード「３」を起点として連続１６個のカラーコード「３」〜「１８」に対応する色データＣＬ３〜ＣＬ１８を選択することができる。同様に、色選択情報ＰＯＳにオフセット値として「１６」が登録されている場合には、カラーコード「１６」を起点として連続１６個のカラーコード「１６」〜「３１」に対応する色データＣＬ１６〜ＣＬ３１を選択することができる。
【００７２】
すなわち、ヘッダ部の色選択情報ＰＯＳに登録された値と、各ランレングスデータの色データ情報ＣＣに登録された値とを加算することによって、カラーパレット（図４）におけるカラーコードが指定される。このとき、カラーコードに対応する色データが特定される。このようにすれば、１水平ラインに含まれる画素については、最大１６色までしか表現できない場合にも、１つの画像全体では多数の色を表現することが可能となる。すなわち、データ部に登録する色データ情報ＣＣに割り当てられたビット数が少ない場合にも多くの色を表現することが可能となる。なお、このような構成は、画像全体では多数の色が使用されているが、１水平ラインあたりではあまり多くの色は使用されていないような画像に適用すると、データ圧縮の効果が特に大きい。
【００７３】
なお、本実施例においては、画素データＰＤおよびランレングスデータＲＬＤにおいて色データ情報ＣＣに割り当てられるビット数の最大が、図３（Ａ）に示す２５６色非圧縮モードの場合の８ビットであるため、これに対応する２５６色の色データを有するカラーパレット（図４）を用いている。しかし、カラーパレットに登録する色データの数は、画素データＰＤあるいはランレングスデータＲＬＤの色データ情報ＣＣに割り当てられるビット数、あるいは、ヘッダ部の色選択情報ＰＯＳに割り当てられるビット数に応じて増加させてもよい。これにより、１つの画像全体で、さらに多数の色を表現することが可能である。
【００７４】
図４においては、カラーパレット内の複数の色データの中から、オフセット値を用いることによって使用可能な一部の色データを選択しているが、他の方法によって選択するようにしてもよい。例えば、色選択情報ＰＯＳに割り当てられるビットをオフセット値およびジャンプ値として用いるようにしてもよい。このとき、オフセット値によって指定される色データを始点として、ジャンプ値によって指定される数毎の色データを選択できるようにしてもよい。色選択情報ＰＯＳとしては、複数の色データを含むカラーパレットの中から、使用可能な一部の複数の色データを選択できるようなものであればよい。
【００７５】
また、図４においては、１つのカラーパレットを用いて色データを特定しているが、複数のカラーパレットを用いてもよい。この場合には、例えば、ヘッダ部の色選択情報ＰＯＳの一部のビットを、複数のカラーパレットのうちの１つを特定するために割り当てればよい。あるいは、色選択情報として割り当てるビット数を増加させて複数のカラーパレットのうちの１つを特定してもよい。
【００７６】
図７は、本発明のデータ構造に従って構成された画像データを示す説明図である。図７（Ａ）は、圧縮された画像データを示している。図７（Ｂ）は、図７（Ａ）に示す圧縮された画像データを伸張した際の元画像を示している。
【００７７】
図７（Ａ）の第１のライン画像データＤＴ１では、ヘッダ部のモード情報ＭＤに「７」が登録されている。したがって、第１のライン画像データＤＴ１は６４色圧縮モードで圧縮されている。また、第１のライン画像データＤＴ１については、色選択情報ＰＯＳとして「３」が登録されている。データ部の第１番目のランレングスデータＲＬＤ１には、色データ情報ＣＣとして「１」が登録されており、基本ランレングス情報ＲＬとして「３」が登録されている。前述したように、各ランレングスデータの色データは、色選択情報ＰＯＳおよび色データ情報ＣＣを加算して求められる。したがって、図７（Ｂ）に示すように、第１番目の水平ラインＬ１の左端では、カラーコード「４（３＋１）」に対応する色データＣＬ４（図４）を有する画素が３画素連続している。第２番目のランレングスデータＲＬＤ２では、拡張モードが採用されている。このランレングスデータＲＬＤ２では、色データ情報ＣＣとして「２８」が登録されており、ランレングス情報として「２５２」が登録されている。したがって、図７（Ｂ）に示すように、第１番目の水平ラインＬ１では、色データＣＬ４を有する３画素に続き、カラーコード「３１（３＋２８）」に対応する色データＣＬ３１を有する画素が２５２画素連続している。第３番目のランレングスデータＲＬＤ３では、色データ情報ＣＣとして「６３」が登録されており、基本ランレングス情報ＲＬとして「１」が登録されている。このとき、図７（Ｂ）に示すように、第１番目の水平ラインＬ１では、色データＣＬ３１を有する２５２画素に続き、カラーコード「６６（３＋６３）」に対応する色データＣＬ６６を有する画素が１画素存在する。データ部の最後のランレングスデータＬＥでは、基本ランレングス情報ＲＬおよび拡張ランレングス情報ＥＸにはともに「０」が登録されている。これは、前述のように、第１番目のライン画像データＤＴ１の終了を示している。なお、最後のランレングスデータＬＥの色データ情報ＣＣは、前述のようにいかなる値でもよい。
【００７８】
図７（Ａ）の第２のライン画像データＤＴ２についても上記と同様に元画像が形成される。第２のライン画像データＤＴ２では、ヘッダ部のモード情報ＭＤに「５」が登録されている。したがって、第２のライン画像データＤＴ２は１６色圧縮モードで圧縮されている。また、第２のライン画像データＤＴ２については、色選択情報ＰＯＳとして「３０」が登録されている。データ部の第１番目のランレングスデータＲＬＤ１には、色データ情報ＣＣとして「１」が登録されており、基本ランレングス情報ＲＬとして「４」が登録されている。したがって、図７（Ｂ）に示すように、第２番目の水平ラインＬ２の左端では、カラーコード「３１（３０＋１）」に対応する色データＣＬ３１（図４）を有する画素が４画素連続している。第２番目のランレングスデータＲＬＤ２では、拡張モードが採用されており、色データ情報ＣＣおよびランレングス情報としてそれぞれ「１５」、「２５２」が登録されている。したがって、図７（Ｂ）に示すように、第２番目の水平ラインＬ２では、色データＣＬ３１を有する４画素に続き、カラーコード「４５（３０＋１５）」に対応する色データＣＬ４５を有する画素が２５２画素連続している。データ部の最後のランレングスデータＬＥでは、基本ランレングス情報ＲＬおよび拡張ランレングス情報ＥＸにはともに「０」が登録されているので、第２番目のライン画像データＤＴ２は終了である。
【００７９】
図７（Ａ）の最終のライン画像データＤＴｅについても同様である。最終のライン画像データＤＴｅでは、ヘッダ部のモード情報ＭＤに「６」が登録されている。したがって、最終のライン画像データＤＴｅは３２色圧縮モードで圧縮されている。また、最終のライン画像データＤＴｅについては、色選択情報ＰＯＳとして「０」が登録されている。データ部の第１番目のランレングスデータＲＬＤ１では、拡張モードが採用されており、色データ情報ＣＣおよびランレングス情報としてそれぞれ「１０」、「２５５」が登録されている。また、第２番目のランレングスデータＲＬＤ２では、色データ情報ＣＣとして第１のランレングスデータＲＬＤ１と同じ「１０」が登録されており、基本ランレングス情報ＲＬとして「１」が登録されている。したがって、図７（Ｂ）に示すように、最終の水平ラインＬｅでは、カラーコード「１０（０＋１０）」に対応する色データＣＬ１０（図４）を有する画素が計２５６（２５５＋１）画素連続している。データ部の最後のランレングスデータＬＥでは、基本ランレングス情報ＲＬとして「０」が登録されており、拡張ランレングス情報ＥＸとして「１」が登録されている。これは前述のように、ライン画像データＤＴｅの終了を示すとともに、画像データ全体の終了を示す。
【００８０】
図８は、本発明を適用した場合の種々の画像データを示す説明図である。図８（Ａ）は元画像を示している。この元画像は、１水平ラインあたり２５６画素で構成されており、画像全体で２５６個の水平ラインＬ１〜Ｌ２５６を含んでいる。図示するように、１水平ラインに含まれる画素はすべて同じ色データを有しており、第１〜第２５６番目の水平ラインに含まれる画素の色データＣＬ０〜ＣＬ２５５はそれぞれ異なっている。
【００８１】
図８（Ｂ）は、元画像の２５６色非圧縮モードにおける画像データを示している。このとき、各ライン画像データＤＴ１〜ＤＴ２５６のヘッダ部のモード情報ＭＤ（図２）には「４」が登録されている。また、データ部には、２５６個の画素データが含まれており、各画素データの色データ情報として同じ色データＣＬｎを示すカラーコード「ｎ」（図４）が登録されている。２５６色非圧縮モードのとき、各ライン画像データのヘッダ部は２バイト（１６ビット）のデータ量を要し、データ部は２５６バイト（８ビット×２５６）のデータ量を要する。したがって、画像データ全体として、６６０４８バイト（（２＋２５６）×２５６）を要することとなる。ただし、図８において画像データ全体が非圧縮モードで終わる場合に最終組のライン画像データの後に付加されるモード情報「１」（図２）を有するヘッダ部は省略している。
【００８２】
図８（Ｃ）は、６４色圧縮モードおよび２５６色非圧縮モードを併用した場合の画像データを示している。なお、図８（Ｃ）では、６４色圧縮モードにおいて、ヘッダ部の色選択情報ＰＯＳは常に「０」に設定する。これは、カラーパレット（図４）においてオフセットを利用しない場合に相当し、６４個の色データＣＬ０〜ＣＬ６３のみが使用可能である。
【００８３】
第６４番目までのライン画像データＤＴ１〜ＤＴ６４のヘッダ部のモード情報ＭＤには「７」、すなわち、６４色圧縮モードが登録されている。このとき、各ライン画像データＤＴ１〜ＤＴ６４のデータ部に含まれる第１番目のランレングスデータＲＬＤ１として２バイト（拡張モード）が使用されている。すなわち、はじめの１バイトには、色データ情報ＣＣとして色データＣＬｎを示すカラーコード「ｎ」と、拡張モードの使用を示す基本ランレングス情報ＲＬ「０」とが登録されている。次の１バイトには、拡張ランレングス情報の取り得る最大値である「２５５」が登録されている。また、第２番目のランレングスデータＲＬＤ２として１バイト（基本モード）が使用されている。すなわち、第１番目のランレングスデータＲＬＤ１と同じ色データ情報「ｎ」が登録されているとともに、基本ランレングス情報ＲＬに残りのランレングスである「１（２５６画素−２５５画素）」が登録されている。さらに、前述したように、１組のライン画像データの終了を示すランレングスデータＬＥとして２バイトが使用される。したがって、第６４番目までのライン画像データＤＴ１〜ＤＴ６４全体では、４４８バイト（（２＋５）×６４）のデータ量を要する。
【００８４】
一方、第６５番目以降の各ライン画像データＤＴ６５〜ＤＴ２５６のヘッダ部のモード情報ＭＤには「４」、すなわち、２５６色非圧縮モードが登録されている。このとき、データ部には、図８（Ｂ）に示すように、同じ色データＣＬｎを示す色データ情報「ｎ」を有する画素データが２５６画素分個々に登録されている。第６５番目以降の１９２組のライン画像データＤＴ６５〜ＤＴ２５６全体では、４９５３６バイト（（２＋２５６）×１９２）のデータ量を要する。したがって、画像データ全体で４９９８４バイト（４４８＋４９５３６）のデータ量を要することとなる。
【００８５】
図８（Ｄ）は、６４色圧縮モードにおける画像データを示している。なお、図８（Ｄ）では、ヘッダ部の色選択情報ＰＯＳとしてカラーパレットのオフセットを利用する。なお、このとき、図４のカラーパレットのすべての色データＣＬ０〜ＣＬ２５５が使用可能である。
【００８６】
各ライン画像データＤＴ１〜ＤＴ２５６のヘッダ部のモード情報ＭＤには「７」、すなわち、６４色圧縮モードが登録されている。このとき、各ライン画像データＤＴ１〜ＤＴ２５６のデータ部には、図８（Ｃ）において説明したように、５バイトのデータ量を要する。したがって、画像データ全体で、１７９２バイト（（２＋５）×２５６）のデータ量を要することとなる。
【００８７】
図８（Ａ）に示す元画像の場合には、６４色圧縮モード（図８（Ｄ））を使用したときの画像データは、２５６色非圧縮モード（図８（Ｂ））を使用したときの画像データと比べ、そのデータ量は３％程度となっており、かなり圧縮されている。このように、ヘッダ部に色選択情報ＰＯＳを登録すれば、使用したい色数が各ランレングスデータの色データ情報に割り当てられるビット数で決定される色数より多い場合にも多くの色を表現することができる。すなわち、非圧縮モードと圧縮モードにおいて、ヘッダ部に割り当てられるビット数（１６ビット）を変更することなく、使用色数を増加して、かつ、高い圧縮率を得ることが可能となる。
【００８８】
なお、図１，図７，図８においては、画像全体に表示すべき画素が存在する場合を示したが、実際には、画像の一部には表示すべき画素が存在しない場合もある。
【００８９】
図９は、表示すべき画素が画像の一部にのみ存在する場合を示す説明図である。図９（Ａ）〜（Ｃ）においては、画像サイズはすべて１０×１０画素であり、表示すべき画素についてのみ斜線が付されている。なお、斜線が付された画素はそれぞれ画素値を有しており、他の画素は画素値を有していない。本明細書においては、斜線が付された画素を有意な画素値を有する画素と呼んでいる。図９（Ａ）〜（Ｃ）に示す画像には、以下に説明するように画像データが構成されている。
【００９０】
図９（Ａ）では、第４番目の水平ラインＬ４と第６番目の水平ラインＬ６とにのみ表示すべき有意な画素値を有する画素が存在する。第４番目の水平ラインＬ４では、左端の１画素のみが表示すべき画素であり、第６番目の水平ラインＬ６では、左端から連続して５画素が表示すべき画素である。このとき、画像データは、第１〜第３番目の各水平ラインＬ１〜Ｌ３については、モード情報ＭＤとして「０」（図２）が登録されたヘッダ部ＨＤのみが準備され、前述のように、データ部ＤＤは存在しない。第４番目の水平ラインＬ４については、ヘッダ部ＨＤのモード情報ＭＤにいずれかのモードが登録され、登録されたモードに応じて１画素分のデータを含むデータ部ＤＤが準備される。第５番目の水平ラインＬ５についても、モード情報ＭＤとして「０」（図２）が登録されたヘッダ部ＨＤのみが準備され、データ部ＤＤは存在しない。第６番目の水平ラインＬ６については、ヘッダ部ＨＤのモード情報にいずれかのモードが登録され、登録されたモードに応じて５画素分のデータを含むデータ部ＤＤが準備される。第７番目の以降の各水平ラインＬ７〜Ｌ１０には、表示すべき画素が存在しないため、画像データの終了となる。最後の第６番目の水平ラインＬ６が非圧縮モードで構成される場合には、モード情報ＭＤとして「１」（図２）が登録されたヘッダ部ＨＤが準備される。一方、第６番目の水平ラインＬ６が圧縮モードで構成される場合には、図５，図６に示すキャラクタエンドがデータ部ＤＤの最後に付加される。
【００９１】
図９（Ｂ）では、いずれの水平ラインにも表示すべき画素が存在しない。実際にこのようなデータを使用することは無いが、この場合には、モード情報ＭＤとしてデータの終了を示す「１」（図２）が登録されたヘッダ部ＨＤのみが存在することになる。
【００９２】
図９（Ｃ）では、各水平ラインの左端に１画素ずつ表示すべき画素が存在する。このとき、各水平ラインＬ１〜Ｌ１０に、ヘッダ部ＨＤのモード情報ＭＤにいずれかのモードが登録され、登録されたモードに応じて１画素分のデータを含むデータ部ＤＤが準備される。図９（Ｃ）に示す画像では、最後の第１０番目の水平ラインＬ１０で画像が終了するため、画像データも終了となる。第１０番目の水平ラインＬ１０が非圧縮モードで構成される場合には、モード情報ＭＤとして「１」（図２）が登録されたヘッダ部ＨＤが準備される。一方、第１０番目の水平ラインＬ１０が圧縮モードで構成される場合には、図５，図６に示すキャラクタエンドがデータ部ＤＤの最後に付加される。
【００９３】
上記のように、本発明においては、元画像を圧縮した画像データは、１以上のライン画像データを含んでいる。各ライン画像データは、ヘッダ部を備えており、ヘッダ部にはデータ部のデータ構成モードを示すモード情報が登録されている。したがって、各ライン画像データのヘッダ部におけるモード情報に応じて、データ部の登録形式を変更することができる。これにより、画像内の色の連続性に応じた適切な構成で画像データを扱うことが可能となる。また、圧縮モードにおいては、ヘッダ部に色選択情報ＰＯＳを登録しているので、カラーパレットに登録された多数の色を有効に用いることが可能となる。
【００９４】
Ｂ．画像データの伸張装置：
図１０は、本発明のデータ構造を用いて構成された画像データを伸張する伸張装置の一例を示すブロック図である。この伸張装置は、ＲＯＭ１００と、伸張部２００と、表示部３３０とを備えている。ＲＯＭ１００には、本発明のデータ構造を用いて構成された画像データが記憶されている。伸張部２００は、ＲＯＭ１００に記憶された画像データを伸張して出力する機能を有している。伸張部２００から出力された画像データは液晶表示装置などの表示部３３０に入力される。表示部３３０は、入力された画像データを用いて、その画面上に画像を表示する。なお、伸張部２００の動作は、図示しないタイミング制御部によって制御されている。
【００９５】
伸張部２００は、アドレス制御部２１０と、ヘッダ解析部２２０と、データレジスタ部２３０と、画像データ調整部２５０と、書込・読出制御部３００と、ラインメモリ３２０と、カラーコード変換部２６０と、カラーパレット２７０とを備えている。
【００９６】
アドレス制御部２１０は、アドレス制御信号ＡＤＤ１を出力して、ＲＯＭ１００から画像データＤＡＴ１を読み出す機能を有している。ＲＯＭ１００から出力される画像データＤＡＴ１は、ヘッダ解析部２２０およびデータレジスタ部２３０とにそれぞれ入力される。
【００９７】
ヘッダ解析部２２０は、画像データＤＡＴ１から各組のライン画像データのヘッダ部を抽出し、ヘッダ部のモード情報ＭＤを解析する。モード情報ＭＤが非圧縮モード（図３）を示す場合には、２バイトのヘッダ部のうち下位１０ビットを１水平ラインに含まれる画素数を示す画素数情報ＤＮとして認識する。一方、モード情報ＭＤが圧縮モード（図５，図６）を示す場合には、下位８ビットをカラーパレット２７０のオフセット値を示す色選択情報ＰＯＳとして認識する。また、ヘッダ解析部２２０は、圧縮モードのライン画像データの終了を示す最後のランレングスデータＬＥを認識する。なお、ヘッダ解析部２２０は認識したモード情報ＭＤと圧縮モードの最後のランレングスデータＬＥとに応じた２つの制御信号ＣＴＲＰ１，ＣＴＲＰ２を出力する。また、モード情報ＭＤと画素数情報ＤＮと圧縮モードの最後のランレングスデータＬＥとに応じた制御信号ＣＴＲＭを出力する。これらの制御信号ＣＴＲＰ１，ＣＴＲＰ２，ＣＴＲＭによって後述する画像データ調整部２５０の処理が制御される。また、認識された色選択情報ＰＯＳは、画像データ調整部２５０に入力される。
【００９８】
データレジスタ部２３０は、ＲＯＭ１００から入力された画像データＤＡＴ１のデータ部を抽出し、画像データ調整部２５０における処理に応じてデータ部に含まれる画素データおよびランレングスデータのデータＤＡＴ２を供給する機能を有している。
【００９９】
画像データ調整部２５０は、ヘッダ解析部２２０によって認識されたモード情報ＭＤに応じて、データレジスタ部２３０から供給される各画素データおよび各ランレングスデータのデータＤＡＴ２に対して種々の処理を行う。
【０１００】
図１１は、画像データ調整部２５０の概略の内部構成を示すブロック図である。画像データ調整部２５０は、色データ情報抽出部２５２と、ランレングス情報抽出部２５４と、加算部２５６と、レジスタ２５７と、セレクタ２５８と、色情報判定部２５９とを備えている。
【０１０１】
色データ情報抽出部２５２は、ヘッダ解析部２２０（図１０）から入力されるモード情報に応じた制御信号ＣＴＲＰ１に従って、データレジスタ部２３０から供給される各画素データおよびランレングスデータのデータＤＡＴ２のうちの色データ情報ＣＣを抽出する機能を有している。抽出された色データ情報ＣＣは、以下のように調整された後、色情報信号Ｃ１として、加算部２５６と、セレクタ２５８と、色情報判定部２５９とに供給される。
【０１０２】
２５６色非圧縮モード（図３（Ａ））の場合には、データ部の各画素データは、８ビットの色データ情報ＣＣを有する。このとき、色データ情報抽出部２５２は、データレジスタ部２３０から８ビットの色データ情報ＣＣを順次抽出し、そのまま色情報信号Ｃ１として出力する。また、６４色非圧縮モード（図３（Ｂ））の場合には、データ部の各画素データは、６ビットの色データ情報ＣＣを有する。このとき、色データ情報抽出部２５２は、データレジスタ部２３０から６ビットの色データ情報ＣＣを抽出するとともに、最上位に２ビットの「０」を付加して色情報信号Ｃ１として出力する。これにより、非圧縮モードにおいて色データ情報抽出部２５２から出力される色情報信号Ｃ１は、常に８ビットととなる。なお、色情報信号Ｃ１は、非圧縮モードの場合にはデータ部の色データ情報ＣＣと同じ値を示すので、前述のカラーコード（図４）の値を示すこととなる。
【０１０３】
一方、６４色圧縮モード（図５）の場合には、データ部の各ランレングスデータは８ビット（基本モード）あるいは１６ビット（拡張モード）のうちの上位６ビットに色データ情報ＣＣを有する。このとき、色データ情報抽出部２５２は、データレジスタ部２３０から上位６ビットの色データ情報ＣＣを抽出するとともに、最上位に２ビットの「０」を付加して色情報信号Ｃ１として出力する。また、３２色圧縮モード（図６（Ａ））の場合には、色データ情報抽出部２５２は、データレジスタ部２３０から上位５ビットの色データ情報ＣＣを抽出し、最上位に３ビットの「０」を付加して色情報信号Ｃ１として出力する。同様に、１６色圧縮モード（図６（Ｂ））の場合には、色データ情報抽出部２５２は、データレジスタ部２３０から上位４ビットの色データ情報ＣＣを抽出し、最上位に４ビットの「０」を付加して色情報信号Ｃ１として出力する。このようにして、圧縮モードにおいても、色データ情報抽出部２５２から出力される色情報信号Ｃ１は、常に８ビットに調整される。
【０１０４】
加算部２５６は、ヘッダ解析部２２０から入力される８ビットの色選択情報ＰＯＳの値と、色データ情報抽出部２５２から出力される色情報信号Ｃ１の値とを加算して色情報信号Ｃ２として出力する。すなわち、色情報信号Ｃ２は、ヘッダ部の色選択情報ＰＯＳとデータ部に含まれる各ランレングスデータの色データ情報ＣＣとを加算した値であるため、圧縮モードの場合には、前述のカラーコード（図４）の値を示すこととなる。
【０１０５】
ランレングス情報抽出部２５４は、ヘッダ解析部２２０（図１０）から入力されるモード情報に応じた制御信号ＣＴＲＰ２に従って、データレジスタ部２３０から供給される各ランレングスデータのデータＤＡＴ２のうちランレングス情報を抽出する機能を有している。また、ランレングス情報抽出部２５４は、ランレングス情報に応じた制御信号ＣＴＲＮ，ＣＴＲＡを出力する。なお、ランレングス情報抽出部２５４は、制御信号ＣＴＲＰ２に従い、圧縮モードの場合にのみ使用される。
【０１０６】
６４色圧縮モード（図５）の場合には、データ部の各ランレングスデータは、８ビット（基本モード）のうちの下位２ビットに基本ランレングス情報ＲＬを有する。このとき、色データ情報抽出部２５２は、データレジスタ部２３０から下位２ビットの基本ランレングス情報を抽出するとともに、最上位に６ビットの「０」を付加する。また、基本ランレングス情報ＲＬが「０」である場合には、拡張ランレングス情報ＥＸである次の８ビットをデータレジスタ部２３０から抽出する。これにより、各ランレングスデータから８ビットのランレングスを得ることができる。同様にして、３２色圧縮モード（図６（Ａ））あるいは１６色圧縮モード（図６（Ｂ））の場合にも、各ランレングスデータのランレングスを得ることができる。
【０１０７】
ランレングス情報抽出部２５４は、ランレングス情報に応じた制御信号ＣＴＲＮをレジスタ２５７に供給する。このとき、レジスタ２５７は、入力される色情報信号Ｃ２を、制御信号ＣＴＲＮに従って、連続する画素数（ランレングス）分の色情報信号Ｃ２’に伸張する。
【０１０８】
また、ランレングス情報抽出部２５４は、ランレングス情報に応じた制御信号ＣＴＲＡをアドレス制御部２１０に供給する。このとき、アドレス制御部２１０は、制御信号ＣＴＲＡに従って、ＲＯＭ１００に与えるアドレス制御信号ＡＤＤ１を調整する。これにより、画像データが圧縮されている場合にも、タイミングをうまく制御して、画像データＤＡＴ１をデータレジスタ部２３０に供給することができる。
【０１０９】
セレクタ２５８は、色データ情報抽出部２５２から出力された色情報信号Ｃ１と、レジスタ２５７から出力された色情報信号Ｃ２’とのうちの一方を選択して、色情報信号ＣＣＤを出力する機能を有している。すなわち、モード情報が非圧縮モードのときには色情報信号Ｃ１を選択して出力し、圧縮モードのときには色情報信号Ｃ２’を選択して出力する。この切換動作は、ヘッダ解析部２２０から入力される制御信号ＣＴＲＭによって制御される。制御信号ＣＴＲＭは、前述のようにモード情報ＭＤと画素数情報ＤＮと圧縮モードの最後のランレングスデータＬＥとに応じて生成される信号である。したがって、この信号ＣＴＲＭを用いれば、ヘッダ部のモード情報ＭＤによって切換時間の始期が決定され、画素数情報ＤＮと圧縮モードの最後のランレングスデータＬＥとによって切換時間の終期を決定することができる。これにより、セレクタ２５８から各水平ラインに含まれる各画素の色情報信号ＣＣＤが順次出力される。なお、この色情報信号ＣＣＤで表される値は、前述したように、カラーコードの値に対応している。
【０１１０】
また、セレクタ２５８は、上記の機能とともに、「透明」（後述する）を示す色情報信号ＣＣＤ（本実施例では「０」）を強制的に出力する機能を有している。この機能は、色情報判定部２５９によって実現される。
【０１１１】
色情報判定部２５９は、色データ情報抽出部２５２から出力される色情報信号Ｃ１が「透明」を表す所定の値（「０」）であるか否かを判定し、「透明」を表す所定の値である場合には、制御信号ＣＴＲＣをセレクタ２５８に供給する機能を有している。セレクタ２５８は、制御信号ＣＴＲＣが入力されると、図１１に示すセレクタ２５８に入力されている「透明」を表す所定の色情報信号ＣＣＤ「０」を強制的に出力する。前述したように、非圧縮モードにおいては、セレクタ２５８（図１１）から出力される色情報信号ＣＣＤの値は、色情報信号Ｃ１が「０」である場合には常に「０」となる。一方、圧縮モードにおいては、色情報信号Ｃ１と色選択情報ＰＯＳとが加算された値が色情報信号ＣＣＤとしてセレクタ２５８から出力される。このため、圧縮モードでは、色情報信号Ｃ１が「０」であってもセレクタ２５９から出力される色情報信号ＣＣＤが「０」とならない場合がある。したがって、色情報判定部２５９を備えることにより、色情報信号Ｃ１が「０」である場合には、セレクタ２５８から出力される色情報信号ＣＣＤを、強制的に「透明」を表す「０」とすることが可能となる。なお、色情報判定部２５９には、ランレングス情報抽出部２５４から出力された制御信号ＣＴＲＮが入力されているので、「透明」を表す画素数（ランレングス）分の制御信号ＣＴＲＣを出力することが可能である。
【０１１２】
書込・読出制御部３００（図１０）は、画像データ調整部２５０から出力された各画素の色情報信号ＣＣＤをラインメモリ３２０に書き込む機能を有している。ここで、本実施例のラインメモリ３２０は、少なくとも１ライン以上のデータ容量を備えたメモリである。なお、書込・読出制御部３００における色情報信号ＣＣＤの書き込み処理は、ヘッダ解析部２２０から出力される制御信号ＣＴＲＭをよって制御される。書込・読出制御部３００は、入力される色情報信号ＣＣＤが上記の「透明」を表す「０」である場合には、その画素についてはラインメモリ３２０への書き込みを中止する。ところで、本実施例の伸張装置においては、ＲＯＭ１００などに記憶された複数の画像データがライン単位で伸張され、伸張されたライン画像データが重畳されることにより、最終的に１つの画像を表す画像データが形成される。したがって、ラインメモリ３２０内にすでに画像データが書き込まれている場合には、「透明」でない部分についてのみ色情報信号ＣＣＤが上書きされるので、「透明」の部分を有する画像を重畳した画像データを得ることができる。
【０１１３】
また、書込・読出制御部３００は、ラインメモリ３２０内に書き込まれた画像データを表す色情報信号ＣＣＤＳを読み出し、カラーコード変換部２６０に供給する。なお、書込・読出制御部３００におけるラインメモリ３２０からの色情報信号ＣＣＤＳの読み出し処理は、図示しないタイミング制御部から出力される制御信号に基づいて制御される。
【０１１４】
カラーコード変換部２６０は、入力された色情報信号ＣＣＤＳの値（カラーコードの値）に応じて、カラーパレット２７０から対応する色データＣＬ（図４）を取得する。なお、色データＣＬは、前述したように、Ｒ，Ｇ，Ｂの３色の色データから構成されている。カラーコード変換部２６０は、各画素の色データＣＬを順次出力する。
【０１１５】
カラーコード変換部２６０から出力された色データＣＬは、表示部３３０に入力される。表示部３３０は、入力された各画素の色データＣＬに基づいて、その画面上に画像を表示する。このようにして、ＲＯＭ１００に記憶された画像データが伸張され、表示部３３０の画面上に画像が表示される。
【０１１６】
なお、本実施例の書込・読出制御部３００は、他のメモリ等から他の画像データが入力される場合にも、その画像データをラインメモリ３２０に書き込むことができる。この場合、他の画像データは、上記の色情報信号ＣＣＤと同様に、カラーコードで構成されたデータである。このとき、ラインメモリ３２０に書き込まれた他の画像データに上書きして、画像データ調整部２５０から出力された伸張された画像データを重畳させることができる。なお、この場合にも、上記と同様に、「透明」の部分を有する画像を重畳することが可能である。
【０１１７】
上記では、伸張された画像データの重畳処理は、書込・読出制御部３００がラインメモリ３２０内にすでに書き込まれている他の画像データに上書きすることによって行っている。また、伸張された画像データが「透明」を表す色情報信号ＣＣＤである場合には、その画素については上書き処理を行わずに、他の画像データが選択されている。伸張された画像データの重畳処理を行うには、上記に代えて、図示しない画像切換部を設けてもよい。この画像切換部は、例えば、他の画像データと伸張された画像データとを順次切り替えながら重畳画像を出力する回路である。このとき、伸張された画像データとして、「透明」を表す色情報信号ＣＣＤが入力される場合には、他の画像データを選択してラインメモリ３２０に書き込めばよい。このような画像切替部や、本実施例における書込・読出制御部３００およびラインメモリ３２０が本発明における画像合成部に相当する。
【０１１８】
なお、本実施例においては、色情報信号ＣＣＤはラインメモリ３２０に書き込まれているが、ラインメモリ３２０に代えて、１フレームのデータ容量を備えたフレームメモリを用いてもよい。ただし、本実施例のように、ラインメモリ３２０を用いれば、メモリ容量を小さくすることができるという利点がある。
【０１１９】
上記実施例においては、色情報判定部２５９がセレクタ２５８を制御することにより、「透明」を表す色情報信号ＣＣＤが強制的に出力されているが、色情報判定部２５９を省略して他の方法を用いてもよい。
【０１２０】
例えば、加算部２５６（図１１）が、各ランレングスデータの色データ情報ＣＣに基づく色情報信号Ｃ１を識別し、「０」である場合には色選択情報ＰＯＳを加算しない（あるいは、色選択情報ＰＯＳとして強制的に「０」を加算する）ようにしてもよい。こうすれば、色情報判定部２５９を省略することができる。
【０１２１】
また、書込・読出制御部３００にヘッダ解析部２２０で識別される色選択情報ＰＯＳを供給し、色選択情報ＰＯＳとセレクタ２５８から出力される色情報信号ＣＣＤが示すカラーコードとが一致する場合（すなわち、色情報情報Ｃ１が「０」の場合）に、書込・読出制御部３００がラインメモリ３２０への書き込みを中止してもよい。このようにしても、色情報判定部２５９を省略して、「透明」の画像が重畳された画像データを得ることができる。
【０１２２】
Ｃ．画像の圧縮装置：
図１２は、元画像を本発明のデータ構造を有する画像データに圧縮する圧縮装置の一例を示すブロック図である。この圧縮装置は、元画像データが記憶された画像メモリ５００と、元画像データから圧縮された画像データを生成するための圧縮部６００と、圧縮された画像データを記憶するためのＲＯＭ１１０と、ＲＯＭ１１０に圧縮された画像データを書き込むための書込制御部７００とを備えている。圧縮部６００は、アドレス制御部６１０と、色データ変換部６２０と、カラーパレット６３０と、カラーコード検査部６４０と、データ調整部６５０とを備えている。なお、圧縮部６００および書込制御部７００は、図示しないタイミング制御部によって制御されている。
【０１２３】
画像メモリ５００に記憶された元画像データは、各画素毎にＲ，Ｇ，Ｂの３色の色データから構成されており、図４と同じカラーパレット６３０に登録された２５６色の色データのうちのいずれかの色データが用いられている。また、画像メモリ５００内には、元画像の大きさを示す画像サイズが記憶されている。
【０１２４】
圧縮部６００内のアドレス制御部６１０は、アドレス制御信号ＡＤＤ２を出力して、画像メモリ５００から元画像の画像サイズＳＺと元画像データに含まれる各画素の色データＣＬとを読み出す機能を有している。アドレス制御部６１０は、読み出された画像サイズＳＺを後述するデータ調整部６５０に供給する。また、画像サイズＳＺに応じて、カラーコード検査部６４０を制御するための制御信号ＲＳＴを出力する。一方、読み出された色データＣＬは、色データ変換部６２０に入力される。
【０１２５】
色データ変換部６２０は、入力された各画素の色データＣＬに基づいて、順次、カラーパレット６３０を参照してカラーコードＣＣＤを出力する。カラーコードＣＣＤは、カラーコード検査部６４０に入力される。
【０１２６】
カラーコード検査部６４０は、各画素のカラーコードＣＣＤに応じて、各水平ラインに含まれる色数ＣＣＤｎを出力する。また、カラーコードＣＣＤとともに、各水平ラインにおいて同じカラーコードが連続する画素数を示すランレングスＲＬＧを出力する。
【０１２７】
図１３は、カラーコード検査部６４０の内部構成を示すブロック図である。図１３に示すように、カラーコード検査部６４０は、第１および第２のレジスタ６４１，６４８と、カラーコード比較部６４２と、ランレングスカウンタ６４３と、色数カウンタ６４６とを備えている。カラーコードＣＣＤは、第１および第２のレジスタ６４１，６４８と、カラーコード比較部６４２と、色数カウンタ６４６とに入力されている。
【０１２８】
カラーコード比較部６４２には、色データ変換部６２０から出力された各画素のカラーコードＣＣＤが直接入力されるとともに、第１のレジスタ６４１を介したカラーコードＣＣＤ’が入力される。これにより、隣り合う２つの画素のカラーコードを順次比較することができる。カラーコード比較部６４２は、隣り合う２つのカラーコードが一致した場合に一致信号Ｓを出力する。
【０１２９】
ランレングスカウンタ６４３は、カラーコード比較部６４２から入力された一致信号Ｓに基づいて同じカラーコードが連続する画素数（ランレングス）をカウントして出力する。ランレングスカウンタ６４３は、一致信号Ｓが連続して入力されているときには、一致回数をカウントし、一致信号Ｓが入力されないときにはカウンタ値をリセットする。なお、本実施例のランレングスカウンタ６４３は、初期値が「１」に設定されている。したがって、一致信号Ｓが全く出力されない場合、換言すれば、同じカラーコードＣＣＤの画素が連続せずに１画素毎に異なるカラーコードＣＣＤが入力される場合にもランレングスＲＬＧとして「１」を出力する。一方、一致信号Ｓが（ｋ−１）回出力される場合、換言すれば、同じカラーコードＣＣＤの画素がｋ画素連続して入力される場合には、ランレングスＲＬＧとして「ｋ」を出力する。なお、本実施例のランレングスカウンタ６４３は、アドレス制御部６１０（図１２）において画像サイズＳＺに基づいて生成された制御信号ＲＳＴによって１水平ライン毎に強制的にリセットされる。
【０１３０】
色数カウンタ６４６は、入力されるカラーコードＣＣＤの値の種類（色数）をカウントする。色数カウンタ６４６は、１水平ライン毎に制御信号ＲＳＴによって強制的にリセットされるので、１水平ラインに含まれる色数ＣＣＤｎを出力することができる。
【０１３１】
第２のレジスタ６４８は、入力されたカラーコードＣＣＤを、ランレングスカウンタ６４３からのランレングスＲＬＧの出力とともに出力する機能を有している。これにより、各水平ラインに含まれるカラーコードとランレングスとの組を得ることができる。
【０１３２】
データ調整部６５０（図１２）は、カラーコード検査部６４０から出力されるカラーコードＣＣＤと、ランレングスＲＬＧと、色数ＣＣＤｎとから、本発明のデータ構造を有する画像データを生成する。すなわち、カラーコードＣＣＤと色数ＣＣＤｎとランレングスＲＬＧとからヘッダ部のモード情報ＭＤを決定し、カラーコードＣＣＤおよびランレングスＲＬＧとからデータ部の内容を調整する。
【０１３３】
図１４は、データ調整部６５０におけるヘッダ部のモード情報を決定するための処理手順を示すフローチャートである。ステップＳ１０１においては、データ調整部６５０に各水平ライン毎の色数ＣＣＤｎおよび各水平ラインに含まれる複数のカラーコードＣＣＤとランレングスＲＬＧとが入力される。
【０１３４】
ステップＳ１０２では、色数ＣＣＤｎの値を検査する。なお、本実施例においては、前述のように元画像は２５６色以下の色データで構成されているため、色数ＣＣＤｎは２５６以下の値を取り得る。ステップＳ１０２において、色数ＣＣＤｎが６５以上である場合には、ステップＳ１０３に進む。図３，図５，図６で示したように、１水平ラインあたりに６５色以上の色を表現できるのは、色データ情報ＣＣに８ビット割り当てられている２５６色非圧縮モードのみである。したがって、ステップＳ１０３において、その水平ラインのヘッダ部のモード情報ＭＤを２５６色非圧縮モードと決定する。一方、ステップＳ１０２において色数ＣＣＤｎが６４色以下である場合には、ステップＳ１０４に進む。
【０１３５】
ステップＳ１０４においては、複数のカラーコードＣＣＤのうちの最大値を検査する。最大値が６４以上の値を示す場合には、ステップＳ１０５に進む。すなわち、このステップＳ１０４においては、６４色非圧縮モードを使用できるか否かを判断している。カラーコードの値が６４以上の値を示すときには、図４に示すようにカラーパレットの色データＣＬ６４〜ＣＬ２５５の色が使用されており、このとき６４色非圧縮モードは使用できない。
【０１３６】
ステップＳ１０５においては、１水平ラインに含まれる複数のカラーコードＣＣＤをもとに圧縮可能か否か、すなわち、カラーパレット６３０においてオフセット値が決定可能か否かを判断する。前述したように、圧縮モードにおいては、色データ情報として割り当てられるビット数によって１水平ラインで使用可能な色数が制限されている。このとき、使用可能な色の種類は、カラーパレットにおけるオフセット値を起点とした所定数の色である。したがって、複数のカラーコードの値が相互に大きく異なる場合には、オフセット値をうまく決定することができない。ステップＳ１０５においては、圧縮モードのデータ部の色データ情報として割り当てられるビット数が最も小さい場合（図６（Ｂ）の４ビットの色データ情報ＣＣ）の色数（１６色）を用いて、オフセット値をうまく決定できるか否かを判断する。ステップＳ１０５において１６色でオフセット値をうまく決定できる場合には、ステップＳ１０６に進み、その水平ラインのヘッダ部のモード情報ＭＤを、１６色非圧縮モードと決定する。一方、ステップＳ１０５において、１６色でオフセット値をうまく決定できない場合には、ステップＳ１０７に進む。なお、ステップＳ１０５における処理は、複数のカラーコードＣＣＤの値の最大値と最小値の差から判断可能である。
【０１３７】
ステップＳ１０７においては、ステップＳ１０５と同様にして、色データ情報ＣＣとして割り当てられるビット数が次に大きい場合（図６（Ａ）の５ビットの色データ情報ＣＣ）の色数（３２色）を用いて、オフセット値を決定できるか否かを判断する。オフセット値が決定可能な場合、すなわち、オフセット値を起点とした所定の３２色でその水平ラインに含まれる画素を表現できる場合には、ステップＳ１０８に進み、その水平ラインのヘッダ部のモード情報ＭＤを３２色圧縮モードと決定する。一方、ステップＳ１０７において、３２色でオフセット値をうまく決定できない場合には、ステップＳ１０９に進む。
【０１３８】
ステップＳ１０９においても、ステップＳ１０５およびステップＳ１０７における処理と同様にして、データ部の色データ情報ＣＣとして割り当てられるビット数が次に大きい場合（図５の６ビットの色データ情報ＣＣ）の色数（６４色）を用いて、オフセット値を決定可能か否かを判断する。オフセット値が決定可能な場合には、ステップＳ１１０に進み、その水平ラインのヘッダ部のモード情報を６４色圧縮モードと決定する。一方、ステップＳ１０９において、６４色でオフセット値をうまく決定できない場合には、ステップＳ１１１に進む。このとき、６４色非圧縮モードおよび１６色、３２色、６４色圧縮モードのいずれも用いることができないため、その水平ラインのヘッダ部のモード情報ＭＤを２５６色非圧縮モードと決定する。
【０１３９】
上記のステップＳ１０４において複数のカラーコードＣＣＤのうちの最大値が６３以下である場合には、ステップＳ１１２に進む。このように、カラーコードＣＣＤの最大値が６３以下である場合には、６４色非圧縮モードが使用できる。ただし、圧縮モードを使用できる可能性がある。このとき、圧縮モードを使用した場合のライン画像データのデータ量と、６４色非圧縮モードを使用した場合のライン画像データのデータ量とは、いずれがより小さくなるか不明である。例えば、１水平ラインに含まれる画素がそれぞれ異なる色を有している場合には、各画素データが６ビットで構成されている６４色非圧縮モードを使用したライン画像データのデータ量が小さくなる。したがって、複数のカラーコードＣＣＤのうちの最大値が６３以下である場合には、以下に説明する手順で各水平ラインのモードを決定する。
【０１４０】
ステップＳ１１２においては、ステップＳ１０５と同様に、１６色でオフセット値をうまく決定できるか否かを判断する。１６色でオフセット値をうまく決定できる場合には、ステップＳ１１３に進む。ステップＳ１１３においては、ライン画像データのデータ量が、１６色圧縮モードと６４色非圧縮モードとのいずれを用いた方が小さくなるかを比較して、データ量の小さい方のモードをヘッダ部のモード情報ＭＤとして決定する。
【０１４１】
なお、ステップＳ１１３におけるデータ量の比較は、データ調整部６５０に入力される各ランレングスＲＬＧを用いて行うことができる。すなわち、６４色非圧縮モードを用いる場合のデータ量は、１水平ラインに含まれるランレングスＲＬＧの合計値に６ビットを乗じたデータ量である。一方、１６色圧縮モードを用いる場合のデータ量は、１水平ラインに含まれるランレングスＲＬＧに基づいて、データ部に含まれる基本モードあるいは拡張モードのランレングスデータの個数を求めることによっ計算することができる。
【０１４２】
ステップＳ１１２において、１６色でオフセット値をうまく決定できない場合には、ステップＳ１１４に進む。ステップＳ１１４においては、３２色でオフセット値をうまく決定できるか否かを判断する。３２色でオフセット値をうまく決定できる場合には、ステップＳ１１５に進む。ステップＳ１１５においては、上記のステップＳ１１３と同様にして、ライン画像データのデータ量が、３２色圧縮モードと６４色非圧縮モードとのいずれを用いた方がデータ量が小さくなるかを比較して、データ量の小さい方のモードをヘッダ部のモード情報ＭＤとして決定する。
【０１４３】
ステップＳ１１４において、３２色でオフセット値をうまく決定できない場合には、ステップＳ１１６に進む。ステップＳ１１６においても、上記のステップＳ１１３，Ｓ１１５と同様にして、ライン画像データのデータ量が、６４色圧縮モードと６４色非圧縮モードとのいずれを用いた方がデータ量が小さくなるかを比較して、データ量の小さい方のモードをヘッダ部のモード情報ＭＤとして決定する。
【０１４４】
このように、図１４に示す手順に従えば、自動的に、各組のライン画像データのデータ量が最小になるモード情報を決定することができる。なお、ヘッダ部のモード情報の決定は、上記の手法に限られず、カラーコード検査部６４０によって与えられる情報ＣＣＤｎ，ＣＣＤ，ＲＬＧに基づいてユーザが決定できるようにしてもよい。
【０１４５】
図１２のデータ調整部６５０において、ヘッダ部のモード情報ＭＤが決定されると、決定されたモード情報に応じて画像データが調整される。図１４のステップＳ１０３，Ｓ１１１において２５６色非圧縮モードと決定された場合には、アドレス制御部６１０から入力される画像サイズＳＺに応じて、１水平ラインあたりの画素数をヘッダ部（図３（Ａ））の画素数情報ＤＮとして準備する。また、カラーコード検査部６４０から入力されるカラーコードＣＣＤとランレングスＲＬＧとの組に応じて、データ部の各画素データを準備する。すなわち、色データ情報ＣＣとしてカラーコードＣＣＤの値を有する画素データを、ランレングスＲＬＧの値に等しい数だけ準備する。このようにして、２５６色非圧縮モードの１組のライン画像データＤＡＴが生成され、順次、書込制御部７００に入力される。
【０１４６】
図１４のステップＳ１１３，Ｓ１１５，Ｓ１１６において６４色非圧縮モードと決定された場合には、上記と同様に１水平ラインの画素数をヘッダ部（図３（Ｂ））の画素数情報ＤＮとして準備する。また、色データ情報ＣＣとしてカラーコードＣＣＤの値を有する画素データをランレングスＲＬＧの値に等しい数だけ準備する。ただし、６４色非圧縮モードの場合には、８ビットからなるカラーコードＣＣＤの上位２ビットを削除して色データ情報ＣＣを準備する。このようにして、６４色非圧縮モードの１組のライン画像データＤＡＴが生成される。
【０１４７】
一方、図１４のステップＳ１０６，Ｓ１１３において１６色圧縮モードと決定された場合には、それぞれステップＳ１０５，Ｓ１１２において求められるオフセット値をヘッダ部（図５）の色選択情報ＰＯＳとして準備する。また、カラーコードＣＣＤとランレングスＲＬＧとの組に応じて、データ部の各ランレングスデータを準備する。すなわち、データ部の各ランレングスデータの色データ情報ＣＣとして、カラーコードＣＣＤの値からオフセット値（色選択情報）ＰＯＳを減じた値を色データ情報として準備する。また、ランレングスＲＬＧをランレングス情報として準備する。なお、１６色圧縮モードにおいては、４ビットの基本ランレングス情報ＲＬとして登録できるのはランレングスの値が「１５」までであるため、必要に応じて８ビットの拡張ランレングス情報ＥＸを準備する。拡張ランレングス情報を用いてもランレングスＲＬＧの値を表現できない場合には、次のランレングスデータに、上記と同じ色データ情報と、残りのランレングスを示すランレングス情報を準備すればよい。また、入力される元画像の画像サイズに応じて前述のエンドマークを示すランレングスデータＬＥが付加される。このようにして、１６色圧縮モードの１組のライン画像データＤＡＴが生成され、順次、書込制御部７００に入力される。
【０１４８】
図１４のステップＳ１０８，Ｓ１１５において３２色圧縮モードと決定された場合、また、ステップＳ１１０，Ｓ１１６において６４色圧縮モードと決定された場合にも、上記と同様にして、３２色あるいは６４色圧縮モードの１組のライン画像データＤＡＴが生成され、順次、書込制御部７００に入力される。
【０１４９】
図１２の書込制御部７００は、データ調整部６５０から順次入力されるライン画像データＤＡＴをＲＯＭ１１０に書き込む。これにより、ＲＯＭ１１０には、元画像が本発明のデータ構造を用いて圧縮された画像データが記憶される。
【０１５０】
なお、上記の圧縮装置においては、カラーパレット６３０として、図４に示すような各色データが１つずつ登録されているものを用いているが、カラーパレット６３０には、同じ色データが重複して登録されていてもよい。
【０１５１】
例えば、カラーパレット内に使用頻度の高い色データを複数のカラーコードに対応させて登録してもよい。このとき、使用頻度の高い色データを特定できるカラーコードの選択の幅が広がるので、画像データの圧縮率を向上させることができる可能性がある。すなわち、色データが重複して登録されていない場合には、１水平ラインで用いられる各色データに対応するカラーコードの値が大きく異なる可能性が高く、うまくオフセット値を決定することができない場合が多い。しかし、使用頻度の高い同じ色データが重複して登録されていれば、１水平ラインで用いられる各色データに対応するカラーコードの値の範囲を狭めることができるので、うまくオフセット値を決定できる可能性がある。なお、この場合には、同じ色データを特定する複数のカラーコードの関係を図示しないテーブルに登録し、データ調整部６５０がテーブルを参照しながらオフセット値を決定するようにすればよい。このようにすれば、オフセット値をうまく決定し、圧縮率の高いモードでライン画像データを生成できる可能性が高くなる。
【０１５２】
なお、圧縮された画像データに、「透明」であることを示す色データ情報（例えば、「０」）を登録したい場合には、元画像が記憶された画像メモリ５００内の所定の色データに対応するカラーコードをカラーパレット６３０において「０」として登録するか、あるいは、色データ変換部６２０が所定の色データが入力されたときに強制的にカラーコード「０」を出力するようにすればよい。このとき、データ調整部６５０は、圧縮モードの場合にはカラーコード「０」を無視してオフセット値を決定し、色データ情報を準備する際には、カラーコードとオフセット値との減算を中止すればよい。こうすれば、元画像データが所定の色データを示す画素については、色データ情報を「０」として、ＲＯＭ１１０に登録することが可能である。
【０１５３】
以上、説明したように、上記のような伸張装置を用いれば、カラー画像内の色の連続性に応じた適切な構成で生成された圧縮画像データを、各ブロック画像データのモード情報に応じてうまく伸張することができる。また、上記のような圧縮装置を用いれば、カラー画像内の色の連続性に応じた適切な構成で圧縮画像データを生成することができる。
【０１５４】
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば以下のような変形も可能である。
【０１５５】
（１）上記実施例では、ライン画像データのヘッダ部に含まれるモード情報として、図２に示すようなモードが準備されているが、他の圧縮モードあるいは非圧縮モードを準備してもよい。一般には、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定数のデータ構成モードの中から１つのデータ構成モードを選択するようにすればよい。
【０１５６】
また、図２で示したように、非圧縮モードおよび圧縮モードとしては、使用可能な色数が異なる複数のモードを準備しておくことが好ましい。こうすれば、１ブロック内で使用する色数および色の範囲に応じて、適切な色数の圧縮モードや非圧縮モードを選択することができ、圧縮画像データ全体のデータ量を削減することができる。
【０１５７】
（２）上記実施例では、元画像の１水平ライン毎にライン画像データを生成しているが、複数の水平ラインを１つのブロックとして区切り、その各ブロック毎にブロック画像データを生成するようにしてもよい。このとき、ブロックの区切りは、ライン単位で行われていればよく、各ブロックに含まれるライン数はブロック毎に変化してもよい。すなわち、１組のブロック画像データは、元画像を水平ラインを単位として区切られた各ブロックについて生成されていればよい。この場合に、データ構成モードは、各ブロック毎に設定される。
【０１５８】
なお、１ブロックに複数の水平ラインを含む場合には、圧縮された画像データの先頭に前述のフレームヘッダ部を設け、元画像の１水平ラインに含まれる画素数を登録すればよい。このとき、非圧縮モードの場合には、ブロック画像データのヘッダ部の画素数情報ＤＮに複数の水平ラインに含まれる全画素数（またはライン数）を登録し、データ部には、複数の水平ラインに含まれる全画素についての画素データを続けて登録する。また、圧縮モードの場合には、データ部に複数の水平ラインに含まれる全画素についてのランレングスデータを続けて登録する。ただし、この場合にもブロック画像データの最後にはエンドマークを示すランレングスデータＬＥを付加する。
【０１５９】
上記のように、複数の水平ラインについて生成されたブロック画像データを伸張装置を用いて伸張する際には、フレームヘッダ部に登録された１水平ラインの画素数を用いて行う。すなわち、非圧縮モードの場合には、ヘッダ部の複数の水平ラインの全画素数を示す画素数情報ＤＮとデータヘッダ部の１水平ラインの画素数とを用いて、１組のブロック画像データに何ライン分の情報が含まれているかを知ることができる。これにより、ブロック画像データを１水平ラインずつうまく伸張することができる。一方、圧縮モードの場合には、データ部の各ランレングスデータのランレングス情報に登録されたランレングスの値を順次カウントし、１水平ラインの画素数と比較することにより、ブロック画像データを１水平ラインずつうまく伸張することができる。このようにすれば、複数の水平ラインについて１組のブロック画像データを生成した場合にも、元画像をうまく再現することができる。
【０１６０】
また、複数の水平ラインを含むブロック画像データを圧縮装置を用いて生成する場合には、ユーザが、各組のブロック画像データに含ませる水平ラインの数を順次指定し、それに応じて元画像を圧縮すればよい。
【０１６１】
（３）本発明は、上記の図７で示す実施例のように、画像データ全体で非圧縮モードのブロック画像データを含まなくてもよい。すなわち、本発明の画像データに含まれるブロック画像データは、少なくとも１種類の非圧縮モードと少なくとも１種類の圧縮モードとを含む所定数のデータ構成モードの中から選択された１つのデータ構成モードに従って構成されていればよい。
【０１６２】
（４）上記実施例では、圧縮モードの場合にのみ、色選択情報ＰＯＳを用いているが、非圧縮モードの場合にも色選択情報ＰＯＳを用いるようにしてもよい。こうすれば、非圧縮モードにおいても多数の色を表現できることとなる。この場合には、圧縮モードと同様に、非圧縮モードのヘッダ部に色選択情報ＰＯＳを登録し、各画素データに色指定情報を登録するようにすればよい。
【０１６３】
（５）上記実施例では、圧縮モードの場合に、データ部は１ブロック（実施例では１水平ライン）に含まれるすべての画素についての色情報を表す圧縮画素データとしてランレングスデータを用いているが、他の圧縮方法による圧縮画素データを用いてもよい。圧縮画素データとしては、例えば、各画素についての色情報をＤＣＴ変換とハフマン符号化とを組み合わせて圧縮したものを用いることができる。
【０１６４】
（６）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。
【図面の簡単な説明】
【０１６５】
【図１】本実施例における圧縮された画像データを示す説明図。
【図２】ヘッダ部に登録されるモード情報の内容を示す説明図。
【図３】非圧縮モードの場合のデータ構造を示す説明図。
【図４】カラーパレットを示す説明図。
【図５】６４色圧縮モードの場合のデータ構造を示す説明図。
【図６】３２色圧縮モードおよび１６色圧縮モードのデータ構造を示す説明図である。
【図７】本発明のデータ構造に従って構成された画像データを示す説明図。
【図８】本発明を適用した場合の種々の画像データを示す説明図。
【図９】表示すべき画素が画像の一部にのみ存在する場合を示す説明図。
【図１０】本発明のデータ構造を用いて構成された画像データを伸張する伸張装置の一例を示すブロック図。
【図１１】画像データ調整部２５０の概略の内部構成を示すブロック図。
【図１２】元画像を本発明のデータ構造を有する画像データに圧縮する圧縮装置の一例を示すブロック図。
【図１３】カラーコード検査部６４０の内部構成を示すブロック図。
【図１４】データ調整部６５０におけるヘッダ部のモード情報を決定するための処理手順を示すフローチャート。
【符号の説明】
【０１６６】
１００，１１０…ＲＯＭ
２００…伸張部
２１０…アドレス制御部
２２０…ヘッダ解析部
２３０…データレジスタ部
２５０…画像データ調整部
２５２…色データ情報抽出部
２５４…ランレングス情報抽出部
２５６…加算部
２５７…レジスタ
２５８…セレクタ
２５９…色情報判定部
２６０…カラーコード変換部
２７０…カラーパレット
３００…読出制御部
３１０…入力端子
３２０…ラインメモリ
３３０…表示部
５００…画像メモリ
６００…圧縮部
６１０…アドレス制御部
６２０…色データ変換部
６３０…カラーパレット
６４０…カラーコード検査部
６４１…レジスタ
６４２…カラーコード比較部
６４３…ランレングスカウンタ
６４６…色数カウンタ
６４８…レジスタ
６５０…データ調整部
７００…書込制御部
【図１】
2006033823.tif 000003
【図２】
2006033823.tif 000004
【図３】
2006033823.tif 000005
【図４】
2006033823.tif 000006
【図５】
2006033823.tif 000007
【図６】
2006033823.tif 000008
【図７】
2006033823.tif 000009
【図８】
2006033823.tif 000010
【図９】
2006033823.tif 000011
【図１０】
2006033823.tif 000012
【図１１】
2006033823.tif 000013
【図１２】
2006033823.tif 000014
【図１３】
2006033823.tif 000015
【図１４】
2006033823.tif 000016
【手続補正書】
【提出日】平成17年11月15日(2005.11.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
カラー画像を表す圧縮画像データを伸張するための画像伸張装置であって、
前記圧縮画像データを記憶する第１のメモリと、
複数の色コードを含むカラーパレットであって、前記複数の色コードには同じ色を示す色コードが含まれる、前記カラーパレットを備え、前記カラーパレットを参照しつつ前記第１のメモリに記憶された前記圧縮画像データを伸張する伸張部と、
を備え、
前記第１のメモリに記録された前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記カラーパレットの中から一部の複数の色コードを選択するための色選択情報であって、前記カラーパレットにおける前記一部の複数の色コードの範囲を特定するための始点を指定するオフセット値を含む前記色選択情報を含み、
前記データ部は、
前記色選択情報によって選択される前記一部の複数の色コードのうちの１つを指定するための色指定情報を含み、
前記伸張部は、
前記カラーパレットを参照しつつ、前記色選択情報と前記色指定情報とに応じて１ブロックに含まれる各画素の色を決定することを特徴とする画像伸張装置。
【請求項２】
カラー画像を圧縮するための画像圧縮装置であって、
前記カラー画像を記憶する第１のメモリと、
複数の色コードを含むカラーパレットであって、前記複数の色コードには同じ色を示す色コードが含まれる、前記カラーパレットを備え、前記カラーパレットを参照しつつ前記カラー画像から圧縮された圧縮画像データを生成する圧縮部と、
前記圧縮画像データを記録するための第２のメモリと、
前記第２のメモリに前記圧縮画像データを書き込む書込制御部と、
を備え、
前記圧縮画像データは、前記カラー画像に含まれる１以上のラインをライン単位で区切って得られた１以上のブロックのうち、有意な画素値を有する少なくとも１つの画素を含むブロックのそれぞれについて、ヘッダ部とデータ部とを含むブロック画像データをそれぞれ有し、
前記ヘッダ部は、
前記カラーパレットの中から一部の複数の色コードを選択するための色選択情報であって、前記カラーパレットにおける前記一部の複数の色コードの範囲を特定するための始点を指定するオフセット値を含む前記色選択情報を含み、
前記データ部は、
前記色選択情報によって選択される前記一部の複数の色コードのうちの１つを指定するための色指定情報を含み、
前記圧縮部は、
前記カラーパレットを参照しつつ前記カラー画像の１ブロックに含まれる画素の色に応じて前記色選択情報と前記色指定情報とを決定し、圧縮された前記圧縮画像データを生成することを特徴とする画像圧縮装置。