(57)【要約】【課題】  転送データの確実な時間管理を実現し、データ転送に伴う処理負荷の軽減及び低コスト化を図るデータ転送制御装置、電子機器及びデータ転送制御方法を提供する。【解決手段】  データ転送制御装置１００は、転送サイクル毎に更新されるサイクルタイムをカウントするサイクルタイマ１５０と、パケットデータの転送を制御する転送コントローラ１４０とを含む。転送コントローラ１４０は、データ転送制御装置１００に入力されたときにはタイムスタンプ情報が未付加のパケットデータを転送先に出力する際に、サイクルタイマ１５０の現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、前記パケットデータに付加する。【選択図】      図１２
2006049948.tif 000002
【特許請求の範囲】
【請求項１】
データ転送を制御するためのデータ転送制御装置であって、
転送サイクル毎に更新されるサイクルタイムをカウントするサイクルタイマと、
パケットデータの転送を制御する転送コントローラとを含み、
前記転送コントローラが、
前記データ転送制御装置に入力されたときにはタイムスタンプ情報が未付加のパケットデータを転送先に出力する際に、前記サイクルタイマの現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、前記パケットデータに付加することを特徴とするデータ転送制御装置。
【請求項２】
請求項１において、
前記パケットデータが前記データ転送制御装置に入力されたときの前記サイクルタイマのサイクルタイムに対応した入力タイムスタンプ情報が前記パケットデータに付加され、
前記転送コントローラが、
前記入力タイムスタンプ情報として付加されたサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した第１のタイムスタンプ情報を、前記出力タイムスタンプ情報として、前記パケットデータを前記転送先に出力する際に前記入力タイムスタンプ情報に替えて設定することを特徴とするデータ転送制御装置。
【請求項３】
請求項２において、
前記転送コントローラが、
前記第１のタイムスタンプ情報と前記サイクルタイマの現在のサイクルタイムとに基づいて、現在の転送サイクルにおいて付加すべき第２のタイムスタンプ情報を求め、該第２のタイムスタンプ情報を、前記出力タイムスタンプ情報として、前記入力タイムスタンプ情報に替えて設定することを特徴とするデータ転送制御装置。
【請求項４】
請求項２又は３において、
前記転送コントローラが、
前記入力タイムスタンプ情報が付加されたパケットデータが蓄積されるパケットメモリのデータ残量に基づいてパケットデータに付加されるヘッダ情報を作成するヘッダ作成回路と、
前記ヘッダ作成回路によって作成された前記ヘッダ情報と前記パケットメモリに蓄積されたパケットデータとを結合した出力用パケットデータを生成し、該出力用パケットデータを前記転送先に出力するパケット生成回路とを含み、
前記パケット生成回路が、
前記入力タイムスタンプ情報に替えて前記出力タイムスタンプ情報を設定することを特徴とするデータ転送制御装置。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記転送コントローラが、
前記現在の転送サイクルにおいて前記入力タイムスタンプ情報が付加されたパケットデータが蓄積されるパケットメモリのデータ残量が１パケット未満であるとき、前記転送先に空パケットを出力することを特徴とするデータ転送制御装置。
【請求項６】
請求項５において、
前記パケットメモリを含み、
前記パケットメモリが、
前記入力タイムスタンプ情報が付加されたパケットデータが記憶されるデータ領域と、前記ヘッダ作成回路によって作成された前記ヘッダ情報が記憶されるヘッダ領域とを有し、
前記パケット生成回路が、
前記データ領域からのパケットデータに含まれる前記入力タイムスタンプ情報に替えて前記出力タイムスタンプ情報を設定し、該パケットデータと前記ヘッダ領域からのヘッダ情報とを結合することを特徴とするデータ転送制御装置。
【請求項７】
請求項６において、
前記ヘッダ作成回路が、
前記ヘッダ領域に記憶されたヘッダの基本情報を読み出して、該基本情報を用いて前記ヘッダ情報を生成して前記ヘッダ領域に書き戻すことを特徴とするデータ転送制御装置。
【請求項８】
請求項６又は７において、
第１及び第２のモードを切り替えるための転送モード設定レジスタを含み、
前記転送モード設定レジスタにより前記第１のモードに切り替えられたとき、
前記転送コントローラが、
前記サイクルタイマの現在のサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、前記パケットデータを前記転送先に出力する際に設定された前記パケットデータを生成し、
前記転送モード設定レジスタにより前記第２のモードに切り替えられたとき、
前記転送コントローラが、
前記パケットメモリに蓄積され前記入力タイムスタンプ情報が付加されたパケットデータに含まれるタイムスタンプ情報と比較値とを比較し、
前記比較値と一致するタイムスタンプ情報を含むパケットデータ群に対し、前記入力タイムスタンプ情報に替えて、前記サイクルタイマの現在のサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を設定して、該パケットデータを現在の転送サイクルにおいて前記転送先に出力し、
前記比較値と不一致のタイムスタンプ情報が検出されたときに前記比較値を更新すると共に、前記現在のサイクルタイムの次のサイクルタイムにおいて、更新された比較値と前記パケットメモリに蓄積されたデータに含まれるタイムスタンプ情報とを比較することを特徴とするデータ転送制御装置。
【請求項９】
請求項８において、
前記第２のモードに切り替えられたとき、
前記転送コントローラが、
前記比較値と前記パケットデータに含まれるタイムスタンプ情報とを比較し、該比較値と一致するタイムスタンプ情報を含むパケットデータが検出されなかったとき、空パケットを前記転送先に出力することを特徴とするデータ転送制御装置。
【請求項１０】
請求項８又は９において、
前記第２のモードに切り替えられたとき、
前記転送コントローラが、
前記パケットデータに含まれるタイムスタンプ情報を読み出して、前記比較値と一致するタイムスタンプ情報を含むデータ群に対してヘッダ情報を作成すると共に、前記比較値と不一致のタイムスタンプ情報を含むパケットデータが検出されたことを条件に前記比較値の更新処理を行い、
前記パケットデータのタイムスタンプ情報に替えて、前記サイクルタイマの現在のサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を設定して前記パケットデータを生成し、前記転送先に出力することを特徴とするデータ転送制御装置。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
ＩＥＥＥ１３９４の規格に準拠したデータ転送を行うことを特徴とするデータ転送制御装置。
【請求項１２】
パケットデータを受信する受信回路と、
前記受信回路とパケットデータが伝送されるバスとの間に設けられた請求項１乃至７のいずれか記載のデータ転送制御装置とを含み、
前記データ転送制御装置が、
前記バスを介して接続される記録媒体に対し、前記パケットデータを転送することを特徴とする電子機器。
【請求項１３】
請求項８乃至１０のいずれか記載のデータ転送制御装置と、
前記データ転送制御装置を介してバスに接続される記録媒体とを含み、
前記データ転送制御装置が、
前記バスを介して入力されたデータを前記記録媒体に出力して該記録媒体に記録させ、或いは前記記録媒体から読み出したデータを前記バスを介して出力することを特徴とする電子機器。
【請求項１４】
データ転送を制御するためのデータ転送制御方法であって、
転送サイクル毎に更新されるサイクルタイムをカウントし、
入力されたときにタイムスタンプ情報が未付加のパケットデータを転送先に出力する際に、現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、前記パケットデータに付加して前記転送先に出力することを特徴とするデータ転送制御方法。
【請求項１５】
請求項１４において、
前記パケットデータが入力されたときのサイクルタイムに対応した入力タイムスタンプ情報を前記パケットデータに付加し、
前記入力タイムスタンプ情報として付加されたサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した第１のタイムスタンプ情報を、前記出力タイムスタンプ情報として、前記入力タイムスタンプ情報に替えて前記パケットデータを転送先に出力する際に該パケットデータに設定することを特徴とするデータ転送制御方法。
【請求項１６】
請求項１５において、
前記第１のタイムスタンプ情報と現在のサイクルタイムとに基づいて、現在のサイクルタイムにおいて付加すべき第２のタイムスタンプ情報を求め、該第２のタイムスタンプ情報を、前記出力タイムスタンプ情報として前記入力タイムスタンプ情報に替えて設定することを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御装置、電子機器及びデータ転送制御方法に関する。
【背景技術】
【０００２】
近年、ＭＰＥＧ（Moving Picture Experts Group、より具体的にはＭＰＥＧ２）ストリームを配信するＢＳデジタル放送等のデジタル放送が脚光を浴び、デジタル放送チューナやデジタル放送のコンテンツの記録・再生装置等の電子機器の普及が著しい。このデジタル放送チューナと記録・再生装置は、例えばＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４に代表される汎用高速シリアルインタフェースを介して接続される。
【０００３】
ＩＥＥＥ１３９４では、上述のストリームをパケット化して実現されるアイソクロナス（Isochronous）転送（広義には同期転送）が行われる。アイソクロナス転送はほぼ１２５μｓ（マイクロ秒）の間に必ず行われる転送であり、アシンクロナス（Asynchronous）転送（広義には非同期転送）より優先的に行われる転送であるため、リアルタイムのデータ転送に適している。
【０００４】
このようなストリームを送受信する場合、送信側と受信側の時間の整合性を保つ必要がある。そのため、パケット化されたデータにタイムスタンプ情報を付加し、時間管理を行っている。従って、この時間管理を行いつつ、アイソクロナス転送のために一定以上の転送レートを確保する必要がある。
【０００５】
ところが、受信側の装置のバッファメモリの容量の制約があるため、無条件に転送レートを高めることができない。そこで、送信側の装置では、データに含まれるタイムスタンプ情報を参照しながら、アイソクロナスサイクルと呼ばれる転送サイクル毎に数パケットずつ転送を行うようにソフトウェアでデータ転送の制御を行っている。
【０００６】
このようなデータ転送の制御について、例えば特許文献１に開示されている。特許文献１には、パケットデータの到着時刻に伝送遅延値と送信遅延値とを加算して生成したタイムスタンプ情報を該パケットデータに付加し、このパケットデータを伝送遅延値だけ遅延させて出力させる技術が開示されている。
【特許文献１】特開２００２−８４２８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、タイムスタンプ情報を参照して転送すべきパケットデータをアイソクロナスサイクル内で判別する処理をソフトウェアで行うと、処理負荷が重い。従って、制御を司る中央演算処理装置（Central Processing Unit：ＣＰＵ）の処理能力を他の高度な処理に割り当てることができなくなる。そのため、システム全体の処理能力を維持させるために高性能なＣＰＵや他の付加回路を用いることとなりコスト高を招く。特に、引用文献１に記載されるように、ストリームの到着時に出力用のタイムスタンプ情報を付加したパケットデータをバッファリングした場合、送信するパケットデータの時間管理を正確に制御できなくなる場合がある。例えばタイムスタンプ情報の付加時に想定できない遅延が発生する場合があったり、この種の遅延を考慮して余分な遅延時間を設定せざるを得なくなったりする。
【０００８】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、転送データの確実な時間管理を実現すると共に、データ転送に伴う処理負荷の軽減及び低コスト化を図るデータ転送制御装置、電子機器及びデータ転送制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、データ転送を制御するためのデータ転送制御装置であって、転送サイクル毎に更新されるサイクルタイムをカウントするサイクルタイマと、パケットデータの転送を制御する転送コントローラとを含み、前記転送コントローラが、前記データ転送制御装置に入力されたときにはタイムスタンプ情報が未付加のパケットデータを転送先に出力する際に、前記サイクルタイマの現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、前記パケットデータに付加するデータ転送制御装置に関係する。
【００１０】
本発明によれば、パケットデータを転送先に出力する際に、該パケットデータに出力タイムスタンプ情報を付加するようにしたので、転送先側でバッファリングを行うのに適したタイミングでパケットデータを送出できるようになる。例えばタイムスタンプ情報により再生時刻が指定される場合に、一旦バッファリングする等の理由で、例えば他のノードの転送状況に依存して、転送先側で再生時刻として指定したサイクルタイムを過ぎた後にパケットデータを送出してしまうといった事態を回避できる。このため、パケットデータに付加するタイムスタンプ情報のマージンを少なくでき、しかも処理負荷を軽減できる。従って、簡素な構成により、送信するパケットデータの時間管理を正確に制御できるようになる。
【００１１】
また本発明に係るデータ転送制御装置では、前記パケットデータが前記データ転送制御装置に入力されたときの前記サイクルタイマのサイクルタイムに対応した入力タイムスタンプ情報が前記パケットデータに付加され、前記転送コントローラが、前記入力タイムスタンプ情報として付加されたサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した第１のタイムスタンプ情報を、前記出力タイムスタンプ情報として、前記パケットデータを前記転送先に出力する際に前記入力タイムスタンプ情報に替えて設定することができる。
【００１２】
また本発明に係るデータ転送制御装置では、前記転送コントローラが、前記第１のタイムスタンプ情報と前記サイクルタイマの現在のサイクルタイムとに基づいて、現在の転送サイクルにおいて付加すべき第２のタイムスタンプ情報を求め、該第２のタイムスタンプ情報を、前記出力タイムスタンプ情報として、前記入力タイムスタンプ情報に替えて設定することができる。
【００１３】
本発明によれば、現在のサイクルタイムを基準にオフセット値だけ先行させたタイムスタンプ情報を付加する場合に比べて、より正確にタイムスタンプ情報を設定できるようになる。従って、より細かい時間管理を実現できるようになる。
【００１４】
また本発明に係るデータ転送制御装置では、前記転送コントローラが、前記入力タイムスタンプ情報が付加されたパケットデータが蓄積されるパケットメモリのデータ残量に基づいてパケットデータに付加されるヘッダ情報を作成するヘッダ作成回路と、前記ヘッダ作成回路によって作成された前記ヘッダ情報と前記パケットメモリに蓄積されたパケットデータとを結合した出力用パケットデータを生成し、該出力用パケットデータを前記転送先に出力するパケット生成回路とを含み、前記パケット生成回路が、前記入力タイムスタンプ情報に替えて前記出力タイムスタンプ情報を設定することができる。
【００１５】
また本発明に係るデータ転送制御装置では、前記転送コントローラが、前記現在の転送サイクルにおいて前記入力タイムスタンプ情報が付加されたパケットデータが蓄積されるパケットメモリのデータ残量が１パケット未満であるとき、前記転送先に空パケットを出力することができる。
【００１６】
また本発明に係るデータ転送制御装置では、前記パケットメモリを含み、前記パケットメモリが、前記入力タイムスタンプ情報が付加されたパケットデータが記憶されるデータ領域と、前記ヘッダ作成回路によって作成された前記ヘッダ情報が記憶されるヘッダ領域とを有し、前記パケット生成回路が、前記データ領域からのパケットデータに含まれる前記入力タイムスタンプ情報に替えて前記出力タイムスタンプ情報を設定し、該パケットデータと前記ヘッダ領域からのヘッダ情報とを結合することができる。
【００１７】
また本発明に係るデータ転送制御装置では、前記ヘッダ作成回路が、前記ヘッダ領域に記憶されたヘッダの基本情報を読み出して、該基本情報を用いて前記ヘッダ情報を生成して前記ヘッダ領域に書き戻すことができる。
【００１８】
本発明によれば、パケットデータの生成処理及びヘッダの付加処理の負荷を軽減させることができる。
【００１９】
また本発明に係るデータ転送制御装置では、第１及び第２のモードを切り替えるための転送モード設定レジスタを含み、前記転送モード設定レジスタにより前記第１のモードに切り替えられたとき、前記転送コントローラが、前記サイクルタイマの現在のサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、前記パケットデータを前記転送先に出力する際に設定された前記パケットデータを生成し、前記転送モード設定レジスタにより前記第２のモードに切り替えられたとき、前記転送コントローラが、前記パケットメモリに蓄積され前記入力タイムスタンプ情報が付加されたパケットデータに含まれるタイムスタンプ情報と比較値とを比較し、前記比較値と一致するタイムスタンプ情報を含むパケットデータ群に対し、前記入力タイムスタンプ情報に替えて、前記サイクルタイマの現在のサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を設定して、該パケットデータを現在の転送サイクルにおいて前記転送先に出力し、前記比較値と不一致のタイムスタンプ情報が検出されたときに前記比較値を更新すると共に、前記現在のサイクルタイムの次のサイクルタイムにおいて、更新された比較値と前記パケットメモリに蓄積されたデータに含まれるタイムスタンプ情報とを比較することができる。
【００２０】
本発明によれば、パケットデータにタイムスタンプ情報が既に付加されている場合であっても、転送先側でバッファリングを行うのに適したタイミングで送信することができるようになる。そして、この場合においても、例えばタイムスタンプ情報により再生時刻が指定される場合に、一旦バッファリングする等の理由で、例えば他のノードの転送状況に依存して、転送先側で再生時刻として指定したサイクルタイムを過ぎた後にパケットデータを送出してしまうといった事態を回避できる。このため、パケットデータに付加するタイムスタンプ情報のマージンを少なくでき、しかも処理負荷を軽減できる。従って、簡素な構成により、送信するパケットデータの時間管理を正確に制御できるようになる。
【００２１】
また本発明に係るデータ転送制御装置では、前記第２のモードに切り替えられたとき、前記転送コントローラが、前記比較値と前記パケットデータに含まれるタイムスタンプ情報とを比較し、該比較値と一致するタイムスタンプ情報を含むパケットデータが検出されなかったとき、空パケットを前記転送先に出力することができる。
【００２２】
また本発明に係るデータ転送制御装置では、前記第２のモードに切り替えられたとき、前記転送コントローラが、前記パケットデータに含まれるタイムスタンプ情報を読み出して、前記比較値と一致するタイムスタンプ情報を含むデータ群に対してヘッダ情報を作成すると共に、前記比較値と不一致のタイムスタンプ情報を含むパケットデータが検出されたことを条件に前記比較値の更新処理を行い、前記パケットデータのタイムスタンプ情報に替えて、前記サイクルタイマの現在のサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を設定して前記パケットデータを生成し、前記転送先に出力することができる。
【００２３】
また本発明に係るデータ転送制御装置では、ＩＥＥＥ１３９４の規格に準拠したデータ転送を行うことができる。
【００２４】
また本発明は、パケットデータを受信する受信回路と、前記受信回路とパケットデータが伝送されるバスとの間に設けられた上記のいずれか記載のデータ転送制御装置とを含み、前記データ転送制御装置が、前記バスを介して接続される記録媒体に対し、前記パケットデータを転送する電子機器に関係する。
【００２５】
本発明によれば、受信回路で受信されたパケットデータの正確な時間管理を、少ない処理負荷で実現できる電子機器を提供できる。
【００２６】
また本発明は、上記のいずれか記載のデータ転送制御装置と、前記データ転送制御装置を介してバスに接続される記録媒体とを含み、前記データ転送制御装置が、前記バスを介して入力されたデータを前記記録媒体に出力して該記録媒体に記録させ、或いは前記記録媒体から読み出したデータを前記バスを介して出力する電子機器に関係する。
【００２７】
本発明によれば、記録媒体に記録するためのパケットデータ又は記録媒体から再生するためのパケットデータのパケットデータの正確な時間管理を、少ない処理負荷で実現できる電子機器を提供できる。
【００２８】
また本発明は、データ転送を制御するためのデータ転送制御方法であって、転送サイクル毎に更新されるサイクルタイムをカウントし、入力されたときにタイムスタンプ情報が未付加のパケットデータを転送先に出力する際に、現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、前記パケットデータに付加して前記転送先に出力するデータ転送制御方法に関係する。
【００２９】
また本発明に係るデータ転送制御方法では、前記パケットデータが入力されたときのサイクルタイムに対応した入力タイムスタンプ情報を前記パケットデータに付加し、前記入力タイムスタンプ情報として付加されたサイクルタイムを基準に前記オフセット値だけ先行したサイクルタイムに対応した第１のタイムスタンプ情報を、前記出力タイムスタンプ情報として、前記入力タイムスタンプ情報に替えて前記パケットデータを転送先に出力する際に該パケットデータに設定することができる。
【００３０】
また本発明に係るデータ転送制御方法では、前記第１のタイムスタンプ情報と現在のサイクルタイムとに基づいて、現在のサイクルタイムにおいて付加すべき第２のタイムスタンプ情報を求め、該第２のタイムスタンプ情報を、前記出力タイムスタンプ情報として前記入力タイムスタンプ情報に替えて設定することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【００３２】
１．  パケットデータ
図１に、本実施形態のデータ転送制御装置が適用されたシステムの構成例を示す。
【００３３】
このシステムでは、アンテナ１０、デジタル放送チューナ２０、記録・再生装置３０を含む。アンテナ１０は、ＢＳデジタル放送として配信されたＭＰＥＧ２ストリームを受信する。デジタル放送チューナ２０は、データ転送制御装置２２を含み、アンテナ１０で受信された複数チャネル分のＴＳ（Transport Stream）パケットが連続したＭＰＥＧ２ＴＳのマルチストリームから、１チャネル分のＴＳパケットが連続したＭＰＥＧ２ＴＳのパーシャルストリームを抽出する。そして、データ転送制御装置２２は、ＩＥＥＥ１３９４バスを介して接続された記録・再生装置３０に対し、抽出したストリームのＴＳパケットを転送する。記録・再生装置３０は、記録媒体３２を含み、ＩＥＥＥ１３９４バスを介して転送されたＴＳパケットを記録媒体３２に記録する。記録・再生装置３０は、記録媒体３２に記録されたＴＳパケットを読み出して再生することもできる。
【００３４】
図２に、ＢＳデジタル放送、データ転送制御装置及びＩＥＥＥ１３９４バスにおけるデータ構造の説明図を示す。
【００３５】
ＢＳデジタル放送では、ＭＰＥＧ２のＴＳパケットが配信される。ＴＳパケットは、１８８バイトの固定長のパケットデータである。このＴＳパケットには、Ｉピクチャ（広義にはフレーム内符号化データ）や、Ｂピクチャ及びＰピクチャ（広義にはフレーム間符号化データ或いは予測符号化データ）や、オーディオデータ（音声データ、非ビデオデータ）等が１つのビットストリームに多重化されてパケット化されている（パケット多重）。このＴＳパケットは、ＴＳヘッダ（ＴＳＨ）とＴＳペイロードとにより構成される。
【００３６】
データ転送制御装置２２は、アンテナ１０で受信されたＴＳパケットに４バイトのＳＰ（Source Packet）ヘッダ（ＳＰＨ）を付加した後、ＳＰヘッダ及びＴＳパケットを用いて構築したアイソクロナスパケット（ＩＳＯパケット）をＩＥＥＥ１３９４バスに出力する。ＩＳＯパケットは、ＳＰヘッダ及びＴＳパケットを１組として、１又は複数組のＳＰヘッダ及びＴＳパケットを含むことができる。各ＩＳＯパケットには、８バイトのアイソクロナスヘッダ（ＩＳＯＨ）と８バイトのＣＩＰ（Common Isochronous Packet）ヘッダ（ＣＩＰＨ）とが付加される。ＣＩＰヘッダと１又は複数組のＳＰヘッダ及びＴＳパケットとを１３９４ペイロードということができる。また１又は複数組のＳＰヘッダ及びＴＳパケットを、ＳＰ（Source Packet）ということができる。
【００３７】
空パケットとしてのNullパケットの場合、ＩＳＯヘッダとＣＩＰヘッダのみが含まれる。即ち、Nullパケットは、ＳＰを含まずにＩＳＯヘッダとＣＩＰヘッダのみの構成となる。
【００３８】
図３に、ＴＳパケットのフォーマットの一例を示す。
【００３９】
ＴＳパケットは、ＴＳヘッダとＴＳペイロードとにより構成される。ＴＳヘッダは、同期バイト（sync byte）、トランスポート誤りインディケータ（transport error indicator）、ペイロード部スタートインディケータ（payload unit start indicator：ＰＵＳＩ）、トランスポートプライオリティ（transport priority）、ＰＩＤ（Packet identification）、トランスポートスクランブル制御（transport scrambling control）、アダプテーションフィールド制御（adaptation field control）、コンティニュイティカウンタ（continuity counter）、アダプテーションフィールド（adaptation field）等を有する。
【００４０】
ＴＳヘッダに含まれるＰＩＤを用いることで、約８０００種類のＴＳパケットの識別が可能となる。例えば図４に示すように、ＭＰＥＧストリームにおいて構成されるＰＥＳ（Packetized Elementary Stream）は、同じＰＩＤを有するＴＳパケットに分割される。このＰＥＳは、同じＰＩＤを有するＴＳパケットに分割される。受信側では、同じＰＩＤを有するＴＳパケットのペイロード部をつなぎ合わせることで元のＰＥＳを復元できる。
【００４１】
なおＰＥＳは、同じＰＩＤのＴＳパケットのペイロード部に分割して転送されるが、ＰＥＳの先頭は、ＴＳペイロードの先頭から開始するように配置される。そしてＰＥＳの先頭が配置されたＴＳペイロードは、ペイロード部スタートインディケータ（ＰＵＳＩ）により識別される。
【００４２】
図５（Ａ）〜（Ｄ）に、ＩＳＯパケットとこれに含まれるＳＰヘッダ、ＣＩＰヘッダ及びＩＳＯヘッダのフォーマットの一例を示す。
【００４３】
図５（Ａ）は、アイソクロナス転送でＩＥＥＥ１３９４バスに出力されるＩＳＯパケットの構成例を示す。図５（Ｂ）は、ＳＰヘッダのフォーマットの一例を示す。図５（Ｃ）は、ＣＩＰヘッダのフォーマットの一例を示す。図５（Ｄ）は、ＩＳＯヘッダのフォーマットの一例を示す。
【００４４】
図５（Ｂ）、（Ｃ）に示すＳＰヘッダやＣＩＰヘッダは、ＩＥＥＥ１３９４バス上でＭＰＥＧ２ストリームを転送するためのプロトコルを定めたＩＥＣ（International Electrotechnical Commission）６１８８３規格により定義されている。ＳＰヘッダは、タイムスタンプ情報としてアイソクロナス転送のサイクルカウントを含む。サイクルカウントは、サイクルタイムのカウント値である。またＳＰヘッダは、サイクルオフセットを含む。サイクルオフセットは、サイクルカウントをカウントアップするためのカウント値である。ＳＰヘッダのサイクルカウントをタイムスタンプ情報として扱ってもよいし、ＳＰヘッダのサイクルカウント及びサイクルオフセットをタイムスタンプ情報として扱ってもよい。以下では、説明の便宜上、タイムスタンプ情報として、ＳＰヘッダのサイクルカウントを示すものとして説明する。
【００４５】
図５（Ｃ）に示すＣＩＰヘッダは、転送されるデータがＭＰＥＧデータであることを宣言したり、ＭＰＥＧのＴＳパケットの分割方法を指定するものであり、ソースノードＩＤ（SID）、データブロックサイズ（DBS）、フォーマットＩＤ（FMT）等を含む。
【００４６】
図５（Ｄ）に示すＩＳＯヘッダは、データ長を示すデータレングス（Data_length）、アイソクロナスデータフォーマットタグ（tag）、アイソクロナスリソースマネージャから取得したアイソクロナスチャンネル番号（Channel）、トランザクションコード（tcode）、同期コード（sy）、ヘッダＣＲＣ（Header_CRC）を含む。Nullパケットの場合は、データレングスに、ＣＩＰヘッダのデータ長が設定される。
【００４７】
ＩＥＥＥ１３９４では、電源投入やデバイスの抜き差し等によってポートの接続状態が変化したとき、バスリセットが行われる。バスリセットが行われると、ツリー識別が行われ、ノード間の親子関係やルートノードが決定される。その後、自己識別が行われ、セルフＩＤパケットの送受信により各ノードのアドレスの自動割り付けが行われる。
【００４８】
こうしてノードの接続状態が管理できるようになると、全ノードのうちアイソクロナスリソースマネージャとして選ばれた管理ノードが、アイソクロナス転送を行うノードに必要なリソースを提供して、アイソクロナス転送のための帯域を割り当てる。更に全ノードのうちサイクルマスタとして選ばれたノードが、平均して１２５マイクロ秒ごとにサイクルスタートパケットを送信する。アイソクロナス転送を行うノードは、サイクルマスタからのサイクルスタートパケットを基準にアイソクロナスサイクル（ＩＳＯサイクル）（広義には転送サイクル）を開始する。
【００４９】
図６に、アイソクロナス転送の説明図を示す。
【００５０】
アイソクロナス転送を行うノードは、サイクルマスタからのサイクルスタートパケット５０、５２、５４を基準にそれぞれＩＳＯサイクルを開始する。サイクルマスタは、原則として１２５マイクロ秒毎にサイクルスタートパケットを送信する。アイソクロナス転送を行うノードは、サイクルスタートパケットを受信する毎に図５（Ｂ）のＳＰヘッダのサイクルカウントをカウントアップさせる。従って、ＩＳＯサイクル毎にサイクルカウントが更新される。サイクルカウントは、０から順にインクリメントされ、１６進数表示で１Ｆ３Ｆｈ（最後の「ｈ」は１６進数表示であることを示す。以下同様）になると再び０に戻る。即ちサイクルカウントは、０ｈから１Ｆ３Ｆｈまで（１０進数で０から７９９９まで）となる。これにより、１秒（＝１２５マイクロ秒×８０００）間を、１２５マイクロ秒毎に更新されるサイクルカウントで計ることが可能となる。秒単位のカウント値は、ソフトウェアやファームウェアにより保持することで、管理できる。サイクルオフセットは、１２５マイクロ秒をカウントするためのカウント値であり、インクリメントされるサイクルオフセットのオーバーフローが発生したときにサイクルカウントがインクリメントされる。
【００５１】
アイソクロナス転送を行うノードは、サイクルスタートパケットの受信後、アイソクロナスギャップと呼ばれるバスアイドル時間を経過後にアービトレーションを開始してＩＳＯパケットを送信する。図６では、サイクルスタートパケット５０の受信により開始されるＩＳＯサイクルにおいて、ノードＡがＩＳＯパケットＩＳＯＡ、ノードＢがＩＳＯパケットＩＳＯＢを転送する。そして、次のサイクルスタートパケット５２の受信により開始されるＩＳＯサイクルにおいても、ノードＡがＩＳＯパケットＩＳＯＡ、ノードＢがＩＳＯパケットＩＳＯＢを転送する。なおＩＳＯサイクルにおいてＩＳＯパケットが転送された後に、アシンクロナスパケットの転送が行われる。これは、サブアクションギャップと呼ばれるアシンクロナス転送の調停開始前のバスアイドル時間をアイソクロナスギャップより長い時間とすることで、各転送の優先度を異ならせることができる。
【００５２】
このようにアイソクロナス転送で転送されるＩＳＯパケットとＳＰヘッダのサイクルカウントとは、以下のような関係を有する。
【００５３】
図７に、ＩＳＯパケットとＳＰヘッダのサイクルカウントとの関係の説明図を示す。
【００５４】
アイソクロナス転送では、ＩＳＯパケットの転送が行われる。通常、ＩＳＯパケットは上述のように１又は複数のＴＳパケットを含む。図７では、Nullパケットの転送が行われないものとし、簡略化のためにＩＳＯヘッダやＣＩＰヘッダを省略し、ＴＳパケットのＳＰヘッダのみを示している。
【００５５】
ＩＳＯサイクルに対応するサイクルタイムは、サイクルカウントによって特定される。サイクルカウントはサイクルマスタからのサイクルスタートパケットを受信する毎にインクリメントされるため、サイクルタイムもまた同様にサイクルスタートパケットを受信する毎にインクリメントされる。アイソクロナス転送を行うノードは、受信側で再生する時刻を指定するサイクルタイム（サイクルカウント）がＳＰヘッダに設定されたＴＳパケットを含むＩＳＯパケットを送信する。図７では、サイクルタイムが１０００のとき、ＳＰヘッダにサイクルカウントとして１００３が設定された２つのＴＳパケットを含むＩＳＯパケットを送信する。即ち、現在のサイクルタイムに＋３のオフセットを与えて送信する。これにより、受信側では、サイクルタイムが１００３になったとき、受信したＴＳパケットをデコードに入力して伸張処理し、画像の再生を行う。このように受信側のバッファメモリに蓄積されるＴＳパケットに対して、先行するサイクルタイムを指定して送出する。
【００５６】
ところが、受信側のバッファメモリの容量の制約があるため、無条件に転送レートを高めることができない。そのため、送信側においてＳＰヘッダを参照しながら、ＩＳＯサイクル毎に数パケットずつ転送を行うようにデータ転送の制御を行う必要がある。しかしながら、ＳＰヘッダを参照しながら転送すべきパケットをＩＳＯサイクル内で判別する処理をソフトウェアで行うと処理負荷が重くなってしまう。また送信側で一旦バッファリングしてからパケットを送信する場合、パケットの到着時にＳＰヘッダを付加してしまうと、送信するパケットの時間管理を正確に制御できなくなる場合がある。例えば、他のノードからの転送状況に依存して、受信側で再生時刻として指定したサイクルタイム（例えば１００３）を過ぎた後にパケットを送信してしまうと、サイクルタイムが７９９９に達して再び１００３になるまで再生できないことになる。そして、このような事態を回避するためにマージンを加えた時刻を指定する必要が生じ、細かい時間管理が不可能となる。
【００５７】
そこで本実施形態では、以下の構成を採用することで、ストリームが分割されたパケットの確実な時間管理を実現すると共に、データ転送に伴う処理負荷の軽減及び低コスト化を図る。
【００５８】
２．  データ転送制御装置
図８に、本実施形態におけるデータ転送制御装置の構成例のブロック図を示す。
【００５９】
なお本実施形態のデータ転送制御装置は、図８のすべての回路、ユニット（部）を含む必要はなく、その一部を省略する構成であってもよい。
【００６０】
本実施形態におけるデータ転送制御装置１００は、ストリームインタフェース（InterFace：Ｉ／Ｆ）回路１１０、ＩＤＥ（Integrated Drive Electronics）Ｉ／Ｆ回路（広義には記録媒体用Ｉ／Ｆ）１２０、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）Ｉ／Ｆ回路（広義にはＤＲＡＭＩ／Ｆ）１３０を含むことができる。
【００６１】
ストリームＩ／Ｆ回路１１０は、ＭＰＥＧ２ストリームの受信装置（アンテナ、復調部）又はデコーダとデータ転送制御装置１００との間のインタフェースを実現する回路である。受信装置又はデコーダは、データ転送制御装置１００の外部に設けられる。受信装置は、デジタル放送として配信されるＭＰＥＧ２ストリームを受信して復調したストリームをデータ転送制御装置１００に供給する。デコーダは、データ転送制御装置１００が出力したＭＰＥＧ２ストリームをデコードし、デコード結果に対応して画像を表示させるための画像データとして図示しない表示装置に供給する。ストリームＩ／Ｆ回路１１０は、ＳＰＨ比較出力回路１１２を含み、パケットデータにタイムスタンプ情報として含まれるＳＰヘッダに基づいて、パケットデータ間の時間間隔がＳＰヘッダで指定された通りとなるようにタイミング調整しながらパケットデータをデコーダに出力できる。ＩＤＥＩ／Ｆ回路１２０は、記録媒体としてのハードディスクドライブ（Hard Disk Drive：ＨＤＤ）やＤＶＤ（Digital Versatile Disk）の記録・再生装置とデータ転送制御装置１００との間のインタフェースを実現する回路である。ハードディスクドライブやＤＶＤの記録・再生装置は、データ転送制御装置１００の外部に設けられる。ＳＤＲＡＭＩ／Ｆ回路１３０は、ＳＲＡＭ（Static Random Access Memory）よりシーケンシャルアクセスが高速なＳＤＲＡＭとデータ転送制御装置１００との間のインタフェースを実現する回路である。ＳＤＲＡＭは、データ転送制御装置１００の外部に設けられる。
【００６２】
本実施形態におけるデータ転送制御装置１００は、リンクコントローラ（広義には転送コントローラ）１４０と、サイクルタイマ１５０とを含む。このデータ転送制御装置１００は、例えば１３９４ＰＨＹチップを介してＩＥＥＥ１３９４バスに接続される。１３９４ＰＨＹチップは、ＩＥＥＥ１３９４の物理層のプロトコルを実現し、ＩＥＥＥ１３９４バスに接続される。なお、図８では、１３９４ＰＨＹチップを含まずにＰＨＹＩ／Ｆ回路（図示せず）を有する構成となっているが、データ転送制御装置１００が１３９４ＰＨＹチップを含む構成であってもよい。
【００６３】
データ転送制御装置１００において、サイクルタイマ１５０は、ＩＳＯサイクル（広義には転送サイクル）毎に更新されるサイクルタイムをカウントする。より具体的には、バスリセット後に選択されたサイクルマスタによって送出されるサイクルスタートパケットを受信する毎に、サイクルタイムをカウントする。サイクルタイマ１５０がサイクルタイムを更新する際、サイクルタイムをインクリメントしてもよいし、サイクルタイムをデクリメントしてもよい。ＳＰＨ比較出力回路１１２は、ＳＰヘッダに含まれるサイクルカウントとサイクルタイマ１５０のサイクルタイムとを比較して、パケットデータを出力する。
【００６４】
記録媒体においては、パーソナルコンピュータ用として広く使用されているＩＤＥ（ＡＴＡ）Ｉ／Ｆを有する安価なハードディスクドライブを用いる。一方、デジタルデータ（デジタルビデオデータ、デジタルオーディオデータ）のＩ／ＦとしてはＩＥＥＥ１３９４が広く用いられる。図８に示すように、ＩＤＥＩ／Ｆ回路１２０とリンクコントローラ１４０とを設けることで、ＩＥＥＥ１３９４とＩＤＥの変換ブリッジ機能をデータ転送制御装置１００に実現させることができる。
【００６５】
図８において、リンクコントローラ１４０は、ＩＥＥＥ１３９４バスを介したパケットデータの転送を制御する。リンクコントローラ１４０は、ＩＥＥＥ１３９４のリンク層又はリンク層と該リンク層より上層のプロトコルを実現するための回路である。このリンクコントローラ１４０は、ヘッダ（ＩＳＯヘッダ、ＣＩＰヘッダ、ＳＰヘッダ）を作成し、該ヘッダを付加したパケットをＩＥＥＥ１３９４バスに出力する。
【００６６】
データ転送制御装置１００は、パケットメモリとしてのＳＲＡＭ１６０を含むことができる。このＳＲＡＭ１６０をデータ転送制御装置１００の外部に設けることも可能である。ＳＲＡＭ１６０は、ストリームＩ／Ｆ回路１１０、ＩＤＥＩ／Ｆ回路１２０又はＳＤＲＡＭＩ／Ｆ回路１３０を介して入力されるＴＳパケットを、ＩＥＥＥ１３９４バスを介して転送するために一時的に記憶するものである。またＳＲＡＭ１６０は、ＩＥＥＥ１３９４バスを介して受信したパケットを一時的に記憶する機能も有する。このＳＲＡＭ１６０は、ファームウェア等によりランダムアクセス可能な構成になっている。
【００６７】
データ転送制御装置１００は、ポインタコントローラ１７０を含むことができる。このポインタコントローラ１７０は、ＳＲＡＭ１６０の書き込み領域を指定するための書き込みポインタとＳＲＡＭ１６０の読み出し領域を指定するための読み出しポインタとを制御する。ＳＲＡＭ１６０に対するパケットデータの書き込み領域は、ＳＲＡＭ１６０の記憶領域を特定する書き込みポインタによって指定される。そして、パケットデータを書き込む毎に、ポインタコントローラ１７０が書き込みポインタを（インクリメント又はデクリメントして）更新していく。ＳＲＡＭ１６０からのパケットデータの読み出し領域は、ＳＲＡＭ１６０の記憶領域を特定する読み出しポインタによって指定される。そして、パケットデータを読み出す毎に、ポインタコントローラ１７０が読み出しポインタを（デクリメント又はインクリメントして）更新していく。
【００６８】
データ転送制御装置１００は、更にＰＩＤフィルタ１８０を含むことができる。ＰＩＤフィルタ１８０は、ストリームＩ／Ｆ回路１１０、ＩＤＥＩ／Ｆ回路１２０又はＳＤＲＡＭＩ／Ｆ回路１３０を介して入力されたＭＰＥＧ２ＴＳのマルチストリームから、所定のＰＩＤを有するパーシャルストリームを抽出し、ＳＲＡＭ１６０に供給する。
【００６９】
データ転送制御装置１００は、処理部１９０を含む。処理部１９０は、装置内の各回路や各ユニット（部）の制御や装置の全体制御を行う。この処理部１９０の機能は、ＣＰＵ或いはシステムコントローラ等のハードウェアやファームウェア（プログラム）により実現される。なお処理部１９０をデータ転送制御装置１００の外部に設けるようにしてもよい。
【００７０】
本実施形態では、リンクコントローラ１４０が、データ転送制御装置１００に入力されたときにはタイムスタンプ情報が未付加のＴＳパケット（パケットデータ）をバス（転送先）に出力する際に、出力タイムスタンプ情報を該ＴＳパケットに付加することができる。そのため、リンクコントローラ１４０は、ヘッダ作成回路１４２と送信制御回路（広義にはパケット生成回路）１４４とを含むことができる。
【００７１】
ヘッダ作成回路１４２は、ＩＥＥＥ１３９４バスに出力するパケットに付加するヘッダを作成する。このヘッダ作成回路１４２は、ＩＳＯヘッダ、ＣＩＰヘッダ、ＳＰヘッダを生成する。更に具体的にはヘッダ作成回路１４２は、予め作成されたヘッダの基本情報に対し所定の情報のみが書き換えられた情報をヘッダ（情報）として出力する。
【００７２】
送信制御回路１４４は、ヘッダ作成回路１２２によって作成されたヘッダを付加したＩＳＯパケットを生成し、該ＩＳＯパケットをＩＥＥＥ１３９４バスに出力する制御を行う。こうして送信制御回路１４４は、１３９４ＰＨＹチップを介してＩＥＥＥ１３９４バス（広義には転送先）に出力する際に、タイムスタンプ情報（出力タイムスタンプ情報）をＴＳパケットに付加する。
【００７３】
このようにリンクコントローラ１４０は、データ転送制御装置１００に入力されたときにはタイムスタンプ情報が未付加のＴＳパケットを、１３９４ＰＨＹチップを介してＩＥＥＥ１３９４バス（広義には転送先）に出力する際に、タイムスタンプ情報（出力タイムスタンプ情報）をＴＳパケットに付加する。このタイムスタンプ情報は、サイクルタイマ１５０の現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応したタイムスタンプ情報である。例えばサイクルタイマ１５０のカウント方向がインクリメント方向の場合、現在のサイクルタイムをインクリメント方向にオフセットを与えた値がタイムスタンプ情報として設定される。また例えばサイクルタイマ１５０のカウント方向がデクリメント方向の場合、現在のサイクルタイムをデクリメント方向にオフセットを与えた値がタイムスタンプ情報として設定される。
【００７４】
こうすることで、例えばデコーダ側でバッファリングを行うのに適したタイミングでＴＳパケットを送出できる。更に、一旦バッファリングする等の理由で、例えば他のノードの転送状況に依存して、受信側で再生時刻として指定したサイクルタイムを過ぎた後にパケットを送信してしまうといった事態を回避できる。その際、余分な時間を加える必要がなく、処理負荷を軽減できる。従って、簡素な構成により、送信するパケットの時間管理を正確に制御できるようになる。
【００７５】
またデータ転送制御装置１００は、転送モード設定レジスタ２００、最大連結パケット数設定レジスタ２０２、ＳＰＨロード設定レジスタ２０４、転送開始ＳＰＨ設定レジスタ２０６、送信オフセット値設定レジスタ２０８を含むことができる。また処理部１９０は、これらの設定レジスタ（制御レジスタ）の設定値に対応して、データ転送制御装置内の各回路や各ユニット（部）の制御や装置の全体制御を行うことができる。
【００７６】
転送モード設定レジスタ２００には、データ転送制御装置１００の転送モードを設定するための設定値が設定される。このデータ転送制御装置１００は、データ残量比較モード（広義には第１のモード）又はＳＰヘッダ比較モード（広義には第２のモード）のいずれかの転送モードでアイソクロナス転送を制御する。
【００７７】
データ残量比較モードに設定されたデータ転送制御装置１００は、ＳＲＡＭ１６０に転送すべきＴＳパケットが存在すると、ＩＥＥＥ１３９４バスを介して転送先にＴＳパケットを出力する制御を行う。このデータ残量比較モードは、ストリームＩ／Ｆ回路１１０を介して連続的に入力されるリアルタイムデータの転送に有効な転送モードである。本実施形態では、転送すべきＴＳパケットがＳＲＡＭ１６０に１パケット以上格納されているときアイソクロナス転送を行い、最大でも最大連結パケット数設定レジスタ２０２に設定された設定値に対応したパケット数毎にアイソクロナス転送を行う。この際、サイクルタイマ１５０のサイクルタイムに送信オフセット値設定レジスタ２０８の設定値を加算した値を含むＳＰヘッダをＴＳパケットに付加する。なお、ＳＲＡＭ１６０に格納され転送すべきＴＳパケットが１パケット未満のとき、空パケットとしてNullパケットを転送する。
【００７８】
これに対してＳＰヘッダ比較モードに設定されたデータ転送制御装置１００は、ＳＲＡＭ１６０に格納されたＴＳパケットに付加されたＳＰヘッダを参照し、サイクルタイマ１５０によって更新されるサイクルカウントに対応して該ＴＳパケットを出力する制御を行う。このＳＰヘッダ比較モードは、ＩＤＥＩ／Ｆ回路１２０を介して入力される記録媒体からのＴＳパケットの転送に有効な転送モードである。本実施形態では、ＳＰヘッダに含まれるタイムスタンプ情報が転送開始ＳＰＨ設定レジスタ２０６の設定値と一致するＴＳパケットを用いてアイソクロナス転送を行い、最大でも最大連結パケット数設定レジスタ２０２に設定された設定値に対応したパケット数毎にアイソクロナス転送を行う。この際、ＳＰＨロード設定レジスタ２０４の設定値、送信オフセット値設定レジスタ２０８の設定値及びサイクルタイマ１５０のサイクルタイムに基づいて生成された値を含むＳＰヘッダを、元のＳＰヘッダに張り替えてＴＳパケットを送出する。なお、ＳＲＡＭ１６０に格納され転送すべきＴＳパケットが１パケット未満のとき、空パケットとしてNullパケットを転送する。
【００７９】
図９に、リンクコントローラ１４０の構成例のブロック図を示す。
【００８０】
このリンクコントローラ１４０は、データ残量比較モード又はＳＰヘッダ比較モードのいずれかの転送モードで、ＩＳＯパケットを生成し、ＩＥＥＥ１３９４バスに出力する。
【００８１】
リンクコントローラ１４０は、処理部１９０に含まれるアクセス調停部２５０を介してＳＲＡＭ１６０にアクセスできるようになっている。即ちリンクコントローラ１４０が、ヘッダを作成するためのアクセス制御信号、作成したヘッダを読み出すためのアクセス制御信号、ＩＳＯパケットのデータを読み出すためのアクセス制御信号をアクセス調停部２５０に出力する。アクセス調停部２５０は、これらのアクセス制御信号を調停し、調停後のアクセス制御信号に基づいてＳＲＡＭ１６０にアクセスする。
【００８２】
リンクコントローラ１４０のヘッダ作成回路１４２は、メモリアクセス制御部３００、ヘッダ生成コントローラ３１０を含む。メモリアクセス制御部３００は、ヘッダを作成するためのアクセス制御信号、作成したヘッダを読み出すためのアクセス制御信号を生成する。ヘッダ生成コントローラ３１０は、メモリアクセス制御部３００を制御するための制御信号を生成する。
【００８３】
リンクコントローラ１４０の送信制御回路１４４は、ＲＡＭ制御信号生成部３２０、ＩＳＯ送信シーケンサ３３０、ＩＳＯ送信ＦＩＦＯ（First-In First-Out）３４０、張り替えＳＰＨ保持レジスタ３５０を含む。ＲＡＭ制御信号生成部３２０は、ＩＳＯパケットを構成するＴＳパケット等のデータをＳＲＡＭ１６０から読み出すためのアクセス制御信号を生成する。ＩＳＯ送信シーケンサ３３０は、ＩＳＯパケットを送信するためのタイミング制御を行う。ＩＳＯ送信ＦＩＦＯ３４０は、ＩＳＯパケットの送信バッファとして機能する。張り替えＳＰＨ保持レジスタ３５０は、サイクルタイマ１５０のサイクルタイムと送信オフセット値設定レジスタ２０８の設定値との加算値を保持する。張り替えＳＰＨ保持レジスタ３５０が保持する値は、ＩＳＯ送信シーケンサ３３０からのＳＰＨ張り替えイネーブルに同期して、ＩＳＯパケットのＳＰヘッダのサイクルカウントとして設定される。
【００８４】
以下、上述の構成において、各転送モードの動作について説明する。
【００８５】
２．１  データ残量比較モード
図１０に、データ残量比較モードに設定されたデータ転送制御装置１００の動作例の概要のフローを示す。
【００８６】
データ転送制御装置１００は、図示しない転送イネーブル設定レジスタを有し、該転送イネーブル設定レジスタの設定値によりイネーブル状態又はディスエーブル状態に設定されるようになっている。
【００８７】
まずデータ転送制御装置１００が、転送イネーブル設定レジスタによりイネーブル状態に設定される（ステップＳ１０）。その後、ストリームＩ／Ｆ回路１１０を介してＴＳパケットを受け付け、ＳＲＡＭ１６０に格納される。
【００８８】
そして、リンクコントローラ１４０が、ＳＲＡＭ１６０のデータ残量を判別する（ステップＳ１１）。ＳＲＡＭ１６０のデータ残量が１パケット以上であると判別されたとき（ステップＳ１１：Ｙ）、ＩＳＯヘッダを作成し（ステップＳ１２）、ＩＳＯパケットを生成する（ステップＳ１３）。
【００８９】
ステップＳ１１において、ＳＲＡＭ１６０のデータ残量が１パケット未満であると判別されたとき（ステップＳ１１：Ｎ）、Nullパケットを生成する（ステップＳ１４）。
【００９０】
ステップＳ１３又はステップＳ１４の後は、次のＩＳＯサイクルになったとき（ステップＳ１５：Ｙ）、ステップＳ１３で生成したＩＳＯパケット又はステップＳ１４のNullパケットを送信する（ステップＳ１６）。
【００９１】
その後、所定の終了条件を満たすとき（ステップＳ１７：Ｙ）、一連の処理を終了する（エンド）。所定の終了条件を満たさないとき（ステップＳ１７：Ｎ）、ステップＳ１１に戻る。
【００９２】
データ転送制御装置１００の各回路又は各ユニット（部）は、以上のような処理を独立に、又は処理部１９０の制御下で動作する。
【００９３】
図１１に、データ転送制御装置の処理タイミングの説明図を示す。
【００９４】
図１０に示す処理のうち、ＳＲＡＭ１６０のデータ残量を求めてデータ転送すべきか否かを判別するデータ残量確認処理は、サイクルスタートパケット６０を基準に開始されるＩＳＯサイクル期間のアイソクロナス転送６４の後に行う。そして、当該ＩＳＯサイクル期間内のデータ残量確認処理後に、ＩＳＯパケットのヘッダ生成処理を行う。
【００９５】
図１２に、データ残量比較モードの説明図を示す。図１２において、図８と同一部分には同一符号を付し、適宜説明を省略する。
【００９６】
本実施形態では、リアルタイム性が要求されるアイソクロナス転送を行う場合、ＴＳパケットを転送先に出力する際に、リンクコントローラ１４０が、サイクルタイマ１５０の現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、該パケットデータに付加する。このとき、タイムスタンプ情報が未付加のパケットデータがデータ転送制御装置１００に入力されたときに、サイクルタイマ１５０のサイクルタイムに対応した入力タイムスタンプ情報を、一旦、該ＴＳパケットに付加することができる。そして、ＴＳパケットを転送先に出力する際に、リンクコントローラ１４０が、入力タイムスタンプ情報として付加されたサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した第１のタイムスタンプ情報を、出力タイムスタンプ情報として、送信制御回路１４４が入力タイムスタンプ情報に替えて設定してもよい。
【００９７】
この場合、ストリームＩ／Ｆ回路１１０が、ＳＰＨ付加回路１１４を含み、ＳＰＨ付加回路１１４が入力タイムスタンプ情報をＴＳパケットに付加することができる。この場合、ＳＲＡＭ１６０には、ＳＰヘッダが付加されたＴＳパケットが格納されることになる。
【００９８】
ＳＰＨ付加回路１１４は、サイクルタイマ１５０によって更新されるサイクルタイムを参照して、例えば受信装置からのＭＰＥＧ２ＴＳマルチストリームのＴＳパケットに、入力タイムスタンプ情報として、ＴＳパケットの到着時刻をＳＰヘッダに付加する。この到着時刻は、出力タイムスタンプ情報を求める際に、いつ受け取ったかを特定するための情報として付加されることになる。ストリームＩ／Ｆ回路１１０を介して入力されたＴＳパケットは、ＰＩＤフィルタ１８０に供給される。
【００９９】
図１３（Ａ）に、ＳＰＨ付加回路１１４の動作説明図を示す。図１３（Ｂ）に、ＰＩＤフィルタ後のＴＳパケットの説明図を示す。図１３（Ａ）、（Ｂ）では、ＴＳパケットのＳＰヘッダのみを示し、ＩＳＯヘッダやＣＩＰヘッダの図示を省略している。
【０１００】
ＢＳデジタル放送で配信されるＴＳパケットには、タイムスタンプ情報が付加されていない。従って、受信装置で受信されてストリームＩ／Ｆ回路１１０に入力されるＴＳパケットには、タイムスタンプ情報が未付加の状態である。そこでＳＰＨ付加回路１１４が、ＴＳパケットが入力された時点のタイムスタンプ情報としてサイクルタイマ１５０のサイクルタイムをＳＰヘッダのサイクルカウントとして設定する。図１３（Ａ）では、サイクルタイムが３０００のときに入力されたＴＳパケットには、サイクルカウントが３０００に設定されたＳＰヘッダが付加される。同様に、サイクルタイムが３００１のときに入力されたＴＳパケットには、サイクルカウントが３００１に設定されたＳＰヘッダが付加される。
【０１０１】
ＰＩＤフィルタ１８０は、不要なチャネルのパケットを削除し、図１３（Ｂ）に示す各パケットをＳＲＡＭ１６０に供給する。
【０１０２】
ＳＲＡＭ２６０の記憶領域は、ヘッダ領域とデータ領域とに分離したり、送信用領域と受信用領域とに分離することが望ましい。またデータ領域を、アシンクロナス用領域とアイソクロナス用領域とに分離してもよい。
【０１０３】
図１４に、ＳＲＡＭ１６０のメモリマップの一例を示す。
【０１０４】
図１４では、ＳＲＡＭ１６０が、ヘッダ領域（送信ヘッダ領域、受信ヘッダ領域）とデータ領域（アシンクロナス送信データ領域、アシンクロナス受信データ領域、アイソクロナス送信データ領域、アイソクロナス受信データ領域）とに分離されている。そして、パケットのヘッダ（制御情報）はヘッダ領域に格納され、パケットのデータ（アシンクロナスデータ、アイソクロナスデータ）はデータ領域に格納される。
【０１０５】
また図１４では、データ領域が、アシンクロナス（非同期）用領域（アシンクロナス送信データ領域、アシンクロナス受信データ領域）とアイソクロナス用領域（アイソクロナス送信データ領域、アイソクロナス受信データ領域）とに分離されている。更に図１４では、ＳＲＡＭ１６０が、送信用領域（アシンクロナス送信データ領域、アイソクロナス送信データ領域）と受信用領域（アシンクロナス受信データ領域、アイソクロナス受信データ領域）とに分離されている。
【０１０６】
更にまた図１４では、送信ヘッダ領域が、自動転送用ヘッダ領域、Nullパケット用ヘッダ領域及びアイソクロナスヘッダ領域とを含む。自動転送用ヘッダ領域には、データ残量比較モード又はＳＰヘッダ比較モードにおいてＩＳＯパケットを転送するために予め作成されたヘッダ（ＩＳＯヘッダ、ＣＩＰヘッダ、ＳＰヘッダ）の基本情報が格納される。Nullパケット用ヘッダ領域には、データ残量比較モード又はＳＰヘッダ比較モードにおいてNullパケットを転送するために予め作成されたヘッダ（ＩＳＯヘッダ、ＣＩＰヘッダ）の基本情報が格納される。そして、ＩＳＯパケット又はNullパケットを転送する際に、リンクコントローラ１４０のヘッダ作成回路１４２が、自動転送用ヘッダ領域又はNullパケット用ヘッダ領域からヘッダの基本情報を読み出して、所定の情報を書き換えてＳＲＡＭ１６０のアイソクロナスヘッダ領域に書き戻す。そして、送信制御回路１４４が、書き戻されたヘッダ情報をアイソクロナスヘッダ領域から読み出すと共に、アイソクロナス送信データ領域からアイソクロナスデータを読み出してＩＳＯパケットを構築する。
【０１０７】
このように、ヘッダ領域及びデータ領域に分離したり、送信用領域及び受信用領域に分離したり、アイソクロナス転送用領域及びアシンクロナス転送用領域に分離したりすることで、ＳＲＡＭ１６０の記憶領域を管理し易くなる。そのため、パケットの送受信の際にＳＲＡＭ１６０へのアクセスが簡素化される。
【０１０８】
従って、本実施形態のようにパケットメモリとして、例えばＳＰＨ付加回路１１４によって入力タイムスタンプ情報が付加されたＴＳパケットが記憶されるデータ領域と、ヘッダ作成回路１４２によって作成されたヘッダ情報が記憶されるヘッダ領域とを有するＳＲＡＭ１６０を備えることが望ましい。この場合、パケット生成回路としての送信制御回路１４４（リンクコントローラ１４０）が、ＳＲＡＭ１６０のデータ領域からのパケットデータに含まれる出力タイムスタンプ情報を入力タイムスタンプ情報に替えて設定し、該パケットデータとＳＲＡＭ１６０のヘッダ領域からのヘッダ情報とを結合したパケットデータ（広義には出力用パケットデータ）を送信する。ヘッダを予め作成してハードウェアでパケットにヘッダを付加する場合、ヘッダ領域及びデータ領域を分離しておくことで、容易にパケットデータの結合処理やヘッダの付加処理を実現できるようになる。
【０１０９】
なお、図１４の各領域は、いわゆるリングバッファ構造になっている。即ち、これらの領域の一方の境界（スタートアドレス）から他方の境界（エンドアドレス）に向かってパケットのヘッダ又はデータが格納され、他方の境界に達した場合には一方の境界に戻ってパケットのヘッダ又はデータが格納されるようになっている。こうすることで、ＳＲＡＭ１６０の記憶容量を効率的に活用できる。また図１４のように用途別に各領域を分離しているため、リングバッファ構造を実現し易くなる。
【０１１０】
図１２において、ＰＩＤフィルタ１８０によって不要なチャネルが削除されたパケットデータは、図１４に示すＳＲＡＭ１６０のアイソクロナス送信データ領域に格納される。
【０１１１】
図１５に、ＳＲＡＭ１６０に格納されたパケットデータの送信動作の説明図を示す。
【０１１２】
データ残量比較モードでアイソクロナス転送を行う場合、あるＩＳＯサイクルにおいて、ＳＲＡＭ１６０にＴＳパケットが蓄積されているとき、当該ＴＳパケットをすべてＩＳＯパケットに構築してＩＥＥＥ１３９４バスに出力する。その際、ＴＳパケットに付加された入力タイムスタンプ情報のまま転送すると、デコーダに入力された際には未来の時刻を指定することになる。例えば現在のサイクルタイムが３０００の時刻でＴＳパケットを送信すると、受信側に到達するときにはサイクルタイムが進み、到達時のサイクルタイムは例えば３０００より大きな値となっている。そのため、タイムスタンプ情報として３０００が指定されたＴＳパケットをデコードする場合、サイクルカウントが１周して再びサイクルタイムが３０００となるまで再生されないことになる。
【０１１３】
そこで本実施形態では、ＳＲＡＭ１６０から読み出したＴＳパケットを転送する際に、現在のＳＰヘッダのサイクルカウントにオフセット値を加算した値を、再びＳＰヘッダに設定し直して送信する。より具体的には、ＳＲＡＭ１６０から読み出したＴＳパケットのＳＰヘッダにタイムスタンプ情報として付加されたサイクルカウントを参照し、該サイクルカウントに送信オフセット値設定レジスタ２０８の設定値を加算した値を、ＳＰヘッダのサイクルカウントとして再設定して送信する。
【０１１４】
図１５では、送信オフセット値設定レジスタ２０８の設定値が５である場合を示している。このため、図１５では、ＳＲＡＭ１６０から読み出したＴＳパケットのＳＰヘッダにタイムスタンプ情報として付加されたサイクルカウントに５を加算した値を、ＳＰヘッダのサイクルカウントとして再設定して送信している。そして、例えばＳＲＡＭ１６０に格納されたＴＳパケットは、ＩＳＯパケットに構築されて次のＩＳＯサイクルで送信される。
【０１１５】
より具体的には、リンクコントローラ１４０が、以下のようにしてＳＲＡＭ１６０に格納されたＴＳパケットをＩＳＯパケットに構築して送信する。
【０１１６】
図１２において、ポインタコントローラ１７０は、ＳＲＡＭ１６０に格納されているＴＳパケットの量を判別するためのＳＲＡＭ内データ残量情報を求める。より具体的には、ポインタコントローラ１７０は、ＳＲＡＭ１６０の書き込みポインタであるストリーム側ポインタとＳＲＡＭ１６０の読み出しポインタであるリンク側ポインタとの差分に対応したＳＲＡＭ内データ残量情報を求める。ポインタコントローラ１７０によって求められたＳＲＡＭ内データ残量情報は、リンクコントローラ１４０のヘッダ作成回路１４２に供給される。
【０１１７】
ヘッダ作成回路１４２は、ポインタコントローラ１７０からのＳＲＡＭ内データ残量情報に基づいて、ＳＲＡＭ１６０に１パケット以上のＴＳパケットがあるか否かを判別する。そしてＳＲＡＭ１６０に１パケット以上のＴＳパケットがあると判別されると、ＩＳＯパケットを生成するためのＩＳＯヘッダを作成する。ヘッダ作成回路１４２が作成したＩＳＯヘッダは、ＳＲＡＭ１６０のアイソクロナスヘッダ領域に格納される。
【０１１８】
送信制御回路１４４は、ＳＲＡＭ１６０のアイソクロナスヘッダ領域に、ヘッダ作成回路１４２によって作成されたＩＳＯヘッダがあるか否かを検出する。ＳＲＡＭ１６０にアイソクロナスヘッダ領域にＩＳＯヘッダがあると検出されたとき、送信制御回路１４４は、アイソクロナス領域から当該ＩＳＯヘッダを読み出すと共に、アイソクロナス送信データ領域からデータ（ＴＳパケット）を読み出す。そして、送信制御回路１４４は、当該データに付加されたＳＰヘッダを、現在のサイクルタイムに送信オフセット値設定レジスタ２０８の設定値を加算した値を有するＳＰヘッダに替えて出力する。
【０１１９】
なお、ＳＲＡＭ１６０にアイソクロナス領域にＩＳＯヘッダがないと検出されたとき、送信制御回路１４４は、Nullパケット用ヘッダ領域からNullパケット用ヘッダを読み出す。そして、送信制御回路１４４は、このNullパケット用ヘッダをNullパケットとして出力する。
【０１２０】
以下、図９を参照しながらリンクコントローラ１４０の動作について説明する。
【０１２１】
図１６に、Nullパケットを送信する場合のリンクコントローラ１４０の動作例のタイミング図を示す。
【０１２２】
まず処理部１９０から自動転送イネーブルを受け取ると、ヘッダ作成回路１４２が動作を開始する。図１６では、自動転送イネーブルによってイネーブル状態に設定されているものとする。
【０１２３】
この状態において、ヘッダ作成回路１４２がＩＳＯパケット転送完了信号を受け取るとアイソクロナスヘッダの生成を開始する。ＩＳＯパケット転送完了信号は、当該ＩＳＯサイクルにおいてＩＳＯ送信シーケンサ３３０のタイミング制御に基づいてＩＳＯパケットの転送が完了したときにアクティブとなる。
【０１２４】
ＩＳＯパケット転送完了信号を受け取ったヘッダ生成コントローラ３１０のシーケンサ３１２は、ポインタコントローラ１７０からのＳＲＡＭ内データ残量情報に基づいて、ＳＲＡＭ１６０内に格納されるＴＳパケットが１パケット以上であるか否かを判別する（Ｅ１）。
【０１２５】
ＳＲＡＭ１６０内に格納されるＴＳパケットが１パケット未満のとき、シーケンサ３１２がNextNullを有効にして、ヘッダ読み出しスタート信号をアクティブにする（Ｅ２）。これにより、メモリアクセス制御部３００のヘッダアクセスコントローラ３０２は、図１４で説明したようにＳＲＡＭ１６０のNullパケット用ヘッダ領域からヘッダを読み出す（Ｅ３）。
【０１２６】
次に、ヘッダアクセスコントローラ３０２は、読み出したNullパケット用ヘッダ領域をＳＲＡＭ１６０のアイソクロナスヘッダ領域に書き込む（Ｅ４）。ヘッダアクセスコントローラ３０２は、ヘッダ書き込み終了をアクティブにしてシーケンサ３１２に通知する。
【０１２７】
そして、サイクルスタートパケットを受けてアイソサイクルスタート信号がアクティブとなると（Ｅ５）、次のＩＳＯサイクルが開始される。ＩＳＯ送信シーケンサ３３０は、ＲＡＭ制御信号生成部３２０を介してＳＲＡＭ１６０のアイソクロナスヘッダ領域からヘッダを読み出して、必要に応じてデータレングスを書き換えてNullパケットとして送信する（Ｅ６）。Nullパケットであるため、データを含まない。
【０１２８】
図１７に、ＩＳＯパケットを送信する場合のリンクコントローラ１４０の動作例のタイミング図を示す。図１７においても、自動転送イネーブルによってイネーブル状態に設定されているものとする。
【０１２９】
当該ＩＳＯサイクルにおいて例えばNullパケットの送信を完了すると、ＩＳＯ送信シーケンサ３３０がＩＳＯパケット転送完了信号をアクティブにする。ＩＳＯパケット転送完了信号を受け取ったヘッダ生成コントローラ３１０のシーケンサ３１２は、ポインタコントローラ１７０からのＳＲＡＭ内データ残量情報に基づいて、ＳＲＡＭ１６０内に格納されるＴＳパケットが１パケット以上であるか否かを判別する（Ｅ１０）。
【０１３０】
ＳＲＡＭ１６０内に格納されるＴＳパケットが１パケット以上のとき、シーケンサ３１２がNextNullを無効にして、ヘッダ読み出しスタート信号をアクティブにする（Ｅ１１）。これにより、メモリアクセス制御部３００のヘッダアクセスコントローラ３０２は、図１４で説明したようにＳＲＡＭ１６０の自動転送用ヘッダ領域からヘッダの基本情報を読み出す（Ｅ１２）。
【０１３１】
ヘッダ生成コントローラ３１０の転送データ長計算部３１４は、ＳＲＡＭ内データ残量情報を用いて、次のＩＳＯサイクルで転送できるＩＳＯパケットのデータ長を求める。メモリアクセス制御部３００のヘッダ書き換え部３０４は、転送データ長計算部３１４からの転送データ長を用いて自動転送用ヘッダから読み出したヘッダの基本情報を書き換える。そして、ヘッダアクセスコントローラ３０２は、書き換え後のヘッダをＳＲＡＭ１６０のアイソクロナスヘッダ領域に書き込む（Ｅ１３）。ヘッダアクセスコントローラ３０２は、ヘッダ書き込み終了をアクティブにしてシーケンサ３１２に通知する。
【０１３２】
そして、サイクルスタートパケットを受けてアイソサイクルスタート信号がアクティブとなると（Ｅ１４）、次のＩＳＯサイクルが開始される。ＩＳＯ送信シーケンサ３３０は、ＲＡＭ制御信号生成部３２０を介してＳＲＡＭ１６０のアイソクロナスヘッダ領域からヘッダを読み出して、ＳＲＡＭ１６０のアイソクロナス送信データ領域からデータを読み出してＩＳＯパケットを生成し、ＩＳＯパケットとして送信する（Ｅ１５）。
【０１３３】
以上のように、本実施形態では、パケットが受信側に到着した直後にサイクルタイムがＳＰヘッダの値に一致するようになり、転送データの確実な時間管理を実現し、データ転送に伴う処理負荷の軽減及び低コスト化を図ることができるようになる。
【０１３４】
なお、上述したように所定の送信オフセット値を現在のサイクルタイムに加算するようにしてもよいが、より正確には以下のようにＳＰヘッダを置換することが望ましい。即ち、ＳＰＨ付加回路１１４に付加されたタイムスタンプ情報（第１のタイムスタンプ情報）とサイクルタイマ１５０の現在のサイクルタイムとに基づいて、現在のサイクルタイムにおいて付加すべき第２のタイムスタンプ情報を求め、該第２のタイムスタンプ情報を、出力タイムスタンプ情報として入力タイムスタンプ情報に替えて設定する。これにより、送信オフセット値で現在のサイクルタイムに対して一定のオフセット値を持たせる場合に比べて、より細かい時間管理を実現できるようになる。
【０１３５】
２．２  ＳＰヘッダ比較モード
図１８に、ＳＰヘッダ比較モードに設定されたデータ転送制御装置１００の動作例の概要のフローを示す。
【０１３６】
まずデータ転送制御装置１００が、転送イネーブル設定レジスタによりイネーブル状態に設定される（ステップＳ２０）。ここで、ＳＰＨロード設定レジスタ２０４によりＳＰＨロード設定がイネーブル状態に設定されたか、ディスエーブル状態に設定されたかを判別する（ステップＳ２１）。
【０１３７】
ＳＰＨロード設定がイネーブル状態に設定されたとき（ステップＳ２１：Ｙ）、ＳＲＡＭ１６０内の先頭パケットのＳＰヘッダのサイクルカウントを比較値として設定する（ステップＳ２２）。この比較値は、転送開始ＳＰＨ設定レジスタ２０６に設定される。
【０１３８】
一方、ＳＰＨロード設定がディスエーブル状態に設定されたとき（ステップＳ２１：Ｎ）、ファームウェアで指定された値を比較値として設定する（ステップＳ２３）。この比較値もまた、転送開始ＳＰＨ設定レジスタ２０６に設定される。
【０１３９】
なお転送イネーブル設定後に、ストリームＩ／Ｆ回路１１０を介してＴＳパケットを受け付け、ＳＲＡＭ１６０に格納される。
【０１４０】
そして、ステップＳ２２又はステップＳ２３の後は、リンクコントローラ１４０が、ＳＲＡＭ１６０のデータ残量が、最大連結パケット数以上であるか否かを判別する（ステップＳ２４）。最大連結パケット数は、最大連結パケット数設定レジスタ２０２に設定される。
【０１４１】
ＳＲＡＭ１６０のデータ残量が最大連結パケット数以上のとき（ステップＳ２４：Ｙ）、ＳＲＡＭ１６０のアイソクロナスデータ領域に格納された各ＴＳパケットに付加されるＳＰヘッダを参照し、比較値と一致するサイクルカウントを有するＳＰヘッダが付加されたＴＳパケットがあるか否かを検出する（ステップＳ２５）。
【０１４２】
ステップＳ２４においてデータ残量が最大連結パケット数に満たないとき（ステップＳ２４：Ｎ）、Nullパケットデータを生成する（ステップＳ２６）。
【０１４３】
ステップＳ２５においてＳＲＡＭ１６０のアイソクロナスデータ領域に比較値と一致するサイクルカウントを有するＳＰヘッダが付加されたＴＳパケットがないと検出されたとき（ステップＳ２５：Ｎ）、比較値をインクリメントした後に（ステップＳ２７）、Nullパケットデータを生成する（ステップＳ２６）。
【０１４４】
ステップＳ２５において、ＳＲＡＭ１６０のアイソクロナスデータ領域に比較値と一致するサイクルカウントを有するＳＰヘッダが付加されたＴＳパケットがあると検出されたとき（ステップＳ２５：Ｙ）、比較値と不一致のサイクルカウントを有するＳＰヘッダが付加されたＴＳパケットがあることを条件に（ステップＳ２８：Ｙ）、比較値をインクリメントする（ステップＳ２９）。
【０１４５】
ステップＳ２９の後、又はステップＳ２８において比較値と不一致のサイクルカウントを有するＳＰヘッダが付加されたＴＳパケットがないとき（ステップＳ２８：Ｎ）、ＩＳＯパケット用のヘッダを作成し（ステップＳ３０）、現在のサイクルタイムにオフセット値だけ先行させた値をサイクルカウントとして有するＳＰヘッダに替えて設定されたＩＳＯパケットを生成する（ステップＳ３１）。
【０１４６】
ステップＳ２６又はステップＳ３１の後は、次のＩＳＯサイクルになったとき（ステップＳ３２：Ｙ）、ステップＳ３１で生成したＩＳＯパケット又はステップＳ２６のNullパケットを送信する（ステップＳ３３）。
【０１４７】
その後、所定の終了条件を満たすとき（ステップＳ３４：Ｙ）、一連の処理を終了する（エンド）。所定の終了条件を満たさないとき（ステップＳ３４：Ｎ）、ステップＳ２４に戻る。
【０１４８】
データ転送制御装置１００の各回路又は各ユニット（部）は、以上のような処理を独立に、又は処理部１９０の制御下で動作する。
【０１４９】
ＳＰヘッダ比較モードにおいても、ＳＲＡＭ１６０のデータ残量を求めてデータ転送すべきか否かを判別するデータ残量確認処理は、ＩＳＯサイクル期間のアイソクロナス転送の後に行う。そして、当該ＩＳＯサイクル期間内のデータ残量確認処理後に、ＩＳＯパケットのヘッダ作成処理を行う。
【０１５０】
図１９に、ＳＰヘッダ比較モードの説明図を示す。図１９において、図８又は図１２と同一部分には同一符号を付し、適宜説明を省略する。
【０１５１】
ＳＰヘッダ比較モードに設定されたデータ転送制御装置１００は、ＩＥＥＥ１３９４バスと記録媒体との間に設けられる。従って、記録媒体としてのＨＤＤやＤＶＤの記録・再生装置にＭＰＥＧ２ＴＳを記録する場合、データ転送制御装置１００に接続されたＩＥＥＥ１３９４バスを介して転送されたパケットか、ストリームＩ／Ｆ回路１１０を介して受信したストリームのパケットかのいずれかである。ＩＥＥＥ１３９４バスを介して転送されたパケットは、ＩＥＣ６１８８３規格に準拠して、ＳＰヘッダが既に付加されている。ストリームＩ／Ｆ回路１１０を介して受信されたストリームのパケットには、ＳＰＨ付加回路１１４によってＳＰヘッダが付加されている。そのため、記録媒体にＭＰＥＧ２ＴＳを記録する場合、データ転送制御装置１００はＩＤＥＩ／Ｆ回路１２０を介してそのまま出力する。このとき、データ転送制御装置１００の外部にＳＤＲＡＭＩ／Ｆ回路１３０を介して接続されたＳＤＲＡＭ３８０（広義にはバッファメモリ）に書き込むべきパケットデータを蓄積し、ＳＤＲＡＭ３８０からＩＤＥ／ＩＦ回路１２０を介して記録媒体に書き込むことが望ましい。例えば記録媒体がＨＤＤの場合、バースト的にデータ書き込みを行わないと、シーク時間等の増加によって書き込み時間が長くなってしまう。
【０１５２】
これに対して、記録媒体としてのＨＤＤやＤＶＤの記録・再生装置からＭＰＥＧ２ＴＳを読み出して再生する場合は、以下のように行う。この場合、記録媒体から読み出したＭＰＥＧ２ＴＳを、ＳＤＲＡＭＩ／Ｆ回路１３０を介して外部に接続されたＳＤＲＡＭ３８０にバッファリングする。
【０１５３】
図２０に、データ転送制御装置１００において記録媒体としてのＨＤＤから読み出されたデータがＳＤＲＡＭ３８０に転送されるときの動作説明図を示す。
【０１５４】
ＨＤＤから読み出したＭＰＥＧ２ＴＳを再生する場合、記録時と同様にある程度大きなデータ単位でＳＤＲＡＭ３８０にデータを書き込む。こうすることで、シーク時間の長短に応じて、アイソクロナスデータとして途切れることのないＴＳパケットをＳＲＡＭ１６０に供給できる。
【０１５５】
図２０では、サイクルタイムが５０００のときに、ＨＤＤから読み出されたデータのＳＰヘッダのサイクルカウントが２５００、２５０１、２５０２、２５０３のデータが読み出されている。このように、ＨＤＤから読み出されるデータのＳＰヘッダとサイクルタイマ１５０がカウントするサイクルタイムとは全く無関係である。これは、記録時等において付加されていたＳＰヘッダのサイクルカウントと再生時のサイクルタイムとは何ら関係がないからである。しかも、ＭＰＥＧ２ＴＳの帯域に対し、ＨＤＤからのデータの読み出し時間がはるかに高速であるため、記録時等において付加されていたＳＰヘッダのサイクルカウントと再生時のサイクルタイムとを関連付けることができない。
【０１５６】
このようにしてＳＤＲＡＭ３８０に書き込まれたＭＰＥＧ２ＴＳは、ＳＲＡＭ１６０に転送される。この転送は、例えばＳＤＲＡＭＩ／Ｆ回路１３０が含むＤＭＡ（Direct Memory Access）制御回路によって制御されるＤＭＡ転送であることが望ましい。
【０１５７】
図２１に、データ転送制御装置１００においてＳＤＲＡＭ３８０からＳＲＡＭ１６０に転送されるときの動作説明図を示す。
【０１５８】
ここでは、サイクルタイムが６５００のときに、ＳＤＲＡＭ３８０からＳＰヘッダのサイクルカウントが２５００、２５０１、２５０２、２５０３のデータが読み出され、ＳＲＡＭ１６０に書き込まれている。このように、ＳＤＲＡＭ３８０に蓄積されたデータがＤＭＡ転送によってＳＲＡＭ１６０に書き込まれる場合も、サイクルタイマ１５０のサイクルタイムとＴＳパケットに付加されたＳＰヘッダのサイクルカウントとは関係がない。
【０１５９】
ＳＲＡＭ１６０に蓄積されたデータは、そのＳＰヘッダが参照され、比較値と一致したサイクルカウントを有するＳＰヘッダが付加されたデータ群が読み出されてＩＳＯパケットに構築されて送信される。
【０１６０】
図２２に、データ転送制御装置１００においてＳＲＡＭ１６０からＩＥＥＥ１３９４バスに転送されるときの動作説明図を示す。
【０１６１】
例えばサイクルタイマ１５０のサイクルタイムが６５００のとき転送を開始する場合、比較値である２５００と一致するサイクルカウントを有するＳＰヘッダが付加された２つのＴＳパケットが連結されて出力される。この際、ＳＰヘッダは、２５００にオフセット値４００６を加算した６５０６をサイクルカウントとするＳＰヘッダに置き換えられる。これは、現在のサイクルタイムを基準にオフセット値５だけ先行したサイクルカウントを有するＳＰヘッダに置き換えるということもできる。そして、サイクルタイムが６５０１に、この２つのＴＳパケットがＩＥＥＥ１３９４バスに出力される。
【０１６２】
次のＩＳＯサイクルでは、比較値がインクリメントされて２５０１に更新される。従って、比較値である２５０１と一致するサイクルカウントを有するＳＰヘッダが付加された２つのＴＳパケットが連結されて出力される。この際、ＳＰヘッダのサイクルカウントは、６５０１を初期値としてインクリメントした値とすることができる。また、ＳＰヘッダのサイクルカウントは、元のＳＰヘッダのサイクルカウントにオフセット値４００６を加算した値としてもよい。要は、ＳＰヘッダのサイクルカウントは、現在のサイクルタイムを基準に５だけ先行した値であればよい。
【０１６３】
なお最大連結パケット数を変更することで、１つのＩＳＯサイクル中に比較値と一致するサイクルカウントを有するＳＰヘッダが付加されたＴＳパケット数が２以上存在しても、１つだけを送信し、残りを次のＩＳＯサイクルで転送することも可能である。
【０１６４】
以下、図９を参照しながら、ＳＰヘッダ比較モードにおけるリンクコントローラ１４０の動作について説明する。
【０１６５】
図２３に、ＳＰヘッダ比較モードにおけるリンクコントローラ１４０の動作例のタイミング図を示す。
【０１６６】
図２３においても、自動転送イネーブルによってイネーブル状態に設定されているものとする。この状態において、ＩＳＯパケット転送完了信号を受け取るとアイソクロナスヘッダの生成を開始する。
【０１６７】
当該ＩＳＯサイクルにおいて例えばNullパケットの送信を完了すると、ＩＳＯ送信シーケンサ３３０がＩＳＯパケット転送完了信号をアクティブにする。ＩＳＯパケット転送完了信号を受け取ったヘッダ生成コントローラ３１０のシーケンサ３１２は、ポインタコントローラ１７０からのＳＲＡＭ内データ残量情報に基づいて、ＳＲＡＭ１６０内に格納されるＴＳパケットが１パケット以上であるか否かを判別する（Ｅ２０）。
【０１６８】
ＳＲＡＭ１６０内に格納されるＴＳパケットが１パケット以上のとき、シーケンサ３１２は、ＳＰＨ読み出しスタート信号をアクティブにしてメモリアクセス制御部３００に出力する（Ｅ２１）。
【０１６９】
ＳＰＨ読み出しスタート信号を受けたメモリアクセス制御部３００のヘッダアクセスコントローラ３０２は、ＳＲＡＭ１６０のアイソクロナス送信データ領域に格納されたＴＳパケットに付加されたＳＰヘッダを読み出す（Ｅ２２）。ヘッダ生成コントローラ３１０のＳＰＨ比較部３１６は、読み出したＳＰヘッダ（のサイクルカウント）が転送開始ＳＰＨ設定レジスタ２０６に設定された比較値CompaCountと一致するか否を判定する。
【０１７０】
読み出したＳＰヘッダ（のサイクルカウント）が比較値CompaCountと一致したと判定されたとき、ＳＰＨＯＫ信号をアクティブにしてシーケンサ３１２に出力し（Ｅ２３）、転送データ長計算部３１４に供給されるＳＰＨ一致回数信号をインクリメントする。
【０１７１】
シーケンサ３１２は、ＳＲＡＭ内データ残量情報に基づいて、次に読み出し可能なＳＰヘッダがＳＲＡＭ１６０にあるか否かを判別する。そして、次に読み出し可能なＳＰヘッダがあると判別されたとき、シーケンサ３１２は再度ＳＰＨ読み出しスタート信号をアクティブにする（Ｅ２４）。そして、同様にしてヘッダアクセスコントローラ３０２は、ＳＲＡＭ１６０のアイソクロナス送信データ領域に格納されたパケットのＳＰヘッダを読み出す（Ｅ２５）。更にＳＰＨ比較部３１６は、読み出したＳＰヘッダが比較値CompaCountと一致したと判定したとき、ＳＰＨＯＫ信号をアクティブにしてシーケンサ３１２に出力し（Ｅ２６）、転送データ長計算部３１４に供給されるＳＰＨ一致回数信号をインクリメントする。
【０１７２】
またシーケンサ３１２は、ＳＲＡＭ内データ残量情報に基づいて、次に読み出し可能なＳＰヘッダがＳＲＡＭ１６０にあるか否かを判別する。そして、次に読み出し可能なＳＰヘッダがあると判別されたとき、シーケンサ３１２は再度ＳＰＨ読み出しスタート信号をアクティブにする（Ｅ２７）。そして、ヘッダアクセスコントローラ３０２は、ＳＲＡＭ１６０のアイソクロナス送信データ領域に格納されたパケットのＳＰヘッダを読み出す（Ｅ２８）。
【０１７３】
次に読み出し可能なＳＰヘッダがＳＲＡＭ１６０にないと判別されるまで、或いはＳＰＨ比較部３１６において、読み出したＳＰヘッダが比較値CompaCountとが不一致と判定されるまで、同様の処理を繰り返す。
【０１７４】
例えばＳＰＨ比較部３１６において、読み出したＳＰヘッダが比較値CompaCountと不一致と判定されたとき、転送データ長計算部３１４は、ＳＰＨ一致回数信号の値により、次のＩＳＯサイクルで転送可能なデータ数を算出する。即ち転送データ長計算部３１４は、１９２バイト×ＳＰＨ一致回数を、転送データ長として求める。
【０１７５】
その後、シーケンサ３１２はNextNullを無効にして、ヘッダ読み出しスタート信号をアクティブにする（Ｅ２９）。これにより、メモリアクセス制御部３００のヘッダアクセスコントローラ３０２は、図１４で説明したようにＳＲＡＭ１６０の自動転送用ヘッダ領域からヘッダの基本情報を読み出す（Ｅ３０）。
【０１７６】
ヘッダ書き換え部３０４は、転送データ長計算部３１４からの転送データ長を用いて自動転送用ヘッダの基本情報を書き換える。そして、ヘッダアクセスコントローラ３０２は、書き換え後のヘッダをＳＲＡＭ１６０のアイソクロナスヘッダ領域に書き込む（Ｅ３１）。ヘッダアクセスコントローラ３０２は、ヘッダ書き込み終了をアクティブにしてシーケンサ３１２に通知する。
【０１７７】
そして、サイクルスタートパケットを受けてアイソサイクルスタート信号がアクティブとなると（Ｅ３２）、次のＩＳＯサイクルが開始される。ＩＳＯ送信シーケンサ３３０は、ＲＡＭ制御信号生成部３２０を介してＳＲＡＭ１６０のアイソクロナスヘッダ領域からヘッダを読み出して、ＳＲＡＭ１６０のアイソクロナス送信データ領域からデータを読み出してＩＳＯパケットを生成し、ＩＳＯパケットとして送信する（Ｅ３３）。
【０１７８】
なお先頭のＳＰヘッダが比較値CompaCountと不一致のとき、転送データ長が０となり、次のＩＳＯサイクルで転送可能なデータはないと判断され、上述のようにNullパケットが転送される。即ち、比較値とＳＲＡＭ１６０に蓄積されたデータに含まれるタイムスタンプ情報とを比較し、該比較値と一致するタイムスタンプ情報を含むデータが検出されなかったとき、空パケットを転送先に出力する。
【０１７９】
以上のように本実施形態におけるデータ転送制御装置１００は、転送モード設定レジスタ２００を含む。そして、転送モード設定レジスタ２００によりデータ残量比較モード（第１のモード）に切り替えられたとき、リンクコントローラ１４０が、ＴＳパケット（パケットデータ）をバス（転送先）に出力する際に、サイクルタイマ１５０の現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を、ＴＳパケットに付加できる。
【０１８０】
或いは、データ残量比較モードでは、例えばＴＳパケットがデータ転送制御装置１００に入力されたときのサイクルタイマ１５０のサイクルタイムに対応した入力タイムスタンプ情報をＴＳパケットに付加する。その後、リンクコントローラ１４０が、入力タイムスタンプ情報として付加されたサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した第１のタイムスタンプ情報を、出力タイムスタンプ情報として、ＴＳパケットをバスに出力する際に入力タイムスタンプ情報に替えて設定することができる。
【０１８１】
また転送モード設定レジスタ２００によりＳＰヘッダ比較モード（第２のモード）に切り替えられたとき、リンクコントローラ１４０が、ＳＲＡＭ１６０に蓄積され入力タイムスタンプ情報が付加されたＴＳパケットに付加されたタイムスタンプ情報と比較値とを比較する。そして、比較値と一致するタイムスタンプ情報を含むデータ群に対し、サイクルタイマ１５０の現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報を付加してＴＳパケットを生成すると共に、該パケットデータを現在のサイクルタイムにおいてバス（転送先）に出力する。ここで、比較値と不一致のタイムスタンプ情報が検出されたときには、比較値を更新する。そして、現在のサイクルタイムの次のサイクルタイムにおいて、更新された比較値とＳＲＡＭ１６０に蓄積されたデータに含まれるタイムスタンプ情報とを比較することができる。
【０１８２】
これにより、当初からタイムスタンプ情報が付加されている記録媒体からのパケットデータの転送をする場合であっても、転送先側でバッファリングを行うのに適したタイミングで送信することができるようになる。
【０１８３】
ここで、ＳＰヘッダ比較モードにおいてもデータ残量比較モードと同様に、比較値と一致するタイムスタンプ情報を含むデータ群に対してヘッダ情報を作成することが望ましい。そして比較値の更新処理は、比較値と不一致のタイムスタンプ情報を含むデータが検出されたことを条件に行うことが望ましい。更にＳＲＡＭ１６０に蓄積されたデータのタイムスタンプ情報を、サイクルタイマ１５０の現在のサイクルタイムを基準にオフセット値だけ先行したサイクルタイムに対応した出力タイムスタンプ情報に置き換えて、ＴＳパケットを生成してＩＥＥＥ１３９４バスに出力することが望ましい。
【０１８４】
３．  電子機器
次に、本実施形態のデータ転送制御装置を含む電子機器の例について説明する。
【０１８５】
図２４に、本実施形態におけるデータ転送制御装置が適用された電子機器としてのデジタル放送受信装置の構成例のブロック図を示す。図２４において、図８に示すデータ転送制御装置１００と同一部分には同一符号を付し、適宜説明を省略する。
【０１８６】
デジタル放送受信装置４００は、ＢＳデジタル放送として配信されたＭＰＥＧ２ストリームを、アンテナ４２０を介して受信する。そしてＭＰＥＧ２ストリームをデコードして表示装置４３０に出力したり、ＭＰＥＧ２ストリームの一部のパーシャルストリームを表示装置４３０が内蔵するＨＤＤ４３２に出力したり、或いは該パーシャルストリームをＨＤＤレコーダ４４０に転送したりできる。
【０１８７】
デジタル放送受信装置４００は、本実施形態のデータ転送制御装置１００、ＲＦ・復調部（受信回路）４０２、デコーダ４０４、１３９４ＰＨＹチップ４０６を含むことができる。なおデジタル放送受信装置４００は、図２４のすべての回路、ユニット（部）を含む必要はなく、その一部を省略する構成であってもよい。
【０１８８】
デジタル放送受信装置４００に適用されるデータ転送制御装置１００は、データ残量比較モードでデータ転送を制御する。そのため、図２４では、図８のデータ転送制御装置１００の一部のみを図示している。
【０１８９】
アンテナ４２０を介して受信されたＭＰＥＧ２ストリームは、ＲＦ・復調部４０２で復調されて、ＭＰＥＧ２ＴＳのマルチストリームとしてデータ転送制御装置１００及びデコーダ４０４に供給される。
【０１９０】
表示装置４３０にＭＰＥＧ２ストリームのリアルタイム画像を表示させる場合、デコーダ４０４がデコードした結果を表示装置４３０に出力する。
【０１９１】
表示装置４３０が内蔵するＨＤＤ４３２に記録する場合、データ転送制御装置１００がストリームＩ／Ｆ回路１１０を介してＭＰＥＧ２ＴＳのマルチストリームを取り込み、ＰＩＤフィルタ１８０でＭＰＥＧ２ＴＳのパーシャルストリームを抽出し、ＩＤＥＩ／Ｆ回路１２０を介してＨＤＤ４３２に出力する。
【０１９２】
ＨＤＤレコーダ４４０に記録する場合、データ転送制御装置１００が、ＰＩＤフィルタ１８０で抽出したＭＰＥＧ２ＴＳのパーシャルストリームをＳＲＡＭ１６０にバッファリングし、リンクコントローラ１４０を介して１３９４ＰＨＹチップ４０６に出力する。１３９４ＰＨＹチップは、ＩＥＥＥ１３９４バスを介してＨＤＤレコーダ４４０にＴＳパケットを転送する。従って、ＲＦ・復調部４０２によって受信されたパケットデータのストリームが、データ転送制御装置１００により、ＩＥＥＥ１３９４バスを介して記録媒体を有するＨＤＤレコーダ４４０に転送される。
【０１９３】
なお図２４において、デジタル放送受信装置４００が表示装置４３０を含む場合、本実施形態におけるデータ転送制御装置１００をデジタル放送表示装置に適用できるということができる。
【０１９４】
このようなデジタル放送受信装置によれば、確実なＴＳパケットの時間管理の下、処理負荷が軽減されて低コスト化を実現できる。
【０１９５】
図２５に、本実施形態におけるデータ転送制御装置が適用された電子機器としての記録・再生装置の構成例のブロック図を示す。図２５において、図８に示すデータ転送制御装置１００と同一部分には同一符号を付し、適宜説明を省略する。
【０１９６】
記録・再生装置５００は、ＡＶデータの記録・再生を実現する。即ち、アンテナ５２０を介して受信されたＭＰＥＧ２ストリームを内蔵するＨＤＤ５１０に記録したり、ＨＤＤ５１０に記録したＭＰＥＧ２ストリームを再生できる。
【０１９７】
記録・再生装置５００は、本実施形態のデータ転送制御装置１００、ＨＤＤ５１０、ＳＤＲＡＭ（広義にはバッファメモリ）３８０、１３９４ＰＨＹチップ４０６を含むことができる。なお記録・再生装置５００は、図２５のすべての回路、ユニット（部）を含む必要はなく、その一部を省略する構成であってもよい。
【０１９８】
記録・再生装置５００に適用されるデータ転送制御装置１００は、ＳＰヘッダ比較モードでデータ転送を制御する。そのため、図２５では、図８のデータ転送制御装置１００の一部のみを図示している。
【０１９９】
アンテナ５２０を介して受信されたＭＰＥＧ２ストリームは、表示装置（例えばデジタルＴＶ装置）５３０でデコードされ、デコード結果に対応した画像がデジタル放送として表示される。表示装置５３０に供給されたＭＰＥＧ２ストリームは、ＩＥＥＥ１３９４バスを介して記録・再生装置５００に転送される。
【０２００】
記録・再生装置５００では、１３９４ＰＨＹチップ４０６を介してＩＥＥＥ１３９４バス上のＴＳパケットがデータ転送制御装置１００に供給される。
【０２０１】
ＭＰＥＧ２ストリームをＨＤＤ（広義には記録媒体）５１０に記録する場合、データ転送制御装置１００では、ＴＳパケットが一旦ＳＲＡＭ１６０に格納される。そして、ＳＤＲＡＭＩ／Ｆ回路１３０を介してＳＤＲＡＭ３８０にバッファリングされた後、再びＳＤＲＡＭＩ／Ｆ回路１３０及びＩＤＥＩ／Ｆ回路１２０を介してＨＤＤ５１０に対してＤＭＡ転送される。
【０２０２】
ＨＤＤ５１０に格納されたＭＰＥＧ２ストリームを再生する場合、データ転送制御装置１００では、ＨＤＤ５１０から読み出されたＭＰＥＧ２ストリームは、ＩＤＥＩ／Ｆ回路１２０及びＳＤＲＡＭＩ／Ｆ回路１３０を介して、一旦ＳＤＲＡＭ３８０にＤＭＡ転送されてバッファリングされる。その後、データ転送制御装置１００は、ＳＤＲＡＭ３８０から読み出したデータを、ＳＤＲＡＭＩ／Ｆ回路１３０を介してＳＲＡＭ１６０に格納する。そして、ＳＲＡＭ１６０に格納されたデータのＳＰヘッダを参照しながら、順次ＩＥＥＥ１３９４バスを介してＩＳＯパケットを転送する。表示装置５３０は、ＩＳＯパケットを取り込んでデコードし、デコード結果に対応した画像を表示する。
【０２０３】
以上のように、ＨＤＤ５１０は、データ転送制御装置１００を介してＩＥＥＥ１３９４バスに接続される。そして、データ転送制御装置１００が、ＩＥＥＥ１３９４バスを介して入力されたデータをＨＤＤ５１０に出力して記録させ、或いはＨＤＤ５１０から読み出したデータをＩＥＥＥ１３９４バスを介して出力することができる。
【０２０４】
このような記録・再生装置によれば、確実なＴＳパケットの時間管理の下、デコード側に適したタイミングで送信できると共に、処理負荷が軽減されて低コスト化を実現できる。
【０２０５】
なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。
【０２０６】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０２０７】
また、明細書又は図面中の記載において広義な用語（転送コントローラ、パケットデータ等）として引用された用語（ヘッダ作成回路又はパケット生成回路、ＴＳパケット等）は、明細書又は図面中の他の記載においても広義な用語に置き換えることができる。
【０２０８】
本実施形態では、アイソクロナス転送を行う場合について説明したが、本発明はこれに限定されない。例えばアシンクロナス転送を行う場合にも適用できる。
【０２０９】
また本実施形態では、タイムスタンプ情報としてＳＰヘッダのサイクルカウントを例に説明したが、本発明はこれに限定されない。例えばタイムスタンプ情報として、ＳＰヘッダのサイクルカウントに加えてサイクルオフセットを含めて付加、設定又は張り替えを行ってもよい。
【０２１０】
更に本実施形態では、ＴＳパケットを例に説明したが本発明はこれに限定されない。
【０２１１】
更にまた本実施形態では、ＭＰＥＧ規格（ＭＰＥＧ２、ＭＰＥＧ４）のデータをＩＥＥＥ１３９４規格のバス（インタフェース）で転送する場合について説明したが、本発明はこれに限定されない。例えばＭＰＥＧ（ＭＰＥＧ２、ＭＰＥＧ４）と同様の思想に基づく規格やＭＰＥＧを発展させた規格のデータを、ＩＥＥＥ１３９４と同様の思想に基づく規格やＩＥＥＥＥ１３９４を発展させた規格のバスで転送する場合にも本発明を適用できる。また、例えばＭＰＥＧ等の符号化データをＵＳＢ（Universal Serial Bus）のアイソクロナス転送で転送する場合にも本発明を適用できる。
【０２１２】
更にまた本実施形態では、ＩＥＥＥ１３９４等の汎用高速シリアルインタフェースを用いるものとして説明したが、本発明はこれに限定されない。例えば、無線伝送路を介したデータ転送を制御するデータ転送制御装置にも本発明を適用できる。
【図面の簡単な説明】
【０２１３】
【図１】本実施形態のデータ転送制御装置が適用されたシステムの構成例を示す図。
【図２】ＢＳデジタル放送、データ転送制御装置及びＩＥＥＥ１３９４バスにおけるデータ構造の説明図。
【図３】ＴＳパケットのフォーマットの一例を示す図。
【図４】ＭＰＥＧストリームの構造の説明図。
【図５】図５（Ａ）〜（Ｄ）は、ＳＰヘッダ、ＣＩＰヘッダ及びＩＳＯヘッダのフォーマットの一例を示す図。
【図６】ＩＳＯ転送の説明図。
【図７】ＩＳＯパケットとＳＰヘッダのサイクルカウントとの関係の説明図。
【図８】本実施形態のデータ転送制御装置の構成例のブロック図。
【図９】図８のリンクコントローラの構成例のブロック図。
【図１０】データ残量比較モードに設定されたデータ転送制御装置の動作例のフロー図。
【図１１】本実施形態におけるデータ転送制御装置の処理タイミングの説明図。
【図１２】本実施形態におけるデータ残量比較モードの説明図。
【図１３】図１３（Ａ）はＳＰＨ付加回路の動作説明図。図１３（Ｂ）はＰＩＤフィルタ後のＴＳパケットの説明図。
【図１４】ＳＲＡＭのメモリマップの一例を示す図。
【図１５】データ残量比較モードにおいてＳＲＡＭに格納されたパケットデータの送信動作の説明図。
【図１６】データ残量比較モードにおいてNullパケットを送信する場合のリンクコントローラの動作例のタイミング図。
【図１７】データ残量比較モードにおいてＩＳＯパケットを送信する場合のリンクコントローラの動作例のタイミング図。
【図１８】ＳＰヘッダ比較モードに設定されたデータ転送制御装置の動作例のフロー図。
【図１９】本実施形態におけるＳＰヘッダ比較モードの説明図。
【図２０】ＳＰヘッダ比較モードにおいてＨＤＤから読み出されたデータがＳＤＲＡＭに転送されるときの動作説明図。
【図２１】ＳＰヘッダ比較モードにおいてＳＤＲＡＭからＳＲＡＭに転送されるときの動作説明図。
【図２２】ＳＰヘッダ比較モードにおいてＳＲＡＭからＩＥＥＥ１３９４バスに転送されるときの動作説明図。
【図２３】ＳＰヘッダ比較モードにおけるリンクコントローラの動作例のタイミング図。
【図２４】本実施形態におけるデータ転送制御装置が適用された電子機器としてのデジタル放送受信装置の構成例のブロック図。
【図２５】本実施形態におけるデータ転送制御装置が適用された電子機器としての記録・再生装置の構成例のブロック図。
【符号の説明】
【０２１４】
１０、４２０、５２０  アンテナ、  ２０  デジタル放送チューナ、
２２、１００  データ転送制御装置、  ３０  記録・再生装置、  ３２  記録媒体、
１１０  ストリームＩ／Ｆ回路、  １１２  ＳＰＨ比較出力回路、
１１４  ＳＰＨ付加回路、  １２０  ＩＤＥＩ／Ｆ回路、
１３０  ＳＤＲＡＭＩ／Ｆ回路、  １４０  リンクコントローラ、
１４２  ヘッダ作成回路、  １４４  送信制御回路、  １５０  サイクルタイマ、
１６０  ＳＲＡＭ、  １７０  ポインタコントローラ、  １８０  ＰＩＤフィルタ、
１９０  処理部、  ２００  転送モード設定レジスタ、
２０２  最大連結パケット数設定レジスタ、  ２０４  ＳＰＨロード設定レジスタ、
２０６  転送開始ＳＰＨ設定レジスタ、  ２０８  送信オフセット値設定レジスタ、
２５０  アクセス調停部、  ３００  メモリアクセス制御部、
３０２  ヘッダアクセスコントローラ、  ３０４  ヘッダ書き換え部、
３１０  ヘッダ生成コントローラ、  ３１２  シーケンサ、
３１４  転送データ計算部、  ３１６  ＳＰＨ比較部、
３２０  ＲＡＭ制御信号生成部、  ３３０  ＩＳＯ送信シーケンサ、
３４０  ＩＳＯ送信ＦＩＦＯ、  ３５０  張り替えＳＰＨ保持レジスタ、
３８０  ＳＤＲＡＭ、  ４００  デジタル放送受信装置、  ４０２  ＲＦ・復調部、
４０４  デコーダ、  ４０６  １３９４ＰＨＹチップ、  ４３０、５３０  表示装置、
４３２、５１０  ＨＤＤ、  ４４０  ＨＤＤレコーダ
【図１】
2006049948.tif 000003
【図２】
2006049948.tif 000004
【図３】
2006049948.tif 000005
【図４】
2006049948.tif 000006
【図５】
2006049948.tif 000007
【図６】
2006049948.tif 000008
【図７】
2006049948.tif 000009
【図８】
2006049948.tif 000010
【図９】
2006049948.tif 000011
【図１０】
2006049948.tif 000012
【図１１】
2006049948.tif 000013
【図１２】
2006049948.tif 000014
【図１３】
2006049948.tif 000015
【図１４】
2006049948.tif 000016
【図１５】
2006049948.tif 000017
【図１６】
2006049948.tif 000018
【図１７】
2006049948.tif 000019
【図１８】
2006049948.tif 000020
【図１９】
2006049948.tif 000021
【図２０】
2006049948.tif 000022
【図２１】
2006049948.tif 000023
【図２２】
2006049948.tif 000024
【図２３】
2006049948.tif 000025
【図２４】
2006049948.tif 000026
【図２５】
2006049948.tif 000027