JP2008512012A - デジタルテレビで双方向サービスを提供する方法及びシステム - Google Patents

デジタルテレビで双方向サービスを提供する方法及びシステム Download PDF

Info

Publication number
JP2008512012A
JP2008512012A JP2007528610A JP2007528610A JP2008512012A JP 2008512012 A JP2008512012 A JP 2008512012A JP 2007528610 A JP2007528610 A JP 2007528610A JP 2007528610 A JP2007528610 A JP 2007528610A JP 2008512012 A JP2008512012 A JP 2008512012A
Authority
JP
Japan
Prior art keywords
logic
digital
data
service
screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007528610A
Other languages
English (en)
Inventor
マウリツィオ・ペリッツァ
ルイジ・クァットロッキ
ラウラ・コンティーン
Original Assignee
テレコム・イタリア・エッセ・ピー・アー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレコム・イタリア・エッセ・ピー・アー filed Critical テレコム・イタリア・エッセ・ピー・アー
Publication of JP2008512012A publication Critical patent/JP2008512012A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本発明はスクリーンに接続されたデジタル受信装置(例えば、セットトップボックス)上に双方向サービスを提供するための方法及びシステムに関するものであり、前記双方向サービスはスクリーン上に表示できるメディアコンテンツを含む。双方向サービスはサービスアプリケーションにより提供され、該サービスアプリケーションは、動的サービスロジックを含んだデジタル受信装置内で実行され、動的サービスロジックは、スクリーン上に視覚化される新しいメディアコンテンツを生成できる。動的サービスロジックは、サービスアプリケーション自体の中に記憶されるか又はサーバからダウンロードされるデータを用いることにより、動的情報をオンザフライで生成する能力を与えるアプリケーションロジックである。これらのデータは、スクリプト視覚表現を生成するよう作用する「生」の情報コンテンツを含む。動的サービスロジックは1以上のビジネスロジックを備え、このビジネスロジックは、例えばユーザーの要求を受けてランタイム時にコンテキスト依存コンテンツをクライアント側で生成することを担当する。セットトップボックス内で実行されるアプリケーションが、双方向性を与える動的シーンをローカルにて生成できる動的サービスロジックを含むので、双方向サービスをリターンチャンネルの無いセットトップボックスにおいても提供できる。

Description

