[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPWO2006080361A1 - ダウンロード実行装置 - Google Patents

ダウンロード実行装置 Download PDF

Info

Publication number
JPWO2006080361A1
JPWO2006080361A1 JP2007500552A JP2007500552A JPWO2006080361A1 JP WO2006080361 A1 JPWO2006080361 A1 JP WO2006080361A1 JP 2007500552 A JP2007500552 A JP 2007500552A JP 2007500552 A JP2007500552 A JP 2007500552A JP WO2006080361 A1 JPWO2006080361 A1 JP WO2006080361A1
Authority
JP
Japan
Prior art keywords
download
program
unit
user
tuning
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.)
Withdrawn
Application number
JP2007500552A
Other languages
English (en)
Inventor
路子 田中
路子 田中
川上 義雄
義雄 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2006080361A1 publication Critical patent/JPWO2006080361A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/4263Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific tuning arrangements, e.g. two tuners
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

プログラムのダウンロード時に、ユーザの視聴または録画を少なくとも突然妨害するのを防止することができるダウンロード実行装置を提供する。AM(1205b)は、現在のチューニング情報とプログラムをダウンロードするために必要な周波数とを比較して、ダウンロード元を決定するダウンロード元決定部(2901)、チューナの使用状況と使用中の各チューナがチューニングしている周波数を取得するチューニング周波数取得部(2902)、プログラムをダウンロードするために必要な周波数を取得するダウンロード周波数取得部(2903)、決定されたダウンロード元からプログラムをダウンロードしてストアするストア部(2904)、ユーザにプログラムがダウンロードされることを通知する通知部(2905)、プログラムをダウンロードするために必要な周波数に指定されたチューナをチューニングするチューニング要求部(2906)を備える。

Description

