(57)【要約】【課題】画像処理装置および画像形成装置において、画像処理の速度を向上させつつ、画像欠損が生じる事態を回避すること。【解決手段】原稿のブロックごとの圧縮データが、ファイルメモリー４１に格納される。ファイルメモリー４１に格納された各ブロックの圧縮データは、伸長器１２−１〜１２−Ｎで伸長された後、シフト演算器１１−１，１１−２で演算処理されて、サブメモリー８に書き込まれる。シフト演算器１１−１の起動中にシフト演算器１１−２が起動される際には、シフト演算器１１−２の処理対象のブロックとして、シフト演算器１１−１における処理対象のブロックから、拡張部分以上離れたブロックが設定される。【選択図】図２
2015076800.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の画像データにおける複数の部分のそれぞれについてシフト演算処理を実行する２以上のシフト演算器と、
各前記シフト演算器における画像処理後のデータを出力するためのメモリと、
前記２以上のシフト演算器の動作を制御するための制御装置とを備えた画像処理装置において、
前記シフト演算器は、前記部分よりも予め定められた拡張部分だけ延長された領域に対応する画像データを前記メモリから読み込み、当該読み込んだ画像データと前記部分のシフト演算処理後の画像データとを用いて論理演算処理することによって書き込み用の画像データを生成し、当該書き込み用の画像データを前記メモリに書き込むように構成されており、
前記制御装置は、各前記シフト演算器に、前記複数の部分のうち、前記２以上のシフト演算器のうち動作中のものによって処理対象とされている前記部分に対して少なくとも前記拡張部分以上離間している部分について、シフト演算処理を実行させるように構成されている、画像処理装置。
【請求項２】
前記処理対象の画像データは、画像が走査されることによって生成され、
前記制御装置は、前記複数の部分のうち、前記走査の副走査方向の先頭に近い部分から優先的に、各前記シフト演算器の処理対象とするように構成されている、請求項１に記載の画像処理装置。
【請求項３】
前記画像データは、２以上の色のデータを含み、
前記シフト演算器は、各前記部分の前記２以上の色のデータを１回のシフト演算処理のための入力として受け付ける、請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記画像データは、１以上の色のデータを含み、
前記シフト演算器は、各前記部分の画像データについて、各前記色ごとに、１回のシフト演算処理のための入力として受け付ける、請求項１または請求項２に記載の画像処理装置。
【請求項５】
前記シフト演算器は、さらに、画像データに対して、回転処理、トリミング処理、またはマスク処理の機能を有するように構成されている、請求項１〜請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前記処理対象の画像データを、所定の処理を施した後、各前記シフト演算器へ出力する２以上のデータ処理器をさらに備え、
前記２以上のデータ処理器のそれぞれは、各前記シフト演算器に対応して設けられ、
各前記データ処理器は、当該前記データ処理器が対応する前記シフト演算器に、前記所定の処理後のデータを出力する、請求項１〜請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
前記データ処理器は、データ伸長器であり、
前記処理対象の画像データは、圧縮された画像データであり、
前記データ処理器は、各前記部分の圧縮された画像データを伸長した後、当該データ処理器が対応する前記シフト演算器へと出力する、請求項６に記載の画像処理装置。
【請求項８】
画像データを処理するための画像処理装置と、前記画像処理装置によって処理された画像データに用いて画像を出力する画像出力装置を備えた画像形成装置であって、
前記画像処理装置は、
処理対象の画像データにおける複数の部分のそれぞれについてシフト演算処理を実行する２以上のシフト演算器と、
各前記シフト演算器における画像処理後のデータを出力するためのメモリと、
前記２以上のシフト演算器の動作を制御するための制御装置とを備え、
前記シフト演算器は、前記部分よりも予め定められた拡張部分だけ延長された領域に対応する画像データを前記メモリから読み込み、当該読み込んだ画像データと前記部分のシフト演算処理後の画像データとを用いて論理演算処理することによって書き込み用の画像データを生成し、当該書き込み用の画像データを前記メモリに書き込むように構成されており、
前記制御装置は、各前記シフト演算器に、前記複数の部分のうち、前記２以上のシフト演算器のうち動作中のものによって処理対象とされている前記部分に対して少なくとも前記拡張部分以上離間している部分について、シフト演算処理を実行させるように構成されており、
前記画像出力装置は、前記シフト演算器による書き込みが完了した画像データを用いて、画像を出力する、画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および画像形成装置に関し、特に、画像データに対してシフト処理を実行する画像処理装置および画像形成装置に関する。
【背景技術】
【０００２】
従来、スキャナ等から取得した画像データに対して種々の処理を行なう画像処理装置が提案されている。たとえば、特開２００５−１０９８５６号公報（特許文献１）は、画像データの回転処理を行なう回路及び当該回路を有する画像処理装置を開示している。当該回路では、画像データをブロック単位で分割して回転処理を実行することにより、必要とされるメモリー容量の削減が図られている。
【０００３】
また、従来の画像処理装置には、圧縮された画像データを、シフト演算器を利用して処理するものがある。このような画像処理装置では、画像データから分割された各矩形領域（ブロック）の画像データは、圧縮された後、伸張器によって伸張され、そして、シフト演算器で論理演算（ＡＮＤ／ＯＲ／ＯＶＥＲＬＡＹ）の処理を施される。そして、シフト演算器は、メモリー領域に、演算処理後のデータを書き込む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１０９８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の画像処理装置において、シフト演算器は、書き込み先のメモリーの種類（たとえば、ＤＤＲ（Double-Data-Rate））との関係において、一回の書き込みのデータ量を、６４ｂｉｔ等のように所定の値に特定される場合があった。このような場合、シフト演算器は、一回の書き込みで、伸長された画像データのサイズ以上の画像データを、出力先のメモリー領域に書き込む。したがって、シフト演算器は、出力先のメモリーから画像データを読み込み、当該読み込んだ画像データと伸長された画像データとの間で論理演算を施した後、当該出力先のメモリー領域へデータを書き込む必要がある。このとき、出力先のメモリーから読み込むデータは、元の伸張画像データ（上記ブロックのデータが伸長器によって伸長されたもの）に、所定の拡張部分（たとえば、６４ｄｏｔ分）を追加されたものとなる。たとえば、シフト演算器は、１ｄｏｔ〜６３ｄｏｔのシフトを実現するためには、出力先のメモリーから、伸長画像データに対応する領域の画像データと、当該領域の画像データに対して上下左右に拡張部分（＋６４ｂｉｔ）だけ広げられた領域のデータとを読み込み（Ｒｅａｄし）、そして、読み込んだデータと伸張画像データとの論理演算（ＡＮＤ／ＯＲ／ＯＶＥＲＷＲＩＴＥ）の結果を、出力先のメモリーに書き込む。
【０００６】
ここで、画像処理装置は、処理速度を向上するために、シフト演算器を複数備える場合がある。このような場合に各シフト演算器の一回の書き込みのデータ量を特定されると、隣接する画像領域の伸長データが書き込まれるときに、出力先のメモリーにおいてデータの欠損が生じる事態が想定される。出力先のメモリーの隣接する領域に伸長データを書き込む複数のシフト演算器が同時に処理を行った場合、出力先のメモリーにおける、これらのシフト演算器の、書き込みおよび読み込みの対象となる領域の一部が重複するからである。つまり、一つのシフト演算器の出力画像が、同時に処理を実行する他のシフト演算器の出力画像で上書きされてしまうこと等により、画像欠損が発生する事態が想定される。
【０００７】
本開示は係る実情に鑑み考え出されたものであり、その目的は、画像処理装置および画像形成装置において、画像処理の速度を向上させつつ、画像欠損が生じる事態を回避することである。
【課題を解決するための手段】
【０００８】
ある局面に従うと、処理対象の画像データにおける複数の部分のそれぞれについてシフト演算処理を実行する２以上のシフト演算器と、各シフト演算器における画像処理後のデータを出力するためのメモリと、２以上のシフト演算器の動作を制御するための制御装置とを備えた画像処理装置において、シフト演算器は、部分よりも予め定められた拡張部分だけ延長された領域に対応する画像データをメモリから読み込み、当該読み込んだ画像データと部分のシフト演算処理後の画像データとを用いて論理演算処理することによって書き込み用の画像データを生成し、当該書き込み用の画像データをメモリに書き込むように構成されており、制御装置は、各シフト演算器に、複数の部分のうち、２以上のシフト演算器のうち動作中のものによって処理対象とされている部分に対して少なくとも拡張部分以上離間している部分について、シフト演算処理を実行させるように構成されている。
【０００９】
好ましくは、処理対象の画像データは、画像が走査されることによって生成され、制御装置は、複数の部分のうち、走査の副走査方向の先頭に近い部分から優先的に、各シフト演算器の処理対象とするように構成されている。
【００１０】
好ましくは、画像データは、２以上の色のデータを含み、シフト演算器は、各部分の２以上の色のデータを１回のシフト演算処理のための入力として受け付ける。
【００１１】
好ましくは、画像データは、１以上の色のデータを含み、シフト演算器は、各部分の画像データについて、各色ごとに、１回のシフト演算処理のための入力として受け付ける。
【００１２】
好ましくは、シフト演算器は、さらに、画像データに対して、回転処理、トリミング処理、またはマスク処理の機能を有するように構成されている。
【００１３】
好ましくは、処理対象の画像データを、所定の処理を施した後、各シフト演算器へ出力する２以上のデータ処理器をさらに備え、２以上のデータ処理器のそれぞれは、各シフト演算器に対応して設けられ、各データ処理器は、当該データ処理器が対応するシフト演算器に、所定の処理後のデータを出力する。
【００１４】
好ましくは、データ処理器は、データ伸長器であり、処理対象の画像データは、圧縮された画像データであり、データ処理器は、各部分の圧縮された画像データを伸長した後、当該データ処理器が対応するシフト演算器へと出力する。
【００１５】
他の局面に従うと、画像データを処理するための画像処理装置と、画像処理装置によって処理された画像データに用いて画像を出力する画像出力装置を備えた画像形成装置であって、画像処理装置は、処理対象の画像データにおける複数の部分のそれぞれについてシフト演算処理を実行する２以上のシフト演算器と、各シフト演算器における画像処理後のデータを出力するためのメモリと、２以上のシフト演算器の動作を制御するための制御装置とを備え、シフト演算器は、部分よりも予め定められた拡張部分だけ延長された領域に対応する画像データをメモリから読み込み、当該読み込んだ画像データと部分のシフト演算処理後の画像データとを用いて論理演算処理することによって書き込み用の画像データを生成し、当該書き込み用の画像データをメモリに書き込むように構成されており、制御装置は、各シフト演算器に、複数の部分のうち、２以上のシフト演算器のうち動作中のものによって処理対象とされている部分に対して少なくとも拡張部分以上離間している部分について、シフト演算処理を実行させるように構成されており、画像出力装置は、シフト演算器による書き込みが完了した画像データを用いて、画像を出力する。
【発明の効果】
【００１６】
本開示によれば、画像処理装置および画像形成装置において、画像処理の速度を向上させつつ、画像欠損が生じる事態を回避できる。
【図面の簡単な説明】
【００１７】
【図１】ＭＦＰ（Multi-Functional  Peripheral）のハードウェアの構成を概略的に示す図である。
【図２】ＡＳＩＣ（Application  Specific  Integrated  Circuit）の構成を示す図である。
【図３】圧縮器の機能を説明するための図である。
【図４】シフト演算器の機能を説明するための図である。
【図５】２つのシフト演算器の動作タイミングの一例を示す図である。
【図６】サブメモリー上に書き込まれた画像データの、形成される画像における配置を模式的に示す図である。
【図７】サブメモリー上に書き込まれた画像データの、形成される画像における配置を模式的に示す図である。
【図８】サブメモリー上に書き込まれた画像データの、形成される画像における配置を模式的に示す図である。
【図９】ジョブ情報の一例を模式的に示す図である。
【図１０】用紙の向きの情報を説明するための図である。
【図１１】原稿の向きを説明するための図である。
【図１２】シフト設定の設定内容を説明するための図である。
【図１３】トリミング設定の内容を説明するための図である。
【図１４】マスク設定の内容を説明するための図である。
【図１５】画像データ管理情報の一例を模式的に示す図である。
【図１６】複数のブロックに分割された原稿の一例を示す図である。
【図１７】伸長情報の一例を示す図である。
【図１８】ジョブにおける回転角度の設定値が「９０度」である場合の、原稿画像ブロックと伸長後ブロックとの関係を説明するための図である。
【図１９】動作情報の一例を示す図である。
【図２０】画像形成処理のフローチャートである。
【図２１】画像形成処理のフローチャートである。
【図２２】画像形成処理のフローチャートである。
【図２３】カラーの画像データの圧縮についての２つの実施例を説明するための図である。
【図２４】圧縮データ格納アドレスの変形例を示す図である。
【図２５】カラーの画像データの伸長についての２つの実施例を説明するための図である。
【発明を実施するための形態】
【００１８】
以下、本開示に係る画像処理装置および画像形成装置について、図面を参照して説明する。なお、各図において、同様の作用および機能を奏する構成要素については、同じ符号を付し、その説明は繰返さない。
【００１９】
［ＭＦＰの構成］
画像形成装置の一実施の形態であるＭＦＰについて、説明する。図１は、ＭＦＰのハードウェアの構成を概略的に示す図である。
【００２０】
図１をＭＦＰ１０は、ＡＳＩＣ１、動作制御部２、ユーザーＩＦ（インターフェース）３、メインメモリー４、ネットワークＩＦ５、ＩＲ（イメージリーダー）６、プリンター７、および、サブメモリー８を含む。ＭＦＰ１０では、これらの各要素は、互いにバス（ＰＣＩ（Peripheral  Component  Interconnect）バス、ローカルバス、等）で接続されている。本実施の形態では、動作制御部２とＡＳＩＣ１によって、画像処理装置の一例が示される。
【００２１】
動作制御部２は、ＣＰＵ（Central  Processing  Unit）等の演算装置を備え、ＡＳＩＣ１の動作を制御する。より具体的には、動作制御部２は、ＡＳＩＣ１のレジスターを書き換えることによって、ＡＳＩＣ１の動作を制御する。
【００２２】
ＭＦＰ１０では、ＩＲ６は、画像を読み込んで、画像データ（元データ）を生成する。ＡＳＩＣ１は、ＩＲ６が生成した元データを、圧縮して、メインメモリー４へ格納する。ＡＳＩＣ１は、さらに、メインメモリー４に格納されたデータ（圧縮後の元データ）を、伸長し、印刷ジョブごとに画像処理を施して、サブメモリー８に格納する。そして、ＡＳＩＣ１は、画像処理後のデータを、プリンター７へ出力する。プリンター７は、ＡＳＩＣ１から入力されたデータに基づいて、画像を形成し、出力する。これにより、ＭＦＰ１０は、ＩＲ６において入力された画像を、プリンター７から出力する。
【００２３】
［ＡＳＩＣの構成］
次に、図１のＡＳＩＣ１の構成をより詳細に説明する。図２は、ＡＳＩＣ１の構成を示す図である。
【００２４】
図２を参照して、ＡＳＩＣ１は、ＩＲ入力器１４、Ｎ個の圧縮器１３−１〜１３−Ｎ、Ｎ個の伸長器１２−１〜１２−Ｎ、２個のシフト演算器１１−１，１１−２、および、プリンター出力器１５を含む。図２では、複数の圧縮器と、複数の伸長器と、複数のシフト演算器とが示されている。これらの個数は図２に示されたものに限定されない。特に、シフト演算器の数は、２以上であれば、図２に示された数に限定されない。
【００２５】
圧縮器１３−１〜１３−Ｎのすべては、等価の構成を有していても良い。したがって、本明細書では、これらを総称して「圧縮器１３」と呼ぶ場合がある。
【００２６】
伸長器１２−１〜１２−Ｎのすべては、等価の構成を有していても良い。したがって、本明細書では、これらを総称して「伸長器１２」と呼ぶ場合がある。
【００２７】
シフト演算器１１−１，１１−２のすべては、等価の構成を有していても良い。したがって、本明細書では、これらを総称して「シフト演算器１１」と呼ぶ場合がある。
【００２８】
ＩＲ入力器１４は、ＩＲ６から、当該ＩＲ６で生成された画像データを受信する。そして、ＩＲ入力器１４は、入力された画像データを、サブメモリー８に格納する。
【００２９】
図３は、圧縮器１３の機能を説明するための図である。図２および図３を参照して、圧縮器１３は、サブメモリー８に格納された画像データを、圧縮して、メインメモリー４内のファイルメモリー４１に格納する。動作制御部２は、原稿の画像９００を、破線で示されたように複数のブロックに分割する。圧縮器１３−１〜１３−Ｎのそれぞれは、各ブロックの画像データを圧縮して、ファイルメモリー４１に格納する。図３では、圧縮された各ブロックの画像データが、「圧縮データ（１）」〜「圧縮データ（Ｎ）」として示されている。
【００３０】
図４は、シフト演算器１１の機能を説明するための図である。図２および図４を参照して、伸長器１２−１，１２−２のそれぞれは、メインメモリー４に格納された互いに異なるブロックの画像データ（圧縮された画像データ）を伸長して、シフト演算器１１−１，１１−２のそれぞれに出力する（図４中の矢印Ｅ１，Ｅ２）。
【００３１】
シフト演算器１１−１は、伸長器１２−１から伸長された画像データを受信するとともに、当該画像データに対応する画像データを、サブメモリー８から読み出す（図４中の「Ｒｅａｄ」、矢印Ｒ１）。読み出される画像データは、原稿において伸長された画像データが領域と同じ領域に対応する画像データ、および、当該「同じ領域に対応する画像データ」に対する拡張部分の画像データである。そして、シフト演算器１１−１は、サブメモリー８から読み出した画像データと、伸長器１２から入力された画像データとをバッファに格納する。そして、シフト演算器１１−１は、バッファに格納した２つの画像データを利用して、上記画像データが属するジョブ等における設定に従った演算（シフト演算、および、論理演算（ＡＮＤ／ＯＲ／ＯＶＥＲＷＲＩＴＥ））を施す。そして、シフト演算器１１−１は、演算の結果として得られた画像データを、サブメモリー８に書き込む（図４中の「ＷＲＩＴＥ」、矢印Ｗ１）。
【００３２】
シフト演算器１１−２も、シフト演算器１１−１と同様に、伸長器１２−２から画像データを受信し、サブメモリー８から画像データを読み込み（図４中の「ＲＥＡＤ」、矢印Ｒ２）、演算処理を実行し、そして、演算処理後の画像データをサブメモリー８に書き込む（図４中の「ＷＲＩＴＥ」、矢印Ｗ２）。
【００３３】
図４中の画像データＤＡ１０は、伸長器１２−１が伸長するメインメモリー４中の圧縮画像データである。また、画像データＤＡ２０は、伸長器１２−２が伸長するメインメモリー４中の圧縮画像データである。
【００３４】
また、伸長器１２−１，１２−２からシフト演算器１１−１，１１−２に送られた、伸長後の画像データのそれぞれを示す画像の領域が、領域ＡＲ１１，ＡＲ２１で示されている。領域ＡＲ１２，ＡＲ２２のそれぞれは、領域ＡＲ１１，ＡＲ２１のそれぞれに、上記した拡張部分が加えられた領域である。なお、領域ＡＲ１１，ＡＲ２１のそれぞれは、画像データＤＡ１０，ＤＡ２０のそれぞれの伸長データがシフト処理された後の領域を示す。主走査方向（図４の右方向）のシフト量は「ＳＲ０１」である。副走査方向（図４の下方向）のシフト量は「ＳＤ０１」である。
【００３５】
サブメモリー８における、シフト演算器１１−１による画像データの読み出し領域および書き込み領域が、領域ＡＲ１４で示されている。また、サブメモリー８における、シフト演算器１１−２による画像データの読み出し領域および書き込み領域が、領域ＡＲ２４で示されている。領域ＡＲ１４，ＡＲ２４の中のそれぞれは、領域ＡＲ１２，ＡＲ２２のそれぞれに対応する。領域ＡＲ１４，ＡＲ２４の中の領域ＡＲ１３，ＡＲ２３のそれぞれは、領域ＡＲ１１，ＡＲ２１のそれぞれに対応する。
【００３６】
図４において説明された圧縮データの伸長において、画像データＤＡ１０の点Ｐ１１に相当する点は、領域ＡＲ１１では点Ｐ１２であり、領域ＡＲ１３では点Ｐ１３である。また、画像データＤＡ２０の点Ｐ２１に相当する点は、領域ＡＲ２１では点Ｐ２２であり、領域ＡＲ２３では点Ｐ２３である。
【００３７】
なお、サブメモリー８は、たとえばＤＤＲ等のように、シフト演算器１１によるデータの書き込みによる一回のデータの書き込みのデータ量を所定の量（たとえば、６４ｂｉｔ）に限定するタイプのメモリーである。このことから、シフト演算器１１−１，１１−２からサブメモリー８への画像データの一回の書き込みのデータ量は、所定の量（たとえば、６４ｂｉｔ）とされる。
【００３８】
［処理対象のブロックの設定］
ＭＦＰ１０において、サブメモリー８への画像データの書き込みに複数のシフト演算器１１が利用される際の、各シフト演算器１１の処理対象のブロックの設定について説明する。
【００３９】
図４に示されたように、シフト演算器１１は、あるブロックの画像データに加えて、当該ブロックについての拡張部分の画像データを、１回の書き込みで、サブメモリー８に書き込む。したがって、書き込み対象のブロックが隣接する画像データを扱う２以上のシフト演算器１１が同時に書き込みを行う場合、当該２以上のシフト演算器１１のそれぞれの処理対象の拡張部分同士が、同時に、当該２以上のシフト演算器１１による書き込みおよび読み込みの対象となり得る。このことを、図５〜図８を参照して、より詳細に説明する。
【００４０】
図５は、２つのシフト演算器１１の動作タイミングの一例を示す図である。図６〜図８のそれぞれは、サブメモリー８上に書き込まれた画像データの、形成される画像における配置を模式的に示す図である。
【００４１】
図５では、シフト演算器１１−１の動作状態が線Ｌ１で示されている。また、シフト演算器１１−２の動作状態が線Ｌ２で示されている。シフト演算器１１−１，１１−２のそれぞれの動作状態は、「Ｈｉｇｈ」または「Ｌｏｗ」で示されている。「Ｈｉｇｈ」は、画像データの読み込みおよび書き込みの動作を実行している状態を示す。「Ｌｏｗ」は、これらの動作を実行していない状態を示す。
【００４２】
図５に示された例では、まず、シフト演算器１１−１とシフト演算器１１−２の双方の動作状態が、「Ｌｏｗ」である。そして、時刻Ｔ１で、シフト演算器１１−２の動作状態が「Ｈｉｇｈ」になる。つまり、シフト演算器１１−２が（あるブロックについての）動作を開始する。その後、時刻Ｔ２において、シフト演算器１１−１の動作状態が「Ｈｉｇｈ」になる。つまり、シフト演算器１１−１が（別のブロックについての）動作を開始する。その後、時刻Ｔ３において、シフト演算器１１−２が動作を終了する（動作状態が「Ｌｏｗ」）。その後、時刻Ｔ４において、シフト演算器１１−１が動作を終了する（動作状態が「Ｌｏｗ」）。つまり、図５に示された例では、時刻Ｔ２から時刻Ｔ３までの間、シフト演算器１１−１とシフト演算器１１−２の双方が動作する。
【００４３】
シフト演算器１１−１の処理対象の画像領域とシフト演算器１１−２の処理対象の画像領域とは、図４において領域ＡＲ１３と領域ＡＲ１４として示されたように、隣接する。このときに生じ得る不具合について、図６および図７を参照して説明する。
【００４４】
シフト演算器１１−１とシフト演算器１１−２が図５に示されたタイミングで動作した場合、時刻Ｔ１が到来すると、図６に示されるように、サブメモリー８では、領域ＡＲ２４が処理対象となる。その後、時刻Ｔ２が到来すると、図７に示されるように、サブメモリー８では、さらに領域ＡＲ２３が処理対象となる。領域ＡＲ２４（破線）内の領域ＡＲ２３と、領域ＡＲ１４（二点鎖線）内の領域ＡＲ１３とは隣接する。領域ＡＲ２４は、領域ＡＲ２３の外縁に位置する。領域ＡＲ１４は、領域ＡＲ１３の外縁に位置する。したがって、領域ＡＲ２３と領域ＡＲ２４とは、一部が重複する。当該重複する部分のうち、領域ＡＲ２３に含まれる部分では、先にシフト演算器１１−２によって書き込まれた画像データ（図７においてハッチングを付された部分の画像データ）が、シフト演算器１１−１に上書きされる等して、画像が欠損するという不具合が生じるおそれがある。
【００４５】
そこで、本実施の形態では、サブメモリー８への画像データの書き込みの際に、生成される画像において同時に動作する２以上のシフト演算器１１の処理対象の領域が重ならないように、各シフト演算器１１の処理対象の領域が決定される。より具体的には、新たにシフト演算器１１に動作を開始させる場合、動作制御部２は、すでに動作している他のシフト演算器１１が処理対象としている領域（ブロックおよびその拡張部分）から、拡張部分以上離れたブロックを、当該新たなシフト演算器１１の処理対象として設定する。
【００４６】
たとえば、画像が図３に示されたようにブロックに分けられて処理される場合、動作制御部２は、動作中のシフト演算器１１が処理対象としている領域から拡張部分以上離れた他のブロックを、新たに動作するシフト演算器１１の処理対象とする。動作中のシフト演算器１１の処理対象の領域と、新たに動作するシフト演算器１１の処理対象のブロックとの位置関係を、図８を参照してより詳細に説明する。
【００４７】
図８において、動作中のシフト演算器１１の処理対象の領域が、領域ＡＲ２４で示されている。領域ＡＲ２４のうち、領域ＡＲ２３は、原稿画像の１つのブロックに相当する領域であり、それ以外の領域は、当該ブロックの拡張部分に相当する領域である。領域ＡＲ３４は、新たに動作するシフト演算器１１の処理対象とされる領域である。領域ＡＲ３４のうち、領域ＡＲ３４が、原稿画像の１つのブロックに相当する領域であり、それ以外の領域は、当該ブロックの拡張部分に相当する領域である。
【００４８】
領域ＡＲ３４が選択される条件は、領域ＡＲ３４内の領域ＡＲ３３の端部が、領域ＡＲ２４内の領域ＡＲ２３の端部よりも、主走査方向と副走査方向の双方において、拡張部分以上離れていることである。
【００４９】
［画像形成動作］
次に、ＭＦＰ１０における画像形成動作の一例であるプリント動作について説明する。
【００５０】
＜ジョブ管理＞
プリント動作では、ＭＦＰ１０は、プリンター７において用紙等の上に画像を形成して出力する。このようなプリント動作（プリントジョブ）の実行が指示されると、ＭＦＰ１０では、新たに開始するジョブを管理するための情報（ジョブ情報）が生成される。図９は、ジョブ情報の一例を模式的に示す図である。ジョブ情報は、たとえば、動作制御部２内に設けられる不揮発性のメモリーに格納される。
【００５１】
図９に示されるように、ジョブ情報は、ジョブに関する管理項目として、ジョブ番号（ジョブＮｏ．）、ページ数、ページ情報、原稿サイズ、原稿向き、出力用紙サイズ、シフト設定、トリミング設定、および、マスク設定を含む。
【００５２】
「ジョブＮｏ．」は、ＭＦＰ１０において実行したジョブの通し番号である。
「ページ数」は、実行するジョブにおける原稿のページ数である。
【００５３】
「ページ情報」は、原稿の各ページの画像データを特定する情報であり、たとえば、各ページの画像データに付された通し番号である。ＭＦＰ１０では、各ページの画像データに付された通し番号（画像データ管理情報Ｎｏ．）によって、たとえば、ファイルメモリー４１における、原稿の各ページの圧縮された画像データが特定される。ページ情報は、図１５を参照して後述する、原稿の各ページに対応する、圧縮された画像データを管理する情報（画像データ管理情報）の中の情報と対応する。
【００５４】
「原稿サイズ」は、原稿の用紙サイズである。用紙サイズは、「Ａ４」等の用紙の大きさに加えて、用紙の向きの情報を含む。図１０は、用紙の向きの情報を説明するための図である。図１０に示されるように、用紙の向きの情報は、用紙の副走査方向の寸法の方が主走査方向の寸法よりも長い「Sef」（図１０の原稿９１１）、および、用紙の主走査方向の寸法の方が副走査方向の寸法よりも長い「Lef」（図１０の原稿９１２）を含む。
【００５５】
「原稿向き」は、原稿の向きを示す。図１１は、原稿の向きを説明するための図である。原稿の画像を正立させたときに、原稿が縦長になる「ポートレイト」（図１１の原稿９２１）、および、原稿が横長になる「ランドスケープ」（図１１の原稿９２２）を含む。
【００５６】
「出力用紙サイズ」は、出力される画像が形成される用紙のサイズに加えて、図１０を参照して説明した、用紙の向きの情報（「Sef」および「Lef」）を含む。「出力用紙サイズ」の設定値は、原稿が等倍で出力される場合には、「原稿の用紙サイズ」の設定値と等しくなり、原稿の出力倍率が１．０倍以外に設定された場合には、「原稿の用紙サイズ」の設定値と異なる。
【００５７】
「シフト設定」は、原稿の画像を出力させる際にシフトさせる方向および量についての設定情報である。図９に示された例では、「シフト設定」は、主走査方向の設定値と副走査方向の設定値をと含む。図１２は、シフト設定の設定内容を説明するための図である。図１２では、横方向に主走査方向が定義され、縦方向に副走査方向が定義されている。図１２に示された例では、画像９３０は出力される用紙上の画像を示されている。また、図１２に示された例では、主走査方向のシフト量がｘ（ｍｍ）であり、副走査方向のシフト量がｙ（ｍｍ）である。このような設定によれば、たとえば、原稿中の点Ｐ０１の画像が、出力される用紙上では点Ｐ０２に位置する。
【００５８】
「トリミング設定」は、原稿において、出力の際にトリミングする領域の設定である。図１３は、トリミング設定の内容を説明するための図である。図１３では、原稿９４０のうち、領域９４１をトリミングする設定が示されている。当該設定の内容は、たとえば、トリミングする領域の左上の座標（図１３中の「始点（ｉ，ｊ）」）と右下の座標（図１３中の「終点（ｘ，ｙ）」）とを含む。
【００５９】
「マスク設定」は、原稿において、出力の際にマスキングする領域の設定である。図１４は、マスク設定の内容を説明するための図である。図１４では、原稿９５０のうち、領域９５１をマスキングする設定が示されている。当該設定の内容は、たとえば、マスキングする領域の左上の座標（図１４中の「始点（ｉ，ｊ）」）と右下の座標（図１４中の「終点（ｘ，ｙ）」）とを含む。
【００６０】
＜画像データの管理＞
圧縮された画像データを管理する情報（画像データ管理情報）について説明する。画像データ管理情報は、原稿のページごとに定義される。図１５は、画像データ管理情報の一例を模式的に示す図である。画像データ管理情報は、たとえば、動作制御部２内に設けられる不揮発性のメモリーに格納される。
【００６１】
図１５に示されるように、画像データ管理情報は、画像データ管理情報番号（画像データ管理情報Ｎｏ．）、ジョブ番号（ジョブＮｏ．）、ページ番号（ページＮｏ．）、画像データサイズ、解像度、色、および、圧縮データ格納アドレスを含む。
【００６２】
「画像データ管理情報Ｎｏ．」は、原稿の中の、ファイルメモリー４１に格納されたページを特定する情報である。
【００６３】
「ジョブＮｏ．」は、ファイルメモリー４１に格納されたページが属するジョブの通し番号であり、図９のジョブ情報における「ジョブ情報」に対応している。
【００６４】
「ページＮｏ．」は、図１５の画像データ管理情報に対応するページが当該ページの属するジョブにおいて何ページ目にあたるのかを示す。
【００６５】
「画像データサイズ」は、図１５の画像データ管理情報に対応するページの画像データのサイズを示す。
【００６６】
「解像度」は、図１５の画像データ管理情報に対応するページの画像データの解像度を示す。
【００６７】
「色」は、図１５の画像データ管理情報に対応するページの画像データの色の成分を示す。図１５において、Ｙはイエローを示す。Ｍはマゼンタを示す。Ｃはシアンを示す。Ｋはブラックを示す。
【００６８】
「圧縮データ格納アドレス」は、図１５の画像データ管理情報に対応するページの画像データの、ファイルメモリー４１における格納場所を示す。なお、図１５では、「圧縮データ格納アドレス」は、ブロックごとの格納場所を含む。原稿の複数のブロックへの分割について、図１６を参照して説明する。図１６は、複数のブロックに分割された原稿の一例を示す図である。
【００６９】
図１６に示されるように、原稿の画像９００は、ＭＦＰ１０においてその画像データを処理される際に、破線で示されるように、複数のブロックへと分割され、ブロックごとのデータとして取り扱われる。「圧縮データ格納アドレス」では、各ブロックが、原稿における各ブロックの配置によって特定される。より具体的には、各ブロックは、主走査方向（図１６の左右方向）の位置と、副走査方向（図１６の上下方向）の位置とを用いた座標、つまり、（主走査方向の位置，副走査方向の位置）によって特定される。
【００７０】
図１６において、たとえば「ブロック（０，１）」は、原稿の画像９００において、主走査方向に１番目であって副走査方向に２番目に位置するブロックを意味する。
【００７１】
＜伸長処理に関する設定＞
ＭＦＰ１０では、伸長処理に関する設定内容（伸長情報）に基づいて、伸長器１２およびシフト演算器１１は、画像データを処理する。図１７は、伸長情報の一例を示す図である。伸長情報は、たとえば、動作制御部２内に設けられる不揮発性のメモリーに格納される。
【００７２】
図１７に示されるように、伸長情報は、伸長情報番号（伸長情報Ｎｏ．）、ジョブ番号（ジョブＮｏ．）、ページ番号（ページＮｏ．）、画像データ管理情報番号（画像データ管理情報Ｎｏ．）、回転角度、画像データサイズ、シフト設定、トリミング設定、マスク設定、および、ブロック情報を含む。
【００７３】
伸長情報Ｎｏ．は、当該伸長情報の通し番号である。なお、伸長情報は、ジョブにおけるページごとに設定される。
【００７４】
ジョブＮｏ．は、ＭＦＰ１０において実行したジョブの通し番号である。
ページＮｏ．は、当該伸長情報が対応するページの、当該伸長情報が対応するページが属するジョブ（以下、「対応ジョブ」ともいう）における通し番号である。
【００７５】
画像データ管理情報Ｎｏ．は、各ページの画像データに付された通し番号である。
回転角度は、対応ジョブのジョブ情報（図９参照）において設定されている回転角度である。
【００７６】
画像データサイズは、当該伸長情報が対応するページの画像データのサイズである。
シフト設定，トリミング設定，マスク設定のそれぞれは、対応ジョブのジョブ情報（図９参照）において設定されている「シフト設定」「トリミング設定」「マスク設定」の値である。
【００７７】
ブロック情報は、当該伸長情報が対応するページに属する複数のブロックのそれぞれの、伸長処理および演算処理の進捗を管理する情報である。ブロック情報は、伸長後ブロックと、原稿画像ブロックと、伸長実施情報とを含む。原稿画像ブロックは、図１６に示されたような、原稿に対して設定された複数のブロックのそれぞれを特定する。伸長後ブロックは、原稿画像ブロックのそれぞれのブロックの伸長後のデータに対して設定される。図１７の例では、伸長後ブロックは、原稿画像ブロックと同様に、主走査方向の位置と副走査方向の位置とを特定する座標形式で特定される。伸長実施情報は、各ブロックの伸長処理が完了したか否かを示す。「未」は、まだ伸長処理の対象になっていないことを示す。「完了」は、伸長処理が完了したことを示す。なお、伸長処理が実行されている最中のブロックの伸長実施情報は、「実行中」である。
【００７８】
なお、原稿画像ブロックと伸長後ブロックとの関係は、たとえばジョブ情報において設定されている回転角度の値によっては、変化する場合がある。図１８は、ジョブにおける回転角度の設定値が「９０度」である場合の、原稿画像ブロックと伸長後ブロックとの関係を説明するための図である。
【００７９】
図１８では、画像９０１は原稿画像を示す。画像９０２は、画像９０１がジョブ情報に従って９０度回転された後で出力される画像を示す。図１８では、画像９０１と画像９０２のそれぞれに関連付けられて、主走査方向のブロック番号と副走査方向のブロック番号が示されている。
【００８０】
図１８から理解されるように、原稿画像（画像９０１）における各ブロックのブロック番号は、出力画像（画像９０２）における各ブロックのブロック番号は異なる。たとえば、原稿画像におけるブロック（０，０）は、出力画像におけるブロック（０，４）に対応する。また、原稿画像におけるブロック（１，１）は、出力画像におけるブロック（１，３）に対応する。
【００８１】
＜伸長器／シフト演算器の動作管理＞
ＭＦＰ１０では、複数の伸長器１２と複数のシフト演算器１１の動作が、動作制御部２内に設けられる不揮発性のメモリーに格納される情報（動作情報）を用いて管理される。図１９は、動作情報の一例を示す図である。
【００８２】
ＭＦＰ１０では、各伸長器１２がどの（どちらの）シフト演算器１１にデータを出力するかが固定されている。そして、図１９の動作情報では、複数の伸長器１２のそれぞれが、各伸長器１２が伸長したデータの出力先のシフト演算器１１と関連付けられている。より具体的には、ＭＦＰ１０に設けられたＮ個の伸長器１２のうち、その半分（ここでは、Ｍ個という）は、シフト演算器１１−１に関連付けられている。そして、ＭＦＰ１０に設けられたＮ個の伸長器１２のうち残りの半分は、シフト演算器１１−２に関連付けられている。図１９では、各伸長器１２および各シフト演算器１１は、図２中の符号で示されている。
【００８３】
図１９では、「動作情報」として、伸長器１２およびそれに関連付けられたシフト演算器１１のその時点での動作状態が登録されている。伸長器１２およびシフト演算器１１が動作を実行している場合、動作状態の値は「動作中」である。伸長動作を実行していない場合、動作状態の値は「停止」である。図１９では、少なくとも、伸長器１２−１とシフト演算器１１−１とが動作中であること、伸長器１２−２が動作中ではないこと、および、伸長器１２−Ｎとシフト演算器１１−２が動作中ではないこと、が示されている。
【００８４】
図２０〜図２２を参照して後述するように、動作制御部２は、画像形成処理において、複数の伸長器１２と複数のシフト演算器１１の動作状況に応じて、図１９の動作情報の内容を適宜更新する。
【００８５】
［画像形成処理］
ＭＦＰ１０は、ファイルメモリー４１（図２参照）に圧縮データを格納された画像を、プリンター７から出力する。ここで、当該画像の出力のためにＭＦＰ１０において実行される処理（画像形成処理）について、図２０〜図２２を主に参照して説明する。図２０〜図２２は、画像形成処理のフローチャートである。図２０〜図２２の画像形成処理は、たとえば、実行中のジョブについて、ページごとに実行される。
【００８６】
ＭＦＰ１０の動作制御部２は、外部の装置からＭＦＰ１０に対してジョブの実行の指示が入力されたこと、または、ユーザーＩＦ３に対してジョブの開始の指示が入力されたことによって、画像形成ジョブを開始する。画像形成ジョブにおいて、動作制御部２は、実行中のジョブに含まれる先頭のページから順に、画像形成処理の対象のページを設定する。そして、対象のページを設定すると、動作制御部２は、当該ページについての画像形成処理を開始する。
【００８７】
まず図２０を参照して、ステップＳ１０で、動作制御部２は、開始を指示されたジョブ情報（図９参照）に従って伸長情報（図１７参照）を生成する。そして、制御は、ステップＳ２０へ進められる。
【００８８】
ステップＳ２０では、動作制御部２は、伸長情報（図１７参照）を参照し、伸長処理がまだ実行されていない（伸長実施情報の値が「未」）ブロックが存在するか否かを判断する。そのようなブロックが存在すると判断すると（ステップＳ２０でＹＥＳ）、動作制御部２は、ステップＳ３０へ制御を進める。一方、そのようなブロックが存在しないと判断すると（ステップＳ２０でＮＯ）、動作制御部２は、ステップＳ１８０へ制御を進める。
【００８９】
ステップＳ１８０では、動作制御部２は、ステップＳ１０において生成した伸長情報を上記した不揮発性メモリーから削除して、画像形成処理を終了させる。実行中のジョブにおいて、未出力のページが残っている場合には、次のページについての画像形成処理が実行される。実行中のジョブにおいて未出力のページが残っていない場合には、当該ジョブは終了する。
【００９０】
ステップＳ３０では、動作制御部２は、伸長器１２−１〜１２−Ｎのうち動作が停止中の伸長器１２があるか否かを判断する。より具体的には、動作制御部２は、動作情報（図１９参照）において「動作状態」の値が「停止」である伸長器１２があるか否かを判断する。動作制御部２がそのような伸長器１２があると判断すると（ステップＳ３０でＹＥＳ）、制御はステップＳ４０へ進められる。動作制御部２がそのような伸長器１２はないと判断すると（ステップＳ３０でＮＯ）、制御はステップＳ１５０（図２２参照）へ進められる。
【００９１】
ステップＳ４０では、動作制御部２は、停止中の伸長器１２のうち先頭のものを選択する。「先頭」とは、たとえば伸長器１２−１〜１２−Ｎのそれぞれに順に番号が割り振られている場合、最も番号が若い、という意味である。そして、制御は、ステップＳ５０へ進められる。
【００９２】
ステップＳ５０では、動作制御部２は、伸長情報（図１７参照）のブロック情報を参照して、まだ伸長処理の対象とされていないブロックの中から主走査方向の先頭にあるブロック（最も主走査方向のブロック番号が若いブロック）を選択する。そして、制御は、ステップＳ６０へ進められる。図２０中の「バンド」は、「ブロック番号」と同義である。
【００９３】
ステップＳ６０では、動作制御部２は、伸長情報（図１７参照）のブロック情報を参照して、ステップＳ５０で選択されたブロック（バンド）の中から、まだ伸長処理の対象とされていないブロックの中から主走査方向の先頭にあるブロック（最も主走査方向のブロック番号が若いブロック）を選択する。そして、制御は、ステップＳ７０へ進められる。
【００９４】
ステップＳ７０では、動作制御部２は、これから伸長処理を実行するブロックと当該伸長処理を実行させる伸長器１２を設定する。つまり、動作制御部２は、ステップＳ６０で選択されたブロックを、ステップＳ５０で選択された伸長器１２に伸長させることを設定する。そして、制御は、ステップＳ８０（図２１参照）に進められる。
【００９５】
ステップＳ８０では、動作制御部２は、動作情報（図１９参照）を参照して、現在動作を実行中のシフト演算器１１があるか否かを判断する。動作実行中のシフト演算器１１があると判断すると（ステップＳ８０でＹＥＳ）、動作制御部２は、ステップＳ９０へ制御を進める。動作実行中のシフト演算器１１はないと判断すると（ステップＳ８０でＮＯ）、動作制御部２は、ステップＳ１３０へ制御を進める。
【００９６】
ステップＳ９０では、動作制御部２は、動作情報（図１９参照）を参照して、動作中のシフト演算器１１の処理対象となっているブロック（伸長ブロック）を特定する。そして、制御は、ステップＳ１００へ進められる。
【００９７】
ステップＳ１００では、動作制御部２は、ステップＳ７０で設定したブロックが、ステップＳ９０で特定したブロックに対して、サブメモリー８の書き込み位置について、拡張部分以上離れているか否かを判断する。当該判断は、図８を参照して説明した判断に相当する。拡張部分以上離れていると判断すると（ステップＳ１００でＹＥＳ）、動作制御部２は、ステップＳ１３０へ制御を進める。一方、拡張部分以上離れていないと判断すると（ステップＳ１００でＮＯ）、動作制御部２は、ステップＳ１１０へ制御を進める。
【００９８】
ステップＳ１１０では、動作制御部２は、伸長情報（図１７参照）のブロック情報を参照して、まだ伸長処理の対象とされていない次のブロックを選択する。「次のブロック」とは、まだ伸長処理の対象とされていないブロックであって、副走査方向のブロック番号が最も若いものの中で、最も主走査方向のブロック番号が若いブロックである。また、ステップＳ１１０では、動作制御部２は、ステップＳ７０で伸長対象として設定したブロックをステップＳ１１０で選択したブロックへと変更する。そして、制御は、ステップＳ１２０へ進められる。
【００９９】
ステップＳ１２０では、動作制御部２は、ステップＳ１１０において、上記条件に合致するブロックがあったか否かを判断する。そして、そのようなブロックがあると判断すると（ステップＳ１２０でＹＥＳ)、動作制御部２は、ステップＳ８０へ制御を戻す。一方、そのようなブロックがないと判断すると（ステップＳ１２０でＮＯ）、動作制御部２は、ステップＳ１５０（図２２参照）へ制御を進める。
【０１００】
ステップＳ１３０では、動作制御部２は、ステップＳ７０で設定した伸長器１２とシフト演算器１１について、動作情報（図１９参照）の動作状態を「動作中」に更新する。そして、制御はステップＳ１４０へ進められる。
【０１０１】
ステップＳ１４０では、動作制御部２は、ステップＳ７０で設定した伸長器１２とシフト演算器１１を、圧縮データの処理のために起動する。処理対象の圧縮データは、ステップＳ７０で設定されたブロックのものである。ただし、ステップＳ１１０において対象のブロックが更新されていれば、更新後のブロックの圧縮データが処理対象となる。そして、制御は、ステップＳ１５０（図２２参照）へ進められる。
【０１０２】
図２２を参照して、ステップＳ１５０では、動作制御部２は、動作中であった伸長器１２の動作の完了を検出したか否かを判断する。そして、動作中の伸長器１２についての動作の完了を検出しなければ、動作制御部２は、ステップＳ１５０での判断を継続する。そして、伸長器１２の動作の完了を検出すれば、動作制御部２は、ステップＳ１６０へ制御を進める。
【０１０３】
ステップＳ１６０では、動作制御部２は、実行中であった伸長器１２およびシフト演算器１１の伸長を完了させる。そして、制御は、ステップＳ１７０へ進められる。
【０１０４】
ステップＳ１７０では、動作制御部２は、動作が完了した伸長器１２およびシフト演算器１１についての動作情報（図１９参照）における「動作状態」の値を「停止」へと変更する。そして、制御はステップＳ１０（図２０）へ戻される。
【０１０５】
［実施例］
以上説明した本実施の形態では、カラーの画像データ（たとえば、ＹＭＣＫ系の画像データ）の取り扱いについて、たとえば２つの実施例が考えられる。１つ目の実施例（以下、「実施例１」という）は、全ての色のデータが、１つの圧縮器１３の入力とされ、また、１つの伸長器１２の入力とされる例である。２つ目の実施例（以下、「実施例２」という）は、色ごとのデータ（Ｙデータ、Ｍデータ、Ｃデータ、および、Ｋデータ）が、別々の圧縮器１３に入力され、そして、別々の伸長器１２に入力される例である。
【０１０６】
２つの実施例における、データ圧縮およびデータ伸長の処理内容について、説明する。
＜データ圧縮＞
図２３は、カラーの画像データの圧縮についての２つの実施例を説明するための図である。
【０１０７】
実施例１では、図２３に示されるように、サブメモリー８に格納された、あるブロックの４つの色の画像データ（Ｙ色に対応するデータ８Ｙ、Ｍ色に対応するデータ８Ｍ、Ｃ色に対応するデータ８Ｃ、および、Ｋ色に対応するデータ８Ｋ）は、１つの圧縮器１３（図２３では、圧縮器１３−Ｎ）に入力される。圧縮器１３は、出力データとして、１つの圧縮データ（圧縮データ（Ｎ））を出力する。
【０１０８】
実施例２では、サブメモリー８に格納された、あるブロックの４つの色の画像データ（Ｙ色に対応するデータ８Ｙ、Ｍ色に対応するデータ８Ｍ、Ｃ色に対応するデータ８Ｃ、および、Ｋ色に対応するデータ８Ｋ）のそれぞれは、４つの圧縮器１３（図２３では、圧縮器１３−１，１３−２，１３−３，１３−４）に入力される。圧縮器１３−１は、Ｙ色の画像データの圧縮データ（圧縮データ（ＮＹ））を出力する。圧縮器１３−２は、Ｍ色の画像データの圧縮データ（圧縮データ（ＮＭ））を出力する。圧縮器１３−３は、Ｃ色の画像データの圧縮データ（圧縮データ（ＮＣ））を出力する。圧縮器１３−４は、Ｋ色の画像データの圧縮データ（圧縮データ（ＮＫ））を出力する。
【０１０９】
なお、実施例２では、画像データ管理情報（図１５参照）の各ブロックの圧縮データ格納アドレスは、図２４に示されるように、色番号０〜３の、４つの格納アドレスを含む。４つの格納アドレスは、ＹＭＣＫそれぞれの色の圧縮データの格納アドレスである。
【０１１０】
＜データ伸長＞
図２５は、カラーの画像データの伸長についての２つの実施例を説明するための図である。
【０１１１】
実施例１を説明するために、図２５では、圧縮データ（Ｎ１）と圧縮データ（Ｎ２）とが示されている。圧縮データ（Ｎ１）および圧縮データ（Ｎ２）は、いずれも、４色の情報を含む。各データは、それぞれが、伸長器１２で伸長された後、シフト演算器１１で演算処理され、４つの色のそれぞれの伸長画像データが出力される。各伸長画像データは、サブメモリー８の各色に対応する領域に、書き込まれる。
【０１１２】
図２５に示された例では、圧縮データ（Ｎ１）は、伸長器１２−１で伸長された後、シフト演算器１１−１に入力される。シフト演算器１１−１からは、４つの色のそれぞれの伸長画像データが出力される。また、圧縮データ（Ｎ２）は、伸長器１２−２で伸長された後、シフト演算器１１−２に入力される。シフト演算器１１−２からは、４つの色のそれぞれの伸長画像データが出力される。
【０１１３】
そして、シフト演算器１１−１とシフト演算器１１−２とが同時に処理を行う場合には、処理対象となるブロックが、図８を参照して説明されたように調整される。
【０１１４】
実施例２を説明するために、図２５では、圧縮データＹ、圧縮データＭ、圧縮データＹ、および、圧縮データＫが示されている。圧縮データＹは伸長器１２−１で、圧縮データＭは伸長器１２−２で、圧縮データＹは伸長器１２−３で、そして、圧縮データＫは伸長器１２−４で、それぞれ伸長処理される。
【０１１５】
図２５に示された例では、伸長器１２−１と伸長器１２−２からのデータが、シフト演算器１１−１に入力される。また、伸長器１２−３と伸長器１２−４からのデータが、シフト演算器１１−２に入力される。シフト演算器１１−１，１１−２のそれぞれは、入力された伸長データに演算処理を施した後、サブメモリー８の各データの色が対応する領域に書き込む。
【０１１６】
そして、シフト演算器１１−１とシフト演算器１１−２とが同時に処理を行う場合には、処理対象となるブロックが、図８を参照して説明されたように調整される。
【０１１７】
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１１８】
１  ＡＳＩＣ、２  動作制御部、４  メインメモリー、７  プリンター、８  サブメモリー、１０  ＭＦＰ、１１，１１−１，１１−２  シフト演算器、１２，１２−１〜１２−Ｎ  伸長器、１３，１３−１〜１３−Ｎ  圧縮器、１４  入力器、１５  プリンター出力器、４１  ファイルメモリー。
【図１】
2015076800.tif 000003
【図２】
2015076800.tif 000004
【図３】
2015076800.tif 000005
【図４】
2015076800.tif 000006
【図５】
2015076800.tif 000007
【図６】
2015076800.tif 000008
【図７】
2015076800.tif 000009
【図８】
2015076800.tif 000010
【図９】
2015076800.tif 000011
【図１０】
2015076800.tif 000012
【図１１】
2015076800.tif 000013
【図１２】
2015076800.tif 000014
【図１３】
2015076800.tif 000015
【図１４】
2015076800.tif 000016
【図１５】
2015076800.tif 000017
【図１６】
2015076800.tif 000018
【図１７】
2015076800.tif 000019
【図１８】
2015076800.tif 000020
【図１９】
2015076800.tif 000021
【図２０】
2015076800.tif 000022
【図２１】
2015076800.tif 000023
【図２２】
2015076800.tif 000024
【図２３】
2015076800.tif 000025
【図２４】
2015076800.tif 000026
【図２５】
2015076800.tif 000027