JP3883637B2 - プログラムカウンタ基準の受け取りを操作する方法、ならびに不連続性指標の受け取りを操作する装置および方法 - Google Patents
プログラムカウンタ基準の受け取りを操作する方法、ならびに不連続性指標の受け取りを操作する装置および方法 Download PDFInfo
- Publication number
- JP3883637B2 JP3883637B2 JP07616997A JP7616997A JP3883637B2 JP 3883637 B2 JP3883637 B2 JP 3883637B2 JP 07616997 A JP07616997 A JP 07616997A JP 7616997 A JP7616997 A JP 7616997A JP 3883637 B2 JP3883637 B2 JP 3883637B2
- Authority
- JP
- Japan
- Prior art keywords
- transport
- decoder
- data
- received
- packet
- 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.)
- Expired - Fee Related
Links
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/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
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
- H04N7/52—Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、広くは、MPEG−2規格に従って符号化されたデータの受信、処理および送信に関する。より具体的には、本発明は、MPEG−2フォーマットのデータストリームを操作するトランスポートデコーダの動作およびインタフェーシングに関する。
【0002】
【従来の技術】
高精細度テレビジョン(HDTV)は、従来のテレビジョンに取って代わるべく進歩し続けている。このような進歩への道を切り開くために、さまざまな会社や団体が規格化作業をおこなっており、HDTVの地球規模のマーケットを実現しようとしている。
【0003】
このような会社により構成されたグループとしては、例えば、AT&T、デービッドサーノフリサーチセンタ、マサチューセッツ工科大学といったメンバーから構成される「ディジタルHDTVグランドアライアンス」などが知られている。このグループによりなされた開発作業を包括的に概観したものとしては、Robert Hopkinsによる「北アメリカ用のディジタル地上波HDTV−グランドアライアンスHDTVシステム」と題された論文(IEEE Transactions on Consumer Electronics、1994年夏)がある。本願明細書でも、プログラムおよびトランスポートパケットストリームの使用を含むHDTVシステムの背景および基本に関するその教示については、この論文を参考として援用している。
【0004】
グランドアライアンスにより採用された規格としては、国際標準化機構(ISO)内の委員会であるムービング・ピクチャ・エキスパート・グループ(MPEG)により開発されている、ビデオおよびオーディオ情報を符号化するためのMPEG−2規格がある。承認された規格は、定期的に公開されている。例えば、「情報技術−動画およびそれに付随する音声の生成符号化」のビデオセクション(ISO/IEC13818−2、1995年)(以下、「ビデオセクション」と称する)および「情報技術−動画およびそれに付随する音声の生成符号化」のシステムセクション(ISO/IEC13818−1、1994年11月)(以下、「システムセクション」と称する)がある。本願明細書でも、確立された規格およびフォーマットに関するその教示については、MPEG−2規格のこれら2つのセクションを参考として援用している。
【0005】
MPEG−2規格のシンタクスでは、オーディオデータおよびビデオデータの両方を伝えるのに用いられるいくかのデータ記録レイヤが規定されている。情報を送信するためには、例えば多数のビデオシーケンスを表現するディジタルデータストリームは、いくつかのより小さな単位に分割される。これらの単位はそれぞれ、それに対応するパケット化されたエレメンタリストリーム(PES)パケットにおさめられる。送信時には、それぞれのPESパケットは、今度は、複数の固定長トランスポートパケットに分割される。トランスポートパケットはそれぞれ、ただ1つのPESパケットに関連するデータを含んでいる。トランスポートパケットはまた、トランスポートパケットを復号化するのに用いられる制御情報(時には、アダプテーションフィールドを含む)を保持するヘッダを含んでいる。しかし、PESデータは、多数のエレメンタリストリームを含んでいてもよい。
【0006】
システムセクションで述べられているように、多数のエレメンタリストリーム間の同期は、データストリームにタイムスタンプを周期的に設けることによって達成される。例えば、N個のエレメンタリストリームの復号化は、1個のストリームの復号化を別のストリームの復号化に一致するように調整するのではなく、全ストリームの復号化を1つの共通のマスタタイムベースに合わせて調整することにより同期が取られる。このマスタタイムベースは、N個のデコーダのうちの1つのクロック信号でもよいし、データソースのクロック信号でもよいし、あるいは、外部から与えられたクロック信号でもよい。
【0007】
この同期プロセスの一助となるものとして、MPEG−2規格のトランスポートヘッダには、「不連続性指標」が含まれている。トランスポートヘッダのどこに模範的な「不連続性指標」が存在しているかを示すシンタクス表現は、システムセクションに与えられている。このシンタクスを、以下の表1および表2に示す。
【0008】
【表1】
【0009】
【表2】
【0010】
システムセクションに記載されているように、不連続性指標は、トランスポートヘッダ内のアダプテーションフィールド内に存在している。不連続性指標は、1ビットのフィールドである。この指標は、論理「1」に設定されると、現在のトランスポートストリームパケットについて不連続性状態が真であることを示す。不連続性指標が論理「0」に設定されたり、存在しない場合、不連続性状態は偽である。不連続性指標は、2種類の不連続性(すなわち、システムタイムベースの不連続性および連続性カウンタの不連続性)を示すために用いられる。
【0011】
システムタイムベースの不連続性は、プログラムクロック基準(PCR)PIDと称されるトランスポートストリームプログラム識別(PID)パケットに不連続性指標を用いることにより示される(システムセクション2.4.4.9、第50頁を参照のこと)。その後、PCR値(すなわち、マスタクロック信号への基準)が受け取られる。
【0012】
不連続性指標は、例えば、あるタイムベースで記録されたプログラム素材が、別のタイムベースで記録されたデータストリームに挿入される時にセットされる。このタイムベースの違いは、予想外のPCR値として現れる。
【0013】
PCR PIDと称されるPIDのトランスポートストリームパケットについて不連続性状態が真であるとき、同じPIDをもつトランスポートストリームパケットにおける次のPCRは、それに関連づけられたプログラムの新しいシステムタイムクロックのサンプルを表す。システムタイムベースの不連続性を示す点は、新しいシステムタイムベースのPCRを含むパケットの第1のバイトが、システムターゲットデコーダ(STD)の入力に到達した瞬間の時刻であると規定されている。
【0014】
なお、STDはこの技術分野ではよく知られてはいるが、簡単にいうと、概念上はトランスポートエンコーダの出力に接続されている仮想デコーダを表すことには留意されたい。MPEG−2規格に準拠したデータストリームは、STDについてはデータフローの問題(バッファのオーバーフローを含む)を引き起こさないことが要求される。STDに関するさらなる議論は、システムセクションに述べられている。
【0015】
続いて、不連続性指標ビットは、新しいシステムタイムベースPCRを含むパケットよりも前に、同一のPCR PIDのトランスポートストリームパケットにおいて「1」に設定されてもよい。この場合、いったん不連続性指標が「1」に設定されると、その不連続性指標は、新しいシステムタイムベースの第1のPCRを含むトランスポートストリームパケットを含めて、そのパケットまでの、同一のPCR PIDをもつすべてのトランスポートストリームパケットにおいて「1」に設定され続ける。システムタイムベースに不連続が発生した後は、新しいシステムタイムベースに対応する2つものPCRが、別のシステムタイムベースの不連続が発生する以前に受け取られる。さらには、トリックモードのステータスが真であるときを別にして、わずかに2つのシステムタイムベースからのデータは、いかなる時にも1つのプログラムについてSTDのバッファに存在している。
【0016】
【発明が解決しようとする課題】
タイムベースの不連続性が、多数のシステム時定数(STC)値を更新することを(例えば、トランスポートデコーダのクロックマネージャおよび外部ビデオおよびオーディオデコーダにおいて)要求する時、特に、現在、外部デコーダにより復号化されているデータと、トランスポートデコーダのバッファに受け取られ格納されているデータとの間に実質的なレイテンシが存在しうる時には、潜在的な問題が発生する。すなわち、典型的には、トランスポートデコーダは、それぞれがSTCまたはそれに等価な定数を維持している、外部ビデオおよびオーディオデコーダに結合される。よって、システムタイムベースに変化が生じるとき、STCのすべてを同時に調整すると、システム同期の問題がもたらされる。
【0017】
本発明は、上記課題を解決するためになされたものであり、その目的とするところは、バッファとデコーダとの間に発生したシステムタイムベースの不連続性を効率よく処理できるトランスポートデコーダおよび方法を提供することにある。
【0018】
【課題を解決するための手段】
本発明による方法は、ヘッダとペイロードとを有するトランスポートパケットを含むトランスポートデータストリームを復号化するように設計されたトランスポートデコーダシステムに用いられる方法において、該ヘッダが、不連続性指標を含んでおり、該システムが、該受け取られたトランスポートデータストリームを一時的に格納する少なくとも1つのバッファと、該バッファから出力されたデータを再生を目的として復号化する少なくとも1つのデコーダとを備えており、かつ該トランスポートデコーダおよび該少なくとも1つのデコーダのそれぞれが、別々のカウンタを有している、不連続状態が設定された後のプログラムカウンタ基準(PCR)の受け取りを操作する方法であって、受け取られたトランスポートパケットをパーシングし、該データをメモリに格納するステップと、次のPCR値を受け取った時に、該トランスポートデコーダの該カウンタに該受け取られたプログラムカウンタ基準値をロードするステップと、該PCR値の後に受け取られた、該メモリに格納されている該データ中でタイムスタンプをサーチし、該タイムスタンプを取り出すステップと、該取り出されたタイムスタンプ値に基づいて、タイマ割込みを設定するステップと、該タイマ割込みが起こるときに、該PCR値を該デコーダの該カウンタに送ることによって、データを処理するのに十分な時間を該デコーダに与えるステップと、を含んでおり、そのことにより上記目的が達成される。
【0019】
ある実施形態では、前記タイマ割込みが、前記タイムスタンプ値よりも1フレーム時間未満だけ前で、その近傍の時刻について設定される。
【0020】
ある実施形態では、前記サーチするステップが、タイムスタンプ値を含みうるトランスポートパケットを受け取った時に、ホストマイクロコントローラに割り込みをおこない、該ホストマイクロコントローラに対して、前記格納されたトランスポートパケットに関連するアドレス情報を送るステップと、引き続いて、該格納されたトランスポートパケットの適切なアドレス位置において、タイムスタンプ値をサーチするステップと、を含んでいる。
【0021】
ある実施形態では、パーシングの前に、受け取られたトランスポートパケットの境界が所定のパケット境界に対応しているかどうかを判定することにより、該受け取られたトランスポートパケットの有効性を判定し、有効と判定された該パケットのみをパーシングするステップをさらに含んでいる。
【0022】
ある実施形態では、前記受け取られたトランスポートパケットの有効性を判定する前記ステップが、該受け取られたトランスポートパケットにおける同期バイトをチェックするステップを含んでいる。
【0023】
本発明による装置は、ヘッダとペイロードとを有するトランスポートパケットを含むトランスポートデータストリームを受け取るように設計されたシステムにおいて、該ヘッダが、不連続性指標を含んでおり、該システムが、該受け取られたトランスポートデータストリームを一時的に格納する少なくとも1つのバッファと、該バッファから出力されたデータを再生を目的として復号化する少なくとも1つのデコーダと、を備えており、かつ該トランスポートデコーダおよび該少なくとも1つのデコーダのそれぞれが、別々のカウンタを有している、該不連続性指標の受け取りを操作する装置であって、該不連続性指標を受け取り、検出する手段と、該トランスポートパケットをパーシングし、該データをメモリに格納する手段と、次のプログラムカウンタ基準値を受け取った時に、該トランスポートデコーダの該カウンタに、該受け取られたプログラムカウンタ基準値をロードする手段と、該メモリに格納されている該データ中でタイムスタンプをサーチし、該タイムスタンプの1つが見出された時に、該タイムスタンプを取り出す手段と、該タイムスタンプ値に基づいて、タイマ割込みを設定する手段と、該タイマ割込みが起こるときに、該プログラムカウンタ基準値を該タイムスタンプをもつ該カウンタに送る手段と、を備えており、そのことにより上記目的が達成される。
【0024】
本発明による方法は、ヘッダとペイロードとを有するトランスポートパケットを含むトランスポートデータストリームを復号化するように設計されたトランスポートデコーダシステムにおいて、該ヘッダが、不連続性指標を含んでおり、該トランスポートデコーダが、該トランスポートデコーダから出力されたデータを復号化する少なくとも1つの外部デコーダに結合されており、かつ該トランスポートデコーダおよび該外部デコーダのそれぞれが、該データストリームに対する同期を維持する別々のカウンタを有している、該不連続性指標の受け取りを操作する方法であって、該不連続性指標を受け取るステップと、該トランスポートパケットをパーシングし、該データをメモリに格納するステップと、次のプログラムカウンタ基準値を受け取った時に、該トランスポートデコーダの該カウンタに該受け取られたプログラムカウンタ基準値をロードするステップと、該メモリに格納されている該データ中でタイムスタンプをサーチし、該タイムスタンプの1つが見出された時に、該タイムスタンプを取り出すステップと、該タイムスタンプ値よりもおよそ1フレーム時間だけ前の時点にタイマ割込みを設定するステップと、該タイマ割込みが起こるときに、該プログラムカウンタ基準値を該デコーダの該カウンタに送ることによって、データを処理するのに十分な時間を該デコーダに与えるステップと、を含んでおり、そのことにより上記目的が達成される。
【0025】
以下に作用を説明する。本発明は、ヘッダとペイロードとを有するトランスポートパケットを含むトランスポートデータストリームを受け取るように設計されたシステムを伴う。ここで、ヘッダは、不連続性指標を含んでいる。このシステムは、受けとられたトランスポートデータストリームを一時的に格納する少なくとも1つのバッファと、バッファから出力されたデータを再生を目的として復号化する少なくとも1つの外部デコーダとを備えている。本発明は、不連続性指標が受けとられた時に、トランスポートストリームヘッダをパーシングし、そのトランスポートパケットペイロードをメモリに格納することにより、不連続性指標の受け取りを操作できるように設計されている。次のプログラムカウンタ基準値が受け取られると、カウンタには、受け取られたプログラムカウンタ基準値がロードされる。そして、格納されたこのデータ中でタイムスタンプをサーチし、タイムスタンプの1つが見つかると、そのタイムスタンプが取り出される。最後に、取り出されたタイムスタンプに基づき、ある時点についてタイマ割り込みが設定される。そして、そのタイマ割り込みが起こると、プログラムカウンタ基準値がデコーダに送られる。これによって、以前のタイムベースを有するデータの処理を妨害することなく、デコーダが新しいタイムベースを有するデータを処理できるだけの十分な時間を与える新しいタイムスタンプ値を供給することができる。
【0026】
【発明の実施の形態】
本発明は、添付の図面を併せて参照しながら以下の詳細な説明を読めば、よりよく理解できるであろう。
【0027】
(概観)
上述のように、本発明の重要な局面は、どのようにしてトランスポートデコーダが効率的に不連続性指標を扱えるかということである。本発明の他の局面は、トランスポートデコーダを、エレメンタリストリームデータしか扱えないビデオデコーダにインタフェースすることである。本発明のさらに他の局面は、トランスポートデコーダをビットレート制約された(bit rate-constrained)オーディオデコーダにインタフェースすることである。上に挙げられた局面を包含するために、本発明は、特別に設計されたMPEG−2トランスポートデコーダを含む。
【0028】
本発明の不連続性の局面についての背景を説明するために、タイムベースの不連続性の実際の世界の例は、ある番組が、MPEG−2フォーマットを用いて衛星を介して国中の多くの受信局に放送される場合に起こりうる。しかし番組の途中で、それぞれの局は、自局のコマーシャルを挿入する。この状態では、不連続性指標は、それぞれがその独自のローカルタイムベースを有するコマーシャルの挿入を可能にするために、番組のタイムベースにおけるギャップつまり中断期間を示す。しかし衛星からの番組送信は、個々の放送局がそれぞれの番組を挿入するあいだ、継続する。したがって挿入されたコマーシャルをもつローカル局からの番組放送を受け取るトランスポートデコーダの内部タイミングは、不連続性指標が検出されたときには望ましくは適切なタイムベースを追従する。
【0029】
図を見れば、図1Aは、例示的なディジタルトランスポートデコーダ110およびそのさまざまなインタフェースの高いレベルの機能ブロック図を示す。図1Aに示すように、トランスポートデコーダ110は、物理レイヤチャネルインタフェース(チャネルインタフェース)112、バッファメモリ114、ホストマイクロプロセッサ116、外部ビデオおよびオーディオデコーダ118および120、およびクロック信号回路(例えばVCXO)122を含む。本発明の例示的な実施の形態においては、トランスポートデコーダ110は、1つのビデオインタフェースおよび2つまでのオーディオインタフェースをサポートする(例えばオーディオAおよびオーディオB)。
【0030】
ホストマイクロプロセッサ116は、トランスポートデコーダ110の外部のビデオおよびオーディオデコーダ118および120にもマイクロバス124によって結合される。この接続は、パラレルまたはシリアルパスでよく、使用のために選ばれる個々の外部デコーダの必要条件に依存する。いずれにせよ、当業者に理解されるように、ホストマイクロプロセッサ116を外部デコーダに結合するこの方法はよく知られている。
【0031】
概略的には、トランスポートデコーダ110および外部ビデオおよびオーディオデコーダ118および120のそれぞれは、受け取られたデータストリームの復号化および表示を同期させる目的でレジスタまたはカウンタに保持されたシステムタイム定数(STC)値(不図示)を含む。
【0032】
前述のように、データストリーム内にタイムベース不連続性が起こるとき、問題が起こり、不連続性のために、STC値がトランスポートデコーダ110の中で、またビデオおよびオーディオデコーダ118および120の中でアップデートされることが必要とされる。これは、外部デコーダによって現在、復号化されているデータと受け取られて、トランスポートプロセッサ110に格納されているデータとの間に実質的にレイテンシが存在するとき、特に問題となる。
【0033】
本発明においては、マイクロプロセッサ116は、データストリームの同期およびビデオおよびオーディオデコーダ118および120の動作を制御することにおいて重要な機能を有する。本発明において、マイクロプロセッサ116は、直接のメモリマップされたアクセスを、トランスポートデコーダ110内のさまざまなオンチップのレジスタにおこなうことができる。マイクロプロセッサ116は、また、外部メモリ114の中のバッファエリアへ(リード、ライトおよびウォーターマークポインタを通して)、またオンチップの32バイトリードおよびライトFIFOへ(図3に示す)のアクセスもおこなう。マイクロプロセッサ116は、内部マイクロバス223(図2Bに示す)によっていくつかの内部機能ブロックを結合し、さまざまなイベントおよびエラー条件がマスク可能な割り込みを介して信号発生されるようにする。
【0034】
概略的にいえば、図1Bのフローチャートに示されるように、本発明の1つの局面は、特別に設計されたトランスポートデコーダ110によって、不連続性指標の受け取り(ステップ150)のあと、次のステップを実行する。
【0035】
1)不連続性指標は、必ずしも次のプログラムクロックレファレンス(PCR)値と同じデータパケットにはないので、次のPCR値が受け取られるとき、トランスポートデコーダ110内に含まれるクロック管理回路(図2Aに示す)内のカウンタは、次のPCR値でロードされる(ステップ152)。
【0036】
2)パーシングされ、メモリ中に格納された後続するパケットは、タイムスタンプについてサーチされ、1つが見つかると、タイムスタンプ値が取り出される(ステップ154)、
3)取り出されたタイムスタンプ値の前、1フレーム時間未満だけ前の時刻の点について、タイマ割り込みがマイクロプロセッサ116によって設定される(ステップ156)。
【0037】
4)このタイマ割り込みが発生するとき、現在のSTC値は、外部ビデオおよびオーディオデコーダ118および120に送られる(ステップ158)ことによって、外部デコーダに、データストリーム中のタイムスタンプ値がビデオまたはオーディオデコーダ118および120に保持されたカウンタ値と比較される前にデータを処理するのに十分な時間を与える。
【0038】
これらのハイレベルのステップのインプリメンテーションは、以下に詳述される。
【0039】
図2Aおよび図2Bは、図1Aに示すトランスポートデコーダ110の例示的なインプリメンテーションのハイレベル機能ブロック図を示す。図2Aおよび図2Bを参照すれば、トランスポートデコーダ110における全体のデータフローが記載される。図面に示すように、図1Aのチャネルインタフェース112は、チャネルデータプロセッサ(CDP)210に続く。チャネルインタフェース112は、また、NRSSスマートカード230によって解読する目的でデータをNRSSインタフェース212にデータを供給する。条件付きアクセスのEIA規格、バージョン2.6、NRSS委員会(95年4月)は、NRSSスマートカードについてのその教示について、ここで参考として援用する。
【0040】
CDP 210は、受け取られたデータストリーム中のパケットを前処理(検出、同期および有効性判断)するために設けられている。CDP 210は、その処理をおこなったあと、さらなる処理のためにその出力データをトランスポートプロセッサ(TPROC)214に向ける。TPROC 214は、以下に詳述するPIDテーブルに応じてパーシングのようなさまざまな処理をおこなう。
【0041】
TPROC 214は、メモリコントローラ216、クロックマネージャ218、プライベートデータプロセッサ220および高速データポート222を含むトランスポートデコーダ110内の機能ブロックのいくつかと相互に機能する。すでに述べたように、マイクロプロセッサ116は、さまざまなオンチップのレジスタへのアクセスを指示する。このアクセスは、マイクロインタフェース217および内部マイクロバス223(図2Bに示す)によって得られる。メモリコントローラ216は、TPROC 214に結合されているのに加えて、外部メモリ114およびビデオおよびオーディオデコーダ224、226および228にも結合される。
【0042】
個々の機能ブロックについてのディジタルデータストリームの処理の詳細をこれから説明する。
【0043】
(チャネルデータプロセッサ(CDP)210)
チャネルインタフェース112からのデータストリームは、可能なバッファリング(不図示)のあとで、CDP 210に渡されることに注意されたい。
【0044】
CDP 210は、受け取られたデータストリームにさまざまな前処理のステップを施す。具体的には、CDP 210は、データストリーム中のバイトおよびフレームの境界を決定し、受け取られたデータストリームを8ビットパラレルフォーマットに変換する。本発明の実施の形態において、CDP 210に後続してトランスポートデコーダ110の中で起こる動作は、バイトフォーマットを用いておこなわれる。
【0045】
バイトおよびフレーム境界を決定するためには、CDP 210は、トランスポート・パケットのヘッダ中に含まれたフレーミングパターンに同期する。具体的には、この同期は、MPEG−2トランスポートストリームのsync_byte(例えば47H)をサーチし、連続するトランスポート・パケットのプログラム可能な数の始まりにおいてその発生をベリファイすることによって達成される。
【0046】
そうすることによって、CDP 210は、sync_byteをチェックし、データストリームに「ロック」し、パケットの有効性の判断を続ける。sync_byteのサーチが継続しているとき、Search_StateビットがCDPステータスレジスタ(不図示)の中でセットされる。sync_byteが見つかり、連続する発生のベリファイが継続しているとき、Sync_Stateビットがセットされる。最後に、所定のサーチ基準が満たされると、Lock_Stateビットがセットされる。本発明の例示的な実施の形態においては、サーチ基準は、3つの連続する有効と判断されたパケットである。また、Lock_Stateの損失を宣言するまえに、通過させるようにCDP 210がプログラムされている壊れたsync_byteをもつパケットの数を示すSync_Hysterisis値が確立される。このヒステリシス値が大きくなると、ロックの損失が宣言される。CDP 210は、それからLock_Lost割り込みを発行し、かつLock_StateからSearch_Stateへ遷移する。
【0047】
加えて、もしチャネルインタフェース112(図1Aに示す)がCHPSTRT信号を供給するなら、トランスポートデコーダ110は、CDPフレーミングおよび同期制御レジスタ中のFraming_Modeビットを論理「1」に設定することによってデータストリームに同期させる手段として、この信号を用いるように構成されてもよい。この場合、同期は、CHPSTRTがアサートされたあと、1つのトランスポート・パケット時間内において達成される。
【0048】
あるいは、もしCDPフレーミングおよび同期制御レジスタ中のIgnore_Syncビットが論理「0」に設定されるなら、CDP 210は、CHPSTRT信号遷移に対して期待された(第1)バイト位置においてsync_byteの一貫性をベリファイし、もしベリファイが失敗するならロック状態を宣言する。もしIgnore_Syncが1に設定されるなら、CDP 210は、同期の一貫性をベリファイしない。
【0049】
Lock_Stateを達成したあと、CDP 210の出力は、すでにバイトフォーマットになっているデータをさらに処理する(フィルタリングし、パーシングし、かつフォーマットする)TPROC 214に渡され、処理される。
【0050】
(トランスポートプロセッサ(TPROC)214)
TPROC 214によってつくられた信号は、メモリコントローラ216、マイクロインタフェース217、クロックマネージャ218、プライベートデータプロセッサ220および高速データポート222へのデータのフローを制御する。
【0051】
本発明の例示的な実施の形態において、TPROC 214は、PIDテーブルの制御のもとでデータストリームを処理する。システム部において説明されるように、PIDは、パケットペイロード中に格納されたデータのタイプを示すトランスポートストリームヘッダにおける13ビットフィールドである。いくつかのPID値が割り当てられ、いくつかは予約である。PIDテーブルのさらなる詳細は、上で参照したMPEG−2規格書のシステム部のセクション3.3において説明される。
【0052】
PIDテーブルに関して、TPROC 214は、32のユーザ選択されうるPIDまで同時に処理することができる。トランスポートデコーダ110が処理すべきPIDは、PIDテーブルにおいて特定される。PIDテーブルにおけるビットフィールドは、データのさまざまな処理のオプションを特定する。
【0053】
動作において、PIDは、TPROC 214によって入トランスポート・パケットのヘッダから抽出され、同時にPIDテーブル中のすべてのエントリと比較される。もし一致が見つかれば、パケット中のデータは、一致するPIDテーブルエントリにおけるオプションセットにしたがって処理される。もしPIDテーブルエントリが一致するものがないなら、パケットは廃棄される。
【0054】
ペイロードフォーマットビットが廃棄(000)に設定されていないPIDテーブル中のそれぞれの位置は、チャネルナンバと関連づけられる。TPROC 214に関連して、メモリコントローラ216は、データをRAM中の特定のバッファエリア(チャネル)に転送する責任を負う。メモリコントローラ216の動作は、以下に図2、図3および図4を参照して詳細に説明される。
【0055】
本発明の例示的な実施の形態において、TPROC 214に保持されるPIDテーブルは、初期化プロセスのあいだに内部マイクロバス223を介してマイクロプロセッサ116によるソフトウェア制御のもとでセットアップされる。
【0056】
PIDテーブルエントリフォーマットについて、PIDテーブルエントリは、他の情報の中でも、1)13ビットのPIDおよび2)セットされるとこのPIDが復号化されているプログラムについてのPCRを運ぶことを示す、1ビットのPCR PIDフィールドを含む。例示的なPIDテーブルエントリは、また、セットされるとPESヘッダ中の「ストリームID」に対応するRAMバッファがポインタFIFOに格納されることを可能にするアドレス1ビットのPESHDRビットを含む。割り込みは、メモリコントローラ216によって、それがデータをポインタFIFOに書き込むときに発行される。この割り込みは、Stream_IDバイトの伝達をマイクロプロセッサ116に促すようにはたらくDMA_MARK信号として参照される。本発明の例示的な実施の形態において、チャネルナンバは、PIDテーブルのエントリに、テーブル中のそれらの位置に基づいて数字の順に割り当てられる。例えば最初のエントリは、DMAチャネル0と割り当てられ、次のものはDMAチャネル1などとなる。
【0057】
TPROC 214は、PCR PIDをもつトランスポート・パケットが、PCR_PID信号をPIDテーブルエントリ中に置くことによって、クロックマネージャ218によって処理されるべきことを示す。クロックマネージャ218は、それからそのようなパケットのアダプテーションフィールドをPCR_flagを求めてモニタし、PCRを抽出する。
【0058】
パケットをそれらのPIDにしたがって分離したあとで、TPROC 214は、トランスポート・パケットのヘッダを除去し、メモリコントローラ216に関連して、それぞれのPIDについてパケットペイロード(例えばPESパケットの部分)を外部メモリ114における指定されたチャネルのシーケンシャルなメモリ位置中に格納する。
【0059】
TPROC 214は、また、ホストマイクロプロセッサ116から外部メモリへのライト動作も扱う。
【0060】
(メモリコントローラ216)
メモリコントローラ216は、パーシングされたトランスポート・パケットのペイロードを外部メモリ114に格納し、必要に応じてビデオ、オーディオ、PSIおよびその他のデータ(例えばプライベートデータ)をビデオプロセッサ224、2つまでのオーディオプロセッサ226および228およびホストマイクロプロセッサ116(またはマイクロコントローラ)に供給する。
【0061】
図3は、図2Aおよび図2Bに示すトランスポートデコーダ110において用いるのに適したメモリコントローラの例示的な機能ブロック図を示す。図3に示すように、メモリコントローラ216は、データをTPROC 214からトランスポート・イン・FIFO 310を介して受け取る。メモリコントローラ216は、データをマイクロプロセッサ116から、マイクロ・イン・FIFO 314およびマイクロ・アウト・FIFO 316を含むマイクロインタフェース217を介して受け取ったり、送ったりする。図2Aおよび図2Bにおいてメモリコントローラ216の外部に示すマイクロインタフェース217は、FIFO 314および316とのその相互関係をはっきりと示すために図3において示される。
【0062】
メモリコントローラ216は、また、オンチップメモリ、DMAコントローラ320、データパス論理322、およびデータをビデオおよびオーディオデコーダ224、226および228にそれぞれ伝達するFIFO 324、326および328を含むフロー制御ユニット318を含む。
【0063】
メモリコントローラ216は、データを外部メモリに2つのソースから書き込む。すなわち、1つはTPROC 214(トランスポートインFIFO 310を通して)であり、もう1つはマイクロプロセッサ116(マイクロインFIFO 314を通して)である。
【0064】
メモリコントローラ216は、データを外部メモリから読み出し、それを次の4つ宛先に供給する。すなわち1)ビデオインタフェース(ビデオFIFO 324を通して)、2)オーディオAインタフェース(オーディオA FIFO 326を通して)、3)オーディオBインタフェース(オーディオB FIFO328を通して)、および4)マイクロコントローラ116(マイクロアウトFIFO 316を通して)である。
【0065】
外部メモリ空間は、別々の、重複しないバッファエリアに分割され、それぞれの使用中のDMAチャネルに1つずつ用いられる。32チャネルまで用いられうる。チャネルナンバは、2つのソースFIFOに書き込まれるか、または4つの宛先FIFOから読み出されたデータと関連づけられる。
【0066】
TPROC 214によって供給され、トランスポートインFIFO 310に書き込まれるデータは、チャネルナンバタグをもつ。他のFIFOのそれぞれについてのチャネルナンバは、DMAインタフェースレジスタの中のマイクロコントローラ116によって定義される。128ビットのDMAチャネルコンフィギュレーションレジスタ(チャネルレジスタ)がマイクロプロセッサ116によってそれぞれの使用チャネルについてセットアップされる。チャネルレジスタは、開始アドレスおよび終了アドレスによって定義されるバッファ空間、バッファがFIFO(リードおよびライトポインタがカバーする、ときにはサーキュラキューとしてよばれる)として構成されるか、またはキュー(リードおよびライトポインタがカバーしない)として構成されるか、などのコンフィギュレーション情報を含む。
【0067】
もしチャネルレジスタが許すなら、現在使用中のものがいっぱいになるときには、DMAコントローラ320は、新しいバッファを得ることができる。この特徴は、通常は、PSI部のようなホストマイクロプロセッサ116に宛てられるデータを格納するバッファについてだけ用いられる。これらの新しいバッファの開始および終了アドレスは、新しいバッファFIFO中に格納される。マイクロプロセッサ116だけが新しいバッファをこのFIFOに書き込むことができる。使用されたバッファポインタおよび他の種類のポインタは、DMAコントローラ320によってポインタFIFOに書き込まれる。本発明の例示的な実施の形態において、マイクロプロセッサ116だけがポインタFIFOを読み出せる。これらのポインタは、バッファデータの読み出しを管理したり、用いられたバッファを新しいバッファFIFOに戻したりするために、マイクロプロセッサ116によって用いられる。図4に示すポインタFIFOエントリフローチャートは、すべてのありうる信号状態、チャネルレジスタ構成およびバッファ状態についてのポインタFIFOへのエントリを示す。
【0068】
図3に続いて、DMAコントローラ320およびデータパス論理322は、すべてのインタフェース信号を外部メモリに与える。フロー制御ユニット318は、適切な制御信号を供給することによって、特定のインタフェースFIFO(6つのうちの1つ)をサービスするためにDMAコントローラ320を指示する。
【0069】
(1.DMAコントローラスタート)
この信号は、DMAコントローラ320に、DMAコントローラ動作、DMA入力FIFOセレクトおよびDMA出力FIFOセレクトのようなコマンドを用いる特定のFIFOのサービスを開始するよう命令する。それと同時に、フロー制御ユニット318は、128ビットチャネルレジスタを読み出し、チャネルレジスタ(内部メモリ)のデータバス上でそれを可能にする。DMAコントローラ320は、この128ビットワードをその内部レジスタに読み込み、フロー制御ユニット318は、それから内部メモリ上で必要となる他のリード/ライト動作を自由にできるようになる。
【0070】
(2.DMAコントローラ動作(1ビット))
このビットは、インタフェースFIFOにつながったDMAコントローラによってライトまたはリード動作がおこなわれることを伝える。
【0071】
(3.DMA入力FIFOセレクト(1ビット))
2つの入力FIFO310および314のうちのどちらがサービスすべきかを伝える。
【0072】
(4.DMA出力FIFOセレクト(2ビット))
4つの出力FIFO316、324、326および328のうちのどちらがサービスすべきかを伝える。
【0073】
(5.チャネルデータインリクエスト/チャネルデータ/チャネルナンバ/DMAコントローラストップ)
通常DMAコントローラ320は、インタフェースFIFOがいっぱいであること、または外部メモリにデータがないことなどのある条件に起因して、それがもはやFIFOをサービスできなくなるまでFIFOをサービスし続ける。このタイプの条件が発生するとき、DMAコントローラ320は、チャネルデータインリクエストをフロー制御ユニット318にアサートし、チャネルレジスタデータおよびチャネルナンバデータをフロー制御ユニット318に供給する。フロー制御ユニット318は、チャネルレジスタメモリをチャネルデータでアップデートし(アップデータされた情報は、例えばライトおよびリードポインタを含む)、特定のFIFOが緊急動作を必要としない限り(なぜなら、例えば、それはフルまたはエンプティの状態に近づきつつあるかもしれないので)、DMAコントローラ320にループ中の次のFIFOをサービスするように指示する。
【0074】
ときには、フロー制御ユニット318は、より高い優先度を有するトランスポートインFIFOのような他のFIFOをサービスする必要に応答して、DMAコントローラストップコマンドをDMAコントローラ320に発行する必要があるかもしれない。このコマンドは、DMAコントローラ320に現在サービスしているFIFOのサービスをストップさせたり、フロー制御ユニット318にチャネルデータを書き込んだりするよう指示する。
【0075】
チャネルレジスタは、FIFOサービスをストップするのを止める点において、リードポインタ、ライトポインタおよび他の情報をもつDMAコントローラ320によってアップデートされる。フロー制御ユニット318は、これを内部チャネルレジスタメモリに書き込むので、DMAコントローラ320は、割り込みがなされた点から割り込みがされたFIFOに対してサービスを再開することができる。
【0076】
本発明の不連続性状態の局面の全体的な動作におけるDMAコントローラの寄与を参照すれば、ストリームIDバイトを含む次のPESパケットがメモリコントローラ216にTPROC 214によって書き込まれるとき、フロー制御ユニット318は、DMA_MARK信号がハイになるように作用する。DMA_MARK信号の遷移によって、マイクロプロセッサ116における割り込みがトリガされ、PESパケットヘッダのアドレスが、マイクロプロセッサがアクセスする入力ポインタFIFOに格納される。このPESヘッダは、タイムスタンプを有するかもしれないので、マイクロプロセッサ116は、不連続性指標によって与えられたフラグに応答して、タイムスタンプを求めて格納されたPESヘッダをサーチし、ひとつ見つかるときには、そのタイムスタンプ値を取り出す。取り出されたタイムスタンプ値に基づいて、マイクロプロセッサ116は、タイマ割り込みを設定する。
【0077】
図3に戻って、本発明の例示的な実施の形態においては、フロー制御ユニット318の内部メモリは、64×32ビットの4つのブロックを含み、それらのそれぞれは、チャネルレジスタ、新しいバッファFIFOおよびポインタFIFOに割り当てられる。
【0078】
本発明の例示的な実施の形態において、それぞれのチャネルレジスタは、128ビットを有しており、最大で32チャネルであり、よって128ビットの倍数で、最大128×32ビットまでがチャネルレジスタに割り当てられる。
【0079】
32ビットのワードが新しいバッファおよびポインタFIFOに対してライトおよびリードされる。少なくとも128×32ビットのメモリ(すなわち128ワード)が新しいバッファおよびポインタFIFOについて利用可能である。加えて、もし32チャネル未満が使用中であるなら、チャネルレジスタメモリからの未使用の容量は、新しいバッファおよびポインタFIFOにアロケートされる。
【0080】
以下は、32DMAチャネルおよび16DMAチャネルについてのメモリアロケーションの例である。
【0081】
1)32使用チャネルのためのメモリアロケーション
新しいバッファFIFO=64×32ビット
ポインタFIFO=64×32ビット
チャネルレジスタ=128×32ビット
2)16使用チャネルのためのメモリアロケーション
新しいバッファFIFO=64×32ビット
ポインタFIFO=128×32ビット
チャネルレジスタ=128×16ビット
(クロックマネージャ218)
図2Aおよび図2Bに示すトランスポートデコーダ110のクロックマネージャ218は、連続するPCR値を用いてローカルの27MHz信号(クロック信号回路122によって発生される)を同期させる。クロックマネージャ218におけるカウンタ値は、システムタイム定数(STC)値としてよばれる。本発明の例示的な実施の形態においてマイクロプロセッサ116は、内部マイクロバス223を介してカウンタ内のSTC値にアクセスできる。
【0082】
クロックマネージャ218の中のカウンタは、トランスポートデータストリームの中で運ばれるPCRに周期的に同期される。データストリーム中の最初のPCRが見つかるとき、PCRは、初期STC値になるためにカウンタ内に「ジャムロード」される。後続するPCR値が受け取られると、それらは、STC値と比較されることによって、クロック信号回路122(例えばVCXO)の周波数を調整する。本発明において、これは以下に詳述されるディジタル・アナログ変換器(DAC)を用いて達成される。いったん位相誤差調整がなされると、一般に新しいPCR値がSTC値としてロードされる。
【0083】
通常、PCR値は、フレーム毎に1回だけ発生する。MPEG−2規格においては、この値は少なくとも3つ目のフレーム毎に(1秒の10分の1に1回)発生しなければならない。
【0084】
外部ビデオおよびオーディオデコーダ118および120は、典型的には、外部デコーダ中のSTC値をクロックマネージャ218中に保持されたSTC値に基づいてアップデートすることによって、トランスポートデコーダ110に同期される。ビデオおよびオーディオデコーダ118および120は、格納された値を用いることによって、データを受け取られたPESデータストリーム中のタイムスタンプと比較することによってデータが復号化/再生されるべきかどうかを決定する。ここで本発明の例示的な実施の形態においては、トランスポートデコーダ110、ビデオデコーダ118およびオーディオデコーダ120は、すべて、クロックマネージャ218によって発生された同じ27MHzのクロック信号を受け取る。
【0085】
トランスポートデコーダ110は、選択されたプログラムのためにシステムクロック信号にロックされるクロック信号をローカルに発生するハードウェアサポートを含む。上述のように、特定のPCR_PID上で受け取られたPCR値は、他のデバイスによる利用のためにシリアルインタフェース上で利用可能にされる。
【0086】
クロックマネージャ218は、システムタイムカウンタ(STC)(不図示)、システムタイムクロックレジスタ(不図示)、プログラムクロック基準レジスタ(不図示)、カレントSTCレジスタ(不図示)、アラームクロック割り込みレジスタ(不図示)および選択されたPIDと関連づけられたヘッダから抽出されたPCRをラッチするための論理(不図示)を含む。それはまた、シリアルPCRインタフェース、および外部システムクロック信号制御ループの制御のためのDACレジスタを含む。
【0087】
本発明の例示的な実施の形態において、STCは、9ビットベースおよび33ビットエクステンションを有する42ビットカウンタである。
【0088】
STCベースは、定格27MHzのシステムクロック入力信号を300によって分周する。その結果として得られる90kHz信号は、STCエクステンションを駆動する。STCは、いつでもマイクロプロセッサ116上でのソフトウェアの実行によって、書き込まれたり読み出されたりする。あるいは、STCは、不連続性指標が見つかったあとに自動的に受け取られたPCRでロードされうる。
【0089】
上述のようにPCRは、PIDテーブルエントリ中のPRC_PIDビットを設定することによって自動的に入ビットストリームから抽出されうる。受け取られたPCRの取り扱いは、ソフトウェアによって設定されたオプションおよびPCRが受け取られたときに現在のトランスポート・パケットについて不連続性状態が存在するかどうかに依存する。
【0090】
不連続性状態は、トランスポートヘッダ中の不連続性指標ビット中に論理「1」がたったPCR_PIDを含むトランスポート・パケットが受け取られるときに認識される。不連続性状態は、不連続性指標ビット中に論理「0」がたったPCR_PIDを含むトランスポート・パケットが受け取られるまで、または次のPCRがPCR_PIDパケット中に見つかるまで存在する。
【0091】
もしイネーブルされると、不連続性状態が存在していてPCRが受け取られるときに、クロックマネージャ218は、自動的に受け取られたPCRをSTCにロードする。この瞬間において、割り込みがホストマイクロプロセッサ116に発行される。
【0092】
クロックマネージャ218は、ソフトウェアによって論理「1」がセットされるとき、受け取られた次のPCRが不連続性状態が存在するかどうかにかかわらずSTCにロードされるように作用する初期ビットを含む。初期化ビットは、続いて、クロックマネージャ218によって自動的にクリアされる。初期化ビットは、STCが有効なPCRを含まないとき(すなわち新しいPIDが選択されたとき)だけセットされる。
【0093】
もし不連続性状態が存在するか、またはもしSTCロード機能がディセーブルされているなら、受け取られたPCRは、PCRレジスタ中に格納され、(場合によっては)割り込みがホストマイクロプロセッサ116に発行される。PCRがキャプチャされると同時に、STCの現在の状態がSTCレジスタ中に格納される。格納されたPCRおよびSTC値は、外部システムクロック信号(XOCLK)を制御するための誤差信号を計算するために用いられる。
【0094】
PCR_PIDに等しいPIDを有し、PCRを含むトランスポート・パケットが受け取られるとき、PCRは、PCRレジスタにおいてラッチされる。STCカウンタの現在の内容もまたそのときにSTCレジスタにおいてラッチされ、割り込みがホストマイクロプロセッサ116に発行される。両方の値をラッチすることによって、割り込みサービスルーチンにおけるレイテンシが変動することに起因する不確実性を除去できる。本発明の例示的な実施の形態において、両方のレジスタは、9ビットベースおよび33ビットエクステンションで構成される。ベース部分は、モジュロ300であり、エクステンションは、バイナリである。レジスタ内容が計算において用いられるまえに、それらは、エクステンションを300によって乗算し、その結果にベース部分を加えることによって、単一のバイナリカウントに変換される。
【0095】
現在のSTCレジスタは、いつでもSTCの現在の内容をマイクロコントローラ116が得られるように読み出し専用のレジスタである。マイクロコントローラ116は、外部マイクロバス124によって、この値でビデオデコーダまたはオーディオデコーダのSTCを初期化できる。
【0096】
上述のように、トランスポートデコーダ110は、クロックマネージャ218内部のクロック調整制御ループにおいて用いられる10ビットのディジタルアナログ変換器(DAC)230を含む。DAC 230は、書き込み専用、すなわちソフトウェアがDACにロードされた最新の値のコピーをメモリに保存する。動作時には、DAC 230は、外部共振水晶電圧制御発振器VCXO 122のための制御電圧を発生するのに用いられ、これはシステムクロック周波数(27MHz定格)の元である。ラッチされたPCRおよびSTCを比較することによって、ソフトウェアは、ローカルクロック信号が調整を必要とするかどうかを決定する。例えばソフトウェアは、PCRおよびSTCの間の差をとり、この誤差の項をDAC 230の入力レジスタの現在の内容に加える。
【0097】
復習すれば、本発明の不連続性の局面は、以下の1〜5を含む。
【0098】
1)チャネルデータプロセッサ(CDP)210は、パケットの有効性を判断するために受け取られたトランスポート・パケットの同期バイトをチェックする。トランスポートプロセッサ(TPROC)214は、トランスポートヘッダをパーシングし、パケットペイロードをメモリ中の適切な位置に転送する。データは、メモリ中の異なるFIFOバッファ(チャネル)にトランスポートヘッダ中のPID値に基づいて送られる。
【0099】
2)受け取られた不連続性指標が必ずしも同じパケット中に次のPCR値として存在しないので、次のPCR値が受け取られたときは、TPROC 214は、クロックマネージャ218中のカウンタを「ジャムロード」する。
【0100】
3)ストリームIDバイトを含む次のPESパケットがTPROC 214によってメモリコントローラ216に書き込まれるとき、DMA_MARK信号がハイになる。これによってメモリコントローラ216は、マイクロプロセッサ116に割り込みをかけ、入力ポインタFIFO中のPESパケットヘッダのアドレスを格納する。このPESヘッダは、タイムスタンプ(復号化タイムスタンプまたは再生タイムスタンプのいずれか)をもっていてもよい。マイクロプロセッサ116は、メモリコントローラ216からの割り込みに応答して、タイムスタンプを求めてPESヘッダをサーチし、もし1つを見つければそのタイムスタンプ値を取り出す。
【0101】
4)マイクロプロセッサ116は、それから、タイムスタンプ値よりも1フレーム未満で、その近傍の時間にタイマ割り込みをセットする。
【0102】
5)このタイマ割り込みが発生するとき、マイクロプロセッサ116は、外部マイクロバス124によってビデオおよびオーディオデコーダに新しいPCR値を送る。これは、そのタイムスタンプがビデオまたはオーディオデコーダ中のカウンタ値と比較されるまえに、前のPCR値に参照されるデータの処理に妨害を与えることなく、デコーダにそのデータを処理するのに十分な時間を与える。
【0103】
(ビデオ/オーディオデコーダ224、226、228)
前述したように、いったんトランスポートパケットが受け取られ、処理され、格納されると、メモリコントローラ216は、PESパケットをメモリ114から読み出し、それらのパケットを、外部ビデオおよびオーディオデコーダへと転送する。しかし、PESパケットが外部デコーダ118および120に到達する以前に、それらのパケットは、ビデオおよびオーディオプロセッサ224、226および228により処理される。
【0104】
これらの内部プロセッサの重要な役割は、トランスポートデコーダを離れたデータストリームが、外部デコーダと確実にコンパチブルであるようにすることである。すなわち、異なる外部デコーダは、異なるデータ必要条件を有している。
【0105】
例えば、現在利用可能な外部ビデオデコーダの中には、ヘッダおよびペイロードを有するPESパケットのストリームを、そのストリームがメモリから読み出された時のフォーマットと本質的には同一のフォーマットで受け取ることができるものもある。いっぽう、エレメンタリストリーム(つまり、ペイロードは有するが、ヘッダは有していないPESパケット)の処理にしか対応できない外部デコーダもある。加えて、後者のタイプのデコーダは、データストリームに加えて、例えばタイムスタンプやバイトカウントのような付随的な制御情報を必要とすることもある。このようなタイプのデコーダとしては、例えば、C−Cubeにより製造されたCL9100がある。その仕様書(CL9100マルチモード・ビデオデコーダ・ユーザズ・マニュアル(10/94))は本願も参考として援用している。したがって、ビデオプロセッサ224は、選択された外部デコーダの必要条件とコンパチブルであるように出データストリームをフォーマットするように、マイクロプロセッサ116により構成可能である。
【0106】
C−Cube CL9100のような外部ビデオデコーダへのインタフェースの操作については、ビデオプロセッサ224は、PESヘッダを取り出し、そのPESヘッダからタイムスタンプ情報を抽出することができるように、PESパケットのストリームを処理する。さらに、ビデオプロセッサ224は、カウンタ(不図示)を用いて、外部デコーダに転送されるPESパケットに対するバイトカウントを維持する。よって、ビデオプロセッサ224は、タイムスタンプ情報を保持し、バイトカウントを維持して、PESパケットペイロードを外部ビデオデコーダへと転送する。タイムスタンプおよびバイトカウント情報を外部デコーダに得させるために、ビデオプロセッサ224は、マイクロプロセッサ116に割り込みを送る。マイクロプロセッサ116は、それに応答して、タイムスタンプおよびバイトカウント情報をビデオプロセッサ224から内部マイクロバス223を介して読み出し、この制御情報を外部ビデオデコーダへと外部マイクロバス124を介して供給する。
【0107】
しかし、マイクロプロセッサ116がビデオプロセッサ224からの割り込みに応答可能となる前に、タイムスタンプ情報を含む別のPESパケットが到着することもある。このような状況は、例えば、マイクロプロセッサ116がより優先度の高いタスクに時間を延長して携わっている場合に起こる。このような場合、ビデオプロセッサ224は、タイムスタンプ情報をステータスと共に格納する。具体的には、ビデオプロセッサ224は、マイクロプロセッサが「逸した」タイムスタンプがないかどうかを示すステータスレジスタを保持する。その時、本発明のこの実施形態例では、マイクロプロセッサ116は、最終的にタイムスタンプ情報を読み出しはじめ、もしステータスにより示されるように1つ以上のタイムスタンプを逸していたのなら、プロセッサ116は、最も最近のタイムスタンプのみを取り出す。
【0108】
さらには、タイムスタンプ情報およびバイトカウント情報は、外部デコーダに供給されることになっているのだから、マイクロプロセッサ116がタイムスタンプを逸したときには、たとえどんなにたくさんのタイムスタンプが、マイクロプロセッサ116の情報読み出し以前に到着したとしても、ビデオプロセッサ224は、それらのタイムスタンプに対する累積バイトカウントを維持する。よって、マイクロプロセッサ116は、最も最近のタイムスタンプおよび累積バイトカウントを読み出し、この情報を外部ビデオデコーダに供給する。その後、ステータスレジスタおよびバイトカウントをリセットすることができる。
【0109】
図5Aのフローチャートに図示されているように、受け取られたデータのヘッダが取り出されて、パーシングされ(ステップ510)、タイムスタンプ情報が格納されて、バイトカウントが維持され(ステップ512)、ビデオプロセッサ224によりマイクロプロセッサ116への割り込みが発せられて、タイムスタンプ情報が読み出し用に利用可能であることをマイクロプロセッサに知らせ(ステップ514)、もし、マイクロプロセッサが以前のタイムスタンプ情報を読み出す以前にさらなるタイムスタンプ情報が受け取られたのなら、新しいタイムスタンプ情報が格納されて、バイトカウントを累算し続け(ステップ516)た後に、ビデオプロセッサ224が別の割り込みをマイクロプロセッサ116に発するか、もしくはマイクロプロセッサがステータスレジスタ、タイムスタンプ情報およびバイトカウント情報を読み出して、それを外部ビデオプロセッサに供給する(ステップ518)。
【0110】
特定の外部デコーダに対応可能とする別の例は、例えばZoran ZR38500オーディオデコーダのようなビットレートの制約されたオーディオデコーダの使用を伴う。このデコーダの仕様書(10/94)は、本願も参考として援用している。概略的に言えば、オーディオデコーダはたいていの場合、オーディオデータを受け入れることができることを示すデータリクエストを示す。すると、トランスポートデコーダ110は、外部オーディオプロセッサがこのリクエストを否定するまで、オーディオプロセッサ226/228を介してオーディオデータを供給し続ける。換言すれば、ハンドシェークメカニズムが存在する。
【0111】
しかし、例えばZoran AC3オーディオデコーダのようなビットレートの制約されたデコーダは、オーディオAC3データをオーディオデータフレームとして供給することを要求する。その場合、各フレームは、そのヘッダにフレーム時間とビットレートとを含んでいる。この所定のビットレートを超えるデータを供給すると、内部バッファをオーバーフローさせることになる。その結果、データの一部が失われることになる。さらに、これらのビットレートの制約されたデコーダは、追加のオーディオデータを受け取る準備ができていることを示すデータレディ信号を供給しない。
【0112】
よって、ビデオデコーダ224の場合と同様に、オーディオプロセッサ226および228も、選択された外部オーディオデコーダに対応できるように構成可能である。なお、本発明の実施形態例では、オーディオプロセッサ226および228は、マイクロプロセッサ116によるアクセスが可能なアドレスを別にすれば、本質的に同一である。
【0113】
よって、オーディオプロセッサ226/228は、このタイプのオーディオデコーダとインタフェースするようにプログラミングされた時には、そのデコーダが常にデータリクエスト信号を発しているものと考える。しかし、PESパケットオーディオデータが、メモリコントローラ216からオーディオプロセッサ226/228に供給されると、受け取られたデータのPESヘッダは、オーディオプロセッサによりパーシングされる。パーシングされたヘッダには、そのオーディオデータについてのフレームサイズとビットレートとが含まれている。フレームサイズおよびビットレートから、オーディオプロセッサ226/228は、フレーム境界(つまり、フレーム時間)を決定することができる。フレーム時間情報を得ると、オーディオプロセッサ226/228は、オーディオデータが利用可能であるときにタイマがセットされ、データの1フレームが、外部オーディオデコーダへ、次にオーディオプロセッサ226/228へと「まとめて吐き出され」、そしてフレームタイマがタイムアウトになるまで一時停止するように、フレームタイマをセットする。タイマがタイムアウトになると、外部オーディオデコーダに送るのに利用可能な追加のフレームがある間は、1度に1オーディオフレームずつ、サイクルは継続する。タイムスタンプのような制御情報は、マイクロプロセッサにより取り出され、外部マイクロバスを介して供給される。
【0114】
図5Bのフローチャートに示されているように、PESパケットが、メモリから取り出され(ステップ542)、受け取られたデータのヘッダが取り出されてパーシングされ(ステップ530)、フレーム時間が決定され(ステップ532)、タイマがランし始め(ステップ534)、オーディオプロセッサ226/228がデータの1フレームをまとめて吐き出した(ステップ536)後、オーディオプロセッサ226/228は、タイマが期限切れになるまで一時停止する(ステップ538)。ただし、図示されているように、ステップ542、530および532は、同一フェーズ内に実行可能である。その後、処理を継続することもできる。
【0115】
以上の説明では、本発明は、MPEG−2トランスポートデータストリームにおける不連続性に従ってシステムの時定数を更新する方法およびシステムのかたちで実現されるものとしたが、本発明は、以上に示した詳細に限定されるように意図されているものではない。逆に、詳細については、添付の請求の範囲と等価である範囲内では、本発明の精神から外れることなくさまざまな改変を施すことができる。
【0116】
【発明の効果】
本発明によれば、バッファとデコーダとの間に発生したシステムタイムベースの不連続性を効率よく処理できるトランスポートデコーダおよび方法を提供することができる。
【図面の簡単な説明】
【図1A】ディジタルトランスポートデコーダおよびその各種インタフェースの一例を示す高レベル機能ブロック図である。
【図1B】図1Aに示す実施形態例を用いる本発明のある局面において実行される各ステップを示す高レベルフローチャートである。
【図2A】図1Aに示すトランスポートデコーダの実施形態例を示す高レベル機能ブロック図である。
【図2B】図1Aに示すトランスポートデコーダの実施形態例による高レベルデータ/制御フローを示すブロック図である。
【図3】図2に示すトランスポートデコーダにおいて用いられるメモリコントローラを示す機能ブロック図である。
【図4】メモリコントローラがどのようにしてポインタFIFOエントリを操作するかを説明するフローチャートの一例である。
【図5A】本発明のビデオデコーダインタフェースの局面の間におこなわれる各ステップを説明するフローチャートの一例である。
【図5B】本発明のオーディオデコーダインタフェースの局面の間におこなわれる各ステップを説明するフローチャートの一例である。
【符号の説明】
110 トランスポートデコーダ
112 チャネルインタフェース
114 メモリ
116 マイクロプロセッサ
118 ビデオデコーダ
120 オーディオデコーダ
124 マイクロバス
Claims (6)
- ヘッダとペイロードデータとを有するトランスポートパケットを含むトランスポートデータストリームを復号化するように設計されたトランスポートデコーダシステムにおいて用いられる方法であって、
該ヘッダが、不連続性指標を含んでおり、
該システムが、受け取られたトランスポートパケットの該ペイロードデータをトランスポートデータストリームとして一時的に格納する少なくとも1つのバッファと、再生することを目的として該バッファから出力されたデータを復号化する少なくとも1つのデコーダとを備えており、
該トランスポートデコーダおよび該少なくとも1つのデコーダのそれぞれが、別々のカウンタを有しており、
該方法は、不連続性指標を受け取った後にプログラムカウンタ基準(PCR)の受け取りを操作する方法であり、
該方法は、
受け取られたトランスポートパケットをパーシングし、該受け取られたトランスポートパケットの該ペイロードデータをメモリに格納するステップと、
不連続性指標を受け取るステップと、
該不連続性指標を受け取った後に、PCR値を受け取るステップと、
該不連続性指標を受け取った後に該PCR値を受け取ると、該トランスポートデコーダの該カウンタに該受け取られたプログラムカウンタ基準値をロードするステップと、
タイムスタンプを求めて、該PCR値の後に受け取られ、かつ、該メモリに格納されている該データをサーチし、該タイムスタンプを取り出すステップと、
該取り出されたタイムスタンプの値よりも1フレーム時間未満だけ前の時点に対して、タイマ割込みを設定するステップと、
該タイマ割込みが起こるときに、該PCR値を該デコーダの該カウンタに送ることによって、該デコーダがデータを処理するのに十分な時間を与えるステップと
を包含する、方法。 - 前記サーチするステップが、
タイムスタンプの値を含みうるトランスポートパケットを受け取ると、ホストマイクロコントローラに割り込みをおこない、前記格納されたトランスポートパケットのアドレス位置を送るステップと、
引き続いて、該格納されたトランスポートパケットのアドレス位置において、タイムスタンプの値をサーチするステップと
を包含する、請求項1に記載の方法。 - パーシングの前に、受け取られたトランスポートパケットの境界が所定のパケット境界に対応しているかどうかを判定することにより、該受け取られたトランスポートパケットの有効性を判定し、有効と判定された該パケットのみをパーシングするステップをさらに包含する、請求項1に記載の方法。
- 前記受け取られたトランスポートパケットの有効性を判定するステップが、該受け取られたトランスポートパケットにおける同期バイトをチェックすることを包含する、請求項3に記載の方法。
- ヘッダとペイロードデータとを有するトランスポートパケットを含むトランスポートデータストリームを受け取るように設計されたシステムにおいて、不連続性指標の受け取りを操作する装置であって、
該ヘッダが、不連続性指標を含んでおり、
該システムが、受け取られたトランスポートパケットの該ペイロードデータをトランスポートデータストリームとして一時的に格納する少なくとも1つのバッファと、再生することを目的として該バッファから出力されたデータを復号化する少なくとも1つのデコーダとを備えており、
該トランスポートデコーダおよび該少なくとも1つのデコーダのそれぞれが、別々のカウンタを有しており、
該装置は、
不連続性指標を受け取り、検出する手段と、
該不連続性指標を受け取り、検出した後に、プログラムカウンタ基準値を受け取る手段と、
該トランスポートパケットをパーシングし、該トランスポートパケットの該ペイロードデータをメモリに格納する手段と、
該不連続性指標を受け取り、検出した後にプログラムカウンタ基準値を受け取ると、該トランスポートデコーダの該カウンタに、該受け取られたプログラムカウンタ基準値をロードする手段と、
タイムスタンプを求めて該メモリに格納されている該データをサーチし、該タイムスタンプが発見された場合には該タイムスタンプを取り出す手段と、
該タイムスタンプの値よりも1フレーム時間未満だけ前の時点に対して、タイマ割込みを設定する手段と、
該タイマ割込みが起こるときに、該プログラムカウンタ基準値を該デコーダの該カウンタに送る手段と
を備えた、装置。 - ヘッダとペイロードデータとを有するトランスポートパケットを含むトランスポートデータストリームを復号化するように設計されたトランスポートデコーダシステムにおいて、不連続性指標の受け取りを操作する方法であって、
該ヘッダが、不連続性指標を含んでおり、
該トランスポートデコーダが、該トランスポートデコーダから出力されたデータを復号化する少なくとも1つの外部デコーダに結合されており、
該トランスポートデコーダおよび該外部デコーダのそれぞれが、該データストリームに対する同期を維持する別々のカウンタを有しており、
該方法は、
該不連続性指標を受け取るステップと、
該不連続性指標を受け取った後に、プログラムカウンタ基準値を受け取るステップと、
該トランスポートパケットをパーシングし、該トランスポートパケットのペイロードデータをメモリに格納するステップと、
該不連性指標を受け取った後にプログラムカウンタ基準値を受け取ると、該トランスポートデコーダの該カウンタに該受け取られたプログラムカウンタ基準値をロードするステップと、
タイムスタンプを求めて該メモリに格納されている該データをサーチし、該タイムスタンプが発見された場合には該タイムスタンプを取り出すステップと、
該タイムスタンプの値よりも1フレーム時間未満だけ前の時点に対して、タイマ割込みを設定するステップと、
該タイマ割込みが起こるときに、該プログラムカウンタ基準値を該デコーダの該カウンタに送ることによって、該デコーダがデータを処理するのに十分な時間を与えるステップと
を包含する、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/626,184 | 1996-03-29 | ||
US08/626,184 US5818539A (en) | 1996-03-29 | 1996-03-29 | System and method for updating a system time constant (STC) counter following a discontinuity in an MPEG-2 transport data stream |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1093960A JPH1093960A (ja) | 1998-04-10 |
JP3883637B2 true JP3883637B2 (ja) | 2007-02-21 |
Family
ID=24509318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07616997A Expired - Fee Related JP3883637B2 (ja) | 1996-03-29 | 1997-03-27 | プログラムカウンタ基準の受け取りを操作する方法、ならびに不連続性指標の受け取りを操作する装置および方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5818539A (ja) |
EP (1) | EP0798932B1 (ja) |
JP (1) | JP3883637B2 (ja) |
KR (1) | KR100248456B1 (ja) |
CN (1) | CN1108698C (ja) |
DE (1) | DE69736031T2 (ja) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3149328B2 (ja) * | 1995-01-09 | 2001-03-26 | 松下電器産業株式会社 | 送信装置と受信装置 |
CA2206614A1 (en) * | 1997-05-30 | 1998-11-30 | Richard A. Kupnicki | Method and apparatus for absolute time descriptor universal reference signals for the synchronization of video and audio equipment in analog and digital areas |
KR100234265B1 (ko) * | 1997-06-17 | 1999-12-15 | 윤종용 | 캡션 데이터 처리 회로 및 그 방법 |
JP3815854B2 (ja) * | 1997-06-20 | 2006-08-30 | 富士通株式会社 | ディジタルpll回路およびmpegデコーダ |
US6356567B2 (en) * | 1997-09-26 | 2002-03-12 | International Business Machines Corporation | Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream |
US6088357A (en) * | 1997-09-26 | 2000-07-11 | International Business Machines Corporation | Auxiliary transport assist processor especially for an MPEG-2 compliant decoder |
US6115422A (en) * | 1997-09-26 | 2000-09-05 | International Business Machines Corporation | Protocol and procedure for time base change in an MPEG-2 compliant datastream |
JP3418966B2 (ja) * | 1997-10-09 | 2003-06-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 同期化方法及びデコーダ |
JP3389843B2 (ja) | 1997-10-17 | 2003-03-24 | 日本電気株式会社 | 情報処理装置におけるデジタル放送受信システム |
US6868091B1 (en) * | 1997-10-31 | 2005-03-15 | Stmicroelectronics Asia Pacific Pte. Ltd. | Apparatus and method for depacketizing and aligning packetized input data |
EP0917356A1 (en) * | 1997-11-17 | 1999-05-19 | CANAL+ Société Anonyme | Packet filtering |
EP1046281B1 (en) * | 1998-01-07 | 2002-09-11 | Thomson Licensing S.A. | Apparatus for providing a video lip sync delay and method therefore |
US5973758A (en) * | 1998-01-14 | 1999-10-26 | C-Cube Microsystems, Inc. | Video synchronization |
US6310898B1 (en) * | 1998-01-27 | 2001-10-30 | Tektronix, Inc. | Compressed video and audio transport stream multiplexer |
US6330285B1 (en) * | 1998-02-11 | 2001-12-11 | Tektronix, Inc. | Video clock and framing signal extraction by transport stream “snooping” |
US6486922B1 (en) * | 1998-02-20 | 2002-11-26 | Matsushita Electric Industrial Co., Ltd. | Synchronization method of image decoder |
JPH11275524A (ja) * | 1998-03-20 | 1999-10-08 | Pioneer Electron Corp | データ記録方法、データ再生方法、データ記録装置およびデータ再生装置 |
US6097699A (en) * | 1998-06-05 | 2000-08-01 | Gte Laboratories Incorporated | Method and system for monitoring broadband quality of services |
US6308280B1 (en) * | 1998-06-25 | 2001-10-23 | Hughes Electronics Corporation | System for synchronizing discrete components to a common clock source |
US6326960B1 (en) * | 1998-09-04 | 2001-12-04 | National Semiconductor Corporation | Video output phase control in a decoder |
US6175884B1 (en) * | 1998-11-03 | 2001-01-16 | Intel Corporation | Efficient communication of transaction types using separate and orthogonal attribute fields in packet headers transferred between hubs in a computer system |
KR100335441B1 (ko) * | 1999-05-01 | 2002-05-04 | 윤종용 | 다중 비디오 디코딩 장치 및 그 방법 |
EP1496654B1 (en) * | 1999-05-25 | 2006-07-12 | Lucent Technologies Inc. | Method for telecommunications using internet protocol |
KR100747052B1 (ko) | 1999-07-13 | 2007-08-07 | 톰슨 라이센싱 | 패킷화된 프로그램 정보를 처리하고 디코딩하기 위한 방법 |
CA2313979C (en) * | 1999-07-21 | 2012-06-12 | Thomson Licensing Sa | Synchronizing apparatus for a compressed audio/video signal receiver |
JP3406255B2 (ja) * | 1999-09-29 | 2003-05-12 | 松下電器産業株式会社 | 画像復号装置および方法 |
US6690683B1 (en) | 1999-11-23 | 2004-02-10 | International Business Machines Corporation | Method and apparatus for demultiplexing a shared data channel into a multitude of separate data streams, restoring the original CBR |
US6429902B1 (en) * | 1999-12-07 | 2002-08-06 | Lsi Logic Corporation | Method and apparatus for audio and video end-to-end synchronization |
US6459738B1 (en) * | 2000-01-28 | 2002-10-01 | Njr Corporation | Method and apparatus for bitstream decoding |
FR2806574B1 (fr) * | 2000-03-15 | 2002-05-03 | Thomson Multimedia Sa | Dispositif de synchronisation d'applications interactives dans un recepteur de television |
US6801536B1 (en) * | 2000-03-23 | 2004-10-05 | International Business Machines Corporation | Remultiplexing audio/video PES streams from an MPEG transport system |
CA2349914C (en) * | 2000-06-09 | 2013-07-30 | Invidi Technologies Corp. | Advertising delivery method |
US6940873B2 (en) * | 2000-12-27 | 2005-09-06 | Keen Personal Technologies, Inc. | Data stream control system for associating counter values with stored selected data packets from an incoming data transport stream to preserve interpacket time interval information |
US7280738B2 (en) | 2001-04-09 | 2007-10-09 | International Business Machines Corporation | Method and system for specifying a selection of content segments stored in different formats |
US6870887B2 (en) * | 2001-04-09 | 2005-03-22 | International Business Machines Corporation | Method and system for synchronization between different content encoding formats |
US20020145622A1 (en) * | 2001-04-09 | 2002-10-10 | International Business Machines Corporation | Proxy content editing system |
US7730509B2 (en) | 2001-06-08 | 2010-06-01 | Invidi Technologies Corporation | Asset delivery reporting in a broadcast network |
US8676025B2 (en) * | 2002-03-01 | 2014-03-18 | Broadcom Corporation | Method of timebase management for MPEG decoding with personal video recording functionality |
JP4084646B2 (ja) * | 2001-12-26 | 2008-04-30 | 松下電器産業株式会社 | デジタル放送受信再生機能付き通信端末 |
FI114527B (fi) | 2002-01-23 | 2004-10-29 | Nokia Corp | Kuvakehysten ryhmittely videokoodauksessa |
MXPA04007020A (es) | 2002-01-23 | 2004-10-11 | Nokia Corp | Agrupamiento de cuadros de imagen para codificacion de video. |
US7336667B2 (en) * | 2002-11-21 | 2008-02-26 | International Business Machines Corporation | Apparatus, method and program product to generate and use CRC in communications network |
JP4431537B2 (ja) * | 2003-06-16 | 2010-03-17 | パナソニック株式会社 | パケット処理装置及び方法 |
JP4459590B2 (ja) * | 2003-10-10 | 2010-04-28 | パナソニック株式会社 | Dtvデータ処理装置 |
US20090094640A1 (en) * | 2007-09-26 | 2009-04-09 | Anderson Bruce J | Targeted advertising in unicast, multicast and hybrid distribution system contexts |
US20060287915A1 (en) | 2005-01-12 | 2006-12-21 | Boulet Daniel A | Scheduling content insertion opportunities in a broadcast network |
US20130254787A1 (en) | 2006-05-02 | 2013-09-26 | Invidi Technologies Corporation | Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising |
JP2009536413A (ja) | 2006-05-02 | 2009-10-08 | インビディ テクノロジーズ コーポレイション | 対象設定資産配信システムのためのファジイ論理ベースの閲覧者識別 |
EP2036340A4 (en) * | 2006-06-12 | 2011-07-06 | Invidi Tech Corp | SYSTEM AND METHOD FOR PROMOTING SAVINGS |
US8272009B2 (en) * | 2006-06-12 | 2012-09-18 | Invidi Technologies Corporation | System and method for inserting media based on keyword search |
CN1901548B (zh) * | 2006-07-26 | 2012-10-03 | 白杰 | 缓冲区管理方法 |
WO2008094960A2 (en) * | 2007-01-30 | 2008-08-07 | Invidi Technologies Corporation | Asset targeting system for limited resource environments |
US8146126B2 (en) | 2007-02-01 | 2012-03-27 | Invidi Technologies Corporation | Request for information related to broadcast network content |
WO2010017315A2 (en) | 2008-08-05 | 2010-02-11 | Invidi Technologies Corporation | National insertion of targeted advertisment |
WO2010017379A2 (en) | 2008-08-06 | 2010-02-11 | Invidi Technologies Corporation | Third party data matching for targeted advertising |
WO2010088605A2 (en) * | 2009-01-30 | 2010-08-05 | Invidi Technologies Corporation | System and method for auctioning avails |
JP2010232861A (ja) * | 2009-03-26 | 2010-10-14 | Sony Corp | 情報処理装置、音声信号処理方法、およびプログラム |
JP5496548B2 (ja) * | 2009-05-29 | 2014-05-21 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
JP4999915B2 (ja) * | 2009-12-21 | 2012-08-15 | パナソニック株式会社 | Dtvデータ処理装置 |
JP2011188310A (ja) * | 2010-03-09 | 2011-09-22 | Toshiba Corp | 同期データ検出装置、同期データ検出方法及びプログラム |
US8677028B2 (en) | 2010-08-23 | 2014-03-18 | Qualcomm Incorporated | Interrupt-based command processing |
KR102521298B1 (ko) * | 2018-02-14 | 2023-04-14 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11762584B2 (en) | 2020-10-22 | 2023-09-19 | International Business Machines Corporation | Inferring the state of a write-only device by mapping control register values and feedback signal values |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5486864A (en) * | 1993-05-13 | 1996-01-23 | Rca Thomson Licensing Corporation | Differential time code method and apparatus as for a compressed video signal |
US5566174A (en) * | 1994-04-08 | 1996-10-15 | Philips Electronics North America Corporation | MPEG information signal conversion system |
US5473385A (en) * | 1994-06-07 | 1995-12-05 | Tv/Com Technologies, Inc. | Clock correction in a video data decoder using video synchronization signals |
US5502496A (en) * | 1994-06-09 | 1996-03-26 | Thomson Consumer Electronics, Inc. | Apparatus for providing audible instructions or status information for use in a digital television system |
JP3371174B2 (ja) * | 1994-09-22 | 2003-01-27 | ソニー株式会社 | パケット受信装置 |
US5588029A (en) * | 1995-01-20 | 1996-12-24 | Lsi Logic Corporation | MPEG audio synchronization system using subframe skip and repeat |
US5517250A (en) * | 1995-02-28 | 1996-05-14 | General Instrument Corporation Of Delaware | Acquisition of desired data from a packetized data stream and synchronization thereto |
US5650825A (en) * | 1995-03-31 | 1997-07-22 | Matsushita Electric Corporation Of America | Method and apparatus for sending private data instead of stuffing bits in an MPEG bit stream |
US5699392A (en) * | 1995-11-06 | 1997-12-16 | Stellar One Corporation | Method and system for the recovery of an encoder clock from an MPEG-2 transport stream |
US5703877A (en) * | 1995-11-22 | 1997-12-30 | General Instrument Corporation Of Delaware | Acquisition and error recovery of audio data carried in a packetized data stream |
US5675654A (en) * | 1996-03-29 | 1997-10-07 | Matsushita Electric Corporation Of America | System and method for interfacing a transport decoder to a national renewable security systems (NRSS) smart card |
-
1996
- 1996-03-29 US US08/626,184 patent/US5818539A/en not_active Expired - Lifetime
-
1997
- 1997-03-24 DE DE69736031T patent/DE69736031T2/de not_active Expired - Fee Related
- 1997-03-24 EP EP97104977A patent/EP0798932B1/en not_active Expired - Lifetime
- 1997-03-27 JP JP07616997A patent/JP3883637B2/ja not_active Expired - Fee Related
- 1997-03-29 KR KR1019970012136A patent/KR100248456B1/ko not_active IP Right Cessation
- 1997-03-31 CN CN97103739A patent/CN1108698C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69736031D1 (de) | 2006-07-20 |
CN1173783A (zh) | 1998-02-18 |
JPH1093960A (ja) | 1998-04-10 |
KR100248456B1 (ko) | 2000-03-15 |
EP0798932A2 (en) | 1997-10-01 |
EP0798932A3 (en) | 2003-06-04 |
DE69736031T2 (de) | 2006-10-19 |
CN1108698C (zh) | 2003-05-14 |
EP0798932B1 (en) | 2006-06-07 |
US5818539A (en) | 1998-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3883637B2 (ja) | プログラムカウンタ基準の受け取りを操作する方法、ならびに不連続性指標の受け取りを操作する装置および方法 | |
US5828416A (en) | System and method for interfacing a transport decoder to a elementary stream video decorder | |
US5812976A (en) | System and method for interfacing a transport decoder to a bitrate-constrained audio recorder | |
US6463059B1 (en) | Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing | |
USRE47054E1 (en) | System for digital time shifting and method thereof | |
US6996101B2 (en) | Re-mapping and interleaving transport packets of multiple transport streams for processing by a single transport demultiplexor | |
US7376692B2 (en) | Method and system for receiving and framing packetized data | |
US6438145B1 (en) | Transport packet distribution system and method using local header | |
US7675876B2 (en) | Transport demultiplexor with bit maskable filter | |
US6999424B1 (en) | Method for displaying data | |
US6078594A (en) | Protocol and procedure for automated channel change in an MPEG-2 compliant datastream | |
KR100226528B1 (ko) | 다중화 압축화상/음성데이타의 복호장치 | |
US6275507B1 (en) | Transport demultiplexor for an MPEG-2 compliant data stream | |
US6236432B1 (en) | MPEG II system with PES decoder | |
US6181706B1 (en) | Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register | |
US5726989A (en) | Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream | |
US6434170B1 (en) | Memory-based circular queue with local descriptive information to implement a storage area for filtering mpeg-2 packets that are distributed and/or processed under the control of a host microprocessor by a direct memory access mechanism | |
US6434146B1 (en) | Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture | |
US6115422A (en) | Protocol and procedure for time base change in an MPEG-2 compliant datastream | |
US6229801B1 (en) | Delivery of MPEG2 compliant table data | |
EP1335604A2 (en) | MPEG error concealment | |
US8284845B1 (en) | Method and system for handling data | |
US5675654A (en) | System and method for interfacing a transport decoder to a national renewable security systems (NRSS) smart card | |
US6577813B1 (en) | Transmitting system and transmitting apparatus | |
US6831931B2 (en) | System and method for remultiplexing of a filtered transport stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060414 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061115 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |