(57)【特許請求の範囲】
【請求項１】
画像データを可変長符号化する符号化手段と、該符号化手段から出力された可変長符号化データを一時的に蓄積する書込側バッファ手段と、該書込側バッファ手段から読み出された可変長符号化データを蓄積する記憶手段と、該記憶手段から読み出された可変長符号化データを一時的に蓄積する読出側バッファ手段と、該読出側バッファ手段から読み出された可変長符号化データを復号化する復号化手段と、前記書込側バッファ手段に蓄積された可変長符号化データを読み出し、前記記憶手段へ転送する書込制御手段とを有する画像処理装置であって、
前記書込制御手段は、前記書込側バッファ手段の蓄積量が第１の所定量に達したとき又は前記第１の所定量に達する前に書込開始から所定時間経過したときのいずれか早い方のタイミングで転送することを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置において、
前記記憶手段に蓄積された可変長符号化データを読み出し、前記読出側バッファ手段へ転送する読出制御手段と、前記書込制御手段が可変長符号化データを前記記憶手段へ転送したことを前記読出制御手段に通知する転送通知手段とを有し、前記読出制御手段は前記転送通知手段からの通知に応じて転送することを特徴とする画像処理装置。
【請求項３】
請求項１記載の画像処理装置において、
前記書込制御手段は、前記所定時間経過したとき、前記書込側バッファ手段に前記第１の所定量より少ない第２の所定量の可変長符号化データが蓄積されていなかった場合、蓄積されるまで、前記転送するタイミングを遅延させることを特徴とする画像処理装置。
【請求項４】
請求項３記載の画像処理装置において、
前記第２の所定量は、前記書込側バッファ手段と前記記憶手段とを接続する信号線のビット幅の整数倍であることを特徴とする画像処理装置。
【請求項５】
画像データを可変長符号化データに変換する第１の工程と、該可変長符号化データを書込側バッファ手段に蓄積する第２の工程と、該書込側バッフア手段に蓄積された可変長符号化データを読み出して記憶手段に記憶する第３の工程と、該記憶された可変長符号化データを読み出して読出側バッファ手段に蓄積する第４の工程と、該読出側バッファ手段に蓄積された可変長符号化データを読み出して画像データに復号化する第５の工程とを有する画像処理方法であって、
前記第２の工程で書込側バッファ手段の蓄積量が第１の所定量に達したとき又は前記第１の所定量に達する前に蓄積開始から所定時間経過したときのいずれか早い方のタイミングで、前記第３の工程を実行することを特徴とする画像処理方法。
【請求項６】
請求項５記載の画像処理方法において、
前記第３の工程の実行状況を監視する第６の工程を有し、該第６の工程による監視結果に基づいて、前記第４の工程を実行することを特徴とする画像処理方法。
【請求項７】
請求項５記載の画像処理方法において、
前記第２の工程で所定時間経過したときに、前記書込側バッファ手段の蓄積量が前記第１の所定量より少ない第２の所定量に達していなかった場合に、該第２の所定量に達するまで、第３の工程を実行するタイミングを遅延させる工程を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを可変長符号化してメモリに記憶し、記憶された可変長符号化データを読み出し、復号化して出力する画像処理装置及び画像処理方法に関し、詳細には、ページ単位の画像データの符号化開始から復号化終了までの時間を短縮することのできる画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
ファクシミリ機能、プリンタ機能、スキャナ機能、及び複写機能を備えたマルチファンクションプリンタやデジタル複合機などの画像形成装置においては、高速化、多機能化、高画質化などを達成するため、入力された画像データを一旦画像メモリ（フレームメモリ）に蓄積し、印刷タイミングの調整、画像の加工・編集などができるように構成されている。
【０００３】
このような画像形成装置において、画像の読取から印刷までの速度を高速化するとともにコストを低減するためには、画像メモリを効率的に使用することが必要である。コストを抑えるためにはメモリ容量を低減することが考えられるが、メモリ容量を低減すると、一時に蓄積可能な画素データ量が少なくなるため高速印刷が困難になる。そこで、一般に画像データを符号化してデータ量を削減（圧縮）した後にメモリに格納している。例えば特許文献１に記載された画像処理装置では、スキャナから入力された画像データを符号化（圧縮）して、画像メモリに蓄積し、画像メモリに蓄積された符号化データを復号化（伸張）してプロッタへ出力する処理フローがとられている。
【０００４】
ここで、画像メモリとして、一般的なＳＤＲＡＭ（Synchronous ＤＲＡＭ）、ＤＤＲ（Double Data Rate）メモリ等を想定した場合、ＤＭＡ（Direct Memory Access）コントローラで画像メモリへの符号化データの書込（メモリライト）と、画像メモリからの蓄積された符号化データの読出（メモリリード）が行われる。このＤＭＡコントローラは一般にバッファメモリを設けることで、画像データの符号化、符号化データの画像メモリに対する書込、読出、読み出された符号化データの復号化のタイミングを調整している。
【０００５】
ところで、ファーストコピータイム（スキャナから原稿画像の読み取りを開始し、コピー画像の印刷が完了するまでの時間）を高速化するためには、メモリライトされた符号化データを、すぐにメモリリードして復号化処理にまわすことが必要となる。
【０００６】
ここで、所定画素数からなるブロックを符号長が一定の固定長符号に圧縮する固定長圧縮方式で画像データを符号化した場合は、原稿１ページ中の所定の画像ブロックに対する符号化データのサイズが常に一定であるために、書込側では、符号化データがバッファメモリに所定量蓄積されたとき、それを読み出して画像メモリに書き込み、読出側では、画像メモリに蓄積されている符号化データを所定量読み出してバッファメモリに書き込み、それを読み出して復号化処理にまわすことができる。
【０００７】
ところが、ＪＰＥＧ（Joint Photographic Experts Group）形式のような可変長符号化方式では、入力される画像によって、データ圧縮率が大きく変動し、べた画像のような変化の少ない画像を符号化した場合、非常に圧縮率が高くなることから、生成される符号量が非常に少なくなるため、画像メモリに対する書込（メモリライト）がなかなか行われないという問題がある。また、このような状況で、復号化処理側のメモリリードを一定のレートで実行していくと、メモリリードがメモリライトを追い越してしまうおそれがある。
【０００８】
そのため、可変長符号化方式を採用する場合は、1ページの画像全体の符号化完了し、画像メモリに全て書き込んでから、メモリリードを開始し、復号化処理を実行することになる。この結果、図４Ａに示すように、ファーストコピータイム301が長くなってしまうという問題がある。
【０００９】
【特許文献１】特開２００１−２１１３２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、このような問題を解決するためになされたもので、その目的は、画像データを可変長符号化してメモリに記憶し、記憶された符号化データを読み出して復号化するときに、ページ単位の画像データの符号化開始から復号化終了までの時間を短縮できるようにすることである。
【課題を解決するための手段】
【００１１】
請求項１の発明は、画像データを可変長符号化する符号化手段と、該符号化手段から出力された可変長符号化データを一時的に蓄積する書込側バッファ手段と、該書込側バッファ手段から読み出された可変長符号化データを蓄積する記憶手段と、該記憶手段から読み出された可変長符号化データを一時的に蓄積する読出側バッファ手段と、該読出側バッファ手段から読み出された可変長符号化データを復号化する復号化手段と、前記書込側バッファ手段に蓄積された可変長符号化データを読み出し、前記記憶手段へ転送する書込制御手段とを有する画像処理装置であって、前記書込制御手段は、前記書込側バッファ手段の蓄積量が第１の所定量に達したとき又は前記第１の所定量に達する前に書込開始から所定時間経過したときのいずれか早い方のタイミングで転送することを特徴とする画像処理装置である。
請求項２の発明は、請求項１記載の画像処理装置において、前記記憶手段に蓄積された可変長符号化データを読み出し、前記読出側バッファ手段へ転送する読出制御手段と、前記書込制御手段が可変長符号化データを前記記憶手段へ転送したことを前記読出制御手段に通知する転送通知手段とを有し、前記読出制御手段は前記転送通知手段からの通知に応じて転送を行うことを特徴とする。
請求項３の発明は、請求項１記載の画像処理装置において、前記書込制御手段は、前記所定時間経過したとき、前記書込側バッファ手段に前記第１の所定量より少ない第２の所定量の可変長符号化データが蓄積されていなかった場合、蓄積されるまで前記転送を行うタイミングを遅延させることを特徴とする。
請求項４の発明は、請求項３記載の画像処理装置において、前記第２の所定量は、前記書込側バッファ手段と前記記憶手段とを接続する信号線のビット幅の整数倍であることを特徴とする。
請求項５の発明は、画像データを可変長符号化データに変換する第１の工程と、該可変長符号化データを書込側バッファ手段に蓄積する第２の工程と、該書込側バッフア手段に蓄積された可変長符号化データを読み出して記憶手段に記憶する第３の工程と、該記憶された可変長符号化データを読み出して読出側バッファ手段に蓄積する第４の工程と、該読出側バッファ手段に蓄積された可変長符号化データを読み出して画像データに復号化する第５の工程とを有する画像処理方法であって、前記第２の工程で書込側バッファ手段の蓄積量が第１の所定量に達したとき又は前記第１の所定量に達する前に蓄積開始から所定時間経過したときのいずれか早い方のタイミングで、前記第３の工程を実行することを特徴とする画像処理方法である。
請求項６の発明は、請求項５記載の画像処理方法において、前記第３の工程の実行状況を監視する第６の工程を有し、該第６の工程の監視結果に基づいて、前記第４の工程を実行することを特徴とする。
請求項７の発明は、請求項５記載の画像処理方法において、前記第２の工程で所定時間経過したときに、前記書込側バッファ手段の蓄積量が前記第１の所定量より少ない第２の所定量に達していなかった場合に、該第２の所定量に達するまで、第３の工程を実行するタイミングを遅延させる工程を有することを特徴とする。
【００１２】
［作用］
請求項１の発明によれば、書込側バッファ手段に蓄積された可変長符号化データの蓄積量が第１の所定量に達したとき又は前記第１の所定量に達する前に書込開始から所定時間経過したときのいずれか早い方のタイミングで、書込側バッファ手段から可変長符号化データが読み出され、記憶手段に転送される。
請求項２の発明によれば、書込制御手段が可変長符号化データを記憶手段へ転送したことを読出制御手段に通知し、読出制御手段は、その通知に応じて、記憶手段に蓄積された可変長符号化データを読み出し、読出側バッファ手段へ転送する。
請求項３の発明によれば、書込側バッファ手段に蓄積された可変長符号化データの蓄積量が第１の所定量に達する前に所定時間経過したとき、書込側バッファ手段に第１の所定量より少ない第２の所定量の可変長符号化データが蓄積されていなかった場合、蓄積されたときに転送を行う。
請求項４の発明によれば、書込側バッファ手段に蓄積された可変長符号化データの蓄積量が第１の所定量に達する前に所定時間経過したとき、書込側バッファ手段に、書込側バッファ手段と記憶手段とを接続する信号線のビット幅の整数倍の可変長符号化データが蓄積されていなかった場合、蓄積されたときに転送を行う。
請求項５の発明によれば、可変長符号化データの書込側バッファ手段の蓄積の蓄積量が第１の所定量に達したとき又は第１の所定量に達する前に蓄積開始から所定時間経過したときのいずれか早い方のタイミングで、該書込側バッフア手段に蓄積された可変長符号化データを読み出して記憶手段に記憶する。
請求項６の発明によれば、書込側バッファ手段に蓄積された可変長符号化データを読み出して記憶する工程の実行状況を監視し、その監視結果に応じて、記憶された可変長符号化データを読み出して読出側バッファ手段に蓄積する。
請求項７の発明によれば、書込側バッファ手段に蓄積された可変長符号化データの蓄積量が第１の所定量に達する前に所定時間経過したとき、書込側バッファ手段に第１の所定量より少ない第２の所定量の可変長符号化データが蓄積されていなかった場合、蓄積されたときに、書込側バッファ手段から可変長符号化データを読み出して記憶手段に記憶する。
【発明の効果】
【００１３】
本発明によれば、画像データを可変長符号化してメモリに記憶し、記憶された符号化データを読み出して復号化するときに、ページ単位の画像データの符号化開始から復号化終了までの時間を短縮することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について図面を参照しながら説明する。
図１は本発明の実施形態の画像処理装置の構成を示すブロック図である。この画像処理装置は、スキャナ101と、スキャナ101からの画像データをＪＰＥＧ形式で符号化するＪＰＥＧ符号器102と、ＪＰＥＧ符号器102で符号化されたＪＰＥＧ符号データをデータバス115を通してメモリ114に書き込む書込側ＤＭＡコントローラ（以下、ＷＤＭＡＣ）104と、メモリ114に書き込まれたＪＰＥＧ符号データをデータバス115を通して読み出す読出側ＤＭＡコントローラ（以下、ＲＤＭＡＣ）108と、ＲＤＭＡＣ108により読み出されたＪＰＥＧ符号データを復号化するＪＰＥＧ復号器111と、ＪＰＥＧ復号器111で復号化された画像データに所定の画像処理を施す画像処理部112と、画像処理を施された画像データに基づいて画像を印刷するプロッタ113と所定のタイミングで転送トリガ信号を生成し、ＷＤＭＡＣ104に与える転送トリガ発生部103とを有する。
【００１５】
スキャナ101はＣＣＤなどのイメージセンサにより原稿の画像を読み込む装置であり、100μsec単位で、１画素１バイト（８ビット）の１ライン分の画像データを出力する。
【００１６】
ＷＤＭＡＣ104は、メモリ114にメモリライトを行うためのＤＭＡコントローラである。ＷＤＭＡＣ104は、各々が256バイトのバッファ107a，107bからなる２段のトグルバッファ107を持っており、バッファ制御部105の制御により、一方のバッファがＪＰＥＧ符号器102から入力されるＪＰＥＧ符号データを蓄積しているときに、もう一方のバッファから蓄積済みのＪＰＥＧ符号データが読み出され、データバス115経由でメモリ114）にパケットデータとして出力される。
【００１７】
ここで、バッファ107a，107bのサイズが256バイトであることから、１パケットのデータサイズは256バイト以下になる。また、バッファ107a，107bに蓄積された256バイトのデータ読み出し時間は、ＪＰＥＧ符号器102からの256バイトのバッファ107a，107bへの書込時間に対して十分早くなるように、データバス115の帯域は非常に広いものとしている。それゆえ、バッファ107a，107bの書込、読出の切替制御は、ＪＰＥＧ符号器102からのバッファへの256バイトの書込完了をもって、バッファ制御部105が行っている。
【００１８】
さらに、転送トリガ発生部103は、内部のタイマーカウンタをカウントアップすることでタイマー監視を行っており、バッファ制御部105に対して、バッファ107a，107bの切替がある一定期間発生しない場合（ここでは２ライン分、200μsecとする）は、バッファ107a，107bの切替タイミングを強制的に発生させるトリガ信号を出力し、タイマーカウンタを０にリセットする。また、転送トリガ発生部103は、バッファ制御部103が、バッファ107a，107bの切替を実行した信号を受け取ったら、内部のタイマーカウンタを再び０からカウントアップしていく。
【００１９】
また、バッファ制御部105は、転送トリガ発生部103から、トリガ信号を受け取った時に、ＪＰＥＧ符号器102からのバッファへの書込量が、パケットデータの最低単位サイズ（ここでは16バイトとする）の倍数でない場合には、次に16バイトの倍数分が蓄積されるまで、バッファ107a，107bの切替をウェイト（待機）させる機能も持っている。ここで、パケットデータの最低単位サイズを16バイトとしたことにより、データバス115、及びメモリ114のバス幅（ビット幅）が128ビットや、256ビットの場合のデータ転送中に非常に効率的なアドレス制御ができる。
【００２０】
転送パケット監視部106は、ＷＤＭＡＣ104のメモリ114が転送したＪＰＥＧ符号化データに関するパケット情報をＲＤＭＡＣ108に発行する。ここで発行するパケット情報はメモリ114に転送されたパケットのデータサイズ（前述のとおり256バイト以下）である。
【００２１】
ＲＤＭＡＣ108は、メモリ114からメモリリードを行うためのＤＭＡコントローラである。ＲＤＭＡＣ108の内部は、ＲＤＭＡＣ104同様、各々が256バイトのバッファ110a，110bからなる２段のトグルバッファ110を持っている。バッファ110a，110bの切替タイミングは、バッファ制御部109によって制御される。その際、転送パケット監視部106により発行された、ＷＤＭＡＣ104による所定のサイズのパケットデータのメモリライトが完了したことを表すパケット情報を受け取り、その情報をもとに制御を行う。
【００２２】
トグルバッファ110から読み出されたＪＰＥＧ符号データは、ＪＰＥＧ復号器111に転送され、ＪＰＥＧ復号化され、画像データに伸張される。復号化された画像データは画像処理部112により、誤差拡散処理を伴った２値化処理などを施され、プロッタ113に出力される。
【００２３】
次に図２に示すような、自然画像領域202と、べた画像領域203とから構成される画像201を読み取る場合について、本実施形態の画像処理の動作を説明する。この画像201の主走査方向のサイズは1024ピクセル、副走査方向のサイズは1500ラインである。上部800ラインは自然画像領域202であり、下部700ラインはべた画像領域203である。ここで、説明を分かり易くするために、ＪＰＥＧ符号器102の圧縮効率は、自然画像領域202に対しては“８”固定、べた画像領域203に対しては“85”固定とする。
【００２４】
スキャナ101が画像201の読取を開始し、その画像データがＪＰＥＧ符号器102へ入力される。画像201の上方向から読み取った場合、まず自然画像領域202から、符号化を行っていく。JPEG圧縮効率が８であることから、2048バイトの画像データを圧縮するたびに、256バイトのＪＰＥＧ符号が生成される。ここで、スキャナ101から読み込まれる画像201の主走査方向のサイズが1024ピクセルであることから、ほぼ２ラインの画像データを処理する度に、256バイトの符号が生成される。また、スキャナ101は、1ラインのデータを100μsec毎に出力することから、200μsec単位で256バイトのＪＰＥＧ符号が生成される。従って、自然画像領域202の符号化中は、ＷＤＭＡＣ104のトグルバッファ107は、200μsec毎にバッファ107a，107bへの蓄積、読出の切替が発生している。また、ＷＤＭＡＣ104は200μsec毎に256バイトの符号化データを１つのパケットデータとして、データバス115経由でメモリ114に書き込む。
【００２５】
次に、スキャナ101が、800ラインの自然画像領域202の画像の読込を終え、べた画像領域203の読込を開始したとする。このとき、ＪＰＥＧ圧縮効率が85であることから、例えば２ライン分、2048バイトの画像データを圧縮すると、24バイトのＪＰＥＧ符号が生成される。
【００２６】
従って、ＷＤＭＡＣ104のトグルバッファ110のバッファ110a，110bサイズである256バイトが蓄積されるためには、21760バイト、即ち約21ラインの画像データ入力が必要となる。しかし、200μsecの期間バッファ110a，110bの切替が行われていない状況が発生することから、転送トリガ発生部103から、バッファ制御部105に対して、強制的にバッファ110a，110bの切替及びメモリライトを行わせるためのトリガ信号が送出される。
【００２７】
バッファ制御部105がトリガ信号を受けたとき、200μsec、つまり、べた画像領域203の２ライン分のデータを圧縮した状況にあり、トグルバッファ110には24バイトしか蓄積されていない。そこで、バッファ制御部は105は、次の16バイトの倍数に当たる、32バイト蓄積されるのを待ってから、バッファ切替を行う。その結果、ＷＤＭＡＣ104からは、１パケット32バイトのＪＰＥＧ符号がメモリ114に出力される。このように、転送トリガ発生部103を設けたことで、入力画像の圧縮率によらず、メモリ114に対して定期的なデータ書込が実現される。従って、図４Ｂにて示すように、ファーストコピータイム302は、図４Ａに示す従来装置のファーストコピータイム301と比べ、大幅に短縮される。
【００２８】
図３は、以上説明したＷＤＭＡＣ104及びＲＤＭＡＣ109の動作の流れを示すフローチャートである。ここで、画像入力側がＷＤＭＡＣ104、画像出力側がＲＤＭＡＣ109である。
【００２９】
この図に示すように、ステップＳ１でＷＤＭＡＣ104が動作を開始し、ステップＳ２で１パケット分のメモリライトを実行すると、ステップＳ３で転送パケット監視部106がＲＤＭＡＣ108に対し、パケット情報を発行する。そして、ステップＳ４でページが終了したと判断されるまで、ステップＳ２及びＳ３を繰り返す。
【００３０】
一方、ＲＤＭＡＣ108はステップＳ11で動作を開始しても、ステップＳ12でメモリリードを待機（ウェイト）する。そして、ステップＳ13で転送パケット監視部106からパケット情報を受け取ったと判断したとき、ステップＳ14で１パケット分のメモリリードを実行する。そして、ステップＳ15でページが終了したと判断されるまで、ステップＳ1２〜Ｓ14を繰り返す。
【００３１】
このように、画像入力の開始とともに、画像出力側も起動をかけておくことが可能である。画像出力側は、画像入力側からのパケット情報の通知を受け取るまで、メモリリードを自動で待機する。つまり、ソフトウェアの制御としても、画像入力側に対して、画像出力側の起動タイミング等を制御する必要がない。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態の画像処理装置の構成を示すブロック図である。
【図２】本発明の実施形態の画像の一例を示す図である。
【図３】本発明の実施形態のＷＤＭＡＣ及びＲＤＭＡＣの動作の流れを示すフローチャートである。
【図４】従来装置及び本実施形態のファーストコピータイムを示す図である。
【符号の説明】
【００３３】
102・・・ＪＰＥＧ符号器、103・・・転送トリガ発生部、104・・・ＷＤＭＡＣ、105，109・・・バッファ制御部、106・・・転送パケット監視部、107，110・・・トグルバッファ、108・・・ＲＤＭＡＣ、111・・・ＪＰＥＧ復号器、114・・・メモリ、115・・・データバス。
【図１】
0004845826.tif 000002
【図３】
0004845826.tif 000003
【図４】
0004845826.tif 000004
【図２】
0004845826.tif 000005