(57)【特許請求の範囲】
【請求項１】
少なくとも複数のハードウェアのためのドライバとバインダードライバから構成されたカーネル及び複数のライブラリを含むオペレーティングシステムを駆動するステップと、
前記オペレーティングシステム上で前記オペレーティングシステムに対応するフレームワークのＡＰＩによって設計されたアプリケーションをロードするステップと、
前記オペレーティングシステム上でデジタルテレビサービス機能とセキュリティーサービス機能を含むＤＴＶスタックをロードするステップと、
前記アプリケーションのうち少なくとも１つが、前記ＤＴＶスタックに含まれたＤＴＶサービス機能にアクセスするために、前記オペレーティングシステムのカーネルに含まれたバインダードライバを用いる場合に、前記アプリケーションのうち少なくとも１つと前記ＤＴＶスタックとの間の通信を許容し、当該通信において送受信されるデータをクラスにカプセル化するステップと、
を含むことを特徴とする、単一オペレーティングシステム上でスマートサービスとＤＴＶサービスを共に提供するスマートセットトップボックスの駆動方法。
【請求項２】
前記オペレーティングシステムは、アンドロイドオペレーティングシステムであることを特徴とする請求項１に記載のスマートセットトップボックスの駆動方法。
【請求項３】
前記ＤＴＶスタックに含まれた前記ＤＴＶサービス機能と前記セキュリティーサービス機能との間の通信のためにＤＴＶハードウェア抽象化階層を用いるステップをさらに含むことを特徴とする請求項１に記載のスマートセットトップボックスの駆動方法。
【請求項４】
前記ＤＴＶハードウェア抽象化階層は、ハードウェアのためのライブラリ、非ハードウェアのためのライブラリ、及び前記ＤＴＶスタックのためのライブラリを用いて前記ＤＴＶサービス機能と前記セキュリティーサービス機能との間の通信を許容することを特徴とする請求項３に記載のスマートセットトップボックスの駆動方法。
【請求項５】
前記ハードウェアのためのライブラリは前記スマートセットトップボックス内に含まれたハードウェアへのアクセスを処理し、
前記非ハードウェアのためのライブラリは前記ハードウェアのためのライブラリと区別されながら、前記ＤＴＶハードウェア抽象化階層に関連するモジュールを含み、
前記ＤＴＶスタックのためのライブラリは、ＤＴＶサービスをサポートするモジュールを含むことを特徴とする請求項４に記載のスマートセットトップボックスの駆動方法。
【請求項６】
前記オペレーティングシステムのカーネルに含まれたバインダードライバは、ＩＰＣ（Inter Process Communication）メカニズムを実行することを特徴とする請求項１に記載のスマートセットトップボックスの駆動方法。
【請求項７】
ネットワークを介してアプリケーションマーケットに接続するステップと、
ユーザの選択に応じて前記アプリケーションマーケットから少なくとも１つのアプリケーションをダウンロードするステップと、
をさらに含むことを特徴とする請求項１に記載のスマートセットトップボックスの駆動方法。
【請求項８】
前記ＤＴＶスタックは電子番組ガイド（ＥＰＧ）サービスまたはビデオオンデマンドサービスをサポートし、
前記アプリケーションは、前記スマートサービスによってダウンロードされることを特徴とする請求項１に記載のスマートセットトップボックスの駆動方法。
【請求項９】
請求項１〜請求項８のいずれか１項の方法を行うためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
【請求項１０】
単一オペレーティングシステム上でスマートサービスとＤＴＶサービスを共に提供するメモリ、プロセッサ及び複数のハードウェアを含むスマートセットトップボックスであって、
少なくとも前記複数のハードウェアのためのドライバとバインダードライバから構成されたカーネル及び複数のライブラリを含むオペレーティングシステムを駆動するプロセッサと、
前記オペレーティングシステム上で前記オペレーティングシステムに対応するフレームワークのＡＰＩにより設計されたアプリケーションと前記オペレーティングシステム上でデジタルテレビサービス機能とセキュリティーサービス機能を含むＤＴＶスタックをロードするメモリと、
を含み、
前記プロセッサは、前記アプリケーションのうち少なくとも１つが、前記ＤＴＶスタックに含まれたＤＴＶサービス機能にアクセスするために、前記オペレーティングシステムのカーネルに含まれたバインダードライバを用いる場合に、前記アプリケーションのうち少なくとも１つと前記ＤＴＶスタックとの間の通信を許容し、当該通信において送受信されるデータをクラスにカプセル化する
ことを特徴とする、単一オペレーティングシステム上でスマートサービスとＤＴＶサービスを共に提供するスマートセットトップボックス。
【請求項１１】
前記オペレーティングシステムは第１階層に配置され、
前記オペレーティングシステムに対応するフレームワークのＡＰＩにより設計されたアプリケーションは前記第１階層の上位階層の第２階層に配置され、
前記オペレーティングシステム上でデジタルテレビサービス機能とセキュリティーサービス機能を含むＤＴＶスタックは前記第１階層の上位階層であり、前記第２階層と同等な階層の第３階層に配置されることを特徴とする請求項１０に記載のスマートセットトップボックス。
【請求項１２】
前記オペレーティングシステムはアンドロイドオペレーティングシステムであることを特徴とする請求項１０に記載のスマートセットトップボックス。
【請求項１３】
前記オペレーティングシステムのカーネルに含まれたバインダードライバは、ＩＰＣ（Inter Process Communication）メカニズムを行うことを特徴とする請求項１０に記載のスマートセットトップボックス。
【請求項１４】
前記プロセッサは、前記ＤＴＶスタックに含まれた前記ＤＴＶサービス機能と前記セキュリティーサービス機能との間の通信のためにＤＴＶハードウェア抽象化階層を用いることを特徴とする請求項１０に記載のスマートセットトップボックス。
【請求項１５】
前記メモリは、前記ＤＴＶハードウェア抽象化階層のライブラリを前記オペレーティングシステムに対応するフレームワークが参照する位置に格納することを特徴とする請求項１４に記載のスマートセットトップボックス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はスマートセットトップボックス及びその動作方法に関し、より具体的には、スマートサービス及びＤＴＶサービスを提供する技術に関する。
【背景技術】
【０００２】
セットトップボックス（Settop Box；ＳＴＢ）とは、テレビに接続され、イーサネット（登録商標）ケーブル、衛星波または地上波受信アンテナ、同軸ケーブル、電話線、アナログＶＨＦ、あるいはＵＨＦアンテナなどによって外部から入力される信号を受信して適切に変換し、テレビに該当コンテンツを表示する装置をいう。ここで、セットトップボックスはテレビと別に存在してもよく、テレビ内部に含まれてもよい。
【０００３】
デジタルテレビサービスはデジタル形式に圧縮された放送信号を用いてユーザに高画質、高音質の放送コンテンツを提供するサービスであって、スマートサービスはアプリケーションマーケットから様々なアプリケーションをダウンロードして実行できるサービスである。
【０００４】
近年、スマートフォン、タブレットＰＣなどにスマートサービスが様々な形態で提供されている。このようなスマートサービスはテレビによって提供されてもよい。ここで、テレビから提供されるスマートサービスとＤＴＶサービスを１つのオペレーティングシステムを介して制御する技術が必要である。
【０００５】
これまで大部分の双方向ＴＶ用のＪａｖａアプリケーションは、ＯＣＡＰ（the open cable application platform）、ＡＣＡＰ（the advanced common application）、ＭＨＰ（the multi-media home platform）、ＧＥＭ（the globally executable MHP）といったプラットフォームを基に具現されてきた。しかし、開発者が上述した双方向ＴＶ用のＪａｖａアプリケーションを実現するためには、ＡＰＩの数が極めて多い環境で、デジタルサービスに対する基本的な知識を持たなければならないという制約があった。これによって、大部分の双方向ＴＶ用のＪａｖａアプリケーションの普及は難しい実状であった。これに反して、アンドロイドプラットフォームを基にしたアプリケーションの数は急激に増加し、アンドロイドプラットフォームに対する様々な知識を取得することが容易になっている。そのため、デジタル放送端末装置をアンドロイドプラットフォームを基に提供しようとする試みが活発に行われている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、ＤＴＶ（Digital TV）サービスとスマートサービスを１つの装置を介して用いることのできる方法及び装置を提供する。
【０００７】
特に、本発明の実施形態は、開発者がアンドロイドプラットフォームのようなオープンプラットフォームに予め搭載されたＡＰＩだけでもＴＶアプリケーションを容易に開発できるようにする装置及び方法を提供する。
【０００８】
それだけではなく、本発明の実施形態は、ＯＣＡＰ、ＭＨＰなどのような双方向ＴＶ標準に関する知識を有さなくても容易に実現できる装置及び方法を提供する。
【０００９】
また、本発明の実施形態は、プラットフォームのアップグレードを迅速にサポートすべく、ＤＴＶ  ＳＴＡＣＫとアンドロイドプラットフォームとの独立性を保障することのできる装置及び方法を提供する。
【課題を解決するための手段】
【００１０】
本発明の一実施形態に係る単一オペレーティングシステム上でスマートサービスとＤＴＶサービスを共に提供するスマートセットトップボックスの駆動方法は、少なくとも複数のハードウェアのためのドライバとバインダードライバから構成されたカーネル及び複数のライブラリを含むオペレーティングシステムを駆動するステップと、前記オペレーティングシステム上で前記オペレーティングシステムに対応するフレームワークのＡＰＩによって設計されたアプリケーションをロードするステップと、前記オペレーティングシステム上でデジタルテレビサービス機能とセキュリティーサービス機能を含むＤＴＶスタックをロードするステップと、前記アプリケーションのうち少なくとも１つが、前記ＤＴＶスタックに含まれるＤＴＶサービス機能にアクセスするために前記オペレーティングシステムのカーネルに含まれたバインダードライバを用いる場合に、前記アプリケーションのうち少なくとも１つと前記ＤＴＶスタックとの間の通信を許容するステップとを含む。
【００１１】
ここで、前記オペレーティングシステムは、アンドロイドオペレーティングシステムであってもよい。
【００１２】
ここで、前記アプリケーションのうち少なくとも１つと前記ＤＴＶスタックとの間の通信を許容するステップは、Ｐａｒｃｅｌクラスに送受信されるデータをカプセル化するステップを含んでもよい。
【００１３】
ここで、上記の方法は、前記ＤＴＶスタックに含まれた前記ＤＴＶサービス機能と前記セキュリティーサービス機能との間の通信のためにＤＴＶハードウェア抽象化階層を用いるステップをさらに含んでもよい。
【００１４】
ここで、前記ＤＴＶハードウェア抽象化階層は、ハードウェアのためのライブラリ、非（ｎｏｎ）ハードウェアのためのライブラリ、及び前記ＤＴＶスタックのためのライブラリを用いて前記ＤＴＶサービス機能と前記セキュリティーサービス機能との間の通信を許容してもよい。
【００１５】
前記ハードウェアのためのライブラリは前記スマートセットトップボックス内に含まれたハードウェアへのアクセスを処理し、前記非ハードウェアのためのライブラリは前記ハードウェアのためのライブラリと区別されるとともに、前記ＤＴＶハードウェア抽象化階層に関連するモジュールを含み、前記ＤＴＶスタックのためのライブラリは、ＤＴＶサービスをサポートするモジュールを含んでもよい。
【００１６】
本発明の他の実施形態に係る単一オペレーティングシステム上でスマートサービスとＤＴＶサービスを共に提供するスマートセットトップボックスは、少なくとも複数のハードウェアのためのドライバとバインダードライバから構成されたカーネル及び複数のライブラリを含むオペレーティングシステムを駆動するプロセッサと、前記オペレーティングシステム上で前記オペレーティングシステムに対応するフレームワークのＡＰＩにより設計されたアプリケーションと前記オペレーティングシステム上でデジタルテレビサービス機能とセキュリティーサービス機能を含むＤＴＶスタックをロードするメモリとを含む。ここで、前記プロセッサは、前記アプリケーションのうち少なくとも１つが前記ＤＴＶスタックに含まれたＤＴＶサービス機能にアクセスするために前記オペレーティングシステムのカーネルに含まれたバインダードライバを用いる場合に、前記アプリケーションのうち少なくとも１つと前記ＤＴＶスタックとの間の通信を許容する。
【００１７】
ここで、前記メモリは、前記ＤＴＢハードウェア抽象階層のライブラリを前記オペレーティングシステムに対応するフレームワークが参照する位置に格納してもよい。
【発明の効果】
【００１８】
本発明によると、ＤＴＶサービスとスマートサービスを１つの装置を介して用いる方法及び装置を提供することができる。
【００１９】
特に、本発明によると、開発者がアンドロイドプラットフォームのようなオープンプラットフォームに予め搭載されたＡＰＩだけでもＴＶアプリケーションを容易に開発できる装置及び方法を提供することができる。
【００２０】
それだけでなく、本発明によると、ＯＣＡＰ、ＭＨＰなどのような双方向ＴＶ標準に対する知識を有さなくても容易に実現できる装置及び方法を提供することができる。
【００２１】
また、本発明によると、プラットフォームのアップグレードを早くサポートできるようにＤＴＶ  ＳＴＡＣＫとアンドロイドプラットフォームとの独立性が保障される装置及び方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係るＤＴＶサービスとスマートサービスを共に提供するスマートセットトップボックスの構造を示す図である。
【図２】本発明の一実施形態に係るスマートセットトップボックスの具体的なブロックダイアグラムの例を示す図である。
【図３】周知のアンドロイドオペレーティングシステムを有するシステムの構造図をご参考に示す図である。
【図４】本発明の一実施形態に係るアンドロイドＤＴＶ  ＨＡＬのアーキテクチャーを示す図である。
【図５】本発明の一実施形態に係るＤＴＶサービス及びスマートサービスの全てを提供する方法を示した動作フローチャートである。
【図６】本発明の一実施形態に係るスマートセットトップボックスを示すブロック図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を添付する図面を参照しながら詳細に説明する。
【００２４】
本発明における実施形態の説明において、関連の公知機能または構成に対する具体的な説明が本発明の要旨を不要に曖昧にすると判断される場合にはその詳細な説明を省略する。そして、本明細書で用いられる用語（ｔｅｒｍｉｎｏｌｏｇｙ）は本発明の好適な実施形態を適切に表現するために用いられた用語として、これはユーザ、運用者の意図、または本発明が属する分野の慣例などによって変わり得る。したがって、本用語に対する定義は本明細書全般にわたった内容に基づいて下されなければならない。
【００２５】
ＤＴＶサービス、すなわちデジタルテレビサービスは、従来のアナログサービスとは異なってデジタル形態に圧縮された放送信号を用いてユーザに高画質、高音質の放送コンテンツを提供するサービスのことをいう。ＤＴＶサービスは、デジタル信号を用いるためアナログサービスよりも多い量の情報を提供することができ、これによってデータサービスを提供することができる。ＤＴＶサービスによれば、ユーザは「ＴＶ視聴」のみならず、テレビ番組の放送時間、内容、及び出演者情報などを知らせる「電子番組ガイド（Electronic Program Guide；ＥＰＧ）」及びユーザの所望する時間に所望するプログラムを直ちに選択して視聴することのできる「ビデオオンデマンド（Video On Demand；ＶＯＤ）」などのサービスを用いる。ＤＴＶサービスを提供するためにはデジタル形態に圧縮された放送信号を本来の映像及び音声信号に復元するセットトップボックス（Settop Box；ＳＴＢ）が必要である。
【００２６】
スマートサービスは、アプリケーションマーケット（例えば、アップストア（App store）、アンドロイドマーケット、ブラックベリーアップワールドなど）から様々なアプリケーションをダウンロードして実行できるサービスである。アプリケーションとは、オペレーティングシステムを基に実行される様々なプログラムを意味する。アプリケーションの例として、インターネットブラウザー、グーグルマップ、ユーチューブ（You Tube）、ウィジェット（widget）などがあり、その他にも数多い種類のアプリケーションが存在する。アップストアは、アップルが運用しているｉＯＳ用アプリケーションを有償または無償でダウンロードできるアプリケーションマーケットであり、アンドロイドマーケットはグーグルが運用しているアンドロイド用アプリケーションをダウンロードできるアプリケーションマーケットである。スマートサービスのためのプラットフォームは、例えば、アンドロイド基盤のオープンプラットフォーム（open platform）であってもよい。
【００２７】
本発明の実施形態は、このようなＤＴＶサービス及びスマートサービスを１つのオペレーティングシステム上で提供することのできるスマートセットトップボックスを提供する。すなわち、本発明の一実施形態によれば、ユーザは１つの装置（スマートセットトップボックス）によって１つのオペレーティングシステム上でＤＴＶサービス及びスマートサービスの全てを用いることができる。
【００２８】
図１は、本発明の一実施形態に係るＤＴＶサービスとスマートサービスを共に提供するスマートセットトップボックスの構造を示す図である。
【００２９】
このスマートセットトップボックスのハードウェア的、ソフトウェア的な構造は極めて様々なものが想定される。図１には、ＤＴＶサービスとスマートサービスの全てを提供するスマートセットトップボックスの概略的な構造が図示されている。
【００３０】
本発明のスマートセットトップボックスはアンドロイドオペレーティングシステムを含み、様々なオペレーティングシステムを用いてもよい。例えば、アンドロイドオペレーティングシステム基盤のＬｉｎｕｘカーネルを含む。そして、スマートセットトップボックスは、オープンソース仮想マシーン、チップセットドライバ、ＤＴＶ受信モジュール、及び受信制限連携モジュールを含んでもよい。そして、オペレーティングシステムに対応するフレームワーク（例えば、周知のアンドロイドフレームワーク）を用いてスマートサービス及びＤＴＶサービスを共に提供してもよい。
【００３１】
図２は、本発明の一実施形態に係るスマートセットトップボックスの具体的なブロックダイアグラムの例を示す図である。
【００３２】
図２を参照すれば、本発明の一実施形態に係るスマートセットトップボックスは、アンドロイドオペレーティングシステム２１０を基に動作する。
【００３３】
図２に示す第１階層に存在するアンドロイドオペレーティングシステム２１０はＬｉｎｕｘカーネル、バイオニック、システムライブラリとＩＰＣ２１１のためのバインダードライバを含む。本発明のＤＴＶサービス及びスマートサービスの全ては１つのアンドロイドオペレーティングシステムに基づいて提供される。ここで、アンドロイドオペレーティングシステム２１０は、様々なバージョンのＬｉｎｕｘカーネル（例えば、Ｌｉｎｕｘカーネル２．６）を基にしてもよい。
【００３４】
スマートセットトップボックスがブート（起動）されるとき、ブートローダー（bootloader）によってＬｉｎｕｘカーネルが先に開始されてもよく、アンドロイドオペレーティングシステム２１０はカーネルの初期化の後にシステムを初期化する「init」プロセスを実行する。
【００３５】
アンドロイドオペレーティングシステム２１０は、アンドロイド標準Ｃライブラリ（C standard library；ｌｉｂｃ）であるバイオニック（bionic）を含んでもよい。バイオニックはＢＳＤ（Berkeley Software Distribution）ベースのｌｉｂｃをモバイル環境及び組み込み環境に適するように修正したＣライブラリとして、アンドロイドに特化されたサービスをサポートする。アンドロイドオペレーティングシステム内で動作するネイティブコード（native code）は全てバイオニックを用いてコンパイルされる。
【００３６】
本発明の一実施形態に係るアンドロイドオペレーティングシステム２１０は、アンドロイドのＩＰＣ（Inter Process Communication）２１１メカニズムを実行するバインダー（binder）ドライバを含む。ＩＰＣ２１１メカニズムは、プロセス間でデータを交換することを意味する。アンドロイドオペレーティングシステム２１０は、バインダードライバ２１１を用いてアンドロイドオペレーティングシステムのプロセス（例えば、ビデオ再生、オーディオ再生、カメラ、アクティビティ管理など）間の通信を行う。
【００３７】
図３と関連してアンドロイドオペレーティングシステム２１０について詳しく説明するが、Ｌｉｎｕｘカーネルは様々なハードウェアと内部メモリ、プロセッサ、ネットワーキングなどを管理し、システムライブラリはグラフィック、動画再生などでハードウェアを用いるためのライブラリと、Ｄａｌｖｉｋ仮想マシンから構成される。
【００３８】
第１階層の上位階層にあるＤＴＶスタック２３０に含まれたセキュリティーサービスのためのモジュール２３２は、オペレーティングシステム２１０上でユーザの条件付きアクセスを制御する。これは例えば、ＸＣＡＳ  ＳＭ（eXchangeable Conditional Access System Secure Micro）で実現されてもよい。
【００３９】
セキュリティーサービスのためのモジュール２３２は、セキュリティーモニター（例えば、ＸＣＡＳモニター）及びセキュリティークライアント（例えば、ＣＡＳクライアント）を含んでもよい。セキュリティーサービスのためのモジュール２３２は、セキュリティークライアント（ＣＡＳクライアント）の設置及びアップデート、セキュリティー機能提供などのＣＡＳクライアントの実行に関連するプラットフォームを提供する。
【００４０】
本発明の一実施形態に係るＤＴＶスタック２３０は、ユーザの資格に基づいて、アンドロイドオペレーティングシステム上で、デジタルテレビサービスを提供するＤＴＶスタック（stack）に含まれるデジタルテレビサービスをユーザに提供する。より具体的には、本発明のＤＴＶスタック２３０は、従来のセットトップボックスのデジタルテレビサービスを提供する部分を、アンドロイドプラットフォーム内に挿入する。ＤＴＶスタック２３０は、ＤＴＶサービス２３１の放送情報テーブルのパーシング（parsing）及びキャッシング（caching）、ＤＳＧ（DOCSIS（Data Over Cable Service Interface Specification）Set-top Gateway）接続、双方向通信接続（例えば、ケーブルモデムまたはＬＡＮ（Local Area Network））、セキュリティー（ＸＣＡＳ）機能サポート、及びシステムアップグレードなどの機能を含んでもよい。このような機能をサポートするためにＤＴＶサービスブロック２３１は、ＤＴＶマネージャブロック、システム／ＯＴＣブロック、セキュリティーマネージャブロック、ＤＯＣＳＩＳ／ＤＳＧブロック、ＰＳＩＰ／ＳＩブロックなどを含んでもよい。
【００４１】
ＤＴＶハードウェア抽象化階層２５０（Hardware Abstraction Layer；ＨＡＬ）は、アンドロイドに基づいて、アンドロイドオペレーティングシステム２１０がＤＴＶスタック２３０と通信することを許容する。ここで、ＤＴＶ  ＨＡＬ２５０は、デバイスドライバ２１２のインタフェースを抽象化したものである。デバイスドライバ２１２の例として、Trident Device Driverが適用されてもよい。ＤＴＶ  ＨＡＬの具体的な構成については図４を参照して後述する。
【００４２】
アンドロイドフレームワーク２２１は、アンドロイドアプリケーションのためのＪａｖａフレームワーク（Java Framework）に基づいて、ＤＴＶサービスを用いるアンドロイドアプリケーションの実現が可能なように修正されたフレームワークである。アンドロイドフレームワーク２２１は、アプリケーションのためのＡＰＩ（Application Programming Interface）を含む。そしてアンドロイドオペレーティングシステム２１１は、アンドロイドフレームワーク２２１を用いて様々なアプリケーション２２２、２２３を実行／ロードしてもよい。
【００４３】
ユーザは、本発明の一実施形態に係るアンドロイドフレームワーク２２１を用いて、ＪａｖａＴＶ／ＨＡＶｉ／ＯＣＡＰサブセットを介して、アンドロイドアプリケーションに関連する映像をＤＴＶによって再生してもよい。すなわち、本発明の一実施形態に係るアンドロイドフレームワークは、ＤＴＶ放送コンテンツを、アンドロイドアプリケーションの動作基盤のＤａｌｖｉｋ仮想マシーン（Dalvik VIRTUAL Machine；ＤＶＭ）に提供してもよい。
【００４４】
なお、ＪａｖａＴＶ／ＨＡＶｉ／ＯＣＡＰサブセットは、ＤＴＶサービスの提供のためのミドルウェア（middleware）である。より具体的には、ＪａｖａＴＶは、ＤＴＶサービスのためのＪａｖａベースのソフトウェアフレームワークであり、対話形ＴＶサービスとデジタル放送受信機で動作するソフトウェアを開発する開発者のためのインタフェースである。ＨＡＶＩ（Home Audio Video interoperability）は、ＡＶ機器との間の制御及びデータ通信をサポートするミドルウェアである。そして、ＯＣＡＰ（Open Cable Application Platform）は、ＣａｂｌｅＬａｂｓによって定義された双方向ホストのデータ放送処理のためのミドルウェアである。本発明に適用されるＪａｖａＴＶ／ＨＡＶｉ／ＯＣＡＰサブセットは、ＤＴＶサービス及びアンドロイドアプリケーションをサポートするためのＪａｖａＴＶ、ＨＡＶｉ及びＯＣＡＰといったＡＰＩ（Application Program Interface）を含んでもよい。
【００４５】
本発明の一実施形態に係るスマートセットトップボックスは、アンドロイドオペレーティングシステム上で実現されるアンドロイドアプリケーション２２２、２２３を含む。ここで、アンドロイドアプリケーションは、インターネットブラウザー、地図のような基本アプリケーション２２３とアプリケーションマーケットからダウンロードされたアプリケーション２２２を含んでもよい。
【００４６】
アプリケーション２２２は、アンドロイドアプリケーションにＤＴＶ放送コンテンツが融合した形態のアプリケーションを意味する。したがって、ユーザは、スマートセットトップボックスによって様々なアンドロイドアプリケーションを該当アプリケーションに関連するＤＴＶ放送コンテンツと共に用いてもよい。また、ユーザはスマートセットトップボックスによってＤＴＶサービスの提供を受けながらアンドロイドアプリケーションを実行してもよい。
【００４７】
スマートセットトップボックスは、ユーザの選択に応じて、ＤＴＶサービスに関連する複数のアプリケーションを保有するアプリケーションマーケットからＤＴＶサービス関連アプリケーションをダウンロードしてもよい。もちろん、ユーザの選択に応じてスマートセットトップボックスはＤＴＶサービスに関連していない様々なアンドロイドアプリケーションもダウンロードしてもよい。
【００４８】
本発明の一実施形態に係るスマートセットトップボックスによるアンドロイドＤＴＶのホーム画面は、「アプリケーションマーケット」メニュー、「ＴＶガイド」メニュー、「注文型ビデオ（ＶＯＤ）」メニュー、「ＴＶ視聴」メニュー、「ウィジェット」メニュー、「ＰＶＲ（Personal Video Recorder）」メニュー、「タイムシフト（Time Shift）」メニュー、「設定（settings）」メニューなどのような様々なメニューを含む。
【００４９】
例えば、ユーザが「アプリケーションマーケット」メニューを選択すれば、スマートセットトップボックスはアプリケーションマーケットに接続し、ユーザの選択に応じて様々なアプリケーションをダウンロードする。そして、ユーザがスマートセットトップボックスに格納されたアプリケーションのいずれか１つを選択すれば、スマートセットトップボックスは該当のアプリケーションを実行する。
【００５０】
これまでは、１つのアンドロイドオペレーティングシステム２１０上でスマートサービスとＤＴＶサービスを共に提供する技術について説明した。本発明は、このような環境でアンドロイドフレームワーク２２１がＩＰＣ２１１メカニズムを用いるバインダードライバを介してＤＴＶスタック２３０に含まれたＤＴＶサービス２３１と通信することを許容する。すなわち、本発明は、アンドロイドオペレーティングシステム２１０に含まれたバインダードライバを用いることによって、ＤＴＶサービスとスマートサービスを１つのオペレーティングシステム上で提供することができる。
【００５１】
ここで、アンドロイドフレームワーク２２１とＤＴＶスタック２３０に含まれたＤＴＶサービス２３１の間の通信でやり取りされるデータは、クラスにカプセル化されて送信および受信される。それだけでなく、ＤＴＶサービス２３１のセキュリティーマネージャとセキュリティーサービス２３２のセキュリティークライアントはソケット通信方式によってデータを送受信し、セキュリティークライアントは他の制限受信システム（ＣＡＳ）と互換可能なように実現される。また、ＤＴＶサービス２３１とセキュリティーサービス２３２は、ＤＴＶ  ＨＡＬインタフェースを介してハードウェア仕様及びハードウェアの種類に関係なく独立的に具現されて動作する。
【００５２】
図３は、周知のアンドロイドオペレーティングシステムを有するシステムの構造図を参考的に示す図である。
【００５３】
図３を参照すれば、アンドロイドオペレーティングシステムを用いるシステムは４個の階層からなっている。Ｌｉｎｕｘカーネル３１０は、ハードウェアと内部メモリ、プロセスを管理するだけではなく、ネットワーク管理などを担当する。Ｃ／Ｃ＋＋から構成されたライブラリ階層３２０はグラフィック、動画再生などによりハードウェアを用いるためのｌｉｂｒａｒｙとＤａｌｖｉｋ  ＶＭから構成される。アンドロイドフレームワーク（あるいはアプリケーションフレームワーク）３３０は、Ａｐｐｌｉｃａｔｉｏｎを作成するためのＪａｖａＡＰＩを提供する。最後に最上位のＡｐｐｌｉｃａｔｉｏｎ階層３４０は開発者がＡｐｐｌｉｃａｔｉｏｎ  ＦｒａｍｅｗｏｒｋのＡＰＩを用いて開発したアプリケーションが配布されて実行される階層である。アンドロイドプラットフォームは全ての階層のソースが公開されているオープンプラットフォームであり、主にスマートフォンに多く用いられている。
【００５４】
上記にて説明したように、本発明は、アンドロイドオペレーティングシステム上でスマートサービスとＤＴＶサービスを共に提供するための独自のプラットフォームを提供する。
【００５５】
図４は、本発明の一実施形態に係るアンドロイドＤＴＶ  ＨＡＬのアーキテクチャーを示す図である。
【００５６】
図４を参照すれば、本発明の一実施形態に係るアンドロイドＤＴＶ  ＨＡＬアーキテクチャーは、アンドロイドオペレーティングシステムを基盤とし、セキュリティーサービス及びＤＴＶサービスを含むＤＴＶスタックと、アンドロイドオペレーティングシステムとの通信のためのライブラリ４１０、４２０、４３０を提供する。より具体的には、本発明のアンドロイドＤＴＶ  ＨＡＬアーキテクチャーは、ハードウェアのためのライブラリのｌｉｂｈａｒｄｗａｒｅ４１０、非ハードウェアのためのライブラリのＮｏｎ−ｌｉｂｈａｒｄｗａｒｅ４２０、及びＤＴＶスタックのためのライブラリのｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０を含む。
【００５７】
Ｌｉｂｈａｒｄｗａｒｅ４１０は、アンドロイドシステムの、スマートセットトップボックス内のハードウェアへのアクセスを担当するライブラリである。Ｌｉｂｈａｒｄｗａｒｅ４１０は、グラフィック、センサ、ＧＰＳ、カメラなどに対するモジュールを含んでもよい。
【００５８】
Ｎｏｎ−ｌｉｂｈａｒｄｗａｒｅ４２０は、ｌｉｂｈａｒｄｗａｒｅ４１０の他のモジュールのうちアンドロイドＤＴＶ  ＨＡＬに関連するモジュールを含む。例えば、Ｎｏｎ−ｌｉｂｈａｒｄｗａｒｅ４２０は、ＥＧＬ、ＯＭＸ（ＯｐｅｎＭＡＸ）及びＳｔａｇｅｆｒｉｇｈｔのようなマルチメディアフレームワークを含んでもよい。より具体的には、ＥＧＬは、ネイティブプラットフォームインタフェース（Native Platform Interface）として特定プラットフォームシステムとＯｐｅｎＧＬ  ＥＳ  ＡＰＩ間のｇｌｕｅインタフェースのレイヤ関数を定義する。ＯＭＸはＫｈｒｏｎｏｓ  Ｇｒｏｕｐの標準ＡＰＩメディアインタフェースであり、Ｓｔａｇｅｆｒｉｇｈｔはグーグルが製造したメディアフレームワークである。
【００５９】
ｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０は、ｌｉｂｈａｒｄｗａｒｅ４１０以外にＤＴＶサービスのために追加されるモジュールを含む。ｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０は、ｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０に含まれる各モジュールによりＤＴＶチューニング、ザッピング（zapping）など、様々な機能を提供する。図４に示されたｌｉｂｈａｒｄｗａｒｅ  ｆｏｒ  ＤＴＶ４３０に含まれた各モジュールは、ライブラリの形態（拡張子が.so）で存在する。従来のＤＴＶ  Ｓｔａｃｋで用いられるライブラリを再使用するために、ＤＴＶ  ＨＡＬのライブラリは、アンドロイドフレームワークが参照する位置に格納される。これによりアンドロイドアプリケーションサービスがこれらのライブラリを使用できるようになる。
【００６０】
図５は、本発明の一実施形態に係るＤＴＶサービス及びスマートサービスの全てを提供する方法を示した動作フローチャートである。
【００６１】
図５を参照すれば、本発明の一実施形態に係るスマートセットトップボックスは、少なくとも複数のハードウェアのためのドライバとバインダードライバから構成されたカーネル及び複数のライブラリを含むオペレーティングシステムを駆動する（５１０）。
【００６２】
そして、スマートセットトップボックスは、オペレーティングシステム上でデジタルテレビ（Digital Television：ＤＴＶ）サービス機能とセキュリティーサービス機能を含むＤＴＶスタックをロードした後、セキュリティーサービスを実行する（５２０）。これによってユーザの条件付きアクセスが制御される。
【００６３】
また、スマートセットトップボックスは、ユーザの資格により、アンドロイドオペレーティングシステム上に存在する、デジタルテレビサービスを提供するＤＴＶスタックによって、ユーザへデジタルテレビサービスを提供する（５３０）。
【００６４】
また、スマートセットトップボックスは、オペレーティングシステム上でオペレーティングシステムに対応するフレームワークのＡＰＩ（Application Programming Interface）によって設計されたアプリケーションをロードした後、少なくとも１つのアプリケーションを実行することでユーザにスマートサービスを提供する（５４０）。
【００６５】
図５には図示していないが、本発明は、アプリケーションのうち少なくとも１つが、ＤＴＶスタックに含まれたＤＴＶサービス機能にアクセスするために、オペレーティングシステムのカーネルに含まれたバインダードライバを用いる場合に、アプリケーションのうち少なくとも１つとＤＴＶスタックの間の通信を許容する。ここで、ＤＴＶスタックに含まれたＤＴＶサービス機能とセキュリティーサービス機能との間の通信を行うためにＤＴＶハードウェア抽象化階層を用いることができる。
【００６６】
これまで本発明の実施形態に係るスマートセットトップボックスの動作方法について説明した。本発明のスマートセットトップボックスの動作方法は、前述の図１〜図４に関連して記述された様々な実施形態の内容がそのまま適用され得るため、これ以上の詳細な説明は省略する。
【００６７】
本発明の一実施形態に係る方法は、多様なコンピュータ手段によって行うことができるプログラム命令形態で実現され、コンピュータ読み出し可能媒体に記録されてもよい。記録媒体は、プログラム命令、データファイル、データ構造などを単独で、またはそれらが組み合わされたものを含んでもよい。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含んでもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。
【００６８】
図６は、本発明の一実施形態に係るスマートセットトップボックスを示すブロック図である。
【００６９】
図６を参照すれば、本発明の一実施形態に係るスマートセットトップボックスは、プロセッサ６１０、メモリ６２０、及び複数のハードウェア６３０を含む。ここで、複数のハードウェア６３０は、キーボード、チューナー、デコーダ、変調器、ネットワーク装置、センサなど、様々である。
【００７０】
プロセッサ６１０は、少なくとも複数のハードウェアのためのドライバとバインダードライバから構成されたカーネル及び複数のライブラリを含むオペレーティングシステムを駆動する。ここで、メモリ６２０には、オペレーティングシステム上でオペレーティングシステムに対応するフレームワークのＡＰＩ（Application Programming Interface）により設計されたアプリケーションと、デジタルテレビ（ＤＴＶ）サービス機能とセキュリティーサービス機能を含むＤＴＶスタックがロードされる。
【００７１】
ここで、プロセッサ６１０は、アプリケーションのうち少なくとも１つが、ＤＴＶスタックに含まれたＤＴＶサービス機能にアクセスするために、オペレーティングシステムのカーネルに含まれたバインダードライバを用いる場合に、アプリケーションのうち少なくとも１つとＤＴＶスタックとの間の通信を許容することで、単一オペレーティングシステム上でスマートサービスとＤＴＶサービスを共に提供できるようにする。
【００７２】
その他にも、図１から図５を参照して説明された内容は図６にそのまま適用され得るため、より詳しい説明は省略する。
【００７３】
上述したように、本発明を実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【００７４】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【図１】
0005919301.tif 000002
【図２】
0005919301.tif 000003
【図３】
0005919301.tif 000004
【図４】
0005919301.tif 000005
【図５】
0005919301.tif 000006
【図６】
0005919301.tif 000007