(57)【特許請求の範囲】
【請求項１】
画素濃度を示す画素濃度データと、同一濃度の画素の連続回数を示す回数データと、を用いて、一次元ラスタ画像が圧縮される画像圧縮装置であって、
前記画素濃度データが保持される画素濃度データ保持回路と、
前記回数データが保持される回数データ保持回路と、
前記画素濃度データ保持回路に保持された前記画素濃度データが符号化される第１の符号化回路と、
前記回数データ保持回路に保持された前記回数データが符号化される第２の符号化回路と、
前記符号化された画素濃度データと前記符号化された回数データとに基づき、前記一次元ラスタ画像の圧縮データが生成される出力回路と、
前記同一濃度の画素が連続しない場合に、前記符号化された画素濃度データに、前記圧縮データのビット数が前記出力回路の出力バス幅以下となるように予め定められた符号化された回数データが組み合わされるデータ組合回路と、を備える
ことを特徴とする画像圧縮装置。
【請求項２】
請求項１に記載の画像圧縮装置であって、
前記同一濃度の画素の連続回数が１であることを示す符号化された回数データは、そのビット数が、前記出力回路の出力バス幅から前記符号化された画素濃度データのビット数の最大値を引いて求まるビット数以下となるように定められている
ことを特徴とする画像圧縮装置。
【請求項３】
画素濃度を示す画素濃度データと、同一濃度の画素の連続回数を示す回数データと、を用いて、一次元ラスタ画像を圧縮する画像圧縮装置であって、
前記画素濃度データを書き込み保持する画素濃度データ保持回路と、
前記回数データを書き込み保持する回数データ保持回路と、
前記画素濃度データを符号化する第１の符号化回路と、
前記回数データを符号化する第２の符号化回路と、
前記第１の符号化回路から出力された符号化された画素濃度データに、連続回数が１であることを示す符号化された回数データを組み合わせるデータ組合回路と、
前記第１の符号化回路、前記第２の符号化回路、及び前記データ組合回路から出力されるデータを入力し、選択して出力する選択回路と、
前記画素濃度データ保持回路、前記回数データ保持回路、及び前記データ選択回路を制御する制御回路と、
前記選択回路から出力されたデータを出力する所定の出力バス幅を備えた出力回路と、
を備え、
前記連続回数が１であることを示す符号化された回数データは、
そのビット数が、前記出力回路の出力バス幅から前記符号化された画素濃度データのビット数の最大値を引いて求まるビット数以下となるように定められており、
前記制御回路は、
前記画素濃度データ保持回路に前記画素濃度データが保持された場合、当該画素濃度データ保持回路に対して、当該画素濃度データを前記第１の符号化回路に出力するように制御し、
前記回数データ保持回路に前記回数データが保持された場合、当該回数データ保持回路に対して、当該回数データを前記第２の符号化回路に出力するように制御し、
前記回数データ保持回路の回数データが１以外を示す場合、前記選択回路に対して、前記第１の符号化回路から出力される符号化された画素濃度データ、及び前記第２の符号化回路から出力される符号化された回数データのうち入力されたデータを、前記出力回路に出力するように制御し、
前記回数データ保持回路の回数データが１を示す場合、前記選択回路に対して、前記データ組合回路から出力されたデータを前記出力回路に出力するように制御する、
ことを特徴とする画像圧縮装置。
【請求項４】
請求項１〜３のいずれか一項に記載の画像圧縮装置であって、
所定の周期で前記画素濃度データを入力し順に出力する第１のフリップフロップ回路と、
前記所定の周期で前記第１のフリップフロップ回路から出力された画素濃度データを入力し順に出力する第２のフリップフロップ回路と、
前記所定の周期で前記第２のフリップフロップ回路から出力された画素濃度データを入力し順に出力する第３のフリップフロップ回路と、
前記第１のフリップフロップ回路から出力された画素濃度データと、前記第２のフリップフロップ回路から出力された画素濃度データと、を比較し、等しくない場合に、回数データ書き込み信号を出力する第１の比較回路と、
前記第２のフリップフロップ回路から出力される画素濃度データと、前記第３のフリップフロップ回路の出力する画素濃度データと、を比較し、等しくない場合に、画素濃度データ書き込み信号を出力する第２の比較回路と、
前記所定の周期でカウント値を増加させるとともに、前記回数データ書込み信号が出力された場合に、前記カウンタ値をリセットするカウンタ回路と、を備え、
前記画素濃度データ保持回路は、
ＦＩＦＯ回路で構成され、
前記画素濃度データ書込み信号が出力された場合に、前記第２のフリップフロップ回路から出力された画素濃度データを書き込み保持し、
前記回数データ保持回路は、
ＦＩＦＯ回路で構成され、
前記回数データ書込み信号が出力された場合に、前記カウンタ回路から出力されたカウンタ値を回数データとして書き込み保持する、
ことを特徴とする画像圧縮装置。
【請求項５】
請求項１〜４のいずれか一項に記載の画像圧縮装置を備えたプリンタ。
【請求項６】
請求項１〜５のいずれか一項に記載の画像圧縮装置を備え、かつ、
プリンタ機能、スキャナ機能、コピー機能、及びファクシミリ機能のうち少なくとも２つの機能を備えた複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮装置、プリンタ、及び複合機に関する。
【背景技術】
【０００２】
プリンタなどにおいて、データを圧縮する技術として、ランレングス圧縮方式やハフマン符号化方式が知られている。ランレングス圧縮方式では、元のデータを、データ値と、連続する回数（長さ）との情報に変換し、データ量を削減する。また、ハフマン符号化方式は、データ値の出現確立に応じて符号の長さを変えて、平均符号長を短くする方式である。具体的には、出現確立が高いデータ値に対して短い符号を、出現確立が低いデータ値に対して長い符号を割り当てることで、全体の圧縮コード量を削減する。
【０００３】
例えば、一次元ラスタ画像が「ＡＡＡＢＢＢＢＣＣＤＤ・・・」である場合、「Ａ」が３回、「Ｂ」が４回、「Ｃ」が２回、「Ｄ」が２回・・・と数え、
「画素濃度Ａに相当するコード」＋「回数３に相当するコード」、
「画素濃度Ｂに相当するコード」＋「回数４に相当するコード」、
「画素濃度Ｃに相当するコード」＋「回数２に相当するコード」、
「画素濃度Ｄに相当するコード」＋「回数２に相当するコード」、・・・
と符号化した後、ビット結合シフトレジスタによりビット単位で結合することで、圧縮データを得ることができる。
【０００４】
画像圧縮装置では、画素濃度を示すデータ（画素濃度データ）と、回数を示すデータ（回数データ）とを、それぞれ別個のＦＩＦＯ回路に書き込み保持する。そして、それぞれのＦＩＦＯ回路にデータが保持されると、コード化要求を送り、データを読み出し、コード化し、出力する。ここで、画素濃度データの読み出しと、回数データの読み出しは、２つのクロックに分けて読み出される。
【０００５】
【特許文献１】特開平８−１９５６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の方法では、ラスタ画像に「ＡＡＡＢＢＢＢＣＤＤＥ」の「Ｃ」ように、連続しない画素濃度が現れた場合に問題が生じる。
【０００７】
具体的には、上述のように、ＦＩＦＯ回路からの画素濃度データの読み出しと、回数データの読み出しとは、同時に実行されないため、回数が「１」の場合、ＦＩＦＯ回路からデータが読み出される前に、次のデータが入力されることになり、データが溢れてしまう。そのため、制御回路は、データ供給部にデータの供給を禁止することとなり、その結果、処理パフォーマンスが低下する。
【０００８】
また、ハフマン符号化によると、８ビットのデータの符号化後のビット数は、最大１３ビットとなる。したがって、画素濃度データのコードと、回数データのコードとを結合すると、最大２６ビットのコードが生成される可能性がある。一方、ビット結合シフトレジスタに入力可能なビット数は、出力バス幅と同じであり、例えば、１６ビットである。ビット結合シフトレジスタは、出力バス幅を超えるビット数のコードを処理することができないため、１６ビットを超えるデータは溢れてしまう。解決策として、出力バス幅を広げる方法も考えられるが、適用可能なシステムが限定されてしまう。
【０００９】
そこで、本発明の目的は、ランレングス圧縮方式を用いるデータ圧縮において、処理パフォーマンスを低下させず、かつ汎用性のある技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、本願発明の第１の態様は、画素濃度を示す画素濃度データと、同一濃度の画素の連続回数を示す回数データと、を用いて、一次元ラスタ画像が圧縮される画像圧縮装置であって、前記画素濃度データが保持される画素濃度データ保持回路と、前記回数データが保持される回数データ保持回路と、前記画素濃度データ保持回路に保持された前記画素濃度データが符号化される第１の符号化回路と、前記回数データ保持回路に保持された前記回数データが符号化される第２の符号化回路と、前記符号化された画素濃度データと前記符号化された回数データとに基づき、前記一次元ラスタ画像の圧縮データが生成される出力回路と、前記同一濃度の画素が連続しない場合に、前記符号化された画素濃度データに、前記圧縮データのビット数が前記出力回路の出力バス幅以下となるように予め定められた符号化された回数データが組み合わされるデータ組合回路と、を備える。
【００１１】
また、本発明の第２の態様は、画素濃度を示す画素濃度データと、同一濃度の画素の連続回数を示す回数データと、を用いて、一次元ラスタ画像を圧縮する画像圧縮装置であって、前記画素濃度データを書き込み保持する画素濃度データ保持回路と、前記回数データを書き込み保持する回数データ保持回路と、前記画素濃度データ保持回路に前記画素濃度データが保持された場合に、当該画素濃度データを読み込んで符号化し、符号化された画素濃度データを出力する第１の符号化回路と、前記回数データ保持回路に前記回数データが保持された場合に、当該回数データを読み込んで符号化し、符号化された回数データを出力する第２の符号化回路と、前記符号化された画素濃度データと、前記符号化された回数データと、を結合して、前記一次元ラスタ画像の圧縮データを生成し出力する出力回路と、を備える。そして、同一濃度の画素の連続回数が１であることを示す符号化された回数データは、そのビット数が、前記出力回路の出力バス幅から前記符号化された画素濃度データのビット数の最大値を引いて求まるビット数以下となるように定められている。
【００１２】
また、本発明の第３の態様は、画素濃度を示す画素濃度データと、同一濃度の画素の連続回数を示す回数データと、を用いて、一次元ラスタ画像を圧縮する画像圧縮装置であって、前記画素濃度データを書き込み保持する画素濃度データ保持回路と、前記回数データを書き込み保持する回数データ保持回路と、前記画素濃度データを符号化する第１の符号化回路と、前記回数データを符号化する第２の符号化回路と、前記第１の符号化回路から出力された符号化された画素濃度データに、連続回数が１であることを示す符号化された回数データを組み合わせるデータ組合回路と、前記第１の符号化回路、前記第２の符号化回路、及び前記データ組合回路から出力されるデータを入力し、選択して出力する選択回路と、前記画素濃度データ保持回路、前記回数データ保持回路、及び前記データ選択回路を制御する制御回路と、前記選択回路から出力されたデータを出力する所定の出力バス幅を備えた出力回路と、を備える。そして、前記連続回数が１であることを示す符号化された回数データは、そのビット数が、前記出力回路の出力バス幅から前記符号化された画素濃度データのビット数の最大値を引いて求まるビット数以下となるように定められている。また、前記制御回路は、前記画素濃度データ保持回路に前記画素濃度データが保持された場合、当該画素濃度データ保持回路に対して、当該画素濃度データを前記第１の符号化回路に出力するように制御し、前記回数データ保持回路に前記回数データが保持された場合、当該回数データ保持回路に対して、当該回数データを前記第２の符号化回路に出力するように制御し、前記回数データ保持回路の回数データが１以外を示す場合、前記選択回路に対して、前記第１の符号化回路から出力される符号化された画素濃度データ、及び前記第２の符号化回路から出力される符号化された回数データのうち入力されたデータを、前記出力回路に出力するように制御し、前記回数データ保持回路の回数データが１を示す場合、前記選択回路に対して、前記データ組合回路から出力されたデータを前記出力回路に出力するように制御する。
【発明の効果】
【００１３】
本発明によれば、ランレングス圧縮方式を用いるデータ圧縮において、処理パフォーマンスを低下させず、かつ汎用性のある技術を提供できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態について説明する。まず、本発明の理解容易のため、従来技術の問題点について詳述する。
【００１５】
図４は、従来のプリンタにおける、画像圧縮装置２００の概略構成を示す図である。
【００１６】
画像圧縮装置２００は、図示するように、第１のＦＦ（フリップフロップ）回路１０１と、第２のＦＦ回路１０２と、第３のＦＦ回路１０３と、第１の比較器１１１と、第２の比較器１１２と、画素濃度データＦＩＦＯ（先入れ先出し）回路１２１と、回数データＦＩＦＯ回路１２２と、カウンタ１３０と、第１の符号化回路１４１と、第２の符号化回路１４２と、制御回路１５０と、マルチプレクサ１６０と、ビット結合シフトレジスタ１７０と、を備えている。
【００１７】
第１のＦＦ回路１０１は、クロックに同期して、データ供給部（不図示）から出力された一次元ラスタ画像データの１画素分のデータを順次入力し、第１の比較器１１１と、第２のＦＦ回路１０２とに順次出力する。
【００１８】
第２のＦＦ回路１０２は、クロックに同期して、第１のＦＦ回路１０１から出力されたデータを１画素ずつ順次入力し、画素濃度データＦＩＦＯ１２１と、第３のＦＦ回路１０３とに順次出力する。
【００１９】
第３のＦＦ回路１０３は、クロックに同期して、第２のＦＦ回路１０２から出力されたデータを１画素ずつ順次入力し、第２の比較器１１２に順次出力する。
【００２０】
このように、３つのＦＦ回路１０１、１０２、１０３からなる３段のパイプラインを構成することで、画像圧縮装置２００は、一次元ラスタ画像において、左右の画素状態を知ることができる。
【００２１】
第１の比較器１１１は、第１のＦＦ回路１０１から出力されたデータと、第２のＦＦ回路１０２から出力されたデータとを比較し、等しくない場合に、回数データＦＩＦＯ１２２に対して、カウンタ１３０から出力されるカウンタ値のライト信号（書き込み要求信号）を出力する。かかる場合、ライト信号は、カウンタリセット信号として、カウンタ１３０にも出力される。
【００２２】
第２の比較器１１２は、第２のＦＦ回路１０２から出力されたデータと、第３のＦＦ回路１０３から出力されたデータとを比較し、等しくない場合に、画素濃度データＦＩＦＯ１２１に対して、第２のＦＦ回路１０２から出力されるデータのライト信号（書き込み要求信号）を出力する。
【００２３】
画素濃度データＦＩＦＯ１２１は、第２のＦＦ回路１０２から出力される画素濃度データを、第２の比較器１１２から出力されるライト信号に従って、書き込み保持する。また、制御回路１５０からのリード信号（読み出し要求信号）に従って、保持していた画素濃度データを、第１の符号化回路１４１に出力する。
【００２４】
回数データＦＩＦＯ１２２は、カウンタ１３０から出力されるカウンタ値を、回数データとして、第１の比較器１１１から出力されるライト信号に従って、書き込み保持する。また、制御回路１５０からのリード信号（読み出し要求信号）に従って、保持していた回数データを、第２の符号化回路１４２に出力する。
【００２５】
第１の符号化回路１４１は、画素濃度データＦＩＦＯ１２１から出力された画素濃度データを、ハフマン符号化し、符号化された画素濃度データ（画素濃度データのコード）を生成し、マルチプレクサ１６０に出力する。なお、第１の符号化回路１４１は、予め、画素濃度データ値とコード値とを対応つけたテーブルをレジスタ内に保持しており、かかるテーブルを用いて、入力された画素濃度データ値を、対応するコード値に変換し、ハフマン符号化を行う。
【００２６】
第２の符号化回路１４２は、回数データＦＩＦＯ１２２から出力された回数データを、ハフマン符号化し、符号化された回数データ（回数データのコード）を生成し、マルチプレクサ１６０に出力する。なお、第２の符号化回路１４２は、予め、回数データ値とコード値とを対応つけたテーブルをレジスタ内に保持しており、かかるテーブルを用いて、入力された回数データ値を、対応するコード値に変換し、ハフマン符号化を行う。
【００２７】
制御回路１５０は、画像圧縮装置２００を制御する回路である。具体的には、制御回路１５０は、画素濃度データＦＩＦＯ１２１に対するデータの入力を監視し、データが入力されたことを検知すると、リード信号（読み出し要求信号）を画素濃度データＦＩＦＯ１２１に送る。また、制御回路１５０は、回数データＦＩＦＯ１２２に対するデータの入力を監視し、データが入力されたことを検知すると、リード信号（読み出し要求信号）を回数データＦＩＦＯ１２２に送る。
【００２８】
また、制御回路１５０は、マルチプレクサ１６０に対して、ビット結合シフトレジスタ１７０に対して出力すべきデータを選択させるため、選択制御信号を出力する。具体的には、制御回路１５０は、画素濃度データＦＩＦＯ１２１に対してリード信号を出力した場合には、マルチプレクサ１６０に対して、第１の符号化回路１４１から出力されたデータ（画素濃度データのコード）をビット結合シフトレジスタ１７０に出力するように、選択制御信号を出力する。一方、制御回路１５０は、回数データＦＩＦＯ１２２に対してリード信号を出力した場合には、マルチプレクサ１６０に対して、第２の符号化回路１４２から出力されたデータ（回数データのコード）をビット結合シフトレジスタ１７０に出力するように、選択制御信号を出力する。
【００２９】
マルチプレクサ１６０は、制御回路１５０からの選択制御命令に従って、第１の符号化回路１４１からのデータ、及び第２の符号化回路１４２からのデータ、のうちのいずれかを、ビット結合シフトレジスタ１７０に出力する。
【００３０】
ビット結合シフトレジスタ１７０は、画像圧縮装置２００の外部へ、一次元ラスタ画像の圧縮データを出力する回路である。ビット結合シフトレジスタ１７０は、マルチプレクサ１６０から出力されたデータを、順次結合し、外部の装置（例えば、画像メモリ）に出力する。
【００３１】
なお、画素濃度データ、及び回数データは、最大８ビットである。また、第１の符号化回路１４１、又は第２の符号化回路１４２でハフマン符号化されたデータのコードの最大ビット数は、１３ビットである。
【００３２】
また、ビット結合シフトレジスタ１７０に入力可能な最大ビット数は、出力バス幅と同じ１６ビットである。
【００３３】
図５は、かかる構成の画像圧縮装置２００において、一次元ラスタ画像「ＡＡＡＢＢＢＣＣＤＤ・・・」が入力された場合のタイミングチャートである。
【００３４】
図示するように、第２のＦＦ回路（Pipe1）１０２の画素濃度データ値と、第２のＦＦ回路（Pipe2）１０３の画素濃度データ値と、が比較され、等しくない場合に、ライト信号が出力され、第２のＦＦ回路（Pipe1）１０２の画素濃度データ値が、画素濃度データＦＩＦＯ回路１２１に入力される。
【００３５】
また、第１のＦＦ回路（Pipe0）１０１の画素濃度データ値と、第２のＦＦ回路（Pipe1）１０２の画素濃度データ値と、が比較され、等しくない場合に、ライト信号が出力され、カウンタ１３０のカウンタ値が、回数データＦＩＦＯ回路１２２に入力される。
【００３６】
この動作により、入力された一次元ラスタ画像データから、画素濃度と、同一画素濃度の連続回数とが、順次特定される。
【００３７】
このように、一次元ラスタ画像が「ＡＡＡＢＢＢＢＣＣＤＤ・・・」というように、連続回数が「１」となる部分がない場合、問題は発生しない。しかし、「ＡＡＡＢＢＢＢＣＤＤＥ・・・」の「Ｃ」のように、回数が「１」である部分を含む場合、問題が発生する。
【００３８】
図６は、一次元ラスタ画像「ＡＡＡＢＢＢＢＣＤＤＥ・・・」が入力された場合のタイミングチャートである。
【００３９】
図示するように、回数が「１」のデータ値「Ｃ」が、第２のＦＦ回路（Pipe1）１０２に入力されたとき、１クロック中で、画素濃度データＦＩＦＯ１４１及び回数データＦＩＦＯ１４２のそれぞれに、データが入力されることになる。そして、コード化要求が２つ発生することになる。一方、制御回路１５０は、画素濃度データと回数データを、順に２クロックに分けて読み出すように制御するため、「ＡＢＣＤＥ」のように、画素濃度が不連続のデータが続く場合、ＦＩＦＯ回路にデータが溢れてしまう。これを回避するため、制御回路１５０は、データが溢れてしまう前に、データの供給元へ、データ供給の禁止要求を送ることになる。その結果、処理パフォーマンス低下する。
【００４０】
また、ＦＩＦＯ回路から同時にデータを読み出すようにしても、符号化したデータのコードの最大ビット数は、１３ビットであるため、画素濃度データのコード（最大１３ビット）と、回数データのコード（最大１３ビット）との合計が、ビット結合シフトレジスタの入力可能なビット数（最大１６ビット）を超えてしまうおそれがある。だからといって、出力バス幅を増加させるのは、適用可能なシステムを制限するため好ましくない。
【００４１】
本発明は、かかる事情に配慮すべくなされたものである。以下、本発明の一実施形態について、詳細に説明する。
【００４２】
図１は、本発明の一実施形態が適用された画像圧縮装置１００の概略構成を示す図である。かかる画像圧縮装置１００は、プリンタの内部に搭載される。なお、プリンタを構成するその他の構成要素については説明を省略する。また、図４の画像圧縮装置２００と同一又は類似する構成要素は、同一符号で示している。
【００４３】
画像圧縮装置１００は、図示するように、第１のＦＦ（フリップフロップ）回路１０１と、第２のＦＦ回路１０２と、第３のＦＦ回路１０３と、第１の比較器１１１と、第２の比較器１１２と、画素濃度データＦＩＦＯ（先入れ先出し）回路１２１と、回数データＦＩＦＯ回路１２２と、カウンタ１３０と、第１の符号化回路１４１と、第２の符号化回路１４２と、データ組合回路１４３と、制御回路１５０と、マルチプレクサ１６０と、ビット結合シフトレジスタ１５０と、を備えている。
【００４４】
第１のＦＦ回路１０１は、クロックに同期して、データ供給部（不図示）から出力された一次元ラスタ画像データの１画素分のデータを順次入力し、第１の比較器１１１と、第２のＦＦ回路１０２とに順次出力する。
【００４５】
第２のＦＦ回路１０２は、クロックに同期して、第１のＦＦ回路１０１から出力されたデータを１画素ずつ順次入力し、画素濃度データＦＩＦＯ１２１と、第３のＦＦ回路１０３とに順次出力する。
【００４６】
第３のＦＦ回路１０３は、クロックに同期して、第２のＦＦ回路１０２から出力されたデータを１画素ずつ順次入力し、第２の比較器１１２に順次出力する。
【００４７】
このように、３つのＦＦ回路１０１、１０２、１０３からなる３段のパイプラインを構成することで、画像圧縮装置２００は、一次元ラスタ画像において、左右の画素状態を知ることができる。
【００４８】
第１の比較器１１１は、第１のＦＦ回路１０１から出力されたデータと、第２のＦＦ回路１０２から出力されたデータとを比較する。そして、等しくない場合に、回数データＦＩＦＯ１２２に対して、カウンタ１３０から出力されるカウンタ値のライト信号（書き込み要求信号）を出力する。また、同時に、カウンタ１３０に対して、カウンタリセット信号を出力する。
【００４９】
第２の比較器１１２は、第２のＦＦ回路１０２から出力されたデータと、第３のＦＦ回路１０３から出力されたデータとを比較し、等しくない場合に、画素濃度データＦＩＦＯ１２１に対して、第２のＦＦ回路１０２から出力されるデータのライト信号（書き込み要求信号）を出力する。
【００５０】
画素濃度データＦＩＦＯ１２１は、第２のＦＦ回路１０２から出力される画素濃度データを、第２の比較器１１２から出力されるライト信号に従って、書き込み保持する。また、制御回路１５０からのリード信号（読み出し要求信号）に従って、保持していた画素濃度データを、第１の符号化回路１４１に出力する。
【００５１】
回数データＦＩＦＯ１２２は、カウンタ１３０から出力されるカウンタ値を、回数データとして、第１の比較器１１１から出力されるライト信号に従って、書き込み保持する。また、制御回路１５０からのリード信号（読み出し要求信号）に従って、保持していた回数データを、第２の符号化回路１４２に出力する。
【００５２】
第１の符号化回路１４１は、画素濃度データＦＩＦＯ１２１から出力された画素濃度データを、ハフマン符号化し、符号化された画素濃度データ（画素濃度データのコード）を生成し、マルチプレクサ１６０に出力する。なお、第１の符号化回路１４１は、予め、画素濃度データ値とコード値とを対応つけたテーブル（濃度データ変換テーブル）をレジスタ内に保持しており、かかるテーブルを用いて、入力された画素濃度データ値を、対応するコード値に変換し、ハフマン符号化を行う。
【００５３】
図２（Ａ）は、濃度データ変換テーブル２１０の構成を示す図である。濃度データ変換テーブル２１０には、画素濃度データ値（濃度値）２１１に対応する、出現確立を考慮したハフマン符号化データ（コード）２１２が格納されている。ハフマン符号化データ２１２は、出現確立が高いデータ値に対して短い符号が、出現確立が低いデータ値に対して長い符号が、それぞれ割り当てられている。
【００５４】
ハフマン符号化データ２１２は、一般的な画像の画素濃度の出現頻度の統計値から求められたものであってもよいし、画像圧縮処理に先立って、処理対象の画像データを一旦読み込んで、画素濃度の出現頻度から予め生成されたものであってもよい。
【００５５】
第２の符号化回路１４２は、回数データＦＩＦＯ１２２から出力された回数データを、ハフマン符号化し、符号化された回数データ（回数データのコード）を生成し、マルチプレクサ１６０に出力する。なお、第２の符号化回路１４２は、予め、回数データ値とコード値とを対応つけたテーブル（回数データ変換テーブル）をレジスタ内に保持しており、かかるテーブルを用いて、入力された回数データ値を、対応するコード値に変換し、ハフマン符号化を行う。
【００５６】
図２（Ｂ）は、回数データ変換テーブル２２０の構成を示す図である。回数データ変換テーブル２２０には、回数データ値（同一濃度の画素の連続回数）２２１に対応する、出現確立を考慮したハフマン符号化データ（コード）２２２が格納されている。ハフマン符号化データ２２２は、出現確立が高いデータ値に対して短い符号が、出現確立が低いデータ値に対して長い符号が、それぞれ割り当てられている。
【００５７】
ハフマン符号化データ２２２は、一般的な画像における同一濃度の画素の「連続回数」の出現頻度の統計値から求められたものであってもよいし、画像圧縮処理に先立って、処理対象の画像データを一旦読み込んで、「連続回数」の出現頻度から予め生成されたものであってもよい。
【００５８】
データ組合回路１４３は、第１の符号化回路１４１から出力された画素濃度データのコードに、回数「１」を示すコードを付加して、マルチプレクサ１６０に出力する。ここで、画素濃度データのコードのビット数と、回数「１」を示すコードのビット数との合計は、ビット結合シフトレジスタ１７０の入力可能ビット数以下となる必要がある。すなわち、回数「１」を示すコードのビット数は、ビット結合シフトレジスタ１７０の入力可能ビット数（出バス幅と同じ）から、画素濃度データのコードの最大ビット数を引いて求まる値以下である。
【００５９】
８ビットの画素濃度データのハフマン符号化データの最大ビット数は１３ビットであり、ビット結合シフトレジスタ１７０の出力バス幅が１６ビットであることから、回数「１」を示すコードは、例えば、「１０１」のように、３ビットで規定されている。
【００６０】
制御回路１５０は、画像圧縮装置１００を制御する回路である。具体的には、制御回路１５０は、画素濃度データＦＩＦＯ１２１に対するデータの入力を監視し、データが入力されたことを検知すると、リード信号（読み出し要求信号）を画素濃度データＦＩＦＯ１２１に送る。また、制御回路１５０は、回数データＦＩＦＯ１２２に対するデータの入力を監視し、データが入力されたことを検知すると、リード信号（読み出し要求信号）を回数データＦＩＦＯ１２２に送る。
【００６１】
また、制御回路１５０は、マルチプレクサ１６０に対して、ビット結合シフトレジスタ１７０に対して出力すべきデータを選択させるため、選択制御信号を出力する。具体的には、制御回路１５０は、画素濃度データＦＩＦＯ１２１に対してリード信号を出力した場合には、マルチプレクサ１６０に対して、第１の符号化回路１４１から出力されたデータ（画素濃度データのコード）をビット結合シフトレジスタ１７０に出力するように、選択制御信号を出力する。一方、制御回路１５０は、回数データＦＩＦＯ１２２に対してリード信号を出力した場合には、マルチプレクサ１６０に対して、第２の符号化回路１４２から出力されたデータ（回数データのコード）をビット結合シフトレジスタ１７０に出力するように、選択制御信号を出力する。
【００６２】
ただし、制御回路１５０は、回数データＦＩＦＯ回路１２２に入力された回数データが「１」を示す場合、画素濃度データＦＩＦＯ１２１及び回数データＦＩＦＯ１２２に対して、同時に、リード信号を送る。また、同時に、マルチプレクサ１６０に対して、データ組合回路１４３から出力されたデータ（画素濃度データのコード＋「１回」を示すコード）を、ビット結合シフトレジスタ１７０に出力するように、選択制御信号を出力する。
【００６３】
マルチプレクサ１６０は、制御回路１５０からの選択制御命令に従って、第１の符号化回路１４１からのデータ、及び第２の符号化回路１４２からのデータ、のうちのいずれかを、ビット結合シフトレジスタ１７０に出力する。
【００６４】
ビット結合シフトレジスタ１７０は、画像圧縮装置２００の外部へ、一次元ラスタ画像の圧縮データを出力する回路である。ビット結合シフトレジスタ１７０は、マルチプレクサ１６０から出力されたデータを、順次結合し、外部の装置（例えば、画像メモリ）に出力する。
【００６５】
以上、画像圧縮装置１００の概略構成について説明した。
【００６６】
図３は、かかる画像圧縮装置１００の動作の流れを示すフローチャートである。
【００６７】
制御回路１５０は、画素濃度データＦＩＦＯ１２１にデータがあるか否か監視し（Ｓ１１）、データがある場合（Ｓ１１でＹ）、回数データＦＩＦＯ１２２に、回数「１」を示すデータがあるか否か判定する（Ｓ１２）。
【００６８】
回数「１」を示すデータがない場合（Ｓ１２でＮ）、制御回路１５０は、画素濃度データＦＩＦＯ１２１にリード信号を送り、マルチプレクサ１６０に、第１の符号化回路１４１から出力された画素濃度データのコードを出力するように選択制御信号を送る（Ｓ１３）。これにより、マルチプレクサ１６０は、画素濃度データのコードを選択し、ビット結合シフトレジスタ１７０に出力する。その後、制御回路１５０は、回数データＦＩＦＯ１２２に、回数データが格納されるのを待機し（Ｓ１４）、データが格納されると（Ｓ１４でＹ）、回数データＦＩＦＯ１２１にリード信号を送り、マルチプレクサ１６０に、第２の符号化回路１４２から出力された回数データのコードを出力するように選択制御信号を送る（Ｓ１５）。これにより、マルチプレクサ１６０は、回数データのコードを選択し、ビット結合シフトレジスタ１７０に出力する。その後、制御回路１５０は、Ｓ１１に戻り、制御を継続する。
【００６９】
一方、回数「１」を示すデータがある場合（Ｓ１２でＹ）、制御回路１５０は、画素濃度データＦＩＦＯ１２１及び回数データＦＩＦＯ１２２の両方に同時にリード信号を送る。また同時に、マルチプレクサ１６０に、データ組合回路１４３から出力されたコード（画素濃度データのコード＋回数「１」を示すコード）を選択して、ビット結合シフトレジスタ１７０に出力するように選択制御信号を送る（Ｓ１６）。これにより、画素濃度データＦＩＦＯ１２１及び回数データＦＩＦＯ１２２からデータが読み出されるとともに、マルチプレクサ１６０は、データ組合回路１４３からのコードを選択し、ビット結合シフトレジスタ１７０に出力する。その後、制御回路１５０は、Ｓ１１に戻り、制御を継続する。
【００７０】
上記実施形態によれば、同一画素が連続しない場合、画素濃度データＦＩＦＯ１２１及び回数データＦＩＦＯ１２２のデータは同時に読み出されるので、データが溢れることがない。
【００７１】
また、「同一濃度の画素が１回である」ことを示すコードを３ビット以内とするので、画像濃度データのコードが最大ビット数（１３ビット）であったとしても、ビット結合シフトレジスタ１７０の入力可能ビット数（１３ビット）を超えることがない。したがって、上述した従来の画像圧縮装置２００で生じる問題が発生しない。
【００７２】
本発明の画像圧縮装置は、上記実施形態に制限されない。本発明の技術的思想の範囲内で様々な変形が可能である。
【００７３】
また、プリンタだけでなく、プリンタ機能、スキャナ機能、コピー機能、及びファクシミリ機能などの少なくとも２つの機能を備えた複合機の画像圧縮回路として適用することができる。
【図面の簡単な説明】
【００７４】
【図１】画像圧縮装置の構成を示すブロック図。
【図２】データ変換テーブルの構成例を示す図。
【図３】画像圧縮装置の動作のフロー図。
【図４】従来の画像圧縮装置の構成を示すブロック図。
【図５】従来の画像圧縮装置の問題点を説明するための図。
【図６】従来の画像圧縮装置の問題点を説明するための図。
【符号の説明】
【００７５】
１００…画像圧縮装置、１０１…第１のＦＦ回路、１０２…第２のＦＦ回路、１０３…第３のＦＦ回路、１１１…第１の比較器、１１２…第２の比較器、１２１…画像濃度データＦＩＦＯ回路、１２２…回数データＦＩＦＯ回路、１３０…カウンタ、１４０…制御回路、１４１…第１の符号化回路、１４２…第２の符号化回路、１４３…データ組合回路、１５０…制御回路、１６０…マルチプレクサ、１７０…ビット結合シフトレジスタ、２００…画像圧縮装置
【図１】
0004941254.tif 000002
【図２】
0004941254.tif 000003
【図３】
0004941254.tif 000004
【図４】
0004941254.tif 000005
【図５】
0004941254.tif 000006
【図６】
0004941254.tif 000007