JP4724420B2 - 動的対話型アプリケーションの同期式更新 - Google Patents

動的対話型アプリケーションの同期式更新 Download PDF

Info

Publication number
JP4724420B2
JP4724420B2 JP2004533008A JP2004533008A JP4724420B2 JP 4724420 B2 JP4724420 B2 JP 4724420B2 JP 2004533008 A JP2004533008 A JP 2004533008A JP 2004533008 A JP2004533008 A JP 2004533008A JP 4724420 B2 JP4724420 B2 JP 4724420B2
Authority
JP
Japan
Prior art keywords
broadcast
record
interactive application
update
program
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.)
Expired - Fee Related
Application number
JP2004533008A
Other languages
English (en)
Other versions
JP2005527171A (ja
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
Priority claimed from US09/843,614 external-priority patent/US7222155B1/en
Application filed by ウィンク・コミュニケイションズ,インコーポレイテッド filed Critical ウィンク・コミュニケイションズ,インコーポレイテッド
Publication of JP2005527171A publication Critical patent/JP2005527171A/ja
Application granted granted Critical
Publication of JP4724420B2 publication Critical patent/JP4724420B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • 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/8545Content authoring for generating interactive applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)

Description

本発明は、一般的には双方向テレビジョンの分野に関し、より詳細には、テレビジョン放送番組と同期した対話性の自動制御に関する。
ほとんどの双方向テレビジョンシステムによって、視聴者が選択可能な対話性によって既存の放送番組を改良することが試みられる。例えば、対話性を、視聴者がセットトップボックスまたは他の装置を同調して対話性を受信し、提示できる、特殊な対話チャネルで放送することができる。この対話性は、典型的には、テレビジョン画面全体を占めるユーザインタフェースと共に提供される。この形で、視聴者が、通常のチャネルで普通の放送番組を見るか、または対話チャネルで対話性を使用するか、いずれかを選択する。他の実施形態では、対話性を、どのチャネルでもアクティブにすることができるが、対話性によってテレビジョン画面全体が塞がれる。しかし、双方向テレビジョンのこれらの実施形態は、通常は、放送されつつある放送番組と対話性が同期することを必要としない。何故ならば、対話性により、画面全体をオーバーライドし、従って、放送番組の提示が阻止されるからである。放送番組は、テレビジョン番組、コマーシャル、番組ガイドなどを含む。
双方向テレビジョンの他のバージョンは、テレビジョン画面の一部だけに表示され、放送番組に付随する対話性を提供することを意図されたものである。例えば、放送ゲーム番組に、対話性を付随させることができ、対話性によって、視聴者が、番組の間に一緒にプレイでき、提示される質問に対する回答を入力できるようにする。この対話性は、テレビジョン画面の一部だけに表示されて、視聴者が、放送番組を見続けることができるようになる。
放送番組に付随する対話性について、対話性を、放送番組と同期している状態に維持することが望ましい。これは、対話性が付随する放送番組が放送されている時に、必ず対話性が視聴者から使用可能であることと、例えば、ゲームでの累積ポイント合計など、視聴者が作成するすべての状態情報が、例えばコマーシャルの時間中など、放送番組が一時的に中断され、再開される場合であっても、維持されなければならないことを意味する。
これは、さらに、付随する放送番組が放送されていない時、または別の形で中断される時に、対話性を表示してはならないことを意味する。具体的に言うと、正しい同期は、テレビジョン番組の対話性が、番組の間にコマーシャルが放送される時に表示されないことを必要とする。これには、2つの理由がある。第1に、コマーシャルは、それに付随するそれ自体の対話性、例えば、コマーシャル中に宣伝される製品に関する製品情報をユーザが要求するフォームなどを有する場合がある。従って、コマーシャルの対話性を表示しなければならず、それでも、コマーシャル(または一連のコマーシャル)が終り、テレビジョン番組が再開された時に、番組の対話性を再表示しなければならない。番組の対話性の再表示は、迅速でなければならず、注記したように、コマーシャルが開始された時に使用可能であった状態情報を保存しなければならない。例えば、視聴者が、対話型ゲームでポイントを累積した場合に、累積されたポイントが、番組の対話性が再開される時に使用可能にならなければならない。
第2に、コマーシャルが、それ自体の対話性を有しない場合であっても、コマーシャル中に番組の対話性を表示することは不適切である。これは、対話性によってテレビジョン画面の一部がオーバーライドされ、これによって、コマーシャルの一部が隠されるが、これが、コマーシャルの放送について支払った広告主にとって許容できないものであるからである。また、番組の対話性は、コマーシャルに関連せず、その外見によって、視聴者が混乱する可能性がある。
従って、さまざまな放送番組の対話性を正しく同期化し、他の放送番組による放送番組の中断に対処する、双方向テレビジョンシステム、方法、およびソフトウェア製品を提供することが望ましい。
双方向テレビジョンシステムとは別に、通常のテレビジョン放送システムによって、放送番組を選択し、放送送信のために出力する形に対するさまざまな度合の自動化された制御および手動制御が提供される。普通の放送システムには、通常、放送スケジューリングシステム、さまざまな放送ソース、データ挿入ユニット、および送信器が含まれる。放送ソースによって、送信器を介して放送されるビデオ、オーディオ、または他のコンテンツが提供される。これらの放送ソースは、さまざまな種類のビデオおよびオーディオのテープデッキ、ビデオテープライブラリ、ディジタルオーディオ/ビデオソース、生ビデオソース、サーバコンピュータ、および類似物とすることができる。
スケジューリングシステムによって、一般に、ネイティブ制御信号のシーケンスを用いて、放送システムの放送ソースが制御される。これらの制御信号によって、さまざまな放送ソースの1つの開始、停止、ロード、または他の形の放送番組の管理が指示される。制御信号のシーケンスは、主に、どの放送ソースをどの時刻にアクティブ化または非アクティブ化するかと、アクティブ放送ソースがルーティングされるチャネル割当てを識別するプレイリストによって決定される。手動制御システムでは、制御信号が、人間のオペレータの手動操作に応答して生成されて、放送ソースが選択的にアクティブ化または非アクティブ化され、出力が適当なチャネルに割り当てられる。
放送ソースからの放送データは、送信器に渡される。送信器によって、任意の数の放送受信器へ、選択されたチャネルで放送信号が送信される。セットトップボックスまたは互換テレビジョンなどの、選択されたチャネルに同調された放送受信器によって、放送信号が受信され、放送番組が表示される。
米国特許第5689799号明細書 米国仮特許出願第09/431001号明細書
普通のスケジューリングシステムおよび手動制御によって、一般に、放送ソースまたは類似する装置だけに出力制御信号が供給される。これは、これらの制御信号が、放送ソースに固有のフォーマットであり、他の種類の放送機器を制御するように設計されていないからである。例えば、ビデオソースを制御するスケジューリングシステムでは、ビデオソース装置にとって意味がある制御信号が使用される。従って、スケジューリングシステムからの既存の制御信号を使用して、放送番組と同期した対話性の自動制御をさらに容易にするシステムおよび方法を提供することが望ましい。これは、新しい自動化対応機器を操作するためにスケジューリングシステムの修正が必要としない点で望ましい。
一部の放送で、放送番組またはその種類を、例えばテレビジョン番組またはコマーシャルとして識別するコードが、放送信号に挿入される。一般的に使用されるコードの組が、アメリカ広告業協会(American Association of Advertising Agencies Inc.)のISCIコード(Industry Standard Coding Identification system)である。ISCIコードは、通常は、コマーシャル放送のスポンサーであることまたは提携を示すのに使用される。しかし、これらのコードは、現在、テレビジョン番組、コマーシャル、または他の放送番組に関連する可能性がある対話性の実行を制御するのに使用されない。従って、これらおよび類似する、放送信号に組み込まれたコードを使用して、さまざまな放送番組の対話性の同期化を制御するシステムおよび方法を提供することが望ましい。
双方向テレビジョンのシステムの1つでは、上で説明したものなどの普通の放送システムと協力して、有用な対話性を提供する。そのようなシステムは、対話型アプリケーションのデータベースが保管される放送サーバを含む。対話型アプリケーションは、さまざまな放送番組が放送される時に、そのような番組に付随させるために、放送番組に選択的に関連付けられる。放送サーバは、典型的には、所与の放送期間に関するそれ自体のプレイリストを受け取り、それに含まれるスケジューリング情報を使用して、現在放送されている特定の放送番組を識別する。放送サーバは、現在放送されている番組に関連する対話型アプリケーションを検索し、これらの対話型アプリケーションを、データ挿入ユニットに提供する。データ挿入ユニットは、対話型アプリケーションからのデータを、放送ソースからの放送データと組み合わせて、放送信号が作成し、この放送信号は、放送番組に対話型アプリケーションが付随する。組み合わされた放送信号は、送信器によって、選択されたチャネルで送信される。そのチャネルに同調された放送受信器のどれもが、放送番組と付随する対話型アプリケーションの両方を含む放送信号を受信する。放送受信器は、放送番組を表示し、対話型アプリケーションをデコードし、実行して、テレビジョン画面に適当に表示する。放送サーバは、さらに、プレイリスト内の事前定義の命令に従って、ある対話型アプリケーションの実行を選択的に開始し、停止し、中断し、または再開するように放送受信器にコマンドを送ることができる。
しかし、放送会社サーバは、以前に、スケジューリングシステムからの制御信号に基づいて対話型アプリケーションの制御を自動化するために既存のスケジューリングシステムと統合されたことがない。これに関する問題の1つは、さまざまな種類のスケジューリングシステムが放送ソースの制御に使用する制御信号の均一性のなさおよび多様性である。スケジューリングシステムは、上で説明したように、放送ソースとインタフェースするように設計される。このシステムは、以前に、対話性を制御するために、ISCIコードまたは類似物に応答するようにもなっていない。従って、スケジューリングシステムと放送サーバの間の効率的なインタフェースを介する同期式対話型アプリケーションを提供することが望ましい。
既存のスケジューリングシステムおよび放送サーバに関する他の問題が、対話型アプリケーションのコンテンツの部分的変更を扱う際の柔軟性のなさである。いくつかの場合に、アプリケーション自体の全体を置換するのではなく、アプリケーションのコンテンツに対する選択された変更だけを行うことが望ましい。例えば、株式相場表示器アプリケーションは、更新株式相場レコードの進行中のフィードを必要とし、他の例として、毎晩のニュース対話型アプリケーションは、現在のニュース見出しに関連する部分だけに対する変更を必要とする可能性があり、あるいは、バラエティ番組の対話型アプリケーションは、ゲストの現在のスケジュールを記述する部分だけに対する更新を必要とする可能性がある。既存のシステムは、放送信号を生成する前に、変更された情報を対話型コンテンツに一体化することによって、放送ソースで対話型アプリケーションの変更を行うことに制限されてきた。しかし、この手法では、ケーブルヘッドエンドなどのローカル放送システムが、下流位置でローカルに関連する情報または更新を挿入することができない。さらに、ローカル放送サーバによって、受信された放送信号内で識別された対話型アプリケーションを、対話型アプリケーションのカスタマイズされたバージョン(例えば、より高品位のグラフィックスを有するバージョン)に置換できるシステムでは、更新をアプリケーションと一体化するために、放送信号からの更新をカスタマイズされたアプリケーションに転送することが望ましい。
本発明は、他の放送番組および/または対話性による放送番組およびその対話性の中断に無関係に、各々の放送番組との対話性の同期表示を維持する、対話性の自動制御を提供する。
本発明の一実施形態によれば、通常は放送ソース(またはサブタイトラ(subtitlers)などの類似する装置)を制御することだけ使用される制御信号が、受け取られ、処理されて、放送サーバにコマンドが出力される。これらコマンドは、放送サーバを選択的に指示して放送受信器の対話性の実行を制御する。放送サーバは、放送受信器にコマンドを送信と、放送受信器は、コマンドを実行して対話性を制御される。
本発明によって使用される制御信号は、自動モードまたは手動モードで動作する普通の放送スケジューリングシステムから、またはビデオテープなどの放送番組と共に信号をエンコードする事前に記録されたソースからなど、様々なソースから来る可能性がある。
上記したように、制御信号は、典型的には、ビデオ、オーディオ、または他の出力装置の特定の種類など、放送ソースを制御するために特にフォーマットされる。さらに、制御信号は、これらのソースの放送を単に制御と、制御信号は、対話性の実行に対する直接のまたは固有の関係を有しない。従って、本発明では、制御信号が、対話性の実行を選択的に制御するために放送サーバが受入可能であるコマンドに変換される。
本発明では、さまざまな放送受信器の対話性の実行の現在の状態を判定するのに、放送サーバからの状態情報も使用することができ、この状態情報により、スケジューリングシステムからの他の不透明な制御信号に応答して異なるコマンドが生成できるようにする。
本発明によって、さまざまな異なる種類の放送スケジューリングシステムの対話性の自動化された同期式制御が提供される。一般に、さまざまな種類のスケジューリングシステムによって、その制御信号で異なる量および種類の情報が提供される。
ある基本的なスケジューリングシステムでは、単に、放送番組の開始、停止、または準備を示す制御信号が提供され、この信号は、時々、番組の放送番組IDを含む場合がある。この種類のスケジューリングシステムについて、放送番組の識別(例えば、テレビジョン番組またはコマーシャル)を使用して、放送番組に関して付随する対話型アプリケーションがあるかどうかを判定し、タイミング情報を使用して、対話型アプリケーションの開始、停止、中断、または再開を行わなければならないかどうかを判定する。適当なコマンドおよびデータが、放送サーバに供給されて、対話型アプリケーションの放送が選択的に制御される。
他の種類のスケジューリングシステムでは、テレビジョン番組中に放送されるコマーシャル番組を識別するのに使用できるが、それ以外ではテレビジョン番組自体を識別しない制御信号が供給される。本発明では、この情報を使用して、コマーシャルに関連する対話性を識別し、従って、コマーシャルが放送されるテレビジョン番組に付随する可能性がある対話性を選択的に中断し、再開するコマンドと共に、識別された対話性の放送をもたらすために放送サーバにコマンドを提供する。
さらに他の種類のスケジューリングシステムでは、放送番組をその持続時間と共に識別する制御信号が提供される。この場合に、本発明では、放送番組および間に入るコマーシャルの適当な対話性を中断し、再開することができる。
一実施形態では、本発明は、既存の普通の放送スケジューリングシステムと、対話型アプリケーション(および他の形態の対話性)のサーバとの間をインタフェースして、スケジューリングシステムによって出力される制御信号に応答して、放送番組に付随する可能性がある対話性の実行を選択的に制御する、自動化サーバを提供する。
本発明によれば、自動化サーバは、さらに、放送サーバとインタフェースして、対話型アプリケーションの実行の選択的な開始、取消、中断、および再開のために放送サーバにコマンドを供給する。スケジューリングシステムからの制御信号を使用して、自動化サーバによって、どの放送番組が放送されているかが判定され、各放送番組の状態に関する状態情報が作成され、維持される。放送番組およびそれに関連する対話性(ある場合に)を識別する情報を使用して、自動化サーバは、各対話型アプリケーションの状態に関する状態情報を維持する。この状態情報およびスケジューリングシステムからの制御信号を使用して、自動化サーバは、放送サーバに送られる適当なコマンドが判定し、放送番組と対話型アプリケーションの間の同期を維持する。
この同期式の挙動によって、関連する放送番組が表示される時に表示され、他の時に表示されない対話性がもたらされる。例えば、本発明では、1つまたは複数のコマーシャルの時間(それぞれが複数のコマーシャルを有する場合があり、コマーシャルがそれ自体の対話性を有する場合がある)によってセグメントに分割されるテレビジョン番組の対話型アプリケーションの正しい同期式表示が提供される。本発明では、スケジューリングシステムの制御信号から、放送またはテレビジョン番組中のいつ、コマーシャルの時間が発生したかが検出される。本発明では、コマーシャルの時間が終わった後に、同一のテレビジョン番組のさらなるセグメントがないと安全に判定できる時まで、対話性を取り消さずに、テレビジョン番組の対話性の実行を中断(停止)することができる。コマーシャルの時間中に、コマーシャルに適当な対話性が実行される。テレビジョン番組が再開される、すなわち、テレビジョン番組の他のセグメントが放送される場合に、本発明では、前のセグメントと現在のセグメントが関連することが検出され、中断された対話性が再開始され、コマーシャルの時間の前に作成された可能性があるすべての状態情報(例えば、現在のゲームポイント、フォームデータなど)が復元される。テレビジョン番組が、コマーシャルの時間の後に再開されず、新しいテレビジョン番組が放送される場合に、やはり、本発明では、この放送番組の変化が検出され、前のテレビジョン番組の対話性が打ち切られ、次のテレビジョン番組の対話性が開始される。
本発明の一実施形態では、自動化サーバは、複数のチャネルインタフェースを含み、このチャネルインタフェースの各々は、特定のチャネルの制御情報を受け取り、管理する。各チャネルインタフェースは、トランスレータモジュールおよびイベントマネージャを含む。トランスレータモジュールは、チャネルの放送番組に関係するスケジューリングシステムからのネイティブ制御信号を、固定された組のアトミックコマンドに変換する。トランスレータは、各放送番組のライフサイクルに関する状態情報を維持する。イベントマネージャは、アトミックコマンドを受け取り、放送サーバへのコマンドに処理して、放送番組の対話性が制御する。イベントマネージャは、チャネルの対話型アプリケーションのライフサイクルに関する状態情報を維持と、この状態情報から、放送サーバへの適当なコマンドを生成する。別々のトランスレータおよびイベントマネージャを使用することによって、本発明では、異なるトランスレータの使用によって異なるスケジューリングシステムとの簡単なインタフェースが可能になると同時に、同一のイベントマネージャが残される。さらに、トランスレータモジュールとイベントマネージャの分離によって、新しい種類のイベントマネージャを作成することによって、トランスレータモジュールの変更を必要とせずに、自動化サーバが、異なる種類の放送サーバと潜在的にインタフェースできるようになる。この特徴によって、自動化サーバが、将来に開発される可能性があるさまざまな標準規格で定義される対話性と協力できるようになる。
本発明に関して、対話性は、放送番組と同一の信号で送信され、放送信号を受信する放送受信器または他のエンドユーザ装置によって実行される対話型アプリケーション、ケーブルヘッドエンドまたは他の放送ソースで実行される対話型アプリケーション、普通のコンピュータで実行され、放送番組と同期してインターネットまたは他のネットワークを介してブロードキャストされる対話型アプリケーション、または放送番組と非同期に供給され、必要に応じて実行されるものなど、すべての形式の対話型アプリケーションによって提供することができる。
他の実施形態で、本発明では、放送信号内の対話型アプリケーションの更新されたレコードを検出し、これらの更新を放送サーバに選択的に供給する。これによって、放送サーバによって、これらの更新を、そのアプリケーションを受信する放送受信器に放送できるようになり、そのような更新をアプリケーションに一体化できるようになる。このシステムの一実施形態は、コードリーダおよびコード検出器を有する更新マネージャを含む。コード検出器は、放送信号内のアプリケーション識別コードの存在、不在、または変更を検出し、自動化サーバ内のトランスレータモジュール(またはイベントマネージャ)に、それに応じてシグナルが送られる。コードリーダは、放送信号から更新されたレコードを抽出する。イベントマネージャは、コードリーダに、放送サーバへの更新されたレコードの供給を開始または停止するシグナルを送る。これによって、放送サーバを有するローカルシステムが、放送信号から更新を抽出し、アプリケーションのローカルバージョンにこれらの更新を一体化できるようになる。これによって、リモート放送会社(例えば、ネットワーク放送会社)からの更新と、ローカルに関連するか、またはカスタマイズされたアプリケーション(例えば、高帯域幅ディジタルアプリケーション)の両方を組み合わせる。
本発明の自動化サーバは、ソフトウェア製品として、または専用ハードウェアおよびソフトウェアを含むより大規模なシステムまたは装置の一部として、実施することができる。本発明は、放送番組に関連する対話性の実行を制御するさまざまな方法として実践することもできる。
図1を参照すると、本発明にかかるシステムの図が示されている。図1に示されたシステムを、本発明の特徴および長所を提供しながら、より大きくより複雑なシステムに組み込むことができることを諒解されたい。
(A.システムの概要)
一般に、システム100は、スケジューリングシステム106、自動化サーバ108、放送サーバ110、トラフィックシステム104、放送番組ソース102、データ挿入ユニット116、および送信器118を含む。これらの要素を、典型的には、ケーブルオペレータによってケーブルヘッドエンドで使用される実施形態で使用する。他の設備での本発明の実施は、確かに実現可能である。放送受信器(BR)120が、視聴者の自宅、仕事場などにリモートに分散される。番組を受信する人を、「加入者」または「視聴者」と称する。
システム100は、複数の放送会社114と協力する。放送会社114は、放送される番組材料をBR120に供給する。本明細書で使用される「放送会社」114は、放送信号で搬送される番組を提供する実体である。「番組」は、放送の別個のセグメントである。従って、本明細書で定義される番組は、テレビジョン番組、コマーシャル、公共サービス情報、ペイパービューイベント、および類似物を含む。放送会社は、テレビジョン網、ならびにコマーシャルを準備する広告主、ペイーパービュープロバイダ、ケーブル網、および類似物を含む。
放送会社114は、必要なオーディオデータおよび他のデータを含む放送ビデオデータを、ビデオカセットプレイヤ、ビデオレーザディスクプレイヤ、サブタイトラ、ビデオサーバ、キャラクタジェネレータ、オーディオカートマシン(audio cart machine)、スチールストア(still store)、ディジタル効果システム、生スタジオフィード、生リモートフィールドフィード(例えば、生のスポーツイベント会場のカメラから)、および番組材料を含むか生成する類似物など、さまざまな放送番組ソース102に供給する。放送ビデオデータは、放送に必要になるまで、放送番組ソース102に保管される。適当な放送番組ソースは、米国カリフォルニア州アナハイムのOdetics,Inc.社のTCS45、米国カリフォルニア州パロアルトのHewlett-Packard社のMediaStream Server、および類似する装置またはシステムを含む。
トラフィックシステム104は、放送会社114から番組スケジュールを受け取る。番組スケジュールは、放送会社114によって供給される番組のどれが、どの時間にどのチャネルで放送されるかを定義する。放送会社114に応じて、コマーシャル番組を、番組スケジュールに含めることができ、あるいは、スケジュールにスロットを設けて、他の放送会社114によって提供されるコマーシャルを挿入することができる。トラフィックシステム104は、多数の異なる放送会社からの番組スケジュールを、例えばケーブルオペレータによって、ローカルに生成される放送スケジュール情報と一体化されて、プレイリスト113を作る。適切なトラフィックシステム104が、Columbine JDS Systems,Inc.社のColumbine JDSである。
一実施形態では、このプレイリスト113が、放送に先立って準備され、特定の時刻に放送される番組が識別される。プレイリスト113は、各番組を識別するのに十分な情報、開始時刻および終了時刻、チャネル割当て、および網割当てを含むことが好ましい。さらに、特定の時刻の番組ごとに、その番組を出力する特定の放送番組ソース102を識別する情報が存在する場合がある。
スケジューリングシステム106は、手動制御コンポーネント、自動制御コンポーネント、またはその両方と、適当なスイッチング装置を含むことができる。スケジューリングシステム106は、さらに、どの放送番組がどの時刻にどの放送番組ソース102を使用して放送されるかを記述したプレイリスト113を受け取る。この手動および/または自動のコンポーネントを介して、スケジューリングシステム106は、放送番組ソースを各々の放送媒体に結合して、所与の時刻にどの番組ソースをどの放送媒体に出力するかを制御する。具体的に言うと、スケジューリングシステム106は、さまざまな放送番組ソース102の1つのためにフォーマットされ、典型的にはそのソースだけに意味がある、ネイティブ制御信号が出力される。自動化コンポーネントおよび手動コンポーネントの種類および複雑さは、多様であり、従って、それらが供給する制御信号の種類も多様である。スケジューリングシステム106の手動コンポーネントは、オペレータによって、必要に応じて放送番組ソース102を手動で選択し、アクティブ化し、同様に自動化サーバ108によって受け取られる対応する制御信号を生成するのに使用される。
自動化サーバ108への制御信号のも他のソースは、放送番組ソース102の放送データに含められる、事前に記録された制御信号を含む。従って、特定の放送番組に適する制御信号を、適当な時に、事前生成し、放送番組のビデオテープに保管することができる。この形での制御信号の保管は、放送番組が保管されるどの媒体に対しても行うことができる。代替案では、制御信号を、事前に記録し、放送番組とは別の媒体に保管するが、これらを一緒に再生することができる。代替案では、制御信号を、例えばVITCタイムコードジェネレータまたはNORPAKデータ挿入ユニットを使用して、リアルタイムで放送データに埋め込むことができる。
さらに、制御信号を得る方法は、スケジューリングシステム106からのプッシュまたはスケジューリングシステム106のポーリングのいずれかによって行うことができる。
放送サーバ110は、本明細書に記載の機能性を提供する1つまたは複数のソフトウェアプログラムを実行するコンピュータシステムであることが好ましい。適当な放送サーバが、米国カリフォルニア州アラメダの本願特許出願人のWink Broadcast Serverである。放送サーバ110は、対話型アプリケーションデータベース112を含む。対話型アプリケーションデータベース112は、さまざまなリモートに分散されたBR120に放送される、対話型アプリケーションまたは他の形の対話性を保管する。対話型アプリケーションまたは他の形の対話型コンテンツを、放送会社114または他の番組供給業者が対話型アプリケーションデータベース112に追加することができ、セキュアネットワークリンクまたは他の伝送媒体によって対話型アプリケーションデータベース112に送信することができる。データベース112内のフィールドは、対話型アプリケーションを、例えば、特定の放送会社、ネットワーク、チャネル、番組、および/または放送時間に関連付ける。さらに、データベース112内の各対話型アプリケーションは、一意の対話型アプリケーション識別コードを有し、これによって識別できることが好ましい。対話型アプリケーション識別コードと番組識別コード(放送ソースによって使用されるものなど)の関連付けは、放送サーバ110が、番組識別コードの受取に応答して、対話型アプリケーションを選択的に検索できるようにする。参照を簡単にするために、用語「対話型アプリケーション」に、本明細書に記載のまたは開示されるものと同等の放送番組に関する対話性のすべての形態を含める。
本発明の一実施形態では、データベース112に保管される対話型アプリケーションを、コンパクトな通信プロトコルによって記述する。このコンパクトなプロトコルは、システムコンポーネントの間で効率的な方法で情報およびコマンドのコンパクトなセットをブロードキャストするように設計され、これによって、垂直帰線消去期間(「VBI」)などの低帯域幅トランスポートの使用が可能になる。本発明の好ましい実施形態では、本明細書に記載のコンパクトなプロトコルが使用されるが、対話型アプリケーションを、例えばHTML(Hyper Text Markup Language)、XML(Extended Markup Language)、SUN MICROSYSTEMS INC.社のJAVA(登録商標)言語、またはHTMLベースの双方向テレビジョンプロトコルATVEFを含む他のプロトコルによって記述することができる。対話型アプリケーションに適する1つのコンパクトなプロトコルの、サポートされる定義、スクリプト、およびコマンドを含む詳細な説明が、特許文献1に開示されている。対話型アプリケーション自体は、実行可能コードおよびデータを含むソフトウェア製品であり、この実行可能コードおよびデータによって、下でさらに説明するように、放送受信器120の動作が構成され、制御される。
複数の放送サーバ110を設けることができ、各放送サーバ110は、特定の地理的地域、放送会社のセット、または加入者のセットを提供する。一実施形態では、各放送サーバ110が、一意のサーバ識別コードによって識別される。
一般に、放送サーバ110は、特定の時に特定のチャネルでどの対話型アプリケーションを放送しなければならないかを判定し、特定のチャネルおよび時刻または番組識別コードに対応する対話型アプリケーションをデータベース112から検索と、放送のために対話型アプリケーションを準備する。
さまざまな時刻、チャネルなどにどの対話型アプリケーションを放送するかを判定するために、放送サーバ110は、放送される番組のプレイリスト113を、トラフィックシステム104から受け取る。放送サーバ110は、この情報を使用して、各放送番組に付随する対応する対話型アプリケーション(があれば)を識別し、データベース112から検索する。放送サーバ110は、さらに、受信されるか既に受信され、BR120のメモリに常駐する可能性がある対話型アプリケーションの開始、停止、取消、中断、または再開を指示するBR120に、ブロードキャストされるコマンドを出力する。
放送サーバ110は、必要な場合に検索された対話型アプリケーションをフォーマットし、他の形で、放送信号に挿入する準備をする。放送会社114から受け取ったプレイリスト113を使用して、放送サーバ110は、対話型アプリケーション115および/またはさまざまなコマンドを、データ挿入ユニット116(「DIU」)に渡して、対話型アプリケーション115を、番組の放送と同時に放送データ117に組み込む。
DIU116は、放送サーバ110からの対話型アプリケーション115またはコマンドと、対話型アプリケーション115に対応する番組を担持する放送信号またはフィードを受け取る。放送フィードは、放送番組ソースから、放送会社114から直接に、または、放送会社がフィードを供給しない場合に、ネットワーク、ケーブルオペレータ、またはローカルテレビジョン局などのサードパーティから、受け取ることができる。DIU116は、対話型アプリケーション115およびコマンドを、放送会社フィードへの挿入および放送データ117としての送信に適するフォーマットに変換する。DIU116は、複数の放送会社からフィードを受け取ることができ、別々の対話型アプリケーションを各フィードに挿入することができる。同様に、DIU116は、別々の対話型アプリケーションを、同一のまたは異なる放送会社114からの複数のチャネルに同時に挿入することができる。
DIU116は、対話型アプリケーション、コマンド、および放送番組を含む放送データ117を、放送媒体に挿入する。放送媒体は、対話型アプリケーション115を搬送するのに使用される周波数スペクトルである。一実施形態では、放送媒体が、NTSC(National Television Standards Committee)標準規格に従う標準アナログテレビジョン信号であり、VBIが、対話型アプリケーションの放送のトランスポートとして使用される。トランスポートは、放送媒体のうちで、対話型アプリケーション115を搬送する特定の部分である。他の実施形態では、放送媒体が、1つまたは複数のMPEG2 Video Servicesを含む標準MPEG2 Digital Video Multiplexであり、この多重分離器のMPEG2 elementary stream(またはストリーム)が、トランスポートとして使用される。DIU116は、アナログまたはディジタルのビデオソースと共に動作することができ、代替案では、放送会社114または放送番組ソース102をさまざまな送信器118に直接に接続する広域ネットワークへのインタフェースとして動作することができる。
一実施形態では、DIU116は、対話型アプリケーションを定義するデータを放送フィードのVBIに挿入する普通の方法を使用する。North American Broadcast Teletext Standard(EIA−506)は、VBIの1つまたは複数の走査線でデータを送信する方法およびプロトコルを定義する。しかし、対話型アプリケーション115をテレビジョン番組と別々に放送するものを含む、さまざまな他のトランスポート機構が使用可能である。そのようなトランスポート機構は、テレビジョン周波数スペクトルの未使用部分で対話型アプリケーション115を送信するアウトオブバンド送信器と、テレビジョン周波数スペクトルの外で対話型アプリケーション115を送信する普通の周波数変調(「FM」)無線送信器とを含む。他の実施形態では、DIUは、MPEG2 multiplexのelementary streamにデータを挿入する普通の方法が使用される。
一実施形態では、ハミングコードなどのエラー検出コードまたはエラー訂正コードが、データと共に挿入される。一実施形態では、DIU116は、データをハミングコードに変換と、他の実施形態では、DIU116が放送サーバ110から受け取るデータは、既にエンコードされている。
DIU116は、放送サーバ110からの挿入された対話型アプリケーションまたはコマンドのすべてを含む放送フィードを送信するために送信器118に結合される。一実施形態では、送信器118が、フィードをローカルアップリンク受信器に送信する衛星アップリンクであり、ローカルアップリンク受信器は、ケーブルを介してBR120にフィードを配布する。他の実施形態では、送信器118は、普通のケーブルシステムヘッドエンド増幅器である。他の実施形態では、送信器118は、普通のテレビジョン放送送信器または高品位テレビジョンディジタル送信器である。他の実施形態では、送信器118は、WAN接続、インターネット、または他の公衆/私有ネットワークを介して放送データを送信することができる。
他の実施形態では、DIU116は、番組放送の前に、番組に対話型アプリケーション115を挿入する。例えば、DIU116は、テレビジョンコマーシャルのソースコピーに対話型アプリケーションを挿入することができる。従って、この対話型アプリケーションは、コマーシャルが放送される時に必ず放送される。この実施形態では、放送サーバ110は、対話型アプリケーションの検索を、プレイリストにリストされたスケジュールと同期化させる必要がない。しかし、自動化サーバ108は、それでもコマーシャルの放送中に放送される対話型アプリケーションの動作と、コマーシャルが放送されるテレビジョン番組中に放送される対話型アプリケーションの動作との同期化を制御するのに使用される。
送信方法および挿入の時に無関係に、対話型アプリケーションを含む放送データ117は、加入者のBR120によって受信される。単一のBR120だけが図1に示されているが、通常の実施形態で、放送データ117を受信し、本明細書に記載のように応答する数百または数千のBR120があることを理解されたい。通常の実施形態では、BR120は、同軸ケーブルを介してデータ117を受信するテレビジョンセットトップボックスである。さらに、BR120を、テレビジョンに一体化することができる。さらに、NTSC放送受信器、高品位テレビジョンディジタル受信器、ビデオカセットレコーダ、またはFMラジオ受信器を含む他の放送受信器を使用することもできる。
上記のアーキテクチャでは、複数の有用な実施形態がサポートされ、これらの実施形態では、自動化サーバ108は、放送サーバ110を制御して、さまざまな種類およびフォーマットのデータを送信して、放送番組との同期式の挙動を達成する。最初に、放送サーバ110は、対話型アプリケーションとは別にまたはそれに加えて、他の種類のデータもサービスできることに留意されたい。例えば、放送サーバは、コンピュータプログラムまたはオーディオ/ビデオデータなどのデータをサービスすることができる。放送サーバは、前に放送受信器に送信された対話型アプリケーションに、データ、フォーム、コード、またはトリガを供給することもできる。
これらのさまざまな種類のデータを、本発明に従って、自動化サーバ108からのコマンドに応答して送信することができる。例えば、放送サーバによって、対話型アプリケーションおよびそれに関連する放送番組が表示される時より十分に前に、対話型アプリケーションを放送受信器に送出することができる。その後、自動化サーバ108からのコマンドに応答して、放送サーバ110は、トリガコードを送出することができ、このトリガコードは、前にロードされた対話型アプリケーションの実行をトリガし、その結果、対話型アプリケーションが、放送番組と同期して実行されるようになる。同様に、自動化サーバ108に応答して、放送サーバ110は、フォームまたは他のデータを送信して、既に放送受信器に常駐している対話型アプリケーションの特徴、ユーザインタフェース、または機能性を更新または修正することができる。これによって、自動化サーバ108によって、スケジューリングシステム106からの制御信号に応答して、対話型アプリケーションを操作または変更できるようになる。
放送サーバ110は、テキスト、グラフィックス、イメージ、URL(uniform resource locator)、URI(uniform resource identifier)、HTML、XML、ATVEF、JAVA(登録商標)アプレット、あるいは他の種類またはフォーマットのデータなどのハイパーメディアデータを、やはり自動化サーバ108からのコマンドに応答してサービスすることもできる。例えば、テレビジョン番組の開始を示す制御信号を供給するスケジューリングシステム106に応答して、自動化サーバ108は、放送サーバ110に指示して、ウェブサイトまたはウェブページへのURLを放送受信器に送信することができ、この放送受信器は、ユーザへの表示のためにウェブサイトをロードして、ウェブサイトがテレビジョン番組と同時に表示される。
自動化サーバ108からのコマンドに応答して、放送サーバ110は、サービスすることができる、これらおよび他の種類のデータのすべてについて、対話型アプリケーションデータベースまたは類似物は、放送番組の番組識別子に関連してデータを保管する。これによって、自動化サーバ108が、スケジューリングシステム106の制御信号からの番組識別子を与えられて、サービスすべき適当なデータを判定できるようになる。
(B.放送受信器)
図2に、本発明にかかる実施形態によるBR120の実施形態を示す。一実施形態では、BR120は、General Instrument CFT-2200 CATVセットトップデコーダである。BR120は、送信器118から放送データ117を受信するチューナ202を含む。一実施形態では、チューナ202は、普通のケーブルテレビジョンチューナである。他の実施形態では、チューナは、テレビジョン放送チューナ、FMラジオチューナ、ディジタルチューナ、または他の形のチューナである。他の実施形態では、適当なハードウェアおよびソフトウェアを有するパーソナルコンピュータは、ケーブル、インターネット、および衛星を含むさまざまな種類の送信チャネルを介して受信される放送番組を表示するように機能することができる。図2に示された実施形態には、通常はテレビジョンであるディスプレイ218が、BR120内に示されている。上で言及したように、ディスプレイ218を、BR120の外部に配置することもできる。
BR120は、放送データ117から対話型アプリケーションを抽出する、チューナ202に結合されたデータ抽出器206を含む。一実施形態では、データ抽出器206は、普通のVBIインバンドデータ抽出回路である。他の実施形態では、データ抽出器206は、普通のモデムである。データ抽出器206は、抽出された対話型アプリケーションを含むシリアルビットストリームを、バス208上に供給する。バス208は、マイクロプロセッサ210に結合され、マイクロプロセッサ210は、バス208を介して、抽出された対話型アプリケーションを、第2記憶装置214に保管されたプログラムによる指示に従って、第1記憶装置212に保管する。一実施形態では、マイクロプロセッサ210は、抽出されたデータからのエラー訂正情報を使用して、デコードされた対話型アプリケーションのエラーを検査または訂正する。一実施形態では、第1記憶装置212は、普通のランダムアクセスメモリ(「RAM」)であり、第2記憶装置214は、普通の読取専用メモリ(「ROM」)である。RAMまたはフラッシュメモリとすることができる第3記憶装置213は、マイクロプロセッサ210に結合されて、残りのデータを保管する。フラッシュメモリの長所は、BR120に常駐するソフトウェアまたはデータを、受信された対話型アプリケーションによって修正できることである。
一実施形態で、BR120は、データ抽出器206を使用して、放送データ117から時間信号を抽出する。時間信号は、協定世界時(「UTC」)または加入者の地方時などの標準タイムベースを使用する現在時刻を示す。他の実施形態では、BR120は、加入者または受信された時間信号のいずれかによってセットされるリアルタイムクロックを有する。いずれにせよ、BR120は、現在時刻へのアクセスを有し、従って、日付スタンプ機能およびタイミング機能を実行することができることが好ましい。
以下で説明するように、マイクロプロセッサ210は、第2記憶装置214に保管されたプログラムおよび第1記憶装置212に保管された対話型アプリケーションを使用して、対話型アプリケーションを実行し、出力を提供する。第2記憶装置214に保管されたプログラムは、さまざまなスクリプト、フォーム、定義、コードリソース、およびグラフィックリソースによって定義される対話型アプリケーションを実行する実行エンジン217であることが好ましい。好ましい実行エンジンは、米国カリフォルニア州アラメダの本願特許出願人が提供するWink Engineである。放送受信器120は、実行エンジン217、または第2記憶装置214に保管されるネイティブオペレーティングシステム219のいずれかの一部として、入力値からカウントダウンするバックグラウンド処理または同等のタイミング仕様として実行できるタイマ機能を含む。
対話型アプリケーションの実行からの出力は、例えば、テレビジョン視聴者に情報またはメニューを提示するか視聴者入力を受け取るフォームとするか、BR120またはテレビジョンの使用データを含むか視聴者の好みを示す、無音または他の形式の応答とすることができる。本発明の目的において、フォームは、さまざまな情報のどれでも表すことができ、さまざまなユーザ応答を受け取ることができる。このために、BR120は、バス208に結合され、第1記憶装置212に保管された対話型アプリケーション115および第2記憶装置214に保管されたプログラムによって駆動されるグラフィックスオーバーレイジェネレータ216を含むことが好ましい。グラフィックスオーバーレイジェネレータ216は、対話型アプリケーション115に応答してグラフィカルディスプレイを生成する。このグラフィカルディスプレイは、BR120に結合された、典型的なテレビジョンであるディスプレイ218に表示される。もちろん、グラフィックスオーバーレイジェネレータ216は、典型的には、対話型アプリケーションがひっそりと実行される時には使用されない。
一実施形態では、グラフィックスオーバーレイジェネレータ216は、チューナ202からの放送番組に対応する放送信号を受け取り、例えば表示されたフォームへのデータの入力のために、放送番組と、対話型アプリケーション115のグラフィカル態様(ある場合に)の同時表示が可能になる。一実施形態では、マイクロプロセッサ210は、ユーザ入力レシーバ224に結合されたユーザ入力デコーダ222にも結合されて、ユーザが、対話型アプリケーション115に応答するために、マイクロプロセッサ210と通信できるようになる。一実施形態では、ユーザ入力デコーダ222は、普通の赤外線リモートコントロールデコーダである。ユーザ入力レシーバ224は、ユーザが普通のハンドヘルドリモートコントロール装置を使用できる普通の赤外線レシーバ224であることが好ましい。ユーザが押したリモートコントロールキーが、コード化赤外線信号に変換され、この信号がユーザ入力レシーバ224によって受け取られ、ユーザ入力デコーダ222によってデコードされ、マイクロプロセッサ210に送られて、ユーザが対話型アプリケーション115と通信できるようになる。
一実施形態では、BR120は、ブロードバンド同軸ケーブルを介してケーブルシステムに接続されたケーブルTVセットトップデコーダである。この実施形態では、ラインドライバ230は、通常はRFスペクトルのアウトオブバンド部分を使用する、同軸ケーブルを介してケーブルシステムヘッドエンドに応答を送ることができるRFモデムであり、通信ポート232は、標準的なRFタップである。他の実施形態では、BR120は、テレビジョン、VCR、またはセットトップであり、ラインドライバ230は、標準電話モデムであり、通信ポート232は、標準的なRJ−11ジャックである。
マイクロプロセッサ210を、普通の赤外線コマンドエンコーダ226に結合することもでき、この赤外線コマンドエンコーダ226は、赤外線コマンド入力を受け入れ、普通の赤外線エミッタ228用の信号をエンコードして、対話型アプリケーション115が外部装置を制御できるようにする。
(C.対話型アプリケーションの実行)
図3は、本発明の好ましい実施形態によるコンパクトな情報プロトコルを使用する対話型アプリケーションの受信および実行のステップを示す流れ図である。BR120は、放送サーバ110によって準備され、DIU116によって挿入され、送信器118によって送信されたアプリケーションヘッダレコードを受信して、デコードする(310)。アプリケーションヘッダレコードは、それに続く情報を記述し、アプリケーションヘッダレコードは、対話型アプリケーション識別コードを含む。
対話型アプリケーションの残りの機能性は、任意の順序でエンコードし、放送することができる定義、スクリプト、およびコマンドによって記述される。定義、スクリプト、およびコマンドは、BR120によって受信され、デコードされ(312)、これらによって、残りの対話型アプリケーションを実行する時(314)に使用される残りのパラメータおよび応答パラメータを定義する。
受信された残りの対話型アプリケーションの一部またはすべては、BR120内で保管される(312)。一実施形態では、対話型アプリケーションは、繰り返して放送され、BR120は、いつでも番組に同調でき、対話型アプリケーション全体を受信できるようになる。保管された対話型アプリケーションに対する所望の更新を、受信し、デコードすることができる(316)。追加のまたは更新された定義、スクリプト、またはコマンドがある場合に、これらを、アプリケーションが完了する(318)まで送信することができる。一実施形態では、終了コマンドを放送して、対話型アプリケーションを停止することができる(320)。
元のアプリケーションが実行されつつあるか応答を送信しつつある間を含めて、いつでも、新しい対話型アプリケーションを送信することができる。例えば、コマーシャルに対応する新しい対話型アプリケーションは、ニュース番組に対応する元のアプリケーションに割り込むことができ、本発明によって、後者のアプリケーションを、前者の終了の後に再開することができる。
URLなどの対話性の異なる形を使用する他の実施形態では、放送受信器120によって、対話性の種類に関連する適当なデコード機能性、解析機能性、および実行機能性がもたらされる。従って、URL種類データについて、放送受信器120に、ウェブページ、JAVA(登録商標)アプレット、および類似物を検索し、ロードし、表示する、ブラウザおよび適当な機構を含めることができる。
(D.自動化サーバ)
(1.自動化サーバの挙動の概要)
自動化サーバ108は、スケジューリングシステム106とインタフェースして、スケジューリングシステムが放送番組ソース102に供給する制御信号を受け取る。自動化サーバ108は、さらに、通信的に放送サーバ110に結合されて、どの対話型アプリケーションが放送のために準備されるか、またはどの対話型アプリケーションがどのチャネルで現在放送されているかに関する情報を受け取る。自動化サーバ108は、そのプレイリストを含む状況情報および制御信号を使用して、放送サーバ110への特定のコマンドを生成する。これらのコマンドは、放送サーバ110が、放送される対話型アプリケーションの準備または現在放送されている対話型アプリケーションの実行を選択的に制御するように指示する。
具体的に言うと、自動化サーバ108は、制御信号に応答して、放送サーバ110へのコマンドを生成して、対話型アプリケーションの実行のスケジューリング、開始、停止、または取消が行われる。自動化サーバ108は、これらのコマンドのシーケンスが生成して、コマーシャルおよびテレビジョン番組の両方および他の放送番組に関する適当な対話性の、表示および/または終了を含む同期式実行をもたらす。
スケジューリングシステム106からの制御信号は、明示的または暗黙のうちのいずれかで、特定のチャネルに関連する。制御信号、そのチャネル割り当て、およびプレイリスト情報の性質から、自動化サーバ108は、放送される現在の放送番組の状態および種類、または次に放送される放送番組を、適宜決定する。具体的に言うと、自動化サーバ108は、制御信号から、現在放送されている番組が、テレビジョン番組またはコマーシャルであることが示されるかどうかを判定する。
特定のチャネルでコマーシャルの放送が開始されたことを示す制御信号(すなわち、放送ソースの1つへの、コマーシャルに関する放送データを再生するための制御信号)の受取に応答して、自動化サーバ108は、対話型アプリケーションが、そのチャネルで現在実行されつつあるかどうかを判定し、そうである場合には、放送サーバ110へのコマンドを生成して、その対話型アプリケーションの実行を中断(停止)する。放送サーバ110は、このコマンドが放送受信器120に送信する。適当なチャネルに同調されている放送受信器は、対話型アプリケーションの実行を中断する。しかし、自動化サーバ108は、対話型アプリケーションを取り消さない。何故ならば、放送受信器120は、コマーシャルが終わったならば対話型アプリケーションを実行する必要があり、従って、対話型アプリケーションが、即座に実行するのに使用可能である必要があり、コマーシャルが開始される時に有した状態情報を保存しなければならないからである。
自動化サーバ108は、コマーシャルに関連する対話型アプリケーションがあるかどうかを判定する。そうである場合には、自動化サーバ108は、放送サーバに指示して、対話型アプリケーションを送信し、その実行を引き起こす。コマーシャルに特に関連する対話型アプリケーションがない場合には、自動化サーバ108は、放送サーバにシグナルを送り、デフォルト対話型アプリケーションの実行を開始する。
ある時点で、自動化サーバ108は、コマーシャルが終わったことを示す制御信号を受け取る。この制御信号に応答して、自動化サーバ108は、放送サーバ110へのコマンドを生成し、対話型アプリケーションの実行を再開する。放送サーバ110は、このコマンドを放送受信器120に送信する。適当なチャネルに同調された放送受信器は、このコマンドを受信し、テレビジョン番組の対話型アプリケーションの実行を再開する。
視聴者が知覚する効果は、元のテレビジョン番組に付随する対話型アプリケーションが、コマーシャル中にテレビジョン画面から除去されることである。コマーシャルに固有の対話型アプリケーション、またはデフォルトアプリケーションは、コマーシャル中に実行され、表示される。コマーシャルが終り、テレビジョン番組が再開される時に、そのテレビジョン番組の対話型アプリケーションが、再び表示される。対話型アプリケーションを、再び表示する時に、コマーシャルの前に有した状態情報(例えば現在のスコア)を有し、これによって、視聴者による対話型アプリケーションの使用が保存される。
テレビジョン番組などの放送番組は、コマーシャル期間によって分離された複数のセグメントのフォーマットを有することが典型である。テレビジョン番組に関連する対話性は、セグメントのそれぞれを通じて、その状態情報と共に一貫した形で使用可能でなければならない。自動化サーバ108は、この結果を、複数のセグメントが実際に単一のテレビジョン番組または他の放送番組のどちらの一部であるかを判定し、これによって、同一の対話型アプリケーションに関連するかどうかを判定するために、制御信号から抽出される情報を相関させ、放送される各セグメントを識別することによって達成する。そうでなければ関係のないセグメントをそのように相関させることによって、自動化サーバ108は、複数のコマーシャル期間にまたがってテレビジョン番組の単一の対話型アプリケーションを適切に中断し、再開することができる。この処理を、以下で図12に関して詳細に説明する。
自動化サーバ108は、Intel社のチップセッとおよびMicrosoft Corp.社のオペレーティングシステムなどの通常のワークステーションまたはパーソナルコンピュータで実行されるソフトウェア製品として実施することができ、あるいは、専用目的のASICまたは他のハードウェア実施形態でエンコードすることができる。
(2.自動化サーバの機能的概要)
図4を参照すると、本発明の一実施形態にかかる自動化サーバ108の機能的アーキテクチャの図が示されている。この実施形態では、自動化サーバ108は、インタフェースマネージャ400を含む。インタフェースマネージャ400は、複数のチャネルインタフェース402を管理し、各チャネルインタフェースは、1または複数のチャネルに関連する。各チャネルインタフェース402は、それに割り当てられたチャネルの制御信号をスケジューリングシステム106から受け取り、放送サーバ110にコマンドを出力する。
図5を参照すると、チャネルインタフェース402の機能的構造が示されている。各チャネルインタフェースモジュール402は、トランスレータモジュール502およびイベントマネージャ504を含む。トランスレータモジュール502は、制御信号をスケジューリングシステム106から受け取り、この信号をアトミックコマンドに変換する。イベントマネージャ504は、アトミックコマンドを受け取り、放送サーバ110によって理解されるコマンドに処理する。
(3.インタフェースマネージャ)
図6を参照すると、インタフェースマネージャ400のライフサイクル対話の図が示されている。インタフェースマネージャ400は、異なるスケジューリングシステム106のすべてのチャネルインタフェース402を作成し、維持する。インタフェースマネージャ400は、3つのフェーズすなわち、初期化フェーズ、実行フェーズ、およびシャットダウンフェーズを有する。自動化サーバ108の起動時に、自動化サーバ108は、インタフェースマネージャ400を作成し(602)、初期化する。この初期化フェーズ中に、インタフェースマネージャ400は、初期化(ini)ファイルを読み取り(604)、スケジューリングシステム106と共に動作する必要がある異なるチャネルインタフェース402を作成し(606)、初期化する(608)。
インタフェースマネージャ400は、すべての必要なオブジェクトが作成され、初期化されたならば、インタフェースマネージャ400は、実行フェーズに遷移する。このフェーズの間に、インタフェースマネージャ400は、各チャネルインタフェース402が動作するように要求する(610)。
通常は、自動化サーバ108およびそのインタフェースマネージャ400は、長い期間にわたって実行フェーズに留まる。しかし、回復不能エラーがある時または自動化サーバ108が更新を必要とする場合に、自動化サーバ108がシャットダウンされる。このシャットダウンフェーズ中に、インタフェースマネージャは、各チャネルインタフェース402をシャットダウンすることを要求する(612)。
図7を参照すると、各チャネルインタフェース402のライフサイクル対話図が示されている。図4に示されているように、各チャネルインタフェース402は、トランスレータモジュール502およびイベントマネージャ504を含む。チャネルインタフェース402は、3つのメインフェーズすなわち、初期化フェーズ、実行フェーズ、およびシャットダウンフェーズを有する。
初期化フェーズ中に、トランスレータモジュール502およびイベントマネージャ504を作成し(702)、初期化する(704)。イベントマネージャ504の初期化パラメータは、下記の情報を含む。
・イベント種類ごとの、放送サーバイベントを構成する方法、
・対話型アプリケーションを探す場所、
・自動化サーバのタイミングを微調整するためのパラメータ、
・放送サーバに接続する方法、
・放送サーバからの突然の切断に応答する方法、
・イベントが事前にスケジューリングされるかどうか。
トランスレータモジュール502の初期化パラメータは、下記の情報を含む。
・スケジューリングシステムに接続する方法、
・スケジューリングシステムからの突然の切断に応答する方法、
・異なる放送会社によって異なる形で使用できる場合の特定のコマンドを解釈する方法など、スケジューリングシステム固有のパラメータ、
・スケジューリングシステムからコマンドを読み取り、解釈する方法の微調整、
・コマーシャルを番組から区別するのに使用される正規表現または他の情報。
実行フェーズ中に、チャネルインタフェース402は、無限ループ(イベントループ)(708)に入って、スケジューリングシステム106からの制御信号を処理する。また、チャネルインタフェース402は、別々の自動化サーバクライアントから直接に要求を受け取る(例えばシャットダウン要求)。チャネルインタフェース402は、トランスレータモジュール502にアトミックコマンドを要求し(710)、それらがイベント関連である場合には、イベントマネージャ504に渡される(712)。アトミックコマンドが、NullコマンドまたはErrorコマンドである場合には、チャネルインタフェース402は、そのコマンド自体を処理する(714)。回復不能エラーが発生する場合には、そのエラーがログ記録され、イベントループから抜ける(715)。
シャットダウンフェーズ中に、チャネルインタフェース402は、シャットダウン要求を受け取ると(716)、その要求をトランスレータモジュール502およびイベントマネージャ504に転送され(718)、これらをクリーンにシャットダウンすることができる。これらがシャットダウンされたならば、チャネルインタフェース402は、それ自体がクリーンアップし、イベントループからリターンして、それ自体をシャットダウンする。
(4.トランスレータモジュールの概要)
各放送番組は、特定の「ライフサイクル」を有するものとして理解することができる。このライフサイクルは、スケジューリングシステム106によって管理され、スケジューリングシステム106は、同様に、本質的に、各放送番組に関するステートマシンとして動作する。しかし、スケジューリングシステム106は、放送番組に関する限られた量の情報、典型的には放送ソースを制御するのに必要な量だけを提供する。
放送番組ごとに、トランスレータモジュール502は、スケジューリングシステム106から受け取る限られた情報に基づいて、ステートマシンの挙動を再構成して、放送番組のライフサイクルを再作成する。これによって、放送番組に関連する可能性がある対話型アプリケーションを管理するのに適当なアトミックコマンドを、イベントマネージャ504に提供できるようになる。従って、図5に示されているように、トランスレータモジュール502は、スケジューリングシステム106からの制御信号で識別される一意の放送番組ごとに、ステートマシン510を作成し、維持する。
各トランスレータモジュール502は、それと通信するスケジューリングシステム106の種類に固有であり、各トランスレータモジュール502は、スケジューリングシステム106からトランスレータモジュール502によって理解できるイベントの組への状態のマッピングを提供する。スケジューリングシステム106の各種類は、その制御信号で異なる種類の情報を提供するので、エラー、欠けている情報などを考慮に入れて、スケジューリングシステム106の暗黙のステートマシンを、トランスレータモジュール502によって定義されるステートマシンにマッピングする必要がある。
注記したように、さまざまな種類のスケジューリングシステム106があり、各々によって様々なレベルの情報を有する異なる種類の制御信号が出力され、従って、トランスレータモジュール502のそれぞれが、ある種類のスケジューリングシステム106に対応する。しかし、すべてのスケジューリングシステム106を、制御信号の最も完全な組を提供する「理想的な」スケジューリングシステム106に関して記述することができると思われる。表1に、理想的なスケジューリングシステム106によって提供される制御信号の種類と、これらの理想的な信号種類のそれぞれに含まれるデータを示す。
Figure 0004724420
これらの信号は、指定されたデータのすべてが存在する場合に、トランスレータモジュール502が、放送番組の適当な状態を非常に簡単に判定し、イベントマネージャ504に通信される必要なデータを形成できるという意味で、理想的である。理想的でないスケジューリングシステム106では、トランスレータモジュール502は、データの追加の外部ソースを使用して、放送サーバ110のプレイリストなどのイベントマネージャ504に送信するのに適当なデータと、対話型アプリケーションデータベースに含まれる放送番組識別子に対する対話型アプリケーションの関係に関する情報とを判定する。
プリロード信号とは、典型的には、スケジューリングシステム106によって通常使用され、放送ソース102に後の時刻に放送されると予想される放送番組をロードさせる制御信号である。理想的には、この信号は、ロードされる放送番組を一意に識別する番組IDを含む。チャネル識別は、放送に関するチャネルを指定し、このチャネルは、暗黙または明示的とすることができる。持続時間は、放送番組の長さを指定する。これは、自動化サーバ108によって使用され、スケジューリングシステム106からの明示的な停止信号がない場合に対話型アプリケーションを終了させる。
プリロード信号は、正確な時刻に受け取られる場合も、そうでない場合もある。すなわち、いくつかのスケジューリングシステムでは、プリロード信号が正確に(イベントの放送の前の数分の1秒の精度で)受け取られる。他のシステムでは、プリロード信号が、イベントの放送の数分から数時間前に受け取られる可能性がある。プリロール信号、イベント開始信号、およびイベント停止信号は、正確なタイミングで送られなければならない。ネイティブ制御信号が、プリロード信号および他の制御信号の両方に使用される場合には、これも正確なタイミングで送られなければならない。
対話型アプリケーション位置は、放送番組に付随するように指定された対話型アプリケーションの位置を指定する。この位置を、対話型アプリケーションデータベース112内で指定するか、対話型アプリケーションが保管されるファイルディレクトリへのパス名とすることができる。イベント種類によって、放送番組の種類が定義される。種類の数は、システム設計に依存し、単純にテレビジョン番組とコマーシャルの間の区別とするか、さらに、番組ガイド、クローズドキャプション、または他の種類の放送コンテンツを識別することができる。イベント種類は、以下で、イベントマネージャ504および表7に関してさらに説明する。
これらの信号およびそのデータ内容は、理想的なスケジューリングシステム106に関するものであり、実際のスケジューリングシステム106は、これらの信号の一部、指定されたデータの一部、またはその両方を使用することができる。しかし、トランスレータモジュール502およびイベントマネージャ504は、これらの制御信号からどのデータが欠けていてもそれを揃えるように動作し、これによって、放送サーバ110を管理する。
理想的な制御信号を与えられれば、「理想的な」トランスレータモジュール502を定義することができる。この理想的なトランスレータモジュール502は、スケジューリングシステム106からの制御信号が、イベントマネージャ504によって使用されるアトミックコマンドの組にマッピングされる。従って、この理想的なトランスレータは、放送番組のライフサイクルと、放送番組に関連する対話型アプリケーションの実行を制御するために放送サーバ110へのコマンドを生成するために放送番組のライフサイクルの異なる状態にイベントマネージャ504がどのように応答できるかが、表現される。
表2に、トランスレータモジュール502によって生成されるアトミックコマンドをリストする。
Figure 0004724420
放送サーバ110が、対話型アプリケーションをスケジューリングするには時間がかかるので、いくつかの情況で、トランスレータモジュール502は、対話型アプリケーションを放送されつつあるビデオデータと同期化できるようにするのに十分に早期にスケジュールアトミックコマンドを送らない場合がある。この場合に、対話型アプリケーションを、他の手動プロセスまたは自動化プロセスによって放送サーバ110で事前スケジューリングすることができ、自動化サーバ108は、スケジューリングされる放送サーバ110に指示するのではなく、対話型アプリケーションの事前スケジューリングを探すことによって、時間を節約することができる。このモードでは、事前にスケジューリングされたイベントをもう一度放送することができるので、自動化サーバ108は、それらのイベントを取り消すことはない。その代わりに、それらのイベントをスケジューリングしたプロセスが、それらを取り消す責任を負う。
特定のスケジューリングシステム106の実際のトランスレータモジュール502は、理想的なトランスレータモジュール502から導出される。図8を参照すると、理想的なトランスレータのステートマシン510のステートマシンの説明が示されている。各放送番組は、制御信号によって定義される複数の状態の間で遷移すると理解することができる。
ステートマシンは、開始状態(800)で開始される。
この状態から、トランスレータモジュール502は、ロード済み状態(802)に遷移する。ロード済み状態(802)は、3つの異なる理想的な信号(801)すなわちプリロード信号、プリロール信号、または開始信号のいずれかから達することができる。
通常、トランスレータモジュール502によって受け取られる最初の制御信号(801)は、プリロード信号である。スケジューリングシステム106は、この信号によって、放送番組が放送されようとしていることを示す。ロード済み状態(802)には、プリロード信号が以前に受け取られていない場合に、注記したように、プリロール信号によっても達する。プリロール信号も、放送信号が放送されようとしていることを示す。
ロード済み状態(802)において、トランスレータモジュール502は、放送番組に関連する適当な対話型アプリケーションを判定し、その実行をスケジューリングする。トランスレータモジュール502は、この状態の理想的なデータにできる限り近い形で、放送番組ID、イベント種類、放送番組の関連する対話型アプリケーションの位置などを判定する。イベント種類は、テレビジョン番組、コマーシャル、または未知など、放送番組の種類を記述する。イベント種類は、以下でさらに説明する。いくつかの場合に、トランスレータモジュール502が特定のチャネルに関連するので、チャネル割り当てが暗黙指定である。他の場合には、チャネルを制御信号で明示的にエンコードすることができる。
具体的に言うと、トランスレータモジュール502は、現在時刻および受け取った信号をログに記録する。トランスレータモジュール502は、関連する対話型アプリケーションの番組IDに、制御信号に含まれる番組IDをセットする。必要な場合に、トランスレータモジュール502は、正規表現を使用してイベント種類を計算する(以下を参照)。そうでない場合に、トランスレータモジュール502は、イベント種類にUnknownをセットして、それを対話型アプリケーション自体に含まれるデータから判定することが、イベントマネージャ504に委ねられる。必要な場合に、トランスレータモジュール502は、対話型アプリケーションの位置に番組IDをセットと、イベントマネージャ504は、適宜、放送番組の番組IDおよびセグメント番号に基づいて、実際の位置を判定する。
次に、トランスレータモジュール502は、作成された理想的なデータを使用して、スケジュールコマンドを作成し、イベントマネージャ504に出力する。このスケジュールコマンドは、イベントマネージャ504に指示して、放送番組の番組IDに関連する対話型アプリケーションがあるか否かを判定し、そうである場合には、識別された対話型アプリケーションの放送の準備をするように放送サーバに要求する。
次の状態は、準備済み状態(804)である。この状態には、ロード済み状態(802)から、プリロール信号または開始信号のいずれかの際に達する。プリロール信号または開始信号が最初に受け取られる信号(801)である場合の、準備済み状態(804)への自動遷移もある。すなわち、これらの信号のいずれかが、最初の信号(801)として受け取られる場合に、トランスレータモジュール502は、ロード済み状態(802)、準備済み状態(804)、およびオンエア状態(806)を介して自動的に遷移する。準備済み状態(804)は、イベントマネージャ504に送られるアトミックコマンドのタイミングを制御する。開始の前に、自動化サーバ108は、スケジューリングシステムイベントの放送の開始のどれほど前にプリロール信号を受け取ることができるかに関して構成される。これは、通常は、1秒から10秒の間であり、通常は、ミリ秒単位で測定される。プリロール信号または開始信号を受け取る際に、理想的なトランスレータモジュールは、準備済み状態(804)に入る。準備済み状態(804)は、X−Yミリ秒だけ一時停止することが好ましく、ここでXは、プリロール信号がどれほど早く来るかであり、Yは、イベントマネージャ504および放送サーバ110が放送番組の対話型アプリケーション(イベント)を開始するのに要する時間の長さである。その時間が経過した後に、トランスレータモジュール502が、オンエア状態(806)に自動的に遷移し、この状態でイベントが開始される。この状態では、他のイベントステートマシンによって使用することができる開始信号(805)が生成される(以下のオフエア状態の節を参照)。X−Yが0未満であるか、制御信号が開始信号である場合には、準備済み状態(804)で全く待たないことに留意されたい。そうではなく、単にオンエア状態(806)に推移して、放送サーバイベントをできる限り早く開始できるようにする。
「オンエア」状態(806)は、準備済み状態(804)の後に自動的に発生する。この状態では、トランスレータモジュール502は、開始アトミックコマンドを作成と、イベントマネージャ504に送る。準備済み状態(804)で導入される一時停止と組み合わされる時に、これは、対話型アプリケーションの開始が、放送番組と共に実行を開始されるという効果を有する。
オンエア状態(806)中に、副トリガ(809)を形成する追加の信号を受け取り、処理することができる(810)。この副トリガによって、放送されている対話型アプリケーションに関連する追加の機能性の実行をもたらすことができる。
イベント停止信号(807)によって、放送が終了し、「オフエア」状態(808)がもたらされる。この状態では、イベントが取り消される。すなわち、トランスレータモジュール502は、現在の番組IDに基づいて取消コマンドを作成と、このコマンドが、イベントマネージャ504に送られて、現在の対話型アプリケーションが取り消される。この状態は、他のイベントに関連する制御信号によってトリガすることができる。例えば、スケジューリングシステムのネイティブ制御信号に、イベント停止信号が含まれない場合に、次のイベントのイベント開始信号によって、前のイベントの停止が引き起こされる。
エラー信号の際に、トランスレータモジュール502は、現在の番組IDに基づいて取消コマンドを作成し、このコマンドがイベントマネージャ504に送られて、現在の対話型アプリケーションが取り消される。
従って、これらの状態によって、スケジューリングシステム106の観点からの、各放送番組のライフサイクルが表現される。この情報から、自動化サーバ108は、放送番組に関連する対話型アプリケーションの状態を判定と、その状態に関する放送サーバ110への適当なコマンドを生成する。
従って、トランスレータモジュール502は、これらの状態に対応して、特定のチャネルの放送番組を管理するように設計されている。具体的に言うと、トランスレータモジュール502は、それが受け取る放送番組IDごとにステートマシン510を維持する。このステートマシンは、新しい放送番組IDが受け取られるたびに作成され、放送番組が終了したことがスケジューリングシステム106によって示されるまで、維持される。
図9を参照すると、トランスレータモジュール502の動作全体、具体的にはそのマッピングロジック506の流れ図が示されている。トランスレータモジュール502は、スケジューリングシステム106から制御信号を受け取る(900)たびに、制御信号が、トランスレータモジュール502によって管理されるイベントに関連するか否かを判定する(902)。イベントは、起動、シャットダウン、エラー、またはシステムメッセージなどのエラー信号および他のデータと反対の、番組IDまたは放送番組を示す他のデータによって示される。
制御信号が、イベントに関するものでない場合には、トランスレータモジュール502によって、それがエラー信号であるか否かが判定される(904)。エラー信号は、処理のためにイベントマネージャモジュール504に渡される(906)。
制御信号がエラー信号でない場合には、無視する(910)。
信号がイベント信号である場合には、トランスレータモジュール502は、マッピングロジック506を適用して、ステートマシンへのキーとしてイベントの番組IDを使用して、識別されたイベントが、新規イベントまたはステートマシン510が既に存在するイベントのどちらであるかを判定する。イベントが新規イベントである場合には、トランスレータモジュール502は、番組IDおよびイベントに関する新しいステートマシン510をインスタンス化し(912)、ステートマシン510を起動する(914)。
既存のステートマシンがある場合には、イベント制御信号が、番組IDに関連するステートマシン510に渡される(916)。次に、理想的なステートマシンに関して説明したように、さらに特定のトランスレータ種類に関して以下で詳細に示すように、ステートマシン510は、その状態論理に従って、イベントを処理する。
(5.トランスレータの種類)
各スケジューリングシステム106は、トランスレータモジュール502によって解釈される、それ自体の特定の組の制御信号を生成する。以下の節では、理想的なトランスレータモジュールの状態図に関して、特定のトランスレータモジュールをどのように実施するかを説明する。すなわち、スケジューリングシステム固有の制御信号を、理想的なトランスレータの包括的な制御信号にマッピングすることができる。各特定のトランスレータモジュール502は、理想的なトランスレータモジュールで説明したものと同一の状態を推移する。しかし、各特定のトランスレータの状態アクションは、受け取る制御信号の相違を考慮に入れるために、わずかに異なる。
理想的なトランスレータのステートマシンから各種類のトランスレータの特定のステートマシンへのマッピングを、以下の表4から6に要約する。これらの表の列の見出しは、表3で定義されたものである。
Figure 0004724420
a)トランスレータ種別1:基本的なスケジューリングシステム
基本的なスケジューリングシステム106は、制御信号に非常にわずかなデータ、典型的には番組IDだけがエンコードされるスケジューリングシステムである。トランスレータのステートマシンを介するこの制御信号の解釈には、理想的な制御信号の理想的なデータであったはずのものを再作成するのに適当なデータの作成および推論が含まれる。基本的なスケジューリングシステム106の例が、Louth ADC-100である。
一実施形態では、自動化サーバ108は、サブタイトラをエミュレートすることによって、基本的なスケジューリングシステムとインタフェースする。Louthスケジューリングシステムなどの一実施形態では、エミュレートされるサブタイトラは、Cavena Subtitlerである。通常、基本的なスケジューリングシステム106は、放送番組のビデオ番組データの上に表示されるサブタイトルを準備し、サブタイトルを開始し、サブタイトルを停止する信号が、サブタイトラに送られる。本発明では、自動化サーバ108は、これらの信号を使用して、対話型アプリケーションをビデオと同期化させる。
いくつかの基本的なスケジューリングシステム106は、プリロール情報を提供する能力を有することが好ましい。この場合に、基本的なスケジューリングシステム106は、放送番組の実際の開始に先立つ構成可能な秒数の時に、準備信号を送る。自動化サーバ108は、この情報を使用して、対話型アプリケーションをより早期にプリロードし、開始して、放送番組が開始されるまさにその時にユーザに達することができるようにする。従って、種別1のトランスレータは、準備信号を受け取る時に、ロード済み状態(802)、準備済み状態(804)、およびオンエア状態(806)を介して推移する。これは、表4で、自動推移として記載されている。
自動化サーバ108が、基本的なスケジューリングシステム106から開始信号(805)を受け取る時に、自動化サーバ108は、対話型アプリケーションが、準備信号を使用して既に開始されていることを知り、従って、開始信号を無視する。基本的なスケジューリングシステムの制御信号にエラーがある場合には、自動化サーバ108は、現在の対話型アプリケーションを停止し、自動化サーバ108は、エラー状態(812)に移動する。
表4に、基本的なスケジューリングシステム106のネイティブ制御信号、理想的な制御信号、および理想的なトランスレータモジュール502のステートマシンの状態遷移の間の関係を要約する。
Figure 0004724420
b)トランスレータ種別2:コードベースのスケジューリングシステム
スケジューリングシステム106の第2の種別は、識別コードを使用して、テレビジョン番組とコマーシャルを選択的に区別するスケジューリングシステムである。この種類のスケジューリングシステム106の例が、ESPN Inc.社によって同社の放送システムで使用されているものなどのISCIコードベースのシステムである。この種類のシステムでは、ISCIコードが、コマーシャルなどの放送番組内に存在し、テレビジョン番組には存在しない。この種類のコードを、スケジューリングシステム106によって直接に、または放送番組と共に媒体(例えばビデオテープ)に事前に記録することによって間接的に、提供することができる。
他の種類のコードベースのシステムは、対話型アプリケーションを個別に識別するコード、URL、URI、および類似物を使用するシステムを含む。
自動化サーバ108は、VITCタイムコードリーダまたは類似するタイムコードリーダを介してスケジューリングシステム106とインタフェースする。コードベースのスケジューリングシステムは、コマーシャル中にVITCタイムコードを介してISCI情報を送り、番組中にはISCI情報を送らない。自動化サーバ108は、この情報を使用して、コマーシャルおよび番組中に対話型アプリケーションを選択的に追加する。スケジューリングシステムの制御信号は、番組IDによって番組を指定しないので、デフォルト対話型アプリケーションだけがサポートされる。
一般に、制御信号に、ISCIコードまたは類似するコードの存在が含まれる時に、トランスレータ502は、コマーシャルが開始されたことを知る。従って、ステートマシン510は、ロード済み状態、準備済み状態、およびオンエア状態を遷移し、対話型アプリケーションが開始される。これらの遷移は、表5で自動遷移として示されているように、自動的に行われる。ロード済み状態で、ISCIコード(または、URL、アプリケーション識別子、および類似物などの他のコード)が、理想的なデータの番組IDとして使用される(例えば番組IDとしてコードを保存することによって)。これによって、イベントマネージャ504によって、適当な対話型アプリケーションを判定できるようになる。
ISCIコードの変化の際に、トランスレータ502は、新しいコマーシャルが開始されたことを知る。従って、ステートマシン510は、オフエア状態に推移し、対話型コンテンツを停止し、取消アトミックコマンドを作成して、コマーシャルに関する現在の対話型アプリケーションを取り消す。トランスレータ502は、新しいISCIコードに関する新しいステートマシン510を作成し、そのステートマシン510は、ロード済み状態、準備済み状態、およびオンエア状態を推移し、開始アトミックコマンドが生成されて、新しいコマーシャルの対話型アプリケーションが開始される。
制御信号にISCIコードが含まれない時には、トランスレータ502は、テレビジョン番組が開始された(または進行中である)ことを知る。従って、ステートマシン510は、オフエア状態に遷移し、対話型コンテンツを停止し、取消アトミックコマンドを作成して、コマーシャルの現在の対話型アプリケーションを取り消す。同一の信号(すなわち、ISCIコードの不在)に基づいて、未知の番組IDの、番組イベント種類を有する新しいステートマシン510が作成される。以下で説明するように、イベントマネージャは、この番組IDをデフォルト番組に関連付けなければならないことを判定する。ステートマシン510は、ロード済み状態、準備済み状態、およびオンエア状態を通り、開始アトミックコマンドを生成して、テレビジョン番組のデフォルトアプリケーションを開始する。ISCIコードがもう一度検出された時には、ステートマシン510が、オフエア状態に進み、取消アトミックコマンドが生成される。
しばしば、コードベースのシステムにデータなしの小さいギャップがある(特に、コードの間の遷移中に)ので、トランスレータ502は、ISCIコードの不在を検出する前に、構成可能なミリ秒だけ待つ。これによって、誤検出を回避する。
制御信号にエラーがある場合には、ステートマシン510は、現在の対話型コンテンツを取り消し、エラー状態に移る。
表5に、コードベースのスケジューリングシステム106のネイティブ制御信号、理想的な制御信号、および、コマーシャルイベントおよびデフォルト番組イベントの両方の理想的なトランスレータモジュール502のステートマシンの状態遷移の間の関係を示す。
Figure 0004724420
c)トランスレータ種別3:プレイリストベースのスケジューリングシステム
本発明によってサポートされる第3の種別のスケジューリングシステム106は、プレイリストベースのスケジューリングシステムである。この種類のシステムでは、制御信号は、放送される番組およびその持続時間を識別して、プレイリストの要素を提供し、含まれるいくつかのインスタンスは、放送番組の番組タイトルである。この種類のスケジューリングシステムの例は、Sony Corporation社が提供する、BZCA-1102 Spot Reel Optionソフトウェアが動作するLibrary Management System(LMS)BZCA-1100マルチカセットシステムである。
自動化サーバ108は、制御端末として機能することによって、この種類のスケジューリングシステム106とインタフェースする。制御端末は、送信プレイリストを表示し、この送信プレイリストは、スケジューリングされたイベントのテーブルである。LMS BAC-1200制御端末は、1つの例である。プレイリストは、各放送番組の番組ID、番組タイトル、持続時間などのイベント情報を含む。
プレイリストベースのトランスレータモジュール502は、スケジューリングシステム106から受け取られるすべてのイベント情報を取り込み、解析する。イベントは、放送時刻の前に、送信プレイリストに現れる。イベント(例えば放送番組)が、送信プレイリストに現れる時に、トランスレータ502は、そのイベントの対話型アプリケーションをプリロードし、ロード済み状態(802)に遷移する。スケジューリングシステム106は、オンエアされるイベントから構成可能な秒数だけ前に、再生制御信号のイベント状況を送ることによって、各イベントのプリロール情報を供給する。
トランスレータ502は、準備済み状態(804)およびオンエア状態(806)に推移して、イベントの再生制御信号が受け取られる時に、対話型アプリケーションが開始される。トランスレータ502が、ネットワークまたは他の問題に起因してイベントの再生制御信号をとり逃し、イベントのオンエア制御信号またはオンライン制御信号を受け取る場合に、トランスレータ502は、オンエア状態(806)に推移し、対話型アプリケーションを開始する。この場合には、自動化サーバ108が、プリロール情報の利益をとり逃すが、対話型アプリケーションは、それでも開始される。
トランスレータモジュール502が、オンエア信号またはオンライン信号を受け取り、準備済み状態(804)でない場合には、オンエア/オンライン信号が、再生信号として扱われ、まず準備済み状態(804)に推移し、その後、自動的にオンエア状態(806)に推移する。
イベントデータが、送信プレイリストから消滅する時に、トランスレータモジュール502は、オフエア状態(808)に推移し、イベントマネージャ504に、現在の対話型アプリケーションを取り消すように指示する。
スケジューリングシステムへの接続を失うなどのなんらかの種類のエラーが発生する場合には、自動化サーバ108は、現在の対話型アプリケーションを停止し、エラー状態に移る。
表6に、プレイリストベースのスケジューリングシステム106のネイティブ制御信号と、理想的な制御信号と、理想的なトランスレータモジュール502のステートマシンの状態遷移の間の関係を要約する。
Figure 0004724420
(6.正規表現に基づくトランスレータイベント種類計算)
番組IDのイベント種類を追跡するスケジューリングシステム106は、その情報を自動化サーバ108に直接に送ることができる。多数のスケジューリングシステム106が、この特徴をサポートしないので、一部の放送会社114は、番組とコマーシャルなど、異なる種類の番組を区別する番組IDを使用する。自動化サーバ108は、利益を得るためにこの情報を使用する。トランスレータ502は、どの種類のイベントをスケジューリングするかを判定するのにこの情報を使用する。例えば、コマーシャルの番組IDは、「VT」というプレフィックスを有することができ、テレビジョン番組の番組IDが、異なるプレフィックスを有するか、プレフィックスを全く有しないものとすることができる。自動化サーバ108は、番組IDと共に正規表現を使用して、コマーシャルと番組を区別する。正規表現分析に基づいて、イベント種類は、番組IDがコマーシャルの判断基準に一致する場合にコマーシャルがセットされ、番組IDが番組の判断基準と一致する場合に、番組がセットされる。放送会社114が、番組とコマーシャルを区別するように番組IDに名前を付けていない場合には、イベント種類にUnknownがセットされる。その場合に、イベントマネージャ504は、実際の対話型アプリケーションファイルをフラグについて調べて、内容がコマーシャル用と番組用のどちらであるかを知る。
(7.イベントマネージャの概要)
図5を参照すると、イベントマネージャ504は、さまざまなアトミックコマンド514をトランスレータモジュールのステートマシン510から受け取り、それに応答して、放送サーバ110に、対話型アプリケーションの制御に関して指示する。
一般に、自動化サーバ108がない普通のシステムでは、放送サーバ110は、放送サーバイベントのリストである事前定義のプレイリストに従って、データ挿入ユニット116に対話型アプリケーションを送る。
しかし、自動化サーバ108は、スケジューリングシステム106によって提供される制御信号を介して、放送サーバのプレイリストの作成を自動化し、スケジューリングシステムのプレイリストに対するほぼリアルタイムの変更に合わせて、放送サーバのプレイリストにイベントを動的に追加し、除去し、修正することができる。放送サーバのプレイリストは、すべてのチャネルのイベントを含むことができるが、イベントマネージャ504は、それがアトミックコマンドを受け取るチャネルのイベントだけを管理する。
図5に、トランスレータモジュール502が、イベントマネージャ504にアトミックコマンド514をどのように送るかを示す。イベントマネージャ504は、アトミックコマンド514を解釈して、放送サーバ110へのプリミティブコマンドのストリームを生成する。イベントマネージャ504が、アトミックコマンド514を受け取る時に、それに含まれる番組IDを、マッピングロジック508を介して特定の放送サーバにマッピングする。適当な放送サーバイベントが、特定の番組IDに関して存在しない場合には、イベントマネージャ504は、放送サーバイベントを作成する。一般に、イベントマネージャ502は、必要に応じて放送サーバイベントを作成し、修正し、破棄する。
イベントマネージャ504は、それが管理する放送サーバイベントごとに、別々のステートマシン512を維持する。各ステートマシンに、イベントの番組IDによってイベントが割り当てられる。トランスレータモジュール502からのアトミックコマンドは、その番組IDに基づいて、これらのステートマシンにルーティングされる。この処理を、以下のアトミックコマンドマッピングロジックの節で説明する。イベントステートマシン512は、正しい放送サーバプリミティブコマンドを生成する責任を負う。これは、以下のイベントステートマシンの節で詳細に説明する。
トランスレータモジュール502およびイベントマネージャ504の2つのステートマシンを使用することによって、さまざまな異なる種類のスケジューリングシステム106のどれでも、自動化サーバ108に簡単にインタフェースできるようになるのと同時に、比較的単純で効率的なイベントマネージャ504の実施形態が可能になる。これによって、イベントマネージャ504の変更を必要とせずに、新しいスケジューリングシステム106と共に動作するように新しいトランスレータモジュール502を作成できるようになる。
異なるイベント種類によって、アトミックコマンドマッピングロジック508とイベントステートマシン512が異なる形で振る舞うようになる可能性があるので、以下の節で、イベントマネージャ504がサポートする様々なイベント種別を定義する。
a)イベント種別
イベント種別は、放送サーバイベントがどのように振る舞わなければならないかを決定する。イベント挙動を定義する、3つの異なるカテゴリがある。
・番組種別
・セグメント化
・対話性
番組種別は、コマーシャル、番組、または未知とすることができる。コマーシャルは、通常は短い(30秒から120秒)、テレビジョン番組の自己完結型の部分である。番組は、1または複数のセグメントを含むテレビジョン番組である。通常は、1または複数のコマーシャルが、テレビジョン番組セグメントの間に再生される。自動化サーバ108にが、スケジューリングシステム106によって送られた制御信号から番組種別を判定できない場合には、種別に未知がセットされる。通常、未知イベントは、コマーシャルなどの自己完結型の番組として扱うか、テレビジョン番組のように扱うことができる。
番組種別およびセグメント化は、密接に関連する。好ましい実施形態では、テレビジョン番組が、必ずセグメント化されたものとして扱われ、コマーシャルが、必ずセグメント化されないものとして扱われる。未知番組は、この一方または他方として扱うことができる。セグメント化されたテレビジョン番組の処理は、以下で図12に関して詳細に説明する。
対話性(例えば、対話型アプリケーション)は、通常対話型イベントまたはデフォルト対話型イベントのいずれかとすることができる。通常イベントは、特定の対話型アプリケーションを関連付けられるイベントである。イベントマネージャ504が、対話型アプリケーションデータベース112内でイベントに関連する特定の対話型アプリケーションを見つけることができない場合には、そのイベントの持続時間の間、デフォルト対話型イベントに置換することができる。ヌルイベントを、デフォルトイベントとして指定することもでき、これは、イベントの持続時間の間に対話型アプリケーションが放送されないことを意味する。
下の表に、6つのイベント種別を列挙し、各イベント種別の挙動を要約する。
Figure 0004724420
イベント種別は、放送サーバイベント設定を判定するのにも使用される。
b)イベント種別の判定
イベント種別は、最初に、トランスレータモジュール502によって判定され、アトミックコマンド514でイベントマネージャ504に渡される。いくつかの場合に、トランスレータモジュール502が、実際のイベント種類を判定するのに十分な情報を有しない。トランスレータモジュール502は、イベント種別の初期判定を行うが、イベントマネージャ504は、よりよい情報を有する場合に、イベント種別を変更することができる。イベントマネージャ504は、トランスレータモジュール502が有しない2つの情報を有する。
1.イベントマネージャ504は、イベントの番組IDについて対話型アプリケーションが存在するか否かを知っている。
2.イベントマネージャ504は、対話型アプリケーションからイベント種別情報を得ることができる。アプリケーションは、それが中断されたか否かを判定する情報を含む。自動化サーバ108は、すべてのテレビジョン番組が中断可能であり、すべてのコマーシャルが中断可能でないと仮定される。
イベントマネージャの情報とトランスレータモジュールの情報を組み合わせて、イベントマネージャ504は、下記の表に要約された正しいイベント種べつを判定することができる。
Figure 0004724420
c)アトミックコマンドマッピングロジック
イベントマネージャ504は、それが管理するイベントごとに別々のステートマシン512を維持する。イベントマネージャ504は、トランスレータモジュール502からアトミックコマンド514を受け取る時に、そのアトミックコマンドの番組IDを、適当な放送サーバイベントに関連付けなければならず、そのアトミックコマンドを、適当なステートマシン512に渡さなければならない。この処理は、イベントマネージャのマッピングロジック508によって処理される。
マッピングロジック508は、イベント関連テーブルを作成し、維持し、このイベント関連テーブルによって、番組IDが放送サーバイベントIDに関連付ける。スケジューリングされたアトミックコマンドだけが、新しい放送サーバイベントの作成を引き起こすことができる。その結果、これらのアトミックコマンドのみによって、新しい行を、番組IDを新しい放送サーバのイベントIDに関連付けるイベント関連テーブルに追加することができる。関連は、イベントによってステートマシン512がトラバースされ、ステートマシンが破棄される時に、テーブルから除去される。
図10に、マッピングロジック508の一実施形態の状態挙動を示す。表9で、この図を説明する。
Figure 0004724420
新規のイベントステートマシンが作成される時に、マッピングロジック508は、上記の表8のルールに従って、イベント種別を判定する。
通常のセグメント化されない対話型イベントについて、スケジューリングシステムイベントと放送サーバイベントの間に、イベント関連テーブル内で1対1マッピングが存在する。2つの特筆すべき例外を、次に説明する。
d)特別な事例のイベントマッピング
一般に、スケジューリングシステムイベントと、放送サーバイベントの間に、1対1マッピングがある。2つの特筆すべき例外を、ここで説明する。
(i)デフォルトイベント
起動時に、イベントマネージャ504は、3つの放送サーバイベント(デフォルトイベント種類ごとに1つ)を作成する。これは、イベント関連テーブルの最初の3つのイベントである。イベント種別に関して上述したように、デフォルトイベントは、特定の番組IDについて対話型アプリケーションを見つけることができない時に選択される。これをサポートするために、イベント関連テーブルを用いて、多数の番組IDを、同一のデフォルトイベントIDにマッピングできるようにする。マッピングロジック508が、関連する対話型アプリケーションがないスケジュールアトミックコマンドを受け取る時に、マッピングロジック508は、その番組IDをスケジュールアトミックコマンドで指定されるイベント種別に対応するデフォルトイベントに関連付ける。デフォルトイベントは、既にスケジューリングされているので、マッピングロジック508は、スケジュールアトミックコマンドを渡さない。
(ii)セグメント化されたイベント
注記したように、単一のテレビジョン番組を、複数の部分にセグメント化することができる。スケジューリングシステム106にとって、番組は、それぞれがそれ自体の番組IDを有する、一連の複数のイベントである。放送サーバにとって、テレビジョン番組は、セグメントごとに中断され、再開される単一のイベントである。その結果、イベント関連テーブルを用いて、複数の番組IDを単一の放送サーバイベントにマッチングすることによって、この間隙がふさがれる。
スケジューリングシステム106が、その番組ID内のセグメント化に関する情報を提供する場合に、マッピングロジック508は、テレビジョン番組の最初のセグメントの新しいイベントステートマシン512を作成し、他のすべてのセグメントを同一のイベントステートマシン512に自動的にマッピングする。
残念ながら、ほとんどのスケジューリングシステムは、この情報を提供しない。従って、自動化サーバ108は、2つの異なる番組IDが対話型アプリケーションデータベース112内で同一の対話型アプリケーションにマッピングされるか否かを判定することにより、両方の番組IDが同一のテレビジョン番組に関連するか否かを判定する。マッピングロジック508が、新しい番組IDが既にイベント関連テーブルにリストされているテレビジョン番組の他のセグメントに関連すると判定する場合に、マッピングロジック508は、
1.新しい番組IDが、イベント関連テーブル内で事前に存在する放送サーバイベントに関連付けられ、
2.番組が既にスケジューリングされているので、スケジュールアトミックコマンドは渡されない。
これを、以下のイベントステートマシンおよびセグメント化の節で詳細に説明する。
e)放送サーバのプリミティブコマンド
イベントマネージャのステートマシンは、4つの放送サーバプリミティブコマンドすなわち、スケジュール、開始、停止、および取消を発して、放送サーバを制御する。これらのコマンドは、同一の名前のアトミックコマンドに類似する。スケジュールは、対話型アプリケーションを放送のために準備し、放送サーバのプレイリストに追加する。開始は、対話型アプリケーションの放送を開始し、停止によってその放送を終わる。取消は、対話型アプリケーションを(まだ停止していない場合に)停止し、対話型アプリケーションをメモリから除去し、関連するイベントを放送サーバのプレイリストから削除する。
代替実施形態では、これらの特定のコマンドを拡張して、無期限の中断、選択された時間間隔の間の中断、即座の再開、選択された時間間隔の後の再開など、他のより複雑な挙動を含めることができる。
さらに、コマンドの内容すなわち、コマンドによって管理できる対話性の種類は、やはりシステム設計者によって決定される対話性の種類に応じて、可変である。従って、コマンドによって、以前に放送された対話性、フォーム、または他のデータ、URL、ウェブページ、Java(登録商標)アプレット、または他のハイパーメディア対話性および類似物をスケジューリングするか、トリガを開始することができる。
(8.イベントステートマシン)
アトミックコマンドの寿命は、特定のイベントステートマシン512で終わる。各イベントステートマシン512は、放送サーバイベントに関連し、そのイベントでのすべての動作を制御する。アトミックコマンドマッピングロジック508は、どのステートマシン512によって特定のアトミックコマンドを受け取るかを決定する(以下に少数の例外がある)。
図11に、イベントステートマシン512の挙動を、コマーシャルイベント種別、テレビジョン番組イベント種別、およびデフォルトイベント種別の詳細と共に示す。イベントステートマシンは、イベントのライフサイクルを追跡する。図11では、状態遷移にラベルを付けて、下記のように、どの種類のイベントにそれらが適用されるかを示す。
C:コマーシャルイベントに適用可能な遷移。
S:テレビジョン番組イベントに適用可能な遷移。
D:デフォルトイベントに適用可能な遷移。
一般に、イベントは、下記の状態を通る。
スケジューリング済み(1102):トランスレータモジュール502からのスケジュールアトミックコマンドによって、イベントが放送サーバでスケジューリングされる。ステートマシン512は、放送スケジュールプリミティブを発行し、これによって、放送サーバ110が、放送のために対話型アプリケーションを準備し、放送サーバのプレイリストに追加するように指示する。スケジューリングの後に、イベントを、開始アトミックコマンドによって開始する必要がある。
開始済み(1104)、停止(1106):トランスレータモジュール502からの開始コマンドによって、ステートマシンが開始済み状態(1104)に遷移する。ステートマシンは、放送開始プリミティブを発行する。開始の後に、イベントは、開始アトミックコマンドおよび停止アトミックコマンドによって、何回でも開始および停止を行うことができる。ステートマシンは、テレビジョン番組イベントおよびデフォルトイベントに限って停止(1106)に推移し、コマーシャルイベントでは停止(1106)状態に達することがない。
放送開始プリミティブに応答して、放送サーバ110は、前に送信されていない場合に対話型アプリケーションを送信すること、またはアプリケーションが前に送信されている場合に実行を開始するために対話型アプリケーションにトリガを送信することを含む、さまざまな形で対話型アプリケーションを開始することができる。同様に、放送サーバ110は、フォームまたはコンテンツなどの他の種類のデータを対話型アプリケーションに送信するか、上述したようにURLまたは類似物を送信することができる。
副トリガ処理(1108):開始された後に、イベントによって、0個以上の副トリガを引き起こすことができる。副トリガとは、イベントがアクティブである(すなわち、放送サーバでスケジューリングされている)間に発生するアクションである。その例が、イベント終了5分前のエンドユーザへの警告である。これらのトリガは、スケジューリングシステム106によって作成され、制御信号としてトランスレータモジュールに渡される。
取消済み(1110):最後に、イベントに関連する放送番組が終了したならば、取消アトミックコマンドが、トランスレータモジュール502から送られる。ステートマシンは、放送サーバ110に放送取消プリミティブを発行することによって応答し、これによって、イベントが取り消される。この状態には、異なるイベントについて異なる形で到達される。コマーシャルイベントの場合には、取消アトミックコマンドがトランスレータモジュール502から受け取られる時にこの状態に到達し、テレビジョン番組イベントの場合には、次テレビジョン状態コマンドが受け取られる時にこの状態に到達し、最後に、デフォルトイベントの場合には、シャットダウン時にこの状態に到達する。
放送サーバイベント(対話型アプリケーション)の開始を、それに関連するスケジューリングシステム放送番組と正確に同期化するために、一部のスケジューリングシステムは、プリロールをサポートする。プリロールは、スケジューリングシステム106が制御する(VTRなど)装置が動作(番組の再生の開始など)を完了するのに必要とする時間の長さである。スケジューリングシステム106は、同一の種類のプリロール警告を自動化サーバ108に与えて、対話型アプリケーションを開始する時間を与えることができる。一部のスケジューリングシステムでは、1つのプリロール値だけがサポートされる。自動化サーバ108の応答時間が、プリロール値より高速である場合に、自動化サーバ108は、放送サーバイベントを開始する際にある追加の遅延を導入する。この微調整されるタイミングは、システム設計者によって、イベントステートマシンで行われる。開始済み状態、停止状態、および取消済み状態のすべてで、放送サーバイベントを実際に開始し、停止し、あるいは取り消す前に、ある量の遅延を導入することができる。
すべての放送サーバイベントは、この同一の基本的なステートマシンを共有するが、イベントステートマシンは、イベント種別ごとに異なる。これらの相違の詳細を、以下で説明する。
副トリガは、すべてのイベント種別について同一の形で処理される。副トリガは、自動化サーバ108を拡張する形式である。一部のスケジューリングシステム106は、基本的な制御信号(プリロード、プリロール、オンエア、およびオフエア)以上の信号をサポートする。これらのスケジューリングシステムは、例えば、番組終了の5分前に制御信号を送って、番組が終わろうとしていることを装置に警告することができる。自動化サーバは、この信号を使用して、現在の対話型アプリケーションを更新して、それが終わろうとしていることを視聴者に警告することができる。これは、副トリガを使用できる形の1つの例にすぎない。
a)コマーシャルイベント種類
これは、最も単純なイベントステートマシンである。コマーシャルイベントは、絶対に停止も再開始もされず、従って、単に、スケジューリング済みから開始済み(潜在的にはいくつかの副トリガを有する)に進み、最後に取消済みに進む。次の表に、状態、その状態に入らせるアトミックコマンド、およびその状態によって実行されるアクションを要約する。
Figure 0004724420
b)番組イベント種別
番組イベント種類ステートマシン512は、コマーシャルイベント種別ステートマシンに非常に似ているが、セグメント化(イベント種類の節で説明した)も考慮に入れなければならない。
コマーシャルイベントと異なって、取消コマンドは、番組が停止するだけである。何故ならば、番組を将来に再開する必要がある場合があるからである。次の番組の開始アトミックコマンドが受け取られる時に限って、この番組が取り消される。次の表に、状態、その状態に入らせるアトミックコマンド、およびその状態によって実行されるアクションを要約する。
Figure 0004724420
c)デフォルトイベント種別
デフォルトイベントは、デフォルト番組イベント、デフォルトコマーシャルイベント、およびデフォルト未知イベントという3つの異なる種類がある。デフォルトイベントは、番組IDに関連する対話型アプリケーションがない時に使用される。
コマーシャルイベントとは異なって、取消コマンドだけによって、デフォルトイベントが停止する。何故ならば、将来に再開始する必要がある場合があるからである。デフォルトイベントは、自動化サーバ108がシャットダウンされる時に限って取り消される。通常のイベントとデフォルトイベントの主要な相違は、2つの順次番組IDによって同一のデフォルトイベントが参照される場合があることである。この場合には、デフォルトイベントを停止し、即座に再開始しないことが好ましい。そうではなく、デフォルトイベントは、再生の継続を許可される。これが機能するためには、次の開始アトミックコマンドがこのデフォルトイベントにも関するものでないことが確実になるまで、「停止」状態では実際に停止しない。デフォルトイベント種類に無関係に、次の表に、状態、その状態に入らせるアトミックコマンド、およびその状態によって実行されるアクションを要約する。
Figure 0004724420
(9.セグメント化)
図12に、視聴者に一貫性のある経験を与え、テレビジョン番組の異なるセグメント中に適当な対話型アプリケーションを維持すると同時に、コマーシャル中に同様に適当な対話型アプリケーションを提供するために、テレビジョン番組のセグメント化がどのように扱われるかを示す。
図12では、スケジューリングシステム106、(理想的な)トランスレータモジュール502、およびイベントマネージャ504からの、セグメント化されたテレビジョン番組を処理する時の、制御信号、アトミックコマンド、および放送サーバコマンドの流れのイベントトレースが示されている。テレビジョン番組Show Aが、それぞれが一意の番組IDを有する2つのセグメントA.1およびA.2で放送される。セグメントの間に、コマーシャルAd Xがある。セグメントA.2の後に、コマーシャルAd Yと、それに続く次の番組Show Bがある。ここで本発明によって解決される問題は、セグメントA.1およびA.2の両方の間に同一の対話性を維持する(これらのセグメントが一意の番組IDを有する場合であっても)と同時に、Ad XおよびAd Yに付随する固有のまたはデフォルトの対話性が何であっても、それを提供するという問題である。この結果を達成するために、セグメントA.1およびA.2の両方の番組IDを、イベントマネージャ504によって、イベント関連テーブルで同一の放送イベント(Show A)にマッピングしなければならない。これは、上述したさまざまな手順を使用して行うことができる。制御信号およびアトミックコマンドのシーケンスは、次の通りである。
番組セグメントA.1
1200:最初に、スケジューリングシステム106は、A.1プリロード信号を発行する。
1202:トランスレータモジュール502は、セグメントA.1をスケジューリングする。
1204:イベントマネージャ504は、このイベント(Show A)の新しいステートマシン512を作成し、この番組IDおよびステートマシンのマッピングをイベント関連テーブルに保管する。Show Aステートマシンは、放送サーバ110にShow Aと共に放送するために適当な対話型アプリケーションをスケジューリングするように指示する。
1206:スケジューリングシステム106は、A.1に関するプリロール信号または開始信号のいずれかを発行する。
1208:トランスレータモジュール502は、潜在的に、プリロール量によって決定される量の遅延と、イベントマネージャ504および放送サーバ110が放送サーバイベントを開始するのに要する時間の長さの後に、セグメントA.1を開始する。
1210:イベントマネージャのShow Aステートマシンは、それに対応して、Show Aの対話型アプリケーションを開始するように放送サーバに指示する。
1212:Show Aの対話型アプリケーションが、放送受信器120によって実行され、放送受信器120に結合された、テレビジョンセッとなどの表示装置に表示される。
スケジューリングシステム106によってプリロールが最初に発行される場合には、番組A.1が既に開始されているので、トランスレータモジュール502は、スケジューリングシステム106からのその後の開始信号を無視する。
Ad X
1214:少し後に、スケジューリングシステム106は、Ad Xのプリロード信号を発行する。
1216:トランスレータモジュール502は、Ad Xスケジュールアトミックコマンドを発行する。
1218:イベントマネージャは、放送サーバ110にスケジュールコマンドを発行し、Ad Xの対話型アプリケーション(デフォルトを含む)をスケジューリングする。
1220:スケジューリングシステム106は、プリロール信号またはAd開始信号を発行する。
1222、1224:トランスレータモジュール502は、Show Aに別のセグメントがあることを知らないので、セグメントA.1に関する取消コマンドを送信し、Ad X開始コマンドを送信する(スケジューリングシステム106によってA.1停止が送られる場合には、このコマンドは、Ad Xのプリロードおよびプリロールの後に到着し、そのために無視される)。
1226、1228:通常は、イベントマネージャ504が、セグメントA.1を取り消すことによって応答する。しかし、イベントマネージャ504は、一時的に取消コマンドを無視し、その代わりに、A.1停止コマンドを送って、Show Aの対話型アプリケーションを停止し、その後、Ad X開始コマンドを送り、これによって、Ad Xの対話型アプリケーションの実行が開始される。
1230、1232:これらのコマンドが、放送受信器によって受け取られる時に、受信器は、Show Aの対話型アプリケーションの実行を中断するが、終了はせず、Ad Xの対話型アプリケーション(またはデフォルトアプリケーション)の実行を開始する。対話型アプリケーションを中断することによって、ゲームのポイントまたは視聴者が見ていた特定のフォームなどの、その対話型アプリケーションが有した状態情報が保存される。中断は、さらなる効果も有し、例えば、Show Aの対話型アプリケーションが視聴者のテレビジョンセットのディスプレイから除去され、その結果、Ad Xが画面にある時に、Show Aの対話型アプリケーションが表示されず、Ad Xの対話性が、適当に進行するようになる。
イベントマネージャ504によって、Show Aに他のセグメントがないと判定できるまで(この時点では未知)、トランスレータモジュールの取消コマンドが延期される。この判定は、その後、以下で示すようにShow Bが開始される時に行われる。
番組セグメントA.2
1234:Ad Xが終わろうとする時に、スケジューリングシステム106は、A.2プリロード信号を発行する。
1236:トランスレータモジュール502は、A.2スケジュールコマンドを発行する。
この時点で、イベントマネージャ504のマッピングロジック508は、このイベントの(セグメントA.2)番組IDが、セグメントA.1の番組IDと同一の対話型アプリケーションに相関すると判定する。従って、マッピングロジック508は、セグメントA.2に関するすべてのコマンドを(番組IDに従って)Show Aのイベントステートマシンにルーティングする。Show Aのこのセグメントの対話型アプリケーションは、既に放送受信器にロードされているので、放送サーバがこれを今プリロードさせる必要はない。従って、イベントマネージャは、別のスケジュールコマンドを発行しない。
1238:スケジューリングシステム106は、A.2プリロール信号またはA.2開始信号を発行する。
1240、1242:トランスレータモジュール502は、Ad Xの取消コマンドと、セグメントA.2の開始コマンドを送る。
1244、1246:イベントマネージャ504は、最初に、Ad Xの対話性を取り消し、Show Aステートマシンに開始コマンドをルーティングするように放送サーバに指示し、これによってShow Aに関連する対話型アプリケーションを開始するように放送サーバに指示する。Show Aの対話型アプリケーションは、以前に中断されただけなので、Ad X開始の前に有した状態を有して、ここで再び動作を開始する(1248)。
従って、Show Aがゲーム番組であり、その対話型アプリケーションがゲームアプリケーションである場合に、Ad Xについてアプリケーションを中断することによって、ゲームでの視聴者のポイント総計(および他の状態)が保存され、セグメントA.2が放送され、アプリケーションが再開始される時に復元される。
Ad Y
1250:少し後に、スケジューリングシステム106は、Ad Yプリロード信号を発行する。
1252:トランスレータモジュール502は、Yスケジュールコマンドをイベントマネージャ504に送る。
1254:イベントマネージャ504は、Ad Yの対話性を放送サーバ上でスケジューリングする。
1256:スケジューリングシステム106は、Ad Yプリロール信号またはAd Y開始信号を発行する。
1258、1260:トランスレータモジュール502は、セグメントA.2の取消コマンドおよびAd Yの開始コマンドを送る。
1262、1264:イベントマネージャ504は、取消コマンドを延期し、その代わりに、Show Aの対話性を停止し、Ad Yの対話性がある(デフォルト含む)場合に、その対話性を開始するように放送サーバに指示する。Show Aの対話型アプリケーションが、中断され(1266)、Ad Yの対話性が実行される(1268)。
Show Aのステートマシンは、セグメントA.2の対話型アプリケーションの取消を延期する。何故ならば、Show Aの別のセグメントがあるかどうかがわからないからである。
Show B
1270:Ad Yが終わろうとしている時に、スケジューリングシステム106は、Show Bプリロード信号を発行する。
1272:トランスレータモジュール502は、Show Bをスケジューリングする。
1274:イベントマネージャのマッピングロジック508は、Show Bの番組IDがShow Aと異なり、従って、Show Aのセグメントがこれ以上ないと判定する。Show Bの新しいステートマシンがインスタンス化される。イベントマネージャ504は、Show Bスケジュールを放送サーバに発行して、Show Bの対話性をスケジューリングする。イベントマネージャは、Show Bがまだ開始されていないので、まだShow Aの対話性を取り消さない。
1276:スケジューリングシステム106は、Show Bのプリロールまたは開始のいずれかを発行する。
1278、1280:トランスレータモジュール502は、Ad Yを取り消し、Show Bを開始するアトミックコマンドを発行する。
1282、1284:イベントマネージャ504は、まずAd Yを取り消し、その後、新しいShow Bステートマシンに開始コマンドをルーティングする。
1288:Show B開始コマンドが現れる時に、新しい番組が始まることが明白なので、イベントマネージャ504は、Show A、セグメントA.2の対話性を安全に取り消すことができる。この取消コマンドは、トランスレータモジュール502から直接に来るのではなく、Show Bの開始コマンドに基づいて、イベントマネージャのShow Aステートマシンによって合成される。Show Bを、その放送の1時間前にスケジューリングすることが可能なので、Show Bが実際に開始されるまで、Show Aの対話性を取り消してはならない。連続した番組の可能性があり、Show Bがその開始時間の1時間前にスケジューリングされる可能性があるので、イベントBをスケジューリングする時に、取消を行えない場合があることにも留意されたい。
いくつかの場合に、2つのテレビジョン番組(例えば、Show AおよびShow B)の間に入るコマーシャル(例えば、Ad Y)がない。すなわち、2つの番組が連続する場合がある(すなわち、Show BがShow Aの直後に開始される可能性がある)。この場合には、Show A取消1288が、Show B開始1284の前に行われる。
代替実施形態では、イベントマネージャ504は、ある対話型アプリケーションを取り消す前に、別の対話型アプリケーションを開始することができる。例えば、これは、対話型アプリケーションの取消が、停止より長い時間を要する場合に望ましく、2つの番組が連続する場合に、Show Aの対話型アプリケーションを取り消す前にShow Bの対話型アプリケーションを開始することが、最適となる。一般に、代替実施形態は、以前の対話型アプリケーションを停止し、次の対話型アプリケーションを開始し、以前のアプリケーションを取り消すことである。
(E.動的対話型アプリケーションの更新)
上述したように、放送サーバ110は、対話型アプリケーションの特徴、ユーザインタフェース、または機能性を更新または修正するデータを送信することができる。この更新は、対話型アプリケーションの情報に対する更新、テキスト更新(例えば、新しいスポーツスコア、分類された宣伝、ニュース情報、ゲームの質問、または回答、番組ゲストのリスト)、イメージ更新(例えば、新しい天気図)、サウンド更新、およびファイル更新を含むが、これらに制限はされない。
対話型アプリケーションの更新を検討する際に、対話型アプリケーションを下記の3つのクラスに分離することが有用である。
1.静的アプリケーション:この種類の対話型アプリケーションは、その実行中に更新を一切受け取らない。
2.動的アプリケーション:動的アプリケーションは、通常は実行中に、新しい情報によって更新されるアプリケーションである。その例は、フットボールの試合中に新しいスコアを受信するスポーツティッカアプリケーション、同様に、更新された株式相場を受信する株式相場表示器アプリケーションである。データ更新のソースは、変化し、生データフィード、ウェブ情報に再度目的を持たせること、特定の時刻に送信される静的に定義された更新(例えば、ゲーム番組に付随する対話型プリケーションでの質疑応答)を含む。データ更新のソースは、全国的更新を生成する全国規模の放送会社および/または地方の更新を生成する地方サイトに置くことができる。上記したように、各動的アプリケーションが、一意のアプリケーション識別コードを有する。
3.再作成される動的アプリケーション:これは、新しい情報を含めるために定期的に再作成されるが、同一のアプリケーション識別コードが再利用され、構造的に同一である対話型アプリケーションである。従って、更新は、アプリケーションが、付随する番組と共に放送されるたびの新しいデータを構成する。そのような対話型アプリケーションの例が、NBC社の「Jay Leno Show」などのバラエティテレビジョン番組に付随する対話型アプリケーションである。このアプリケーションは、毎晩同一の外見を有するが、その日のゲストおよび他の現在の情報を含めるために毎晩更新される。このアプリケーション種別を静的アプリケーションと区別することの長所は、対話型アプリケーションを対話型アプリケーションデータベース112に永続的に保管することができ、選択されたレコードまたは対話型アプリケーションの部分が、アプリケーションが送信される時に更新されることを示すようにマークされることである。これによって、放送会社114が、対話型アプリケーション全体ではなく、更新だけを送信できるようになるので、これは有利である。
図13を参照すると、動的な対話型アプリケーションに更新を提供するシステムの実施形態が示されている。図1に関して説明したさまざまな要素のほかに、この実施形態は、更新マネージャ1300を含む。更新マネージャ1300は、2つのモジュールすなわち、対話型コンテンツコード検出器1302、および対話型コンテンツコードリーダ1304を含む。一般に、コード検出器1302は、受信された信号内の対話型アプリケーション識別コードを識別し、自動化サーバ108に供給する。自動化サーバ108は、識別された対話型アプリケーションの状態を追跡し、コードリーダ1304に制御信号を供給する。コードリーダ1304は、放送信号を読み取り、放送サーバ110で使用可能な対話型アプリケーションの対応するレコードに対する更新である部分(例えばレコード)を識別する。自動化サーバ108は、コードリーダ1304にコマンドを供給し、このコマンドは、受信装置への送信のために放送サーバ110にそのような更新を送る、またはそのような更新の送出を停止する、のいずれかを指示する。放送サーバ110は、最終的な放送受信器120への送信のために、DIU116に更新を供給する。これらの特徴を用いると、放送サーバ110は、放送会社によって形成される更新でアプリケーションを構成することに頼らずに、対話型アプリケーションを更新できるようになる。放送受信器120は、更新されたレコードを受信し、基礎となる対話型アプリケーションと共に実行する。
具体的に言うと、コード検出器1302は、放送会社114からの着信放送ビデオ信号を受信し、信号のVBI部分(または他のデータトランスポートの対応する部分)の対話型アプリケーション識別コードの存在、不在、または変更に関するさまざまな条件を検出する。更新マネージャ1300は、チャネルごとに新しいコード検出器1302を開始し、上記したように、自動化サーバ108は、チャネルごとの対応するトランスレータ502および対話型アプリケーションごとのステートマシン510を維持する。
コード検出器1302は、対話型アプリケーションのレコードについてVBIを監視し、各レコードのアプリケーション識別コードを読み取る。最初のアプリケーション識別コードの受信の際に、コード検出器1302は、自動化サーバ108内の対応するトランスレータ502に新識別子コード信号を供給する。同様に、コード検出器1302が、アプリケーション識別コードの変更を検出する場合にも、コード検出器1302は、新識別子コード信号を発行する。
コード検出器1302が、中断コマンドまたはキルコマンドを検出する場合に、コード検出器1302は、対応する中断信号またはキル信号を発行する。コード検出器1302が、対話型アプリケーションレコードなしなど、アプリケーション識別コードの不在を検出する場合には、コード検出器1302は、タイマを開始する。タイマは、ユーザが構成可能な満了時間を有し、対話型アプリケーションレコードが、その時間が満了する前に受信されない場合に、コード検出器1302は、データなし信号を発行する。
他の実施形態では、コード検出器1302は、特定のトリガ信号について放送信号を監視する。例えば、トリガ信号は、クローズドキャプションライン、ライン21などの予約されたラインで送出することができる。ライン21トリガ信号は、対話型アプリケーション識別コードなどのコンテンツ識別子と、カウントダウンタイマを制御するための持続時間カウント(例えば8秒)が含む。例えば、30の持続時間カウントが、30秒カウントダウンタイマを開始する。タイマが満了した時に、対話型アプリケーションまたは他のコンテンツが、停止する。トリガ信号が受け取られる場合には、対話型アプリケーションレコードは、無視される。その代わりに、コード検出器1302は、この例では予約されたラインで送信される、アプリケーション識別コードの変化を探す。識別コードが変化する場合に、新識別コード信号が、トランスレータ502に送られ、タイマが、リセットされて、持続時間カウントからカウントダウンする。タイマが満了する場合に、データなしコマンドがトランスレータに送られる。
各コード検出器1302に対応して、自動化サーバ108は、トランスレータ502およびイベントマネージャ504を維持する。トランスレータ502は、コード検出器1302からのさまざまな信号を受け取る。各準備および開始の際に、トランスレータ502は、新しいステートマシン510(新しい対応するアプリケーションがあるので)と、上述した、それを介する遷移を開始する。イベントマネージャ504は、同様に、イベントマネージャ512を開始して、対応するトランスレータステートマシン510によって発行されるアトミックコマンド514を受け取る。
表13に、コード検出器1302によって供給される制御信号の種類と、トランスレータ502での理想的な信号の間の関係を要約する。
Figure 0004724420
上述したように、イベントマネージャ504は、トランスレータ502からのアトミックコマンドに応答して、ステートマシンを使用して各イベントの状態を追跡して、放送サーバ110のイベント(対話型アプリケーション)を管理する。イベントマネージャ504が、トランスレータ502からスケジュールコマンドを受け取る時には、イベントマネージャ504は、放送サーバ110に、放送に関する新しいイベント(対話型アプリケーション)を開始し、維持するように指示し、放送サーバ110は、このイベントを参照するために、イベントマネージャ504にイベントIDを返す。イベントIDは、放送される対話型アプリケーションの特定のインスタンスの一意の識別子である。
他の実施形態では、コード検出器1302は、トランスレータの機能性が直接に組み込まれ、それが識別する対話型アプリケーションごとにそれ自体のステートマシンを維持する。従って、放送信号の変化がアトミックコマンドに直接にマッピングされ、これらのアトミックコマンドが、イベントマネージャ504に供給される。この実施形態では、トランスレータの機能性が、コード検出器1302に移動される。
どちらの実施形態でも、イベントマネージャ504は、コードリーダ1304と相互作用するための追加の機能性を含む。具体的に言うと、イベントマネージャ504は、コード検出器1302のリーダを制御する2つの追加コマンドを提供する。第1に、イベントマネージャ504が、開始アトミックコマンドを受け取る時に、上述したように開始済み状態1104に遷移する。ここで、他の挙動のほかに、イベントマネージャ504は、対話型アプリケーションコードと、放送サーバ110によって供給された対応するイベントIDを指定して、チャネルに関してコードリーダ1304にStart_Updatesコマンドを発行する。イベントマネージャが、停止アトミックコマンドを受け取る時に、停止状態1106に遷移し、更新が停止される対話型アプリケーションの対話型識別コードをあたえて、コードリーダ1304にKillコマンドを発行する。
コードリーダ1304は、対話型アプリケーションのどのレコードが更新されるかを判定し、これらのレコードを放送サーバ110に供給する責任を負う。他のモジュールと同様に、コードリーダ1304は、チャネル指向であり、各チャネルでの別々の状態と、各チャネルの各アプリケーションを維持する。アプリケーションごとに、コード検出器1302は、その対話型アプリケーションのどのレコードが更新されるかを判定し、これらの更新を放送サーバ110に転送する。Start_Updatesコマンドの受取の前に、コードリーダ1304は、更新されるレコードをキャッシングする。コードリーダ1304は、イベントマネージャ504からのStart_Updatesコマンドに応答して、これらの更新の供給を開始する。コードリーダ1304は、アプリケーション識別子、放送サーバによって認識されるイベントID、および放送される更新レコードと共に、放送サーバ110にUpdateコマンドを供給する。放送サーバ110は、DIU116による放送のために、更新されたレコードを準備する。イベントマネージャ504からのKillコマンドに応答して、コードリーダ1304は、放送サーバ110への更新されたレコードの送信を停止する。
いくつかの実施形態で、放送サーバ110は、放送受信器への送信のために、所与の放送番組の、放送信号でエンコードされて受信されるものと異なる対話型アプリケーションを提供する。放送サーバ110は、受信された対話型アプリケーションを修正するか、異なるアプリケーションと置換することができる。異なるアプリケーションを、例えばローカルに関連する情報(例えば全国規模の売手の支点)を提供するか、高帯域幅アプリケーションなど(例えば、MPEGまたは他のディジタルフォーマットで)の強化されたコンテンツを供給するなど、最初に受け取られたアプリケーションのローカルにカスタマイズされたバージョンとすることができる。
ディジタルアプリケーションが放送ディジタルビデオストリームに挿入される一実施形態では、データ挿入ユニット116が、当業者に既知の、例えばMPEG1ストリームまたはMPEG2ストリームなどの、MPEGまたは他のディジタルフォーマット挿入能力を有する。放送サーバ110は、対話型コンテンツをMPEGストリームを生成するローカルサブシステムマルチプレクサに送信する。ローカルサブシステムのマルチプレクサは、典型的には、対話型コンテンツビットストリームを受け取るシリアルポートまたはTCP/IPポートを有する。対話型コンテンツビットストリームを受け取る時に、マルチプレクサは、その通常動作に従って、その対話型コンテンツを出力ディジタルビデオストリームに追加する。マルチプレクサは、適当な時に、対話型コンテンツを除去または置換することもできる。ディジタルストリームが、SMPTE 259M-C標準規格で指定されるSerial Component Digital Video(パケットベースのディジタルビデオストリーム)である場合には、既存のパケットをローカル放送サーバ110によって送信される新しいパケットと置換することによって対話型コンテンツを追加するのに、Norpakエンコーダが使用される。代替案では、対話型コンテンツのディジタルバージョンが、アナログサブシステム628に放送された場合に、ローカルの対話型放送サーバ606によって、ディジタルアプリケーションを低帯域幅アナログアプリケーションにスワップすることができる。対話型コンテンツのアナログ版がシステム100に放送された場合に、アナログバージョンは、まずディジタル番組に変換されるか、ディジタル番組が、アナログ版の代わりにスワップされる。アナログ版をディジタル化する場合には、ソフトウェアアナログディジタルコンバータを使用して、アナログバージョンを、ローカルサブシステムのプロトコルに従うディジタル番組に変換する。一実施形態では、ローカル放送サーバ110は、複数のアプリケーション配布をサポートする。例えば、ケーブルヘッドエンドサブシステムは、アナログストリームとディジタルストリームの両方を配布して、ディジタル放送受信器を有する家庭が、より高品質の対話性を受信すると同時に、アナログ放送受信器を有する家庭が、それでもより単純な対話性を受信できるようにすることができる。この実施形態では、ローカル放送サーバ110は、対話型コンテンツのより豊富なバージョンおよびより単純なバージョンの両方が選択され、これらをめいめいの信号に挿入する。
これらの実施形態では、更新マネージャ1300は、最初に受信された対話型アプリケーションに関連する更新されたレコードの、放送されている、カスタマイズされたローカルバージョンへの移動を可能にする。これには、例えばVBIラインからMPEGへなどのトランスポート層の変更が必要である可能性があるが、これによって、そのようなレコードを、ローカルアプリケーションに一体化できるようになる。その結果、放送会社が元々更新およびカスタマイズされたアプリケーションの両方を組み合わせた放送信号を作成しなかった場合であっても、ローカル放送サーバ110が、アプリケーションのローカルにカスタマイズされたバージョンの更新を提供できる。
対話型アプリケーションのどのレコードを更新するか、およびどれが静的レコードであるかを判定するために、さまざまな方法を使用することができる。単純な実施形態では、各レコードを、そのレコードが静的レコードまたは更新のどちらであるかを示すフラグによってマークする(レコードは、放送会社によって、またはローカルシステム内で更新することができる)。コードリーダ1304は、受信時に対話型アプリケーションの各レコードを読み取っており、更新としてタグを付けられたレコードをローカル放送サーバ110に転送する。
より洗練された実施形態には、各レコード内はシーケンス番号を含む。未更新の対話型アプリケーションのレコードは、0に初期化される。レコードが更新されるたびに、シーケンス番号が増分される。コードリーダ1304は、対話型アプリケーションごとに、対話型アプリケーションの各レコードおよびそのシーケンス番号(各レコードにレコードIDが含まれる)をリストするテーブルを維持する。あるレコードが、対話型アプリケーションに関して受信される時に、コードリーダ1304は、テーブル内のシーケンス番号を、受信したレコードのシーケンス番号と比較する。受信されたレコードのシーケンスIDが、保管されたシーケンス番号より大きい場合には、コードリーダ1304は、このレコードが更新であることを知り、適宜、キャッシングするか、放送サーバ110に送る。コードリーダ1304は、テーブルに保管されたシーケンス番号も更新する。
このシーケンス番号付け実施形態は、上述した、同一の対話型識別コードが使用されるが、放送されるたびに異なる更新を必要とする、再作成される動的アプリケーションに特に有用である。この対話型アプリケーションのローカルに保管されるバージョンは、すべてが0の値のシーケンス番号を含む。対話型アプリケーションの更新された国内版のそれぞれに、すべての動的レコードすなわち更新されるレコードについて1のシーケンス番号が含まれる。例えば、アプリケーションが、夜に放送される場合に、毎晩の更新レコード(例えばゲストのリスト)に、「1」のシーケンス番号を付ける。ローカル放送サーバ110は、放送のたびにローカルアプリケーションを再ロードするので、毎回0の値のレコードになる。従って、コードリーダ1304は、新しい放送のそれぞれで、更新されたシーケンス番号を識別する。これによって、全国放送会社が、単に動的レコードを変更することによって、毎回同一の対話型アプリケーションを使用できるようになる。これによって、毎晩更新を提供するのに必要なオーバーヘッドが減り、全国放送会社(または対話型アプリケーションを提供するすべてのもの)が、別個のアプリケーション識別コードを有する異なるアプリケーションを毎晩展開し、追跡する必要がなくなる。
レコードのタグ付けおよびシーケンス番号付けを、一緒に使用することもできる。対話型アプリケーションを、動的レコードの一部だけに更新のタグを付けられるように、ローカルに構成することができる。これは、例えば、ローカルシステムオペレータが、全国放送会社によって供給される、ある更新を無視することを望む場合に望ましい。この実施形態では、コードリーダ1304は、更新についてマークし、増分されたシーケンス番号を有するレコードだけを渡す。
更新提供の他の改良として、全国に放送される対話型アプリケーションによって提供されるものなど、更新されたレコードが、ローカルアプリケーションで更新されるレコードとの互換性を有することを保証することが望ましい。これは、あるレコード種別(例えばテキスト)の、別のレコード種別(例えばビットマップ)の置換によって、対話型アプリケーションが放送受信器でクラッシュし、許容されない結果を引き起こす可能性があるからである。コードリーダ1304ですべてのレコードに対して種別検査を行うことは、理論的には可能であるが、実際には、超高速でレコードを処理する必要に起因して、実用的な実施形態ではない。
従って、ある解決策では、各対話型アプリケーションに対する二重チェックサム(シグニチャ)を利用する。
第1のチェックサムは、アップロードされたレコードの構造に基づくが、その可変コンテンツに基づかずに、すなわち、更新されるレコードの非コンテンツ部分に基づいて計算される。例えば、チェックサムを、更新されるレコードのすべてのレコードIDおよびレコード名について計算することができる(代替案では、レコード種類も使用することができ、あるいは、これらのフィールドの組合せ、例えばIDおよび種類を使用することができる)。例えば、Guest_Listという名前のレコードのコンテンツを変更することはできるが、名前は、その型と同様に、更新にまたがって一定である。この「動的」チェックサムが、対話型アプリケーションと共に送信され、コードリーダ1304によって受信され、ローカル対話型アプリケーションの対応するレコードからの対応する動的チェックサムと比較される。これらが一致する場合には、コードリーダ1304は、更新されたレコードが、それに対応するローカルに保管されたレコードとの互換性を有することを知る。
第2のチェックサムは、国内(より一般的にはリモート)バージョンとローカルに保管されたバージョンの両方の、対話型アプリケーションの静的(変化しない)部分のすべてから計算される。この静的チェックサムが、対話型アプリケーションと共に送信され、コードリーダ1304によって受信され、同一のアプリケーションのローカルに保管されたバージョンの対応するチェックサムと比較される。これらのチェックサムが一致する場合には、コードリーダ1304は、対話型アプリケーションの静的部分、例えばスクリプト、ボタン、画面レイアウトなどが同一であることを知る。
チェックサムのいずれかが一致しない場合には、コードリーダ1304は、更新レコードを放送サーバ110に供給しない。2つのチェックサム値だけが計算されるので、この方法は、非常に高速であり、コードリーダ1304による追加の帯域幅を必要としない。
動的データ更新のほかに、更新マネージャ1300によって、全国に(または他の形でリモートに)放送される対話型アプリケーションからローカル対話型アプリケーションへ制御情報を渡すこともサポートされる。この制御情報は、下記を含むが、これらに制限はされない。
・「対話型アプリケーションを終了」および「対話型アプリケーションを中断」などのコマンド。これによって、対話型アプリケーションの動作を制御する他の機構が提供される。
・信号の出所に関する情報(例えば、信号がどの全国放送サーバから来たか)。
・アプリケーション実行時間情報。このような情報(「リース」と称する)は、その間にアプリケーションの開始、実行、または終了を行うことができる特定の時間ウィンドウを制御するのに使用される。この特徴のさらなる詳細は、例えば、特許文献2に記載されている。
これらの信号のいずれかまたはすべてを、双方向テレビジョンシステムの必要に応じて、ローカルにカスタマイズされた対話型アプリケーションに渡すことができる。
(F.要約)
要約すると、本発明は、テレビジョン番組、コマーシャル、および類似物を含む放送番組の放送および表示と同期して、対話型コンテンツの挙動を制御するさまざまな方法および手段を提供する。ネイティブ信号を使用して放送番組の識別および状態を判定し、放送番組に関連する対話性の状態を管理することを含む、本発明の原理は、さまざまな異なる形で、多数の変形形態を用いて実施することができる。本発明の範囲内のこれらの変形形態の一部を、以下に示す。
自動化サーバ108を、トランスレータモジュール502およびイベントマネージャ504という二重のステートマシンを使用するものとして説明した。有益ではあるが、本発明の他の実施形態を、例えば制御信号の種類ごとにプログラミングされたスクリプトまたは他の手続き機構を使用して、ステートマシンなしで自動化サーバ108またはその機能性を実施することが可能である。
トランスレータモジュール502の理想的な制御信号および状態の組、イベントマネージャ504に出力されるアトミックコマンド、または放送サーバに似た装置を制御するために作られるコマンドのすべてを、より多数または少数の信号またはコマンドを含めるために変更することができる。同様に、状態のそれぞれでの特定のアクションを変更することができる。例えば、停止または取消のコマンドのほかに、より複雑な制御のために、再開コマンドまたは遅延付き再開コマンドを使用することができる。保存コマンドによって、将来の検索のために対話性で生成されたデータを保存するように放送受信器120に指示することができる。このコマンドは、ユーザまたは対話性によって作成されたデータを保存するために、例えば、エラー状態、チャネル変更、または他のイベントに応答して生成することができる。送信コマンドまたはアップロードコマンドによって、例えば対話型購入アプリケーションを介する購入を完了するために、作成された/収集機構に保管されたデータを送信するように放送受信器に指示することができる。
自動化サーバ108および本発明によって制御することができる対話性の種類は、変更することができ、既存の対話型アプリケーションに制限されない。ウェブページなどの対話性またはウェブページと対話型アプリケーションの組合せを、本発明の原理を使用して制御できることが予想されている。
コマンドが放送サーバまたは類似する装置に送られる時のタイミングは、帯域幅、データ送信の接続速度、およびどれほどすばやくテレビジョン画像を表示できるかに関する放送受信器の実行応答時間に応じて、変更することができる。従って、基礎となる放送イベントが発生する前に、その正確な時刻に、その直後に、またはかなり前に、コマンドを送ることができる。コマンドのタイミングは、最も早い可能な時にどの情報が既知であるかを利用するように最適化することができる。
制御信号を自動化サーバまたはその同等物に供給する手段を、変更することができる。これには、スケジューリングシステムへのシリアルポート、LAN、または遠隔通信インタフェースを介するバイナリデータ、あるいはアナログビデオ信号またはディジタルビデオ信号にエンコードされたバイナリデータが含まれる。
従って、本発明は、請求項の範囲によって制限され、開示した好ましい実施形態の詳細によって固有に制限されないことを理解されたい。
本発明にかかるシステムを示す図である。 放送受信器を示す図である。 対話型アプリケーションを受信し、実行する処理全体を示す流れ図である。 本発明の実施形態の自動化サーバを示す図である。 トランスレータモジュールおよびイベントマネージャを含むチャネルインタフェースを示す図である。 インタフェースマネージャのライフサイクル図である。 トランスレータモジュールおよびイベントマネージャを含むチャネルインタフェースのライフサイクル図である。 理想的なトランスレータのステートマシン図である。 トランスレータモジュールのマッピングロジックの流れ図である。 イベントマネージャのマッピングロジックの流れ図である。 イベントマネージャのステートマシン図である。 コマーシャルに関する放送番組の対話性のセグメント化を示すイベントトレースの図である。 動的な対話型アプリケーションに更新を提供するシステムを示す図である。