本発明は、プログラムをダウンロードして実行する例えばデジタル放送受信機等のダウンロード実行装置に関する。
従来の放送受信機におけるプログラムのダウンロードは、ダウンロードするプログラムを放送波によって送信されるトランスポートストリームへ挿入し、プログラムの流れるトランスポートストリームへチューニングすることでダウンロードする方法が一般的である。トランスポートストリームへプログラムを挿入する方法は、MPEG規格書ISO/IEC13818−6に記述されたDSMCCという方式が用いられる。DSMCCは一般的な技術のため詳細な説明は省略する。このように、プログラムのダウンロードを行う際には、チューニングが発生する。このため、プログラムのダウンロードを行う放送受信機は、ユーザの視聴あるいは録画を妨げないように、プログラムのダウンロードを行う前に、放送受信機の現在の状態が視聴あるいは録画中か否かを検出し、視聴あるいは録画が行われていない状態の時にプログラムのダウンロードを行っている。これにより、プログラムのダウンロードがユーザの番組視聴あるいは録画を妨害することはなかった。
一方、特許文献1では、プログラムをダウンロードするか否かをユーザへ問い合わせる手法が提案されている。この特許文献1は、図1に示すように放送受信機内でエラーが発生した際に、プログラムのバージョンアップを検出し、放送受信機のエラーが修復される際には通知を行い、ユーザにバージョンアップを行うか否かの確認を行うことを特徴としている。
以上のように、プログラムのダウンロードを行う手法としては、放送受信機の状態が視聴あるいは録画などが行われていない状態の時に限りダウンロードを行う手法と、放送受信機のエラー発生時にダウンロードするか否かをユーザへ通知し、応答を受信する手法が存在している。
ところで、放送受信機は、放送局からプログラムのダウンロード要求を受信し、ダウンロードを開始する。このプログラムのダウンロード要求には、放送受信機がダウンロードすることができる方法が複数記載されていることがある。この一例として、OCAP仕様(OCAP 1.0 Profile OC−SP−OCAP1.0−I11−040604)を説明する。OCAP仕様では、EPGやVODなどのサービスを記述したプログラムを放送受信機上へダウンロードし実行することを特徴としている。OCAP仕様は、トランスポートストリームによる配信とネットワーク経由の配信によってダウンロードすることができることを規定している。このため放送局は、プログラムをトランスポートストリームとして配送することも、ネットワーク経由で配送することも、あるいはこの両方から配送することもできる。しかしながらOCAP仕様は、受信端末機は、一つあるいは複数のダウンロード方法を示されたダウンロード要求を受信した際に、どの配信方法を利用するか、また、ユーザの視聴を妨げる場合の振る舞いについては、規定していない。
特開2003−67284号公報
しかしながら、従来の放送受信機の状態が、視聴あるいは録画を行っていない状態のときに限りダウンロードを行う手法では、放送受信機が視聴あるいは録画を行っていない状態で、放送局からダウンロード要求を受信できないと、プログラムのダウンロードが先送りになるという問題があった。また、ユーザはプログラムのダウンロードが延期されたことを知ることができなかった。そこで、ダウンロード時にユーザへ通知する手法の使用が考えられるが、特許文献1においては、放送受信機内でエラーが発生した際に、プログラムのダウンロードをするか否かをユーザへ問う方針のため、エラーが発生するまではプログラムのダウンロードが発生しない。
また、ユーザの視聴または録画中である番組以外に関するプログラムのダウンロード要求を受けた際にダウンロードを行おうとすると、例えば放送受信機が保有するチューナのうちプログラムのダウンロードに利用可能なチューナが全て使用中であり、かつ、ダウンロードを行うトランスポートストリームが流れている周波数が、現在チューニングされている周波数と異なる場合には、プログラムのダウンロードによりユーザの視聴または録画が妨げられることになる。
さらに、CommonDownload仕様(OpenCable Common Download Specification)では、放送受信機のファームウェア(機器に組み込まれたソフトウェア)を端末へダウンロードする方法を規定している。CommonDownload仕様は、ダウンロード元情報に加え、ダウンロードのタイミングを指定するダウンロード要求を端末へ伝送することを規定している。そのため、ダウンロードのタイミング指定によっては、ユーザの視聴を妨げる可能性がある。しかしながら、CommonDownload仕様は、そのような場合の端末の振る舞いについては、規定していない。
そこで、本発明は上記の事情に鑑みてなされたものであり、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができるダウンロード実行装置を提供することを目的とする。
上記目的を達成するため、本発明に係るダウンロード実行装置は、プログラムのダウンロードを実行するダウンロード実行装置であって、前記プログラムのダウンロード元情報を含むダウンロード要求を受信するダウンロード要求受信手段と、放送波を受信する少なくとも1つのチューナと、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段と、前記チューニング判断手段の判断結果に基づいて、前記プログラムのダウンロードに関するメッセージをユーザへ通知するメッセージ通知手段と、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段とを備えることを特徴とする。
これによって、プログラムのダウンロードに利用できるチューナが存在するか否かに応じて、プログラムのダウンロードに関するメッセージをユーザへ通知するので、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができる。
また、前記ダウンロード実行装置は、さらに、前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。
これによって、ユーザが使用しているチューナがチューニングを行っている周波数から他の周波数へチューニングを変更する必要があるときに限り、ユーザへメッセージを通知し、プログラムのダウンロードを実行することができる。なお、これ以外のメッセージに関してもユーザへ通知することができる。また、ユーザがチューナを使用する例として、番組視聴や録画がある。
また、前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断され、かつ利用されていないチューナがない場合に、ユーザへメッセージを通知し、プログラムのダウンロードを実行することができる。
また、前記ダウンロード実行装置は、さらに、前記チューニング判断手段によって現在のチューニングで前記プログラムのダウンロードが実行不可能と判断された場合に、前記ダウンロード周波数取得手段によって取得された周波数へのチューニングを実行するチューニング実行手段を備えてもよい。
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断された際に、チューニングを実行することにより、プログラムのダウンロードを行うことができる。
また、前記チューニング実行手段は、チューニングを実行する際に、チューナの利用状況または利用目的に応じて、チューニングを実行するチューナを選択してもよい。
これによって、チューニングを実行する際に、チューナの利用状況あるいは利用目的に応じて、チューニングを実行するチューナを選択することにより、チューナを使用しているユーザへの影響を軽減することができる。
また、前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記メッセージを前記ユーザへ通知してもよい。
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断され、利用されていないチューナが存在しないときにユーザへメッセージ通知を行うことにより、チューナを使用しているユーザへ影響が及ぶ時に限り、ユーザへメッセージを通知することができる。
また、前記メッセージ通知手段は、前記メッセージを所定時間表示してもよい。これによって、メッセージが表示されつづけるのを防ぐことができる。
また、前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、ダウンロード実行中であることを前記ユーザへ通知してもよい。これによって、ユーザへダウンロード待ち状態にあることを通知することができる。
また、前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、所定のイメージ、所定の映像、および所定の音声の少なくとも1つを前記ユーザへ提供してもよい。これによって、ダウンロード中の映像あるいは音声の切り替わりによるユーザの不快感を軽減することができる。
また、前記ダウンロード実行装置は、さらに、前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備えてもよい。これによって、ユーザとダウンロード実行装置の間で双方向にメッセージ通知を行うことができ、ダウンロード実行装置は、ユーザの応答に応じて処理することができる。
また、前記応答受付手段は、前記ユーザからの応答受け付けに制限時間を設定してもよい。これによって、ユーザからの応答を受信できなかった場合も、処理することができる。
また、前記メッセージ通知手段は、前記プログラムのダウンロードを前記ユーザへ通知し、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードに対する、承認または拒否の応答を前記ユーザから受け付けてもよい。これによって、ユーザが望まないプログラムのダウンロードすることを防ぐことができる。
また、前記ダウンロード要求は、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含み、前記ダウンロード実行装置は、さらに、前記ダウンロード要求に含まれる前記複数の組から1つの組を決定するダウンロード元決定手段を備え、前記ダウンロード実行手段は、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行してもよい。これによって、ダウンロード方法およびダウンロード元情報の複数の組から1つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
また、前記メッセージ通知手段は、前記プログラムのダウンロードおよびダウンロード方法を前記ユーザへ通知し、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードおよびダウンロード方法に対する、承認または拒否の応答を前記ユーザから受け付けてもよい。これによって、ユーザが望まないダウンロード方法でダウンロードすることを防ぐことができる。
また、前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組から前記ダウンロード方法とは別のダウンロード方法である組を決定してもよい。これによって、ユーザが望まないダウンロード方法でダウンロードすることを防ぐことができる。
また、前記メッセージ通知手段は、前記複数の組に基づいて、前記プログラムのダウンロード方法の少なくとも一部を前記ユーザへ通知してダウンロード方法を問い合わせ、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロード方法の中から前記ユーザにより選択されたダウンロード方法を受け付け、前記ダウンロード元決定手段は、前記応答受付手段によって受け付けられた前記ダウンロード方法である組を決定してもよい。これによって、ユーザが希望するダウンロード方法を決定することができる。
また、前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記ダウンロード方法の問い合わせを前記ユーザへ通知してもよい。これによって、チューナを使用しているユーザへ影響が及ぶ時に限り、ユーザはダウンロード方法を選択することができる。
また、前記メッセージ通知手段は、さらに、前記ダウンロード方法の選択のための補助情報を前記ユーザへ通知してもよい。これによって、ユーザがダウンロード元を選択する処理を補助することができる。
また、前記ダウンロード実行装置は、さらに、前記プログラムのダウンロードを開始する時間を設定するタイマー設定手段を備えてもよい。これによって、所定の時間にダウンロードを開始することができるため、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。
また、前記応答受付手段は、前記ユーザから前記プログラムのダウンロードを開始する時間を受け付け、前記タイマー設定手段は、前記応答受付手段によって受け付けられた前記時間を前記プログラムのダウンロードを開始する時間として設定してもよい。これによって、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。また、ユーザは次回のダウンロードがいつ行われるのかを知ることができる。
また、前記タイマー設定手段は、事前に決定されている時間に応じて前記プログラムのダウンロードを開始する時間を設定してもよい。これによって、ユーザからダウンロードを開始する時間を設定されなくても、設定された時間からダウンロードを開始することができる。
また、前記タイマー設定手段は、前記応答受付手段によって前記プログラムのダウンロードに対する拒否の応答が前記ユーザから受け付けられたときに、前記プログラムのダウンロードを開始する時間を設定してもよい。これによって、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。また、ユーザは次回のダウンロードがいつ行われるのかを知ることができる。
また、本発明に係るダウンロード実行装置は、プログラムのダウンロードを実行するダウンロード実行装置であって、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信手段と、前記ダウンロード要求に含まれる前記複数の組から1つの組を決定するダウンロード元決定手段と、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段とを備えることを特徴とする。
これによって、ダウンロード方法およびダウンロード元情報の複数の組から1つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
また、前記ダウンロード要求の前記プログラムのダウンロード方法として、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法の少なくとも1つを含んでもよい。これによって、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法から、ダウンロード方法を選択することができる。
また、前記ダウンロード実行手段は、前記ストリームからのダウンロードを実行、前記ネットワークからのダウンロードの実行、および前記記憶媒体からのプログラム取得の少なくとも1つを行ってもよい。これによって、プログラムのダウンロードを実行することができる。
また、前記ダウンロード元決定手段は、前記ダウンロード要求の前記プログラムのダウンロード方法に対して優先度を付与し、前記優先度に基づいて前記ダウンロード要求に含まれる前記複数の組から1つの組を決定してもよい。これによって、効率的にダウンロード方法およびダウンロード元を決定することができる。
また、前記ダウンロード元決定手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、従来のアプリケーションのダウンロード方法と同様に処理することができ、ネットワークあるいは他のダウンロード方法を持たないダウンロード実行装置でも処理することができる。
また、前記ダウンロード実行装置は、さらに、放送波を受信する少なくとも一つのチューナと、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段とを備えてもよい。これによって、プログラムのダウンロードに利用できるチューナの有無を確認することができる。
また、前記ダウンロード実行装置は、さらに、前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。これによって、ユーザが使用しているチューナがチューニングを行っている周波数から他の周波数へチューニングを変更する必要があるか否かを判断し、ダウンロード元を決定することができる。
また、前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。これによって、現在のチューニングでプログラムのダウンロードが不可能と判断され、かつ利用されていないチューナがない場合に、他のダウンロード元を決定することができる。
また、前記ダウンロード元決定手段は、前記チューニング判断手段によって、前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法あるいは、記憶媒体からプログラムを取得する方法である組を決定してもよい。これによって、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法が利用できない場合は、ネットワークから取得する方法あるいは、記憶媒体からプログラムを取得する方法を選択することができる。
また、前記ダウンロード実行装置は、さらに、ユーザへメッセージ通知を行うメッセージ通知手段と、前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備えてもよい。これによって、ユーザとダウンロード実行装置の間で双方向にメッセージ通知を行うことができ、ダウンロード実行装置は、ユーザの応答に応じて処理することができる。
また、前記メッセージ通知手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法をユーザへ通知し、前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法である組を決定してもよい。これによって、従来のアプリケーションダウンロード方法として一般的な、プログラムがエンコードおよび多重化されたストリームからのプログラムのダウンロードをユーザが望まない場合は、ネットワークからプログラムのダウンロードを行うことができる。
また、前記ダウンロード元決定手段は、ネットワークからのダウンロード方法に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムのダウンロードを実行することができる。
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記ネットワークからのダウンロード方法が存在する場合には、常に前記ネットワークからのダウンロード方法である組を決定してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムのダウンロードを実行することができる。
また、前記ダウンロード元決定手段は、記録媒体からのプログラム取得に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムを取得することができる。
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記記録媒体からのプログラム取得が存在する場合には、常に前記記録媒体からのプログラム取得である組を決定してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムを取得することができる。
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中から、最も高速にダウンロードできる組を決定してもよい。これによって、最も高速にダウンロードを実行することができる。
また、前記ダウンロード実行手段は、前記プログラムのダウンロードにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、前記ダウンロード元決定手段は、前記ダウンロード実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から1つの組を決定してもよい。これによって、ダウンロード中にエラーが発生した場合でも、プログラムのダウンロードを再実行することができる。
また、前記ダウンロード実行手段は、前記プログラムのダウンロード元を検出または接続できない場合に前記エラーを検出し、前記プログラムのダウンロード元を検出または接続できないことを示す前記エラー情報を生成してもよい。これによって、ダウンロード元を検出あるいは接続できない場合でも、プログラムのダウンロードを再実行することができる。
また、前記ダウンロード実行手段は、前記プログラムのダウンロード元に前記プログラムが存在しない場合に前記エラーを検出し、前記プログラムのダウンロード元に前記プログラムが存在しないことを示す前記エラー情報を生成してもよい。これによって、ダウンロード元にプログラムが存在しない場合でも、プログラムのダウンロードを再実行することができる。
また、前記チューニング実行手段は、前記チューニングにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、前記ダウンロード元決定手段は、前記チューニング実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から1つの組を決定してもよい。これによって、チューニングにおいてエラーが検出された場合でも、プログラムのダウンロードを再実行することができる。
また、前記ダウンロード実行装置は、さらに、前記ダウンロード実行手段によってダウンロードされたプログラムを保存するストア手段を備えてもよい。これによって、プログラムを実行する際に、プログラムのダウンロードを行う必要がなくなる。
また、前記ダウンロード実行装置は、放送受信装置であってもよい。これによって、ダウンロード元決定手段はダウンロード方法及びダウンロード元を決定する際に、放送受信装置が備えるチューナデバイスやネットワークなどのリソースの情報を利用することができる。
なお、本発明は、このようなダウンロード実行装置として実現することができるだけでなく、このようなダウンロード実行装置が備える特徴的な手段をステップとするダウンロード実行方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
本発明に係るダウンロード実行装置によれば、プログラムのダウンロードに関するメッセージをユーザへ通知するので、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができる。
また、ダウンロード方法およびダウンロード元情報の複数の組から1つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
図1は、従来におけるプログラムのダウンロードの処理を示すフローチャートである。 図2は、本発明に係るケーブルテレビシステムの実施の形態1の構成図である。 図3は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図4は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図5は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図6は、本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。 図7は、本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例を示す図である。 図8は、本発明に係るPODのハードウェア構成の構成図である。 図9は、本発明に係るPODが保存するプログラム構成の構成図である。 図10は、MPEG規格で定義されているパケットの構成図である。 図11は、MPEG2トランスポートストリームの一例を示す図である。 図12は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。 図13は、本発明に係る端末装置が保存するプログラム構成の構成図である。 図14(a)、(b)は、本発明に係るディスプレイの表示の一例を示す図である。 図15は、本発明に係る2次記憶部が保存する情報の一例を示す図である。 図16(a)、(b)、(c)は、本発明に係る1次記憶部が保存する情報の一例を示す図である。 図17は、本発明に係るMPEG2規格が規定するPATの内容を表す模式図である。 図18は、本発明に係るMPEG2規格が規定するPMTの内容を表す模式図である。 図19は、本発明に係るOCAP仕様が規定するAITの内容を表す模式図である。 図20は、本発明に係るDSMCC方式で送信されるファイルシステムを表す模式図である。 図21は、本発明に係るXAITの内容を表す模式図である。 図22は、本発明に係るDSMCC方式で伝送されるファイルシステムとネットワーク方式におけるダウンロードを提供するサーバ内のファイルシステムを表す模式図である。 図23は、本発明に係る2次記憶部が保存する情報の一例を示す図である。 図24は、本発明に係るXAIT情報に記述されるアプリケーションがアプリケーションのストア領域にストアされている状態の一例を示す図である。 図25は、実施の形態1において、AMが、XAIT情報を受け取った時点から、VMへのアプリケーション起動指示を行うまでの動作の一例の一部であり、ストアを行う処理部分を示すフローチャートである。 図26は、実施の形態1において、AMが、XAIT情報を受け取った時点から、VMへのアプリケーション起動指示を行うまでの動作の一例の一部であり、アプリケーションの起動部分を示すフローチャートである。 図27は、実施の形態1において、AMのアプリの起動APIの呼び出しによってアプリの起動指示を行うまでの動作の一例を示すフローチャートである。 図28(a)、(b)は、実施の形態1において、XAIT情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。 図29(a)、(b)は、実施の形態1において、XAIT情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。 図30は、実施の形態1において、AMの構成を示す図である。 図31は、実施の形態1において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図32は、実施の形態1において、図31の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図33は、実施の形態1において、通知部によるユーザへのアプリケーションのダウンロード通知に伴い、ダイアログ表示プログラムが、ディスプレイ509に表示するダウンロード通知の一例を示す図である。 図34は、実施の形態1において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図35は、実施の形態2において、AMの構成を示す図である。 図36は、実施の形態2において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図37は、実施の形態2において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図38は、実施の形態2において、図31の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図39は、実施の形態2において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図40は、実施の形態2において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図41は、実施の形態3において、AMの構成を示す図である。 図42は、実施の形態3において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図43は、実施の形態3において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図44は、実施の形態3において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図45は、実施の形態4において、AMの構成を示す図である。 図46は、実施の形態4において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図47は、実施の形態4において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図48は、実施の形態5において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図49は、実施の形態5において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図50は、実施の形態5において、図49の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図51は、実施の形態5において、図49の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図52は、実施の形態6において、AMの構成を示す図である。 図53は、実施の形態6において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図54は、実施の形態6において、図53の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図55は、実施の形態6において、図53の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図56は、実施の形態7において、AMの構成を示す図である。 図57は、実施の形態7において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図58は、実施の形態7において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図59は、実施の形態7において、図58の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図60は、実施の形態8において、AMの構成を示す図である。 図61は、実施の形態8において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図62は、実施の形態8において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図63は、実施の形態9において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図64は、実施の形態9における、プロトコル識別子にディスク指定を行ったXAITの内容を表す模式図である。 図65は、実施の形態9において、AMの構成を示す図である。 図66は、実施の形態9において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図67は、実施の形態10のダウンロード実行装置の一例を説明するための図である。 図68は、実施の形態10における、Download Moduleの処理動作の一例を示すフローチャートである。 図69は、実施の形態10における、ファームウェア更新情報の一例を示す図である。
符号の説明
1205b AM
2901 ダウンロード元決定部
2902 チューニング周波数取得部
2903 ダウンロード周波数取得部
2904 ストア部
2905 通知部
2906 チューニング要求部
(実施の形態1)
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図2は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
ヘッドエンド101は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間の伝送に用いられる周波数帯域は、分割して用いられる。図3は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(略称OOB)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主にヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間のデータのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。OOBではQPSK変調方式が、In−BandはQAM64変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図4は、OOB周波数帯域の更に詳細な使用の一例である。70MHz〜74MHzはヘッドエンド101からのデータ送信に使用され、全ての端末装置A111、端末装置B112、端末装置C113が、ヘッドエンド101から同じデータを受け取ることになる。一方、10.0MHz〜10.1MHzは端末装置A111からヘッドエンド101へのデータ送信に使用され、10.1MHz〜10.2MHzは端末装置B112からヘッドエンド101へのデータ送信に使用され、10.2MHz〜10.3MHzは端末装置C113からヘッドエンド101へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置A111、端末装置B112、端末装置C113からヘッドエンド101に送信することができる。図5は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生する。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。3つの、端末装置は本実施の形態では同じ構成を取る。
図6は、端末装置(ダウンロード実行装置)のハードウェア構成を表すブロック図である。端末装置(ダウンロード実行装置)500は、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、スピーカ507、ビデオデコーダ508、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514で構成される。また端末装置500には、POD504が着脱できる。
図7は、端末装置500の外観の一例である薄型テレビである。
薄型テレビの筐体601は、POD504を除く、端末装置500の構成要素をすべて内蔵している。
ディスプレイ602は、図6におけるディスプレイ509に相当する。
フロントパネル部603は複数のボタンで構成され、図6の入力部513に相当する。
信号入力端子604は、ヘッドエンド101との信号の送受信を行うためにケーブル線を接続する。また、信号入力端子604は、図6のQAM復調部501、QPSK復調部502、QPSK変調部503と接続されている。
PODカード605は、図6のPOD504に相当する。POD504は、図7のPODカード605のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。
挿入スロット606は、PODカード605が挿入される挿入スロットである。
図6を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK変調部503は、CPU514から指定された周波数を含む変調情報で、POD504から渡された信号をQPSK変調し、ヘッドエンド101に送信する。
POD504は、図7のように端末装置本体500から着脱可能な形態をしている。端末本体500とPOD504の接続インターフェースは、OpenCable(TM)HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
図8は、POD504の内部構成を表すブロック図である。POD504は、第1デスクランブラ部701、第2デスクランブラ部702、スクランブラ部703、第1記憶部704、第2記憶部705、CPU706で構成される。
第1デスクランブラ部701は、CPU706からの指示により、端末装置500のQAM復調部501から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置500のTSデコーダ505に送る。デコードに必要な鍵などの情報はCPU706から適宜与えられる。具体的には、ヘッドエンド101はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第1デスクランブラ部701は、CPU706から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第1デスクランブラ部701は、デスクランブルを行わず、受け取った信号をそのまま、TSデコーダ505に送る。
第2デスクランブラ部702は、CPU706からの指示により、端末装置500のQPSK復調部502から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをCPU706に引き渡す。
スクランブラ部703は、CPU706からの指示により、CPU706から受け取ったデータを暗号化し、端末装置500のQPSK変調部503に送る。
第1記憶部704は、具体的にはRAM等の一次記憶メモリーで構成され、CPU706が処理を行う際、一時的にデータを保存するために使用される。
第2記憶部705は、具体的にはフラッシュROM等の2次記憶メモリーで構成され、CPU706が実行するプログラムを格納し、また、電源OFFになっても消去されては困るデータの保存に使用される。
CPU706は、第2記憶部705が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図9は、第2記憶部705が記憶するプログラムの一例である。図9では、プログラム800は、メインプログラム801、初期化サブプログラム802、ネットワークサブプログラム803、再生サブプログラム804、PPVサブプログラム805等複数のサブプログラムで構成されている。
ここでPPVとはPay Per Viewの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド101に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払うものである。
メインプログラム801は、CPU706が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
初期化サブプログラム802は、電源投入時にメインプログラム801によって起動され、端末装置500との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、OpenCable(TM)HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム802は、第2記憶部705が記憶する第1の周波数を端末装置500のCPU514を通して、QPSK復調部502に通知する。QPSK復調部502は、与えられた第1の周波数でチューニングを行い、信号を第2デスクランブラ部702に送る。また、初期化サブプログラム802は、第2記憶部705が記憶する第1の鍵等の復号情報を第2デスクランブラ部702に与える。その結果、第2デスクランブラ部702は、デスクランブルを行い、初期化サブプログラム802を実行するCPU706に引き渡す。よって、初期化サブプログラム802は情報を受け取ることができる。本実施の形態では、初期化サブプログラム802はネットワークサブプログラム803を通して情報を受け取ることとする。詳細は後述する。
また、初期化サブプログラム802は、第2記憶部705が記憶する第2の周波数を端末装置500のCPU514を通して、QPSK変調部503に通知する。初期化サブプログラム802は第2記憶部705が記憶する暗号化情報をスクランブラ部703に与える。初期化サブプログラム802が送信したい情報を、ネットワークサブプログラム803を介して、スクランブラ部703に与えると、スクランブラ部703は、与えられた暗号化情報を用いて、データを暗号化し、端末装置500のQPSK変調部503に与える。QPSK変調部503は、与えられた暗号化された情報を変調し、ヘッドエンド101に送信する。
この結果、初期化サブプログラム802は、端末装置500、第2デスクランブラ部702、スクランブラ部703、ネットワークサブプログラム803を通して、ヘッドエンド101と双方向通信を行うことができる。
ネットワークサブプログラム803は、メインプログラム801、初期化サブプログラム802等の複数のサブプログラムから使用される、ヘッドエンド101との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム803を使用する他のサブプログラムに対して、TCP/IPによって、ヘッドエンド101と双方向通信を行っているように振舞う。TCP/IPは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム803は、電源投入時に初期化サブプログラム802に起動されると、予め第2記憶部705が記憶しているPOD504を識別する識別子であるMACアドレス(Media Access Controlアドレスの略)を、端末装置500を通してヘッドエンド101に通知し、IPアドレスの取得を要求する。ヘッドエンド101は、端末装置500を介してPOD504にIPアドレスを通知し、ネットワークサブプログラム803は、IPアドレスを第1記憶部704に記憶する。以降、ヘッドエンド101とPOD504は、このIPアドレスを、POD504の識別子として使用し、通信を行う。
再生サブプログラム804は、第2記憶部705が記憶する第2の鍵等の復号情報や、端末装置500から与えられる第3の鍵等の復号情報を第1デスクランブラ部701に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム803を通して、第1デスクランブラ部701に入力されている信号が、PPVチャンネルであることの情報を受け取る。PPVチャンネルと知ったときは、PPVサブプログラム805を起動する。
PPVサブプログラム805は、起動されると、端末装置500に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置500のCPU514に画面に表示したい情報を送ると、端末装置500のCPU514上で動作するプログラムが、端末装置500のディスプレイ509上にメッセージを表示する。ユーザは、端末装置500の入力部513を通して暗証番号を入力すると、端末装置500のCPU514が、それを受け取り、POD504のCPU706上で動作するPPVサブプログラム805に通知する。PPVサブプログラム805は、受け取った暗証番号をネットワークサブプログラム803を通してヘッドエンド101に送信する。ヘッドエンド101は、暗証番号が正しければ、復号に必要な第4の鍵などの復号化情報をネットワークサブプログラム803を介して、PPVサブプログラム805に通知する。PPVサブプログラム805は受け取った第4の鍵などの復号化情報を第1デスクランブラ部701に与え、第1デスクランブラ部701は、入力されている信号をデスクランブルする。
図6を参照して、TSデコーダ505は、POD504から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ506及びビデオデコーダ508、CPU514に引き渡す。ここで、POD504から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書 ISO/IEC13818−1に記載されており、本実施の形態では詳細は省略する。MPEG2トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットIDが振られている。図10はパケットの構成図である。900はパケットであり、固定長の188バイトで構成される。先頭4バイトがヘッダー901で、パケットの識別情報を格納しており、残り184バイトがペイロード902で、送信したい情報を含んでいる。903は、ヘッダー901の内訳である。先頭から12ビット目〜24ビット目までの13ビットにパケットIDが含まれている。図11は送られてくる複数のパケットの列を表現した模式図である。パケット1001は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの1番目の情報が入っている。パケット1002は、ヘッダーにパケットID「2」を持ち、ペイロードには音声Aの1番目の情報が入っている。パケット1003は、ヘッダーにパケットID「3」を持ち、ペイロードには音声Bの1番目の情報が入っている。
パケット1004は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの2番目の情報が入っており、これはパケット1001の続きになっている。同様にパケット1005、1026、1027も他のパケットの後続データを格納している。このように、同じパケットIDを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
図11を参照して、CPU514がパケットID「1」と出力先として「ビデオデコーダ508」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「1」のパケットを抽出し、ビデオデコーダ508に引き渡す。図11においては、映像データのみをビデオデコーダ508に引き渡すことになる。同時に、CPU514がパケットID「2」と「オーディオデコーダ506」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「2」のパケットを抽出し、オーディオデコーダ506に引き渡す。図11においては、音声データのみをオーディオデコーダ506に引き渡すことになる。
このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダ505はCPU514から指示された複数のフィルタリングを同時に実行することができる。
図6を参照して、オーディオデコーダ506は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ507に出力する。
スピーカ507は、オーディオデコーダ506から与えられた信号を音声出力する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ509に出力する。
ディスプレイ509は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ508から与えられたビデオ信号を出力したり、CPU514から指示されたメッセージを表示したりする。
2次記憶部510は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
ROM512は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図12は、フロントパネルで入力部513を構成した場合の一例である。1100はフロントパネルであり、図7のフロントパネル部603に相当する。フロントパネル1100は7つのボタン、上カーソルボタン1101、下カーソルボタン1102、左カーソルボタン1103、右カーソルボタン1104、OKボタン1105、取消ボタン1106、EPGボタン1107を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。
CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、QAM復調部501、QPSK復調部502、QPSK変調部503、POD504、TSデコーダ505、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512を制御する。
図13は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、Java(登録商標)VM1203(以後VM1203と称す)、サービスマネージャ1204、Java(登録商標)ライブラリ1205(以後ライブラリ1205と称す)で構成される。
OS1201は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1201は、オペレーティングシステムの略であり、Linux等が一例である。OS1201は、他のサブプログラムを平行して実行するカーネル1201a及びライブラリ1201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1201のカーネル1201aは、EPG1202とVM1203をサブプログラムとして実行する。また、ライブラリ1201bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1201bを通してQAM復調器を制御することができる。
EPG1202は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部1202aと、チャンネル選局を行う再生部1202bで構成される。ここで、EPGはElectric Program Guideの略である。EPG1202は、端末装置500の電源が投入されると、カーネル1201aによって起動される、起動されたEPG1202の内部では、番組表示部1202aが端末装置500の入力部513を通して、ユーザからの入力を待つ。ここで、入力部513が図12で示されるフロントパネルで構成されている場合、ユーザが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1202の番組表示部1202aは、この識別子を受け取り、番組情報をディスプレイ509に表示する。図14(a)及び(b)は、ディスプレイ509に表示された番組表の一例である。図14(a)を参照して、ディスプレイ509には、格子状に番組情報が表示されている。列1301には、時刻情報が表示されている。列1302には、チャンネル名「チャンネル1」と、列1301の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「ニュース9」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列1303も列1302同様、チャンネル名「チャンネル2」と、列1301の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。1330は、カーソルである。カーソル1330は、フロントパネル1100の左カーソルボタン1103と右カーソルボタン1104を押下すると移動する。図14(a)の状態で、右カーソルボタン1104を押下すると、カーソルボタン1330は右に移動し、図14(b)のようになる。また、図14(b)の状態で、左カーソル1103を押下すると、カーソル1330は左に移動し、図14(a)のようになる。
図14(a)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル1」の識別子を再生部1202bに通知する。図14(b)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル2」の識別子を再生部1202bに通知する。
また、番組表示部1202aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
再生部1202bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図15は2次記憶部510に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列1401は、チャンネルの識別子である。列1402は、チャンネル名である。列1403はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、QAM復調部501に与える値である。列1404はプログラムナンバーである。プログラムナンバーとは、MPEG2規格で規定されているPMTを識別するための番号である。PMTに関しては、後述する。行1411〜1414の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行1411は識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「150MHz」、プログラムナンバーが「101」を含む組となっている。再生部1202bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
また、再生部1202bは、再生中に、ユーザがフロントパネル1100の上カーソルボタン1101と下カーソルボタン1102を押下すると、入力部513からCPU514を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部1202bは、1次記憶部511に現在再生中のチャンネルの識別子を記憶する。図16(a)(b)及び(c)は、1次記憶部511に保存しているチャンネルの識別子の例である。図16(a)では識別子「3」が記憶されており、図15を参照し、チャンネル名「TV 3」のチャンネルが再生中であることを示す。図16(a)の状態で、ユーザが上カーソルボタン1101を押下すると再生部1202bは、図15のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「2」に書き換える。図16(b)は、チャンネル識別子が書き換えられた状態を表す。また、図16(a)の状態で、ユーザが下カーソルボタン1102を押下すると再生部1202bは、図15のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「4」に書き換える。図16(c)は、チャンネル識別子が書き換えられた状態を表す。
VM1203は、Java(登録商標)言語で記述されたプログラムを逐次解析し実行するJava(登録商標)バーチャルマシンである。Java(登録商標)言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Java(登録商標)バーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJava(登録商標)バーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。VM1203は、カーネル1201aに実行するJava(登録商標)プログラムを指定され起動される。本実施の形態では、カーネル1201aは、実行するJava(登録商標)プログラムとしてサービスマネージャ1204を指定する。Java(登録商標)言語の詳細は、書籍「Java(登録商標)Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Java(登録商標)バーチャルマシン自体の詳細な動作などは、「Java(登録商標)Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、Java(登録商標)言語で書かれたJava(登録商標)プログラムであり、VM1203によって逐次実行される。サービスマネージャ1204は、JNI(Java(登録商標)Native Interface)を通して、Java(登録商標)言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java(登録商標)Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、JNIを通して、再生部1202bよりチャンネルの識別子を受け取る。
サービスマネージャ1204は、最初にライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図15の行1412を参照して、対応するチューニング情報「156MHz」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
次にサービスマネージャ1204は、ライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
次にサービスマネージャ1204は、ライブラリ1205の中にあるJMF1205aにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にJMF1205aは、再生すべき映像と音声を特定するためのパケットIDをPAT、PMTから取得する。PATやPMTはMPEG2規格で規定されている、MPEG2トランスポートストリーム内の番組構成を表現するテーブルであり、MPEG2トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。PATは、Program Association Tableの略で、パケットID「0」のパケットに格納され送信されている。JMF1205aは、PATを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットID「0」とCPU514を指定する。TSデコーダ505がパケットID「0」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PATのパケットを収集する。図17は、収集したPATの情報の一例を模式的に表した表である。列1601は、プログラムナンバーである。列1602は、パケットIDである。列1602のパケットIDはPMTを取得するために用いられる。行1611〜1613は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1611はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図15の行1412を参照して、対応するプログラムナンバー「102」を獲得し、次に、図17のPATの行1612を参照し、プログラムナンバー「102」に対応するパケットID「502」を獲得する。PMTは、Program Map Tableの略で、PATで規定されたパケットIDのパケットに格納され送信されている。JMF1205aは、PMTを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットIDとCPU514を指定する。ここで、指定するパケットIDは「502」とする。TSデコーダ505がパケットID「502」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PMTのパケットを収集する。図18は、収集したPMTの情報の一例を模式的に表した表である。列1701は、ストリーム種別であり。列1702は、パケットIDである。列1702で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1703は補足情報である。行1711〜1714はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行1711は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図18を参照して、JMF1205aは、行1711から音声のパケットID「5011」を、行1712から映像のパケットID「5012」を獲得する。
次に、JMF1205aは、OS1201のライブラリ1201bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダ506、映像のパケットIDと出力先としてビデオデコーダ508の組を、TSデコーダ505に与える。TSデコーダ505は与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパケットID「5011」のパケットをオーディオデコーダ506に、パケットID「5012」のパケットをビデオデコーダ508に引き渡す。オーディオデコーダ506は、与えられたパケットのデジタル−アナログ変換を行いスピーカ507を通して音声を再生する。ビデオデコーダ508は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ509に映像を表示する。
最後にサービスマネージャ1204は、ライブラリ1205の中にあるAM1205bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJava(登録商標)プログラムを抽出し、VM1203に実行させることである。MPEG2トランスポートストリームにJava(登録商標)プログラムを埋め込む方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJava(登録商標)プログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、OCAP仕様(正式には、OCAP 1.0 Profile OC−SP−OCAP1.0−IF−I09−031121)に定義されている、Application Information Tableの略である。
AM1205bは、まず、AITを獲得するため、JMF1205a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図17のPAT、図18のPMTが送信されていると、JMF1205aと同様の手順で、図18のPMTを獲得する。AM1205bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからパケットIDを抽出する。図18を参照して、行1713のエレメンタリ−ストリームが該当し、パケットID「5013」を獲得する。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、AITのパケットを収集することができる。図19は、収集したAITの情報の一例を模式的に表した表である。列1801はJava(登録商標)プログラムの識別子である。列1802はJava(登録商標)プログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置500がこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意味する。列1803は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列1804はJava(登録商標)プログラムのプログラム名である。行1811と1812は、Java(登録商標)プログラムの情報の組である。行1811で定義されるJava(登録商標)プログラムは、識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。行1812で定義されるJava(登録商標)プログラムは、識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで2つのJava(登録商標)プログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に2つのJava(登録商標)プログラムが含まれていることを表す。ここでは、Java(登録商標)プログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はOCAP仕様(OCAP 1.0 Profile OC−SP−OCAP1.0−IF−I09−031121)を参照されたい。
AM1205bは、AITの中から「autostart」のJava(登録商標)プログラムを見つけ出し、対応するDSMCC識別子及びJava(登録商標)プログラム名を抽出する。図19を参照して、AM1205bは行1811のJava(登録商標)プログラムを抽出し、DSMCC識別子「1」及びJava(登録商標)プログラム名「a/TopXlet」を獲得する。
次にAM1205bは、AITから取得したDSMCC識別子を用いて、Java(登録商標)プログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図18とすると、行1714のエレメンタリ−ストリームが合致し、パケットID「5014」を取り出す。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、必要なパケットを収集することができる。AM1205bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
図20は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、1901はルートディレクトリ、1902はディレクトリ「a」、1903はディレクトリ「b」、1904はファイル「TopXlet.class」、1905はファイル「GameXlet.class」である。
次にAM1205bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJava(登録商標)プログラムをVM1203に引き渡す。今、実行するJava(登録商標)プログラム名が「a/TopXlet」とすると、Java(登録商標)プログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図20を参照して、ファイル1904が実行すべきJava(登録商標)プログラムである。次にAM1205bは、ファイル1904をVM1203に引き渡す。
VM1203は、引き渡されたJava(登録商標)プログラムを実行する。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、ライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJava(登録商標)プログラムの実行を、同じくライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJava(登録商標)プログラムの実行を行う。
ライブラリ1205は、ROM512に格納されている複数のJava(登録商標)ライブラリの集合である。本実施の形態では、ライブラリ1205は、JMF1205a、AM1205b、Tuner1205c、CA1205d、POD Lib1205e等を含んでいる。
次に、Java(登録商標)プログラムのダウンロード・保存及び実行機能について説明する。
サービスマネージャ1204は、ライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101との通信によりヘッドエンド101からの情報を受け取ることができる。この通信は、POD Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502を使用して実現される。
サービスマネージャ1204は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJava(登録商標)プログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。どのような送信形式を採用しても、XAIT情報に必要とする情報が含まれていれば、本発明は実施可能である。
図21は、ヘッドエンド101から取得したXAIT情報の一例を模式的に表した図である。列2001はJava(登録商標)プログラムの識別子である。列2002はJava(登録商標)プログラムの制御情報である。制御情報には「autostart」「present」などがあり、「autostart」は端末装置500が電源投入時またはXAIT情報が更新された時にこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味する。列2003は、プロトコル識別子である。プロトコル識別子は、プログラムのダウンロードを行うために利用できるプロトコルを表す。プロトコル識別子には、「OC(Object Carousel)」と「IP」などがある。「OC」は、DSMCC方式でエンコードされたファイルシステムからダウンロードを行えることをあらわす。また、「IP」はネットワークを用いてプログラムのダウンロードを行えることを示している。また、「OC」と「IP」の両方からダウンロードできる場合は両方を記述することもできる。列2004は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。そのため、列2003のプロトコル識別子に「OC」が存在するときのみ存在する。列2005は、列2003で示したプロトコルのダウンロード元指定である。プロトコル識別子2003の「OC」指定に対応したダウンロード元指定は、DSMCC方式でエンコードされたファイルシステムが埋め込まれたトランスポートストリームとそのトランスポートストリーム中のPMT(図18参照)を一意に特定できる識別子及び、エレメンタリーストリームの識別子を指定する。これ以降、簡単化のため、トランスポートストリームとそのトランスポートストリーム中のPMT(図18参照)を一意に特定できる識別子をソースIDと呼ぶこととする。また、プロトコル識別子2003の「IP」指定に対応したダウンロード元指定は、プログラムのダウンロードを提供するサーバと、プログラムが保存されたディレクトリ名などを指定する。なお、ダウンロード元指定2005は、プロトコル識別子2003に対し複数存在してもよい。具体的には、プロトコル識別子2003に「OC」を指定し、この「OC」に対応したダウンロード元指定2005を複数記述することも可能である。また、プロトコル識別子2003が「IP」の場合も同じである。列2006はJava(登録商標)プログラムのプログラム名である。列2007は、Java(登録商標)プログラムのストア優先度である。ストア優先度はXAIT情報に記述される個々のJava(登録商標)プログラムに指定される値であり、Java(登録商標)プログラム及びJava(登録商標)プログラムの実行に必要なデータを保存する際に、2次記憶部510へ保存するJava(登録商標)プログラム及びJava(登録商標)プログラムの実行に必要なデータを決めるための優先度である。列2008は、Java(登録商標)プログラムのアプリケーション名である。アプリケーション名は、ユーザがJava(登録商標)プログラムを識別するための名前である。行2011と2012と2013は、Java(登録商標)プログラムの情報の組である。行2011で定義されるJava(登録商標)プログラムは、識別子「701」、制御情報「autostart」、プロトコル識別子「OC」、DSMCC識別子「1」、ダウンロード元指定「dsmcc://0xAAAA,0x11」、プログラム名「a/APP1Xlet」、ストア優先度「100」、アプリケーション名「APP1」の組である。ここでは、Java(登録商標)プログラムに対して8つの情報しか規定しないが、より多くの情報あるいは、この一部が定義されていても本発明は実施可能である。また、ここでは、各情報の記述の例を示しているが、各情報が持つべき内容を示すことが可能であれば、この記述に従わなくても本発明は実施可能である。
なお、列2007のアプリケーション名は、例えば、ユーザに対してXAIT情報に記述された各Java(登録商標)プログラムを識別させるために用いられる名前であるが、ユーザに提示してユーザがJava(登録商標)プログラムを識別するのに十分な情報があれば、アプリケーション名はなくても本発明は実施可能である。
図22は、図21におけるプロトコル識別子2003と、ダウンロード元となるJava(登録商標)プログラムが存在するファイルシステムとの関係を模式的に表したものである。図22において、図21と同じ要素には、図21と同じ符号を付し説明を省略する。2110はトランスポートストリーム上にあるDSMCC方式でエンコードされたファイルシステムを示す。また、2120は、プログラムのダウンロードを提供するサーバ上にあるファイルシステムを示す。行2011で定義されるJava(登録商標)プログラムは、列2003に示されるプロトコル識別子が「OC」のみであるため、2110に示したファイルシステム上にのみ存在する。また、行2012で定義されるJava(登録商標)プログラムは、列2003に示されるプロトコル識別子が「IP」のみであるため、2120に示したサーバ上のファイルシステムにのみ存在する。また行2013で定義されるJava(登録商標)プログラムは、プロトコル識別子2003に「OC」と「IP」の両方が設定されているため、2110に示したファイルシステム上と2120に示したサーバ上のファイルシステムの両方に存在する。このため、プログラムのダウンロードを行うときには、このどちらから取得するかを選択することができる。この選択する方針については後述する。なお、ここでは各Java(登録商標)プログラムに対して、OCあるいはIPを一個ずつ設定しているが、これらが複数存在してもよい。
次にサービスマネージャ1204は、ライブラリ1205の中にあるAM1205bにXAIT情報を受け渡し、XAIT情報に記述されるJava(登録商標)プログラムをプロトコル識別子2003とダウンロード元指定2005に基づきプログラムのダウンロード及び実行を依頼する。AM1205bは、XAIT情報を受け取ると、プロトコル識別子2003を参照し、ダウンロード方法を決定する。AM1205bが決定したダウンロード方法が「OC」の場合は、AIT情報からJava(登録商標)プログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムを1次記憶部511に保存する。一方、「IP」の場合は、ダウンロード元指定2005の内容に従い、プログラムのダウンロードを提供するサーバから1次記憶部511にプログラムをダウンロードし保存する。また、ここでダウンロードしたプログラムをAM1205bは、XAIT情報のファイル名で指定されたディレクトリ構造に一致するようにファイルシステムを構築し保存することもできる。具体的には、行702で定義されるアプリケーションでは、プログラム名2006で示されたようにルートディレクトリからbディレクトリを作成し、その中にダウンロードしたプログラムApp2Xlet.classを保存することもできる。なお、図21、図22に示したダウンロード元指定2005は、HTTPのプロトコルを使ってHTTPサーバからプログラムを取得する例を示している。具体例として、図21の行2012に記されたプログラムのダウンロード元指定2005は「http://192.168.0.1/BB」である。このダウンロード元指定2005の「http」はhttpプロトコルを使うことを示し、「192.168.0.1」はプログラムのダウンロードを提供するHTTPサーバのIPアドレスを示し、「/BB」は、HTTPサーバ内に存在するダウンロードするプログラムへのディレクトリのパスを示す。なお、ここではHTTPプロトコル及びHTTPサーバを用いたネットワークからのダウンロード方法を述べたが、この他の方法で取得してもよい。その後、1次記憶部511に保存したファイルシステムを2次記憶部510に複写してもよい。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。また、1次記憶部511で処理し、2次記憶部510へ保存しなくてもよい。なお、ここではプロトコル識別子として、「OC」と「IP」を説明したが、「記録媒体」から取得することや、これ以外の方法であってもよい。
次に、AM1205bは、ダウンロードあるいは構築したファイルシステムの格納位置をXAIT情報に対応つけて2次記憶部510に保存する。図23は、2次記憶部510において、XAIT情報とダウンロードあるいは構築したファイルシステムが対応付けられて保存されている一例を表す。図23において、図22と同じ要素には、図22と同じ符号を付し説明を省略する。列2201は、各Java(登録商標)プログラムごとに対応するダウンロードあるいは構築したファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。2210はダウンロードあるいは構築したファイルシステムであり、内部にトップディレクトリ2211、ディレクトリ「a」2212、ディレクトリ「b」2213、ディレクトリ「c」2214、ファイル「APP1Xlet.class」2115、ファイル「APP2Xlet.class」2116、ファイル「APP3Xlet.class」2117を保持する。
ここでAM1205bは、Java(登録商標)プログラムを保存してからXAIT情報を保存しているが、Java(登録商標)プログラムを保存する前にXAIT情報を保存することでも実施可能である。なお、XAIT情報を2次記憶510に保存しているが、1次記憶部511に保存することも実施可能である。1次記憶部511に保存する場合、電源OFF時に、保存されたXAIT情報は全て消える。
ここで、ファイルシステムは、具体的には、XAIT情報に記述される複数のJava(登録商標)プログラム及びJava(登録商標)プログラムの実行に必要なデータから形成される。以降、XAIT情報に記述される個々のJava(登録商標)プログラム及びJava(登録商標)プログラムの実行に必要なデータを、アプリケーションと呼ぶ。さらに、アプリケーションを2次記憶部510あるいは1次記憶部511にダウンロードすることを以降、ストアと呼ぶ。またさらに、2次記憶部510あるいは1次記憶部511にあって、アプリケーションをストアするための領域をストア領域と呼ぶ。また、VM1203がアプリケーションを構成するJava(登録商標)プログラムを実行することをアプリケーションの実行と呼ぶ。
図24はXAIT情報に記述されるアプリケーションがアプリケーションのストア領域2301にストアされている状態を示す一例である。図24の中で、アプリケーションのストア領域2301は、アプリケーション名「APP1」をもつアプリケーション2311、および、アプリケーション名「APP2」を持つアプリケーション2312を格納する。
次にAM1205bは、1次記憶部511または2次記憶部510に保存されたXAIT情報を参照して、1次記憶部511にダウンロードしたアプリケーション、または2次記憶部510のストア領域2301にストアしたアプリケーションの中から「autostart」と指定されたアプリケーションのJava(登録商標)プログラムをVM1203に引き渡す。図23を参照して、行2011で定義されるアプリケーション「APP1」のJava(登録商標)プログラム「a/APP1Xlet」がVM1203に引き渡される。実行するアプリケーションのJava(登録商標)プログラム名が「a/APP1Xlet」とすると、Java(登録商標)プログラム名の最後に「.class」を付加したファイル「a/APP1Xlet.class」が実行すべきファイルとなる。VM1203は、引き渡されたアプリケーションのJava(登録商標)プログラムを実行する。以降、AM1205bからのVM1203へのアプリケーションのJava(登録商標)プログラム引渡しを、VM1203へのアプリケーション起動指示と呼ぶ。
ここで、AM1205bがXAIT情報を受け取った時点において、XAIT情報に記述されたアプリケーションのうち、既にストアされているアプリケーションが存在する場合、既にストアされているアプリケーションに関しては、アプリケーションをダウンロードまたはストアする必要がないため、ストア処理を省略することができる。
従って、アプリケーションを前もってストア領域2301にストアしておくことで、AM1250bがXAIT情報を受け取った時点から、VM1203へのアプリケーション起動指示を行うまでの時間を短縮することができる。なお、アプリケーションのストア処理を行うか否かについては、ストア優先度2007を利用することができる。一例としてストア優先度が11以上ならストアすることとし、11より小さいとストアしないこととする。この判断基準は、アプリのストア処理を行うか否かが分かればいいので、11でなくてもよい。また、ストア優先度2007とは別の情報として提供してもよい。
図25と図26はAM1250bが、XAIT情報を受け取った時点から、VM1203へのアプリケーション起動指示を行うまでの動作の一例を示すフローチャートである。図25は、XAIT情報を受け取ってからストア処理を完了するまでのフローチャート部分であり、図26はストア処理後、アプリケーションの起動を行う際のフローチャートである。図25を参照して、AM1205bがXAIT情報を受け取ると(S2401)、XAIT情報に記述のアプリケーションの中からまだ選ばれていないものを1つ選ぶ(S2402)。ここで、AM1205bは、ストア優先度2007を参照し、前述したような判断基準に従い、アプリケーションをストアするか否かを判断する(S2403)。このとき、アプリケーションをストアする場合(S2403でYES)は、AM1205bはS2402で選んだアプリケーションが既にストアされているか否かを判断し(S2404)、ストアされていない場合(S2404でNO)、AM1205bは、アプリケーションをプロトコル識別子2003に記述されたプロトコルとダウンロード元指定2005からダウンロード元を決定し、ダウンロードを行いストアする(S2405)。なお、DSMCCからのダウンロードを行う場合は、DSMCC識別子2004も参照する。S2403においてアプリケーションをストアしないと判断した場合(S2403でNO)、または、S2404においてアプリケーションが既にストアされている場合(S2404でYES)、またはS2405の処理をすると、AM1205bは、XAIT情報記述のアプリケーションを全て選択したか否かを判断し(S2406)、未だXAIT情報記述の全てのアプリケーションを選択していない場合(S2406でNO)、S2402からの処理を繰り返す。S2406において、XAIT情報記述のアプリケーションをすべて選択したと判断すると、次にAM1205bは、図26に従い、アプリケーションの起動を行う。AM1205bは、再びXAIT情報に記述のアプリケーションを選ばれていないものから順に1つずつ選ぶ(S2501)。次に、AM1205bは、選んだアプリケーションの制御情報2002が「autostart」か否かを判断し(S2502)、選んだアプリケーションの制御情報が「autostart」の場合(S2502でYES)、AM1205bはアプリケーションがストアされているか否かを判断する(S2503)。ストアされていない場合(S2503でNO)、AM1205bは、アプリケーションをプロトコル識別子2003に記述されたプロトコルとダウンロード元指定2005からダウンロード元を決定し、ダウンロードを行いストアする(S2504)。なお、DSMCCからのダウンロードを行う場合は、DSMCC識別子2004も参照する。
次に、AM1205bは、VM1203へのアプリケーション起動指示を行う(S2505)。そして、AM1205bは、XAIT情報記述のアプリケーションを全て選択したか否かを判断し(S2506)、未だXAIT情報記述の全てのアプリケーションを選択していない場合(S2506でNO)、S2501からの処理を繰り返す。S2506において、XAIT情報記述のアプリケーションをすべて選択したと判断する(S2506でYES)と、処理を終了する。
こうして、XAIT情報の受け取りからアプリケーションのストア処理と起動指示までの処理を進め、既にXAIT情報記述の全てのアプリケーションを選択している場合には処理を終了する。図25と図26では、アプリケーションのストア処理と起動指示を、別々に処理する手順を示したが、これらは一回の繰り返しの中で処理してもよい。
なお、ここでは、AM1205bはアプリケーションのダウンロードまたはストア領域へのストア完了後に、VM1203bへアプリケーションの起動指示を出すものとして説明しているが、AM1205bがXAIT情報の受け取り後、アプリケーションのダウンロードまたはストア領域へのストアをする前に、VM1203へアプリケーションの起動指示を出してもよい。ここでの起動指示は、AM1205bがVM1203に実行すべきアプリケーションのプログラム名を引き渡すことにより実現するものとする。この場合、VM1203が、AM1205bからのアプリケーション起動指示後に、ダウンロードを行うか、または1次記憶部511またはストア領域からアプリケーションを読み込み実行することになる。
アプリケーションの起動は、図25や図26で示したようなXAIT情報を受け取ったときのみではない。AM1205bは、特殊な権限を持った実行中のアプリケーションに対し、他のアプリケーションの起動や停止などのライフサイクルを扱うことができるAPIを提供している。そのため、特殊な権限を持った実行中のアプリケーションは、起動したいアプリケーションの情報を指定し、このAPIを利用することでアプリケーションの起動をAM1205bへ要求することができる。この時のフローチャートを図27に示す。
特殊な権限を持った実行中のアプリケーションは、起動したいアプリケーションの情報を指定し、AM1205bが提供するアプリケーションの起動を行うAPIを呼ぶ(S2601)。このときAM1205bは、起動したいアプリケーションが既にストアされているか否かを調べる(S2602)。ここで、ストアされていない場合(S2602でNO)は、AM1205bは、アプリケーションをプロトコル識別子2003に記述されたプロトコルとダウンロード元指定2005からダウンロード元を決定し、ダウンロードを行いストアする(S2603)。次に、AM1205bは、VM1203へのアプリケーション起動指示を行い(S2505)、終了する。
AM1205bは、XAIT情報を受信した際に図25と図26の処理を行うため、XAIT情報の更新に伴い、ストア領域2301にストアされるアプリケーションが更新される。図28と図29を参照して、XAIT情報が更新されると、それにともないストア領域2301にストアされるアプリケーションが更新される場合がある。図28(a)は、行2011で定義されるアプリケーション「APP1」のXAIT情報を示し、図28(b)は、AM1205bが図28(a)のXAIT情報を受信し、図25、図26の処理を終了した時のストア領域2301を示す。図28(a)のXAIT情報には、行2011で定義されるアプリケーション「APP1」が一つ存在するので、図28(b)のストア領域2301には、「APP1」2311が一つストアされている。次に、ストア領域2301が図28(b)の状態で、図29(a)のXAIT情報を受信し、図25、図26の処理を終了した時の、ストア領域2301を図29(b)に示す。図29(a)は、行2011で定義されるアプリケーション「APP1」と行2012で定義されるアプリケーション「APP2」が記述されたXAIT情報である。図29(a)のXAIT情報をAM1205bが受信した際に、ストア領域2301は、図29(b)のように行2011で定義されるアプリケーション「APP1」2311と行2012で定義されるアプリケーション「APP2」2312の二つのアプリケーションがストアされる。
次に、本発明の主要機能である、XAIT情報を受け取ったAM1205bによる、XAIT情報に記述されたアプリケーションのストア機能時に必要なダウンロード元の決定とユーザへのメッセージ通知について説明する。具体的には、XAIT情報を受信した際のフローチャートとして示した図25と図26におけるS2405とS2504及び、特別な権限を持つアプリケーションがAM1205bのアプリ起動APIを呼んだ際のフローチャートとして示した図27のS2603の処理に関する。
図30は、AM1205bの構成のうち、ストア処理を行う際に、ダウンロード元を決定する構成要素のみを示す図である。他の構成要素は本発明とは直接関係ないので省略する。
AM1205bは、ダウンロード元決定部2901、チューニング周波数取得部2902、ダウンロード周波数取得部2903、ストア部2904、通知部2905、チューニング要求部2906を備える。なお、本実施の形態では、選択されたアプリケーションが、少なくとも一つのDSMCC方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCが指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定2005が明記されている場合を想定している。
ダウンロード元決定部2901は、プログラムのダウンロード元を決定する。そのため、XAIT情報のプロトコル識別子2003とダウンロード元指定2005の情報を受信する。ここで、ダウンロード元決定部2901は、選択されたアプリケーションがどのようなプロトコル識別子2003を持っているかを判断する。ダウンロード元を決定するため、ダウンロード元決定部2901は、チューニング周波数取得部2902から現在のチューニング情報を取得し、ダウンロード周波数取得部2903からアプリケーションをダウンロードするために必要な周波数を取得する。ここで、周波数と記述しているが、チューニングに必要な情報を代表して記述しているため、この他のチューニングに必要な情報である変調方式や内符号率などもあわせて処理してもよい。以下、周波数に関する記述は全て同様である。ダウンロード元決定部2901は、チューニング周波数取得部2902から、チューナの使用状況と使用中の各チューナがチューニングしている周波数を取得する。また本発明は、使用したいチューナが存在するか否かが問題であり、チューナの数はいくつであっても適用できる。また、本発明は、ダウンロード元指定2005にOCからの複数のダウンロード元が指定されていても実施できる。つまり、ダウンロード元決定部2901は、XAIT情報を参照し現在選択されているアプリケーションのプロトコル識別子2003にOCがある場合、ダウンロード元指定2005から全てのソースIDを取得し、ダウンロード周波数取得部2903へ渡し、ダウンロード周波数取得部2903から、そのソースIDで示したPMTで伝送されるチャンネルが存在するトランスポートストリームが流れている全ての周波数を受け取る。そして、現在のチューニング情報と比較することで、ダウンロード元を決定する。また、ダウンロード元決定部2901は、ダウンロード元を決定後に、通知部2905への通知指示と、チューニング要求部2906へのチューニング要求指示と、ストア部2904へアプリケーションのストア指示を行う。なお、チューニング要求部2906へのチューニング要求指示では、チューニングしたいアプリケーションのソースIDと使用するチューナを指定する。この時、端末装置500がプログラムのダウンロードに複数のチューナを使用できる場合は、ダウンロード元決定部2901は、どのチューナを使用するかという方針を決定するため、次のような優先度の一例を考える。これらは、単独で使用してもよいし、複数の組み合わせで使用してもよい。
1)使用されていないチューナが存在したら、そのチューナを優先的に使用する。
2)ユーザがPicture in Pictureのように、ひとつの画面で複数の番組を視聴している場合は、各番組が異なる周波数で伝送されていることがある。この時は、ユーザは複数のチューナを使用しており、このチューナを使用する場合は、ユーザへの影響を少なくするため、大画面で視聴しているサービスを優先的に処理し、ユーザへの影響の少ない小画面で流れている番組をチューニングしているチューナを使用することができる。当然、逆も可能である。
3)ユーザが録画と視聴を同時に行っている場合は、録画を優先的に処理し、視聴中の番組をチューニングしているチューナを使用してもよい。逆も可能である。
4)PPV(Pay Per View)などによって、ユーザが購入した番組と無料の番組が選択された場合は、ユーザが購入した番組の優先的に処理し、無料の番組をチューニングしているチューナを使用してもよい。逆も可能である。
なお、ここではダウンロード元決定部2901が、使用するチューナの決定を行う方針としたが、チューナを選択する優先度がこれらの方針に従っていれば、本処理を実行するのが、ダウンロード元決定部2901である必要はない。例えば、ダウンロード元決定部2901は、チューニング要求部2906へソースIDの指定のみを行い、チューニング要求部2906内で使用するチューナを選択する方針としてもよい。また、ダウンロード元決定部2901及びチューニング要求部2906は、ソースIDを指定するのみで、チューナライブラリ1205cが使用するチューナを決定するという方針でもよい。
また、ストア完了後、ストア部2904から通知を受信し、アプリケーションのダウンロードを行う前の周波数へチューニングを再設定するため、チューニング要求部2906へ通知することもできる。
チューニング周波数取得部2902は、チューナの使用状況と、使用中の各チューナがチューニングしている周波数をダウンロード元決定部2901へ通知する。ここでチューニング周波数取得部2902は、チューナの使用状況と使用中の各チューナがチューニングしている周波数の取得を、チューナライブラリ1205cがチューナへチューニング要求を行うために管理する情報から取得することで実現する。なお、ここではチューナライブラリ1205cが管理する情報から取得する例を示したが、チューナの使用状況と使用中の各チューナがチューニングしている周波数が取得できれば、他の方法で実現してもよい。複数チューナがある場合はチューニング中の全ての周波数を取得し、これらの結果を配列で通知する。なお、ここでは配列で通知するとしたが、本発明は通知方法に依存しないため、他の通知方法でもよい。また、周波数の値を直接通知するのではなく、ダウンロード元決定部2901とチューニング周波数取得部2902が解釈できる識別子であってもよい。また、ここではチューニング周波数取得部をAM1205bの一部として記述したが、チューナライブラリ1205cの一部として存在し、このチューナライブラリ1205cとダウンロード元決定部2901が通信をするようにしてもよい。
ダウンロード周波数取得部2903は、ダウンロード元決定部2901からソースIDを受信し、ソースIDから周波数情報を取得し、ダウンロード元決定部2901へ通知することで、アプリケーションのダウンロードに必要な周波数を通知する。ここで、周波数の値を直接通知するのではなく、ダウンロード元決定部2901とダウンロード周波数取得部2903が解釈できる識別子であってもよい。ダウンロード元決定部2901では、ソースIDから周波数への変換を行う必要がある。ソースIDから周波数を取得するためには、InbandのトランスポートストリームあるいはOOBから、周波数情報などチューニングに必要な情報を伝送しているNITとソースIDを基にして仮想的なチャンネルのテーブルを保持するSVCTというSI(Service Information)情報を取得する必要がある。または、SVCTに加え更に付加情報を保持するLVCTというSI情報を取得してもよい。このソースIDから周波数を取得する技術は、公知の技術であり詳細は、Cable Television SCTE65を参照されたい。また、ここではOCAP仕様で実現する場合を前提として記述しているが、これ以外の方法でソースIDと周波数の関係を解決してもよい。また、ここではチューニング周波数取得部をAM1205bの一部として記述したが、SI情報を扱う専門のモジュールの一部として存在し、このSI情報を扱う専門のモジュールとダウンロード元決定部2901が通信をするようにしてもよい。
ストア部2904は、ダウンロード元決定部2901が決定したダウンロード元からアプリケーションをダウンロードしストアする。
通知部2905は、ダウンロード元決定部2901の決定結果に従い、ユーザにアプリケーションがダウンロードされることを通知する。ここで、通知部2905によるユーザへのアプリケーションダウンロード通知は、通知部2905が端末装置500のCPU514に画面に表示したいダウンロード通知情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、ダウンロード通知をディスプレイ509に表示することにより実現される。ここで、ダイアログは、例えば一定時間経過後にディスプレイ509から消すものとする。
チューニング要求部2906は、ダウンロード元決定部2901によって指定されたチューニング要求に従い、指定されたアプリケーションが流れているトランスポートストリームへ、指定されたチューナを用いてチューニングを行う。
また、ここではチューニング要求部2906をAM1205bの一部として記述したが、チューナライブラリ1205cの一部として存在し、このチューナライブラリ1205cとダウンロード元決定部2901が通信を行うことで実現してもよい。
図31、図32は、本実施の形態におけるXAIT情報を受け取ったAM1205bによる、アプリケーションのストア処理動作の一例を示すフローチャートである。特に、XAIT情報に記述されるアプリケーションをDSMCC方式でエンコードされたファイルシステムからダウンロードし、ストア領域2201へストアする際に、現在チューニングされている周波数とは異なる周波数からダウンロードする必要がある場合の、AM1205bのストア処理動作の一例を示すフローチャートである。
図31、図32を参照して、ダウンロード元決定部2901は、選択されているアプリケーションのXAIT情報を受信する(S3001)。この時、選択されているアプリケーションのプロトコル識別子2003にOCが存在することを確認する。次に、ダウンロード元決定部2901は、チューニング周波数取得部2902から現在チューニング中の周波数を取得する(S3002)。この時、複数のチューナが存在する場合は、チューニング中の全ての周波数を取得する。次にダウンロード元決定部2901は、ダウンロード周波数取得部2903からアプリケーションの周波数を取得する(S3003)。ダウンロード元決定部2901は、S3002で取得した現在チューニングされている周波数とS3003で取得したアプリケーションの周波数を比較することで、現在のチューニングを変更することなくアプリケーションのダウンロードが行えるか否かを判断する(S3004)。このとき、アプリケーションをダウンロードする周波数が、現在のチューニングされている周波数になかった場合(S3004でNO)、ダウンロード元決定部2901は、チューニング周波数取得部2902へチューナの使用状況を問い合わせる(S3005)。この時、チューナが全て使用中の場合(S3005でYES)は、ダウンロード元決定部2901は、通知部2905へダウンロードするため、現在の視聴あるいは録画が妨げられる旨を伝えるメッセージ通知を指示する。そして、通知部2905はユーザにアプリケーションがダウンロードされることを通知する(図32のS3101)。なお、図32のS3101の処理は、通知モジュールとして、これ以降、同様の処理をする際に参照することとする。ここで、通知部2905によるユーザへのアプリケーションダウンロード通知は、通知部2905が端末装置500のCPU514に画面に表示したいダウンロード通知情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、図33に示すようなダウンロード通知をディスプレイ509に表示することにより実現される。3201はダイアログボックスであり、メッセージ3202の表示要素をもつ。なお、メッセージ3202の文字列は、ユーザにアプリケーションのダウンロードを通知する為に必要な情報を提供できる方法であれば、図33中の文字列に限定されず他の文字列であってもよく、また、メッセージ3202の形式は文字列に限定されず他の形式であってもよい。また更に、ダイアログボックス3201の表示要素は、図33の表示要素に限定されず、ユーザにアプリケーションのダウンロードを行うこと、あるいは現在の視聴あるいは録画が妨げられること、あるいはこの両方の内容を通知できるものであれば、他の表示要素であってもよい。続いて、ユーザへのメッセージ通知後とチューナが全て使用中でなかった場合(つまり、使用していないチューナが存在した場合(S3005でNO))、ダウンロード元決定部2901は、チューニング要求部2906へアプリケーションのダウンロードが行える周波数のチューニング要求を行う(S3006)。チューニング要求部2906は、この要求を受けチューニングを開始する。そして、ダウンロード元決定部2901はストア部2904へ、アプリケーションのダウンロード及びストアを指示する。ストア部2904は、この指示を受け、指定されたアプリケーションのダウンロードとストアを行う。なお、ストア部はストアの完了後にダウンロード元決定部2901の呼び出しもとの実行へもどるようにしてもよいし、完了時にダウンロード元決定部へメッセージを通知することで知らせても良い。また、呼び出しの返り値によって、ストア成功か否かを通知するようにしてもよい。こうして、指定されたアプリケーションのストア処理を行い終了する。
なお、ここで、通知部2905によるユーザへのアプリケーションダウンロード通知は、通知部2905が端末装置500のCPU514に画面に表示したいダウンロード通知情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、ダウンロード通知をディスプレイ509に表示することにより実現しているが、通知部2905によるユーザへのダウンロード通知は、リモコンの液晶画面にダウンロード通知を表示する、或いは、図34を参照して、端末装置本体の7セグLED3302にダウンロード通知を表示する、あるいは端末装置本体のランプ3301を点灯するなど、ユーザがアプリケーションのダウンロードを検知できる方法であれば、その他の方法であっても実施可能である。図34において、図7と同じ要素には図7と同じ符号を付し説明を省略する。
またここで、アプリケーションのダウンロード時に、通知部2905は、ダウンロードの進捗具合をユーザへ通知してもよいし、「loading」などのメッセージの表示をおこなってもよいし、別の映像・音声に切り替えても良い。このとき表示する映像・音声は、端末装置内に保存しているものであってもよいし、アプリケーションのダウンロードを行っているトランスポートストリーム内に存在する映像・音声であってもよい。また、アプリケーションのダウンロードを行っているトランスポートストリーム内の番組をユーザへ通知し、ユーザが選択した番組の映像・音声に切り替えても良い。
また、本実施の形態において、AM1205bによるXAIT情報の受け取りは、端末装置500の電源投入時または、XAIT情報が更新された時に行う。つまり、本実施の形態において、AM1205bによるXAIT情報の受け取りは、端末装置500の電源投入時におけるAM1205bによるXAIT情報の受け取りと、端末装置500が起動後にXAIT情報が更新された時における、AM1205bによるXAIT情報の受け取りを対象としているが、XAIT情報の更新は、ヘッドエンド101から送信されるXAIT情報そのものの更新だけでなく、AM1205bやアプリケーションによるXAIT情報の更新等、他の方法であっても本発明は実施可能であり、これ以降の実施の形態においても適用することができる。
ここで、このような、アプリケーションによるXAIT情報の更新は、AM1205bが特別な権限をもつアプリケーションに対して、XAIT情報の更新を行うためのAPIを用意することにより実現する。XAIT情報の更新を行うためのAPIには、特別な権限をもつアプリケーションが新規に作成したXAIT情報を登録可能とするものや、既にAM1205bが1次記憶または2次記憶に保存しているXAIT情報を修正可能とするもの等がある。
このようなXAIT情報の更新を行うためのAPIは公知の技術にて実現されている。例えば、XAIT情報を登録するAPIは、OCAP仕様(OCAP 1.0 Profile OC−SP−OCAP1.0−IF−I09−031121)のAnnexG OCAP 1.0 Application APIにおいて、org.ocap.application.AppManagerProxyクラスのregisterUnboundAppメソッドとして定義されている。特別な権限をもつアプリケーションがXAIT情報を登録するAPIを用いて、新規のXAIT情報を登録(特別な権限をもつアプリケーションが新規に作成したXAIT情報の登録)を行った際には、AM1205bは、その特別な権限をもつアプリケーションにより登録されたXAIT情報を、XAIT情報の更新として受け取る。
以上のように実施の形態1を適用することにより、現在のチューニングされている周波数と異なる周波数からアプリケーションのダウンロードを行う場合、ユーザの視聴あるいは録画中の映像・音声などのサービスの停止を事前にユーザへ通知することができる。これにより、突然視聴あるいは録画ができなくなるのを回避することができる。
(実施の形態2)
実施の形態1では、ダウンロード元決定部2901が、アプリケーションのダウンロード元を決定した場合、通知部2905は、ユーザへアプリケーションがダウンロードされるために現在の視聴あるいは録画が中断されることを通知するものの、ユーザによる確認の有無は判断していなかった。そこで、本実施の形態では、実施の形態1に加え、ユーザからの応答を受け付ける応答受付部(図35の3507)を備える。図35を参照して、図30と同じ番号で示すものは、図30と同じ機能を持つため、本実施の形態では説明を省く。なお、本実施の形態では実施の形態1と同様に、選択されたアプリケーションが、少なくとも一つのDSMCC方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCの設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定が明記されている場合を想定している。ダウンロード元決定部3501は、ダウンロード元決定部2901に加え、応答受付部3507へ応答受付指示を行い、ユーザ応答を受信する。このユーザ応答を受信後に、チューニング要求部2906へチューニング要求を指示とストア部2904へストア指示を行うことを特徴とする。
応答受付部3507は、ダウンロード元決定部3501から応答受付指示を受信後、ユーザの応答を待ち、ユーザの応答を受信後、ダウンロード決定部3501へユーザの応答を通知する。なお、ユーザからの応答を待つ応答受付部3507は、ユーザからの応答待ちを行う制限時間を決定しておき、制限時間経過後もユーザからの応答がないときは、応答受付部3507によって独自判断を行うという方針にしてもよい。応答受付部3507は、ユーザが通知部2905の表示した画面に従い、リモコンに割り当てられた十字キーやOKキーを押下することにより実現される。
図36及び図37に通知部が表示する画面の一例を示す。図36は実施の形態1で示した図33に加えOKボタン3603を備える。更に、図37は実施の形態1で示した図33に加え、Yesボタン3703とNoボタン3704を備える。この時、ユーザへ通知するメッセージ内容は、ユーザへダウンロードのためにユーザの視聴あるいは録画が中断することを通知するメッセージであれば3602及び3702に限る必要はない。また、メッセージはテキスト表示でなくても他の表現で提示されてもよい。また、3603及び3703、3704のボタン内の文字列も、この内容に限る必要はない。また更に、図33、図36、図37は、ユーザにアプリケーションのダウンロード及び視聴あるいは録画の中断を通知し、ユーザがダウンロード通知の確認を選択したことをCPU514が認識できるものであれば、他の表示要素であってもよい。
図38は、本実施の形態において、図36のようなユーザの承認のみを受け付ける場合におけるアプリケーションのストア処理動作の一例を示すフローチャートである。
なお、図38は、実施の形態1で示したフローチャート図31の一部である図32の処理を置き換える形で示す。図31の処理は、実施の形態1と同じ処理のため、説明を省略する。図31のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合は、図38を参照して、ダウンロード元決定部3501は、通知部2905に対し、アプリケーションがダウンロードされ、現在の視聴あるいは録画が中断されることを通知するよう指示し、通知部2905は、ダウンロード元決定部3501からの指示に従いユーザへメッセージを通知する(S3801)。その後、ダウンロード元決定部3501は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザからの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部3501へユーザ確認情報を通知する(S3802)。なお、図38のS3801とS3802の処理は、通知・応答モジュール1として、これ以降同様の処理をする際に参照することとする。この通知を受け、ダウンロード元決定部3501は、チューニング要求部2906へ、ダウンロードするアプリケーションが流れるトランスポートストリームの周波数へのチューニングを支持し、その後ストア部2904へアプリケーションのダウンロード及びストア要求を出すことで、アプリケーションのダウンロードを行う。
次に、図37のようなユーザの承認あるいは拒否を受け付ける場合のアプリケーションのストア処理動作の一例をフローチャート図39と図40に示す。
まず、図39は図31に加え、ユーザの拒否応答に対応するため、図40からの処理の戻りを示すS3910を追加した。このため、図39については、図31と同じ処理を示すため説明を省く。そこで、図39のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合(S3005でYES)は、図40を参照して、ダウンロード元決定部3501は、通知部2905へアプリケーションがダウンロードされ、現在の視聴あるいは録画が中断されることを通知するよう通知部2905へ指示し、通知部は、ユーザへメッセージを通知する(S4001)。その後、ダウンロード元決定部3501は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部3501へユーザ確認情報を通知する(S4002)。この通知を受け、ダウンロード元決定部3501は、ユーザの応答がダウンロード許可あるいは拒否であったかを考慮し(S4003)、許可された場合(S4003YES)は、ダウンロードを行うことができるため、図39のAの処理へ戻り、拒否された場合(S4003でNO)は、ダウンロードを行うことができないため、図39のBの処理へ戻る。そして、Aの処理へ戻ると、ダウンロード元決定部3501は、チューニング要求部2906へ、ダウンロードするアプリケーションが流れるトランスポートストリームの周波数へのチューニングを支持し、その後ストア部2904へアプリケーションのダウンロード及びストア要求を出すことで、アプリケーションのダウンロードを行う。また、Bの処理に戻ると、ダウンロードを行わないため、そのまま処理を終了する。なお、図40のS4001〜S4003の処理は、通知・応答モジュール2として、これ以降同様の処理をする際に参照することとする。
なお、本実施の形態で示した、ユーザからの応答を待つ応答受付部3507は、ユーザからの応答待ちを行う制限時間を決定しておき、制限時間経過後もユーザからの応答がないときは、応答受付部3507によって独自判断を行うという方針にしてもよい。
このように、実施の形態2により、アプリケーションのダウンロードにおいて、現在のユーザの視聴あるいは録画が中断されることをユーザへ通知し、ユーザの応答を受信することで、ユーザはダウンロード処理を知ると共に、ダウンロード処理を拒否することも可能になる。これにより、ユーザの視聴あるいは録画を続けることが可能になる。
(実施の形態3)
実施の形態2では、ユーザからの応答を受け付け、ユーザがアプリケーションのダウンロードを拒否することができた。しかしながら、拒否を行った際には、次回のダウンロードがいつ行われるのかということを、ユーザは知ることができなかった。また、端末装置がアプリケーションのダウンロード要求を受信するたびに、ダウンロードするか否かの問い合わせが表示されるため、問い合わせ用のウィンドウがユーザの視聴あるいは録画を妨げる可能性があった。そこで本実施の形態では、ユーザがアプリケーションのダウンロードを拒否した際に、ユーザがダウンロードを行う時間を設定することができるように、タイマー設定部(図41の4108)を備えることを特徴とする。このように、ユーザによってダウンロード時間を設定することにより、ユーザの視聴や録画を行わない時間を設定することができるため、ユーザの視聴あるいは録画を妨げることを回避することができる。
図41を参照して、図30あるいは図35と同じ番号で示すものは、図30あるいは図35と同じ機能を持つため、本実施の形態では説明を省略する。
タイマー設定部4108は、ダウンロード元決定部4101から指定された設定時間をはかる。そして、設定時間が経過後、ダウンロード元決定部4101へ設定時間経過の通知を行うことを特徴とする。
ダウンロード元決定部4101は、ダウンロード元決定部3501に加え、通知部2905へタイマー設定に関するユーザへのメッセージ通知を指示し、応答受付部3507からユーザからの返信を受信する。この結果を受け、タイマー設定部4108へ設定時間を指示する。また、ダウンロード元決定部4101は、タイマー設定部4108の設定時間経過の通知を受信し、チューニング要求部2906へチューニングを指示し、ストア部2904へストア指示を行うことを特徴とする。なお、タイマー設定部4108から設定時間経過の通知を受信した際に、再び、通知部2905を通し、ユーザへメッセージ通知を行ってもよい。また更に、通知部2905が表示したメッセージに対するユーザ応答を応答受付部3507から受信し処理を行うという方針にしてもよい。また、ここではユーザが時間を設定できることとしたが、ダウンロード元決定部4101でデフォルト設定時間を保持し、ユーザがダウンロードを拒否した際に、ユーザへ設定時間を尋ねることなく、デフォルト設定時間をタイマー設定部4108へ指示してもよい。
なお、本実施の形態では実施の形態1、2と同様に、選択されたアプリケーションが、少なくとも一つのDSMCC方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCの設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定が明記されている場合を想定している。
図42及び図43に通知部が表示する画面の一例を示す。図42は実施の形態2で示した図37でNoボタン3704が押された後に、タイマー設定を行うか否かをユーザへ通知する。そのため、図42は、ユーザへダウンロードを行う時間を設定するか否かを問うメッセージ4202とYesボタン4203とNoボタン4204を備える。なお、ここでは、少なくともダウンロードを行う時間を設定できることを通知することができるものであればよいため、図42の形式に限る必要はない。また、図42で示したダウンロードを行う時間を設定できるメッセージは、省略することもできる。
次に図43は、ユーザへダウンロードの設定時間の指定を促す画面の一例である。そのため、図43はユーザへダウンロード時間の設定を促すメッセージ4302と、設定時間を指定するためのボタン4304〜4309と、入力を完了したことを通知するOKボタン4310を備える。また、ユーザへ通知するメッセージ内容は、ユーザへダウンロード時間の設定を促すメッセージであれば4302に限る必要はない。また、ここではボタン4304〜4309を選択することで時間指定を行う方針としたが、リモートコントロールから直接数字を入力してもよいし、ユーザが指定した時間がわかるものであれば、入力形式はどのような方法であってもよい。また、入力に誤りがないか否かを検出し、ユーザへ再入力を促す処理を追加してもよい。また更に、図43は時間指定のみとしたが、日付や時間や分など設定時間の内容に関しても、ユーザから設定されたダウンロードするタイミングが分かるものであれば、ここで一例として示した図43の通知部が表示する画面に限る必要はない。また、図42及び図43ともに、メッセージはテキスト表示でなくても他の表現で提示されてもよい。また、図42及び図43の各ボタン内の文字列も、この内容に限る必要はない。つまり、図43はユーザがダウンロードの設定時間を設定することができれば、他の表現であってもよい。
本実施の形態における、ユーザがダウンロード設定時間を設定する処理動作の一例をフローチャート図44へ示す。なお、図44は、実施の形態2で示したフローチャート図39の一部である図40の処理を置き換える形で示す。図39の処理は、実施の形態2と同じ処理のため、説明を省略する。図39のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合は、図44を参照して、通知・応答モジュール2の処理を行いユーザへダウンロードを行うか否かの問い合わせを行う(S4401)。この結果がAの場合は、ユーザによってダウンロードが承認されたためダウンロード処理を行う(詳細は前述したため、ここでは説明を省略する)。一方、この結果がBの場合は、ユーザがダウンロードを拒否したため、ダウンロード元決定部4101は、通知部2905へアプリケーションをダウンロードする時間を設定できることを通知するよう指示し、通知部2905は、ユーザへメッセージを通知する(S4402)。
その後、ダウンロード元決定部4101は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部4101へユーザのタイマー設定可否応答を通知する(S4403)。ダウンロード元決定部4101は、この通知によりタイマー設定を行うか否かの判断を行う(S4404)。タイマー設定しない場合(S4404でNO)は、図39のBへ戻り処理を終了する。一方、タイマー設定を行う場合(S4404でYES)は、ダウンロード元決定部4101は、通知部2905へアプリケーションをダウンロードする設定時間の入力メッセージを通知するよう指示し、通知部2905は、ユーザへメッセージを通知する(S4405)。その後、ダウンロード元決定部4101は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部4101へユーザのタイマー設定時間を通知する(S4406)。そして、ダウンロード元決定部4101はタイマー設定部4108へ設定時間を通知し、タイマー設定部4108は受信した時間を設定する(S4407)。タイマー設定部4108は、設定時間が経過するまで待つ(S4408)。時間が経過すると、図39のAへ戻り、ダウンロード処理を行う。この時、再びダウンロードを行うか否かを問うため、S4401の処理へ戻ってもよい。なお、図42で示したような、ダウロードの設定時間を設定するか否かをユーザへ問う処理を省略する場合は、図44のS4402及びS4403及びS4404を省略することで、実行することができる。
このように、実施の形態3により、ユーザはアプリケーションのダウンロードを拒否した際に、ダウンロードの設定時間を指定することができる。
(実施の形態4)
実施の形態3では、ユーザからの応答を受け付け、ユーザがアプリケーションのダウンロードを拒否したとき、ユーザはダウンロード可能な設定時間を指定することができた。本実施の形態では、ユーザがアプリケーションのダウンロードを拒否した際に、ネットワークからダウンロードを行うことを想定し、ネットワーク接続部(図45の4509)を備えることを特徴とする。
図45を参照して、図30あるいは図35と同じ番号で示すものは、図30あるいは図35と同じ機能を持つため、本実施の形態では説明を省略する。なお、本実施の形態では、選択されたアプリケーションが、DSMCC方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCとIPの両方の設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子2003の「IP」指定に対応したダウンロード元指定が明記されている場合を想定している。
ダウンロード元決定部4501は、ダウンロード元決定部3501に加え、ネットワーク接続部4509へネットワークの接続が利用可能か否かを問い合わせ、返信を受信する機能を持つ。また、ダウンロード元決定部4501はネットワーク接続部4509へネットワークの接続先を指定したダウンロード元指定2005を設定し、ダウンロードしたアプリケーションを受信し、ストア部4504へストア要求を出す。なお、ネットワーク接続部4509へネットワークの接続が利用可能か否かを問い合わせ、返信を受信する機能を持つ機能は、ダウンロードを行う際にエラーが発生するのを防ぐために考慮したが、必ずしも必要な機能ではない。
ネットワーク接続部4509は、ダウンロード元決定部4501からネットワークの接続が利用可能か否かの問い合わせに対し、現在ネットワークが利用可能か否かを調べ、ダウンロード元決定部4501へ通知する。また、ダウンロード元決定部4501から、ネットワークの接続先を指定されたダウンロード元指定2005を受信した際に、指定されたサーバへ接続し、ファイルをダウンロードする。そしてダウンロードしたアプリケーションをダウンロード元決定部4501へ渡す。あるいは、直接ストア部4504へ渡してもよい。
ストア部4504は、ダウンロード元決定部4501あるいはネットワーク接続部4509から指定されたアプリケーションをストアする機能を持つ。
本実施の形態における、ネットワークからアプリケーションのダウンロードを行う動作の一例をフローチャート図46へ示す。なお、図46は、実施の形態2で示したフローチャート図39の一部である図40の処理を置き換える形で示す。図39の処理は、実施の形態2と同じ処理のため、説明を省略する。図39のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合は、図46を参照して、通知・応答モジュール2の処理(S4601)を行いユーザへダウンロードを行うか否かの問い合わせを行う(S4602)。この結果がAの場合は、ユーザによってダウンロードが承認されたためダウンロードを行う処理を行う(この処理に関しては、前述した実施の形態と同じため説明を省く)。一方、この結果がBの場合は、ユーザがダウンロードを拒否したため、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S4602)。ダウンロード元決定部4501は、ネットワーク接続部4509から受信した、ネットワークの利用可能か否かの判断(S4603)を考慮し、利用できない場合(S4603でNO)は処理を終了する。あるいは、ネットワークが利用できないことをユーザへ通知してもよい。あるいは、ユーザの視聴あるいは録画が終わった時間にダウンロードのタイマー設定を行うことができるように、実施の形態3で示した図44のS4402へ処理を移動できるようにしてもよい。一方、ネットワークを利用できるとき(S4603でYES)は、ダウンロード元決定部4501は、ネットワーク接続部4509へダウンロード元指定2005を渡し、ダウンロード要求の指示を行う(S4604)。そして、この指示を受け、ネットワーク接続部4509は、ダウンロード元指定2005からアプリケーションのダウンロードを行う(S4605)。そして、ネットワーク接続部4509はダウンロードしたアプリケーションをダウンロード元決定部4501へ渡す。ダンロード元決定部4501は、ストア部4504へ、そのアプリケーションのストアを指示する。ストア部4504は受信したアプリケーションをストアする(S4606)。なお、ネットワーク接続部4509が、ダウンロードしたアプリケーションを直接ストア部4504へ渡してもよい。
なお、事前にネットワークが利用可能か否かを問い合わせるS4602とS4603の処理は必ずしも必要な処理ではないため、図47のようにS4602とS4603の処理を行わなくてもよい。
このように、実施の形態4により、ユーザがDSMCC方式でエンコードされたファイルシステムからダウンロードに必要なチューニングを拒否した際に、ネットワークからのダウンロードを行うことができる。
(実施の形態5)
実施の形態4では、ユーザがアプリケーションのダウンロードを拒否した際に、ネットワークからのダウンロードを行うことができた。本実施の形態では、ユーザがダウンロード方法を選択できること考える。なお、本実施の形態では、実施の形態4同様、選択されたアプリケーションが、DSMCC方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCとIPの両方の設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子2003の「IP」指定に対応したダウンロード元指定が明記されている場合を想定している。
本実施の形態の構成要素は、図45のダウンロード元決定部4501に加え、ダウンロード元決定部4501は、ダウンロード方法としてネットワークとチューナの選択を促すメッセージをユーザへ通知するよう通知部2905へ指示し、そのメッセージの応答を受信するように応答受付部3507へ指示する。そして応答受付部3506から通知されたユーザが選択したダウンロード方法に従い、ダウンロード元決定部4501は、ダウンロードを行うように設定をする。具体的には、チューナを選択された場合はこれまでの実施の形態1〜3と同様の機能を適用し、ネットワークが選択された場合は、ネットワークからのダウンロードを実行する。なお、ここではユーザへ通知するダウンロード方法として、ネットワークとチューナを例にして説明したが、プログラムのダウンロードあるいはプログラムの取得ができる方法であればこれに限る必要はない。また、ユーザへ通知するダウンロード方法は、プロトコル識別子2003の一部あるいは全部であってもよい。
図48に通知部が表示する画面の一例を示す。図4802はユーザへダウンロード方法の選択を促すメッセージ4702とネットワークとチューナを選択するボタン(4703と4704)、そして、ユーザの選択が終了したことを通知するためのボタン4705を備える。なおこの時、ユーザへのメッセージ内容やボタンの形式や表示内容は、必ずしも図48の形式である必要はない。つまり、図48はユーザがダウンロード元を指定できるものであれば、他の表現であってもよい。
本実施の形態における、ユーザがダウンロード元を設定する処理動作の一例をフローチャート図49へ示す。なお、ここでは、実施の形態2で示した図37でNoボタン3704が押された後に、ユーザへダウンロード元の指定を促す場合を示す。そのため図49は、実施の形態2で示したフローチャート図39の一部である図40の処理を置き換える形で示す。図39の処理は、実施の形態2と同じ処理のため、説明を省略する。図39のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合は、図49を参照して、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S4801)。ダウンロード元決定部4501は、ネットワーク接続部4509から受信した、ネットワークの利用可能か否かの判断(S4802)を考慮し、利用できない場合(S4802でNO)は図50に示した通知モジュールあるいは、通知・応答モジュール1あるいは、図51に示した通知・応答モジュール2あるいは時間設定モジュールを行い、チューナを利用したダウンロードを行う(図50のS4806または図51のS4806)。
一方、ネットワークを利用できるとき(S4802でYES)は、ダウンロード元決定部4501は、通知部2905へユーザにアプリケーションのダウンロード方法を選択できることを通知するよう指示し、通知部2905はメッセージを通知する(S4803)。その後、ダウンロード元決定部4501は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部4501へ選択されたダウンロード方法を通知する(S4804)。ダウンロード元決定部4501は、受信したダウンロード方法がネットワークか否かを判断(S4805)し、ユーザがネットワークからのダウンロードを選択していない場合(S4805でNO)は、図50に示した通知モジュールあるいは、通知・応答モジュール1あるいは、図51に示した通知・応答モジュール2あるいは時間設定モジュールのいずれかを実行し、チューナを利用したダウンロードを行う(図50のS4806または図51のS4806)。一方、ネットワークが選択された場合(S4805でYES)は、ダウンロード元決定部4501は、ネットワーク接続部4509へダウンロード元指定2005を渡し、ダウンロード要求の指示を行う(S4807)。そして、この指示を受け、ネットワーク接続部4509は、ダウンロード元指定2005からアプリケーションのダウンロードを行う(S4808)。そして、ネットワーク接続部4509はダウンロードしたアプリケーションをダウンロード元決定部4501へ渡す。ダンロード元決定部4501は、ストア部4504へ、そのアプリケーションのストアを指示する。ストア部4504は受信したアプリケーションをストアする(S4806)。なお、ネットワーク接続部4509が、ダウンロードしたアプリケーションを直接ストア部4504へ渡してもよい。
なお、ユーザへダウンロード方法の選択を通知する際に、ユーザが判断しやすいように、ネットワークを用いてプログラムのダウンロードした場合と、DSMCC方式でエンコードされたファイルシステムからダウンロードした場合の予想時間あるいは、ダウンロード速度などをユーザへ提示してもよい。また、チューナを利用した場合は、現在の視聴あるいは録画が中断されることも通知することもできる。
なお、ここではチューナが全て使用中の場合に、ユーザがネットワークからダウンロードするかチューナからダウンロードするかを選択できる方法を示したが、チューナが全て使用中であるか否かに関わらず、ユーザがダウンロード元を選択できる方法も想定することができる。具体的には、これまで図49を図39の一部として処理してきたが、図49のS4801から処理を開始し、10の処理へ進む代わりに図39を開始する方法が想定できる。
本実施の形態を利用することにより、ユーザがダウンロード方法を選択することができるようになる。
(実施の形態6)
実施の形態5では、ユーザがアプリケーションのダウンロード方法を選択することができた。本実施の形態では、ユーザがチューナからのダウンロードを拒否した場合は、ネットワークからのダウンロードを優先的に処理する方法を説明する。なお、本実施の形態では、実施の形態4、5同様、選択されたアプリケーションが、DSMCC方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCとIPの両方の設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子2003の「IP」指定に対応したダウンロード元指定が明記されている場合を想定している。
本実施の形態の構成要素を図52に示す。なお、通知部2905及び応答受付部3507及びチューニング要求部2906は本実施の形態の必須要素ではないため、点線で示している。また、図52に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。
本実施の形態における、ユーザがチューナからのダウンロードを拒否した場合は、ネットワークからのダウンロードを優先的に処理する動作の一例をフローチャート図53と図54に示す。図53を参照して、S5001からS5004は、図31及び図39と同じ処理のため説明を省略する。そこで、S5004のアプリケーションの周波数がチューニング中ではない場合(S5004でNO)、図54を参照して、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S5101)。この結果を受け、ダウンロード元決定部4501は、ネットワークが利用可能か否かの判断(S5102)に応じて、利用できない場合(S5102でNO)は、図53のBの処理へ戻り終了する。一方、ネットワークが利用可能の場合(S5102でYES)、S5103〜S5105の処理を行う。ここでS5103〜S5105の処理は、図46のS4604〜S4606と同じため説明を省略する。なお、ここでは図53において、現在のアプリケーションの周波数がチューニングされているか(S5004)の判断がNOだった場合に、直ぐにネットワークからダウンロードする方法を説明したが、ここで、チューナが全て使用中か否かを判断し、全てのチューナが使用中の場合に限り、図54の処理へ進むように設定してもよい。また更に、S5102の判断においてネットワークが利用できない場合は、ダウンロードの処理を終了する方法を説明した。そのため、ネットワークが利用できない場合は、必要に応じて図52の通知部2905及び3507の応答受付部とチューニング要求部2906を追加し、図55のS5206のように図50に示した通知モジュールあるいは、通知・応答モジュール1あるいは、図51に示した通知・応答モジュール2あるいは時間設定モジュールのいずれかを実行し、チューナを利用したダウンロードを行うこともできる(図50のS4806または図51のS4806)。本実施の形態を利用することで、チューナを必要とする場合は、ネットワークからのダウンロードを優先的に処理することができるようになる。
(実施の形態7)
実施の形態6では、ユーザが視聴あるいは録画中のチューニングを考慮し、チューニングが必要な場合は、ネットワークからダウンロードする手法を説明した。本実施の形態では、現在のチューニング情報やダウンロードするアプリケーションの周波数を考慮することなく、プロトコル識別子2003にIP指定がある場合は、常にネットワークからダウンロードする手法を説明する。そのため、本実施の形態では、選択されたアプリケーションが、プログラムのダウンロードを提供するサーバに存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にIPの設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「IP」指定に対応したダウンロード元指定が明記されている場合を想定している。
本実施の形態の構成要素を図56に示す。図56に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。なお、点線で示した要素は必須要素ではない。
本実施の形態における、アプリケーションのダウンロード元にIPからのダウンロードが存在する場合は、ネットワークのダウンロードを優先的に処理する動作の一例をフローチャート図57に示す。図57を参照して、ダウンロード元決定部4501はアプリケーション情報を受け取る(S5401)。このアプリケーション情報には、選択されているアプリケーションのプロトコル識別子2003及びダウンロード元指定2005などが含まれる。この時、ダウンロード元決定部4501は、プロトコル識別子2003にIPが存在することを確認する。次に、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S5402)。ダウンロード元決定部4501は、ネットワークが利用可能か否かを判断(S5403)し、利用できない場合(S5403でNO)は終了する。一方、利用できる場合(S5403でYES)は、ダウンロード元決定部4501は、ダウンロード元指定2005を指定し、ネットワーク接続部4509へダウンロード要求を行う(S5404)。ネットワーク接続部4509は、指定されたダウンロード元指定2005からダウンロードを行う(S5405)。そして、ネットワーク接続部4509は、ダウンロード元決定部4501へダウンロードしたアプリケーションを渡し、ダウンロード元決定部4501は、ストア部4504へアプリケーションのストアを指示し、ストア部4504へストアを行う(S5406)。
なお、ここでは図57のネットワークが利用可能か否かの判断(S5403)において、ネットワークが利用できない場合は処理を終了する場合を説明したが、ここで図58に示したように、チューナからのダウンロードを行う図59の処理へ続くようにしてもよい。図59は、図39からS3001の処理を除いたのみなので詳細な説明は省略する。図59を参照して、チューナが全て使用中か否かの判断(S5604)がYESの場合の図50に示した通知モジュールあるいは、通知・応答モジュール1あるいは、図51に示した通知・応答モジュール2あるいは時間設定モジュールのいずれかを実行し、チューナを利用し、ダウンロードを行う(図50のS4806または図51のS4806)。なお、図59のS5601〜S5606の処理は、DSMCCからのダウンロードモジュールとして、これ以降、同様の処理をする際に参照することとする。
本実施の形態では、ネットワークからのダウンロードを優先的に行う手法について説明した。これにより、ユーザの視聴あるいは録画を妨げることが減少すると考えられる。
(実施の形態8)
アプリケーションのダウンロードは、DSMCCを用いてチューナからダウンロードを行う手法が一般的である。そのため、実施の形態1〜6では、DSMCCからのダウンロードを行う手法を優先的に考えた手法を説明した。また、実施の形態7は、ダウンロードの速度より、ダウンロード時にユーザの妨げにならないよう、ネットワークからのダウンロードをDSMCCからのダウンロードより優先的に処理する手法を説明した。しかし本実施の形態では、ダウンロード可能な方法のうち、最も高速にダウンロードができるダウンロード元を探し、ダウンロードを行う手法を説明する。
なお、これまでの実施の形態においても、特にネットワークを用いたプログラムのダウンロードにおいて、ダウンロード元指定2005が複数存在する際に、最速のところからダウンロードを行う方式にしてもよい。
本実施の形態の構成要素を図60に示す。図60に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。なお、点線で示した要素は必須要素ではない。
本実施の形態における、アプリケーションのダウンロード元の決定において最速のところからダウンロードを行う動作の一例をフローチャート図61と図62に示す。図61を参照して、ダウンロード元決定部4501アプリケーション情報を受け取る(S5801)。このアプリケーション情報には、選択されているアプリケーションのプロトコル識別子2003及びダウンロード元指定2005などが含まれる。次に、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S5802)。ダウンロード元決定部4501は、ネットワークが利用可能か否かを判断(S5803)し、利用できる場合(S5803でYES)は、ダウンロード元決定部4501は、ネットワークを用いたプログラムのダウンロード指定先のうち、最速のネットワークを決定する(S5804)。この最速のネットワークを求める方法としては、ダウンロード元指定2005で設定されたサーバへpingというネットワークの疎通を確認するコマンドを利用する方法がある。pingは、ネットワーク疎通を確認したいホストに対してIPパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認するためのコマンドである。そのため、この返答が最も速いサーバを最速とする方法があるが、これ以外の方法であってもよい。なお、このような最速のネットワークからのダウンロード元指定2005を特定し、そのサーバからダウンロードする方法は、これまでの実施の形態1〜7においても適用することができる。次に、ダウンロード元決定部4501が求めた最速のネットワークからのダウンロード元指定2005とチューナを利用したDSMCCからのダウンロードの速度を比較する(S5805)。なお、DSMCCからのダウンロード速度は、パケットを取得するハードウェアにより検出し、その値をダウンロード元決定部4501が取得できるように設定してもよい。また、ダウンロード元決定部4501が、トランスポートストリームのビットレートを事前に固定値として保持しておいてもよい。次に、ダウンロード元決定部4501は、S5805の比較によりネットワークが最速か否かを判断する(S5806)。この結果、ネットワークが最速である場合(S5806でYES)は、図62の5の処理へ進み、ネットワーク接続部4509は、ダウンロード元指定2005からプログラムのダウンロードを行う(S5807)。そして、ダウンロードしたアプリケーションをダウンロード元決定部4501へ渡し、ダウンロード元決定部4501は、ストア部4504へアプリケーションを渡し、ストア部4504へアプリケーションのストアを指示する(S5808)。一方、S5806でネットワークが最速でないと判断された場合(S5806でNO)は、図62の6の処理へ進む。なお、S5803のネットワークが利用できない場合も、この図62の6の処理へ進む。この時は、チューナを利用するため、図59の処理を行う(S5809)。なお、図59における10の処理では、実施の形態1〜3で示した方法を利用することができる。
本実施の形態では、ネットワーク及びDSMCCからのダウンロードのうち、最速でダウンロードできるところからダウンロードを行う方法について説明した。
(実施の形態9)
これまでの実施の形態では、アプリケーションをダウンロードする手法として、ネットワークとDSMCCからダウンロードする手法を考慮してきた。本実施の形態では、記録媒体からのアプリケーション取得を考慮する。
記録媒体からの取得の場合は、チューナを必要としないためユーザの視聴あるいは録画を妨げることはない。そのため記録媒体からのアプリケーションの取得要求を受信した際には、ユーザへ記録媒体の挿入指示を行うことで実現することができる。ここで、記憶媒体とは、CD、DVD、BDなどの光ディスクメディアや、半導体を利用したメモリーカードなど、媒体の中に情報を記憶できるものであれば、どのような媒体であってもよい。
図63に通知部が表示する画面の一例を示す。ここでは、プログラムの取得が必要になったタイミングで、記録媒体の挿入を要求する画面を示す。ここでは、記録媒体の挿入を促すメッセージ5902とOKボタン5903とキャンセルボタン5904を備える。なお、ここでは、記録媒体の挿入が完了したこと、あるいは処理をキャンセルすることが分かればいいので、表示方法やユーザからの応答に関してはこの方法に限る必要はない。
図64に記録媒体を指定した場合のXAITの一例を示す。プロトコル識別子2003にmediaを指定し、ダウンロード元指定2005に記録媒体の指定を示す。他の項目については、実施の形態1で説明したものと同じため説明を省略する。なお、本実施の形態で示す記録媒体からのプログラム取得は、XAIT情報からの取得に限らず、他の情報を用いた要求であっても適用することができる。また、図64で示した項目は、記録媒体からのアプリケーションの取得が識別できるものであれば、図64の項目及び表現に限る必要はない。
図65に本実施の形態の構成要素を示す。図30及び図35及び図45と同じ番号で示したものは、以前に説明したものと同様の機能で実現することができるため、説明を省略する。
ダウンロード元決定部6101は、ダウンロード元決定部4501に加え、通知部2905へ記録媒体の挿入を促すメッセージの表示を指示し、応答受付部3507からユーザの応答を受信する。そして、記録媒体処理部6110へ記録媒体からの読み込みを指示し、取得したアプリケーションをストア部4504へストアするよう指示する。
記録媒体処理部6110は、ダウンロード元決定部6101の指示により、記録媒体からの読み込みを行い、ダウンロード元決定部によって指定されたプリケションを取得する。
次に図66に記録媒体からのアプリケーション読み込みのフローチャートの一例を示す。ダウンロード元決定部6101は、ユーザに記録媒体の挿入の要求するメッセージ表示を通知部2905へ指示し、通知部2905はこのメッセージを表示する(S6201)。その後、ダウンロード元決定部6101は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部6101へ選択されたユーザ応答を通知する(S6202)。ダウンロード元決定部6101は、受信したユーザ応答から記録媒体が挿入されたか否かを判断(S6203)し、記録媒体が挿入された場合は、ダウンロード元決定部6101は、記録媒体処理部6110へアプリケーションの読み込みを指示し、記録媒体処理部6110は記録媒体からアプリケーションの読み込みを行う(S6204)。記録媒体処理部6110は、取得したアプリケーションをダウンロード元決定部6101へ渡し、ダウンロード元決定部6101は、ストア部4504へアプリケーションのストア要求を指示し、ストア部4504はストアをする(S6205)。一方、記録媒体の挿入がキャンセルされた場合は、処理を終了する。
なお、ここでは、記録媒体からのアプリケーション取得のみを説明したが、ネットワーク接続部4501と併用することで、記録媒体から取得したアプリケーションに最新のものが存在しないかを調べることもできる。これは、プロトコル識別子2003にmediaとIPが両方ある場合は、ダウンロード元指定2005を参照することができる。あるいは、一例として記録媒体内に最新版を保存するサーバ及びディレクトリを指定するファイルをアプリケーションと一緒に保存しておき、記録媒体処理部6110により記録媒体から読み込みを行う際に、このファイルを参照し、ネットワーク接続部4509を通し最新のアプリケーションの存在を調べることで実現できすることもできる。その結果最新のものがあった場合は、ネットワーク接続部からアプリケーションをダウンロードするという手法も想定される。
また、実施の形態8では、ネットワーク及びDSMCCからのダウンロードのうち、最速でダウンロードできるところからダウンロードを行う方法について説明したが、例えば記録媒体からのアプリケーション取得も可能である場合、記録媒体からの転送速度を考慮して、ネットワークからのダウンロード、DSMCCからのダウンロード、および記録媒体からのアプリケーション取得の中で最速でダウンロードできるところからダウンロードを行っても構わない。
なお、実施の形態1〜9を通して、以下の応用が可能である。
アプリケーションのダウンロード時のメッセージ通知とダウンロード経路について説明したが、これらの場合においてダウンロード元を決定し、ダウンロード途中でエラーを検出した際に、別のダウンロード元指定2005を指定することで処理を繰り返す方針にしてもよいし、ダウンロード元指定2005全て処理してもダウンロードが完了できなかった場合は、プロトコル指定2003のもう一方の方法で挑戦してもよい。この時、これまで説明した実施の形態を利用することができる。
また、Java(登録商標)プログラムはJava(登録商標)で記述された部分と、CPUが直接実行できるバイナリ形式の部分の混合でもよいし、CPUが直接実行できるバイナリ形式のみで構成されていても実施可能である。
また、登録されたJava(登録商標)プログラムを2次記憶部510に保存していたが、1次記憶部511に保存することも実施可能である。1次記憶部511に保存する場合、電源OFF時に、保存された情報は全て消える。また、ネットワークに関しては、有線で実現されても無線で実現されてもよい。
また、本発明はパーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
また、POD504は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、POD504のCPU706を取り外し、CPU514がCPU706の動作も行うことも実施可能である。
POD Lib1205eに登録されるJava(登録商標)プログラムは、ダウンロードされたJava(登録商標)プログラムだけでなく、予め内蔵されているJava(登録商標)プログラムでも実施可能である。また、SDメモリーカードなどの着脱可能な記憶媒体を着脱するとスロット部を取り付け、そこからJava(登録商標)プログラムを取り込むことも可能である。
(実施の形態10)
上述の実施の形態ではダウンロードするアプリケーションとしてデジタルテレビなどの端末装置で動作するアプリケーションプログラムを例に説明をしたが、これに限定されるものではなく端末装置内に予め記録されているプラットフォームを構成するプログラムもアプリケーションプログラムに含まれるものである。つまりプラットフォームを構成するプログラムもダウンロードの対象となる。
ここでプラットフォームとは、放送受信装置に組み込まれたソフトウェアで、機能追加や不具体の修正などのために、後から変更できるソフトウェアとする。
本実施の形態ではプラットフォームをダウンロードする例について説明をする。
図67は本実施の形態のダウンロード実行装置の一例を説明するための図である。
図67において6701はプラットフォームに対応するプログラムデータ(以後ファームウェアと称す)をダウンロードするためのダウンロードモジュール(Download Module)である。
本実施の形態で示すDownload Module6701の処理動作の一例をフローチャート図68に示す。Download Module6701は、例えば図3のIn−BandまたはOOB、あるいはネットワークなど他の伝送方式によって伝送される例えば図69に示すようなファームウェア更新情報(詳細は後述)が伝送されているか否かモニタリングを行い、ファームウェア更新情報が伝送されている場合は、そのファームウェア更新情報を取得する(S6801)。
図69はファームウェア更新情報の一例である。
これらの情報は具体的には、ANSI/SCTE 28 2004 HOST−POD Interface Standardにより詳細な記載がなされている。
図69において、ベンダーID6901は、ベンダー毎に割り当てが決まっており、ベンダーを一意に特定できる値を保持する。一例として、Organizationally Unique Identifier(OUI)がIEEEによってホストデバイスベンダーへ割り当てた値などがある。また、ハードウェアバージョン6902は、ベンダーIDによって示されたベンダーにおいて、ハードウェアの各タイプへ割り当てられたハードウェアを一意に特定する識別子を保持する。また、タイミング情報6903は、ダウンロードを実行するタイミングを示す情報を保持する。一例として、直ちにダウンロード(00)、延期されたダウンロード(01)、例外なく直ちにダウンロード(02)などのように、ダウンロードのタイミングを数値として記述することを記述できる。また、取得経路6904は、ベンダーID6901やハードウェアバージョン6902によって識別されたファームウェアがダウンロードできる経路を保持する。例えば、「放送波」は図3のIn−BandやOOBなどがあり、「ネットワーク」は、Data−Over−Cable−Service Interface Specification(DOCSIS)などがある。DOCSISの詳細はCM−SP−eDOCSIS−I16−050812を参照されたい。また、ストリーム特定情報6905は、取得経路6904で記載された経路内で更に伝送ストリームなどを特定する識別子を保持する。伝送ストリームの特定する識別子の一例として、「番組(=サービス)」や「周波数とプログラムナンバー」や「周波数とパケットID」などがある。
再び図68に戻り説明をする。(S6801)にて、例えば図69に示すようなファームウェア更新情報を取得した後、受信したファームウェア更新情報のベンダーID6901及びハードウェアバージョン6902と放送受信装置が保持するベンダーIDやハードウェアバージョンを比較する(S6802)。このとき、放送受信装置が保持するファームウェア情報が受信したファームウェア更新情報に含まれている場合は、プラットフォームの更新に不要なプログラム(例えば、EPG1202、VM1203、サービスマネージャ1204、ライブラリ1205の中の一部の機能(JMF1205a、AM1205b、CA1205dなど))の実行を一旦停止する(S6803)。また、放送受信装置が保持するファームウェア情報が受信したファームウェア更新情報に含まれていない場合は、(S6801)に戻り、再びファームウェア更新情報の取得を待つ。
(S6803)にてプラットフォームの更新に不要なプログラムの実行を一旦停止した後、Download Module6701はファームウェア更新のタイミング情報6903、取得経路6904及びストリーム特定情報6905を用いてファームウェアのダウンロード元を決定し、ファームウェアをダウンロードし記憶領域へ保存する(S6804)。
なお、記憶領域の一例として、1次記憶部511、2次記憶部510等がある。
(S6804)におけるより詳細なフローチャートは例えば図31、図32に示すフローチャートに相当する。またDownload Moduleの具体的な構成は図30に示すブロック図に相当する。但しこのフローチャートはAMの動作を示すフローチャート、ブロック図はAMの具体的な構成を示すブロック図であるのでこれをDownload Module6701として置き換えて読めばよい。このとき図31、32に対応する説明をしている文章において「XAIT情報」とあるのを「ファームウェア更新情報」に置き換えて読めば良い。また、「プロトコル識別子」とあるのを、「取得経路」に置き換え、プロトコル識別子の「OC」を「放送波」として読み、「IP」を「ネットワーク」に置き換えて読めばよい。なお、「ネットワーク」の伝送方法の一例として、IPパケットやUDPパケットなどの通信プロトコルにDSMCC方式のセクション情報などを内包し伝送してもよい。また、「ダウンロード元指定」を「ストリーム特定情報」と置き換えて読めばよい。「ストリーム特定情報」の一例として、ソースIDを指定してもよいし、周波数とプログラムナンバーの組や周波数とパケットIDの組でもよい。
同様な置き換えはフローチャートのついては図38、39、40、44、46、47、49、50、51、53、54、55、57、58、59、61、62、66、ブロック図については図35、41、45、52、56、60、65およびこれらの図面に対応する説明についても可能である。
また、タイミング情報6903に保持されている情報が、直ちにダウンロード(00)や、例外なく直ちにダウンロード(02)するような情報であって、かつチューナを用いてダウンロードする場合、チューナが全て使用中である場合には、ダウンロード実行をしないというように構成すれば、ユーザの視聴を妨げることが無くなる。
本発明に係るダウンロード実行装置は、特に、デジタルテレビにおけるアプリケーションのダウンロード技術として有用である。また、デジタルテレビに限らず、例えばパーソナルコンピュータや携帯電話などソフトウェアによって制御される情報機器におけるダウンロード元決定及びメッセージ通知の用途にも応用できる。
本発明は、プログラムをダウンロードして実行する例えばデジタル放送受信機等のダウンロード実行装置に関する。
従来の放送受信機におけるプログラムのダウンロードは、ダウンロードするプログラムを放送波によって送信されるトランスポートストリームへ挿入し、プログラムの流れるトランスポートストリームへチューニングすることでダウンロードする方法が一般的である。トランスポートストリームへプログラムを挿入する方法は、MPEG規格書ISO/IEC13818−6に記述されたDSMCCという方式が用いられる。DSMCCは一般的な技術のため詳細な説明は省略する。このように、プログラムのダウンロードを行う際には、チューニングが発生する。このため、プログラムのダウンロードを行う放送受信機は、ユーザの視聴あるいは録画を妨げないように、プログラムのダウンロードを行う前に、放送受信機の現在の状態が視聴あるいは録画中か否かを検出し、視聴あるいは録画が行われていない状態の時にプログラムのダウンロードを行っている。これにより、プログラムのダウンロードがユーザの番組視聴あるいは録画を妨害することはなかった。
一方、特許文献1では、プログラムをダウンロードするか否かをユーザへ問い合わせる手法が提案されている。この特許文献1は、図1に示すように放送受信機内でエラーが発生した際に、プログラムのバージョンアップを検出し、放送受信機のエラーが修復される際には通知を行い、ユーザにバージョンアップを行うか否かの確認を行うことを特徴としている。
以上のように、プログラムのダウンロードを行う手法としては、放送受信機の状態が視聴あるいは録画などが行われていない状態の時に限りダウンロードを行う手法と、放送受信機のエラー発生時にダウンロードするか否かをユーザへ通知し、応答を受信する手法が存在している。
ところで、放送受信機は、放送局からプログラムのダウンロード要求を受信し、ダウンロードを開始する。このプログラムのダウンロード要求には、放送受信機がダウンロードすることができる方法が複数記載されていることがある。この一例として、OCAP仕様(OCAP 1.0 Profile OC−SP−OCAP1.0−I11−040604)を説明する。OCAP仕様では、EPGやVODなどのサービスを記述したプログラムを放送受信機上へダウンロードし実行することを特徴としている。OCAP仕様は、トランスポートストリームによる配信とネットワーク経由の配信によってダウンロードすることができることを規定している。このため放送局は、プログラムをトランスポートストリームとして配送することも、ネットワーク経由で配送することも、あるいはこの両方から配送することもできる。しかしながらOCAP仕様は、受信端末機は、一つあるいは複数のダウンロード方法を示されたダウンロード要求を受信した際に、どの配信方法を利用するか、また、ユーザの視聴を妨げる場合の振る舞いについては、規定していない。
特開2003−67284号公報
しかしながら、従来の放送受信機の状態が、視聴あるいは録画を行っていない状態のときに限りダウンロードを行う手法では、放送受信機が視聴あるいは録画を行っていない状態で、放送局からダウンロード要求を受信できないと、プログラムのダウンロードが先送りになるという問題があった。また、ユーザはプログラムのダウンロードが延期されたことを知ることができなかった。そこで、ダウンロード時にユーザへ通知する手法の使用が考えられるが、特許文献1においては、放送受信機内でエラーが発生した際に、プログラムのダウンロードをするか否かをユーザへ問う方針のため、エラーが発生するまではプログラムのダウンロードが発生しない。
また、ユーザの視聴または録画中である番組以外に関するプログラムのダウンロード要求を受けた際にダウンロードを行おうとすると、例えば放送受信機が保有するチューナのうちプログラムのダウンロードに利用可能なチューナが全て使用中であり、かつ、ダウンロードを行うトランスポートストリームが流れている周波数が、現在チューニングされている周波数と異なる場合には、プログラムのダウンロードによりユーザの視聴または録画が妨げられることになる。
さらに、CommonDownload仕様(OpenCable Common Download Specification)では、放送受信機のファームウェア(機器に組み込まれたソフトウェア)を端末へダウンロードする方法を規定している。CommonDownload仕様は、ダウンロード元情報に加え、ダウンロードのタイミングを指定するダウンロード要求を端末へ伝送することを規定している。そのため、ダウンロードのタイミング指定によっては、ユーザの視聴を妨げる可能性がある。しかしながら、CommonDownload仕様は、そのような場合の端末の振る舞いについては、規定していない。
そこで、本発明は上記の事情に鑑みてなされたものであり、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができるダウンロード実行装置を提供することを目的とする。
上記目的を達成するため、本発明に係るダウンロード実行装置は、プログラムのダウンロードを実行するダウンロード実行装置であって、前記プログラムのダウンロード元情報を含むダウンロード要求を受信するダウンロード要求受信手段と、放送波を受信する少なくとも1つのチューナと、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段と、前記チューニング判断手段の判断結果に基づいて、前記プログラムのダウンロードに関するメッセージをユーザへ通知するメッセージ通知手段と、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段とを備えることを特徴とする。
これによって、プログラムのダウンロードに利用できるチューナが存在するか否かに応じて、プログラムのダウンロードに関するメッセージをユーザへ通知するので、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができる。
また、前記ダウンロード実行装置は、さらに、前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。
これによって、ユーザが使用しているチューナがチューニングを行っている周波数から他の周波数へチューニングを変更する必要があるときに限り、ユーザへメッセージを通知し、プログラムのダウンロードを実行することができる。なお、これ以外のメッセージに関してもユーザへ通知することができる。また、ユーザがチューナを使用する例として、番組視聴や録画がある。
また、前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断され、かつ利用されていないチューナがない場合に、ユーザへメッセージを通知し、プログラムのダウンロードを実行することができる。
また、前記ダウンロード実行装置は、さらに、前記チューニング判断手段によって現在のチューニングで前記プログラムのダウンロードが実行不可能と判断された場合に、前記ダウンロード周波数取得手段によって取得された周波数へのチューニングを実行するチューニング実行手段を備えてもよい。
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断された際に、チューニングを実行することにより、プログラムのダウンロードを行うことができる。
また、前記チューニング実行手段は、チューニングを実行する際に、チューナの利用状況または利用目的に応じて、チューニングを実行するチューナを選択してもよい。
これによって、チューニングを実行する際に、チューナの利用状況あるいは利用目的に応じて、チューニングを実行するチューナを選択することにより、チューナを使用しているユーザへの影響を軽減することができる。
また、前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記メッセージを前記ユーザへ通知してもよい。
これによって、現在のチューニングでプログラムのダウンロードが実行不可能と判断され、利用されていないチューナが存在しないときにユーザへメッセージ通知を行うことにより、チューナを使用しているユーザへ影響が及ぶ時に限り、ユーザへメッセージを通知することができる。
また、前記メッセージ通知手段は、前記メッセージを所定時間表示してもよい。これによって、メッセージが表示されつづけるのを防ぐことができる。
また、前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、ダウンロード実行中であることを前記ユーザへ通知してもよい。これによって、ユーザへダウンロード待ち状態にあることを通知することができる。
また、前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、所定のイメージ、所定の映像、および所定の音声の少なくとも1つを前記ユーザへ提供してもよい。これによって、ダウンロード中の映像あるいは音声の切り替わりによるユーザの不快感を軽減することができる。
また、前記ダウンロード実行装置は、さらに、前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備えてもよい。これによって、ユーザとダウンロード実行装置の間で双方向にメッセージ通知を行うことができ、ダウンロード実行装置は、ユーザの応答に応じて処理することができる。
また、前記応答受付手段は、前記ユーザからの応答受け付けに制限時間を設定してもよい。これによって、ユーザからの応答を受信できなかった場合も、処理することができる。
また、前記メッセージ通知手段は、前記プログラムのダウンロードを前記ユーザへ通知し、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードに対する、承認または拒否の応答を前記ユーザから受け付けてもよい。これによって、ユーザが望まないプログラムのダウンロードすることを防ぐことができる。
また、前記ダウンロード要求は、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含み、前記ダウンロード実行装置は、さらに、前記ダウンロード要求に含まれる前記複数の組から1つの組を決定するダウンロード元決定手段を備え、前記ダウンロード実行手段は、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行してもよい。これによって、ダウンロード方法およびダウンロード元情報の複数の組から1つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
また、前記メッセージ通知手段は、前記プログラムのダウンロードおよびダウンロード方法を前記ユーザへ通知し、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードおよびダウンロード方法に対する、承認または拒否の応答を前記ユーザから受け付けてもよい。これによって、ユーザが望まないダウンロード方法でダウンロードすることを防ぐことができる。
また、前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組から前記ダウンロード方法とは別のダウンロード方法である組を決定してもよい。これによって、ユーザが望まないダウンロード方法でダウンロードすることを防ぐことができる。
また、前記メッセージ通知手段は、前記複数の組に基づいて、前記プログラムのダウンロード方法の少なくとも一部を前記ユーザへ通知してダウンロード方法を問い合わせ、前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロード方法の中から前記ユーザにより選択されたダウンロード方法を受け付け、前記ダウンロード元決定手段は、前記応答受付手段によって受け付けられた前記ダウンロード方法である組を決定してもよい。これによって、ユーザが希望するダウンロード方法を決定することができる。
また、前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記ダウンロード方法の問い合わせを前記ユーザへ通知してもよい。これによって、チューナを使用しているユーザへ影響が及ぶ時に限り、ユーザはダウンロード方法を選択することができる。
また、前記メッセージ通知手段は、さらに、前記ダウンロード方法の選択のための補助情報を前記ユーザへ通知してもよい。これによって、ユーザがダウンロード元を選択する処理を補助することができる。
また、前記ダウンロード実行装置は、さらに、前記プログラムのダウンロードを開始する時間を設定するタイマー設定手段を備えてもよい。これによって、所定の時間にダウンロードを開始することができるため、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。
また、前記応答受付手段は、前記ユーザから前記プログラムのダウンロードを開始する時間を受け付け、前記タイマー設定手段は、前記応答受付手段によって受け付けられた前記時間を前記プログラムのダウンロードを開始する時間として設定してもよい。これによって、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。また、ユーザは次回のダウンロードがいつ行われるのかを知ることができる。
また、前記タイマー設定手段は、事前に決定されている時間に応じて前記プログラムのダウンロードを開始する時間を設定してもよい。これによって、ユーザからダウンロードを開始する時間を設定されなくても、設定された時間からダウンロードを開始することができる。
また、前記タイマー設定手段は、前記応答受付手段によって前記プログラムのダウンロードに対する拒否の応答が前記ユーザから受け付けられたときに、前記プログラムのダウンロードを開始する時間を設定してもよい。これによって、ユーザの処理が終了する時間を設定することで、それ以降のユーザの処理を妨害することを防ぐことができる。また、ユーザは次回のダウンロードがいつ行われるのかを知ることができる。
また、本発明に係るダウンロード実行装置は、プログラムのダウンロードを実行するダウンロード実行装置であって、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信手段と、前記ダウンロード要求に含まれる前記複数の組から1つの組を決定するダウンロード元決定手段と、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段とを備えることを特徴とする。
これによって、ダウンロード方法およびダウンロード元情報の複数の組から1つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
また、前記ダウンロード要求の前記プログラムのダウンロード方法として、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法の少なくとも1つを含んでもよい。これによって、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法から、ダウンロード方法を選択することができる。
また、前記ダウンロード実行手段は、前記ストリームからのダウンロードを実行、前記ネットワークからのダウンロードの実行、および前記記憶媒体からのプログラム取得の少なくとも1つを行ってもよい。これによって、プログラムのダウンロードを実行することができる。
また、前記ダウンロード元決定手段は、前記ダウンロード要求の前記プログラムのダウンロード方法に対して優先度を付与し、前記優先度に基づいて前記ダウンロード要求に含まれる前記複数の組から1つの組を決定してもよい。これによって、効率的にダウンロード方法およびダウンロード元を決定することができる。
また、前記ダウンロード元決定手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、従来のアプリケーションのダウンロード方法と同様に処理することができ、ネットワークあるいは他のダウンロード方法を持たないダウンロード実行装置でも処理することができる。
また、前記ダウンロード実行装置は、さらに、放送波を受信する少なくとも一つのチューナと、前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段とを備えてもよい。これによって、プログラムのダウンロードに利用できるチューナの有無を確認することができる。
また、前記ダウンロード実行装置は、さらに、前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。これによって、ユーザが使用しているチューナがチューニングを行っている周波数から他の周波数へチューニングを変更する必要があるか否かを判断し、ダウンロード元を決定することができる。
また、前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断してもよい。これによって、現在のチューニングでプログラムのダウンロードが不可能と判断され、かつ利用されていないチューナがない場合に、他のダウンロード元を決定することができる。
また、前記ダウンロード元決定手段は、前記チューニング判断手段によって、前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法あるいは、記憶媒体からプログラムを取得する方法である組を決定してもよい。これによって、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法が利用できない場合は、ネットワークから取得する方法あるいは、記憶媒体からプログラムを取得する方法を選択することができる。
また、前記ダウンロード実行装置は、さらに、ユーザへメッセージ通知を行うメッセージ通知手段と、前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備えてもよい。これによって、ユーザとダウンロード実行装置の間で双方向にメッセージ通知を行うことができ、ダウンロード実行装置は、ユーザの応答に応じて処理することができる。
また、前記メッセージ通知手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法をユーザへ通知し、前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法である組を決定してもよい。これによって、従来のアプリケーションダウンロード方法として一般的な、プログラムがエンコードおよび多重化されたストリームからのプログラムのダウンロードをユーザが望まない場合は、ネットワークからプログラムのダウンロードを行うことができる。
また、前記ダウンロード元決定手段は、ネットワークからのダウンロード方法に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムのダウンロードを実行することができる。
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記ネットワークからのダウンロード方法が存在する場合には、常に前記ネットワークからのダウンロード方法である組を決定してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムのダウンロードを実行することができる。
また、前記ダウンロード元決定手段は、記録媒体からのプログラム取得に対して他の方法より優先的に扱う優先度を付与してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムを取得することができる。
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記記録媒体からのプログラム取得が存在する場合には、常に前記記録媒体からのプログラム取得である組を決定してもよい。これによって、ユーザがチューナを使用中の場合、ユーザの処理を妨げることなく、プログラムを取得することができる。
また、前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中から、最も高速にダウンロードできる組を決定してもよい。これによって、最も高速にダウンロードを実行することができる。
また、前記ダウンロード実行手段は、前記プログラムのダウンロードにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、前記ダウンロード元決定手段は、前記ダウンロード実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から1つの組を決定してもよい。これによって、ダウンロード中にエラーが発生した場合でも、プログラムのダウンロードを再実行することができる。
また、前記ダウンロード実行手段は、前記プログラムのダウンロード元を検出または接続できない場合に前記エラーを検出し、前記プログラムのダウンロード元を検出または接続できないことを示す前記エラー情報を生成してもよい。これによって、ダウンロード元を検出あるいは接続できない場合でも、プログラムのダウンロードを再実行することができる。
また、前記ダウンロード実行手段は、前記プログラムのダウンロード元に前記プログラムが存在しない場合に前記エラーを検出し、前記プログラムのダウンロード元に前記プログラムが存在しないことを示す前記エラー情報を生成してもよい。これによって、ダウンロード元にプログラムが存在しない場合でも、プログラムのダウンロードを再実行することができる。
また、前記チューニング実行手段は、前記チューニングにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、前記ダウンロード元決定手段は、前記チューニング実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から1つの組を決定してもよい。これによって、チューニングにおいてエラーが検出された場合でも、プログラムのダウンロードを再実行することができる。
また、前記ダウンロード実行装置は、さらに、前記ダウンロード実行手段によってダウンロードされたプログラムを保存するストア手段を備えてもよい。これによって、プログラムを実行する際に、プログラムのダウンロードを行う必要がなくなる。
また、前記ダウンロード実行装置は、放送受信装置であってもよい。これによって、ダウンロード元決定手段はダウンロード方法及びダウンロード元を決定する際に、放送受信装置が備えるチューナデバイスやネットワークなどのリソースの情報を利用することができる。
なお、本発明は、このようなダウンロード実行装置として実現することができるだけでなく、このようなダウンロード実行装置が備える特徴的な手段をステップとするダウンロード実行方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
本発明に係るダウンロード実行装置によれば、プログラムのダウンロードに関するメッセージをユーザへ通知するので、プログラムのダウンロード時に、ユーザの視聴または録画を突然妨害するのを防止することができる。
また、ダウンロード方法およびダウンロード元情報の複数の組から1つのダウンロード方法およびダウンロード元情報を特定して、プログラムのダウンロードを行うことができる。
(実施の形態1)
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図2は、ケーブルテレビシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
ヘッドエンド101は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間の伝送に用いられる周波数帯域は、分割して用いられる。図3は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(略称OOB)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主にヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間のデータのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。OOBではQPSK変調方式が、In−BandはQAM64変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図4は、OOB周波数帯域の更に詳細な使用の一例である。70MHz〜74MHzはヘッドエンド101からのデータ送信に使用され、全ての端末装置A111、端末装置B112、端末装置C113が、ヘッドエンド101から同じデータを受け取ることになる。一方、10.0MHz〜10.1MHzは端末装置A111からヘッドエンド101へのデータ送信に使用され、10.1MHz〜10.2MHzは端末装置B112からヘッドエンド101へのデータ送信に使用され、10.2MHz〜10.3MHzは端末装置C113からヘッドエンド101へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置A111、端末装置B112、端末装置C113からヘッドエンド101に送信することができる。図5は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様に基づいたトランスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生する。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。3つの、端末装置は本実施の形態では同じ構成を取る。
図6は、端末装置(ダウンロード実行装置)のハードウェア構成を表すブロック図である。端末装置(ダウンロード実行装置)500は、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、スピーカ507、ビデオデコーダ508、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514で構成される。また端末装置500には、POD504が着脱できる。
図7は、端末装置500の外観の一例である薄型テレビである。
薄型テレビの筐体601は、POD504を除く、端末装置500の構成要素をすべて内蔵している。
ディスプレイ602は、図6におけるディスプレイ509に相当する。
フロントパネル部603は複数のボタンで構成され、図6の入力部513に相当する。
信号入力端子604は、ヘッドエンド101との信号の送受信を行うためにケーブル線を接続する。また、信号入力端子604は、図6のQAM復調部501、QPSK復調部502、QPSK変調部503と接続されている。
PODカード605は、図6のPOD504に相当する。POD504は、図7のPODカード605のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。
挿入スロット606は、PODカード605が挿入される挿入スロットである。
図6を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK変調部503は、CPU514から指定された周波数を含む変調情報で、POD504から渡された信号をQPSK変調し、ヘッドエンド101に送信する。
POD504は、図7のように端末装置本体500から着脱可能な形態をしている。端末本体500とPOD504の接続インターフェースは、OpenCable(登録商標) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
図8は、POD504の内部構成を表すブロック図である。POD504は、第1デスクランブラ部701、第2デスクランブラ部702、スクランブラ部703、第1記憶部704、第2記憶部705、CPU706で構成される。
第1デスクランブラ部701は、CPU706からの指示により、端末装置500のQAM復調部501から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置500のTSデコーダ505に送る。デコードに必要な鍵などの情報はCPU706から適宜与えられる。具体的には、ヘッドエンド101はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第1デスクランブラ部701は、CPU706から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第1デスクランブラ部701は、デスクランブルを行わず、受け取った信号をそのまま、TSデコーダ505に送る。
第2デスクランブラ部702は、CPU706からの指示により、端末装置500のQPSK復調部502から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをCPU706に引き渡す。
スクランブラ部703は、CPU706からの指示により、CPU706から受け取ったデータを暗号化し、端末装置500のQPSK変調部503に送る。
第1記憶部704は、具体的にはRAM等の一次記憶メモリーで構成され、CPU706が処理を行う際、一時的にデータを保存するために使用される。
第2記憶部705は、具体的にはフラッシュROM等の2次記憶メモリーで構成され、CPU706が実行するプログラムを格納し、また、電源OFFになっても消去されては困るデータの保存に使用される。
CPU706は、第2記憶部705が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図9は、第2記憶部705が記憶するプログラムの一例である。図9では、プログラム800は、メインプログラム801、初期化サブプログラム802、ネットワークサブプログラム803、再生サブプログラム804、PPVサブプログラム805等複数のサブプログラムで構成されている。
ここでPPVとはPay Per Viewの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド101に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払うものである。
メインプログラム801は、CPU706が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
初期化サブプログラム802は、電源投入時にメインプログラム801によって起動され、端末装置500との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム802は、第2記憶部705が記憶する第1の周波数を端末装置500のCPU514を通して、QPSK復調部502に通知する。QPSK復調部502は、与えられた第1の周波数でチューニングを行い、信号を第2デスクランブラ部702に送る。また、初期化サブプログラム802は、第2記憶部705が記憶する第1の鍵等の復号情報を第2デスクランブラ部702に与える。その結果、第2デスクランブラ部702は、デスクランブルを行い、初期化サブプログラム802を実行するCPU706に引き渡す。よって、初期化サブプログラム802は情報を受け取ることができる。本実施の形態では、初期化サブプログラム802はネットワークサブプログラム803を通して情報を受け取ることとする。詳細は後述する。
また、初期化サブプログラム802は、第2記憶部705が記憶する第2の周波数を端末装置500のCPU514を通して、QPSK変調部503に通知する。初期化サブプログラム802は第2記憶部705が記憶する暗号化情報をスクランブラ部703に与える。初期化サブプログラム802が送信したい情報を、ネットワークサブプログラム803を介して、スクランブラ部703に与えると、スクランブラ部703は、与えられた暗号化情報を用いて、データを暗号化し、端末装置500のQPSK変調部503に与える。QPSK変調部503は、与えられた暗号化された情報を変調し、ヘッドエンド101に送信する。
この結果、初期化サブプログラム802は、端末装置500、第2デスクランブラ部702、スクランブラ部703、ネットワークサブプログラム803を通して、ヘッドエンド101と双方向通信を行うことができる。
ネットワークサブプログラム803は、メインプログラム801、初期化サブプログラム802等の複数のサブプログラムから使用される、ヘッドエンド101との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム803を使用する他のサブプログラムに対して、TCP/IPによって、ヘッドエンド101と双方向通信を行っているように振舞う。TCP/IPは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム803は、電源投入時に初期化サブプログラム802に起動されると、予め第2記憶部705が記憶しているPOD504を識別する識別子であるMACアドレス(Media Access Controlアドレスの略)を、端末装置500を通してヘッドエンド101に通知し、IPアドレスの取得を要求する。ヘッドエンド101は、端末装置500を介してPOD504にIPアドレスを通知し、ネットワークサブプログラム803は、IPアドレスを第1記憶部704に記憶する。以降、ヘッドエンド101とPOD504は、このIPアドレスを、POD504の識別子として使用し、通信を行う。
再生サブプログラム804は、第2記憶部705が記憶する第2の鍵等の復号情報や、端末装置500から与えられる第3の鍵等の復号情報を第1デスクランブラ部701に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム803を通して、第1デスクランブラ部701に入力されている信号が、PPVチャンネルであることの情報を受け取る。PPVチャンネルと知ったときは、PPVサブプログラム805を起動する。
PPVサブプログラム805は、起動されると、端末装置500に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置500のCPU514に画面に表示したい情報を送ると、端末装置500のCPU514上で動作するプログラムが、端末装置500のディスプレイ509上にメッセージを表示する。ユーザは、端末装置500の入力部513を通して暗証番号を入力すると、端末装置500のCPU514が、それを受け取り、POD504のCPU706上で動作するPPVサブプログラム805に通知する。PPVサブプログラム805は、受け取った暗証番号をネットワークサブプログラム803を通してヘッドエンド101に送信する。ヘッドエンド101は、暗証番号が正しければ、復号に必要な第4の鍵などの復号化情報をネットワークサブプログラム803を介して、PPVサブプログラム805に通知する。PPVサブプログラム805は受け取った第4の鍵などの復号化情報を第1デスクランブラ部701に与え、第1デスクランブラ部701は、入力されている信号をデスクランブルする。
図6を参照して、TSデコーダ505は、POD504から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ506及びビデオデコーダ508、CPU514に引き渡す。ここで、POD504から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書ISO/IEC13818−1に記載されており、本実施の形態では詳細は省略する。MPEG2トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットIDが振られている。図10はパケットの構成図である。900はパケットであり、固定長の188バイトで構成される。先頭4バイトがヘッダー901で、パケットの識別情報を格納しており、残り184バイトがペイロード902で、送信したい情報を含んでいる。903は、ヘッダー901の内訳である。先頭から12ビット目〜24ビット目までの13ビットにパケットIDが含まれている。図11は送られてくる複数のパケットの列を表現した模式図である。パケット1001は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの1番目の情報が入っている。パケット1002は、ヘッダーにパケットID「2」を持ち、ペイロードには音声Aの1番目の情報が入っている。パケット1003は、ヘッダーにパケットID「3」を持ち、ペイロードには音声Bの1番目の情報が入っている。
パケット1004は、ヘッダーにパケットID「1」を持ち、ペイロードには映像Aの2番目の情報が入っており、これはパケット1001の続きになっている。同様にパケット1005、1026、1027も他のパケットの後続データを格納している。このように、同じパケットIDを持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
図11を参照して、CPU514がパケットID「1」と出力先として「ビデオデコーダ508」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「1」のパケットを抽出し、ビデオデコーダ508に引き渡す。図11においては、映像データのみをビデオデコーダ508に引き渡すことになる。同時に、CPU514がパケットID「2」と「オーディオデコーダ506」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「2」のパケットを抽出し、オーディオデコーダ506に引き渡す。図11においては、音声データのみをオーディオデコーダ506に引き渡すことになる。
このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダ505はCPU514から指示された複数のフィルタリングを同時に実行することができる。
図6を参照して、オーディオデコーダ506は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ507に出力する。
スピーカ507は、オーディオデコーダ506から与えられた信号を音声出力する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ509に出力する。
ディスプレイ509は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ508から与えられたビデオ信号を出力したり、CPU514から指示されたメッセージを表示したりする。
2次記憶部510は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
ROM512は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図12は、フロントパネルで入力部513を構成した場合の一例である。1100はフロントパネルであり、図7のフロントパネル部603に相当する。フロントパネル1100は7つのボタン、上カーソルボタン1101、下カーソルボタン1102、左カーソルボタン1103、右カーソルボタン1104、OKボタン1105、取消ボタン1106、EPGボタン1107を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。
CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、QAM復調部501、QPSK復調部502、QPSK変調部503、POD504、TSデコーダ505、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512を制御する。
図13は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、Java(登録商標)VM1203(以後VM1203と称す)、サービスマネージャ1204、Java(登録商標)ライブラリ1205(以後ライブラリ1205と称す)で構成される。
OS1201は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1201は、オペレーティングシステムの略であり、Linux等が一例である。OS1201は、他のサブプログラムを平行して実行するカーネル1201a及びライブラリ1201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1201のカーネル1201aは、EPG1202とVM1203をサブプログラムとして実行する。また、ライブラリ1201bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1201bを通してQAM復調器を制御することができる。
EPG1202は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部1202aと、チャンネル選局を行う再生部1202bで構成される。ここで、EPGはElectric Program Guideの略である。EPG1202は、端末装置500の電源が投入されると、カーネル1201aによって起動される、起動されたEPG1202の内部では、番組表示部1202aが端末装置500の入力部513を通して、ユーザからの入力を待つ。ここで、入力部513が図12で示されるフロントパネルで構成されている場合、ユーザが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1202の番組表示部1202aは、この識別子を受け取り、番組情報をディスプレイ509に表示する。図14(a)及び(b)は、ディスプレイ509に表示された番組表の一例である。図14(a)を参照して、ディスプレイ509には、格子状に番組情報が表示されている。列1301には、時刻情報が表示されている。列1302には、チャンネル名「チャンネル1」と、列1301の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「ニュース9」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列1303も列1302同様、チャンネル名「チャンネル2」と、列1301の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。1330は、カーソルである。カーソル1330は、フロントパネル1100の左カーソルボタン1103と右カーソルボタン1104を押下すると移動する。図14(a)の状態で、右カーソルボタン1104を押下すると、カーソルボタン1330は右に移動し、図14(b)のようになる。また、図14(b)の状態で、左カーソル1103を押下すると、カーソル1330は左に移動し、図14(a)のようになる。
図14(a)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル1」の識別子を再生部1202bに通知する。図14(b)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル2」の識別子を再生部1202bに通知する。
また、番組表示部1202aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
再生部1202bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図15は2次記憶部510に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列1401は、チャンネルの識別子である。列1402は、チャンネル名である。列1403はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、QAM復調部501に与える値である。列1404はプログラムナンバーである。プログラムナンバーとは、MPEG2規格で規定されているPMTを識別するための番号である。PMTに関しては、後述する。行1411〜1414の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行1411は識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「150MHz」、プログラムナンバーが「101」を含む組となっている。再生部1202bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
また、再生部1202bは、再生中に、ユーザがフロントパネル1100の上カーソルボタン1101と下カーソルボタン1102を押下すると、入力部513からCPU514を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部1202bは、1次記憶部511に現在再生中のチャンネルの識別子を記憶する。図16(a)(b)及び(c)は、1次記憶部511に保存しているチャンネルの識別子の例である。図16(a)では識別子「3」が記憶されており、図15を参照し、チャンネル名「TV 3」のチャンネルが再生中であることを示す。図16(a)の状態で、ユーザが上カーソルボタン1101を押下すると再生部1202bは、図15のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「2」に書き換える。図16(b)は、チャンネル識別子が書き換えられた状態を表す。また、図16(a)の状態で、ユーザが下カーソルボタン1102を押下すると再生部1202bは、図15のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「4」に書き換える。図16(c)は、チャンネル識別子が書き換えられた状態を表す。
VM1203は、Java(登録商標)言語で記述されたプログラムを逐次解析し実行するJava(登録商標)バーチャルマシンである。Java(登録商標)言語で記述されたプログラムはバイトコードと呼ばれる、ハードウェアに依存しない中間コードにコンパイルされる。Java(登録商標)バーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJava(登録商標)バーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。VM1203は、カーネル1201aに実行するJava(登録商標)プログラムを指定され起動される。本実施の形態では、カーネル1201aは、実行するJava(登録商標)プログラムとしてサービスマネージャ1204を指定する。Java(登録商標)言語の詳細は、書籍「Java(登録商標) Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Java(登録商標)バーチャルマシン自体の詳細な動作などは、「Java(登録商標) Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、Java(登録商標)言語で書かれたJava(登録商標)プログラムであり、VM1203によって逐次実行される。サービスマネージャ1204は、JNI(Java(登録商標) Native Interface)を通して、Java(登録商標)言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java(登録商標) Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、JNIを通して、再生部1202bよりチャンネルの識別子を受け取る。
サービスマネージャ1204は、最初にライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図15の行1412を参照して、対応するチューニング情報「156MHz」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
次にサービスマネージャ1204は、ライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
次にサービスマネージャ1204は、ライブラリ1205の中にあるJMF1205aにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にJMF1205aは、再生すべき映像と音声を特定するためのパケットIDをPAT、PMTから取得する。PATやPMTはMPEG2規格で規定されている、MPEG2トランスポートストリーム内の番組構成を表現するテーブルであり、MPEG2トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。PATは、Program Association Tableの略で、パケットID「0」のパケットに格納され送信されている。JMF1205aは、PATを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットID「0」とCPU514を指定する。TSデコーダ505がパケットID「0」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PATのパケットを収集する。図17は、収集したPATの情報の一例を模式的に表した表である。列1601は、プログラムナンバーである。列1602は、パケットIDである。列1602のパケットIDはPMTを取得するために用いられる。行1611〜1613は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1611はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図15の行1412を参照して、対応するプログラムナンバー「102」を獲得し、次に、図17のPATの行1612を参照し、プログラムナンバー「102」に対応するパケットID「502」を獲得する。PMTは、Program Map Tableの略で、PATで規定されたパケットIDのパケットに格納され送信されている。JMF1205aは、PMTを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットIDとCPU514を指定する。ここで、指定するパケットIDは「502」とする。TSデコーダ505がパケットID「502」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PMTのパケットを収集する。図18は、収集したPMTの情報の一例を模式的に表した表である。列1701は、ストリーム種別であり。列1702は、パケットIDである。列1702で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1703は補足情報である。行1711〜1714はエレメンタリーストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行1711は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図18を参照して、JMF1205aは、行1711から音声のパケットID「5011」を、行1712から映像のパケットID「5012」を獲得する。
次に、JMF1205aは、OS1201のライブラリ1201bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダ506、映像のパケットIDと出力先としてビデオデコーダ508の組を、TSデコーダ505に与える。TSデコーダ505は与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパケットID「5011」のパケットをオーディオデコーダ506に、パケットID「5012」のパケットをビデオデコーダ508に引き渡す。オーディオデコーダ506は、与えられたパケットのデジタル−アナログ変換を行いスピーカ507を通して音声を再生する。ビデオデコーダ508は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ509に映像を表示する。
最後にサービスマネージャ1204は、ライブラリ1205の中にあるAM1205bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJava(登録商標)プログラムを抽出し、VM1203に実行させることである。MPEG2トランスポートストリームにJava(登録商標)プログラムを埋め込む方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJava(登録商標)プログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、OCAP仕様(正式には、OCAP 1.0 Profile OC−SP−OCAP1.0−IF−I09−031121)に定義されている、Application Information Tableの略である。
AM1205bは、まず、AITを獲得するため、JMF1205a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図17のPAT、図18のPMTが送信されていると、JMF1205aと同様の手順で、図18のPMTを獲得する。AM1205bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリーストリームからパケットIDを抽出する。図18を参照して、行1713のエレメンタリーストリームが該当し、パケットID「5013」を獲得する。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、AITのパケットを収集することができる。図19は、収集したAITの情報の一例を模式的に表した表である。列1801はJava(登録商標)プログラムの識別子である。列1802はJava(登録商標)プログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置500がこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意味する。列1803は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列1804はJava(登録商標)プログラムのプログラム名である。行1811と1812は、Java(登録商標)プログラムの情報の組である。行1811で定義されるJava(登録商標)プログラムは、識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。行1812で定義されるJava(登録商標)プログラムは、識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで2つのJava(登録商標)プログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に2つのJava(登録商標)プログラムが含まれていることを表す。ここでは、Java(登録商標)プログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はOCAP仕様(OCAP 1.0 Profile OC−SP−OCAP1.0−IF−I09−031121)を参照されたい。
AM1205bは、AITの中から「autostart」のJava(登録商標)プログラムを見つけ出し、対応するDSMCC識別子及びJava(登録商標)プログラム名を抽出する。図19を参照して、AM1205bは行1811のJava(登録商標)プログラムを抽出し、DSMCC識別子「1」及びJava(登録商標)プログラム名「a/TopXlet」を獲得する。
次にAM1205bは、AITから取得したDSMCC識別子を用いて、Java(登録商標)プログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリーストリームのパケットIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図18とすると、行1714のエレメンタリーストリームが合致し、パケットID「5014」を取り出す。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、必要なパケットを収集することができる。AM1205bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
図20は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、1901はルートディレクトリ、1902はディレクトリ「a」、1903はディレクトリ「b」、1904はファイル「TopXlet.class」、1905はファイル「GameXlet.class」である。
次にAM1205bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJava(登録商標)プログラムをVM1203に引き渡す。今、実行するJava(登録商標)プログラム名が「a/TopXlet」とすると、Java(登録商標)プログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図20を参照して、ファイル1904が実行すべきJava(登録商標)プログラムである。次にAM1205bは、ファイル1904をVM1203に引き渡す。
VM1203は、引き渡されたJava(登録商標)プログラムを実行する。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、ライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJava(登録商標)プログラムの実行を、同じくライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJava(登録商標)プログラムの実行を行う。
ライブラリ1205は、ROM512に格納されている複数のJava(登録商標)ライブラリの集合である。本実施の形態では、ライブラリ1205は、JMF1205a、AM1205b、Tuner1205c、CA1205d、POD Lib1205e等を含んでいる。
次に、Java(登録商標)プログラムのダウンロード・保存及び実行機能について説明する。
サービスマネージャ1204は、ライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101との通信によりヘッドエンド101からの情報を受け取ることができる。この通信は、POD Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502を使用して実現される。
サービスマネージャ1204は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJava(登録商標)プログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。どのような送信形式を採用しても、XAIT情報に必要とする情報が含まれていれば、本発明は実施可能である。
図21は、ヘッドエンド101から取得したXAIT情報の一例を模式的に表した図である。列2001はJava(登録商標)プログラムの識別子である。列2002はJava(登録商標)プログラムの制御情報である。制御情報には「autostart」「present」などがあり、「autostart」は端末装置500が電源投入時またはXAIT情報が更新された時にこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味する。列2003は、プロトコル識別子である。プロトコル識別子は、プログラムのダウンロードを行うために利用できるプロトコルを表す。プロトコル識別子には、「OC(Object Carousel)」と「IP」などがある。「OC」は、DSMCC方式でエンコードされたファイルシステムからダウンロードを行えることをあらわす。また、「IP」はネットワークを用いてプログラムのダウンロードを行えることを示している。また、「OC」と「IP」の両方からダウンロードできる場合は両方を記述することもできる。列2004は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。そのため、列2003のプロトコル識別子に「OC」が存在するときのみ存在する。列2005は、列2003で示したプロトコルのダウンロード元指定である。プロトコル識別子2003の「OC」指定に対応したダウンロード元指定は、DSMCC方式でエンコードされたファイルシステムが埋め込まれたトランスポートストリームとそのトランスポートストリーム中のPMT(図18参照)を一意に特定できる識別子及び、エレメンタリーストリームの識別子を指定する。これ以降、簡単化のため、トランスポートストリームとそのトランスポートストリーム中のPMT(図18参照)を一意に特定できる識別子をソースIDと呼ぶこととする。また、プロトコル識別子2003の「IP」指定に対応したダウンロード元指定は、プログラムのダウンロードを提供するサーバと、プログラムが保存されたディレクトリ名などを指定する。なお、ダウンロード元指定2005は、プロトコル識別子2003に対し複数存在してもよい。具体的には、プロトコル識別子2003に「OC」を指定し、この「OC」に対応したダウンロード元指定2005を複数記述することも可能である。また、プロトコル識別子2003が「IP」の場合も同じである。列2006はJava(登録商標)プログラムのプログラム名である。列2007は、Java(登録商標)プログラムのストア優先度である。ストア優先度はXAIT情報に記述される個々のJava(登録商標)プログラムに指定される値であり、Java(登録商標)プログラム及びJava(登録商標)プログラムの実行に必要なデータを保存する際に、2次記憶部510へ保存するJava(登録商標)プログラム及びJava(登録商標)プログラムの実行に必要なデータを決めるための優先度である。列2008は、Java(登録商標)プログラムのアプリケーション名である。アプリケーション名は、ユーザがJava(登録商標)プログラムを識別するための名前である。行2011と2012と2013は、Java(登録商標)プログラムの情報の組である。行2011で定義されるJava(登録商標)プログラムは、識別子「701」、制御情報「autostart」、プロトコル識別子「OC」、DSMCC識別子「1」、ダウンロード元指定「dsmcc://0xAAAA,0x11」、プログラム名「a/APP1Xlet」、ストア優先度「100」、アプリケーション名「APP1」の組である。ここでは、Java(登録商標)プログラムに対して8つの情報しか規定しないが、より多くの情報あるいは、この一部が定義されていても本発明は実施可能である。また、ここでは、各情報の記述の例を示しているが、各情報が持つべき内容を示すことが可能であれば、この記述に従わなくても本発明は実施可能である。
なお、列2007のアプリケーション名は、例えば、ユーザに対してXAIT情報に記述された各Java(登録商標)プログラムを識別させるために用いられる名前であるが、ユーザに提示してユーザがJava(登録商標)プログラムを識別するのに十分な情報があれば、アプリケーション名はなくても本発明は実施可能である。
図22は、図21におけるプロトコル識別子2003と、ダウンロード元となるJava(登録商標)プログラムが存在するファイルシステムとの関係を模式的に表したものである。図22において、図21と同じ要素には、図21と同じ符号を付し説明を省略する。2110はトランスポートストリーム上にあるDSMCC方式でエンコードされたファイルシステムを示す。また、2120は、プログラムのダウンロードを提供するサーバ上にあるファイルシステムを示す。行2011で定義されるJava(登録商標)プログラムは、列2003に示されるプロトコル識別子が「OC」のみであるため、2110に示したファイルシステム上にのみ存在する。また、行2012で定義されるJava(登録商標)プログラムは、列2003に示されるプロトコル識別子が「IP」のみであるため、2120に示したサーバ上のファイルシステムにのみ存在する。また行2013で定義されるJava(登録商標)プログラムは、プロトコル識別子2003に「OC」と「IP」の両方が設定されているため、2110に示したファイルシステム上と2120に示したサーバ上のファイルシステムの両方に存在する。このため、プログラムのダウンロードを行うときには、このどちらから取得するかを選択することができる。この選択する方針については後述する。なお、ここでは各Java(登録商標)プログラムに対して、OCあるいはIPを一個ずつ設定しているが、これらが複数存在してもよい。
次にサービスマネージャ1204は、ライブラリ1205の中にあるAM1205bにXAIT情報を受け渡し、XAIT情報に記述されるJava(登録商標)プログラムをプロトコル識別子2003とダウンロード元指定2005に基づきプログラムのダウンロード及び実行を依頼する。AM1205bは、XAIT情報を受け取ると、プロトコル識別子2003を参照し、ダウンロード方法を決定する。AM1205bが決定したダウンロード方法が「OC」の場合は、AIT情報からJava(登録商標)プログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムを1次記憶部511に保存する。一方、「IP」の場合は、ダウンロード元指定2005の内容に従い、プログラムのダウンロードを提供するサーバから1次記憶部511にプログラムをダウンロードし保存する。また、ここでダウンロードしたプログラムをAM1205bは、XAIT情報のファイル名で指定されたディレクトリ構造に一致するようにファイルシステムを構築し保存することもできる。具体的には、行702で定義されるアプリケーションでは、プログラム名2006で示されたようにルートディレクトリからbディレクトリを作成し、その中にダウンロードしたプログラムApp2Xlet.classを保存することもできる。なお、図21、図22に示したダウンロード元指定2005は、HTTPのプロトコルを使ってHTTPサーバからプログラムを取得する例を示している。具体例として、図21の行2012に記されたプログラムのダウンロード元指定2005は「http://192.168.0.1/BB」である。このダウンロード元指定2005の「http」はhttpプロトコルを使うことを示し、「192.168.0.1」はプログラムのダウンロードを提供するHTTPサーバのIPアドレスを示し、「/BB」は、HTTPサーバ内に存在するダウンロードするプログラムへのディレクトリのパスを示す。なお、ここではHTTPプロトコル及びHTTPサーバを用いたネットワークからのダウンロード方法を述べたが、この他の方法で取得してもよい。その後、1次記憶部511に保存したファイルシステムを2次記憶部510に複写してもよい。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。また、1次記憶部511で処理し、2次記憶部510へ保存しなくてもよい。なお、ここではプロトコル識別子として、「OC」と「IP」を説明したが、「記録媒体」から取得することや、これ以外の方法であってもよい。
次に、AM1205bは、ダウンロードあるいは構築したファイルシステムの格納位置をXAIT情報に対応つけて2次記憶部510に保存する。図23は、2次記憶部510において、XAIT情報とダウンロードあるいは構築したファイルシステムが対応付けられて保存されている一例を表す。図23において、図22と同じ要素には、図22と同じ符号を付し説明を省略する。列2201は、各Java(登録商標)プログラムごとに対応するダウンロードあるいは構築したファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。2210はダウンロードあるいは構築したファイルシステムであり、内部にトップディレクトリ2211、ディレクトリ「a」2212、ディレクトリ「b」2213、ディレクトリ「c」2214、ファイル「APP1Xlet.class」2115、ファイル「APP2Xlet.class」2116、ファイル「APP3Xlet.class」2117を保持する。
ここでAM1205bは、Java(登録商標)プログラムを保存してからXAIT情報を保存しているが、Java(登録商標)プログラムを保存する前にXAIT情報を保存することでも実施可能である。なお、XAIT情報を2次記憶510に保存しているが、1次記憶部511に保存することも実施可能である。1次記憶部511に保存する場合、電源OFF時に、保存されたXAIT情報は全て消える。
ここで、ファイルシステムは、具体的には、XAIT情報に記述される複数のJava(登録商標)プログラム及びJava(登録商標)プログラムの実行に必要なデータから形成される。以降、XAIT情報に記述される個々のJava(登録商標)プログラム及びJava(登録商標)プログラムの実行に必要なデータを、アプリケーションと呼ぶ。さらに、アプリケーションを2次記憶部510あるいは1次記憶部511にダウンロードすることを以降、ストアと呼ぶ。またさらに、2次記憶部510あるいは1次記憶部511にあって、アプリケーションをストアするための領域をストア領域と呼ぶ。また、VM1203がアプリケーションを構成するJava(登録商標)プログラムを実行することをアプリケーションの実行と呼ぶ。
図24はXAIT情報に記述されるアプリケーションがアプリケーションのストア領域2301にストアされている状態を示す一例である。図24の中で、アプリケーションのストア領域2301は、アプリケーション名「APP1」をもつアプリケーション2311、および、アプリケーション名「APP2」を持つアプリケーション2312を格納する。
次にAM1205bは、1次記憶部511または2次記憶部510に保存されたXAIT情報を参照して、1次記憶部511にダウンロードしたアプリケーション、または2次記憶部510のストア領域2301にストアしたアプリケーションの中から「autostart」と指定されたアプリケーションのJava(登録商標)プログラムをVM1203に引き渡す。図23を参照して、行2011で定義されるアプリケーション「APP1」のJava(登録商標)プログラム「a/APP1Xlet」がVM1203に引き渡される。実行するアプリケーションのJava(登録商標)プログラム名が「a/APP1Xlet」とすると、Java(登録商標)プログラム名の最後に「.class」を付加したファイル「a/APP1Xlet.class」が実行すべきファイルとなる。VM1203は、引き渡されたアプリケーションのJava(登録商標)プログラムを実行する。以降、AM1205bからのVM1203へのアプリケーションのJava(登録商標)プログラム引渡しを、VM1203へのアプリケーション起動指示と呼ぶ。
ここで、AM1205bがXAIT情報を受け取った時点において、XAIT情報に記述されたアプリケーションのうち、既にストアされているアプリケーションが存在する場合、既にストアされているアプリケーションに関しては、アプリケーションをダウンロードまたはストアする必要がないため、ストア処理を省略することができる。
従って、アプリケーションを前もってストア領域2301にストアしておくことで、AM1250bがXAIT情報を受け取った時点から、VM1203へのアプリケーション起動指示を行うまでの時間を短縮することができる。なお、アプリケーションのストア処理を行うか否かについては、ストア優先度2007を利用することができる。一例としてストア優先度が11以上ならストアすることとし、11より小さいとストアしないこととする。この判断基準は、アプリケーションのストア処理を行うか否かが分かればいいので、11でなくてもよい。また、ストア優先度2007とは別の情報として提供してもよい。
図25と図26はAM1250bが、XAIT情報を受け取った時点から、VM1203へのアプリケーション起動指示を行うまでの動作の一例を示すフローチャートである。図25は、XAIT情報を受け取ってからストア処理を完了するまでのフローチャート部分であり、図26はストア処理後、アプリケーションの起動を行う際のフローチャートである。図25を参照して、AM1205bがXAIT情報を受け取ると(S2401)、XAIT情報に記述のアプリケーションの中からまだ選ばれていないものを1つ選ぶ(S2402)。ここで、AM1205bは、ストア優先度2007を参照し、前述したような判断基準に従い、アプリケーションをストアするか否かを判断する(S2403)。このとき、アプリケーションをストアする場合(S2403でYES)は、AM1205bはS2402で選んだアプリケーションが既にストアされているか否かを判断し(S2404)、ストアされていない場合(S2404でNO)、AM1205bは、アプリケーションをプロトコル識別子2003に記述されたプロトコルとダウンロード元指定2005からダウンロード元を決定し、ダウンロードを行いストアする(S2405)。なお、DSMCCからのダウンロードを行う場合は、DSMCC識別子2004も参照する。S2403においてアプリケーションをストアしないと判断した場合(S2403でNO)、または、S2404においてアプリケーションが既にストアされている場合(S2404でYES)、またはS2405の処理をすると、AM1205bは、XAIT情報記述のアプリケーションを全て選択したか否かを判断し(S2406)、未だXAIT情報記述の全てのアプリケーションを選択していない場合(S2406でNO)、S2402からの処理を繰り返す。S2406において、XAIT情報記述のアプリケーションをすべて選択したと判断すると、次にAM1205bは、図26に従い、アプリケーションの起動を行う。AM1205bは、再びXAIT情報に記述のアプリケーションを選ばれていないものから順に1つずつ選ぶ(S2501)。次に、AM1205bは、選んだアプリケーションの制御情報2002が「autostart」か否かを判断し(S2502)、選んだアプリケーションの制御情報が「autostart」の場合(S2502でYES)、AM1205bはアプリケーションがストアされているか否かを判断する(S2503)。ストアされていない場合(S2503でNO)、AM1205bは、アプリケーションをプロトコル識別子2003に記述されたプロトコルとダウンロード元指定2005からダウンロード元を決定し、ダウンロードを行いストアする(S2504)。なお、DSMCCからのダウンロードを行う場合は、DSMCC識別子2004も参照する。
次に、AM1205bは、VM1203へのアプリケーション起動指示を行う(S2505)。そして、AM1205bは、XAIT情報記述のアプリケーションを全て選択したか否かを判断し(S2506)、未だXAIT情報記述の全てのアプリケーションを選択していない場合(S2506でNO)、S2501からの処理を繰り返す。S2506において、XAIT情報記述のアプリケーションをすべて選択したと判断する(S2506でYES)と、処理を終了する。
こうして、XAIT情報の受け取りからアプリケーションのストア処理と起動指示までの処理を進め、既にXAIT情報記述の全てのアプリケーションを選択している場合には処理を終了する。 図25と図26では、アプリケーションのストア処理と起動指示を、別々に処理する手順を示したが、これらは一回の繰り返しの中で処理してもよい。
なお、ここでは、AM1205bはアプリケーションのダウンロードまたはストア領域へのストア完了後に、VM1203bへアプリケーションの起動指示を出すものとして説明しているが、AM1205bがXAIT情報の受け取り後、アプリケーションのダウンロードまたはストア領域へのストアをする前に、VM1203へアプリケーションの起動指示を出してもよい。ここでの起動指示は、AM1205bがVM1203に実行すべきアプリケーションのプログラム名を引き渡すことにより実現するものとする。この場合、VM1203が、AM1205bからのアプリケーション起動指示後に、ダウンロードを行うか、または1次記憶部511またはストア領域からアプリケーションを読み込み実行することになる。
アプリケーションの起動は、図25や図26で示したようなXAIT情報を受け取ったときのみではない。AM1205bは、特殊な権限を持った実行中のアプリケーションに対し、他のアプリケーションの起動や停止などのライフサイクルを扱うことができるAPIを提供している。そのため、特殊な権限を持った実行中のアプリケーションは、起動したいアプリケーションの情報を指定し、このAPIを利用することでアプリケーションの起動をAM1205bへ要求することができる。この時のフローチャートを図27に示す。
特殊な権限を持った実行中のアプリケーションは、起動したいアプリケーションの情報を指定し、AM1205bが提供するアプリケーションの起動を行うAPIを呼ぶ(S2601)。このときAM1205bは、起動したいアプリケーションが既にストアされているか否かを調べる(S2602)。ここで、ストアされていない場合(S2602でNO)は、AM1205bは、アプリケーションをプロトコル識別子2003に記述されたプロトコルとダウンロード元指定2005からダウンロード元を決定し、ダウンロードを行いストアする(S2603)。次に、AM1205bは、VM1203へのアプリケーション起動指示を行い(S2505)、終了する。
AM1205bは、XAIT情報を受信した際に図25と図26の処理を行うため、XAIT情報の更新に伴い、ストア領域2301にストアされるアプリケーションが更新される。図28と図29を参照して、XAIT情報が更新されると、それにともないストア領域2301にストアされるアプリケーションが更新される場合がある。図28(a)は、行2011で定義されるアプリケーション「APP1」のXAIT情報を示し、図28(b)は、AM1205bが図28(a)のXAIT情報を受信し、図25、図26の処理を終了した時のストア領域2301を示す。図28(a)のXAIT情報には、行2011で定義されるアプリケーション「APP1」が一つ存在するので、図28(b)のストア領域2301には、「APP1」2311が一つストアされている。次に、ストア領域2301が図28(b)の状態で、図29(a)のXAIT情報を受信し、図25、図26の処理を終了した時の、ストア領域2301を図29(b)に示す。図29(a)は、行2011で定義されるアプリケーション「APP1」と行2012で定義されるアプリケーション「APP2」が記述されたXAIT情報である。図29(a)のXAIT情報をAM1205bが受信した際に、ストア領域2301は、図29(b)のように行2011で定義されるアプリケーション「APP1」2311と行2012で定義されるアプリケーション「APP2」2312の二つのアプリケーションがストアされる。
次に、本発明の主要機能である、XAIT情報を受け取ったAM1205bによる、XAIT情報に記述されたアプリケーションのストア機能時に必要なダウンロード元の決定とユーザへのメッセージ通知について説明する。具体的には、XAIT情報を受信した際のフローチャートとして示した図25と図26におけるS2405とS2504及び、特別な権限を持つアプリケーションがAM1205bのアプリケーション起動APIを呼んだ際のフローチャートとして示した図27のS2603の処理に関する。
図30は、AM1205bの構成のうち、ストア処理を行う際に、ダウンロード元を決定する構成要素のみを示す図である。他の構成要素は本発明とは直接関係ないので省略する。
AM1205bは、ダウンロード元決定部2901、チューニング周波数取得部2902、ダウンロード周波数取得部2903、ストア部2904、通知部2905、チューニング要求部2906を備える。なお、本実施の形態では、選択されたアプリケーションが、少なくとも一つのDSMCC方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCが指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定2005が明記されている場合を想定している。
ダウンロード元決定部2901は、プログラムのダウンロード元を決定する。そのため、XAIT情報のプロトコル識別子2003とダウンロード元指定2005の情報を受信する。ここで、ダウンロード元決定部2901は、選択されたアプリケーションがどのようなプロトコル識別子2003を持っているかを判断する。ダウンロード元を決定するため、ダウンロード元決定部2901は、チューニング周波数取得部2902から現在のチューニング情報を取得し、ダウンロード周波数取得部2903からアプリケーションをダウンロードするために必要な周波数を取得する。ここで、周波数と記述しているが、チューニングに必要な情報を代表して記述しているため、この他のチューニングに必要な情報である変調方式や内符号率などもあわせて処理してもよい。以下、周波数に関する記述は全て同様である。ダウンロード元決定部2901は、チューニング周波数取得部2902から、チューナの使用状況と使用中の各チューナがチューニングしている周波数を取得する。また本発明は、使用したいチューナが存在するか否かが問題であり、チューナの数はいくつであっても適用できる。また、本発明は、ダウンロード元指定2005にOCからの複数のダウンロード元が指定されていても実施できる。つまり、ダウンロード元決定部2901は、XAIT情報を参照し現在選択されているアプリケーションのプロトコル識別子2003にOCがある場合、ダウンロード元指定2005から全てのソースIDを取得し、ダウンロード周波数取得部2903へ渡し、ダウンロード周波数取得部2903から、そのソースIDで示したPMTで伝送されるチャンネルが存在するトランスポートストリームが流れている全ての周波数を受け取る。そして、現在のチューニング情報と比較することで、ダウンロード元を決定する。また、ダウンロード元決定部2901は、ダウンロード元を決定後に、通知部2905への通知指示と、チューニング要求部2906へのチューニング要求指示と、ストア部2904へアプリケーションのストア指示を行う。なお、チューニング要求部2906へのチューニング要求指示では、チューニングしたいアプリケーションのソースIDと使用するチューナを指定する。この時、端末装置500がプログラムのダウンロードに複数のチューナを使用できる場合は、ダウンロード元決定部2901は、どのチューナを使用するかという方針を決定するため、次のような優先度の一例を考える。これらは、単独で使用してもよいし、複数の組み合わせで使用してもよい。
1)使用されていないチューナが存在したら、そのチューナを優先的に使用する。
2)ユーザがPicture in Pictureのように、ひとつの画面で複数の番組を視聴している場合は、各番組が異なる周波数で伝送されていることがある。この時は、ユーザは複数のチューナを使用しており、このチューナを使用する場合は、ユーザへの影響を少なくするため、大画面で視聴しているサービスを優先的に処理し、ユーザへの影響の少ない小画面で流れている番組をチューニングしているチューナを使用することができる。当然、逆も可能である。
3)ユーザが録画と視聴を同時に行っている場合は、録画を優先的に処理し、視聴中の番組をチューニングしているチューナを使用してもよい。逆も可能である。
4)PPV(Pay Per View)などによって、ユーザが購入した番組と無料の番組が選択された場合は、ユーザが購入した番組の優先的に処理し、無料の番組をチューニングしているチューナを使用してもよい。逆も可能である。
なお、ここではダウンロード元決定部2901が、使用するチューナの決定を行う方針としたが、チューナを選択する優先度がこれらの方針に従っていれば、本処理を実行するのが、ダウンロード元決定部2901である必要はない。例えば、ダウンロード元決定部2901は、チューニング要求部2906へソースIDの指定のみを行い、チューニング要求部2906内で使用するチューナを選択する方針としてもよい。また、ダウンロード元決定部2901及びチューニング要求部2906は、ソースIDを指定するのみで、チューナライブラリ1205cが使用するチューナを決定するという方針でもよい。
また、ストア完了後、ストア部2904から通知を受信し、アプリケーションのダウンロードを行う前の周波数へチューニングを再設定するため、チューニング要求部2906へ通知することもできる。
チューニング周波数取得部2902は、チューナの使用状況と、使用中の各チューナがチューニングしている周波数をダウンロード元決定部2901へ通知する。ここでチューニング周波数取得部2902は、チューナの使用状況と使用中の各チューナがチューニングしている周波数の取得を、チューナライブラリ1205cがチューナへチューニング要求を行うために管理する情報から取得することで実現する。なお、ここではチューナライブラリ1205cが管理する情報から取得する例を示したが、チューナの使用状況と使用中の各チューナがチューニングしている周波数が取得できれば、他の方法で実現してもよい。複数チューナがある場合はチューニング中の全ての周波数を取得し、これらの結果を配列で通知する。なお、ここでは配列で通知するとしたが、本発明は通知方法に依存しないため、他の通知方法でもよい。また、周波数の値を直接通知するのではなく、ダウンロード元決定部2901とチューニング周波数取得部2902が解釈できる識別子であってもよい。また、ここではチューニング周波数取得部をAM1205bの一部として記述したが、チューナライブラリ1205cの一部として存在し、このチューナライブラリ1205cとダウンロード元決定部2901が通信をするようにしてもよい。
ダウンロード周波数取得部2903は、ダウンロード元決定部2901からソースIDを受信し、ソースIDから周波数情報を取得し、ダウンロード元決定部2901へ通知することで、アプリケーションのダウンロードに必要な周波数を通知する。ここで、周波数の値を直接通知するのではなく、ダウンロード元決定部2901とダウンロード周波数取得部2903が解釈できる識別子であってもよい。ダウンロード元決定部2901では、ソースIDから周波数への変換を行う必要がある。ソースIDから周波数を取得するためには、InbandのトランスポートストリームあるいはOOBから、周波数情報などチューニングに必要な情報を伝送しているNITとソースIDを基にして仮想的なチャンネルのテーブルを保持するSVCTというSI(Service Information)情報を取得する必要がある。または、SVCTに加え更に付加情報を保持するLVCTというSI情報を取得してもよい。このソースIDから周波数を取得する技術は、公知の技術であり詳細は、Cable Television SCTE65を参照されたい。また、ここではOCAP仕様で実現する場合を前提として記述しているが、これ以外の方法でソースIDと周波数の関係を解決してもよい。また、ここではチューニング周波数取得部をAM1205bの一部として記述したが、SI情報を扱う専門のモジュールの一部として存在し、このSI情報を扱う専門のモジュールとダウンロード元決定部2901が通信をするようにしてもよい。
ストア部2904は、ダウンロード元決定部2901が決定したダウンロード元からアプリケーションをダウンロードしストアする。
通知部2905は、ダウンロード元決定部2901の決定結果に従い、ユーザにアプリケーションがダウンロードされることを通知する。ここで、通知部2905によるユーザへのアプリケーションダウンロード通知は、通知部2905が端末装置500のCPU514に画面に表示したいダウンロード通知情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、ダウンロード通知をディスプレイ509に表示することにより実現される。ここで、ダイアログは、例えば一定時間経過後にディスプレイ509から消すものとする。
チューニング要求部2906は、ダウンロード元決定部2901によって指定されたチューニング要求に従い、指定されたアプリケーションが流れているトランスポートストリームへ、指定されたチューナを用いてチューニングを行う。
また、ここではチューニング要求部2906をAM1205bの一部として記述したが、チューナライブラリ1205cの一部として存在し、このチューナライブラリ1205cとダウンロード元決定部2901が通信を行うことで実現してもよい。
図31、図32は、本実施の形態におけるXAIT情報を受け取ったAM1205bによる、アプリケーションのストア処理動作の一例を示すフローチャートである。特に、XAIT情報に記述されるアプリケーションをDSMCC方式でエンコードされたファイルシステムからダウンロードし、ストア領域2201へストアする際に、現在チューニングされている周波数とは異なる周波数からダウンロードする必要がある場合の、AM1205bのストア処理動作の一例を示すフローチャートである。
図31、図32を参照して、ダウンロード元決定部2901は、選択されているアプリケーションのXAIT情報を受信する(S3001)。この時、選択されているアプリケーションのプロトコル識別子2003にOCが存在することを確認する。次に、ダウンロード元決定部2901は、チューニング周波数取得部2902から現在チューニング中の周波数を取得する(S3002)。この時、複数のチューナが存在する場合は、チューニング中の全ての周波数を取得する。次にダウンロード元決定部2901は、ダウンロード周波数取得部2903からアプリケーションの周波数を取得する(S3003)。ダウンロード元決定部2901は、S3002で取得した現在チューニングされている周波数とS3003で取得したアプリケーションの周波数を比較することで、現在のチューニングを変更することなくアプリケーションのダウンロードが行えるか否かを判断する(S3004)。このとき、アプリケーションをダウンロードする周波数が、現在のチューニングされている周波数になかった場合(S3004でNO)、ダウンロード元決定部2901は、チューニング周波数取得部2902へチューナの使用状況を問い合わせる(S3005)。この時、チューナが全て使用中の場合(S3005でYES)は、ダウンロード元決定部2901は、通知部2905へダウンロードするため、現在の視聴あるいは録画が妨げられる旨を伝えるメッセージ通知を指示する。そして、通知部2905はユーザにアプリケーションがダウンロードされることを通知する(図32のS3101)。なお、図32のS3101の処理は、通知モジュールとして、これ以降、同様の処理をする際に参照することとする。ここで、通知部2905によるユーザへのアプリケーションダウンロード通知は、通知部2905が端末装置500のCPU514に画面に表示したいダウンロード通知情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、図33に示すようなダウンロード通知をディスプレイ509に表示することにより実現される。3201はダイアログボックスであり、メッセージ3202の表示要素をもつ。なお、メッセージ3202の文字列は、ユーザにアプリケーションのダウンロードを通知する為に必要な情報を提供できる方法であれば、図33中の文字列に限定されず他の文字列であってもよく、また、メッセージ3202の形式は文字列に限定されず他の形式であってもよい。また更に、ダイアログボックス3201の表示要素は、図33の表示要素に限定されず、ユーザにアプリケーションのダウンロードを行うこと、あるいは現在の視聴あるいは録画が妨げられること、あるいはこの両方の内容を通知できるものであれば、他の表示要素であってもよい。続いて、ユーザへのメッセージ通知後とチューナが全て使用中でなかった場合(つまり、使用していないチューナが存在した場合(S3005でNO))、ダウンロード元決定部2901は、チューニング要求部2906へアプリケーションのダウンロードが行える周波数のチューニング要求を行う(S3006)。チューニング要求部2906は、この要求を受けチューニングを開始する。そして、ダウンロード元決定部2901はストア部2904へ、アプリケーションのダウンロード及びストアを指示する。ストア部2904は、この指示を受け、指定されたアプリケーションのダウンロードとストアを行う。なお、ストア部はストアの完了後にダウンロード元決定部2901の呼び出しもとの実行へもどるようにしてもよいし、完了時にダウンロード元決定部へメッセージを通知することで知らせても良い。また、呼び出しの返り値によって、ストア成功か否かを通知するようにしてもよい。こうして、指定されたアプリケーションのストア処理を行い終了する。
なお、ここで、通知部2905によるユーザへのアプリケーションダウンロード通知は、通知部2905が端末装置500のCPU514に画面に表示したいダウンロード通知情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、ダウンロード通知をディスプレイ509に表示することにより実現しているが、通知部2905によるユーザへのダウンロード通知は、リモコンの液晶画面にダウンロード通知を表示する、或いは、図34を参照して、端末装置本体の7セグLED3302にダウンロード通知を表示する、あるいは端末装置本体のランプ3301を点灯するなど、ユーザがアプリケーションのダウンロードを検知できる方法であれば、その他の方法であっても実施可能である。図34において、図7と同じ要素には図7と同じ符号を付し説明を省略する。
またここで、アプリケーションのダウンロード時に、通知部2905は、ダウンロードの進捗具合をユーザへ通知してもよいし、「loading」などのメッセージの表示をおこなってもよいし、別の映像・音声に切り替えても良い。このとき表示する映像・音声は、端末装置内に保存しているものであってもよいし、アプリケーションのダウンロードを行っているトランスポートストリーム内に存在する映像・音声であってもよい。また、アプリケーションのダウンロードを行っているトランスポートストリーム内の番組をユーザへ通知し、ユーザが選択した番組の映像・音声に切り替えても良い。
また、本実施の形態において、AM1205bによるXAIT情報の受け取りは、端末装置500の電源投入時または、XAIT情報が更新された時に行う。つまり、本実施の形態において、AM1205bによるXAIT情報の受け取りは、端末装置500の電源投入時におけるAM1205bによるXAIT情報の受け取りと、端末装置500が起動後にXAIT情報が更新された時における、AM1205bによるXAIT情報の受け取りを対象としているが、XAIT情報の更新は、ヘッドエンド101から送信されるXAIT情報そのものの更新だけでなく、AM1205bやアプリケーションによるXAIT情報の更新等、他の方法であっても本発明は実施可能であり、これ以降の実施の形態においても適用することができる。
ここで、このような、アプリケーションによるXAIT情報の更新は、AM1205bが特別な権限をもつアプリケーションに対して、XAIT情報の更新を行うためのAPIを用意することにより実現する。XAIT情報の更新を行うためのAPIには、特別な権限をもつアプリケーションが新規に作成したXAIT情報を登録可能とするものや、既にAM1205bが1次記憶または2次記憶に保存しているXAIT情報を修正可能とするもの等がある。
このようなXAIT情報の更新を行うためのAPIは公知の技術にて実現されている。例えば、XAIT情報を登録するAPIは、OCAP仕様(OCAP 1.0 Profile OC−SP−OCAP1.0−IF−I09−031121)のAnnexG OCAP 1.0 Application APIにおいて、org.ocap.application.AppManagerProxyクラスのregisterUnboundAppメソッドとして定義されている。特別な権限をもつアプリケーションがXAIT情報を登録するAPIを用いて、新規のXAIT情報を登録(特別な権限をもつアプリケーションが新規に作成したXAIT情報の登録)を行った際には、AM1205bは、その特別な権限をもつアプリケーションにより登録されたXAIT情報を、XAIT情報の更新として受け取る。
以上のように実施の形態1を適用することにより、現在のチューニングされている周波数と異なる周波数からアプリケーションのダウンロードを行う場合、ユーザの視聴あるいは録画中の映像・音声などのサービスの停止を事前にユーザへ通知することができる。これにより、突然視聴あるいは録画ができなくなるのを回避することができる。
(実施の形態2)
実施の形態1では、ダウンロード元決定部2901が、アプリケーションのダウンロード元を決定した場合、通知部2905は、ユーザへアプリケーションがダウンロードされるために現在の視聴あるいは録画が中断されることを通知するものの、ユーザによる確認の有無は判断していなかった。そこで、本実施の形態では、実施の形態1に加え、ユーザからの応答を受け付ける応答受付部(図35の3507)を備える。図35を参照して、図30と同じ番号で示すものは、図30と同じ機能を持つため、本実施の形態では説明を省く。なお、本実施の形態では実施の形態1と同様に、選択されたアプリケーションが、少なくとも一つのDSMCC方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCの設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定が明記されている場合を想定している。ダウンロード元決定部3501は、ダウンロード元決定部2901に加え、応答受付部3507へ応答受付指示を行い、ユーザ応答を受信する。このユーザ応答を受信後に、チューニング要求部2906へチューニング要求を指示とストア部2904へストア指示を行うことを特徴とする。
応答受付部3507は、ダウンロード元決定部3501から応答受付指示を受信後、ユーザの応答を待ち、ユーザの応答を受信後、ダウンロード決定部3501へユーザの応答を通知する。なお、ユーザからの応答を待つ応答受付部3507は、ユーザからの応答待ちを行う制限時間を決定しておき、制限時間経過後もユーザからの応答がないときは、応答受付部3507によって独自判断を行うという方針にしてもよい。応答受付部3507は、ユーザが通知部2905の表示した画面に従い、リモコンに割り当てられた十字キーやOKキーを押下することにより実現される。
図36及び図37に通知部が表示する画面の一例を示す。図36は実施の形態1で示した図33に加えOKボタン3603を備える。更に、図37は実施の形態1で示した図33に加え、Yesボタン3703とNoボタン3704を備える。この時、ユーザへ通知するメッセージ内容は、ユーザへダウンロードのためにユーザの視聴あるいは録画が中断することを通知するメッセージであれば3602及び3702に限る必要はない。また、メッセージはテキスト表示でなくても他の表現で提示されてもよい。また、3603及び3703、3704のボタン内の文字列も、この内容に限る必要はない。また更に、図33、図36、図37は、ユーザにアプリケーションのダウンロード及び視聴あるいは録画の中断を通知し、ユーザがダウンロード通知の確認を選択したことをCPU514が認識できるものであれば、他の表示要素であってもよい。
図38は、本実施の形態において、図36のようなユーザの承認のみを受け付ける場合におけるアプリケーションのストア処理動作の一例を示すフローチャートである。
なお、図38は、実施の形態1で示したフローチャート図31の一部である図32の処理を置き換える形で示す。図31の処理は、実施の形態1と同じ処理のため、説明を省略する。図31のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合は、図38を参照して、ダウンロード元決定部3501は、通知部2905に対し、アプリケーションがダウンロードされ、現在の視聴あるいは録画が中断されることを通知するよう指示し、通知部2905は、ダウンロード元決定部3501からの指示に従いユーザへメッセージを通知する(S3801)。その後、ダウンロード元決定部3501は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザからの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部3501へユーザ確認情報を通知する(S3802)。なお、図38のS3801とS3802の処理は、通知・応答モジュール1として、これ以降同様の処理をする際に参照することとする。この通知を受け、ダウンロード元決定部3501は、チューニング要求部2906へ、ダウンロードするアプリケーションが流れるトランスポートストリームの周波数へのチューニングを支持し、その後ストア部2904へアプリケーションのダウンロード及びストア要求を出すことで、アプリケーションのダウンロードを行う。
次に、図37のようなユーザの承認あるいは拒否を受け付ける場合のアプリケーションのストア処理動作の一例をフローチャート図39と図40に示す。
まず、図39は図31に加え、ユーザの拒否応答に対応するため、図40からの処理の戻りを示すS3910を追加した。このため、図39については、図31と同じ処理を示すため説明を省く。そこで、図39のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合(S3005でYES)は、図40を参照して、ダウンロード元決定部3501は、通知部2905へアプリケーションがダウンロードされ、現在の視聴あるいは録画が中断されることを通知するよう通知部2905へ指示し、通知部は、ユーザへメッセージを通知する(S4001)。その後、ダウンロード元決定部3501は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部3501へユーザ確認情報を通知する(S4002)。この通知を受け、ダウンロード元決定部3501は、ユーザの応答がダウンロード許可あるいは拒否であったかを考慮し(S4003)、許可された場合(S4003YES)は、ダウンロードを行うことができるため、図39のAの処理へ戻り、拒否された場合(S4003でNO)は、ダウンロードを行うことができないため、図39のBの処理へ戻る。そして、Aの処理へ戻ると、ダウンロード元決定部3501は、チューニング要求部2906へ、ダウンロードするアプリケーションが流れるトランスポートストリームの周波数へのチューニングを支持し、その後ストア部2904へアプリケーションのダウンロード及びストア要求を出すことで、アプリケーションのダウンロードを行う。また、Bの処理に戻ると、ダウンロードを行わないため、そのまま処理を終了する。なお、図40のS4001〜S4003の処理は、通知・応答モジュール2として、これ以降同様の処理をする際に参照することとする。
なお、本実施の形態で示した、ユーザからの応答を待つ応答受付部3507は、ユーザからの応答待ちを行う制限時間を決定しておき、制限時間経過後もユーザからの応答がないときは、応答受付部3507によって独自判断を行うという方針にしてもよい。
このように、実施の形態2により、アプリケーションのダウンロードにおいて、現在のユーザの視聴あるいは録画が中断されることをユーザへ通知し、ユーザの応答を受信することで、ユーザはダウンロード処理を知ると共に、ダウンロード処理を拒否することも可能になる。これにより、ユーザの視聴あるいは録画を続けることが可能になる。
(実施の形態3)
実施の形態2では、ユーザからの応答を受け付け、ユーザがアプリケーションのダウンロードを拒否することができた。しかしながら、拒否を行った際には、次回のダウンロードがいつ行われるのかということを、ユーザは知ることができなかった。また、端末装置がアプリケーションのダウンロード要求を受信するたびに、ダウンロードするか否かの問い合わせが表示されるため、問い合わせ用のウィンドウがユーザの視聴あるいは録画を妨げる可能性があった。そこで本実施の形態では、ユーザがアプリケーションのダウンロードを拒否した際に、ユーザがダウンロードを行う時間を設定することができるように、タイマー設定部(図41の4108)を備えることを特徴とする。このように、ユーザによってダウンロード時間を設定することにより、ユーザの視聴や録画を行わない時間を設定することができるため、ユーザの視聴あるいは録画を妨げることを回避することができる。
図41を参照して、図30あるいは図35と同じ番号で示すものは、図30あるいは図35と同じ機能を持つため、本実施の形態では説明を省略する。
タイマー設定部4108は、ダウンロード元決定部4101から指定された設定時間をはかる。そして、設定時間が経過後、ダウンロード元決定部4101へ設定時間経過の通知を行うことを特徴とする。
ダウンロード元決定部4101は、ダウンロード元決定部3501に加え、通知部2905へタイマー設定に関するユーザへのメッセージ通知を指示し、応答受付部3507からユーザからの返信を受信する。この結果を受け、タイマー設定部4108へ設定時間を指示する。また、ダウンロード元決定部4101は、タイマー設定部4108の設定時間経過の通知を受信し、チューニング要求部2906へチューニングを指示し、ストア部2904へストア指示を行うことを特徴とする。なお、タイマー設定部4108から設定時間経過の通知を受信した際に、再び、通知部2905を通し、ユーザへメッセージ通知を行ってもよい。また更に、通知部2905が表示したメッセージに対するユーザ応答を応答受付部3507から受信し処理を行うという方針にしてもよい。また、ここではユーザが時間を設定できることとしたが、ダウンロード元決定部4101でデフォルト設定時間を保持し、ユーザがダウンロードを拒否した際に、ユーザへ設定時間を尋ねることなく、デフォルト設定時間をタイマー設定部4108へ指示してもよい。
なお、本実施の形態では実施の形態1、2と同様に、選択されたアプリケーションが、少なくとも一つのDSMCC方式でエンコードされたファイルシステムとして存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCの設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定が明記されている場合を想定している。
図42及び図43に通知部が表示する画面の一例を示す。図42は実施の形態2で示した図37でNoボタン3704が押された後に、タイマー設定を行うか否かをユーザへ通知する。そのため、図42は、ユーザへダウンロードを行う時間を設定するか否かを問うメッセージ4202とYesボタン4203とNoボタン4204を備える。なお、ここでは、少なくともダウンロードを行う時間を設定できることを通知することができるものであればよいため、図42の形式に限る必要はない。また、図42で示したダウンロードを行う時間を設定できるメッセージは、省略することもできる。
次に図43は、ユーザへダウンロードの設定時間の指定を促す画面の一例である。そのため、図43はユーザへダウンロード時間の設定を促すメッセージ4302と、設定時間を指定するためのボタン4304〜4309と、入力を完了したことを通知するOKボタン4310を備える。また、ユーザへ通知するメッセージ内容は、ユーザへダウンロード時間の設定を促すメッセージであれば4302に限る必要はない。また、ここではボタン4304〜4309を選択することで時間指定を行う方針としたが、リモートコントロールから直接数字を入力してもよいし、ユーザが指定した時間がわかるものであれば、入力形式はどのような方法であってもよい。また、入力に誤りがないか否かを検出し、ユーザへ再入力を促す処理を追加してもよい。また更に、図43は時間指定のみとしたが、日付や時間や分など設定時間の内容に関しても、ユーザから設定されたダウンロードするタイミングが分かるものであれば、ここで一例として示した図43の通知部が表示する画面に限る必要はない。また、図42及び図43ともに、メッセージはテキスト表示でなくても他の表現で提示されてもよい。また、図42及び図43の各ボタン内の文字列も、この内容に限る必要はない。つまり、図43はユーザがダウンロードの設定時間を設定することができれば、他の表現であってもよい。
本実施の形態における、ユーザがダウンロード設定時間を設定する処理動作の一例をフローチャート図44へ示す。なお、図44は、実施の形態2で示したフローチャート図39の一部である図40の処理を置き換える形で示す。図39の処理は、実施の形態2と同じ処理のため、説明を省略する。図39のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合は、図44を参照して、通知・応答モジュール2の処理を行いユーザへダウンロードを行うか否かの問い合わせを行う(S4401)。この結果がAの場合は、ユーザによってダウンロードが承認されたためダウンロード処理を行う(詳細は前述したため、ここでは説明を省略する)。一方、この結果がBの場合は、ユーザがダウンロードを拒否したため、ダウンロード元決定部4101は、通知部2905へアプリケーションをダウンロードする時間を設定できることを通知するよう指示し、通知部2905は、ユーザへメッセージを通知する(S4402)。
その後、ダウンロード元決定部4101は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部4101へユーザのタイマー設定可否応答を通知する(S4403)。ダウンロード元決定部4101は、この通知によりタイマー設定を行うか否かの判断を行う(S4404)。タイマー設定しない場合(S4404でNO)は、図39のBへ戻り処理を終了する。一方、タイマー設定を行う場合(S4404でYES)は、ダウンロード元決定部4101は、通知部2905へアプリケーションをダウンロードする設定時間の入力メッセージを通知するよう指示し、通知部2905は、ユーザへメッセージを通知する(S4405)。その後、ダウンロード元決定部4101は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部4101へユーザのタイマー設定時間を通知する(S4406)。そして、ダウンロード元決定部4101はタイマー設定部4108へ設定時間を通知し、タイマー設定部4108は受信した時間を設定する(S4407)。タイマー設定部4108は、設定時間が経過するまで待つ(S4408)。時間が経過すると、図39のAへ戻り、ダウンロード処理を行う。この時、再びダウンロードを行うか否かを問うため、S4401の処理へ戻ってもよい。なお、図42で示したような、ダウンロードの設定時間を設定するか否かをユーザへ問う処理を省略する場合は、図44のS4402及びS4403及びS4404を省略することで、実行することができる。
このように、実施の形態3により、ユーザはアプリケーションのダウンロードを拒否した際に、ダウンロードの設定時間を指定することができる。
(実施の形態4)
実施の形態3では、ユーザからの応答を受け付け、ユーザがアプリケーションのダウンロードを拒否したとき、ユーザはダウンロード可能な設定時間を指定することができた。本実施の形態では、ユーザがアプリケーションのダウンロードを拒否した際に、ネットワークからダウンロードを行うことを想定し、ネットワーク接続部(図45の4509)を備えることを特徴とする。
図45を参照して、図30あるいは図35と同じ番号で示すものは、図30あるいは図35と同じ機能を持つため、本実施の形態では説明を省略する。なお、本実施の形態では、選択されたアプリケーションが、DSMCC方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCとIPの両方の設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子2003の「IP」指定に対応したダウンロード元指定が明記されている場合を想定している。
ダウンロード元決定部4501は、ダウンロード元決定部3501に加え、ネットワーク接続部4509へネットワークの接続が利用可能か否かを問い合わせ、返信を受信する機能を持つ。また、ダウンロード元決定部4501はネットワーク接続部4509へネットワークの接続先を指定したダウンロード元指定2005を設定し、ダウンロードしたアプリケーションを受信し、ストア部4504へストア要求を出す。なお、ネットワーク接続部4509へネットワークの接続が利用可能か否かを問い合わせ、返信を受信する機能を持つ機能は、ダウンロードを行う際にエラーが発生するのを防ぐために考慮したが、必ずしも必要な機能ではない。
ネットワーク接続部4509は、ダウンロード元決定部4501からネットワークの接続が利用可能か否かの問い合わせに対し、現在ネットワークが利用可能か否かを調べ、ダウンロード元決定部4501へ通知する。また、ダウンロード元決定部4501から、ネットワークの接続先を指定されたダウンロード元指定2005を受信した際に、指定されたサーバへ接続し、ファイルをダウンロードする。そしてダウンロードしたアプリケーションをダウンロード元決定部4501へ渡す。あるいは、直接ストア部4504へ渡してもよい。
ストア部4504は、ダウンロード元決定部4501あるいはネットワーク接続部4509から指定されたアプリケーションをストアする機能を持つ。
本実施の形態における、ネットワークからアプリケーションのダウンロードを行う動作の一例をフローチャート図46へ示す。なお、図46は、実施の形態2で示したフローチャート図39の一部である図40の処理を置き換える形で示す。図39の処理は、実施の形態2と同じ処理のため、説明を省略する。図39のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合は、図46を参照して、通知・応答モジュール2の処理(S4601)を行いユーザへダウンロードを行うか否かの問い合わせを行う(S4602)。この結果がAの場合は、ユーザによってダウンロードが承認されたためダウンロードを行う処理を行う(この処理に関しては、前述した実施の形態と同じため説明を省く)。一方、この結果がBの場合は、ユーザがダウンロードを拒否したため、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S4602)。ダウンロード元決定部4501は、ネットワーク接続部4509から受信した、ネットワークの利用可能か否かの判断(S4603)を考慮し、利用できない場合(S4603でNO)は処理を終了する。あるいは、ネットワークが利用できないことをユーザへ通知してもよい。あるいは、ユーザの視聴あるいは録画が終わった時間にダウンロードのタイマー設定を行うことができるように、実施の形態3で示した図44のS4402へ処理を移動できるようにしてもよい。一方、ネットワークを利用できるとき(S4603でYES)は、ダウンロード元決定部4501は、ネットワーク接続部4509へダウンロード元指定2005を渡し、ダウンロード要求の指示を行う(S4604)。そして、この指示を受け、ネットワーク接続部4509は、ダウンロード元指定2005からアプリケーションのダウンロードを行う(S4605)。そして、ネットワーク接続部4509はダウンロードしたアプリケーションをダウンロード元決定部4501へ渡す。ダウンロード元決定部4501は、ストア部4504へ、そのアプリケーションのストアを指示する。ストア部4504は受信したアプリケーションをストアする(S4606)。なお、ネットワーク接続部4509が、ダウンロードしたアプリケーションを直接ストア部4504へ渡してもよい。
なお、事前にネットワークが利用可能か否かを問い合わせるS4602とS4603の処理は必ずしも必要な処理ではないため、図47のようにS4602とS4603の処理を行わなくてもよい。
このように、実施の形態4により、ユーザがDSMCC方式でエンコードされたファイルシステムからダウンロードに必要なチューニングを拒否した際に、ネットワークからのダウンロードを行うことができる。
(実施の形態5)
実施の形態4では、ユーザがアプリケーションのダウンロードを拒否した際に、ネットワークからのダウンロードを行うことができた。本実施の形態では、ユーザがダウンロード方法を選択できること考える。なお、本実施の形態では、実施の形態4同様、選択されたアプリケーションが、DSMCC方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCとIPの両方の設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子2003の「IP」指定に対応したダウンロード元指定が明記されている場合を想定している。
本実施の形態の構成要素は、図45のダウンロード元決定部4501に加え、ダウンロード元決定部4501は、ダウンロード方法としてネットワークとチューナの選択を促すメッセージをユーザへ通知するよう通知部2905へ指示し、そのメッセージの応答を受信するように応答受付部3507へ指示する。そして応答受付部3506から通知されたユーザが選択したダウンロード方法に従い、ダウンロード元決定部4501は、ダウンロードを行うように設定をする。具体的には、チューナを選択された場合はこれまでの実施の形態1〜3と同様の機能を適用し、ネットワークが選択された場合は、ネットワークからのダウンロードを実行する。なお、ここではユーザへ通知するダウンロード方法として、ネットワークとチューナを例にして説明したが、プログラムのダウンロードあるいはプログラムの取得ができる方法であればこれに限る必要はない。また、ユーザへ通知するダウンロード方法は、プロトコル識別子2003の一部あるいは全部であってもよい。
図48に通知部が表示する画面の一例を示す。図4802はユーザへダウンロード方法の選択を促すメッセージ4702とネットワークとチューナを選択するボタン(4703と4704)、そして、ユーザの選択が終了したことを通知するためのボタン4705を備える。なおこの時、ユーザへのメッセージ内容やボタンの形式や表示内容は、必ずしも図48の形式である必要はない。つまり、図48はユーザがダウンロード元を指定できるものであれば、他の表現であってもよい。
本実施の形態における、ユーザがダウンロード元を設定する処理動作の一例をフローチャート図49へ示す。なお、ここでは、実施の形態2で示した図37でNoボタン3704が押された後に、ユーザへダウンロード元の指定を促す場合を示す。そのため図49は、実施の形態2で示したフローチャート図39の一部である図40の処理を置き換える形で示す。図39の処理は、実施の形態2と同じ処理のため、説明を省略する。図39のチューナが全て使用中か否かの判断(S3005)において、全て使用中の場合は、図49を参照して、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S4801)。ダウンロード元決定部4501は、ネットワーク接続部4509から受信した、ネットワークの利用可能か否かの判断(S4802)を考慮し、利用できない場合(S4802でNO)は図50に示した通知モジュールあるいは、通知・応答モジュール1あるいは、図51に示した通知・応答モジュール2あるいは時間設定モジュールを行い、チューナを利用したダウンロードを行う(図50のS4806または図51のS4806)。
一方、ネットワークを利用できるとき(S4802でYES)は、ダウンロード元決定部4501は、通知部2905へユーザにアプリケーションのダウンロード方法を選択できることを通知するよう指示し、通知部2905はメッセージを通知する(S4803)。その後、ダウンロード元決定部4501は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部4501へ選択されたダウンロード方法を通知する(S4804)。ダウンロード元決定部4501は、受信したダウンロード方法がネットワークか否かを判断(S4805)し、ユーザがネットワークからのダウンロードを選択していない場合(S4805でNO)は、図50に示した通知モジュールあるいは、通知・応答モジュール1あるいは、図51に示した通知・応答モジュール2あるいは時間設定モジュールのいずれかを実行し、チューナを利用したダウンロードを行う(図50のS4806または図51のS4806)。一方、ネットワークが選択された場合(S4805でYES)は、ダウンロード元決定部4501は、ネットワーク接続部4509へダウンロード元指定2005を渡し、ダウンロード要求の指示を行う(S4807)。そして、この指示を受け、ネットワーク接続部4509は、ダウンロード元指定2005からアプリケーションのダウンロードを行う(S4808)。そして、ネットワーク接続部4509はダウンロードしたアプリケーションをダウンロード元決定部4501へ渡す。ダウンロード元決定部4501は、ストア部4504へ、そのアプリケーションのストアを指示する。ストア部4504は受信したアプリケーションをストアする(S4806)。なお、ネットワーク接続部4509が、ダウンロードしたアプリケーションを直接ストア部4504へ渡してもよい。
なお、ユーザへダウンロード方法の選択を通知する際に、ユーザが判断しやすいように、ネットワークを用いてプログラムのダウンロードした場合と、DSMCC方式でエンコードされたファイルシステムからダウンロードした場合の予想時間あるいは、ダウンロード速度などをユーザへ提示してもよい。また、チューナを利用した場合は、現在の視聴あるいは録画が中断されることも通知することもできる。
なお、ここではチューナが全て使用中の場合に、ユーザがネットワークからダウンロードするかチューナからダウンロードするかを選択できる方法を示したが、チューナが全て使用中であるか否かに関わらず、ユーザがダウンロード元を選択できる方法も想定することができる。具体的には、これまで図49を図39の一部として処理してきたが、図49のS4801から処理を開始し、10の処理へ進む代わりに図39を開始する方法が想定できる。
本実施の形態を利用することにより、ユーザがダウンロード方法を選択することができるようになる。
(実施の形態6)
実施の形態5では、ユーザがアプリケーションのダウンロード方法を選択することができた。本実施の形態では、ユーザがチューナからのダウンロードを拒否した場合は、ネットワークからのダウンロードを優先的に処理する方法を説明する。なお、本実施の形態では、実施の形態4、5同様、選択されたアプリケーションが、DSMCC方式でエンコードされたファイルシステムとして存在し、かつ、プログラムのダウンロードを提供するサーバにも存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にOCとIPの両方の設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「OC」指定に対応したダウンロード元指定と、少なくとも一つのプロトコル識別子2003の「IP」指定に対応したダウンロード元指定が明記されている場合を想定している。
本実施の形態の構成要素を図52に示す。なお、通知部2905及び応答受付部3507及びチューニング要求部2906は本実施の形態の必須要素ではないため、点線で示している。また、図52に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。
本実施の形態における、ユーザがチューナからのダウンロードを拒否した場合は、ネットワークからのダウンロードを優先的に処理する動作の一例をフローチャート図53と図54に示す。図53を参照して、S5001からS5004は、図31及び図39と同じ処理のため説明を省略する。そこで、S5004のアプリケーションの周波数がチューニング中ではない場合(S5004でNO)、図54を参照して、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S5101)。この結果を受け、ダウンロード元決定部4501は、ネットワークが利用可能か否かの判断(S5102)に応じて、利用できない場合(S5102でNO)は、図53のBの処理へ戻り終了する。一方、ネットワークが利用可能の場合(S5102でYES)、S5103〜S5105の処理を行う。ここでS5103〜S5105の処理は、図46のS4604〜S4606と同じため説明を省略する。なお、ここでは図53において、現在のアプリケーションの周波数がチューニングされているか(S5004)の判断がNOだった場合に、直ぐにネットワークからダウンロードする方法を説明したが、ここで、チューナが全て使用中か否かを判断し、全てのチューナが使用中の場合に限り、図54の処理へ進むように設定してもよい。また更に、S5102の判断においてネットワークが利用できない場合は、ダウンロードの処理を終了する方法を説明した。そのため、ネットワークが利用できない場合は、必要に応じて図52の通知部2905及び3507の応答受付部とチューニング要求部2906を追加し、図55のS5206のように図50に示した通知モジュールあるいは、通知・応答モジュール1あるいは、図51に示した通知・応答モジュール2あるいは時間設定モジュールのいずれかを実行し、チューナを利用したダウンロードを行うこともできる(図50のS4806または図51のS4806)。本実施の形態を利用することで、チューナを必要とする場合は、ネットワークからのダウンロードを優先的に処理することができるようになる。
(実施の形態7)
実施の形態6では、ユーザが視聴あるいは録画中のチューニングを考慮し、チューニングが必要な場合は、ネットワークからダウンロードする手法を説明した。本実施の形態では、現在のチューニング情報やダウンロードするアプリケーションの周波数を考慮することなく、プロトコル識別子2003にIP指定がある場合は、常にネットワークからダウンロードする手法を説明する。そのため、本実施の形態では、選択されたアプリケーションが、プログラムのダウンロードを提供するサーバに存在する場合を想定している。具体的には、選択されたアプリケーションのプロトコル識別子2003にIPの設定が指定されており、ダウンロード元指定2005に少なくとも一つのプロトコル識別子2003の「IP」指定に対応したダウンロード元指定が明記されている場合を想定している。
本実施の形態の構成要素を図56に示す。図56に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。なお、点線で示した要素は必須要素ではない。
本実施の形態における、アプリケーションのダウンロード元にIPからのダウンロードが存在する場合は、ネットワークのダウンロードを優先的に処理する動作の一例をフローチャート図57に示す。図57を参照して、ダウンロード元決定部4501はアプリケーション情報を受け取る(S5401)。このアプリケーション情報には、選択されているアプリケーションのプロトコル識別子2003及びダウンロード元指定2005などが含まれる。この時、ダウンロード元決定部4501は、プロトコル識別子2003にIPが存在することを確認する。次に、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S5402)。ダウンロード元決定部4501は、ネットワークが利用可能か否かを判断(S5403)し、利用できない場合(S5403でNO)は終了する。一方、利用できる場合(S5403でYES)は、ダウンロード元決定部4501は、ダウンロード元指定2005を指定し、ネットワーク接続部4509へダウンロード要求を行う(S5404)。ネットワーク接続部4509は、指定されたダウンロード元指定2005からダウンロードを行う(S5405)。そして、ネットワーク接続部4509は、ダウンロード元決定部4501へダウンロードしたアプリケーションを渡し、ダウンロード元決定部4501は、ストア部4504へアプリケーションのストアを指示し、ストア部4504へストアを行う(S5406)。
なお、ここでは図57のネットワークが利用可能か否かの判断(S5403)において、ネットワークが利用できない場合は処理を終了する場合を説明したが、ここで図58に示したように、チューナからのダウンロードを行う図59の処理へ続くようにしてもよい。図59は、図39からS3001の処理を除いたのみなので詳細な説明は省略する。図59を参照して、チューナが全て使用中か否かの判断(S5604)がYESの場合の図50に示した通知モジュールあるいは、通知・応答モジュール1あるいは、図51に示した通知・応答モジュール2あるいは時間設定モジュールのいずれかを実行し、チューナを利用し、ダウンロードを行う(図50のS4806または図51のS4806)。なお、図59のS5601〜S5606の処理は、DSMCCからのダウンロードモジュールとして、これ以降、同様の処理をする際に参照することとする。
本実施の形態では、ネットワークからのダウンロードを優先的に行う手法について説明した。これにより、ユーザの視聴あるいは録画を妨げることが減少すると考えられる。
(実施の形態8)
アプリケーションのダウンロードは、DSMCCを用いてチューナからダウンロードを行う手法が一般的である。そのため、実施の形態1〜6では、DSMCCからのダウンロードを行う手法を優先的に考えた手法を説明した。また、実施の形態7は、ダウンロードの速度より、ダウンロード時にユーザの妨げにならないよう、ネットワークからのダウンロードをDSMCCからのダウンロードより優先的に処理する手法を説明した。しかし本実施の形態では、ダウンロード可能な方法のうち、最も高速にダウンロードができるダウンロード元を探し、ダウンロードを行う手法を説明する。
なお、これまでの実施の形態においても、特にネットワークを用いたプログラムのダウンロードにおいて、ダウンロード元指定2005が複数存在する際に、最速のところからダウンロードを行う方式にしてもよい。
本実施の形態の構成要素を図60に示す。図60に示す各要素は、これまで説明した実施の形態の構成要素を適用することができるため、省略する。なお、点線で示した要素は必須要素ではない。
本実施の形態における、アプリケーションのダウンロード元の決定において最速のところからダウンロードを行う動作の一例をフローチャート図61と図62に示す。図61を参照して、ダウンロード元決定部4501アプリケーション情報を受け取る(S5801)。このアプリケーション情報には、選択されているアプリケーションのプロトコル識別子2003及びダウンロード元指定2005などが含まれる。次に、ダウンロード元決定部4501は、ネットワークが利用できるか否かをネットワーク接続部4509へ問い合わせる(S5802)。ダウンロード元決定部4501は、ネットワークが利用可能か否かを判断(S5803)し、利用できる場合(S5803でYES)は、ダウンロード元決定部4501は、ネットワークを用いたプログラムのダウンロード指定先のうち、最速のネットワークを決定する(S5804)。この最速のネットワークを求める方法としては、ダウンロード元指定2005で設定されたサーバへpingというネットワークの疎通を確認するコマンドを利用する方法がある。pingは、ネットワーク疎通を確認したいホストに対してIPパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認するためのコマンドである。そのため、この返答が最も速いサーバを最速とする方法があるが、これ以外の方法であってもよい。なお、このような最速のネットワークからのダウンロード元指定2005を特定し、そのサーバからダウンロードする方法は、これまでの実施の形態1〜7においても適用することができる。次に、ダウンロード元決定部4501が求めた最速のネットワークからのダウンロード元指定2005とチューナを利用したDSMCCからのダウンロードの速度を比較する(S5805)。なお、DSMCCからのダウンロード速度は、パケットを取得するハードウェアにより検出し、その値をダウンロード元決定部4501が取得できるように設定してもよい。また、ダウンロード元決定部4501が、トランスポートストリームのビットレートを事前に固定値として保持しておいてもよい。次に、ダウンロード元決定部4501は、S5805の比較によりネットワークが最速か否かを判断する(S5806)。この結果、ネットワークが最速である場合(S5806でYES)は、図62の5の処理へ進み、ネットワーク接続部4509は、ダウンロード元指定2005からプログラムのダウンロードを行う(S5807)。そして、ダウンロードしたアプリケーションをダウンロード元決定部4501へ渡し、ダウンロード元決定部4501は、ストア部4504へアプリケーションを渡し、ストア部4504へアプリケーションのストアを指示する(S5808)。一方、S5806でネットワークが最速でないと判断された場合(S5806でNO)は、図62の6の処理へ進む。なお、S5803のネットワークが利用できない場合も、この図62の6の処理へ進む。この時は、チューナを利用するため、図59の処理を行う(S5809)。なお、図59における10の処理では、実施の形態1〜3で示した方法を利用することができる。
本実施の形態では、ネットワーク及びDSMCCからのダウンロードのうち、最速でダウンロードできるところからダウンロードを行う方法について説明した。
(実施の形態9)
これまでの実施の形態では、アプリケーションをダウンロードする手法として、ネットワークとDSMCCからダウンロードする手法を考慮してきた。本実施の形態では、記録媒体からのアプリケーション取得を考慮する。
記録媒体からの取得の場合は、チューナを必要としないためユーザの視聴あるいは録画を妨げることはない。そのため記録媒体からのアプリケーションの取得要求を受信した際には、ユーザへ記録媒体の挿入指示を行うことで実現することができる。ここで、記憶媒体とは、CD、DVD、BDなどの光ディスクメディアや、半導体を利用したメモリーカードなど、媒体の中に情報を記憶できるものであれば、どのような媒体であってもよい。
図63に通知部が表示する画面の一例を示す。ここでは、プログラムの取得が必要になったタイミングで、記録媒体の挿入を要求する画面を示す。ここでは、記録媒体の挿入を促すメッセージ5902とOKボタン5903とキャンセルボタン5904を備える。なお、ここでは、記録媒体の挿入が完了したこと、あるいは処理をキャンセルすることが分かればいいので、表示方法やユーザからの応答に関してはこの方法に限る必要はない。
図64に記録媒体を指定した場合のXAITの一例を示す。プロトコル識別子2003にmediaを指定し、ダウンロード元指定2005に記録媒体の指定を示す。他の項目については、実施の形態1で説明したものと同じため説明を省略する。なお、本実施の形態で示す記録媒体からのプログラム取得は、XAIT情報からの取得に限らず、他の情報を用いた要求であっても適用することができる。また、図64で示した項目は、記録媒体からのアプリケーションの取得が識別できるものであれば、図64の項目及び表現に限る必要はない。
図65に本実施の形態の構成要素を示す。図30及び図35及び図45と同じ番号で示したものは、以前に説明したものと同様の機能で実現することができるため、説明を省略する。
ダウンロード元決定部6101は、ダウンロード元決定部4501に加え、通知部2905へ記録媒体の挿入を促すメッセージの表示を指示し、応答受付部3507からユーザの応答を受信する。そして、記録媒体処理部6110へ記録媒体からの読み込みを指示し、取得したアプリケーションをストア部4504へストアするよう指示する。
記録媒体処理部6110は、ダウンロード元決定部6101の指示により、記録媒体からの読み込みを行い、ダウンロード元決定部によって指定されたアプリケーションを取得する。
次に図66に記録媒体からのアプリケーション読み込みのフローチャートの一例を示す。ダウンロード元決定部6101は、ユーザに記録媒体の挿入の要求するメッセージ表示を通知部2905へ指示し、通知部2905はこのメッセージを表示する(S6201)。その後、ダウンロード元決定部6101は、応答受付部3507にユーザの応答を待つよう指示する。この命令を受けた応答受付部3507は、ユーザの入力情報を待ち、入力情報を受け取ると、ダウンロード元決定部6101へ選択されたユーザ応答を通知する(S6202)。ダウンロード元決定部6101は、受信したユーザ応答から記録媒体が挿入されたか否かを判断(S6203)し、記録媒体が挿入された場合は、ダウンロード元決定部6101は、記録媒体処理部6110へアプリケーションの読み込みを指示し、記録媒体処理部6110は記録媒体からアプリケーションの読み込みを行う(S6204)。記録媒体処理部6110は、取得したアプリケーションをダウンロード元決定部6101へ渡し、ダウンロード元決定部6101は、ストア部4504へアプリケーションのストア要求を指示し、ストア部4504はストアをする(S6205)。一方、記録媒体の挿入がキャンセルされた場合は、処理を終了する。
なお、ここでは、記録媒体からのアプリケーション取得のみを説明したが、ネットワーク接続部4501と併用することで、記録媒体から取得したアプリケーションに最新のものが存在しないかを調べることもできる。これは、プロトコル識別子2003にmediaとIPが両方ある場合は、ダウンロード元指定2005を参照することができる。あるいは、一例として記録媒体内に最新版を保存するサーバ及びディレクトリを指定するファイルをアプリケーションと一緒に保存しておき、記録媒体処理部6110により記録媒体から読み込みを行う際に、このファイルを参照し、ネットワーク接続部4509を通し最新のアプリケーションの存在を調べることで実現できすることもできる。その結果最新のものがあった場合は、ネットワーク接続部からアプリケーションをダウンロードするという手法も想定される。
また、実施の形態8では、ネットワーク及びDSMCCからのダウンロードのうち、最速でダウンロードできるところからダウンロードを行う方法について説明したが、例えば記録媒体からのアプリケーション取得も可能である場合、記録媒体からの転送速度を考慮して、ネットワークからのダウンロード、DSMCCからのダウンロード、および記録媒体からのアプリケーション取得の中で最速でダウンロードできるところからダウンロードを行っても構わない。
なお、実施の形態1〜9を通して、以下の応用が可能である。
アプリケーションのダウンロード時のメッセージ通知とダウンロード経路について説明したが、これらの場合においてダウンロード元を決定し、ダウンロード途中でエラーを検出した際に、別のダウンロード元指定2005を指定することで処理を繰り返す方針にしてもよいし、ダウンロード元指定2005全て処理してもダウンロードが完了できなかった場合は、プロトコル指定2003のもう一方の方法で挑戦してもよい。この時、これまで説明した実施の形態を利用することができる。
また、Java(登録商標)プログラムはJava(登録商標)で記述された部分と、CPUが直接実行できるバイナリ形式の部分の混合でもよいし、CPUが直接実行できるバイナリ形式のみで構成されていても実施可能である。
また、登録されたJava(登録商標)プログラムを2次記憶部510に保存していたが、1次記憶部511に保存することも実施可能である。1次記憶部511に保存する場合、電源OFF時に、保存された情報は全て消える。また、ネットワークに関しては、有線で実現されても無線で実現されてもよい。
また、本発明はパーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
また、POD504は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、POD504のCPU706を取り外し、CPU514がCPU706の動作も行うことも実施可能である。
POD Lib1205eに登録されるJava(登録商標)プログラムは、ダウンロードされたJava(登録商標)プログラムだけでなく、予め内蔵されているJava(登録商標)プログラムでも実施可能である。また、SDメモリーカードなどの着脱可能な記憶媒体を着脱するとスロット部を取り付け、そこからJava(登録商標)プログラムを取り込むことも可能である。
(実施の形態10)
上述の実施の形態ではダウンロードするアプリケーションとしてデジタルテレビなどの端末装置で動作するアプリケーションプログラムを例に説明をしたが、これに限定されるものではなく端末装置内に予め記録されているプラットフォームを構成するプログラムもアプリケーションプログラムに含まれるものである。つまりプラットフォームを構成するプログラムもダウンロードの対象となる。
ここでプラットフォームとは、放送受信装置に組み込まれたソフトウェアで、機能追加や不具体の修正などのために、後から変更できるソフトウェアとする。
本実施の形態ではプラットフォームをダウンロードする例について説明をする。
図67は本実施の形態のダウンロード実行装置の一例を説明するための図である。
図67において6701はプラットフォームに対応するプログラムデータ(以後ファームウェアと称す)をダウンロードするためのダウンロードモジュール(Download Module)である。
本実施の形態で示すDownload Module6701の処理動作の一例をフローチャート図68に示す。Download Module6701は、例えば図3のIn−BandまたはOOB、あるいはネットワークなど他の伝送方式によって伝送される例えば図69に示すようなファームウェア更新情報(詳細は後述)が伝送されているか否かモニタリングを行い、ファームウェア更新情報が伝送されている場合は、そのファームウェア更新情報を取得する(S6801)。
図69はファームウェア更新情報の一例である。
これらの情報は具体的には、ANSI/SCTE 28 2004 HOST−POD Interface Standardにより詳細な記載がなされている。
図69において、ベンダーID6901は、ベンダー毎に割り当てが決まっており、ベンダーを一意に特定できる値を保持する。一例として、Organizationally Unique Identifier(OUI)がIEEEによってホストデバイスベンダーへ割り当てた値などがある。また、ハードウェアバージョン6902は、ベンダーIDによって示されたベンダーにおいて、ハードウェアの各タイプへ割り当てられたハードウェアを一意に特定する識別子を保持する。また、タイミング情報6903は、ダウンロードを実行するタイミングを示す情報を保持する。一例として、直ちにダウンロード(00)、延期されたダウンロード(01)、例外なく直ちにダウンロード(02)などのように、ダウンロードのタイミングを数値として記述することを記述できる。また、取得経路6904は、ベンダーID6901やハードウェアバージョン6902によって識別されたファームウェアがダウンロードできる経路を保持する。例えば、「放送波」は図3のIn−BandやOOBなどがあり、「ネットワーク」は、Data−Over−Cable−Service Interface Specification(DOCSIS)などがある。DOCSISの詳細はCM−SP−eDOCSIS−I16−050812を参照されたい。また、ストリーム特定情報6905は、取得経路6904で記載された経路内で更に伝送ストリームなどを特定する識別子を保持する。伝送ストリームの特定する識別子の一例として、「番組(=サービス)」や「周波数とプログラムナンバー」や「周波数とパケットID」などがある。
再び図68に戻り説明をする。(S6801)にて、例えば図69に示すようなファームウェア更新情報を取得した後、受信したファームウェア更新情報のベンダーID6901及びハードウェアバージョン6902と放送受信装置が保持するベンダーIDやハードウェアバージョンを比較する(S6802)。このとき、放送受信装置が保持するファームウェア情報が受信したファームウェア更新情報に含まれている場合は、プラットフォームの更新に不要なプログラム(例えば、EPG1202、VM1203、サービスマネージャ1204、ライブラリ1205の中の一部の機能(JMF1205a、AM1205b、CA1205dなど))の実行を一旦停止する(S6803)。また、放送受信装置が保持するファームウェア情報が受信したファームウェア更新情報に含まれていない場合は、(S6801)に戻り、再びファームウェア更新情報の取得を待つ。
(S6803)にてプラットフォームの更新に不要なプログラムの実行を一旦停止した後、Download Module6701はファームウェア更新のタイミング情報6903、取得経路6904及びストリーム特定情報6905を用いてファームウェアのダウンロード元を決定し、ファームウェアをダウンロードし記憶領域へ保存する(S6804)。
なお、記憶領域の一例として、1次記憶部511、2次記憶部510等がある。
(S6804)におけるより詳細なフローチャートは例えば図31、図32に示すフローチャートに相当する。またDownload Moduleの具体的な構成は図30に示すブロック図に相当する。但しこのフローチャートはAMの動作を示すフローチャート、ブロック図はAMの具体的な構成を示すブロック図であるのでこれをDownload Module6701として置き換えて読めばよい。このとき図31、32に対応する説明をしている文章において「XAIT情報」とあるのを「ファームウェア更新情報」に置き換えて読めば良い。また、「プロトコル識別子」とあるのを、「取得経路」に置き換え、プロトコル識別子の「OC」を「放送波」として読み、「IP」を「ネットワーク」に置き換えて読めばよい。なお、「ネットワーク」の伝送方法の一例として、IPパケットやUDPパケットなどの通信プロトコルにDSMCC方式のセクション情報などを内包し伝送してもよい。また、「ダウンロード元指定」を「ストリーム特定情報」と置き換えて読めばよい。「ストリーム特定情報」の一例として、ソースIDを指定してもよいし、周波数とプログラムナンバーの組や周波数とパケットIDの組でもよい。
同様な置き換えはフローチャートのついては図38、39、40、44、46、47、49、50、51、53、54、55、57、58、59、61、62、66、ブロック図については図35、41、45、52、56、60、65およびこれらの図面に対応する説明についても可能である。
また、タイミング情報6903に保持されている情報が、直ちにダウンロード(00)や、例外なく直ちにダウンロード(02)するような情報であって、かつチューナを用いてダウンロードする場合、チューナが全て使用中である場合には、ダウンロード実行をしないというように構成すれば、ユーザの視聴を妨げることが無くなる。
本発明に係るダウンロード実行装置は、特に、デジタルテレビにおけるアプリケーションのダウンロード技術として有用である。また、デジタルテレビに限らず、例えばパーソナルコンピュータや携帯電話などソフトウェアによって制御される情報機器におけるダウンロード元決定及びメッセージ通知の用途にも応用できる。
図1は、従来におけるプログラムのダウンロードの処理を示すフローチャートである。 図2は、本発明に係るケーブルテレビシステムの実施の形態1の構成図である。 図3は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図4は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図5は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図6は、本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。 図7は、本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例を示す図である。 図8は、本発明に係るPODのハードウェア構成の構成図である。 図9は、本発明に係るPODが保存するプログラム構成の構成図である。 図10は、MPEG規格で定義されているパケットの構成図である。 図11は、MPEG2トランスポートストリームの一例を示す図である。 図12は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。 図13は、本発明に係る端末装置が保存するプログラム構成の構成図である。 図14(a)、(b)は、本発明に係るディスプレイの表示の一例を示す図である。 図15は、本発明に係る2次記憶部が保存する情報の一例を示す図である。 図16(a)、(b)、(c)は、本発明に係る1次記憶部が保存する情報の一例を示す図である。 図17は、本発明に係るMPEG2規格が規定するPATの内容を表す模式図である。 図18は、本発明に係るMPEG2規格が規定するPMTの内容を表す模式図である。 図19は、本発明に係るOCAP仕様が規定するAITの内容を表す模式図である。 図20は、本発明に係るDSMCC方式で送信されるファイルシステムを表す模式図である。 図21は、本発明に係るXAITの内容を表す模式図である。 図22は、本発明に係るDSMCC方式で伝送されるファイルシステムとネットワーク方式におけるダウンロードを提供するサーバ内のファイルシステムを表す模式図である。 図23は、本発明に係る2次記憶部が保存する情報の一例を示す図である。 図24は、本発明に係るXAIT情報に記述されるアプリケーションがアプリケーションのストア領域にストアされている状態の一例を示す図である。 図25は、実施の形態1において、AMが、XAIT情報を受け取った時点から、VMへのアプリケーション起動指示を行うまでの動作の一例の一部であり、ストアを行う処理部分を示すフローチャートである。 図26は、実施の形態1において、AMが、XAIT情報を受け取った時点から、VMへのアプリケーション起動指示を行うまでの動作の一例の一部であり、アプリケーションの起動部分を示すフローチャートである。 図27は、実施の形態1において、AMのアプリケーションの起動APIの呼び出しによってアプリケーションの起動指示を行うまでの動作の一例を示すフローチャートである。 図28(a)、(b)は、実施の形態1において、XAIT情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。 図29(a)、(b)は、実施の形態1において、XAIT情報に従いストア領域にストアされたアプリケーションの状態の一例を示す図である。 図30は、実施の形態1において、AMの構成を示す図である。 図31は、実施の形態1において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図32は、実施の形態1において、図31の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図33は、実施の形態1において、通知部によるユーザへのアプリケーションのダウンロード通知に伴い、ダイアログ表示プログラムが、ディスプレイ509に表示するダウンロード通知の一例を示す図である。 図34は、実施の形態1において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図35は、実施の形態2において、AMの構成を示す図である。 図36は、実施の形態2において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図37は、実施の形態2において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図38は、実施の形態2において、図31の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図39は、実施の形態2において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図40は、実施の形態2において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図41は、実施の形態3において、AMの構成を示す図である。 図42は、実施の形態3において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図43は、実施の形態3において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図44は、実施の形態3において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図45は、実施の形態4において、AMの構成を示す図である。 図46は、実施の形態4において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図47は、実施の形態4において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図48は、実施の形態5において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図49は、実施の形態5において、図39の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図50は、実施の形態5において、図49の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図51は、実施の形態5において、図49の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図52は、実施の形態6において、AMの構成を示す図である。 図53は、実施の形態6において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図54は、実施の形態6において、図53の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図55は、実施の形態6において、図53の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図56は、実施の形態7において、AMの構成を示す図である。 図57は、実施の形態7において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図58は、実施の形態7において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図59は、実施の形態7において、図58の一部で、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図60は、実施の形態8において、AMの構成を示す図である。 図61は、実施の形態8において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図62は、実施の形態8において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図63は、実施の形態9において、通知部によるユーザへのダウンロード通知を実現する一例を示す図である。 図64は、実施の形態9における、プロトコル識別子にディスク指定を行ったXAITの内容を表す模式図である。 図65は、実施の形態9において、AMの構成を示す図である。 図66は、実施の形態9において、指定されたアプリケーションのストア処理動作の一例を示すフローチャートである。 図67は、実施の形態10のダウンロード実行装置の一例を説明するための図である。 図68は、実施の形態10における、Download Moduleの処理動作の一例を示すフローチャートである。 図69は、実施の形態10における、ファームウェア更新情報の一例を示す図である。
符号の説明
1205b AM
2901 ダウンロード元決定部
2902 チューニング周波数取得部
2903 ダウンロード周波数取得部
2904 ストア部
2905 通知部
2906 チューニング要求部

