本発明の一実施形態は、画像データ等のコンテンツデータやコンテンツデータの再生のさせ方を設定した再生制御情報を表示装置へ送信する。そして、表示装置はこのコンテンツデータや再生制御情報を記録媒体に保存する。また、表示装置は、再生制御情報から実行情報を生成する。実行情報とは、再生制御情報を表示装置で実行可能な形式にしたものである。表示装置は、実行情報に基づいてコンテンツデータを再生する。
また、表示装置は、コンテンツデータや再生制御情報等を含むファイルを記録媒体に保存する処理を行っている最中に、処理の中断原因が発生した場合は、中断原因の種類に応じた処理を行う。以下の実施形態の説明では、コンテンツデータや再生制御情報等を含むファイルを記録媒体に保存する処理をファイルの保存処理と呼ぶ。なお、本実施形態におけるファイルの保存処理とは、記録媒体へのデータの書き込みと同義とする。
以下に図面を参照して本発明の実施形態について説明する。図1は、本実施形態の表示システムのシステム構成の一例を示す図である。
本実施形態の表示システム100は、情報端末200と表示装置300とを有し、情報端末200と表示装置300とはネットワーク等のデータ伝送路Nを介して接続される。
本実施形態の情報端末200は、例えば3G(3rd Generation)、LTE(Long Term Evolution)、4G(4th Generation)の規格に準ずる通信方式による通信を行っても良い。また、本実施形態の情報端末200は、例えばZigBeeやBluetooth(登録商標)等に準ずる通信方式による通信を行っても良い。
本実施形態の情報端末200は、例えばスマートフォンや携帯電話等の無線通信端末であっても良い。また、本実施形態の情報端末200は、例えばタブレットPC(Personal Computer)やノート型PCであっても良い。本実施形態の情報端末200は、表示装置300と通信を行えるものであれば良い。
本実施形態の情報端末200は、プログラム200Aがインストールされている。本実施形態の情報端末200は、プログラム200Aを実行して表示装置300に表示させるコンテンツデータの再生制御情報を生成し、コンテンツデータと再生制御情報とを表示装置300へ送信する。
本実施形態の表示装置300は、プログラム300Aがインストールされている。本実施形態の表示装置300は、プログラム300Aを実行することで、情報端末200から送信されたコンテンツデータを実行情報に基づき表示させる。
本実施形態の表示装置300は、情報端末200から送信された再生制御情報に基づき実行情報を生成する。また、本実施形態の表示装置300は、コンテンツデータや再生制御情報を記録媒体に保存する処理を行っているときに、処理の中断が発生したときは中断の原因に応じた処理の制御を行う。
本実施形態の表示装置300は、実行情報に基づきコンテンツデータを表示させることが可能な表示機能を有していればよい。具体的には、本実施形態の表示装置300は、例えばプロジェクタやディスプレイ等である。
本実施形態のコンテンツデータとは、例えば画像データや動画データ等である。コンテンツデータとなる画像データは、例えば1枚の画像の画像データであっても良いし、複数枚の画像の画像データであっても良い。本実施形態のコンテンツデータは、表示装置300に表示させることが可能なデータであれば良い。
以下の本実施形態の説明では、表示装置300で再生されるコンテンツデータを再生コンテンツデータと呼び、それ以外の例えば所定の記憶領域に格納されているコンテンツデータを単にコンテンツデータと呼ぶ。また、以下の本実施形態の説明では、表示装置300はプロジェクタとスクリーンを表示装置として、プロジェクタがスクリーンにコンテンツデータを投影する場合について説明する。
以下に図2を参照して本実施形態の表示システム100の利用シーンについて説明する。図2は、本実施形態の表示システムの利用シーンの一例を説明する図である。
図2の例では、情報端末200をスマートフォン又はタブレットPCとし、表示装置300をプロジェクタ300−1とスクリーン300−2を含む構成とし、表示システム100を例えば電子看板(Digital Signage)に用いた場合を示している。
本実施形態の情報端末200は、ユーザにより再生コンテンツデータの再生の仕方が設定されると、この設定に基づき再生コンテンツデータの再生制御情報を生成する。そして、情報端末200は、再生コンテンツデータと再生制御情報とをプロジェクタ300−1へ送信する。プロジェクタ300−1は、受信した再生コンテンツデータを記憶部に保存し、再生制御情報から実行情報を生成し、この実行情報に従って再生コンテンツデータを再生する。
本実施形態の表示システム100では、ユーザは、1度再生コンテンツデータと再生制御情報を表示装置300に送信すれば、所望の設定通りに再生コンテンツデータを継続して再生することができる。
すなわち、本実施形態の表示システム100を電子看板等に適用した場合、自動的にユーザが望むようにコンテンツデータが再生されるため、ユーザはコンテンツデータの表示順や表示の切り替え等をその都度設定する手間を省くことができる。
また、本実施形態の表示システム100は、プロジェクタ300−1が情報端末200から受信した再生コンテンツデータや再生制御情報を記憶部に保存する処理中に、この処理が中断された場合は中断の原因に応じた保存処理の制御を行う。すなわち、本実施形態の表示システム100は、保存処理中にこの保存処理が中断された場合は、中断の原因に応じて保存処理を続行するか、すでに保存済の情報を削除するかの制御を行う。これにより、本実施形態の表示システム100では、不完全なデータが記憶領域に残存することを防止することができる。
次に、図3を参照して本実施形態の表示システム100が有する情報端末200のハードウェア構成を説明する。図3は、本実施形態の表示システムが有する情報端末のハードウェア構成の一例を示す図である。
本実施形態の情報端末200は、それぞれバスB1で相互に接続されているCPU(Central Processing Unit)201、記憶部202、入力部203、外部インターフェイス部204、ネットワーク制御部205、出力部206、ドライバ207を有する。
CPU201は、情報端末200の各種動作を制御する。記憶部202は、情報端末200の動作や演算に係る各種情報や、情報端末200で実行される各種プログラム等が格納される。入力部203は、各種信号や情報を入力するために用いられる。入力部203は、例えばタッチパネル等の表示機能を有していてもよい。また、本実施形態の入力部203は、例えばポインティングデバイスやキーボード等であっても良い。
本実施形態の外部インターフェイス部204は、例えばUSB(Universal Serial Bus)メモリスロットやNFC(Near field communication)等である。ネットワーク制御部205は、モデム、LANカード等を含み、ネットワークに接続するために用いられる。出力部206は、情報端末200から各種情報の出力をするために用いられる。本実施形態の出力部206は、例えばディスプレイ等であっても良いし、外部装置へ各種データを送信する送信部であってもよい。
本実施形態のプログラム200Aは、情報端末200を制御する各種プログラムの少なくとも一部である。プログラム200Aは、例えば記録媒体208の配布やネットワークからのダウンロードなどによって提供される。プログラム200Aを記録した記録媒体208は、CD−ROM、フレキシブルディスク、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、プログラム200Aを記録した記録媒体208がドライバ207にセットされると、プログラム200Aは記録媒体208からドライバ207を介して記憶部202にインストールされる。
記憶部202は、インストールされたプログラム200Aを格納すると共に、必要なファイル、データ等を格納する。CPU201は、記憶部202に格納されたプログラム200Aに従って各種処理を実現している。
次に、図4を参照して本実施形態の表示システム100が有する表示装置300のハードウェア構成を説明する。図4は、本実施形態の表示システムが有する表示装置のハードウェア構成の一例を示す図である。
本実施形態の表示装置300は、制御手段として、メインCPU301、サブCPU302、ネットワークCPU303、及びネットワークサブCPU304の4つのCPUを有する。以下に述べる各CPUの動作は、そのCPUが各種プログラムを実行して各種ハードウェアを制御することにより実現されるものである。なお、プログラム300Aは、上記各種プログラムの少なくとも一部である。プログラム300Aは、例えば記録媒体の配布やネットワークからのダウンロードなどによって提供される。また、プログラム300Aを記録した記録媒体が表示装置300にセットされると、プログラム300Aは記録媒体を介して表示装置300の不揮発メモリ316と不揮発メモリ317にインストールされる。ネットワークからダウンロードされたプログラム300Aは、有線ネットワークI/F306又は無線ネットワークI/F307を介して不揮発メモリ316にインストールされる。
メインCPU301は、主制御部であり、画像入力部309あるいはネットワークCPU303から入力する画像信号に基づき、DMD(Digital Mirror Device)322を制御して映像を投影する機能を備える。なお、DMDを直接制御するのはDMD制御部312であり、メインCPU301は、DMD制御部312に対し、投影すべき画像信号と、投影に用いる設定データを供給することにより、DMD322に所望の画像を投影させることができる。
また、メインCPU301は、入力する画像信号に対し、投影前に、コントラストや色合いをはじめとする特性を調整する信号処理を行う機能も有する。なお、上記の投影自体も、信号処理の1つであると考えることができる。
さらに、メインCPU301は、ファン制御部310及びランプ制御部311を介して、映像の投影に用いるランプ321と、ランプ321の冷却に用いるファン320を制御する機能を有する。メインCPU301は、表示器制御部313を介して、LED(発光ダイオード)ランプや小型の液晶パネル等を備える表示器323を制御し、所望の情報を表示させる機能も有する。
さらに、メインCPU301は、ボタンやスイッチ等により構成される操作子325に対してなされた操作を、操作子制御部315を介して検出したり、リモコン受信部314が受信する、リモートコントローラの操作内容を示す信号を検出したりする機能も有する。
また、ここで述べたもの以外にも、メインCPU301は、表示装置300における制御のうち、他のCPUが担当していないものを概ね担当する。これらの多彩な機能を有するメインCPU301は、消費電力が比較的大きい高消費電力のものとなっている。このため、電力消費を低減すべきスタンバイ状態では、このメインCPU301は、基本的には電力供給をオフされる。なお、電力消費を低減すべきスタンバイ状態では、メインCPU301は、所定以下の電力供給がされていてもよい。
次に、サブCPU302は、副制御部であり、リモコン受信部314及び操作子制御部315を介した操作の検出機能を有する。また、検出した電源オンオフの操作や、メインCPU301及びネットワークサブCPU304からの要求に応じて、メインCPU301及びネットワークサブCPU304への電力供給のオンオフを制御する機能も有する。
そして、サブCPU302の機能はほぼこれらの機能のみとしているため、サブCPU302は極めて消費電力の小さい低消費電力のものである。サブCPU302は、メインCPU301への電源供給をオフしている状態でもユーザの操作を検出するため、電源部305に対して外部電源から電力が供給されている間は、常に電力供給がオンの状態とされる。
ネットワークCPU303は、第1ネットワーク制御部である。ネットワークCPU303は、ネットワークサブCPU304経由で受け取る、ネットワークを介して外部装置から受信した投影対応のデータや、USB_I/F(Universal Serial Bus Interface)308に接続された外部記録媒体であるUSBメモリから読み出した投影対象のデータ(再生コンテンツデータなど)を、メインCPU301が投影に用いるのに適した形式の画像信号に変換する機能を有する。また、ネットワークCPU303は、変換後の信号をメインCPU301に出力する機能も有する。
ネットワークCPU303が行うこれらの処理の負荷は比較的高く、従ってネットワークCPU303はこれを高速に処理するため比較的高消費電力となっている。
ネットワークサブCPU304は、第2ネットワーク制御部である。そして、ネットワークを介して外部装置と通信し、そのネットワークを介して外部装置から受信した投影対象のデータを、ネットワークCPU303に渡す機能を有する。なお、表示装置300は、ネットワーク通信のためのインタフェースとして、有線通信を行うための有線ネットワークI/F306と、無線通信を行うための無線ネットワークI/F307とを備えている。前者は、例えばIEEE(Institute of Electrical and Electronics Engineers)802.11b/11a/11n方式の通信を行うためのインタフェースである。ネットワークサブCPU304は、これらの一方又は両方を用いて外部装置とネットワークを介した通信を行うことができる。
また、ネットワークサブCPU304は、通信に使用するI/Fの設定に応じて、優先ネットワークI/F306及び無線ネットワークI/F307に対する電源供給のオンオフを制御する機能を有する。
また、ネットワークサブCPU304は、供給制御手段として機能し、スタンバイ状態から電源オン状態への移行を指示するイベントや、逆に電源オン状態からスタンバイ状態への移行を指示するイベント等を検出した場合に、それらに応じてネットワークCPU303への電力供給のオンオフを制御する機能も有する。
次に、電源部305は、電源ケーブルにより接続される家庭用電源等の外部電源から供給される電力を、表示装置300の各部に供給する機能を有する。図1では、代表的な供給先であるメインCPU301、サブCPU302、ネットワークCPU303、ネットワークサブCPU304、有線ネットワークI/F306及び無線ネットワークI/F307に対する電力供給路を破線で示している。そして、少なくともこれらの各部に対する電力供給のオンオフは、個別に切り替え可能である。また、図示を省略したほかの各部にも、電源部305からの電力が供給される。
また、電力供給路に向かう実線の矢印は、その電力供給路を通じた電力供給のオンオフを制御可能であることを示す。サブCPU302は、メインCPU301、ネットワークCPU303及びネットワークサブCPU304に対する電力供給オンオフを制御可能である。
ネットワークサブCPU304は、ネットワークCPU303、有線ネットワークI/F306及び無線ネットワークI/F307に対する電力供給オンオフを制御可能である。
また、図示していないが、メインCPU301及びネットワークCPU303は、電源部305に所定の信号を送信することにより、自身に対する電源供給路を遮断して電源供給をオフすることが可能である。
また、以上述べてきた各部以外の各部については、USB_I/F308は、USB規格に従った外部装置を接続するためのインタフェースである。
画像入力部309は、DVI−I(Digital Visual Interface Integrated)、VGA(Video Graphics Array)、RS−232C等の適当な規格に従い、外部装置からの画像信号の入力を受け付ける機能を有する。
不揮発メモリ316は、メインCPU301とサブCPU302の双方から参照可能な不揮発性記憶手段である。例えばEEPROM(Electrically Erasable Programmable Read-Only Memory)により構成することができる。この不揮発メモリ316には、表示装置300の動作履歴及び設定情報等を記憶させる。ここで記憶させる設定情報には、例えば、省エネ度設定や電源オン設定を含む。また、通信に関する設定として、通信に使用するインタフェースの設定、ネットワーク通信の場合のDHCP(DynamicHost Configuration Protocol)サーバの使用有無、ゲートウェイアドレス等の設定を含む。
また、不揮発メモリ317は、ネットワークサブCPU304から参照可能な不揮発性記憶手段である。この不揮発メモリ317には、少なくとも、ネットワークサブCPU304がネットワークを介した通信を行う際に参照する設定情報を記憶させる。その設定情報の内容は、少なくともネットワークサブCPU304とネットワークCPU303とメインCPU301の全てが動作している状態では、不揮発メモリ316と不揮発メモリ317とで同期させておく。
不揮発メモリ316の内容は、メインCPU301がリモコン受信部314や操作子325により受け付けた変更操作に従って変更され、不揮発メモリ317の内容は、ネットワークサブCPU304がネットワーク経由で受け付けたPJLink規格のプロトコル等による変更操作に従って変更される。しかし、一方の不揮発メモリの内容が変更された場合、その変更後の内容は速やかに他方の不揮発メモリに反映させる。この動作は、ネットワークサブCPU304、ネットワークCPU303及びメインCPU301が担当する。
ただし、不揮発メモリ317には、不揮発メモリ316に記憶させてある全ての項目の情報を記憶させる必要はない。少なくとも、ネットワークサブCPU304が通信にしようする項目の設定情報を記憶していれば、表示装置300は問題なく動作する。しかし、ネットワーク経由で受け付けた変更操作に従って編集可能な項目を全て記憶させておけば、メインCPU301が停止しているスタンバイ状態でもネットワーク経由で設定内容を編集でき、利便性を向上させることができる。
次に、図5を参照して本実施形態の表示システム100が有する各装置の機能構成について説明する。図5は、本実施形態の表示システムが有する各装置の機能構成の一例を示す図である。
本実施形態の情報端末200は、記憶部202内に設けられた所定の記憶領域2100を有する。記憶領域2100には、例えばコンテンツデータ2110と、設定項目情報2120とが格納されている。コンテンツデータ2110は、例えば表示装置300へ表示することが可能なデータであり、画像データや動画データ等である。本実施形態の設定項目情報2120は、再生制御情報においてユーザにより設定される項目を示す情報である。
設定項目情報2120には、例えば、再生コンテンツデータ3110に含まれるコンテンツデータ2110の再生順を示すOrder項目が含まれる。また、設定項目情報2120には、例えば、再生コンテンツデータ3110に含まれるコンテンツデータ2110の再生時間を示すTime項目が含まれる。さらに、設定項目情報2120には、例えば、再生コンテンツデータ3110に含まれるコンテンツデータ2110の表示の切り替えの仕方を示すEffect項目が含まれる。
また、本実施形態の情報端末200は、表示制御部2010、入力受付部2020、再生制御情報生成部2030、送受信部2040を有する。
本実施形態の表示制御部2010は、情報端末200の出力部206であるディスプレイ等に、コンテンツデータ2110の一覧画面や、設定項目情報2120に含まれる項目の値を設定させる設定画面等を表示させる。
本実施形態の入力受付部2020は、コンテンツデータ2110の一覧を表示させた一覧画面においてコンテンツデータ2110の選択を受け付ける。本実施形態では、情報端末200の一覧画面において選択されたコンテンツデータ2110が、表示装置300で再生される再生コンテンツデータ3110として、表示装置300に送信される。また、本実施形態の入力受付部2020は、設定項目情報2120に含まれる項目の値を設定させる設定画面における設定値の入力を受け付ける。
本実施形態の再生制御情報生成部2030は、再生コンテンツデータに含まれる情報に基づき、所定のフォーマットにしたがった再生制御情報3120を生成する。本実施形態では、設定項目情報2120に含まれる項目は再生制御情報3120に含まれる項目の一部である。すなわち、本実施形態の再生制御情報3120には、設定項目情報2120に含まれる項目に対してユーザが設定した値が含まれる。
本実施形態の送受信部2040は、再生コンテンツデータ3110と、生成された再生制御情報3120とを表示装置300に送信する。また、表示装置300から例えば再生コンテンツデータ3110の保存が完了したことを示す完了通知などを受信する。
なお、本実施形態の情報端末200は、コンテンツデータ2110が記憶領域2100内に格納されているものとしたが、これに限定されない。コンテンツデータ2110は、例えば情報端末200が読取可能な可搬型の記録媒体に格納されていても良いし、情報端末200と通信が可能な外部装置に格納されていても良い。
本実施形態の表示装置300は、要求制御部3010、再生制御部3020、フォーマット変換部3030、ファイル管理部3040、中断検知部3050、通信制御部3060、表示制御部3070を有する。また、再生制御部3020は、検証部3021、実行情報生成部3022を有する。
さらに、本実施形態の表示装置300は、再生コンテンツデータ3110、再生制御情報3120、中断原因コードテーブル3130、中断原因種別テーブル3131、設定項目値テーブル3140、実行情報3150が格納される記憶領域3100を有する。なお、本実施形態の記憶領域3100は、例えば表示装置300の有する不揮発メモリ316又は/及び不揮発メモリ317に設けられても良いし、表示装置300が読取可能な可搬型の記録媒体に設けられても良い。また、記憶領域3100は、表示装置300と通信が可能な外部装置等に設けられても良い。
本実施形態の中断原因コードテーブル3130は、中断検知部3050が参照するテーブルであり、ファイルの保存処理の中断原因と、中断原因に割り振られた中断原因種別コードとを対応付けたものである。
本実施形態の中断原因種別テーブル3131は、要求制御部3010が参照するテーブルであり、中断原因種別コードと、ファイルの保存処理の種類とが対応付けられたものである。
本実施形態の設定項目値テーブル3140は、再生制御情報3120に設定された各項目のデフォルト値を定義したテーブルである。
本実施形態の実行情報3150は、再生制御情報3120を表示装置300が実行可能な形式にしたものである。
本実施形態の要求制御部3010は、通信制御部3060を介したファイルの保存要求や投影実行要求等の各種要求を受け付けると、受け付けた要求を解析し、この要求と対応する処理を他の処理部に要求する。
本実施形態の要求制御部3010は、例えば、情報端末200から通信制御部3060を介して投影実行要求を受け付けた場合、再生制御部3020に投影実行処理を要求する。また、要求制御部3010は、例えば、情報端末200から通信制御部3060を介してファイルの保存要求を受け付けた場合、ファイル管理部3040にファイルの保存処理を要求する。
また、本実施形態の要求制御部3010は、例えばファイルの保存処理の実行中に、処理の中断原因が発生した場合、中断原因種別テーブル3131を参照し、中断検知部3050から通知された中断原因種別コードに応じたファイルの保存処理を行う。
本実施形態の再生制御部3020は、再生コンテンツデータ3110を実行情報3150に基づき再生する制御を行う。また、検証部3021は、再生制御情報3120が適切か否かを検証する。また、実行情報生成部3022は、再生制御情報3120から実行情報3150を生成する処理を行う。
本実施形態のフォーマット変換部3030は、再生コンテンツデータ3110に含まれるコンテンツデータ2110を表示制御部3070が投影可能な形式に変換する処理を行う。
本実施形態のファイル管理部3040は、情報端末200から送信された再生コンテンツデータ3110や再生制御情報3120を記憶領域3100に保存する処理を行う。また、記憶領域3100に格納されているファイルなどを読み出す処理を行う。
本実施形態の中断検知部3050は、ファイル管理部3040による記憶領域3100へのファイルの保存処理の中断原因の発生を検知する。本実施形態におけるファイルの保存処理の中断原因とは、例えば、ファイルの保存処理中に発生したスタンバイ移行等である。
また、中断検知部3050は、中断原因コードテーブル3130を参照し、検知した中断の原因の種別に応じた中断原因種別コードを取得し、要求制御部3010に通知する。
本実施形態の通信制御部3060は、情報端末200との通信の制御を行う。
本実施形態の表示制御部3070は、再生コンテンツデータ3110をスクリーン300−2に投影する制御を行う。
ここで、情報端末200から表示装置300に対して行う処理要求について説明する。
図6は、本実施形態の情報端末から表示装置への処理要求の一例を説明する図である。本実施形態では、情報端末200から表示装置300への処理要求として、一例としてHTTP(HyperText Transfer Protocol)リクエストを用いる場合について説明する。また、上記処理要求に対して表示装置300はHTTPレスポンスを応答として用いるものとする。
図6(a)は、表示装置300が情報端末200から受信する処理要求の種別、HTTPメソッド、URI(Uniform Resource Identifier)の対応関連を示した表である。図6(a)では、要求種別として投影実行要求、記録媒体へのファイルの保存要求を一例として示している。例えば、投影実行要求であった場合は、HTTPメソッドとして「PUT」、URIとして「/service/projection」から開始する文字列が指定されたHTTPリクエストが情報端末200から表示装置300に送信される。また、例えば、記録媒体へのファイルの保存要求の場合は、HTTPメソッドとして「POST」、URIとして「/service/storage」から開始する文字列が指定されたHTTPリクエストが情報端末200から表示装置300に送信される。表示装置300の要求制御部3010は、上述した要求種別、HTTPメソッド、URIの対応関連を参照し、情報端末200から受信したHTTPリクエストのHTTPメソッドとURIの値から要求種別を判断する。
図6(b)は、情報端末200から表示装置300に送信する投影実行要求のHTTPリクエストと、表示装置300から情報端末200に送信するHTTPレスポンスの一例である。なお、HTTPリクエストは、リクエストライン、ヘッダ、ボディを含む構成のものを一例として示した。HTTPレスポンスは、ステータスライン、ヘッダ、ボディを含む構成のものを一例として示した。
HTTPリクエストでは、リクエストライン411に記述されたHTTPメソッドとして「PUT」、URIとして「/service/projection/1」が指定されており、このHTTPリクエストが投影実行要求であることを示している。また、ボディ413に記述されている「"type":"playlist"」は、再生制御情報3120を用いた投影実行要求であること示している。また、ボディ413に記述されている「"path":"/QS/Playlist_1/playlist.json"」は、再生制御情報3120の格納先を示している。なお、ヘッダ412に記述されている「Host:projector.examle.jp」は、表示装置300のアドレスを示している。ヘッダ412に記述されている「Content-Type:application/json」は、再生制御情報3120がJSON形式のファイルであることを示している。
HTTPレスポンスのステータスライン414では、表示装置300が投影実行要求を受け付けたことを示すHTTPステータスコードとして「200 OK」が指定されている。なお、なんらかのエラー等により表示装置300が投影実行要求を受け付けることができない場合は、エラーが発生したことを示すHTTPステータスコードを指定するようにしてもよい。
表示装置300は、上述したような投影実行要求を受け付けると、HTTPリクエストのボディ413において指定された再生制御情報3120から実行情報3150を生成し、指定された再生コンテンツデータ3110をスクリーン300−2に投影する。
図6(c)は、情報端末200から表示装置300に送信するファイルの保存要求のHTTPリクエストと、表示装置300から情報端末200に送信するHTTPレスポンスの一例である。
HTTPリクエストでは、リクエストライン421に記述されたHTTPメソッドとして「POST」、URIとして「/service/storage/files/usb1/QS/Playlist_1/file_1.jpeg」が指定されており、このHTTPリクエストがファイルの保存要求であることを示している。なお、この例では、記録媒体としてUSBメモリの格納先「/QS/Playlist_1/」に「file_1.jpeg」というファイル名で保存することを指定している。
また、ボディ423に記述されている「<binary data>」には、保存するファイルのデータが指定される。例えば、画像データ(例えばJPEG形式)のバイナリデータが指定される。なお、ヘッダ422に記述されている「Host:projector.examle.jp」は、表示装置300のアドレスを示している。ヘッダ422に記述されている「Content-Type:application/octet-stream」は、保存するファイルがバイナリデータであることを示している。
HTTPレスポンスステータスライン424では、表示装置300がファイルの保存が完了したことを示すHTTPステータスコードとして「201 Created」が指定されている。なお、なんらかのエラー等により表示装置300が保存要求を受け付けることができない場合は、エラーが発生したことを示すHTTPステータスコードを指定するようにしてもよい。なお、「Content-Length」はコンテンツ(HTTPレスポンスのボディ)の長さ(バイト数)を示している。この例では、ボディは記述されていないのでContent-Lengthの値は0である。「Location」は、保存要求で指定されたファイルの格納先を示している。
表示装置300は、上述したようなファイルの保存要求を受け付けると、ファイルの保存要求において指定された、例えば再生コンテンツデータ3110や再生制御情報3120を指定された記録媒体に保存する。
なお、上記では、投影実行要求、ファイルの保存要求としてHTTPを用いた場合について説明したが、これに限定されない。
次に、表示装置300における記録媒体のディレクトリ構成について説明する。
図7は、本実施形態の表示装置の記録媒体のディレクトリ構成の一例を説明する図である。上述したように、表示装置300は、情報端末200からファイルの保存要求を受け付けると、指定されたファイルを記録媒体に保存する。記録媒体は、例えば、FAT(File Allocation Table)やNTFS(NT File System)などのファイルシステムによってディレクトリが構成されている。図7では、記録媒体(例えばUSBメモリ)の直下に「QS」という名称のフォルダがあり、その中に「Playlist_1」、「Playlist_2」という名称のフォルダがあることを示している。また、「Playlist_1」、「Playlist_2」の中には、JPEG形式のファイルやJSON形式のファイルがあることを示している。なお、JPEG形式のファイルは例えば再生コンテンツデータ3110に含まれるコンテンツデータ2110であり、画像データである。また、JSON形式のファイルは例えば再生制御情報3120である。なお、再生制御情報3120の詳細については、後述する。
次に、本実施形態における表示装置のファイルの保存処理について説明する。
図8は、本実施形態の表示装置におけるファイルの保存処理の一例のシーケンス図である。
表示装置300の通信制御部3060は、情報端末200の送受信部2040が送信したHTTPリクエスト(ファイルの保存要求)を受け付けると(ステップS101)、リクエストライン421とヘッダ422を要求制御部3010に送信する(ステップS102)。要求制御部3010は、リクエストライン421に指定されたHTTPメソッドとURIから、受信したHTTPリクエストはファイルの保存要求であることを判断し、URIに指定されたファイルの格納先の検証を行う(ステップS103)。URIに指定されたファイルの格納先の検証とは、例えば格納先が所定の文字数以下(例えば255文字以下)であることや、格納先のフォルダの階層が所定数以下であること、指定されている格納先が存在するか否かの検証などである。
要求制御部3010は、URIに指定されている格納先のファイルオープン要求をファイル管理部3040に行い(ステップS104)。ファイル管理部3040は、該当のファイルのオープン処理を行い、ファイルのオープン処理が完了したことを要求制御部3010に応答する(ステップS105)。ここで、ファイルのオープン処理とは、記憶領域3100に対し、ファイルに含まれるデータの書き込みを開始させる処理である。
次に、通信制御部3060は、HTTPリクエストのボディ423を要求制御部3010に送信する(ステップS106)。要求制御部3010は、HTTPリクエストのボディ423を受け取ると、ボディ423に指定されているファイルの書き込み要求をファイル管理部3040に行う(ステップS107)。ファイル管理部3040は、ボディ423に指定されているファイルをステップS104〜S105でオープンしたファイルに保存し、書き込みが完了したことを要求制御部3010に応答する(ステップS108)。
なお、上述したステップS107〜S108のファイルの書き込み処理は、複数のバッファを用いて行われてもよい。つまり、例えば、まず、バッファAでHTTPリクエストのボディ423を受信し、バッファAの容量がいっぱいになったところで、バッファBでHTTPリクエストのボディ423を受信する。そして、バッファAの内容を指定された格納先に書き込む処理を行う。以降、同様にバッファBの容量がいっぱいになったところで、バッファAでHTTPリスクエストのボディ423を受信し、バッファBの内容を指定された格納先に書き込む処理を行う。以上のようにバッファ毎にステップS107〜S108の処理を繰り返す事で、大容量のデータを効率的に受信してファイルの保存処理を行うことができる。
次に、要求制御部3010は、ステップS104〜S105でオープンしたファイルのクローズ要求を行い(ステップS109)、ファイル管理部3040は、クローズ処理を行い、ファイルのクローズ処理が完了したことを要求制御部3010に応答する(ステップS110)。そして、要求制御部3010は、ファイルの保存処理が完了したことを通信制御部3060に通知する(ステップS111)。通信制御部3060は、ファイルの保存要求が完了したことを示すHTTPレスポンスを情報端末200の送受信部2040に送信する(ステップS112)。ここで、ファイルのクローズ処理とは、記憶領域3100に対するファイルに含まれるデータの書き込みを終了させる処理である。
なお、例えばファイルの保存処理を行っているファイルAと同名のファイルBがすでに記憶領域3100に存在する場合は、ファイルAをファイルBとは異なる名称に変更してステップS107の書き込み処理を行うことが好ましい。また、さらに、ファイルAの書き込み処理が完了したところで、ファイルBを削除し、ファイルAのファイル名を元に戻すようにすることが好ましい。このようにすることで、ファイルAのデータの書き込み処理がすべて完了するまで、ファイルBが上書きされるのを防ぐことができる。
以上により、表示装置300は、情報端末200から送信される再生コンテンツデータ3110や再生制御情報3120などを記憶領域3100に保存することができる。
次に、ファイルの保存処理中にこの保存処理が中断された場合の表示装置300の動作について説明する。これにより、記憶領域3100に不完全なデータ(例えば一部のデータの書き込みが完了していないファイルなど)が残存することを防ぐことができる。
図9は、本実施形態の表示装置におけるファイルの保存処理が中断された場合の処理の一例のシーケンス図である。
中断検知部3050は、ファイルの保存処理中に中断原因の発生を検知すると、中断原因の発生を検知したことを要求制御部3010に通知する(ステップS201)。このとき、中断検知部3050は、後述する中断原因コードテーブル3130を参照し、検知した中断原因に応じた中断原因種別コードを要求制御部3010に通知する。本実施形態の要求制御部3010は、例えば中断検知部3050から中断原因種別コードを通知されたとき、ファイルの保存処理の中断原因の発生を検知してもよい。
なお、ファイルの保存処理の中断原因は、電源不足によるスタンバイ移行や入力切替、記録媒体(例えばUSBメモリなど)の空き容量不足、記録媒体にアクセス不可の場合などがある。以下の説明では、一例として中断の原因がスタンバイ移行である場合について説明する。
要求制御部3010は、ファイルの保存処理の中断原因の発生を検知すると、データ転送のキャンセルを通信制御部3060に要求する(ステップS202)。データ転送のキャンセルとは、例えばHTTPリクエストのヘッダ422やボディ423の転送のキャンセルである。通信制御部3060は、データ転送をキャンセルしたことを示すキャンセル応答を要求制御部3010に応答する(ステップS203)。そして、要求制御部3010は、中断原因及びキャンセル応答を受信したタイミングに応じた動作により、ファイルの保存処理を終了させる(ステップS204)。
より具体的には、要求制御部3010は、キャンセル応答を受信すると、中断原因種別テーブル3131を参照し、ステップS201で中断検知部3050から通知された中断原因種別コードと、キャンセル応答を受信したタイミングとに応じた動作を行う。
本実施形態において、要求制御部3010は、キャンセル応答を受信したタイミングが要求制御部3010がHTTPのヘッダ422を受信する前であった場合(タイミング1)、要求制御部3010は、何もせずにファイルの保存処理を終了させる。この場合、記憶領域3100に対し、ファイルに含まれるデータの書き込みを行っていないため、不完全なデータが記録媒体に残存することはない。
次に、要求制御部3010は、キャンセル応答を受信したタイミングが要求制御部3010がHTTPのヘッダ422の受信完了後であり、且つ指定された格納先のファイルのオープンが完了したことの応答の受信前である場合(タイミング2)、次の処理を行う。まず、要求制御部3010は、ファイル管理部3040からのファイルのオープンが完了したことの応答を待ち、この応答を受信すると(ステップS211)、ファイルのクローズ要求をファイル管理部3040に行う(ステップS212)。そして、要求制御部3010は、ファイル管理部3040からファイルのクローズが完了したことの応答を受信して(ステップS213)、ファイルの保存処理を終了させる。この場合においても、記憶領域3100に対し、ファイルに含まれるデータの書き込みを行っていないため、不完全なデータが記憶領域3100に残存することはない。
次に、要求制御部3010は、キャンセル応答を受信したタイミングが図8のステップS105の処理以降で、且つステップS106の処理前である場合(タイミング3)、次の処理を行う。より具体的には要求制御部3010は、ファイルのオープンが完了したことの応答の受信後であって、HTTPのボディ423の受信完了前である場合は次の処理を行う。
まず、要求制御部3010は、ファイル管理部3040に対して、すでにデータの書き込み要求を行っている場合は、その書き込み処理が完了したことの応答を待つ。そして、書き込み処理が完了したことの応答を受信すると(ステップS221)、ファイルのクローズ要求をファイル管理部3040に行う(ステップS222)。なお、要求制御部3010は、ファイル管理部3040に対して未だ書き込み要求を行っていない場合は、ステップS221の処理は実行しない。
次に、要求制御部3010は、ファイルのクローズの完了の応答を受信すると(ステップS223)、ファイル管理部3040に対しファイルの削除要求(ステップS224)を行う。そして、要求制御部3010は、ファイルの削除応答を受信すると(ステップS225)、ファイルの保存処理を終了させる。
この場合は、一部のデータについて書き込み要求を行っているため、不完全なデータが記憶領域3100に残存している。したがって、この書き込み済の不完全なデータを削除した上でファイルの保存処理を終了させている。
次に、要求制御部3010は、キャンセル応答を受信したタイミングがHTTPのボディ423の受信完了後である場合(タイミング4)、何もせずにファイルの保存処理を終了させる。この場合は、すでに記憶領域3100に対するすべてのデータの書き込みが完了しているため、不完全なデータが記憶領域3100に残存することはない。
なお、ファイルの保存処理の中断原因がスタンバイ移行である場合について説明したが中断の原因は様々なものが考えられる。また、本実施形態では、中断原因に応じて、表示装置300のファイルの保存処理の動作を変えることが好ましい。つまり、本実施形態の中断検知部3050は、中断原因の発生を検知して中断原因コードテーブル3130を参照し、中断原因に応じた通知を要求制御部3010に行う。本実施形態の要求制御部3010は、中断原因と、データ転送のキャンセル応答を受けたタイミングに応じた動作を行ってファイルの保存処理を終了させる。
以下、図10を用いて中断の原因に応じたファイルの保存処理の一例について説明する。図10は、本実施形態の表示装置が有する中断原因コードテーブル及び中断原因種別テーブルの一例を説明する図である。
図10(a)は、中断原因コードテーブル3130の一例である。中断原因コードテーブル3130は、中断原因を示す中断原因種別コードと中断原因の種別が対応付けられている。例えば、中断原因種別コードが「0001」に対しては中断原因種別として「スタンバイ移行」が対応付けられている。中断原因種別コードが「0002」に対しては中断原因種別として「入力切替」が対応付けられている。中断原因種別コードが「0003」に対しては中断原因種別として「USBメモリの空き容量不足」が対応付けられている。中断原因種別コードが「0004」に対しては中断原因種別として「USBメモリにアクセス不可」が対応付けられている。
図10(b)は、中断原因種別テーブル3131の一例である。中断原因種別テーブル3131は、中断原因種別コードと要求制御部3010がデータ転送のキャンセル応答を受信したタイミングが要求制御部3010のファイルの保存処理における動作と対応付けられている。
中断検知部3050は、ファイルの保存処理中に処理の中断を検知すると、中断原因コードテーブル3130を参照し、中断原因種別コードを要求制御部3010に通知する(図9のステップS201)。すなわち、中断検知部3050は、図10(a)の中断原因コードテーブル3130を参照し、中断の原因に応じて、「0001」〜「0004」のいずれかの中断原因種別コードを要求制御部3010に通知する。
要求制御部3010は、図10(b)の中断原因種別テーブル3131を参照し、中断原因種別コードとデータ転送をキャンセルしたことの応答を受信したタイミングに応じて、ファイルの保存処理を行う。
図10(b)において、中断原因種別コードが「0001」(スタンバイ移行)の場合、図9のステップS204で示した通りである。すなわち、要求制御部3010は、データ転送のキャンセル応答を受信したタイミング(タイミング1〜4)に応じて、中断原因種別テーブル3131で対応付けられた動作を行う。
図10(b)において、中断原因種別コードが「0002」(入力切替)の場合、要求制御部3010は、データ転送のキャンセル応答を受信したタイミングにかかわらずファイルの保存処理を続行する。すなわち、要求制御部3010は、ファイル管理部3040に、記憶領域3100に対するデータの書き込みを継続させる。この場合は、表示装置300への入力が切り替わっただけであり、不完全なデータが残存することはない。なお、入力切替とは、例えば入力をネットワークから外部入力(例えばRGBケーブルやHDMI(登録商標)(High-Definition Multimedia Interface)を介した入力)に切り替える場合などである。これにより、ファイルの保存処理を続行しつつ、別の入力チャネルからデータを取得することができる。
図10(b)において、中断原因種別コードが「0003」(USBメモリの空き容量不足)の場合、要求制御部3010は、データ転送のキャンセル応答を受信したタイミング(タイミング1〜4)に応じて、ファイルの保存処理を行う。すなわち、タイミング1の場合、要求制御部3010は、何もせずにファイルの保存処理を終了させる。この場合、記憶領域3100へのデータの書き込みを行っていないため、不完全なデータが記録媒体に残存することはない。
タイミング2の場合、要求制御部3010は、ファイル管理部3040からのファイルのオープンが完了したことの応答を待ち、この応答を受信すると、ファイルのクローズ要求をファイル管理部3040に行う。そして、要求制御部3010は、ファイル管理部3040からファイルのクローズが完了したことの応答を受信して、ファイルの保存処理を終了させる。この場合においても、記憶領域3100へのデータの書き込みを行っていないため、不完全なデータが記憶領域3100に残存することはない。
タイミング3の場合、要求制御部3010は、ファイルのクローズ要求をファイル管理部3040に行う。要求制御部3010は、ファイルのクローズの完了の応答を受信すると、ファイル管理部3040に対しファイルの削除要求を行う。そして、要求制御部3010は、ファイルの削除応答を受信すると、ファイルの保存処理を終了させる。この場合は、一部のデータについて記憶領域3100に対する書き込み要求を行っているため、不完全なデータが記憶領域3100に残存している。したがって、この書き込み済の不完全なデータを削除した上でファイルの保存処理を終了させている。
タイミング4の場合、タイミング3と同様の処理を行う。この場合、USBメモリの空き容量が不足しているため、不完全なデータが記憶領域3100に残存しているためである。
図10(b)において、中断原因種別コードが「0004」(USBメモリにアクセス不可)の場合、要求制御部3010は、何もせずにファイルの保存処理を終了させる。この場合、USBメモリにアクセスできないため、不完全なデータが記憶領域3100に残存することはない。なお、ファイルの保存処理中に例えばUSBメモリが表示装置300から取り外されたことによりUSBメモリにアクセス不可となるような場合は不完全なデータが記憶領域3100に残存することもあり得る。ただし、この場合も要求制御部3010は、何もせずにファイルの保存処理を終了させる。
以上のように、本実施形態では、ファイルの保存処理の中断原因及びデータ転送のキャンセル応答を受信したタイミングに応じて、ファイルの保存処理の動作を変えることができる。なお、上述した中断原因の種別、ファイルの保存処理の動作の内容は一例であって、様々な中断原因の種別、ファイルの保存処理の動作の内容が考えられる。
なお、書き込み済のファイルを削除した場合は、中断検知部3050または要求制御部3010は、ファイルの保存が失敗したことを示す通知を情報端末200に行うようにすることが好ましい。さらに、ファイルの保存が失敗した原因(上述した中断の原因など)も情報端末200に併せて通知するようにすることが好ましい。
以上により、表示装置300においてファイルの保存処理中にこの処理が中断された場合でも、記憶領域3100に不完全なデータが残存することを防止できる。
次に、本実施形態における表示装置300が再生コンテンツデータ3110を表示する処理について説明する。
図11は、本実施形態の表示装置における投影実行処理の一例のシーケンス図である。
表示装置300の通信制御部3060は、情報端末200の送受信部2040が送信したHTTPリクエスト(投影実行要求)を受け付けると(ステップS301)、要求制御部3010に転送する(ステップS302)。要求制御部3010は、受信したHTTPリクエストの解析を行う(ステップS303)。すなわち、要求制御部3010は、受信したHTTPリクエストのリクエストライン411を解析し、HTTPメソッドとURIの値から受信したHTTPリクエストが投影実行要求であることを判別する。次に、要求制御部3020は、HTTPリクエストのボディ413に指定されている再生制御情報3120の格納先の検証を行う(ステップS304)。
次に、要求制御部3010は、HTTPリクエストのボディ411から取得した再生制御情報3120の格納先のファイルパスを指定した投影実行要求を再生制御部3020に送信する(ステップS305)。再生制御部3020は、受信した投影実行要求に含まれる再生制御情報3120の格納先に基づき、ファイル管理部3040に対し再生制御情報3120の取得要求を行う(ステップS306)。ファイル管理部3040は、記憶領域3100の指定された格納先から再生制御情報3120を取得し、取得が完了したことを再生制御部3020に応答する(ステップS307)。
次に、再生制御部3020は、再生制御情報3120を解析し、実行情報3150を生成する(ステップS308)。このステップS308の処理の詳細は後述する。
次に、再生制御部3020は、ステップS308の処理で生成した実行情報3150に従って再生コンテンツデータ3110の変換をフォーマット変換部3030に要求する(ステップS309)。フォーマット変換部3030は、再生コンテンツデータ3110の変換を行い、当該変換した再生コンテンツデータ3110の表示を表示制御部3070に要求する(ステップS310)。また、フォーマット変換部3030は、変換処理及び表示処理が完了したことを再生制御部3020に応答する(ステップS311)。以上のステップS309〜S311の処理を実行情報3150に指定されている再生コンテンツデータ3110に対して繰り返し行う。
なお、上述したステップS309の変換とは、実行情報3150に指定されている再生コンテンツデータ3110(例えばJPEG形式の画像データ)を表示制御部3070が投影可能な形式に変換する処理である。なお、表示制御部3070が投影可能な形式とは、例えばYUVフォーマットなどである。
そして、再生制御部3020は、再生コンテンツデータ3110の表示が完了したことを要求制御部3010に通知する(ステップS312)。要求制御部3010は、この通知を通信制御部3060に転送する(ステップS313)。通信制御部3060は、再生制御情報3120に基づく表示を行っていることのHTTPレスポンスを情報端末300の送受信部2040に送信する(ステップS314)。
なお、上記のステップS312〜S314の処理は、表示制御部3070が、実行情報3150に含まれるすべての再生コンテンツデータ3110の表示処理が完了するのを待たずに行われる。
以上のように、表示装置300は、情報端末200から受信した投影実行要求により、この投影実行要求に指定された再生制御情報3120に基づき、実行情報3150を生成し、この実行情報3150に従って再生コンテンツデータ3110を表示することができる。これにより、表示装置300は、情報端末200において指定された再生コンテンツデータ3110を表示する順番や再生コンテンツデータ3110を表示する時間、再生コンテンツデータ3110の表示を切り替える際のエフェクトなどに従って表示することができる。
なお、例えば表示装置300の電源が入っていない場合やスタンバイ状態の場合などにおいて、情報端末200が投影実行要求を行った場合は、情報端末200にエラーが表示されるようにすることが好ましい。
次に、上記の投影実行処理のステップS308の処理の詳細について説明する。ステップS308の処理では、再生制御部3020は、再生制御情報3120を解析し、実行情報3150を生成する。
本実施形態では、再生制御情報3120は、図12に示すようにJSON形式で記述されているものとする。JSON形式とは、JavaScript(登録商標)におけるオブジェクトの表記法をベースとした軽量なデータ記述言語である。
図12は、本実施形態の再生制御情報の一例を説明する図である。
図12の例では、Version項目の値は1.1.0であり、Order項目の値は0であり、Contents_list項目の値として再生コンテンツデータ3110が再生順に並べられている。Contents_list項目の値は、具体的には再生コンテンツデータ3110のPath項目の値、Time項目の値、Effect項目の値である。Path項目は、再生コンテンツデータ3110の格納先のファイルパスである。Time項目は、再生コンテンツデータ3110の再生時間(表示時間)である。Effect項目は、再生コンテンツデータ3110の表示が切り替わる際の表示態様である。なお、図12の例では、Contents_list項目の1番目にはTime項目及びEffect項目は記述されていない(情報端末200によって値を設定されていない)。
図13は、本実施形態の表示装置における再生制御情報の解析及び実行情報の生成処理の一例のフローチャートである。
検証部3021は、再生制御情報3120のVersion項目の値が適切か否かを判定する(ステップS401)。
次に、Contents_list項目の値として指定されている再生コンテンツデータ3110について、検証部3021は、ステップS402〜S405の処理を行う。まず、検証部3021は、Path項目の値が適切か否か判定する(ステップS402)。すなわち、例えばPath項目の値が所定の文字数以下(例えば255文字以下)であることや、Path項目の値の階層が所定数以下であること、Path項目の値として指定された格納先にファイルが存在するか否かなどについて判定する。
検証部3021は、Order項目の値、Time項目の値、Effect項目の値が指定されているか否かを判定する(ステップS403)。Order項目の値、Time項目の値又はEffect項目の値のいずれかが指定されていない場合は、ステップS404の処理に進む。Order項目の値、Time項目の値及びEffect項目の値が指定されている場合は、ステップS405の処理に進む。
ステップS404の処理では、検証部3021は、Time項目の値又はEffect項目の値が指定されていない場合は、設定項目値テーブル3140を参照し、初期値(デフォルト値)を設定する(ステップS404)。図14は、本実施形態の設定項目値テーブルの一例を説明する図である。
図14は、Order項目、Time項目、Effect項目について、設定範囲と初期値が定義されている。設定範囲は、各項目について設定することができる値の範囲を示す。初期値は、各項目について、設定されなかった場合のデフォルト値を示す。Order項目には設定範囲として「0:指定順」、「1:逆順」、「2:ランダム」が、初期値として0が定義されている。Time項目には設定範囲として1〜30秒まで1秒単位で設定可能であることが、初期値として5秒が定義されている。Effect項目には設定範囲として「0:フェードイン」、「1:左へプッシュ」、「2:右へプッシュ」、「3:左へワイプ」、「4:右へワイプ」が、初期値として「0:フェードイン」が定義されている。
図12に示した再生制御情報3120のContents_list項目に指定されている1番目の再生コンテンツデータ3110について、Time項目の値、Effect項目の値が指定されていない。この場合、ステップS404の処理において、設定項目値テーブル3140を参照し、Time項目の値、Effect項目の値について、それぞれデフォルト値である「5秒」、「0:フェードイン」を設定する。
ステップS405の処理では、Order項目の値、Time項目の値、Effect項目の値について、設定範囲内か否かについて判定する(ステップS405)。すなわち、設定項目値テーブル3140を参照し、Order項目の値、Time項目の値、Effect項目の値について、設定範囲内の値であるか否かについて判定する。
最後に、実行情報生成部3022は、再生制御情報3120から実行情報3150を生成する(ステップS406)。実行情報3150とは、例えば再生制御情報3120を表示装置300で実行可能な形式にしたものである。例えば、図15に示すような形式のデータである。本実施形態の実行情報の一例を説明する図である。図15では、図12で示した再生制御情報3120において、設定されていない項目についてデフォルト値を適用したものである。なお、本実施形態では、実行情報3150をJSON形式としたが、これに限られず表示装置300が読み取り可能な別の形式に変換してもよい。
なお、ステップS401の処理において、検証部3021は、Version項目の値の適切でない場合、エラーを通知する(ステップS407)。ステップS402の処理において、検証部3021は、Path項目の値が適切でない場合、エラーを通知する(ステップS407)。ステップS405の処理において、検証部3021は、Order項目、Time項目、Effect項目の値について、設定範囲内でない場合、エラーを通知する(ステップS407)。
以上のように、表示装置300は、再生制御情報3120に指定されている各項目の値が適切か否かを判定し、必要に応じてデフォルト値を適用し、実行情報3150を生成することができる。
次に、上述した投影実行処理のステップS310の処理において、表示制御部3070が再生コンテンツデータ3110の表示要求を受付けた後の処理について説明する。図16は、本実施形態の表示装置における画像投影処理の一例のフローチャートである。以下では、一例として再生コンテンツデータ3110は画像データであるとする。
まず、表示制御部3070は、再生コンテンツデータ3110の投影が失敗した回数をカウントするカウンタである投影失敗数を0に初期化する(ステップS501)。次に、実行情報3150に指定されている再生コンテンツデータ3110について、ステップS502〜S505の処理を行う。
表示制御部3070は、実行情報3150に指定されたOrder項目の値にしたがって再生コンテンツデータ3110の投影を実行し(ステップS502)、投影が成功したか否かを判定する(ステップS503)。再生コンテンツデータ3110の投影が失敗する場合とは、例えば投影しようとした再生コンテンツデータ3110が何らかの原因で壊れていた場合などである。投影が成功した場合は、ステップS504に進み、投影が失敗した場合はステップS506に進む。
表示制御部3070は、再生コンテンツデータ3110の投影が成功した場合は、投影失敗数の値を0にクリアし(ステップS504)、投影時間だけ待つ(ステップS505)。すなわち、表示制御部3070は、例えば実行情報3150において、投影している再生コンテンツデータ3110のTime項目の値だけ待つ。表示制御部3070は、以上のステップS502〜S505の処理を実行情報3150に指定されている再生コンテンツデータ3110に対して行うことで、スクリーン300−2に再生コンテンツデータ3110を投影することができる。
なお、ステップS503の処理において、再生コンテンツデータ3110の投影が失敗した場合、表示制御部3070は、投影失敗数に1を加算する(ステップS507)。そして、表示制御部3070は、この投影失敗数と実行情報3150に指定されている再生コンテンツデータ3110の数とを比較する(ステップS507)。すなわち、投影失敗数が再生コンテンツデータ3110の数より少ない場合(ステップS507でYES)、投影が失敗した再生コンテンツデータ3110をスキップし、次の再生コンテンツデータ3110の投影を行う。すべての再生コンテンツデータ3110の投影が失敗した場合(ステップS507でNO)、処理を終了する。
なお、上述した画像投影処理において、すべての再生コンテンツデータ3110について、ステップS502〜S505の処理を繰り返し行ってもよい。すなわち、実行情報3150に指定された投影順の最後の再生コンテンツデータ3110の投影が終了したら実行情報3150に指定された投影順の最初の再生コンテンツデータ3110の投影を行うようにしてもよい。
以上のように、表示装置300は、再生コンテンツデータ3110を実行情報3150にしたがって表示することができる。このとき、表示装置300は、再生コンテンツデータ3110を投影することができない場合は、この再生コンテンツデータ3110の投影をスキップし、次の再生コンテンツデータ3110を表示することができる。
(変形例)
次に、本実施形態の変形例について説明する。図17は、本実施形態の変形例の表示システムのシステム構成の一例を示す図である。本変形例の表示システム100は、情報端末200と、表示装置300と、コンテンツ提供サーバ400とを有する。
本変形例では、コンテンツデータは、コンテンツ提供サーバ400に格納されている。したがって、再生制御情報3120及び実行情報3150のPath項目の値は、コンテンツ提供サーバ400の格納先(例えばURLなどによって指定される)になる。そして、表示装置300は、例えば投影実行要求を受信すると、コンテンツ提供サーバ400から、実行情報3150に指定された該当のコンテンツデータを取得し、表示装置300に表示させる。
<まとめ>
以上のように本実施形態に係る表示システムは、表示装置300に表示させる再生コンテンツデータ3110の表示態様を指定した再生制御情報3120を、表示装置300において解析し、この再生制御情報3120から実行情報3150を生成することができる。そして、この実行情報3150にしたがって再生コンテンツデータ3110を表示装置300に表示させることで、ユーザが指定した表示態様で再生コンテンツデータ3110の表示を行うことができる。
なお、上記実施形態において、通信制御部3060は、受信手段の一例である。中断検知部3050は、検知手段の一例である。要求制御部3010は、保存処理制御手段の一例である。表示制御部3070は、表示手段の一例である。記憶領域3100は、記憶手段の一例である。
以上、本発明の実施形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。