JPWO2006077720A1 - デジタルテレビおよび画像合成方法 - Google Patents

デジタルテレビおよび画像合成方法 Download PDF

Info

Publication number
JPWO2006077720A1
JPWO2006077720A1 JP2006553840A JP2006553840A JPWO2006077720A1 JP WO2006077720 A1 JPWO2006077720 A1 JP WO2006077720A1 JP 2006553840 A JP2006553840 A JP 2006553840A JP 2006553840 A JP2006553840 A JP 2006553840A JP WO2006077720 A1 JPWO2006077720 A1 JP WO2006077720A1
Authority
JP
Japan
Prior art keywords
graphics
program
video
unit
java
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
JP2006553840A
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 JPWO2006077720A1 publication Critical patent/JPWO2006077720A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • 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/42653Internal components of the client ; Characteristics thereof for processing graphics
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • 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/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/44504Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/08Arrangements within a display terminal for setting, manually or automatically, display parameters of the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • 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/4437Implementing a Virtual Machine [VM]
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4786Supplemental services, e.g. displaying phone caller identification, shopping application e-mailing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Abstract

視聴者に不快感を与えることなく、グラフィックスとビデオ等とを合成して表示することができる画像合成装置を提供する。 グラフィックスとビデオを合成する表示合成部516であって、グラフィックスデータを保持するグラフィックスバッファ1202と、ビデオデータを保持するビデオバッファ1203と、グラフィックスとビデオを合成する割合を特定する透明度の指定をユーザから取得するためのシステム設定部517及び補正係数保持部1201と、取得された透明度に従って、グラフィックスバッファ1202に保持されたグラフィックスデータとビデオバッファ1203に保持されたビデオデータとを合成し、出力するための補正部1211及び合成部1212とを備える。

Description

