(57)【要約】【課題】データを蓄積させるために必要な領域の確保の失敗を回避することのできる画像形成装置を提供することを目的とする。【解決手段】入力画像データの種類を判別し、入力画像データが可変長データであると判別した場合、ＲＡＭにおいて属性データを蓄積させるために必要なサイズの領域を属性データ領域としてデータ蓄積制御部により確保し、ＲＡＭにおいて入力画像データを蓄積させるために必要な領域のサイズを予測し、予測したサイズの領域および空き領域を画像データ領域として確保し、確保した画像データ領域に入力画像データを蓄積させ、確保した属性データ領域に属性データを蓄積させ、未使用領域がある場合には未使用領域を開放する。【選択図】        図７
2008118397.tif 000002
【特許請求の範囲】
【請求項１】
入力される圧縮画像データと、前記圧縮画像データに付属する属性データを蓄積するための記憶手段と、
前記圧縮画像データを蓄積するために必要なサイズの画像データ領域と、前記属性データを蓄積するために必要なサイズの属性データ領域を確保する順番を制御して、前記画像データ領域と前記属性データ領域を前記記憶手段において確保する領域確保手段と、
前記領域確保手段により確保された前記画像データ領域に前記圧縮画像データを、前記属性データ領域に前記属性データを蓄積させるデータ蓄積制御手段と、
を備えたことを特徴とする画像形成装置。
【請求項２】
前記圧縮画像データが可変長データであるか、または固定長データであるかを判別するデータ判別手段をさらに備え、
前記属性データは、固定長データであり、
前記領域確保手段は、前記データ判別手段により前記圧縮画像データが可変長データであると判別された場合に、前記画像データ領域を確保する前に、前記属性データ領域の確保を行うこと
を特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記圧縮画像データが可変長データであるか、または固定長データであるかを判別するデータ判別手段と、
前記領域確保手段により確保された画像データ領域のうち前記データ蓄積制御手段により前記圧縮画像データが蓄積されなかった領域を未使用領域として開放する領域開放手段をさらに備え、
前記属性データは、固定長データであり、
前記領域確保手段は、前記データ判別手段により前記圧縮画像データが可変長データであると判別された場合に、前記領域開放手段により前記未使用領域が開放された後に、前記属性データ領域の確保を行うこと
を特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記圧縮画像データが可変長データであるか、または固定長データであるかを判別するデータ判別手段をさらに備え、
前記属性データは、固定長データであり、
前記領域確保手段は、前記データ判別手段により前記圧縮画像データが固定長データであると判別された場合に、前記画像データ領域の確保と、前記属性データの確保とを同時に行うこと
を特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記圧縮画像データが可変長データであるか、または固定長データであるかを判別するデータ判別手段をさらに備え、
前記属性データは、固定長データであり、
前記領域確保手段は、前記データ判別手段により前記圧縮画像データが固定長データであると判別された場合に、前記データ蓄積制御手段により前記圧縮画像データが前記画像データ領域に蓄積された後に、前記属性データ領域を確保すること
を特徴とする請求項１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関し、特に、画像データと画像データに付属する属性データを蓄積するための記憶手段に、画像データ、および付属データを蓄積させる画像形成装置に関するものである。
【背景技術】
【０００２】
コピー機能やスキャナ機能を持つ画像形成装置では、原稿を読み取ることで作成された画像データと、当該画像データに付属する属性データを複数蓄積しておかなければならない場合がある。
【０００３】
かかる場合においては、画像形成装置本体に設置されている記憶媒体に複数の画像データと、当該画像データに付随する属性データを蓄積しておくことができる。しかしながら、廉価な画像形成装置にあっては、記憶媒体に大容量のデータを蓄積しておくことはできないため、蓄積できる画像データおよび属性データの数が限定されてしまうという問題点がある。
【０００４】
これに関連する技術として、例えば、原稿を読み取ることで作成された画像データが記憶領域に入らなかった場合であって、原稿の読み取りが１回目であったとき（または所定の回数に達した場合）は、記憶媒体の最大限のメモリ確保をすると共に、画像データの圧縮率をあげ、再度、原稿を読み取る技術が開示されている（特許文献１）。
【０００５】
【特許文献１】特開２００１−１３６３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、画像データを蓄積させるために必要な領域と、属性データを蓄積させるために必要な領域とを記憶媒体において合わせて確保するために、データの領域確保の失敗を招き易いという問題点があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、データを蓄積させるために必要な領域の確保の失敗を回避することのできる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、入力される圧縮画像データと、前記圧縮画像データに付属する属性データを蓄積するための記憶手段と、前記圧縮画像データを蓄積するために必要なサイズの画像データ領域と、前記属性データを蓄積するために必要なサイズの属性データ領域を確保する順番を制御して、前記画像データ領域と前記属性データ領域を前記記憶手段において確保する領域確保手段と、前記領域確保手段により確保された前記画像データ領域に前記圧縮画像データを、前記属性データ領域に前記属性データを蓄積させるデータ蓄積制御手段と、を備えたことを特徴とする。
【０００９】
また、本発明の好ましい態様によれば、前記圧縮画像データが可変長データであるか、または固定長データであるかを判別するデータ判別手段をさらに備え、前記属性データは、固定長データであり、前記領域確保手段は、前記データ判別手段により前記圧縮画像データが可変長データであると判別された場合に、前記画像データ領域を確保する前に、前記属性データ領域の確保を行うことが望ましい。
【００１０】
また、本発明の好ましい態様によれば、前記圧縮画像データが可変長データであるか、または固定長データであるかを判別するデータ判別手段と、前記領域確保手段により確保された画像データ領域のうち前記データ蓄積制御手段により前記圧縮画像データが蓄積されなかった領域を未使用領域として開放する領域開放手段をさらに備え、前記属性データは、固定長データであり、前記領域確保手段は、前記データ判別手段により前記圧縮画像データが可変長データであると判別された場合に、前記領域開放手段により前記未使用領域が開放された後に、前記属性データ領域の確保を行うことが望ましい。
【００１１】
また、本発明の好ましい態様によれば、前記圧縮画像データが可変長データであるか、または固定長データであるかを判別するデータ判別手段をさらに備え、前記属性データは、固定長データであり、前記領域確保手段は、前記データ判別手段により前記圧縮画像データが固定長データであると判別された場合に、前記画像データ領域の確保と、前記属性データの確保とを同時に行うことが望ましい。
【００１２】
また、本発明の好ましい態様によれば、前記圧縮画像データが可変長データであるか、または固定長データであるかを判別するデータ判別手段をさらに備え、前記属性データは、固定長データであり、前記領域確保手段は、前記データ判別手段により前記圧縮画像データが固定長データであると判別された場合に、前記データ蓄積制御手段により前記圧縮画像データが前記画像データ領域に蓄積された後に、前記属性データ領域を確保することが望ましい。
【発明の効果】
【００１３】
本発明によれば、入力される圧縮画像データと、圧縮画像データに付属する属性データを蓄積するための記憶手段を備え、圧縮画像データを蓄積するために必要なサイズの画像データ領域と、属性データを蓄積するために必要なサイズの属性データ領域を確保する順番を制御して、画像データ領域と属性データ領域を記憶手段において確保し、確保した画像データ領域に圧縮画像データを、属性データ領域に属性データを蓄積させるので、データを蓄積させるための領域確保の失敗を回避することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明にかかる画像形成装置の最良な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。また、下記実施の形態における構成要素には、当業者が容易に想定できるもの、または実質的に同一のものが含まれる。
【００１５】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかる画像形成装置１００の基本構成の一例を示す図である。第１の実施の形態の画像形成装置１００は、主として、同図に示すように、ＣＰＵ１０と、ＲＯＭ２０と、ＲＡＭ２２と、ＮＶＲＡＭ２４と、スキャナエンジン３０と、ＮＣＵ４０と、プリンタエンジン５０と、操作部７０と、で構成されている。
【００１６】
ＣＰＵ１０は、各ブロックへの指示や制御などを行うためのものである。ＲＯＭ２０は、ＣＰＵ１０で実行するためのプログラムを格納するためのものである。ＲＡＭ２２は、ＲＡＭ制御部２６を介して、ＣＰＵ１０などの各ブロックによる処理の結果データや各種設定情報を維持的に保存するためのものである。ＮＶＲＡＭ２４は、コピー枚数のカウント値などの機器固有の情報を保持するためのものである。
【００１７】
なお、ＲＡＭ２２は、画像データ（図２−１参照）と、画像データに付属する属性データ（図２−２参照）を蓄積するための記憶手段である。なお、記憶手段に蓄積される画像データは圧縮されたものであり、固定長データであるか、可変長データであるかを問わない。
【００１８】
ここで、属性データとは、図２−２に示すように、圧縮方法（例えばJPEG（Joint Photographic Experts Group））、圧縮率（例えば70%）、画像サイズ（例えばA4）、ページ番号（例えば3）など、画像データの詳細を示すデータをいう。なお、属性データは、画像データに付属する情報であるため、入力画像データに比して、データのサイズが小さいことが予想される。なお、第１の実施の形態の入力画像データは、固定長データである。
【００１９】
図１に戻り、スキャナエンジン３０は、コピー機能やスキャナ機能を有し、当該機能を発揮することにより画像データを入力するこのできる入力手段である。なお、スキャナエンジン３０は、画像データに付属する属性データを生成する。また、スキャナエンジン３０により生成される属性データは、固定長データである。
【００２０】
ＮＣＵ４０は、外部からファクシミリを受信するために一般公衆回線と接続されるものである。ＮＣＵ４０を介してファクシミリ受信される画像データは、ＦＡＸ制御部４２によりデータの復号化などが行われる。
【００２１】
プリンタエンジン５０は、画像データを印刷するための印刷出力手段である。具体的には、スキャナエンジン３０を介して入力される画像データや、外部ホスト機器６０からホストＩ／Ｆ制御部６２を介して受信した画像データ、ＦＡＸ制御部４２により復号化された画像データ（以下、「入力画像データ」と称する）を印刷用紙に印刷する。プリンタエンジン５０による印刷処理は、例えば、レーザー方式、ＬＥＤ方式、インクジェット方式などの作像方式により行われる。
【００２２】
なお、第１の実施の形態の画像形成装置１００は、ファクシミリ機能を有し、プリンタエンジン５０の印刷対象となり得る入力画像データをファクシミリ送信することもできる。
【００２３】
操作部７０は、機器操作のためのボタンや機器状態表示のためのインジケータ（例えば、ＬＥＤやＬＣＤなどの表示機、スピーカー）などの機器操作者とのマンマシンインターフェース部である。操作部７０を介する情報の入出力は、操作部Ｉ／Ｆ制御部７２により行われる。
【００２４】
図３は、第１の実施の形態の画像形成装置１００の機能構成の一例を示す図である。第１の実施の形態の画像形成装置１００の機能構成としては、同図に示すように、主として、全体制御部２１０と、スキャナ読み取り制御部２２０と、データ蓄積制御部２３０と、を備えている。
【００２５】
全体制御部２１０は、同図に示すように、データ判別手段２１２と、領域サイズ予測手段２１４とをさらに含んで構成されている。全体制御部２１０は、上述した操作部７０を介してＲＡＭ２２に設定される動作条件に基づいて、スキャナ読み取り制御部２２０とデータ蓄積制御部２３０に対して、動作指示を行う。なお、全体制御部２１０は、ＣＰＵ１０、ＲＯＭ２０、ＮＶＲＡＭ２４（図１参照）などから構成されるものである。
【００２６】
データ判別手段２１２は、図４に示すテーブルを参照して、入力画像データの種類（可変長データ、固定長データ）を判別する。なお、属性データの種類（可変長データ、固定長データ）をデータ判別手段２１２により判別させる構成としてもよい。
【００２７】
図４は、入力画像データの種類の判別条件を定めたテーブルを示す図である。全体制御部２１０は、当該テーブルを参照して、属性データに含まれる圧縮方法を示す情報が「JEPG」である場合に、入力画像データが可変長データであると判別する。一方、属性データに含まれる圧縮方法を示す情報がJPEGでない（圧縮方法を示す情報がない）場合に、入力画像データが固定長データであると判別する。なお、上述した判断条件を定めたテーブルは、ＲＡＭ２２に格納されている。
【００２８】
領域サイズ予測手段２１４は、データ判別手段２１２により入力画像データが可変長データであると判別した場合に、入力画像データを蓄積させるために必要なＲＡＭ２２の領域サイズを予測する。
【００２９】
スキャナ読み取り制御部２２０は、上述したスキャナエンジン３０の制御を行うためのものである。
【００３０】
データ蓄積制御部２３０は、同図に示すように、領域確保手段２３２と、データ蓄積制御手段２３４と、領域開放手段２３６とをさらに含んで構成されている。データ蓄積制御部２３０は、全体制御部２１０からの指示により、上述したＲＡＭ２２に入力画像データや属性データを蓄積させるためのものである。なお、データ蓄積制御部２３０は、ＲＡＭ制御部２６（図１参照）により、その機能を発揮することができる。
【００３１】
領域確保手段２３２は、入力画像データを蓄積するための画像データ領域と、属性データを蓄積するための属性データ領域を確保する順番を制御して、画像データ領域と属性データ領域をＲＡＭ２２において確保する。領域サイズ予測手段２１４により入力画像データを蓄積させるために必要なＲＡＭ２２の領域サイズが予測された場合には、予測されたサイズの領域をＲＡＭ２２において確保する。
【００３２】
データ蓄積制御手段２３４は、領域確保手段２３２によりＲＡＭ２２において確保した画像データ領域に入力画像データを、ＲＡＭ２２において確保した属性データ領域に属性データをそれぞれ蓄積させる。
【００３３】
領域開放手段２３６は、領域確保手段２３２によりＲＡＭ２２において確保された画像データ領域のうち、入力画像データが蓄積されなかった領域（未使用領域）を開放する。
【００３４】
ここで、データ蓄積制御部２３０により行われる基本的な処理について図５〜図６−５を参照して説明する。
【００３５】
図５は、第１の実施の形態のＲＡＭ２２の構成の一例を示す図である。ＲＡＭ２２は、同図に示すように、プログラムデータ領域Ｐ（アドレス0×00000000〜アドレス0×24999999）と、画像データ領域Ｇ（アドレス0×25000000〜0×アドレス39999999）と、データ領域Ｄ（アドレス0×40000000〜0×アドレス49999999）とに分けて構成されている。
【００３６】
画像データ領域Ｇは、同図に示すように、既に使用されている領域（既使用領域Ｇｓ）と、使用されていない領域（空き領域Ｇｅ）とで構成されている。なお、既使用領域Ｇｓには、入力画像データ１〜入力画像データｍと、当該入力画像データ１〜入力画像データｍに対応する属性データ１〜属性データｍとが蓄積されている。
【００３７】
プログラムデータ領域Ｐには、ＣＰＵ１０で実行するためのアプリケーションプログラムが格納されている。データ領域Ｄには、画像形成装置１００における各種設定条件や装置固有のデータ、プログラムの実行時の計算値などが記憶されている。
【００３８】
図６−１〜図６−２は、領域確保手段２３２により確保される画像データ領域を示す図である。データ判別手段２１２により入力画像データが固定長データであると判別された場合には、領域確保手段２３２は、図６−１に示すように、入力画像データを蓄積するために必要なサイズの領域Ｓｏを画像データ領域として確保する。
【００３９】
なお、かかる場合において、空き領域Ｇｅ１において画像データ領域として確保されなかった領域（Ｇｅ−Ｓｏ）を、同図に示すように、空き領域Ｇｅ２とする。即ち、第１の実施の形態では、説明を簡易にするために、一組の画像データ領域と、属性データ領域とを確保する際に、データを蓄積させることのできる領域を空き領域Ｇｅ１とする。また、空き領域Ｇｅ１において画像データ領域または属性データ領域の確保が行われ、確保されなかった残りの領域を空き領域Ｇｅ２とする。
【００４０】
データ判別手段２１２により入力画像データが可変長データであると判別された場合には、領域確保手段２３２は、図６−２に示すように、領域サイズ予測手段２１４により予測された入力画像データを蓄積させるために必要なサイズの領域Ｓａを画像データ領域として確保する。
【００４１】
また、データ判別手段２１２により入力画像データが可変長データであると判別された場合には、領域確保手段２３２は、同図に示すように、空き領域Ｇｅ２をさらに画像データ領域として確保する。可変長データである入力画像データは、蓄積処理が完了しないと、データサイズが確定しないため、領域サイズ予測手段２１４により予測された入力画像データを蓄積させるために必要なサイズの領域Ｓａを超える場合があるからである。
【００４２】
図６−３は、未使用領域Ｕｎを示す図である。領域確保手段２３２は、領域サイズ予測手段２１４により予測された入力画像データを蓄積させるために必要なサイズの領域Ｓａ、および空き領域Ｇｅ２を画像データ領域として確保し、確保した画像データ領域（Ｓａ＋Ｇｅ２）のうち入力画像データが蓄積された領域Ｓａ´を除いた領域（以下、「未使用領域Ｕｎ」と称する）を開放する。確保された画像データ領域の一部を開放することにより、図６−４に示すように、新たな空き領域Ｇｅ１を形成することができる。
【００４３】
図６−５は、画像データ領域の確保が失敗する一例を示す図である。空き領域Ｇｅ１に入力画像データを蓄積するために必要な領域Ｓｏのサイズ、または領域サイズ予測手段２１４により予測された入力画像データを蓄積するために必要な領域Ｓａのサイズが、同図に示すように、空き領域Ｇｅ１のサイズに対して大きい場合には、画像データ領域の確保を失敗として、処理を終了する。なお、空き領域Ｇｅ１に属性データを蓄積するために必要な領域Ａｄのサイズが空き領域Ｇｅ１のサイズに対して大きい場合も同様である。
【００４４】
以上の構成において、第１の実施の形態の画像形成装置１００の特徴部分である入力画像データ、属性データの蓄積処理について図７〜図１０を参照して説明する。なお、データ判別手段２１２により入力画像データが可変長データであると判別された場合と、入力画像データが固定長データであると判別された場合とに分けて説明する。
【００４５】
最初に、入力画像データが可変長データであると判別された場合の入力画像データ、属性データの蓄積処理について図７を参照して説明する。図７は、第１の実施の形態の画像形成装置１００で行われる入力画像データが可変長データであると判別された場合の入力画像データ、属性データの蓄積処理の手順を示すフローチャートである。
【００４６】
まず、属性データを蓄積させるために必要な領域Ａｄのサイズが、空き領域Ｇｅ１のサイズ以下である場合（ステップＳＡ−１：Ｙｅｓ）、領域確保手段２３２は、図８−１に示すように、当該属性データを蓄積させるために必要なサイズの領域Ａｄを属性データ領域として確保する（ステップＳＡ−２）。
【００４７】
ついで、領域サイズ予測手段２１４は、入力画像データを蓄積させるために必要な領域Ｓａのサイズを予測する（ステップＳＡ−３）。
【００４８】
ステップＳＡ−３で予測した領域Ｓａのサイズが、空き領域Ｇｅ２のサイズ以下である場合（ステップＳＡ−４：Ｙｅｓ）、領域確保手段２３２は、予測したサイズの領域Ｓａ、および空き領域Ｇｅ２を画像データ領域として確保する（ステップＳＡ−５）。
【００４９】
ついで、データ蓄積制御手段２３４は、ステップＳＡ−２で確保した属性データ領域に属性データを、ステップＳＡ−５で確保した画像データ領域に入力画像データをそれぞれ蓄積させる（ステップＳＡ−６）。
【００５０】
ついで、ステップＳＡ−６で入力画像データ、および属性データを蓄積させた結果、未使用領域Ｕｎがある場合（ステップＳＡ−７：Ｙｅｓ）、領域開放手段２３６は、未使用領域Ｕｎを開放する（ステップＳＡ−８）。
【００５１】
一方、ステップＳＡ−６で入力画像データ、および属性データを蓄積させた結果、未使用領域Ｕｎがない場合（ステップＳＡ−７：Ｎｏ）、処理は終了する。
【００５２】
また、属性データを蓄積させるために必要な領域Ａｄのサイズが、図８−２に示すように、空き領域Ｇｅ１のサイズより大きい場合（ステップＳＡ−１：Ｎｏ）、属性データを蓄積させるために必要なサイズの領域Ａｄの確保が失敗したとして（ステップＳＡ−９）、処理は終了する。また、ステップＳＡ−３で予測した領域Ｓａのサイズが、図８−３に示すように、空き領域Ｇｅ２のサイズより大きい場合（ステップＳＡ−４：Ｎｏ）、入力画像データを蓄積させるために必要なサイズの領域Ｓａの確保が失敗したとして、処理は終了する。
【００５３】
続けて、入力画像データが固定長データである場合の入力画像データ、属性データの蓄積処理について図９を参照して説明する。図９は、入力画像データが固定長である場合の入力画像データ、属性データの蓄積処理の手順を示すフローチャートである。
【００５４】
まず、入力画像データを蓄積させるために必要な領域Ｓｏのサイズ、および属性データを蓄積させるために必要な領域Ａｄのサイズが、空き領域Ｇｅ１のサイズ以下である場合（ステップＳＢ−１：Ｙｅｓ）、領域確保手段２３２は、入力画像データを蓄積させるために必要なサイズの領域Ｓｏを画像データ領域として、および属性データを蓄積させるために必要なサイズの領域Ａｄを属性データ領域として空き領域Ｇｅにおいて確保する（ステップＳＢ−２）。
【００５５】
ついで、データ蓄積制御手段２３４は、ステップＳＢ−２で画像データ領域として確保した領域Ｓｏへの入力画像データの蓄積を、およびステップＳＢ−２で属性データ領域として確保した領域Ａｄへの属性データの蓄積を開始する（ステップＳＢ−３）。
【００５６】
ついで、画像データ領域としての領域Ｓｏへの入力画像データの蓄積、および属性データ領域としての領域Ａｄへの属性データの蓄積を中止せずに継続して行うと（ステップＳＢ−４：Ｎｏ）、入力画像データ、および属性データの蓄積が完了する（ステップＳＢ−５）。
【００５７】
一方、画像データ領域としての領域Ｓｏへの入力画像データの蓄積、および属性データ領域としての領域Ａｄへの属性データの蓄積を中止した場合（ステップＳＢ−４：Ｙｅｓ）、領域開放手段２３６は、ステップＳＢ−２で画像データ領域として確保した領域Ｓｏ、および属性データ領域として確保した領域Ａｄを開放する（ステップＳＢ−６）。
【００５８】
また、入力画像データを蓄積させるために必要な領域Ｓｏのサイズ、および属性データを蓄積させるために必要な領域Ａｄのサイズが、図１０に示すように、空き領域Ｇｅ１より大きい場合（ステップＳＢ−１：Ｎｏ）、画像データ領域の確保、および属性データ領域の確保が失敗したとして（ステップＳＢ−７）、処理は終了する。
【００５９】
以上説明したように、第１の実施の形態の画像形成装置１００は、入力画像データの種類を判別し、入力画像データが可変長データであると判別した場合、ＲＡＭ２２において属性データを蓄積させるために必要なサイズの領域Ａｄを属性データ領域として確保し、ＲＡＭ２２において入力画像データを蓄積させるために必要な領域Ｓａのサイズを予測し、予測したサイズの領域Ｓａおよび空き領域Ｇｅ２を画像データ領域として確保し、確保した画像データ領域に入力画像データを蓄積させ、確保した属性データ領域に属性データを蓄積させ、未使用領域Ｕｎがある場合には未使用領域Ｕｎを開放する。
【００６０】
また、入力画像データの種類を判別し、入力画像データが固定長データであると判別した場合、入力画像データを蓄積させるために必要なサイズの領域Ｓｏを画像データ領域として、および属性データを蓄積させるために必要なサイズの領域Ａｄを属性データ領域としてＲＡＭ２２において確保し、確保した画像データ領域に入力画像データを蓄積させ、確保した属性データ領域に属性データを蓄積させる。また、入力画像データまたは属性データの蓄積処理の途中で蓄積させることを中止した場合には、確保した画像データ領域、および属性データ領域を開放する。
【００６１】
従って、第１の実施の形態の画像形成装置１００によれば、入力画像データの種類が可変長データであるとデータ判別手段２１２により判別し、属性データが固定長データである場合に、画像領域データを確保する前に、属性データ領域を領域確保手段２１２により確保し、また、入力画像データが固定長であるとデータ判別手段２１２により判別し、属性データが固定長データである場合に、画像データ領域の確保と、属性データ領域の確保を同時に行うので、するので、入力画像データ、および属性データを蓄積させるための領域確保の失敗を回避することができるという効果を奏する。
【００６２】
また、入力画像データが可変長データである場合に限定されず、固定長データである場合にも適用することができ、圧縮率の変更に伴う画像の劣化を防止することもできる。
【００６３】
（第２の実施の形態）
次に、本発明にかかる第２の実施の形態の画像形成装置１００について説明する。なお、第２の実施の形態の説明においては、第１の実施の形態の説明と重複する説明を省略する場合がある。
【００６４】
第２の実施の形態の画像形成装置１００は、領域確保手段２３２により画像データ領域、および属性データ領域を確保する順番が第１の実施の形態と異なる。
【００６５】
第１の実施の形態の領域確保手段２３２は、入力画像データが可変長データであると判別された場合に、画像データ領域を確保し、確保した画像データ領域に画像データを蓄積させるよりも前に、属性データ領域をＲＡＭ２２に確保するものであった（図７参照）。これに対し、第２の実施の形態の領域確保手段２３２は、入力画像データが固定長データであると判別された場合に、画像データ領域を確保し、確保した画像データ領域に入力画像データを蓄積させ、未使用領域Ｕｎを開放した後に、未使用領域Ｕｎにおいて属性データ領域を確保する。
【００６６】
また、第１の実施の形態の領域確保手段２３２は、入力画像データが固定長データであると判別された場合に、画像データ領域の確保と同時に、属性データ領域を確保するものであった（図９参照）。これに対し、第２の実施の形態のデータ領域確保手段２３２は、入力画像データが固定長データであると判別された場合に、画像データ領域を確保し、確保した画像データ領域に入力画像データを蓄積させた後に、空き領域Ｇｅ２において属性データ領域を確保する。
【００６７】
以上の構成において、第２の実施の形態の画像形成装置１００の特徴部分である入力画像データ、属性データの蓄積処理について図１１〜図１４−２を参照して説明する。なお、データ判別手段２１２により入力画像データが可変長データであると判別された場合と、入力画像データが固定長データであると判別された場合とに分けて説明する。
【００６８】
最初に、入力画像データが可変長データである場合の入力画像データ、属性データの蓄積処理について図１１を参照して説明する。図１１は、第２の実施の形態の画像形成装置１００で行われる入力画像データが可変長データである場合の入力画像データ、属性データの蓄積処理の手順を示すフローチャートである。
【００６９】
まず、領域サイズ予測手段２１４は、入力画像データを蓄積させるために必要な領域Ｓａのサイズを予測する（ステップＳＣ−１）。
【００７０】
ついで、ステップＳＣ−１で予測した領域Ｓａのサイズが、空き領域Ｇｅ１のサイズ以下である場合（ステップＳＣ−２：Ｙｅｓ）、領域確保手段２３２は、予測した領域Ｓａ、および空き領域Ｇｅ２を画像データ領域として確保する（ステップＳＣ−３）。
【００７１】
ついで、データ蓄積制御手段２３４は、ステップＳＣ−３で確保した画像データ領域に入力画像データを蓄積させる（ステップＳＣ−４）。
【００７２】
ついで、ステップＳＣ−４で入力画像データを蓄積させた結果、図１２−１に示すように、未使用領域Ｕｎがある場合（ステップＳＣ−５：Ｙｅｓ）、領域開放手段２３６は、未使用領域Ｕｎを開放する（ステップＳＣ−６）。これにより、図１２−２に示すように、新たな空き領域Ｇｅ１を形成することができる。
【００７３】
ついで、属性データを蓄積させるために必要な領域Ａｄのサイズが、空き領域Ｇｅ１（未使用領域Ｕｎ）のサイズ以下である場合（ステップＳＣ−７：Ｙｅｓ）、領域確保手段２３２は、図１２−３にしめすように、属性データを蓄積させるために必要なサイズの領域Ａｄを属性データ領域として空き領域Ｇｅ１において確保する（ステップＳＣ−８）。
【００７４】
ついで、データ蓄積制御手段２３４は、ステップＳＣ−８で確保した属性データ領域に属性データを蓄積させる（ステップＳＣ−９）。
【００７５】
また、ステップＳＣ−１で予測した領域Ｓａのサイズが、空き領域Ｇｅ１のサイズ以下である場合（ステップＳＣ−２：Ｎｏ）、画像データ領域の確保が失敗したとして（ステップＳＣ−１０）、処理は終了する。また、ステップＳＣ−４で入力画像データを蓄積させた結果、未使用領域Ｕｎがない場合（ステップＳＣ−５：Ｎｏ）、属性データを蓄積させるための領域Ａｄがないことになるので、属性データ領域の確保が失敗したとして（ステップＳＣ−１０）、処理は終了する。また、属性データを蓄積させるために必要な領域Ａｄのサイズが、空き領域Ｇｅ１（未使用領域Ｕｎ）のサイズより大きい場合（ステップＳＣ−７：Ｎｏ）、属性データ領域の確保が失敗したとして（ステップＳＣ−１０）、処理は終了する。
【００７６】
続けて、入力画像データが固定長データである場合の入力画像データ、属性データの蓄積処理について図１３を参照して説明する。図１３は、入力画像データが固定長である場合の入力画像データ、属性データの蓄積処理の手順を示すフローチャートである。
【００７７】
まず、入力画像データを蓄積させるために必要な領域Ｓｏのサイズが、空き領域Ｇｅ１のサイズ以下である場合（ステップＳＤ−１：Ｙｅｓ）、領域確保手段２３２は、入力画像データを蓄積させるために必要なサイズの領域Ｓｏを画像データ領域として空き領域Ｇｅ１において確保する（ステップＳＤ−２）。
【００７８】
ついで、データ蓄積制御手段２３４は、ステップＳＤ−２で画像データ領域として確保した領域Ｓｏへの入力画像データの蓄積を開始する（ステップＳＤ−３）。
【００７９】
ついで、画像データ領域としての領域Ｓｏへの入力画像データの蓄積を中止せずに継続して行うと（ステップＳＤ−４：Ｎｏ）、入力画像データの蓄積が完了する（ステップＳＤ−５）。
【００８０】
一方、画像データ領域としての領域Ｓｏへの入力画像データの蓄積を中止した場合（ステップＳＤ−４：Ｙｅｓ）、領域開放手段２３６は、ステップＳＤ−２で画像データ領域として確保した領域Ｓｏを開放する。
【００８１】
ステップＳＤ−５で入力画像データの蓄積が完了した場合であって、属性データを蓄積するために必要な領域Ａｄのサイズが、空き領域Ｇｅ２のサイズ以下であるとき（ステップＳＤ−７：Ｙｅｓ）、領域確保手段２３２は、領域Ａｄを属性データ領域として空き領域Ｇｅ２において確保する（ステップＳＤ−８）。
【００８２】
ついで、データ蓄積制御手段２３４は、ステップＳＤ−８で属性データ領域として確保した領域Ａｄに属性データを蓄積させる（ステップＳＤ−９）。
【００８３】
また、画像データを蓄積させるために必要な領域Ｓｏのサイズが、空き領域Ｇｅ１のサイズより大きい場合（ステップＳＤ−１：Ｎｏ）、画像データ領域の確保が失敗したとして（ステップＳＤ−１０）、処理は終了する。また、ステップＳＤ−５で入力画像データの蓄積が完了した場合であって、属性データを蓄積させるために必要な領域Ａｄが、図１４に示すように、空き領域Ｇｅ２より大きいとき（ステップＳＤ−７：Ｎｏ）、属性データ領域の確保が失敗したとして（ステップＳＤ−１０）、処理は終了する。
【００８４】
以上説明したように、第２の実施の形態の画像形成装置１００は、入力画像データの種類を判別し、入力画像データが可変長データであると判別した場合、ＲＡＭ２２において入力画像データを蓄積させるために必要な領域Ｓａのサイズを予測し、予測した領域Ｓａを画像データ領域として確保し、確保した画像データ領域に入力画像データを蓄積させ、未使用領域Ｕｎがある場合には未使用領域Ｕｎを開放し、未使用領域Ｕｎを開放することで新たに形成された空き領域１に属性データ領域を確保し、確保した属性データ領域に属性データを蓄積させる。
【００８５】
また、入力画像データの種類を判別し、入力画像データが固定長データであると判別した場合、入力画像データを蓄積させるために必要なサイズの領域Ｓｏを画像データ領域として確保し、確保した画像データ領域に入力画像データを蓄積させ、入力画像データの画像データ領域への蓄積が完了した後に、属性データを確保し、確保した属性データ領域に属性データを蓄積させる。
【００８６】
従って、第２の実施の形態の画像形成装置１００によれば、入力画像データの種類が可変長データであるとデータ判別手段２１２により判別し、属性データが固定長である場合に、入力画像データを蓄積させるために必要なサイズの領域Ｓａを領域サイズ予測手段２１４により予測し、予測した領域Ｓａおよび空き領域Ｇｅ２を画像データ領域として領域確保手段２３２により確保し、確保した画像データ領域に入力画像データをデータ蓄積制御手段２３４により蓄積させ、蓄積されなかった領域を未使用領域Ｕｎとして開放し、未使用領域を開放した後に、属性データ領域を領域確保手段２３２により確保し、また、入力画像データの種類が固定長データであるとデータ判別手段２１２により判別し、属性データが固定長である場合に、画像データ領域を領域確保手段２３２により確保し、確保した画像データ領域に入力画像データをデータ蓄積制御手段２３４により蓄積させ、入力画像データの蓄積処理が完了した後に、属性データ領域を領域確保手段２３２により確保するので、入力画像データ、および属性データを蓄積させるための領域確保の失敗を回避することができる。
【００８７】
また、画像データ領域への入力画像データの蓄積が中止にされた場合、その後の処理を早くすることができ、画像形成装置１００の有する機能への影響を軽減することができる。
【００８８】
なお、第２の実施の形態で行われる入力画像データが可変長データである場合の入力画像データ、属性データの蓄積処理を、第１の実施の形態で行われる入力画像データが可変長データである場合の入力画像データ、属性データの蓄積処理とすることもできる。
【００８９】
また、第２の実施の形態で行われる入力画像データか変調データである場合の入力画像データ、属性データの蓄積処理を、第１の実施の形態で行われる入力画像データが固定長である場合の入力画像データ、属性データの蓄積処理とすることもできる。
【図面の簡単な説明】
【００９０】
【図１】第１の実施の形態にかかる画像形成装置１００の基本構成の一例を示す図である。
【図２−１】画像データの一例を示す図である。
【図２−２】属性データの一例を示す図である。
【図３】第１の実施の形態の画像形成装置１００の機能構成の一例を示す図である。
【図４】入力画像データの種類の判別条件を定めたテーブルを示す図である。
【図５】第１の実施の形態のＲＡＭ２２の構成の一例を示す図である。
【図６−１】領域確保手段２３２により確保される画像データ領域を示す図である。
【図６−２】領域確保手段２３２により確保される画像データ領域を示す図である。
【図６−３】未使用領域Ｕｎを示す図である。
【図６−４】新たな空き領域Ｇｅ１を示す図である。
【図６−５】画像データ領域の確保が失敗する一例を示す図である。
【図７】第１の実施の形態の画像形成装置１００で行われる入力画像データが可変長データである場合の入力画像データ、属性データの蓄積処理の手順を示すフローチャートである。
【図８−１】属性データ領域の確保を示す図である。
【図８−２】属性データの確保が失敗する一例を示す図である。
【図８−３】画像データ領域の確保が失敗する一例を示す図である。
【図９】入力画像データが固定長である場合の入力画像データ、属性データの蓄積処理の手順を示すフローチャートである。
【図１０】画像データ領域の確保、および属性データ領域の確保が失敗する一例を示す図である。
【図１１】第２の実施の形態の画像形成装置１００で行われる入力画像データが可変長データである場合の入力画像データ、属性データの蓄積処理の手順を示すフローチャートである。
【図１２−１】未使用領域Ｕｎの一例を示す図である。
【図１２−２】新たな空き領域Ｇｅ１を示す図である。
【図１２−３】属性データ領域の確保を示す図である。
【図１３】入力画像データが固定長である場合の入力画像データ、属性データの蓄積処理の手順を示すフローチャートである。
【図１４】属性データの各が失敗する一例を示す図である。
【符号の説明】
【００９１】
１０  ＣＰＵ
２０  ＲＯＭ
２２  ＲＡＭ
２４  ＮＶＲＡＭ
２６  ＲＡＭ制御部
３０  スキャナエンジン
４０  ＮＣＵ
４２  ＦＡＸ制御部
５０  プリンタエンジン
６０  外部ホスト機器
６２  ホストＩ／Ｆ制御部
７０  操作部
７２  操作部Ｉ／Ｆ制御部
１００  画像形成装置
２１０  全体制御部
２１２  データ判別手段
２１４  領域サイズ予測手段
２２０  スキャナ制御部
２３０  データ蓄積制御部
２３２  領域確保手段
２３４  データ蓄積制御手段
２３６  領域開放手段
【図１】
2008118397.tif 000003
【図２−１】
2008118397.tif 000004
【図２−２】
2008118397.tif 000005
【図３】
2008118397.tif 000006
【図４】
2008118397.tif 000007
【図５】
2008118397.tif 000008
【図６−１】
2008118397.tif 000009
【図６−２】
2008118397.tif 000010
【図６−３】
2008118397.tif 000011
【図６−４】
2008118397.tif 000012
【図６−５】
2008118397.tif 000013
【図７】
2008118397.tif 000014
【図８−１】
2008118397.tif 000015
【図８−２】
2008118397.tif 000016
【図８−３】
2008118397.tif 000017
【図９】
2008118397.tif 000018
【図１０】
2008118397.tif 000019
【図１１】
2008118397.tif 000020
【図１２−１】
2008118397.tif 000021
【図１２−２】
2008118397.tif 000022
【図１２−３】
2008118397.tif 000023
【図１３】
2008118397.tif 000024
【図１４】
2008118397.tif 000025