(57)【要約】【課題】圧縮や非圧縮された画像データが混在しても高速にＤＭＡ転送処理し、しかもメモリの節約を図った画像データ出力装置を提供することにある。【解決手段】ＣＰＵ８は、画像データ入力部１１から取り込んだ画像データを圧縮／伸張部７で圧縮または非圧縮のまま画像メモリ部２に蓄積する際に、画像メモリ部２上の画像データの位置情報と圧縮／非圧縮の判定情報をディスクリプタ領域１に記憶させると共に、画像データが圧縮された際に画像メモリ２上に複数の領域に分割して記憶させるときは分割した画像データのチェーン先位置情報をディスクリプタ領域１に書き込む。ＤＭＡコントローラ３は、ＣＰＵ８からの転送情報を受信したときにディスクリプト領域１に格納されている所定の情報に基づいて画像データを連続して出力するようにした。【選択図】図１
2007251983.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する画像データ入力部と、
画像データを蓄積するメモリと、
画像データを圧縮または伸張する圧縮／伸張部と、
画像データごとの所定の情報を格納するディスクリプタ領域と、
前記画像データの転送を行うＤＭＡコントローラと、
制御部と、を備え、
前記制御部は、前記画像データ入力部から取り込んだ画像データを前記圧縮／伸張部で圧縮または非圧縮のまま前記メモリに蓄積する際に、前記メモリ上の前記画像データの位置情報と圧縮／非圧縮の判定情報を前記ディスクリプタ領域に記憶させると共に、前記画像データが圧縮された際に前記メモリ上に複数の領域に分割して記憶させるときは分割した前記画像データのチェーン先位置情報を前記ディスクリプタ領域に書き込み、
前記ＤＭＡコントローラは、前記制御部からの転送情報を受信したときに前記ディスクリプト領域に格納されている所定の情報に基づいて画像データを連続して出力することを特徴とする画像データ出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクリプタ領域に格納されているディスクリプタ情報に基づいてＤＭＡデータ転送を行う画像データ出力装置に関し、特に、圧縮データと非圧縮データを効率よく転送する画像データ出力装置に関するものである。
【背景技術】
【０００２】
近年、デジタル技術の進歩により、人間の視覚に訴える高精細の画像を扱う機会が増えてきている。また、近頃のデジタル複写機は、原稿複数枚分の画像データをメモリに記憶することで、１度の読み取りで指定部数のコピーが得られる電子ソートという機能もある。そのような要求を達成するため、扱う情報量も著しく増加し、それに使用されるメモリ容量も著しく増大してきている。そのため、メモリコストの問題や、処理速度の低下という問題が大きくクローズアップされてきている。
その対策の一つとして、画像データを圧縮して取り扱う圧縮処理に期待するところが大きい。しかし、圧縮率は圧縮対象である画素データの種類によって大きく変動し、画像データによっては圧縮率が１を超えるもの、言い換えると圧縮することによってデータ量が膨張する場合もある。そのような場合には、画素データを圧縮せずに、非圧縮のもとのままの画素データをメモリに記憶する方がメモリ容量が少なくて済むことになる。
【０００３】
また、近年のコンピュターシステムの高速化、高効率化の要求に伴い、従来から高速なデータブロックの転送に用いられていたＤＭＡコントローラに対しても、一層効率的なデータ転送が要求されてきた。この為、外部メモリのディスクリプタ領域にデータ格納先アドレス、データ転送メモリのワード数を複数ブロック分あらかじめ設定して置くことができるチェーン式のＤＭＡコントローラが提供されている（特開平６−１０３２２５号公報参照）。このチェーン式のＤＭＡコントローラは、ディスクリプタ領域に格納されている転送動作に必要なディスクリプタ情報を読み込み、その情報に従ってデータ転送を行っている。
また、特開平９−３００７４３号公報では、画像データを記憶する画像メモリの方が入力した画像データより大きいと判断すると、画像データを非圧縮のまま画像メモリにＤＭＡ転送し、画像メモリからプリンタエンジンにＤＭＡ転送して画像形成させる手段が記載されている。また、画像メモリの方が入力した画像データより小さいと判断すると、圧縮した画像データを画像メモリにＤＭＡ転送して記憶させ、画像メモリから伸長手段を介して伸長させた後に、プリンタエンジンにＤＭＡ転送して画像形成させる手段が記載されている。
【０００４】
しかしながら、上記の例では１ページ単位の画像データで取り扱っているため、１ページ内に非圧縮した画像データと圧縮した画像データとがブロック単位に混在している場合にまで考慮されたものではなかった。さらに、メモリの有効利用から、或るブロックの画素データをメモリに連続して記憶できない場合には、２つまたは複数のメモリ個所に分割して記憶する必要が生じるときがある。
その際、圧縮して記憶するには種々の仕方があるが、例えば、ファクシミリのＭＲやＭＲＲ符号化方式のように、対象とする主走査ラインにある画素と前の主走査ラインにある画素を比較して、その変化分を送る「逐次処理符号化」や、２主走査ラインあるいは３主走査ラインにまたがる画素のブロックを考えて符号化する「一括符号化」で処理される場合がある。そのように処理され、分割して記憶された画像データを伸長処理する場合、分割して記憶されたブロックの画素データを別々に伸長処理を初期の状態に戻して伸長処理するのではなく、一連の画素データとして伸長処理を施す必要がある。即ち、連続した１個所のメモリに記憶できたブロックと、連続した１個所のメモリに記憶できず２つまたは複数のメモリ個所に分割して記憶したブロックとで、伸長手段の処理の仕方を変える必要がある。
【特許文献１】特開平６−１０３２２５号公報
【特許文献２】特開平９−３００７４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明が解決しようとする課題は、ディスクリプタ情報の一部にＤＭＡ転送する画像データが非圧縮された画像データか、圧縮された画像データかを示す情報と、前のブロックに続く画像データを扱ったものであるか否かを示す情報とを記憶させることによって、圧縮された画像データと非圧縮された画像データが混在しても高速に正しくＤＭＡ転送を処理し、しかも使用するメモリの節約を図った画像データ出力装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１記載の発明では、画像データを入力する画像データ入力部と、画像データを蓄積するメモリと、画像データを圧縮または伸張する圧縮／伸張部と、画像データごとの所定の情報を格納するディスクリプタ領域と、前記画像データの転送を行うＤＭＡコントローラと、制御部と、を備え、前記制御部は、前記画像データ入力部から取り込んだ画像データを前記圧縮／伸張部で圧縮または非圧縮のまま前記メモリに蓄積する際に、前記メモリ上の前記画像データの位置情報と圧縮／非圧縮の判定情報を前記ディスクリプタ領域に記憶させると共に、前記画像データが圧縮された際に前記メモリ上に複数の領域に分割して記憶させるときは分割した前記画像データのチェーン先位置情報を前記ディスクリプタ領域に書き込み、前記ＤＭＡコントローラは、前記制御部からの転送情報を受信したときに前記ディスクリプト領域に格納されている所定の情報に基づいて画像データを連続して出力するようにした。
【発明の効果】
【０００７】
本発明によれば、圧縮データと非圧縮データとが画像メモリに混在して記憶されていても、伸長処理して出力するものと伸長しないで出力するものとを効率良く分離して処理することを図った画像データ出力装置を提供できるようになった。
【発明を実施するための最良の形態】
【０００８】
次に、本発明の実施の形態を添付図面に基づいて詳細に説明する。
図１は画像データを入力する手段を備えた本実施形態の画像データ出力装置の主要部を示すブロック図である。図１において、画像データ入力部１１を通して取りこんだ画像データは、圧縮する必要のあるときは圧縮／伸長部７にある圧縮器によって圧縮処理された上、バスライン１３を通して画像メモリ部２に格納される。
ＣＰＵ８は、格納された画像メモリ部２のアドレス及びデータ量と、圧縮データであることを示す情報とをディスクリプタ領域１に記憶する。
画像データ入力部１１を通して取りこんだ画像データが圧縮する必要のないときは、非圧縮のまま画像メモリ部２に格納する。同様に、格納された画像メモリ部２のアドレス及びデータ量と、非圧縮の画像データであることを示す情報とをディスクリプタ領域１に記憶する。
このような繰り返しによって、入力した画像データ全てを圧縮データか非圧縮データに処理して画像メモリ部２に、その際のデータの格納情報をディスクリプタ領域１に記憶する。その後、画像データ出力装置のＣＰＵ８は、画像データ出力の指令を受信すると、ＤＭＡ転送を行うＤＭＡコントローラ（以下、ＤＭＡＣ３）に、その情報を伝える。ＤＭＡＣ３は、ディスクリプタ領域１に記憶されているディスクリプタ情報を読み取って、扱うデータブロックが圧縮されたデータか非圧縮のデータかを調べる。
【０００９】
もし、圧縮されたデータブロックであれば、ＤＭＡＣ３の指示のもとパス切替部６によって第一の経路４に切り換えられ、ディスクリプタ情報で指定された開始アドレスから画像メモリ部２上のデータを読み取って、圧縮／伸長部７に渡し、伸長処理を施させた上、画像データ出力部１２を通し外部に出力する。
また、扱うデータブロックが非圧縮のデータであれば、ＤＭＡＣ３の指示のもとパス切替部６によって第二の経路５に切り換えられ、ディスクリプタ情報で指定された開始アドレスから画像メモリ部２上のデータを読み取って、圧縮／伸長部７を通さずにそのまま画像データ出力部１２から外部に出力する。また、上述の、画像メモリ部２上のデータを読み取って、伸長処理を施させた上、画像データ出力部１２を通し外部に出力する第一の経路４において、圧縮／伸長部７によって復元された画像データをすぐ出力するのではなしに、再び画像メモリ部２に記憶させた後に、画像データ出力部１２を通し外部に出力するように図っても良い。
また、ＲＯＭ１０は主にＣＰＵ８のプログラムが格納されており、ＲＡＭ９はＣＰＵ８の演算結果や種々のデータの一次的な記憶場所として使用される。
また、ディスクリプタ情報を記憶させるディスクリプタ領域１は、独自に用意してもよいし、画像メモリ２やＲＡＭ９の一部を利用することも可能である。
【００１０】
また、図２は、ＤＭＡＣ３のＤＭＡ転送の主要動作を説明する説明図である。図２中の画像メモリ２に格納されている画像データは４つのバンドに分割されている。
バンド１、３および４は、圧縮率が１以下で符号化された圧縮データが記憶されており、バンド２は圧縮率が１を超え膨張した場合を想定している。また、バンド４は圧縮時に２つのディスクリプタで指定するメモリ領域に分割して格納している場合を想定している。このようにバンド４のケースではメモリの空きスペースを有効に使っている。
また、ＤＭＡＣ３は、主に、データ転送を指示するデータ転送制御部３ａと、ディスクリプタ領域１の場所を指示するディスクリプタ格納レジスタ３ｂとから構成されている。先ず、ＣＰＵ８によってあらかじめディスクリプタ格納レジスタ３ｂにはチェーン先アドレス（ａ）が設定されており、データ転送制御部３ａは、チェーン先アドレス（ａ）からディスクリプタ領域１のディスクリプタ１情報を読み出し、ディスクリプタ格納レジスタ３ｂにロードする。
その読み出された内容は、例えば、図２に示したように４ワードで構成されており、次のディスクリプタ情報の格納アドレスを示すチェーン先アドレス、転送するデータの先頭アドレスを示すデータ格納先アドレス、転送するデータのデータ量をワード数で示すデータ転送ワード数、及び転送するフォーマットを示すフォーマット情報がある。
ここで、第一のあらかじめ定められたビットとしてフォーマット情報の最下位ビットには、転送するデータが圧縮されたデータか非圧縮のデータかを示す情報が書き込まれている。
【００１１】
即ち、本実施例では、フォーマット情報の最下位ビットが「１」の場合は非圧縮のデータが格納されており、「０」の場合は圧縮されたデータが格納されている。この図の例では、５つのフォーマット情報の最下位ビットは、バンド２のみが非圧縮のデータであるので、順に「０」「１」「０」「０」「０」となっている。従って上記の状態では、最初の転送データはフォーマット情報の最下位ビットが「０」であるので、データ転送制御部３ａは、ディスクリプタ１に記されている格納先アドレスに対応したバンド１の転送データをＤＭＡ転送で圧縮／伸長部７に送り、伸長処理を施した上、画像データ出力部１２を通し外部に出力する。
外部に出力された画像データは、指定された外部メモリにバンド１のデータとして蓄積される。次に、データ転送制御部３ａは、フォーマット情報の最下位ビット「１」を認識して、ディスクリプタ２に記されている格納先アドレスに対応したバンド２の転送データをＤＭＡ転送で画像データ出力部１２を通し外部に出力し、指定された外部メモリにバンド２のデータとして蓄積する。このようにして、ディスクリプタ情報に基づいて画像メモリに格納された画像データを全て外部メモリにＤＭＡ転送する。
【００１２】
また、転送するデータが圧縮されたデータである時、第二のあらかじめ定められたビットとしてフォーマット情報の最上位ビットには、次のディスクリプタ情報で指定する転送データが現在処理しているデータの続きであるか、否かを示す情報が書き込まれている。
即ち、本実施例では、フォーマット情報の最上位ビットが「１」の場合は、次の転送データが現在処理しているデータの続きを意味しており、「０」の場合は、次の転送データと現在処理しているデータとは連続したデータでないことを意味している。
図２の例では、５つのディスクリプタ情報のフォーマット情報の最上位ビットは、順に「０」「０」「０」「１」「０」となっている。ここで、フォーマット情報の最上位ビットが「０」であるバンド１の転送は、転送データをＤＭＡ転送で圧縮／伸長部７に送り、伸長処理を施した上、画像データ出力部１２を通し外部に出力する。また、転送データを送り終えた際、符号転送終了信号を送出し、圧縮／伸長部７を初期の状態に戻しておく。
【００１３】
次に、バンド２の転送は、転送データを圧縮／伸長部７を通さず、ＤＭＡ転送で画像データ出力部１２を介し外部に出力する。続くバンド３の転送は、転送データをバンド１の転送終了時に初期の状態に戻された圧縮／伸長部７にＤＭＡ転送で送り、伸長処理を施した上、転送データを画像データ出力部１２を通し外部に出力する。また、転送データを送り終えた際、符号転送終了信号を送出し、圧縮／伸長部７を初期の状態に戻しておく。
次に、バンド４−１に対応するフォーマット情報の最上位ビットだけが「１」であるので、データ転送制御部３ａはバンド４−１の転送データをＤＭＡ転送で圧縮／伸長部７に送り、伸長処理を施した上、画像データ出力部１２を通し外部に出力する。そのバンド４−１の転送データを送り終えた際、符号転送終了信号は送出せず、圧縮／伸長部７はバンド４−１の最後のデータを処理した状態のままになる。
従って、次のバンド４−２の最初の転送データは前のバンド４−１の最後のデータを処理した圧縮／伸長部７の状態で伸長処理され、画像データ出力部１２を通し外部に出力する。以後、バンド４−２の転送データが次々と伸長処理され、画像データ出力部１２を通し外部に出力される。
そして、バンド４−２の転送データを送り終えた時点で、圧縮／伸長部７は初期の状態に戻される。また、上記では、第一のあらかじめ定められたビットとしてフォーマット情報の最下位ビット、第二のあらかじめ定められたビットとしてフォーマット情報の最上位ビットを例に説明したが、これに限られたものではない。
【００１４】
また、図３は、本実施形態の画像データ出力装置の主要動作を示すフロー図である。
先ず、ＤＭＡコントローラであるＤＭＡＣ３は、ディスクリプタ格納レジスタ３ｂに設定されているアドレスからディスクリプタ領域１を探し出す（ステップＳ１）。次に、探し出したディスクリプタ領域１のディスクリプタ情報に書かれている第一指定ビットを識別し（ステップＳ２）、第一指定ビットが「０」か、否かを調べる（ステップＳ３）。もし、第一指定ビットが「０」であれば（ステップＳ３でＹｅｓ）、画像メモリには圧縮されたデータが格納されているとして、読み取ってきたデータをＤＭＡ転送で圧縮／伸長部７に送り（ステップＳ４）、伸長処理を施した上、外部に出力し（ステップＳ５）、本ルーチンを終了させる。
また、ステップＳ３に戻り、第一指定ビットが「０」でなければ（ステップＳ３でＮｏ）、第１指定ビットが「１」であるので、画像メモリには非圧縮データが格納されているとして、伸長処理を施さずにそのままＤＭＡ転送で外部に出力し（ステップＳ６）、本ルーチンを終了させる。
【００１５】
上記のように構成し動作させることにより、本実施形態では、ＤＭＡコントローラは、ディスクリプタ領域に格納されているディスクリプタ情報に基づいて、画像メモリに記憶されている圧縮データに伸長処理を施した上、出力する第一の経路と、画像メモリに記憶されている非圧縮データを直接出力する第二の経路とを選択するようになっているので、画像メモリに圧縮データと非圧縮データとが混在していても、伸長処理して出力するものと伸長しないで出力するものとを効率良く分離して処理することができる。
また、本実施形態では、ＤＭＡコントローラは、ディスクリプタ情報の第一のあらかじめ定められたビットの識別によって、第一の経路または第二の経路を選択するようになっているので、画像メモリに圧縮データと非圧縮データとが混在していても、簡単に確実に、効率良く処理することができる。
【００１６】
また、本実施形態では、ＤＭＡコントローラは、ディスクリプタ情報の第一のあらかじめ定められたビットの識別によって第一の経路が選択されている時、ディスクリプタ情報の第二のあらかじめ定められたビットの識別によって、次のＤＭＡ転送のデータが現在処理しているデータに連続したデータであるか、否かを判断するようになっているので、ディスクリプタで指示する転送量の単位も自由になり、メモリが効率よく使用することができる。また、本実施形態では、ＤＭＡコントローラは、次のＤＭＡ転送のデータが現在処理しているデータに連続したデータであるか、否かの判断に基づいて伸長処理を初期の状態に戻すか、現在処理したままの処理状態にするかを選択するようになっているので、１つの画像データを圧縮して、複数の場所に分割させて記憶させても、正しく復元して出力させることができる。
【図面の簡単な説明】
【００１７】
【図１】画像データを入力する手段を備えた本発明の実施の形態の一例を示す画像データ出力装置の主要部を示すブロック図である。
【図２】ＤＭＡコントローラによるＤＭＡデータ転送の主要動作を説明する説明図である。
【図３】本発明の実施の形態の一例を示す画像データ出力装置の主要動作を示すフロー図である。
【符号の説明】
【００１８】
１  ディスクリプタ領域
２  画像メモリ部（画像メモリ）
３  ＤＭＡＣ（ＤＭＡコントローラ）
３ａ  データ転送制御部
３ｂ  ディスクリプタ格納レジスタ
４  第一の経路
５  第二の経路
６  パス切替部
７  圧縮／伸長部
８  ＣＰＵ
９  ＲＡＭ
１０  ＲＯＭ
１１  画像データ入力部
１２  画像データ出力部
【図１】
2007251983.tif 000003
【図２】
2007251983.tif 000004
【図３】
2007251983.tif 000005