JP5569269B2 - 端末装置、情報処理システム、依頼先選択方法、及びプログラム - Google Patents

端末装置、情報処理システム、依頼先選択方法、及びプログラム Download PDF

Info

Publication number
JP5569269B2
JP5569269B2 JP2010198982A JP2010198982A JP5569269B2 JP 5569269 B2 JP5569269 B2 JP 5569269B2 JP 2010198982 A JP2010198982 A JP 2010198982A JP 2010198982 A JP2010198982 A JP 2010198982A JP 5569269 B2 JP5569269 B2 JP 5569269B2
Authority
JP
Japan
Prior art keywords
unit
processing
terminal device
external device
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010198982A
Other languages
English (en)
Other versions
JP2012058837A (ja
Inventor
厚 岡森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2010198982A priority Critical patent/JP5569269B2/ja
Priority to EP11179066A priority patent/EP2426604A1/en
Priority to CN2011102601771A priority patent/CN102387190A/zh
Priority to US13/221,243 priority patent/US8775497B2/en
Publication of JP2012058837A publication Critical patent/JP2012058837A/ja
Priority to US14/276,440 priority patent/US9594552B2/en
Application granted granted Critical
Publication of JP5569269B2 publication Critical patent/JP5569269B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、端末装置、情報処理システム、依頼先選択方法、及びプログラムに関する。
近年、クラウドコンピューティングという言葉をよく耳にするようになった。クラウドコンピューティングとは、ネットワークを介して接続されたサーバ装置又はサーバ装置群により提供されるサービス(以下、クラウドサービス)を利用してユーザが所望の処理を実現する形態のことを言う。最近では様々なアプリケーションをクラウドサービスとして利用できるようになった。例えば、電子メール、文書編集アプリケーション、表計算アプリケーション、画像管理アプリケーション、画像編集アプリケーション、翻訳アプリケーションなど、様々なアプリケーションがクラウドサービスとして利用できるようになっている。
クラウドサービスを利用すると、ユーザは、自身が保有する端末装置にアプリケーションをインストールせずに済むようになる。また、クラウドサービスを利用してアプリケーションを実行する場合、アプリケーションの実行に関する処理は、主にクラウドサービスを提供するサーバ装置により実行される。そのため、クラウドサービスを利用すれば、端末装置の処理能力が低かったり、メモリの空き領域が足りずにアプリケーションをインストールすることができなかったりしても、ユーザは、所望のアプリケーションを利用することができるようになる。
クラウドコンピューティングシステムのようなクライアント・サーバ型のシステムは様々な場面で広く利用されている。このようなシステムにおいては、ネットワーク上のアドレス解決、コネクションの確立、データの送受信などを担う通信仲介手段の存在が欠かせない。例えば、下記の特許文献1には、ORB(Object Request Broker)と呼ばれる通信仲介手段の構成が記載されている。このORBは、主に分散コンピューティングの分野で利用されるものであり、ネットワークを介してコンピュータ間におけるプログラムの呼び出しを実現するためのミドルウェアである。JAVA(登録商標)に含まれるRMI(Remote Method Invocation)は、ORBの一例である。
また、複数のサーバ装置がシステムに存在するクライアント・サーバ型のシステムにおいては、利用すべきサーバ装置を適切に選択することも重要になる。下記の特許文献2には、各サーバ装置の処理能力、処理負荷、ネットワークトラフィックの状況などに応じて処理を実行させるサーバ装置を切り替える方法が開示されている。また、クライアント・サーバ型のシステムに関し、下記の特許文献3には、クライアント側とサーバ側とでコンポーネントの呼び出しインターフェースが異なっていても、呼び出し元のインターフェースを改変せずに利用できるようにする方法が開示されている。
特開2003−76563号公報 特開2000−47890号公報 特許第4042527号公報
クラウドコンピューティングシステムや分散コンピューティングシステムなど、クライアント・サーバ型のシステムに対する需要は高まってきている。また、上記のように、クライアント・サーバ型のシステムの利便性や効率性を高めるために様々な研究開発が進められている。しかしながら、クライアント側の端末装置が持つ処理能力を生かすようなシステム構成や、クライアント側の端末装置がおかれている環境に応じて動的に処理を分散するシステム構成については未だ十分に研究開発が進められているとは言えない。例えば、端末装置がおかれている状況に応じて、その時点で実行すべき処理を端末装置に実行させるか、サーバ装置に実行させるかを適切に選択する方法については知られていない。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、端末装置がおかれている状況に応じて処理主体をより適切に選択することが可能な、新規かつ改良された端末装置、情報処理システム、依頼先選択方法、及びプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、所定の処理を実行する処理部と、前記所定の処理を実行可能な外部装置と通信網を介して接続するための接続部と、所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記処理部又は前記接続部により接続された外部装置を選択する選択部と、を備える、端末装置が提供される。
また、上記の端末装置は、前記所定の処理を施すべきデータを出力するデータ出力部をさらに備えていてもよい。この場合、前記選択部により前記外部装置から前記処理部へと依頼先が変更された際、前記接続部は、前記データ出力部によるデータの出力を停止させ、前記処理部により前記所定の処理を続けて実行させるために必要なデータを前記外部装置から取得する。
また、上記の端末装置は、前記処理部の負荷状態を検知する負荷状態検知部をさらに備えていてもよい。この場合、前記選択部は、前記負荷状態検知部により検知された前記処理部の負荷状態が高い場合に前記接続部により接続された外部装置を選択し、前記負荷状態検知部により検知された前記処理部の負荷状態が低い場合に前記処理部を選択する。
また、上記の端末装置は、前記接続部による接続状態を検知する接続状態検知部をさらに備えていてもよい。この場合、前記選択部は、前記接続状態検知部により検知された接続状態に応じて前記処理部又は前記接続部により接続された外部装置を選択する。
また、前記接続状態検知部は、前記外部装置との間で高速な通信が可能か否かを検知し、前記選択部は、前記接続状態検知部により前記外部装置との間で高速な通信が可能であることが検知された場合に前記接続部により接続された外部装置を選択する、ように構成されていてもよい。
また、前記接続状態検知部は、前記外部装置との通信に利用可能な帯域幅を検知し、前記選択部は、前記接続状態検知部により検知された帯域幅が所定の閾値を上回っている場合に前記接続部により接続された外部装置を選択する、ように構成されていてもよい。
また、上記の端末装置は、少なくとも前記処理部の動作に利用される電力が蓄えられる蓄電部と、前記蓄電部に蓄えられている電力の量を検知する残量検知部と、をさらに備えていてもよい。この場合、前記選択部は、前記残量検知部により検知された電力の量が所定値を下回っている場合に前記接続部により接続された外部装置を選択する。
また、上記の端末装置は、前記選択部により前記外部装置から前記処理部へと依頼先が変更された際、前記外部装置から前記処理部へと処理主体を変更可能なタイミングを当該外部装置に問い合わせ、当該タイミングを示す情報を前記外部装置から取得するタイミング取得部をさらに備えていてもよい。この場合、前記接続部は、前記タイミング取得部により取得された情報が示すタイミングで前記データ出力部にデータの出力を再開させ、前記処理部に前記所定の処理を実行させる。
また、上記の端末装置は、前記外部装置が前記所定の処理を実行する際に利用するアルゴリズム(あるいは、プログラム、ソフトウェアとも言う。以下同様)のバージョン情報を取得するバージョン情報取得部と、前記バージョン情報取得部により取得されたバージョン情報が示すバージョンと、前記処理部が前記所定の処理を実行する際に利用するアルゴリズムのバージョンとを比較するバージョン比較部と、をさらに備えていてもよい。この場合、前記選択部は、前記バージョン比較部による比較結果に基づき、前記バージョン情報取得部により取得されたバージョン情報が示すバージョンの方が新しいことが判明した場合には前記外部装置を選択する。
また、上記課題を解決するために、本発明の別の観点によれば、所定の処理を実行する第1の処理部を有する外部装置と;前記所定の処理を実行する第2の処理部と、前記外部装置と通信網を介して接続するための接続部と、所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記第2の処理部又は前記接続部により接続された外部装置を選択する選択部と、を有する、端末装置と;を含む、情報処理システムが提供される。
また、上記課題を解決するために、本発明の別の観点によれば、所定の処理を実行する処理部と、前記所定の処理を実行可能な外部装置と通信網を介して接続するための接続部と、を有する端末装置が、所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記処理部又は前記接続部により接続された外部装置を選択する選択ステップを含む、依頼先選択方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、所定の処理を実行する処理機能と、前記所定の処理を実行可能な外部装置と通信網を介して接続するための接続機能と、所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記処理機能又は前記接続機能により接続された外部装置を選択する選択機能と、をコンピュータに実現させるためのプログラムが提供される。
また、上記課題を解決するために、本発明の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
以上説明したように本発明によれば、端末装置がおかれている状況に応じて処理主体をより適切に選択することが可能になる。
本発明の第1実施形態に係る情報処理システムの構成について説明するための説明図である。 同実施形態に係る端末装置の機能構成について説明するための説明図である。 同実施形態に係るサーバ装置の機能構成について説明するための説明図である。 同実施形態に係る端末装置の動作について説明するための説明図である。 同実施形態に係る判定方法の一例について説明するための説明図である。 同実施形態に係る判定方法の一例について説明するための説明図である。 同実施形態に係る判定方法の一例について説明するための説明図である。 同実施形態に係る判定方法の一例について説明するための説明図である。 本発明の第2実施形態に係る端末装置の機能構成について説明するための説明図である。 同実施形態に係るサーバ装置の機能構成について説明するための説明図である。 同実施形態に係る端末装置の動作について説明するための説明図である。 同実施形態に係る判定方法の一例について説明するための説明図である。 本発明の第3実施形態に係る端末装置の機能構成について説明するための説明図である。 同実施形態に係るサーバ装置の機能構成について説明するための説明図である。 同実施形態に係る動画生成部の詳細な機能構成について説明するための説明図である。 同実施形態に係る端末装置の動作について説明するための説明図である。 同実施形態に係る動画生成方法の一例について説明するための説明図である。 本発明の第4実施形態に係る端末装置の機能構成について説明するための説明図である。 同実施形態に係るサーバ装置の機能構成について説明するための説明図である。 同実施形態に係る端末装置の動作について説明するための説明図である。 本発明の各実施形態に係る端末装置及びサーバ装置の機能を実現することが可能なハードウェア構成について説明するための説明図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1を参照しながら、本発明の第1実施形態に係る情報処理システム10の構成について説明する。次いで、図2を参照しながら、同実施形態に係る端末装置100の機能構成について説明する。次いで、図3を参照しながら、同実施形態に係るサーバ装置200の機能構成について説明する。次いで、図4、図5を参照しながら、同実施形態に係る端末装置100の動作について説明する。また、図6〜図8を参照しながら、同実施形態に係る判定方法について説明する。
次いで、図9を参照しながら、本発明の第2実施形態に係る端末装置100の機能構成について説明する。次いで、図10を参照しながら、同実施形態に係るサーバ装置200の機能構成について説明する。次いで、図11、図12を参照しながら、同実施形態に係る端末装置100の動作について説明する。
次いで、図13を参照しながら、本発明の第3実施形態に係る端末装置100の機能構成について説明する。次いで、図14を参照しながら、同実施形態に係るサーバ装置200の機能構成について説明する。次いで、図15を参照しながら、同実施形態に係る動画生成部155、202の詳細な機能構成について説明する。次いで、図16、図17を参照しながら、同実施形態に係る端末装置100の動作について説明する。
次いで、図18を参照しながら、本発明の第4実施形態に係る端末装置100の機能構成について説明する。次いで、図19を参照しながら、同実施形態に係るサーバ装置200の機能構成について説明する。次いで、図20を参照しながら、同実施形態に係る端末装置100の動作について説明する。
次いで、本発明の各実施形態に係る端末装置100及びサーバ装置200の機能を実現することが可能なハードウェア構成について説明する。最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
(説明項目)
1:第1実施形態
1−1:情報処理システム10の機能構成
1−2:端末装置100の構成
1−3:サーバ装置200の機能構成
1−4:端末装置100の動作
1−4−1:全体的な処理の流れ
1−4−2:判定方法について
2:第2実施形態
2−1:端末装置100の機能構成
2−2:サーバ装置200の機能構成
2−3:端末装置100の動作
2−3−1:全体的な処理の流れ
2−3−2:判定方法について
3:第3実施形態
3−1:端末装置100の機能構成
3−2:サーバ装置200の機能構成
3−3:端末装置100の動作
3−3−1:全体的な処理の流れ
3−3−2:動画生成方法について
4:第4実施形態
4−1:端末装置100の機能構成
4−2:サーバ装置200の機能構成
4−3:端末装置100の動作
5:ハードウェア構成
6:まとめ
<1:第1実施形態>
本発明の第1実施形態について説明する。
[1−1:情報処理システム10の構成]
まず、図1を参照しながら、本実施形態に係る情報処理システム10の構成について説明する。図1は、本実施形態に係る情報処理システム10の構成について説明するための説明図である。
図1に示すように、情報処理システム10は、主に、端末装置100と、サーバ装置200とにより構成される。また、端末装置100とサーバ装置200とは、ネットワーク50を介して接続されている。なお、図1の例では複数のサーバ装置200が記載されているが、サーバ装置200が1台のシステム構成であってもよい。また、ネットワーク50に複数台の端末装置100が接続されたシステム構成であってもよい。
端末装置100は、ネットワーク50を介してサーバ装置200と通信することができる。また、端末装置100は、ある情報に対する処理をサーバ装置200に依頼し、その処理をサーバ装置200に代行させることができる。例えば、端末装置100は、画像データをサーバ装置200に送信し、その画像データのエンコードをサーバ装置200に依頼する。この依頼を受けたサーバ装置200は、受信した画像データをエンコードし、エンコードされた画像データを端末装置100に送信する。多くの場合、画像データのエンコードは、端末装置100にとって非常に負担の大きい処理である。しかし、サーバ装置200に処理を代行させることで、その処理結果を端末装置100で利用可能になる。
但し、常にネットワーク50が効率的に利用できるとは限らない。例えば、ネットワーク50が無線通信を利用したものである場合、環境の変化に応じて通信速度が大きく低減してしまったり、通信不可の状態になってしまったりする。また、ネットワーク50が有線回線により構築されていても、ネットワークトラフィックが増大することにより、利用可能な帯域が制限されたり、通信エラーが多発して通信速度が低下したりする。このように、通信環境が不安定な場合、サーバ装置200に処理を代行させると、通信時間がボトルネックになって処理時間が増大してしまうことがある。このような場合、処理能力の低い端末装置100で処理を実行させた方が高速に処理できることがある。
また、端末装置100は、バッテリに蓄えた電力を利用して駆動していることがある。この場合、処理を端末装置100で実行するよりも、サーバ装置200に処理を代行させる方が端末装置100で消費される電力を低く抑えることができる。つまり、サーバ装置200に処理を代行させることにより、バッテリによる端末装置100の駆動時間を延ばすことが可能になる。また、端末装置100の処理負荷が高い場合、一部の処理をサーバ装置200に代行させることにより効率的に処理を遂行することが可能になる。例えば、負荷の低い処理を端末装置100で処理し、負荷の高い処理をサーバ装置200に代行させることで、より効率的に処理を遂行することが可能になる。
また、ある処理を実行する際に利用されるアルゴリズムのバージョンが端末装置100とサーバ装置200とで異なる場合がある。最新のアルゴリズムをサーバに随時保存する構成の場合、サーバ装置200で利用されているアルゴリズムの方が、端末装置100で利用されているアルゴリズムよりも新しい。このような場合、処理をサーバ装置200に代行させることで、新しいアルゴリズムに基づく処理結果が得られる。例えば、画像から顔を自動検出する顔認識アルゴリズムなどは、バージョン毎に検出精度が大きく異なることがある。つまり、新しい顔認識アルゴリズムを利用することにより、より高い精度で顔を検出することが可能になる。
このように、サーバ装置200に処理を代行させることにより様々なメリット、デメリットが生じる。そのため、よりメリットが得られる場合にはサーバ装置200に処理を代行させ、デメリットが生じる場合やメリットの薄い場合には端末装置100が処理を実行するように制御する方法が求められる。なお、一般的な分散コンピューティングシステムにおいて、ロードバランスを保ちながら複数のサーバに処理を分担させる管理方法が知られている。しかし、この管理方法は、通信環境が時々刻々と変化したり、端末装置100の電源状態が変化したり、端末装置100とサーバ装置200とでアルゴリズムが異なったりする情報処理システム10の管理には適さない。
そこで、本件発明者は、サーバ装置200に処理を代行させることが可能な端末装置100により、状況に応じて適切に処理主体を選択する方法を考案した。以下では、本実施形態に係る端末装置100、サーバ装置200の機能構成、及び本実施形態に係る処理主体の選択方法について順次説明する。
[1−2:端末装置100の機能構成]
まず、図2を参照しながら、本実施形態に係る端末装置100の機能構成について説明する。図2は、本実施形態に係る端末装置100の機能構成について説明するための説明図である。
図2に示すように、端末装置100は、主に、情報入力部101と、依頼先切替部102と、判定部103と、通信部104と、情報処理部105と、記憶部106と、負荷検知部107と、蓄電量検知部108と、蓄電部109とにより構成される。
情報入力部101は、処理すべき情報を入力するための手段である。情報入力部101に入力された情報は、依頼先切替部102に入力される。依頼先切替部102は、入力された情報の処理を情報処理部105に依頼するか、サーバ装置200に依頼するかを切り替える手段である。但し、依頼先切替部102は、判定部103による判定結果に応じて処理の依頼先を切り替える。判定部103は、通信環境、処理負荷、蓄電量、及び、処理に用いるアルゴリズムのバージョンに応じて処理の依頼先を判定する手段である。
判定部103には、通信部104から通信環境が通知される。また、判定部103には、負荷検知部107から情報処理部105の負荷状況を示す情報が入力される。さらに、判定部103には、蓄電量検知部108から蓄電部109の蓄電量を示す情報が入力される。そして、判定部103には、情報処理部105において処理に用いているアルゴリズムのバージョンを示す情報が入力される。これらの情報が入力されると、判定部103は、入力された情報に基づき、処理主体を情報処理部105にするか、サーバ装置200にするかを判定する。判定部103による判定結果は、依頼先切替部102に入力される。
判定部103による判定結果が情報処理部105を示す場合、依頼先切替部102は、情報入力部101から入力された情報を情報処理部105に入力する。情報が入力されると、情報処理部105は、記憶部106に格納されたアルゴリズムに基づき、入力された情報を処理し、その処理結果を出力する。なお、処理を実行する際、情報処理部105は、必要に応じて記憶部106を利用する。一方、判定部103による判定結果がサーバ装置200を示す場合、依頼先切替部102は、情報入力部101から入力された情報を通信部104に入力する。情報が入力された通信部104は、ネットワーク50を通じて、入力された情報をサーバ装置200に送信する。また、通信部104は、サーバ装置200から送信された処理結果を受信し、その処理結果を出力する。
≪判定部103の機能≫
ここで、判定部103の機能について、より詳細に説明する。上記の通り、判定部103は、通信部104から入力される通信環境の情報、情報処理部105から入力されるバージョンの情報、負荷検知部107から入力される負荷の情報、蓄電量検知部108から入力される蓄電量の情報に基づいて処理主体を選択する。
通信環境の情報とは、通信回線が利用可能な状態にあるのか否か、低速な回線を利用しているのか、高速な回線を利用しているのか、利用可能な帯域幅がどのくらいかなどを示す情報である。これら通信環境の情報は、通信部104により検知される。また、負荷の情報とは、情報処理部105の負荷が高い状況にあるか、負荷が低い状況にあるかなどを示す情報である。これら負荷の情報は、負荷検知部107により検知される。また、蓄電量の情報とは、蓄電部109に蓄えられている電力量を示す情報である。なお、蓄電部109は、端末装置100の各構成要素を駆動させるための電力を蓄えておく手段である。また、蓄電部109に蓄えられた電力量は、蓄電量検知部108により検知される。
(通信環境に応じた選択)
例えば、通信回線が利用可能な状態にない場合、判定部103は、処理主体として情報処理部105を選択する。また、低速な回線を利用している場合、判定部103は、処理主体として情報処理部105を選択する。一方、高速な回線を利用している場合、判定部103は、処理主体としてサーバ装置200を選択する。但し、高速な回線を利用していても、利用可能な帯域幅が狭い場合、判定部103は、処理主体として情報処理部105を選択する。また、低速な回線を利用していても、情報処理部105の負荷が高い場合や蓄電部109の蓄電量が少ない場合、判定部103は、処理主体としてサーバ装置200を選択する。このようにして選択された処理主体の情報は、判定結果として依頼先切替部102に入力される。
(負荷に応じた選択)
例えば、情報処理部105の負荷が高い場合、判定部103は、処理主体としてサーバ装置200を選択する。一方、情報処理部105の負荷が低い場合、判定部103は、処理主体として情報処理部105を選択する。但し、情報処理部105の負荷が高くても、通信回線が利用できない場合、判定部103は、処理主体として情報処理部105を選択する。また、情報処理部105の負荷が低くても、蓄電部109の蓄電量が少ない場合、判定部103は、処理主体としてサーバ装置200を選択する。さらに、情報処理部105の負荷が低くても、サーバ装置200で利用しているアルゴリズムの方が新しい場合、判定部103は、処理主体としてサーバ装置200を選択する。このようにして選択された処理主体の情報は、判定結果として依頼先切替部102に入力される。
(蓄電量に応じた選択)
例えば、蓄電部109の蓄電量が多い場合、判定部103は、処理主体として情報処理部105を選択する。一方、蓄電部109の蓄電量が少ない場合、判定部103は、処理主体としてサーバ装置200を選択する。但し、蓄電部109の蓄電量が多くても、情報処理部105の負荷が高い場合、判定部103は、処理主体としてサーバ装置200を選択する。また、蓄電部109の蓄電量が少なくても、通信回線が利用できない場合、判定部103は、処理主体として情報処理部105を選択する。さらに、蓄電部109の蓄電量が多くても、サーバ装置200で利用しているアルゴリズムの方が新しい場合、判定部103は、処理主体としてサーバ装置200を選択する。このようにして選択された処理主体の情報は、判定結果として依頼先切替部102に入力される。
(バージョンに応じた選択)
例えば、サーバ装置200で利用しているアルゴリズムの方が新しい場合、判定部103は、処理主体としてサーバ装置200を選択する。一方、情報処理部105で利用しているアルゴリズムとサーバ装置200で利用しているアルゴリズムとが同じバージョンの場合、判定部103は、処理主体として情報処理部105を選択する。但し、サーバ装置200で利用しているアルゴリズムの方が新しくても、通信回線が利用できない場合や低速な回線を利用している場合、判定部103は、処理主体として情報処理部105を選択する。また、情報処理部105で利用しているアルゴリズムとサーバ装置200で利用しているアルゴリズムとが同じバージョンでも、情報処理部105の負荷が高い場合や蓄電部109の蓄電量が少ない場合、判定部103は、処理主体としてサーバ装置200を選択する。このようにして選択された処理主体の情報は、判定結果として依頼先切替部102に入力される。
≪処理主体の切り替え≫
上記のように、判定部103は、通信環境、情報処理部105の負荷、蓄電部109の蓄電量、及び情報処理部105が利用しているバージョンに応じて処理主体を選択してもよい。但し、通信環境、情報処理部105の負荷、及び蓄電部109の蓄電量は時々刻々と変化する。また、サーバ装置200において、処理に利用しているアルゴリズムが更新されるとアルゴリズムのバージョンも変化する。これらの変化が生じた場合、判定部103は、その変化に応じて判定結果を更新する。例えば、高速な回線が利用できなくなり、通信回線が低速な回線に切り替わった場合、判定部103は、処理主体をサーバ装置200から情報処理部105に変更した処理結果を依頼先切替部102に入力する。
変更後の処理結果が入力されると、依頼先切替部102は、情報入力部101による情報の入力を停止させる。次いで、依頼先切替部102は、情報処理部105が処理を継続するために必要な情報をサーバ装置200から取得する。例えば、ある種の動画像処理の場合において、情報入力部101から連続して入力される情報に相関が期待される場合、次に入力される情報を処理するために前に入力された情報が必要になることがある。このような場合、それ以前に入力された相関に関する情報をサーバ装置200から取得し、その情報を情報処理部105に入力しておく必要がある。そのため、依頼先切替部102によりサーバ装置200から取得された情報は、情報処理部105に入力される。
必要な情報が情報処理部105に入力されると、依頼先切替部102は、情報入力部101による情報の入力を再開させる。そして、依頼先切替部102は、情報入力部101から入力された情報を情報処理部105に入力して処理を実行させる。
なお、ここでは相関のある情報をサーバ装置200から取得する構成を紹介したが、相関のある一連の情報を全てサーバ装置200に処理させてから処理主体を切り替える方法も考えられる。例えば、依頼先切替部102は、相関のある一連の情報をサーバ装置200に送信し、送信し終えたタイミングで情報入力部101による情報の入力を停止させる。次いで、依頼先切替部102は、サーバ装置200に対し、相関のある一連の情報を処理し終えたタイミングを通知させ、その通知に応じて情報入力部101による情報の入力を再開させる。そして、依頼先切替部102は、情報入力部101から入力された情報を情報処理部105に入力して処理を実行させる。
このように、処理主体を切り替える際に情報入力部101による情報の入力を一時停止させ、区切りの良いところまで切り替え前に処理を完了させることにより、処理主体が切り替わっても処理の連続性が失われずに済むようになる。つまり、処理主体の切り替えに伴って処理に漏れが生じたり、処理結果に不整合が生じたりすることを防止できる。ここでより具体的には、動画像処理の場合、区切りの良いところとは、例えば、場前が切り替わり、それまでに入力された画像と、新たに入力される画像の相関関係が期待されない場合である。
以上、端末装置100の機能構成について説明した。
[1−3:サーバ装置200の機能構成]
次に、図3を参照しながら、本実施形態に係るサーバ装置200の機能構成について説明する。図3は、本実施形態に係るサーバ装置200の機能構成について説明するための説明図である。
図3に示すように、サーバ装置200は、主に、通信部201と、情報処理部202と、記憶部203とにより構成される。なお、図1に示した情報処理システム10には複数のサーバ装置200が記載されていたが、これら複数のサーバ装置200は、いずれも図3に示すサーバ装置200と実質的に同じ構成を有するものとする。
先に述べたように、端末装置100により処理主体としてサーバ装置200が選択されると、端末装置100からサーバ装置200に処理すべき情報が送信される。端末装置100から送信された処理すべき情報は、ネットワーク50を介してサーバ装置200に伝送され、通信部201により受信される。処理すべき情報を受信すると、通信部201は、受信した処理すべき情報を情報処理部202に入力する。
処理すべき情報が入力されると、情報処理部202は、記憶部203に格納されたアルゴリズムに基づき、入力された処理すべき情報を処理し、その処理結果を出力する。なお、処理を実行する際、情報処理部202は、必要に応じて記憶部203を利用する。情報処理部202により出力された処理結果は、通信部201に入力される。処理結果が入力されると、通信部201は、ネットワーク50を介して、入力された処理結果を端末装置100に送信する。
また、端末装置100からアルゴリズムのバージョンに関する問い合わせを受けた場合、サーバ装置200は、情報処理部202が処理に利用しているアルゴリズムのバージョンを端末装置100に通知する。まず、ネットワーク50を介して問い合わせを受けると、通信部201は、その問い合わせを受信し、情報処理部202に通知する。この通知を受けた情報処理部202は、処理に利用しているアルゴリズムのバージョンを確認し、そのバージョンを示す情報を通信部201に入力する。バージョンを示す情報が入力されると、通信部201は、ネットワーク50を介して、バージョンを示す情報を端末装置100に送信する。
以上、サーバ装置200の機能構成について説明した。
[1−4:端末装置100の動作]
次に、図4、図5を参照しながら、本実施形態に係る端末装置100の動作について説明する。図4、図5は、本実施形態に係る端末装置100の動作について説明するための説明図である。
(1−4−1:全体的な処理の流れ)
まず、端末装置100による全体的な処理の流れについて説明する。
図4に示すように、まず、情報入力部101を介して処理すべき情報が入力される(S101)。処理すべき情報が入力されると、端末装置100は、通信部104から通信環境の情報を取得し、負荷検知部107から負荷の情報を取得し、蓄電量検知部108から蓄電量の情報を取得し、情報処理部105からバージョンの情報を取得する(S102)。次いで、端末装置100は、判定部103の機能により、処理すべき情報の処理主体を情報処理部105(端末装置100)にするか、サーバ装置200にするかを判定する(S103)。そして、端末装置100は、その判定の結果を確認し、処理主体として情報処理部105(判定結果=端末装置)が選択されたか否かを判断する(S104)。
処理主体として情報処理部105が選択された場合(判定結果=端末装置)、端末装置100は、処理をステップS105に進める。一方、処理主体としてサーバ装置200が選択された場合(判定結果=サーバ装置)、端末装置100は、処理をステップS106に進める。処理をステップS105に進めた場合、端末装置100は、依頼先切替部102の機能により、処理すべき情報を情報処理部105に入力する(S105)。処理すべき情報が入力されると、情報処理部105は、入力された処理すべき情報に対する処理を実行する。情報処理部105の機能により処理を実行した端末装置100は、処理をステップS108に進める。
一方、処理をステップS106に進めた場合、端末装置100は、依頼先切替部102の機能により、処理すべき情報に対する処理をサーバ装置200に依頼する(S106)。このとき、端末装置100は、通信部104の機能により、処理すべき情報をサーバ装置200に送信する。処理すべき情報を受信したサーバ装置200は、情報処理部202の機能により、受信した処理すべき情報に対する処理を実行する。サーバ装置200による処理の結果は、ネットワーク50を介して端末装置100に送信される。端末装置100は、通信部104の機能によりサーバ装置200から処理結果を受信し(S107)、処理をステップS108に進める。
処理をステップS108に進めると、端末装置100は、情報処理部105の機能により実行した処理の結果、又は通信部104により受信した処理結果を出力する(S108)。
以上、端末装置100による全体的な処理の流れについて説明した。
(1−4−2:判定方法について)
次に、判定部103による判定方法(上記のステップS103)について、より詳細に説明する。
図5に示すように、判定の動作が開始されると、判定部103は、通信環境が高速であるか否かを判断する(S111)。例えば、判定部103は、利用可能な通信回線が低速な回線であるか、高速な回線であるか、通信回線自体が利用不可能であるか、帯域幅が狭いか、帯域幅が広いかなどを判定し、実質的に高速な通信が可能な通信環境にあるか否かを判断する。通信回線が低速な回線である場合や通信回線自体が利用不可能な場合、判定部103は、通信環境≠高速と判断する。また、高速な回線を利用可能であっても、帯域幅が狭い場合、判定部103は、通信環境≠高速と判断する。一方、高速な回線を利用可能であり、帯域幅が広い場合、判定部103は、通信環境=高速と判断する。
通信環境≠高速と判断した場合、判定部103は、処理をステップS112に進める。一方、通信環境=高速と判断した場合、判定部103は、処理をステップS113に進める。処理をステップS112に進めた場合、判定部103は、処理主体として情報処理部105を選択し(S112;判定結果=端末装置)、一連の処理を終了する。一方、処理をステップS113に進めた場合、判定部103は、情報処理部105の処理負荷が低いか否かを判断する(S113)。処理負荷が低い場合、判定部103は、処理をステップS114に進める。一方、処理負荷が高い場合、判定部103は、処理をステップS115に進める。
ステップS114に処理を進めた場合、判定部103は、処理主体として情報処理部105を選択し(S114;判定結果=端末装置)、一連の処理を終了する。一方、処理をステップS115に進めた場合、判定部103は、蓄電部109の蓄電量が所定量よりも多いか否かを判断する(S115)。蓄電量が所定量よりも多い場合、判定部103は、処理をステップS116に進める。一方、蓄電量が所定量よりも少ない場合、判定部103は、処理をステップS117に進める。処理をステップS116に進めた場合、判定部103は、処理主体として情報処理部105を選択し(S116;判定結果=端末装置)、一連の処理を終了する。
一方、処理をステップS117に進めた場合、判定部103は、情報処理部105が処理に利用しているアルゴリズムのバージョンと、サーバ装置200が処理に利用しているアルゴリズムのバージョンとを比較する(S117)。情報処理部105が処理に利用しているアルゴリズムのバージョンに対して、サーバ装置200が処理に利用しているアルゴリズムのバージョンが同じか新しい場合、判定部103は、処理をステップS119に進める。一方、情報処理部105が処理に利用しているアルゴリズムのバージョンに対してと、サーバ装置200が処理に利用しているアルゴリズムのバージョンが古い場合、判定部103は、処理をステップS118に進める。
処理をステップS118に進めた場合、判定部103は、処理主体として情報処理部105を選択し(S118;判定結果=端末装置)、一連の処理を終了する。一方、処理をステップS119に進めた場合、判定部103は、処理主体としてサーバ装置200を選択し(S119;判定結果=サーバ装置)、一連の処理を終了する。なお、ステップS111、S113、S115、S117の順番は任意に変更することができる。つまり、図5の処理フローは一例であり、通信環境、処理負荷、蓄電量、バージョンに関する判定処理は、どのような順番で実行されてもよい。また、ステップS111、S113、S115、S117の全ての処理を行う必要はなく、そのうち1つ以上の処理だけを選択的に行っても構わない。その場合であっても端末装置がおかれている状況に応じて処理主体を適切に選択することが可能である。ここでは、冗長を避けるために全てのパターンについて記載することは控える。



図5の例では、通信環境=高速の場合、処理主体としてサーバ装置200が選択されるように判定方法が決められていた。しかしながら、状況によっては通信環境≠高速であってもサーバ装置200を利用した方が効率的な場合がある。逆に、状況によっては通信環境=高速であっても情報処理部105を利用した方が効率的な場合もある。そのため、判定部103による判定方法は、図6〜図8のような構成にしてもよい。
(判定方法#1:通信環境と蓄電量の組み合わせ)
まず、図6を参照する。図6の例は、処理負荷が低く、情報処理部105とサーバ装置200とで利用しているアルゴリズムのバージョンが同じであることを前提としている。
当然のことながら、通信回線が利用不可の場合、サーバ装置200を利用することはできない。そのため、通信環境=通信不可の場合、判定部103は、処理主体として情報処理部105を選択する(判定結果=端末装置)。また、通信回線が高速な回線の場合、少ない通信コストでサーバ装置200を利用することができる。この状況ではサーバ装置200を利用した方が効率的な場合がある。例えば、サーバ装置200を利用することで消費電力を低減させることが可能になる。そのため、判定部103は、処理主体としてサーバ装置200を選択する(判定結果=サーバ装置)。
一方、通信回線が低速な回線の場合、高速な回線を利用している場合に比べて通信コストが大きい。例えば、高速な回線を利用している場合に比べ、サーバ装置200との間で情報をやり取りする際に発生する通信時間が長い。情報処理部105で処理を実行するよりも、処理能力の高いサーバ装置200で処理を実行する方が短い時間で処理を完了させることができるが、通信時間が長い場合には、情報処理部105で処理を実行する方が短い時間で処理が完了することになる。但し、情報処理部105で処理を実行する場合、蓄電部109の蓄電量がより早く減少することになる。
そこで、図6の例では、通信環境=低速の場合、蓄電量が所定量よりも多いときには処理主体として情報処理部105を選択し(判定結果=端末装置)、蓄電量が所定量よりも少ないときには処理主体としてサーバ装置200を選択する(判定結果=サーバ装置)。このような構成にすると、蓄電量が少ない場合には、蓄電部109に蓄えられた電力で駆動可能な時間を延ばすことができる。一方、蓄電量が多い場合には、処理結果を短い時間で得ることが可能になる。なお、蓄電量が多い場合と同様に、外部電源が端末装置100に接続されている場合にも、蓄電量が多い場合と同じ判定結果が出るように構成される。
(判定方法#2:通信環境と処理負荷の組み合わせ)
次に、図7を参照する。図7の例は、蓄電量が多く、情報処理部105とサーバ装置200とで利用しているアルゴリズムのバージョンが同じであることを前提としている。
当然のことながら、通信回線が利用不可の場合、サーバ装置200を利用することはできない。そのため、通信環境=通信不可の場合、判定部103は、処理主体として情報処理部105を選択する(判定結果=端末装置)。また、通信回線が高速な回線の場合、少ない通信コストでサーバ装置200を利用することができる。この状況ではサーバ装置200を利用した方が効率的な場合がある。例えば、サーバ装置200を利用することで消費電力を低減させることが可能になる。そのため、判定部103は、処理主体としてサーバ装置200を選択する(判定結果=サーバ装置)。
一方、通信回線が低速な回線の場合、高速な回線を利用している場合に比べて通信コストが大きい。例えば、高速な回線を利用している場合に比べ、サーバ装置200との間で情報をやり取りする際に発生する通信時間が長い。情報処理部105で処理を実行するよりも、処理能力の高いサーバ装置200で処理を実行する方が短い時間で処理を完了させることができるが、通信時間が長い場合には、情報処理部105で処理を実行する方が短い時間で処理が完了することになる。但し、情報処理部105の処理負荷が高い場合、情報処理部105で処理を実行すると、処理の完了までに長い時間がかかってしまう。
そこで、図7の例では、通信環境=低速の場合、処理負荷が高いときには処理主体としてサーバ装置200を選択し(判定結果=サーバ装置)、処理負荷が低いときには処理主体として情報処理部105を選択する(判定結果=端末装置)。このような構成にすると、状況に応じて効率的に処理を実行できる処理主体が選択されることにより、処理結果を得るまでに要する時間を短縮することが可能になる。
(判定方法#3:通信環境とバージョンの組み合わせ)
次に、図8を参照する。図8の例は、処理負荷が低く、蓄電量が多いことを前提としている。
当然のことながら、通信回線が利用不可の場合、サーバ装置200を利用することはできない。そのため、通信環境=通信不可の場合、判定部103は、処理主体として情報処理部105を選択する(判定結果=端末装置)。また、通信回線が高速な回線の場合、少ない通信コストでサーバ装置200を利用することができる。この状況ではサーバ装置200を利用した方が効率的な場合がある。例えば、サーバ装置200を利用することで消費電力を低減させることが可能になる。但し、情報処理部105の処理能力が高い場合、通信コストを省略できる分だけ、サーバ装置200を利用するよりも情報処理部105を利用する方が効率的に処理を実行できる場合もある。
しかし、サーバ装置200により利用されているアルゴリズムの方が情報処理部105により利用されているアルゴリズムよりも新しいことがある。新しいアルゴリズムは、新しい機能が利用可能になっていたり、処理の効率化が図られていたりする。そのため、古いアルゴリズムを利用するよりも、新しいアルゴリズムを利用する方が好ましい。但し、新しいアルゴリズムを利用する際、処理主体の能力が問われることがある。例えば、情報処理部105の処理能力や、新しいアルゴリズムを格納しておく記憶部106の記憶容量が足りない場合、情報処理部105で新しいアルゴリズムを利用できないことがある。
多くの場合、新しいアルゴリズムが開発されると、サーバ装置200から端末装置100に提供されるが、上記のような理由で端末装置100に新しいアルゴリズムを適用できないことがある。このような場合、端末装置100は、処理を情報処理部105で実行せず、サーバ装置200に処理を代行させる方が好ましい。こうした理由から、図8の例では、サーバ装置200が利用しているアルゴリズムのバージョンが新しい場合(サーバ>端末)、通信が可能な状況であればサーバ装置200を積極的に利用するように構成されている。このような構成にすることにより、新しいアルゴリズムを利用できない端末装置100であっても、新しいアルゴリズムを利用して処理を実行することが可能になる。
以上、端末装置100による判定方法の詳細について説明した。
以上、本発明の第1実施形態について説明した。上記のように、本実施形態に係る技術を適用することにより、端末装置100がおかれている状況に応じて処理主体を適切に切り替えることが可能になる。その結果、情報を効率的に処理することが可能になり、処理の高速化や省電力化に寄与する。
<2:第2実施形態>
次に、本発明の第2実施形態について説明する。なお、本実施形態に係る情報処理システム10の構成は、上記の第1実施形態に係る情報処理システム10の構成と実質的に同じであるため説明を省略する。また、その他の点についても、上記の第1実施形態と実質的に同じ構成要素に関する詳細な説明は省略する。
[2−1:端末装置100の機能構成]
まず、図9を参照しながら、本実施形態に係る端末装置100の機能構成について説明する。図9は、本実施形態に係る端末装置100の機能構成について説明するための説明図である。
図9に示すように、端末装置100は、主に、情報入力部131と、依頼先切替部132と、判定部133と、通信部134と、情報処理部135と、記憶部136と、負荷検知部137と、蓄電量検知部138と、蓄電部139と、アルゴリズム取得部140とにより構成される。
情報入力部131は、処理すべき情報を入力するための手段である。情報入力部131に入力された情報は、依頼先切替部132に入力される。依頼先切替部132は、入力された情報の処理を情報処理部135に依頼するか、サーバ装置200に依頼するかを切り替える手段である。但し、依頼先切替部132は、判定部133による判定結果に応じて処理の依頼先を切り替える。判定部133は、通信環境、処理負荷、及び蓄電量に応じて処理の依頼先を判定する手段である。
判定部133には、通信部134から通信環境が通知される。また、判定部133には、負荷検知部137から情報処理部135の負荷状況を示す情報が入力される。さらに、判定部133には、蓄電量検知部138から蓄電部139の蓄電量を示す情報が入力される。そして、判定部133には、情報処理部135において処理に用いているアルゴリズムのバージョンを示す情報が入力される。これらの情報が入力されると、判定部133は、入力された情報に基づき、処理主体を情報処理部135にするか、サーバ装置200にするかを判定する。判定部133による判定結果は、依頼先切替部132に入力される。
判定部133による判定結果が情報処理部135を示す場合、依頼先切替部132は、情報入力部131から入力された情報を情報処理部135に入力する。情報が入力されると、情報処理部135は、記憶部136に格納されたアルゴリズムに基づき、入力された情報を処理し、その処理結果を出力する。なお、処理を実行する際、情報処理部135は、必要に応じて記憶部136を利用する。一方、判定部133による判定結果がサーバ装置200を示す場合、依頼先切替部132は、情報入力部131から入力された情報を通信部134に入力する。情報が入力された通信部134は、ネットワーク50を通じて、入力された情報をサーバ装置200に送信する。また、通信部134は、サーバ装置200から送信された処理結果を受信し、その処理結果を出力する。
また、判定部133は、情報処理部135により利用されているアルゴリズムのバージョンと、サーバ装置200により利用されているアルゴリズムのバージョンとを比較する。情報処理部135により利用されているアルゴリズムよりも、サーバ装置200により利用されているアルゴリズムの方が新しい場合、判定部133は、その比較結果をアルゴリズム取得部140に入力する。比較結果が入力されると、アルゴリズム取得部140は、通信部134を介してサーバ装置200に最新のアルゴリズムを要求する。この要求に応じてサーバ装置200から最新のアルゴリズムが送信されると、アルゴリズム取得部140は、通信部134を介して最新のアルゴリズムを受信する。
最新のアルゴリズムを受信すると、アルゴリズム取得部140は、受信した最新のアルゴリズムを情報処理部135に入力し、情報処理部135にアルゴリズムを更新させる。最新のアルゴリズムが入力されると、情報処理部135は、記憶部136に格納されているアルゴリズムを最新のアルゴリズムに更新する。このように、バージョンの比較結果に応じてアルゴリズムを更新することにより、情報処理部135でも最新のアルゴリズムを利用した処理を実行することが可能になる。
以上、本実施形態に係る端末装置100の機能構成について説明した。なお、判定部133の判定処理は上記の第1実施形態に係る判定部103の判定処理と実質的に同じであるため、判定部133の判定処理に係る詳細な説明は省略した。
[2−2:サーバ装置200の機能構成]
次に、図10を参照しながら、本実施形態に係るサーバ装置200の機能構成について説明する。図10は、本実施形態に係るサーバ装置200の機能構成について説明するための説明図である。
図10に示すように、サーバ装置200は、主に、通信部231と、情報処理部232と、記憶部233と、アルゴリズム提供部234とにより構成される。なお、図1に示した情報処理システム10には複数のサーバ装置200が記載されていたが、これら複数のサーバ装置200は、いずれも図10に示すサーバ装置200と実質的に同じ構成を有するものとする。
先に述べたように、端末装置100により処理主体としてサーバ装置200が選択されると、端末装置100からサーバ装置200に処理すべき情報が送信される。端末装置100から送信された処理すべき情報は、ネットワーク50を介してサーバ装置200に伝送され、通信部231により受信される。処理すべき情報を受信すると、通信部231は、受信した処理すべき情報を情報処理部232に入力する。
処理すべき情報が入力されると、情報処理部232は、記憶部233に格納されたアルゴリズムに基づき、入力された処理すべき情報を処理し、その処理結果を出力する。なお、処理を実行する際、情報処理部232は、必要に応じて記憶部233を利用する。情報処理部232により出力された処理結果は、通信部231に入力される。処理結果が入力されると、通信部231は、ネットワーク50を介して、入力された処理結果を端末装置100に送信する。
また、端末装置100からアルゴリズムのバージョンに関する問い合わせを受けた場合、サーバ装置200は、情報処理部232が処理に利用しているアルゴリズムのバージョンを端末装置100に通知する。まず、ネットワーク50を介して問い合わせを受けると、通信部231は、その問い合わせを受信し、情報処理部232に通知する。この通知を受けた情報処理部232は、処理に利用しているアルゴリズムのバージョンを確認し、そのバージョンを示す情報を通信部231に入力する。バージョンを示す情報が入力されると、通信部231は、ネットワーク50を介して、バージョンを示す情報を端末装置100に送信する。
また、端末装置100から最新のアルゴリズムを要求された場合、その要求は、通信部231を介してアルゴリズム提供部234に通知される。この通知を受けると、アルゴリズム提供部234は、情報処理部232から最新のアルゴリズムを取得する。そして、アルゴリズム提供部234は、通信部231を介して、取得した最新のアルゴリズムを端末装置100に提供する。
以上、サーバ装置200の機能構成について説明した。
[2−3:端末装置100の動作]
次に、図11、図12を参照しながら、本実施形態に係る端末装置100の動作について説明する。図11、図12は、本実施形態に係る端末装置100の動作について説明するための説明図である。
(2−3−1:全体的な処理の流れ)
まず、端末装置100による全体的な処理の流れについて説明する。
図11に示すように、まず、情報入力部131を介して処理すべき情報が入力される(S201)。処理すべき情報が入力されると、端末装置100は、通信部134から通信環境の情報を取得し、負荷検知部137から負荷の情報を取得し、蓄電量検知部138から蓄電量の情報を取得し、情報処理部135からバージョンの情報を取得する(S202)。次いで、端末装置100は、判定部133の機能により、処理すべき情報の処理主体を情報処理部135(端末装置100)にするか、サーバ装置200にするかを判定する(S203)。そして、端末装置100は、その判定の結果を確認し、処理主体として情報処理部135(判定結果=端末装置)が選択されたか否かを判断する(S204)。
処理主体として情報処理部135が選択された場合(判定結果=端末装置)、端末装置100は、処理をステップS205に進める。一方、処理主体としてサーバ装置200が選択された場合(判定結果=サーバ装置)、端末装置100は、処理をステップS206に進める。処理をステップS205に進めた場合、端末装置100は、依頼先切替部132の機能により、処理すべき情報を情報処理部135に入力する(S205)。処理すべき情報が入力されると、情報処理部135は、入力された処理すべき情報に対する処理を実行する。情報処理部135の機能により処理を実行した端末装置100は、処理をステップS208に進める。
一方、処理をステップS206に進めた場合、端末装置100は、依頼先切替部132の機能により、処理すべき情報に対する処理をサーバ装置200に依頼する(S206)。このとき、端末装置100は、通信部134の機能により、処理すべき情報をサーバ装置200に送信する。処理すべき情報を受信したサーバ装置200は、情報処理部202の機能により、受信した処理すべき情報に対する処理を実行する。サーバ装置200による処理の結果は、ネットワーク50を介して端末装置100に送信される。端末装置100は、通信部134の機能によりサーバ装置200から処理結果を受信し(S207)、処理をステップS208に進める。
処理をステップS208に進めると、端末装置100は、情報処理部135の機能により実行した処理の結果、又は通信部134により受信した処理結果を出力する(S208)。
以上、端末装置100による全体的な処理の流れについて説明した。
(2−3−2:判定方法について)
次に、判定部133による判定方法(上記のステップS203)について、より詳細に説明する。
図12に示すように、判定の動作が開始されると、判定部133は、情報処理部135が処理に利用しているアルゴリズムのバージョンと、サーバ装置200が処理に利用しているアルゴリズムのバージョンとを比較する(S211)。情報処理部135が処理に利用しているアルゴリズムのバージョンが、サーバ装置200が処理に利用しているアルゴリズムのバージョンに対して同じか新しい場合、判定部133は、処理をステップS213に進める。一方、情報処理部135が処理に利用しているアルゴリズムのバージョンが、サーバ装置200が処理に利用しているアルゴリズムのバージョンよりも古い場合、判定部133は、処理をステップS212に進める。処理がステップS212に進められた場合、端末装置100は、アルゴリズム取得部140の機能により、最新のアルゴリズムをサーバ装置200からダウンロードし、処理をステップS213に進める。
次いで、判定部133は、通信環境が高速であるか否かを判断する(S213)。例えば、判定部133は、利用可能な通信回線が低速な回線であるか、高速な回線であるか、通信回線自体が利用不可能であるか、帯域幅が狭いか、帯域幅が広いかなどを判定し、実質的に高速な通信が可能な通信環境にあるか否かを判断する。通信回線が低速な回線である場合や通信回線自体が利用不可能な場合、判定部133は、通信環境≠高速と判断する。また、高速な回線を利用可能であっても、帯域幅が狭い場合、判定部133は、通信環境≠高速と判断する。一方、高速な回線を利用可能であり、帯域幅が広い場合、判定部133は、通信環境=高速と判断する。
通信環境≠高速と判断した場合、判定部133は、処理をステップS214に進める。一方、通信環境=高速と判断した場合、判定部133は、処理をステップS215に進める。処理をステップS214に進めた場合、判定部133は、処理主体として情報処理部135を選択し(S214;判定結果=端末装置)、一連の処理を終了する。一方、処理をステップS215に進めた場合、判定部133は、情報処理部135の処理負荷が低いか否かを判断する(S215)。処理負荷が低い場合、判定部133は、処理をステップS216に進める。一方、処理負荷が高い場合、判定部133は、処理をステップS217に進める。
ステップS216に処理を進めた場合、判定部133は、処理主体として情報処理部135を選択し(S216;判定結果=端末装置)、一連の処理を終了する。一方、処理をステップS217に進めた場合、判定部133は、蓄電部139の蓄電量が所定量よりも多いか否かを判断する(S217)。蓄電量が所定量よりも多い場合、判定部133は、処理をステップS218に進める。一方、蓄電量が所定量よりも少ない場合、判定部133は、処理をステップS219に進める。処理をステップS218に進めた場合、判定部133は、処理主体として情報処理部135を選択し(S218;判定結果=端末装置)、一連の処理を終了する。
一方、処理をステップS219に進めた場合、判定部133は、処理主体としてサーバ装置200を選択し(S219;判定結果=サーバ装置)、一連の処理を終了する。なお、ステップS211、S213、S215、S217の順番は任意に変更することができる。つまり、図12の処理フローは一例であり、通信環境、処理負荷、蓄電量、バージョンに関する判定処理は、どのような順番で実行されてもよい。また、ステップS211、S213、S215、S217の全ての処理を行う必要はなく、そのうち1つ以上の処理だけを選択的に行っても構わない。その場合であっても端末装置がおかれている状況に応じて処理主体を適切に選択することが可能である。ここでは、冗長を避けるために全てのパターンについて記載することは控える。
以上、端末装置100による判定方法の詳細について説明した。
以上、本発明の第1実施形態について説明した。上記のように、本実施形態に係る技術を適用することにより、端末装置100がおかれている状況に応じて処理主体を適切に切り替えることが可能になる。その結果、情報を効率的に処理することが可能になり、処理の高速化や省電力化に寄与する。
<3:第3実施形態>
次に、本発明の第3実施形態について説明する。なお、本実施形態に係る情報処理システム10の構成は、上記の第1実施形態に係る情報処理システム10の構成と実質的に同じであるため説明を省略する。また、その他の点についても、上記の第1実施形態と実質的に同じ構成要素に関する詳細な説明は省略する。
[3−1:端末装置100の機能構成]
まず、図13を参照しながら、本実施形態に係る端末装置100の機能構成について説明する。図13は、本実施形態に係る端末装置100の機能構成について説明するための説明図である。なお、本実施形態に係る端末装置100は、入力された静止画から動画を生成する動画生成装置として機能する。
図13に示すように、端末装置100は、主に、画像入力部151と、依頼先切替部152と、判定部153と、通信部154と、動画生成部155と、記憶部156と、負荷検知部157と、蓄電量検知部158と、蓄電部159とにより構成される。
画像入力部151は、静止画を入力するための手段である。画像入力部151に入力された静止画は、依頼先切替部152に入力される。依頼先切替部152は、入力された静止画の処理を動画生成部155に依頼するか、サーバ装置200に依頼するかを切り替える手段である。但し、依頼先切替部152は、判定部153による判定結果に応じて処理の依頼先を切り替える。判定部153は、通信環境、処理負荷、蓄電量、及び、処理に用いるアルゴリズムのバージョンに応じて処理の依頼先を判定する手段である。
判定部153には、通信部154から通信環境が通知される。また、判定部153には、負荷検知部157から動画生成部155の負荷状況を示す情報が入力される。さらに、判定部153には、蓄電量検知部158から蓄電部159の蓄電量を示す情報が入力される。そして、判定部153には、動画生成部155において処理に用いているアルゴリズムのバージョンを示す情報が入力される。これらの情報が入力されると、判定部153は、入力された情報に基づき、処理主体を動画生成部155にするか、サーバ装置200にするかを判定する。判定部153による判定結果は、依頼先切替部152に入力される。
判定部153による判定結果が動画生成部155を示す場合、依頼先切替部152は、画像入力部151から入力された静止画を動画生成部155に入力する。静止画が入力されると、動画生成部155は、記憶部156に格納されたアルゴリズムに基づき、入力された静止画から動画を生成し、その動画を出力する。なお、動画の生成処理を実行する際、動画生成部155は、必要に応じて記憶部156を利用する。一方、判定部153による判定結果がサーバ装置200を示す場合、依頼先切替部152は、画像入力部151から入力された静止画を通信部154に入力する。静止画が入力された通信部154は、ネットワーク50を通じて、入力された静止画をサーバ装置200に送信する。また、通信部154は、サーバ装置200から送信された動画を受信し、その動画を出力する。
以上、端末装置100の機能構成について説明した。
[3−2:サーバ装置200の機能構成]
次に、図14を参照しながら、本実施形態に係るサーバ装置200の機能構成について説明する。図14は、本実施形態に係るサーバ装置200の機能構成について説明するための説明図である。なお、本実施形態に係るサーバ装置200は、入力された静止画から動画を生成する動画生成装置として機能する。
図14に示すように、サーバ装置200は、主に、通信部251と、動画生成部252と、記憶部253とにより構成される。
先に述べたように、端末装置100により処理主体としてサーバ装置200が選択されると、端末装置100からサーバ装置200に静止画が送信される。端末装置100から送信された静止画は、ネットワーク50を介してサーバ装置200に伝送され、通信部251により受信される。静止画を受信すると、通信部251は、受信した静止画を動画生成部252に入力する。
静止画が入力されると、動画生成部252は、記憶部253に格納されたアルゴリズムに基づき、入力された静止画から動画を生成し、その動画を出力する。なお、動画の生成処理を実行する際、動画生成部252は、必要に応じて記憶部253を利用する。動画生成部252により出力された動画は、通信部251に入力される。動画が入力されると、通信部251は、ネットワーク50を介して、入力された動画を端末装置100に送信する。
また、端末装置100からアルゴリズムのバージョンに関する問い合わせを受けた場合、サーバ装置200は、動画生成部252が動画の生成処理に利用しているアルゴリズムのバージョンを端末装置100に通知する。まず、ネットワーク50を介して問い合わせを受けると、通信部251は、その問い合わせを受信し、動画生成部252に通知する。この通知を受けた動画生成部252は、動画の生成処理に利用しているアルゴリズムのバージョンを確認し、そのバージョンを示す情報を通信部251に入力する。バージョンを示す情報が入力されると、通信部251は、ネットワーク50を介して、バージョンを示す情報を端末装置100に送信する。
以上、サーバ装置200の機能構成について説明した。
≪動画生成部155、252の機能≫
ここで、図15を参照しながら、動画生成部155、252の機能について、より詳細に説明する。図15は、動画生成部155、252の機能について説明するための説明図である。
図15に示すように動画生成部155、252は、JPEGデコーダ301と、エフェクタ302と、AVCエンコーダ303と、バッファ304とにより構成される。なお、エフェクタ302には、エフェクトテンプレートが入力されるものとする。また、動画生成部155、252に入力される静止画は、JPEG形式でエンコードされているものとする。但し、JPEGは、Joint Photographic Experts Groupの略である。また、AVCは、Advanced Video Codingの略である。
まず、動画生成部155、252に静止画が入力されると、その静止画はJPEGデコーダ301に入力される。静止画が入力されると、JPEGデコーダ301は、JPEG形式で符号化されている静止画に復号処理を施し、静止画のベースバンドデータ(以下、ベースバンド静止画)を生成する。JPEGデコーダ301により生成されたベースバンド静止画は、エフェクタ302に入力される。ベースバンド静止画が入力されると、エフェクタ302は、エフェクトテンプレートを利用してベースバンド静止画から動画のベースバンドデータ(以下、ベースバンド動画)を生成する。
エフェクタ302により生成されたベースバンド動画は、AVCエンコーダ303に入力される。ベースバンド動画が入力されると、AVCエンコーダ303は、入力されたベースバンド動画をH.264/AVCなどの形式で符号化し、動画(AVCビットストリーム)を生成する。このとき、AVCエンコーダ303は、バッファ304を利用して、ベースバンド動画にフレーム内圧縮符号化やフレーム間圧縮符号化などの処理を施す。そして、AVCエンコーダ303により生成された動画(AVCビットストリーム)は、動画生成部155、252から出力される。
以上、動画生成部155、252の機能について説明した。なお、上記の説明では、説明の都合上、入力される静止画の形式がJPEGであるとし、出力される動画の形式がAVCであると仮定した。しかし、本実施形態に係る技術の適用範囲はこれに限定されず、入力される静止画の形式がJPEG以外であってもよいし、出力される動画の形式がAVC以外であってもよい。
[3−3:端末装置100の動作]
次に、図16、図17を参照しながら、本実施形態に係る端末装置100の動作について説明する。図16、図17は、本実施形態に係る端末装置100の動作について説明するための説明図である。
(3−3−1:全体的な処理の流れ)
まず、端末装置100による全体的な処理の流れについて説明する。
図16に示すように、まず、画像入力部151を介して静止画が入力される(S301)。静止画が入力されると、端末装置100は、通信部154から通信環境の情報を取得し、負荷検知部157から負荷の情報を取得し、蓄電量検知部158から蓄電量の情報を取得し、動画生成部155からバージョンの情報を取得する(S302)。次いで、端末装置100は、判定部153の機能により、静止画の処理主体を動画生成部155(端末装置100)にするか、サーバ装置200にするかを判定する(S303)。そして、端末装置100は、その判定の結果を確認し、処理主体として動画生成部155(判定結果=端末装置)が選択されたか否かを判断する(S304)。
処理主体として動画生成部155が選択された場合(判定結果=端末装置)、端末装置100は、処理をステップS305に進める。一方、処理主体としてサーバ装置200が選択された場合(判定結果=サーバ装置)、端末装置100は、処理をステップS306に進める。処理をステップS305に進めた場合、端末装置100は、依頼先切替部152の機能により、静止画を動画生成部155に入力する(S305)。静止画が入力されると、動画生成部155は、入力された静止画から動画を生成する。動画生成部155の機能により動画を生成した端末装置100は、処理をステップS308に進める。
一方、処理をステップS306に進めた場合、端末装置100は、依頼先切替部152の機能により、静止画に対する処理をサーバ装置200に依頼する(S306)。このとき、端末装置100は、通信部154の機能により、静止画をサーバ装置200に送信する。静止画を受信したサーバ装置200は、情報処理部202の機能により、受信した静止画から動画を生成する。サーバ装置200により生成された動画は、ネットワーク50を介して端末装置100に送信される。端末装置100は、通信部154の機能によりサーバ装置200から動画を受信し(S307)、処理をステップS308に進める。
処理をステップS308に進めると、端末装置100は、動画生成部155の機能により生成された動画、又は通信部154から受信した動画を出力する(S308)。
以上、端末装置100による全体的な処理の流れについて説明した。
(3−3−2:動画生成方法について)
次に、動画生成方法について簡単に説明を補足する。
図17に示すように、まず、動画生成部155、252に静止画が入力される(S311)。次いで、動画生成部155、252は、JPEGデコーダ301の機能により、入力された静止画からベースバンド静止画を生成する(S312)。次いで、動画生成部155、252は、エフェクタ302の機能により、ベースバンド静止画からベースバンド動画を生成する(S313)。次いで、動画生成部155、252は、AVCエンコーダ303の機能により、ベースバンド動画をエンコードして動画(AVCビットストリーム)を生成する(S314)。次いで、動画生成部155、252は、生成した動画(AVCビットストリーム)を出力し(S315)、動画生成に係る一連の処理を終了する。
以上、動画生成処理の流れについて説明した。
以上、本発明の第3実施形態について説明した。上記のように、本実施形態に係る技術を適用することにより、端末装置100がおかれている状況に応じて処理主体を適切に切り替えることが可能になる。その結果、静止画から動画を効率的に生成することが可能になり、処理の高速化や省電力化に寄与する。なお、ここでは静止画から動画を生成する方法を例に挙げて説明したが、動画、静止画、音声などを組み合わせて映像コンテンツを制作する際にも本実施形態の技術を効果的に利用することができる。
<4:第4実施形態>
次に、本発明の第4実施形態について説明する。なお、本実施形態に係る情報処理システム10の構成は、上記の第1実施形態に係る情報処理システム10の構成と実質的に同じであるため説明を省略する。また、その他の点についても、上記の第1実施形態と実質的に同じ構成要素に関する詳細な説明は省略する。
[4−1:端末装置100の機能構成]
まず、図18を参照しながら、本実施形態に係る端末装置100の機能構成について説明する。図18は、本実施形態に係る端末装置100の機能構成について説明するための説明図である。なお、本実施形態に係る端末装置100は、入力された画像に含まれる顔を認識し、顔が含まれる領域を出力する顔認識装置として機能する。
図18に示すように、端末装置100は、主に、画像入力部171と、依頼先切替部172と、判定部173と、通信部174と、顔認識部175と、記憶部176と、負荷検知部177と、蓄電量検知部178と、蓄電部179とにより構成される。
画像入力部171は、画像を入力するための手段である。画像入力部171に入力された画像は、依頼先切替部172に入力される。依頼先切替部172は、入力された画像の処理を顔認識部175に依頼するか、サーバ装置200に依頼するかを切り替える手段である。但し、依頼先切替部172は、判定部173による判定結果に応じて処理の依頼先を切り替える。判定部173は、通信環境、処理負荷、蓄電量、及び、処理に用いるアルゴリズムのバージョンに応じて処理の依頼先を判定する手段である。
判定部173には、通信部174から通信環境が通知される。また、判定部173には、負荷検知部177から顔認識部175の負荷状況を示す情報が入力される。さらに、判定部173には、蓄電量検知部178から蓄電部179の蓄電量を示す情報が入力される。そして、判定部173には、顔認識部175において処理に用いているアルゴリズムのバージョンを示す情報が入力される。これらの情報が入力されると、判定部173は、入力された情報に基づき、処理主体を顔認識部175にするか、サーバ装置200にするかを判定する。判定部173による判定結果は、依頼先切替部172に入力される。
判定部173による判定結果が顔認識部175を示す場合、依頼先切替部172は、画像入力部171から入力された画像を顔認識部175に入力する。画像が入力されると、顔認識部175は、記憶部176に格納された顔認識アルゴリズムに基づき、入力された画像から顔を認識し、顔を含む領域を出力する。なお、顔の認識処理を実行する際、顔認識部175は、必要に応じて記憶部176を利用する。一方、判定部173による判定結果がサーバ装置200を示す場合、依頼先切替部172は、画像入力部171から入力された画像を通信部174に入力する。画像が入力された通信部174は、ネットワーク50を通じて、入力された画像をサーバ装置200に送信する。また、通信部174は、サーバ装置200から送信された顔認識の結果を受信し、その結果を出力する。
以上、端末装置100の機能構成について説明した。
[4−2:サーバ装置200の機能構成]
次に、図19を参照しながら、本実施形態に係るサーバ装置200の機能構成について説明する。図19は、本実施形態に係るサーバ装置200の機能構成について説明するための説明図である。なお、本実施形態に係るサーバ装置200は、入力された画像に含まれる顔を認識し、顔が含まれる領域を出力する顔認識装置として機能する。
図19に示すように、サーバ装置200は、主に、通信部271と、顔認識部272と、記憶部273とにより構成される。
先に述べたように、端末装置100により処理主体としてサーバ装置200が選択されると、端末装置100からサーバ装置200に画像が送信される。端末装置100から送信された画像は、ネットワーク50を介してサーバ装置200に伝送され、通信部271により受信される。画像を受信すると、通信部271は、受信した画像を顔認識部272に入力する。
画像が入力されると、顔認識部272は、記憶部273に格納された顔認識アルゴリズムに基づき、入力された画像から顔を検出し、その顔を含む領域を出力する。なお、顔認識の処理を実行する際、顔認識部272は、必要に応じて記憶部273を利用する。顔認識部272により出力された顔認識の結果は、通信部271に入力される。顔認識の結果が入力されると、通信部271は、ネットワーク50を介して、入力された顔認識の結果を端末装置100に送信する。
また、端末装置100からアルゴリズムのバージョンに関する問い合わせを受けた場合、サーバ装置200は、顔認識部272が顔認識の処理に利用している顔認識アルゴリズムのバージョンを端末装置100に通知する。まず、ネットワーク50を介して問い合わせを受けると、通信部271は、その問い合わせを受信し、顔認識部272に通知する。この通知を受けた顔認識部272は、顔認識の処理に利用している顔認識アルゴリズムのバージョンを確認し、そのバージョンを示す情報を通信部271に入力する。バージョンを示す情報が入力されると、通信部271は、ネットワーク50を介して、バージョンを示す情報を端末装置100に送信する。
以上、サーバ装置200の機能構成について説明した。
[4−3:端末装置100の動作]
次に、図20を参照しながら、本実施形態に係る端末装置100の動作について説明する。図20は、本実施形態に係る端末装置100の動作について説明するための説明図である。
図20に示すように、まず、画像入力部171を介して画像が入力される(S401)。画像が入力されると、端末装置100は、通信部174から通信環境の情報を取得し、負荷検知部177から負荷の情報を取得し、蓄電量検知部178から蓄電量の情報を取得し、顔認識部175からバージョンの情報を取得する(S402)。次いで、端末装置100は、判定部173の機能により、画像の処理主体を顔認識部175(端末装置100)にするか、サーバ装置200にするかを判定する(S403)。そして、端末装置100は、その判定の結果を確認し、処理主体として顔認識部175(判定結果=端末装置)が選択されたか否かを判断する(S404)。
処理主体として顔認識部175が選択された場合(判定結果=端末装置)、端末装置100は、処理をステップS405に進める。一方、処理主体としてサーバ装置200が選択された場合(判定結果=サーバ装置)、端末装置100は、処理をステップS406に進める。処理をステップS405に進めた場合、端末装置100は、依頼先切替部172の機能により、画像を顔認識部175に入力する(S405)。画像が入力されると、顔認識部175は、入力された画像に含まれる顔を認識する。顔認識部175の機能により画像に含まれる顔を認識した端末装置100は、処理をステップS408に進める。
一方、処理をステップS406に進めた場合、端末装置100は、依頼先切替部172の機能により、画像に含まれる顔の認識処理をサーバ装置200に依頼する(S406)。このとき、端末装置100は、通信部174の機能により、画像をサーバ装置200に送信する。画像を受信したサーバ装置200は、情報処理部202の機能により、受信した画像に含まれる顔を認識する。サーバ装置200による顔認識の結果は、ネットワーク50を介して端末装置100に送信される。端末装置100は、通信部174の機能によりサーバ装置200から顔認識の結果を受信し(S407)、処理をステップS408に進める。
処理をステップS408に進めると、端末装置100は、顔認識部175の機能による顔認識の結果、又は通信部174から受信した顔認識の結果を出力する(S408)。
以上、端末装置100による全体的な処理の流れについて説明した。
以上、本発明の第4実施形態について説明した。上記のように、本実施形態に係る技術を適用することにより、端末装置100がおかれている状況に応じて処理主体を適切に切り替えることが可能になる。その結果、顔認識の処理を効率的に実行することが可能になり、処理の高速化や省電力化に寄与する。このように、本実施形態に係る技術は、画像処理、音声処理、顔認識など、負荷の高い処理を実行するシステムにおいて有効に機能する。
<5:ハードウェア構成>
上記の端末装置100、サーバ装置200が有する各構成要素の機能は、例えば、図21に示すハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図21に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
図21に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma Display Panelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
<6:まとめ>
最後に、本発明の実施形態に係る技術内容について簡単に纏める。ここで述べる技術内容は、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の端末装置に対して適用することができる。
上記の端末装置の機能構成は次のように表現することができる。当該端末装置は、次のような処理部と、接続部と、選択部とを有する。当該処理部は、所定の処理を実行するものである。また、上記の接続部は、前記所定の処理を実行可能な外部装置と通信網を介して接続するためのものである。そして、上記の選択部は、所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記処理部又は前記接続部により接続された外部装置を選択するものである。このように、所定の条件に基づいて処理主体を切り替えられるようにすることで、所定の処理を効率的に実行することが可能になる。
(備考)
上記の情報処理部105、135、動画生成部155、顔認識部175は、処理部、第2の処理部の一例である。上記の通信部104、134、154、174、依頼先切替部102、132、152、172は、接続部の一例である。上記の判定部103、153、173は、選択部の一例である。上記の情報入力部101、131、画像入力部151、171は、データ出力部の一例である。上記の負荷検知部107、137、157、177は、負荷状態検知部の一例である。上記の通信部104、134、154、174は、接続状態検知部の一例である。
上記の蓄電量検知部108、138、158、178は、残量検知部の一例である。上記の判定部103、133、153、173、通信部104、134、154、174は、タイミング取得部、バージョン情報取得部の一例である。上記の判定部103、133、153、173は、バージョン比較部の一例である。上記のサーバ装置200は、外部装置の一例である。上記の情報処理部202、232、動画生成部252、顔認識部272は、第1の処理部の一例である。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
10 情報処理システム
50 ネットワーク
100 端末装置
101、131 情報入力部
102、132、152、172 依頼先切替部
103、133、153、173 判定部
104、134、154、174 通信部
105、135 情報処理部
106、136、156、176 記憶部
107、137、157、177 負荷検知部
108、138、158、178 蓄電量検知部
109、139、159、179 蓄電部
140 アルゴリズム取得部
151、171 画像入力部
155 動画生成部
175 顔認識部
200 サーバ装置
201、231、251、271 通信部
202、232 情報処理部
203、233、253、273 記憶部
234 アルゴリズム提供部
252 動画生成部
272 顔認識部
301 JPEGデコーダ
302 エフェクタ
303 AVCエンコーダ
304 バッファ

Claims (11)

  1. 所定の処理を実行する処理部と、
    前記所定の処理を実行可能な外部装置と通信網を介して接続するための接続部と、
    所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記処理部又は前記接続部により接続された外部装置を選択する選択部と、
    を備え
    前記所定の処理を施すべきデータを出力するデータ出力部をさらに備え、
    前記選択部により前記外部装置から前記処理部へと依頼先が変更された際、前記接続部は、前記データ出力部によるデータの出力を停止させ、前記処理部により前記所定の処理を続けて実行させるために必要なデータを前記外部装置から取得する、
    端末装置。
  2. 前記処理部の負荷状態を検知する負荷状態検知部をさらに備え、
    前記選択部は、前記負荷状態検知部により検知された前記処理部の負荷状態が閾値より高い場合に前記接続部により接続された外部装置を選択し、前記負荷状態検知部により検知された前記処理部の負荷状態が閾値より低い場合に前記処理部を選択する、
    請求項に記載の端末装置。
  3. 前記接続部による接続状態を検知する接続状態検知部をさらに備え、
    前記選択部は、前記接続状態検知部により検知された接続状態に応じて前記処理部又は前記接続部により接続された外部装置を選択する、
    請求項に記載の端末装置。
  4. 前記接続状態検知部は、前記外部装置との間で閾値より高速な通信が可能か否かを検知し、
    前記選択部は、前記接続状態検知部により前記外部装置との間で前記閾値より高速な通信が可能であることが検知された場合に前記接続部により接続された外部装置を選択する、
    請求項に記載の端末装置。
  5. 前記接続状態検知部は、前記外部装置との通信に利用可能な帯域幅を検知し、
    前記選択部は、前記接続状態検知部により検知された帯域幅が所定の閾値を上回っている場合に前記接続部により接続された外部装置を選択する、
    請求項に記載の端末装置。
  6. 少なくとも前記処理部の動作に利用される電力が蓄えられる蓄電部と、
    前記蓄電部に蓄えられている電力の量を検知する残量検知部と、
    をさらに備え、
    前記選択部は、前記残量検知部により検知された電力の量が所定値を下回っている場合に前記接続部により接続された外部装置を選択する、
    請求項に記載の端末装置。
  7. 前記選択部により前記外部装置から前記処理部へと依頼先が変更された際、前記外部装置から前記処理部へと処理主体を変更可能なタイミングを当該外部装置に問い合わせ、当該タイミングを示す情報を前記外部装置から取得するタイミング取得部をさらに備え、
    前記接続部は、前記タイミング取得部により取得された情報が示すタイミングで前記データ出力部にデータの出力を再開させ、前記処理部に前記所定の処理を実行させる、
    請求項に記載の端末装置。
  8. 前記外部装置が前記所定の処理を実行する際に利用するアルゴリズムのバージョン情報を取得するバージョン情報取得部と、
    前記バージョン情報取得部により取得されたバージョン情報が示すバージョンと、前記処理部が前記所定の処理を実行する際に利用するアルゴリズムのバージョンとを比較するバージョン比較部と、
    をさらに備え、
    前記選択部は、前記バージョン比較部による比較結果に基づき、前記バージョン情報取得部により取得されたバージョン情報が示すバージョンの方が新しいことが判明した場合には前記外部装置を選択する、
    請求項に記載の端末装置。
  9. 所定の処理を実行する第1の処理部を有する外部装置と;
    前記所定の処理を実行する第2の処理部と、
    前記外部装置と通信網を介して接続するための接続部と、
    所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記第2の処理部又は前記接続部により接続された外部装置を選択する選択部と、
    を有する、端末装置と;
    を含み、
    前記端末装置は、
    前記所定の処理を施すべきデータを出力するデータ出力部をさらに備え、
    前記選択部により前記外部装置から前記第2の処理部へと依頼先が変更された際、前記接続部は、前記データ出力部によるデータの出力を停止させ、前記第2の処理部により前記所定の処理を続けて実行させるために必要なデータを前記外部装置から取得する、
    情報処理システム。
  10. 所定の処理を実行する処理部と、前記所定の処理を実行可能な外部装置と通信網を介して接続するための接続部と、選択部と、前記所定の処理を施すべきデータを出力するデータ出力部と、を有する端末装置が、
    前記選択部により、所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記処理部又は前記接続部により接続された外部装置を選択する選択ステップを含み、
    前記選択部により前記外部装置から前記処理部へと依頼先が変更された際、前記接続部により、前記データ出力部によるデータの出力を停止させ、前記処理部により前記所定の処理を続けて実行させるために必要なデータを前記外部装置から取得するステップを含む、
    依頼先選択方法。
  11. 所定の処理を実行する処理部と、
    前記所定の処理を実行可能な外部装置と通信網を介して接続するための接続部と、
    所定の条件に基づき、前記所定の処理の実行を依頼する依頼先として、前記処理部又は前記接続部により接続された外部装置を選択する選択部と、
    を備え、
    前記所定の処理を施すべきデータを出力するデータ出力部をさらに備え、
    前記選択部により前記外部装置から前記処理部へと依頼先が変更された際、前記接続部は、前記データ出力部によるデータの出力を停止させ、前記処理部により前記所定の処理を続けて実行させるために必要なデータを前記外部装置から取得する、
    端末装置として、コンピュータを機能させるためのプログラム。
JP2010198982A 2010-09-06 2010-09-06 端末装置、情報処理システム、依頼先選択方法、及びプログラム Active JP5569269B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2010198982A JP5569269B2 (ja) 2010-09-06 2010-09-06 端末装置、情報処理システム、依頼先選択方法、及びプログラム
EP11179066A EP2426604A1 (en) 2010-09-06 2011-08-26 Terminal device, information processing system, request target selection method and program
CN2011102601771A CN102387190A (zh) 2010-09-06 2011-08-30 终端设备、信息处理系统、请求目标选择方法和程序
US13/221,243 US8775497B2 (en) 2010-09-06 2011-08-30 Terminal device, information processing system, request target selection method and program
US14/276,440 US9594552B2 (en) 2010-09-06 2014-05-13 Terminal device, information processing system, request target selection method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010198982A JP5569269B2 (ja) 2010-09-06 2010-09-06 端末装置、情報処理システム、依頼先選択方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2012058837A JP2012058837A (ja) 2012-03-22
JP5569269B2 true JP5569269B2 (ja) 2014-08-13

Family

ID=44651193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010198982A Active JP5569269B2 (ja) 2010-09-06 2010-09-06 端末装置、情報処理システム、依頼先選択方法、及びプログラム

Country Status (4)

Country Link
US (2) US8775497B2 (ja)
EP (1) EP2426604A1 (ja)
JP (1) JP5569269B2 (ja)
CN (1) CN102387190A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5569269B2 (ja) 2010-09-06 2014-08-13 ソニー株式会社 端末装置、情報処理システム、依頼先選択方法、及びプログラム
JP6095091B2 (ja) 2012-03-24 2017-03-15 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム
JP5954124B2 (ja) * 2012-11-09 2016-07-20 富士通株式会社 情報処理サービスプログラム,情報処理サービス方法,情報処理サービス端末及び情報処理サービスシステム
JP5949506B2 (ja) * 2012-11-30 2016-07-06 富士通株式会社 分散処理方法、情報処理装置、及びプログラム
JP6175793B2 (ja) * 2013-02-18 2017-08-09 ブラザー工業株式会社 情報処理プログラムおよび情報処理装置
US9515901B2 (en) 2013-10-18 2016-12-06 AppDynamics, Inc. Automatic asynchronous handoff identification
KR102173107B1 (ko) * 2013-12-11 2020-11-02 삼성전자주식회사 클라우드 서버 기반 영상 처리 방법, 단말 및 시스템
JP2015153176A (ja) * 2014-02-14 2015-08-24 株式会社コナミデジタルエンタテインメント 処理システム、サーバ、端末、サーバ処理プログラム及び端末処理プログラム
JP6004451B2 (ja) 2014-03-26 2016-10-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データセンター、データセンター間での負荷分散方法
JP2015191358A (ja) * 2014-03-27 2015-11-02 富士フイルム株式会社 中心人物判定システム、中心人物判定システムに利用される情報端末、中心人物判定方法、ならびに中心人物判定プログラムおよび記録媒体
US10067800B2 (en) * 2014-11-06 2018-09-04 Vmware, Inc. Peripheral device sharing across virtual machines running on different host computing systems
KR102264050B1 (ko) * 2014-11-28 2021-06-11 삼성전자주식회사 전자 장치들 간에 기능을 공유하는 방법 및 장치
US10429935B2 (en) 2016-02-08 2019-10-01 Comcast Cable Communications, Llc Tremor correction for gesture recognition
JP6847598B2 (ja) * 2016-06-30 2021-03-24 株式会社日立製作所 運用監視サーバおよび運用監視システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047890A (ja) 1998-07-31 2000-02-18 Hitachi Ltd 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
JP3558887B2 (ja) * 1998-08-28 2004-08-25 株式会社東芝 分散システム、その制御方法、および記憶媒体
US6463457B1 (en) * 1999-08-26 2002-10-08 Parabon Computation, Inc. System and method for the establishment and the utilization of networked idle computational processing power
DE10051535A1 (de) * 2000-10-18 2002-04-25 Heidelberger Druckmasch Ag Verfahren zum Übertragen von Daten zwischen einer ersten und einer zweiten Recheneinheit
JP2003076563A (ja) 2001-06-15 2003-03-14 Ntt Software Corp 分散オブジェクトミドルウェア連携方法及びプログラムを記録した記録媒体並びにプログラム
JP4042527B2 (ja) 2002-10-29 2008-02-06 株式会社日立製作所 呼出規約変換処理の生成方法
JP4555000B2 (ja) * 2003-06-20 2010-09-29 株式会社エヌ・ティ・ティ・ドコモ アプリケーションの適応的レプリケーションをサーバサイドコードユニットを用いて実行する方法および装置
US20050240919A1 (en) * 2004-04-27 2005-10-27 Kim Kyoug I Firmware update using memory card reader
US8355709B2 (en) * 2006-10-23 2013-01-15 Qualcomm Incorporated Device that determines whether to launch an application locally or remotely as a webapp
US8131302B2 (en) * 2007-07-20 2012-03-06 Broadcom Corporation Method and system for dynamically splitting jobs across multiple agnostic processors in wireless system
US8849897B2 (en) * 2007-11-15 2014-09-30 Microsoft Corporation Delegating application invocation back to client
US7913020B2 (en) * 2008-04-29 2011-03-22 Bose Corporation Automated exchangeable docking configuration
JP5081179B2 (ja) 2009-02-26 2012-11-21 パナソニック株式会社 スイッチ装置
JP5569269B2 (ja) * 2010-09-06 2014-08-13 ソニー株式会社 端末装置、情報処理システム、依頼先選択方法、及びプログラム
US8978024B2 (en) * 2012-08-02 2015-03-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Federated system automatic update communication to enable selective update of critical firmware elements

Also Published As

Publication number Publication date
CN102387190A (zh) 2012-03-21
EP2426604A1 (en) 2012-03-07
US8775497B2 (en) 2014-07-08
JP2012058837A (ja) 2012-03-22
US20140250431A1 (en) 2014-09-04
US20120059867A1 (en) 2012-03-08
US9594552B2 (en) 2017-03-14

Similar Documents

Publication Publication Date Title
JP5569269B2 (ja) 端末装置、情報処理システム、依頼先選択方法、及びプログラム
US8671435B2 (en) Method and system for visualizing an adaptive screen according to a terminal
WO2015081808A1 (en) Method and apparatus for data transmission
WO2012001462A1 (en) Method and apparatus for providing context-based power consumption control
WO2018006841A1 (zh) 二维码信息传输方法、装置以及设备
JP6925587B2 (ja) ビデオ符号化方法、装置、機器、及び記憶媒体
CN111603772B (zh) 区域检测方法、装置、设备及存储介质
EP3314438B1 (en) Thermal mitigation user experience
WO2019001015A1 (zh) 一种图像数据的编码、解码方法及装置
CN115461735A (zh) 具有边缘计算的媒体流式传输
US20210219127A1 (en) Data transmission method andterminal
US9112917B2 (en) Controller system and method therefor
US20090157896A1 (en) Tcp offload engine apparatus and method for system call processing for static file transmission
KR20130052373A (ko) 서버와 디바이스를 중개하는 방법 및 장치, 컴퓨터로 읽을 수 있는 기록 매체
WO2017099921A1 (en) Enhanced virtual switch for network function virtualization
CN116033158B (zh) 投屏方法和电子设备
US11838207B2 (en) Systems for session-based routing
WO2015196586A1 (zh) 虚拟桌面的配置、获取方法及装置
CN113192519A (zh) 音频编码方法和装置以及音频解码方法和装置
EP2726995B1 (en) Methods, apparatuses and computer program products for improving network transmission by reducing memory copy overhead by providing direct access to data
CN116033157B (zh) 投屏方法和电子设备
CN113220396B (zh) 一种嵌入页面管理方法和装置、电子设备、存储介质
CN116803065A (zh) 用于使用局域网(lan)将高可用性控制器用于本地云的方法和装置
US10819783B1 (en) Managing a data packet for an operating system associated with a multi-node system
CN116137720A (zh) 降低功耗的方法和电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140527

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140609

R151 Written notification of patent or utility model registration

Ref document number: 5569269

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250