本発明の一実施形態について図面に基づいて説明すると以下の通りである。本実施形態では、一例として、図2に示すようなネットワークアルバムシステムに本発明の画像データ提供装置(表示用データ生成装置2)および画像表示装置(テレビ1)を適用した場合について説明する。
ネットワークアルバムシステムは、PCや携帯電話などの通信端末装置(コンピュータ(PC)4)が、インターネットなどの通信網を介してアルバム管理サーバ(アルバム管理サーバ3)にアルバム(写真あるいは写真群からなる)をアップロードし、上記アルバム管理サーバに蓄積されたアルバムの写真(画像)を、通信機能を有する画像表示装置が取得して自装置に表示させるという、写真を表示するためのシステムである。より具体的には、画像データ提供装置が、上記写真を画像表示装置に表示させるための表示用データを生成し、画像表示装置に供給することによって、画像表示装置は、画像データ提供装置が意図するとおりに写真を表示することができる。
本実施形態では、本発明に係る画像表示装置を、インターネットに接続された通信機能を有するテレビ1として説明する。また、本発明に係る画像データ提供装置は、上記テレビが自身の画面に写真などの各種情報を表示するために必要な、表示用データを生成する表示用データ生成装置2として説明する。
〔表示用データについて〕
表示用データは、テレビ1の表示画面を生成するために必要な情報である。図3は、表示用データのデータ構造を模式的に示す図である。図3に示すとおり、本実施形態に係る表示用データ7は、テレビ1が、特定の表示画面を表示、あるいは、ネットワークアルバムの各種アプリケーション機能(以下、フォトアプリ機能)を実行するよう、テレビ1に対する制御命令が記述された制御スクリプト110と、テレビ1に表示すべき、写真などの静止画像、メニュー画面や操作ボタンの画像などの表示対象物111とを含む。なお、図3に示す例では、表示用データ7が含む表示対象物111としてJPG形式の写真(静止画像)としたが、これに限定されない。表示用データ7には、テレビ1が自装置に表示するために扱うことのできるデータであれば、どのようなデータ形式のものを表示対象物111として含めてもよい。例えば、動画データ、テキストデータなどを表示対象物111としてもよい。なお、テキストデータは、制御スクリプト110とは別のオブジェクト(**.txt)として表示用データ7に含まれていてもよいし、制御スクリプト110を実現するSVGデータ(**.svg)の中で定義されたものであってもよい。
また、表示用データ7は、画像・動画・テキストなどの表示処理の対象となるオブジェクト(表示対象物111)に限定されず、音声データなどのように、テレビ1が再生処理して、ユーザに提示することが可能な、あらゆる形式のオブジェクト(再生対象物)を含んでいてもよい。制御スクリプト110は、表示対象物111に限らず、表示用データ7が含むあらゆる形式のオブジェクトをテレビ1が再生処理し、ユーザに提示できるように、当該オブジェクトを特定する記述、および、当該オブジェクトに対するテレビ1の各種動作を定義することができる。
本実施形態では、制御スクリプト110は、大きく2種類に分類することができる。1つ目は、表示対象物111(すなわち、写真などの画像オブジェクト、あるいは、制御スクリプト110を実現するSVG上のみで定義される表示対象物としてのGUI画面、テキストデータなど)をどのように表示するかを規定したレイアウト定義スクリプト112である。このレイアウト定義スクリプト112により、テレビ1は、表示用データ7に含まれる何のデータをどのように表示すべきかを判断することができる。
レイアウト定義スクリプト112の例としては、表示対象物111を一意に識別する表示対象物識別情報と、その表示位置・表示サイズの情報との対応関係を示す表示対象物特定スクリプト121や、当該表示用データ7が表示されているときに、テレビ1が実施可能な操作項目を示す操作メニューの画面を規定する操作メニュー特定スクリプト122や、表示用データごとに対応付けられた各種情報(アルバムのタイトルや、写真のタイトル、それらに付与されたコメントなど)の表示方法を規定した属性情報特定スクリプト123などが考えられる。
2つ目は、テレビにおいて発生したイベントに応じて(例えば、所定時間経過、所定動作開始/終了時、表示用データ受信、あるいは、ユーザのキー入力など)、テレビが実行すべき所定の振る舞いの内容を規定した操作内容定義スクリプト113である。この操作内容定義スクリプト113により、テレビ1は、いつ、何に対して、何を、どのように実行すべきかを判断することができる。
操作内容定義スクリプト113の例としては、どのようなイベントが発生したときに、次にどの表示用データを表示(要求して取得)するのかを定義した状態遷移定義スクリプト131や、フォトアプリ機能として、テレビ1が、表示中の表示用データに対して実行すべき所定の処理(画像の回転、色変更、テキストデータの変更、印刷など)を定義した操作機能定義スクリプト132などが考えられる。
上述した制御スクリプトは、より詳細には、フォトアプリ機能を実現するための基本となる、テレビ1にあらかじめ組み込まれたさまざまな種類の基本の機能(以下、基本機能)のいずれをどのように用いるかを定めたものである。テレビ1は、この制御スクリプトにしたがって、自装置があらかじめ内蔵する各基本機能を適宜選択し、組み合わせて、まとまった1つの機能(フォトアプリ機能(第1の機能/第2の機能))を実行することができる。
基本機能とは、フォトアプリ機能を実現するための制御スクリプトが呼び出す、低水準の関数であり、特定の1つの単純な機能を実現するものである。制御スクリプトには、いつどの基本機能を呼び出すかが記述されており、テレビ1は、制御スクリプトにしたがって、幾種類もの基本機能を適宜呼び出し実行することで、フォトアプリ機能を実現することが可能となる。
本実施形態では、上記制御スクリプトには、基本機能を呼び出すための記述があるのみであり、実際の実行コード、すなわち、基本機能プログラムは、あらかじめテレビ1の製造時にROMなどに焼き付けて組み込まれている(図1の基本機能プログラム記憶部29)。したがって、テレビ1の基本機能プログラムは、市場に出回った後に容易に書き換えられるものではない。
しかしながら、上述のとおり、基本機能は、上述した制御スクリプトによって呼び出される低水準の関数である。これら各種基本機能を組み合わせることで、さまざまなフォトアプリ機能を実現することができる。したがって、基本機能そのものを変更せずとも、基本機能を呼び出す手順、すなわち、基本機能の組み合わせを変更するのみで、テレビ1が実行するフォトアプリ機能を変更することができる。そして、上記基本機能の組み合わせは、制御スクリプトを用いて容易に変更することが可能である。
制御スクリプトは、例えば、XML(eXtensible Markup Language)により記述されたテキストデータとして構成することが可能であり、簡単にその内容を変更して、テレビ1に提供することができる。レイアウト定義スクリプト112は、例えば、SVG(Scalable Vector Graphics)として記述することができる。
以上のように、表示用データに含まれる制御スクリプトの記述を変更することにより、テレビ1に組み込まれている基本機能を変更せずとも、容易にテレビ1が実行するフォトアプリ機能を変更することができる。制御スクリプトおよび基本機能の具体例は後述する。
また、本実施形態に係るネットワークアルバムシステムにおいて、画像データ提供装置が生成する表示用データとしては、例えば、写真を1枚表示するための1枚表示画面表示用データ、複数の写真をスライドショー表示するためのスライドショー表示画面表示用データ、アルバムの各写真をサムネイル一覧表示するためのサムネイル表示画面表示用データ、ユーザが過去に閲覧したアルバムの履歴を表示するためのアルバム履歴画面表示用データ、ユーザがアルバムIDを入力して所望のアルバムを取得するためのGUI(graphical user interface)画面であるアルバムID入力画面表示用データなどが想定される。これらはほんの一例であって、本発明の画像データ提供装置の機能を限定するものではない。
〔ネットワークアルバムシステムの概要〕
図2は、本発明の実施形態に係るネットワークアルバムシステム100の概略構成を示すブロック図である。図2に示すとおり、ネットワークアルバムシステム100は、表示用データ生成装置2と、少なくとも1つのテレビ1と、アルバム管理サーバ3とを含んでいる。各装置は、インターネットを介して互いに通信可能なように接続されている。
アルバム管理サーバ3は、1枚以上の写真を含むアルバムを管理するものであり、アルバムを記憶したネットワークアルバムデータベース(DB)8を有する。アルバム5(またはアルバムに含まれる写真)は、例えば、アルバム作成者(写真の持ち主)Uによって、コンピュータ(PC)4などの通信端末装置を用いてアルバム管理サーバ3に送信され、ネットワークアルバムDB8に格納される。
なお、写真が、PC4などの通信端末装置を介してアルバム管理サーバ3にアップロードされる場合(あるいは、携帯電話や通信機能を有するデジタルカメラから直接アップロードされる場合)、当該写真がどの撮像機器から転送された写真であるのかが分かるように、写真の出所を示す撮像機器情報(当該写真を撮像したデジタルカメラ(あるいは携帯電話)の製品名、型番など)が、上記写真に関連付けられて、ともにアルバム管理サーバ3に送信されてもよい。これにより、同一の通信端末装置によりアップロードされた写真でも、撮像機器ごとに管理することが可能となり、撮像機器の仕様に応じて写真を取り扱うことが容易に行える。
例えば、撮像機器の仕様によって、撮像された写真の解像度、画像サイズ、縦横比(およびそのバリエーション)は異なる。したがって、撮像機器の仕様ごとにあらかじめ写真の情報として解像度、画像サイズ、縦横比などを記録しておけば、各写真の情報を撮像機器情報から容易に特定することができる。これにより、例えば、表示用データ生成装置2は、表示用データ生成装置2が意図するサイズあるいは解像度で写真を表示するための表示用データを生成するなど、表示用データ生成処理(あるいは、表示対象物編集処理)を効率的に行うことができる。
また、上記通信端末装置としては、図2に示すPC4に限らず、アルバム作成者Uのアルバムや写真をアルバム管理サーバ3に送信する機能を有していれば、何でもよく、PCの他に、通信機能付きのテレビ、携帯電話機、PDA(personal digital assistant)などが想定される。
ネットワークアルバムDB8では、アルバムを一意に識別するためのアルバムIDと対応付けてアルバムを記憶しており、このアルバムIDを指定することによって、当該アルバムが含むすべての写真(群)を選択することができる。さらに、アルバムに含まれる写真1つ1つにも、写真を一意に識別するための写真IDが対応付けて記憶されている。したがって、アルバムIDと写真IDとを指定することによって、1枚の写真を選択することもできる。
本実施形態では、アルバムIDを指定することによって、アルバムに含まれるすべての写真を特定することができる。アルバムIDと写真IDとを指定することによって、1枚の写真を特定することができる。
表示用データ生成装置2は、テレビ1がアルバムの写真を表示するなどの各種表示画面を表示するために必要な表示用データを生成するものである。表示用データとは、上述したとおりテレビ1の画面に表示する表示画面の情報を示すものである。本実施形態では、表示用データは、テレビに対する制御スクリプトと、表示対象物(写真などの画像、GUI画面を構成する操作ボタンの画像など)を少なくとも含んでいる。制御スクリプトは、どの写真をどの位置にどの大きさで表示するのかなど、写真の表示方法をテレビ1に対し規定するレイアウト定義スクリプトを含んでいる。レイアウト定義スクリプトの種類は、上述したとおりである。ここでは、当該スクリプトが定義する表示位置・表示サイズの情報と、表示対象物(写真)とを対応付ける表示対象物特定スクリプトを含んでいる。なお、上記表示対象物特定スクリプトは、写真などの表示対象物以外に、音声データなどの再生対象物を特定するスクリプトであってもよい。さらに、制御スクリプトには、アルバムや写真の属性情報などを示すテキストデータを含む、属性情報特定スクリプトが含まれていてもよい。
このように、上記表示用データを受信することにより、テレビ1は、表示用データに含まれる1または複数の表示対象物(写真)を、制御スクリプトにしたがって表示することが可能となる。表示用データの制御スクリプトは、1つの表示画面ごとに作成される。上記制御スクリプトの例としては、複数の写真をサムネイル表示させるための、サムネイル表示画面表示用データの制御スクリプト、アルバムの写真を一枚一枚スライドショー表示させるためのスライドショー表示画面表示用データの制御スクリプトなどが想定される。
さらに、上記制御スクリプトは、写真に対して行われた操作(写真を選択するなど)や、ネットワークアルバムに対する操作(アルバムの選択など)に応じて、どのような処理をテレビに対して実行させるのかを規定する操作内容定義スクリプトを含んでいる。操作内容定義スクリプトとしては、例えば、いつ、どのような表示画面に遷移するか(どの表示用データを要求し、サーバから取得するか)を規定する状態遷移定義スクリプト、あるいは、表示中の表示用データに対して実行すべき所定の処理(画像の回転、色変更、テキストデータの変更など)を定義した表示操作定義スクリプトなどが挙げられる。
操作内容定義スクリプト113は、例えば、XMLに準拠した記述が可能であり、同じくXMLデータである上述の制御スクリプトに埋め込んで、あるいは、上述の各表示画面表示用データとは独立なスクリプトとして、表示用データ生成装置2からテレビ1に送信される。
表示用データ生成装置2は、表示すべき表示用データを要求する表示用データ要求メッセージ6(a〜c)をテレビ1から受け付ける。受け付けた表示用データ要求メッセージ6には、要求する表示用データ(表示画面、あるいは、表示対象物)を特定する情報とともに、テレビ1の仕様、機能、またはテレビ1のユーザ(A〜C)に関連する各種情報を示す関連情報が含まれている。表示用データ生成装置2は、テレビ1から要求のあった表示用データを、上記関連情報に基づいてテレビ1に適した表示用データ7(a〜c)として生成し、テレビ1に供給する。
例えば、表示用データ生成装置2は、ユーザAのテレビ1から関連情報A(表示用データ要求メッセージ6aに含まれる)を受信した場合には、ユーザAのテレビ1に合わせて生成した制御スクリプトAを含む表示用データ7aを生成し、供給する。この表示用データ7aには、例えば、ユーザAのテレビ1に合わせて画像サイズが調整されたアルバム5’およびテレビ1に合わせて生成された当該アルバムの写真のレイアウト定義スクリプトなどが含まれた制御スクリプトAが少なくとも含まれている。
また、表示用データ生成装置2は、ユーザBのテレビ1から、関連情報Bを含む表示用データ要求メッセージ6bを受信した場合には、関連情報Bに基づいて、ユーザBのテレビ1に応じた表示用データ7b(図示しないが、制御スクリプトBを含む)を供給し、同様に、ユーザCのテレビ1に対しては、関連情報Cに基づいて表示用データ7c(制御スクリプトCを含む)を供給する。
テレビ1は、表示用データ7に含まれる制御スクリプトにしたがって、各種情報(表示対象物など)を表示するものである。より具体的には、ネットワークアルバムDB8に記憶されたアルバムの写真を表示する。また、テレビ1は、表示させたい表示用データを要求するメッセージである表示用データ要求メッセージ6を生成して、表示用データ生成装置2に送信し、表示用データ生成装置2から上記表示用データを取得する。そして、取得した表示用データに含まれる制御スクリプトにしたがって、表示画面を生成し、表示用データ生成装置2の意図する各種情報を表示する。
これにより、テレビ1は、表示用データの制御スクリプトにしたがって、写真を表示するなどの機能を始めとする、ネットワークアルバムの各種アプリケーション機能を実行することが可能となる。
表示用データ要求メッセージ6には、表示対象物(例えば、表示させたいアルバムや写真)を特定する情報や、要求している表示画面を指定する表示画面指定情報や、テレビ1またはテレビ1のユーザに関する関連情報などが含まれている。関連情報の具体例としては、例えば、テレビ1の画素数や画面サイズを示す仕様情報や、ユーザの年齢、住所などを示すユーザ情報などが挙げられる。しかし、関連情報は、これに限定されず、表示用データ生成装置2が表示用データを生成するために必要なあらゆる情報を含むものである。
表示用データ要求メッセージ6および表示用データ7の詳細については後述する。
なお、本発明に係るネットワークアルバムシステム100は、図2に示す構成に限定されない。図2に示す例では、ネットワークアルバムDB8は、アルバム管理サーバ3が備える構成としたが、表示用データ生成装置2が有していてもよく、この場合、PC4は、表示用データ生成装置2にアルバムを送信する。
また、図2に示す例では、ユーザのテレビ1の各々と表示用データ生成装置2とは直接表示用データ要求メッセージ6および表示用データ7のやり取りを行っている。しかし、このような構成に限定されず、例えば、テレビ1と表示用データ生成装置2との間に、ネットワークアルバムのサービスを提供しているサービス業者が運用するサイトを管理するサーバ装置を設けてもよい。このサーバ装置は、テレビ1と表示用データ生成装置2との間に発生する通信を仲介する機能を持つ。
上記構成によれば、テレビ1にて、ネットワークアルバムシステムを利用する場合に、まず、テレビ1は、サービス業者のサーバ装置にアクセスして、一般的なウェブブラウザでポータルサイトを表示する。そして、アルバムの表示用データを要求して表示するためのネットワークアルバムシステムのアプリケーションを、上記ウェブブラウザから切替えて起動する。これにより、テレビ1が、ポータルサイトであらかじめ指定されている表示用データ生成装置2やアルバム管理サーバ3以外の装置に接続することを防ぐことが可能になる。
〔テレビの構成−概略〕
図1は、本発明の実施形態に係るテレビ1の概略構成を示すブロック図である。テレビ1は、図1に示すとおり、操作部13、通信部14、表示部15、放送データ受信部16、音声出力部17、テレビ1を統括制御する制御部10、記憶部50、および、基本機能プログラム記憶部29を備えている。
制御部10は、テレビ1が備える各部の各種動作を制御するものであり、入出力制御部20、表示用データ要求メッセージ6を生成する表示用データ要求処理部30、表示用データ7を解析して所定の操作を実行する表示用データ実行処理部40、テレビ1に発生する所定のイベントを検知するイベント処理部11、および、放送データ受信部16を制御して受信した放送データから音声データと映像データとを抽出する放送データ制御部12を有している。制御部10は、記憶部50に記録されている各種プログラムを読み出して、本発明のテレビ1の各部を制御し、表示用データにしたがってフォトアプリ機能の各種処理を行う。
記憶部50は、制御部10が実行する制御プログラム、OSプログラム、および、制御部10が表示用データにしたがってフォトアプリ機能の各種処理を実行するときに読み出す各種データを記録するものであり、フラッシュメモリなどの不揮発性の記憶装置によって構成されるものである。上記各種データはそれぞれ、記憶部50内部の各種記憶部、例えば、表示用データ記憶部51、関連情報記憶部52などに記憶される。受信した放送データは、記憶部50内の図示しない放送データ記憶部に記憶される。しかし、記憶部50に記憶される各種データは上記に限定されない。
基本機能プログラム記憶部29は、テレビ1が有するフォトアプリ機能の基本機能を実現するための基本機能プログラムを記憶するものである。基本機能プログラム記憶部29は、ROM(read only memory)によって実現されている。基本機能プログラム記憶部29に記憶された各基本機能のプログラムは、表示用データ実行処理部40の基本機能実行部42によって必要に応じて読み出される。
操作部13は、ユーザがテレビ1を操作するための指示信号を入力するものであり、例えば、テレビ1を遠隔操作するリモコンや、テレビ1自体に設けられた操作ボタン、あるいは、テレビ1に有線あるいは無線で接続された、マウスやキーボードなどで構成されている。操作部13を用いてユーザにより入力された指示信号は、入出力制御部20を介して、制御部10の各部に送られる。これにより、ユーザはテレビ1を操作することが可能となる。
通信部14は、ネットワークアルバムシステム100における、テレビ1外部の各装置と通信網を介して通信するものであり、送信部14aおよび受信部14bを備えている。
具体的には、送信部14aは、表示用データ要求処理部30が生成した表示用データ要求メッセージ6を表示用データ生成装置2に送信するものである。受信部14bは、表示用データ生成装置2から提供された表示用データ7(図3)を受信するものであり、受信部14bを介して受け付けられた表示用データ7は、表示用データ記憶部51に記憶され、表示用データ実行処理部40、表示制御部24によって必要に応じて読み出される。
表示部15は、記憶部50に記録される、表示用データなどの各種データを表示するものであり、例えば、LCD(液晶ディスプレイ)、PDP(プラズマディスプレイパネル)、またはCRT(cathode-ray tube)ディスプレイなどの表示装置で構成される。
放送データ受信部16は、放送局から放送波により伝送される放送データ(TV番組の音声データや映像データ、あるいは、電子番組表などの情報)を受信するものである。放送データ受信部16は、チューナ、復調部、および、TS(トランスポートストリーム)デコーダなどで構成される。放送データ受信部16が受信した放送データは、デコードされて、入出力制御部20を介して、記憶部50に記憶される。
音声出力部17は、上記放送データに含まれる音声データを出力するスピーカとして実現される。
入出力制御部20は、テレビ1の各部(操作部13、通信部14、表示部15、放送データ受信部16、音声出力部17)と、制御部10内の各部(イベント処理部11、表示用データ要求処理部30、表示用データ実行処理部40、または、放送データ制御部12)との間で行われる情報の入出力を制御するものである。入出力制御部20は、操作受付部21、メッセージ送信制御部22、表示用データ受信制御部23、表示制御部24、および、音声出力制御部25を含んでいる。
操作受付部21は、操作部13を介して入力されるユーザの指示信号を受け付けて、イベント処理部11へ伝達するものである。例えば、ユーザが操作部13を用いて、所望のアルバムを表示する指示信号(アルバム表示指示信号)をテレビ1に入力すると、指示信号は、イベント処理部11へ伝達される。その後、イベント処理部11を介することで、指定されたアルバムを表示するための表示画面の表示用データ要求メッセージ6を生成せよとの指示信号が表示用データ要求処理部30に伝達される。
メッセージ送信制御部22は、表示用データ要求処理部30が生成した表示用データ要求メッセージ6を送信するよう通信部14の送信部14aを制御するものである。表示用データ受信制御部23は、通信部14の受信部14bが表示用データ生成装置2から受信した表示用データ7を受け付けて、表示用データ記憶部51に記憶するものである。
表示制御部24は、表示部15を制御して記憶部50に記憶される各種データを表示するものである。表示制御部24は、表示用データ記憶部51に記憶される表示用データに含まれている表示対象物を読み出して、読み出した表示対象物を、同じく表示用データに含まれている制御スクリプト(レイアウト定義スクリプト)にしたがって表示する。より詳しくは、表示用データ実行処理部40が、上記制御スクリプトを解析し、その解析結果(表示対象物(写真)を配置する始点の座標情報や、それに対応付けられた写真を特定する情報など)にしたがって、表示制御部24が、表示部15の表示画面を描画する。描画された表示画面のデータが表示部15に出力され、これにより、表示用データに含まれる情報をユーザに提示する(表示部15に表示する)ことができる。
また、表示制御部24は、放送データに含まれる映像データを放送データ制御部12から受け取って、表示部15に出力する。これにより、テレビ1が受信した放送データのうち、映像データをユーザに提供することができる。
なお、表示制御部24が表示部15へ出力する表示画面描画用のデータは、表示用データ実行処理部40によって、RAMなどの揮発性記憶装置にて構成される一時記憶部18に一旦書き込まれ、1画面分ごとにフレームバッファ19に蓄積される。表示制御部24は、フレームバッファ19に記憶される表示画面描画用のデータを表示部15に出力する。これにより、制御スクリプトにしたがって、表示用データの表示対象物が表示部15に表示される。なお、一時記憶部18およびフレームバッファ19の構成については、実施形態2で後述する。
音声出力制御部25は、音声出力部17を制御して記憶部50に記憶される放送データのうち、音声データを出力するものである。音声出力制御部25は、音声データを、放送データ制御部12から受け取って、音声出力部17に出力する。これにより、テレビ1が受信した放送データのうち、音声データをユーザに提供することができる。
なお、上述の、放送データ受信部16、音声出力部17、音声出力制御部25、および、放送データ制御部12は、本発明の画像表示装置をテレビ1に適用した場合の構成である。したがって、上記各部は、本発明の画像表示装置の構成を限定するものではなく、画像表示装置をテレビ1として実現しない場合には、画像表示装置は上記各部を備えていなくてもよい。
上述の表示制御部24は、さらに、表示部15の表示領域を複数に区分けして、その複数の表示領域をそれぞれ制御して(描画し分けて)、別の表示画面を表示する機能を有していてもよい。例えば、表示制御部24は、表示部15の表示領域を2つに区分けし、第1の表示領域に上記放送データに含まれる映像データを表示させ、第2の表示領域にアルバムの写真を表示させる制御を行うこともできる(2画面表示)。さらには、表示領域を3つに区分けし、第3の表示領域に電子番組表やインターネット上で公開されているウェブページを表示させることも可能である(3画面表示)。
しかし、上述のように、テレビ1において、2画面/3画面表示が実行されている場合でも、表示用データ生成装置2が、通常のフル画面表示時の表示可能領域を想定して、各種表示画面を表示するための表示用データをテレビ1に提供する。このような場合、テレビ1は受け取った表示用データをフル画面で表示する必要がある。
そこで、表示制御部24は、表示用データを表示用データ生成装置2から受信したときに、2画面/3画面表示の制御を行っていた場合でも、表示用データを受信したのに応じて、表示部15の制御をフル画面表示の制御に切替える。そして、表示制御部24は、表示部15を制御して、表示用データを表示用データ実行処理部40の解析結果に応じてフル画面で表示させる。これにより、直前まで表示制御部24が複数領域の表示制御を行っていたとしても、常に、表示用データ生成装置2から提供される表示用データをフル画面で表示することが可能となる。結果として、常に、表示用データ生成装置2が意図する所定の表示サイズにて写真を表示することが可能となる。
イベント処理部11は、テレビ1において発生する各種イベントを検知して、所定の指示信号を表示用データ要求処理部30または表示用データ実行処理部40に伝達するものである。イベント処理部11は、上記各種イベントを、入出力制御部20(例えば、操作受付部21や表示用データ受信制御部23)、および、図示しないタイマー部から通知される信号に基づいて検知する。そして、表示用データ要求処理部30または表示用データ実行処理部40における処理の実行タイミングを制御する。
より具体的には、イベント処理部11は、あらかじめ定められた規則に基づいて、通知された信号の内容と、テレビ1の現在の状態とから、表示用データ要求処理部30または表示用データ実行処理部40が実行するべき処理を決定する。そして、決定した処理を実行するよう、表示用データ要求処理部30または表示用データ実行処理部40に指示を送る。
上記図示しないタイマー部は、例えば、起動されてから予め設定された一定の時間が経過すると、タイマー通知をイベント処理部11に渡す。操作受付部21は、操作部13を介してユーザが入力した指示信号を受け付けると、その指示信号をイベント処理部に通知する。また、表示用データ受信制御部23は、受信部14bを介して表示用データ生成装置2から表示用データを受信すると、表示用データを受信したことをイベント処理部11に通知する。
このように、イベント処理部11が検知する各種イベントの例としては、ある所定の動作が起こったときから、一定時間が経過した場合、ある表示画面表示中に操作部13の所定のボタンが押下された場合、表示用データ生成装置2から送信された表示用データを受信した場合、などが挙げられる。
表示用データ要求処理部30は、表示用データ要求メッセージ6を生成するものである。より具体的には、イベント処理部11の指示により(例えば、ユーザによるアルバム表示指示信号の入力時など)、指定されたアルバムを表示する表示画面を要求する表示用データ要求メッセージ6を生成する。表示用データ要求処理部30および表示用データ要求メッセージ6の詳細については後述する。
表示用データ実行処理部40は、表示用データを解析し、解析結果に基づいて表示用データを処理するものである。表示用データ実行処理部40は、制御スクリプトにしたがって、フォトアプリ機能を実行する制御スクリプト実行部41と、基本機能プログラム記憶部29に記憶された基本機能プログラムを実行する基本機能実行部42とを備えている。制御スクリプト実行部41は、イベント処理部11の指示により(例えば、表示用データ受信時など)、表示用データに含まれる制御スクリプトを解析して、解析した制御スクリプトの内容にしたがって、基本機能実行部42を制御して、1または複数の基本機能を実行し、まとまった1つのフォトアプリ機能を実行する。
具体的には、イベント処理部11の通知に応じて、制御スクリプト実行部41は、制御スクリプト実行処理を開始する。すなわち、制御スクリプトを読み込み、制御スクリプトを一行目から処理していく。例えば、制御スクリプトに含まれるIf文などの制御構造も管理する。また、制御スクリプト実行部41は、演算用の変数やキー入力値(イベント処理部11から通知される)を管理する。
ここで、制御スクリプトに基本機能を呼び出す記述が含まれている場合、制御スクリプト実行部41は、これまでの処理に基づいて、基本機能実行部42に引数を渡す。基本機能実行部42は、制御スクリプト実行部41によって指定された基本機能を実行し、結果を制御スクリプト実行部41に返す。
制御スクリプト実行部41は、基本機能実行部42からの結果を受け取って、上述の制御スクリプト実行処理を続ける。制御スクリプト実行部41は、制御スクリプトにしたがい、例えば、基本機能に基づき得られた画像を表示するなどして制御スクリプト実行処理を終了する。
制御スクリプト実行部41が、基本機能実行部42を制御して実行するフォトアプリ機能としては、例えば、制御スクリプトのレイアウト定義スクリプトにしたがって、アルバムの複数の写真をサムネイル一覧表示したり、表示されている写真を90度回転して表示したり、表示中の写真に対して操作可能な操作項目の一覧を示す操作メニュー(GUI画面)を表示したりすることなどが想定される。
図面に基づいて、基本機能実行部42が実行する基本機能、および、制御スクリプト実行部41が実行するフォトアプリ機能の具体例を示すと以下のとおりである。
例えば、図25の破線枠251内のスクリプト「rotate(90,960,540)」は、制御スクリプト実行部41から渡された引数に基づき、所定の度数画像の回転を実行する基本機能を呼び出すためのものであり、上記回転の基本機能は、基本機能実行部42が実行する。
図26の破線枠252内のスクリプト「rgb(0,0,0)」は、制御スクリプト実行部41から渡された引数に基づき、テキストオブジェクトの背景色を設定する基本機能を呼び出すためのものであり、上記背景色設定の基本機能は、基本機能実行部42が実行する。
図13の破線枠253内のスクリプト「font-size=28」は、テキストオブジェクトのフォントサイズを設定する基本機能を呼び出すためのものであり、破線枠254内のスクリプト「fill=#000000」は、テキストオブジェクトの色を設定する基本機能を呼び出すためのものである。上記各基本機能は、基本機能実行部42が実行する。
あるいは、図12の破線枠261内のスクリプト「setTrait("visibility",'hidden')」は、構造体の特性値"visibility"を'hidden'に設定する機能であり、制御スクリプト実行部41が実行する。
図12のスクリプト132bは、制御スクリプト実行部41が実行するものであり、サブ操作メニュー(図11(c)のサブ操作メニュー1106)の開閉、および、サブ操作メニューの選択された項目に対応する機能(基本機能/フォトアプリ機能)を呼び出すというフォトアプリ機能が定義されている。スクリプト132bにしたがえば、制御スクリプト実行部41は、サブ操作メニューが閉じている場合に所定のボタンの押下を検知すると、メインの操作メニューの選択された項目に対応するサブ操作メニュー(ここでは、「submenu2」)を表示する機能を実行する。一方、サブ操作メニューが開いている場合に所定のボタンの押下を検知すると、制御スクリプト実行部41は、開いているサブ操作メニューの選択された項目に対応するmenuFunction関数(フォトアプリ機能)を呼び出して実行する。なお、上記menuFunction関数の具体例を、図12のスクリプト132dに示す。スクリプト132dは、上述の「submenu2」表示中に選択される可能性のある、候補の機能を定義している。
図32の破線枠262内のスクリプト「setFloatTrait("r", '100')」は、構造体のrの値(スクリプト112aの円のオブジェクトが有する値)に数値データ100を設定する機能であり、制御スクリプト実行部41が実行する機能である。
しかし、フォトアプリ機能は上述の例に限定されない。表示用データ実行処理部40の構成の詳細、および、表示用データ実行処理部40が、基本機能を用いて実行するフォトアプリ機能の詳細については後述する。
上記構成によれば、表示用データ実行処理部40の制御スクリプト実行部41は、イベント処理部11の指示に応じて、表示用データ記憶部51に記憶される表示用データの制御スクリプトを解析し、その解析結果にしたがって、基本機能を呼び出す、すなわち、基本機能実行部42が実行する基本機能を適宜組み合わせて1つのフォトアプリ機能を実行する。
これにより、制御スクリプトを用いて、基本機能プログラムを変更せずとも様々なフォトアプリ機能をテレビ1において実現することが可能となる。上述したとおり、制御スクリプトは外部で生成され、テレビ1に提供されるものである。したがって、テレビ1が市場に出た後でも、テレビ1に実行させるフォトアプリ機能を柔軟に変更することが可能となり、基本機能プログラム記憶部29に記憶されているプログラムの更新を行わずともテレビ1の機能変更を容易に行うことが可能となる。
また、このように容易に機能変更を行うことができるため、あらかじめ組み込む機能については、出荷前に、あらゆるニーズを想定してそれを網羅するために膨大な量の機能を事前に搭載しておくという無駄を省くことができる。結果として、テレビ1の開発に係る負担を軽減することが可能となる。
さらに、上記制御スクリプトは、表示用データに含まれてテレビ1に提供される。このため、その表示用データ(表示画面)に対応付けて制御スクリプトを提供することになり、表示用データを生成して送信する側(表示用データ生成装置2)においても、表示用データを受信して処理する側(テレビ1)においても管理が容易になる。そして、表示用データごとに制御スクリプトを提供することにより、当該表示用データを表示する際にテレビ1が実行する必要がある機能のみを、表示用データに応じて効率よく提供することが可能となる。
以上のことから、効率的な開発が行えて、かつ、市場に出た機器の機能変更を、プログラムの更新を行わずとも容易に実行することが可能となる。
〔表示用データ生成装置の構成−概略〕
図4は、本発明の実施形態に係る表示用データ生成装置2の概略構成を示すブロック図である。表示用データ生成装置2は、図1に示すとおり、通信部63と、表示用データ生成装置2を統括制御する制御部60と、記憶部90とを備えている。
制御部60は、表示用データ生成装置2が備える各部の各種動作を制御するものであり、要求メッセージ解析部70、制御スクリプト生成部80、パターンデータ選択部61、および、表示用データ生成部62を有している。制御部60は、記憶部90に記録されている各種プログラムを読み出して、本発明の表示用データ生成装置2の各部を制御し、表示用データ(およびそこに含まれる制御スクリプト)生成のための各種処理を行う。
記憶部90は、制御部60が実行する制御プログラム、OSプログラム、および、制御部60が表示用データ生成のための各種処理を実行するときに読み出す各種データを記録するものであり、ハードディスクなどの不揮発性の記憶装置によって構成されるものである。上記各種データはそれぞれ、記憶部90内部の各種記憶部、すなわち、パターンデータ記憶部91、表示対象物記憶部92などに記憶される。しかし、記憶部90に記憶される各種データは上記に限定されない。
通信部63は、ネットワークアルバムシステム100における、表示用データ生成装置2外部の各装置と通信網を介して通信するものであり、受信部63aおよび送信部63bを備えている。
具体的には、受信部63aは、テレビ1から送信された表示用データ要求メッセージ6を受信するものであり、受信部63aを介して受け付けられた表示用データ要求メッセージ6は、制御部60の要求メッセージ解析部70に伝達される。送信部63bは、テレビ1からの要求を受けて生成した表示用データ7を送信するものである。送信部63bは、表示用データ生成部62から伝達された表示用データ7を要求のあったテレビ1に対して送信する。
また、通信部63は、表示用データ7を生成する際に、それが、アルバムの写真を表示するための表示画面用の表示用データ7であれば、アルバム管理サーバ3(図2)と通信を行い、アルバム管理サーバ3に対して、表示対象となるアルバム5(または、写真)を要求して、アルバム管理サーバ3からアルバム5(写真)を取得する。
なお、ネットワークアルバムDB8を表示用データ生成装置2が有している場合は、通信部63を用いてアルバム5(写真)を取得する必要はない。また、この場合、PC4などの通信端末装置から受信部63aが受け付けたアルバム5(写真)は、ネットワークアルバムDB8に記憶される。
要求メッセージ解析部70は、テレビ1から送信された表示用データ要求メッセージ6を解析するものである。例えば、表示用データ要求メッセージ6が、あるアルバムのスライドショー表示画面表示用データを要求するメッセージである場合、要求メッセージ解析部70は、当該表示用データ要求メッセージ6に含まれている、アルバムID、表示画面ID(スライドショー表示画面が要求されていることを判断できる情報)、端末ID(要求元のテレビ1を識別できる情報)、その他、各種関連情報を抽出する。
パターンデータ選択部61は、要求メッセージ解析部70の解析結果に応じて、要求された表示用データを生成するための最適なパターンデータを選択するものである。パターンデータ選択部61は、上記解析結果によって特定される最適なパターンデータをパターンデータ記憶部91から選択する。パターンデータ選択部61が選択したパターンデータは、当該パターンデータから制御スクリプトを生成する制御スクリプト生成部80に伝達される。
上記パターンデータとは、上述した各種スクリプトの定型を有する制御スクリプトのパターン情報(あるいは、定型スクリプトの組み合わせ)である。すなわち、制御スクリプトの雛型である。表示対象物識別情報とその表示位置・表示サイズの情報との対応関係を示した情報、操作メニューの画面を具体的に規定する情報、アルバムタイトルやコメントなどを、制御スクリプトの中身と呼ぶとすれば、パターンデータはいわば、中身が埋め込まれる前の、入れ物であると言うことができる。
例えば、要求メッセージ解析部70の解析によって、テレビ1からスライドショー表示画面表示用データが要求されていることが特定されると、パターンデータ選択部61は、パターンデータ記憶部91から、スライドショー表示画面の構成するための制御スクリプトのパターンデータを選択する。そして、次に、制御スクリプト生成部80が、上記選択されたパターンデータを元に制御スクリプトを生成する。
制御スクリプト生成部80は、パターンデータ選択部61が選択したパターンデータを用いて、要求された表示用データに含めるべき制御スクリプトを生成するものである。
制御スクリプト生成部80は、要求メッセージ解析部70の解析結果に基づいて、記憶部90に記憶される各種情報の中から表示用データに含める情報をすべて抽出する(制御スクリプトの中身の特定)。そして、特定した中身(例えば、アルバムのタイトル、写真ID、画面の遷移先の情報など)を、上記パターンデータに埋め込んで制御スクリプトを完成させる。
上述の例で言えば、完成した制御スクリプトは、スライドショー表示画面の構成するための制御スクリプトとなる。
表示用データ生成部62は、表示用データ要求メッセージ6によって指定された表示用データを生成し、テレビ1に送信するものである。より詳しくは、制御スクリプト生成部80が生成した制御スクリプトと、当該制御スクリプトに含まれる、表示対象物特定スクリプトによって特定された表示対象物とを合成して、テレビ1にて要求された表示画面を表示するための表示用データを生成する。
このように生成された表示用データには、テレビ1の要求、すなわち、表示用データ要求メッセージ6の内容に応じて最適な情報、制御スクリプトが含まれている。
上記構成によれば、要求メッセージ解析部70の解析結果に応じて、パターンデータ選択部61によって最適なパターンデータが選択され、制御スクリプト生成部80によって最適な中身が特定される。よって、表示用データ生成装置2は、テレビ1に要求された表示用データに応じて適切な制御スクリプトを完成させて、テレビ1に提供することが可能となる。テレビ1は、その適切な制御スクリプトにしたがって、フォトアプリ機能を実現することができる。
以上のことから、テレビ1が要求し、表示しようとする表示画面(表示用データ)の内容に応じて、該表示用データに適した動作を行うように、制御スクリプトを用いてテレビ1を制御することができる。
このように、テレビ1に制御スクリプトを生成し提供することで、テレビ1の機能変更を、プログラムの更新を行わずとも容易に実行することが可能となる。さらに、表示用データに対応付けて制御スクリプトを生成するので、表示用データの内容に応じてカスタマイズされた制御スクリプトをテレビ1に提供することができる。
〔ネットワークアルバムシステムの処理〕
図5は、本発明の実施形態に係るネットワークアルバムシステム100における各装置の処理の流れを示すシーケンス図である。
テレビ1のイベント処理部11が、所定のイベント(所定時間経過、あるいは、ユーザの操作部13からの指示信号受付など)を検知すると(S1においてYES)、表示用データ要求処理部30は、表示用データを表示用データ生成装置2に要求する表示用データ要求処理を実行する(S2)。具体的には、表示用データ要求メッセージ6を生成し、表示用データ生成装置2に送信する。表示用データ要求処理部30は、表示用データ要求メッセージ6に、表示用データ生成装置2が表示用データを生成するのに必要な関連情報を、関連情報記憶部52(図1)から抽出して含めてもよい。
表示用データ生成装置2が、テレビ1から表示用データ要求メッセージ6を受信すると(S3においてYES)、要求メッセージ解析部70は、受信した表示用データ要求メッセージ6を解析するための、要求メッセージ解析処理を実行する(S4)。
続いて、パターンデータ選択部61は、S4の解析結果に応じて、テレビ1に提供するための表示用データを生成するための、最適なパターンデータを選択する(S5)。パターンデータは、パターンデータ記憶部91(図4)に記憶されており、パターンデータ選択部61は、ここから最適なパターンデータを選択する。
次に、制御スクリプト生成部80は、選択されたパターンデータに基づいて、表示すべき表示対象物をテレビ1で表示するための、あるいは、テレビ1に特定の動作を行わせるための制御スクリプトを生成する処理(制御スクリプト生成処理)を実行する(S6)。続いて、制御スクリプト生成部80が生成した制御スクリプトと、表示対象物記憶部92(図3)に記憶された表示すべき表示対象物とを含む表示用データを生成する(S7)。
最後に、表示用データ生成装置2は、S7で生成した表示用データを要求元のテレビ1に送信する(S8)。
テレビ1は、表示用データ生成装置2から表示用データ7を受信する(S9)。テレビ1のイベント処理部11は、所定のイベント(要求した表示用データの受信、あるいは、ユーザの操作部13からの指示信号受付など)を検知すると(S10においてYES)、表示用データ実行処理部40は、受信した表示用データの処理を実行する(表示用データ実行処理)(S11)。
表示用データ実行処理部40が実行する処理の内容は、受信する表示用データに含まれる制御スクリプトに記述されており、制御スクリプト実行部41は、制御スクリプトにしたがって、基本機能実行部42を制御して、基本機能を用い、ネットワークアルバムのアプリケーション機能としての様々な処理(フォトアプリ機能)を実行することができる。
例えば、表示用データに、表示対象物としての写真と、その写真を表示するときのレイアウトを規定したレイアウト定義スクリプトを含む制御スクリプトとが含まれている場合には、表示用データ実行処理部40は、上記写真を制御スクリプトのレイアウト定義スクリプトにしたがって表示する。
このように、テレビ1は、表示用データに含まれる制御スクリプトにしたがうことにより、フォトアプリ機能を実行することができる。
よって、上記制御スクリプトの記述を変更することにより、テレビ1の機能変更を容易に実行することが可能となる。
また、表示用データ生成装置2は、テレビ1の要求に応じて最適な表示用データ(制御スクリプト)を生成し、テレビ1の動作を制御することができる。
以下の説明では、テレビ1において実行されるフォトアプリ機能の例として、以下の3つの例を挙げる。以下の各実施形態では、表示用データの制御スクリプトおよび、テレビ1の基本機能を用いて、テレビ1の各フォトアプリ機能を変更する手順について詳細に説明する。
(機能1:操作メニュー表示/操作実行・・・実施形態1)
テレビ1は、自装置の表示部15に、ネットワークアルバムのアプリケーションに関する表示用データが表示されているとき、テレビ1が実行可能な操作項目の一覧を操作メニューとしてユーザに提示する。また、テレビ1は、表示した操作メニューの中から、ユーザにより選択された操作項目を、操作部13、操作受付部21を介して受け付けて、当該操作を実行する。
表示用データに含まれる制御スクリプトを用いれば、表示用データごとに、表示すべき操作メニューの項目を変更することができ、かつ、テレビ1が実行する操作の項目および内容を柔軟に変更することができる。
さらに、制御スクリプトを用いれば、テレビ1における上記操作メニューの表示制御を行える。例えば、操作メニューの表示位置、表示タイミング、デザインなどを柔軟に変更することができる。
(機能2:再描画領域指定・・・実施形態2)
テレビ1は、表示用データに基づいて、表示画面のデータを生成し、それを表示部15に描画して表示画面の表示を行う。表示すべき表示画面を切り換えるときは、テレビ1は、別の表示用データに基づいて新たな表示画面のデータを再描画する。このとき、テレビ1は、表示内容を変更する必要がある領域が表示部15の全領域ではなくその一部である場合、再描画領域を当該一部に限定して、効率よく表示画面の切り換えを行うことができる。
表示用データに含まれる制御スクリプトを用いれば、表示用データごとに、再描画領域を指定することが可能となり、テレビ1に対し、表示用データの表示内容に応じて柔軟に再描画領域を指定することができる。さらに、一般に複雑な図形の再描画には、再描画すべき領域を複雑な図形どおりに計算する負荷の高い処理(クリッピング処理)が発生する。この点、テレビ1は、複雑な図形の領域全体を含む簡易な形状(例えば矩形)の再描画領域を指定することで、負荷の高いクリッピング処理を行うことなく、再描画領域を特定し、適切な再描画処理を効率よく行うことが可能となる。
(機能3:リモコンボタン機能割り当て・・・実施形態3)
テレビ1は、操作部13に設けられた各ボタンがユーザにより押下されることによって操作受付部21に入力される指示信号に応じて、各種動作を実行する。
上記各ボタンには、あらかじめ割り当てられている機能があり、所定のボタンが押下されることにより、対応する所定の動作をテレビ1が実行する。
表示用データに含まれる制御スクリプトを用いれば、表示用データごとに、操作部13に割り当てられているボタンの機能を変更することができる。
具体的には、ある表示用データが表示されている状態で、あるボタンが押下されたときに、テレビ1に実行させる機能を別の機能に変更したり、ある動作を実行させるときに押下すべきボタンを別のボタンに変更したりすることができる。
なお、以下の各実施形態における説明では、同一部材には同一符号を付してある。したがって、すでに述べた各装置の構成については、同一符号を付して重複説明を適宜省略する。
《実施形態1》
〔背景技術と課題〕
従来、テレビや携帯電話などの組み込み型コンピュータを内蔵する機器では、搭載されているアプリケーションの見栄えの変更や、仕様変更をする場合に、すでに組み込まれたアプリケーションのプログラムを変更する必要があった。
例えば、GUI画面などがWebブラウザにより実現されている場合では、表示位置の変更などは、その元データであるコンテンツ(表示用データ)を書き換えることで実現可能である。
特許文献1(特開2005−51563)には、配信側で受信側の画面に表示される画像のレイアウトを把握しつつ、簡単な操作でそのレイアウトを変更するコンテンツ配信方法及びコンテンツ配信システムが開示されている。
しかし、ブラウザそのものが有している機能の変更は、やはり、すでに機器に組み込まれたプログラムを変更する必要がある。しかも、配信するコンテンツ(表示用データ)の内容に応じて、コンテンツ受信側(組み込み機器(テレビ1))の機能を柔軟に変更することはできない。
上述の非特許文献1や非特許文献2の方法では、設定ファイルおよびプラグインをあとから配布して変更できるように、配布元が事前にプログラムを作成しておけば、配布先の機器の機能を変更するために、ソフトウェア全体を書き換える必要はなくなる。しかしながら、この場合でも、配信するコンテンツに応じて機器の機能を柔軟に変更するためには、上記コンテンツに対応する操作メニューの設定ファイルを、コンテンツに紐付けて配信する必要がある。このため、配布元にとっても、配布先の機器にとっても、コンテンツおよび設定ファイルの管理が煩雑になるという問題がある。
そこで、本実施形態では、表示用データに含まれているために管理が容易な制御スクリプトを用いて、テレビ1が表示する表示用データ(表示画面/コンテンツ)の内容に応じて、表示すべき操作メニューの操作項目を選定し、テレビ1が実行可能な機能をカスタマイズできる、テレビ1および表示用データ生成装置2(ネットワークアルバムシステム100)について説明する。
〔テレビの構成1−詳細〕
図6および図9は、本実施形態に係るテレビ1の要部構成を示すブロック図である。図6は、図1に示すテレビ1の表示用データ要求処理部30をより詳細に示す図である。
図6に示すとおり、テレビ1の表示用データ要求処理部30は、さらに、表示対象ID決定部31、要求表示画面決定部32、関連情報抽出部33、および、メッセージ生成部34を備えている。記憶部50は、図1の構成に加えて、アルバムID記憶部53、および、要求規則記憶部54を備えている。
これら表示用データ要求処理部30の各部は、イベント処理部11が所定のイベントを検知し、所定の信号を表示用データ要求処理部30に通知するのに応じて、図5に示す表示用データ要求処理(S2)を実行して、表示用データ要求メッセージ6を生成する。
図7は、表示用データ要求処理部30が生成する表示用データ要求メッセージ6のデータ構造を模式的に示す図である。図7では、一例として、スライドショー表示画面(の表示用データ)を要求する場合の表示用データ要求メッセージ6を示す。
図7で示す例では、表示用データ要求メッセージ6は、5つのレコードをひとまとまりとした構造体として構成されている。図7に示す表示用データ要求メッセージ6において、第1のカラムC101は、データ名を、第2のカラムC102は、当該データ名が付いたデータの中身を示している。なお、各データのデータ型は、各データが示す内容、容量、使途に応じて適宜選択できる。
レコードR1は、表示用データ要求メッセージ6が、スライドショー表示画面を要求する場合に、その表示画面に表示すべき写真(要求画像)が属するアルバムのアルバムID(識別情報)を示している。レコードR2は、表示画面に表示すべき写真の写真ID(識別情報)を示している。本実施形態では、写真IDとは、アルバム内で一意に定められた表示順序のことであり、図7の「NO.1」とは、レコードR1で特定されるアルバムにおける表示順序1の写真を示している。
レコードR3は、当該表示用データ要求メッセージ6が要求する表示画面のタイプを識別するための表示画面IDを示している。図7に示す例では、表示画面ID「Scr_C」は、スライドショー表示画面のことを意味する。よって、この表示用データ要求メッセージ6は、レコードR1に示すアルバムの表示順序1の写真をスライド表示するためのスライドショー表示画面を要求するものとなっている。
レコードR4は、表示用データ要求メッセージ6を生成した要求元であるテレビ1を識別するための端末IDを示している。図7に示す例では、テレビ1のIPアドレスが格納されている。これにより、表示用データ生成装置2は、当該表示用データ要求メッセージ6がどこから送信されたものであるかを特定することができ、したがって、生成した表示用データ7を返信する返信先を特定することができる。なお、端末IDは、表示用データ生成装置2が、ネットワークアルバムシステム100における表示用データ7を受信する各端末(テレビ1)を一意に識別できるものであればなんでもよい。表示用データ生成装置2が、テレビ1が登録されるごとに個別に付与する端末IDであってもよいし、MACアドレス、または、製品シリアルナンバーなどを端末IDとして用いてもよい。
さらに、表示用データ要求メッセージ6は、レコードR5〜R7に示すとおり、テレビ1の仕様情報を含んでいてもよい。例えば、テレビ1の仕様情報(画面サイズ、解像度など特に表示機能に関わる仕様情報、または、機種名、ソフトウェアバージョン情報など、ネットワークアルバムの機能に関わる仕様情報)を表示用データ要求メッセージ6に含める。これにより、表示用データ生成装置2は、要求元のテレビ1の仕様に合わせて表示用データ7を生成することができる。
図6の表示対象ID決定部31は、表示用データ生成装置2に要求すべき表示対象を決定し、その表示対象IDを特定するものである。具体的には、図7に示す表示用データ要求メッセージ6のレコードR1およびR2に格納するべきアルバムID、写真IDを特定する。
表示対象ID決定部31が、アルバムID、写真IDを特定する方法は、例えば、以下のとおりである。
アルバムID記憶部53には、ユーザが過去に閲覧したアルバムのアルバムIDが格納されており、アルバムID記憶部53に記憶された履歴情報に基づいて、過去に閲覧されたアルバムの履歴が表示制御部24を介して表示部15に表示される。
ユーザが操作部13を用いてボタンを押下することにより、表示部15に表示されたアルバムのうちのいずれかを選択して、スライドショー開始を指示する指示信号入力を行う。イベント処理部11を介してその信号が表示対象ID決定部31に通知され、表示対象ID決定部31は、アルバムID記憶部53から、ユーザにより選択されたアルバムIDを特定する。あるいは、アルバムID入力画面が表示部15に表示された状態で、ユーザによりアルバムIDが手入力されるとともに、押下されたボタンの信号が表示対象ID決定部31に伝達され、それをアルバムIDとして特定するようにしてもよい。
写真IDの特定の仕方としては、例えば、スライドショーは、必ず、表示順序どおりに表示されるものとあらかじめ定められている場合を考える。スライドショー開始を指示する指示入力が行われたことをイベント処理部11が検知すると、表示対象ID決定部31は、表示順序の1番目を表す、NO.1を写真IDとして特定する。また、表示順序がn番目のスライドショー表示画面が表示されている状態で、次のページを選択するボタンが押下されたことをイベント処理部11が検知した場合には、表示順序、NO.n+1を写真IDとして特定すればよい。
要求表示画面決定部32は、上述した各種表示画面のうち、表示用データ要求メッセージ6で要求すべき表示画面のタイプを決定するものである。要求表示画面決定部32は、イベント処理部11が検知したイベント、および、その時のテレビ1の動作状態に応じて、どの表示画面を要求するのかを決定する。
要求規則記憶部54には、(1)イベント処理部11が検知するイベントと、(2)テレビ1の動作状態との組み合わせに対し、(3)要求すべき表示画面の表示画面IDが対応付けて記憶されており、要求表示画面決定部32は、イベント処理部11からの通知と、要求規則記憶部54とに基づいて、どのよう表示画面を要求すればよいのかを特定することが可能となる。例えば、イベント処理部11が、テレビ1の表示用データ実行処理部40が、フォトアプリ機能を起動したことを検知すると、要求表示画面決定部32は、当該アプリケーションの初期画面を、要求すべき表示画面として決定する。
要求表示画面決定部32が決定した表示画面の表示画面IDは、例えば、図7に示す表示用データ要求メッセージ6のレコードR3に含まれている。
関連情報抽出部33は、テレビ1に関してあらかじめ登録されている各種関連情報のうち、表示用データ要求メッセージ6に含める必要のある関連情報を関連情報記憶部52から取得するものである。
図8は、関連情報記憶部52に記憶される、関連情報テーブルの一例を示す図である。本実施形態では、関連情報記憶部52に記憶される関連情報は、3種類に分類できる。
第1のカラム群C11には、テレビ1の「機種名」、「端末ID」、「画面サイズ」、および、「画素数」など、テレビ1の仕様に関連する仕様情報が記憶されている。さらに、ネットワークアルバムシステムのアプリケーションソフトのバージョンを示す「ソフトウェアバージョン情報」が仕様情報として記憶されていてもよい。第2のカラム群C12には、「(スライドの)コマ送り間隔」、「リピート再生」、「コメント表示」、「操作方法表示」など、アルバムや写真の表示に関連する設定情報が記憶されている。さらに、アルバム履歴画面にて表示するアルバム情報の件数を設定する「履歴表示件数」が設定情報として記憶されていてもよい。図8に示す例のように、「履歴表示件数」が2件に設定されているとすると、アルバム履歴画面が表示されるときには、常に2件分のアルバム履歴情報が表示されるようになっている。第3のカラム群C13には、「視聴者年齢」、「視聴者居住地」、「郵便番号」など、テレビ1のユーザに関連するユーザ情報が記憶されている。
本実施形態では、写真の表示に関する表示画面(スライドショー表示画面やサムネイル表示画面など)では、テレビ1の表示部15の画素数に応じて、表示用データ7が生成されるので、そのような表示画面を要求する場合には、関連情報抽出部33は、関連情報記憶部52からテレビ1の「画素数」の情報を抽出する。抽出された「画素数」の情報は、図7に示す表示用データ要求メッセージ6のレコードR5を構成する。
メッセージ生成部34は、表示対象ID決定部31、要求表示画面決定部32、および、関連情報抽出部33の各部が、イベント処理部11の通知に応じて決定(抽出)した、表示用データを要求するための各種情報を含む、表示用データ要求メッセージ6を生成するものである。メッセージ生成部34が生成する表示用データ要求メッセージ6(図7)は、メッセージ送信制御部22を介して、送信部14aから表示用データ生成装置2に対して送信される。
図9は、図1に示すテレビ1の表示用データ実行処理部40をより詳細に示す図である。
図9に示すとおり、テレビ1において、表示用データ実行処理部40の制御スクリプト実行部41は、さらに、制御スクリプト解析部140、スライドショー実行制御部141、操作メニュー制御部142、および、写真回転制御部143を備えている。
これら制御スクリプト実行部41の各部は、イベント処理部11が所定のイベントを検知し(例えば、上述のとおり要求した表示用データが表示用データ生成装置2から供給されたとき)、所定の信号を表示用データ実行処理部40に通知するのに応じて、図5に示す表示用データ実行処理(S11)を実行して、表示用データ要求メッセージ6を生成する。
制御スクリプト解析部140は、図3に示す表示用データ7、特に、表示用データ7に含まれる制御スクリプト110を解析するものである。例えば、制御スクリプト解析部140は、制御スクリプト110を解析して、操作メニューに関するスクリプト(操作メニュー特定スクリプト122、操作機能定義スクリプト132など)を抽出し、その解析結果を操作メニュー制御部142に伝達する。
スライドショー実行制御部141は、アルバムの写真のスライドショーを実行するための各種処理の実行を制御するものである。具体的には、基本機能実行部42を制御して、スライドショー表示画面のデータをレイアウト定義スクリプト112にしたがって生成し、表示制御部24に描画させる。また、基本機能実行部42を制御して、スライドショーを自動再生したり、写真に重畳させて表示する文字列・図形などの表示/非表示を実行したりする。
操作メニュー制御部142は、テレビ1が有する機能(テレビ1が実行可能な操作)の項目を一覧にして示す操作メニューの表示処理を制御するものである。具体的には、基本機能実行部42を制御して、スライドショー表示画面に重畳させる操作メニューのデータを、レイアウト定義スクリプト112の操作メニュー特定スクリプト122にしたがって生成、表示制御部24に描画させる。
なお、操作メニュー特定スクリプト122にて特定される操作メニューを構成する操作項目ごとには、それが選択されたときにテレビ1が実行すべき機能が関連付けられている。操作項目に対応する各機能は、操作機能定義スクリプト132にて定義され、制御スクリプト実行部41、および、それに制御される基本機能実行部42によってフォトアプリ機能の1つとして実現される。
操作機能実行制御部の一例として、写真回転制御部143が挙げられる。
写真回転制御部143は、基本機能実行部42を制御して、操作機能定義スクリプト132にしたがって、写真の回転・表示処理を実行するものである。例えば、ユーザにより「右に90度」の操作項目が選択された場合には、写真を右に90度回転させた状態で表示部15に表示させる。
表示制御部24は、制御スクリプト実行部41より通知された表示画面のデータに基づいて、表示領域を描画し、表示部15に表示用データによって規定された表示画面をテレビ1に表示する。
〔テレビの表示用データ実行処理フロー〕
図10は、テレビ1における表示用データ実行処理の流れを示すフローチャートである。図10では、一例として、要求したスライドショー表示画面表示用データを受信したことにより、スライドショー表示画面を表示し、スライドショーを実行するテレビ1の処理の流れについて説明する。
イベント処理部11から、表示用データ実行処理を開始するよう通知を受けると、制御スクリプト解析部140は、その通知にしたがって、受信したスライドショー表示画面表示用データを表示用データ記憶部51から取得して、そこに含まれる制御スクリプトを解析する(S101)。
スライドショー実行制御部141は、スライドショー表示画面を表示部15に表示するためのスクリプト(レイアウト定義スクリプトなど)を実行する(S102)。表示制御部24は、スライドショー実行制御部141の制御にしたがって、スライドショー表示画面を描画し、表示部15に表示する(S103)。これにより、初回の描画が終了し、例えば、図11(a)に示すように、上記スライドショー表示画面表示用データに含まれている表示対象物111としての写真を表示することができる。ここで、イベントの待機状態になる(例えば、ユーザの操作部13によるボタン入力など)(S104)。なお、スライドショーが自動で再生される場合には、図11(a)に示すように、スライドショー実行制御部141は、制御スクリプトにしたがって、そのことを示す自動コマ送り中アイコン1101を表示する。また、スライドショー実行制御部141は、制御スクリプトにしたがって、写真タイトル1102、操作方法画面1103などを表示してもよい。
例えば、初回描画時(図11(a))に、ユーザの操作によって、操作部13に設けられている黄色ボタン(図示せず)または決定ボタン(図示せず)が押下されると、その信号が操作受付部21を介してイベント処理部11に伝達され、イベント処理部11はイベントを検知する(S104においてYES)。
イベント処理部11の判断により、黄色ボタンが押下されたことが分かると(S105においてy)、制御スクリプト実行部41は、それに応じた処理を実行する。
ここで、操作部13の黄色ボタンは、操作メニュー1104(図11(b))を表示するようにテレビ1を操作するためのボタンであり、また、操作メニュー1104が表示されている状態で押下した場合には、操作メニュー1104を閉じて、図11(a)の状態に戻すようにテレビ1を操作するためのボタンである。このような、操作部13に設けられた各ボタンと、それが押下されたときにテレビ1が実行すべき機能との対応関係は、制御スクリプトに含まれる、操作内容定義スクリプトに記述されている。
制御スクリプト実行部41は、イベント処理部11からの通知を受け付けると、黄色ボタンが押下された時に、操作メニュー1104を開いているか否かを判定する(S106)。
そして、操作メニュー1104が開いていないと判定された場合(S106においてNO)、操作メニュー制御部142は、上記スライドショー表示画面表示用データに含まれている、制御スクリプト110の操作メニュー特定スクリプト122にしたがって、当該表示用データに応じた内容の操作メニュー1104を表示する(S107)。具体的には、基本機能実行部42を制御して、表示すべきデータを表示制御部24に伝達する。これにより、表示部15の表示画面は、図11(a)から図11(b)に遷移する。
一方、操作メニュー1104が表示されていると判定された場合(S106においてYES)、操作メニュー制御部142は、制御スクリプト110にしたがって、表示されている操作メニュー1104を閉じる。これにより、表示部15の表示画面は、図11(b)から図11(a)に遷移する。
S105において、イベント処理部11の判断により、決定ボタンが押下されたことが分かると(S105においてk)、制御スクリプト実行部41は、それに応じた処理を実行する。
ここで、操作部13の決定ボタンは、上記操作メニュー1104のうちのいずれかの操作項目を選択した状態で押下した場合に、当該操作項目がサブ操作メニューを有していれば、サブ操作メニューを開くようにテレビ1を操作するためのボタンである。例えば、図11(b)および図11(c)に示すとおり、「写真の回転」を示す操作項目1105が選択されている状態で決定ボタンが押下されると、操作メニュー制御部142は、サブ操作メニュー1106を表示する。あるいは、選択された操作項目がサブ操作メニューを有していなければ(操作メニュー特定スクリプトに定義されていなければ)、その操作項目が選択された場合に、制御スクリプト実行部41が、制御スクリプト110にしたがって、その操作項目に対応する処理を実行する。さらに、いずれのメニューも開かれていない状態で、決定ボタンが押下された場合は、スライドショー実行制御部141がスライドショー実行処理を行う。
より詳しくは以下のとおりである。
S106と同様に、制御スクリプト実行部41は、イベント処理部11からの通知を受け付けると、決定ボタンが押下された時に、操作メニュー1104を開いているか否かを判定する(S109)。
そして、操作メニュー1104が開いていないと判定された場合(S109においてNO)、スライドショー実行制御部141がスライドショー実行処理を行う(S110)。具体的には、図11(a)の表示画面が表示されている状態で、決定ボタンが押下された場合、スライドショー実行制御部141は、当該表示画面に表示されている写真の次の表示順序の写真を表示するスライドを表示する。
一方、操作メニュー1104が開いていると判定された場合(S109)においてYES)、制御スクリプト実行部41は、決定ボタンが押下されたとき、開かれた操作メニュー1104の操作項目のうち、いずれにフォーカスされているのかを判断する(S111)。フォーカスされている状態とは、カーソルによって操作項目が選択されている状態を意味し、本実施形態では、選択されている操作項目の表示領域のみ他の操作項目と区別するために別の色で表示される(例えば、「写真の回転」を示す操作項目1105)。
図11(b)に示すとおり、「写真の回転」を示す操作項目1105にフォーカスされている状態で、決定ボタンが押下されたと判断された場合には(S112においてYES)、次に、制御スクリプト実行部41は、サブ操作メニューの開閉、および、サブ操作項目におけるフォーカス位置を判断する(S113)。
ここで、サブ操作メニュー1106が閉じられていると判断された場合には(S113においてA)、操作メニュー制御部142は、操作メニュー特定スクリプト122にしたがって、「写真の回転」を示す操作項目に対応付けられたサブ操作メニューを表示する(S114)。図11(c)は、操作項目1105のサブ操作メニュー1106が表示された例を示している。
一方、操作項目1105のサブ操作メニュー1106のいずれかの操作項目(例えば、図11(c)に示す、「左へ90度回転」や「右へ90度回転」など)にフォーカスされていると判断された場合には(S113においてB)、写真回転制御部143は、操作機能定義スクリプト132にしたがって基本機能実行部42を制御して、写真回転処理を実行する(S115)。例えば、「左へ90度回転」のサブ操作項目にフォーカスされている状態で(図11(c))、決定ボタンが押下された場合には、図11(c)に表示されている横長写真1107に対し、写真回転制御部143が左へ90度回転する処理を実行する。これにより、図11(d)に示すとおり、写真は、左へ60度回転された縦長写真1108として表示部15に表示される。
一方、フォーカスされているのが操作項目1105以外の他の操作項目であると判断された場合で、当該操作項目がサブ操作メニューを有し、かつ、サブ操作メニューが閉じられている場合は(S112においてNO、かつ、S116においてA)、操作メニュー制御部142は、上記他の操作項目のサブ操作メニューを表示する(S117)。一方、上記他の操作項目のサブ操作メニューが開かれており、いずれかのサブ操作項目にフォーカスされている場合は(S112においてNO、かつ、S116においてB)、制御スクリプト実行部41が、操作機能定義スクリプト132にしたがって、当該サブ操作項目に対応付けられている機能を実行する(S118)。
S116において、操作項目がサブ操作メニューを持たない項目である場合には、制御スクリプト実行部41が、操作機能定義スクリプト132にしたがって、当該操作項目に対応付けられている機能を実行する。
なお、写真回転制御部143が、S115の写真回転処理後に、回転後の写真を表示する場合、「写真回転処理後に操作メニューを閉じる」とのスクリプトが制御スクリプトに含まれていれば、図11(d)に示すとおり、操作メニューを閉じた状態で、回転後の写真を表示する。上記「操作メニューを閉じる」とのスクリプトが含まれていない場合は、写真回転制御部143は、図11(e)に示すとおり、操作メニューが開かれたまま、回転後の写真を表示する。
図12〜図15は、制御スクリプト実行部41の各部が上述の表示用データ実行処理を実行するときに参照する制御スクリプトの具体例を示す図である。
図12に示すスクリプト132aは、図3に示す操作機能定義スクリプト132に含まれている。スクリプト132aでは、黄色ボタンが押下されたときの表示状態に応じて、どのような機能を実行すべきかが記述されている。制御スクリプト実行部41(操作メニュー制御部142)は、スクリプト132aにしたがって、上述のS106〜S108の処理を実行することができる。
図12に示すスクリプト132bは、図3に示す操作機能定義スクリプト132に含まれている。スクリプト132bでは、決定ボタンが押下されたときのメインの操作メニューおよびサブ操作メニュー(図11(c)のサブ操作メニュー1106)の表示状態に応じて、どのような機能を実行すべきかが記述されている。より具体的には、決定ボタンが押下されたときに、サブ操作メニューが開かれていなければ、サブ操作メニューを開き、サブ操作メニューが開かれていれば、そのサブ操作メニューを非表示に切り換えてそのサブ操作項目の機能を実行するよう記述されている。
例えば、スクリプト132dには、写真の回転のサブ操作項目(サブ操作メニュー1106内)のうちのいずれかが、決定ボタン押下によって選択されたときに、写真回転制御部143が実行すべき写真回転の機能が定義されている。
制御スクリプト実行部41(操作メニュー制御部142、写真回転制御部143)は、スクリプト132bにしたがって、上述のS113〜S118の処理を実行することができる。
図13に示すスクリプト122aは、図3に示す操作メニュー特定スクリプト122に含まれている。スクリプト122aの記述により、現在表示されている表示画面の内容に応じて表示すべき、メインの操作メニュー1104(例えば、図11(b))が特定される。上述のスクリプト132a(図12)には、黄色ボタンが押下されたときに、スクリプト122aで特定された操作メニュー(g id=”menu”)を表示するという機能が定義されている。
図13に示すスクリプト122bは、図3に示す操作メニュー特定スクリプト122に含まれている。スクリプト122bは、「写真の回転」を示す操作項目1105のサブ操作メニュー1106を特定するものである。操作機能定義スクリプト132には、操作項目1105が表示された状態で決定ボタンが押下されたときに、スクリプト122bで特定されたサブ操作メニュー(g id=”submenu2”)を表示するという機能が定義されている。
ここで、図11(c)に示す横長写真1107が回転すべきでない状況のときには、操作メニュー1104のように「写真の回転」の操作項目1105を、テレビ1(操作メニュー制御部142)が表示するのは望ましくない。回転すべきでない事情としては、例えば、テレビ1にそもそも写真を回転させる機能がないという事情や、写真を縦長に表示するのが適切でない、あるいは、横長写真1107の状態ですでに写真の向きは適切である、などの理由から、アルバム作成者(写真の持ち主)Uが、回転させることを望まないという事情が想定される。
このような場合には、表示対象物である写真(表示用データの内容)に応じて、最適な操作メニュー特定スクリプト122をテレビ1に提供すればよい。
上述のような事情があるときは、上記写真を含む表示用データでは、「写真の回転」の機能をテレビ1が実行しないようにすることが望ましい。この場合、表示用データ生成装置2は、図13に示すスクリプト122aに代わり、図14に示すスクリプト122a’を含めて制御スクリプトを提供することができる。このとき、当該制御スクリプトの操作機能定義スクリプト132には、写真回転の機能についてのスクリプトを含めないようにすればよい。図14に示すスクリプト122a’は、スクリプト122aと比べて、「写真の回転」を示す操作項目1105を含まない操作メニュー1104(図16)を特定している。このようなスクリプトにしたがえば、操作メニュー制御部142は、図16に示すとおり、操作メニュー1104を表示部15に表示することができる。
以上のことから、表示用データの内容に応じて最適な制御スクリプトをテレビ1に提供することにより、テレビ1は、表示用データに応じて、常に最適な操作メニューを表示することができる。
さらに、制御スクリプトを適宜変更して、操作メニュー1104のうち、特定の操作項目だけを、サブ操作メニューと同様に2段階で表示するようにテレビ1を制御することも可能である。例えば、写真の回転は可能であるが、写真を提供する側では、写真回転機能を積極的に使うことが意図されていないとする。この場合には、操作メニュー1104に「その他」の操作項目を設け、それが選択されたときにだけ、サブ操作メニューと同じように2段階で操作項目1105を表示させるような操作メニュー特定スクリプト122(図17(a))および操作機能定義スクリプト132をテレビ1に提供すればよい。
上記操作メニュー特定スクリプト122および操作機能定義スクリプト132をテレビ1に提供することにより、操作メニュー制御部142は、図17(b)に示すとおり、操作項目1105をサブ操作メニューと同じ2段階表示することが可能となる。また、写真回転制御部143は、そのような操作項目1105が選択されたときに、写真回転処理を実行することが可能となる。
あるいは、写真を回転させることができるか否かに関わらず、同一の操作メニュー1104を表示させるための制御スクリプトをテレビ1に提供する場合には、制御スクリプト実行部41が、制御スクリプトに基づき、写真を回転させることができるか否かを判定して、「写真の回転」のサブ操作メニュー1106を表示するか否かを決定する構成としてもよい。
例えば、表示用データ生成装置2が、テレビ1に対して、図15に示すスクリプト132b’を、図12のスクリプト132bの代わりに提供する。これにより、写真の回転が可能な場合のみ以降の処理の実行するよう記述されたスクリプト1230にしたがって、テレビ1は動作する。すなわち、制御スクリプト実行部41が、回転の処理を適用できる写真であると判定した場合のみ、操作メニュー制御部142は、図13のスクリプト122bで特定された、「写真の回転」のサブ操作メニュー1106を表示する処理を行う。
以上のことから、図15に示すスクリプト132b’をテレビ1に提供することにより、テレビ1は、写真が回転可能な場合のみ、サブ操作メニュー1106を表示することが可能となる。
なお、図10に示すS110において、スライドショー実行制御部141が実行するスライドショー実行処理は、図12に示すスクリプト132cによって制御することが可能である。
図11(b)に示す操作メニュー1104が開かれていない状態で、操作部13の決定ボタンがユーザにより押下された場合は、スライドショー実行制御部141は、さらに、スライドショーを自動再生中か否かを判定する。
スライドショー実行制御部141は、自身がスライドショー自動再生中の場合に決定ボタンが押下されたときは、自動コマ送り中アイコン1101を非表示にし、コマ送り停止中アイコン1109を表示させるとともに、スライドショーの自動再生を停止する。一方、スライドショー再生停止中の場合に決定ボタンが押下されたときは、コマ送り停止中アイコン1109を非表示にし、自動コマ送り中アイコン1101を表示させて、スライドショーの自動再生を再開する。以上のように、スクリプト132cをテレビ1に提供することによって、操作メニューが開かれていない状態で、決定ボタンを押下し、スライドショーの自動再生を制御するテレビ1を実現することができる。
次に、上述のような制御スクリプトを含む表示用データを、テレビ1の要求に応じて生成し、テレビ1に提供する表示用データ生成装置2の詳細について説明する。
〔表示用データ生成装置の構成1−詳細〕
図18は、本実施形態に係る表示用データ生成装置2の要部構成を示すブロック図である。図18に示すとおり、表示用データ生成装置2の要求メッセージ解析部70は、さらに、表示対象ID取得部71、表示画面ID取得部72、および、関連情報取得部73を備えている。制御スクリプト生成部80は、さらに、表示対象属性判定部81、画像分析部82、操作項目選択部83、操作機能定義生成部84、操作メニュー生成部85、および、スクリプト合成部86を備えている。記憶部90は、図4の構成に加えて、項目選択規則記憶部93、および、操作機能記憶部94を備えている。
ネットワークアルバムシステム100(図2)におけるアルバム管理サーバ3のネットワークアルバムDB8には、アルバムに関するアルバム情報(要求画像の属性情報)と、アルバムに含まれる写真の写真情報(要求画像の属性情報)および写真データ本体とが記憶されており、アルバムはアルバムID、写真はアルバムIDと写真IDとの組み合わせによって一意に識別できるように記憶されている。
表示用データ生成装置2は、ネットワークアルバムDB8に記憶されている情報を、必要に応じて、通信部63を介して取得することが可能である。
要求メッセージ解析部70の各部は、テレビ1から受信した表示用データ要求メッセージ6(図7)を受信すると、図5に示す要求メッセージ解析処理(S4)を実行する。また、制御スクリプト生成部80の各部は、パターンデータ選択部61がS5で選択したパターンデータを用いて、制御スクリプトを生成するための制御スクリプト生成処理(S6)を実行する。
以下の説明では、図7に示す、スライドショー表示画面(の表示用データ)を要求する表示用データ要求メッセージ6をテレビ1から受信した場合を例に挙げ、表示用データ生成装置2の構成を説明する。
表示用データ生成装置2は、表示用データ要求メッセージ6(図7)に対する応答として、表示用データ7(図3)を生成する。具体的には、表示用データ要求メッセージ6によって要求されたスライドショー表示画面の内容に応じて、操作メニューの画面(操作メニュー特定スクリプト122(図3))を生成し、その各操作項目が選択されたときのテレビ1の振る舞いを規定する(操作機能定義スクリプト132を生成する)。
要求メッセージ解析部70の表示対象ID取得部71は、表示用データ要求メッセージに含まれる、表示すべき対象となる表示対象物(アルバムや写真など)を識別する表示対象IDを取得するものである。本実施形態では、例えば、図7に示す表示用データ要求メッセージ6に含まれる、アルバムIDと写真IDとを取得する。これにより、表示用データ生成装置2は、どのアルバムのどの写真をスライド表示するための表示画面を要求されているのかを判断することが可能になる。
表示画面ID取得部72は、表示用データ要求メッセージに含まれる、表示画面のタイプを示す表示画面IDを取得するものである。上述したとおり、本実施形態では、表示用データ生成装置2がテレビ1に提供する表示画面のタイプは複数種類存在する。よって、表示用データ要求メッセージには、どのタイプの表示画面をテレビ1が要求しているのかを示す表示画面IDが含まれている。表示画面ID取得部72が、表示用データ要求メッセージに含まれる表示画面IDを取得することにより、要求されたのがどの表示画面の表示用データであるのかを、表示用データ生成装置2が判断することができる。
なお、表示用データ生成装置2において、生成する表示画面が1種類しかない場合は、表示画面ID取得部72を備えていなくてもよい。
関連情報取得部73は、表示用データ要求メッセージに含まれる、当該メッセージの要求元であるテレビ1の関連情報を取得するものである。図7の例を用いれば、関連情報取得部73は、表示用データ要求メッセージ6から、テレビ1の端末IDおよび仕様情報(画面の画素数)を取得する。
しかし、関連情報は、図7の例に限定されない。例えば、図8の関連情報テーブルに示したとおり、テレビ1のユーザに関するユーザ情報や、テレビ1の他の仕様情報(画面サイズ、機種名、ソフトウェアバージョン情報など)、あるいは、テレビ1に設定されている設定情報が表示用データ要求メッセージ6に含まれており、それを取得する構成であってもよい。具体的には、上記関連情報テーブル(図8)に記憶されている、テレビ1の機種名およびテレビ1がフォトアプリ機能を実現するためにインストールされているソフトウェアのバージョン情報が、図7に示す表示用データ要求メッセージ6に含まれており、関連情報取得部73は、表示用データ要求メッセージ6から要求元のテレビ1の機種名およびソフトウェアバージョン情報を取得することができる。
関連情報取得部73が取得した各種関連情報は、表示用データ生成装置2が、テレビ1の要求に応じて最適な表示用データ(制御スクリプト)を生成するための判断材料として利用される。
本実施形態では、関連情報取得部73は、関連情報としてテレビ1の画面画素数を取得する。これにより、表示用データ生成装置2は、表示対象物として特定された写真の画素数やサイズと、テレビ1の画面画素数とに応じて、最適な表示用データ(制御スクリプト)を生成することができる。
あるいは、ユーザ情報にユーザの年齢の情報が含まれていて、年齢によって、提供可能な表示用データが異なる場合には、表示用データ生成装置2は、関連情報取得部73が取得した年齢の情報に応じて、表示用データに含める制御スクリプトや表示対象物を選択することができる。あるいは、提供可能年齢に制限がある表示用データが要求された場合には、表示用データ生成装置2は、ユーザの年齢が条件を満たさない場合に、要求された表示用データを生成せずに、エラーメッセージを含む表示用データを生成するなどの処理を行うことが可能となる。
なお、表示用データ生成装置2において、表示用データを生成するにあたり、上記関連情報を利用しない場合は、関連情報取得部73を備えていなくてもよい。
パターンデータ選択部61は、上述したとおり、パターンデータ記憶部91から、要求された表示用データを生成するための最適なパターンデータを選択する。本実施形態では、表示画面ID取得部72が取得する表示画面IDに基づいて、当該表示画面の雛型としてのパターンデータを選択する。
図19は、パターンデータ記憶部91に記憶されるパターンデータテーブルの例を示す図である。図19に示す例では、上述した各種表示画面(1枚表示画面、スライドショー表示画面、サムネイル表示画面など)の複数種類の表示画面の雛型が、表示画面IDに関連付けて記憶されている。
図7に示す例では、表示画面ID取得部72は、表示画面ID「Scr_C」を表示用データ要求メッセージ6から取得する。したがって、パターンデータ選択部61は、図19に示すパターンデータ記憶部91を参照して、パターンデータとして、表示画面ID「Scr_C」によって特定されるスライドショー表示画面表示用データ生成用のパターンデータを選択する。パターンデータ選択部61が選択したパターンデータは、中身が合成されて、制御スクリプトとして完成する。
制御スクリプト生成部80は、パターンデータ選択部61が選択したパターンデータを用いて、要求された表示用データに含めるべき制御スクリプトを生成する。
制御スクリプト生成部80の表示対象属性判定部81は、表示対象ID取得部71により特定された表示対象物の属性を判定するものである。表示対象属性判定部81は、アルバム(写真)のアルバムID(写真ID)に基づいて、アルバム(写真)の属性情報(アルバム情報/写真情報)を、ネットワークアルバムDB8(図2)から取得し、当該アルバム(写真)の属性を判定する。
例えば、表示対象属性判定部81は、表示対象物として特定された写真に回転機能は必要か、写真の画素数は要求元のテレビ1の画素数より小さいか、写真にコメントはついているか、写真に著作権保護ロックがかかっているか、などを判定することが可能である。しかし、上述の例に限定されず、表示対象属性判定部81は、テレビ1から受信した表示用データ要求メッセージに含まれる関連情報や、特定されたアルバムのアルバム情報、写真の写真情報に基づいて、表示対象物のさまざまな属性を判定することが可能となる。
画像分析部82は、表示対象物が画像データ(アルバムの写真など)である場合に、当該画像データを分析するものである。
より具体的には、写真の画素ごとの色情報を分析し、写真の色調を特定する。図11(b)、(c)に示すように、操作メニュー1104は写真に重畳して表示する。このとき、写真の色調に対して、操作メニュー1104の色が目立つ方が、ユーザにとって見えやすく好ましい。そこで、画像分析部82は、写真の色調に対して目立つ色を操作メニューの色として決定できるよう、写真の色調を特定して、操作メニュー生成部85に出力する。
また、画像分析部82は画像認識処理を行って、写真において被写体が写る位置を識別してもよい。そして、その処理結果を、操作メニュー生成部85に出力する。これにより、操作メニュー生成部85は、写真の被写体にかぶらないように、操作メニューの表示位置を決定することが可能となる。
図20は、ネットワークアルバムDB8に記憶される、アルバム情報テーブルの一例を示す図である。図20に示す例では、アルバム情報は、アルバムごとにアルバムIDに関連付けられたレコードで記憶されており、テーブル構造になっている。
「アルバムID」のカラムは、アルバムを識別するためのアルバムIDを示す。表示対象属性判定部81は、このアルバムIDに基づいて、表示対象ID取得部71によって特定されたアルバムのアルバム情報を取得する。
「アルバム作成者」のカラムは、アルバムを作成したアルバム作成者を示す。「アルバムタイトル」のカラムは、アルバムのタイトルを示す。「アルバムコメント」のカラムは、アルバム作成者が付与した、当該アルバムに対するコメントを示す。「アルバム作成日」のカラムは、当該アルバムが作成された(アルバム管理サーバ3に登録された)アルバムの作成日を示す。これらのアルバム基本情報は、アルバム作成者UがPC4を介して、アルバム管理サーバ3に設定、登録した情報である。
「写真枚数」のカラムは、当該アルバムに含まれている写真の枚数を示す。「写真ID」のカラムは、当該アルバムに含まれている写真を識別するための写真IDを示す。本実施形態では、写真IDは、表示順序を表している。制御スクリプト生成部80は、スライドショーやサムネイルに複数の写真を表示するときは、上記表示順序にしたがって写真を表示するように、レイアウト定義スクリプトを生成する。「写真ファイル名」のカラムは、写真のファイル名を示す。
なお、「音声ファイル名」および「エフェクトID」のカラムについては後述する。
図21は、ネットワークアルバムDB8に記憶される、写真情報テーブルの一例を示す図である。図21では、写真情報テーブルの一例として、アルバムID「0125478225142584」のアルバム(図20)が含む写真の一覧を示す写真情報テーブルを示す。しかし、ネットワークアルバムDB8が記憶する写真情報テーブルは、このテーブルのみではない。つまり、ネットワークアルバムDB8には、図20のアルバム情報テーブルにて管理されるアルバムごとに、上記写真情報テーブルが用意される。
表示対象属性判定部81および画像分析部82は、表示対象ID取得部71が取得したアルバムIDに基づいて、そのアルバムに関連付けられた写真情報テーブルを参照するように構成されている。
図21に示すとおり、アルバムの写真を管理する写真情報テーブルは、写真ごとにひとつのレコードが記憶され、アルバム内の写真を一意に識別するための写真ID(表示順序)と、当該写真IDに関連付けられて、「写真ファイル名」、「横ピクセル数」、「縦ピクセル数」、「データサイズ」、「写真タイトル」、「写真コメント」、「回転機能」、「著作権保護情報」、および、写真のデータ本体とが記憶されている。
「横ピクセル数」のカラムは、写真の横方向の画素数を示す。「縦ピクセル数」のカラムは、写真の縦方向の画素数を示す。「データサイズ」のカラムは、写真のデータサイズを示す。「写真タイトル」のカラムは、アルバム作成者が写真ごとに設定した、写真のタイトルを示す。「写真コメント」のカラムは、アルバム作成者が写真ごとに登録した写真に対するコメントを示す。
「回転機能」のカラムは、回転機能の必要性の有無を示す。「回転機能」が「要」の写真は、写真を回転させる処理が必要なことを示し、「不要」の写真は、その写真を回転させる処理が不要であることを示している。回転機能の要/不要の設定は、アルバム作成者Uが写真をアルバム管理サーバ3にアップロードする際に行えばよい。アルバム作成者Uは、回転させたくない写真に対して、回転機能を「不要」と設定して写真をアップロードすることができる。
なお、「回転機能」のカラムの代わりに、写真の天地方向を示す「天地方向」のカラムが設けられていてもよい。これにより、表示対象属性判定部81は、写真の実際の上下と、写真の天地方向とが一致していれば、回転機能は不要であると判定することができる。
「著作権保護情報」のカラムは、写真に付与されている著作権保護情報の有無を示す。「著作権保護情報」が「あり」の写真は、著作権保護ロックがかかっており、印刷・複製などが禁止されていることを示し、「なし」の写真は、自由に印刷・複製などを行ってもよいことを示す。
上述したアルバム情報(図20)および写真情報(図21)は、表示対象属性判定部81がアルバム(写真)の属性を判定するときに、画像分析部82が写真を分析するときに、必要に応じて読み出される。
上述のとおり、表示対象属性判定部81、画像分析部82は、ネットワークアルバムDB8を参照して、表示対象データとして特定されたアルバム・写真の属性を判定し、また写真の画像分析を行ってその結果を操作項目選択部83、操作メニュー生成部85に出力する。
なお、上述の説明では、アルバム情報・写真情報が、複数のカラムからなるレコードを持ったテーブル構造より成り立つものとして説明したが、これに限定されない。アルバム(写真)情報は、表示用データ生成装置2が、表示対象物の属性を判定するのに必要な情報が含まれるように適宜構成されればよい。
また、上述の説明では、表示対象属性判定部81が、写真の回転機能の必要性を、写真情報「回転機能」に基づき判定する構成としたが、これに限定されない。例えば、画像分析部82が、画像解析アルゴリズムを用いて写真の天地を特定し、それが実際の写真のデータの上下と一致しているか否かを判定するようにしてもよい。表示対象属性判定部81は、特定された写真の天地と、実際の写真の上下が一致していれば、当該写真について回転機能は不要であると判定する。
操作項目選択部83は、表示画面に表示する操作メニューに含まれる操作項目を選択するものである。操作項目選択部83は、表示対象属性判定部81および画像分析部82が出力する判定結果・分析結果に基づいて、操作メニューに含めるべき操作項目(テレビ1の機能)を選択する。これにより、表示用データ(表示画面)の内容に応じた最適な操作メニューを表示するための制御スクリプトを完成させることができる。また、上記制御スクリプトは、その操作メニューにてリストアップされた操作項目の各種機能をテレビ1に提供することができる。
操作項目選択部83は、項目選択規則記憶部93に記憶される選択規則を参照し、上記判定結果・分析結果に応じて、当該表示画面に適した操作メニューに追加する操作項目を選択する。
図22は、項目選択規則記憶部93に記憶される、操作項目選択部83が操作項目を選択するためのルールテーブルの例を示す図である。
図22に示すとおり、ルールテーブルには、制御スクリプトの記述によってテレビ1に提供可能な各機能があらかじめリストアップされており、各機能および各機能についての各種情報は、機能ID(カラムC1)に関連付けて記憶されている。
カラムC2の「機能」は、上記テレビ1に提供する機能の内容を示している。
カラムC3の「判定方法」は、要求された写真や、表示用データ要求メッセージに対する判定処理の手順を示している。これらの各判定処理は、表示対象属性判定部81(または、画像分析部82、操作項目選択部83など)が実行する。この判定結果に応じて、機能の操作項目を操作メニューに追加するか否かを操作項目選択部83が判断することができる。
カラムC4の「選択規則」は、カラムC3に示された判定方法による判定結果に応じて、操作項目選択部83が、当該機能の操作項目を操作メニュー(あるいはサブ操作メニュー)に追加するか否かを決定するための規則を示している。カラムC4には、カラムC41の「判定結果(if)」ごとに、操作項目選択部83がとるべき動作を定めた「選択動作(then)」(カラムC42)が定められている。
以上のとおり、操作項目選択部83は、カラムC4の「選択規則」にしたがって、表示対象属性判定部81の判定結果に応じて、追加すべき操作項目を選択する。
なお、いずれの判定を行わずとも、全表示用データ共通で、常に提供すべき機能(例えば、機能5〜7)については、カラムC3、カラムC41の情報は不要である。本実施形態では、機能5〜7については、「常に操作メニューに追加する」と選択規則に定めている。
操作項目選択部83の選択結果(例えば、操作項目選択部83が選択した機能の機能ID)は、操作機能定義生成部84および操作メニュー生成部85に伝達される。
操作機能定義生成部84は、操作項目選択部83が選択した機能IDに基づいて、当該機能をテレビ1に実行させるための操作機能定義スクリプト132(図3)、すなわち中身を、操作機能記憶部94から抽出し、パターンデータに埋め込むものである。
操作メニュー生成部85は、操作項目選択部83が選択した機能IDに基づいて、当該機能の操作項目を含む操作メニュー(操作メニュー特定スクリプト122(図3))を生成するものである。具体的には、機能IDに基づいて、操作項目名(図11(b)の操作メニュー1104において各操作項目を示すテキストデータ(中身))を操作機能記憶部94から抽出して、パターンデータに埋め込む。
操作メニュー生成部85は、上記操作項目名(中身)を埋め込むことに加え、操作項目選択部83によって追加すべき操作項目が決定すると、各操作項目を表示する表示位置・表示サイズ(始点X・Y座標、幅、高さ(中身))を算出して、パターンデータに埋め込む。
なお、上述したとおり、操作メニュー生成部85は、画像分析部82の分析結果に基づいて、操作メニューの表示色を決定したり、操作メニューの表示位置を決定したりしてもよい。
表示色の決定方法としては、例えば、写真全体の色合いが、赤が強い場合は、青色系を選択するとか、あるいは、操作メニューが重畳される位置の色合いが、白が強い場合は、黒色系を選択するなどが想定される。
図23は、操作機能記憶部94に記憶される機能テーブルの例を示す図である。機能テーブルは、パターンデータに埋め込むべき中身の情報を記憶している。
図23に示すとおり、機能テーブルには、制御スクリプトの記述によってテレビ1に提供可能な各機能があらかじめリストアップされており、各機能および各機能についての各種情報は、機能IDに関連付けて記憶されている。ルールテーブル(図22)とは異なり、サブ操作メニューにおけるサブ操作項目(機能1−1、1−2など)ごとにも、各種情報が関連付けて記憶されている。
カラムC5の「操作項目名」は、図11(b)の操作メニュー1104において各操作項目を示すテキストデータを示している。操作メニュー生成部85は、カラムC5のテキストデータ(操作項目名)と、各操作項目の表示位置、表示サイズの情報とを、パターンデータに埋め込んで、操作メニュー特定スクリプトを完成させる。
カラムC6の「スクリプト」は、フォトアプリ機能として、テレビ1に実行させる所定の処理を定義する操作機能定義スクリプトを示している。図23に示すとおり、スクリプトは、機能ごとに用意されている。操作機能定義生成部84は、カラムC6のスクリプトをパターンデータに埋め込んで、機能ごとに用意された各スクリプトを1つにまとめた操作機能定義スクリプトを完成させる。
なお、図23には、分かりやすくするために、カラムC6のスクリプトを文章で示したが、操作メニュー生成部85が実際にカラムC6から抽出してパターンデータに埋め込む情報は、図12のスクリプト132bに示すとおり、XMLにより記述されたテキストデータとして構成されたものである。
なお、図23に示す機能テーブルは、説明のための一例であり、本発明を限定するものではない。表示用データ生成装置2は、図23に示す機能以外にも、テレビ1が写真を表示する(第1の機能)際に実行する、他のあらゆる機能(第2の機能)をテレビ1に提供することが可能である。
図24は、パターンデータの具体例を示す図である。図24では、図19に示す、表示画面ID「Scr_C」のパターンデータのうち、操作メニュー生成部85が生成する操作メニュー特定スクリプト122の部分のみを示す。スクリプト240は、操作メニューを特定するためのスクリプトの雛型であり、スクリプト250は、サブ操作メニューを特定するためのスクリプトの雛型である。
図24において、操作メニュー生成部85が中身を埋め込む箇所は、「@@_***_@@」で示している。具体的には、置換位置241は、操作項目名に、置換位置242は、当該操作項目の表示位置(始点のX・Y座標)に、置換位置243・244は、操作メニューの表示サイズ(幅と高さ)に置換される。
このようにして、すべての置換位置に操作機能定義生成部84が特定した実際の値が埋め込まれると、制御スクリプトにおける操作メニュー特定スクリプト122(図13)が完成する。
図25および図26は、操作機能定義生成部84が生成する操作機能定義スクリプトの具体例を示す図である。操作機能定義生成部84は、操作項目選択部83の選択結果に基づいて、操作機能記憶部94の機能テーブル(カラムC6)からスクリプトを特定し、機能ごとの操作機能定義スクリプトを完成させる。図25は、「回転機能」を定義する操作機能定義スクリプトの具体例を示している。図25の操作機能定義スクリプトに従えば、図12のスクリプト132dに基づいて、写真の回転処理が実行されるとき、その時点で表示中の写真は非表示になり、回転位置が計算される(変数rotatenoが算出される)。そして、算出された回転位置に基づいて、回転後の写真が表示され(図12のスクリプト132d)、写真の回転機能が実現する。図26は、「コメント表示機能」を定義する操作機能定義スクリプトの具体例を示している。操作機能定義生成部84は、この各機能のスクリプトをパターンデータに埋め込んで1つの操作機能定義スクリプトを完成させる。
スクリプト合成部86は、上述の制御スクリプト生成部80の各部が生成した各種スクリプト(例えば、操作メニュー特定スクリプト122(図13)や操作機能定義スクリプト132(図12)など)を1つに合成し、制御スクリプトを生成するものである。スクリプト合成部86が生成した制御スクリプトは、表示用データ要求メッセージが要求する表示用データの内容に応じて、適切な機能をテレビ1に提供するためのスクリプトを含んでいる。
なお、上述の例では、制御スクリプト生成部80の各部が、パターンデータから、操作メニュー特定スクリプト122、操作機能定義スクリプト132を生成することについてのみ説明したが、これに限定されない。図示しない制御スクリプト生成部80の各部が、パターンデータ選択部61が選択したパターンデータに適切な中身を埋め込んで、図3に示す表示対象物特定スクリプト121、属性情報特定スクリプト123、状態遷移定義スクリプト131を完成させて、スクリプト合成部86に供給する。
スクリプト合成部86が生成した制御スクリプトは、表示用データ生成部62に供給される。表示用データ生成部62は、スクリプト合成部86から取得した制御スクリプトと、表示対象物とを合成して表示用データを生成し、送信部63bを介して要求元のテレビ1に提供する。
表示用データ生成部62が特定する表示対象物としては、ネットワークアルバムDB8に記憶されているアルバム情報、写真情報、写真、および、表示対象物記憶部92に記憶されているその他の画像(操作ボタンの画像など、各表示画面において共通で用いる画像)などが挙げられる。
これにより、上記表示用データを受信したテレビ1は、要求した表示用画面(例えば、スライドショー表示画面)を表示することができるとともに、当該表示画面表示中に、当該表示用データの制御スクリプトにしたがって、所定のフォトアプリ機能を実行することが可能となる。表示用データ生成装置2は、制御スクリプトを、要求された表示用データの内容に応じて適宜変更しテレビ1に提供することが可能となる。以上のことから、テレビ1の機能を、表示する表示用データの内容に応じて容易に変更することが可能となる。
さらに、ネットワークアルバムシステム100のサービスにおいて新たなフォトアプリ機能が追加された場合に、市場に流通した後のテレビ1にもその機能を追加できることが望まれる。本発明の表示用データ生成装置2によれば、制御スクリプトを新たに生成し、テレビ1に提供するだけで、容易に新しい機能をテレビ1に追加することが可能となる。例えば、スライドショーに、写真のフェードインなどのエフェクトを付ける機能が追加された場合、制御スクリプトに上記エフェクトの機能を記述するとともに、対応する操作項目を操作メニュー特定スクリプトに追加するだけでよい。
図27は、表示用データ生成装置2における、表示用データを生成する処理(図5のS3〜S8)の流れを詳細に示すフローチャートである。
受信部63aが、テレビ1から表示用データ要求メッセージ(図7)を受信すると(S201においてYES)、要求メッセージ解析部70は、受信した表示用データ要求メッセージを解析する(S202)。より具体的には、表示対象ID取得部71が、アルバムIDと写真IDとを取得し、表示画面ID取得部72が、表示画面IDを取得し、関連情報取得部73が、仕様情報(画面の画素数)を取得する。
次に、パターンデータ選択部61が、上記表示画面IDに基づいて、パターンデータ記憶部91のパターンデータテーブルから、要求された表示用データを生成するのに最適なパターンデータを選択する(S203)。ここでは、一例として、スライドショー表示画面表示用データを生成するためのパターンデータを選択したとする。
制御スクリプト生成部80は、選択されたパターンデータを元に、表示用データに含める制御スクリプトを生成する。制御スクリプト生成部80は、まず、上記アルバムIDと写真IDとに基づいて、ネットワークアルバムDB8に記憶される表示対象としての写真を特定する。
表示対象属性判定部81は、ネットワークアルバムDB8から、特定された写真の写真情報(図21)を取得する(S204)。
続いて、表示対象属性判定部81は、取得した写真情報および表示用データ要求メッセージに含まれる仕様情報に基づいて、写真の属性を判定する(S205)。具体的には以下のとおりである。
(1)写真の天地が正しいか否かを判定する。
表示対象属性判定部81は、図21に示す写真情報テーブルから、上記特定した写真の「天地方向」(または、「回転機能」)の値に基づいて、写真の天地方向が正しいか否かを(回転機能の要/不要を)判定する。
(2)テレビ1の画面画素数と、写真画素数とを比較する。
表示対象属性判定部81は、図7に示すテレビ1の画面画素数(R5)と、図21示す「横画素数」および「縦画素数」から求まる写真画素数とを比較し、写真画素数が画面画素数より小さいか否かを判定する。
(3)写真のコメントの有無を判定する。
表示対象属性判定部81は、図21に示す「写真コメント」に、コメントが記憶されているか否かを判定する。
(4)写真の著作権保護情報を判定する。
表示対象属性判定部81は、図21に示す「著作権保護情報」に基づいて、写真に対し、著作権保護ロックがかかっているか否かを判定する。
次に、画像分析部82は、ネットワークアルバムDB8から、特定された写真を取得して、その写真を分析する(S206)。より具体的には、写真の色調を特定し、被写体の表示位置を特定する。
操作項目選択部83は、表示対象属性判定部81の判定結果にしたがって、操作メニューに表示すべき操作項目(テレビ1に提供する機能)を選択する(S207)。
操作項目選択部83は、選択規則(カラムC4)にしたがって、特定された写真の天地が正しくないと判定された場合は、回転機能の操作項目、および、そのサブ操作項目を操作メニューに追加することを決定する。回転機能が必要な場合のみ、回転機能をテレビ1に提供することができる。
また、テレビ1の画面画素数より写真の画素数が小さいと判定された場合は、画面サイズ切換機能(写真を拡大してテレビ1のフル画面サイズで表示する機能)の操作項目を操作メニューに追加する。写真のサイズがテレビ1の画面サイズより小さい場合のみ、拡大表示機能をテレビ1に提供することできる。
写真にコメントが付いていると判定された場合は、コメント表示機能の操作項目を追加する。写真に著作権保護ロックがかかっていないと判定された場合は、印刷機能の操作項目を操作メニューに追加する。これにより、表示画面に表示されている写真に著作権保護ロックがかかっている場合には、印刷を行えないようにテレビ1を制御することが可能となる。
なお、操作項目選択部83は、関連情報取得部73が取得した関連情報の内容に基づいて、選択するべき操作項目を選ぶ構成でもよい。例えば、表示用データ要求メッセージに、関連情報として、設定情報(図11(a)のような操作方法画面1103を常に表示するか否かを設定する情報(図8の「操作方法表示」))が含まれていたとする。
操作項目選択部83は、上記設定情報「操作方法表示」の内容を判定し、操作方法表示「しない」に設定されている場合には、操作方法表示機能の操作項目を追加しない(あるいは、操作項目「その他」のサブ操作項目として追加する)ことを決定する。一方、操作方法表示「する」に設定されている場合には、当該操作項目を追加することを決定する。
これにより、要求元のテレビ1が「操作方法画面を表示する」に設定されている場合にのみ、テレビ1に操作方法表示機能を提供することができる。
操作項目選択部83は、S207において、操作メニューに含めるべき操作項目(機能)を項目選択規則記憶部93にしたがって選択すると、選択した機能の機能IDを、操作機能定義生成部84および操作メニュー生成部85に供給する。
続いて、操作機能定義生成部84は、上記機能IDに基づいて、操作機能記憶部94の機能テーブル(図23)からカラムC6のスクリプト(操作機能定義スクリプト)を抽出し、パターンデータに埋め込んで、操作機能定義スクリプトを生成する(S208)。操作メニュー生成部85は、上記機能IDに基づいて、カラムC5の操作項目名を抽出し、パターンデータに埋め込んで、操作メニュー特定スクリプトを生成する(S209)。このとき、操作メニューの表示サイズや表示位置、表示色などを算出し、算出結果をパターンデータに埋め込む。
スクリプト合成部86は、制御スクリプト生成部80の各部が生成した、各種スクリプトを合成し、制御スクリプトを生成する(S210)。
表示用データ生成部62は、必要なすべての表示対象物を特定して、ネットワークアルバムDB8および/または表示対象物記憶部92から抽出して(S211)、上記生成した制御スクリプトと合成し、表示用データを生成する(S212)。
送信部63bは、表示用データ生成部62が生成した表示用データを、テレビ1の表示用データ要求メッセージ対する応答として送信する(S213)。
図27のフローチャートでは、アルバムに含まれる1枚の写真のスライドショー表示画面を生成する場合について述べたが、アルバムに含まれる全ての写真のスライドショー表示画面を続けて生成する場合は、写真ごとにS204〜S212の処理を繰り返してもよい。
上記構成および方法によれば、表示用データ生成装置2は、テレビ1が要求する表示用データに応じて、最適な操作メニューの画面を作成し、その操作メニューの操作項目に対応した機能を、上記操作メニューの画面のデータとともにテレビ1に提供する。上記表示用データを受信したテレビ1は、要求した表示用画面(例えば、スライドショー表示画面)を表示することができるとともに、当該表示画面表示中に、当該表示用データの制御スクリプトにしたがって、所定のフォトアプリ機能を実行することが可能となる。
つまり、表示用データの制御スクリプトを用いて、テレビ1が表示する表示用データ(表示画面)ごとに、表示すべき操作メニューの操作項目を選定し、テレビ1が実行可能な機能をカスタマイズすることができる。
以上、これまで述べてきたように、制御スクリプトを変更してテレビ1に提供することによって、テレビ1の機能を容易に変更することが可能となる。
操作メニューに関わる変更としては、操作メニューの操作項目数増やしたり、減らしたりする。ある操作項目に対するサブ操作メニューの有無、サブ操作項目数を変更する。操作項目名を必要に応じて変更する。操作メニューの表示位置、表示色を変更する、などが挙げられる。
また、テレビ1は、制御スクリプトにしたがうことにより、操作メニューを、自身の動作に応じて動的に変更することができる。
例えば、操作メニュー制御部142(図9)は、スライドショー実行制御部141の動作に応じて、図11(c)に示す、コマ送り制御の操作項目1110の操作項目名(図11(c)の例では“自動コマ送りの開始/停止”)を動的に変更するようにしてもよい。
制御スクリプトに、コマ送り制御の操作項目1110の部分に表示すべき操作項目名のテキストデータを2種類用意しておく。1つ目は、自動コマ送りを開始する機能を示す、操作項目名“自動コマ送りの開始”、2つ目は、自動コマ送りを停止する機能を示す、操作項目名“自動コマ送りの停止”である。
さらに、操作メニュー1104を表示する場合に、テレビ1がスライドショー自動再生中のときは、操作項目1110の領域に、操作項目名“自動コマ送りの停止”を表示することを規定したスクリプトと、テレビ1がスライドショー自動再生停止中のときは、操作項目名“自動コマ送りの開始”を表示することを規定したスクリプトとを、上記制御スクリプトに用意しておく。
これにより、操作メニュー制御部142は、スライドショー実行制御部141がスライドショー自動再生中のときに決定ボタンが押下されれば(操作メニュー1104が呼び出されたら)、図28(a)に示すように、“自動コマ送りの停止”の操作項目1110aを含む操作メニュー1104を表示する。一方、スライドショー実行制御部141がスライドショー自動再生停止中のときに決定ボタンが押下されれば、図28(b)に示すように、“自動コマ送りの開始”の操作項目1110bを含む操作メニュー1104を表示する。このように、テレビ1は、上述の制御スクリプトにしたがって、操作メニュー1104の表示を動的に変更することが可能となる。
あるいは、操作メニュー以外の表示方法も制御することが可能となる(図11に示す自動コマ送り中アイコン1101、写真タイトル1102、操作方法画面1103、など)。より具体的には、制御スクリプトに、アルバムに含まれる写真のスライドショーの自動再生を停止する機能を定義するスクリプトを追加したのに合わせて、自動再生中であることを示す自動コマ送り中アイコン1101を、自動再生が停止中であることを示すコマ送り停止中アイコン1109に変更することを指示するスクリプトを追加してもよい。
さらに、制御スクリプトにおいて、所定のイベントが検知されたときのテレビ1の振る舞いを変更することで、テレビ1の機能を容易に変更することができる。例えば、写真回転機能について、90度ごとではなく、180度ごとに写真を回転できるサブ操作項目を追加したり、また、スライドショーで1枚の写真を自動で表示している時間幅を、制御スクリプトを用いて任意に変更したりしてもよい。
〔変形例1−操作項目の表示順序を変更する〕
表示用データ生成装置2の操作メニュー生成部85は、操作メニューを表示するための操作メニュー特定スクリプトを生成するとき、操作項目の表示順序を所定の条件に基づいて決定し、その順序で操作項目が表示されるよう操作メニューを特定することが可能である。
例えば、各機能がユーザに利用される頻度に基づいて、操作項目の表示順序を決定することが想定される。
テレビ1は、表示用データ生成装置2から提供された機能を実行するたびに、当該機能を利用したということを示すメニュー利用情報を表示用データ生成装置2に送信する。メニュー利用情報には、利用した機能を識別するための機能IDが含まれている。その他、テレビ1の端末IDや、ユーザ情報、当該機能を利用した日時の情報が、上記メニュー利用情報に含まれていてもよい。
表示用データ生成装置2は、図23に示す機能テーブルにおいて、機能ごとに、その利用回数を格納するカラムを有している。
表示用データ生成装置2がテレビ1からメニュー利用情報を受信すると、要求メッセージ解析部70は、受信したメニュー利用情報から機能IDを取得して、テレビ1で利用された機能を特定する。制御部60の図示しない機能利用回数管理部は、操作機能記憶部94の機能テーブルにおいて、特定された機能の利用回数を1加算する。このようにして、機能(操作項目)ごとに利用回数が記憶される。
そして、操作メニュー生成部85が、操作メニュー特定スクリプトを生成するとき、操作メニュー生成部85は、操作項目選択部83が選択した操作項目ごとにその利用回数を操作機能記憶部94から読み出す。操作メニュー生成部85は、利用回数の多い順に操作項目が並ぶよう、操作メニュー特定スクリプトを生成することができる。
図29(a)、(b)は、操作項目の表示順序が変更される前後の操作メニュー表示例を示す図である。図29(a)に示すとおり、テレビ1は従前、制御スクリプトに基づいて「写真の回転」を示す操作項目1105を先頭に、操作メニュー1104を表示していたとする。このとき、「写真一覧表示」の操作項目1111は、3番目に表示されている。
その後、テレビ1は、再びスライドショー表示画面表示用データを表示用データ生成装置2に要求する。表示用データ生成装置2は、そのときの各機能の利用頻度に応じて、表示項目の表示順序を決定し、新たな制御スクリプトを生成する。この時点で、「写真一覧表示」の機能が最も多くユーザに利用されていたとすると、表示用データ生成装置2の操作メニュー生成部85は、「写真一覧表示」の操作項目1111が一番上に表示されるよう操作メニュー特定スクリプトを生成する。
テレビ1は、上記操作メニュー特定スクリプトを含む新たな制御スクリプトにしたがって、図29(b)に示すように、「写真一覧表示」の操作項目1111を一番上にして操作メニュー1104を表示する。
このように、ユーザの機能利用回数に応じて、よく使われる機能の操作項目が、選択しやすい位置(例えば、リストの上段)にくるように操作メニューのデザインを動的に変更することが可能となる。これにより、よく使う機能を選択しやすい操作メニューを常にユーザに提供することが可能となる。
あるいは、表示用データ生成装置2は、アルバムの写真ごとに、写真がユーザのテレビ1から要求されて、閲覧される回数を記憶しておくこともできる。これにより、表示用データ生成装置2は、よく閲覧される人気のある写真は、目立つように装飾が施されたり、マークが付与されたりして表示されるよう、当該写真を表示するための制御スクリプトを生成することができる。
〔変形例2−フォーカス移動〕
制御スクリプトを用いれば、テレビ1の操作メニュー制御部142(図9)を以下のように動作させることが可能である。
具体的には、操作メニュー制御部142は、制御スクリプトにしたがって、テレビ1に設定されている情報や自身の動作状態に応じて、フォーカス位置を決定する。そして、決定したフォーカス位置にカーソルをあてて、その操作項目だけ目立つ色にして表示する(フォーカス表示処理)。
図30は、テレビ1がフォーカス表示処理を実行するための制御スクリプトの具体例を示す図である。図30に示すとおり、制御スクリプトには、(サブ)操作メニューを表示するときに、(1)設定情報を読み取る、(2)スライドショー実行制御部141の動作を読み取る、(3)読み取った内容に一致する(サブ)操作項目にカーソルをあてる、および、(4)カーソルのあたった(サブ)操作項目の表示色を変更して、(サブ)操作メニューを表示することが規定されている。
上記制御スクリプトにしたがって、テレビ1が上述の動作(1)〜(4)を行う。
ここでは、メインの操作項目が選択されたのち、サブ操作メニューのフォーカス表示処理を行うものとし、より詳細に説明する。表示用データ実行処理部40の操作メニュー制御部142は、図30の制御スクリプトにしたがって、まず、設定情報を読み取る。設定情報とは、図8に示す関連情報記憶部52に記憶される関連情報テーブル内の設定情報(カラム群C12)のことである。図8に示す例を用いて説明すると、操作メニュー制御部142は、「コメント表示」=「する」、「操作方法表示」=「する」、「リピート再生」=「しない」、「コマ送り間隔」=「10秒」の値をそれぞれ関連情報記憶部52から読み出す。
次に、操作メニュー制御部142は、スライドショー実行制御部141の動作状態を読み取って、スライドショー自動再生中か停止中かを判断する。ここでは、再生中であると判断したとする。
続いて、操作メニュー制御部142は、操作メニュー特定スクリプトに基づいて表示部15に表示すべき(サブ)操作メニューを特定する。そして、上記で読み取った内容に合致する操作項目を決定し、その操作項目にカーソルをあてる。
操作メニュー制御部142は、カーソルをあてた操作項目の表示色を変更し、操作メニューを表示する。
図31(a)〜(e)は、テレビ1が上述の制御スクリプトに基づいてフォーカス表示したサブ操作メニューの例を示す図である。
図31(a)は、「コメント表示設定」の操作項目のサブ操作メニューを表示した例を示している。上述の例では、操作メニュー制御部142は、「コメント表示」=「する」の値を読み出したので、フォーカス位置を、「写真コメントを表示する」のサブ操作項目に決定してサブ操作メニューを表示する。
図31(b)は、「操作方法表示設定」の操作項目のサブ操作メニューを表示した例を示している。上述の例では、操作メニュー制御部142は、「操作方法表示」=「する」の値を読み出したので、フォーカス位置を、「操作方法を表示する」のサブ操作項目に決定してサブ操作メニューを表示する。
図31(c)は、「リピート再生」の操作項目のサブ操作メニューを表示した例を示している。上述の例では、操作メニュー制御部142は、「リピート再生」=「しない」の値を読み出したので、フォーカス位置を、「リピート再生しない」のサブ操作項目に決定してサブ操作メニューを表示する。
図31(d)は、「自動コマ送りの間隔」の操作項目のサブ操作メニューを表示した例を示している。上述の例では、操作メニュー制御部142は、「コマ送り間隔」=「10秒」の値を読み出したので、フォーカス位置を、「10秒間隔でコマ送り」のサブ操作項目に決定してサブ操作メニューを表示する。
図31(e)は、「自動コマ送りの開始/停止」の操作項目のサブ操作メニューを表示した例を示している。上述の例では、操作メニュー制御部142は、「スライドショー実行制御部141がスライドショーを自動再生中である」と判断したので、フォーカス位置を、「自動コマ送りを開始する」のサブ操作項目に決定してサブ操作メニューを表示する。
このように、上述の制御スクリプトをテレビ1に提供することにより、テレビ1は、テレビ1に設定されている情報や自身の動作状態に応じて、その内容に合致する所定の操作項目にフォーカスした状態の操作メニューを表示することが可能となる。
《実施形態2》
〔背景技術と課題〕
従来、容量の大きいデジタル画像データを扱い表示する画像表示装置にとって、VRAMなどの画像用バッファに画像を描画して表示部に表示する描画処理は、負荷の高い処理となっており、このような描画処理をより高速に行うことが課題となっている。
そこで、描画処理をより高速に行うために、ハードウェアリソースおよびその仕組みを充実させたり、扱うデータ量を少なくして描画処理の負荷を軽減したりすることにより、描画処理の高速化を図る工夫がなされてきた。
例えば、特許文献2(特開平6−149533)には、ダブルバッファを備えたセグメント描画方式において、表示領域から外れたセグメントの一方のバッファに対する処理を省くことにより、高速な描画処理を可能にした、グラフィック・ディスプレイ装置、および、その高速描画方式が開示されている。
しかし、特許文献2の装置では、情報を部分的に更新した場合でも、全情報(全画面分)を再描画しなければならず、再描画が必要な部分以外の無駄な再描画処理が発生するという問題があった。
そこで、特許文献3(特開平11−65813)には、情報の部分的な更新を可能とし、描画処理の遅延の発生を防ぐ、描画処理装置が開示されている。
しかしながら、特許文献3の装置では、装置に組み込まれたアプリケーションが、再描画が必要な再描画領域を計算している。そのために、装置が再描画領域を計算する手順を、情報(表示用データ)の内容に応じて動的に変更することはできず、どのような情報の再描画を行う時も一定の手順で再描画領域が計算されることになる。したがって、ある情報に対しては、情報提供者が意図していない領域が再描画領域に含まれてしまい、無駄な再描画処理が発生するという問題がある。
さらに、そのような意図していない再描画領域に、更新不要の別の情報(特に複雑な形状をしたオブジェクトなど)が部分的に含まれてしまうと、再描画領域にかかっている部分の切り出し(クリッピング処理)を行わなくてはならない。このとき、その一部再描画対象となったオブジェクトが、複雑な形状であればあるほど、クリッピング処理のためにかかる装置の負荷が増大するという問題がある。
また、テレビや携帯電話などの画像表示装置においては、たいていの場合、ハードウェアリソースの設計に制約があり(製造コストの制約や、装置自体の大きさの制約など)、それらを考慮せずに描画処理の高速化のためのリソースを充実させることは現実的ではない。特に、極端にメモリ領域が制限されるような、テレビなどの画像表示装置において、より効率よく再描画の処理を実現することが望まれる。
そこで、本実施形態では、表示用データの制御スクリプトにおいて、テレビ1(図1、6、9)が表示する表示用データ(表示画面)の内容に応じて、当該表示用データにおいて最適な再描画領域を規定する。最適な再描画領域とは、すなわち、複雑な処理が不要で、かつ、必要最小限の再描画領域のことである。テレビ1は、制御スクリプトにしたがって、表示用データの内容を考慮して、最適な再描画領域を特定し、効率よく再描画処理を行うことができる。表示用データの内容を考慮するとは、これに限定されないが、例えば、当該表示画面において更新可能なオブジェクトはどれであるか、また、そのオブジェクトの表示位置が固定であるか、移動するのかなどを考慮することである。
以下、最適な再描画領域を指定し効率よく再描画処理を実行できる、テレビ1および表示用データ生成装置2(ネットワークアルバムシステム100)について説明する。
〔制御スクリプト(再描画制御スクリプト)について〕
図32は、本実施形態の表示用データ(図3)に含まれる制御スクリプトの具体例を示す図である。図32の制御スクリプトには、円・雲・ふきだしの3つの図形を表示することを規定したレイアウト定義スクリプト112、および、操作部13を介して所定の信号(例えば、‘a’)が入力された場合に、上記表示した円の半径を50から100に変更して表示することを規定した操作内容定義スクリプト113が含まれている例を示している。
レイアウト定義スクリプト112において、上述の3つの図形は、それぞれ、タグ(“<”と“/>”)に囲まれて定義されている(スクリプト112a)。表示画面に表示される画像データやテキストデータ(あるいは、音声/映像データ)は、このように一組のタグにより定義されており、以下の説明では、これを、データ形式を問わずオブジェクトと称する。
テレビ1は、図33(a)に示すとおり、上記レイアウト定義スクリプト112にしたがって、表示部15に上述の3つのオブジェクト(円331、雲332、ふきだし333)を表示することが可能となる。
次に、本実施形態のテレビ1が、最適な再描画領域を特定し、効率よく再描画処理を実行するための、再描画制御スクリプトについて説明する。
再描画制御スクリプトは、上述の制御スクリプトの一部を構成するものであり、再描画領域定義スクリプト112bと、再描画領域変更スクリプト113bとからなっている。
再描画領域定義スクリプト112bは、再描画すべき領域を、領域の始点(X・Y座標)および領域の幅・高さにより矩形状に定義する。なお、この再描画領域のオブジェクトは、テレビ1に再描画領域を特定させるためのオブジェクトであり、ユーザに目視されることを意図したオブジェクトではないので、図33(a)に示すとおり、表示部15には再描画領域の矩形は表示されない(色が設定されていないために(“none”指定)、表示属性“visibility”が表示/非表示いずれの設定であってもユーザには見えない)。
再描画領域変更スクリプト113bは、再描画領域定義スクリプト112bが定義した再描画領域を取得して、その部分に対して行う変更処理を定義する。図32に示す例では、再描画領域変更スクリプト113bは、信号‘a’が入力されたとき、非表示の設定を表示に変更することを規定している(変更関数「setTrait(“visibility”, ‘visible’);」)。このように、再描画領域変更スクリプト113bにて変更処理が定義されることによって、テレビ1は、再描画領域定義スクリプト112bで定義した再描画領域の再描画の必要性を適切なタイミングで判断することができる。
図33(b)は、操作部13の所定のボタンが押下され、信号‘a’が入力されたときに、テレビ1が操作内容定義スクリプト113にしたがい変更処理を実行した後の表示部15の表示例を示す図である。操作内容定義スクリプト113に定義されているとおり、円331は、その半径が50から100に変更されて表示されている。
もし上述の再描画制御スクリプトが制御スクリプトに記述されていなければ、オブジェクト(円331)に変更が発生した場合、テレビ1は、当該変更対象のオブジェクトの外接矩形(図33(c)の破線枠内網掛けの領域334)を再描画領域として特定する。そして、再描画領域にオブジェクト(雲332やふきだし333)が部分的に含まれる場合は、クリッピング処理(当該オブジェクトにおける再描画領域に含まれる部分の切り出し)を行う。このクリッピング領域(図33(c)の黒塗りの部分)の計算は、上記オブジェクトの形状が複雑であればあるほど、テレビ1にとって負荷の高い処理となる。
本実施形態では、テレビ1は、円331に変更が発生した場合、上述の再描画制御スクリプトがあらかじめ定義する矩形領域(図33(c)の一点鎖線枠内斜線の領域335)を再描画領域として特定する。このため、再描画領域には、オブジェクト(雲332やふきだし333)の全体が含まれる(あるいは、全体が含まれない)のでクリッピング処理を行う必要がなくなる。結果として、テレビ1における再描画処理の効率を上げることが可能となる。
このように、再描画領域定義スクリプトの再描画領域は、オブジェクトのクリッピング処理を回避するために、オブジェクトを部分的に含むことがないように定義されることが望ましい。
表示用データ(制御スクリプトと表示対象物とからなる)を生成する表示用データ生成装置2は、制御スクリプトに記述されているすべてのオブジェクト(図形、写真、操作メニュー、テキストデータなど)について、再描画領域が、オブジェクト全体を含むか、あるいは、オブジェクトを全く含まないように、(オブジェクトの一部だけを含むことにならないように)再描画領域を決定し、再描画領域指定スクリプトを生成する。すなわち、表示用データ生成装置2は、テレビ1に要求された表示画面(表示用データ)の内容(オブジェクトの位置)に応じて、必要最小限の最適な再描画領域を計算して、そのような再描画領域を指定する制御スクリプトをテレビ1に提供する。
以下、上述の再描画制御スクリプトにしたがって、再描画を行うためのテレビ1の構成についてより詳細に説明する。
〔テレビの構成2−詳細〕
図34は、本実施形態に係るテレビ1の要部構成を示すブロック図である。図34は、実施形態1の図9と同様、図1に示すテレビ1の表示用データ実行処理部40をより詳細に示す図である。
図34に示すテレビ1において、図9と異なる点は、制御スクリプト実行部41が、制御スクリプト解析部140、写真回転制御部143に加えて、変更検知部144、再描画領域特定部145、クリッピング部146、および、描画部147を備えており、記憶部50が、再描画領域情報記憶部55を備えている点である。
なお、ここでは図示しないが、制御スクリプト実行部41は、すでに説明した、スライドショー実行制御部141、操作メニュー制御部142を備えていてもよい。
また、テレビ1は、上述したとおり、RAMなどの揮発性記憶装置にて構成される一時記憶部18およびフレームバッファ19を有している。
一時記憶部18は、表示用データ記憶部51から取り出された、表示用データ実行処理部40の各部が処理する表示用データを、一時的に保存するものである。
フレームバッファ19は、表示用データ実行処理部40の各部の処理が終了し生成された、表示部15に表示すべき1画面分の表示画面のデータを、一時的に保存するものである。フレームバッファ19に保存された表示画面のデータは、表示制御部24によって表示部15に描画され、ユーザに目視可能に表示される。
制御スクリプト解析部140は、上述したとおり、制御スクリプトを解析するものである。以下、制御スクリプト解析部140の機能をさらに詳細に説明する。
(DOMツリーについて)
本実施形態では、より詳細には、制御スクリプト解析部140は、XML文書である制御スクリプトを、DOM(Document Object Model)ツリーと呼ばれるツリー構造に展開する機能を備えている。DOMツリーは、XML文書の論理的構造を定義するものである。制御スクリプトをDOMツリーに展開することで、タグで記述されたオブジェクトごとに制御スクリプト内のデータを扱えるようになるほか、オブジェクト間の関係を識別できるようになる。DOMツリーには、制御スクリプトの記述順に関係なく、所望のオブジェクトにアクセスすることができるというメリットがある。
例えば、図32に示す制御スクリプトは、図35に示すDOMツリーのように展開される。制御スクリプト解析部140が出力したこのようなDOMツリーは、上述したテレビ1の一時記憶部18上に展開され、表示用データ実行処理部40の各部によって、必要に応じて読み出される。
変更検知部144は、制御スクリプトに記述される、変更処理を規定するスクリプト(例えば、再描画領域変更スクリプト113bの変更関数など)を検知して、オブジェクトごとの再描画処理の必要性を判定するものである。
変更検知部144は、表示中のオブジェクトを変更する処理を記述した変更処理スクリプトを検知し、オブジェクトの再描画が必要であると判定すると、DOMツリー上の該当オブジェクトに変更フラグを立てる。変更フラグ立っていることは、当該オブジェクトに再描画処理が必要であることを示す。
図32および図35に示す制御スクリプトでは、変更検知部144は、ID=‘updatearea’で識別される矩形(あらかじめ再描画領域として定義された図11(c)の斜線部)と、ID=‘circle’で識別される円(図11(a)の円331)とを、再描画が必要なオブジェクトとして検知する。したがって、変更検知部144は、図34において、矩形オブジェクト「rect」と、円オブジェクト「circle」とに対して、変更フラグ341を立てる。
変更検知部144が検知するのは、上述の変更関数に限定されない、例えば、アニメーションのオブジェクトであることを検知してもよい。オブジェクトに変更が加わることで、再描画が必要であるオブジェクトをただしく検知できるのであれば、どのような条件で変更対象のオブジェクトを検知してもよい。
再描画領域特定部145は、変更検知部144が変更フラグを立てたオブジェクトの情報を一時記憶部18から取得して、再描画領域を特定するものである。
具体的には、再描画領域特定部145は、一時記憶部18に記憶されるDOMツリー(図35)を走査して、変更フラグ341が立っているすべてのオブジェクトの再描画領域を取得する。再描画領域特定部145が取得した各再描画領域をリストにしたものを再描画領域リストと称する。再描画領域特定部145は再描画領域リストを生成し、再描画領域情報記憶部55に記憶する。なお、オブジェクトが、円やその他複雑な形状を有している場合は、当該オブジェクトをすべて含む外接矩形の領域を算出し、算出した矩形を当該オブジェクトの再描画領域としてリストに追加する。
再描画領域特定部145は、DOMツリーに基づいてすべての再描画領域をリストに追加すると、リストアップされた全ての再描画領域を走査して、重なる領域があれば1つにマージする。つまり、重なるすべての再描画領域の外接矩形を算出する。
図36(a)は、再描画領域情報記憶部55に記憶される再描画領域リストの例を示す図である。図32・図35に示す制御スクリプトに基づき再描画領域特定部145が生成した再描画領域リストの例を示す。
再描画領域リストは、1つの表示画面を構成する1つの制御スクリプトごとに生成される。図32・図35に示す例では、矩形オブジェクト「rect」と、円オブジェクト「circle」とに対して、変更フラグ341が立てられたので、この2つのオブジェクトの再描画領域がリストに追加されている。再描画領域リストには、図32・図35の制御スクリプトを識別するための制御スクリプトIDと、当該制御スクリプト内のオブジェクトを識別するためのオブジェクトIDとに対応付けて、当該オブジェクトの再描画領域の情報(矩形の始点であるX・Y座標、幅、高さ)が記憶されている。
再描画領域特定部145は、変更フラグが立っているすべてのオブジェクトの再描画領域をリストアップすると、次に、重なり合う各再描画領域のマージを実行する。そして、最終的に1つの再描画領域(重ならない場合は複数も可)を確定させて、それを確定再描画領域として特定する。
図36(b)は、再描画領域情報記憶部55に記憶される確定再描画領域情報の例を示す図である。図36(a)の各再描画領域がマージされた場合の例を示す。図36(a)の例でリストアップされた再描画領域は、図33(c)に示すとおり重なり合っているので、図33(c)における、円331の外接矩形領域334と、再描画制御スクリプトがあらかじめ定義する矩形領域335とがマージされ、1つの確定再描画領域が算出される。なお、確定再描画領域は、1つの制御スクリプトにつき、複数算出されることもあるので、再描画領域IDによって、その各々を管理できるようにする。
このように、再描画領域特定部145が出力した確定再描画領域は、当該確定再描画領域に対して再描画の処理を実行する描画部147に供給される。
描画部147は、再描画領域特定部145が特定した確定再描画領域の再描画を行うものである。クリッピング部146は、クリッピング処理を行うものである。
具体的には、まず、描画部147は、確定再描画領域内の変更対象オブジェクト(変更フラグ341が立っているオブジェクト)に関して、変更処理の結果を反映し、一時記憶部18に書き込む。
次に、描画部147は、DOMツリーを走査して、上記確定再描画領域内に一部でも含まれる変更対象以外のオブジェクトがあれば、そのオブジェクトを定義するスクリプトを取得する。確定再描画領域に含まれているかぎり、変更がないオブジェクトも再描画を行わなければ、変更後の情報を正しく表示することができないためである。ここで、上記オブジェクト全体が確定再描画領域に含まれる場合は、取得したスクリプトに基づいて上記オブジェクトを一時記憶部18に書き込む。
一方、取得したオブジェクトが部分的に確定再描画領域に含まれている場合は、クリッピング部146が、当該オブジェクトのうち、確定再描画領域に含まれている部分を算出して、それをクリッピング領域として描画部147に返す。描画部147は、クリッピング部146から取得したクリッピング領域を一時記憶部18に書き込む。
なお、再描画制御スクリプトが指定する再描画領域は、上述したように、オブジェクト(特に複雑な形状のもの)を部分的に含むことがないように、表示用データの内容に応じて、表示用データ生成装置2が定義することができる。それゆえ、テレビ1が算出した確定再描画領域が複雑な形状を含んでいることはなくなり、負荷の高いクリッピング処理を回避することができる。
これにより、確定再描画領域内の再描画が必要なすべてのオブジェクトが一時記憶部18に書き出される。最後に、描画部147は、一時記憶部18に書き出した変更処理後の確定再描画領域のデータを、フレームバッファ19に描画して、フレームバッファ19に保存されている、該当確定再描画領域内の変更処理前のデータを更新する。そして、確定再描画領域についての再描画が完了し、変更後の新しい情報が表示部15に表示される。
上記構成によれば、テレビ1が再描画領域を指定する再描画制御スクリプトを含む表示用データを受信すると、まず、表示用データの制御スクリプトにしたがって、初期の表示画面が表示される。その後、変更検知部144が、表示済みの情報に変更が生じたことを検知すると、再描画領域特定部145が、制御スクリプトに含まれる再描画制御スクリプトにしたがって、確定再描画領域を特定する。描画部147は、再描画領域特定部145が特定して確定再描画領域内を再描画して、変更が反映された新たな表示画面を表示する。
ここで、上記再描画制御スクリプトが指定する再描画領域は、複雑な処理が不要で、かつ、必要最小限の再描画領域として、表示用データの内容に応じてあらかじめ定義されたものである。つまり、そのような再描画制御スクリプトにしたがってテレビ1が特定した確定再描画領域は、オブジェクトを部分的に含むことがない。これにより、オブジェクトのクリッピング処理を回避しつつ、必要最小限の領域のみ再描画を行うだけでよくなり、結果として、再描画処理を効率よく実行することが可能となる。
また、再描画領域の指定を制御スクリプトにより実現しているので、表示用データの内容に合わせて、常に最適な再描画領域をテレビ1に特定させることができ、テレビ1は、クリッピング処理の負荷を回避して常に効率よく再描画処理を行うことができる。
〔再描画処理フロー〕
図37は、テレビ1における再描画処理の流れを示すフローチャートである。再描画処理は、表示用データの制御スクリプトが制御スクリプト実行部41(図34)によって解析され(DOMツリーに展開され)、実行されて、初期画面が描画された後、所定のイベントがイベント処理部11によって検知されたとき、制御スクリプト実行部41の各部によって実行される。
再描画処理は、大きくは3つのステップからなっている。すなわち、変更検知部144が、再描画領域変更スクリプトから、再描画の必要性を判定するステップと、再描画領域特定部145が、再描画領域定義スクリプトから、再描画領域を特定するステップと、描画部147が特定された再描画領域を再描画するステップである。
以下、各ステップの詳細について説明する。
初期画面表示中に、イベント処理部11が所定のイベントを検知すると(S301においてYES)、制御スクリプト実行部41は、イベント処理部11は、現在展開されているDOMツリー(制御スクリプト)にしたがって、当該表示用データの処理を実行する(S302)。変更検知部144は、実行中の制御スクリプトの中に、変更関数(またはアニメーションのオブジェクト)などの再描画領域変更スクリプトを検知すると(S303においてYES)、検知した変更対象オブジェクトに変更フラグを立てる(S304)。このとき、検知した変更対象オブジェクトは、ひとつであっても複数あってもよい。
次に、再描画領域特定部145は、変更検知部144が検知した変更対象オブジェクトに基づいて、オブジェクトごとの再描画領域リストを生成する。
まず、再描画領域特定部145は、一時記憶部18に展開されている上述の制御スクリプトのDOMツリーを走査して、オブジェクトを順に取得する(S305)。そして、取得したオブジェクトに変更フラグが立っている場合は(S306においてYES)、当該変更対象オブジェクトの再描画領域を算出し、再描画領域リストに追加する(S307)。ここで、オブジェクトの領域が矩形で定義されていれば、それをそのままリストアップし、矩形以外の形状で定義されていれば、当該オブジェクトの外接矩形を算出してそれをリストアップする。S305〜S307の処理を、DOMツリー上のオブジェクトすべてに対し、実行する。
そして、最後に再描画領域特定部145は、再描画領域リストに追加した各再描画領域を走査し、重なり合う再描画領域があればそれをマージして、最終的な確定再描画領域を描画部147に出力する(S308)。
次に、描画部147は、特定された確定再描画領域内に含まれる全オブジェクトを一時記憶部18に書き込み、フレームバッファ19に描画するための表示用のデータを用意する。
まず、描画部147は、一時記憶部18に展開されているDOMツリーを走査して、オブジェクトを順に取得する(S309)。取得したオブジェクトが一部でも上記確定再描画領域に重なるか否かを判定する(S310)。そして、オブジェクトが確定再描画領域に重なると判定した場合は(S310においてYES)、次に、取得したオブジェクトが、変更フラグを持つ変更対象オブジェクトであるか否かを判定する(S311)。
描画部147は、オブジェクトが変更対象オブジェクトであると判定した場合は(S311においてYES)、制御スクリプト実行部41の各部が変更スクリプトにしたがって、変更対象オブジェクトに対し変更処理を実行する(S312)。そして、その変更処理によって得られた変更後のオブジェクトを、一時記憶部18の所定の領域に書き出す(S313)。
一方、S311において、取得したオブジェクトが変更対象オブジェクトでないと判定した場合は(NO)、次に、描画部147は、当該オブジェクトの確定再描画領域に重なっている部分が、一部分のみであるのか全体であるのかを判定する(S314)。ここで、取得したオブジェクト全体が確定再描画領域に重なっていると判定した場合は(S314においてNO)、取得したオブジェクトをそのまま一時記憶部18の所定の領域に書き出す(S315)。一方、取得したオブジェクトが部分的に確定再描画領域に重なっていると判定した場合は(S314においてYES)、クリッピング部146が、当該オブジェクトの、上記確定再描画領域が重なっている部分(クリッピング領域)を算出する(S316)。そして、描画部147は、取得したオブジェクトの上記クリッピング領域を、一時記憶部18の所定の領域に書き出す(S317)。S309〜S317の処理を、DOMツリー上のオブジェクトすべてに対し、実行する。
最後に、描画部147は、書き出し終えた、変更後の確定再描画領域のデータを一時記憶部18からフレームバッファ19の確定再描画領域へ再描画する(S318)。そして、確定再描画領域についての再描画が完了し、変更後の新しい情報が表示部15に表示される。
上述したとおり、上記再描画領域定義スクリプトが指定する再描画領域は、複雑な処理が不要で、かつ、必要最小限の再描画領域として、表示用データの内容に応じてあらかじめ定義されたものである。つまり、そのようなスクリプトにしたがって再描画領域特定部145が特定した確定再描画領域は、複雑な形状のオブジェクトを部分的に含むことがない。これにより、複雑な形状のオブジェクトのクリッピング処理を回避しつつ、必要最小限の領域のみ再描画を行うことができる。結果として、再描画処理を効率よく実行することが可能となる。
また、再描画領域の指定を制御スクリプトにより実現しているので、表示用データの内容に合わせて、常に最適な再描画領域をテレビ1に特定させることができ、テレビ1は、クリッピング処理の負荷を回避して常に効率よく再描画処理を行うことができる。
上述のように、あらかじめ表示画面上の再描画領域を制御スクリプトで指定しておくことは、たくさんの複雑な形状のオブジェクトを含む表示画面、イベントに応じてたくさん変更の処理が生じる表示画面に対して特に効果が大きい。
以下、図38(a)〜(i)の表示画面の例を用いて、複雑な形状のオブジェクトのクリッピング処理を回避しつつ、必要最小限の領域のみ再描画を行うことができるように指定された、再描画領域の具体例を説明する。テレビ1は、図38(i)にて指定される再描画領域(再描画領域定義スクリプト)にしたがって確定再描画領域を特定すれば、変更が必要なオブジェクトごとに算出した再描画領域によって確定再描画領域を特定する場合と比べて、クリッピング処理の負荷がかからない、より効率のよい再描画処理を行うことが可能となる。
図38(a)〜(d)は、表示部15に表示される、複雑な形状のオブジェクトを含む表示画面の具体例を示す図である。また、図38(a)〜(d)の各表示画面間に生じる変更と、そのきっかけとなるイベントとの対応関係を矢印とともに記す。
図38(e)〜(h)は、それぞれ、(a)→(b)、(b)→(c)、(a)→(c)、(b)→(d)と表示画面に変更が生じた場合に、特定される確定再描画領域を、図示したものである。ここで、図38(e)〜(h)にて、図示された確定再描画領域とは、再描画領域定義スクリプトがない場合に、変更が必要なオブジェクトごとに算出した再描画領域によって特定された確定再描画領域を示している。
図38(i)は、再描画領域定義スクリプトにしたがって特定された確定再描画領域を示している。
図38(a)は、その日の一定時間ごとの天気(4つ)と、その時々の気温・降水確率の予報とを表示するための表示画面で、最初に表示用データが処理されて表示された初期画面を表している。カーソル381は、その日の4つの時点の天気予報を示す、4つの天気予報アイコン382のうち、当該初期画面が表示された時点から、未来に向かって最も近い時点の天気予報アイコンにフォーカスされる。背景雲(複雑な形状のオブジェクト)383は、表示画面のデザインで、どの画面においても、天気予報の各種情報(全オブジェクト)より背面に常に配置される。なお、各天気予報アイコン382内の各天気マーク384も、クリッピング処理に負荷がかかる複雑な形状のオブジェクトである。
図38(a)表示中に、操作部13に設けられた黄色ボタンが押下されると、図38(a)から図38(b)の表示画面に変わる。すなわち、12時の詳細情報ふきだし385が表示される。したがって、図38(e)に示すとおり、詳細情報ふきだし384の外接矩形である領域380eが確定再描画領域として特定される。
図38(a)表示中に、操作部13に設けられた右十字ボタンが押下されると、図38(c)の表示画面に変わる。すなわち、12時の天気予報アイコン382から、18時の天気予報アイコン382へ、カーソル381が移動する。したがって、図38(g)に示すとおり、上述の2つの天気予報アイコン382の外接矩形である領域380gが確定再描画領域として特定される。
同様に、再描画領域定義スクリプトがない場合は、変更が生じた各オブジェクトの外接矩形が確定再描画領域に特定されるため、各確定再描画領域(領域380e〜380h)は、いずれの表示画面においても、背景雲383や天気マーク384などの複雑な形状のオブジェクトを部分的に含むことになり、結果として、負荷の高いクリッピング処理を実行せざるを得ない。
そこで、図38(i)に示すように、複雑な形状のオブジェクトを、全体を含むかあるいは、全く含まないかのいずれかになるように、かつ、必要最小限の領域に抑えて再描画領域を再描画領域定義スクリプトにて指定する。これにより、テレビ1は、上記再描画領域定義スクリプトにしたがって、領域380iに示すとおり、複雑な形状のオブジェクトを部分的に含んでいない、最適な確定再描画領域を特定することが可能となる。
結果として、クリッピング処理を回避して、効率よく再描画処理を実行することが可能となる。
〔変形例3−写真回転時の再描画処理〕
上述の例では、複雑な形状のオブジェクトを部分的に含まないように再描画領域を指定した制御スクリプトにしたがうことにより、クリッピング処理を回避して、効率よく再描画処理を実行するテレビ1について説明した。
しかし、制御スクリプトは上述の例に限定されない。所定の表示位置に配置されるオブジェクトが、形状の複雑さに関係なく、また、そのオブジェクトが変更対象オブジェクトであるか否かに関わらず、常に、再描画処理の対象となるように、制御スクリプトで再描画領域を指定することも可能である。
このように、オブジェクトの表示領域に応じて再描画領域を指定することが必要な状況としては、具体的には以下のような状況が考えられる。
表示画面を変更する場合、ハードウェアの制約、つまり、一時記憶部18の記憶容量が極端に制限されることによって、実際に表示部15に出力する表示画面のデータを保存するために確保された領域(以下、ARGB領域と称する)を、変更処理の過程で生じるデータを一時的に保存するために使用せざるを得ない状況が発生する。
このような状況では、表示部15に出力する表示画面のデータを上記ARGB領域に描画する前に、当該ARGB領域において変更処理の過程で用いた領域(汚した領域)をクリアにしなければならない。
しかし、汚した領域をクリアにするだけでは十分ではなく、その領域に変更前から元々オブジェクトが配置されていた場合には、そのようなオブジェクトについても(それが変更対象オブジェクトでなくても)再描画して復元する必要がある。したがって、上述のように、変更処理に巻き込まれたオブジェクト(変更処理の過程で汚した領域に重なるオブジェクト)もきちんと再描画されるよう、再描画領域を指定する必要がある。
以下、変更処理(図37のS312)が、写真回転処理(図10のS115)である場合を例にとり、オブジェクトの表示領域と写真回転処理の過程で汚れる(と推測される)領域とに応じて、再描画領域を指定した制御スクリプトにしたがい再描画処理を実行するテレビ1について説明する。
〔写真を回転するときの課題〕
(一時記憶部の構成)
図39は、写真回転処理を実行するテレビ1(特に、一時記憶部18)の要部構成を示すブロック図である。実施形態1で説明したとおり、写真の回転・表示処理は、写真回転制御部143が制御スクリプトにしたがって実行する。より詳しくは、写真回転制御部143は、一時記憶部18を作業領域として用いて、回転する対象となる写真を、表示用データ記憶部51から取得し、取得した写真を回転させ、回転後の写真をフレームバッファ19に送り、回転後の写真を表示部15に表示することを実現している。
写真回転制御部143が、作業領域として利用する一時記憶部18は、ARGB領域181と、予備領域182と、YUV領域183とを有する。上記3つの領域は、一時記憶部18において、ハードウェアで固定されている。
YUV領域183は、YUV形式で受信し表示用データ記憶部51に記憶されているJPGの写真を、一時的に保存するための領域である。
ARGB領域181および予備領域182は、YUV領域183に保存されているYUV形式のJPG写真をARGB形式に変換したものを一時的に保存するための領域である。
ARGB領域181は、実際に表示部15に出力する表示画面のデータを保存するための領域である。フレームバッファ19へ出力される表示画面のデータは、必ずARGB領域181から供給される。予備領域182は、ARGB形式に変換された後の写真に対して、制御スクリプト実行部41が回転などの変更処理を実行する際に作業領域として用いる予備の領域である。
なお、YUV形式とは、輝度信号(Y)、輝度信号と青色成分との差(U)、および、輝度信号と赤色成分との差(V)の3つの情報で色を表す形式のことである。輝度情報に、より多くのデータ量を割り当てるので、少ない画質の劣化で高いデータ圧縮率を得ることができるという点に、YUV形式を採用するメリットがある。
そのため、表示用データ生成装置2から表示用データに含めて提供される場合には、写真は常にYUV形式になっている。そこで、表示部15に表示するにはRGB形式(ARGB形式に)に変換する必要があるので、写真は、制御スクリプト実行部41によって、YUV領域183に展開されたのち、ARGB形式に変換されてARGB領域181または予備領域182に展開されてからフレームバッファ19に送られる。
(写真回転時のARGB領域と予備領域の状態)
次に、制御スクリプトに含まれる再描画領域定義スクリプトによって、適切な再描画領域が指定されていない場合に、写真回転制御部143が写真を回転させるときの、ARGB領域181および予備領域182の状態と、この場合の課題について、図40に基づき以下に説明する。
図40(a)は、初期描画時のARGB領域181および予備領域182の状態である。ARGB領域181には、現在表示部15に表示されている表示画面のデータ(円オブジェクト190、縦長写真185、背景)が保存されている。予備領域182には何も保存されていない。あるいは、別の作業の過程で何らかのデータが残っている可能性もある。
ここで、縦長写真185を90度回転する指示が入力されると写真回転制御部143は、写真回転処理を実行する。そのために、まず、図40(b)に示すとおり、ARGB領域181にARGB形式に変換されている縦長写真185を呼び出しARGB領域181に一時的に保存する。次に、図40(c)に示すとおり、一時的に保存した縦長写真185を90度回転させた写真を横長写真186として、予備領域182に一時的に保存する。その後、図40(d)に示すとおり、ARGB領域181の汚れる(すなわち、回転処理過程で一時的に用いた)領域188をクリアにする。その後、写真回転制御部143は、再描画領域を特定して、変更後(回転後)の表示画面を再描画していく。
このとき、再描画領域定義スクリプトが特に指定されていない場合、上述したフローにしたがって、テレビ1は、図40(g)に示すとおり、写真の回転前(縦長写真185)の領域と、回転後(横長写真186)の領域とを再描画領域として特定し、それらの各領域の外接矩形を確定再描画領域として特定する(確定再描画領域184)。
確定再描画領域184が特定されると、図40(e)に示すとおり、写真回転制御部143は、予備領域182に一時的に保存しておいた横長写真186を、ARGB領域181に書き出す。そして、写真回転制御部143は、上述のとおり特定した確定再描画領域184に部分的に重なる円オブジェクト190を検知する。そして、図40(f)に示すとおり、クリッピング部146が再描画すべきであると切り出した、円オブジェクト190のクリッピング領域187がARGB領域181に書き込まれる。このARGB領域181に保存された表示画面のデータがフレームバッファ19に出力され、表示部15にて表示される。
このように、再描画領域定義スクリプトにて、上記円オブジェクト190全体を含むよう再描画領域を指定しておかなければ、本来、図40(h)に示すとおり、横長写真186と円オブジェクト190とが表示されなければならないのに、上記円オブジェクト190の左側が復元されずに表示され、写真回転処理が正しく行えないという問題が生じる。
上記問題を解決するために、テレビ1に供給する制御スクリプトを変更する必要がある。具体的には、図40(d)に示す、汚れる領域188のように、所定の処理によってあらかじめ汚れると分かる領域に基づいて、その汚れる領域に重なるすべてのオブジェクトを丸ごと含むような再描画領域を、再描画領域定義スクリプトで指定すればよい。
なお、本実施形態では、呼び出した写真はかならず左上から描画されるため、汚れる領域188は、始点座標(X、Y)=(0、0)と写真の大きさとから特定可能である。すなち、領域189を再描画領域として指定する制御スクリプトをテレビ1に供給する。
図41は、円オブジェクト190と写真回転処理の過程で用いる領域189とに応じて、再描画領域を指定した制御スクリプトの例を示す図である。再描画領域定義スクリプト112cは、領域189を再描画領域として指定するスクリプトであり、再描画領域変更スクリプト113cは、上記指定した再描画領域を変更対象オブジェクトとして変更検知部144に認識させるためのスクリプトである。
〔写真回転処理フロー〕
図42は、図37のS312における変更処理として、写真回転制御部143が実行する、写真回転処理の流れを示すフローチャートである。なお、再描画領域特定部145は、図37のS308において、図40(i)の領域189を確定再描画領域として特定したものとする。また、図37のS311において、変更対象オブジェクトとして判断されたオブジェクトを、以下回転対象写真と称する。
写真回転制御部143は、回転対象写真の回転後のデータが予備領域182に保存されているか否かを判定し(S401)、保存されていない場合は(S401においてNO)、次に、YUV領域183に上記回転対象写真が保存されているか否かを判定する(S402)。写真回転制御部143は、YUV領域183にYUV形式の回転対象写真が保存されていると判定した場合には(S402においてYES)、保存されている回転対象写真を、YUV形式からARGB形式に変換し、ARGB領域181に展開する(S404)。一方、YUV領域183に回転対象写真が保存されていないと判定した場合には(S402においてNO)、写真回転制御部143は、表示用データ記憶部51に記憶されている回転対象写真をYUV領域183に書き込んでから(S403)、S404のステップを実行する。
次に、写真回転制御部143は、ARGB領域181に保存されている回転対象写真を、制御スクリプトで定められた分だけ回転させた回転後の写真を、予備領域182に描画して(S405)、S401の判定に戻る。
S401において、回転対象写真の回転後のデータが予備領域182に保存されていると判定した場合には(YES)、写真回転制御部143は、ARGB領域181において、再描画領域特定部145が特定した確定再描画領域をクリアにする(S406)。
最後に、写真回転制御部143は、予備領域182に一時的に保存しておいた回転後の回転対象写真をARGB領域181に書き込んで(S407)、写真回転処理を終了する。
その後、図37ですでに述べたとおり、回転対象写真以外で、確定再描画領域に含まれるその他のオブジェクト(図40(a)〜(i)の例では、円オブジェクト190)があれば、それをARGB領域181に書き込み、ARGB領域181において更新された確定再描画領域をフレームバッファ19に出力する。
以上のように、表示画面のデータを保存すべき一時記憶領域(ARGB領域181)を、変更処理の過程で使わざるを得ない状況であっても、変更処理によってあらかじめ汚れると分かっている領域、および、当該汚れる領域に重なるオブジェクトを全部含むような再描画領域を指定した最適な制御スクリプトを、表示用データの内容に応じて生成し、テレビ1に提供すればよい。
テレビ1は、上記制御スクリプトが指定する再描画領域にしたがって、変更対象オブジェクト以外のオブジェクトであっても、再描画が必要なオブジェクトを正しく特定し再描画を行うことができる。
以上のことから、一時記憶部18の記憶容量が極端に制限される場合でも、容量の大きいデジタル画像データに変更処理を施して、表示することができるテレビ1を実現することが可能となる。
なお、上述の説明では、写真のフォーマットがJPGの場合を想定して説明しているが、テレビ1が表示可能なフォーマットは、JPGに限定されず、ビットマップやPNGなどの様々なフォーマットの写真・画像を表示してもよい。また、フォーマットによって回転処理が適用可能か否かが異なる場合は、回転対象写真のフォーマットを判定し、回転処理が可能なフォーマットの写真のみ写真回転処理を実行するよう写真回転制御部143を構成すればよい。
〔変形例4−プレロード時の再描画処理〕
上述の例では、表示用データの内容(変更処理によって汚れる領域や変更処理に巻き込まれるオブジェクト)に応じて、再描画すべき領域を部分的に指定する例について述べた。しかし、再描画領域を指定する再描画領域定義スクリプトはこれに限定されず、必要に応じて、全画面を再描画領域として指定する再描画領域定義スクリプトをテレビ1に提供することもできる。
上述したとおり、テレビ1は、表示用データ(第1表示用データ)を取得すると、第1表示用データに含まれる第1制御スクリプトをDOMツリーに展開し、一時記憶部18に書き込む(プレロード)。そして、初回当該表示用データを表示する際は、以前の描画データが存在しないので、再描画領域は関係なく、全画面が描画される。
これ以降、第1表示画面に変更が生じる場合は、上述の構成および方法によって、前回の描画データとの差分である確定再描画領域のみが再描画される。
しかし、別の表示画面、すなわち、第2表示用データの第2制御スクリプトにしたがって、上記と異なる第2表示画面が表示される場合でも、上記第1制御スクリプトのDOMツリーは、一時記憶部18に記憶されたままであるという状況がテレビ1において発生する。
このような状況下では、プレロード済みの第1表示用データが一度表示されてから、第2表示用データが表示され、再び第1表示用データが表示される場合に、再描画領域はないと判断されてしまうことがある。それは、上記第1表示用データの第1制御スクリプトに、変更検知部144が検知する変更スクリプト(アニメーションのオブジェクトや変更関数など)が含まれていない場合に想定される。あるいは、そのような変更スクリプトが第1制御スクリプトに存在しても、全画面中の一部しか再描画領域として特定されないことが想定される。
上述のように、再描画領域がないと判断されたり、一部だけが再描画領域と判断されたりしてしまうと、第2表示画面から第1表示画面に戻るためのイベントが検知されたにもかかわらず、第2表示画面から第1表示画面に表示画面が遷移しない、あるいは、表示画面の一部だけが第1表示画面に戻るなど、表示画面の遷移が正しく行えないという不都合が生じる。
このような場合には、全画面が第2表示画面から第1表示画面に戻るように、再描画領域を全画面に指定する必要がある。
そこで、これまで表示していた表示画面と異なる表示画面の表示用データを処理するときには、再描画領域を全画面とする再描画領域定義スクリプトを各制御スクリプトに含めて、テレビ1に提供する。
これにより、テレビ1において、現在表示中の第2表示画面からかつて表示したことのある第1表示画面に戻ることを指示する信号の入力をイベント処理部11が検知した場合には、制御スクリプト実行部41は、第1表示画面を表示するための第1制御スクリプトにしたがって、全画面を確定再描画領域として特定し、第1表示画面の全画面を再描画する。したがって、異なる表示画面から元の表示画面に戻る場合でも、画面の遷移を正しく行うことが可能となる。
以上のように、表示用データの内容に合わせて、制御スクリプトに再描画制御スクリプトを記述し、テレビ1に提供することにより、表示用データ作成者(表示用データ生成装置2)が意図する再描画領域を指定することができる。制御スクリプトに記述することによって、常に更新したい領域を指定したり、常に更新したくない領域を指定からはずしたりすることができる。
なお、変更検知部144が変更対象として検知したアニメーションオブジェクトに対して、当該オブジェクトが動くことによって必要となる再描画領域を、当該オブジェクトの外接矩形として、テレビ1が特定できるように制御スクリプトが記述されていてもよい。
また、再描画領域の形状は、矩形のみに限定されない。複雑なクリッピング処理が不要な単純図形であれば何でもよい。例えば、フレームのように中抜きの矩形、円形、または、楕円形などの形状を有する再描画領域が制御スクリプトに定義されていてもよい。
《実施形態3》
上述の実施形態1の説明では、表示用データの内容に応じて制御スクリプトを生成し、表示すべき操作メニューを適宜変更すること、および、操作メニューに対応したフォトアプリ機能をテレビ1に提供することについて説明した。
制御スクリプトがテレビ1に提供する各フォトアプリ機能は、例えば、制御スクリプトに含まれる、図12のスクリプト132a〜132dなどの操作機能定義スクリプトに記述されている。操作機能定義スクリプトには、いつ(イベントの定義)、どうするか(実行すべき機能の定義)が記述されている。実施形態1で述べたように、上記実行すべき機能の定義の部分を表示用データの内容に応じて、変更することによりテレビ1のフォトアプリ機能を柔軟に変更することができる。
そして、図12に示すとおり、実行すべき機能の定義の部分は、その機能をテレビ1が実行するトリガとなるイベントの定義と対応付けられている。これらのイベントは、多くの場合、操作部13に設けられた各種ボタンがユーザによって押下されることによりイベント処理部11によって検知される。例えば、スクリプト132aには、
if(evt.data==‘y’)
と記述されているので、スクリプト132aが定義する操作メニュー表示/非表示の機能は、操作部13の黄色ボタン(‘y’は、黄色ボタンにより入力される信号を示す)の押下に応じて実行されることを示している。つまり、黄色ボタン(イベント)と操作メニュー表示/非表示の機能とが対応付けられている。
本実施形態では、操作機能定義スクリプトにおける、操作部13のボタン(イベント)と機能との組み合わせを適切に設定することにより、操作部13に操作されるテレビ1の動作を制御する場合について説明する。これにより、同一ボタンに対して、表示用データごとに異なる機能を割り当てたり、また、同一機能を、表示用データごとに異なるボタンに割り当てたりすることが可能となる。
制御スクリプトを生成する表示用データ生成装置2において、これらのボタンと機能との組み合わせは、制御スクリプト生成時に表示用データの内容に応じて最適なものが選択される。つまり、テレビ1にどの表示用データを表示させる場合でも、常に、ユーザの操作性を考慮して操作機能定義スクリプトが生成されるので、テレビ1に対するユーザの操作性を維持することが可能となる。
また、表示用データ生成装置2は、テレビ1からの要求に応じて、上記ボタンと機能との組み合わせを変更して、操作機能定義スクリプトを生成してもよい。例えば、これまで、ある機能を黄色ボタンに応じて実行していたものを、決定ボタンに応じて実行できるように、テレビ1が指示を表示用データ生成装置2に送るようにする(ユーザが、テレビ1に対してそのように操作してもよい)。表示用データ生成装置2は、その指示に基づき、上記機能を黄色ボタンではなく決定ボタンに対応付けて操作機能定義スクリプトを生成することができる。
図43は、操作機能定義スクリプトの一例を示す図である。スクリプト431には、「(操作部13の)決定ボタンが押下されたとき」というイベントが定義されている。‘k’は、決定ボタンにより入力される信号を示す。
また、スクリプト431以降には、決定ボタンが押下されたときにテレビ1の制御スクリプト実行部41が実行すべき機能が定義されている。ここでは一例として、テレビ1が図11(b)の表示画面を表示中の状態で決定ボタンの押下を検知した場合に、操作メニュー制御部142が、図11(c)の表示画面、すなわち、サブ操作メニュー1106を表示する機能が定義されている。
ここで、図43に示す操作機能定義スクリプトのスクリプト431を、
if(evt.data==‘d’)
に変更したものを、表示用データ生成装置2がテレビ1に提供したとする。この場合は、テレビ1は、決定ボタンではなく、右十字ボタンが押下されたときに、サブ操作メニュー1106を表示する。‘d’は、右十字ボタンにより入力される信号を示す。
以上のように、操作機能定義スクリプトにおいて、ボタンと機能との組み合わせを変える、すなわち、イベントの定義を変更することにより、同一機能を異なるボタンの入力で実行するようテレビ1を制御することができる。
なお、テレビ1は、状態遷移定義スクリプトにしたがって、押下されたボタンに応じて、現在表示中の表示画面とは別の表示画面を表示する(画面遷移する)ことができる。状態遷移定義スクリプトには、イベント発生時に、どの表示画面に遷移するかを定めた遷移先情報が記述されている。そこで、状態遷移定義スクリプトにおいて、例えば以下のとおり、ボタンと遷移先情報との組み合わせを変更してもよい。
図44(a)、(b)は、決定ボタンが押下されたときの表示画面の遷移を示す図である。
図44(a)に示すとおり、テレビ1は、アルバム履歴画面440a表示中に、決定ボタンが押下されたのを検知すると、スライドショー表示画面440b(最初はアルバムのタイトル画面)を取得して表示する。アルバム履歴画面440aの操作方法画面1103において、決定ボタンでスライドショー表示画面440b(タイトル画面)に遷移することを説明する表示を行ってもよい。
この場合、状態遷移定義スクリプトにおいて、決定ボタンと、スライドショー表示画面440bへ遷移するための遷移先情報とが対応付けられている。
図44(b)に示すとおり、テレビ1は、アルバム履歴画面440a表示中に、決定ボタンが押下されたのを検知すると、サムネイル表示画面440cを取得して表示する。この場合、図44(a)と異なり、操作方法画面1103において、決定ボタンでサムネイル表示画面440cに遷移することを説明する表示を行ってもよい。
この場合、図44(a)と異なり、状態遷移定義スクリプトにおいて、決定ボタンと、サムネイル表示画面440cへ遷移するための遷移先情報とが対応付けられている。
これにより、同じボタンが押下されても、テレビ1が遷移する表示画面を変更することが可能となる。
さらに、テレビ1が、同一ボタンが押下された場合に、所定の条件に応じて、遷移先を変えるように、状態遷移定義スクリプトを記述することも可能である。図44(a)、(b)に示す例で説明すると、条件を記述した状態遷移定義スクリプトを用いることにより、例えば、アルバム履歴画面440aにおいて決定ボタンでアルバムを選択した場合、当該選択されたアルバムに含まれる写真の枚数に応じて、そのアルバムのスライドショー表示画面440bに遷移するか、サムネイル表示画面440cに遷移するかを決定するテレビ1を実現することができる。
図45は、条件を記述した場合の状態遷移定義スクリプトの具体例を示す図である。この状態遷移定義スクリプトは決定ボタンと対応付けられているものとする。図45に示す状態遷移定義スクリプトには、テレビ1の制御スクリプト実行部41が、条件判定を行って、条件に応じて遷移先を決定し、その遷移先の表示画面を表示するために、必要な以下の情報が記述されている。
スクリプト451は、判定対象となる情報(ここでは、選択されたアルバムの写真枚数)を取得する方法を定義している。制御スクリプト実行部41は、スクリプト451にしたがって、所定のファイル(top.svg)から、選択されたアルバムの写真枚数情報を取得する。なお、本実施形態では、上記ファイルは、写真枚数情報として、アルバムの写真の枚数が10枚以下なら「10」、11枚以上なら「11」の値を示すよう作成されている。上記ファイルは、当該状態遷移定義スクリプトとともに、同じ制御スクリプト内に記述されていればよく、「top.svg」の名で識別できるようになっている。なお、上記ファイルは、表示用データ生成装置2が作成する。具体的には、表示用データ生成装置2は、図20に示すアルバム情報テーブルを参照して、要求されたアルバムの写真枚数に応じて、上記ファイルに「10」または「11」の値を含めて上記ファイルを作成する。
スクリプト452は、上記判定対象となる情報(ここでは、上記ファイルから取得した写真枚数情報)を判定する方法を定義している。制御スクリプト実行部41は、スクリプト452にしたがって、写真枚数情報が「10」か「11」かを判定する。
スクリプト453は、判定条件を定義している。図45に示す例では、写真枚数情報が「10」の場合と、「11」の場合とに分けて、制御スクリプト実行部41が実行すべき機能が定義されているスクリプトの名前(“cpm_title”、“cpm_thumbnail”)が定義されている。
スクリプト454は、各判定条件に応じて制御スクリプト実行部41が実行すべき機能を定義している。すなわち、制御スクリプト実行部41は、(1)写真枚数情報が「10」(10枚以下)の場合には、スクリプト“cpm_title”にしたがって、スライドショー表示画面440bを取得して表示すること、および、(2)写真枚数情報が「11」(11枚以上)の場合には、スクリプト“cpm_thumbnail”にしたがって、サムネイル表示画面440cを取得して表示することが可能となる。
したがって、条件および条件ごとの機能を定義して、状態遷移定義スクリプトを記述することにより、一つのボタンが押下された場合に、所定の条件に応じて、複数の動作の中から適切な動作を選択し実行するようにテレビ1を制御することが可能となる。
以上のとおり、操作部13に設けられた各種操作ボタンと、該ボタンに割り当てられたテレビ1の機能との対応関係を、制御スクリプトを用いて容易に変更することが可能となる。
《実施形態4》
制御スクリプトを用いれば、テレビ1が実行する以下の機能を制御することが可能となる。
(1)表示用データ取得機能の制御
テレビ1は、所望の表示用データを要求する表示用データ要求メッセージを表示用データ生成装置2に送信し、要求した表示用データを表示用データ生成装置2から取得する。
制御スクリプトに、どの表示用データをいつ取得するかを表示用データ生成装置2側で定義しておくことにより、テレビ1の表示用データ取得機能を制御することができる。
例えば、第1表示用データの第1表示用データが表示された後は、必ず第2表示用データの第2表示画面が表示されるという状況があったとする。このとき、第1表示用データの制御スクリプトに、上記第2表示用データを取得することが記述されていれば、テレビ1は、上記制御スクリプトにしたがって、第1表示用データの第1表示画面を表示する処理を行うとともに、上記第2表示用データを取得することができる。
ここで、テレビ1が、通信網を介して表示用データ生成装置2に表示用データを要求し、要求した表示用データを取得するまでには、一定の時間を要する。したがって、ユーザから表示用データを表示する指示を受け付けた時に、表示用データを取得する処理を開始して表示を行っていたのでは、ユーザの指示に速答することができず、ユーザの利便性が損なわれる。
そこで、次に表示される表示画面(表示用データ)が予測できる場合に、テレビ1は、上述の制御スクリプトにしたがって、第1表示用データを処理中に、次の第2表示用データを先行取得しておく。これより、ユーザの指示が入力されたときには、先行取得して自装置に保存しておいた表示用データに基づいて次の表示画面を即座に表示することが可能となる。これにより、表示用データ表示処理の応答速度を上げて、ユーザの利便性を維持することが可能となる。
(2)表示用データ管理機能の制御
テレビ1は、表示用データ生成装置2から取得する表示用データを表示用データ記憶部51にて管理する。具体的には、イベント処理部11が検知するイベントに応じて、表示用データを表示用データ記憶部51に保存したり、不要と判断した表示用データ記憶部51から削除したりする。
制御スクリプトに、当該表示用データをどのように管理するかを定義しておくことにより、テレビ1の表示用データ記憶部51における表示用データ管理機能を制御することができる。例えば、取得した表示用データを、表示用データ記憶部51から削除されることのないように保存することや、所定回数処理(表示)された時点で、その表示用データを表示用データ記憶部51から削除することや、表示用データ記憶部51に保存されている所定の表示用データを削除することなどが定義されている。
上述したとおり、表示用データ生成装置2から表示用データを取得するのには、一定の時間を要するので、よく利用(表示)する表示用データは、表示用データ記憶部51に保存しておくことが好ましい。
そこで、表示用データ生成装置2は、テレビ1においてよく利用される表示用データをテレビ1に送るときに、当該表示用データを表示用データ記憶部51から削除されることがないように保存しておくことを定義した制御スクリプトを含めて提供する。
テレビ1は、上記制御スクリプトにしたがって、よく利用する表示用データを常に表示用データ記憶部51に保存しておくことができ、表示用データ生成装置2との通信量を減らし、表示用データ表示処理の応答速度を上げることが可能となる。
表示用データ生成装置2は、表示用データごとに、テレビ1において利用される利用頻度をカウントし、その利用頻度に応じて表示用データの保存方法を決定し、制御スクリプトを生成すればよい。テレビ1は、表示用データを利用(表示)する度に、表示用データ利用情報を表示用データ生成装置2に送信する。表示用データ生成装置2は、テレビ1から送られてくる表示用データ利用情報を蓄積して利用頻度を表示用データごとに管理することができる。
なお、表示用データ生成装置2の、利用頻度に応じて制御スクリプトを生成する構成は、上述の実施形態1の〔変形例1−操作項目の表示順序を変更する〕の項で述べた構成と同様であるのでここでは説明を省略する。
《実施形態5》
〔変形例5−サムネイル/スライドショー表示時の視覚および聴覚効果の付加〕
本発明のネットワークアルバムシステム100において、表示用データ生成装置2は、制御スクリプトをテレビ1に供給することによって、さらに、テレビ1に対して以下の機能を追加することができる。すなわち、テレビ1が表示中の表示画面の内容(アルバム・写真)に応じて、視覚効果および聴覚効果を出力する機能である。
表示用データ生成装置2の制御スクリプト生成部80は、さらに、テレビ1がアルバムを表示する際に、表示するアルバム(または写真・動画)に応じて、視覚(および聴覚)の効果を出力するように、エフェクトや音声を出力する動作を定義した制御スクリプトを生成することが可能である。エフェクトとは、オブジェクト(例えば、スライドショー表示するアルバムの写真など)を表示(あるいは非表示に)する時に、該オブジェクトに付ける視覚効果のことである。具体的には、フェードイン(アウト)、スライドイン(アウト)、拡大、点滅などさまざまな効果が考えられる。また、写真以外のオブジェクト(キャラクタなど)に対して、画面を動き回るなどのアニメーションを付けたり、キャラクタのズーム、パン、あるいは、スクロールなどもエフェクトに含まれる。
本実施形態では、例えば、図20に示すとおり、アルバム情報テーブルにおいて、アルバムごとに音声ファイルの情報を管理し、写真ごとにエフェクトの情報を管理しておく。
「音声ファイル名」のカラムは、アルバムに関連付けられている音声ファイルのファイル名を示す。音声ファイルは、テレビ1が、アルバムをサムネイル表示したり、スライドショー表示したりする際に、音声(音楽や効果音など)として出力するのに用いられる。
「エフェクトID」のカラムは、アルバムに含まれる写真の各々に関連付けられているエフェクトを識別するためのエフェクトIDを示す。このエフェクトIDにて特定されたエフェクトをテレビ1が実行するように、表示用データ生成装置2は、上記エフェクトに関するテレビ1の動作を制御スクリプトに記述する。
図46は、視覚および聴覚効果を付加した表示用データを生成する表示用データ生成装置2の要部構成を示すブロック図である。図18の表示用データ生成装置2と異なる点は、制御スクリプト生成部80が、さらに、音声特定スクリプト生成部87およびエフェクト定義スクリプト生成部88を備えている点と、記憶部90にさらに音声ファイル記憶部95およびエフェクト情報記憶部96が含まれている点である。
音声特定スクリプト生成部87は、アルバムの表示とともに出力すべき音声ファイルのリンク情報を含む音声特定スクリプトを生成するものである。エフェクト定義スクリプト生成部88は、エフェクト情報記憶部96に記憶されているエフェクト定義情報に基づいて、テレビ1が実行可能なエフェクト定義スクリプトを生成するものである。
音声ファイル記憶部95は、音声ファイルを記憶するものである。音声ファイルは、例えば、midi形式などのテレビ1が処理可能なファイル形式で記憶されている。テレビ1は、表示用データ生成装置2から上記音声ファイルを取得して、音声出力制御部25を介して音声出力部17に出力する(図1)。
あるいは、表示用データ生成部62が、表示用データ7に音声ファイルを含めて、テレビ1に供給してもよい。
エフェクト情報記憶部96は、エフェクトを定義するエフェクト定義情報を記憶するものである。図47は、エフェクト情報記憶部96に記憶されるエフェクト定義スクリプトの例を示す図である。
図47に示す例では、1つのエフェクトごとに、6つのカラムが用意されている。
カラムC21の「effectID」は、上述のエフェクトIDを示す。カラムC22は、エフェクトの名前を示す。例えば、エフェクト名”Fill-opacity”とは、対象物(ここでは、写真)の不透明度を変化させるエフェクトであることを意味する。
カラムC23の「dur」は、エフェクトを適用する時間(ここでは、秒)を示す。例えば、3秒と示されている場合、そのエフェクト(不透明度の変化)を3秒間かけておこなうことを意味する。
カラムC24の「from」は、対象物の初期値を示す。具体的には、エフェクト適用前の写真の不透明度を示す。「from」が”0.8”と示されている場合には、写真を不透明度0.8で表示し始めることを意味する。なお、不透明度の値が小さいほど透明であることを示している。
カラムC25の「to」は、対象物の最終値を示す。つまり、エフェクトが「dur」の秒間適用された後の写真の不透明度を示す。「to」が”0”と示されている場合には、写真を不透明度0にまで変化させることを意味する。
カラムC26の「end」は、テレビ1における、そのエフェクトの動作を中断させる機能を割り当てたキー(ボタン)を示す。「end」の値は、図1に示すテレビ1の操作部13に設けられたキーの一つを特定するものである。テレビ1がエフェクトを実行している途中で、「end」が特定する操作部13のキーが押下されると、テレビ1は、そのエフェクトの実行を中断するようになっている。
例えば、図47に示す、エフェクトID「effect00」のエフェクトが写真に適用されるとすると、テレビ1は、このエフェクト定義スクリプトの内容にしたがって、上記写真をスライドショー表示させるときに、その不透明度を0.8から0へと3秒かけて変化させて表示させることができる。そして、それまでに、ユーザの操作によって”y”のボタン(黄色ボタン)が押下された場合には、そのエフェクトを中断することができる。
図47に示す例では、3種類のエフェクト定義スクリプトを示したが、これに限定されず、さまざまな種類のエフェクト定義スクリプトを記憶しておいてもよい。
テレビ1は、上述の動作を、操作内容定義スクリプト113(図3)に記述された操作機能定義スクリプト132にしたがって実行することができる。
次に、視覚および聴覚効果を付加した制御スクリプトを生成する表示用データ生成装置2の動作について詳細に説明する。以下では、テレビ1の要求に応じて、表示用データ生成装置2が、スライドショー表示のための表示用データ7を生成する場合を例に挙げて説明する。しかし、これに限定されず、サムネイル表示の場合にも、視覚および聴覚効果を付加した表示用データ7を生成してもよい。
図48は、本実施形態における表示用データ生成装置2の表示用データを生成する処理の流れを示すフローチャートである。図48において、図27と異なる点は、スクリプト合成部86がS210にて合成を行う前に、制御スクリプト生成部80の音声特定スクリプト生成部87が音声特定スクリプトを生成し、エフェクト定義スクリプト生成部88が、エフェクト定義スクリプトを生成する点と、表示用データ生成部62が、S211の表示対象物に加えて、音声ファイルを抽出する点である。なお、S201〜S213については、抽出された音声ファイルも表示用データに合成される点を除いて図27の処理と同様であるので、ここでは説明を繰り返さない。
図49は、本実施形態におけるパターンデータ記憶部91に記憶されているパターンデータ171および制御スクリプト110にそれぞれ含まれる、レイアウト定義スクリプト112’およびレイアウト定義スクリプト112の例を模式的に示す図である。
本実施形態では、表示用データ生成装置2のパターンデータ選択部61がパターンデータ記憶部91から取得するパターンデータ171において、レイアウト定義スクリプト112’は、さらに、画像特定スクリプト274、アルバム基本情報275、および、音声特定スクリプト279を含んでいる。また、画像特定スクリプト274は、スライド写真に対応付けてエフェクトの雛型であるエフェクトパターン274aを含んでいる。
なお、画像特定スクリプト274(284)および音声特定スクリプト279(289)は、表示対象物特定スクリプト121の具体例であり、アルバム基本情報275(285)は、属性情報特定スクリプト123の具体例である。
制御スクリプト生成部80は、S209(図48)に続いて、図49に示す音声特定スクリプト279に、音声ファイル名(すなわち、当該音声ファイルのリンク情報)を埋め込んで音声特定スクリプト289を生成する(S209a)。埋め込むべき音声ファイル名は、ネットワークアルバムDB8に記憶されるアルバム情報テーブルから、すでに表示対象ID取得部71によって取得されているアルバムID(および写真ID)に基づいて、抽出される。例えば、図20に示す例において、アルバムID「01254782 25142584」のアルバムの最初の写真をスライドショー表示することが決定している場合に、制御スクリプト生成部80は、上記アルバムIDに基づいて音声ファイル名「bgm1.midi」を抽出して、当該音声ファイルへのリンク情報を音声特定スクリプト279に埋め込む。これにより生成された音声特定スクリプト289に基づいて、テレビ1は、スライドショー表示を実行中に、音声ファイル「bgm1.midi」を表示用データ生成装置2から取得して再生することが可能となる。
次に、制御スクリプト生成部80は、エフェクトパターン274aに、エフェクトの属性情報を埋め込んで、エフェクト定義スクリプト284aを生成する(S209b)。
図50は、図49に示すエフェクトパターン274aおよびエフェクト定義スクリプト284aの具体例を示す図である。「@@_」および「_@@」で挟まれた部分は、それぞれ、図47に示すエフェクト定義スクリプトテーブルにおけるエフェクトの属性情報(カラムC21〜C26)に対応している。つまり、制御スクリプト生成部80は、特定されたエフェクトの6つの属性情報をそれぞれのカラムから抽出し、「@@_***_@@」の部分に埋め込んでエフェクト定義スクリプト284aを生成する。
上述の図20の例を用いて具体的に説明する。テレビ1の表示用データ要求メッセージ6に基づいて、アルバムID「01254782 25142584」のアルバムの最初の写真(写真ID=NO.1)をスライドショー表示することが決定しているとする。制御スクリプト生成部80は、上記アルバムIDおよび写真IDに基づいて、エフェクトを特定する。上述の例では、上記アルバムIDおよび写真IDには、エフェクトID「effect00」が関連付けられているので、エフェクトID「effect00」のエフェクトを、上記写真に付加するエフェクトとして特定する。
続いて、制御スクリプト生成部80は、特定したエフェクトIDに基づいて、エフェクト情報記憶部96のエフェクト定義スクリプトテーブルの各カラムからエフェクトの属性情報を抽出する。制御スクリプト生成部80は、抽出した各属性情報を、対応の箇所に埋め込みエフェクト定義スクリプト284aを生成する。図50のエフェクト定義スクリプト284aには、対象物である写真に重畳させる白四角の不透明度を0.8から0へと3秒かけて変更することが記述されている。そして、テレビ1の操作部13の黄色キー(key(y))が押下された場合には、その変更処理を中断するように、黄色キーに変更処理中断機能が割り当てられている。
最後に、表示用データ生成部62は、制御スクリプト生成部80が生成した制御スクリプト110と、表示対象物111(スライド写真)およびその他の対象物(音声ファイルなど)とを合成して表示用データ7を生成する。
以上のことから、テレビ1は、上記表示用データ7を取得すれば、上述した音声特定スクリプト289およびエフェクト定義スクリプト284aが含まれた制御スクリプト110にしたがって、サムネイルやスライド写真を、聴覚および/または視覚効果を付与してユーザに提示することが可能となる。具体的には、図5のS11において、スライドショー表示用データ内にエフェクト定義スクリプト284aが記述されている場合には、テレビ1は、エフェクト定義スクリプト284aに定義された方法で写真を表示させる。
なお、本実施形態では、制御スクリプト110において、エフェクト処理の開始のタイミングを規定することが可能である。例えば、上述の例では、写真の表示/非表示に対してエフェクトを付加するので、写真の切り替え時をエフェクト処理の開始タイミングとして制御スクリプト110に記述されている。あるいは、サムネイル表示画面において、一つのサムネイル画像にカーソルがあたっている間に当該サムネイル画像にズームアップなどの動きを付けたい場合には、制御スクリプト110において、カーソルがあたるときをエフェクト処理の開始タイミングとして定義することもできる。
また、上述したとおり、制御スクリプト110を用いてエフェクト処理を記述すれば、エフェクトを付加する対象を、オブジェクトごとに指定することが可能である。これにより、エフェクト処理を付加する範囲を、画面全体ではなく、オブジェクトの範囲内のみに限定することができる。したがって、画面全体をエフェクト処理する場合に比べて、テレビ1のエフェクト処理にかかる負荷を大幅に低減することが可能である。
なお、スライドショー表示用データでは、写真ごとの表示用データのすべてに音声特定スクリプト289が入っていなくてもよい。例えば、最初の写真を表示するための表示用データだけに音声特定スクリプト289を含めて、続きの写真を表示する際にも継続して再生されるように制御スクリプト110を記載しておくことが可能である。
また、上述したとおり、本実施形態では、表示用データ生成装置2は、黄色キー押下のイベントと対応付けて、エフェクトの適用(エフェクト処理)を中断する動作をエフェクト定義スクリプト284aに記述している。これにより、ユーザはキー操作を行って、エフェクト処理の中断を任意のタイミングで行うことが可能となる。
スライドショー表示用データの処理中に、エフェクトが処理されると、テレビ1にかかる負荷が大きくなり、ユーザのキー操作に対するレスポンスが遅くなり、操作性に欠けるという問題がある。これは、一般にエフェクト処理のCPU負荷が大きいためである。
しかし、上記構成によれば、テレビ1は、黄色キーが押下されるとエフェクト処理を中断して、すぐさま、対象の写真を表示する。このため、ユーザが望まないエフェクト処理を省略して、テレビ1の負荷を軽減し、テレビ1の処理効率を高めることができる。
なお、中断処理のトリガとなるイベントは、黄色キーの押下に限定されない。例えば、制御スクリプト生成部80は、「操作メニューのGUI画面が呼び出された場合」をトリガとして、エフェクト処理を中断するようにスクリプトを記述してもよい。
また、黄色キーに対して、操作メニューのGUI画面を呼び出す(表示する)機能が割り当てられている場合には、「黄色キーの押下時」を、エフェクト処理を中断する条件にしておけば(end=”accessKey(y)”)、結果的には、「操作メニューのGUI画面が呼び出された場合」をトリガとして、エフェクト処理を中断するようにスクリプトを記述したことになる。
また、エフェクト処理中でも次のスライドや前のスライドへ遷移する旨を指示するキー操作があれば、エフェクトを中断してすぐさま指定されたスライドに遷移するようにスクリプトを記述してもよい。
さらに、ユーザが負荷のかかるエフェクト処理の実行を希望しない場合には、上記操作メニューから、エフェクトの有無を選択できるように構成されたGUI画面を表示してもよい。この場合、ユーザがエフェクト無しを選択した場合に、テレビ1が最初からエフェクト処理を実行しないようにスクリプトは記述される。
あるいは、上記操作メニューを呼び出さなくてもテレビ1の操作部13に設けられたキーを押下する簡単な操作で、エフェクトの有無を切り替えられるように制御スクリプト110を記述してもよい。
図51は、ユーザのキー操作に応じてエフェクトの有無を切り替えるようにテレビ1の動作を定義した操作機能定義スクリプト132を含む制御スクリプト110の具体例を示す図である。
図51に示す例では、操作機能定義スクリプト132は、エフェクト定義スクリプト284bと、エフェクト定義スクリプト284bの実行を制御する操作機能定義スクリプト132eと、ユーザの操作に応じて操作機能定義スクリプト132eの内容を切り替える動作を定義した操作機能定義スクリプト132fとを含んでいる。
操作機能定義スクリプト132eには、表示用データ7の処理の初期化時に、当該スクリプト内に定義されているエフェクトフラグが“1”を示す場合に、エフェクト定義スクリプト284bが定義するエフェクトを実行することが定義されている。
そして、操作機能定義スクリプト132fには、操作部13の青色キー(key(b))が押下されたときに、上記エフェクトフラグを切り替える動作が定義されている。
このような操作機能定義スクリプト132にしたがえば、テレビ1は、ユーザの青色キーの押下に応じて、エフェクトの有無を切り替えることが可能となる。
なお、上述の図51の例では、エフェクト定義スクリプト284bの属性“visibility”を変更することにより、エフェクトの有無を制御する構成としたが、操作機能定義スクリプト132の記述方法はこれに限定されない。例えば、エフェクト定義スクリプト284bの属性“display”の値を“none”に変更する動作を記述したスクリプトにしたがってテレビ1はエフェクトを無効にすることが可能である。この場合、テレビ1は、visibility属性に係るSVG全体の描画処理に比べて、描画を高速に行うことができる。
なお、上述の説明では、写真などの静止画像を表示するときにエフェクト・音声を適用する場合について述べたが、これに限定されず、動画をサムネイル表示したり、スライドショー表示したりするときに、該動画に対してエフェクト・音声を適用することも可能である。
また、上述の説明では、一つのオブジェクトに対して一つのエフェクト処理を定義する場合について述べたが、これに限定されない。一つのオブジェクトに対して、あらかじめ複数種類のエフェクト定義スクリプトを制御スクリプト110内に記述しておくことも可能である。これにより、ユーザは、エフェクトの有効/無効をメニューから選択するだけでなく、当該オブジェクトに付加したい所望のエフェクトを上記複数種類のエフェクトから選択することができるようになる。
例えば、あるキャラクタの春をテーマにしたアニメーションを、男の子向けと女の子向けに2種類用意し、制御スクリプト110に定義しておく。そして、テレビ1は、そのスクリプトにしたがって、ユーザに選択された方のアニメーションを上記キャラクタに付加して表示することができる。
また、本実施形態では、エフェクト定義スクリプトテーブルを表示用データ生成装置2が有し、エフェクト定義スクリプトを表示用データ7に含めてテレビ1に供給する構成としたが、これに限定されない。エフェクト定義スクリプトテーブルをテレビ1に持たせた場合でも同様の効果を得られる。すなわち、表示用データ生成装置2は、どの写真にどのエフェクトを付加するのかを示すスクリプトとして、写真に対応付けてエフェクトIDを記述するのみでよい。
テレビ1は、表示用データ7に含まれるエフェクトIDに基づいて、自身が有するエフェクト定義スクリプトテーブルを参照し、適切なエフェクトを適切な写真に付加してユーザに提示することができる。
これにより、ユーザの嗜好に沿って、個々のユーザがより楽しめる多様化したアルバムコンテンツを提供することが可能なネットワークアルバムシステムを実現することができる。
〔変形例6−エフェクト有効時の文字表示処理〕
テレビ1が、上述した方法でエフェクトを追加してアルバムの写真をスライドショー表示する場合、エフェクト処理を付加しつつ写真を描画する処理に加えて、文字表示処理を行う場合がある。文字表示処理とは、表示用データ7に含まれるテキストデータを、写真に重畳させて表示する処理である。
図52は、テレビ1の表示部15に表示するスライドショー表示画面の例を示す図である。図52に示すとおり、スライドショー表示画面が表示されるときに、写真を表示するのに加えて、リモコンを操作ガイドを示す操作情報152、スライドショーの再生状態を示す再生状態表示153、写真タイトル154、および、写真に付加されたコメント155が表示される。これらの文字は、表示用データ7のレイアウト定義情報において、テキストデータとして記述されており、テレビ1が表示用データ7を処理することによって表示される。なお、テキストデータは上記に限定されない。
上述の文字表示処理は、エフェクト処理と同様に比較的負荷がかかる処理である。そのため、エフェクトが有効になっているスライドショー表示処理をテレビ1が行う場合、テレビ1は、スライドを描画する度に、エフェクト処理および文字表示処理の両方を実行しなければならない。この場合、文字表示処理の負荷により、せっかく付加したエフェクト処理がスムーズに行われなかったり、リモコン(操作部13)からのキー操作のレスポンスが悪くなったりしてユーザの利便性を損なうことになりかねない。
そこで、本実施形態では、エフェクト有効時のスライドショー表示処理において、テレビ1にかかる負荷を分散し、テレビ1の動作を円滑にする工夫について説明する。
〔負荷時分散のための制御スクリプト〕
本実施形態では、スライドショーを表示する際に、テレビ1が、エフェクト処理と文字表示処理と同時に実行しないように、制御スクリプトを用いて、テレビ1における各処理の実行タイミングを制御する。具体的には、エフェクトが有効になっている場合には、エフェクト処理終了後に、文字表示処理を開始するように制御スクリプトに記述しておく。
図53は、エフェクト処理終了後に、文字表示処理を開始するようにテレビ1の動作を定義した制御スクリプト110の具体例を示す図である。
図53に示す例では、制御スクリプト110は、操作機能定義スクリプト132gと、エフェクト定義スクリプト284bと、表示対象物特定スクリプト121aとを含んでいる。
表示対象物特定スクリプト121aは、表示対象となるテキストデータを特定する文字特定スクリプトである。
操作機能定義スクリプト132gは、文字表示処理の実行を命令するスクリプトと、その実行タイミングを定義するスクリプトとが記述されている。具体的には、操作機能定義スクリプト132gには、エフェクト定義スクリプト284bのエフェクト処理が終了したときに、表示対象物特定スクリプト121aの文字を表示するようにテレビ1の動作が定義されている。
なお、スクリプトによって定義されるエフェクト処理の終了の時点は、エフェクト処理が、最後まで実行された時点としてもよいし、ユーザ操作などによって中断された時点としてもよい。
テレビ1は、上記制御スクリプト110にしたがって、エフェクト処理と文字表示処理の両方を実行しなければならない場合には、まず、エフェクト処理を実行し、それが終了してから文字表示処理を実行することができる。つまり、負荷の大きい処理を時分散することができる。これにより、一時に負荷が集中することがなくなるので、付加したエフェクト処理がスムーズに行われない、あるいは、リモコン(操作部13)からのキー操作のレスポンスが悪くなるなどの不都合を解消することが可能となる。
なお、エフェクト処理と、時分散すべき負荷の大きい処理として文字表示処理を例に挙げて説明したが、これに限定されない。表示用データ生成装置2は、エフェクト処理と同時に実行されないことが好ましい、負荷の大きなあらゆる処理の実行タイミングを、制御スクリプト110に記述することができる。例えば、表示用データ生成装置2は、実施形態1において説明したテレビ1の機能である操作メニュー表示処理が開始されたら、エフェクト処理の実行を中断するように制御スクリプトに記述してもよい。
〔表示用データ生成装置の構成〕
本実施形態では、表示用データ生成装置2(図46)は、テレビ1からの要求に応じてエフェクト処理を含む表示用データ7を生成する。
この場合、表示用データ生成装置2は、上記エフェクト処理中に実行すべきでない処理が、上記エフェクト処理後に実行されるようにテレビ1の動作(およびそのタイミング)を定義した制御スクリプト110を生成する。エフェクト処理中に実行すべきでない負荷の大きな処理については、エフェクト処理と同時に実行されないようにタイミングが記述されたパターンデータがパターンデータ記憶部91にあらかじめ記憶されている。具体的には、パターンデータ選択部61は、文字表示処理がエフェクト処理後に実行されるように記述されたスクリプト、および、操作メニュー表示処理が開始されると実行中のエフェクト処理を中断するように記述されたスクリプトを含むパターンデータをパターンデータ記憶部91から選択することができる。制御スクリプト生成部80は、該パターンデータに基づいて制御スクリプト110を生成する。
これにより、文字表示処理や操作メニュー表示処理などの負荷の大きな処理と、エフェクト処理とを、タイミングをずらして実行するようにテレビ1を制御することができる。これにより、テレビ1の負荷の集中を回避して、ユーザがテレビ1をスムーズに操作することが可能となる。
あるいは、負荷の大きな処理および該処理の開始、終了のタイミングを対応付けて記録したリストをあらかじめ記憶部90に登録しておいてもよい。制御スクリプト生成部80は、上記リストに登録された処理を含む制御スクリプトを作成する場合には、当該処理に対応付けられているタイミングで実行(中断)されるように、上記リストに基づいて作成する。
なお、表示用データ生成装置2は、受け付けた表示用データ要求メッセージ6の内容に応じて、エフェクト処理に関する制御スクリプトを生成することができる。
例えば、図7に示すとおり、機種名およびソフトウェアバージョン情報が含まれた表示用データ要求メッセージ6が受信されると、関連情報取得部73がそれを取得する。
機種・ソフトウェアバージョンとそれに対応する機能についての情報は、あらかじめ記憶部90に記憶されており、したがって、表示用データ生成装置2(パターンデータ選択部61/制御スクリプト生成部80)は、機種名とソフトウェアバージョン情報とに基づいて、テレビ1の機能を特定することができる。具体的には、テレビ1が、視覚効果(エフェクト処理)および聴覚効果(効果音・音楽など)を出力する機能を有するか否かを判定することが可能となる。
テレビ1が、ネットワークアルバムの写真を、スライドショー(サムネイル)表示するときに、エフェクト処理や音声出力を行えるタイプであると判定された場合にのみ、制御スクリプト生成部80は、エフェクト処理や音声出力を行うための制御スクリプトを生成する。あるいは、パターンデータ選択部61は、テレビ1がエフェクト処理や音声出力の実行を行えるタイプと判定された場合には、エフェクト処理や音声出力を行うためのスクリプトを含むパターンデータを選択する。
逆に、テレビ1が音声出力やエフェクト処理の実行を行えないタイプであると判定された場合には、エフェクト処理や音声出力に関する記述は不要となるので、制御スクリプト生成部80は、それらの記述を含まないで、写真をスライドショー(サムネイル)表示するための制御スクリプトを生成する。
これにより、表示用データ生成装置2は、テレビ1の仕様に応じて不要な記述を除き、常に、要求元のテレビ1にとって最適な状態の制御スクリプトを生成し、提供することが可能となる。
《実施形態6》
〔変形例7−テレビ1における制御スクリプトの変更機能〕
上述の各実施形態では、ネットワークアルバムシステム100において、表示用データを提供するサーバ側の表示用データ生成装置2の制御スクリプト生成部80が、上述したパターンデータに基づいて制御スクリプトを生成し、テレビ1が該制御スクリプトにしたがって動作する場合について説明した。
しかし、本発明のネットワークアルバムシステム100は上記構成に限定されない。表示用データ7を受信するクライアントとしてのテレビ1は、表示用データ生成装置2より供給される制御スクリプトの一部を自装置にて変更し、変更後の制御スクリプトにしたがって動作する構成でもよい。
具体的には、表示用データ生成装置2から供給される制御スクリプトには、テレビ1が当該制御スクリプトの一部を変更したり、別の値に置換したりできるように動作を定義した操作内容定義スクリプト113が含まれている。
テレビ1の表示用データ実行処理部40は、上記操作内容定義スクリプト113にしたがって、自装置にあらかじめ保存されている情報に応じて、表示用データ生成装置2から供給された制御スクリプトの一部を変更したり、別の値に置換したりすることが可能である。
このとき、表示用データ生成装置2から供給される制御スクリプト内の操作内容定義スクリプト113には、テレビ1に保存されている情報に置換されるようにまたは該情報の内容に応じて適切に変更されるように、クライアントであるテレビ1の情報の参照・取得を指示する参照スクリプトが含まれている。テレビ1の表示用データ実行処理部40は、上記参照スクリプトにしたがって、指定された自装置の情報を取得し、取得した情報を、例えば、レイアウト定義スクリプト112に変数値として渡す。結果として、自装置内から取得された情報が制御スクリプトに埋め込まれ、表示用データ実行処理部40が最終的に実行すべき(表示すべき)制御スクリプトが完成する。
これにより、サーバ側から指定された表示用データ7のみならず、さらに、クライアント側で変更された表示用データ7を処理し、ユーザに提供することができるので、クライアント側の個々の装置および該装置のユーザに、より特化したサービスを提供することができる。多様化する個々のユーザのニーズにさらに柔軟に対応することが可能なネットワークアルバムシステム100を構築することが可能となる。
以下、テレビ1が、図44(a)に示すアルバム履歴画面440aを表示用データ7に基づいて表示する場合を例に挙げて、テレビ1の動作を説明する。テレビ1は、表示用データ生成装置2から受信した制御スクリプトの一部を、参照スクリプトにしたがって変更し、変更後の制御スクリプトにしたがってアルバム履歴画面を表示する。
(適用例1:履歴の表示件数を変更する)
テレビ1は、図6に示すとおり、ユーザが過去に閲覧したアルバムのアルバムID(最近閲覧されたものから最大3件分)をアルバムID記憶部53に記憶している。テレビ1は、アルバム履歴画面を表示する表示用データ7を表示用データ生成装置2に要求するときに、アルバムID記憶部53に記憶されているアルバムIDを表示用データ生成装置2に伝達する(表示用データ要求メッセージ6)。
表示用データ生成装置2は、上記表示用データ要求メッセージ6に基づいて、テレビ1において過去に閲覧された最新の3件のアルバムについての履歴情報を表示するアルバム履歴画面の表示用データ7を生成し、テレビ1に供給する。この表示用データ7には、アルバム履歴画面のレイアウトや、該画面を表示するために必要なテレビ1の動作などが制御スクリプトに定義されている。
本実施形態では、テレビ1は、受信した制御スクリプトに、参照スクリプトを有する操作内容定義スクリプト113が含まれていれば、操作内容定義スクリプト113にしたがって、自装置に保存されているデータを用いて上記制御スクリプトの一部を変更する。図54は、参照スクリプトが含まれている制御スクリプトの具体例を示す図である。参照スクリプト160は、設定情報「履歴表示件数」の値を取得し、それを変数値”h_max”とするということが定義されている。テレビ1は、図8の関連情報テーブルに記憶されている「履歴表示件数」の情報を取得する。
そして、テレビ1は、図8に示す例では、履歴表示件数は2件であることを検知し、上位2件分のアルバム履歴しか表示されないように制御スクリプトを変更する。具体的には、アルバム履歴情報のvisibility属性を”hidden”に変更する。
さらに、テレビ1は、アルバム履歴画面からアルバムを選択するために数字キーに割り当てられているアルバム選択の機能が無効になるように制御スクリプトを変更することも可能である。すなわち、表示されるアルバム履歴が2件であるので、数字キーの[1]と[2]とだけ有効になるように制御スクリプトを変更する。すなわち、テレビ1は、実施形態3で述べた、押下されるボタンと該ボタンが押下されたときに実行するべき動作とを定義した制御スクリプトを、履歴表示件数に基づいて変更することができる。
図55は、テレビ1が、表示用データ生成装置2から受信した制御スクリプトの一部を変更した後の制御スクリプトの具体例を示す図である。破線枠で示されるvisibility属性161は、変更前には、”visible”の状態でテレビ1に供給されたが、設定情報「履歴表示件数」(=2件)に応じて、テレビ1が、”hidden”に変更した状態になっている。
そして、変更後制御スクリプトにしたがって、表示用データ実行処理部40がアルバム履歴画面の表示用データ7を実行すると、上記設定情報どおり、アルバム履歴情報が2件だけ表示された状態のアルバム履歴画面が出力される(図56)。さらに、図56に示すアルバム履歴画面が表示されている状態では、[3]の数字キーは無効化されており、3段目が選択されないように制御スクリプトの一部が変更されている。
以上のとおり、テレビ1は、自装置に保存される設定情報に応じて、アルバム履歴画面を表示するときの制御スクリプトの一部を変更して、表示件数を表示用データ生成装置2により供給されたときの状態から変更することができる。
(適用例2:ユーザが指定したアルバムを常に表示する)
本実施形態では、テレビ1のアルバムID記憶部53には、最近閲覧されたアルバムのアルバムIDに加えて、閲覧された時期とは無関係に、常時アルバム履歴画面に表示させるアルバムのアルバムIDを記憶できる。そして、当該アルバムの常時表示設定を有効に設定しておく。この設定は、図8に示す関連情報テーブルに記憶されていてもよい。これにより、ユーザは、過去に閲覧された時期に関わらず、3件目のアルバムに代わって、常時表示したい別のアルバムを選択し、アルバム履歴画面に常に表示させることが可能となる。
テレビ1は、まず、最近閲覧されたものから順に表示するようになっている表示用データを受信する。この表示用データ7には、図57に示すとおり、テレビ1に記憶されている、常時表示のアルバムIDを参照するように指示する参照スクリプト162が含まれている。テレビ1は、参照スクリプト162にしたがって、常時表示のアルバムIDを取得し、常時表示設定が有効になっている場合に、現在のアルバム履歴画面の制御スクリプトの一部を変更する。具体的には、例えば、現在の3件目のアルバム履歴情報を、取得した常時表示のアルバムの履歴情報に置き換える。
図58は、テレビ1が置換する前の制御スクリプトと、置換後の制御スクリプトとの具体例を示す図である。
テレビ1は、図57の参照スクリプト162にしたがって、常時表示のアルバムIDを取得した後、後続の制御スクリプトにしたがって、3件目のアルバム履歴情報163aを、常時表示のアルバムのアルバム履歴情報163bに置き換える。
表示用データ実行処理部40は、置き換えられた後の制御スクリプトにしたがってアルバム履歴画面表示処理を実行するので、3段目に常時表示設定が有効になっているアルバムの履歴情報が代わりに表示された状態のアルバム履歴画面が出力される。
以上のとおり、テレビ1は、自装置に保存される常時表示設定の情報に応じて、設定が有効になっているアルバムが常にアルバム履歴画面に表示されるように、制御スクリプトの一部を変更(置換)して、表示内容を変更することができる。
なお、常時表示のアルバムをどの件を置き換えるかなどは特に限定されない。表示用データ生成装置2から送られてくる変更(置換)前の制御スクリプトにおいて、あらかじめ指定されていればよい。
上述の説明では、テレビ1が制御スクリプトの一部を変更(置換)する構成についてアルバム履歴画面を例に挙げて説明したが、これに限定されない。テレビ1が制御スクリプトの一部を変更(置換)する構成は、上述した各実施形態の構成と組み合わせることが可能である。
テレビ1は、各実施形態において表示用データ生成装置2から取得した制御スクリプトの一部を、自装置から取得可能な各種情報に応じて変更する。
例えば、実施形態1では、テレビ1は、表示内容に応じて操作メニューを表示するための表示用データ7を受け取る。本実施形態によれば、テレビ1は、これに含まれる制御スクリプトの一部を、テレビ1が取得する自装置の各種情報(例えば、図8の関連情報テーブル)に応じて変更することが可能である。例えば、自装置の仕様に適わない動作を定義する操作メニュー項目が含まれていたら、これを削除することができる。これにより、テレビ1は、テレビ1の仕様情報に適した操作メニュー項目を表示することが可能となる。
なお、参照スクリプトにしたがってテレビ1が取得する自装置内に保存されている情報の例は、上述の各適用例にて挙げた情報に限定されない。テレビ1は、自装置内に保存されているあらゆる情報を取得して、それを変数値としてレイアウト定義スクリプト112に引き渡すことができる。例えば、取得される情報としては、アルバムIDやアルバムタイトルなどのテキストデータのみならず、各アルバムのインデックス画像などが挙げられる。そして、アルバム履歴画面を表示する際、表示用データ生成装置2から供給された制御スクリプトの一部を、自装置から取得したタイトル、インデックス画像に置換して、新たなアルバム履歴画面を表示することができる。
また、アルバム(写真)とともに出力するエフェクトや音声についての制御スクリプトを、テレビ1に保存されている情報を用いて変更することも可能である。
(適用例3:特定の視覚および聴覚効果を常に出力する)
本実施形態では、図20に示すアルバム情報テーブルを、クライアント側のテレビ1が自装置内に保存している構成である。すなわち、テレビ1は、自装置が保存するアルバム情報テーブルに基づいて、表示しようとするアルバムまたは写真に関連付けられたエフェクトおよび音声を特定することができる。ここで、テレビ1が保存するアルバム情報テーブルは、表示用データ生成装置2が制御スクリプトを生成する際に参照するネットワークアルバムDB8内に記憶されているものと一致している必要は無い。例えば、自装置には、ユーザが特に気に入っているエフェクトや音声が、特定のアルバム(または写真)に関連付けられて記憶されている。これにより、テレビ1は、該アルバム(写真)とともに出力すべき効果として、ユーザが気に入っている音声・エフェクトを適切に選択することが可能となる。
テレビ1は、まず、表示用データ生成装置2から要求した表示用データ7を受信する。ここでは、表示用データ7は、一例として、スライドショー表示画面を表示するためのものであって、表示用データ7が含む制御スクリプトには、写真と、該写真に対応付けて音声・エフェクト(第1の音声・エフェクト)を出力する動作が定義されているものとする。さらに、制御スクリプトに含まれる操作内容定義スクリプト113は、参照スクリプトを含み、出力する対象となる音声・エフェクトを、自装置内で管理する音声・エフェクトに置換するように動作が定義されている。
表示用データ実行処理部40は、上記参照スクリプトにしたがって、自装置にて保存するアルバム情報テーブルから、表示しようとする写真に関連付けられている音声・エフェクト(第2の音声・エフェクト)を取得して、上記第1の音声・エフェクトの記述と置換する。
これにより、表示用データ実行処理部40は、置換後の制御スクリプトにしたがって、表示用データ生成装置2が指定した第1の音声・エフェクトではなく、ユーザのお気に入りとしてテレビ1に登録されている第2の音声・エフェクトを、上記写真とともに出力することができる。
あるいは、テレビ1を以下のように構成することもできる。すなわち、図47に示すエフェクト定義スクリプトテーブルを、テレビ1が自装置にて保存する構成である。
本実施形態では、表示用データ生成装置2から供給される制御スクリプトには、写真に対応付けて「エフェクトID」のみが記述されており、エフェクトに関する詳細な動作の定義箇所には、参照スクリプトが記述されている。
テレビ1は、上記参照スクリプトにしたがって、上記写真に対応付けられているエフェクトIDに基づき、自装置が保存するエフェクト定義スクリプトテーブルから、必要な情報を取得して、上記エフェクトに関する詳細な動作の定義を完成させる。
これにより、自装置に保存されているエフェクトを常に写真とともに出力するようにテレビ1を構成することができる。
なお、制御スクリプトに定義されているエフェクトIDが何であるかにかかわらず(あるいは、定義されているかいないかにかかわらず)、特定のエフェクトが出力されるように、そのエフェクトの動作の記述に置換しても構わないし、あるいは、自装置が保存する複数のエフェクトの中からランダムで選択したエフェクトを、写真再生の度に置換しても構わない。
あるいは、テレビ1は、上記アルバム情報テーブルおよび上記エフェクト定義スクリプトテーブルを保存せずに、(例えば、ユーザお気に入りの)音声・エフェクトだけをあらかじめ保存しておく構成としてもよい。
本実施形態では、表示用データ生成装置2から供給された制御スクリプトにおいて、音声・エフェクトを特定する記述が含まれている場合でも、テレビ1であらかじめ保存されている音声・エフェクトが常に出力されるように、テレビ1は、参照スクリプトにしたがって、制御スクリプトの一部を置換することができる。あるいは、テレビ1に、音声・エフェクトが複数保存されている場合には、テレビ1は、写真再生の度に、保存されている複数の音声・エフェクトの中からランダムで選択した音声・エフェクトに置換して出力してもよい。
これにより、表示用データ生成装置2からどの音声・エフェクトが出力されるように指定されていても、常に、テレビ1に登録されている音声・エフェクトを出力するようにテレビ1を構成することが可能となる。これにより、クライアント側の個々のテレビ1における設定内容に沿って、ユーザの嗜好に合わせたサービスを提供することが可能となる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
また、上述の説明では、本発明の画像データ提供装置である表示用データ生成装置2が生成する表示用データにしたがって、本発明の画像表示装置であるテレビ1が画像を表示する場合について説明した。しかし、本発明の画像表示装置、画像データ提供装置はこれに限定されない。
上述したとおり、表示用データ7は、画像データ以外の各種メディアデータ(映像データ、音声データ、テキストデータ)を含んでいてもよい。以下、表示対象物111と、表示処理以外の再生処理の対象となる音声データなどの各種メディアデータとを合わせて再生対象物と称し、このような再生対象物と、当該再生対象物に対する動作を定めた制御スクリプトとを含む表示用データをコンテンツと称する。
すなわち、表示用データ生成装置2は、テレビ1の要求に応じて、動画データや音声データなどの再生対象物と、該再生対象物に対するテレビ1の動作を定義する制御スクリプトとを含むコンテンツを生成して、テレビ1に提供するコンテンツ提供装置として構成することができる。上記コンテンツ提供装置も本発明の技術的範囲に含まれる。
また、テレビ1は、コンテンツに含まれる動画データや音声データなどの再生対象物を、同コンテンツに含まれる制御スクリプトにしたがって再生するとともに、制御スクリプトにしたがって、再生中の上記再生対象物に対して各種処理を実行するコンテンツ再生装置として構成することができる。上記コンテンツ再生装置も本発明の技術的範囲に含まれる。
最後に、テレビ1および表示用データ生成装置2の各ブロック、特に表示用データ実行処理部40および制御スクリプト生成部80は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、テレビ1および表示用データ生成装置2は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるテレビ1および表示用データ生成装置2の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記テレビ1および表示用データ生成装置2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、テレビ1および表示用データ生成装置2を通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
〔補足事項1〕
本発明に係る画像表示装置は、上記課題を解決するために、外部から取得した表示用データを処理して、画像を表示する画像表示装置であって、上記表示用データは、画像と、該画像を表示する第1の機能を少なくとも定義する制御スクリプトとを含んでおり、基本機能プログラム格納部に格納された、上記制御スクリプトから呼び出される基本機能プログラムを実行する基本機能実行手段と、上記制御スクリプトにしたがって上記基本機能実行手段を制御して、上記制御スクリプトが定義する上記第1の機能を実行する制御スクリプト実行手段とを備え、上記制御スクリプトには、上記第1の機能によって上記画像を表示している際の自装置の動作が第2の機能としてさらに定義されており、上記制御スクリプト実行手段は、上記制御スクリプトにしたがって上記基本機能実行手段を制御して、上記第2の機能を実行することを特徴としている。
上記構成によれば、画像表示装置は、画像と、該画像を表示する機能を少なくとも定義する制御スクリプトとを含む表示用データを取得し、該表示用データを処理して、上記画像を表示する。具体的には、上記制御スクリプトから呼び出される基本機能プログラムを実行する基本機能実行手段を、制御スクリプト実行手段が制御スクリプトにしたがい制御して、制御スクリプトに定義されている機能(画像を表示する第1の機能)を実行して画像を表示する。すなわち、1以上の上記基本機能が制御スクリプトにしたがって組み合わされて画像表示装置の1つの機能(上記第1の機能など)が実現される。
さらに、上記制御スクリプトには、画像を表示する第1の機能に加えて、該第1の機能によって上記画像を表示している際の当該画像表示装置の動作が第2の機能として定義されている。上記第2の機能も、上記基本機能が組み合わされて実現する画像表示装置の機能である。
上記制御スクリプト実行手段は、上記制御スクリプトにしたがって、上記基本機能実行手段を制御して、上記第2の機能を実行する。
これにより、制御スクリプトを用いて、画像を表示するという機能にとどまらず、様々な第2の機能を画像表示装置において実現することが可能となる。
上述したとおり、制御スクリプトは表示用データに含まれて、外部から画像表示装置に提供されるものである。
したがって、画像表示装置が市場に出た後でも、画像表示装置に実行させる上記第2の機能を柔軟に追加、変更することが可能となり、基本機能プログラム格納部に格納された基本機能プログラムを更新せずとも画像表示装置の機能変更を容易に行うことが可能となる。
なお、上記基本機能プログラム格納部が、ROMなどの不揮発性記憶装置で実現されており、格納された基本機能プログラムが容易に書き換え不可能な場合にでも、上述のように、画像表示装置の機能を容易に変更することができる。そのため、組込み型機器に対して本発明の画像表示装置を適用すれば、特に効果が大きい。
また、このように容易に機能変更を行うことができるため、あらかじめ組み込む機能については、出荷前に、あらゆるニーズを想定してそれを網羅するために膨大な量の機能を事前に搭載しておくという無駄を省くことができる。結果として、画像表示装置の開発に係る負担を軽減することが可能となる。
さらに、上記第1の機能および第2の機能を定義した制御スクリプトは、画像表示装置にて表示される画像とともに、表示用データに含まれて画像表示装置に提供される。このため、表示される画像と、第2の機能とを対応付けて管理することができ、表示用データを生成して送信する側においても、表示用データを受信して処理する側(画像表示装置)においても管理が容易になる。
そして、表示用データ(および、それに含まれる画像)ごとに制御スクリプトが生成されるので、画像表示装置は、自身が処理する表示用データ(画像)にとって必要な第2の機能のみを、表示用データ(画像)に応じて効率よく取得することが可能となる。
以上のことから、画像表示装置の効率的な開発が行えて、かつ、市場に出た画像表示装置の機能変更を容易に行うことが可能となる。
なお、上記第2の機能の具体例としては、例えば、画像を回転する機能、画像の表示サイズを変更する機能、表示中の画像に関連付けられている属性情報(画像作成者のコメントや画像のタイトルなど)を該画像とともに表示する機能、画像を印刷する機能、複数の画像を連続して自動で表示する機能(スライドショー機能)、スライドショーのコマ送り間隔の設定を変更する機能、スライドショーのコマ送りの自動/手動の設定を変更する機能、上述した各機能をユーザが選択するための、各機能を示す操作項目を表示する機能などが挙げられる。しかし、本発明の画像表示装置が実行する上記第2の機能は、これに限定されない。
さらに、上記制御スクリプトには、自装置が実行可能な上記第2の機能をユーザが選択するための操作項目を表示する操作項目表示機能が定義されており、上記制御スクリプト実行手段は、上記操作項目表示機能を上記制御スクリプトにしたがって実行することができる。
上記構成によれば、上記制御スクリプト実行手段は、上記制御スクリプトにしたがって、当該画像表示装置が実行可能な上記第2の機能をユーザが選択するための操作項目を表示する操作項目表示機能を実行する。
これにより、ユーザは、画像表示装置が第1の機能によって画像を表示している際に、当該画像表示装置が実行可能な第2の機能を、表示された操作項目から知ることができるとともに、上記画像を表示している画像表示装置に実行させたい第2の機能を選択することが可能となる。
さらに、上記制御スクリプトには、上記操作項目がユーザにより選択されたときに自装置が実行すべき第2の機能が、上記操作項目に対応付けて定義されており、上記制御スクリプト実行手段は、上記制御スクリプトにおいて、ユーザにより選択された操作項目に対応付けられている第2の機能を実行することができる。
上記構成によれば、上記制御スクリプト実行手段は、上記操作項目がユーザにより選択されたときに、その選択された操作項目に対応付けられている第2の機能を上記制御スクリプトにしたがって実行する。
これにより、ユーザは、上記画像を表示している画像表示装置に実行させたい第2の機能を、画像表示装置が表示した操作項目の中から選択して、画像表示装置に実行させることが可能となる。
上記制御スクリプトには、上記第1の機能によって表示される画像に対して適用可能な画像編集機能が第2の機能として定義されており、上記制御スクリプト実行手段は、上記制御スクリプトにしたがって、上記画像編集機能に対応する操作項目をユーザが選択可能に表示するとともに、ユーザにより選択された操作項目に対応付けられている画像編集機能を、上記第1の機能によって表示された画像に適用してもよい。
上記構成によれば、画像表示装置に表示する画像に適用可能な画像編集機能のみを、ユーザが選択できるように、操作項目を表示する。ユーザが表示された1以上の操作項目の中から一つの画像編集機能を選択すると、制御スクリプト実行手段は、ユーザによって選択された画像編集機能を第1の機能によって表示中の画像に対して実行する。
以上のことから、制御スクリプトを用いて、表示する画像に応じて、画像表示装置におけるユーザに提供可能な画像編集機能を動的に変更することが可能となる。
本発明の画像データ提供装置は、上記課題を解決するために、画像表示装置が画像を表示するための表示用データを生成する画像データ提供装置であって、上記表示用データは、画像と、該画像を表示する第1の機能を少なくとも定義する制御スクリプトとを含んでおり、上記画像表示装置から送信された、上記表示用データを要求する表示用データ要求メッセージから、要求された要求画像の識別情報を取得する識別情報取得手段と、上記識別情報取得手段が取得した識別情報によって特定される要求画像を表示する第1の機能を定義し、さらに、上記表示用データ要求メッセージに基づいて、上記第1の機能によって上記要求画像を表示している際の上記画像表示装置の動作を、第2の機能として定義した制御スクリプトを生成する制御スクリプト生成手段と、上記要求画像と、上記制御スクリプト生成手段が生成した上記制御スクリプトとを含む表示用データを生成する表示用データ生成手段とを備えていることを特徴としている。
上記構成によれば、画像データ提供装置は、上記画像表示装置が生成した上記表示用データを要求する表示用データ要求メッセージに基づいて、要求画像を表示するための表示用データを生成する。表示用データは、要求画像と、該要求画像を表示する機能を少なくとも定義する制御スクリプトとを含む。
具体的には、上記識別情報取得手段は、上記表示用データ要求メッセージから、要求された要求画像の識別情報を取得する。この識別情報によって、表示用データに含めるべき要求画像が特定される。
続いて、上記制御スクリプト生成手段は、上記要求画像を表示する第1の機能を定義した制御スクリプトを生成する。さらに、当該制御スクリプトにさらに以下の定義を追加する。すなわち、上記第1の機能によって上記要求画像を表示している際の、上記画像表示装置の第2の機能としての動作の定義である。上記制御スクリプト生成手段は、この第2の機能を定義した制御スクリプトを、上記表示用データ要求メッセージの内容に応じて生成する。
最後に、上記表示用データ生成手段は、上記要求画像と、上記制御スクリプト生成手段が生成した上記制御スクリプトとを含む表示用データを生成する。
これにより、画像表示装置が要求した表示用データ(画像)に応じて、第1および第2の機能を定義した制御スクリプトを生成することができ、そのような制御スクリプトを含む表示用データを、画像表示装置の要求に対する応答として提供することができる。
上記制御スクリプト生成手段は、上記制御スクリプトを、画像表示装置が要求画像を表示する第1の機能に加えて、該第1の機能によって上記要求画像を表示している際の当該画像表示装置の動作が第2の機能として定義して生成する。上記第2の機能も、画像表示装置の基本機能が組み合わされて実現する画像表示装置の機能である。
これにより、制御スクリプトを表示用データの内容に応じて生成して画像表示装置に提供することにより、要求画像を表示するという機能にとどまらず、様々な第2の機能を画像表示装置に提供することが可能となる。
したがって、画像表示装置が市場に出た後でも、画像表示装置に実行させる上記第2の機能を柔軟に追加、変更することが可能となり、画像表示装置における基本機能プログラム格納部に格納された基本機能プログラムを更新せずとも画像表示装置の機能変更を容易に行うことが可能となる。
なお、画像表示装置の上記基本機能プログラム格納部が、ROMなどの不揮発性記憶装置で実現されており、格納された基本機能プログラムが容易に書き換え不可能な場合にでも、上述のように、画像表示装置の機能を容易に変更することができる。そのため、上述の画像表示装置の基本機能実行手段を有する組込み型機器に対して、上記制御スクリプト生成手段が生成した制御スクリプトを提供すれば、特に効果が大きい。
また、このように、画像表示装置の機能を容易に変更をすることができるため、あらかじめ画像表示装置に組み込む機能については、出荷前に、あらゆるニーズを想定してそれを網羅するために膨大な量の機能を事前に搭載しておくという無駄を省くことができる。結果として、画像表示装置の開発に係る負担を軽減することが可能となる。
さらに、上記第1の機能および第2の機能を定義した制御スクリプトは、画像表示装置にて表示される画像とともに、表示用データに含まれて画像表示装置に提供される。このため、表示される画像と、第2の機能とを対応付けて管理することができ、表示用データを生成して送信する側(画像データ提供装置)においても、表示用データを受信して処理する側(画像表示装置)においても管理が容易になる。
そして、上記制御スクリプト生成手段は、表示用データ(および、それに含まれる画像)ごとに制御スクリプトを生成するので、画像表示装置が処理する表示用データ(画像)にとって必要な第2の機能を、表示用データ(画像)に応じて効率よく画像表示装置に提供することが可能となる。
以上のことから、画像表示装置の効率的な開発が行えて、かつ、市場に出た画像表示装置の機能変更を容易に行うことが可能となる。
さらに、上記画像データ提供装置は、画像情報記憶部に記憶された、上記要求画像の属性情報を取得する属性情報取得手段を備え、上記制御スクリプト生成手段は、上記属性情報取得手段が取得した上記要求画像の属性情報に基づいて、上記制御スクリプトを生成してもよい。
上記構成によれば、上記制御スクリプト生成手段は、この第2の機能を定義した制御スクリプトを、上記要求画像の属性情報に応じて生成する。
これにより、画像表示装置が表示する要求画像にとって必要な第2の機能を、要求画像の属性情報に応じて効率よく画像表示装置に提供することが可能となる。
例えば、上記画像の属性情報としては、画像の天地が実際の天地と一致しているか否かの判定結果、画像に附属する回転処理の要不要を示す情報、画像の画素数、画像に附属する画像の持ち主のコメントの有無、画像に附属する著作権保護情報、などが挙げられるが、これに限定されない。
さらに、上記表示用データ要求メッセージには、上記画像表示装置に関する関連情報が含まれており、上記画像データ提供装置は、上記表示用データ要求メッセージから、上記関連情報を取得する関連情報取得手段を備え、上記制御スクリプト生成手段は、上記関連情報取得手段が取得した関連情報に基づいて、上記制御スクリプトを生成してもよい。
上記構成によれば、上記制御スクリプト生成手段は、この第2の機能を定義した制御スクリプトを、上記画像表示装置に関する関連情報に応じて生成する。
これにより、画像表示装置が表示する要求画像にとって必要な第2の機能を、上記画像表示装置に関する関連情報に応じて効率よく画像表示装置に提供することが可能となる。
例えば、上記画像表示装置に関する関連情報としては、まず、要求元の画像表示装置の画像表示に関する仕様情報として、画像表示装置の機種名、装置ID、画面サイズ、画面画素数、または、搭載されるソフトウェアのバージョン情報などが挙げられる。また、要求元の画像表示装置に設定されている設定情報として、(画像の)コメントの表示/非表示を設定する情報、画像表示装置の操作方法の表示/非表示を設定する情報、スライドショーをリピート再生するか否かを設定する情報、スライドショーのコマ送り間隔を設定する情報などが挙げられる。あるいは、要求元の画像表示装置に登録されているユーザ情報として、ユーザの年齢、住所などが挙げられる。しかし、上記関連情報は、上記に限定されない。
なお、例えば、上記画像の画素数および上記画像表示装置の画面画素数との比較結果に応じて、第2の機能を定義した制御スクリプトを生成するなどのように、上記画像の属性情報および画像表示装置から供給される関連情報の両方の内容に応じて、第2の機能を定義した制御スクリプトを生成してもよい。
上記画像データ提供装置は、画像情報記憶部に記憶された、上記要求画像の属性情報を取得する属性情報取得手段と、上記画像表示装置に関する関連情報を含む上記表示用データ要求メッセージから、上記関連情報を取得する関連情報取得手段と、上記画像表示装置に提供可能な機能の中から、上記画像表示装置に提供すべき上記第2の機能を、上記属性情報および上記関連情報の少なくとも1つに基づいて決定する機能決定手段とを備え、上記制御スクリプト生成手段は、上記機能決定手段が決定した第2の機能を定義した制御スクリプトを生成してもよい。
上記構成によれば、上記属性情報取得手段は、画像の属性情報を記憶する画像情報記憶部から、要求された要求画像の属性情報を取得する。また、関連情報取得手段は、上記画像表示装置から受信した表示用データ要求メッセージから関連情報を取得する。属性情報は、画像の属性を示す情報であり、関連情報は、画像表示装置に関する情報である。
上記機能決定手段は、上記画像表示装置に提供可能な機能の中から、上記画像表示装置に提供すべき上記第2の機能を、上記属性情報および上記関連情報の少なくとも1つに基づいて決定する。そして、上記制御スクリプト生成手段は、上記機能決定手段が決定した第2の機能を定義した制御スクリプトを生成する。
これにより、要求画像の属性情報、あるいは、上記画像表示装置の関連情報、あるいは、その両方に応じて、画像表示装置が表示する要求画像にとって必要な第2の機能のみを、カスタマイズして効率よく画像表示装置に提供することが可能となる。
上記機能決定手段は、上記第1の機能によって上記画像表示装置に表示される上記要求画像に適用可能な画像編集機能を上記第2の機能として決定してもよい。
これにより、画像表示装置から受信した表示用データ要求メッセージにて要求されている要求画像に対して適用できる画像編集機能のみを画像表示装置に提供することができる。以上のことから、要求されている画像に応じて、画像表示装置の画像編集機能を動的に変更することが可能となる。
例えば、上記機能決定手段は、画像の天地が正しくない画像に対しては、画像回転機を第2の機能として決定したり、あるいは、画像の提供者から編集の許可がおりていない画像に対しては、いずれの画像編集機能も実行されないように決定したりしてもよい。
さらに、上記制御スクリプト生成手段は、上記機能決定手段が決定した第2の機能をユーザが選択するための操作項目を表示する操作項目表示機能を定義した制御スクリプトを生成することが好ましい。
上記構成によれば、上記制御スクリプト生成手段が生成した制御スクリプトには、上記機能決定手段が決定した第2の機能に対応する操作項目を、画像表示装置が表示できるように、操作項目表示機能が定義される。
これにより、要求画像の属性情報、あるいは、上記画像表示装置の関連情報、あるいは、その両方に応じて選択された、画像表示装置が表示する要求画像にとって必要な第2の機能のみを、実行可能な機能としてユーザは選択することが可能となる。
本発明の画像表示システムは、上記課題を解決するために、上述の画像表示装置と、上述の画像データ提供装置とを含み、上記画像データ提供装置は、上記画像表示装置より受信した表示用データ要求メッセージに基づいて、上記制御スクリプトを生成して、要求画像および上記制御スクリプトを含む表示用データを上記画像表示装置に送信し、上記画像表示装置は、上記画像データ提供装置より受信した上記制御スクリプトにしたがって、上記第1の機能を実行して、上記要求画像を表示するとともに、上記第2の機能を実行することを特徴としている。
本発明の画像表示システムの制御方法は、上記課題を解決するために、画像データ提供装置と、該画像データ提供装置にて生成された表示用データを処理して画像を表示する画像表示装置とを含む画像表示システムの制御方法であって、上記画像表示装置が、画像と、該画像を表示する第1の機能を少なくとも定義する制御スクリプトとを含む表示用データを要求する表示用データ要求メッセージを上記画像データ提供装置に送信する第1ステップと、上記画像データ提供装置が、上記画像表示装置から送信された上記表示用データ要求メッセージから、要求された要求画像の識別情報を取得する第2ステップと、上記第2ステップにて取得した識別情報によって特定される要求画像を表示する第1の機能を定義する制御スクリプトを生成する第3ステップと、上記表示用データ要求メッセージに基づいて、上記第1の機能によって上記要求画像を表示している際の上記画像表示装置の動作を、第2の機能として定義して、上記第3ステップにて生成した制御スクリプトに追加する第4ステップと、上記要求画像と、上記第3および第4ステップにて生成した制御スクリプトとを含む表示用データを生成して上記画像表示装置に送信する第5ステップと、上記画像表示装置が、上記画像データ提供装置から受信した上記制御スクリプトにしたがって、基本機能プログラム格納部に格納された、上記制御スクリプトから呼び出される基本機能プログラムを実行することにより、上記第1の機能を実行して上記要求画像を表示する第6ステップと、上記制御スクリプトにしたがって上記基本機能プログラムを実行することにより、上記第2の機能を実行する第7ステップとを含むことを特徴としている。
上記構成および方法によれば、画像データ提供装置は、画像表示装置が要求した表示用データの内容に応じて、第2の機能を定義した制御スクリプトが生成され、要求画像とともに表示用データとして提供する。画像データ提供装置から、上記表示用データを取得した画像表示装置は、該表示用データに含まれる制御スクリプトに基づいて、第2の機能を実行する。
これにより、組込み型機器である画像表示装置の機能変更を容易に行うことが可能な画像表示システムを構築することが可能となる。
〔補足事項2〕
なお、上記画像表示装置において、上述した構成に加えて、さらに、上記制御スクリプトには、ユーザの操作と、該操作を受け付けたときに自装置が実行すべき機能とが対応付けて定義されており、上記制御スクリプト実行手段は、上記制御スクリプトにおいて、ユーザより受け付けた操作に対応付けられている機能を実行することができる。
上記構成によれば、上記制御スクリプト実行手段は、画像表示装置がユーザの操作を受け付けると、上記制御スクリプトにおいて受け付けた操作に対応付けられている機能を実行することができる。
これにより、画像表示装置は、制御スクリプトに記述されているとおり、ユーザの操作に応じてあらかじめ制御スクリプトで定められた機能を実行することが可能となる。
したがって、上記ユーザの操作と上記機能との対応関係は、上記制御スクリプトにて定義されているので、その対応関係を容易に変更することができる。これにより、同一のユーザ操作に対して、異なる機能を割り当てたり、同一の機能を、異なるユーザ操作によって実行させるようにすることが容易に行える。
〔補足事項3〕
本発明に係る画像表示装置は、上記課題を解決するために、オブジェクトを表示するための表示用データを処理して、オブジェクトを表示する画像表示装置であって、上記表示用データは、オブジェクトと、該オブジェクトを表示する第1の機能を少なくとも定義する制御スクリプトとを含んでおり、基本機能プログラム格納部に格納された、上記制御スクリプトから呼び出される基本機能プログラムを実行する基本機能実行手段と、上記制御スクリプトにしたがって上記基本機能実行手段を制御して、上記制御スクリプトが定義する上記第1の機能を実行するとともに、上記制御スクリプトが第2の機能として定義する、上記第1の機能によって上記オブジェクトを表示している際の自装置の動作を実行する制御スクリプト実行手段とを備え、上記制御スクリプトには、さらに、上記第1の機能または上記第2の機能が表示画面の変更を伴う変更付随機能である場合に再描画すべき表示画面の領域である再描画領域が定義されており、上記制御スクリプト実行手段は、上記変更付随機能を実行するとき、上記制御スクリプトにしたがって上記基本機能実行手段を制御して再描画領域を特定して、該再描画領域の再描画を実行することを特徴としている。
上記構成によれば、画像表示装置は、オブジェクトと、該オブジェクトを表示する機能を少なくとも定義する制御スクリプトとを含む表示用データを取得し、該表示用データを処理して、上記オブジェクトを表示する。具体的には、上記制御スクリプトから呼び出される基本機能プログラムを実行する基本機能実行手段を、制御スクリプト実行手段が制御スクリプトにしたがい制御して、制御スクリプトに定義されている機能(オブジェクトを表示する第1の機能)を実行してオブジェクトを表示する。すなわち、1以上の上記基本機能が制御スクリプトにしたがって組み合わされて画像表示装置の1つの機能(上記第1の機能など)が実現される。オブジェクトとは、画像表示装置に表示される対象物のことであり、画像、動画、図形、テキスト、写真、イラストなどあらゆる表示対象物のことを指している。
さらに、上記制御スクリプトには、オブジェクトを表示する第1の機能に加えて、該第1の機能によって上記オブジェクトを表示している際の当該画像表示装置の動作が第2の機能として定義されている。上記第2の機能も、上記基本機能が組み合わされて実現する画像表示装置の機能である。
上記制御スクリプト実行手段は、上記制御スクリプトにしたがって、上記基本機能実行手段を制御して、上記第2の機能を実行する。
これにより、制御スクリプトを用いて、オブジェクトを表示するという機能にとどまらず、様々な第2の機能を画像表示装置において実現することが可能となる。
さらに、上記制御スクリプトには、上記第1および第2の機能に加えて、再描画領域が定義されている。再描画領域とは、画像表示装置が、第1または第2の機能の実行に伴って、表示内容を変更する必要が生じた場合に再描画すべき表示画面の領域のことである。上記第1および第2の機能のうち、表示内容の変更を伴う機能については、変更付随機能と称する。
上記制御スクリプト実行手段は、上記変更付随機能を実行するとき、上記制御スクリプトに記述された再描画領域の定義にしたがって、上記基本機能実行手段を制御して再描画領域を特定して、該再描画領域の再描画を実行する。
これにより、制御スクリプトを用いて、画像表示装置に、第1または第2の機能を実行したときに、該制御スクリプトが定義する再描画領域内の表示内容を変更させることができる。
制御スクリプトは、表示すべき内容に応じて、表示用データに含めて都度画像表示装置に提供できるものである。よって、どのようなオブジェクトを表示するか、または、どのような機能を実行するかなどの状況に応じて、任意に動的に再描画領域を定義して、画像表示装置に再描画を行わせることができる。
以上のことから、画像表示装置が市場に出た後でも、画像表示装置に実行させる上記第2の機能を柔軟に追加、変更することが可能となり、基本機能プログラム格納部に格納された基本機能プログラムを更新せずとも画像表示装置の機能変更を容易に行うことが可能となる。そして、状況に応じて動的に再描画領域を定義して画像表示装置に再描画を行わせることが容易に行える。
なお、上記基本機能プログラム格納部が、ROMなどの不揮発性記憶装置で実現されており、格納された基本機能プログラムが容易に書き換え不可能な場合にでも、上述のように、画像表示装置の機能を容易に変更することができる。そのため、組込み型機器に対して本発明の画像表示装置を適用すれば、特に効果が大きい。
また、このように容易に機能変更を行うことができるため、あらかじめ組み込む機能については、出荷前に、あらゆるニーズを想定してそれを網羅するために膨大な量の機能を事前に搭載しておくという無駄を省くことができる。結果として、画像表示装置の開発に係る負担を軽減することが可能となる。
さらに、上記第1の機能および第2の機能を定義した制御スクリプトは、画像表示装置にて表示される画像とともに、表示用データに含まれて画像表示装置に提供される。このため、表示される画像と、第2の機能とを対応付けて管理することができ、表示用データを生成して送信する側においても、表示用データを受信して処理する側(画像表示装置)においても管理が容易になる。
そして、表示用データ(および、それに含まれる画像)ごとに制御スクリプトが生成されるので、画像表示装置は、自身が処理する表示用データ(オブジェクト)にとって必要な第2の機能のみを、表示用データ(オブジェクト)に応じて効率よく取得したり、それらの機能が変更付随機能である場合に、適した再描画領域が定義されている制御スクリプトを取得したりすることが可能となる。
以上のことから、画像表示装置の効率的な開発が行えて、かつ、市場に出た画像表示装置の機能変更を容易に行うことが可能となる。
さらに、上記制御スクリプトには、上記再描画領域が、上記オブジェクトの表示領域の全体を含むかまたは全く含まないかのいずれかになるように定義されていることが好ましい。
上記構成によれば、画像表示装置は、上記制御スクリプトにしたがって、変更付随機能を実行するときに必要な再描画領域を特定するときに、オブジェクトを丸ごと含むか、あるいは、全く含まないように再描画領域を特定する。つまり、オブジェクトの一部分だけが再描画領域にかかっているということがなくなる。
これにより、制御スクリプトを用いて、再描画領域に全体が収まったオブジェクトについてのみ再描画の処理が実行されるように、画像表示装置を制御することが可能となる。
上述のように、制御スクリプトによって、画像表示装置が再描画を実行する再描画領域を任意に指定できるので、以下のような場合には、特に大きな効果を奏する。
例えば、上記表示画面に、重なり合うオブジェクトが含まれているとする。
オブジェクト(以下、変更対象オブジェクト)表示中に変更付随機能が実行されると、当該変更対象オブジェクト全体を含む領域(例えば、外接矩形)が再描画領域として特定される。しかしながら、この再描画領域に重なり合う他のオブジェクトが一部でも含まれる場合、上記再描画領域に含まれる上記変更対象オブジェクトを再描画するのみでは正しく再描画できたとはいえない。上記再描画領域に含まれているすべてのオブジェクトを再描画する必要がある。
ここで、上記再描画領域に、他のオブジェクトが部分的に含まれている場合、再描画のためには、当該オブジェクトのうち、上記再描画領域に含まれている部分(クリッピング領域)のみを特定する処理が必要となる。このように、クリッピング領域を求める処理をクリッピング処理と称する。このクリッピング処理は、上記オブジェクトの形状が複雑になればなるほど画像表示装置にとって負荷の高い処理となる。したがって、再描画領域は、オブジェクト全体を含むか、もしくは、全く含まないように特定されることが望ましい。また、さらに、再描画処理の負荷を低減するためには、再描画領域を必要最小限にとどめることが望ましい。
ここで、上記制御スクリプトを用いれば、表示用データの内容に応じて、オブジェクト(特に、クリッピング処理の負荷が大きくなるような複雑な形状を持つオブジェクト)を部分的に含むことがないように、かつ、必要最小限の領域に抑えて再描画領域を指定することができる。
したがって、そのような制御スクリプトにしたがって、再描画を行えば、画像表示装置は、クリッピング処理を回避しつつ、必要最小限の領域のみを再描画領域として特定して、効率よく再描画の処理を実行することが可能となる。
あるいは、上記制御スクリプトには、上記再描画領域が、自装置の全表示画面となるように定義されていてもよい。
上記構成によれば、画像表示装置は、変更付随機能を実行するときには、上記制御スクリプトにしたがって、全表示領域を再描画領域として特定し再描画を実行する。
これにより、意図的に表示画面全体の再描画を行って、表示画面の切り換えを正しく行うことができる。
なお、上記制御スクリプトにおける再描画領域の指定の仕方は、一例であって、これに限定されない。例えば、作業記憶領域の乏しい画像表示装置において、表示画面の切り換えをスムーズに行うために、所定の表示領域が常に再描画されるように再描画領域を指定したり、あるいは、特定のオブジェクトが常に再描画されるようにオブジェクトを指定しておくことで再描画領域を画像表示装置に特定させたりしてもよい。
本発明の画像データ提供装置は、上記課題を解決するために、画像表示装置がオブジェクトを表示するための表示用データを生成する画像データ提供装置であって、上記オブジェクトを表示する第1の機能を少なくとも定義した制御スクリプトを生成する制御スクリプト生成手段と、上記オブジェクトと、上記制御スクリプト生成手段が生成した上記制御スクリプトとを含む表示用データを生成する表示用データ生成手段とを備え、上記制御スクリプト生成手段は、上記第1の機能によって上記オブジェクトを表示している際の上記画像表示装置の動作を第2の機能としてさらに定義し、上記第1の機能または上記第2の機能が、上記画像表示装置において表示画面の変更を伴う変更付随機能である場合に、上記画像表示装置が再描画すべき表示画面の領域である再描画領域をさらに定義した制御スクリプトを生成することを特徴としている。
上記構成によれば、上記制御スクリプト生成手段は、第1の機能、第2の機能を定義するとともに、上記各機能が変更付随機能である場合に再描画が必要な領域を再描画領域として定義した制御スクリプトを生成する。
これにより、画像表示装置が市場に出た後でも、画像表示装置に実行させる上記第2の機能を柔軟に追加、変更することが可能となり、基本機能プログラム格納部に格納された基本機能プログラムを更新せずとも画像表示装置の機能変更を容易に行うことが可能となる。そして、状況に応じて動的に再描画領域を定義して画像表示装置に再描画を行わせることが容易に行える。
上記制御スクリプト生成手段は、上記再描画領域が、上記オブジェクトの表示領域の全体を含むかまたは全く含まないかのいずれかになるように定義された制御スクリプトを生成することが好ましい。
これにより、負荷の大きいクリッピング処理を回避しつつ、必要最小限の領域のみを再描画領域として特定して効率のよい再描画の処理を実行するように画像表示装置を制御することが可能となる。
あるいは、上記制御スクリプト生成手段は、上記再描画領域が、上記画像表示装置の表示画面全域となるように定義された制御スクリプトを生成してもよい。
これにより、画像表示装置において、意図的に表示画面全体の再描画を行わせて、表示画面の切り換えを正しく行うことができる。
本発明の画像表示システムは、上記課題を解決するために、上述した画像表示装置と、上述した画像データ提供装置とを含み、上記画像データ提供装置は、上記画像表示装置により要求されたオブジェクトと、上記制御スクリプトとを含む表示用データを生成し、上記画像表示装置の上記制御スクリプト実行手段は、上記表示用データに含まれる上記制御スクリプトにしたがって動作することを特徴としている。
本発明の画像表示システムの制御方法は、上記課題を解決するために、画像データ提供装置と、該画像データ提供装置にて生成された表示用データを処理してオブジェクトを表示する画像表示装置とを含む画像表示システムの制御方法であって、上記画像表示装置が、オブジェクトと、該オブジェクトを表示する第1の機能を少なくとも定義する制御スクリプトとを含む表示用データを、上記画像データ提供装置に要求する要求ステップと、上記画像データ提供装置が、上記画像表示装置により要求されたオブジェクトを表示する第1の機能を定義するとともに、上記第1の機能によって上記オブジェクトを表示している際の上記画像表示装置の動作を、第2の機能として定義する制御スクリプトを生成する生成ステップと、上記制御スクリプトに定義された上記第1の機能または上記第2の機能が、上記画像表示装置において表示画面の変更を伴う変更付随機能である場合に上記画像表示装置が再描画すべき表示画面の領域である再描画領域をさらに定義して、上記生成ステップにて生成した制御スクリプトに追加する追加ステップと、上記要求されたオブジェクトと、上記生成ステップおよび追加ステップにて生成した制御スクリプトとを含む表示用データを上記画像表示装置に送信する送信ステップと、上記画像表示装置が、上記画像データ提供装置から受信した上記制御スクリプトにしたがって、基本機能プログラム格納部に格納された、上記制御スクリプトから呼び出される基本機能プログラムを実行することにより、上記第1の機能を実行して上記要求したオブジェクトを表示する第1機能実行ステップと、上記制御スクリプトにしたがって上記基本機能プログラムを実行することにより、上記第2の機能を実行する第2機能実行ステップと、上記第1機能実行ステップにて実行される上記第1の機能および上記第2機能実行ステップにて実行される上記第2の機能が、表示画面の変更を伴う変更付随機能である場合に、上記制御スクリプトにしたがって上記基本機能実行手段を制御して上記再描画領域を特定する特定ステップと、上記特定ステップにて特定された再描画領域を再描画する再描画ステップとを含むことを特徴としている。
上記方法によれば、上記画像表示装置がオブジェクトと、該オブジェクトを表示する第1の機能を少なくとも定義する制御スクリプトとを含む表示用データを、上記画像データ提供装置に要求し、その要求に応じて、上記画像データ提供装置は、要求されたオブジェクトを含む表示データを生成する。そして、上記画像データ提供装置は、上記表示用データに含める制御スクリプトを以下のようにして作成する。
すなわち、まず、要求されたオブジェクトを表示する第1の機能を定義するとともに、上記第1の機能によって上記オブジェクトを表示している際の上記画像表示装置の動作を、第2の機能として定義した制御スクリプトを生成する。次に、上記第1の機能または上記第2の機能が、上記画像表示装置において表示画面の変更を伴う変更付随機能である場合に上記画像表示装置が再描画すべき表示画面の領域である再描画領域をさらに定義して上記制御スクリプトに含める。
上記画像表示装置は、上述のようにして生成された制御スクリプトを含む表示用データを上記画像データ提供装置から受信し、制御スクリプト実行手段は、上記制御スクリプトに基づいて動作を行う。具体的には、制御スクリプトにしたがって、第1の機能および第2の機能を実行し、当該各機能が変更付随機能である場合には、再描画領域を特定して、再描画を実行する。
これにより、制御スクリプトを用いて、オブジェクトを表示するという第1の機能にとどまらず、様々な第2の機能を画像表示装置に実行させるとともに、第1または第2の機能を実行したときに再描画すべき領域を画像表示装置に対して指定することが可能な画像表示システムを実現することができる。
以上のことから、画像表示装置が市場に出た後でも、画像表示装置に実行させる上記第2の機能を柔軟に追加、変更することが可能となり、基本機能プログラム格納部に格納された基本機能プログラムを更新せずとも画像表示装置の機能変更を容易に行うことが可能となる。そして、状況に応じて動的に再描画領域を定義して画像表示装置に再描画を行わせることが容易に行える。