本発明はセットトップボックスなどのデジタル受信装置に対して双方向テレビコンテンツを有効にし処理するためのシステム及び方法に関する。
デジタル伝送技術の最近の出現により、今では放送会社は従来のアナログ放送の映像よりも十分に多くのものを提供することができる。デジタル伝送ではアナログ伝送よりもかなり広い帯域幅を必要とするが、デジタル信号は圧縮することができる。MPEG(モーション・ピクチャー・エキスパート・グループの頭字語)規格などのコンピュータ技術を用いて、1つの画像とその次に続くものとの間で生じる変化を抜き出してそれだけを伝送する。デジタルテレビによりデータの放送が可能となり、デジタルテレビ環境において双方向サービスを導入することができる。
デジタル信号の伝送は様々な方法で行なうことができる。デジタル地上波テレビ(DTT)網においては、放送信号を「無線」でアンテナまで伝送する。地上波、ケーブル及び衛星に加えて、IPシステムはテレビを家庭に持ち込んで映像、音声及びデータコンテンツを受信する手段をユーザーに提供する実行可能な手段である。
現在、たいていのテレビ視聴者はセットトップボックス(STB)を介してデジタルテレビを見るが、このセットトップボックス(STB)が、デジタル信号を復号化してテレビモニター(又はデュアル・スクリーン・システムの場合にはPCモニター)上に表示する。先進のSTBは単なる復号器以上のことができ、例えば、モデムと通信網(例えばPSTN)を使用するサービス提供者によって遠隔コントロールを行なってユーザーと相互作用できるアプリケーションを実行するようにプログラミングできる。実際、STBは一般にソフトウェアを実行するコンピュータを備え、信号を復号化し、音声又は映像ストリームと共に伝送されるソフトウェアを実行する。一方向システム用のSTBは情報にアクセスしてそれをTVスクリーン上に重ねることができる。二方向システムはリターンチャンネルを介して放送会社(又はサービス提供者)に情報を返送する。一方向システムでは、双方向性はローカルで利用可能な情報に限定され(例えばユーザーはSTB上で利用可能なページを進むことができる)、一方、二方向システムでは、ユーザーは(例えばサービスを要求したり、情報を送信するために)遠隔のサーバと相互作用できる。
リターンチャンネルは、クライアントがサーバと相互作用すべくSTBにより使用される物理経路である。例えば、双方向TVのユーザーはリターンチャンネルを介して情報(例えば投票、アンケート、サービスの要求)をサービスセンターに返信できる。この物理経路は、電話やADSLモデム回線などの有線接続、又は無線、例えばGPRSやUMTSとし得る。
デジタルテレビの場合、一般に双方向性とは、テレビ視聴者が番組やサービスと相互作用できるようにすることを意味している。しばしば、双方向性は2つの種類、すなわち高機能テレビと双方向サービスとに分けられる。一般に、高機能テレビとは、テレビ視聴者がテレビ番組を受動的に見る以上のことができることを意味する。このシステムにより、テレビ視聴者は高機能テレビ番組を見ながら、同時に番組に関連する追加の情報をダウンロードすることができる。高機能テレビでは、双方向性は「低レベル」であり、例えばアナログテレビの文字多重放送のアプリケーションで行われるようにページをブラウジングすることに非常に類似している。
一般に、双方向サービスでは、例えばユーザーがメニューの選択肢を押すとかコンテンツが更新されるとかの外部イベントに応じて情報が配信されることを仮定する。この情報は文脈依存的であり、オンザフライに生成できる。その場合、双方向サービスは、現在及び次回の番組についての告知、又は電子番組ガイド(EPG)に関連した情報などの変化のない情報に関して、トランスポート・ストリームを探索可能にする機能を越えることができる。双方向サービスの一例として、電子小売業者により提供される取引サービスや、特定の空港からの定期便についての情報のオンデマンド配信が挙げられる。双方向サービスでは、コンテンツに関連する情報、すなわち放送されるTVコンテンツに依存した情報か、又は番組の流れから独立した情報にアクセスすることを伴う。しばしば、コンテンツに関連したサービスと流れに独立なサービスとの違いは、サービスを生成又は配信するためにサービス提供者が誰と契約しているか、すなわち、TVチャンネル提供者(放送会社)かMVPD(多チャンネル映像番組配信者)かに存する。この後者は、プラットフォームオペレータとして機能する。例として、実際、金融情報や株価のオンデマンド配信は、ビジネスチャンネルの番組に関連付けることもできるし、特定の番組の流れとは無関係に行なうこともできる。
以下、双方向サービスとは、双方向性に関与する番組の向上と、番組の流れとは独立した専用の双方向サービスとの両方を含むものとする。
双方向サービスは、TVコンテンツを提供しているのと同じ放送チャンネルか、又は別の伝送回線、すなわちネットワーク接続を介して与えられる。一般に、双方向サービスにアクセスする方法は、赤外線信号を復号器に送るリモート制御機器又はリモートキーボードを用いる。
これらのサービスの多くがウエブを介して利用可能になってきている。ウエブサービスの形式で追加チャンネルを受信できる先進のセットトップボックスが市販されだしている。インターネットへの接続性は、組み込みモデムによるか、又は広帯域ホームネットワークへのWiFi若しくはイーサネット接続により得ることができる。
このSTBは一般に映像、音声及びデータの構成要素からなるデジタル放送信号を受信する。このデータ構成要素は、反復「カルーセル」方式で提供され、必要とされる際に受信者によりモジュールをダウンロードする。一般に、このモジュールは、Java(登録商標)プログラミング言語で書かれた双方向アプリケーションを含む。このSTBはJava仮想マシン(JVM)を備え、それがリンクするJavaクラスファイルを受信し、双方向アプリケーションを実行する。
一般に、このSTBはアプリケーションを開始するためにミドルウェアを必要とする。ミドルウェアはSTB内に常駐のソフトウェア及びハードウェアであり、アプリケーションが機能するのを共に助ける。ミドルウェア提供者は、ユーザーが番組や製品を選択し、インターネットに接続し、安全な取引をすることができるようにソフトウェアとインターフェースとを開発する。ミドルウェアの例としては、Liberate、Open TV、Microsoft TV及びJava TVが挙げられる。
Javaはプラットフォームに独立なオブジェクト指向プログラミング言語である。Javaは、一般にアプレットと称される小さなプログラムを作成するために特に設計されている。このアプレットは、ネットワーク上の中央サーバに存在し、必要なときにのみクライアントマシンに配信される。Javaプログラムは一回だけ書き込まれ、JVMを含む任意の種類のプラットフォーム上で実行できる。オブジェクト指向言語であるがゆえ、Javaで書かれたソフトウェアはオブジェクト指向プログラミングの利点を利用できる。Java言語では、プログラムデータは、プログラマーが生成したクラスであろうと、JavaプラットフォームAPI(アプリケーション・プログラミング・インターフェース)ライブラリから用いたクラスであろうと、クラス内に包まれる。クラスはデータと該データに作用するよう実行可能なコード(メソッドともいう)との両方を含む。Javaでは、オブジェクトはクラスのランタイム・インスタンスであり、その挙動はメソッドに定義される。Javaで書かれたプログラムは、まずJavaコンパイラを用いてバイトコードにコンパイルされる。バイトコードは、JVMにより翻訳し実行できるプラットフォーム独立なコマンドである。このJVMは、Javaプログラムを実行しなければならない各プラットフォームに対してインプリメントしなければならない仮想コンピュータである。このJVMは、コンパイルしたバイトコードと基礎のハードウェアプラットフォーム及びオペレーティングシステムとの間のアブストラクション・レイヤを与える。このJVMがプログラムを実行する場合、Javaバイトコードを取り込んで基礎のハードウェア用のマシンコード命令に翻訳又は変換し、このマシンコード命令を実行用のCPUに送る。このようにして機能することにより、Javaプログラムは一回だけ書き込まれて、JVMが利用可能などんなプラットフォーム上でも実行することができる。
新たに現れた標準的な双方向テレビ(iTV)用のプラットフォームは、マルチメディア・ホーム・プラットフォーム(MHP)であり、これはデジタル・ビデオ・ブロードキャスティング(DVB)(デジタルTV放送の種々の面を標準化する産業主導型のコンソーシアム)により設計されたオープン・ミドルウェア・システムである。MHPは、すべての第三者が彼ら自身のiTVアプリケーションを開発し操作することを可能にするAPIセットである。一般に、MHPは例えばSunのJavaTVネットワークに基づいてJavaランタイム環境において定義される。
DVB-MHPアプリケーションはDVB-Java又はDVB-HTMLアプリケーションとして分類できる。一般に、DVB-Java(又はDBV-J)アプリケーションはXletアプリケーションという。これらはすべてSTB内で実行され、STB内に常駐するか、又はオブジェクト及びデータカルーセル又はネットワークからダウンロードされ得る。Xletアプリケーションはアプリケーションマネージャーにより制御され、このアプリケーションマネージャーは、システムソフトウェアの一部であり、STB内に常駐している。このアプリケーションマネージャーは、アプリケーションのライフサイクルを管理することを担当する。
C.PengとP.Vuorimaaは、「Digital Television Application Manager」[IEEE International Conference on Multimedia and Expo 2001(東京(日本)、2001年8月22〜25日、pp.685-688)に発行]において、DVB-MHP規格のマルチメディアサービスにアクセスするための、プラットフォーム内のアプリケーションマネージャーの設計を発表している。実際には、DVB-Jアプリケーションは、共に動作する1組のJavaクラスであり、これらは、アプリケーションマネージャーがその状態の変化を制御できるように、1つのインスタンスとしてアプリケーションマネージャーに知らせる必要がある。この論文では、ダウンロード可能なアプリケーションのすべての情報がアプリケーション情報テーブル(AIT)に記憶される、これは、他の基本的なストリームと共にMPEG-2トランスポートストリームに多重化されて転送される。アプリケーションマネージャーは、場所を特定しアプリケーションの情報を知らせるためにこの情報を必要とする。このために、JavaクラスローダーとJVMのクラス技術が用いられ、アプリケーションクラスを様々なソースからロードしてネームの衝突を解決した。
一般に、ユーザーにグラフィカルインターフェースを与えてサービスを選択させるため、ナビゲーター又は電子番組ガイド(EPG)が用いられる。いったんサービスが選択されると、XletがDVB端末にダウンロードされ、DVB端末が、ユーザーにグラフィカルインターフェースを示してXletにより提供される機能を選択させる。J.Cosmas他は「Providing Fast Prototypes of Services and Automated Generation of Service Applications for Converged Broadcast and Cellular Networks」(2004年7月5日現在インターネットからwww.ist-overdrive.org/HyWiN2003/proceedings/2.41.Hywin-PaperServices2003-ll-16.pdfにてダウンロードされる)において、一般グラフィカル・プレゼンテーション・エンジンを与えるユーザーインターフェースを開示しており、このエンジンは、サービスユーザーインターフェースをユーザーに与えるグラフィカルユーザーインターフェースの下で動作する。このプレゼンテーションエンジンは、メタデータを解釈し、グラフィカルユーザーインターフェースを介したユーザーの相互作用を取り込み、メタデータにより記述された対応するコマンドを実行する。
WO03/104980には放送会社により用いられる相対的に低いデータレートによるデータ転送において検出可能な遅延が生じる問題が述べられている。この特許出願には、JVMの操作方法が記載され、親Javaクラスファイルを含んだモジュールをロードすること、及び親Javaクラスファイル中に列挙された子孫Javaクラスファイルを特定することを含む。この親Javaクラスファイルは、この子孫Javaクラスファイルの事前ロードと同時に実行される。
US2004/0031052には、アプリケーションサーバとTVナビゲーターを実行している加入者STBとの間で通信を行なうCATVシステムが記載されている。このTVナビゲーターは、すべてのコンテンツ及びアプリケーションが書かれるミドルウェア環境である。アプリケーションはミドルウェアの先頭に常駐する。コンテンツとアプリケーションはもっぱら業界標準のHTMLとJavaにて書かれる。従来のテレビコンテンツはHTML及びJavaへのTV特定エクステンションを用いてWebコンテンツと統合される。
一般に、高機能テレビコンテンツはHTML、JavaScript、Java及びその他のWeb技術の組み合わせを用いて与えられる。WO02/17639には、テキストベース・スクリプト・エンハンスメント・ファイルをパーズしてプラットフォーム依存のエンハンスメント・ファイルを生成するシステム及び方法が開示されている。このスクリプトファイルはXML(eXtensible Mark-up Language)フォーマットで構成でき、パーサーはXSL(eXtensible Stylesheet Language)トランスレータとし得る。このパーサーはHTML及びJavaScriptを他のアプリケーションからインポートしてもよい。
インターネット環境内で、近年、Webサイトの双方向性は、典型的には質疑応答又は賭け事システムにおいて用いられる動的Webページの出現によって強化されてきた。このシステムはソフトウェアプラットフォーム上で動作するJava Webサーバを用いることによってセットアップできる。このサーバは顧客からの要求を処理し、データベースサーバを接続し、Webブラウザーから動的コンテンツを生成するためにJavaサーブレットを用いる。
C.Peng及びP.Vuorimaa、「Interactive Digital Teletext Service」(Proceedings of the 6th World Multiconference on Systematics,Cybernetics and Informatics,July 14-18,2002)には、Java-XMLに基づいた解決策が記載されており、この解決策では、デジタルテレビインフラストラクチャーにより提供されるリターンチャンネルを用いることによってデジタル文字多重放送に双方向通信を付加することができる。このアプローチは、クライアント/サーバモデルに基づいており、XMLベースのメッセージング機構とJavaサーブレット技術を利用する。
出願人は、動的ページの作成のためにJavaサーブレットを用いる技術はクライアント-サーバアーキテクチャーに基づいており、サービスロジックはサーバ側にあるが、プレゼンテーションはクライアント側に存在することに注目した。出願人は、STBがリターンチャンネルを使用しない場合、ユーザーとの相互作用により更新し得る動的コンテンツをSTBに与えることができないと分かった。
WO03/104980 US2004/0031052 WO02/17639
iTVアプリケーションを展開する上で重大な問題は、たいていの市販のSTBにおいて、iTVアプリケーションを記憶し処理するために用いる搭載メモリの量が限定的なことである。
出願人は、受信される双方向コンテンツがXMLにて表されるとき双方向性を軽量STBにおいて有利に維持し得ることが分かった。
XMLは標準汎用マークアップ言語(SGML)のサブセットである。SGMLはマークアップされた電子テキストを記述するための国際標準であり、メタ言語(言語を形式的に記述する手段)である。SGMLはどのマークアップが可能か、どのマークアップが必要とされているか、及びどのようにしてマークアップをテキストと区別するかを規定する。一般に、「マークアップ」は「タグ」を使用し、このタグは特定の意味をもつ特定のワードである。タグは、文書を有効にする1組のルールをプログラマーが策定できるようにする。XMLでは、タグが文書中の要素を特定し、このタグがこれらの要素についての属性を含む。タグはデータ記述又はデータ関係を表し、複数のリソース間をリンクするための機構を与える。
発明の概要
本発明はスクリーン上に表示できるメディアコンテンツを含んだ双方向サービスをデジタル受信装置に提供する方法及びシステムに関するものである。メディアコンテンツは、テレビ視聴者のスクリーン上に視覚化されるシーンを表す記述ファイルによって記述される。記述ファイルは、スクリーン上にどのようにしてシーンを構築するかについての情報を好ましくはマークアップ言語コンテンツのフォーマットにて含む。1シーンは少なくともグラフィカル要素を含む。さらに、シーンは背景(静止画像)と映像コンテンツを含むこともできる。この映像コンテンツはアニメーション、画像又は映画から構成でき、必ずとは限らないが音声信号と組み合わせることができる。デジタル受信装置はハードウェアとソフトウェアを含んだ装置であり、双方向サービスを受信して該サービスを行なう。双方向サービスはスクリーン、例えばTVスクリーンやPCモニター上に視覚化される。好ましくは、このデジタル受信装置はテレビ視聴者のスクリーン上に表示されるデジタルTV信号をも受信する。好ましくは、このデジタル受信装置はテレビ視聴者のテレビに連動接続されたデジタルセットトップボックス(STB)である。
実際、この双方向サービスはデジタル受信装置において実行されるソフトウェアアプリケーションに対応する。ソフトウェアアプリケーションは、クライアントの呼び出しを受けて、すなわち例えばユーザーのリクエストを受けてデジタル受信装置において開始させることができる。アプリケーションは、インターネット又は放送チャンネルなどの遠隔ネットワーク内に存在し得るサーバからダウンロードし得る。プル型サービスの場合のようにユーザーの要求により呼び出されるのに加えて、アプリケーションはプッシュモードにて開始させることができる、すなわち、クライアントはサーバが情報を送ると例えば新しいコンテンツが利用可能になるのでアプリケーションを自動的に開始する。代わりに、アプリケーションを事前にクライアント内に常駐させ、ユーザーにより自動開始又は起動させることができる。本発明は、受信装置においてダウンロード及び/又は開始できる放送アプリケーションと、常駐アプリケーションの両方に適する。
以下、双方向サービスを提供できるソフトウェアアプリケーションをサービスアプリケーションという。
出願人は、双方向サービスを提供するサービスアプリケーションが動的サービスロジックを含む場合、メディアコンテンツをクライアント側にて動的に生成できることを見いだした。この動的サービスロジックは、サービスアプリケーション自体に記憶されているか又はサーバからダウンロードされるデータを用いてオンザフライで動的情報を生成する能力を与えるアプリケーションロジックである。この動的サービスロジックは1又は複数のビジネスロジックから成り、例えば、ユーザーのリクエストを受けてクライアント側で実行時に文脈依存コンテンツを生成することを担う。この場合、ビジネスロジックは、例えばユーザーデータを変換若しくは編成するか、又はユーザーデータを他の情報と組み合わせるために、(何らかの)ユーザーデータに論理操作を行なうソフトウェア機能の処理構成要素である。このビジネスロジックはロジックマネージャーと称されるソフトウェア構成要素により「開始」すなわちインスタンス化され、このロジックマネージャーはまた、ビジネスロジックにより定められた論理操作を実行できるユーザーデータに対してビジネスロジックをアクセスさせる。ユーザーデータへの論理操作により、オンザフライで「新しい」メディアコンテンツが生成され、スクリーン上に視覚化される。ユーザーデータはスクリプトの視覚的表現を生成するよう機能する「生」の情報コンテンツを含む。
好ましくは、動的サービスロジックは1組のJavaクラスとして定義される。Javaクラスはクライアントプラットフォームのランタイム環境においてインスタンス化され得る。
デジタル受信装置は、サービスロジックを実行できる仮想マシンを含む。好ましくは、ロジックマネージャーは1より多いアプリケーションに共通のクライアントプラットフォームの部分であり、ビジネスロジックはサービスロジックのアプリケーション特定構成要素である。ビジネスロジック(1又は複数)とロジックマネージャーの両方とも、サービスアプリケーション中に含まれる動的サービスロジック内に含まれる。
詳細な説明ではクライアント/STBの例を用いているが、本発明はパーソナルデジタルアシスタント(PDA)、携帯電話、ポケットパーソナルコンピュータ又は電子信号を受信でき且つテレビなどの映画表示装置に送信できるその他の任意の種類の電子装置を含めてすべてのクライアント装置に適用できる。ソフトウェアアプリケーションが携帯電話上にインプリメントされる場合には、表示装置を電話の組み込みディスプレーとするか、又は携帯電話を接続できるDTVドックステーションとすることができる。
本発明の利点の一つは、STBにおいて実行されるアプリケーションが、双方向性を与える動的シーンをローカルで生成するサービスロジックを含む場合、リターンチャンネルの無いSTBにおいても双方向サービスを実行できることである。
本発明によるサービスアプリケーションは、生のアプリケーションデータと実行可能なコード部分とを含む。この実行可能なコード部分は、メディアコンテンツをスクリーン上に表示するための第1の実行可能なコードと、動的サービスロジック中に含まれて、新しいメディアコンテンツを生成できる第2の実行可能なコードとを含む。
好ましくは、新しいメディアコンテンツを生成するよう働き得るこの生の情報データは、少なくともマルチメディアファイル(例えば、映画、画像及び音楽)、すなわちユーザーデータを含まないデータ部分に対してHTML、WML及びXMLなどのマークアップ言語を用いてフォーマットされる。さらに好ましくは、このフォーマットはXML規格を用いて記述される。
詳細な説明
一般にサービスアプリケーションは一連のシーンを含む。1シーンはスクリーン上でのメディアコンテンツの「視覚的」構成である。換言すれば、シーンは、配信されたメディアコンテンツの映像(及びメディアコンテンツにサウンドが含まれている場合には音声)についてのスクリーンの視聴者による知覚である。シーンは、双方向サービスが放送される番組と少なくとも部分的に重なる場合にはデジタルTV信号を含むこともできる。メディアコンテンツは、背景(静止画)、映像(映画又は画像)、及びテキストとグラフィックスとを含んだグラフィカル要素を含むことができる。グラフィカル要素はグラフィカル構成要素により表され、グラフィカル構成要素は、要素、選択時の特性又は一般に要素への作用を選択可能にする機能を定める。
シーンは、テキスト、音声、映像、音楽ファイルなどの要素の集合として表すことができ、その各々又は任意の組み合わせにより静止画及び/又は動画、テキスト及びサウンドを生じさせる。シーンは静止していてもよく、すなわち、アプリケーションが作られるときにそれらのコンテンツが完全に定められてもよく、又は動的にしてもよく、すなわち、アプリケーションが作られるときそれらのコンテンツ(の一部)は定められないが、文脈依存であり、例えばユーザーの要求、又はデータの更新を受けて生成される。換言すれば、動的シーンは、例えばSTBのランタイム環境においてオンザフライにて生成及び配信される。
静止シーンは、Webブラウジング及びハイパーメディアリンク(すなわち、ハイパーリンク)に類似の機能によりナビゲーション中に探索できる。新しいコンテンツを生成しないシーン内でのシーンを介するナビゲーションに関連する機能は、ローカル双方向性ともいうが、これは「低レベル」の双方向性を意味する。
サービスアプリケーションは通常はデジタルTV信号と同時に送信されるので、必ずではないが、グラフィカル構成要素を表示されたTV画像に部分的に又は完全に重ねることができる。例えば、シーン中に含まれるウインドウ内にてTV信号をサイズ変更して再生できる。シーン中に含まれる要素の例として、TVスクリーン上でスクロールできるテキストリスト、テキストを挿入できるフィールド、相互に排他的な選択肢の選択可能なメニュー、及びWebページへの前方リンクとしてURL(ユニホーム・リソース・ロケータ)が関連付けられたグラフィカル要素が挙げられる。
ソフトウェアアプリケーションがWebアプリケーションである特別な場合、シーンはWebページ、例えばインターネットから送信されたHTML又はXHTMLデータである。
ソフトウェアアプリケーションは好ましくはJavaにて実行されるが、このことは必須ではない。全体システムはソフトウェアに基づいており、オブジェクト指向プログラミング言語を用いて開発されることが分かる。アプリケーションデータ、少なくともマルチメディアコンテンツを含まないものは、好ましくはXMLなどのマークアップ言語を用いて記述される。
図1は、本発明の態様により、スクリーン上に表示されるメディアコンテンツを受信するためのデジタル受信装置に与えられるサービスアプリケーション10を概略的に示す。例えば、このアプリケーションは放送チャンネルから又は通信網からダウンロードできる。この態様では、サービスアプリケーション10は、例えばTV-SCARTケーブルにより双方向サービスを表示するTVスクリーン3に接続されたSTBにおいて開始される。アナログTV表示システムの場合、STBのコンピュータハードウェアとTVスクリーンとの間でデジタル-アナログ変換器(図1には図示せず)を接続してデジタル信号をアナログ信号に変換することもできる。アプリケーション10はアプリケーション実行可能部分1、生のアプリケーションデータ2及び記述ファイル(18)を含み、アプリケーションの後の二つの部分(2及び18)は実行可能なコードを含まないデータを含む。生のアプリケーションデータ2は特定のアプリケーションに固有のものとし得る。実行可能なアプリケーション部分1はミドルウェアソフトウェア層(以下、「プラットフォーム」又は「クライアントプラットフォーム」という)を含み、このミドルウェアソフトウェア層は、実行可能なプログラムを含んだソフトウェアモジュール、すなわちパーサー8、アプリケーションコントローラ16、ロジックマネージャー14、スクリーンマネージャー11、グラフィック構成要素9及びマルチメディア(MM)構成要素15を備える。この実行可能なアプリケーション部分1はまた、アプリケーション特定のモジュール、すなわちビジネスロジックソフトウェアモジュール12を含む。プラットフォームとアプリケーション特定の論理装置との違いは、単にソフトウェア開発者の側から見て好ましいインプリメンテーションとして理解すべきであり、限定的に考えるべきでない。
アプリケーション実行可能な部分1は第1及び第2の実行可能なコードを含み、この第1の実行可能なコードはスクリーンマネージャー11及びグラフィカル構成要素9(及び好ましくはMM構成要素15)中に含まれ、ロジックマネージャー14とビジネスロジック12とが第2の実行可能なコードを含む。好ましくは、このアプリケーション実行可能な部分はパーサー8とアプリケーションコントローラ16とを含む。
いくつかのアプリケーションでは1又は複数の内部データベースを構築しなければならないかもしれず、この内部データベースにおいて、テキスト又はマルチメディアである生のデータが、アプリケーションの実行可能な部分のソフトウェアモジュールにより読み取り理解できるフォーマットにて記憶されるか、又はそれらのソフトウェアモジュールにより使用されるのに適した様にデータを編成できる。図1に示された態様では、アプリケーション10はデータベース(DB)13を含む。DB13は図1においてアプリケーション10の実行可能な部分1中にグラフィカルに表されているが、当然ながらDB13は実行可能なコードを含まない。
この態様では、プラットフォームは特定のアプリケーションに限定されない実行可能なソフトウェアの部分を含む。このプラットフォームは例えば様々な双方向サービス、すなわちSTBにおいて実行し得る様々なアプリケーションを生成するためにアプリケーション開発者が使用できる。当然に、サービスアプリケーションのプラットフォームは、MHPなどの一般にSTB内に常駐するミドルウェア層のレベルよりも高いアプリケーションレベルに配置されたミドルウェア層である。プラットフォームは永続的にSTB内に常駐し得るが、このことはSTBの持続的な記憶容量が十分に大きいことを意味する。ハードウェアリソースが限定的なSTBの場合、プラットフォーム(及び実際にはサービスアプリケーション)はランタイム中に例えばSTBの揮発性キャッシュメモリを駆動する。
以下の説明から明らかになるように、ビジネスロジック12とロジックマネージャー14はサービスアプリケーションの動的サービスロジック中に含まれ、クライアント側で文脈依存メディアコンテンツを生成できる。
実行可能なコードは、一連の命令を含んだファイルとしてしばしば扱われる1つの(又は一部の)実行可能なプログラムである。実行可能なコードはメソッドとも言われる。好ましい態様では、アプリケーションの実行可能なコード(メソッド)はバイトコードやpコードなどの中間コードであり、これはプロセッサにより理解されるコンパイルされたファイル(すなわちオブジェクトコード)である。ソフトウェアアプリケーション10のコードを実行可能にするため、STBは仮想マシンを備え、この仮想マシンは、該コードを実行できるソフトウェアの一部であり、コンピュータプラットフォーム、すなわちアプリケーションプログラムが実行できる基礎のコンピュータシステムと、ソフトウェアを操作できるエンドユーザーとの間の環境を作ることができる。特に、この仮想マシンはホストハードウェア(例えばSTB内にあるコンピュータハードウェア)上にてネイティブコードで書かれたプログラムであり、このホストハードウェアが一般中間コードをハードウェア上で使用可能なコードに翻訳する。好ましくは、この仮想マシンシステムはJava実行可能なアプリケーションを実行させるJava仮想マシン(JVM)である。特に、JVMはJavaクラスを読み出し、クラスファイルの実行可能な部分を実行する。
図1に示された態様のSTBはリターンチャンネルをもたない。生のアプリケーションデータ2はユーザーデータ7とマルチメディアコンテンツ17とを含み、一方、記述ファイル18はコンフィギュレーションファイル4、静止シーンの定義用の記述ファイル(ページ5をいう)、動的シーンの記述用のテンプレートファイル(テンプレート6という)を含む。ユーザーデータ7はエンドユーザーに伝達されるテキスト情報、例えば、特定の宛先にオンデマンドでスケジュールを与える双方向サービスのアプリケーションにおける完全な列車運転時刻表などを表す。このユーザーデータは「生」のテキスト情報コンテンツを含み、これをエラボレートして視覚化されるテキストを生成する。もちろん、このテキストはシンボル、ブレット又は一般にスクリプト視覚表現に含まれるその他のフィールドを含むことができる。
構成要素マルチメディアコンテンツ17は、シーンを構成するため、場合によっては他のグラフィカル要素と共に、エラボレートされていないマルチメディアファイルを含む。マルチメディアファイルの例としては、背景写真、アイコン、アニメーション、サウンド又は音楽の一節が挙げられる。マルチメディアファイルはJPEG、GIF、PNG及びMP3などの様々なフォーマットにし得る。
記述ファイル18はスクリーン上に視覚化されるシーンを表す。後で明らかになるように、双方向サービスの場合、記述ファイルの一部、すなわちテンプレートファイル6は、ある特定のアプリケーションデータに基づいて新しいメディアコンテンツを生成可能にするプログラム(すなわち、実行可能なコード)へのリンク(1又は複数)を含む。換言すれば、シーンの一部、例えば情報提供コンテンツを依然として生成しなければならないので、テンプレートファイルは全体のシーンの記述を含まない。
コンフィギュレーションファイル4は、アプリケーションの開始段階で用いられ、グラフィック構成要素9及びマルチメディア(MM)構成要素15の初期化に関する情報を含む。グラフィック構成要素9及びマルチメディア(MM)構成要素15は、例えば背景、ロゴ、メニュー選択肢用のフッターのレイアウト又はTVスクリーン上でのその位置及びサイズを定めるため、アプリケーションのすべてのシーンに共通である。
ページ5は(例えば情報提供Webページのための)静止シーンを記述するのに用いられる1組の記述ファイルを含み、例えば開発段階にてサービス開発者によりアプリケーションが作られるとき、これらのコンテンツが作られる。この記述ファイルはランタイム時には変えられない。この記述ファイルは、どのようにシーンをTVスクリーン上に与えるか、及びローカルの双方向性、例えばブラウジングをどのように管理しなければならないかについて、完全な記述を含む。記述ファイルはグラフィック構成要素9中のメソッドを呼び出す。グラフィック構成要素は、例えばコンテンツのフォーマット及び位置やそれらの関係を定義する(例えばコンテンツは別のコンテンツの表示が終了した後にコンテンツが現れる中心がどこにあるかに依存する)。特に、記述ファイルがXMLフォーマットならば、記述ファイルはXMLタグを含み、その各タグは特定のグラフィック構成要素を示し、タグに関連の属性はそのグラフィック構成要素のメソッド(1又は複数)に対応している。メソッドはスクリーンマネージャー11により呼び出される。Javaにおいて、グラフィック構成要素はクラスにより表され、XMLタグの属性はグラフィック構成要素におけるそのクラスのクラス名を含む。このタグ属性は当該クラスに関連のメソッドに対応し、スクリーンマネージャーはランタイムオブジェクトを生成することにより当該クラスをインスタンス化する。これらのXMLタグは「記述的」XMLタグということができる。というのは、後で詳細に説明するように、先進の双方向性特徴をインプリメントするのに用いられるテンプレート中に含まれる「呼び出し」タグ(又は「ユーザーデータ」タグ)と混同すべきでないが、シーン中にどのようにコンテンツを提示するかを記述するのに用いられるからである。静止シーンの場合、記述的タグのみが用いられ、サポートされる唯一の「双方向性」は、例えばシーン内でシーンを通じてナビゲーションを可能にするハイパーリンクである。
テンプレートモジュール6は、動的コンテンツ、すなわちオンザフライで生成され文脈依存であるコンテンツの場合に用いられる。構成要素テンプレートは、少なくとも1つのテンプレートファイルを含み、一般にはテンプレートファイルの集合を含む。テンプレートファイルは記述ファイルと同様であると考えることができるが、後に詳細に説明するように、動的情報を構築する動的サービスアプリケーションロジックの論理要素へのリンク(1又は複数)を含むことにより、動的情報の生成をサポートする。特に、動的シーンの場合、そのシーンに対するテンプレートファイルは、マークアップ言語、好ましくはXMLにより記述され、また、動的サービスロジックにおいてメソッドを呼び出す動作への論理リンクである「呼び出し」タグを含む。この動的サービスロジックはアプリケーション10の実行可能な部分1に含まれ、ロジックマネージャー14及びビジネスロジック構成要素12を含む。特に、この呼び出しタグはロジックマネージャーに対し、ビジネスロジックユニット12において特定のビジネスロジック(すなわち、タグ中に特定された)中に含まれるプログラムを実行することを要求する。換言すれば、この呼び出しタグは、所与のユーザーデータに特定の論理操作を実行するビジネスロジックのインスタンス化を要求する。このビジネスロジックはロジックマネージャーによりインスタンス化され、このロジックマネージャーは、クライアントプラットフォームの他の部分とビジネスロジックとの間で何らかの論理インターフェースとして機能する。このロジックマネージャーは、ビジネスロジックの実行の要求の流れを制御し、その実行から出力ファイルを受け取り、よって出力ファイルの流れも制御する。ロジックマネージャーはビジネスロジックにおけるプログラム中にメソッドを呼び出すことによりビジネスロジックをインスタンス化し、論理操作を実行する必要のあるデータを与え、そして論理操作の結果、すなわちビジネスロジックの出力を得る。特に、インスタンス化されるとき、このビジネスロジックは、例えば、DB13又はその特定部分へのデータポインタ(すなわち有効リンク)によって当該コンテンツにアクセスするロジックマネージャーによって、コンテンツを受信する。
好ましくは、ビジネスロジックはプラットフォームの外部にあり、ロジックマネージャーはプラットフォームに含まれる。というのは、プラットフォームが1より多いアプリケーションに共通のプログラムを含むことができるように、ビジネスロジックは特定のサービスアプリケーションに限定されたビジネスロジックを含むことができるからである。
好ましくは、アプリケーションデータは記述ファイル18及びユーザーデータ7(すなわち画像又はサウンドを除く)の一般コンテンツフォーマットとしてXMLを用いる。この利点は、異種ソースからのコンテンツを統合することである。さらに、メッセージの大きさは相対的に小さく、例えば双方向TV(例えばDVB-HTML)の場合にHTMLファイルの大きさよりも小さいので、このメッセージ指向のアプローチはGPRS、インターネット又は放送チャンネルに情報を送信するのに適している。よって、コンフィギュレーションファイル4、ページ5、テンプレート6及びユーザーデータ7は好ましくはXMLフォーマットにする。マルチメディアコンテンツ17は、MPEG、JPEG、MP2などの様々なフォーマットで表現できる例えば写真、音楽、ビデオクリップなどを含んだマルチメディアファイルを含む。
一般には、パーサー8は、所与の公式の文法、すなわち公式言語の記述に基づいて入力ファイルの文法構造を解析するコンピュータプログラム又はプログラムの構成要素であり、このプロセスは構文解析として知られている。マークアップ言語に基づいた(例えばXMLに基づいた)アーキテクチャーでは、パーサーはプログラム、例えばマークアップ言語にてファイルを読み取ることができるJavaソフトウェアの一部である。次に、パーサーは入力文書を構成単位(例えば、XMLタグやタグの一部)に分解する、すなわち、他のプログラムにより管理できるように入力文書をパーズする。特に、パーサー8はコンフィギュレーション4、記述5、テンプレート6及びユーザーデータ7を形成するXMLファイルを読み取り、それらをアプリケーションコントローラ16に対して「翻訳」することができる。
アプリケーションコントローラ16は、実行する操作が静的情報のエラボレーションであるか又は動的情報のエラボレーションであるかにそれぞれ依存して、コマンド(例えばXMLタグ)をスクリーンマネージャー11か又はロジックマネージャー14に送るコンピュータプログラム(又は部分)である。このアプリケーションコントローラは、生のアプリケーションデータ及び記述ファイルから発した(パーズされた)情報の一種の論理コーディネータとして機能する。さらに、アプリケーションコントローラは、ユーザー相互作用によりトリガーされたイベントに対応するスクリーンマネージャーからの要求を受け取る。
図1ではそれらは夫々の論理機能を分離するため2つの別個のソフトウェアモジュールとして表されているが、パーサーとアプリケーションコントローラは1つの実行可能なプログラムとでき、例えば同じJavaクラスの異なるメソッドとし得る。
スクリーンマネージャー11はグラフィック構成要素9の構成及び管理に関してアプリケーションコントローラ16から入力を受け取る。これらの入力は記述ファイル18中に含まれる。特に、これは、グラフィック構成要素、それらの属性(例えば大きさ、位置、色及びテキストフォーマッティング)及び反応(例えばフォーカスされたときの色の変化)についての情報を受け取る。換言すれば、スクリーンマネージャー11はグラフィック構成要素9を管理し、画像レンダリング及びTVスクリーン上のフォーカス管理を担う。さらに、スクリーンマネージャーはユーザーの操作をアプリケーションコントローラへの要求に変換する。
グラフィック構成要素9は、1より多いサービスアプリケーションに共通にし得るグラフィックライブラリ(例えばコンボボックス、スクロールリスト)、又は特定のアプリケーションに限定しうるグラフィックライブラリ(例えばロゴ、背景及び仮想キーボード)を表す。グラフィカル構成要素の例としては、コンボボックスやラジオボタンが挙げられる。Javaでは、グラフィカル構成要素はグラフィカルユーザーインターフェース(GUI)(しばしばウィジェット又はコントロールという)にて編成され、低レベルの作図や相互作用ルーチンのためのアブストラクション・レイヤを提供する。よって、GUIはTVスクリーン上にグラフィックス/ウィジェットを描き、遠隔コントロールによりユーザーから情報を入力する機能を含む。より一般には、GUI及び一般にグラフィック構成要素は、シーンの要素により表されるソフトウェアツールであり、ユーザーとアプリケーションの内部作用との間を取り持つ。グラフィック構成要素は、遠隔コントロールなどのユーザーインターフェースを介してユーザーにより少なくとも部分的に選択可能とし得る。この場合、各グラフィック構成要素に対してユーザー相互作用に関連した反応(例えばメニューの循環性やフォーカスされた要素をどのように強調するか)を定義できる。
ロジックマネージャー14はビジネスロジックを取り扱うプログラムである。図1の表現では、このビジネスロジックはソフトウェアモジュールであるビジネスロジック12中に含まれる。このビジネスロジックは、ユーザーの動作に基づいた動的コンテンツの生成など(例えば要求データの抽出、新しい情報を生成するためのデータの結合、データ順序付けなど)の先進の双方向性特徴をインプリメントするのに用いられる。ロジックマネージャーの活動の一部は、論理リンク(例えばタグ)をロジックマネージャーに送るアプリケーションコントローラ16により制御され、ロジックマネージャーが、特定のビジネスロジック及びそのメソッドの実行に関連したオブジェクトのインスタンス化を要求する。Javaインプリメンテーションでは、このビジネスロジックは、Javaクラスによって表されるロジックマネージャーによりインスタンス化された1又は複数のJavaクラス(一般に1つ)である。ビジネスロジックをインプリメントするクラスと、実行すべきメソッド(1又は複数)との両方が、呼び出しタグの属性として規定される。ビジネスロジックに関連したクラスは、ロジックマネージャーにより特定(提供)されたユーザーデータ7から取り込まれた何らかの特定コンテンツ上でインスタンス化される。好ましくは、サービスアプリケーションはJavaにて実行され、サービスアプリケーションの実行可能なソフトウェアモジュールは1組のJavaクラスとして定義される。Javaでは、ロジックマネージャーの活動は、リフレクションと称するJava技術に基づいており、所与のクラス名に対してオブジェクトをインスタンス化し、所与のメソッド名に対して静的メソッド及びインスタンスメソッドを呼び出し、1又は複数のAPIをインプリメントするランタイム時にクラスを生成することを可能にする。これらのクラス名はビジネスロジックに含まれるものである。テンプレート中の呼び出しタグに対応して、アプリケーションコントローラは、ビジネスロジックのクラスに対応した1以上のオブジェクトをインスタンス化し、そのメソッドを呼び出すことをロジックマネージャーに要求する。
ビジネスロジック12に対応したオブジェクトは、ロジックマネージャーにより特定されるデータソースによってインスタンス化される。データは、サービスアプリケーションがパーサー8及びアプリケーションコントローラ16によりそれとインターフェースすべくコードを書く場合には、例えばルックアップテーブル(例えばXMLルックアップテーブル)から、又はデータベース(図1のDB13)から取り込まれる。したがって、この外部のデータソースはユーザーデータ7(又はその一部)又はルックアップテーブル又はデータベースであり、これはユーザーデータから抽出されたデータを含み、この抽出されたデータは必要ならパーズされて適当なデータ構造に分析される。
実際、データベース(DB)13は、ビジネスロジックが扱うことのできる適当な構造にてユーザーデータ7を記憶するために、ロジックマネージャー14により生成さる。換言すれば、ロジックマネージャーのメソッドは、パーズされたユーザーデータをパーサー8から取り込み、ビジネスロジックが読み取ることのできるフォーマット及び構造に編成する。Javaでは、ロジックマネージャー中のメソッドは、ハッシュテーブルなどのJava構造(しばしばリンクリストのアレイとして編成される)を構築するように、パーズされたユーザーデータを編成する。
好ましい態様では、ビジネスロジックのインスタンス化と共に用いるユーザーデータ(一部)は、コンフィギュレーション4又はテンプレート6中に含められ得る「ユーザーデータ」タグによって定められる。ユーザーデータタグを読み取るとき、アプリケーションコントローラはそのタグをロジックマネージャーに送る。ロジックマネージャー中のメソッドは、ユーザーデータタグの属性中に定められたデータ(一部)を取り込み、データポインタにより記述されるデータ構造をDB13中に作る。このデータポインタは、当該ビジネスロジックのインスタンス化が要求されるとき呼び出しタグにより呼び出されるビジネスロジックにロジックマネージャーによって与えられる。
アプリケーションがSTBにおいて開始されるとき、パーサー8はコンフィギュレーションファイル4を読み取るが、このコンフィギュレーションファイル4は、使用される共通ファイルについての情報(例えば、スタイルシートやポーリングデータ)を提供し、視覚化される第1のシーンへのリンクを含む。この第1のシーンが静的であるならば、このリンクはページ5中の記述ファイルに向かう。この第1のシーンが動的であるならば、このリンクはテンプレート6中のテンプレートファイルに向かう。好ましくは、コンフィギュレーション、ページ、テンプレート及びユーザーデータはXMLファイルである。よって、好ましくは、このコンフィギュレーションは、スクリーン上に提示される第1のシーンを特定するのに用いられるタグを含んだXMLファイルである。このタグはインデックスページを識別するためにwebアプリケーション中で用いられるタグに類似している。この第1のシーンは記述ファイル(静的)又はテンプレートファイル(動的)であり得るXMLファイルにより記述される。次に、パーサーは記述又はテンプレートファイルの分析を開始し、ファイルについてパーズされた情報をアプリケーションコントローラに送る。第1のシーンが静的か又は動的かに依存して、アプリケーションコントローラが異なる論理手順に従ってアプリケーションデータを処理する。
第1のシーンが静的であるならば、呼び出しタグはアプリケーションコントローラにより読み取られないので、外部(すなわちプラットフォームの外部)のメソッド、すなわちビジネスロジックは呼び出されない。アプリケーションコントローラはパーズされたデータをページ5中の記述ファイルからスクリーンマネージャーに送り、スクリーンマネージャーはそれを用いてシーンを構築し管理する。限定するものではないが、このパーズされたデータは、下記1)〜3)についての情報を含む。1)どんな要素をシーン内に含めるか(例えばメニュー、コンボボックス及びサイズ変更されたTV信号を表示するウインドウなど);2)表示される要素の属性(例えば大きさ、位置及びグラフィック特徴[例えば、色、フォントタイプ、サイズなど]);及び3)例えばユーザーの相互作用の結果としての外部入力を受けて要素がどのように視覚的に振る舞うかを定める要素の反応。要素の反応は、どのように要素をスクリーン上にフォーカスし得るか、それを他の要素により認識できるか否か、すなわち、他のオブジェクトがオブジェクトのステータスを「見る」ことができるか否か、及び認識されたオブジェクトのステータスに従ってそれらのステータスを変更できるか否かを含み得る(この機能は例えばDVB-Javaにおいて定義される)。パーズされたデータは、要素に含まれるべき静止テキスト(例えばメニュー中の項目)、又はマルチメディアコンテンツモジュール17中に含まれるマルチメディアコンテンツのURLを含むこともできる。最後に、これらのデータは、シーンを管理するのに適した情報、例えばシーン内のナビゲーション経路、新しいシーンのURL、又はシーンの変化をもたらすイベント(例えばユーザーがキーを押すこと又は経過時間)を含み得る。アプリケーションコントローラは、プレーンテキストにより「記述的タグ」、シーンの「要素」、すなわちグラフィック構成要素のインプリメンテーション、それらの位置及びそれらの特性を認識する。グラフィック構成要素のインプリメンテーションは、スクリーン上の視覚的構成からなるシーンの構造を含み、それらの特性は、要素の反応、すなわちユーザーの相互作用を受けて要素がどのように反応するかを含む。シーンのインプリメンテーションの反応の例は、色又はフォントの変更、及びメニューの選択肢を選択した結果のウインドウのポップアップである。XMLでは、この反応は、記述(又はテンプレート)ファイル中に含まれた記述的タグの属性によって定義される。この情報はグラフィック構成要素からスクリーンマネージャーに送られる。
シーンのコンテンツに関しては、マルチメディアコンテンツはマルチメディアファイル(例えば、MPEG-1、JPEG、GIF、PNG、MP3)を含んだ17から取り込まれ、ユーザーデータコンテンツはDB13から取り込まれる。シーンを構築するため、スクリーンマネージャー11はグラフィック構成要素9及び(MM)構成要素15においてそれぞれメソッドを呼び出す。MHP規格では、グラフィック構成要素はHAVI(ホーム・オーディオ-ビデオ・インターオペラビリティ)又はJava AWT(アブストラクト・ウインドウ・ツールキット)APIなどのグラフィックライブラリから取り込まれる。MM構成要素15は、MMファイルの実行(例えばMP3ファイルから一曲の音楽を演奏することなど)を可能にするプログラム、例えばJavaクラスを含む。よって、MM構成要素の例は、音楽プレーヤー又は映像プレーヤー、一般にはマルチメディアプレーヤーである。
以下、動的コンテンツ、例えばユーザーにより押されるソフトキーなどの何らかのイベントの発生に依存した項目リストを含んだシーンの場合を考える。この場合、このシーンはテンプレート6中のテンプレートファイルにより記述される。このファイルのコンテンツの構造及び種類はページ5中の記述ファイルと同様であるが、少なくとも呼び出しタグ、すなわち、プラットフォームの外部にあるプログラムの実行を要求するタグを含む。アプリケーションコントローラ16がテンプレートファイルを分析している間に呼び出しタグを見つけると、実行すべきプログラムについての情報をロジックマネージャー14に送る。この呼び出しタグは、発生したイベントに関連のメディアコンテンツをオンザフライで生成するために、この態様ではプラットフォームの外部にあるビジネスロジック12中の1以上のビジネスロジックを呼び出さなければならないことを示す。換言すれば、表示すべきコンテンツは、外部イベントに従って1以上のビジネスロジックによりランタイムにて生成する必要がある。
この構文解析プロセスは、パーサー8が呼び出しタグに出くわすまで静止シーンについて説明したプロセスに類似している。アプリケーションコントローラ16は呼び出しタグを検出し、関連のメソッドを認識する。Javaインプリメンテーションにおいて、アプリケーションコントローラは、呼び出しタグに関連したクラス及びメソッドが、ビジネスロジック12のクラスに固有であることを認識する。このクラス(又は一般に実行可能なコード)は、動的コンテンツを生成するために用いられるビジネスロジックのインプリメンテーションである。アプリケーションコントローラが呼び出されたクラスを認識したら、ロジックマネージャー14に対し(呼び出しタグ中に含まれるリクエストを送ることにより)、12において呼び出されたビジネスロジックをインプリメントすることにより当該クラスをインスタンス化することを「要求」する。ロジックマネージャーは呼び出されたビジネスロジックにおいて特定されたメソッドをトリガーする。
呼び出されたビジネスロジックは、この態様のDB13において外部データソースを有するロジックマネージャーによってインスタンス化される。このテンプレートファイルは呼び出しタグの前にアプリケーションコントローラにより検出される「ユーザー-データ」タグを含む。このユーザー-データタグは、ロジックマネージャーをトリガーして、ユーザーデータ7からデータを抽出し、ユーザーデータ(の一部)に対するデータポインタにより記述されるデータ構造、例えば、データベース(DB)13を作らせる。
このロジックマネージャーは、呼び出しタグにより要求されるビジネスロジックをインスタンス化するとき、DB13へのデータポインタを当該ビジネスロジックに与える。
ユーザー-データタグは、テンプレートファイル中に含ませる代わりに、4のコンフィギュレーションファイル中に埋め込むことができる。この場合、必要なすべてのデータは、サービスアプリケーションが開始されるとき、サービスアプリケーションの実行可能な部分に「ダウンロード」され、すなわち、DB13において適当なフォーマットに変換される。しかしながら、ユーザー-データタグがテンプレートXMLファイル中に存在して呼び出しタグの前に検出可能である態様では、呼び出されたビジネスロジックに関連したデータのみが存在する小さいDBの作成が可能になるので好ましい。この好ましい態様では、新しいビジネスロジックを実行する必要があるたびにビジネスロジックのみが実行されるので、その新しいビジネスロジックに関連したデータを前に実行したビジネスロジックのデータ上に上書きすることができる。
入力データへの論理操作の結果、ビジネスロジックは表示されるデータ19を含んだXMLファイルを生成する。
XMLファイル19はロジックマネージャー14に戻され、ロジックマネージャー14がそれをパーサー8に送る。パーサーはXMLファイル19を解釈し、パーズされたファイルをアプリケーションコントローラに送り、アプリケーションコントローラが、この「動的情報」(すなわち、ちょうどオンザフライで生成されたもの)をスクリーンマネージャー11に送りシーンを構成する。スクリーンマネージャーはテンプレートにより特定されるシーン内の場所、例えばメニュー中の特定の場所にこの情報を挿入し、グラフィック構成要素の適当なメソッドをインスタンス化することによって動的コンテンツを含むグラフィックオブジェクトを生成する。
例えば、この動的情報は、外部イベントの結果として生成する必要のある新しい項目リスト、例えば、列車の時刻表のアプリケーションの場合に特定の目的地に結び付けられた列車の駅のリストとし得る。アプリケーションコントローラは、シーンを構築するためにテンプレート中に含まれる情報をスクリーンマネージャーに送る。アプリケーションコントローラは要求リストに関連した呼び出しタグを読み取ると、項目リストはテンプレートファイルにおいて利用可能でなく、ビジネスロジックにより生成しなければならないことを理解する。よって、アプリケーションコントローラは、テンプレートにおいて特定されるクラスのメソッド(1又は複数)を呼び出すことによって動的コンテンツを生成する要求をロジックマネージャーに送り、例えば、該メソッドにより引き起こされる動作は、「DB13から取り込まれたデータからリストを生成」できる(この例ではデータは既にDB13中に存在していると仮定する)。ロジックマネージャーは、リフレクションを用いることにより、クラスをインスタンス化し関連のメソッド(1又は複数)を呼び出す。メソッドにより引き起こされる動作の他の例は、ユーザーにより規定される何らかの基準に従ってDB13からのデータをフィルタリングすること、ユーザーにより規定されたようにDB13から取り込まれたいくつかのデータをマージすること、及びデータのプレゼンテーションを順序付け構造化することである。ビジネスロジックは、新しいリストに含まれるべき項目と共にXMLファイル19をロジックマネージャーに戻す。ロジックマネージャーはこのファイル19をパーサーに送る。(パーズされたファイルに埋め込まれた)これらの項目は、スクリーンマネージャー、パーサー及びアプリケーションコントローラに与えられる。スクリーンマネージャーは当該項目をリスト中に挿入し、テンプレートにより示されたように該リストをシーン中に挿入する。
最後に、上述したように動的に構築されたシーンは、TVスクリーン3上に提示できる。スクリーンマネージャーにより実行されるシーン構築の論理的な処理とTVスクリーン上でのレンダリングとは、前に静止シーンについて説明したのと同様とし得る。
アプリケーションコントローラが呼び出しタグを読み取ると、シーンの構築が「スタンバイ」になり、呼び出しタグに関連した情報がロジックマネージャーに送られることに留意されたい。本発明の好ましい態様によると、ランタイムにてインスタンス化されたJavaクラスがアプリケーションの動的サービスロジック、すなわち、ロジックマネージャー及びビジネスロジックをインプリメントする。ランタイムオブジェクト中へのXML呼び出しタグのインスタンス化、すなわち呼び出されたJavaクラスの実行は、Javaクラスのメソッドが呼び出されたときにのみオブジェクトが作られることを意味する。
好ましくは、サービスアプリケーションに必要なグラフィック及び/又はMM構成要素のみが9及び/又は15に存在し、他のグラフィック又はMM構成要素は必要な場合にのみランタイムにてダウンロードされ得る。
第1のページはハイパーリンクに類似の機能により別のページを指し示すことができる。別法として、ユーザーの要求の結果として別のシーンを作成する必要がある。例えば、グラフィック構成要素のインプリメンテーションのために1以上の記述的タグがシーン内に含まれる。スクリーン上のグラフィック選択肢をユーザーが選択した後で、その選択に関連した記述的タグの属性は、ページ5中の記述ファイル又はテンプレート6中のテンプレートファイルへのURLである。テンプレート又は記述ファイルはSTBのランタイム中に記憶し得る。第2のシーンの構築は、静止シーンと動的シーンとの間の同じ違いを有して第1のシーンの構築の場合と同じ論理的推移に従う。したがって、図1に関する上記詳細な説明は、シーン、すなわち第1のシーンの構築について行われたが、この論理プロセスは(一般に、アプリケーションの初期化が既に実施されている場合にコンフィギュレーション4を取り込むことなく)本態様においてサービスアプリケーションを形成する如何なるシーンの構築に対しても当てはまることが分かる。
図2は、本発明の第2の態様を示し、この態様ではクライアントはサービスセンターのバックエンド、すなわち少なくともサーバを備えると共に特に複数のサーバからなる分散システムとし得るソフトウェアシステムに直接接続される。図1に示された要素に対応するサービスアプリケーション20の要素には同じ参照番号が付与されており、それらの詳細な説明は省略する。この態様のSTBはリターンチャンネルを備え、リターンチャンネルが、遠隔通信網24と双方向サービスアプリケーション20をホストするクライアントとを接続する。遠隔ネットワーク24は例えばIP、GPRS又はUMTSネットワークとし得る。リターンチャンネルは有線又は無線の物理経路とし得る。
標準的なクライアント-サーバアーキテクチャー又はWebサービスに基づいて双方向サービスを実施するのに、リターンチャンネルを使用できる。Webサービスは、アプリケーション間でデータを交換するのに用いられるプロトコル及び規格の集合である。種々のプログラミング言語で書かれ種々のプラットフォーム上で実行されるソフトウェアアプリケーションは、通信網、一般にワールドワイドウェブ上でデータを交換するためにWebサービスを使用できる。Webサービスはサービス指向のアーキテクチャーアプローチを反映しており、一般にSOAP(シンプル・オブジェクト・アクセス・プロトコル)などのオープン規格XMLプロトコルを用いることにより通信網上で互いに通信する緩く連結されたソフトウェア構成要素である。サービス提供者は、例えばXMLベースの言語であるWSDL(Webサービス記述言語)を用いて提供される特定サービスの構造を記述できる。
図2の表現では、クライアント/サーバシステムをフロントエンドとバックエンドとに分離することのアブストラクションが用いられる。フロントエンドはサービスセンターの一部であり、これがユーザーからの入力を集めて処理し、それらを適当なフォーマット、すなわちHTTP、SOAPなどのようにサーバ(1又は複数)によりサポートされたプロトコルに変換することを担う。バックエンド23は、フロントエンドからの入力を処理して出力をフロントエンドに与えることができるサービスセンターの部分である。フロントエンドの機能はクライアントとバックエンドとの間のインターフェースと見ることができる。本発明によると、一般にフロントエンドはサーバ側でホストされるが、フロントエンドはユーザーの構内に位置して例えばSTB内で作動し、また動的サービスロジック内に含まれる。動的サービスロジックについて上記述べたように、それは、ソフトウェア構成要素入力26及び出力27を備えたビジネスロジック構成要素22中のロジックマネージャー及びビジネスロジックを用いて、図2に表されるようにオンザフライで動的情報を生成する能力を与えるロジックを意味する。
サービスアプリケーション20はSTB内で実行され、例えばバックエンド23からSTBにダウンロードされる。テンプレート6及びページ5はSTBのランタイム中に存在するか、又はリターンチャンネル上にてダウンロードされ得る。図2の態様では、ビジネスロジック22は入力ロジック26と出力ロジック27とを備え、これらはロジックマネージャー14によりクライアントプラットフォームにプラグインされる。アプリケーション20のクライアントプラットフォームは、ロジックマネージャー14の他にもパーサー8、アプリケーションコントローラ16、スクリーンマネージャー11、及びリターンチャンネル(RC)マネージャー25を備える。RCマネージャー25は遠隔ネットワークとの物理的な接続の設定及び解消を担当する。例えば、リターンチャンネルがPSTNに接続された電話線である場合、RCマネージャーは電話番号をダイヤルし、呼が開放又は閉鎖されたときロジックマネージャーに知らせることを担う。クライアントプラットフォームはまた、グラフィック構成要素9及びMM構成要素15を備える。
サービスアプリケーションは、特定メッセージをサーバに送ることによりバックエンド23(すなわちサーバ)にサービスを要求する。シーンの作成及び管理は、第1の態様で述べたことと同様である。第1の態様との主な相違点の一つは、ビジネスロジックに関連のデータを第1の態様のようにユーザーデータ7から「ローカル」にて取り込むことができるか、又はバックエンド23から取り込むことができるかである。
この態様では、テンプレートファイルは、2つのビジネスロジック、すなわち、ユーザーデータをサーバに要求するための入力ロジック26とサーバからの返答メッセージを渡すための出力ロジック27とを特定する呼び出しタグを含む。前の態様と同様に、呼び出しタグは、特定ユーザーデータ上でビジネスロジックをインスタンス化することをロジックマネージャーに要求する。この態様によるロジックマネージャーは、入力データを含んだメッセージを準備する入力26においてビジネスロジックをインスタンス化し、該メッセージはバックエンド23により用いられるプロトコル(例えば、HTTP及びSOAP)に基づいたフォーマットにある。例えば、入力データは、例えばSTBのリモート制御機器又は仮想キーボード上で利用可能なマルチタップ機能を用いることにより埋められる電子リクエストフォーム中にユーザーが挿入できる。入力中のビジネスロジックによるメッセージの生成はまた、入力データへの論理操作、例えば入力データを7から取り込まれた他のユーザーデータと関連付けることを含み得る。
入力26中のビジネスロジックは、メッセージをバックエンド23に送ることをロジックマネージャーに要求する。それから、ロジックマネージャーはRCマネージャー25を用いることによりメッセージを送る。換言すれば、ロジックマネージャーはバックエンド23への接続を開設することをRCマネージャーに要求する。接続が作動中の場合、ロジックマネージャーは、入力26から受信したメッセージ(ユーザーからの入力データを含む)をバックエンドに送る。
サーバは、入力データを含んだメッセージをエラボレートし、RCマネージャーにより管理されたリターンチャンネルを介してリプライとして返答メッセージをロジックマネージャーに送り返す。ロジックマネージャーは返答メッセージを受信すると、出力27中のビジネスロジックをインスタンス化し、返答メッセージをクライアントプラットフォームにより読み取り可能なフォーマット、例えば、XMLフォーマットに変換する。出力ロジック27の出力は、ロジックマネージャーがパーサー8に送る1組のXMLデータ29である。パーサーがXMLデータ29を解釈し、それをアプリケーションコントローラに送り、アプリケーションコントローラが、(サーバにより生成され、出力によって適当なフォーマットに変換された)この「動的情報」をシーンの構築のためにスクリーンマネージャー11に送る。スクリーンマネージャーはこの情報をテンプレートにより特定される場所に挿入し、グラフィック構成要素の適当なクラス、例えばグラフィックライブラリ中のAPIをインスタンス化することにより、動的コンテンツを含んだグラフィックオブジェクトを生成する。
図2に示されるアーキテクチャーの利点は、入力データ(及び/又は他のユーザーデータ)の翻訳及び処理が「ローカル」にて、すなわちSTBのランタイム中に行われるので、webサービスのサービスロジックの使用ができること、及びクライアント側アプリケーションとバックエンドとの間での通信が十分に効率的になったことである。
図1は、本発明の態様により、スクリーン上に表示されるメディアコンテンツを受信するためのデジタル受信装置に与えられるサービスアプリケーション10を概略的に示す。 図2は、本発明の第2の態様を示し、この態様ではクライアントはサービスセンターのバックエンド、すなわち少なくともサーバを備えると共に特に複数のサーバからなる分散システムとし得るソフトウェアシステムに直接接続される。
符号の説明
1 アプリケーション実行可能部分
2 生のアプリケーションデータ
3 TVスクリーン
10 サービスアプリケーション

