(57)【特許請求の範囲】
【請求項１】
パケット化されたデータストリームが入力され、当該データを一時的に格納し、格納しているデータストリームを入力された順に出力するＦＩＦＯ（First-in First-out）メモリ装置において、
入力された前記データストリームをアドレス順に格納するメモリと、
前記メモリに格納されているデータストリームの各パケットの先頭アドレスを記憶するとともに、格納されている各パケットのうちの最も古いパケットの先頭アドレスを記憶する先頭アドレス記憶部と、
前記メモリに格納されているデータストリームを前記アドレス順に読み出して出力する読み出し部と、
前記メモリに対するデータの書き込みアドレスと、読み出し部による前記メモリからの読み出しアドレスを比較して、オーバーフローをするか否かを判定するオーバーフロー判定部とを備え、
前記読み出し部は、オーバーフロー判定部がオーバーフローをすると判定した場合には、最も古いパケットの先頭アドレスから前記メモリに格納されているデータの読み出しを行うこと
を特徴とするＦＩＦＯメモリ装置。
【請求項２】
パケット化されたデータストリームに対して伝送路に応じた伝送路変調処理を施して送信された送信信号を、前記伝送路を介して受信する受信装置において、
前記伝送路を介して受信した受信信号に対して、伝送路復調処理を施してパケット化されたデータストリームを出力する伝送路復号部と、
前記伝送路復号部から出力されたデータストリームが入力され、当該データを一時的に格納し、格納しているデータを入力された順に出力するＦＩＦＯ（First-in First-out）メモリと、
前記ＦＩＦＯメモリから出力されたデータに対して復号を行うデコーダとを有し、
前記ＦＩＦＯメモリは、
入力された前記データストリームをアドレス順に格納するメモリと、
前記メモリに格納されているデータストリームの各パケットの先頭アドレスを記憶するとともに、格納されている各パケットのうちの最も古いパケットの先頭アドレスを記憶する先頭アドレス記憶部と、
前記メモリに格納されているデータストリームを前記アドレス順に読み出して出力する読み出し部と、
前記メモリに対するデータの書き込みアドレスと、読み出し部による前記メモリからの読み出しアドレスを比較して、オーバーフローをするか否かを判定するオーバーフロー判定部とを備え、
前記読み出し部は、オーバーフロー判定部がオーバーフローをすると判定した場合には、最も古いパケットの先頭アドレスから前記メモリに格納されているデータの読み出しを行うこと
を特徴とする受信装置。
【請求項３】
前記ＦＩＦＯメモリからデータを読み出して、前記デコーダのワーキングメモリにデータを転送するデータ転送制御部を
さらに有すること
を特徴とする請求項２記載の受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、先入れ先出し式のＦＩＦＯメモリ装置及び受信装置に関するものである。
【背景技術】
【０００２】
一般的なデジタル放送の受信装置１００は、図７に示すように、アンテナ１０１と、アンテナ１０１により受信した信号を復調及び伝送路復号をしてトランスポートストリームを出力する復調/伝送路復号回路１０２と、トランスポートストリームから動画像及び音声を復号するＭＰＥＧデコーダ１０３とを備えている。
【０００３】
デジタル放送の受信装置１００では、復調/伝送路復号回路１０２から出力されたトランスポートストリームがＭＰＥＧデコーダ１０３に供給され、当該ＭＰＥＧデコーダ１０３によって動画像及び音声の復号がされる。
【０００４】
ここで、ＭＰＥＧデコーダ１０３をＭＰＵ（Micro processing Unit）上にソフトデコーダとして構築する場合がある。
【０００５】
このような場合、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）１０４等のデータ転送専門の処理モジュールを設けて、復調/伝送路復号回路１０２からＭＰＵの内部バスに繋がる高速メモリへデータを一括して転送し、ＭＰＵ（ＭＰＥＧデコーダ１０３）の処理パフォーマンスを高める方がよい。
【０００６】
もっとも、ＤＭＡＣ１０４による転送処理を実現するには、復調/伝送路復号回路１０２内において、リード・ソロモン（ＲＳ）復号器１０５から出力されるデータを一旦ＦＩＦＯ（First-in First-out）メモリ１０６（例えば特許文献１参照。）に蓄積し、一定のデータが蓄積されたらＤＭＡＣ１０４にその旨を伝え、当該ＤＭＡＣ１０４の要求に応じて読み出せるようにする必要がある。
【０００７】
【特許文献１】特開２００４−３６２２８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、トランスポートストリームは、ＴＳパケットと呼ばれる２０４バイトのパケット単位のデータストリームであるため、ＭＰＥＧデコーダ１０３（ＭＰＵ）は、ＴＳパケットの先頭から処理を行わなければならない。
【０００９】
しかしながら、例えば、復調/伝送路復号回路１０２が先に立ち上げる場合や、通常動作状態から何かしらの要因でＭＰＥＧデコーダ１０３（ＭＰＵ）の処理が間に合わない場合等には、ＦＩＦＯメモリ１０６がオーバーフロー（満杯状態でさらに新データが追加されること）を起こす。そのため、ＭＰＥＧデコーダ１０３（ＭＰＵ）がデコード可能な状態になった直後に取得するデータは、必ずしもＴＳパケットの先頭となるとは限らない。
【００１０】
ＴＳパケットの先頭から読み出しがされなかった場合、まず、ＴＳパケットをサーチする処理を行わなければならない。具体的には、ＴＳパケットの先頭の同期バイト（０ｘ４７）をサーチする処理を行わなければならない。
【００１１】
このようなサーチ動作は、一般的にＤＭＡＣ１０４では対応できないため、一旦高速メモリに転送したデータ上をＭＰＵがソフトウェア処理でサーチすることとなる。
【００１２】
このようなサーチ処理は、単純にサーチする処理自体に負荷があること、サーチ対象となる０ｘ４７という値が同期バイトの位置以外にも出てくる可能性があるために一定間隔で出現する０ｘ４７を検出してそれを同期バイトに認定する処理が必要になること、といったことがありＭＰＵのパフォーマンスを著しく低下させてしまう。
【００１３】
本発明は、このような課題を解決するものであり、パケット単位のデータストリームを一時的に蓄積する際に、オーバーフローが発生した場合であっても、後段の処理回路に負担をかけないＦＩＦＯメモリ装置及びこのようなＦＩＦＯメモリを用いたデジタル信号の受信装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明に係るＦＩＦＯメモリ装置は、パケット化されたデータストリームが入力され、当該データを一時的に格納し、格納しているデータストリームを入力された順に出力するＦＩＦＯ（First-in First-out）メモリ装置において、入力された前記データストリームをアドレス順に格納するメモリと、前記メモリに格納されているデータストリームの各パケットの先頭アドレスを記憶するとともに、格納されている各パケットのうちの最も古いパケットの先頭アドレスを記憶する先頭アドレス記憶部と、前記メモリに格納されているデータストリームを前記アドレス順に読み出して出力する読み出し部と、前記メモリに対するデータの書き込みアドレスと、読み出し部による前記メモリからの読み出しアドレスを比較して、オーバーフローをするか否かを判定するオーバーフロー判定部とを備え、前記読み出し部は、オーバーフロー判定部がオーバーフローをすると判定した場合には、最も古いパケットの先頭アドレスから前記メモリに格納されているデータの読み出しを行うことを特徴とする。
【００１５】
本発明に係る受信装置は、パケット化されたデータストリームに対して伝送路に応じた伝送路変調処理を施して送信された送信信号を、前記伝送路を介して受信する受信装置において、前記伝送路を介して受信した受信信号に対して、伝送路復調処理を施してパケット化されたデータストリームを出力する伝送路復号部と、前記伝送路復号部から出力されたデータストリームが入力され、当該データを一時的に格納し、格納しているデータを入力された順に出力するＦＩＦＯ（First-in First-out）メモリと、前記ＦＩＦＯメモリから出力されたデータに対して復号を行うデコーダとを有し、前記ＦＩＦＯメモリは、入力された前記データストリームをアドレス順に格納するメモリと、前記メモリに格納されているデータストリームの各パケットの先頭アドレスを記憶するとともに、格納されている各パケットのうちの最も古いパケットの先頭アドレスを記憶する先頭アドレス記憶部と、前記メモリに格納されているデータストリームを前記アドレス順に読み出して出力する読み出し部と、前記メモリに対するデータの書き込みアドレスと、読み出し部による前記メモリからの読み出しアドレスを比較して、オーバーフローをするか否かを判定するオーバーフロー判定部とを備え、前記読み出し部は、オーバーフロー判定部がオーバーフローをすると判定した場合には、最も古いパケットの先頭アドレスから前記メモリに格納されているデータの読み出しを行うことを特徴とする。
【発明の効果】
【００１６】
本発明に係るＦＩＦＯメモリ装置では、メモリに格納されている各パケットのうちの最も古いパケットの先頭アドレスを記憶しておき、オーバーフローをすると判定した場合には、その最も古いパケットの先頭アドレスから前記メモリに格納されているデータの読み出しを行う。
【００１７】
このことにより、本発明に係るＦＩＦＯメモリ装置では、パケット単位のデータストリームを一時的に蓄積する際に、オーバーフローが発生した場合であっても、後段の処理回路に負担をかけることがない。
【００１８】
本発明に係る受信装置では、伝送路復号部とデコーダとの間にＦＩＦＯメモリを備え、そのＦＩＦＯメモリが、メモリに格納されている各パケットのうちの最も古いパケットの先頭アドレスを記憶しておき、オーバーフローをすると判定した場合には、その最も古いパケットの先頭アドレスから前記メモリに格納されているデータの読み出しを行う。
【００１９】
このことにより、本発明に係る受信装置では、パケット単位のデータストリームを一時的に蓄積する際に、オーバーフローが発生した場合であっても、後段のデコーダに負担をかけることがない。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態として、本発明を適用したデジタル放送受信装置について説明をする。
【００２１】
（デジタル放送受信装置の全体構成）
本発明を適用したデジタル放送受信装置１０は、放送信号を受信して、動画像及び音声等を出力する装置である。
【００２２】
デジタル放送受信装置１０が受信する放送信号は、いわゆるデジタル放送の放送信号である。具体的には、放送信号は、ＩＳＯ／ＩＥＣ１３８１８−１に規定されたトランスポートストリーム（以下、ＴＳという。）をリードソロモン符号化、畳み込み符号化、時間及び周波数インタリーブ化する伝送路符号化処理を行い、その伝送路符号化処理を行った後に所定の変調処理を施した信号である。
【００２３】
デジタル放送受信装置１０は、図１に示すように、アンテナ１１と、復調/伝送路復号部１２と、コンテンツ復号部１３とを備えている。
【００２４】
アンテナ１１は、放送信号を受信するものである。アンテナ１１により受信された放送信号は、ＲＦ信号として復調/伝送路復号部１２に供給される。
【００２５】
復調/伝送路復号部１２は、受信装置のフロント/エンド処理を行う部分である。
【００２６】
復調/伝送路復号部１２は、チューナ１７と、ベースバンド復調部１８と、デコード/誤り訂正部１９と、ＦＩＦＯメモリ２０とを備えている。
【００２７】
チューナ１７は、アンテナ１１により受信されたＲＦ信号を、乗算器及び局部発振器により周波数変換し、その後、バンドパスフィルタによりフィルタリングしてＩＦ信号を生成する。チューナ１７から出力されるＩＦ信号は、ベースバンド復調部１８に供給される。
【００２８】
ベースバンド復調部１８は、入力されたＩＦ信号に対して、所定の復調処理を行う。例えばデジタル放送受信装置１０が地上デジタル放送の受信装置であれば、ベースバンド復調部１８は、例えば、Ａ／Ｄ変換処理、デジタル直交復調処理、ＦＦＴ演算処理、キャリア復調処理等を行う。
【００２９】
デコード/誤り訂正部１９は、ベースバンド復調部１８により復調処理がされた信号に対して伝送路復号処理を行うとともに、ビタビ復号及びＲＳデコード等の誤り訂正処理を行い、ＴＳを生成する。例えばデジタル放送受信装置１０が地上デジタル放送の受信装置であれば、デコード/誤り訂正部１９は、周波数及び時間デインタリーブ、ビタビ復号処理、リードソロモン復号処理等を行う。
【００３０】
デコード/誤り訂正部１９から出力されたＴＳは、ＦＩＦＯメモリ２０に入力される。
【００３１】
ＦＩＦＯメモリ２０は、入力されたデータを格納し、読み出し命令に応じて格納しているデータを入力された順序で出力するメモリである。復調/伝送路復号部１２の最後段に設けられている。
【００３２】
コンテンツ復号部１３は、ＴＳをデコードして、動画像及び音声を生成するものである。
【００３３】
コンテンツ復号部１３は、ＭＰＵ（Micro processing Unit）３１と、高速メモリ３２と、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）３３とを備えている。
【００３４】
ＭＰＵ３１は、マイクロプロセッサであり、デジタル放送受信装置１０の主演算部となる。このＭＰＵ３１は、内部ＲＯＭに格納されているＭＰＥＧ（Moving Picture Experts Group）デコードプログラムを実行することによって、ＭＰＥＧデコーダとして機能する。すなわち、ＭＰＵ３１は、復調/伝送路復号部１２により生成されたＴＳに対して、復号処理をして、動画像及び音声等を生成する。
【００３５】
高速メモリ３２は、ＭＰＵ３１の作業領域となる高速なメモリである。
【００３６】
ＤＭＡＣ３３は、データの転送を制御する回路である。ＤＭＡＣ３３は、例えばバスの空きタイミングを検出し、その空きタイミング中に、あるメモリに格納されている一群のデータを他のメモリ領域へバスを介して一括転送する制御を行う。
【００３７】
ＭＰＵ３１、高速メモリ３２及びＤＭＡＣ３３は、全て内部バス３４に接続されている。ＭＰＵ３１、高速メモリ３２及びＤＭＡＣ３３は、内部バス３４を介して互いにデータの転送を行う。
【００３８】
さらに、ＤＭＡＣ３３は、外部バス３５に接続されている。この外部バス３５には、復調/伝送路復号部１２のＦＩＦＯメモリ２０も接続されている。ＤＭＡＣ３３は、ＦＩＦＯメモリ２０に格納されているＴＳを、高速メモリ３２に転送する制御を行うことができる。
【００３９】
以上のような構成のデジタル放送受信装置１０は、起動がされて受信動作が開始すると、復調/伝送路復号部１２がアンテナ１１の受信信号を復調してトランスポートストリームを生成する。生成されたトランスポートストリームは、ＦＩＦＯメモリ２０内に格納される。
【００４０】
ＦＩＦＯメモリ２０内のＴＳは、ＤＭＡＣ３３により読み出され、コンテンツ復号部１３内の高速メモリ３２に転送される。
【００４１】
ＭＰＵ３１は、高速メモリ３２に記憶されているＴＳに対して、デコード処理を行い、動画像信号及び音声信号を生成する。ＭＰＵ３１は、動画像信号をモニタに表示し、また、音声信号をスピーカー等から出力する。
【００４２】
（ＦＩＦＯメモリの詳細）
つぎに、ＦＩＦＯメモリ２０の構成についてさらに説明をする。
【００４３】
図２に、ＦＩＦＯメモリ２０のブロック構成図を示す。
【００４４】
ＦＩＦＯメモリ２０は、メモリ４１と、書き込みアドレス生成回路４２と、読み出しアドレス生成回路４３と、オーバーフロー判定回路４４と、パケット先頭位置記憶回路４５とを備えている。
【００４５】
メモリ４１は、外部から書き込まれたデータを記憶するメモリである。メモリ４１は、書き込みポートと読み出しポートとがある２ポートタイプメモリであり、書き込みと読み出しとをそれぞれ独立に行うことができるメモリである。
【００４６】
メモリ４１の書き込みポートには、デコード/誤り訂正部１９から出力されたＴＳ、データ有効信号及び書き込みアドレスが入力される。デコード/誤り訂正部１９から出力されたＴＳは、１バイト単位でメモリ４１に入力される。データ有効信号は、デコード/誤り訂正部１９から出力されたＴＳの転送ラインに有効なデータが出力されていることを示す２値信号である。書き込みアドレスは、入力されたＴＳが書き込まれるアドレスを示しており、書き込みアドレス生成回路４２から供給される。
【００４７】
このようなメモリ４１では、データ有効信号が有効（例えばハイ）の時に、書き込みアドレスで指定されたアドレスに対して、入力されたＴＳパケットデータを１バイトずつ格納する。
【００４８】
メモリ４１の読み出しポートからは、１バイト単位でＴＳが出力される。メモリ４１の読み出しポートには、読み出し要求信号及び読み出しアドレスが入力される。読み出し要求信号は、メモリ４１に格納されているデータの出力を許可する２値信号である。読み出し要求信号は、ＤＭＡＣ３３から与えられる。読み出しアドレスは、読み出されるＴＳが格納されているアドレスを示しており、読み出しアドレス生成回路４３から供給される。
【００４９】
このようなメモリ４１では、読み出し要求が有効（例えばハイ）の時に、読み出しアドレスで指定されたアドレスに格納されているデータを、１バイトずつ出力する。
【００５０】
なお、メモリ４１は、書き込み側と読み出し側でアクセス権を調停させることで、１ポートタイプのメモリでも実現可能となる。
【００５１】
書き込みアドレス生成回路４２は、書き込みアドレスを発生し、メモリ４１に与える回路である。書き込みアドレス生成回路４２は、データ有効信号が有効となる毎に、つまり、１バイト分のＴＳがメモリ４１に格納される毎に、内部カウンタを１ずつカウントアップして、書き込みアドレスを更新する。従って、メモリ４１の連続したアドレスに、ＴＳが１バイト毎に順次書き込まれていくこととなる。
【００５２】
書き込みアドレス生成回路４２の内部カウンタは、例えば、メモリ４１の記録可能容量の総バイト数分の値を巡回的にカウントする、巡回カウンタである。内部カウンタは、初期動作時は、例えば０等の所定の値からカウントを開始し、カウンタ値が最大値（例えばメモリ４１の記憶可能容量分のバイト数）を超えたら、また、初期値（例えば０）に戻るようなカウンタである。従って、書き込みアドレス生成回路４２は、一番古いデータ上に、最も新しいデータを書き込むようなリングバッファとして、メモリ４１を機能させることができる。
【００５３】
読み出しアドレス生成回路４３は、読み出しアドレスを発生し、メモリ４１に与える回路である。読み出しアドレス生成回路４３は、読み出し要求信号が有効となる毎に、つまり、１バイト分のＴＳがメモリ４１から読み出される毎に、内部カウンタを１ずつカウントアップして、読み出しアドレスを更新する。従って、メモリ４１の連続したアドレスにから、ＴＳが１バイト毎に順次読み出されていくこととなる。
【００５４】
読み出しアドレス生成回路４３の内部カウンタは、例えば、メモリ４１の記録可能容量の総バイト数分の値を巡回的にカウントする、巡回カウンタである。内部カウンタは、初期動作時は、例えば０等の所定の値からカウントを開始し、カウンタ値が最大値（例えばメモリ４１の記憶可能容量分のバイト数）を超えたら、また、初期値（例えば０）に戻るようなカウンタである。従って、読み出しアドレス生成回路４３は、書き込みアドレスの順番と同様の方向に読み出しを行うので、古いデータから新しいデータに向けて順番に読み出していく先入れ先出しのＦＩＦＯバッファとして、メモリ４１を機能させることができる。
【００５５】
さらに、読み出しアドレス生成回路４３は、オーバーフロー判定部４４からオーバーフロー信号が供給されるとともに、パケット先頭位置記憶回路４５から最も古いパケットの先頭位置情報が供給される。
【００５６】
読み出しアドレス生成回路４３は、以上のカウント動作を行っている最中に、オーバーフロー信号が有効（例えばハイ）となると、強制的にその読み出しアドレスを、最も古いパケットの先頭位置情報に記述されたアドレスに変更し、そのアドレスから読み出しを行う。
【００５７】
オーバーフロー判定部４４は、メモリ４１がオーバーフローをしたかどうかを判定する回路である。メモリ４１は、先入れ先出し方式のＦＩＦＯバッファとして機能しており、読み出しアドレスと書き込みアドレスとが同じ方向に順番に進行する。従って、オーバーフロー判定部４４は、書き込みアドレスと読み出しアドレスとを比較して、書き込みアドレスが読み出しアドレスを追い越そうとした場合（例えば、差が所定の値以下となった場合）に、オーバーフロー信号を発生する。オーバーフロー信号は、オーバーフローをしたら、そのタイミングで有効（例えばハイ）となる２値の信号である。
【００５８】
パケット先頭位置記憶部４５は、メモリ４１に記憶されているＴＳの各ＴＳパケットの先頭アドレスを記憶しているとともに、メモリ４１に記憶されているＴＳパケットのうち最も古いＴＳパケットの先頭アドレスを示す信号（最も古いパケットの先頭位置信号）を出力する。
【００５９】
パケット先頭位置記憶部４５には、書き込みアドレス、パケット先頭信号及びオーバーフロー信号が入力される。
【００６０】
パケット先頭信号は、ＴＳパケットの先頭バイトがメモリ４１に格納されたタイミングで有効（例えばハイ）となる２値信号である。ＴＳパケットは、図３に示すような構成となっているが、パケット先頭信号は、ＴＳパケットのヘッダ部の先頭の同期バイトの０ｘ４７という同期コード部分で有効となる。このパケット先頭信号は、デコード/誤り訂正部１９から供給される。
【００６１】
図４は、パケット先頭位置記憶部４５の構成例を示している。
【００６２】
パケット先頭位置記憶部４５は、図４に示すように、パケット先頭格納レジスタ群５１と、レジスタ指定カウンタ５２と、出力レジスタ５３とを備えている。
【００６３】
パケット先頭位置格納レジスタ群５１は、複数個の内部レジスタから構成されている。内部レジスタの数は、メモリ４１が格納可能なＴＳパケットの数である。ここでは、パケット先頭位置格納レジスタ群５１は、５つの内部レジスタ５１-０, ５１-１, ５１-２, ５１-３, ５１-４で構成されているものとする。
【００６４】
パケット先頭位置格納レジスタ群５１には、書き込みアドレス、及び、パケット先頭信号が入力される。パケット先頭位置格納レジスタ群５１は、パケット先頭位置信号が有効の時のタイミングの書き込みアドレスを、いずれか一つの内部レジスタに格納する。アドレスが書き込まれる内部レジスタ（５１-０〜５１-４）は、レジスタ指定カウンタ５２に指定がされる。
【００６５】
レジスタ指定カウンタ５２は、例えば、パケット先頭位置格納レジスタ群５１を構成する内部レジスタの数を巡回的にカウントする、巡回カウンタである。レジスタ指定カウンタ５２は、パケット先頭信号が有効（例えばハイ）となる毎に、値を１カウントアップさせるカウンタである。レジスタ指定カウンタ５２は、初期動作時は、例えば０等の所定の値からカウントを開始し、カウンタ値が最大値（例えば内部レジスタ数−１）を超えたら、また、初期値（例えば０）に戻るようなカウンタである。
【００６６】
このレジスタ指定カウンタ５２のカウンタ値により、パケット先頭位置格納レジスタ群５１の内部レジスタのいずれか一つが特定される。
【００６７】
出力レジスタ５３は、オーバーフロー信号が有効（例えばハイ）となったタイミングで、レジスタ指定カウンタ５２により指定されている内部レジスタに格納されている値を読み出して、内部に保持するレジスタである。
【００６８】
出力レジスタ５３の内部に保持されている値（アドレス）は、最も古いパケットの先頭位置情報として、外部に出力される。
【００６９】
このような構成のパケット先頭位置記憶部４５は、次のような動作を行う。
【００７０】
まず、レジスタ指定カウンタ５２がいずれか一つの内部レジスタを特定している。パケット先頭信号が有効となると、その時に入力された書き込みアドレスが、レジスタ指定カウンタ５２により指定されている１つの内部レジスタに記憶される。
【００７１】
書き込みアドレスが内部レジスタに格納されると、レジスタ指定カウンタ５２は、次のクロックタイミングでカウンタ値を１つカウントアップする。そのため、レジスタ指定カウンタ５２により指定される内部レジスタが１つ進むこととなる。
【００７２】
続いて、さらに、パケット先頭信号が有効となると、次の内部レジスタへの書き込みアドレスの格納→レジスタ指定カウンタ５２のカウントアップという動作が繰り返される。
【００７３】
従って、パケット先頭信号が有効となる毎に、その時の書き込みアドレスが各内部レジスタに格納され、その内部レジスタが巡回的に選択されていくこととなる。
【００７４】
そして、以上の動作がされている最中に、オーバーフロー信号が有効となったとする。その時には、レジスタ指定カウンタ５２により指定されている内部レジスタの値が、出力レジスタ５３に転送され、出力レジスタ５３がその値を格納する。レジスタ指定カウンタ５２により指定されている内部レジスタは、次にパケット先頭がきた時に、そのパケット先頭のアドレスが書き込まれるレジスタである。ここで、複数の内部レジスタは、巡回的に指定がされるわけであるから、現時点では、最も古いパケットの先頭アドレスが格納されている。
【００７５】
従って、オーバーフロー信号が有効となったタイミングでは、その時の最も古いパケットの先頭位置が出力レジスタ５３から外部に出力される。
【００７６】
以上がパケット先頭位置記憶部４５の構成及び動作である。
【００７７】
（ＦＩＦＯメモリの全体動作）
つぎに、ＦＩＦＯメモリ２０の動作について、図５及び図６のタイミングチャートを参照してさらに説明をする。
【００７８】
なお、図５及び図６において、（Ａ）はクロック、（Ｂ）はパケット先頭信号、（Ｃ）はデータ有効信号、（Ｄ）は書き込みアドレス、（Ｅ）は第１の内部レジスタｐｔ０が記憶している値、（Ｆ）は第２の内部レジスタｐｔ１が記憶している値、（Ｇ）は第３の内部レジスタｐｔ２が記憶している値、（Ｈ）は第４の内部レジスタｐｔ３が記憶している値、（Ｉ）は第５の内部レジスタｐｔ４が記憶している値、（Ｊ）はレジスタ指定カウンタが指定している内部レジスタ、（Ｋ）はレジスタ指定カウンタが指定している内部レジスタが記憶している値、（Ｌ）はオーバーフロー信号、（Ｍ）は出力レジスタが記憶している値、（Ｎ）は読み出しアドレス、をそれぞれ示している。
【００７９】
図５は、通常の初期動作時のタイミングチャートを示している。
【００８０】
まず、初期状態（リセット後）では、内部レジスタｐｔ０〜ｐｔ４の値は０となっており、レジスタ指定カウンタ５２はｐｔ０を指定しており、書き込みアドレス生成回路４２書き込みアドレスとして０を出力している。
【００８１】
この初期状態からＴＳが入力されると、時刻Ｔ１１に示すように、パケット先頭信号が有効となり、データ有効信号も有効となる。次のクロックタイミング（時刻Ｔ１２）では、レジスタ指定カウンタ５２により指定されている内部レジスタｐｔ０に、時刻Ｔ１１の書き込みアドレス（０）が格納される。また、レジスタ指定カウンタ５２のカウント値は、次のレジスタ（内部レジスタｐｔ１）にカウントアップされる。
【００８２】
続いて、時刻Ｔ１３は、パケット先頭信号が有効となるタイミングである。このタイミングでは、書き込みアドレスが２０４となっている。パケット先頭信号が有効となった次のクロックタイミング（時刻Ｔ１４）では、レジスタ指定カウンタ５２により指定されている内部レジスタｐｔ１に、時刻Ｔ１３の書き込みアドレス（２０４）が格納される。また、レジスタ指定カウンタ５２のカウント値は、次のレジスタ（内部レジスタｐｔ２）にカウントアップされる。
【００８３】
そして、以後、パケット先頭信号が有効となる毎（時刻Ｔ１５,Ｔ１６,時刻Ｔ１７,Ｔ１８・・・）に、同様の処理が繰り返される。
【００８４】
図６は、オーバーフローが生じた時のタイミングチャートを示している。
【００８５】
まず、時刻Ｔ２１において、レジスタ指定カウンタ５２はｐｔ１を指定しており、内部レジスタｐｔ１の格納値は２０４となっており、出力レジスタ５３の値は０であるとする。
【００８６】
そして、時刻Ｔ２１の数クロック後の時刻Ｔ２２までの間、読み出しアドレスが０とされた状態のまま読み出しが行われず、書き込みだけが進んだ。すると、時刻Ｔ２２において、書き込みアドレスが読み出しアドレスを追い越す直前となり、オーバーフロー信号が有効となる。オーバーフロー信号が有効となると、次のクロックタイミング（時刻Ｔ２３）において、レジスタ指定カウンタ５２により指定された内部レジスタ（ここでは、ｐｔ１）の値（２０４）が、出力レジスタ５３に転送される。
【００８７】
出力レジスタ５３に格納された値は、読み出しアドレス生成回路４３に供給される。
【００８８】
従って、読み出しアドレス生成回路４３は、読み出しアドレスが最も古いパケットの先頭位置を示すアドレス（２０４）に変更される。
【００８９】
以後、オーバーフロー信号が有効となる毎に、同様の処理が行われる。
【００９０】
すなわち、ＦＩＦＯメモリ２０では、メモリ４１のオーバーフローの発生直前となると、オーバーフローにより先頭部分が消えてしまうＴＳパケットについては、そのＴＳパケットの全てのデータ（２０４バイト）を捨ててしまい、その次のＴＳパケットの先頭から出力を行う制御を行っている。
【００９１】
以上のように、ＦＩＦＯメモリ２０では、オーバーフローが発生した場合には、後段のＤＭＡＣ３３が必ずＴＳパケットの先頭からデータが読み出される。このため、ＭＰＥＧデコーダとして機能するＭＰＵ３１がＴＳパケットの先頭のサーチ動作を行わなくてもよいため、処理負担が軽減する。
【図面の簡単な説明】
【００９２】
【図１】本発明が適用されたデジタル放送受信装置のブロック図である。
【図２】ＦＩＦＯメモリのブロック図である。
【図３】ＴＳパケットの構成を示した図である。
【図４】パケット先頭位置記憶部のブロック図である。
【図５】ＦＩＦＯメモリの動作開始時のタイミングチャートである。
【図６】ＦＩＦＯメモリのオーバーフロー時のタイミングチャートである。
【図７】従来のデジタル放送受信装置のブロック図である。
【符号の説明】
【００９３】
１０  デジタル放送受信装置、１２  復調/伝送路復号  １３  コンテンツ復号部、２０  ＦＩＦＯメモリ、３３  ＤＭＡＣ  ３２  高速メモリ、３３  ＭＰＵ、４１  メモリ、  ４２  書き込みアドレス生成回路、４３  読み出しアドレス生成回路、４４  オーバーフロー判定回路、４５  パケット先頭位置記憶回路
【図１】
0004434089.tif 000002
【図２】
0004434089.tif 000003
【図３】
0004434089.tif 000004
【図４】
0004434089.tif 000005
【図５】
0004434089.tif 000006
【図６】
0004434089.tif 000007
【図７】
0004434089.tif 000008