(57)【要約】【課題】連長圧縮されたデータを効率良くメモリにアクセスして、従来よりも処理サイクル時間を削減することができる連長圧縮処理装置および連長圧縮処理方法を提供する。【解決手段】外部メモリアクセス部３で、予めメモリ４の連長圧縮データを格納する領域にデータとして“１”を設定し、ＣＭＰ２２が注目データと注目データの前のデータおよび後のデータともに不一致と検出した場合は、外部メモリアクセス部３が現時点で保持しているデータ連長数を連長圧縮データとしてライトポインタであるＦＦ３３で指定されるメモリのアドレスに対して格納した後に、セレクタ３１とＡＤＤＲ３２がＦＦ３３の値に“２”を加算するとともにセレクタ２３とＡＤＤＲ２４が連長数であるＦＦ２５の値を“１”に設定する。【選択図】図７
2012060347.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、ライトポインタが設けられ、そのライトポインタに従って前記メモリに対しライトアクセスを行うメモリアクセス部と、入力データを連長圧縮して前記メモリアクセス部へ出力する連長圧縮部と、を備えた連長圧縮処理装置において、
入力データのうち注目データと前記注目データの前後のデータとの一致または不一致を検出するデータ一致情報検出手段と、
前記データ一致情報検出手段の検出結果に基づいて連長圧縮におけるデータの連長数を加算または所定の値に設定する連長数加算設定手段と、
前記データ一致情報検出手段の検出結果に基づいて前記ライトポインタの値を加算するライトポインタ加算手段と、
予め前記メモリの所定領域にデータとして１を設定する設定手段と、を備え、
前記注目データと前記注目データの前のデータおよび後のデータともに不一致と検出した場合は、現時点で保持されている前記連長数を連長圧縮データとして前記メモリアクセス部が前記ライトポインタで指定される前記メモリのアドレスに対して格納した後に、前記ライトポインタ加算手段が前記ライトポインタの値に２を加算するとともに前記連長数加算設定手段が前記連長数の値を１に設定する
ことを特徴とする連長圧縮処理装置。
【請求項２】
前記データ一致情報検出手段が前記注目データと前記注目データの前のデータおよび後のデータともに一致と検出した場合は、前記メモリアクセス部が前記メモリへライトアクセス行わず、前記連長数加算設定手段が前記連長数の値に２を加算し、
前記データ一致情報検出手段が前記注目データと前記注目データの前のデータが不一致と検出し、かつ前記注目データと前記注目データの後のデータが一致と検出した場合は、現時点で保持されている前記連長数を連長圧縮データとして前記メモリアクセス部が前記ライトポインタで指定される前記メモリのアドレスに対して格納した後に、前記ライトポインタ加算手段が前記ライトポインタの値に１を加算するとともに前記連長数加算設定手段が前記連長数の値を２に設定し、
前記データ一致情報検出手段が前記注目データと前記注目データの前のデータが一致と検出し、かつ前記注目データと前記注目データの後のデータが不一致と検出した場合は、前記連長数加算設定手段が現時点で保持されている前記連長数に対して１加算した値を前記メモリアクセス部が連長圧縮データとして前記ライトポインタで指定される前記メモリのアドレスに対して格納した後に、前記ライトポインタ加算手段が前記ライトポインタの値に１を加算するとともに前記連長数加算設定手段が前記連長数の値を１に設定する
ことを特徴とする請求項１または２に記載の連長圧縮処理装置。
【請求項３】
入力データを連長圧縮してメモリのアドレスを示すライトポインタに従って前記メモリに対しライトアクセスを行う連長圧縮処理方法において、
予め連長圧縮データを格納するメモリの領域に１を設定する第一の工程と、
入力データのうち注目データと前記注目データの前後のデータとの一致または不一致を検出する第二の工程と、
前記注目データと前記注目データの前のデータおよび後のデータともに一致と検出された場合は、前記メモリへのアクセスを行わずに現時点で保持しているデータの連長数に２を加算する第三の工程と、
前記注目データと前記注目データの前のデータとが不一致と検出され、かつ前記注目データと前記注目データの後のデータとが一致と検出された場合は、現時点で保持している前記連長数を連長圧縮データとして前記ライトポインタで指定される前記メモリのアドレスに対して格納しその後前記ライトポインタに１を加算するとともに前記連長数を２に設定する第四の工程と、
前記注目データと前記注目データの前のデータとが一致を検出され、かつ前記注目データと前記注目データの後のデータとが不一致と検出された場合は、現時点で保持している前記連長数に対して１加算した値を連長圧縮データとして前記ライトポインタで指定される前記メモリのアドレスに対して格納しその後前記ライトポインタに１を加算する第五の工程と、
前記注目データと前記注目データの前のデータおよび後のデータともに不一致と検出された場合は、現時点で保持している前記連長数を連長圧縮データとして前記ライトポインタで指定される前記メモリのアドレスに対して格納しその後前記ライトポインタに２を加算するとともに前記連長数を１に設定する第六の工程と、を備え、
前記第二の工程の結果に基づいて、前記第三乃至第六の工程のうちいずれかを行う
ことを特徴とする連長圧縮処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データの連長数を検出して圧縮する連長圧縮処理装置および連長圧縮処理方法に関する。
【背景技術】
【０００２】
近年、画像の高画質化、通信の高速化が進むことによって扱う画像データ量も飛躍的に大きくなってきている。従って、データ帯域が従来よりも多く必要とするようになっており、その対策としてデータ圧縮を行うことが多くなっている。
【０００３】
画像劣化のない可逆圧縮技術としては、ファクシミリ等で用いられるＭＨ（ハフマン符号化方式：一次元圧縮法によるＧ３ファクシミリの標準符号化方式）、ＭＲ（二次元圧縮法によるＧ３ファクシミリではオプションの符号化方式）、ＭＭＲ（ＭＲ符号化方式の変形で、Ｇ４ファクシミリの標準符号化方式）や、コンピュータで扱うテキストファイルやバイナリファイルに用いられるＬＺ方式等が挙げられる。 また、国際標準である算術符号化を用いたＪＰＥＧ（Joint Photographic Experts Group）方式やＪＢＩＧ（Joint Bi-level Image Experts Group）方式もある。
【０００４】
これらの可逆圧縮技術には連長圧縮が用いられることがある。連長圧縮は、連続したデータを、データとその連続数の表現に変換することでデータを圧縮する方法である（例えば特許文献１〜３を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した連長圧縮を行ってメモリへライトするようなシステム、装置または回路等で、メモリへのアクセス時間が処理サイクル時間に大きな影響を与える場合に、連長圧縮する対象の入力データが連続して値が切り替わるような二値データであると、各データに対してメモリへのライトアクセスが必要となるために処理サイクル時間が長くなってしまうという問題があった。
【０００６】
本発明はかかる問題を解決することを目的としている。
【０００７】
すなわち、本発明は、連長圧縮されたデータを効率良くメモリにライトアクセスして、従来よりも処理サイクル数を削減することができる連長圧縮処理装置および連長圧縮処理方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決するためになされた請求項１に記載された発明は、メモリと、ライトポインタが設けられ、そのライトポインタに従って前記メモリに対しライトアクセスを行うメモリアクセス部と、入力データを連長圧縮して前記メモリアクセス部へ出力する連長圧縮部と、を備えた連長圧縮処理装置において、入力データのうち注目データと前記注目データの前後のデータとの一致または不一致を検出するデータ一致情報検出手段と、前記データ一致情報検出手段の検出結果に基づいて連長圧縮におけるデータの連長数を加算または所定の値に設定する連長数加算設定手段と、前記データ一致情報検出手段の検出結果に基づいて前記ライトポインタの値を加算するライトポインタ加算手段と、予め前記メモリの所定領域にデータとして１を設定する設定手段と、を備え、前記注目データと前記注目データの前のデータおよび後のデータともに不一致と検出した場合は、現時点で保持されている前記連長数を連長圧縮データとして前記メモリアクセス部が前記ライトポインタで指定される前記メモリのアドレスに対して格納した後に、前記ライトポインタ加算手段が前記ライトポインタの値に２を加算するとともに前記連長数加算設定手段が前記連長数の値を１に設定することを特徴とする連長圧縮処理装置である。
【０００９】
請求項２に記載された発明は、請求項１または２に記載された発明において、前記データ一致情報検出手段が前記注目データと前記注目データの前のデータおよび後のデータともに一致と検出した場合は、前記メモリアクセス部が前記メモリへライトアクセス行わず、前記連長数加算設定手段が前記連長数の値に２を加算し、前記データ一致情報検出手段が前記注目データと前記注目データの前のデータが不一致と検出し、かつ前記注目データと前記注目データの後のデータが一致と検出した場合は、現時点で保持されている前記連長数を連長圧縮データとして前記メモリアクセス部が前記ライトポインタで指定される前記メモリのアドレスに対して格納した後に、前記ライトポインタ加算手段が前記ライトポインタの値に１を加算するとともに前記連長数加算設定手段が前記連長数の値を２に設定し、前記データ一致情報検出手段が前記注目データと前記注目データの前のデータが一致と検出し、かつ前記注目データと前記注目データの後のデータが不一致と検出した場合は、前記連長数加算設定手段が現時点で保持されている前記連長数に対して１加算した値を前記メモリアクセス部が連長圧縮データとして前記ライトポインタで指定される前記メモリのアドレスに対して格納した後に、前記ライトポインタ加算手段が前記ライトポインタの値に１を加算するとともに前記連長数加算設定手段が前記連長数の値を１に設定することを特徴とするものである。
【００１０】
請求項３に記載された発明は、入力データを連長圧縮してメモリのアドレスを示すライトポインタに従って前記メモリに対しライトアクセスを行う連長圧縮処理方法において、予め連長圧縮データを格納するメモリの領域に１を設定する第一の工程と、入力データのうち注目データと前記注目データの前後のデータとの一致または不一致を検出する第二の工程と、前記注目データと前記注目データの前のデータおよび後のデータともに一致と検出された場合は、前記メモリへのアクセスを行わずに現時点で保持しているデータの連長数に２を加算する第三の工程と、前記注目データと前記注目データの前のデータとが不一致と検出され、かつ前記注目データと前記注目データの後のデータとが一致と検出された場合は、現時点で保持している前記連長数を連長圧縮データとして前記ライトポインタで指定される前記メモリのアドレスに対して格納しその後前記ライトポインタに１を加算するとともに前記連長数を２に設定する第四の工程と、前記注目データと前記注目データの前のデータとが一致を検出され、かつ前記注目データと前記注目データの後のデータとが不一致と検出された場合は、現時点で保持している前記連長数に対して１加算した値を連長圧縮データとして前記ライトポインタで指定される前記メモリのアドレスに対して格納しその後前記ライトポインタに１を加算する第五の工程と、前記注目データと前記注目データの前のデータおよび後のデータともに不一致と検出された場合は、現時点で保持している前記連長数を連長圧縮データとして前記ライトポインタで指定される前記メモリのアドレスに対して格納しその後前記ライトポインタに２を加算するとともに前記連長数を１に設定する第六の工程と、を備え、前記第二の工程の結果に基づいて、前記第三乃至第六の工程のうちいずれかを行うことを特徴とする連長圧縮処理方法である。
【発明の効果】
【００１１】
請求項１に記載の発明によれば、予めメモリの規定領域にデータとして１を設定し、データ一致情報検出手段で、注目データと注目データの前のデータおよび後のデータともに不一致と検出した場合は、現時点で保持している連長数を連長圧縮データとしてメモリアクセス部がライトポインタで指定されるメモリのアドレスに対して格納した後に、ライトポインタ加算手段がライトポインタの値に２を加算するとともに連長数加算設定手段が連長数の値を１に設定するので、連続して値が切り替わるような二値データであっても、１回分のメモリライトアクセスを抑制することで、１つの入力データと同じサイクル時間で処理することが可能となり処理サイクル時間を削減でき、また連続して値が切り替わるようなデータのアクセスに対応した部分の回路を削減できる。
【００１２】
請求項２に記載の発明によれば、データ一致情報検出手段が注目データと注目データの前のデータおよび後のデータともに一致と検出した場合は、メモリアクセス部がメモリへライトアクセス行わず、連長数加算設定手段が連長数の値に２を加算し、データ一致情報検出手段が注目データと注目データの前のデータが不一致と検出し、かつ注目データと注目データの後のデータが一致と検出した場合は、現時点で保持している連長数を連長圧縮データとしてメモリアクセス部がライトポインタで指定されるメモリのアドレスに対して格納した後に、ライトポインタ加算手段がライトポインタの値に１を加算するとともに連長数加算設定手段が連長数の値を２に設定し、データ一致情報検出手段が注目データと注目データの前のデータが一致と検出し、かつ注目データと注目データの後のデータが不一致と検出した場合は、連長数加算設定手段が現時点で保持している連長数に対して１加算した値をメモリアクセス部が連長圧縮データとしてライトポインタで指定されるメモリのアドレスに対して格納した後に、ライトポインタ加算手段がライトポインタの値に１を加算するとともに連長数加算設定手段が連長数の値を１に設定するので、データ一致情報検出手段の検出結果に基づいてライトポインタと連長数を加算またはインクリメントし、メモリへのアクセスを行うことができる。
【００１３】
請求項３に記載の発明によれば、第一の工程で、予め連長圧縮データを格納するメモリの領域に１を設定し、第二の工程で、入力データのうち注目データと注目データの前後のデータとの一致または不一致を検出して、第二の工程の結果に基づいて、第三乃至第六の工程のうちいずれかを行うので、注目データと前後のデータとの一致、不一致によりメモリへのライトアクセスを省くことが可能となり、連続して値が切り替わるような二値データであっても１回分のメモリライトアクセスを抑制して処理サイクル時間を削減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態にかかる連長圧縮処理装置の基本構成図である。
【図２】図１に示された連長圧縮処理部の内部構成図である。
【図３】図１に示された外部メモリアクセス部の内部構成図である。
【図４】連長圧縮処理前のメモリ領域の初期化を示した説明図である。
【図５】図１に示された連長圧縮処理部における入力データとデータ一致情報と連長数との関係を示した説明図である。
【図６】図５に示されたデータ一致情報によるメモリアクセス制御を示したタイミングチャートである。
【図７】図１に示された連長圧縮処理装置の動作を示したフローチャートである。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態を、図１ないし図７を参照して説明する。図１は、本発明の一実施形態にかかる連長圧縮処理装置の基本構成図である。図２は、図１に示された連長圧縮処理部の内部構成図である。図３は、図１に示された外部メモリアクセス部の内部構成図である。図４は、連長圧縮処理前のメモリ領域の初期化を示した説明図である。図５は、図１に示された連長圧縮処理部における入力データとデータ一致情報と連長数との関係を示した説明図である。図６は、図５に示されたデータ一致情報によるメモリアクセス制御を示したタイミングチャートである。図７は、図１に示された連長圧縮処理装置の動作を示したフローチャートである。
【００１６】
図１に本発明の一実施形態にかかる連長圧縮処理装置１を示す。図１に示した連長圧縮処理装置１は、連長圧縮処理部２と、外部メモリアクセス部３と、メモリ４と、を備えている。
【００１７】
連長圧縮部としての連長圧縮処理部２は、図２に示したように、フリップフロップ（ＦＦ）２１と、比較器（ＣＭＰ）２２と、セレクタ２３と、加算器（ＡＤＤＲ）２４と、連長数格納用フリップフロップ（ＦＦ）２５と、を備え、入力データに対する連続出現回数を算出し、それを圧縮データとして外部メモリアクセス部３へ出力する処理を行う。
【００１８】
ＦＦ２１は、ＣＭＰ２２で入力データのうちの連続した前後のデータを比較するため、入力データを一回ラッチしてＣＭＰ２２へ出力する。
【００１９】
データ一致情報検出手段としてのＣＭＰ２２は、入力データのうちの連続した２つのデータを比較し、その比較結果を注目データとその１つ前のデータとの一致情報としてセレクタ２３および外部メモリアクセス部３へ出力する。
【００２０】
連長加算設定手段としてのセレクタ２３は、ＣＭＰ２２から入力される注目データとその１つ前のデータとの一致情報に基づいてＡＤＤＲ２４の出力または“１”を選択し、ＦＦ２５および連長圧縮データとして外部メモリアクセス部３へ出力する。
【００２１】
連長加算設定手段としてのＡＤＤＲ２４は、ＦＦ２５で保持されている連長数と“１”を加算することで、連長数を１インクリメントする。即ち、ＡＤＤＲ２４は、セレクタ２３とともにＣＭＰ２２の検出結果に基づいてＦＦ２５の値を加算または所定の値に設定している。
【００２２】
ＦＦ２５は、セレクタ２３から出力されたＡＤＤＲ２４の出力または“１”を格納することで入力データの連長数を保持するＤ型フリップフロップである。
【００２３】
メモリアクセス部、設定手段としての外部メモリアクセス装置３は、図３に示したように、セレクタ３１と、加算器（ＡＤＤＲ）３２と、ライトポインタ用フリップフロップ（ＦＦ）３３と、を備え、メモリへのリード（読み出し）およびライト（書き込み）アクセスを行う。なお、図３ではライトアクセスに関連するブロックのみを記載し、リードアクセスに関する説明は省略する。また、図３では後述する図６において記載されているメモリクロックを生成する回路や、ＣＭＰ２２の出力を（メモリ）ライトイネーブル信号に変換する回路等は省略している。
【００２４】
ライトポインタ加算手段としてのセレクタ３１は、連長圧縮処理部２から入力される注目データとその１つ前のデータとの一致情報に基づいて値“０”または“１”を選択してＡＤＤＲ３２に出力する。即ち、ＡＤＤＲ３２で加算する値を選択している。
【００２５】
ライトポインタ加算手段としてのＡＤＤＲ３２は、ＦＦ３３で保持されているライトポインタとセレクタ３１から出力された“０”または“１”を加算することで、ライトポインタを１インクリメントまたはＦＦ３３の値をそのまま出力する。また、ＡＤＤＲ３２は、加算結果をＦＦ３３およびライトポインタ（メモリアドレス）としてメモリ４へ出力する。即ち、ＡＤＤＲ３２は、セレクタ３１とともにＣＭＰ２２の検出結果に基づいてＦＦ３３の値を加算している。
【００２６】
ＦＦ３３は、ＡＤＤＲ３２の出力を格納することでライトポインタを保持するＤ型フリップフロップである。
【００２７】
メモリ４は、例えばＲＡＭで構成され、連長圧縮処理装置１が出力する連長圧縮データなどが格納される。
【００２８】
次に、上述した構成の連長圧縮処理装置１において、連長圧縮する際の動作を図４ないし図６を参照して説明する。
【００２９】
まず、図４に示したように連長圧縮処理を実行する前に予め連長圧縮データを格納するメモリ４の領域に対してデータ“１”を設定する初期化を行う。これは、例えば、セレクタ２３からは常時“１”が出力されるようにして、外部メモリアクセス部３ではライトポインタを順次１インクリメントするようにしてライトアクセスさせればよい。
【００３０】
ここで、入力データの一例として図５に示したような二値のデータ列が入力された場合において、入力データを連続する２つのデータ（前データを注目１データ、後データを注目２データとする）で一単位と見た場合に、データが一致していれば“１”、一致していなければ“０”としてＣＭＰ２２で検出すると、０，０，０，１，１となる（これをデータ一致情報Ａとする）。次に、注目１データと注目１データの１つ前データ（１つ前の一単位の注目２データ）とのデータが一致していれば“１”、一致していなければ“０”としてＣＭＰ２２で検出すると０，１，０，１，０となる（これをデータ一致情報Ｂとする）。即ち、入力データのうち注目データ（注目１データ）と注目データの前後のデータ（注目１データの１つ前のデータ、注目２データ）との一致または不一致を検出している。
【００３１】
次に、上述したデータ一致情報Ａとデータ一致情報Ｂとを用いてメモリ４へ連長圧縮データを書き込むメモリアクセス制御を行う。このメモリアクセス制御は、データ一致情報Ａとデータ一致情報Ｂとの組み合わせによって変化し、図６（ａ）〜（ｄ）に示した４通りに分けられる。
【００３２】
まず、図６（ａ）に示したように、データ一致情報Ａ，Ｂが共に“１”となるパターンでは、メモリ４へのライトアクセスは行われず、連長数（ＦＦ２５）を２インクリメントさせるだけの処理を行う。つまり、データ一致情報Ａ，Ｂが共に“１”の場合は、図５に示したように前の単位から同じデータが続き、かつ自単位内でもデータが変化していないことを意味するため、メモリ４へのアクセスをする必要は無く、連長数を一単位のデータ数である２インクリメントする。連長数（ＦＦ２５）の２インクリメントは、例えばＡＤＤＲ２４で１インクリメントすることを２回繰り返すことにより行えばよい。即ち、データ一致情報検出手段が、注目データと注目データの前のデータおよび後のデータともに一致と検出した場合は、メモリアクセス部がメモリへライトアクセス行わず、連長数加算設定手段が連長数の値に２を加算している。
【００３３】
次に、図６（ｂ）に示したように、データ一致情報Ａは“１”、データ一致情報Ｂは“０”となるパターンでは、現在ＦＦ２５で保持している連長数をメモリライトデータとしてＦＦ３３で保持しているライトポインタが示す値にメモリライトアクセスを行った後、連長数（ＦＦ２５）を“２”に設定し、次のライトアドレスを示すライトポインタ（ＦＦ３３）を１インクリメントさせる処理を行う。つまり、データ一致情報Ａは“１”、データ一致情報Ｂは“０”の場合は、図５に示したように前の単位からデータが変化し、かつ自単位内はデータが変化していないことを意味するため、前の単位までの連長数をメモリ４にライトした後に連長数を一単位のデータ数である“２”に設定し、ライトポインタを１インクリメントする。連長数（ＦＦ２５）の“２”への設定は、例えばＦＦ２５を“０”にクリアした後にＡＤＤＲ２４で１インクリメントすることを２回繰り返すことにより行う。即ち、データ一致情報検出手段が、注目データと注目データの前のデータが不一致と検出し、かつ注目データと注目データの後のデータが一致と検出した場合は、現時点で保持されている連長数を連長圧縮データとしてメモリアクセス部がライトポインタで指定されるメモリのアドレスに対して格納した後に、ライトポインタ加算手段がライトポインタの値に１を加算するとともに連長数加算設定手段が連長数の値を２に設定している。
【００３４】
次に、図６（ｃ）に示したように、データ一致情報Ａは“０”、データ一致情報Ｂは“１”となるパターンでは、現在ＦＦ２５で保持している連長数に１インクリメントした値をメモリライトデータとしてＦＦ３３で保持しているライトポインタが示す値にメモリライトアクセスを行った後、連長数（ＦＦ２５）を“１”に設定し、次のライトアドレスを示すライトポインタ（ＦＦ３３）を１インクリメントさせる処理を行う。つまり、データ一致情報Ａは“０”、データ一致情報Ｂは“１”の場合は、図５に示したように前の単位と同じデータが続き、かつ自単位内はデータが変化していることを意味するため、前の単位までの連長数に１インクリメントした値をメモリ４にライトした後に連長数を“１”に設定し、ライトポインタを１インクリメントする。即ち、データ一致情報検出手段が、注目データと注目データの前のデータが一致と検出し、かつ注目データと注目データの後のデータが不一致と検出した場合は、連長数加算設定手段が現時点で保持されている連長数に対して１加算した値をメモリアクセス部が連長圧縮データとしてライトポインタで指定されるメモリのアドレスに対して格納した後に、ライトポインタ加算手段がライトポインタの値に１を加算するとともに連長数加算設定手段が連長数の値を１に設定している。
【００３５】
次に、図６（ｄ）に示したように、データ一致情報Ａ，Ｂが共に“０”となるパターンでは、現在ＦＦ２５で保持している連長数をメモリライトデータとしてＦＦ３３で保持しているライトポインタが示す値にメモリライトアクセスを行った後、連長数（ＦＦ２５）を“１”に設定し、次のライトアドレスを示すライトポインタ（ＦＦ３３）を２インクリメントさせる処理を行う。つまり、データ一致情報Ａ、Ｂが共に“０”の場合は、図５に示したように前の単位からデータが変化し、かつ自単位内もデータが変化していることを意味するため、前の単位までの連長数をメモリ４にライトした後に連長数を“１”に設定する。また、ライトポインタを２インクリメントするのは、メモリ４は、初期化にて既に“１”が設定されている為、一単位の前側のデータに対応する連長数はライトせずに、２インクリメントさせて飛ばすことで連続してデータが変化する場合のメモリライトアクセスを省略している。即ち、データ一致情報検出手段が、注目データと注目データの前のデータおよび後のデータともに不一致と検出した場合は、現時点で保持されている連長数を連長圧縮データとしてメモリアクセス部がライトポインタで指定されるメモリのアドレスに対して格納した後に、ライトポインタ加算手段がライトポインタの値に２を加算するとともに連長数加算設定手段が連長数の値を１に設定している。
【００３６】
以上説明した連長圧縮処理装置１の動作を図７のフローチャートにまとめる。図７のフローチャートに沿って再度動作を説明すると、ステップＳ１でメモリ４の連長圧縮データを格納する領域へ初期値“１”を設定し、ステップＳ２で注目１データと注目２データからデータ一致除法Ａとデータ一致情報Ｂを検出し、ステップＳ３でデータ一致情報Ａとデータ一致情報Ｂの値を評価する。即ち、ステップＳ１が第一の工程、ステップＳ２が第二の工程となっている。
【００３７】
そして、データ一致情報Ａ＝１でデータ一致情報Ｂ＝１の場合は、図６（ａ）のパターンのようにメモリ４へのライトアクセスは行われず、連長数（ＦＦ２５）を２インクリメントさせるだけの処理を行い、データ一致情報Ａ＝１でデータ一致情報Ｂ＝０の場合は、図６（ｂ）のパターンのように現在ＦＦ２５で保持している連長数をメモリライトデータとしてメモリライトアクセスを行った後、連長数（ＦＦ２５）を２に設定し、次のライトアドレスを示すライトポインタ（ＦＦ３３）を１インクリメントさせる処理を行い、データ一致情報Ａ＝０でデータ一致情報Ｂ＝１の場合は、図６（ｃ）のパターンのように現在ＦＦ２５で保持している連長数に１インクリメントした値をメモリライトデータとしてメモリライトアクセスを行った後、連長数（ＦＦ２５）を１に設定し、次のライトアドレスを示すライトポインタ（ＦＦ３３）を１インクリメントさせる処理を行い、データ一致情報Ａ＝０でデータ一致情報Ｂ＝０の場合は、図６（ｄ）のパターンのように現在ＦＦ２５で保持している連長数をメモリライトデータとしてメモリライトアクセスを行った後、連長数（ＦＦ２５）を２に設定し、次のライトアドレスを示すライトポインタ（ＦＦ３３）を１インクリメントさせる処理を行う。即ち、ステップＳ４が第三の工程、ステップＳ５が第四の工程、ステップＳ６が第五の工程、ステップＳ７が第六の工程となっている。
【００３８】
本実施形態によれば、外部メモリアクセス部３で、予めメモリ４の連長圧縮データを格納する領域にデータとして“１”を設定し、ＣＭＰ２２が注目データと注目データの前のデータおよび後のデータともに不一致と検出した場合は、外部メモリアクセス部３が現時点で保持しているデータ連長数を連長圧縮データとしてライトポインタであるＦＦ３３で指定されるメモリのアドレスに対して格納した後に、セレクタ３１とＡＤＤＲ３２がＦＦ３３の値に“２”を加算するとともにセレクタ２３とＡＤＤＲ２４が連長数であるＦＦ２５の値を“１”に設定するので、連続して値が切り替わるような二値データであっても、１回分のメモリライトアクセスを抑制することで、１つの入力データと同じサイクル数で処理することが可能となり処理サイクル数を削減でき、また連続して値が切り替わるようなデータのアクセスに対応した部分の回路を削減できる。
【００３９】
また、ＣＭＰ２２の結果であるデータ一致情報Ａとデータ一致情報Ｂとに基づいて、ステップＳ４〜Ｓ７を選択してメモリアクセスを行ったり、ライトポインタを加算または設定したり、連長数を加算または設定するので、データ一致情報Ａとデータ一致情報Ｂでデータが連続しているかを検出でき、その連続状態に応じたメモリアクセスやライトポインタ、連長数の設定を行うことができる。
【００４０】
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００４１】
１          連長圧縮処理装置
２          連長圧縮処理部（連長圧縮部）
３          外部メモリアクセス部（メモリアクセス部、設定手段）
４          メモリ
２２        ＣＭＰ（データ一致情報検出手段）
２３        セレクタ（連長数加算設定手段）
２４        ＡＤＤＲ（連長数加算設定手段）
２５        ＦＦ（連長数）
３１        セレクタ（ライトポインタ加算手段）
３２        ＡＤＤＲ（ライトポインタ加算手段）
３３        ＦＦ（ライトポインタ）
Ｓ１        メモリへ初期設定（第一の工程）
Ｓ２        データ一致情報Ａ、データ一致情報Ｂ検出（第二の工程）
Ｓ４        データ一致情報Ａ＝１、データ一致情報Ｂ＝１の場合（第三の工程）
Ｓ５        データ一致情報Ａ＝１、データ一致情報Ｂ＝０の場合（第四の工程）
Ｓ６        データ一致情報Ａ＝０、データ一致情報Ｂ＝１の場合（第五の工程）
Ｓ７        データ一致情報Ａ＝０、データ一致情報Ｂ＝０の場合（第六の工程）
【先行技術文献】
【特許文献】
【００４２】
【特許文献１】特開昭６４−８６７号公報
【特許文献２】特開昭６３−２２７２７７号公報
【特許文献３】特開平１１−７３５０５号公報
【図１】
2012060347.tif 000003
【図２】
2012060347.tif 000004
【図３】
2012060347.tif 000005
【図４】
2012060347.tif 000006
【図５】
2012060347.tif 000007
【図６】
2012060347.tif 000008
【図７】
2012060347.tif 000009