(57)【要約】【課題】添付ファイルを有する電子メールの送信の際のメモリ消費量を低減させることのできる電子機器及び電子メール送信方法の提供を目的とする。【解決手段】メモリに記憶されている画像データに基づいて、該画像データを電子メールの添付ファイルとして送信するためのデータ形式に係るデータを一部分ずつ前記メモリに生成するデータ形式変換手段と、前記一部分のデータをエンコードするエンコード手段と、前記エンコードされたデータを前記電子メールの一部として送信する送信手段とを有し、前記データ形式変換手段は、前記送信手段による前記電子メールの一部の送信に応じて次の一部分のデータを前記メモリに生成することにより上記課題を解決する。【選択図】図５
2008172448.tif 000002
【特許請求の範囲】
【請求項１】
メモリに記憶されている画像データに基づいて、該画像データを電子メールの添付ファイルとして送信するためのデータ形式に係るデータを一部分ずつ前記メモリに生成するデータ形式変換手段と、
前記一部分のデータをエンコードするエンコード手段と、
前記エンコードされたデータを前記電子メールの一部として送信する送信手段とを有し、
前記データ形式変換手段は、前記送信手段による前記電子メールの一部の送信に応じて次の一部分のデータを前記メモリに生成することを特徴とする電子機器。
【請求項２】
前記データ形式変換手段は、前の一部分のデータが前記メモリより削除された後、次の一部分のデータを前記メモリに生成することを特徴とする請求項１記載の電子機器。
【請求項３】
前記データ形式変換手段は、前記エンコードされたデータが予め設定されたデータサイズ以下となるよう前記一部分のデータを生成することを特徴とする請求項１又は２記載の電子機器。
【請求項４】
スキャナを備え、
前記データ形式変換手段は、前記スキャナによって読み取られた画像データの前記メモリへの格納に応じ、前記画像データを電子メールの添付ファイルとして送信するためのデータ形式に係るデータの生成を開始することを特徴とする請求項１乃至３いずれか一項記載の電子機器。
【請求項５】
電子機器が実行する電子メール送信方法であって、
メモリに記憶されている画像データに基づいて、該画像データを電子メールの添付ファイルとして送信するためのデータ形式に係るデータを一部分ずつ前記メモリに生成するデータ形式変換手順と、
前記一部分のデータをエンコードするエンコード手順と、
前記エンコードされたデータを前記電子メールの一部として送信する送信手順とを有し、
前記データ形式変換手順は、前記送信手順による前記電子メールの一部の送信に応じて次の一部分のデータを前記メモリに生成することを特徴とする電子メール送信方法。
【請求項６】
前記データ形式変換手順は、前の一部分のデータが前記メモリより削除された後、次の一部分のデータを前記メモリに生成することを特徴とする請求項５記載の電子メール送信方法。
【請求項７】
前記データ形式変換手順は、前記エンコードされたデータが予め設定されたデータサイズ以下となるよう前記一部分のデータを生成することを特徴とする請求項５又は６記載の電子メール送信方法。
【請求項８】
前記電子機器はスキャナを備え、
前記データ形式変換手順は、前記スキャナによって読み取られた画像データの前記メモリへの格納に応じ、前記画像データを電子メールの添付ファイルとして送信するためのデータ形式に係るデータの生成を開始することを特徴とする請求項５乃至７いずれか一項記載の電子メール送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器及び電子メール送信方法に関し、特に画像データを電子メールに添付して送信する電子機器及び電子メール送信方法に関する。
【背景技術】
【０００２】
一般的に複合機（ＭＦＰ（Multifunction Peripheral））と呼ばれている画像形成装置においては、複数の機能が搭載されているという特性を生かして、様々なサービスが考案され提供されている。例えば、特許文献１には、スキャナによって読み取られた画像データをメール送信する画像処理装置が記載されている。
【０００３】
各種のサービスを提供するためには、比較的大容量のメモリや、ＨＤＤ等の大規模記憶装置等を搭載する必要が生じる。例えば、スキャナによって読み取られた画像データをメール送信するためには、当該画像データだけではなく、当該画像データをメールによって送信するための所定の形式に変換されたファイル（例えば、ＴＩＦＦファイル等）を記憶装置上に保持する必要がある。
【特許文献１】特開２００２―２８８０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、メモリ容量等の増加は、画像形成装置全体の価格に与える影響が大きい。特に、価格競争の激しい昨今においては、メモリ消費量をいかに抑制しつつ利便性の高いサービスを提供できるかが、市場における製品の競争力を向上させるために重要な課題となっている。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、添付ファイルを有する電子メールの送信の際のメモリ消費量を低減させることのできる電子機器及び電子メール送信方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、メモリに記憶されている画像データに基づいて、該画像データを電子メールの添付ファイルとして送信するためのデータ形式に係るデータを一部分ずつ前記メモリに生成するデータ形式変換手段と、前記一部分のデータをエンコードするエンコード手段と、前記エンコードされたデータを前記電子メールの一部として送信する送信手段とを有し、前記データ形式変換手段は、前記送信手段による前記電子メールの一部の送信に応じて次の一部分のデータを前記メモリに生成することを特徴とする。
【０００７】
このような電子機器では、添付ファイルを有する電子メールの送信の際のメモリ消費量を低減させることができる。
【発明の効果】
【０００８】
本発明によれば、添付ファイルを有する電子メールの送信の際のメモリ消費量を低減させることのできる電子機器及び電子メール送信方法を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図１において、画像形成装置１０は電子機器の一例であり、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、ネットワークインタフェース１５、及び操作パネル１６等のハードウェアを有する。
【００１０】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３等より構成される。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、後述される機能を実現する。なお、ＲＡＭ１１２は、画像データを記録するための記憶領域としても用いられる。
【００１１】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、画像データを印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース１５は、ＬＡＮ（Local Area Network）等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。操作パネル１６は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
【００１２】
図２は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。図２に示されるように、画像形成装置１０のソフトウェアは、ハードウェアに対する依存度、又は機能の応用度に応じて複数の階層に階層化されている。図中では、デバイス制御層２００、画像入出力サービス層３００、機能実行層４００、要求管理層５００、及びレセプション層６００等に階層化されている例が示されている。図中において、下位層ほどハードウェアに対する依存度が高く、上位層ほどハードウェアの機能が抽象化されている。また、図中において、下位層ほど基本的な（プリミティブな）機能を提供し、上位層ほど応用的な機能を提供する。上位層は下位層を利用することにより、それぞれの機能を実現する。
【００１３】
デバイス制御層２００は、同様なデバイスごとのデバイスドライバをラッピングして、上位層に対して共通のインタフェースを提供する層である。したがって、バーチャル層２００によって、同様なデバイスごとの差違が吸収（抽象化）される。デバイス制御層２００には、外部Ｉ／Ｆ制御部２０１、スキャナ制御部２０２、プリンタ制御部２０３、プロトコル制御部２０４、ファクス通信制御部２０５、及び操作パネル制御部２０６が含まれる。
【００１４】
例えば、スキャナ制御部２０２は、スキャナ１２を制御するモジュールである。プリンタ制御部２０３は、プリンタ１３を制御するモジュールである。ファクス通信制御部２０５は、ファクス通信の通信制御を実行するモジュールである。
【００１５】
画像入出力サービス層３００は、画像データの入力、出力、及び操作に関するサービスを機能実行層４００に対して提供する層である。画像入出力サービス層３００には、画像入力部３１０、画像操作部３２０、画像出力部３３０、及びデータ形式変換ユーティリティ３４０等が含まれる。
【００１６】
画像入力部３１０は、画像データの入力に関するサービスを提供する部分であり、スキャナ１２によって読み取られる画像データをスキャナ制御部２０２を介して入力したり、￥ネットワークを介して受信されるプリントデータ（画像データ）をプロトコル制御部２０４を介して入力したり、ファクスデータ（画像データ）をファクス通信制御部２０５による通信制御を介して入力（受信）したりする。
【００１７】
画像操作部３２０は、入力された画像データ又は画像形成装置１０に保存されている画像データの加工処理（各種補正処理、編集処理等）に関するサービスを提供する部分である。
【００１８】
画像出力部３２０は、入力された画像データ又は画像形成装置１０に保存されている画像データの出力に関するサービスを提供する部分であり、メール送信部３３１等を含む。メール送信部３３１は、プロトコル制御部２０４を介して、画像データを電子メールによって出力（送信）する。画像出力部３２０は、また、プリンタ制御部２０３を介して、画像データをプリンタ１３より出力（印刷）したり、ファクス通信制御部２０５を介して画像データをネットワーク上又は電話回線上に出力（送信）したり、プロトコル制御部２０４を介して、例えば、ＦＴＰ（File Transfer Protocol）によって画像データを出力（ファイル転送）したりする。
【００１９】
機能実行層４００は、ユーザから見える単位での機能を実現する層である。機能実行層４００には、コピー機能部４０１、スキャナ機能部４０２、プリンタ機能部４０３、ファクス機能部４０４、及び実行管理部４０５等が含まれおり、それぞれ、コピー機能、スキャナ機能、プリンタ機能、ファクス機能等を実現する。また、実行管理部４０５は、各機能の実行管理を行う。
【００２０】
要求管理層５００は、画像形成装置１０に入力される機能の実行要求と機能との関係を管理する層である。要求管理装置５００には資源管理部５０１及び要求管理部５０２等が含まれている。資源管理部５０１は、要求に応じて実行される機能に必要な資源の割り当て等を行う。要求管理部５０２は、要求に応じた機能（機能実行層４００における機能）の呼び出し等を行う。
【００２１】
レセプション層６００は、画像形成装置１０に入力される機能の実行要求を受け付けて解釈し、当該実行要求を画像形成装置１０内部において理解可能な情報に翻訳する層である。レセプション層６００において翻訳された情報が、入力要求情報として要求管理部５０２に入力される。レセプション層６００には、機内要求部６０１、ネットワーク要求部６０２、ＷｅｂＵＩ部６０３、及び機器ＵＩ部６０４等が含まれている。機内要求部６０１は、画像形成装置１０の内部において発生する要求を受け付ける。ネットワーク要求部６０２は、ネットワークを介して接続されているＰＣ（Personal Computer）等において実行されているアプリケーション等より送信される要求を受け付ける。ＷｅｂＵＩ部６０３は、ネットワークを介して接続されているＰＣ等におけるＷｅｂブラウザにおいて表示されているＷｅｂページより入力される要求を受け付ける。機器ＵＩ部６０４は、操作パネル１６より入力される要求を受け付ける。
【００２２】
画像入力サービス層３００のメール送信部３３１について更に詳しく説明する。図３は、メール送信部の構成例を説明するためのクラス図である。図３において、メール送信部３３１を構成するクラス群は、大きく分けて、配送担当部３０、梱包担当部４０、及び電子ファイル化部５０の三つのグループに分けられる。
【００２３】
配送担当部３０は、電子メールの送信機能を担う部分であり、配送担当クラス３１、ＳＭＴＰサーバクラス３２、及び送り先クラス３３等を含む。
【００２４】
配送担当クラス３１は、電子メールの送信機能を表現するクラスであり、そのインスタンス（以下「配送担当オブジェクト３１Ａ」という。）は、メール送信部３３１に１つだけ存在する。配送担当クラス３１は、属性として、送り先数を有し、メソッドとして、配送要求メソッド及び配送中止要求メソッドを有する。
【００２５】
送り先数は、現在送信対象とされている電子メールの送信先の数を保持する。配送要求メソッドは、機能実行層４００より、電子メールの送信要求を受け付けるためのメソッドである。配送中止要求メソッドは、機能実行層４００より、送信要求を受けた電子メールの送信の中止要求を受け付けるためのメソッドである。配送担当クラス３１は、これらのメソッドにより、メール送信部３３１を機能実行層４００に利用させるためのインタフェースを提供する。
【００２６】
ＳＭＴＰサーバクラス３２は、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバを表現するクラスであり、そのインスタンス（以下「ＳＭＴＰサーバオブジェクト３２Ａ」という。）は、メール送信部３３１に一つだけ存在する。ＳＭＴＰサーバクラス３２は、属性として、サーバアドレス、認証方式、ユーザＩＤ、及びパスワードを有し、メソッドとして、接続開始メソッド、データ送信メソッド、送信中止メソッド、及び送信終了メソッドを有する。
【００２７】
サーバアドレスは、実際のＳＭＴＰサーバのＩＰアドレスを保持する。認証方式は、実際のＳＭＴＰサーバに接続する際の認証方式を保持する。ユーザＩＤ及びパスワードは、実際のＳＭＴＰサーバに認証を受ける際のユーザＩＤ及びパスワードを保持する。接続開始メソッドは、プロトコル制御部２０４を介して、実際のＳＭＴＰサーバとの接続（コネクション）を確立する。データ送信メソッドは、実際のＳＭＴＰサーバに対して電子メールの送信を実行する。送信中止メソッドは、電子メールの送信を中止する。送信終了メソッドは、実際のＳＭＴＰサーバとの接続を切断する。
【００２８】
送り先クラス３３は、電子メールの宛先を表現するクラスであり、そのインスタンス（以下「送り先オブジェクト３３Ａ」という。）は、送信対象とされている電子メールの宛先ごとに生成される。送り先クラス３３は、属性として、アドレス文字列及び種別を有し、メソッドとして送り先取得メソッドを有する。アドレス文字列は、電子メールアドレスを示す文字列を保持する。種別は、Ｔｏ、Ｃｃ、Ｂｃ、又はＦｒｏｍ等の別を示す情報を保持する。送り先取得メソッドは、属性として保持されているアドレス文字列を返却する。
【００２９】
梱包担当部４０は、電子メールの梱包機能（送信する情報を電子メールの形式に生成する機能）を担う部分であり、梱包担当クラス４１、添付無しメールクラス４２、添付有りメール４３、本文パートクラス４４、電子ファイルパートクラス４５、エンコード済みテキストクラス４６、及びパーシャルメールクラス４７等を含む。
【００３０】
梱包担当クラス４１は、電子メールの梱包機能を表現するクラスであり、そのインスタンス（以下「梱包担当オブジェクト４１Ａ」という。）は、メール送信部３３１に一つだけ存在する。梱包担当クラス４１は、属性として、添付ファイル有無、メール分割、総梱包数、梱包済み数、及び電子ファイル分割方式を有し、メソッドとして、梱包開始メソッド、梱包中止メソッド、梱包終了メソッド、及び総梱包数計算メソッドを有する。
【００３１】
添付ファイル有無は、梱包対象とされている電子メールにおける添付ファイルの有無を示す情報を保持する。メール分割は、電子メールを分割して送信するか否かを示す情報を保持する。例えば、電子メールのサイズが、所定の値を超える場合、当該電子メールは分割されて送信される。総梱包数は、メール送信が要求された情報を送信するために必要とされる電子メールの総数を保持する。分割しないで送信可能な場合、総梱包数の値は１となる。分割されて送信される場合、総梱包数の値は、分割数となる。梱包済み数は、処理の進行に応じてその値が変化する属性であり、総梱包数のうち、すでに梱包が完了した電子メールの数を保持する。電子ファイル分割方式は、電子メールを分割して送信する際、当該電子メールに添付される電子ファイルの分割方式を示す情報を保持する。分割方式としては、例えば、サイズによって分割する方式と、ページごとに分割する方式とがある。
【００３２】
梱包開始メソッドは、配送担当部３０より電子メールの梱包要求を受け付けるためのメソッドである。梱包中止メソッドは、配送担当部３０より電子メールの梱包の中止要求を受け付けるためのメソッドである。梱包終了メソッドは、配送担当部３０より電子メールの梱包の終了の宣言を受け付けるためのメソッドである。総梱包数計算メソッドは、分割方式に従って、電子メールの総梱包数を計算する。
【００３３】
添付無しメールクラス４２は、電子ファイルが添付されない電子メール（添付無しメール）を表現するクラスであり、そのインスタンス（以下「添付無しメールオブジェクト４２Ａ」という。）は、一通の電子メールにつき一つ生成される。添付無しメールクラス４２は、属性として、ヘッダ情報、空き容量、及び本文を有し、メソッドとしてメール作成メソッドを有する。
【００３４】
ヘッダ情報は、電子メールのヘッダ情報を保持する。空き容量は、メール一通当たりのサイズ（データ量）に制限がある場合に、あとどの程度のサイズのデータを当該メールに含めることができるのかを示す情報を保持する。本文は、電子メールの本文を保持する。メール作成メソッドは、添付無しメール（シングルパートの電子メール）を作成する。
【００３５】
添付有りメールクラス４３は、電子ファイルが添付される電子メール（添付有りメール）を表現するクラスであり、そのインスタンス（以下「添付有りメールオブジェクト４３Ａ」という。）は、一通の電子メールにつき一つ生成される。添付有りメールクラス４３は、属性として、ヘッダ情報、空き容量、及びバウンダリ文字列を有し、メソッドとして、メール作成メソッド及びデータ取得メソッドを有する。
【００３６】
ヘッダ情報及び空き容量については、添付無しメール４２におけるものと同様である。バウンダリ文字列は、ＭＩＭＥ（Multipurpose Internet Mail Extensions）のマルチパートによって構成される添付有りメールの各パートの境界を示す文字列が保持される。メール作成メソッドは、添付有りメール（マルチパートの電子メール）を作成する。データ取得メソッドは、添付有りメールに含まれているデータの一部を取得し、返却する。
【００３７】
添付有りメールクラス４３は、添付有りメールの本文パート、電子ファイルパートのそれぞれを表現するクラスとして、本文パートクラス４４、電子ファイルパートクラス４５を集約する。
【００３８】
本文パートクラス４４のインスタンス（以下「本文パートオブジェクト４５Ａ」という。）は、一つの添付有りメールに対して一つ生成される。本文パートクラスは、属性として本文を有し、メソッドとして本文パート作成メソッドを有する。本文は、添付有りメールの本文を保持する。本文パート作成メソッドは、添付有りメールの本文パートを作成する。
【００３９】
電子ファイルパートクラス４５のインスタンス（以下「電子ファイルパートオブジェクト４５Ａ」という。）は、添付有りメールに添付される電子ファイルの数に応じて生成される。電子ファイルパートクラス４５は、属性として、パートサイズを有し、メソッドとして、電子ファイルパート読み出しメソッドを有する。パートサイズは、当該電子ファイルパートのデータサイズを保持する。電子ファイルパート読み出しメソッドは、電子ファイルパートのデータを電子ファイルより読み出し、返却する。
【００４０】
エンコード済みテキストクラス４６は、属性として、テキストサイズを有し、メソッドとしてエンコード済みテキスト読み出しメソッドを有する。テキストサイズは、添付ファイルが、例えば、Ｂａｓｅ６４やｕｕｅｎｃｏｄｅ等によってエンコードされることにより生成されるテキストデータのテキストサイズを保持する。エンコード済みテキスト読み出しメソッドは、電子ファイル（バイナリデータ）を読み出し、当該バイナリデータをエンコードし、テキストデータを作成する。
【００４１】
パーシャルメールクラス４７は、電子メールがサイズ単位で分割されて送信される場合に、分割された一つのメール（パーシャルメール）を表現するクラスであり、そのインスタンス（以下「パーシャルメールオブジェクト４７Ａ」という。）は、パーシャルメールごとに生成される。パーシャルメールクラス４７は、属性として、ヘッダ情報、空き容量、メール番号、及びｉｄを有し、メソッドとして、パーシャルメール作成メソッド及びデータ取得メソッドを有する。ヘッダ情報及び空き容量については、添付無しメール４２におけるものと同様である。メール番号は、当該パーシャルメールの順番を示す値を保持する。ｉｄは、分割前の電子メールを識別するための識別情報を保持する。パーシャルメール作成メソッドは、パーシャルメールを作成する。データ取得メソッドは、パーシャルメールに含まれているデータの一部を取得し、返却する。なお、パーシャルメールクラス４７の本文（ｂｏｄｙ）は、添付有りメールクラス４３によって表現される。
【００４２】
電子ファイル化部５０は、スキャナ１２によって原稿より読み取られ、ＲＡＭ１１２に格納されている画像データを、電子メールの添付ファイルとして適切なファイル形式（例えば、ＴＩＦＦファイル、ＪＰＥＧファイル、又はＰＤＦ（Portable Document Format）ファイル等）に変換する部分であり、電子ファイル化担当クラス５１、電子ファイルクラス５２、及び蓄積ドキュメントクラス５３等を含む。
【００４３】
電子ファイル化担当クラス５１は、画像データの電子ファイルへの変換機能（電子ファイル化機能）を表現するクラスであり、そのインスタンスは、電子ファイル化機能が必要とされる際に生成される。すなわち、スキャナ１２によって原稿より読み取られ、ＲＡＭ１１２に格納されている画像データは、単に、原稿の画像を示す情報を含むデータに過ぎない。当該画像データをＴＩＦＦ形式、ＪＰＥＧ形式、又はＰＤＦ形式等のファイルにするためには、ヘッダ情報の付加等、所定の変換処理が必要とされる。斯かる機能を実現するのが電子ファイ化担当クラス５１である。電子ファイル化担当クラス５１は、属性として、電子ファイル単位及び予測サイズリストを有し、メソッドとして、電子ファイル化開始メソッド、電子ファイル化中止メソッド、電子ファイル化終了メソッド、及び予測サイズリスト取得メソッドを有する。
【００４４】
電子ファイル単位は、電子ファイルの単位がシングルページなのかマルチページなのかを示す情報を保持する。予測サイズリストは、各電子ファイルの予測サイズの一覧を保持する。電子ファイル化開始メソッドは、梱包担当部４０より、電子ファイル化の要求を受け付けるためのメソッドである。電子ファイル化中止メソッドは、梱包担当部４０より電子ファイル化の中止要求を受け付けるためのメソッドである。電子ファイル化終了メソッドは、梱包担当部４０より電子ファイル化の終了の宣言を受け付けるためのメソッドである。予測サイズリスト取得メソッドは、属性として保持されている予測サイズリストを返却する。
【００４５】
電子ファイルクラス５２は、仮想的な電子ファイルを表現するクラスであり、そのインスタンス（以下「電子ファイルオブジェクト５２Ａ」という。）は、仮想的な電子ファイルごとに生成される。ここで、「仮想的な電子ファイル」とは、ＲＡＭ１１２上には当該電子ファイルの実体は存在しないことを意味する。すなわち、電子ファイルクラス５２は、実体は存在しない電子ファイルを取り扱うための手段を提供する。ＲＡＭ１１２上に、電子ファイルの実体が作成されないことで、ＲＡＭ１１２のメモリ消費量の低減が図られる。
【００４６】
電子ファイルクラス５２は、属性として、ファイル名、ファイルサイズ、及びファイル形式を有し、メソッドとして、電子ファイル作成メソッド、ファイル読み出しメソッド、電子ファイル削除メソッド等を有する。
【００４７】
ファイル名は、電子ファイルのファイル名を保持する。ファイルサイズは、電子ファイルのファイルサイズを保持する。ファイル形式は、電子ファイルのデータ形式（ＴＩＦＦ、ＪＰＥＧ、又はＰＤＦ等）を保持する。電子ファイル作成メソッドは、仮想的な電子ファイルを作成する。ファイル読み出しメソッドは、仮想的な電子ファイルの内容を読み出す。電子ファイル削除メソッドは、仮想的な電子ファイルを削除する。
【００４８】
蓄積ドキュメントクラス５３は、ＲＡＭ１１２に格納されている画像データを表現するクラスであり、そのインスタンス（以下「蓄積ドキュメントオブジェクト５３Ａ」という。）は、画像データごとに生成される。蓄積ドキュメントクラス５３は、属性として、ドキュメントＩＤ及びページ数を有し、メソッドとして、ファイル構築依頼メソッド、ファイル破棄依頼メソッド、及びファイル読み出し依頼メソッドを有する。ドキュメントＩＤは、当該画像データを一意に識別するＩＤ（ドキュメントＩＤ）を保持する。ページ数は、当該画像データのページ数を保持する。ファイル構築依頼メソッドは、当該画像データに基づいて、電子ファイルを仮想的に生成する。ファイル破棄依頼は、仮想的に生成された電子ファイルを破棄する。ファイル読み出し依頼メソッドは、仮想的に生成されたファイルの内容を読み出す。
【００４９】
以下、上記のような構成を有するメール送信部３３１の処理手順について説明する。本実施の形態では、スキャナ１１によって読み取られた画像データ（スキャン画像）の電子メールの送信処理について説明する。当該電子メールの送信は、例えば、次のような操作によって開始される。
【００５０】
図４は、スキャン画像のメール送信を実行する際の操作画面の遷移例を示す図である。
【００５１】
操作パネル１５において、スキャン画像のメール送信機能の利用を指示すると、当該機能の初期画面１５０ａが操作パネル１５に表示される。初期画面１５０ａは、メッセージ１５１１が表示され、宛先ボタン１５１、送信条件ボタン１５２等を有する。メッセージ１５１１は、宛先の指定と、非図示のスタートボタンの押下を促している。宛先ボタン１５１が選択されると、宛先（メールアドレス）を選択させるための宛先一覧が表示される。送信条件ボタン１５２が選択されると、電子メールの送信条件を設定させるための画面が表示される。
【００５２】
宛先等が設定されると、読み取り開始画面１５０ｂが表示される。読み取り開始画面１５０ｂには、読み取りが開始できる旨を示すメッセージ１５１２が表示され、選択された宛先１５１３が表示されている。
【００５３】
その後、スタートボタンが押下されると、読み取り中画面１５０ｃが表示される。読み取り中画面１５０ｃには、メール送信する原稿を読み取り中である旨を示すメッセージ１５１３が表示される。このとき、スキャナ１１によって読み取られた画像データ（スキャン画像）は、ＲＡＭ１１２上に格納されていく。
【００５４】
原稿からの画像データの読み取りが完全に完了すると、読み取り完了画面１５０ｄが表示される。読み取り完了画面１５０ｄでは、読み取りが完了した旨を示すメッセージ１５１４が表示される。このとき（読み取りが完了したとき）、ＲＡＭ１１２には、スキャン画像の全部が格納（展開）されている。
【００５５】
読み取りの完了に応じ、図５及び図６の処理が実行される。図５及び図６は、メール送信部による添付有りメールの送信処理を説明するためのシーケンス図である。
【００５６】
まず、機能実行層４００のスキャナ機能部４０２は、メール送信部３３１の配送担当オブジェクト３１Ａの配送要求メソッドを呼び出すことにより、スキャン画像の電子メールによる送信を要求する（Ｓ１０１）。なお、配送要求メソッドの引数には、メールの宛先、本文の内容、及びスキャン画像のＩＤ（ドキュメントＩＤ）が指定される。
【００５７】
続いて、配送担当オブジェクト３１Ａは、ＳＭＴＰサーバオブジェクト３２Ａの接続開始メソッドを呼び出す（Ｓ１０２）。続いて、ＳＭＴＰサーバオブジェクト３２Ａは、サーバアドレス属性に保持されているＩＰアドレスに係るＳＭＴＰサーバとの接続をプロトコル制御部２０４に対して要求する（Ｓ１０３）。プロトコル制御部２０４は、ＳＭＴＰサーバとの間でコネクションを確立する（Ｓ１０４）。
【００５８】
続いて、配送担当オブジェクト３１Ａは、本文の内容、及びスキャン画像のドキュメントＩＤ等を引数に指定して、梱包担当オブジェクト４１Ａの梱包開始メソッドを呼び出す（Ｓ１０５）。続いて、梱包担当オブジェクト４１Ａは、スキャン画像のドキュメントＩＤを引数に指定して、電子ファイル化担当オブジェクト５１Ａの電子ファイル化開始メソッドを呼び出す（Ｓ１０６）。続いて、電子ファイル化担当オブジェクト５１Ａは、スキャン画像のドキュメントＩＤを指定して、電子ファイルオブジェクト５２Ａの電子ファイル作成メソッドを呼び出す（Ｓ１０７）。続いて、電子ファイルオブジェクト５２Ａは、スキャン画像のドキュメントＩＤを引数に指定して、蓄積ドキュメントオブジェクト５３Ａのファイル構築依頼メソッドを呼び出す（Ｓ１０８）。蓄積ドキュメントオブジェクト５３Ａは、引数に指定されたドキュメントＩＤを属性として保持する。但し、当該ドキュメントＩＤに係る画像データの電子ファイル（ＴＩＦＦファイル、ＪＰＥＧファイル、又はＰＤＦファイル等）は、実際には作成されない。
【００５９】
電子ファイル化開始メソッドが正常に実行されると、梱包担当オブジェクト４１Ａには、電子ファイルオブジェクト５２Ａ（厳密には、当該オブジェクトへの参照情報）が返却される。続いて、梱包担当オブジェクト４１Ａは、送信する電子メールが、添付無しメール又は添付有りメールなのか、また、パーシャルメールで送信すべきかを判断する（Ｓ１０９）。当該判断処理の詳細は後述する。ここでは、添付有りメールをパーシャルメールによって分割して送信すると判断されたこととする。
【００６０】
パーシャルメールによって添付有りメールを分割して送信する場合、梱包担当オブジェクト４１Ａは、メールの本文と電子ファイオブジェクト５２Ａとを引数に指定して、パーシャルメールオブジェクト４７Ａのパーシャルメール作成メソッドを呼び出す（Ｓ１１０）。続いて、パーシャルメーオブジェクト４７Ａは、メールの本文と電子ファイオブジェクト５２Ａとを引数に指定して、添付有りメールオブジェクト４３Ａのメール作成メソッドを呼び出す（Ｓ１１１）。続いて、添付有りメールオブジェクト４３Ａは、本文パートオブジェクト４４Ａを生成し、メールの本文を引数に指定して、本文パート作成メソッドを呼び出す（Ｓ１１２）。本文パートオブジェクト４４Ａは、本文属性に本文の内容を保持する。
【００６１】
続いて、添付有りメールオブジェクト４３Ａは、電子ファイルオブジェクト５２Ａを引数に指定して、電子ファイルパートクラス４５のコンストラクタを呼び出し、電子ファイルパートオブジェクト４５Ａを生成する（Ｓ１１３）。続いて、電子ファイルパートオブジェクト４５Ａは、電子ファイルオブジェクト５２Ａを引数に指定して、エンコード済みテキストクラス４６のコンストラクタを呼び出し、エンコード済みテキストオブジェクト４６Ａを生成する（Ｓ１１４）。続いて、エンコード済みテキストオブジェクト４６Ａは、引数に指定された電子ファイルオブジェクト５２Ａへの参照情報を保持する。なお、スキャン画像に係る電子ファイルは生成されていない。したがって、この時点では電子ファイルのエンコードは実行されない。すなわち、ここで作成されるエンコード済みテキストオブジェクト４６Ａは、エンコード済みテキストを有していない、いわば空のオブジェクトである。
【００６２】
以上の処理が正常に行われると、添付有りメールの梱包が完了する。そこで、配送担当オブジェクト３１Ａは、ＳＭＴＰサーバオブジェクト３２Ａのデータ送信メソッドを呼び出す（Ｓ１１５）。なお、以降においては、添付有りメールのうち、添付ファイル（電子ファイル）の送信処理についてのみ説明し、他のパートの送信処理については省略する。
【００６３】
ＳＭＴＰサーバオブジェクト３２Ａは、ＳＭＴＰサーバに送信すべきデータを取得するため、パーシャルメールオブジェクト４７Ａのデータ取得メソッドを呼び出す（Ｓ１１６）。この際、データ取得メソッドの引数には取得するデータサイズ（例えば、１００ｂｙｔｅ）が指定される。データサイズは、ＲＡＭ１１２の容量に応じて予め定めればよい。現在、ＲＡＭ１１２には、画像データが展開されている。この状態において、少なくとも、ＲＡＭ１１２の空き容量以下の値が指定される必要がある。
【００６４】
続いて、パーシャルメールオブジェクト４７Ａは、添付有りメールオブジェクト４３Ａのデータ取得メソッドを呼び出す（Ｓ１１７）。続いて、添付有りメールオブジェクト４３Ａは、電子ファイルパートオブジェクト４５Ａの電子ファイルパート読み出しメソッドを呼び出す（Ｓ１１８）。続いて、電子ファイルパートオブジェクト４５Ａは、エンコード済みテキストオブジェクト４６Ａのエンコード済みテキスト読み出しメソッドを呼び出す（Ｓ１１９）。続いて、エンコード済みテキストオブジェクト４６Ａは、電子ファイルオブジェクト５２Ａのファイル読み出しメソッドを呼び出す（Ｓ１２０）。続いて、電子ファイルオブジェクト５２Ａは、電子ファイルの形式（例えば、ＴＩＦＦ）を引数に指定して、蓄積ドキュメントオブジェクト５３Ａのファイル読み出し依頼メソッドを呼び出す（Ｓ１２１）。なお、ステップＳ１１７からＳ１２１において呼び出されるメソッドの引数には、取得するデータサイズも引き継がれて指定される。
【００６５】
蓄積ドキュメントオブジェクト５３Ａは、スキャン画像に係る電子ファイル（例えば、ＴＩＦＦ形式のファイル）を構成するデータ（以下、「電子ファイルデータ」という。）のうち、メソッドの引数に指定されたデータサイズ分のデータをＲＡＭ１１２上に生成し、生成されたデータを返却する（Ｓ１２２）。すなわち、実体は存在しないＴＩＦＦファイルの一部分（例えば、ヘッダ部分）がＲＡＭ１１２上に生成され、そのデータが返却される。但し、電子ファイルデータはエンコードされることによりデータサイズが変化する（通常はデータサイズが大きくなる。）。したがって、蓄積ドキュメントオブジェクト５３Ａは、エンコードされたデータが指定されたデータサイズ以下になるように電子ファイルデータを生成する。当該電子ファイルデータのデータサイズは、エンコードによるデータ量の増加率を予め算出しておき、その増加率に基づいて決定すればよい。
【００６６】
蓄積ドキュメントオブジェクト５３Ａより返却された電子ファイルデータは、電子ファイルオブジェクト５２Ａを介してエンコード済みテキストオブジェクト４６Ａに返却される（Ｓ１２３）。エンコード済みテキストオブジェクト４６Ａは、返却された電子ファイルデータをエンコードし、エンコードされたデータ（エンコードデータ）を電子ファイルパートオブジェクト４５Ａに返却する（Ｓ１２４）。なお、エンコードされた電子ファイルデータは、ＲＡＭ１１２より削除される。
【００６７】
エンコードデータは、添付有りメールオブジェクト４３Ａ及びパーシャルメールオブジェクト４７Ａを介してＳＭＴＰサーバオブジェクト３２Ａに返却される（Ｓ１２５、Ｓ１２６、Ｓ１２７）。ＳＭＴＰサーバオブジェクト３２Ａは、返却されたエンコードデータの送信をプロトコル制御部２０４に要求する（Ｓ１２８）。プロトコル制御部２０４は、ＳＭＴＰによって、電子ファイルの一部に係るエンコードデータを送信する。送信が終了したことをＳＭＴＰサーバ３２Ａに通知する（Ｓ１２９）。エンコードデータの送信に応じ、当該エンコードデータは、ＲＡＭ１１２より削除される。
【００６８】
上記、ステップＳ１１６からステップＳ１２８までの処理（ｌｏｏｐ１）は、電子ファイルを構成するデータの送信が完全に完終了するまで繰り返される。すなわち、電子ファイルの一部分がＲＡＭ１１２に生成され、その一部分についてエンコード及び送信といった処理が繰り返される。この際、前回生成された電子ファイルデータは、メモリ１１２上より削除され、前回生成した部分に続く部分に係る電子ファイルデータがメモリ１１２上に生成する。したがって、電子ファイルの全てがメモリ１１２上に展開されることはない。
【００６９】
図７は、メール送信部による電子メールの送信処理を概念的に示す図である。図７では、ヘッダがＳＭＴＰサーバにストリーム送信され（Ｓ２０１）、本文パートがＳＭＴＰサーバにストリーム送信され（Ｓ２０２）、続いて、電子ファイルパートが一部分ずつＳＭＴＰサーバにストリーム送信される様子が示されている（Ｓ２０３、Ｓ２０４、Ｓ２０５・・・）。なお、この処理は、従来における、分割してメールを送信する技術とは異なる。すなわち、従来は、添付ファイルが完全にメモリ上、又はＨＤＤ上に生成されているのに対し、本実施の形態では、一部ずつＲＡＭ１１２上に生成される。したがって、電子ファイル全体をＲＡＭ１１２上に展開する場合に比べ、大幅にメモリの消費量が削減される。
【００７０】
電子メールの送信が完了すると（Ｓ１３１）、配送担当オブジェクト３１Ａは、梱包担当オブジェクト４１Ａの梱包終了メソッドを呼び出す（Ｓ１３２）。続いて、梱包担当オブジェクト４１Ａは、電子ファイル化担当オブジェクト５１Ａの電子ファイル化終了メソッドを呼び出す（Ｓ１３３）。続いて、電子ファイル化担当オブジェクト５１Ａは、電子ファイルオブジェクト５２Ａの電子ファイル削除メソッドを呼び出す（Ｓ１３４）。続いて、電子ファイルオブジェクト５２Ａは、蓄積ドキュメントオブジェクト５３Ａのファイル破棄依頼メソッドを呼び出す（Ｓ１３５）。蓄積ドキュメントオブジェクト５３Ａは、不要なメモリ領域の解放等、終了化処理を実行する。
【００７１】
梱包終了が完了すると、配送担当オブジェクト３１Ａは、ＳＭＴＰサーバオブジェクト３２Ａの送信終了メソッドを呼び出す（Ｓ１３６）。続いて、ＳＭＴＰサーバオブジェクト３２Ａは、プロトコル制御部２０４にＳＭＴＰサーバとのコネクションの切断を要求する（Ｓ１３７）。プロトコル制御部２０４は、ＳＭＴＰサーバとのコネクションを切断し、電子メールの送信が完了する。
【００７２】
次に、ステップＳ１０９における配送担当オブジェクト４１Ａの処理について説明する。図８は、配送担当オブジェクトによる送信メールの種別の判断処理を説明するためのフローチャートである。
【００７３】
まず、電子ファイルの添付が要求されているか否かを判定する（Ｓ１０９１）。例えば、ドキュメントＩＤが指定されている場合、電子ファイルの添付が要求されていると判断する。電子ファイルの添付が要求されていない場合（Ｓ１０９１でＮｏ）、添付無しメールを生成すべきであると判断する（Ｓ１０９２）。
【００７４】
一方、電子ファイルの添付が要求されている場合（Ｓ１０９２でＹｅｓ）、メールの分割方法はサイズ分割であり、かつ、総梱包数は１より大きいか否かを判断する。ここで、総梱包数は、予め設定されている一つの電子メールのデータサイズの制限値に基づいて判断される。すなわち、サイズ分割の場合、これから作成される電子メールの予測サイズを当該制限値で除することで、総梱包数が算出される。
【００７５】
ステップＳ１０９３の判断が肯定的な場合（Ｓ１０９３でＹｅｓ）、パーシャルメールを生成すべきであると判断する（Ｓ１０９４）。ステップＳ１０９３の判断が否定的な場合（Ｓ１０９４でＮｏ）、添付有りメールを生成すべきであると判断する（Ｓ１０９５）。
【００７６】
次に、図６のｌｏｏｐ１におけるＳＭＴＰサーバオブジェクト３２Ａの処理について説明する。図９は、電子メール送信時のＳＭＴＰサーバオブジェクトの処理を説明するためのフローチャートである。図９中、図６と同一ステップには同一符号を付している。
【００７７】
まず、パーシャルメールオブジェクト４７Ａのデータ取得メソッドを呼び出すことにより、電子ファイルの一部に係るエンコードデータを取得する（Ｓ１１６）。エンコードデータの取得に成功した場合（Ｓ１２７でＹｅｓ）、プロトコル制御部２０４を介して当該エンコードデータをストリーム送信する（Ｓ１２８）。当該エンコードデータの送信が終了すると（Ｓ１２９）、残りの電子ファイルデータが存在する否かを判断する（Ｓ１３０）。この判断は、ステップＳ１２７におけるパーシャルメールオブジェクト４７Ａからの戻り値に基づいて行えばよい。残りの電子ファイルデータが有る場合（Ｓ１３０でＹｅｓ）、ステップＳ１１６以降の処理を繰り返す。残りの電子ファイルデータは無い場合（Ｓ１３０でＮｏ）、又は電子ファイルデータの取得に失敗した場合（Ｓ１２７でＮｏ）、梱包担当オブジェクト４１Ａの梱包終了メソッドを呼び出し、電子メールの梱包を終了する（Ｓ１３２）。
【００７８】
上述したように、本実施の形態における画像形成装置１０によれば、画像データを添付ファイルとして電子メールによって送信する際に、添付ファイルとなる電子ファイルの全てが一度にＲＡＭ１１２に展開されることはない。したがって、ＲＡＭ１１２の消費量を削減することができ、ひいては、画像形成装置１０のコストダウンを図ることができる。
【００７９】
なお、本実施の形態では、スキャンされた画像データをそのまま電子メールによって送信する例について説明したが、既に保存されている画像データの電子メールの送信について本実施の形態に係る発明を適用してもよい。
【００８０】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。
【図３】メール送信部の構成例を説明するためのクラス図である。
【図４】スキャン画像のメール送信を実行する際の操作画面の遷移例を示す図である。
【図５】メール送信部による添付有りメールの送信処理を説明するためのシーケンス図である。
【図６】メール送信部による添付有りメールの送信処理を説明するためのシーケンス図である。
【図７】メール送信部による電子メールの送信処理を概念的に示す図である。
【図８】配送担当オブジェクトによる送信メールの種別の判断処理を説明するためのフローチャートである。
【図９】電子メール送信時のＳＭＴＰサーバオブジェクトの処理を説明するためのフローチャートである。
【符号の説明】
【００８２】
１０        画像形成装置
１１        コントローラ
１２        スキャナ
１３        プリンタ
１４        モデム
１５        ネットワークインタフェース
１６        操作パネル
３０        配送担当部
３１        配送担当クラス
３２        ＳＭＴＰサーバクラス
３３        送り先クラス
４０        梱包担当部
４１        梱包担当クラス
４２        添付無しメールクラス
４３        添付有りメール
４４        本文パートクラス
４５        電子ファイルパートクラス
４６        エンコード済みテキストクラス
４７        パーシャルメールクラス
５０        電子ファイル化部
５１        電子ファイル化担当クラス
５２        電子ファイルクラス
５３        蓄積ドキュメントクラス
１１１      ＣＰＵ
１１２      ＲＡＭ
１１３      ＲＯＭ
２００      デバイス制御層
２０１      外部Ｉ／Ｆ制御部
２０２      スキャナ制御部
２０３      プリンタ制御部
２０４      プロトコル制御部
２０５      ファクス通信制御部
２０６      操作パネル制御部
２５０      ファクス通信インタフェース
２５１      通信制御タスク管理テーブル
３００      画像入出力サービス層
３１０      画像入力部
３２０      画像操作部
３３０      画像出力部
３３１      メール送信部
４００      機能実行層
４０１      コピー機能部
４０２      スキャナ機能部
４０３      プリンタ機能部
４０４      ファクス機能部
４０５      実行管理部
５００      要求管理層
５０１      資源管理部
５０２      要求管理部
６００      レセプション層
６０１      機内要求部
６０２      ネットワーク要求部
６０３      ＷｅｂＵＩ部
６０４      機器ＵＩ部
【図１】
2008172448.tif 000003
【図２】
2008172448.tif 000004
【図３】
2008172448.tif 000005
【図４】
2008172448.tif 000006
【図５】
2008172448.tif 000007
【図６】
2008172448.tif 000008
【図７】
2008172448.tif 000009
【図８】
2008172448.tif 000010
【図９】
2008172448.tif 000011