(57)【要約】    【課題】外部から取得して画像処理装置が実行するアプリケーションに必要なデータを画像処理装置の側で格納して管理する。    【解決手段】外部の機器からデータを転送するインタフェイス回路と、データを格納するデータ格納デバイスと、インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、データ格納デバイスにデータ構造記述に基づくデータの格納領域を用意するアプリ取得処理部と、データ格納デバイスに格納されたデータの設定用画面を生成し、データのユーザーによる設定を受付ける設定管理部と、データを参照してアプリケーションを実行するアプリケーション処理部と、を備える画像処理装置。【選択図】図１
2020098513.tif 000002
【特許請求の範囲】
【請求項１】
外部の機器からデータを転送するインタフェイス回路と、
データを格納するデータ格納デバイスと、
前記インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、前記データ格納デバイスに前記データ構造記述に基づくデータの格納領域を用意するアプリ取得処理部と、
前記データ格納デバイスに格納されたデータの設定用画面を生成し、前記データのユーザーによる設定を受付ける設定管理部と、
前記データを参照して前記アプリケーションを実行するアプリケーション処理部と、
を備える画像処理装置。
【請求項２】
前記アプリ取得処理部は、既に取得されたアプリケーションの更新を取得する際、そのアプリケーションに係るデータがユーザーにより設定されている場合、設定されたデータを維持してアプリケーションを更新する請求項１に記載の画像処理装置。
【請求項３】
前記データ格納デバイスは、機器の構成に基づいて処理可能な機能を予め格納し、
前記アプリ取得処理部は、取得されたデータ構造記述が処理可能でない機能に係る部分を含むか否かを判断し、処理可能でない部分を省いてデータの格納領域を用意し、
前記設定管理部は、前記格納領域に対応したデータの設定画面を生成する請求項１または２に記載の画像処理装置。
【請求項４】
前記アプリ取得処理部は、アプリケーションのプログラムファイルと共にローカライズに係る複数言語の言語データを取得し、
前記設定管理部は、取得した言語データを用いて、ローカライズされた設定画面を生成する請求項１〜３の何れか一つに記載の画像処理装置。
【請求項５】
画像処理装置のプロセッサが、
インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を外部の機器から取得するステップと、
前記データ構造記述に基づくデータの格納領域をデータ格納デバイス上に用意するステップと、
前記データ格納デバイスに格納されたデータの設定用画面を生成するステップと、
前記データのユーザーによる設定を受付けるステップと、
設定されたデータを参照して前記アプリケーションを実行するステップと、
を備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置および画像処理方法に関し、より詳細には外部の機器からアプリケーションをダウンロードして実行可能な画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年、通信技術が発達し通信環境が整備されたことに伴い、種々のクラウドサービスが提供されている。それらのクラウドサービスは、ユーザーがそのクラウドサービスにアクセスしサービスを利用するための手順（Application InterfaceあるいはAPIともいう）をサービス提供者が規定し、ユーザーに公開している。
例えば、クラウドサービス上に格納されたデータを印刷したり、原稿をスキャンしたデータをクラウドサービス上に格納したりする際、印刷処理やスキャン処理を実行する画像処理装置はそのクラウドサービスにアクセスしてAPIに準じたやり取りを行う必要がある。
【０００３】
しかし、どのクラウドサービスを利用するかはユーザーに依存する。さらに、クラウドサービスにアクセスすると、まずユーザー認証を行うのが通常であるが、ユーザー認証ではユーザーＩＤやパスワード等に代表されるユーザー固有の情報をユーザー側、即ち画像処理装置側からクラウドサービスへ送信する必要がある。
画像処理装置の製造者の観点からすれば、あらゆるクラウドサービスのAPIに係る処理を予め制御プログラムに組み込んで画像処理装置内に格納しておくのは冗長である。また、クラウドサービスあるいはそのAPIの追加や更新に逐次対応することは煩雑である。
上述のようなクラウドサービスとのインタフェイスに係る処理を、アプリケーションとして事後的にインストールし、更新することが可能な画像処理装置が提案されている（例えば、特許文献１参照）。
【０００４】
特許文献１による画像処理装置は、パソコン等の外部情報源から電子文書ファイルを受信する。電子文書ファイルは、プログラムファイルおよびフォームデータを含む。電子文書ファイルの文面には、プログラムファイルの解説文と、プログラムファイルを実行するために必要な情報を入力するためのフォームとが含まれている。ここで、フォームデータは、前記プログラムファイルを実行するために必要な情報を含むデータである。前記データは、例えば、「鍵コード」や「利用者設定」に係るものである。フォームは、ファイルを実行するために必要な情報を利用者が入力するためのものであって、テキストボックスやラジオボタン、チェックボックスなどの標準的なユーザーインターフェイスを文面に設置可能なものである。画像処理装置の制御手段は、受信した電子文書ファイルの中からプログラムファイルとフォームデータの抽出を行い、抽出したフォームデータの情報に従ってプログラムファイルを実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２２５５８１公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、特許文献１の画像処理装置において、ユーザーは、自分のパソコンからアプリケーションソフトを配布しているＷｅｂサイトにアクセスする。そして、使用したいアプリケーションソフトに係る電子文書ファイルについて、ユーザー認証に必要な「鍵コード」やアプリケーションソフトの諸動作を利用者ごとに最適化する「利用者設定」等のフォームデータをＷｅｂサイト上で予め設定しておく。即ち、自分のパソコンに前述の入力フォームを表示させて、Ｗｅｂサイト上でフォームデータを設定し、ダウンロードすべき電子文書ファイルを編集しておく。その後、編集された電子文書ファイルを画像処理装置へ転送（ダウンロード）する。
即ち、フォームデータの設定はアプリケーションソフトを配布しているＷｅｂサイト上で行う。設定を更新する際についても、Ｗｅｂサイト上で設定を更新した後に、更新された電子文書ファイルを画像処理装置へダウンロードすることになる。
【０００７】
しかし、使用するアプリケーションソフトが増えてくると、ユーザーはそれらの設定を行うために対応する電子文書ファイルを格納するあちらこちらのＷｅｂサイトにアクセスしなければならなくなる。また、一般に画像処理に係る設定は多数の項目があり、ユーザーは所望の設定を行うために、アプリケーションソフトを配布しているＷｅｂサイトにアクセスすべきか、画像処理装置側の設定メニューにアクセスすべきかの判断に迷うことも考えられる。
アプリケーションソフトに係る設定であっても、画像処理装置側で一元的に設定、管理ができればユーザーにとって便利である。
この発明は、以上のような事情を考慮してなされたものであって、外部から取得して画像処理装置が実行するアプリケーションに必要なデータを画像処理装置の側で格納して管理する手法を提供するものである。
【課題を解決するための手段】
【０００８】
この発明は、外部の機器からデータを転送するインタフェイス回路と、データを格納するデータ格納デバイスと、前記インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、前記データ格納デバイスに前記データ構造記述に基づくデータの格納領域を用意するアプリ取得処理部と、前記データ格納デバイスに格納されたデータの設定用画面を生成し、前記データのユーザーによる設定を受付ける設定管理部と、前記データを参照して前記アプリケーションを実行するアプリケーション処理部と、を備える画像処理装置を提供する。
【０００９】
また、異なる観点からこの発明は、画像処理装置のプロセッサが、インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を外部の機器から取得するステップと、前記データ構造記述に基づくデータの格納領域をデータ格納デバイス上に用意するステップと、前記データ格納デバイスに格納されたデータの設定用画面を生成するステップと、前記データのユーザーによる設定を受付けるステップと、設定されたデータを参照して前記アプリケーションを実行するステップと、を備える画像処理方法を提供する。
【発明の効果】
【００１０】
この発明による画像処理装置は、プログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、前記データ構造記述に基づくデータの格納領域を用意するアプリ取得処理部と、設定用画面を生成し前記データのユーザーによる設定を受付ける設定管理部とを備えるので、外部の機器から取得して画像処理装置が実行するアプリケーションに必要なデータを画像処理装置の側で格納して管理できる。
この発明による画像処理方法についても、同様の作用効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】この実施形態による画像処理装置が、外部の機器と通信を介して接続された構成を示す説明図である。（実施の形態１）
【図２】図１に示す画像処理装置の外観を示す斜視図である。
【図３】図１に示す画像処理装置の構成を示すブロック図である。
【図４】この実施形態において、アプリケーションインストール画面の一例を示す説明図である。（実施の形態１）
【図５】この実施形態において、アプリ取得処理部が実行する処理を示すフローチャートである。（実施の形態１）
【図６】この実施形態において、設定管理部が、システム設定ページを生成する処理を示す説明図である。（実施の形態１）
【図７】この実施形態において、設定管理部がシステム設定ページを生成する処理を示すフローチャートである。（実施の形態１）
【図８】この実施形態において、データ構造記述の一例を示す説明図である。（実施の形態１）
【図９Ａ】図８に示すデータ構造記述に対応する日本語の言語データの例である。
【図９Ｂ】図８に示すデータ構造記述に対応する英語の言語データの例である。
【図１０】図８のデータ構造記述に図９Ａの言語データを反映した例を示す説明図である。
【図１１】図１０のＪＳＯＮテキストに基づいて制御部が生成するシステム設定ページの例を示す説明図である。
【図１２Ａ】図１０に示すＪＳＯＮテキストに対応するデータの要素を示す説明図である。
【図１２Ｂ】図１２Ａに対応するＪＳＯＮ形式の記述を示す説明図である。
【図１３】図１１に示すシステム設定ページにおいてデータ値が設定されている状態を示す説明図である。
【図１４】この実施形態において、アプリケーションに係るユーザー認証画面の例を示す説明図である。（実施の形態１）
【図１５】この実施形態において、スキャン設定画面の例を示す説明図である。（実施の形態１）
【図１６】この実施形態において、制御部が実行する処理を示すフローチャートである。（実施の形態２）
【図１７】この実施形態において、更新前の版の設定値が反映され得たデータ構造記述の例を示す説明図である。（実施の形態２）
【図１８】この実施形態において、画像処理装置の能力に応じたシステム設定ページを生成する処理を示すフローチャートである。（実施の形態３）
【図１９】この実施形態に係る機器能力情報の例を示す説明図である。（実施の形態３）
【図２０】この実施形態において、データ構造記述の例を示す説明図である。
【図２１】この実施形態において、機器能力情報に基づいて整理されたデータ構造記述を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
（実施の形態１）
≪画像処理装置およびシステムの構成≫
図１は、この実施形態による画像処理装置が、外部の機器としてのパーソナルコンピュータおよび外部サービス提供サーバーと通信を介して接続されたシステムの構成を示す説明図である。
図２は、この実施形態による画像処理装置の一態様であるデジタル複合機の外観を示す斜視図である。
図３は、図２に示すデジタル複合機の構成を示すブロック図である。
図１に示すように、画像処理装置１００は、通信ネットワークを介して外部のパーソナルコンピュータ１０１および外部サービス提供サーバー１０３とデータ送受可能に接続されている。この実施形態において、外部サービス提供サーバー１０３は、クラウドサービスを提供するものとする。クラウドサービスの具体的な内容は種々のもの考えられるが、この実施形態において文書の作成とファイルの格納場所（ストレージスペース）の提供が含まれるものとする。
図２に示すように、画像処理装置１００は、操作ユニット１０、表示ユニット１２、印刷ユニット１３、スキャナユニット１５、給紙トレイ１７ａ、手差しトレイ１７ｂおよび排出トレイ１８ａ、１８ｂ、１８ｃを備える。画像処理装置１００の前面には、ＵＳＢメモリー等を接続するＵＳＢコネクタ１４ｕが設けられている。
【００１３】
また、図３に示すように、画像処理装置１００は、インタフェイス回路１４、制御部２１およびデータ格納デバイス２３を備えている。
インタフェイス回路１４は、通信インタフェイス回路１４ｃおよび外部機器インタフェイス回路１４ｔを備える。外部機器インタフェイス回路１４ｔへの入力の１つとして、図２で述べたようにＵＳＢメモリー等を接続するＵＳＢコネクタ１４ｕが設けられている。
制御部２１は、アプリ取得処理部２１ａ、設定管理部２１ｃおよびアプリケーション処理部２１ｅを備える。
制御部２１は、ハードウェア資源としては、プロセッサ（ＣＰＵあるいはＭＰＵ）を中心として、ＲＯＭ、ＲＡＭ、入出力インタフェイス回路、タイマ回路等で構成される。ＲＯＭの少なくとも一部が、書き換え可能な不揮発性メモリーであってもよい。
【００１４】
データ格納デバイス２３は、データの書き換えが可能であって好ましくは不揮発性のデータ記憶手段である。
制御部２１は、ＲＯＭまたはデータ格納デバイス２３に格納された制御プログラムを読み出して適宜、ＲＡＭに展開する。そして、ＲＡＭに展開された制御プログラムに従った処理を実行する。その処理によって、画像処理装置１００の制御が実現される。
制御部２１は、前記制御プログラムに従って、ユーザーインターフェイスに係る表示を表示ユニット１２に表示させる。そして、ユーザーが操作ユニット１０に対して行う操作入力を受付ける。また、前記制御プログラムに従って、画像処理装置１００のハードウェア制御を行い、印刷処理等の機能を実現する。
【００１５】
さらに、図１に示すように、制御部２１は、外部のパーソナルコンピュータ１０１にＷｅｂページを提供する。パーソナルコンピュータ１０１のブラウザー３３でユーザーが画像処理装置１００のＷｅｂページにアクセスすると、それに応答して制御部２１は、パーソナルコンピュータ１０１へＨＴＭＬを送る。そして、パーソナルコンピュータ１０１のＷｅｂブラウサーの画面に複合機のＷｅｂページを表示させる。そのＷｅｂページは、データ格納デバイス２３に格納されたデータの設定用画面（以下、システム設定ページともいう）を含む。
ブラウザー３３のシステム設定ページでユーザーからの指示を受けると、それに応答して制御部２１は、アプリケーションパッケージ３１をダウンロードし、アプリケーションに係る処理を実行する。
この実施形態において、アプリケーションパッケージ３１は、外部サービス提供サーバー１０３に格納されている。パーソナルコンピュータ１０１を操作するユーザーが、外部サービス提供サーバー１０３に格納されたアプリケーションパッケージの所在を指定すると、そのアプリケーションパッケージがダウンロードできるものとする。図１に示すように、アプリケーションパッケージ３１は、アプリケーションのプログラムファイル３１ｐとそのアプリケーションに係るデータ構造記述３１ｄとを含む。
パーソナルコンピュータ１０１は、外部サービス提供サーバー１０３にアクセスして文書作成等のアプリケーションを実行する。そのようにして、作成した文書の印刷を画像処理装置１００に指示する。指示を受けた画像処理装置１００は、外部サービス提供サーバー１０３にアクセスし、印刷すべきファイルを取得して印刷の処理を行う。
【００１６】
また、画像処理装置１００は、原稿をスキャンして、読み取った画像データを外部サービス提供サーバー１０３のストレージスペースに格納するようにユーザーからの指示を受ける。ユーザーからの指示は、パーソナルコンピュータ１０１から通信インタフェイス回路１４ｃを介して受けてもよいが、操作ユニット１０から受けてもよい。指示を受けた画像処理装置は、ユーザーによってセットされた原稿をスキャンし、外部サービス提供サーバー１０３してスキャンされた原稿の画像データを指定された外部サービス提供サーバー１０３のストレージスペースにファイルとして格納する。
上述のような、外部サービスに関して画像処理装置１００が実行する印刷やスキャンの処理手順は、事後的にアプリケーションパッケージ３１として画像処理装置１００にダウンロードされる。
なお、アプリケーションパッケージ３１の取得元は、パーソナルコンピュータ１０１であると述べたが、これは一例に過ぎない。異なる態様として、外部サービス提供サーバー１０３から取得してもよい。さらに異なる態様として、前面のＵＳＢコネクタ１４ｕに接続されたＵＳＢメモリーやスマートフォン等の情報機器から取得してもよい。
【００１７】
画像処理装置１００の構成について説明を続ける。
操作ユニット１０は、ユーザーの操作を受付ける複数の操作ボタンや、後述する表示ユニット１２の表示面上に配置されたタッチパネルなどから構成される。制御部２１は、操作ユニット１０に対する入力操作を示す信号を認識する。
【００１８】
表示ユニット１２は、例えば、液晶ディスプレイ装置で構成される。表示ユニット１２は、操作ユニット１０が受け付けた入力等に基づいて、各種の情報や画像等を表示する。制御部２１は、表示ユニット１２に表示するべき内容を生成し、更新する。
スキャナユニット１５は、制御部２１の制御下で、原稿を読取り、コピー、ファックスおよびスキャナのジョブにおける画像読取の処理を実行する。即ち、原稿画像を読み取って、画像信号に変換し画像データを生成する。
【００１９】
給紙トレイ１７ａは、各種サイズの用紙を個別に収容する複数のトレイから構成される。
手差しトレイ１７ｂは、各種サイズおよび各種のタイプの用紙を給送可能なトレイである。
図１および図２に図示しない給紙機構は、制御部２１の制御下で、指定された給紙トレイの用紙を印刷装置内部へ給送して印刷ユニット１３へ搬送する、
印刷ユニット１３は、制御部２１の制御下で、給紙トレイ１７ａまたは手差しトレイ１７ｂから給送された用紙に、指定された画像データを印刷する。
図２に図示しない排紙機構は、印刷ユニット１３で印刷された用紙を排出トレイ１８ａ、１８ｂ、１８ｃの何れかへ排出する。
【００２０】
≪アプリケーションパッケージの取得とシステム設定ページの生成≫
続いて、アプリケーションパッケージ３１の取得とシステム設定ページの生成の手順について図４〜図１３を参照しながら述べる。
図４は、この実施形態において、システム設定ページ３５のうち、アプリケーションのインストールに係る画面（アプリケーションインストール画面）の一例を示す説明図である。図４の画面は、ユーザーがパーソナルコンピュータ１０１のブラウザー３３で画像処理装置１００が提供するＷｅｂページにアクセスすると表示される画面のうちの一つである。
【００２１】
図４のアプリケーションインストール画面で、ユーザーが、「参照」ボタン３５ａを操作して所望のアプリケーションパッケージに係るファイルを選択し、「実行」ボタン３５ｂを操作すると、選択されたアプリケーションパッケージ３１が画像処理装置１００にインストールされる。
なお、アプリケーションパッケージの所在は外部サービス提供サーバー１０３であると述べたが、異なる態様としてアプリケーションパッケージが格納されたＵＳＢメモリーをＵＳＢコネクタ１４ｕに接続して、ＵＳＢメモリーからアプリケーションパッケージを取得する態様もあり得る。さらに異なる態様として、アプリケーションパッケージの所在がパーソナルコンピュータ１０１であってもよい。
【００２２】
図５は、この実施形態において、アプリ取得処理部２１ａが実行する処理の手順を示すフローチャートである。
図６は、この実施形態において、設定管理部２１ｃとして制御部２１が、システム設定ページを生成して設定を受付ける処理の手順を示す説明図である。
図７は、この実施形態において、設定管理部２１ｃとして制御部２１がシステム設定ページを生成する処理を示すフローチャートである。
図８、図９Ａおび図９Ｂは、この実施形態において、アプリケーションパッケージ３１に含まれるデータ構造記述３１ｄの一例を示す説明図である。図８は、外部サービス提供サーバー１０３への接続および送信に関するデータ構造記述３１ｄの例である。図９Ａは、図８に示すデータ構造記述に対応する日本語の言語データの例である。図９Ｂは、図８に示すデータ構造記述に対応する英語の言語データの例である。
【００２３】
図５に示すように、アプリ取得処理部２１ａとして制御部２１は、外部サービス提供サーバー１０３にアクセスして、図４のアプリケーションインストール画面で指定されたストレージスペースのアプリケーションパッケージ３１を取得する。
詳細には、制御部２１は、外部サービス提供サーバー１０３からプログラムファイル３１ｐをダウンロードする（ステップＳ１１）。ダウンロード先については、アプリケーション処理部２１ｅが参照してプログラムファイルを実行できる場所であればどこでもよい。例えば、データ格納デバイス２３であってもよい。あるいは、制御部２１が備えるＲＯＭ（ただし、書換可能な格納領域に限る）であってもよい。
【００２４】
さらに、アプリ取得処理部２１ａとしての制御部２１は、データ構造記述３１ｄをダウンロードする（ステップＳ１３）。そして、取得したデータ構造記述３１ｄに基づいて、データ格納デバイス２３にデータの格納領域を用意する（ステップＳ１５）。そして、用意されたデータ格納領域にデータの値を設定する（ステップＳ１７）。データ構造記述３１ｄに初期値が定義されているデータについては、初期値を設定する。また、システム設定ページを用いたユーザーによるデータの設定を受付ける。
【００２５】
図８、図９Ａおよび図９Ｂは、データ構造記述の例を示している。これらは、ＪＳＯＮ（JavaScript(登録商標) Object Notations）形式で記述されているが、データの記述形式はこれに限定されない。
図８に示すＪＳＯＮテキストは、大別すると２つのデータ“connection_settings”と“send_settings”のデータ構造に係る記述である。そのうち、データの存在を表す記述は以下のものがある。
“connection_settings”については、名前“server_name”が文字列データ（string）として記述されている。
“send_settings”については、名前“file_name”が文字列データ（string）として記述され、さらに、名前“include_date”が２値データ（boolean）として記述されている。
【００２６】
設定管理部２１ｃとして制御部２１は、データ構造記述に基づいてこれらのデータの各要素に対応する格納領域をデータ格納デバイス２３に用意する。
図６および図７は、設定管理部２１ｃとしての制御部２１が、取得されたアプリケーションパッケージ３１に係るシステム設定ページを生成してデータの設定を行う処理を示している。
図７に示すように、設定管理部２１ｃとしての制御部２１は、取得されたデータ構造記述を参照する（ステップＳ２１）。そのタイミングは、外部サービス提供サーバー１０３からデータ構造記述をダウンロードする際、即ちアプリケーションパッケージ３１を取得する際であってもよい。アプリケーションパッケージ３１を初めてダウンロードする場合、データ構造記述に初期値が定義されていないデータについては初期値の設定になる。
【００２７】
別のタイミングとして、アプリケーションパッケージ３１が取得された後に、ユーザーがシステム設定ページを立ち上げたタイミングであってもよい。その場合は、設定されているデータの変更になる。
ステップＳ２１の処理で制御部２１が参照するデータ構造記述の一例を図８に示している。
【００２８】
続いて制御部２１は、画像処理装置１００の言語設定で選択されている言語を参照する（ステップＳ２３）。ここで、言語設定は、画像処理装置１００が予め備えるシステム設定ページでユーザーにより設定されるものとする。そして、設定された言語に係る言語データを参照する（ステップＳ２５）。
ステップＳ２５の処理で制御部２１が参照する言語データの例を図９Ａおよび図９Ｂに示している。
制御部２１は、言語設定で選択され言語に係る言語データを取得されたデータ構造記述に反映して、データ構造記述によって記述されたデータについてのシステム設定ページを生成する（ステップＳ２７）。ユーザーがシステム設定ページを容易に認識できてデータの設定が行いやすいように予め定められた規則に従って整形されたシステム設定ページを生成して、ブラウザー３３に表示する。ユーザーは表示されたシステム設定ページでデータの設定を行う。
【００２９】
図１０は、図８のデータ構造記述に図９Ａの言語データを反映した例を示している。図８および図９Ｂに対応したものである。即ち、図８に示すＪＳＯＮテキストの、“ＭＳＧ０１”の箇所を“接続設定”に置換し、“ＭＳＧ０２”の箇所を“サーバー名:”に置換したものである。同様に、“ＭＳＧ０３”の箇所を“契約しているサーバー名を入力してください。サーバー名は管理者にお問い合わせください。”に置換したものである。さらに、“ＭＳＧ０４”の箇所を“送信設定”に、“ＭＳＧ０５”の箇所を“ファイル名:”に、“ＭＳＧ０６”の箇所を “ファイル名に日時を含める”にそれぞれ置換したものである。
【００３０】
図１１は、図１０のＪＳＯＮテキストに基づいて制御部２１が生成するシステム設定ページ３５の例を示す説明図である。図１１は、画像処理装置１００のシステム設定ページ３５の一部の項目に係るものである。スクロールや、ページ送り等の操作によって、ユーザーは画像処理装置１００に係る他の項目について設定を行うことができる。他の項目の一例は、図４に示す
制御部２１は、生成したシステム設定ページ３５の設定項目を、データ格納デバイス２３に用意された各データの要素と対応付けて管理する。そして、システム設定ページ３５で設定が行われると、その設定値を保存する。制御部２１は、例えば図１０に示すように、設定項目が一意に識別できるような形式でデータ格納デバイス２３に格納してもよい。
【００３１】
図１２Ａは、図８あるいは図１０に示すＪＳＯＮテキストに対応して設定管理部２１ｃがデータ格納デバイス２３に用意する各データの要素を示す説明図とデータ値の例を示している。
図１２Ｂは、図１２Ａに対応するデータと、データの各要素に対応するデータ値を表すＪＳＯＮ形式の記述である。即ち、図８あるいは図１０のＪＳＯＮテキストに対応して設定管理部２１ｃがデータ格納デバイス２３に確保する構造体型のデータの名前と値を示している。
【００３２】
上述の文字列データ“server_name”に対応するのが“connection_settings.server_name”である。そのデータ値の例が、“test”である。
また、上述の文字列データ“file_name”に対応するのが“connection_settings.file_name”である。そのデータ値の例が“image”である。
上述の２値データ“include_date”に対応するのが“connection_settings. include_date”である。そのデータ値の例が“1”（true）である。
【００３３】
図１３は、図１１に示すシステム設定ページ３５において、図１２Ａおよび図１２Ｂに示すデータ値が設定されている状態を示す説明図である。図１３に示すように、サーバー名設定欄３５ｃに“test”が、ファイル名設定欄３５ｄに“image”がそれぞれの設定値として表示されている。さらに、「ファイル名に日時を含める」の項目（日時付加設定３５ｅ）のチェックボックスにチェックマークが表示されている。即ち、この項目の設定は“1”（true）である。
図１３は、設定管理部２１ｃがシステム設定ページ３５の各項目を、図１２Ａ、図１２Ｂに示すデータと対応付けて管理していることを示している。
図１３のシステム設定ページ３５において、ユーザーが表示されているサーバー名やファイル名を変更したり、チェックボックスのチェックマークを外したりする操作を行うと、設定管理部２１ｃはその操作を受付け、対応するデータの設定値を変更する。
【００３４】
図１４および図１５は、例えば図１３に示すシステム設定ページで設定されたデータが、アプリケーションに使用される例を示す説明図である。
図１４は、この実施形態において、画像処理装置１００が外部サービス提供サーバー１０３を利用する際にアプリケーションが表示するユーザー認証画面の例を示す説明図である。図１４に示すユーザー認証画面３７において、ユーザーは予め定められたユーザー名、パスワードおよびサーバー名の入力を求められる。ユーザー名およびパスワードは空欄である。ユーザーは、外部サービス提供サーバー１０３の使用を開始する度にそれらを入力しなければならない。外部サービス提供サーバー１０３に格納されている情報のセキュリティーを確保するためである。
【００３５】
一方、サーバー名の入力欄には、初期値として“test”が表示されている。この初期値は、図１３に示すシステム設定ページで設定されデータ格納デバイス２３に格納されている。ユーザーが使用する外部サービスは、クラウドサービスであって、ユーザーのストレージスペースがどこに確保されるかは、外部サービスとユーザーとの契約により決まる。したがって、画像処理装置１００あるいはプログラムファイル３１ｐが、既定のサーバー名を予め用意しておくことはできない。ユーザーが外部サービスの利用を申請した後にサーバー名が決定されるので、ユーザーは事後的にシステム設定ページのサーバー名設定欄３５ｃを用いてサーバー名を設定する。
【００３６】
図１５は、画像処理装置１００が、スキャンした原稿の画像データを外部サービス提供サーバー１０３のストレージスペースに格納するための、スキャン設定画面３９の例を示す説明図である。図１５に示すように、スキャン設定画面３９を用いてユーザーは、スキャンした原稿の画像データを外部サービス提供サーバー１０３に格納するための設定を行う。画像データに係るファイルの保存先の設定、格納する画像データに付けるファイル名の設定、原稿をスキャンする際のカラーモードの設定、スキャンした原稿の画像データのファイル形式の設定である。
ここで、保存先は空欄であって、原稿のスキャンを実行する前に、ユーザーが都度入力する。ファイル名は、初期値が設定された状態で表示される。ファイル名の初期値は、図１３に示すシステム設定ページ３５の送信設定に基づくものである。
【００３７】
即ち、ファイル名の先頭部分は、ファイル名設定欄３５ｄの設定値“image”に基づく。その後に続く“_YYYYMMDD_HHMMSS”の部分は、日時付加設定３５ｅに基づく。ファイル名に原稿のスキャンの開始日時が付加されることおよびその書式を示す。YYYYは西暦年を表す４桁の数字がその位置に付加されることを示している。同様にMMは月を表す２桁の数字、DDは日を表す２桁の数字がそれぞれの位置に付加されることを示している。HHは時、MMは分、SSは秒の数字がそれぞれの位置に付加されることを示している。
【００３８】
以上のように、この実施形態によれば、画像処理装置１００が実行するアプリケーションをインストールする場合に、そのアプリケーションの実行に必要となるデータの構造記述したデータ構造記述をプログラムファイルと合わせて取得する。データ構造記述を取得することで、事後的にアプリケーションを取得する場合でも、アプリケーションの実行に必要なデータを事後的に画像処理装置１００に用意することが可能になる。
そして、画像処理装置１００にあらかじめ用意されているシステム設定ページに、アプリケーションに係るデータの設定を追加できる。追加されたデータの設定は、画像処理装置に予め用意されたシステム設定ページと一貫しており、ユーザーに違和感を与えない。画像処理装置１００に係るデータの設定はすべて、システム設定ページに統合されており、ユーザーは、システム設定ページにさえアクセスすればアプリケーションを含むすべての設定値を確認し、必要に応じて変更できる。
【００３９】
（実施の形態２）
この実施形態では、すでにインストールされたアプリケーションパッケージの版を更新する際の処理について述べる。版を更新する際に注意すべきことは、すでに設定されたデータ値に、更新版のデータ構造記述に記載された初期値を上書きしてしまい、設定の継続性が維持されないといった事態が生じないようにすることである。しかし、機能の追加や変更に伴って前の版から追加されたり削除されたりするデータについて、以前の設定の影響を受けないようにすべきである。
図１６は、この実施形態において、制御部２１が実行する処理を示すフローチャートである。図１６を参照して処理の説明を行う。
【００４０】
制御部２１は、アプリケーションパッケージの更新版を外部サービス提供サーバー１０３から取得すると、取得されたデータ構造記述を参照する（ステップＳ３１）。
続いて制御部２１は、画像処理装置１００の言語設定で選択されている言語を参照する（ステップＳ３３）。そして、設定された言語に係る言語データを参照する（ステップＳ３５）。
以上のステップＳ３１からステップＳ３５の処理は、図７に示すステップＳ２１からステップＳ２５の処理とほぼ同様である。
【００４１】
続いて制御部２１は、対象のデータ要素の各々について、以下の処理を行う。対象とするデータ要素の数は、データ構造記述を参照して予めわかっている。
まず、データ要素数のカウンタとして用いる一時変数ｉの値に初期値として１を設定する（ステップＳ３７）。制御部２１は、以下に述べるループ処理（ステップＳ３９〜Ｓ４９）において、対象のデータ要素の１つについて処理を行う毎に変数ｉをインクリメントする。変数ｉの値が対象のデータ要素数に達するまで、次の対象データ要素に対して同様の処理を繰り返す。ループ中の各データ要素に対する処理は以下のとおりである。
【００４２】
制御部２１は、言語設定で選択され言語に係る言語データを取得されたデータ構造記述に反映して、データ構造記述によって記述された対象のデータ要素に係るシステム設定ページを生成する（ステップＳ４１）。そして、対象のデータ要素に対応する更新前の版のデータを格納する領域を参照し、設定が既になされているか否かを判定する（ステップＳ４３）。更新前の版のデータを格納する領域とは、例えば、図１０に示すようなデータ構造記述であって、更新前の版に係るデータ構造記述を格納するデータ格納デバイス２３の領域である。
更新前の版で、データが既に設定されている場合（ステップＳ４３のＹｅｓ）、制御部２１は、更新前の版のデータ値を取得して対象データ要素の設定値としてコピーする（ステップＳ４５）。
【００４３】
一方、前記ステップＳ４３の判定で、設定が既になされていなければ（ステップＳ４３のＮｏ）、設定値のコピーをしない。
【００４４】
そして、制御部２１は、変数ｉをインクリメントして（ステップＳ４７）データ要素数に達していなければ、次のデータ要素を対象に処理を行う（ステップＳ４９、Ｓ３９）。
以上のループ処理で、対象とするそれぞれのデータ要素について、設定値を継承する処理を行った後に、制御部２１は、更新前の版のデータ値を格納しているデータ格納デバイス２３内のデータ格納領域を削除する（ステップＳ５１）。
【００４５】
このようにして、制御部２１は、データ格納デバイス２３に格納されている例えば図１０のような更新前の版に係る設定値を取得し、更新後の設定版にその設定値を反映する。
即ち、図１１に示すようなシステム設定ページに含まれる設定項目が図１２Ａに示すようなデータ格納デバイス２３上の設定データとして存在するかを検索する。設定データが存在する場合には、システム設定ページを表示する際の初期値として前の版で既に設定されているデータ値を初期値として設定する処理を行う。その結果、生成される設定ページデータは図１３に示すように、版の更新後も設定値が維持されたものとなる。
図１７は、この実施形態において、更新前の版の設定値が反映され得たデータ構造記述の例を示す説明図である。
この実施形態によれば、アプリケーションの更新の際に、更新前の版で設定されていたデータ値を反映することで、アプリケーションの更新後にユーザーに設定値を再び設定してもらうことなく、アプリケーションの使用が可能となる。更新によって、追加されたデータについては、更新前の設定値に影響を受けることなく、初期値が設定される。
【００４６】
（実施の形態３）
この実施形態では、画像処理装置１００の処理能力に応じたシステム設定ページの生成と管理について述べる。
この実施形態において、外部サービスが提供するアプリケーションパッケージ３１は、多数のユーザーに共通する内容である。仮に、ユーザーごとにカスタマイズされたアプリケーションパッケージを用意するなら、提供者にとって負担が大きい。一方、各ユーザーが使用する画像処理装置１００は、種々の機種、種々の構成が考えられる。
通常、アプリケーションパッケージの提供者側は、種々の機能が包含されたアプリケーションパッケージを提供する。よって、画像処理装置１００の構成によっては、処理できない内容も含まれる。
それぞれのユーザーあるいは画像処理装置の観点からすると、処理不可能な機能についてまで設定データを用意してシステム設定ページを生成すると冗長になり無駄が多い。
【００４７】
この実施形態では、取得したアプリケーションパッケージのうち、画像処理装置１００が処理可能な機能についてのみデータを保持する。
図１８は、この実施形態において、制御部２１が画像処理装置の能力に応じたシステム設定ページを生成する処理を示すフローチャートである。
図１９は、画像処理装置１００が処理可能な機能と処理できない機能を機器能力情報のデータとして保持する状態の一例を示す説明図である。
図２０は、この実施形態において、アプリケーションパッケージ３１に含まれるデータ構造記述３１ｄの一部を示す説明図である。
図２１は、この実施形態において、機器能力情報に基づいて整理されたデータ構造記述３１ｄを示す説明図である。
【００４８】
図１８に示すように、制御部２１は、アプリケーションパッケージを外部サービス提供サーバー１０３から取得すると、取得されたデータ構造記述を参照する（ステップＳ６１）。
続いて制御部２１は、画像処理装置１００の言語設定で選択されている言語を参照する（ステップＳ６３）。そして、設定された言語に係る言語データを参照する（ステップＳ６５）。
以上のステップＳ６１からステップＳ６５の処理は、図７に示すステップＳ２１からステップＳ２５の処理とほぼ同様である。
【００４９】
続いて制御部２１は、図１９に示す機器能力情報４１を参照する（ステップＳ６７）。機器能力情報４１は、画像処理装置１００の構成に基づいて、制御部２１が生成し、データ格納デバイス２３に予め格納されているものとする。
制御部２１は、対象のデータ要素の各々について、以下の処理を行う。対象とするデータ要素の数は、データ構造記述を参照して予めわかっている。
まず、データ要素数のカウンタとして用いる一時変数ｉの値に初期値として１を設定する（ステップＳ６９）。制御部２１は、以下に述べるループ処理（ステップＳ７１〜Ｓ７９）において、対象のデータ要素の１つについて処理を行う毎に変数ｉをインクリメントする。変数ｉの値が対象のデータ要素数に達するまで、次の対象データ要素に対して同様の処理を繰り返す。ループ中の各データ要素に対する処理は以下のとおりである。
【００５０】
制御部２１は、対象のデータ要素が、機器能力情報４１に照らして処理可能な機能に係るものか否かを判断する（ステップＳ７３）。
処理可能な機能に係るものであると判断した場合は（ステップＳ７３のＹｅｓ）、言語設定で選択され言語に係る言語データを取得されたデータ構造記述に反映して、データ構造記述によって記述された対象のデータ要素に係るシステム設定ページを生成する（ステップＳ７５）。
一方、前記ステップＳ７３の判定で、処理可能な機能に係るものでなければ（ステップＳ７３のＮｏ）、そのデータ要素に係るシステム設定ページを生成しない。データ格納デバイス２３に対象のデータ要素に対応するデータ格納領域を用意することもしない。
【００５１】
そして、制御部２１は、変数ｉをインクリメントして（ステップＳ７７）データ要素数に達していなければ、次のデータ要素を対象に処理を行う（ステップＳ７９、Ｓ７１）。
以上のループ処理で、対象とするそれぞれのデータ要素について、処理可能な機能に係るものか否かの判定行う。
このようにして、制御部２１は、取得したアプリケーションパッケージのデータ構造記述に基づいて、システム設定ページを生成する際に、あるいはデータ格納デバイス２３に設定データの格納領域を確保する際に、機器能力情報４１を参照する。そして、処理可能でない機能については、システム設定ページの生成を省略し、設定データの格納領域を用意することもしない。
【００５２】
具体例として、アプリケーションパッケージ３１に含まれるデータ構造記述３１ｄが図２０に示すものであったとする。図２０に示すデータ構造記述３１ｄは、名前“color_mode”のラジオボタン表示に対応するデータ要素と、名前“duplex_mode”の選択肢表示に対応するデータ要素を含む。
一方、図１９に示す機器能力情報４１を参照すると、カラーモードに係る機能は処理可能でない。即ち、この実施形態の画像処理装置１００はモノクロ機である。両面に係る機能は処理可能である。
【００５３】
制御部２１は、図２０に係るデータ構造記述３１ｄを取得すると、そのうち処理可能でないカラーモードに係るデータ構造記述３１ｄを省略し、図２１に示すデータ構造記述に整理する。
そして、図２１のデータ構造記述に対応するシステム設定ページを生成し、対応するデータ格納領域をデータ格納デバイス２３に用意する。
【００５４】
以上に述べたように、
（i）この発明による画像処理装置は、外部の機器からデータを転送するインタフェイス回路と、データを格納するデータ格納デバイスと、前記インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、前記アプリ取得処理部と、前記データ格納デバイスに格納されたデータの設定用画面を生成し、前記データのユーザーによる設定を受付ける設定管理部と、前記データを参照して前記アプリケーションを実行するアプリケーション処理部と、を備えることを特徴とする。
【００５５】
この発明において、インタフェイス回路は、通信等の技術的手段により外部の機器からデータを転送するものである。その具体的な態様は、例えば、有線または無線で外部の機器と通信を行う通信インタフェイス回路である。ただし、転送手段は通信に限るものでない。例えばインタフェイス回路は、外部機器としてのＵＳＢメモリーから転送されるデータを受けるＵＳＢインタフェイス回路であってもよいし、その他、機器間の転送手段であれば何であってもよい。
また、データ格納デバイスは、データの書き換えが可能であって好ましくは不揮発性のデータ記憶手段である。その具体的な態様は、例えば、フラッシュメモリである。ただし、これに限らず、例えばハードディスクドライブであってもよいし、ＲＡＭであってもよい。あるいは、これらの幾つかを組合せたものであってもよい。データ格納デバイスは、取得されたプログラムファイルおよびデータ構造記述を格納する。
【００５６】
さらにまた、アプリケーションに係るデータの構造記述（データ構造記述）は、データの値それ自体を含んでいてもよいが、むしろそのデータの構造を示す書式をさす。具体的には、例えば、構造体や配列のデータ構造を表すものである。前述の実施形態におけるＪＳＯＮテキストは、データ構造記述の一態様であるがこれに限るものでない。データ格納デバイス上に用意すべきデータの格納領域が一意に決まるように、データ構造を定義するものであればよい。データ構造記述は、初期値としてのデータの値を含んでいてもよいが、含んでいなくてもよい。
アプリ取得処理部、設定管理部およびアプリケーション処理部は、ハードウェア資源としてはプロセッサ（ＣＰＵあるいはＭＰＵ）を中心に構成され、取得されたプログラムファイルをプロセッサが実行することによってその機能が実現される。言い換えれば、ハードウェアとソフトウェアが有機的に結合することによってそれらの機能が実現される。
【００５７】
アプリ取得処理部は、取得されたデータ構造記述に基づくデータの格納領域をデータ格納デバイス上に用意するので、アプリケーションの実行処理と、実行時に参照されるデータの所在とはいずれも画像処理装置である。
さらに、設定管理部が、データ格納デバイスに格納されたデータの設定用画面を生成し、前記データのユーザーによる設定を受付けるので、格納されたデータを設定する処理も、画像処理装置で行われる。ただし、設定管理部によって生成された設定用画面を表示するのは、画像処理装置であってもよいがそれに限るものでない。例えば、通信を介して接続されたパソコンやスマートフォン等の機器に設定用画面が表示されてもよい。その設定用画面でユーザーが行った設定の操作を、通信を介して設定管理部が受付けて、データの設定に係る処理を行ってもよい。
【００５８】
さらに、この発明の好ましい態様について説明する。
（ii）前記アプリ取得処理部は、既に取得されたアプリケーションの更新を取得する際、そのアプリケーションに係るデータがユーザーにより設定されている場合、設定されたデータを維持してアプリケーションを更新してもよい。
このようにすれば、既に取得されたアプリケーションを更新する際に、ユーザーが既に行った設定が維持される。よって、アプリケーションの更新に伴って、ユーザーが設定したデータが初期値に変更されて設定のやり直しが必要になるといった事態が回避できる。
【００５９】
（iii）前記データ格納デバイスは、機器の構成に基づいて処理可能な機能を予め格納し、前記アプリ取得処理部は、取得されたデータ構造記述が処理可能でない機能に係る部分を含むか否かを判断し、処理可能でない部分を省いてデータの格納領域を用意し、前記設定管理部は、前記格納領域に対応したデータの設定画面を生成するようにしてもよい。
このようにすれば、画像処理装置の機器構成に基づいて、必要なデータについてのみ格納領域を用意することができ、さらに、必要なデータについてのみ設定用画面を生成してユーザーによる設定を受付けることができる。
【００６０】
（iv）前記アプリ取得処理部は、アプリケーションのプログラムファイルと共にローカライズに係る複数言語の言語データを取得し、前記設定管理部は、取得した言語データを用いて、ローカライズされた設定画面を生成してもよい。
このようにすれば、アプリケーションが対応可能な言語について、ローカライズされた設定画面を生成してユーザーによる設定を受付けることができる。
【００６１】
（v）また、この発明の異なる観点からの態様は画像処理装置のプロセッサが、インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を外部の機器から取得するステップと、前記データ構造記述に基づくデータの格納領域をデータ格納デバイス上に用意するステップと、前記データ格納デバイスに格納されたデータの設定用画面を生成するステップと、前記データのユーザーによる設定を受付けるステップと、設定されたデータを参照して前記アプリケーションを実行するステップと、を備えることを特徴とする。
この発明の好ましい態様には、上述した複数の態様のうちの何れかを組み合わせたものも含まれる。
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【００６２】
１０：操作ユニット、    １２：表示ユニット、    １３：印刷ユニット、    １４：インタフェイス回路、    １４ｃ：通信インタフェイス回路、    １４ｔ：外部機器インタフェイス回路、    １４ｕ：ＵＳＢコネクタ、    １５：スキャナユニット、    １７ａ：給紙トレイ、    １７ｂ：手差しトレイ、    １８ａ，１８ｂ，１８ｃ：排出トレイ、    ２１：制御部、２１ａ：アプリ取得処理部、    ２１ｃ：設定管理部、    ２１ｅ：アプリケーション処理部、    ２３：データ格納デバイス、    ３１：アプリケーションパッケージ、    ３１ｄ：データ構造記述、    ３１ｐ：プログラムファイル、    ３３：ブラウザー、    ３５：システム設定ページ、    ３５ａ：「参照」ボタン、    ３５ｂ：「実行」ボタン、    ３５ｃ：サーバー名設定欄、    ３５ｄ：ファイル名設定欄、    ３５ｅ：日時付加設定、    ３７：ユーザー認証画面、    ３９：スキャン設定画面、    ４１：機器能力情報
１００：画像処理装置、    １０１：パーソナルコンピュータ、    １０３：外部サービス提供サーバー
【図１】
2020098513.tif 000003
【図２】
2020098513.tif 000004
【図３】
2020098513.tif 000005
【図４】
2020098513.tif 000006
【図５】
2020098513.tif 000007
【図６】
2020098513.tif 000008
【図７】
2020098513.tif 000009
【図８】
2020098513.tif 000010
【図９Ａ】
2020098513.tif 000011
【図９Ｂ】
2020098513.tif 000012
【図１０】
2020098513.tif 000013
【図１１】
2020098513.tif 000014
【図１２Ａ】
2020098513.tif 000015
【図１２Ｂ】
2020098513.tif 000016
【図１３】
2020098513.tif 000017
【図１４】
2020098513.tif 000018
【図１５】
2020098513.tif 000019
【図１６】
2020098513.tif 000020
【図１７】
2020098513.tif 000021
【図１８】
2020098513.tif 000022
【図１９】
2020098513.tif 000023
【図２０】
2020098513.tif 000024
【図２１】
2020098513.tif 000025