JP2006050078A - データ転送制御装置及び電子機器 - Google Patents

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

Info

Publication number
JP2006050078A
JP2006050078A JP2004225611A JP2004225611A JP2006050078A JP 2006050078 A JP2006050078 A JP 2006050078A JP 2004225611 A JP2004225611 A JP 2004225611A JP 2004225611 A JP2004225611 A JP 2004225611A JP 2006050078 A JP2006050078 A JP 2006050078A
Authority
JP
Japan
Prior art keywords
packet
memory
time stamp
value
written
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.)
Withdrawn
Application number
JP2004225611A
Other languages
English (en)
Inventor
伸之 ▲斎▼藤
Nobuyuki Saito
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 JP2004225611A priority Critical patent/JP2006050078A/ja
Publication of JP2006050078A publication Critical patent/JP2006050078A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Bus Control (AREA)

Abstract

【課題】 逆方向特殊再生等を効率良く実現できるデータ転送制御装置等の提供。
【解決手段】 データ転送制御装置は、第1のメモリSDRAMにストリームパケットを書き込む第1のメモリアクセスコントローラDMAC1と、SDRAMに書き込まれたストリームパケットの中から特定種類のピクチャを含むパケットを抽出して読み出し、第2のメモリSRAMに書き込む第2のメモリアクセスコントローラDMAC2と、SRAMに書き込まれたパケットにヘッダを付加して、バスを介して転送する制御を行う転送コントローラ40を含む。DMAC2は、ストリームパケットの逆方向特殊再生時において、SDRAMに格納されている特定種類のピクチャを含むパケットのうち、逆方向特殊再生時刻が早いパケットについてはSRAMの下位アドレスの領域に書き込み、逆方向特殊再生時刻が遅いパケットについてはSRAMの上位アドレスの領域に書き込む。
【選択図】 図4

Description

