(57)【要約】      （修正有）【課題】ハードウェア処理とソフトウェア処理との最適な分担を決定する情報処理装置、情報処理方法及びプログラムを提供する。【解決手段】追加機能の選択を受け付ける受付手段と、受け付けられた追加機能のハードウェア処理に関するハードウェア情報を格納する格納部の空き容量と、追加機能に係る追加機能情報と、に基づいて追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する決定手段と、を有する。【選択図】図３
2016009332.tif 000002
【特許請求の範囲】
【請求項１】
追加機能の選択を受け付ける受付手段と、
前記受け付けられた前記追加機能のハードウェア処理に関するハードウェア情報を格納する格納部の空き容量と、前記追加機能に係る追加機能情報と、に基づいて前記追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する決定手段と、
を有する情報処理装置。
【請求項２】
前記追加機能情報は、前記受け付けられた前記追加機能の処理時間であり、
前記決定手段は、前記格納部の空き容量と、前記追加機能の処理時間と、に基づいて前記追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する請求項１記載の情報処理装置。
【請求項３】
前記追加機能情報は、前記受け付けられた前記追加機能の使用頻度であり、
前記決定手段は、前記格納部の空き容量と、前記追加機能の使用頻度と、に基づいて前記追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する請求項１記載の情報処理装置。
【請求項４】
前記追加機能情報は、前記受け付けられた前記追加機能の追加日時であり、
前記決定手段は、前記格納部の空き容量と、前記追加機能の追加日時と、に基づいて前記追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する請求項１記載の情報処理装置。
【請求項５】
画面を介したユーザ操作に応じて、前記追加機能情報として、前記受け付けられた前記追加機能の処理時間と、前記受け付けられた前記追加機能の使用頻度と、前記受け付けられた前記追加機能の追加日時と、の何れかを選択する選択手段を更に有し、
前記決定手段は、前記格納部の空き容量と、前記選択手段により選択された追加機能情報と、に基づいて前記追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する請求項１記載の情報処理装置。
【請求項６】
前記決定された処理で追加機能を実行する実行手段を更に有する請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
前記受け付けられた追加機能の追加機能データを取得する取得手段を更に有し、
前記追加機能データには、前記ハードウェア情報と、前記追加機能に係るソフトウェアのプログラムと、が含まれる請求項１乃至６何れか１項記載の情報処理装置。
【請求項８】
前記受付手段により受け付けられた追加機能を追加機能一覧に追加する追加手段を更に有し、
前記決定手段は、追加機能の処理時間に基づいて、前記追加機能一覧における優先順位を決定し、決定した前記受付手段により受け付けられた追加機能の優先順位と、前記格納部の空き容量と、に基づいて、前記受付手段により受け付けられた追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する請求項２記載の情報処理装置。
【請求項９】
前記受付手段により受け付けられた追加機能を追加機能一覧に追加する追加手段を更に有し、
前記決定手段は、追加機能の使用頻度に基づいて、前記追加機能一覧における優先順位を決定し、決定した前記受付手段により受け付けられた追加機能の優先順位と、前記格納部の空き容量と、に基づいて、前記受付手段により受け付けられた追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する請求項３記載の情報処理装置。
【請求項１０】
前記受付手段により受け付けられた追加機能を追加機能一覧に追加する追加手段を更に有し、
前記決定手段は、追加機能の追加日時に基づいて、前記追加機能一覧における優先順位を決定し、決定した前記受付手段により受け付けられた追加機能の優先順位と、前記格納部の空き容量と、に基づいて、前記受付手段により受け付けられた追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する請求項４記載の情報処理装置。
【請求項１１】
前記追加機能一覧における追加機能の優先順位を変更する変更手段を更に有する請求項８乃至１０何れか１項記載の情報処理装置。
【請求項１２】
前記変更手段は、前記追加機能一覧の表示要求を受け付けると、前記追加機能一覧を表示する画面を表示部に表示し、前記画面を介した選択操作に応じて、前記追加機能一覧における追加機能の優先順位を変更する請求項１１記載の情報処理装置。
【請求項１３】
画像を形成する画像形成手段を更に有する請求項１乃至１２何れか１項記載の情報処理装置。
【請求項１４】
情報処理装置が実行する情報処理方法であって、
追加機能の選択を受け付ける受付ステップと、
前記受け付けられた前記追加機能のハードウェア処理に関するハードウェア情報を格納する格納部の空き容量と、前記追加機能に係る追加機能情報と、に基づいて前記追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する決定ステップと、
を含む情報処理方法。
【請求項１５】
コンピュータに、
追加機能の選択を受け付ける受付ステップと、
前記受け付けられた前記追加機能のハードウェア処理に関するハードウェア情報を格納する格納部の空き容量と、前記追加機能に係る追加機能情報と、に基づいて前記追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する決定ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレット等のデバイスでは、ユーザが好みに応じて自由にアプリケーションをダウンロードし、ユーザ毎でデバイスをカスタマイズ可能な構成となっている。このカスタマイズの実現方法は、ダウンロードしたアプリケーションをＣＰＵ等による演算処理装置でＳＷ処理する方法が取られている。このようなＳＷ処理によるカスタマイズに加えて、今後、ＨＷ処理によるカスタマイズ可能な構成が重要となってくる。つまり、ハードウェア機能をダイナミックに切り替える技術の一つであるＦＰＧＡ等のデバイスを利用して、ユーザが必要となった追加機能を自由にＨＷ処理させる構成が重要となってくる。なぜなら、半導体の進化によってＣＰＵ処理も高速となってきたが、ＨＷによる特定処理の処理スピードにはかなわないからである。更に、複合機のように入力された画像に対してリアルタイム処理が必要な場合では、ＨＷによる高速処理が必須となるからである。
以下、ＦＰＧＡ等による単一のハードウェアにおいて、ハードウェアの機能をダイナミックに切り替える方法について説明する。ＦＰＧＡに接続されているＲＡＭ等の記憶装置に、処理させる全てのハードウェアコンフィグレーションデータ（以後、コンフィグデータという）を保持しておき、必要なときにＦＰＧＡに展開し処理する方法がある。この機能切替時において、コンフィグデータの書き換えによる時間を短縮するために、高速アクセスできるＲＡＭに全コンフィグデータを格納し、データ処理に必要なコンフィグデータのみを書き換える手法が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−８９９６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし特許文献１の技術では、ＨＷ処理する機能が増えた場合に、ＲＡＭに展開可能な容量は決まっているので、全てのコンフィグデータを展開することができなくなる。その結果、ＲＡＭに展開されていないコンフィグデータを使用する場合は、アクセススピードが遅い外部記憶装置からコンフィグデータを読み出し、ＦＰＧＡに展開する必要があるので、ＨＷ処理で実行するにも関わらず結果を得るのに時間を要してしまう。これでは、ユーザのカスタマイズによる複数の機能追加に対応する場合に、多数の機能追加でＨＷによる処理スピードの恩恵を得ることができない。今後、スマートフォンのようにユーザが自由に機能追加しＨＷ処理による機能実現していく世界が広がった場合に、追加機能数が多くなったときにある追加機能の処理が遅くなるといった問題が発生する。
前述の多数の機能追加による問題を解決するために、ＨＷ処理とＳＷ処理とを機能によって分担させることが考えられる。しかし、機能追加は一度に行われるものではなく順次行われていくので、機能が追加されるたびに、ＨＷ処理、ＳＷ処理の最適な分担構成が変化する。つまり、ある機能は処理時間を要するのでＨＷ処理させたいが、既に他の追加機能によってコンフィグデータを展開するＲＡＭ容量が限界に達していて、ＳＷ処理となり処理時間が遅くなるという問題が発生する。要するに、ユーザ毎に異なる追加機能に対して、ＨＷ処理・ＳＷ処理の最適な分担を再構成できる技術の提案が望まれている。
【課題を解決するための手段】
【０００５】
そこで、本発明の情報処理装置は、追加機能の選択を受け付ける受付手段と、前記受け付けられた前記追加機能のハードウェア処理に関するハードウェア情報を格納する格納部の空き容量と、前記追加機能に係る追加機能情報と、に基づいて前記追加機能をハードウェアで処理するかソフトウェアで処理するかを決定する決定手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、ハードウェア処理とソフトウェア処理との最適な分担を決定することができる。
【図面の簡単な説明】
【０００７】
【図１】印刷システムのシステム構成の一例を示す図である。
【図２】プリンタのハードウェア構成の一例を示す図である。
【図３】追加機能の処理時間によって機能構成を変更する情報処理の一例を示すフローチャートである。
【図４】操作表示部に表示される画面の一例を示す図である。
【図５】追加機能リストの一例を示す図である。
【図６】アドレスマップ及び追加機能データの一例を示す図である。
【図７】ユーザ選択によって優先順位を変更する情報処理の一例を示すフローチャートである。
【図８】追加機能リストの優先順位を変更する画面の一例を示す図である。
【図９】追加機能の使用頻度によって優先順位を変更する情報処理の一例を示すフローチャートである。
【図１０】追加機能の追加日時によって機能構成を変更する情報処理の一例を示すフローチャートである。
【図１１】追加機能の実行処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
（実施形態１）
＜システムの全体構成＞
図１は、印刷システム１００のシステム構成の一例を示す図である。印刷システム１００を構成する各装置が、ネットワーク１０５を介して接続されている。各装置のネットワーク１０５への接続方法は、ワイヤードＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やワイヤレスＬＡＮ等により実現される。
クライアント端末１０１は、デスクトップＰＣやノートＰＣ等の電子機器である。クライアント端末１０１からネットワーク１０５を介して印刷データが出力され、ＰＤＬプリント等の機能が実現される。
プリントサーバ１０２は、クライアント端末１０１から送信された印刷データを受信し、格納する。更にプリントサーバ１０２は、プリンタ１０３に印刷データを送信する。
プリンタ１０３は、ネットワークに接続可能なプリンタであり、プリントサーバ１０２から送信された印刷データを受信し、紙媒体等に印刷を行う。
機能追加サーバ１０４は、プリンタ１０３に追加する機能に係るデータ等が格納されているサーバである。プリンタ１０３からネットワーク１０５を介して機能追加サーバ１０４へアクセスし、ユーザによって選択等された機能をダウンロードする。例えば、Ａｎｄｒｏｉｄ−ＯＳのアプリケーションプログラムが格納されているＧｏｏｇｌｅＰｌａｙ等の機能が、機能追加サーバ１０４が提供する機能に相当する。
図１に示される各装置は少なくともハードウェア構成として制御部（例えば、ＣＰＵ）と記憶部（例えば、ＲＯＭ）とを有し、制御部が記憶部に記憶されているプログラムに基づき処理を実行することによって各装置の機能やフローチャートの処理等が実現される。
【００１０】
＜プリンタの構成＞
図２は、プリンタ１０３のハードウェア構成の一例を示す図である。
ネットワークＩＦ部２０１は、Ｇｉｇａｂｉｔ  Ｅｔｈｅｒｎｅｔ（登録商標）等のワイヤードＬＡＮに対応したインターフェースであり、ワイヤードＬＡＮを介して外部装置とのデータのやり取りを行う。なお、ネットワークＩＦ部２０１は、ワイヤレスＬＡＮのインターフェースとして構成されていてもよい。
操作表示部２０２は、表示機能と操作機能とを兼ね揃えたタッチパネル等のデバイスであり、プリンタ１０３のユーザインターフェースとして機能する。なお、操作表示部２０２は、液晶ディスプレイとハードキーとを組み合わされて構成されていてもよい。
記憶部２０３は、ハードディスクやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置であり、印刷データ等を保存する。また、記憶部２０３は、制御部２０５の補助記憶装置としても機能する。また、記憶部２０３は、追加機能のＨＷコンフィグデータと、ＳＷ処理プログラムと、を格納する。ＳＷ処理プログラムとは、制御部２０５が処理可能な追加機能を実現するプログラムであり、コンパイル済みのオブジェクトデータである。
画像形成部２０４は、印刷データに基づく画像を紙媒体上に形成するデバイスで構成される。例えば、レーザープリンタ方式であれば、画像形成部２０４は、紙搬送装置や感光ドラム、定着器等で構成される。
【００１１】
制御部２０５は、プリンタ１０３を制御するための中央処理装置である。
追加機能処理部２０６は、追加機能をＨＷ処理（ハードウェア処理）するデバイスであり、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等で構成される。追加機能の一例としては、解像度変換処理や、圧縮伸張機能等がある。
ＨＷ構成格納部２０７は、追加機能処理部２０６がＨＷ処理するためのコンフィグデータを格納する場所である。ＨＷ構成格納部２０７は、追加機能処理部２０６と接続され、追加機能処理部２０６によりデータを読み出し可能なデバイスである。ＨＷ構成格納部２０７は、例えば、ＦｌａｓｈＲＯＭやＤＲＡＭで構成される。本実施形態では、ＨＷ構成格納部２０７は、ＦｌａｓｈＲＯＭとして以後説明していくが、ＤＲＡＭであった場合でもアクセス方法が異なるだけである。
【００１２】
＜追加機能の処理時間によって機能構成を変更する情報処理＞
図３は、追加機能の処理時間によって機能構成を変更する情報処理の一例を示すフローチャートである。
Ｓ３００において、制御部２０５は、プリンタ１０３の操作表示部２０２におけるユーザ操作に基づいて、機能追加サーバ１０４へアクセスする。制御部２０５は、ネットワークＩＦ部２０１を介して、ネットワーク１０５へアクセスし、機能追加サーバ１０４へアクセスする。制御部２０５は、アクセス方法として一般的なＴＣＰ／ＩＰプロトコルで行うことを想定しているが、別のアクセス方法でもよい。図４（Ａ）に操作表示部２０２の表示画面の一例を示す。図４（Ａ）に示すように、前記表示画面は、タッチパネル４００、押しボタン４０１を含む。タッチパネル４００は画像を表示すると共にユーザが表面を触れることで入力する入力装置を兼ねるものである。押しボタン４０１はテンキーによる数値の入力や、コピー処理の開始等の操作を指示するものである。その指示に並んで、機能追加サーバ１０４へのアクセスするボタンである機能追加ボタン４０２があり、ユーザは、機能追加ボタン４０２を押下することで機能追加サーバ１０４へアクセスすることをプリンタ１０３に指示する。本実施形態では、ネットワークを介して機能を追加する説明をしているが、例えば、ＵＳＢメモリのような記憶媒体に既に格納されてある追加機能をプリンタ１０３にインストールすることも可能である。
【００１３】
Ｓ３０１において、制御部２０５は、ユーザの表示画面を介した選択操作に応じて、追加する機能（追加機能）の選択を受け付ける。Ｓ３０１の処理は、受付処理の一例である。図４（Ｂ）にこのときの操作表示部２０２の表示画面の一例を示す。図４（Ｂ）に示すように、前記表示画面は、入力部４０３、表示部４０４を含む。入力部４０３は、機能を検索する検索条件等を入力する入力部である。表示部４０４は、検索結果を表示する表示部である。表示部４０４で表示された機能のうちの一の機能を選択し、ＯＫボタン４０５を押下することでユーザは追加機能を決定する。ここで、ユーザによってキャンセルボタン４０６が押下されると、制御部２０５は、画面を図４（Ａ）の画面に戻し、図３に示す処理を終了する。このようにして、ユーザは、所望する機能を検索し、選択することができる。
【００１４】
Ｓ３０２において、制御部２０５は、Ｓ３０１で受け付けた追加機能が既にプリンタ１０３に追加されているかどうかを判断する。制御部２０５は、Ｓ３０１で受け付けた追加機能が記憶部２０３に保持している追加機能リストに記載されているか否かに基づき、既にプリンタ１０３に追加されているかどうかを判断する。制御部２０５は、受け付けた追加機能が追加機能リストに既に存在するならば、Ｓ３０３へ進み、まだ存在しないならばＳ３０４へ進む。追加機能リストは、追加機能一覧の一例である。
図５に追加機能リストの一例を示す。追加機能リストは、プリンタ１０３に既に追加されている追加機能を管理するためのリストである。制御部２０５は、ユーザによって選択され、受け付けた追加機能の機能名と追加機能リストの機能名とを照合することで、既に追加されてある機能か否かを判断する。追加機能リストには、追加機能が現状ＨＷ処理なのかＳＷ処理（ソフトウェア処理）なのかを示す処理手段、ＨＷコンフィグデータの容量、機能が追加されてからの使用頻度、機能が追加された追加日時等の情報が含まれる。更に、追加機能リストには、その機能の処理に必要なＨＷパフォーマンスとＳＷパフォーマンスとが含まれる。このパフォーマンスは、時間当たりに処理可能なデータ量を表しており、全て同じ環境によって測定された値である。また、ＨＷ処理となった機能には、ＨＷ構成格納部２０７に格納されるＨＷコンフィグデータのスタートアドレスとしてのＲＯＭアドレスが含まれる。
【００１５】
図６（ａ）に、図５の追加機能リストの優先順位を用いた場合のＨＷ構成格納部２０７のアドレスマップ６００の一例を示す。０ｘ０００＿００００番地から優先順位が１番の高圧縮処理のＨＷコンフィグデータが格納される。次に、優先順位が２番目のエッジ強調機能が０ｘ０８０＿００００から格納される。このアドレス情報は、実際にデータ処理が実行される際に使用される。制御部２０５は、データ処理の実行前に追加機能リストのアドレス情報を基にＨＷ構成格納部２０７からＨＷコンフィグデータを読み出し、追加機能処理部２０６に展開する。このようなＨＷコンフィグデータの書き換えはＦＰＧＡ技術で実現可能であり、本実施形態の処理に直接関係しないので詳細な説明は省略する。
また、図６（ｂ）は、記憶部２０３に格納される、機能を実行する処理実行プログラムであるＳＷ処理プログラムとＨＷコンフィグデータとを示している。図６（ｂ）のように、各追加機能のＳＷ処理プログラムとＨＷコンフィグデータとの両方が格納されており、例えば、６０１は高圧縮処理するためのＳＷ処理プログラムであり、６０２は高圧縮処理するためのＨＷコンフィグデータである。ＳＷ処理する場合、制御部２０５は、記憶部２０３に格納されているＳＷ処理プログラムを読み出し、実行する。
【００１６】
Ｓ３０３において、制御部２０５は、ユーザによって選択された追加機能は既に追加されている旨の表示を操作表示部２０２に表示する。図４（Ｃ）にこのときの操作表示部２０２の表示画面の一例を示す。図４（Ｃ）に示すように、タッチパネル４００にポップアップ表示画面４０７が表示される。ポップアップ表示画面４０７のＯＫが押下されると、制御部２０５は、再びＳ３０１に戻り、機能選択画面を表示する。
Ｓ３０４において、制御部２０５は、ユーザによって選択された追加機能を実行する処理実行データである追加機能データの送信を機能追加サーバ１０４に要求し、追加機能データを受信する。機能追加サーバ１０４から送信される追加機能データは、機能を実行する処理実行プログラムであり、ＳＷ処理プログラムとＨＷコンフィグデータとの両方である。これにより、制御部２０５は、追加機能の実行を、制御部２０５によるＳＷ処理か、追加機能処理部２０６によるＨＷ処理かを選択することが可能となる。また、送信される追加機能データには、ＨＷコンフィグデータの他に、ＨＷコンフィグデータの容量やＨＷ処理の実行処理時間も含まれ、これらの情報は制御部２０５によって追加機能リストに登録される。Ｓ３０４の処理は、追加機能データを取得する取得処理の一例である。
【００１７】
Ｓ３０５において、制御部２０５は、追加機能データを記憶部２０３に格納する。全ての追加機能の追加機能データは、記憶部２０３に格納されている。
Ｓ３０６において、制御部２０５は、追加機能データのＨＷコンフィグデータをＨＷ構成格納部２０７に展開可能かどうかを判断する。つまり、制御部２０５は、ＨＷ構成格納部２０７の空き容量が追加機能データのＨＷコンフィグデータ容量以上か否かを判断する。制御部２０５は、ＨＷ構成格納部２０７の空き容量が追加機能データのＨＷコンフィグデータ容量以上の場合、Ｓ３０７に進み、ＨＷ構成格納部２０７の空き容量が追加機能データのＨＷコンフィグデータ容量未満の場合は、Ｓ３０８へ進む。ＨＷコンフィグデータは、ハードウェア情報の一例である。
Ｓ３０７において、制御部２０５は、ＨＷ構成格納部２０７にＨＷコンフィグデータを展開し、ＨＷによって追加機能の処理を実行するようにする。そして、制御部２０５は、Ｓ３１５へ進む。
Ｓ３０８において、制御部２０５は、追加機能リストに追加されている追加機能の処理時間と新たに追加された追加機能の処理時間とを比較する。
Ｓ３０９において、制御部２０５は、処理時間を要する順番に優先順位を決定する。図５の追加機能リストを例にすると、優先順位が高い順番に、高圧縮処理（１０ＭＢ／ｓ）、エッジ強調（５０ＭＢ／ｓ）、解像度変換（１００ＭＢ／ｓ）となる。ここで、ＨＷパフォーマンスが同じ値だった場合、制御部２０５は、ＳＷパフォーマンスが低い程、優先順位が高くなるよう優先順位を決定する。これは、ＨＷ処理としたときのほうが、時間的な効率がよくなるように設定するものである。このように、制御部２０５は、ＨＷパフォーマンスとＳＷパフォーマンスとの結果から優先順位を決定していく。
【００１８】
Ｓ３１０において、制御部２０５は、追加機能リストにおいて、ＨＷ処理かＳＷ処理かの割り当てがされていない追加機能が存在するかの判断を行う。制御部２０５は、割り当てがされていない追加機能が存在しない場合、Ｓ３１５に進み、割り当てがされていない追加機能が存在する場合、Ｓ３１１に進む。
Ｓ３１１において、制御部２０５は、未割り当ての追加機能のうちで優先順位が一番高い追加機能を決定し、Ｓ３１２へ進む。
Ｓ３１２において、制御部２０５は、Ｓ３１１で決定した追加機能の必要ＲＯＭ容量と現在のＲＯＭ空き容量とを比較する。制御部２０５は、追加機能データのＨＷコンフィグデータ容量がＨＷ構成格納部２０７の空き容量よりも小さい場合は、Ｓ３１４へ進み、逆に、追加機能データのＨＷコンフィグデータ容量がＨＷ構成格納部２０７の空き容量よりも大きい場合は、Ｓ３１３へ進む。
Ｓ３１３において、制御部２０５は、該当する追加機能をＳＷ処理として割り当て、Ｓ３１０へ進む。
Ｓ３１４において、制御部２０５は、ＨＷ構成格納部２０７にＨＷコンフィグデータを展開し、ＨＷによって追加機能の処理を実行するようにする。
Ｓ３１５において、制御部２０５は、追加機能リストを更新する。より具体的に説明すると、制御部２０５は、優先順位、処理手段、ＲＯＭアドレス、追加日時を更新する。
【００１９】
以上、フローチャートでは、機能追加サーバ１０４にアクセスし、追加機能の選択を受け付け、全ての追加機能の処理時間に応じて実際にＨＷ処理、ＳＷ処理の割り当てを行う処理を説明した。これにより、まず、追加機能の実行方法をＳＷ処理とＨＷ処理との両方から選択することが可能となる。更に、追加機能の処理時間によって優先順位を変更し、優先的にＨＷ処理に割り当てることが可能となるので、処理時間を要する処理を実行処理が早いＨＷ処理に割り当てることが可能となる。
【００２０】
＜ユーザ選択によって優先順位を変更する情報処理＞
図７は、ユーザ選択によって優先順位を変更する情報処理の一例を示すフローチャートである。
Ｓ７００において、制御部２０５は、例えば、操作表示部２０２の画面等を介して、ユーザから追加機能リストの表示要求を受け付ける。
Ｓ７０１において、制御部２０５は、ユーザによって追加機能リストの優先順位が変更されたかどうかを判断する。図８に操作表示部２０２の表示画面の一例を示す。図８のように追加機能リスト８００には、追加した機能名と優先順位と現在の処理手段とが表示されている。ユーザは、追加機能リスト８００の優先順位項目のプルダウンボタン８０３を選択することで優先順位の変更を指示する。このとき変更されないでＯＫボタン８０１が押下された場合及びキャンセルボタン８０２が押下された場合、制御部２０５は、図７に示す処理を終了する。また、追加機能リスト８００の優先順位が変更されてＯＫボタン８０１が押下された場合、制御部２０５は、Ｓ７０２へ進む。
Ｓ７０２において、制御部２０５は、変更後の全ての追加機能の優先順位を確認し、Ｓ７０３へ進む。
Ｓ７０３からＳ７０８までの処理は、図３のＳ３１０〜Ｓ３１５までの処理と同様なので説明は省略する。
【００２１】
以上、本フローチャートでは、ユーザが追加機能リスト８００の変更を指示し、処理方法の再割り当てを実施する方法について説明した。これにより、ユーザによる追加機能の優先順位の設定が可能となり、ユーザの意図によって、ある機能の担当処理方法をＨＷ処理なのかＳＷ処理なのかを決定することが可能となる。
【００２２】
＜使用頻度によって優先順位を変更する情報処理＞
図９は、追加機能の使用頻度によって優先順位を変更する情報処理の一例を示すフローチャートである。
Ｓ９００において、制御部２０５は、ある決められた期間で追加機能リストの追加機能の使用頻度を確認する。例えば、制御部２０５は、１カ月間や１週間単位で追加機能の使用頻度を確認する。この使用頻度の確認するタイミングに関しては、本実施形態では期間をその確認タイミングとしているが、例えば追加機能の何れかが使用されたとき等であってもよい。
Ｓ９０１において、制御部２０５は、追加機能リストの追加機能の使用頻度によって優先順位を決定する。例えば、制御部２０５は、使用頻度が最も高い追加機能を最も優先順位が高くなるように決定する。
Ｓ９０２において、制御部２０５は、Ｓ９０１の処理によって追加機能リストの優先順位が変更されたかどうかを判断する。制御部２０５は、変更があった場合はＳ９０３へ進み、変更が無かった場合は図９に示す処理を終了する。
Ｓ９０３において、制御部２０５は、変更後の全ての追加機能の優先順位を確認し、Ｓ９０４へ進む。
Ｓ９０４からＳ９０９までの処理は、図３のＳ３１０からＳ３１５までの処理と同様なので説明を省略する。
【００２３】
以上、本フローチャートでは、追加機能の使用頻度によって処理方法の再割り当てを実施する方法について説明した。これにより、ユーザの使用状況によって最も使用される機能が処理速度の速いＨＷ処理に割り当てられるので、ユーザが意識することなく最適な処理方法の割り当てを実施することが可能となる。
【００２４】
＜追加機能の追加日時によって機能構成を変更する情報処理＞
図１０は、追加機能の追加日時によって機能構成を変更する情報処理の一例を示すフローチャートである。
Ｓ１０００からＳ１００５までの処理は、図３のＳ３００からＳ３０５までの処理と同様なので、説明は省略する。
Ｓ１００６において、制御部２０５は、新しく追加された機能について、追加機能リストの優先順位を最も優先順位が高くなるよう（例えば、１番）に設定する。
Ｓ１００７〜Ｓ１０１２までの処理は、図３のＳ３１０〜Ｓ３１５までの処理と同様なので説明は省略する。
【００２５】
以上、本フローチャートでは、追加機能の追加日時によって処理方法の再割り当てを実施する方法について説明した。これにより、追加された日時が新しいものほど処理速度の速いＨＷ処理に割り当てられるので、ユーザが意識することなく最適な処理方法の割り当てを実施することが可能となる。
また、制御部２０５は、図３の追加機能の処理時間、図９の追加機能の使用頻度、図１０の追加日時の構成決定方法の３つの切り替えは、ユーザによる操作表示部２０２の操作に応じて切り替えるようにしてもよい。このような構成にすることによって、どの構成決定方法にするかは、ユーザが操作表示部２０２を操作することで選択することが可能となる。処理時間や、使用頻度、追加日時等は、追加機能情報の一例である。
【００２６】
＜追加機能の実行処理＞
図１１は、追加機能の実行処理の一例を示すフローチャートである。図１１では、追加機能リストによって設定されたＨＷ処理かＳＷ処理かの処理手段に従った機能の実行の処理を説明している。
Ｓ１１００において、制御部２０５は、何れかの追加機能の実行の指示を受け付けたかどうかを判断する。制御部２０５は、何れかの追加機能の実行指示を受け付けた場合は、Ｓ１１０１へ進む。
Ｓ１１０１において、制御部２０５は、追加機能リストから実行する追加機能の処理手段を確認する。
Ｓ１１０２において、制御部２０５は、Ｓ１１０１の確認の結果、実行する追加機能の処理手段がＨＷかＳＷかの判断を行う。制御部２０５は、ＨＷである場合は、Ｓ１１０３へ進み、ＳＷである場合は、Ｓ１１０４へ進む。
【００２７】
Ｓ１１０３において、制御部２０５は、ＨＷ処理としての必要な設定を行う。例えば、制御部２０５は、記憶部２０３から追加機能処理部２０６へ処理対象データを転送するための転送設定を行う。つまり、ＨＷ処理を実施する場合は、追加機能処理部２０６へ処理対象データを転送する必要がある。より具体的には、制御部２０５は、記憶部２０３から追加機能処理部２０６へデータを転送するためのアドレス設定や記憶部２０３と追加機能処理部２０６とに搭載されるＩＦモジュールの設定等を行う。また、制御部２０５は、追加機能の詳細設定をＨＷ処理で有効にするためのレジスタ設定等を行う。例えば、追加機能が解像度変換であるならば、制御部２０５は、対象解像度の設定や各種変換テーブルを設定する各種パラメータを決定するレジスタを設定する。このような各種設定は追加機能により異なるので詳細な説明は省略する。
Ｓ１１０４において、制御部２０５は、ＳＷ処理として必要な設定を行う。設定する内容はＳ１１０３の内容と同等で、そのＳＷ設定版である。
Ｓ１１０５において、制御部２０５は、追加機能の処理実行を開始させる。例えば、追加機能処理部２０６内のレジスタに制御部２０５がアクセスすることで処理実行が開始される。
Ｓ１１０６において、制御部２０５は、全てのデータ処理が終了する際に発生する割込みを待ち、割込みが発生したら、図１１に示す処理を終了する。
Ｓ１１０７において、制御部２０５は、ＳＷによる処理を実行する。その後、制御部２０５は、図１１に示す処理を終了する。
【００２８】
以上、本フローチャートでは、追加機能の実行処理について説明した。これにより、ＨＷ処理／ＳＷ処理の何れであっても追加機能を実行することが可能となる。
【００２９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３０】
以上、上述した各実施形態によれば、複数の追加された機能のＳＷ処理とするかＨＷ処理とするかの決定を各追加機能の処理時間とコンフィグデータ展開する格納部の容量とによって決定する。これにより処理時間が要する機能をＨＷ処理とできるので、最適な分担を構成することができる。また、ユーザによって、複数の追加された機能のＳＷ処理とするかＨＷ処理とするかの決定をすることができるので、ユーザ意図を反映させることができる。更に、複数の追加された機能の機器での使用頻度によってＳＷ処理とするかＨＷ処理とするかの決定することで、ユーザの使用状況によって得られる時間効果を最大限にすることができる。
【符号の説明】
【００３１】
１００  印刷システム、１０３  プリンタ、２０５  制御部
【図１】
2016009332.tif 000003
【図２】
2016009332.tif 000004
【図３】
2016009332.tif 000005
【図４】
2016009332.tif 000006
【図５】
2016009332.tif 000007
【図６】
2016009332.tif 000008
【図７】
2016009332.tif 000009
【図８】
2016009332.tif 000010
【図９】
2016009332.tif 000011
【図１０】
2016009332.tif 000012
【図１１】
2016009332.tif 000013