JP2009094702A - 操作履歴を記憶する情報処理装置 - Google Patents
操作履歴を記憶する情報処理装置 Download PDFInfo
- Publication number
- JP2009094702A JP2009094702A JP2007262125A JP2007262125A JP2009094702A JP 2009094702 A JP2009094702 A JP 2009094702A JP 2007262125 A JP2007262125 A JP 2007262125A JP 2007262125 A JP2007262125 A JP 2007262125A JP 2009094702 A JP2009094702 A JP 2009094702A
- Authority
- JP
- Japan
- Prior art keywords
- history
- application
- service selection
- service
- operation history
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】ユーザ操作履歴を記録し、ダウンロードアプリに提供する情報処理端末であって、情報処理端末が登載するAPIを利用して様々な動作を行う「端末外部からロードしたアプリケーション」は、自分が行ったAPI呼出ししか知見できないため、ユーザの全般的な操作履歴を取得することができない。
【解決手段】情報処理端末が登載するAPIの呼び出し履歴を、情報処理端末自身がデータベース化し、予め許可されたアプリケーションに対し、データベースにアクセスする手段を提供する。
【選択図】図20
【解決手段】情報処理端末が登載するAPIの呼び出し履歴を、情報処理端末自身がデータベース化し、予め許可されたアプリケーションに対し、データベースにアクセスする手段を提供する。
【選択図】図20
Description
本発明は、放送波や光学メディア、ネットワークコンテンツよりプログラムを抽出、実行する情報処理端末において、実行されるプログラムが動的にユーザの嗜好を判定し、ユーザに適した動作を行う技術に関する。
放送局から送信される放送波は、多種多様なコンテンツを含んでいる。コンテンツは、通常の番組で用いられる映像、音声の他に、データを含む場合がある。データの送信方法にはいくつかの方式があり、大別して時系列に送信する方式と、一定の間隔ごとに繰り返し送信する方式がある。前者の時系列に送信する方式では、例えば時間経過に合わせて連続するデータを順次送出していく。大量のデータを長時間かけて送信する場合に適しているが、送信タイミングで受信しなかった場合は二度と受信できないという欠点がある。
一方、後者の一定の間隔ごとに繰り返し送信する方式では、同じデータを一定の期間何度も繰り返し送出する。同一データを送出している期間内に、繰り返し送信されているデータのいずれかひとつを受信すればよいので、受信タイミングが限定されないというメリットがある。例えば、BMLに代表されるデータ放送や、DSMCCデータカルーセルによるファイル送信がこの方式である。特に放送においては、受信者がいつ選局して受信を開始するかわからない。時系列に送信する方式では、受信開始が送信時間よりも遅れてしまい、データ取得に失敗すると二度と再取得できない。よって、放送波で映像、音声とともにアプリケーションプログラム等のデータを送信したい場合には、一定の間隔ごとに繰り返し送信される方式が好適である。
現在、上記のような方式で、映像、音声とアプリケーションプログラムとを含む放送波を受信し、アプリケーションプログラムを映像、音声と同期して実行するための仕様が策定され、運用されている。通常の映像、音声を見るだけでなく、送信されたアプリケーションプログラムを受信して端末に取り込み、それを実行して様々な付加機能を実現することができる。このようにアプリケーションプログラムを送信して端末に取り込む方法はダウンロードとも呼ばれている。
例えば、DVB−MHP(Digital Video Broadcasting−Multimedia Home Platform)ETSI ES 201 812 V1.1.1(2003−12))仕様が欧州で策定され、既に仕様に準拠した運用が開始されている。また米国ではケーブル放送環境で同様の仕組みを提供するOCAP1.0(OpenCable Application Platform OC−SP−OCAP1.0−I14−050119)仕様書が策定されており、2005年に運用開始予定である。これらの仕様では、アプリケーションがJava(登録商標)言語で記述されている。端末上にはチューニングやグラフィックス表示のための様々なAPI(Application Programing Interface)が用意されており、JavaアプリケーションはAPIを呼び出すことでそれらの機能を制御できる。
また今日、BD(Bluray Disc)をはじめとする、「映像音声と共にプログラムを記録する光学メディア」が存在する。この光学メディアに記録されたプログラムは、再生装置によって読み出され、映像音声と同期、あるいは非同期的に起動される。BDでは、プログラムはDVB−MHPやOCAP同様にJava言語で記述され、端末に用意されたAPIを利用して様々な機能を制御できる。
DVB−MHPやOCAPに準拠するJavaアプリケーションの代表例として、EPGを挙げることができる。通常の放送受信端末では、EPGは端末に予め組み込まれた機能であるが、DVB−MHPやOCAPなどのJavaアプリケーションを放送波からダウンロードして実行する放送受信端末では、放送事業者がJavaアプリケーションを開発して放送することで、放送事業者が独自のGUIを用いてEPGを実現することが可能である。
現行の放送受信端末上で実行されるEPGは、単にチャンネル選択機能を有するだけではなく、様々な先進的な機能を持つものがある。その例として、ユーザの嗜好を分析して、過去にユーザが好んで視聴したチャンネルを画面上部より表示する、などの手法が存在する。特許文献1では、ユーザの指示により過去のチャンネル視聴履歴を画面に表示することで、より好みのチャンネルを選択しやすい状況を実現している。
特開平10−304267号公報
特許文献1が実現するような過去のチャンネル視聴履歴表示するためには、過去のチャンネル視聴履歴を保持するデータベースを、情報処理装置上で動作するEPGアプリケーションが管理する。その場合、データベースフォーマットは単一でよく、また常にチャンネル変更はEPGアプリケーションを通して行われるため、ユーザが行った全チャンネル変更を管理することは容易であった。
しかし、DVB−MHPやOCAPのようなダウンロードアプリケーションを実行する環境では、様々なアプリケーションがチャンネル変更APIを利用してチャンネル変更を行うことが可能であり、各アプリケーションは「自アプリケーションがチャンネル変更APIを利用して行ったチャンネル変更」しか管理できず、「ユーザが行った全チャンネル変更」を管理することができない。
また、ユーザ視聴履歴はユーザの個人情報であり、ユーザの利便性向上を用途として参照される場合は良いが、外部に漏洩してはならない。そのため信頼できるアプリケーションのみがデータベースにアクセスできるようにすべきである。通常の放送受信端末では、組込みアプリケーションのみがデータベースを利用することで、これを実現していた。しかしダウンロードアプリケーションを実行する環境では、これを保証することが困難である。
以上の課題を解決するために、本発明は、入力に含まれアプリケーション識別子によって特定されるアプリケーションをダウンロードして実行する情報処理装置であって、アプリケーションがサービス識別子を引き渡すと対応するサービスを選択するサービス選択手段と、前記サービス識別子とサービス選択時刻とアプリケーション識別子を組として保持するサービス選択履歴保持手段と、前記サービス選択手段がサービス選択を行った時に前記サービス選択手段より通知を受け、前記サービス選択履歴保持手段に前記サービス識別子及びサービス選択時刻及び前記サービス選択を指令したアプリケーションのアプリケーション識別子をサービス選択履歴として登録するサービス選択履歴登録手段と、前記サービス選択履歴保持手段が保持するサービス選択履歴をアプリケーションに対して提供するサービス選択履歴取得手段と、前記サービス選択履歴取得手段を利用して前記サービス選択履歴を取得する権利を持つアプリケーションのアプリケーション識別子を記載するサービス選択履歴取得許可アプリ保持手段を備え、前記サービス選択履歴取得手段がアプリケーションによって利用された際、当該アプリケーションのアプリケーション識別子が前記サービス選択履歴取得許可アプリ保持手段に記載されていれば当該アプリケーションに対して前記サービス履歴を提供し、当該アプリケーションのアプリケーション識別子が前記サービス選択履歴取得許可アプリ保持手段に記載されていなければ当該アプリケーションに対してエラーを通知することで、アプリケーションが、サービス履歴を取得可能となる。
さらに、前記サービス選択履歴取得許可アプリ保持手段にアプリケーションを登録するサービス選択履歴取得許可アプリ登録手段と、前記サービス選択履歴取得許可アプリ保持手段からアプリケーションを登録削除するサービス選択履歴取得許可アプリ登録削除手段を備えることで、アプリケーションが、履歴取得可能なアプリケーションを追加・削除設定できる。
さらに、前記サービス選択履歴取得手段がアプリケーション識別子を検索条件として受け取ると、当該アプリケーション識別子が特定するアプリケーションが指令した前記サービス選択の履歴のみを前記サービス選択履歴保持手段より検索して提供することでアプリケーション毎の履歴が取得可能となる。
さらに、前記サービス選択履歴取得手段が開始時刻及び終了時刻を検索条件として受け取ると、前記開始時刻と終了時刻間に起こったサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して提供することで、時間帯を区切った履歴取得が可能となる。
さらに、前記サービス選択履歴取得手段がサービス識別子を検索条件として受け取ると、前記サービス識別子が特定するサービスに対して行われたサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して提供することで、特定サービスに対して行われたサービス選択の履歴取得が可能となる。
さらに、前記サービス選択履歴保持手段が保持するサービス履歴の最大数を保持するサービス選択履歴最大数保持手段と前記サービス選択履歴最大数保持手段にサービス選択履歴最大数を設定するサービス選択履歴最大数登録手段を備え、前記サービス選択登録手段は、前記サービス選択履歴保持手段にサービス選択履歴を登録する際に「前記サービス選択履歴保持手段が保持する前記サービス選択履歴の数」と「前記サービス選択履歴最大数保持手段が保持する最大数」が等しい場合はサービス選択履歴を登録する前に前記サービス選択履歴保持手段が保持する前記サービス選択履歴のうち最も古いものを削除することで、サービス履歴の最大数を管理可能となる。
さらに、前記サービス選択履歴保持手段が保持する前記サービス選択履歴を削除するサービス選択履歴削除手段を備えることで、サービス選択履歴を削除可能となる。
さらに、前記サービス選択履歴削除手段がアプリケーション識別子を受け取ると、当該アプリケーション識別子が特定するアプリケーションが指令した前記サービス選択の履歴のみを前記サービス選択履歴保持手段より検索して削除することで、特定アプリケーションが行ったサービス選択の履歴を選択的に削除可能となる。
さらに、前記サービス選択履歴削除手段が開始時刻及び終了時刻を受け取ると、当該開始時刻と当該終了時刻の間に行われたサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して削除することで、特定時間帯に行われたサービス選択履歴を選択的に削除可能となる。
さらに、前記サービス選択履歴削除手段がサービス識別子を受け取ると、当該サービス識別子が特定するサービスに対するサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して削除することで、特定サービスに対するサービス選択の履歴を選択的に削除可能となる。
さらに、前記サービス選択手段に対して、サービス選択を行っても前記サービス履歴登録手段に対して通知を行わないように設定するサービス選択履歴取得停止手段と、前記サービス選択手段に対して、サービス選択を行ったら前記サービス履歴登録手段に対して通知を行うように設定するサービス選択履歴取得開始手段を備えることで、サービス選択履歴の取得の開始・停止を制御可能となる。
入力信号に含まれアプリケーション識別子によって特定されるアプリケーションをダウンロードして実行する情報処理装置であって、アプリケーションが所望の振舞いを実現するために利用する端末操作APIと、前記端末操作APIの種類、命令種別、指令したアプリケーションのアプリケーション識別子、指令時刻を組として保持する操作履歴保持手段と、アプリケーションが前記端末操作APIを利用すると前記端末操作APIより通知され、APIの種類、命令種別、指令したアプリケーションのアプリケーション識別子、指令時刻を組として前記操作履歴保持手段に登録する操作履歴登録手段と、前記操作履歴保持手段が保持する操作履歴をアプリケーションに対して提供する操作履歴取得手段と、前記操作履歴取得手段を利用して操作履歴を取得する権利を持つアプリケーションのアプリケーション識別子を記載する操作履歴取得許可アプリ保持手段を備え、前記操作履歴取得手段がアプリケーションによって利用された際、当該アプリケーションのアプリケーション識別子が前記操作履歴取得許可アプリ保持手段に記載されていれば当該アプリケーションに対して操作履歴を提供し、当該アプリケーションのアプリケーション識別子が前記操作履歴取得許可アプリ保持手段に記載されていなければ当該アプリケーションに対してエラーを通知することで、端末操作API呼出しによって行われた操作履歴を取得可能となる。
さらに、前記操作履歴取得許可アプリ保持手段にアプリケーションを登録する操作履歴取得許可アプリ登録手段と、前記操作履歴取得許可アプリ保持手段からアプリケーションを登録削除する操作履歴取得許可アプリ登録削除手段を備えることで操作履歴を取得できるアプリケーションの登録・登録削除が可能となる。
さらに、前記操作履歴取得手段がアプリケーション識別子を検索条件として受け取ると、当該アプリケーション識別子が特定するアプリケーションが指令した操作履歴のみを前記操作履歴保持手段より検索して提供することで、特定のアプリケーションが行った操作の履歴を選択的に取得可能となる。
さらに、前記操作履歴取得手段が開始時刻及び終了時刻を検索条件として受け取ると、当該開始時刻及び当該終了時刻の間に行われた操作の履歴のみを前記操作履歴保持手段より検索して提供することで、特定の時間帯に行われた操作の履歴を選択的に取得可能となる。
さらに、前記操作履歴取得手段が端末操作APIの種類を検索条件として受け取ると、当該端末操作APIを通して行われた操作履歴のみを前記操作履歴保持手段より検索して提供することで、特定の種別の端末操作APIに関する操作履歴を選択的に取得可能となる。
さらに、前記操作履歴保持手段が保持する操作履歴の最大数を保持する操作履歴最大数保持手段と、前記操作履歴最大数保持手段に操作履歴の最大数を設定するサービス選択履歴最大数登録手段を備え、前記操作選択登録手段は、前記操作履歴保持手段に操作履歴を登録する前に「前記操作履歴保持手段が保持する操作履歴の数」と「前記操作履歴最大数保持手段が保持する最大数」を比較し、等しい場合は操作履歴を登録する前に前記操作履歴保持手段が保持する操作履歴のうち最も古いものを削除することで、操作履歴の最大数を設定可能となる。
さらに、前記操作履歴保持手段が保持する操作履歴を削除する操作履歴削除手段を備えることで、操作履歴を削除可能となる。
さらに、前記操作履歴削除手段がアプリケーション識別子を受け取ると、当該アプリケーション識別子が特定するアプリケーションが指令した操作履歴のみを前記操作履歴保持手段より検索して削除することで、特定アプリケーションが行った操作履歴を選択的に削除可能となる。
さらに、前記操作履歴削除手段が開始時刻及び終了時刻を受け取ると、当該開始時刻と当該終了時刻の間に行われた操作履歴のみを前記操作履歴保持手段より検索して削除することで、特定時間帯に行われた操作の履歴を選択的に削除可能となる。
さらに、前記操作履歴削除手段が端末操作APIの種類を受け取ると、当該端末操作APIを通して行われた操作履歴のみを前記操作履歴保持手段より検索して削除することで、特定の端末操作APIを通して行われた操作履歴のみ選択的に削除可能となる。
さらに、前記操作履歴保持手段が操作履歴を保持する期間を保持する操作履歴保持期間保持手段と、前記操作履歴保持期間保持手段に保持期間を登録する操作履歴保持期間登録手段と、前記操作履歴保持期間保持手段が保持期間を経過した操作履歴を前記操作履歴保持手段から削除する操作履歴保持期間経過エントリ削除手段を備えることで、一定の保持期間を経過した操作履歴を自動的に削除することが可能となる。
さらに、前記端末操作APIに対して、「端末操作を行っても前記操作履歴登録手段に対して通知を行わない」ように設定する操作履歴取得停止手段と、前記端末操作APIに対して、「端末操作を行ったら前記操作履歴登録手段に対して通知を行う」ように設定する捜査履歴取得開始手段を備えることで、操作履歴の取得の開始・停止を制御可能となる。
入力信号に含まれアプリケーション識別子によって特定されるアプリケーションをダウンロードして実行する情報処理装置であって、電源のon/offを切り替える電源ボタンと、電源のon/offが切り替え操作及びその時刻を保持する電源履歴保持手段と、前記電源履歴保持手段が保持する電源履歴をアプリケーションに対して提供する電源履歴取得手段と、前記電源履歴取得手段を利用して電源履歴を取得する権利を持つアプリケーションのアプリケーション識別子を記載する電源履歴取得許可アプリ保持手段を備え、前記電源履歴取得手段がアプリケーションによって利用された際、当該アプリケーションのアプリケーション識別子が前記電源履歴取得許可アプリ保持手段に記載されていれば当該アプリケーションに対して電源履歴を提供し、当該アプリケーションのアプリケーション識別子が前記電源履歴取得許可アプリ保持手段に記載されていなければ当該アプリケーションに対してエラーを通知することで、電源履歴を取得可能となる。
本発明では、各ダウンロードアプリケーションではなく、放送受信端末自身が過去の操作履歴を統一的に記録することで、各ダウンロードアプリケーションであっても、ユーザの全操作情報を取得できるようにした。
さらに、予め許可されたダウンロードアプリケーションのみがユーザ操作データベースにアクセス可能とする機構を導入することで、信頼できるアプリケーションのみがデータベースを参照できるようにした。
(実施の形態1)
以下に、本発明の第1の実施形態に係る装置および方法を、図面を参照しながら説明する。本発明は、任意の媒体を用いて入力される信号の再生を対象としたものであるが、本実施例ではケーブルテレビ放送システムでの実施の形態を例にとって説明する。ケーブルテレビ放送システムでは、本発明の放送再生装置は一般的に端末装置と呼ばれる。
以下に、本発明の第1の実施形態に係る装置および方法を、図面を参照しながら説明する。本発明は、任意の媒体を用いて入力される信号の再生を対象としたものであるが、本実施例ではケーブルテレビ放送システムでの実施の形態を例にとって説明する。ケーブルテレビ放送システムでは、本発明の放送再生装置は一般的に端末装置と呼ばれる。
図1は、放送システムを構成する装置の関係を表したブロック図であり、放送局側システム101および三個の端末装置A111、端末装置B112、端末装置C113で構成される。放送局側システムと各端末装置間の結合121は、ケーブルシステムでは同軸ケーブルや光ファイバでの有線結合である。図1では、1つの放送局側システムに対して三つの端末装置が結合されているが、端末装置の数は任意である。
放送局側システム101は、複数の端末装置に対して映像・音声・データ放送用データ等の情報を放送信号に含めて送信する。放送信号は放送システムの運用既定や、放送システムが運用される国・地域の法律により定められた周波数帯域内の周波数を利用して伝送される。
周波数帯域には様々な利用形態がある。図2のように周波数帯域によって用途が異なることもあれば、図3のように、端末装置によって周波数帯域が限定されることもある。本発明は周波数帯域の利用方法に関係なく適用可能である。
図4は、周波数帯使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様にもとづいたTSパケット形式で伝送され、音声や映像に加え、各種データ放送用データやEPGを構成するための番組編成情報も送信することができる。
放送局側システム101は、以上に説明した様な周波数帯域を利用して端末装置に適切な放送信号を送信するため、変調機能等をもつ。また、放送局側システム101は、これら変調部に関連する様々な機器をもつと考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
一方、端末装置A111、端末装置B112、端末装置C113は、放送局側システム101からの放送信号を受信し再生するために、復調機能を持つ。詳細な構成は後述する。
放送局側システム101は、MPEG2トランスポートストリームを変調して放送信号に含めて伝送する。端末装置は放送信号を受信し、復調してMPEG2トランスポートストリームを再現し、その中から必要な情報を抽出して用いる。端末装置に存在するデバイスの機能と接続の構成を説明するため、まずMPEG2トランスポートストリームの構成を簡単に述べる。
図5はTSパケットの構成を表す図である。TSパケット500は188バイトの長さを持ち、ヘッダ501、アダプテーションフィールド502、ペイロード503からなる。ヘッダ501はTSパケットの制御情報を保持する。4バイトの長さを持ち、504で表される構成をとる。この中に“Packet ID(以下PID)”と記述されるフィールドを持ち、このPIDの値によって、TSパケットの識別を行う。アダプテーションフィールド502は時刻情報等の付加的な情報を保持する。アダプテーションフィールド502の存在は必須ではなく、存在しない場合もある。ペイロード503は映像・音声やデータ放送用データ等、TSパケットが伝送する情報を保持する。
図6はMPEG2トランスポートストリームの模式図である。TSパケットはそのペイロードに映像や音声、データ放送用のデータ等様々な情報を保持する。TSパケット601およびTSパケット603はヘッダにPID100を保持し、ペイロードに映像1に関する情報を保持する。TSパケット602およびTSパケット605はヘッダにPID200を保持し、ペイロードにデータ1に関する情報を保持する。TSパケット604はヘッダにPID300を保持し、ペイロードに音声1に関する情報を保持する。このように様々な種類のデータをペイロードに保持したTSパケットを混合して一連のシーケンスとして送出することを多重と呼ぶ。MPEG2トランスポートストリーム600はTSパケット601〜605多重した構成の一例である。
同一PIDをもつTSパケットは同一種類の情報を保持する。そのため、端末装置は多重されたTSパケットを受信して、各TSパケットが保持する情報をPIDごとに抽出することで、映像・音声を再現したり、番組編成情報等のデータを再現したりできる。図6においては、TSパケット601およびTSパケット603は共に映像1に関する情報を伝送し、またTSパケット603およびTSパケット605は共にデータ1に関する情報を伝送する。
ここで、ペイロードに内包される各種データの形式について説明する。
映像および音声は、PES(Packetized Elementary Stream)パケットと呼ばれる形式で表現される。PESパケットはある時間帯の映像情報または音声情報を含み、放送再生装置は、PESパケットを受信することで、そのPESパケットが内包する映像・音声情報を画面・スピーカに出力することができる。放送局がPESパケットを途切れなく伝送することで、放送再生装置は、映像・音声を途切れなく再生し続けることが可能となる。
映像および音声は、PES(Packetized Elementary Stream)パケットと呼ばれる形式で表現される。PESパケットはある時間帯の映像情報または音声情報を含み、放送再生装置は、PESパケットを受信することで、そのPESパケットが内包する映像・音声情報を画面・スピーカに出力することができる。放送局がPESパケットを途切れなく伝送することで、放送再生装置は、映像・音声を途切れなく再生し続けることが可能となる。
PESパケットは、実際に伝送される際、一つのTSパケットのペイロードよりも大きいサイズをもつ場合は分割されて複数のTSパケットのペイロードに格納される。図7はPESパケットを伝送する際の分割例を表す。PESパケット701は一つのTSパケット内のペイロードに格納して伝送するには大きいため、PESパケット分割A702a、PESパケット分割B702b、PESパケット分割C702cに分割され、同一PIDをもつ三つのTSパケット703〜705によって伝送される。実際には、映像や音声は、複数のPESパケットのペイロードに含まれるデータを結合して得られるエレメンタリストリーム(ES)として得られる。このエレメンタリストリームは、MPEG2 Video規格やMPEG1、2 Audio規格で定義されるデジタル化映像、音声の形式になっている。
一方、番組編成情報やデータ放送用のデータ等の情報はMPEG2セクションと呼ばれる形式を用いて表現される。MPEG2セクションは実際に伝送される際、一つのTSパケットのペイロードよりも大きいサイズをもつ場合は分割されて複数のTSパケットのペイロードに格納される。図8はMPEG2セクションを伝送する際の分割例を表す。MPEG2セクション801は一つのTSパケット内のペイロードに格納して伝送するには大きいため、セクション分割A802a、セクション分割B802b、セクション分割C802cに分割され、同一PIDをもつ三つのTSパケット803〜805によって伝送される。
図9はMPEG2セクションの構造を表現する。MPEG2セクション900はヘッダ901およびペイロード902から構成される。ヘッダ901はMPEG2セクションの制御情報を保持する。その構成はヘッダ構成903によって表現される。ペイロード902はMPEG2セクション900が伝送するデータを保持する。ヘッダ構成903に存在するtable_idはMPEG2セクションの種類を表現し、さらにtable_id_extensionはtable_idが等しいMPEG2セクション同士を区別する際に用いられる拡張識別子である。
MPEG2セクションの使用例として、図10に番組編成情報を伝送する場合を挙げる。この例では、行1004に記載されるように、放送信号の復調に必要な情報はヘッダ構成903内のtable_idが64であるMPEG2セクションに記載され、さらにそのMPEG2セクションはPIDに16が付与されたTSパケットによって伝送される。
MPEG2セクションの場合、PES形式は存在しない。そのため、MPEG2トランスポートストリームの中の同一PIDによって識別されるTSパケットのペイロードを結合したものをエレメンタリーストリーム(ES)とする。例えば、図8において、MPEG2セクション801を分割して伝送しているTSパケット803〜805はすべてPIDが200で識別される。これはMPEG2セクション801を伝送するESである、と言うことができる。
MPEG2トランスポートストリーム内にはさらにプログラムという概念が存在する。プログラムはESの集合として表現され、複数のESをまとめて扱いたい場合に利用される。プログラムを利用すると、映像・音声や、それに付随するデータ放送用データ等を一まとめに扱うことが可能となる。例えば、同時に再生したい映像・音声をまとめて扱う場合、映像ESと、音声ESをプログラムとしてまとめることで、放送再生装置はこれら二つのESを1つの番組として同時に再生すべきであることがわかる。
プログラムを表現するために、MPEG2ではPMT(Program Map Table)およびPAT(Program Association Table)と呼ばれる二つのテーブルが利用される。詳細な説明はISO/IEC13818−1、“MPEG2 Systems”仕様を参照されたい。以下ではPMTおよびPATに関して簡単に説明する。
PMTはMPEG2トランスポートストリーム中に、プログラムの数だけ含まれるテーブルである。PMTはMPEG2セクションとして構成され、table_idは2である。PMTにはプログラムの識別に用いられるプログラムナンバーとプログラムの付加情報、さらにプログラムに属するESに関する情報を保持する。PMTの例を図11に挙げる。1100はプログラムナンバーである。プログラムナンバーは同一トランスポートストリーム内でプログラムに一意に割り当てられ、PMTの識別に用いられる。行1111〜1115は個々のESに関する情報を表現する。列1101はESのタイプであり、“映像”、“音声”、“データ”等が指定される。列1102はESを構成するTSパケットのPIDである。列1103はESに関する付加情報である。例えば、行1111に表されるESは、音声ESであり、PIDが5011であるTSパケットによって伝送される。
PATはMPEG2トランスポートストリームに一つだけ存在するテーブルである。PATはMPEG2セクションとして構成され、table_idは0であり、PIDが0であるTSパケットによって伝送される。PATには、MPEG2トランスポートストリームの識別に用いられるtransport_stream_idと、MPEG2トランスポートストリーム内に存在するプログラムを表現するすべてのPMTに関する情報を保持する。
PATの例を図12に挙げる。1200はtransport_stream_idである。transport_stream_idはMPEG2トランスポートストリームの識別に用いられる。行1211〜1213はプログラムに関する情報を表現する。列1201はプログラムナンバーである。列1202はプログラムに対応するPMTを伝送するTSパケットのPIDである。例えば、行1211に表されるプログラムのPMTは、プログラムナンバーが101であり、対応するPMTはPIDが501であるTSパケットによって伝送される。
端末装置があるプログラムを再生する場合は、PATおよびPMTを用いてプログラムを構成する映像・音声を特定し、それらを再生する。例えば、図12のPATおよび図11のPMTを伝送するMPEG2トランスポートストリームに関して、プログラムナンバーが101であるプログラムに属する映像・音声の再生を行う場合は以下のような手順をとる。まずPIDが“0”であるTSパケットより、table_idが“0”のMPEG2セクションとして伝送されるPATを取得する。PATよりプログラムナンバーが“101”であるプログラムを探索し、行1211を得る。行1211より、プログラムナンバーが“101”であるプログラムのPMTを伝送するTSパケットのPID“501”を得る。
次いでPIDが“501”であるTSパケットより、table_idが“2”のMPEG2セクションとして伝送されるPMTを取得する。PMTより、音声のES情報である行1111および映像のES情報である行1112を得る。行1111より、音声ESを伝送するTSパケットのPID“5011”を得る。また行1112より、映像ESを伝送するTSパケットのPID“5012”を得る。次いでPID“5011”のTSパケットより音声用PESパケットを、PID“5012”のTSパケットより映像用PESパケットを取得する。これにより、再生対象となる映像・音声のESパケットを取得することが可能となり、プログラムナンバー101を構成する映像と音声を再生することができる。
なお、MPEG2トランスポートストリームは暗号化されている場合がある。これは限定視聴とも呼ばれる仕組みである。例えば、ある映像・音声情報を伝送するPESパケットに対して暗号化処理を行うことで、その暗号を解読できる特定視聴者のみが視聴できるようになる。暗号を解読して映像や音声を視聴するために、視聴者はデスクランブラと呼ばれるデバイスを用いて暗号解除を行う。例えば、OCAP対応の端末装置は、デスクランブラを内蔵したカード型のアダプタを利用する。ケーブルテレビのオペレータは、視聴者ごとに特定のプログラムを解読できるように設定したアダプタを配布し、視聴者はそのアダプタを端末装置に挿入する。すると、アダプタは、暗号解除鍵等の暗号解除情報や各契約者の契約情報を元に、特定のプログラムに関して暗号を解除する。暗号解除の方式や、暗号解除鍵の入手方法はアダプタ依存であり、本発明の実現には影響しない。
ここまでMPEG2仕様に関する簡単な説明を行ったが、ここで、単語の詳細な定義を行う。本発明に関して、「プログラム」という単語が二種類存在する。一つはMPEG2仕様に登場する「プログラム」であり、もう一つはCPUが実行するコードの集合という意味での「プログラム」である。前者に関しては、運用規定で用いられる「サービス」という単語と同義であるため、混乱を避けるため、以降、前者を「サービス」と呼び、後者を単に「プログラム」とよぶ。さらに後者に関して、特にJava言語で記述された「プログラム」を「Javaプログラム」とよぶ。
以上、本発明に関わる、MPEG2仕様にて決定されるいくつかの一般的な情報に関して説明を行った。以降、本実施の形態で用いる放送再生端末に関して詳細に説明する。
図13は、本実施例の放送再生装置の一般的なハードウェア構成を表すブロック図であり、すなわち図1における端末装置A111、端末装置B112、端末装置C113の具体的な内部構成である。1300は放送再生装置であり、チューナ1301、TSデコーダ(TS Demultiplexer)1302、AVデコーダ1303、スピーカ1304、ディスプレイ1305、CPU1306、2次記憶部1307、1次記憶部1308、ROM1309、入力部1310、アダプタ1311で構成される。
チューナ1301は、CPU1306が指定する周波数などのチューニング情報に従って、放送局側システム101から伝送される変調された放送信号を復調するデバイスである。チューナ1301が復調した結果得られるMPEG2トランスポートストリームは、暗号解除機能をもつアダプタ1311を経て、TSデコーダ1302に送信される。
TSデコーダ1302は、CPU1306が指定するPID、セクションフィルタ条件等の指定にもとづいてMPEG2トランスポートストリームから指定条件に合致するPESパケットやMPEG2セクションを選別する機能をもつデバイスである。放送を受信して再生する場合は、アダプタ1311が出力するMPEG2トランスポートストリームがTSデコーダ1302に入力される。
TSデコーダ1302が選別した映像及び音声のPESパケットは、AVデコーダ1303に出力される。また、TSデコーダ1302が選別したMPEG2セクションは、1次記憶部1308にDMA(Direct Memory Access)転送され、CPU1306が実行するプログラムによって利用される。
AVデコーダ1303はエンコードされた映像ESおよび音声ESをデコードする機能をもつデバイスである。AVデコーダはTSデコーダから転送される音声および映像情報を伝送するPESパケットからESを取り出してデコードする。AVデコーダ1303がデコードして得られたaudio信号およびvideo信号は、スピーカ1304、ディスプレイ1305に出力される。
スピーカ1304は、AVデコーダ1303から出力された音声を再生する。
ディスプレイ1305は、AVデコーダ1303から出力された映像を再生する。
ディスプレイ1305は、AVデコーダ1303から出力された映像を再生する。
CPU1306は放送再生装置上で動作するプログラムを実行する。CPU1306は、ROM1309に内臓されるプログラムを実行する。あるいは、放送信号やネットワークよりダウンロードされ1次記憶部1308に保持されているプログラムも実行する。あるいは、放送信号やネットワークよりダウンロードされ2次記憶部1307に保存されているプログラムも実行する。
そして実行するプログラムの指示に従い、チューナ1301、TSデコーダ1302、AVデコーダ1303、スピーカ1304、ディスプレイ1305、2次記憶部1307、1次記憶部1308、ROM1309、入力部1310を制御する。また、CPU1306は端末装置1300内に存在するデバイスだけでなく、アダプタ1311内のデバイスと通信し、アダプタ1311を制御することが可能である。
2次記憶部1307は機器の電源が遮断されても記憶が消去されない記憶装置である。例えばFLASH−ROM等の不揮発性メモリ、HDD(Hard Disk Drive)、CD−RやDVD−R等の書き込み可能のメディア等、端末装置1300の電源断の際にも情報が消去されない機器によって構成され、CPU1306の指示により情報の保存を行う。
1次記憶部1308は、CPU1306やDMA転送可能なデバイスの指示に従って情報を一時的に保存する機能をもつデバイスであり、RAM等によって構成される。
ROM1309は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVD等で構成される。ROM1309には、CPU1306が実行するプログラムやその実行に必要なデータ等が格納されている。
入力部1310は、具体的には、フロントパネルやリモコン受信機で構成され、ユーザからの入力を受け付ける。図14は、フロントパネルで入力部1310を構成した場合の一例である。フロントパネル1400は七つのボタン、上カーソルボタン1401、下カーソルボタン1402、左カーソルボタン1403、右カーソルボタン1404、OKボタン1405、取消ボタン1406、EPGボタン1407、モード切換ボタン1408、電源ボタン1409を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、CPU1306に通知される。
アダプタ1311は、放送周波数帯で伝送されるMPEG2トランスポートストリームにかけられた暗号を解除する装置で、1つ以上のデスクランブラを搭載する。アダプタ1311にはチューナ1301が出力するMPEG2トランスポートストリームが入力され、CPU1306が指定したPIDをもつTSパケットに対して暗号解除を行う。アダプタ1311は、暗号を解除したMPEG2トランスポートストリームをTSデコーダ1302に出力する。アダプタ1311の具体例としては、米国ケーブルシステムで利用されるCableCARD、旧名POD(Point Of Deployment)や、欧州放送システムで利用されるDVB−CIが挙げられる。
ここで、放送波に含まれるサービスを再生する動作について述べる。
図15に、サービスの記録時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。1500は端末装置であり、チューナ1301、アダプタ1311、デスクランブラ1501、TSデコーダ1302、PIDフィルタ1502、セクションフィルタ1503、AVデコーダ1303、1次記憶部1308をもつ。図15の構成要素のうち、図13の構成要素と同一符号を持つものは、それらと同等の機能をもつため、説明を省略する。
図15に、サービスの記録時における、各デバイスの物理的な接続順序と処理内容、入出力のデータ形式を表現する概念図を示す。1500は端末装置であり、チューナ1301、アダプタ1311、デスクランブラ1501、TSデコーダ1302、PIDフィルタ1502、セクションフィルタ1503、AVデコーダ1303、1次記憶部1308をもつ。図15の構成要素のうち、図13の構成要素と同一符号を持つものは、それらと同等の機能をもつため、説明を省略する。
まずCPU1306が指定したチューニング指示に従って、チューナ1301が放送波をチューニングする。チューナ1301は、放送波を復調し、アダプタ1311にMPEG2トランスポートストリームを入力する。
アダプタ1311内にあるデスクランブラ1501は、視聴者ごとの限定解除情報に基づいて、MPEG2トランスポートストリームの暗号解除を行う。暗号解除されたMPEG2トランスポートストリームは、TSデコーダに入力される。
TSデコーダ1302内にはMPEG2トランスポートストリームに対して処理を行う2種類のデバイス、PIDフィルタ1502、セクションフィルタ1503が存在する。
PIDフィルタ1502は、入力されたMPEG2トランスポートストリームから、CPU1306が指定したPIDをもつTSパケットを抽出し、さらにそのペイロードに存在するPESパケットやMPEG2セクションを抽出する。例えば、CPU1306がPID=100のTSパケットを抽出するPIDフィルタリングを指示した場に図6のMPEG2トランスポートストリームが入力されたとすると、パケット601及び603が抽出されて更に連結され、映像1のPESパケットが再構成される。あるいは、CPU1306がPID=200のTSパケットを抽出するPIDフィルタリングを指示した場に図6のMPEG2トランスポートストリームが入力されたとすると、パケット602及び605が抽出されて更に連結され、データ1のMPEGセクションが再構成される。
セクションフィルタ1503は、入力されたMPEG2セクションの中から、CPU1306が指定するセクションフィルタ条件に合致するMPEG2セクションを抽出し、1次記憶部1308にDMA転送する。例えば、CPU1306はPID=200のTSパケットを抽出するPIDフィルタリングとtable_idが64であるセクションを抽出するセクションフィルタリングをセクションフィルタ1503に対して指定したとする。先に述べたように、データ1のMPEG2セクションが再構成された後、セクションフィルタ1503はそのMPEG2セクションの中からtable_idが64であるセクションのみを抽出し、1次記憶部1308にDMA転送する。
1次記憶部1308に入力されたMPEG2セクションは、多重器1313に入力される。
TSデコーダ1302によって抽出された映像PESパケットと音声PESパケットは、AVデコーダ1303に入力される。
AVデコーダ1303に入力された映像PESと音声PESは、デコードされてaudio信号およびvideo信号が出力される。その後、audio信号およびvideo信号はディスプレイ1305およびスピーカ1304に入力され、映像および音声が再生される。
1次記憶部1308に入力されたMPEG2セクションは、適宜CPU1306に入力される。
ここまでは、本発明に関するハードウェアの構成例に関して述べたが、以降、本発明に係るJavaプログラムによるサービスの選択履歴制御に関して説明する。
図16は、サービスの再生に必要とされるプログラムの構成図であり、ROM1309に記憶されているソフトウエアである。
プログラム1600は、サブプログラムであるOS1601、EPG1602、JavaVM1603、サービスマネージャ1604、Javaライブラリ1605、サービス履歴マネージャ1606で構成される。
OS1601は、オペレーティングシステム(Operating System)であり、Linux、Windows(登録商標)等が一例である。OS1601は、他のサブプログラム、例えばEPG1602とJavaVM1603を実行するためのカーネル1601aと、サブプログラムが端末装置1300の構成要素を制御するために利用するライブラリ1601bで構成される。カーネル1601aは公知技術であり、詳細な説明は省略する。
ライブラリ1601bは、例えばチューナ1301を制御するチューニング機能を提供する。ライブラリ1601bは、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをチューナ1301に引き渡す。チューナ1301は与えられたチューニング情報にもとづき復調処理を行い、復調したMPEG2トランスポートストリームをTSデコーダ1302に引き渡すことができる。この結果、他のサブプログラムはライブラリ1601cを通してチューナ1301を制御することができる。
また、ライブラリ1601bは、チャンネルを一意に識別するためのチャンネル情報を提供する。チャンネル情報の一例を図17に示す。チャンネル情報は放送周波数帯を利用して送信され、放送端末によって受信されて解析し、ライブラリ1601bがアクセス可能な一時記憶部に格納される。チャンネル情報の形式は公知の情報であり、その解析方法は本発明と関連性が薄いため詳述しない。
列1701は、チャンネル識別子で、例えば、SCTE 65 Service Information Delivered Out−Of−Band For Digital Cable Televisionで定義されるsource_IDが相当する。
列1702は、チャンネル名であり、同SCTE 65規格ではsource_nameなどに相当する。列1703はチューニング情報であり、周波数や転送レート、変調方式といったチューナ1301に与える情報である。列1704はPMTを指定するためのプログラムナンバーである。例えば、行1711はチャンネル識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「150MHz」、プログラムナンバーが「101」であるサービス情報の組となっている。
JavaVM1603は、Java(登録商標)言語で記述された1以上のプログラムを逐次解析し実行するJavaバーチャルマシンである。Java言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Javaバーチャルマシンは、このバイトコードを実行するインタープリタである。JavaVM1603は、Java言語で記述されたJavaライブラリ1605を実行する。Java言語やJavaVMの詳細は、書籍「Java Language Specification(ISBN 0−201−63451−1)」や「Java Virtual Machine Specification(ISBN 0−201−63451―X)」等で参照可能である。
また、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しては、書籍「Java Native Interface」等を参照のこと。また、マルチスレッド管理により、複数のプログラムを並列的に動作させることが可能である。
Javaライブラリ1605は、Javaプログラムが放送再生装置の機能を制御するために呼び出すJava言語で記述されたライブラリである。ただし、必要に応じて、OS1601のライブラリ1601bなど非Java言語で記述されたサブプログラムを利用することもある。Javaプログラムは、Javaライブラリ1605が持つJava API(アプリケーションプログラミングインタフェース)を呼び出すことで、Javaライブラリ1605が提供する機能を利用できる。
Tuner1605cは、放送再生端末のチューナ1301を制御するためのJavaライブラリである。JavaプログラムがTuner1605cにチューニング情報を渡すと、Tuner1605cはそれを用いてライブラリ1601bのチューナ機能を呼び出し、結果、放送再生端末のチューナ1301の動作を制御できる。
SF1605eは、放送再生端末のPIDフィルタ1502及びセクションフィルタ1503機能を制御するためのJavaライブラリである。JavaプログラムがSF1605eにPIDやtable_idなどのフィルタ条件を渡すと、SF1605eはその条件を元にライブラリ1601bの機能などを用いてPIDフィルタ1502及びセクションフィルタ1503を制御し、所望のフィルタ条件に叶うMPEG2セクションを取得して、フィルタ条件を設定したJavaプログラムに渡す。
DSM−CC1605dは、DSM−CCオブジェクトカルーセルのファイルシステムにアクセスするためのJavaライブラリである。DSM−CCオブジェクトカルーセルは、SF1605eによって取得されるMPEG2セクションが内包している。DSM−CCは、ISO/IEC13818−6規格で定義されており、MPEG2セクションを利用して任意のファイルを伝送するための仕組みである。これを利用することで、放送局から端末にファイルを伝送することができる。DSM−CCの詳細な実現方法は本発明とは関係ないため、説明を省略する。
サービスマネージャ管理1605fは、サービスマネージャ1604に対し、サービスの再生を依頼するためのJavaライブラリである。JavaVM1603によって実行されるJavaプログラムはサービスマネージャ管理1605fを利用することで、サービスの再生をサービスマネージャ1604に依頼する。
サービス履歴取得ライブラリ1605gは、サービスマネージャ1604がこれまでに変更したサービスの履歴を取得するためのJavaライブラリである。JavaVM1603によって実行されるJavaプログラムは、サービス履歴取得ライブラリ1605gを利用することで、過去のサービス変更履歴を取得することができ、履歴情報の解析結果を用いたユーザ特化GUIなどの先進的な振る舞いを実現できる。
サービス履歴取得ライブラリ1605gは、Javaプログラムより利用されると、そのJavaプログラムのJavaプログラム識別子を、後述するサービス履歴マネージャ1606のサービス履歴取得部1606dへ引き渡す。サービス履歴取得部1606dよりサービス履歴が取得できればそれをJavaプログラムへ返し、サービス履歴が取得できずにエラーが返れば、Javaプログラムへエラーを通知する。
AM1605bは、サービスに含まれるJavaアプリケーションの実行や終了を管理する機能を提供するアプリケーションマネージャである。AM1605bは指定されたMPEG2トランスポートストリームの指定されたチャンネルに多重されたJavaプログラムを抽出し、その抽出したJavaプログラムを別途多重された同期情報に従って実行したり、あるいは終了させたりする。
JavaプログラムのJavaクラスファイルは、前述のDSM―CC方式でMPEG2トランスポートストリームに多重されている。また、Javaプログラムの同期情報はAITと呼ばれる形式で、MPEG2トランスポートストリームに多重されている。AITは、DVB−MHP規格(ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている、Application Information Tableの略であり、table_idが「0x74」であるMPEG2セクションである。
AM1605bの入力は、MPEG2トランスポートストリームとチャンネル識別子である。まず、AM1605bは、指定されたチャンネル識別子をキーとしてライブラリ1601bのチャンネル情報を検索し、プログラムナンバーを得る。次にSF1605eなどを利用して、MPEG2トランスポートストリームからPATを取得する。さらにPMTの情報から、先ほど得られたプログラムナンバーに対応するPMTのPIDが得られる。再度SF1605eを利用して、実際のPMTを取得する。取得されたPMTは図11の形式をしており、ストリーム種別が「データ」で補足情報として「AIT」をもつエレメンタリーストリームのPIDが書かれている。更にSF1605eに、フィルタリング条件として今得られたAITのPIDとtable_id「0x74」を与えると、AITの実体が得られる。
図18は、AITの情報の一例を模式的に表した表である。AITバージョン1800は、そのAITのバージョンを表現する。AITバージョンが大きいほど、そのAITはより新しいAITである。等しいAITバージョンをもつAITは繰り返し受信されるが、AM1605bはすでに解析したAITと等しいAITバージョンをもつAITは解析せず、すでに解析したAITよりも新しいAITのみを解析して、それに対応した処理をする。列1801はJavaプログラムの識別子である。
列1802はJavaプログラムの制御情報である。制御情報には「autostart」「present」「kill」等があり、「autostart」は即時に端末装置1300がこのJavaプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はJavaプログラムを停止することを意味する。列1803は、DSM―CC方式でJavaプログラムを含んでいるPIDを抽出するためのDSM―CC識別子である。列1804はJavaプログラムのプログラム名である。
行1811、行1812、行1813、行1814は、Javaプログラムの情報の組である。行1811で定義されるJavaプログラムは、Javaプログラムの識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。同様に、行1812で定義されるJavaプログラムは、Javaプログラムの識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。
ここで、行1811、行1812、行1814で定義される3つのJavaプログラムは同一のDSMCC識別子をもつが、これは1つのDSMCC方式でエンコードされたファイルシステム内に3つのJavaプログラムが含まれていることを表す。ここでは、Javaプログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM1605bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子およびJavaプログラム名を抽出する。図18を参照して、AM1605bは行1811のJavaプログラムを抽出し、DSMCC識別子「1」およびJavaプログラム名「a/TopXlet」を取得する。次いでAM1605bは、AITから取得したDSMCC識別子を用いて、JavaプログラムをDSMCC方式で格納しているTSパケットのPIDをPMTから取得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリーストリームのPIDを取得する。ここで、DSMCC識別子が「1」であり、PMTが図11とすると、行1114のエレメンタリーストリームが合致し、PID「5014」を取り出す。
AM1605bは、SF1605eに、DSMCC方式でデータが埋めこまれたMPEG2セクションを伝送するTSパケットのPIDおよびセクションフィルタ条件を指定する。ここでは、PID「5014」を与える。この結果、AM1605bは、必要なDSMCC用MPEG2セクションを収集することができる。AM1605bは、収集したMPEG2セクションから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部1308に保存する。MPEG2トランスポートストリーム中のTSパケットからファイルシステム等のデータを取り出し1次記憶部1308、2次記憶部1307等の記憶手段に保存することを以降、ダウンロードとよぶ。
図19は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、1901はルートディレクトリ、1902はディレクトリ「a」、1903はディレクトリ「b」、1904はファイル「TopXlet.class」、1905はファイル「GameXlet.class」、1906はディレクトリ「z」、1907はファイル「MusicXlet.class」、1908はファイル「StudyXlet.class」である。
次いでAM1605bは、1次記憶部1308にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1603に引き渡す。ここで、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図19を参照して、ファイル1904が実行すべきJavaプログラムである。次いでAM1605bは、ファイル1904をJavaVM1603に引き渡すと、そのファイルはJavaプログラムとしてJavaVM上で実行される。
AM1605bは、新しいAITバージョンを持つAITが来る度にそのAITを解析してJavaプログラムの実行状態を変更させる。ここで、制御情報に「kill」が指定されていた場合は、Javaプログラムを終了させる。
JMF1605aは、サービスに含まれる映像と音声の再生制御を担う。具体的には、指定されたMPEG2トランスポートストリームの指定されたチャンネルに多重された映像ESと音声ESをAVデコーダに入力して再生させる。受信した放送波から直接サービスを再生する場合は、アダプタ1311から出力されるMPEG2トランスポートストリームを再生するように指定される。一方、2次記憶部1307に一旦記録されたサービスを再生する場合は、2次記憶部1307内の記録領域1504から出力されるMPEG2トランスポートストリームを再生するように指定される。
まず、JMF1605aは、指定されたチャンネル識別子をキーとしてライブラリ1601bのチャンネル情報を検索し、プログラムナンバーを得る。次にSF1605eなどを利用して、MPEG2トランスポートストリームからPATを取得する。さらにPMTの情報から、先ほど得られたプログラムナンバーに対応するPMTのPIDが得られる。再度SF1605eを利用して、実際のPMTを取得する。取得されたPMTは図11の形式をしており、ストリーム種別が「映像」及び「音声」であるエレメンタリーストリームのPIDが書かれている。
JMF1605aが、それらのPIDをTSデコーダ1302のPIDフィルタ1502に設定すると、図15に示されたごとく、該当PIDで多重されている映像ESと音声ESがAVデコーダ1303経由で再生される。
サービス履歴マネージャ1606は、サービスマネージャが変更したサービスの履歴を管理する。図20にサービス履歴マネージャの内部構成図を示す。
サービス履歴管理表1606aはサービス履歴を保持する。図21にサービス履歴管理表1606aの記録方式を図示する。列2101はサービスマネージャが再生開始したサービスを識別するチャンネル識別子を保持し、列2102は再生開始時刻を保持する。行2111及び行2112はそのエントリを表現する。サービス履歴管理表は2次記憶1307上に管理される。
履歴取得可能アプリ管理表1606bはサービス履歴を取得可能なアプリケーションのJavaプログラム識別子を保持する。図22は履歴取得可能アプリ管理表1606bの記録方式を図示する。列2201は履歴取得が可能なアプリのJavaプログラム識別子を保持する。行2211及び行2212はそのエントリを表現する。本実施の形態では、履歴取得可能アプリ管理表1606bは、Javaプログラムに付与された権利(パーミッション)情報から構成される。これは端末1300の起動時に生成され2次記憶部1307や1次記憶部1308に記録されることもあれば、読み出し時に動的に生成される場合もある。
サービス履歴登録部1606cは、サービス履歴管理表1606aを更新する。図23にサービス履歴登録部1606cの動作シーケンスを図示する。まず手続きS2301にて、チャンネル識別子を受け取り、手続きS2302にて、受け取ったチャンネル識別子と現在時刻を組にして、サービス履歴管理表にエントリを追加する。
サービス履歴取得部1606dは、サービス履歴管理表1606aが管理するサービス履歴を取得する。図24にサービス履歴取得部1606dの動作シーケンスを図示する。手続きS2401でJavaプログラム識別子を受け取り、手続きS2402でそのJavaプログラム識別子が履歴取得可能アプリ管理表1606bに記載されているかどうか調べる。記載されていれば、手続きS2403に進み、サービス履歴管理表1606aを参照してサービス履歴を取得して返す。
ここでサービス履歴は、記載されていなければ、手続きS2404に進んで、エラーを返して終了する。なお、サービス履歴取得部1606dが返すサービス履歴は、サービス履歴管理表1606aが管理する情報で、具体的には各エントリが保持する情報全てを指すが、このうちの一部を返す、という形態であってもよい。さらに、各エントリが保持するサービス再生開始時刻は、一つ前のエントリが保持するサービス再生終了時刻を兼ねるため、各エントリについて、「サービス再生開始時刻」だけでなく参照によって求めた「サービス再生終了時刻」をも返す、という形態であってもよい。
サービスマネージャ1604は、放送信号に含まれるサービスの再生を行うソフトウェアである。以下に、チューナ1301から入力されるMPEG2トランスポートストリーム中のサービスの再生を行う場合の振舞いを説明する。これは、放送波から直接サービスを再生することに相当する。この場合、サービスマネージャ1604は、再生対象サービスのチャンネル識別子を入力とする。
サービスマネージャ1604は、ライブラリ1601bを利用して入力されたチャンネル識別子に対応するチャンネル情報を取得し、チューニング情報を得る。それをTuner1605cに引き渡し、チューナ1301からアダプタ1311に対してMPEG2トランスポートストリームが入力されるように設定する。次に図15のアダプタ1311から出力されるMPEG2トランスポートストリームをTSデコーダ1302に出力するように、ライブラリ1601bを通して指示する。
その後、JMF1605aにMPEG2トランスポートストリームの所在としてアダプタ1311を与え、また再生すべきチャンネル識別子を与える。すると、JMF1605aは、既に述べた動作によって、アダプタ1311から出力されるMPEG2トランスポートストリームに多重された映像と音声の再生を開始する。
更に、AM1605bにもMPEG2トランスポートストリームの所在としてアダプタ1311を与え、また再生すべきチャンネル識別子を与える。すると、AM1605bはアダプタ1311から出力されるMPEG2トランスポートストリームに多重されたAITに従って、2次記憶部1307から出力されるMPEG2トランスポートストリームに多重されたJavaプログラムの実行及び終了を開始する。
最後に、サービスマネージャ1604はサービス履歴マネージャ1606のサービス履歴登録部1606cにチャンネル識別子を引き渡す。サービス履歴登録部1606cは前述の方法でサービス履歴管理表1606aに履歴を追加する。
EPG1602は、電子番組表(Electric Program Guideの略)であり、再生の対象とする番組をユーザに選択させる機能である。放送波を受信してサービスを再生する場合、EPG1602は、放送番組一覧を表示してユーザに希望のチャンネルを選択させる。
図25は、再生対象とするチャンネルを選択させるための画面表示の一例である。時刻2501とチャンネル2502と2503が格子状に表示され、各時刻で記録可能な各チャンネルの番組を一覧できる。ユーザは端末装置1300の入力部1310に備わっている上下左右カーソルボタン1401〜1404を用いて画面上のフォーカス2530を移動させることができる。図26は、フォーカス2530が移動した例である。更にOKボタン1405を押下すると、現在フォーカスが当たっている番組を再生するチャンネルが再生対象として選択される。EPG1602は当該番組のチャンネル識別子をライブラリから取得して知っており、ユーザによって再生対象チャンネルが選択されると、当該チャンネルのチャンネル識別子をサービスマネージャ1604に通知する。 サービスマネージャ1604は、そのチャンネル識別子に基づいて、前述した方法でサービスを再生する。
以上、説明した動作により、Javaプログラムはサービスマネージャ1604が再生開始したサービスの履歴を、サービス履歴取得ライブラリ1605gを利用して取得することが可能となる。
(実施の形態2)
本実施の形態2では、履歴取得可能アプリ管理表1606bにJavaプログラムを登録、及び登録削除する機能を付与する。
本実施の形態2では、履歴取得可能アプリ管理表1606bにJavaプログラムを登録、及び登録削除する機能を付与する。
図27は本実施の形態におけるサービス履歴マネージャ1606の内部構成図である。前述した構成要素に関しては説明を割愛する。
履歴取得可能アプリ登録部1606eはJavaプログラム識別子を入力とし、履歴取得可能アプリ管理表1606bに、入力されたJavaプログラム識別子を登録する。
履歴取得可能アプリ登録削除部1606fはJavaプログラム識別子を入力とし、履歴取得可能アプリ管理表1606bより、入力されたJavaプログラム識別子を削除する。
図28は本実施の形態におけるプログラムの構成図である。前述した構成要素に関しては説明を割愛する。
サービス履歴取得アプリ登録ライブラリ1605hは、JavaプログラムよりJavaプログラム識別子を引数として利用されると、サービス履歴マネージャ1606内の履歴取得許可アプリ登録部1606eに対してJavaプログラム識別子を引き渡す。
サービス履歴取得アプリ登録削除ライブラリ1605iは、JavaプログラムよりJavaプログラム識別子を引数として利用されると、サービス履歴マネージャ1606内の履歴取得許可アプリ登録削除部1606fに対してJavaプログラム識別子を引き渡す。
以上、詳述した操作により、端末1300は、Javaプログラムに対して、サービス履歴を取得可能なアプリを動的に変更する機能を提供する。
(実施の形態3)
本実施の形態3では、特定のJavaプログラムが行ったサービス選択の履歴を選択的に提供する端末1300を実現する。
本実施の形態3では、特定のJavaプログラムが行ったサービス選択の履歴を選択的に提供する端末1300を実現する。
本実施の形態におけるサービス履歴管理表1606aを図29に図示する。前述した構成要素に関しては説明を割愛する。列2903はJavaプログラム識別子である。これはサービスマネージャ制御ライブラリ1605fを利用して、サービスマネージャ1604にサービス再生開始の指令を行ったJavaプログラムの識別子である。
本実施の形態におけるサービス履歴登録部1606cの動作シーケンスを図30に表す。手続きSY2601にてJavaプログラム識別子及びチャンネル識別子を受け取ると、手続きSY2602にて、Javaプログラム識別子、チャンネル識別子及び現在時刻を組にして、サービス履歴管理表1606aにエントリを追加する。
本実施の形態におけるサービス履歴取得部1606dの動作シーケンスを図31に表す。手続きS3101で履歴取得元Javaプログラム識別子及び履歴取得先Javaプログラム識別子を受け取る。手続きS3102でその履歴取得元Javaプログラム識別子が履歴取得可能アプリ管理表1606bに記載されているかどうか調べる。記載されていれば、手続きS3103に進み、サービス履歴管理表1606aを参照し、履歴取得先Javaプログラム識別子と列2903のJavaプログラム識別子が合致したサービス履歴エントリのみを取得して返す。記載されていなければ、手続きS3104に進んで、エラーを返して終了する。
サービス履歴取得ライブラリ1605gは、Javaプログラムより、履歴取得先Javaプログラム識別子を受け取ると、受け取った履歴取得先Javaプログラム識別子、及び当該アプリのJavaプログラム識別子を履歴取得元Javaプログラム識別子として、サービス履歴マネージャ1606のサービス履歴取得部1606dに引き渡し、サービス履歴が取得できればそれをJavaプログラムに返し、エラーであればそれをJavaプログラムに通知する。
上述により、サービス履歴取得を許可されたJavaプログラムは、特定のJavaプログラムが行ったサービス履歴のみを取得することが可能となる。
なお、本実施の形態では、サービス履歴取得部1606dは、履歴取得先のJavaプログラム識別子を受け取り、それを検索条件としてS3103で合致するサービス履歴管理表1606aのエントリを求め、サービス履歴として提供するが、さらにサービス履歴管理表1606aの列が表す項目を検索条件として指定する形態であってもよい。
例えば、開始時間を指定して、それ以降のエントリを求める、チャンネル識別子を指定して合致するエントリのみ求める、などが想定される。さらに単一の検索条件だけでなく複数の条件の組合せであってもよい。例えば、あるJavaプログラム識別子と開始時間指定して、対応するJavaプログラムが指定開始時間以降に行ったエントリをまとめたサービス履歴を求める、などが想定される。
(実施の形態4)
本実施の形態では、サービス履歴のサイズの肥大化を防ぐため、サービス履歴管理表の最大サイズを決める機能をJavaプログラムに提供する端末1300を実現する。
本実施の形態では、サービス履歴のサイズの肥大化を防ぐため、サービス履歴管理表の最大サイズを決める機能をJavaプログラムに提供する端末1300を実現する。
図32は本実施の形態における、サービス履歴マネージャ1606の内部構成図である。前述した構成要素に関しては、動作に変更がない限り説明は省略する。
サービス履歴最大数管理表1606kはサービス履歴管理表1606aが管理するサービス履歴エントリの最大数を保持する。サービス履歴最大数管理表1606kは2次記憶部1307や1次記憶部1308上の領域として実現される。図33はサービス履歴最大数管理表1606kを図示したものである。サービス履歴最大数管理表1606kはサービス履歴の最大数のみを保持する。図33の場合は“100”である。
サービス履歴最大数登録部1606jはサービス履歴最大数管理表1606kが管理するサービス履歴エントリの最大数を変更する機能を持つライブラリである。図34にサービス履歴最大数登録部1606jの動作シーケンスを図示する。手続きS3401にて新規サービス履歴最大数を受け取ると、手続きS3402にてサービス履歴最大数管理表1606kを上書きする。その後、手続きS3403にて、新規サービス履歴最大数を超えるエントリが、既にサービス履歴管理表1606aに存在するかどうか調べ、もしあれば、新規サービス履歴最大数と、サービス履歴管理表1606aのエントリ数が等しくなるまで、古い順にエントリを削除する(S3404)。
図35は、本実施の形態におけるサービス履歴登録部1606cの動作シーケンスを図示したものである。手続きS3501にてチャンネル識別子を受け取る。手続きS3402にて、サービス履歴最大数管理表1606kが管理するサービス履歴最大数と、サービス履歴管理表1606aに記載されるエントリ数を比較し、数が等しい場合は手続きS3503にてサービス履歴管理表1606aに記載されるエントリのうち、最も古いものを1つ削除する。その後、手続きS3504にて、手続きS3501にて受け取ったチャンネル識別子と現在時刻を組にして、サービス履歴管理表1606aに追加する。
図36は本実施の形態におけるプログラム構成図である。前述した構成要素に関しては説明を割愛する。
サービス履歴最大数登録ライブラリ1605zは、Javaプログラムにサービス履歴最大数の変更機能を提供するためのライブラリである。入力としてサービス履歴最大数を受け取り、サービス履歴マネージャ1606のサービス履歴最大数登録部1606jに、受け取ったサービス履歴最大数を引き渡す。
上述の動作により、Javaプログラムが、サービス履歴管理表1606aに登録されるサービス履歴エントリの数を制限できる。
なお、本実施の形態ではエントリの数で最大数を制限するが、サービス履歴管理表1606aの最大サイズによって制限してもよい。
(実施の形態5)
本実施の形態では、サービス履歴を削除する機能をJavaプログラムに提供する。
本実施の形態では、サービス履歴を削除する機能をJavaプログラムに提供する。
図37は、本実施の形態におけるサービス履歴マネージャ1606の内部構成図である。前述の構成要素は説明を割愛する。
サービス履歴削除部1606zは、サービス履歴管理表1606aが保持するサービス履歴のエントリを全て削除するライブラリである。
図38は、本実施の形態におけるプログラム構成図である。前述の構成要素は説明を割愛する。
サービス履歴削除ライブラリ1605yは、Javaプログラムに呼ばれると、サービス履歴マネージャ1606内のサービス履歴削除部1606zにサービス履歴の削除を指令する。
上述により、サービス履歴を削除する機能をJavaプログラムに提供する。
なお、本実施の形態ではサービス履歴削除部1606zはサービス履歴管理表1606aが管理するサービス履歴の全エントリを一括削除するが、サービス履歴削除部1606zに対して検索条件を引き渡し、それに合致するエントリのみ削除する、という形態も考えられる。例えば、再生開始時刻が2004年1月1日0:00以前のもの、などである。サービス履歴管理表1606aの列が表現する項目であれば検索条件になりうる。その場合、単一の項目を検索条件としてもよいし、複数の項目の組合せを検索条件としてもよい。さらに、指定した検索条件に合致しないエントリのみ削除する、という形態であってもよい。
なお、本実施の形態ではサービス履歴削除部1606zはサービス履歴管理表1606aが管理するサービス履歴の全エントリを一括削除するが、サービス履歴削除部1606zに対して検索条件を引き渡し、それに合致するエントリのみ削除する、という形態も考えられる。例えば、再生開始時刻が2004年1月1日0:00以前のもの、などである。サービス履歴管理表1606aの列が表現する項目であれば検索条件になりうる。その場合、単一の項目を検索条件としてもよいし、複数の項目の組合せを検索条件としてもよい。さらに、指定した検索条件に合致しないエントリのみ削除する、という形態であってもよい。
(実施の形態6)
本実施の形態では、特定のアプリが行ったチャンネル変更のみがサービス履歴管理表1606aに登録される、という機構を実現する。
本実施の形態では、特定のアプリが行ったチャンネル変更のみがサービス履歴管理表1606aに登録される、という機構を実現する。
図39は、本実施の形態におけるサービス履歴マネージャ1606の内部構成図である。前述した構成要素で、特に動作が変わらないものは説明を割愛する。
履歴記録アプリ管理表1606mは、サービス履歴を記録するアプリのJavaプログラム識別子を保持する。履歴記録アプリ管理表1606mは2次記憶部1307または1次記憶部1308に確保される領域として実現される。図40は履歴記録アプリ管理表1606mの一例である。この場合、行4011及び行4012はエントリを表現している。行4011で表現されるエントリはJavaプログラム識別子“10”を保持し、行4012で表現されるエントリはJavaプログラム識別子“20”を保持している。
履歴記録アプリ登録部1606lは、サービス履歴を記録するアプリのJavaプログラム識別子を登録する。図41は履歴記録アプリ登録部1606lの動作シーケンスである。手続きS4101にて、Javaプログラム識別子を受け取ると、手続きS4102にて、Javaプログラム識別子を履歴記録アプリ管理表に追加する。
図42に、本実施の形態におけるサービス履歴登録部1606cの動作シーケンスを表す。手続きS4201にてJavaプログラム識別子とチャンネル識別子を受け取ると、手続きS4202にて受け取ったJavaプログラム識別子が履歴記録アプリ管理表に記載しているかどうか調査する。もしも記載されていた場合は、手続きS4203に進み、Javaプログラム識別子、チャンネル識別子、現在時刻を組にして、サービス履歴管理表1606aにエントリを追加する。
本実施の形態におけるサービス履歴管理表1606aは図29と同様である。
図43に、本実施の形態におけるプログラム構成図を示す。前述した構成要素に関しては説明を割愛する。
図43に、本実施の形態におけるプログラム構成図を示す。前述した構成要素に関しては説明を割愛する。
履歴記録アプリ登録ライブラリ1605jは、サービス履歴を記録するJavaプログラムを登録するために呼び出される。履歴記録アプリ登録ライブラリは入力としてJavaプログラムより、サービス履歴を記録する対象のJavaプログラムのJavaプログラム識別子を受け取り、それをサービス履歴マネージャ1606の履歴記録アプリ登録部1606lに引き渡す。
上述の動作により、Javaプログラムは、行ったサービス履歴を記録する対象アプリを端末1300に登録することができるようになる。
なお、本実施の形態では、Javaプログラム識別子を記録の条件として利用するが、サービス履歴管理表が保存する別の項目を記録条件として判定に用いてもよい。
(実施の形態7)
本実施の形態では、ザッピングによるサービス履歴は視聴と見なさず、履歴を記録しない。それにより、よりユーザがはっきりと視聴したサービスの履歴のみをJavaプログラムに提供可能となる。
本実施の形態では、ザッピングによるサービス履歴は視聴と見なさず、履歴を記録しない。それにより、よりユーザがはっきりと視聴したサービスの履歴のみをJavaプログラムに提供可能となる。
図44に、本実施の形態におけるサービス履歴マネージャ1606の内部構成図を表す。前述した構成要素に関しては、動作が変更されるもの以外は説明を割愛する。
ザッピングタイムアウト管理表1606oはサービス視聴と判断するための最低時間(ザッピングタイムアウト)を保持する。図45は、ザッピングタイムアウト管理表1606oの一例である。ここでは“2.0”という値を保持する。この場合、サービス選択後、2秒経過しても次のサービス選択が発生しない場合は、それをサービス視聴として認定することを表す。
サービス履歴バッファ1606nは、サービス履歴を一時的に保管するためのバッファであり、一次記憶部1608上の領域として実現される。サービス履歴バッファ1606nは、サービス履歴管理表1606aの1エントリが持つ情報と等しい情報を保管する。図46は本実施の形態におけるサービス履歴バッファ1606nの一例である。列4601はチャンネル識別子、列4604は再生開始時刻である。
サービス履歴タイマ1606pは、本実施の形態では、サービス履歴管理表1606aの更新を行う。サービス履歴タイマ1606pは、能動的に動作するスレッド、プロセス、デーモンなどとして実現される。図47は、サービス履歴タイマ1606pの動作シーケンスである。手続きS4701で、チャンネル識別子の入力を待つ。チャンネル識別子が入力されると、手続きS4702へ進み、チャンネル識別子及び現在時刻を、サービス履歴バッファ1606nに記録する。手続きS4703にてザッピングタイムアウト管理表1606oよりザッピングタイムアウトを取得すると、手続きS4704にて、取得したザッピングタイムアウト分スリープする。
本スリープは外部より中断可能である。ザッピングタイムアウト時間が経過するか、スリープが中断されると、手続きS4705に至り、スリープが中断されたのか、ザッピングタイムアウト時間が経過したのか判定を行う。ザッピングタイムアウト時間が経過していた場合、手続きS4706に至り、サービス履歴バッファ1606nからチャンネル識別子、開始時刻を読み出して組にしてサービス履歴管理表にエントリを追加する。その後、手続きS4707に至り、サービス履歴バッファ1606nのデータを消去する。
手続きS4705の判定にて、中断されていた場合、手続きS4707に至り、サービス履歴バッファ1606nのデータを消去する。その後、手続きS4701に戻り、次のチャンネル識別子の入力を待つ。
本実施の形態におけるサービス履歴登録部1606cは直接サービス履歴管理表1606aの変更を行わない。本実施の形態におけるサービス履歴登録部1606cの動作シーケンスを図48に表す。手続きS4701でチャンネル識別子を受け取ると、手続きS4702にて、サービス履歴タイマ1606pが現在スリープ中かどうか判定する。スリープ中であれば、手続きS4803に至りサービス履歴タイマ1606pのスリープを中断する。スリープ中でなければ手続きS4803を行わない。手続きS4804では、チャンネル識別子をサービス履歴タイマ1606pに入力する。
上述する形態により、本実施の形態では、ザッピングでないサービス視聴の履歴を取得することが可能となる。
(実施の形態8)
実施の形態7では、ザッピングタイムアウトを導入し、ザッピングタイムアウト時間内に再度サービス変更された場合は、ザッピングと見なして、履歴として記録しない。本実施の形態では、ザッピングタイムアウトの時間を変更可能とする。
実施の形態7では、ザッピングタイムアウトを導入し、ザッピングタイムアウト時間内に再度サービス変更された場合は、ザッピングと見なして、履歴として記録しない。本実施の形態では、ザッピングタイムアウトの時間を変更可能とする。
図49は本実施の形態におけるサービス履歴マネージャ1606の内部構成図である。前述の構成要素に関しては説明を割愛する。
ザッピングタイムアウト更新部1606qは、入力を新規ザッピングタイムアウトとし、ザッピングタイムアウト管理表1606oが管理するザッピングタイムアウトを更新する。
図50は、本実施の形態におけるプログラム構成図である。前述の構成要素に関しては説明を割愛する。
ザッピングタイムアウト更新ライブラリ1605lは、ザッピングタイムアウトを更新する際に呼ばれるライブラリである。入力を新規ザッピングタイムアウトとし、入力された新規ザッピングタイムアウトを、サービス履歴マネージャ1606のザッピングタイムアウト更新部1606qに引き渡す。
上述する形態により、本実施の形態では、ザッピングタイムアウトの長さを変更する機能をJavaプログラムに提供することが可能となる。
(実施の形態9)
上述の実施の形態では、サービス履歴を取得したが、本実施の形態では、電源on・off履歴を取得することを可能とする。
上述の実施の形態では、サービス履歴を取得したが、本実施の形態では、電源on・off履歴を取得することを可能とする。
図51は本実施の形態におけるプログラム構成図である。前述した構成要素に関しては説明を割愛する。
電源履歴マネージャ1607は電源のon・off履歴を管理する。図52は電源履歴マネージャ1607の内部構成図である。
電源履歴管理表1607aは電源のon/off履歴を管理する。図53は電源履歴管理表1607aの一例である。列5301は電源on/offを表現する電源フラグである。列5302は時刻を表現する。行5311及び行5312は、情報のエントリである。行5311は、2005年3月30日の11:00に端末1300の電源がonになったことを表し、行5312は2005年4月1日21:00に端末1300の電源がoffになったことを表している。電源履歴管理表1607aは2次記憶部1307上の領域として実現される。
電源履歴取得可能アプリ管理表1607bは電源履歴を取得可能なJavaプログラムのJavaプログラム識別子を保持する。電源履歴取得可能アプリ管理表1607bは1次記憶部1308または2次記憶部1307上の領域として実現される。図54は、電源履歴取得可能アプリ管理表1607bの一例である。列5401は電源履歴取得可能なJavaプログラムのJavaプログラム識別子を表す。行5411及び5412はエントリを表し、例えば行5411ではJavaプログラム識別子が“1”であるJavaプログラムが電源取得可能であることを表し、行5412ではJavaプログラム識別子が“5”であるJavaプログラムが電源取得可能であることを表している。
電源履歴登録部1607cは、電源履歴を電源履歴管理表1607aに追加するライブラリである。図55は電源履歴登録部1607cの動作シーケンス図である。手続きS5501にて電源フラグを受け取ると、手続きS5502にて、電源フラグと現在時刻を組にして電源履歴管理表1607aにエントリを追加する。
電源履歴取得部1607dは、電源履歴管理表1607aが管理する電源履歴を、電源履歴取得可能なJavaプログラムに提供する機能を有するライブラリである。図56は電源履歴取得部1607dの動作シーケンス図である。手続きS5601にてJavaプログラム識別子を受け取ると、手続きS5602に至り、当該Javaプログラム識別子が、電源履歴取得可能アプリ管理表に記載されているかどうか判定を行う。記載されていれば“Yes”へ進んで手続きS5603に至り、電源履歴管理表1607aを参照して電源履歴を取得して返す。記載されていなければ、“No”に進んで手続きS5604に至り、エラーを返す。
電源履歴取得ライブラリ1605mはJavaプログラムが呼び出すライブラリであり、電源履歴を取得する機能を持つ。電源履歴取得ライブラリ1605mは、Javaプログラムに呼ばれると、当該JavaプログラムのJavaプログラム識別子を電源履歴マネージャ1607の電源履歴取得部1607dに引き渡す。電源履歴が返った場合は得られた電源履歴をJavaプログラムに提供する。エラーが返った場合は、Javaプログラムにエラーを通知する。
これにより、電源on/off履歴をJavaプログラムが取得することを可能とし、より高度な機能を実現することが可能となる。
なお、電源履歴取得に関する一連の流れと、サービス履歴取得に関する一連の流れは類似し、サービス履歴取得に関して以前の実施の形態で述べた変化と特徴は、そのまま電源履歴取得に容易に適用・発展可能なものがある。具体的に以下に記す。
実施の形態2で述べた、サービス履歴取得を行うことのできるJavaプログラムを登録する機能に関しては、図57にあるように電源履歴マネージャ1607内に電源履歴取得許可アプリ登録部1607e及び電源履歴取得許可アプリ登録削除部1607fを新設し、さらに図58にあるようにJavaライブラリとして電源履歴取得アプリ登録ライブラリ1605n及び電源履歴取得アプリ登録削除ライブラリ1605oを新設することで電源履歴管理についてもサービス履歴管理同様に発展可能であり、電源履歴を取得可能なJavaプログラムを登録及び登録削除する機能をJavaプログラムに提供できるようになる。
実施の形態4で述べた、サービス履歴の消去に関しては、図59のように電源履歴マネージャ1607内に電源履歴最大数登録部1607j及び電源履歴最大数管理表1607kを新設し、さらに図36のようにJavaライブラリ内に電源履歴最大数登録ライブラリ1605pを新設することで、電源履歴管理に関してもサービス履歴管理同様に発展可能であり、電源履歴の最大数をJavaプログラムが変更できるようになる。
(実施の形態10)
本実施の形態では、サービス選択や電源のみではなくJavaライブラリ1605内の各ライブラリの利用履歴を残し、それを許可されたJavaプログラムが参照する機構を実現する。
本実施の形態では、サービス選択や電源のみではなくJavaライブラリ1605内の各ライブラリの利用履歴を残し、それを許可されたJavaプログラムが参照する機構を実現する。
図60は本実施の形態におけるプログラム構成図である。前述した構成要素に関しては、特に必要がない限り説明は割愛する。
操作履歴マネージャ1608は、Javaライブラリ1605の利用履歴を管理する。端末1300上で動作するプログラムやライブラリとして実現される。
図61は、操作履歴マネージャ1608の内部構成図である。
操作履歴管理表1608aは、Javaライブラリ1605の利用履歴を保持する。2次記憶上1307上の領域として実現される。図62は操作履歴管理表の一例である。列6201は、どのJavaライブラリが呼び出されたのかを表現するライブラリIDである。列6202は各Javaライブラリに対してどのような命令が指令されたのかを表現する操作IDである。列6203は操作の引数である。各操作を実現するAPI呼出しは各々引数の数、形式が互いに異なるのは普通であり、本発明はその形態には依存せず適用可能である。列6204は操作時刻である。列Y7205は操作を行ったJavaプログラムのJavaプログラム識別子である。行6211及び行6212は操作履歴管理表1608aのエントリを表す。
操作履歴管理表1608aは、Javaライブラリ1605の利用履歴を保持する。2次記憶上1307上の領域として実現される。図62は操作履歴管理表の一例である。列6201は、どのJavaライブラリが呼び出されたのかを表現するライブラリIDである。列6202は各Javaライブラリに対してどのような命令が指令されたのかを表現する操作IDである。列6203は操作の引数である。各操作を実現するAPI呼出しは各々引数の数、形式が互いに異なるのは普通であり、本発明はその形態には依存せず適用可能である。列6204は操作時刻である。列Y7205は操作を行ったJavaプログラムのJavaプログラム識別子である。行6211及び行6212は操作履歴管理表1608aのエントリを表す。
例えば、行6211は、2005年3月30日11:00にTunerライブラリ1605cがJavaプログラム識別子“1”を持つJavaプログラムによって利用され、786MHzの周波数にチューニングするよう指令されたことを表現する。また行6212は2005年4月1日21:00にJMFライブラリ1605aがJavaプログラム識別子“5”を持つJavaプログラムによって利用され、PID0x1及びPID0x2のTSパケットが伝送する映像音声を再生するように指令されたことを表現する。
操作履歴取得可能アプリ管理表1608bは、操作履歴を取得可能なJavaプログラムのJavaプログラム識別子を保持する。図63は操作履歴取得可能アプリ管理表1608bの一例である。列6301はJavaプログラム識別子である。行6311及び行6312は、操作履歴取得可能アプリ管理表1608bのエントリを表現する。
操作履歴登録部1608cは操作履歴管理表1608aに操作履歴のエントリを追加するライブラリとして実現される。図64は操作履歴登録部の動作シーケンスである。手続きS6401にてライブラリID、操作ID、引数、Javaプログラム識別子を受け取ると、手続きS6402にてライブラリID、操作ID、引数、現在の時刻、Javaプログラム識別子を組にして、操作履歴管理表1608aにエントリを追加する。
操作履歴取得部1608dは、操作履歴管理表1608aが管理する操作履歴を、操作履歴取得可能なJavaプログラムに提供する機能を有するライブラリである。図65は操作履歴取得部1608dの動作シーケンス図である。手続きS6501にてJavaプログラム識別子を受け取ると、手続きS6502に至り、当該Javaプログラム識別子が、操作履歴取得可能アプリ管理表に記載されているかどうか判定を行う。記載されていれば“Yes”へ進んで手続きS6503に至り、操作履歴管理表1608aを参照して全エントリの全情報を取得し、操作履歴として返す。記載されていなければ、“No”に進んで手続きS6504に至り、エラーを返す。
操作履歴取得ライブラリ1605pはJavaプログラムが呼び出すライブラリであり、操作履歴を取得する機能を持つ。操作履歴取得ライブラリ1605pは、Javaプログラムに呼ばれると、当該JavaプログラムのJavaプログラム識別子を操作履歴マネージャ1608の操作履歴取得部1608dに引き渡す。電源履歴が返った場合は得られた電源履歴をJavaプログラムに提供する。エラーが返った場合は、Javaプログラムにエラーを通知する。
Javaライブラリ1605に属する各Javaライブラリは、JavaプログラムがJavaライブラリを利用した際、自ライブラリIDと指令された命令を表現する操作ID、及び引数、呼び出し元JavaプログラムのJavaプログラム識別子を操作履歴マネージャ1608の操作履歴登録部1608cに引き渡す。これにより操作履歴管理表1608aには操作履歴情報が随時記録されていくことになる。
上述の振る舞いにより、Javaプログラムは操作履歴取得ライブラリ1605pを利用することで、Javaライブラリ1605内の各ライブラリの呼出し履歴を取得し、より高度なユーザ嗜好分析を行うことが可能となる。
なお、Javaライブラリ1605には、実施の形態に記載されたもの以外の機能を持つライブラリが存在しても本発明は適用可能である。代表的な機能として録画、録画コンテンツ再生、グラフィックス制御、電話利用、ネットワーク制御、ファイルIO制御などが挙げられる。さらにここに列挙されないものが存在してもよい。
また、Javaプログラムが取得する操作履歴としてライブラリID、操作ID、引数、操作時刻、Javaプログラム識別子としているが、そのうちの任意の組合せでもよい。その場合、操作履歴取得ライブラリ1605pが所望の組合せを入力として受け取り、操作取得履歴取得部1608dから得られた情報の中から所望の組合せを抽出し、Javaプログラムに提供する。
また、操作履歴管理表1608aはライブラリID、操作ID、引数、操作時刻、Javaプログラム識別子を保持しているが、このサブセットを記録する形式であってもよい。この場合、Javaプログラムが得られる情報の種類は減少するが、発明自体は適用可能である。
なお、本実施の形態では全てのJavaライブラリ1605が操作履歴を記録するが、予め決められた1以上のJavaライブラリ1605の操作履歴を記録する場合であっても本発明は適用可能である。
(実施の形態11)
本実施の形態では、Javaプログラムが特定のJavaライブラリに関する操作履歴のみ取得することを可能とする。
本実施の形態では、Javaプログラムが特定のJavaライブラリに関する操作履歴のみ取得することを可能とする。
図66は本実施の形態における操作履歴取得部1608dの動作シーケンスである。手続きS6601ではライブラリID及びJavaプログラム識別子を受け取ると、手続きS6602では、当該Javaプログラム識別子が操作履歴取得可能アプリ管理表1608bに記載されているかどうか判定し、記載されていれば手続きS6603に進み、操作履歴管理表1608aより、ライブラリIDが一致するエントリを抽出してそれを操作履歴として返す。記載されてなければS6604に進み、エラーを返す。
操作履歴取得ライブラリ1605pは、ライブラリIDを入力としてJavaプログラムより受け取り、当該JavaプログラムのJavaプログラム識別子と共に操作履歴マネージャ1608の操作履歴取得部1608dに引き渡す。
上述の振る舞いにより、Javaプログラムは所望のライブラリに関する操作履歴のみを取得することが可能となる。
なお、本実施の形態では、ライブラリIDを操作履歴取得部1608dによる操作履歴の検索条件として用いているが、操作履歴管理表1608aが保持する他の項目を検索条件として用いてもよい。
またそれら項目の組合せを検索条件として用いてもよい。例えば、Javaプログラム1がチューナライブラリ1605cを利用した操作履歴を知りたければ、「Javaプログラム1を表現するJavaプログラム識別子」及び「チューナライブラリ1605cのライブラリID」を操作履歴取得ライブラリ1605pに引き渡すと、操作履歴取得ライブラリ1605pは、呼出し元Javaプログラムを表現するJavaプログラム識別子とともにそれら検索条件を操作履歴マネージャ1608の操作履歴取得部1608dに引き渡す。
操作履歴取得部1608dは、手続きS6603において、検索条件として引き渡されたライブラリIDおよびJavaプログラム識別子が等しいエントリのみ操作履歴管理表1608aより抽出し、操作履歴として返す。これにより、Javaプログラムは所望の操作履歴を取得することができる。類例として、操作時間帯を検索条件として指定して取得する「ある時間帯における操作履歴」、ライブラリIDと操作IDを検索条件として指定して取得する「ある操作に特化された操作履歴」などが考えられる。検索条件の数、組合せの種類に関係なく本発明は適用可能である。
(実施の形態12)
実施の形態11では、操作履歴取得時に取得する履歴を選別する方法を実現した。しかし操作履歴管理表1608aは依然として全ての操作を記録するため操作履歴管理表1608aは肥大化する恐れがあった。本実施の形態では、その解決の一つとして、操作履歴を操作履歴管理表1608aに記録する時点で選別する機構を実現する。
実施の形態11では、操作履歴取得時に取得する履歴を選別する方法を実現した。しかし操作履歴管理表1608aは依然として全ての操作を記録するため操作履歴管理表1608aは肥大化する恐れがあった。本実施の形態では、その解決の一つとして、操作履歴を操作履歴管理表1608aに記録する時点で選別する機構を実現する。
図67は本実施の形態における、操作履歴マネージャ1608の内部構成図である。前述した内部構成に関して特に必要のない場合は説明を割愛する。
操作履歴記録条件管理表1608fは、操作履歴管理表1608aに記録する操作履歴を選別するための記録条件を保持する。操作履歴記録条件管理表1608fは2次記憶部1307または1次記憶部1308上の領域として実現される。図68は操作履歴記録条件管理表1608fの一例である。列6801はライブラリIDを表す。列6802は操作IDを表す。列6803は引数を表す。列6804は操作時間帯を表す。
6805はJavaプログラム識別子を表す。行6811及び行6812は操作履歴記録条件管理表1608fのエントリを表す。表内の“*”はその項目には記録判定のための条件が存在しないことを表す。例えば、行6811はライブラリIDが“Tuner”、操作IDが“チューニング”である操作履歴を表す。例えば、行6812は、ライブラリIDが“JMF”、操作時間帯が2005年4月1日21:00から2007年4月1日0:00まで、Javaプログラム識別子が6805である操作履歴を表す。
操作履歴記録条件登録部1608eは操作履歴記録条件管理表1608fに記録条件を記録するライブラリとして実現される。図69は操作履歴記録条件登録部1608eの動作シーケンスである。手続きS6901で記録条件を受け取ると、手続きS6902にて、記録条件を操作履歴記録条件管理表1608fに登録する。
本実施の形態における操作履歴登録部1608cの動作シーケンスを図70に表す。手続きS7001でライブラリID、操作ID、引数、Javaプログラム識別子を受け取ると、手続きS7002では現在の時刻を取得する。S7003に進み、今回受け取った操作履歴が操作履歴記録条件管理表1608fに記載される記録条件のいずれかに合致するかどうか判定を行う。合致する場合、S7004に進み、捜査履歴を操作履歴管理表1608aに追加する。合致しない場合は何もせずに動作を終了する。
図71は本実施の形態におけるプログラム構成図を表す。前述の構成要素に関しては説明を割愛する。
操作履歴記録条件登録ライブラリ1605qは、Javaプログラムより記録条件を受け取ると、その記録条件及び当該JavaプログラムのJavaプログラム識別子を、操作履歴マネージャ1608の操作履歴記録条件登録部に引き渡す。
上述の振る舞いにより、操作履歴記録条件管理表1608fに記載される記録条件に合致する操作履歴のみを操作履歴管理表1608aに記録することが可能となる。
なお、本実施の形態における記録条件は、操作履歴記録条件管理表1608fが管理する列のうち任意の組合せであっても本発明は適用可能である。例えば、Javaプログラム識別子指定のみの記録条件であってもよく、またJavaプログラム識別子及び時間帯指定の記録条件であってもよい。
(実施の形態13)
本実施の形態では操作履歴の消去を実現する。
本実施の形態では操作履歴の消去を実現する。
図72は、本実施の形態における操作履歴マネージャ1608の内部構成図である。前述した構成要素に関しては説明を割愛する。
操作履歴削除部1608gは、操作履歴管理表1608aの全エントリを削除する機能を持つライブラリとして実現される。
図73は、本実施の形態におけるプログラム構成図である。前述した構成要素に関しては説明を割愛する。
操作履歴削除ライブラリ1605rは、Javaプログラムに呼ばれると、操作履歴マネージャ1608の操作履歴削除部1608gに操作履歴管理表1608a内のエントリを削除するように指令を出す。
上述した振る舞いにより、端末1300は、操作履歴管理表1608aが管理する全エントリを削除する機能をJavaプログラムに提供することができる。
なお、本実施の形態では、操作履歴削除部1608gは操作履歴管理表1608aが保持する操作履歴全エントリを一括削除するが、操作履歴削除部1608gに対し、操作履歴の検索条件を指定し、合致エントリするもののみ操作履歴管理表1608aから削除する形態であってもよい。また、合致しないエントリのみ操作履歴管理表1608aから削除する形態であってもよい。
(実施の形態14)
本実施の形態では、操作履歴管理表1608aが保持する操作履歴の最大エントリ数を決定し、それを超えた分は自動的に削除することで、操作履歴管理表1608aの肥大化を防ぐ。
本実施の形態では、操作履歴管理表1608aが保持する操作履歴の最大エントリ数を決定し、それを超えた分は自動的に削除することで、操作履歴管理表1608aの肥大化を防ぐ。
図74に本実施の形態における操作履歴マネージャ1608の内部構成図を表す。前述の構成要素で、必要のないものは説明を割愛する。
操作履歴最大数管理表1608iは、操作履歴管理表1608aが保持する操作履歴エントリの最大数を管理する。操作履歴最大数管理表1608iは2次記憶部1307上の領域として実現される。図75は操作履歴最大数管理表1608iの一例である。操作履歴最大数管理表1608iは一つの数値を保持する領域から構成され、この場合最大数として数値“100”を保持する。
操作履歴最大数登録部1608hは、操作履歴最大数管理表1608iが保持する最大数を変更する機能を持つライブラリとして実現される。図76に操作履歴最大数登録部1608hの動作シーケンスを表す。手続きS7601にて操作履歴エントリの最大数を受け取ると、手続きS7602にて操作履歴エントリの最大数を操作履歴最大数管理表1608iに設定する。その後、手続きS7603に至り、その時点で、新規最大数を上回る数の操作履歴エントリが操作履歴管理表1608aに保持されていた場合、エントリ数=最大数となるまで、古い操作履歴のエントリから削除する。
図77は本実施の形態における操作履歴登録部1608cの動作シーケンスである。手続きS7701にて操作履歴のエントリ構成情報であるライブラリID、操作ID、引数、Javaプログラム識別子を受け取ると、手続きS7702にて操作履歴最大数管理表1608iが管理する最大数と、操作履歴管理表1608aのエントリ数を比較し、等しい場合は手続きS7703にて、操作履歴管理表1608aが管理するエントリのうち、最も古いものを削除する。等しくない場合は、手続きS7703の処理を行わない。その後手続きS7704に至り、操作履歴エントリを操作履歴管理表1608aに追加する。
図78は本実施の形態におけるプログラム構成図である。前述の構成要素は説明を割愛する。
操作履歴最大数登録ライブラリ1605rは、Javaプログラムより新規最大数を引数として呼ばれると、操作履歴マネージャ1608の操作履歴最大数登録部1608hに新規最大数を引き渡す。
上述の動作により、操作履歴管理表1608aが管理するエントリ数の最大数を設定可能である。
なお、本実施の形態では、操作履歴管理表1608aのエントリの数を指定するが、操作履歴管理表1608aが2次記憶部1307上に確保するサイズの最大値を指定する方式であっても、本発明は容易に適用可能である。
(実施の形態15)
本実施の形態では、操作履歴の保持期間を設定し、その期間を経過したエントリは自動的に削除される。
本実施の形態では、操作履歴の保持期間を設定し、その期間を経過したエントリは自動的に削除される。
図79は本実施の形態における操作履歴マネージャ1608の内部構成図である。前述の構成要素は、必要なもの以外は説明を割愛する。
操作履歴保持期間管理表1608kは操作履歴の保持期間を保持する。2次記憶部1307上の領域として実現される。図80は操作履歴保持期間管理表1608kの一例である。この例では、操作履歴の保持期間は10日間である。
操作履歴保持期間登録部1608jは、操作履歴保持期間を設定するライブラリである。図81に操作履歴保持期間登録部1608jの動作シーケンスを表す。手続きS8101にて新規操作履歴保持期間を受け取ると、手続きS8102にて新規操作履歴保持期間を操作履歴保持期間管理表1608kに設定する。
操作履歴古エントリ削除部1608lは、操作履歴保持期間を経過した古いエントリを削除する機能を持つライブラリである。本ライブラリは、タイマ設定により一定時間毎に起動されてもよく、また操作履歴保持期間登録部1608j、操作履歴登録部1608c、操作履歴取得部1608dなどによって起動される形態であってもよい。
図82は、操作履歴古エントリ削除部1608lの動作シーケンスである。手続きS8201にて、操作履歴保持期間管理表1608jより、操作履歴保持期間を取得する。手続きS8202にて、操作履歴管理表1608aが保持する操作履歴のエントリのうち、保持期間を経過したものを削除する。
図83は本実施の形態におけるプログラム構成図である。前述の構成要素に関しては説明を割愛する。
操作履歴保持期間登録ライブラリ1605sは、Javaプログラムより新規操作履歴保持期間を受け取ると、操作履歴マネージャ1608の操作履歴保持期間登録部1608jに、それを引き渡す。
上述の動作により、保持期間が経過した操作履歴を自動的に削除する端末1300を実現できる。
(実施の形態16)
本実施の形態では、操作履歴取得の開始と停止を制御する機能をJavaプログラムに提供する端末装置1300を実現する。
本実施の形態では、操作履歴取得の開始と停止を制御する機能をJavaプログラムに提供する端末装置1300を実現する。
図84は本実施の形態におけるプログラム構成図である。前述した構成要素は説明を割愛する。
履歴取得開始ライブラリ1605tは、呼ばれるとJavaライブラリ1605内のライブラリに対して、「Javaプログラムに利用された際、操作履歴マネージャ1608の操作履歴登録部1608cに操作履歴登録を指令する」ように設定する。
履歴取得停止ライブラリ1605uは、呼ばれるとJavaライブラリ1605内のライブラリに対して、「Javaプログラムに利用されても、操作履歴マネージャ1608の操作履歴登録部1608cに操作履歴登録を指令しない」ように設定する。
これにより、Javaプログラムが一度履歴取得停止ライブラリ1605uを利用すると、その後履歴取得開始ライブラリ1605tが利用されるまで、操作履歴取得が停止される。
(実施の形態17)
本実施の形態では、サービス履歴取得の開始と停止を制御する機能をJavaプログラムに提供する端末装置1300を実現する。
本実施の形態では、サービス履歴取得の開始と停止を制御する機能をJavaプログラムに提供する端末装置1300を実現する。
図85は本実施の形態におけるプログラム構成図である。前述した構成要素は説明を割愛する。
履歴取得開始ライブラリ1605tは、呼ばれるとサービスマネージャ1604に対して、「Javaプログラムに利用された際、サービス履歴マネージャ1606のサービス履歴登録部1606cにサービス履歴登録を指令する」ように設定する。
履歴取得停止ライブラリ1605uは、呼ばれるとJavaライブラリ1605内のライブラリに対して、「Javaプログラムに利用されても、サービス履歴マネージャ1606のサービス履歴登録部1606cにサービス履歴登録を指令しない」ように設定する。
これにより、Javaプログラムが一度履歴取得停止ライブラリ1605uを利用すると、その後履歴取得開始ライブラリ1605tが利用されるまで、サービス履歴取得が停止される。
以上説明したいくつかの実施例は、本発明の実現例を示したものであり、本発明の趣旨が実現される限り他の実現例でも実施可能である。
実施例ではケーブルシステムを対象とした構成を示したが、本発明は放送システムの種類に依存しない。例えば、衛星システム、地上波システム、あるいはIPネットワークを用いた番組配信システムなどにも容易に適応可能である。さらに本発明は各放送システムの違いと直接的な関係を持たないため、放送システムに係らず任意の伝送媒体で適用可能である。有線、無線の違いにも依存しない。
AVデコーダは、必ずしも映像および音声を同時にデコードする必要はない。映像デコーダ、音声デコーダを分離した構成としても、本発明は実現可能である。またAVデコーダがクローズドキャプションなどのデータに対するデコード機能を持っていても差し支えない。AVデコーダによってデコードされたaudio信号およびvideo信号が、記録領域1404に蓄積されるまでの任意の段階において暗号化されてもよい。
実施例では、限定視聴を制御するアダプタを導入した例を示したが、アダプタは本発明を実現するために必ずしも必要ではない。アダプタの形式がいかなるものであってもよいし、またアダプタのない構成とすることも可能である。その場合、図15において、チューナからのMPEG2トランスポートストリームが直接TSデコーダに入力される。この場合も本発明は適用可能である。また、アダプタによる限定視聴解除をTSデコーダ以前に行う必要はない。任意の位置でアダプタを利用して限定視聴を解除する構成とすることは容易であり、その場合も本発明は適用可能である。
AVエンコーダによるaudio信号およびvideo信号のエンコード形式は、任意の形式であってもよい。本発明はいかなるエンコード形式であっても適用可能である。
多重器の多重形式は任意の形式であってもよい。本発明はいかなる多重形式であっても適用可能である。
ディスプレイ及びスピーカは、放送再生装置内部に包含していてもよく、放送再生装置に外部ディスプレイ及びスピーカを接続してもよい。ディスプレイおよびスピーカの存在場所や数によらず、本発明は適用可能である。
CPU自身が、TSデコード、AVデコードのすべてあるいはいくつかの処理を兼用で行うシステムであっても本発明は実施可能である。
一部のJavaバーチャルマシンは、バイトコードをCPUが理解可能な実行形式に翻訳してから、CPUに引渡して実行するが、この場合でも本発明は適用可能である。
また、前述した全ての実施の形態では、一貫して放送波を受信し、放送波から抽出したJavaプログラムを実行する端末に関して述べたが、本発明はJavaプログラムの入手元を放送波に限定せず、例えばHDD(Hard Disk Drive)、光学メディアやネットワーク先であっても適用可能である。まずHDDや光学メディア用ドライブ、半導体ドライブなど、データ読み出し機構を有するハードウェア構成例を図86に示す。前述の構成要素は説明を割愛する。ドライブ8620は、HDDや光学メディアドライブ、半導体メディアドライブなど、固定メディアあるいは可般メディア内のデータを読み込むドライブである。
ドライブ8620はメディアに記録されたデータを読み取って、TSとしてTSデコーダ1302に流し込む。また図87は図86のハードウェア構成時のデータの流れを表した図である。ドライブ8620はTSをTSデコーダ1302に流し込む。以降の処理の流れは同様である。また図88は図86のハードウェア構成時のプログラム構成図である。ドライブ管理1605xはドライブ8620に対し、メディア内部のデータを読み込んでTSデコーダ1302にTSとして流し込むように指令を出すJavaライブラリである。このようにして、ドライブからJavaプログラムを読み込む場合であっても本発明は容易に適用可能である。
またこの場合、Javaプログラムは必ずしもDSM−CCを利用して端末1300に読み込まれなくてもよい。ドライブ8620が内容するメディアに記録されたJavaプログラムはTS形式ではなく、他形式で記録されている場合もあり、それを別の方法で解析して抽出する方法であってもよい。
次にネットワークアダプタを利用する例を図89に表す。ネットワークアダプタ8921は、外部の端末とネットワークで接続され、外部の端末上のデータを読み込んで、TSデコーダ1302にTSとして送出するデバイスである。また図90は図89のハードウェア構成時のデータの流れを表した図である。ネットワークアダプタ8921はTSをTSデコーダ1302に流し込む。以降の処理の流れは同様である。
また図91は図89のハードウェア構成時のプログラム構成図である。ネット管理1605wはネットワークアダプタ8921に対し、外部端末上のデータを読み込んでTSデコーダ1302にTSとして流し込むように指令を出すJavaライブラリである。このようにして、ネットワークアダプタからJavaプログラムを読み込む場合であっても本発明は容易に適用可能である。またこの場合、Javaプログラムは必ずしもDSM−CCを利用して端末1300に読み込まれなくてもよい。ネットワークを介し、Javaプログラム自体、アーカイブなど自由な形式としてDLされて利用されてもよい。
また、前述した全ての実施の形態では、入力されるデータ形式はTSであったが、TSでなくても、映像・音声・Javaプログラムを選択的に取得することのできる形式であれば本発明は適用可能である。
また、前述した全ての実施の形態では、一貫して端末がJavaプログラムを起動することを前提としたが、Java言語で記述されないプログラムであっても本発明は容易に適用可能である。
本発明は、放送波より何らかのプログラムをダウンロードして実行する放送受信端末であって、さらに放送受信端末の操作履歴情報を利用してユーザ嗜好性の高い動作の実現に利用可能である。
1606 サービス履歴マネージャ
1606a サービス履歴管理表
1606b 履歴取得可能アプリ管理表
1606c サービス履歴登録部
1606d サービス履歴取得部
1606a サービス履歴管理表
1606b 履歴取得可能アプリ管理表
1606c サービス履歴登録部
1606d サービス履歴取得部
Claims (24)
- 入力信号に含まれアプリケーション識別子によって特定されるアプリケーションをダウンロードして実行する情報処理装置であって、
アプリケーションがサービス識別子を引き渡すと対応するサービスを選択するサービス選択手段と、
前記サービス識別子とサービス選択時刻とアプリケーション識別子を組として保持するサービス選択履歴保持手段と、
前記サービス選択手段がサービス選択を行った時に前記サービス選択手段より通知を受け、前記サービス選択履歴保持手段に前記サービス識別子及びサービス選択時刻及び前記サービス選択を指令したアプリケーションのアプリケーション識別子をサービス選択履歴として登録するサービス選択履歴登録手段と、
前記サービス選択履歴保持手段が保持するサービス選択履歴をアプリケーションに対して提供するサービス選択履歴取得手段と、
前記サービス選択履歴取得手段を利用して前記サービス選択履歴を取得する権利を持つアプリケーションのアプリケーション識別子を記載するサービス選択履歴取得許可アプリ保持手段とを備え、
前記サービス選択履歴取得手段がアプリケーションによって利用された際、当該アプリケーションのアプリケーション識別子が前記サービス選択履歴取得許可アプリ保持手段に記載されていれば当該アプリケーションに対して前記サービス履歴を提供し、当該アプリケーションのアプリケーション識別子が前記サービス選択履歴取得許可アプリ保持手段に記載されていなければ当該アプリケーションに対してエラーを通知する
ことを特徴とする情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴取得許可アプリ保持手段にアプリケーションを登録するサービス選択履歴取得許可アプリ登録手段と、
前記サービス選択履歴取得許可アプリ保持手段からアプリケーションを登録削除するサービス選択履歴取得許可アプリ登録削除手段とを備える
ことを特徴とする請求項1記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴取得手段がアプリケーション識別子を検索条件として受け取ると、当該アプリケーション識別子が特定するアプリケーションが指令したサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して提供する
ことを特徴とする請求項1記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴取得手段が開始時刻及び終了時刻を検索条件として受け取ると、前記開始時刻と終了時刻間に起こったサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して提供する
ことを特徴とする請求項1記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴取得手段がサービス識別子を検索条件として受け取ると、前記サービス識別子が特定するサービスに対して行われたサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して提供する
ことを特徴とする請求項1記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴保持手段が保持するサービス履歴の最大数を保持するサービス選択履歴最大数保持手段と、
前記サービス選択履歴最大数保持手段にサービス選択履歴最大数を設定するサービス選択履歴最大数登録手段とを備え、
前記サービス選択登録手段は、前記サービス選択履歴保持手段にサービス選択履歴を登録する際に「前記サービス選択履歴保持手段が保持する前記サービス選択履歴の数」と「前記サービス選択履歴最大数保持手段が保持する最大数」が等しい場合はサービス選択履歴を登録する前に前記サービス選択履歴保持手段が保持する前記サービス選択履歴のうち最も古いものを削除する
ことを特徴とする請求項1記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴保持手段が保持する前記サービス選択履歴を削除するサービス選択履歴削除手段を備える
ことを特徴とする請求項1記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴削除手段がアプリケーション識別子を受け取ると、当該アプリケーション識別子が特定するアプリケーションが指令したサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して削除する
ことを特徴とする請求項7記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴削除手段が開始時刻及び終了時刻を受け取ると、当該開始時刻と当該終了時刻の間に行われたサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して削除する
ことを特徴とする請求項7記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択履歴削除手段がサービス識別子を受け取ると、当該サービス識別子が特定するサービスに対するサービス選択の履歴のみを前記サービス選択履歴保持手段より検索して削除する
ことを特徴とする請求項7記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記サービス選択手段に対して、サービス選択を行っても前記サービス履歴登録手段に対して通知を行わないように設定するサービス選択履歴取得停止手段と、
前記サービス選択手段に対して、サービス選択を行ったら前記サービス履歴登録手段に対して通知を行うように設定するサービス選択履歴取得開始手段とを備える
ことを特徴とする請求項1記載の情報処理装置。 - 入力信号に含まれアプリケーション識別子によって特定されるアプリケーションをダウンロードして実行する情報処理装置であって、
アプリケーションが所望の振舞いを実現するために利用する端末操作APIと、
前記端末操作APIの種類、命令種別、指令したアプリケーションのアプリケーション識別子、指令時刻を組として保持する操作履歴保持手段と、
アプリケーションが前記端末操作APIを利用すると前記端末操作APIより通知され、APIの種類、命令種別、指令したアプリケーションのアプリケーション識別子、指令時刻を組として前記操作履歴保持手段に登録する操作履歴登録手段と、
前記操作履歴保持手段が保持する操作履歴をアプリケーションに対して提供する操作履歴取得手段と、
前記操作履歴取得手段を利用して操作履歴を取得する権利を持つアプリケーションのアプリケーション識別子を記載する操作履歴取得許可アプリ保持手段とを備え、
前記操作履歴取得手段がアプリケーションによって利用された際、当該アプリケーションのアプリケーション識別子が前記操作履歴取得許可アプリ保持手段に記載されていれば当該アプリケーションに対して操作履歴を提供し、当該アプリケーションのアプリケーション識別子が前記操作履歴取得許可アプリ保持手段に記載されていなければ当該アプリケーションに対してエラーを通知する
ことを特徴とする情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴取得許可アプリ保持手段にアプリケーションを登録する操作履歴取得許可アプリ登録手段と、
前記操作履歴取得許可アプリ保持手段からアプリケーションを登録削除する操作履歴取得許可アプリ登録削除手段とを備える
ことを特徴とする請求項12記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴取得手段がアプリケーション識別子を検索条件として受け取ると、当該アプリケーション識別子が特定するアプリケーションが指令した操作履歴のみを前記操作履歴保持手段より検索して提供する
ことを特徴とする請求項12記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴取得手段が開始時刻及び終了時刻を検索条件として受け取ると、当該開始時刻及び当該終了時刻の間に行われた操作の履歴のみを前記操作履歴保持手段より検索して提供する
ことを特徴とする請求項12記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴取得手段が端末操作APIの種類を検索条件として受け取ると、当該端末操作APIを通して行われた操作履歴のみを前記操作履歴保持手段より検索して提供する
ことを特徴とする請求項12記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴保持手段が保持する操作履歴の最大数を保持する操作履歴最大数保持手段と、
前記操作履歴最大数保持手段に操作履歴の最大数を設定するサービス選択履歴最大数登録手段を備え、
前記操作履歴登録手段は、前記操作履歴保持手段に操作履歴を登録する前に「前記操作履歴保持手段が保持する操作履歴の数」と「前記操作履歴最大数保持手段が保持する最大数」を比較し、等しい場合は操作履歴を登録する前に前記操作履歴保持手段が保持する操作履歴のうち最も古いものを削除する
ことを特徴とする請求項12記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴保持手段が保持する操作履歴を削除する操作履歴削除手段を備える
ことを特徴とする請求項12記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴削除手段がアプリケーション識別子を受け取ると、当該アプリケーション識別子が特定するアプリケーションが指令した操作履歴のみを前記操作履歴保持手段より検索して削除する
ことを特徴とする請求項18記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴削除手段が開始時刻及び終了時刻を受け取ると、当該開始時刻と当該終了時刻の間に行われた操作履歴のみを前記操作履歴保持手段より検索して削除する
ことを特徴とする請求項18記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴削除手段が端末操作APIの種類を受け取ると、当該端末操作APIを通して行われた操作履歴のみを前記操作履歴保持手段より検索して削除する
ことを特徴とする請求項18記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記操作履歴保持手段が操作履歴を保持する期間を保持する操作履歴保持期間保持手段と、
前記操作履歴保持期間保持手段に保持期間を登録する操作履歴保持期間登録手段と、
前記操作履歴保持期間保持手段が保持期間を経過した操作履歴を前記操作履歴保持手段から削除する操作履歴保持期間経過エントリ削除手段とを備える
ことを特徴とする請求項12記載の情報処理装置。 - 前記情報処理装置は、さらに、
前記端末操作APIに対して、「端末操作を行っても前記操作履歴登録手段に対して通知を行わない」ように設定する操作履歴取得停止手段と、
前記端末操作APIに対して、「端末操作を行ったら前記操作履歴登録手段に対して通知を行う」ように設定する捜査履歴取得開始手段とを備える
ことを特徴とする請求項12記載の情報処理装置。 - 入力信号に含まれアプリケーション識別子によって特定されるアプリケーションをダウンロードして実行する情報処理装置であって、
電源のon/offを切り替える電源ボタンと、
電源のon/offが切り替え操作及びその時刻を保持する電源履歴保持手段と、
前記電源履歴保持手段が保持する電源履歴記アプリケーションに対して提供する電源履歴取得手段と、
前記電源履歴取得手段を利用して電源履歴を取得する権利を持つアプリケーションのアプリケーション識別子を記載する電源履歴取得許可アプリ保持手段とを備え、
前記電源履歴取得手段がアプリケーションによって利用された際、当該アプリケーションのアプリケーション識別子が前記電源履歴取得許可アプリ保持手段に記載されていれば当該アプリケーションに対して電源履歴を提供し、当該アプリケーションのアプリケーション識別子が前記電源履歴取得許可アプリ保持手段に記載されていなければ当該アプリケーションに対してエラーを通知する
ことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262125A JP2009094702A (ja) | 2007-10-05 | 2007-10-05 | 操作履歴を記憶する情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007262125A JP2009094702A (ja) | 2007-10-05 | 2007-10-05 | 操作履歴を記憶する情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009094702A true JP2009094702A (ja) | 2009-04-30 |
Family
ID=40666238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007262125A Pending JP2009094702A (ja) | 2007-10-05 | 2007-10-05 | 操作履歴を記憶する情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009094702A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010268464A (ja) * | 2009-05-15 | 2010-11-25 | Samsung Electronics Co Ltd | コンテンツ制御方法及び装置 |
WO2011033730A1 (ja) | 2009-09-15 | 2011-03-24 | ソニー株式会社 | 情報処理装置、データ管理方法、およびプログラム |
JP2012138827A (ja) * | 2010-12-27 | 2012-07-19 | Toshiba Corp | 映像出力装置および映像出力方法 |
JP5912175B2 (ja) * | 2012-08-21 | 2016-04-27 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラムおよびサーバ装置 |
-
2007
- 2007-10-05 JP JP2007262125A patent/JP2009094702A/ja active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010268464A (ja) * | 2009-05-15 | 2010-11-25 | Samsung Electronics Co Ltd | コンテンツ制御方法及び装置 |
WO2011033730A1 (ja) | 2009-09-15 | 2011-03-24 | ソニー株式会社 | 情報処理装置、データ管理方法、およびプログラム |
KR20120066011A (ko) | 2009-09-15 | 2012-06-21 | 소니 주식회사 | 정보 처리 장치, 데이터 관리 방법 및 프로그램 |
EP2854408A1 (en) | 2009-09-15 | 2015-04-01 | Sony Corporation | Information processing apparatus, data management method, and program |
EP2961162A1 (en) | 2009-09-15 | 2015-12-30 | Sony Corporation | Information processing apparatus, data management method, and program |
US10547901B2 (en) | 2009-09-15 | 2020-01-28 | Saturn Licensing Llc | Information processing apparatus, data management method, and program |
JP2012138827A (ja) * | 2010-12-27 | 2012-07-19 | Toshiba Corp | 映像出力装置および映像出力方法 |
US8453169B2 (en) | 2010-12-27 | 2013-05-28 | Kabushiki Kaisha Toshiba | Video output device and video output method |
JP5912175B2 (ja) * | 2012-08-21 | 2016-04-27 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラムおよびサーバ装置 |
JP2016154363A (ja) * | 2012-08-21 | 2016-08-25 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP2018148568A (ja) * | 2012-08-21 | 2018-09-20 | サターン ライセンシング エルエルシーSaturn Licensing LLC | 情報処理装置、情報処理方法およびプログラム |
US10390066B2 (en) | 2012-08-21 | 2019-08-20 | Saturn Licensing Llc | Information processing apparatus, information processing method, program, and server apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590331B2 (en) | Broadcast recording apparatus | |
US7840116B2 (en) | Broadcast receiving terminal | |
US8745632B2 (en) | Broadcast receiving terminal and program execution method for resource reservation | |
JP2008546220A (ja) | コンテンツ再生装置 | |
JP2009520381A (ja) | 残量検出部を有する記録装置 | |
WO2006077882A1 (ja) | 放送受信装置 | |
US20070022208A1 (en) | Recording and reproduction apparatus | |
JP2009520380A (ja) | コンテンツ管理システム | |
JP2008546221A (ja) | 放送録画再生装置および方法 | |
US20060290775A1 (en) | Program execution apparatus and execution method | |
JP2005102150A (ja) | 放送受信装置 | |
JP4243571B2 (ja) | 放送受信装置 | |
KR20080015083A (ko) | 기록 및 재생 장치, 기록 및 재생 방법 | |
US20070011357A1 (en) | Recording and reproduction apparatus | |
JP2008066764A (ja) | 放送記録装置 | |
US20070154172A1 (en) | Recording and reproduction apparatus | |
JP2009094702A (ja) | 操作履歴を記憶する情報処理装置 | |
JP2006345505A (ja) | 放送蓄積端末 | |
JP2010011115A (ja) | 放送受信装置 | |
JP2008187333A (ja) | プログラム実行装置 |