(57)【特許請求の範囲】
【請求項１】
バスを介したデータ転送のためのデータ転送制御装置であって、
アイソクロナスデータを含むアイソクロナスパケットの転送数を処理部が予約するための転送数予約レジスタと、
第１のメモリからアイソクロナスパケットを読み出し、読み出されたアイソクロナスパケットを、前記転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第１のバス側に自動転送する第１のメモリアクセス制御回路と、
を含み、
第１のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、
前記ヘッダ領域が、第Ｋ、第Ｌのページ領域を含み、
前記転送数予約レジスタが、前記第Ｋ、第Ｌのページ領域での転送数を予約するための第Ｋ、第Ｌのページ用の転送数予約レジスタを含み、
前記第１のメモリアクセス制御回路が、
前記第Ｋのページ領域に書き込むべきアイソクロナスヘッダを処理部が用意している際に、前記第Ｌのページ領域に書き込まれているアイソクロナスヘッダとデータ領域に書き込まれているアイソクロナスデータとを読み出し、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、第Ｌのページ用転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第１のバス側に自動転送することを特徴とするデータ転送制御装置。
【請求項２】
請求項１において、
前記第１のメモリアクセス制御回路が、
前記転送数予約レジスタに予約された転送数が零になった場合に、次のアイソクロナス転送サイクルでの自動転送を中断すると共に、処理部に対して割り込みを発生することを特徴とするデータ転送制御装置。
【請求項３】
請求項１又は２において、
第１のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、
前記ヘッダ領域に、アイソクロナスヘッダと組みとなるアイソクロナスデータについての前記データ領域でのアドレスを指すデータポインタが書き込まれ、
前記第１のメモリアクセス制御回路が、
前記データポインタを用いて、アイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを組み立てて、第１のバス側に自動転送することを特徴とするデータ転送制御装置。
【請求項４】
請求項３において、
前記第１のメモリアクセス制御回路が、
データ領域に書き込まれるアイソクロナスデータが、アイソクロナスパケットよりも下層の複数の第２の層のパケットを含む場合に、第１のバス側に転送する第２の層のパケットと転送しない第２の層のパケットとを、前記データポインタを用いて選別することを特徴とするデータ転送制御装置。
【請求項５】
請求項４において、
前記第１のメモリアクセス制御回路が、
記憶媒体の特殊再生時に、前記データポインタを用いてＩピクチャを含む第２の層のパケットを選別し、選別された第２の層のパケットを第１のバス側に自動転送することを特徴とするデータ転送制御装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記アイソクロナスパケットよりも下層の第１の層のパケットのペイロードの連結により第２の層のパケットが構成される場合に、該第２の層のパケットのヘッダ情報を検出するヘッダ情報検出回路と、
前記第２の層のパケットのペイロードのピクチャ情報を検出するピクチャ情報検出回路と、
前記ヘッダ情報検出回路で検出されたヘッダ情報と前記ピクチャ情報検出回路で検出されたピクチャ情報とを前記処理部に表示する情報インディケータレジスタと、
を含み、
前記第１のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、
前記ヘッダ情報及びピクチャ情報に基づき前記処理部により選別された前記第１の層のパケットについての前記データ領域でのアドレスを指すデータポインタが、前記ヘッダ領域のアイソクロナスヘッダに書き込まれ、
前記第１のメモリアクセス制御回路が、
前記データポインタを用いて、前記アイソクロナスヘッダと前記選別された第１の層のパケットとを含むアイソクロナスパケットを組み立てて、前記第１のバス側に自動転送することを特徴とするデータ転送制御装置。
【請求項７】
請求項１乃至６のいずれかにおいて、
記憶媒体が接続される第２のバス側から転送されるアイソクロナスデータを、第１のメモリよりも大容量の第２のメモリに書き込む第３のメモリアクセス制御回路と、
前記第２のメモリに書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータを第１のメモリに書き込む第２のメモリアクセス制御回路とを含み、
前記第１のメモリアクセス制御回路が、
前記第１のメモリに書き込まれたアイソクロナスデータを含むアイソクロナスパケットを第１のメモリから読み出し、読み出されたアイソクロナスパケットを、転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第１のバス側に自動転送することを特徴とするデータ転送制御装置。
【請求項８】
請求項７において、
前記第１のメモリの記憶領域が、前記アイソクロナスデータを記憶するアイソクロナスデータ領域と、アシンクロナスデータを記憶するアシンクロナスデータ領域とに分離されている場合に、
前記第２及び第３のメモリアクセス制御回路が、
前記第２のバス側から転送されるアシンクロナスデータについては前記第２のメモリへの転送経路をバイパスして、該アシンクロナスデータを前記第１のバス側へ転送することを特徴とするデータ転送制御装置。
【請求項９】
請求項７又は８において、
前記第２のメモリが、
連続したアドレスのデータを所与のクロックに同期して入出力できる同期型メモリであることを特徴とするデータ転送制御装置。
【請求項１０】
請求項７乃至９において、
前記第１のメモリが、データ転送制御装置の内部に設けられる内部メモリであり、前記第２のメモリが、データ転送制御装置の外部に設けられる外部メモリであることを特徴とするデータ転送制御装置。
【請求項１１】
請求項１乃至１０のいずれかのデータ転送制御装置と、
データ転送制御装置の第２のバスに接続され、第２のバスを介して転送されるデータを記憶する記憶媒体と、
を含むことを特徴とする電子機器。
【請求項１２】
バスを介したデータ転送のためのデータ転送制御方法であって、
ヘッダ領域とデータ領域を含む第１のメモリの記憶領域における該ヘッダ領域の第Ｋ、第Ｌのページ領域についてのアイソクロナスデータを含むアイソクロナスパケットの転送数を第Ｋ、第Ｌのページ用の転送数予約レジスタに予約し、
前記第Ｋのページ領域に書き込むべきアイソクロナスヘッダを処理部が用意している際に、前記第Ｌのページ領域に書き込まれているアイソクロナスヘッダとデータ領域に書き込まれているアイソクロナスデータとを第１のメモリから読み出し、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、第Ｌのページ用転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第１のバス側に自動転送することを特徴とするデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送制御装置、電子機器及びデータ転送制御方法に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
近年、デジタル放送やインターネットを介したＡＶ（Audio Visual）データのデジタル配信が普及しつつある。そして、このようなＡＶデータのデジタル配信が普及するにつれて、配信されたＡＶデータを効率良く記録できるデジタル記録・再生装置（電子機器）への需要が高まっている。
【０００３】
さて、ＡＶデータの転送には、そのリアルタイム性を担保するために、ＩＥＥＥ１３９４やＵＳＢ（Universal Serial Bus）２．０などの高速シリアルバスが用いられる。一方、ＡＶデータを記録するデジタル記録・再生装置（電子機器）は、大量のデータを高速に記憶することができるＨＤＤ（Hard Disk Drive）などの記憶媒体（Storage Medium）を備えることが望ましい。
【０００４】
このため、ＩＥＥＥ１３９４やＵＳＢ２．０などの高速バスと、ＨＤＤなどの記憶媒体との間で、データを高速に送受信することができるデータ転送制御装置への要望が高まっている。
【０００５】
本発明は以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、高速なデータ転送を実現できるデータ転送制御装置、電子機器及びデータ転送制御方法を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、バスを介したデータ転送のためのデータ転送制御装置であって、アイソクロナスデータを含むアイソクロナスパケットの転送数を処理部が予約するための転送数予約レジスタと、第１のメモリからアイソクロナスパケットを読み出し、読み出されたアイソクロナスパケットを、転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第１のバス側に自動転送する第１のメモリアクセス制御回路とを含むデータ転送制御装置に関係する。
【０００７】
本発明によれば、処理部が、転送数予約レジスタにアイソクロナスパケットの転送数を予約する。すると、第１のメモリからアイソクロナスパケット（アイソクロナスヘッダ、アイソクロナスデータ）が読み出され、読み出されたアイソクロナスパケットが、転送数予約レジスタの予約転送数が零（零と実質的に同じ場合を含む）になるまで、アイソクロナス転送サイクル毎に第１のバス側に自動転送される。
【０００８】
このようにすれば、処理部は、転送数を予約した後は、データ転送に関与しなくても済むようになる。従って、余った時間を他の処理に使えるようになり、処理を効率化できる。
【０００９】
また本発明によれば、アイソクロナスデータの大きさ、転送するアイソクロナスデータの種類、或いはタイムスタンプの状態などに応じて、処理部は、所望の転送数を予約することも可能になる。
【００１０】
また本発明では、前記第１のメモリアクセス制御回路が、前記転送数予約レジスタに予約された転送数が零になった場合に、次のアイソクロナス転送サイクルでの自動転送を中断すると共に、処理部に対して割り込みを発生してもよい。
【００１１】
このようにすれば、処理部は、転送数を予約した後、割り込みが返ってくるまでの時間を、他の処理に使用できるようになり、処理の効率化を図れる。
【００１２】
また本発明では、第１のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、前記ヘッダ領域が、第Ｋ、第Ｌのページ領域を含み、前記転送数予約レジスタが、前記第Ｋ、第Ｌのページ領域での転送数を予約するための第Ｋ、第Ｌのページ用の転送数予約レジスタを含み、前記第１のメモリアクセス制御回路が、前記第Ｋのページ領域に書き込むべきアイソクロナスヘッダを処理部が用意している際に、前記第Ｌのページ領域に書き込まれているアイソクロナスヘッダとデータ領域に書き込まれているアイソクロナスデータとを読み出し、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、第Ｌのページ用転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第１のバス側に自動転送してもよい。
【００１３】
このようにすれば、処理部は、アイソクロナスヘッダをヘッダ領域に書き込む作業を行っている際に、アイソクロナスパケットの転送がどこまで進んでいるのかを意識しなくて済むようになる。これにより、処理部の処理を簡素化できる。
【００１４】
なお、ヘッダ領域や転送数予約レジスタのページ数を３ページ以上にしてもよい。
【００１５】
また本発明では、第１のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、前記ヘッダ領域に、アイソクロナスヘッダと組みとなるアイソクロナスデータについての前記データ領域でのアドレスを指すデータポインタが書き込まれ、前記第１のメモリアクセス制御回路が、前記データポインタを用いて、アイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを組み立てて、第１のバス側に自動転送してもよい。
【００１６】
このようにすれば、アイソクロナスパケットの組み立ても、処理部が関与せずに自動的に行われるようになり、処理部の処理負荷を更に軽減できる。
【００１７】
また本発明では、前記第１のメモリアクセス制御回路が、データ領域に書き込まれるアイソクロナスデータが、アイソクロナスパケットよりも下層の複数の第２の層のパケットを含む場合に、第１のバス側に転送する第２の層のパケットと転送しない第２の層のパケットとを、前記データポインタを用いて選別してもよい。
【００１８】
このようにすれば、第２の層のパケット（例えばＴＳパケット）の選別を、負荷の軽い処理で実現できるようになる。
【００１９】
また本発明では、前記第１のメモリアクセス制御回路が、記憶媒体の特殊再生時に、前記データポインタを用いてＩピクチャを含む第２の層のパケットを選別し、選別された第２の層のパケットを第１のバス側に自動転送してもよい。
【００２０】
このようにすれば、特殊再生に必要なＩピクチャを含む第２の層パケットを、簡素な処理で第１のバス側に転送できるようになり、高品質な特殊再生を実現できる。
【００２１】
また本発明では、記憶媒体が接続される第２のバス側から転送されるアイソクロナスデータを、第１のメモリよりも大容量の第２のメモリに書き込む第３のメモリアクセス制御回路と、第２のメモリに書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータを第１のメモリに書き込む第２のメモリアクセス制御回路とを含み、前記第１のメモリアクセス制御回路が、前記第１のメモリに書き込まれたアイソクロナスデータを含むアイソクロナスパケットを第１のメモリから読み出し、読み出されたアイソクロナスパケットを、転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第１のバス側に自動転送してもよい。
【００２２】
本発明によれば、第２のバス側から転送されるアイソクロナスデータが大容量の第２のメモリに書き込まれる。そして、第２のメモリからアイソクロナスデータが読み出され、小容量の第１のメモリに書き込まれる。そして、書き込まれたアイソクロナスデータを含むアイソクロナスパケットが、第１のバス側に転送される。
【００２３】
このように本発明によれば、第２のバス側から転送されるアイソクロナスデータが、キャッシュメモリとして機能する第２のメモリによりバッファリングされて、第１のバス側に転送されるようになる。これにより、一定の転送レートで間断なく転送することが要求されるアイソクロナスデータを、第２のバス側から第１のバス側に効率良く転送できるようになる。
【００２４】
また本発明では、前記第２のメモリが、連続したアドレスのデータを所与のクロックに同期して入出力できる同期型メモリであってもよい。
【００２５】
第２のメモリとしてこのような同期型メモリを用いれば、バーストデータとして転送されるアイソクロナスデータの効率良い転送が可能になる。
【００２６】
また本発明では、前記第１のメモリが、データ転送制御装置の内部に設けられる内部メモリであり、前記第２のメモリが、データ転送制御装置の外部に設けられる外部メモリであってもよい。
【００２７】
このようにすれば、データ転送制御装置の小規模化、低コスト化等を図ることが可能になる。
【００２８】
また本発明は、上記のいずれかのデータ転送制御装置と、データ転送制御装置の第２のバスに接続され、第２のバスを介して転送されるデータを記憶する記憶媒体とを含む電子機器に関係する。
【００２９】
また本発明は、バスを介したデータ転送のためのデータ転送制御方法であって、アイソクロナスデータを含むアイソクロナスパケットの転送数を転送数予約レジスタに予約し、第１のメモリからアイソクロナスパケットを読み出し、読み出されたアイソクロナスパケットを、転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第１のバス側に自動転送するデータ転送制御方法に関係する。
【００３０】
【発明の実施の形態】
以下、本発明の実施形態について詳細に説明する。
【００３１】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３２】
１．電子機器
図１（Ａ）に、本実施形態のデータ転送制御装置３０を含む電子機器（デジタル記録・再生装置）のブロック図の例を示し、図１（Ｂ）にその外観図の例を示す。
【００３３】
この電子機器１６は、ＨＤＤ１０（Hard Disk Drive）、データ転送制御装置３０を含む。また、ユーザが電子機器を操作するための操作部１２を含む。また、ユーザに各種の情報を表示するディスプレイ部１４（ＬＣＤ）を含む。
【００３４】
ユーザは、操作部１２を操作することで、再生モード（通常再生、特殊再生）の指定などを行うことができる。また、ディスプレイ部１４に表示される情報を見ることで、現在の再生モードなどを確認できる。
【００３５】
この電子機器１６は、ＩＥＥＥ１３９４バス又はＵＳＢ２．０などの第１のバスＢＵＳ１を介してデジタルチューナ２０（或いはデジタルビデオカメラ）に接続されている。そして、デジタルチューナ２０はＭＰＥＧ（Moving Picture Experts Group）デコーダ２１（広義にはデコーダ）を含み、このＭＰＥＧデコーダ２１は、アンテナ２６等により受信されたＭＰＥＧストリームをデコードする。そして、デコードデータに基づいて、テレビ２４（ディスプレイ部）が映像が表示したり、音声を出力する。また、ユーザは、操作部２２（リモコン等）を用いて、チャンネル（放送局）の選択、再生モード（通常再生、特殊再生）の指定などを行うことができる。
【００３６】
ＡＶ（Audio Visual）用のＨＤＤ１０（広義には記憶媒体）へのＭＰＥＧストリームの記録時においては、アンテナ２６で受信されたＭＰＥＧストリーム（ＴＳパケット）が、ＢＵＳ１（ＩＥＥＥ１３９４、ＵＳＢ２．０）、データ転送制御装置３０を介してＨＤＤ１０に書き込まれる。
【００３７】
一方、ＨＤＤ１０のＭＰＥＧストリームの再生時においては、ＩＤＥ（Integrated Device Electronics）などの第２のバスＢＵＳ２を介してＨＤＤ１０からＭＰＥＧストリーム（ＴＳパケット、アイソクロナスデータ）が読み出される。そして、読み出されたＭＰＥＧストリームが、データ転送制御装置３０、ＢＵＳ１を介してデジタルチューナ２０に転送され、デジタルチューナ２０のＭＰＥＧデコーダ２１がデコードする。これにより、テレビ２４に映像が映し出される。
【００３８】
なお、本実施形態が適用される電子機器は図１（Ａ）、（Ｂ）に示す電子機器に限定されない。例えば、ビデオテープレコーダ（ＨＤＤ内蔵）、光ディスク（ＤＶＤ）レコーダ、デジタルビデオカメラ、パーソナルコンピュータ或いは携帯型情報端末などの種々の電子機器に適用できる。
【００３９】
２．アイソクロナス転送
ＩＥＥＥ１３９４では、パケットの転送方式として、信頼性が要求されるデータの転送に好適なアシンクロナス（asynchronous）転送と、リアルタイム性が要求される動画像や音声などのデータの転送に好適なアイソクロナス（isochronous）転送が用意されている。アシンクロナス（非同期）転送は、データの転送レートは保証しないがデータの確実性を保証する転送方式である。一方、アイソクロナス転送は、データの確実性は保証しないが、転送レートや転送の等時性を保証する転送方式である。このアイソクロナス転送は、ＵＳＢ（Universal Serial Bus）においてもサポートされている。
【００４０】
図２（Ａ）に、ＩＥＥＥ１３９４でのデータ転送時のバスの様子を模式的に示す。
【００４１】
アイソクロナス転送は、サイクルマスタが一定周期毎にサイクル・スタートパケットを発生することで開始する。これにより、１つのチャネル当たり、１２５μｓ毎（アイソクロナス転送サイクル毎）に少なくとも１つのアイソクロナス（ＩＳＯ）パケットを転送できるようになる。この結果、動画像や音声などのリアルタイム性が要求されるデータの転送が可能になる。
【００４２】
一方、アシンクロナス転送はアイソクロナス転送の合間に行われる。即ち、ＩＥＥＥ１３９４では、アイソクロナス転送の方がアシンクロナス転送よりも優先順位が高くなっており、アイソクロナス転送終了後の余りの期間を利用して、アシンクロナス（ＡＳＹ）パケットが転送される。
【００４３】
図２（Ｂ）に、ＭＰＥＧストリームをＩＥＥＥ１３９４バスで転送する場合のアイソクロナス転送パケットのフォーマット例を示す。
【００４４】
図２（Ｂ）において、ＩＳＯヘッダがＩＥＥＥ１３９４形式のパケットのヘッダに相当し、ＣＩＰ（common isochronous packet）ヘッダ、ＳＰ（source packet）ヘッダ及びＴＳ(Transport Stream)パケットが、ＩＥＥＥ１３９４形式のパケットのデータ（ペイロード）に相当する。
【００４５】
これらのＳＰヘッダやＣＩＰヘッダのフォーマット例を図２（Ｃ）、（Ｄ）に示す。これらのＳＰヘッダやＣＩＰヘッダは、ＩＥＥＥ１３９４バス上でＭＰＥＧストリームを転送するためのプロトコルを定めたＩＥＣ６１８８３規格により定義されている。例えばＳＰヘッダは、タイムスタンプ情報（アイソクロナス転送のサイクルカウント、アイソクロナス転送サイクル中でのオフセット値）を含む。またＣＩＰヘッダは、転送されるデータがＭＰＥＧデータであることを宣言したり、ＭＰＥＧのＴＳパケットの分割方法を指定するものであり、ソースノードＩＤ、データブロックサイズ、フォーマットＩＤなどを含む。
【００４６】
なお、ＩＥＥＥ１３９４バスの接続先の電子機器がデジタルチューナではなくデジタルビデオカメラなどである場合には、ＳＰヘッダは不要となる。この場合には、ＣＩＰヘッダにタイムスタンプ情報を含ませる。
【００４７】
３．データ転送制御装置の構成
図３に、本実施形態のデータ転送制御装置（図１の符号３０）の構成例を示す。なお、本実施形態のデータ転送制御装置は、図３の全ての回路、ユニット（部）を含む必要はなく、その一部を省略する構成にしてもよい。
【００４８】
図３のデータ転送制御装置は、１３９４インターフェース３１（広義には第１のバスインターフェース）を含む。この１３９４インターフェース３１は、データ転送制御装置とＩＥＥＥ１３９４（第１のバスＢＵＳ１）に接続される他の電子機器（デジタルチューナ等）との間のインターフェースを実現する。そして、ＩＥＥＥ１３９４プロトコルの物理層、リンク層を実現する物理層（ＰＨＹ）回路３２、リンク層回路３３を含む。
【００４９】
データ転送制御装置は、ＩＤＥインターフェース３４（広義には第２のバスインターフェース、記憶媒体用インターフェース）を含む。ＩＤＥインターフェース３４は、データ転送制御装置とハードディスクドライブＨＤＤ１０（広義には記憶媒体）との間のインターフェースを実現する回路である。
【００５０】
ＡＶ用のＨＤＤ１０においては、パーソナルコンピュータ用として広く使用されているＩＤＥ（ＡＴＡ）のインターフェースを持つ安価なＨＤＤを用いられる。一方、デジタルチューナ（ＢＳチューナ、ＣＳチューナ）などの電子機器においては、デジタルデータ（デジタルビデオデータ、デジタルオーディオデータ）のインターフェースとしてＩＥＥＥ１３９４が広く用いられている。
【００５１】
図３のように１３９４インターフェース３１とＩＤＥインターフェース３４を設ければ、ＩＥＥＥ１３９４（広義には第１のバス規格）とＩＤＥ（広義には第２のバス規格）の変換ブリッジ機能をデータ転送制御装置に実現させることが可能になる。
【００５２】
データ転送制御装置は、ＳＲＡＭ（Static Random Access Memory）４０とのインターフェースを実現するＳＲＡＭインターフェース４２を含む。また、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）５０とのインターフェースを実現するＳＤＲＡＭインターフェース５２を含む。
【００５３】
ここでＳＲＡＭ４０（広義には第１のメモリ、パケットメモリ、パケットバッファ）は、ＳＤＲＡＭ５０（第２のメモリ）に比べて小容量なメモリである。また、ランダムアクセスを高速に行うことができるメモリである。
【００５４】
このＳＲＡＭ４０は、第１のバスＢＵＳ１（ＩＥＥＥ１３９４等）を介して受信したパケット（ＩＳＯパケット、ＴＳパケット）を一時的に記憶する機能を有する。また、記憶媒体ＨＤＤ１０から第２のバスＢＵＳ２を介して読み出されたパケット（ＴＳパケット）を、ＢＵＳ１を介して転送するために、一時的に記憶する機能も有する。
【００５５】
そして、ＳＲＡＭ４０は、ＤＭＡＣ１（Direct Memory Access Controller）、ＤＭＡＣ２、処理部６０（ＣＰＵ、ＭＰＵ又はシステムコントローラ等）等により、ランダムアクセス可能なメモリになっている。この場合には、ＳＲＡＭインターフェース４２が調停回路として機能する。即ちＳＲＡＭインターフェース４２は、ＤＭＡＣ１からのアクセス（ＢＵＳ１側からのアクセス）、処理部６０からのアクセス、ＤＭＡＣ２からのアクセス（ＢＵＳ２側からのアクセス）の調停を行う。そして、調停結果に基づいて、ＤＭＡＣ１、ＤＭＡＣ２、処理部６０のいずれかと、ＳＲＡＭ４０との間に、データ経路を確立する。
【００５６】
なお、ＳＲＡＭ４０は、データ転送制御装置の内部に設けることが望ましいが、データ転送制御装置の外部に設けることも可能である。
【００５７】
また、ＳＲＡＭ４０の記憶領域を、ヘッダ領域（制御情報の領域）とデータ領域に分離したり、送信領域と受信領域に分離してもよい。また、アシンクロナス（Asynchronous）領域とアイソクロナス（Isochronous）領域に分離してもよい。
【００５８】
一方、ＳＤＲＡＭ５０（広義には第２のメモリ、キャッシュメモリ、同期型メモリ）は、ＳＲＡＭ４０に比べて大容量のメモリである。また、ランダムアクセス（或いはＳＲＡＭ４０）に比べてシーケンシャルアクセス（連続したアドレスへのアクセス）を高速に行うことができるメモリである。また、連続したアドレスのデータ（バーストデータ）をクロックに同期して入出力できるメモリである。このＳＤＲＡＭ５０はアイソクロナスデータのキャッシュメモリとして機能する。
【００５９】
なお、ＳＤＲＡＭ５０は、データ転送制御装置の外部に設けることが望ましいが、データ転送制御装置の内部に設けることも可能である。また、通常のＳＤＲＡＭの代わりに、例えばＤＤＲ型ＳＤＲＡＭ、ラムバス（Rambus)社のＲＤＲＡＭなどの高速な同期型メモリを採用してもよい。
【００６０】
また、ＳＤＲＡＭ５０の記憶領域を、送信領域と受信領域に分離したり、アシンクロナス領域とアイソクロナス領域に分離してもよい。
【００６１】
データ転送制御装置はＤＭＡＣ１（広義には第１のメモリアクセス制御回路）を含む。このＤＭＡＣ１は、第１のバスＢＵＳ１側（１３９４インターフェース３１）からのパケット（データ、ヘッダ）をＳＲＡＭ４０に書き込むための処理を行う。また、ＳＲＡＭ４０に書き込まれたデータ（アイソクロナスデータ）を読み出し、そのデータとヘッダとで組み立てられるパケット（アイソクロナスパケット）をＢＵＳ１側に転送するための処理を行う。
【００６２】
より具体的にはＤＭＡＣ１は、ＳＲＡＭ４０への書き込み時には、書き込み要求や書き込みアドレスを発生する。一方、ＳＲＡＭ４０からの読み出し時には、読み出し要求や読み出しアドレスを発生する。これにより、ＳＲＡＭ４０、１３９４インターフェース３１（ＢＵＳ１）間で、処理部６０が介在しないＤＭＡ転送を実現する。
【００６３】
データ転送制御装置はＤＭＡＣ２（広義には第２のメモリアクセス制御回路）を含む。このＤＭＡＣ２は、ＳＲＡＭ４０に書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータを、ＳＲＡＭ４０よりも大容量のＳＤＲＡＭ５０に書き込むための処理を行う。また、ＳＤＲＡＭ５０に書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータをＳＲＡＭ４０に書き込むための処理を行う。
【００６４】
より具体的にはＤＭＡＣ２は、ＳＲＡＭ４０やＳＤＲＡＭ５０からの読み出し時には、読み出し要求や読み出しアドレスを発生する。一方、ＳＲＡＭ４０やＳＤＲＡＭ５０への書き込み時には、書き込み要求や書き込みアドレスを発生する。これにより、ＳＲＡＭ４０、ＳＤＲＡＭ５０間で、処理部６０が介在しないＤＭＡ転送を実現する。
【００６５】
データ転送制御装置はＤＭＡＣ３（広義には第３のメモリアクセス制御回路）を含む。このＤＭＡＣ３は、ＳＤＲＡＭ５０に書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータを、ＢＵＳ２側（ＩＤＥインターフェース３４）に転送するための処理を行う。また、ＢＵＳ２側から転送されるアイソクロナスデータを、ＳＤＲＡＭ５０に書き込むための処理を行う。
【００６６】
より具体的にはＤＭＡＣ３は、ＳＤＲＡＭ５０からの読み出し時には、読み出し要求や読み出しアドレスを発生する。一方、ＳＤＲＡＭ５０への書き込み時には、書き込み要求や書き込みアドレスを発生する。これにより、ＳＤＲＡＭ５０、ＢＵＳ２（ＩＤＥインターフェース３４）間で、処理部６０が介在しないＤＭＡ転送を実現する。
【００６７】
ＤＭＡＣ１は、第１（１３９４側）の暗号化・復号化回路ＥＮＣ・ＤＥＣ１を含む。このＥＮＣ・ＤＥＣ１は、ＳＲＡＭ４０から読み出されたデータ（アイソクロナスデータ）を第１の暗号化処理により暗号化し、ＢＵＳ１側に転送するための処理を行う。また、ＢＵＳ１側から転送される暗号化データ（暗号化アイソクロナスデータ）を第１の復号化処理により復号化し、ＳＲＡＭ４０に書き込むための処理を行う。
【００６８】
この場合に、第１の暗号化処理（復号化処理）としては、例えば、ＩＥＥＥ１３９４の暗号化規格であるＤＴＣＰ（Digital Transmission Content Protection）などを採用できる。
【００６９】
ここで、ＤＴＣＰ（５Ｃ ＤＴＣＰ）は、ＩＥＥＥ１３９４により接続された電子機器（デバイス）間で、暗号化データを送受信するための規格である。このＤＴＣＰでは、保護されるべき暗号化データを電子機器間で送受信する前に、データ保護機構を受信側の電子機器が備えているか否かを確認する認証処理を行う。そして、保護機構を備えている事が認証処理により確認されると、暗号を解くための鍵を電子機器間で交換する。そして、送信側の電子機器は暗号化データを送信し、受信側の電子機器は受信した暗号化データを復号化する。
【００７０】
このようにすることで、ＤＴＣＰに準拠した電子機器間でのみ保護データの送受信を行えるようになる。これにより、保護機構を有しない電子機器や、データを改変してしまうような電子機器から、データのコンテンツを保護できる。
【００７１】
また、このＤＴＣＰでは、コンテンツ提供者が設定したコピー制御情報が電子機器間でやり取りされる。これにより、「コピー禁止」、「１回だけコピー可能」、「コピー・フリー」などのコピー制御が可能になる。また、コンテンツと共に改訂情報（System Renewability Messages）が配布される。これにより、不正な電子機器へのデータ転送を禁止したり制限することが可能になり、不正コピーを将来に渡り禁止できる。また、このＤＴＣＰは、ＩＥＥＥ１３９４のみならずＵＳＢの暗号化規格としても採用されることが期待されている。
【００７２】
なお、ＤＴＣＰの暗号化処理・復号化処理についてはＤＴＬＡ（Digital Transmission Licensing Administrator）社のホームページで詳しく説明されている。
【００７３】
ＤＭＡＣ２は、第２（ＩＤＥ側）の暗号化・復号化回路ＥＮＣ・ＤＥＣ２を含む。このＥＮＣ・ＤＥＣ２は、ＳＲＡＭ４０から読み出されたデータ（アイソクロナスデータ、ＢＵＳ１側から転送されるデータ）を第２の暗号化処理により暗号化し、ＳＤＲＡＭ５０に書き込むための処理を行う。また、ＳＤＲＡＭから読み出された暗号化データ（暗号化アイソクロナスデータ）を、第２の復号化処理により復号化し、ＳＲＡＭ４０に書き込むための処理（ＢＵＳ１側に転送するための処理）を行う。
【００７４】
この場合に、第２の暗号化処理（復号化処理）としては、例えば、共通鍵暗号化方式の１つであるＤＥＳ（Data Encryption Standard）などを採用できる。
【００７５】
共通鍵暗号化方式は、金融業界等の分野で広く使用されている暗号化方式である。この共通鍵暗号化方式は、暗号化と復号化において同一の鍵を用いる。共通鍵暗号化方式の中でもＤＥＳは最も広く利用されている暗号化方式である。
【００７６】
このＤＥＳでは、１ブロックが６４ビットのデータに対して、非線形変換（ｓｂｏｘ）、転置処理等が１６段分繰り返される。各段の処理では、４８ビットのサブ鍵が用いられ、このサブ鍵は６４ビットの共通鍵から生成される。
【００７７】
ＤＥＳには、ＳＤＥＳ（Single DES）とＴＤＥＳ（Triple DES）がある。ＴＤＥＳは、ＳＤＥＳのアルゴリズムを３回繰り返す暗号化方式である。このＴＤＥＳでは、ＳＤＥＳのアルゴリズムを流用することができ、かつ暗号鍵の鍵長を拡張するのと同様の効果を得ることができるため、比較的容易に暗号強度を高めることができる。
【００７８】
なお、本実施形態のデータ転送制御装置では、ＤＥＳ（Single DES、Triple DES）以外にも、ＤＥＳの後継の共通鍵暗号化方式であるＡＥＳ（Advanced Encryption Standard）などを採用してもよい。
【００７９】
データ転送制御装置は処理部６０を含む。この処理部６０は、装置内の各回路や各ユニット（部）の制御や装置の全体制御を行う。この処理部６０の機能は、ＣＰＵ或いはシステムコントローラ（ＡＳＩＣ）などのハードウェアや、ファームウェア（プログラム）により実現される。なお、処理部６０をデータ転送制御装置の外部に設けるようにしてもよい。
【００８０】
データ転送制御装置はメモリポインタ管理回路７０を含む。このメモリポインタ管理回路７０は、ＳＲＡＭ４０（或いはＳＤＲＡＭ５０）の読み出しポインタや書き込みポインタ（メモリのアドレスを指すポインタ）を管理する回路である。ＤＭＡＣ１、ＤＭＡＣ２は、メモリポインタ管理回路７０により管理（制御）されるポインタを用いてメモリアドレスを発生し、ＤＭＡ転送を実現する。
【００８１】
メモリポインタ管理回路７０が含む自動ＤＭＡ判定回路７２（広義には自動メモリアクセス判定回路）は、ＳＲＡＭ４０の受信データ量が所与の転送単位（転送データ量）を越えたか否かを判定する回路である。この自動ＤＭＡ判定回路７２は、受信データ量が所与の転送単位（例えばＮバイト）を越えた場合に自動ＤＭＡ（メモリアクセス）開始信号をアクティブにする。これにより、ＤＭＡＣ２は、ＳＲＡＭ４０の受信データ領域から、上記の転送単位のデータ（アイソクロナスデータ）を読み出し、ＳＤＲＡＭ５０（ＢＵＳ２）側に転送することになる。また、ＥＮＣ・ＤＥＣ２も、上記の転送単位でデータの暗号化を行うことになる。
【００８２】
データ転送制御装置は転送数予約レジスタＴＮＲＥＧを含む。この転送数予約レジスタＴＮＲＥＧは、アイソクロナスデータを含むアイソクロナスパケット（広義にはパケット）の転送数を処理部６０が予約するためのレジスタである。
【００８３】
即ち、ＤＭＡＣ１は、ＳＲＡＭ４０からアイソクロナスパケット（アイソクロナスデータ、アイソクロナスヘッダ）を読み出す。そして、読み出されたアイソクロナスパケットを、ＴＮＲＥＧに予約された転送数が零になるまで、アイソクロナス転送サイクル（１２５μs）毎にＢＵＳ１側に自動転送（処理部６０が介在しない転送）するための処理を行うことになる。
【００８４】
なお、ＴＮＲＥＧに予約された転送数が零になると、次のアイソクロナス転送サイクルでの自動転送は中断され、処理部６０に対して割り込みが発生する。
【００８５】
また、ＴＮＲＥＧは、ＳＲＡＭ４０のヘッダ領域の第Ｋ（例えばＫ＝０）のページ領域用の転送数予約レジスタＴＮＲＥＧＫと、ヘッダ領域の第Ｌ（例えばＬ＝１）のページ領域用の転送数予約レジスタＴＮＲＥＧＬを含む。
【００８６】
そして、ＤＭＡＣ１は、第Ｋのページ領域に書き込むべきアイソクロナスヘッダを処理部６０が用意している際に、第Ｌのページ領域に書き込まれているアイソクロナスヘッダと、データ領域に書き込まれているアイソクロナスデータとを、ＳＲＡＭ４０から読み出す。そして、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、ＴＮＲＥＧＬの予約転送数が零になるまで、ＢＵＳ１側に自動転送する。
【００８７】
また、ＤＭＡＣ１は、第Ｌのページ領域に書き込むべきアイソクロナスヘッダを処理部６０が用意している際に、第Ｋのページ領域に書き込まれているアイソクロナスヘッダと、データ領域に書き込まれているアイソクロナスデータとを、ＳＲＡＭ４０から読み出す。そして、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、ＴＮＲＥＧＫの予約転送数が零になるまで、ＢＵＳ１側に自動転送する。
【００８８】
図４に、本実施形態の比較例となるデータ転送制御装置を示す。
【００８９】
図３と図４の構成の主な相違点は、図４では、ＳＲＡＭ、ＳＤＲＡＭ間のＤＭＡ転送を実現するＤＭＡＣ２や、ＳＤＲＡＭ５０や、ＳＤＲＡＭインターフェース５２や、転送数予約レジスタＴＮＲＥＧや、自動ＤＭＡ判定回路７２等が設けられていない点である。
【００９０】
図４の比較例の構成は、パーソナルコンピュータのファイルデータの転送には適している。しかしながら、ＡＶデータの高速転送には、図３の本実施形態の構成の方が適している。
【００９１】
即ち、ＩＥＥＥ１３９４では、ＡＶデータはアイソクロナス方式で転送される。この場合、アイソクロナス転送では、一定以上の転送レートで間断なくアイソクロナスパケットが転送される。一方、ＨＤＤ５１０のデータの読み出し・書き込みには、一定時間のアクセスタイム（ヘッドのシークタイム）が必要になる。従って、図４のように小容量のＳＲＡＭ５４０だけを設ける構成では、間断なく転送されるアイソクロナスパケットを、余裕を持ってバッファリングすることができない。即ち、ＨＤＤ５１０への書き込み処理がヘッドのシークが原因で遅れると、アイソクロナスパケットを受信できなくなる。また、ＨＤＤ５１０からの読み出し処理が遅れると、アイソクロナスパケットを送信できなくなる。
【００９２】
これに対して図３の本実施形態の構成では、キャッシュメモリとして機能するＳＤＲＡＭ５０を用いて、アイソクロナスデータのバッファリングが行われる。従って、ＨＤＤ１０の書き込み処理や読み出し処理が遅れても、間断なく転送されるアイソクロナスデータを、余裕を持ってバッファリングでき、データの連続性を保証できるようになる。即ち、容易に入手可能で安価なＳＤＲＡＭ５０を用いてアイソクロナスデータのキャッシュを行い、データ転送レートを保証することで、ＡＶデータの再生能力を向上させることができる。
【００９３】
特に、アイソクロナス転送では、一定量のデータが連続して転送される。即ち画像データや音声データは、ある程度の量の連続したデータが固まりとなって転送される。従って、図３のように、高速なシーケンシャルアクセス（連続したアドレスへのアクセス）が可能なＳＤＲＡＭ５０をアイソクロナスデータのキャッシュメモリとして用いれば、アイソクロナスデータの効率的なバッファリングを実現できる。
【００９４】
一方、ＳＲＡＭ４０ではデータの仕分け処理などが行われる。そして、処理部６０は、ＳＲＡＭ４０の所望のアドレスにランダムにアクセスし、転送すべきパケットのヘッダを書き込んだりパケットを解析するパケット処理を行う。従って、ＳＤＲＡＭ５０に比べてランダムアクセスを高速に行うことができるＳＲＡＭ４０を、仕分け処理用・パケット処理用のメモリとして用いれば、効率的な仕分け処理・パケット処理を実現できる。
【００９５】
このように図３の本実施形態では、データの仕分け処理やパケット処理用のメモリとしてＳＲＡＭ４０を用い、アイソクロナスデータのキャッシュメモリとしてＳＤＲＡＭ５０を用いるというように、これまでにないメモリの使い分けを行っている。これにより、図４の構成では実現できない効率的なデータ転送処理を実現できる。
【００９６】
４．データ転送制御方法
次に本実施形態のデータ転送制御方法について図５（Ａ）、（Ｂ）、図６（Ａ）、（Ｂ）を用いて説明する。
【００９７】
図５（Ａ）に示すように本実施形態では、ＳＲＡＭ（第１のメモリ）の記憶領域を、アイソクロナスデータを記憶する領域と、それ以外の領域に分離している。
【００９８】
そして図５（Ａ）に示すように受信時においては、ＤＭＡＣ１が、ＢＵＳ１側から転送されるパケットのうちアイソクロナスパケットを選別し、アイソクロナスパケットが含むアイソクロナスデータを、ＳＲＡＭ４０のアイソクロナスデータ領域に書き込む。この際に、第１の暗号化・復号化回路ＥＮＣ・ＤＥＣ１が、ＤＴＣＰ等により暗号化されたデータを復号化する。そして、復号化されたデータをＳＲＡＭ４０のアイソクロナスデータ領域に書き込む。
【００９９】
次にＤＭＡＣ２が、ＳＲＡＭ４０のアイソクロナスデータ領域からアイソクロナスデータを読み出し、ＳＤＲＡＭ５０（第２のメモリ）に書き込む。この際に、第２の暗号化・復号化回路ＥＮＣ・ＤＥＣ２が、ＳＲＡＭ４０から読み出されたアイソクロナスデータをＤＥＳ等により暗号化する。そして、暗号化されたデータをＳＤＲＡＭ５０に書き込む。
【０１００】
このような暗号化処理を行うことで、ＳＤＲＡＭ５０に書き込まれたアイソクロナスデータ（デジタル・コンテンツ）の機密性を維持でき、著作権保護を実現できる。
【０１０１】
次にＤＭＡＣ３が、暗号化されたアイソクロナスデータをＳＤＲＡＭ５０から読み出し、ＢＵＳ２側に転送する。これによりＤＥＳにより暗号化されたアイソクロナスデータ（ＴＳパケット）が、ＨＤＤ１０に記録されるようになる。
【０１０２】
なお図５（Ｂ）に示すように、ＳＲＡＭ４０の記憶領域を、アイソクロナスデータ領域とアシンクロナスデータ領域に分離することが望ましい。
【０１０３】
この場合にはＤＭＡＣ１が、ＢＵＳ１側から転送されるパケットを選別し、アイソクロナスデータをアイソクロナスデータ領域に書き込み、アシンクロナスデータをアシンクロナスデータ領域に書き込む。そしてＤＭＡＣ２が、アイソクロナスデータ領域に書き込まれているアイソクロナスデータだけをＳＲＡＭ４０から読み出し、ＳＤＲＡＭ５０に書き込む。
【０１０４】
また図５（Ｃ）に示すように、ＳＲＡＭ４０の記憶領域を、アイソクロナス送信データ領域とアイソクロナス受信データ領域とアシンクロナス送信データ領域とアシンクロナス受信データ領域に分離してもよい。また、ＳＤＲＡＭ５０の記憶領域を、アイソクロナス送信データ領域とアイソクロナス受信データ領域に分離してもよい。
【０１０５】
この場合にはＤＭＡＣ１が、アイソクロナスデータをアイソクロナス受信データ領域に書き込み、アシンクロナスデータをアシンクロナス受信データ領域に書き込む。次にＤＭＡＣ２が、アイソクロナスデータをＳＲＡＭ４０から読み出し、ＳＤＲＡＭ５０のアイソクロナス受信データ領域に書き込む。そして、ＤＭＡＣ３が、アイソクロナスデータをＳＤＲＡＭ５０のアイソクロナス受信データ領域から読み出し、ＢＵＳ２側に転送する。
【０１０６】
送信時においては図６（Ａ）に示すように、ＤＭＡＣ３が、ＢＵＳ２側（ＨＤＤ１０）からのアイソクロナスデータ（ＴＳパケット）をＳＤＲＡＭ５０に書き込む。
【０１０７】
次に、ＤＭＡＣ２が、ＳＤＲＡＭ５０からアイソクロナスデータを読み出し、ＳＲＡＭ４０のアイソクロナスデータ領域に書き込む。この際に、第２の暗号化・復号化回路ＥＮＣ・ＤＥＣ２が、ＤＥＳにより暗号化されたデータを復号化する。そして、復号化されたデータをＳＲＡＭ４０のアイソクロナスデータ領域に書き込む。
【０１０８】
次にＤＭＡＣ１が、ＳＲＡＭ４０のアイソクロナスデータ領域からアイソクロナスデータを読み出し、ＢＵＳ１側に転送する。この際に、第１の暗号化・復号化回路ＥＮＣ・ＤＥＣ１が、ＳＲＡＭ４０から読み出されたアイソクロナスデータをＤＴＣＰ等により暗号化する。そして、暗号化されたデータをＢＵＳ１を介して転送する。
【０１０９】
このようなＤＴＣＰの暗号化を行うことで、ＩＥＥＥ１３９４上でのアイソクロナスデータ（デジタル・コンテンツ）の機密性を維持でき、著作権保護を実現できる。
【０１１０】
なお、ＳＲＡＭ４０の記憶領域をアイソクロナスデータ領域とアシンクロナスデータ領域に分離する場合には、図６（Ｂ）に示すようにデータ転送を行えばよい。また、ＳＲＡＭ４０とＳＤＲＡＭ５０の記憶領域を、送信データ領域と受信データ領域に分離する場合には、図６（Ｃ）に示すようにデータ転送を行えばよい。
【０１１１】
さて、ＡＶデータを転送する場合に、アイソクロナスデータ領域とアシンクロナスデータ領域を分離しないと、ＡＶデータ（ＡＶストリーム）とＡＶコマンド（ＡＶ／Ｃプロトコルのコマンド）の仕分けが困難になる。
【０１１２】
本実施形態では図５（Ｂ）、図６（Ｂ）に示すように、ＳＲＡＭ４０の記憶領域をアイソクロナスデータ領域とアシンクロナスデータ領域に分離しているため、ＡＶデータとＡＶコマンドの仕分けが容易になる。これにより、ＢＵＳ１（ＩＥＥＥ１３９４）側から受信したＡＶデータだけを、ＢＵＳ２（ＩＤＥ）側に自動転送することが可能になり、処理部６０に負担をかけない効率的なＡＶデータの転送を実現できる。
【０１１３】
また本実施形態では図５（Ｃ）、図６（Ｃ）に示すように、ＳＲＡＭ４０やＳＤＲＡＭ５０の記憶領域を、送信データ領域と受信データ領域に分離している。これにより、アイソクロナスデータの送信と受信を独立に行うことができる。従って、アイソクロナスデータの送信と受信の転送レートを同時に保証できるようになる。この結果、画像データをＨＤＤ１０に録画しながら、他の画像データをＨＤＤ１０から読み出して再生するタイムシフト再生が容易になる。
【０１１４】
なお、アシンクロナスデータをＨＤＤ１０に記録する場合には、図７に示すようにデータ転送を行えばよい。即ち、ＳＤＲＡＭ５０のデータ転送経路をバイパスして、ＤＭＡＣ２、ＤＭＡＣ３間で直接にアシンクロナスデータを転送する。
【０１１５】
この場合に、アイソクロナスデータはＳＤＲＡＭ５０に蓄積されたままとなり、アシンクロナスデータの転送が終了するのを待つことになる。そして、アシンクロナスデータの転送が終了すると、データ転送制御装置を外部のＳＤＲＡＭ５０に再接続する。そして、ＳＤＲＡＭ５０に蓄積されたアイソクロナスデータを図５（Ａ）〜図６（Ｃ）で説明した手法で転送し、転送を再開すればよい。
【０１１６】
一般的に、パーソナルコンピュータ（ＰＣ）のファイルシステムとしてＨＤＤ１０を使用する場合には、アシンクロナス転送が用いられる。一方、ＡＶデータをＨＤＤ１０に記録する場合にはアイソクロナス転送が用いられる。
【０１１７】
本実施形態のように、ＳＲＡＭ４０の記憶領域をアイソクロナスデータ領域とアシンクロナスデータ領域に分離すると共に、アシンクロナス転送時にＳＤＲＡＭ５０をＤＭＡの転送経路から切り離すことで、ＡＶデータとＰＣのファイルデータの両方をＨＤＤ１０に記録できるようになる。即ち、アイソクロナスデータであるＡＶデータを転送する場合には、図５（Ａ）〜図６（Ｃ）に示す手法でアイソクロナスデータ領域を介してデータ転送を行えばよい。一方、アシンクロナスデータであるＰＣのファイルデータを転送する場合には、図７に示す手法でＳＤＲＡＭ５０をＤＭＡの転送経路から切り離し、アシンクロナスデータ領域を介してデータを転送すればよい。
【０１１８】
このようにすることで、あたかもＡＶ用のＨＤＤとＰＣ用のＨＤＤの両方が接続されているかのように見える使用形態を、ユーザに提供できる。
【０１１９】
図８（Ａ）、（Ｂ）に、ＳＲＡＭ４０、ＳＤＲＡＭ５０のメモリマップの詳細例を示す。
【０１２０】
図８（Ａ）では、ＳＲＡＭ４０の記憶領域が、ヘッダ領域と、アシンクロナス送信データ領域と、アシンクロナス受信データ領域と、アイソクロナス送信データ領域と、アイソクロナス受信データ領域に分離されている。また図８（Ｂ）では、ＳＤＲＡＭ５０の記憶領域が、アイソクロナス送信データ領域と、アイソクロナス受信データ領域に分離されている。なお、ＳＲＡＭ４０、ＳＤＲＡＭ５０の記憶領域として、図８（Ａ）、（Ｂ）に示したもの以外の領域を設けてもよい。
【０１２１】
さて、図８（Ａ）では、アシンクロナス送信データ領域の読み出し用ポインタとしてＡＴＰ１（ＢＵＳ１側アシンクロナスＴｘポインタ）が用意され、書き込み用ポインタとしてＡＴＰ２（ＢＵＳ２側アシンクロナスＴｘポインタ）が用意される。
【０１２２】
また、アシンクロナス受信データ領域の書き込み用ポインタとしてＡＲＰ１（ＢＵＳ１側アシンクロナスＲｘポインタ）が用意され、読み出し用ポインタとしてＡＲＰ２（ＢＵＳ２側アシンクロナスＲｘポインタ）が用意される。
【０１２３】
また、アイソクロナス送信データ領域の読み出し用ポインタとしてＩＴＰ１（ＢＵＳ１側アイソクロナスＴｘポインタ）が用意され、書き込み用ポインタとしてＩＴＰ２（ＢＵＳ２側アイソクロナスＴｘポインタ）が用意される。
【０１２４】
また、アイソクロナス受信データ領域の書き込み用ポインタとしてＩＲＰ１（ＢＵＳ１側アイソクロナスＲｘポインタ）が用意され、読み出し用ポインタとしてＩＲＰ２（ＢＵＳ２側アイソクロナスＲｘポインタ）が用意される。
【０１２５】
これらのポインタは、図３のメモリポインタ管理回路７０により管理（設定、更新）される。そして、これらのポインタを用いることで、データの効率的な読み出し処理・書き込み処理を実現できる。
【０１２６】
なお、図８（Ａ）において、ＡＶ／Ｃプロトコルのコマンドは、送信時にはアシンクロナス送信データ領域に書き込まれ、受信時にはアシンクロナス受信データ領域に書き込まれる。このＡＶ／Ｃプロトコルのコマンドは、ＡＶ機器を制御（再生、停止等）したり、状況を問い合わせたりするために使用されるコマンドである。
【０１２７】
また、図８（Ａ）、（Ｂ）の各領域は、いわゆるリングバッファ構造になっている。即ち、これらの領域の一方の境界（スタートアドレス）から他方の境界（エンドアドレス）に向かって情報（データ、ヘッダ）が格納され、他方の境界に達した場合には一方の境界に戻って情報が格納されるようになっている。
【０１２８】
５．ＳＤＲＡＭの外部接続
本実施形態では図９（Ａ）、（Ｂ）に示すように、ＳＲＡＭ４０（第１のメモリ）についてはデータ転送制御装置３０（Integrated Circuit）の内部に設け、ＳＤＲＡＭ５０（第２のメモリ）についてはデータ転送制御装置３０（ＩＣ）の外部に設けている。そして、ＳＤＲＡＭ５０を、データ転送制御装置３０の外部端子に接続している。
【０１２９】
図９（Ａ）、（Ｂ）に示すような構成にすることで、ＳＤＲＡＭ５０をデータ転送制御装置３０のＩＣ内部に設ける必要がなくなり、ＩＣのチップ面積を小規模化できる。また、安価な汎用のＳＤＲＡＭ５０を使用できるようになり、電子機器の低コスト化を図れる。
【０１３０】
しかしながら、ＳＤＲＡＭ５０を外部に設けた場合に、アイソクロナスデータの機密が漏洩するおそれがある。
【０１３１】
そこで本実施形態では、データ転送制御装置３０の外部端子からは、ＤＥＳ等（第２の暗号化処理）で暗号化されたデータだけが入出力される構成にしている。
【０１３２】
具体的には、例えば受信時には図９（Ａ）に示すように、ＤＭＡＣ２が、ＳＲＡＭ４０（ＢＵＳ１側）からデータを読み出し、読み出されたデータをＥＮＣ・ＤＥＣ２がＤＥＳ（広義には第２の暗号化処理）により暗号化する。そして、ＤＭＡＣ２が、暗号化されたデータを、データ転送制御装置３０の外部端子（データ端子）を介してＳＤＲＡＭ５０に書き込む。
【０１３３】
次に、ＤＭＡＣ３が、ＳＤＲＡＭ５０に書き込まれた暗号化データを、データ転送制御装置３０の外部端子を介して読み出し、読み出された暗号化データを、ＨＤＤ１０（記憶媒体）などが接続されるＢＵＳ２側に転送する。
【０１３４】
一方、送信時には図９（Ｂ）に示すように、ＤＭＡＣ３が、ＤＥＳにより暗号化されたデータを、ＨＤＤ１０からＢＵＳ２を介して読み出す。そして、データ転送制御装置３０の外部端子を介してＳＤＲＡＭ５０に書き込む。
【０１３５】
そして、ＤＭＡＣ２が、ＳＤＲＡＭ５０に書き込まれた暗号化データを、データ転送制御装置３０の外部端子を介して読み出し、ＥＮＣ・ＤＥＣ２が、読み出された暗号化データをＤＥＳの復号化処理で復号化する。そして、ＤＡＭＣ２が、復号化されたデータを、ＳＲＡＭ４０に書き込む（ＢＵＳ１側に転送する）。
【０１３６】
なお、ＥＮＣ・ＤＥＣ１は、図９（Ａ）の受信時には、ＩＥＥＥ１３９４のＤＴＣＰ（広義には第１の暗号化処理）により暗号化されたデータを復号化する。そして、復号化されたデータをＤＭＡＣ１がＳＲＡＭ４０に書き込む。
【０１３７】
一方、図９（Ｂ）の送信時には、ＤＭＡＣ１がデータをＳＲＡＭ４０から読み出し、読み出されたデータをＥＮＣ・ＤＥＣ１がＤＴＣＰで暗号化する。そして、暗号化データをＤＭＡＣ１がＢＵＳ１側に転送する。
【０１３８】
以上のようにすることで、データ転送制御装置３０の外部端子（データ端子）では、暗号化されたデータだけが入出力されるようになる。これにより、データの機密性を維持でき、データのコンテンツの著作権保護を実現できる。
【０１３９】
また、ＳＤＲＡＭ５０にも暗号化されたデータだけが記憶されるようになり、データの機密性を更に高めることができる。
【０１４０】
また図９（Ａ）、（Ｂ）のようにＥＮＣ・ＤＥＣ１、ＥＮＣ・ＤＥＣ２を配置すれば、ＳＲＡＭ４０には、常に復号化されたデータだけが記憶されるようになる。これにより、処理部６０は、ＳＲＡＭ４０を用いたパケット処理（パケットの解析、パケットの準備）を行うことが可能になる。
【０１４１】
なお、データのコンテンツによっては、暗号化が不要な場合もある。例えばアナログデータとして配信されたコンテンツについては、著作権保護が及ばない場合があり、暗号化が不要となる。
【０１４２】
一方、ＥＮＣ・ＤＥＣ２により暗号化・復号化処理を行うと、その処理の分だけ転送速度が低下するおそれがある。
【０１４３】
そこで本実施形態では、暗号化・復号化処理をバイパスする経路を設けている。
【０１４４】
具体的には受信時には図９（Ａ）に示すように、ＤＭＡＣ２（第２のメモリアクセス制御回路）が、バイパス経路６２を用いて、暗号化が不要なデータに対するＤＥＳの暗号化処理（第２の暗号化処理）をバイパスする。そして例えば、ＳＲＡＭ４０から読み出されたデータ（ＢＵＳ１側からデータ）を、ＥＮＣ・ＤＥＣ２を介さずに直接にＳＤＲＡＭ５０に書き込む。
【０１４５】
一方、送信時には図９（Ｂ）に示すように、ＤＭＡＣ２が、バイパス経路６２を用いて、復号化が不要なデータに対するＤＥＳの復号化処理（第２の復号化処理）をバイパスする。そして例えば、ＳＤＲＡＭ５０から読み出されたデータを、ＥＮＣ・ＤＥＣ２を介さずに直接にＳＲＡＭ４０に書き込む（ＢＵＳ１側に転送する）。
【０１４６】
このようにすることで、著作権の保護が及ばないデータ（コンテンツ）に対して、無駄な暗号化処理や復号化処理を行わなくて済むようになる。この結果、データ転送の実効的な転送レートを向上できる。
【０１４７】
なお、データ転送制御装置３０の外部端子を介してＳＤＲＡＭ５０（外部メモリ）に暗号データを入出力する発明などにおいては、図１０（Ａ）、（Ｂ）に示すようにＳＲＡＭ４０（内部メモリ）を設けない構成にしてもよい。
【０１４８】
例えば受信時には図１０（Ａ）に示すように、ＢＵＳ１側（１３９４インターフェース３１）から転送されるデータを、ＤＭＡＣ２が含むＥＮＣ・ＤＥＣ２がＤＥＳ（第２の暗号化処理）により暗号化する。そして、暗号化されたデータをＤＭＡＣ２がＳＤＲＡＭ５０に書き込む。そして、ＤＭＡＣ３が、暗号化されたデータをＳＤＲＡＭ５０から読み出し、ＢＵＳ２側（ＩＤＥインターフェース３４）に転送する。
【０１４９】
また送信時には図１０（Ｂ）に示すように、ＢＵＳ２側（ＩＤＥインターフェース３４）から転送される暗号化データを、ＤＭＡＣ３がＳＤＲＡＭ５０に書き込む。そして、暗号化されたデータをＤＭＡＣ２がＳＤＲＡＭ５０から読み出し、読み出されたデータをＥＮＣ・ＤＥＣ２が復号化する。そして、ＤＭＡＣ２が、復号化されたデータをＢＵＳ１側（１３９４インターフェース３１）に転送する。
【０１５０】
なお、ＤＴＣＰの暗号化・復号化処理については、ＥＮＣ・ＤＥＣ２が行ってもよいし、１３９４インターフェース３１が行ってもよい。
【０１５１】
６．詳細な構成例
図１１、図１２に、ＤＭＡＣ２、ＳＤＲＡＭインターフェース５２、ＤＭＡＣ３等の詳細な構成及び接続の例を示す。
【０１５２】
また、図１３（Ａ）、（Ｂ）、（Ｃ）に、図１１、図１２で使用される各信号の意味を示す。なお、図１１において、ＩｄｅＲｅｑ２はＤＭＡＣ２からＳＲＡＭ４０へのアクセス（読み出し、書き込み）要求信号であり、ＩｄｅＡｃｋ２はアクセス確認信号である。また、ＨｏｓｔＲｅｑ３はＤＭＡＣ３からＩＤＥ側へのアクセス要求信号であり、ＨｏｓｔＡｃｋ３はアクセス確認信号である。また、ＤＭＡＧＯは自動ＤＭＡ開始信号である。
【０１５３】
図１１に示すように、ＤＡＭＣ２はＦＩＦＯ１と、ＥＮＣ・ＤＥＣ２と、ＦＩＦＯ２を含む。そして受信時には、ＳＲＡＭ４０からＳＲＡＭインターフェース４２を介して読み出されたデータは、ＦＩＦＯ１に一時的に蓄積される。そして、ＦＩＦＯ１はそのデータをＥＮＣ・ＤＥＣ２に出力する。ＥＮＣ・ＤＥＣ２は、データを暗号化し、暗号化データをＦＩＦＯ２に蓄積する。ＦＩＦＯ２は、蓄積されたデータをＳＤＲＡＭ５０側に送る。
【０１５４】
一方、送信時には、ＳＤＲＡＭ５０からＳＤＲＡＭインターフェース５２を介して読み出されたデータは、ＦＩＦＯ２に一時的に蓄積される。そして、ＦＩＦＯ２はそのデータをＥＮＣ・ＤＥＣ２に出力する。ＥＮＣ・ＤＥＣ２は、データを復号化し、復号化データをＦＩＦＯ１に蓄積する。ＦＩＦＯ１は、蓄積されたデータをＳＲＡＭ４０側に送る。
【０１５５】
なお、データの暗号化処理を行わない場合には、ＳＲＡＭ４０から読み出されたデータは、バイパス経路６２を介して直接にＳＤＲＡＭ５０側に送られる。また、データの復号化処理を行わない場合には、ＳＤＲＡＭ５０から読み出されたデータは、バイパス経路６２を介して直接にＳＲＡＭ４０側に送られる。
【０１５６】
また、ＤＭＡＣ２は、メモリポインタ管理回路７０（自動ＤＭＡ判定回路７２）からの自動ＤＭＡ開始信号がアクティブになった場合に、ＤＭＡを開始する。
【０１５７】
図１１に示すように、ＤＭＡＣ３はＦＩＦＯ３を含む。受信時には、ＳＤＲＡＭ５０から読み出されたデータはＦＩＦＯ３に一時的に蓄積された後、ＩＤＥ側に送られる。一方、送信時には、ＩＤＥ側からのデータは、ＦＩＦＯ３に一時的に蓄積された後、ＳＤＲＡＭ５０側に送られる。
【０１５８】
なお、経路６４は、ＥＮＣ・ＤＥＣ２及びＳＤＲＡＭ５０を使用しない場合のバイパス経路である。ＳＤＲＡＭ５０も暗号化処理も不要の場合には、このバイパス経路６４を選択してデータ転送を行う。また、経路６６は、ＳＤＲＡＭ５０を使用しない場合のバイパス経路である。ＳＤＲＡＭ５０が不要の場合（例えばアシンクロナスデータの転送）には、このバイパス経路６６を選択してデータ転送を行う。
【０１５９】
図１２に示すように、データ転送制御装置３０とＳＤＲＡＭ５０は、同期クロック信号ＲＡＭＣＬＫと、制御信号ＣＫＥ、ＸＣＳ、ＸＲＡＳ、ＸＣＡＳ、ＸＷＥ、ＵＤＱＭ、ＬＤＱＭと、アドレス信号Ａｄｄｒｅｓｓを用いて、データＤａｔａの転送を行う。なお、これらの信号の意味については図１３（Ａ）に示される。
【０１６０】
具体的には、データ転送制御装置３０は、制御信号等（メモリバス）を用いて、ＳＤＲＡＭ５０に各種の動作モード（コマンド）や開始アドレスを設定する。すると、ＳＤＲＡＭ５０は、ＲＡＭＣＬＫに同期して、開始アドレスに連続するアドレスのデータ（バーストデータ）を高速に入出力する。即ち、ＳＤＲＡＭ５０は、内部でアドレスを自動的に発生し、発生したアドレスに基づいて、内部メモリブロックへのアクセスを行う。なお、この場合に、ＲＡＭＣＬＫよりも高速なクロック信号を内部で生成し、内部メモリブロックへのアクセスを行ってもよい。
【０１６１】
図１４（Ａ）、（Ｂ）に、図１３（Ｂ）、（Ｃ）に示される種々の書き込みデータＷｒＤａｔａ、書き込み確認信号ＷｒＡｃｋ、書き込み要求信号ＷｒＲｅｑ、読み出しデータＲｄＤａｔａ、読み出し確認信号ＲｄＡｃｋ、読み出し要求信号ＲｄＲｅｑのタイミング波形の例を示す。
【０１６２】
７．データ転送制御装置の動作
次に、図１５、図１６、図１７のフローチャートを用いて、本実施形態のデータ転送制御装置の動作について説明する。
【０１６３】
図１５は受信時の動作を示すフローチャートである。
【０１６４】
まず、アイソクロナスパケットの受信により無条件に転送処理を開始する（ステップＳ１）。そして、受信されたアイソクロナスパケットのデータをＳＲＡＭのアイソクロナス受信データ領域に書き込む（ステップＳ２）。
【０１６５】
次に、ＳＲＡＭに書き込まれた受信データ量が自動ＤＭＡ転送単位ＡＴＵを超えたか否かを判断する（ステップＳ３）。そして、越えた場合には、残り転送数ＲＴＮに自動ＤＭＡ転送単位ＡＴＵをセットし、ＤＭＡＣ２を起動する（ステップＳ４）。具体的には図１１の自動ＤＭＡ開始信号ＤＭＡＧＯをアクティブにする。
【０１６６】
次に、ＳＤＲＡＭの記憶領域がフル（満杯）か否かを判断する（ステップＳ５）。そして、フルの場合には転送をウェイトし（ステップＳ６）、ＳＤＲＡＭに空きが生じるのを待つ。
【０１６７】
一方、ＳＤＲＡＭがフルでなくなった場合（空きが生じた場合）には、１ワード分のデータをＳＲＡＭから読み出す（ステップＳ７）。そして、読み出されたデータを暗号化し、ＳＤＲＡＭに書き込む（ステップＳ８、Ｓ９）。
【０１６８】
次に、残り転送数ＲＴＮを１だけデクリメントする（ステップＳ１０）。そして、ＲＴＮが０か否かを判断し（ステップＳ１１）、ＲＴＮが０ではない場合にはステップＳ５に戻り、ＲＴＮが０の場合にはステップＳ２に戻る。
【０１６９】
以上のようにして、ＢＵＳ１（ＩＥＥＥ１３９４）を介して受信したデータが、ＳＲＡＭを介してＳＤＲＡＭに書き込まれることになる。
【０１７０】
図１６、図１７は送信時の動作を示すフローチャートである。
【０１７１】
まず、残り転送数ＲＴＮに全転送数ＡＴＮをセットし、ＤＭＡＣ３を起動する（ステップＳ２１）。
【０１７２】
次に、ＳＤＲＡＭの記憶領域がフルか否かを判断し（ステップＳ２２）、フルの場合には転送をウェイトし（ステップＳ２３）、空きが生じるのを待つ。そして、フルでなくなった場合（空きが生じた場合）には、１ワード分のデータの転送を実行する（ステップＳ２４）。
【０１７３】
次に、残り転送数ＲＴＮを１だけデクリメントする（ステップＳ２５）。そして、ＲＴＮが０か否かを判断し（ステップＳ２６）、ＲＴＮが０ではない場合にはステップＳ２２に戻り、ＲＴＮが０の場合には処理を終了する。
【０１７４】
以上のようにして、ＢＵＳ２（ＩＤＥ）側からのデータが、ＳＤＲＡＭに書き込まれる。
【０１７５】
次に図１７に示すように、残り転送数ＲＴＮに全転送数ＡＴＮ（アイソクロナスパケットＭ個分）をセットし、ＤＭＡＣ２を起動する（ステップＳ３１）。
【０１７６】
そして、ＳＤＲＡＭの記憶領域がエンプティ（空）か否かを判断し（ステップＳ３２）、エンプティの場合には転送をウェイトし（ステップＳ３３）、ＳＤＲＡＭにデータが貯まるのを待つ。一方、ＳＤＲＡＭがエンプティでなくなった場合（データが貯まった場合）には、ＳＲＡＭの記憶領域がフルか否かを判断する（ステップＳ３４）。そして、フルの場合には転送をウェイトし（ステップＳ３５）、ＳＲＡＭに空きが生じるのを待つ。
【０１７７】
ＳＲＡＭの記憶領域がフルでなくなった場合（空きが生じた場合）には、１ワード分のデータをＳＤＲＡＭから読み出す（ステップＳ３６）。そして、読み出されたデータ（著作権保護データの場合）を復号化し（ステップＳ３７）、復号化データをＳＲＡＭに書き込む（ステップＳ３８）。
【０１７８】
次に、残り転送数ＲＴＮを１だけデクリメントする（ステップＳ３９）。そして、ＲＴＮが０か否かを判断し（ステップＳ４０）、ＲＴＮが０ではない場合にはステップＳ３２に戻り、ＲＴＮが０の場合には処理を終了する。
【０１７９】
以上のようにして、ＳＤＲＡＭに書き込まれたデータがＳＲＡＭに書き込まれるようになる。
【０１８０】
８．ＵＳＢへの適用
図１８に、本実施形態の手法をＵＳＢ（ＵＳＢ２．０等）に適用した場合のデータ転送制御装置の構成例を示す。
【０１８１】
図１８の構成が図３と異なるのは以下の点である。
【０１８２】
即ち図１８では、図３の１３９４インターフェース３１の代わりにＵＳＢインターフェース１３１が設けられている。また、図１８では、ＤＭＡＣ１がエンドポイント管理回路としても機能する。更に、図１８では、バルク転送管理回路１７４が設けられている。その他の点については図３とほぼ同様である。
【０１８３】
図１８において、ＵＳＢインターフェース１３１が含むトランシーバマクロ１３２は、ＵＳＢのＦＳモードやＨＳモードでのデータ転送を実現するための回路である。このトランシーバマクロ１３２としては、例えばＵＳＢ２．０の物理層回路や、論理層回路の一部についてのインターフェースを定義したＵＴＭＩ（USB2.0 Transceiver Macrocell Interface）に準拠したマクロセルを用いることができる。このトランシーバマクロ１３２には、差動信号を用いてＵＳＢ上のデータを送受信するアナログフロントエンド回路や、ビットスタッフィング、ビットアンスタッフィング、シリアル・パラレル変換、パラレル・シリアル変換、ＮＲＺＩデコード、ＮＲＺＩエンコード、サンプリングクロック生成などの処理を行う回路を含ませることができる。
【０１８４】
ＵＳＢインターフェース１３１が含むＳＩＥ（Serial Interface Engine）は、ＵＳＢのパケット転送処理などの種々の処理を行う回路である。このＳＩＥには、トランザクションを管理する回路や、パケットの組み立て（生成）や分解を行う回路や、ＣＲＣの生成や解読を行う回路を含ませることができる。
【０１８５】
図１８のＤＭＡＣ１、ＤＭＡＣ２、ＤＭＡＣ３等の回路は、図３等で説明した回路と同様の処理を実現する。
【０１８６】
なお、ＤＭＡＣ１は、ＳＤＲＡＭ１４０の各記憶領域の入り口となるエンドポイントの管理機能も有する。具体的には、ＤＭＡＣ１には、エンドポイントの属性情報を記憶するレジスタなどを含ませることができる。
【０１８７】
バルク転送管理回路１７４は、ＵＳＢにおけるバルク転送を管理するための回路である。
【０１８８】
９．転送数予約レジスタ
さて、本実施形態では、アイソクロナスパケットの転送処理を効率化するために、以下に説明する手法でデータ転送を行っている。
【０１８９】
即ち、図３、図１９（Ａ）、（Ｂ）に示すように本実施形態では、アイソクロナスパケットの転送数を予約するための転送数予約レジスタＴＮＲＥＧを設けている。例えば図１９（Ａ）、（Ｂ）では、８個（広義にはＮ個）のアイソクロナスパケットの転送を予約できるようになっている。
【０１９０】
そして図１９（Ａ）に示すように、処理部６０がＴＮＲＥＧに転送数を予約すると、予約された転送数分のアイソクロナスパケットの転送（送信）の開始が指示されることになる。即ち、ＤＭＡＣ１は、ＳＲＡＭ４０からアイソクロナスパケット（ＩＳＯヘッダ、ＩＳＯデータ）を読み出す。そして、ＤＭＡＣ１は、読み出されたアイソクロナスパケットを、ＴＮＲＥＧに予約された転送数が零になるまで、自動転送（処理部６０が介在しない転送）する。即ち、アイソクロナス転送サイクル毎（例えば１２５μｓ毎）に、アイソクロナスパケットを、ＢＵＳ１側に自動転送する。
【０１９１】
そして本実施形態では図１９（Ｂ）に示すように、転送数予約レジスタＴＮＲＥＧに予約された転送数が零になると、次のアイソクロナス転送サイクルでの自動転送が中断される。そして、処理部６０に対して割り込みが発生する。これにより、処理部６０は、予約した転送数のアイソクロナスパケットの転送が終了したことを容易に知ることができる。従って、処理部６０（ファームウェア）は、ＴＮＲＥＧに転送数を予約した後、割り込みが返ってくるまでの時間を、他の処理に使用することができ、処理の効率化を図れる。
【０１９２】
例えば図１９（Ａ）、（Ｂ）とは異なる手法として、アイソクロナス転送サイクル毎に、処理部６０が各アイソクロナスパケットの転送開始を指示する手法を考えることができる。
【０１９３】
しかしながら、この手法では、アイソクロナスパケット数分の転送開始指示が必要になってしまう。即ち、アイソクロナス転送サイクルが１２５μｓである場合には、１２５μｓ毎に転送開始指示を行わなければならない。このため、処理部６０の処理負荷が重くなってしまう。
【０１９４】
これに対して図１９（Ａ）、（Ｂ）の本実施形態の手法では、処理部６０は、一度、転送数を予約すれば、その転送数のアイソクロナスパケットの転送が完了するまで、転送開始を指示なくてもよくなる。この結果、処理部６０の処理負荷を軽くでき、実効的な転送レートを向上できる。
【０１９５】
また、本実施形態によれば、処理部６０は余った時間を他の処理に使うことができ、処理部６０の使用効率を向上できる。そして、画像データをＨＤＤに録画しながら他の画像データをＨＤＤから読み出して再生するタイムシフト再生などを行う場合にも、高性能の処理部６０（ＣＰＵ）を使わなくて済むようになり、装置の低コスト化を図れる。
【０１９６】
また、アイソクロナス転送においては、タイムスタンプ制御の要請から、各時点において予約可能なアイソクロナスパケットの転送数に制限がある。このため、処理部６０（ファームウェア）は、アイソクロナスパケットのタイムスタンプを参照しながら、何個先のアイソクロナスパケットまで送れるのかを計算し、計算結果に基づいて、その時点で予約可能な転送数を決定する。本実施形態によれば、このようにして処理部６０が決定した転送数を転送数予約レジスタＴＮＲＥＧに予約することが可能になり、タイムスタンプ制御による制限を遵守しながら、効率の良いデータ転送を実現できる。
【０１９７】
なお、図２０に示すように、ＳＲＡＭ４０のヘッダ領域（アイソクロナスヘッダ）に、アイソクロナスヘッダと組みとなるアイソクロナスデータのデータポインタ（データ領域でのアドレスを指すポインタ）を書き込むことが望ましい。そして、ＤＭＡＣ１は、このデータポインタを用いて、アイソクロナス（ＩＳＯ）ヘッダとアイソクロナス（ＩＳＯ）データとにより構成されるアイソクロナスパケットを組み立てて、ＢＵＳ１側に自動転送することが望ましい。
【０１９８】
このようにすれば、処理部６０は、アイソクロナスヘッダ（図２（Ｂ）参照）を用意してヘッダ領域に書き込み、ＴＮＲＥＧに転送数を予約するだけで、予約転送数分のアイソクロナスパケットが自動的に組み立てられ、ＢＵＳ１側に自動転送されるようになる。これにより、処理部６０の処理負荷を更に軽減できる。
【０１９９】
また図２０のようなデータポインタを利用すれば、ＢＵＳ１側に転送するアイソクロナスデータ（例えばＩピクチャを含むＴＳパケット）と、転送しないアイソクロナスデータ（例えばＩピクチャを含まないＴＳパケット）の選別が容易になる。
【０２００】
なお、転送数予約レジスタＴＮＲＥＧは、Ｄフリップフロップなどの保持回路で実現してもよいし、ＲＡＭなどのメモリにより実現してもよい。
【０２０１】
また、予約転送数分の転送の終了を、割り込み以外の方法で処理部６０に伝えるようにしてもよい。また、処理部６０への割り込みをマスクする回路を設けてもよい。
【０２０２】
また、転送数予約レジスタを用いてアイソクロナスパケットを転送する発明においては、図３に示すＳＤＲＡＭ５０を設けない構成とすることもできる。
【０２０３】
また、転送数予約レジスタＴＮＲＥＧは、処理部６０により、任意の数の転送数を予約できるレジスタであることが望ましい。このようにすれば、アイソクロナスパケットのデータの大きさやＳＲＡＭ４０のアイソクロナス送信データ領域の大きさに応じた最適の転送数をＴＮＲＥＧに設定できるようになる。
【０２０４】
例えば、ＤＶ（Digital Video）データでは、ＴＳパケットのデータが大きくなる。従って、このようなＤＶデータの転送時に、予約転送数を大きな値に設定すると、ＳＲＡＭ４０のアイソクロナス送信データ領域に、予約転送数分のアイソクロナスデータを書き込めなくなっていまうという事態が生じる。ＴＮＲＥＧを、任意の数の転送数を予約できるレジスタにすれば、適切な転送数をＴＮＲＥＧに設定することで、このような事態が生じるのを防止できる。
【０２０５】
１０．ページ毎の転送数予約
本実施形態では図２１に示すように、ＳＲＡＭ４０（第１のメモリ）の記憶領域が、ヘッダ領域（アイソクロナスヘッダ領域）とデータ領域（アイソクロナスデータ領域）に分離されている。また、ヘッダ領域が、ページＫの領域（第Ｋのページ領域）とページＬの領域（第Ｌのページ領域）に分離されている。
【０２０６】
一方、転送数予約レジスタＴＮＲＥＧは、ページＫ（狭義にはページ０）、ページＬ（狭義にはページ１）の領域での転送数を予約するためのレジスタであるＴＮＲＥＧＫ、ＴＮＲＥＧＬを含む。
【０２０７】
そして図２１に示すように、ＤＭＡＣ１（第１のメモリアクセス制御回路）は、ページＫの領域のアイソクロナスヘッダＩＨＫ０〜ＩＨＫ７を処理部６０が用意している間に、ページＬの領域に書き込まれているアイソクロナスヘッダと、データ領域に書き込まれているアイソクロナスデータを読み出す。即ち、ページＬのアイソクロナスヘッダＩＨＬ０〜ＩＨＬ７を順次読み出し、読み出されたアイソクロナスヘッダのデータポインタ（図２０参照）で指示されるアイソクロナスデータ（ＴＳパケット）を読み出す。
【０２０８】
そして、ＤＭＡＣ１は、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、図１９（Ａ）、（Ｂ）で説明したように、ＴＮＲＥＧＬに予約された転送数が零になるまでアイソクロナス転送サイクル毎にＢＵＳ１側に自動転送する。
【０２０９】
一方、図２２では、ＤＭＡＣ１は、ページＬの領域のアイソクロナスヘッダＩＨＬ０〜ＩＨＬ７を処理部６０が用意している間に、ページＫの領域に書き込まれているアイソクロナスヘッダと、データ領域に書き込まれているアイソクロナスデータとを読み出す。即ち、ページＫのアイソクロナスヘッダＩＨＫ０〜ＩＨＫ７を順次読み出し、読み出されたアイソクロナスヘッダのデータポインタで指示されるアイソクロナスデータを読み出す。
【０２１０】
そして、ＤＭＡＣ１は、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、ＴＮＲＥＧＫに予約された転送数が零になるまでアイソクロナス転送サイクル毎にＢＵＳ１側に自動転送する。
【０２１１】
図２１、図２２の手法によれば、ＴＮＲＥＧＫ、ＴＮＲＥＧＬの各々に例えば「８」を設定すれば、１６個先までのアイソクロナスパケットの転送を予約することが可能になる。
【０２１２】
また、図２１、図２２の手法によれば、処理部６０は、アイソクロナスヘッダをヘッダ領域に書き込む作業を行っている際に、アイソクロナスパケットの転送がどこまで進んでいるのかを意識しなくて済むようになる。例えば図２１のようにページＫの領域にアイソクロナスヘッダを書き込んでいる際には、ページＬの領域の転送処理が行われており、ページＫの領域については転送処理は行われていないからである。従って、処理部６０は、所望のアイソクロナスヘッダを用意して、転送が行われていない方のページ領域にそのアイソクロナスヘッダを書き込むだけという単純な作業を行うだけで済む。これにより、処理部６０の処理が簡素化され、その処理負荷を軽減できるようになり、実効的な転送レートを向上できる。
【０２１３】
図２３に、転送数予約レジスタＴＮＲＥＧのレジスタマップの例を示す。
【０２１４】
まず、処理部６０が、ヘッダ領域にアイソクロナスヘッダを書き込んだ後に、ページＫカウント（ページ０カウント）、ページＬカウント（ページ１カウント）に、転送数（ヘッダの個数）を設定する。
【０２１５】
データ転送制御装置（ハードウェア回路）は、ページＫカウント、ページＬカウントが零でなければ、アイソクロナス転送サイクル毎に、アイソクロナス転送を開始する。この場合、ページＫ、ページＬのどちらのページから転送を開始するかは、別に設けられた転送モード選択レジスタを用いて設定できる。そして、システムリセットの後は、転送モード選択レジスタの値は、ページＫの転送モードを選択する値に設定されている。従って、処理部６０がページＫカウントに値を設定するだけで、ページＫから転送が開始するようになる。
【０２１６】
そして、ページＫカウントは、１つのアイソクロナスパケット（アイソクロナスヘッダ）の転送が終了する毎に、１つずつデクリメントされる。そして、ページＫカウントが零になると、処理部６０に対して割り込みが発生する。
【０２１７】
ページＫの転送実行中に、処理部６０（ファームウェア）は、ページＬのアイソクロナスヘッダを用意する。そして、ページＬカウントに値を設定する。
【０２１８】
そして、ページＫの転送が終了すると、転送モード選択レジスタの値が、ページＫの転送モードからページＬに転送モードに切り替わる。そして、ページカウントＬに値（転送数）が設定されていれば、ページＬのアイソクロナスパケットの転送が開始する。
【０２１９】
なお、ページＫカウント、ページＬカウントに零を設定すれば、転送を完全に中断することができる。
【０２２０】
次に、図２４、図２５のフローチャートを用いて、転送数予約レジスタＴＮＲＥＧを利用した転送処理の詳細について説明する。
【０２２１】
まず、ページＫのデータ予約・転送処理を行う（ステップＳ５１）。これにより、ページＫのデータ転送が開始する。次に、ページＬのデータ予約・転送処理を行う（ステップＳ５２）。すると、ページＫのデータ転送が既に開始しているため、ページＬのデータ転送は待機中になる。
【０２２２】
次に、ページＫ（８サイクル分のアイソクロナス転送）の転送が終了したか否かを判断する（ステップＳ５３）。そして、終了した場合には、ページＬの転送が予約されているかを判断する（ステップＳ５４）。そして、予約されていなかった場合には転送を終了する。一方、予約されていた場合には、ページＬのデータ転送が開始する。
【０２２３】
次に、ページＫのデータ予約・転送処理を行う（ステップＳ５６）。すると、ページＬのデータ転送が既に開始しているため、ページＫのデータ転送は待機中になる。
【０２２４】
次に、ページＬ（８サイクル分のアイソクロナス転送）の転送が終了したか否かを判断する（ステップＳ５７）。そして、そして、終了した場合には、ページＫの転送が予約されているかを判断する（ステップＳ５８）。そして、予約されていなかった場合には転送を終了する（ステップＳ５９）。一方、予約されていた場合には、ステップＳ５２に戻る。
【０２２５】
図２５は、図２４のステップＳ５１、Ｓ５２、Ｓ５６のデータ予約・転送処理について説明するためのフローチャートである。
【０２２６】
まず、ＳＲＡＭに、未予約のアイソクロナスパケット８個分のデータがあるか否かを判断する（ステップＳ６１）。そして、８個分のデータが無い場合には、ＤＭＡＣ２によってＳＲＡＭにデータが書き込まれるのをウェイトする（ステップＳ６２）。
【０２２７】
一方、８個分のデータがある場合には、処理部が、８個分のアイソクロナスパケット用ヘッダを用意し、アイソクロナスヘッダ領域のページＫ（或いはＬ）に書き込む（ステップＳ６３）。そして、処理部が、転送数予約レジスタのページＫ（或いはＬ）の予約領域（ＴＮＲＥＧＫ）に、８サイクル分の転送を予約する（ステップＳ６４）。
【０２２８】
以上のようにすることで、ページＫ、Ｌを用いた効率的なデータ転送を実現できる。
【０２２９】
なお、本実施形態では、ページ数が２ページの場合について説明したが、ページ数を３ページ以上にしてもよい。
【０２３０】
１１．ＭＰＥＧストリームの特殊再生
さて、図１９（Ａ）〜図２５の本実施形態の手法によれば、ＭＰＥＧストリームの特殊再生（早送り再生等）時においても、効率的なデータ転送を実現できる。
【０２３１】
図２６に、ＭＰＥＧ２（以下、適宜、単にＭＰＥＧと呼ぶ）のストリーム構造（階層構造）を示す。
【０２３２】
ＭＰＥＧのＴＳ(Transport Stream)パケットでは、Ｉピクチャ（広義にはフレーム内符号化データ）や、Ｂピクチャ及びＰピクチャ（広義にはフレーム間符号化データ或いは予測符号化データ）や、オーディオデータ（音声データ、非ビデオデータ）等が、１つのビットストリームに多重化されてパケット化されている（パケット多重）。
【０２３３】
そして図２６に示すように、ＭＰＥＧストリームにおいては、ＴＳパケットのペイロード（ペイロード部、データ部）の連結により、ＰＥＳ(Packetized Elementary Stream)パケットが構成される。より具体的には、同じＰＩＤ（パケット識別情報）のＴＳパケットのペイロードを組み合わせることで、ＰＥＳヘッダ及びＰＥＳペイロードからなる可変長のＰＥＳパケットが構成される。
【０２３４】
ここで、ＥＳ(Elementary Stream)は、ビデオやオーディオのようなコンテンツの構成要素となるものである。このＥＳにヘッダを付加したものがＰＥＳと呼ばれる。そしてＭＰＥＧ２では、ＰＥＳを多重化するものとして、ＴＳ(Transport Stream)とＰＳ(Program Stream)の２種類の多重化ストリームが定義されている。そしてＴＳ(Transport Stream)は、１８８バイトの固定長のＴＳパケットが連続したストリームである。このＴＳパケットは、ＴＳヘッダ（ヘッダ部）とＴＳペイロード（ペイロード部）により構成される。
【０２３５】
さて、デジタル記録・再生装置などの電子機器では、早送り再生などの特殊再生（トリックプレイ）機能を如何にして実現するかが重要な課題となる。
【０２３６】
このような課題を解決するために本実施形態では、図２７に示すように、ＰＥＳパケット（図２６に示すようにＴＳパケットの連結により構成されるパケット）のヘッダ情報（ストリームＩＤ等）を検出する回路８２と、ＰＥＳパケットのペイロードのピクチャ情報（スタートコード等）を検出する回路８４を含む検出回路８０を設けている。また、検出されたヘッダ情報とピクチャ情報を処理部６０に表示する情報インディケータレンジスタ９０を設けている。
【０２３７】
より具体的には、ヘッダ情報検出回路８２は、まず、ＴＳパケットのＰＩＤ（パケット識別番号）が処理部６０により指定されたＰＩＤか否かを検出する。そして、指定されたＰＩＤである場合には、そのＴＳパケットのペイロードが、ＰＥＳパケットを構成する先頭のＴＳペイロードか否かを、ＴＳヘッダに含まれるＰＵＳＩ（ペイロード部スタートインディケータ）を用いて判断する。そして、図２８（Ａ）に示すＰＥＳヘッダのストリームＩＤを取得して、ＴＳパケットが、ビデオストリームのＴＳパケットかオーディオストリーム（非ビデオストリーム）のＴＳパケットかを確認する。そして、取得したストリームＩＤと、ＳＲＡＭ４０でのストリームＩＤの格納アドレスを、情報インディケータレジスタ９０に書き込み、処理部６０に報告する。
【０２３８】
また、ピクチャ情報検出回路８４は、ＴＳパケットのＰＩＤが処理部６０により指定されたＰＩＤであり、且つ、ビデオストリームのＴＳパケットであると判断された場合には、ＰＥＳパケットのデータバイト（ペイロード）を検出する。そして、データバイトに含まれるスタートコードを取得する。そして、取得されたスタートコードが、図２８（Ｂ）に示すシーケンスヘッダコード、グループスタートコード、ピクチャスタートコードである場合には、そのスタートコードと、ＳＲＡＭ４０でのスタートコードの格納アドレスを、情報インディケータレジスタ９０に書き込み、処理部６０に報告する。
【０２３９】
そして、処理部６０（ファームウェア）は、情報インディケータレジスタ９０からの検出情報報（ヘッダ情報、ピクチャ情報）に基づいて、ＢＵＳ１（ＩＥＥＥ１３９４）を介して転送すべきＴＳパケットを決定する。そして、ＤＭＡ１は、アイソクロナスヘッダの中のデータポインタ（図２０参照）を用いて、ＢＵＳ１を介して転送すべきＴＳパケットを選別する。例えば早送り再生時（特殊再生時）においては、Ｉピクチャ（広義にはフレーム内符号化データ）を含むＴＳパケットが選別され、選別されたＴＳパケットに、ヘッダ領域のアイソクロナスヘッダ等が付加される。そして、得られたアイソクロナスパケットは、１３９４インターフェース３１、ＢＵＳ１を介して図１のデジタルチューナ２０（広義にはＢＵＳ１に接続される電子機器）に転送される。
【０２４０】
例えば、ＭＰＥＧストリームの中のＰピクチャやＢピクチャ（フレーム間符号化データ、予測符号化データ）では、その１フレーム分のデータだけでは画像を再現できない。一方、Ｉピクチャ（フレーム内符号化データ）では、その１フレーム分のデータだけで画像を再現できる。
【０２４１】
本実施形態では、早送り再生などの特殊再生時において、Ｉピクチャを含むＴＳパケット（第２の層のパケット）を選別して、ＢＵＳ１側に転送している。
【０２４２】
より具体的には、図２９のＡ１に示すように、早送り再生などの特殊再生時において、Ｉピクチャを含むＴＳパケットについては、ＢＵＳ１を介してデジタルチューナ２０に転送される。
【０２４３】
一方、図２９のＡ２に示すように、オーディオデータを含むＴＳパケット（非ビデオデータのＴＳパケット）や、Ｉピクチャを含まずＢピクチャ、Ｐピクチャを含むＴＳパケット（Ｂピクチャ、Ｐピクチャだけで占められているＴＳパケット）については、ＢＵＳ１を介した転送（送信）が停止される。
【０２４４】
例えば図２９のＡ３に示すＴＳパケット（ＴＳペイロード）はＩピクチャを含むため、転送が許可される。また、Ａ４に示すＴＳパケットはＢピクチャを含むがＩピクチャも含むため、転送が許可される。一方、Ａ５、Ａ６に示すＴＳパケットはＢピクチャやＰピクチャだけで占められているため、転送が停止される。
【０２４５】
このように本実施形態によれば、Ｉピクチャ以外のビデオデータがデジタルチューナ２０に転送されないため、特殊再生時の画像の乱れを防止できる。また、オーディオデータが転送されないため、雑音の発生を防止できる。また、データ転送量が限られているＩＥＥＥ１３９４バスにより、より多くのＩピクチャのデータを転送できるため、コマ落ちが少なく動きが滑らかな映像を再生できる。
【０２４６】
更に、ヘッダ情報やピクチャ情報の検出は、ハードウェアで構成される検出回路８０により行われるため、処理部６０（ファームウェア）の処理負荷を軽減でき、処理部６０は余った時間を他の処理に使えるようになる。
【０２４７】
１２．データポインタによる選別
次に、データポインタを利用したＴＳパケット（広義には、アイソクロナスパケットの下層である第２の層のパケット）の選別手法について説明する。
【０２４８】
図３０に示すように本実施形態では、ＳＲＡＭ４０のヘッダ領域（送信ヘッダ領域）にアイソクロナス（ＩＳＯ）ヘッダが書き込まれ、データ領域（送信データ領域、送信ストリーム領域）にＴＳパケットが書き込まれる。また、ヘッダ領域にはデータポインタＤＰ０〜ＤＰ５（データ領域での各ＴＳパケットのアドレスを指すポインタ）が書き込まれる。これらのデータポインタＤＰ０〜ＤＰ５は、例えば各アイソクロナスヘッダＩＨ０〜５の末尾（トレイラー）に付加される。そして、これらのデータポインタＤＰ０〜ＤＰ５を用いて、アイソクロナスヘッダＩＨ０〜５に結合されるべきＴＳパケットＴＳ０、ＴＳ１、ＴＳ２、ＴＳＫ＋１、ＴＳＫ＋２、ＴＳＫ＋３が選別される。
【０２４９】
より具体的には、図２７の処理部６０が、情報インディケータレジスタ９０からのヘッダ情報やピクチャ情報に基づいて、ＢＵＳ１を介して転送すべきＴＳパケットを決定する。そして、転送すべきＴＳパケットのアドレス（先頭アドレス）を指すデータポインタを含むアイソクロナスヘッダを用意する。この場合に本実施形態では、ストリームＩＤやスタートコードの格納アドレス（送信ストリーム領域でのアドレス）についても、情報インディケータレジスタ９０に書き込まれている。従って、処理部６０は、これらの格納アドレスを用いて、データポインタのアドレスを容易に知ることができる。
【０２５０】
例えば図３０では、ＩピクチャやＰＥＳヘッダやＧＯＰヘッダを含むＴＳパケットについては、特殊再生時にＢＵＳ１を介してデジタルチューナ２０に転送する必要がある。従って、処理部６０は、これらのＴＳパケットのデータポインタＤＰ０〜ＤＰ５を含むＩＳＯヘッダＩＨ０〜５を、ヘッダ領域に書き込む。
【０２５１】
一方、ＢピクチャやＰピクチャやオーディオデータを含むＴＳパケットについては、特殊再生時にデジタルチューナ２０に転送する必要がない。従って、処理部６０は、これらのＴＳパケットについては、そのデータポインタを含むアイソクロナスヘッダをヘッダ領域に書き込まない。即ち、処理部６０は、これらのＴＳパケットのデータ転送が飛ばされるように、データポインタを設定する。
【０２５２】
そしてＤＭＡＣ１は、このように設定されたデータポインタを用いてＴＳパケットを選別し、ＢＵＳ１を介してデジタルチューナ２０に転送する。より具体的には、ヘッダ領域にあるアイソクロナスヘッダを先頭から順次読んで行く。そして、アイソクロナスヘッダが含むデータポインタを用いて、そのアイソクロナスヘッダの組みとなるＴＳパケットを選別する。例えば図３０では、データポインタＤＰ０〜ＤＰ５により、ＴＳパケットＴＳ０、ＴＳ１、ＴＳ２、ＴＳＫ＋１、ＴＳＫ＋２、ＴＳＫ＋３が選別される。そして、アイソクロナスヘッダと、選別されたＴＳパケット（下層の第２の層のパケット）とを結合し、アイソクロナスパケット（上層の第１の層のパケット）を組み立てて、ＢＵＳ１を介して転送する。なお、このアイソクロナスパケットには、図２（Ｂ）、（Ｃ）、（Ｄ）に示すようなＣＩＰヘッダやＳＰヘッダを含ませる。
【０２５３】
以上のようにすることで本実施形態では、早送り再生などの特殊再生時に、Ｉピクチャを含むＴＳパケットを選別して、効率良く転送することに成功している。
【０２５４】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０２５５】
例えば、明細書中の記載において広義な用語（第１のメモリ、第２のメモリ、第１のメモリインターフェース、第２のメモリインターフェース、第１のバス、第２のバス、第１のバスインターフェース、第２のバスインターフェース、第１のメモリアクセス制御回路、第２のメモリアクセス制御回路、第３のメモリアクセス制御回路、記憶媒体、第１の暗号化・復号化処理、第２の暗号化・復号化処理等）として引用された用語（ＳＲＡＭ、ＳＤＲＡＭ、ＳＲＡＭインターフェース、ＳＤＲＡＭインターフェース、ＩＥＥＥ１３９４・ＵＳＢバス、ＩＤＥバス、１３９４インターフェース、ＩＤＥインターフェース、ＤＭＡＣ１、ＤＭＡＣ２、ＤＭＡＣ３、ＨＤＤ、ＤＴＣＰ、ＤＥＳ等）は、明細書中の他の記載においても広義な用語に置き換えることができる。
【０２５６】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０２５７】
また、本発明のデータ転送制御装置の構成は、図３、図９（Ａ）〜図１２、図１８、図２７等に示す構成に限定されず、種々の変形実施が可能である。例えば、これらの各図の各ブロック、各ユニットの一部を省略したり、その接続関係を変更してもよい。
【０２５８】
また本発明は、ＩＥＥＥ１３９４やＵＳＢと同様の思想に基づく規格や、ＩＥＥＥ１３９４やＵＳＢを発展させた規格のバスで転送する場合にも適用可能である。或いは、ＩＥＥＥ１３９４やＵＳＢ以外の規格のバス（高速シリアルバス）で転送する場合にも本発明は適用可能である。
【図面の簡単な説明】
【図１】図１（Ａ）、（Ｂ）は、本実施形態の電子機器の構成例を示す図である。
【図２】図２（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）は、アイソクロナス転送、アシンクロナス転送について説明するための図である。
【図３】本実施形態のデータ転送制御装置の構成例を示す図である。
【図４】比較例のデータ転送制御装置の構成例を示す図である。
【図５】図５（Ａ）、（Ｂ）、（Ｃ）は、本実施形態のデータ転送制御方法について説明するための図である。
【図６】図６（Ａ）、（Ｂ）、（Ｃ）も、本実施形態のデータ転送制御方法について説明するための図である。
【図７】アシンクロナスデータの転送を行う場合のデータ転送制御方法について説明するための図である。
【図８】図８（Ａ）、（Ｂ）は、ＳＲＡＭ、ＳＤＲＡＭのメモリマップの例を示す図である。
【図９】図９（Ａ）、（Ｂ）は、データ転送制御装置の外部にＳＤＲＡＭを設ける手法について説明するための図である。
【図１０】図１０（Ａ）、（Ｂ）も、データ転送制御装置の外部にＳＤＲＡＭを設ける手法について説明するための図である。
【図１１】データ転送制御装置の詳細な構成例について示す図である。
【図１２】データ転送制御装置の詳細な構成例について示す図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）は、データ転送制御装置で使用される各信号の意味について示す図である。
【図１４】図１４（Ａ）、（Ｂ）は、各種信号のタイミング波形について示す図である。
【図１５】本実施形態の動作について説明するためのフローチャートである。
【図１６】本実施形態の動作について説明するためのフローチャートである。
【図１７】本実施形態の動作について説明するためのフローチャートである。
【図１８】本実施形態の手法をＵＳＢに適用した場合のデータ転送制御装置の構成例を示す図である。
【図１９】図１９（Ａ）、（Ｂ）は、転送数予約レジスタを用いたデータ転送手法について説明するための図である。
【図２０】データポインタを用いる手法について説明するための図である。
【図２１】ページＫ、ページＬ用の転送数予約レジスタを用いたデータ転送手法について説明するための図である。
【図２２】ページＫ、ページＬ用の転送数予約レジスタを用いたデータ転送手法について説明するための図である。
【図２３】転送数予約レジスタのレジスタマップの例を示す図である。
【図２４】転送数予約レジスタを用いた転送処理について説明するためのフローチャートである。
【図２５】データ予約・転送処理について説明するためのフローチャートである。
【図２６】ＭＰＥＧストリームの構造について説明するための図である。
【図２７】ヘッダ情報とピクチャ情報を検出して、Ｉピクチャを含むＴＳパケットを選別するデータ転送制御装置の構成例について示す図である。
【図２８】図２８（Ａ）、（Ｂ）は、ヘッダ情報検出回路、ピクチャ情報検出回路の検出処理について説明するための図である。
【図２９】特殊再生時にＩピクチャ以外のＴＳパケットの転送を停止する手法について説明するための図である。
【図３０】データポインタを用いてＴＳパケットを選別する手法について説明するための図である。
【符号の説明】
１０    ＨＤＤ（記憶媒体）
１２    操作部
１４    ディスプレイ部
２０    デジタルチューナ
２１    ＭＰＥＧデコーダ
２２    操作部
２４    テレビ
２６    アンテナ
３０    データ転送制御装置
３１    １３９４インターフェース（第１のバスインターフェース）
３２    物理（ＰＨＹ）層回路
３３    リンク層回路
３４    ＩＤＥインターフェース（第２のバスインターフェース）
４０    ＳＲＡＭ（第１のメモリ）
４２    ＳＲＡＭインターフェース（第１のメモリインターフェース）
５０    ＳＤＲＡＭ（第２のメモリ）
５２    ＳＤＲＡＭインターフェース（第２のメモリインターフェース）
６０    処理部（ＣＰＵ）
７０    メモリポインタ管理回路
７２    自動ＤＭＡ判定回路（自動メモリアクセス判定回路）
ＢＵＳ１      第１のバス（ＩＥＥＥ１３９４、ＵＳＢ）
ＢＵＳ２      第２のバス（ＩＤＥ）
ＤＭＡＣ１    第１のメモリアクセス制御回路
ＤＭＡＣ２    第２のメモリアクセス制御回路
ＤＭＡＣ３    第３のメモリアクセス制御回路
ＥＮＣ・ＤＥＣ１  第１（１３９４側）の暗号化・復号化回路
ＥＮＣ・ＤＥＣ２  第２（ＩＤＥ側）の暗号化・復号化回路
ＴＮＲＥＧ    転送数予約レジスタ
ＴＮＲＥＧＫ  第Ｋのページ用転送数予約レジスタ
ＴＮＲＥＧＬ  第Ｌのページ用転送数予約レジスタ
ＴＳパケット  第２の層のパケット
【図１】
0003671925.tif 000002
【図２】
0003671925.tif 000003
【図３】
0003671925.tif 000004
【図４】
0003671925.tif 000005
【図５】
0003671925.tif 000006
【図６】
0003671925.tif 000007
【図７】
0003671925.tif 000008
【図８】
0003671925.tif 000009
【図９】
0003671925.tif 000010
【図１０】
0003671925.tif 000011
【図１１】
0003671925.tif 000012
【図１２】
0003671925.tif 000013
【図１３】
0003671925.tif 000014
【図１４】
0003671925.tif 000015
【図１５】
0003671925.tif 000016
【図１６】
0003671925.tif 000017
【図１７】
0003671925.tif 000018
【図１８】
0003671925.tif 000019
【図１９】
0003671925.tif 000020
【図２０】
0003671925.tif 000021
【図２１】
0003671925.tif 000022
【図２２】
0003671925.tif 000023
【図２３】
0003671925.tif 000024
【図２４】
0003671925.tif 000025
【図２５】
0003671925.tif 000026
【図２６】
0003671925.tif 000027
【図２７】
0003671925.tif 000028
【図２８】
0003671925.tif 000029
【図２９】
0003671925.tif 000030
【図３０】
0003671925.tif 000031