(57)【要約】【課題】  メモリを取得できずに画像データの形式の変換が行えなくなることを回避する画像形成装置、記憶領域取得方法を提供する。【解決手段】  画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとを有する画像形成装置において、画像データの形式を変換する１つ以上の変換機能を有する画像データ変換手段と、前記画像データの変換に用いられる変換機能に基づき、前記画像データ変換手段が前記画像データの形式を変換するために必要な記憶領域のサイズを判定する資源管理手段と、前記資源管理手段で判定したサイズの記憶領域を取得する画像データ管理手段とを有する。【選択図】  図２４
2004171532.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとを有する画像形成装置において、
画像データの形式を変換する１つ以上の変換機能を有する画像データ変換手段と、
前記画像データの変換に用いられる変換機能に基づき、前記画像データ変換手段が前記画像データの形式を変換するために必要な記憶領域のサイズを判定する資源管理手段と、
前記資源管理手段で判定したサイズの記憶領域を取得する画像データ管理手段と
を有することを特徴とする画像形成装置。
【請求項２】
前記画像データ管理手段は、画像形成に係る処理をプログラムに基づき実行するアプリケーションから画像データの形式の変換を要求された際に、前記記憶領域を取得することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記画像データ管理手段は、画像形成装置が起動する際に、前記記憶領域を取得することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記資源管理手段は、前記画像データ管理手段により取得された記憶領域のサイズに応じ、前記ハードウェアが変換可能な画像データの形式の情報である変換可能形式情報を有することを特徴とする請求項１から３のいずれか１項に記載の画像形成装置。
【請求項５】
前記画像データ変換手段は、画像データの形式の変換を、ハードウェアで行うことを特徴とする請求項１から４のいずれか１項に記載の画像形成装置。
【請求項６】
前記ハードウェアは、予め備わっている基本変換部に加え、変換機能を追加する追加変換部を１つ以上追加することが可能であることを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記追加変換部に設けられる変換機能は、前記画像データの画質を向上する変換機能であることを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記追加変換部に設けられる変換機能は、前記基本変換部で変換不可能な画像データの形式を変換する変換機能であることを特徴とする請求項６に記載の画像形成装置。
【請求項９】
前記ハードウェアは、前記基本変換部と前記追加変換部に関するハードウェア情報を有することを特徴とする請求項６に記載の画像形成装置。
【請求項１０】
前記画像データ変換手段は、前記ハードウェアを管理する変換管理手段を有することを特徴とする請求項６に記載の画像形成装置。
【請求項１１】
前記変換管理手段は、前記基本変換部と前記追加変換部に関するデバイス管理情報を有することを特徴とする請求項１０に記載の画像形成装置。
【請求項１２】
前記変換管理手段は、前記デバイス管理情報を、前記資源管理手段に通知することを特徴とする請求項１１に記載の画像形成装置。
【請求項１３】
前記資源管理手段は、通知された前記デバイス管理情報に基づいた前記基本変換部と前記追加変換部に関する資源管理情報を有することを特徴とする請求項１２に記載の画像形成装置。
【請求項１４】
前記資源管理手段は、前記画像データの形式を変換する際に用いる前記基本変換部と前記追加変換部の組み合わせと、その組み合わせで画像データの形式の変換を行う際に必要となる記憶領域の取得サイズとを対応させた取得サイズ情報を有することを特徴とする請求項１３に記載の画像形成装置。
【請求項１５】
前記資源管理手段は、画像データの形式と、その形式の変換を行う際に必要な前記基本変換部と前記追加変換部の組み合わせとを対応させた組み合わせ情報を有することを特徴とする請求項１４に記載の画像形成装置。
【請求項１６】
前記資源管理手段は、前記資源管理情報と前記取得サイズ情報と前記組み合わせ情報と変換する形式に基づき、取得する記憶領域のサイズを判定することを特徴とする請求項１５に記載の画像形成装置。
【請求項１７】
前記資源管理手段は、前記判定したサイズの記憶領域が取得できない場合、前記取得サイズ情報から得られる前記取得サイズに応じて、取得する記憶領域のサイズを判定することを特徴とする請求項１６に記載の画像形成装置。
【請求項１８】
前記資源管理手段は、前記判定したサイズの記憶領域が取得できない場合、前記資源管理情報に基づき、取得する記憶領域のサイズを段階的に減らすことを特徴とする請求項１６に記載の画像形成装置。
【請求項１９】
前記資源管理手段が段階的に減らすサイズは、前記追加変換部が必要とする記憶領域のサイズであることを特徴とする請求項１８に記載の画像形成装置。
【請求項２０】
前記資源管理手段は、前記判定したサイズの記憶領域が取得できない場合、取得する記憶領域のサイズを、前記基本変換部が必要な記憶領域のサイズから段階的に増やすことを特徴とする請求項１６に記載の画像形成装置。
【請求項２１】
前記資源管理手段が段階的に増やすサイズは、前記追加変換部が必要とする記憶領域のサイズであることを特徴とする請求項２０に記載の画像形成装置。
【請求項２２】
前記資源管理手段が判定する記憶領域のサイズは、前記資源管理情報と前記取得サイズ情報から得られるサイズ以上のサイズであることを特徴とする請求項１６に記載の画像形成装置。
【請求項２３】
前記資源管理手段は、前記ハードウェアで変換するために必要な記憶領域を取得できない場合、取得する記憶領域のサイズを、前記画像データ変換手段が有するソフトウェアで変換を行うために必要な記憶領域のサイズと判定することを特徴とする請求項１６に記載の画像形成装置。
【請求項２４】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理をプログラムに基づき実行するアプリケーションと、画像データの形式を変換する１つ以上の変換機能を有する画像データ変換部とを有する画像形成装置における記憶領域取得方法であって、
前記アプリケーションから画像データの形式の変換を要求されると、該画像データに応じて定まる前記変換機能と変換する形式に基づき、前記画像データの形式を変換するために必要な記憶領域のサイズを判定するサイズ判定段階と、
判定したサイズに応じて前記記憶領域を取得する記憶領域取得段階と、
前記画像データの形式の変換が終了すると、取得した記憶領域を解放する記憶領域解放段階と
を有することを特徴とする記憶領域取得方法。
【請求項２５】
前記記憶領域取得段階で、前記判定したサイズの記憶領域が取得できない場合、前記判定したサイズから、段階的にサイズを減らしながら前記記憶領域を取得することを特徴とする請求項２４に記載の記憶領域取得方法。
【請求項２６】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、画像データの形式を変換する１つ以上の変換機能を有する画像データ変換部とを有する画像形成装置における記憶領域取得方法であって、
画像形成装置の起動時に画像データの形式を変換する１つ以上の変換機能を有する画像データ変換部が有する変換機能に応じて、該変換機能に必要な記憶領域のサイズを判定するサイズ判定段階と、
判定したサイズと前記変換機能に応じて記憶領域を取得する記憶領域取得段階と
を有することを特徴とする記憶領域取得方法。
【請求項２７】
前記記憶領域取得段階で、前記判定したサイズの記憶領域が取得できない場合、前記判定したサイズより小さいサイズから、段階的にサイズを増やしながら前記記憶領域を取得することを特徴とする請求項２６に記載の記憶領域取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを変換する際に必要となるメモリの取得に関し、特に画像形成装置、記憶領域取得方法に関する。
【背景技術】
【０００２】
近年、ファクシミリ、プリンタ、コピーおよびスキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、融合機という）が知られるようになった。この融合機は、１つの筐体内に表示部、印刷部および撮像部などを設けると共に、ファクシミリ、プリンタ、コピーおよびスキャナにそれぞれ対応する４種類のアプリケーションを設け、そのアプリケーションを切り替えることより、ファクシミリ、プリンタ、コピーおよびスキャナとして動作させるものである。
【０００３】
このように、融合機は、異なる種類の画像データを扱うために、画像データのデータ形式の変換を行ったり、画像形成装置のハードウェア資源を節約するために、画像データの圧縮・伸長（以下、圧縮・伸長も変換とする）を行ったりしている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この画像データの変換には、画像データ自身が大きいデータであることもあり、多くのメモリを必要とする。そのため、メモリが取得できない場合、画像データの変換を行うことができなかった。
【０００５】
本発明は、このような問題点に鑑み、メモリを取得できずに画像データの形式の変換が行えなくなることを回避する画像形成装置、記憶領域取得方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとを有する画像形成装置において、画像データの形式を変換する１つ以上の変換機能を有する画像データ変換手段と、前記画像データの変換に用いられる変換機能に基づき、前記画像データ変換手段が前記画像データの形式を変換するために必要な記憶領域のサイズを判定する資源管理手段と、前記資源管理手段で判定したサイズの記憶領域を取得する画像データ管理手段とを有することを特徴とする。
【０００７】
また、上記課題を解決するために、本発明は、前記画像データ管理手段は、画像形成に係る処理をプログラムに基づき実行するアプリケーションから画像データの形式の変換を要求された際に、前記記憶領域を取得することを特徴とする。
【０００８】
また、上記課題を解決するために、本発明は、前記画像データ管理手段は、画像形成装置が起動する際に、前記記憶領域を取得することを特徴とする。
【０００９】
また、上記課題を解決するために、本発明は、前記資源管理手段は、前記画像データ管理手段により取得された記憶領域のサイズに応じ、前記ハードウェアが変換可能な画像データの形式の情報である変換可能形式情報を有することを特徴とする。
【００１０】
また、上記課題を解決するために、本発明は、前記画像データ変換手段は、画像データの形式の変換を、ハードウェアで行うことを特徴とする。
【００１１】
また、上記課題を解決するために、本発明は、前記ハードウェアは、予め備わっている基本変換部に加え、変換機能を追加する追加変換部を１つ以上追加することが可能であることを特徴とする。
【００１２】
また、上記課題を解決するために、本発明は、前記追加変換部に設けられる変換機能は、前記画像データの画質を向上する変換機能であることを特徴とする。
【００１３】
また、上記課題を解決するために、本発明は、前記追加変換部に設けられる変換機能は、前記基本変換部で変換不可能な画像データの形式を変換する変換機能であることを特徴とする。
【００１４】
また、上記課題を解決するために、本発明は、前記ハードウェアは、前記基本変換部と前記追加変換部に関するハードウェア情報を有することを特徴とする。
【００１５】
また、上記課題を解決するために、本発明は、前記画像データ変換手段は、前記ハードウェアを管理する変換管理手段を有することを特徴とする。
【００１６】
また、上記課題を解決するために、本発明は、前記変換管理手段は、前記基本変換部と前記追加変換部に関するデバイス管理情報を有することを特徴とする。
【００１７】
また、上記課題を解決するために、本発明は、前記変換管理手段は、前記デバイス管理情報を、前記資源管理手段に通知することを特徴とする。
【００１８】
また、上記課題を解決するために、本発明は、前記資源管理手段は、通知された前記デバイス管理情報に基づいた前記基本変換部と前記追加変換部に関する資源管理情報を有することを特徴とする。
【００１９】
また、上記課題を解決するために、本発明は、前記資源管理手段は、前記画像データの形式を変換する際に用いる前記基本変換部と前記追加変換部の組み合わせと、その組み合わせで画像データの形式の変換を行う際に必要となる記憶領域の取得サイズとを対応させた取得サイズ情報を有することを特徴とする。
【００２０】
また、上記課題を解決するために、本発明は、前記資源管理手段は、画像データの形式と、その形式の変換を行う際に必要な前記基本変換部と前記追加変換部の組み合わせとを対応させた組み合わせ情報を有することを特徴とする。
【００２１】
また、上記課題を解決するために、本発明は、前記資源管理手段は、前記資源管理情報と前記取得サイズ情報と前記組み合わせ情報と変換する形式に基づき、取得する記憶領域のサイズを判定することを特徴とする。
【００２２】
また、上記課題を解決するために、本発明は、前記資源管理手段は、前記判定したサイズの記憶領域が取得できない場合、前記取得サイズ情報から得られる前記取得サイズに応じて、取得する記憶領域のサイズを判定することを特徴とする。
【００２３】
また、上記課題を解決するために、本発明は、前記資源管理手段は、前記判定したサイズの記憶領域が取得できない場合、前記資源管理情報に基づき、取得する記憶領域のサイズを段階的に減らすことを特徴とする。
【００２４】
また、上記課題を解決するために、本発明は、前記資源管理手段が段階的に減らすサイズは、前記追加変換部が必要とする記憶領域のサイズであることを特徴とする。
【００２５】
また、上記課題を解決するために、本発明は、前記資源管理手段は、前記判定したサイズの記憶領域が取得できない場合、取得する記憶領域のサイズを、前記基本変換部が必要な記憶領域のサイズから段階的に増やすことを特徴とする。
【００２６】
また、上記課題を解決するために、本発明は、前記資源管理手段が段階的に増やすサイズは、前記追加変換部が必要とする記憶領域のサイズであることを特徴とする。
【００２７】
また、上記課題を解決するために、本発明は、前記資源管理手段が判定する記憶領域のサイズは、前記資源管理情報と前記取得サイズ情報から得られるサイズ以上のサイズであることを特徴とする。
【００２８】
また、上記課題を解決するために、本発明は、前記資源管理手段は、前記ハードウェアで変換するために必要な記憶領域を取得できない場合、取得する記憶領域のサイズを、前記画像データ変換手段が有するソフトウェアで変換を行うために必要な記憶領域のサイズと判定することを特徴とする。
【００２９】
また、上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理をプログラムに基づき実行するアプリケーションと、画像データの形式を変換する１つ以上の変換機能を有する画像データ変換部とを有する画像形成装置における記憶領域取得方法であって、前記アプリケーションから画像データの形式の変換を要求されると、該画像データに応じて定まる前記変換機能と変換する形式に基づき、前記画像データの形式を変換するために必要な記憶領域のサイズを判定するサイズ判定段階と、判定したサイズに応じて前記記憶領域を取得する記憶領域取得段階と、前記画像データの形式の変換が終了すると、取得した記憶領域を解放する記憶領域解放段階とを有することを特徴とする。
【００３０】
また、上記課題を解決するために、本発明は、前記記憶領域取得段階で、前記判定したサイズの記憶領域が取得できない場合、前記判定したサイズから、段階的にサイズを減らしながら前記記憶領域を取得することを特徴とする。
【００３１】
また、上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムと、画像データの形式を変換する１つ以上の変換機能を有する画像データ変換部とを有する画像形成装置における記憶領域取得方法であって、画像形成装置の起動時に画像データの形式を変換する１つ以上の変換機能を有する画像データ変換部が有する変換機能に応じて、該変換機能に必要な記憶領域のサイズを判定するサイズ判定段階と、判定したサイズと前記変換機能に応じて記憶領域を取得する記憶領域取得段階とを有することを特徴とする。
【００３２】
また、上記課題を解決するために、本発明は、前記記憶領域取得段階で、前記判定したサイズの記憶領域が取得できない場合、前記判定したサイズより小さいサイズから、段階的にサイズを増やしながら前記記憶領域を取得することを特徴とする。
【発明の効果】
【００３３】
以上説明したように、本発明によれば、メモリを取得できずに画像データの形式の変換が行えなくなることを回避する画像形成装置、記憶領域取得方法が得られる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施例を図面に基づいて説明する。
【実施例】
【００３５】
図１は、本発明による融合機の一実施例の構成図を示す。融合機１は、ソフトウェア群２と、融合機起動部３と、ハードウェア資源４とを含むように構成される。
【００３６】
融合機起動部３は融合機１の電源投入時に最初に実行され、アプリケーション層５およびプラットホーム層６を起動する。例えば融合機起動部３は、アプリケーション層５およびプラットホーム層６のプログラムを、ハードディスク装置（以下、ＨＤＤという）などから読み出し、読み出した各プログラムをメモリ領域に転送して起動する。ハードウェア資源４は、スキャナ２５と、プロッタ２６と、ＭＬＢ（Media Link Board）４５と、ＡＤＦ（Auto Document Feeder）などのハードウェアリソース２４とを含む。なお、ＭＬＢ４５は、ハードウェアで高速に画像データの形式の変換を行うものである。
【００３７】
また、ソフトウェア群２は、ＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、ＯＳという）上に起動されているアプリケーション層５とプラットホーム層６とを含む。アプリケーション層５は、プリンタ、コピー、ファックスおよびスキャナなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプログラムを含む。
【００３８】
アプリケーション層５は、プリンタ用のアプリケーションであるプリンタアプリ９と、コピー用アプリケーションであるコピーアプリ１０と、ファックス用アプリケーションであるファックスアプリ１１と、スキャナ用アプリケーションであるスキャナアプリ１２とを含む。
【００３９】
また、プラットホーム層６は、アプリケーション層５からの処理要求を解釈してハードウェア資源４の獲得要求を発生するコントロールサービス層７と、１つ以上のハードウェア資源４の管理を行ってコントロールサービス層７からの獲得要求を調停するシステムリソースマネージャ（以下、ＳＲＭという）２１と、ＳＲＭ２１からの獲得要求に応じてハードウェア資源４の管理を行うハンドラ層８とを含む。このＳＲＭ２１は、資源管理手段に対応する。
【００４０】
コントロールサービス層７は、ネットワークコントロールサービス（以下、ＮＣＳという）１３、デリバリーコントロールサービス（以下、ＤＣＳという）１４、オペレーションパネルコントロールサービス（以下、ＯＣＳという）１５、ファックスコントロールサービス（以下、ＦＣＳという）１６、エンジンコントロールサービス（以下、ＥＣＳという）１７、メモリコントロールサービス（以下、ＭＣＳという）１８、ユーザインフォメーションコントロールサービス（以下、ＵＣＳという）１９、システムコントロールサービス（以下、ＳＣＳという）２０など、一つ以上のサービスモジュールを含むように構成されている。
【００４１】
なお、プラットホーム層６は予め定義されている関数により、アプリケーション層５からの処理要求を受信可能とするＡＰＩ２８を有するように構成されている。ＯＳは、アプリケーション層５およびプラットホーム層６の各ソフトウェアをプロセスとして並列実行する。
【００４２】
通信手段に対応するＮＣＳ１３のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【００４３】
例えばＮＣＳ１３は、ネットワークを介して接続されるネットワーク機器とのデータ通信をｈｔｔｐｄ（HyperText Transfer Protocol Daemon）により、ＨＴＴＰ（HyperText Transfer Protocol）で制御する。
【００４４】
ＤＣＳ１４のプロセスは、蓄積文書の配信などの制御を行う。ＯＣＳ１５のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。ＦＣＳ１６のプロセスは、アプリケーション層５からＰＳＴＮまたはＩＳＤＮ網を利用したファックス送受信、バックアップ用のメモリで管理されている各種ファックスデータの登録／引用、ファックス読み取り、ファックス受信印刷などを行うためのＡＰＩを提供する。
【００４５】
ＥＣＳ１７のプロセスは、スキャナ２５、プロッタ２６、その他のハードウェアリソース２４などのエンジン部の制御を行う。ＭＣＳ１８のプロセスは、メモリの取得および解放、ＨＤＤの利用などのメモリ制御を行う。ＵＣＳ１９は、ユーザ情報の管理を行うものである。
【００４６】
ＳＣＳ２０のプロセスは、アプリケーション管理、操作部制御、システム画面表示、ＬＥＤ表示、ハードウェア資源管理、割り込みアプリケーション制御などの処理を行う。
【００４７】
ＳＲＭ２１のプロセスは、ＳＣＳ２０と共にシステムの制御およびハードウェア資源４の管理を行うものである。例えばＳＲＭ２１のプロセスは、スキャナ２５やプロッタ２６などのハードウェア資源４を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
【００４８】
具体的に、ＳＲＭ２１のプロセスは獲得要求されたハードウェア資源４が利用可能であるか（他の獲得要求により利用されていないかどうか）を判定し、利用可能であれば獲得要求されたハードウェア資源４が利用可能である旨を上位層に通知する。また、ＳＲＭ２１のプロセスは上位層からの獲得要求に対してハードウェア資源４を利用するためのスケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４９】
また、ハンドラ層８は後述するファックスコントロールユニット（以下、ＦＣＵという）の管理を行うファックスコントロールユニットハンドラ（以下、ＦＣＵＨという）２２と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラ（以下、ＩＭＨという）２３と、ＭＥＵ（Media Edit Unit）４４を含む。ＳＲＭ２１およびＦＣＵＨ２２は、予め定義されている関数によりハードウェア資源４に対する処理要求を送信可能とするエンジンＩ／Ｆ２７を利用して、ハードウェア資源４に対する処理要求を行う。画像データ変換手段と画像データ変換部に対応するＭＥＵ４４は、ＭＬＢ４５を用いて画像データを変換する。なお、ＭＥＵ４４は、ソフトウェアによる画像データの形式の変換も可能である。また、ＭＥＵ４４は、ＳＲＭ２１、画像データ管理手段に対応するＩＭＨ２３を介して通知されるアプリケーションからの変換要求に応じて画像データの形式の変換を行う。
【００５０】
融合機１は、各アプリケーションで共通的に必要な処理をプラットホーム層６で一元的に処理することができる。次に、融合機１のハードウェア構成について説明する。
【００５１】
図２は、融合機１の一実施例のハードウェア構成図を示している。融合機１は、コントローラボード３０と、オペレーションパネル３９と、ＦＣＵ４０と、エンジン４３とを含む。また、ＦＣＵ４０は、Ｇ３規格対応ユニット１０３と、Ｇ４規格対応ユニット１０４とを有する。
【００５２】
また、コントローラボード３０は、ＣＰＵ３１と、ＡＳＩＣ３６と、ＨＤＤ３８と、システムメモリ（ＭＥＭ−Ｐ）３２と、ローカルメモリ（ＭＥＭ−Ｃ）３７と、ノースブリッジ（以下、ＮＢと記す）３３と、サウスブリッジ（以下、ＳＢと記す）３４と、ＮＩＣ１０１（Network Interface Card）と、ＵＳＢデバイス４１と、ＩＥＥＥ１３９４デバイス４２と、セントロニクスデバイス１０２と、ＭＬＢ４５とを含む。
【００５３】
オペレーションパネル３９は、コントローラボード３０のＡＳＩＣ３６に接続されている。また、ＳＢ３４と、ＮＩＣ１０１と、ＵＳＢデバイス４１と、ＩＥＥＥ１３９４デバイス４２と、セントロニクスデバイス１０２と、ＭＬＢ４５は、ＮＢ３３にＰＣＩバスで接続されている。
【００５４】
ＭＬＢ４５は、融合機１にＰＣＩバスを介して接続する基板である。また、ＭＬＢ４５は、融合機１から入力された画像データを変換し、変換された画像データあるいは符号化された画像データを融合機１に出力するものである。
【００５５】
また、ＦＣＵ４０と、エンジン４３は、コントローラボード３０のＡＳＩＣ３６にＰＣＩバスで接続されている。
【００５６】
なお、コントローラボード３０は、ＡＳＩＣ３６にローカルメモリ３７、ＨＤＤ３８などが接続されると共に、ＣＰＵ３１とＡＳＩＣ３６とがＣＰＵチップセットのＮＢ３３を介して接続されている。このように、ＮＢ３３を介してＣＰＵ３１とＡＳＩＣ３６とを接続すれば、ＣＰＵ３１のインタフェースが公開されていない場合に対応できる。
【００５７】
また、ＡＳＩＣ３６とＮＢ３３とはＰＣＩバスを介して接続されているのでなく、ＡＧＰ（Accelerated Graphics Port）６７を介して接続されている。このように、図２のアプリケーション層５やプラットホーム層６を形成する一つ以上のプロセスを実行制御するため、ＡＳＩＣ３６とＮＢ３３とを低速のＰＣＩバスでなくＡＧＰ３５を介して接続し、パフォーマンスの低下を防いでいる。
【００５８】
ＣＰＵ３１は、融合機１の全体制御を行うものである。ＣＰＵ３１は、ＮＣＳ１３、ＤＣＳ１４、ＯＣＳ１５、ＦＣＳ１６、ＥＣＳ１７、ＭＣＳ１８、ＵＣＳ１９、ＳＣＳ２０、ＳＲＭ２１、ＦＣＵＨ２２、ＩＭＨ２３、ＭＥＵ４４をＯＳ上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層５を形成するプリンタアプリ９、コピーアプリ１０、ファックスアプリ１１、スキャナアプリ１２を起動して実行させる。
【００５９】
ＮＢ３３は、ＣＰＵ３１、システムメモリ３２、ＳＢ３４およびＡＳＩＣ３６を接続するためのブリッジである。システムメモリ３２は、融合機１の描画用メモリなどとして用いるメモリである。ＳＢ３４は、ＮＢ３３とＰＣＩバス、周辺デバイスとを接続するためのブリッジである。また、ローカルメモリ３７はコピー用画像バッファ、符号バッファとして用いるメモリである。
【００６０】
ＡＳＩＣ３６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ３８は、画像の蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うためのストレージである。また、オペレーションパネル３９は、ユーザからの入力操作を受け付けると共に、ユーザに向けた表示を行う操作部である。
【００６１】
ＭＬＢ４５は、上述したように画像データの形式を変換するハードウェアである。このＭＬＢ４５の内部について図３を用いて説明する。ＭＬＢ４５は、ＰＣＩインタフェース６１と、Ｂａｓｉｃ６３と、オプションＰ６４とオプションＱ６５と、有無判定レジスタ６２とを有する。
【００６２】
ＰＣＩインタフェース６１は、ＰＣＩバスに接続するためのインタフェースである。Ｂａｓｉｃ６３は、ＭＬＢ４５に予め備わっている基本変換部であり、２値、４値、８値、ＭＨ／ＭＲ／ＭＭＲ、ＪＰＥＧ、ＲＧＢ／ｓＲＧＢ、ＮＦＣ１、ＴＩＦＦの形式である画像データの変換が可能となっている。なお、ＮＦＣ１は、圧縮形式の一つである。
【００６３】
オプションＰ６４とオプションＱ６５は、変換機能が追加された追加変換部である。このうち、オプションＰ６４は、画像データの画質を向上させる変換を行うＲｉ１０という変換機能を有する。また、オプションＱ６５は、Ｂａｓｉｃ６３で変換不可能な画像データの形式であるＪＰＥＧ２０００の形式を変換するＲｉ２０００という変換機能を有する。なお、図３においてこれらオプションは、２つであるが、オプションを追加したり外したりして増減することが可能である。
【００６４】
ハードウェア情報に対応する有無判定レジスタ６２は、ＭＬＢ４５が有するＢａｓｉｃとオプションに関するＭＬＢ情報を表している。有無判定レジスタ６２は、具体的にＢａｓｉｃと追加されたオプションの有無を表す情報である。
【００６５】
次に、画像データの形式の変換に関するソフトウェアブロック図を、図４を用いて説明する。図４には、上位アプリ６６と、ＳＲＭ２１と、ＩＭＨ２３と、画像変換部６７と、変換管理手段に対応する画像変換デバイス管理モジュール６８と、画像変換デバイスドライバ６９と、ＭＬＢ４５とが示されている。
【００６６】
上位アプリ６６は、図１で示したプリンタ、コピー、ファックス、スキャナの各アプリケーションを包括的に示したものである。ＳＲＭ２１は、ＩＭＨ２３に対し、アプリケーションからの変換要求を通知するためにconfig要求を行う。このconfig要求とは、ある形式からある形式への変換であることを示す情報などを含む要求である。
【００６７】
ＩＭＨ２３は、画像データの形式の変換で用いられるメモリを取得するとともに、破線で囲まれたＭＥＵ４４に対して画像データの形式の変換を要求する。このように、ＩＭＨ２３は、記憶領域を取得すると、ＭＥＵ４４に、記憶領域に格納された画像データの変換を要求する。
【００６８】
画像変換部６７は、ＭＬＢ４５や、ソフトウェアで画像データの形式の変換を行う変換ライブラリを用いて画像データの形式の変換を行う。画像データ変換デバイス管理モジュール６８は、上記変換ライブラリと、画像変換デバイスドライバ６９を動作させるための関数群とを有する。画像データ変換デバイスドライバ６９は、ＭＬＢ４５の制御を行う。
【００６９】
次に、上記構成で行われる全体的な処理を示す概要フローチャートを、図５、図６を用いて説明する。図５に示されるフローチャートは、変換要求があった時に、メモリを取得する場合のフローチャートであり、図６に示されるフローチャートは、起動時からメモリを取得しておく場合の処理である。
【００７０】
また、図５におけるステップＳ１０１とステップＳ１０２の処理は、融合機１が起動する際に行われる処理であり、ステップＳ１０３以降は、アプリケーションから変換要求を通知され、変換にメモリが必要となった際に行われる処理である。なお、ここでのアプリケーションとは、図１で示したプリンタアプリ９、コピーアプリ１０、ファックスアプリ１１、スキャナアプリ１２に限らず、アプリケーション層５で稼動する追加されたプログラムや、コントロールサービス層７のサービスモジュールも含まれる。
【００７１】
図５のフローチャートの説明をする。ステップＳ１０１で、画像変換デバイス管理モジュール６８は、デバイス管理情報に対応する変換デバイス管理フラグをセットする。次に、ＳＲＭ２１は、ＭＥＵ４４からステップＳ１０２で、通知された変換デバイス管理フラグに基づき、資源管理情報に対応するハード管理フラグをセットする。
【００７２】
このステップＳ１０２までの処理が、融合機１が起動する際に行われる処理であるが、これらの処理は、変換デバイス管理フラグやハード管理フラグにセットされる情報が、融合機１の起動後に変更される可能性がある場合、起動時のみではなく、必要に応じて行っても良い。
【００７３】
ステップＳ１０３は、ＳＲＭ２１が、上位アプリ６６から、画像データの形式の変換要求を通知されたかどうかを判断する処理である。変換要求が通知されると、ＳＲＭ２１は、サイズ判定段階に対応するステップＳ１０４で、最大取得メモリサイズの判定を行う。そして、ＳＲＭ２１は、ＩＭＨ２３に対し、判定したサイズのメモリの取得を要求する。
【００７４】
ＩＭＨ２３は、判定されたサイズのメモリを、記憶領域取得段階に対応するステップＳ１０５で取得する。そして、ＭＥＵ４４に、メモリに格納された画像データの変換を要求する。
【００７５】
変換処理が行われたのち、ＩＭＨ２３は、記憶領域解放段階に対応するステップＳ１０６で、先ほど取得したメモリを解放し、処理を終了する。
【００７６】
次に、図６のフローチャートを説明する。なお、この処理は、融合機１が起動する際に行われる処理である。
【００７７】
ステップＳ１００１で、画像変換デバイス管理モジュール６８は、変換デバイス管理フラグをセットする。次に、ＳＲＭ２１は、ステップＳ１００２で、ハード管理フラグをセットする。次に、ＳＲＭ２１は、ステップＳ１００３で、最大メモリ取得サイズを判定する。その判定した取得サイズに応じて、ＩＭＨ２３は、ステップＳ１００４で変換を行う際に用いられるメモリを取得する。
【００７８】
次に、上記変換デバイス管理フラグについて説明する。変換デバイス管理フラグは、画像変換デバイス管理モジュール６８が有するフラグであり、ＭＬＢ４５の有無判定レジスタに基づいた情報を保持するフラグである。
【００７９】
図７に示されるビット列７０は、変換デバイス管理フラグであり、８ビットのビット列となっている。このビット列には、図に示されるように、最下位から、Ｂａｓｉｃ、オプションＰ、オプションＱの有無の情報が割り当てられる。
【００８０】
まず、Ｂａｓｉｃの有無は、図８に示されるように、最下位のビットにより示される。この最下位のビットは、Ｂａｓｉｃがある場合、ビット列７１に示されるように、ビットを立て、無い場合は、ビット列７２に示されるようにビットを立てない。
【００８１】
また、オプションＰの有無は、図９に示されるように、最下位から２番目のビットにより示される。この最下位から２番目のビットは、オプションＰがある場合、ビット列７３に示されるように、ビットを立て、無い場合は、ビット列７２に示されるようにビットを立てない。
【００８２】
そしてオプションＱの有無は、最下位から３番目のビットにより示される。この最下位から３番目のビットは、図１０に示されるように、オプションＱがある場合、ビット列７５に示されるように、ビットを立て、無い場合は、ビット列７６に示されるようにビットを立てない。
【００８３】
以上説明したオプションなどの有無を示すビットは、３つに限らず、オプションの数に応じて増減する。
【００８４】
次に、変換デバイス管理フラグのセットをする処理を、図１１のフローチャートを用いて説明する。なお、図１１のフローチャートは、図５のステップＳ１０１と、図６のステップＳ１００１の詳細な処理を示すものである。
【００８５】
ステップＳ２０１は、画像変換デバイス管理モジュール６８の起動である。次のステップＳ２０２で、画像変換デバイス管理モジュール６８は、画像変換デバイスドライバ６９を通じてＭＬＢ４５の情報を取得する。
【００８６】
取得したＭＬＢ４５の情報から、画像変換デバイス管理モジュール６８は、まず、ＭＬＢ４５があるかどうかステップＳ２０３で判断する。ＭＬＢ４５が無い場合、画像変換デバイス管理モジュール６８は、ステップＳ２０４で、変換デバイス管理フラグをセットせずに処理を終了する。
【００８７】
ステップＳ２０３で、ＭＬＢ４５があると判断された場合、画像変換デバイス管理モジュール６８は、ステップＳ２０５で、ＭＬＢ４５の変換デバイス管理フラグをセットする。そして、画像変換デバイス管理モジュール６８は、ステップＳ２０６で、ＭＬＢ４５に付属するオプション数をチェックする。
【００８８】
次のステップＳ２０７で、画像変換デバイス管理モジュール６８は、付属しているオプションがあるかどうか判断する。無い場合、画像変換デバイス管理モジュール６８は、処理を終了する。オプションがある場合、画像変換デバイス管理モジュール６８は、ステップＳ２０８で、付属する全てのオプション数をチェックする。
【００８９】
次に、画像変換デバイス管理モジュール６８は、ステップＳ２０９で、オプションチェック用のｎを初期化する。このｎは、次ステップから始まる処理のループカウンタに用いられる。
【００９０】
ステップＳ２１０で、画像変換デバイス管理モジュール６８は、オプションｎが接続されているかどうか判断する。このオプションｎとは、例えばオプションＰは１番目で、オプションＱが２番目などの予めオプションごとに定められた番号を示す。
【００９１】
ステップＳ２１０で、オプションｎが接続されていない場合、画像変換デバイス管理モジュール６８は、ステップＳ２１１で、そのｎ番目に対応するオプション管理フラグをセットせずに、ステップＳ２１５へ処理を進める。
【００９２】
ステップＳ２１０で、オプションｎが接続されている場合、画像変換デバイス管理モジュール６８は、ステップＳ２１２で、そのｎ番目に対応するオプション管理フラグをセットする。
【００９３】
次のステップＳ２１３で、画像変換デバイス管理モジュール６８は、付属されていることが確認できたチェック済みオプション数をカウントする。これは、いままで確認できたオプションの数の単純合計を求める処理である。
【００９４】
その次に、画像変換デバイス管理モジュール６８は、オプションの種類ごとの合計を求める。この合計は、例えば、オプションＰは３個あり、オプションＱは２個あるなどの合計である。
【００９５】
次のステップＳ２１５で、画像変換デバイス管理モジュール６８は、全てのオプションをチェックしたかどうか判断する。チェックが終了した場合、画像変換デバイス管理モジュール６８は、処理を終了し、チェックが終了していない場合、画像変換デバイス管理モジュール６８は、再びステップＳ２１０の処理を行う。
【００９６】
以上が、図５のステップＳ１０１と、図６のステップＳ１００１の処理である。次に、図５のステップＳ１０２と、図６のステップＳ１００２の処理の詳細を説明する。ステップＳ１０２とステップＳ１００２は、ＳＲＭ２１が行う処理である。この処理は、図１２に示されるように、ステップＳ３０１でＳＲＭ２１が、画像変換デバイス管理モジュール６８から通知されたオプションの接続状況をハード管理フラグにセットする処理である。
【００９７】
このハード管理フラグについて説明する。図１３に示されるビット列７７は、ハード管理フラグであり、３２ビットのビット列となっている。このビット列には、図に示されるように、最下位から、Ｂａｓｉｃ、オプションＰ、オプションＱの有無の情報が割り当てられる。
【００９８】
また、ハード管理フラグは、先ほどの変換デバイス管理フラグと比較し、ビット列の長さが異なっている。このハード管理フラグのビットの数が多いのは、ＳＲＭ２１が、他のハードウェアの資源も管理するためである。
【００９９】
以下、図１４、１５、１６を用いてハード管理フラグの説明をする。
【０１００】
まず、Ｂａｓｉｃの有無は、図１４に示されるように、最下位のビットにより示される。この最下位のビットは、Ｂａｓｉｃがある場合、ビット列７８に示されるように、ビットを立て、無い場合は、ビット列７９に示されるようにビットを立てない。
【０１０１】
また、オプションＰの有無は、図１５に示されるように、最下位から２番目のビットにより示される。この最下位から２番目のビットは、オプションＰがある場合、ビット列８０に示されるように、ビットを立て、無い場合は、ビット列８０に示されるようにビットを立てない。
【０１０２】
そしてオプションＱの有無は、最下位から３番目のビットにより示される。この最下位から３番目のビットは、図１６に示されるように、オプションＱがある場合、ビット列８２に示されるように、ビットを立て、無い場合は、ビット列８３に示されるようにビットを立てない。
【０１０３】
このように、ＳＲＭ２１は、変換デバイス管理フラグに基づいたハード管理フラグを有する。また、ハード管理フラグは、Ｂａｓｉｃとオプションの情報を含む。
【０１０４】
このハード管理フラグと図１７、図１８で示される情報、及び変換する形式に基づき、ＳＲＭ２１は、取得するメモリのサイズを判定する。図１７は、ＢａｓｉｃとオプションＰ、Ｑで変換する際に必要なメモリのサイズを示した表である。また、この表は、画像データの形式を変換する際に用いるＢａｓｉｃとオプションの組み合わせと、その組み合わせで画像データの形式の変換を行う際に必要となるメモリサイズとを対応させた取得サイズ情報を示している。
【０１０５】
この表において、例えば、Ｂａｓｉｃ、オプションＰ、Ｑの全てが揃っているＴｙｐｅＡでは、取得するメモリサイズが９Ｍバイトであることが分かる。また、オプションＰが無いＴｙｐｅＣでは、取得するメモリサイズが６Ｍバイトであることが分かる。
【０１０６】
これからも分かるように、Ｂａｓｉｃは４Ｍバイト、オプションＰは３Ｍバイト、オプションＱは２Ｍバイト必要であることが分かる。
【０１０７】
なお、ＴｙｐｅＥは、Ｂａｓｉｃ、オプションＰ、Ｑの全てが無い場合であり、この場合は、上述した変換ライブラリで変換を行うため、他のＴｙｐｅと比較して小さいサイズとなっている。また、図に示されている３２ｋバイトに限らず異なるサイズの場合もある。
【０１０８】
次の図１８は、Ｂａｓｉｃ、オプションＰ、Ｑの組み合わせで、変換可能な画像データの形式を示した組み合わせ情報を示している。図１８において、例えば、形式Ａは、ＢａｓｉｃとオプションＰの組み合わせで変換することが可能となることが示されている。また、形式ＢはＢａｓｉｃのみで変換することが可能であることが示されている。
【０１０９】
これら図１７と図１８により、それぞれの形式おいて必要となるメモリサイズが定まる。図１９は、それぞれの形式において必要となるメモリサイズを示す図である。図１９において、例えば形式Ａの変換で必要なメモリサイズは、形式Ａが図１８に示されるように、ＢａｓｉｃとオプションＰにより変換可能なため、４Ｍバイトと３Ｍバイトの合計である７Ｍバイトとなっている。
【０１１０】
また、変換ライブラリを用いる場合に必要となるメモリサイズを示したのが図２０である。図２０に示されるように、形式Ａ、Ｅでは３２ｋバイト、形式Ｂ、Ｄでは６４ｋバイト、形式Ｃでは１２８ｋバイトとなっている。
【０１１１】
次に、図５のステップＳ１０４と図６のステップＳ１００３の最大メモリ取得サイズ判定の詳細な処理について、図２１を用いて説明する。ＳＲＭ２１は、ステップＳ４０１で、Ｂａｓｉｃが接続されているかどうか判断する。接続されていない場合、ＳＲＭ２１はステップＳ４０２で、取得するメモリサイズを変換ライブラリで必要なメモリサイズとし、処理を終了する。Ｂａｓｉｃが接続されている場合、ＳＲＭ２１は、ステップＳ４０３で、取得するメモリサイズをまず４Ｍバイトとする。
【０１１２】
次に、ＳＲＭ２１は、ステップＳ４０４で付属する全てのオプション数をチェックする。そして、ＳＲＭ２１は、ステップＳ４０５で、オプションチェック用のＮを初期化する。このＮは、次ステップから始まる処理のループカウンタに用いられる。
【０１１３】
次のステップＳ４０６で、ＳＲＭ２１は、オプションＮが接続されているかどうか判断し、接続されていない場合はステップＳ４０９へ処理を進める。オプションＮが接続されている場合、ＳＲＭ２１は、ステップＳ４０７でオプションＮに必要なメモリサイズを、取得するメモリサイズに加算する。
【０１１４】
次に、ＳＲＭ２１は、ステップＳ４０８で、チェックするオプションの種類Ｎをカウントする。そして、ステップＳ４０９で、ＳＲＭ２１は、全てのオプションをチェックしたかどうか判断し、チェックした場合には、次のステップＳ４１０で、取得するメモリサイズに、一定のサイズを加算し、処理を終了する。全てのオプションをチェックしていない場合には、再びステップＳ４０６の処理を行う。
【０１１５】
このように、ＳＲＭ２１は、ハード管理フラグと上記取得サイズ情報とに基づき、取得するメモリサイズを判定する。
【０１１６】
また、ＳＲＭ２１が判定するメモリサイズは、資源管理情報であるハード管理フラグと取得サイズ情報から得られるサイズに一定のサイズを加算したものである。この加算は、画像データの形式の変換を行う際に、メモリをより多く使用可能であれば、高速な変換処理をすることが可能となるために行われる。なお、この加算処理がなくとも画像データの形式の変換は可能である。
【０１１７】
次に、図５のステップＳ１０５と図６のステップＳ１００４のメモリ取得の詳細な処理について説明する。まず、図５のステップＳ１０５に対応する処理を、図２２を用いて説明する。ＩＭＨ２３は、ステップＳ５０１で最大メモリサイズの取得を試みる。この最大メモリサイズは、図２１で判定されたメモリサイズである。
【０１１８】
ステップＳ５０２で、ＩＭＨ２３は、最大メモリサイズを取得できたかどうか判断する。ＩＭＨ２３が最大メモリサイズを取得できた場合、ステップＳ５０９へ処理は進む。
【０１１９】
メモリを取得できなかった場合、ＳＲＭ２１は、ステップＳ５０３で、要求のあった変換機能において、ハード管理フラグに基づき判断した不用なオプションが必要とするメモリサイズを最大メモリサイズから差し引いたメモリサイズをＩＭＨ２３に取得させる。
【０１２０】
次のステップＳ５０４で、ＩＭＨ２３は、メモリが取得できたかどうか判断し、メモリが取得できた場合、ステップＳ５０９へ処理を進める。メモリが取得できなかった場合、ＳＲＭ２１は、ステップＳ５０５で、要求のあった変換機能において、不用なオプションが必要とするメモリを全て引いたかどうか判断し、まだ引いていない場合は、再びステップＳ５０３の処理を行う。メモリを全て引いた場合、ＳＲＭ２１は、ステップＳ５０６へ処理を進める。
【０１２１】
このように、ＳＲＭ２１は、判定したメモリサイズが取得できない場合、ハード管理フラグに基づき、取得する記憶領域のサイズを段階的に減らしていく。また、ＳＲＭ２１が段階的に減らすサイズは、上述したようにオプションが必要とするメモリサイズである。
【０１２２】
なお、段階的に減らすサイズは、オプションが必要とする記憶領域のサイズに限らず、例えば１Ｍバイトや５００ｋバイトなどの単位でも良い。
【０１２３】
ステップＳ５０６で、ＳＲＭ２１は、要求された変換機能がＢａｓｉｃのみで実行可能かどうか判断する。Ｂａｓｉｃのみで実行不可能な場合、ＳＲＭ２１は、ＩＭＨ２３に、ステップＳ５１６で、変換ライブラリに必要な最低メモリを取得させる。
【０１２４】
このように、ＳＲＭ２１は、ＭＬＢ４５で変換するために必要なメモリサイズを取得できない場合、取得するメモリサイズを、ＭＥＵ４４が有する変換ライブラリで変換を行うために必要なメモリサイズと判定する。
【０１２５】
次のステップＳ５１７で、ＩＭＨ２３は、変換を実現するメモリを取得できたかどうか判断し、メモリを取得できなかった場合、ＭＬＢ４５でも変換ライブラリでも変換できないため、ステップＳ５１８で、ＩＭＨ２３は、変換不可と判定し処理を終了する。
【０１２６】
ステップＳ５１６で、ＩＭＨ２３がメモリを取得できた場合、ＩＭＨ２３は、ステップＳ５１９で、ＭＥＵ４４へ変換要求を通知する。この要求によって行われた変換の結果が、ステップＳ５２０で、ＭＥＵ４４から、ＩＭＨ２３に通知される。その結果を、ＩＭＨ２３は、次のステップＳ５１５で、ＳＲＭ２１を通じて上位アプリ６６に通知し処理を終了する。
【０１２７】
ステップＳ５０６の処理に戻る。ステップＳ５０６で、ＳＲＭ２１は、変換処理がＢａｓｉｃのみで実行可能であることを判断すると、ステップＳ５０７で、ＩＭＨ２３は、Ｂａｓｉｃが必要とするメモリの取得を試みる。ステップＳ５０８で、ＩＭＨ２３は、メモリを取得できたかどうか判断し、取得できなかった場合、先ほど説明したステップＳ５１６へ処理を進める。
【０１２８】
メモリが取得できた場合、ＩＭＨ２３は、ステップＳ５０９で、画像変換部６７へ変換要求を通知する。次のステップＳ５１０は、画像変換部６７の処理である。変換要求を通知された画像変換部６７は、要求された変換が可能かどうか変換デバイス管理フラグを用いてチェックする。
【０１２９】
次に、画像変換部６７は、ステップＳ５１１で変換可能かどうか判断し、変換不可能であれば、ステップＳ５１２でＩＭＨ２３に画像変換処理要求実行不可であることを通知し処理を終了する。
【０１３０】
ステップＳ５１１で画像変換部６７は、変換可能と判断すると、ステップＳ５１３で、画像変換デバイスドライバ６９に変換処理要求を行う。この要求によって行われた変換の結果が、ステップＳ５１４で、ＭＥＵ４４から、ＩＭＨ２３に通知される。その結果を、ＩＭＨ２３は、次のステップＳ５１５で、ＳＲＭ２１を通じて上位アプリ６６に通知し処理を終了する。
【０１３１】
次に、図６のステップＳ１００４のメモリ取得の詳細な処理について、図２３を用いて説明する。ＳＲＭ２１は、ステップＳ５００１で、Ｂａｓｉｃが接続されているかどうか判断する。接続されていない場合、ＳＲＭ２１は、ステップＳ５０２０でＩＭＨ２３により変換ライブラリの処理に必要なメモリを取得し、処理を終了する。
【０１３２】
Ｂａｓｉｃが接続されている場合、ＳＲＭ２１は、ＩＭＨ２３によりステップＳ５００２で最大メモリサイズの取得を試みる。そして、ステップＳ５００３で、ＳＲＭ２１は、最大メモリサイズを取得できたかどうか判断する。ＩＭＨ２３が最大メモリサイズを取得できた場合、ＳＲＭ２１は、ステップＳ５００４で、変換デバイス管理フラグとハード管理フラグを変更せずに処理を終了する。
【０１３３】
ステップＳ５００３で、ＩＭＨ２３が最大メモリサイズを取得できなかった場合、ＳＲＭ２１は、ステップＳ５００６へ処理を進める。ステップＳ５００６で、ＳＲＭ２１は、取得済みメモリサイズの初期化を行う。また、ステップＳ５００７で、ＳＲＭ２１は、接続オプションのデバイス番号Ｎの初期化を行う。このＮは、次ステップから始まる処理のループカウンタに用いられる。
【０１３４】
ステップＳ５００８で、ＳＲＭ２１は、オプションＮが接続されているかどうか判断する。オプションＮが接続されていない場合、ＳＲＭ２１は、ステップＳ５０１６へ処理を進める。オプションＮが接続されている場合、ＳＲＭ２１は、ステップＳ５００９で、ＢａｓｉｃとオプションＮで使用されるメモリサイズを算出する。
【０１３５】
そして、ＳＲＭ２１は、ステップＳ５０１０で、算出したＢａｓｉｃとオプションＮで使用されるメモリサイズと取得済みメモリサイズとを比較する。比較した結果、ＢａｓｉｃとオプションＮで使用されるメモリサイズが取得済みメモリサイズ以下の場合、ＳＲＭ２１は、ステップＳ５０１５へ処理を進める。
【０１３６】
ＢａｓｉｃとオプションＮで使用されるメモリサイズが取得済みメモリサイズより大きい場合、ＳＲＭ２１は、ステップＳ５０１１へ処理を進め、ＩＭＨ２３によりメモリの追加取得処理を行う。このとき取得するメモリサイズは、ＢａｓｉｃとオプションＮで使用されるメモリサイズの合計から既に取得済みのメモリサイズを引いたサイズである。このように、段階的にサイズを増やしながら記憶領域が取得される。
【０１３７】
このように、ＳＲＭ２１は、図２１で示されるフローチャートで判定したサイズのメモリサイズが取得できない場合、Ｂａｓｉｃが必要なメモリサイズに、オプションが必要なメモリサイズを加えたサイズから、既に取得したメモリサイズを減算したサイズの記憶領域をＩＭＨ２３により取得する。
【０１３８】
すなわち、ＳＲＭ２１は、図２１で示されるフローチャートで判定したメモリサイズが取得できない場合、ハード管理フラグに基づき、段階的にメモリをＩＭＨ２３により取得する。
【０１３９】
次に、ＳＲＭ２１は、ステップＳ５０１２で追加するメモリがＩＭＨ２３により取得できたかどうか判断する。メモリが取得できなかった場合、ＳＲＭ２１は、ステップＳ５０１３で、メモリ取得結果を更新する。このメモリ取得結果を示したのが、図２４である。
【０１４０】
図２４は、図１７で示した必要なメモリサイズの表に、メモリ取得結果を加えた表を示すものである。この表は、ＩＭＨ２３により取得された記憶領域のサイズに応じ、Ｂａｓｉｃとオプションの組み合わせうち、いずれの組み合わせで変換を行うことが可能かどうかを示す変換可能組合せ情報である。
【０１４１】
また、この表は、６Ｍバイトしか取得できず、ＴｙｐｅＡとＴｙｐｅＢのメモリ獲得結果は失敗した場合の状態を示している。これにより、図１８に示した変換可能な画像データの形式についても、変換可能かどうか判定することができる。
【０１４２】
図２５は、図１８の表に、その判定結果を加えた表である。図２４に示されるように、ＢａｓｉｃとオプションＰで変換することができないため、図２５において、ＢａｓｉｃとオプションＰで変換する形式Ａと形式Ｃは、変換できないことが示されている。
【０１４３】
この表は、ＳＲＭ２１がＩＭＨ２３により取得された記憶領域のサイズに応じ、ＭＬＢ４５が変換可能な画像データの形式の情報である変換可能形式情報である。
【０１４４】
図２３のフローチャートの説明に戻る。ステップＳ５０１２で、ＩＭＨ２３によりメモリが取得できたと判定した場合、ＳＲＭ２１は、取得済みメモリサイズを更新する。更新された取得済みメモリサイズには、ＢａｓｉｃとオプションＮで使用されるメモリサイズの合計が代入される。ＳＲＭ２１は、ＩＭＨ２３がメモリ獲得を成功したことにより、ステップＳ５０１５で、図２４に示されるメモリ獲得結果を更新する。
【０１４５】
次のステップＳ５０１６で、ＳＲＭ２１は、オプションを全てチェックしたかどうか判断する。全てのオプションをチェックしていない場合、ＳＲＭ２１は、ステップＳ５０１８で、オプション番号Ｎを増分し、再びステップＳ５００８の処理を行う。
【０１４６】
全てのオプションをチェックした場合、ＳＲＭ２１は、ステップＳ５０１７で、ＢａｓｉｃとオプションＮの組み合わせから、先ほど説明した図２５の表の設定をする。次に、ＳＲＭ２１は、ＭＬＢ４５で全く変換できない分のメモリしか取得できなかったかどうかを、ステップＳ５０１９で判断し、ＭＬＢ４５で変換可能な場合は、処理を終了する。ＭＬＢ４５で全く変換できない分のメモリしか取得できなかった場合、ＳＲＭ２１は、ＩＭＨ２３によりステップＳ５０２０で、変換ライブラリの処理に必要なメモリを取得し、処理を終了する。
【０１４７】
上述した本実施例により、メモリを効率的に取得できるともに、例えばメモリの一部が故障した場合でも、残っている使用可能なメモリに応じた変換機能を提供することが可能となる。
【図面の簡単な説明】
【０１４８】
【図１】本発明による融合機の一実施例の構成図である。
【図２】本発明による融合機の一実施例のハードウェア構成図である。
【図３】ＭＬＢの内部を示す図である。
【図４】画像データの形式の変換に関するソフトウェアブロック図である。
【図５】全体的な処理を示す概要フローチャートである。
【図６】全体的な処理を示す概要フローチャートである。
【図７】変換デバイス管理フラグを示す図である。
【図８】変換デバイス管理フラグを示す図である。
【図９】変換デバイス管理フラグを示す図である。
【図１０】変換デバイス管理フラグを示す図である。
【図１１】変換デバイス管理フラグのセットをする処理を示すフローチャートである。
【図１２】ハード管理フラグにセットする処理を示すフローチャートである。
【図１３】ハード管理フラグを示す図である。
【図１４】ハード管理フラグを示す図である。
【図１５】ハード管理フラグを示す図である。
【図１６】ハード管理フラグを示す図である。
【図１７】変換する際に必要なメモリのサイズを示す図である。
【図１８】変換可能な画像データの形式を示す図である。
【図１９】それぞれの形式おいて必要となるメモリサイズを示す図である。
【図２０】変換ライブラリを用いる場合に必要となるメモリサイズを示す図である。
【図２１】最大メモリ取得サイズ判定の処理を示すフローチャートである。
【図２２】メモリ取得処理を示すフローチャートである。
【図２３】メモリ取得処理を示すフローチャートである。
【図２４】メモリ取得結果を示す図である。
【図２５】判定結果を示す図である。
【符号の説明】
【０１４９】
１  融合機
２  ソフトウェア群
３  融合機起動部
４  ハードウェア資源
５  アプリケーション層
６  プラットホーム層
７  コントロールサービス層
８  ハンドラ層
９  プリンタアプリ
１０  コピーアプリ
１１  ファックスアプリ
１２  スキャナアプリ
１３  ネットワークコントロールサービス（ＮＣＳ）
１４  デリバリーコントロールサービス（ＤＣＳ）
１５  オペレーションパネルコントロールサービス（ＯＣＳ）
１６  ファックスコントロールサービス（ＦＣＳ）
１７  エンジンコントロールサービス（ＥＣＳ）
１８  メモリコントロールサービス（ＭＣＳ）
１９  ユーザインフォメーションコントロールサービス（ＵＣＳ）
２０  システムコントロールサービス（ＳＣＳ）
２１  システムリソースマネージャ（ＳＲＭ）
２２  ファックスコントロールユニットハンドラ（ＦＣＵＨ）
２３  イメージメモリハンドラ（ＩＭＨ）
２４  ハードウェアリソース
２５  スキャナ
２６  プロッタ
２７  エンジンＩ／Ｆ（ＰＣＩ）
２８  アプリケーションプログラムインターフェース（ＡＰＩ）
３０  コントローラボード
３１  ＣＰＵ
３２  システムメモリ（ＭＥＭ−Ｐ）
３３  ノースブリッジ（ＮＢ）
３４  サウスブリッジ（ＳＢ）
３５  ＡＧＰ（Accelerated Graphics Port）
３６  ＡＳＩＣ
３７  ローカルメモリ（ＭＥＭ−Ｃ）
３８  ハードディスク装置（ＨＤＤ）
３９  オペレーションパネル
４０  ファックスコントロールユニット（ＦＣＵ）
４１  ＵＳＢデバイス
４２  ＩＥＥＥ１３９４デバイス
４３  エンジン部
４４  ＭＥＵ
４５  ＭＬＢ
６１  ＰＣＩインタフェース
６２  有無判定レジスタ
６３  Ｂａｓｉｃ
６４  オプションＰ
６５  オプションＱ
６６  上位アプリ
６７  画像変換部
６８  画像変換デバイス管理モジュール
６９  画像変換デバイスドライバ
７０、７１、７２、７３、７４、７５、７６、７７、７８、７９、８０、８１、８２、８３  ビット列
１０１  ＮＩＣ
１０２  セントロニクス
１０３  Ｇ３対応ユニット
１０４  Ｇ４対応ユニット
【図１】
2004171532.tif 000003
【図２】
2004171532.tif 000004
【図３】
2004171532.tif 000005
【図４】
2004171532.tif 000006
【図５】
2004171532.tif 000007
【図６】
2004171532.tif 000008
【図７】
2004171532.tif 000009
【図８】
2004171532.tif 000010
【図９】
2004171532.tif 000011
【図１０】
2004171532.tif 000012
【図１１】
2004171532.tif 000013
【図１２】
2004171532.tif 000014
【図１３】
2004171532.tif 000015
【図１４】
2004171532.tif 000016
【図１５】
2004171532.tif 000017
【図１６】
2004171532.tif 000018
【図１７】
2004171532.tif 000019
【図１８】
2004171532.tif 000020
【図１９】
2004171532.tif 000021
【図２０】
2004171532.tif 000022
【図２１】
2004171532.tif 000023
【図２２】
2004171532.tif 000024
【図２３】
2004171532.tif 000025
【図２４】
2004171532.tif 000026
【図２５】
2004171532.tif 000027