Claims (38)

  1. スクリーン(3)に連動接続されると共に、前記スクリーン上に表示できるテレビ信号を受信するよう構成されたデジタル受信装置であって、前記デジタル受信装置は、メディアコンテンツを含んだ双方向サービスを提供するためのサービスアプリケーション(10)を有し、該メディアコンテンツは、第1の実行可能なコードを実行することにより前記スクリーン上に視覚化される一連のシーンを表す記述ファイル(18)により記述され、
    前記サービスアプリケーションはユーザーデータ(7)を含むと共に、前記ユーザーデータ(7)に論理操作を行なうことができる第2の実行可能なコードを含んだ動的サービスロジック(12、14)を有し、前記第2の実行可能なコードは、デジタル受信装置内で実行されて、前記スクリーン上に視覚化される新しいメディアコンテンツを生成することを特徴とするデジタル受信装置。
  2. 前記動的サービスロジックが前記第2の実行可能なコードを前記ユーザーデータ(7)に実行できる少なくとも第1のソフトウェア構成要素、すなわちビジネスロジック(12)と、前記第2の実行可能なコードをインスタンス化することができると共に前記ビジネスロジックに前記ユーザーデータへのアクセスをさせることができる第2のソフトウェア構成要素、すなわちロジックマネージャー(14)とを含むことを特徴とする請求項1に記載のデジタル受信装置。
  3. 前記サービスアプリケーションが前記装置のソフトウェア環境のランタイムにおいて実行されることを特徴とする請求項1又は2に記載のデジタル受信装置。
  4. 前記装置がテレビ視聴者のテレビに連動接続されたデジタルセットトップボックスであることを特徴とする請求項1に記載のデジタル受信装置。
  5. 前記第1及び第2の実行可能なコードを処理する仮想マシンを更に備えることを特徴とする請求項1に記載のデジタル受信装置。
  6. 前記サービスアプリケーション(10)が、前記記述ファイル(18)と前記ユーザーデータ(7)をパーズすることができる第1のソフトウェア構成要素、すなわちパーサー(8)を更に含むことを特徴とする請求項2に記載のデジタル受信装置。
  7. 前記記述ファイル(18)がマークアップ言語コンテンツフォーマットを使用することを特徴とする請求項2に記載のデジタル受信装置。
  8. 前記マークアップ言語がXML言語であることを特徴とする請求項7に記載のデジタル受信装置。
  9. 前記記述ファイル(18)がマークアップ言語コンテンツフォーマットを使用し、前記パーサー(8)は、記述ファイル(18)を表すマークアップファイルを第1及び第2の実行可能なコードに準拠した文書に変換すること、及びタグと属性を前記マークアップファイルから抽出することによって前記記述ファイル(18)をパーズすることができることを特徴とする請求項6に記載のデジタル受信装置。
  10. 前記ロジックマネージャー(14)と前記ビジネスロジック(12)がJavaクラスとしてインプリメントされることを特徴とする請求項2〜9のいずれか一項に記載のデジタル受信装置。
  11. 前記ロジックマネージャーがJavaリフレクション技術を用いることにより前記ビジネスロジックを規定するJavaクラスをインスタンス化することを特徴とする請求項10に記載のデジタル受信装置。
  12. Java仮想マシン(JVM)を更に含むことを特徴とする請求項10又は11に記載のデジタル受信装置。
  13. 前記ユーザーデータ(7)がマークアップ言語をコンテンツフォーマットとして使用することを特徴とする請求項2に記載のデジタル受信装置。
  14. 前記マークアップ言語がXML言語であることを特徴とする請求項16に記載のデジタル受信装置。
  15. 前記記述ファイル(18)が少なくともテンプレートファイル(6)を含み、前記テンプレートファイルが第1のタグ、すなわちユーザー-データタグを含み、該第1のタグが、前記ユーザーデータ(7)を取得すること、及びデータポインタにより記述されたデータ構造(13)を作ることを前記ロジックマネージャーに要求できることを特徴とする請求項7又は8に記載のデジタル受信装置。
  16. 前記データ構造(13)がJavaデータ構造であり、前記ビジネスロジックが前記第2の実行可能なコード及びデータを含んだJavaクラスであり、前記Javaクラスの前記データが前記Javaデータ構造を有することを特徴とする請求項15に記載のデジタル受信装置。
  17. 前記テンプレートファイルが第2のタグ、すなわち呼び出しタグを更に含み、該第2のタグが、前記データ構造(13)上で前記第2の実行可能なコードのインスタンス化を前記ロジックマネージャーに要求することを特徴とする請求項15又は16に記載のデジタル受信装置。
  18. 前記装置に連動接続されると共に、入力情報をユーザーから受信するフィードバック装置を更に備えることを特徴とする請求項1に記載のデジタル受信装置。
  19. 前記サービスアプリケーション(10)が前記第1の実行可能なコードを含んだ第2のソフトウェア構成要素、すなわちグラフィック構成要素(9)を更に含み、前記グラフィック構成要素が前記メディアコンテンツを前記スクリーン上に表示すること、及び前記フィードバック装置を用いることにより前記ユーザーから情報を入力することができることを特徴とする請求項18に記載のデジタル受信装置。
  20. 前記サービスアプリケーションが前記第1の実行可能なコードを含んだ第3のソフトウェア構成要素、すなわちスクリーンマネージャー(11)を更に含み、前記第3のソフトウェア構成要素は、前記シーンの表現のために前記記述ファイル(18)に含まれた命令を受け取ると共に、前記グラフィック構成要素(9)を使用することによりこれらの命令を用いて前記シーンを形成することを特徴とする請求項19に記載のデジタル受信装置。
  21. 前記グラフィック構成要素(9)と前記スクリーンマネージャー(11)がJavaクラスとしてインプリメントされることを特徴とする請求項20に記載のデジタル受信装置。
  22. 前記サービスアプリケーションがマルチメディアコンテンツ(17)を更に含むことを特徴とする請求項1に記載のデジタル受信装置。
  23. 第1の実行可能なコードが前記マルチメディアコンテンツを再生し表示するためにマルチメディア構成要素(15)を含むことを特徴とする請求項22に記載のデジタル受信装置。
  24. 前記装置を遠隔の通信網(24)に接続するためのリターンチャンネルを更に備えることを特徴とする請求項2に記載のデジタル受信装置。
  25. 前記サービスアプリケーションが、前記遠隔の通信網との接続を管理するためにリターンチャンネルマネージャー(25)を更に備え、前記リターンチャンネルマネージャーは、前記接続のステータスについて前記ロジックマネージャーに知らせるために、前記ロジックマネージャー(14)に論理接続されることを特徴とする請求項24に記載のデジタル受信装置。
  26. スクリーン(3)に連動接続された少なくともデジタル受信装置上に双方向サービスを提供する方法であって、前記双方向サービスは、前記スクリーン上に視覚化される一連のシーンを表す記述ファイル(18)により記述されるメディアコンテンツを含み、
    a)前記デジタル受信装置においてサービスアプリケーション(10)を実行する工程であって、前記サービスアプリケーションは前記シーンを前記スクリーン上に視覚化するための第1の実行可能なコードと、第2の実行可能なコードを含んだ動的サービスロジック(12、14)とを含んだ工程;
    b)ユーザーデータ(7)を前記サービスアプリケーション(10)に提供する工程;
    c)前記第2の実行可能なコードにユーザーデータへのアクセスをさせる工程、及び
    d)前記ユーザーデータに論理操作を行い、前記スクリーン上で視覚化される新しいメディアコンテンツを生成するために、前記ユーザーデータ上で前記第2の実行可能なコードをインスタンス化する工程、
    を含むことを特徴とする方法。
  27. 前記ユーザーデータ(7)がマークアップ言語をコンテンツフォーマットとして使用することを特徴とする請求項26に記載の方法。
  28. 前記記述ファイル(18)がマークアップ言語をコンテンツフォーマットとして使用することを特徴とする請求項26に記載の方法。
  29. 前記マークアップ言語がXML言語であることを特徴とする請求項27又は28に記載の方法。
  30. 前記工程c)の前に前記ユーザーデータ(7)をパーズする工程を更に含むことを特徴とする請求項26〜29のいずれか一項に記載の方法。
  31. 工程c)が前記ユーザーデータ(7)を取得する工程と、データポインタにより記述されたデータ構造(13)を作る工程とを含むことを特徴とする請求項26〜30のいずれか一項に記載の方法。
  32. 前記工程c)の前に記述ファイル(18)をパーズする工程を更に含み、このバーズ工程は、前記記述を前記第1及び第2の実行可能なコードに準拠した文書に変換すること、及びタグと属性を前記記述ファイルから抽出することを含むことを特徴とする請求項28又は29に記載の方法。
  33. 少なくとも記述ファイル(6)中に含まれた第1のタグ、すなわち呼び出しタグにおいて規定された1以上の属性により工程d)を要求することを特徴とする請求項32に記載の方法。
  34. 動的サービスロジック(12、14)を、前記第2の実行可能なコードを含んだJavaクラスとしてインプリメントすることを特徴とする請求項26〜33のいずれか一項に記載の方法。
  35. Javaリフレクション技術を用いて工程d)を実行することを特徴とする請求項34に記載の方法。
  36. 前記第1の実行可能なコードがJavaに準拠していることを特徴とする請求項26〜35のいずれか一項に記載の方法。
  37. デジタルTV信号を前記デジタル受信装置に配信する工程を更に含むことを特徴とする請求項25に記載の方法。
  38. 前記少なくともデジタル装置がテレビ視聴者のテレビに連動接続されたデジタルセットトップボックスであることを特徴とする請求項35に記載の方法。