本発明は、画像合成装置に関し、特に、グラフィックスとビデオ等とをアルファ合成して表示する画像合成装置に関する。
デジタルテレビは、一般的に、イメージ、文字等を表示するグラフィックスプレーン、及び、MPEG2ストリームなどによって定義されるビデオを表示するビデオプレーンなどが定義され、それらを重ね合わせて表示する。ここで、プレーンとは、実際には、OSD(On Screen Display)あるいはグラフィックスバッファ、ビデオバッファなど各々の出力イメージを保持する領域の抽象的な概念である。これらのプレーンは、それぞれ、論理的な重ね合わせの順序を持っており、一般的にはグラフィックスプレーンが前面にあり、ビデオプレーンがその背面にある。なお、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)では、グラフィックスプレーン、ビデオプレーン、バックグラウンドプレーンが定義され、その論理的な重ね合わせの順番は、最前面がグラフィックスプレーン、真ん中にビデオプレーン、最背面にバックグラウンドプレーンが定義される。その重ね合わせの方法は、一般的にアルファ合成と呼ばれ、透明度を示すアルファ(α)値というものを用いて行う。アルファ値は、各々の対応するグラフィックス、ビデオプレーンの画素がどの程度の割合で合成されるべきかを示し、0.0が完全に透明であることを表し、1.0が完全に不透明であることを表す。
DVB−MHP規格に定められる各プレーンの構成を図38に示す。ここでは、グラフィックスプレーン3501、ビデオプレーン3502及びバックグランドプレーン3503それぞれに格納されたグラフィックス、ビデオ及びバックグランドが合成部3511でアルファ合成され、スクリーン3504に表示される様子が示されている。
ビデオ、グラフィックス、バックグラウンド等、各プレーン間のアルファ合成に関する技術は、数多く提案されている(例えば、特許文献1に開示された「画像出力装置」等)。また、各プレーンが保持するアルファ値を一様に指定した値に置き換えるアルファ値置き換え手段を用いることで、時間とともにアルファ値を変化させ、これによって画面を浮き上がらせるように見せたりする効果を実現する技術も提案されている(例えば、特許文献2に開示された「画像合成装置及び方法」等)。
特開2003−348447号公報 特開2003−283925号公報
ところで、アルファ合成においては、アルファ値をどのように定義するかは各国、あるいは各種デジタルテレビの規格により、まちまちである。前記DVB−MHP規格においては、グラフィックスプレーンは、各々の画素が色の値を保持するとともに、アルファ値を保持し、そのアルファ値を用いて、異なるプレーン間のアルファ合成を行う。また、上記特許文献2に開示された「画像合成装置」では、各プレーンがそれぞれ、アルファ値を保持し、最も優先度の高いものがプレーン間のアルファ合成に採用される。
しかしながら、このようにして決められたアルファ値に基づく合成は、必ずしもデジタルテレビ等を視聴するユーザが求める合成とは限らないという問題がある。例えば、DVB−MHPにおいて、グラフィックスとビデオの両方が出力されている状況において、ユーザは、グラフィックスとビデオの両方を視聴したいにも拘わらず、合成に用いるアルファ値に不透明値がセットされているために、ビデオがグラフィックスプレーンに覆われてしまい、ビデオを視聴できないという場合が発生する。具体例として、ユーザがデジタルテレビで野球を視聴しているときに、メールの着信を知らせるグラフィックスが表示され、そのときのバッターのカウントやアウトカウント等を示す重要な付加情報がグラフィックスで覆われてしまい、ユーザは不快感をもってしまう。
そこで、本発明は、このような問題点に鑑みてなされたものであり、視聴者に不快感を与えることなく、グラフィックスとビデオ等とを合成して表示することができる画像合成装置を提供することを目的とする。
上記目的を達成するために、本発明に係る画像合成装置は、グラフィックスとビデオを合成する画像合成装置であって、グラフィックスデータを保持するグラフィックスデータ保持手段と、ビデオデータを保持するビデオデータ保持手段と、グラフィックスとビデオを合成する割合を特定する透明度の指定をユーザから取得する透明度取得手段と、取得された透明度に従って、前記グラフィックスデータ保持手段に保持されたグラフィックスデータと前記ビデオデータ保持手段に保持されたビデオデータとを合成し、出力する合成手段とを備えることを特徴とする。これによって、ユーザが指定した透明度に従ってグラフィックスとビデオが合成されるので、例えば、放送局からグラフィックスが完全不透明で表示する設定で送信されてきた場合であっても、ユーザはグラフィックスとビデオの両方を同時に見ることができ、不快感をもつことがない。
ここで、前記グラフィックスデータ保持手段はさらに、保持するグラフィックスデータが示すグラフィックスに対する合成の比率を示すアルファ値を保持し、前記透明度は、前記アルファ値に乗じる補正係数であり、前記合成手段は、前記アルファ値に前記補正係数を乗じて得られる補正後のアルファ値を前記グラフィックスに対する合成の比率として、前記グラフィックスデータと前記ビデオデータとを合成してもよい。これによって、ユーザは、元々設定されていたアルファ値を100%として所望の割合だけ透明度を増減させることができるので、制作者の意図を反映しつつ、自分の好みも反映した調整をすることができる。
また、前記画像合成装置はさらに、外部からプログラムをダウンロードするダウンロード手段を備え、前記アルファ値は、前記ダウンロード手段によってダウンロードされた第1プログラムによって、前記グラフィックス保持手段に格納されてもよい。そして、前記透明度取得手段による透明度の取得は、前記ダウンロード手段によってダウンロードされた第2プログラムが実行されることによって、行われてもよい。これによって、ダウンロードプログラムによって、グラフィックスに対するアルファ値の設定や、そのアルファ値に対する補正が行われるので、送信側において、グラフィックスのアルファ値を設定したり、その調整に対する許否をコントロールすることができる。
また、前記合成手段は、Porter−Duffルールに従って前記合成を行うのが好ましい。これによって、よく知られた手法により、的確にユーザの透明度を反映したアルファ合成が可能となる。
また、前記画像合成装置はさらに、背景画像を示すバックグランドデータを保持するバックグランドデータ保持手段を備え、前記合成手段は、前記グラフィックスデータと前記ビデオデータに加えて、前記バックグランドデータ保持手段に保持されたバックグランドデータを合成するのが好ましい。これによって、DVB−MHP規格に対応した画像合成装置が実現される。
また、前記画像合成装置は、前記グラフィックスデータ保持手段、前記ビデオデータ保持手段及び前記バックグランドデータ保持手段の少なくとも1つについて、複数個備えてもよい。これによって、同一概念のプレーンを複数個備える高機能な表示装置に対応した画像合成装置が実現される。
なお、本発明は、画像合成装置として実現できるだけでなく、その特徴的な構成要素をステップとする画像合成方法として実現したり、そのステップを含むプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD−ROM等の記録媒体として実現することもできる。
本発明によれば、ユーザが設定した所望の透明度に従って、グラフィックスとビデオ等がアルファ合成され、グラフィックスによってビデオ等が覆い隠されてしまうという不具合の発生が回避され、ユーザは、不快感をもつことなく、ビデオを視聴し続けることができる。
また、ダウンロードされたプログラムによって、グラフィックスのアルファ値を決定したり、そのアルファ値に対する調整を許可することができるので、グラフィックスとビデオ等の合成表示に関して制作者の意図を反映することができ、多様な楽しみ方に対応した番組づくりが可能となる。
図1は、本発明に係るケーブルテレビシステムの構成図 図2は、ケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図 図3は、OOB周波数帯域の詳細な使用の一例を示す図 図4は、In−Bandの周波数帯に対する使用の一例を示す図 図5は、端末装置の構成図 図6は、端末装置の外観図 図7は、PODのハードウエア構成図 図8は、PODが保存するプログラムの構成図 図9は、MPEG規格で定義されているパケットの構成図 図10は、MPEG2トランスポートストリームの一例を示す図 図11は、入力部をフロントパネルで構成した場合の外観の一例を示す図 図12は、表示合成部の構成図 図13は、端末装置が保存するプログラムの構成図 図14は、EPGの表示例を示す図 図15は、2次記憶部が保存する情報の一例を示す図 図16は、1次記憶部511が保存する情報の一例を示す図 図17は、MPEG2規格が規定するPATの例を表す模式図 図18は、MPEG2規格が規定するPMTの具体例を示す模式図 図19は、DVB−MHP規格が規定するAITの内容例を表す模式図 図20は、DSMCC方式で送信されるファイルシステムの例を表す模式図 図21は、XAITの内容例を表す模式図である。 図22は、2次記憶部が保存する情報の一例を示す図 図23は、EPGに係るJava(TM)プログラムのリスト例を示す図 図24は、Mail Java(登録商標)プログラムの表示例を示す図 図25は、Mail Java(登録商標)プログラムの表示例を示す図 図26は、Mail Java(登録商標)プログラムの表示例を示す図 図27は、Mail Java(登録商標)プログラムの表示例を示す図 図28は、ビデオの表示例を示す図 図29は、ビデオとMail Java(登録商標)プログラムによるグラフィックスの合成表示例を示す図 図30は、ビデオとMail Java(登録商標)プログラムによるグラフィックスの合成表示例を示す図 図31は、メニュー画面の起動シーケンスを示すフローチャート 図32は、メニュー画面の表示例を示す図 図33は、透明度調節画面の表示例を示す図 図34は、透明度の設定と画面への反映のシーケンスを示すフローチャート 図35は、端末装置のフロントパネルやリモコンに透明度を調節するボタンが設けられた例を示す図 図36は、透明度調節画面の他の例を示す図 図37は、本発明に係る画像合成装置の他の適用例を示す図 図38は、DVB−MHP規格における各プレーン構成を示す図
符号の説明
101 ヘッドエンド
111 端末装置A
112 端末装置B
113 端末装置C
500 端末装置
501 QAM復調部
502 QPSK復調部
503 QPSK変調部
504 POD
505 TSデコーダ
506 オーディオデコーダ
507 スピーカ
508 ビデオデコーダ
509 ディスプレイ
510 次記憶部
511 次記憶部
512 ROM
513 入力部
514 CPU
515 OSD制御部
516 表示合成部
517 システム設定部
601 筐体
602 ディスプレイ
603 フロントパネル部
604 信号入力端子
605 PODカード
606 挿入スロット
701 デスクランブラ部
702 デスクランブラ部
703 スクランブラ部
704 第1記憶部
705 第2記憶部
706 CPU
800 プログラム
801 メインプログラム
802 初期化サブプログラム
803 ネットワークサブプログラム
804 再生サブプログラム
805 PPVサブプログラム
1201 補正係数保持部
1202 グラフィックスバッファ
1203 ビデオバッファ
1204 バックグラウンドバッファ
1205 スクリーンバッファ
1211 補正部
1212 合成部
1300 プログラム
1301 OS
1301a カーネル
1301b ライブラリ
1302 EPG
1302a 番組表示部
1302b 再生部
1303 Java(登録商標)VM
1304 サービスマネージャ
1305 Java(登録商標)ライブラリ
1306 入力マネージャ
1307 システムマネージャ
1307a 設定部
1307b 表示部
3501 グラフィックスプレーン
3502 ビデオプレーン
3503 バックグランドプレーン
3504 スクリーン
3511 合成部
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、本発明の実施の形態におけるケーブルシステムを構成する装置の関係を表したブロック図である。このケーブルシステムは、ケーブルでテレビ放送を配信するシステムであり、ヘッドエンド101と3台の端末装置A111、B112及びC113で構成される。なお、この例では、1台のヘッドエンド101に対して3つの端末装置が結合されているが、任意の数の端末装置がヘッドエンド101に結合されてもよい。
ヘッドエンド101は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間の伝送に用いられる周波数帯域は、分割して用いられる。図2は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(以下、「OOB」という)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主にヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間のデータのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。OOBではQPSK変調方式が、In−BandはQAM64変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図3は、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に送信することができる。図4は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な構成要素を有する。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生するデジタルテレビ等である。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。3つの端末装置は本実施の形態では同じ構成を備える。
図5は、図1に示された端末装置A111、B112及びC113(以下、単に「端末装置500」という。)のハードウエア構成を表すブロック図である。この端末装置500は、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、スピーカ507、ビデオデコーダ508、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514、OSD制御部515、表示合成部516及びシステム設定部517で構成される。なお、この端末装置500は、着脱可能なPOD504を備える。
図6は、端末装置500の外観の一例である薄型テレビである。筐体601は、薄型テレビの筐体であり、POD504を除く、端末装置500の全ての構成要素を内蔵している。ディスプレイ602は、図5におけるディスプレイ509に相当する。フロントパネル部603は、複数のボタンで構成され、図5の入力部513に相当する。信号入力端子604は、ヘッドエンド101との信号の送受信を行うためのケーブル線を接続する端子であり、図5のQAM復調部501、QPSK復調部502及びQPSK変調部503と接続されている。PODカード605は、図5のPOD504に相当し、端末装置500とは独立した物であり、挿入スロット606を介して端末装置500に着脱可能となっている。このPOD504の詳細は後述する。
図5を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報に従って、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報に従って、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK変調部503は、CPU514から指定された周波数を含む変調情報に従って、POD504から渡された信号をQPSK変調し、ヘッドエンド101に送信する。
POD504は、図6に示されるように、端末装置500に着脱可能な形態をしている。端末装置500とPOD504の接続インターフェースは、OpenCable(TM)HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
図7は、POD504の内部構成を表すブロック図である。POD504は、ヘッドエンド101から端末装置500に向けて送られてきた暗号化信号を復号したり、端末装置500からヘッドエンド101に向けて送られるデータを暗号化したりするカードであり、第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が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図8は、第2記憶部705が記憶するプログラムの一例である。図8では、プログラム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は、入力されている信号をデスクランブルする。
図5を参照して、TSデコーダ505は、POD504から受け取った信号のフィルタリング(選局など)を実施し、必要なデータをオーディオデコーダ506及びビデオデコーダ508、CPU514に引き渡す。ここで、POD504から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書 ISO/IEC13818−1に記載されており、本実施の形態では詳細は省略する。MPEG2トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットIDが振られている。図9はパケットの構成図である。900はパケットであり、固定長の188バイトで構成される。先頭4バイトがヘッダー901で、パケットの識別情報を格納しており、残り184バイトがペイロード902で、送信したい情報を含んでいる。903は、ヘッダー901の内訳である。先頭から12ビット目〜24ビット目までの13ビットにパケットIDが含まれている。図10は送られてくる複数のパケットの列を表現した模式図である。パケット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を持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
図10に示されるように、CPU514がパケットID「1」と出力先として「ビデオデコーダ508」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「1」のパケットを抽出し、ビデオデコーダ508に引き渡す。図10においては、映像データのみをビデオデコーダ508に引き渡すことになる。同時に、CPU514がパケットID「2」と「オーディオデコーダ506」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「2」のパケットを抽出し、オーディオデコーダ506に引き渡す。図10においては、音声データのみをオーディオデコーダ506に引き渡すことになる。
このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダ505はCPU514から指示された複数のフィルタリングを同時に実行することができる。
図5を参照して、オーディオデコーダ506は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ507に出力する。
スピーカ507は、オーディオデコーダ506から与えられた信号をシステム設定部517によって指定された設定に従って音声出力する。
システム設定部517は、ユーザからの指示等に基づいて、端末装置500における音声出力及び表示出力等に関する各種パラメータの設定を行う処理部であり、音量の大小、及び、画面の輝度、コントラスト、表示位置等の設定をスピーカ507、ディスプレイ509に対して行う。また、本実施の形態では、システム設定部517は、ユーザからの指示に従って、表示合成部516に対して、グラフィックスの透明度に関する指示を行う。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、表示合成部516に出力する。また、ビデオデコーダ508はMPEG−I等で表される静止画像を表示合成部516に出力することもできる。なお、MPEG−I等静止画像を表示する際、前記ビデオデコーダ508とは別にスチルデコーダ等を用いて表示を行ってもよい。
OSD制御部515は、CPU514から指示されたグラフィックスの描画命令に従って描画を行い、表示合成部516に出力する。
表示合成部516は、ビデオデコーダ508から与えられたビデオ映像、あるいは静止画像とOSD制御部515から出力されたグラフィックスをアルファ合成し、デジタル−アナログ変換を行い、ディスプレイ509に出力する。
2次記憶部510は、具体的には、フラッシュメモリやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
ROM512は、書き換え不可能なメモリデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図11は、フロントパネル1100で入力部513を構成した場合のフロントパネル1100の一例を示す。フロントパネル1100は、図6に示されたフロントパネル部603に相当する。フロントパネル1100は7つのボタン、上カーソルボタン1101、下カーソルボタン1102、左カーソルボタン1103、右カーソルボタン1104、OKボタン1105、取消ボタン1106、EPGボタン1107、メニューボタン1108を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。
CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、QAM復調部501、QPSK復調部502、QPSK変調部503、POD504、TSデコーダ505、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512を制御する。
図12は、図5に示された表示合成部516の詳細な構成を示す機能ブロック図である。表示合成部516は、ビデオデコーダ508から与えられるビデオ映像あるいは静止画像とOSD制御部515から出力されたグラフィックスとをシステム設定部517からの指示(グラフィックスの透明度)に従ってアルファ合成する処理部であり、補正係数保持部1201、グラフィックスバッファ1202、ビデオバッファ1203、バックグラウンドバッファ1204、スクリーンバッファ1205、補正部1211及び合成部1212を備える。なお、本図には、図5に示されたシステム設定部517、OSD制御部515、ビデオデコーダ508及びディスプレイ509も併せて示されている。
補正係数保持部1201は、システム設定部517から通知される透明度を補正係数として保存するメモリ等である。ここで、補正係数とは、アルファ値に対して乗じる係数であり、例えば、0.0〜1.0の範囲内の数値である。グラフィックスバッファ1202は、OSD制御部515によって描画されたイメージや図形、文字などを保持するメモリ等である。グラフィックスバッファは、グラフィックスデータ、つまり、各画素に対して色の3原色であるR(赤)、G(緑)、B(青)の各々の値に加えて、透明度を表すアルファ値を保持する。ビデオバッファ1203、バックグラウンドバッファ1204は、それぞれ、映像を示すビデオデータ及び背景画像を示すバックグランドデータ、つまり、ビデオデコーダから出力された画像データを保持するメモリ等である。
なお、本実施の形態では、グラフィックス、ビデオ、バックグラウンドのバッファはそれぞれ1つであり、かつ論理的に、ディスプレイ509にはグラフィックスが最前面に表示され、ビデオが真中、バックグラウンドが最背面に表示されると想定する。しかしながら、本実施の形態では、各バッファが任意の個数で、かつ、どのような論理的な順序で表示されても適用できる。また、グラフィックス、ビデオ、バックグラウンドのほか、サブタイトルなど他の概念に用いられるバッファが存在しても適用できる。
補正部1211は、補正係数保持部1201に保持されている補正係数とグラフィックスバッファ1202が保持するアルファ値を掛け合わせる。補正係数が保持されていない場合は、補正係数が1.0であるものとして、演算される。なお、補正係数は、8ビットの整数値等、どのような値で保持していてもかまわない。また、各画素に対して、1つの補正係数を用意する等、複数の補正係数を用意してもよい。
合成部1212は、グラフィックスバッファ1202が保持するアルファ値と補正係数を掛け合わしたもの、及び、ビデオバッファ1203とバックグラウンドバッファ1204のアルファ合成を行う演算器等である。なお、本実施の形態では、補正係数とグラフィックスバッファ1202の各画素が保持するアルファ値を掛け合わせているが、グラフィックスバッファ1202の各画素を用いず、すべて、補正係数の値で置き換える等(補正係数を補正後のアルファ値とする等)、いかなる方法で補正後のアルファ値を求めてもよい。なお、アルファ合成とは、前景色と背景色をある割合で合成する処理であり、本実施の形態では、具体的な演算方法として、Porter−Duffルールを用いて演算を行う。Porter−Duffルールとは、合成元の色と合成先の色の混合比を定める12種類の合成規則である。例えばSRC_OVERルールは、合成元の色、透明度をCs、As、合成先の色、透明度をCd、Adとすると、合成された色は、((1−As)×Ad×Cd+As×Cs)で表される。Porter−Duffルールの詳細に関しては、T.Porter and T.Duff、″Compositing Digital Images″SIGGRAPH 84、253−259を参照されたい。なお、本実施の形態は、他の透明度の演算ルールを用いても適用できる。
スクリーンバッファ1205は、合成部1212でのアルファ合成で得られた画像データを格納するとともに、その画像データをデジタルーアナログ変換して映像信号としてディスプレイ509に出力するビデオメモリ及びD/A変換器等である。
ディスプレイ509は、具体的にはブラウン管や液晶表示装置等であり、スクリーンバッファ1205からの映像信号を画面に表示する。
図13は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。プログラム1300は、複数のサブプログラムで構成され、具体的にはOS1301、EPG1302、Java(登録商標)VM1303、サービスマネージャ1304、Java(登録商標)ライブラリ1305、入力マネージャ1306及びシステムマネージャ1307で構成される。
OS1301は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1301は、オペレーティングシステムの略であり、Linux等が一例である。OS1301は、他のサブプログラムを平行して実行するカーネル1301a及びライブラリ1301bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1301のカーネル1301aは、EPG1302とJava(登録商標)VM1303、入力マネージャ1306、システムマネージャ1307をサブプログラムとして実行する。また、ライブラリ1301bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1301bを通してQAM復調器を制御することができる。
EPG1302は、ユーザに番組一覧を表示及び、ユーザからの入力を入力マネージャ1306を通して受け付ける番組表示部1302aと、チャンネル選局を行う再生部1302bで構成される。ここで、EPGはElectric Program Guideの略である。
入力マネージャ1306はユーザからの入力を受け付け、EPG1302、システムマネージャ1307などユーザからの入力を要求するサブプログラムに配送する。
システムマネージャ1307は、設定部1307aと表示部1307bからなり、画面の各種設定、及び音量の設定などをCPU514を通して、システム設定部517に指定することにより、実現する。詳細は後述する。
EPG1302は、端末装置500の電源が投入されると、カーネル1301aによって起動される。起動されたEPG1302の内部では、番組表示部1302aが端末装置500の入力部513を通して、ユーザからの入力を待つ。ここで、入力部513が図11で示されるフロントパネルで構成されている場合、ユーザが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1302の番組表示部1302aは、この識別子を受け取り、番組情報をディスプレイ509に表示する。図14(1)及び(2)は、ディスプレイ509に表示された番組表の一例である。図14(1)に示されるように、ディスプレイ509には、格子状に番組情報が表示されている。列1401には、時刻情報が表示されている。列1402には、チャンネル名「チャンネル1」と、列1401の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「野球(Y対R)」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列1403も列1402同様、チャンネル名「チャンネル2」と、列1401の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。1330は、カーソルである。カーソル1330は、フロントパネル1100の左カーソル1103と右カーソル1104を押下すると移動する。図14(1)に示された表示状態で、右カーソル1104を押下すると、カーソル1330は右に移動し、図14(2)に示される表示例のようになる。また、図14(2)に示された表示状態で、左カーソル1103を押下すると、カーソル1330は左に移動し、図14(1)に示される表示例のようになる。
図14(1)に示された表示状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1302aは、「チャンネル1」の識別子を再生部1302bに通知する。図14(2)に示された表示状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1302aは、「チャンネル2」の識別子を再生部1302bに通知する。
また、番組表示部1302aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間がかかる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
再生部1302bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図15は、2次記憶部510に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列1501は、チャンネルの識別子である。列1502は、チャンネル名である。列1503はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、QAM復調部501に与える値である。列1504はプログラムナンバーである。プログラムナンバーとは、MPEG2規格で規定されているPMT(Program Map Table)を識別するための番号である。PMTに関しては、後述する。行1511〜1514の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行1511は識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「150MHz」、プログラムナンバーが「101」を含む組となっている。再生部1302bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
また、再生部1302bは、再生中に、ユーザがフロントパネル1100の上カーソル1101と下カーソル1102を押下すると、入力部513からCPU514を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部1302bは、1次記憶部511に現在再生中のチャンネルの識別子を記憶する。図16(1)(2)及び(3)は、1次記憶部511に保存しているチャンネルの識別子の例を示す。図16(1)では、識別子「3」が記憶されており、図15を参照し、チャンネル名「TV 3」のチャンネルが再生中であることが示されている。図16(1)に示された表示状態で、ユーザが上カーソル1101を押下すると再生部1302bは、図15に示されたチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「2」に書き換える。図16(2)は、チャンネル識別子が書き換えられた状態を表す。また、図16(1)に示された表示状態で、ユーザが下カーソル1102を押下すると再生部1302bは、図15に示されたチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「4」に書き換える。図16(3)は、チャンネル識別子が書き換えられた状態を表す。
Java(登録商標)VM1303は、Java(登録商標)(TM)言語で記述されたプログラムを逐次解析し実行するJava(登録商標)バーチャルマシンである。Java(登録商標)言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Java(登録商標)バーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJava(登録商標)バーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。Java(登録商標)VM1303は、カーネル1301aに実行するJava(登録商標)プログラムを指定され起動される。本実施の形態では、カーネル1301aは、実行するJava(登録商標)プログラムとしてサービスマネージャ1304を指定する。Java(登録商標)言語の詳細は、書籍「Java(登録商標)Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Java(登録商標)VM自体の詳細な動作などは、「Java(登録商標)Virtual Machine Specification(ISBN 0−201−63451−X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1304は、Java(登録商標)言語で書かれたJava(登録商標)プログラムであり、Java(登録商標)VM1303によって逐次実行される。サービスマネージャ1304は、JNI(Java(登録商標)Native Interface)を通して、Java(登録商標)言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java(登録商標)Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1304は、JNIを通して、再生部1302bよりチャンネルの識別子を受け取る。サービスマネージャ1304は、最初にJava(登録商標)ライブラリ1305の中にあるTuner1305cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1305cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1304がチャンネルの識別子「2」をTuner1305cに引き渡すと、Tuner1305cは、図15の行1512を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1305cは、OS1301のライブラリ1301bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
次にサービスマネージャ1304は、Java(登録商標)ライブラリ1305の中にあるCA(Conditional Access)1305dにデスクランブルを依頼する。CA1305dは、OS1301のライブラリ1301bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
次にサービスマネージャ1304は、Java(登録商標)ライブラリ1305の中にあるJMF(Java(登録商標)Media Framework)1305aにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にJMF1305aは、再生すべき映像と音声を特定するためのパケットIDをPAT(Program Association Table)、PMTから取得する。PATやPMTはMPEG2規格で規定されている、MPEG2トランスポートストリーム内の番組構成を表現するテーブルであり、MPEG2トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。PATは、パケットID「0」のパケットに格納され送信されている。JMF1305aは、PATを取得するため、OS1301のライブラリ1301bを通して、TSデコーダ505にパケットID「0」とCPU514を指定する。TSデコーダ505がパケットID「0」でフィルタリングを行い、CPU514に引き渡すことでJMF1305aは、PATのパケットを収集する。図17は、収集したPATの情報の一例を模式的に表した表である。列1701は、プログラムナンバーである。列1702は、パケットIDである。列1702のパケットIDはPMTを取得するために用いられる。行1711〜1713は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1711はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1305aに与えられたチャンネルの識別子が「2」とすると、JMF1305aは、図15の行1512を参照して、対応するプログラムナンバー「102」を獲得し、次に、図17のPATの行1712を参照し、プログラムナンバー「102」に対応するパケットID「502」を獲得する。
PMTは、PATで規定されたパケットIDのパケットに格納され送信されている。JMF1305aは、PMTを取得するため、OS1301のライブラリ1301bを通して、TSデコーダ505にパケットIDとCPU514を指定する。ここで、指定するパケットIDは「502」とする。TSデコーダ505がパケットID「502」でフィルタリングを行い、CPU514に引き渡すことでJMF1305aは、PMTのパケットを収集する。図18は、収集したPMTの情報の一例を模式的に表した表である。列1801は、ストリーム種別であり。列1802は、パケットIDである。列1802で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1803は補足情報である。行1811〜1814はエレメンタリーストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行1811は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1305aは、PMTから再生する映像と音声のパケットIDを獲得する。図18を参照して、JMF1305aは、行1811から音声のパケットID「5011」を、行1812から映像のパケットID「5012」を獲得する。
次に、JMF1305aは、OS1301のライブラリ1301bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダ506、映像のパケットIDと出力先としてビデオデコーダ508の組を、TSデコーダ505に与える。TSデコーダ505は与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパケットID「5011」のパケットをオーディオデコーダ506に、パケットID「5012」のパケットをビデオデコーダ508に引き渡す。オーディオデコーダ506は、与えられたパケットのデジタル−アナログ変換を行いスピーカ507を通して音声を再生する。ビデオデコーダ508は、与えられたパケットに埋め込まれたビデオデータを連結し、表示合成部515に出力する。
最後にサービスマネージャ1304は、Java(登録商標)ライブラリ1305の中にあるAM1305bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJava(登録商標)プログラムを抽出し、Java(登録商標)VM1303に実行させることである。MPEG2トランスポートストリームにJava(登録商標)プログラムを埋め込む方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJava(登録商標)プログラムの情報はAIT(Application Information Table)と呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている。
AM1305bは、まず、AITを獲得するため、JMF1305a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図17のPAT、図18のPMTが送信されていると、JMF1305aと同様の手順で、図18のPMTを獲得する。AM1305bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからパケットIDを抽出する。図18に示されるように、行1813のエレメンタリ−ストリームが該当し、パケットID「5013」を獲得する。
AM1305bは、OS1301のライブラリ1301bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1305bは、AITのパケットを収集することができる。図19は、収集したAITの情報の一例を模式的に表した表である。列1901はJava(登録商標)プログラムの識別子である。列1902はJava(登録商標)プログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置500がこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意味する。列1903は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列1904はJava(登録商標)プログラムのプログラム名である。行1911と1912は、Java(登録商標)プログラムの情報の組である。行1911で定義されるJava(登録商標)プログラムは、識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。行1912で定義されるJava(登録商標)プログラムは、識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで2つのJava(登録商標)プログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に2つのJava(登録商標)プログラムが含まれていることを表す。ここでは、Java(登録商標)プログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM1305bは、AITの中から「autostart」のJava(登録商標)プログラムを見つけ出し、対応するDSMCC識別子及びJava(登録商標)プログラム名を抽出する。図19を参照して、AM1305bは行1911のJava(登録商標)プログラムを抽出し、DSMCC識別子「1」及びJava(登録商標)プログラム名「a/TopXlet」を獲得する。
次にAM1305bは、AITから取得したDSMCC識別子を用いて、Java(登録商標)プログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図18に示された内容とすると、行1814のエレメンタリ−ストリームが合致し、パケットID「5014」を取り出す。
AM1305bは、OS1301のライブラリ1301bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1305bは、必要なパケットを収集することができる。AM1305bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
図20は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表している。ここでは、ディレクトリとして、ルートディレクトリ2001、ディレクトリ「a」2002、ディレクトリ「b」2003が示され、ファイルとして、ファイル「TopXlet.class」2004、ファイル「GameXlet.class」2005が示されている。
次にAM1305bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJava(登録商標)プログラムをJava(登録商標)VM1303に引き渡す。今、実行するJava(登録商標)プログラム名が「a/TopXlet」とすると、Java(登録商標)プログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図20を参照して、ファイル2004が実行すべきJava(登録商標)プログラムである。次にAM1305bは、ファイル2004をJava(登録商標)VM1303に引き渡す。
AM1305bによって実行されたJava(登録商標)プログラムはまた、Graphics1305fを用いてイメージ、文字等描画指示を行うことにより、画面に表示することができる。
Graphics1305fは、Java(登録商標)プログラムより受けた描画命令をCPU514を通してOSD制御部515に描画指示を行うことにより、イメージ、文字等の描画を実現する。また、Java(登録商標)プログラムは、Graphics1305fを通して、各描画処理または各画素のそれぞれに対してアルファ値を設定することができる。グラフィックスバッファ1202には各描画処理をアルファ合成した結果が出力される。また、Java(登録商標)プログラムがユーザからの入力によってアルファ値を設定できる場合は、各画素、あるいは各描画処理に対してアルファ値を設定できるようにすることも当然ながら可能である。
Java(登録商標)VM1303は、引き渡されたJava(登録商標)プログラムを実行する。
サービスマネージャ1304は、他のチャンネルの識別子を受け取ると、Java(登録商標)ライブラリ1305に含まれる各ライブラリを通して再生している映像・音声及びJava(登録商標)プログラムの実行を、同じくJava(登録商標)ライブラリ1305に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJava(登録商標)プログラムの実行を行う。
Java(登録商標)ライブラリ1305は、ROM512に格納されている複数のJava(登録商標)ライブラリの集合である。本実施の形態では、ここでは、Java(登録商標)ライブラリ1305は、JMF1305a、AM1305b、Tuner1305c、CA1305d、POD Lib1305e、Graphics1305f等を含んでいる。
次に、本発明に係るグラフィックスの透明度の制御について、メール機能を持つJava(登録商標)プログラムを用いて説明する。
サービスマネージャ1304は、Java(登録商標)ライブラリ1305に含まれるPOD Lib1305eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1305eはOS1301のライブラリ1301b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
サービスマネージャ1304は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJava(登録商標)プログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。
図21は、ヘッドエンド101から取得したXAITの情報の一例を模式的に表した表である。列2101はJava(登録商標)プログラムの識別子である。列2102はJava(登録商標)プログラムの制御情報である。制御情報には「autoselect」「present」などがあり、「autoselect」は端末装置500が電源投入時にこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味する。列2103は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列2104はJava(登録商標)プログラムのプログラム名である。列2105は、Java(登録商標)プログラムの優先度である。行2111と2112は、Java(登録商標)プログラムの情報の組である。行2111で定義されるJava(登録商標)プログラムは、識別子「701」、制御情報「autoselect」、DSMCC識別子「1」、プログラム名「a/MailXlet1」の組である。
サービスマネージャ1304は、XAIT情報を受け取ると、AIT情報からJava(登録商標)プログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムを1次記憶部511に保存する。その後、保存したファイルシステムを2次記憶部510に複写する。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。次に、サービスマネージャ1304は、XAIT情報にダウンロードしたファイルシステムの格納位置を対応づけて2次記憶部510に保存する。
図22は、2次記憶部510にXAIT情報とダウンロードしたファイルシステム2210とが対応づけられて保存されている一例を表す。本図において、図21と同じ番号の要素は図21と同一の符号を付し、その説明を省略する。XAIT情報の列2201は、対応するダウンロードしたファイルシステム2210の保存位置を格納する。図中、保存位置は矢印で示している。ダウンロードされたファイルシステム2210には、トップディレクトリ2211、ディレクトリ「a」2212、ディレクトリ「b」2213、ファイル「MailXlet1.class」2214、ファイル「MailXlet2.class」2215が含まれる。なお、XAIT情報は、Java(登録商標)プログラムを保存してから保存されているが、Java(登録商標)プログラムを保存する前に保存されてもよい。
端末装置500に電源が投入後、OS1301は、サービスマネージャ1304をJava(登録商標)VM1303に指定し、Java(登録商標)VM1303がサービスマネージャ1304を起動する。その後、サービスマネージャ1304は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Java(登録商標)プログラムの制御情報を参照し「autoselect」のプログラムをJava(登録商標)VM1303に引き渡し、起動する。図22に示されるように、行2111で定義されるJava(登録商標)プログラム「MailXlet1」が起動される。ここで、AITに記載されているJava(登録商標)プログラムはチューニングに依存するので、ユーザによって他のチャンネルが選択されると、起動しているJava(登録商標)プログラムが停止することがあるが、XAITの情報に記載されているJava(登録商標)プログラムは、AITに記載されているJava(登録商標)プログラムと異なりチューニングに依存しないので、一度起動されると、意図的にJava(登録商標)プログラムを停止しない限り停止しない。
また、「autoselect」によって自動実行されないJava(登録商標)プログラムは、EPG1202の番組表示部1302aから選択することにより、実行することも可能である。番組表示部1302aは、通常の番組を表示するとともに、実行可能なJava(登録商標)プログラムのリストを示すことも可能である。実行可能なJava(登録商標)プログラムのリストを提示する番組表示部1302aの表示例を図23に示す。図23において、列2301はJava(登録商標)プログラムのリストを、列2302は各Java(登録商標)プログラムの現在の状態を表す。2303の行は、Java(登録商標)プログラム「MailXlet1」と対応する状態、2304の行は、Java(登録商標)プログラム「MailXlet2」と対応する状態を示す。2311はカーソルを表し、ユーザによってOKボタン1105が押下されると、カーソル2311が示すアプリケーションが「待機中」であれば、実行される。また、Java(登録商標)プログラムが「実行中」である場合は、そのJava(登録商標)プログラムが非表示状態であっても表示状態になる。表示状態のときは何も起こらない。ボタン2305は通常のEPG画面、例えば、図14(1)で表される画面に戻るためのボタンである。
ここで、プログラム「MailXlet1」は、メールの送受信を行うJava(登録商標)プログラムとする。Java(登録商標)プログラム「MailXlet1」は、Java(登録商標)ライブラリ1305に含まれるPOD Lib1305eを通してヘッドエンド101と双方向通信を行うことによって実現される。
Java(登録商標)プログラム「MailXlet1」は、起動されると、図24に示されるように、封筒の画像(アイコン)2401を画面に表示し、ユーザからの選択待ち状態になる。図24には、Java(登録商標)プログラム「MailXlet1」のアイコン2401とカーソル2402とが表示されている画面表示例が示されている。この状態で、ユーザがOKボタン1105を押下すると、Java(登録商標)プログラム「MailXlet1」は、図25に示されるメイン画面を表示する。このメイン画面には、メールの新規作成を行う「新規作成」ボタン2501、メールの送受信を行う「送受信」ボタン2502、メールフォルダ画面への移動を行う「メールフォルダ」ボタン2503、住所録画面への移動を行う「住所録」ボタン2504、この画面を閉じる「閉じる」ボタン2505が示されている。また、カーソル2511が「新規作成」ボタン2501の位置に表示されている。このカーソル2511は、左カーソルボタン1103、右カーソルボタン11104を押下することにより、「送受信」ボタン2502、「メールフォルダ」ボタン2503へと移動する。さらに、このメイン画面には、メールの送受信状況の概要を示す情報2521が表示されている。たとえば、図25に示されるように、「新規作成」ボタン2501にカーソル2511があるときにOKボタン1105を押下することで、図26に示されるメールの新規作成画面図に遷移することができる。
図26に示されるように、新規作成画面図は、カーソル2621、メールの送信を行う「送信」ボタン2601、メールの破棄を行う「破棄」ボタン2602、メールの宛先の入力を行う「宛先」ボタン2603、「宛先」ボタン2603にカーソル2621がある場合にOKボタン1105が押下されたときに宛先の入力を行う宛先入力ボックス2604、メールのタイトルの入力を行う「タイトル」ボタン2605、「タイトル」ボタン2605にカーソル2621が場合にOKボタン1105が押下されたときにタイトルの入力を行うタイトル入力ボックス2606、メールの宛先のCc(カーボンコピー)の入力を行う「Cc」ボタン2607、「Cc」ボタン2607にカーソル2621がある場合にOKボタン1105が押下されたときに宛先のCcの入力を行うCc入力ボックス2608、メールの添付ファイルの追加を行う「添付ファイル」ボタン2609、「添付ファイル」ボタン2605にカーソル2621がある場合にOKボタン1105が押下されたときに追加された添付ファイルの内容を示す添付ファイル提示ボックス2610、メールの本文の入力を行う「本文」ボタン2611、「本文」ボタン2611にカーソル2621がある場合にOKボタン1105が押下されたときに本文の入力を行う本文入力ボックス2612からなる。「送信」ボタン2601、あるいは「破棄」ボタン2603にカーソル2621があるときにユーザによってOKボタン1105が押下されると、それぞれ、現在のメールの送信、破棄を行い、図25に示されるメイン画面に遷移する。
図25に示されるメイン画面において、「閉じる」ボタン2505にカーソル2511があるときに、ユーザによってOKボタン1105が押下されると、図27に示されるように、グラフィックスとして何も表示されない画面に遷移する。この図27に示された表示状態において、Java(登録商標)プログラム「MailXlet1」は、定期的にJava(登録商標)ライブラリ1305に含まれるPOD Lib1305eを通してヘッドエンド101と双方向通信を行い、新規受信メールをチェックする。新規受信メールが見つかった場合、Java(登録商標)プログラム「MailXlet1」は再度、図24に示される画面を表示し、アイコン2401によって、ユーザに新規メール受信を通知する。
いま、Java(登録商標)プログラム「MailXlet1」が図27に示される表示状態にあり、野球のコンテンツである番組「野球(Y対R)」が放送されているとする。図28は、そのような場合における表示画面例を示し、「野球(Y対R)」が示すビデオが再生されている状態を表す。図28には、ビデオのメインの部分2801、ビデオに含まれている付加的な情報(ここでは、現在のバッターのカウント及びアウトカウントと現在の点数)2802が示されている。
次に、あるタイミングで、Java(登録商標)プログラム「MailXlet1」が新規メールを受信すると、通常であれば、図29に示される画面例のように表示される。この図29では、ビデオに含まれる付加的な情報2802はメール受信を示すアイコン2401に覆われてしまい、表示が隠されてしまっている。つまり、図28に示される画面で表示されていた付加的な情報2802が隠れてしまっている。
ユーザによっては、このような付加的な情報2802を隠すことなく、かつ、メールの受信も知りたいという望む場合がある。すなわち、図30に示されるように、ビデオに含まれる全ての映像とメール受信の通知(グラフィックス)の両方を同時に見たいと望む場合がある。図30には、ビデオの付加的な情報2802に重ねて、メールの受信を示すアイコン2401が半透明で(アイコン3001として)表示されるとともに、カーソル2402が半透明で(カーソル3002として)表示されている様子が示されている。本実施の形態によれば、このようなユーザの望み、つまり、グラフィックスとビデオをユーザが望む比率でアルファ合成させて表示させることができる。以下、その実現方法について説明する。
まず、ユーザは、図30に示されるような合成表示の画面に設定するために、図11に示されたメニューボタン1108を押下し、システムマネージャ1307の表示部1307bを立ち上げる。図31は、その場合におけるシーケンスを示すフローチャートである。
ユーザがメニューボタンを押下したとき(S3101)、入力マネージャ1306は入力をシステムマネージャ1307に通知する(S3102)。システムマネージャ1307の表示部1307bは、メニューボタン1108の入力を受け付けると、図32に示されるようなメニュー画面を立ち上げる(S3103)。
図32に示されるように、メニュー画面1307bは、さまざまな設定画面から構成される。ここでは、画面の輝度調節3201、画面のコントラストの調節3202、グラフィックスの透明度の調節3203、画面の表示位置の調節3204、音量の調節3205等のメニュー項目や、カーソル3211が示されている。図32において、各調節機能は、ユーザがカーソルを上カーソルボタン1101、あるいは下カーソルボタン1102を押下することによって該当する調節の位置にあわせ、OKボタン1105押下することにより、選択される。
たとえば、グラフィックスの透明度を調節する場合、ユーザは、カーソル3211を「透明度調節」3203の上にあわせ、OKボタン1105を押下することにより、図33に示される透明度調節画面に遷移することができる。図33には、調節項目3301、調節の割合の目盛(「0%」3303及び「100%」3304)、調節バー3302が示されている。横に並んでいる個々の長方形が塗りつぶしてある部分と塗りつぶしてない部分によって現在の調節の度合い(本図の例では、約40%)を示している。透明度は、左カーソルボタン1103、あるいは右カーソルボタン1104を押下することによって調節することができる。調節が終了したとき、OKボタン1105を押下することによって調節が終了し、調節した透明度が反映される。
なお、ここで設定する透明度は、本実施の形態では、表示合成部516の補正係数保持部1201に保持される補正係数、つまり、グラフィックスのアルファ値に乗じる係数に相当する。したがって、たとえば、透明度が100%の場合は、グラフィックスバッファ1202に保持されたアルファ値をそのまま用いてグラフィックスを出力することを意味し、透明度が50%の場合は、グラフィックスバッファ1202に保持されたアルファ値を半分にして(より透明度を強くして)グラフィックスを出力することを意味する。
また、グラフィックスバッファ1202へのアルファ値の格納や補正係数の取得、補正係数保持部1201への補正係数の格納等の処理は、この端末装置500に予め備えられた回路やプログラム等によって実現されてもよいし、放送信号からダウンロードされたアプリケーションプログラム(Java(登録商標)プログラム等)によって実現されてもよい。
図34は、図33に示される透明度調節画面によって設定された透明度を反映する際のシーケンスを示すフローチャートである。まず、図33に示される透明度調節画面において、ユーザは、透明度を指定する(S3401)。すると、図13におけるシステムマネージャ1307の表示部1307bは、ユーザから透明度が指定されたことと、指定された透明度を設定部1307aに通知する(S3402)。設定部1307aは、図5に示されたCPU514を通して、システム設定部517に、グラフィックスの透明度が指定されたことと、指定された透明度を通知する(S3403)。システム設定部517は、指定された透明度を、補正係数として、表示合成部516の補正係数保持部1201に格納する(S3404)。表示合成部516は、補正係数保持部1201に格納された補正係数を用いてグラフィックスに対するアルファ値を補正し、補正後のアルファ値を用いて、グラフィックス、ビデオ及びバックグランドのアルファ合成を行い、ディスプレイに出力する(S3405)。
以上のような方法により、ユーザはグラフィックスの透明度を自由に設定でき、グラフィックスとビデオの表す情報を同時に読み取ることが可能となる。たとえば、グラフィックスバッファ1202に保持されたアルファ値が1.0(完全に不透明、つまり、グラフィックスでビデオを覆い隠す設定)であるために通常であれば図29に示される画面表示となるところを、図33に示される透明度調節画面で透明度を50%に設定しておくことで、図30に示される画面表示を得ることができる。これによって、ユーザは、ビデオとグラフィックスとを同時に見ることができ、不快感をもつことが回避される。
以上、本発明に係る画像合成装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。たとえば、本実施の形態では、透明度を調節するために、図32に示されるようなメニュー画面が用いられたが、図35に示されるように、端末装置500のフロントパネルやリモコンに透明度を調節するボタンを設けることによって、透明度の調節を実現してもよい。
また、本実施の形態では、透明度を段階的に調節する機能について説明したが、これに加えて、グラフィックスをON/OFFさせる設定を設けてもよい。または、段階的な調節機能を保持せず、単に、グラフィックスのON/OFFの機能のみを備えてもよい。
また、グラフィックス全体に対して1つの透明度を設定するのではなく、画面の各画素、あるいは範囲ごとに、異なる透明度を設定できるようにしてもよい。
また、本実施の形態の具体例は、グラフィックスとビデオの合成例であったが、グラフィックスとバックグラウンド、あるいは、グラフィックスとビデオとバックグラウンド全ての合成において、同様の方法によって、ユーザが自由にグラフィックスの透明度を調節することができる。
また、本実施の形態では、図33に示されるように、透明度調節画面では、調節バー3302だけが表示されたが、図36に示されるように、調節バー3302に加えて、その時点での透明度を確認するための確認画面を同時に表示してもよい。これは、例えば、図30に示される画面を縮小した画像や、調節用の固定的なビデオとグラフィックスとをアルファ合成した画像等を透明度調節画面内に表示することによって実現できる。
また、本実施の形態では、本発明に係る画像合成装置は、デジタルテレビに適用された例が示されたが、デジタルテレビだけでなく、グラフィックスとビデオ等を合成して表示する機器、例えば、図37に示されるように、テレビ放送やビデオ配信を受信可能な情報端末・携帯情報端末・携帯電話機等にも適用することができる。
本発明は、グラフィックスとビデオ等を合成して表示する画像合成装置として、例えば、デジタルTV、テレビ放送やビデオ配信を受信可能な情報端末・携帯情報端末・携帯電話機等として、特に、複数のコンテンツをユーザの好みに応じて合成表示する表示装置として利用することができる。
【発明の名称】デジタルテレビおよび画像合成方法
【0001】
【技術分野】
[0001]
本発明は、デジタルテレビ等に関し、特に、グラフィックスとビデオ等とをアルファ合成して表示するデジタルテレビ等に関する。
【背景技術】
[0002]
デジタルテレビは、一般的に、イメージ、文字等を表示するグラフィックスプレーン、及び、MPEG2ストリームなどによって定義されるビデオを表示するビデオプレーンなどが定義され、それらを重ね合わせて表示する。ここで、プレーンとは、実際には、OSD(On Screen Display)あるいはグラフィックスバッファ、ビデオバッファなど各々の出力イメージを保持する領域の抽象的な概念である。これらのプレーンは、それぞれ、論理的な重ね合わせの順序を持っており、一般的にはグラフィックスプレーンが前面にあり、ビデオプレーンがその背面にある。なお、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)では、グラフィックスプレーン、ビデオプレーン、バックグラウンドプレーンが定義され、その論理的な重ね合わせの順番は、最前面がグラフィックスプレーン、真ん中にビデオプレーン、最背面にバックグラウンドプレーンが定義される。その重ね合わせは、一般的にアルファ合成と呼ばれ、透明度を示すアルファ(α)値というものを用いて行う。アルファ値は、各々の対応するグラフィックス、ビデオプレーンの画素がどの程度の割合で合成されるべきかを示し、0.0が完全に透明であることを表し、1.0が完全に不透明であることを表す。
[0003]
DVB−MHP規格に定められる各プレーンの構成を図38に示す。ここでは、グラフィックスプレーン3501、ビデオプレーン3502及びバックグランドプレーン3503それぞれに格納されたグラフィックス、ビデオ及びバックグランドが合成部3511でアルファ合成され、スクリーン3504に表示される様子が示されている。
[0004]
ビデオ、グラフィックス、バックグラウンド等、各プレーン間のアルファ合成に関する技術は、数多く提案されている(例えば、特許文献1に開示された「画像出力装置」等)。
【0002】
また、各プレーンが保持するアルファ値を一様に指定した値に置き換えるアルファ値置き換え手段を用いることで、時間とともにアルファ値を変化させ、これによって画面を浮き上がらせるように見せたりする効果を実現する技術も提案されている(例えば、特許文献2に開示された「画像合成装置及び方法」等)。
【特許文献1】特開2003−348447号公報
【特許文献2】特開2003−283925号公報
【発明の開示】
【発明が解決しようとする課題】
[0005]
ところで、アルファ合成においては、アルファ値をどのように定義するかは各国、あるいは各種デジタルテレビの規格により、まちまちである。前記DVB−MHP規格においてはグラフィックスプレーンは、各々の画素が色の値を保持するとともに、アルファ値を保持し、そのアルファ値を用いて、異なるプレーン間のアルファ合成を行う。また、上記特許文献2に開示された「画像合成装置」では、各プレーンがそれぞれ、アルファ値を保持し、最も優先度の高いものがプレーン間のアルファ合成に採用される。
[0006]
しかしながら、このようにして決められたアルファ値に基づく合成は、必ずしもデジタルテレビ等を視聴するユーザが求める合成とは限らないという問題がある。例えば、DVB−MHPにおいて、グラフィックスとビデオの両方が出力されている状況において、ユーザは、グラフィックスとビデオの両方を視聴したいにも拘わらず、合成に用いるアルファ値に不透明値がセットされているために、ビデオがグラフィックスプレーンに覆われてしまい、ビデオを視聴できないという場合が発生する。具体例として、ユーザがデジタルテレビで野球を視聴しているときに、メールの着信を知らせるグラフィックスが表示され、そのときのバッターのカウントやアウトカウント等を示す重要な付加情報がグラフィックスで覆われてしまい、ユーザは不快感をもってしまう。
[0007]
そこで、本発明は、このような問題点に鑑みてなされたものであり、視聴者に不快感を与えることなく、グラフィックスとビデオ等とを合成して表示することができるデジタルテレビおよび画像合成方法を提供することを目的とする。
【課題を解決するための手段】
【0003】
[0008]
上記目的を達成するために、本発明に係るデジタルテレビは、アプリケーションが生成したグラフィックスデータとビデオデータを合成するデジタルテレビであって、前記グラフィックスデータおよび前記アプリケーションからの要求により設定した値であって、前記グラフィックスデータに対する合成の比率を示すアルファ値を保持するグラフィックスデータ保持手段と、ビデオデータを保持するビデオデータ保持手段と、グラフィックスデータとビデオデータを合成する割合を特定する透明度の指定を前記デジタルテレビの視聴者から取得する透明度取得手段と、前記透明度取得手段により取得された透明度を前記アルファ値に対する補正係数とし、前記アルファ値に前記補正係数を乗じて得られる補正後のアルファ値を前記グラフィックスデータに対する合成の比率として、前記グラフィックスデータ保持手段に保持されたグラフィックスデータと前記ビデオデータ保持手段に保持されたビデオデータとを合成し、出力する合成手段と、前記合成手段により合成されたグラフィックスデータとビデオデータを表示する表示手段とを備えることを特徴とする。これによって、ユーザが指定した透明度に従ってグラフィックスとビデオが合成されるので、例えば、放送局からグラフィックスが完全不透明で表示する設定で送信されてきた場合であっても、ユーザはグラフィックスとビデオの両方を同時に見ることができ、不快感をもつことがない。
[0009]
また、ユーザは、元々設定されていたアルファ値を100%として所望の割合だけ透明度を増減させることができるので、制作者の意図を反映しつつ、自分の好みも反映した調整をすることができる。
[0010]
また、前記デジタルテレビはさらに、外部からプログラムをダウンロードするダウンロード手段を備え、前記アルファ値は、前記ダウンロード手段によってダウンロードされた第1プログラムによって、前記グラフィックス保持手段に格納されてもよい。そして、前記透明度取得手段による透明度の取得は、前記ダウンロード手段によってダウンロードされた第2プログラムが実行されることによって、行われてもよい。これによって、ダウンロードプログラムによって、グラフィックスに対するアルファ値の設定や、そのアルファ値に対する補正が行われるので、送信側において、グラフィックスのアルファ値を設定したり、その調整に対する許否をコントロールすることができる。
[0011]
また、前記合成手段は、Porter−Duffルールに従って前記合成を行うのが好ましい。これによって、よく知られた手法により、的確にユーザの透明度を反映したアルフ
【0004】
ァ合成が可能となる。
[0012]
また、前記デジタルテレビはさらに、背景画像を示すバックグランドデータを保持するバックグランドデータ保持手段を備え、前記合成手段は、前記グラフィックスデータと前記ビデオデータに加えて、前記バックグランドデータ保持手段に保持されたバックグランドデータを合成するのが好ましい。これによって、DVB−MHP規格に対応したデジタルテレビが実現される。
[0013]
また、前記デジタルテレビは、前記グラフィックスデータ保持手段、前記ビデオデータ保持手段及び前記バックグランドデータ保持手段の少なくとも1つについて、複数個備えてもよい。これによって、同一概念のプレーンを複数個備える高機能な表示装置に対応したデジタルテレビが実現される。
[0014]
なお、本発明は、デジタルテレビとして実現できるだけでなく、その特徴的な構成要素をステップとする画像合成方法として実現したり、そのステップを含むプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD−ROM等の記録媒体として実現することもできる。
【発明の効果】
[0015]
本発明によれば、ユーザが設定した所望の透明度に従って、グラフィックスとビデオ等がアルファ合成され、グラフィックスによってビデオ等が覆い隠されてしまうという不具合の発生が回避され、ユーザは、不快感をもつことなく、ビデオを視聴し続けることができる。
[0016]
また、ダウンロードされたプログラムによって、グラフィックスのアルファ値を決定したり、そのアルファ値に対する調整を許可することができるので、グラフィックスとビデオ等の合成表示に関して制作者の意図を反映することができ、多様な楽しみ方に対応した番組づくりが可能となる。
【図面の簡単な説明】
[0017]
[図1]図1は、本発明に係るケーブルテレビシステムの構成図
[図2]図2は、ケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図
[図3]図3は、OOB周波数帯域の詳細な使用の一例を示す図
【0006】
表示例を示す図
[図31]図31は、メニュー画面の起動シーケンスを示すフローチャート
[図32]図32は、メニュー画面の表示例を示す図
[図33]図33は、透明度調節画面の表示例を示す図
[図34]図34は、透明度の設定と画面への反映のシーケンスを示すフローチャート
[図35]図35は、端末装置のフロントパネルやリモコンに透明度を調節するボタンが設けられた例を示す図
[図36]図36は、透明度調節画面の他の例を示す図
[図37]図37は、本発明に係る方法の他の適用例を示す図
[図38]図38は、DVB−MHP規格における各プレーン構成を示す図
【符号の説明】
[0018]
101 ヘッドエンド
111 端末装置A
112 端末装置B
113 端末装置C
500 端末装置
501 QAM復調部
502 QPSK復調部
503 QPSK変調部
504 POD
505 TSデコーダ
506 オーディオデコーダ
507 スピーカ
508 ビデオデコーダ
509 ディスプレイ
510 次記憶部
511 次記憶部
512 ROM
【0034】
[0122]
以上のような方法により、ユーザはグラフィックスの透明度を自由に設定でき、グラフィックスとビデオの表す情報を同時に読み取ることが可能となる。たとえば、グラフィックスバッファ1202に保持されたアルファ値が1.0(完全に不透明、つまり、グラフィックスでビデオを覆い隠す設定)であるために通常であれば図29に示される画面表示となるところを、図33に示される透明度調節画面で透明度を50%に設定しておくことで、図30に示される画面表示を得ることができる。これによって、ユーザは、ビデオとグラフィックスとを同時に見ることができ、不快感をもつことが回避される。
[0123]
以上、本発明に係るデジタルテレビについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。たとえば、本実施の形態では、透明度を調節するために、図32に示されるようなメニュー画面が用いられたが、図35に示されるように、端末装置500のフロントパネルやリモコンに透明度を調節するボタンを設けることによって、透明度の調節を実現してもよい。
[0124]
また、本実施の形態では、透明度を段階的に調節する機能について説明したが、これに加えて、グラフィックスをON/OFFさせる設定を設けてもよい。または、段階的な調節機能を保持せず、単に、グラフィックスのON/OFFの機能のみを備えてもよい。
[0125]
また、グラフィックス全体に対して1つの透明度を設定するのではなく、画面の各画素、あるいは範囲ごとに、異なる透明度を設定できるようにしてもよい。
[0126]
また、本実施の形態の具体例は、グラフィックスとビデオの合成例であったが、グラフィックスとバックグラウンド、あるいは、グラフィックスとビデオとバックグラウンド全ての合成において、同様の方法によって、ユーザが自由にグラフィックスの透明度を調節することができる。
[0127]
また、本実施の形態では、図33に示されるように、透明度調節画面では、調節バー3302だけが表示されたが、図36に示されるように、調節バー3302に加えて、その時点での透明度を確認するための確認画面を同時に表示してもよい。これは、例えば、図30に示される画面を縮小した画像や、調節用の固定的なビデオとグラフィックスとをアルファ合成した画像等を透明度調節画面内に表示することによって実現できる。
【0035】
[0128]
また、本実施の形態では、本発明に係る画像合成方法は、デジタルテレビに適用された例が示されたが、デジタルテレビだけでなく、グラフィックスとビデオ等を合成して表示する機器、例えば、図37に示されるように、テレビ放送やビデオ配信を受信可能な情報端末・携帯情報端末・携帯電話機等にも適用することができる。
【産業上の利用可能性】
[0129]
本発明は、グラフィックスとビデオ等を合成して表示するデジタルテレビ等として、例えば据え置き型のデジタルTV、テレビ放送やビデオ配信を受信可能な情報端末・携帯情報端末・携帯電話機等として、特に、複数のコンテンツをユーザの好みに応じて合成表示する表示装置として利用することができる。
本発明は、デジタルテレビ等に関し、特に、グラフィックスとビデオ等とをアルファ合成して表示するデジタルテレビ等に関する。
デジタルテレビは、一般的に、イメージ、文字等を表示するグラフィックスプレーン、及び、MPEG2ストリームなどによって定義されるビデオを表示するビデオプレーンなどが定義され、それらを重ね合わせて表示する。ここで、プレーンとは、実際には、OSD(On Screen Display)あるいはグラフィックスバッファ、ビデオバッファなど各々の出力イメージを保持する領域の抽象的な概念である。これらのプレーンは、それぞれ、論理的な重ね合わせの順序を持っており、一般的にはグラフィックスプレーンが前面にあり、ビデオプレーンがその背面にある。なお、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)では、グラフィックスプレーン、ビデオプレーン、バックグランドプレーンが定義され、その論理的な重ね合わせの順番は、最前面がグラフィックスプレーン、真ん中にビデオプレーン、最背面にバックグランドプレーンが定義される。その重ね合わせの方法は、一般的にアルファ合成と呼ばれ、透明度を示すアルファ(α)値というものを用いて行う。アルファ値は、各々の対応するグラフィックス、ビデオプレーンの画素がどの程度の割合で合成されるべきかを示し、0.0が完全に透明であることを表し、1.0が完全に不透明であることを表す。
DVB−MHP規格に定められる各プレーンの構成を図38に示す。ここでは、グラフィックスプレーン3501、ビデオプレーン3502及びバックグランドプレーン3503それぞれに格納されたグラフィックス、ビデオ及びバックグランドが合成部3511でアルファ合成され、スクリーン3504に表示される様子が示されている。
ビデオ、グラフィックス、バックグランド等、各プレーン間のアルファ合成に関する技術は、数多く提案されている(例えば、特許文献1に開示された「画像出力装置」等)。また、各プレーンが保持するアルファ値を一様に指定した値に置き換えるアルファ値置き換え手段を用いることで、時間とともにアルファ値を変化させ、これによって画面を浮き上がらせるように見せたりする効果を実現する技術も提案されている(例えば、特許文献2に開示された「画像合成装置及び方法」等)。
特開2003−348447号公報 特開2003−283925号公報
ところで、アルファ合成においては、アルファ値をどのように定義するかは各国、あるいは各種デジタルテレビの規格により、まちまちである。前記DVB−MHP規格においては、グラフィックスプレーンは、各々の画素が色の値を保持するとともに、アルファ値を保持し、そのアルファ値を用いて、異なるプレーン間のアルファ合成を行う。また、上記特許文献2に開示された「画像合成装置」では、各プレーンがそれぞれ、アルファ値を保持し、最も優先度の高いものがプレーン間のアルファ合成に採用される。
しかしながら、このようにして決められたアルファ値に基づく合成は、必ずしもデジタルテレビ等を視聴するユーザが求める合成とは限らないという問題がある。例えば、DVB−MHPにおいて、グラフィックスとビデオの両方が出力されている状況において、ユーザは、グラフィックスとビデオの両方を視聴したいにも拘わらず、合成に用いるアルファ値に不透明値がセットされているために、ビデオがグラフィックスプレーンに覆われてしまい、ビデオを視聴できないという場合が発生する。具体例として、ユーザがデジタルテレビで野球を視聴しているときに、メールの着信を知らせるグラフィックスが表示され、そのときのバッターのカウントやアウトカウント等を示す重要な付加情報がグラフィックスで覆われてしまい、ユーザは不快感をもってしまう。
そこで、本発明は、このような問題点に鑑みてなされたものであり、視聴者に不快感を与えることなく、グラフィックスとビデオ等とを合成して表示することができるデジタルテレビおよび画像合成方法を提供することを目的とする。
上記目的を達成するために、本発明に係るデジタルテレビは、アプリケーションが生成したグラフィックスデータとビデオデータを合成するデジタルテレビであって、前記グラフィックスデータおよび前記アプリケーションからの要求により設定した値であって、前記グラフィックスデータに対する合成の比率を示すアルファ値を保持するグラフィックスデータ保持手段と、ビデオデータを保持するビデオデータ保持手段と、グラフィックスデータとビデオデータを合成する割合を特定する透明度の指定を前記デジタルテレビの視聴者から取得する透明度取得手段と、前記透明度取得手段により取得された透明度を前記アルファ値に対する補正係数とし、前記アルファ値に前記補正係数を乗じて得られる補正後のアルファ値を前記グラフィックスデータに対する合成の比率として、前記グラフィックスデータ保持手段に保持されたグラフィックスデータと前記ビデオデータ保持手段に保持されたビデオデータとを合成し、出力する合成手段と、前記合成手段により合成されたグラフィックスデータとビデオデータを表示する表示手段とを備えることを特徴とする。これによって、ユーザが指定した透明度に従ってグラフィックスとビデオが合成されるので、例えば、放送局からグラフィックスが完全不透明で表示する設定で送信されてきた場合であっても、ユーザはグラフィックスとビデオの両方を同時に見ることができ、不快感をもつことがない。
また、ユーザは、元々設定されていたアルファ値を100%として所望の割合だけ透明度を増減させることができるので、制作者の意図を反映しつつ、自分の好みも反映した調整をすることができる。
また、前記デジタルテレビはさらに、外部からプログラムをダウンロードするダウンロード手段を備え、前記アルファ値は、前記ダウンロード手段によってダウンロードされた第1プログラムによって、前記グラフィックスデータ保持手段に格納されてもよい。そして、前記透明度取得手段による透明度の取得は、前記ダウンロード手段によってダウンロードされた第2プログラムが実行されることによって、行われてもよい。これによって、ダウンロードプログラムによって、グラフィックスに対するアルファ値の設定や、そのアルファ値に対する補正が行われるので、送信側において、グラフィックスのアルファ値を設定したり、その調整に対する許否をコントロールすることができる。
また、前記合成手段は、Porter−Duffルールに従って前記合成を行うのが好ましい。これによって、よく知られた手法により、的確にユーザの透明度を反映したアルファ合成が可能となる。
また、前記デジタルテレビはさらに、背景画像を示すバックグランドデータを保持するバックグランドデータ保持手段を備え、前記合成手段は、前記グラフィックスデータと前記ビデオデータに加えて、前記バックグランドデータ保持手段に保持されたバックグランドデータを合成するのが好ましい。これによって、DVB−MHP規格に対応したデジタルテレビが実現される。
また、前記デジタルテレビは、前記グラフィックスデータ保持手段、前記ビデオデータ保持手段及び前記バックグランドデータ保持手段の少なくとも1つについて、複数個備えてもよい。これによって、同一概念のプレーンを複数個備える高機能な表示装置に対応したデジタルテレビが実現される。
なお、本発明は、デジタルテレビとして実現できるだけでなく、その特徴的な構成要素をステップとする画像合成方法として実現したり、そのステップを含むプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD−ROM等の記録媒体として実現することもできる。
本発明によれば、ユーザが設定した所望の透明度に従って、グラフィックスとビデオ等がアルファ合成され、グラフィックスによってビデオ等が覆い隠されてしまうという不具合の発生が回避され、ユーザは、不快感をもつことなく、ビデオを視聴し続けることができる。
また、ダウンロードされたプログラムによって、グラフィックスのアルファ値を決定したり、そのアルファ値に対する調整を許可することができるので、グラフィックスとビデオ等の合成表示に関して制作者の意図を反映することができ、多様な楽しみ方に対応した番組づくりが可能となる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、本発明の実施の形態におけるケーブルシステムを構成する装置の関係を表したブロック図である。このケーブルシステムは、ケーブルでテレビ放送を配信するシステムであり、ヘッドエンド101と3台の端末装置A111、B112及びC113で構成される。なお、この例では、1台のヘッドエンド101に対して3つの端末装置が結合されているが、任意の数の端末装置がヘッドエンド101に結合されてもよい。
ヘッドエンド101は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間の伝送に用いられる周波数帯域は、分割して用いられる。図2は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(以下、「OOB」という)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主にヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間のデータのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。OOBではQPSK変調方式が、In−BandはQAM64変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。図3は、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に送信することができる。図4は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な構成要素を有する。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生するデジタルテレビ等である。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。3つの端末装置は本実施の形態では同じ構成を備える。
図5は、図1に示された端末装置A111、B112及びC113(以下、単に「端末装置500」という。)のハードウエア構成を表すブロック図である。この端末装置500は、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、スピーカ507、ビデオデコーダ508、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514、OSD制御部515、表示合成部516及びシステム設定部517で構成される。なお、この端末装置500は、着脱可能なPOD504を備える。
図6は、端末装置500の外観の一例である薄型テレビである。筐体601は、薄型テレビの筐体であり、POD504を除く、端末装置500の全ての構成要素を内蔵している。ディスプレイ602は、図5におけるディスプレイ509に相当する。フロントパネル部603は、複数のボタンで構成され、図5の入力部513に相当する。信号入力端子604は、ヘッドエンド101との信号の送受信を行うためのケーブル線を接続する端子であり、図5のQAM復調部501、QPSK復調部502及びQPSK変調部503と接続されている。PODカード605は、図5のPOD504に相当し、端末装置500とは独立した物であり、挿入スロット606を介して端末装置500に着脱可能となっている。このPOD504の詳細は後述する。
図5を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報に従って、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報に従って、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK変調部503は、CPU514から指定された周波数を含む変調情報に従って、POD504から渡された信号をQPSK変調し、ヘッドエンド101に送信する。
POD504は、図6に示されるように、端末装置500に着脱可能な形態をしている。端末装置500とPOD504の接続インターフェースは、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
図7は、POD504の内部構成を表すブロック図である。POD504は、ヘッドエンド101から端末装置500に向けて送られてきた暗号化信号を復号したり、端末装置500からヘッドエンド101に向けて送られるデータを暗号化したりするカードであり、第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が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図8は、第2記憶部705が記憶するプログラムの一例である。図8では、プログラム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は、入力されている信号をデスクランブルする。
図5を参照して、TSデコーダ505は、POD504から受け取った信号のフィルタリング(選局など)を実施し、必要なデータをオーディオデコーダ506及びビデオデコーダ508、CPU514に引き渡す。ここで、POD504から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書 ISO/IEC13818−1に記載されており、本実施の形態では詳細は省略する。MPEG2トランスポートストリームは、複数の固定長パケットで構成され、各パケットには、パケットIDが振られている。図9はパケットの構成図である。900はパケットであり、固定長の188バイトで構成される。先頭4バイトがヘッダー901で、パケットの識別情報を格納しており、残り184バイトがペイロード902で、送信したい情報を含んでいる。903は、ヘッダー901の内訳である。先頭から12ビット目〜24ビット目までの13ビットにパケットIDが含まれている。図10は送られてくる複数のパケットの列を表現した模式図である。パケット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を持つ、パケットのペイロードの内容を連結すると、連続した映像や音声を再現することができる。
図10に示されるように、CPU514がパケットID「1」と出力先として「ビデオデコーダ508」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「1」のパケットを抽出し、ビデオデコーダ508に引き渡す。図10においては、映像データのみをビデオデコーダ508に引き渡すことになる。同時に、CPU514がパケットID「2」と「オーディオデコーダ506」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「2」のパケットを抽出し、オーディオデコーダ506に引き渡す。図10においては、音声データのみをオーディオデコーダ506に引き渡すことになる。
このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダ505はCPU514から指示された複数のフィルタリングを同時に実行することができる。
図5を参照して、オーディオデコーダ506は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ507に出力する。
スピーカ507は、オーディオデコーダ506から与えられた信号をシステム設定部517によって指定された設定に従って音声出力する。
システム設定部517は、ユーザからの指示等に基づいて、端末装置500における音声出力及び表示出力等に関する各種パラメータの設定を行う処理部であり、音量の大小、及び、画面の輝度、コントラスト、表示位置等の設定をスピーカ507、ディスプレイ509に対して行う。また、本実施の形態では、システム設定部517は、ユーザからの指示に従って、表示合成部516に対して、グラフィックスの透明度に関する指示を行う。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、表示合成部516に出力する。また、ビデオデコーダ508はMPEG−I等で表される静止画像を表示合成部516に出力することもできる。なお、MPEG−I等静止画像を表示する際、前記ビデオデコーダ508とは別にスチルデコーダ等を用いて表示を行ってもよい。
OSD制御部515は、CPU514から指示されたグラフィックスの描画命令に従って描画を行い、表示合成部516に出力する。
表示合成部516は、ビデオデコーダ508から与えられたビデオ映像、あるいは静止画像とOSD制御部515から出力されたグラフィックスをアルファ合成し、デジタル−アナログ変換を行い、ディスプレイ509に出力する。
2次記憶部510は、具体的には、フラッシュメモリやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
ROM512は、書き換え不可能なメモリデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図11は、フロントパネル1100で入力部513を構成した場合のフロントパネル1100の一例を示す。フロントパネル1100は、図6に示されたフロントパネル部603に相当する。フロントパネル1100は7つのボタン、上カーソルボタン1101、下カーソルボタン1102、左カーソルボタン1103、右カーソルボタン1104、OKボタン1105、取消ボタン1106、EPGボタン1107、メニューボタン1108を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。
CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、QAM復調部501、QPSK復調部502、QPSK変調部503、POD504、TSデコーダ505、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512を制御する。
図12は、図5に示された表示合成部516の詳細な構成を示す機能ブロック図である。表示合成部516は、ビデオデコーダ508から与えられるビデオ映像あるいは静止画像とOSD制御部515から出力されたグラフィックスとをシステム設定部517からの指示(グラフィックスの透明度)に従ってアルファ合成する処理部であり、補正係数保持部1201、グラフィックスバッファ1202、ビデオバッファ1203、バックグランドバッファ1204、スクリーンバッファ1205、補正部1211及び合成部1212を備える。なお、本図には、図5に示されたシステム設定部517、OSD制御部515、ビデオデコーダ508及びディスプレイ509も併せて示されている。
補正係数保持部1201は、システム設定部517から通知される透明度を補正係数として保存するメモリ等である。ここで、補正係数とは、アルファ値に対して乗じる係数であり、例えば、0.0〜1.0の範囲内の数値である。グラフィックスバッファ1202は、OSD制御部515によって描画されたイメージや図形、文字などを保持するメモリ等である。グラフィックスバッファは、グラフィックスデータ、つまり、各画素に対して色の3原色であるR(赤)、G(緑)、B(青)の各々の値に加えて、透明度を表すアルファ値を保持する。ビデオバッファ1203、バックグランドバッファ1204は、それぞれ、映像を示すビデオデータ及び背景画像を示すバックグランドデータ、つまり、ビデオデコーダから出力された画像データを保持するメモリ等である。
なお、本実施の形態では、グラフィックス、ビデオ、バックグランドのバッファはそれぞれ1つであり、かつ論理的に、ディスプレイ509にはグラフィックスが最前面に表示され、ビデオが真中、バックグランドが最背面に表示されると想定する。しかしながら、本実施の形態では、各バッファが任意の個数で、かつ、どのような論理的な順序で表示されても適用できる。また、グラフィックス、ビデオ、バックグランドのほか、サブタイトルなど他の概念に用いられるバッファが存在しても適用できる。
補正部1211は、補正係数保持部1201に保持されている補正係数とグラフィックスバッファ1202が保持するアルファ値を掛け合わせる。補正係数が保持されていない場合は、補正係数が1.0であるものとして、演算される。なお、補正係数は、8ビットの整数値等、どのような値で保持していてもかまわない。また、各画素に対して、1つの補正係数を用意する等、複数の補正係数を用意してもよい。
合成部1212は、グラフィックスバッファ1202が保持するアルファ値と補正係数を掛け合わしたもの、及び、ビデオバッファ1203とバックグランドバッファ1204のアルファ合成を行う演算器等である。なお、本実施の形態では、補正係数とグラフィックスバッファ1202の各画素が保持するアルファ値を掛け合わせているが、グラフィックスバッファ1202の各画素を用いず、すべて、補正係数の値で置き換える等(補正係数を補正後のアルファ値とする等)、いかなる方法で補正後のアルファ値を求めてもよい。なお、アルファ合成とは、前景色と背景色をある割合で合成する処理であり、本実施の形態では、具体的な演算方法として、Porter−Duffルールを用いて演算を行う。Porter−Duffルールとは、合成元の色と合成先の色の混合比を定める12種類の合成規則である。例えばSRC_OVERルールは、合成元の色、透明度をCs、As、合成先の色、透明度をCd、Adとすると、合成された色は、((1−As)×Ad×Cd+As×Cs)で表される。Porter−Duffルールの詳細に関しては、T.Porter and T.Duff、“Compositing Digital Images”SIGGRAPH 84、253−259を参照されたい。なお、本実施の形態は、他の透明度の演算ルールを用いても適用できる。
スクリーンバッファ1205は、合成部1212でのアルファ合成で得られた画像データを格納するとともに、その画像データをデジタル−アナログ変換して映像信号としてディスプレイ509に出力するビデオメモリ及びD/A変換器等である。
ディスプレイ509は、具体的にはブラウン管や液晶表示装置等であり、スクリーンバッファ1205からの映像信号を画面に表示する。
図13は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。プログラム1300は、複数のサブプログラムで構成され、具体的にはOS1301、EPG1302、Java(登録商標)VM1303、サービスマネージャ1304、Java(登録商標)ライブラリ1305、入力マネージャ1306及びシステムマネージャ1307で構成される。
OS1301は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1301は、オペレーティングシステムの略であり、Linux等が一例である。OS1301は、他のサブプログラムを平行して実行するカーネル1301a及びライブラリ1301bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1301のカーネル1301aは、EPG1302とJava(登録商標)VM1303、入力マネージャ1306、システムマネージャ1307をサブプログラムとして実行する。また、ライブラリ1301bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1301bを通してQAM復調器を制御することができる。
EPG1302は、ユーザに番組一覧を表示及び、ユーザからの入力を入力マネージャ1306を通して受け付ける番組表示部1302aと、チャンネル選局を行う再生部1302bで構成される。ここで、EPGはElectric Program Guideの略である。
入力マネージャ1306はユーザからの入力を受け付け、EPG1302、システムマネージャ1307などユーザからの入力を要求するサブプログラムに配送する。
システムマネージャ1307は、設定部1307aと表示部1307bからなり、画面の各種設定、及び音量の設定などをCPU514を通して、システム設定部517に指定することにより、実現する。詳細は後述する。
EPG1302は、端末装置500の電源が投入されると、カーネル1301aによって起動される。起動されたEPG1302の内部では、番組表示部1302aが端末装置500の入力部513を通して、ユーザからの入力を待つ。ここで、入力部513が図11で示されるフロントパネルで構成されている場合、ユーザが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1302の番組表示部1302aは、この識別子を受け取り、番組情報をディスプレイ509に表示する。図14(1)及び(2)は、ディスプレイ509に表示された番組表の一例である。図14(1)に示されるように、ディスプレイ509には、格子状に番組情報が表示されている。列1401には、時刻情報が表示されている。列1402には、チャンネル名「チャンネル1」と、列1401の時刻に対応する時間帯に放映される番組が表示されている。「チャンネル1」では、9:00〜10:30に番組「野球(Y対R)」が放映され、10:30〜12:00は「映画AAA」が放映されることを表す。列1403も列1402同様、チャンネル名「チャンネル2」と、列1401の時刻に対応する時間帯に放映される番組が表示されている。9:00〜11:00に番組「映画BBB」が放映され、11:00〜12:00は「ニュース11」が放映される。1330は、カーソルである。カーソル1330は、フロントパネル1100の左カーソル1103と右カーソル1104を押下すると移動する。図14(1)に示された表示状態で、右カーソル1104を押下すると、カーソル1330は右に移動し、図14(2)に示される表示例のようになる。また、図14(2)に示された表示状態で、左カーソル1103を押下すると、カーソル1330は左に移動し、図14(1)に示される表示例のようになる。
図14(1)に示された表示状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1302aは、「チャンネル1」の識別子を再生部1302bに通知する。図14(2)に示された表示状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1302aは、「チャンネル2」の識別子を再生部1302bに通知する。
また、番組表示部1302aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間がかかる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
再生部1302bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図15は、2次記憶部510に格納されているチャンネル情報の一例である。チャンネル情報は表形式で格納されている。列1501は、チャンネルの識別子である。列1502は、チャンネル名である。列1503はチューニング情報である。ここで、チューニング情報は周波数や転送レート、符号化率などを含み、QAM復調部501に与える値である。列1504はプログラムナンバーである。プログラムナンバーとは、MPEG2規格で規定されているPMT(Program Map Table)を識別するための番号である。PMTに関しては、後述する。行1511〜1514の各行は、各チャンネルの識別子、チャンネル名、チューニング情報の組となる。行1511は識別子が「1」、チャンネル名が「チャンネル1」、チューニング情報に周波数「150MHz」、プログラムナンバーが「101」を含む組となっている。再生部1302bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
また、再生部1302bは、再生中に、ユーザがフロントパネル1100の上カーソル1101と下カーソル1102を押下すると、入力部513からCPU514を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部1302bは、1次記憶部511に現在再生中のチャンネルの識別子を記憶する。図16(1)(2)及び(3)は、1次記憶部511に保存しているチャンネルの識別子の例を示す。図16(1)では、識別子「3」が記憶されており、図15を参照し、チャンネル名「TV 3」のチャンネルが再生中であることが示されている。図16(1)に示された表示状態で、ユーザが上カーソル1101を押下すると再生部1302bは、図15に示されたチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「2」に書き換える。図16(2)は、チャンネル識別子が書き換えられた状態を表す。また、図16(1)に示された表示状態で、ユーザが下カーソル1102を押下すると再生部1302bは、図15に示されたチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「4」に書き換える。図16(3)は、チャンネル識別子が書き換えられた状態を表す。
Java(登録商標)VM1303は、Java(登録商標)(TM)言語で記述されたプログラムを逐次解析し実行するJava(登録商標)バーチャルマシンである。Java(登録商標)言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Java(登録商標)バーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJava(登録商標)バーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。Java(登録商標)VM1303は、カーネル1301aに実行するJava(登録商標)プログラムを指定され起動される。本実施の形態では、カーネル1301aは、実行するJava(登録商標)プログラムとしてサービスマネージャ1304を指定する。Java(登録商標)言語の詳細は、書籍「Java(登録商標) Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Java(登録商標)VM自体の詳細な動作などは、「Java(登録商標) Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1304は、Java(登録商標)言語で書かれたJava(登録商標)プログラムであり、Java(登録商標)VM1303によって逐次実行される。サービスマネージャ1304は、JNI(Java(登録商標) Native Interface)を通して、Java(登録商標)言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java(登録商標) Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1304は、JNIを通して、再生部1302bよりチャンネルの識別子を受け取る。サービスマネージャ1304は、最初にJava(登録商標)ライブラリ1305の中にあるTuner1305cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1305cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1304がチャンネルの識別子「2」をTuner1305cに引き渡すと、Tuner1305cは、図15の行1512を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1305cは、OS1301のライブラリ1301bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
次にサービスマネージャ1304は、Java(登録商標)ライブラリ1305の中にあるCA(Conditional Access)1305dにデスクランブルを依頼する。CA1305dは、OS1301のライブラリ1301bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
次にサービスマネージャ1304は、Java(登録商標)ライブラリ1305の中にあるJMF(Java(登録商標) Media Framework)1305aにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にJMF1305aは、再生すべき映像と音声を特定するためのパケットIDをPAT(Program Association Table)、PMTから取得する。PATやPMTはMPEG2規格で規定されている、MPEG2トランスポートストリーム内の番組構成を表現するテーブルであり、MPEG2トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。PATは、パケットID「0」のパケットに格納され送信されている。JMF1305aは、PATを取得するため、OS1301のライブラリ1301bを通して、TSデコーダ505にパケットID「0」とCPU514を指定する。TSデコーダ505がパケットID「0」でフィルタリングを行い、CPU514に引き渡すことでJMF1305aは、PATのパケットを収集する。図17は、収集したPATの情報の一例を模式的に表した表である。列1701は、プログラムナンバーである。列1702は、パケットIDである。列1702のパケットIDはPMTを取得するために用いられる。行1711〜1713は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1711はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1305aに与えられたチャンネルの識別子が「2」とすると、JMF1305aは、図15の行1512を参照して、対応するプログラムナンバー「102」を獲得し、次に、図17のPATの行1712を参照し、プログラムナンバー「102」に対応するパケットID「502」を獲得する。
PMTは、PATで規定されたパケットIDのパケットに格納され送信されている。JMF1305aは、PMTを取得するため、OS1301のライブラリ1301bを通して、TSデコーダ505にパケットIDとCPU514を指定する。ここで、指定するパケットIDは「502」とする。TSデコーダ505がパケットID「502」でフィルタリングを行い、CPU514に引き渡すことでJMF1305aは、PMTのパケットを収集する。図18は、収集したPMTの情報の一例を模式的に表した表である。列1801は、ストリーム種別であり。列1802は、パケットIDである。列1802で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1803は補足情報である。行1811〜1814はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行1811は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1305aは、PMTから再生する映像と音声のパケットIDを獲得する。図18を参照して、JMF1305aは、行1811から音声のパケットID「5011」を、行1812から映像のパケットID「5012」を獲得する。
次に、JMF1305aは、OS1301のライブラリ1301bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダ506、映像のパケットIDと出力先としてビデオデコーダ508の組を、TSデコーダ505に与える。TSデコーダ505は与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパケットID「5011」のパケットをオーディオデコーダ506に、パケットID「5012」のパケットをビデオデコーダ508に引き渡す。オーディオデコーダ506は、与えられたパケットのデジタル−アナログ変換を行いスピーカ507を通して音声を再生する。ビデオデコーダ508は、与えられたパケットに埋め込まれたビデオデータを連結し、表示合成部515に出力する。
最後にサービスマネージャ1304は、Java(登録商標)ライブラリ1305の中にあるAM1305bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJava(登録商標)プログラムを抽出し、Java(登録商標)VM1303に実行させることである。MPEG2トランスポートストリームにJava(登録商標)プログラムを埋め込む方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJava(登録商標)プログラムの情報はAIT(Application Information Table)と呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている。
AM1305bは、まず、AITを獲得するため、JMF1305a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図17のPAT、図18のPMTが送信されていると、JMF1305aと同様の手順で、図18のPMTを獲得する。AM1305bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからパケットIDを抽出する。図18に示されるように、行1813のエレメンタリ−ストリームが該当し、パケットID「5013」を獲得する。
AM1305bは、OS1301のライブラリ1301bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1305bは、AITのパケットを収集することができる。図19は、収集したAITの情報の一例を模式的に表した表である。列1901はJava(登録商標)プログラムの識別子である。列1902はJava(登録商標)プログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置500がこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意味する。列1903は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列1904はJava(登録商標)プログラムのプログラム名である。行1911と1912は、Java(登録商標)プログラムの情報の組である。行1911で定義されるJava(登録商標)プログラムは、識別子「301」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」の組である。行1912で定義されるJava(登録商標)プログラムは、識別子「302」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」の組である。ここで2つのJava(登録商標)プログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に2つのJava(登録商標)プログラムが含まれていることを表す。ここでは、Java(登録商標)プログラムに対して4つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM1305bは、AITの中から「autostart」のJava(登録商標)プログラムを見つけ出し、対応するDSMCC識別子及びJava(登録商標)プログラム名を抽出する。図19を参照して、AM1305bは行1911のJava(登録商標)プログラムを抽出し、DSMCC識別子「1」及びJava(登録商標)プログラム名「a/TopXlet」を獲得する。
次にAM1305bは、AITから取得したDSMCC識別子を用いて、Java(登録商標)プログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図18に示された内容とすると、行1814のエレメンタリ−ストリームが合致し、パケットID「5014」を取り出す。
AM1305bは、OS1301のライブラリ1301bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1305bは、必要なパケットを収集することができる。AM1305bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
図20は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表している。ここでは、ディレクトリとして、ルートディレクトリ2001、ディレクトリ「a」2002、ディレクトリ「b」2003が示され、ファイルとして、ファイル「TopXlet.class」2004、ファイル「GameXlet.class」2005が示されている。
次にAM1305bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJava(登録商標)プログラムをJava(登録商標)VM1303に引き渡す。今、実行するJava(登録商標)プログラム名が「a/TopXlet」とすると、Java(登録商標)プログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図20を参照して、ファイル2004が実行すべきJava(登録商標)プログラムである。次にAM1305bは、ファイル2004をJava(登録商標)VM1303に引き渡す。
AM1305bによって実行されたJava(登録商標)プログラムはまた、Graphics1305fを用いてイメージ、文字等描画指示を行うことにより、画面に表示することができる。
Graphics1305fは、Java(登録商標)プログラムより受けた描画命令をCPU514を通してOSD制御部515に描画指示を行うことにより、イメージ、文字等の描画を実現する。また、Java(登録商標)プログラムは、Graphics1305fを通して、各描画処理または各画素のそれぞれに対してアルファ値を設定することができる。グラフィックスバッファ1202には各描画処理をアルファ合成した結果が出力される。 また、Java(登録商標)プログラムがユーザからの入力によってアルファ値を設定できる場合は、各画素、あるいは各描画処理に対してアルファ値を設定できるようにすることも当然ながら可能である。
Java(登録商標)VM1303は、引き渡されたJava(登録商標)プログラムを実行する。
サービスマネージャ1304は、他のチャンネルの識別子を受け取ると、Java(登録商標)ライブラリ1305に含まれる各ライブラリを通して再生している映像・音声及びJava(登録商標)プログラムの実行を、同じくJava(登録商標)ライブラリ1305に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJava(登録商標)プログラムの実行を行う。
Java(登録商標)ライブラリ1305は、ROM512に格納されている複数のJava(登録商標)ライブラリの集合である。本実施の形態では、ここでは、Java(登録商標)ライブラリ1305は、JMF1305a、AM1305b、Tuner1305c、CA1305d、POD Lib1305e、Graphics1305f等を含んでいる。
次に、本発明に係るグラフィックスの透明度の制御について、メール機能を持つJava(登録商標)プログラムを用いて説明する。
サービスマネージャ1304は、Java(登録商標)ライブラリ1305に含まれるPOD Lib1305eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1305eはOS1301のライブラリ1301b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
サービスマネージャ1304は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJava(登録商標)プログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。
図21は、ヘッドエンド101から取得したXAITの情報の一例を模式的に表した表である。列2101はJava(登録商標)プログラムの識別子である。列2102はJava(登録商標)プログラムの制御情報である。制御情報には「autoselect」「present」などがあり、「autoselect」は端末装置500が電源投入時にこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味する。列2103は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列2104はJava(登録商標)プログラムのプログラム名である。列2105は、Java(登録商標)プログラムの優先度である。行2111と2112は、Java(登録商標)プログラムの情報の組である。行2111で定義されるJava(登録商標)プログラムは、識別子「701」、制御情報「autoselect」、DSMCC識別子「1」、プログラム名「a/MailXlet1」の組である。
サービスマネージャ1304は、XAIT情報を受け取ると、AIT情報からJava(登録商標)プログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムを1次記憶部511に保存する。その後、保存したファイルシステムを2次記憶部510に複写する。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。次に、サービスマネージャ1304は、XAIT情報にダウンロードしたファイルシステムの格納位置を対応づけて2次記憶部510に保存する。
図22は、2次記憶部510にXAIT情報とダウンロードしたファイルシステム2210とが対応づけられて保存されている一例を表す。本図において、図21と同じ番号の要素は図21と同一の符号を付し、その説明を省略する。XAIT情報の列2201は、対応するダウンロードしたファイルシステム2210の保存位置を格納する。図中、保存位置は矢印で示している。ダウンロードされたファイルシステム2210には、トップディレクトリ2211、ディレクトリ「a」2212、ディレクトリ「b」2213、ファイル「MailXlet1.class」2214、ファイル「MailXlet2.class」2215が含まれる。なお、XAIT情報は、Java(登録商標)プログラムを保存してから保存されているが、Java(登録商標)プログラムを保存する前に保存されてもよい。
端末装置500に電源が投入後、OS1301は、サービスマネージャ1304をJava(登録商標)VM1303に指定し、Java(登録商標)VM1303がサービスマネージャ1304を起動する。その後、サービスマネージャ1304は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Java(登録商標)プログラムの制御情報を参照し「autoselect」のプログラムをJava(登録商標)VM1303に引き渡し、起動する。図22に示されるように、行2111で定義されるJava(登録商標)プログラム「MailXlet1」が起動される。ここで、AITに記載されているJava(登録商標)プログラムはチューニングに依存するので、ユーザによって他のチャンネルが選択されると、起動しているJava(登録商標)プログラムが停止することがあるが、XAITの情報に記載されているJava(登録商標)プログラムは、AITに記載されているJava(登録商標)プログラムと異なりチューニングに依存しないので、一度起動されると、意図的にJava(登録商標)プログラムを停止しない限り停止しない。
また、「autoselect」によって自動実行されないJava(登録商標)プログラムは、EPG1202の番組表示部1302aから選択することにより、実行することも可能である。番組表示部1302aは、通常の番組を表示するとともに、実行可能なJava(登録商標)プログラムのリストを示すことも可能である。実行可能なJava(登録商標)プログラムのリストを提示する番組表示部1302aの表示例を図23に示す。図23において、列2301はJava(登録商標)プログラムのリストを、列2302は各Java(登録商標)プログラムの現在の状態を表す。2303の行は、Java(登録商標)プログラム「MailXlet1」と対応する状態、2304の行は、Java(登録商標)プログラム「MailXlet2」と対応する状態を示す。2311はカーソルを表し、ユーザによってOKボタン1105が押下されると、カーソル2311が示すアプリケーションが「待機中」であれば、実行される。また、Java(登録商標)プログラムが「実行中」である場合は、そのJava(登録商標)プログラムが非表示状態であっても表示状態になる。表示状態のときは何も起こらない。ボタン2305は通常のEPG画面、例えば、図14(1)で表される画面に戻るためのボタンである。
ここで、プログラム「MailXlet1」は、メールの送受信を行うJava(登録商標)プログラムとする。Java(登録商標)プログラム「MailXlet1」は、Java(登録商標)ライブラリ1305に含まれるPOD Lib1305eを通してヘッドエンド101と双方向通信を行うことによって実現される。
Java(登録商標)プログラム「MailXlet1」は、起動されると、図24に示されるように、封筒の画像(アイコン)2401を画面に表示し、ユーザからの選択待ち状態になる。図24には、Java(登録商標)プログラム「MailXlet1」のアイコン2401とカーソル2402とが表示されている画面表示例が示されている。この状態で、ユーザがOKボタン1105を押下すると、Java(登録商標)プログラム「MailXlet1」は、図25に示されるメイン画面を表示する。このメイン画面には、メールの新規作成を行う「新規作成」ボタン2501、メールの送受信を行う「送受信」ボタン2502、メールフォルダ画面への移動を行う「メールフォルダ」ボタン2503、住所録画面への移動を行う「住所録」ボタン2504、この画面を閉じる「閉じる」ボタン2505が示されている。また、カーソル2511が「新規作成」ボタン2501の位置に表示されている。このカーソル2511は、左カーソルボタン1103、右カーソルボタン11104を押下することにより、「送受信」ボタン2502、「メールフォルダ」ボタン2503へと移動する。さらに、このメイン画面には、メールの送受信状況の概要を示す情報2521が表示されている。たとえば、図25に示されるように、「新規作成」ボタン2501にカーソル2511があるときにOKボタン1105を押下することで、図26に示されるメールの新規作成画面図に遷移することができる。
図26に示されるように、新規作成画面図は、カーソル2621、メールの送信を行う「送信」ボタン2601、メールの破棄を行う「破棄」ボタン2602、メールの宛先の入力を行う「宛先」ボタン2603、「宛先」ボタン2603にカーソル2621がある場合にOKボタン1105が押下されたときに宛先の入力を行う宛先入力ボックス2604、メールのタイトルの入力を行う「タイトル」ボタン2605、「タイトル」ボタン2605にカーソル2621が場合にOKボタン1105が押下されたときにタイトルの入力を行うタイトル入力ボックス2606、メールの宛先のCc(カーボンコピー)の入力を行う「Cc」ボタン2607、「Cc」ボタン2607にカーソル2621がある場合にOKボタン1105が押下されたときに宛先のCcの入力を行うCc入力ボックス2608、メールの添付ファイルの追加を行う「添付ファイル」ボタン2609、「添付ファイル」ボタン2605にカーソル2621がある場合にOKボタン1105が押下されたときに追加された添付ファイルの内容を示す添付ファイル提示ボックス2610、メールの本文の入力を行う「本文」ボタン2611、「本文」ボタン2611にカーソル2621がある場合にOKボタン1105が押下されたときに本文の入力を行う本文入力ボックス2612からなる。「送信」ボタン2601、あるいは「破棄」ボタン2603にカーソル2621があるときにユーザによってOKボタン1105が押下されると、それぞれ、現在のメールの送信、破棄を行い、図25に示されるメイン画面に遷移する。
図25に示されるメイン画面において、「閉じる」ボタン2505にカーソル2511があるときに、ユーザによってOKボタン1105が押下されると、図27に示されるように、グラフィックスとして何も表示されない画面に遷移する。この図27に示された表示状態において、Java(登録商標)プログラム「MailXlet1」は、定期的にJava(登録商標)ライブラリ1305に含まれるPOD Lib1305eを通してヘッドエンド101と双方向通信を行い、新規受信メールをチェックする。新規受信メールが見つかった場合、Java(登録商標)プログラム「MailXlet1」は再度、図24に示される画面を表示し、アイコン2401によって、ユーザに新規メール受信を通知する。
いま、Java(登録商標)プログラム「MailXlet1」が図27に示される表示状態にあり、野球のコンテンツである番組「野球(Y対R)」が放送されているとする。図28は、そのような場合における表示画面例を示し、「野球(Y対R)」が示すビデオが再生されている状態を表す。図28には、ビデオのメインの部分2801、ビデオに含まれている付加的な情報(ここでは、現在のバッターのカウント及びアウトカウントと現在の点数)2802が示されている。
次に、あるタイミングで、Java(登録商標)プログラム「MailXlet1」が新規メールを受信すると、通常であれば、図29に示される画面例のように表示される。この図29では、ビデオに含まれる付加的な情報2802はメール受信を示すアイコン2401に覆われてしまい、表示が隠されてしまっている。つまり、図28に示される画面で表示されていた付加的な情報2802が隠れてしまっている。
ユーザによっては、このような付加的な情報2802を隠すことなく、かつ、メールの受信も知りたいという望む場合がある。すなわち、図30に示されるように、ビデオに含まれる全ての映像とメール受信の通知(グラフィックス)の両方を同時に見たいと望む場合がある。図30には、ビデオの付加的な情報2802に重ねて、メールの受信を示すアイコン2401が半透明で(アイコン3001として)表示されるとともに、カーソル2402が半透明で(カーソル3002として)表示されている様子が示されている。本実施の形態によれば、このようなユーザの望み、つまり、グラフィックスとビデオをユーザが望む比率でアルファ合成させて表示させることができる。以下、その実現方法について説明する。
まず、ユーザは、図30に示されるような合成表示の画面に設定するために、図11に示されたメニューボタン1108を押下し、システムマネージャ1307の表示部1307bを立ち上げる。図31は、その場合におけるシーケンスを示すフローチャートである。
ユーザがメニューボタンを押下したとき(S3101)、入力マネージャ1306は入力をシステムマネージャ1307に通知する(S3102)。システムマネージャ1307の表示部1307bは、メニューボタン1108の入力を受け付けると、図32に示されるようなメニュー画面を立ち上げる(S3103)。
図32に示されるように、メニュー画面1307bは、さまざまな設定画面から構成される。ここでは、画面の輝度調節3201、画面のコントラストの調節3202、グラフィックスの透明度の調節3203、画面の表示位置の調節3204、音量の調節3205等のメニュー項目や、カーソル3211が示されている。図32において、各調節機能は、ユーザがカーソルを上カーソルボタン1101、あるいは下カーソルボタン1102を押下することによって該当する調節の位置にあわせ、OKボタン1105押下することにより、選択される。
たとえば、グラフィックスの透明度を調節する場合、ユーザは、カーソル3211を「透明度調節」3203の上にあわせ、OKボタン1105を押下することにより、図33に示される透明度調節画面に遷移することができる。図33には、調節項目3301、調節の割合の目盛(「0%」3303及び「100%」3304)、調節バー3302が示されている。横に並んでいる個々の長方形が塗りつぶしてある部分と塗りつぶしてない部分によって現在の調節の度合い(本図の例では、約40%)を示している。透明度は、左カーソルボタン1103、あるいは右カーソルボタン1104を押下することによって調節することができる。調節が終了したとき、OKボタン1105を押下することによって調節が終了し、調節した透明度が反映される。
なお、ここで設定する透明度は、本実施の形態では、表示合成部516の補正係数保持部1201に保持される補正係数、つまり、グラフィックスのアルファ値に乗じる係数に相当する。したがって、たとえば、透明度が100%の場合は、グラフィックスバッファ1202に保持されたアルファ値をそのまま用いてグラフィックスを出力することを意味し、透明度が50%の場合は、グラフィックスバッファ1202に保持されたアルファ値を半分にして(より透明度を強くして)グラフィックスを出力することを意味する。
また、グラフィックスバッファ1202へのアルファ値の格納や補正係数の取得、補正係数保持部1201への補正係数の格納等の処理は、この端末装置500に予め備えられた回路やプログラム等によって実現されてもよいし、放送信号からダウンロードされたアプリケーションプログラム(Java(登録商標)プログラム等)によって実現されてもよい。
図34は、図33に示される透明度調節画面によって設定された透明度を反映する際のシーケンスを示すフローチャートである。まず、図33に示される透明度調節画面において、ユーザは、透明度を指定する(S3401)。すると、図13におけるシステムマネージャ1307の表示部1307bは、ユーザから透明度が指定されたことと、指定された透明度を設定部1307aに通知する(S3402)。設定部1307aは、図5に示されたCPU514を通して、システム設定部517に、グラフィックスの透明度が指定されたことと、指定された透明度を通知する(S3403)。システム設定部517は、指定された透明度を、補正係数として、表示合成部516の補正係数保持部1201に格納する(S3404)。表示合成部516は、補正係数保持部1201に格納された補正係数を用いてグラフィックスに対するアルファ値を補正し、補正後のアルファ値を用いて、グラフィックス、ビデオ及びバックグランドのアルファ合成を行い、ディスプレイに出力する(S3405)。
以上のような方法により、ユーザはグラフィックスの透明度を自由に設定でき、グラフィックスとビデオの表す情報を同時に読み取ることが可能となる。たとえば、グラフィックスバッファ1202に保持されたアルファ値が1.0(完全に不透明、つまり、グラフィックスでビデオを覆い隠す設定)であるために通常であれば図29に示される画面表示となるところを、図33に示される透明度調節画面で透明度を50%に設定しておくことで、図30に示される画面表示を得ることができる。これによって、ユーザは、ビデオとグラフィックスとを同時に見ることができ、不快感をもつことが回避される。
以上、本発明に係るデジタルテレビについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。たとえば、本実施の形態では、透明度を調節するために、図32に示されるようなメニュー画面が用いられたが、図35に示されるように、端末装置500のフロントパネルやリモコンに透明度を調節するボタンを設けることによって、透明度の調節を実現してもよい。
また、本実施の形態では、透明度を段階的に調節する機能について説明したが、これに加えて、グラフィックスをON/OFFさせる設定を設けてもよい。または、段階的な調節機能を保持せず、単に、グラフィックスのON/OFFの機能のみを備えてもよい。
また、グラフィックス全体に対して1つの透明度を設定するのではなく、画面の各画素、あるいは範囲ごとに、異なる透明度を設定できるようにしてもよい。
また、本実施の形態の具体例は、グラフィックスとビデオの合成例であったが、グラフィックスとバックグランド、あるいは、グラフィックスとビデオとバックグランド全ての合成において、同様の方法によって、ユーザが自由にグラフィックスの透明度を調節することができる。
また、本実施の形態では、図33に示されるように、透明度調節画面では、調節バー3302だけが表示されたが、図36に示されるように、調節バー3302に加えて、その時点での透明度を確認するための確認画面を同時に表示してもよい。これは、例えば、図30に示される画面を縮小した画像や、調節用の固定的なビデオとグラフィックスとをアルファ合成した画像等を透明度調節画面内に表示することによって実現できる。
また、本実施の形態では、本発明に係る画像合成方法は、デジタルテレビに適用された例が示されたが、デジタルテレビだけでなく、グラフィックスとビデオ等を合成して表示する機器、例えば、図37に示されるように、テレビ放送やビデオ配信を受信可能な情報端末・携帯情報端末・携帯電話機等にも適用することができる。
本発明は、グラフィックスとビデオ等を合成して表示するデジタルテレビ等として、例えば、据え置き型のデジタルTV、テレビ放送やビデオ配信を受信可能な情報端末・携帯情報端末・携帯電話機等として、特に、複数のコンテンツをユーザの好みに応じて合成表示する表示装置として利用することができる。
図1は、本発明に係るケーブルテレビシステムの構成図 図2は、ケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図 図3は、OOB周波数帯域の詳細な使用の一例を示す図 図4は、In−Bandの周波数帯に対する使用の一例を示す図 図5は、端末装置の構成図 図6は、端末装置の外観図 図7は、PODのハードウエア構成図 図8は、PODが保存するプログラムの構成図 図9は、MPEG規格で定義されているパケットの構成図 図10は、MPEG2トランスポートストリームの一例を示す図 図11は、入力部をフロントパネルで構成した場合の外観の一例を示す図 図12は、表示合成部の構成図 図13は、端末装置が保存するプログラムの構成図 図14は、EPGの表示例を示す図 図15は、2次記憶部が保存する情報の一例を示す図 図16は、1次記憶部511が保存する情報の一例を示す図 図17は、MPEG2規格が規定するPATの例を表す模式図 図18は、MPEG2規格が規定するPMTの具体例を示す模式図 図19は、DVB−MHP規格が規定するAITの内容例を表す模式図 図20は、DSMCC方式で送信されるファイルシステムの例を表す模式図 図21は、XAITの内容例を表す模式図である。 図22は、2次記憶部が保存する情報の一例を示す図 図23は、EPGに係るJava(登録商標)プログラムのリスト例を示す図 図24は、Mail Java(登録商標)プログラムの表示例を示す図 図25は、Mail Java(登録商標)プログラムの表示例を示す図 図26は、Mail Java(登録商標)プログラムの表示例を示す図 図27は、Mail Java(登録商標)プログラムの表示例を示す図 図28は、ビデオの表示例を示す図 図29は、ビデオとMail Java(登録商標)プログラムによるグラフィックスの合成表示例を示す図 図30は、ビデオとMail Java(登録商標)プログラムによるグラフィックスの合成表示例を示す図 図31は、メニュー画面の起動シーケンスを示すフローチャート 図32は、メニュー画面の表示例を示す図 図33は、透明度調節画面の表示例を示す図 図34は、透明度の設定と画面への反映のシーケンスを示すフローチャート 図35は、端末装置のフロントパネルやリモコンに透明度を調節するボタンが設けられた例を示す図 図36は、透明度調節画面の他の例を示す図 図37は、本発明に係る方法の他の適用例を示す図 図38は、DVB−MHP規格における各プレーン構成を示す図
符号の説明
101 ヘッドエンド
111 端末装置A
112 端末装置B
113 端末装置C
500 端末装置
501 QAM復調部
502 QPSK復調部
503 QPSK変調部
504 POD
505 TSデコーダ
506 オーディオデコーダ
507 スピーカ
508 ビデオデコーダ
509 ディスプレイ
510 次記憶部
511 次記憶部
512 ROM
513 入力部
514 CPU
515 OSD制御部
516 表示合成部
517 システム設定部
601 筐体
602 ディスプレイ
603 フロントパネル部
604 信号入力端子
605 PODカード
606 挿入スロット
701 デスクランブラ部
702 デスクランブラ部
703 スクランブラ部
704 第1記憶部
705 第2記憶部
706 CPU
800 プログラム
801 メインプログラム
802 初期化サブプログラム
803 ネットワークサブプログラム
804 再生サブプログラム
805 PPVサブプログラム
1201 補正係数保持部
1202 グラフィックスバッファ
1203 ビデオバッファ
1204 バックグランドバッファ
1205 スクリーンバッファ
1211 補正部
1212 合成部
1300 プログラム
1301 OS
1301a カーネル
1301b ライブラリ
1302 EPG
1302a 番組表示部
1302b 再生部
1303 Java(登録商標)VM
1304 サービスマネージャ
1305 Java(登録商標)ライブラリ
1306 入力マネージャ
1307 システムマネージャ
1307a 設定部
1307b 表示部
3501 グラフィックスプレーン
3502 ビデオプレーン
3503 バックグランドプレーン
3504 スクリーン
3511 合成部