本発明は、データ転送制御装置及び電子機器に関する。
近年、BSデジタルやCSデジタルなどのデジタル放送で配信されるMPEG(Moving Picture Experts Group)ストリームを記録・再生できるデジタル記録・再生装置が脚光を浴びている。このデジタル記録・再生装置は、例えばAV(Audio Visual)用のHDD(Hard Disk Drive)などの記録媒体を備える。そして録画時にはデジタルチューナからのMPEGストリームをAV用HDDに記録し、再生時にはMPEGストリームをAV用HDDから読み出して、デジタルチューナに送出する。このようなデジタル記録・再生装置の従来技術としては特開平9−247623、特開2000−224534などがある。
さて、このようなデジタル記録・再生装置では、早送りや巻き戻しなどの特殊再生(trick play)が行えるようになっている。従って、デジタル記録・再生装置に組み込まれるデータ転送制御装置では、このような特殊再生の支援機能を、処理部(CPU、ファームウェア)の処理負荷をそれほど増加させることなく如何にして実現するかが技術的課題となる。
特開平9−247623号公報 特開2000−224534号公報
本発明は以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、逆方向特殊再生等を効率良く実現できるデータ転送制御装置及び電子機器を提供することにある。
本発明は、バスを介したデータ転送を制御するためのデータ転送制御装置であって、第1のメモリにストリームパケットを書き込む第1のメモリアクセスコントローラと、
前記第1のメモリに書き込まれたストリームパケットの中から特定種類のピクチャを含むパケットを抽出して読み出し、読み出されたパケットを第2のメモリに書き込む第2のメモリアクセスコントローラと、前記第2のメモリに書き込まれたパケットにヘッダを付加して、バスを介して転送する制御を行う転送コントローラとを含み、前記第2のメモリアクセスコントローラが、ストリームパケットの逆方向特殊再生時において、前記第1のメモリに格納されている前記特定種類のピクチャを含むパケットのうち、逆方向特殊再生時刻が早いパケットについては前記第2のメモリの下位アドレスの領域に書き込み、逆方向特殊再生時刻が遅いパケットについては前記第2のメモリの上位アドレスの領域に書き込むデータ転送制御装置に関係する。
本発明では、第1のメモリのストリームパケットの中から特定種類のピクチャを含むパケットが抽出されて第2のメモリに書き込まれ、第2のメモリに書き込まれたパケットに対してヘッダが付加されて、バスを介して転送される。このようにすれば、特定種類のピクチャを含むパケットだけをバスを介して転送できるため、効率の良い特殊再生支援機能等を実現できる。また転送コントローラは、第2のメモリのパケットに含まれるピクチャの種類を意識しなくても済むため、転送コントローラの処理を簡素化できる。
また本発明では、逆方向特殊再生時刻(再生予定時刻、再生タイミング、デコードタイミング)が早いパケットについては第2のメモリの下位アドレスの領域(第1の領域)に書き込まれ、逆方向特殊再生時刻が遅いパケットについては第2のメモリの上位アドレスの領域(第1の領域よりも上位アドレスの第2の領域)に書き込まれる。従って転送コントローラが第2のメモリに書き込まれたパケットを下位アドレスの領域から順に読み出してバスを介して転送するだけで、逆方向特殊再生を実現できるようになり、データ転送を効率化できる。
また本発明では、前記第1のメモリアクセスコントローラが、第1のDMA転送サイクルでは前記第1のメモリの上位アドレスの第Nの領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、第2のDMA転送サイクルでは前記第Nの領域よりも下位アドレスの第N−1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、・・・・・第NのDMA転送サイクルでは第2の領域よりも下位アドレスの第1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、第N+1のDMA転送サイクルでは前記第Nの領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込むようにしてもよい。
このようにすれば、リングバッファ方式で管理される第1のメモリの記憶領域の効率的な利用が可能になる。
また本発明では、前記第1のメモリに書き込まれたパケットに含まれるピクチャの識別情報を検出し、その識別情報とそのパケットの前記第1のメモリでの格納アドレスとを、ピクチャ情報領域に書き込む検出回路を含み、前記第2のメモリアクセスコントローラが、前記識別情報と前記格納アドレスを前記ピクチャ情報領域から読み出した処理部からの指示に従って、前記第1のメモリに書き込まれたストリームパケットの中から特定種類のピクチャを含むパケットを抽出して読み出すようにしてもよい。
このようにすれば、第2のメモリアクセスコントローラは、複雑な判断処理が可能な処理部からの指示に従って、第1のメモリからのパケットの読み出し処理を行えば済むため、処理の効率化を図れる。
また本発明では、今回のDMA転送サイクルで前記第1のメモリに書き込まれたパケットに含まれるピクチャの識別情報を検出し、その識別情報とそのパケットの前記第1のメモリでの格納アドレスとを、前回のDMA転送サイクルで書き込まれた情報に上書きしてピクチャ情報領域に書き込む検出回路を含み、前回のDMA転送サイクルで前記第1のメモリに最初に書き込まれたパケットに含まれるピクチャの識別情報と、そのパケットの前記第1のメモリでの格納アドレスとを、今回のDMA転送サイクルにおいて待避領域に待避するようにしてもよい。
このようにすれば、ピクチャ情報領域の使用サイズを小さくできると共に、待避領域に待避された識別情報と格納アドレスを用いて、特定種類のピクチャの終了部等を検出できるようになる。
また本発明では、前記第1のメモリアクセスコントローラが、記録媒体からストリームパケットを読み出して、前記第1のメモリに書き込み、前記第2のメモリアクセスコントローラが、ストリームパケットの逆方向特殊再生時において、前記第1のメモリのストリームパケットの中から前記逆方向特殊再生に必要な特定種類のピクチャを含むパケットを抽出して読み出すようにしてもよい。
このようにすればストリームパケットの逆方向特殊再生に最適なデータ転送制御装置を実現できる。
また本発明では、前記第1のメモリから読み出された各パケットに付加されているタイムスタンプ値を、前記逆方向特殊再生に応じた新たな値に書き換えるタイムスタンプ更新回路を含むようにしてもよい。
このようにすれば、パケットに含まれるタイムスタンプ値を、逆方向特殊再生に応じた最適な値に書き換えることが可能になる。
また本発明では、前記タイムスタンプ更新回路が、1つのピクチャ内においては、隣接するパケットに付加されていたタイムスタンプ値間の差分値と、書き換え後のタイムスタンプ値間の差分値とが同じ値になるように、タイムスタンプ値の書き換え処理を行うようにしてもよい。
このようにすれば、1つのピクチャ内においては、元のタイムスタンプ値の差分値が書き換え処理後も維持されるようなり、逆方向特殊再生時に適正な画像を生成できるようになる。
また本発明では、前記タイムスタンプ更新回路が、書き換え後のタイムスタンプ値のピクチャ間での差分値が、前記逆方向特殊再生の速度に応じて変化するように、タイムスタンプ値の書き換え処理を行うようにしてもよい。
このようにすれば、パケットのタイムスタンプ値を、逆方向特殊再生の速度に応じた適正なタイムスタンプ値に書き換えることが可能になる。
また本発明では、前記タイムスタンプ更新回路が、前記第2のメモリの下位アドレスの領域に書き込まれたパケットについては、そのタイムスタンプ値が小さくなり、前記第2のメモリの上位アドレスの領域に書き込まれたパケットについては、そのタイムスタンプ値が大きくなるように、タイムスタンプ値の書き換え処理を行うようにしてもよい。
このようにすれば、逆方向特殊再生時刻に応じた適正な値にタイムスタンプ値を自動的に書き換えることが可能になる。
また本発明では、前記タイムスタンプ更新回路が、前記第1のメモリから読み出されるパケットを一時的に格納して、前記第2のメモリに出力する送信FIFOと、前記第1のメモリから前回に読み出されたパケットに付加されているタイムスタンプ値を保存するタイムスタンプ値保存レジスタと、前記第1のメモリから読み出されたパケットに付加されている今回のタイムスタンプ値と、前記タイムスタンプ値保存レジスタに保存されている前回のタイムスタンプ値との差分値を演算する差分値演算回路と、前記第1のメモリから前記第2のメモリへのパケットのDMA転送が行われる毎に、今回のDMA転送でのタイムスタンプの初期値がオフセット値として設定されるオフセット値レジスタと、前記オフセット値レジスタからのオフセット値に前記差分値演算回路からの差分値を加算して、加算により得られた値を更新タイムスタンプ値として、前記送信FIFOに出力すると共に前記オフセット値レジスタに書き戻す加算回路を含むようにしてもよい。
また本発明では、転送サイクルを決定するためのサイクルタイムをカウントするサイクルタイマを含み、前記転送コントローラが、前記第2のメモリに書き込まれたパケットに付加されているタイムスタンプ値と所与の設定値とを比較し、タイムスタンプ値が前記設定値と一致したパケットについては、そのタイムスタンプ値を、現在のサイクルタイムにオフセット値を加算した値に書き換えて、バスを介して転送すると共に、前記設定値を更新するようにしてもよい。
このようにすれば、パケットのタイムスタンプ値を、現在のサイクルタイムに応じた適正なタイムスタンプ値に書き換えることが可能になる。
また本発明では、前記第1のメモリは、前記第2のメモリよりも大容量であり且つ前記第2のメモリよりも高速にシーケンシャルアクセスが可能なメモリであってもよい。
また本発明では、IEEE1394の規格に準拠したデータ転送を行うようにしてもよい。
また本発明は、上記のいずれかのデータ転送制御装置と、ストリームパケットを記録する記録媒体とを含む電子機器に関係する。
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.電子機器
図1(A)(B)に、本実施形態のデータ転送制御装置30を含む電子機器16(デジタル記録・再生装置)の例を示す。この電子機器16は、HDD(Hard Disk Drive)、データ転送制御装置30を含む。また、ユーザが電子機器を操作するための操作部12を含む。また、ユーザに各種の情報を表示するディスプレイ部14(LCD)を含む。
ユーザは、操作部12を操作することで、再生モード(通常再生、特殊再生)の指定などを行うことができる。また、ディスプレイ部14に表示される情報を見ることで、現在の再生モードなどを確認できる。
この電子機器16は、IEEE1394(又はUSB2.0)などの第1のバスBUS1を介してデジタルチューナ20(或いはデジタルビデオカメラ)に接続されている。そして、デジタルチューナ20はMPEG(Moving Picture Experts Group)デコーダ21を含み、このMPEGデコーダ21は、アンテナ26等により受信されたMPEGストリームパケット(広義にはストリームパケット、第1の層のパケット)をデコードする。そして、デコードデータに基づいて、テレビ24(ディスプレイ部)が映像が表示したり、音声を出力する。また、ユーザは、操作部22(リモコン等)を用いて、チャンネル(放送局)の選択、再生モード(通常再生、特殊再生)の指定などを行うことができる。
AV(Audio Visual)用のHDD(広義には記憶媒体)へのMPEGストリームパケットの記録時においては、アンテナ26で受信されたMPEGストリームパケット(TSパケット)が、BUS1(IEEE1394、USB2.0)、データ転送制御装置30を介してHDDに書き込まれる。
一方、HDDのMPEGストリームの再生時においては、IDE(Integrated Device Electronics)などの第2のバスBUS2を介してHDDからMPEGストリームパケットが読み出される。そして、読み出されたMPEGストリームパケットが、データ転送制御装置30、BUS1を介してデジタルチューナ20に転送され、デジタルチューナ20のMPEGデコーダ21がデコードする。これにより、テレビ24に映像が映し出される。
なお、本実施形態が適用される電子機器は図1(A)(B)に示すものに限定されない。例えば、ビデオテープレコーダ(HDD内蔵)、光ディスク(DVD)レコーダ、デジタルビデオカメラ、パーソナルコンピュータ或いは携帯型情報端末などの種々の電子機器に適用できる。また以下では、BUS1がIEEE1394のバスである場合を例にとり説明するが、BUS2はUSB2.0などの他の高速シリアルバスであってもよい。
2.ストリーム構造
次に図2を用いてMPEG2(以下、適宜、単にMPEGと呼ぶ)のストリーム構造(階層構造)を説明する。
MPEGのTS(Transport Stream)パケットでは、Iピクチャ(広義にはフレーム内符号化データ)や、Bピクチャ及びPピクチャ(広義にはフレーム間符号化データ或いは予測符号化データ)や、オーディオデータ(音声データ、非ビデオデータ)等が、1つのビットストリームに多重化されてパケット化されている。そして図2に示すように、MPEGストリームパケットにおいては、TSパケットのペイロードの連結により、PES(Packetized Elementary Stream)パケット(広義には第2の層のパケット)が構成される。具体的には同じPID(Packet IDentification)のTSパケットのペイロードを組み合わせることで、PESヘッダ及びPESペイロードからなる可変長のPESパケットが構成される。
ES(Elementary Stream)は、ビデオやオーディオのようなコンテンツの構成要素となるものである。このESにヘッダを付加したものがPESと呼ばれる。そしてMPEG2では、PESを多重化するものとして、TS(Transport Stream)とPS(Program Stream)の2種類の多重化ストリームが定義されている。
TSは188バイトの固定長のTSパケットが連続したストリームである。TSパケットはTSヘッダとTSペイロードにより構成される。TSヘッダに含まれるPID(パケット識別情報)を用いることで、約8000種類のTSパケットの識別が可能になる。図2に示すようにPESは、同じPIDを有するTSパケットに分割して配置される。受信側では、同じPIDを有するTSパケットのペイロードをつなぎ合わせることで、元のPESを復元できる。またPESパケットの先頭は、PUSI(ペイロード部スタートインディケータ)により識別されるTSペイロードの先頭から開始するように配置される。
3.アイソクロナス転送
IEEE1394ではパケットの転送方式として、信頼性が要求されるデータの転送に好適なアシンクロナス(asynchronous)転送と、リアルタイム性が要求される動画像や音声などのデータの転送に好適なアイソクロナス(isochronous)転送が用意されている。図3(A)に、IEEE1394でのデータ転送時のバスの様子を模式的に示す。アイソクロナス転送は、サイクルマスタが一定周期毎にサイクル・スタートパケットを発生することで開始する。これにより、1つのチャネル当たり、125μs毎(アイソクロナス転送サイクル毎)に少なくとも1つのアイソクロナス(ISO)パケットを転送できるようになる。この結果、動画像や音声などのリアルタイム性が要求されるデータの転送が可能になる。一方、アシンクロナス転送はアイソクロナス転送の合間に行われる。即ち、IEEE1394では、アイソクロナス転送の方がアシンクロナス転送よりも優先順位が高くなっており、アイソクロナス転送終了後の余りの期間を利用して、アシンクロナス(ASY)パケットが転送される。
図3(B)に、MPEGストリームをIEEE1394バスで転送する場合のアイソクロナス転送パケットのフォーマット例を示す。図3(B)において、ISOヘッダがIEEE1394形式のパケットのヘッダに相当し、CIP(common isochronous packet)ヘッダ、SP(source packet)ヘッダ及びTS(Transport Stream)パケットが、IEEE1394形式のパケットのデータ(ペイロード)に相当する。
SPヘッダ、CIPヘッダのフォーマット例を図3(C)(D)に示す。これらのSPヘッダ(SPH)、CIPヘッダ(CPH)は、IEEE1394バス上でMPEGストリームパケットを転送するためのプロトコルを定めたISO/IEC61883規格により定義されている。例えばSPヘッダは、サイクルカウント(タイムスタンプ値)とサイクルオフセットを含む。サイクルカウントはアイソクロナス転送の125μs毎にカウントアップされる。具体的にはサイクルオフセットが溢れるとサイクルカウントがカウントアップされる。CIPヘッダは、転送されるデータがMPEGであることを宣言したり、MPEGのTSパケットの分割方法を指定するものであり、ソースノードID、データブロックサイズ、フォーマットIDなどを含む。
4.データ転送制御装置
デジタル記録・再生装置などの電子機器では、早送り再生や巻き戻し再生などの特殊再生(トリックプレイ)機能を如何にして実現するかが課題となる。この場合、例えば早送り再生時にHDDからデータを少し読んではトラックジャンプを繰り返すという手法がある。しかしながら、この手法には、映像が乱れたり、表示物の動きがぎこちなくなるなどの問題点がある。また特開平9−247623、特開2000−224534に開示される従来技術では、MPEGストリームパケットをそのままHDDに記録するのではなく、別フォーマットに再構成して記録しているため、装置の構成が複雑になると共にCPUの処理負荷が重くなるという問題点がある。
このような問題点を解決できる本実施形態のデータ転送制御装置30(集積回路)の構成例を図4に示す。なお、本実施形態のデータ転送制御装置30は、図4の全ての構成要素を含む必要はなく、その一部を省略したり、他の構成要素を追加してもよい。例えばSRAM(Static Random Access Memory)、物理層回路49、処理部60などを装置内部に設けない構成にしてもよい。またSDRAM(Synchronous Dynamic Random Access Memory)を装置内部に設ける構成にしてもよい。
データ転送制御装置30はIDEインターフェース32(広義には第1のインターフェース、記録媒体用インターフェース)を含む。IDEインターフェース32は、データ転送制御装置30とハードディスクドライブHDD(広義には記録媒体)との間でのIDE(Integratede Device Electoronics)に準拠したインターフェースを実現する。またデータ転送制御装置30は、SDRAMとのインターフェースを実現するためのSDRAMインターフェース34を含む。
データ転送制御装置はDMAC1(広義には第1のメモリアクセスコントローラ)を含む。DMAC1は、BUS2側(HDD、IDE)から転送されるストリームパケットをSDRAM(広義には第1のメモリ)の送信領域に書き込むための処理を行う。またSDRAMの受信領域に書き込まれたストリームパケットを読み出し、読み出されたストリームパケットをBUS2側に転送するための処理を行う。具体的にはDMAC1は、SDRAMへの書き込み時には書き込み要求や書き込みアドレスを発生し、SDRAMからの読み出し時には読み出し要求や読み出しアドレスを発生する。これにより、SDRAM、BUS2間で、処理部60が介在しないDMA(Direct Memory Access)転送を実現できる。
通常時においては、DMAC1は、アドレスをインクリメントしながらリングバッファ方式で、DMA転送サイズ分のストリームパケット(データ)を、SDRAMの第1〜第Nの各領域に昇順で順次書き込む。具体的には、第1のDMA転送サイクルではSDRAMの下位アドレスの第1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、第2のDMA転送サイクルでは第1の領域よりも上位アドレスの第2の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、・・・・・第NのDMA転送サイクルでは第N−1の領域よりも上位アドレスの第Nの領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、第N+1のDMA転送サイクルでは第1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込む。
一方、逆方向の特殊再生時等においては、DMAC1は、アドレスをインクリメントしながらリングバッファ方式で、DMA転送サイズ分のストリームパケット(データ)を、SDRAMの第1〜第Nの各領域に降順で順次書き込む。具体的には、第1のDMA転送サイクルではSDRAMの上位アドレスの第Nの領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、第2のDMA転送サイクルでは第Nの領域よりも下位アドレスの第N−1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、・・・・・第NのDMA転送サイクルでは第2の領域よりも下位アドレスの第1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、第N+1のDMA転送サイクルでは第Nの領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込む。
データ転送制御装置30はDMAC2(広義には第2のメモリアクセスコントローラ)を含む。DMAC2は、SDRAMの送信領域に書き込まれたストリームパケットを読み出し、読み出されたストリームパケットをSRAM(広義には第2のメモリ)の送信領域に書き込むための処理を行う。またSRAMの受信領域に書き込まれたストリームパケットを読み出し、読み出されたストリームパケットを、SDRAMの受信領域に書き込むための処理を行う。具体的にはDMAC2は、SRAMやSDRAMからの読み出し時には読み出し要求や読み出しアドレスを発生し、SRAMやSDRAMへの書き込み時には書き込み要求や書き込みアドレスを発生する。これにより、SRAM、SDRAM間で、処理部60が介在しないDMA転送を実現できる。
本実施形態ではDMAC2が、SDRAM(送信領域)に書き込まれたストリームパケットの中から特定種類のピクチャ(例えばIピクチャ、或いはIピクチャと他のピクチャの組み合わせ等)を含むパケットだけを読み出し、読み出されたパケットをSRAM(送信領域)に書き込む。具体的にはHDD(記録媒体)のストリームパケットの特殊再生時において、SDRAMのストリームパケットの中から特殊再生に必要な特定種類のピクチャを含むパケットだけを抽出して読み出す。
またストリームパケット(HDD)の逆方向特殊再生(巻き戻し再生)時においては、DMAC2は、SDRAMに格納されている特定種類のピクチャ(Iピクチャ)を含むパケット(TSパケット)のうち、逆方向特殊再生時刻(再生予定時刻)が早いパケット(BUS1を介して転送される際のタイムスタンプ値が小さくなるパケット)についてはSRAMの下位アドレスの領域(第1のSRAM領域)に書き込む。また逆方向特殊再生時刻が遅いパケット(BUS1を介して転送される際のタイムスタンプ値が大きくなるパケット)についてはSRAMの上位アドレスの領域(第1のSRAM領域よりも上位アドレスの第2のSRAM領域)に書き込む。別の言い方をすれば、SDRAMにおいて上位アドレスの領域に格納されている特定種類のピクチャを含むパケットを、SRAMの下位アドレスの領域に書き込み、SDRAMにおいて下位アドレスの領域に格納されている特定種類のピクチャを含むパケットを、SRAMの上位アドレスの領域に書き込む。なおリングバッファ方式の場合にはアドレスの上位、下位は実質的に上位、下位である場合を含む。
DMAC2はタイムスタンプ更新回路100を含む。このタイムスタンプ更新回路100はSDRAMから読み出された各パケットに付加されているタイムスタンプ値を、新たな値に書き換える回路である。具体的には、SDRAMから読み出された各パケットに付加されているタイムスタンプ値を、特殊再生の種類(再生方向、再生速度)に応じた新たな値に書き換える。更に具体的にはタイムスタンプ更新回路100は、1つのピクチャ内(1フレーム分のピクチャ)においては、隣接するパケット(隣接してSDRAMに書き込まれたパケット)に付加されていたタイムスタンプ値間の差分値と、書き換え後のタイムスタンプ値間の差分値とが同じ値になるように、書き換え処理を行う。また、書き換え後のタイムスタンプ値のピクチャ間での差分値(第Iのフレームの特定種類のピクチャの書き換え後のタイムスタンプ値と、第I−1のフレームの特定種類のピクチャの書き換え後のタイムスタンプ値との差分値)が、特殊再生の速度に応じて変化するように、書き換え処理を行う。例えば再生速度が速くなると差分値が小さくなり、遅くなると差分値が大きくなるように、書き換え処理を行う。また、逆方向特殊再生時においては、SRAMの下位アドレスの領域に書き込まれたパケットについては、そのタイムスタンプ値が小さくなり、SRAMの上位アドレスの領域に書き込まれたパケットについては、そのタイムスタンプ値が大きくなるように、書き換え処理を行う。
なお、SDRAM(第1のメモリ、同期型メモリ)はSRAMに比べて大容量のメモリである。またSRAMに比べてシーケンシャルアクセス(連続したアドレスへのアクセス)を高速に行うことができるメモリである。また連続したアドレスのデータ(バーストデータ)をクロックに同期して入出力できるメモリである。なお、SDRAMは、データ転送制御装置の外部に設けることが望ましいが、データ転送制御装置の内部に設けてもよい。また、通常のSDRAMの代わりに、例えばDDR型SDRAM、ラムバス(Rambus)社のRDRAMなどの高速な同期型メモリを採用してもよい。またSDRAMの記憶領域を、送信領域と受信領域に分離したり、アシンクロナス領域とアイソクロナス領域に分離してもよい。
一方、SRAM(第2のメモリ、パケットメモリ、パケットバッファ)はSDRAMに比べて小容量なメモリである。またSRAMは処理部60(CPU、MPU、システムコントローラ)等によりランダムアクセスが可能なメモリであり、パケットの仕分け用のメモリである。なおSRAMはデータ転送制御装置の内部に設けることが望ましいが、データ転送制御装置の外部に設けてもよい。またSRAMの記憶領域を、ヘッダ領域(制御情報領域)とデータ領域に分離したり、送信領域と受信領域に分離したり、アシンクロナス領域とアイソクロナス領域に分離してもよい。
データ転送制御装置30は転送コントローラ40(リンクコントローラ)を含む。この転送コントローラ40はBUS1を介したデータの送信処理や受信処理を制御する。例えば送信時にはSRAMからパケット(TSパケット)を読み出し、アイソクロナスヘッダ(広義には第3の層のヘッダ)を付加してBUS1を介して転送する。受信時には、BUS1を介して転送されてきたパケットを受信し、受信データ(TSパケット)をSRAMに書き込む。
転送コントローラ40はヘッダ作成回路42とDMAC3(広義には第3のメモリアクセスコントローラ)を含む。ヘッダ作成回路42は、SRAMの各パケットに付加されているタイムスタンプ値(SPヘッダ)を読み出し、転送開始タイムスタンプ設定レジスタ44の設定値と比較する。そしてタイムスタンプ値が設定値に一致した場合には、アイソクロナスヘッダを作成してアイソクロナスヘッダ領域に書き込む。DMAC3は、アイソクロナスヘッダ領域にアイソクロナスヘッダが存在する場合には、アイソクロナスヘッダと、そのペイロードとなるパケット(TSパケット)をSRAMから読み出して、BUS1を介して転送する。一方、アイソクロナスヘッダがアイソクロナスヘッダ領域に存在しない場合には、Nullパケット用ヘッダをSRAMから読み出して、ペイロードが無いNullパケットをBUS1を介して転送する。
データ転送制御装置30はポインタコントローラ46を含む。このポインタコントローラ46は、SRAMに蓄積されいているデータ量を計算する。具体的には、リンク側ポインタとSDRAM側ポインタとを比較して、SRAM内のデータ残量を計算し、転送コントローラ40に出力する。
データ転送制御装置30はサイクルタイマ48を含む。このサイクルタイマ48は、BUS1の転送サイクルを決定するためのサイクルタイムをカウントする。転送コントローラ40は、SRAMの各パケットに付加されているタイムスタンプ値(SPH)と設定値(転送開始タイムスタンプ設定レジスタ44)とを比較する。そしてタイムスタンプ値が設定値と一致したパケットについては、そのパケットのタイムスタンプ値を、現在のサイクルタイムにオフセット値を加算した値に書き換えて、書き換え後のパケット(ペイロード)にヘッダを付加してバスを介して転送する。
例えば図5のA1では現在のサイクルタイムが100になっている。そしてA2では、パケットのタイムスタンプ値が、現在のサイクルタイム(=100)にオフセット値(=3)を加算した値である103に書き換えられて転送される。従ってこのパケットはA3に示すサイクルタイムで再生されることになる。
データ転送制御装置30は物理層(PHY)回路49を含む。この物理層回路49はIEEE1394の物理層プロトコルを実現する回路であり、転送コントローラ40等で使用されるロジカルシンボルを電気信号に変換する。
データ転送制御装置30は検出回路50を含む。この検出回路50はピクチャ情報の検出処理を行う。即ちHDDから読み出されたストリームパケットの構造(階層構造)を解析し、IEEE1394バスを介して転送すべきTSパケットを選別するためのピクチャ情報を検出する。そして検出されたピクチャ情報をSRAMのピクチャ情報領域に書き込む。
図6にピクチャ情報領域の例を示す。図6に示すように、ピクチャの識別情報(I、B、Pのいずれのピクチャなのかを識別するための情報)と、そのピクチャを含むパケット(TSパケット)のSDRAM上での格納アドレス(AD0〜AD15)が、ピクチャ情報として書き込まれる。なおピクチャ情報領域は、SRAMを用いて実現してもよいし、レジスタ部62を用いて実現してもよい。
より具体的には検出回路50は、PESパケットのヘッダ情報(ストリームID等)を検出(取得)する。図7(A)に示すように、このPESパケット(広義には第2の層のパケット)はTSパケット(広義には第1の層のパケット)のペイロードの連結により構成されている。検出回路50は、TSパケットのPIDが処理部60(PID設定レジスタ)により指定されたPIDか否かを検出する。そして、指定されたPIDである場合には、そのTSパケットのペイロードが、PESパケットを構成する先頭のTSペイロードであるか否かを、図7(A)のC1に示すようにTSヘッダに含まれるPUSI(ペイロード部スタートインディケータ)を用いて判断する。
検出回路50は、先頭のTSペイロードであると判断した場合には、図7(A)のC2に示すように、その先頭のTSペイロードに含まれるPESヘッダから、ストリームIDを取得する。そして取得したストリームIDを用いて、ビデオストリームのTSパケットかオーディオストリーム(非ビデオストリーム)のTSパケットかを確認する。
検出回路50は、TSパケットのPIDが、処理部60により指定されたPIDであり、且つ、ビデオストリームのTSパケットであると判断した場合には、PESのペイロード(データバイト)を検出し、PESペイロードに含まれるスタートコードを検出する。そして、検出されたスタートコードが、シーケンスヘッダコード、グループスタートコード、又はピクチャスタートコードか否かを判断する。そして検出されたスタートコードが図7(B)のC3に示すピクチャスタートコードであった場合には、検出回路50は、C4に示すピクチャコーディングタイプであるI、B、Pピクチャの識別情報と、そのピクチャを含むTSパケットのSDRAM上での格納アドレス(先頭アドレス)を、ピクチャ情報としてSRAMのピクチャ情報領域に書き込んで、処理部60に表示する。
DMAC2は、ピクチャ情報領域に表示された識別情報と格納アドレスを読んだ処理部60からの指示に従って、SDRAMに書き込まれたストリームパケットの中から特定種類のピクチャ(Iピクチャ等)を含むパケットを抽出して読み出す。
データ転送制御装置30は処理部60を含む。この処理部60は、装置内の各回路の制御や装置の全体制御を行う。処理部60の機能は、CPU或いはシステムコントローラなどのハードウェアや、ファームウェア(プログラム)により実現される。なお、処理部60をデータ転送制御装置30の外部に設けてもよい。
データ転送制御装置30はレジスタ部62を含む。レジスタ部62の待避領域(PicInfoRsvレジスタ)には、ピクチャ情報領域に書き込まれていた情報が待避される。
具体的には検出回路50は、今回のDMA転送サイクルでSDRAMに書き込まれたパケットに含まれるピクチャの識別情報を検出し、その識別情報とそのパケットの格納アドレスを、前回のDMA転送サイクルにおいて書き込まれた情報に上書きしてピクチャ情報領域に書き込む。
そして例えば順方向特殊再生時には、前回のDMA転送サイクルでSDRAMに最後に書き込まれたパケットに含まれるピクチャの識別情報と、そのパケットの格納アドレスが、今回のDMA転送サイクルにおいて待避領域に待避される。一方、逆方向特殊再生時には、前回のDMA転送サイクルでSDRAMに最初に書き込まれたパケットに含まれるピクチャの識別情報と、そのパケットの格納アドレスが、今回のDMA転送サイクルにおいて待避領域に待避される。なお待避領域は、レジスタを用いて実現しもよいし、SRAMを用いて実現してもよい。
図8にレジスタ部62のレジスタ構成例を示す。図8に示すようにレジスタ部62は、割り込み処理用レジスタ、ピクチャ情報用レジスタ、タイムスタンプ書き換え処理用のレジスタなどを含む。
割り込み処理用レジスタの中のDetectIpicStartは、HDDからSDRAMへのDMA転送時に検出回路50によりIピクチャの先頭が検出された場合に、割り込みを発生して通知するためのレジスタである。DetectIpicEndは、HDDからSDRAMへのDMA転送時にIピクチャの次のピクチャ(Bピクチャ等)の先頭が検出回路50により検出された場合に、割り込みを発生して通知するためのレジスタである。EnDetectIpicStart、EnDetectIpicEndは、DetectIpicStartとDetectIpicEndの割り込みのイネーブル、ディスエーブルを設定するためのレジスタである。
ピクチャ情報用レジスタの中のPictureAnalyzePID[4:0]は、ピクチャ解析を行うPIDを設定したPIDレジスタ番号を書き込むためのレジスタである。PicInfoRsv[31:0]は、ピクチャ情報領域に格納される情報の待避領域となるレジスタである。PicInfoPtrClrはピクチャ情報領域のポインタ(PicInfoAreaPtr)をクリアするためのレジスタである。PicInfoPtrOverFlowはピクチャ情報がオーバーフローになり、書き込みに失敗したデータが現れたことを知らせるためのレジスタである。PicInfoAreaPtr[3:0]はピクチャ情報領域への情報格納がどこまで進んでいるのかを知らせるためのポインタレジスタである。PicInfoRsvBxTは、その値が「0」の時には、ピクチャ情報領域の最初(先頭)の情報が待避レジスタPicInfoRsvに待避され、その値が「1」の時には、ピクチャ情報領域の最後の情報が待避レジスタPicInfoRsvに待避される。PicInfoDetectEnableは、ピクチャ情報の検出・表示機能のイネーブル、ディスエーブルを設定するためのレジスタである。
タイムスタンプ書き換え処理用レジスタの中のTimeStampHead[25:0]は、DMA転送開始直後のTSパケットに付加するタイムスタンプ値を設定するためのレジスタである。RenewSPHEnbは、タイムスタンプ値の更新処理のイネーブル、ディスエーブルを設定するためのレジスタである。
5.SDRAMとSRAM
本実施形態では、HDDのシークによるバッファ・アンダーラン・エラーの防止のためにSDRAMを設けている。例えばHDDのシークに時間がかかった場合にも、SDRAMを設けることでバッファ・アンダーラン・エラーを防止できる。そしてHDDからのストリームパケットがSDRAMに一旦書き込まれた後に、DMAC2は、図9に示すようにSDRAMに書き込まれたストリームパケットの中から必要なパケットを、仕分け用のメモリであるSRAMに書き込む。具体的にはDMAC2は、SDRAM(第1のメモリ)に書き込まれたストリームパケットの中から特定種類のピクチャを含むパケットを抽出して読み出し、読み出されたパケットをSRAM(第2のメモリ)に書き込む。例えば図9では、SDRAMに書き込まれたストリームパケットの中からIピクチャを含むパケットが抽出されて、SRAMに書き込まれている。このようにすればIピクチャを用いた特殊再生を効率的に実現できる。
なおIDEインターフェース32を介したDMA転送は512バイトの整数倍で行われる。一方、MPEG2規格でのTSパケットのサイズは188バイトであり、このTSパケットには4バイトのSPHが付加されるため、SDRAM上でのTSパケットのサイズは192バイトになる。従ってDMA転送サイズは、512と192バイトの公倍数のサイズ(例えば512×96バイト)に設定することが望ましい。このようにすれば、SDRAM上においてDMA転送の境界とTSパケットの境界がずれないようになり、効率的なデータ転送を実現できる。
6.特殊再生支援機能
本実施形態では特殊再生を実現するために以下のような機能をデータ転送制御装置に持たせている。
データ転送制御装置は、HDDに蓄積されているストリームパケット(データ)をSDRAMに書き込む。そして特殊再生時にはビデオストリームのパケットのみを抽出してSDRAMに書き込む。また、読み出されたパケットのコピーコントロール情報を書き換えると共にこの情報の書き換えに伴ってCRCの再計算を行う。
特殊再生時には、SDRAMに記録されたビデオストリームのパケットの中から、Iピクチャのみを抽出してSRAMに転送する。またPESヘッダの中の必要な箇所(trick Mode等)についての書き換えを行う。逆方向の特殊再生時には過去にさかのぼりながらIDE(HDD)からストリームパケットを読み込む。また特殊再生時には、送信パケットのSPHのタイムスタンプ値を再生速度に従った新たな値に書き換える(貼り直す)。
以上の機能を実現するために、ハードウェア回路とファームウェア(処理部)の役割分担を例えば以下のようにする。
IDE(HDD)からSDRAMへのDMA転送はファームウェアが起動する。即ちファームウェアが転送先アドレス及びDMA転送サイズを指定してDMA転送を起動する。通過させたいビデオストリームパケットのPIDをファームウェアがレジスタ(図8のPictureAnalyzePID)に設定する。ハードウェア回路は、設定されたPIDのパケットだけをSDRAMに書き込む(PIDフィルタ処理)。
SDRAMに書き込まれたビデオストリームパケットの中からIピクチャの先頭を含んだTSパケットの先頭アドレスを検出して表示する。またSDRAMに書き込まれたビデオストリームパケットの中からIピクチャの終わりを含んだTSパケットの次のTSパケットの先頭アドレスを検出して表示する。そしてファームウェアはIピクチャのみをSDRAMからSRAMに転送するDMAを起動する。
SDRAMに書き込まれたビデオストリームパケットの中から、PESヘッダの先頭を含んだTSパケットの先頭アドレスを検出して表示する。ファームウェアは、検出されたPESヘッダの内容を特殊再生に合致するように書き換える。
ファームウェアは、再生速度の設定に従って、Iピクチャの先頭パケットに予め付加されているタイムスタンプ値(SPH)の内容を書き換える。例えば2倍速の場合には、隣接するIピクチャのタイムスタンプ値の差分値が1/2になり、4倍速の場合には、差分値が1/4になり、8倍速の場合は、差分値が1/8になるように、書き換え処理を行う。一方、同一のIピクチャ内では、元々付加されていたタイムスタンプ値の増分に従って、書き換え後のタイムスタンプ値を増加させる。
7.順方向特殊再生
次に図10、図11、図12を用いて、順方向の特殊再生時のデータ転送制御装置の動作を説明する。DM1、DM2、DM3は第1、第2、第3のDMA転送サイクルを表す。また前述したようにDMA転送サイズは512と192の公倍数のサイズ(例えば512×96バイト)に設定されている。
まず、IDE(HDD)からSDRAMにストリームパケットがDMA転送されて書き込まれる。そして図10のE1に示すようにDMA転送中にIピクチャを含むTSパケットの先頭が検出されると、DetectIpicStartの割り込み(図8参照)が発生してファームウェア(処理部)に通知される。また図10のE2に示すように、Iピクチャの次のピクチャの先頭(Iピクチャの終わり)が検出されると、DetectIpicEndの割り込み(図8参照)が発生してファームウェアに通知される。
図11に示すように、1回のDMA転送サイクル中に発見されたピクチャ情報はSRAMのピクチャ情報領域に表示(インディケート)される。例えばDMA転送サイクルDM1、DM2、DM3では、図11のF1、F2、F3に示すようにピクチャ情報が表示される。
具体的にはSDRAMに書き込まれたTSパケットに含まれるピクチャの識別情報と、そのTSパケットのSDRAMでの格納(先頭)アドレスが、ピクチャ情報として表示される。例えば図11のF1では、各TSパケットに含まれるピクチャがI、B、P・・・・・Bピクチャであることが表示され、各TSパケット(SPHを含むTSパケット)の格納アドレスが00000、00384、00576・・・・48960であることが表示されている。
本実施形態ではこのピクチャ情報(識別情報、格納アドレス)を用いてIピクチャの選別処理を行っている。即ち図10に示すように、SDRAMに書き込まれたTSパケットの中から、Iピクチャ(広義には特定種類のピクチャ)を含むTSパケットだけを抽出して読み出して、SRAMに書き込んでいる。
例えばDMA転送サイクルDM1では、Iピクチャを含むTSパケットの先頭アドレス00000と、次のBピクチャを含むTSパケットの先頭アドレス00384(Iピクチャの終了アドレス)が、ピクチャ情報領域に表示される。またアドレス00000〜00384に格納されるTSパケットのピクチャ識別情報も表示される。
そして図10のE1、E2で割り込みが発生すると、ファームウェアは図11のF1のピクチャ情報を読み出す。ファームウェアは、読み出されたピクチャ情報に基づいて、アドレス00000〜00384の領域にIピクチャが格納されていることを知ることができる。そしてファームウェアは、アドレス00000、00384を用いてDMA転送の開始アドレスとサイズを設定して、DMA転送を起動する。すると、ファームウェアの指示を受けたDMAC2は、図10のE5に示すように00000〜00384の領域に格納されるIピクチャを含むTSパケットをSDRAMから読み出して、SRAMに書き込む。
DMA転送サイクルDM2になると、図8のPicInfoPtrClrを用いてピクチャ情報領域のポインタPicInfoAreaPtrがクリアされる。そして図11のF2に示すようにピクチャ情報領域のピクチャ情報が更新される。即ち今回のDMA転送サイクルDM2で検出されたピクチャ情報が、前回のDMA転送サイクルDM1で検出されたピクチャ情報に上書きしてピクチャ情報領域に書き込まれる。また、前回のDMA転送サイクルDM1において最後に検出されたピクチャ情報が待避領域(PicInfoRsv)に待避される。例えば図11のF4は、前回のDMA転送サイクルDM1において最後に検出されたピクチャ情報であり、SDRAMに最後に書き込まれたTSパケットのピクチャ情報である。このピクチャ情報がF5に示すように待避領域に待避される。
そして図10のE3で割り込みが発生すると、ファームウェアは図11のF2、F5に示すピクチャ情報を読み出す。この時、Iピクチャの次のピクチャの先頭アドレスは未だ検出されていないため、SDRAMからSRAMへのIピクチャのDMA転送は行わない。このように1回のDMA転送サイクルでIピクチャの終了部が検出されなかった場合には、Iピクチャの終了部は次回以降のDMA転送サイクルで検出されることになる。
DMA転送サイクルDM3になると、今回のDMA転送サイクルDM3で検出されたピクチャ情報がピクチャ情報領域に上書きして書き込まれる。また、前回のDMA転送サイクルDM2において最後に検出されたピクチャ情報が、図11のF6、F7に示すように待避領域に待避される。
そして図10のE4で割り込みが発生すると、ファームウェアは図11のF3、F7に示すピクチャ情報を読み出す。ファームウェアは、読み出されたピクチャ情報に基づいて、アドレス97920〜98496の領域にIピクチャが格納されていることを知ることができる。そしてファームウェアは、アドレス97920、98496を用いてDMA転送の開始アドレスとサイズを設定して、DMA転送を起動する。すると、ファームウェアの指示を受けたDMAC2は、図10のE6に示すようにアドレス97920〜98496の領域に格納されるIピクチャを含むTSパケットをSDRAMから読み出して、SRAMに書き込む。
以上のように本実施形態では、BUS2側からのストリームパケットをSDRAMに一旦書き込んだ後、特定種類のパケットだけをSDRAMから抽出して読み出してSRAMに書き込んでいる。このように小容量のSRAMとは別に、大容量且つ高速シーケンシャルアクセスが可能なSDRAMを使用することで、HDDのシークによるバッファ・アンダーラン・エラーを効果的に防止できる。またデータ転送制御装置の外部メモリとして、安価で高速なSDRAMを採用できると共に、データ転送制御装置の内蔵メモリとして、SDRAMに比べて小容量のSRAMを使用できるため、製品の低コスト化を図れる。
また本実施形態では、特定種類のピクチャを含むパケットだけがSRAMに書き込まれる。従って、転送コントローラ40がこれらのパケットをSRAMから読み出してヘッダを付加してBUS1側に転送するだけで、早送りや巻き戻しなどの特殊再生を実現できる。従って、特殊再生時におけるデータ転送を効率化できる。即ち1つのメモリ(SDRAM又はSRAM)に書き込まれたストリームパケットの中から特定種類のピクチャを含むパケットを選別して読み出す手法では、ポインタ制御等が複雑になり、データ転送の効率が低下する。これに対して本実施形態では、特定種類のピクチャを含むパケットだけがSRAMに連続して書き込まれる。従って転送コントローラ40がこのように連続して書き込まれたパケットを読み出してヘッダを付加するだけで、特殊再生に必要なパケットをBUS1側に転送できる。これにより、データ転送を効率化でき、ファームウェアの処理負荷も軽減できる。
8.順方向特殊再生時のタイムスタンプ値の書き換え処理
本実施形態ではSDRAMから読み出されたTSパケットに付加されているタイムスタンプ値(SPH)を、特殊再生の種類に応じた新たな値に書き換えている。
図12のG1、G2では、1つめのIピクチャの先頭のTSパケットと次のTSパケットのタイムスタンプ値は1000、1100である。これらのTSパケットをSDRAMから読み出してSRAMに書き込む際に、タイムスタンプ値の書き換え処理を行う。即ち先頭のTSパケットのタイムスタンプ値は、ファームウェアにより任意の初期値に書き換えられてSRAMに書き込まれる。例えば図12のG3では初期値=2000に書き換えられている。この初期値としてはその時点でのサイクルタイム(サイクルタイマ48によりカウントされるサイクルタイム)に所与のオフセット値を加算した値などを採用できる。なお、SDRAM上のパケットに元々付加されているタイムスタンプ値(1000)をそのまま初期値として採用してもよい。
SRAM上でのタイムスタンプ値間の差分値は、SDRAM上でのタイムスタンプ値間の差分値に維持される。例えば図12のG1、G2に示すSDRAM上の元々のタイムスタンプ値は1000、1100であり、その差分値は100である。そしてG3、G4に示すSRAM上の書き換え後のタイムスタンプ値は2000、2100であり、その差分値は維持されて100になる。このように本実施形態では、1つのピクチャ内(1フレーム内)においては、SDRAM上で隣接するTSパケットのタイムスタンプ値(1000、1100)間の差分値(100)と、書き換え後のSRAM上のタイムスタンプ値(2000、2100)間の差分値(100)とが同じ値になるように、書き換え処理を行われる。このようにすることで特殊再生時に適正な画像を生成できるようになる。
図12のG5に示すように次のIピクチャ(次のフレームのIピクチャ)のSDRAM上での先頭のTSパケットのタイムスタンプ値は4000である。この場合にはG8に示すようにこのIピクチャのSRAM上での先頭のTSパケットのタイムスタンプ値を初期値3500に書き換える。具体的には以下の計算式に従って書き換える。
InitialValueJ=InitialValueJ-1+(StartTimeStampJ−StartTimeStampJ-1)/K
ここでInitialValueJは今回のIピクチャのSRAM上でのタイムスタンプの初期値であり、InitialValueJ-1は前回のIピクチャのSRAM上でのタイムスタンプの初期値である。StartTimeStampJは、今回のIピクチャのSDRAM上での先頭TSパケットのタイムスタンプ値であり、StartTimeStampJ-1は、前回のIピクチャのSDRAM上での先頭TSパケットのタイムスタンプ値である。Kは特殊再生速度の倍率であり、例えば2倍速、4倍速、8倍速の場合には、K=2、4、8になる。
図12のG3に示すようにInitialValueJ-1=2000である。またG5に示すようにStartTimeStampJ=4000であり、G1に示すようにStartTimeStampJ-1=1000である。また再生速度は2倍速であるため、K=2である。従って今回のタイムスタンプの初期値はG8に示すようにInitialValueJ=2000+(4000−1000)/2=3500になる。そして例えば再生速度が4倍速である場合には、InitialValueJ=2000+(4000−1000)/4=2750になる。このように本実施形態では、書き換え後のタイムスタンプ値のIピクチャ間での差分値が、再生速度に応じて変化するように書き換え処理を行っている。このようにすることで、再生速度に応じた適正なタイムスタンプ値を、SRAM上のTSパケットに付加できる。従って、転送コントローラ40は、特殊再生の再生速度を意識することなく、SRAMからTSパケットを読み出して、転送サイクルに応じたタイムスタンプ値に書き換えて転送するだけで済むようになる。これにより、データ転送を効率化できる。
なお図12のG5〜G7、G8〜G10に示すように、1つのIピクチャ内ではタイムスタンプ値の差分値は元の値に維持される。即ち元のタイムスタンプ値の増分を、書き換え後のタイムスタンプ値にそのまま反映させている。
9.逆方向特殊再生
次に図13、図14、図15を用いて、逆方向の特殊再生時のデータ転送制御装置の動作を説明する。
まず、IDE(HDD)からSDRAMにストリームパケットがDMA転送されて書き込まれる。この時、図13、図14では図10とは異なり、SDRAMの上位アドレスの領域から順にストリームパケットが書き込まれる。具体的にはDMA転送サイクルDM1ではSDRAMの上位アドレスの第3の領域(第Nの領域)にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込む。DMA転送サイクルDM2では第3の領域よりも下位アドレスの第2の領域(第N−1の領域)にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込む。DMA転送サイクルDM3では第2の領域よりも下位アドレスの第1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込む。そして図14に示すように、DMA転送サイクルDM4では第3の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込む。このようにSDRAMの上位アドレスの領域から順にリングバッファ方式でストリームパケットを書き込む。
DMA転送サイクルDM1において、図13のI1で割り込み(DetectIpicEnd)が発生すると、ファームウェアは図15のJ1に示すピクチャ情報を読み出す。このJ1のピクチャ情報では、検出されたピクチャがBピクチャであり、その格納アドレスが98496であることが表示されている。そしてIピクチャの先頭アドレスは未だ検出されていないため、SDRAMからSRAMへのIピクチャのDMA転送は行わない。
次のDMA転送サイクルDM2になると、図8のPicInfoPtrClrを用いてピクチャ情報領域のポインタPicInfoAreaPtrがクリアされる。そして図15のJ2に示すようにピクチャ情報領域のピクチャ情報が更新される。即ち今回のDMA転送サイクルDM2で検出されたピクチャ情報が、前回のDMA転送サイクルDM1で検出されたピクチャ情報に上書きしてピクチャ情報領域に書き込まれる。また、前回のDMA転送サイクルDM1において最初に検出されたピクチャ情報が待避領域(PicInfoRsv)に待避される。即ち逆方向特殊再生時には図8のPicInfoRsvBxTが0に設定される。従って、前回のDMA転送サイクルDM1において最初に検出されたJ5に示すピクチャ情報(SDRAMに最初に書き込まれたTSパケットのピクチャ情報)が、J6に示すように待避領域に待避される。
そして図13のI2で割り込み(DetectIpicStart)が発生すると、ファームウェアは図15のJ2、J6に示すピクチャ情報を読み出す。ファームウェアは、読み出されたピクチャ情報に基づいて、アドレス97920〜98496の領域にIピクチャが格納されていることを知ることができる。そしてファームウェアは、アドレス97920、98496を用いてDMA転送の開始アドレスとサイズを設定して、DMA転送を起動する。すると、ファームウェアの指示を受けたDMAC2は、図13のI3に示すように97920〜98496の領域に格納されるIピクチャを含むTSパケットをSDRAMから読み出して、SRAMに書き込む。
次のDMA転送サイクルDM3になると図15のJ3に示すようにピクチャ情報領域のピクチャ情報が更新される。またJ7、J8に示すように、前回のDMA転送サイクルDM2において最初に検出されたピクチャ情報が待避領域に待避される。
そして図13のI4で割り込み(DetectIpicEnd)が発生すると、ファームウェアは図15のJ3、J8に示すピクチャ情報を読み出す。このピクチャ情報では、Iピクチャの先頭アドレスは未だ検出されていないため、SDRAMからSRAMへのIピクチャのDMA転送は行わない。
次のDMA転送サイクルDM4になると図15のJ4に示すようにピクチャ情報領域のピクチャ情報が更新される。またJ9、J10に示すように、前回のDMA転送サイクルDM3において最初に検出されたピクチャ情報が待避領域に待避される。
そして図14のI5で割り込み(DetectIpicStart)が発生すると、ファームウェアは図15のJ4、J10に示すピクチャ情報を読み出す。ファームウェアは、読み出されたピクチャ情報に基づいて、アドレス147264〜00384の領域にIピクチャが格納されていることを知ることができる。そしてファームウェアは、アドレス147264、00384を用いてDMA転送の開始アドレスとサイズを設定して、DMA転送を起動する。すると、ファームウェアの指示を受けたDMAC2は、図14のI6、I7に示すように147264〜00384の領域に格納されるIピクチャを含むTSパケットをSDRAMから読み出して、SRAMに書き込む。
以上のように本実施形態では、ストリームパケットの逆方向特殊再生時において、SDRAMに格納されているIピクチャを含むパケットのうち、逆方向特殊再生時刻(再生予定時刻)が早いパケット(97920〜98495の領域のパケット)については、図13のI3に示すようにSRAMの下位アドレスの領域(実質的に下位アドレスの領域)に書き込まれる。また逆方向特殊再生時刻が遅いパケット(147264〜00384の領域のパケット)については、図14のI6、I7に示すようにSRAMの上位アドレスの領域(実質的に上位アドレスの領域)に書き込まれる。
このようにすれば、転送コントローラ40が、SRAMの下位アドレスの領域から順にパケットを読み出し、ヘッダを付加してBUS1側に転送するだけで、逆方向特殊再生を実現できる。即ち転送コントローラ40は、再生モードが逆方向特殊再生であることを意識する必要が無く、単にSRAMからパケットを連続して読み出すだけよいため、転送コントローラ40の処理を簡素化でき、データ転送を効率化できる。
また本実施形態では図13、図14で説明したように、SDRAMにストリームパケットをDMA転送で書き込む際に、SDRAMの上位アドレスの領域から順にリングバッファ方式でパケットが書き込まれる。このようにすれば例えばDMA転送サイクルDM1、DM2でSDRAMの97920〜98490の領域に書き込まれたパケットを、図13のI3に示すようにSRAMの下位アドレスの領域に転送した後は、この97920〜98490の領域を解放して、次のパケットの書き込み領域として使用できるようになる。即ち図14に示すように、次のDMA転送サイクルDM3、DM4において147264〜00384の領域にパケットを書き込むことが可能になる。従ってリングバッファ方式で管理されるSDRAMの記憶領域の効率的な利用が可能になり、限られた記憶容量のSDRAMに対してより多くのストリームパケットを書き込むことが可能になる。
10.逆方向特殊再生時のタイムスタンプ値の書き換え処理
次に逆方向特殊再生時のタイムスタンプ値の書き換え処理を説明する。図16のL1、L2では、1つめのIピクチャの先頭のTSパケットと次のTSパケットのタイムスタンプ値は7600、7700である。これらのTSパケットをSDRAMから読み出してSRAMに書き込む際に、タイムスタンプ値の書き換え処理を行う。即ち図16のL3に示すように、先頭のTSパケットのタイムスタンプ値は、ファームウェアにより任意の初期値=200に書き換えられてSRAMに書き込まれる。
SRAM上でのタイムスタンプ値間の差分値は、SDRAM上でのタイムスタンプ値間の差分値に維持される。例えば図16のL1、L2に示すSDRAM上の元々のタイムスタンプ値は7600、7700であり、その差分値は100である。そしてL3、L4に示すSRAM上の書き換え後のタイムスタンプ値は2000、2100であり、その差分値は維持されて100になる。
図16のL5に示すように次のIピクチャのSDRAM上での先頭のTSパケットのタイムスタンプ値は4000である。この場合にはL8に示すようにこのIピクチャのSRAM上での先頭のTSパケットのタイムスタンプ値を初期値3800に書き換える。具体的には以下の計算式に従って書き換える。
InitialValueJ=InitialValueJ-1+(StartTimeStampJ-1−StartTimeStampJ)/K
図16のL3に示すようにInitialValueJ-1=2000である。またL1に示すようにStartTimeStampJ-1=7600であり、L5に示すようにStartTimeStampJ=4000である。また逆方向の再生速度は2倍速であるため、K=2である。従って今回のタイムスタンプの初期値はL8に示すようにInitialValueJ=2000+(7600−4000)/2=3800になる。そして例えば再生速度が4倍速である場合には、InitialValueJ=2000+(7600−4000)/4=2900になる。このように本実施形態では、書き換え後のタイムスタンプ値のIピクチャ間での差分値が、逆方向の再生速度に応じて変化するように書き換え処理を行っている。このようにすることで、逆方向特殊再生速度に応じた適正なタイムスタンプ値を、SRAM上のTSパケットに付加できる。そして図16のL5〜L7、L8〜L10に示すように、1つのIピクチャ内ではタイムスタンプ値の差分値は元の値に維持される。
また本実施形態では前述のように、逆方向特殊再生時刻が早いTSパケットについてはSRAMの下位アドレスの領域に書き込まれ、逆方向特殊再生時刻が遅いTSパケットについてはSRAMの上位アドレスの領域に書き込まれる。この際に、図16のL3、L4、L8、L9、L10に示すように、タイムスタンプ値も逆方向特殊再生時刻に応じた値に書き換えられる。即ちSRAMの下位アドレスの領域に書き込まれたTSパケットは、逆方向特殊再生時刻が早いパケットである。従って図16のL3、L4に示すように、そのタイムスタンプ値が小さくなるように書き換え処理が行われる。一方、SRAMの上位アドレスの領域に書き込まれたTSパケットは、逆方向特殊再生時刻が遅いパケットである。従って図16のL8、L9、L10に示すように、そのタイムスタンプ値が下位アドレスの領域のパケットのタイムスタンプ値よりも大きくなるように書き換え処理が行われる。このようにすれば、転送コントローラ40は、特殊再生が順方向再生なのか逆方向再生なのかを意識する必要が無くなる。そしてSRAMの下位アドレスの領域から順にTSパケットを読み出して、転送サイクルに応じたタイムスタンプ値に書き換えて転送するだけで済むようになる。これにより、データ転送を効率化できる。
11.タイムスタンプ更新回路の構成例
図17に、DMACが含むタイムスタンプ更新回路100の構成例を示す。タイムスタンプ更新回路100は、更新制御回路102、タイムスタンプ値保存レジスタ104、差分値演算回路106、オフセット値レジスタ108、加算回路110、送信FIFO112を含む。なおこれらの構成要素の一部を省略する構成としてもよい。
図17において送信FIFO112(FirstInFirstOut記憶部)は、SDRAMから読み出されるパケット(SPH)を一時的に格納してSRAMに出力する。タイムスタンプ値保存レジスタ104は、SDRAMから前回に読み出されたパケットに付加されているタイムスタンプ値を保存する。差分値演算回路106は、SDRAMから今回読み出されたパケットに付加されている今回のタイムスタンプ値と、タイムスタンプ値保存レジスタ104に保存されている前回のタイムスタンプ値との差分値を演算する。オフセット値レジスタ108はオフセット値を記憶するレジスタであり、SDRAMからSRAMへのパケットのDMA転送(DM1、DM2、DM3)が行われる毎に、タイムスタンプの初期値がオフセット値として設定される。加算回路110は、オフセット値レジスタ108からのオフセット値に差分値演算回路106からの差分値を加算して、加算値を更新タイムスタンプ値として、送信FIFO110に出力する。また更新タイムスタンプ値をオフセット値としてオフセット値レジスタ108に書き戻す(上書きする)。
次に、タイムスタンプ更新回路100の動作を説明する。タイムスタンプ更新回路100は、処理部60からの更新回路イネーブル信号がアクティブになると、動作する。具体的には、SDRAMからSRAMへのデータ転送(DMA)が開始されると、更新回路イネーブル信号がアクティブになり、動作を開始する。また処理部60は、オフセット値レジスタ108にタイムスタンプの初期値を予め設定しておく。例えば図12のG8では初期値=3500が設定される。
更新制御回路102は、DMAカウント=0の場合には、加算イネーブル信号をアクティブにせずに、更新ストローブ信号だけをアクティブにする。これにより、オフセット値レジスタ108の出力であるオフセット値(=3500)がそのまま更新タイムスタンプ値として送信FIFO112に出力される。即ち送信FIFO112に格納されたSPHのタイムスタンプ値(=4000)が、オフセット値レジスタ108に設定されたタイムスタンプの初期値(=3500)に書き換えられる。なおSPHが送信FIFO112に入力されるタイミングで、そのSPHのタイムスタンプ値(=4000)をタイムスタンプ値保存レジスタ104に保存しておく。
DMAカウントがインクリメントされて、今回のSPHのタイムスタンプ値(=4100)が送信FIFO112に入力されると、タイムスタンプ更新回路100は次のように動作する。まず差分値演算回路106は、今回のSPHのタイムスタンプ値(=4100)と、タイムスタンプ値保存レジスタ104に格納されている前回のSPHのタイムスタンプ値(=4000)との差分値(=100)を計算し、加算回路110に出力する。そしてDMAカウントが0以外である場合には、更新制御回路102は、更新ストローブ信号と加算イネーブル信号の両方をアクティブにする。すると、加算回路110は、差分値演算回路106からの差分値(=100)と、オフセット値レジスタ108からのオフセット値(=3500)とを加算し、加算値(=3600)を更新タイムスタンプ値として送信FIFO112に出力する。これにより、送信FIFO110内のオリジナルのタイムスタンプ値(=4100)が、更新タイムスタンプ値(=3600)に書き換えられる。同時に、この更新タイムスタンプ値はオフセット値レジスタ108に上書きされて書き戻される。
以上の処理をDMA転送が完了するまで繰り返すことにより、オリジナルのSPHのタイムスタンプ値間の差分値を計算しながら新たなタイムスタンプ値に書き換える処理が実現される。
12.パケット転送時のタイムスタンプ値の書き換え
(1)HDDへのストリームパケットの録画
HDDにストリームパケットを録画する場合には、ストリームインターフェースから放送データを入力する場合とは異なり、各パケットには予めSPHが付加されている。これらのストリームパケットはIEEE1394等を介してHDDに録画されるからである。従って、HDDへの録画の時点では、何らSPHに手を加えることなく、送られてきたストリームパケットをそのままHDDに書き込めばよい。なお、HDDへの録画時には、ストリームパケットを一旦SDRAMに書き込む。そしてある程度の量のパケットがSDRAMに蓄積されたら、蓄積されたパケットをサイクルタイムとは無関係に一気にHDDに書き込む。
(2)HDDのストリームパケットの再生
HDDのストリームパケットを再生する場合には、図18(A)に示すように、ある程度大きな単位で一気にHDDからSDRAMにパケットを読み込む。この場合の読み込みタイミングは、図18(A)に示すようにその時点のBUS1(IEEE1394)でのサイクルタイムとは無関係なタイミングとなる。また録画時にパケットに付加されるSPHのタイムスタンプ値(絶対値)は、再生時のサイクルタイムとは全く無関係になっている。更にHDDからのパケットの読み込み時間は、MPEGのTSの本来の帯域と比較して、はるかに高速である。即ち短時間に大量のパケットをHDDからSDRAMに読み込むことができる。
(3)SDRAMからSRAMへのDMA転送
SDRAMに蓄積されたパケットはSRAMにDMA転送される。この場合にも図18(B)に示すようにSDRAMからSRAMに一気にパケットが転送される。また、その時点のBUS1でのサイクルタイムと、パケット(TSパケット)に付加されているSPHのタイムスタンプ値とは無関係である。なお、前述したように特殊再生時においては、SDRAMからSRAMにパケットを転送する時に、特殊再生の種類(再生速度等)に応じてSPHのタイムスタンプ値を書き換える。サイクルタイムとパケットのタイムスタンプ値とは無関係であるため、サイクルタイムを考慮せずにこのような書き換えを行っても問題はない。
(4)SRAMからBUS1へのパケット転送
IEEE1394のBUS1では、アイソクロナスサイクル毎に1又は複数のパケット(TSパケット)が転送される。この場合に各パケットのSPHのタイムスタンプ値は、受信側においてデコーダ(図1の21)にパケットを入力して欲しい時間を示している。即ち送信側では、現在のサイクルタイム(サイクルタイマ48でカウントされるサイクルタイム)に所与のオフセット値を付加してBUS1にパケットを送信する。受信側は、ある程度の量のパケットを蓄積できるバッファを有しているため、送信側は、このように未来のタイムスタンプ値が付加されたパケットを先行して送信できる。ISO/IEC61883規格では、例えば8サイクル先までのパケット(オフセット値=8)を送信することが許容されている。
そこで本実施形態では、SRAMに書き込まれたパケットに付加されているタイムスタンプ値と設定値とを比較し、タイムスタンプ値が設定値と一致したパケットについては、そのタイムスタンプ値を、現在のサイクルタイムにオフセット値を加算した値に書き換えてバスを介して転送すると共に設定値を更新(インクリメント)している。
具体的にはSRAMに蓄積されたパケットのSPHのタイムスタンプ値を参照し、予め設定された値に、SPHのタイムスタンプ値が一致すると、そのパケットをBUS1を介して自動送信する。この場合にSRAMに蓄積されたパケットの全てを一気に転送するのではなく、そのタイムスタンプ値が設定値と一致したパケットだけをまとめて自動送信する。
例えば図19のM1では、SRAM内の2つのパケットのタイムスタンプ値が、設定値=2500に一致したため、これらの2つのパケットがBUS1を介して自動送信される。また設定値が1だけインクリメントされて2501になる。そして図19のM2に示すようにこの自動送信の際には、パケットのタイムスタンプ値(2500)が、現在のサイクルタイム(6501)にオフセット値(=5)を加算した値(6606)に書き換えられる。また自動送信の際には図3(B)に示すようにISOヘッダやCIPヘッダの付加処理も行われる。なお設定値は、設定値と不一致となるタイムスタンプ値を有するパケットが検出されたことを条件に更新すればよい。例えば1サイクルタイム内に送信できるパケットの最大数がI個であり、そのタイムスタンプ値が、設定値(例えば2500)に一致するSRAM内のパケットの個数Jが、J>Iである場合には、第1のサイクルタイムでI個のパケットを送信し、次の第2のサイクルタイムで残りのJ−I個のパケットを送信する。そして設定値と不一致となるタイムスタンプ値(2501)を有するパケットが検出されたことを条件に、設定値を更新(2501に更新)する。
また図19のM3では、SRAM内の2つのパケットのタイムスタンプ値が、更新後の設定値=2501に一致したため、これらの2つのパケットがBUS1を介して自動送信される。また設定値が1だけインクリメントされて2502になる。そして図19のM4に示すようにこの自動送信の際には、パケットのタイムスタンプ値(=2501)が、現在のサイクルタイム(=6502)にオフセット値(=5)を加算した値(6507)に書き換えられる。
自動送信の際には、各アイソクロナスサイクル毎に複数のTSパケットを連結したアイソクロナスパケットを送信する。この場合の連結数は所与の数に設定される。ISO/IEC61883規格では、現在のサイクルタイムに対して例えば8サイクルまで先のタイムスタンプ値を持つパケットを先行して送信することが許容されている。従って、この条件を満たす最大連結数でTSパケットを連結して送信することができる。
以上のように本実施形態では、特殊再生の種類に応じたタイムスタンプ値の書き換え処理については、SDRAMからSRAMへのDMA転送時に行われ、現在のサイクルタイムに適合したタイムスタンプ値への書き換え処理については、SRAMからBUS1へのパケット転送時に行われる。従って、特殊再生の種類に応じたタイムスタンプ値の書き換え処理の際には、現在のサイクルタイムを全く考慮せずに書き換え処理を行うことができる。これにより、特殊再生の種類に応じたタイムスタンプ値の書き換え処理を簡素化できる。またBUS1を介したパケット転送時でのタイムスタンプ値の書き換え処理の際には、特殊再生の種類を全く考慮しなくて済む。従って、現在のタイムサイクルに適合したタイムスタンプ値の書き換え処理を簡素化でき、転送コントローラ40の構成や動作を単純化できる。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(第1のメモリ、第2のメモリ、DMAC1、DMAC2、記録媒体、フレーム内符号化データ、フレーム間符号化データ、第1、第2、第3の層のパケット、第3の層のヘッダ等)として引用された用語(SDRAM、SRAM、第1のメモリアクセスコントローラ、第2のメモリアクセスコントローラ、HDD、Iピクチャ、B及びPピクチャ、TSパケット、PESパケット、IEEE1394形式のパケット、ISOヘッダ等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
また、本発明のデータ転送制御装置の構成は図4に示す構成に限定されず、種々の変形実施が可能である。例えば図4の構成要素の一部を省略したり、その接続関係を変更してもよい。また本実施形態のパケットの書き込み・読み出し手法やタイムスタンプ値の書き換え手法やピクチャ情報の検出手法も、本実施形態で説明した手法に限定されない。またこれらの手法をストリームパケットの特殊再生以外の用途に用いることも可能である。
また本実施形態では、MPEG規格(MPEG2、MPEG4)のデータをIEEE1394規格のバス(インターフェース)で転送する場合について説明したが、本発明はこれに限定されない。例えばMPEG(MPEG2、MPEG4)と同様の思想に基づく規格やMPEGを発展させた規格のデータを、IEEE1394と同様の思想に基づく規格やIEEE1394を発展させた規格のバスで転送する場合にも本発明は適用できる。また、IEEE1394以外の高速シリアル転送(USB等)にも本発明は適用できる。
図1(A)、(B)は電子機器の構成例。 MPEGストリーム構造の説明図。 図3(A)、(B)、(C)、(D)は、アイソクロナス転送やパケットフォーマットの説明図。 本実施形態のデータ転送制御装置の構成例。 タイムスタンプ値の説明図。 ピクチャ情報領域の説明図。 図7(A)、(B)はピクチャ情報の検出処理の説明図。 レジスタ部のレジスタ構成例。 SDRAMからSRAMへのDMA転送の説明図。 Iピクチャの抽出・読み出し手法の説明図。 ピクチャ情報領域、待避領域の説明図。 タイムスタンプ値の書き換え処理の説明図。 逆方向特殊再生時でのIピクチャの抽出・読み出し手法の説明図。 逆方向特殊再生時でのIピクチャの抽出・読み出し手法の説明図。 逆方向特殊再生時でのピクチャ情報領域、待避領域の説明図。 逆方向特殊再生時でのタイムスタンプ値の書き換え処理の説明図。 タイムスタンプ更新回路の構成例。 図18(A)(B)はパケットに付加されるタイムスタンプ値の説明図。 BUS1を介したパケット転送時でのタイムスタンプ値の書き換え処理の説明図。
符号の説明
HDD ハードディスクドライブ(記録媒体)、
SDRAM 第1のメモリ、SRAM 第2のメモリ、
DMAC1〜DAMC3 第1〜第3のメモリアクセスコントローラ、
12 操作部、14 ディスプレイ部、20 デジタルチューナ、
21 MPEGデコーダ、22 操作部、24 テレビ、26 アンテナ、
30 データ転送制御装置、32 IDEインターフェース、
34 SDRAMインターフェース、40 転送コントローラ、42 ヘッダ作成回路、
44 転送開始タイムスタンプ値設定レジスタ、46 ポインタコントローラ、
48 サイクルタイマ、49 物理層回路、50 検出回路、
60 処理部(CPU)、62 レジスタ部、

Claims (14)

  1. バスを介したデータ転送を制御するためのデータ転送制御装置であって、
    第1のメモリにストリームパケットを書き込む第1のメモリアクセスコントローラと、
    前記第1のメモリに書き込まれたストリームパケットの中から特定種類のピクチャを含むパケットを抽出して読み出し、読み出されたパケットを第2のメモリに書き込む第2のメモリアクセスコントローラと、
    前記第2のメモリに書き込まれたパケットにヘッダを付加して、バスを介して転送する制御を行う転送コントローラとを含み、
    前記第2のメモリアクセスコントローラが、
    ストリームパケットの逆方向特殊再生時において、前記第1のメモリに格納されている前記特定種類のピクチャを含むパケットのうち、逆方向特殊再生時刻が早いパケットについては前記第2のメモリの下位アドレスの領域に書き込み、逆方向特殊再生時刻が遅いパケットについては前記第2のメモリの上位アドレスの領域に書き込むことを特徴とするデータ転送制御装置。
  2. 請求項1において、
    前記第1のメモリアクセスコントローラが、
    第1のDMA転送サイクルでは前記第1のメモリの上位アドレスの第Nの領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、第2のDMA転送サイクルでは前記第Nの領域よりも下位アドレスの第N−1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、・・・・・第NのDMA転送サイクルでは第2の領域よりも下位アドレスの第1の領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込み、第N+1のDMA転送サイクルでは前記第Nの領域にDMA転送サイズ分のストリームパケットをアドレスをインクリメントしながら書き込むことを特徴とするデータ転送制御装置。
  3. 請求項1又は2において、
    前記第1のメモリに書き込まれたパケットに含まれるピクチャの識別情報を検出し、その識別情報とそのパケットの前記第1のメモリでの格納アドレスとを、ピクチャ情報領域に書き込む検出回路を含み、
    前記第2のメモリアクセスコントローラが、
    前記識別情報と前記格納アドレスを前記ピクチャ情報領域から読み出した処理部からの指示に従って、前記第1のメモリに書き込まれたストリームパケットの中から特定種類のピクチャを含むパケットを抽出して読み出すことを特徴とするデータ転送制御装置。
  4. 請求項1又は2において、
    今回のDMA転送サイクルで前記第1のメモリに書き込まれたパケットに含まれるピクチャの識別情報を検出し、その識別情報とそのパケットの前記第1のメモリでの格納アドレスとを、前回のDMA転送サイクルで書き込まれた情報に上書きしてピクチャ情報領域に書き込む検出回路を含み、
    前回のDMA転送サイクルで前記第1のメモリに最初に書き込まれたパケットに含まれるピクチャの識別情報と、そのパケットの前記第1のメモリでの格納アドレスとを、今回のDMA転送サイクルにおいて待避領域に待避することを特徴とするデータ転送制御装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記第1のメモリアクセスコントローラが、
    記録媒体からストリームパケットを読み出して、前記第1のメモリに書き込み、
    前記第2のメモリアクセスコントローラが、
    ストリームパケットの逆方向特殊再生時において、前記第1のメモリのストリームパケットの中から前記逆方向特殊再生に必要な特定種類のピクチャを含むパケットを抽出して読み出すことを特徴とするデータ転送制御装置。
  6. 請求項5において、
    前記第1のメモリから読み出された各パケットに付加されているタイムスタンプ値を、前記逆方向特殊再生に応じた新たな値に書き換えるタイムスタンプ更新回路を含むことを特徴とするデータ転送制御装置。
  7. 請求項6において、
    前記タイムスタンプ更新回路が、
    1つのピクチャ内においては、隣接するパケットに付加されていたタイムスタンプ値間の差分値と、書き換え後のタイムスタンプ値間の差分値とが同じ値になるように、タイムスタンプ値の書き換え処理を行うことを特徴とするデータ転送制御装置。
  8. 請求項6又は7において、
    前記タイムスタンプ更新回路が、
    書き換え後のタイムスタンプ値のピクチャ間での差分値が、前記逆方向特殊再生の速度に応じて変化するように、タイムスタンプ値の書き換え処理を行うことを特徴とするデータ転送制御装置。
  9. 請求項6乃至8のいずれかにおいて、
    前記タイムスタンプ更新回路が、
    前記第2のメモリの下位アドレスの領域に書き込まれたパケットについては、そのタイムスタンプ値が小さくなり、前記第2のメモリの上位アドレスの領域に書き込まれたパケットについては、そのタイムスタンプ値が大きくなるように、タイムスタンプ値の書き換え処理を行うことを特徴とするデータ転送制御装置。
  10. 請求項6乃至9のいずれかにおいて、
    前記タイムスタンプ更新回路が、
    前記第1のメモリから読み出されるパケットを一時的に格納して、前記第2のメモリに出力する送信FIFOと、
    前記第1のメモリから前回に読み出されたパケットに付加されているタイムスタンプ値を保存するタイムスタンプ値保存レジスタと、
    前記第1のメモリから読み出されたパケットに付加されている今回のタイムスタンプ値と、前記タイムスタンプ値保存レジスタに保存されている前回のタイムスタンプ値との差分値を演算する差分値演算回路と、
    前記第1のメモリから前記第2のメモリへのパケットのDMA転送が行われる毎に、今回のDMA転送でのタイムスタンプの初期値がオフセット値として設定されるオフセット値レジスタと、
    前記オフセット値レジスタからのオフセット値に前記差分値演算回路からの差分値を加算して、加算により得られた値を更新タイムスタンプ値として、前記送信FIFOに出力すると共に前記オフセット値レジスタに書き戻す加算回路を含むことを特徴とするデータ転送制御装置。
  11. 請求項1乃至10のいずれかにおいて、
    転送サイクルを決定するためのサイクルタイムをカウントするサイクルタイマを含み、
    前記転送コントローラが、
    前記第2のメモリに書き込まれたパケットに付加されているタイムスタンプ値と所与の設定値とを比較し、タイムスタンプ値が前記設定値と一致したパケットについては、そのタイムスタンプ値を、現在のサイクルタイムにオフセット値を加算した値に書き換えて、バスを介して転送すると共に、前記設定値を更新することを特徴とするデータ転送制御装置。
  12. 請求項1乃至11のいずれかにおいて、
    前記第1のメモリは、前記第2のメモリよりも大容量であり且つ前記第2のメモリよりも高速にシーケンシャルアクセスが可能なメモリであることを特徴とするデータ転送制御装置。
  13. 請求項1乃至12のいずれかにおいて、
    IEEE1394の規格に準拠したデータ転送を行うことを特徴とするデータ転送制御装置。
  14. 請求項1乃至13のいずれかのデータ転送制御装置と、
    ストリームパケットを記録する記録媒体とを含むことを特徴とする電子機器。
JP2004225611A 2004-08-02 2004-08-02 データ転送制御装置及び電子機器 Withdrawn JP2006050078A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004225611A JP2006050078A (ja) 2004-08-02 2004-08-02 データ転送制御装置及び電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004225611A JP2006050078A (ja) 2004-08-02 2004-08-02 データ転送制御装置及び電子機器

Publications (1)

Publication Number Publication Date
JP2006050078A true JP2006050078A (ja) 2006-02-16

Family

ID=36028154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004225611A Withdrawn JP2006050078A (ja) 2004-08-02 2004-08-02 データ転送制御装置及び電子機器

Country Status (1)

Country Link
JP (1) JP2006050078A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103002321A (zh) * 2011-09-09 2013-03-27 株式会社东芝 视频服务器、影像收录方法及重构方法
JP2015119255A (ja) * 2013-12-17 2015-06-25 Necエンジニアリング株式会社 送信装置、及び、送信方法
JP2019012062A (ja) * 2017-06-13 2019-01-24 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag レーダ信号を処理する装置及び方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103002321A (zh) * 2011-09-09 2013-03-27 株式会社东芝 视频服务器、影像收录方法及重构方法
JP2013058172A (ja) * 2011-09-09 2013-03-28 Toshiba Corp 映像収録再生装置、収録方法及び再構築方法
JP2015119255A (ja) * 2013-12-17 2015-06-25 Necエンジニアリング株式会社 送信装置、及び、送信方法
JP2019012062A (ja) * 2017-06-13 2019-01-24 インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag レーダ信号を処理する装置及び方法
JP7152195B2 (ja) 2017-06-13 2022-10-12 インフィネオン テクノロジーズ アーゲー レーダ信号を処理する装置及び方法

Similar Documents

Publication Publication Date Title
EP1271513A1 (en) Hard disk apparatus, medium, and collection of information
JP2008262686A (ja) 同報通信データを記録するための方法、および、装置
JP3633884B2 (ja) 再生画像伝送装置
JP3671925B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3558983B2 (ja) デジタル放送の記録再生装置
JP2001285860A (ja) 転送レート制御装置、復号装置、媒体及び情報集合体
JP2005117660A (ja) 多重化されていないストリームを含むavデータを記録した情報保存媒体、その再生方法及び装置
KR20050029810A (ko) 멀티앵글 데이터 구조를 기록한 정보저장매체, 그재생방법 및 장치
JP2003018544A (ja) ディジタル放送用記録装置
KR100259295B1 (ko) 메모리 제어 장치
JP4426800B2 (ja) Avデータ記録再生装置及び方法、並びに当該avデータ記録再生装置又は方法で記録された記録媒体
JP2006050078A (ja) データ転送制御装置及び電子機器
JP2006050077A (ja) データ転送制御装置及び電子機器
JP4075360B2 (ja) データ転送制御装置及び電子機器
JP4763589B2 (ja) 再生装置、および、その再生方法
JP2005197839A (ja) トランスポートストリームの特殊再生方法及びトランスポートストリームの記録再生装置
JP4005505B2 (ja) 情報記録媒体のプログラム仕様情報提供方法
JP2006049948A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US7072572B2 (en) Method of and apparatus for merging bit streams for seamless reproduction, and recording medium for recording control information for bit stream merging
JP4219883B2 (ja) 転送レート制御装置、及び記録媒体
JP2006049980A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3872672B2 (ja) トランスポートストリーム再生装置、トランスポートストリーム処理装置、トランスポートストリーム再生方法、トランスポートストリーム処理方法
EP1148724A2 (en) Reproducing device, medium, information aggregate, transmitting medium, and recording medium
JP2009049855A (ja) コンテンツ再生装置
JP2000339860A (ja) データ記録再生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070717

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090608