Claims (46)

  1. プログラムのダウンロードを実行するダウンロード実行装置であって、
    前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信手段と、
    前記ダウンロード要求に含まれる前記複数の組から1つの組を決定するダウンロード元決定手段と、
    前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行手段と
    を備えることを特徴とするダウンロード実行装置。
  2. 前記ダウンロード実行装置は、さらに、放送波を受信する少なくとも1つのチューナと、
    前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段と、
    前記チューニング判断手段の判断結果に基づいて、前記プログラムのダウンロードに関するメッセージをユーザへ通知するメッセージ通知手段と
    を備えることを特徴とする請求項1記載のダウンロード実行装置。
  3. 前記ダウンロード実行装置は、さらに、
    前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、
    前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、
    前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
    ことを特徴とする請求項2記載のダウンロード実行装置。
  4. 前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
    ことを特徴とする請求項3記載のダウンロード実行装置。
  5. 前記ダウンロード実行装置は、さらに、
    前記チューニング判断手段によって現在のチューニングで前記プログラムのダウンロードが実行不可能と判断された場合に、前記ダウンロード周波数取得手段によって取得された周波数へのチューニングを実行するチューニング実行手段を備える
    ことを特徴とする請求項3記載のダウンロード実行装置。
  6. 前記チューニング実行手段は、チューニングを実行する際に、チューナの利用状況または利用目的に応じて、チューニングを実行するチューナを選択する
    ことを特徴とする請求項5記載のダウンロード実行装置。
  7. 前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記メッセージを前記ユーザへ通知する
    ことを特徴とする請求項2記載のダウンロード実行装置。
  8. 前記メッセージ通知手段は、前記メッセージを所定時間表示する
    ことを特徴とする請求項2記載のダウンロード実行装置。
  9. 前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、ダウンロード実行中であることを前記ユーザへ通知する
    ことを特徴とする請求項2記載のダウンロード実行装置。
  10. 前記メッセージ通知手段は、前記ダウンロード実行手段によって前記プログラムのダウンロードが実行されている場合に、所定のイメージ、所定の映像、および所定の音声の少なくとも1つを前記ユーザへ提供する
    ことを特徴とする請求項2記載のダウンロード実行装置。
  11. 前記ダウンロード実行装置は、さらに、
    前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備える
    ことを特徴とする請求項2記載のダウンロード実行装置。
  12. 前記応答受付手段は、前記ユーザからの応答受け付けに制限時間を設定する
    ことを特徴とする請求項11記載のダウンロード実行装置。
  13. 前記メッセージ通知手段は、前記プログラムのダウンロードを前記ユーザへ通知し、
    前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードに対する、承認または拒否の応答を前記ユーザから受け付ける
    ことを特徴とする請求項11記載のダウンロード実行装置。
  14. 前記ダウンロード要求は、前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含み、
    前記ダウンロード実行装置は、さらに、
    前記ダウンロード要求に含まれる前記複数の組から1つの組を決定するダウンロード元決定手段を備え、
    前記ダウンロード実行手段は、前記ダウンロード元決定手段により決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行する
    ことを特徴とする請求項11記載のダウンロード実行装置。
  15. 前記メッセージ通知手段は、前記プログラムのダウンロードおよびダウンロード方法を前記ユーザへ通知し、
    前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロードおよびダウンロード方法に対する、承認または拒否の応答を前記ユーザから受け付ける
    ことを特徴とする請求項14記載のダウンロード実行装置。
  16. 前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組から前記ダウンロード方法とは別のダウンロード方法である組を決定する
    ことを特徴とする請求項15記載のダウンロード実行装置。
  17. 前記メッセージ通知手段は、前記複数の組に基づいて、前記プログラムのダウンロード方法の少なくとも一部を前記ユーザへ通知してダウンロード方法を問い合わせ、
    前記応答受付手段は、前記メッセージ通知手段によって前記ユーザへ通知された前記プログラムのダウンロード方法の中から前記ユーザにより選択されたダウンロード方法を受け付け、
    前記ダウンロード元決定手段は、前記応答受付手段によって受け付けられた前記ダウンロード方法である組を決定する
    ことを特徴とする請求項14記載のダウンロード実行装置。
  18. 前記メッセージ通知手段は、前記チューニング判断手段によって前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合に、前記ダウンロード方法の問い合わせを前記ユーザへ通知する
    ことを特徴とする請求項17記載のダウンロード実行装置。
  19. 前記メッセージ通知手段は、さらに、前記ダウンロード方法の選択のための補助情報を前記ユーザへ通知する
    ことを特徴とする請求項17記載のダウンロード実行装置。
  20. 前記ダウンロード実行装置は、さらに、
    前記プログラムのダウンロードを開始する時間を設定するタイマー設定手段を備える
    ことを特徴とする請求項11記載のダウンロード実行装置。
  21. 前記応答受付手段は、前記ユーザから前記プログラムのダウンロードを開始する時間を受け付け、
    前記タイマー設定手段は、前記応答受付手段によって受け付けられた前記時間を前記プログラムのダウンロードを開始する時間として設定する
    ことを特徴とする請求項20記載のダウンロード実行装置。
  22. 前記タイマー設定手段は、事前に決定されている時間に応じて前記プログラムのダウンロードを開始する時間を設定する
    ことを特徴とする請求項20記載のダウンロード実行装置。
  23. 前記タイマー設定手段は、前記応答受付手段によって前記プログラムのダウンロードに対する拒否の応答が前記ユーザから受け付けられたときに、前記プログラムのダウンロードを開始する時間を設定する
    ことを特徴とする請求項20記載のダウンロード実行装置。
  24. 前記ダウンロード要求の前記プログラムのダウンロード方法として、前記プログラムがエンコードおよび多重化されたストリームから受信する方法、ネットワークから取得する方法、および記憶媒体からプログラムを取得する方法の少なくとも1つを含む
    ことを特徴とする請求項1記載のダウンロード実行装置。
  25. 前記ダウンロード実行手段は、前記ストリームからのダウンロードを実行、前記ネットワークからのダウンロードの実行、および前記記憶媒体からのプログラム取得の少なくとも1つを行う
    ことを特徴とする請求項24記載のダウンロード実行装置。
  26. 前記ダウンロード元決定手段は、前記ダウンロード要求の前記プログラムのダウンロード方法に対して優先度を付与し、前記優先度に基づいて前記ダウンロード要求に含まれる前記複数の組から1つの組を決定する
    ことを特徴とする請求項24記載のダウンロード実行装置。
  27. 前記ダウンロード元決定手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法に対して他の方法より優先的に扱う優先度を付与する
    ことを特徴とする請求項26記載のダウンロード実行装置。
  28. 前記ダウンロード実行装置は、さらに、
    放送波を受信する少なくとも一つのチューナと、
    前記ダウンロード元情報に基づいて、前記プログラムのダウンロードに利用できるチューナが存在するか否かを判断するチューニング判断手段とを備える
    ことを特徴とする請求項27記載のダウンロード実行装置。
  29. 前記ダウンロード実行装置は、さらに、
    前記チューナにおいてチューニングされている周波数を取得するチューニング周波数取得手段と、
    前記ダウンロード元情報に基づいて、前記プログラムを含む放送波の周波数を取得するダウンロード周波数取得手段とを備え、
    前記チューニング判断手段は、前記チューニング周波数取得手段によって取得された周波数と、前記ダウンロード周波数取得手段によって取得された周波数とに基づいて、現在のチューニングで前記プログラムのダウンロードが実行可能であるか否かを判断し、現在のチューニングで前記プログラムのダウンロードが実行可能である場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
    ことを特徴とする請求項28記載のダウンロード実行装置。
  30. 前記チューニング判断手段は、さらに、前記チューニング周波数取得手段によって取得された周波数に基づいて、利用されていないチューナがあるか否かを判断し、利用されていないチューナがある場合に、前記プログラムのダウンロードに利用できるチューナが存在すると判断する
    ことを特徴とする請求項29記載のダウンロード実行装置。
  31. 前記ダウンロード元決定手段は、前記チューニング判断手段によって、前記プログラムのダウンロードに利用できるチューナが存在しないと判断された場合、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法あるいは、記憶媒体からプログラムを取得する方法である組を決定する
    ことを特徴とする請求項28記載のダウンロード実行装置。
  32. 前記ダウンロード実行装置は、さらに、
    ユーザへメッセージ通知を行うメッセージ通知手段と、
    前記メッセージ通知手段によって前記ユーザへ通知された前記メッセージに対する、前記ユーザからの応答を受け付ける応答受付手段を備える
    ことを特徴とする請求項27記載のダウンロード実行装置。
  33. 前記メッセージ通知手段は、前記プログラムがエンコードおよび多重化されたストリームから受信するダウンロード方法をユーザへ通知し、
    前記ダウンロード元決定手段は、前記応答受付手段によって前記ダウンロード方法に対する拒否の応答が前記ユーザから受け付けられた場合に、前記ダウンロード要求に含まれる前記複数の組からネットワークからのダウンロード方法である組を決定する
    ことを特徴とする請求項32記載のダウンロード実行装置。
  34. 前記ダウンロード元決定手段は、ネットワークからのダウンロード方法に対して他の方法より優先的に扱う優先度を付与する
    ことを特徴とする請求項26記載のダウンロード実行装置。
  35. 前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記ネットワークからのダウンロード方法が存在する場合には、常に前記ネットワークからのダウンロード方法である組を決定する
    ことを特徴とする請求項34記載のダウンロード実行装置。
  36. 前記ダウンロード元決定手段は、記録媒体からのプログラム取得に対して他の方法より優先的に扱う優先度を付与する
    ことを特徴とする請求項26記載のダウンロード実行装置。
  37. 前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中に、前記記録媒体からのプログラム取得が存在する場合には、常に前記記録媒体からのプログラム取得である組を決定する
    ことを特徴とする請求項36記載のダウンロード実行装置。
  38. 前記ダウンロード元決定手段は、前記ダウンロード要求に含まれる前記複数の組の中から、最も高速にダウンロードできる組を決定する
    ことを特徴とする請求項1記載のダウンロード実行装置。
  39. 前記ダウンロード実行手段は、前記プログラムのダウンロードにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、
    前記ダウンロード元決定手段は、前記ダウンロード実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から1つの組を決定する
    ことを特徴とする請求項1記載のダウンロード実行装置。
  40. 前記ダウンロード実行手段は、前記プログラムのダウンロード元を検出または接続できない場合に前記エラーを検出し、前記プログラムのダウンロード元を検出または接続できないことを示す前記エラー情報を生成する
    ことを特徴とする請求項39記載のダウンロード実行装置。
  41. 前記ダウンロード実行手段は、前記プログラムのダウンロード元に前記プログラムが存在しない場合に前記エラーを検出し、前記プログラムのダウンロード元に前記プログラムが存在しないことを示す前記エラー情報を生成する
    ことを特徴とする請求項39記載のダウンロード実行装置。
  42. 前記チューニング実行手段は、前記チューニングにおいてエラーを検出するとともに、エラーを検出した際にエラー情報を生成し、
    前記ダウンロード元決定手段は、前記チューニング実行手段によってエラーが検出された際に、前記エラー情報に基づいて再び前記ダウンロード要求に含まれる前記複数の組の中から1つの組を決定する
    ことを特徴とする請求項1記載のダウンロード実行装置。
  43. 前記ダウンロード実行装置は、さらに、
    前記ダウンロード実行手段によってダウンロードされたプログラムを保存するストア手段を備える
    ことを特徴とする請求項1記載のダウンロード実行装置。
  44. 前記ダウンロード実行装置は、放送受信装置である
    ことを特徴とする請求項1記載のダウンロード実行装置。
  45. プログラムのダウンロードを実行するダウンロード実行方法であって、
    前記プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信ステップと、
    前記ダウンロード要求に含まれる前記複数の組から1つの組を決定するダウンロード元決定ステップと、
    前記ダウンロード元決定ステップにおいて決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記プログラムのダウンロードを実行するダウンロード実行ステップと
    を含むことを特徴とするダウンロード実行方法。
  46. 実行プログラムのダウンロードを実行するためのプログラムであって、
    前記実行プログラムのダウンロード方法およびダウンロード元情報の組を複数含むダウンロード要求を受信するダウンロード要求受信ステップと、
    前記ダウンロード要求に含まれる前記複数の組から1つの組を決定するダウンロード元決定ステップと、
    前記ダウンロード元決定ステップにおいて決定された組のダウンロード方法およびダウンロード元情報に基づいて、前記実行プログラムのダウンロードを実行するダウンロード実行ステップとをコンピュータに実行させる
    ことを特徴とするプログラム。