Claims (9)

  1. グラフィックスとビデオを合成する画像合成装置であって、
    グラフィックスデータを保持するグラフィックスデータ保持手段と、
    ビデオデータを保持するビデオデータ保持手段と、
    グラフィックスとビデオを合成する割合を特定する透明度の指定をユーザから取得する透明度取得手段と、
    取得された透明度に従って、前記グラフィックスデータ保持手段に保持されたグラフィックスデータと前記ビデオデータ保持手段に保持されたビデオデータとを合成し、出力する合成手段と
    を備えることを特徴とする画像合成装置。
  2. 前記グラフィックスデータ保持手段はさらに、保持するグラフィックスデータが示すグラフィックスに対する合成の比率を示すアルファ値を保持し、
    前記透明度は、前記アルファ値に乗じる補正係数であり、
    前記合成手段は、前記アルファ値に前記補正係数を乗じて得られる補正後のアルファ値を前記グラフィックスに対する合成の比率として、前記グラフィックスデータと前記ビデオデータとを合成する
    ことを特徴とする請求項1記載の画像合成装置。
  3. 前記画像合成装置はさらに、外部からプログラムをダウンロードするダウンロード手段を備え、
    前記アルファ値は、前記ダウンロード手段によってダウンロードされた第1プログラムによって、前記グラフィックス保持手段に格納される
    ことを特徴とする請求項2記載の画像合成装置。
  4. 前記透明度取得手段による透明度の取得は、前記ダウンロード手段によってダウンロードされた第2プログラムが実行されることによって、行われる
    ことを特徴とする請求項3記載の画像合成装置。
  5. 前記合成手段は、Porter−Duffルールに従って前記合成を行う
    ことを特徴とする請求項1記載の画像合成装置。
  6. 前記画像合成装置はさらに、背景画像を示すバックグランドデータを保持するバックグランドデータ保持手段を備え、
    前記合成手段は、前記グラフィックスデータと前記ビデオデータに加えて、前記バックグランドデータ保持手段に保持されたバックグランドデータを合成する
    ことを特徴とする請求項1記載の画像合成装置。
  7. 前記画像合成装置は、前記グラフィックスデータ保持手段、前記ビデオデータ保持手段及び前記バックグランドデータ保持手段の少なくとも1つについて、複数個備える
    ことを特徴とする請求項6記載の画像合成装置。
  8. グラフィックスとビデオを合成する画像合成方法であって、
    グラフィックスデータを取得するグラフィックスデータ取得ステップと、
    ビデオデータを取得するビデオデータ取得ステップと、
    グラフィックスとビデオを合成する割合を特定する透明度の指定をユーザから取得する透明度取得ステップと、
    取得された透明度に従って、前記グラフィックスデータ取得ステップで取得されたグラフィックスデータと前記ビデオデータ取得ステップで取得されたビデオデータとを合成し、出力する合成ステップと
    を含むことを特徴とする画像合成方法。
  9. グラフィックスとビデオを合成する画像合成装置のためのプログラムであって、
    請求項8記載の画像合成方法に含まれるステップをコンピュータに実行させる
    ことを特徴とするプログラム。
