JP2005039794A - 表示処理方法及び表示処理装置 - Google Patents
表示処理方法及び表示処理装置 Download PDFInfo
- Publication number
- JP2005039794A JP2005039794A JP2004167726A JP2004167726A JP2005039794A JP 2005039794 A JP2005039794 A JP 2005039794A JP 2004167726 A JP2004167726 A JP 2004167726A JP 2004167726 A JP2004167726 A JP 2004167726A JP 2005039794 A JP2005039794 A JP 2005039794A
- Authority
- JP
- Japan
- Prior art keywords
- resolution
- video
- graphics
- unit
- still
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 title claims description 45
- 238000012508 change request Methods 0.000 claims abstract description 88
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000008859 change Effects 0.000 claims description 217
- 230000009467 reduction Effects 0.000 claims description 159
- 230000015572 biosynthetic process Effects 0.000 claims description 44
- 238000003786 synthesis reaction Methods 0.000 claims description 44
- 238000013500 data storage Methods 0.000 claims description 29
- 239000000203 mixture Substances 0.000 claims description 16
- 230000002194 synthesizing effect Effects 0.000 claims description 16
- 239000002131 composite material Substances 0.000 claims description 4
- 239000000872 buffer Substances 0.000 description 208
- 238000007726 management method Methods 0.000 description 181
- 230000006870 function Effects 0.000 description 58
- 238000000034 method Methods 0.000 description 52
- 238000010586 diagram Methods 0.000 description 32
- 238000001514 detection method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 23
- 238000012546 transfer Methods 0.000 description 19
- 238000001914 filtration Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 14
- 230000007175 bidirectional communication Effects 0.000 description 10
- 239000000284 extract Substances 0.000 description 8
- 230000008602 contraction Effects 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 7
- 230000006854 communication Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000012769 display material Substances 0.000 description 4
- 230000006866 deterioration Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/37—Details of the operation on graphic patterns
- G09G5/373—Details of the operation on graphic patterns for modifying the size of the graphic pattern
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23412—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42653—Internal components of the client ; Characteristics thereof for processing graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0414—Vertical resolution change
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0421—Horizontal resolution change
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/44504—Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】 映像解像度が変更された場合、テレビ受信端末で表示素材が同様な品質で同様な大きさで見せることが可能であっても、アプリケーション表示のレイアウトまで考慮されない。
【解決手段】 映像解像度が変更された場合、テレビ受信端末がアプリケーションのタイプによって、アプリケーションが希望するグラフィックス解像度を優先して選択、又はビデオフォーマットの解像度に合わせてグラフィックス解像度を選択することで、映像解像度が切り替わっても、グラフィックスの表示が歪まずに綺麗な表示を行うことができる。
【選択図】 図31
【解決手段】 映像解像度が変更された場合、テレビ受信端末がアプリケーションのタイプによって、アプリケーションが希望するグラフィックス解像度を優先して選択、又はビデオフォーマットの解像度に合わせてグラフィックス解像度を選択することで、映像解像度が切り替わっても、グラフィックスの表示が歪まずに綺麗な表示を行うことができる。
【選択図】 図31
Description
本発明は、ビデオやグラフィックスを表示するときの処理方法等に関し、特に、デジタル放送においてインタラクティブ番組を受信するテレビ受信端末等における映像解像度の切り替え時の制御に係わる。
近年、デジタル放送の技術の応用として、インタラクティブ番組と呼ばれる番組が放送されている。インタラクティブ番組では、番組内にJava(登録商標)やHTML等で記述されたアプリケーションを含めて放送する。そして、このアプリケーションが、グラフィックスやテキストを用いて映像に情報を重畳表示することで、ひとつのコンテンツを形成する。アプリケーションは、番組を搬送するデジタル波に乗せて、あるいはインターネット等の別搬送経路を通して、テレビ受信端末に届けられて実行される。この機能は、アプリケーションのダウンロード、あるいはアップロードと呼ばれている。
また、番組やコンテンツとは無関係に広告等を画面の片隅に表示するようなアプリケーションも考えられる。このようなアプリケーションは、コンテンツ用のアプリケーションを作成したメーカとは異なるメーカが作成し、コンテンツとは独立してダウンロードされてテレビ受信端末上で実行される。
一般的に、このようなインタラクティブ放送においては、アプリケーションは映像解像度に応じたグラフィックス解像度で表示することが好ましい。これは、映像と異なるグラフィックス解像度を使用した場合には、表示装置に出力する際に、双方の解像度を統一するためのスケーリング処理を行うため、ピクセルのディザリング等が発生し、美しい表示を保つことが困難なためである。
ところで、デジタル映像の圧縮技術、例えばMPEG技術では、映像解像度が異なると、転送に必要な帯域幅が大幅に異なる。そのため、デジタル放送においては、転送帯域の節約の観点から、番組内容に応じた適切な映像解像度で放送することが要求される。
ここで、映像解像度とグラフィックス解像度の組み合わせが問題となる。
すなわち、それまで選択されていたチャンネルの映像解像度が、新規に選択されたチャンネルの映像解像度と異なる場合、それぞれの映像解像度に応じたグラフィックス解像度でグラフィックス表示しないと美しい映像が望めない。
すなわち、それまで選択されていたチャンネルの映像解像度が、新規に選択されたチャンネルの映像解像度と異なる場合、それぞれの映像解像度に応じたグラフィックス解像度でグラフィックス表示しないと美しい映像が望めない。
最も好ましい選択は、映像解像度に等しいグラフィックス解像度を使用することである。しかし、テレビ受信端末によっては、価格等の理由により、そのようなグラフィックス解像度を使用できない場合もある。その場合は、できる限り美しく表示できるグラフィックス解像度を選択することになる。
グラフィックス解像度の選択を実現するための従来技術としては、HAVi仕様がある。HAVi(http://www.havi.org/)とはHome Audio Video Interoperabilityの略であり、テレビ受像機上で動作するアプリケーションがグラフィックス解像度や映像解像度を制御することを可能にする仕様を規定している。HAVi仕様では、HGraphicsDeviceというクラスにグラフィックス解像度を制御するAPIが提供されている。アプリケーションが使用したい理想のグラフィックス解像度を指定すると、テレビ受信端末が用意しているグラフィックス解像度の中からそれに最も近いものが提供され、使用することができる。
一方、特許文献1等では、画像フォーマットに応じた解像度のグラフィックス表示素材を予め用意しておき、映像解像度が変更された場合、映像パケットからから画像フォーマットを判断し、その画像フォーマットに応じたグラフィックス表示素材を表示させることで、常に同様な品質で同様な大きさの表示素材を見せることできる。
特開2000―23061号公報
特開2002―247465号公報
特開平10―124021号公報
特許第3315557号公報
しかしながら、HAVi仕様では、テレビ受信端末が単に提供可能なグラフィックス解像度の中から、希望に最も近いものを選択するものであり、現在受信している映像解像度との理想的な組み合わせを考慮しているものではない。
本発明は、テレビ受信端末等が現在受信している映像解像度との理想的な組み合わせを考慮して、適切なグラフィックス解像度を自動的に選択し、アプリケーションに通知、提供することで、映像解像度が切り替わっても、グラフィックスの表示が歪まずに綺麗な表示を行うことができる表示処理方法等を提供することを目的とする。
一方、特許文献1等では、映像解像度が変更された場合、テレビ受信端末で表示素材が同様な品質で同様な大きさで見せることが可能であっても、アプリケーション表示のレイアウトまで考慮されない。
本発明は、映像解像度が変更された場合、テレビ受信端末等がアプリケーションのタイプによって、アプリケーションが希望するグラフィックス解像度を優先して選択、又はビデオフォーマットの解像度に合わせてグラフィックス解像度を選択することで、映像解像度が切り替わっても、グラフィックスの表示が歪まずに綺麗な表示を行うことができる表示処理方法等を提供することを目的とする。
前記従来の課題を解決するために、本発明は、アプリケーションからグラフィックスの解像度変更要求を受け付けるグラフィックス解像度変更要求受付ステップと、前記解像度変更要求を受けて、前記グラフィックスの解像度を変更するグラフィックス解像度変更ステップと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成するために、受信するビデオを拡大または縮小するビデオ拡大/縮小ステップと、前記グラフィックスと前記ビデオを合成出力する合成出力ステップを有する表示処理方法であって、前記受信するビデオの解像度が変更された場合、前記ビデオ拡大/縮小ステップは、前記変更された解像度のビデオと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスを合成するために、前記受信するビデオの解像度の変化に応じて、前記受信するビデオを拡大または縮小するかを決定し、前記決定に応じて前記受信するビデオを拡大または縮小し、前記合成出力ステップは、前記グラフィックスと前記ビデオ拡大/縮小ステップにて拡大または縮小されたビデオを合成出力することを特徴とする。
本発明は、アプリケーションからグラフィックスの解像度変更要求を受け付けるグラフィックス解像度変更要求受付ステップと、前記解像度変更要求を受けて、前記グラフィックスの解像度を変更するグラフィックス解像度変更ステップと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成するために、前記受信するビデオを拡大または縮小するビデオ拡大/縮小ステップと、前記グラフィックスと前記ビデオを合成出力する合成出力ステップを有する表示処理方法であって、前記受信するビデオの解像度が変更された場合、前記ビデオ拡大/縮小ステップは、前記変更された解像度のビデオと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスを合成するために、前記受信するビデオの解像度の変化に応じて、前記受信するビデオを拡大または縮小するかを決定し、前記決定に応じて前記受信するビデオを拡大または縮小し、前記合成出力ステップは、前記グラフィックスと前記ビデオ拡大/縮小ステップにて拡大または縮小されたビデオを合成出力することを特徴とする。これによって、アプリケーションからグラフィックスの解像度の変更要求が出された場合、受信するビデオの解像度が変更された場合において、グラフィックスの解像度を基準にして受信するビデオを拡大または縮小を行うので、アプリケーションから要求されるグラフィックスの解像度を変更することなく、グラフィックスとビデオが合成できるようになり、グラフィックスの品質を維持した美しい表示が可能となる。
ここで、前記グラフィックスの解像度の変更を要求するアプリケーションに対し、前記解像度の変更の許可を与えるグラフィックス解像度変更許可ステップを備え、前記グラフィックス解像度変更要求受付ステップは、前記許可を与えられたアプリケーションからの前記グラフィックスの解像度の変更の要求を受け付けるようにしてもよい。これによって、許可を与えられていないアプリケーションからのグラフィックスの変更要求を受けつけることがないため、適切なアプリケーションがグラフィックスの解像度を変更できるようになる。
また、前記グラフィックス解像度変更許可ステップは、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにしてもよい。これによって、異なるアプリケーションが異なるグラフィックスの解像度の変更要求を出した場合に適切な処理ができなくなることを防止することができる。
また、前記グラフィックス解像度変更許可ステップは、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしてもよい。これによって、最適なアプリケーションにグラフィックスの解像度の変更の許可を与えることが可能となる。
また、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成できるように、前記アプリケーションから与えたフレームデータに基づくスチルを拡大または縮小するステップを備え、前記合成出力ステップは、前記グラフィックスと前記ビデオと前記スチルを合成出力してもよい。これによって、アプリケーションから要求されるグラフィックスの解像度を変更することなく、グラフィックスとビデオとスチルが合成できるようになり、グラフィックスの品質を維持した美しい表示が可能となる。
また、本発明は、グラフィックス解像度が与えられたグラフィックスデータ格納手段にアプリケーションから指示されたグラフィックスデータを格納するグラフィックスデータ格納ステップと、受信したビデオをデコードするビデオデコードステップと、ビデオ解像度が与えられたビデオデータ格納手段に前記ビデオデコードステップにてデコードしたビデオデータを格納するビデオデータ格納ステップと、前記グラフィックスデータ格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータを合成する合成出力ステップを備えた表示処理方法であって、前記アプリケーションから、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更するためのグラフィックス解像度を受け付けるグラフィックス解像度変更受付ステップと、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を、前記グラフィックス解像度変更受付ステップにて受け付けたグラフィックス解像度に変更するグラフィックス解像度変更ステップと、前記グラフィックス解像度変更受付ステップにて前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更した時、または、前記ビデオデコードステップにて受信しているビデオのビデオ解像度が変化した時、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記ビデオデータ格納手段に与えるビデオ解像度を決定するビデオ解像度決定ステップと、前記ビデオ格納手段に与えられているビデオ解像度を、前記ビデオ解像度決定ステップにて決定したビデオ解像度に変更するビデオ解像度変更ステップとを備える。これによって、アプリケーションからグラフィックスデータのグラフィックス解像度の変更要求が出された場合、受信するビデオデータのビデオ解像度が変更された場合において、グラフィックス解像度を基準にして受信するビデオのビデオ解像度を決定するので、アプリケーションから要求されるグラフィックス解像度を変更することなく、グラフィックスデータとビデオデータが合成できるようになり、グラフィックスデータの品質を維持した美しい表示が可能となる。
ここで、スチル解像度が与えられたスチル格納手段にスチルイメージを格納するスチル格納ステップと、前記グラフィックス解像度変更受付ステップにて前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更した時、または、前記ビデオデコードステップにて受信しているビデオのビデオ解像度が変化した時、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記スチル格納手段に与えるスチル解像度を決定するスチル解像度決定ステップと、前記スチル格納手段に与えるスチル解像度を、前記スチル解像度決定手段が決定したスチル解像度に変更するスチル解像度変更ステップとを備え、前記合成手段は、前記グラフィックス格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータと前記スチル格納手段が格納するスチルイメージとを合成してもよい。これによって、アプリケーションから要求されるグラフィックス解像度を変更することなく、グラフィックスデータとビデオデータとスチルイメージが合成できるようになり、美しい表示を行うことができる。
本発明の解像度切替装置によれば、グラフィックスを生成するグラフィックス生成手段と、受信したビデオ映像を出力する映像生成手段と、前記受信したビデオ映像の解像度を検出する映像解像度検出手段と、前記グラフィックスの解像度と前記ビデオ映像の解像度を組とした解像度組を記憶する解像度組記憶手段と、前記解像度検出手段が検出した映像の解像度に基づいて解像度組を解像度組記憶手段から選択する解像度組選択手段と、前記解像度組選択手段が選択した解像度組に基づき、前記グラフィックスと前記受信したビデオ映像を合成して出力する合成手段備えることにより、ビデオ映像とグラフィックスを合成して表示することができる。
また、前記解像度切替装置は更に、前記受信したビデオ映像の解像度の変化を検出する映像解像度変化検出手段を備え、前記解像度組選択手段は、前記映像解像度変化検出手段が前記受信したビデオ映像の解像度の変化を検出した際に、解像度組を選択することにより、解像度の決定処理を随時行うことなくなり、処理量を軽減することができる。
また、前記解像度切替装置は更に、前記解像度組記憶手段は、前記合成手段が合成可能な解像度組のみを記憶することにより、合成ができないという自体を回避尾することができる。
また、前記解像度切替装置は更に、前記解像度組選択手段は、前記解像度検出手段が検出した映像の解像度を含む解像度組を解像度組記憶手段から選択することにより、ビデオ映像をそのまま表示することで、美しく表示することができる。
また、前記解像度切替装置は更に、前記解像度組選択手段は、前記グラフィックスの解像度が変化しない解像度組を選択することにより、グラフィックスが解像度の変化により縮小して見えにくくなったり、縦横比の変化で歪むなどを避けることが出来、美しいグラフィックス表示を継続することができる。
また、前記解像度切替装置は更に、アプリケーションを実行するアプリケーション実行手段と、前記アプリケーションからの描画指示を受け付ける描画実行受付手段を備え、前記グラフィックス生成手段は、前記描画実行受付手段が受け付けた描画指示に従ってグラフィックスを生成することにより、アプリケーションが生成したグラフィックスとビデオ映像を合成して出力することができる。
また、前記解像度切替装置は更に、前記解像度組選択手段が前記解像度を選択した際、前記アプリケーションに解像度組が変化したことを通知する解像度組変更通知手段を備えることにより、アプリケーションは解像度の変化を知ることができるので、解像度に応じたグラフィックスを表示し直すことが可能である。
また、前記解像度切替装置は更に、前記解像度組選択手段が前記解像度を選択した際、グラフィックスの解像度が変化した際に、前記アプリケーションにグラフィックスの解像度が変化したことを通知するグラフィックス解像度変更通知手段を備えることにより、アプリケーションはグラフィックスの解像度の変化のみを知ることができるので、解像度に応じたグラフィックスを効率的に表示し直すことが可能である。
また、前記解像度切替装置は更に、前記解像度組選択手段が前記解像度を選択した際、ビデオ映像の解像度が変化した際に、前記アプリケーションにビデオ映像の解像度が変化したことを通知するビデオ映像解像度変更通知手段を備えることにより、アプリケーションはJavaクラスライブラリを使用して拡大縮小しているビデオ映像をより美しく表示する等の処理を行うことができる。
また、前記解像度切替装置は更に、前記アプリケーションから前記グラフィックスの解像度の変更要求を受け付けるグラフィックス解像度変更要求受付手段を備え、前記解像度組選択手段は、グラフィックス解像度変更要求受付手段が受け付けたグラフィックスの解像度に基づいて、前記解像度組を選択することにより、アプリケーションが所望するグラフィックス解像度で表示を行うことができる。
また、前記解像度切替装置は更に、前記解像度組選択手段は、グラフィックス解像度変更要求受付手段が受け付けたグラフィックスの解像度を含む前記解像度組を選択することにより、アプリケーションが所望するグラフィックス解像度で表示を行うことができる。
また、前記解像度切替装置は更に、前記アプリケーションから前記ビデオ映像の解像度の変更要求を受け付けるビデオ映像解像度変更要求受付手段を備え、前記解像度組選択手段は、ビデオ映像解像度変更要求受付手段が受け付けたビデオ映像の解像度に基づいて、前記解像度組を選択することによりアプリケーションは所望の解像度でビデオ映像を表示することができる。
また、前記解像度切替装置は更に、前記解像度組選択手段は、ビデオ映像解像度変更要求受付手段が受け付けたビデオ映像の解像度を含む前記解像度組を選択することによりアプリケーションは所望の解像度でビデオ映像を表示することができる。
また、前記解像度切替装置は更に、前記グラフィックス生成手段が生成したグラフィックスを拡大または縮小するグラフィックス拡大縮小手段と、前記映像生成手段が出力したビデオ映像を、拡大または縮小する映像拡大縮小手段とを備え、前記合成手段は、前記グラフィックス拡大縮小手段と前記映像拡大縮小手段が拡大または縮小したグラフィックス及びビデオ映像を合成することにより、グラフィックスとビデオ映像を同じ解像度にし美しく合成し表示することができる。
また、前記解像度切替装置は更に、前記グラフィックス拡大縮小手段と前記映像拡大縮小手段が拡大または縮小を行い生成するグラフィックスとビデオ映像の解像度を指定する拡大縮小解像度指定手段を備えることによりグラフィックスとビデオ映像を所望の解像度に変換した後、美しく合成し表示することができる。
また、前記解像度切替装置は更に、前記解像度組記憶手段は前記解像度組に対応付けて、前記グラフィックス拡大縮小手段と前記映像拡大縮小手段が拡大または縮小し実現する解像度を保持することにより、返還前の解像度と変換後の解像度を明示的に指定することができる。この結果、整数倍の拡大縮小など、劣化が少ない拡大縮小を行い美しく合成し表示することができる。
また、前記解像度切替装置は更に、前記グラフィックス及び前記ビデオ映像の好ましい組み合わせである優先解像度組を記憶する優先解像度組記憶手段を備え、前記優先度組選択手段は、前記優先解像度組記憶手段が記憶する優先解像度組に基づいて前記解像度組を選択することにより、より美しく表示可能な解像度の組み合わせを優先的に採用し、表示することができる。
また、前記解像度切替装置は更に、前記グラフィックス及び前記ビデオ映像の好ましい組み合わせである優先解像度組を記憶する優先解像度組記憶手段を備え、前記解像度組選択手段は、前記解像度検出手段が検出した映像の解像度を含む解像度組を解像度組記憶手段から選択出来なかった場合、前記優先解像度組記憶手段が記憶する優先解像度組に基づいて前記解像度組を選択することにより、ビデオ映像の解像度を維持したいのだけれども、それが出来ない場合は、バックアップとして登録しておいた解像度の組み合わせを用いることにより、美しい表示を行うことができる。
また、前記解像度切替装置は更に、前記グラフィックス及び前記ビデオ映像の好ましい組み合わせである優先解像度組を記憶する優先解像度組記憶手段を備え、前記解像度組選択手段は、前記グラフィックスの解像度が変化しない解像度組を選択出来なかった場合、前記優先解像度組記憶手段が記憶する優先解像度組に基づいて前記解像度組を選択することにより、グラフィックスの解像度を維持したいのだけれども、それが出来ない場合は、バックアップとして登録しておいた解像度の組み合わせを用いることにより、美しい表示を行うことができる。
また、前記解像度切替装置は更に、前記受信したビデオ映像の解像度の変化を検出する映像解像度変化検出手段を備え、前記解像度組選択手段は、前記映像解像度変化検出手段が前記受信したビデオ映像の解像度の変化を検出したとき、前記グラフィックス解像度変更要求受付手段が直前に受け付けたグラフィックスの解像度を含む前記解像度組を選択することにより、以前にアプリケーションが指定したグラフィックスの解像度を維持することができ、アプリケーションのグラフィックス表示を自動的に維持することができる。
また、前記解像度切替装置は更に、前記受信したビデオ映像の解像度の変化を検出する映像解像度変化検出手段を備え、前記解像度組選択手段は、前記映像解像度変化検出手段が前記受信したビデオ映像の解像度の変化を検出し、前記グラフィックス解像度変更要求受付手段がグラフィックスの解像度の変更要求を受け付けていない時、前記受信したビデオ映像の解像度を含む前記解像度組を選択することにより、アプリケーションはグラフィックスの解像度を指定していないことから、ビデオ映像の解像度を優先していると考え、入力されたビデオ映像の解像度でビデオ映像を出力することにより、自動的に美しく表示することができる。
また、グラフィックスを生成するグラフィックス生成手段と、受信したビデオ映像を出力する映像生成手段と、静止画を出力するスチル生成手段と、前記受信したビデオ映像の解像度を検出する映像解像度検出手段と、前記グラフィックスの解像度と前記ビデオ映像の解像度と前記静止画の解像度を組とした解像度組を記憶する解像度組記憶手段と、前記解像度検出手段が検出した映像の解像度に基づいて解像度組を解像度組記憶手段から選択する解像度組選択手段と、前記解像度組選択手段が選択した解像度組に基づき、前記グラフィックスと前記受信したビデオ映像と前記静止画を合成して出力する合成手段備えることにより、ビデオ映像とグラフィックスと静止画を合成して表示することができる。
また、前記解像度切替装置は更に、前記グラフィックスと前記ビデオ映像と前記静止画のいずれかを指定するプレーン指定手段と、前記解像度選択手段は、前記プレーン指定手段が記憶する前記グラフィックスまたは前記ビデオ映像または前記静止画の解像度を維持しつつ、解像度組を解像度組記憶手段から選択することにより、表示の主体となるプレーンの解像度を維持することができ、美しい表示を維持することができる。
また、前記解像度切替装置は更に、アプリケーションを実行するアプリケーション実行手段と、前記アプリケーションからの描画指示を受け付ける描画実行受付手段を備え、前記グラフィックス生成手段は、前記描画実行受付手段が受け付けた描画指示に従ってグラフィックスを生成することにより、アプリケーションが生成したグラフィックスとビデオ映像と静止画を合成して出力することができる。
また、前記解像度切替装置は更に、前記アプリケーションから前記静止画の解像度の変更要求を受け付ける静止画解像度変更要求受付手段を備え、前記解像度組選択手段は、前記静止画解像度変更要求受付手段が受け付けた静止画の解像度に基づいて、前記解像度組を選択することにより静止画の解像度を維持し、静止画を美しく表示しつづけることができる。
また、前記解像度切替装置は更に、前記解像度組選択手段は、前記静止画解像度変更要求受付手段が受け付けた静止画の解像度を含む前記解像度組を選択することにより静止画の解像度を維持し、静止画を美しく表示しつづけることができる。
また、前記解像度切替装置は更に、静止画の解像度の変更要求の許可を行う静止画変更要求許可手段を備え、前記静止画解像度変更要求受付手段は、前記静止画変更要求許可手段から変更要求の許可を受けたアプリケーションからの前記静止画の解像度の変更要求のみを受け付けることにより、複数のアプリケーションからの要求受付の排他制御を行うことができ、複数アプリケーションによる静止画の解像度の頻繁な切り替えによる表示画面のちらつきを避けることができる。
また、前記解像度切替装置は更に、グラフィックスの解像度の変更要求の許可を行うグラフィックス変更要求許可手段を備え、前記グラフィックス解像度変更要求受付手段は、前記グラフィックス変更要求許可手段から変更要求の許可を受けたアプリケーションからの前記グラフィックスの解像度の変更要求のみを受け付けることにより、複数アプリケーションによるグラフィックスの解像度の頻繁な切り替えによる表示画面のちらつきを避けることができる。
また、前記解像度切替装置は更に、ビデオ映像の解像度の変更要求の許可を行うビデオ映像変更要求許可手段を備え、前記ビデオ映像解像度変更要求受付手段は、前記ビデオ映像変更要求許可手段から変更要求の許可を受けたアプリケーションからの前記ビデオ映像の解像度の変更要求のみを受け付けることにより、複数アプリケーションによるビデオ映像の解像度の頻繁な切り替えによる表示画面のちらつきを避けることができる。
また、コンピュータ読み取り可能な記録媒体であって、グラフィックスを生成するグラフィックス生成手段と、受信したビデオ映像を出力する映像生成手段と、
前記受信したビデオ映像の解像度を検出する映像解像度検出手段と、前記グラフィックスの解像度と前記ビデオ映像の解像度を組とした解像度組を記憶する解像度組記憶手段と、前記解像度検出手段が検出した映像の解像度に基づいて解像度組を解像度組記憶手段から選択する解像度組選択手段と、前記解像度組選択手段が選択した解像度組に基づき、前記グラフィックスと前記受信したビデオ映像を合成して出力する合成手段の各機能を発揮するプログラムを記録したコンピュータ読み取り可能な記録媒体とすることにより、可搬性を高めることができる。
前記受信したビデオ映像の解像度を検出する映像解像度検出手段と、前記グラフィックスの解像度と前記ビデオ映像の解像度を組とした解像度組を記憶する解像度組記憶手段と、前記解像度検出手段が検出した映像の解像度に基づいて解像度組を解像度組記憶手段から選択する解像度組選択手段と、前記解像度組選択手段が選択した解像度組に基づき、前記グラフィックスと前記受信したビデオ映像を合成して出力する合成手段の各機能を発揮するプログラムを記録したコンピュータ読み取り可能な記録媒体とすることにより、可搬性を高めることができる。
(実施の形態1)
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図1は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図1は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
ヘッドエンド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は、端末装置のハードウエア構成を表すブロック図である。500は端末装置であり、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、スピーカ507、ビデオデコーダ508、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514、スチルデコーダ515、OSD制御部516、ビデオバッファ517、スチルバッファ518、OSDバッファ519、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522、合成部523で構成される。また端末装置500には、POD504が着脱できる。
図6は、端末装置500の外観の一例である薄型テレビである。
601は、薄型テレビの筐体であり、POD504を除く、端末装置500の構成要素をすべてを内蔵している。
601は、薄型テレビの筐体であり、POD504を除く、端末装置500の構成要素をすべてを内蔵している。
602はディスプレイであり、図5におけるディスプレイ509に相当する。
603は複数のボタンで構成されるフロントパネル部であり、図5の入力部513に相当する。
603は複数のボタンで構成されるフロントパネル部であり、図5の入力部513に相当する。
604は信号入力端子であり、ヘッドエンド101との信号の送受信を行うためにケーブル線を接続する。信号入力端子は、図5のQAM復調部501、QPSK復調部502、QPSK変調部503と接続されている。
605は、図5のPOD504に相当するPODカードである。POD504は、図6のPODカード605のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。
606はPODカード605を挿入する挿入スロットである。
図5を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、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)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
POD504は、図6のように端末装置本体500から着脱可能な形態をしている。端末本体500とPOD504の接続インターフェースは、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
図7は、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が処理を行う際、一時的にデータを保存するために使用される。
第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は、電源投入時にメインプログラム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から与えられた信号を音声出力する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを、ビデオバッファ517に展開する。また、同時にビデオのデータの解像度や4:3や16:9等の映像の縦横比などの映像情報を読み取り、映像情報に変化を検知する。検知した情報は、後述するビデオフォーマット解像度変更検知部3104に通知される。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを、ビデオバッファ517に展開する。また、同時にビデオのデータの解像度や4:3や16:9等の映像の縦横比などの映像情報を読み取り、映像情報に変化を検知する。検知した情報は、後述するビデオフォーマット解像度変更検知部3104に通知される。
スチルデコーダ515は、CPU514から指示されたMPEG−Iフレームデータを、スチルバッファ518に展開する。MPEG2−Iフレームの詳細はMPEG規格書 ISO/IEC13818−2に記載されており、本実施の形態では詳細は省略する。
OSD制御部516は、CPU514からの指示されたグラフィックスデータを、OSDバッファ519に展開する。
ビデオ拡縮部520は、CPU514から指示された拡大縮小命令により、ビデオバッファ517に展開されているデータを拡大縮小して合成部523へ渡す。
ビデオ拡縮部520は、CPU514から指示された拡大縮小命令により、ビデオバッファ517に展開されているデータを拡大縮小して合成部523へ渡す。
スチル拡縮部521は、CPU514から指示された拡大縮小命令により、スチルバッファ518に展開されているデータを拡大縮小して合成部523へ渡す。
OSD拡縮部522は、CPU514から指示された拡大縮小命令により、OSDバッファ519に展開されているデータを拡大縮小して合成部523へ渡す。
OSD拡縮部522は、CPU514から指示された拡大縮小命令により、OSDバッファ519に展開されているデータを拡大縮小して合成部523へ渡す。
合成部523は、CPU514から指示された各プレーンのZオーダーに従い、ビデオ拡縮部520から渡されたデータとスチル拡縮部521から渡されたデータとOSD拡縮部522から渡されたデータを重畳して、ディスプレイ509に出力する。CPU514から指示される各プレーンのZオーダーに関して説明すると、一般的なテレビ受信端末は、文字図形を表示するOSDプレーン、ビデオを表示するビデオプレーン、静止画を表示するスチルプレーンの3層構造を持っており、その重畳の順番をZオーダーと呼ぶ。例えば、図22で説明すると、2201が視聴者からみて前面に見える第1プレーン、2202が2201の背面である第2プレーン、2203が最背面である第3プレーンとすると、図23のように6パターンの組合せが存在することになる。
ディスプレイ509は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ508から与えられたビデオ信号を出力したり、CPU514から指示されたメッセージを表示したりする。
2次記憶部510は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
ROM512は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図11は、フロントパネルで入力部513を構成した場合の一例である。1100はフロントパネルであり、図6のフロントパネル部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を制御する。
図12は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、JavaVM1203、サービスマネージャ1204、Javaライブラリ1205で構成される。
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、JavaVM1203、サービスマネージャ1204、Javaライブラリ1205で構成される。
OS1201は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1201は、オペレーティングシステムの略であり、Linux等が一例である。OS1201は、他のサブプログラムを平行して実行するカーネル1201a及びライブラリ1201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1201のカーネル1201aは、EPG1202とJavaVM1203をサブプログラムとして実行する。また、ライブラリ1201bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1201bを通してQAM復調器を制御することができる。
EPG1202は、ユーザーに番組一覧を表示及び、ユーザーからの入力を受け付ける番組表示部1202aと、チャンネル選局を行う再生部1202bで構成される。ここで、EPGはElectric Program Guideの略である。EPG1202は、端末装置500の電源が投入されると、カーネル1201aによって起動される、起動されたEPG1202の内部では、番組表示部1202aが端末装置500の入力部513を通して、ユーザーからの入力を待つ。ここで、入力部513が図11で示されるフロントパネルで構成されている場合、ユーザーが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1202の番組表示部1202aは、この識別子を受け取り、番組情報をディスプレイ509に表示する。図13(1)及び(2)は、ディスプレイ509に表示された番組表の一例である。図13(1)を参照して、ディスプレイ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を押下すると移動する。図13(1)の状態で、右カーソル1104を押下すると、カーソル1330は右に移動し、図13(2)のようになる。また、図13(2)の状態で、左カーソル1103を押下すると、カーソル1330は左に移動し、図13(1)のようになる。
図13(1)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル1」の識別子を再生部1202bに通知する。図13(2)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル2」の識別子を再生部1202bに通知する。
また、番組表示部1202aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
再生部1202bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図14は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に現在再生中のチャンネルの識別子を記憶する。図15(1)(2)及び(3)は、1次記憶部511に保存しているチャンネルの識別子の例である。図15(1)では識別子「3」が記憶されており、図14を参照し、チャンネル名「TV 3」のチャンネルが再生中であることを示す。図15(1)の状態で、ユーザーが上カーソル1101を押下すると再生部1202bは、図14のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「2」に書き換える。図15(2)は、チャンネル識別子が書き換えられた状態を表す。また、図15(1)の状態で、ユーザーが下カーソル1102を押下すると再生部1202bは、図14のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「4」に書き換える。図15(3)は、チャンネル識別子が書き換えられた状態を表す。
JavaVM1203は、Java(TM)言語で記述されたプログラムを逐次解析し実行するJavaバーチャルマシンである。Java言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Javaバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJavaバーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。JavaVM1203は、カーネル1201aに実行するJavaプログラムを指定され起動される。本実施の形態では、カーネル1201aは、実行するJavaプログラムとしてサービスマネージャ1204を指定する。Java言語の詳細は、書籍「Java Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、JavaVM自体の詳細な動作などは、「Java Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、Java言語で書かれたJavaプログラムであり、JavaVM1203によって逐次実行される。サービスマネージャ1204は、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、JNIを通して、再生部1202bよりチャンネルの識別子を受け取る。
サービスマネージャ1204は、最初にJavaライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図14の行1412を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
サービスマネージャ1204は、最初にJavaライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図14の行1412を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
次にサービスマネージャ1204は、Javaライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
次にサービスマネージャ1204は、Javaライブラリ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のパケットを収集する。図16は、収集したPATの情報の一例を模式的に表した表である。列1601は、プログラムナンバーである。列1602は、パケットIDである。列1602のパケットIDはPMTを取得するために用いられる。行1611〜1613は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1611はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図14の行1412を参照して、対応するプログラムナンバー「102」を獲得し、次に、図16の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のパケットを収集する。図17は、収集したPMTの情報の一例を模式的に表した表である。列1701は、ストリーム種別であり。列1702は、パケットIDである。列1702で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1703は補足情報である。行1711〜1714はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行1711は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図17を参照して、JMF1205aは、行1711から音声のパケットID「5011」を、行1712から映像のパケットID「5012」を獲得する。
まず、最初に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のパケットを収集する。図16は、収集したPATの情報の一例を模式的に表した表である。列1601は、プログラムナンバーである。列1602は、パケットIDである。列1602のパケットIDはPMTを取得するために用いられる。行1611〜1613は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1611はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図14の行1412を参照して、対応するプログラムナンバー「102」を獲得し、次に、図16の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のパケットを収集する。図17は、収集したPMTの情報の一例を模式的に表した表である。列1701は、ストリーム種別であり。列1702は、パケットIDである。列1702で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1703は補足情報である。行1711〜1714はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行1711は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図17を参照して、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は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを、ビデオバッファ517に展開する。
ビデオ拡縮部520は、CPU514から指示された拡大縮小命令により、ビデオバッファ517に展開されているデータを拡大縮小して合成部523へ渡す。
合成部523は、CPU514から指示されたZオーダーに従い、ビデオ拡縮部520から渡されたデータとスチル拡縮部521から渡されたデータとOSD拡縮部522から渡されたデータを重畳して、ディスプレイ509に出力する。
合成部523は、CPU514から指示されたZオーダーに従い、ビデオ拡縮部520から渡されたデータとスチル拡縮部521から渡されたデータとOSD拡縮部522から渡されたデータを重畳して、ディスプレイ509に出力する。
最後にサービスマネージャ1204は、Javaライブラリ1205の中にあるAM1205bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJavaプログラムを抽出し、JavaVM1203に実行させることである。MPEG2トランスポートストリームにJavaプログラムを埋め込む方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJavaプログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている、Application Information Tableの略である。
AM1205bは、まず、AITを獲得するため、JMF1205a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図16のPAT、図17のPMTが送信されていると、JMF1205aと同様の手順で、図17のPMTを獲得する。AM1205bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからパケットIDを抽出する。図17を参照して、行1713のエレメンタリ−ストリームが該当し、パケットID「5013」を獲得する。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、AITのパケットを収集することができる。図18は、収集した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つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM1205bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子及びJavaプログラム名を抽出する。図18を参照して、AM1205bは行1811のJavaプログラムを抽出し、DSMCC識別子「1」及びJavaプログラム名「a/TopXlet」を獲得する。
次にAM1205bは、AITから取得したDSMCC識別子を用いて、JavaプログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図17とすると、行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等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、必要なパケットを収集することができる。AM1205bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
図19は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、1901はルートディレクトリ、1902はディレクトリ「a」,1903はディレクトリ「b」,1904はファイル「TopXlet.class」、1905はファイル「GameXlet.class」である。
次にAM1205bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1203に引き渡す。今、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図19を参照して、ファイル1904が実行すべきJavaプログラムである。次にAM1205bは、ファイル1904をJavaVM1203に引き渡す。
JavaVM1203は、引き渡されたJavaプログラムを実行する。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、Javaライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJavaプログラムの実行を、同じくJavaライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJavaプログラムの実行を行う。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、Javaライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJavaプログラムの実行を、同じくJavaライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJavaプログラムの実行を行う。
Javaライブラリ1205は、ROM512に格納されている複数のJavaライブラリの集合である。本実施の形態では、ここでは、Javaライブラリ1205は、JMF1205a,AM1205b,Tuner1205c,CA1205d、POD Lib1205e、解像度切替部1205f、AWT1205g、STL1205h等を含んでいる。
POD Lib1205eは、ライブラリ1201b及びCPU514を通してPOD504からの情報取得やPOD504の制御行う機能を提供する。
解像度切替部1205fは、CPU514を通して、ビデオデコーダ508、ビデオ拡縮部520、スチルデコーダ515、スチル拡縮部521、OSD制御部516、OSD拡縮部522を制御する機能を提供する。詳細は後述する。
解像度切替部1205fは、CPU514を通して、ビデオデコーダ508、ビデオ拡縮部520、スチルデコーダ515、スチル拡縮部521、OSD制御部516、OSD拡縮部522を制御する機能を提供する。詳細は後述する。
AWT1205gは、Javaプログラムからの描画指示を受け付ける。受け付けた指示に基づき、必要な情報をOSD制御部516に送ることで、OSDバッファに文字図形を描画する。具体的な描画処理の例は、線を引いたり四角を書くなどであり、Java.awtパッケージに規定されているクラス及びインターフェース仕様で実現される公知の技術である。よって、詳細は省略する。
STL1205hは、Javaプログラムからの表示するMPEG−Iフレームデータとその表示位置を受け付ける。STL1205hは、受け付けたMPEG−Iフレームデータと表示位置を、スチルデコーダ515に引き渡す。スチルデコーダ515は、与えられた表示位置にMPEG−Iフレームデータをデコードし、スチルバッファ518に展開する。これによりJavaプログラムは、スチルバッファへの描画を行うことができる。
図24は、ビデオの表示処理に関するフローチャートである。TSデコーダ505はビデオデータをビデオデコーダ508に転送する(S2401)。ビデオデコーダ508は、転送されたビデオデータをデコードし、その結果をビデオバッファ517に展開する(S2402)。CPU514からビデオの表示に関して拡大縮小の指示があるか判断する(S2403)。拡大縮小の指示がある場合は、ビデオ拡縮部520はビデオバッファ517に展開されているデータに対して拡大縮小処理を行い(S2404)、合成部523に転送する(S2405)。拡大縮小の指示がない場合は、ビデオ拡縮部520はビデオバッファ517に展開されているデータを合成部523に転送する(S2405)。
図25は、スチルの表示処理に関するフローチャートである。CPU514からスチルデコーダ515へMPEG2−Iフレームデータが渡される(S2501)。スチルデコーダ515は、渡されたMPEG2−Iフレームデータをデコードし、その結果をスチルバッファ518に展開する(S2502)。CPU514からスチルの表示に関して拡大縮小の指示があるか判断する(S2503)。拡大縮小の指示がある場合は、スチル拡縮部521はスチルバッファ518に展開されているデータに対して拡大縮小処理を行い(S2504)、合成部523に転送する(S2505)。拡大縮小の指示がない場合は、スチル拡縮部521はスチルバッファ518に展開されているデータを合成部523に転送する。
図26は、OSDの表示処理に関するフローチャートである。CPU514からOSD制御部516へ文字や図形データが渡される(S2601)。OSD制御部516は、渡された文字や図形データに基づき、OSDバッファ519にイメージを構成する(S2602)。CPU514からOSDの表示に関して拡大縮小の指示があるか判断する(S2603)。拡大縮小の指示がある場合は、OSD拡縮部522はOSDバッファ519に展開されているデータに対して拡大縮小処理を行い(S2604)、合成部523に転送する(S2605)。拡大縮小の指示がない場合は、OSD拡縮部522はOSDバッファ519に展開されているデータを合成部523に転送する。
ここで、拡大縮小のイメージを、例を示して説明すると、図28の2801のように、幅720ピクセル、高さ480ピクセルのデータを、幅960ピクセル、高さ540に拡大すると図28の2802のようになる。
図27は、図24で示されるフローチャートで生成されるビデオと図25で示されるフローチャートで生成されるスチルと図26で示されるフローチャートで生成されるOSDの合成処理に関するフローチャートである。合成部523は、CPU514からZオーダーの変更指示があるか判断し(S2701)、変更指示がある場合は、変更指示に従い、第1プレーン2201、第2プレーン2202、第3プレーン2203に、ビデオプレーン、スチルプレーン、OSDプレーンのどのプレーンが該当するかを決定する(S2702)。ここで、ビデオプレーンとは、図24で示されるフローチャートで生成されるビデオを意味し、スチルプレーンとは、図25で示されるフローチャートで生成されるスチルを意味し、OSDプレーンとは、図26で示されるフローチャートで生成されるOSDを意味する。変更指示がない場合は、以前のZオーダーに従う。Zオーダーの組合せは、図23のように6パターンの組合せのいずれかである。次に合成部523は、最背面である第3プレーンに該当するプレーンが、ビデオプレーン、スチルプレーン、OSDプレーンのどのプレーンが該当するか判断し(S2703)、そのプレーンが、ビデオプレーンの場合は合成部523でビデオデータを合成し(S2704)、スチルプレーンの場合は合成部523でスチルデータを合成し(S2705)、OSDプレーンの場合は合成部523でOSDデータを合成する(S2706)。例えば、合成するデータのイメージが図29の2901の場合、合成した後のイメージを示すと、図30の3001のようになる。次に合成部523は、第2プレーンに該当するプレーンが、ビデオプレーン、スチルプレーン、OSDプレーンのどのプレーンが該当するか判断し(S2707)、そのプレーンが、ビデオプレーンの場合は合成部523でビデオデータを合成し(S2708)、スチルプレーンの場合は合成部523でスチルデータを合成し(S2709)、OSDプレーンの場合は合成部523でOSDデータを合成する(S2710)。例えば、合成するデータのイメージが図29の2902の場合、合成した後のイメージを示すと、図30の3002のようになる。次に合成部523は、最前面である第1プレーンに該当するプレーンが、ビデオプレーン、スチルプレーン、OSDプレーンのどのプレーンが該当するか判断し(S2711)、そのプレーンが、ビデオプレーンの場合は合成部523でビデオデータを合成し(S2712)、スチルプレーンの場合は合成部523でスチルデータを合成し(S2713)、OSDプレーンの場合は合成部523でOSDデータを合成する(S2714)。例えば、合成するデータのイメージが図29の2903の場合、合成した後のイメージを示すと、図30の3003のようになる。最後に合成結果をディスプレイ509に出力して表示される(S2715)。
次に、Javaプログラムのダウンロード・保存及び、Javaプログラムの表示動作について説明する。
サービスマネージャ1204は、Javaライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
サービスマネージャ1204は、Javaライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
サービスマネージャ1204は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJavaプログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。どのような送信形式を採用しても、XAITに必要とする情報が含まれていれば、本発明は実施可能である。
図20は、ヘッドエンド101から取得したXAITの情報の一例を模式的に表した表である。列2001はJavaプログラムの識別子である。列2002はJavaプログラムの制御情報である。制御情報には「autoselect」「present」などがあり、「autoselect」は端末装置500が電源投入時にこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味する。列2003は、DSMCC方式でJavaプログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列2004はJavaプログラムのプログラム名である。列2005は、Javaプログラムの優先度である。行2011と2012は、Javaプログラムの情報の組である。行2011で定義されるJavaプログラムは、識別子「701」、制御情報「autoselect」、DSMCC識別子「1」、プログラム名「a/Banner1Xlet」の組である。ここでは、Javaプログラムに対して5つの情報しか規定しないが、より多くの情報が定義されていても本発明は実施可能である。
サービスマネージャ1204は、XAIT情報を受け取ると、AIT情報からJavaプログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムを1次記憶部511に保存する。その後、保存したファイルシステムを2次記憶部510に複写する。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。次に、サービスマネージャ1204は、XAIT情報にダウンロードしたファイルシステムの格納位置を対応つけて2次記憶部510に保存する。図21は、2次記憶部510がXAIT情報とダウンロードしたファイルシステムが対応つけられて保存されている一例を表す。図21の中で、図20と同じ番号の要素は図20と同じなので、説明は省略する。列2101は対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。2110はダウンロードしたファイルシステムであり、内部にトップディレクトリ2111、ディレクトリ「a」2112、ディレクトリ「b」2113、ファイル「Banner1Xlet.class」2114、ファイル「Banner2Xlet.class」2115を保持する。
ここで、XAIT情報は、Javaプログラムを保存してから保存しているが、Javaプログラムを保存する前に保存することも実施可能である。
端末装置500に電源が投入後、OS1201が、サービスマネージャ1204をJavaVM1203に指定し、JavaVM1203がサービスマネージャ1204を起動した後、サービスマネージャ1204は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Javaプログラムの制御情報を参照し「autoselect」のプログラムをJavaVM1203に引き渡し、起動する。図21を参照して、行2011で定義されるJavaプログラム「Banner1Xlet」が起動される。
端末装置500に電源が投入後、OS1201が、サービスマネージャ1204をJavaVM1203に指定し、JavaVM1203がサービスマネージャ1204を起動した後、サービスマネージャ1204は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Javaプログラムの制御情報を参照し「autoselect」のプログラムをJavaVM1203に引き渡し、起動する。図21を参照して、行2011で定義されるJavaプログラム「Banner1Xlet」が起動される。
Javaプログラム「Banner1Xlet」が起動されると、Javaプログラム「Banner1Xlet」が文字や図形を表示する場合、Javaプログラム「Banner1Xlet」はCPU514に対してOSDの表示を指示する。CPU514はOSD制御部516へ文字や図形データを渡し、OSD表示処理が行われ、最終的に合成部523でOSDプレーンはビデオプレーンとスチルプレーンと合成され、ディスプレイ509に表示される。
次に、本発明の主要機能である映像解像度切替機能について説明する。図31は、映像解像度切替機能の構成図である。
アプリケーションプログラム3100は、例えば、Javaプログラム「Banner1Xlet」のようなアプリケーションである。
アプリケーションプログラム3100は、例えば、Javaプログラム「Banner1Xlet」のようなアプリケーションである。
解像度切替部1205fは、OSD解像度管理部3101、ビデオ解像度管理部3102、スチル解像度管理部3103、ビデオフォーマット解像度変更検知部3104、解像度選択判断部3105を含み、映像解像度切替機能を担う。
OSD解像度管理部3101は、OSDプレーンの解像度を管理する。OSD解像度管理部3101は、アプリケーションプログラム3100から現在のOSDプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にOSDプレーンの解像度が変更されたことを通知する機能を有する。OSDプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部3105に通知する。
ビデオ解像度管理部3102は、ビデオプレーンの解像度を管理する。ビデオ解像度管理部3102は、アプリケーションプログラム3100から現在のビデオプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にビデオプレーンの解像度が変更されたことを通知する機能を有する。ビデオプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部3105に通知する。
スチル解像度管理部3103は、スチルプレーンの解像度を管理する。スチル解像度管理部3103は、アプリケーションプログラム3100から現在のスチルプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にスチルプレーンの解像度が変更されたことを通知する機能を有する。スチルプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部3105に通知する。
ビデオフォーマット解像度変更検知部3104は、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合、解像度選択判断部3105に通知する。
解像度選択判断部3105は、OSD解像度管理部3101に現在のOSDプレーンの解像度変更要求があった場合と、ビデオ解像度管理部3102に現在のビデオプレーンの解像度変更要求があった場合と、スチル解像度管理部3103に現在のスチルプレーンの解像度変更要求があった場合と、ビデオフォーマット解像度変更検知部3104からビデオフォーマットの解像度の変更通知があった場合に、テレビ受信端末の各プレーン間の表示可能な組合せを考慮して、各プレーンの解像度を選択する。ここで、表示可能な組合せを説明すると、テレビ受信端末は、文字図形を表示するOSDプレーン、ビデオを表示するビデオプレーン、静止画を表示するスチルプレーンの3層構造を持っており、各プレーン間では表示可能な組合せを持っている。例えば、図32のような組合せである。テレビ受信端末が図32に示す組合せ1(3201)で各プレーンを表示している時に、ビデオデコーダ508で受信したビデオフォーマットが、画像解像度が横960ピクセル縦540ピクセル及び画面縦横比が16:9に変更された場合、ビデオフォーマットに合わせて、組合せ3(3203)で各プレーンの解像度を変更する場合がある。この図32に示される各プレーンの組み合わせは、2次記憶部510または、1次記憶部511、または、ROM512に記憶されている。今、各プレーンの組み合わせがROM512に格納されているとすると、解像度選択判断部3105は、表示可能な組み合わせを考慮する時、ROM512を参照し、可能な組み合わせの中から特定の規則に従って、最適な1つの組み合わせを選択することを意味する。
図33は、OSD解像度管理部3101に現在のOSDプレーンの解像度変更要求があった場合の解像度選択判断部3105のフローチャートである。OSD解像度管理部3101は解像度選択判断部3105にOSD解像度を渡し変更要求を行う(S3301)。解像度選択判断部3105は変更要求されたOSD解像度を1次記憶部511に記憶しておく(S3302)。変更要求されたOSD解像度に合わせて表示可能な組合せの選択を試みる(S3303)。結果として、要求したOSD解像度に変更できたか判断し(S3304)、変更できた場合、OSD解像度管理部3101にOSD解像度変更通知が行われる(S3305)。このOSD解像度変更に伴い、ビデオ解像度も変更されたかを判断し(S3306)、変更された場合、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S3307)。このOSD解像度変更に伴い、スチル解像度も変更されたかを判断し(S3308)、変更された場合、スチル解像度管理部3103にスチル解像度変更通知が行われる(S3309)。
図34は、ビデオ解像度管理部3102に現在のビデオプレーンの解像度変更要求があった場合の解像度選択判断部3105のフローチャートである。ビデオ解像度管理部3102は解像度選択判断部3105にビデオ解像度を渡し変更要求を行う(S3401)。解像度選択判断部3105は変更要求されたビデオ解像度を1次記憶部511に記憶しておく(S3402)。変更要求されたビデオ解像度に合わせて表示可能な組合せの選択を試みる(S3403)。結果として、要求したビデオ解像度に変更できたか判断し(S3404)、変更できた場合、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S3405)。このビデオ解像度変更に伴い、OSD解像度も変更されたかを判断し(S3406)、変更された場合、OSD解像度管理部3101にOSD解像度変更通知が行われる(S3407)。このビデオ解像度変更に伴い、スチル解像度も変更されたかを判断し(S3408)、変更された場合、スチル解像度管理部3103にスチル解像度変更通知が行われる(S3409)。
ここで、選択されたビデオプレーンの解像度とビデオデコーダ508がデコードしたビデオ映像の解像度が異なる場合、ビデオ拡縮部520は、ビデオバッファ517に展開されたビデオ映像を、選択されたビデオプレーンの解像度に拡大又は縮小することにより、選択されたビデオプレーンの解像度を実現する。
また、表示可能なビデオプレーン、スチルプレーン、OSDプレーンの解像度の組み合わせには、ビデオプレーン、スチルプレーン、OSDプレーンの拡大・縮小を前提にした組み合わせも含まれる。例えば、図32の生み合わせ「4」3204の場合、OSDプレーンの解像度は960*540であり、ビデオプレーンとスチルプレーンの解像度は1920*1080である。この場合、OSD拡縮部522は、OSDバッファ519に展開されている文字図形描画を縦横2倍に拡大して出力することで、合成部523は、3つのプレーンの合成を行うことができる。このように、表示可能なビデオプレーン、スチルプレーン、OSDプレーンの解像度の組み合わせは、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522の動作を規定する拡大縮小情報を内包している。あるいは、表示可能なビデオプレーン、スチルプレーン、OSDプレーンの解像度の組み合わせと対応付けて、明示的に拡大縮小情報を2次記憶部510、1次記憶部511、ROM512に等に記憶してもよい。ここで、拡大縮小情報は具体的に、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522各々に対して定義されていてもよいし、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522共通で合成部523に出力すべき解像度として規定されていでもよい。また、この共通の解像度を指定する共通解像度指定部を付加することにより、合成部523に出力するビデオ、OSD,スチルの解像度を容易に変更できるようにしてもよい。ここで、共通解像度指定部はアプリケーションプログラムから解像度を指定されてもよいし、解像度選択判定部3105が解像度を指定されてもよい。
また、解像度選択判断部3105は、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522に対して、拡大縮小の指示も行う。
図35は、スチル解像度管理部3103に現在のスチルプレーンの解像度変更要求があった場合の解像度選択判断部3105のフローチャートである。スチル解像度管理部3103は解像度選択判断部3105にスチル解像度を渡し変更要求を行う(S3501)。解像度選択判断部3105は変更要求されたスチル解像度を1次記憶部511に記憶しておく(S3502)。変更要求されたスチル解像度に合わせて表示可能な組合せの選択を試みる(S3503)。結果として、要求したスチル解像度に変更できたか判断し(S3504)、変更できた場合、スチル解像度管理部3103にスチル解像度変更通知が行われる(S3505)。このスチル解像度変更に伴い、ビデオ解像度も変更されたかを判断し(S3506)、変更された場合、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S3507)。このスチル解像度変更に伴い、OSD解像度も変更されたかを判断し(S3508)、変更された場合、OSD解像度管理部3101にOSD解像度変更通知が行われる(S3509)。
図35は、スチル解像度管理部3103に現在のスチルプレーンの解像度変更要求があった場合の解像度選択判断部3105のフローチャートである。スチル解像度管理部3103は解像度選択判断部3105にスチル解像度を渡し変更要求を行う(S3501)。解像度選択判断部3105は変更要求されたスチル解像度を1次記憶部511に記憶しておく(S3502)。変更要求されたスチル解像度に合わせて表示可能な組合せの選択を試みる(S3503)。結果として、要求したスチル解像度に変更できたか判断し(S3504)、変更できた場合、スチル解像度管理部3103にスチル解像度変更通知が行われる(S3505)。このスチル解像度変更に伴い、ビデオ解像度も変更されたかを判断し(S3506)、変更された場合、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S3507)。このスチル解像度変更に伴い、OSD解像度も変更されたかを判断し(S3508)、変更された場合、OSD解像度管理部3101にOSD解像度変更通知が行われる(S3509)。
図36、図37は、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部3105のフローチャートである。ビデオフォーマット解像度変更検知部3104は解像度選択判断部3105にビデオフォーマット解像度変更を通知する(S3601)。ビデオフォーマット解像度と1次記憶部511に記憶されている変更要求OSD解像度及び変更要求スチル解像度に合わせて表示可能な組合せの選択を試みる(S3602)。その結果、表示可能な組合せが存在しない場合(S3603)、ビデオフォーマット解像度と1次記憶部511に記憶されている変更要求OSD解像度に合わせて表示可能な組合せの選択を試みる(S3604)。その結果、表示可能な組合せが存在しない場合(S3605)、ビデオフォーマット解像度と合わせて表示可能な組合せの選択を試みる(S3606)。その結果、OSD解像度が変更されたかを判断し(S3701)、変更された場合、OSD解像度管理部3101にOSD解像度変更通知が行われる(S3702)。ビデオ解像度が変更されたかを判断し(S3703)、変更された場合、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S3704)。スチル解像度が変更されたかを判断し(S3705)、変更された場合、スチル解像度管理部3103にスチル解像度変更通知が行われる(S3706)。
例えば、アプリケーションプログラム3100が番組やコンテンツの内容とは無関係に番組の内容やチャンネル名、広告等をOSDプレーンを使用して、画面の片隅に表示するようなアプリケーションだとする。この場合、図38のように表示画面3800上ではビデオ表示エリア3802が大部分を占め、アプリケーションの表示であるOSD表示エリア3801が小さい。この時にビデオフォーマットが変更された場合は、解像度選択判断部3105はビデオフォーマットに合わせて、表示可能な組合せに変更するのが望ましい。ここで、ビデオプレーン及びOSDプレーン共に720*480の解像度で表示している時、ビデオの解像度が1920*1080に変わったとする。この時、OSDプレーンの解像度を優先すると、ビデオ拡縮部520はビデオバッファ517に展開された1920*1080のビデオ映像を720*480に縮小することが必要となる。これは、明らかに画質が劣化する。本アプリケーションの目的は補足情報を表示することである。その補足情報表示のために主要情報であるビデオ映像を劣化させることは望ましくない。従って、アプリケーションプログラム3100が、明示的に、OSD解像度管理部3101に対してOSD解像度の変更要求を出さない、又は、スチル解像度管理部3102に対してスチル解像度の変更要求を出さなければ、ビデオフォーマット変更が優先されることになる。そして、アプリケーションプログラム3100は、OSDプレーンの解像度が変更されたことを知り、OSD解像度に適した文字図形描画を再描画する。これにより美しい画面表示が可能になる。
一方、アプリケーションプログラム3100がビデオ表示を小さく行い、アプリケーションの表示を全面で行っているようなアプリケーションだとする。具体的には、JMF1205aは、ビデオ映像の拡大縮小や表示位置を指定する機能を提供し、アプリケーションプログラム3100は、これら機能を利用する。この場合、図39のように表示画面3900上ではアプリケーションの表示であるOSD表示エリア3901が大部分を占め、ビデオ表示エリア3902が小さい。ビデオ表示エリア3902は、JMF1205aが提供する機能によりサイズ及び表意位置が決定されている。この時にビデオフォーマットが変更された場合は、解像度選択判断部3105は現在表示しているOSD解像度に合わせて、表示可能な組合せに変更するのが望ましい。なぜならば、アプリケーションにおいては、既にビデオ映像は縮小表示されており、画質は明らかに劣化している。ビデオプレーンの解像度の変化に応じてOSDプレーンの解像度を変化させても、ビデオ映像の画質の劣化は回避できない。一方、OSDプレーンの解像度を変化に伴ないアプリケーションプログラム3100は、OSD表示エリア3901を差描画する必要がある。大きな表示エリアに対する描画処理は一般に時間がかかる。また、OSDプレーンの解像度に応じた文字図形情報を複数用意する必要があり、多くのメモリーを必要とする。そして、煩雑な処理をアプリケーションプログラム3100に実装しなければならない。従って、アプリケーションプログラム3100が、明示的に、OSD解像度管理部3101に対して希望のOSD解像度の変更要求を出せば、OSD解像度が優先されることになる。この結果、アプリケーションプログラム3100の複雑さや、余分な文字図形データの保持が表となる。また、OSDプレーンの解像度が優先されると、ビデオ拡縮部520は、ビデオバッファ517に展開されたビデオ映像を維持された解像度に合致するよう、拡大縮小することになる。
(実施の形態2)
実施の形態1においては、アプリケーションプログラム3100が、OSD解像度管理部3101に対してOSD解像度の変更要求を出している状態で、ビデオフォーマットが変更された場合、OSDの解像度が優先されるため、アプリケーションプログラム3100にはビデオフォーマットの解像度変更通知が行われない場合がある。
実施の形態1においては、アプリケーションプログラム3100が、OSD解像度管理部3101に対してOSD解像度の変更要求を出している状態で、ビデオフォーマットが変更された場合、OSDの解像度が優先されるため、アプリケーションプログラム3100にはビデオフォーマットの解像度変更通知が行われない場合がある。
よって、本実施の形態においては、図40に示す映像解像度切替機能の構成図のように、ビデオフォーマット解像度変更検知部4001は、ビデオフォーマット解像度変更検知部3104の機能に加え、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合、アプリケーションプログラム3100にも通知する機能も備える。解像度切替部1205fに含まれる他のOSD解像度管理部3101、ビデオ解像度管理部3102、スチル解像度管理部3103、解像度選択判断部3105の機能は実施の形態1と同じであるので、説明を省略する。
これにより、アプリケーションプログラム3100は、ビデオフォーマットの解像度変更を知ることができ、ビデオ解像度管理部3102に対して、通知されたビデオフォーマットの解像度で変更要求を出すことでビデオをビデオフォーマットの解像度で表示させることが可能となる。
(実施の形態3)
実施の形態2においては、アプリケーションプログラム3100が、解像度切替部1205fに対して、アプリケーション自身の表示が最適に表示できるOSD解像度を、ある時点において1つしか指定できない。
実施の形態2においては、アプリケーションプログラム3100が、解像度切替部1205fに対して、アプリケーション自身の表示が最適に表示できるOSD解像度を、ある時点において1つしか指定できない。
よって、本実施の形態においては、図41に示す映像解像度切替機能の構成図のように、アプリケーションプログラム3100が、アプリケーション自身の表示が最適に表示できるOSD解像度を、予め登録可能な最適解像度管理部4106を含む構成とする。
解像度切替部1205fは、OSD解像度管理部4101、ビデオ解像度管理部4102、スチル解像度管理部4103、ビデオフォーマット解像度変更検知部4104、解像度選択判断部4105、最適解像度管理部4106を含み、映像解像度切替機能を担う。OSD解像度管理部4101は、OSDプレーンの解像度を管理する。OSD解像度管理部4101は、アプリケーションプログラム3100から現在のOSDプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にOSDプレーンの解像度が変更されたことを通知する機能を有する。OSDプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部4105に通知する。
ビデオ解像度管理部4102は、ビデオプレーンの解像度を管理する。ビデオ解像度管理部4102は、アプリケーションプログラム3100から現在のビデオプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にビデオプレーンの解像度が変更されたことを通知する機能を有する。ビデオプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部4105に通知する。
スチル解像度管理部4103は、スチルプレーンの解像度を管理する。スチル解像度管理部4103は、アプリケーションプログラム3100から現在のスチルプレーンの解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にスチルプレーンの解像度が変更されたことを通知する機能を有する。スチルプレーンの解像度の変更要求を受け付けた場合、解像度選択判断部4105に通知する。
ビデオフォーマット解像度変更検知部4104は、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合、解像度選択判断部4105及びアプリケーションプログラム3100通知にする。
最適解像度管理部4106は、アプリケーションプログラム3100がアプリケーション自身の表示が最適に表示できるOSD解像度を登録及び削除する機能を有する。尚、アプリケーションプログラム3100が登録するOSD解像度は複数登録可能とする。
図42は、アプリケーションプログラム3100が、最適OSD解像度を登録する場合の最適解像度管理部4106のフローチャートである。アプリケーションプログラム3100は、登録する最適OSD解像度を最適解像度管理部4106に登録要求する(S4201)。最適解像度管理部4106は登録要求された最適OSD解像度を1次記憶部511に記憶する(S4202)。
図43は、アプリケーションプログラム3100が、最適OSD解像度を削除する場合の最適解像度管理部4106のフローチャートである。アプリケーションプログラム3100は、削除する最適OSD解像度を最適解像度管理部4106に削除要求する(S4301)。最適解像度管理部4106は削除要求された最適OSD解像度を1次記憶部511から削除する(S4302)。
解像度選択判断部4105は、OSD解像度管理部4101に現在のOSDプレーンの解像度変更要求があった場合と、ビデオ解像度管理部4102に現在のビデオプレーンの解像度変更要求があった場合と、スチル解像度管理部4103に現在のスチルプレーンの解像度変更要求があった場合と、ビデオフォーマット解像度変更検知部4104からビデオフォーマットの解像度の変更通知があった場合に、テレビ受信端末の各プレーン間の表示可能な組合せを考慮して、各プレーンの解像度を選択する。
図44は、OSD解像度管理部4101に現在のOSDプレーンの解像度変更要求があった場合の解像度選択判断部4105のフローチャートである。OSD解像度管理部4101は解像度選択判断部4105にOSD解像度を渡し変更要求を行う(S4401)。変更要求されたOSD解像度に合わせて表示可能な組合せの選択を試みる(S4402)。結果として、要求したOSD解像度に変更できたか判断し(S4403)、変更できた場合、OSD解像度管理部4101にOSD解像度変更通知が行われる(S4404)。このOSD解像度変更に伴い、ビデオ解像度も変更されたかを判断し(S4405)、変更された場合、ビデオ解像度管理部4102にビデオ解像度変更通知が行われる(S4406)。このOSD解像度変更に伴い、スチル解像度も変更されたかを判断し(S4407)、変更された場合、スチル解像度管理部4103にスチル解像度変更通知が行われる(S4408)。
図45は、ビデオ解像度管理部4102に現在のビデオプレーンの解像度変更要求があった場合の解像度選択判断部4105のフローチャートである。ビデオ解像度管理部4102は解像度選択判断部4105にビデオ解像度を渡し変更要求を行う(S4501)。変更要求されたビデオ解像度に合わせて表示可能な組合せの選択を試みる(S4502)。結果として、要求したビデオ解像度に変更できたか判断し(S4503)、変更できた場合、ビデオ解像度管理部4102にビデオ解像度変更通知が行われる(S4504)。このビデオ解像度変更に伴い、OSD解像度も変更されたかを判断し(S4505)、変更された場合、OSD解像度管理部4101にOSD解像度変更通知が行われる(S4506)。このビデオ解像度変更に伴い、スチル解像度も変更されたかを判断し(S4507)、変更された場合、スチル解像度管理部4103にスチル解像度変更通知が行われる(S4508)。
図46は、スチル解像度管理部4103に現在のスチルプレーンの解像度変更要求があった場合の解像度選択判断部4105のフローチャートである。スチル解像度管理部4103は解像度選択判断部4105にスチル解像度を渡し変更要求を行う(S4601)。変更要求されたスチル解像度に合わせて表示可能な組合せの選択を試みる(S4602)。結果として、要求したスチル解像度に変更できたか判断し(S4603)、変更できた場合、スチル解像度管理部4103にスチル解像度変更通知が行われる(S4604)。このスチル解像度変更に伴い、ビデオ解像度も変更されたかを判断し(S4605)、変更された場合、ビデオ解像度管理部4102にビデオ解像度変更通知が行われる(S4606)。このスチル解像度変更に伴い、OSD解像度も変更されたかを判断し(S4607)、変更された場合、OSD解像度管理部4101にOSD解像度変更通知が行われる(S4608)。
図47、図48は、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部4105のフローチャートである。ビデオフォーマット解像度変更検知部4104は解像度選択判断部4105にビデオフォーマット解像度変更を通知する(S4701)。1次記憶部511に記憶されている最適OSD解像度を順に取得する(S4702)。最適OSD解像度が取得できたか判断する(S4703)。S4703にて取得できた場合には、ビデオフォーマット解像度と取得した最適OSD解像度に合わせて表示可能な組合せの選択を試みる(S4704)。その結果、表示可能な組合せが存在するか判断する(S4705)。S4705にて存在する場合は、S4801に行く。S4705にて存在しない場合は、S4702に戻る。S4703にて、最適OSD解像度が取得できない、すなわち順に最適OSD解像度の取得することが終了した場合、ビデオフォーマット解像度と合わせて表示可能な組合せの選択を試みる(S4706)。S4704又はS4706の結果として、OSD解像度が変更されたかを判断し(S4801)、変更された場合、OSD解像度管理部4101にOSD解像度変更通知が行われる(S4802)。ビデオ解像度が変更されたかを判断し(S4803)、変更された場合、ビデオ解像度管理部4102にビデオ解像度変更通知が行われる(S4804)。スチル解像度が変更されたかを判断し(S4805)、変更された場合、スチル解像度管理部4103にスチル解像度変更通知が行われる(S4806)。
これにより、アプリケーションプログラム3100は、解像度切替部1205fに対して、アプリケーション自身の表示が最適に表示できるOSD解像度を、複数登録することが可能となる。アプリケーションプログラム3100が、複数の解像度に対応可能である場合、ビデオフォーマット解像度の変更に合わせて、より多くの機会で、ビデオの表示とアプリケーションの表示に関して歪まず表示させることが可能となる。
(実施の形態4)
実施の形態3においては、アプリケーションプログラム3100のようなアプリケーションが複数存在して表示されている場合に、どのアプリケーションプラグラムが登録した最適OSD解像度に合わせて表示可能な組合せを判断するか不確定になる場合がある。
実施の形態3においては、アプリケーションプログラム3100のようなアプリケーションが複数存在して表示されている場合に、どのアプリケーションプラグラムが登録した最適OSD解像度に合わせて表示可能な組合せを判断するか不確定になる場合がある。
よって、本実施の形態においては、図49に示すように、最適解像度管理部4106において、アプリケーションプログラムを識別するJavaプログラム識別子4900と最適OSD解像度の組(4901、4902、4903等)で登録するものとし、解像度選択判断部4105において、登録されているJavaプログラム識別子と最適OSD解像度の組(4901、4902、4903等)のJavaプログラム識別子4900より、図20に示される優先度2005を取得し、表示可能な組合せの判断時に優先度2005を利用して判断するものとする。解像度切替部1205fに含まれる他のOSD解像度管理部4101、ビデオ解像度管理部4102、スチル解像度管理部4103、ビデオフォーマット解像度変更検知部4104の機能は変わらないものとする。
以下に、機能が変わる最適解像度管理部4106と解像度選択判断部4105の処理について説明する。
図50は、アプリケーションプログラム3100が、最適OSD解像度を登録する場合の最適解像度管理部4106のフローチャートである。アプリケーションプログラム3100は、登録する最適OSD解像度を最適解像度管理部4106に登録要求する(S5001)。最適解像度管理部4106は登録要求したアプリケーションプログラムのJavaプログラム識別子を取得する(S5002)。最適解像度管理部4106は、取得したJavaプログラム識別子と登録要求された最適OSD解像度の組を1次記憶部511に記憶する(S5003)。
図50は、アプリケーションプログラム3100が、最適OSD解像度を登録する場合の最適解像度管理部4106のフローチャートである。アプリケーションプログラム3100は、登録する最適OSD解像度を最適解像度管理部4106に登録要求する(S5001)。最適解像度管理部4106は登録要求したアプリケーションプログラムのJavaプログラム識別子を取得する(S5002)。最適解像度管理部4106は、取得したJavaプログラム識別子と登録要求された最適OSD解像度の組を1次記憶部511に記憶する(S5003)。
図51は、アプリケーションプログラム3100が、最適OSD解像度を削除する場合の最適解像度管理部4106のフローチャートである。アプリケーションプログラム3100は、削除する最適OSD解像度を最適解像度管理部4106に登録要求する(S5101)。最適解像度管理部4106は削除要求したアプリケーションプログラムのJavaプログラム識別子を取得する(S5102)。最適解像度管理部4106は、取得したJavaプログラム識別子と削除要求された最適OSD解像度の組を1次記憶部511から削除する(S5103)。
図52、図53、図54は、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部4105のフローチャートである。ビデオフォーマット解像度変更検知部4104は解像度選択判断部4105にビデオフォーマット解像度変更を通知する(S5201)。1次記憶部511に記憶されているJavaプログラム識別子と最適OSD解像度の組を順に取得する(S5202)。Javaプログラム識別子と最適OSD解像度の組が取得できたか判断する(S5203)。S5203にて取得できた場合、ビデオフォーマット解像度と取得した組の最適OSD解像度に合わせて表示可能な組合せの選択を試みる(S5204)。S5204の結果、表示可能な組合せが存在するか判断する(S5205)。S5205にて存在した場合は、表示可能な組合せとJavaプログラム識別子の組を全て、維持記憶部511に記憶し(S5206)、S5202に戻る。S5205にて存在しない場合は、S5202に戻る。S5203にて、Javaプログラム識別子と最適OSD解像度の組が取得できない、すなわち順に最適OSD解像度の取得することが終了した場合、S5206にて記憶したJavaプログラム識別子と最適OSD解像度の組が存在するか判断する(S5301)。S5301にて記憶した組が存在する場合、1次記憶部511から表示可能な組合せとJavaプログラムの識別子の組を順に取得し(S5302)、2次記憶部510からそれぞれの組のJavaプログラムの識別子に対応する優先度を取得し比較することにより、一番優先度の高い表示可能な組合せを抽出する(S5303)。S5301にて記憶した組が存在しない場合、ビデオフォーマット解像度と合わせて表示可能な組合せの選択を試みる(S5304)。S5303又はS5304の結果として、OSD解像度が変更されたかを判断し(S5401)、変更された場合、OSD解像度管理部4101にOSD解像度変更通知が行われる(S5402)。ビデオ解像度が変更されたかを判断し(S5403)、変更された場合、ビデオ解像度管理部4102にビデオ解像度変更通知が行われる(S5404)。スチル解像度が変更されたかを判断し(S5405)、変更された場合、スチル解像度管理部4103にスチル解像度変更通知が行われる(S5406)。
これにより、アプリケーションプログラムが複数存在して表示されている場合にも、それぞれのアプリケーションプログラムが登録した最適OSD解像度全てを考慮して表示可能な組合せの映像解像度を判断することが可能となる。
(実施の形態5)
実施の形態2において、解像度選択判断部3105の動作を図55及び図37とすることが実施可能である。ビデオフォーマット解像度変更検知部4001は解像度選択判断部3105にビデオフォーマット解像度変更を通知する(S3601)。ビデオフォーマット解像度と現状のOSD解像度及びスチル解像度に合わせて表示可能な組合せの選択を試みる(S5502)。その結果、表示可能な組合せが存在しない場合(S3603)、現状のOSDプレーンの解像度が維持できる表示可能な組合せの選択を試みる(S5504)。その結果、表示可能な組合せが存在しない場合(S3605)、ビデオフォーマット解像度に合わせて表示可能な組合せの選択を試みる(S3606)。その結果、OSD解像度が変更されたかを判断し(S3701)、変更された場合、OSD解像度管理部3101にOSD解像度変更通知が行われる(S3702)。ビデオ解像度が変更されたかを判断し(S3703)、変更された場合、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S3704)。スチル解像度が変更されたかを判断し(S3705)、変更された場合、スチル解像度管理部3103にスチル解像度変更通知が行われる(S3706)。
実施の形態2において、解像度選択判断部3105の動作を図55及び図37とすることが実施可能である。ビデオフォーマット解像度変更検知部4001は解像度選択判断部3105にビデオフォーマット解像度変更を通知する(S3601)。ビデオフォーマット解像度と現状のOSD解像度及びスチル解像度に合わせて表示可能な組合せの選択を試みる(S5502)。その結果、表示可能な組合せが存在しない場合(S3603)、現状のOSDプレーンの解像度が維持できる表示可能な組合せの選択を試みる(S5504)。その結果、表示可能な組合せが存在しない場合(S3605)、ビデオフォーマット解像度に合わせて表示可能な組合せの選択を試みる(S3606)。その結果、OSD解像度が変更されたかを判断し(S3701)、変更された場合、OSD解像度管理部3101にOSD解像度変更通知が行われる(S3702)。ビデオ解像度が変更されたかを判断し(S3703)、変更された場合、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S3704)。スチル解像度が変更されたかを判断し(S3705)、変更された場合、スチル解像度管理部3103にスチル解像度変更通知が行われる(S3706)。
この動作とすることにより、OSDプレーンの解像度が優先的に維持される。実施の形態1における、図39で示されるような、OSDプレーンの解像度を一手に保ちたいアプリケーションの実装が容易になる。実施の形態1では、この主のアプリケーションは、明示的に、OSD解像度管理部3101に対して希望のOSD解像度の変更要求を出す必要があった。しかし、本実施の形態では、その必要は無い。一方、本実施の形態において、図38に示されるようなビデオプレーンの解像度を優先したいアプリケーションにおいては、解像度選択判断部3105から、ビデオデコーダ508が展開したビデオ映像のフォーマットが変更されたことを通知された際、そのフォーマットに合わせて、OSD解像度管理部3101にOSDプレーンの解像度の変更要求を出すことによって、ビデオプレーンの解像度を優先することができる。
なお、本実施の形態においては、OSDプレーンの解像度を優先することとしているが、図55のフローチャートにおいて、ステップS5504を「変更通知されたビデオフォーマット解像度を維持できる、表示可能な組み合わせの選択を試みる」としてもよい。これにより、アプリケーションがOSDプレーンの解像度の指定を行っても、ビデオプレーンの解像度が優先され、図38に示されるようなビデオプレーンの解像度を優先したいアプリケーションの実装が容易になる。
また、本実施の形態においては、OSDプレーンの解像度を優先することとしているが、図55のフローチャートにおいて、ステップS5504を「現状のスチル解像度を維持できる、表示可能な組み合わせの選択を試みる」としてもよい。これにより、アプリケーションがOSDプレーンの解像度の指定を行っても、スチルプレーンの解像度が優先され、スチルプレーンの解像度を優先したいアプリケーションの実装が容易になる。
また、本実施の形態において、優先すべきプレーンの指定を受け付ける優先プレーン受付部を付加することも実施可能である。アプリケーションプログラム3100は、優先したいプレーンを優先プレーン受付部に指定する。このとき、優先プレーン受付部は、受け付けたプレーンを1次記憶部511に記憶する。解像度選択判断部3105は、図55のフローチャートのステップS5504を「1次記憶部511が保持するプレーンの解像度を維持できる、表示可能な組み合わせの選択を試みる」とする。
この結果、アプリケーションは解像度を維持したいプレーンを指定することができ、実装が容易になる。
更に、優先プレーン受付部は第1優先プレーン、第2優先プレーンを受け付けることも実施可能である。アプリケーションプログラム3100は、第1優先プレーン及び第2優先プレーンを優先プレーン受付部に指定する。このとき、優先プレーン受付部は、受け付けた第1優先プレーン及び第2優先プレーンを1次記憶部511に記憶する。解像度選択判断部3105は、図55のフローチャートのステップS5504を「1次記憶部511が保持する第1優先プレーン及び第2優先プレーンの解像度を維持できる、表示可能な組み合わせの選択を試みる。両立しない場合は、第1優先プレーンの解像度を維持できる、表示可能な組み合わせの選択を試みる。」とする。
更に、優先プレーン受付部は第1優先プレーン、第2優先プレーンを受け付けることも実施可能である。アプリケーションプログラム3100は、第1優先プレーン及び第2優先プレーンを優先プレーン受付部に指定する。このとき、優先プレーン受付部は、受け付けた第1優先プレーン及び第2優先プレーンを1次記憶部511に記憶する。解像度選択判断部3105は、図55のフローチャートのステップS5504を「1次記憶部511が保持する第1優先プレーン及び第2優先プレーンの解像度を維持できる、表示可能な組み合わせの選択を試みる。両立しない場合は、第1優先プレーンの解像度を維持できる、表示可能な組み合わせの選択を試みる。」とする。
(実施の形態6)
実施の形態1において、図38、図39に示される2つのアプリケーションが同時に実行されている場合、どちらのアプリケーションを優先するかを決める必要がある。本実施の形態においては、第1の実施の形態において、解像度切替部1205fの構成を図56とする。図31と同じ番号の構成要素は同じ働きを行うため、説明を書略する。変更許可部5601は、アプリケーションプログラム3100の変更要求の許可を行う。アプリケーションプログラム3100は、OSD解像度管理部5602、ビデオ解像度管理部5603、スチル解像度管理部5604に解像度の変更要求を行う前に、変更許可部5601に変更許可を得る。許可を得た後、必要な変更要求を行い、変更要求が必要なくなれば、変更許可部5601に許可が不要になったことを通知する。変更許可部5601は、既に許可を発行後に他のアプリケーションが許可を求めてきた際、2つのアプリケーションの優先度を比較して、どちらに許可を与えるか決定する、アプリケーションの優先度は、実施の形態1における図20の例のようにアプリヶ―ションに予め割り当てられた優先度を変更許可部5601が参照してもよいし、アプリケーションプログラム3100が変更許可部5601に明示的に与えても良い。OSD解像度管理部5602、ビデオ解像度管理部5603、スチル解像度管理部5604は、OSD解像度管理部3101、ビデオ解像度管理部3102、スチル解像度管理部3103の機能に加え、変更許可部5601に許可を得ていないアプリケーションプログラム3100からの要求を受け付けない。 本実施の形態を実現することにより、複数のアプリケーションの要求を受け付けるかを明確にすることができるため、複数のアプリケーションの同時実行が可能になる。
実施の形態1において、図38、図39に示される2つのアプリケーションが同時に実行されている場合、どちらのアプリケーションを優先するかを決める必要がある。本実施の形態においては、第1の実施の形態において、解像度切替部1205fの構成を図56とする。図31と同じ番号の構成要素は同じ働きを行うため、説明を書略する。変更許可部5601は、アプリケーションプログラム3100の変更要求の許可を行う。アプリケーションプログラム3100は、OSD解像度管理部5602、ビデオ解像度管理部5603、スチル解像度管理部5604に解像度の変更要求を行う前に、変更許可部5601に変更許可を得る。許可を得た後、必要な変更要求を行い、変更要求が必要なくなれば、変更許可部5601に許可が不要になったことを通知する。変更許可部5601は、既に許可を発行後に他のアプリケーションが許可を求めてきた際、2つのアプリケーションの優先度を比較して、どちらに許可を与えるか決定する、アプリケーションの優先度は、実施の形態1における図20の例のようにアプリヶ―ションに予め割り当てられた優先度を変更許可部5601が参照してもよいし、アプリケーションプログラム3100が変更許可部5601に明示的に与えても良い。OSD解像度管理部5602、ビデオ解像度管理部5603、スチル解像度管理部5604は、OSD解像度管理部3101、ビデオ解像度管理部3102、スチル解像度管理部3103の機能に加え、変更許可部5601に許可を得ていないアプリケーションプログラム3100からの要求を受け付けない。 本実施の形態を実現することにより、複数のアプリケーションの要求を受け付けるかを明確にすることができるため、複数のアプリケーションの同時実行が可能になる。
(実施の形態7)
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図1は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図1は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
ヘッドエンド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は、端末装置のハードウエア構成を表すブロック図である。500は端末装置であり、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、スピーカ507、ビデオデコーダ508、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514、スチルデコーダ515、OSD制御部516、ビデオバッファ517、スチルバッファ518、OSDバッファ519、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522、合成部523で構成される。また端末装置500には、POD504が着脱できる。
図6は、端末装置500の外観の一例である薄型テレビである。
601は、薄型テレビの筐体であり、POD504を除く、端末装置500の構成要素をすべてを内蔵している。
601は、薄型テレビの筐体であり、POD504を除く、端末装置500の構成要素をすべてを内蔵している。
602はディスプレイであり、図5におけるディスプレイ509に相当する。
603は複数のボタンで構成されるフロントパネル部であり、図5の入力部513に相当する。
603は複数のボタンで構成されるフロントパネル部であり、図5の入力部513に相当する。
604は信号入力端子であり、ヘッドエンド101との信号の送受信を行うためにケーブル線を接続する。信号入力端子は、図5のQAM復調部501、QPSK復調部502、QPSK変調部503と接続されている。
605は、図5のPOD504に相当するPODカードである。POD504は、図6のPODカード605のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。
606はPODカード605を挿入する挿入スロットである。
図5を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、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)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
POD504は、図6のように端末装置本体500から着脱可能な形態をしている。端末本体500とPOD504の接続インターフェースは、OpenCable(TM) HOST−POD Interface Specification(OC−SP−HOSTPOD−IF−I12−030210)及び、この仕様書から参照されている仕様書で定義されている。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
図7は、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が処理を行う際、一時的にデータを保存するために使用される。
第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は、電源投入時にメインプログラム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から与えられた信号を音声出力する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを与えられたビデオ解像度でデコードし、デコードしたビデオデータをビデオバッファ517に格納する。ここで、与えられたビデオ解像度は、後述するビデオ解像度管理部3102からビデオデコーダ508に渡され、ビデオデコーダ508はビデオ解像度をビデオバッファ517に格納する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを与えられたビデオ解像度でデコードし、デコードしたビデオデータをビデオバッファ517に格納する。ここで、与えられたビデオ解像度は、後述するビデオ解像度管理部3102からビデオデコーダ508に渡され、ビデオデコーダ508はビデオ解像度をビデオバッファ517に格納する。
また、ビデオデコーダ508にビデオ解像度が渡されていない場合、デフォルトのビデオ解像度が使用される。
また、ビデオ解像度管理部3102がビデオバッファ517にビデオ解像度を格納し、デコードの際、ビデオデコーダ508がビデオバッファ517に格納されているビデオ解像度を参照してデコードするでもよい。
また、ビデオ解像度管理部3102がビデオバッファ517にビデオ解像度を格納し、デコードの際、ビデオデコーダ508がビデオバッファ517に格納されているビデオ解像度を参照してデコードするでもよい。
また、同時にビデオのデータの解像度や4:3や16:9等の映像の縦横比などの映像情報を読み取り、映像情報に変化を検知する。検知した情報は、後述するビデオフォーマット解像度変更検知部3104に通知される。
スチルデコーダ515は、CPU514から指示されたMPEG−Iフレームデータ(またはスチルデータともいう)を与えられたスチル解像度でデコードし、デコードしたスチルデータをスチルバッファ518に格納する。ここで、与えられたスチル解像度は、後述するスチル解像度管理部3103からスチルデコーダ515に渡され、スチルデコーダ515はスチル解像度をスチルバッファ518に格納する。スチルデコーダ515にスチル解像度が渡されていない場合、デフォルトのスチル解像度が使用される。
また、スチル解像度管理部3103がスチルバッファ518にスチル解像度を格納し、デコードの際、スチルデコーダ515がスチルバッファ518に格納されているスチル解像度を参照してデコードするでもよい。MPEG2−Iフレームの詳細はMPEG規格書 ISO/IEC13818−2に記載されており、本実施の形態では詳細は省略する。
OSD制御部516は、与えられたOSD解像度でCPU514からの指示されたOSDデータ(グラフィックスデータともいう)をOSDバッファ519に格納する。あるいは、文字図形が描画されている1次記憶部511のオフスクリーンバッファの内容をOSDバッファ519にアルファブレンド処理を行いながら高速転送する。アルファブレンド処理に関しては、詳細はDVB−MHP規格書を参照されたい。ここで、与えられたOSD解像度は、後述するOSD解像度管理部3101からOSD制御部516に渡され、OSD制御部516はOSD解像度をOSDバッファ519に格納する。OSD制御部516にOSD解像度が渡されていない場合、デフォルトのOSD解像度を使用する。
また、OSD解像度管理部3101がOSDバッファ519にOSD解像度を格納するでもよい。
また、OSD制御部516の構成要素はソフトウェアとして実現し、ハードウェアとしての構成要素としては削除してもよい。
また、OSD制御部516の構成要素はソフトウェアとして実現し、ハードウェアとしての構成要素としては削除してもよい。
ビデオバッファ517は、ビデオデコーダ508に与えられるビデオ解像度とビデオデコーダ508がデコードしたビデオデータを格納するバッファであり、具体的にはメモリなどで構成される。尚、ビデオ解像度は、後述するビデオ解像度管理部3102から与えられてもよい。
スチルバッファ518は、スチルデコーダ515から与えられるスチル解像度とスチルコーダ515がデコードしたスチルデータを格納するバッファであり、具体的にはメモリなどで構成される。尚、スチル解像度は、後述するスチル解像度管理部3103から与えられてもよい。
OSDバッファ519は、OSD制御部516から与えられるOSD解像度とOSD制御部516から転送されたOSDデータを格納するバッファであり、具体的にはメモリなどで構成される。尚、OSD解像度は、後述するOSD解像度管理部3101から与えられてもよい。
ビデオ拡縮部520は、与えられた拡大縮小比率により、ビデオバッファ517に格納されているビデオデータを拡大縮小して合成部523へ渡す。ここで、与えられた拡大縮小比率は、後述するビデオ解像度管理部3102から渡される。また、拡大縮小比率が渡されていない場合、デフォルトの拡大縮小比率を使用する。
スチル拡縮部521は、与えられた拡大縮小比率により、スチルバッファ518に格納されているスチルデータを拡大縮小して合成部523へ渡す。ここで、与えられた拡大縮小比率は、後述するスチル解像度管理部3103から渡される。また、拡大縮小比率が渡されていない場合、デフォルトの拡大縮小比率を使用する。
OSD拡縮部522は、与えられた拡大縮小比率により、OSDバッファ519に格納されているOSDデータを拡大縮小して合成部523へ渡す。ここで、与えられた拡大縮小比率は、後述するOSD解像度管理部3101から渡される。また、拡大縮小比率が渡されていない場合、デフォルトの拡大縮小比率を使用する。
合成部523は、CPU514から指示された各バッファのZオーダーに従い、ビデオ拡縮部520から渡されたビデオデータとスチル拡縮部521から渡されたスチルデータとOSD拡縮部522から渡されたOSDデータを重畳して、ディスプレイ509に出力する。CPU514から指示される各バッファのZオーダーに関して説明すると、一般的なテレビ受信端末は、文字図形を表示するOSDバッファ、ビデオを表示するビデオバッファ、静止画を表示するスチルバッファの3層構造を持っており、その重畳の順番をZオーダーと呼ぶ。例えば、図57で説明すると、5701が視聴者からみて前面に見える第1バッファ、5702が5701の背面である第2バッファ、5703が最背面である第3バッファとすると、図58のように6パターンの組合せが存在することになる。
ディスプレイ509は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ508から与えられたビデオ信号を出力したり、CPU514から指示されたメッセージを表示したりする。
2次記憶部510は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを一次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
ROM512は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザーからの入力を受け付ける。図11は、フロントパネルで入力部513を構成した場合の一例である。1100はフロントパネルであり、図6のフロントパネル部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を制御する。
図12は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、JavaVM1203、サービスマネージャ1204、Javaライブラリ1205で構成される。
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、JavaVM1203、サービスマネージャ1204、Javaライブラリ1205で構成される。
OS1201は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1201は、オペレーティングシステムの略であり、Linux等が一例である。OS1201は、他のサブプログラムを平行して実行するカーネル1201a及びライブラリ1201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1201のカーネル1201aは、EPG1202とJavaVM1203をサブプログラムとして実行する。また、ライブラリ1201bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1201bを通してQAM復調器を制御することができる。
EPG1202は、ユーザーに番組一覧を表示及び、ユーザーからの入力を受け付ける番組表示部1202aと、チャンネル選局を行う再生部1202bで構成される。ここで、EPGはElectric Program Guideの略である。EPG1202は、端末装置500の電源が投入されると、カーネル1201aによって起動される、起動されたEPG1202の内部では、番組表示部1202aが端末装置500の入力部513を通して、ユーザーからの入力を待つ。ここで、入力部513が図11で示されるフロントパネルで構成されている場合、ユーザーが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1202の番組表示部1202aは、この識別子を受け取り、番組情報をディスプレイ509に表示する。図13(1)及び(2)は、ディスプレイ509に表示された番組表の一例である。図13(1)を参照して、ディスプレイ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を押下すると移動する。図13(1)の状態で、右カーソル1104を押下すると、カーソル1330は右に移動し、図13(2)のようになる。また、図13(2)の状態で、左カーソル1103を押下すると、カーソル1330は左に移動し、図13(1)のようになる。
図13(1)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル1」の識別子を再生部1202bに通知する。図13(2)の状態で、フロントパネル1100のOKボタン1105が押下されると、番組表示部1202aは、「チャンネル2」の識別子を再生部1202bに通知する。
また、番組表示部1202aは、表示する番組情報を、POD504を通してヘッドエンド101から定期的に、1次記憶部511に記憶しておく。一般的に、ヘッドエンドからの番組情報の取得は時間が掛かる。入力部513のEPGボタン1107が押下された時、1次記憶部511に予め保存された番組情報を表示することで、素早く番組表を表示することができる。
再生部1202bは、受け取ったチャンネルの識別子を用いて、チャンネルを再生する。チャンネルの識別子とチャンネルの関係は、チャンネル情報として、2次記憶部510に予め格納されている。図14は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に現在再生中のチャンネルの識別子を記憶する。図15(1)(2)及び(3)は、1次記憶部511に保存しているチャンネルの識別子の例である。図15(1)では識別子「3」が記憶されており、図14を参照し、チャンネル名「TV 3」のチャンネルが再生中であることを示す。図15(1)の状態で、ユーザーが上カーソル1101を押下すると再生部1202bは、図14のチャンネル情報を参照し、表中の前のチャンネルであるチャンネル名「チャンネル2」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「チャンネル2」の識別子「2」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「2」に書き換える。図15(2)は、チャンネル識別子が書き換えられた状態を表す。また、図15(1)の状態で、ユーザーが下カーソル1102を押下すると再生部1202bは、図14のチャンネル情報を参照し、表中の次のチャンネルであるチャンネル名「TV Japan」のチャンネルに再生を切り変えるため、サービスマネージャにチャンネル名「TV Japan」の識別子「4」を引き渡す。同時に、1次記憶部511に記憶されているチャンネル識別子「4」に書き換える。図15(3)は、チャンネル識別子が書き換えられた状態を表す。
JavaVM1203は、Java(TM)言語で記述されたプログラムを逐次解析し実行するJavaバーチャルマシンである。Java言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Javaバーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJavaバーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引渡し、実行することも行う。JavaVM1203は、カーネル1201aに実行するJavaプログラムを指定され起動される。本実施の形態では、カーネル1201aは、実行するJavaプログラムとしてサービスマネージャ1204を指定する。Java言語の詳細は、書籍「Java Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、JavaVM自体の詳細な動作などは、「Java Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、Java言語で書かれたJavaプログラムであり、JavaVM1203によって逐次実行される。サービスマネージャ1204は、JNI(Java Native Interface)を通して、Java言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、JNIを通して、再生部1202bよりチャンネルの識別子を受け取る。
サービスマネージャ1204は、最初にJavaライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図14の行1412を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
サービスマネージャ1204は、最初にJavaライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図14の行1412を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
次にサービスマネージャ1204は、Javaライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
次にサービスマネージャ1204は、Javaライブラリ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のパケットを収集する。図16は、収集したPATの情報の一例を模式的に表した表である。列1601は、プログラムナンバーである。列1602は、パケットIDである。列1602のパケットIDはPMTを取得するために用いられる。行1611〜1613は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1611はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図14の行1412を参照して、対応するプログラムナンバー「102」を獲得し、次に、図16の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のパケットを収集する。図17は、収集したPMTの情報の一例を模式的に表した表である。列1701は、ストリーム種別であり。列1702は、パケットIDである。列1702で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1703は補足情報である。行1711〜1714はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行1711は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図17を参照して、JMF1205aは、行1711から音声のパケットID「5011」を、行1712から映像のパケットID「5012」を獲得する。
まず、最初に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のパケットを収集する。図16は、収集したPATの情報の一例を模式的に表した表である。列1601は、プログラムナンバーである。列1602は、パケットIDである。列1602のパケットIDはPMTを取得するために用いられる。行1611〜1613は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1611はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図14の行1412を参照して、対応するプログラムナンバー「102」を獲得し、次に、図16の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のパケットを収集する。図17は、収集したPMTの情報の一例を模式的に表した表である。列1701は、ストリーム種別であり。列1702は、パケットIDである。列1702で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1703は補足情報である。行1711〜1714はエレメンタリ−ストリームと呼ばれる、パケットIDと送信している情報の種別の組である。行1711は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図17を参照して、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は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを、ビデオバッファ517に格納する。
ビデオ拡縮部520は、CPU514から指示された拡大縮小命令により、ビデオバッファ517に格納されているデータを拡大縮小して合成部523へ渡す。
合成部523は、CPU514から指示されたZオーダーに従い、ビデオ拡縮部520から渡されたデータとスチル拡縮部521から渡されたデータとOSD拡縮部522から渡されたデータを重畳して、ディスプレイ509に出力する。
合成部523は、CPU514から指示されたZオーダーに従い、ビデオ拡縮部520から渡されたデータとスチル拡縮部521から渡されたデータとOSD拡縮部522から渡されたデータを重畳して、ディスプレイ509に出力する。
最後にサービスマネージャ1204は、Javaライブラリ1205の中にあるAM1205bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJavaプログラムを抽出し、JavaVM1203に実行させることである。MPEG2トランスポートストリームにJavaプログラムを埋め込む方法は、MPEG規格書 ISO/IEC13818−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJavaプログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、DVB−MHP規格(正式には、ETSI TS 101 812 DVB−MHP仕様V1.0.2)の10章に定義されている、Application Information Tableの略である。
AM1205bは、まず、AITを獲得するため、JMF1205a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図16のPAT、図17のPMTが送信されていると、JMF1205aと同様の手順で、図17のPMTを獲得する。AM1205bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリ−ストリームからパケットIDを抽出する。図17を参照して、行1713のエレメンタリ−ストリームが該当し、パケットID「5013」を獲得する。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、AITのパケットを収集することができる。図18は、収集した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つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM1205bは、AITの中から「autostart」のJavaプログラムを見つけ出し、対応するDSMCC識別子及びJavaプログラム名を抽出する。図18を参照して、AM1205bは行1811のJavaプログラムを抽出し、DSMCC識別子「1」及びJavaプログラム名「a/TopXlet」を獲得する。
次にAM1205bは、AITから取得したDSMCC識別子を用いて、JavaプログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリ−ストリームのパケットIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図17とすると、行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等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、必要なパケットを収集することができる。AM1205bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポートストリーム中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
図19は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、1901はルートディレクトリ、1902はディレクトリ「a」,1903はディレクトリ「b」,1904はファイル「TopXlet.class」、1905はファイル「GameXlet.class」である。
次にAM1205bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJavaプログラムをJavaVM1203に引き渡す。今、実行するJavaプログラム名が「a/TopXlet」とすると、Javaプログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図19を参照して、ファイル1904が実行すべきJavaプログラムである。次にAM1205bは、ファイル1904をJavaVM1203に引き渡す。
JavaVM1203は、引き渡されたJavaプログラムを実行する。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、Javaライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJavaプログラムの実行を、同じくJavaライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJavaプログラムの実行を行う。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、Javaライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJavaプログラムの実行を、同じくJavaライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJavaプログラムの実行を行う。
Javaライブラリ1205は、ROM512に格納されている複数のJavaライブラリの集合である。本実施の形態では、ここでは、Javaライブラリ1205は、JMF1205a,AM1205b,Tuner1205c,CA1205d、POD Lib1205e、解像度切替部1205f、AWT1205g、STL1205h等を含んでいる。
POD Lib1205eは、ライブラリ1201b及びCPU514を通してPOD504からの情報取得やPOD504の制御行う機能を提供する。
解像度切替部1205fは、CPU514を通して、ビデオデコーダ508、ビデオ拡縮部520、スチルデコーダ515、スチル拡縮部521、OSD制御部516、OSD拡縮部522を制御する機能を提供する。詳細は後述する。
解像度切替部1205fは、CPU514を通して、ビデオデコーダ508、ビデオ拡縮部520、スチルデコーダ515、スチル拡縮部521、OSD制御部516、OSD拡縮部522を制御する機能を提供する。詳細は後述する。
AWT1205gは、Javaプログラムからの描画指示を受け付ける。受け付けた指示に基づき、必要な情報をOSD制御部516に送ることで、OSDバッファに文字図形を描画する。具体的な描画処理の例は、線を引いたり四角を書くなどであり、Java.awtパッケージに規定されているクラス及びインターフェース仕様で実現される公知の技術である。よって、詳細は省略する。尚、文字図形描画を行う際、一旦、1次記憶部511からオフスクリーン用のメモリを獲得し、獲得したオフスクリーンバッファに文字図形描画した後、オフスクリーンの内容をOSD制御部516に転送してもよい。
STL1205hは、Javaプログラムからの表示するMPEG−Iフレームデータとその表示位置を受け付ける。STL1205hは、受け付けたMPEG−Iフレームデータと表示位置を、スチルデコーダ515に引き渡す。スチルデコーダ515は、与えられた表示位置にMPEG−Iフレームデータをデコードし、スチルバッファ518に格納する。これによりJavaプログラムは、スチルバッファへの描画を行うことができる。
図24は、ビデオの表示処理に関するフローチャートである。TSデコーダ505はビデオデータをビデオデコーダ508に転送する(S2401)。ビデオデコーダ508は、転送されたビデオデータをデコードし、その結果をビデオバッファ517に格納する(S2402)。CPU514からビデオの表示に関して拡大縮小の指示があるか判断する(S2403)。拡大縮小の指示がある場合は、ビデオ拡縮部520はビデオバッファ517に格納されているデータに対して拡大縮小処理を行い(S2404)、合成部523に転送する(S2405)。拡大縮小の指示がない場合は、ビデオ拡縮部520はビデオバッファ517に格納されているデータを合成部523に転送する(S2405)。
図25は、スチルの表示処理に関するフローチャートである。CPU514からスチルデコーダ515へMPEG2−Iフレームデータが渡される(S2501)。スチルデコーダ515は、渡されたMPEG2−Iフレームデータをデコードし、その結果をスチルバッファ518に格納する(S2502)。CPU514からスチルの表示に関して拡大縮小の指示があるか判断する(S2503)。拡大縮小の指示がある場合は、スチル拡縮部521はスチルバッファ518に格納されているデータに対して拡大縮小処理を行い(S2504)、合成部523に転送する(S2505)。拡大縮小の指示がない場合は、スチル拡縮部521はスチルバッファ518に格納されているデータを合成部523に転送する。
図26は、OSDの表示処理に関するフローチャートである。CPU514からOSD制御部516へ文字や図形データが渡される(S2601)。OSD制御部516は、渡された文字や図形データに基づき、OSDバッファ519にイメージを構成する(S2602)。CPU514からOSDの表示に関して拡大縮小の指示があるか判断する(S2603)。拡大縮小の指示がある場合は、OSD拡縮部522はOSDバッファ519に格納されているデータに対して拡大縮小処理を行い(S2604)、合成部523に転送する(S2605)。拡大縮小の指示がない場合は、OSD拡縮部522はOSDバッファ519に格納されているデータを合成部523に転送する。
ここで、拡大縮小のイメージを、例を示して説明すると、図28の2801のように、幅720ピクセル、高さ480ピクセルのデータを、幅960ピクセル、高さ540に拡大すると図28の2802のようになる。
図59は、図24で示されるフローチャートで生成されるビデオと図25で示されるフローチャートで生成されるスチルと図26で示されるフローチャートで生成されるOSDの合成処理に関するフローチャートである。合成部523は、CPU514からZオーダーの変更指示があるか判断し(S5901)、変更指示がある場合は、変更指示に従い、第1バッファ5701、第2バッファ5702、第3バッファ5703に、ビデオバッファ517、スチルバッファ518、OSDバッファ519のどのバッファが該当するかを決定する(S5902)。変更指示がない場合は、以前のZオーダーに従う。Zオーダーの組合せは、図58のように6パターンの組合せのいずれかである。次に合成部523は、最背面である第3バッファ5703に該当するバッファが、ビデオバッファ517、スチルバッファ518、OSDバッファ519のどのバッファが該当するか判断し(S5903)、そのバッファが、ビデオバッファ517の場合は合成部523でビデオデータを合成し(S5904)、スチルバッファ518の場合は合成部523でスチルデータを合成し(S5905)、OSDバッファ519の場合は合成部523でOSDデータを合成する(S5906)。例えば、合成するデータのイメージが図29の2901の場合、合成した後のイメージを示すと、図30の3001のようになる。次に合成部523は、第2バッファ5702に該当するバッファが、ビデオバッファ517、スチルバッファ518、OSDバッファのどのバッファ519が該当するか判断し(S5907)、そのバッファが、ビデオバッファ517の場合は合成部523でビデオデータを合成し(S5908)、スチルバッファ518の場合は合成部523でスチルデータを合成し(S5909)、OSDバッファ519の場合は合成部523でOSDデータを合成する(S5910)。例えば、合成するデータのイメージが図29の2902の場合、合成した後のイメージを示すと、図30の3002のようになる。次に合成部523は、最前面である第1バッファ5701に該当するバッファが、ビデオバッファ517、スチルバッファ518、OSDバッファ519のどのバッファが該当するか判断し(S5911)、そのバッファが、ビデオバッファ517の場合は合成部523でビデオデータを合成し(S5912)、スチルバッファ518の場合は合成部523でスチルデータを合成し(S5913)、OSDバッファ519の場合は合成部523でOSDデータを合成する(S5914)。例えば、合成するデータのイメージが図29の2903の場合、合成した後のイメージを示すと、図30の3003のようになる。最後に合成結果をディスプレイ509に出力して表示される(S5915)。
次に、Javaプログラムのダウンロード・保存及び、Javaプログラムの表示動作について説明する。
サービスマネージャ1204は、Javaライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
サービスマネージャ1204は、Javaライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
サービスマネージャ1204は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJavaプログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。どのような送信形式を採用しても、XAITに必要とする情報が含まれていれば、本発明は実施可能である。
図20は、ヘッドエンド101から取得したXAITの情報の一例を模式的に表した表である。列2001はJavaプログラムの識別子である。列2002はJavaプログラムの制御情報である。制御情報には「autoselect」「present」などがあり、「autoselect」は端末装置500が電源投入時にこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味する。列2003は、DSMCC方式でJavaプログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列2004はJavaプログラムのプログラム名である。列2005は、Javaプログラムの優先度である。行2011と2012は、Javaプログラムの情報の組である。行2011で定義されるJavaプログラムは、識別子「701」、制御情報「autoselect」、DSMCC識別子「1」、プログラム名「a/Banner1Xlet」の組である。ここでは、Javaプログラムに対して5つの情報しか規定しないが、より多くの情報が定義されていても本発明は実施可能である。
サービスマネージャ1204は、XAIT情報を受け取ると、AIT情報からJavaプログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムを1次記憶部511に保存する。その後、保存したファイルシステムを2次記憶部510に複写する。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。次に、サービスマネージャ1204は、XAIT情報にダウンロードしたファイルシステムの格納位置を対応つけて2次記憶部510に保存する。図21は、2次記憶部510がXAIT情報とダウンロードしたファイルシステムが対応つけられて保存されている一例を表す。図21の中で、図20と同じ番号の要素は図20と同じなので、説明は省略する。列2101は対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。2110はダウンロードしたファイルシステムであり、内部にトップディレクトリ2111、ディレクトリ「a」2112、ディレクトリ「b」2113、ファイル「Banner1Xlet.class」2114、ファイル「Banner2Xlet.class」2115を保持する。
ここで、XAIT情報は、Javaプログラムを保存してから保存しているが、Javaプログラムを保存する前に保存することも実施可能である。
端末装置500に電源が投入後、OS1201が、サービスマネージャ1204をJavaVM1203に指定し、JavaVM1203がサービスマネージャ1204を起動した後、サービスマネージャ1204は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Javaプログラムの制御情報を参照し「autoselect」のプログラムをJavaVM1203に引き渡し、起動する。図21を参照して、行2011で定義されるJavaプログラム「Banner1Xlet」が起動される。
端末装置500に電源が投入後、OS1201が、サービスマネージャ1204をJavaVM1203に指定し、JavaVM1203がサービスマネージャ1204を起動した後、サービスマネージャ1204は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Javaプログラムの制御情報を参照し「autoselect」のプログラムをJavaVM1203に引き渡し、起動する。図21を参照して、行2011で定義されるJavaプログラム「Banner1Xlet」が起動される。
Javaプログラム「Banner1Xlet」が起動されると、Javaプログラム「Banner1Xlet」が文字や図形を表示する場合、Javaプログラム「Banner1Xlet」はCPU514に対してOSDの表示を指示する。CPU514はOSD制御部516へ文字や図形データを渡し、OSD表示処理が行われ、最終的に合成部523でOSDバッファ519はビデオバッファ517とスチルバッファ518と合成され、ディスプレイ509に表示される。
次に、本発明の主要機能である映像解像度切替機能について説明する。図31は、映像解像度切替機能の構成図である。
アプリケーションプログラム3100は、例えば、Javaプログラム「Banner1Xlet」のようなアプリケーションである。
アプリケーションプログラム3100は、例えば、Javaプログラム「Banner1Xlet」のようなアプリケーションである。
解像度切替部1205fは、OSD解像度管理部3101、ビデオ解像度管理部3102、スチル解像度管理部3103、ビデオフォーマット解像度変更検知部3104、解像度選択判断部3105を含み、映像解像度切替機能を担う。
OSD解像度管理部3101は、OSDバッファ519の解像度を管理する。OSD解像度管理部3101は、アプリケーションプログラム3100から現在のOSDバッファ519の解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にOSDバッファ519の解像度が変更されたことを通知する機能を有する。OSDバッファ519の解像度の変更要求を受け付けた場合、解像度選択判断部3105に通知する。
ビデオ解像度管理部3102は、ビデオバッファ517の解像度を管理する。ビデオ解像度管理部3102は、アプリケーションプログラム3100から現在のビデオバッファ517の解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にビデオバッファ517の解像度が変更されたことを通知する機能を有する。ビデオバッファ517の解像度の変更要求を受け付けた場合、解像度選択判断部3105に通知する。
スチル解像度管理部3103は、スチルバッファ518の解像度を管理する。スチル解像度管理部3103は、アプリケーションプログラム3100から現在のスチルバッファ518の解像度の変更要求を受け付ける機能と、アプリケーションプログラム3100にスチルバッファ518の解像度が変更されたことを通知する機能を有する。スチルバッファ518の解像度の変更要求を受け付けた場合、解像度選択判断部3105に通知する。
ビデオフォーマット解像度変更検知部3104は、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合、解像度選択判断部3105に通知する。
解像度選択判断部3105は、OSD解像度管理部3101に現在のOSDバッファ519の解像度変更要求があった場合と、ビデオ解像度管理部3102に現在のビデオバッファ517の解像度変更要求があった場合と、スチル解像度管理部3103に現在のスチルバッファ518の解像度変更要求があった場合と、ビデオフォーマット解像度変更検知部3104からビデオフォーマットの解像度の変更通知があった場合に、テレビ受信端末の各バッファ間の表示可能な組合せを考慮して、各バッファの解像度を選択する。ここで、表示可能な組合せを説明すると、テレビ受信端末は、文字図形を表示するOSDバッファ519、ビデオを表示するビデオバッファ517、静止画を表示するスチルバッファ518の3層構造を持っており、各バッファ間では表示可能な組合せを持っている。例えば、図60、図61のような組合せである。テレビ受信端末が図60に示す組合せ2(6002)で各バッファを表示している時に、ビデオデコーダ508で受信したビデオフォーマットが、画像解像度が横1920ピクセル縦1080ピクセル及び画面縦横比が16:9に変更された場合、ビデオフォーマットに合わせて、組合せ4(6004)で各バッファの解像度を変更する場合がある。この図60、図61に示される各バッファの組み合わせは、2次記憶部510または、1次記憶部511、または、ROM512に記憶されている。今、各バッファの組み合わせがROM512に格納されているとすると、解像度選択判断部3105は、表示可能な組み合わせを考慮する時、ROM512を参照し、可能な組み合わせの中から特定の規則に従って、最適な1つの組み合わせを選択することを意味する。
図62、図63は、OSD解像度管理部3101に現在のOSDバッファ519の解像度変更要求があった場合の解像度選択判断部3105のフローチャートである。OSD解像度管理部3101は解像度選択判断部3105にOSD解像度を渡し変更要求を行う(S6201)。解像度選択判断部3105は変更要求されたOSD解像度を1次記憶部511に記憶しておく(S6202)。次に、ビデオ解像度管理部3102に現在のビデオ解像度を問い合わせて取得する(S6203)。次に、図60、図61に示される複数のOSDバッファの解像度とビデオバッファの解像度の組合せから、変更要求されたOSD解像度と現在のビデオ解像度の組合せと一致しているものの選択を試みる(S6204)。次に、S6204の結果において、選択可能か判断する(S6205)。
S6205で選択可能であった場合、OSD解像度管理部3101にOSD解像度変更通知が行われる(S6304)。
また、S6205で選択可能でなかった場合、図60、図61の組合せの中からOSDバッファの解像度と変更要求されたOSD解像度が一致している組合せの選択を試みる(S6206)。次に、選択した組合せのビデオの解像度と現在のビデオの解像度が一致しているか比較し、ビデオの解像度が変更されるかどうかを判断する(S6207)。S6207の結果、変更される場合のみ、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S6208)。次に、スチル解像度管理部3103に現在のスチル解像度を問い合わせて取得する(S6301)。選択した組合せのスチルの解像度と現在のスチルの解像度が一致しているか比較し、スチルの解像度が変更されるかどうかを判断する(S6302)。S6301の結果、変更される場合のみ、スチル解像度管理部3103にスチル解像度変更通知が行われる(S6303)。次に、OSD解像度管理部3101にOSD解像度変更通知が行われる(S6304)。
また、S6205で選択可能でなかった場合、図60、図61の組合せの中からOSDバッファの解像度と変更要求されたOSD解像度が一致している組合せの選択を試みる(S6206)。次に、選択した組合せのビデオの解像度と現在のビデオの解像度が一致しているか比較し、ビデオの解像度が変更されるかどうかを判断する(S6207)。S6207の結果、変更される場合のみ、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S6208)。次に、スチル解像度管理部3103に現在のスチル解像度を問い合わせて取得する(S6301)。選択した組合せのスチルの解像度と現在のスチルの解像度が一致しているか比較し、スチルの解像度が変更されるかどうかを判断する(S6302)。S6301の結果、変更される場合のみ、スチル解像度管理部3103にスチル解像度変更通知が行われる(S6303)。次に、OSD解像度管理部3101にOSD解像度変更通知が行われる(S6304)。
ここで、変更されたビデオバッファ517の解像度とビデオデコーダ508がデコードしたビデオ映像の解像度が異なる場合、ビデオデコーダ508はビデオ映像の解像度を変更されたビデオバッファ517の解像度に合わせて、拡大又は縮小してビデオバッファ517に格納する。
ビデオ拡縮部520はビデオバッファ517に格納されたビデオデータをOSDバッファの解像度に合わせて、拡大又は縮小する。例えば、変更された解像度の組合せが図62の組合せ8(6204)であると仮定して説明すると、OSDバッファ519の解像度は960*540であり、ビデオバッファ517の解像度とスチルバッファ518の解像度は1920*1080であるので、ビデオ拡縮部520は、ビデオバッファ517に格納されたビデオデータを1920*1080から960*540に縮小し、スチル拡縮部521は、スチルバッファ518に格納されたスチルデータを1920*1080から960*540に縮小することで、ビデオ、スチル、OSDの解像度が同一になり、合成部523は合成を行うことができる。
尚、上記の例では、ビデオ拡縮部520、スチル拡縮部521がOSDバッファ519の解像度に合わせて拡大又は縮小しているが、スチル拡縮部521、OSD拡縮部522がビデオバッファ517の解像度に合わせて拡大又は縮小する、又は、ビデオ拡縮部520、OSD拡縮部522がスチルバッファ518の解像度に合わせて拡大又は縮小することとしてもよい。
このように、表示可能なビデオバッファ517、スチルバッファ518、OSDバッファ519の解像度の組み合わせは、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522の動作を規定する拡大縮小情報を内包している。あるいは、表示可能なビデオバッファ517、スチルバッファ518、OSDバッファ519の解像度の組み合わせと対応付けて、明示的に拡大縮小情報を2次記憶部510、1次記憶部511、ROM512に等に記憶してもよい。ここで、拡大縮小情報は具体的に、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522各々に対して定義されていてもよいし、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522共通で合成部523に出力すべき解像度として規定されていでもよい。また、この共通の解像度を指定する共通解像度指定部を付加することにより、合成部523に出力するビデオ、OSD,スチルの解像度を容易に変更できるようにしてもよい。ここで、共通解像度指定部はアプリケーションプログラムから解像度を指定されてもよいし、解像度選択判定部3105が解像度を指定されてもよい。
また、解像度選択判断部3105は、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522に対して、拡大縮小の指示も行う。
図64、図65は、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部3105のフローチャートである。ビデオフォーマット解像度変更検知部3104は解像度選択判断部3105にビデオフォーマット解像度変更を通知する(S6401)。
図64、図65は、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部3105のフローチャートである。ビデオフォーマット解像度変更検知部3104は解像度選択判断部3105にビデオフォーマット解像度変更を通知する(S6401)。
解像度選択判断部3105は、図60、図61に示される複数のOSDバッファの解像度とビデオバッファの解像度の組合せから、通知されたビデオフォーマット解像度と1次記憶部511に記憶されている変更要求OSD解像度の組合せと一致しているものの選択を試みる(S6402)。S6402の結果、選択可能か判断し(S6403)、S6403で選択が可能でない場合のみ、
図60、図61の組合せの中からOSDバッファの解像度と1次記憶部511に記憶されている変更要求OSD解像度が一致している組合せの選択を試みる(S6404)。
図60、図61の組合せの中からOSDバッファの解像度と1次記憶部511に記憶されている変更要求OSD解像度が一致している組合せの選択を試みる(S6404)。
次に、ビデオ解像度管理部3102に現在のビデオ解像度を問い合わせて取得する(S6405)。次に、選択した組合せのビデオの解像度と現在のビデオの解像度が一致しているか比較し、ビデオの解像度が変更されるかどうかを判断し(S6406)、S6406の結果、変更される場合のみ、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S6407)。
次に、スチル解像度管理部3103に現在のスチル解像度を問い合わせて取得する(S6501)。次に、選択した組合せのスチルの解像度と現在のスチルの解像度が一致しているか比較し、スチルの解像度が変更されるかどうかを判断し(S6502)、S6502の結果、変更される場合のみ、スチル解像度管理部3103にスチル解像度変更通知が行われる(S6503)。
また、ビデオデコーダ508で受信したビデオフォーマットの解像度が以前デコードしていたビデオフォーマットの解像度と異なる場合の解像度選択判断部3105は、図66、図67に示すフローチャートの内容でも良いものとする。
ビデオフォーマット解像度変更検知部3104は解像度選択判断部3105にビデオフォーマット解像度変更を通知する(S6601)。
解像度選択判断部3105は、OSD解像度管理部3101に現在のOSD解像度を問い合わせて取得する(S6602)。次に、図60、図61に示される複数のビデオバッファの解像度とOSDバッファの解像度の組合せから、通知されたビデオフォーマット解像度と現在のOSD解像度の組合せと一致しているものの選択を試みる(S6603)。次に、S6603の結果、選択可能か判断する(S6604)。
解像度選択判断部3105は、OSD解像度管理部3101に現在のOSD解像度を問い合わせて取得する(S6602)。次に、図60、図61に示される複数のビデオバッファの解像度とOSDバッファの解像度の組合せから、通知されたビデオフォーマット解像度と現在のOSD解像度の組合せと一致しているものの選択を試みる(S6603)。次に、S6603の結果、選択可能か判断する(S6604)。
S6604で選択が可能な場合、ビデオ解像度管理部3102に現在のビデオ解像度を問い合わせて取得する(S6605)。次に選択した組合せのビデオの解像度と現在のビデオの解像度が一致しているか比較し、ビデオの解像度が変更されるかどうかを判断し(S6606)、S6606の結果、変更される場合のみ、ビデオ解像度管理部3102にビデオ解像度変更通知が行われる(S6607)。次に、スチル解像度管理部3103に現在のスチル解像度を問い合わせて取得する(S6701)。次に、選択した組合せのスチルの解像度と現在のスチルの解像度が一致しているか比較し、スチルの解像度が変更されるかどうかを判断し(S6702)、S6702の結果、変更される場合のみ、スチル解像度管理部3103にスチル解像度変更通知が行われる(S6703)。
図68は、OSD解像度管理部3101が解像度変更通知を受け取った場合のフローチャートである。OSD解像度管理部3101は解像度変更通知を受け取る(S6801)と、OSD解像度管理部3101はOSD制御部516に変更されたOSD解像度を渡し(S6802)、OSD制御部516は変更されたOSD解像度をOSDバッファ519に格納し、OSDデータをOSDバッファ519に転送し格納する(S6803)。OSD解像度管理部3101は、OSDバッファ519とビデオバッファ517とスチルバッファ518を合成するためにOSD拡縮部521に拡大縮小比率を渡す(S6804)。OSD拡縮部521はOSDバッファ519に格納されたOSDデータを渡された拡大縮小比率で拡大又は縮小を行う(S6805)。尚、OSD解像度管理部3101が変更されたOSD解像度をOSDバッファ519に格納し、OSD制御部516はOSDバッファ519に格納されたOSD解像度を参照し転送するでもよい。
図69は、ビデオ解像度管理部3102が解像度変更通知を受け取った場合のフローチャートである。ビデオ解像度管理部3102は解像度変更通知を受け取る(S6901)と、ビデオ解像度管理部3102はビデオデコーダ508に変更されたビデオ解像度を渡し(S6902)、ビデオデコーダ508は変更されたビデオ解像度と変更されたビデオ解像度でデコードしたビデオデータをビデオバッファ517に格納する(S6903)。ビデオ解像度管理部3102は、OSDバッファ519とビデオバッファ517とスチルバッファ518を合成するためにビデオ拡縮部520に拡大縮小比率を渡す(S6904)。ビデオ拡縮部520はビデオバッファ517に格納されたビデオデータを渡された拡大縮小比率で拡大又は縮小を行う(S6905)。尚、ビデオ解像度管理部3102が変更されたビデオ解像度をビデオバッファ517に格納し、ビデオデコーダ508はビデオバッファ517に格納されたビデオ解像度を参照してデコードするでもよい。
図70は、スチル解像度管理部310が解像度変更通知を受け取った場合のフローチャートである。スチル解像度管理部3103は解像度変更通知を受け取る(S7001)と、スチル解像度管理部3103はスチルデコーダ515に変更されたスチル解像度を渡し(S7002)、スチルデコーダ515は変更されたスチル解像度と変更されたスチル解像度でスチルデータをデコードしスチルバッファ518に格納する(S7003)。スチル解像度管理部3103は、OSDバッファ519とビデオバッファ517とスチルバッファ518を合成するためにスチル拡縮部521に拡大縮小比率を渡す(S7004)。スチル拡縮部521はスチルバッファ518に格納されたスチルデータを渡された拡大縮小比率で拡大又は縮小を行う(S7005)。尚、スチル解像度管理部3103が変更されたスチル解像度をスチルバッファ518に格納し、スチルデコーダ515はスチルバッファ518に格納されたスチル解像度を参照してデコードするでもよい。
例えば、アプリケーションプログラム3100がビデオ表示を小さく行い、アプリケーションの表示を全面で行っているようなアプリケーションだとする。具体的には、JMF1205aは、ビデオ映像の拡大縮小や表示位置を指定する機能を提供し、アプリケーションプログラム3100は、これら機能を利用する。この場合、図39のように表示画面3900上ではアプリケーションの表示であるOSD表示エリア3901が大部分を占め、ビデオ表示エリア3902が小さい。ビデオ表示エリア3902は、JMF1205aが提供する機能によりサイズ及び表意位置が決定されている。この時にビデオフォーマットが変更された場合は、解像度選択判断部3105は現在表示しているOSD解像度に合わせて、表示可能な組合せに変更するのが望ましい。なぜならば、アプリケーションにおいては、既にビデオ映像は縮小表示されており、画質は明らかに劣化している。ビデオプレーンの解像度の変化に応じてOSDバッファ519の解像度を変化させても、ビデオ映像の画質の劣化は回避できない。一方、OSDバッファ519の解像度を変化に伴ないアプリケーションプログラム3100は、OSD表示エリア3901を差描画する必要がある。大きな表示エリアに対する描画処理は一般に時間がかかる。また、OSDバッファ519の解像度に応じた文字図形情報を複数用意する必要があり、多くのメモリーを必要とする。そして、煩雑な処理をアプリケーションプログラム3100に実装しなければならない。従って、アプリケーションプログラム3100が、明示的に、OSD解像度管理部3101に対して希望のOSD解像度の変更要求を出せば、OSD解像度が優先されることになる。この結果、アプリケーションプログラム3100の複雑さや、余分な文字図形データの保持が表となる。また、OSDバッファ519の解像度が優先されると、ビデオ拡縮部520は、ビデオバッファ517に格納されたビデオ映像を維持された解像度に合致するよう、拡大縮小することになる。
(実施の形態8)
実施の形態7において、図38、図39に示される2つのアプリケーションが同時に実行されている場合、どちらのアプリケーションを優先するかを決める必要がある。本実施の形態においては、解像度切替部1205fの構成を図56とする。図31と同じ番号の構成要素は同じ働きを行うため、説明を書略する。変更許可部5601は、アプリケーションプログラム3100の変更要求の許可を行う。アプリケーションプログラム3100は、OSD解像度管理部5602、ビデオ解像度管理部5603、スチル解像度管理部5604に解像度の変更要求を行う前に、変更許可部5601に変更許可を得る。許可を得た後、必要な変更要求を行い、変更要求が必要なくなれば、変更許可部5601に許可が不要になったことを通知する。変更許可部5601は、既に許可を発行後に他のアプリケーションが許可を求めてきた際、2つのアプリケーションの優先度を比較して、どちらに許可を与えるか決定する、アプリケーションの優先度は、実施の形態7における図20の例のようにアプリヶ―ションに予め割り当てられた優先度を変更許可部5601が参照してもよいし、アプリケーションプログラム3100が変更許可部5601に明示的に与えても良い。OSD解像度管理部5602、ビデオ解像度管理部5603、スチル解像度管理部5604は、OSD解像度管理部3101、ビデオ解像度管理部3102、スチル解像度管理部3103の機能に加え、変更許可部5601に許可を得ていないアプリケーションプログラム3100からの要求を受け付けない。 本実施の形態を実現することにより、どのアプリケーションの要求を受け付けるかを明確にすることができるため、複数のアプリケーションの同時実行が可能になる。
なお、実施の形態1、2、3、4、5、6、7、8を通して、以下の応用が可能である。
実施の形態7において、図38、図39に示される2つのアプリケーションが同時に実行されている場合、どちらのアプリケーションを優先するかを決める必要がある。本実施の形態においては、解像度切替部1205fの構成を図56とする。図31と同じ番号の構成要素は同じ働きを行うため、説明を書略する。変更許可部5601は、アプリケーションプログラム3100の変更要求の許可を行う。アプリケーションプログラム3100は、OSD解像度管理部5602、ビデオ解像度管理部5603、スチル解像度管理部5604に解像度の変更要求を行う前に、変更許可部5601に変更許可を得る。許可を得た後、必要な変更要求を行い、変更要求が必要なくなれば、変更許可部5601に許可が不要になったことを通知する。変更許可部5601は、既に許可を発行後に他のアプリケーションが許可を求めてきた際、2つのアプリケーションの優先度を比較して、どちらに許可を与えるか決定する、アプリケーションの優先度は、実施の形態7における図20の例のようにアプリヶ―ションに予め割り当てられた優先度を変更許可部5601が参照してもよいし、アプリケーションプログラム3100が変更許可部5601に明示的に与えても良い。OSD解像度管理部5602、ビデオ解像度管理部5603、スチル解像度管理部5604は、OSD解像度管理部3101、ビデオ解像度管理部3102、スチル解像度管理部3103の機能に加え、変更許可部5601に許可を得ていないアプリケーションプログラム3100からの要求を受け付けない。 本実施の形態を実現することにより、どのアプリケーションの要求を受け付けるかを明確にすることができるため、複数のアプリケーションの同時実行が可能になる。
なお、実施の形態1、2、3、4、5、6、7、8を通して、以下の応用が可能である。
本発明は、パーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
また、POD504は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、POD504のCPU706を取り外し、CPU514がCPU706の動作も行うことも実施可能である。
また、POD504は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、POD504のCPU706を取り外し、CPU514がCPU706の動作も行うことも実施可能である。
POD Lib1205eに登録されるJavaプログラムは、ダウンロードされたJavaプログラムだけでなく、予め内蔵されているJavaプログラムでも実施可能である。また、SDメモリーカードなどの着脱可能な記憶媒体を着脱するとスロット部を取り付け、そこからJavaプログラムを取り込むことも可能である。また、ネットワークに接続するネットワーク部を取り付け、インターネットからJavaプログラムを取り出すことも可能である。
また、ROM512が保存する内容を2次記憶部510が保存することで、ROM512を削除することも実施可能である。また、2次記憶部510は、複数のサブ2次記憶部で構成し、個々のサブ2次記憶部が異なる情報を保存しても実施可能である。例えば、1つのサブ2次記憶部はチューニング情報のみを保存し、別のサブ2次記憶部は、OS1201のライブラリ1201bを保存し、更に別のサブ2次記憶部は、ダウンロードしたJavaプログラムを保存するなど、詳細に分割することが可能である。
また、登録されたJavaプログラムを2次記憶部510に保存していたが、1次記憶部511に保存することも実施可能である。1次記憶部511に保存する場合、電源OFF時に、保存された情報は全て消える。
また、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522は、拡大縮小を行った結果をそのまま合成部523に引き渡すこととしているが、第2ビデオバッファ、第2スチルバッファ、第2OSDバッファを付加し、ビデオ拡縮部520、スチル拡縮部521、OSD拡縮部522は、拡大縮小を行った結果を第2ビデオバッファ、第2スチルバッファ、第2OSDバッファに格納し、合成部523は、第2ビデオバッファ、第2スチルバッファ、第2OSDバッファの内容を読み取り合成することとしてもよい。
本発明は、映像とグラフィックスとを表示する装置等として、例えば、デジタル放送においてインタラクティブ番組を受信するテレビ受信端末等として、特に、映像とグラフィックスと静止画について解像度を切り替えて表示する装置等として利用することができる。
1200 プログラム
1201 OS
1201a カーネル
1201b ライブラリ
1202 EPG
1202a 番組表示部
1202b 再生部
1203 JavaVM
1204 サービスマネージャ
1205 Javaライブラリ
1205a JMF
1205b AM
1205c Tuner
1205d CA
1205e POD Lib
1205f 解像度切替部
1205g AWT
1205h STL
1201 OS
1201a カーネル
1201b ライブラリ
1202 EPG
1202a 番組表示部
1202b 再生部
1203 JavaVM
1204 サービスマネージャ
1205 Javaライブラリ
1205a JMF
1205b AM
1205c Tuner
1205d CA
1205e POD Lib
1205f 解像度切替部
1205g AWT
1205h STL
Claims (20)
- アプリケーションからグラフィックスの解像度変更要求を受け付けるグラフィックス解像度変更要求受付ステップと、
前記解像度変更要求を受けて、前記グラフィックスの解像度を変更するグラフィックス解像度変更ステップと、
前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成するために、受信するビデオを拡大または縮小するビデオ拡大/縮小ステップと、
前記グラフィックスと前記ビデオを合成出力する合成出力ステップを有する表示処理方法であって、
前記受信するビデオの解像度が変更された場合、
前記ビデオ拡大/縮小ステップは、前記変更された解像度のビデオと、前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスを合成するために、前記受信するビデオの解像度の変化に応じて、前記受信するビデオを拡大または縮小するかを決定し、前記決定に応じて前記受信するビデオを拡大または縮小し、
前記合成出力ステップは、前記グラフィックスと前記ビデオ拡大/縮小ステップにて拡大または縮小されたビデオを合成出力することを特徴とする表示処理方法。 - 前記グラフィックスの解像度の変更を要求するアプリケーションに対し、前記解像度の変更の許可を与えるグラフィックス解像度変更許可ステップを備え、
前記グラフィックス解像度変更要求受付ステップは、前記許可を与えられたアプリケーションからの前記グラフィックスの解像度の変更の要求を受け付けるようにしたことを特徴とする請求項1記載の表示処理方法。 - 前記グラフィックス解像度変更許可ステップは、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにした請求項2記載の表示処理方法。
- 前記グラフィックス解像度変更許可ステップは、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしたことを特徴とする請求項3記載の表示処理方法。
- 前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成できるように、前記アプリケーションから与えたフレームデータに基づくスチルを拡大または縮小するステップを備え、
前記合成出力ステップは、前記グラフィックスと前記ビデオと前記スチルを合成出力することを特徴とする請求項1記載の表示処理方法。 - アプリケーションからグラフィックスの解像度変更要求を受け付けるグラフィックス解像度変更要求受付手段と、
前記グラフィックスの解像度を、前記解像度変更要求受付手段が受け付けた前記グラフィックスの解像度に変更するグラフィックス解像度変更手段と、
受信したビデオをデコードするビデオデコード手段と、
前記グラフィックス解像度変更手段がグラフィックスの解像度を変更した時、または、前記ビデオデコード手段が受信しているビデオの解像度が変化した時、前記グラフィックスと合成できるように前記受信するビデオを拡大または縮小するかを決定するビデオ拡大/縮小決定手段と、
前記ビデオ拡大/縮小決定手段の決定に応じて前記ビデオデコード手段がデコードしたビデオの拡大または縮小を行うビデオ拡大縮小手段と、
前記グラフィックスと前記解像度変更手段が解像度を変更したグラフィックスと、前記ビデオ拡大縮小手段が拡大縮小したビデオを合成する合成手段を備えた表示処理装置。 - アプリケーションを実行するアプリケーション実行手段と、
前記アプリケーションに、前記グラフィックスの解像度の変更の許可を与えるグラフィックス解像度変更許可手段を備え、
前記グラフィックス解像度変更要求受付手段は、前記グラフィックス解像度変更許可手段が許可を与えたアプリケーションからのグラフィックス解像度変更要求を受け付けることを特徴とする請求項6記載の表示処理装置。 - 前記グラフィックス解像度変更許可手段は、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにした請求項7記載の表示処理装置。
- 前記グラフィックス解像度変更許可手段は、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしたことを特徴とする請求項8記載の表示処理装置。
- 前記グラフィックス解像度変更ステップにおいて前記解像度が変更されたグラフィックスと合成できるように、前記アプリケーションから与えたフレームデータに基づくスチルを拡大または縮小するスチル拡大/縮小手段を備え、
前記合成出力手段は、前記グラフィックスと前記ビデオと前記スチルを合成出力することを特徴とする請求項6記載の表示処理装置。 - グラフィックス解像度が与えられたグラフィックスデータ格納手段にアプリケーションから指示されたグラフィックスデータを格納するグラフィックスデータ格納ステップと、
受信したビデオをデコードするビデオデコードステップと、
ビデオ解像度が与えられたビデオデータ格納手段に前記ビデオデコードステップにてデコードしたビデオデータを格納するビデオデータ格納ステップと、
前記グラフィックスデータ格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータを合成する合成出力ステップを備えた表示処理方法であって、
前記アプリケーションから、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更するためのグラフィックス解像度を受け付けるグラフィックス解像度変更受付ステップと、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を、前記グラフィックス解像度変更受付ステップにて受け付けたグラフィックス解像度に変更するグラフィックス解像度変更ステップと、
前記グラフィックス解像度変更受付ステップにて前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更した時、または、前記ビデオデコードステップにて受信しているビデオのビデオ解像度が変化した時、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記ビデオデータ格納手段に与えるビデオ解像度を決定するビデオ解像度決定ステップと、
前記ビデオ格納手段に与えられているビデオ解像度を、前記ビデオ解像度決定ステップにて決定したビデオ解像度に変更するビデオ解像度変更ステップと、
を備えた表示処理方法。 - 前記アプリケーションに、前記グラフィックスの解像度の変更の許可を与えるグラフィックス解像度変更許可ステップを備え、
前記グラフィックス解像度変更受付ステップは、前記グラフィックス解像度変更許可ステップにて許可を与えたアプリケーションからのグラフィックス解像度変更要求を受け付けることを特徴とする請求項11記載の表示処理方法。 - 前記グラフィックス解像度変更許可ステップは、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにした請求項12記載の表示処理方法。
- 前記グラフィックス解像度変更許可ステップは、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしたことを特徴とする請求項13記載の表示処理方法。
- スチル解像度が与えられたスチル格納手段にスチルイメージを格納するスチル格納ステップと、
前記グラフィックス解像度変更受付ステップにて前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更した時、または、前記ビデオデコードステップにて受信しているビデオのビデオ解像度が変化した時、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記スチル格納手段に与えるスチル解像度を決定するスチル解像度決定ステップと、
前記スチル格納手段に与えるスチル解像度を、前記スチル解像度決定手段が決定したスチル解像度に変更するスチル解像度変更ステップとを備え、
前記合成手段は、前記グラフィックス格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータと前記スチル格納手段が格納するスチルイメージとを合成することを特徴とする請求項11記載の表示処理方法。 - 与えられたグラフィックス解像度で、アプリケーションから指示されたグラフィックスデータを格納するグラフィックスデータ格納手段と
受信したビデオをデコードするビデオデコード手段と、
与えられたビデオ解像度で、前記ビデオデコード手段がデコードしたビデオデータを格納するビデオデータ格納手段と、
前記グラフィックスデータ格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータを合成する合成手段とを備えた表示装置であって、
前記アプリケーションから、前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を変更するグラフィックス解像度変更要求を受け付けるグラフィックス解像度変更要求受付手段と、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度を、前記グラフィックス解像度変更要求受付手段が受け付けたグラフィックス解像度に変更するグラフィックス解像度変更手段と、
前記グラフィックス解像度変更手段が前記グラフィックスデータ格納手段に与えるグラフィックス解像度を変更した時、または、前記ビデオデコード手段が受信しているビデオのビデオ解像度が変化した時、
前記グラフィックスデータ格納手段に与えられているグラフィックス解像度に応じて、前記ビデオデータ格納手段に与えるビデオ解像度を決定するビデオ解像度決定手段と、
前記ビデオ格納手段に与えられているビデオ解像度を、前記ビデオ解像度決定手段が決定したビデオ解像度に変更するビデオ解像度変更手段と、
を備えた表示処理装置。 - アプリケーションを実行するアプリケーション実行手段と、
前記アプリケーションに、前記グラフィックスの解像度の変更の許可を与えるグラフィックス解像度変更許可手段を備え、
前記グラフィックス解像度変更要求受付手段は、前記グラフィックス解像度変更許可手段が許可を与えたアプリケーションからのグラフィックス解像度変更要求を受け付けることを特徴とする請求項16記載の表示処理装置。 - 前記グラフィックス解像度変更許可手段は、前記グラフィックスの解像度の変更の許可が与えられたアプリケーションとは別のアプリケーションから前記グラフィックスの解像度の変更の要求を受け付けたとき、いずれか一方のアプリケーションにのみ前記グラフィックスの解像度の変更の許可を与えるようにした請求項17記載の表示処理装置。
- 前記グラフィックス解像度変更許可手段は、アプリケーションに予め与えられた優先度に応じて前記グラフィックスの解像度の変更の許可を与えるようにしたことを特徴とする請求項17記載の表示処理装置。
- 与えられたスチル解像度で、スチルイメージを格納するスチル格納手段と、
前記グラフィックス解像度変更手段がグラフィックスの解像度を変更した時、または、前記ビデオデコード手段が受信しているビデオの解像度が変化した時、
前記グラフィックスに与えられているグラフィックス解像度に応じて、前記スチル格納手段に与えるスチル解像度を決定するスチル解像度決定手段とを備え、
前記スチル記憶手段に与えるスチル解像度を、前記スチル解像度決定手段が決定したスチル解像度に変更する、スチル解像度変更手段と、
前記合成手段は、前記グラフィックス格納手段が格納するグラフィックスデータと前記ビデオ格納手段が格納するビデオデータと前記スチル格納手段が格納するスチルイメージとを合成することを特徴とする請求項16記載の表示処理装置。
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/891,300 US7551190B2 (en) | 2003-07-18 | 2004-07-15 | Display processing method and display processing apparatus |
EP04016642A EP1499124A3 (en) | 2003-07-18 | 2004-07-15 | Display processing method and display processing apparatus |
KR1020040055675A KR101076552B1 (ko) | 2003-07-18 | 2004-07-16 | 표시 처리 방법 및 표시 처리 장치 |
CN2008101658304A CN101383895B (zh) | 2003-07-18 | 2004-07-19 | 显示处理方法和显示处理装置 |
CN2008101617357A CN101370077B (zh) | 2003-07-18 | 2004-07-19 | 显示处理方法和显示处理装置 |
CNB200410069689XA CN100438591C (zh) | 2003-07-18 | 2004-07-19 | 显示处理方法和显示处理装置 |
US12/416,481 US7876337B2 (en) | 2003-07-18 | 2009-04-01 | Display processing method and display processing apparatus |
KR1020090061188A KR101026567B1 (ko) | 2003-07-18 | 2009-07-06 | 표시 처리 방법 및 표시 처리 장치 |
US12/962,706 US8144174B2 (en) | 2003-07-18 | 2010-12-08 | Display processing method and display processing apparatus |
KR1020110033283A KR101051525B1 (ko) | 2003-07-18 | 2011-04-11 | 표시 처리 방법 및 표시 처리 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48793803P | 2003-07-18 | 2003-07-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005039794A true JP2005039794A (ja) | 2005-02-10 |
Family
ID=34215826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004167726A Withdrawn JP2005039794A (ja) | 2003-07-18 | 2004-06-04 | 表示処理方法及び表示処理装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US7551190B2 (ja) |
JP (1) | JP2005039794A (ja) |
KR (1) | KR101051525B1 (ja) |
CN (3) | CN101370077B (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013021710A (ja) * | 2007-04-30 | 2013-01-31 | Vixs Systems Inc | 複数のビデオストリームを結合するシステム及びそれに伴う使用方法 |
JP2017069952A (ja) * | 2015-09-29 | 2017-04-06 | 日本放送協会 | 受信装置およびプログラム |
US10216398B2 (en) | 2015-04-16 | 2019-02-26 | Samsung Electronics Co., Ltd. | Display apparatus and method for displaying |
JP2021035023A (ja) * | 2019-08-29 | 2021-03-01 | 有限会社Bond | 番組制作装置、番組制作方法及びプログラム |
WO2021039925A1 (ja) * | 2019-08-29 | 2021-03-04 | 有限会社Bond | 番組作成方法、番組作成装置及び記録媒体 |
US10950206B2 (en) | 2017-04-13 | 2021-03-16 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for displaying contents thereof |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555395B2 (en) * | 2004-02-03 | 2013-10-08 | Media Rights Technologies, Inc. | Method and system for providing a media change notification on a computing system |
US8212842B2 (en) * | 2004-02-23 | 2012-07-03 | Panasonic Corporation | Display processing device |
US7882436B2 (en) * | 2004-03-10 | 2011-02-01 | Trevor Burke Technology Limited | Distribution of video data |
TW200704183A (en) * | 2005-01-27 | 2007-01-16 | Matrix Tv | Dynamic mosaic extended electronic programming guide for television program selection and display |
US20070016925A1 (en) * | 2005-06-20 | 2007-01-18 | Arthur Vaysman | Interactive TV application display method and apparatus |
US8875196B2 (en) * | 2005-08-13 | 2014-10-28 | Webtuner Corp. | System for network and local content access |
JP2009506661A (ja) * | 2005-08-24 | 2009-02-12 | トムソン ライセンシング | モバイルテレビジョン装置におけるlcdのグラフィカルなスケーリング方法 |
KR100750141B1 (ko) * | 2005-11-30 | 2007-08-21 | 삼성전자주식회사 | 디지털 데이터 방송 수신기의 해상도 제어 방법, 장치 및그 디지털 데이터 방송 수신기 |
US20080129751A1 (en) * | 2006-12-04 | 2008-06-05 | George Lyons | Smart Blanking Graphics Controller, Device Having Same, And Method |
US20080150966A1 (en) * | 2006-12-21 | 2008-06-26 | General Instrument Corporation | Method and Apparatus for Scaling Graphics Images Using Multiple Surfaces |
WO2008087912A1 (ja) * | 2007-01-15 | 2008-07-24 | Panasonic Corporation | 表示処理装置、表示処理方法および表示処理プログラム |
KR101333033B1 (ko) * | 2007-02-27 | 2013-11-27 | 삼성전자주식회사 | 홈 a/v 네트워크 시스템, 셋톱박스, 영상표시장치, 및ui 제공 방법 |
CN101276569B (zh) * | 2007-03-30 | 2010-05-26 | 群康科技(深圳)有限公司 | 显示器屏幕显示控制系统和其控制方法 |
KR20090067644A (ko) * | 2007-12-21 | 2009-06-25 | 삼성전자주식회사 | 사용자 제작 컨텐츠를 사용자 인터페이스로 사용하는 방법및 장치 |
US8570333B2 (en) * | 2008-12-11 | 2013-10-29 | Nvidia Corporation | Method and system for enabling managed code-based application program to access graphics processing unit |
US20100195628A1 (en) * | 2009-02-01 | 2010-08-05 | Qualcomm Incorporated | Apparatus and method for time-division multiplexing (tdm) for multiple signal ofdm signal formats |
US8867507B2 (en) * | 2009-05-14 | 2014-10-21 | Avaya Inc. | Split-plane wireless network architecture |
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 |
TWI397280B (zh) * | 2009-11-06 | 2013-05-21 | Nat Univ Tsing Hua | 發射器、接收器、多等級多媒體廣播/群播服務系統以及其調變方法 |
US8350867B2 (en) * | 2009-12-22 | 2013-01-08 | Ati Technologies Ulc | Image quality configuration apparatus, system and method |
US9565466B2 (en) * | 2010-03-26 | 2017-02-07 | Mediatek Inc. | Video processing method and video processing system |
JP5927900B2 (ja) * | 2011-12-22 | 2016-06-01 | 株式会社リコー | 電子機器 |
AT13347U1 (de) * | 2012-08-08 | 2013-11-15 | Your Family Entertainment Ag | Verfahren und Vorrichtung zur Wiedergabe digitaler Filme |
TWI493443B (zh) * | 2012-11-13 | 2015-07-21 | Acer Inc | 電子裝置及其顯示應用程式的方法 |
JP6253307B2 (ja) * | 2013-08-21 | 2017-12-27 | キヤノン株式会社 | 撮像装置、外部装置、撮像システム、撮像装置の制御方法、外部装置の制御方法、撮像システムの制御方法、及びプログラム |
US10154309B2 (en) * | 2014-08-22 | 2018-12-11 | Netflix, Inc. | Dynamically adjusting video merchandising to reflect user preferences |
KR102276855B1 (ko) * | 2015-04-13 | 2021-07-13 | 삼성전자주식회사 | 영상 컨텐츠를 재생하는 재생 장치 및 그 동작방법 |
CN111949236A (zh) * | 2019-05-16 | 2020-11-17 | 慧荣科技股份有限公司 | 显示信息处理装置及显示信息处理方法 |
JP7380625B2 (ja) * | 2021-03-29 | 2023-11-15 | セイコーエプソン株式会社 | 画像生成装置、端末装置、及び画像生成方法 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220312A (en) * | 1989-09-29 | 1993-06-15 | International Business Machines Corporation | Pixel protection mechanism for mixed graphics/video display adaptors |
US5426723A (en) * | 1992-03-09 | 1995-06-20 | Spacelabs Medical, Inc. | System and method for scaling graphic images |
US6118429A (en) * | 1993-09-30 | 2000-09-12 | Hitachi, Ltd. | Liquid crystal display system capable of reducing and enlarging resolution of input display data |
US5568165A (en) * | 1993-10-22 | 1996-10-22 | Auravision Corporation | Video processing technique using multi-buffer video memory |
US6693635B1 (en) * | 1993-12-09 | 2004-02-17 | Canon Kabushiki Kaisha | System and method performing image processing of image data of low resolution and arranging image data of high resolution |
JP3315557B2 (ja) | 1995-04-27 | 2002-08-19 | キヤノン株式会社 | 表示制御装置及び方法及び表示装置 |
JPH08331557A (ja) | 1995-05-31 | 1996-12-13 | Nippon Telegr & Teleph Corp <Ntt> | 画像信号特徴量処理装置および画像信号符号化装置 |
JPH09114443A (ja) * | 1995-10-20 | 1997-05-02 | Seiko Epson Corp | 映像スケーリング装置 |
US6147695A (en) * | 1996-03-22 | 2000-11-14 | Silicon Graphics, Inc. | System and method for combining multiple video streams |
JP3472667B2 (ja) * | 1996-08-30 | 2003-12-02 | 株式会社日立製作所 | ビデオデータ処理装置およびビデオデータ表示装置 |
JPH10124021A (ja) | 1996-10-16 | 1998-05-15 | Sony Corp | 画像処理装置、画像処理方法及び表示システム |
JP3742167B2 (ja) * | 1996-12-18 | 2006-02-01 | 株式会社東芝 | 画像表示制御装置 |
JP3268999B2 (ja) * | 1997-03-31 | 2002-03-25 | 三洋電機株式会社 | 映像信号処理回路 |
EP0941615B1 (en) * | 1997-09-30 | 2006-07-26 | Koninklijke Philips Electronics N.V. | Method for mixing pictures and a display apparatus |
JPH11119722A (ja) * | 1997-10-15 | 1999-04-30 | Canon Inc | 表示システム |
DE69824554T2 (de) * | 1997-12-22 | 2005-06-30 | Koninklijke Philips Electronics N.V. | Verfahren und anordnung zum erzeugen eines standbildes mit hoher auflösung |
US6710810B1 (en) * | 1998-07-02 | 2004-03-23 | Pioneer Electronic Corporation | Video signal processing apparatus with resolution enhancing feature |
JP2000023061A (ja) * | 1998-07-02 | 2000-01-21 | Sony Corp | テレビジョン受信機 |
US20020057893A1 (en) * | 1998-08-11 | 2002-05-16 | Anthony Wood | Digital recording and playback |
US6384869B1 (en) * | 1998-10-30 | 2002-05-07 | Sony Corporation | Channel scan function and method of displaying scanned channels |
US6768774B1 (en) | 1998-11-09 | 2004-07-27 | Broadcom Corporation | Video and graphics system with video scaling |
US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
AU1910800A (en) | 1998-11-09 | 2000-05-29 | Broadcom Corporation | Graphics display system |
US6636222B1 (en) | 1999-11-09 | 2003-10-21 | Broadcom Corporation | Video and graphics system with an MPEG video decoder for concurrent multi-row decoding |
US6853385B1 (en) | 1999-11-09 | 2005-02-08 | Broadcom Corporation | Video, audio and graphics decode, composite and display system |
US6661422B1 (en) | 1998-11-09 | 2003-12-09 | Broadcom Corporation | Video and graphics system with MPEG specific data transfer commands |
US6798420B1 (en) | 1998-11-09 | 2004-09-28 | Broadcom Corporation | Video and graphics system with a single-port RAM |
TW417080B (en) * | 1998-12-21 | 2001-01-01 | Acer Comm & Multimedia Inc | Display with automatic resolution adjustment |
US6388679B1 (en) * | 1998-12-29 | 2002-05-14 | Intel Corporation | Multi-resolution computer display system |
US6519283B1 (en) * | 1999-01-25 | 2003-02-11 | International Business Machines Corporation | Integrated video processing system having multiple video sources and implementing picture-in-picture with on-screen display graphics |
EP1074967A4 (en) * | 1999-02-19 | 2010-12-15 | Panasonic Corp | DEVICE FOR PROCESSING IMAGE SIGNALS |
US6651252B1 (en) * | 1999-10-27 | 2003-11-18 | Diva Systems Corporation | Method and apparatus for transmitting video and graphics in a compressed form |
AUPP990199A0 (en) * | 1999-04-22 | 1999-05-13 | Griffith University | Wireless video surveillance system |
JP4340821B2 (ja) * | 1999-09-06 | 2009-10-07 | ソニー株式会社 | 映像機器および映像表示方法 |
US8913667B2 (en) | 1999-11-09 | 2014-12-16 | Broadcom Corporation | Video decoding system having a programmable variable-length decoder |
US6975324B1 (en) * | 1999-11-09 | 2005-12-13 | Broadcom Corporation | Video and graphics system with a video transport processor |
US6538656B1 (en) | 1999-11-09 | 2003-03-25 | Broadcom Corporation | Video and graphics system with a data transport processor |
US9668011B2 (en) | 2001-02-05 | 2017-05-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Single chip set-top box system |
JP3647338B2 (ja) * | 1999-11-11 | 2005-05-11 | 富士通株式会社 | 画像信号解像度変換方法及び装置 |
US6493036B1 (en) | 1999-11-17 | 2002-12-10 | Teralogic, Inc. | System and method for scaling real time video |
US6515678B1 (en) * | 1999-11-18 | 2003-02-04 | Gateway, Inc. | Video magnifier for a display of data |
US6643416B1 (en) * | 1999-11-30 | 2003-11-04 | Eastman Kodak Company | Method for determining necessary resolution for zoom and crop images |
US7095341B2 (en) | 1999-12-14 | 2006-08-22 | Broadcom Corporation | Programmable variable-length decoder |
US6771196B2 (en) | 1999-12-14 | 2004-08-03 | Broadcom Corporation | Programmable variable-length decoder |
US6774912B1 (en) * | 2000-03-16 | 2004-08-10 | Matrox Graphics Inc. | Multiple display device display controller with video overlay and full screen video outputs |
JP2002175068A (ja) * | 2000-09-22 | 2002-06-21 | Canon Inc | 画像表示システム、画像表示方法、記憶媒体及び画像表示装置 |
JP2002118738A (ja) * | 2000-10-10 | 2002-04-19 | Canon Inc | 画像表示装置及び方法、該画像表示装置を用いた情報処理装置、並びに記憶媒体 |
EP1199888B1 (en) * | 2000-10-19 | 2006-09-13 | Sanyo Electric Co., Ltd. | Image data output device and receiving device |
JP2002170112A (ja) * | 2000-12-04 | 2002-06-14 | Minolta Co Ltd | 解像度変換プログラムを記録したコンピュータ読取可能な記録媒体、解像度変換装置および解像度変換方法 |
JP2002247465A (ja) | 2001-02-20 | 2002-08-30 | Sony Corp | テレビジョン受信装置およびテレビジョン受信装置の受信状態表示方法 |
US7116826B2 (en) * | 2001-06-15 | 2006-10-03 | Canon Kabushiki Kaisha | Embedding with error-correction encoding |
US7054963B2 (en) * | 2001-06-18 | 2006-05-30 | Betts-Lacroix Jonathan | Modular computing system |
EP1328114A1 (en) | 2002-01-10 | 2003-07-16 | Canal+ Technologies Société Anonyme | Image resolution management in a receiver/decoder |
JP3870109B2 (ja) * | 2002-03-08 | 2007-01-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 画像表示装置、画像表示方法、及び画像表示プログラム |
US7899915B2 (en) * | 2002-05-10 | 2011-03-01 | Richard Reisman | Method and apparatus for browsing using multiple coordinated device sets |
US6927754B2 (en) * | 2003-02-06 | 2005-08-09 | Wintek Corporation | Method and apparatus for improving resolution of display unit |
US7054965B2 (en) * | 2003-03-18 | 2006-05-30 | Oqo Incorporated | Component for use as a portable computing device and pointing device |
-
2004
- 2004-06-04 JP JP2004167726A patent/JP2005039794A/ja not_active Withdrawn
- 2004-07-15 US US10/891,300 patent/US7551190B2/en not_active Expired - Lifetime
- 2004-07-19 CN CN2008101617357A patent/CN101370077B/zh not_active Expired - Fee Related
- 2004-07-19 CN CN2008101658304A patent/CN101383895B/zh not_active Expired - Fee Related
- 2004-07-19 CN CNA2008101658319A patent/CN101383896A/zh active Pending
-
2009
- 2009-04-01 US US12/416,481 patent/US7876337B2/en not_active Expired - Lifetime
-
2010
- 2010-12-08 US US12/962,706 patent/US8144174B2/en not_active Expired - Fee Related
-
2011
- 2011-04-11 KR KR1020110033283A patent/KR101051525B1/ko active IP Right Grant
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013021710A (ja) * | 2007-04-30 | 2013-01-31 | Vixs Systems Inc | 複数のビデオストリームを結合するシステム及びそれに伴う使用方法 |
US11137890B2 (en) | 2015-04-16 | 2021-10-05 | Samsung Electronics Co., Ltd. | Display apparatus and method for displaying |
US11749151B2 (en) | 2015-04-16 | 2023-09-05 | Samsung Electronics Co., Ltd. | Display apparatus and method for displaying |
US10216398B2 (en) | 2015-04-16 | 2019-02-26 | Samsung Electronics Co., Ltd. | Display apparatus and method for displaying |
JP2020184784A (ja) * | 2015-09-29 | 2020-11-12 | 日本放送協会 | 受信装置およびプログラム |
JP2021122139A (ja) * | 2015-09-29 | 2021-08-26 | 日本放送協会 | 受信装置およびプログラム |
JP7062117B2 (ja) | 2015-09-29 | 2022-05-02 | 日本放送協会 | 受信装置およびプログラム |
JP2017069952A (ja) * | 2015-09-29 | 2017-04-06 | 日本放送協会 | 受信装置およびプログラム |
US10950206B2 (en) | 2017-04-13 | 2021-03-16 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for displaying contents thereof |
WO2021039925A1 (ja) * | 2019-08-29 | 2021-03-04 | 有限会社Bond | 番組作成方法、番組作成装置及び記録媒体 |
WO2021039924A1 (ja) * | 2019-08-29 | 2021-03-04 | 有限会社Bond | 番組制作装置、番組制作方法及び記録媒体 |
JP2021035023A (ja) * | 2019-08-29 | 2021-03-01 | 有限会社Bond | 番組制作装置、番組制作方法及びプログラム |
US11659258B2 (en) | 2019-08-29 | 2023-05-23 | BOND Co., Ltd. | Program production method, program production apparatus, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
US7551190B2 (en) | 2009-06-23 |
KR101051525B1 (ko) | 2011-07-22 |
US20090184963A1 (en) | 2009-07-23 |
US20050012761A1 (en) | 2005-01-20 |
CN101370077B (zh) | 2012-01-25 |
CN101383896A (zh) | 2009-03-11 |
CN101383895A (zh) | 2009-03-11 |
US7876337B2 (en) | 2011-01-25 |
KR20110057090A (ko) | 2011-05-31 |
US8144174B2 (en) | 2012-03-27 |
CN101370077A (zh) | 2009-02-18 |
US20110074815A1 (en) | 2011-03-31 |
CN101383895B (zh) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101051525B1 (ko) | 표시 처리 방법 및 표시 처리 장치 | |
KR101026567B1 (ko) | 표시 처리 방법 및 표시 처리 장치 | |
US6373534B1 (en) | Intelligent digital television receiver | |
JP4173535B2 (ja) | 衛星テレビジョン・サービスに関する条件付きアクセス・プログラム・ガイドを処理するための方法および装置 | |
RU2159015C2 (ru) | Способ передачи программной информации по системе, включающей группу каналов передачи, устройство для его осуществления, устройство для приема сжатых аудио/видео пакетных сигналов и способ его работы | |
JP3309069B2 (ja) | 多重符号化画像音声データの受信装置 | |
JP2005102150A (ja) | 放送受信装置 | |
KR20080057972A (ko) | 프리뷰 기능을 갖는 멀티미디어 데이터 인코딩/디코딩 방법및 장치 | |
JP2002033972A (ja) | Osdヘッダを連鎖させることにより単一のosdピクスマップを複数のビデオラスタサイズにわたって使用するための方法およびシステム | |
JPWO2006077720A1 (ja) | デジタルテレビおよび画像合成方法 | |
KR101144461B1 (ko) | 서비스 실행 장치 | |
JP2000347638A (ja) | Osd装置及びこれを用いた符号化ビデオ復号装置並びにこの復号装置を用いたディジタル放送受信装置 | |
JP4136383B2 (ja) | テレビ受信装置及びその制御方法 | |
JP2005073239A (ja) | サービス実行装置 | |
JP2001083951A (ja) | 画像を生成し、処理する方法およびosd生成方法および画像生成システムおよびosdメモリ | |
JP4298076B2 (ja) | 受信装置及び受信方法 | |
JP2003209797A (ja) | デジタル放送受信装置及びその方法並びに印刷装置及びその方法 | |
JP2007166597A (ja) | 情報再生装置及び電子機器 | |
JP2007166598A (ja) | 情報記録装置及び電子機器 | |
JP2005175995A (ja) | ビデオサーバ、デジタルテレビ受信機及びビデオ配信システム | |
JP4834233B2 (ja) | 信号処理装置及び方法、記録媒体 | |
JP2010213362A (ja) | 垂直フォーマットコンバータのメモリ管理のための方法及びシステム | |
JP3546841B2 (ja) | テレビ番組記録予約装置および方法 | |
JP2001036836A (ja) | 受信装置 | |
JP2002010252A (ja) | 復号装置、受信装置、通信システム、復号方法、及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070515 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091207 |