Claims (34)

  1. 放送システムから伝送媒体を介して受信装置に放送される対話型アプリケーションの更新を実行する方法であって、
    前記放送システムにおいて、更新マネージャが、対話型アプリケーションの少なくとも1つのレコードを含む放送信号を放送会社から受信すること、
    前記更新マネージャが、受信した前記放送信号から前記対話型アプリケーションの対応するレコードに対する対話型アプリケーション識別コードを検出し、自動化サーバに供給すること、
    前記更新マネージャからの制御信号に基づいて前記放送信号にかかる放送番組の状態情報を維持し、前記対話型アプリケーション識別コードを受信すると、前記状態情報に基づいて前記放送番組と前記対話型アプリケーションとの同期をとるように、前記対話型アプリケーションの対応するレコードに対する更新レコードの出力を開始または停止させるコマンドを、前記自動化サーバから前記更新マネージャに出力すること、
    前記自動化サーバからのコマンドに応答して、前記更新マネージャが、前記更新レコードを選択的に前記放送サーバに供給すること、および
    該放送サーバから前記更新レコードを含む対話型アプリケーションを前記受信装置に放送して、前記受信装置により前記更新レコードを含む対話型アプリケーションを実行するこ
    備えたことを特徴とする方法。
  2. 前記更新レコードは、前記対話型アプリケーションのカスタマイズされたバージョンであることを特徴とする請求項1に記載の方法。
  3. 前記対話型アプリケーションは、第1トランスポートプロトコルを介して放送され、前記更新レコードは、第2トランスポートプロトコルを介して放送されることを特徴とする請求項1に記載の方法。
  4. 前記対話型アプリケーションは、アナログトランスポートプロトコルを介して放送され、前記更新レコードは、ディジタルトランスポートプロトコルを介して放送されることを特徴とする請求項1に記載の方法。
  5. 前記アナログトランスポートプロトコルは、アナログ放送テレビジョン信号の垂直帰線消去期間であることを特徴とする請求項4に記載の方法。
  6. 前記ディジタルトランスポートプロトコルは、MPEG信号であることを特徴とする請求項4に記載の方法。
  7. 前記ディジタルトランスポートプロトコルは、ATVEF信号であることを特徴とする請求項4に記載の方法。
  8. 前記ディジタルトランスポートプロトコルは、HTTP信号であることを特徴とする請求項4に記載の方法。
  9. 前記更新レコードの前記受信装置への放送は、前記更新レコードを、前記アナログトランスポートプロトコルと互換のフォーマットから前記ディジタルトランスポートプロトコルと互換のフォーマットに変換することをさらに備えたことを特徴とする請求項4に記載の方法。
  10. 前記更新レコードの前記受信装置への放送は、
    前記更新マネージャが、前記対話型アプリケーションの対応するレコードに対する更新として更新レコードを選択すること
    をさらに備えたことを特徴とする請求項1に記載の方法。
  11. 前記更新マネージャが、前記対話アプリケーションの対応するレコードに対する更新として更新レコードを選択することは、
    前記対話型アプリケーションのレコードごとに現在のシーケンス番号を保管すること、
    前記対話型アプリケーションの受信された更新レコードのシーケンス番号が、前記対話型アプリケーションのレコードに関する前記現在のシーケンス番号を超えるか否かを判定すること、および
    前記シーケンス番号が前記保管されたシーケンス番号を超えるとの判定に応答して、前記更新レコードを選択し、前記更新レコードに関する前記保管されたシーケンス番号を受信されたシーケンス番号に調整すること
    をさらに備えたことを特徴とする請求項10に記載の方法。
  12. 前記更新マネージャが、前記対話型アプリケーションの対応するレコードに対する更新として更新レコードを選択することは、
    前記対話型アプリケーションのレコードごとに現在のシーケンス番号を保管すること、
    前記対話型アプリケーションの更新レコードごとに、更新フラグを識別することにより、前記更新レコードが更新であるか否かを判定すること、
    前記更新フラグを有する更新レコードごとに、前記更新レコードのシーケンス番号が、前記対話型アプリケーションのレコードに関する前記現在のシーケンス番号を超えるか否かを判定することにより、前記更新レコードを利用するか否かを判定すること、および
    前記シーケンス番号が前記保管されたシーケンス番号を超えるとの判定に応答して、前記更新レコードの前記保管されたシーケンス番号を、前記受信されたシーケンス番号に調整すること
    をさらに備えたことを特徴とする請求項10に記載の方法。
  13. 前記選択された更新レコードを前記受信装置に放送することは、
    前記更新レコードが前記対話型アプリケーションの対応するレコードと互換である場合に限って、前記選択された更新レコードを放送すること
    をさらに備えたことを特徴とする請求項1に記載の方法。
  14. 前記選択された更新レコードを前記受信装置に放送することは、
    前記更新レコードが、前記対話型アプリケーションの対応するレコードと互換であるか否かを判定することであって、
    前記更新マネージャが、前記更新レコードの非コンテンツ部分の第1チェックサムを、可変コンテンツを含む対応する前記対話型アプリケーションのレコードの非コンテンツ部分の第1チェックサムと照合することにより判定すること
    を備えたことを特徴とする請求項1に記載の方法。
  15. 前記レコードの非コンテンツ部分は、
    レコードIDと、
    レコード種別と、
    レコード名と
    からなる群から選択される少なくとも1つを含むことを特徴とする請求項14に記載の方法。
  16. 前記選択された更新レコードを前記受信装置に放送することは、
    前記更新マネージャが、前記更新レコードの静的部分の第2チェックサムを、前記対話型アプリケーションのレコードの静的部分の第2チェックサムと照合すること
    をさらに備えたことを特徴とする請求項14に記載の方法。
  17. 前記放送システムにおいて、前記更新マネージャが、前記受信装置において前記対話型アプリケーションの実行を制御する制御情報を受け取ること、および
    前記放送サーバに前記制御情報を供給し、前記受信装置に前記制御情報を放送すること
    をさらに備えたことを特徴とする請求項1に記載の方法。
  18. 放送システムから伝送媒体を介して受信装置に放送される対話型アプリケーションの更新を実行するためのシステムであって、
    対話型アプリケーションの少なくとも1つのレコードを含む放送信号を受け取り、該放送信号から前記対話型アプリケーションの対応するレコードに対する対話型アプリケーション識別コードを識別するように適合されたコード検出器と、
    前記コード検出器からの制御信号に基づいて前記放送信号にかかる放送番組の状態情報を維持し、前記コード検出器からの前記対話型アプリケーション識別コードに応答して、前記状態情報に基づいて前記放送番組と前記対話型アプリケーションとの同期をとるように、前記対話型アプリケーションの対応するレコードに対する更新レコードの出力を開始するか停止するコマンドを出力する自動化サーバと、
    前記放送信号内の前記対話型アプリケーションを読み取り、放送サーバに保管された前記更新レコードに対応する前記対話型アプリケーションのレコードを識別するように適合され、前記自動化サーバに結合され、前記自動化サーバからのコマンドに応答して前記放送サーバに前記更新レコードを選択的に供給するコードリーダと、
    該コードリーダから前記更新レコードを受信し、前記更新レコードを含む対話型アプリケーションを前記受信装置に放送する放送サーバと
    を備えたことを特徴とするシステム。
  19. 前記コードリーダは、前記自動化サーバからのコマンドを受け取る前に、前記更新レコードをキャッシングし、前記放送サーバに前記更新レコードを供給することを特徴とする請求項18に記載のシステム。
  20. 前記コード検出器は、前記放送信号の予約された部分内の前記対話型アプリケーションの実行を制御するコマンドを検出し、前記コードリーダは、前記受信装置への放送のために前記放送サーバにコマンドを供給することを特徴とする請求項18に記載のシステム。
  21. 前記更新レコードは、前記対話型アプリケーションのカスタマイズされたバージョンであることを特徴とする請求項18に記載のシステム。
  22. 前記対話型プリケーションは、前記コードリーダにより第1トランスポートプロトコルを介して受け取られ、前記更新レコードは、第2トランスポートプロトコルを介して放送されることを特徴とする請求項18に記載のシステム。
  23. 前記対話型プリケーションは、前記コードリーダによりアナログトランスポートプロトコルを介して受け取られ、前記更新レコードは、ディジタルトランスポートプロトコルを介して放送されることを特徴とする請求項18に記載のシステム。
  24. 前記アナログトランスポートプロトコルは、アナログ放送テレビジョン信号の垂直帰線消去期間であることを特徴とする請求項23に記載のシステム。
  25. 前記ディジタルトランスポートプロトコルは、MPEG信号であることを特徴とする請求項23に記載のシステム。
  26. 前記ディジタルトランスポートプロトコルは、ATVEF信号であることを特徴とする請求項23に記載のシステム。
  27. 前記ディジタルトランスポートプロトコルは、HTTP信号であることを特徴とする請求項23に記載のシステム。
  28. 前記コードリーダは、前記更新されたレコードを、前記アナログトランスポートプロトコルと互換のフォーマットから前記ディジタルトランスポートプロトコルと互換のフォーマットに変換することを特徴とする請求項23に記載のシステム。
  29. 前記コードリーダは、
    前記対話型アプリケーションのレコードごとに現在シーケンス番号を保管し、
    前記対話型アプリケーションの受信されたレコードのシーケンス番号が、前記対話型アプリケーションのレコードに関する前記現在のシーケンス番号を超えるか否かを判定し、
    前記シーケンス番号が前記保管されたシーケンス番号を超えるとの判定に応答して、前記更新レコードを選択し、前記更新レコードに関する前記保管されたシーケンス番号を受信されたシーケンス番号に調整する
    ことを特徴とする請求項18に記載のシステム。
  30. 前記コードリーダは、
    前記対話型アプリケーションのレコードごとに現在シーケンス番号を保管し、
    前記対話型アプリケーションのレコードごとに、更新フラグを識別することにより、前記更新レコードが更新であるか否かを判定し、
    前記更新フラグを有する更新レコードごとに、前記更新レコードのシーケンス番号が、前記対話型アプリケーションのレコードに関する前記現在のシーケンス番号を超えるか否かを判定することにより、前記更新レコードを利用するか否かを判定し、
    前記シーケンス番号が前記保管されたシーケンス番号を超えるとの判定に応答して、前記更新レコードの前記保管されたシーケンス番号を、前記受信されたシーケンス番号に調整する
    ことを特徴とする請求項18に記載のシステム。
  31. 前記コンテンツリーダは、前記更新レコードが前記対話型アプリケーションの対応するレコードと互換である場合に限って、前記更新レコードを前記放送サーバに提供することを特徴とする請求項18に記載のシステム。
  32. 前記コンテンツリーダは、前記対話型アプリケーションの前記レコードの非コンテンツ部分の第1チェックサムを、可変コンテンツを含む対応する前記対話型アプリケーションのレコードの非コンテンツ部分の第1チェックサムと照合することにより、前記更新レコードが前記対話型アプリケーションの前記対応するレコードと互換であるか否かを判定することを特徴とする請求項31に記載のシステム。
  33. 前記レコードの非コンテンツ部分は、
    レコードIDと、
    レコード種別と
    レコード名と
    からなる群から選択される少なくとも1つを含むことを特徴とする請求項32に記載のシステム。
  34. 前記コンテンツリーダは、前記更新レコードの静的部分の第2チェックサムを、前記対話型アプリケーションンのレコードの静的部分の第2チェックサムと照合することにより、前記更新レコードが前記対話型アプリケーションの前記対応するレコードと互換であるか否かを判定することを特徴とする請求項32に記載のシステム。