JP2006553840A 2005-01-18 2005-12-26 デジタルテレビおよび画像合成方法 Withdrawn JPWO2006077720A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005010482 2005-01-18
JP2005010482 2005-01-18
PCT/JP2005/023806 WO2006077720A1 (ja) 2005-01-18 2005-12-26 画像合成装置

Publications (1)

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

Family

ID=36692111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006553840A Withdrawn JPWO2006077720A1 (ja) 2005-01-18 2005-12-26 デジタルテレビおよび画像合成方法

Country Status (4)

Country Link
US (1) US20090046996A1 (ja)
JP (1) JPWO2006077720A1 (ja)
CN (1) CN101120589A (ja)
WO (1) WO2006077720A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101342363B1 (ko) * 2006-12-20 2013-12-16 엘지전자 주식회사 방송 수신 장치 및 이를 제어하는 방법
US8599315B2 (en) * 2007-07-25 2013-12-03 Silicon Image, Inc. On screen displays associated with remote video source devices
KR20090011518A (ko) * 2007-07-26 2009-02-02 엘지전자 주식회사 영상표시기기 및 영상표시방법
BRPI0804100A2 (pt) * 2008-09-30 2010-07-06 Tqtvd Software Ltda gerenciador de arquivos digitais e método para gerenciamento de dados digitais em um aparato de recepção de tv digital
EP2216959B1 (en) * 2009-02-04 2019-04-03 Alcatel Lucent Virtual customer premises equipment
CN101800042A (zh) * 2009-02-06 2010-08-11 中兴通讯股份有限公司 使多媒体应用与其他应用在并发时同时显示的方法及装置
JP4564569B2 (ja) * 2009-02-27 2010-10-20 株式会社東芝 表示システム及び表示方法
KR101576969B1 (ko) 2009-09-08 2015-12-11 삼성전자 주식회사 영상처리장치 및 영상처리방법
US8264612B2 (en) * 2009-09-10 2012-09-11 Ali Corporation Method of raster-scan search for multi-region on-screen display and system using the same
EP2320650B1 (en) * 2009-10-20 2014-06-04 Lg Electronics Inc. Method of processing application in digital broadcast receiver connected with interactive network and the digital broadcast receiver
CN102202208A (zh) * 2010-03-23 2011-09-28 华为终端有限公司 一种信息交互方法及界面控制系统
JP6148825B2 (ja) * 2011-05-20 2017-06-14 日本放送協会 受信機
US20120317082A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Query-based information hold
CN104078027A (zh) * 2013-03-28 2014-10-01 比亚迪股份有限公司 显示装置及显示方法
CN107292807B (zh) * 2016-03-31 2020-12-04 阿里巴巴集团控股有限公司 一种图形合成方法、窗口设置方法及系统
CN108282612B (zh) * 2018-01-12 2021-11-19 广州市百果园信息技术有限公司 视频处理方法及计算机存储介质、终端
CN112997245A (zh) * 2018-11-14 2021-06-18 韦斯特尔电子工业和贸易有限责任公司 用于生成图像的方法、计算机程序和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3248981B2 (ja) * 1992-06-02 2002-01-21 松下電器産業株式会社 計算機
JP2677737B2 (ja) * 1992-06-24 1997-11-17 株式会社東芝 半導体装置
US5497455A (en) * 1992-06-26 1996-03-05 Kabushiki Kaisha Toshiba Portable computer which has a task selection menu allowing easy selection and execution of arbitrary application software without entering a command
US5625764A (en) * 1993-03-16 1997-04-29 Matsushita Electric Industrial Co., Ltd. Weighted average circuit using digit shifting
JP3209632B2 (ja) * 1993-03-16 2001-09-17 松下電器産業株式会社 荷重平均回路
JP3685277B2 (ja) * 1996-07-24 2005-08-17 ソニー株式会社 画像表示制御装置および方法
JP2000152112A (ja) * 1998-11-11 2000-05-30 Toshiba Corp 番組情報表示装置及び番組情報表示方法
AU2710201A (en) * 2000-01-24 2001-07-31 Matsushita Electric Industrial Co., Ltd. Image composting apparatus, recording medium and program
JP2001285749A (ja) * 2000-01-24 2001-10-12 Matsushita Electric Ind Co Ltd 画像合成装置、記録媒体及びプログラム
JP2001285745A (ja) * 2000-03-30 2001-10-12 Sony Corp 画像合成装置および画像合成方法
WO2002082378A1 (en) * 2001-04-09 2002-10-17 Koninklijke Philips Electronics N.V. Method of blending digital pictures
JP3759017B2 (ja) * 2001-10-12 2006-03-22 船井電機株式会社 テレビ受信機及び映像信号の処理方法
JP2003125308A (ja) * 2001-10-18 2003-04-25 Canon Inc 画像表示制御システム
JP2003283925A (ja) * 2002-03-20 2003-10-03 Sony Corp 画像合成装置及び方法
JP4144258B2 (ja) * 2002-05-29 2008-09-03 ソニー株式会社 画像出力装置及び画像出力方法
JP2004283325A (ja) * 2003-03-20 2004-10-14 Konica Minolta Holdings Inc 医用画像処理装置、医用ネットワークシステム及び医用画像処理装置のためのプログラム

