JPWO2009153967A1 - サーバ装置、サーバ処理方法およびプログラム - Google Patents

サーバ装置、サーバ処理方法およびプログラム Download PDF

Info

Publication number
JPWO2009153967A1
JPWO2009153967A1 JP2010517715A JP2010517715A JPWO2009153967A1 JP WO2009153967 A1 JPWO2009153967 A1 JP WO2009153967A1 JP 2010517715 A JP2010517715 A JP 2010517715A JP 2010517715 A JP2010517715 A JP 2010517715A JP WO2009153967 A1 JPWO2009153967 A1 JP WO2009153967A1
Authority
JP
Japan
Prior art keywords
function
unit
request
client device
server device
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.)
Granted
Application number
JP2010517715A
Other languages
English (en)
Other versions
JP5285069B2 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010517715A priority Critical patent/JP5285069B2/ja
Publication of JPWO2009153967A1 publication Critical patent/JPWO2009153967A1/ja
Application granted granted Critical
Publication of JP5285069B2 publication Critical patent/JP5285069B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4583Automatically resolving scheduling conflicts, e.g. when a recording by reservation has been programmed for two programs in the same time slot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

機能が劣る旧世代のクライアント装置(103)に自らと同等の機能を実現させるサーバ装置(102)は、クライアント装置(103)にない機能による処理の要求を受け付ける要求受付部(201)と、状態情報テーブル(205a,205b)の示すサーバ装置(102)の状態に応じて要求処理ができるか否かを判定し、要求処理ができると判定された場合に、サーバ装置(102)が有する機能のうちのその要求処理の機能に対応する代替処理を機能情報テーブル(206a)を参照することにより特定する機器状態判定部(204)と、特定された代替処理を実行する代替処理提供部(207)と、代替処理の実行によって生成された送信データをクライアント装置(103)に送信する送信部(203)とを備える。

Description