JP2004533008A 2001-04-25 2002-04-25 動的対話型アプリケーションの同期式更新 Expired - Fee Related JP4724420B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/843,614 US7222155B1 (en) 1999-06-15 2001-04-25 Synchronous updating of dynamic interactive applications
US09/843,614 2001-04-25
PCT/US2002/013125 WO2002086746A1 (en) 2001-04-25 2002-04-25 Synchronous updating of dynamic interactive applications

Publications (2)

Publication Number Publication Date
JP2005527171A JP2005527171A (ja) 2005-09-08
JP4724420B2 true JP4724420B2 (ja) 2011-07-13

Family

ID=25290526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004533008A Expired - Fee Related JP4724420B2 (ja) 2001-04-25 2002-04-25 動的対話型アプリケーションの同期式更新

Country Status (8)

Country Link
EP (1) EP1381961B1 (ja)
JP (1) JP4724420B2 (ja)
AT (1) ATE349854T1 (ja)
AU (1) AU2002303484B2 (ja)
CA (1) CA2445186A1 (ja)
DE (1) DE60217091T2 (ja)
ES (1) ES2278025T3 (ja)
WO (1) WO2002086746A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818438A (en) 1995-04-25 1998-10-06 Bellsouth Corporation System and method for providing television services
US9788058B2 (en) 2000-04-24 2017-10-10 Comcast Cable Communications Management, Llc Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US7702995B2 (en) 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US8936101B2 (en) 2008-07-17 2015-01-20 Halliburton Energy Services, Inc. Interventionless set packer and setting method for same
AUPS300302A0 (en) * 2002-06-17 2002-07-11 Itvworld.Com Australia Pty Ltd Managing interactive broadcasting services
US20040237120A1 (en) * 2003-05-22 2004-11-25 Lewin Blake P. Systems and methods for dynamically generating and distributing synchronized enhancements to a broadcast signal
JP2007535204A (ja) 2003-12-18 2007-11-29 松下電器産業株式会社 認証プログラム実行方法
CN100562096C (zh) 2003-12-18 2009-11-18 松下电器产业株式会社 用于存储、认证以及执行应用程序的方法
US8286203B2 (en) 2003-12-19 2012-10-09 At&T Intellectual Property I, L.P. System and method for enhanced hot key delivery
JP2008505519A (ja) * 2004-06-30 2008-02-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンテンツ管理モジュールおよびかかるコンテンツ管理モジュールを含む装置ならびに対話型アプリケーションを制御する方法
EP1696321A1 (en) * 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
US7721318B2 (en) 2005-04-15 2010-05-18 Scientific-Atlanta, Inc. Uplink signaling for global decoder control
US7805750B2 (en) 2005-04-15 2010-09-28 Scientific-Atlanta, Inc. Storage control system
US7810131B2 (en) 2005-04-15 2010-10-05 Scientific-Atlanta, Llc Control system with global control stream for controlling a plurality of decoders
CN100486329C (zh) * 2005-11-16 2009-05-06 中兴通讯股份有限公司 一种iptv与流媒体设备的接口适配方法
US8402503B2 (en) 2006-02-08 2013-03-19 At& T Intellectual Property I, L.P. Interactive program manager and methods for presenting program content
EP1881667A1 (en) * 2006-07-17 2008-01-23 Motorola, Inc., A Corporation of the State of Delaware; Apparatus and method for presenting an event during a broadcast
WO2010114889A1 (en) * 2009-04-01 2010-10-07 Fourthwall Media, Inc. Systems, methods, and apparatuses for enhancing video advertising with interactive content
JP5907958B2 (ja) * 2011-05-19 2016-04-26 日本放送協会 放送機器
US8935719B2 (en) 2011-08-25 2015-01-13 Comcast Cable Communications, Llc Application triggering
US9414114B2 (en) 2013-03-13 2016-08-09 Comcast Cable Holdings, Llc Selective interactivity
US11076205B2 (en) 2014-03-07 2021-07-27 Comcast Cable Communications, Llc Retrieving supplemental content
JP6892490B2 (ja) * 2017-03-24 2021-06-23 マクセル株式会社 放送受信装置
JP6612805B2 (ja) * 2017-03-24 2019-11-27 マクセル株式会社 放送受信装置及びキャッシュ制御方法
CN107920277A (zh) * 2017-11-06 2018-04-17 深圳创维-Rgb电子有限公司 Epg信息扩充方法、装置及计算机可读存储介质
CN110413347B (zh) * 2019-07-31 2023-08-18 Oppo广东移动通信有限公司 应用程序中广告的处理方法、装置、存储介质及终端

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5861881A (en) * 1991-11-25 1999-01-19 Actv, Inc. Interactive computer system for providing an interactive presentation with personalized video, audio and graphics responses for multiple viewers
DE69534896T2 (de) * 1994-10-24 2006-10-12 Intel Corp., Santa Clara Videoindexierungsprotokoll
US6021433A (en) * 1996-01-26 2000-02-01 Wireless Internet, Inc. System and method for transmission of data
US5961603A (en) * 1996-04-10 1999-10-05 Worldgate Communications, Inc. Access system and method for providing interactive access to an information source through a networked distribution system
DE69827639T2 (de) * 1998-09-11 2005-05-25 Two Way Media Lt Ablieferung von Interaktiven Anwendungen