JP2007500552A 2005-01-26 2006-01-25 ダウンロード実行装置 Withdrawn JPWO2006080361A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005018890 2005-01-26
JP2005018890 2005-01-26
PCT/JP2006/301157 WO2006080361A1 (ja) 2005-01-26 2006-01-25 ダウンロード実行装置

Publications (1)

Publication Number Publication Date
JPWO2006080361A1 true JPWO2006080361A1 (ja) 2008-06-19

Family

ID=36740391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007500552A Withdrawn JPWO2006080361A1 (ja) 2005-01-26 2006-01-25 ダウンロード実行装置

Country Status (6)

Country Link
US (1) US8146128B2 (ja)
EP (1) EP1848214A4 (ja)
JP (1) JPWO2006080361A1 (ja)
KR (1) KR101193347B1 (ja)
CN (1) CN101107855A (ja)
WO (1) WO2006080361A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008153960A (ja) * 2006-12-18 2008-07-03 Hitachi Ltd デジタル放送受信装置とそのプログラム更新方法
KR20080060818A (ko) * 2006-12-27 2008-07-02 엘지전자 주식회사 데이터 방송 신호 수신 장치 및 데이터 방송 신호를처리하는 방법
JP4277910B2 (ja) * 2007-02-13 2009-06-10 船井電機株式会社 デジタル放送受信装置
KR101345392B1 (ko) * 2007-04-03 2013-12-24 삼성전자주식회사 데이터 방송 채널을 통해 디지털 컨텐츠를 수신하는 방법및 장치
KR101448994B1 (ko) * 2007-06-12 2014-10-08 엘지전자 주식회사 펌웨어 다운로드 이력 관리 기능을 갖는 영상표시기기 및그 제어방법
US8049611B2 (en) * 2007-06-13 2011-11-01 Eingot Llc Location mechanism for mobile device
US7788398B2 (en) 2007-08-08 2010-08-31 Swarmcast, Inc. Media player plug-in installation techniques
US8635360B2 (en) 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
WO2009075766A2 (en) 2007-12-05 2009-06-18 Swarmcast, Inc. Dynamic bit rate scaling
JP4730626B2 (ja) * 2008-06-13 2011-07-20 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、およびプログラム
US8898716B2 (en) * 2008-07-28 2014-11-25 Stmicroelectronics International N.V. Method and apparatus for designing a communication mechanism between embedded cable modem and embedded set-top box
CN102187645A (zh) * 2008-10-15 2011-09-14 日本电气株式会社 显示设备、便携式终端、显示控制方法以及程序记录介质
JP2010140180A (ja) * 2008-12-10 2010-06-24 Fujitsu Ten Ltd 移動体のコンピュータプログラム更新装置、方法、およびプログラム
JP2010166339A (ja) * 2009-01-15 2010-07-29 Nippon Hoso Kyokai <Nhk> プログラムファイル取得装置
JP5433239B2 (ja) * 2009-01-15 2014-03-05 日本放送協会 放送型アプリケーションの起動システム
US9948708B2 (en) 2009-06-01 2018-04-17 Google Llc Data retrieval based on bandwidth cost and delay
KR20110010052A (ko) 2009-07-14 2011-01-31 삼성전자주식회사 방송 네트워크 및 인터넷 네트워크에 접속 가능한 클라이언트의 어플리케이션을 수신하는 방법 및 장치
JP2012129657A (ja) * 2010-12-13 2012-07-05 Samsung Yokohama Research Institute Co Ltd 放送受信装置
TWI574565B (zh) * 2011-03-31 2017-03-11 Sony Corp A transmitting apparatus, a transmitting method, a receiving apparatus, a receiving method, a computer-readable medium, and a broadcasting system
JP5961165B2 (ja) * 2011-05-20 2016-08-02 日本放送協会 放送通信連携受信装置及び放送通信連携システム
CN102595196A (zh) * 2012-01-12 2012-07-18 华为技术有限公司 一种应用数据的接收方法及装置
CN103685366B (zh) * 2012-09-10 2018-10-19 腾讯科技(深圳)有限公司 提高文件下载速度的方法、装置及系统
EP2782349A1 (en) * 2013-03-19 2014-09-24 TP Vision Holding B.V. Device and method for starting an application
EP2782350A1 (en) * 2013-03-19 2014-09-24 TP Vision Holding B.V. Device and method for starting an application
US10771831B2 (en) 2017-12-14 2020-09-08 At&T Intellectual Property I, L.P. System and method for preemptive advertisement caching to optimize network traffic
JP7337118B2 (ja) * 2021-04-23 2023-09-01 キヤノン株式会社 情報処理装置、方法およびプログラム
CN115766681B (zh) * 2022-11-28 2024-08-23 迈普通信技术股份有限公司 程序下载方法、装置、介质及设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9103493L (sv) * 1991-11-26 1993-03-29 Sweden On Line Ab Anordning vid dekodrar i tv-system
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
JP3939045B2 (ja) 1999-03-24 2007-06-27 三菱電機株式会社 ディジタルテレビ受信機における追加データダウンロード制御システム
JP2001053697A (ja) 1999-08-05 2001-02-23 Matsushita Electric Ind Co Ltd 送信装置及び受信装置
JP2002041390A (ja) * 2000-07-25 2002-02-08 Sony Corp 作品配信システム
JP2002084249A (ja) * 2000-09-08 2002-03-22 Fujitsu Ltd 集中管理装置
JP2002142164A (ja) * 2000-10-31 2002-05-17 Sanyo Electric Co Ltd ディジタルテレビ放送受信機
JP2002165046A (ja) * 2000-11-28 2002-06-07 Burosukomu:Kk ネットワークサービス方法、ネットワークサービス装置およびネットワークサービスプログラムを格納した記録媒体
JP2002281081A (ja) * 2001-01-10 2002-09-27 Sega Corp データ配信装置、データ配信方法、データ受信装置、及びデータ受信方法
US7428023B2 (en) * 2001-04-19 2008-09-23 Digeo, Inc. Remote control device with integrated display screen for controlling a digital video recorder
JP2003067284A (ja) 2001-08-30 2003-03-07 Sharp Corp デジタル放送受信機
ATE415049T1 (de) * 2002-04-12 2008-12-15 Koninkl Philips Electronics Nv Herunterladen von programmen in rundfunkempfaenger
US7308084B2 (en) * 2003-06-05 2007-12-11 International Business Machines Corporation Method and apparatus of associating file description during a browser-initiated download
US20050177853A1 (en) * 2004-02-11 2005-08-11 Alio, Inc. System and Methodology for Distributed Delivery of Online Content in Response to Client Selections from an Online Catalog
US8745667B2 (en) * 2007-01-08 2014-06-03 Lg Electronics Inc. Method of processing channel information and receiver

Also Published As

Publication number Publication date
EP1848214A4 (en) 2010-04-21
KR101193347B1 (ko) 2012-10-19
CN101107855A (zh) 2008-01-16
WO2006080361A1 (ja) 2006-08-03
KR20070100725A (ko) 2007-10-11
US8146128B2 (en) 2012-03-27
US20090019500A1 (en) 2009-01-15
EP1848214A1 (en) 2007-10-24

Similar Documents

Publication Publication Date Title
KR101193347B1 (ko) 다운로드 실행 장치
US7584356B2 (en) Broadcast receiving apparatus
KR101526967B1 (ko) 방송 송신기, 방송 수신기 및 케이블 방송의 소프트웨어수신 방법
JP4243571B2 (ja) 放送受信装置
US9264757B2 (en) Service executing apparatus
US8850511B2 (en) Program replacing method
US20090222867A1 (en) Broadcast receiving apparatus, video storing apparatus, and multimedia delivering system
US20070157263A1 (en) Content management system
US20070174356A1 (en) Program execution device, program execution method, and program
US8037456B2 (en) Program execution device
JP2009094702A (ja) 操作履歴を記憶する情報処理装置
JP4554659B2 (ja) プログラム置き換え方法およびプログラム置き換え装置
JP4728307B2 (ja) プログラム置き換え方法およびプログラム置き換え装置
JP2008187333A (ja) プログラム実行装置
KR20100004282A (ko) 방송 수신기 및 케이블 방송의 소프트웨어 수신 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090116

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20091204