JP2007528610A 2004-08-30 2004-08-30 デジタルテレビで双方向サービスを提供する方法及びシステム Pending JP2008512012A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/009633 WO2006024309A1 (en) 2004-08-30 2004-08-30 Method and system for providing interactive services in digital television

Publications (1)

Publication Number Publication Date
JP2008512012A true JP2008512012A (ja) 2008-04-17

Family

ID=34958413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007528610A Pending JP2008512012A (ja) 2004-08-30 2004-08-30 デジタルテレビで双方向サービスを提供する方法及びシステム

Country Status (5)

Country Link
US (1) US20080010664A1 (ja)
EP (1) EP1787470A1 (ja)
JP (1) JP2008512012A (ja)
CN (1) CN101036385B (ja)
WO (1) WO2006024309A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010283825A (ja) * 2009-06-04 2010-12-16 Dynalab (Singapore) Ltd コンテンツ受信システムにおける仮想化コンテンツの提供方法

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0213218D0 (en) * 2002-06-08 2002-07-17 Koninkl Philips Electronics Nv Operation of java virtual machine
US20060005221A1 (en) * 2004-07-02 2006-01-05 Sony Corporation And Sony Electronics, Inc. Navigation aids for television user interface
US20060235976A1 (en) * 2005-04-14 2006-10-19 Ying Chen Method and apparatus for metadata driven web service mediation
US20070192364A1 (en) * 2005-12-29 2007-08-16 International Business Machines Corporation Apparatus and method for porting of business logic among computer platforms
US8887212B2 (en) * 2006-03-21 2014-11-11 Robin Dua Extended connectivity point-of-deployment apparatus and concomitant method thereof
US20070271589A1 (en) * 2006-05-22 2007-11-22 Espial Group Inc. Method for interactive internet protocol television
CN101090387B (zh) * 2006-06-12 2012-02-22 松下电器产业株式会社 数字电视中间件、机顶盒、及数字电视网络中的交互方法
KR20080060818A (ko) * 2006-12-27 2008-07-02 엘지전자 주식회사 데이터 방송 신호 수신 장치 및 데이터 방송 신호를처리하는 방법
US20080178125A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Providing dynamic content in a user interface in an application
CN104184973A (zh) * 2007-02-02 2014-12-03 索尼株式会社 信息处理设备和方法
CN101316350B (zh) * 2007-05-28 2010-06-02 财团法人工业技术研究院 双屏幕互动数字电视***与方法
US8166513B2 (en) * 2007-09-04 2012-04-24 Sony Corporation TV receiver using cable card for abstracting open cable application platform (OCAP) messages to and from the head end
KR101358501B1 (ko) 2007-12-14 2014-02-05 엘지전자 주식회사 데이터 방송 수신기 및 데이터 방송 어플리케이션의 게더링방법
CN101316147B (zh) * 2008-07-02 2010-04-07 深圳华为通信技术有限公司 将多媒体内容在终端上进行呈现的装置和方法
US8566869B2 (en) 2008-09-02 2013-10-22 Microsoft Corporation Pluggable interactive television
KR101029651B1 (ko) * 2008-09-07 2011-04-15 (주) 아이티비엠지 케이블 방송 환경의 양방향 컨텐츠 서비스 제공을 위한 시스템 및 그 방법
CN101715086B (zh) * 2008-10-07 2011-12-07 中兴通讯股份有限公司 一种网络电视机顶盒的纠错处理方法
CN101739252A (zh) * 2008-11-26 2010-06-16 鸿富锦精密工业(深圳)有限公司 浏览器屏幕键盘程序的开发及应用方法
US9237311B2 (en) 2009-02-06 2016-01-12 At&T Intellectual Property I, Lp Network architecture and method for application deployment
WO2011039990A1 (ja) 2009-10-02 2011-04-07 パナソニック株式会社 立体視映像を再生することができる再生装置、集積回路、再生方法、プログラム
US20110080462A1 (en) * 2009-10-02 2011-04-07 Panasonic Corporation Playback device, integrated circuit, playback method, and program for stereoscopic video playback
US9374441B2 (en) * 2009-10-09 2016-06-21 Echostar Technologies L.L.C. Dynamically determining and utilizing an application programming interface of an electronic device
CN102487455B (zh) * 2009-10-29 2014-12-17 中国电信股份有限公司 一种富媒体内容的视频播放***和方法
US8667533B2 (en) 2010-04-22 2014-03-04 Microsoft Corporation Customizing streaming content presentation
US10419811B2 (en) * 2010-06-07 2019-09-17 Saturn Licensing Llc PVR hyperlinks functionality in triggered declarative objects for PVR functions
CA2806881C (en) * 2010-07-26 2016-06-14 Invidi Technologies Corporation Universally interactive request for information
CN102455851A (zh) * 2010-10-28 2012-05-16 上海聚力传媒技术有限公司 用于在不同用户设备中显示用户界面的方法和装置
CN101986303A (zh) * 2010-10-29 2011-03-16 广东星海数字家庭产业技术研究院有限公司 应用dom解析引擎的数字电视hsml解析方法及***
EP2490442A1 (fr) * 2011-02-18 2012-08-22 Alcatel Lucent Procédé et système de gestion des contenus multimedia interactifs diffusés à la télévision
US9013510B2 (en) 2011-07-29 2015-04-21 Google Inc. Systems and methods for rendering user interface elements in accordance with a device type
KR101995425B1 (ko) * 2011-08-21 2019-07-02 엘지전자 주식회사 영상 표시 장치, 단말 장치 및 그 동작 방법
CN102446207B (zh) * 2011-09-01 2016-04-20 百度在线网络技术(北京)有限公司 一种用于获取显示信息并呈现的方法、装置、设备和***
US9578378B2 (en) 2012-01-05 2017-02-21 Lg Electronics Inc. Video display apparatus and operating method thereof
US9420322B2 (en) * 2012-03-14 2016-08-16 Time Warner Cable Enterprises Llc System and method for delivering compressed applications
KR101959820B1 (ko) * 2012-10-12 2019-03-20 삼성전자주식회사 멀티미디어 통신 시스템에서 구성 정보 송수신 방법 및 장치
JP6133996B2 (ja) 2012-10-18 2017-05-24 エルジー エレクトロニクス インコーポレイティド 両方向サービスを処理する装置及び方法
KR102072989B1 (ko) * 2013-01-14 2020-03-02 삼성전자주식회사 멀티스크린 지원을 위한 마크-업 구성장치 및 방법
KR102163684B1 (ko) 2013-07-19 2020-10-12 삼성전자주식회사 디바이스의 홈 스크린 구성 방법 및 장치
CN103905902A (zh) * 2014-04-10 2014-07-02 内蒙古中大传媒发展有限公司 一种通过中间件技术将XML下载启动java应用的方法
US20160352814A1 (en) * 2015-05-28 2016-12-01 Brillio LLC Method and system for template based content projection
KR102004970B1 (ko) * 2016-11-17 2019-07-30 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
US11043114B2 (en) * 2019-02-14 2021-06-22 Sony Group Corporation Network configurable remote control button for direct application launch
CN113377371A (zh) * 2021-06-02 2021-09-10 五八到家有限公司 多场景配置方法、***、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001086078A (ja) * 1999-09-17 2001-03-30 Sony Corp データ配信方法及び装置、並びに、データ受信方法及び装置
JP2001292425A (ja) * 2000-04-04 2001-10-19 Sony Corp 摺動型グラフックウィンドウを用いたメディアコンテンツとのインターラクティブシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466947B2 (en) * 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6526581B1 (en) * 1999-08-03 2003-02-25 Ucentric Holdings, Llc Multi-service in-home network with an open interface
US6961955B1 (en) * 1999-10-13 2005-11-01 Bellsouth Intellectual Property Corporation System and method for providing video services
US20020016922A1 (en) * 2000-02-22 2002-02-07 Richards Kenneth W. Secure distributing services network system and method thereof
AU8668001A (en) * 2000-08-21 2002-03-04 Intellocity Usa Inc System and method for television enhancement
US20020157101A1 (en) * 2001-03-02 2002-10-24 Schrader Joseph A. System for creating and delivering enhanced television services
EP1333374B1 (en) * 2001-06-11 2016-09-07 Sap Se Dynamic generation of language localized and self-verified Java classes using XML descriptions and static initializers
AU2002327677A1 (en) * 2001-09-19 2003-04-01 Meta Tv, Inc. Interactive user interface for television applications
US7640566B1 (en) * 2002-05-06 2009-12-29 Microsoft Corporation Dynamic pause buffer sizing
GB0213218D0 (en) * 2002-06-08 2002-07-17 Koninkl Philips Electronics Nv Operation of java virtual machine
US20040031052A1 (en) * 2002-08-12 2004-02-12 Liberate Technologies Information platform
US7873668B2 (en) * 2003-08-15 2011-01-18 Laszlo Systems, Inc. Application data binding
US9324239B2 (en) * 2004-03-19 2016-04-26 Sap Se Authoring tool to structure and create a computer-based training course, and having role-specific functions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001086078A (ja) * 1999-09-17 2001-03-30 Sony Corp データ配信方法及び装置、並びに、データ受信方法及び装置
JP2001292425A (ja) * 2000-04-04 2001-10-19 Sony Corp 摺動型グラフックウィンドウを用いたメディアコンテンツとのインターラクティブシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010283825A (ja) * 2009-06-04 2010-12-16 Dynalab (Singapore) Ltd コンテンツ受信システムにおける仮想化コンテンツの提供方法