Also Published As

Publication number Publication date
JP2005527171A (ja) 2005-09-08
WO2002086746A1 (en) 2002-10-31
CA2445186A1 (en) 2002-10-31
DE60217091T2 (de) 2007-06-21
DE60217091D1 (de) 2007-02-08
EP1381961A4 (en) 2005-03-09
AU2002303484B2 (en) 2006-06-15
ATE349854T1 (de) 2007-01-15
EP1381961A1 (en) 2004-01-21
WO2002086746A8 (en) 2004-01-08
ES2278025T3 (es) 2007-08-01
EP1381961B1 (en) 2006-12-27

Similar Documents

Publication Publication Date Title
JP4724420B2 (ja) 動的対話型アプリケーションの同期式更新
US7222155B1 (en) Synchronous updating of dynamic interactive applications
US7634787B1 (en) Automatic control of broadcast and execution of interactive applications to maintain synchronous operation with broadcast programs
EP1410628B1 (en) Method and apparatus for selective recording of television programs using event notifications
AU2002303484A1 (en) Synchronous updating of dynamic interactive applications
US6530084B1 (en) Automated control of interactive application execution using defined time periods
US8997149B1 (en) Context-sensitive interactive television ticker
US7028327B1 (en) Using the electronic program guide to synchronize interactivity with broadcast programs
US7069571B1 (en) Automated retirement of interactive applications using retirement instructions for events and program states
CA2243700C (en) Transmission and reception of television programs and an additional data service
JP2009201126A (ja) テレビジョン信号の置換のシステムおよび方法
WO2002104020A1 (en) Advertisement swapping using an aggregator for an interactive television system
JP4852243B2 (ja) 音響映像プログラムのための同期システム及び同期方法並びに関連するデバイスと方法
US20030025834A1 (en) Video synchronisation and information management system
CA2451984C (en) Video synchronisation and information management system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070305

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080321

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080717

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080801

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110225

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110411

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees