(57)【要約】【課題】紙媒体に埋め込まれた情報読み取り、各種画像処理機能実行の機能をクラウド上のサービスで補完する。その際システムは、該機能の実行についてデバイスかクラウドかを適切に判断しなければならないという課題がある。【解決手段】各種画像形成装置機能をクラウド上のサービスと、デバイス本体機能とで連携して提供するシステム。情報を埋め込まれた紙媒体の画像を解析して画像形成装置機能を実行するクラウドサービス。該サービスと同等のデバイス機能が存在するかどうか判断するクラウドサービス。前記判断において、前記機能が存在する場合はデバイス機能を使用し、存在しない場合はクラウドサービスを利用するシステム【選択図】  図１１
2014042130.tif 000002
【特許請求の範囲】
【請求項１】
各種画像形成装置機能（画像変換、ＯＣＲ）をクラウド上のサービスとして実現し、デバイス本体機能と連携して動作する画像形成装置（１１０３）において、
前記情報を埋め込まれた紙媒体の画像（１１０４）を解析して各種画像処理情報（１１０５）を抽出して、画像形成装置機能を実行するクラウドサービス（１１０１）
前記クラウドサービスを実行する際、該サービスと同等のデバイス機能（１６０６）が存在するかどうか判断するクラウドサービス（１６０１）
前記判断において、前記機能が存在する場合はデバイス機能（１６０６）を使用し、存在しない場合はクラウドサービス（１６０１）を利用するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置が読み取った画像をネットワーク上で解析し情報抽出を行い、得られた情報に従ってネットワーク上の各種処理機能と画像形成装置を連携するための、画像情報抽出、解析、前記抽出情報を元にした機能実行、あるいは、前記機能実行を前記ネットワーク上の各種処理機能と画像形成装置の各種処理機能との機能分担の最適化、に関する。
【背景技術】
【０００２】
本体が低機能であるデバイスに対してクラウドサービスで機能補完することにより、本体が高機能であるデバイスと同等の機能を提供することができる。特に本発明は、クラウド上の画像情報抽出、解析、前記抽出情報を元にした機能実行機能に関連する発明である。
【０００３】
現状、画像情報抽出、解析、前記抽出情報を元にした機能実行には、例えば複写禁止機能などには本体オプションが必要である。またオプションを装着できる機種も限られる。一方、画像情報抽出、解析、前記抽出情報を元にした機能実行によって実現される機能（例えばコピー禁止）は対応デバイス同士でなければ発揮することができない。
【０００４】
ところが、本発明のクラウド上の画像情報抽出、解析、前記抽出情報を元にした機能実行機能を活用すれば、オフィスなど低機能機、高機能機などが混在せざるを得ない環境下において、ほぼ全デバイスにおいて画像情報抽出、解析、前記抽出情報を元にした機能実行による機能（例えばコピー禁止）を使う事が可能になる。また紙媒体への情報埋めこみ、読み取りをクラウドサービスで実現することにより、クラウド上でワークフローを定義し、利用することも可能となる。
【０００５】
従来も紙への情報埋めこみによるワークフロー実行の発明（例えば、特許文献１参照）は存在する。先行技術と本発明の違いは、本発明が、ある機能を本体で提供するかクラウドサービスで提供するか、動的に決定する点である。実際に本発明を実施した場合、本体オプションの有無（ハード装着、ソフトインストールなど）またはオプション存在のタイミング（プレインストール、後からインストール）により、機能発揮時にデバイスの機能を用いるのか、クラウドサービスの機能を用いるのかをユーザーに選択可能にしなければならない（そうでなければユーザーは付けたオプションが無駄になったり、必要のないクラウドサービスを使用しなければならなくなったりする）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２４３８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本体にＭＦＰの多様な機能（画像変換、ＯＣＲなど）を持たないデバイスに対し、クラウド上で該機能を提供し、高機能なデバイスと同等のサービスを提供したい、という要望がある。特に低価格機のような本体に各種機能、例えばＰＤＦ生成、ＯＣＲ機能などの機能を持たないデバイスに対し、クラウド上のサービスを用いることで紙媒体への情報埋め込み、読み取り、機能を提供したい、という要望がある（該機能により、クラウド上で提供する機能に対して予め設定を行い、紙媒体に情報を埋め込んでおく。上記情報を埋め込んだ紙媒体とクラウド上の画像情報抽出、解析、前記抽出情報を元にした機能実行機能を連携させることにより、設定などのＵＩを持たないデバイスにおいてＭＦＰ機能の設定を適切行うことが可能になる。）。
【０００８】
クラウド上で画像情報抽出、解析、前記抽出情報を元にした機能実行機能を提供し、紙媒体にワークフロー（実施したい機能）を埋め込むとき、該ワークフロー中に指定された機能をデバイスで提供する場合とクラウドで提供する場合がある。また後からデバイスに機能が追加される場合がある。その際、ワークフロー中の機能提供をデバイスで行うのかクラウドで行うのかを適切に判断しなければならない、という課題がある。
【課題を解決するための手段】
【０００９】
各種画像形成装置機能（画像変換、ＯＣＲなど）をクラウド上のサービスとして実現し、デバイス本体機能と連携して動作する画像形成装置（１１０３）において、
前記情報を埋め込まれた紙媒体の画像（１１０４）を解析して各種画像処理等情報（１１０５）を抽出して、画像形成装置機能を実行するクラウドサービス（１１０１）
前記クラウドサービスを実行する際、該サービスと同等のデバイス機能（１６０６）が存在するかどうか判断するクラウドサービス（１６０１）
前記判断において、前記機能が存在する場合はデバイス機能（１６０６）を使用し、存在しない場合はクラウドサービス（１６０１）を利用するシステム。
【発明の効果】
【００１０】
本発明により、低価格機など本体に画像情報抽出、解析、前記抽出情報を元にした機能実行機能を持たないデバイスに対し、クラウド上のサービスを用いることで紙媒体への情報埋め込み、読み取り、機能を提供することができる。
【００１１】
また本発明により、クラウド上で提供する機能に対して予め設定を行い、紙媒体に情報を埋め込んでおくことが可能になる。上記情報を埋め込んだ紙媒体とクラウド上の画像情報抽出、解析、前記抽出情報を元にした機能実行機能を連携させることにより、設定などのＵＩを持たないデバイスにおいて、クラウド上で提供するＭＦＰ機能の設定を適切行うことが可能になる。
【００１２】
また本発明によると、紙媒体に埋め込んだ情報にしたがってＭＦＰ機能を実施する際、該ＭＦＰ機能をデバイスで実行するのか、クラウドサービスで実行するのかを事前に判断することができる。これによりユーザーは、デバイスに既存あるいは追加した機能を適切に利用することができ、クラウドサービスとデバイスの機能連携を最適化できる。
【図面の簡単な説明】
【００１３】
【図１】本実施例における、各種機器の全体構成を示す図である。
【図２（ａ）】本実施例における、画像形成装置１０４の内部構成を示すブロック図である。
【図２（ｂ）】本実施例における、情報処理装置１０６の内部構成を示すブロック図である。
【図３】本実施例における、プリントシステムにおける各装置の機能ブロック図である。
【図４】本実施例における、１つのバーコードの一部にリファレンスグリッドを引いた図である。
【図５】本実施例における、原稿画像の任意のドットを示す図である。
【図６】本実施例における、１つのバーコードを示す図である。
【図７】本実施例における画像形成装置とクラウドサービス間の関係を抜き出した図である。
【図８】本実施例における、画像形成装置の処理を示すフローチャートである。
【図９】本実施例における、画像形成装置の機能分担決定処理のフローチャートである。
【図１０】本実施例における、クラウドサービス処理のフローチャートである。
【図１１】本実施例における、画像形成装置の機能分担決定処理のフローチャートである。
【図１２】本実施例における画像形成装置とクラウドサービス間の関係を抜き出した図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１５】
［本発明におけるクラウドサービスの実施例］
以下に、本発明のクラウドサービスの一般的な実施例を述べる。
【００１６】
本発明のクラウドサービスとは、以下に述べるようなネットワーク上のサーバーコンピューター群によって処理される各種画像解析、変換、保存などのサービスを指す。後述する画像形成装置は、ネットワークを介して前記サーバーコンピューター群と通信することにより、前記サービスを利用して各種処理を進める。
【００１７】
本発明におけるクラウドサービスの実施例のプリントシステムを構成している各装置について、図１を参照して詳細に説明する。図１には、プリントシステムを構成している各装置がネットワーク１００を介して接続されている様子が示されている。プリントシステムを構成している各装置とは、サーバーコンピューター群１０２、文書サーバー１０３、画像形成装置１０４、クライアントコンピュータ１０５である。
【００１８】
ネットワーク１００は、上述の各装置の間で情報をやり取りするための通信回線である。インターネット１０１は、ファイアウォールを越えて上述の各装置間で情報をやり取りするための通信回線である。インターネット１０１により、サーバーコンピューター群１０２と文書サーバー１０３が属するネットワーク１００と、画像形成装置１０４とクライアントコンピュータ１０５が属するネットワーク１００とは、ファイアウォールを越えて通信が可能である。ネットワーク１００、インターネット１０１は、例えば、ＴＣＰ／ＩＰプロトコルなどをサポートする通信回線網であり有線・無線は問わない。実施例１の図１において、サーバーコンピューター群１０２は、１台のサーバーとして示されているが複数台のサーバーコンピューターで構成されている。
【００１９】
次に、図１のプリントシステムを構成している各装置の内部構成について詳細に説明する。始めに、画像形成装置１０４の内部構成について図２（ａ）を用いて説明する。図２（ａ）は、画像形成装置１０４の内部構成を例示するブロック図である。
【００２０】
画像形成装置１０４は、画像処理ユニット１０４１、および印刷ユニット１０４２から構成される。画像処理ユニット１０４１は、ＣＰＵ１０４３、直接記憶部１０４４、間接記憶部１０４５、ユーザーインターフェース１０４７、外部インターフェース１０４８から構成されている。
【００２１】
ＣＰＵ１０４３は、所定のプログラムを実行し、画像処理装置１０４の各種制御を指示するユニットである。ＣＰＵ１０４３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により実現される。直接記憶部１０４４は、ＣＰＵ１０４３がプログラムを実行する際に使用するワークメモリであり、ＣＰＵ１０４３が実行するプログラムは直接記憶部１０４４にロードされる。直接記憶部１０４４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）により実現される。間接記憶部１０４５は、アプリケーションプログラム、およびプラットフォームプログラムを含む各種プログラムが記憶されている。間接記憶部１０４５に記憶されている各種プログラムは、ＣＰＵ１０４３がプログラムを実行する際に直接記憶部１０４４へ移動する。間接記憶部１０４５は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、または、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）により実現される。なお、ＣＰＵ１０４３はマルチプロセッサでも良い。
【００２２】
ここで、プラットフォームについて詳細に説明する。プラットフォームの実現により、ユーザーが独自に開発した新しいアプリケーションを画像形成装置１０２上で実行できる他、画像形成装置１０２の操作画面をカスタマイズすることが可能になる。
【００２３】
プラットフォームの実現方法について説明する。ＣＰＵ１０４３は、間接記憶部１０４５に記憶されたプラットフォームプログラムを直接記憶部１０４４に移動する。移動が完了するとＣＰＵ１０４３は、プラットフォームプログラムを実行することができる状態になる。本発明の実施例１では、ＣＰＵ１０４３がプラットフォームプログラムを実行することを、プラットフォームが起動すると称する。なお、プラットフォームは、画像形成装置１０４のファームウェア上で動作することになる。プラットフォームプログラムは、オブジェクト指向で記述されたアプリケーションプログラムを実行するための環境を提供するものである。
【００２４】
プラットフォーム上でアプリケーションプログラムを実行する方法について詳細に説明する。本発明の実施例１において、プラットフォーム上には、印刷要求を受け付ける印刷ソフトウェアが動作している。印刷ソフトウェアは、ネットワークを介して接続されているデバイスから、例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）と言った通信プロトコルによって印刷データを受信できる。印刷ソフトウェアは、受信した印刷データをファームウェアに送信し、印刷データを受信したファームウェアは印刷データ処理を開始する。なお、印刷データが処理をせずに印刷できるようなものであれば、ファームウェアは印刷データ処理を省く。このように、プラットフォームでアプリケーションプログラムを実行することによって、画像形成装置１０４の制御を実現することができる。
【００２５】
アプリケーションプログラムの実行方法について説明する。起動したプラットフォームは、間接記憶部１０４５に記憶されたアプリケーションプログラムを直接記憶部１０４４に移動する。移動が完了すると、プラットフォームはアプリケーションプログラムを実行することができる状態になる。そして、プラットフォームはアプリケーションプログラムを実行する。このように、アプリケーションプログラムを実行することで提供できるプラットフォームの機能を、本発明の実施例１ではプラットフォームアプリケーションと呼ぶ。さらに、プラットフォームは、本発明の実施例１で開示するフローチャートの各処理の一部を行うことが可能である。
【００２６】
ユーザーインターフェース１０４７は、ユーザーからの処理依頼を受け付けるために必要なユニットである。例えば、キーボード、マウス等を通してユーザーが入力した指示に応じた信号を受け付ける。外部インターフェース１０４８は、外部装置からのデータの受信や外部装置へのデータの送信が可能となっている。例えば、外部装置としては、外付けＨＤＤや外付けＵＳＢメモリ等の外付け記憶装置、またはネットワークを介して接続された別体のホストコンピュータや画像形成装置等の別体装置が含まれる。画像形成装置１０２は、ネットワーク１００、およびインターネット１０１を介して、クライアントコンピュータ１０５、サーバーコンピューター群１０２等と通信可能である。
【００２７】
２番目に、サーバーコンピューター群１０２、文書サーバー１０３、クライアントコンピュータ１０５を含む情報処理装置の内部構成について図２（ｂ）を用いて説明する。図２（ｂ）は、情報処理装置１０６の内部構成を例示するブロック図である。情報処理装置１０６は、ユーザーインターフェース１０６１、ＣＰＵ１０６２、直接記憶部１０６３、間接記憶部１０６４、外部インターフェース１０６５から構成されている。
【００２８】
ユーザーインターフェース１０６１は、ユーザーからの処理依頼を受け付けるために必要なユニットである。例えば、キーボード、マウス等を通してユーザーが入力した指示に応じた信号を受け付ける。
【００２９】
ＣＰＵ１０６２は、所定のプログラムを実行し情報処理装置１０６の各種制御を指示するユニットである。ＣＰＵ１０６２は、ＣＰＵにより実現される。直接記憶部１０６３は、ＣＰＵ１０６２がプログラムを実行する際に使用するワークメモリであり、ＣＰＵ１０６２が実行するプログラムは直接記憶部１０６３にロードされる。直接記憶部１０６３は、ＲＡＭで構成されている。間接記憶部１０６４は、アプリケーションプログラム、およびＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を含む各種プログラムが記憶されている。間接記憶部１０６４に記憶されている各種プログラムは、ＣＰＵ１０６２がプログラムを実行する際に直接記憶部１０６３へ移動する。間接記憶部１０６４は、ＲＯＭ、または、ＨＤＤで構成されている。外部インターフェース１０６５は、ネットワーク１００に接続されており、ネットワーク１００に接続されている他の装置と通信が可能となる。
【００３０】
次に、実施例１のプリントシステムにおける各装置が持つ機能について図３を参照しながら詳細に説明する。図３は、プリントシステムにおける各装置の機能ブロック図である。
【００３１】
始めに、サーバーコンピューター群１０２の機能について説明する。サーバーコンピューター群１０２には、要求受信部４０１１、バックエンド処理部４０２１、キューサービス４０５、ストレージ４０６の機能がある。本発明の実施例１では、要求受信部４０１１を持つサーバーコンピューターが少なくとも１台以上は存在する。また、バックエンド処理部４０２１を持つサーバーコンピューターが少なくとも１台以上は存在する。また、キューサービス４０５とストレージ４０６の両方の機能を持つサーバーコンピューターが少なくとも１台存在する。
【００３２】
要求受信部４０１１は、クライアントコンピュータ１０５、または画像形成装置１０４から送られてきた処理依頼を受け付ける機能を持つ。バックエンド処理部４０２１は、処理プログラムを用いて処理依頼に対する処理を行う機能を持つ。具体的には、バックエンド処理部４０２１は、バックエンド処理部４０２１を実行しているサーバーコンピューターのメモリに処理プログラムをロードし処理を行う。要求受信部４０１１、およびバックエンド処理部４０２１は、図２（ｂ）の間接記憶部１０６４に保存されている要求受信プログラム、またはバックエンド処理プログラムが、直接記憶部１０６３にロードされて、ＣＰＵ１０６２により実行されることで実現される。
【００３３】
キューサービス４０５は、次のような機能を持つ。１つ目は、要求受信部４０１１とバックエンド処理部４０２１とが非同期でデータ通信するための機能を持つ。２つ目は、キューに追加されているキューメッセージを不可視、または可視にする機能を持つ。
【００３４】
１つ目の機能について説明する。要求受信部４０１１とバックエンド処理部４０２１は次のような方法で通信する。始めに、ユーザーからの処理依頼を受けた要求受信部４０１１は、ユーザーからの処理依頼に応じたキューメッセージと呼ばれるチケットを作成する。この際、キューメッセージに対応した受付ＩＤも作成する。なお、キューメッセージと受付ＩＤについては後述する。キューメッセージは要求受信部４０１１によってキューに格納される。バックエンド処理部４０２１はキューからキューメッセージを取得する。バックエンド処理部４０２１は、キューメッセージを取得し、キューメッセージを参照してユーザーからの処理依頼を処理する。これにより、ユーザーからの処理依頼を解決することになる。このように、キューサービス４０５を利用することで要求受信部４０１１とバックエンド処理部４０２１は非同期で通信を行うことが可能になる。１つ目の機能のさらに詳細な説明と２つ目の機能の説明については後述する。なお、キューサービス４０５は、図２（ｂ）の間接記憶部１０６４に保存されているキューサービスプログラムが、直接記憶部１０６３にロードされて、ＣＰＵ１０６２により実行されることで実現される。また、キューは間接記憶部１０６４によって実現される。
【００３５】
ストレージ４０６は、バックエンド処理部４０２１により処理された実行結果のデータを始めとする各種データを保存しておく機能を持つ。ストレージ４０６は図２（ｂ）の間接記憶部１０４６によって実現される。以上がサーバーコンピューター群１０２の機能の説明になるが、さらに詳細な説明については後述する。
【００３６】
次に、文書サーバー１０３の機能について説明する。文書サーバー１０３は、文書リポジトリ３０１の機能を持つ。文書リポジトリ３０１は、図２（ｂ）の間接記憶部１０４６によって実現される。例えば、文書リポジトリ３０１には、ユーザーがクライアントコンピュータ１０５、または画像形成装置１０４から印刷指示したコンテンツが保存されている。文書リポジトリ３０１に保存されているコンテンツは、予め保存されているコンテンツの他に次のようなコンテンツも保存されている。
【００３７】
そのコンテンツとは、ユーザーが後述するブラウザ３０４を介してサーバーコンピューター群１０２上のアプリケーションで作成したコンテンツである。これにより、サーバーコンピューター群１０２上のアプリケーションを用いて作成したコンテンツであっても、クライアントコンピュータ１０５にアプリケーションをインストールすることなく容易に印刷できる。なお、上述のサーバーコンピューター群１０２上のアプリケーションとは、文書作成アプリケーション、画像作成アプリケーション、帳票管理アプリケーション等を始めとする各種アプリケーションのことである。これらのアプリケーションは図２（ｂ）の間接記憶部１０６４に保持されており、実行が指示されると直接記憶部１０６３にロードされ、ＣＰＵ１０６２により実行される。
【００３８】
次に、画像形成装置１０４について詳細に説明する。画像形成装置１０４には、デバイスブラウザ３０２、プラットフォームアプリケーション３０３の機能がある。デバイスブラウザ３０２は、ネットワーク１００を介して接続されているデバイス内に保存されているデータや情報をユーザーが閲覧することができる機能を持つ。デバイスブラウザ３０２は、図２（ａ）の直接記憶部１０４５に保存されているデバイスブラウザプログラムが、間接記憶部１０４５にロードされ、ＣＰＵ１０４３により実行されることで実現される。また、ユーザーは、デバイスブラウザ３０２を用いてコンテンツの印刷指示を出すことができる。デバイスブラウザ３０２は、例えば、Ｗｅｂブラウザである。
【００３９】
プラットフォームアプリケーション３０２は、各種サービスを提供する機能を持つ。プラットフォームアプリケーション３０２は、プラットフォーム上で動作するアプリケーションプログラムによって実現される。本発明の実施例１において、プラットフォームアプリケーション３０２は印刷ソフトウェアのサービスを提供する。上述の様に、このサービスは受信した印刷データをファームウェアに送信することができる。また、このサービスは要求受信部４０１１に対して印刷データの生成が終了したかどうかの確認を行う。その際、このサービスは要求受信部４０１１が作成した受付ＩＤを基に生成確認を行う。
【００４０】
最後に、クライアントコンピュータ１０５について詳細に説明する。クライアントコンピュータ１０５は、ブラウザ３０４の機能を持つ。ブラウザ３０４は、ネットワーク１００を介して接続されているデバイス内に保存されているデータや情報をユーザーが閲覧することができる機能を持つ。図２（ｂ）の間接記憶部１０６４に保存されているブラウザプログラムが、直接記憶部１０６３にロードされて、ＣＰＵ１０６２により実行されることで実現される。ブラウザ３０４は、例えば、Ｗｅｂブラウザである。以上が、実施例１のプリントシステムにおける各装置が持つ機能の説明になる。
【００４１】
［画像への情報埋め込み、読取］
本実施例においては、前記クラウドサービスの一つとして、サーバーコンピューター群１０２において画像に埋め込まれた情報の読み取りサービスを行う。前記プラットフォームアプリケーション３０２の一種として、以下の画像に埋め込まれた情報を復号化して特定の情報を得るアプリケーションが存在する。
【００４２】
ここで、本発明の以下の実施例において使われる用語について説明する。特定の情報とは、次のいずれかの情報である。１つ目が、複写禁止情報と原稿ＩＤの２つの情報である。２つ目が、条件付き複写許可情報と条件と原稿ＩＤの３つの情報である。また、本発明の実施例において、複写禁止情報と条件付き複写許可情報を総称して複写制御情報と呼ぶ。
【００４３】
また前記特定の情報は、画像処理機能についてでもよい。たとえば、ＯＣＲ機能、ＰＤＦ文書作成機能、文書サーバーへの画像格納機能などの実行可否情報などである。
【００４４】
次に、特定の情報が付加された原稿を作成する処理について説明する。始めに、特定の情報を符号化することで埋め込み情報を得る。２番目に、埋め込み情報を画像化することでバーコードを生成する。そして、当該生成されたバーコードを複製する。結果として得られた複数のバーコードを組み合わせてバーコード群を生成する。３番目に、バーコード群と原稿画像を合成しバーコードの合成された原稿画像を生成する。最後に、バーコードの合成された原稿画像を印刷する。これにより、特定の情報がバーコードで付加された原稿が作成される。この一連の処理を特定の情報の「付加」と呼ぶ。なお、特定の情報を符号化し画像化する処理（これにより、バーコードが生成されることになる）のことを、特定の情報のバーコード化と称することにする。
【００４５】
なお、複数のバーコードを組み合わせたバーコード群を原稿画像に合成して印刷するのは、耐性を向上させるという効果を得るためである。このようにバーコード群を原稿画像に合成して印刷しておくことで、一つでも汚れていないバーコードが原稿に存在する限りその原稿から特定の情報が抽出できることになる。
【００４６】
なお、本実施例では、バーコード群に含まれるバーコードの数は、原稿画像のサイズに対応している。例えば、原稿画像がＡ４サイズ（２１ｃｍ×２９．７ｃｍ）のシートに印刷されるサイズである場合、バーコード群には、２１×２９個のバーコードが含まれることになる。これにより、上記作成された原稿の全面にバーコードが含まれることになる。
【００４７】
次に、特定の情報がバーコードで付加された原稿から特定の情報を抽出する処理について説明する。始めに、原稿台の上、または、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）に置かれたその原稿を読み取り、読み取った原稿の原稿画像を生成する。２番目に、その原稿画像からバーコードを見つけ出す。３番目に、見つけ出したバーコードを情報化して埋め込み情報を得る。４番目に、埋め込み情報を復号化して特定の情報を得る。これにより、特定の情報がバーコードで付加された原稿から特定の情報を得ることができる。この一連の処理の内の２番目以降の処理を、特定の情報の「抽出」と呼ぶ。
【００４８】
本実施例においては、後述するネットワークサービス上で原稿画像解析を行うことが可能である。すなわち前記特定の情報がバーコードで付加された原稿から特定の情報を抽出する処理、において、原稿画像生成処理移行をネットワークサービスにて行う。その場合ＭＦＰは、前記原稿画像生成処理ののち、読み取った原稿画像をＭＦＰからネットワークサービスに直接送信する。前記特定情報の「抽出」は、ネットワークサービスにて行う。
【００４９】
なお、埋め込み情報には、誤り訂正符号が含まれており、特定の情報には、誤り訂正符号は含まれていない。
【００５０】
また、特定の情報を付加するための入力は、ＭＦＰと接続されているＰＣのドライバやユーティリティ上からできてもよい。また、本発明の実施例１において、１枚の原稿に対して付加する複写制御情報は、複写禁止情報か条件付き複写許可情報のいずれか１つのみである。
【００５１】
次に、バーコードについて、図４、図６を参照して詳細に説明する。図６は、１つのバーコードを示している。図４は、その１つのバーコードの一部にリファレンスグリッドを引いた図を示している。
【００５２】
図６の１６００は、１センチかける１センチ程度のサイズであり１つのバーコードを示している。このバーコード１６００は、高密度領域（１６０５〜８）と低密度領域（１６０９〜１６１２）の２つの領域を有する。
【００５３】
この高密度領域には、符号化された複写制御情報が含まれ、低密度領域には、符号化された条件が含まれることになる。なお、後述の通り、低密度領域に含まれる条件は、条件そのものであることもあるし、ハッシュ化された状態の条件であることもある。なお、条件が無い場合、即ち、複写禁止情報（ただし、実施例２の場合には複写禁止情報、または、複写許可情報）が高密度領域に含まれる場合、低密度領域にはダミーの情報（意味を持たない情報）が含まれることになる。なお、高密度領域は、低密度領域に比べて誤り訂正符号が多量に使われる。
【００５４】
誤り訂正符号が多量に使われるにも関わらず高密度領域の方が小さいのは、複写制御情報のデータサイズが条件のデータサイズよりも小さいからである。なお、本明細書では、説明の省略のため条件としてユーザーＩＤとパスワードを開示することにした。しかし、条件はこれらに限られない。例えば、条件は日時やユーザーの所属する部署等の他の情報であっても良い。あるいは、様々な情報が組み合わせて（例えば、日時、ユーザーＩＤ、パスワード、ユーザーの所属する部署等を組み合わせて）条件が作成されても良い。どのような複雑な条件が指示されても対応できるように（それでも限界はあるが）、本明細書では、高密度領域よりも低密度領域を大きくとっている。
【００５５】
図４は、その１つのバーコードの一部にリファレンスグリッドを引いた図を示している。この図４には、バーコードを構成する情報ドット１４０１、および、配列ドット１４０２が示されている。配列ドット１４０２は、点線で示されるリファレンスグリッド１４０３の上に等間隔に（即ち、リファレンスグリッド１４０３同士の交点の上に）存在する。
【００５６】
そして、情報ドットは、このリファレンスグリッド１４０３同士の交点からずれた位置に存在する。特定の情報は、この情報ドットのずれ方向（交点に対する情報ドットがずれた位置の方向）で表現されることになる。上述のリファレンスグリッドであるが図３では、点線で描かれているものの実際には印刷されない線である。
【００５７】
次に、原稿画像から特定の情報を抽出する処理について説明する。特定の情報を抽出する処理は、上述の通り、（１）その原稿画像からバーコードを見つけ出す。（２）見つけ出したバーコードを情報化して埋め込み情報を得る。（３）埋め込み情報を復号化して特定の情報を得る処理からなる。
【００５８】
始めに、（１）原稿画像からバーコードを見つけ出す方法について図７を参照して詳細に説明する。
【００５９】
前記プラットフォームアプリケーション３０２は、原稿画像内の任意のドット１５０１を選択する。前記プラットフォームアプリケーション３０２は、当該選択されたドットの周辺に存在する任意のドット１５０２を選択する。前記プラットフォームアプリケーション３０２は、これら選択したドットの位置を両ドットの中心点を中心として９０°回転する。回転により得られた位置にドットが存在する場合、上記選択された各ドットは、縦横共に等間隔に存在しているはずの配列ドットであると前記プラットフォームアプリケーション３０２は判断する。
【００６０】
一方、ドットが存在しない場合、選択された各ドットは、ランダムな位置に存在しているはずの情報ドットであると前記プラットフォームアプリケーション３０２は判断する。
【００６１】
このようにして、前記プラットフォームアプリケーション３０２は、二つの配列ドットを見つけ出し、配列ドットが縦横共に等間隔に存在しているという制約条件から、他の配列ドットを見つけ出すのである。前記プラットフォームアプリケーション３０２は、配列ドットを複数個（例えば、縦横から夫々１００個ずつ）見つけ出した後、これら配列ドット上にリファレンスグリッドを仮想的に引く。この例の場合、リファレンスグリッドは、縦、約２００本、横、約２００本の合計、約４００本の線からなる。なぜ、そのような本数になるかは図３より明らかである（図４では、縦に２つ、横に３つの配列ドットが存在し、縦に３本、横に６本の線が引かれている）。
【００６２】
なお、本発明の実施例では以上の処理（任意のドットを選択する処理からリファレンスグリッドを仮想的に引く処理まで）を総称して、バーコードを見つけ出すと称する。なぜなら、１つのバーコードは、このリファレンスグリッドの引かれた領域内に必ず存在するためである。ちなみに、本実施例及びそれ以降の実施例で開示する１つのバーコード（高密度領域と低密度領域を含む）のサイズは、縦１００本×横１００本の線（なお、２本の線の間隔は約１００ｕｍである）から形成される領域のサイズと同じであるものとする。前記プラットフォームアプリケーション３０２は、縦横共にその２倍以上のサイズからなる領域にリファレンスグリッドを引くため、そのリファレンスグリッド内に最低１つはバーコードが存在することになる。
【００６３】
なお、前記プラットフォームアプリケーション３０２は、対象とする領域を変えながら以上の処理（任意のドットを選択する処理からリファレンスグリッドを仮想的に引く処理まで）をＮ回（例えば、２０回）繰り返し行う。例えば、原稿画像全体をＮ個（例えば、縦４、横５の合計２０）の領域に区切り、Ｎ回、以上の処理を繰り返す。このようにＮ回、以上の処理を繰り返すことによってたとえ原稿画像内にバーコード群が複数存在していても、各バーコード群に含まれる少なくとも１つのバーコードを見つけ出すことができる。
【００６４】
例えば、原稿台に二枚の原稿が置かれ、一枚目の原稿に複写禁止情報が付加され、二枚目の原稿に条件付き複写許可情報が付加されているような場合には、原稿画像内にバーコード群が複数存在することになる。こうした場合であっても、前記プラットフォームアプリケーション３０２は、様々な領域においてリファレンスグリッドを引いているため各バーコード群に含まれる少なくとも１つのバーコードを見つけ出すことができる。即ち、複写禁止情報に対応するバーコードも、条件付き複写許可情報に対応するバーコードも見つけ出すことができるようになる。
【００６５】
以上が、バーコードを見つけ出す方法についての説明である。
【００６６】
次に、（２）見つけ出したバーコードを情報化して埋め込み情報を得る方法について説明する。
【００６７】
（２−１）前記プラットフォームアプリケーション３０２は、リファレンスグリッド同士の交点からの情報ドットのずれ方向を求める。上述の例では、縦２００本、横２００本の線が引かれているため合計４万の交点が存在する。このうち、２万の交点には配列ドットが存在しているため残り２万の交点からの情報ドットのずれ方向を求める。これにより、情報ドット１つ当り３ビットの情報を得ていくことになる。
【００６８】
より詳細には、情報ドットが上方向にずれている場合に０、右上方向にずれている場合に１、右方向にずれている場合に２（以下、方向が４５度ずれるごとに情報の値が１ずつ増える。）というふうにして、前記プラットフォームアプリケーション３０２は、０〜７の情報（３ビットの情報）を得ていく。その結果、３ビット×２万＝６万ビットの情報が得られることになる。この６万ビットの情報の中に埋め込み情報が含まれていることになる。
【００６９】
（２−２）次に、こうして得られた情報（例えば、６万ビットの情報）の中から埋め込み情報を見つけ出す処理について説明する。
【００７０】
符号化の説明の際には省略したが符号化の際にエンコード部１１は、所定のビット列（例えば、０１０１０１０１０１０１０１０１０１０１の２０ビットからなるビット列）が最初に含まれるようにして埋め込み情報を得ている。
【００７１】
前記プラットフォームアプリケーション３０２は、上記こうして得られた情報（例えば、６万ビットの情報）からその所定のビット列を見つけ出す。そして、その所定のビット列が次に見つかるまでの情報を埋め込み情報と判断する。
【００７２】
つまり、前記プラットフォームアプリケーション３０２は、「所定のビット列＋所定のビット列同士に囲まれる情報列」を埋め込み情報であると判断するのである。このようにして、前記プラットフォームアプリケーション３０２は、「所定のビット列＋所定のビット列同士に囲まれる情報列」である埋め込み情報を得ることになる。
【００７３】
以上の処理（２−１、２−２の処理）を前記プラットフォームアプリケーション３０２は、複数引いたリファレンスグリッドすべて（つまり、２０個）に対して行う。
【００７４】
以上が、（２）バーコードを情報化して埋め込み情報を得る方法についての説明である。
【００７５】
最後に、（３）埋め込み情報を復号化して特定の情報を得る処理についての説明を行う。
【００７６】
バーコードを１つ見つけた前記プラットフォームアプリケーション３０２は、当該バーコードの高密度領域に含まれる埋め込み情報を復号化する。具体的には、その埋め込み情報から、誤り訂正符号と所定のビット列を省く（削除する）。このように復号化を行うことで前記プラットフォームアプリケーション３０２は、複写制御情報と原稿ＩＤを得ることができる。
【００７７】
さらに、前記プラットフォームアプリケーション３０２は、複写制御情報として条件付き複写許可情報を得た場合には、条件を得るために低密度領域に含まれる埋め込み情報の復号化を行う。このように低密度領域を常に復号化するのではなく条件付き複写許可情報を得た場合にのみ復号化するのは、低密度領域の埋め込み情報のデータサイズが高密度領域のデータサイズより大きく復号化に時間がかかるからである。
【００７８】
以上が、（３）埋め込み情報を復号化して特定の情報を得る方法についての説明である。
【００７９】
上記（３）埋め込み情報を復号化して特定の情報を得る方法は、前記ネットワークサービス上で行うことができる。すなわち、バーコードの埋め込まれた画像を通信によってネットワークから受け取り、ネットワーク上のサーバーコンピューターに存在する情報抽出サービスプログラムが受け取った画像を解析する。
【００８０】
以上、説明してきた一連の処理を「抽出」と呼ぶ。抽出処理を行うことで原稿画像から特定の情報を得ることができる。
【００８１】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８２】
［画像形成装置とクラウドサービスの機能分担］
図７、図１２は、全体図１の画像形成装置１０４と図１のサーバーコンピューター群１０２上で実行される各種プログラムにより提供されるクラウドサービス間の関係を抜き出した図である。これら３つの図を用いて、前記のように情報埋め込みされた画像データ内に記述された画像処理が、画像形成装置とクラウドサービスの連携でどのように実行されるかを詳細に述べる。
【００８３】
図７は、画像形成装置側に各種画像処理機能を持たず、クラウドサービス側で全ての処理を行う場合を現す。
【００８４】
図１２は、画像形成装置側に一部画像処理機能を持ち、クラウドサービス側と分担して処理を行う場合を現す。
【００８５】
［画像形成装置とクラウドサービスの機能分担（画像形成装置に処理機能を持たない場合）］
図７、図８、図９、図１０、図１１を用い、本実施例の画像形成装置１０４とサーバーコンピューター群１０２上で実行される各種プログラムにより提供されるクラウドサービスの機能分担について説明する。
【００８６】
図７は、全体図１の画像形成装置１０４とサーバーコンピューター群１０２上で実行される各種プログラムにより提供されるクラウドサービス間の関係を抜き出した図である。
【００８７】
１１０１は、図１のサーバーコンピューター群１０２上で実行される各種プログラムに相当し、クラウドサービス上の各種バックエンド処理部４０２１／要求受信部４０１１を示す。本実施例においては、デバイスがスキャンした画像を処理する複数のサービスが存在する。すなわち、画層を解析し、画像から情報を抽出するＰＣＡＭサービス、画像形成装置からの出力を制限する複写禁止サービス、ＰＤＦフォーマットのファイルを作成するＰＤＦ作成サービス、入力ファイルを他のストレージサービスに送信、格納するストレージサービス、画像を文字コードに変換するＯＣＲサービスがある。
【００８８】
１１０２は、図１の１０１に相当するネットワークである。
【００８９】
１１０３は、図１の１０４に相当する画像形成装置である。
【００９０】
１１０４は、前記のように情報埋め込みされたメタ情報付き文書データに相当する。
１１０５は、前記のように情報埋め込みされた文書データのメタ情報に相当する。
【００９１】
図８は、本実施例のＭＦＰとクラウドサービスの機能分担における画像形成装置１０４の処理を示すフローチャートである。
【００９２】
ＭＦＰユーザーが前記１１０４のメタ情報付き文書データをスキャンすることから、本フローチャートは開始する。
【００９３】
画像形成装置１１０３は、スキャンした画像をクラウドサービス１１０１に送信する（ステップ１２０１）。次に、画像形成装置１１０３は、自身の持つ画像処理、データ送信機能の情報を取得し（ステップ１２０２）、クラウドサービス１１０１に送信する（ステップ１２０３）。
【００９４】
その後、画像形成装置１１０３はクラウドサービス１１０１からの応答を待ち（ステップ１２０４）、もし応答がタイムアウトであればエラーを表示して（ステップ１２０８）処理を終了する。もし応答がエラーであれば（ステップ１２０５）、エラーを表示して（ステップ１２０８）処理を終了する。
【００９５】
もしクラウドサービス１１０１から正常な応答があれば、画像形成装置１１０３は、その応答を解析してクラウドサービス１１０１の機能情報を取得する（ステップ１２０６）。
【００９６】
さらに画像形成装置１１０３は、前記取得したクラウドサービス１１０１の機能情報を元に、機能分担決定処理を行い（ステップ１２０７）、処理を終了する。
【００９７】
図９は、前記ステップ１２０７の機能分担決定処理のフローチャートである。
【００９８】
画像形成装置は、前記ステップ１２０６でクラウドサービス１１０１から機能情報を受け取った後、前記ステップ１２０２で取得した画像処理機能情報と比較する（ステップ１３０１）。本実施例の場合、画像形成装置１１０３には各種処理機能が存在しないので、画像形成装置１１０３は、クラウドサービスに処理依頼を送信して（ステップ１３０５）処理を終了する。
【００９９】
ここでもし画像形成装置１１０３が後から各種処理機能をインストール可能である場合、画像形成装置１１０３に各種処理機能が搭載される可能性がある。そのような場合画像形成装置１１０３は、前記ステップ１２０２で取得した画像処理機能情報と比較し（ステップ１３０１）、自身に備わる機能を実行する（ステップ１３０２）。その結果、処理の成功、失敗を判断し（ステップ１３０３）、成功であれば画像形成装置１１０３での処理実行をクラウドサービス１１０１に送信し（ステップ１３０４）処理を終了する。また画像形成装置１１０３における各種処理が失敗であれば、エラーの旨を表示して（ステップ１３０６）（図示せず）処理を終了する。
【０１００】
図１０は、図８、図９の画像形成装置１１０３側処理終了、処理結果送信後のクラウドサービス１１０１側処理のフローチャートである。
【０１０１】
クラウドサービス１１０１は、画像形成装置１１０３からの処理要求、あるいは処理完了通知を受信する（ステップ１５０１）。ここで受信内容を確認し（ステップ１５０２）、もし処理完了通知であれば処理を終了する。
【０１０２】
もしクラウドサービス１１０１の受信内容が処理依頼であれば、各種クラウドサービス側処理を行う（ステップ１５０３）。本実施例の場合、画像から抽出した処理依頼内容は、ＯＣＲ処理、ＰＤＦ作成処理、外部ストレージ保存処理なので、クラウドサービス１１０１は、相当するバックエンド処理部４０２１により処理を行う。
【０１０３】
クラウドサービス１１０１は、前記クラウドサービス側処理（ステップ１５０３）の成功失敗を判断し（ステップ１５０４）、処理が成功した場合完了通知を画像形成装置１１０３に送信して（ステップ１５０５）処理を終了する。また処理が失敗した場合、エラー通知を画像形成装置１１０３に送信して（ステップ１５０６）処理を終了する。
【０１０４】
［画像形成装置とクラウドサービスの機能分担（画像形成装置に処理機能を一部持つ場合）］
図１２、図８、図１１、図１０を用いて、本実施例における画像形成装置とクラウドサービスの機能分担で、特に画像形成装置側に処理機能を一部持つ場合について説明する。
【０１０５】
図１２は、全体図１の画像形成装置とサーバーコンピューター群１０２上で実行される各種プログラムにより提供されるクラウドサービス間の関係を抜き出した図である。
【０１０６】
１６０１は、図１のサーバーコンピューター群１０２上で実行される各種プログラム、図７の１１０１に相当し、クラウドサービス上の各種バックエンド処理部４０２１／要求受信部４０１１を示す。本実施例においては、デバイスがスキャンした画像を処理する複数のサービスが存在する。すなわち、画層を解析し、画像から情報を抽出するＰＣＡＭサービス、画像形成装置からの出力を制限する複写禁止サービス、ＰＤＦフォーマットのファイルを作成するＰＤＦ作成サービス、入力ファイルを他のストレージサービスに送信、格納するストレージサービス、画像を文字コードに変換するＯＣＲサービスがある。
【０１０７】
１６０２は、図１の１０１、図１１の１１０２に相当するネットワークである。
【０１０８】
１６０３は、図１の１０４、図１１の１１０３に相当する画像形成装置である。
【０１０９】
１６０４は、図１１の１１０４のメタ情報付き文書データに相当する。
【０１１０】
１６０５は、図１１の１１０５のメタ情報付き文書データのメタ情報に相当する。
【０１１１】
１６０６は、図１２の１６０１、図７の１１０１、のＰＤＦフォーマット作成機能に相当する。
【０１１２】
本実施例も、前記実施例と同様に画像形成装置１６０３と各種クラウドサービス１６０１の機能分担により処理が進む。
【０１１３】
本実施例における画像形成装置（１６０３）の処理の主たるフローチャートは、図１１の実施例で示した図８のフローチャートと同様である。
【０１１４】
図１２の実施例の場合、図８の前記ステップ１２０７の機能分担決定処理が異なる。
【０１１５】
図１１は、本実施例における前記ステップ１２０７の機能分担決定処理のフローチャートである。
【０１１６】
画像形成装置１６０３は、前記ステップ１２０６でクラウドサービス１６０１から機能情報を受け取った後、前記ステップ１２０２で取得した画像処理機能情報と比較する（ステップ１７０１）。本実施例の場合、画像形成装置１６０３にはＰＤＦ作成機能が存在するので、画像形成装置１６０３はユーザーによる機能実施の選択を行う（ステップ１７０２）ことが可能になる。すなわち、本実施例の場合、ＰＤＦ作成処理を画像形成装置１６０３側で行うのか、あるいはクラウドサービス１６０１側で行うのかを、画像形成装置１６０３のユーザーが選択できる。前記選択については、予め画像形成装置１６０３に、処理実行を画像形成装置側かクラウドサービス側か設定しておいても良い。またステップ１７０２の処理実行タイミングで機能実行選択のユーザーインターフェースを表示し（図示せず）画像形成装置１６０３のユーザーに選択させても良い。
【０１１７】
もし前記予めの処理選択設定の結果、あるいは前記ユーザーインターフェースによる選択の結果、画像形成装置１６０３にてＰＤＦ作成処理を行わないことが決定すれば、画像形成装置１１０３は、クラウドサービスに処理依頼を送信して（ステップ１７０８）処理を終了する。
【０１１８】
ここでもし前記予めの処理選択設定の結果、あるいは前記ユーザーインターフェースによる選択の結果、画像形成装置１６０３にてＰＤＦ作成処理を行うことが決定した場合、画像形成装置１６０３は、自身に備わるＰＤＦ作成機能を実行する（ステップ１７０３）。その結果、処理の成功、失敗を判断し（ステップ１７０４）、成功であれば画像形成装置１６０３での処理実行をクラウドサービス１６０１に送信して（ステップ１６０５）処理を終了する。また画像形成装置１６０３における各種処理が失敗であれば、エラーの旨を表示して（ステップ１６０７）（図示せず）処理を終了する。
【０１１９】
さらに続く本実施例におけるクラウドサービス１６０１の処理は、図１４のフローチャートと同様である。
【符号の説明】
【０１２０】
１１０１  サーバーコンピューター群１０２上で実行される各種プログラム
１１０２  図１の１０１に相当するネットワーク
１１０３  図１の１０４に相当する画像形成装置
１１０４  情報埋め込みされたメタ情報付き文書データ
１１０５  情報埋め込みされた文書データのメタ情報
【図１】
2014042130.tif 000003
【図２（ａ）】
2014042130.tif 000004
【図２（ｂ）】
2014042130.tif 000005
【図３】
2014042130.tif 000006
【図４】
2014042130.tif 000007
【図５】
2014042130.tif 000008
【図６】
2014042130.tif 000009
【図７】
2014042130.tif 000010
【図８】
2014042130.tif 000011
【図９】
2014042130.tif 000012
【図１０】
2014042130.tif 000013
【図１１】
2014042130.tif 000014
【図１２】
2014042130.tif 000015