(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-28
(45)【発行日】2023-01-12
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
H04L 67/10 20220101AFI20230104BHJP
G06F 3/12 20060101ALI20230104BHJP
H04N 1/00 20060101ALI20230104BHJP
【FI】
H04L67/10
G06F3/12 303
G06F3/12 353
G06F3/12 388
H04N1/00 127A
H04N1/00 350
(21)【出願番号】P 2018236917
(22)【出願日】2018-12-19
【審査請求日】2021-09-22
(73)【特許権者】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100065248
【氏名又は名称】野河 信太郎
(74)【代理人】
【識別番号】100159385
【氏名又は名称】甲斐 伸二
(74)【代理人】
【識別番号】100163407
【氏名又は名称】金子 裕輔
(74)【代理人】
【識別番号】100166936
【氏名又は名称】稲本 潔
(74)【代理人】
【識別番号】100174883
【氏名又は名称】冨田 雅己
(72)【発明者】
【氏名】尾崎 律子
【審査官】木村 雅也
(56)【参考文献】
【文献】特開2017-170642(JP,A)
【文献】特開2017-204195(JP,A)
【文献】特開2008-203926(JP,A)
【文献】特開2017-004495(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/10
G06F 3/12
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
外部の機器からデータを転送するインタフェイス回路と、
データを格納するデータ格納デバイスと、
前記インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、前記データ格納デバイスに前記データ構造記述に基づくデータの格納領域を用意するアプリ取得処理部と、
前記
格納領域に対応したデータの設定用画面を生成し、前記データのユーザーによる設定を受付ける設定管理部と、
前記データを参照して前記アプリケーションを実行するアプリケーション処理部と、
を備え
、
前記データ格納デバイスは、機器の構成に基づいて処理可能な機能を予め格納し、
前記アプリ取得処理部は、取得されたデータ構造記述が処理可能でない機能に係る部分を含むか否かを判断し、処理可能でない部分を省いてデータの格納領域を用意し、
前記設定管理部は、前記格納領域に対応したデータの設定画面を生成する画像処理装置。
【請求項2】
前記アプリ取得処理部は、既に取得されたアプリケーションの更新を取得する際、そのアプリケーションに係るデータがユーザーにより設定されている場合、設定されたデータを維持してアプリケーションを更新する請求項1に記載の画像処理装置。
【請求項3】
前記アプリ取得処理部は、アプリケーションのプログラムファイルと共にローカライズに係る複数言語の言語データを取得し、
前記設定管理部は、取得した言語データを用いて、ローカライズされた設定画面を生成する請求項1
または2に記載の画像処理装置。
【請求項4】
画像処理装置のプロセッサが、
インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を外部の機器から取得するステップと、
前記データ構造記述に基づくデータの格納領域をデータ格納デバイス上に用意するステップと、
前記
格納領域に対応したデータの設定用画面を生成するステップと、
前記データのユーザーによる設定を受付けるステップと、
設定されたデータを参照して前記アプリケーションを実行するステップと、
を備え
、
前記データ格納デバイスは、機器の構成に基づいて処理可能な機能を予め格納し、
前記格納領域を前記データ格納デバイス上に用意するステップは、取得されたデータ構造記述が処理可能でない機能に係る部分を含むか否かを判断し、処理可能でない部分を省いてデータの格納領域を用意し、
前記設定用画面を生成するステップは、前記格納領域に対応したデータの設定画面を生成する画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像処理装置および画像処理方法に関し、より詳細には外部の機器からアプリケーションをダウンロードして実行可能な画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
近年、通信技術が発達し通信環境が整備されたことに伴い、種々のクラウドサービスが提供されている。それらのクラウドサービスは、ユーザーがそのクラウドサービスにアクセスしサービスを利用するための手順(Application InterfaceあるいはAPIともいう)をサービス提供者が規定し、ユーザーに公開している。
例えば、クラウドサービス上に格納されたデータを印刷したり、原稿をスキャンしたデータをクラウドサービス上に格納したりする際、印刷処理やスキャン処理を実行する画像処理装置はそのクラウドサービスにアクセスしてAPIに準じたやり取りを行う必要がある。
【0003】
しかし、どのクラウドサービスを利用するかはユーザーに依存する。さらに、クラウドサービスにアクセスすると、まずユーザー認証を行うのが通常であるが、ユーザー認証ではユーザーIDやパスワード等に代表されるユーザー固有の情報をユーザー側、即ち画像処理装置側からクラウドサービスへ送信する必要がある。
画像処理装置の製造者の観点からすれば、あらゆるクラウドサービスのAPIに係る処理を予め制御プログラムに組み込んで画像処理装置内に格納しておくのは冗長である。また、クラウドサービスあるいはそのAPIの追加や更新に逐次対応することは煩雑である。
上述のようなクラウドサービスとのインタフェイスに係る処理を、アプリケーションとして事後的にインストールし、更新することが可能な画像処理装置が提案されている(例えば、特許文献1参照)。
【0004】
特許文献1による画像処理装置は、パソコン等の外部情報源から電子文書ファイルを受信する。電子文書ファイルは、プログラムファイルおよびフォームデータを含む。電子文書ファイルの文面には、プログラムファイルの解説文と、プログラムファイルを実行するために必要な情報を入力するためのフォームとが含まれている。ここで、フォームデータは、前記プログラムファイルを実行するために必要な情報を含むデータである。前記データは、例えば、「鍵コード」や「利用者設定」に係るものである。フォームは、ファイルを実行するために必要な情報を利用者が入力するためのものであって、テキストボックスやラジオボタン、チェックボックスなどの標準的なユーザーインターフェイスを文面に設置可能なものである。画像処理装置の制御手段は、受信した電子文書ファイルの中からプログラムファイルとフォームデータの抽出を行い、抽出したフォームデータの情報に従ってプログラムファイルを実行する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えば、特許文献1の画像処理装置において、ユーザーは、自分のパソコンからアプリケーションソフトを配布しているWebサイトにアクセスする。そして、使用したいアプリケーションソフトに係る電子文書ファイルについて、ユーザー認証に必要な「鍵コード」やアプリケーションソフトの諸動作を利用者ごとに最適化する「利用者設定」等のフォームデータをWebサイト上で予め設定しておく。即ち、自分のパソコンに前述の入力フォームを表示させて、Webサイト上でフォームデータを設定し、ダウンロードすべき電子文書ファイルを編集しておく。その後、編集された電子文書ファイルを画像処理装置へ転送(ダウンロード)する。
即ち、フォームデータの設定はアプリケーションソフトを配布しているWebサイト上で行う。設定を更新する際についても、Webサイト上で設定を更新した後に、更新された電子文書ファイルを画像処理装置へダウンロードすることになる。
【0007】
しかし、使用するアプリケーションソフトが増えてくると、ユーザーはそれらの設定を行うために対応する電子文書ファイルを格納するあちらこちらのWebサイトにアクセスしなければならなくなる。また、一般に画像処理に係る設定は多数の項目があり、ユーザーは所望の設定を行うために、アプリケーションソフトを配布しているWebサイトにアクセスすべきか、画像処理装置側の設定メニューにアクセスすべきかの判断に迷うことも考えられる。
アプリケーションソフトに係る設定であっても、画像処理装置側で一元的に設定、管理ができればユーザーにとって便利である。
この発明は、以上のような事情を考慮してなされたものであって、外部から取得して画像処理装置が実行するアプリケーションに必要なデータを画像処理装置の側で格納して管理する手法を提供するものである。
【課題を解決するための手段】
【0008】
この発明は、外部の機器からデータを転送するインタフェイス回路と、データを格納するデータ格納デバイスと、前記インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、前記データ格納デバイスに前記データ構造記述に基づくデータの格納領域を用意するアプリ取得処理部と、前記データ格納デバイスに格納されたデータの設定用画面を生成し、前記データのユーザーによる設定を受付ける設定管理部と、前記データを参照して前記アプリケーションを実行するアプリケーション処理部と、を備える画像処理装置を提供する。
【0009】
また、異なる観点からこの発明は、画像処理装置のプロセッサが、インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を外部の機器から取得するステップと、前記データ構造記述に基づくデータの格納領域をデータ格納デバイス上に用意するステップと、前記データ格納デバイスに格納されたデータの設定用画面を生成するステップと、前記データのユーザーによる設定を受付けるステップと、設定されたデータを参照して前記アプリケーションを実行するステップと、を備える画像処理方法を提供する。
【発明の効果】
【0010】
この発明による画像処理装置は、プログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、前記データ構造記述に基づくデータの格納領域を用意するアプリ取得処理部と、設定用画面を生成し前記データのユーザーによる設定を受付ける設定管理部とを備えるので、外部の機器から取得して画像処理装置が実行するアプリケーションに必要なデータを画像処理装置の側で格納して管理できる。
この発明による画像処理方法についても、同様の作用効果を奏する。
【図面の簡単な説明】
【0011】
【
図1】この実施形態による画像処理装置が、外部の機器と通信を介して接続された構成を示す説明図である。(実施の形態1)
【
図2】
図1に示す画像処理装置の外観を示す斜視図である。
【
図3】
図1に示す画像処理装置の構成を示すブロック図である。
【
図4】この実施形態において、アプリケーションインストール画面の一例を示す説明図である。(実施の形態1)
【
図5】この実施形態において、アプリ取得処理部が実行する処理を示すフローチャートである。(実施の形態1)
【
図6】この実施形態において、設定管理部が、システム設定ページを生成する処理を示す説明図である。(実施の形態1)
【
図7】この実施形態において、設定管理部がシステム設定ページを生成する処理を示すフローチャートである。(実施の形態1)
【
図8】この実施形態において、データ構造記述の一例を示す説明図である。(実施の形態1)
【
図9A】
図8に示すデータ構造記述に対応する日本語の言語データの例である。
【
図9B】
図8に示すデータ構造記述に対応する英語の言語データの例である。
【
図10】
図8のデータ構造記述に
図9Aの言語データを反映した例を示す説明図である。
【
図11】
図10のJSONテキストに基づいて制御部が生成するシステム設定ページの例を示す説明図である。
【
図12A】
図10に示すJSONテキストに対応するデータの要素を示す説明図である。
【
図13】
図11に示すシステム設定ページにおいてデータ値が設定されている状態を示す説明図である。
【
図14】この実施形態において、アプリケーションに係るユーザー認証画面の例を示す説明図である。(実施の形態1)
【
図15】この実施形態において、スキャン設定画面の例を示す説明図である。(実施の形態1)
【
図16】この実施形態において、制御部が実行する処理を示すフローチャートである。(実施の形態2)
【
図17】この実施形態において、更新前の版の設定値が反映され得たデータ構造記述の例を示す説明図である。(実施の形態2)
【
図18】この実施形態において、画像処理装置の能力に応じたシステム設定ページを生成する処理を示すフローチャートである。(実施の形態3)
【
図19】この実施形態に係る機器能力情報の例を示す説明図である。(実施の形態3)
【
図20】この実施形態において、データ構造記述の例を示す説明図である。
【
図21】この実施形態において、機器能力情報に基づいて整理されたデータ構造記述を示す説明図である。
【発明を実施するための形態】
【0012】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
(実施の形態1)
≪画像処理装置およびシステムの構成≫
図1は、この実施形態による画像処理装置が、外部の機器としてのパーソナルコンピュータおよび外部サービス提供サーバーと通信を介して接続されたシステムの構成を示す説明図である。
図2は、この実施形態による画像処理装置の一態様であるデジタル複合機の外観を示す斜視図である。
図3は、
図2に示すデジタル複合機の構成を示すブロック図である。
図1に示すように、画像処理装置100は、通信ネットワークを介して外部のパーソナルコンピュータ101および外部サービス提供サーバー103とデータ送受可能に接続されている。この実施形態において、外部サービス提供サーバー103は、クラウドサービスを提供するものとする。クラウドサービスの具体的な内容は種々のもの考えられるが、この実施形態において文書の作成とファイルの格納場所(ストレージスペース)の提供が含まれるものとする。
図2に示すように、画像処理装置100は、操作ユニット10、表示ユニット12、印刷ユニット13、スキャナユニット15、給紙トレイ17a、手差しトレイ17bおよび排出トレイ18a、18b、18cを備える。画像処理装置100の前面には、USBメモリー等を接続するUSBコネクタ14uが設けられている。
【0013】
また、
図3に示すように、画像処理装置100は、インタフェイス回路14、制御部21およびデータ格納デバイス23を備えている。
インタフェイス回路14は、通信インタフェイス回路14cおよび外部機器インタフェイス回路14tを備える。外部機器インタフェイス回路14tへの入力の1つとして、
図2で述べたようにUSBメモリー等を接続するUSBコネクタ14uが設けられている。
制御部21は、アプリ取得処理部21a、設定管理部21cおよびアプリケーション処理部21eを備える。
制御部21は、ハードウェア資源としては、プロセッサ(CPUあるいはMPU)を中心として、ROM、RAM、入出力インタフェイス回路、タイマ回路等で構成される。ROMの少なくとも一部が、書き換え可能な不揮発性メモリーであってもよい。
【0014】
データ格納デバイス23は、データの書き換えが可能であって好ましくは不揮発性のデータ記憶手段である。
制御部21は、ROMまたはデータ格納デバイス23に格納された制御プログラムを読み出して適宜、RAMに展開する。そして、RAMに展開された制御プログラムに従った処理を実行する。その処理によって、画像処理装置100の制御が実現される。
制御部21は、前記制御プログラムに従って、ユーザーインターフェイスに係る表示を表示ユニット12に表示させる。そして、ユーザーが操作ユニット10に対して行う操作入力を受付ける。また、前記制御プログラムに従って、画像処理装置100のハードウェア制御を行い、印刷処理等の機能を実現する。
【0015】
さらに、
図1に示すように、制御部21は、外部のパーソナルコンピュータ101にWebページを提供する。パーソナルコンピュータ101のブラウザー33でユーザーが画像処理装置100のWebページにアクセスすると、それに応答して制御部21は、パーソナルコンピュータ101へHTMLを送る。そして、パーソナルコンピュータ101のWebブラウサーの画面に複合機のWebページを表示させる。そのWebページは、データ格納デバイス23に格納されたデータの設定用画面(以下、システム設定ページともいう)を含む。
ブラウザー33のシステム設定ページでユーザーからの指示を受けると、それに応答して制御部21は、アプリケーションパッケージ31をダウンロードし、アプリケーションに係る処理を実行する。
この実施形態において、アプリケーションパッケージ31は、外部サービス提供サーバー103に格納されている。パーソナルコンピュータ101を操作するユーザーが、外部サービス提供サーバー103に格納されたアプリケーションパッケージの所在を指定すると、そのアプリケーションパッケージがダウンロードできるものとする。
図1に示すように、アプリケーションパッケージ31は、アプリケーションのプログラムファイル31pとそのアプリケーションに係るデータ構造記述31dとを含む。
パーソナルコンピュータ101は、外部サービス提供サーバー103にアクセスして文書作成等のアプリケーションを実行する。そのようにして、作成した文書の印刷を画像処理装置100に指示する。指示を受けた画像処理装置100は、外部サービス提供サーバー103にアクセスし、印刷すべきファイルを取得して印刷の処理を行う。
【0016】
また、画像処理装置100は、原稿をスキャンして、読み取った画像データを外部サービス提供サーバー103のストレージスペースに格納するようにユーザーからの指示を受ける。ユーザーからの指示は、パーソナルコンピュータ101から通信インタフェイス回路14cを介して受けてもよいが、操作ユニット10から受けてもよい。指示を受けた画像処理装置は、ユーザーによってセットされた原稿をスキャンし、外部サービス提供サーバー103してスキャンされた原稿の画像データを指定された外部サービス提供サーバー103のストレージスペースにファイルとして格納する。
上述のような、外部サービスに関して画像処理装置100が実行する印刷やスキャンの処理手順は、事後的にアプリケーションパッケージ31として画像処理装置100にダウンロードされる。
なお、アプリケーションパッケージ31の取得元は、パーソナルコンピュータ101であると述べたが、これは一例に過ぎない。異なる態様として、外部サービス提供サーバー103から取得してもよい。さらに異なる態様として、前面のUSBコネクタ14uに接続されたUSBメモリーやスマートフォン等の情報機器から取得してもよい。
【0017】
画像処理装置100の構成について説明を続ける。
操作ユニット10は、ユーザーの操作を受付ける複数の操作ボタンや、後述する表示ユニット12の表示面上に配置されたタッチパネルなどから構成される。制御部21は、操作ユニット10に対する入力操作を示す信号を認識する。
【0018】
表示ユニット12は、例えば、液晶ディスプレイ装置で構成される。表示ユニット12は、操作ユニット10が受け付けた入力等に基づいて、各種の情報や画像等を表示する。制御部21は、表示ユニット12に表示するべき内容を生成し、更新する。
スキャナユニット15は、制御部21の制御下で、原稿を読取り、コピー、ファックスおよびスキャナのジョブにおける画像読取の処理を実行する。即ち、原稿画像を読み取って、画像信号に変換し画像データを生成する。
【0019】
給紙トレイ17aは、各種サイズの用紙を個別に収容する複数のトレイから構成される。
手差しトレイ17bは、各種サイズおよび各種のタイプの用紙を給送可能なトレイである。
図1および
図2に図示しない給紙機構は、制御部21の制御下で、指定された給紙トレイの用紙を印刷装置内部へ給送して印刷ユニット13へ搬送する、
印刷ユニット13は、制御部21の制御下で、給紙トレイ17aまたは手差しトレイ17bから給送された用紙に、指定された画像データを印刷する。
図2に図示しない排紙機構は、印刷ユニット13で印刷された用紙を排出トレイ18a、18b、18cの何れかへ排出する。
【0020】
≪アプリケーションパッケージの取得とシステム設定ページの生成≫
続いて、アプリケーションパッケージ31の取得とシステム設定ページの生成の手順について
図4~
図13を参照しながら述べる。
図4は、この実施形態において、システム設定ページ35のうち、アプリケーションのインストールに係る画面(アプリケーションインストール画面)の一例を示す説明図である。
図4の画面は、ユーザーがパーソナルコンピュータ101のブラウザー33で画像処理装置100が提供するWebページにアクセスすると表示される画面のうちの一つである。
【0021】
図4のアプリケーションインストール画面で、ユーザーが、「参照」ボタン35aを操作して所望のアプリケーションパッケージに係るファイルを選択し、「実行」ボタン35bを操作すると、選択されたアプリケーションパッケージ31が画像処理装置100にインストールされる。
なお、アプリケーションパッケージの所在は外部サービス提供サーバー103であると述べたが、異なる態様としてアプリケーションパッケージが格納されたUSBメモリーをUSBコネクタ14uに接続して、USBメモリーからアプリケーションパッケージを取得する態様もあり得る。さらに異なる態様として、アプリケーションパッケージの所在がパーソナルコンピュータ101であってもよい。
【0022】
図5は、この実施形態において、アプリ取得処理部21aが実行する処理の手順を示すフローチャートである。
図6は、この実施形態において、設定管理部21cとして制御部21が、システム設定ページを生成して設定を受付ける処理の手順を示す説明図である。
図7は、この実施形態において、設定管理部21cとして制御部21がシステム設定ページを生成する処理を示すフローチャートである。
図8、
図9Aおび
図9Bは、この実施形態において、アプリケーションパッケージ31に含まれるデータ構造記述31dの一例を示す説明図である。
図8は、外部サービス提供サーバー103への接続および送信に関するデータ構造記述31dの例である。
図9Aは、
図8に示すデータ構造記述に対応する日本語の言語データの例である。
図9Bは、
図8に示すデータ構造記述に対応する英語の言語データの例である。
【0023】
図5に示すように、アプリ取得処理部21aとして制御部21は、外部サービス提供サーバー103にアクセスして、
図4のアプリケーションインストール画面で指定されたストレージスペースのアプリケーションパッケージ31を取得する。
詳細には、制御部21は、外部サービス提供サーバー103からプログラムファイル31pをダウンロードする(ステップS11)。ダウンロード先については、アプリケーション処理部21eが参照してプログラムファイルを実行できる場所であればどこでもよい。例えば、データ格納デバイス23であってもよい。あるいは、制御部21が備えるROM(ただし、書換可能な格納領域に限る)であってもよい。
【0024】
さらに、アプリ取得処理部21aとしての制御部21は、データ構造記述31dをダウンロードする(ステップS13)。そして、取得したデータ構造記述31dに基づいて、データ格納デバイス23にデータの格納領域を用意する(ステップS15)。そして、用意されたデータ格納領域にデータの値を設定する(ステップS17)。データ構造記述31dに初期値が定義されているデータについては、初期値を設定する。また、システム設定ページを用いたユーザーによるデータの設定を受付ける。
【0025】
図8、
図9Aおよび
図9Bは、データ構造記述の例を示している。これらは、JSON(JavaScript(登録商標) Object Notations)形式で記述されているが、データの記述形式はこれに限定されない。
図8に示すJSONテキストは、大別すると2つのデータ“connection_settings”と“send_settings”のデータ構造に係る記述である。そのうち、データの存在を表す記述は以下のものがある。
“connection_settings”については、名前“server_name”が文字列データ(string)として記述されている。
“send_settings”については、名前“file_name”が文字列データ(string)として記述され、さらに、名前“include_date”が2値データ(boolean)として記述されている。
【0026】
設定管理部21cとして制御部21は、データ構造記述に基づいてこれらのデータの各要素に対応する格納領域をデータ格納デバイス23に用意する。
図6および
図7は、設定管理部21cとしての制御部21が、取得されたアプリケーションパッケージ31に係るシステム設定ページを生成してデータの設定を行う処理を示している。
図7に示すように、設定管理部21cとしての制御部21は、取得されたデータ構造記述を参照する(ステップS21)。そのタイミングは、外部サービス提供サーバー103からデータ構造記述をダウンロードする際、即ちアプリケーションパッケージ31を取得する際であってもよい。アプリケーションパッケージ31を初めてダウンロードする場合、データ構造記述に初期値が定義されていないデータについては初期値の設定になる。
【0027】
別のタイミングとして、アプリケーションパッケージ31が取得された後に、ユーザーがシステム設定ページを立ち上げたタイミングであってもよい。その場合は、設定されているデータの変更になる。
ステップS21の処理で制御部21が参照するデータ構造記述の一例を
図8に示している。
【0028】
続いて制御部21は、画像処理装置100の言語設定で選択されている言語を参照する(ステップS23)。ここで、言語設定は、画像処理装置100が予め備えるシステム設定ページでユーザーにより設定されるものとする。そして、設定された言語に係る言語データを参照する(ステップS25)。
ステップS25の処理で制御部21が参照する言語データの例を
図9Aおよび
図9Bに示している。
制御部21は、言語設定で選択され言語に係る言語データを取得されたデータ構造記述に反映して、データ構造記述によって記述されたデータについてのシステム設定ページを生成する(ステップS27)。ユーザーがシステム設定ページを容易に認識できてデータの設定が行いやすいように予め定められた規則に従って整形されたシステム設定ページを生成して、ブラウザー33に表示する。ユーザーは表示されたシステム設定ページでデータの設定を行う。
【0029】
図10は、
図8のデータ構造記述に
図9Aの言語データを反映した例を示している。
図8および
図9Bに対応したものである。即ち、
図8に示すJSONテキストの、“MSG01”の箇所を“接続設定”に置換し、“MSG02”の箇所を“サーバー名:”に置換したものである。同様に、“MSG03”の箇所を“契約しているサーバー名を入力してください。サーバー名は管理者にお問い合わせください。”に置換したものである。さらに、“MSG04”の箇所を“送信設定”に、“MSG05”の箇所を“ファイル名:”に、“MSG06”の箇所を “ファイル名に日時を含める”にそれぞれ置換したものである。
【0030】
図11は、
図10のJSONテキストに基づいて制御部21が生成するシステム設定ページ35の例を示す説明図である。
図11は、画像処理装置100のシステム設定ページ35の一部の項目に係るものである。スクロールや、ページ送り等の操作によって、ユーザーは画像処理装置100に係る他の項目について設定を行うことができる。他の項目の一例は、
図4に示す
制御部21は、生成したシステム設定ページ35の設定項目を、データ格納デバイス23に用意された各データの要素と対応付けて管理する。そして、システム設定ページ35で設定が行われると、その設定値を保存する。制御部21は、例えば
図10に示すように、設定項目が一意に識別できるような形式でデータ格納デバイス23に格納してもよい。
【0031】
図12Aは、
図8あるいは
図10に示すJSONテキストに対応して設定管理部21cがデータ格納デバイス23に用意する各データの要素を示す説明図とデータ値の例を示している。
図12Bは、
図12Aに対応するデータと、データの各要素に対応するデータ値を表すJSON形式の記述である。即ち、
図8あるいは
図10のJSONテキストに対応して設定管理部21cがデータ格納デバイス23に確保する構造体型のデータの名前と値を示している。
【0032】
上述の文字列データ“server_name”に対応するのが“connection_settings.server_name”である。そのデータ値の例が、“test”である。
また、上述の文字列データ“file_name”に対応するのが“connection_settings.file_name”である。そのデータ値の例が“image”である。
上述の2値データ“include_date”に対応するのが“connection_settings. include_date”である。そのデータ値の例が“1”(true)である。
【0033】
図13は、
図11に示すシステム設定ページ35において、
図12Aおよび
図12Bに示すデータ値が設定されている状態を示す説明図である。
図13に示すように、サーバー名設定欄35cに“test”が、ファイル名設定欄35dに“image”がそれぞれの設定値として表示されている。さらに、「ファイル名に日時を含める」の項目(日時付加設定35e)のチェックボックスにチェックマークが表示されている。即ち、この項目の設定は“1”(true)である。
図13は、設定管理部21cがシステム設定ページ35の各項目を、
図12A、
図12Bに示すデータと対応付けて管理していることを示している。
図13のシステム設定ページ35において、ユーザーが表示されているサーバー名やファイル名を変更したり、チェックボックスのチェックマークを外したりする操作を行うと、設定管理部21cはその操作を受付け、対応するデータの設定値を変更する。
【0034】
図14および
図15は、例えば
図13に示すシステム設定ページで設定されたデータが、アプリケーションに使用される例を示す説明図である。
図14は、この実施形態において、画像処理装置100が外部サービス提供サーバー103を利用する際にアプリケーションが表示するユーザー認証画面の例を示す説明図である。
図14に示すユーザー認証画面37において、ユーザーは予め定められたユーザー名、パスワードおよびサーバー名の入力を求められる。ユーザー名およびパスワードは空欄である。ユーザーは、外部サービス提供サーバー103の使用を開始する度にそれらを入力しなければならない。外部サービス提供サーバー103に格納されている情報のセキュリティーを確保するためである。
【0035】
一方、サーバー名の入力欄には、初期値として“test”が表示されている。この初期値は、
図13に示すシステム設定ページで設定されデータ格納デバイス23に格納されている。ユーザーが使用する外部サービスは、クラウドサービスであって、ユーザーのストレージスペースがどこに確保されるかは、外部サービスとユーザーとの契約により決まる。したがって、画像処理装置100あるいはプログラムファイル31pが、既定のサーバー名を予め用意しておくことはできない。ユーザーが外部サービスの利用を申請した後にサーバー名が決定されるので、ユーザーは事後的にシステム設定ページのサーバー名設定欄35cを用いてサーバー名を設定する。
【0036】
図15は、画像処理装置100が、スキャンした原稿の画像データを外部サービス提供サーバー103のストレージスペースに格納するための、スキャン設定画面39の例を示す説明図である。
図15に示すように、スキャン設定画面39を用いてユーザーは、スキャンした原稿の画像データを外部サービス提供サーバー103に格納するための設定を行う。画像データに係るファイルの保存先の設定、格納する画像データに付けるファイル名の設定、原稿をスキャンする際のカラーモードの設定、スキャンした原稿の画像データのファイル形式の設定である。
ここで、保存先は空欄であって、原稿のスキャンを実行する前に、ユーザーが都度入力する。ファイル名は、初期値が設定された状態で表示される。ファイル名の初期値は、
図13に示すシステム設定ページ35の送信設定に基づくものである。
【0037】
即ち、ファイル名の先頭部分は、ファイル名設定欄35dの設定値“image”に基づく。その後に続く“_YYYYMMDD_HHMMSS”の部分は、日時付加設定35eに基づく。ファイル名に原稿のスキャンの開始日時が付加されることおよびその書式を示す。YYYYは西暦年を表す4桁の数字がその位置に付加されることを示している。同様にMMは月を表す2桁の数字、DDは日を表す2桁の数字がそれぞれの位置に付加されることを示している。HHは時、MMは分、SSは秒の数字がそれぞれの位置に付加されることを示している。
【0038】
以上のように、この実施形態によれば、画像処理装置100が実行するアプリケーションをインストールする場合に、そのアプリケーションの実行に必要となるデータの構造記述したデータ構造記述をプログラムファイルと合わせて取得する。データ構造記述を取得することで、事後的にアプリケーションを取得する場合でも、アプリケーションの実行に必要なデータを事後的に画像処理装置100に用意することが可能になる。
そして、画像処理装置100にあらかじめ用意されているシステム設定ページに、アプリケーションに係るデータの設定を追加できる。追加されたデータの設定は、画像処理装置に予め用意されたシステム設定ページと一貫しており、ユーザーに違和感を与えない。画像処理装置100に係るデータの設定はすべて、システム設定ページに統合されており、ユーザーは、システム設定ページにさえアクセスすればアプリケーションを含むすべての設定値を確認し、必要に応じて変更できる。
【0039】
(実施の形態2)
この実施形態では、すでにインストールされたアプリケーションパッケージの版を更新する際の処理について述べる。版を更新する際に注意すべきことは、すでに設定されたデータ値に、更新版のデータ構造記述に記載された初期値を上書きしてしまい、設定の継続性が維持されないといった事態が生じないようにすることである。しかし、機能の追加や変更に伴って前の版から追加されたり削除されたりするデータについて、以前の設定の影響を受けないようにすべきである。
図16は、この実施形態において、制御部21が実行する処理を示すフローチャートである。
図16を参照して処理の説明を行う。
【0040】
制御部21は、アプリケーションパッケージの更新版を外部サービス提供サーバー103から取得すると、取得されたデータ構造記述を参照する(ステップS31)。
続いて制御部21は、画像処理装置100の言語設定で選択されている言語を参照する(ステップS33)。そして、設定された言語に係る言語データを参照する(ステップS35)。
以上のステップS31からステップS35の処理は、
図7に示すステップS21からステップS25の処理とほぼ同様である。
【0041】
続いて制御部21は、対象のデータ要素の各々について、以下の処理を行う。対象とするデータ要素の数は、データ構造記述を参照して予めわかっている。
まず、データ要素数のカウンタとして用いる一時変数iの値に初期値として1を設定する(ステップS37)。制御部21は、以下に述べるループ処理(ステップS39~S49)において、対象のデータ要素の1つについて処理を行う毎に変数iをインクリメントする。変数iの値が対象のデータ要素数に達するまで、次の対象データ要素に対して同様の処理を繰り返す。ループ中の各データ要素に対する処理は以下のとおりである。
【0042】
制御部21は、言語設定で選択され言語に係る言語データを取得されたデータ構造記述に反映して、データ構造記述によって記述された対象のデータ要素に係るシステム設定ページを生成する(ステップS41)。そして、対象のデータ要素に対応する更新前の版のデータを格納する領域を参照し、設定が既になされているか否かを判定する(ステップS43)。更新前の版のデータを格納する領域とは、例えば、
図10に示すようなデータ構造記述であって、更新前の版に係るデータ構造記述を格納するデータ格納デバイス23の領域である。
更新前の版で、データが既に設定されている場合(ステップS43のYes)、制御部21は、更新前の版のデータ値を取得して対象データ要素の設定値としてコピーする(ステップS45)。
【0043】
一方、前記ステップS43の判定で、設定が既になされていなければ(ステップS43のNo)、設定値のコピーをしない。
【0044】
そして、制御部21は、変数iをインクリメントして(ステップS47)データ要素数に達していなければ、次のデータ要素を対象に処理を行う(ステップS49、S39)。
以上のループ処理で、対象とするそれぞれのデータ要素について、設定値を継承する処理を行った後に、制御部21は、更新前の版のデータ値を格納しているデータ格納デバイス23内のデータ格納領域を削除する(ステップS51)。
【0045】
このようにして、制御部21は、データ格納デバイス23に格納されている例えば
図10のような更新前の版に係る設定値を取得し、更新後の設定版にその設定値を反映する。
即ち、
図11に示すようなシステム設定ページに含まれる設定項目が
図12Aに示すようなデータ格納デバイス23上の設定データとして存在するかを検索する。設定データが存在する場合には、システム設定ページを表示する際の初期値として前の版で既に設定されているデータ値を初期値として設定する処理を行う。その結果、生成される設定ページデータは
図13に示すように、版の更新後も設定値が維持されたものとなる。
図17は、この実施形態において、更新前の版の設定値が反映され得たデータ構造記述の例を示す説明図である。
この実施形態によれば、アプリケーションの更新の際に、更新前の版で設定されていたデータ値を反映することで、アプリケーションの更新後にユーザーに設定値を再び設定してもらうことなく、アプリケーションの使用が可能となる。更新によって、追加されたデータについては、更新前の設定値に影響を受けることなく、初期値が設定される。
【0046】
(実施の形態3)
この実施形態では、画像処理装置100の処理能力に応じたシステム設定ページの生成と管理について述べる。
この実施形態において、外部サービスが提供するアプリケーションパッケージ31は、多数のユーザーに共通する内容である。仮に、ユーザーごとにカスタマイズされたアプリケーションパッケージを用意するなら、提供者にとって負担が大きい。一方、各ユーザーが使用する画像処理装置100は、種々の機種、種々の構成が考えられる。
通常、アプリケーションパッケージの提供者側は、種々の機能が包含されたアプリケーションパッケージを提供する。よって、画像処理装置100の構成によっては、処理できない内容も含まれる。
それぞれのユーザーあるいは画像処理装置の観点からすると、処理不可能な機能についてまで設定データを用意してシステム設定ページを生成すると冗長になり無駄が多い。
【0047】
この実施形態では、取得したアプリケーションパッケージのうち、画像処理装置100が処理可能な機能についてのみデータを保持する。
図18は、この実施形態において、制御部21が画像処理装置の能力に応じたシステム設定ページを生成する処理を示すフローチャートである。
図19は、画像処理装置100が処理可能な機能と処理できない機能を機器能力情報のデータとして保持する状態の一例を示す説明図である。
図20は、この実施形態において、アプリケーションパッケージ31に含まれるデータ構造記述31dの一部を示す説明図である。
図21は、この実施形態において、機器能力情報に基づいて整理されたデータ構造記述31dを示す説明図である。
【0048】
図18に示すように、制御部21は、アプリケーションパッケージを外部サービス提供サーバー103から取得すると、取得されたデータ構造記述を参照する(ステップS61)。
続いて制御部21は、画像処理装置100の言語設定で選択されている言語を参照する(ステップS63)。そして、設定された言語に係る言語データを参照する(ステップS65)。
以上のステップS61からステップS65の処理は、
図7に示すステップS21からステップS25の処理とほぼ同様である。
【0049】
続いて制御部21は、
図19に示す機器能力情報41を参照する(ステップS67)。機器能力情報41は、画像処理装置100の構成に基づいて、制御部21が生成し、データ格納デバイス23に予め格納されているものとする。
制御部21は、対象のデータ要素の各々について、以下の処理を行う。対象とするデータ要素の数は、データ構造記述を参照して予めわかっている。
まず、データ要素数のカウンタとして用いる一時変数iの値に初期値として1を設定する(ステップS69)。制御部21は、以下に述べるループ処理(ステップS71~S79)において、対象のデータ要素の1つについて処理を行う毎に変数iをインクリメントする。変数iの値が対象のデータ要素数に達するまで、次の対象データ要素に対して同様の処理を繰り返す。ループ中の各データ要素に対する処理は以下のとおりである。
【0050】
制御部21は、対象のデータ要素が、機器能力情報41に照らして処理可能な機能に係るものか否かを判断する(ステップS73)。
処理可能な機能に係るものであると判断した場合は(ステップS73のYes)、言語設定で選択され言語に係る言語データを取得されたデータ構造記述に反映して、データ構造記述によって記述された対象のデータ要素に係るシステム設定ページを生成する(ステップS75)。
一方、前記ステップS73の判定で、処理可能な機能に係るものでなければ(ステップS73のNo)、そのデータ要素に係るシステム設定ページを生成しない。データ格納デバイス23に対象のデータ要素に対応するデータ格納領域を用意することもしない。
【0051】
そして、制御部21は、変数iをインクリメントして(ステップS77)データ要素数に達していなければ、次のデータ要素を対象に処理を行う(ステップS79、S71)。
以上のループ処理で、対象とするそれぞれのデータ要素について、処理可能な機能に係るものか否かの判定行う。
このようにして、制御部21は、取得したアプリケーションパッケージのデータ構造記述に基づいて、システム設定ページを生成する際に、あるいはデータ格納デバイス23に設定データの格納領域を確保する際に、機器能力情報41を参照する。そして、処理可能でない機能については、システム設定ページの生成を省略し、設定データの格納領域を用意することもしない。
【0052】
具体例として、アプリケーションパッケージ31に含まれるデータ構造記述31dが
図20に示すものであったとする。
図20に示すデータ構造記述31dは、名前“color_mode”のラジオボタン表示に対応するデータ要素と、名前“duplex_mode”の選択肢表示に対応するデータ要素を含む。
一方、
図19に示す機器能力情報41を参照すると、カラーモードに係る機能は処理可能でない。即ち、この実施形態の画像処理装置100はモノクロ機である。両面に係る機能は処理可能である。
【0053】
制御部21は、
図20に係るデータ構造記述31dを取得すると、そのうち処理可能でないカラーモードに係るデータ構造記述31dを省略し、
図21に示すデータ構造記述に整理する。
そして、
図21のデータ構造記述に対応するシステム設定ページを生成し、対応するデータ格納領域をデータ格納デバイス23に用意する。
【0054】
以上に述べたように、
(i)この発明による画像処理装置は、外部の機器からデータを転送するインタフェイス回路と、データを格納するデータ格納デバイスと、前記インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を取得し、前記アプリ取得処理部と、前記データ格納デバイスに格納されたデータの設定用画面を生成し、前記データのユーザーによる設定を受付ける設定管理部と、前記データを参照して前記アプリケーションを実行するアプリケーション処理部と、を備えることを特徴とする。
【0055】
この発明において、インタフェイス回路は、通信等の技術的手段により外部の機器からデータを転送するものである。その具体的な態様は、例えば、有線または無線で外部の機器と通信を行う通信インタフェイス回路である。ただし、転送手段は通信に限るものでない。例えばインタフェイス回路は、外部機器としてのUSBメモリーから転送されるデータを受けるUSBインタフェイス回路であってもよいし、その他、機器間の転送手段であれば何であってもよい。
また、データ格納デバイスは、データの書き換えが可能であって好ましくは不揮発性のデータ記憶手段である。その具体的な態様は、例えば、フラッシュメモリである。ただし、これに限らず、例えばハードディスクドライブであってもよいし、RAMであってもよい。あるいは、これらの幾つかを組合せたものであってもよい。データ格納デバイスは、取得されたプログラムファイルおよびデータ構造記述を格納する。
【0056】
さらにまた、アプリケーションに係るデータの構造記述(データ構造記述)は、データの値それ自体を含んでいてもよいが、むしろそのデータの構造を示す書式をさす。具体的には、例えば、構造体や配列のデータ構造を表すものである。前述の実施形態におけるJSONテキストは、データ構造記述の一態様であるがこれに限るものでない。データ格納デバイス上に用意すべきデータの格納領域が一意に決まるように、データ構造を定義するものであればよい。データ構造記述は、初期値としてのデータの値を含んでいてもよいが、含んでいなくてもよい。
アプリ取得処理部、設定管理部およびアプリケーション処理部は、ハードウェア資源としてはプロセッサ(CPUあるいはMPU)を中心に構成され、取得されたプログラムファイルをプロセッサが実行することによってその機能が実現される。言い換えれば、ハードウェアとソフトウェアが有機的に結合することによってそれらの機能が実現される。
【0057】
アプリ取得処理部は、取得されたデータ構造記述に基づくデータの格納領域をデータ格納デバイス上に用意するので、アプリケーションの実行処理と、実行時に参照されるデータの所在とはいずれも画像処理装置である。
さらに、設定管理部が、データ格納デバイスに格納されたデータの設定用画面を生成し、前記データのユーザーによる設定を受付けるので、格納されたデータを設定する処理も、画像処理装置で行われる。ただし、設定管理部によって生成された設定用画面を表示するのは、画像処理装置であってもよいがそれに限るものでない。例えば、通信を介して接続されたパソコンやスマートフォン等の機器に設定用画面が表示されてもよい。その設定用画面でユーザーが行った設定の操作を、通信を介して設定管理部が受付けて、データの設定に係る処理を行ってもよい。
【0058】
さらに、この発明の好ましい態様について説明する。
(ii)前記アプリ取得処理部は、既に取得されたアプリケーションの更新を取得する際、そのアプリケーションに係るデータがユーザーにより設定されている場合、設定されたデータを維持してアプリケーションを更新してもよい。
このようにすれば、既に取得されたアプリケーションを更新する際に、ユーザーが既に行った設定が維持される。よって、アプリケーションの更新に伴って、ユーザーが設定したデータが初期値に変更されて設定のやり直しが必要になるといった事態が回避できる。
【0059】
(iii)前記データ格納デバイスは、機器の構成に基づいて処理可能な機能を予め格納し、前記アプリ取得処理部は、取得されたデータ構造記述が処理可能でない機能に係る部分を含むか否かを判断し、処理可能でない部分を省いてデータの格納領域を用意し、前記設定管理部は、前記格納領域に対応したデータの設定画面を生成するようにしてもよい。
このようにすれば、画像処理装置の機器構成に基づいて、必要なデータについてのみ格納領域を用意することができ、さらに、必要なデータについてのみ設定用画面を生成してユーザーによる設定を受付けることができる。
【0060】
(iv)前記アプリ取得処理部は、アプリケーションのプログラムファイルと共にローカライズに係る複数言語の言語データを取得し、前記設定管理部は、取得した言語データを用いて、ローカライズされた設定画面を生成してもよい。
このようにすれば、アプリケーションが対応可能な言語について、ローカライズされた設定画面を生成してユーザーによる設定を受付けることができる。
【0061】
(v)また、この発明の異なる観点からの態様は画像処理装置のプロセッサが、インタフェイス回路を介して画像処理に係るアプリケーションのプログラムファイルおよびそのアプリケーションに係るデータ構造記述を外部の機器から取得するステップと、前記データ構造記述に基づくデータの格納領域をデータ格納デバイス上に用意するステップと、前記データ格納デバイスに格納されたデータの設定用画面を生成するステップと、前記データのユーザーによる設定を受付けるステップと、設定されたデータを参照して前記アプリケーションを実行するステップと、を備えることを特徴とする。
この発明の好ましい態様には、上述した複数の態様のうちの何れかを組み合わせたものも含まれる。
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【0062】
10:操作ユニット、 12:表示ユニット、 13:印刷ユニット、 14:インタフェイス回路、 14c:通信インタフェイス回路、 14t:外部機器インタフェイス回路、 14u:USBコネクタ、 15:スキャナユニット、 17a:給紙トレイ、 17b:手差しトレイ、 18a,18b,18c:排出トレイ、 21:制御部、21a:アプリ取得処理部、 21c:設定管理部、 21e:アプリケーション処理部、 23:データ格納デバイス、 31:アプリケーションパッケージ、 31d:データ構造記述、 31p:プログラムファイル、 33:ブラウザー、 35:システム設定ページ、 35a:「参照」ボタン、 35b:「実行」ボタン、 35c:サーバー名設定欄、 35d:ファイル名設定欄、 35e:日時付加設定、 37:ユーザー認証画面、 39:スキャン設定画面、 41:機器能力情報
100:画像処理装置、 101:パーソナルコンピュータ、 103:外部サービス提供サーバー