JP3671925B2 - データ転送制御装置、電子機器及びデータ転送制御方法 - Google Patents

データ転送制御装置、電子機器及びデータ転送制御方法 Download PDF

Info

Publication number
JP3671925B2
JP3671925B2 JP2002077976A JP2002077976A JP3671925B2 JP 3671925 B2 JP3671925 B2 JP 3671925B2 JP 2002077976 A JP2002077976 A JP 2002077976A JP 2002077976 A JP2002077976 A JP 2002077976A JP 3671925 B2 JP3671925 B2 JP 3671925B2
Authority
JP
Japan
Prior art keywords
data
isochronous
transfer
area
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002077976A
Other languages
English (en)
Other versions
JP2003283499A (ja
Inventor
伸之 ▲斎▼藤
大輔 佐藤
義美 岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2002077976A priority Critical patent/JP3671925B2/ja
Priority to US10/390,862 priority patent/US7054959B2/en
Publication of JP2003283499A publication Critical patent/JP2003283499A/ja
Application granted granted Critical
Publication of JP3671925B2 publication Critical patent/JP3671925B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送制御装置、電子機器及びデータ転送制御方法に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
近年、デジタル放送やインターネットを介したAV(Audio Visual)データのデジタル配信が普及しつつある。そして、このようなAVデータのデジタル配信が普及するにつれて、配信されたAVデータを効率良く記録できるデジタル記録・再生装置(電子機器)への需要が高まっている。
【0003】
さて、AVデータの転送には、そのリアルタイム性を担保するために、IEEE1394やUSB(Universal Serial Bus)2.0などの高速シリアルバスが用いられる。一方、AVデータを記録するデジタル記録・再生装置(電子機器)は、大量のデータを高速に記憶することができるHDD(Hard Disk Drive)などの記憶媒体(Storage Medium)を備えることが望ましい。
【0004】
このため、IEEE1394やUSB2.0などの高速バスと、HDDなどの記憶媒体との間で、データを高速に送受信することができるデータ転送制御装置への要望が高まっている。
【0005】
本発明は以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、高速なデータ転送を実現できるデータ転送制御装置、電子機器及びデータ転送制御方法を提供することにある。
【0006】
【課題を解決するための手段】
本発明は、バスを介したデータ転送のためのデータ転送制御装置であって、アイソクロナスデータを含むアイソクロナスパケットの転送数を処理部が予約するための転送数予約レジスタと、第1のメモリからアイソクロナスパケットを読み出し、読み出されたアイソクロナスパケットを、転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第1のバス側に自動転送する第1のメモリアクセス制御回路とを含むデータ転送制御装置に関係する。
【0007】
本発明によれば、処理部が、転送数予約レジスタにアイソクロナスパケットの転送数を予約する。すると、第1のメモリからアイソクロナスパケット(アイソクロナスヘッダ、アイソクロナスデータ)が読み出され、読み出されたアイソクロナスパケットが、転送数予約レジスタの予約転送数が零(零と実質的に同じ場合を含む)になるまで、アイソクロナス転送サイクル毎に第1のバス側に自動転送される。
【0008】
このようにすれば、処理部は、転送数を予約した後は、データ転送に関与しなくても済むようになる。従って、余った時間を他の処理に使えるようになり、処理を効率化できる。
【0009】
また本発明によれば、アイソクロナスデータの大きさ、転送するアイソクロナスデータの種類、或いはタイムスタンプの状態などに応じて、処理部は、所望の転送数を予約することも可能になる。
【0010】
また本発明では、前記第1のメモリアクセス制御回路が、前記転送数予約レジスタに予約された転送数が零になった場合に、次のアイソクロナス転送サイクルでの自動転送を中断すると共に、処理部に対して割り込みを発生してもよい。
【0011】
このようにすれば、処理部は、転送数を予約した後、割り込みが返ってくるまでの時間を、他の処理に使用できるようになり、処理の効率化を図れる。
【0012】
また本発明では、第1のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、前記ヘッダ領域が、第K、第Lのページ領域を含み、前記転送数予約レジスタが、前記第K、第Lのページ領域での転送数を予約するための第K、第Lのページ用の転送数予約レジスタを含み、前記第1のメモリアクセス制御回路が、前記第Kのページ領域に書き込むべきアイソクロナスヘッダを処理部が用意している際に、前記第Lのページ領域に書き込まれているアイソクロナスヘッダとデータ領域に書き込まれているアイソクロナスデータとを読み出し、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、第Lのページ用転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第1のバス側に自動転送してもよい。
【0013】
このようにすれば、処理部は、アイソクロナスヘッダをヘッダ領域に書き込む作業を行っている際に、アイソクロナスパケットの転送がどこまで進んでいるのかを意識しなくて済むようになる。これにより、処理部の処理を簡素化できる。
【0014】
なお、ヘッダ領域や転送数予約レジスタのページ数を3ページ以上にしてもよい。
【0015】
また本発明では、第1のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、前記ヘッダ領域に、アイソクロナスヘッダと組みとなるアイソクロナスデータについての前記データ領域でのアドレスを指すデータポインタが書き込まれ、前記第1のメモリアクセス制御回路が、前記データポインタを用いて、アイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを組み立てて、第1のバス側に自動転送してもよい。
【0016】
このようにすれば、アイソクロナスパケットの組み立ても、処理部が関与せずに自動的に行われるようになり、処理部の処理負荷を更に軽減できる。
【0017】
また本発明では、前記第1のメモリアクセス制御回路が、データ領域に書き込まれるアイソクロナスデータが、アイソクロナスパケットよりも下層の複数の第2の層のパケットを含む場合に、第1のバス側に転送する第2の層のパケットと転送しない第2の層のパケットとを、前記データポインタを用いて選別してもよい。
【0018】
このようにすれば、第2の層のパケット(例えばTSパケット)の選別を、負荷の軽い処理で実現できるようになる。
【0019】
また本発明では、前記第1のメモリアクセス制御回路が、記憶媒体の特殊再生時に、前記データポインタを用いてIピクチャを含む第2の層のパケットを選別し、選別された第2の層のパケットを第1のバス側に自動転送してもよい。
【0020】
このようにすれば、特殊再生に必要なIピクチャを含む第2の層パケットを、簡素な処理で第1のバス側に転送できるようになり、高品質な特殊再生を実現できる。
【0021】
また本発明では、記憶媒体が接続される第2のバス側から転送されるアイソクロナスデータを、第1のメモリよりも大容量の第2のメモリに書き込む第3のメモリアクセス制御回路と、第2のメモリに書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータを第1のメモリに書き込む第2のメモリアクセス制御回路とを含み、前記第1のメモリアクセス制御回路が、前記第1のメモリに書き込まれたアイソクロナスデータを含むアイソクロナスパケットを第1のメモリから読み出し、読み出されたアイソクロナスパケットを、転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第1のバス側に自動転送してもよい。
【0022】
本発明によれば、第2のバス側から転送されるアイソクロナスデータが大容量の第2のメモリに書き込まれる。そして、第2のメモリからアイソクロナスデータが読み出され、小容量の第1のメモリに書き込まれる。そして、書き込まれたアイソクロナスデータを含むアイソクロナスパケットが、第1のバス側に転送される。
【0023】
このように本発明によれば、第2のバス側から転送されるアイソクロナスデータが、キャッシュメモリとして機能する第2のメモリによりバッファリングされて、第1のバス側に転送されるようになる。これにより、一定の転送レートで間断なく転送することが要求されるアイソクロナスデータを、第2のバス側から第1のバス側に効率良く転送できるようになる。
【0024】
また本発明では、前記第2のメモリが、連続したアドレスのデータを所与のクロックに同期して入出力できる同期型メモリであってもよい。
【0025】
第2のメモリとしてこのような同期型メモリを用いれば、バーストデータとして転送されるアイソクロナスデータの効率良い転送が可能になる。
【0026】
また本発明では、前記第1のメモリが、データ転送制御装置の内部に設けられる内部メモリであり、前記第2のメモリが、データ転送制御装置の外部に設けられる外部メモリであってもよい。
【0027】
このようにすれば、データ転送制御装置の小規模化、低コスト化等を図ることが可能になる。
【0028】
また本発明は、上記のいずれかのデータ転送制御装置と、データ転送制御装置の第2のバスに接続され、第2のバスを介して転送されるデータを記憶する記憶媒体とを含む電子機器に関係する。
【0029】
また本発明は、バスを介したデータ転送のためのデータ転送制御方法であって、アイソクロナスデータを含むアイソクロナスパケットの転送数を転送数予約レジスタに予約し、第1のメモリからアイソクロナスパケットを読み出し、読み出されたアイソクロナスパケットを、転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第1のバス側に自動転送するデータ転送制御方法に関係する。
【0030】
【発明の実施の形態】
以下、本発明の実施形態について詳細に説明する。
【0031】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【0032】
1.電子機器
図1(A)に、本実施形態のデータ転送制御装置30を含む電子機器(デジタル記録・再生装置)のブロック図の例を示し、図1(B)にその外観図の例を示す。
【0033】
この電子機器16は、HDD10(Hard Disk Drive)、データ転送制御装置30を含む。また、ユーザが電子機器を操作するための操作部12を含む。また、ユーザに各種の情報を表示するディスプレイ部14(LCD)を含む。
【0034】
ユーザは、操作部12を操作することで、再生モード(通常再生、特殊再生)の指定などを行うことができる。また、ディスプレイ部14に表示される情報を見ることで、現在の再生モードなどを確認できる。
【0035】
この電子機器16は、IEEE1394バス又はUSB2.0などの第1のバスBUS1を介してデジタルチューナ20(或いはデジタルビデオカメラ)に接続されている。そして、デジタルチューナ20はMPEG(Moving Picture Experts Group)デコーダ21(広義にはデコーダ)を含み、このMPEGデコーダ21は、アンテナ26等により受信されたMPEGストリームをデコードする。そして、デコードデータに基づいて、テレビ24(ディスプレイ部)が映像が表示したり、音声を出力する。また、ユーザは、操作部22(リモコン等)を用いて、チャンネル(放送局)の選択、再生モード(通常再生、特殊再生)の指定などを行うことができる。
【0036】
AV(Audio Visual)用のHDD10(広義には記憶媒体)へのMPEGストリームの記録時においては、アンテナ26で受信されたMPEGストリーム(TSパケット)が、BUS1(IEEE1394、USB2.0)、データ転送制御装置30を介してHDD10に書き込まれる。
【0037】
一方、HDD10のMPEGストリームの再生時においては、IDE(Integrated Device Electronics)などの第2のバスBUS2を介してHDD10からMPEGストリーム(TSパケット、アイソクロナスデータ)が読み出される。そして、読み出されたMPEGストリームが、データ転送制御装置30、BUS1を介してデジタルチューナ20に転送され、デジタルチューナ20のMPEGデコーダ21がデコードする。これにより、テレビ24に映像が映し出される。
【0038】
なお、本実施形態が適用される電子機器は図1(A)、(B)に示す電子機器に限定されない。例えば、ビデオテープレコーダ(HDD内蔵)、光ディスク(DVD)レコーダ、デジタルビデオカメラ、パーソナルコンピュータ或いは携帯型情報端末などの種々の電子機器に適用できる。
【0039】
2.アイソクロナス転送
IEEE1394では、パケットの転送方式として、信頼性が要求されるデータの転送に好適なアシンクロナス(asynchronous)転送と、リアルタイム性が要求される動画像や音声などのデータの転送に好適なアイソクロナス(isochronous)転送が用意されている。アシンクロナス(非同期)転送は、データの転送レートは保証しないがデータの確実性を保証する転送方式である。一方、アイソクロナス転送は、データの確実性は保証しないが、転送レートや転送の等時性を保証する転送方式である。このアイソクロナス転送は、USB(Universal Serial Bus)においてもサポートされている。
【0040】
図2(A)に、IEEE1394でのデータ転送時のバスの様子を模式的に示す。
【0041】
アイソクロナス転送は、サイクルマスタが一定周期毎にサイクル・スタートパケットを発生することで開始する。これにより、1つのチャネル当たり、125μs毎(アイソクロナス転送サイクル毎)に少なくとも1つのアイソクロナス(ISO)パケットを転送できるようになる。この結果、動画像や音声などのリアルタイム性が要求されるデータの転送が可能になる。
【0042】
一方、アシンクロナス転送はアイソクロナス転送の合間に行われる。即ち、IEEE1394では、アイソクロナス転送の方がアシンクロナス転送よりも優先順位が高くなっており、アイソクロナス転送終了後の余りの期間を利用して、アシンクロナス(ASY)パケットが転送される。
【0043】
図2(B)に、MPEGストリームをIEEE1394バスで転送する場合のアイソクロナス転送パケットのフォーマット例を示す。
【0044】
図2(B)において、ISOヘッダがIEEE1394形式のパケットのヘッダに相当し、CIP(common isochronous packet)ヘッダ、SP(source packet)ヘッダ及びTS(Transport Stream)パケットが、IEEE1394形式のパケットのデータ(ペイロード)に相当する。
【0045】
これらのSPヘッダやCIPヘッダのフォーマット例を図2(C)、(D)に示す。これらのSPヘッダやCIPヘッダは、IEEE1394バス上でMPEGストリームを転送するためのプロトコルを定めたIEC61883規格により定義されている。例えばSPヘッダは、タイムスタンプ情報(アイソクロナス転送のサイクルカウント、アイソクロナス転送サイクル中でのオフセット値)を含む。またCIPヘッダは、転送されるデータがMPEGデータであることを宣言したり、MPEGのTSパケットの分割方法を指定するものであり、ソースノードID、データブロックサイズ、フォーマットIDなどを含む。
【0046】
なお、IEEE1394バスの接続先の電子機器がデジタルチューナではなくデジタルビデオカメラなどである場合には、SPヘッダは不要となる。この場合には、CIPヘッダにタイムスタンプ情報を含ませる。
【0047】
3.データ転送制御装置の構成
図3に、本実施形態のデータ転送制御装置(図1の符号30)の構成例を示す。なお、本実施形態のデータ転送制御装置は、図3の全ての回路、ユニット(部)を含む必要はなく、その一部を省略する構成にしてもよい。
【0048】
図3のデータ転送制御装置は、1394インターフェース31(広義には第1のバスインターフェース)を含む。この1394インターフェース31は、データ転送制御装置とIEEE1394(第1のバスBUS1)に接続される他の電子機器(デジタルチューナ等)との間のインターフェースを実現する。そして、IEEE1394プロトコルの物理層、リンク層を実現する物理層(PHY)回路32、リンク層回路33を含む。
【0049】
データ転送制御装置は、IDEインターフェース34(広義には第2のバスインターフェース、記憶媒体用インターフェース)を含む。IDEインターフェース34は、データ転送制御装置とハードディスクドライブHDD10(広義には記憶媒体)との間のインターフェースを実現する回路である。
【0050】
AV用のHDD10においては、パーソナルコンピュータ用として広く使用されているIDE(ATA)のインターフェースを持つ安価なHDDを用いられる。一方、デジタルチューナ(BSチューナ、CSチューナ)などの電子機器においては、デジタルデータ(デジタルビデオデータ、デジタルオーディオデータ)のインターフェースとしてIEEE1394が広く用いられている。
【0051】
図3のように1394インターフェース31とIDEインターフェース34を設ければ、IEEE1394(広義には第1のバス規格)とIDE(広義には第2のバス規格)の変換ブリッジ機能をデータ転送制御装置に実現させることが可能になる。
【0052】
データ転送制御装置は、SRAM(Static Random Access Memory)40とのインターフェースを実現するSRAMインターフェース42を含む。また、SDRAM(Synchronous Dynamic Random Access Memory)50とのインターフェースを実現するSDRAMインターフェース52を含む。
【0053】
ここでSRAM40(広義には第1のメモリ、パケットメモリ、パケットバッファ)は、SDRAM50(第2のメモリ)に比べて小容量なメモリである。また、ランダムアクセスを高速に行うことができるメモリである。
【0054】
このSRAM40は、第1のバスBUS1(IEEE1394等)を介して受信したパケット(ISOパケット、TSパケット)を一時的に記憶する機能を有する。また、記憶媒体HDD10から第2のバスBUS2を介して読み出されたパケット(TSパケット)を、BUS1を介して転送するために、一時的に記憶する機能も有する。
【0055】
そして、SRAM40は、DMAC1(Direct Memory Access Controller)、DMAC2、処理部60(CPU、MPU又はシステムコントローラ等)等により、ランダムアクセス可能なメモリになっている。この場合には、SRAMインターフェース42が調停回路として機能する。即ちSRAMインターフェース42は、DMAC1からのアクセス(BUS1側からのアクセス)、処理部60からのアクセス、DMAC2からのアクセス(BUS2側からのアクセス)の調停を行う。そして、調停結果に基づいて、DMAC1、DMAC2、処理部60のいずれかと、SRAM40との間に、データ経路を確立する。
【0056】
なお、SRAM40は、データ転送制御装置の内部に設けることが望ましいが、データ転送制御装置の外部に設けることも可能である。
【0057】
また、SRAM40の記憶領域を、ヘッダ領域(制御情報の領域)とデータ領域に分離したり、送信領域と受信領域に分離してもよい。また、アシンクロナス(Asynchronous)領域とアイソクロナス(Isochronous)領域に分離してもよい。
【0058】
一方、SDRAM50(広義には第2のメモリ、キャッシュメモリ、同期型メモリ)は、SRAM40に比べて大容量のメモリである。また、ランダムアクセス(或いはSRAM40)に比べてシーケンシャルアクセス(連続したアドレスへのアクセス)を高速に行うことができるメモリである。また、連続したアドレスのデータ(バーストデータ)をクロックに同期して入出力できるメモリである。このSDRAM50はアイソクロナスデータのキャッシュメモリとして機能する。
【0059】
なお、SDRAM50は、データ転送制御装置の外部に設けることが望ましいが、データ転送制御装置の内部に設けることも可能である。また、通常のSDRAMの代わりに、例えばDDR型SDRAM、ラムバス(Rambus)社のRDRAMなどの高速な同期型メモリを採用してもよい。
【0060】
また、SDRAM50の記憶領域を、送信領域と受信領域に分離したり、アシンクロナス領域とアイソクロナス領域に分離してもよい。
【0061】
データ転送制御装置はDMAC1(広義には第1のメモリアクセス制御回路)を含む。このDMAC1は、第1のバスBUS1側(1394インターフェース31)からのパケット(データ、ヘッダ)をSRAM40に書き込むための処理を行う。また、SRAM40に書き込まれたデータ(アイソクロナスデータ)を読み出し、そのデータとヘッダとで組み立てられるパケット(アイソクロナスパケット)をBUS1側に転送するための処理を行う。
【0062】
より具体的にはDMAC1は、SRAM40への書き込み時には、書き込み要求や書き込みアドレスを発生する。一方、SRAM40からの読み出し時には、読み出し要求や読み出しアドレスを発生する。これにより、SRAM40、1394インターフェース31(BUS1)間で、処理部60が介在しないDMA転送を実現する。
【0063】
データ転送制御装置はDMAC2(広義には第2のメモリアクセス制御回路)を含む。このDMAC2は、SRAM40に書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータを、SRAM40よりも大容量のSDRAM50に書き込むための処理を行う。また、SDRAM50に書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータをSRAM40に書き込むための処理を行う。
【0064】
より具体的にはDMAC2は、SRAM40やSDRAM50からの読み出し時には、読み出し要求や読み出しアドレスを発生する。一方、SRAM40やSDRAM50への書き込み時には、書き込み要求や書き込みアドレスを発生する。これにより、SRAM40、SDRAM50間で、処理部60が介在しないDMA転送を実現する。
【0065】
データ転送制御装置はDMAC3(広義には第3のメモリアクセス制御回路)を含む。このDMAC3は、SDRAM50に書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータを、BUS2側(IDEインターフェース34)に転送するための処理を行う。また、BUS2側から転送されるアイソクロナスデータを、SDRAM50に書き込むための処理を行う。
【0066】
より具体的にはDMAC3は、SDRAM50からの読み出し時には、読み出し要求や読み出しアドレスを発生する。一方、SDRAM50への書き込み時には、書き込み要求や書き込みアドレスを発生する。これにより、SDRAM50、BUS2(IDEインターフェース34)間で、処理部60が介在しないDMA転送を実現する。
【0067】
DMAC1は、第1(1394側)の暗号化・復号化回路ENC・DEC1を含む。このENC・DEC1は、SRAM40から読み出されたデータ(アイソクロナスデータ)を第1の暗号化処理により暗号化し、BUS1側に転送するための処理を行う。また、BUS1側から転送される暗号化データ(暗号化アイソクロナスデータ)を第1の復号化処理により復号化し、SRAM40に書き込むための処理を行う。
【0068】
この場合に、第1の暗号化処理(復号化処理)としては、例えば、IEEE1394の暗号化規格であるDTCP(Digital Transmission Content Protection)などを採用できる。
【0069】
ここで、DTCP(5C DTCP)は、IEEE1394により接続された電子機器(デバイス)間で、暗号化データを送受信するための規格である。このDTCPでは、保護されるべき暗号化データを電子機器間で送受信する前に、データ保護機構を受信側の電子機器が備えているか否かを確認する認証処理を行う。そして、保護機構を備えている事が認証処理により確認されると、暗号を解くための鍵を電子機器間で交換する。そして、送信側の電子機器は暗号化データを送信し、受信側の電子機器は受信した暗号化データを復号化する。
【0070】
このようにすることで、DTCPに準拠した電子機器間でのみ保護データの送受信を行えるようになる。これにより、保護機構を有しない電子機器や、データを改変してしまうような電子機器から、データのコンテンツを保護できる。
【0071】
また、このDTCPでは、コンテンツ提供者が設定したコピー制御情報が電子機器間でやり取りされる。これにより、「コピー禁止」、「1回だけコピー可能」、「コピー・フリー」などのコピー制御が可能になる。また、コンテンツと共に改訂情報(System Renewability Messages)が配布される。これにより、不正な電子機器へのデータ転送を禁止したり制限することが可能になり、不正コピーを将来に渡り禁止できる。また、このDTCPは、IEEE1394のみならずUSBの暗号化規格としても採用されることが期待されている。
【0072】
なお、DTCPの暗号化処理・復号化処理についてはDTLA(Digital Transmission Licensing Administrator)社のホームページで詳しく説明されている。
【0073】
DMAC2は、第2(IDE側)の暗号化・復号化回路ENC・DEC2を含む。このENC・DEC2は、SRAM40から読み出されたデータ(アイソクロナスデータ、BUS1側から転送されるデータ)を第2の暗号化処理により暗号化し、SDRAM50に書き込むための処理を行う。また、SDRAMから読み出された暗号化データ(暗号化アイソクロナスデータ)を、第2の復号化処理により復号化し、SRAM40に書き込むための処理(BUS1側に転送するための処理)を行う。
【0074】
この場合に、第2の暗号化処理(復号化処理)としては、例えば、共通鍵暗号化方式の1つであるDES(Data Encryption Standard)などを採用できる。
【0075】
共通鍵暗号化方式は、金融業界等の分野で広く使用されている暗号化方式である。この共通鍵暗号化方式は、暗号化と復号化において同一の鍵を用いる。共通鍵暗号化方式の中でもDESは最も広く利用されている暗号化方式である。
【0076】
このDESでは、1ブロックが64ビットのデータに対して、非線形変換(sbox)、転置処理等が16段分繰り返される。各段の処理では、48ビットのサブ鍵が用いられ、このサブ鍵は64ビットの共通鍵から生成される。
【0077】
DESには、SDES(Single DES)とTDES(Triple DES)がある。TDESは、SDESのアルゴリズムを3回繰り返す暗号化方式である。このTDESでは、SDESのアルゴリズムを流用することができ、かつ暗号鍵の鍵長を拡張するのと同様の効果を得ることができるため、比較的容易に暗号強度を高めることができる。
【0078】
なお、本実施形態のデータ転送制御装置では、DES(Single DES、Triple DES)以外にも、DESの後継の共通鍵暗号化方式であるAES(Advanced Encryption Standard)などを採用してもよい。
【0079】
データ転送制御装置は処理部60を含む。この処理部60は、装置内の各回路や各ユニット(部)の制御や装置の全体制御を行う。この処理部60の機能は、CPU或いはシステムコントローラ(ASIC)などのハードウェアや、ファームウェア(プログラム)により実現される。なお、処理部60をデータ転送制御装置の外部に設けるようにしてもよい。
【0080】
データ転送制御装置はメモリポインタ管理回路70を含む。このメモリポインタ管理回路70は、SRAM40(或いはSDRAM50)の読み出しポインタや書き込みポインタ(メモリのアドレスを指すポインタ)を管理する回路である。DMAC1、DMAC2は、メモリポインタ管理回路70により管理(制御)されるポインタを用いてメモリアドレスを発生し、DMA転送を実現する。
【0081】
メモリポインタ管理回路70が含む自動DMA判定回路72(広義には自動メモリアクセス判定回路)は、SRAM40の受信データ量が所与の転送単位(転送データ量)を越えたか否かを判定する回路である。この自動DMA判定回路72は、受信データ量が所与の転送単位(例えばNバイト)を越えた場合に自動DMA(メモリアクセス)開始信号をアクティブにする。これにより、DMAC2は、SRAM40の受信データ領域から、上記の転送単位のデータ(アイソクロナスデータ)を読み出し、SDRAM50(BUS2)側に転送することになる。また、ENC・DEC2も、上記の転送単位でデータの暗号化を行うことになる。
【0082】
データ転送制御装置は転送数予約レジスタTNREGを含む。この転送数予約レジスタTNREGは、アイソクロナスデータを含むアイソクロナスパケット(広義にはパケット)の転送数を処理部60が予約するためのレジスタである。
【0083】
即ち、DMAC1は、SRAM40からアイソクロナスパケット(アイソクロナスデータ、アイソクロナスヘッダ)を読み出す。そして、読み出されたアイソクロナスパケットを、TNREGに予約された転送数が零になるまで、アイソクロナス転送サイクル(125μs)毎にBUS1側に自動転送(処理部60が介在しない転送)するための処理を行うことになる。
【0084】
なお、TNREGに予約された転送数が零になると、次のアイソクロナス転送サイクルでの自動転送は中断され、処理部60に対して割り込みが発生する。
【0085】
また、TNREGは、SRAM40のヘッダ領域の第K(例えばK=0)のページ領域用の転送数予約レジスタTNREGKと、ヘッダ領域の第L(例えばL=1)のページ領域用の転送数予約レジスタTNREGLを含む。
【0086】
そして、DMAC1は、第Kのページ領域に書き込むべきアイソクロナスヘッダを処理部60が用意している際に、第Lのページ領域に書き込まれているアイソクロナスヘッダと、データ領域に書き込まれているアイソクロナスデータとを、SRAM40から読み出す。そして、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、TNREGLの予約転送数が零になるまで、BUS1側に自動転送する。
【0087】
また、DMAC1は、第Lのページ領域に書き込むべきアイソクロナスヘッダを処理部60が用意している際に、第Kのページ領域に書き込まれているアイソクロナスヘッダと、データ領域に書き込まれているアイソクロナスデータとを、SRAM40から読み出す。そして、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、TNREGKの予約転送数が零になるまで、BUS1側に自動転送する。
【0088】
図4に、本実施形態の比較例となるデータ転送制御装置を示す。
【0089】
図3と図4の構成の主な相違点は、図4では、SRAM、SDRAM間のDMA転送を実現するDMAC2や、SDRAM50や、SDRAMインターフェース52や、転送数予約レジスタTNREGや、自動DMA判定回路72等が設けられていない点である。
【0090】
図4の比較例の構成は、パーソナルコンピュータのファイルデータの転送には適している。しかしながら、AVデータの高速転送には、図3の本実施形態の構成の方が適している。
【0091】
即ち、IEEE1394では、AVデータはアイソクロナス方式で転送される。この場合、アイソクロナス転送では、一定以上の転送レートで間断なくアイソクロナスパケットが転送される。一方、HDD510のデータの読み出し・書き込みには、一定時間のアクセスタイム(ヘッドのシークタイム)が必要になる。従って、図4のように小容量のSRAM540だけを設ける構成では、間断なく転送されるアイソクロナスパケットを、余裕を持ってバッファリングすることができない。即ち、HDD510への書き込み処理がヘッドのシークが原因で遅れると、アイソクロナスパケットを受信できなくなる。また、HDD510からの読み出し処理が遅れると、アイソクロナスパケットを送信できなくなる。
【0092】
これに対して図3の本実施形態の構成では、キャッシュメモリとして機能するSDRAM50を用いて、アイソクロナスデータのバッファリングが行われる。従って、HDD10の書き込み処理や読み出し処理が遅れても、間断なく転送されるアイソクロナスデータを、余裕を持ってバッファリングでき、データの連続性を保証できるようになる。即ち、容易に入手可能で安価なSDRAM50を用いてアイソクロナスデータのキャッシュを行い、データ転送レートを保証することで、AVデータの再生能力を向上させることができる。
【0093】
特に、アイソクロナス転送では、一定量のデータが連続して転送される。即ち画像データや音声データは、ある程度の量の連続したデータが固まりとなって転送される。従って、図3のように、高速なシーケンシャルアクセス(連続したアドレスへのアクセス)が可能なSDRAM50をアイソクロナスデータのキャッシュメモリとして用いれば、アイソクロナスデータの効率的なバッファリングを実現できる。
【0094】
一方、SRAM40ではデータの仕分け処理などが行われる。そして、処理部60は、SRAM40の所望のアドレスにランダムにアクセスし、転送すべきパケットのヘッダを書き込んだりパケットを解析するパケット処理を行う。従って、SDRAM50に比べてランダムアクセスを高速に行うことができるSRAM40を、仕分け処理用・パケット処理用のメモリとして用いれば、効率的な仕分け処理・パケット処理を実現できる。
【0095】
このように図3の本実施形態では、データの仕分け処理やパケット処理用のメモリとしてSRAM40を用い、アイソクロナスデータのキャッシュメモリとしてSDRAM50を用いるというように、これまでにないメモリの使い分けを行っている。これにより、図4の構成では実現できない効率的なデータ転送処理を実現できる。
【0096】
4.データ転送制御方法
次に本実施形態のデータ転送制御方法について図5(A)、(B)、図6(A)、(B)を用いて説明する。
【0097】
図5(A)に示すように本実施形態では、SRAM(第1のメモリ)の記憶領域を、アイソクロナスデータを記憶する領域と、それ以外の領域に分離している。
【0098】
そして図5(A)に示すように受信時においては、DMAC1が、BUS1側から転送されるパケットのうちアイソクロナスパケットを選別し、アイソクロナスパケットが含むアイソクロナスデータを、SRAM40のアイソクロナスデータ領域に書き込む。この際に、第1の暗号化・復号化回路ENC・DEC1が、DTCP等により暗号化されたデータを復号化する。そして、復号化されたデータをSRAM40のアイソクロナスデータ領域に書き込む。
【0099】
次にDMAC2が、SRAM40のアイソクロナスデータ領域からアイソクロナスデータを読み出し、SDRAM50(第2のメモリ)に書き込む。この際に、第2の暗号化・復号化回路ENC・DEC2が、SRAM40から読み出されたアイソクロナスデータをDES等により暗号化する。そして、暗号化されたデータをSDRAM50に書き込む。
【0100】
このような暗号化処理を行うことで、SDRAM50に書き込まれたアイソクロナスデータ(デジタル・コンテンツ)の機密性を維持でき、著作権保護を実現できる。
【0101】
次にDMAC3が、暗号化されたアイソクロナスデータをSDRAM50から読み出し、BUS2側に転送する。これによりDESにより暗号化されたアイソクロナスデータ(TSパケット)が、HDD10に記録されるようになる。
【0102】
なお図5(B)に示すように、SRAM40の記憶領域を、アイソクロナスデータ領域とアシンクロナスデータ領域に分離することが望ましい。
【0103】
この場合にはDMAC1が、BUS1側から転送されるパケットを選別し、アイソクロナスデータをアイソクロナスデータ領域に書き込み、アシンクロナスデータをアシンクロナスデータ領域に書き込む。そしてDMAC2が、アイソクロナスデータ領域に書き込まれているアイソクロナスデータだけをSRAM40から読み出し、SDRAM50に書き込む。
【0104】
また図5(C)に示すように、SRAM40の記憶領域を、アイソクロナス送信データ領域とアイソクロナス受信データ領域とアシンクロナス送信データ領域とアシンクロナス受信データ領域に分離してもよい。また、SDRAM50の記憶領域を、アイソクロナス送信データ領域とアイソクロナス受信データ領域に分離してもよい。
【0105】
この場合にはDMAC1が、アイソクロナスデータをアイソクロナス受信データ領域に書き込み、アシンクロナスデータをアシンクロナス受信データ領域に書き込む。次にDMAC2が、アイソクロナスデータをSRAM40から読み出し、SDRAM50のアイソクロナス受信データ領域に書き込む。そして、DMAC3が、アイソクロナスデータをSDRAM50のアイソクロナス受信データ領域から読み出し、BUS2側に転送する。
【0106】
送信時においては図6(A)に示すように、DMAC3が、BUS2側(HDD10)からのアイソクロナスデータ(TSパケット)をSDRAM50に書き込む。
【0107】
次に、DMAC2が、SDRAM50からアイソクロナスデータを読み出し、SRAM40のアイソクロナスデータ領域に書き込む。この際に、第2の暗号化・復号化回路ENC・DEC2が、DESにより暗号化されたデータを復号化する。そして、復号化されたデータをSRAM40のアイソクロナスデータ領域に書き込む。
【0108】
次にDMAC1が、SRAM40のアイソクロナスデータ領域からアイソクロナスデータを読み出し、BUS1側に転送する。この際に、第1の暗号化・復号化回路ENC・DEC1が、SRAM40から読み出されたアイソクロナスデータをDTCP等により暗号化する。そして、暗号化されたデータをBUS1を介して転送する。
【0109】
このようなDTCPの暗号化を行うことで、IEEE1394上でのアイソクロナスデータ(デジタル・コンテンツ)の機密性を維持でき、著作権保護を実現できる。
【0110】
なお、SRAM40の記憶領域をアイソクロナスデータ領域とアシンクロナスデータ領域に分離する場合には、図6(B)に示すようにデータ転送を行えばよい。また、SRAM40とSDRAM50の記憶領域を、送信データ領域と受信データ領域に分離する場合には、図6(C)に示すようにデータ転送を行えばよい。
【0111】
さて、AVデータを転送する場合に、アイソクロナスデータ領域とアシンクロナスデータ領域を分離しないと、AVデータ(AVストリーム)とAVコマンド(AV/Cプロトコルのコマンド)の仕分けが困難になる。
【0112】
本実施形態では図5(B)、図6(B)に示すように、SRAM40の記憶領域をアイソクロナスデータ領域とアシンクロナスデータ領域に分離しているため、AVデータとAVコマンドの仕分けが容易になる。これにより、BUS1(IEEE1394)側から受信したAVデータだけを、BUS2(IDE)側に自動転送することが可能になり、処理部60に負担をかけない効率的なAVデータの転送を実現できる。
【0113】
また本実施形態では図5(C)、図6(C)に示すように、SRAM40やSDRAM50の記憶領域を、送信データ領域と受信データ領域に分離している。これにより、アイソクロナスデータの送信と受信を独立に行うことができる。従って、アイソクロナスデータの送信と受信の転送レートを同時に保証できるようになる。この結果、画像データをHDD10に録画しながら、他の画像データをHDD10から読み出して再生するタイムシフト再生が容易になる。
【0114】
なお、アシンクロナスデータをHDD10に記録する場合には、図7に示すようにデータ転送を行えばよい。即ち、SDRAM50のデータ転送経路をバイパスして、DMAC2、DMAC3間で直接にアシンクロナスデータを転送する。
【0115】
この場合に、アイソクロナスデータはSDRAM50に蓄積されたままとなり、アシンクロナスデータの転送が終了するのを待つことになる。そして、アシンクロナスデータの転送が終了すると、データ転送制御装置を外部のSDRAM50に再接続する。そして、SDRAM50に蓄積されたアイソクロナスデータを図5(A)〜図6(C)で説明した手法で転送し、転送を再開すればよい。
【0116】
一般的に、パーソナルコンピュータ(PC)のファイルシステムとしてHDD10を使用する場合には、アシンクロナス転送が用いられる。一方、AVデータをHDD10に記録する場合にはアイソクロナス転送が用いられる。
【0117】
本実施形態のように、SRAM40の記憶領域をアイソクロナスデータ領域とアシンクロナスデータ領域に分離すると共に、アシンクロナス転送時にSDRAM50をDMAの転送経路から切り離すことで、AVデータとPCのファイルデータの両方をHDD10に記録できるようになる。即ち、アイソクロナスデータであるAVデータを転送する場合には、図5(A)〜図6(C)に示す手法でアイソクロナスデータ領域を介してデータ転送を行えばよい。一方、アシンクロナスデータであるPCのファイルデータを転送する場合には、図7に示す手法でSDRAM50をDMAの転送経路から切り離し、アシンクロナスデータ領域を介してデータを転送すればよい。
【0118】
このようにすることで、あたかもAV用のHDDとPC用のHDDの両方が接続されているかのように見える使用形態を、ユーザに提供できる。
【0119】
図8(A)、(B)に、SRAM40、SDRAM50のメモリマップの詳細例を示す。
【0120】
図8(A)では、SRAM40の記憶領域が、ヘッダ領域と、アシンクロナス送信データ領域と、アシンクロナス受信データ領域と、アイソクロナス送信データ領域と、アイソクロナス受信データ領域に分離されている。また図8(B)では、SDRAM50の記憶領域が、アイソクロナス送信データ領域と、アイソクロナス受信データ領域に分離されている。なお、SRAM40、SDRAM50の記憶領域として、図8(A)、(B)に示したもの以外の領域を設けてもよい。
【0121】
さて、図8(A)では、アシンクロナス送信データ領域の読み出し用ポインタとしてATP1(BUS1側アシンクロナスTxポインタ)が用意され、書き込み用ポインタとしてATP2(BUS2側アシンクロナスTxポインタ)が用意される。
【0122】
また、アシンクロナス受信データ領域の書き込み用ポインタとしてARP1(BUS1側アシンクロナスRxポインタ)が用意され、読み出し用ポインタとしてARP2(BUS2側アシンクロナスRxポインタ)が用意される。
【0123】
また、アイソクロナス送信データ領域の読み出し用ポインタとしてITP1(BUS1側アイソクロナスTxポインタ)が用意され、書き込み用ポインタとしてITP2(BUS2側アイソクロナスTxポインタ)が用意される。
【0124】
また、アイソクロナス受信データ領域の書き込み用ポインタとしてIRP1(BUS1側アイソクロナスRxポインタ)が用意され、読み出し用ポインタとしてIRP2(BUS2側アイソクロナスRxポインタ)が用意される。
【0125】
これらのポインタは、図3のメモリポインタ管理回路70により管理(設定、更新)される。そして、これらのポインタを用いることで、データの効率的な読み出し処理・書き込み処理を実現できる。
【0126】
なお、図8(A)において、AV/Cプロトコルのコマンドは、送信時にはアシンクロナス送信データ領域に書き込まれ、受信時にはアシンクロナス受信データ領域に書き込まれる。このAV/Cプロトコルのコマンドは、AV機器を制御(再生、停止等)したり、状況を問い合わせたりするために使用されるコマンドである。
【0127】
また、図8(A)、(B)の各領域は、いわゆるリングバッファ構造になっている。即ち、これらの領域の一方の境界(スタートアドレス)から他方の境界(エンドアドレス)に向かって情報(データ、ヘッダ)が格納され、他方の境界に達した場合には一方の境界に戻って情報が格納されるようになっている。
【0128】
5.SDRAMの外部接続
本実施形態では図9(A)、(B)に示すように、SRAM40(第1のメモリ)についてはデータ転送制御装置30(Integrated Circuit)の内部に設け、SDRAM50(第2のメモリ)についてはデータ転送制御装置30(IC)の外部に設けている。そして、SDRAM50を、データ転送制御装置30の外部端子に接続している。
【0129】
図9(A)、(B)に示すような構成にすることで、SDRAM50をデータ転送制御装置30のIC内部に設ける必要がなくなり、ICのチップ面積を小規模化できる。また、安価な汎用のSDRAM50を使用できるようになり、電子機器の低コスト化を図れる。
【0130】
しかしながら、SDRAM50を外部に設けた場合に、アイソクロナスデータの機密が漏洩するおそれがある。
【0131】
そこで本実施形態では、データ転送制御装置30の外部端子からは、DES等(第2の暗号化処理)で暗号化されたデータだけが入出力される構成にしている。
【0132】
具体的には、例えば受信時には図9(A)に示すように、DMAC2が、SRAM40(BUS1側)からデータを読み出し、読み出されたデータをENC・DEC2がDES(広義には第2の暗号化処理)により暗号化する。そして、DMAC2が、暗号化されたデータを、データ転送制御装置30の外部端子(データ端子)を介してSDRAM50に書き込む。
【0133】
次に、DMAC3が、SDRAM50に書き込まれた暗号化データを、データ転送制御装置30の外部端子を介して読み出し、読み出された暗号化データを、HDD10(記憶媒体)などが接続されるBUS2側に転送する。
【0134】
一方、送信時には図9(B)に示すように、DMAC3が、DESにより暗号化されたデータを、HDD10からBUS2を介して読み出す。そして、データ転送制御装置30の外部端子を介してSDRAM50に書き込む。
【0135】
そして、DMAC2が、SDRAM50に書き込まれた暗号化データを、データ転送制御装置30の外部端子を介して読み出し、ENC・DEC2が、読み出された暗号化データをDESの復号化処理で復号化する。そして、DAMC2が、復号化されたデータを、SRAM40に書き込む(BUS1側に転送する)。
【0136】
なお、ENC・DEC1は、図9(A)の受信時には、IEEE1394のDTCP(広義には第1の暗号化処理)により暗号化されたデータを復号化する。そして、復号化されたデータをDMAC1がSRAM40に書き込む。
【0137】
一方、図9(B)の送信時には、DMAC1がデータをSRAM40から読み出し、読み出されたデータをENC・DEC1がDTCPで暗号化する。そして、暗号化データをDMAC1がBUS1側に転送する。
【0138】
以上のようにすることで、データ転送制御装置30の外部端子(データ端子)では、暗号化されたデータだけが入出力されるようになる。これにより、データの機密性を維持でき、データのコンテンツの著作権保護を実現できる。
【0139】
また、SDRAM50にも暗号化されたデータだけが記憶されるようになり、データの機密性を更に高めることができる。
【0140】
また図9(A)、(B)のようにENC・DEC1、ENC・DEC2を配置すれば、SRAM40には、常に復号化されたデータだけが記憶されるようになる。これにより、処理部60は、SRAM40を用いたパケット処理(パケットの解析、パケットの準備)を行うことが可能になる。
【0141】
なお、データのコンテンツによっては、暗号化が不要な場合もある。例えばアナログデータとして配信されたコンテンツについては、著作権保護が及ばない場合があり、暗号化が不要となる。
【0142】
一方、ENC・DEC2により暗号化・復号化処理を行うと、その処理の分だけ転送速度が低下するおそれがある。
【0143】
そこで本実施形態では、暗号化・復号化処理をバイパスする経路を設けている。
【0144】
具体的には受信時には図9(A)に示すように、DMAC2(第2のメモリアクセス制御回路)が、バイパス経路62を用いて、暗号化が不要なデータに対するDESの暗号化処理(第2の暗号化処理)をバイパスする。そして例えば、SRAM40から読み出されたデータ(BUS1側からデータ)を、ENC・DEC2を介さずに直接にSDRAM50に書き込む。
【0145】
一方、送信時には図9(B)に示すように、DMAC2が、バイパス経路62を用いて、復号化が不要なデータに対するDESの復号化処理(第2の復号化処理)をバイパスする。そして例えば、SDRAM50から読み出されたデータを、ENC・DEC2を介さずに直接にSRAM40に書き込む(BUS1側に転送する)。
【0146】
このようにすることで、著作権の保護が及ばないデータ(コンテンツ)に対して、無駄な暗号化処理や復号化処理を行わなくて済むようになる。この結果、データ転送の実効的な転送レートを向上できる。
【0147】
なお、データ転送制御装置30の外部端子を介してSDRAM50(外部メモリ)に暗号データを入出力する発明などにおいては、図10(A)、(B)に示すようにSRAM40(内部メモリ)を設けない構成にしてもよい。
【0148】
例えば受信時には図10(A)に示すように、BUS1側(1394インターフェース31)から転送されるデータを、DMAC2が含むENC・DEC2がDES(第2の暗号化処理)により暗号化する。そして、暗号化されたデータをDMAC2がSDRAM50に書き込む。そして、DMAC3が、暗号化されたデータをSDRAM50から読み出し、BUS2側(IDEインターフェース34)に転送する。
【0149】
また送信時には図10(B)に示すように、BUS2側(IDEインターフェース34)から転送される暗号化データを、DMAC3がSDRAM50に書き込む。そして、暗号化されたデータをDMAC2がSDRAM50から読み出し、読み出されたデータをENC・DEC2が復号化する。そして、DMAC2が、復号化されたデータをBUS1側(1394インターフェース31)に転送する。
【0150】
なお、DTCPの暗号化・復号化処理については、ENC・DEC2が行ってもよいし、1394インターフェース31が行ってもよい。
【0151】
6.詳細な構成例
図11、図12に、DMAC2、SDRAMインターフェース52、DMAC3等の詳細な構成及び接続の例を示す。
【0152】
また、図13(A)、(B)、(C)に、図11、図12で使用される各信号の意味を示す。なお、図11において、IdeReq2はDMAC2からSRAM40へのアクセス(読み出し、書き込み)要求信号であり、IdeAck2はアクセス確認信号である。また、HostReq3はDMAC3からIDE側へのアクセス要求信号であり、HostAck3はアクセス確認信号である。また、DMAGOは自動DMA開始信号である。
【0153】
図11に示すように、DAMC2はFIFO1と、ENC・DEC2と、FIFO2を含む。そして受信時には、SRAM40からSRAMインターフェース42を介して読み出されたデータは、FIFO1に一時的に蓄積される。そして、FIFO1はそのデータをENC・DEC2に出力する。ENC・DEC2は、データを暗号化し、暗号化データをFIFO2に蓄積する。FIFO2は、蓄積されたデータをSDRAM50側に送る。
【0154】
一方、送信時には、SDRAM50からSDRAMインターフェース52を介して読み出されたデータは、FIFO2に一時的に蓄積される。そして、FIFO2はそのデータをENC・DEC2に出力する。ENC・DEC2は、データを復号化し、復号化データをFIFO1に蓄積する。FIFO1は、蓄積されたデータをSRAM40側に送る。
【0155】
なお、データの暗号化処理を行わない場合には、SRAM40から読み出されたデータは、バイパス経路62を介して直接にSDRAM50側に送られる。また、データの復号化処理を行わない場合には、SDRAM50から読み出されたデータは、バイパス経路62を介して直接にSRAM40側に送られる。
【0156】
また、DMAC2は、メモリポインタ管理回路70(自動DMA判定回路72)からの自動DMA開始信号がアクティブになった場合に、DMAを開始する。
【0157】
図11に示すように、DMAC3はFIFO3を含む。受信時には、SDRAM50から読み出されたデータはFIFO3に一時的に蓄積された後、IDE側に送られる。一方、送信時には、IDE側からのデータは、FIFO3に一時的に蓄積された後、SDRAM50側に送られる。
【0158】
なお、経路64は、ENC・DEC2及びSDRAM50を使用しない場合のバイパス経路である。SDRAM50も暗号化処理も不要の場合には、このバイパス経路64を選択してデータ転送を行う。また、経路66は、SDRAM50を使用しない場合のバイパス経路である。SDRAM50が不要の場合(例えばアシンクロナスデータの転送)には、このバイパス経路66を選択してデータ転送を行う。
【0159】
図12に示すように、データ転送制御装置30とSDRAM50は、同期クロック信号RAMCLKと、制御信号CKE、XCS、XRAS、XCAS、XWE、UDQM、LDQMと、アドレス信号Addressを用いて、データDataの転送を行う。なお、これらの信号の意味については図13(A)に示される。
【0160】
具体的には、データ転送制御装置30は、制御信号等(メモリバス)を用いて、SDRAM50に各種の動作モード(コマンド)や開始アドレスを設定する。すると、SDRAM50は、RAMCLKに同期して、開始アドレスに連続するアドレスのデータ(バーストデータ)を高速に入出力する。即ち、SDRAM50は、内部でアドレスを自動的に発生し、発生したアドレスに基づいて、内部メモリブロックへのアクセスを行う。なお、この場合に、RAMCLKよりも高速なクロック信号を内部で生成し、内部メモリブロックへのアクセスを行ってもよい。
【0161】
図14(A)、(B)に、図13(B)、(C)に示される種々の書き込みデータWrData、書き込み確認信号WrAck、書き込み要求信号WrReq、読み出しデータRdData、読み出し確認信号RdAck、読み出し要求信号RdReqのタイミング波形の例を示す。
【0162】
7.データ転送制御装置の動作
次に、図15、図16、図17のフローチャートを用いて、本実施形態のデータ転送制御装置の動作について説明する。
【0163】
図15は受信時の動作を示すフローチャートである。
【0164】
まず、アイソクロナスパケットの受信により無条件に転送処理を開始する(ステップS1)。そして、受信されたアイソクロナスパケットのデータをSRAMのアイソクロナス受信データ領域に書き込む(ステップS2)。
【0165】
次に、SRAMに書き込まれた受信データ量が自動DMA転送単位ATUを超えたか否かを判断する(ステップS3)。そして、越えた場合には、残り転送数RTNに自動DMA転送単位ATUをセットし、DMAC2を起動する(ステップS4)。具体的には図11の自動DMA開始信号DMAGOをアクティブにする。
【0166】
次に、SDRAMの記憶領域がフル(満杯)か否かを判断する(ステップS5)。そして、フルの場合には転送をウェイトし(ステップS6)、SDRAMに空きが生じるのを待つ。
【0167】
一方、SDRAMがフルでなくなった場合(空きが生じた場合)には、1ワード分のデータをSRAMから読み出す(ステップS7)。そして、読み出されたデータを暗号化し、SDRAMに書き込む(ステップS8、S9)。
【0168】
次に、残り転送数RTNを1だけデクリメントする(ステップS10)。そして、RTNが0か否かを判断し(ステップS11)、RTNが0ではない場合にはステップS5に戻り、RTNが0の場合にはステップS2に戻る。
【0169】
以上のようにして、BUS1(IEEE1394)を介して受信したデータが、SRAMを介してSDRAMに書き込まれることになる。
【0170】
図16、図17は送信時の動作を示すフローチャートである。
【0171】
まず、残り転送数RTNに全転送数ATNをセットし、DMAC3を起動する(ステップS21)。
【0172】
次に、SDRAMの記憶領域がフルか否かを判断し(ステップS22)、フルの場合には転送をウェイトし(ステップS23)、空きが生じるのを待つ。そして、フルでなくなった場合(空きが生じた場合)には、1ワード分のデータの転送を実行する(ステップS24)。
【0173】
次に、残り転送数RTNを1だけデクリメントする(ステップS25)。そして、RTNが0か否かを判断し(ステップS26)、RTNが0ではない場合にはステップS22に戻り、RTNが0の場合には処理を終了する。
【0174】
以上のようにして、BUS2(IDE)側からのデータが、SDRAMに書き込まれる。
【0175】
次に図17に示すように、残り転送数RTNに全転送数ATN(アイソクロナスパケットM個分)をセットし、DMAC2を起動する(ステップS31)。
【0176】
そして、SDRAMの記憶領域がエンプティ(空)か否かを判断し(ステップS32)、エンプティの場合には転送をウェイトし(ステップS33)、SDRAMにデータが貯まるのを待つ。一方、SDRAMがエンプティでなくなった場合(データが貯まった場合)には、SRAMの記憶領域がフルか否かを判断する(ステップS34)。そして、フルの場合には転送をウェイトし(ステップS35)、SRAMに空きが生じるのを待つ。
【0177】
SRAMの記憶領域がフルでなくなった場合(空きが生じた場合)には、1ワード分のデータをSDRAMから読み出す(ステップS36)。そして、読み出されたデータ(著作権保護データの場合)を復号化し(ステップS37)、復号化データをSRAMに書き込む(ステップS38)。
【0178】
次に、残り転送数RTNを1だけデクリメントする(ステップS39)。そして、RTNが0か否かを判断し(ステップS40)、RTNが0ではない場合にはステップS32に戻り、RTNが0の場合には処理を終了する。
【0179】
以上のようにして、SDRAMに書き込まれたデータがSRAMに書き込まれるようになる。
【0180】
8.USBへの適用
図18に、本実施形態の手法をUSB(USB2.0等)に適用した場合のデータ転送制御装置の構成例を示す。
【0181】
図18の構成が図3と異なるのは以下の点である。
【0182】
即ち図18では、図3の1394インターフェース31の代わりにUSBインターフェース131が設けられている。また、図18では、DMAC1がエンドポイント管理回路としても機能する。更に、図18では、バルク転送管理回路174が設けられている。その他の点については図3とほぼ同様である。
【0183】
図18において、USBインターフェース131が含むトランシーバマクロ132は、USBのFSモードやHSモードでのデータ転送を実現するための回路である。このトランシーバマクロ132としては、例えばUSB2.0の物理層回路や、論理層回路の一部についてのインターフェースを定義したUTMI(USB2.0 Transceiver Macrocell Interface)に準拠したマクロセルを用いることができる。このトランシーバマクロ132には、差動信号を用いてUSB上のデータを送受信するアナログフロントエンド回路や、ビットスタッフィング、ビットアンスタッフィング、シリアル・パラレル変換、パラレル・シリアル変換、NRZIデコード、NRZIエンコード、サンプリングクロック生成などの処理を行う回路を含ませることができる。
【0184】
USBインターフェース131が含むSIE(Serial Interface Engine)は、USBのパケット転送処理などの種々の処理を行う回路である。このSIEには、トランザクションを管理する回路や、パケットの組み立て(生成)や分解を行う回路や、CRCの生成や解読を行う回路を含ませることができる。
【0185】
図18のDMAC1、DMAC2、DMAC3等の回路は、図3等で説明した回路と同様の処理を実現する。
【0186】
なお、DMAC1は、SDRAM140の各記憶領域の入り口となるエンドポイントの管理機能も有する。具体的には、DMAC1には、エンドポイントの属性情報を記憶するレジスタなどを含ませることができる。
【0187】
バルク転送管理回路174は、USBにおけるバルク転送を管理するための回路である。
【0188】
9.転送数予約レジスタ
さて、本実施形態では、アイソクロナスパケットの転送処理を効率化するために、以下に説明する手法でデータ転送を行っている。
【0189】
即ち、図3、図19(A)、(B)に示すように本実施形態では、アイソクロナスパケットの転送数を予約するための転送数予約レジスタTNREGを設けている。例えば図19(A)、(B)では、8個(広義にはN個)のアイソクロナスパケットの転送を予約できるようになっている。
【0190】
そして図19(A)に示すように、処理部60がTNREGに転送数を予約すると、予約された転送数分のアイソクロナスパケットの転送(送信)の開始が指示されることになる。即ち、DMAC1は、SRAM40からアイソクロナスパケット(ISOヘッダ、ISOデータ)を読み出す。そして、DMAC1は、読み出されたアイソクロナスパケットを、TNREGに予約された転送数が零になるまで、自動転送(処理部60が介在しない転送)する。即ち、アイソクロナス転送サイクル毎(例えば125μs毎)に、アイソクロナスパケットを、BUS1側に自動転送する。
【0191】
そして本実施形態では図19(B)に示すように、転送数予約レジスタTNREGに予約された転送数が零になると、次のアイソクロナス転送サイクルでの自動転送が中断される。そして、処理部60に対して割り込みが発生する。これにより、処理部60は、予約した転送数のアイソクロナスパケットの転送が終了したことを容易に知ることができる。従って、処理部60(ファームウェア)は、TNREGに転送数を予約した後、割り込みが返ってくるまでの時間を、他の処理に使用することができ、処理の効率化を図れる。
【0192】
例えば図19(A)、(B)とは異なる手法として、アイソクロナス転送サイクル毎に、処理部60が各アイソクロナスパケットの転送開始を指示する手法を考えることができる。
【0193】
しかしながら、この手法では、アイソクロナスパケット数分の転送開始指示が必要になってしまう。即ち、アイソクロナス転送サイクルが125μsである場合には、125μs毎に転送開始指示を行わなければならない。このため、処理部60の処理負荷が重くなってしまう。
【0194】
これに対して図19(A)、(B)の本実施形態の手法では、処理部60は、一度、転送数を予約すれば、その転送数のアイソクロナスパケットの転送が完了するまで、転送開始を指示なくてもよくなる。この結果、処理部60の処理負荷を軽くでき、実効的な転送レートを向上できる。
【0195】
また、本実施形態によれば、処理部60は余った時間を他の処理に使うことができ、処理部60の使用効率を向上できる。そして、画像データをHDDに録画しながら他の画像データをHDDから読み出して再生するタイムシフト再生などを行う場合にも、高性能の処理部60(CPU)を使わなくて済むようになり、装置の低コスト化を図れる。
【0196】
また、アイソクロナス転送においては、タイムスタンプ制御の要請から、各時点において予約可能なアイソクロナスパケットの転送数に制限がある。このため、処理部60(ファームウェア)は、アイソクロナスパケットのタイムスタンプを参照しながら、何個先のアイソクロナスパケットまで送れるのかを計算し、計算結果に基づいて、その時点で予約可能な転送数を決定する。本実施形態によれば、このようにして処理部60が決定した転送数を転送数予約レジスタTNREGに予約することが可能になり、タイムスタンプ制御による制限を遵守しながら、効率の良いデータ転送を実現できる。
【0197】
なお、図20に示すように、SRAM40のヘッダ領域(アイソクロナスヘッダ)に、アイソクロナスヘッダと組みとなるアイソクロナスデータのデータポインタ(データ領域でのアドレスを指すポインタ)を書き込むことが望ましい。そして、DMAC1は、このデータポインタを用いて、アイソクロナス(ISO)ヘッダとアイソクロナス(ISO)データとにより構成されるアイソクロナスパケットを組み立てて、BUS1側に自動転送することが望ましい。
【0198】
このようにすれば、処理部60は、アイソクロナスヘッダ(図2(B)参照)を用意してヘッダ領域に書き込み、TNREGに転送数を予約するだけで、予約転送数分のアイソクロナスパケットが自動的に組み立てられ、BUS1側に自動転送されるようになる。これにより、処理部60の処理負荷を更に軽減できる。
【0199】
また図20のようなデータポインタを利用すれば、BUS1側に転送するアイソクロナスデータ(例えばIピクチャを含むTSパケット)と、転送しないアイソクロナスデータ(例えばIピクチャを含まないTSパケット)の選別が容易になる。
【0200】
なお、転送数予約レジスタTNREGは、Dフリップフロップなどの保持回路で実現してもよいし、RAMなどのメモリにより実現してもよい。
【0201】
また、予約転送数分の転送の終了を、割り込み以外の方法で処理部60に伝えるようにしてもよい。また、処理部60への割り込みをマスクする回路を設けてもよい。
【0202】
また、転送数予約レジスタを用いてアイソクロナスパケットを転送する発明においては、図3に示すSDRAM50を設けない構成とすることもできる。
【0203】
また、転送数予約レジスタTNREGは、処理部60により、任意の数の転送数を予約できるレジスタであることが望ましい。このようにすれば、アイソクロナスパケットのデータの大きさやSRAM40のアイソクロナス送信データ領域の大きさに応じた最適の転送数をTNREGに設定できるようになる。
【0204】
例えば、DV(Digital Video)データでは、TSパケットのデータが大きくなる。従って、このようなDVデータの転送時に、予約転送数を大きな値に設定すると、SRAM40のアイソクロナス送信データ領域に、予約転送数分のアイソクロナスデータを書き込めなくなっていまうという事態が生じる。TNREGを、任意の数の転送数を予約できるレジスタにすれば、適切な転送数をTNREGに設定することで、このような事態が生じるのを防止できる。
【0205】
10.ページ毎の転送数予約
本実施形態では図21に示すように、SRAM40(第1のメモリ)の記憶領域が、ヘッダ領域(アイソクロナスヘッダ領域)とデータ領域(アイソクロナスデータ領域)に分離されている。また、ヘッダ領域が、ページKの領域(第Kのページ領域)とページLの領域(第Lのページ領域)に分離されている。
【0206】
一方、転送数予約レジスタTNREGは、ページK(狭義にはページ0)、ページL(狭義にはページ1)の領域での転送数を予約するためのレジスタであるTNREGK、TNREGLを含む。
【0207】
そして図21に示すように、DMAC1(第1のメモリアクセス制御回路)は、ページKの領域のアイソクロナスヘッダIHK0〜IHK7を処理部60が用意している間に、ページLの領域に書き込まれているアイソクロナスヘッダと、データ領域に書き込まれているアイソクロナスデータを読み出す。即ち、ページLのアイソクロナスヘッダIHL0〜IHL7を順次読み出し、読み出されたアイソクロナスヘッダのデータポインタ(図20参照)で指示されるアイソクロナスデータ(TSパケット)を読み出す。
【0208】
そして、DMAC1は、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、図19(A)、(B)で説明したように、TNREGLに予約された転送数が零になるまでアイソクロナス転送サイクル毎にBUS1側に自動転送する。
【0209】
一方、図22では、DMAC1は、ページLの領域のアイソクロナスヘッダIHL0〜IHL7を処理部60が用意している間に、ページKの領域に書き込まれているアイソクロナスヘッダと、データ領域に書き込まれているアイソクロナスデータとを読み出す。即ち、ページKのアイソクロナスヘッダIHK0〜IHK7を順次読み出し、読み出されたアイソクロナスヘッダのデータポインタで指示されるアイソクロナスデータを読み出す。
【0210】
そして、DMAC1は、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、TNREGKに予約された転送数が零になるまでアイソクロナス転送サイクル毎にBUS1側に自動転送する。
【0211】
図21、図22の手法によれば、TNREGK、TNREGLの各々に例えば「8」を設定すれば、16個先までのアイソクロナスパケットの転送を予約することが可能になる。
【0212】
また、図21、図22の手法によれば、処理部60は、アイソクロナスヘッダをヘッダ領域に書き込む作業を行っている際に、アイソクロナスパケットの転送がどこまで進んでいるのかを意識しなくて済むようになる。例えば図21のようにページKの領域にアイソクロナスヘッダを書き込んでいる際には、ページLの領域の転送処理が行われており、ページKの領域については転送処理は行われていないからである。従って、処理部60は、所望のアイソクロナスヘッダを用意して、転送が行われていない方のページ領域にそのアイソクロナスヘッダを書き込むだけという単純な作業を行うだけで済む。これにより、処理部60の処理が簡素化され、その処理負荷を軽減できるようになり、実効的な転送レートを向上できる。
【0213】
図23に、転送数予約レジスタTNREGのレジスタマップの例を示す。
【0214】
まず、処理部60が、ヘッダ領域にアイソクロナスヘッダを書き込んだ後に、ページKカウント(ページ0カウント)、ページLカウント(ページ1カウント)に、転送数(ヘッダの個数)を設定する。
【0215】
データ転送制御装置(ハードウェア回路)は、ページKカウント、ページLカウントが零でなければ、アイソクロナス転送サイクル毎に、アイソクロナス転送を開始する。この場合、ページK、ページLのどちらのページから転送を開始するかは、別に設けられた転送モード選択レジスタを用いて設定できる。そして、システムリセットの後は、転送モード選択レジスタの値は、ページKの転送モードを選択する値に設定されている。従って、処理部60がページKカウントに値を設定するだけで、ページKから転送が開始するようになる。
【0216】
そして、ページKカウントは、1つのアイソクロナスパケット(アイソクロナスヘッダ)の転送が終了する毎に、1つずつデクリメントされる。そして、ページKカウントが零になると、処理部60に対して割り込みが発生する。
【0217】
ページKの転送実行中に、処理部60(ファームウェア)は、ページLのアイソクロナスヘッダを用意する。そして、ページLカウントに値を設定する。
【0218】
そして、ページKの転送が終了すると、転送モード選択レジスタの値が、ページKの転送モードからページLに転送モードに切り替わる。そして、ページカウントLに値(転送数)が設定されていれば、ページLのアイソクロナスパケットの転送が開始する。
【0219】
なお、ページKカウント、ページLカウントに零を設定すれば、転送を完全に中断することができる。
【0220】
次に、図24、図25のフローチャートを用いて、転送数予約レジスタTNREGを利用した転送処理の詳細について説明する。
【0221】
まず、ページKのデータ予約・転送処理を行う(ステップS51)。これにより、ページKのデータ転送が開始する。次に、ページLのデータ予約・転送処理を行う(ステップS52)。すると、ページKのデータ転送が既に開始しているため、ページLのデータ転送は待機中になる。
【0222】
次に、ページK(8サイクル分のアイソクロナス転送)の転送が終了したか否かを判断する(ステップS53)。そして、終了した場合には、ページLの転送が予約されているかを判断する(ステップS54)。そして、予約されていなかった場合には転送を終了する。一方、予約されていた場合には、ページLのデータ転送が開始する。
【0223】
次に、ページKのデータ予約・転送処理を行う(ステップS56)。すると、ページLのデータ転送が既に開始しているため、ページKのデータ転送は待機中になる。
【0224】
次に、ページL(8サイクル分のアイソクロナス転送)の転送が終了したか否かを判断する(ステップS57)。そして、そして、終了した場合には、ページKの転送が予約されているかを判断する(ステップS58)。そして、予約されていなかった場合には転送を終了する(ステップS59)。一方、予約されていた場合には、ステップS52に戻る。
【0225】
図25は、図24のステップS51、S52、S56のデータ予約・転送処理について説明するためのフローチャートである。
【0226】
まず、SRAMに、未予約のアイソクロナスパケット8個分のデータがあるか否かを判断する(ステップS61)。そして、8個分のデータが無い場合には、DMAC2によってSRAMにデータが書き込まれるのをウェイトする(ステップS62)。
【0227】
一方、8個分のデータがある場合には、処理部が、8個分のアイソクロナスパケット用ヘッダを用意し、アイソクロナスヘッダ領域のページK(或いはL)に書き込む(ステップS63)。そして、処理部が、転送数予約レジスタのページK(或いはL)の予約領域(TNREGK)に、8サイクル分の転送を予約する(ステップS64)。
【0228】
以上のようにすることで、ページK、Lを用いた効率的なデータ転送を実現できる。
【0229】
なお、本実施形態では、ページ数が2ページの場合について説明したが、ページ数を3ページ以上にしてもよい。
【0230】
11.MPEGストリームの特殊再生
さて、図19(A)〜図25の本実施形態の手法によれば、MPEGストリームの特殊再生(早送り再生等)時においても、効率的なデータ転送を実現できる。
【0231】
図26に、MPEG2(以下、適宜、単にMPEGと呼ぶ)のストリーム構造(階層構造)を示す。
【0232】
MPEGのTS(Transport Stream)パケットでは、Iピクチャ(広義にはフレーム内符号化データ)や、Bピクチャ及びPピクチャ(広義にはフレーム間符号化データ或いは予測符号化データ)や、オーディオデータ(音声データ、非ビデオデータ)等が、1つのビットストリームに多重化されてパケット化されている(パケット多重)。
【0233】
そして図26に示すように、MPEGストリームにおいては、TSパケットのペイロード(ペイロード部、データ部)の連結により、PES(Packetized Elementary Stream)パケットが構成される。より具体的には、同じPID(パケット識別情報)のTSパケットのペイロードを組み合わせることで、PESヘッダ及びPESペイロードからなる可変長のPESパケットが構成される。
【0234】
ここで、ES(Elementary Stream)は、ビデオやオーディオのようなコンテンツの構成要素となるものである。このESにヘッダを付加したものがPESと呼ばれる。そしてMPEG2では、PESを多重化するものとして、TS(Transport Stream)とPS(Program Stream)の2種類の多重化ストリームが定義されている。そしてTS(Transport Stream)は、188バイトの固定長のTSパケットが連続したストリームである。このTSパケットは、TSヘッダ(ヘッダ部)とTSペイロード(ペイロード部)により構成される。
【0235】
さて、デジタル記録・再生装置などの電子機器では、早送り再生などの特殊再生(トリックプレイ)機能を如何にして実現するかが重要な課題となる。
【0236】
このような課題を解決するために本実施形態では、図27に示すように、PESパケット(図26に示すようにTSパケットの連結により構成されるパケット)のヘッダ情報(ストリームID等)を検出する回路82と、PESパケットのペイロードのピクチャ情報(スタートコード等)を検出する回路84を含む検出回路80を設けている。また、検出されたヘッダ情報とピクチャ情報を処理部60に表示する情報インディケータレンジスタ90を設けている。
【0237】
より具体的には、ヘッダ情報検出回路82は、まず、TSパケットのPID(パケット識別番号)が処理部60により指定されたPIDか否かを検出する。そして、指定されたPIDである場合には、そのTSパケットのペイロードが、PESパケットを構成する先頭のTSペイロードか否かを、TSヘッダに含まれるPUSI(ペイロード部スタートインディケータ)を用いて判断する。そして、図28(A)に示すPESヘッダのストリームIDを取得して、TSパケットが、ビデオストリームのTSパケットかオーディオストリーム(非ビデオストリーム)のTSパケットかを確認する。そして、取得したストリームIDと、SRAM40でのストリームIDの格納アドレスを、情報インディケータレジスタ90に書き込み、処理部60に報告する。
【0238】
また、ピクチャ情報検出回路84は、TSパケットのPIDが処理部60により指定されたPIDであり、且つ、ビデオストリームのTSパケットであると判断された場合には、PESパケットのデータバイト(ペイロード)を検出する。そして、データバイトに含まれるスタートコードを取得する。そして、取得されたスタートコードが、図28(B)に示すシーケンスヘッダコード、グループスタートコード、ピクチャスタートコードである場合には、そのスタートコードと、SRAM40でのスタートコードの格納アドレスを、情報インディケータレジスタ90に書き込み、処理部60に報告する。
【0239】
そして、処理部60(ファームウェア)は、情報インディケータレジスタ90からの検出情報報(ヘッダ情報、ピクチャ情報)に基づいて、BUS1(IEEE1394)を介して転送すべきTSパケットを決定する。そして、DMA1は、アイソクロナスヘッダの中のデータポインタ(図20参照)を用いて、BUS1を介して転送すべきTSパケットを選別する。例えば早送り再生時(特殊再生時)においては、Iピクチャ(広義にはフレーム内符号化データ)を含むTSパケットが選別され、選別されたTSパケットに、ヘッダ領域のアイソクロナスヘッダ等が付加される。そして、得られたアイソクロナスパケットは、1394インターフェース31、BUS1を介して図1のデジタルチューナ20(広義にはBUS1に接続される電子機器)に転送される。
【0240】
例えば、MPEGストリームの中のPピクチャやBピクチャ(フレーム間符号化データ、予測符号化データ)では、その1フレーム分のデータだけでは画像を再現できない。一方、Iピクチャ(フレーム内符号化データ)では、その1フレーム分のデータだけで画像を再現できる。
【0241】
本実施形態では、早送り再生などの特殊再生時において、Iピクチャを含むTSパケット(第2の層のパケット)を選別して、BUS1側に転送している。
【0242】
より具体的には、図29のA1に示すように、早送り再生などの特殊再生時において、Iピクチャを含むTSパケットについては、BUS1を介してデジタルチューナ20に転送される。
【0243】
一方、図29のA2に示すように、オーディオデータを含むTSパケット(非ビデオデータのTSパケット)や、Iピクチャを含まずBピクチャ、Pピクチャを含むTSパケット(Bピクチャ、Pピクチャだけで占められているTSパケット)については、BUS1を介した転送(送信)が停止される。
【0244】
例えば図29のA3に示すTSパケット(TSペイロード)はIピクチャを含むため、転送が許可される。また、A4に示すTSパケットはBピクチャを含むがIピクチャも含むため、転送が許可される。一方、A5、A6に示すTSパケットはBピクチャやPピクチャだけで占められているため、転送が停止される。
【0245】
このように本実施形態によれば、Iピクチャ以外のビデオデータがデジタルチューナ20に転送されないため、特殊再生時の画像の乱れを防止できる。また、オーディオデータが転送されないため、雑音の発生を防止できる。また、データ転送量が限られているIEEE1394バスにより、より多くのIピクチャのデータを転送できるため、コマ落ちが少なく動きが滑らかな映像を再生できる。
【0246】
更に、ヘッダ情報やピクチャ情報の検出は、ハードウェアで構成される検出回路80により行われるため、処理部60(ファームウェア)の処理負荷を軽減でき、処理部60は余った時間を他の処理に使えるようになる。
【0247】
12.データポインタによる選別
次に、データポインタを利用したTSパケット(広義には、アイソクロナスパケットの下層である第2の層のパケット)の選別手法について説明する。
【0248】
図30に示すように本実施形態では、SRAM40のヘッダ領域(送信ヘッダ領域)にアイソクロナス(ISO)ヘッダが書き込まれ、データ領域(送信データ領域、送信ストリーム領域)にTSパケットが書き込まれる。また、ヘッダ領域にはデータポインタDP0〜DP5(データ領域での各TSパケットのアドレスを指すポインタ)が書き込まれる。これらのデータポインタDP0〜DP5は、例えば各アイソクロナスヘッダIH0〜5の末尾(トレイラー)に付加される。そして、これらのデータポインタDP0〜DP5を用いて、アイソクロナスヘッダIH0〜5に結合されるべきTSパケットTS0、TS1、TS2、TSK+1、TSK+2、TSK+3が選別される。
【0249】
より具体的には、図27の処理部60が、情報インディケータレジスタ90からのヘッダ情報やピクチャ情報に基づいて、BUS1を介して転送すべきTSパケットを決定する。そして、転送すべきTSパケットのアドレス(先頭アドレス)を指すデータポインタを含むアイソクロナスヘッダを用意する。この場合に本実施形態では、ストリームIDやスタートコードの格納アドレス(送信ストリーム領域でのアドレス)についても、情報インディケータレジスタ90に書き込まれている。従って、処理部60は、これらの格納アドレスを用いて、データポインタのアドレスを容易に知ることができる。
【0250】
例えば図30では、IピクチャやPESヘッダやGOPヘッダを含むTSパケットについては、特殊再生時にBUS1を介してデジタルチューナ20に転送する必要がある。従って、処理部60は、これらのTSパケットのデータポインタDP0〜DP5を含むISOヘッダIH0〜5を、ヘッダ領域に書き込む。
【0251】
一方、BピクチャやPピクチャやオーディオデータを含むTSパケットについては、特殊再生時にデジタルチューナ20に転送する必要がない。従って、処理部60は、これらのTSパケットについては、そのデータポインタを含むアイソクロナスヘッダをヘッダ領域に書き込まない。即ち、処理部60は、これらのTSパケットのデータ転送が飛ばされるように、データポインタを設定する。
【0252】
そしてDMAC1は、このように設定されたデータポインタを用いてTSパケットを選別し、BUS1を介してデジタルチューナ20に転送する。より具体的には、ヘッダ領域にあるアイソクロナスヘッダを先頭から順次読んで行く。そして、アイソクロナスヘッダが含むデータポインタを用いて、そのアイソクロナスヘッダの組みとなるTSパケットを選別する。例えば図30では、データポインタDP0〜DP5により、TSパケットTS0、TS1、TS2、TSK+1、TSK+2、TSK+3が選別される。そして、アイソクロナスヘッダと、選別されたTSパケット(下層の第2の層のパケット)とを結合し、アイソクロナスパケット(上層の第1の層のパケット)を組み立てて、BUS1を介して転送する。なお、このアイソクロナスパケットには、図2(B)、(C)、(D)に示すようなCIPヘッダやSPヘッダを含ませる。
【0253】
以上のようにすることで本実施形態では、早送り再生などの特殊再生時に、Iピクチャを含むTSパケットを選別して、効率良く転送することに成功している。
【0254】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0255】
例えば、明細書中の記載において広義な用語(第1のメモリ、第2のメモリ、第1のメモリインターフェース、第2のメモリインターフェース、第1のバス、第2のバス、第1のバスインターフェース、第2のバスインターフェース、第1のメモリアクセス制御回路、第2のメモリアクセス制御回路、第3のメモリアクセス制御回路、記憶媒体、第1の暗号化・復号化処理、第2の暗号化・復号化処理等)として引用された用語(SRAM、SDRAM、SRAMインターフェース、SDRAMインターフェース、IEEE1394・USBバス、IDEバス、1394インターフェース、IDEインターフェース、DMAC1、DMAC2、DMAC3、HDD、DTCP、DES等)は、明細書中の他の記載においても広義な用語に置き換えることができる。
【0256】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0257】
また、本発明のデータ転送制御装置の構成は、図3、図9(A)〜図12、図18、図27等に示す構成に限定されず、種々の変形実施が可能である。例えば、これらの各図の各ブロック、各ユニットの一部を省略したり、その接続関係を変更してもよい。
【0258】
また本発明は、IEEE1394やUSBと同様の思想に基づく規格や、IEEE1394やUSBを発展させた規格のバスで転送する場合にも適用可能である。或いは、IEEE1394やUSB以外の規格のバス(高速シリアルバス)で転送する場合にも本発明は適用可能である。
【図面の簡単な説明】
【図1】図1(A)、(B)は、本実施形態の電子機器の構成例を示す図である。
【図2】図2(A)、(B)、(C)、(D)は、アイソクロナス転送、アシンクロナス転送について説明するための図である。
【図3】本実施形態のデータ転送制御装置の構成例を示す図である。
【図4】比較例のデータ転送制御装置の構成例を示す図である。
【図5】図5(A)、(B)、(C)は、本実施形態のデータ転送制御方法について説明するための図である。
【図6】図6(A)、(B)、(C)も、本実施形態のデータ転送制御方法について説明するための図である。
【図7】アシンクロナスデータの転送を行う場合のデータ転送制御方法について説明するための図である。
【図8】図8(A)、(B)は、SRAM、SDRAMのメモリマップの例を示す図である。
【図9】図9(A)、(B)は、データ転送制御装置の外部にSDRAMを設ける手法について説明するための図である。
【図10】図10(A)、(B)も、データ転送制御装置の外部にSDRAMを設ける手法について説明するための図である。
【図11】データ転送制御装置の詳細な構成例について示す図である。
【図12】データ転送制御装置の詳細な構成例について示す図である。
【図13】図13(A)、(B)、(C)は、データ転送制御装置で使用される各信号の意味について示す図である。
【図14】図14(A)、(B)は、各種信号のタイミング波形について示す図である。
【図15】本実施形態の動作について説明するためのフローチャートである。
【図16】本実施形態の動作について説明するためのフローチャートである。
【図17】本実施形態の動作について説明するためのフローチャートである。
【図18】本実施形態の手法をUSBに適用した場合のデータ転送制御装置の構成例を示す図である。
【図19】図19(A)、(B)は、転送数予約レジスタを用いたデータ転送手法について説明するための図である。
【図20】データポインタを用いる手法について説明するための図である。
【図21】ページK、ページL用の転送数予約レジスタを用いたデータ転送手法について説明するための図である。
【図22】ページK、ページL用の転送数予約レジスタを用いたデータ転送手法について説明するための図である。
【図23】転送数予約レジスタのレジスタマップの例を示す図である。
【図24】転送数予約レジスタを用いた転送処理について説明するためのフローチャートである。
【図25】データ予約・転送処理について説明するためのフローチャートである。
【図26】MPEGストリームの構造について説明するための図である。
【図27】ヘッダ情報とピクチャ情報を検出して、Iピクチャを含むTSパケットを選別するデータ転送制御装置の構成例について示す図である。
【図28】図28(A)、(B)は、ヘッダ情報検出回路、ピクチャ情報検出回路の検出処理について説明するための図である。
【図29】特殊再生時にIピクチャ以外のTSパケットの転送を停止する手法について説明するための図である。
【図30】データポインタを用いてTSパケットを選別する手法について説明するための図である。
【符号の説明】
10 HDD(記憶媒体)
12 操作部
14 ディスプレイ部
20 デジタルチューナ
21 MPEGデコーダ
22 操作部
24 テレビ
26 アンテナ
30 データ転送制御装置
31 1394インターフェース(第1のバスインターフェース)
32 物理(PHY)層回路
33 リンク層回路
34 IDEインターフェース(第2のバスインターフェース)
40 SRAM(第1のメモリ)
42 SRAMインターフェース(第1のメモリインターフェース)
50 SDRAM(第2のメモリ)
52 SDRAMインターフェース(第2のメモリインターフェース)
60 処理部(CPU)
70 メモリポインタ管理回路
72 自動DMA判定回路(自動メモリアクセス判定回路)
BUS1 第1のバス(IEEE1394、USB)
BUS2 第2のバス(IDE)
DMAC1 第1のメモリアクセス制御回路
DMAC2 第2のメモリアクセス制御回路
DMAC3 第3のメモリアクセス制御回路
ENC・DEC1 第1(1394側)の暗号化・復号化回路
ENC・DEC2 第2(IDE側)の暗号化・復号化回路
TNREG 転送数予約レジスタ
TNREGK 第Kのページ用転送数予約レジスタ
TNREGL 第Lのページ用転送数予約レジスタ
TSパケット 第2の層のパケット

Claims (12)

  1. バスを介したデータ転送のためのデータ転送制御装置であって、
    アイソクロナスデータを含むアイソクロナスパケットの転送数を処理部が予約するための転送数予約レジスタと、
    第1のメモリからアイソクロナスパケットを読み出し、読み出されたアイソクロナスパケットを、前記転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第1のバス側に自動転送する第1のメモリアクセス制御回路と、
    を含み、
    第1のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、
    前記ヘッダ領域が、第K、第Lのページ領域を含み、
    前記転送数予約レジスタが、前記第K、第Lのページ領域での転送数を予約するための第K、第Lのページ用の転送数予約レジスタを含み、
    前記第1のメモリアクセス制御回路が、
    前記第Kのページ領域に書き込むべきアイソクロナスヘッダを処理部が用意している際に、前記第Lのページ領域に書き込まれているアイソクロナスヘッダとデータ領域に書き込まれているアイソクロナスデータとを読み出し、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、第Lのページ用転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第1のバス側に自動転送することを特徴とするデータ転送制御装置。
  2. 請求項1において、
    前記第1のメモリアクセス制御回路が、
    前記転送数予約レジスタに予約された転送数が零になった場合に、次のアイソクロナス転送サイクルでの自動転送を中断すると共に、処理部に対して割り込みを発生することを特徴とするデータ転送制御装置。
  3. 請求項1又は2において、
    第1のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、
    前記ヘッダ領域に、アイソクロナスヘッダと組みとなるアイソクロナスデータについての前記データ領域でのアドレスを指すデータポインタが書き込まれ、
    前記第1のメモリアクセス制御回路が、
    前記データポインタを用いて、アイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを組み立てて、第1のバス側に自動転送することを特徴とするデータ転送制御装置。
  4. 請求項において、
    前記第1のメモリアクセス制御回路が、
    データ領域に書き込まれるアイソクロナスデータが、アイソクロナスパケットよりも下層の複数の第2の層のパケットを含む場合に、第1のバス側に転送する第2の層のパケットと転送しない第2の層のパケットとを、前記データポインタを用いて選別することを特徴とするデータ転送制御装置。
  5. 請求項において、
    前記第1のメモリアクセス制御回路が、
    記憶媒体の特殊再生時に、前記データポインタを用いてIピクチャを含む第2の層のパケットを選別し、選別された第2の層のパケットを第1のバス側に自動転送することを特徴とするデータ転送制御装置。
  6. 請求項1乃至5のいずれかにおいて、
    前記アイソクロナスパケットよりも下層の第1の層のパケットのペイロードの連結により第2の層のパケットが構成される場合に、該第2の層のパケットのヘッダ情報を検出するヘッダ情報検出回路と、
    前記第2の層のパケットのペイロードのピクチャ情報を検出するピクチャ情報検出回路と、
    前記ヘッダ情報検出回路で検出されたヘッダ情報と前記ピクチャ情報検出回路で検出さ れたピクチャ情報とを前記処理部に表示する情報インディケータレジスタと、
    を含み、
    前記第1のメモリの記憶領域が、ヘッダ領域とデータ領域を含み、
    前記ヘッダ情報及びピクチャ情報に基づき前記処理部により選別された前記第1の層のパケットについての前記データ領域でのアドレスを指すデータポインタが、前記ヘッダ領域のアイソクロナスヘッダに書き込まれ、
    前記第1のメモリアクセス制御回路が、
    前記データポインタを用いて、前記アイソクロナスヘッダと前記選別された第1の層のパケットとを含むアイソクロナスパケットを組み立てて、前記第1のバス側に自動転送することを特徴とするデータ転送制御装置。
  7. 請求項1乃至6のいずれかにおいて、
    記憶媒体が接続される第2のバス側から転送されるアイソクロナスデータを、第1のメモリよりも大容量の第2のメモリに書き込む第3のメモリアクセス制御回路と、
    前記第2のメモリに書き込まれたアイソクロナスデータを読み出し、読み出されたアイソクロナスデータを第1のメモリに書き込む第2のメモリアクセス制御回路とを含み、
    前記第1のメモリアクセス制御回路が、
    前記第1のメモリに書き込まれたアイソクロナスデータを含むアイソクロナスパケットを第1のメモリから読み出し、読み出されたアイソクロナスパケットを、転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第1のバス側に自動転送することを特徴とするデータ転送制御装置。
  8. 請求項7において、
    前記第1のメモリの記憶領域が、前記アイソクロナスデータを記憶するアイソクロナスデータ領域と、アシンクロナスデータを記憶するアシンクロナスデータ領域とに分離されている場合に、
    前記第2及び第3のメモリアクセス制御回路が、
    前記第2のバス側から転送されるアシンクロナスデータについては前記第2のメモリへの転送経路をバイパスして、該アシンクロナスデータを前記第1のバス側へ転送することを特徴とするデータ転送制御装置。
  9. 請求項7又は8において、
    前記第2のメモリが、
    連続したアドレスのデータを所与のクロックに同期して入出力できる同期型メモリであることを特徴とするデータ転送制御装置。
  10. 請求項7乃至9において、
    前記第1のメモリが、データ転送制御装置の内部に設けられる内部メモリであり、前記第2のメモリが、データ転送制御装置の外部に設けられる外部メモリであることを特徴とするデータ転送制御装置。
  11. 請求項1乃至10のいずれかのデータ転送制御装置と、
    データ転送制御装置の第2のバスに接続され、第2のバスを介して転送されるデータを記憶する記憶媒体と、
    を含むことを特徴とする電子機器。
  12. バスを介したデータ転送のためのデータ転送制御方法であって、
    ヘッダ領域とデータ領域を含む第1のメモリの記憶領域における該ヘッダ領域の第K、第Lのページ領域についてのアイソクロナスデータを含むアイソクロナスパケットの転送数を第K、第Lのページ用の転送数予約レジスタに予約し、
    前記第Kのページ領域に書き込むべきアイソクロナスヘッダを処理部が用意している際に、前記第Lのページ領域に書き込まれているアイソクロナスヘッダとデータ領域に書き込まれているアイソクロナスデータとを第1のメモリから読み出し、読み出されたアイソクロナスヘッダとアイソクロナスデータとにより構成されるアイソクロナスパケットを、第Lのページ用転送数予約レジスタに予約された転送数が零になるまでアイソクロナス転送サイクル毎に第1のバス側に自動転送することを特徴とするデータ転送制御方法。
JP2002077976A 2002-03-20 2002-03-20 データ転送制御装置、電子機器及びデータ転送制御方法 Expired - Fee Related JP3671925B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002077976A JP3671925B2 (ja) 2002-03-20 2002-03-20 データ転送制御装置、電子機器及びデータ転送制御方法
US10/390,862 US7054959B2 (en) 2002-03-20 2003-03-19 Isochronous data transfer control method including packet configuration of thus-read isochronous header and data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002077976A JP3671925B2 (ja) 2002-03-20 2002-03-20 データ転送制御装置、電子機器及びデータ転送制御方法

Publications (2)

Publication Number Publication Date
JP2003283499A JP2003283499A (ja) 2003-10-03
JP3671925B2 true JP3671925B2 (ja) 2005-07-13

Family

ID=29228188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002077976A Expired - Fee Related JP3671925B2 (ja) 2002-03-20 2002-03-20 データ転送制御装置、電子機器及びデータ転送制御方法

Country Status (2)

Country Link
US (1) US7054959B2 (ja)
JP (1) JP3671925B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428222B1 (en) * 2003-02-28 2008-09-23 Entropic Communications Inc. Method of bus configuration to enable device bridging over dissimilar buses
US7403531B2 (en) * 2003-05-30 2008-07-22 Texas Instruments Incorporated WLAN admission control for multimedia service
JP4336957B2 (ja) * 2003-09-30 2009-09-30 日本電気株式会社 トランスポートストリームの暗号化装置及び編集装置並びにこれらの方法
US7827575B2 (en) * 2003-09-30 2010-11-02 Canon Kabushiki Kaisha TV apparatus, its control method, network TV system and computer program
JP3720345B2 (ja) * 2004-02-17 2005-11-24 シャープ株式会社 伝送装置
US7251703B1 (en) * 2004-02-27 2007-07-31 Entropic Communications, Inc. Method of time stamping to enable device bridging over dissimilar buses
JP4541949B2 (ja) * 2005-03-31 2010-09-08 富士通株式会社 データ転送装置
US20070028026A1 (en) * 2005-07-27 2007-02-01 You-Min Yeh Digital multimedia transfer rate controlling
JP5023754B2 (ja) * 2005-11-25 2012-09-12 セイコーエプソン株式会社 集積回路装置及び電子機器
JP2007172574A (ja) * 2005-11-25 2007-07-05 Seiko Epson Corp 集積回路装置及び電子機器
US7908411B2 (en) * 2006-09-20 2011-03-15 Panasonic Corporation Data transfer device and mobile telephone
US8107754B2 (en) * 2007-12-07 2012-01-31 Mediatek Inc. Systems and methods for randomly accessing compressed images
US9184779B2 (en) 2011-07-22 2015-11-10 Texas Instruments Incorporated Dynamic medium switch in co-located PLC and RF networks
JP2015119255A (ja) * 2013-12-17 2015-06-25 Necエンジニアリング株式会社 送信装置、及び、送信方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974015A (en) * 1990-05-14 1999-10-26 Casio Computer Co., Ltd. Digital recorder
US6081852A (en) * 1996-04-26 2000-06-27 Texas Instruments Incorporated Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list
US6167083A (en) * 1997-04-04 2000-12-26 Avid Technology, Inc. Computer system and process for capture editing and playback of motion video compressed using interframe and intraframe techniques
US6418150B1 (en) * 1998-02-20 2002-07-09 Apple Computer, Inc. Method and apparatus for calibrating an IEEE-1394 cycle master
US6199132B1 (en) * 1998-06-17 2001-03-06 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes
US6336179B1 (en) * 1998-08-21 2002-01-01 Advanced Micro Devices, Inc. Dynamic scheduling mechanism for an asynchronous/isochronous integrated circuit interconnect bus
JP3543648B2 (ja) 1998-10-27 2004-07-14 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP3606145B2 (ja) 1999-12-27 2005-01-05 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP2002041445A (ja) * 2000-05-19 2002-02-08 Matsushita Electric Ind Co Ltd 高性能dmaコントローラ
JP4470345B2 (ja) 2000-06-14 2010-06-02 ソニー株式会社 データ配信装置及び方法、データ配信システム

Also Published As

Publication number Publication date
US7054959B2 (en) 2006-05-30
JP2003283499A (ja) 2003-10-03
US20030204660A1 (en) 2003-10-30

Similar Documents

Publication Publication Date Title
US7219238B2 (en) Data transfer control device, electronic instrument, and data transfer control method
JP3743509B2 (ja) データ転送制御装置及び電子機器
JP3671925B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US7290148B2 (en) Encryption and decryption communication semiconductor device and recording/reproducing apparatus
JP4667108B2 (ja) データ処理装置
WO2003012611A1 (en) An apparatus for and method of invalidating or deleting digital conten after it expires by comparing the embedded time with a global time
US20030174549A1 (en) Recording format, recording device and reproducing device
JP3775318B2 (ja) データ転送制御装置及び電子機器
US6813654B1 (en) Data processing apparatus having a flow control function for multi-cast transfer
US7532805B2 (en) Audio-visual data recording/reproducing device
JP2000231758A (ja) データ記憶装置、暗号化データの記録方法および記録媒体
KR19980023973A (ko) 화상 음성 복호 재생 장치
US6681277B1 (en) Data processing apparatus and data transfer control method
JP3784994B2 (ja) データ処理装置
US6965995B1 (en) Signal processing circuit
US20050201728A1 (en) Writing/reading system of HD stream
US6732200B1 (en) Absorbing jitter during data transmission between applications operating at different frequencies
JP4075360B2 (ja) データ転送制御装置及び電子機器
JP2006050078A (ja) データ転送制御装置及び電子機器
JP4665510B2 (ja) 暗号化データ記録装置
JP4120070B2 (ja) 信号処理回路
JP4324411B2 (ja) Pvr装置付きbsデジタル受信機
JP2006049948A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
CA2279371A1 (en) Data communication method and electronic device, and program supplying medium for supplying data communication program
EP1705659A2 (en) System, method, and apparatus for embedding personal video recording functions at picture level

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050411

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080428

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees