(57)【要約】【課題】ネットワークを介して接続されたサーバとのデータ送受信におけるセキュリティを確保しつつ、データ処理をスムーズに行う電子機器を提供する。【解決手段】サーバとネットワークを介して接続された電子機器であって、データ処理のための機能を特定する内部に書き込まれた回路情報を書き換え可能なデータ処理手段と、データ処理手段における回路情報を書き換える回路情報書換手段と、データ処理手段にデータ処理を実行させるためのデータ処理要求信号を入力する入力手段と、入力されたデータ処理要求信号に含まれる要求機能情報で特定される機能が、内部の回路情報で特定される機能にないとき、要求機能情報で特定される機能を特定する情報を含む回路情報をサーバから受信し、回路情報書換手段によりデータ処理手段内部の回路情報を受信した回路情報に書き換える制御を行う制御手段と、を備える。【選択図】図２
2015061164.tif 000002
【特許請求の範囲】
【請求項１】
サーバとネットワークを介して接続された電子機器であって、
データ処理のための機能を特定する内部に書き込まれた回路情報を書き換え可能なデータ処理手段と、
前記データ処理手段における回路情報を書き換える回路情報書換手段と、
前記データ処理手段にデータ処理を実行させるためのデータ処理要求信号を入力する入力手段と、
前記入力されたデータ処理要求信号に含まれる要求機能情報で特定される機能が、前記内部に書き込まれた回路情報で特定される機能にないとき、前記要求機能情報で特定される機能を特定する情報を含む回路情報を前記サーバから受信し、前記回路情報書換手段により前記データ処理手段内部の回路情報を前記受信した回路情報に書き換える制御を行う制御手段と、
を備えることを特徴とする電子機器。
【請求項２】
前記回路情報書換手段による回路情報の書き換えが完了したかどうかを確認する書換確認手段を備え、
前記制御手段は、前記書換確認手段により前記回路情報の書き換えが完了していないことが確認されたとき、前記書き換える制御を再度行うことを特徴とする請求項１記載の電子機器。
【請求項３】
前記制御手段により前記書き換える制御が再度行われ、前記書換確認手段により前記回路情報の書き換えが完了していないことが確認された場合、前記サーバから前記要求機能情報で特定される機能を特定する情報を含む回路情報を再度受信する制御を行うことを特徴とする請求項２記載の電子機器。
【請求項４】
前記サーバから受信する回路情報を記憶する回路情報記憶手段を備え、
前記制御手段は、前記入力されたデータ処理要求信号に含まれる要求機能情報で特定される機能が、前記内部に書き込まれた回路情報で特定される機能にないとき、前記回路情報書換手段により前記データ処理手段内部の回路情報を前記回路情報記憶手段に記憶された回路情報に書き換える制御を行うことを特徴とする請求項１から３の何れか１項に記載の電子機器。
【請求項５】
サーバと電子機器とがネットワークを介して接続されたデータ通信システムであって、
前記サーバは、
データ処理のための機能を特定する回路情報を記憶する記憶手段と、
前記記憶手段に記憶された回路情報が更新、又は新たな回路情報が記憶されたことを特定する更新情報を前記電子機器に送信し、前記電子機器から要求があったとき前記記憶手段に記憶された回路情報を前記電子機器に送信する通信手段と、を含み、
前記電子機器は、
内部に書き込まれた前記回路情報を書き換え可能なデータ処理手段と、
前記データ処理手段における回路情報を書き換える回路情報書換手段と、
前記データ処理手段にデータ処理を実行させるためのデータ処理要求信号を入力する入力手段と、
前記入力されたデータ処理要求信号に含まれる要求機能情報で特定される機能が、前記内部の回路情報で特定される機能にないとき、前記要求機能情報で特定される機能を特定する情報を含む回路情報を前記サーバから受信し、前記回路情報書換手段により前記データ処理手段内部の回路情報を前記受信した回路情報に書き換える制御を行う制御手段と、を含み、
前記サーバは、前記記憶手段に記憶された回路情報が更新、又は新たな回路情報が記憶されたとき、前記通信手段により前記更新情報を前記電子機器に送信し、
前記電子機器は、前記更新情報を受信し、前記制御手段により、前記受信した更新情報に基づいて該更新情報で特定される更新された回路情報、又は新たな回路情報を受信する制御を行うことを特徴とするデータ通信システム。
【請求項６】
前記電子機器は、前記制御手段により、前記記憶手段に記憶された回路情報が更新、又は新たな回路情報が記憶されたかどうかを確認する確認信号を前記サーバへ送信する制御を行い、
前記サーバは、前記通信手段を介して前記確認信号を受信すると、前記通信手段により前記更新情報を前記電子機器に送信することを特徴とする請求項５記載のデータ通信システム。
【請求項７】
サーバとネットワークを介して接続され、データ処理のための機能を特定する回路情報を記憶部に記憶するとともに、該記憶された回路情報を書き換え可能なデータ処理手段を備える電子機器の情報処理方法であって、
前記電子機器においてデータ処理を実行させるためのデータ処理要求信号を入力するステップと、
前記入力されたデータ処理要求信号に含まれる要求機能情報で特定される機能が、前記記憶部に記憶された回路情報で特定される機能にあるかどうかを判断するステップと、
前記要求機能情報で特定される機能が前記記憶部に書き込まれた回路情報で特定される機能にないとき、前記要求機能情報で特定される機能を特定する情報を含む回路情報を前記サーバから受信して記憶部に記憶し、前記データ処理手段内部に記憶された回路情報を前記サーバから受信した回路情報に書き換えるステップと、
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル論理回路を使用した電子機器、データ通信システム、および情報処理方法に関する。
【背景技術】
【０００２】
［画像処理アルゴリズムのニーズ］
複写機等の画像形成装置には多数の画像処理アルゴリズムが搭載されている。シェーディング処理などの補正処理、フィルタ処理などの加工処理、および変倍などの編集処理などである。また、近年では、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）や画像検索などの画像認識処理など様々な画像処理が要求されてきている。これらの画像処理アルゴリズムは、顧客への提供サービスを実現するために日進月歩で進歩している。
【０００３】
［クラウド環境へのシフト］
処理装置や記憶装置の価格下落やネットワーク速度向上が後押しとなり、あらゆる機器がネットワークに接続されるとともに、いわゆるクラウド環境へシフトしつつある。クラウド環境では、ユーザーの求めるすべてのサービスを機器本体で実現するのではなく、クラウドサーバにアクセスしている機器経由でサービスの提供を受けるというビジネスモデルに移行しつつある。
【０００４】
近年、画像処理アルゴリズムを機器側で実現する代わりに、ネットワークを介してアップロードした画像などのデータについて、クラウド側で画像処理を行う手法が既に知られている。すなわち、クラウド側にアップロードされた画像データについて、クラウド側で随時アップデートされている最新の画像処理機能が実行され、処理後の画像データを機器側で受け取るという手法である。
【０００５】
［ＦＰＧＡの実用性］
他方、複写機にはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）が多数搭載されており、これらを制御して画像処理を行うことにより、ソフトウェアでは実現が難しい画像処理機能を実現している。しかし、ＡＳＩＣは書き換え不可能な回路であるため、一度作成すると他の画像処理機能に変更することができない。
【０００６】
これに対してＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）に代表されるＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）は、いったんハードウェア化を行った後でも、別の種類のコンフィグレーションデータ（回路情報）を外部より与えることにより再コンフィグレーション（書き換え）が可能である。このように、ＦＰＧＡは、回路を書き換え可能であるため、ハードウェアでありながらソフトウェアのように柔軟に機能を変更できるというメリットがある。また、ＦＰＧＡは回路規模的にも実用的なものとなってきている。
【０００７】
そして近年、ハードバグのフィックスなどを目的として、このようなＦＰＧＡが複写機等の画像形成装置に搭載されることも現実的となってきている。
【０００８】
上記に関し、特許文献１には、機能追加等のアップグレードや機械生産出荷後に判明したバグフィックス、あるいは開発中のデバッグ作業や、特定の機能を評価すべく、ＦＰＧＡへ書き込んだＦＰＧＡバージョン情報の管理を簡単に行うことを目的として、ネットワークを介して接続されたサーバから取得したＦＰＧＡのコンフィグレーションデータによりＦＰＧＡに書き込まれたＦＰＧＡのバージョン情報を表示部に表示する電子機器が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のように、クラウドサーバに処理すべき画像データを送信し、クラウド側で画像処理を行った後、処理後の画像データを受け取るというシステムによれば、常に最新機能による画像処理サービスを受けることができる。
【００１０】
しかし、現在のネットワーク環境においては、クラウドと接続されるネットワークにおけるデータ転送速度が十分でなく、クラウド側で処理すべき画像データの転送に時間がかかる。このため、ユーザーにストレスを与えてしまう。また、画像データのような個人情報が含まれる機密性の高いデータがネットワークを介してクラウド側との間で送受信されることから、ネットワークが何者かに傍受されてしまうなどセキュリティ上の問題がある。
【００１１】
本発明は、このような実情に鑑みてなされたものであって、ネットワークを介して接続されたサーバとのデータ送受信におけるセキュリティを確保しつつ、データ処理をスムーズに行う電子機器を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するため、本発明の電子機器は、サーバとネットワークを介して接続された電子機器であって、データ処理のための機能を特定する内部に書き込まれた回路情報を書き換え可能なデータ処理手段と、データ処理手段における回路情報を書き換える回路情報書換手段と、データ処理手段にデータ処理を実行させるためのデータ処理要求信号を入力する入力手段と、入力されたデータ処理要求信号に含まれる要求機能情報で特定される機能が、内部の回路情報で特定される機能にないとき、要求機能情報で特定される機能を特定する情報を含む回路情報をサーバから受信し、回路情報書換手段によりデータ処理手段内部の回路情報を受信した回路情報に書き換える制御を行う制御手段と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ネットワークを介して接続されたサーバとのデータ送受信におけるセキュリティを確保しつつ、データ処理をスムーズに行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態における電子機器の概略構成を表す機能ブロック図である。
【図２】本発明の実施形態における回路情報書換処理の流れを示すシーケンス図である。
【図３】本発明の実施形態における回路情報書換の処理手順を示すフローチャートである。
【図４】本発明の実施形態におけるＦＰＧＡ管理情報を表す模式図である。
【図５】本発明の実施形態におけるＦＰＧＡ書換部とＦＰＧＡとの接続を表す模式図である。
【発明を実施するための形態】
【００１５】
本発明の実施形態の電子機器に関し以下図面を用いて説明するが、本発明の趣旨を越えない限り、何ら本実施形態に限定されるものではない。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。なお、本実施形態においては、電子機器としてＦＰＧＡを挙げて説明しているが、同等の機能を備えるプログラマブル論理回路であればよい。
【００１６】
また、本実施形態の電子機器として複写機を例に説明するが、本発明の趣旨を逸脱しない限りにおおいて、他の電子機器であってもよい。例えば、パーソナルコンピュータやスマートフォンでもよい。さらに、内部に記憶装置と通信機能を備えた家電用品、例えば通信機能つき冷蔵庫であってもよい。
【００１７】
本実施形態の電子機器の概略構成について図１を参照して説明する。本実施形態の電子機器は、バス１０と、制御手段としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、回路情報記憶手段としてのコンフィグメモリ１３と、データ処理手段としてのＦＰＧＡ１４と、回路情報書換手段としてのＦＰＧＡ書換部１５と、メモリ１６と、ネットワークＩ／Ｆ１７と、入力手段としての操作部Ｉ／Ｆ１８と、スキャナＩ／Ｆ１９と、プロッタＩ／Ｆ２０と、メインメモリ２１の各機能ブロックを含み、構成されている。
【００１８】
また、本実施形態の電子機器は、ネットワークＩ／Ｆ１７、ネットワーク６０を介してサーバ１００と接続されている。なお、以下に説明する本実施形態においては、ネットワーク６０をインターネットなどのパブリックネットワークとし、サーバ１００をクラウドサーバとして説明しているが、これに限られない。例えば、ネットワーク６０をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）とし、サーバ１００をオンプレミスのサーバとしてもよい。後者の場合、安全性が高く、ネットワーク速度も速いため、インターネットを介在する場合に比べてデータ処理時間の短縮が図られる。
【００１９】
ネットワークＩ／Ｆ１７には、サーバ１００と接続するためのＴＣＰ／ＩＰなどのプロトコルが搭載される。なお、ネットワークＩ／Ｆ１７には暗号化通信機能が搭載されていてもよい。通信が暗号化されることによって、ＦＰＧＡ回路情報、制御プログラムの外部への漏洩が防止されるので、セキュリティ上の安全性が高まるというメリットがある。
【００２０】
バス１０は、上記の各機能ブロック相互間で送受信される信号の共通経路である。ＲＯＭ１２は、ＣＰＵ１１で実行される各種プログラムを記憶する記憶媒体である。なお、本実施形態では図示していないが、ＨＤＤなどの大容量記憶装置を備えていてもよい。
【００２１】
データ処理手段としてのＦＰＧＡ１４は、後述するＯＣＲ処理などのデータ処理のための機能を特定する回路情報が内部に書き込まれ、かつこの回路情報が書き換え可能なデバイスである。ＦＰＧＡ１４は、いわゆるプログラマブル論理回路であり、ＯＣＲ処理や画像認識などの高度なデータ処理を電子機器で実現するための書き換え可能な演算装置である。
【００２２】
回路情報書換手段としてのＦＰＧＡ書換部１５は、ＦＰＧＡ１４におけるＦＰＧＡ回路情報を書き換える。メモリ１６は、ＦＰＧＡ１４のワークメモリである。
【００２３】
回路情報記憶手段としてのコンフィグメモリ１３は、サーバ１００から受信する回路情報としてのＦＰＧＡ回路情報を記憶するメモリである。なお、コンフィグメモリ１３は任意の構成であってよい。一般的には、ＦＰＧＡ１４が主となりコンフィグメモリ１３からメモリリードするが、ＦＰＧＡ１４が副次的に動作してコンフィグを行ってもよい。
【００２４】
例えば、ＦＰＧＡ書換部１５が主となってメインメモリ２１に記憶されたＦＰＧＡ回路情報をＦＰＧＡ１４に供給することとしてもよい。この場合、コンフィグメモリ１３を搭載しなくてよいので、コストダウンを図ることができる。
【００２５】
入力手段としての操作部Ｉ／Ｆ１８は、ＦＰＧＡ１４にデータ処理を実行させるためのデータ処理要求信号を入力する、例えば本実施形態における電子機器の操作パネル３０とバス１０とを接続するインターフェースである。データ処理要求信号とは、例えば、ＬＣＤ表示部とタッチパネル等で構成された操作パネル３０により入力された入力信号から変換されたＣＰＵ１１等が認識できる信号をいう。
【００２６】
制御手段としてのＣＰＵ１１は、入力されたデータ処理要求信号に含まれる要求機能情報で特定される機能が、ＦＰＧＡ１４内部に書き込まれたＦＰＧＡ回路情報で特定される機能にあるかどうかを判断する。そして、ＣＰＵ１１は、要求機能情報で特定される機能を特定するＦＰＧＡ回路情報をサーバ１００から受信する制御を行う。さらに、ＣＰＵ１１は、ＦＰＧＡ書換部１５によりＦＰＧＡ１４内部に書き込まれたＦＰＧＡ回路情報を受信したＦＰＧＡ回路情報に書き換える制御を行う。
【００２７】
スキャナＩ／Ｆ１９は、スキャナ４０とバス１０を接続するインターフェースであり、スキャナ４０に読み取られた画像がスキャナＩ／Ｆ１９を介して電子機器に読み込まれる。なお、本実施形態において、例えばスキャナ４０によって読み取られた画像に対してシェーディング処理やフィルタ処理などが行われる。
【００２８】
プロッタＩ／Ｆ２０は、プロッタ５０とバス１０を接続するインターフェースであり、プロッタ５０でプリントするプロッタ画像がスキャナＩ／Ｆ１９を介して電子機器からプロッタ５０へ送信される。なお、本実施形態において、例えばプロッタ５０において書き込む画像データに対してプリンタガンマ処理や少値化処理などが行われる。
【００２９】
メインメモリ２１は、電子機器において、上述したスキャン処理やプリント処理のプログラムが記憶されるワークメモリである。
【００３０】
なお、要求機能情報とは、例えば、ユーザーによる操作パネル３０を介して入力されたデータ処理要求信号のうち、特定の機能を実行するようにユーザーから要求される情報をいう。例えば、ＯＣＲ処理の場合、ＯＣＲ処理要求信号に含まれる要求機能情報として身分証明書読取機能などをいう。
【００３１】
なお、図示はしないが、本実施形態の電子機器において、ＦＰＧＡ書換部１５によるＦＰＧＡ回路情報の書き換えが完了したかどうかを確認する書換確認手段を備えていてもよい。仮に、ＦＰＧＡ書換部１５によるＦＰＧＡ回路情報の書き換え処理を実行したつもりが、何らかの不具合により書き換えが完了していない場合を想定する。
【００３２】
このとき、ＦＰＧＡ１４のＦＰＧＡ回路情報の書き換えが完了していないことが書換確認手段により確認されたとき、ＣＰＵ１１はＦＰＧＡ書換部１５による書き換え制御を再度実行する。これにより、ＦＰＧＡ１４へのＦＰＧＡ回路情報の書き換え失敗による機器が機能不全に陥ることを回避することができる。
【００３３】
具体的に説明する。ＦＰＧＡ１４への書き込みは周囲の状況等に依って稀に失敗する場合がある。このため、ＦＰＧＡ書換部１５はコンフィグ完了通知を受けるか、充分な時間待った後で、ＦＰＧＡ１４のリセット解除後、ＦＰＧＡ１４の搭載機能が分かるレジスタをリードするなどして機能確認を行う。書き換えに失敗しているようであれば、再度ＦＰＧＡ書換処理を行う。これにより、ＦＰＧＡの書き換え失敗が起因となるＦＰＧＡ画像処理の失敗を回避することができる。
【００３４】
さらに、上記のように、ＣＰＵ１１によりＦＰＧＡ回路情報を書き換える制御が再度行われ、書換確認手段によりＦＰＧＡ回路情報の書き換えが完了していないことが確認された場合を想定する。この場合、ＣＰＵ１１は、サーバ１００から要求機能情報で特定される機能を特定する回路情報を再度受信する制御を行う。
【００３５】
具体的に説明する。例えば、ネットワーク６０からのダウンロードデータのビット化け等が発生した場合をケアするため、ＦＰＧＡ書換確認処理と再書換処理を所定の回数繰り返しても書き換えが失敗している場合は、サーバ１００から再度ダウンロードする制御を追加する。これにより、ダウンロード失敗が起因のＦＰＧＡの書き換え失敗による画像処理失敗を回避することができる。また、ＦＰＧＡの書き換え失敗やネットワーク転送ミスにより機器が機能不全に陥ることを回避することができる。
【００３６】
さらに、ＣＰＵ１１は、入力されたデータ処理要求信号に含まれる要求機能情報で特定される機能が、ＦＰＧＡ１４内部に書き込まれたＦＰＧＡ回路情報で特定される機能にないときを想定する。このとき、ＣＰＵ１１は、ＦＰＧＡ書換部１５によりＦＰＧＡ１４内部のＦＰＧＡ回路情報をコンフィグメモリ１３に記憶されたＦＰＧＡ回路情報に書き換える制御を行ってもよい。
【００３７】
コンフィグメモリ１３に所望の要求機能情報を含むＦＰＧＡ回路情報が相当数記憶されている状況であれば、あえてネットワーク６０を介してサーバ１００から所望の要求機能情報を含むＦＰＧＡ回路情報を取得する必要はない。つまり、インターネットなどのパブリックネットワークと接続される機会を減らすことができるのでセキュリティ向上に繋がる。
【００３８】
次に、本実施形態におけるＦＰＧＡ回路情報書換処理の流れについて図２を参照して説明する。
【００３９】
まず、［１］ユーザーは電子機器の操作パネル３０を操作して操作部Ｉ／Ｆ１８を介して、電子機器で行いたい画像処理を要求する。例えば、スキャナ４０で原稿をスキャンしてテキスト付きＰＤＦを作成したいときは、原稿をＡＤＦにセットして、スキャナアプリを指定してフォーマットをテキスト付きＰＤＦに設定する。このときテキスト付きＰＤＦに変換するためのＯＣＲ処理は、ＣＰＵ１１で行うと時間がかかる重い処理であるためＦＰＧＡ１４を用いることを前提とする。
【００４０】
次に、［２］操作部Ｉ／Ｆ１８を介して送られた機能要求に対して、ＣＰＵ１１は電子機器に搭載しているＦＰＧＡ１４で実現できるかどうかを確認する。まず、［３］ＦＰＧＡ機能要求により、ＦＰＧＡ１４から回路情報を判別できる情報としてのＦＰＧＡ機能情報を読み出し、［４］ＦＰＧＡ機能応答により、そのＦＰＧＡ１４で要求機能を満たせるかどうかを確認する。
【００４１】
例えば、機能要求がテキスト付きＰＤＦ生成の場合、ＦＰＧＡ１４で処理すべきＯＣＲ処理機能がＦＰＧＡ１４で実現できるかどうかを確認する。ＦＰＧＡ１４に格納された回路情報がその他の機能であれば、ＦＰＧＡ１４の回路情報を書き換えるシーケンスへ移る。
【００４２】
ＦＰＧＡを書き換える必要がある場合、ＣＰＵ１１は［５］回路情報転送要求により、ネットワークＩ／Ｆ１７を介してＦＰＧＡ回路情報をサーバ１００からダウンロードし、［６］回路情報転送により、コンフィグメモリ１３にダウンロードする。ここで、サーバ１００上には、機能、ＦＰＧＡ回路情報およびその制御プログラムが格納されているが、機能情報のみで、必要な情報を特定してダウンロード可能である。
【００４３】
ネットワークＩ／Ｆ１７は、［７］制御情報転送により、必要に応じて制御プログラムをメインメモリ２１へＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）などを用いて転送する。そして、［８］回路情報転送完了通知により、回路情報が電子機器に転送完了したことがＣＰＵ１１に通知される。なお、電子機器はサーバ１００と接続しているときに、機能とＦＰＧＡ回路情報のリストをダウンロードして操作パネル３０に表示してもよい。
【００４４】
ＦＰＧＡ回路情報のダウンロードが完了すると、次にＣＰＵ１１からの［９］ＦＰＧＡ書換指示によりＦＰＧＡ回路の書き換えを行う。書き換えにはＦＰＧＡの書換モードに対応したシーケンスが必要であるため、ＦＰＧＡ書換部１５で実行する。ＦＰＧＡ書換部１５は、［１０］リセット指示により、ＦＰＧＡ１４の動作を停止するためにＦＰＧＡ１４のリセット端子をアサートする。
【００４５】
次に、初期化開始端子を制御する。ＦＰＧＡ書換部１５からの［１１］リセット指示により、ＦＰＧＡ１４は［１２］コンフィグリードにより、コンフィグメモリ１３にアクセスを開始する。そして、［１３］コンフィグメモリ１３からのコンフィグデータ応答を受け、ダウンロードしたＦＰＧＡ回路情報にＦＰＧＡ１４の内部を書き換え、完了端子をアサートする。
【００４６】
ＦＰＧＡ書換部１５は［１４］ＦＰＧＡ１４からのコンフィグ完了通知により書き換え完了を検出すると、［１５］リセット解除により、ＦＰＧＡ１４のリセットを解除する。このシーケンスはＦＰＧＡ１４によって様々な形態があるので、ＦＰＧＡ書換部１５を柔軟に制御することができる。
【００４７】
［１６］ＦＰＧＡ書換部１５からのＦＰＧＡ書換完了の通知を受け、ＣＰＵ１１は［１７］ＦＰＧＡ制御命令フェッチをメインメモリ２１に送り、［１８］メインメモリ２１からＦＰＧＡ命令応答を受けることにより、［１９］ＦＰＧＡ制御プログラムを実行する。これにより、ユーザーが指定した画像処理を実現する。例えば、スキャナ４０で読み取った画像に対して、ＦＰＧＡ１４を用いて高速にＯＣＲ処理を施してテキストデータを抽出する、といった用途である。
【００４８】
なお、ＣＰＵ１１は、ＦＰＧＡ１４から［２０］ＦＰＧＡ動作完了通知を受け取ることで、ＦＰＧＡ１４の動作完了を認識する。
【００４９】
次に、本実施形態の回路情報書換の処理手順について図３を参照して説明する。なお、図２のシーケンス図の説明と重複する説明は省略する。
【００５０】
始めに、ＣＰＵ１１は、ユーザーから実行が指示されたデータ処理が、ＦＰＧＡ１４に搭載している機能を必要とするような高負荷処理かどうかを判定する（ステップＳ１）。例えば、一般的なプリンタアプリ等であればＦＰＧＡ１４の機能は用いずに、画像処理を施して印刷するのみである。一方、プリンタアプリ実行中に印刷画像から任意の画像を抽出するような画像認識処理を行う場合は、ＦＰＧＡ１４の機能を利用する必要がある。
【００５１】
ＣＰＵ１１により、ユーザーから実行が指示されたデータ処理が、ＦＰＧＡ１４に搭載している機能を必要とするような高負荷処理であるとき（ステップＳ１、ＹＥＳ）、ＦＰＧＡ１４により、搭載される機能で、ユーザーから指示されたデータ処理を実現できるかどうか判定する（ステップ２）。
【００５２】
具体的に、例えば画像認識処理が必要な場合、ＦＰＧＡ１４に格納されたＦＰＧＡ回路情報に含まれる機能が圧縮処理などの別機能である場合は（ステップ２、ＮＯ）、ＣＰＵ１１はＦＰＧＡ１４の書き換えが必要と判定する。
【００５３】
そして、ＣＰＵ１１はサーバ１００からＦＰＧＡ１４の機能に必要なＦＰＧＡ回路情報と制御プログラムをダウンロードする（ステップＳ３）。このとき、ＦＰＧＡ回路情報は電子機器内のコンフィグメモリ１３に書き込まれ、制御プログラムは電子機器内のメインメモリ２１に書き込まれる。
【００５４】
ＦＰＧＡ回路情報のサーバ１００からのダウンロードが終わると、ＦＰＧＡ書換部１５によりＦＰＧＡ１４におけるＦＰＧＡ回路情報の書き換えを実行する（ステップＳ４）。ＦＰＧＡ書換部１５は接続するＦＰＧＡ１４の仕様に合わせてリセット端子制御、コンフィグ開始制御、コンフィグ完了検知を行う。ＦＰＧＡ１４はＦＰＧＡ書換部１５の端子制御にしたがってコンフィグメモリ１３からＦＰＧＡ回路情報をロードして、ＦＰＧＡ回路情報を書き換える。
【００５５】
そして、ＦＰＧＡ１４の書き換えが完了すると、ＦＰＧＡ１４を利用する場合、メインメモリ２１に書き込まれた制御プログラムによりＦＰＧＡ１４を動作させて、ユーザー指定のデータ処理を実行する（ステップＳ５）。
【００５６】
一方、ＣＰＵ１１により、ユーザーから実行が指示されたデータ処理が、ＦＰＧＡ１４に搭載している機能で十分であると判断されたとき（ステップＳ１、ＮＯ）、ＦＰＧＡ１４に搭載された処理機能によるデータ処理を実行する（ステップＳ５）。
【００５７】
次に、本実施形態におけるＦＰＧＡ管理情報について図４を参照して説明する。
【００５８】
サーバ１００側に記憶されるＦＰＧＡ回路情報の管理情報として、提供する機能やサービスと、それに必要なＦＰＧＡ機能情報、ＦＰＧＡ回路情報自体およびその制御プログラム自体とが紐けられている。例えば、「テキスト付きＰＤＦスキャナ」のアプリケーションに必要なＦＰＧＡ回路情報は「ＯＣＲ処理」ということである。
【００５９】
電子機器側に記憶される管理情報は、サーバ１００から入手した、提供サービスとＦＰＧＡ機能情報である。ユーザーが提供サービスを実行するときに、必要なＦＰＧＡ１４の機能を確認することができる。ここでは、ＦＰＧＡ回路情報や制御プログラムを記憶しておく必要はない。これらは、必要に応じてダウンロードすればよいからである。
【００６０】
なお、図示していないが、ＦＰＧＡ１４の内部にはＦＰＧＡ機能情報を確認するためのレジスタが搭載されている。ＦＰＧＡ１４の回路構成であるコンフィグデータに含まれているので、このレジスタ値を読むだけでＦＰＧＡ１４に搭載されている機能が確認できる。
【００６１】
また、提供サービスがプリンタアプリケーションに関するものである場合、サービスの追加変更は電子機器だけでなくパソコンにインストールされたプリンタドライバの更新も必要である。プリンタドライバのオンライン更新を行うことで電子機器において追加更新された機能を利用することができる。
【００６２】
次に、本実施形態におけるＦＰＧＡ書換部１５とＦＰＧＡ１４との接続について図５を参照して説明する。
【００６３】
図５（Ａ）に示すように、ＦＰＧＡ書換部１５は、ＦＰＧＡ１４に対してコンフィグを行うための（ａ）コンフィグ用リセット信号および（ｂ）コンフィグ開始信号を出力し、ＦＰＧＡ１４から（ｃ）コンフィグ完了信号を入力する。
【００６４】
ＦＰＧＡ１４はコンフィグメモリ１３と接続され、コンフィグ中はＦＰＧＡ１４がコンフィグメモリ１３を制御してコンフィグデータをＦＰＧＡ１４に取り込む。
【００６５】
一方、図５（Ｂ）に示すように、コンフィグメモリ１３を使用しない場合は、ＦＰＧＡ書換部１５からＦＰＧＡ１４に対してコンフィグデータを供給する。
【００６６】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上述した本実施形態の画像形成装置を構成する各部における制御動作を、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成を用いて実行することも可能である。
【００６７】
なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【００６８】
また、本発明について、上述した電子機器とサーバ１００とがネットワーク６０を介して接続された複合構成であるデータ通信システムとして応用した実施形態に適用してもよい。
【００６９】
データ通信システムとしての実施形態として、例えば、サーバ１００はＦＰＧＡ回路情報を記憶する記憶手段を備える。また、サーバ１００は、該記憶手段に記憶されたＦＰＧＡ回路情報が更新されたことを特定する更新情報を電子機器に送信し、電子機器から要求があったとき記憶手段に記憶されたＦＰＧＡ回路情報を電子機器に送信する通信手段を備える。更新情報は、新たなＦＰＧＡ回路情報が記憶されたことを特定するものであってもよい。
【００７０】
データ通信システムにおける電子機器は、上述した本実施形態の電子機器と同様の構成である。
【００７１】
そして、サーバ１００は、記憶手段に記憶されたＦＰＧＡ回路情報が更新、又は新たなＦＰＧＡ回路情報が記憶されたとき、通信手段により更新情報を電子機器に送信する。そして、電子機器は、更新情報を受信し、ＣＰＵ１１により、受信した更新情報に基づいて該更新情報で特定される更新された回路情報、又は新たな回路情報を受信する制御を行う。
【００７２】
具体的に説明する。例えば、サーバ１００においては、その記憶装置に記憶されたＦＰＧＡ回路情報について新しいサービスや機能を簡単に追加したり、既存のものを修正することができる。例えば、サービス提供者は、サーバ１００上に新しい提供サービスとＦＰＧＡ機能情報と回路情報と制御プログラムを追加あるいは更新すると、サーバ１００から電子機器に追加・更新された通知が発信される。これにより、サービス提供者が顧客を訪問することなく電子機器の機能をアップグレードできる。
【００７３】
一方で、電子機器は、ＣＰＵ１１により、記憶手段に記憶された回路情報が更新、又は新たな回路情報が記憶されたかどうかを確認する確認信号をサーバ１００へ送信する制御を行うこととする。そして、サーバ１００により、通信手段を介して確認信号を受信すると、通信手段により更新情報を電子機器に送信してもよい。
【００７４】
具体的に説明する。例えば、新しいサービスや機能の追加の検知については、電子機器が定期的にサーバ１００へポーリングする、すなわち上記確認信号をサーバ１００へ送信することとしてもよい。電子機器は、サーバ１００から該当するサービスの各種情報をダウンロードして、操作パネル３０に表示する。これにより、事業者が顧客を訪問することなく電子機器の機能をアップグレードできる。
【符号の説明】
【００７５】
１０    バス
１１    ＣＰＵ
１２    ＲＯＭ
１３    コンフィグメモリ
１４    ＦＰＧＡ
１５    ＦＰＧＡ書換部
１６    メモリ
１７    ネットワークＩ／Ｆ
１８    操作部Ｉ／Ｆ
１９    スキャナＩ／Ｆ
２０    プロッタＩ／Ｆ
２１    メインメモリ
３０    操作パネル
４０    スキャナ
５０    プロッタ
６０    ネットワーク
１００    サーバ
【先行技術文献】
【特許文献】
【００７６】
【特許文献１】特開２００７−１９９９２号公報
【図１】
2015061164.tif 000003
【図２】
2015061164.tif 000004
【図３】
2015061164.tif 000005
【図４】
2015061164.tif 000006
【図５】
2015061164.tif 000007