以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本実施形態に係る画像処理システムの全体図である。
本実施形態に係る画像処理システムは、画像処理装置101、端末(パーソナルコンピュータ:PC)102、クラウドサービスサーバ131を備える。LAN110には、画像処理装置101及び端末102が通信可能に接続されている。また、LAN110はインターネット120に通信可能に接続されており、画像処理装置101や端末102は、サービス提供しているクラウドサービスサーバ131とインターネット120経由で接続されている。ここでは、端末102はLAN110に接続されているが、その限りではない。例えば、端末102は、クラウドサービスサーバ131に接続可能であればよい。
図2は、実施形態に係る画像処理装置101のハードウェア構成を示すブロック図である。
画像処理装置101は、ハードウェア構成として、制御部210、操作部219、プリンタ部220、及びスキャナ221を備える。制御部210は、CPU211、ROM212、RAM213、HDD214、操作部I/F215、プリンタI/F216、スキャナI/F217、及びネットワークI/F218を備える。
CPU211を含む制御部210は、画像処理装置101全体の動作を統括的に制御する。CPU211は、ROM212に記憶された制御プログラムを読み出して読取制御や送信制御等の各種制御を行う。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD(ハードディスクドライブ)214は、画像データや各種プログラム、或いは各種情報テーブルを記憶する。操作部I/F215は、操作部219と制御部210とを接続する。操作部219には、例えば、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。尚、CPU211により実行されるプログラムは、HDD214にインストールされていて、ROM212に記憶されたブートプログラムによってRAM213に展開されて実行されてもよい。
プリンタI/F216は、プリンタ部220と制御部210とを接続する。プリンタ部220で印刷すべき画像データはプリンタI/F216を介して制御部210から転送され、プリンタ部220により記録媒体上に印刷される。スキャナI/F217は、スキャナ221と制御部210とを接続する。スキャナ221は、原稿上の画像を読み取って画像データを出力し、その画像データはスキャナI/F217を介して制御部210に入力される。ネットワークI/F218は、制御部210(画像処理装置101)をLAN110に接続する。ネットワークI/F218は、LAN110及びインターネット120を介して外部装置(例えば、クラウドサービスサーバ131)に画像データや情報を送信したり、その外部装置から各種情報を受信したりする。
図3は、実施形態に係るクラウドサービスサーバ131の構成を示すブロック図である。尚、端末102のハードウェア構成は、クラウドサービスサーバ131と同様の構成であるため説明を省略する。
CPU311を含む制御部310は、クラウドサービスサーバ131全体の動作を制御する。CPU311は、ROM312に記憶されたブートプログラムによってHDD314からRAM313に展開された制御プログラムに従って各種制御処理を実行する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークI/F315は、クラウドサービスサーバ131をインターネット120に接続しており、インターネット120及びLAN110を介して、LAN110上の他の装置との間で各種情報を送受信する。
図4は、実施形態に係る画像処理装置101のソフトウェア構成を説明する図である。図4に示す各機能部は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。
画像処理装置101は、ソフトウェア構成として、画面表示部400、通信部401、マイクロブログ通信管理部402、スキャンデータ管理部403、ジョブ処理部404、及び画像処理部406を有する。更に、スキャンデータを格納するスキャンデータデータベース(以下、スキャンデータDB)405を有している。
画面表示部400は、操作部219に対してスキャン操作の実行を指示するための画面を表示し、ユーザからの指示によりジョブ処理部404に対してスキャンジョブの実行指示を行う。通信部401は、マイクロブログ通信管理部402からの指示により、クラウドサービスサーバ131に対してリクエストを送信する。また通信部401は、クラウドサービスサーバ131からのレスポンス(リクエストに対する返信)を受信する。
マイクロブログ通信管理部402は、ジョブ処理部404からの通知によりスキャンデータがスキャンデータDB405に格納されたと検知すると、クラウドサービスサーバ131へスキャンデータが格納された旨を知らせる文言を含むメッセージを送信する。ここでいうスキャンデータが格納された旨を知らせる文言とは、例えば、「スキャンデータの準備ができました」という、人が解釈可能な文言である。また、マイクロブログ通信管理部402は送信したメッセージの管理を行う。
スキャンデータ管理部403は、スキャンデータDB405に対してジョブ処理部404で生成されたスキャンデータの格納指示を行ったり、スキャンデータDB405に格納されているスキャンデータを取得したりする。ジョブ処理部404は、操作者からの画面表示部400介したスキャンジョブの実行指示によって、制御部210にスキャン処理の実行を依頼し、その結果としてスキャナ221が原稿上の画像を読み取って生成した画像データを受け取る。そして、ジョブ処理部404は、その画像データをスキャンデータとしてスキャンデータDB405に格納する準備ができた旨をスキャンデータ管理部403に通知する。スキャンデータDB405は、スキャンデータ管理部403からの指示により、ジョブ処理部404で生成されたスキャンデータをHDD214等のメモリに格納したり、格納されているスキャンデータを取得してスキャンデータ管理部403に送信したりする。画像処理部406は、画像データに対して補正、加工、編集、解像度変換等を行う。また、これに加えて、画像データの回転や、JPEG、MMR等の圧縮伸張処理を行う。また、PDF、XPS、OOXML等の電子ファイルフォーマットへの変換処理を行う。
図5は、実施形態に係るクラウドサービスサーバ131のソフトウェア構成を説明する図である。図5に示す各機能部は、クラウドサービスサーバ131のCPU311がROM312やHDD314から制御プログラムをRAM313に読み出して実行することにより実現される。
クラウドサービスサーバ131は、Webアプリケーション501、及びメッセージデータベース502(以下、メッセージDB502)を有する。Webアプリケーション501は、CRMサービスなどを提供するためのWebアプリケーションである。本実施形態では、Webアプリケーション501において、マイクロブログ機能が提供されているものとする。Webアプリケーション501は、通信部511、制御部512、及びメッセージ管理部513を有する。
通信部511は、画像処理装置101及びPC等の端末102からのリクエストを受信して、制御部512にリクエスト内容を送信する。更に、制御部512からリクエストに対する処理結果を受け取り、そのリクエストに対するレスポンスデータを作成して画像処理装置101及び端末102にレスポンスを送信する。制御部512は、通信部512から送信されるリクエストの内容に従って、そのリクエストに含まれるメッセージ又はコメントを抽出し、メッセージ管理部513にメッセージ又はコメントの登録処理を依頼する。メッセージ管理部513は、制御部512から送信されるメッセージ又はコメントを受信して、メッセージDB502へ格納する。また、メッセージ管理部513は、制御部512からの依頼により、メッセージDB502に登録されたメッセージ及びコメントをメッセージDB502から取得して制御部512に送信する。
次に、図6を参照して、本発明の実施形態に係るクラウドサービスサーバ131で提供されるマイクロブログ機能について説明する。このマイクロブログ機能は、クラウドサービスサーバ131に対して通信可能に接続された装置から登録されたメッセージを、複数の他の装置に対して公開する機能を示し、通常、メッセージとしては、150〜200文字の短い文字数が対象となる。
図6は、PC等の端末102上で動作するWebブラウザからクラウドサービスサーバ131にアクセスして表示されるWebページの表示例を示す図である。この例では、クラウドサービスサーバ131は、端末102を操作するユーザに対するメッセージを管理しているものとする。
マイクロブログ画面601は、クラウドサービスサーバ131が端末102のユーザに対するメッセージを表示する。端末102は、クラウドサービスサーバ131から受信した画面情報に従ってマイクロブログ画面601を表示部に表示する。メッセージ表示エリア603は、メッセージとそのメッセージに対するコメントから構成されるタイムラインをそれぞれ表示する。メッセージ表示エリア603では、本実施形態に係る画像処理装置101である「MFP A」が、スキャンデータDB405にスキャンデータの格納が完了し、他のユーザが取得可能になったことを示すメッセージを登録している様子を表示している。メッセージ611〜614は、MFP Aがそれぞれの4つのスキャンデータの準備が完了したことを示すメッセージの例を示している。
コメント入力エリア604において、端末102の操作者がコメント入力欄621にコメントを入力して、追加ボタン622を押下すると、Webブラウザからクラウドサービスサーバ131にコメント追加リクエストが送信される。この追加リクエストを受信したクラウドサービスサーバ131は、コメント入力欄621に入力されたコメントを登録する。これにより、ユーザがWebブラウザでクラウドサービスサーバ131にアクセスした際にWebブラウザ上に登録したコメントが表示される。尚、コメントの表示例に関しては、後述の実施形態で説明する。
メッセージ入力エリア605において、メッセージ入力欄631に端末102の操作者がメッセージを入力して、作成ボタン632を押下すると、Webブラウザからクラウドサービスサーバ131にメッセージ作成リクエストが送信される。このリクエストを受信したクラウドサービスサーバ131は、メッセージ入力欄631に入力されたメッセージを登録する。これにより、ユーザがWebブラウザでクラウドサービスサーバ131にアクセスした際に前述のメッセージ611〜614と同様に、Webブラウザ上で作成したメッセージが表示される。
図7は、本実施形態に係るスキャンデータ管理テーブルを説明する図である。
このテーブルは、画像処理装置101のスキャンデータ管理部403がスキャンデータDB405に格納されるスキャンデータを管理するためにHDD214に保持されている。このスキャンデータ管理テーブルには、スキャン文書ID701、スキャン文書名702、メッセージID703及びユーザID704が格納される。スキャン文書ID701には、スキャンデータ管理テーブルで重複しないID(識別情報)が生成されて格納される。スキャン文書名702には、スキャンデータの文書名を示す文字列が格納される。本実施形態では、スキャンデータは画像処理装置101の内部フォーマットであり、印刷を前提とした圧縮方法により形成されるデーターフォーマットで保持される。メッセージID703には、クラウドサービスサーバ131から割り当てられる、各々のスキャンデータに対応するメッセージを識別するためのメッセージIDが格納される。ユーザID704には、スキャンデータをスキャンデータDB405に格納したユーザを識別するためのユーザIDが格納される。
例えば、レコード705は、スキャンデータのスキャン文書ID701が「0001」を示し、スキャン文書名702が「AA会議議事録」を示し、メッセージID703が「147051」で、ユーザID704が「USER−A」となっている。
図8は、本実施形態に係る画像処理装置101による画像の読取動作からスキャンデータの保存、メッセージ送信までの処理手順を説明するフローチャートである。以下で説明する処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。また、図8の処理手順が実行される前に、画像処理装置101は、操作者を認証する等の処理を行い、操作者を一意に特定するユーザIDを認識しているものとする。
まずS801で、画面表示部400は、操作部219を使用したユーザの操作によるスキャン実行指示を検知する。ここでは、原稿を読み取るための設定と読み取った電子データの文書名を設定することができる。原稿を読み取るための設定としては、解像度、カラーモード、両面読み取り等の設定を行うことができる。次にS802に進み、スキャン実行指示を検知した画面表示部400は、ジョブ処理部404へスキャンジョブの実行指示を通知する。このスキャンジョブの実行指示を受けると、ジョブ処理部404は、制御部210にスキャン処理の実行を依頼する。これにより制御部210は、その実行依頼により、スキャナI/F217を介してスキャナ221に原稿のスキャンを実行させる。こうしてスキャナ221は、制御部210からの依頼によって、原稿上の画像を読み取って画像データを生成し、その画像データをスキャナI/F217を介して制御部210に送信する。この画像データを受信した制御部210は、ジョブ処理部404に対してスキャン処理実行結果として、その受信した画像データを送信する。
こうしてS803に進み、ジョブ処理部404は、その画像データを受信して、その画像データをスキャンデータとして格納する旨をスキャンデータ管理部403に通知する。ジョブ処理部404からの通知を受信したスキャンデータ管理部403は、その受け取った画像データをスキャンデータとしてスキャンデータDB405に格納し、ジョブ処理部404へスキャンデータの格納が完了した旨を通知する。また、スキャンデータの格納と同時に、図7に示すスキャンデータ管理テーブルに、各種情報を格納する。例えば、画像処理装置101を操作する操作者のユーザIDが「USER−A」であり、格納するスキャンデータの文書名が「AA会議議事録」である場合、図7のレコード705のようなレコードがスキャンデータ管理テーブルに追加される。
次にS804に進み、ジョブ処理部404は、スキャンデータの格納が完了した通知を受信すると、マイクロブログ通信管理部402へメッセージの送信を依頼する。ジョブ処理部404からの依頼を受信したマイクロブログ通信管理部402は、「「AA会議議事録」の準備ができました」という旨の内容を含むメッセージを作成し、そのメッセージと、メッセージ送信依頼とを通信部401へ送信する。ここで、ユーザがどういった文書がスキャンされたか判別できる情報、例えば、文書名等の情報をメッセージに付加して送信する。マイクロブログ通信管理部402からのメッセージ送信依頼を受信した通信部401は、その受信したメッセージをクラウドサービスサーバ131へ送信する。これにより、クラウドサービスサーバ131が提供するマイクロブログ機能へメッセージが登録される。通信部401は、クラウドサービスサーバ131から受信したメッセージの登録完了結果情報をマイクロブログ通信管理部402へ返信する。マイクロブログ通信管理部402は、このメッセージの登録完了結果情報から取得したメッセージIDをスキャンデータ管理部403に通知する。スキャンデータ管理部403は、S803でスキャンデータ管理テーブルに登録したメッセージID703に、その取得したメッセージIDを格納する。
これにより、クラウドサービスサーバ131が提供するマイクロブログ機能において、メッセージに対する「タイムライン」が作成される。そしてユーザがWebブラウザなどを利用してクラウドサービスサーバ131へアクセスすると、図6に示すようなマイクロブログ画面601にメッセージが表示される。こうしてメッセージやコメントをやり取りすることによって他のユーザと情報の交換を行うことが可能となる。
次に、図9及び図10を参照して、本実施形態に係る画像処理装置101における画像の読取動作からスキャンデータの更新、メッセージ送信までの処理手順を説明する。図10の処理手順が実行される前に、画像処理装置101は、操作者を認証する等の処理を行い、操作者を一意に特定するユーザIDを認識しているものとする。
図9は、本発明の第1実施形態に係るマイクロブログ画面を説明する図である。尚、図9において、前述の図6と共通する部分は同じ記号で示し、それらの説明を省略する。
図10は、第1実施形態に係る画像処理装置がスキャンデータの更新の際に行う処理手順を説明するフローチャートである。この処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。
まずS1001において、画面表示部400は、操作部219を使用したユーザの操作によるスキャンデータを更新するためのスキャン実行指示を検知する。次にS1002に進み、このスキャン実行指示を検知した画面表示部400は、スキャンデータ管理部403へ、操作者のユーザIDと一致するスキャンデータの一覧を問い合わせる。スキャンデータ管理部403は、図7に示すスキャンデータ管理テーブルを参照して、操作者のユーザIDに一致するスキャンデータを抽出し、その抽出したスキャンデータのリストを画面表示部400に提供する。例えば、図7の場合、画像処理装置101の操作者のユーザIDが「USER−A」であれば、スキャン文書IDが「0001」と「0002」のスキャンデータが抽出されることになる。
次にS1003に進み、スキャンデータ管理部403からスキャンデータのリストを受け取った画面表示部400は、操作部I/F215を介して操作部219にスキャンデータのリストを表示する。これにより、画像処理装置101の操作者は、更新対象(編集対象)のスキャンデータを選択することができる。図7の例では、例えば、操作者のユーザIDが「USER−A」の場合、「AA会議議事録」と「AA会議配付資料」がリスト表示されることになる。次にS1004に進み、画面表示部400は、操作部219でのユーザの選択操作により、選択されたスキャンデータを検知する。例えば、ユーザ操作によって「AA会議議事録」が選択された場合、画面制御部400は、その選択された更新対象のスキャンデータのスキャン文書IDが「0001」であると認識する。
次にS1005に進み、スキャンデータが選択されると画面表示部400は、ジョブ処理部404へ、その選択されたスキャンデータのスキャン文書IDを渡すと共に、スキャンジョブの実行指示を通知する。スキャンジョブの実行指示を受けたジョブ処理部404は、制御部210にスキャン処理の実行を依頼する。制御部210は、このスキャン処理実行依頼により、スキャナI/F217を介してスキャナ221に原稿のスキャンを実行させる。これによりスキャナ221は、制御部210からの依頼によって、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に画像データを送信する。この画像データを受信した制御部210は、ジョブ処理部404に対してスキャン処理実行結果として、その受信した画像データを送信する。
次にS1006に進み、その画像データを受信したジョブ処理部404は、その画像データを画面表示部400から受け取ったスキャン文書IDに該当するスキャンデータの更新(置き換え)として格納する旨をスキャンデータ管理部403に通知する。ジョブ処理部404からの通知を受信したスキャンデータ管理部403は、そのスキャン文書IDに該当するスキャンデータを、新たに読み取った画像データに更新して(置き換えて)スキャンデータDB405に格納する。そしてジョブ処理部404へスキャンデータの格納が完了した旨を通知する。そしてS1007に進み、スキャンデータの格納完了通知を受信したジョブ処理部404は、マイクロブログ通信管理部402に、そのスキャン文書IDを渡し、クラウドサービスサーバ131へのコメント送信を依頼する。この依頼を受け取ったマイクロブログ通信管理部402は、スキャンデータ管理部403に、その渡されたスキャン文書IDに該当するメッセージIDを問い合わせる。スキャンデータ管理部403は、スキャンデータ管理テーブルを参照してメッセージIDを特定し、マイクロブログ通信管理部402に返信する。マイクロブログ通信管理部402は、スキャンデータ管理部403から得られたメッセージIDを用いて、通信部401を介してクラウドサービスサーバ131から得られるタイムラインの一覧から、当該スキャンデータに該当するタイムラインを特定する。そして「○○○を更新しました」という旨のメッセージを作成し、通信部401を介して当該タイムラインへのコメントを送信する。
図9の911は、図10のS1007で送信されるコメントの例を示している。
図9では、スキャンデータの更新によって新たに「「AA会議議事録」を更新しました」という旨のコメント911(第2メッセージ)をメッセージ611(第1メッセージ)へのコメントとして登録する。こうしてユーザに「AA会議議事録」のスキャンデータが更新された旨を通知することが可能となる。
以上説明したように第1実施形態によれば、配布目的で保存される電子データが更新されたことを分かりやすくユーザに通知することができる。即ち、スキャンデータDBに格納されている電子データの内、どの電子データがいつ更新されたかをユーザに分かりやすく提示できることにより、最新の電子データの取得漏れや配布漏れなどを抑制することができる。
[第2実施形態]
本発明の第2実施形態では、前記第1実施形態における、更新するスキャンデータの抽出方法が異なる場合について説明する。尚、第1実施形態で説明した図4の画像処理部406は、第2実施形態では、前述の画像処理に加えて、画像データの類似度を検出する処理も行うこととする。又第2実施形態の説明において記述しない制御については、前述の第1実施形態と同様である。
図11は、本発明の第2実施形態に係る画像処理装置がスキャンデータの更新の際に行う処理手順を説明するフローチャートである。この処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。
まずS1101において、画面表示部400は、操作部219を使用したユーザの操作によるスキャンデータの更新のためのスキャン実行指示を検知する。次にS1102に進み、そのスキャン実行指示を検知した画面表示部400は、ジョブ処理部404へスキャンジョブの実行指示を通知する。このスキャンジョブの実行指示を受けたジョブ処理部404は、制御部210にスキャン処理の実行を依頼する。制御部210は、スキャン処理実行依頼により、スキャナI/F217を介してスキャナ221にスキャンを実行させる。これによりスキャナ221は、制御部210からの依頼によって、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に画像データを送信する。この画像データを受信した制御部210は、ジョブ処理部404に対してスキャン処理実行結果として受信した画像データを送信する。
次にS1103に進み、この画像データを受信したジョブ処理部404は、画像処理部406に画像データを送信し、スキャンデータ管理部403で管理されているスキャンデータとの類似度の検出を依頼する。画像処理部406は、スキャンデータDB405に格納されているスキャンデータをスキャンデータ管理部403から取得し、それぞれのスキャンデータとジョブ処理部404から受信した画像データとの類似度を求める。そして、その類似度が予め定められた値よりも高い(より類似している)スキャンデータのリストをジョブ処理部404に返信する。ここで、類似度を求める手法については特に言及しないが、類似度の確度が高く、処理速度が早い手法が望ましい。
次にS1104に進み、類似度が高いスキャンデータのリストを受け取ったジョブ処理部404は、画面表示部400にスキャンデータのリストを渡す。これにより画面表示部400は、画像処理装置101の操作者が、更新対象のスキャンデータを選択できるように、操作部I/F215を介して操作部219にスキャンデータのリストを表示する。そしてS1105に進み、画面表示部400は、操作部219を介したユーザの操作によるスキャンデータの選択指示を検知する。次にS1106に進み、このスキャンデータの選択指示を検知した画面表示部400は、ジョブ処理部404へ、その選択されたスキャンデータのスキャン文書IDを通知する。このスキャン文書IDの通知を受けたジョブ処理部404は、S1102で取得した画像データで、スキャンデータDB405の、そのスキャン文書IDに該当するスキャンデータを更新する(置き換える)旨をスキャンデータ管理部403に通知する。ジョブ処理部404からの通知を受信したスキャンデータ管理部403は、そのスキャン文書IDに該当するスキャンデータDB405のスキャンデータを、新たに読み取った画像データで更新する(置き換える)。そしてジョブ処理部404へスキャンデータの格納が完了した旨を通知する。S1107の処理は、図10のS1007の処理と同様である。
以上説明したように第2実施形態によれば、スキャンデータDB405に記憶されている更新対象の画像データを、読み取った画像データとの類似度によって自動的に検出できる。これにより、スキャンデータ(画像データ)が多数存在していても、更新対象の画像データを検索する手間が省け、利便性を向上させることができる。
[第3実施形態]
第3実施形態では、既に画像処理装置101のスキャンデータDB405に保存され、スキャンデータ管理部403により管理されているスキャンデータに関連付けて新たにスキャンデータを追加する場合について説明する。尚、第3実施形態の説明におけるシステム及び装置構成は、前述の第1及び第2実施形態と同様であるため、その説明を省略する。
図12は、本発明の第3実施形態に係るマイクロブログ画面を説明する図である。尚、図12において、前述の図6と共通する部分は同じ記号で示し、それらの説明を省略する。
また図13は、第3実施形態に係るスキャンデータ管理テーブルを説明する図で、前述の図7と共通する部分は同じ符号で示している。そして図14は、第3実施形態に係る画像処理装置がスキャンデータを追加する際に行う処理手順を説明するフローチャートである。この処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。また、図14の処理手順が実行される前に、画像処理装置101は、操作者を認証する等の処理を行い、操作者を一意に特定するユーザIDを認識しているものとする。
まずS1401において、画面表示部400は、操作部219によるユーザ操作によるスキャンデータの追加のためのスキャン実行指示を検知する。ここでは、原稿を読み取るための設定と、読み取った電子データの文書名を設定することができる。原稿を読み取るための設定として、解像度、カラーモード、両面読み取り等の設定を行うことができる。次にS1402に進み、スキャン実行指示を検知した画面表示部400は、スキャンデータ管理部403へ、操作者のユーザIDと一致するスキャンデータのリストを問い合わせる。スキャンデータ管理部403は、図7に示すスキャンデータ管理テーブルを参照して、操作者のユーザIDに一致するスキャンデータをスキャンDB405から抽出し、画面表示部400に、その抽出したスキャンデータのリストを提供する。例えば、図7の場合では、操作者のユーザIDが「USER−A」の場合、スキャン文書IDが「0001」と「0002」のスキャンデータが抽出されることになる。
次にS1403に進み、スキャンデータ管理部403からスキャンデータのリストを受け取った画面表示部400は、操作部I/F215を介して操作部219にスキャンデータのリストを表示する。これにより画像処理装置101の操作者が追加するスキャン文書と関連付けたいスキャンデータを選択できる。例えば、操作者のユーザIDが「USER−A」の場合、「AA会議議事録」と「AA会議配付資料」がリストに表示されることになる。そしてS1404に進み、画面表示部400は、ユーザが操作部219を操作して行ったスキャンデータの選択指示を検知する。例えば、ユーザ操作によって「AA会議議事録」が追加対象のデータとして選択された場合、画面制御部400は、その選択されたスキャンデータのスキャン文書IDが「0001」であると認識する。
次にS1405に進み、スキャンデータの選択指示を検知した画面表示部400は、ジョブ処理部404へ、その選択されたスキャンデータのスキャン文書IDを渡すと共に、スキャンジョブの実行指示を通知する。このスキャンジョブの実行指示を受けたジョブ処理部404は、制御部210にスキャン処理の実行を依頼する。制御部210は、スキャン処理実行依頼により、スキャナI/F217を介してスキャナ221にスキャンを実行させる。スキャナ221は、制御部210からの依頼によって、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して制御部210に画像データを送信する。この画像データを受信した制御部210は、ジョブ処理部404に対してスキャン処理実行結果として受信した画像データを送信する。
次にS1406に進み、その画像データを受信したジョブ処理部404は、その画像データを画面表示部400から渡されたスキャン文書IDに該当するスキャンデータに関連付けて格納する旨をスキャンデータ管理部403に通知する。ジョブ処理部404からの通知を受信したスキャンデータ管理部403は、当該画像データをスキャンデータDB405に格納し、スキャンデータ管理テーブルに新たにスキャンデータとして追加する。そしてジョブ処理部404へスキャンデータの格納が完了した旨を通知する。このとき、スキャンデータ管理テーブルに新たに追加されるスキャンデータのメッセージIDは、画像処理部400から渡されたスキャン文書IDに対応するメッセージIDである。
図13は、この場合のスキャンデータ管理テーブルの一例を示す図である。この図13では、レコード1311が新たに追加されたスキャンデータを示す。S1404において、ユーザ操作により「AA会議議事録」が選択された場合、その選択されたスキャンデータのメッセージIDは「147051」である。よって、「AA会議議事録」に関連付けて新たにスキャンデータが追加される場合、レコード1311のメッセージIDは、「AA会議議事録」のメッセージIDと同様に「147051」となる。即ち、このメッセージIDによって、スキャンデータ同士が互いに関連付けられる。
次にS1407に進み、スキャンデータの格納完了通知を受信したジョブ処理部404は、マイクロブログ通信管理部402に、そのスキャン文書IDを渡し、クラウドサービスサーバ131へのコメント送信を依頼する。この依頼を受け取ったマイクロブログ通信管理部402は、スキャンデータ管理部403に、その渡されたスキャン文書IDに該当するメッセージIDを問い合わせる。スキャンデータ管理部403は、スキャンデータ管理テーブルを参照してメッセージIDを特定し、マイクロブログ通信管理部402に返信する。マイクロブログ通信管理部402は、スキャンデータ管理部403から得られたメッセージIDを用いることにより、通信部401を介してクラウドサービスサーバ131から得られるタイムライン一覧から当該スキャンデータに対するタイムラインを特定する。そして「○○○を追加しました。」という旨のメッセージを作成し、通信部401を介してコメントを送信して、処理を終了する。
図12は、S1407において、送信されるコメントの例を、コメント1211として示している。図12のその他の各部は図6で説明したものと同様である。図12のコメント1211は、新たにスキャンデータを追加した時点で、メッセージ611に対するコメントとして登録されるコメントである。
以上説明したように第3実施形態によれば、保存されたスキャンデータ(画像データ)に関連する画像データが追加されたことを分かりやすくユーザに通知できる。即ち、どのスキャンデータがいつ、どのデータに関連付けられて追加されたかをユーザにわかりやすく提示することにより、最新の画像データの取得漏れや配布漏れなどを抑制することができる。
[第4実施形態]
第4実施形態では、画像処理装置101が、他のクラウドサービスサーバ131のユーザからの送信指示によりスキャンデータを送信する場合においても、スキャンデータの更新通知を行う場合について説明する。尚、第4実施形態に係る装置及びシステム構成は、前述の実施形態と同様であるため、その説明を省略する。
図15は、本発明の第4実施形態に係る画像処理システムの構成例を説明する図である。図15に示すように、第4実施形態に係る画像処理システムには、図1で示した画像処理装置101、端末102、クラウドサービスサーバ131に加えて、メールサーバ1501を備える。メールサーバ1501は、クラウドサービスサーバ131と同様にインターネット120、LAN110経由で画像処理装置101に接続されている。ここでは、端末102はLAN110に接続されているが、その限りではない。例えば、端末102は、クラウドサービスサーバ131とメールサーバ1501に接続可能であればよい。
図16は、本発明の第4実施形態に係るマイクロブログ画面を説明する図である。尚、図16において、前述の図6と共通する部分は同じ記号で示し、それらの説明を省略する。
メッセージ表示エリア603では、MFP Aが「「AA会議議事録」の準備ができました」というメッセージ611を登録し、メッセージ611に対してUSER−Bがコメント1611「Send to me as PDF」を返信している。また、第4実施形態では、MFP Aが「「AA会議議事録」を送信しました」という処理結果コメント1613を、コメント1611に対して返信している様子を表示している。同様に、コメント1612は、USER−CがUSER−Bと同様に「Send to me as PDF」コメントを返信した様子を表示している。
図17は、第4実施形態に係る画像処理装置101の画像の読取動作からスキャンデータの保存、メッセージ送信、タイムライン監視までの処理手順を説明するフローチャートである。尚、以下で説明する処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。尚、S1701からS1704までの処理は、図8に示したS801からS804までの処理と同様であるため説明を省略する。
S1705で、CPU211は、S1704で登録したメッセージの「タイムライン」を監視する。この監視方法は、図18を参照して後述する。続いてS1706に進み、スキャンデータ管理部403は、ユーザからの指示により、スキャンデータが削除されているか否かを判定する。スキャンデータが削除されている場合は、マイクロブログ通信管理部402へ削除されている旨を通知してS1707へ進む。一方、スキャンデータが削除されていない場合はS1705へ戻り、タイムラインの監視処理を継続する。
S1707では、マイクロブログ通信管理部402は、スキャンデータ管理部403からの依頼を受信し、「AA会議議事録が削除されました」という旨の内容を含むメッセージを作成し、そのメッセージとメッセージ送信依頼とを通信部401へ送信する。マイクロブログ通信管理部402からのメッセージ送信依頼を受信した通信部401は、その受信したメッセージをクラウドサービスサーバ131へ送信する。クラウドサービスサーバ131へのメッセージ送信によって、クラウドサービスサーバ131が提供するマイクロブログ機能へメッセージ登録が行われる。これにより、ユーザがWebブラウザなどを利用してクラウドサービスサーバ131へアクセスした際に、既にその文書が削除されており、取得できない状態になっていることを認識することが可能となる。
図18は、第4実施形態に係る画像処理装置101によるタイムライン監視処理(S1705)の詳細を説明するフローチャートである。以下で説明する処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。
まずS1801で、マイクロブログ通信管理部402は、図17のS1704で登録したメッセージのコメント一覧情報を、通信部401を介してクラウドサービスサーバ131から取得する。次にS1802に進み、CPU211は、そのメッセージに対する新規コメントが追加されているか否かを判定する。新規コメントが存在する場合はS1803に進み、新規コメントが存在しない場合はS1801に戻り、定期的に新規コメントが追加されているかどうかを確認する。ここで新規コメントが存在するかどうかの判断は、各コメントのサブコメントのユーザが画像処理装置101に設定されたユーザであるかどうかで判断する。例えば、図16の場合、メッセージ611に対するコメント一覧では、コメント1611、コメント1612が一覧として取得できる。更に、コメント1611のコメントとしてコメント1613が取得できる。このコメント1613のユーザ情報は、画像処理装置101のユーザ情報である。従ってS1802の判断で、コメント1613は、新規コメントとして追加されていないと判断できる。一方コメント1612には、コメントがないため、新規コメントであると判断できる。尚、コメント1613のように画像処理装置101がコメントを送信する処理については後述する。
S1803でCPU211は、S1802で取得した新規コメントを解析して、そのコメントの送信者の指示を理解し、後段の処理を実行する。コメントの解析処理については、図19を用いて後述する。次にS1804に進み、CPU211は、S1803でコメントの解析処理が成功したか否かを判定する。解析処理が成功した場合はS1805に進み、解析処理に失敗した場合はS1808に進む。S1805でCPU211は、画像処理部406にファイルフォーマットの変換指示を行う。ここで変換するファイルフォーマットは、S1803でコメントの解析処理結果により決定する。これにより画像処理部406は、スキャンデータ管理部403を介してS1703で格納したスキャンデータを取得し、ファイルフォーマットの変換を行う。ここでは、S1703で格納したメッセージIDに対応するスキャンデータをスキャンデータ情報管理テーブルから検索することにより、スキャンデータを特定する。
次にS1806に進み、CPU211は、通信部401に、S1805で生成した電子ファイルの送信を指示する。送信先はS1803によるコメントの解析処理の結果により決定される。通信部401は、画像処理部406から電子ファイルを取得し、その電子ファイルを添付した電子メールをメールサーバ1501に送信する。これにより、コメントを送信したユーザに対し、画像処理を行った電子ファイルを送信することが可能となる。或いは、電子メールの送信だけでなく、S1803でコメントの解析処理結果により、クラウドサービスサーバ131が提供するファイル共有機能にファイルを送信することも可能である。こうしてS1806でファイルを送信するとS1807に進み、マイクロブログ通信管理部402は、「送信しました」という旨のメッセージを作成し、通信部401を介してコメントを送信して処理を終了する。これにより、コメントを送信したユーザに、処理が完了したことを、クラウドサービスサーバ131を介して、通知することが可能となる。例えば、図16の場合、コメント1613が、このS1807で送信したコメントである。また同時に、S1802において、コメントが追加されているかどうかを判断する際、このS1807で追加したコメントの有無を取得することで、コメントの追加を判断することが可能となる。
一方、S1804で解析処理に失敗した場合はS1808に進み、マイクロブログ通信管理部402は、通信部401を介し「送信に失敗しました」という旨のメッセージを作成し、コメントを送信する。これにより、コメントを送信したユーザに、処理が失敗したことを通知できる。また同時に、S1802において、コメントが追加されているかどうかを判断する際、このS1808で追加したコメントの有無を取得することで、コメントの追加を判断することが可能となる。またユーザは、このタイムラインに画像処理装置101を制御する目的以外でコメントすることも可能である。またS1803のコメント解析処理において、コマンド文字列が検索できなかった場合のみエラーコメントを送信しないようにしてもよい。
図19は、第4実施形態に係る画像処理装置101のコメント解析処理(S1803)の詳細を説明するフローチャートである。以下で説明する処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。尚、このフローチャートでは、マイクロブログ通信管理部402は、S1802において、検知した新規コメントを解析する。コメントは、次のようなフォーマット(「Send to me as PDF」)で記載されるものとする。。マイクロブログ通信管理部402は上記のようなコメントから、画像データの送信先であるメールサーバ1501と送信した画像データを共有するメールサーバ1501のユーザと、送信する画像データのデータ形式を特定する。
まずS1901において、マイクロブログ通信管理部402は、図20(A)に示すコマンド文字列管理テーブル2000のコマンド文字列をコメント文字列から検索する。コマンド文字列管理テーブル2000には、コマンド文字列2001と、処理機能2002とが関連付けて定義されている。例えば、「send」が送信機能を示し、「print」が印刷機能を示すことが定義されている。続いて、S1902において、CPU211は、S1901の結果により、このフローチャートを継続するか否かを判定する。S1901でコマンド文字列が見つかった場合はS1903へ進み、S1901でコマンド文字列が見つからなかった場合は処理できないコメントのためエラー終了する。上記例のコメントの場合、コマンド文字列として、「Send」が検索できるため、処理機能は送信機能と判断される。
次にS1903で、マイクロブログ通信管理部402は、図20(B)のプロトコル文字列管理テーブル2010のプロトコル文字列をコメント文字列から検索する。プロトコル文字列管理テーブル2010には、プロトコル文字列2011と、処理機能2012とが関連付けて定義されている。例えば、「me」がメール送信機能と送信先を示し、「document」がクラウドサービスサーバ131へのストレージ格納機能を示すことが定義されている。続いてS1904に進み、CPU211は、S1903の結果により、このフローチャートを継続するか否かを判定する。S1903でプロトコル文字列が見つかった場合はS1905へ進むが、プロトコル文字列が見つからなかった場合は、処理できないコメントのためエラーとして処理を終了する。上記例のコメントの場合、プロトコル文字列として「me」が検索できるため、処理機能はメール送信機能と判断可能である。
次にS1905に進み、マイクロブログ通信管理部402は、図20(C)のパラメータ文字列管理テーブル2020のパラメータ文字列をコメント文字列から検索する。パラメータ文字列管理テーブル2020には、パラメータ文字列2021と、処理機能2022とが関連付けて定義されている。例えば、「pdf」がpdf変換処理を示し、「jpeg」がjpeg変換処理を示すことが定義されている。そしてS1906で、CPU211は、S1905の結果により、このフローチャートを継続するか否かを判定する。S1905でパラメータ文字列が見つかった場合はS1907へ進むが、パラメータ文字列が見つからなかった場合は、処理できないコメントのためエラー終了する。上記例のコメントの場合、パラメータ文字列として、「PDF」が検索できるため、処理機能はPDF変換処理と判断できる。尚、コマンド文字列管理テーブル2000、プロトコル文字列管理テーブル2010、及びパラメータ文字列管理テーブル2020は、文字列テーブルの一例であり、それぞれHDD214等のメモリに予め格納されている。
次にS1907において、CPU211は、S1903で見つかった処理機能のための送信先情報を取得する。マイクロブログ通信管理部402は、コメントIDをクラウドサービスサーバ131へ送信し、コメントの送信者のユーザ情報を取得する。マイクロブログ機能におけるユーザ情報は、そのユーザの属性となる情報が含まれる。例えば、顔写真、名前、連絡先(電話番号、メールアドレス、住所など)、所属組織、言語等である。これらの情報を使用して、マイクロブログ機能でコミュニケーションを行う相手を判断することができる。また、マイクロブログ機能では、共通の属性を有する複数のユーザをグルーピングしたり、提供する機能や情報の種類を変化させたりする機能もある。このユーザ情報に含まれるメールアドレスを送信先として取得し、本処理を終了する。ユーザ情報から送信先情報を特定することで、メールアドレスの入力操作を簡素化することが可能となる。
図22は、第4実施形態に係るスキャンデータの更新の際に画像処理装置101が行う処理手順を示すフローチャートである。なお、以下で説明する処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。また、図22の処理手順が実行される前に、画像処理装置101は、操作者を認証する等の処理を行い、操作者を一意に特定するユーザID(ユーザ識別情報)を認識しているものとする。S2201からS2206までの処理は、第1実施形態における図10のS1001からS1006までの処理と同様であるため、説明を省略する。
S2207において、スキャンデータの格納完了通知を受信したジョブ処理部404は、マイクロブログ通信管理部402に、そのスキャン文書IDを渡し、クラウドサービスサーバ131へのコメント送信を依頼する。依頼を受け取ったマイクロブログ通信管理部402は、スキャンデータ管理部403に、渡されたスキャン文書IDに該当するメッセージIDを問い合わせる。スキャンデータ管理部403は、スキャンデータ管理テーブルを参照してメッセージIDを特定し、マイクロブログ通信管理部402に返信する。マイクロブログ通信管理部402は、スキャンデータ管理部403から得られたメッセージIDを用いることにより、通信部401を介してクラウドサービスサーバ131から、そのスキャンデータに対するコメント一覧を取得する。そして更新前のスキャンデータが既に1つ以上の宛先に送信済みであるか否かを判定する。ここで、既に1つ以上の宛先にスキャンデータを送信済みと判断した場合にはS2208に進み、未送信と判断した場合はコメントを送信することなく処理を終了する。未送信の場合は、まだ誰もスキャンデータを取得していないため特にコメントを送信する必要はなく、冗長なコメントの登録を避けるためである。
スキャンデータが送信済みであるか否かの判断は、例えば、図16の場合、ユーザがスキャンデータの送信を指示したコメント1611と、それに対して画像処理装置101がスキャンデータを送信した旨のコメント1613が存在するか否かで判断する。
S2208において、マイクロブログ通信管理部402は、「○○○を更新しました。」という旨のメッセージを作成し、通信部401を介してコメントを送信して、処理を終了する。
S2208において送信されるコメントの例を図21のコメント2111に示す。
図21は、第4実施形態に係るマイクロブログ画面を説明する図である。
図21において、その他の各部は図6、及び、図16で説明したものと同様である。図21では、コメント1611及びコメント1613が存在するため、既にスキャンデータをUSER−Bに送信済みであることが判断できる。スキャンデータの更新によって新たに「「AA会議議事録」を更新しました」という旨のコメント2111をコメント1613のサブコメントとして登録することにより、USER−Bに対してスキャンデータが更新されたことを通知することが可能となる。
以上説明したように第4実施形態によれば、更新前の電子データが既に1つ以上の配布先に送信済みの場合でも、電子データが更新されたことを送信済みのユーザに通知することができ、最新の電子データの取得漏れを抑制することができる。
[第5実施形態]
第5実施形態では、前述の第4実施形態において、既に画像処理装置101のスキャンデータDB405に保存され、スキャンデータ管理部403において管理されているスキャンデータに関連付けて新たにスキャンデータを追加する場合の処理を説明する。尚、第5実施形態の説明において記述しない制御については、前述の第1〜第4実施形態と同様である。第5実施形態における画像読み取り、スキャンデータ追加、メッセージ送信処理は、基本的に第3実施形態の図14で説明した処理と同様である。但し、第5実施形態では、S1407においてクラウドサービスサーバ131に送信されるコメントの登録位置が異なる場合がある。
第5実施形態のS1407において、送信されるコメントの例を図23のコメント2301、および、図24のコメント2401に示す。
図23及び図24は、第5実施形態に係るマイクロブログ画面を説明する図である。尚、図23及び図24において、その他の各部は図6で説明したものと同様である。
図23のコメント2301は、新たにスキャンデータを追加した時点で、コメント611に対してユーザからのコメントが存在しなかった場合に送信されるコメントの例を示し、コメント611のサブコメントとして登録される。尚、コメント2302、コメント2303については後述する。図24のコメント2401は、新たにスキャンデータを追加した時点で、コメント611のサブコメントとして既にコメント1611及びコメント1613が存在している場合を示す。即ち、ここでは、既にUSER−Bに既存のスキャンデータを送信済みである場合に送信されるコメントの例を示し、コメント1613のサブコメントとして登録される。尚、コメント2402、コメント2403については後述する。
図25は、第5実施形態に係る画像処理装置101のコメント監視処理(S1705)の詳細を説明するフローチャートである。以下で説明する処理は、画像処理装置101のCPU211がROM212やHDD214から制御プログラムをRAM213に読み出して実行することにより実現される。
S2501において、マイクロブログ通信管理部402は、第4実施形態におけるS1704で登録したメッセージのコメント一覧情報を、通信部401を介し、クラウドサービスサーバ131から取得する。次にS2502に進み、マイクロブログ通信管理部402は、メッセージに対する新規コメントが追加されているか否かを判定する。新規コメントが存在する場合はS2503に進み、新規コメントが存在しない場合はS2501に戻り、定期的に新規コメントが追加されているかどうかを確認する。新規コメントが存在するかどうかの判断は、第4実施形態におけるS1802の判断処理と同様である。
次にS2503で、マイクロブログ通信管理部402は、S2502で取得した新規コメントの解析を行い、コメントの送信者の指示を理解し、後段の処理を実行する。コメントの解析処理については、第4実施形態のS1803と同様である。そしてS2504において、マイクロブログ通信管理部402は、S2503で解析処理が成功したか否かを判定する。解析処理が成功した場合はS2505に進み、解析処理に失敗した場合はS2509に進む。S2505では、マイクロブログ通信管理部402は、S2501で取得したコメント一覧情報を参照し、新規コメントの送信者が指示した送信先に対して未送信のスキャンデータを抽出し、その抽出したスキャンデータのリストをジョブ処理部404に渡す。
例えば、図23の場合では、マイクロブログ通信管理部402が、図23のコメント一覧を取得し、コメント2302を新規コメントであると判断した場合、「AA会議議事録」と「AA会議議事録補足」が未送信のスキャンデータであると判断できる。この場合、マイクロブログ通信管理部402は、「AA会議議事録」と「AA会議議事録補足」の両方のスキャンデータを未送信のスキャンデータとして抽出する。
一方、図24の場合では、マイクロブログ通信管理部402が、図24のコメント一覧を取得する。そしてコメント2402を新規コメントであると判断した場合、「AA会議議事録」は既に送信済みであり、「AA会議議事録補足」が未送信のスキャンデータであると判断する。この場合、マイクロブログ通信管理部402は、「AA会議議事録補足」のスキャンデータのみを未送信のスキャンデータとして抽出する。
S2506において、未送信として抽出されたスキャンデータのリストを受け取ったジョブ処理部404は、画像処理部406にスキャンデータのリストを渡し、ファイルフォーマットの変換を指示する。変換するファイルフォーマットはS2503でのコメントの解析処理結果により決定する。画像処理部406はスキャンデータ管理部403を介し、リストとして渡された全てのスキャンデータを取得し、ファイルフォーマットの変換を行う。次にS2507に進み、ジョブ処理部404は、通信部401にS2506で生成した全ての電子ファイルの送信を指示する。送信先はS2503によるコメントの解析処理結果より決定する。通信部401は、画像処理部406から全ての電子ファイルを取得し、電子ファイルを添付したメールをメールサーバ1501に送信する。これにより、コメントを送信したユーザに対し、未送信の全ての電子ファイルを送信することが可能となる。或いは、メール送信だけでなく、S2503でコメントの解析処理結果により、クラウドサービスサーバ131が提供するファイル共有機能にファイルを送信することも可能である。ファイルを送信するとS2508に進み、マイクロブログ通信管理部402は、「○○を送信しました」という旨のメッセージを作成し、通信部401を介しコメントを送信して、処理を終了する。これにより、コメントを送信したユーザに処理を完了したことを、クラウドサービスサーバ131を介して、通知することが可能となる。
例えば、図23の場合、コメント2303が電子ファイルを送信した旨を示すコメントである。図23の場合は、S2505において、「AA会議議事録」と「AA会議議事録補足」の両方のスキャンデータが未送信データとして抽出され、S2507において両データを電子ファイルとして送信する。このためS2508では、「「AA会議議事録」「AA会議議事録補足」を送信しました」というコメント2303が送信される。
一方、図24の場合、コメント2403が電子ファイルを送信した旨を示すコメントである。図24の場合は、S2505において、「AA会議議事録補足」のスキャンデータのみが未送信データとして抽出され、S2507において「AA会議議事録補足」のスキャンデータのみを電子ファイルとして送信する。このためS2508では、「「AA会議議事録補足」を送信しました」というコメント2403が送信される。
以上説明したように第5実施形態によれば、主に配布目的で保存された電子データに関連する電子データが追加されたことをわかりやすくユーザに通知することができる。また、追加された電子データの重複送信を防ぐことにより、効率よく送信することが可能となる。
本発明に係る第3及び第5実施形態において、スキャンデータ間の関連付けを行うのにメッセージIDを用いていたが本発明はこれに限定されない。例えば、画像処理装置101が備えるユーザBOX機能を用いて、1つのユーザBOX内に格納されている複数のスキャンデータを関連付けるように構成してもよい。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。