(57)【特許請求の範囲】
【請求項１】
プリンタエンジンと、
メモリを介さずにバンド符号化データを復号しながらビデオ信号に変換し、前記プリンタエンジンに転送するリアルタイム復号手段と、
バンド符号化データを復号しワークメモリの第１領域に格納すると共に、前記ワークメモリの第２領域に格納されたデータをビデオ信号に変換し、前記プリンタエンジンに転送する非リアルタイム復号手段と、
前記リアルタイム復号手段を用いる場合、バンド高さを第１の高さに設定し、前記非リアルタイム復号手段を用いる場合、バンド高さを前記第１の高さの半分の第２の高さに設定する設定手段とを有することを特徴とする画像処理装置。
【請求項２】
プリンタエンジンと、メモリを介さずにバンド符号化データを復号しながらビデオ信号に変換し、前記プリンタエンジンに転送するリアルタイム復号手段と、バンド符号化データを復号しワークメモリの第１領域に格納すると共に、ワークメモリの第２領域に格納されたデータをビデオ信号に変換し、前記プリンタエンジンに転送する非リアルタイム復号手段とを有する画像処理装置で実行される画像処理方法であって、
前記リアルタイム復号手段を用いる場合、バンド高さを第１の高さに設定し、前記非リアルタイム復号手段を用いる場合、バンド高さを前記第１の高さの半分の第２の高さに設定することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バンド単位にラスタライズ機能をもち描画を行なう画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
従来、この種の画像処理装置としては、例えば、レーザービームプリンタなどの、いわゆるページプリンタと呼ばれる装置がある。これらの装置では、１ページ分のラスタデータをラスタメモリ上に保持して画像処理を行なっていた。このような画像処理装置としてのラスタデータは、テキストだけでなく、単なる図形から写真のような画像まであらゆる画像を扱うものである。
【０００３】
また、これらの画像処理装置は、近年解像度が向上し、例えば６００ｄｐｉの解像度で、Ａ４サイズ１ページ分生成するためには４ＭＢｙｔｅものメモリを必要とする。そして現在も解像度はますます増大する傾向にあり、さらに従来１画素２階調（１ビット）で表現されていた階調も、１６階調（４ビット）〜２５６階調（８ビット）へと向上しつつあり、ますます膨大なラスタメモリを必要とするようになってきている。なおかつ最近ではカラーを扱う場合も多くなりモノクロに比ベＹＭＣＫ空間の場合は４プレーン分さらに必要となりますますメモリサイズが膨大になってきた。
【０００４】
このようなメモリの増大によるコストアップを抑えるため、様々な省メモリ技術が提案されている。例えば１ページ分のラスタデータをラスタメモリ上にもつのではなく、ラスタメモリ上にバンド毎にラスタデータを符号化してもちラスタメモリ量を抑える方法がとられてきている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記方法をとる場合に、復号方式によっては、プリンタエンジンに対しビデオ転送を行う前に、復号されたデータを一旦バッファに格納する必要のあるものがある。データアンダーフローを起こすことなくエンジンに出力するため、この復号方式では、一つのバンドをバッファからプリンタエンジンに対してビデオ転送している間に、次のバンドを他のバッファに復号するという並列処理を行なう必要がある。つまりワークバッファが２つ分必要となり、ワークバッファを全く必要としない復号方式をとる場合に比べ、余分なメモリが必要となってしまい、符号化データを格納するメモリ領域が減少してしまうという問題点があった。
【０００６】
本発明は上記の従来技術の課題を解決するためになされたもので、その目的とするところは、復号方式が異なっても一定のワークバッファで画像転送処理を行なうことができ、メモリを物理的に増加させることなく高品質の画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明にかかる画像処理装置にあっては、
プリンタエンジンと、
メモリを介さずにバンド符号化データを復号しながらビデオ信号に変換し、前記プリンタエンジンに転送するリアルタイム復号手段と、
バンド符号化データを復号しワークメモリの第１領域に格納すると共に、前記ワークメモリの第２領域に格納されたデータをビデオ信号に変換し、前記プリンタエンジンに転送する非リアルタイム復号手段と、
前記リアルタイム復号手段を用いる場合、バンド高さを第１の高さに設定し、前記非リアルタイム復号手段を用いる場合、バンド高さを前記第１の高さの半分の第２の高さに設定する設定手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、復号方式が異なっても一定のワークバッファで画像転送処理を行なうことができ、メモリを物理的に増加させることなく高品質の画像処理装置及び画像処理方法を提供することが可能となった。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態としての画像処理装置の内部構造を示す概略図である。
【図２】画像処理装置のプリンタ制御ユニットの内部構成を示すブロック図である。
【図３】画像処理装置におけるページ生成処理全体の流れを示すフローチャートである。
【図４】画像処理装置における符号化方式選択処理の流れを示すフローチャートである。
【図５】画像処理装置における復号方式の調査処理の流れを示すフローチャートである。
【図６】画像処理装置におけるバンド高さ設定処理の流れを示すフローチャートである。
【図７】画像処理装置における符号化ページの生成処理の流れを示すフローチャートである。
【図８】画像処理装置における復号・転送処理の流れを示すフローチャートである。
【図９】画像処理装置におけるリアルタイム復号処理の流れを示すフローチャートである。
【図１０】画像処理装置における非リアルタイム復号処理の流れを示すフローチャートである。
【図１１】画像処理装置における２バンド並列処理の流れを示すフローチャートである。
【図１２】画像処理装置における２バンド並列処理を説明するブロック図である。
【図１３】画像処理装置における２バンド並列処理を説明するブロック図である。
【図１４】本発明の前提となる画像処理技術を説明するブロック図である。
【図１５】本発明の実施の形態としての画像処理技術を説明するブロック図である。
【図１６】本発明の実施の形態としての画像処理技術を説明するブロック図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、数式、数値等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
（一実施の形態）
［構成］
図１は、本発明の一実施の形態としてのレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図である。このＬＢＰは不図示のデータ源から文字パターンの登録や定型書式（フォームデータ）などの登録が行える。図において、１０００はＬＢＰ本体であり、外部に接続されているホストコンピュータから供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターンなどを生成し、記録媒体である記録紙上に像を形成する。１０１２は操作のためのスイッチおよびＬＥＤ表示器などが配されている操作パネル、１００１はＬＢＰ１０００全体の制御およびホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。この制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。レーザドライバ１００２は半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオンオフ切り替えする。レーザ１００４は回転多面鏡１００５で左右方向に振られ静電ドラム１００６上を走査する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム１００６周囲の現像ユニット１００７により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【００１２】
図２は、ＬＢＰ１０００に備えられた制御ユニット１００１の内部構成を示すブロック図である。
【００１３】
２００１はホストコンピュータなどの外部機器を示し、２００３はアドレスデータバスを示し、２００４はバッファ部を含むホストＩ／Ｆ、２００５は制御ユニットを制御するＣＰＵ、２００６はコントローラ制御などを行なうプログラムの格納されているＲＯＭ、２００７はＣＰＵにより制御されるＤＭＡ、２００８はパネル部、２００９は２０１１のエンジンに送るためのデータを格納しておくための出力バッファ部を含むＩ／Ｆ回路、２０１０はＲＡＭを示している。
【００１４】
［前提処理技術］
図１４のブロック図を用いて本発明の前提となる画像処理技術の説明を行う。
【００１５】
まず始めに、プリンタ１０００の制御部１００１は、ホストＩ／Ｆ２００４に外部機器２００１によって生成されたページ記述言語（ＰＤＬ）で記述された画像データを入力する。
【００１６】
つぎに、ＲＯＭ２００６に格納されたバンド符号化処理プログラムにより、ＣＰＵ２００５がバンド符号化表現生成部１４０１として機能し、外部機器２００１から入力されたページ記述言語をバンド単位に分割されたバンド符号化表現情報に変換し、ＲＡＭ２０１０に確保されているバンド符号化領域１４０２に格納する。ここでバンド符号化表現情報とは、バンド単位に分割された「ビットマップ」、「ランレングス」、「台形」、「ボックス」、「高速境界符号化されたビットマップ」などの描画オブジェクトと背景パターン、および、それらをラスタメモリに描画する際の描画論理の総称である。なお、このバンド符号化表現情報の詳細については、特開平６−８７２５１号公報に開示されている。
【００１７】
つぎに、バンド符号化表現情報をレンダー１４０４を用いてバンド単位にレンダリングし、バンドラスタ領域１４０３に格納する。
【００１８】
レンダリングしたラスタデータをバンドラスタ領域に展開したら、始めのバンドを転送部１４０５を介してエンジン２０１１に送り、出力する。そのバンドのラスタデータを出力している間に、次のバンドのラスタデータをもう一つのバンドラスタ領域１４０３に展開する。このように交互にバンドラスタ領域に展開、転送を行うことによりプリンタエンジンからデータアンダーフローを起こすことなく出力できる。さらに、転送（印刷）動作を行なうと同時に、次のページのバンド符号化表現を生成する。
【００１９】
しかし、画像データに複雑な描画オブジェクトが多く、バンド符号化領域１４０２が一杯となり、バンド符号化表現情報として全ての描画オブジェクトを格納できない場合がある。例えば、バンド符号化領域中の１つのバンドエリアをとってみても、そのバンドに描画されるべきオブジェクトのすべてが、格納されていない場合があり得る。この場合は、バンド符号化領域１４０２に全ての描画オブジェクトが存在しないので、前述のようにバンドラスタ領域１４０３にラスタ展開をすると出力できない描画オブジェクトができてしまう。
【００２０】
［特徴のある処理技術］
上記問題を解決する為、符号化表現を一旦レンダリングし、再度、圧縮率の高い符号化方式で符号化し、全ての画像情報がバンド符号化領域に収まるようにする。このとき制御ユニット１００１により以下のようなページ生成処理が行なわれる。
【００２１】
図３は、ページ生成処理全体について示すフローチャートである。
【００２２】
ステップＳ３０１において、ホストコンピュータなどの外部機器２００１からホストＩ／Ｆ部２００４に画像データが入力される。ここで、ホストＩ／Ｆ部２００４から入力される画像データは、印刷画像のフルラスタ画像形式ではなく、ページ上のオブジェクトやオブジェクトの位置のみを指定するページ記述言語（ＰＤＬ）のようなコンパクトなデータ形式であることが好ましいが、これ以外の画像データ形式であっても良い。
【００２３】
ステップＳ３０２において、入力されたデータの印刷モードを解析し符号化方式の選択を行う。次にステップＳ３０３で符号化に対応する復号方式の調査を行い、更にステップＳ３０４において復号方式に応じたバンド高さ（幅）の設定を行う。ここでは、復号方式が非リアルタイム復号方式である場合に、バンド高さをリアルタイム復号方式の場合の半分にする。
【００２４】
ここでリアルタイム復号方式とは、復号後にプリンタエンジンに対してビデオ転送を行う場合に、一旦復号データをワークバッファに格納するということなくビデオ転送できる方式と定義するものとする。また、バンドとは１ページ分のデータをいくつかの同じ大きさの短冊状に分割したものの総称とし、それぞれの分割された短冊状の高さをバンド高さと定義する。
【００２５】
ステップＳ３０５〜Ｓ３０７については、ステップＳ３０４で設定されたバンド高さに基づいてページ生成・転送処理が行なわれる。
【００２６】
ステップＳ３０３で調査の結果、リアルタイム復号方式で復号処理が行なわれる場合のページ生成・転送処理について図１５に示す。
【００２７】
入力されたＰＤＬは、バンド符号化表現生成部１４０１においてバンド符号化表現に変換されバンド符号化領域１４０２に格納される。予め確保されたバンド符号化領域に全ての画像情報が記憶できない場合には、次にレンダー１４０４でバンド毎にレンダリングされバンドラスタ領域１４０３に格納される。バンドラスタ領域は、１バンド分のビットマップデータを格納できる領域となっている。ここでは、バンドラスタ領域１４０３とバンド符号化領域１４０１とを別々に表しているが、どちらも、ＲＡＭ２０１０上の領域であり、バンドラスタ領域１４０３が大きければバンド符号化領域１４０１を圧迫することになる。この点は次の図１６においても同様である。
【００２８】
バンドラスタ領域１４０３に格納されたビットマップデータは、符号化部１５０１として機能するＣＰＵ２００５において、Ｓ３０２で選択された方式で符号化される。符号化データは圧縮バンド領域１５０３に格納される。この圧縮バンド領域１５０３に格納したバンドについてのバンド符号化領域１４０２は順次解放される。圧縮バンド領域１５０３に１ページ分の符号化データが格納されると、次に復号部１５０２でバンド毎に復号し、復号後のビットマップデータを転送部１４０５を介して順次プリンタエンジンに転送する。
【００２９】
ステップＳ３０３で調査の結果、非リアルタイム復号方式で復号処理が行なわれる場合のページ生成・転送処理について図１６に示す。
【００３０】
入力されたＰＤＬは、バンド符号化表現生成部１４０１においてバンド符号化表現に変換されバンド符号化領域１４０２に格納される。この際、バンド高さをステップＳ３０３で設定された高さ、即ち、リアルタイム復号方式の半分の高さとする。
【００３１】
予め確保されたバンド符号化領域に全ての画像情報が記憶できない場合には、次にレンダー１４０４でバンド毎にレンダリングされバンドラスタ領域１４０３に格納される。バンドラスタ領域は、１バンド分のビットマップデータを格納できる領域となっている。
【００３２】
バンドラスタ領域１４０３に格納されたビットマップデータは、符号化部１５０１として機能するＣＰＵ２００５において、Ｓ３０２で選択された方式で符号化される。符号化データは圧縮バンド領域１５０３に格納される。
【００３３】
圧縮バンド領域１５０３に１ページ分の符号化データが格納されると、次に復号部１５０２でバンド毎に復号し、バンドラスタ１４０３に展開する。途中で途切れることなくプリンタエンジンにビットマップデータを転送するためには、バンドラスタは２バンド分必要であり、１バンド分のバンドラスタにビットマップデータを展開しながら、もう１バンド分のバンドラスタからビットマップデータを順次プリンタエンジンに転送する。つまり、２つのバンドラスタをダブルバッファとして用いて並列処理するが、予めバンド高さを半分に設定しているので、リアルタイム復号方式を用いて復号処理を行なう場合に比して、必要なバンドラスタ領域が増えることはなく、他のメモリ領域を圧迫しない。
【００３４】
以下に、ステップＳ３０２〜Ｓ３０４、Ｓ３０６〜Ｓ３０７の各処理について説明する。
【００３５】
［符号化方式の選択］
図４は符号化方式の選択処理を詳細に示すフローチャートである。
【００３６】
ステップＳ４０１においてモードの調査を行う。この場合のモードとは、これから印刷するデータがカラーモード、モノクロモード、イメージモードなどのモードに分けられているものとする。もちろんカラーモードはカラープリンタの場合のみ選択可能である。ステップＳ４０１でのモードの調査でモードがイメージならばステップＳ４０２において符号化方式１を選択し、ステップＳ４０５において符号化方式を符号化方式１に決定する。
【００３７】
同様にステップＳ４０１でのモード調査でモードがカラーならステップＳ４０３において符号化方式２を選択し、ステップＳ４０５において符号化方式を符号化方式２に決定する。さらにステップＳ４０１でのモード調査でモードがモノクロならステップＳ４０４において符号化方式を符号化方式３を選択し、ステップＳ４０５において符号化方式を符号化方式３に決定する。
【００３８】
ただしイメージモードとカラーモード又はモノクロモードの条件が重なった場合は、イメージモードが他のモードよりもモード選択の優先度をもっているものとする。そしてモードごとの符号化方式決定が終了したら、ステップＳ４０６において符号化方式の選択の処理を終了する。
【００３９】
［復号方式の調査］
図５は復号方式の調査処理を詳細に示すフローチャートである。
【００４０】
ステップＳ５０１において図３のステップＳ３０２において選択した符号化方式の獲得を行う。ステップＳ５０２においてステップＳ５０１で獲得した符号化方式に対しての復号方式としてリアルタイム復号方式が存在するかどうかを調査する。
【００４１】
ステップＳ５０２でリアルタイム復号方式が存在すると判断されたなら、ステップＳ５０３において復号方式をリアルタイム復号に設定する。これとは逆にステップＳ５０２でリアルタイム復号が存在しないと判断されたなら、復号方式を非リアルタイム復号方式に設定する。復号方式が設定されると処理が終了する。
【００４２】
［バンド高さの設定］
図６はバンド高さの設定処理を詳細に示すフローチャートである。
【００４３】
通常、バンド高さは１ページ分のデータを格納する領域に対しての相対関係で決まるものであり、高さが大きい方がバンド同士の境界ラスタが少なく、重複するデータが少なくなる為、メモリ効率が高いものとして知られている。ここではバンド高さは“Ｈ”と決定されたものとする。
【００４４】
ステップＳ６０１において決定されているバンド高さ（Ｈ）を獲得する。
【００４５】
ステップＳ６０２において、図３のステップＳ３０３で調査した復号方式を獲得する。
【００４６】
ステップＳ６０３において、ステップＳ６０２で獲得した復号方式が、非リアルタイム復号なら、ステップＳ６０４に進みバンド高さを半分（１／２Ｈ）に設定する。逆にステップＳ６０２で獲得した復号方式がリアルタイム復号なら、ステップＳ６０５に進みバンド高さをそのままの値（Ｈ）で設定する。
【００４７】
そしてバンド高さの設定の処理系は終了する。
【００４８】
［符号化処理］
バンド符号化表現ではバンド符号化領域に画像情報が格納しきれない場合、図７のような処理を行なうことにより符号化ページの生成を行なう。
【００４９】
図７は、符号化ページの生成処理を詳細に示すフローチャートである。
【００５０】
ステップＳ７０１においてワークメモリのアロケートを行う。ここでいうワークメモリとは復号されたビットマップデータを格納するバンドラスタ領域のことであり、図３のステップＳ３０４において決定したバンド高さに比例して生成されたバンドと同じ大きさのメモリ量である。ステップＳ７０２において、バンド数を示す“ｎ”を０に初期化する。なお“ｎ”は、
０＜＝ｎ＜＝ｎ＿ｍａｘ
※ただし、ｎ＿ｍａｘは最大バンド番号で整数とする。
を満たす整数とする。ステップＳ７０３においてカレントバンド番号を示す“ｎ”が“ｎ＿ｍａｘ”を越えているかどうか調査する。もしも“ｎ＿ｍａｘ”を越えているなら全バンドの処理が終了したものと判断し、ステップＳ７０８においてこの処理系を終了する。ステップＳ７０３において、カレントバンド番号“ｎ”が“ｎ＿ｍａｘ”を越えていないなら、ステップＳ７０４に進む。
【００５１】
ステップＳ７０４において、図３のステップＳ３０５のバンド符号化表現をステップＳ７０１で獲得したワークメモリへレンダリングする。
【００５２】
次にステップＳ７０５において、図３のステップＳ３０２で選択された符号化方式を用いてステップＳ７０１で獲得したワークメモリにステップＳ７０４でレンダリングされたビットマップデータを符号化する。
【００５３】
ステップＳ７０６において、符号化されたデータを圧縮バンド領域１５０３へ格納する。
【００５４】
ステップＳ７０７において、カレントバンド番号“ｎ”を次のバンドへ（ｎ＝ｎ＋１）進める。
【００５５】
再びステップＳ６０３に戻り上述の処理を繰り返して最終バンドまで行い、符号化ページの生成処理を終了する。
【００５６】
［復号・転送処理］
図８は、復号・転送処理について詳細に示すフローチャートである。
【００５７】
ステップＳ８０１において、図３のステップＳ３０３の復号方式の調査で選択された符号化方式がリアルタイム復号方式か、非リアルタイム復号方式か調べる。もしリアルタイム復号方式ならステップＳ８０３に進みリアルタイム復号処理を行い、バンド復号方式ならステップＳ８０２に進みバンド復号処理を行う。
【００５８】
図９は、リアルタイム復号処理を詳細に説明するフローチャートである。
【００５９】
ステップＳ９０１において復号方式をリアルタイム復号方式の選択をする。ステップＳ８０２においてカレントバンド番号“ｎ”を０に初期化する。なお“ｎ”は、
０＜＝ｎ＜＝ｎ＿ｍａｘ
※ただし、ｎ＿ｍａｘは最大バンド番号で整数とする。
を満たす整数とする。ステップＳ９０３において、カレントバンド番号“ｎ”が“ｎ＿ｍａｘ”を越えているかどうかを調査する。もし越えているなら、全バンド分の復号が終了したものと判断しステップＳ９０６に進み、リアルタイム符号化処理を終了する。逆にステップＳ９０３でカレントバンド番号“ｎ”が”“ｎ＿ｍａｘ”を越えていないならステップＳ９０４に進む。
【００６０】
ステップＳ９０４において、“ｎ”バンド目の符号化データを復号しながら、ビデオ信号に変換しプリンタエンジンに転送し、当該バンドの復号・転送を行う。
【００６１】
ステップＳ９０５において、カレントバンド番号“ｎ”を次のバンド“ｎ＝ｎ＋１”に進める。
【００６２】
そしてステップＳ９０３に戻り、上記処理同様に最終バンドまで処理を行い、リアルタイム復号処理が終了し、復号・転送処理が終了する。
【００６３】
一方図８のステップＳ８０１で復号方式が非リアルタイム復号方式ならステップＳ８０２において、非リアルタイム復号処理を行う。非リアルタイム復号処理の詳細については、図１０のフローチャートを用いて説明する。
【００６４】
ステップＳ１００１において、復号方式を非リアルタイム復号方式の選択を行う。次にステップＳ１００２においてバンド処理を行う。バンド処理の詳細な説明は図１１のフローチャートを用いて行う。
【００６５】
ステップＳ１１０１において、２バンド分のワークメモリを獲得する。これは図７のステップＳ７０１で獲得したワークメモリの２倍の大きさであるが、リアルタイム復号時に獲得したワークメモリのサイズと同じサイズである（１／２Ｈ×２）。つまりバンド高さを半分にしたため、ワークメモリ自体の大きさはリアルタイム復号、非リアルタイム復号のいずれの場合も差はなくなっている。そして、それぞれのワークメモリを、ワークメモリ１、ワークメモリ２と呼ぶことにする。
【００６６】
まずステップＳ１１０２において、０バンド目の符号化データを復号しワークメモリ１に格納する。
【００６７】
ステップＳ１１０３において、カレント番号“ｎ”を１に初期化する。
【００６８】
なお“ｎ”は、
１＜＝ｎ＜＝ｎ＿ｍａｘ
※ただし、ｎ＿ｍａｘは最大バンド番号で整数とする。
を満たす整数とする。
【００６９】
ステップＳ１１０４において、カレントバンド番号“ｎ”が最終バンド“ｎ＿ｍａｘ”を越えていないかどうか調査する。もしも越えていなければ、ステップＳ１１０５に進む。
【００７０】
ステップＳ１１０５において、“ｎ−１”バンド目をワークメモリ１よりビデオ信号に変換し、プリンタエンジンに転送し“ｎ−１”バンド目の復号・転送処理を行う。最初は、ステップＳ１１０２で復号した０バンド目がこれに該当する。この処理と並列して“ｎ”バンド目を復号してワークメモリ１に復号データを格納する。最初は、１バンド目の符号化データを復号し格納する。
【００７１】
ステップＳ１１０６に進み、カレントバンド番号“ｎ”を次のバンド番号（ｎ＝ｎ＋１）に進める。
【００７２】
これらの処理を図式化したものが図１２及び図１３である。
【００７３】
まず図１２のワークメモリ１に既に復号されている“ｎ”バンド目の復号データをビデオ信号に変換しプリンタエンジンに転送する。その間に“ｎ＋１”バンド目の符号化データ復号しワークメモリ２に格納する。
【００７４】
次に図１３に進み、図１２でワークメモリ１に復号されたデータを同様にビデオ信号化に変換しプリンタエンジンに転送する。その間に既にビデオ信号化して“ｎ”バンド目のデータは不要になったのでワークメモリ１に“ｎ＋２”バンド目の復号を行う。
【００７５】
この図１２、図１３の処理を最終バンドまで続ける。
【００７６】
なおこの処理において、片方のワークメモリからプリンタエンジンにビデオ転送が終了するまでに、別のワークメモリへの復号は必ず終了するものとする。
【００７７】
次にステップＳ１１０４に戻り上記処理を最終バンドまで続ける。
【００７８】
ステップＳ１１０４で最終バンドまで終了したら復号・転送処理を終了する。
【００７９】
（他の実施の形態）
上記実施の形態は、モードの選択にイメージ、カラー、モノクロの３種類のみの場合を扱ったが、それ以外の場合であっても構わない。
【００８０】
上記実施の形態は、３種類の符号化方式を用いた場合を扱ったが、符号化方式が何種類あっても構わない。
【００８１】
上記実施の形態は、バンド処理において２バンド分で処理を行う場合を扱ったが、２バンド以上あった場合でも構わない。
【００８２】
上記実施の形態は、符号化時、復号時にワークメモリをアロケートする場合扱ったが一定の領域が用意されている場合でも構わない。
【００８３】
上記実施の形態は、バンド数は２バンド以上の場合を扱ったが２バンド未満の場合であっても構わない。
【００８４】
上記実施の形態では、モード選択において、イメージモードとカラーモード又はモノクロモードの条件が重なった場合、イメージモードを優先的にモード選択の項目として扱ったが、もちろんこれ以外の場合であってもよい。
【００８５】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８６】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（特に図３、図６に示す）フローチャートに対応するプログラムコードが格納されることになる。
【００８９】
本発明により、復号方式が異なっても一定のワークバッファで画像転送処理を行なうことができ、メモリを物理的に増加させることなく高品質の画像処理装置及び画像処理方法を提供することが可能となった。
【図１】
0004474487.tif 000002
【図２】
0004474487.tif 000003
【図３】
0004474487.tif 000004
【図４】
0004474487.tif 000005
【図５】
0004474487.tif 000006
【図６】
0004474487.tif 000007
【図７】
0004474487.tif 000008
【図８】
0004474487.tif 000009
【図９】
0004474487.tif 000010
【図１０】
0004474487.tif 000011
【図１１】
0004474487.tif 000012
【図１２】
0004474487.tif 000013
【図１３】
0004474487.tif 000014
【図１４】
0004474487.tif 000015
【図１５】
0004474487.tif 000016
【図１６】
0004474487.tif 000017