本発明は、リモートから接続されたクライアント装置に対して、クライアント装置が要求する処理を提供するサーバ装置に関するものである。
近年、ブロードバンドインターネット接続やワイヤレスネットワークの普及、およびDLNA(Digital Living Network Alliance)等のデジタル家電機器の接続互換性の技術の向上により、宅内でもパーソナルコンピュータ以外のデジタル家電機器がネットワークを通じて接続および通信するようになり、TVとDVD(Digital Versatile Disk)レコーダ、または携帯電話とDVDレコーダのように家電機器同士が連携し、リモートからの番組予約や、番組視聴などの様々な新サービスが登場してきている。例えば、リモートにあるクライアント装置が、サーバ装置を操作するGUI(グラフィックスユーザーインターフェイス)を取得し、サーバ装置の動画や写真コンテンツを再生および視聴したり、ダウンロードしたりするサービスが登場している。しかし、デジタル家電機器同士が接続するようになると、新しい機器と古い機器が接続されるケースも十分に考えられ、その場合、古い機器上で新しい機器の機能を利用できない場合がある。例えば、上述した例で言えば、サーバ装置ではある特殊効果のある写真を描画できるが、クライアント装置ではできない場合や、動画に対して、通常再生はできるが倍速再生はできないというような場合が考えられる。
これに対する従来技術としては、例えば特許文献1に記載されたものが知られている。この特許文献1のサーバ装置は、ブラウザを立ち上げたクライアント装置からのHTTP通信によるGUI取得要求に際し、クライアント装置の表示能力を取得し、その能力に応じたコンテンツを提供する。このサーバ装置がクライアント装置の表示能力を取得するときには、サーバ装置のクライアントスマートエージェントがクライアント装置からのHTTP要求のヘッダ情報を解析することにより、クライアント装置の表示能力に関する情報を取得する。一方、クライアントスマートエージェントがヘッダ情報の解析に失敗した場合には、サーバ装置は、クライアントスマートエージェントをクライアント装置に送信することにより、オペレーティングシステムやBIOSに記録されたクライアント装置の表示能力に関する情報を取得する。サーバ装置は、取得したクライアント装置の表示能力に応じてGUIコンテンツをカスタマイズして提供する。
特開平11−194983号公報
しかしながら、上記特許文献1のサーバ装置においては、クライアント装置の表示能力に合わせてGUIコンテンツをカスタマイズして提供してしまうため、接続しているクライアント装置とサーバ装置との間に表示の能力の差異がある場合、クライアント装置上ではサーバ装置と異なったGUIコンテンツが表示されてしまうという課題を有する。クライアント装置がサーバ装置と接続し、サーバ装置とクライアント装置の双方で同時に同じGUIコンテンツを表示したい場合や、クライアント装置がサーバ装置を操作するGUIプログラムを取得し、サーバ装置の動画や写真コンテンツの再生および視聴等をする場合には、通常、サーバ装置上とクライアント装置上とで同一の表示がされている事が望ましい。
そこで、本発明は、上記従来の課題を解決するものであり、クライアント装置との間で機能上の差異がある場合でも、機能が劣る旧世代のクライアント装置に自らと同等の機能を実現させるサーバ装置を提供することを目的とする。
上記目的を達成するために、本発明に係るサーバ装置は、クライアント装置に接続されるサーバ装置であって、前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と、前記代替処理提供部による代替処理の実行によって生成されたデータを前記クライアント装置に送信する送信部とを備える。
例えば、サーバ装置は、動画コンテンツの再生、停止、早送りおよび巻き戻しの機能を有する。一方、クライアント装置は、サーバ装置と比べて旧世代のクライアント装置であって再生および停止の機能だけを有する。この場合、本発明では、クライアント装置にない例えば早送りの処理の要求を受け付けて、その早送りに対応する代替処理が実行され、その実行によって生成されたデータがクライアント装置に送信される。つまり、サーバ装置の早送りによる処理結果と同一の結果が、早送りの機能を持たないクライアント装置で得られるための代替処理が実行されて、その結果、生成されたデータがクライアント装置に送信される。例えば、代替処理として、動画コンテンツからフレームが間引かれ、早送り用の動画コンテンツが生成される。そして、この早送り用の動画コンテンツがクライアント装置に送信される。したがって、クライアント装置では、早送りの機能がなくても、通常の再生の機能を用いて早送り用の動画コンテンツを再生すれば早送りの映像を映し出すことができる。つまり、本発明では、クライアント装置との間で機能上の差異がある場合でも、機能が劣る旧世代のクライアント装置にサーバ装置と同等の機能を実現させることができる。さらに、本発明では、クライアント装置にサーバ装置と同等の機能を実現させることができるため、例えば、クライアント装置にGUIプログラムを送信してGUIコンテンツである操作画面をそのクライアント装置に表示させる場合でも、サーバ装置の操作画面と同一の操作画面を表示させることができる。
また、前記サーバ装置は、さらに、前記サーバ装置が有する少なくとも1つの機能を示す操作画面を表示する表示ステップと、前記少なくとも1つの機能のうちから選択された機能による処理を前記サーバ装置に要求する要求ステップとを、前記クライアント装置に実行させるためのGUI(Graphical User Interface)プログラムを保持するGUIプログラム保持部を備え、前記送信部は、さらに、前記GUIプログラムを前記クライアント装置に送信し、前記要求受付部は、前記クライアント装置による前記GUIプログラムの実行によって、前記サーバ装置が有する機能のうち前記クライアント装置にない機能による処理の要求を受け付けてもよい。
例えば、前記GUIプログラムは、さらに、前記選択された機能がクライアント装置にあるか否かを判別する判別ステップと、前記選択された機能がクライアント装置にあると判別された場合に、前記選択された機能による処理を前記クライアント装置に実行させる実行ステップとを、前記クライアント装置に実行させ、前記要求ステップでは、前記選択された機能がクライアント装置にないと判別された場合に、前記選択された機能による処理を前記サーバ装置に要求する。
これにより、クライアント装置のユーザに対して、クライアント装置にない機能であってもサーバ装置にある機能をユーザに選択させることができ、その機能による処理の要求を受け付けて代替処理を実行することができる。
また、前記GUIプログラムは、前記サーバ装置が有する少なくとも1つの機能を示す画面であって、前記サーバ装置で表示される画面であるサーバ操作画面と同一の前記操作画面を前記クライアント装置に表示させてもよい。
これにより、操作画面とサーバ操作画面とが同一となるため、ユーザはクライアント装置を違和感なく操作することができる。
また、前記機器情報テーブルは、前記サーバ装置が有する機能ごとに、当該機能と、当該機能に対応する代替処理とを示し、前記代替処理特定部は、さらに、前記要求処理の機能が前記機能情報テーブルに示されているか否かを判定し、前記要求処理の機能が前記機能情報テーブルに示され、且つ、前記状態判定部によって前記要求処理ができると判定された場合に、前記代替処理を特定してもよい。
これにより、要求処理の機能が機能情報テーブルに示されているか否かが判定されるため、その要求処理の機能が機能情報テーブルに示されていないことに起因する誤動作の発生などを抑えることができる。
また、前記状態情報記憶部は、前記サーバ装置の設定項目ごとに、当該設定項目の設定が正しく行われているか否かを示す設定情報テーブルを前記状態情報として記憶しており、前記状態判定部は、前記設定情報テーブルに示される全ての設定項目に対して設定が正しく行われていることが示されている場合に、前記要求処理ができると判定してもよい。
これにより、サーバ装置の設定が正しく行われていない場合には、要求処理ができないと判定され、代替処理が行われないため、設定が不適切な状態で代替処理を行ってしまうことによって生じる誤動作の発生などを抑えることができる。
また、前記状態情報記憶部は、前記サーバ装置が有する機能ごとに、当該機能の利用により前記サーバ装置の他の機能との間で競合が生じないか否かを示す競合情報テーブルを前記状態情報として記憶しており、前記状態判定部は、前記競合情報テーブルにおいて、前記要求処理の機能に対して競合が生じないことが示されている場合に、前記要求処理ができると判定してもよい。
これにより、競合が発生する場合には、要求処理ができないと判定され、代替処理が行われないため、競合が発生してしまう状態で代替処理を行ってしまうことによって生じる誤動作の発生などを抑えることができる。
また、前記送信部は、さらに、前記状態判定部によって判定された結果である判定結果を前記クライアント装置に通知し、前記要求受付部は、さらに、前記判定結果に応じて前記クライアント装置から生じるアクセス要求を受け付け、前記代替処理提供部は、前記要求受付部に受け付けられた前記アクセス要求に応じて、前記代替処理を実行してもよい。
これにより、クライアント装置は、サーバ装置に要求処理を要求しても、代替処理が実行される前に、その要求に対する判定結果の通知を受けるため、その判定結果に応じて、アクセス要求をサーバ装置に通知するか否かを判断することができ、サーバ装置への負担を抑えることができる。
なお、本発明では、このようなサーバ装置として実現することができるだけなく、集積回路、そのサーバ装置における処理動作の方法、その方法の処理動作をサーバ装置に実行させるためのプログラム、そのプログラムを格納する記録媒体としても実現することができる。
また、本発明に係るクライアント装置は、機能が相違するサーバ装置から、前記サーバ装置が保持するGUIデータを取得するクライアント装置であって、取得した前記GUIデータからGUIプログラムを生成するGUIデータ解析部と、前記サーバ装置が保持するコンテンツの一覧を取得し、さらに、前記クライアント装置の機能を保持しているクライアント機能部と、前記クライアント機能部で保持している機能に関する情報を記憶している能力記憶部と、前記クライアント機能部で取得されたコンテンツの一覧を表示し、さらに、前記コンテンツの一覧の中から所定のコンテンツが選択された場合に、前記能力記憶部に記憶されている情報を用いて、前記クライアント機能部に存在しており前記サーバ装置に存在しない差分機能を抽出するGUIプログラムと、抽出した前記差分機能をGUIコンテンツに表示する表示部とを備える。
例えば、家電機器同士が連携する場合、サーバ装置となる家電機器に存在するGUIデータをクライアント装置となる家電機器が取得することにより、クライアント装置からサーバ装置を制御することが可能となる。しかし、それぞれのクライアント装置は、表示能力が異なるため、必ずしもサーバ装置が提供するGUIデータを利用できると言う訳ではない。上記特許文献1では、ブラウザを立ち上げたクライアント装置からのGUIデータの取得要求に対して、サーバ装置がクライアント装置の表示能力を取得し、その表示能力に応じてGUIデータをサーバ装置側でカスタマイズして提供するという技術が提案されている。
しかし、上記特許文献1の技術では、サーバ装置がインターネット上に存在する場合であれば、随時サーバ装置の機能を更新することによって、機能が進化したクライアント装置に対応できるが、家庭内に存在する家電機器がサーバ装置となる場合は、サーバ装置自体の機能を更新することが困難であるため、機能が進化したクライアント装置の機能を十分引き出すことができないという課題を有する。例えば、サーバ装置からGUIデータを取得してサーバ装置に存在するコンテンツを利用する場合において、サーバ装置の機能がクライアント装置の機能より劣っている場合を考える。この場合、クライアント装置が受信したGUIデータは、機能が劣っているサーバ装置に合わせたものになっていることが多いため、ユーザがこのGUIデータをクライアント装置で使用する場合には、クライアント装置に存在する機能であってもその機能がサーバ装置に存在しない機能であれば、その機能をユーザに提供することができない等の課題が生じる。
本発明のクライアント装置では、上述の構成を有することにより、サーバ装置からGUIデータを取得してサーバ装置に存在するコンテンツを利用する場合において、サーバ装置の機能がクライアント装置の機能より劣っている場合であっても、優れた機能を有するクライアント装置の機能を使用することができる。
また、前記クライアント機能部は、前記GUIプログラムで前記差分機能を用いる旨の指示が受け付けられた場合、前記サーバ装置から取得したコンテンツを前記差分機能に応じたデータに変換し、前記表示部は、前記変換された動画データを前記GUIコンテンツに表示してもよい。
また、前記クライアント装置は、呼び出した機能を記憶する命令記憶部と、前記差分機能を呼び出すために必要な引数値を推測する引数値推測部と、を更に備え、前記引数値推測部は、前記能力記憶部に記憶されている情報と、前記命令記憶部に記憶されている情報とから、前記差分機能を呼び出すために必要な引数値を推測し、前記引数値推測部が推測した結果を元に、前記差分機能を呼び出してもよい。
なお、本発明では、このようなクライアント装置として実現することができるだけなく、集積回路、そのクライアント装置における処理動作の方法、その方法の処理動作をクライアント装置に実行させるためのプログラム、そのプログラムを格納する記録媒体としても実現することができる。
本発明のサーバ装置は、新世代のそのサーバ装置が持つ新しい機能を旧世代のクライアント装置に提供することが可能になるという効果が得られる。
図1は、本発明の実施の形態1におけるサーバ装置を含む家庭内ネットワークの構成図である。 図2は、本発明の実施の形態1におけるクライアント装置とサーバ装置に表示される画面を示す図である。 図3は、本発明の実施の形態1におけるクライアント装置とサーバ装置の構成図である。 図4は、本発明の実施の形態1におけるサーバ装置の設定情報テーブルを示す図である。 図5は、本発明の実施の形態1におけるサーバ装置の競合情報テーブルを示す図である。 図6は、本発明の実施の形態1におけるサーバ装置の機能情報テーブルを示す図である。 図7は、本発明の実施の形態1におけるサーバ装置およびクライアント装置の全体的な動作を示すフローチャートである。 図8Aは、本発明の実施の形態1における図7のステップS611〜S614の詳細な動作を示すフローチャートである。 図8Bは、本発明の実施の形態1における図7のステップS611〜S614の詳細な動作を示すフローチャートである。 図9は、本発明の実施の形態1におけるサーバ装置がクライアント装置に送信するファイルの一例を示す図である。 図10は、本発明の実施の形態1におけるサーバ装置がクライアント装置に送信するファイルの他の例を示す図である。 図11は、本発明の実施の形態1の変形例1におけるサーバ装置とクライアント装置の構成図である。 図12は、本発明の実施の形態1の変形例1における代替処理および静止画コンテンツの表示処理を示すフローチャートである。 図13は、本発明の実施の形態1の変形例2におけるクライアント装置の動作を示すフローチャートである。 図14は、本発明の実施の形態1の変形例2におけるクライアント装置の他の動作を示すフローチャートである。 図15は、本発明の実施の形態2におけるクライアント装置を含む家庭内ネットワークの構成図である。 図16は、本発明の実施の形態2におけるクライアント装置の構成図である。 図17は、本発明の実施の形態2における表示部に表示される動画コンテンツの一覧の画面の一例を示す図である。 図18は、本発明の実施の形態2における表示部に表示される再生操作画面の一例を示す図である。 図19は、本発明の実施の形態2における表示部に表示される再生操作画面の他の例を示す図である。 図20は、本発明の実施の形態2におけるクライアント装置が動画コンテンツの一覧の画面を表示する処理を示すシーケンス図である。 図21は、本発明の実施の形態2における再生対象の動画コンテンツが選択されたときのクライアント装置の処理を示すシーケンス図である。 図22は、本発明の実施の形態2におけるクライアント装置が動画コンテンツを通常再生する処理を示すシーケンス図である。 図23は、本発明の実施の形態2におけるクライアント装置が動画コンテンツを早送りする処理を示すシーケンス図である。
以下、本発明の実施の形態におけるサーバ装置およびクライアント装置について、図面を参照しながら説明する。
(実施の形態1)
本実施の形態におけるサーバ装置は、例えば旧世代のクライアント装置に接続し、そのクライアント装置よりも多くの機能を有する。
図1は、本実施の形態におけるサーバ装置を含む家庭内ネットワークの構成図である。
家庭内ネットワーク100は、有線ネットワークまたはBLUETOOTH等を含む無線ネットワークで実現され、本発明に係るサーバ装置102と、そのサーバ装置102に接続するクライアント装置であるリモート機器103〜105とを備える。リモート機器103〜105は、TV、DVDレコーダ、BluRayレコーダ、携帯電話、またはデジタルカメラ等の機器である。外部ネットワーク機器101は家庭内ネットワーク100の外部にあるネットワーク機能を有する機器であって、サーバ装置102に接続する。なお、リモート機器103〜105は、家庭内ネットワーク100に含まれ、直接、サーバ装置102に接続されているが、外部ネットワーク機器101を通して接続されてもよいし、リモート機器103〜105が外部ネットワークにあってもよい。したがって、本発明では、装置同士が互いに通信できる場所であれば、サーバ装置102およびリモート機器103〜105はどのような場所にあってもよい。
本実施の形態では、家庭内ネットワーク100内に存在する本発明のサーバ装置102がリモート機器103〜105と接続してそのリモート機器103〜105にはない機能による処理を提供することで、リモート機器103〜105上でサーバ装置102と同等の機能が実現されることを可能にする。なお、本発明における機能とは、目的とする処理が実行されるようにハードウェアおよびソフトウェアの少なくとも一方から構成されたものである。
なお、リモート機器103〜105はそれぞれ、同等の機能を有し、サーバ装置102に対して同等の処理を行う。したがって、以下、リモート機器103〜105のうち、リモート機器103をクライアント装置103として扱い、クライアント装置103とサーバ装置102との構成および処理動作について説明する。
ここで、本実施の形態におけるサーバ装置102の特徴について図2を用いて簡単に説明する。
図2は、本実施の形態におけるクライアント装置103とサーバ装置102に表示される画面を示す図である。
クライアント装置103がサーバ装置102に接続を要求すると、サーバ装置102は、サーバ装置102が有する動画コンテンツを操作するためのGUIプログラムをクライアント装置103に送信する。クライアント装置103は、このGUIプログラムを実行すると、サーバ装置102が有する全ての機能と同一の機能の選択を受け付けるためのGUIコンテンツである再生操作画面P1を生成して表示する。また、サーバ装置102でも、サーバ装置102が有する全ての機能の選択を受け付けるためのGUIコンテンツである再生操作画面P2を生成して表示する。したがって、本実施の形態では、サーバ装置102は、クライアント装置103に表示されるGUIコンテンツを、サーバ装置102に表示されるGUIコンテンツと同一にしている。
ここで、クライアント装置103は、例えば、サーバ装置102と比べて旧世代の機器であるために、サーバ装置102が有する機能(動画コンテンツに対する機能)よりも少ない機能を有している。具体的には、サーバ装置102は、動画コンテンツに対する機能として、再生、停止、早送り、および巻き戻しを有するが、クライアント装置103は、再生および停止しか保持していない。
このような場合でも、本実施の形態では、クライアント装置103は、GUIプログラムに従って、クライアント装置103が有する機能である再生および停止を示すボタンBt1,Bt2だけでなく、クライアント装置103が保持していない機能である早送りおよび巻き戻しを示すボタンBt3,Bt4も含む再生操作画面P1を生成して表示する。
また、本実施の形態のGUIプログラムは、再生操作画面P1に表示された機能の中からユーザによって選択された機能がクライアント装置にあるか否かを判別するステップと、その選択された機能がクライアント装置103にあると判別された場合に、その選択された機能による処理をクライアント装置103に実行させるステップと、その選択された機能がクライアント装置103にないと判別された場合に、その選択された機能による処理をサーバ装置102に要求するステップとを、クライアント装置103に実行させる。
したがって、クライアント装置103は、ユーザによるGUI操作によって、早送りまたは巻き戻しを示すボタンBt3,Bt4が選択されたときには、その早送りまたは巻き戻しの機能による処理をサーバ装置102に要求する。サーバ装置102は、早送りまたは巻き戻しの機能による処理の要求を受け付けると、その処理の代替となる処理(以下、代替処理という)をクライアント装置103に提供する。つまり、サーバ装置102は、代替処理を実行し、例えば動画コンテンツのフレームが間引きされた送信データ(例えば、後述の早送り用データ)を、早送りに対する代替処理結果として生成し、その送信データをクライアント装置103に送信する。
これにより、本実施の形態におけるサーバ装置102は、クライアント装置103との間で機能に差があっても、その差を吸収し、サーバ装置102に表示されるGUIコンテンツと同一のGUIコンテンツをクライアント装置103に表示させることができ、クライアント装置103でサーバ装置102と同等の機能を仮想的に実現することができる。また、サーバ装置102よりも古い各世代のクライアント装置103に対して同一のGUIプログラムを送信することができ、従来のような、GUIプログラム(GUIコンテンツ)のカスタマイズの手間を省くことができる。
図3は、本実施の形態におけるクライアント装置103とサーバ装置102の構成図である。
クライアント装置103は、GUIプログラム実行部111、要求送信部108、受信部109、動画用デコーダ107、GUIプログラム保存部110、および表示部112を備える。
要求送信部108は、サーバ装置102への接続要求を送信する。受信部109は、サーバ装置102の処理結果およびGUIプログラムを受信する。GUIプログラム保存部110はサーバ装置102から取得したGUIプログラムを保存する。動画用デコーダ107はサーバ装置102から受信した動画コンテンツ(例えば、早送り用データ)をデコードする。表示部112は動画用デコーダ107でデコードされた動画コンテンツの映像を表示する。GUIプログラム実行部111は、クライアント装置103がサーバ装置102から取得してGUIプログラム保存部110に保存されたGUIプログラムを実行する。また、このGUIプログラム実行部111は、再生操作画面などのGUIコンテンツを生成して表示部112に表示させるGUI表示処理部113と、GUIプログラム保存部110に保存されている、旧機器(クライアント装置103)の機能の一覧を表す旧機器機能情報115を参照し、GUI操作によって生じた命令を制御する制御部114と、サーバ装置102から受信部109で受信されたファイルを解析する解析部116とを有する。
サーバ装置102は、要求受付部201、GUIプログラム保存部202、状態情報記憶部205、機器状態判定部204、機能情報記憶部206、送信部203、代替処理提供部207、エラーメッセージ生成部208、およびコンテンツ保存部213を備える。
要求受付部201は、クライアント装置103の要求送信部108からの接続要求を受け付けると、GUIプログラム保存部202から、GUIを実現するためのGUIプログラムを取得して、そのGUIプログラムを送信部203からクライアント装置103に送信する。さらに、要求受付部201は、クライアント装置103からGUIを通じてサーバ装置102へ出力された代替処理要求を受け付ける。GUIプログラム保存部202は、上述のGUIを実現するためのGUIプログラムを保持している。GUIプログラムは、サーバ装置102で保持している動画コンテンツの一覧を表示するための情報、GUI操作によって生じる命令を制御する制御機構、XMLを解析する機能、および旧機器機能情報115を含んでいる。送信部203は、GUIプログラムと、サーバ装置102の処理結果をクライアント装置103に送信する。
機器状態判定部204は、サーバ装置102内に存在する設定情報テーブル205aと競合情報テーブル205bと機能情報テーブル206aを取得する。さらに、機器状態判定部204は、それらのテーブル205a,205b,206aを参照して、サーバ装置102内でクライアント装置103から要求された処理(代替処理)が実行可能かどうかを判定する。機器状態判定部204は、実行可能であると判定すると、代替処理を代替処理提供部207に要求して実行させる。なお、本実施の形態では、この機器状態判定部204が、設定情報テーブル205aと競合情報テーブル205bの示すサーバ装置102の状態に応じて、クライアント装置103から要求された処理ができるか否かを判定する状態判定部として構成されているとともに、機能情報テーブル206aを参照することにより代替処理を特定する代替処理特定部としても構成されている。つまり、機器状態判定部204は、状態判定部と代替処理特定部とを備えている。
状態情報記憶部205は、サーバ装置102の設定が十分に行われているかを示す上述の設定情報テーブル205aと、サーバ装置102が持つ機能の競合に関する情報を示す上述の競合情報テーブル205bとを保持している。なお、この設定情報テーブル205aと競合情報テーブル205bとを総称して状態情報テーブルという。機能情報記憶部206は、サーバ装置102の機能ごとに、その機能と、その機能を代替する機能とを対応付けた上述の機能情報テーブル206aを保持している。
代替処理提供部207は、旧世代のクライアント装置103の機能と新世代のサーバ装置102の機能との間に差異がある場合、つまり、機器状態判定部204で代替処理が実行可能であると判定された場合に、旧世代のクライアント装置103からの要求に対してその代替処理を提供する。
このような代替処理提供部207は、データ送信制御部209、送信データ生成部210、フレーム抽出部211、および動画用エンコーダ212を備える。データ送信制御部209は、機器状態判定部204からの代替処理要求を受け付けて、代替処理の結果である送信データの生成を送信データ生成部210に命令する。さらに、データ送信制御部209は、代替処理結果である送信データを送信部203からクライアント装置103に送信する。
送信データ生成部210は、データ送信制御部209から送信データの生成命令を受け付けると、コンテンツ保存部213から動画コンテンツを取り出す。そして、送信データ生成部210は、その動画コンテンツに対するエンコーディング命令およびフレーム抽出命令などの各命令をフレーム抽出部211または動画用エンコーダ212に発する。このフレーム抽出命令は、代替処理に必要とされるフレームを抽出させる命令である。コンテンツ保存部213は、サーバ装置102で利用可能な動画コンテンツを保存しており、例えばハードディスクによって構成される。フレーム抽出部211は、送信データ生成部210を介してコンテンツ保存部213から動画コンテンツを取得し、送信データ生成部210から発せられたフレーム抽出命令に応じて、その動画コンテンツから必要なフレームを抽出する。動画用エンコーダ212は、送信データ生成部210から発せられたエンコーディング命令に応じて、フレーム抽出部211が抽出したフレーム群のエンコーディングを行う。このようなエンコーディングが行われることによって、上述の代替処理結果である送信データが生成される。また、このように生成された送信データが上述の早送り用データである。
エラーメッセージ生成部208は、サーバ装置102内で発生しているエラーを示す情報であって、機器状態判定部204によって判定された結果であるエラー判定情報を機器状態判定部204から受け取る。また、エラーメッセージ生成部208は、そのエラー判定情報を用いて、クライアント装置103に提供するエラーメッセージを生成する。エラーメッセージを提供するときには、エラーメッセージ生成部208は、例えば、エラーメッセージを直接テキストメッセージとして送信部203を介してクライアント装置103に通知したり、エラーメッセージを表示するプログラムの置き場所を、送信部203を介してクライアント装置103に通知する。
図4は、サーバ装置102の設定情報テーブル205aを示す図である。
この設定情報テーブル205aは、行g1〜g3に示すように、接続設定や通信設定などの設定内容(設定項目)について、現在、これらの設定が正しく行われているか否かを設定状態として示している。例えば、設定情報テーブル205aの行g1は、サーバ装置102に接続される機器の登録の設定(接続機器の登録設定)が正しくなされていること(OK)を示し、行g2は、サーバ装置102に接続される機器の制限台数の設定(接続台数制限設定)がなされていないこと(NG)を示し、行g3は、サーバ装置102の通信速度の設定(通信速度設定)が正しくなされていること(OK)を示す。なお、図4の設定情報テーブル205aは、例として3つの設定内容についての設定状態を示しているが、設定内容は機器によって異なるのでこれだけに限らない。また、この設定情報テーブル205aは、サーバ装置102の設定状態が変更されるごとに、その変更された設定状態が反映されるように更新される。
図5は、サーバ装置102の競合情報テーブル205bを示す図である。
競合情報テーブル205bは、行g11〜g19に示すように、サーバ装置102の機能ごとに、その機能の名称(機能名)と、他の機能との競合関係に基づいて、現在、その機能が利用可能か否かを示している。例えば、競合情報テーブル205bの行g11は、機能名「fastforward」の機能(早送り)が現在他の機能と競合せずに利用可能であること(OK)を示し、行g13は、機能名「record」の機能(録画)が現在他の機能と競合するために利用できないこと(NG)を表している。また、この競合情報テーブル205bは、サーバ装置102で利用される機能が変更されるごとに、その変更された結果が反映されるように更新される。
図6は、サーバ装置102の機能情報テーブル206aを示す図である。
機能情報テーブル206aは、行g21〜g28に示すように、サーバ装置102の機能ごとに、その機能の機能名と、その機能による処理の代替となる処理(代替処理)の名称である代替処理名と、その代替処理を実行するためのプログラムのアクセス先である代替処理用のURLとを示す。例えば、機能情報テーブル206aの行g22は、サーバ装置102の早送りの機能名「fastForward」と、その早送りの代替処理名「altFastForward」と、この代替処理名の代替処理を実行するためのプログラムのアクセス先である代替処理用URL「http://A/BBB.cgi?/function=altFastForward」とを示している。また、この機能情報テーブル206aは、早送り、巻き戻し、回転、ズームイン、ズームアウト、2倍速再生および3倍速再生の機能に対する代替処理に関する情報を示す。なお、機能情報テーブル206aは、図6に示す機能名、代替処理名および代替処理用URLだけでなく、他の機能名、代替処理名および代替処理用URLを示していてもよい。
図7は、本実施の形態のサーバ装置102およびクライアント装置103の全体的な動作を示すフローチャートである。
まず、クライアント装置103の要求送信部108は、サーバ装置102に対し、サーバ装置102を操作するGUIを実現するためのGUIプログラムを要求する(ステップS601)。サーバ装置102の要求受付部201は、その要求(GUIプログラムの取得要求)を受け付け(ステップS602)、その要求に応じて、GUIプログラム保存部202からGUIプログラムを取得する(ステップS603)。サーバ装置102の要求受付部201は、取得されたGUIプログラムを送信部203からクライアント装置103に送信する(ステップS604)。クライアント装置103の受信部109は、GUIプログラムを取得すると、このGUIプログラムをGUIプログラム保存部110に格納する(ステップS605)。さらに、クライアント装置103のGUIプログラム実行部111は、そのGUIプログラムを実行することにより、GUI(再生操作画面P1)を通じて、ユーザにより選択された機能(例えば、早送り)を受け付ける(ステップS606)。
その際、まず、クライアント装置103の制御部114は、旧機器機能情報115を参照し(ステップS607)、参照結果に基づいて、その選択された機能(例えば、再生または早送り)がクライアント装置103に存在するか否かを判定する(ステップS607a)。制御部114は、クライアント装置103にその機能が存在すると判定すると(ステップS607のYES)、その機能に応じた処理を実行する(ステップS608)。例えば、選択された機能が再生であって、その再生が旧機器機能情報115に示されていれば、制御部114は、サーバ装置102に動画コンテンツを要求し、その動画コンテンツのデコードを動画用デコーダ107に実行させ、表示部112にその動画コンテンツの映像を表示させる。
一方、機能が存在しないと判定すると(ステップS607のNO)、クライアント装置103の制御部114は、要求送信部108に対し、存在しない機能による処理、つまりその処理の代替となる処理をサーバ装置102に対して要求するよう命令する(ステップS609)。サーバ装置102の要求受付部201がこの要求(代替処理要求)を受けると(ステップS610)、機器状態判定部204は、設定情報テーブル205aおよび競合情報テーブル205bからなる状態情報テーブルと、機能情報テーブル206aを参照する(ステップS611)。そして、機器状態判定部204は、その参照結果に基づいて、代替処理の提供が行えるかどうかを判定する(ステップS611a)。
機器状態判定部204は、代替処理を提供できると判定した場合には(ステップS611aのYES)、代替処理提供部207に代替処理を実行させる(ステップS612)。代替処理を実行した代替処理提供部207は、代替処理の処理結果を送信部203からクライアント装置103に送信する(ステップS614)。一方、機器状態判定部204は、代替処理が提供できないと判定した場合には(ステップS611aのNO)、エラーメッセージ生成部208にエラーメッセージを生成させる(ステップS613)。エラーメッセージを生成したエラーメッセージ生成部208は、そのエラーメッセージを送信部203からクライアント装置103に送信する(ステップS614)。
図8Aおよび図8Bは、図7のステップS611〜S614の詳細な動作を示すフローチャートである。
なお、この図8Aおよび図8Bに示す動作では、クライアント装置103上には前述のGUIを実現するためのGUIプログラムがあらかじめダウンロードおよび保存されており、クライアント装置103上で動画コンテンツが再生されているものとする。また、このGUIでは、個々の動画コンテンツごとに、動画コンテンツとコンテンツ名が紐づけされている。例えば、ユーザが特定の動画コンテンツを選択した時に、このGUIでは、どの動画コンテンツが選択されたのかという情報(コンテンツ名)を内部的に取得することができる。また、再生要求は、“再生”の機能をあらわすplay関数を用いて、“play(http://hostname/program.cgi?contentname=aaa.mpg)”の様に実現されている。また、図8Aおよび図8Bに示す動作は、クライアント装置103が再生している動画コンテンツの早送りの代替処理をサーバ装置102に対して要求する場合の動作である。なお、図8Aおよび図8Bでは、早送りに対応する代替処理が行われる処理動作を例に挙げて説明しているが、巻き戻しやその他の機能に対応する代替処理が行われてもよく、代替処理される機能は早送りだけに限らない。
サーバ装置102の要求受付部201は、クライアント装置103に存在しない機能(機能名)を示す代替処理要求を受信すると(ステップS610)、その代替処理要求を解析し、要求された機能を機器状態判定部204に通知する(ステップS707)。機器状態判定部204は、状態情報記憶部205に保存されている設定情報テーブル205aの全ての行を参照し、全ての設定内容において設定が十分に行われているか調べる(ステップS708)。つまり、機器状態判定部204は、全ての設定内容に対応する設定状態が「OK」を示しているか否かを判定する。全ての設定内容についての設定に問題が無いと判定すると(ステップS708のYES)、次に、機器状態判定部204は、代替処理があるかどうかを、機能情報テーブル206aを参照して判断する(ステップS709)。例えば、代替処理要求が早送りの機能名「fastForward」を示している場合、図6に示す機能情報テーブル206aの行g22の2列目に、代替処理名「altFastForward」と代替処理用URL「http://A/BBB.cgi?/function=altFastForward」とが示されているため、機器状態判定部204は、早送りに対応する代替処理があると判定する。このとき、機器状態判定部204は、さらに、機能情報テーブル206aの行g22の3列目から代替処理用URLを取得する。
次に、機器状態判定部204は、代替処理があると判定すると(ステップS709のYES)、状態情報記憶部205内にある競合情報テーブル205bを参照し、代替処理要求に示される機能が現在利用可能であるか否かを判定する(ステップS710)。つまり、機器状態判定部204は、代替処理要求に示される機能を利用することによって他の機能との間で競合が発生し、その代替処理要求に示される機能が利用不可能となるか否かを判定する。ここで、機器状態判定部204は、競合が発生せずにその機能が利用可能であると判定すると(ステップS710のNO)、ステップS708〜ステップS710の判定結果および代替処理用URLをファイル(XML)に記載し(ステップS711)、要求受付部201および送信部203を通じて、そのファイルをクライアント装置103の受信部109に送信する(ステップS713)。
また、機器状態判定部204は、ステップS708で何れかの設定が正しく行われていないと判定したとき(ステップS708のNO)、ステップS709で代替処理がないと判定したとき(ステップS709のNO)、または、ステップS710で、競合が発生してその機能が利用不可能であると判定したとき(ステップS710のYES)には、それらの判定結果であるエラー判定情報(ステップS712)を取得する。そして、機器状態判定部204は、そのエラー判定情報とエラー処理用URLをファイル(XML)に記載する(ステップS711)。機器状態判定部204は、要求受付部201および送信部203を通じて、そのファイルをクライアント装置103の受信部109に送信する(ステップS713)。
図9は、サーバ装置102がクライアント装置103に送信するファイルの一例を示す図である。
このファイルf1は、ステップS710で、競合が発生せずに機能が利用可能であると判定された場合(ステップS710のNO)に生成された、XML(Extensible Markup Language)で記載されたファイルである。このファイルf1中には<result>タグがある。この<result>タグの中には、ステップS708の判定結果、つまり設定の状態を示す<setting>タグと、ステップS709の判定結果、つまり代替処理が存在するかどうかを示す<altenative>タグと、ステップS710の判定結果、つまり競合が発生するか否かを示す<competition>タグと、ステップS709で取得された代替処理用URLを含む情報であって、早送りの代替処理のプログラム(代替処理用プログラム)にアクセスするためのurl情報を示す<url>タグとが記載されている。
ここで、ステップS708〜S710において、サーバ装置102は設定情報テーブル205aを始めに参照し、その後、機能情報テーブル206a、競合情報テーブル205bと順に参照していることによって、余分な参照プロセスを避けている。例えば、設定情報テーブル205aに、設定が十分に行われていないと示されているにも関わらず、先に、機能情報テーブル206aおよび競合情報テーブル205bを参照し、代替処理を実行できると判断しても、最終的に設定が不十分であれば、機能情報テーブル206aを参照した意味が無くなるためである。
なお、本実施の形態では、機器状態判定部204が状態情報記憶部205と機能情報記憶部206に基づいて取得した代替処理用URLおよび判定結果をXMLの形式で、クライアント装置103に通知しているが、クライアント装置103に通知する方法はどのような方法であってもよい。例えば、テキストやプログラム、バイナリ等で通知してもよい。また、クライアント装置103が自分に機能があるかどうかを調べる機能がない場合でも、要求受付部201がクライアント装置103から受け付けた要求のHTTPヘッダを解析してUser−Agentを取得し、クライアントの能力を調べ、それに応じた代替処理用URLを機能情報テーブル206aから取得する事によって、その代替処理用URLおよび判定結果の通知を実現することが可能である。
図8Bに示すように、クライアント装置103の受信部109がファイルをサーバ装置102から受信すると(ステップS714)、クライアント装置103の解析部116は、そのファイルの<result>タグを解析する(ステップS715)。ここでは、解析部116が図9に示すファイルf1の<result>タグを解析する場合の処理動作について説明する。
解析部116は、<result>タグ内にあるすべてのタグに問題が記載されているか否か、つまりファイルf1にエラーが示されているか否かを判定する(ステップS716)。例えば、解析部116は、ファイルf1の<setting>タグに、全ての設定が正しく行われていることを示す「OK」が記載されており、<altenative>タグに、代替処理が存在すること示す「YES」が記載されており、<competition>タグに、競合が発生しないために機能が利用可能であることを示す「NO」が記載されているため、全てのタグに問題が記載されていないと判定する。
解析部116は、問題が記載されていないと判定すると(ステップS716のNO)、要求送信部108に対して、<url>タグに記載されているurl情報「http://hostName/BBB.cgi?status=normal&function=altFastForward」にアクセスさせる(ステップS717)。例えば、要求送信部108は、play(url情報)からなるアクセス要求「play(http://hostname/BBB.cgi?status=normal&function=altFastForward)」を送信する。
サーバ装置102の要求受付部201は、このアクセス要求を受けると(ステップS719)、このアクセス要求のurl情報から、実行する代替処理用プログラムの名称「BBB.cgi、status」、ステータス情報「status=normal」及びファンクション情報「function=altFastForward」を文字列操作によって取り出し、機器状態判定部204に通知する。機器状態判定部204は、ステータス情報をチェックし(ステップS720)、そのステータス情報がノーマルを示すか否か、つまりエラーを示すか否かを判定する(ステップS721)。この場合、ステータス情報は「status=normal」であるため、機器状態判定部204は、ノーマルを示す、つまりサーバ装置102内で問題は無いと判断し(ステップS721のNO)、プログラム名「BBB.cgi」の代替処理用プログラムの実行を代替処理提供部207のデータ送信制御部209に要求すると共に、そのデータ送信制御部209にファンクション情報を通知する。
この要求および通知を受けたデータ送信制御部209は、プログラム名「BBB.cgi」の代替処理用プログラムを起動し、送信データ生成部210に対して送信データの生成を要求する。送信データ生成部210は、コンテンツ保存部213から動画コンテンツを取り出し(ステップS722)、フレーム抽出部705に対して、クライアント装置103へ送信するフレームをその動画コンテンツの中から抽出させることにより(ステップS723)、送信データである早送り用データを生成する。
この場合、フレーム抽出部705は、早送り用データを生成するために、動画コンテンツをデコードして、デコードされた動画コンテンツのIフレームおよびPフレームのみを抽出する。なお、ファンクション情報が「function=altRewind」、つまり巻き戻しの代替処理を示す場合には、フレーム抽出部705は、早送りの場合の逆の処理を行い、巻き戻しの代替処理要求を受信した時点から以前のIフレームおよびPフレームを抽出する。また、ファンクション情報がその他の機能(例えば2倍速再生等)の代替処理を示す場合にも、フレーム抽出部705は、代替処理要求を受信した時点から同様に適切なフレームを抽出する。その後、動画用エンコーダ212は、抽出したフレームを再エンコードして早送り用データを生成し(ステップS724)、送信データ生成部210、データ送信制御部209および送信部203を通じてクライアント装置103の受信部109にその早送り用データを順次送り出す(ステップS727)。
クライアント装置103の受信部109は、サーバ装置102の処理結果を受信し(ステップS728)、その処理結果がエラーを示すか否かを判定する(ステップS728a)。上述の例の場合、受信部109は、動画コンテンツに対する処理結果である早送り用データを受信するため、その処理結果がエラーを示さないと判定する。受信部109は、エラーを示さないと判定すると(ステップS728aのNO)、この早送り用データを動画用デコーダ107に出力してデコードさせる(ステップS729)。そして、動画用デコーダ107は、デコードされた早送り用データを表示部112に順次表示させる(ステップS731)。その結果、早送り用データが再生される。
再生される早送り用データの映像は、動画コンテンツが早送りされている映像と見かけ上同等になる。したがって、クライアント装置103は、早送り用データを単純に通常再生すれば、動画コンテンツの早送り再生と同等の機能を実現できる。なお、早送りデータなどのデータをサーバ装置102からクライアント装置103に送信する方法や、そのデータをエンコードする方法、クライアント装置103の動画用デコーダ107がそのデータをデコードする方法等に関しては、さまざまなプロトコルや方法があり、本発明では、何れのプロトコルや方法を用いてもよい。
次に、代替処理を提供できない場合を説明する。
図10は、サーバ装置102がクライアント装置103に送信するファイルの他の例を示す図である。
このファイルf2は、図8AのステップS710で、競合が発生することにより機能が利用不可能であると判定された場合(ステップS710のYES)に生成された、XMLで記載されたファイルである。ファイルf1と同様、このファイルf2中には、<result>タグがある。この<result>タグの中には、ステップS708の判定結果、つまり設定の状態を示す<setting>タグと、ステップS709の判定結果、つまり代替処理が存在するかどうかを示す<altenative>タグと、ステップS710の判定結果、つまり競合が発生するか否かを示す<competition>タグと、エラー処理用URLを含む情報であって、エラー処理のプログラム(エラー処理用プログラム)にアクセスするためのurl情報を示す<url>タグとが記載されている。
図8Bに示すように、クライアント装置103の受信部109は、ファイルf2をサーバ装置102から受信し(ステップS714)、解析部116はそのファイルf2の<result>タグを解析する(ステップS715)。その結果、解析部116は、ファイルf2の<result>タグ内にあるすべてのタグに問題が記載されているか否か、つまりファイルf2にエラーが示されているか否かを判定する(ステップS716)。例えば、解析部116は、このファイルf2の<competition>タグに、競合が発生するために機能が利用不可能であることを示す「YES」が記述されているため、タグに問題が記載されていると判定する。
解析部116は、問題が記載されていると判定すると(ステップS716のYES)、要求送信部108に対して、<url>タグに記載されているurl情報「http://hostName/error.cgi?status=abnormal&function=altFastForward」にアクセスさせる(ステップS718)。例えば、要求送信部108は、play(url情報)からなるアクセス要求「play(http://hostName/error.cgi?status=abnormal&function=altFastForward&competition=yes)」を送信する。
サーバ装置102の要求受付部201は、このアクセス要求を受けると(ステップS719)、このアクセス要求のurl情報から、実行するエラー処理用プログラムの名称「error.cgi」、ステータス情報「status=abnormal」、ファンクション情報「function=altFastForward」、およびエラー情報「competition=yes」を文字列操作によって取り出し、機器状態判定部204に通知する。機器状態判定部204は、ステータス情報をチェックし(ステップS720)、そのステータス情報がノーマルを示すか否か、つまりエラーを示すか否かを判定する(ステップS721)。この場合、ステータス情報は「status=abnormal」であるため、機器状態判定部204は、ノーマルを示さない、つまりエラーを示すと判断し(ステップS721のYES)、エラーメッセージ生成部208に対して、エラー情報「competition=yes」を通知する(ステップS725)。言い換えれば、機器状態判定部204は、エラー情報が競合の発生を示しているので、その競合の発生を通知する。エラー情報の通知を受けたエラーメッセージ生成部208は、プログラム名「error.cgi」のエラー処理用プログラムを起動し、クライアント装置103にエラーメッセージを表示させるためのエラー表示用プログラムを生成し(ステップS726)、送信部203からクライアント装置103に送信する(ステップS727)。
クライアント装置103の受信部109は、サーバ装置102の処理結果を受信し(ステップS728)、その処理結果がエラーを示すか否かを判定する(ステップS728a)。上述の例の場合、受信部109は、エラー情報に対する処理結果であるエラー表示用プログラムを受信するため、その処理結果がエラーを示すと判定する。受信部109は、エラーを示す判定すると(ステップS728aのYES)、受信したエラー表示用プログラムを実行し(ステップS730)、エラーメッセージを表示部112に表示させる(ステップS731)。これにより、クライアント装置103のユーザは、サーバ装置102内で発生したエラーを把握する事が可能になる。
この方法を用いれば、サーバ装置102は、GUIによるエラー処理と各世代の機器に応じたエラーGUIとを変更する必要がなくなり、旧世代のクライアント装置103に接続したとしても上記仕組みの流用が可能になる利点もある。
なお、本実施の形態では、エラーメッセージを通知する手段として、エラーメッセージを表示するエラー表示用プログラムを生成して送信し、GUIの形でユーザに通知する方式を取っている。しかし、クライアント装置103にメッセージを通知する手段としては、メッセージだけを文字列として通知してもよいし、クライアント装置103上でwindow表示をしてもよく、ユーザにメッセージを通知することができれば、どのような手段であってもよい。
また、本実施の形態では、代替処理用プログラムまたはエラー処理用プログラムへアクセスする際、まず、XMLを用いてアクセス先をクライアント装置103に通知し、クライアント装置103からそのプログラムへのアクセスの要求があったときに、そのプログラムにアクセスしている。つまり、サーバ装置102からクライアント装置103へ処理工程を1度折り返す仕組みを用いている。しかし、このような仕組みを用いなくても、本発明の効果を得ることができる。具体的には、通知を受けた機器状態判定部204が要求された機能の機能名「fastForward」を用いて、機能情報テーブル206aから代替処理用のURLを取得し、代替処理用プログラムに直接アクセスする。
しかしながら、XML等を用いてクライアント装置103に処理を預けるにはメリットがある。サーバ装置102は、PC(パーソナルコンピュータ)のように高性能CPU(Central Processing Unit)や大容量のメモリを備えていない状況であっても、複数のクライアント装置103からの要求を確実に処理する必要がある。そのため、サーバ装置102に高負荷が掛かっている状況下では、代替処理やエラーメッセージの提供を遅延させた方がよい。したがって、本実施の形態では、サーバ装置102がクライアント装置103に処理を預ける手段として、XML等を用いてクライアント装置103に一時的に処理を預けているのである。つまり、サーバ装置102は自装置の都合に合わせてクライアント装置103を制御する主導権を握れるというメリットである。また、サーバ装置102は、XMLのファイルをクライアント装置103に送信するときに、自装置の都合に合わせて、所定時間経過後に、または、所定の条件が満たされたときに代替処理用URLにアクセスさせるような情報をクライアント装置103に通知してもよい。
このように、本実施の形態によれば、サーバ装置102がクライアント装置103に、クライアント装置103にない機能による処理を代替処理として提供できるので、クライアント装置103に送信するGUIプログラム(GUIコンテンツ)を、サーバ装置102内でクライアント装置103の能力で実行可能な範囲内にカスタマイズせずに、クライアント装置103上でサーバ装置102と同等の表示ができ、クライアント装置103が能力の劣る旧世代の機器であっても新世代のサーバ装置102と同等の機能を実現可能となるという効果が得られる。
また、本実施の形態では、状態情報テーブルなどを用いた判定が行われるため、サーバ装置102と他の機器との接続や切断などの設定状態、および、サーバ装置102内にある機能同士の競合など、サーバ装置102の状態が様々に変化しても、処理の大幅な遅延や停止、致命的なエラーを回避し、クライアント装置103に対して確実に応答を返すことができる。このような判定は、PCのサーバと比べてメモリ容量やCPUの処理能力などが劣るサーバ装置102に対して、複数の機器から同時に同一機能の利用が要求される場合や設定が頻繁に変更される場合に特に有効である。
(変形例1)
以下、本実施の形態における第1の変形例に係るサーバ装置について、図面を参照しながら説明する。本変形例に係るサーバ装置は、上記実施の形態1のように動画コンテンツに対する機能(早送りなど)の代替処理ではなく、静止画コンテンツに対する機能(回転など)の代替処理をクライアント装置に提供する。つまり、本変形例におけるサーバ装置は、ユーザがクライアント装置でサーバ装置の静止画コンテンツを閲覧する場合に、クライアント装置に対して、静止画コンテンツにおける、回転、拡大、縮小、またはイフェクト等の機能の代替処理を与える。
図11は、本変形例におけるサーバ装置とクライアント装置の構成図である。
本変形例におけるクライアント装置103Aは、GUIプログラム実行部111、要求送信部108、受信部109、静止画用デコーダ117、GUIプログラム保存部110、および表示部112を備える。また、本変形例におけるサーバ装置102Aは、要求受付部201、GUIプログラム保存部202、状態情報記憶部205、機器状態判定部204、機能情報記憶部206、送信部203、代替処理提供部207A、エラーメッセージ生成部208、およびコンテンツ保存部213を備える。また、代替処理提供部207Aは、データ送信制御部209、送信データ生成部210、静止画用エンコーダ215、および変換部214を備える。なお、図11に示す構成要素のうち、上記実施の形態1の図3に示す構成要素と同一の機能および構成を有する構成要素に対しては、実施の形態1と同一の符号を付して示し、その詳細な説明は省略する。また、コンテンツ保存部213は静止画コンテンツを保存している。
代替処理提供部207の変換部214は、クライアント装置103からの、静止画コンテンツに対する代替処理要求である編集要求に応じて、その静止画コンテンツを変換する。静止画用エンコーダ215は、その変換された静止画コンテンツをエンコードする。クライアント装置103Aの静止画用デコーダ117は、サーバ装置102Aの処理結果である変換されてエンコードされた静止画コンテンツをデコードして表示部112に表示させる。
本変形例と上記実施の形態1との相違点は、サーバ装置102の変換部214を使用し、回転、拡大、縮小、特殊効果等が付加された静止画像を生成し、クライアント装置103で表示可能にする点である。
図12は、本変形例における代替処理および静止画コンテンツの表示処理を示すフローチャートである。ここでは、上記実施の形態1と同様に、クライアント装置103A上には、GUIを実現するためのGUIプログラムがあらかじめダウンロードされ、ユーザがクライアント装置103A上で静止画コンテンツを閲覧しているものとする。このとき、サーバ装置102Aおよびクライアント装置103Aは、上記実施の形態1の図7、図8Aおよび図8Bに示す動作と同様の動作を行うが、図8Bに示すステップS721〜S731の処理の代わりに、静止画コンテンツの編集を代替処理として実行し、編集された静止画データ(送信データ)の静止画を表示する。
つまり、機器状態判定部204は、クライアント装置103Aから受けたアクセス要求に示されるステータス情報をチェックし、エラーを示すか否かを判定する(ステップS1121)。ここで、機器状態判定部204がエラーを示さないと判定すると(ステップS1121のNO)、送信データ生成部210は、コンテンツ保存部213より静止画コンテンツを取得し(ステップS1122)、変換部214へ取得した静止画コンテンツを受け渡し、その静止画コンテンツを変換させる(ステップS1123)。このとき、変換部214は、エンコードされている静止画コンテンツをデコードして変換する。静止画用エンコーダ215は、変換された静止画コンテンツを再びエンコードし(ステップS1124)、変換およびエンコードされた静止画データを送信データとして、送信部203からクライアント装置103Aに送信する(ステップS1127)。
クライアント装置103Aの受信部109は、サーバ装置102Aの処理結果を受信し(ステップS1128)、その処理結果がエラーを示すか否かを判定する(ステップS1128a)。上述の例の場合、受信部109は、静止画コンテンツに対する処理結果である静止画データを受信するため、その処理結果がエラーを示さないと判定する。受信部109は、エラーを示さないと判定すると(ステップS1128aのNO)、静止画データを静止画用デコーダ117に出力してデコードさせる(ステップS1129)。そして、静止画用デコーダ117は、デコードされた静止画データの画像を表示部112に表示させる(ステップS1131)。
また、図12に示すステップS1125,S1126,S1130の処理は、上記実施の形態1の図8Bに示すステップS725,S726,S730の処理と同様である。
なお、上記実施の形態1および変形例1では、動画または静止画に関する代替処理を行っているが、代替処理は、どのような処理でもよく、音声に関する代替処理であってもよい。例えば、録音した音声コンテンツに様々な効果を与える機能(効果付与機能)を有する新世代のサーバ装置とその効果付与機能が無い旧世代のクライアント装置が接続されている場合に、そのサーバ装置は、旧世代のクライアント装置にその効果付与機能による処理を提供する。
(変形例2)
ここで、上記実施の形態1における第2の変形例について説明する。
本変形例に係るサーバ装置102は、上記実施の形態1のGUIプログラムとは異なるGUIプログラムをクライアント装置103に送信する点に特徴がある。つまり、本変形例に係るGUIプログラムを実行するクライアント装置103は、クライアント装置103が有する機能(例えば、動画コンテンツの録画)であっても、所定の条件が満たされた場合には、その機能に応じた処理をサーバ装置102に要求する。なお、以下の説明では、その機能を録画として説明するが、他の機能であってもよい。また、その機能が録画の場合には、クライアント装置103およびサーバ装置102はそれぞれ、その機能によって、配信される動画コンテンツを受信して記録媒体にその動画コンテンツを記録することができる。
図13は、本変形例に係るクライアント装置103の動作を示すフローチャートである。
まず、クライアント装置103の受信部109は、サーバ装置102からGUIプログラムをダウンロードしてGUIプログラム保存部110に格納する(ステップS2002)。GUI表示処理部113は、そのGUIプログラムを実行して、GUIコンテンツである再生操作画面を表示部112に表示させる。クライアント装置103の制御部114は、ユーザによるGUI操作に応じて、その再生操作画面に表示されている機能のうち「録画」を選択する(ステップS2004)。その結果、制御部114は、クライアント装置103が備えている記録媒体の残容量を特定する(ステップS2006)。そして、制御部114は、その残容量がしきい値よりも多いか否かを判定する(ステップS2008)。つまり、制御部114は、録画対象の動画コンテンツの全てを記録媒体に格納することができるか否かを判定する。このしきい値は、録画対象の動画コンテンツのデータ量であってもよく、予め定められた値であってもよい。
制御部114は、ステップS2008で残容量が多いと判定すると(ステップS2008のYES)、その録画対象の動画コンテンツの録画を、クライアント装置103の録画の機能を有する処理部に実行させる(ステップS2010)。一方、制御部114は、残容量がしきい値以下であると判定すると(ステップS2008のNO)、その録画対象の動画コンテンツの録画をサーバ装置102に要求する(ステップS2012)。
図14は、本変形例に係るクライアント装置103の他の動作を示すフローチャートである。なお、ここでは、録画は、いわゆる予約録画であって、その機能が選択されたときには実行されず、その機能が選択されてから録画対象の動画コンテンツの配信が開始されるまでの期間(録画開始時間)だけ待機し、その配信が開始される時点で実行される。
クライアント装置103は、上述のステップS2002〜S2006と同様の処理を行い、制御部114は、残容量がしきい値よりも多いか否かを判定する(ステップS2008)。ここで、制御部114は、ステップS2008で残容量が多いと判定すると(ステップS2008のYES)、録画開始時間経過後に、その録画対象の動画コンテンツの録画を、クライアント装置103の録画の機能を有する処理部に実行させる(ステップS2010)。一方、制御部114は、残容量がしきい値以下であると判定すると(ステップS2008のNO)、まず、クライアント装置103に備えられた記録媒体に格納されているコンテンツの消去を促すメッセージを表示部112に表示させ、ユーザにその消去を要求する(ステップS2112)。制御部114は、ユーザによるGUI操作に応じて、消去が選択されたか否かを判定する(ステップS2114)。
ここで、制御部114は、消去が選択されたと判定すると(ステップS2114のYES)、コンテンツの消去によって残容量が上記しきい値以上になるまでに要する消去時間を特定して、その消去時間をプログレスバーで表示部112に表示させる(ステップS2116)。制御部114は、さらに、録画開始時間がステップS2116で特定された消去時間よりも長いか否かを判定する(ステップS2118)。ここで、制御部114は、録画開始時間が長いと判定すると(ステップS2118のYES)、録画開始時間経過後に、その録画対象の動画コンテンツの録画を上述の処理部に実行させる(ステップS2120)。
一方、制御部114は、ステップS2114で消去が選択されなかったと判定したとき(ステップS2114のNO)、または、ステップS2118で録画開始時間が長くないと判定すると(ステップS2118のNO)、その録画対象の動画コンテンツの予約録画をサーバ装置102に要求する(ステップS2122)。
このように本変形例に係るサーバ装置102がクライアント装置103に送信するGUIプログラムは、ユーザによって選択された機能がクライアント装置103にある場合であっても、その機能がクライアント装置103で利用できるか否かを判定するステップと、利用できないと判定された場合に、その機能による処理をサーバ装置102に要求するステップとを、クライアント装置103に実行させる。これにより、例えば、録画機能を有するクライアント装置103は、記録媒体の残容量が少ないときにその録画機能がユーザによって選択されたために、録画対象の動画コンテンツの全てを録画することができなくなってしまうことを防ぐことができる。
なお、本変形例では、クライアント装置103がGUIプログラムをダウンロードして実行することにより、上述のような判定やサーバ装置102への要求を行ったが、GUIプログラムをダウンロードして実行することなく、クライアント装置103が自主的に上記判定および要求を行ってもよい。
また、本発明に係るサーバ装置102について、実施の形態1およびその変形例1,2を用いて説明したが、本発明はこれらに限定されるものではない。
例えば、実施の形態1およびその変形例1,2では、動画コンテンツの早送り、静止画コンテンツの編集、および、動画コンテンツの録画を中心に、それらの機能に対する代替処理を説明したが、本発明に係るサーバ装置は、これらの機能だけでなく、他の機能に対する代替処理を行ってもよいことは言うまでもない。また、実施の形態1およびその変形例1,2の構成および処理動作を、矛盾のない範囲でどのように組み合わせてもよい。
(実施の形態2)
本実施の形態におけるクライアント装置は、例えば旧世代のサーバ装置に接続し、そのサーバ装置よりも多くの機能を有し、サーバ装置から指示されたGUIの再生操作画面において、サーバ装置に存在しない機能を表示させ、その機能による処理を実行する点に特徴がある。
図15は、本実施の形態におけるクライアント装置を含む家庭内ネットワークの構成図である。
家庭内ネットワークN1は、クライアント装置400を有するネットワークであり、無線ネットワークや有線ネットワークで実現される。クライアント装置400は、実施の形態1と同様、TV、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、FAX、PDA、PC、デジタルカメラ、冷蔵庫、電子レンジ、または洗濯機などの機器として構成されている。サーバ装置500も、クライアント装置400と同様、TV、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、FAX、PDA、PC、デジタルカメラ、カーナビ、冷蔵庫、電子レンジ、または洗濯機などの機器として構成されている。
家庭内ネットワークN1は、外部ネットワークN2経由で、サーバ装置500と繋がっている。そして、クライアント装置400とサーバ装置500とが連携して、クライアント装置400のGUIを更新する。また、サーバ装置500は、家庭内ネットワークN1に存在する機器でもよい。この場合は、クライアント装置400と家庭内ネットワークN1に存在するサーバ装置500とが連携して、クライアント装置400上にサーバ装置500のGUIコンテンツを表示することとなる。
図16は、本実施の形態におけるクライアント装置400の構成図である。
GUIデータ取得部401は、サーバ装置500上のGUIデータ管理部501からGUIデータを取得する。GUIデータは、HTML(Hyper Text Markup Language)、XML(Extensible Markup Language)、またはJavaScript、Java等のプログラミング言語で表現される。GUIデータ解析部402は、GUIデータ取得部401で取得されたGUIデータを解析し、GUIプログラムを生成する。GUIプログラム実行部403は、GUIデータ解析部402によって生成されたGUIプログラムを実行し、表示部404に対して、表示要求を行うことによりGUIを実現する。つまり、GUIプログラム実行部403は、GUIプログラムを実行することにより、ユーザの操作用の画像であるGUIコンテンツを生成して表示部404に表示させる。
機能ディスパッチ部405は、機能を意味する識別子を用いて、後述するクライアント機能部406または代替機能部407を呼び出す。そして、機能ディスパッチ部405は、GUIプログラム実行部403がクライアント装置400またはサーバ装置500上の機能を呼び出す際に呼び出される。つまり、GUIプログラム実行部403は、クライアント装置400やサーバ装置500上の機能を直接呼び出すのではなく、機能ディスパッチ部405に上述の識別子を利用させ、クライアント装置400やサーバ装置500上の機能を間接的に呼び出す。
クライアント機能部406は、画像に対する機能と、サーバ装置500上の機能を呼び出すための機能を有する。なお、クライアント機能部406やサーバ機能部502が扱う画像に対する機能は、例えば、写真または動画などのコンテンツを扱う機能であって、具体的には、動画再生、動画録画、動画録画予約、または写真スライドショーなどのアプリケーション機能等である。
命令記憶部409は、機能ディスパッチ部405が呼び出したクライアント機能部406への要求を記憶する。命令記憶部409が記憶する情報は、機能を呼び出す際に機能を特定するための識別子とその引数、呼び出した時刻などである。
能力記憶部408は、クライアント機能部406が保持する機能を特定する情報を記憶している。クライアント機能部406が保持する機能を特定する情報とは、機能をユーザに提示する際に表示する文字列や、機能を呼び出す際に機能を特定するための識別子とその引数などである。GUIプログラム実行部403は、機能をユーザに提示する際に表示する文字列や、機能を呼び出す際にその機能を特定するための識別子とその引数などを用いて、能力記憶部408に対してどのような機能が存在するか問い合わせる。そして、GUIプログラム実行部403は、その結果から、サーバ装置500には存在せず、クライアント装置400に存在する機能(以下、差分機能という)を検出し、GUIデータから生成されるGUIコンテンツに差分機能に関する情報を反映させる。
代替機能部407は、GUIコンテンツとして表示された差分機能のうちの何れか1つがGUIプログラム実行部403から代替機能として呼び出された場合に、GUIプログラム実行部403から機能ディスパッチ部405を経由して呼び出される。そして、代替機能部407は、クライアント機能部406を呼び出すために後述する引数値推測部410から必要な情報を集め、クライアント機能部406を呼び出し、クライアント機能部406に代替機能による処理を実行させる。
引数値推測部410は、命令記憶部409に記憶された情報と、能力記憶部408に記憶された情報から、代替機能部407がクライアント機能部406を呼び出すために必要な引数値を推測する。
操作部411は、クライアント装置400のユーザによる操作を受け付け、その操作結果をGUIプログラム実行部403へ通知する。例えば、操作部411は、キーボード、リモコン、マウス、ポインティングデバイス、タッチパネル、音声認識機器、またはジェスチャー認識機器などで構成される。また、表示部404は、GUIプログラム実行部403からの要求に応じて、例えば動画コンテンツの一覧を示すGUIコンテンツ、動画コンテンツに対する機能の一覧を示すGUIコンテンツ、および動画コンテンツを表示する。
サーバ装置500は、GUIデータ管理部501とサーバ機能部502とを備える。GUIデータ管理部501は、上述のGUIデータを保持し、クライアント装置400のGUIデータ取得部401にそのGUIデータを送信する。このGUIデータから生成されるGUIコンテンツは、例えば、サーバ装置500が有する動画コンテンツの一覧と、サーバ装置500が有する機能の一覧とを、図形、文字、および記号などを用いて示す。サーバ機能部502は、1つまたは複数の動画コンテンツと、その動画コンテンツの一覧とを有する。また、サーバ機能部502は、その動画コンテンツに対する例えば再生および停止などの機能を有する。
ここで、図17〜図23を用いて、クライアント装置400が、GUIデータ管理部501が管理しているGUIデータを取得して表示した画面とそのクライアント装置400の動作について説明する。ここで、サーバ機能部502は動画に関する機能を提供するものであるとする。また、ここでは、サーバ装置500はクライアント装置400に対して、動画コンテンツの特殊再生機能(例えば、動画早送りまたは動画巻き戻しなど)による処理を提供することはできず、クライアント装置400は、クライアント装置400自身で、動画コンテンツの特殊再生機能を実現することが可能であるという前提とする。つまり、サーバ装置500から送信されるGUIデータには、動画コンテンツに対する機能のうち、通常再生機能に関するデータしか含まれておらず、クライアント機能部406が有する特殊再生機能に関するデータは含まれていない。
なお、本実施の形態では、機能について、動画コンテンツの特殊再生を例に挙げて説明するが、その機能は、前述の通り、動画コンテンツに関する機能でなく、他の機能であってもよい。
図17は、表示部404に表示される動画コンテンツの一覧の画面の一例を示す図である。
クライアント装置400は、サーバ装置500のGUIデータ管理部501が管理しているGUIデータを取得し、さらに、サーバ装置500のサーバ機能部502から動画コンテンツの一覧を取得する。そして、クライアント装置400は、そのGUIデータおよび動画コンテンツの一覧に基づいて、その一覧を示した画面(動画コンテンツ一覧画面)404aをGUIコンテンツとして生成して表示部404に表示する。ユーザは、クライアント装置400の操作部411を操作し、その一覧の中から再生対象の動画コンテンツを選択する。
図18は、表示部404に表示される再生操作画面の一例を示す図である。
クライアント装置400は、再生対象の動画コンテンツが選択されると、その動画コンテンツが再生されて表示される動画再生領域b1と、その動画コンテンツの再生を操作するための動画制御領域b2とを含む再生操作画面404bをGUIコンテンツとし生成して表示部404に表示させる。クライアント装置400は、再生対象の動画コンテンツをサーバ装置500のサーバ機能部502から取得してデコードし、その動画コンテンツの映像を動画再生領域b1に表示する。
動画制御領域b2には、サーバ機能部502に対して動画コンテンツの再生を要求するためのボタンb3と、サーバ機能部502に対して動画コンテンツの停止を要求するためのボタンb4とがある。ここで、クライアント装置400は、GUIデータから生成されたGUIプログラムを実行することにより、GUIデータに示されている機能を用いてこのような再生操作画面404bを生成して表示部404に表示している。つまり、クライアント装置400は、GUIデータに示されている機能が再生と停止であるために、ボタンb3とボタンb4とを表示している。なお、このような動画制御領域b2は、クライアント装置400のクライアント機能部406の機能であって、GUIデータに示されていない機能である差分機能がない場合に表示される。
図19は、表示部404に表示される再生操作画面の他の例を示す図である。
クライアント装置400は、再生対象の動画コンテンツが選択されたときに、上述の差分機能があると、動画再生領域b1と、差分機能を表す動画制御領域c1とを含む再生操作画面404cをGUIコンテンツとして生成して表示部404に表示させる。クライアント装置400は、再生対象の動画コンテンツをサーバ装置500のサーバ機能部502から取得してデコードし、その動画コンテンツの映像を動画再生領域b1に表示する。
動画制御領域c1には、ボタンb3およびボタンb4だけでなく、差分機能である動画コンテンツの早送りを要求するためのボタンc2と、差分機能である動画コンテンツの巻き戻しを要求するためのボタンc3とがある。ここで、クライアント装置400は、GUIデータから生成されたGUIプログラムを実行することにより、GUIデータに示されている機能を用いてこのような再生操作画面404cを生成して表示部404に表示している。つまり、クライアント装置400は、GUIデータに示されている機能が再生と停止であるために、ボタンb3とボタンb4と表示している。さらに、本実施の形態におけるクライアント装置400は、上述の差分機能が早送りと巻き戻しであるために、その差分機能を動画制御領域c1に割り当てて、ボタンc2とボタンc3とを表示している。
ここで、本実施の形態におけるクライアント装置400およびサーバ装置500の具体的な処理の流れを、図20〜図23を用いて説明する。
図20は、クライアント装置400が動画コンテンツ一覧画面404aを表示する処理を示すシーケンス図である。
まず、サーバ装置500のGUIデータ管理部501は、GUIデータをクライアント装置400に送信し(ステップS100)、GUIデータ取得部401は、GUIデータ管理部501が管理しているそのGUIデータを取得する(ステップS102)。そして、GUIデータ取得部401は、GUIデータ管理部501から取得したGUIデータをGUIデータ解析部402に出力する(ステップS104)。GUIデータ解析部402は、そのGUIデータを取得して解析し、その解析結果からGUIプログラムを生成する(ステップS106)。さらに、GUIデータ解析部402は、生成したGUIプログラムをGUIプログラム実行部403に出力する(ステップS108)。
GUIプログラム実行部403は、GUIプログラムを取得して実行する(ステップS110)。その結果、GUIプログラム実行部403は、再生可能な動画コンテンツの一覧を示す動画コンテンツ一覧画面404aを作成するために、機能ディスパッチ部405へ、動画コンテンツ一覧を取得するための機能(function=動画コンテンツ一覧)を呼び出す(ステップS112)。動画コンテンツの一覧には、動画コンテンツを一意に識別するためのコンテンツIDが含まれる。
機能ディスパッチ部405は、GUIプログラム実行部403から呼び出されると、上述の機能(function=動画コンテンツ一覧)を持つクライアント機能部406を呼び出す(ステップS114)。クライアント機能部406は、サーバ装置500のサーバ機能部502にアクセスし(ステップS116)、サーバ機能部502から動画コンテンツの一覧を送信させ(ステップS118)、その動画コンテンツの一覧を取得する(ステップS120)。クライアント機能部406は、取得した動画コンテンツの一覧を、機能ディスパッチ部405を介してGUIプログラム実行部403に出力する(ステップS122)。その結果、GUIプログラム実行部403は、動画コンテンツの一覧を取得し、その一覧を示す動画コンテンツ一覧画面404aを生成する(ステップS124)。
機能ディスパッチ部405は、動画コンテンツ一覧を取得したこと、つまりステップS114で呼び出した機能(function=動画コンテンツ一覧)を一覧取得命令として命令記憶部409に格納する(ステップS126)。GUIプログラム実行部403は、取得した動画コンテンツの一覧を用いて生成された動画コンテンツ一覧画面404aを表示部404に送信する(ステップS128)。その結果、図17に示すように、表示部404は動画コンテンツ一覧画面404aを表示する(ステップS130)。
図21は、再生対象の動画コンテンツが選択されたときのクライアント装置400の処理を示すシーケンス図である。
ユーザは、表示部404に表示された動画コンテンツ一覧画面404aを見て、操作部411を操作することにより、その動画コンテンツの一覧から、再生対象の動画コンテンツを選択する。これにより、操作部411は、コンテンツID=100の動画コンテンツが再生対象として選択されたことをGUIプログラム実行部403に通知する(ステップS140)。
GUIプログラム実行部403は、機能ディスパッチ部405へ、コンテンツID=100の動画コンテンツの再生の要求(function=動画再生)を通知する(ステップS142)。機能ディスパッチ部405は、動画再生機能を持つクライアント機能部406へ、コンテンツID=100の動画コンテンツの再生の要求(function=動画再生)を通知する(ステップS144)。さらに、機能ディスパッチ部405は、命令記憶部409に、ステップS144で通知した動画コンテンツのコンテンツIDが100であること(コンテンツID=100)を格納する(ステップS146)。また、GUIプログラム実行部403は、ステップS142で通知した動画コンテンツの機能が再生であることを示す機能情報(function=動画再生)を能力記憶部408に格納する(ステップS148)。
次に、GUIプログラム実行部403は、能力記憶部408にアクセスし(ステップS150)、能力記憶部408から、動画コンテンツの機能に関してどのような機能が存在するのかを示す機能一覧を取得する(ステップS152)。例えば、GUIプログラム実行部403は、動画コンテンツに対する再生、停止、早送り、および巻き戻しを示す機能一覧を取得する。
GUIプログラム実行部403は、能力記憶部408から取得した機能一覧が示す機能とGUIデータが示す機能との差分である差分機能を抽出する(ステップS154)。例えば、GUIデータが示す機能には、動画コンテンツに対する早送りと巻き戻しがなく、クライアント装置400の機能一覧が示す機能には、動画コンテンツに対する早送りと巻き戻しとがある。この場合、GUIプログラム実行部403は、動画コンテンツに対する早送りと巻き戻しの2つの機能(特殊再生機能)を差分機能として抽出する。なお、抽出される差分機能は特殊再生機能でなくてもかまわない。
GUIプログラム実行部403は、表示する画面に、動画コンテンツに対する差分機能である早送りと巻き戻しを選択するための選択機能を割り当てる(ステップS156)。なお、割り当て方法は、表示する画面に動的にその選択機能の情報を追加してもよいし、既存のキーに割り当ててもよい。さらに、GUIプログラム実行部403は、ステップS156の選択機能が割り当てられた画面を用いて再生操作画面404cを生成し(ステップS158)、表示部404にその再生操作画面404cを表示させる(ステップS160)。このように、差分機能がある場合には、表示部404は図19に示す再生操作画面404cを表示する。つまり、再生操作画面404cの動画制御領域c1にボタンc2が追加され、このボタンc2に対して、差分機能である早送りを選択するための選択機能が割り当てられる。さらに、動画制御領域c1にボタンc3が追加され、このボタンc3に対して、差分機能である巻き戻しを選択するための選択機能が割り当てられる。一方、差分機能がない場合には、表示部404は図18に示す再生操作画面404bを表示する。
図22は、クライアント装置400が動画コンテンツを通常再生する処理を示すシーケンス図である。
クライアント機能部406は、図21に示すステップS144で、コンテンツID=100の動画コンテンツの再生(function=動画再生)の要求が通知されると、サーバ装置500のサーバ機能部502に対して、コンテンツID=100の動画コンテンツのストリームを要求する(ステップS170)。その結果、サーバ機能部502はその動画コンテンツのストリームを送信し(ステップS172)、クライアント機能部406はその送信された動画コンテンツのストリームを取得する(ステップS174)。クライアント機能部406は、取得した動画コンテンツのストリームをデコードし、表示部404が表示できる動画データに変換する(ステップS176)。クライアント機能部406は、表示部404へ、変換した動画データを出力して、図19に示す再生操作画面404cの動画再生領域b1に動画コンテンツの映像を表示させる(ステップS178)。
図23は、クライアント装置400が動画コンテンツを早送りする処理を示すシーケンス図である。
ユーザは、動画コンテンツを早送りするために、操作部411を操作することにより、図19に示す再生操作画面404cのボタンc2を選択する。上述のように、ボタンc2には、差分機能である早送りを選択するための選択機能が割り当てられている。この場合、サーバ装置500に存在しないがクライアント装置400には存在する早送りという機能の利用がクライアント装置400に要求される。
その結果、操作部411は、差分機能である早送りの要求をGUIプログラム実行部403に通知する(ステップS190)。GUIプログラム実行部403は、図21のステップS154で抽出された差分機能のうち早送りを代替機能(代替動画早送り)として扱い、機能ディスパッチ部405に代替動画早送り(subFunction=動画早送り)の要求を通知する(ステップS192)。機能ディスパッチ部405は、代替機能部407に代替動画早送り(subFunction=動画早送り)の要求を通知する(ステップS194)。
代替機能部407は、代替動画早送りの処理をクライアント機能部406に実行させるために必要な引数値を引数値推測部410に対して要求する(ステップS196)。引数値推測部410は、能力記憶部408に対して、代替動画早送りに関連する機能情報を問い合わせ(ステップS198)、その機能情報を取得する(ステップS200)。ここでは、引数値推測部410は、図21のステップS148で最近に格納された機能情報である再生(function=動画再生)を引数値として取得する。引数値推測部410は、その取得した引数値である再生(function=動画再生)を代替機能部407に出力し、代替機能部407はその再生(function=動画再生)を取得する(ステップS202)。
さらに、引数値推測部410は、命令記憶部409に対して、その再生(function=動画再生)に対して最近に適用されたコンテンツIDを引数値として問い合わせ(ステップS204)、その結果、図21のステップS146で最近に格納されたコンテンツID=100を得る(ステップS206)。引数値推測部410は、その取得した引数値であるコンテンツID=100を代替機能部407に出力し、代替機能部407はそのコンテンツID=100を取得する(ステップS208)。
代替機能部407は、引数値推測部410から取得した引数値を結合し(ステップS210)、クライアント機能部406へ、コンテンツID=100の再生中の動画コンテンツに対する代替動画早送りの処理を要求する(ステップS212)。クライアント機能部406は、サーバ機能部502に対して、コンテンツID=100の動画コンテンツのストリームを要求し(ステップS214)、その動画コンテンツのストリームを取得する(ステップS216)。ここで取得した動画コンテンツのストリームは、早送り用の動画コンテンツのストリームではく、通常再生用の動画コンテンツのストリームである。
クライアント機能部406は、取得した動画コンテンツのストリームを早送り用の動画データに変換する(ステップS218)。さらに、クライアント機能部406は、表示部404へ、早送り用の動画データを出力し(ステップS220)、図19に示す再生操作画面404cの動画再生領域b1に、早送り用の動画データの映像を表示させる(ステップS222)。
このように、本実施の形態によれば、早送り機能がないサーバ装置500から取得したGUIデータによるGUI操作であっても、クライアント装置400が早送り機能を代替することにより、早送り機能を実現することが可能となる。つまり、本実施の形態のクライアント装置400は、サーバ装置500から取得したGUIデータに示されるサーバ装置500の機能と、クライアント装置400が有する機能とを比較し、クライアント装置400にあってサーバ装置500にない機能を差分機能として再生操作画面404cに表示し、その差分機能の選択を受け付ける。そして、クライアント装置400は、その差分機能が選択されたときには、サーバ装置500による差分機能の処理に代わって、クライアント装置400自体がその差分機能に応じた処理を実行する。これにより、クライアント装置400は、旧世代の機能の劣るサーバ装置500から送信されるGUIデータに関わらず、自らの全ての機能を利用することができる。
なお、本発明に係るクライアント装置400について、実施の形態2を用いて説明したが、本発明はこれらに限定されるものではない。
例えば、本実施の形態では、動画コンテンツの早送りを例として示したが、クライアント装置400は早送りだけに限らず、巻き戻し、2倍速再生、3倍速再生、ズームイン、ズームアウト、回転などの機能による処理を実行してもよい。例えば、クライアント装置400は、巻き戻しが差分機能として選択されたときには、動画コンテンツにおける選択された位置のフレームから表示順で前方(過去)のフレームに向かって、各フレームの送信をサーバ装置500に順次要求する。このとき、サーバ装置500は、サーバ装置500の通常の再生機能を用いて、動画コンテンツに含まれるフレームのうちクライアント装置400から要求されたフレームだけを順次送信する。なお、クライアント装置400の巻き戻しの処理は、上述のような処理に限らず、他の処理であってもよい。
また、実施の形態2では、クライアント装置400は動画コンテンツに対する機能の処理を実行したが、本発明に係るクライアント装置400は、動画コンテンツの機能だけでなく、静止画コンテンツ、音楽および音声などに対する機能の処理を行ってもよいことは言うまでもない。また、実施の形態2の構成および処理動作と、実施の形態1およびその変形例1,2の構成および処理動作とを、矛盾のない範囲でどのように組み合わせてもよい。
また、実施の形態1およびその変形例1の図3および図11に示すサーバ装置102,102A、または、実施の形態2の図16に示すクライアント装置400に含まれる全ての構成要素または一部の構成要素のみを、集積回路であるLSI(Large Scale Integrated circuit)として実現してもよい。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。例えばメモリ以外の機能ブロックが1チップ化されていてもよい。例えば、図3に示すサーバ装置102では、GUIプログラム保存部202および送信部203を除く他の構成要素をLSIとして構成してもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサ を利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、実施の形態1およびその変形例1,2と実施の形態2の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。上記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
なお、本発明は、サーバ装置およびクライアント装置だけでなく、サーバ装置およびクライアント装置のそれぞれの処理方法、サーバ装置およびクライアント装置のそれぞれのプログラム、それぞれのプログラムを記録した記録媒体としても実現される。
本発明にかかるサーバ装置は、接続されたクライアント装置との間で機能に差異がある場合でも、その差異を吸収することが可能になるため、サーバ装置としてクライアント装置に接続する、例えば、TV、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、FAX、PDA、PC、デジタルカメラ、冷蔵庫、電子レンジ、および洗濯機などの組み込み機器に有用である。また、本発明に係るクライアント装置は、サーバ装置から取得したGUIコンテンツから、サーバ装置が未対応である機能を利用することができるという効果を有し、クライアント装置としてサーバ装置に接続する、例えば、TV、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、FAX、PDA、PC、デジタルカメラ、冷蔵庫、電子レンジ、洗濯機などの組み込み機器に有用である。
100 家庭内ネットワーク
101 外部ネットワーク機器
102,102A サーバ装置
103,103A クライアント装置
107 動画用デコーダ
108 要求送信部
109 受信部
110 GUIプログラム保存部
111 GUIプログラム実行部
112 表示部
113 GUI表示処理部
114 制御部
115 旧機器機能情報
116 解析部
117 静止画用デコーダ
201 要求受付部
202 GUIプログラム保存部
203 送信部
204 機器状態判定部
205 状態情報記憶部
206 機能情報記憶部
207,207A 代替処理提供部
208 エラーメッセージ生成部
209 データ送信制御部
210 送信データ生成部
211 フレーム抽出部
212 動画用エンコーダ
213 コンテンツ保存部
214 変換部
215 静止画用エンコーダ
400 クライアント装置
401 GUIデータ取得部
402 GUIデータ解析部
403 GUIプログラム実行部
404 表示部
405 機能ディスパッチ部
406 クライアント機能部
407 代替機能部
408 能力記憶部
409 命令記憶部
410 引数値推測部
500 サーバ装置
501 GUIデータ管理部
502 サーバ機能部
本発明は、リモートから接続されたクライアント装置に対して、クライアント装置が要求する処理を提供するサーバ装置に関するものである。
近年、ブロードバンドインターネット接続やワイヤレスネットワークの普及、およびDLNA(Digital Living Network Alliance)等のデジタル家電機器の接続互換性の技術の向上により、宅内でもパーソナルコンピュータ以外のデジタル家電機器がネットワークを通じて接続および通信するようになり、TVとDVD(Digital Versatile Disk)レコーダ、または携帯電話とDVDレコーダのように家電機器同士が連携し、リモートからの番組予約や、番組視聴などの様々な新サービスが登場してきている。例えば、リモートにあるクライアント装置が、サーバ装置を操作するGUI(グラフィックスユーザーインターフェイス)を取得し、サーバ装置の動画や写真コンテンツを再生および視聴したり、ダウンロードしたりするサービスが登場している。しかし、デジタル家電機器同士が接続するようになると、新しい機器と古い機器が接続されるケースも十分に考えられ、その場合、古い機器上で新しい機器の機能を利用できない場合がある。例えば、上述した例で言えば、サーバ装置ではある特殊効果のある写真を描画できるが、クライアント装置ではできない場合や、動画に対して、通常再生はできるが倍速再生はできないというような場合が考えられる。
これに対する従来技術としては、例えば特許文献1に記載されたものが知られている。この特許文献1のサーバ装置は、ブラウザを立ち上げたクライアント装置からのHTTP通信によるGUI取得要求に際し、クライアント装置の表示能力を取得し、その能力に応じたコンテンツを提供する。このサーバ装置がクライアント装置の表示能力を取得するときには、サーバ装置のクライアントスマートエージェントがクライアント装置からのHTTP要求のヘッダ情報を解析することにより、クライアント装置の表示能力に関する情報を取得する。一方、クライアントスマートエージェントがヘッダ情報の解析に失敗した場合には、サーバ装置は、クライアントスマートエージェントをクライアント装置に送信することにより、オペレーティングシステムやBIOSに記録されたクライアント装置の表示能力に関する情報を取得する。サーバ装置は、取得したクライアント装置の表示能力に応じてGUIコンテンツをカスタマイズして提供する。
特開平11−194983号公報
しかしながら、上記特許文献1のサーバ装置においては、クライアント装置の表示能力に合わせてGUIコンテンツをカスタマイズして提供してしまうため、接続しているクライアント装置とサーバ装置との間に表示の能力の差異がある場合、クライアント装置上ではサーバ装置と異なったGUIコンテンツが表示されてしまうという課題を有する。クライアント装置がサーバ装置と接続し、サーバ装置とクライアント装置の双方で同時に同じGUIコンテンツを表示したい場合や、クライアント装置がサーバ装置を操作するGUIプログラムを取得し、サーバ装置の動画や写真コンテンツの再生および視聴等をする場合には、通常、サーバ装置上とクライアント装置上とで同一の表示がされている事が望ましい。
そこで、本発明は、上記従来の課題を解決するものであり、クライアント装置との間で機能上の差異がある場合でも、機能が劣る旧世代のクライアント装置に自らと同等の機能を実現させるサーバ装置を提供することを目的とする。
上記目的を達成するために、本発明に係るサーバ装置は、クライアント装置に接続されるサーバ装置であって、前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と、前記代替処理提供部による代替処理の実行によって生成されたデータを前記クライアント装置に送信する送信部とを備える。
例えば、サーバ装置は、動画コンテンツの再生、停止、早送りおよび巻き戻しの機能を有する。一方、クライアント装置は、サーバ装置と比べて旧世代のクライアント装置であって再生および停止の機能だけを有する。この場合、本発明では、クライアント装置にない例えば早送りの処理の要求を受け付けて、その早送りに対応する代替処理が実行され、その実行によって生成されたデータがクライアント装置に送信される。つまり、サーバ装置の早送りによる処理結果と同一の結果が、早送りの機能を持たないクライアント装置で得られるための代替処理が実行されて、その結果、生成されたデータがクライアント装置に送信される。例えば、代替処理として、動画コンテンツからフレームが間引かれ、早送り用の動画コンテンツが生成される。そして、この早送り用の動画コンテンツがクライアント装置に送信される。したがって、クライアント装置では、早送りの機能がなくても、通常の再生の機能を用いて早送り用の動画コンテンツを再生すれば早送りの映像を映し出すことができる。つまり、本発明では、クライアント装置との間で機能上の差異がある場合でも、機能が劣る旧世代のクライアント装置にサーバ装置と同等の機能を実現させることができる。さらに、本発明では、クライアント装置にサーバ装置と同等の機能を実現させることができるため、例えば、クライアント装置にGUIプログラムを送信してGUIコンテンツである操作画面をそのクライアント装置に表示させる場合でも、サーバ装置の操作画面と同一の操作画面を表示させることができる。
また、前記サーバ装置は、さらに、前記サーバ装置が有する少なくとも1つの機能を示す操作画面を表示する表示ステップと、前記少なくとも1つの機能のうちから選択された機能による処理を前記サーバ装置に要求する要求ステップとを、前記クライアント装置に実行させるためのGUI(Graphical User Interface)プログラムを保持するGUIプログラム保持部を備え、前記送信部は、さらに、前記GUIプログラムを前記クライアント装置に送信し、前記要求受付部は、前記クライアント装置による前記GUIプログラムの実行によって、前記サーバ装置が有する機能のうち前記クライアント装置にない機能による処理の要求を受け付けてもよい。
例えば、前記GUIプログラムは、さらに、前記選択された機能がクライアント装置にあるか否かを判別する判別ステップと、前記選択された機能がクライアント装置にあると判別された場合に、前記選択された機能による処理を前記クライアント装置に実行させる実行ステップとを、前記クライアント装置に実行させ、前記要求ステップでは、前記選択された機能がクライアント装置にないと判別された場合に、前記選択された機能による処理を前記サーバ装置に要求する。
これにより、クライアント装置のユーザに対して、クライアント装置にない機能であってもサーバ装置にある機能をユーザに選択させることができ、その機能による処理の要求を受け付けて代替処理を実行することができる。
また、前記GUIプログラムは、前記サーバ装置が有する少なくとも1つの機能を示す画面であって、前記サーバ装置で表示される画面であるサーバ操作画面と同一の前記操作画面を前記クライアント装置に表示させてもよい。
これにより、操作画面とサーバ操作画面とが同一となるため、ユーザはクライアント装置を違和感なく操作することができる。
また、前記機器情報テーブルは、前記サーバ装置が有する機能ごとに、当該機能と、当該機能に対応する代替処理とを示し、前記代替処理特定部は、さらに、前記要求処理の機能が前記機能情報テーブルに示されているか否かを判定し、前記要求処理の機能が前記機能情報テーブルに示され、且つ、前記状態判定部によって前記要求処理ができると判定された場合に、前記代替処理を特定してもよい。
これにより、要求処理の機能が機能情報テーブルに示されているか否かが判定されるため、その要求処理の機能が機能情報テーブルに示されていないことに起因する誤動作の発生などを抑えることができる。
また、前記状態情報記憶部は、前記サーバ装置の設定項目ごとに、当該設定項目の設定が正しく行われているか否かを示す設定情報テーブルを前記状態情報として記憶しており、前記状態判定部は、前記設定情報テーブルに示される全ての設定項目に対して設定が正しく行われていることが示されている場合に、前記要求処理ができると判定してもよい。
これにより、サーバ装置の設定が正しく行われていない場合には、要求処理ができないと判定され、代替処理が行われないため、設定が不適切な状態で代替処理を行ってしまうことによって生じる誤動作の発生などを抑えることができる。
また、前記状態情報記憶部は、前記サーバ装置が有する機能ごとに、当該機能の利用により前記サーバ装置の他の機能との間で競合が生じないか否かを示す競合情報テーブルを前記状態情報として記憶しており、前記状態判定部は、前記競合情報テーブルにおいて、前記要求処理の機能に対して競合が生じないことが示されている場合に、前記要求処理ができると判定してもよい。
これにより、競合が発生する場合には、要求処理ができないと判定され、代替処理が行われないため、競合が発生してしまう状態で代替処理を行ってしまうことによって生じる誤動作の発生などを抑えることができる。
また、前記送信部は、さらに、前記状態判定部によって判定された結果である判定結果を前記クライアント装置に通知し、前記要求受付部は、さらに、前記判定結果に応じて前記クライアント装置から生じるアクセス要求を受け付け、前記代替処理提供部は、前記要求受付部に受け付けられた前記アクセス要求に応じて、前記代替処理を実行してもよい。
これにより、クライアント装置は、サーバ装置に要求処理を要求しても、代替処理が実行される前に、その要求に対する判定結果の通知を受けるため、その判定結果に応じて、アクセス要求をサーバ装置に通知するか否かを判断することができ、サーバ装置への負担を抑えることができる。
なお、本発明では、このようなサーバ装置として実現することができるだけなく、集積回路、そのサーバ装置における処理動作の方法、その方法の処理動作をサーバ装置に実行させるためのプログラム、そのプログラムを格納する記録媒体としても実現することができる。
また、本発明に係るクライアント装置は、機能が相違するサーバ装置から、前記サーバ装置が保持するGUIデータを取得するクライアント装置であって、取得した前記GUIデータからGUIプログラムを生成するGUIデータ解析部と、前記サーバ装置が保持するコンテンツの一覧を取得し、さらに、前記クライアント装置の機能を保持しているクライアント機能部と、前記クライアント機能部で保持している機能に関する情報を記憶している能力記憶部と、前記クライアント機能部で取得されたコンテンツの一覧を表示し、さらに、前記コンテンツの一覧の中から所定のコンテンツが選択された場合に、前記能力記憶部に記憶されている情報を用いて、前記クライアント機能部に存在しており前記サーバ装置に存在しない差分機能を抽出するGUIプログラムと、抽出した前記差分機能をGUIコンテンツに表示する表示部とを備える。
例えば、家電機器同士が連携する場合、サーバ装置となる家電機器に存在するGUIデータをクライアント装置となる家電機器が取得することにより、クライアント装置からサーバ装置を制御することが可能となる。しかし、それぞれのクライアント装置は、表示能力が異なるため、必ずしもサーバ装置が提供するGUIデータを利用できると言う訳ではない。上記特許文献1では、ブラウザを立ち上げたクライアント装置からのGUIデータの取得要求に対して、サーバ装置がクライアント装置の表示能力を取得し、その表示能力に応じてGUIデータをサーバ装置側でカスタマイズして提供するという技術が提案されている。
しかし、上記特許文献1の技術では、サーバ装置がインターネット上に存在する場合であれば、随時サーバ装置の機能を更新することによって、機能が進化したクライアント装置に対応できるが、家庭内に存在する家電機器がサーバ装置となる場合は、サーバ装置自体の機能を更新することが困難であるため、機能が進化したクライアント装置の機能を十分引き出すことができないという課題を有する。例えば、サーバ装置からGUIデータを取得してサーバ装置に存在するコンテンツを利用する場合において、サーバ装置の機能がクライアント装置の機能より劣っている場合を考える。この場合、クライアント装置が受信したGUIデータは、機能が劣っているサーバ装置に合わせたものになっていることが多いため、ユーザがこのGUIデータをクライアント装置で使用する場合には、クライアント装置に存在する機能であってもその機能がサーバ装置に存在しない機能であれば、その機能をユーザに提供することができない等の課題が生じる。
本発明のクライアント装置では、上述の構成を有することにより、サーバ装置からGUIデータを取得してサーバ装置に存在するコンテンツを利用する場合において、サーバ装置の機能がクライアント装置の機能より劣っている場合であっても、優れた機能を有するクライアント装置の機能を使用することができる。
また、前記クライアント機能部は、前記GUIプログラムで前記差分機能を用いる旨の指示が受け付けられた場合、前記サーバ装置から取得したコンテンツを前記差分機能に応じたデータに変換し、前記表示部は、前記変換された動画データを前記GUIコンテンツに表示してもよい。
また、前記クライアント装置は、呼び出した機能を記憶する命令記憶部と、前記差分機能を呼び出すために必要な引数値を推測する引数値推測部と、を更に備え、前記引数値推測部は、前記能力記憶部に記憶されている情報と、前記命令記憶部に記憶されている情報とから、前記差分機能を呼び出すために必要な引数値を推測し、前記引数値推測部が推測した結果を元に、前記差分機能を呼び出してもよい。
なお、本発明では、このようなクライアント装置として実現することができるだけなく、集積回路、そのクライアント装置における処理動作の方法、その方法の処理動作をクライアント装置に実行させるためのプログラム、そのプログラムを格納する記録媒体としても実現することができる。
本発明のサーバ装置は、新世代のそのサーバ装置が持つ新しい機能を旧世代のクライアント装置に提供することが可能になるという効果が得られる。
図1は、本発明の実施の形態1におけるサーバ装置を含む家庭内ネットワークの構成図である。 図2は、本発明の実施の形態1におけるクライアント装置とサーバ装置に表示される画面を示す図である。 図3は、本発明の実施の形態1におけるクライアント装置とサーバ装置の構成図である。 図4は、本発明の実施の形態1におけるサーバ装置の設定情報テーブルを示す図である。 図5は、本発明の実施の形態1におけるサーバ装置の競合情報テーブルを示す図である。 図6は、本発明の実施の形態1におけるサーバ装置の機能情報テーブルを示す図である。 図7は、本発明の実施の形態1におけるサーバ装置およびクライアント装置の全体的な動作を示すフローチャートである。 図8Aは、本発明の実施の形態1における図7のステップS611〜S614の詳細な動作を示すフローチャートである。 図8Bは、本発明の実施の形態1における図7のステップS611〜S614の詳細な動作を示すフローチャートである。 図9は、本発明の実施の形態1におけるサーバ装置がクライアント装置に送信するファイルの一例を示す図である。 図10は、本発明の実施の形態1におけるサーバ装置がクライアント装置に送信するファイルの他の例を示す図である。 図11は、本発明の実施の形態1の変形例1におけるサーバ装置とクライアント装置の構成図である。 図12は、本発明の実施の形態1の変形例1における代替処理および静止画コンテンツの表示処理を示すフローチャートである。 図13は、本発明の実施の形態1の変形例2におけるクライアント装置の動作を示すフローチャートである。 図14は、本発明の実施の形態1の変形例2におけるクライアント装置の他の動作を示すフローチャートである。 図15は、本発明の実施の形態2におけるクライアント装置を含む家庭内ネットワークの構成図である。 図16は、本発明の実施の形態2におけるクライアント装置の構成図である。 図17は、本発明の実施の形態2における表示部に表示される動画コンテンツの一覧の画面の一例を示す図である。 図18は、本発明の実施の形態2における表示部に表示される再生操作画面の一例を示す図である。 図19は、本発明の実施の形態2における表示部に表示される再生操作画面の他の例を示す図である。 図20は、本発明の実施の形態2におけるクライアント装置が動画コンテンツの一覧の画面を表示する処理を示すシーケンス図である。 図21は、本発明の実施の形態2における再生対象の動画コンテンツが選択されたときのクライアント装置の処理を示すシーケンス図である。 図22は、本発明の実施の形態2におけるクライアント装置が動画コンテンツを通常再生する処理を示すシーケンス図である。 図23は、本発明の実施の形態2におけるクライアント装置が動画コンテンツを早送りする処理を示すシーケンス図である。
以下、本発明の実施の形態におけるサーバ装置およびクライアント装置について、図面を参照しながら説明する。
(実施の形態1)
本実施の形態におけるサーバ装置は、例えば旧世代のクライアント装置に接続し、そのクライアント装置よりも多くの機能を有する。
図1は、本実施の形態におけるサーバ装置を含む家庭内ネットワークの構成図である。
家庭内ネットワーク100は、有線ネットワークまたはBLUETOOTH等を含む無線ネットワークで実現され、本発明に係るサーバ装置102と、そのサーバ装置102に接続するクライアント装置であるリモート機器103〜105とを備える。リモート機器103〜105は、TV、DVDレコーダ、BluRayレコーダ、携帯電話、またはデジタルカメラ等の機器である。外部ネットワーク機器101は家庭内ネットワーク100の外部にあるネットワーク機能を有する機器であって、サーバ装置102に接続する。なお、リモート機器103〜105は、家庭内ネットワーク100に含まれ、直接、サーバ装置102に接続されているが、外部ネットワーク機器101を通して接続されてもよいし、リモート機器103〜105が外部ネットワークにあってもよい。したがって、本発明では、装置同士が互いに通信できる場所であれば、サーバ装置102およびリモート機器103〜105はどのような場所にあってもよい。
本実施の形態では、家庭内ネットワーク100内に存在する本発明のサーバ装置102がリモート機器103〜105と接続してそのリモート機器103〜105にはない機能による処理を提供することで、リモート機器103〜105上でサーバ装置102と同等の機能が実現されることを可能にする。なお、本発明における機能とは、目的とする処理が実行されるようにハードウェアおよびソフトウェアの少なくとも一方から構成されたものである。
なお、リモート機器103〜105はそれぞれ、同等の機能を有し、サーバ装置102に対して同等の処理を行う。したがって、以下、リモート機器103〜105のうち、リモート機器103をクライアント装置103として扱い、クライアント装置103とサーバ装置102との構成および処理動作について説明する。
ここで、本実施の形態におけるサーバ装置102の特徴について図2を用いて簡単に説明する。
図2は、本実施の形態におけるクライアント装置103とサーバ装置102に表示される画面を示す図である。
クライアント装置103がサーバ装置102に接続を要求すると、サーバ装置102は、サーバ装置102が有する動画コンテンツを操作するためのGUIプログラムをクライアント装置103に送信する。クライアント装置103は、このGUIプログラムを実行すると、サーバ装置102が有する全ての機能と同一の機能の選択を受け付けるためのGUIコンテンツである再生操作画面P1を生成して表示する。また、サーバ装置102でも、サーバ装置102が有する全ての機能の選択を受け付けるためのGUIコンテンツである再生操作画面P2を生成して表示する。したがって、本実施の形態では、サーバ装置102は、クライアント装置103に表示されるGUIコンテンツを、サーバ装置102に表示されるGUIコンテンツと同一にしている。
ここで、クライアント装置103は、例えば、サーバ装置102と比べて旧世代の機器であるために、サーバ装置102が有する機能(動画コンテンツに対する機能)よりも少ない機能を有している。具体的には、サーバ装置102は、動画コンテンツに対する機能として、再生、停止、早送り、および巻き戻しを有するが、クライアント装置103は、再生および停止しか保持していない。
このような場合でも、本実施の形態では、クライアント装置103は、GUIプログラムに従って、クライアント装置103が有する機能である再生および停止を示すボタンBt1,Bt2だけでなく、クライアント装置103が保持していない機能である早送りおよび巻き戻しを示すボタンBt3,Bt4も含む再生操作画面P1を生成して表示する。
また、本実施の形態のGUIプログラムは、再生操作画面P1に表示された機能の中からユーザによって選択された機能がクライアント装置にあるか否かを判別するステップと、その選択された機能がクライアント装置103にあると判別された場合に、その選択された機能による処理をクライアント装置103に実行させるステップと、その選択された機能がクライアント装置103にないと判別された場合に、その選択された機能による処理をサーバ装置102に要求するステップとを、クライアント装置103に実行させる。
したがって、クライアント装置103は、ユーザによるGUI操作によって、早送りまたは巻き戻しを示すボタンBt3,Bt4が選択されたときには、その早送りまたは巻き戻しの機能による処理をサーバ装置102に要求する。サーバ装置102は、早送りまたは巻き戻しの機能による処理の要求を受け付けると、その処理の代替となる処理(以下、代替処理という)をクライアント装置103に提供する。つまり、サーバ装置102は、代替処理を実行し、例えば動画コンテンツのフレームが間引きされた送信データ(例えば、後述の早送り用データ)を、早送りに対する代替処理結果として生成し、その送信データをクライアント装置103に送信する。
これにより、本実施の形態におけるサーバ装置102は、クライアント装置103との間で機能に差があっても、その差を吸収し、サーバ装置102に表示されるGUIコンテンツと同一のGUIコンテンツをクライアント装置103に表示させることができ、クライアント装置103でサーバ装置102と同等の機能を仮想的に実現することができる。また、サーバ装置102よりも古い各世代のクライアント装置103に対して同一のGUIプログラムを送信することができ、従来のような、GUIプログラム(GUIコンテンツ)のカスタマイズの手間を省くことができる。
図3は、本実施の形態におけるクライアント装置103とサーバ装置102の構成図である。
クライアント装置103は、GUIプログラム実行部111、要求送信部108、受信部109、動画用デコーダ107、GUIプログラム保存部110、および表示部112を備える。
要求送信部108は、サーバ装置102への接続要求を送信する。受信部109は、サーバ装置102の処理結果およびGUIプログラムを受信する。GUIプログラム保存部110はサーバ装置102から取得したGUIプログラムを保存する。動画用デコーダ107はサーバ装置102から受信した動画コンテンツ(例えば、早送り用データ)をデコードする。表示部112は動画用デコーダ107でデコードされた動画コンテンツの映像を表示する。GUIプログラム実行部111は、クライアント装置103がサーバ装置102から取得してGUIプログラム保存部110に保存されたGUIプログラムを実行する。また、このGUIプログラム実行部111は、再生操作画面などのGUIコンテンツを生成して表示部112に表示させるGUI表示処理部113と、GUIプログラム保存部110に保存されている、旧機器(クライアント装置103)の機能の一覧を表す旧機器機能情報115を参照し、GUI操作によって生じた命令を制御する制御部114と、サーバ装置102から受信部109で受信されたファイルを解析する解析部116とを有する。
サーバ装置102は、要求受付部201、GUIプログラム保存部202、状態情報記憶部205、機器状態判定部204、機能情報記憶部206、送信部203、代替処理提供部207、エラーメッセージ生成部208、およびコンテンツ保存部213を備える。
要求受付部201は、クライアント装置103の要求送信部108からの接続要求を受け付けると、GUIプログラム保存部202から、GUIを実現するためのGUIプログラムを取得して、そのGUIプログラムを送信部203からクライアント装置103に送信する。さらに、要求受付部201は、クライアント装置103からGUIを通じてサーバ装置102へ出力された代替処理要求を受け付ける。GUIプログラム保存部202は、上述のGUIを実現するためのGUIプログラムを保持している。GUIプログラムは、サーバ装置102で保持している動画コンテンツの一覧を表示するための情報、GUI操作によって生じる命令を制御する制御機構、XMLを解析する機能、および旧機器機能情報115を含んでいる。送信部203は、GUIプログラムと、サーバ装置102の処理結果をクライアント装置103に送信する。
機器状態判定部204は、サーバ装置102内に存在する設定情報テーブル205aと競合情報テーブル205bと機能情報テーブル206aを取得する。さらに、機器状態判定部204は、それらのテーブル205a,205b,206aを参照して、サーバ装置102内でクライアント装置103から要求された処理(代替処理)が実行可能かどうかを判定する。機器状態判定部204は、実行可能であると判定すると、代替処理を代替処理提供部207に要求して実行させる。なお、本実施の形態では、この機器状態判定部204が、設定情報テーブル205aと競合情報テーブル205bの示すサーバ装置102の状態に応じて、クライアント装置103から要求された処理ができるか否かを判定する状態判定部として構成されているとともに、機能情報テーブル206aを参照することにより代替処理を特定する代替処理特定部としても構成されている。つまり、機器状態判定部204は、状態判定部と代替処理特定部とを備えている。
状態情報記憶部205は、サーバ装置102の設定が十分に行われているかを示す上述の設定情報テーブル205aと、サーバ装置102が持つ機能の競合に関する情報を示す上述の競合情報テーブル205bとを保持している。なお、この設定情報テーブル205aと競合情報テーブル205bとを総称して状態情報テーブルという。機能情報記憶部206は、サーバ装置102の機能ごとに、その機能と、その機能を代替する機能とを対応付けた上述の機能情報テーブル206aを保持している。
代替処理提供部207は、旧世代のクライアント装置103の機能と新世代のサーバ装置102の機能との間に差異がある場合、つまり、機器状態判定部204で代替処理が実行可能であると判定された場合に、旧世代のクライアント装置103からの要求に対してその代替処理を提供する。
このような代替処理提供部207は、データ送信制御部209、送信データ生成部210、フレーム抽出部211、および動画用エンコーダ212を備える。データ送信制御部209は、機器状態判定部204からの代替処理要求を受け付けて、代替処理の結果である送信データの生成を送信データ生成部210に命令する。さらに、データ送信制御部209は、代替処理結果である送信データを送信部203からクライアント装置103に送信する。
送信データ生成部210は、データ送信制御部209から送信データの生成命令を受け付けると、コンテンツ保存部213から動画コンテンツを取り出す。そして、送信データ生成部210は、その動画コンテンツに対するエンコーディング命令およびフレーム抽出命令などの各命令をフレーム抽出部211または動画用エンコーダ212に発する。このフレーム抽出命令は、代替処理に必要とされるフレームを抽出させる命令である。コンテンツ保存部213は、サーバ装置102で利用可能な動画コンテンツを保存しており、例えばハードディスクによって構成される。フレーム抽出部211は、送信データ生成部210を介してコンテンツ保存部213から動画コンテンツを取得し、送信データ生成部210から発せられたフレーム抽出命令に応じて、その動画コンテンツから必要なフレームを抽出する。動画用エンコーダ212は、送信データ生成部210から発せられたエンコーディング命令に応じて、フレーム抽出部211が抽出したフレーム群のエンコーディングを行う。このようなエンコーディングが行われることによって、上述の代替処理結果である送信データが生成される。また、このように生成された送信データが上述の早送り用データである。
エラーメッセージ生成部208は、サーバ装置102内で発生しているエラーを示す情報であって、機器状態判定部204によって判定された結果であるエラー判定情報を機器状態判定部204から受け取る。また、エラーメッセージ生成部208は、そのエラー判定情報を用いて、クライアント装置103に提供するエラーメッセージを生成する。エラーメッセージを提供するときには、エラーメッセージ生成部208は、例えば、エラーメッセージを直接テキストメッセージとして送信部203を介してクライアント装置103に通知したり、エラーメッセージを表示するプログラムの置き場所を、送信部203を介してクライアント装置103に通知する。
図4は、サーバ装置102の設定情報テーブル205aを示す図である。
この設定情報テーブル205aは、行g1〜g3に示すように、接続設定や通信設定などの設定内容(設定項目)について、現在、これらの設定が正しく行われているか否かを設定状態として示している。例えば、設定情報テーブル205aの行g1は、サーバ装置102に接続される機器の登録の設定(接続機器の登録設定)が正しくなされていること(OK)を示し、行g2は、サーバ装置102に接続される機器の制限台数の設定(接続台数制限設定)がなされていないこと(NG)を示し、行g3は、サーバ装置102の通信速度の設定(通信速度設定)が正しくなされていること(OK)を示す。なお、図4の設定情報テーブル205aは、例として3つの設定内容についての設定状態を示しているが、設定内容は機器によって異なるのでこれだけに限らない。また、この設定情報テーブル205aは、サーバ装置102の設定状態が変更されるごとに、その変更された設定状態が反映されるように更新される。
図5は、サーバ装置102の競合情報テーブル205bを示す図である。
競合情報テーブル205bは、行g11〜g19に示すように、サーバ装置102の機能ごとに、その機能の名称(機能名)と、他の機能との競合関係に基づいて、現在、その機能が利用可能か否かを示している。例えば、競合情報テーブル205bの行g11は、機能名「fastforward」の機能(早送り)が現在他の機能と競合せずに利用可能であること(OK)を示し、行g13は、機能名「record」の機能(録画)が現在他の機能と競合するために利用できないこと(NG)を表している。また、この競合情報テーブル205bは、サーバ装置102で利用される機能が変更されるごとに、その変更された結果が反映されるように更新される。
図6は、サーバ装置102の機能情報テーブル206aを示す図である。
機能情報テーブル206aは、行g21〜g28に示すように、サーバ装置102の機能ごとに、その機能の機能名と、その機能による処理の代替となる処理(代替処理)の名称である代替処理名と、その代替処理を実行するためのプログラムのアクセス先である代替処理用のURLとを示す。例えば、機能情報テーブル206aの行g22は、サーバ装置102の早送りの機能名「fastForward」と、その早送りの代替処理名「altFastForward」と、この代替処理名の代替処理を実行するためのプログラムのアクセス先である代替処理用URL「http://A/BBB.cgi?/function=altFastForward」とを示している。また、この機能情報テーブル206aは、早送り、巻き戻し、回転、ズームイン、ズームアウト、2倍速再生および3倍速再生の機能に対する代替処理に関する情報を示す。なお、機能情報テーブル206aは、図6に示す機能名、代替処理名および代替処理用URLだけでなく、他の機能名、代替処理名および代替処理用URLを示していてもよい。
図7は、本実施の形態のサーバ装置102およびクライアント装置103の全体的な動作を示すフローチャートである。
まず、クライアント装置103の要求送信部108は、サーバ装置102に対し、サーバ装置102を操作するGUIを実現するためのGUIプログラムを要求する(ステップS601)。サーバ装置102の要求受付部201は、その要求(GUIプログラムの取得要求)を受け付け(ステップS602)、その要求に応じて、GUIプログラム保存部202からGUIプログラムを取得する(ステップS603)。サーバ装置102の要求受付部201は、取得されたGUIプログラムを送信部203からクライアント装置103に送信する(ステップS604)。クライアント装置103の受信部109は、GUIプログラムを取得すると、このGUIプログラムをGUIプログラム保存部110に格納する(ステップS605)。さらに、クライアント装置103のGUIプログラム実行部111は、そのGUIプログラムを実行することにより、GUI(再生操作画面P1)を通じて、ユーザにより選択された機能(例えば、早送り)を受け付ける(ステップS606)。
その際、まず、クライアント装置103の制御部114は、旧機器機能情報115を参照し(ステップS607)、参照結果に基づいて、その選択された機能(例えば、再生または早送り)がクライアント装置103に存在するか否かを判定する(ステップS607a)。制御部114は、クライアント装置103にその機能が存在すると判定すると(ステップS607のYES)、その機能に応じた処理を実行する(ステップS608)。例えば、選択された機能が再生であって、その再生が旧機器機能情報115に示されていれば、制御部114は、サーバ装置102に動画コンテンツを要求し、その動画コンテンツのデコードを動画用デコーダ107に実行させ、表示部112にその動画コンテンツの映像を表示させる。
一方、機能が存在しないと判定すると(ステップS607のNO)、クライアント装置103の制御部114は、要求送信部108に対し、存在しない機能による処理、つまりその処理の代替となる処理をサーバ装置102に対して要求するよう命令する(ステップS609)。サーバ装置102の要求受付部201がこの要求(代替処理要求)を受けると(ステップS610)、機器状態判定部204は、設定情報テーブル205aおよび競合情報テーブル205bからなる状態情報テーブルと、機能情報テーブル206aを参照する(ステップS611)。そして、機器状態判定部204は、その参照結果に基づいて、代替処理の提供が行えるかどうかを判定する(ステップS611a)。
機器状態判定部204は、代替処理を提供できると判定した場合には(ステップS611aのYES)、代替処理提供部207に代替処理を実行させる(ステップS612)。代替処理を実行した代替処理提供部207は、代替処理の処理結果を送信部203からクライアント装置103に送信する(ステップS614)。一方、機器状態判定部204は、代替処理が提供できないと判定した場合には(ステップS611aのNO)、エラーメッセージ生成部208にエラーメッセージを生成させる(ステップS613)。エラーメッセージを生成したエラーメッセージ生成部208は、そのエラーメッセージを送信部203からクライアント装置103に送信する(ステップS614)。
図8Aおよび図8Bは、図7のステップS611〜S614の詳細な動作を示すフローチャートである。
なお、この図8Aおよび図8Bに示す動作では、クライアント装置103上には前述のGUIを実現するためのGUIプログラムがあらかじめダウンロードおよび保存されており、クライアント装置103上で動画コンテンツが再生されているものとする。また、このGUIでは、個々の動画コンテンツごとに、動画コンテンツとコンテンツ名が紐づけされている。例えば、ユーザが特定の動画コンテンツを選択した時に、このGUIでは、どの動画コンテンツが選択されたのかという情報(コンテンツ名)を内部的に取得することができる。また、再生要求は、“再生”の機能をあらわすplay関数を用いて、“play(http://hostname/program.cgi?contentname=aaa.mpg)”の様に実現されている。また、図8Aおよび図8Bに示す動作は、クライアント装置103が再生している動画コンテンツの早送りの代替処理をサーバ装置102に対して要求する場合の動作である。なお、図8Aおよび図8Bでは、早送りに対応する代替処理が行われる処理動作を例に挙げて説明しているが、巻き戻しやその他の機能に対応する代替処理が行われてもよく、代替処理される機能は早送りだけに限らない。
サーバ装置102の要求受付部201は、クライアント装置103に存在しない機能(機能名)を示す代替処理要求を受信すると(ステップS610)、その代替処理要求を解析し、要求された機能を機器状態判定部204に通知する(ステップS707)。機器状態判定部204は、状態情報記憶部205に保存されている設定情報テーブル205aの全ての行を参照し、全ての設定内容において設定が十分に行われているか調べる(ステップS708)。つまり、機器状態判定部204は、全ての設定内容に対応する設定状態が「OK」を示しているか否かを判定する。全ての設定内容についての設定に問題が無いと判定すると(ステップS708のYES)、次に、機器状態判定部204は、代替処理があるかどうかを、機能情報テーブル206aを参照して判断する(ステップS709)。例えば、代替処理要求が早送りの機能名「fastForward」を示している場合、図6に示す機能情報テーブル206aの行g22の2列目に、代替処理名「altFastForward」と代替処理用URL「http://A/BBB.cgi?/function=altFastForward」とが示されているため、機器状態判定部204は、早送りに対応する代替処理があると判定する。このとき、機器状態判定部204は、さらに、機能情報テーブル206aの行g22の3列目から代替処理用URLを取得する。
次に、機器状態判定部204は、代替処理があると判定すると(ステップS709のYES)、状態情報記憶部205内にある競合情報テーブル205bを参照し、代替処理要求に示される機能が現在利用可能であるか否かを判定する(ステップS710)。つまり、機器状態判定部204は、代替処理要求に示される機能を利用することによって他の機能との間で競合が発生し、その代替処理要求に示される機能が利用不可能となるか否かを判定する。ここで、機器状態判定部204は、競合が発生せずにその機能が利用可能であると判定すると(ステップS710のNO)、ステップS708〜ステップS710の判定結果および代替処理用URLをファイル(XML)に記載し(ステップS711)、要求受付部201および送信部203を通じて、そのファイルをクライアント装置103の受信部109に送信する(ステップS713)。
また、機器状態判定部204は、ステップS708で何れかの設定が正しく行われていないと判定したとき(ステップS708のNO)、ステップS709で代替処理がないと判定したとき(ステップS709のNO)、または、ステップS710で、競合が発生してその機能が利用不可能であると判定したとき(ステップS710のYES)には、それらの判定結果であるエラー判定情報(ステップS712)を取得する。そして、機器状態判定部204は、そのエラー判定情報とエラー処理用URLをファイル(XML)に記載する(ステップS711)。機器状態判定部204は、要求受付部201および送信部203を通じて、そのファイルをクライアント装置103の受信部109に送信する(ステップS713)。
図9は、サーバ装置102がクライアント装置103に送信するファイルの一例を示す図である。
このファイルf1は、ステップS710で、競合が発生せずに機能が利用可能であると判定された場合(ステップS710のNO)に生成された、XML(Extensible Markup Language)で記載されたファイルである。このファイルf1中には<result>タグがある。この<result>タグの中には、ステップS708の判定結果、つまり設定の状態を示す<setting>タグと、ステップS709の判定結果、つまり代替処理が存在するかどうかを示す<altenative>タグと、ステップS710の判定結果、つまり競合が発生するか否かを示す<competition>タグと、ステップS709で取得された代替処理用URLを含む情報であって、早送りの代替処理のプログラム(代替処理用プログラム)にアクセスするためのurl情報を示す<url>タグとが記載されている。
ここで、ステップS708〜S710において、サーバ装置102は設定情報テーブル205aを始めに参照し、その後、機能情報テーブル206a、競合情報テーブル205bと順に参照していることによって、余分な参照プロセスを避けている。例えば、設定情報テーブル205aに、設定が十分に行われていないと示されているにも関わらず、先に、機能情報テーブル206aおよび競合情報テーブル205bを参照し、代替処理を実行できると判断しても、最終的に設定が不十分であれば、機能情報テーブル206aを参照した意味が無くなるためである。
なお、本実施の形態では、機器状態判定部204が状態情報記憶部205と機能情報記憶部206に基づいて取得した代替処理用URLおよび判定結果をXMLの形式で、クライアント装置103に通知しているが、クライアント装置103に通知する方法はどのような方法であってもよい。例えば、テキストやプログラム、バイナリ等で通知してもよい。また、クライアント装置103が自分に機能があるかどうかを調べる機能がない場合でも、要求受付部201がクライアント装置103から受け付けた要求のHTTPヘッダを解析してUser−Agentを取得し、クライアントの能力を調べ、それに応じた代替処理用URLを機能情報テーブル206aから取得する事によって、その代替処理用URLおよび判定結果の通知を実現することが可能である。
図8Bに示すように、クライアント装置103の受信部109がファイルをサーバ装置102から受信すると(ステップS714)、クライアント装置103の解析部116は、そのファイルの<result>タグを解析する(ステップS715)。ここでは、解析部116が図9に示すファイルf1の<result>タグを解析する場合の処理動作について説明する。
解析部116は、<result>タグ内にあるすべてのタグに問題が記載されているか否か、つまりファイルf1にエラーが示されているか否かを判定する(ステップS716)。例えば、解析部116は、ファイルf1の<setting>タグに、全ての設定が正しく行われていることを示す「OK」が記載されており、<altenative>タグに、代替処理が存在すること示す「YES」が記載されており、<competition>タグに、競合が発生しないために機能が利用可能であることを示す「NO」が記載されているため、全てのタグに問題が記載されていないと判定する。
解析部116は、問題が記載されていないと判定すると(ステップS716のNO)、要求送信部108に対して、<url>タグに記載されているurl情報「http://hostName/BBB.cgi?status=normal&function=altFastForward」にアクセスさせる(ステップS717)。例えば、要求送信部108は、play(url情報)からなるアクセス要求「play(http://hostname/BBB.cgi?status=normal&function=altFastForward)」を送信する。
サーバ装置102の要求受付部201は、このアクセス要求を受けると(ステップS719)、このアクセス要求のurl情報から、実行する代替処理用プログラムの名称「BBB.cgi、status」、ステータス情報「status=normal」及びファンクション情報「function=altFastForward」を文字列操作によって取り出し、機器状態判定部204に通知する。機器状態判定部204は、ステータス情報をチェックし(ステップS720)、そのステータス情報がノーマルを示すか否か、つまりエラーを示すか否かを判定する(ステップS721)。この場合、ステータス情報は「status=normal」であるため、機器状態判定部204は、ノーマルを示す、つまりサーバ装置102内で問題は無いと判断し(ステップS721のNO)、プログラム名「BBB.cgi」の代替処理用プログラムの実行を代替処理提供部207のデータ送信制御部209に要求すると共に、そのデータ送信制御部209にファンクション情報を通知する。
この要求および通知を受けたデータ送信制御部209は、プログラム名「BBB.cgi」の代替処理用プログラムを起動し、送信データ生成部210に対して送信データの生成を要求する。送信データ生成部210は、コンテンツ保存部213から動画コンテンツを取り出し(ステップS722)、フレーム抽出部705に対して、クライアント装置103へ送信するフレームをその動画コンテンツの中から抽出させることにより(ステップS723)、送信データである早送り用データを生成する。
この場合、フレーム抽出部705は、早送り用データを生成するために、動画コンテンツをデコードして、デコードされた動画コンテンツのIフレームおよびPフレームのみを抽出する。なお、ファンクション情報が「function=altRewind」、つまり巻き戻しの代替処理を示す場合には、フレーム抽出部705は、早送りの場合の逆の処理を行い、巻き戻しの代替処理要求を受信した時点から以前のIフレームおよびPフレームを抽出する。また、ファンクション情報がその他の機能(例えば2倍速再生等)の代替処理を示す場合にも、フレーム抽出部705は、代替処理要求を受信した時点から同様に適切なフレームを抽出する。その後、動画用エンコーダ212は、抽出したフレームを再エンコードして早送り用データを生成し(ステップS724)、送信データ生成部210、データ送信制御部209および送信部203を通じてクライアント装置103の受信部109にその早送り用データを順次送り出す(ステップS727)。
クライアント装置103の受信部109は、サーバ装置102の処理結果を受信し(ステップS728)、その処理結果がエラーを示すか否かを判定する(ステップS728a)。上述の例の場合、受信部109は、動画コンテンツに対する処理結果である早送り用データを受信するため、その処理結果がエラーを示さないと判定する。受信部109は、エラーを示さないと判定すると(ステップS728aのNO)、この早送り用データを動画用デコーダ107に出力してデコードさせる(ステップS729)。そして、動画用デコーダ107は、デコードされた早送り用データを表示部112に順次表示させる(ステップS731)。その結果、早送り用データが再生される。
再生される早送り用データの映像は、動画コンテンツが早送りされている映像と見かけ上同等になる。したがって、クライアント装置103は、早送り用データを単純に通常再生すれば、動画コンテンツの早送り再生と同等の機能を実現できる。なお、早送りデータなどのデータをサーバ装置102からクライアント装置103に送信する方法や、そのデータをエンコードする方法、クライアント装置103の動画用デコーダ107がそのデータをデコードする方法等に関しては、さまざまなプロトコルや方法があり、本発明では、何れのプロトコルや方法を用いてもよい。
次に、代替処理を提供できない場合を説明する。
図10は、サーバ装置102がクライアント装置103に送信するファイルの他の例を示す図である。
このファイルf2は、図8AのステップS710で、競合が発生することにより機能が利用不可能であると判定された場合(ステップS710のYES)に生成された、XMLで記載されたファイルである。ファイルf1と同様、このファイルf2中には、<result>タグがある。この<result>タグの中には、ステップS708の判定結果、つまり設定の状態を示す<setting>タグと、ステップS709の判定結果、つまり代替処理が存在するかどうかを示す<altenative>タグと、ステップS710の判定結果、つまり競合が発生するか否かを示す<competition>タグと、エラー処理用URLを含む情報であって、エラー処理のプログラム(エラー処理用プログラム)にアクセスするためのurl情報を示す<url>タグとが記載されている。
図8Bに示すように、クライアント装置103の受信部109は、ファイルf2をサーバ装置102から受信し(ステップS714)、解析部116はそのファイルf2の<result>タグを解析する(ステップS715)。その結果、解析部116は、ファイルf2の<result>タグ内にあるすべてのタグに問題が記載されているか否か、つまりファイルf2にエラーが示されているか否かを判定する(ステップS716)。例えば、解析部116は、このファイルf2の<competition>タグに、競合が発生するために機能が利用不可能であることを示す「YES」が記述されているため、タグに問題が記載されていると判定する。
解析部116は、問題が記載されていると判定すると(ステップS716のYES)、要求送信部108に対して、<url>タグに記載されているurl情報「http://hostName/error.cgi?status=abnormal&function=altFastForward」にアクセスさせる(ステップS718)。例えば、要求送信部108は、play(url情報)からなるアクセス要求「play(http://hostName/error.cgi?status=abnormal&function=altFastForward&competition=yes)」を送信する。
サーバ装置102の要求受付部201は、このアクセス要求を受けると(ステップS719)、このアクセス要求のurl情報から、実行するエラー処理用プログラムの名称「error.cgi」、ステータス情報「status=abnormal」、ファンクション情報「function=altFastForward」、およびエラー情報「competition=yes」を文字列操作によって取り出し、機器状態判定部204に通知する。機器状態判定部204は、ステータス情報をチェックし(ステップS720)、そのステータス情報がノーマルを示すか否か、つまりエラーを示すか否かを判定する(ステップS721)。この場合、ステータス情報は「status=abnormal」であるため、機器状態判定部204は、ノーマルを示さない、つまりエラーを示すと判断し(ステップS721のYES)、エラーメッセージ生成部208に対して、エラー情報「competition=yes」を通知する(ステップS725)。言い換えれば、機器状態判定部204は、エラー情報が競合の発生を示しているので、その競合の発生を通知する。エラー情報の通知を受けたエラーメッセージ生成部208は、プログラム名「error.cgi」のエラー処理用プログラムを起動し、クライアント装置103にエラーメッセージを表示させるためのエラー表示用プログラムを生成し(ステップS726)、送信部203からクライアント装置103に送信する(ステップS727)。
クライアント装置103の受信部109は、サーバ装置102の処理結果を受信し(ステップS728)、その処理結果がエラーを示すか否かを判定する(ステップS728a)。上述の例の場合、受信部109は、エラー情報に対する処理結果であるエラー表示用プログラムを受信するため、その処理結果がエラーを示すと判定する。受信部109は、エラーを示す判定すると(ステップS728aのYES)、受信したエラー表示用プログラムを実行し(ステップS730)、エラーメッセージを表示部112に表示させる(ステップS731)。これにより、クライアント装置103のユーザは、サーバ装置102内で発生したエラーを把握する事が可能になる。
この方法を用いれば、サーバ装置102は、GUIによるエラー処理と各世代の機器に応じたエラーGUIとを変更する必要がなくなり、旧世代のクライアント装置103に接続したとしても上記仕組みの流用が可能になる利点もある。
なお、本実施の形態では、エラーメッセージを通知する手段として、エラーメッセージを表示するエラー表示用プログラムを生成して送信し、GUIの形でユーザに通知する方式を取っている。しかし、クライアント装置103にメッセージを通知する手段としては、メッセージだけを文字列として通知してもよいし、クライアント装置103上でwindow表示をしてもよく、ユーザにメッセージを通知することができれば、どのような手段であってもよい。
また、本実施の形態では、代替処理用プログラムまたはエラー処理用プログラムへアクセスする際、まず、XMLを用いてアクセス先をクライアント装置103に通知し、クライアント装置103からそのプログラムへのアクセスの要求があったときに、そのプログラムにアクセスしている。つまり、サーバ装置102からクライアント装置103へ処理工程を1度折り返す仕組みを用いている。しかし、このような仕組みを用いなくても、本発明の効果を得ることができる。具体的には、通知を受けた機器状態判定部204が要求された機能の機能名「fastForward」を用いて、機能情報テーブル206aから代替処理用のURLを取得し、代替処理用プログラムに直接アクセスする。
しかしながら、XML等を用いてクライアント装置103に処理を預けるにはメリットがある。サーバ装置102は、PC(パーソナルコンピュータ)のように高性能CPU(Central Processing Unit)や大容量のメモリを備えていない状況であっても、複数のクライアント装置103からの要求を確実に処理する必要がある。そのため、サーバ装置102に高負荷が掛かっている状況下では、代替処理やエラーメッセージの提供を遅延させた方がよい。したがって、本実施の形態では、サーバ装置102がクライアント装置103に処理を預ける手段として、XML等を用いてクライアント装置103に一時的に処理を預けているのである。つまり、サーバ装置102は自装置の都合に合わせてクライアント装置103を制御する主導権を握れるというメリットである。また、サーバ装置102は、XMLのファイルをクライアント装置103に送信するときに、自装置の都合に合わせて、所定時間経過後に、または、所定の条件が満たされたときに代替処理用URLにアクセスさせるような情報をクライアント装置103に通知してもよい。
このように、本実施の形態によれば、サーバ装置102がクライアント装置103に、クライアント装置103にない機能による処理を代替処理として提供できるので、クライアント装置103に送信するGUIプログラム(GUIコンテンツ)を、サーバ装置102内でクライアント装置103の能力で実行可能な範囲内にカスタマイズせずに、クライアント装置103上でサーバ装置102と同等の表示ができ、クライアント装置103が能力の劣る旧世代の機器であっても新世代のサーバ装置102と同等の機能を実現可能となるという効果が得られる。
また、本実施の形態では、状態情報テーブルなどを用いた判定が行われるため、サーバ装置102と他の機器との接続や切断などの設定状態、および、サーバ装置102内にある機能同士の競合など、サーバ装置102の状態が様々に変化しても、処理の大幅な遅延や停止、致命的なエラーを回避し、クライアント装置103に対して確実に応答を返すことができる。このような判定は、PCのサーバと比べてメモリ容量やCPUの処理能力などが劣るサーバ装置102に対して、複数の機器から同時に同一機能の利用が要求される場合や設定が頻繁に変更される場合に特に有効である。
(変形例1)
以下、本実施の形態における第1の変形例に係るサーバ装置について、図面を参照しながら説明する。本変形例に係るサーバ装置は、上記実施の形態1のように動画コンテンツに対する機能(早送りなど)の代替処理ではなく、静止画コンテンツに対する機能(回転など)の代替処理をクライアント装置に提供する。つまり、本変形例におけるサーバ装置は、ユーザがクライアント装置でサーバ装置の静止画コンテンツを閲覧する場合に、クライアント装置に対して、静止画コンテンツにおける、回転、拡大、縮小、またはイフェクト等の機能の代替処理を与える。
図11は、本変形例におけるサーバ装置とクライアント装置の構成図である。
本変形例におけるクライアント装置103Aは、GUIプログラム実行部111、要求送信部108、受信部109、静止画用デコーダ117、GUIプログラム保存部110、および表示部112を備える。また、本変形例におけるサーバ装置102Aは、要求受付部201、GUIプログラム保存部202、状態情報記憶部205、機器状態判定部204、機能情報記憶部206、送信部203、代替処理提供部207A、エラーメッセージ生成部208、およびコンテンツ保存部213を備える。また、代替処理提供部207Aは、データ送信制御部209、送信データ生成部210、静止画用エンコーダ215、および変換部214を備える。なお、図11に示す構成要素のうち、上記実施の形態1の図3に示す構成要素と同一の機能および構成を有する構成要素に対しては、実施の形態1と同一の符号を付して示し、その詳細な説明は省略する。また、コンテンツ保存部213は静止画コンテンツを保存している。
代替処理提供部207の変換部214は、クライアント装置103からの、静止画コンテンツに対する代替処理要求である編集要求に応じて、その静止画コンテンツを変換する。静止画用エンコーダ215は、その変換された静止画コンテンツをエンコードする。クライアント装置103Aの静止画用デコーダ117は、サーバ装置102Aの処理結果である変換されてエンコードされた静止画コンテンツをデコードして表示部112に表示させる。
本変形例と上記実施の形態1との相違点は、サーバ装置102の変換部214を使用し、回転、拡大、縮小、特殊効果等が付加された静止画像を生成し、クライアント装置103で表示可能にする点である。
図12は、本変形例における代替処理および静止画コンテンツの表示処理を示すフローチャートである。ここでは、上記実施の形態1と同様に、クライアント装置103A上には、GUIを実現するためのGUIプログラムがあらかじめダウンロードされ、ユーザがクライアント装置103A上で静止画コンテンツを閲覧しているものとする。このとき、サーバ装置102Aおよびクライアント装置103Aは、上記実施の形態1の図7、図8Aおよび図8Bに示す動作と同様の動作を行うが、図8Bに示すステップS721〜S731の処理の代わりに、静止画コンテンツの編集を代替処理として実行し、編集された静止画データ(送信データ)の静止画を表示する。
つまり、機器状態判定部204は、クライアント装置103Aから受けたアクセス要求に示されるステータス情報をチェックし、エラーを示すか否かを判定する(ステップS1121)。ここで、機器状態判定部204がエラーを示さないと判定すると(ステップS1121のNO)、送信データ生成部210は、コンテンツ保存部213より静止画コンテンツを取得し(ステップS1122)、変換部214へ取得した静止画コンテンツを受け渡し、その静止画コンテンツを変換させる(ステップS1123)。このとき、変換部214は、エンコードされている静止画コンテンツをデコードして変換する。静止画用エンコーダ215は、変換された静止画コンテンツを再びエンコードし(ステップS1124)、変換およびエンコードされた静止画データを送信データとして、送信部203からクライアント装置103Aに送信する(ステップS1127)。
クライアント装置103Aの受信部109は、サーバ装置102Aの処理結果を受信し(ステップS1128)、その処理結果がエラーを示すか否かを判定する(ステップS1128a)。上述の例の場合、受信部109は、静止画コンテンツに対する処理結果である静止画データを受信するため、その処理結果がエラーを示さないと判定する。受信部109は、エラーを示さないと判定すると(ステップS1128aのNO)、静止画データを静止画用デコーダ117に出力してデコードさせる(ステップS1129)。そして、静止画用デコーダ117は、デコードされた静止画データの画像を表示部112に表示させる(ステップS1131)。
また、図12に示すステップS1125,S1126,S1130の処理は、上記実施の形態1の図8Bに示すステップS725,S726,S730の処理と同様である。
なお、上記実施の形態1および変形例1では、動画または静止画に関する代替処理を行っているが、代替処理は、どのような処理でもよく、音声に関する代替処理であってもよい。例えば、録音した音声コンテンツに様々な効果を与える機能(効果付与機能)を有する新世代のサーバ装置とその効果付与機能が無い旧世代のクライアント装置が接続されている場合に、そのサーバ装置は、旧世代のクライアント装置にその効果付与機能による処理を提供する。
(変形例2)
ここで、上記実施の形態1における第2の変形例について説明する。
本変形例に係るサーバ装置102は、上記実施の形態1のGUIプログラムとは異なるGUIプログラムをクライアント装置103に送信する点に特徴がある。つまり、本変形例に係るGUIプログラムを実行するクライアント装置103は、クライアント装置103が有する機能(例えば、動画コンテンツの録画)であっても、所定の条件が満たされた場合には、その機能に応じた処理をサーバ装置102に要求する。なお、以下の説明では、その機能を録画として説明するが、他の機能であってもよい。また、その機能が録画の場合には、クライアント装置103およびサーバ装置102はそれぞれ、その機能によって、配信される動画コンテンツを受信して記録媒体にその動画コンテンツを記録することができる。
図13は、本変形例に係るクライアント装置103の動作を示すフローチャートである。
まず、クライアント装置103の受信部109は、サーバ装置102からGUIプログラムをダウンロードしてGUIプログラム保存部110に格納する(ステップS2002)。GUI表示処理部113は、そのGUIプログラムを実行して、GUIコンテンツである再生操作画面を表示部112に表示させる。クライアント装置103の制御部114は、ユーザによるGUI操作に応じて、その再生操作画面に表示されている機能のうち「録画」を選択する(ステップS2004)。その結果、制御部114は、クライアント装置103が備えている記録媒体の残容量を特定する(ステップS2006)。そして、制御部114は、その残容量がしきい値よりも多いか否かを判定する(ステップS2008)。つまり、制御部114は、録画対象の動画コンテンツの全てを記録媒体に格納することができるか否かを判定する。このしきい値は、録画対象の動画コンテンツのデータ量であってもよく、予め定められた値であってもよい。
制御部114は、ステップS2008で残容量が多いと判定すると(ステップS2008のYES)、その録画対象の動画コンテンツの録画を、クライアント装置103の録画の機能を有する処理部に実行させる(ステップS2010)。一方、制御部114は、残容量がしきい値以下であると判定すると(ステップS2008のNO)、その録画対象の動画コンテンツの録画をサーバ装置102に要求する(ステップS2012)。
図14は、本変形例に係るクライアント装置103の他の動作を示すフローチャートである。なお、ここでは、録画は、いわゆる予約録画であって、その機能が選択されたときには実行されず、その機能が選択されてから録画対象の動画コンテンツの配信が開始されるまでの期間(録画開始時間)だけ待機し、その配信が開始される時点で実行される。
クライアント装置103は、上述のステップS2002〜S2006と同様の処理を行い、制御部114は、残容量がしきい値よりも多いか否かを判定する(ステップS2008)。ここで、制御部114は、ステップS2008で残容量が多いと判定すると(ステップS2008のYES)、録画開始時間経過後に、その録画対象の動画コンテンツの録画を、クライアント装置103の録画の機能を有する処理部に実行させる(ステップS2010)。一方、制御部114は、残容量がしきい値以下であると判定すると(ステップS2008のNO)、まず、クライアント装置103に備えられた記録媒体に格納されているコンテンツの消去を促すメッセージを表示部112に表示させ、ユーザにその消去を要求する(ステップS2112)。制御部114は、ユーザによるGUI操作に応じて、消去が選択されたか否かを判定する(ステップS2114)。
ここで、制御部114は、消去が選択されたと判定すると(ステップS2114のYES)、コンテンツの消去によって残容量が上記しきい値以上になるまでに要する消去時間を特定して、その消去時間をプログレスバーで表示部112に表示させる(ステップS2116)。制御部114は、さらに、録画開始時間がステップS2116で特定された消去時間よりも長いか否かを判定する(ステップS2118)。ここで、制御部114は、録画開始時間が長いと判定すると(ステップS2118のYES)、録画開始時間経過後に、その録画対象の動画コンテンツの録画を上述の処理部に実行させる(ステップS2120)。
一方、制御部114は、ステップS2114で消去が選択されなかったと判定したとき(ステップS2114のNO)、または、ステップS2118で録画開始時間が長くないと判定すると(ステップS2118のNO)、その録画対象の動画コンテンツの予約録画をサーバ装置102に要求する(ステップS2122)。
このように本変形例に係るサーバ装置102がクライアント装置103に送信するGUIプログラムは、ユーザによって選択された機能がクライアント装置103にある場合であっても、その機能がクライアント装置103で利用できるか否かを判定するステップと、利用できないと判定された場合に、その機能による処理をサーバ装置102に要求するステップとを、クライアント装置103に実行させる。これにより、例えば、録画機能を有するクライアント装置103は、記録媒体の残容量が少ないときにその録画機能がユーザによって選択されたために、録画対象の動画コンテンツの全てを録画することができなくなってしまうことを防ぐことができる。
なお、本変形例では、クライアント装置103がGUIプログラムをダウンロードして実行することにより、上述のような判定やサーバ装置102への要求を行ったが、GUIプログラムをダウンロードして実行することなく、クライアント装置103が自主的に上記判定および要求を行ってもよい。
また、本発明に係るサーバ装置102について、実施の形態1およびその変形例1,2を用いて説明したが、本発明はこれらに限定されるものではない。
例えば、実施の形態1およびその変形例1,2では、動画コンテンツの早送り、静止画コンテンツの編集、および、動画コンテンツの録画を中心に、それらの機能に対する代替処理を説明したが、本発明に係るサーバ装置は、これらの機能だけでなく、他の機能に対する代替処理を行ってもよいことは言うまでもない。また、実施の形態1およびその変形例1,2の構成および処理動作を、矛盾のない範囲でどのように組み合わせてもよい。
(実施の形態2)
本実施の形態におけるクライアント装置は、例えば旧世代のサーバ装置に接続し、そのサーバ装置よりも多くの機能を有し、サーバ装置から指示されたGUIの再生操作画面において、サーバ装置に存在しない機能を表示させ、その機能による処理を実行する点に特徴がある。
図15は、本実施の形態におけるクライアント装置を含む家庭内ネットワークの構成図である。
家庭内ネットワークN1は、クライアント装置400を有するネットワークであり、無線ネットワークや有線ネットワークで実現される。クライアント装置400は、実施の形態1と同様、TV、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、FAX、PDA、PC、デジタルカメラ、冷蔵庫、電子レンジ、または洗濯機などの機器として構成されている。サーバ装置500も、クライアント装置400と同様、TV、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、FAX、PDA、PC、デジタルカメラ、カーナビ、冷蔵庫、電子レンジ、または洗濯機などの機器として構成されている。
家庭内ネットワークN1は、外部ネットワークN2経由で、サーバ装置500と繋がっている。そして、クライアント装置400とサーバ装置500とが連携して、クライアント装置400のGUIを更新する。また、サーバ装置500は、家庭内ネットワークN1に存在する機器でもよい。この場合は、クライアント装置400と家庭内ネットワークN1に存在するサーバ装置500とが連携して、クライアント装置400上にサーバ装置500のGUIコンテンツを表示することとなる。
図16は、本実施の形態におけるクライアント装置400の構成図である。
GUIデータ取得部401は、サーバ装置500上のGUIデータ管理部501からGUIデータを取得する。GUIデータは、HTML(Hyper Text Markup Language)、XML(Extensible Markup Language)、またはJava(登録商標)Script、Java(登録商標)等のプログラミング言語で表現される。GUIデータ解析部402は、GUIデータ取得部401で取得されたGUIデータを解析し、GUIプログラムを生成する。GUIプログラム実行部403は、GUIデータ解析部402によって生成されたGUIプログラムを実行し、表示部404に対して、表示要求を行うことによりGUIを実現する。つまり、GUIプログラム実行部403は、GUIプログラムを実行することにより、ユーザの操作用の画像であるGUIコンテンツを生成して表示部404に表示させる。
機能ディスパッチ部405は、機能を意味する識別子を用いて、後述するクライアント機能部406または代替機能部407を呼び出す。そして、機能ディスパッチ部405は、GUIプログラム実行部403がクライアント装置400またはサーバ装置500上の機能を呼び出す際に呼び出される。つまり、GUIプログラム実行部403は、クライアント装置400やサーバ装置500上の機能を直接呼び出すのではなく、機能ディスパッチ部405に上述の識別子を利用させ、クライアント装置400やサーバ装置500上の機能を間接的に呼び出す。
クライアント機能部406は、画像に対する機能と、サーバ装置500上の機能を呼び出すための機能を有する。なお、クライアント機能部406やサーバ機能部502が扱う画像に対する機能は、例えば、写真または動画などのコンテンツを扱う機能であって、具体的には、動画再生、動画録画、動画録画予約、または写真スライドショーなどのアプリケーション機能等である。
命令記憶部409は、機能ディスパッチ部405が呼び出したクライアント機能部406への要求を記憶する。命令記憶部409が記憶する情報は、機能を呼び出す際に機能を特定するための識別子とその引数、呼び出した時刻などである。
能力記憶部408は、クライアント機能部406が保持する機能を特定する情報を記憶している。クライアント機能部406が保持する機能を特定する情報とは、機能をユーザに提示する際に表示する文字列や、機能を呼び出す際に機能を特定するための識別子とその引数などである。GUIプログラム実行部403は、機能をユーザに提示する際に表示する文字列や、機能を呼び出す際にその機能を特定するための識別子とその引数などを用いて、能力記憶部408に対してどのような機能が存在するか問い合わせる。そして、GUIプログラム実行部403は、その結果から、サーバ装置500には存在せず、クライアント装置400に存在する機能(以下、差分機能という)を検出し、GUIデータから生成されるGUIコンテンツに差分機能に関する情報を反映させる。
代替機能部407は、GUIコンテンツとして表示された差分機能のうちの何れか1つがGUIプログラム実行部403から代替機能として呼び出された場合に、GUIプログラム実行部403から機能ディスパッチ部405を経由して呼び出される。そして、代替機能部407は、クライアント機能部406を呼び出すために後述する引数値推測部410から必要な情報を集め、クライアント機能部406を呼び出し、クライアント機能部406に代替機能による処理を実行させる。
引数値推測部410は、命令記憶部409に記憶された情報と、能力記憶部408に記憶された情報から、代替機能部407がクライアント機能部406を呼び出すために必要な引数値を推測する。
操作部411は、クライアント装置400のユーザによる操作を受け付け、その操作結果をGUIプログラム実行部403へ通知する。例えば、操作部411は、キーボード、リモコン、マウス、ポインティングデバイス、タッチパネル、音声認識機器、またはジェスチャー認識機器などで構成される。また、表示部404は、GUIプログラム実行部403からの要求に応じて、例えば動画コンテンツの一覧を示すGUIコンテンツ、動画コンテンツに対する機能の一覧を示すGUIコンテンツ、および動画コンテンツを表示する。
サーバ装置500は、GUIデータ管理部501とサーバ機能部502とを備える。GUIデータ管理部501は、上述のGUIデータを保持し、クライアント装置400のGUIデータ取得部401にそのGUIデータを送信する。このGUIデータから生成されるGUIコンテンツは、例えば、サーバ装置500が有する動画コンテンツの一覧と、サーバ装置500が有する機能の一覧とを、図形、文字、および記号などを用いて示す。サーバ機能部502は、1つまたは複数の動画コンテンツと、その動画コンテンツの一覧とを有する。また、サーバ機能部502は、その動画コンテンツに対する例えば再生および停止などの機能を有する。
ここで、図17〜図23を用いて、クライアント装置400が、GUIデータ管理部501が管理しているGUIデータを取得して表示した画面とそのクライアント装置400の動作について説明する。ここで、サーバ機能部502は動画に関する機能を提供するものであるとする。また、ここでは、サーバ装置500はクライアント装置400に対して、動画コンテンツの特殊再生機能(例えば、動画早送りまたは動画巻き戻しなど)による処理を提供することはできず、クライアント装置400は、クライアント装置400自身で、動画コンテンツの特殊再生機能を実現することが可能であるという前提とする。つまり、サーバ装置500から送信されるGUIデータには、動画コンテンツに対する機能のうち、通常再生機能に関するデータしか含まれておらず、クライアント機能部406が有する特殊再生機能に関するデータは含まれていない。
なお、本実施の形態では、機能について、動画コンテンツの特殊再生を例に挙げて説明するが、その機能は、前述の通り、動画コンテンツに関する機能でなく、他の機能であってもよい。
図17は、表示部404に表示される動画コンテンツの一覧の画面の一例を示す図である。
クライアント装置400は、サーバ装置500のGUIデータ管理部501が管理しているGUIデータを取得し、さらに、サーバ装置500のサーバ機能部502から動画コンテンツの一覧を取得する。そして、クライアント装置400は、そのGUIデータおよび動画コンテンツの一覧に基づいて、その一覧を示した画面(動画コンテンツ一覧画面)404aをGUIコンテンツとして生成して表示部404に表示する。ユーザは、クライアント装置400の操作部411を操作し、その一覧の中から再生対象の動画コンテンツを選択する。
図18は、表示部404に表示される再生操作画面の一例を示す図である。
クライアント装置400は、再生対象の動画コンテンツが選択されると、その動画コンテンツが再生されて表示される動画再生領域b1と、その動画コンテンツの再生を操作するための動画制御領域b2とを含む再生操作画面404bをGUIコンテンツとし生成して表示部404に表示させる。クライアント装置400は、再生対象の動画コンテンツをサーバ装置500のサーバ機能部502から取得してデコードし、その動画コンテンツの映像を動画再生領域b1に表示する。
動画制御領域b2には、サーバ機能部502に対して動画コンテンツの再生を要求するためのボタンb3と、サーバ機能部502に対して動画コンテンツの停止を要求するためのボタンb4とがある。ここで、クライアント装置400は、GUIデータから生成されたGUIプログラムを実行することにより、GUIデータに示されている機能を用いてこのような再生操作画面404bを生成して表示部404に表示している。つまり、クライアント装置400は、GUIデータに示されている機能が再生と停止であるために、ボタンb3とボタンb4とを表示している。なお、このような動画制御領域b2は、クライアント装置400のクライアント機能部406の機能であって、GUIデータに示されていない機能である差分機能がない場合に表示される。
図19は、表示部404に表示される再生操作画面の他の例を示す図である。
クライアント装置400は、再生対象の動画コンテンツが選択されたときに、上述の差分機能があると、動画再生領域b1と、差分機能を表す動画制御領域c1とを含む再生操作画面404cをGUIコンテンツとして生成して表示部404に表示させる。クライアント装置400は、再生対象の動画コンテンツをサーバ装置500のサーバ機能部502から取得してデコードし、その動画コンテンツの映像を動画再生領域b1に表示する。
動画制御領域c1には、ボタンb3およびボタンb4だけでなく、差分機能である動画コンテンツの早送りを要求するためのボタンc2と、差分機能である動画コンテンツの巻き戻しを要求するためのボタンc3とがある。ここで、クライアント装置400は、GUIデータから生成されたGUIプログラムを実行することにより、GUIデータに示されている機能を用いてこのような再生操作画面404cを生成して表示部404に表示している。つまり、クライアント装置400は、GUIデータに示されている機能が再生と停止であるために、ボタンb3とボタンb4と表示している。さらに、本実施の形態におけるクライアント装置400は、上述の差分機能が早送りと巻き戻しであるために、その差分機能を動画制御領域c1に割り当てて、ボタンc2とボタンc3とを表示している。
ここで、本実施の形態におけるクライアント装置400およびサーバ装置500の具体的な処理の流れを、図20〜図23を用いて説明する。
図20は、クライアント装置400が動画コンテンツ一覧画面404aを表示する処理を示すシーケンス図である。
まず、サーバ装置500のGUIデータ管理部501は、GUIデータをクライアント装置400に送信し(ステップS100)、GUIデータ取得部401は、GUIデータ管理部501が管理しているそのGUIデータを取得する(ステップS102)。そして、GUIデータ取得部401は、GUIデータ管理部501から取得したGUIデータをGUIデータ解析部402に出力する(ステップS104)。GUIデータ解析部402は、そのGUIデータを取得して解析し、その解析結果からGUIプログラムを生成する(ステップS106)。さらに、GUIデータ解析部402は、生成したGUIプログラムをGUIプログラム実行部403に出力する(ステップS108)。
GUIプログラム実行部403は、GUIプログラムを取得して実行する(ステップS110)。その結果、GUIプログラム実行部403は、再生可能な動画コンテンツの一覧を示す動画コンテンツ一覧画面404aを作成するために、機能ディスパッチ部405へ、動画コンテンツ一覧を取得するための機能(function=動画コンテンツ一覧)を呼び出す(ステップS112)。動画コンテンツの一覧には、動画コンテンツを一意に識別するためのコンテンツIDが含まれる。
機能ディスパッチ部405は、GUIプログラム実行部403から呼び出されると、上述の機能(function=動画コンテンツ一覧)を持つクライアント機能部406を呼び出す(ステップS114)。クライアント機能部406は、サーバ装置500のサーバ機能部502にアクセスし(ステップS116)、サーバ機能部502から動画コンテンツの一覧を送信させ(ステップS118)、その動画コンテンツの一覧を取得する(ステップS120)。クライアント機能部406は、取得した動画コンテンツの一覧を、機能ディスパッチ部405を介してGUIプログラム実行部403に出力する(ステップS122)。その結果、GUIプログラム実行部403は、動画コンテンツの一覧を取得し、その一覧を示す動画コンテンツ一覧画面404aを生成する(ステップS124)。
機能ディスパッチ部405は、動画コンテンツ一覧を取得したこと、つまりステップS114で呼び出した機能(function=動画コンテンツ一覧)を一覧取得命令として命令記憶部409に格納する(ステップS126)。GUIプログラム実行部403は、取得した動画コンテンツの一覧を用いて生成された動画コンテンツ一覧画面404aを表示部404に送信する(ステップS128)。その結果、図17に示すように、表示部404は動画コンテンツ一覧画面404aを表示する(ステップS130)。
図21は、再生対象の動画コンテンツが選択されたときのクライアント装置400の処理を示すシーケンス図である。
ユーザは、表示部404に表示された動画コンテンツ一覧画面404aを見て、操作部411を操作することにより、その動画コンテンツの一覧から、再生対象の動画コンテンツを選択する。これにより、操作部411は、コンテンツID=100の動画コンテンツが再生対象として選択されたことをGUIプログラム実行部403に通知する(ステップS140)。
GUIプログラム実行部403は、機能ディスパッチ部405へ、コンテンツID=100の動画コンテンツの再生の要求(function=動画再生)を通知する(ステップS142)。機能ディスパッチ部405は、動画再生機能を持つクライアント機能部406へ、コンテンツID=100の動画コンテンツの再生の要求(function=動画再生)を通知する(ステップS144)。さらに、機能ディスパッチ部405は、命令記憶部409に、ステップS144で通知した動画コンテンツのコンテンツIDが100であること(コンテンツID=100)を格納する(ステップS146)。また、GUIプログラム実行部403は、ステップS142で通知した動画コンテンツの機能が再生であることを示す機能情報(function=動画再生)を能力記憶部408に格納する(ステップS148)。
次に、GUIプログラム実行部403は、能力記憶部408にアクセスし(ステップS150)、能力記憶部408から、動画コンテンツの機能に関してどのような機能が存在するのかを示す機能一覧を取得する(ステップS152)。例えば、GUIプログラム実行部403は、動画コンテンツに対する再生、停止、早送り、および巻き戻しを示す機能一覧を取得する。
GUIプログラム実行部403は、能力記憶部408から取得した機能一覧が示す機能とGUIデータが示す機能との差分である差分機能を抽出する(ステップS154)。例えば、GUIデータが示す機能には、動画コンテンツに対する早送りと巻き戻しがなく、クライアント装置400の機能一覧が示す機能には、動画コンテンツに対する早送りと巻き戻しとがある。この場合、GUIプログラム実行部403は、動画コンテンツに対する早送りと巻き戻しの2つの機能(特殊再生機能)を差分機能として抽出する。なお、抽出される差分機能は特殊再生機能でなくてもかまわない。
GUIプログラム実行部403は、表示する画面に、動画コンテンツに対する差分機能である早送りと巻き戻しを選択するための選択機能を割り当てる(ステップS156)。なお、割り当て方法は、表示する画面に動的にその選択機能の情報を追加してもよいし、既存のキーに割り当ててもよい。さらに、GUIプログラム実行部403は、ステップS156の選択機能が割り当てられた画面を用いて再生操作画面404cを生成し(ステップS158)、表示部404にその再生操作画面404cを表示させる(ステップS160)。このように、差分機能がある場合には、表示部404は図19に示す再生操作画面404cを表示する。つまり、再生操作画面404cの動画制御領域c1にボタンc2が追加され、このボタンc2に対して、差分機能である早送りを選択するための選択機能が割り当てられる。さらに、動画制御領域c1にボタンc3が追加され、このボタンc3に対して、差分機能である巻き戻しを選択するための選択機能が割り当てられる。一方、差分機能がない場合には、表示部404は図18に示す再生操作画面404bを表示する。
図22は、クライアント装置400が動画コンテンツを通常再生する処理を示すシーケンス図である。
クライアント機能部406は、図21に示すステップS144で、コンテンツID=100の動画コンテンツの再生(function=動画再生)の要求が通知されると、サーバ装置500のサーバ機能部502に対して、コンテンツID=100の動画コンテンツのストリームを要求する(ステップS170)。その結果、サーバ機能部502はその動画コンテンツのストリームを送信し(ステップS172)、クライアント機能部406はその送信された動画コンテンツのストリームを取得する(ステップS174)。クライアント機能部406は、取得した動画コンテンツのストリームをデコードし、表示部404が表示できる動画データに変換する(ステップS176)。クライアント機能部406は、表示部404へ、変換した動画データを出力して、図19に示す再生操作画面404cの動画再生領域b1に動画コンテンツの映像を表示させる(ステップS178)。
図23は、クライアント装置400が動画コンテンツを早送りする処理を示すシーケンス図である。
ユーザは、動画コンテンツを早送りするために、操作部411を操作することにより、図19に示す再生操作画面404cのボタンc2を選択する。上述のように、ボタンc2には、差分機能である早送りを選択するための選択機能が割り当てられている。この場合、サーバ装置500に存在しないがクライアント装置400には存在する早送りという機能の利用がクライアント装置400に要求される。
その結果、操作部411は、差分機能である早送りの要求をGUIプログラム実行部403に通知する(ステップS190)。GUIプログラム実行部403は、図21のステップS154で抽出された差分機能のうち早送りを代替機能(代替動画早送り)として扱い、機能ディスパッチ部405に代替動画早送り(subFunction=動画早送り)の要求を通知する(ステップS192)。機能ディスパッチ部405は、代替機能部407に代替動画早送り(subFunction=動画早送り)の要求を通知する(ステップS194)。
代替機能部407は、代替動画早送りの処理をクライアント機能部406に実行させるために必要な引数値を引数値推測部410に対して要求する(ステップS196)。引数値推測部410は、能力記憶部408に対して、代替動画早送りに関連する機能情報を問い合わせ(ステップS198)、その機能情報を取得する(ステップS200)。ここでは、引数値推測部410は、図21のステップS148で最近に格納された機能情報である再生(function=動画再生)を引数値として取得する。引数値推測部410は、その取得した引数値である再生(function=動画再生)を代替機能部407に出力し、代替機能部407はその再生(function=動画再生)を取得する(ステップS202)。
さらに、引数値推測部410は、命令記憶部409に対して、その再生(function=動画再生)に対して最近に適用されたコンテンツIDを引数値として問い合わせ(ステップS204)、その結果、図21のステップS146で最近に格納されたコンテンツID=100を得る(ステップS206)。引数値推測部410は、その取得した引数値であるコンテンツID=100を代替機能部407に出力し、代替機能部407はそのコンテンツID=100を取得する(ステップS208)。
代替機能部407は、引数値推測部410から取得した引数値を結合し(ステップS210)、クライアント機能部406へ、コンテンツID=100の再生中の動画コンテンツに対する代替動画早送りの処理を要求する(ステップS212)。クライアント機能部406は、サーバ機能部502に対して、コンテンツID=100の動画コンテンツのストリームを要求し(ステップS214)、その動画コンテンツのストリームを取得する(ステップS216)。ここで取得した動画コンテンツのストリームは、早送り用の動画コンテンツのストリームではく、通常再生用の動画コンテンツのストリームである。
クライアント機能部406は、取得した動画コンテンツのストリームを早送り用の動画データに変換する(ステップS218)。さらに、クライアント機能部406は、表示部404へ、早送り用の動画データを出力し(ステップS220)、図19に示す再生操作画面404cの動画再生領域b1に、早送り用の動画データの映像を表示させる(ステップS222)。
このように、本実施の形態によれば、早送り機能がないサーバ装置500から取得したGUIデータによるGUI操作であっても、クライアント装置400が早送り機能を代替することにより、早送り機能を実現することが可能となる。つまり、本実施の形態のクライアント装置400は、サーバ装置500から取得したGUIデータに示されるサーバ装置500の機能と、クライアント装置400が有する機能とを比較し、クライアント装置400にあってサーバ装置500にない機能を差分機能として再生操作画面404cに表示し、その差分機能の選択を受け付ける。そして、クライアント装置400は、その差分機能が選択されたときには、サーバ装置500による差分機能の処理に代わって、クライアント装置400自体がその差分機能に応じた処理を実行する。これにより、クライアント装置400は、旧世代の機能の劣るサーバ装置500から送信されるGUIデータに関わらず、自らの全ての機能を利用することができる。
なお、本発明に係るクライアント装置400について、実施の形態2を用いて説明したが、本発明はこれらに限定されるものではない。
例えば、本実施の形態では、動画コンテンツの早送りを例として示したが、クライアント装置400は早送りだけに限らず、巻き戻し、2倍速再生、3倍速再生、ズームイン、ズームアウト、回転などの機能による処理を実行してもよい。例えば、クライアント装置400は、巻き戻しが差分機能として選択されたときには、動画コンテンツにおける選択された位置のフレームから表示順で前方(過去)のフレームに向かって、各フレームの送信をサーバ装置500に順次要求する。このとき、サーバ装置500は、サーバ装置500の通常の再生機能を用いて、動画コンテンツに含まれるフレームのうちクライアント装置400から要求されたフレームだけを順次送信する。なお、クライアント装置400の巻き戻しの処理は、上述のような処理に限らず、他の処理であってもよい。
また、実施の形態2では、クライアント装置400は動画コンテンツに対する機能の処理を実行したが、本発明に係るクライアント装置400は、動画コンテンツの機能だけでなく、静止画コンテンツ、音楽および音声などに対する機能の処理を行ってもよいことは言うまでもない。また、実施の形態2の構成および処理動作と、実施の形態1およびその変形例1,2の構成および処理動作とを、矛盾のない範囲でどのように組み合わせてもよい。
また、実施の形態1およびその変形例1の図3および図11に示すサーバ装置102,102A、または、実施の形態2の図16に示すクライアント装置400に含まれる全ての構成要素または一部の構成要素のみを、集積回路であるLSI(Large Scale Integrated circuit)として実現してもよい。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。例えばメモリ以外の機能ブロックが1チップ化されていてもよい。例えば、図3に示すサーバ装置102では、GUIプログラム保存部202および送信部203を除く他の構成要素をLSIとして構成してもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサ を利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、実施の形態1およびその変形例1,2と実施の形態2の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。上記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。上記マイクロプロセッサが、上記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
なお、本発明は、サーバ装置およびクライアント装置だけでなく、サーバ装置およびクライアント装置のそれぞれの処理方法、サーバ装置およびクライアント装置のそれぞれのプログラム、それぞれのプログラムを記録した記録媒体としても実現される。
本発明にかかるサーバ装置は、接続されたクライアント装置との間で機能に差異がある場合でも、その差異を吸収することが可能になるため、サーバ装置としてクライアント装置に接続する、例えば、TV、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、FAX、PDA、PC、デジタルカメラ、冷蔵庫、電子レンジ、および洗濯機などの組み込み機器に有用である。また、本発明に係るクライアント装置は、サーバ装置から取得したGUIコンテンツから、サーバ装置が未対応である機能を利用することができるという効果を有し、クライアント装置としてサーバ装置に接続する、例えば、TV、レコーダ、プレイヤ、携帯電話、固定電話、プリンター、FAX、PDA、PC、デジタルカメラ、冷蔵庫、電子レンジ、洗濯機などの組み込み機器に有用である。
100 家庭内ネットワーク
101 外部ネットワーク機器
102,102A サーバ装置
103,103A クライアント装置
107 動画用デコーダ
108 要求送信部
109 受信部
110 GUIプログラム保存部
111 GUIプログラム実行部
112 表示部
113 GUI表示処理部
114 制御部
115 旧機器機能情報
116 解析部
117 静止画用デコーダ
201 要求受付部
202 GUIプログラム保存部
203 送信部
204 機器状態判定部
205 状態情報記憶部
206 機能情報記憶部
207,207A 代替処理提供部
208 エラーメッセージ生成部
209 データ送信制御部
210 送信データ生成部
211 フレーム抽出部
212 動画用エンコーダ
213 コンテンツ保存部
214 変換部
215 静止画用エンコーダ
400 クライアント装置
401 GUIデータ取得部
402 GUIデータ解析部
403 GUIプログラム実行部
404 表示部
405 機能ディスパッチ部
406 クライアント機能部
407 代替機能部
408 能力記憶部
409 命令記憶部
410 引数値推測部
500 サーバ装置
501 GUIデータ管理部
502 サーバ機能部

Claims (19)

  1. クライアント装置に接続されるサーバ装置であって、
    前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、
    前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、
    前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、
    前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、
    前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、
    前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と、
    前記代替処理提供部による代替処理の実行によって生成されたデータを前記クライアント装置に送信する送信部と
    を備えるサーバ装置。
  2. 前記サーバ装置は、さらに、
    前記サーバ装置が有する少なくとも1つの機能を示す操作画面を表示する表示ステップと、前記少なくとも1つの機能のうちから選択された機能による処理を前記サーバ装置に要求する要求ステップとを、前記クライアント装置に実行させるためのGUI(Graphical User Interface)プログラムを保持するGUIプログラム保持部を備え、
    前記送信部は、さらに、前記GUIプログラムを前記クライアント装置に送信し、
    前記要求受付部は、前記クライアント装置による前記GUIプログラムの実行によって、前記サーバ装置が有する機能のうち前記クライアント装置にない機能による処理の要求を受け付ける、
    請求項1記載のサーバ装置。
  3. 前記GUIプログラムは、さらに、前記選択された機能がクライアント装置にあるか否かを判別する判別ステップと、前記選択された機能がクライアント装置にあると判別された場合に、前記選択された機能による処理を前記クライアント装置に実行させる実行ステップとを、前記クライアント装置に実行させ、前記要求ステップでは、前記選択された機能がクライアント装置にないと判別された場合に、前記選択された機能による処理を前記サーバ装置に要求する、
    請求項2記載のサーバ装置。
  4. 前記GUIプログラムは、前記サーバ装置が有する少なくとも1つの機能を示す画面であって、前記サーバ装置で表示される画面であるサーバ操作画面と同一の前記操作画面を前記クライアント装置に表示させる、
    請求項2または3記載のサーバ装置。
  5. 前記機器情報テーブルは、前記サーバ装置が有する機能ごとに、当該機能と、当該機能に対応する代替処理とを示し、
    前記代替処理特定部は、さらに、前記要求処理の機能が前記機能情報テーブルに示されているか否かを判定し、前記要求処理の機能が前記機能情報テーブルに示され、且つ、前記状態判定部によって前記要求処理ができると判定された場合に、前記代替処理を特定する、
    請求項1〜4の何れか1項に記載のサーバ装置。
  6. 前記状態情報記憶部は、前記サーバ装置の設定項目ごとに、当該設定項目の設定が正しく行われているか否かを示す設定情報テーブルを前記状態情報として記憶しており、
    前記状態判定部は、前記設定情報テーブルに示される全ての設定項目に対して設定が正しく行われていることが示されている場合に、前記要求処理ができると判定する、
    請求項1〜5の何れか1項に記載のサーバ装置。
  7. 前記状態情報記憶部は、前記サーバ装置が有する機能ごとに、当該機能の利用により前記サーバ装置の他の機能との間で競合が生じないか否かを示す競合情報テーブルを前記状態情報として記憶しており、
    前記状態判定部は、前記競合情報テーブルにおいて、前記要求処理の機能に対して競合が生じないことが示されている場合に、前記要求処理ができると判定する、
    請求項1〜6の何れか1項に記載のサーバ装置。
  8. 前記送信部は、さらに、前記状態判定部によって判定された結果である判定結果を前記クライアント装置に通知し、
    前記要求受付部は、さらに、前記判定結果に応じて前記クライアント装置から生じるアクセス要求を受け付け、
    前記代替処理提供部は、前記要求受付部に受け付けられた前記アクセス要求に応じて、前記代替処理を実行する、
    請求項1〜7の何れか1項に記載のサーバ装置。
  9. 前記要求受付部は、前記要求処理ができることが前記判定結果に示されている場合に前記クライアント装置から生じる代替処理要求を、前記アクセス要求として受け付け、
    前記代替処理提供部は、前記状態判定部によって前記要求処理ができると判定され、且つ、前記要求受付部によって前記代替処理要求が受け付けられた場合に、前記代替処理を実行する、
    請求項8記載のサーバ装置。
  10. 前記送信部は、前記状態判定部によって前記要求処理ができると判定された場合には、前記判定結果とともに、前記代替処理を実行する代替処理用プログラムの場所を示す第1の記述子を前記クライアント装置に通知し、
    前記要求受付部は、前記第1の記述子の示す場所へのアクセスの要求を、前記代替処理要求として受け付け、
    前記代替処理提供部は、前記第1の記述子の示す場所にある前記代替処理用プログラムを実行することにより、前記代替処理を実行する、
    請求項9記載のサーバ装置。
  11. 前記要求受付部は、前記要求処理ができないことが前記判定結果に示されている場合に前記クライアント装置から生じるエラー処理要求を、前記アクセス要求として受け付け、
    前記代替処理提供部は、前記要求受付部によって前記エラー処理要求が受け付けられた場合には、前記代替処理の実行を禁止し、
    前記サーバ装置は、さらに、
    前記要求受付部によって前記エラー処理要求が受け付けられた場合に、エラーが生じたことを通知するためのエラーメッセージを前記クライアント装置に送信するエラーメッセージ生成部を備える、
    請求項8記載のサーバ装置。
  12. 前記送信部は、前記状態判定部によって前記要求処理ができないと判定された場合には、前記判定結果とともに、前記エラー処理を実行するエラー処理用プログラムの場所を示す第2の記述子を前記クライアント装置に通知し、
    前記要求受付部は、前記第2の記述子の示す場所へのアクセスの要求を、前記エラー処理要求として受け付け、
    前記エラーメッセージ生成部は、前記第2の記述子の示す場所にある前記エラー処理用プログラムを実行することにより、前記エラーメッセージを前記クライアント装置に送信する、
    請求項11記載のサーバ装置。
  13. 前記状態判定部は、前記要求受信部によって前記アクセス要求が受け付けられた場合には、さらに、前記クライアント装置から通知される前記判定結果をチェックし、
    前記代替処理提供部は、前記クライアント装置から通知される前記判定結果に、前記要求処理ができることが示されている場合に、前記代替処理を実行する、
    請求項8記載のサーバ装置。
  14. 前記サーバ装置は、動画または静止画のデータであるコンテンツの再生に関する複数の機能を有し、
    前記送信部は、前記複数の機能を示す前記操作画面の表示を前記クライアント装置に実行させるための前記GUIプログラムを前記クライアント装置に送信する、
    請求項2記載のサーバ装置。
  15. 前記複数の機能には、再生、停止、早送り、巻き戻し、回転、拡大、および縮小のうちの少なくとも2つの機能が含まれる、
    請求項14記載のサーバ装置。
  16. 前記代替処理提供部は、前記早送りによる処理の要求が前記要求受付部で受け付けられた場合に、前記早送りに対応する代替処理を実行するときには、動画の前記データであるコンテンツからフレームを間引くことによって、前記コンテンツと異なる早送り用のコンテンツを生成する、
    請求項15記載のサーバ装置。
  17. クライアント装置に接続されるサーバ装置が処理する方法であって、
    前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付け、
    前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部を用い、
    前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定し、
    前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部を用い、
    前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定し、
    特定された代替処理を実行し、
    前記代替処理の実行によって生成されたデータを前記クライアント装置に送信する
    サーバ処理方法。
  18. クライアント装置に接続されるサーバ装置で実行されるプログラムであって、
    前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付け、
    前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部を用い、
    前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定し、
    前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部を用い、
    前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定し、
    特定された代替処理を実行し、
    前記代替処理の実行によって生成されたデータを前記クライアント装置に送信する
    ことを前記サーバ装置に実行させるプログラム。
  19. クライアント装置に接続される集積回路であって、
    前記クライアント装置から、当該クライアント装置にない機能による処理の要求を受け付ける要求受付部と、
    前記サーバ装置の状態を示す状態情報を記憶している状態情報記憶部と、
    前記状態情報の示すサーバ装置の状態に応じて、前記クライアント装置から要求された前記処理である要求処理ができるか否かを判定する状態判定部と、
    前記サーバ装置が有する機能ごとに、前記サーバ装置の当該機能による処理の結果と同一の結果が前記クライアント装置で得られるための代替処理を示す機能情報テーブルを記憶している機能情報記憶部と、
    前記状態判定部によって前記要求処理ができると判定された場合に、前記サーバ装置が有する機能のうちの前記要求処理の機能に対応する代替処理を、前記機能情報テーブルを参照することにより特定する代替処理特定部と、
    前記代替処理特定部によって特定された代替処理を実行する代替処理提供部と
    を備える集積回路。
JP2010517715A 2008-06-17 2009-06-16 サーバ装置、サーバ処理方法およびプログラム Expired - Fee Related JP5285069B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010517715A JP5285069B2 (ja) 2008-06-17 2009-06-16 サーバ装置、サーバ処理方法およびプログラム

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2008157733 2008-06-17
JP2008157732 2008-06-17
JP2008157732 2008-06-17
JP2008157733 2008-06-17
JP2010517715A JP5285069B2 (ja) 2008-06-17 2009-06-16 サーバ装置、サーバ処理方法およびプログラム
PCT/JP2009/002724 WO2009153967A1 (ja) 2008-06-17 2009-06-16 サーバ装置、サーバ処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2009153967A1 true JPWO2009153967A1 (ja) 2011-11-24
JP5285069B2 JP5285069B2 (ja) 2013-09-11

Family

ID=41433888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010517715A Expired - Fee Related JP5285069B2 (ja) 2008-06-17 2009-06-16 サーバ装置、サーバ処理方法およびプログラム

Country Status (5)

Country Link
US (1) US9009216B2 (ja)
EP (1) EP2254054A4 (ja)
JP (1) JP5285069B2 (ja)
CN (1) CN102067095A (ja)
WO (1) WO2009153967A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5471453B2 (ja) * 2010-01-05 2014-04-16 船井電機株式会社 携帯情報処理装置
JP5589537B2 (ja) * 2010-04-30 2014-09-17 ソニー株式会社 情報処理装置、情報処理方法、プログラム、情報提供装置および情報処理システム
US8576271B2 (en) * 2010-06-25 2013-11-05 Microsoft Corporation Combining direct and routed communication in a video conference
US9519425B1 (en) * 2010-06-28 2016-12-13 EMC IP Holding Company, LLC Techniques for device user interfaces
JP5713620B2 (ja) * 2010-09-29 2015-05-07 Necパーソナルコンピュータ株式会社 表示制御システム、表示装置、表示制御方法及びプログラム
DE102011007427B4 (de) * 2011-04-14 2019-08-22 BSH Hausgeräte GmbH Haushaltsgerät mit einer Kommunikationseinheit, System mit einem solchen Haushaltsgerät und Verfahren zum Ermöglichen einer Kommunikation zwischen einem Haushaltsgerät und einem weiteren Gerät
JP6073664B2 (ja) 2012-12-07 2017-02-01 株式会社東芝 コンテンツ再生装置及びコンテンツ再生プログラム
CN103023736B (zh) * 2012-12-12 2016-05-11 惠州Tcl移动通信有限公司 显示dlna设备的方法及移动终端
CN104823178B (zh) * 2012-12-12 2018-06-08 Sk科技有限公司 提供云服务的方法及其系统和装置
CN105208333B (zh) 2012-12-22 2019-05-10 华为技术有限公司 一种眼镜式通信装置、系统及方法
WO2014142343A1 (en) * 2013-03-15 2014-09-18 Ricoh Company, Limited Distribution control system and distribution system
JP2014200075A (ja) * 2013-03-15 2014-10-23 株式会社リコー コンピュータシステム、配信制御システム、配信制御方法、及びプログラム
US9961125B2 (en) 2013-07-31 2018-05-01 Microsoft Technology Licensing, Llc Messaging API over HTTP protocol to establish context for data exchange
US20150142982A1 (en) * 2013-11-15 2015-05-21 Microsoft Corporation Preservation of connection session
US10440066B2 (en) 2013-11-15 2019-10-08 Microsoft Technology Licensing, Llc Switching of connection protocol
KR20150060149A (ko) * 2013-11-26 2015-06-03 삼성전자주식회사 멀티미디어 데이터를 분산 처리하는 저장 장치 및 방법
US9794989B2 (en) 2013-12-06 2017-10-17 Panasonic Intellectual Property Corporation Of America Terminal apparatus and control method for assistive cooking
JP6277451B2 (ja) * 2014-02-07 2018-02-14 株式会社コナミデジタルエンタテインメント 処理システム、サーバ、端末、サーバ処理プログラム及び端末処理プログラム
JP6561433B2 (ja) * 2014-05-15 2019-08-21 ソニー株式会社 複数のハードウェアのエレメントを連係動作させることによって機能を実現させるための方法、システム、端末装置、およびサーバ
US10275139B2 (en) * 2014-09-18 2019-04-30 Sony Interactive Entertainment LLC System and method for integrated user interface for electronic devices
JP2017059268A (ja) * 2017-01-04 2017-03-23 株式会社東芝 コンテンツ再生装置、コンテンツ再生プログラム、代行装置、代行プログラムおよびコンテンツ再生システム
JP6510108B2 (ja) * 2018-04-06 2019-05-08 株式会社東芝 再生装置、再生プログラムおよび再生システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000333269A (ja) * 1999-05-21 2000-11-30 Matsushita Electric Ind Co Ltd GUI(GraphicalUserInterface)駆動型ネットワーク制御システム、及びGUI駆動型ネットワーク制御システムに用いるデバイス並びにコントローラ
JP2002501238A (ja) * 1998-01-06 2002-01-15 ソニー エレクトロニクス インク オーディオ/ビデオネットワークに関する方法及びシステム
JP2007336369A (ja) * 2006-06-16 2007-12-27 Canon Inc リモート操作端末装置、その制御方法及びプログラム
JP2008005445A (ja) * 2006-06-26 2008-01-10 Toshiba Corp 放送受信装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182109B1 (en) * 1996-03-08 2001-01-30 International Business Machines Corporation Dynamic execution unit management for high performance user level network server system
US6167441A (en) 1997-11-21 2000-12-26 International Business Machines Corporation Customization of web pages based on requester type
US6538665B2 (en) * 1999-04-15 2003-03-25 Apple Computer, Inc. User interface for presenting media information
US20020075305A1 (en) * 2000-12-18 2002-06-20 Beaton Brian F. Graphical user interface for a virtual team environment
US6871227B2 (en) * 2000-12-20 2005-03-22 Siemens Communications, Inc. Method and system of telecommunications trace diagnostics by multiple users
JP2003058499A (ja) * 2001-08-10 2003-02-28 Fujitsu Ltd 負荷を管理するサーバ、プログラム、および媒体
US8015584B2 (en) 2002-10-18 2011-09-06 Seachange International, Inc. Delivering interactive content to a remote subscriber
JP4297034B2 (ja) * 2004-11-05 2009-07-15 ブラザー工業株式会社 サービス提供システムおよびサーバ
US20060271977A1 (en) * 2005-04-20 2006-11-30 Lerman David R Browser enabled video device control
WO2006126664A1 (ja) * 2005-05-27 2006-11-30 Hows Corporation 情報処理システム、サーバ装置、クライアント装置、およびプログラム
JP2006331139A (ja) * 2005-05-27 2006-12-07 Hows:Kk 情報処理システム、サーバ装置、クライアント装置、およびプログラム
GB2427733A (en) * 2005-06-29 2007-01-03 Symbian Software Ltd Remote control
US8392821B2 (en) * 2006-03-17 2013-03-05 Viddler, Inc. Methods and systems for displaying videos with overlays and tags
JP5087872B2 (ja) * 2006-07-25 2012-12-05 日本電気株式会社 ストリーミング配信システム及びストリーミング配信方法
US8826345B2 (en) * 2006-09-08 2014-09-02 Edgeware Ab Method and an apparatus for data streaming
US7984177B2 (en) * 2007-04-30 2011-07-19 Vixs Systems, Inc. Multimedia client/server system with adjustable packet size and methods for use therewith
US20090047000A1 (en) * 2007-08-17 2009-02-19 Vibe Solutions Group, Inc. Method and Apparatus for a Web Browser-Based Multi-Channel Content Player
US8488181B2 (en) * 2010-04-07 2013-07-16 Xerox Corporation Preserving user applied markings made to a hardcopy original document

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002501238A (ja) * 1998-01-06 2002-01-15 ソニー エレクトロニクス インク オーディオ/ビデオネットワークに関する方法及びシステム
JP2000333269A (ja) * 1999-05-21 2000-11-30 Matsushita Electric Ind Co Ltd GUI(GraphicalUserInterface)駆動型ネットワーク制御システム、及びGUI駆動型ネットワーク制御システムに用いるデバイス並びにコントローラ
JP2007336369A (ja) * 2006-06-16 2007-12-27 Canon Inc リモート操作端末装置、その制御方法及びプログラム
JP2008005445A (ja) * 2006-06-26 2008-01-10 Toshiba Corp 放送受信装置

Also Published As

Publication number Publication date
US9009216B2 (en) 2015-04-14
EP2254054A4 (en) 2013-06-05
JP5285069B2 (ja) 2013-09-11
US20110179104A1 (en) 2011-07-21
CN102067095A (zh) 2011-05-18
EP2254054A1 (en) 2010-11-24
WO2009153967A1 (ja) 2009-12-23

Similar Documents

Publication Publication Date Title
JP5285069B2 (ja) サーバ装置、サーバ処理方法およびプログラム
JP4772375B2 (ja) 電子機器およびコンテンツ管理方法
JP5282447B2 (ja) 情報処理装置、情報処理方法、プログラムおよび情報処理システム
JP5444476B2 (ja) コンテンツデータ生成装置、コンテンツデータ生成方法、コンピュータプログラムおよび記録媒体
JP4528345B2 (ja) 動画再生装置、動画再生方法、動画再生方法をコンピュータで実現するためのプログラム及びそのプログラムを記録した記録媒体
TW200922331A (en) Personal video recorder functionality for placeshifting
EP2442581A1 (en) Video assets having associated graphical descriptor data
JP2010067097A (ja) 情報処理装置、情報処理方法および情報処理システム
TW201327202A (zh) 使用共享及個人裝置合作提供個人化使用者功能
US11843831B2 (en) Systems and methods for addressing a corrupted segment in a media asset
WO2011158487A1 (ja) 操作支援装置及び操作支援方法
JP2013219629A (ja) 情報処理装置および録画機器選択方法
JP5248640B2 (ja) 電子機器
KR100703801B1 (ko) Av 태스크 계산 방법, av 태스크 계산을 위한 요약정보 제공 방법 및 이를 위한 장치
US9277261B2 (en) Information processing apparatus and control method thereof
JP2015524109A (ja) ホームゲートウェイ環境におけるペアレンタルモニタリング
JP2006339980A (ja) 映像再生装置
JP5595440B2 (ja) 情報処理装置およびチューナー選択方法
JP2010081129A (ja) コンテンツ再生装置およびコンテンツ再生方法
WO2011158804A1 (ja) 制御装置、コンテンツ処理システム、遠隔制御方法、制御プログラム、および、記録媒体
JP2018074348A (ja) 映像処理装置、映像処理方法および映像処理プログラム
JP2009088739A (ja) データ転送装置
JP2014022955A (ja) レーベル画像管理装置、録画装置、レーベル画像管理方法、画像管理サーバ、画像管理システム、プログラム、及び記録媒体
US20240022791A1 (en) Systems and methods to adapt a schedule to be played by a media player
JP2013021430A (ja) サムネイル画像提供装置、方法、およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120223

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: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130530

R150 Certificate of patent or registration of utility model

Ref document number: 5285069

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees