(57)【特許請求の範囲】
【請求項１】
メモリに、アプリケーションマーケットからアプリケーションをダウンロードして実行できるスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムをロードし、
前記単一オペレーティングシステムに含まれる基本メディアプレイヤがアプリケーションから対象メディアの再生リクエストを受信し、
前記単一オペレーティングシステムに含まれる基本メディアプレイヤが前記対象メディアの有する識別子（ＩＤ）の類型を判断し、
前記基本メディアプレイヤが前記対象メディアの有する識別子の類型に応じて前記基本メディアプレイヤと区別されるＤＴＶプレイヤまたはＶＯＤプレイヤのいずれか１つのプレイヤを選択し、
前記選択されたプレイヤが前記対象メディアを再生すること、
を含むことを特徴とするスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムでメディアを再生する方法。
【請求項２】
前記対象メディアが有する識別子は、統合リソース識別子を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記対象メディアは、ＶＯＤまたはＤＴＶチャネルを介して受信されたメディアまたはフラッシュファイルのいずれか１つであることを特徴とする請求項１に記載の方法。
【請求項４】
前記対象メディアが前記ＤＴＶプレイヤによって再生される場合、前記再生結果を前記単一オペレーティングシステムのカーネルに含まれるバインダードライバを用いてＤＴＶスタックに提供することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記単一オペレーティングシステムのカーネルに含まれるバインダードライバはプロセス間通信（ＩＰＣ）メカニズムを行うことを特徴とする請求項４に記載の方法。
【請求項６】
前記ＤＴＶプレイヤまたはＶＯＤプレイヤのいずれか１つのプレイヤを選択することは、前記対象メディアが有する識別子の類型に応じて前記ＤＴＶプレイヤ、前記ＶＯＤプレイヤ、またはステージフライトプレイヤのいずれか１つを選択することであることを特徴とする請求項３に記載の方法。
【請求項７】
ＤＴＶスタックに含まれるＤＴＶサービス機能とセキュリティサービス機能との間の通信のためにＤＴＶハードウェア抽象化レイヤを用いることをさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記単一オペレーティングシステムに含まれる基本メディアプレイヤを用いて前記対象メディアが有する識別子の類型を判断することは、前記識別子の予め設定された前の部分または後の部分をパーシングして前記対象メディアが有する識別子の類型を判断することであることを特徴とする請求項１に記載の方法。
【請求項９】
アプリケーションマーケットからアプリケーションをダウンロードして実行できるスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムに含まれる基本メディアプレイヤがＶＯＤの再生を要求するアプリケーションから再生関連リクエストを受信し、
前記基本メディアプレイヤが前記基本メディアプレイヤと区別されるＶＯＤプレイヤに前記再生関連リクエストを送信し、
前記ＶＯＤプレイヤが再生サーバから提供されるＶＯＤを再生し、
前記ＶＯＤの再生に関連するイベントの発生に応答して、前記基本メディアプレイヤが前記イベントの内容を表す情報をブロードキャストすること、
を含むことを特徴とするスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムで再生に関連するイベントを管理する方法。
【請求項１０】
前記イベントの内容を表す情報をブロードキャストすることは、前記イベントの内容を表す情報をインテントクラスに挿入することを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記イベントの内容を表す情報は、前記ＶＯＤの再生終了、前記ＶＯＤの受信エラー、前記ＶＯＤのチャネル転換が成功したか否か、または前記チャネル転換の失敗原因のうち少なくとも１つを示すことを特徴とする請求項９に記載の方法。
【請求項１２】
前記イベントの内容を表す情報が受信されるようにする権限は前記アプリケーションに付与されることを特徴とする請求項９に記載の方法。
【請求項１３】
メモリに、アプリケーションマーケットからアプリケーションをダウンロードして実行できるスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムをロードし、
アプリケーションがＶＯＤカタログサーバからＶＯＤアセット情報を取得し、
前記ＶＯＤアセット情報の取得に応答して、前記アプリケーションがＶＯＤであることを示す識別子（ＩＤ）を前記単一オペレーティングシステムに含まれた基本メディアプレイヤに提供し、
前記基本メディアプレイヤが前記識別子に基づいて前記基本メディアプレイヤと区別されるＶＯＤプレイヤを選択して駆動すること、
を含むことを特徴とするスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムでメディアを再生する方法。
【請求項１４】
前記ＶＯＤプレイヤがトランスポートストリームＩＤのリストを取得し、
前記ＶＯＤプレイヤが前記トランスポートストリームのＩＤに基づいて再生サーバから当該ＶＯＤを受信して復号化すること、
をさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
請求項１から請求項１４のいずれか１項に記載の方法を行うためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
【請求項１６】
アプリケーションマーケットからアプリケーションをダウンロードして実行できるスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムがロードされるメモリと、
前記単一オペレーティングシステムに含まれる基本メディアプレイヤがアプリケーションから対象メディアの再生リクエストを受信し、前記単一オペレーティングシステムに含まれる基本メディアプレイヤが前記対象メディアの有する識別子（ＩＤ）の類型を判断するプロセッサと、
を備え、
前記プロセッサは、前記対象メディアが有する識別子の類型に応じて前記基本メディアプレイヤと区別されるＤＴＶプレイヤまたはＶＯＤプレイヤのいずれか１つのプレイヤを選択し、前記選択されたプレイヤを用いて前記対象メディアを再生することを特徴とするスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムでメディアを再生する装置。
【請求項１７】
前記プロセッサは、前記対象メディアが有する識別子の類型に応じて前記ＤＴＶプレイヤ、前記ＶＯＤプレイヤ、またはステージフライトプレイヤのいずれか１つを選択することを特徴とする請求項１６に記載の装置。
【請求項１８】
前記装置はＤＴＶスタックを含み、
前記プロセッサが前記ＤＴＶプレイヤを用いて前記対象メディアを再生する場合、前記再生結果は前記単一オペレーティングシステムのカーネルに含まれるバインダードライバを用いてＤＴＶスタックに提供されることを特徴とする請求項１６に記載の装置。
【請求項１９】
前記プロセッサは、前記ＤＴＶスタックに含まれるＤＴＶサービス機能とセキュリティサービス機能との間の通信のためにＤＴＶハードウェア抽象化レイヤ（ＤＴＶＨＡＬ）を用いることを特徴とする請求項１８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスマートセットトップボックス及びその駆動方法に関し、より具体的には、単一オペレーティングシステムに基づいてスマートサービス及びデジタルテレビサービスを提供するだけではなく、単一オペレーティングシステムにおいて基本（ｄｅｆａｕｌｔ）として提供されるメディアプレイヤを用いて様々なサービスを提供することのできる技術に関する。
【背景技術】
【０００２】
セットトップボックス（Ｓｅｔｔｏｐ  Ｂｏｘ；ＳＴＢ）は、テレビ（Ｔｅｌｅｖｉｓｉｏｎ；ＴＶ）に接続され、イーサネット（登録商標）ケーブル、衛星波または地上波受信アンテナ、同軸ケーブル、電話線、アナログＶＨＦ、あるいはＵＨＦアンテナなどによって外部から入力される信号を受信して適切に変換し、テレビに当該コンテンツを表示する装置をいう。ここで、セットトップボックスはテレビと別に存在してもよく、テレビ内部に含まれてもよい。
【０００３】
デジタルテレビ（Ｄｉｇｉｔａｌ  ｔｅｌｅｖｉｓｉｏｎ；ＤＴＶ）サービスはデジタル形式に圧縮された放送信号を用いてユーザに高画質、高音質の放送コンテンツを提供するサービスであって、スマートサービスはアプリケーションマーケットから様々なアプリケーションをダウンロードして実行できるサービスである。
【０００４】
最近、スマートフォン、タブレットＰＣなどにおいてスマートサービスが様々な形態で提供されているが、このようなスマートサービスはテレビによって提供されてもよい。ここで、テレビによって提供されるスマートサービスとＤＴＶサービスとを１つのオペレーティングシステムを介して制御する技術が必要とされる。
【０００５】
今まで大部分の双方向ＴＶ用のＪａｖａ（登録商標）アプリケーションはＯｐｅｎ  Ｃａｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ（ＯＣＡＰ）、Ａｄｖａｎｃｅｄ  Ｃｏｍｍｏｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ（ＡＣＡＰ）、Ｍｕｌｔｉｍｅｄｉａ  Ｈｏｍｅ  Ｐｌａｔｆｏｒｍ（ＭＨＰ）、Ｇｌｏｂａｌｌｙ  Ｅｘｅｃｕｔａｂｌｅ  ＭＨＰ（ＧＥＭ）プラットフォームに基づいて実装されてきた。しかし、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）の数が極めて多いという状況により、上述した双方向ＴＶ用のＪａｖａアプリケーションを実現するためには、開発者にデジタルサービスに対する基本的な知識が要求されるという制約があった。これによって、大部分の双方向ＴＶ用のＪａｖａアプリケーションの大衆化は難しい実状であった。これに反して、アンドロイド（登録商標）プラットフォーム基盤のアプリケーションの数は急激に増加し、アンドロイドプラットフォームに対する様々な知識を取得することが容易になっている。これにより、アンドロイドプラットフォーム基盤のデジタル放送端末装置を提供しようとする試みが活発に行われている。
【発明の開示】
【課題を解決するための手段】
【０００６】
本発明の一側面によれば，スマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムでメディアを再生する方法は、メモリにスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムをロードすること、前記単一オペレーティングシステムに含まれる基本メディアプレイヤがアプリケーションから対象メディアの再生リクエストを受信すること、前記単一オペレーティングシステムに含まれる基本メディアプレイヤが前記対象メディアの有する識別子（Ｉｄｅｎｔｉｆｉｅｒ；ＩＤ）の類型を判断すること、前記基本メディアプレイヤが前記対象メディアの有する識別子の類型に応じて前記基本メディアプレイヤと区別されるＤＴＶプレイヤまたはＶＯＤ（Ｖｉｄｅｏ  Ｏｎ  Ｄｅｍａｎｄ）プレイヤのいずれか１つのプレイヤを選択すること、前記選択されたプレイヤが前記対象メディアを再生することを含む。
【０００７】
前記対象メディアが有する識別子は、統合リソース識別子（Ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｅｒ；ＵＲＩ）を含んでもよい。
【０００８】
前記ＤＴＶプレイヤまたはＶＯＤプレイヤのいずれか１つのプレイヤを選択することは、前記対象メディアが有する識別子の類型に応じて前記ＤＴＶプレイヤ、前記ＶＯＤプレイヤ、またはステージフライト（Ｓｔａｇｅｆｒｉｇｈｔ）プレイヤのいずれか１つを選択することであってもよい。
【０００９】
前記対象メディアが前記ＤＴＶプレイヤによって再生される場合、前記再生結果を前記単一オペレーティングシステムのカーネルに含まれるバインダードライバを用いてＤＴＶスタックに提供することをさらに含んでもよい。
【００１０】
前記単一オペレーティングシステムのカーネルに含まれるバインダードライバはＩＰＣ（Ｉｎｔｅｒ  Ｐｒｏｃｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）メカニズムを行ってもよい。
【００１１】
前記対象メディアは、ＶＯＤまたはＤＴＶチャネルを介して受信されたメディアまたはフラッシュファイルのいずれか１つであってもよい。
【００１２】
ＤＴＶスタックに含まれるＤＴＶサービス機能とセキュリティサービス機能との間の通信のために、ＤＴＶハードウェア抽象化レイヤ（ＤＴＶ  Ｈａｒｄｗａｒｅ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ；ＤＴＶ  ＨＡＬ）を用いることをさらに含んでもよい。
【００１３】
前記単一オペレーティングシステムに含まれる基本メディアプレイヤを用いて前記対象メディアが有する識別子の類型を判断することは、前記識別子の予め設定された前部分または後部分をパーシングして前記対象メディアが有する識別子の類型を判断することであってもよい。
【００１４】
本発明の他の側面によれば、スマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムにおいて再生に関連するイベントを管理する方法は、前記単一オペレーティングシステムに含まれる基本メディアプレイヤがＶＯＤの再生を要求するアプリケーションから再生関連リクエストを受信すること、前記基本メディアプレイヤが前記基本メディアプレイヤと区別されるＶＯＤプレイヤに前記再生関連リクエストを送信すること、前記ＶＯＤプレイヤが再生サーバから提供されるＶＯＤを再生すること、前記ＶＯＤの再生に関連するイベントの発生に応答して、前記基本メディアプレイヤが前記イベントの内容を表す情報をブロードキャストすることを含む。
【００１５】
前記イベントの内容を表す情報をブロードキャストすることは、前記イベントの内容を表す情報をインテント（ｉｎｔｅｎｔ）クラスに挿入することを含んでもよい。
【００１６】
前記イベントの内容を表す情報は、前記ＶＯＤの再生終了、または前記ＶＯＤの受信エラーを示してもよい。
【００１７】
前記イベントの内容を表す情報は、前記ＶＯＤのチャネル転換が成功したか否か、または前記チャネル転換の失敗原因のうち少なくとも１つを示してもよい。
【００１８】
前記イベントの内容を表す情報が受信されるようにする権限が前記アプリケーションに付与されてもよい。
【００１９】
本発明のさらに他の側面によれば、スマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムでメディアを再生する方法は、メモリにスマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムをロードすること、アプリケーションがＶＯＤカタログサーバからＶＯＤアセット情報を取得すること、前記ＶＯＤアセット情報の取得に応答して、前記アプリケーションがＶＯＤであることを示す識別子を前記単一オペレーティングシステムに含まれる基本メディアプレイヤに提供すること、前記基本メディアプレイヤが前記識別子に基づいて前記基本メディアプレイヤと区別されるＶＯＤプレイヤを選択して駆動することを含む。
【００２０】
前記方法は、前記ＶＯＤプレイヤがトランスポートストリームＩＤのリストを取得すること、前記ＶＯＤプレイヤが前記トランスポートストリームのＩＤに基づいて再生サーバから当該ＶＯＤを受信して復号化することをさらに含んでもよい。
【００２１】
本発明のさらに他の側面によれば、スマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムでメディアを再生する装置は、スマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムがロードされるメモリと、前記単一オペレーティングシステムに含まれる基本メディアプレイヤがアプリケーションから対象メディアの再生リクエストを受信し、前記単一オペレーティングシステムに含まれる基本メディアプレイヤが前記対象メディアの有する識別子の類型を判断するプロセッサとを備え、前記プロセッサは、前記対象メディアが有する識別子の類型に応じて前記基本メディアプレイヤと区別されるＤＴＶプレイヤまたはＶＯＤプレイヤのいずれか１つのプレイヤを選択し、前記選択されたプレイヤを用いて前記対象メディアを再生する。
【発明の効果】
【００２２】
本発明によると、アンドロイドオペレーティングシステムのような予め知られたオペレーティングシステムで基本的に提供されるＡＰＩだけで容易にアプリケーションを開発及び駆動することができる。
【００２３】
本発明によると、テレビの標準に関する知識を多く必要としなくてもアプリケーションを開発及び駆動することができる。
【００２４】
本発明によると、スマートサービス及びデジタルテレビサービスを１つのオペレーティングシステムでサポートし、デジタルテレビサービスを提供するＤＴＶスタックを効率よくリユースすることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態に係るＤＴＶサービス及びスマートサービスを共に提供するスマートセットトップボックスの構成を示す図である。
【図２】本発明の一実施形態に係るスマートセットトップボックスの具体的なブロックダイアグラムを示す図である。
【図３】周知のアンドロイドオペレーティングシステムを有するシステムの構成を示す図である。
【図４】本発明の一実施形態に係るアンドロイドＤＴＶ  ＨＡＬのアーキテクチャを示す図である。
【図５】本発明の一実施形態に係るＤＴＶサービス及びスマートサービスの両方を提供する方法を示したフローチャートである。
【図６】本発明の一実施形態に係るスマートセットトップボックスを示すブロック図である。
【図７】本発明の一実施形態に係るオペレーティングシステムにおいて基本的に提供されるメディアプレイヤと区別されるＶＯＤプレイヤを用いてＶＯＤメディアを再生する過程を概略的に示す図である。
【図８】本発明の一実施形態に係る基本メディアプレイヤがメディアの識別子を用いて適切なプレイヤを選択し、選択されたプレイヤを用いてメディアを再生する過程を概略的に示す図である。
【図９】本発明の一実施形態に係るＵＲＩを用いてＶＯＤメディアを再生する過程を概略的に示す図である。
【図１０】本発明の一実施形態に係るサービス情報を、コンテンツプロバイダを介して照会する過程を概略的に示す図である。
【発明を実施するための形態】
【００２６】
本発明の他の側面、特徴、及び／または長所の一部は以下の記述に規定されており、一部は当該記述から明らかであり、または本発明の実施から理解される。
【００２７】
本発明のこれらの及び／または他の側面、特徴及び長所は、添付の図面を参照しつつ、以下の実施形態の記述から明らかとなり、より容易に認識される。
【００２８】
以下、本発明の実施形態を添付の図面を参照しながら詳細に説明する。以下の実施例において類似の構成要素には類似の参照符号を付した。以下では本発明を説明するため図面を参照しながら実施形態について説明する。
【００２９】
ＤＴＶサービス、すなわちデジタルテレビサービスは従来のアナログサービスとは異なりデジタル形式に圧縮された放送信号を用いてユーザに高画質、高音質の放送コンテンツを提供するサービスのことをいう。ＤＴＶサービスは、デジタル信号を用いるためアナログサービスよりも多量の情報を提供することができ、これによってデータサービスを提供することができる。ＤＴＶサービスによれば、ユーザは「ＴＶ視聴」のみならず、テレビ番組の放送時間、内容、及び出演者情報などを知らせる「電子プログラム案内（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ；ＥＰＧ）」及びユーザの所望する時間に所望するプログラムを直ちに選択して視聴することのできる「ビデオオンデマンド（Ｖｉｄｅｏ  Ｏｎ  Ｄｅｍａｎｄ；ＶＯＤ）」などのサービスを用いることができる。ＤＴＶサービスを提供するためにはデジタル形式に圧縮された放送信号を本来の映像及び音声信号に復元するセットトップボックス（Ｓｅｔｔｏｐ  Ｂｏｘ；ＳＴＢ）が必要である。
【００３０】
スマートサービスは、アプリケーションマーケット（例えば、アップストア（Ａｐｐ  ｓｔｏｒｅ）、アンドロイドマーケット、ブラックベリー（登録商標）アップワールドなど）から様々なアプリケーションをダウンロードして実行できるサービスである。アプリケーションとは、オペレーティングシステムを基に実行される様々なプログラムを意味する。アプリケーションの例として、インターネットブラウザ、グーグル（登録商標）地図、ユーチューブ（Ｙｏｕ  Ｔｕｂｅ）（登録商標）、ウィジェット（ｗｉｄｇｅｔ）などがあり、その他にも数多い種類のアプリケーションが存在する。アップストアは、アップル（登録商標）が運用しているｉＯＳ（登録商標）用アプリケーションを有償または無償でダウンロードできるアプリケーションマーケットであり、アンドロイドマーケットはグーグルが運用しているアンドロイド用アプリケーションをダウンロードできるアプリケーションマーケットである。スマートサービスのためのプラットフォームは、例えば、アンドロイド基盤のオープンプラットフォーム（ｏｐｅｎ  ｐｌａｔｆｏｒｍ）であってもよい。
【００３１】
本発明の実施形態は、このようなＤＴＶサービス及びスマートサービスを１つのオペレーティングシステム上で提供することのできるスマートセットトップボックスを提供する。すなわち、本発明の一実施形態によれば、ユーザは１つの装置（スマートセットトップボックス）によって１つのオペレーティングシステム上でＤＴＶサービス及びスマートサービスの両方を用いることができる。
【００３２】
図１は、本発明の一実施形態に係るＤＴＶサービスとスマートサービスを共に提供するスマートセットトップボックスの構成を示す図である。
【００３３】
図１を具体的に説明する前に、スマートセットトップボックスは様々なハードウェアの構成および様々なソフトウェアの構成を有する。図１を参照して、ＤＴＶサービスとスマートサービスの両方を提供するスマートセットトップボックスの概略的な構成が図示されている。
【００３４】
本発明のスマートセットトップボックスはアンドロイドオペレーティングシステムを含み、様々なオペレーティングシステムを用いてもよい。例えば、アンドロイドオペレーティングシステム基盤のＬｉｎｕｘ（登録商標）カーネルを含む。そして、スマートセットトップボックスは、オープンソース仮想マシン、チップセットドライバ、ＤＴＶ受信モジュール、及び受信制限連携モジュールを含んでもよい。そして、オペレーティングシステムに対応するフレームワーク（例えば、周知のアンドロイドフレームワーク）を用いてスマートサービス及びＤＴＶサービスを共に提供してもよい。
【００３５】
図２は、本発明の一実施形態に係るスマートセットトップボックスを示す図である。
【００３６】
図２を参照すれば、本発明の一実施形態に係るスマートセットトップボックスは、アンドロイドオペレーティングシステム２１０を基に動作する。
【００３７】
図２に示す第１レイヤに存在するアンドロイドオペレーティングシステム２１０はＬｉｎｕｘカーネル、バイオニック、システムライブラリとプロセス間通信（Ｉｎｔｅｒ  Ｐｒｏｃｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ：ＩＰＣ）２１１のためのバインダードライバを含む。本発明のＤＴＶサービス及びスマートサービスの全ては１つのアンドロイドオペレーティングシステムに基づいて提供される。ここで、アンドロイドオペレーティングシステム２１０は、様々なバージョンのＬｉｎｕｘカーネル（例えば、Ｌｉｎｕｘカーネル２．６）を基盤にしてもよい。
【００３８】
スマートセットトップボックスがブートされるとき、ブートローダー（ｂｏｏｔｌｏａｄｅｒ）によってＬｉｎｕｘカーネルが先に開始されてもよく、アンドロイドオペレーティングシステム２１０はカーネルの初期化の後にシステムを初期化する「ｉｎｉｔ」プロセスを行う。
【００３９】
アンドロイドオペレーティングシステム２１０は、アンドロイド標準Ｃライブラリ（Ｃ  ｓｔａｎｄａｒｄ  ｌｉｂｒａｒｙ；ｌｉｂｃ）であるバイオニック（ｂｉｏｎｉｃ）を含んでもよい。バイオニックはＢＳＤ（Ｂｅｒｋｅｌｅｙ  Ｓｏｆｔｗａｒｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）（登録商標）基盤のｌｉｂｃをモバイル（ｅｍｂｅｄｅｄ）環境に適するように修正したＣライブラリとして、アンドロイドに特化されたサービスをサポートする。アンドロイドオペレーティングシステム内で動作するネイティブコード（ｎａｔｉｖｅ  ｃｏｄｅ）は全てバイオニックを用いてコンパイルされる。
【００４０】
本発明の一実施形態に係るアンドロイドオペレーティングシステム２１０は、アンドロイドのＩＰＣメカニズムを行うバインダー（ｂｉｎｄｅｒ）ドライバを含む。ＩＰＣメカニズムは、プロセス間でデータを交換することを意味する。アンドロイドオペレーティングシステム２１０は、バインダードライバ２１１を用いてアンドロイドオペレーティングシステムのプロセス（例えば、ビデオ再生、オーディオ再生、カメラ、アクティビティ管理など）間の通信を行う。
【００４１】
図３を参照してアンドロイドオペレーティングシステム２１０について詳しく説明する。Ｌｉｎｕｘカーネルは様々なハードウェアと内部メモリ、プロセッサ、ネットワーキングなどを管理し、システムライブラリはグラフィック、動画再生などでハードウェアを用いるためのライブラリと、Ｄａｌｖｉｋ（登録商標）仮想マシン（Ｄａｌｖｉｋ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ；ＤＶＭ）から構成される。
【００４２】
第１レイヤの上位レイヤにあるＤＴＶスタック２３０に含まれたセキュリティサービスのためのモジュール２３２は、オペレーティングシステム２１０上でユーザの条件付きアクセスを制御する。例えば、ＸＣＡＳ  ＳＭ（ｅＸｃｈａｎｇｅａｂｌｅ  Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍ  Ｓｅｃｕｒｅ  Ｍｉｃｒｏ）で実現されてもよい。
【００４３】
セキュリティサービスのためのモジュール２３２は、セキュリティモニタ（例えば、ＸＣＡＳモニタ）及びセキュリティクライアント（例えば、ＣＡＳクライアント）を含んでもよい。セキュリティサービスのためのモジュール２３２は、セキュリティクライアント（ＣＡＳクライアント）の設置及びアップデート、セキュリティ機能提供などのＣＡＳクライアントの実行に関連するプラットフォームを提供する。
【００４４】
本発明の一実施形態に係るＤＴＶスタック２３０は、ユーザの資格によってアンドロイドオペレーティングシステム上でデジタルテレビサービスを提供するＤＴＶスタック（ｓｔａｃｋ）に含まれたデジタルテレビサービスをユーザに提供する。より具体的には、本発明のＤＴＶスタック２３０は、従来のセットトップボックスのデジタルテレビサービスを提供する部分をアンドロイドプラットフォーム内に挿入する。ＤＴＶスタック２３０のＤＴＶサービス２３１の放送情報テーブルのパーシング（ｐａｒｓｉｎｇ）及びキャッシング（ｃａｃｈｉｎｇ）、ＤＳＧ（ＤＯＣＳＩＳ（Ｄａｔａ  Ｏｖｅｒ  Ｃａｂｌｅ  Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）Ｓｅｔ−ｔｏｐ  Ｇａｔｅｗａｙ）接続、双方向通信接続（例えば、ケーブルモデムまたはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ））、セキュリティ（ＸＣＡＳ）機能サポート、及びシステムアップグレードなどの機能を含んでもよい。このような機能をサポートするためにＤＴＶサービスブロック２３１は、ＤＴＶマネージャブロック、システム／ＯＴＣブロック、セキュリティマネージャブロック、ＤＯＣＳＩＳ／ＤＳＧブロック、ＰＳＩＰ／ＳＩブロックなどを含んでもよい。
【００４５】
ＤＴＶハードウェア抽象化レイヤ２５０（Ｈａｒｄｗａｒｅ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ；ＨＡＬ）はアンドロイド基盤としてアンドロイドオペレーティングシステム２１０がＤＴＶスタック２３０と通信することを許容する。ここで、ＤＴＶ  ＨＡＬ２５０は、デバイスドライバ２１２のインタフェースを抽象化したものである。デバイスドライバ２１２の例として、Ｔｒｉｄｅｎｔ  Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒが適用されてもよい。ＤＴＶ  ＨＡＬに対する具体的な構成について図４を参照して後述する。
【００４６】
アンドロイドフレームワーク２２１は、アプリケーションのためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を含む。そしてアンドロイドオペレーティングシステム２１１は、アンドロイドフレームワーク２２１を用いて様々なアプリケーション２２２、２２３を実行およびロードしてもよい。
【００４７】
ユーザは、本発明の一実施形態に係るアンドロイドフレームワーク２２１を用いてＪａｖａＴＶ／ＨＡＶｉ／ＯＣＡＰサブセットを介してアンドロイドアプリケーションに関連する映像をＤＴＶによって再生してもよい。すなわち、本発明の一実施形態に係るアンドロイドフレームワークは、ＤＴＶ放送コンテンツをアンドロイドアプリケーションの動作基盤のＤａｌｖｉｋ仮想マシン（Ｄａｌｖｉｋ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ；ＤＶＭ）に提供してもよい。
【００４８】
ＪａｖａＴＶ／ＨＡＶｉ／ＯＣＡＰサブセットは、ＤＴＶサービス提供のためのミドルウェア（ｍｉｄｄｌｅｗａｒｅ）である。より具体的には、ＪａｖａＴＶは、ＤＴＶサービスのためのＪａｖａ基盤のソフトウェアフレームワークであり、対話形ＴＶサービスとデジタル放送受信機で動作するソフトウェアを開発する開発者のためのインタフェースである。ＨＡＶＩ（Ｈｏｍｅ  Ａｕｄｉｏ  Ｖｉｄｅｏ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ）は、音響と映像関連装備との間の制御及びデータ通信をサポートするミドルウェアである。そして、ＯＣＡＰ（Ｏｐｅｎ  Ｃａｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ）は、ＣａｂｌｅＬａｂｓ（登録商標）によって定義された双方向ホストのデータ放送処理のためのミドルウェアである。本発明に適用されるＪａｖａＴＶ／ＨＡＶｉ／ＯＣＡＰサブセットは、ＤＴＶサービス及びアンドロイドアプリケーションをサポートするためのＪａｖａＴＶ、ＨＡＶｉ及びＯＣＡＰの一部ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を含んでもよい。
【００４９】
スマートＳＴＢはアンドロイドオペレーティングシステム上で実現されるアンドロイドアプリケーション２２２、２２３を含む。ここで、アンドロイドアプリケーションは、例えばインターネットブラウザ、地図のような基本アプリケーション２２３とアプリケーションマーケットからダウンロードされたアプリケーション２２２を含んでもよい。
【００５０】
アプリケーション２２２は、アンドロイドアプリケーションにＤＴＶ放送コンテンツが融合した形態のアプリケーションを意味する。したがって、ユーザは、スマートセットトップボックスによって様々なアンドロイドアプリケーションを当該アプリケーションに関連するＤＴＶ放送コンテンツと共に用いてもよい。また、ユーザはスマートセットトップボックスによってＤＴＶサービスの提供を受けながらアンドロイドアプリケーションを実行してもよい。
【００５１】
スマートＳＴＢは、ユーザの選択によりＤＴＶサービスに関連する複数のアプリケーションを保有するアプリケーションマーケットからＤＴＶサービス関連アプリケーションをダウンロードしてもよい。もちろん、ユーザの選択に応じてスマートセットトップボックスはＤＴＶサービスに関連していない様々なアンドロイドアプリケーションもダウンロードしてもよい。
【００５２】
本発明の一実施形態に係るスマートセットトップボックスによるアンドロイドＤＴＶのホーム画面は、「アプリケーションマーケット」メニュー、「ＴＶガイド」メニュー、「ビデオオンデマンド（ＶＯＤ）」メニュー、「ＴＶ視聴」メニュー、「ウィジェット」メニュー、「ＰＶＲ（Ｐｅｒｓｏｎａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）」メニュー、「タイムシフト（Ｔｉｍｅ  Ｓｈｉｆｔ）」メニュー、「設定（ｓｅｔｔｉｎｇｓ）」メニューなどのような様々なメニューを含む。
【００５３】
例えば、ユーザが「アプリケーションマーケット」メニューを選択すれば、スマートセットトップボックスはアプリケーションマーケットに接続し、ユーザの選択に応じて様々なアプリケーションをダウンロードする。そして、ユーザがスマートセットトップボックスに格納されたアプリケーションのいずれか１つを選択すれば、スマートセットトップボックスは当該アプリケーションを実行する。
【００５４】
今まで１つのアンドロイドオペレーティングシステム２１０上でスマートサービスとＤＴＶサービスとを共に提供する方法について説明した。本発明は、このような環境でアンドロイドフレームワーク２２１がＩＰＣメカニズムを用いるバインダードライバを介してＤＴＶスタック２３０に含まれたＤＴＶサービス２３１と通信することを許容する。すなわち、本発明は、アンドロイドオペレーティングシステム２１０に含まれるバインダードライバを用いることによって、ＤＴＶサービスとスマートサービスとを１つのオペレーティングシステム上で提供することができる。
【００５５】
ここで、アンドロイドフレームワーク２２１とＤＴＶスタック２３０に含まれるＤＴＶサービス２３１との間の通信でやり取りするデータはクラスにカプセル化されたまま送信および受信される。それだけでなく、ＤＴＶサービス２３１のセキュリティマネージャとセキュリティサービス２３２のセキュリティクライアントはソケット通信方式によってデータを送受信し、セキュリティクライアントは他の制限受信システム（ＣＡＳ）と互換可能なように実現される。また、ＤＴＶサービス２３１とセキュリティサービス２３２は、ＤＴＶ  ＨＡＬインタフェースを介してハードウェアの仕様及びハードウェアの種類に関係なく独立的に実現されて動作する。
【００５６】
図３は、周知のアンドロイドオペレーティングシステムを有するシステムの構成図を参考的に示す図である。
【００５７】
図３を参照すると、アンドロイドオペレーティングシステムを用いるシステムは４個のレイヤからなる。Ｌｉｎｕｘカーネル３１０は、ハードウェアと内部メモリ、プロセスを管理するだけではなく、ネットワーキング管理などを担当する。Ｃ／Ｃ＋＋から構成されたライブラリレイヤ３２０はグラフィック、動画再生などによりハードウェアを用いるためのライブラリ（ｌｉｂｒａｒｙ）とＤａｌｖｉｋ  ＶＭから構成される。アンドロイドフレームワーク（あるいはアプリケーションフレームワーク（Ａｐｐｌｉｃａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ））３３０は、アプリケーション（Ａｐｐｌｉｃａｔｉｏｎ）を作成するためのＪａｖａＡＰＩを提供する。最後に最上位のアプリケーションレイヤ３４０は開発者がアプリケーションフレームワークのＡＰＩを用いて開発したアプリケーションが配布されて実行されるレイヤである。アンドロイドプラットフォームは全てのレイヤのソースが公開されているオープンプラットフォームであり、主にスマートフォンに多く用いられている。
【００５８】
上記にて説明したように、本発明は、アンドロイドオペレーティングシステム上でスマートサービスとＤＴＶサービスを共に提供するための独自のプラットフォームを提供する。
【００５９】
図４は、本発明の一実施形態に係るアンドロイドＤＴＶ  ＨＡＬのアーキテクチャを示す図である。
【００６０】
図４を参照すると、本発明の一実施形態に係るアンドロイドＤＴＶ  ＨＡＬアーキテクチャは、アンドロイドオペレーティングシステムを基盤とするセキュリティサービス及びＤＴＶサービスを含むＤＴＶスタックとアンドロイドオペレーティングシステムとの通信のためのライブラリ４１０、４２０、４３０を提供する。より具体的には、本発明のアンドロイドＤＴＶ  ＨＡＬアーキテクチャは、ハードウェアのためのライブラリのｌｉｂｈａｒｄｗａｒｅ４１０、非ハードウェアのためのライブラリのＮｏｎ−ｌｉｂｈａｒｄｗａｒｅ４２０、及びＤＴＶスタックのためのライブラリのｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０を含む。
【００６１】
Ｌｉｂｈａｒｄｗａｒｅ４１０は、アンドロイドシステムの、スマートセットトップボックス内のハードウェアへのアクセスを担当するライブラリである。Ｌｉｂｈａｒｄｗａｒｅ４１０は、グラフィック、センサ、ＧＰＳ、カメラなどに対するモジュールを含んでもよい。
【００６２】
Ｎｏｎ−ｌｉｂｈａｒｄｗａｒｅ４２０は、ｌｉｂｈａｒｄｗａｒｅ４１０の他のモジュールのうちアンドロイドＤＴＶ  ＨＡＬに関連するモジュールを含む。例えば、Ｎｏｎ−ｌｉｂｈａｒｄｗａｒｅ４２０は、ＥＧＬ、ＯＭＸ（ＯｐｅｎＭＡＸ）及びステージフライトのようなマルチメディアフレームワークを含んでもよい。より具体的には、ＥＧＬは、ネイティブプラットフォームインタフェース（Ｎａｔｉｖｅ  Ｐｌａｔｆｏｒｍ  Ｉｎｔｅｒｆａｃｅ）として特定プラットフォームシステムとＯｐｅｎＧＬ  ＥＳ  ＡＰＩ間のグルー（ｇｌｕｅ）インタフェースのレイヤ関数を定義する。ＯＭＸはＫｈｒｏｎｏｓ  Ｇｒｏｕｐの標準ＡＰＩメディアインタフェースであり、ステージフライト（Ｓｔａｇｅｆｒｉｇｈｔ）はグーグルが作成したメディアフレームワークである。
【００６３】
ｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０は、ｌｉｂｈａｒｄｗａｒｅ４１０以外にＤＴＶサービスのために追加されるモジュールを含む。ｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０は、ｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０に含まれる各モジュールによりＤＴＶチューニング、ザッピング（ｚａｐｐｉｎｇ）など、様々な機能を提供する。図４に示されたｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０に含まれる各モジュールは、ライブラリの形態で存在し、従来のＤＴＶ  Ｓｔａｃｋで用いるライブラリをリユースするためにＤＴＶ  ＨＡＬのライブラリをアンドロイドフレームワークが参照する位置に保存してアンドロイドアプリケーションサービスが使用されるようにする。
【００６４】
図５は、本発明の一実施形態に係るＤＴＶサービス及びスマートサービスの両方を提供する方法を示した。
【００６５】
図５を参照すると、本発明の一実施形態に係るスマートセットトップボックスは、少なくとも複数のハードウェアのためのドライバとバインダードライバから構成されたカーネル及び複数のライブラリを含むオペレーティングシステムを駆動する（５１０）。
【００６６】
スマートセットトップボックスは、オペレーティングシステム上でデジタルテレビ（Ｄｉｇｉｔａｌ  Ｔｅｌｅｖｉｓｉｏｎ：ＤＴＶ）サービス機能とセキュリティサービス機能を含むＤＴＶスタックをロードした後、セキュリティサービスを実行する（５２０）。これによってユーザの条件付きアクセスが制御される。
【００６７】
スマートセットトップボックスは、ユーザの資格によりアンドロイドオペレーティングシステム上に置かれられているデジタルテレビサービスを提供するＤＴＶスタックによってユーザにデジタルテレビサービスを提供する（５３０）。
【００６８】
スマートセットトップボックスは、オペレーティングシステム上でオペレーティングシステムに対応するフレームワークのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）によって設計されたアプリケーションをロードした後、少なくとも１つのアプリケーションを実行することでユーザにスマートサービスを提供する（５４０）。
【００６９】
図５には示していないが、本発明は、アプリケーションのうち少なくとも１つがＤＴＶスタックに含まれるＤＴＶサービス機能にアクセスするためにオペレーティングシステムのカーネルに含まれるバインダードライバを用いることによって、アプリケーションのうち少なくとも１つとＤＴＶスタックとの間の通信を許容する。ここで、ＤＴＶスタックに含まれるＤＴＶサービス機能とセキュリティサービス機能との間の通信を行うためにＤＴＶハードウェア抽象化レイヤを用いることができる。
【００７０】
図７は、本発明の一実施形態に係るオペレーティングシステムで基本的に提供される基本メディアプレイヤと区別されるＶＯＤプレイヤを用いてＶＯＤメディアを再生する過程を概略的に示す図である。
【００７１】
図７を参照すれば、スマートサービス及びＤＴＶサービスをサポートする単一オペレーティングシステムは基本的に設置されている基本（ｄｅｆａｕｌｔ）メディアプレイヤ７２０を含む。
【００７２】
ＶＯＤの再生を要求する第３アプリケーション７１０が存在する場合、第３アプリケーション７１０は、ＶＯＤの再生をリクエストするために再生リクエストをオペレーティングシステムに送信する。ここで、オペレーティングシステムに含まれた基本メディアプレイヤ７２０は再生リクエストを処理する。
【００７３】
本発明の実施形態は、基本メディアプレイヤ７２０と区別される拡張されたプレイヤであるＶＯＤプレイヤ７３０を別に提供する。すなわち、ＶＯＤプレイヤ７３０は、再生関連リクエストを基本メディアプレイヤ７２０から受信し、ケーブルＴＶ７４１またはＶＯＤ  ＳＤＫ７４２に関連するプレイバック（再生）サーバ７５２から提供されるＶＯＤメディアを再生する。もちろん、ケーブルＴＶ７４１を含むルートには変調及び復調のためのＥｄｇｅ  ＱＡＭ（Ｑｕａｄｒａｔｕｒｅ  Ａｍｐｌｉｔｕｄｅ  Ｍｏｄｕｌａｔｉｏｎ）のためのモジュール７５１がさらに存在する。また、ＶＯＤカタログサーバ７５３は、第３アプリケーション７１０によってアクセス可能なＶＯＤそれぞれのアセット情報を第３アプリケーション７１０に提供する。
【００７４】
本発明は、ＶＯＤプレイヤ７２０がＶＯＤメディアを再生する前に、または再生する途中で、特定イベントが発生する場合、第３アプリケーション７１０にそのイベントの内容を表す情報を知らせる。ここで、本発明によれば、基本メディアプレイヤ７２０はイベントの発生を検出し、オペレーティングシステムで標準的に提供されるＡＰＩによってそのイベントの内容を表す情報を第３アプリケーション７１０に知らせる。例えば、基本メディアプレイヤ７２０は、そのイベントの内容を表す情報をインテントクラスに挿入したままブロードキャストしてもよく、ブロードキャストされた情報が受信されるようにする権限を付与された第３アプリケーション７１０はその情報を正当に受信することができる。そして、その第３アプリケーション７１０は受信された情報に基づいて当該イベントを適切に処理することができる。
【００７５】
イベントの種類は様々であってよい。例えば、イベントはＶＯＤの再生終了またはＶＯＤの受信エラーであってもよい。それだけでなく、イベントはＶＯＤのチャネル転換が成功したか否か、またはチャネル転換の失敗原因を表してもよい。
【００７６】
第３アプリケーション７１０によってリクエストされたＶＯＤは、オペレーティングシステムで基本的に提供される基本メディアプレイヤ７２０を経由してＶＯＤプレイヤ７３０によって行われる。第３アプリケーション７１０によって処理されなければならないイベントまたは第３アプリケーション７１０に知らせなければならないイベントは基本メディアプレイヤ７２０によって第３アプリケーション７１０に通知される。イベントの内容を表す情報は、インテントクラスに挿入されたままブロードキャストされ、正当な受信権限を有する第３アプリケーション７１０は情報に基づいてイベントの内容を把握することができる。
【００７７】
図８は、本発明の一実施形態に係る基本メディアプレイヤがメディアの識別子を用いて適切なプレイヤを選択し、選択されたプレイヤを用いてメディアを再生する過程を概略的に示す図である。
【００７８】
図８を参照すると、アプリケーションプロセス８１０は、スマートサービスまたはＤＴＶサービスのためのＥＰＧ８１１、Ｊａｖａアプリケーション８１２、ブラウザー８１３によって行われてもよい。
【００７９】
アプリケーションプロセス８１０からメディアの再生リクエストがアンドロイドフレームワーク８２０のような単一のオペレーティングシステムに送信された場合、アンドロイドフレームワーク８２０に基本的に含まれるメディアプレイヤ８２１またはフラッシュプレイヤ８２２は保有する拡張されたプレイヤ８３０のうち適切なプレイヤを選択する。
【００８０】
より具体的には、本発明は、メディアの識別子として統合リソース識別子（ＵＲＩ）を使用し、そのＵＲＩをパーシングしてもよい。すなわち、識別子は、メディアがＶＯＤ、フラッシュファイル、ケーブルチャネルを通したメディアのいずれかであるかを示す。例えば、ＵＲＩの前の部分（実施形態によっては後の部分である）が「ｖｏｄ：／／」を含むとき、そのＵＲＩはメディアがＶＯＤであることを示す。また、ＵＲＩが「ｓｉｄ：／／」を含むとき、そのＵＲＩはメディアがケーブルチャネルを通したメディアであることを示し、ＵＲＩに含まれるファイルの拡張子が「ｓｗｆ」であるときは、そのＵＲＩはメディアがフラッシュファイルであることを示す。
【００８１】
メディアプレイヤ８２１またはフラッシュプレイヤ８２２は識別子のＵＲＩの類型に基づいて拡張されたプレイヤ８３０のいずれか１つのプレイヤを選択する。メディアプレイヤ８２１またはフラッシュプレイヤ８２２は、ＵＲＩが「ｖｏｄ：／／」を含めばＶＯＤプレイヤ８３２を選択し、ＵＲＩが「ｓｉｄ：／／」を含めばＤＴＶプレイヤ８３１を選択し、ＵＲＩに含まれるファイルの拡張子が「ｓｗｆ」であればステージフライトプレイヤ８３３を選択してもよい。
【００８２】
また、メディアの再生結果はＤＴＶスタック８４０に提供される。特に、メディアがＤＴＶプレイヤ８３１によって再生される場合、その再生結果は単一オペレーティングシステムのカーネルに含まれるバインダードライバを用いてＤＴＶスタック８４０に提供される。ここで、上述したように、単一オペレーティングシステムのカーネルに含まれるバインダードライバはＩＰＣ（Ｉｎｔｅｒ  Ｐｒｏｃｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）メカニズムを行う。それだけではなく、上述したように、ＤＴＶスタックに含まれるＤＴＶサービス機能とセキュリティサービス機能との間の通信のためにＤＴＶハードウェア抽象化レイヤ８４２を用いる。
【００８３】
図９は、本発明の一実施形態に係るＵＲＩを用いてＶＯＤメディアを再生する過程を概略的に示す図である。
【００８４】
図９を参照すると、ＶＯＤの再生を要求するアプリケーション９１０は、ＶＯＤカタログサーバ９２０からＶＯＤアセット情報を取得する（９１１）。そして、そのアプリケーション９１０はそのＶＯＤコンテンツに対するＵＲＩを生成し、コンテキスト及びＵＲＩをメディアプレイヤ９３０に送信する（９１２）。
【００８５】
メディアプレイヤ９３０はＵＲＩに基づいて当該メディアがＶＯＤメディアであることを認識し、ＶＯＤプレイヤ９４０を実行することを準備する（９１３）。ＶＯＤプレイヤ９４０は初期化の間に特定事業者のＶＯＤ  ＳＤＫ９５０を選択する（９１４）。ＶＯＤプレイヤはケーブルＤＴＶスタック９６０からトランスポートストリームＩＤのリストを受信する（９１５）。また、ＶＯＤプレイヤ９４０は、ＳＲＭ  ＩＰ、ファイルネーム、ＴＳ  ＩＤのリストをオープンする（９１８）。このような過程によってＶＯＤプレイヤ９４０がＶＯＤの再生のための準備が完了する。
【００８６】
アプリケーション９１０から開始命令が送信された場合（９１６）、メディアプレイヤ９３０はＶＯＤプレイヤ９４０の開始を命令する（９１７）。ここで、ＶＯＤプレイヤ９４０は再生リクエストを送信し（９１９）、そのメディアに対応する周波数、プログラムナンバーを取得する（９２１、９２２）。それだけでなく、ＶＯＤプレイヤ９４０は、ケーブルＤＴＶスタックでイン−バンドチューニング及び復号化をリクエストする（９２３）。このような過程によってＶＯＤプレイヤ９４０によるＶＯＤの再生が維持される。
【００８７】
ここで、アプリケーション９１０がＶＯＤの探索（例えば、スキップ、タイムジャンプ、再生の速度調整など）を所望する場合（９２４）、そのリクエストはメディアプレイヤ９３０を経由してＶＯＤプレイヤ９４０に送信される。ここで、ＶＯＤプレイヤ９４０はそのリクエストに応答して探索を行なう（９２６、９２７、９２８）。
【００８８】
図１０は、本発明の一実施形態に係るサービス情報をコンテンツプロバイダによって照会する過程を概略的に示す図である。
【００８９】
本発明は、ＤＶＢ−ＳＩ、ＰＳＩＰ−ＳＩなどのような標準規格に基づいて送出されるセクションデータをセクションフィルタリングとパーシングを介してそのセクションデータそれぞれのテーブルを構成した後、そのテーブルをＳＱＬＬｉｔｅ（登録商標）にアップデートする。ＥＰＧなどサービス情報（Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ：ＳＩ）を要求するアプリケーションはコンテンツプロバイダを介して照会しようとするＳＩをＵＲＩに照会し、照会されたデータをカーソルによって取得する。
【００９０】
図１０を参照し、ＳＱＬＬｉｔｅ１０６０にＳＩデータベースが構築されていると仮定する。アプリケーションはＳＩを照会するためにＵＲＩを生成した後、コンテンツプロバイダ１０１０によってそのＵＲＩが含まれたクエリをカーソルファクトリ１０２０に送信する（１００１）。カーソルファクトリ１０２０はそのクエリ（Ｑｕｅｒｙ）をＳＱＬＬｉｔｅＱｕｅｒｙ１０３０に再送信して１００２、ＳＱＬＬｉｔｅＱｕｅｒｙ１０３０はｆｉｌｌ＿ｗｉｎｄｏｗ関数をＳＱＬＬｉｔｅ１０６０に対して実行する。
【００９１】
それだけではなく、サービス情報セクションフィルタ１０４０はセクションフィルタリングが適用されたセクションデータをＳＩパーサ１０５０に送信し（１０４０）、ＳＩパーサ１０５０はセクションデータに基づいてＳＱＬＬｉｔｅ１０６０にＳＩをアップデートする。
【００９２】
また、カーソルファクトリ１０２０のクエリに対する応答はカーソルの形態でコンテンツプロバイダ１０１０に提供される。
【００９３】
今まで本発明の実施形態に係るスマートセットトップボックスの動作方法について説明した。本スマートセットトップボックスの動作方法は、図１から図４に関連して記述された様々な実施形態の内容がそのまま適用され得るため、これ以上の詳細な説明は省略する。
【００９４】
図６は、本発明の一実施形態に係るスマートセットトップボックスを示す図である。
【００９５】
図６を参照すれば、本発明の一実施形態に係るスマートセットトップボックスは、プロセッサ６１０、メモリ６２０、及び複数のハードウェア６３０を含む。ここで、複数のハードウェア６３０は、キーボード、チューナ、デコーダ、変調器、ネットワーク装置、センサなど、様々である。
【００９６】
プロセッサ６１０は、少なくとも複数のハードウェアのためのドライバ及びバインダードライバから構成されたカーネルと、複数のライブラリを含むオペレーティングシステムとを駆動する。ここで、メモリ６２０には、オペレーティングシステム上でオペレーティングシステムに対応するフレームワークのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）により設計されたアプリケーションとオペレーティングシステム上でデジタルテレビ（ＤＴＶ）サービス機能とセキュリティサービス機能を含むＤＴＶスタックがロードされる。
【００９７】
ここで、プロセッサ６１０は、アプリケーションのうち少なくとも１つがＤＴＶスタックに含まれるＤＴＶサービス機能にアクセスするためにオペレーティングシステムのカーネルに含まれるバインダードライバを用いることによって、アプリケーションのうちの少なくとも１つとＤＴＶスタックとの間の通信を許容することによって、単一オペレーティングシステム上でスマートサービスとＤＴＶサービスとを共に提供できるようにする。
【００９８】
その他にも、図１から図５を参照して説明された内容が図６にそのまま適用されることができるため、詳しい説明は省略する。
【００９９】
上述したように、本発明を限定された実施形態と図面とによって説明したが、本発明は、上記の実施形態に限定されるものではない。したがって、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能であり、本発明の範囲は特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められる。
【図１】
0005738469.tif 000002
【図２】
0005738469.tif 000003
【図３】
0005738469.tif 000004
【図４】
0005738469.tif 000005
【図５】
0005738469.tif 000006
【図６】
0005738469.tif 000007
【図７】
0005738469.tif 000008
【図８】
0005738469.tif 000009
【図９】
0005738469.tif 000010
【図１０】
0005738469.tif 000011