(57)【特許請求の範囲】
【請求項１】
画像データを、所定の数のビットごとに切り出したワードデータとして圧縮する画像圧縮処理装置であって、
前記切り出された連続する複数のワードデータのうち、一のワードデータを、該ワードデータに続く次のワードデータの先頭ビットに基づいてランレングス法により符号化する符号化手段と、
前記切り出された複数のワードデータのうち、一のワードデータと、該ワードデータに続く次のワードデータとの符号量を測定する符号量測定手段と、
前記符号量測定手段によって測定された符号量を、予め設定された符号量のしきい値と比較して前記ワードデータの符号量が前記しきい値よりも大きいか否かを判断する符号量比較手段と、
を備え、
前記符号量比較手段により、前記ワードデータのうちの一つである第１ワードデータの次に符号化される第２ワードデータの符号量が、前記しきい値よりも大きいと判断された場合、前記符号化手段は、前記第１ワードデータを符号化する際に前記第１のワードデータと前記第２のワードデータとにわたるランレングスをカットすることを特徴とする画像圧縮処理装置。
【請求項２】
前記符号化手段によって符号化された符号ワードデータと、前記符号化手段によって符号化される以前の前記ワードデータである元ワードデータとを保持し、前記符号量比較手段がワードデータの符号量を前記しきい値よりも小さいと判断した場合には符号ワードデータを出力する一方、前記符号量比較手段がワードデータの符号量を前記しきい値よりも大きいと判断した場合には元ワードデータを出力するワードデータ選択出力手段を備えることを特徴とする請求項１に記載の画像圧縮処理装置。
【請求項３】
前記符号化手段は、前記画像データにおいてランレングスが繰り返し出現する回数である繰り返し数を求めると共に該繰り返し数に基づいて前記ワードデータを符号化することを特徴とする請求項１又は２に記載の画像圧縮処理装置。
【請求項４】
画像データを、所定の数のビットごとに切り出したワードデータとして圧縮する画像圧縮処理方法であって、
前記切り出された連続する複数のワードデータのうち、一のワードデータを、該ワードデータに続く次のワードデータの先頭ビットに基づいてランレングス法により符号化する符号化工程と、
前記符号化工程において符号化されたワードデータと同様のワードデータを符号化以前の状態で保持する保持工程と、
前記切り出された複数のワードデータのうち、一のワードデータと、該ワードデータに続く次のワードデータとの符号量を測定する符号量測定工程と、
前記符号量測定工程において測定された符号量を、予め設定された符号量のしきい値と比較して前記ワードデータの符号量が前記しきい値よりも大きいか否かを判断する符号量比較工程と、
を含み、
前記符号量比較工程により、前記ワードデータのうちの一つである第１ワードデータの次に符号化される第２ワードデータの符号量が、前記しきい値よりも大きいと判断された場合、前記符号化工程は、前記第１ワードデータを符号化する際に前記第１のワードデータと前記第２のワードデータとにわたるランレングスをカットすることを特徴とする画像圧縮処理方法。
【請求項５】
画像データを、所定の数のビットごとに切り出したワードデータとして圧縮する画像圧縮処理方法をコンピュータに実行させるためのプログラムであって、
コンピュータに、
前記切り出された連続する複数のワードデータのうち、一のワードデータを、該ワードデータに続く次のワードデータの先頭ビットに基づいてランレングス法により符号化させる符号化手順と、
前記切り出された複数のワードデータのうち、一のワードデータと、該ワードデータに続く次のワードデータとの符号量を測定させる符号量測定手順と、
前記符号量測定手順によって測定された符号量を、予め設定された符号量のしきい値と比較して前記ワードデータの符号量が前記しきい値よりも大きいか否かを判断させる符号量比較手順と、
を含み、
前記符号量比較手順により、前記ワードデータのうちの一つである第１ワードデータの次に符号化される第２ワードデータの符号量が、前記しきい値よりも大きいと判断された場合、前記符号化手順は、前記第１ワードデータを符号化する際に前記第１のワードデータと前記第２のワードデータとにわたるランレングスをカットすることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像圧縮処理装置、画像圧縮処理方法およびその方法をコンピュータに実行させるためのプログラムに関する。
【０００２】
【従来の技術】
現在、ディジタルデータの処理にかかるハードウェア量や時間を軽減するため、データを圧縮する技術が普及している。一般的にデータ量が多いことで知られる画像データにとって、画像データを圧縮する技術（画像圧縮）は、特に重要な技術となっている。
【０００３】
２値で表される画像を圧縮する画像圧縮技術として、１次元圧縮のランレングス画像圧縮、ファクシミリに使用されるＭＨ符号が知られている。また、近年では、画像データのランレングス処理（画像データのランレングスを求める処理）後、さらに繰り返し処理することによって画像データの圧縮率をより高めることも提唱されている。ただし、このような技術は、いずれも処理の対象となる画像データによっては、画像データ圧縮後に却ってデータ量が多くなること（圧縮後の膨張）が起こり得る。
【０００４】
画像データに圧縮後の膨張が起こり得る場合、画像データを圧縮する画像圧縮処理装置は、画像圧縮処理装置において圧縮した画像データが取り得る最大量のデータを蓄積できるメモリを備えなければならない。このため、画像圧縮処理装置が高コスト化する、あるいはメモリアクセスの回数が多くなって処理速度が低下するという欠点があった。
【０００５】
上記した欠点の解決するため、特開平５−１８３７６０号公報、特開平７−２６４４１７号公報に記載された発明は、ラインごとに画像データを符号化し、符号化された画像データのデータ量が元データ（符号化以前の画像データ）の量よりも多くなった場合、圧縮後の膨張が起ったことを示すフラグをたてて元データを格納する。特開平５−１８３７６０号公報、特開平７−２６４４１７号公報に記載された発明によれば、符号化後の画像データ全体のデータ量が元データ全体のデータ量よりも大きくなることがなく、圧縮後の膨張が起ることがない。
【０００６】
また、特開平９−２４８９４３号公報、特開平１０−１１７２８９号公報に記載された発明は、画像データをラインごとに符号化するのではなく、ブロック（ライン方向およびラインと直行する方向にそれぞれ複数配列された画素）単位で符号化し、圧縮後に膨張したブロックの画像データについてはフラグをたてて元データを格納している。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記した、画像データをラインごとに、あるいはブロックごとに符号化する技術は、１ライン分、あるいは１ブロック分の元データと符号化された画像データとを格納しておくラインメモリあるいはブロックメモリを必要とする。ラインメモリやブロックメモリを画像圧縮処理装置に追加した場合、画像圧縮処理装置のコストが上昇することが考えられる。
【０００８】
また、画像データをラインごとに、あるいはブロックごとに符号化する技術は、画像をラインまたはブロックで区切って符号化する。このため、画像が数ラインあるいは数ブロックにわたって空白であってもこの領域を符号化することになる。このため、圧縮率を高める充分な効果が得られないときがある。
【０００９】
本発明は上述の問題点を解決するために成されたものであり、符号化されたデータや元データを保存しておく構成を最小限に抑え、より低コスト、かつ、高速処理が可能な画像圧縮処理装置、画像圧縮処理方法およびその方法をコンピュータに実行させるためのプログラムを提供することを第１の目的とする。
【００１０】
また、本発明は、数ラインあるいは数ブロックにわたって空白である画像をも効率的に圧縮し、より圧縮率の高い画像圧縮処理装置、画像圧縮処理方法およびその方法をコンピュータに実行させるためのプログラムを提供することを第２の目的とする。
【００１１】
【課題を解決するための手段】
上記した課題を解決し、目的を達成するため、請求項１に記載の発明にかかる画像圧縮処理装置は、画像データを、所定の数のビットごとに切り出したワードデータとして圧縮する画像圧縮処理装置であって、前記切り出された連続する複数のワードデータのうち、一のワードデータを、該ワードデータに続く次のワードデータの先頭ビットに基づいてランレングス法により符号化する符号化手段と、前記切り出された複数のワードデータのうち、一のワードデータと、該ワードデータに続く次のワードデータとの符号量を測定する符号量測定手段と、前記符号量測定手段によって測定された符号量を、予め設定された符号量のしきい値と比較して前記ワードデータの符号量が前記しきい値よりも大きいか否かを判断する符号量比較手段と、を備え、前記符号量比較手段により、前記ワードデータのうちの一つである第１ワードデータの次に符号化される第２ワードデータの符号量が、前記しきい値よりも大きいと判断された場合、前記符号化手段は、前記第１ワードデータを符号化する際に前記第１のワードデータと前記第２のワードデータとにわたるランレングスをカットすることを特徴とする。
【００１２】
この請求項１に記載の発明によれば、第２のワードデータの符号量がしきい値よりも大きいと判断された場合、第１ワードデータを符号化する際に第１ワードデータと第２ワードデータとにわたるワンレングスをカットすることができる。
【００１３】
請求項２に記載の発明にかかる画像圧縮処理装置は、前記符号化手段によって符号化された符号ワードデータと、前記符号化手段によって符号化される以前の前記ワードデータである元ワードデータとを保持し、前記符号量比較手段がワードデータの符号量を前記しきい値よりも小さいと判断した場合には符号ワードデータを出力する一方、前記符号量比較手段がワードデータの符号量を前記しきい値よりも大きいと判断した場合には元ワードデータを出力するワードデータ選択出力手段を備えることを特徴とする。
【００１４】
この請求項２に記載の発明によれば、画像データの符号量をワードデータごとにしきい値と比較し、ワードデータの符号量がしきい値よりも小さいと判断された場合には符号化されたワードデータを出力する一方、ワードデータの符号量がしきい値よりも大きいと判断された場合には符号化される以前の元ワードデータを出力することができる。
【００１５】
請求項３に記載の発明にかかる画像圧縮処理装置は、前記符号化手段は、前記画像データにおいてランレングスが繰り返し出現する回数である繰り返し数を求めると共に該繰り返し数に基づいて前記ワードデータを符号化することを特徴とする。
【００１６】
この請求項３に記載の発明によれば、画像データにおいてランレングスが繰り返し出現する回数である繰り返し数を求めると共にこの繰り返し数に基づいて画像データをワードデータごとに符号化する構成において、画像データの符号量をワードデータごとにしきい値と比較し、ワードデータの符号量がしきい値よりも小さいと判断された場合には符号化されたワードデータを出力する一方、ワードデータの符号量がしきい値よりも大きいと判断された場合には符号化される以前の元ワードデータを出力することができる。
【００１９】
請求項４に記載の発明にかかる画像圧縮方法は、画像データを、所定の数のビットごとに切り出したワードデータとして圧縮する画像圧縮処理方法であって、前記切り出された連続する複数のワードデータのうち、一のワードデータを、該ワードデータに続く次のワードデータの先頭ビットに基づいてランレングス法により符号化する符号化工程と、前記符号化工程において符号化されたワードデータと同様のワードデータを符号化以前の状態で保持する保持工程と、前記切り出された複数のワードデータのうち、一のワードデータと、該ワードデータに続く次のワードデータとの符号量を測定する符号量測定工程と、前記符号量測定工程において測定された符号量を、予め設定された符号量のしきい値と比較して前記ワードデータの符号量が前記しきい値よりも大きいか否かを判断する符号量比較工程と、を含み、前記符号量比較工程により、前記ワードデータのうちの一つである第１ワードデータの次に符号化される第２ワードデータの符号量が、前記しきい値よりも大きいと判断された場合、前記符号化工程は、前記第１ワードデータを符号化する際に前記第１のワードデータと前記第２のワードデータとにわたるランレングスをカットすることを特徴とする。
【００２０】
この請求項４に記載の発明によれば、第２のワードデータの符号量がしきい値よりも大きいと判断された場合、第１ワードデータを符号化する際に第１ワードデータと第２ワードデータとにわたるワンレングスをカットすることができる。
【００２１】
請求項５に記載の発明にかかるプログラムは、画像データを、所定の数のビットごとに切り出したワードデータとして圧縮する画像圧縮処理方法をコンピュータに実行させるためのプログラムであって、コンピュータに、前記切り出された連続する複数のワードデータのうち、一のワードデータを、該ワードデータに続く次のワードデータの先頭ビットに基づいてランレングス法により符号化させる符号化手順と、前記切り出された複数のワードデータのうち、一のワードデータと、該ワードデータに続く次のワードデータとの符号量を測定させる符号量測定手順と、前記符号量測定手順によって測定された符号量を、予め設定された符号量のしきい値と比較して前記ワードデータの符号量が前記しきい値よりも大きいか否かを判断させる符号量比較手順と、を含み、前記符号量比較手順により、前記ワードデータのうちの一つである第１ワードデータの次に符号化される第２ワードデータの符号量が、前記しきい値よりも大きいと判断された場合、前記符号化手順は、前記第１ワードデータを符号化する際に前記第１のワードデータと前記第２のワードデータとにわたるランレングスをカットすることを特徴とする。
【００２２】
この請求項５に記載の発明によれば、第２のワードデータの符号量がしきい値よりも大きいと判断された場合、第１ワードデータを符号化する際に第１ワードデータと第２ワードデータとにわたるワンレングスをカットすることができる。
【００２３】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像圧縮処理装置の好適な実施の形態である実施の形態１、実施の形態２を詳細に説明する。図１は、実施の形態１の画像圧縮処理装置の全体的な構成を説明するためのブロック図である。
【００２４】
（実施の形態１）
実施の形態１の画像圧縮処理装置は、例えば、画像データなどのデータを所定のビットごとに切り出して作成されるワードデータを入力し、ワードデータごとに圧縮処理する。ワードデータについて、図２を用いて説明する。図２（ａ）は、ワードデータに切り出される以前のデータを示す図である。（ａ）のうち、上段は切り出される以前のデータのアドレスを示し、下段は各アドレスに格納されたデータを示している。図２（ｂ）は、（ａ）に示したデータを、Ｐ1，Ｐ2で示す位置で切り出した８ビットのワードデータＤを示す図である。
【００２５】
実施の形態１の画像圧縮処理装置は、ワードデータを順次入力し、並列に処理する。このため、図示した画像圧縮処理装置は、例えばワードデータＤを「今のワードデータ」として入力するとき、データＤの直後に配置されるワードデータを「次のワードデータ」として入力する。
【００２６】
図１の画像圧縮処理装置は、ランレングス符号化処理装置１０１、符号量測定装置１０２ａ，１０２ｂ、ＰＡＳＳ符号ヘッダ作成装置１０３を備えている。ランレングス符号化処理装置１０１は、ワードデータ、次のワードデータを並列に圧縮する。符号量測定装置１０２ａは、各ワードデータがランレングス符号器によって符号化された際の符号量を測定し、符号量測定装置１０２ｂは、次のワードデータの符号量を測定する。また、ＰＡＳＳ符号ヘッダ作成装置１０３は、ワードデータにヘッダとして付与されるＰＡＳＳ符号を作成する。
【００２７】
さらに、図１の画像圧縮処理装置は、ランレングス符号化処理装置１０１によって符号化されたワードデータを符号として格納するレジスタ１０５、ＰＡＳＳ符号ヘッダ作成装置１０３によって作成されたＰＡＳＳ符号を圧縮以前のワードデータ（元データ）と共に格納するレジスタ１０６、予め設定されているしきい値ｔｈと符号量測定装置１０２ａが測定したワードデータの符号量とを比較する比較器１０４ａ、しきい値ｔｈと符号量測定装置１０２ｂが測定した次のワードデータの符号量とを比較する比較器１０４ｂ、符号量としきい値ｔｈとの比較の結果に基づいて符号化されたワードデータ、ＰＡＳＳ符号のいずれかを符号データとして出力するＭＵＸ（Multiplexer）１０７とを備えている。
【００２８】
図３は、上記した画像圧縮処理装置において取り扱われる符号を説明するための図であって、（ａ）は、ワードデータをランレングス符号器によって符号化する際のフォーマットを示し、（ｂ）は、ＰＡＳＳ符号のフォーマットを示している。
【００２９】
次に、以上述べた構成で行われる処理の概略を、図４のフローチャートを参照しながら説明する。先ず、実施の形態１の画像圧縮処理装置は、次のワードデータを、符号量測定装置１０２ｂに入力し、このワードデータの符号量を測定する（ステップＳ４０１）。測定された符号量は、比較器１０４ｂでしきい値ｔｈと比較される（ステップＳ４０２）。比較の結果は、ランレングス符号化処理装置１０１に出力される。
【００３０】
また、次のワードデータの直前に配置されるワードデータ（以降単にワードデータという）は、符号量測定装置１０２ａ、ランレングス符号化処理装置１０１、ＰＡＳＳ符号ヘッダ作成装置１０３に入力する。ランレングス符号化処理装置１０１は、ワードデータと次のワードデータとのＭＳＢ（Most Significant Bit（or Byte））を受け取り、入力したワードデータを符号化する（ステップＳ４０３）。このとき、符号量測定装置１０２ｂによって測定された符号量としきい値ｔｈとが比較器１０４ｂにおいて比較され、符号量がしきい値ｔｈを超えているか否かを示す信号をランレングス符号化処理装置１０１に入力する。
【００３１】
入力した信号が、次のワードデータの符号量がしきい値ｔｈを超えていることを示す場合、次のデータがＰＡＳＳ符号化されるため、ワードデータのランレングスが次のワードデータにわたっている場合にもワードのバウンダリでワードデータを切り出して符号化する。また、次のワードデータの符号量がしきい値を超えていない場合、閉じたランレングス（次のバウンダリにわたるランレングスを含まない部分）についてのみ符号化する。ランレングス符号化処理装置１０１によって符号化されたワードデータは、レジスタ１０５に格納される（ステップＳ４０４）。
【００３２】
次に、ＰＡＳＳ符号ヘッダ作成装置１０３は、ＰＡＳＳ符号以降のランレングスのスタートの０、１を明確にするため、ＰＡＳＳ符号化されるデータの０ビット目が１であるか、あるいは０であるか調べる。そして、０ビット目の１または０によってＰＡＳＳ符号の設定を選択する（ステップＳ４０５）。
【００３３】
図５（ａ）、（ｂ）は、ステップＳ４０５を、より具体的に説明するための図である。（ａ）、（ｂ）は、それぞれワードデータのＰＡＳＳ符号化の例を示し、（ａ）、（ｂ）中の（ＩＩ）は、本実施の形態の符号化を示す図である。また、（Ｉ）は、一般的に行われる符号化を比較のために示す図である。（ａ）、（ｂ）、（Ｉ）、（ＩＩ）の最上段は画素データを示し、次段は各画素データを８ビットのワードデータに切り出した際のランレングスを示している。また、ランレングスの下段は各ワードデータの符号量を、最下段は各符号量に割り当てられる符号を示している。実施の形態１は、ＰＡＳＳ符号化のしきい値ｔｈを符号量３とし、符号量が３より大なるワードデータをＰＡＳＳ符号化している。
【００３４】
（ａ）に示した例では、Ｄp1のデータが符号量６であり、３以上の符号量を持つ。このため、Ｄp1は、図（ａ）の（ＩＩ）のように、ＰＡＳＳ符号化される。なお、ＰＡＳＳ符号化するか否かの判断は、ＰＡＳＳ符号化されるワードデータの前後にあるワードデータ間にわたるランレングスを切り取った後のワードデータにおいてなされる。
【００３５】
また、ＰＡＳＳ符号は、切り出されたワードデータが０で始まるものか、あるいは１で始まるものかを区別するため、８または９の符号を使っている。（ａ）の例ではＤp1が１から始まっているためにＰＡＳＳ符号に９を用いている（９Ｄ２）。
【００３６】
（ｂ）に示した例では、Ｄp2のデータが符号量５であり、３以上の符号量を持つ。このため、Ｄp2は、（ＩＩ）のように、ＰＡＳＳ符号化される。（ｂ）の例ではＤp2が０から始まっているためにＰＡＳＳ符号に８を用いている（８２Ｄ）。
【００３７】
ＰＡＳＳ符号ヘッダ作成装置１０３によって作成されたＰＡＳＳ符号は、元データにヘッダとして付され、元データと共にレジスタ１０６に格納される（ステップＳ４０６）。また、符号量測定装置１０２ａは、ワードデータの符号量を測定する（ステップＳ４０７）。測定された符号量は、比較器１０４ａに入力し、比較器１０４ａでしきい値ｔｈと比較される。比較の結果（符号量がしきい値ｔｈより大きいか否か）は、ＭＵＸ１０７に入力する（ステップＳ４０８）。
【００３８】
比較器１０４ａの比較の結果、ランレングス符号化処理装置１０１により符号化されたワードデータ、ＰＡＳＳ符号は、ＭＵＸ１０７に入力する。ＭＵＸ１０７は、比較器１０４ａの比較の結果に基づいて、符号量がしきい値ｔｈよりも大きいときにはＰＡＳＳ符号が付された元データを符号データとして出力する。また、符号量がしきい値ｔｈよりも小さいときには符号化されたワードデータを符号データとして出力する（ステップＳ４０９）。
【００３９】
次に、図１に示した構成を、より詳細に説明する。
▲１▼ランレングス符号化処理装置
図６は、ランレングス符号化処理装置１０１を説明するためのブロック図である。ランレングス符号化処理装置１０１は、ランレングス処理装置６０１、符号化処理装置６０２を備えている。ランレングス処理装置６０１は、ワードデータのランレングスを並列に求める構成である。実施の形態１のワードデータは８ビットであるので、ランレングス処理装置６０１は最大８個のランレングスを並列に求めることになる。また、符号化処理装置６０２は、ランレングス処理装置６０１が求めたランレングスを、図３で示したフォーマットに基づいて符号化する。
【００４０】
図７は、ランレングス処理装置６０１の構成を説明するための図である。図示したように、ランレングス処理装置６０１は、ランカウンタ７０１ａ、７０１ｂ、Ｌｅｆｔラン値生成装置７０２、Ｒｉｇｈｔラン値生成装置７０３、ラン値合成装置７０５、累積加算処理装置７０８、レジスタ７０９を備えている。累積加算処理装置７０８は、加算器７０６、加算器７０７を備えている。以下、ランレングス符号化処理装置の各構成について説明する。
【００４１】
（ランカウンタ）
ランカウンタ７０１ａ、７０１ｂは、スキャナなどの画像読込装置（図示せず）から入力される８ビットのワードデータ（ＩＤＯＴ）、次のワードデータの先頭にあるビット（ＮＤＯＴ）から、ＩＤＯＴの上位４ビット（ＩＤＯＴ［７：４］）、ＮＤＯＴとしてＩＤＯＴ［３］を処理するランカウント、ＩＤＯＴの下位４ビット（ＩＤＯＴ［３：０］）と、ＮＤＯＴを処理するランカウンタにより各部での閉じた複数のランレングス、そのランレングスが有効であるか否かを示す信号（マスク値）、次に繰り越されるランレングス（ＲＵＮＸ）をそれぞれ求める。
【００４２】
すなわち、ランカウンタ７０１ａ、７０１ｂは、例えば画像データを切り出して生成された８ビットのワードデータの上位４ビットのデータと次のワードデータの先頭ビットのデータを受け取り、最大４個のランレングスを出力する。図示したＲＵＮ３〜ＬＵＮ０（ＬＲＵＮはＬｅｆｔラン値生成装置によって生成されるラン値、ＲＲＵＮはＲｉｇｈｔラン値生成装置によって生成されるラン値）はランレングスを示している。ＤＭＡＳＫ３〜ＤＭＡＳＫ０は、ＲＵＮ３〜ＬＵＮ０のラン長が有効か否かを示すフラグである。ランカウンタ７０１ａ、７０１ｂにおいてなされるランカウントの処理を、図８〜１１にフローチャートとして示す。
【００４３】
（Ｌｅｆｔラン値生成装置）
Ｌｅｆｔラン値生成装置７０２は、ランカウンタ７０１ａから最大４個のランレングスとマスク値（ＬＤＭＡＳＫ３−０）を、またランカウンタ７０１ｂからマスク値（ＲＤＭＡＳＫ３−０）を入力し、８ビット長の最大８個のランレングスを求める。Ｌｅｆｔラン値生成装置７０２による処理を、図１２に示す。
【００４４】
（Ｒｉｇｈｔラン値生成装置）
Ｒｉｇｈｔラン値生成装置７０３は、ランカウンタ７０１ｂから最大４個のランレングスとマスク値（ＲＤＭＡＳＫ３−０）を、またランカウンタ７０１ａからマスク値（ＬＤＭＡＳＫ３−０）を入力し、８ビット長の最大８個のランレングスを求める。Ｒｉｇｈｔラン値生成装置７０３による処理を、図１３に示す。
【００４５】
（マスク値合成装置）
マスク値合成装置７０４は、ランカウンタ７０１ａ、ランカウンタ７０１ｂからマスク値を入力し、各マスク値を合成することによって８ビット長の８個のマスク値を求める。マスク値合成装置７０４でなされる処理を、図１４〜１６に示す。
【００４６】
（ラン値合成装置）
ラン値合成装置７０５は、Ｌｅｆｔラン値生成装置７０２、Ｒｉｇｈｔラン値生成装置７０３からそれぞれ最大８個のランレングスを入力し、両者を合成して最大８個のランレングスを生成する（ステップＳ１４０１）。ラン値合成装置７０５によってなされる処理を、図１７に示す。なお、図中のＲＵＮＸは次に繰り越されるランレングスであり、ＡＦＬは４ビットのすべてが０または１であり、かつＮＤＯＴ（次のデータの先頭のビット）が同じ値である場合に１となるフラグである。
【００４７】
（累積加算処理装置）
累積加算処理装置７０８は、加算器７０６、７０７を備えている。加算器７０６は、ワードデータのＡＦＬが１である場合、ラン値合成装置７０５で求められた繰り越しランレングスとレジスタ７０９に格納されている繰り越しランレングスとの合計（ＲＢＲＵＮ７）を加算し、再度繰り越しランレングスの合計（ＲＢＲＵＮ７）として設定する。加算器７０７は、最初に入力するＲＵＮ７と繰り越しランレングスの合計とを加算し、今までに繰り越されたランレングスを考慮したランレングスを求める。
【００４８】
（符号化処理装置）
図１８は、符号化処理装置６０２を説明するための図である。符号化処理装置６０２は、ＲＲＵＮ７〜０のデータ、ＤＭＡＳＫ７〜０、クロック（ＣＬＫ）信号などをレジスタ７０９から入力し、符号化されたワードデータ（ＣＯＤＥ）を出力する。図１９、図２０に、符号化処理装置６０２によってなされる符号化の処理を示すフローチャートを示す。なお、図１９、図２０のフローチャートで示した処理は、図３に示したフォーマットにしたがってワードデータを符号化するものである。
【００４９】
▲２▼符号量測定装置
図２１は、符号量測定装置１０２ａ（符号量測定装置１０２ｂ）を説明するためのブロック図である。符号量測定装置１０２ａは、ランレングス処理装置１８０１、符号量測定処理装置１８０２を備えている。なお、符号量測定装置１０２ａ、符号量測定装置１０２ｂは同様の構成を備えると共に同様に動作する。このため、本明細書では符号量測定装置１０２ａについてのみ説明し、符号量測定装置１０２ｂの説明を省くものとする。
【００５０】
（ランレングス処理装置）
図２２は、ランレングス処理装置１８０１を説明するためのブロック図である。ランレングス処理装置１８０１は、図７に示したランレングス処理装置６０１と同様の構成である、ランカウンタ７０１ａ、７０１ｂ、Ｌｅｆｔラン値生成装置７０２、Ｒｉｇｈｔラン値生成装置７０３、マスク値合成装置７０４、ラン値合成装置７０５、レジスタ７０９を備えている。ただし、ランレングス処理装置１８０１は、累積加算処理装置７０８を備えていない点、ランカウンタ７０１ｂの直前にワードデータのＬＳＢを反転させたものを入力し、ワードデータのランレングスが必ず閉じるようにしている点でランレングス処理装置６０１と相違している。
【００５１】
図２３は、図２１に示した符号量測定処理装置１８０２を説明するためのブロック図である。符号量測定処理装置１８０２は、図１８に示した符号化処理装置６０２と同様に、ＲＲＵＮ７〜０のデータ、ＤＭＡＳＫ７〜０、クロック（ＣＬＫ）信号などをレジスタ７０９から入力し、符号化されたワードデータ（ＣＯＤＥ）を出力する。符号量測定処理装置１８０２によってなされる符号量測定の処理を、図２４（ａ）、（ｂ）に示す。
【００５２】
▲３▼ＰＡＳＳ符号ヘッダ作成装置
図２５は、ＰＡＳＳ符号ヘッダ作成装置１０３の処理を説明するためのフローチャートである。図示するように、ＰＡＳＳ符号ヘッダ作成装置１０３は、ワードデータの最初のビットが０であるか否か判断し（ステップＳ２２０１）、最初のビットが０であった場合には（ステップＳ２２０１：Ｙｅｓ）、ＰＡＳＳ符号としてのヘッダを９とする（ステップＳ２２０２）。また、ステップＳ２２０１の判断の結果、最初のビットが０でない（つまり１）場合（ステップＳ２２０１：Ｎｏ）、ヘッダを８とする（ステップＳ２２０３）。
【００５３】
（実施の形態２）
次に、本発明の実施の形態２について説明する。
図２６は、本発明の実施の形態２の画像圧縮処理装置を説明するためのブロック図である。なお、実施の形態２の画像圧縮処理装置は、実施の形態１の画像圧縮処理装置と同様の構成を備えるものであり、同様の構成については同様の符号を付して示し、説明を一部略すものとする。
【００５４】
図２６の画像圧縮処理装置は、ランレングス・繰り返し符号化処理装置２３０１、符号量測定装置２３０２ａ，２３０２ｂ、ＰＡＳＳ符号ヘッダ作成装置１０３を備えている。ランレングス・繰り返し符号化処理装置２３０１は、ワードデータ、次のワードデータを並列に圧縮するものである。ただし、実施の形態２のワードデータは、実施の形態１のワードデータと異なりワードデータ間でバンダリーをわたるランレングスで切り取られたものである。このため、ランレングス・繰り返し符号化処理装置２３０１は、ワードデータ間をわたる繰り返し処理に対応できる構成となっている。
【００５５】
符号量測定装置２３０２ａは、実施の形態２のワードデータがランレングス符号器によって符号化された際の符号量を測定し、符号量測定装置２３０２ｂは、実施の形態２の次のワードデータの符号量を測定する。また、ＰＡＳＳ符号ヘッダ作成装置１０３は、ワードデータにヘッダとして付与されるＰＡＳＳ符号を作成する。
【００５６】
さらに、図２６の画像圧縮処理装置は、実施の形態１と同様の比較器１０４ａ、１０４ｂ、レジスタ１０５、１０６、ＭＵＸ１０７を備えている。比較器１０４ａは、しきい値ｔｈと符号量測定装置２３０２ａが測定したワードデータの符号量とを比較する。また、比較器１０４ｂは、しきい値ｔｈと符号量測定装置２３０２ｂが測定した次のワードデータの符号量とを比較する。レジスタ１０５は符号化されたワードデータを符号として格納し、レジスタ１０６はＰＡＳＳ符号が付された符号化以前のワードデータ（元データ）を格納する。ＭＵＸは、符号量としきい値ｔｈとの比較の結果に基づいて、符号化されたワードデータ、元データのいずれかを符号データとして出力する。
【００５７】
図２７は、上記した画像圧縮処理装置において取り扱われる符号を説明するための図であって、（ａ）は、ワードデータをランレングス符号器によって符号化する際のフォーマットを示し、（ｂ）は反復符号のフォーマットを、また、（ｃ）は、ＰＡＳＳ符号のフォーマットを示している。
【００５８】
次に、以上述べた構成で行われる処理の概略を、図２８のフローチャートを参照しながら説明する。先ず、実施の形態２の画像圧縮処理装置は、次のワードデータを、符号量測定装置２３０２ｂに入力し、このワードデータの符号量を測定する（ステップＳ２５０１）。測定された符号量は、比較器１０４ｂでしきい値ｔｈと比較される（ステップＳ２５０２）。比較の結果は、ランレングス・繰り返し符号化処理装置２３０１に出力される。
【００５９】
また、ワードデータは、符号量測定装置２３０２ａ、ランレングス・繰り返し符号化処理装置２３０１、ＰＡＳＳ符号ヘッダ作成装置１０３に入力する。ランレングス・繰り返し符号化処理装置２３０１は、入力したワードデータと次のワードデータとのＭＳＢを受け取り、入力データを符号化する（ステップＳ２５０３）。このとき、符号量測定装置２３０２ｂによって測定された符号量としきい値ｔｈとが比較器１０４ｂにおいて比較され、符号量がしきい値ｔｈを超えているか否かを示す信号をランレングス・繰り返し符号化処理装置２３０１に入力する。
【００６０】
入力した信号が、次のワードデータの符号量がしきい値ｔｈを超えていることを示す場合、次のデータがＰＡＳＳ符号化されるため、ワードデータのランレングスが次のワードデータにわたっている場合にもワードのバウンダリでワードデータを切り出して符号化する。また、次のワードデータの符号量がしきい値を超えていない場合、閉じたランレングス（次のバウンダリにわたるランレングスを含まない部分）についてのみ符号化する。ランレングス符号化処理装置１０１によって符号化されたワードデータは、レジスタ１０５に格納される（ステップＳ２５０４）。
【００６１】
次に、ＰＡＳＳ符号ヘッダ作成装置１０３は、ＰＡＳＳ符号以降のランレングスのスタートの０、１を明確にするため、ＰＡＳＳ符号化されるデータの０ビット目が１であるか、あるいは０であるか調べる。そして、０ビット目の１または０によってＰＡＳＳ符号の設定を選択する（ステップＳ２５０５）。
【００６２】
図２９は、ステップＳ２５０５を、より具体的に説明するための図であり、ワードデータのＰＡＳＳ符号化の例を示している。また、（ＩＩ）は、実施の形態２の符号化を示す図であり、（Ｉ）は、一般的に行われる符号化を比較のために示す図である。（Ｉ）、（ＩＩ）の最上段は画素データを示し、次段は各画素データを８ビットのワードデータに切り出した際のランレングスを示している。また、ランレングスの下段は各ワードデータの符号量を、最下段は各符号量に割り当てられる符号を示している。実施の形態２においても、ＰＡＳＳ符号化のしきい値ｔｈを符号量３とし、符号量が３以上のワードデータをＰＡＳＳ符号化している。
【００６３】
図示したように、実施の形態２では、ＰＡＳＳ符号化されるワードの直後に配置されるワードデータ間にわたるランレングスを切り取っている。また、図２９に示した例では、ＰＡＳＳ符号化されるワードの直前のワードデータに繰り返し処理を追加している。なお、ＰＡＳＳ符号化されるワードデータの前後にあるワードデータ間にわたるランレングスは、実施の形態２においても切り取るものとする。
【００６４】
ＰＡＳＳ符号ヘッダ作成装置１０３によって作成されたＰＡＳＳ符号は、符号化されていないデータにヘッダとして付されてデータと共にレジスタ１０６に格納される（ステップＳ２５０６）。また、符号量測定装置２３０２ａは、ワードデータの符号量を測定する（ステップＳ２５０７）。測定された符号量は、比較器１０４ａに入力し、比較器１０４ａでしきい値ｔｈと比較される。比較の結果（符号量がしきい値ｔｈより大きいか否か）は、ＭＵＸ１０７に入力する（ステップＳ２５０８）。
【００６５】
比較器１０４ａの比較の結果、ランレングス繰り返し・符号化処理装置２３０１により符号化されたワードデータ、ＰＡＳＳ符号は、ＭＵＸ１０７に入力する。ＭＵＸ１０７は、比較器１０４ａの比較の結果に基づいて、符号量がしきい値ｔｈよりも大きいときにはＰＡＳＳ符号がヘッダとして付された元データを符号データとして出力する。また、符号量がしきい値ｔｈよりも小さいときには符号化されたワードデータを符号データとして出力する（ステップＳ２５０９）。
【００６６】
次に、図２６に示した構成を、より詳細に説明する。
▲１▼ランレングス繰り返し・符号化処理装置
図３０は、ランレングス・繰り返し符号化処理装置２３０１を説明するためのブロック図である。ランレングス・繰り返し符号化処理装置２３０１は、ランレングス処理装置２７０１、繰り返し処理装置２７０２、符号化処理装置２７０３を備えている。ランレングス処理装置２７０１は、ワードデータのランレングスを並列に求める構成である。実施の形態１のワードデータは８ビットであるので、ランレングス処理装置２７０１は最大８個のランレングスを並列に求めることになる。また、繰り返し処理装置２７０２は、ランレングス処理装置２７０１でのランレングスの繰り返し数を求める。符号化処理装置２７０３は、ランレングス処理装置２７０１が求めたランレングスおよび繰り返し処理装置２７０２が求めた繰り返し数を、図２７で示したフォーマットに基づいて符号化する。
【００６７】
図３１は、繰り返し処理装置２７０２の構成を説明するための図である。図示したように、繰り返し処理装置２７０２は、繰り返しフラグ生成装置２８０１、繰り返し数生成装置２８０２、レジスタ２８０３、ＮＥＸＴランレングス生成装置２８０４、レジスタ２８０５を備えている。繰り返し処理装置２７０２は、ランレングス処理装置２７０１で求められた複数のランレングスが、各ランレングスの２つ前のランレングスと等しいか否か判断し、判断の結果に基づいて繰り返しフラグ（ＲＦＬ７〜０）を生成する。そして、繰り返しフラグ（ＲＦＬ７〜０）のパターンと現在までに入力した繰り返し数（ＲＥＰ）とから、現在までの繰り返し数（ＷＲＥＰ７〜０）と、次のパターンへの繰り返し数（ＷＲＥＰ）とを求める。以下、繰り返し処理装置２７０２の各構成について説明する。
【００６８】
（繰り返しフラグ生成装置）
繰り返しフラグ生成装置２８０１は、ランレングス処理装置２７０１から、複数のランレングス、複数のランレングスのマスク値、２つ前のパターンのランレングスおよび１つ前のパターンのランレングスを入力し、ランレングス処理装置２７０１から入力した各ランレングスが２つ前に入力したランレングスと一致するか否か判断する。そして、判断の結果に基づいて繰り返しフラグＲＦＬ７〜０を出力する。繰り返しフラグ生成装置２８０１によってなされる以上の処理を、図３２にフローチャートとして示す。
【００６９】
図３２に示したように、繰り返しフラグ生成装置２８０１は、マスク値をチェックする（ステップＳ２９０１）。そして、この値が０である場合には（ステップＳ２９０１：Ｎｏ）、対応するランレングスがないために繰り返しフラグＲＦＬ７に２を設定する（ステップＳ２９０３）。また、ステップＳ２９０１においてマスク値が１であると判断された場合には（ステップＳ２９０１：Ｙｅｓ）、ＲＵＮ７と前パターンの後から２番目のランレングスＲＦ２とを比較する（ステップＳ２９０２）。
【００７０】
この結果、ＲＵＮ７とＲＦ２とが一致しなかった場合（ステップＳ２９０２：Ｎｏ）、繰り返しフラグＲＦＬ７に０を設定する（ステップＳ２９０４）。また、ステップＳ９０２においてＲＵＮ７とＲＦ２とが一致したと判断された場合（ステップＳ２９０２：Ｙｅｓ）、繰り返しフラグＲＦＬ７に１を設定する（ステップＳ２９０５）。繰り返しフラグ生成装置２８０１は、以上の処理を、すべてのビットの値ＤＭＡＳＫ７〜０について実行する。
【００７１】
（繰り返し数生成装置）
繰り返し数生成装置２８０２は、繰り返しフラグ生成装置２８０１から入力した繰り返しフラグＲＦ７〜０、現在までの繰り返し数（ＲＥＰ）を入力し、複数の繰り返し数（ＷＲＥＰ７〜０）を生成し、レジスタ２８０３に出力する。繰り返し数生成装置２８０２の繰り返しフラグ数から繰り返し数を求める処理を、図３３〜３５にフローチャートとして示す。
【００７２】
図３３〜３５に示したように、繰り返し数生成装置２８０２は、複数の繰り返し数ＷＲＥＰ７〜０を求める。なお、繰り返し数とは、繰り返しが途絶えた時点で発生する数値である。繰り返し数生成装置２８０２は、先ず、７ビット目の繰り返し数ＷＲＥＰ７を求める。
【００７３】
すなわち、繰り返し数生成装置２８０２は、繰り返し数ＲＦ７が０であるか否か判断し（ステップＳ３００１）、０である場合（ステップＳ３００１：Ｙｅｓ）、繰り返しフラグ生成装置２８０１における比較の結果と一致しないため、現在までの繰り返し数を清算して繰り返し数ＷＲＥＰ７に現在までの繰り返し数ＲＥＰを代入する（ステップＳ３００３）。また、繰り返し数ＲＦ７が０でない場合（ステップＳ３００１：Ｎｏ）、繰り返しが継続しているものとして繰り返し数ＷＲＥＰ７を０に設定する（ステップＳ３００２）。
【００７４】
繰り返し数の６ビット目の値ＷＲＥＰ６は、ステップＳ３００４〜３００６によって求められる。すなわち、繰り返しフラグＲＦＬ７が１であって、かつ、ＲＦＬ６が０であれば（ステップＳ３００４：Ｙｅｓ）、繰り返し数ＷＲＥＰ６に今までの繰り返し数ＲＥＰに今回の繰り返し数である１（ＲＦＬ＝１）を加算してＷＲＥＰ６に代入する（ステップＳ３００６）。また、繰り返しフラグＲＦＬ７が１でなく、かつ、ＲＦＬ６が０でない場合（ステップＳ３００４：Ｎｏ）、繰り返し数ＷＲＥＰ６に０を代入する（ステップＳ３００５）。以下、以上述べた処理と同様に、５ビット目ないし０ビット目の繰り返し数が求められる。
【００７５】
また、図３６〜４０に、繰り返し数生成装置２８０２の次パターンに継続する繰り返し数（ＲＥＰ）を求める処理をフローチャートにして示す。図３６〜４０のように、繰り返し数生成装置２８０２は、繰り返しフラグＲＦＬ７が２である場合（ステップＳ３１０１：Ｙｅｓ）、優先順位が最も高いランレングスの値が決定できないため、現時点の繰り返し数ＲＥＰを保存する（ステップＳ３１０５）。繰り返しフラグＲＦＬ７が２でない場合（ステップＳ３１０１：Ｎｏ）、繰り返しフラグＲＦＬ７が０、かつＲＦＬ６が２となるか否か判断する（ステップＳ３１０２）。判断の結果、繰り返しフラグＲＦＬ７が０、かつＲＦＬ６が２となる場合（ステップＳ３１０２：Ｙｅｓ）、最も優先順位の高いランレングスは繰り返しでなく、以降にランレングスが存在しないために繰り返し数ＷＲＥＰを０に設定する（ステップＳ３１０６）。
【００７６】
ステップＳ３１０２において繰り返しフラグＲＦＬ７が０、かつＲＦＬ６が２でないと判断された場合（ステップＳ３１０２：Ｎｏ）、繰り返しフラグＲＦＬ７が１、かつＲＦＬ６が２であるか否か判断する（ステップＳ３１０３）。この結果、繰り返しフラグＲＦＬ７が１、かつＲＦＬ６が２であれば（ステップＳ３１０３：Ｙｅｓ）、最も優先順位の高いランレングスが繰り返しであり、以降にランレングスがないため、現時点での繰り返し数ＲＥＰに今回求めた繰り返し数１を加算し、ＷＲＥＰに代入する（ステップＳ３１０７）。
【００７７】
次に、繰り返し数生成装置２８０２は、繰り返しフラグＲＦＬ６が０、かつＲＦＬ５が２であるか否か判断する（ステップＳ３１０４）。判断の結果、繰り返しフラグＲＦＬ６が０、かつＲＦＬ５が２である場合（ステップＳ３１０４：Ｙｅｓ）、有効な終端（ここではＲＦＬ５が２であるためにＲＦＬ５が終端）が０である場合、繰り返し数ＷＲＥＰはＲＦＬ７の値によらず０になる（ステップＳ３１０８）。繰り返し数生成装置２８０２は、以降、繰り返しフラグのすべての組み合わせについて以上の処理を実行する。
【００７８】
（ＮＥＸＴランレングス生成装置）
ＮＥＸＴランレングス生成装置２８０４は、次のパターンの繰り返しフラグを生成するために前のパターンの最後から数えて２番目のランレングスと最後のランレングスとを求める構成である。ＮＥＸＴランレングス生成装置２８０４によって実行される処理を、図４１に示す。
【００７９】
図４１に示したように、ＮＥＸＴランレングス生成装置２８０４は、優先順位の最も高いマスク（ＤＭＡＳＫ７）が１であるか否か判断する（ステップＳ３４０１）。そして、ＤＭＡＳＫ７が１でなければ（ステップＳ３４０１：Ｎｏ）、ＤＭＡＳＫ７が０であり、このパターンに閉じたランレングスがないとして前パターンの最後から２番目の値および最後の値を保存する（ステップＳ３４０５）。
【００８０】
また、ＮＥＸＴランレングス生成装置２８０４は、ＤＭＡＳＫ７が０でない場合（ステップＳ３４０１：Ｙｅｓ）、ＤＭＡＳＫ６が１であるか否か判断する（ステップＳ３４０２）。そして、ＤＭＡＳＫ６が１でない、つまり０であれば（ステップＳ３４０２：Ｎｏ）、ランレングスが１つだけ存在する。このため、前パターンの最後から数えて１つ目のランレングスＷＲＥＦ１にＲＵＮ７の値を代入する。また、前パターンの最後から数えて２つ目のランレングスＷＲＥＦ２にＷＲＥＦ１の値を代入する（ステップＳ３４０６）。
【００８１】
また、ＮＥＸＴランレングス生成装置２８０４は、ＤＭＡＳＫ５が１であるか否か判断する（ステップＳ３４０３）。ＤＭＡＳＫ５が１でなければ（ステップＳ３４０３：Ｎｏ）、ＤＭＡＳＫ５が０であり、このパターンに閉じたランレングスが２つだけ存在するとする。そして、前パターンの最後から数えて１つ目のランレングスＷＲＥＦ１にＲＵＮ６の値を代入する。また、前パターンの最後から数えて２つ目のランレングスＷＲＥＦ２にＲＵＮ７の値を代入する（ステップＳ３４０７）。
【００８２】
さらに、ＮＥＸＴランレングス生成装置２８０４は、ＤＭＡＳＫ４が１であるか否か判断する（ステップＳ３４０４）。ＤＭＡＳＫ４が１でなければ（ステップＳ３４０４：Ｎｏ）、ＤＭＡＳＫ４が０であり、このパターンに閉じたランレングスが３つだけ存在するとする。そして、前パターンの最後から数えて１つ目のランレングスＷＲＥＦ１にＲＵＮ５の値を代入する。また、前パターンの最後から数えて２つ目のランレングスＷＲＥＦ２にＲＵＮ６の値を代入する（ステップＳ３４０８）。
【００８３】
(符号化処理装置)
図４２は、図３０に示した符号化処理装置２７０３の構成を示すブロック図である。符号化処理装置２７０３は、最大８個のランレングス（ＯＲＵＮ７〜０）および繰り返し数（ＯＲＥＰ７〜０）、さらにそのマスク値（図示せず）を入力する。そして、図２７に示した４ビットごとに符号化されたデータを出力する。ただし、符号化処理装置２７０３は、データを４ビットごとに符号化するものに限定されるものでなく、何ビットごとに符号化するフォーマットを用いるものでもよい。
【００８４】
図４３〜４５は、符号化処理装置２７０３によってなされる処理を説明するためのフローチャートである。図４３に示したフローチャートは符号化処理装置によってなされる処理を示したもので、図４４および４５は、図４３中の符号化処理を説明するためのフローチャートである。符号化処理装置２７０３は、マスク値ＤＭＡＳＫ７〜０の値に基づいてランレングスを求め、符号化する。
【００８５】
つまり、符号化処理装置２７０３は、先ず、ＤＭＡＳＫ７の値が１であるか否か判断する（ステップＳ３６０１）。そして、ＤＭＡＳＫ７の値が１であった場合（ステップＳ３６０１：Ｙｅｓ）、ランレングス（ラン長）をＲＵＮ７に設定し、繰り返し数ＲＥＰをＲＥＰ７に設定してランレングスを符号化する（ステップＳ３６０２）。
【００８６】
符号化を行う際、符号化処理装置２７０３は、図４４、４５に示したように、先ず、入力したランレングスが０であるか否か判断する（ステップＳ３７０１）。この判断の結果、ランレングスが０でなかった場合（ステップＳ３７０１：Ｎｏ）、ランレングスが１０以下であるか否か判断する（ステップＳ３７０２）。ランレングスが１０以下であった場合には（ステップＳ３７０２：Ｙｅｓ）、ランレングスをそのまま符号とする（ステップＳ３７０３）。
【００８７】
また、ランレングスの値が１０以上であった場合（ステップＳ３７０２：Ｎｏ）、ランレングスが４３以下であるか否か判断する（ステップＳ３７０４）。判断の結果、ランレングスの値が４３以下であった場合には（ステップＳ３７０４：Ｙｅｓ）、さらに、ランレングスの値が２７以下であるか否か判断する（ステップＳ３７０５）。
【００８８】
ステップＳ３７０５の判断の結果、ランレングスの値が２７以下であった場合（ステップＳ３７０５：Ｙｅｓ）、ヘッダとして４ビットの１０１０を付加した上、ランレングスから１１を減算した値を符号とする（ステップＳ３７０８）。一方、ランレングスの値が２７以上であった場合（ステップＳ３７０５：Ｎｏ）、ヘッダとして４ビットの１０１１を付加した上、ランレングスから１１を減算した値を符号とする（ステップＳ３７０７）。
【００８９】
また、符号化処理装置２７０３は、ランレングスの値が４３以上であった場合（ステップＳ３７０４：Ｎｏ）、ヘッダとして４ビットの１１００を付加し、ステップＳ３７０９〜Ｓ３７１６によりヘッダの４ビット目を終端フラグとすることで符号長を少ないデータ数で表現する。
【００９０】
さらに、ステップＳ３７０１の判断で、ランレングスが０であると判断された場合（ステップＳ３７０１：Ｙｅｓ）、繰り返し数ＲＥＰが１か否か判断する（ステップＳ３７１７）。判断の結果、符号を１３に設定する（ステップＳ３７１８）。繰り返し数ＲＥＰが１でない場合（ステップＳ３７１７：Ｎｏ）、繰り返し数ＲＥＰが２であるか否か判断する（ステップＳ３７１９）。繰り返し数が２である場合（ステップＳ３７１９：Ｙｅｓ）、符号を１４に設定する（ステップＳ３７２０）。
【００９１】
繰り返し数ＲＥＰが２でない場合（ステップＳ３７１９：Ｎｏ）、符号化処理装置２７０３は、繰り返し数ＲＥＰが３であるか否か判断する（ステップＳ３７２１）。そして、繰り返し数ＲＥＰが３であった場合（ステップＳ３７２１：Ｙｅｓ）、符号を１３，１４に設定する（ステップＳ３７２２）。繰り返し数ＲＥＰが３でない場合（ステップＳ３７２１：Ｎｏ）、符号化処理装置２７０３は、繰り返し数ＲＥＰが４であるか否か判断する（ステップＳ３７２３）。そして、繰り返し数ＲＥＰが４であった場合（ステップＳ３７２３：Ｙｅｓ）、符号を１４，１４に設定する（ステップＳ３７２４）。
【００９２】
繰り返し数が４以上の場合（ステップＳ３７２３：Ｎｏ）、ヘッダとして４ビットの１１１１を付加し、ステップＳ３７２６〜Ｓ３７３３によりヘッダの４ビット目を終端フラグとすることで符号長を少ないデータ数で表現する。
【００９３】
▲２▼符号量測定装置
図４６は、符号量測定装置２３０２ａ（２３０２ｂ）を説明するためのブロック図である。符号量測定装置２３０２ａは、ランレングス処理装置１８０１、繰り返し処理装置２７０２、符号量測定処理装置３８０１を備えている。ランレングス処理装置１８０１、繰り返し処理装置２７０２は、前述した構成と同様のものである。このため、同様の符号を付して示し、説明を省くものとする。また、符号量測定装置２３０２ａ、符号量測定装置２３０２ｂは同様の構成を備えると共に同様に動作する。このため、本明細書では符号量測定装置２３０２ａについてのみ説明し、符号量測定装置２３０２ｂの説明を省くものとする。
【００９４】
（符号量測定処理装置）
符号量測定処理装置３８０１は、ランレングス処理装置１８０１によって求められたランレングス、繰り返し処理装置２７０２によって求められ繰り返し数、さらに図２７に示したフォーマットに基づいてワードデータの符号量を測定する構成である。図４７、図４８に、符号量測定処理装置３８０１で行われる処理のフローチャートを示す。
【００９５】
【発明の効果】
以上説明したように、請求項１に記載の発明は、第１ワードデータを符号化する際に第１ワードデータと第２ワードデータとにわたるランレングスをカットすることができる。このため、いっそう高い圧縮率が得られ、より低コスト、かつ、高速処理が可能な画像圧縮処理装置を提供することができるという効果を奏する。
【００９６】
請求項２に記載の発明は、画像データの符号量をワードデータごとにしきい値と比較し、比較の結果に基づいて符号化されたワードデータまたは元ワードデータを出力する。このため、符号化されたデータや元データを保存しておく構成を最小限に抑え、より低コスト、かつ、高速処理が可能な画像圧縮処理装置を提供することができるという効果を奏する。
【００９７】
請求項３に記載の発明は、画像データの繰り返し数に基づいて画像データをワードデータごとに符号化する構成において、画像データの符号量をワードデータごとにしきい値と比較し、比較の結果に基づいて符号化されたワードデータまたは元ワードデータを出力する。このため、符号化されたデータや元データを保存しておく構成を最小限に抑え、より低コスト、かつ、高速処理が可能な画像圧縮処理装置を提供することができるという効果を奏する。また、画像をも効率的に圧縮し、より圧縮率の高い画像圧縮処理装置を提供することができるという効果を奏する。
【００９９】
請求項４に記載の発明は、第１ワードデータを符号化する際に第１ワードデータと第２ワードデータとにわたるランレングスをカットすることができる。このため、いっそう高い圧縮率が得られ、より低コスト、かつ、高速処理が可能な画像圧縮処理装置を提供することができるという効果を奏する。
【０１００】
請求項５に記載の発明は、第１ワードデータを符号化する際に第１ワードデータと第２ワードデータとにわたるランレングスをカットすることができる。このため、いっそう高い圧縮率が得られ、より低コスト、かつ、高速処理が可能な画像圧縮処理装置を提供することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態１の画像圧縮処理装置の全体的な構成を説明するためのブロック図である。
【図２】本発明の実施の形態１のワードデータについて説明するための図である。
【図３】本発明の実施の形態１のワードデータを符号化する際のフォーマットを示す図である。
【図４】本発明の実施の形態１で行われる処理の概要を説明するためのフローチャートである。
【図５】本発明の実施の形態１のＰＡＳＳ符号を説明するための図である。
【図６】図１に示したランレングス符号化処理装置を説明するためのブロック図である。
【図７】図６に示したランレングス処理装置の構成を説明するための図である。
【図８】図７に示したランカウンタにおいてなされるランカウントの処理を示すフローチャートである。
【図９】図７に示したランカウンタにおいてなされるランカウントの処理を示す他のフローチャートである。
【図１０】図７に示したランカウンタにおいてなされるランカウントの処理を示すフローチャートである。
【図１１】図７に示したランカウンタにおいてなされるランカウントの処理を示すフローチャートである。
【図１２】図７に示したＬｅｆｔラン値生成装置の処理を示すフローチャートである。
【図１３】図７に示したＲｉｇｈｔラン値生成装置の処理を示すフローチャートである。
【図１４】図７に示したマスク値合成装置の処理を示すフローチャートである。
【図１５】図７に示したマスク値合成装置の処理を示す他のフローチャートである。
【図１６】図７に示したマスク値合成装置の処理を示す他のフローチャートである。
【図１７】図７に示したラン値合成装置の処理を示す他のフローチャートである。
【図１８】図６に示した符号化処理装置を説明するための図である。
【図１９】符号化処理装置の処理を示すフローチャートである。
【図２０】符号化処理装置の処理を示す他のフローチャートである。
【図２１】図１に示した符号量測定装置を説明するためのブロック図である。
【図２２】図２１に示したランレングス処理装置を説明するためのブロック図である。
【図２３】図２１に示した符号量測定処理装置を説明するためのブロック図である。
【図２４】符号量測定処理装置によってなされる符号量測定の処理を示すフローチャートである。
【図２５】図１に示したＰＡＳＳ符号ヘッダ作成装置の処理を説明するためのフローチャートである。
【図２６】本発明の実施の形態２の画像圧縮処理装置を説明するためのブロック図である。
【図２７】本発明の実施の形態２のワードデータを符号化する際のフォーマットを示す図である。
【図２８】本発明の実施の形態２で行われる処理の概要を説明するためのフローチャートである。
【図２９】本発明の実施の形態２のＰＡＳＳ符号を説明するための図である。
【図３０】図２６に示したランレングス・繰り返し符号化処理装置を説明するためのブロック図である。
【図３１】図３０に示した繰り返し処理装置の構成を説明するための図である。
【図３２】図３１に示した繰り返しフラグ生成装置によってなされる処理を示すフローチャートである。
【図３３】繰り返し数生成装置によってなされる処理を示すフローチャートである。
【図３４】繰り返し数生成装置によってなされる処理を示す他のフローチャートである。
【図３５】繰り返し数生成装置によってなされる処理を示す他のフローチャートである。
【図３６】繰り返し数生成装置によってなされる次パターンに継続する繰り返し数を求める処理を示すフローチャートである。
【図３７】繰り返し数生成装置によってなされる次パターンに継続する繰り返し数を求める処理を示す他のフローチャートである。
【図３８】繰り返し数生成装置によってなされる次パターンに継続する繰り返し数を求める処理を示す他のフローチャートである。
【図３９】繰り返し数生成装置によってなされる次パターンに継続する繰り返し数を求める処理を示す他のフローチャートである。
【図４０】繰り返し数生成装置によってなされる次パターンに継続する繰り返し数を求める処理を示す他のフローチャートである。
【図４１】図３１に示したＮＥＸＴランレングス生成装置によって実行される処理を示す図である。
【図４２】図３０に示した符号化処理装置の構成を示すブロック図である。
【図４３】図３０に示した符号化処理装置によってなされる処理を示すフローチャートである。
【図４４】符号化処理装置によってなされる処理を示す他のフローチャートである。
【図４５】符号化処理装置によってなされる処理を示す他のフローチャートである。
【図４６】図２６に示した符号量測定装置を説明するためのブロック図である。
【図４７】符号量測定装置によってなされる処理を示すフローチャートである。
【図４８】符号量測定装置によってなされる処理を示す他のフローチャートである。
【符号の説明】
１０１  ランレングス符号化処理装置
１０２ａ，１０２ｂ  符号量測定装置
１０３  ＰＡＳＳ符号ヘッダ作成装置
１０４ａ，１０４ｂ  比較器
１０５，１０６，７０９，２８０３，２８０５  レジスタ
６０１，１８０１，２７０１  ランレングス処理装置
６０２，２７０３  符号化処理装置
７０１ａ，７０１ｂ  ランカウンタ
７０２  Ｌｅｆｔラン値生成装置
７０３  Ｒｉｇｈｔラン値生成装置
７０４  マスク値合成装置
７０５  ラン値合成装置
７０６，７０７  加算器
７０８  累積加算処理装置
１８０２  符号化測定処理装置
２３０１  ランレングス・繰り返し符号化処理装置
２３０２ａ，２３０２ｂ  符号量測定装置
２７０２  繰り返し処理装置
２８０１  繰り返しフラグ生成装置
２８０２  繰り返し数生成装置
２８０４  ＮＥＸＴランレングス生成装置
３８０１  符号量測定処理装置
【図１】
0003862969.tif 000002
【図２】
0003862969.tif 000003
【図３】
0003862969.tif 000004
【図４】
0003862969.tif 000005
【図５】
0003862969.tif 000006
【図６】
0003862969.tif 000007
【図７】
0003862969.tif 000008
【図８】
0003862969.tif 000009
【図９】
0003862969.tif 000010
【図１０】
0003862969.tif 000011
【図１１】
0003862969.tif 000012
【図１２】
0003862969.tif 000013
【図１３】
0003862969.tif 000014
【図１４】
0003862969.tif 000015
【図１５】
0003862969.tif 000016
【図１６】
0003862969.tif 000017
【図１７】
0003862969.tif 000018
【図１８】
0003862969.tif 000019
【図１９】
0003862969.tif 000020
【図２０】
0003862969.tif 000021
【図２１】
0003862969.tif 000022
【図２２】
0003862969.tif 000023
【図２３】
0003862969.tif 000024
【図２４】
0003862969.tif 000025
【図２５】
0003862969.tif 000026
【図２６】
0003862969.tif 000027
【図２７】
0003862969.tif 000028
【図２８】
0003862969.tif 000029
【図２９】
0003862969.tif 000030
【図３０】
0003862969.tif 000031
【図３１】
0003862969.tif 000032
【図３２】
0003862969.tif 000033
【図３３】
0003862969.tif 000034
【図３４】
0003862969.tif 000035
【図３５】
0003862969.tif 000036
【図３６】
0003862969.tif 000037
【図３７】
0003862969.tif 000038
【図３８】
0003862969.tif 000039
【図３９】
0003862969.tif 000040
【図４０】
0003862969.tif 000041
【図４１】
0003862969.tif 000042
【図４２】
0003862969.tif 000043
【図４３】
0003862969.tif 000044
【図４４】
0003862969.tif 000045
【図４５】
0003862969.tif 000046
【図４６】
0003862969.tif 000047
【図４７】
0003862969.tif 000048
【図４８】
0003862969.tif 000049