JP2004208305A - オーディオ/ビデオ復号方法および装置、ビデオドライバ回路およびそれを組み込んでいるデコーダボックス - Google Patents
オーディオ/ビデオ復号方法および装置、ビデオドライバ回路およびそれを組み込んでいるデコーダボックス Download PDFInfo
- Publication number
- JP2004208305A JP2004208305A JP2003421187A JP2003421187A JP2004208305A JP 2004208305 A JP2004208305 A JP 2004208305A JP 2003421187 A JP2003421187 A JP 2003421187A JP 2003421187 A JP2003421187 A JP 2003421187A JP 2004208305 A JP2004208305 A JP 2004208305A
- Authority
- JP
- Japan
- Prior art keywords
- video
- data stream
- audio
- stream
- decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000015654 memory Effects 0.000 claims abstract description 163
- 238000007726 management method Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000013144 data compression Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008014 freezing Effects 0.000 description 2
- 238000007710 freezing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- UEKHZPDUBLCUHN-UHFFFAOYSA-N 2-[[3,5,5-trimethyl-6-[2-(2-methylprop-2-enoyloxy)ethoxycarbonylamino]hexyl]carbamoyloxy]ethyl 2-methylprop-2-enoate Chemical compound CC(=C)C(=O)OCCOC(=O)NCCC(C)CC(C)(C)CNC(=O)OCCOC(=O)C(C)=C UEKHZPDUBLCUHN-UHFFFAOYSA-N 0.000 description 1
- 101000585359 Homo sapiens Suppressor of tumorigenicity 20 protein Proteins 0.000 description 1
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 1
- 102100029860 Suppressor of tumorigenicity 20 protein Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/439—Processing of audio elementary streams
- H04N21/4392—Processing of audio elementary streams involving audio buffer management
-
- 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/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- 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/42661—Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- 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/432—Content retrieval operation from a local storage medium, e.g. hard-disk
- H04N21/4325—Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
-
- 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/44004—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 video buffer management, e.g. video decoder buffer or video display buffer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】従来の復号原理の諸問題を解決する。
【構成】それぞれのデータ源から得られた1以上のオーディオデータストリームと1以上のビデオデータストリームとを復号する方法は、オーディオデータストリームの部分およびビデオデータストリームの部分をバッファメモリの組にロードするステップと、バッファメモリから、オーディオデータとビデオデータを少なくとも1つのオーディオデコーダの入力端子と少なくとも1つのビデオデコーダの入力端子にそれぞれ供給するステップと、ビデオデータおよびオーディオデータをそれぞれオーディオデコーダおよびビデオデコーダの支援により復号するステップとを備えている。最初のステップは、管理モジュールによりプルモードに従って実行される。あるいは、またはさらには、第2のステップは、管理モジュールによりプッシュモードに従って実行される。管理モジュールはビデオデコーダにより制御される。
【選択図】 図3
【構成】それぞれのデータ源から得られた1以上のオーディオデータストリームと1以上のビデオデータストリームとを復号する方法は、オーディオデータストリームの部分およびビデオデータストリームの部分をバッファメモリの組にロードするステップと、バッファメモリから、オーディオデータとビデオデータを少なくとも1つのオーディオデコーダの入力端子と少なくとも1つのビデオデコーダの入力端子にそれぞれ供給するステップと、ビデオデータおよびオーディオデータをそれぞれオーディオデコーダおよびビデオデコーダの支援により復号するステップとを備えている。最初のステップは、管理モジュールによりプルモードに従って実行される。あるいは、またはさらには、第2のステップは、管理モジュールによりプッシュモードに従って実行される。管理モジュールはビデオデコーダにより制御される。
【選択図】 図3
Description
本発明は、ビデオドライバ回路、すなわち、所与の圧縮規格に従って符号化されたデジタルデータのストリームの形で符号化されたオーディオビジュアルプログラムの復号および表示を実行する回路に関する。
ビデオドライバ回路は、個人用のデジタル記録機器(すなわち「パーソナルビデオレコーダ」を表すPVR)を備えるビデオデコーダで応用されている。そのようなデコーダにおいては、プログラム(番組)の記録が、ハードディスク、デジタルビデオカセット、DVD(Degital Versatile Disk)などの大容量記憶デジタル媒体(すなわち「デジタル記憶媒体」を表すDSM)で行われる。
関連するデコーダは、特に、一方では、衛星、ケーブルまたは地上波デジタル放送による実時間デジタル信号放送(すなわち「デジタルビデオ放送」を表すDVB)のための入口と、他方では、アナログテレビジョンとの間のインタフェースを提供する、デコーダボックス(セットトップボックス)である。そのようなデコーダボックスは、スタンドアローンの装置である。しかし、本発明は、デジタルテレビジョンに組込まれる統合型デコーダや、DVD再生機、デジタルビデオカセット再生機などのデジタル読出し/記録装置にも応用される。
デコーダボックスは、圧縮されたデジタルデータのストリームの形態、すなわち、それのビデオフレーム(すなわち画像)およびオーディオフレームがデータ放送の量を減少するようなやり方で符号化されている形態で、1つまたはそれ以上のプログラムを受ける。たとえば、この符号化は、MPEG‐2規格(ISO/IEC 13818‐2)(以後MPEG(Motion Picture Expart Group)規格と呼ぶ)の仕様に適合する。この規格は、(特にデジタルテレビジョン用の)動画および音声の符号化のためのデータ圧縮技術を定めている。MPEG規格の用語に従って、圧縮されたデジタルデータストリームはトランスポートストリーム(transport stream)と呼ばれる。このストリームは、パケット化されたオーディオデータとパケット化されたビデオデータを含んでいる。
この明細書では、「提示(presentation)」という用語は、プログラム(番組)に関連して使用される場合には、ユーザによってそれぞれ視聴可能な形に復号されたオーディオデータおよびビデオデータの復元(リストア)を示すものとする。番組に関連して使用される「再生」(または「読出し」)という用語は、より具体的に、ハードディスク上での番組の記録から番組を復号および表示することを示す。「表示」という用語は、より具体的には、ビデオフレームの提示を示すために使用されるが、「表示する」という動詞は、ビデオの提示の動作を示すためにより特別に使用される。
図1に示すブロック図は、PVR機能が組込まれていない初期世代のデコーダボックスで行われる復号の原理を示している。デマルチプレクサ71が、指定された伝送チャネル(衛星、ケーブル、DVB)を介して実時間で伝送されている1以上のトランスポートストリームを受ける。デマルチプレクサは、このストリームの多重分離(およびおそらくはスクランブル解除(デスクランブル))を行って、オーディオデータパケットのストリームおよびビデオデータパケットのストリームを出力する。オーディオデータパケットのストリームはオーディオ復号のためにオーディオデコーダ72へ送られ、ビデオデータパケットストリームは、ビデオ復号のためにビデオデコーダ73へ送られる。言い換えると、デマルチプレクサは、復号すべきデータの源(ソース)の役割を演ずる。
図1におけるものと同じ要素には同じ参照符号が付されている図2は、PVR機能を提供する既知のデコーダボックスで実装されている復号原理を示している。デマルチプレクサ71により供給されたオーディオデータパケットのストリームとビデオデータパケットのストリームは、ハードディスクなどの大容量記憶デジタル媒体74に保存できる。その後で、ハードディスク74から、オーディオデータパケットのストリームとビデオデータパケットのストリームは、復号のために、オーディオデコーダ72とビデオデコーダ73へ入力としてそれぞれ供給できる。この場合には、MPEG規格のある章が、復号すべきデータの源の役割をハードディスクが果たすようにすることを勧告している。
新しい世代のデコーダボックスのために、ハードディスクはいくつかの機能、特に、
・番組放送の実時間復号および提示と他の番組放送のハードディスクへの実時間記録とを同時行うこと、両方の番組とも、デコーダボックスにより受けられた1以上のトランスポートストリームに含まれている;
・提示中に「ポーズ」ボタンを押すことで番組放送を実時間で記録し、その後で、「読出し」ボタンを押して、番組をハードディスクから読出すことにより、時間経過による提示の中断なしに再開すること;
・たとえば、対応するアクセス権を有するユーザー(ビデオオンデマンドに対して)による肯定応答の後でのみアクセス可能にされるいわゆるプッシュモデル(または「プッシュモード」)に従う、スクランブルされている番組のロードと;
・読出しの“進歩した(advanced)”モード(または「トリックモード」)、すなわち、公称進み速さ(1倍速)とは異なる速さでの読出しを実行する、特に、高速での早送りまたは巻戻しあるいはその他のものを実行すること;
など、を提供することを可能にしている。
・番組放送の実時間復号および提示と他の番組放送のハードディスクへの実時間記録とを同時行うこと、両方の番組とも、デコーダボックスにより受けられた1以上のトランスポートストリームに含まれている;
・提示中に「ポーズ」ボタンを押すことで番組放送を実時間で記録し、その後で、「読出し」ボタンを押して、番組をハードディスクから読出すことにより、時間経過による提示の中断なしに再開すること;
・たとえば、対応するアクセス権を有するユーザー(ビデオオンデマンドに対して)による肯定応答の後でのみアクセス可能にされるいわゆるプッシュモデル(または「プッシュモード」)に従う、スクランブルされている番組のロードと;
・読出しの“進歩した(advanced)”モード(または「トリックモード」)、すなわち、公称進み速さ(1倍速)とは異なる速さでの読出しを実行する、特に、高速での早送りまたは巻戻しあるいはその他のものを実行すること;
など、を提供することを可能にしている。
トランスポートストリームの処理は、基本的に、一方では、復号すべきデータの用意およびMPEGデコーダへのそれらのデータの供給と、他方では、MPEGデコーダにより実行される画像および音声の復号および提示と、の2つのタスクを有する。
MPEG規格は、処理の制御を規定しかつ基準クロックを供給するのがデータ源であることを前提として、構成されている。番組放送を生(ライブ)で表示するために、トランスポートストリームの多重分離を行うデマルチプレクサにより、その制御がMPEGデコーダに対して課される。公称速さでの実時間復号および表示のために、画像の流れがビデオデータパケットのストリーム中に適切な順序で存在する。そうすると時間基準系は、トランスポートストリーム中に存在する番組クロック基準(PCR;Programme Clock Reference)を基にする。またトランポートストリーム中に存在する提示時間スタンプ(PTS;Presentation Time Stamp)がオーディオフレームのストリームとビデオフレームのストリームとを同期できるようにもする。復号作業の優先度は、実時間制約が適合させられること、および容量オーバーフロー状況ではハードウェア資源(たとえば、キューまたはバッファメモリ)がないことを保証するものである。
ハードディスクから番組を読出す場合には、復号すべきデータの処理を制御せねばならないのがハードディスクからのデータの読出しであることが、MPEG規格の上述した勧告からわかる。しかし、データは、おそらくバーストモードで実行されるハードディスクに対するアクセスの関数として、可変速さで到達することがあるかもしれない。いいかえると、実時間の概念が失われる。他方、ハードディスク自体は、容量オーバーフロー状況を補償できるバッファメモリを構成している、ということを見て取れる。
さらに、いくつかのそれぞれの番組に対応するいくつかのストリームの並列復号を、単一のMPEGデコーダによってさえ、実行できることが望ましいことがある(いわゆる「多重復号(multidecoding)」機能)。特に、それによって、MPEGデコーダの再初期化に基づく時間浪費(何秒かかかることがある)なしに実時間提示からハードディスクからの読出しへの遷移を行うことができる。より一般的には、これによって、特に手を加えることなく、2つの番組列の終りと始まりを連続させることができ、特に予め記録されているコマーシャル枠またはその他のコマーシャル枠を番組中に滑らかにはめ込むことができる(いわゆる「継目なし継ぎ合わせ(Seamless Splicing)」機能)。
ある場合には、いくつかの番組の復号および表示と、静止画像の表示と同時に番組を表示することとの少なくとも一方を行うために、いくつかのMPEGデコーダを使用できることも望ましい。
最後に、“進歩した(アドバンスト)”読出しモードを実行すると、MPEG規格の上述した勧告に従う復号を制約する実時間の面で不利益をこうむる。
本発明の目的は、諸欠点を小さくすることと前記の諸目標の全てまたは幾らかを達成することの少なくとも一方を可能にする復号原理を提案することにある。
本発明の第1の様相は、MPEG規格などのデータ圧縮規格に従って符号化された1以上のそれぞれのデータ源から得られる1以上のオーディオデータストリームと、1以上のビデオデータストリームとを復号する方法を提供する。この方法は、
a)前記オーディオデータストリームの部分および前記ビデオデータストリームの部分をバッファメモリの組にロードするステップと、
b)前記バッファメモリから、オーディオデータとビデオデータを少なくとも1つのオーディオデコーダの入力端子と少なくとも1つのビデオデコーダの入力端子にそれぞれ供給するステップと、
c)前記ビデオデータおよび前記オーディオデータをそれぞれ前記オーディオデコーダおよび前記ビデオデコーダの支援により復号するステップと、
を備えている。
a)前記オーディオデータストリームの部分および前記ビデオデータストリームの部分をバッファメモリの組にロードするステップと、
b)前記バッファメモリから、オーディオデータとビデオデータを少なくとも1つのオーディオデコーダの入力端子と少なくとも1つのビデオデコーダの入力端子にそれぞれ供給するステップと、
c)前記ビデオデータおよび前記オーディオデータをそれぞれ前記オーディオデコーダおよび前記ビデオデコーダの支援により復号するステップと、
を備えている。
バッファメモリにロードされるオーディオデータストリームの部分およびビデオデータストリームの部分は、パケット化されたデータストリームの部分と、平文(プレインテキスト、すなわちスクランブル解除された)データストリームの部分との少なくとも一方であることが望ましい。
復号すべきデータ源または複数のデータ源(デマルチプレクサ及び/またはハードディスク)と、データを消費するもの(すなわちオーディオデコーダおよびビデオデコーダ)の間のバッファメモリをストリームが通った結果として行われるプリバッファ作用によって、先行技術のビデオドライバ回路で行われる処理手順を分割することが可能にされる。それにより、後述する詳細な説明を読むことにより明らかになるであろうやり方で、本発明の目標を達成することが可能となる。
プルモード(Pull mode)に従ってバッファメモリをロードすると、バッファメモリの容量のオーバーフローの危険が避けられる。プッシュモード(Push mode)に従ってアンロード(ロード解除)すると、デコーダの入力端子にデータを確実に供給できる。ビデオデコーダによってバッファメモリの管理を制御するという事実により、復号すべきデータのストリームを効率的に制御できる。これはハードディスク読出しモードにおいて特に有利である。
本発明の第2の様相は、MPEG規格などのデータ圧縮規格に従って符号化された1以上のそれぞれのデータ源から得られる1以上のオーディオデータストリームと1以上のビデオデータストリームとを復号する装置に関するものである。この装置は、
バッファメモリの組と、
オーディオデータおよびビデオデータの少なくとも1つの源と、
少なくとも1つのオーディオデコーダおよび少なくとも1つのビデオデコーダと、
第1の様相に従う方法を実施する管理モジュールと、
を備える。
バッファメモリの組と、
オーディオデータおよびビデオデータの少なくとも1つの源と、
少なくとも1つのオーディオデコーダおよび少なくとも1つのビデオデコーダと、
第1の様相に従う方法を実施する管理モジュールと、
を備える。
本発明の第3の様相は、第2の様相に従う装置を備えるビデオドライバ回路に関するものである。。
最後に、本発明の第4の様相は、第3の様相に従う回路を備えるデコーダボックスに関するものである。
本発明のその他の諸特徴および諸利点は以下の説明を読むことにより一層明らかになるであろう。以下の説明は単なる例示であって添付図面を参照しつつ読むべきである。
図3は、本発明に基づくドライバ回路を包含しているデコーダボックス1のブロック図である。デコーダボックス1は、たとえば、入力端子2、3、4と、入出力端子5と、出力端子6a、6b、7a、7b、7c、8、9とを有する。
入力端子2は、衛星テレビジョンデジタル信号を受信するためのパラボラアンテナに接続されるようになっている。入力端子3は、ケーブルテレビジョンデジタル信号を受信するための光ファイバに接続されるようになっている。入力端子4は、地上波放送テレビジョンデジタル信号(DVB)を受信するためのアンテナに接続されるようになっている。最後に、入出力端子5は、他の装置、たとえばDVD再生機から出力される(オーディオまたはビデオ)トランスポートパケットのストリームTP_Inを受信し、あるいは、他の装置に送られるべき(オーディオまたはビデオ)トランスポートパケットのストリームTP_Outを出力するためのものである。出力端子6aは、テレビジョン受像機のビデオ入力端子に接続されるようになっており、RGB、YUV、Y/C(Sビデオ信号)で符号化され、またはCVBS(コンポジットビデオベースバンド信号)フォーマットで符号化された信号であるビデオアナログ信号Video_Out(Analog_Video_1)を出力する。出力端子6bは、それ自身に関しては、たとえばCVBS信号またはY/C信号などの同様な信号(Analog_Video_2)を出力する。
出力端子7aは、テレビジョン受像機の左右のオーディオアナログ入力端子にそれぞれ供給するようにされているオーディオアナログ信号Audio_Out_LおよびAudio_Out_R(Analog_Audio_L/R)を出力する。出力端子7bと出力端子7cは、たとえば、SP_DIFおよびPCMフォーマットでそれぞれ符号化されたオーディオデジタル信号(Digital_Audio_1,Digital_Audio_2)をそれぞれ出力する。
さらに、出力端子8、9は、テレビジョン受像機の対応する入力端子に接続するようになっていて、それぞれ、画像の表示を同期するための垂直同期信号Vsyncおよび水平同期信号Hsyncを出力する。
デコーダボックス1は、入力端子2、3、4に受けたデジタル信号の周波数を低くするために、それぞれ、チューナ2a、3a、4aを有する。デコーダボックスは、受けた信号のチャネル復号を行う手段も有する。その手段は、たとえば各チューナ2a、3a、4aの下流側に、
アナログ/デジタル変換器2b、3b、4bと、
QAM復調、QPSK復調およびCOFDM復調をそれぞれ行う復調器2c、3c、4cと、
誤り訂正フィルタ(FEC)2d、3d、4dと、
をそれぞれ有する。
アナログ/デジタル変換器2b、3b、4bと、
QAM復調、QPSK復調およびCOFDM復調をそれぞれ行う復調器2c、3c、4cと、
誤り訂正フィルタ(FEC)2d、3d、4dと、
をそれぞれ有する。
これらのチャネル復号手段により供給された信号は、MPEG規格の意味するところでのトランスポートストリームである。それらは、いずれも、オーディオビジュアル番組に、サブタイトルと、テレテキストデータと、天候や番組の解説についての情報を含むユーザデータとの少なくとも1つなどを多重化したものを含んでいる。
デコーダボックス1は、ここではハードディスクである大容量記憶デジタル手段20も有する。変形例として、大容量記憶デジタル手段は、DVD‐ROMまたはDVD‐RAMとすることもできる。
デコーダボックス1は、さらに、システムメモリ30と共有メモリ31も有する。1つの例では、システムメモリ30は、それぞれがROM/Sフラッシュメモリ30aと、周辺SRAMメモリ30bと、2つのSDRAMメモリ30c、30dを有する32ビットメモリである。1つの例では、共有メモリ31は、1つまたは2つの16メガビットSDRAMメモリまたは1つの64メガビットまたは128メガビットSDRAMメモリを備える133MHz(メガヘルツ)16ビットメモリである。このメモリは、64ビットあるいは128ビット構成とすることが好ましい。
デコーダボックス1は、さらに、ビデオドライバ回路10を有する。このビデオドライバ回路は、受信したトランスポートストリームからの画像および音声の復号と提示を行う機能を有するが、ハードディスク20への1つまたは複数の番組の記録と、それに記録されている番組の読出しも行う。
番組の実時間提示と時間ずれ(タイムシフト)読出しのために、ビデオドライバ回路10は、ソース(源)復号を行う。それは、特に、多重分離/スクランブル解除、MPEG復号、ビデオデータのPAL、SECAMまたはNTSC方式へのフォーマット化、およびデジタルオーディオデータのアナログ形式への変換の機能を含む。ビデオドライバ回路は、データのハードディスク20への記録とハードディスクからの読出しをも行う。
回路10のハードウェアアーキテクチャが図4に詳細に示されている。
回路10は、たとえばSTMicroelectronics製のST20回路である中央演算装置(CPU)11を有する。このCPUは、166MHzクロックの32ビットRISCプロセッサであって、命令キャッシュが8Kバイト、データキヤッシュが8Kバイト、オンボードSRAMメモリが8KバイトであるST20C2+型のプロセッサコアを有する。
STBバス(STBus)という名称で知られているデータバスなどの相互接続プレーン(バス)12が、中央演算装置11と通信せねばならないビデオドライバ回路10の種々の要素の相互接続を行う。変形例として、バス12は、SuperHywayという名で知られているバスであってもよく、特に、中央演算装置11が、STMICROELECTRONICS製のSH40型マイクロプロセッサコアを基にしている場合には、そうすることができる。
中央演算装置11はバス12に双方向的に結合されている。
さらに、回路10の種々のハードウェア要素の間のハードウェアチャネルを制御するように、一般的な使用のためのDMA(直接メモリアクセス)コントローラまたはGPDMAコントローラ(汎用(General Purpose)DMAコントローラを指す)121が、バス12に双方向的に結合されている。DMAは、回路の2つのハードウェアまたはソフトウエアエンティティの間のハードウェアチャネルであることが想起される。
ビデオドライバ回路10は、オーディオ/ビデオデコーダ13も有する。このオーディオ/ビデオデコーダは、たとえば、早送りでの表示や円滑な巻き戻しモードでの表示などの“進歩した(アドバンスト)”モードが備えられているMP@ML(主レベルにおける主プロフィール(Main Profile at Main Level))型のMPEG‐2デコーダである。
図5に詳しく示されているように、デコーダ13は、専用の相互接続プレーンを介して内部結合されている、
オーディオデコーダ130と、
ビデオオデコーダ131と、
サブタイトルデコーダ132と、
2〜8ビットの画像はめ込み機能(スクリーン上表示すなわちOSD)をさらに有する、サブタイトルの挿入を管理するための表示合成器133と、
デコーダボックスの共有メモリと通信することを可能にする共有メモリインタフェース134と、
MPEG規格でCD_UNITとも呼ばれているFIFO(先入れ先出し)型のバッファメモリ135と、
を備えている。
オーディオデコーダ130と、
ビデオオデコーダ131と、
サブタイトルデコーダ132と、
2〜8ビットの画像はめ込み機能(スクリーン上表示すなわちOSD)をさらに有する、サブタイトルの挿入を管理するための表示合成器133と、
デコーダボックスの共有メモリと通信することを可能にする共有メモリインタフェース134と、
MPEG規格でCD_UNITとも呼ばれているFIFO(先入れ先出し)型のバッファメモリ135と、
を備えている。
メモリインタフェース134は、一方では外部の共有メモリ31に、他方ではバス12に、双方向的に結合されている。バッファメモリ135は、復号すべきデータを受けるためにバス12にも結合されている。
図4へ戻って、ビデオドライバ回路10は、復号すべきデータを受けるためにバス12に結合されているテレテキストデータデコーダ22も有する。
ビデオドライバ回路10は、オーディオ/ビデオデコーダ13に結合されているビデオエンコーダ21(DENC(Display encoder))も有する。ビデオエンコーダ21は、テレビジョン受像機のスクリーンの形式の関数として、伸張された(圧縮解除された)ビデオデータをPAL、SECAMまたはNTSC方式に変換する機能を有する。これが、ビデオエンコーダ21がPAL/SECAM/NTSCビデオエンコーダとも呼ばれる理由である。ビデオデコーダ21は、ビデオドライバ回路10の出力端子6a′と6b′に出力されるアナログビデオ信号RGB、YUV、Y/C、CVBSのうちの少なくとも1つを生成する。ビデオエンコーダ21は、画像の表示を同期する垂直同期信号Vsyncと水平同期信号Hsyncも生ずる。それらの同期信号Vsync、Hsyncは、ビデオドライバ回路10の出力端子8′と9′にそれぞれ出力される。これらの信号は、オーディオビジュアル番組を提示するテレビジョン受像機に供給されるようになっていることが想起される。
ビデオドライバ回路10の出力端子6a′、6b′、8′、9′は、回路1(図3参照)の出力端子6a、6b、8、9にそれぞれ結合されるようになっている。
さらに、ビデオドライバ回路10は、トランスポートストリームマルチプレクサ(TSMUX)141と、プログラム可能トランスポートインタフェース(PTI)ここでは3つのそのようなインタフェース142、143、144と、スクランブル解除モジュール145とを有するトランスポートブロック14を有する。PTIは、バス12に双方向結合されている。さらに、マルチプレクサ141は、ハードディスク20から取り出されたデータを受けるためにバス12に結合されれている。
PTIの機能は、ビデオドライバ回路10の入力端子2′、3′、4′を介して受信され、またはハードディスク20から読出されたトランスポートストリームの各1つを処理し、あるいはさもなければ、ビデオドライバ回路10の入出力端子5′を介して受けた(デコーダボックス1の外部からの)トランスポートパケットのストリームTP_Inを処理することである。有利なことに、いくつか(すなわち、図示の例では3個)のPTIを持つことによって、いくつかの異なるトランスポートストリームを同時に処理することが可能である。
入力端子2′、3′、4′と入出力端子5′は、デコーダボックス1内で、入力端子2、3、4と入出力端子5にそれぞれ結合されるようにされている(図3参照)。
PTI142、143、144の各々は、いくつかの機能を有する処理を行う。まず、PTIは、指定された番組におのおの対応するトランスポートパケットのストリームを生成することにより、処理されたトランスポートストリーム(多重分離)の所与の番組のデータパケットの選択を行う。また、PTIは、トランスポートパケットのストリームのインデクシング(索引付け)を行う、すなわち、内部で事象(イベント)が起きるパケットの番号でそれらの事象にラベル付けする。インタフェースがプログラム可能であるという事実によって、このインデクシングを、特に条件付きアクセスに関する製造者の諸要求の関数として、柔軟に実行できる。その後で、各PTIは、オーディオパケットとビデオパケットとテレテキストパケットとサブタイトルパケットとを適切なデコーダへ送る。最後に、PTIは、放送データ(表)、特に番組に特有の情報(PSI;Program Specific Information)のフィルタリングと取得とを行う。
一実施例では、PTI142、143、144の各々は、120Mビット/sのビット速度をサポートする。これによって、6倍速(すなわち公称速度(1倍速)の6倍)の高速早送りモードでの表示を行うために、15Mビット/sのストリームの処理を容易に行うことができる。
スクランブル解除(デスクランブル)モジュール145は、PTIにより処理されるトランスポートストリームの多重スクランブル解除を行う。このスクランブル解除は、たとえば、DVBモード、DESモードまたはICAMモードで行うことができる。
選択によっては、トランスポートブロック14は、低レベルインタフェース(LLI)15によって入力端子2′、3′、4′の少なくとも1つと通信する。インタフェース15は、前述したトランスポートパケットのストリームTP_Inを受信し、または同様な前述したトランスポートパケットのストリームTP_Outを出力するように、パラレル/シリアルインタフェースを介して、ビデオドライバ回路10のトランスポートブロック14と入出力端子5′の間のインタフェースも行う。
ビデオドライバ回路10は、ハードディスク20にアクセスするためのインタフェース16も有する。これはたとえばATA(AT Attachment)型インタフェースであって、ITEとしても知られており、たとえば、ATA‐5インタフェースである。変形例として、インタフェース16は、UDMA型インタフェースでもよい。インタフェース15によって、ハードディスクは、中央演算装置(CPU)11とGPDMAコントローラ121により書込みアクセスまたは読出しアクセスされることができる。
ビデオドライバ回路10は、システムメモリ30と通信するために外部メモリインタフェース(EMI;External Memory Interface)17も有する。
ビデオドライバ回路10は、たとえば、5つのUART、6つの並列入出力バンク、チップカード用の2つのインタフェース、4つのPWM(パルス幅変調)チャネル、テレテキスト直列化器、多チャネル赤外線送信器/受信器、(インターネットへの接続のための)フロントエンドアナログモデムインタフェースを含めた周辺装置と通信するための統合されたインタフェースの組18も有する。組18のIEEE1284型インタフェース181は、並列/直列インタフェースを介するストリームTP_Inの受信とストリームTP_Outの送信を行えるように、低レベルインタフェース15にも結合されている。
同様に、ハードディスク20に記録されまたはハードディスク20から取出されたデータのローカルでのスクランブル化/スクランブル解除のためのエンジン19によって、ハードディスクに記録されているデータへの著作権侵害行為(海賊行為)に対する安全の管理が可能にされる。一実施例では、このエンジンは、条件付きアクセス機能を保証して著作権侵害行為を防止するように、ハードディスクに記録されているデータのローカルでのスクランブル化を行う。
最後に、ビデオドライバ回路10は、現在のあらゆるオーディオフォーマットの下のオーディオ信号を生ずるために、DSP(デジタル信号プロセッサ)を備えたオーディオサブシステム23を有する。このサブシステム23は、出力端子7a′のためのデジタル−アナログ変換器(CNA)の組24を介して、ビデオドライバ回路10の出力端子7a′、7b′、7c′に結合されている(左チャネルと右チャネルのおのおのに対してそのような変換器がある)。
したがって、一実施例では、
・出力端子7a′は、上述したアナログ信号Audio_Out_L、Audio_Out_Rを出力し、
・出力端子7b′は、PCM(パルス符号変調)という名で知られているタイプ、すなわち、オーディオCDとDVDで特に用いられている非圧縮デジタルオーディオ符号化のタイプのデジタルオーディオ信号を出力し、
・出力端子7c′は、S/P DIF(Sony(ソニー)/Philips(フィリップス)デジタルインタフェース)という名で知られているタイプ、すなわち同軸コネクタを使用するデジタルオーディオ伝送のタイプのデジタルオーディオ信号を出力する。
・出力端子7a′は、上述したアナログ信号Audio_Out_L、Audio_Out_Rを出力し、
・出力端子7b′は、PCM(パルス符号変調)という名で知られているタイプ、すなわち、オーディオCDとDVDで特に用いられている非圧縮デジタルオーディオ符号化のタイプのデジタルオーディオ信号を出力し、
・出力端子7c′は、S/P DIF(Sony(ソニー)/Philips(フィリップス)デジタルインタフェース)という名で知られているタイプ、すなわち同軸コネクタを使用するデジタルオーディオ伝送のタイプのデジタルオーディオ信号を出力する。
ビデオドライバ回路10の出力端子7a′、7b′、7c′は、デコーダボックス1の出力端子7a、7b、7cにそれぞれ結合されるようにされている。
ビデオドライバ回路10は、たとえば0.18μm技術でチップ上のシステム(すなわちSOC)の形式で具体化される。ビデオドライバ回路10は、PBGA388型ボックスに集積化できる。
図5は、ハードディスク20に対する記録および読出しを提供する、ビデオドライバ回路10の手段のソフトウエアアーキテクチャの一例を示す。従来は、このアーキテクチャは、階層化モデルに従って提示されている。
1番下のレイヤ(層)204は、ビデオドライバ回路10のハードウェアアーキテクチャに対応する物理レイヤであって、その上に種々のソフトウエアレイヤが重ねられる。
1番上のレイヤは、パイプラインマネージャ210と呼ばれるものを形成している。パイプラインマネージャは、記録マネージャ211と、読出し(再生)マネージャ212と、インデックスマネージャ213と、データマネージャ214とを含んでいる。
1番下のレイヤ(ただし、パイプラインマネージャ210の下であるが、物理レイヤ204の上)は、記録モジュール221と、インデックスモジュール222と、ファイルシステム223と、MPEGシーケンサ(MPEGスケジューラ)224と、読出しモジュール225と、を含む。さらに、DMAマネージャ226が、シーケンサ224と読出しモジュール225の上に来る。
この図では、パイプラインマネージャ210のエンティティ自体の間、またはそれらのエンティティと1番下のレイヤのエンティティとの間の、パイプラインマネージャ210のエンティティの間の一方向または双方向のデータ交換とコマンドとの少なくとも一方が、垂直の矢印記号で示されている。
モジュール221、222、226は、下のレイヤ227、いわゆるマイクロコード化されたアーキテクチャ多重分離レイヤ(または「トランスポートコントローラコード」を表すTCコード)を呼出す。言い換えると、これは、マイクロコードをベースとするプログラム可能な回路による多重分離の機能を実現するドライバである。
ファイルシステム223は、ハードディスクの低レベルドライバソフトウエア(HDD低レベルドライバ)228に依存する。
本発明の一実施形態では、シーケンサ224は、MPEG復号に関連する4つのそれぞれのタスクを異なるやり方で実行する4つのモジュールに依存する。これは、ヘッダ探索モジュール231と、復号モジュール232と、フレームメモリマネージャ233と、表示モジュール234とを含む。
以下、モジュール231〜234と226がソフトウエアの形態で実現されているとして、それらのモジュールがどのように動作するかを詳細に説明する。
ヘッダ探索モジュール231:
番組は、多重化されている全ての番組が一緒に保存されているならば完全なトランスポートストリームのレベルで、または単一の番組のトランスポートストリームが保存されているならば部分トランスポートストリームのレベルで、元々のスクランブル化された形態でハードディスク20に保存されることが好ましい。変形例では番組は、単一の番組のオーディオ、ビデオデータパケットまたはデータ・パケットを含んでいるパケット化された基本ストリーム(PES;Packetized Elementary Stream)の形で保存される。あらゆる場合に、画像の場所などのインデクシング情報はハードディスクに記録されない。したがって、記録されている番組の内容は、著作権侵害行為に対してより良く防止される。
番組は、多重化されている全ての番組が一緒に保存されているならば完全なトランスポートストリームのレベルで、または単一の番組のトランスポートストリームが保存されているならば部分トランスポートストリームのレベルで、元々のスクランブル化された形態でハードディスク20に保存されることが好ましい。変形例では番組は、単一の番組のオーディオ、ビデオデータパケットまたはデータ・パケットを含んでいるパケット化された基本ストリーム(PES;Packetized Elementary Stream)の形で保存される。あらゆる場合に、画像の場所などのインデクシング情報はハードディスクに記録されない。したがって、記録されている番組の内容は、著作権侵害行為に対してより良く防止される。
しかしながらこれは、読出しのための特定の機構を実現することを要する。この機構の機能は、ストリームに含まれているパケットのヘッダを検出することにより、画像の場所を決定するように、ハードディスクに記録されているストリームの内容を解析する(またはパースする(細かに調べる))ことである。この機構は、ヘッダ探索モジュール231により実現される。
MPEGビデオストリームはMPEGシーケンスで構成され、各シーケンスはMPEG規格の意味するところでの画像(ピクチャ)の群(GOP;Group of Pictures)で構成されている。各GOPは、圧縮された画像(イメージ)で構成されている。各画像は、スライスで構成されている。各スライス自体は、おのおの16×16画素のマクロブロックで構成されている。最後に、各マクロブロックは、おのおの8×8画素のブロック6個を有する。
ヘッダ探索モジュールは、MPEG規格に記述されているヘッダサーチ機能に非常に良く似たやり方で動作する。それの主な機能は、MPEGシーケンスのヘッダフィールドから取出された全ての情報を、スライスレベルまで、適切なソフトウエア構造にコピーすることである。
復号中は、ヘッダ探索モジュールは、一方では基本ビデオデータ入力をFIFO型の基本ストリームバッファメモリに読み込むことを、他方では、スタートコードを検出して、そのコードが検出されたこと、および以後のデータをバッファメモリで利用できることをMPEGシーケンスに知らせることを、並列に実行できる。
検出されるスタートコードは、
・画像のスタートコード(コード0x00)、
・画像の最初のスライスのスタートコード(コード0x01)、
・画像の他のスライスのスタートコードから離れているすべての他のスタートコード(コード0xB0〜0xFF)、
である。
・画像のスタートコード(コード0x00)、
・画像の最初のスライスのスタートコード(コード0x01)、
・画像の他のスライスのスタートコードから離れているすべての他のスタートコード(コード0xB0〜0xFF)、
である。
言い換えると、ヘッダ探索モジュールは、画像の最初のスライスに対するもの(コード0x02から0xAF)を除くスライススタートコード以外の全てのスタートコードを検出する。
ヘッダ探索モジュールにより実行される処理のためのアルゴリズムは非常に簡単である。スタートコードが検出されると、このスタートコードは解析される。そうすると次の3つのケースが識別される:
・スタートコードはMPEG規格のコードであるが、コード0x02〜0xAFのいずれか1つでもないので、スタートコードは適切なソフトウエア構造体に保存され、この情報が受信されて利用可能であることが知らされ、別のスタートコードが探索されるか、
・スタートコードがMPEG規格のコードではなく、そうするとなにかが正しくないことをMPEGシーケンサは知らせられ、別のスタートコードが探索されるか、
・またはスタートコードがコード0x02〜0xAFの1つであるので、画像の復号を進めるために全ての情報(すなわち、スライスレベルまでの全ての情報)を使用できることをMPEGシーケンサは知らせられる。なお、その後では、別のスタートコードは自動的には探索されないこと。特に、次の画像の探索を指令する責任は、MPEGシーケンサが負う。これはプルモデル(またはプルモード)に従うMPEGシーケンサの動作態様を表す。
・スタートコードはMPEG規格のコードであるが、コード0x02〜0xAFのいずれか1つでもないので、スタートコードは適切なソフトウエア構造体に保存され、この情報が受信されて利用可能であることが知らされ、別のスタートコードが探索されるか、
・スタートコードがMPEG規格のコードではなく、そうするとなにかが正しくないことをMPEGシーケンサは知らせられ、別のスタートコードが探索されるか、
・またはスタートコードがコード0x02〜0xAFの1つであるので、画像の復号を進めるために全ての情報(すなわち、スライスレベルまでの全ての情報)を使用できることをMPEGシーケンサは知らせられる。なお、その後では、別のスタートコードは自動的には探索されないこと。特に、次の画像の探索を指令する責任は、MPEGシーケンサが負う。これはプルモデル(またはプルモード)に従うMPEGシーケンサの動作態様を表す。
上記のソフトウエア構造体は、MPEG規格において記述されているものである。より十分な情報を参考とするためには、そのMPEG規格を参照されたい。大域(グローバル)構造体またはヘッダ主探索構造体は、ストリーム中で検出された最後のスタートコードの位置と、特定の構造体が受けられたかまたは受けられなかったかを知らせるための特別のフラグを含む。
これに加えて、ヘッダ探索モジュールは、
・基本ストリームバッファメモリ内のスタートコードの位置(すなわちアドレス)を、バッファメモリの各再初期化ごとにゼロにリセットされ、かつ解析されたストリームのバイト数を指示する24ビットカウンタの支援により、決定する手段と、
・(たとえば、1つの符号化されたデータストリームから別の符号化されたデータストリームへ切り替える時、または読出しの“進歩した”モードの時に、)指定された不連続が基本バッファメモリ内の入力端子に知らされたことを検出する手段と、
・特定のユーザデータを(指定された2つのスタートコードの間で検出される)MPEGシーケンスから取出し、それらを特定のバッファメモリ、いわゆる取得バッファメモリに保存する手段と、
・復号および表示すべき画像のタイプを、所与のプロトコル(表示プロトコルと呼ばれる)で定める手段と、
を有している。ここで取得バッファメモリは、ユーザデータのサイズは前もっては定められないという事実を回避するように、動的に割当てられる。選択によっては、この取得バッファメモリは、他のモジュールに適合するために、循環メモリとすることができる。
・基本ストリームバッファメモリ内のスタートコードの位置(すなわちアドレス)を、バッファメモリの各再初期化ごとにゼロにリセットされ、かつ解析されたストリームのバイト数を指示する24ビットカウンタの支援により、決定する手段と、
・(たとえば、1つの符号化されたデータストリームから別の符号化されたデータストリームへ切り替える時、または読出しの“進歩した”モードの時に、)指定された不連続が基本バッファメモリ内の入力端子に知らされたことを検出する手段と、
・特定のユーザデータを(指定された2つのスタートコードの間で検出される)MPEGシーケンスから取出し、それらを特定のバッファメモリ、いわゆる取得バッファメモリに保存する手段と、
・復号および表示すべき画像のタイプを、所与のプロトコル(表示プロトコルと呼ばれる)で定める手段と、
を有している。ここで取得バッファメモリは、ユーザデータのサイズは前もっては定められないという事実を回避するように、動的に割当てられる。選択によっては、この取得バッファメモリは、他のモジュールに適合するために、循環メモリとすることができる。
これらの手段は不可欠のものではないが、画像を復号し、同期し、表示するやり方を容易にしかつ適切に定める。画像の表現の型は、たとえば、特に、画像がプログレッシブであるかないか、画像当りの表示すべきフィールドの数、フィールドの極性(最大3つまでのフィールド、各フィールドはおそらく1番上のフィールド(トップフィールド)または1番下のフィールドである(ボトムフィールド))、フレーム中に含まれている有効な再フレーム化ベクトル(パン(Pan)およびスキャン(Scan)ベクトル)の数、および再フレーム化ベクトルがどのようにして受けられて使用されるかの態様、を意味するものとして理解される。有利なことに、画像の型は、画像の型についての全ての情報を集めて統合するテーブル中のエントリ値である単一のパラメータにより定められる。
復号モジュール232:
このモジュールの主な機能は、画像を復号するための各命令を、ヘッダ探索モジュール231から取出されたヘッダ情報から生成することである。
このモジュールの主な機能は、画像を復号するための各命令を、ヘッダ探索モジュール231から取出されたヘッダ情報から生成することである。
復号モジュール232は、MPEGマネージャ224からのみ呼出しを受ける。下記の主な呼出しについて、以下に説明する:
・復号命令を用意し、再構成すべき画像を保存するフレームメモリのアドレスとこの再構成のために求められる基準画像が保存されるフレームメモリのアドレスとの、フレームメモリマネージャ233による供給を求めること、
・命令を保存すること、
・画像をスキップすること、
・再スタートの場合または破滅的な復号誤りの場合にデコーダを再初期化すること、
・デコーダの位置と、基本ストリームバッファメモリ内のデータの終りとを定め、かつ検証すること。
・復号命令を用意し、再構成すべき画像を保存するフレームメモリのアドレスとこの再構成のために求められる基準画像が保存されるフレームメモリのアドレスとの、フレームメモリマネージャ233による供給を求めること、
・命令を保存すること、
・画像をスキップすること、
・再スタートの場合または破滅的な復号誤りの場合にデコーダを再初期化すること、
・デコーダの位置と、基本ストリームバッファメモリ内のデータの終りとを定め、かつ検証すること。
復号命令の用意については、指定されたパラメータがデータストリームのパケットのヘッダフィールドから取出され、デコーダのレジスタマップに従ってフォーマットされる。これは、特に、ストリームの型すなわちMPEG−1またはMPEG−2、水平画像パラメータおよび垂直画像パラメータ、画像符号化型、マクロブロック内での画像の幅と高さ、などを含む。
画像を復号するためにはフレームメモリ、すなわち最低限で再構成バッファメモリと順方向(フォワード)バッファメモリと(タイプP予測画像のための)逆方向(バックワード)バッファメモリとを必要とする。復号すべき画像を復号モジュールがフレームメモリマネージャ233に割当てるのは、この時である。復号がまだ始まらないと、フレームメモリマネージャ233は、再構成バッファメモリはラッチされていると認め、復号が終了するまでその画像を使用できるものとみなさない。復号中に誤りが起きると、マネージャ232は、他の手順がそれを使用できない限り、その画像に気付かないかもしれない。マネージャ233からフレームメモリを求める時に復号モジュール233はフレームメモリを確実に得る。特に、MPEGシーケンサ224は、復号命令を用意する前に、自由である、すなわちマネージャ233内でそうであると認められている少なくとも1つのフレームがあることを確実にする。
同様に、復号モジュール232の機能は、内部RAMメモリが正しい量子化テーブルを含んでいることを検証することである。MPEGデータストリームでは、ストリームの中で定義されないデフォールトテーブルと、シーケンス内で定義されるテーブルと、各画像のための特定のテーブルと、の3つの異なる型の量子化テーブルを使用できる。正しいテーブルを使用できないとすると、復号モジュール232はこの効果に対するフラグと特定の構造体に対するポインタとを設定することにより、デフォールトテーブルと、シーケンス拡張部(エクステンション)内のテーブルまたは画像拡張部内のテーブルである諸テーブルの再ロードを求める。
基本ストリームバッファメモリ内での復号モジュールの位置を決定することに関しては、実行される手順は、ビデオ基本ストリームバッファメモリ内の最後のデータ項目の位置のみが与えられることを除き、ヘッダ探索モジュール231について述べたものに類似することが注目されるであろう。ビデオ基本ストリームバッファメモリのサイズを示す別のカウンタがあるので、復号モジュールの位置の良い見積もりを得ることが可能である。
命令保存に関しては、求められる全てのパラメータが、MPEGシーケンサ224が復号手順の開始を求める時と同じ時に保存されることに注目すべきである。この保存が終わると、復号作業自体は、垂直同期化イベントを待つことなく、ただちに開始される。なお、そうすると、新しいヘッダ探索が自動的に開始される。これは、オーディオデータストリームまたはビデオデータストリームの新しい部分が基本ストリームバッファメモリで受けられている時はヘッダ探索モジュール231が再スタートさせられないことを主に説明する。
さらに、復号自体を開始する前に、一方では、復号モジュールとヘッダ探索モジュール231から得た情報とが復号モジュールが復号するであろう画像と同相であることを検証するために、他方では、画像の位置を近似的に定め、かつそれをフレーム(これは、データがバッファメモリ内で依然として使用できるならば、巻き戻しモードで復号を開始するために使用できる)に関連させるために、復号モジュールの位置が用いられる。
ここで画像のスキップに関し、MPEGシーケンサ224が画像のスキップを求めると、この動作は即時であること、および、2つのモジュール231と232の同期を維持するように、ヘッダ探索が同時に誘発されることが注目されるであろう。
最後に、復号モジュール232の再初期化に関して、(完全または部分的な)再初期化の場合には、ビデオ基本ストリームバッファメモリ内の位置に対する全てのポインタが同時に再初期化されることが注目されるであろう。さらに、全てのメモリレジスタがそのように放置され、したがって、前と同じ内容を保持する。必要時にそれらが全て命令される限り、これは問題ではない。実際にはエッジ効果は認められなかった。
フレームメモリマネージャ233:
このモジュールの機能は、画像の復号のために使用されるフレームメモリを管理することである。ストリームの画像がタイプIの画像(フレーム内符号化(intra-coded)画像)とタイプPの画像(フレーム間符号化(predicted)画像)とタイプBの画像(フレーム内挿符号化(bidirectionally predicted)画像)とを含んでいると、次の最少4つのフレームメモリを備えることが必要である:
・既に復号されて、現在表示されている画像を保存するためのメモリ、
・復号すべき画像を再構成するために、たかだか、必要な2つの基準画像(Predictors)を保存するための他の2つのメモリ、
・現在再構成されている、復号すべき画像を保存するためのメモリ。
このモジュールの機能は、画像の復号のために使用されるフレームメモリを管理することである。ストリームの画像がタイプIの画像(フレーム内符号化(intra-coded)画像)とタイプPの画像(フレーム間符号化(predicted)画像)とタイプBの画像(フレーム内挿符号化(bidirectionally predicted)画像)とを含んでいると、次の最少4つのフレームメモリを備えることが必要である:
・既に復号されて、現在表示されている画像を保存するためのメモリ、
・復号すべき画像を再構成するために、たかだか、必要な2つの基準画像(Predictors)を保存するための他の2つのメモリ、
・現在再構成されている、復号すべき画像を保存するためのメモリ。
フレームメモリマネージャ233は、画像の表示順序を表示の向き(順方向または逆方向)の関数として管理する機能も有する。そのために、それは、ビデオフレームに関連させられている提示時間スタンプ(PTS)に依存している時間ベース(これはハードディスクからの読出し中に極めて大きな困難をもたらす)を使用するよりは、仮想タイムベースを配置するので有利である。
仮想タイムベースは、各ビデオフレームにそれぞれ関連させられて、ビデオフレームがデコーダ13の入力端子に達した時に割当てられる仮想時間基準を基にしている。それらの基準は、たとえば、32ビットで符号化された数で達成される。それらの数の値は、読出し指令を受けた時に、たとえばh80000000(16進記法で80000000)に初期化される。この初期化の値によって、ほぼフレームの1周期をめぐって順方向モードおよび逆方向モードの両方で、等しく参照することが可能にされる。
それらの仮想時間基準は、必要時に重ね書きできるフレームメモリを決定するように、フレームメモリに保存されているフレームからどのフレームが最も古いものであるかを決定するためにも用いられる。
実際には、フレームメモリマネージャ233は、画像を復号および表示するために重要な情報を含んでいるテーブルの形で具体化される。この情報は、
・フレームメモリマネージャ233が管理できるフレームメモリの(たとえば8ビットで符号化されている)最大数、
・適切な構造体に従って配列されている、画像の幅、画像の高さ、PTSの存在、パンベクトルおよびスキャンベクトルの存在などの画像の全てのパラメータ、
・現在表示されている復号画像を含んでいるフレームメモリの識別子(すなわち、たとえば、8ビットで符号化されているアドレスポインタ)、
・適切なものである、順方向基準画像を含んでいるフレームメモリの(たとえば8ビットで符号化されている)識別子(すなわち、P型またはB型である復号すべき画像に対するもの)、
・適切なものである、逆方向基準画像を含んでいるフレームメモリの(たとえば8ビットで符号化されている)識別子(すなわち、B型である復号すべき画像に対するもの)、
・現在再構成されている画像を含むことを意図されているフレームメモリの(たとえば8ビットで符号化されている)識別子、
・現在表示されている画像に関連させられている(たとえば32ビットで符号化されている)仮想時間基準、
・フレームに含むことができる各画像にそれぞれ関連させられている複数の(たとえば32ビットで符号化されている)仮想時間基準、である。したがって、そのような仮想時間基準の数は、フレームメモリの最大数に等しい。それらの基準は、復号時に割当てられ、それらによって表示モジュール234は、画像を正しい順序で表示するように、どの画像をフレームメモリから取出すかを知ることができる。
・フレームメモリマネージャ233が管理できるフレームメモリの(たとえば8ビットで符号化されている)最大数、
・適切な構造体に従って配列されている、画像の幅、画像の高さ、PTSの存在、パンベクトルおよびスキャンベクトルの存在などの画像の全てのパラメータ、
・現在表示されている復号画像を含んでいるフレームメモリの識別子(すなわち、たとえば、8ビットで符号化されているアドレスポインタ)、
・適切なものである、順方向基準画像を含んでいるフレームメモリの(たとえば8ビットで符号化されている)識別子(すなわち、P型またはB型である復号すべき画像に対するもの)、
・適切なものである、逆方向基準画像を含んでいるフレームメモリの(たとえば8ビットで符号化されている)識別子(すなわち、B型である復号すべき画像に対するもの)、
・現在再構成されている画像を含むことを意図されているフレームメモリの(たとえば8ビットで符号化されている)識別子、
・現在表示されている画像に関連させられている(たとえば32ビットで符号化されている)仮想時間基準、
・フレームに含むことができる各画像にそれぞれ関連させられている複数の(たとえば32ビットで符号化されている)仮想時間基準、である。したがって、そのような仮想時間基準の数は、フレームメモリの最大数に等しい。それらの基準は、復号時に割当てられ、それらによって表示モジュール234は、画像を正しい順序で表示するように、どの画像をフレームメモリから取出すかを知ることができる。
表示モジュール234:
このモジュールの機能は、本質的には、復号される画像と表示スクリーンとの間のそれぞれのパラメータの必要な変換を行うことにより、復号された画像の表示の制御を管理することである。
このモジュールの機能は、本質的には、復号される画像と表示スクリーンとの間のそれぞれのパラメータの必要な変換を行うことにより、復号された画像の表示の制御を管理することである。
画像のパラメータは、フレームメモリマネージャ233により表示モジュール234に供給される。これらのパラメータは、特に、画像の幅および高さと、メモリ中の輝度バッファメモリおよび色度バッファメモリの位置と、表示プロトコルと、パンベクトルおよびスキャンベクトルのリストと、それらのベクトルにより定められた縮小された表示エリアと、画像の縦横比(たとえばPAL方式では4対3)である。先験的には、復号された画像は、フレームメモリに4:2:0のフォーマットでマクロブロックとして保存される。
表示のパラメータは、特に、表示エンコーダ21(図4)により、モジュール234に供給される。それらのパラメータは、特に、スクリーンの高さおよび幅と、スクリーンの表示可能なエリアのオフセットと、完全な表示可能なエリアの縦横比(たとえば16対9)と、2つのフィールドの間の時間間隔と、を含む。
しかし、モジュール234は、画像のインターリーブまたはデインターリーブを管理する機能も有する。一般に、現在放送中のオーディオビジュアル番組は、インターリーブされている画像である。
表示スクリーンが、インターリーブスクリーンであり、かつ読出し速さが公称速さ(1倍速)であるならば、フレームのインターリーブを修正する必要はない。フレームの極性が表示スクリーンの極性に対応することを検証することが必要なだけである。
しかし、読出し速さが公称速さと異なるか、および/または、フレームがプログレッシブであるのでフレームのインターリーブを修正しなければならないときには、正しい極性でフレームの表示を管理するように、仮想タイムベースを使用すると有利である。
バッファメモリを管理するモジュール(DMAマネージャ)226:
オーディオデータパケットとビデオデータパケットのプリバッファリングを行う基本ストリームバッファメモリの管理原理が図7に示されている。
オーディオデータパケットとビデオデータパケットのプリバッファリングを行う基本ストリームバッファメモリの管理原理が図7に示されている。
1組のバッファメモリ70が設けられている。それらのバッファメモリは、オーディオデータストリームの部分、またはビデオデータストリームの部分を保存するようにされている。これが、それらのメモリが基本ストリームバッファメモリとも呼ばれる理由である。なお、これらのバッファメモリに保存されるデータは符号化されたデータ、すなわち、MPEG規格などの圧縮規格に従って圧縮されたデータである。それらのバッファメモリの容量は、復号するためにストリームの十分な部分を保存することを可能にするために十分なものである。ビデオデータストリームの部分を保存することを意図されているバッファメモリに関し、特に、容量は、MPEG規格の意味するところで少なくとも1つの画像群(GOP;Group of Pictures)を保存するのに十分なものである。ユーザは、たとえば、システムメモリ30中に割当てられるバッファメモリの数を選択することが好ましい。しかしながら、それらのバッファメモリの数は、最大数、たとえば12(この数は使用できるメモリ資源に依存する)に限定すると有利である。
1以上のオーディオビジュアル番組にそれぞれ対応する1以上のオーディオデータストリームと1以上のビデオデータストリームが、1以上のそれぞれの源(ソース)から得られる。それらのストリームは、MPEG規格の意味するところでのパケット化された基本ストリーム(PES;Packetized elementary stream)であることが好ましい。データは通常は平文(プレインテキスト)データ(すなわちスクランブル解除されたデータ)である。
したがって、図7に示されているものは、図4のトランスポートブロック14、より正確にいえばこのブロックのPTI142、143、144の1つに対応するデマルチプレクサから得られるオーディオデータパケットのストリーム81とビデオデータパケットのストリーム82にそれぞれ対応する。たとえば、ストリーム81、82は、符号化されているデータ、すなわちデマルチプレクサ14により以前に受けられ、所与の伝送チャネル(衛星、ケーブルまたはDVB)を通じてデコーダボックスへ送られた、圧縮されたデータ(たとえば、MPEG規格の意味するところのトランスポートストリーム)のストリーム83を、多重分離しスクランブル解除することによって、得られる。変形例では、それらは、デマルチプレクサ14により以前に受けられたトランスポートストリームであって、トランスポートストリーム83と共通点があるがハードディスク20から読出されるトランスポートストリーム84を、多重分離しスクランブル解除することによって得ることができる。そのようなトランスポートストリームは、所与の伝送チャネル(衛星、ケーブルまたはDVB)を介してデコーダボックスに送られた後でハードディスク20に保存されたものであってもよい。
同様に、示されているものは、ハードディスク20(または他の任意の大容量記憶デジタル媒体)から得られるオーディオデータパケットのストリーム85とビデオデータパケットのストリーム86である。たとえば、それらのストリーム85、86は、ハードディスクから直接読出される。この場合には、それらはたとえば、前述のストリーム83などのトランスポートストリームからデマルチプレクサ14により生成された後に、特に、MPEG規格の意味するところでパケット化された基本ストリーム(PES)の形で、ハードディスク20に以前に保存されたものである。
あらゆる場合に、オーディオデータパケットのストリームの部分とビデオデータパケットのストリームの部分は、バッファメモリの組70にロードされる。パケット化されたストリームの部分を取扱っているという事実は、バッファメモリ内のオーディオフレームの場所およびビデオフレーム(画)の場所についての情報を先験的には使用できないことを意味する。このようにバッファされているストリーム部分の解析のステップが、この情報を得ることを可能にすることが、後で分かるであろう。バッファされているデータが圧縮されているが平文データであるという事実は、バッファリングが復号に非常に近い時点で起きる限り、番組に対する著作権侵害行為の防止に関しては、実際には欠点ではない。
有利なことに、バッファメモリ70へのロードを、プルモードに従って、管理モジュール226(DMAマネージャ)によって実行できる。このようにして、バッファメモリの容量のオーバーフローの危険は避けられる。
次に、オーディオデータとビデオデータは、前述したバッファメモリから、オーディオデコーダ130とビデオデコーダ131にそれぞれ入力として供給される。有利なことに、この供給は、DMAマネージャ226により、プッシュモードに従って制御される。しかし、後で分かるようにこの供給を制御するのは正確にデコーダであるので、デコーダのFIFO135(またはCD_UNIT)の容量がオーバーフローする危険は、これからは起こらない。さらに、デコーダの容量のアンダーフローの逆の危険が、パケットのプリバッファリングのために、実質的に限定される。
1組のバッファメモリ70は圧縮されたデータをいくつかの源から同時に受けることができることが注目されるであろう。それは、特に、トランスポートブロック14(図4)のデマルチプレクサ(PTI)142、143、144の少なくとも1つが、オーディオデータパケットのいくつかのストリームとビデオデータパケットのいくつかの対応するストリームとをほぼ同時に出力する場合である。またそれは、デマルチプレクサが、オーディオデータパケットのいくつかのストリームとビデオデータパケットのいくつかの対応するストリームを、オーディオデータパケットの別のストリームとビデオデータパケットの対応するストリームがインタフェース16を介してハードディスク20から読出されるのとほぼ同時に出力する場合でもある。
さらに、デコーダ130などのいくつかのオーディオデコーダと、デコーダ131などのいくつかのビデオデコーダとの少なくとも一方を設けることができる。
DMAマネージャ226により適用される規則は、所与の時刻に、組70の基本ストリームバッファメモリに、たかだかただ1つのデータ源とたかだか1つのデータ消費要素(オーディオデコーダまたはビデオデコーダ)が関連させられる、というものである。言い換えると、源とデコーダの間の単一の経路が所与のバッファメモリを通る。
最後に、そのようにして供給されたビデオデータとオーディオデータは、オーディオデコーダ130とビデオデコーダ131の支援によってそれぞれ復号される。
有利なことに、データがハードディスク20から出ると、DMAマネージャ226はビデオデコーダ131により駆動される。言い換えると、ハードディスクの読出しモードにあるとき、すなわち、復号すべきデータがハードディスク20から出た時に、ビデオドライバ回路10のマスタは、デコーダ13のビデオデコーダである。したがって、ビデオドライバ回路10の一般的なクロックを定めるのはビデオデコーダ131である。そのために、ビデオデコーダ131は表示の垂直同期信号(すなわち信号Vsync)のパルスに対応するイベントを用いて、仮想タイムベースを定める。それは、復号すべきデータが通る基本ストリームバッファメモリを指令するために必要な要求を管理するDMAマネージャ226を介して、復号すべきデータをハードディスクに要求する。利用できる要求は、たとえば:
・所与のバッファメモリにデータをロードすることを命令する要求、
・所与のバッファメモリへのデータのロードを停止を命令する要求、
・所与のバッファメモリによるデータの供給を命令する要求、
・所与のバッファメモリによるデータの供給の停止を命令する要求、
・バッファメモリへのデータのロードの停止、およびこのバッファメモリによるデータの供給の停止を命令し、かつこのバッファメモリのポインタの再初期化を指令する要求、
である。
・所与のバッファメモリにデータをロードすることを命令する要求、
・所与のバッファメモリへのデータのロードを停止を命令する要求、
・所与のバッファメモリによるデータの供給を命令する要求、
・所与のバッファメモリによるデータの供給の停止を命令する要求、
・バッファメモリへのデータのロードの停止、およびこのバッファメモリによるデータの供給の停止を命令し、かつこのバッファメモリのポインタの再初期化を指令する要求、
である。
それら5つの要求の組合わせによって、デマルチプレクサから(またはデマルチプレクサの1つから)、あるいは、直接、ハードディスクからデータを取得して、それらを復号のためにデコーダ(またはデコーダの1つ)に供給するように、あらゆる状況を管理することを可能にする。
適切な同期機構によってオーディオ処理手順をビデオ処理手順に自身で同期できることが、注目されるであろう。
実際のタイムベースは、表示されるフレーム(画像)当りの信号Syncの周期に対応する。導入される仮想タイムベースは、次のパラメータ、「信号Syncの周期当りの過去の画像の数」により定められる。これは、特に、種々の読出し速さを管理することを可能にする。この定義の意味において、「過去の画像」という表現は、表示された画像またはスキップされた画像を意味するものと理解される。
たとえば、読出し速さが公称速さ(1倍速)であれば、「信号Vsyncの周期当りの過去の画像の数」は1に等しい。これは、仮想クロックの周期の数が信号Syncの周期の数に等しいことを意味する。その後で、仮想クロックは、それ自身を実際のクロックに整列させる。読出し速さが、Nを所与の整数として、N個からの1つの画像の表示するのに対応するもの(N倍速)とすると、これは、信号Vsyncの1周期ごとにN個の画像が通ること、または、仮想クロック信号のN個の周期が信号Vsyncの1周期中で生起したことを意味する。
このように、画像凍結(フリーズ)コマンド中、または1つの画像を前進または後進させるコマンド中、またはスキップ中、またはビデオ同期化の喪失中は、動作は、「信号Vsyncの周期当りの過去の画像の数」パラメータを、最初の場合にはゼロに設定し、他の場合には、1単位だけ増加(インクリメント)/減少(デクリメント)させる。
仮想タイムベースに対応する信号Vsyncのパルスが到達するたびに(すなわち、表示の各垂直同期イベント(文献にはVsyncで示されてもいる)ごとに)、デコーダ13はバッファメモリ70の状態を調べる。もしそれらが空であれば、デコーダ13は、バッファメモリ70にデータを供給することをパイプラインマネージャ210に指示する。
その後、パイプラインマネージャ210は、データをデマルチプレクサ14に供給するようにハードディスク20に対するアクセスを指令し、デマルチプレクサ14は、その後でバッファメモリ70を介してそれらのデータをデコーダ13に供給する。全体はクロックに同期されている。
その後、パイプラインマネージャ210は、データをデマルチプレクサ14に供給するようにハードディスク20に対するアクセスを指令し、デマルチプレクサ14は、その後でバッファメモリ70を介してそれらのデータをデコーダ13に供給する。全体はクロックに同期されている。
フレームを提示する速さは、タイプM/Q(Mは画像の数を示し、Qは表示の垂直同期イベントの数(すなわち信号Vsyncのパルスの数)を示す)の分数の形を持つパラメータの支援によって、表示モジュール234により管理できる。分数M/Qは、好ましくは、約分させられている、すなわち数MとQは互いに素であることが好ましい。この速さはユーザにより制御される。この目的のためにユーザが入力する読出しコマンドは、ビデオデコーダ131に対して直接作用する(図7参照)。それらのコマンドは、たとえば、公称速さまたは高速での順方向読出し、画像凍結(フリーズ)、高速その他での巻き戻し、コマ送り画像表示(image-by-image display)、などである。
バッファメモリ70は、好ましくは線形に管理され、特に、循環形態に管理される。しかし、ユーザが巻き戻しコマンドを入力すると(画像を逆方向に表示するために)、バッファメモリ70はもはや線形ではない。実際に、この場合にはデコーダは指定されている基本ストリームバッファメモリに対してラッチし、そのバッファメモリが保持しているデータをランダムにアクセスできる。
有利な実施の形態では、各バッファメモリ70は、第1のメモリバンクおよび第2のメモリバンクを有する。したがって、所与のバッファメモリの第1のメモリバンクに保持されている、データストリームの第1の部分の解析を、前記バッファメモリの第2のメモリバンクに保持されている、同じデータストリームの第2の部分にそれぞれ含まれているオーディオフレームまたはビデオフレームの復号と、同時に実行できる。
この解析は、上記のヘッダ探索モジュール231によって実行される。それは復号可能なフレーム群のランダムアクセス点(RAP;Random Access Point)を特定すること、および少なくとも前記群の各フレームに対して、バッファメモリのフレームのアドレスと、順方向へのフレームの提示順序に関連させられている提示時間スタンプ(PTS)とを含む情報を決定することにある。MPEG規格にしたがって符号化されたビデオフレームの場合には、この情報は、タイプI、PまたはBの画像をさらに含む。
1 デコーダボックス
2、2′、3、3′、4、′ 入力端子
2a、3a、4a チューナ
2b、3b、4b アナログ/デジタル変換器(CAN)
2c、3c、4c 復調器
2d、3d、4d 誤り訂正フィルタ(FEC)
5、5′ 入出力端子
6a、6a′、6b、6b′、7a、7b、7c、8、8′、9、9′ 出力端子
10 ビデオドライバ回路
11 中央演算装置(CPU)
12 相互接続プレーン(バス)
13 オーディオ/ビデオデコーダ
14 トランスポートブロック
15 低レベルインタフェース(LLI)
16 インタフェース(ATA)
17 外部メモリインタフェース(EMI)
19 エンジン
20 ハードディスク
21 ビデオエンコーダ
22 テレテキストデータデコーダ
23 オーディオサブシステム
30 システムメモリ
31 共有メモリ
70 バッファメモリ
121 GPDMAコントローラ
130 オーディオデコーダ
131 ビデオデコーダ
132 サブタイトルデコーダ
133 画像合成器
134 共有メモリインタフェース
135 バッファメモリ
141 トランスポートストリームマルチプレクサ(TSMUX)
142、143、144 プログラム可能トランスポートインタフェース(PTI)
145 スクランブル解除モジュール
181 インタフェース
210 パイプラインマネージャ
211 記録マネージャ
212 読出しマネージャ
213 インデックスマネージャ
214 データマネージャ
221 記録モジュール
222 インデックスモジュール
223 ファイルシステム
224 MPEGシーケンサ
225 読出しモジュール
226 管理モジュール
228 低レベルドライバソフトウエア
231 ヘッダ探索モジュール
232 復号モジュール
233 フレームメモリマネージャ
234 表示モジュール
2、2′、3、3′、4、′ 入力端子
2a、3a、4a チューナ
2b、3b、4b アナログ/デジタル変換器(CAN)
2c、3c、4c 復調器
2d、3d、4d 誤り訂正フィルタ(FEC)
5、5′ 入出力端子
6a、6a′、6b、6b′、7a、7b、7c、8、8′、9、9′ 出力端子
10 ビデオドライバ回路
11 中央演算装置(CPU)
12 相互接続プレーン(バス)
13 オーディオ/ビデオデコーダ
14 トランスポートブロック
15 低レベルインタフェース(LLI)
16 インタフェース(ATA)
17 外部メモリインタフェース(EMI)
19 エンジン
20 ハードディスク
21 ビデオエンコーダ
22 テレテキストデータデコーダ
23 オーディオサブシステム
30 システムメモリ
31 共有メモリ
70 バッファメモリ
121 GPDMAコントローラ
130 オーディオデコーダ
131 ビデオデコーダ
132 サブタイトルデコーダ
133 画像合成器
134 共有メモリインタフェース
135 バッファメモリ
141 トランスポートストリームマルチプレクサ(TSMUX)
142、143、144 プログラム可能トランスポートインタフェース(PTI)
145 スクランブル解除モジュール
181 インタフェース
210 パイプラインマネージャ
211 記録マネージャ
212 読出しマネージャ
213 インデックスマネージャ
214 データマネージャ
221 記録モジュール
222 インデックスモジュール
223 ファイルシステム
224 MPEGシーケンサ
225 読出しモジュール
226 管理モジュール
228 低レベルドライバソフトウエア
231 ヘッダ探索モジュール
232 復号モジュール
233 フレームメモリマネージャ
234 表示モジュール
Claims (20)
- MPEG規格などのデータ圧縮規格に従って符号化された1以上のそれぞれのデータ源から得られた1以上のオーディオデータストリームと1以上のビデオデータストリームとを復号する方法であって、
a)前記オーディオデータストリームの部分および前記ビデオデータストリームの部分をバッファメモリの組にロードするステップと、
b)前記バッファメモリから、オーディオデータとビデオデータを少なくとも1つのオーディオデコーダ(131)の入力端子と少なくとも1つのビデオデコーダ(132)の入力端子にそれぞれ供給するステップと、
c)前記ビデオデータおよび前記オーディオデータをそれぞれ前記オーディオデコーダおよび前記ビデオデコーダの支援により復号するステップと、
を備え、
ステップa)は管理モジュールによりプルモードに従って実行され、及び/または、ステップb)は前記管理モジュールによりプッシュモードに従って実行され、
前記管理モジュールはビデオデコーダにより制御される方法。 - 前記オーディオデータストリームおよび前記ビデオデータストリームは、大容量記憶デジタル媒体からの読出しにより得られる請求項1に記載の方法。
- 前記オーディオデータストリームおよび前記ビデオデータストリームは、大容量記憶デジタル媒体からの読出し、およびMPEG規格の意味するところのトランスポートストリームの多重分離により得られる、請求項1に記載の方法。
- 前記オーディオデータストリームおよび前記ビデオデータストリームは、MPEG規格の意味するところのトランスポートストリームの多重分離により得られ、前記トランスポートストリームは、所与の伝送チャネルを介して実時間で受信される、請求項1に記載の方法。
- 前記バッファメモリにロードされるオーディオデータストリームの部分およびビデオデータストリームの部分は、パケット化されたデータストリームの部分である、請求項1乃至4のいずれか1項に記載の方法。
- 前記バッファメモリにロードされるオーディオデータストリームの部分およびビデオデータストリームの部分は、平文データストリームの部分である、請求項1乃至5のいずれか1項に記載の方法。
- 前記管理モジュールは、画像表示の垂直同期信号のパルスと同期して、前記ビデオデコーダによって制御される、請求項1乃至6のいずれか1項に記載の方法。
- 前記バッファメモリは、巻き戻しモードで画像を表示する意図で復号する場合を除き、線形な態様で管理される、請求項1乃至7のいずれか1項に記載の方法。
- 各バッファメモリは、第1のメモリバンクおよび第2のメモリバンクを有し、前記方法は、指定されたバッファメモリの第1のメモリバンクに格納された前記オーディオデータストリームまたは前記ビデオデータストリームの第1の部分を解析するステップと、前記バッファメモリの第2のメモリバンクに格納された前記オーディオデータストリームまたは前記ビデオデータパケットのストリームの第2の部分内に含まれているオーディオフレームまたはビデオフレームをそれぞれ復号するステップとを備える、請求項1乃至8のいずれか1項に記載の方法。
- MPEG規格などのデータ圧縮規格に従って符号化された1以上のそれぞれのデータ源から得られる1以上のオーディオデータストリームと1以上のビデオデータストリームとを復号する装置であって、
バッファメモリの組と、
オーディオデータおよびビデオデータの少なくとも1つの源と、
少なくとも1つのオーディオデコーダおよび少なくとも1つのビデオデコーダと、
前記源から前記バッファメモリへのローディングをプルモードに従って実行すること、及び、オーディオデコーダとビデオデコーダへのデータの供給をプッシュモードに従って実行すること、の少なくとも一方を行う管理モジュールと、
を備え、
前記管理モジュールは前記ビデオデコーダにより制御される、装置。 - 前記オーディオデータストリームおよび前記ビデオデータストリームを大容量記憶デジタル媒体(20)からの読出しにより得る手段を備える、請求項10に記載の装置。
- 前記オーディオデータストリームおよび前記ビデオデータストリームを大容量記憶デジタル媒体からの読出し、およびMPEG規格の意味するところのトランスポートストリームの多重分離により得る手段を備える請求項10に記載の装置。
- 前記オーディオデータストリームおよび前記ビデオデータストリームをMPEG規格の意味するところのトランスポートストリームの多重分離により得る手段と、前記トランスポートストリームを所与の伝送チャネルを介して実時間で受信する手段と、を備える請求項10に記載の装置。
- 前記バッファメモリにロードされる前記オーディオデータストリームの部分および前記ビデオデータストリームの部分は、パケット化されたデータストリームの部分である、請求項10乃至13のいずれか1項に記載の装置。
- 前記バッファメモリにロードされる前記オーディオデータストリームの部分および前記ビデオデータストリームの部分は、平文データストリームの部分である、請求項10乃至14のいずれか1項に記載の装置。
- 前記管理モジュールは、前記ビデオデコーダにより、画像表示の垂直同期のための信号(Vsync)のパルスと同期して制御される、請求項10乃至15のいずれか1項に記載の装置。
- 前記バッファメモリは、巻き戻しモードで画像を表示する意図で復号する場合を除き、線形な態様で管理される、請求項10乃至16のいずれか1項に記載の装置。
- 各バッファメモリは、第1のメモリバンクおよび第2のメモリバンクを有し、前記装置は、所与のバッファメモリの第1のメモリバンクに格納された前記オーディオデータストリームまたは前記ビデオデータストリームの第1の部分を解析する手段と、前記バッファメモリの第2のメモリバンクに格納された前記オーディオデータストリームまたは前記ビデオデータパケットのストリームの第2の部分内に含まれているオーディオフレームまたはビデオフレームをそれぞれ復号する手段とを備える、請求項10乃至17のいずれか1項に記載の装置。
- 請求項10乃至18のいずれか1項に記載の装置を備えるビデオドライバ回路。
- 請求項19に記載のビデオドライバ回路を備えるデコーダボックス。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0216326A FR2849327A1 (fr) | 2002-12-20 | 2002-12-20 | Procede et dispositif de decodage audio/video, circuit pilote video et boitier decodeur l'incorporant |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004208305A true JP2004208305A (ja) | 2004-07-22 |
Family
ID=32406273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003421187A Pending JP2004208305A (ja) | 2002-12-20 | 2003-12-18 | オーディオ/ビデオ復号方法および装置、ビデオドライバ回路およびそれを組み込んでいるデコーダボックス |
Country Status (4)
Country | Link |
---|---|
US (1) | US7639924B2 (ja) |
EP (1) | EP1439701A3 (ja) |
JP (1) | JP2004208305A (ja) |
FR (1) | FR2849327A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009005345A (ja) * | 2007-06-20 | 2009-01-08 | Nvidia Corp | 一律なビデオ復号及び表示 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080281803A1 (en) * | 2003-12-22 | 2008-11-13 | Koninklijke Philips Electronic, N.V. | Method of Transmitting Content With Adaptation of Encoding Characteristics |
JP2006109290A (ja) * | 2004-10-08 | 2006-04-20 | Matsushita Electric Ind Co Ltd | 復号化装置 |
US20060271990A1 (en) * | 2005-05-18 | 2006-11-30 | Rodriguez Arturo A | Higher picture rate HD encoding and transmission with legacy HD backward compatibility |
US8098657B2 (en) * | 2005-05-31 | 2012-01-17 | Broadcom Corporation | System and method for providing data commonality in a programmable transport demultiplexer engine |
US8571053B2 (en) * | 2005-05-31 | 2013-10-29 | Broadcom Corporation | Method and system for architecture of a fast programmable transport demultiplexer using double buffered approach |
US8264960B2 (en) * | 2005-05-31 | 2012-09-11 | Broadcom Corporation | Method and system for sharing AV/record resources in a programmable transport demultiplexer and PVR engine |
US20070028290A1 (en) * | 2005-07-28 | 2007-02-01 | Ess Technology, Inc. | Method and device for timeshifting using external memory card |
US7697537B2 (en) * | 2006-03-21 | 2010-04-13 | Broadcom Corporation | System and method for using generic comparators with firmware interface to assist video/audio decoders in achieving frame sync |
US20070248318A1 (en) * | 2006-03-31 | 2007-10-25 | Rodgers Stephane W | System and method for flexible mapping of AV vs record channels in a programmable transport demultiplexer/PVR engine |
US8578228B2 (en) * | 2006-08-17 | 2013-11-05 | Telefonaktiebolaget Lm Ericcson | Error recovery for rich media |
US20080085124A1 (en) * | 2006-10-10 | 2008-04-10 | Lsi Logic Corporation | Clock generation with minimum number of crystals in a multimedia system |
US8457214B2 (en) | 2007-09-10 | 2013-06-04 | Cisco Technology, Inc. | Video compositing of an arbitrary number of source streams using flexible macroblock ordering |
US20090074376A1 (en) * | 2007-09-17 | 2009-03-19 | Himax Technologies Limited | Apparatus and method for efficient av synchronization |
TWI422229B (zh) * | 2007-11-12 | 2014-01-01 | Univ Nat Chunghsing | A Dynamic Compensation Time Filter for Distortion - free Video Compression System and Its |
US20100162293A1 (en) * | 2008-12-23 | 2010-06-24 | General Instrument Corporation | Method and apparatus for replacing a blacked out program in a seamless manner |
WO2011061878A1 (ja) * | 2009-11-18 | 2011-05-26 | 日本電気株式会社 | マルチコアシステム、マルチコアシステムの制御方法及びプログラムが格納された非一時的な可読媒体 |
EP2798472A4 (en) * | 2011-12-29 | 2015-08-19 | Intel Corp | AUDIOPIPELINE FOR AUDIOVER DISTRIBUTION ON SOC PLATFORMS |
EP3000235B1 (en) * | 2013-05-20 | 2019-08-28 | MediaTek Singapore Pte Ltd. | Data stream processing apparatus |
TWI530169B (zh) * | 2013-08-23 | 2016-04-11 | 晨星半導體股份有限公司 | 處理影音資料之方法以及相關模組 |
FR3026207B1 (fr) * | 2014-09-22 | 2018-08-17 | Prove & Run | Terminal a affichage securise |
FR3041130B1 (fr) * | 2015-09-15 | 2019-11-22 | Ingenico Group | Gestion d'un affichage d'une vue d'une application sur un ecran d'un dispositif electronique de saisie de donnees, procede, dispositif et produit programme d'ordinateur correspondants |
US10205975B2 (en) | 2016-01-20 | 2019-02-12 | Avago Technologies International Sales Pte. Limited | Trick mode operation with multiple video streams |
CN107979578A (zh) * | 2016-10-25 | 2018-05-01 | 深圳市保千里科技有限公司 | 一种视频直播处理方法及系统 |
US10567703B2 (en) | 2017-06-05 | 2020-02-18 | Cisco Technology, Inc. | High frame rate video compatible with existing receivers and amenable to video decoder implementation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3161017B2 (ja) * | 1992-04-16 | 2001-04-25 | ソニー株式会社 | 動画像復号化装置 |
JP3255308B2 (ja) * | 1992-12-18 | 2002-02-12 | ソニー株式会社 | データ再生装置 |
US5717855A (en) * | 1994-02-28 | 1998-02-10 | International Business Machines Corporation | Segmented communications adapter with packet transfer interface |
JP3123464B2 (ja) * | 1997-06-04 | 2001-01-09 | 日本電気株式会社 | 映像信号処理方法及び装置 |
JPH11196386A (ja) * | 1997-10-30 | 1999-07-21 | Toshiba Corp | コンピュータシステムおよびクローズドキャプション表示方法 |
WO2001084826A2 (en) * | 2000-04-25 | 2001-11-08 | Hughes Electronics Corporation | Multi-tuner dvr |
US20020041756A1 (en) * | 2000-10-11 | 2002-04-11 | Takahiro Kato | Data reproduction apparatus that switches reproduction target |
JP3443093B2 (ja) * | 2000-12-27 | 2003-09-02 | 株式会社東芝 | ディジタル記録再生装置 |
-
2002
- 2002-12-20 FR FR0216326A patent/FR2849327A1/fr active Pending
-
2003
- 2003-12-10 EP EP03293100A patent/EP1439701A3/fr not_active Withdrawn
- 2003-12-18 JP JP2003421187A patent/JP2004208305A/ja active Pending
- 2003-12-19 US US10/741,812 patent/US7639924B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009005345A (ja) * | 2007-06-20 | 2009-01-08 | Nvidia Corp | 一律なビデオ復号及び表示 |
Also Published As
Publication number | Publication date |
---|---|
FR2849327A1 (fr) | 2004-06-25 |
EP1439701A3 (fr) | 2004-09-08 |
EP1439701A2 (fr) | 2004-07-21 |
US20050015794A1 (en) | 2005-01-20 |
US7639924B2 (en) | 2009-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7639924B2 (en) | Audio/video decoding process and device, and video driver circuit and decoder box incorporating the same | |
USRE47054E1 (en) | System for digital time shifting and method thereof | |
JP4731083B2 (ja) | データストリームの変換方法と装置 | |
US6621979B1 (en) | Trick play signal generation for a digital video recorder using retrieved intra-encoded pictures and generated inter-encoded pictures | |
US7533402B2 (en) | Satellite set-top box decoder for simultaneously servicing multiple independent programs for display on independent display device | |
US8050330B2 (en) | Multiple time-base clock for processing multiple satellite signals | |
US7379653B2 (en) | Audio-video synchronization for digital systems | |
US7675876B2 (en) | Transport demultiplexor with bit maskable filter | |
TWI395481B (zh) | 在儲存前未編索引之接收、儲存及呈現多媒體程式化之方法及裝置 | |
EP1292138A2 (en) | Apparatus and method for indexing MPEG video data to perform special mode playback in a digital video recorder and indexed signal associated therewith | |
WO2004098170A2 (en) | Processing multiple encrypted transport streams | |
TW200409543A (en) | Decoder and decoding method | |
JP2001028748A (ja) | データ再生伝送装置及びデータ再生伝送方法 | |
JP2004236338A (ja) | ビデオデータと補助データの読み出し同期装置及び処理及び関連製品 | |
JP4613860B2 (ja) | Mpeg符号化ストリーム復号装置 | |
TWI242371B (en) | Decoder and decoding method | |
US20080292263A1 (en) | Accessibility of Graphics During and After Trick Play | |
JP2003284004A (ja) | デジタル放送プログラムの低倍速再生方法 | |
JP2008153955A (ja) | 映像記録再生装置、その特殊再生方法 | |
Zivkovic et al. | Software architecture of advanced features DVB TV receiver case study DVR application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090128 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090708 |