Also Published As

Publication number Publication date
US20080010664A1 (en) 2008-01-10
CN101036385B (zh) 2012-12-12
WO2006024309A1 (en) 2006-03-09
EP1787470A1 (en) 2007-05-23
CN101036385A (zh) 2007-09-12

Similar Documents

Publication Publication Date Title
JP2008512012A (ja) デジタルテレビで双方向サービスを提供する方法及びシステム
US11422779B2 (en) Application support for network devices
US7664813B2 (en) Dynamic data presentation
EP1322084B1 (en) Scaling and delivering distributed applications
EP1356680B1 (en) A method and apparatus for reformatting of content for display on interactive television
US8510333B2 (en) Methods, systems, and apparatus for developing widgets
US20060224690A1 (en) Strategies for transforming markup content to code-bearing content for consumption by a receiving device
JP2009509245A (ja) デジタル・テレビジョン用の独立型ミニアプリケーション・システムおよび方法
JP2001086078A (ja) データ配信方法及び装置、並びに、データ受信方法及び装置
US9354901B2 (en) Method and computer system for introducing client devices into a client-server network
US7512955B2 (en) Method and system for accessing and implementing declarative applications used within digital multi-media broadcast
KR100870200B1 (ko) 통합 미들웨어형 디지털방송 수신장치
CN111726674A (zh) 一种HbbTV应用启动方法及显示设备
CN111479144A (zh) 显示设备及应用交互方法
US20090167769A1 (en) Method, device and system for managing structure data in a graphic scene
Vrba et al. Framework for digital TV applications
KR20070052328A (ko) 디지털 텔레비전에서의 상호작용 서비스 제공 방법 및시스템
Cho et al. Design of an integrated web browser for digital TVs
Tsekleves et al. Semi-automated creation of converged iTV services: From macromedia director simulations to services ready for broadcast
Kojo A method to deliver multiple media content for digital television
Shrimpton et al. Towards the convergence of interactive television and WWW
Peng et al. Interactive Digital Teletext Service

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100727

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100927

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101028

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110222