(57)【特許請求の範囲】
【請求項１】
入力されたランレングス（以下、ＲＬという）の数値を、固定長Ｗ又はその倍数長の符号に変換するランレングス符号化方法であって、
前記変換する符号形式は、第１の形式Ｓの符号と第２の形式Ｍの符号とを有し、
前記第１の形式Ｓの符号は、固定長Ｗを有し、その数値Ｅは所定の定数Ｔ未満であり、前記数値Ｅに所定の定数ＣＳを加えた値が前記ＲＬ値に対応し、
前記第２の形式Ｍの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｊと、前記固定長Ｗ又はその倍数長の数値部Ｆとで構成され、かつ前記数値部Ｆの数値に所定の定数ＣＭを加えた値が前記ＲＬ値に対応し、
「０」以上の有限の整数である前記ＲＬ値を符号化するとき、前記形式Ｓの符号と少なくとも１以上の前記形式Ｍの符号とについて、前記定数Ｔと前記ＲＬ値とを対応づける前記定数ＣＳと前記定数ＣＭとを定めることを特徴とするランレングス符号化方法。
【請求項２】
入力されたランレングス（以下、ＲＬという）の数値列を、固定長Ｗ又はその倍数長の符号に変換するランレングス符号化方法であって、
前記変換する符号形式は、第１の形式Ｓの符号と第２の形式Ｍの符号と第３の形式Ｌの符号とを有し、
前記第１の形式Ｓの符号は、固定長Ｗを有し、その数値Ｅは所定の定数Ｔ未満であり、前記数値Ｅに所定の定数ＣＳを加えた値が前記ＲＬ値に対応し、
前記第２の形式Ｍの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｊと、前記固定長Ｗ又はその倍数長の数値部Ｆとで構成され、かつ前記数値部Ｆの数値に所定の定数ＣＭを加えた値がＲＬ値に対応し、
前記第３の形式Ｌの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｋと固定長Ｗ単位で可変数の数値部とで構成され、当該数値部の構成単位は数値断片と同形式情報が継続するか否かを示すフラグとで構成され、当該フラグにより停止されるまで後続の数値断片をつなぎ合わせた数値に固有の定数ＣＬを加えた値が前記ＲＬ値に対応し、
「０」以上の有限の整数である前記ＲＬ値を符号化するとき、前記形式Ｓの符号と、「０」を含む、適宜数の形式Ｍの符号と、形式Ｌの符号について、前記定数Ｔと前記ＲＬ値とに対応づける前記定数ＣＳと前記定数ＣＭ及び前記定数ＣＬの値と定めることを特徴とするランレングス符号化方法。
【請求項３】
前記形式Ｓの符号は、０≦ＲＬ≦（Ｔ−１）なるＲＬ値に対応し、
前記形式Ｍと前記形式Ｌの符号は対応するＲＬ数値を昇順に並べ、それぞれの形式の定数ＣＭ，ＣＬは直前のＲＬ値領域に対応する符号が対応したＲＬ値の最大値に「１」を加えたものである請求項１又は２記載のランレングス符号化方法。
【請求項４】
前記形式Ｓの符号は、１≦ＲＬ≦ＴなるＲＬ値に対応し、
前記形式Ｍと前記形式Ｌの符号は、対応するＲＬ数値を昇順に並べ、それぞれの形式の定数ＣＭ，ＣＬは直前のＲＬ値領域に対応する符号が対応したＲＬ値の最大値に「１」を加えたものであり、
前記ＲＬ値の「０」は、最大のＲＬ値を表現する符号において、ＲＬ値として存在しない数値Ｚとし、該数値Ｚは前記数値部に所定の定数Ｃを加える演算の結果が、桁あふれにより「０」なる結果を生じる数値で表現されるものである請求項１又は２記載のランレングス符号化方法。
【請求項５】
前記符号単位のビット幅である固定長Ｗは、２n（ｎは自然数）ビット、又は４ビットである請求項１乃至４のいずれかに記載のランレングス符号化方法。
【請求項６】
画像データをランレングス符号化する圧縮装置であって、
前記画像データを走査してＲＬ数値列を生成するＲＬ測定手段と、
前記ＲＬ数値列を、第１の形式Ｓの符号と第２の形式Ｍの符号とに符号化する符号化手段と、を有し、
前記第１の形式Ｓの符号は、固定長Ｗを有し、その数値Ｅは所定の定数Ｔ未満であり、前記数値Ｅに所定の定数ＣＳを加えた値が前記ＲＬ値に対応し、
前記第２の形式Ｍの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｊと、前記固定長Ｗ又はその倍数長の数値部Ｆとで構成され、かつ前記数値部Ｆの数値に所定の定数ＣＭを加えた値が前記ＲＬ値に対応し、
「０」以上の有限の整数である前記ＲＬ値を符号化するとき、前記形式Ｓの符号と少なくとも１以上の前記形式Ｍの符号とについて、前記定数Ｔと前記ＲＬ値とを対応づける前記定数ＣＳと前記定数ＣＭとを定めることを特徴とする圧縮装置。
【請求項７】
画像データをランレングス符号化する圧縮装置であって、
前記画像データを走査してＲＬ数値列を生成するＲＬ測定手段と、
前記ＲＬ数値列を、第１の形式Ｓの符号と、第２の形式Ｍの符号及び第３の形式Ｌの符号に符号化する符号化手段と、を有し、
前記第１の形式Ｓの符号は、固定長Ｗを有し、その数値Ｅは所定の定数Ｔ未満であり、前記数値Ｅに所定の定数ＣＳを加えた値が前記ＲＬ値に対応し、
前記第２の形式Ｍの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｊと、前記固定長Ｗ又はその倍数長の数値部Ｆとで構成され、かつ前記数値部Ｆの数値に所定の定数ＣＭを加えた値がＲＬ値に対応し、
前記第３の形式Ｌの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｋと固定長Ｗ単位で可変数の数値部とで構成され、当該数値部の構成単位は数値断片と同形式情報が継続するか否かを示すフラグとで構成され、当該フラグにより停止されるまで後続の数値断片をつなぎ合わせた数値に固有の定数ＣＬを加えた値が前記ＲＬ値に対応し、
「０」以上の有限の整数である前記ＲＬ値を符号化するとき、前記形式Ｓの符号と、「０」を含む、適宜数の形式Ｍの符号と、形式Ｌの符号について、前記定数Ｔと前記ＲＬ値とに対応づける前記定数ＣＳと前記定数ＣＭ及び前記定数ＣＬの値と定めることを特徴とする圧縮装置。
【請求項８】
前記符号化手段で符号化する前記形式Ｓの符号は、０≦ＲＬ≦（Ｔ−１）なるＲＬ値に対応し、前記形式Ｍと前記形式Ｌの符号は対応するＲＬ数値を昇順に並べ、それぞれの形式の定数ＣＭ，ＣＬは直前のＲＬ値領域に対応する符号が対応したＲＬ値の最大値に「１」を加えたものである請求項６又は７記載の圧縮装置。
【請求項９】
前記符号化手段で符号化する前記形式Ｓの符号は、１≦ＲＬ≦ＴなるＲＬ値に対応し、前記形式Ｍと前記形式Ｌの符号は、対応するＲＬ数値を昇順に並べ、それぞれの形式の定数ＣＭ，ＣＬは直前のＲＬ値領域に対応する符号が対応したＲＬ値の最大値に「１」を加えたものであり、前記ＲＬ値の「０」は、最大のＲＬ値を表現する符号において、ＲＬ値として存在しない数値Ｚとし、該数値Ｚは前記数値部に所定の定数Ｃを加える演算の結果が、桁あふれにより「０」なる結果を生じる数値で表現されるものである請求項６又は７記載の圧縮装置。
【請求項１０】
前記符号化手段で符号化する符号単位のビット幅である固定長Ｗは、２n（ｎは自然数）ビット、又は４ビットである請求項６乃至９のいずれかに記載の圧縮装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は画像データ等を圧縮伸張するための符号化方法及び圧縮装置、特にプリンタ等の省メモリ機構に好適な高速性と高圧縮率化に関するものである。
【０００２】
【従来の技術】
近年、例えばレーザプリンタ等の印刷装置では、印刷のための画像データを圧縮（符号化）して一時的に蓄積し、伸張（復号化）しながら実際の印刷を行い、必要なメモリを削減する、いわゆる省メモリ技術が広く用いられている。このような省メモリ技術の基本的な目的はメモリを削減することによりコストダウンを図ることにあるので、圧縮伸張のために複雑な専用ハードウェアを備えることは好ましくなく、したがって装置の制御を実行するプロセッサにこれらの圧縮伸張処理をソフトウェア的に行わせしめる、いわゆるミドルウェアの利用が一般的となっている。
【０００３】
データ圧縮の方式に関しては多数の技術が開示されているが、上記のような目的に用いる場合には、一次元圧縮と称される比較的単純な方式を用いることが普通である。一般に、二次元静止画像を対象とする場合には、副走査方向のデータ相関を加味して行う二次元圧縮のほうが高い圧縮率が得られることがよく知られているが、二次元圧縮は処理内容が複雑であるため、印刷速度や解像度が年々向上するなかで上記のようにソフトウェアで処理することが難しいためである。
【０００４】
一次元圧縮としては、ファクシミリ装置等に用いられるＭＨ符号やワイル符号が広く知られているが、可変長符号であるため、特にソフトウェアで処理する場合の処理速度という観点から見て、上記のような目的に用いるのに適しているとは言えない。
【０００５】
一般にランレングス符号化と呼ばれるものは、ランレングス（以下、ＲＬという）数値をある固定長で表現するもので、処理が単純であり、処理速度やハードウェア化する場合の回路規模（コスト）という観点からは適しているが、ＲＬ値が固定長で表現できる値を超える場合には、反対色のランが「０」である「０」ラン符号を挟んで複数の数値の和に分解して符号化するため、可変符号長を持つＭＨ符号に比べて圧縮率が非常に悪いという問題があり、幾つかの改善技術が開示されている。
【０００６】
例えば、特開平６−１８９１４５号公報に示されたラン長符号化方法は、長さが異なる複数の固定ランレングス符号に固定ランレングス符号タイプを識別する符号長エリアを設け、白画素と黒画素のそれぞれの長さに応じて相応しい固定ランレングス符号に画素数を記載して符号化することにより圧縮率の向上を図るようにしている。この方法によるならば、ランレングス符号化の簡素さと、より短いランにより短い符号を割り当てることができるという特徴を有し、高い処理速度と圧縮率の向上が期待できる。
【０００７】
また、特許第２５７３８４９号公報に示されたデータ圧縮装置は、１以上の所定の整数Ｂとそれぞれ整数である変数ｎ，Ｗとを用い、ＲＬ値をｎ×２(B・w)の形式に順次分解し、同一のデータが連続していることを示す連続識別符号と変数Ｗ及び変数ｎとを示すランレングス符号とを含む圧縮データを生成するようにしてデータ圧縮効率を高めるようにしている。
【０００８】
【発明が解決しようとする課題】
しかしながら特開平６−１８９１４５号公報に示されたラン長符号化方法は、固定ランレングス符号タイプを識別する少なくとも１ビットの符号長エリアが設けてあるため、ある符号が有するビット幅をｗ、それに含まれる符号長エリアのビット数をｖとすると、符号が表現できるランレングスの最大値は（２(w-v)−１）となってしまい、かつ、ランレングスの数値をそのまま符号の数値部としているので、より大きなランレングスを表す符号はより小さい値を表現する符号の値を含むものであるという冗長性を持つことになる。したがってこの方法によって高い処理速度を得るために複数の符号を一定の倍数となるよう定義する場合には、ＭＨ符号のような可変長符号に匹敵するような圧縮率を得ることは困難である。逆に、圧縮率を改善するために倍数とならないような可変長符号をきめ細かく定義する場合には、固定長符号に期待される処理速度を損なうとともに符号長エリアで表現すべき符号のビット数が増大し、十分な圧縮率向上が期待できないという短所がある。
【０００９】
また、特許第２５７３８４９号公報に示されたデータ圧縮装置のように、ＲＬ値をｎ×２(B・w)の形式に順次分解することは、２進数をＢビット単位でＷ桁に分解することであり、ランレングスの数値を表現する部分での冗長性を排除できるが、このデータ圧縮装置では多値データ、すなわち複数ビットデータが同一値で連続する場合の連続数をランレングスとして扱うもののみであり、連続識別符号が多値データと同じ内容のデータに割り当てられ、ランレングスが「０」となる場合の符号化方式が明示されていない等、二値データに実施することには多くの問題が残されている。また変数Ｗを決定する処理は、より短いランレングス値においてより多くの繰り返し処理を必要とするため処理速度上好ましくないという短所がある。さらに変数Ｗを固定長またはその倍数の形式で符号化すると、符号量が非常に大きくなり、これを防ぐために整数Ｂの値を小さく設定すると、より多くの繰り返し処理を必要としてしまう。
【００１０】
この発明はかかる短所を改善し、個々の符号が固定長Ｗまたはその倍数長である複数形式により構成され、且つ、ビット幅Ｗの最も短い符号は２(W-1)個より多い数値を表現できるものである符号群に符号化して、特に圧縮対象とする元データが比較的小さな容量であるものに最適なランレングス符号化方法及び圧縮装置を提供することを目的とするものである。
【００１１】
【課題を解決するための手段】
この発明に係るランレングス符号化方法は、入力されたランレングス（以下、ＲＬという）の数値を、固定長Ｗ又はその倍数長の符号に変換するランレングス符号化方法であって、前記変換する符号形式は、第１の形式Ｓの符号と第２の形式Ｍの符号とを有し、前記第１の形式Ｓの符号は、固定長Ｗを有し、その数値Ｅは所定の定数Ｔ未満であり、前記数値Ｅに所定の定数ＣＳを加えた値が前記ＲＬ値に対応し、前記第２の形式Ｍの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｊと、前記固定長Ｗ又はその倍数長の数値部Ｆとで構成され、かつ前記数値部Ｆの数値に所定の定数ＣＭを加えた値が前記ＲＬ値に対応し、
「０」以上の有限の整数である前記ＲＬ値を符号化するとき、前記形式Ｓの符号と少なくとも１以上の前記形式Ｍの符号とについて、前記定数Ｔと前記ＲＬ値とを対応づける前記定数ＣＳと前記定数ＣＭとを定めることを特徴とする。
【００１２】
この発明に係る第２のランレングス符号化方法は、入力されたランレングス（以下、ＲＬという）の数値列を、固定長Ｗ又はその倍数長の符号に変換するランレングス符号化方法であって、前記変換する符号形式は、第１の形式Ｓの符号と第２の形式Ｍの符号と第３の形式Ｌの符号とを有し、前記第１の形式Ｓの符号は、固定長Ｗを有し、その数値Ｅは所定の定数Ｔ未満であり、前記数値Ｅに所定の定数ＣＳを加えた値が前記ＲＬ値に対応し、前記第２の形式Ｍの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｊと、前記固定長Ｗ又はその倍数長の数値部Ｆとで構成され、かつ前記数値部Ｆの数値に所定の定数ＣＭを加えた値がＲＬ値に対応し、前記第３の形式Ｌの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｋと固定長Ｗ単位で可変数の数値部とで構成され、当該数値部の構成単位は数値断片と同形式情報が継続するか否かを示すフラグとで構成され、当該フラグにより停止されるまで後続の数値断片をつなぎ合わせた数値に固有の定数ＣＬを加えた値が前記ＲＬ値に対応し、「０」以上の有限の整数である前記ＲＬ値を符号化するとき、前記形式Ｓの符号と、「０」を含む、適宜数の形式Ｍの符号と、形式Ｌの符号について、前記定数Ｔと前記ＲＬ値とに対応づける前記定数ＣＳと前記定数ＣＭ及び前記定数ＣＬの値と定めることを特徴とする。
【００１３】
前記形式Ｓの符号は、０≦ＲＬ≦（Ｔ−１）なるＲＬ値に対応し、前記形式Ｍと前記形式Ｌの符号は対応するＲＬ数値を昇順に並べ、それぞれの形式の定数ＣＭ，ＣＬは直前のＲＬ値領域に対応する符号が対応したＲＬ値の最大値に「１」を加えると良い。
【００１４】
また、前記形式Ｓの符号は、１≦ＲＬ≦ＴなるＲＬ値に対応し、前記形式Ｍと前記形式Ｌの符号は、対応するＲＬ数値を昇順に並べ、それぞれの形式の定数ＣＭ，ＣＬは直前のＲＬ値領域に対応する符号が対応したＲＬ値の最大値に「１」を加えたものであり、前記ＲＬ値の「０」は、最大のＲＬ値を表現する符号において、ＲＬ値として存在しない数値Ｚとし、該数値Ｚは前記数値部に所定の定数Ｃを加える演算の結果が、桁あふれにより「０」なる結果を生じる数値で表現することが望ましい。
【００１５】
さらに、前記符号単位のビット幅である固定長Ｗは、２n（ｎは自然数）ビット、又は４ビットであることが望ましい。
【００１６】
この発明に係る圧縮装置は、画像データをランレングス符号化する圧縮装置であって、前記画像データを走査してＲＬ数値列を生成するＲＬ測定手段と、前記ＲＬ数値列を、第１の形式Ｓの符号と第２の形式Ｍの符号とに符号化する符号化手段とを有し、前記第１の形式Ｓの符号は、固定長Ｗを有し、その数値Ｅは所定の定数Ｔ未満であり、前記数値Ｅに所定の定数ＣＳを加えた値が前記ＲＬ値に対応し、前記第２の形式Ｍの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｊと、前記固定長Ｗ又はその倍数長の数値部Ｆとで構成され、かつ前記数値部Ｆの数値に所定の定数ＣＭを加えた値が前記ＲＬ値に対応し、「０」以上の有限の整数である前記ＲＬ値を符号化するとき、前記形式Ｓの符号と少なくとも１以上の前記形式Ｍの符号とについて、前記定数Ｔと前記ＲＬ値とを対応づける前記定数ＣＳと前記定数ＣＭとを定めることを特徴とする。
【００１７】
この発明に係る第２の圧縮装置は、画像データをランレングス符号化する圧縮装置であって、前記画像データを走査してＲＬ数値列を生成するＲＬ測定手段と、前記ＲＬ数値列を、第１の形式Ｓの符号と、第２の形式Ｍの符号及び第３の形式Ｌの符号に符号化する符号化手段とを有し、前記第１の形式Ｓの符号は、固定長Ｗを有し、その数値Ｅは所定の定数Ｔ未満であり、前記数値Ｅに所定の定数ＣＳを加えた値が前記ＲＬ値に対応し、前記第２の形式Ｍの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｊと、前記固定長Ｗ又はその倍数長の数値部Ｆとで構成され、かつ前記数値部Ｆの数値に所定の定数ＣＭを加えた値がＲＬ値に対応し、前記第３の形式Ｌの符号は、前記形式Ｓの定数Ｔ以上である数値の１つである開始記号Ｋと固定長Ｗ単位で可変数の数値部とで構成され、当該数値部の構成単位は数値断片と同形式情報が継続するか否かを示すフラグとで構成され、当該フラグにより停止されるまで後続の数値断片をつなぎ合わせた数値に固有の定数ＣＬを加えた値が前記ＲＬ値に対応し、「０」以上の有限の整数である前記ＲＬ値を符号化するとき、前記形式Ｓの符号と、「０」を含む、適宜数の形式Ｍの符号と、形式Ｌの符号について、前記定数Ｔと前記ＲＬ値とに対応づける前記定数ＣＳと前記定数ＣＭ及び前記定数ＣＬの値と定めることを特徴とする。
【００１８】
前記符号化手段で符号化する前記形式Ｓの符号は、０≦ＲＬ≦（Ｔ−１）なるＲＬ値に対応し、前記形式Ｍと前記形式Ｌの符号は対応するＲＬ数値を昇順に並べ、それぞれの形式の定数ＣＭ，ＣＬは直前のＲＬ値領域に対応する符号が対応したＲＬ値の最大値に「１」を加えたものである。
【００１９】
また、前記符号化手段で符号化する前記形式Ｓの符号は、１≦ＲＬ≦ＴなるＲＬ値に対応し、前記形式Ｍと前記形式Ｌの符号は、対応するＲＬ数値を昇順に並べ、それぞれの形式の定数ＣＭ，ＣＬは直前のＲＬ値領域に対応する符号が対応したＲＬ値の最大値に「１」を加えたものであり、前記ＲＬ値の「０」は、最大のＲＬ値を表現する符号において、ＲＬ値として存在しない数値Ｚとし、該数値Ｚは前記数値部に所定の定数Ｃを加える演算の結果が、桁あふれにより「０」なる結果を生じる数値で表現されるものである。
【００２０】
さらに、前記符号化手段で符号化する符号単位のビット幅である固定長Ｗは、２n（ｎは自然数）ビット、又は４ビットであることが望ましい。
【００２１】
【発明の実施の形態】
この発明の一次元圧縮装置は画像データをランレングス符号化するものであり、順次入力したＲＬ数値を、第１の形式Ｓの符号と第２の形式Ｍの符号で構成される符号群に符号化する。形式Ｓの符号は固定長Ｗを有し、その数値Ｅ（符号無し）は所定の定数Ｔ未満のものであり、且つ、数値Ｅに所定の定数ＣＳを加えた値がＲＬ値に対応し、ＲＬ＝Ｅ＋ＣＳである。数値Ｅの値は上記の定義より０≦Ｅ＜Ｔなる値を持ち、したがってＲＬ値は、ＣＳ≦ＲＬ＜Ｔ＋ＣＳとなるＴ個の値をとり得る。形式Ｍの符号は形式Ｓの定数Ｔ以上である数値の一個である開始記号Ｊと２n（ｎは整数）ビットの固定長Ｗまたはその倍数長（Ｗ×ｎ）の数値部Ｆとで構成され、且つ、数値部Ｆの数値に所定の定数ＣＭを加えた値がＲＬ値に対応し、ＲＬ＝Ｆ＋ＣＭである。数値部Ｆの値は上記の定義より０≦Ｆ＜２(W×n)となり、ＲＬ値はＣＭ≦ＲＬ＜｛２(W×n)＋ＣＭ｝となる２(W×n)個の値をとり得ることになる。この形式Ｍの符号は単数又は複数セット有する。
【００２２】
一般的にＲＬ値は、「０」以上の有限な値をとる整数であるので、形式Ｓ及び単数または複数の形式Ｍの各符号について、定数ＴとＲＬ値とを対応づける定数ＣＳ，ＣＭの各値とを適宜に定めることにより、容易に所望のＲＬ値範囲を包含する符号群を得ることができる。
【００２３】
そして入力したＲＬ数値を所定の符号に変換するとき、各符号の符号長は明らかに固定長Ｗまたはその整数倍となっている。すなわち最も短い符号語はＷビット幅である。Ｗビットの情報が表現できる数値は２W個であるが、この中に符号長を表現するためのエリアを設ける場合には、例えそれが１ビットであっても、それ以外の部分が表す数値は２(W-1)個と１／２になる。しかしながら形式Ｓの符号はＴ個の値を表現でき、定数Ｔの最大値は２Wより第２の形式Ｍの符号のセット数を減じた値とすることができる。したがって形式Ｍの符号のセット数を２(W-1)より小さな値となるようにすることで、最も短い符号である形式Ｓの符号は符号長エリアを設ける場合より大きな情報量に対応する数値を表現することができる。
【００２４】
【実施例】
図１はこの発明の一実施例の一次元圧縮装置の構成を示すブロック図である。図に示すように、一次元圧縮装置１は画像データをランレングス符号化するものであり、ランレングス（以下、ＲＬという）測定手段１１と符号化手段１２及び符号格納手段１３を有する。ＲＬ測定手段１１は画像データを一次元的に走査してＲＬ数値列を生成するとともに、符号化手段１２に起動（初期化）と停止（ＲＬ数値列出力完了）を通知する。符号化手段１２はＲＬ測定手段１１で生成したＲＬ数値を順次入力して所定の符号に変換する。符号格納手段１３は符号化手段１２で変換した符号データを記憶手段２等に適時格納する。このＲＬ測定手段１１と符号化手段１２及び符号格納手段１３はプロセッサの処理制御機能を用いるソフトウェアで構成しても良いし、一部又は全部をハードウェアで構成しても良い。また、ＲＬ測定手段１１と符号格納手段１３は、例えばＭＨ符号を用いる圧縮方式と同様もので良く、公知の技術で容易に実現できる。さらに、白または黒の色により異なる符号を生成する場合には、ＲＬ値とともに色の情報を入力するか、起動後最初に入力されるＲＬ値の色を固定して符号化手段１２で管理する等の手段が必要となるが、以下の実施例は色による符号の切り替えは行わないものを示す。
【００２５】
符号化手段１２は、ＲＬ測定手段１１から順次入力したＲＬ数値を、図２に示すように、形式Ｓの符号と形式Ｍの符号で構成される符号群に符号化する。形式Ｓの符号は、固定長Ｗを有し、その数値Ｅ（符号無し）は所定の定数Ｔ未満のものであり、且つ、数値Ｅに所定の定数ＣＳを加えた値がＲＬ値に対応し、ＲＬ＝Ｅ＋ＣＳである。数値Ｅの値は上記の定義より０≦Ｅ＜Ｔなる値を持ち、したがってＲＬ値は、ＣＳ≦ＲＬ＜Ｔ＋ＣＳとなるＴ個の値をとり得る。形式Ｍの符号は、形式Ｓの定数Ｔ以上である数値の一個である開始記号Ｊと２n（ｎは整数）ビットの固定長Ｗまたはその倍数長（Ｗ×ｎ）の数値部Ｆとで構成され、且つ、数値部Ｆの数値に所定の定数ＣＭを加えた値がＲＬ値に対応し、ＲＬ＝Ｆ＋ＣＭである。数値部Ｆの値は上記の定義より０≦Ｆ＜２(W×n)となり、ＲＬ値はＣＭ≦ＲＬ＜｛２(W×n)＋ＣＭ｝となる２(W×n)個の値をとり得ることになる。この形式Ｍの符号は単数又は複数セット有する。この形式Ｍの符号を複数セット設けるための必要条件は、固有の開始符号Ｊを割り当てるために、形式Ｓの定数Ｔ以上となる数値が少なくとも複数分存在するよう定義されていることのみであり、容易に複数セット設けることができる。
【００２６】
一般的にＲＬ値は、「０」以上の有限な値をとる整数であるので、形式Ｓ及び単数または複数の形式Ｍの各符号について、定数ＴとＲＬ値とを対応づける定数ＣＳ，ＣＭの各値とを適宜に定めることにより、容易に所望のＲＬ値範囲を包含する符号群を得ることができる。但し、定数ＣＳ，ＣＭの定義に際しては、各符号を対応する数値が重複しないように定めることが、情報のエントロピーを下げるという意味で好ましい。
【００２７】
上記のようにＲＬ測定手段１１から入力したＲＬ数値を所定の符号に変換するとき、各符号の符号長は明らかに固定長Ｗまたはその整数倍となっている。すなわち最も短い符号語はＷビット幅である。Ｗビットの情報が表現できる数値は、２W個であるが、この中に符号長を表現するためのエリアを設ける場合には、例えそれが１ビットであっても、それ以外の部分が表す数値は２(W-1)個と１／２になる。しかしながら形式Ｓの符号はＴ個の値を表現でき、前記の必要条件から定数Ｔの最大値は２Wより第２の形式Ｍの符号のセット数を減じた値とすることができる。したがって形式Ｍの符号のセット数を２(W-1)より小さな値となるようにすることで、最も短い符号である形式Ｓの符号は符号長エリアを設ける場合より大きな情報量に対応する数値を表現することができる。
【００２８】
上記説明においては、Ｗビット幅の数値Ｔ以上の値に割り振られる記号は形式Ｍの符号の開始記号Ｊであるもののみを説明したが、ＥＯＬといった特殊符号や別途の制御符号又は別途の符号の開始記号として割り当てるという改良も行うことができる。
【００２９】
上記実施例は、ＲＬ測定手段１１から順次入力したＲＬ数値を符号化手段１２で形式Ｓの符号と形式Ｍの符号で構成される符号群に符号化する場合について説明したが、形式Ｓの符号と形式Ｍの符号で構成される符号群に他の形式Ｌの符号を追加した実施例を説明する。形式Ｌの符号は図３に示すように、形式Ｓの定数Ｔ以上である数値の１個である開始記号Ｋと固定長Ｗ単位で可変数の数値部Ｆとで構成されている。数値部Ｆの構成単位は数値断片Ｆｉ（ｉ＝１〜ｎ）と、同形式情報が継続するか否かを示す１ビットのフラグＦｇとで構成され、フラグＦｇにより停止されるまで後続の数値断片をつなぎ合わせた数値に固有の定数ＣＬを加えた値がＲＬ値に対応する。すなわち、ＲＬ＝｛Ｆｎ，・・・Ｆ1｝＋ＣＬである。この式により表現される数値はＣＬ以上の任意の整数となるので、ＣＬ≦ＲＬである任意のＲＬ値に対応することができる。
【００３０】
一般的にＲＬ値は「０」以上の有限な値をとる整数であるので、上記形式Ｓの符号と無し（０個）を含む適宜数の形式Ｍの符号及び形式Ｌの符号の各符号について、定数ＴとＲＬ値とを対応づける定数Ｃ（ＣＳ，ＣＭ，ＣＬ）の値を適宜に定めることにより、所望のＲＬ値範囲を包含する符号群を容易に得ることができる。但し、定数Ｃ（ＣＳ，ＣＭ，ＣＬ）の定義に際しては、各符号を対応する数値が重複しないように定めることが、情報のエントロピーを下げるという意味で好ましい。
【００３１】
上記のような符号群において、各符号の符号長は明らかにＷまたはその倍数となっている。また、形式Ｌの符号が対応するＲＬ値の最大値に制限が無いため、非常に大容量のデータを符号化の対象とする場合、すなわちＲＬ値の最大値が大きく、且つ符号の単位長であるＷに小さな値を用いる場合にも、形式Ｍの符号を多数備える必要が無く、符号の種類により上限値が制限される定数Ｔの値を大きくすることができるので、最も短い符号である形式Ｓの符号は符号長エリアを設ける場合より大きな情報量に対応する符号を得ることができる。
【００３２】
上記説明においては、Ｗビット幅の数値のＴ以上の値に割り振られる記号は形式Ｌの開始記号Ｋと形式Ｍの符号の開始記号Ｊであるもののみを説明したが、例えば、ＥＯＬといった特殊符号や別途の制御符号又は別途の符号の開始記号として割り当てるという改良も行うことができる。
【００３３】
この形式Ｓの符号と複数の形式Ｍの符号と形式Ｌの符号の符号群に符号化する場合を図４を参照して説明する。図４は形式Ｓの符号４０と形式Ｍの符号４１，４２，４３と形式Ｌの符号４４の符号群に符号化する場合を示す。図４において、形式Ｓの符号４０は定数Ｃ1＝０、すなわち形式Ｓの符号４０は、０≦ＲＬ≦（Ｔ−１）なるＲＬ値に対応するものであり、形式Ｍの符号４１の定数Ｃ2は定数Ｔすなわち形式Ｓの符号４０が対応するＲＬ値の最大値に「１」を加えたものであり、形式Ｍの符号４２，４３と形式Ｌの符号４４は対応するＲＬ数値の昇順に並べて、それぞれの定数Ｃ3，Ｃ4，Ｃ5は直前のＲＬ値領域に対応する符号に対応するＲＬ値の最大値に「１」を加えたものである。
【００３４】
このようにして各符号４０〜４４が対応するＲＬ数値に重複が無く、且つ、より小さなＲＬ値に対してより短い符号を割り当てることができる。例えば各符号４０〜４４の固定長Ｗを２n（ｎは自然数）ビット、好ましくは４ビットとし、最も短い４ビットの第１の符号４０には、Ｔ＝１２すなわち、０≦ＲＬ≦１１というＲＬ値域が対応し、形式Ｍの符号４１〜４３の開始記号Ｊ1〜Ｊ3と形式Ｌの符号４４の開始記号Ｋには「１２」〜「１５」の値が割り当てられ、形式Ｍの第２の符号４１にはＣ2＝１２で、１２≦ＲＬ≦２７というＲＬ値域が対応し、第３の符号４２にはＣ3＝２８で、２８≦ＲＬ≦４３というＲＬ値域が対応し、第４の符号４４にはＣ4＝４４で、４４≦ＲＬ≦５９というＲＬ値域が対応して、次に短い８ビットの形式Ｍの符号４１〜４３には「１２」〜「５９」という値域が割り当てられる。形式Ｌの第５の符号４４は、第１の符号長を単位とする可変長の符号であり、Ｃ5＝６０で、６０≦ＲＬのＲＬ値域に対応する。このようにして各符号４０〜４４が対応するＲＬ数値に重複が無く、且つ、より小さなＲＬ値に対してより短い符号を割り当てることができる。
【００３５】
この図４に示す符号形式は、レーザプリンタで実際に印刷に供される多様な画像データに対する評価を通して６００ｄｐｉなる解像度に対して高い解像度が得られるよう定めたものであり、ファクシミリに用いられるＣＣＩＴＴ勧告のＧ３符号である可変長形式のＭＨ符号より平均約３パーセント低いだけという圧縮率を観測することができた。また、より高い解像度あるいは相対的に小さなＲＬ値の発生頻度が低い画像データを主な対象とする場合には、定数Ｔの値を「１」又は「２」程度減らして、Ｆが４ビット幅の形式Ｍの符号数を１又は２個追加した符号形式を用いることにより、より高い圧縮率が得られる場合が多い。
【００３６】
図５は形式Ｓの符号の定数Ｃ1＝１とした符号形式を示す。この定数Ｃ1＝１とした形式Ｓの符号５０は、０≦ＲＬ≦ＴなるＲＬ値に対応するものであり、形式Ｍの符号５１の固有の定数Ｃ2は（Ｔ＋１）、すなわち、形式Ｓの符号５０が対応するＲＬ値の最大値に「１」を加えたものであり、形式Ｍの符号５２，５３と形式Ｌの符号５４は対応するＲＬ数値の昇順に並べて、それぞれ固有の定数Ｃ3，Ｃ4，Ｃ5は、直前のＲＬ値領域に対応する符号に対応するＲＬ値の最大値に「１」を加えたものである。また、ＲＬ値の「０」は、これらの符号群で最大のＲＬ値（有限値）を表現する符号においてＲＬ値として存在しない数値Ｚとして、好ましくは、数値Ｚは物理的に有限な加算器を用いて行う数値部に所定の定数Ｃを加える演算の結果が桁あふれにより「０」なる結果を生じる数値で表現される。
【００３７】
この符号群で符号化することにより各符号５０〜５４が対応するＲＬ数値に重複が無く、且つ、ＲＬ値の「０」なる値を例外として、より小さなＲＬ値に対してより短い符号が割り当てることができる。例えば各符号５０〜５４の固定長Ｗを４ビットとし、最も短い４ビットの形式Ｓの第１の符号５０には、Ｔ＝１２、Ｃ1＝１，すなわち、１≦ＲＬ≦１２というＲＬ値域が対応し、形式Ｍの符号５１〜５３の開始記号Ｊ1〜Ｊ3と形式Ｌの符号５４の開始記号Ｋには「１２」〜「１５」の値が割り当てられ、形式Ｍの第２の符号５１にはＣ2＝１３で、１３≦ＲＬ≦２８というＲＬ値域が対応し、第３の符号５２にはＣ3＝２９で、２９≦ＲＬ≦４４というＲＬ値域が対応し、第４の符号５３にはＣ4＝４５で、４５≦ＲＬ≦６０というＲＬ値域が対応して、次に短い８ビットの形式Ｍの符号５１〜５３に「１３」〜「６０」という値域が割り当てられる。形式Ｌの第５の符号４４は、第１の符号長を単位とする可変長の符号であり、Ｃ5＝６１で、６１≦ＲＬとＲＬ＝０のＲＬ値域に対応することができる。
【００３８】
この図５に示した符号形式による符号化では、あるＲＬ値の入力を１個の符号として出力するので、ＲＬ値が有効な値として「０」となるのは、ＲＬ測定手段１１が最初にランを数える色と反対の色で始まる場合、すなわち、通常のように白から測定を始めたときに、画像データが黒から始まっている場合のみである。したがって、この値に対応する符号を最も長い符号に割り当てて相対的に他の符号が対応する値域を上げることで圧縮率の改善を図ることができる。
【００３９】
一方、ＲＬ値の「０」なる値に対応する値を表す符号として、物理的に有限な加算器を用いて行う数値部に所定の定数Ｃを加える演算の結果が桁あふれにより「０」なる結果を生じる数値を符号化したもので表現されるものであれば、ＲＬ値と符号とを対応づける式は同一のものとなる。但し、この特徴を利用するためには、復号化手段で用いられる加算器が所望の結果を生じるものであるという条件が必要となり、処理の一部をハードウェアで行う場合には注意が必要である。
【００４０】
この図５に示した符号形式もレーザプリンタで実際に印刷に供される多様な画像データに対する評価を通して６００ｄｐｉなる解像度に対して高い解像度が得られるよう定めたものであり、可変長形式のＭＨ符号より平均約２パーセント低いだけという圧縮率を観測することができた。
【００４１】
また、図４，図５に示した符号形式で行う符号化をすべてソフトウェアで処理し、中高速のレーザプリンタの省メモリー機構として実施する場合には、印刷時の復号化を支援するハードウェア装置を設けることが好ましい場合がある。これは、印刷動作に追従して伸張を行うソフトウェアの処理能力を次頁の画像データの生成に振り向けることでプリンタの持つ印刷速度で連続印刷することが容易になるためである。通常のプロセッサにはバレルシフタに相当する処理命令が備わっているので、形式Ｓと形式Ｍ及び形式Ｌの符号による符号化方法のように、ある固定長単位の符号を生成することによるメリットは符号化の段階であれ復号化の段階であれ、あまり大きいものではなく、また、その長さが２n（ｎは自然数）ビットであるか否かといった差異は殆ど生じない。一方、ハードウェアによる伸張器について考察するならば、符号が記憶されている記憶装置からの入力は、８ビット、１６ビット、３２ビット又は６４ビットといった２nビットの単位で行われることが普通であるので、符号の基本単位長を２nビットとすると、バレルシフタといった複雑な機構を設ける必要が無くなる。例えば固定長Ｗを４ビットとし、図６に示すように、３２ビット幅の入力バッファに格納された８個の符号要素の任意の一個を復号化処理のためバッファに格納するための経路を設けるには、８対１のデータセレクタを４個設ければよいという簡素なものとなる。そこで図４、図５に示す各符号４０〜４４，５０〜５４の固定長Ｗを２nビット、好ましくは４ビットとしたのである。
【００４２】
次に図４又は図５に示した符号形式により、ある１個のＲＬ入力値を符号に変換して出力する処理を図７のフローチャートを参照して説明する。図７において、両横二重線の長方形で示す処理は定義済み処理を示し、ＲＬ測定手段１１からのＲＬ値入力又は符号格納手段１３に対する符号出力の処理であることを示す。また、各記号の意味は次の通りである。ＲＬはＲＬ測定手段１１より入力されるＲＬ値又はそれを保持する一次記憶を示す。Ｅ，Ｆ，Ｊ1〜Ｊ3及びＫは図４又は図５に示された４ビット長の符号または符号単位の出力又はそれを保持する一時記憶であり、説明のため異なる記号を用いているが、符号格納手段１３に対する出力という意味では共通のものである。Ｃ1〜Ｃ5は図４又は図５に示された各符号の定数を示し、Ｚは図５に示す符号形式でＲＬ値が「０」である値を表すためのＲＬ値の定数、ＧはＲＬ値を形式Ｌの符号に変換するときに、ＲＬ値を３ビットづつの数値断片として分解するために局所的に用いる一時記憶を示す。
【００４３】
ＲＬ測定手段１１から符号化手段１２にある１個のＲＬ値が入力されると（ステップＳ１）、図５に示す符号形式で符号化する場合は、まず、ＲＬ値が「０」であるか否を調べ（ステップＳ２）、ＲＬ値が「０」である場合には、ＲＬ値を定数値Ｚの値に変更してから符号化処理に入る（ステップＳ３）。また、図４に示す符号形式で符号化する場合は、ＲＬ値が入力されると（ステップＳ１）、直ちに符号化処理に入る。
【００４４】
符号化処理にはいると、まずＲＬ値が定数Ｃ2未満であるか否を判断し（ステップＳ４）、ＲＬ値が定数Ｃ2未満である場合には（ＲＬ−Ｃ1）の下位４ビットを符号として出力する処理を行い符号化して形式Ｓの符号を生成して終了する（ステップＳ５）。ＲＬ値が定数Ｃ2以上である場合には、引き続いてＲＬ値が定数Ｃ3未満であるか否を判断し（ステップＳ６）、ＲＬ値が定数Ｃ3未満である場合には、定数Ｊ1を開始記号として出力する処理と、（ＲＬ−Ｃ2）の下位４ビットとを数値部として出力する処理とを行い処理を終了する（ステップＳ７，Ｓ８）。ＲＬ値が定数Ｃ3以上である場合には、引き続いてＲＬ値が定数Ｃ4未満であるか否を判断し（ステップＳ９）、ＲＬ値が定数Ｃ4未満である場合には、定数Ｊ2を開始記号として出力する処理と、（ＲＬ−Ｃ3）の下位４ビットとを数値部として出力する処理とを行い処理を終了する（ステップＳ１０，Ｓ１１）。ＲＬ値が定数Ｃ4以上である場合には、引き続いてＲＬ値が定数Ｃ5未満であるか否を判断し（ステップＳ１２）、ＲＬ値が定数Ｃ5未満である場合には、定数Ｊ3を開始記号として出力する処理と、（ＲＬ−Ｃ43）の下位４ビットとを数値部として出力する処理とを行い処理を終了する（ステップＳ１３，Ｓ１４）。このステップ６からステップ１４の処理により、各々のＲＬ値の値域に応じた形式Ｍの符号が生成される。
【００４５】
ＲＬ値が定数Ｃ5以上である場合には、定数Ｋを開始記号として出力する処理と（ＲＬ−Ｃ5）なる数値を数値Ｇとする処理とを行う（ステップＳ１５，Ｓ１６）。次に、その時点の数値Ｇの値と「８」とを比較し（ステップＳ１７）、数値Ｇが「８」以上であれば、数値Ｇの下位３ビットの上位に「０」を補い４ビットの情報Ｆとして抽出し符号の数値部の１個として出力する処理と、数値Ｇを３ビット右にシフトする処理とをＧが「８」未満となるまで繰り返し（ステップＳ１８，Ｓ１９，Ｓ１７）、Ｇの値が「８」未満となった時点で数値Ｇの下位３ビットに所定の停止フラグを付加した値を符号として出力する処理を行い処理を終了する（ステップＳ２０）。
【００４６】
この処理において、数値Ｇの値が「８」以上であることは、以降に続く数値Ｇの下位３ビットを４ビットの情報Ｆとして抽出し符号の数値部の１個として出力する処理と、数値Ｇを３ビット右にシフトする処理とを行った後でもＧの値が「０」とならないことを示し、３ビットを４ビットに拡張する際に補われた１ビットの「０」は、数値部の情報が継続することを示すグラフとして用いられるものである。数値Ｇの下位３ビットを上位に１ビット「０」を補って４ビットの情報として抽出する処理は、数値Ｇと２進数表現の０１１１である数値「７」との各ビットの論理積演算を行うことで容易に達成される。逆に数値Ｇが「８」未満であることは、数値Ｇを３ビット分右にシフトすると「０」になることを示し、以降は数値Ｇの下位３ビットに所定の停止フラグを付加した値を符号の数値部の最後の１個として出力する処理が行われる。この所定の停止グラフとは４ビットの符号単位の最初のビットに前記と逆の「１」である１ビットを３ビットの数値断片に付加するものである。一方、この段階では数値Ｇの値が「８」未満となっているので、ステップ２０の処理に示すように数値Ｇと２進数表現１０００の数値「８」との各ビットの論理和演算を行うことで容易に目的の符号単位を得ることができる。以上の処理により形式Ｌの符号が生成される。
【００４７】
上記処理は、入力されたある１個のＲＬ値を符号化することについて説明したが、順次入力されるＲＬ数値列に対して個々のＲＬ値に対して同様の処理を行うことにより所望の符号列を生成することができる。
【００４８】
また、個々のＲＬ値の符号化処理に着目するならば、以上の説明から明らかなように、より小さいＲＬ値を符号に変換する一連の処理は、より大きなＲＬ値を符号に変換する一連の処理より少ない処理数で構成されていることがわかる。特に、形式Ｌの符号を生成する一連の処理（ステップＳ１５〜Ｓ２０）でも、処理の内容が下位３ビットを数値断片として抽出する、すなわち、数値の下位側から符号化するものであることから、前記の特徴が達成されていることが容易に理解できる。
【００４９】
上記のようにして一次元圧縮装置１で符号化し記憶手段２等に格納した符号データを復号化する一次元伸張装置について説明する。一次元伸張装置３は、図８に示すように、符号読出手段３１と復号化手段３２と描画手段３３を有する。符号読出手段３１は記憶手段２等に格納された符号列データを順次読み出す。復号化手段３２は符号読出手段３１で読み出した符号データを入力し、順次ＲＬ値に復号化して画像データに変換する。描画手段３３は復号化手段３２で変換した画像データを出力する。また、符号読出手段３１は復号化手段３２に起動（初期化）を通知するとともに、符号読出手段３１と描画手段３３の何れかが処理の完了を検出して複号化手段３２に対して処理の終了を通知する。この符号読出手段３１と復号化手段３２と描画手段３３もプロセッサの処理制御機能を用いるソフトウェアで構成しても良いし、一部又は全部をハードウェアで構成しても良い。また符号読出手段３１と描画手段３３は、例えばＭＨ符号を用いる圧縮方式と同様のもので良く、公知の技術で容易に実現できる。
【００５０】
上記のように構成された一次元伸張装置３で、ある１個の符号単位をＲＬ値に復元して出力する処理を図９のフローチャートを参照して説明する。図８において、両横二重線の長方形で示す処理は定義済み処理を示し、符号読出手段３１から復号化手段３２に入力する４ビット単位の符号入力又は復号化手段３２から描画手段３３に対するＲＬ値出力の処理を示す。記号Ｘは符号読出手段３１より入力される４ビットの符号単位を格納するための一次記憶を示し、ＲＬは復元したＲＬ値を格納し出力するための一時記憶を示す。Ｊ1〜Ｊ3は形式Ｍの符号の開始記号（定数）、Ｃ1〜Ｃ5はは図４，図５の各符号の定数、ｕは複数設けた形式Ｍの符号の各々の値域に応じた定数を格納するための一時記憶、ｈは形式Ｌの符号の数値断片の連接を行う際のビット位置（左シフト量）を格納するための一時記憶を示す。
【００５１】
符号読出手段３１から復号化手段３２にある１個の符号単位が入力すると（ステップＳ３１）、復号化手段３２は符号単位を入力した一時記憶Ｘの数値が定数Ｃ2未満であるか否を判断し（ステップＳ３２）、一時記憶Ｘの数値が定数Ｃ2未満である場合には、一時記憶Ｘの数値に定数Ｃ1を加えた値をＲＬ値として出力する処理を行い処理を終了する（ステップＳ３３）。図４に示した符号形式の場合、定数Ｃ1＝０であるので、この場合には一時記憶Ｘの数値をＲＬ値として出力する処理を行う。なお、ＲＬ値はある所定のビット幅を有するものであり、一時記憶Ｘの数値は４ビットの数値であるので、Ｘの上位に「０」が補われる符号無し拡張が行われる。
【００５２】
一時記憶Ｘの数値が定数Ｃ2以上であるときは、一時記憶Ｘの数値が所定の定数である開始記号Ｊ1と一致かどうかを判断し（ステップＳ３４）、一時記憶Ｘの数値が開始記号Ｊ1と一致しているときは、一時記憶ｕに定数Ｃ2の値を代入する（ステップＳ３５）。一時記憶Ｘの数値が開始記号Ｊ1と一致していないときは、一時記憶Ｘの数値が開始記号Ｊ2と一致かどうかを判断し（ステップＳ３６）、一時記憶Ｘの数値が開始記号Ｊ2と一致しているときは、一時記憶ｕに定数Ｃ3の値を代入する（ステップＳ３７）。一時記憶Ｘの数値が開始記号Ｊ2と一致していないときは、一時記憶Ｘの数値が開始記号Ｊ3と一致かどうかを判断し（ステップＳ３８）、一時記憶Ｘの数値が開始記号Ｊ3と一致しているときは、一時記憶ｕに定数Ｃ4の値を代入する（ステップＳ３９）。次に一時記憶Ｘに新たな符号単位の数値を入力し、一時記憶Ｘの新たな符号単位の数値と一時記憶ｕに格納された値との加算値をＲＬ値として出力する処理をして処理を終了する（ステップＳ４０，Ｓ４１）。このようにして各々のＲＬ値の値域に応じた形式Ｍの符号を復号することができる。この場合もＲＬ値はある所定のビット幅を有するものであり、一時記憶Ｘの数値Ｘは４ビットの数値であるので、計算及び代入に際しては一時記憶Ｘの上位に「０」が補われる符号無し拡張が行われる。
【００５３】
また、一時記憶Ｘの数値が定数Ｃ2以上であり、Ｊ1、Ｊ2、Ｊ3のいずれにも一致しない場合には、まず、ＲＬとｈとを「０」なる値に初期化する処理を行い（ステップＳ４２）、次に一時記憶Ｘに新たな符号単位を入力する処理と、ＲＬをＲＬ値とこの符号単位の下位３ビットすなわち数値「７」とのビット毎の論理積をｈ分右にシフトした値とのビット毎の論理和演算の結果値で更新する処理とを行い（ステップＳ４３，Ｓ４４）、一時記憶Ｘの数値が「８」未満の数値である継続フラグの場合には、ｈを「ｈ＋３」なる値で更新する処理を行った後（ステップＳ４５，Ｓ４６）、上記新たな符号単位を入力する処理以降の各処理を繰り返し、一時記憶Ｘの数値が「８」以上の数値である最終フラグの場合には（ステップＳ４５）、その時点でのＲＬの値に定数Ｃ5の値を加えた値をＲＬ値として出力する処理を行って処理を終了する（ステップＳ４７）。この処理により形式Ｌの符号が復号される。
【００５４】
なお、ＲＬ値の「０」が数値Ｚに変換されて形式Ｌの符号として符号化されているときに、この符号を復号する場合には、ステップＳ４７の（ＲＬ＋Ｃ5）の演算結果が桁あふれにより「０」なる結果を生じて復号化が行われる。例えば、３２ビット幅の演算器を用いて処理が行われる場合には、「０」なる数値を変換するＺは「−Ｃ5」で、図５の符号形式では「−６１」、１６進数表記では「ＦＦＦＦＦＦＣ３」である。この数値が符号化そして復元された時点で「Ｃ5」、図５の符号形式では「６１」を加算することで「０」なる結果が導かれる。このようにして「０」なる数値を数値Ｚとして識別可能であるが、このような数値を使用しない場合には、上記（ＲＬ＋Ｃ5）の処理時点で「０」なるＲＬ値を出力すれば良い。
【００５５】
上記実施例は、入力されたある１個の符号をＲＬ値に復号化する場合について説明したが、順次入力される符号列に対して個々の符号単位に対して同様の処理を行うことで所望のＲＬ値列を復元することができる。
【００５６】
また、上記各実施例は２値画像データの圧縮伸張について説明したが、基本的に「０」以上の整数である数値を符号化あるいは復号化するものであるので、例えば、多値データの連続数を表現する符号化方式等に応用するもできる。
【００５７】
【発明の効果】
この発明は以上説明したように、個々の符号を固定長Ｗまたはその倍数長である複数形式により構成し、ビット幅Ｗの最も短い形式Ｓの符号は２(W-1)より大きな値とすることができるＴ個の値を表現することができるから、符号長エリアを設けるような場合より圧縮率の優れた符号化を実現することができる。
【００５８】
また、さらに大きなＲＬ値に対して１個の符号形式で対応できる形式Ｌの符号を設けることにより、形式Ｍの符号を多数設ける必要がなく、その結果、定数Ｔの値を大きく設定でき、特に圧縮対象とする元データが比較的大きな容量である場合にも、符号長エリアを設けるような場合より圧縮率の優れた符号化を実現することができる。
【００５９】
また、形式Ｓに固有の定数ＣＳ＝０で、形式Ｓの符号は０≦ＲＬ≦（Ｔ−１）なるＲＬ値に対応し、形式Ｍと形式Ｌの符号は対応するＲＬ数値の昇順に並べて、形式Ｍと形式Ｌの固有の定数ＣＭ，ＣＬは直前のＲＬ値の最大値に「１」を加えることにより、より小さなＲＬ値がより短い符号に符号化され、且つ、各符号が対応するＲＬ値には重視が無いので、一般的な画像データ等に対して圧縮率の優れた符号化を実現することができる。
【００６０】
さらに、発生頻度が極端に低いＲＬ値の「０」を最大長の符号に対応づけることにより、相対的に短い符号が対応するＲＬ値の値域が上昇しているので、一般的な画像データ等に対して、より圧縮率の優れた符号化を実現できる。
【００６１】
また、符号長を２ｎビットまたはその倍数長とすることにより、圧縮器や伸長器等のハードウェアを簡素に構成することができる。
【図面の簡単な説明】
【図１】この発明の実施例の一次元圧縮装置の構成を示すブロック図である。
【図２】形式Ｓの符号と形式Ｍの符号の構成図である。
【図３】形式Ｌの符号の構成図である。
【図４】形式Ｓの符号と３個の形式Ｍの符号と形式Ｌの符号の構成図である。
【図５】形式Ｓの符号と３個の形式Ｍの符号と形式Ｌの符号の他の構成図である。
【図６】入力バッファと復号化バッファの構成を示す説明図である。
【図７】符号化処理を示すフローチャートである。
【図８】一次元伸張装置の構成図である。
【図９】復号化処理を示すフローチャートである。
【符号の説明】
１      一次元圧縮装置
２      記憶手段
３      一次元伸張装置
１１    ＲＬ測定手段
１２    符号化手段
１３    符号格納手段
３１    符号読出手段
３２    復号化手段
３３    描画手段
【図１】
0003676078.tif 000002
【図２】
0003676078.tif 000003
【図３】
0003676078.tif 000004
【図４】
0003676078.tif 000005
【図５】
0003676078.tif 000006
【図６】
0003676078.tif 000007
【図７】
0003676078.tif 000008
【図８】
0003676078.tif 000009
【図９】
0003676078.tif 000010