Also Published As

Publication number Publication date
CN101120589A (zh) 2008-02-06
US20090046996A1 (en) 2009-02-19
WO2006077720A1 (ja) 2006-07-27

Similar Documents

Publication Publication Date Title
JPWO2006077720A1 (ja) デジタルテレビおよび画像合成方法
US7876337B2 (en) Display processing method and display processing apparatus
US7133051B2 (en) Full scale video with overlaid graphical user interface and scaled image
US9264757B2 (en) Service executing apparatus
JP6077200B2 (ja) 受信装置、表示制御方法、放送システム、並びにコンピューター・プログラム
AU717977B2 (en) Multi-channel television system with viewer-selectable video and audio
KR100575995B1 (ko) 수신장치
EP1057333B1 (en) Processing of digital picture data in a decoder
JP2002504281A (ja) 番組ガイド・データを処理する方法並びに装置
US20050034123A1 (en) Program executing apparatus
JP4371639B2 (ja) 受信装置
JP4612791B2 (ja) 受信装置及び受信方法
JP4036307B2 (ja) 電子番組案内
JP2005073239A (ja) サービス実行装置
JP2006217662A (ja) ディジタル放送受信装置
US20130191853A1 (en) Program execution method and program execution apparatus
US8984573B2 (en) Receiving apparatus, display control method, broadcasting system, and computer program
JP2005175995A (ja) ビデオサーバ、デジタルテレビ受信機及びビデオ配信システム
JP6307182B2 (ja) 受信装置、表示制御方法、並びに放送システム
KR20000014846A (ko) 엠피 3 수신 가능한 디지털 티브이 송/수신 시스템

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070627

A529 Written submission of copy of amendment under section 34 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A5211

Effective date: 20070627

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081217

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20091021