JP3652994B2 - データ入出力装置 - Google Patents
データ入出力装置 Download PDFInfo
- Publication number
- JP3652994B2 JP3652994B2 JP2001068264A JP2001068264A JP3652994B2 JP 3652994 B2 JP3652994 B2 JP 3652994B2 JP 2001068264 A JP2001068264 A JP 2001068264A JP 2001068264 A JP2001068264 A JP 2001068264A JP 3652994 B2 JP3652994 B2 JP 3652994B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- recording
- buffer memory
- reproduction
- data transfer
- 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 - Lifetime
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の属する技術分野】
本発明は、記録媒体へのデータ書き込み読み出しを行うデータ入出力装置に関し、特に、ディスク等の記録メディアを用いたデータ書き込み読み出しを行うデータ入出力装置に関する。
【0002】
【従来の技術】
動画像、特に、蓄積メディア用の動画像符号化の国際標準としては、MPEG(Moving Picture Expert Group)がある。
【0003】
MPEGは、MPEG1,MPEG2,MPEG4の3レベルの規格案が検討されている。MPEG1では、1.5Mbpsの通信回線で伝送できる動画像圧縮を目的としており、おもにテレビ電話やテレビ会議などで使用することが考えられている。MPEG1では、現行のNTSC方式のビデオ画像を320×240ピクセルの解像度として扱い、1フレームを構成する2フィールドのうち1フィールドのみのデータを用いる。MPEG2では、10Mbpsを超える通信回線で伝送できる圧縮が目標で、ISDNなどによる動画像伝送やディジタル・ビデオがターゲットとされている。そして、MPEG4は、低ビットレートを対象としている。
【0004】
MPEGの特徴は、静止画圧縮では不要であった「動き補償(MC:Motion Compensation)」を行うこと、及び動画像圧縮の前提条件としてフレームのランダム・アクセスができること、早送りによる再生や巻戻し再生(逆方向)ができることがあげられている。
【0005】
また、MPEGでは、上述のように、早送り、巻き戻し、途中からの再生が基本となっているため、ある単位の動画像をまとめてGOP(Group of Pictures )を形成し、その単位での独立再生ができるようにしている。上記GOP内の画面の予測構造として、動画のフレームを意味する1枚1枚の画像(ピクチャ)、I、B、Pピクチャを用いる。
上記ピクチャは、符号化される方式に従って以下のタイプに分類される。
【0006】
(1)Iピクチャ(Intra-coded picture:INTRA符号化画像)
符号化されるときその画像1枚の中だけで閉じた情報のみを使う。換言すれば、復号化するときIピクチャ自身の情報のみで画像が再構成できる。実際には、他の画像との差分をとらずそのままDCT(Discrete Cosine Transform)して符号化する。この符号化方式は、一般に効率が悪いが、これを随所に入れてIピクチャだけを復号すればランダムアクセスや高速再生が可能となる。さらに、Iピクチャを復号してメモリに蓄え、逆方向に読み出すことを繰り返せば逆転再生をも可能となる。
【0007】
(2)Pピクチャ(Predictive-coded picture:前方予測符号化画像)
Pピクチャは、予測画像(差分をとる基準となる画像)として、入力で時間的に前に位置し既に復号化されたIピクチャまたはPピクチャを使う。すなわち、過去から現在の一方向に予測されるフレームである。実際には動き補償された予測画像との差を符号化するか差分をとらずに符号化する(INTRA符号化)か効率のよい方をマクロブロック単位で選択できる。
【0008】
(3)Bピクチャ(Bidirectionally predictive-coded picture:両方向予測符号化画像)
Bピクチャは、予測画像として時間的に前に位置し既に復号化されIピクチャまたはPピクチャ、時間的に後ろに位置するすでに復号化されたIピクチャまたはPピクチャ、及びその両方から作られた補間画像の3種類を使う。
上記3種類の動き補償後の差分の符号化とINTRA符号化の中で一番効率のよいものをマクロブロック単位に選択できる。
【0009】
そして、GOPにおいて、Bピクチャを符号化または復号化するには、その予測画像となる時間的には後方にあるIピクチャまたはPピクチャが先に符号化されていなくてはならないため、GOPを構成するにはIピクチャ、Pピクチャ、Bピクチャは所定の順序が必要であるが、Iピクチャの間隔、及びPピクチャの間隔は自由でGOPの内部でも変わってもよい。
【0010】
ところで、MPEGビデオやMPEGオーディオの符号化されたストリーム(ビット列)、さらに他の符号化ストリームも含めて実際のアプリケーションに適用する場合には、同期を含めて統合し1本化するとともに、そのストリームを蓄積メディアやネットワーク等が持つ、固有の物理フォーマットやプロトコルに適合したデータ形式にする必要がある。
【0011】
MPEG2システムには、MPEG1と同様に1つのプログラムを構成するプログラム・ストリーム(MPEG2−PS,PS:Program Stream)と、複数のプログラムを構成できるトランスポート・ストリーム(MPEG2−TS,TS:Transport Stream)とがある。
【0012】
MPEGストリームは、1ビットのフラグも多数あるがヘッダなどの各単位ごとにバイト整列されたバイト・ストリームである。MPEGシステム全体に共通した構造として固定長でないデータ部分には、長さを示す情報が先行して置かれ、不要な場合はその部分をスキップしたり、次のデータ群の先頭を確認して信頼性の高い分離処理ができるデータ構造となっている。
【0013】
MPEG2符号化方式に準拠し、圧縮された映像、音声信号を受信する装置は、復号化側において映像、音声データのオーバーフロー、アンダーフローの防止するために、符号化側での映像、音声サンプリング周波数と、復号化側での映像、音声サンプリング周波数またはSTC(System Time Clock)を一致させる必要がある。
【0014】
そのため、復号化装置ではMPEG2システム規格(ISO/IEC規格13818−1)で規定されたPCR(Program Clock Reference:プログラム時刻基準参照値)またはSCR(System Clock Reference:システム時刻基準参照値)を用いることにより、符号化側の映像、音声サンプリング周波数と復号化側の映像、音声サンプリング周波数を一致させていた。
【0015】
【発明が解決しようとする課題】
このような従来のディスクを記録媒体とする記録装置では、映像音声データ等のデータの読み出しや書き込みを行うとき、所定の転送データサイズのデータがバッファメモリに蓄積されたところで、上記記録装置よりデータ転送を行っていた。
【0016】
しかし、MPEG2などの高ビットレートの動画データを同時録画再生する場合、記録装置のデータシーク時間やエラー処理などにより、バッファメモリから記録媒体へのデータ転送が中断され、最終的にはバッファメモリがオーバーフローして記録データが欠落することがあった。デジタル放送テレビ番組を録画する際、データの取りこぼしが発生すると、再生時にデータの連続性が損なわれるだけでなく、使用者が見たかった場面等が欠落してしまうことになる。
【0017】
本発明は、このような課題に鑑みてなされたものであって、ディスクを記録媒体とする記録装置において、同時録画再生を行った際、ディスクのシークやエラー処理により、記録用バッファがオーバーフローして記録データの欠落が生じることを未然に防止することができ、記録データの連続性を保証することができるデータ入出力装置を提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明のデータ入出力装置は、入力されるデータストリームをバッファメモリへ転送し、該バッファメモリから前記データストリームを読み出して記録媒体に出力するデータ入出力装置であって、前記バッファメモリへの転送開始アドレス及びデータ量を設定するコマンドキューを発行するシステムコントローラと、前記コマンドキューにより前記バッファメモリを制御するバッファ制御手段とを備え、前記バッファ制御手段は、前記バッファメモリに蓄積されたデータが前記コマンドキューで指定されたデータ量になるまでデータ転送し、データ転送終了毎に割込み信号を発生し、前記システムコントローラは、前記割込み信号に従って前記コマンドキューを発行することを特徴とする。
【0019】
また、設定時間を計測すると割込み信号を発生するタイマを備え、前記タイマには、所定時間当たりのデータ転送回数で示されるデータ転送容量に対応する時間を設定するものであってもよい。
また、設定時間を計測すると割込み信号を発生するタイマを備え、前記システムコントローラは、1回のデータ転送あたりに要する時間を検出して、データ転送終了までに要するデータ転送回数の予測値を算出し、該予測値をタイマへの割込み周期として設定することで、データの入出力結果に応じてバッファメモリから出力されるデータ転送を動的に変化させることができる。
【0020】
また、より好ましくは、前記システムコントローラは、前記予測値を所定値と比較し、前記比較結果を基に前記コマンドキューに設定するデータ量を変えることで、バッファメモリのオーバーフローを未然に防ぐことができる。
また、より好ましくは、前記システムコントローラは、前記予測値を所定値と比較し、前記比較結果を基に前記バッファメモリがオーバーフローを起こすと予測する場合、前記バッファメモリへのデータ転送を一時中断し、該バッファメモリからのデータ読み出しのみを行うコマンドキューを発行することで、バッファメモリのオーバーフローを防ぎ、記録データの連続性を保証することができる。
【0021】
また、より好ましい具体的な態様としては、前記システムコントローラは、前記予測値を所定値と比較し、前記比較結果を基に前記バッファメモリがオーバーフローを起こすと予測する場合、前記バッファメモリへMPEGストリームのIピクチャのみ転送するコマンドキューを発行することで、バッファメモリのオーバーフローを防ぎ、記録データの連続性を保証することができる。
【0022】
さらに、本発明のデータ入出力装置は、前記バッファメモリへのデータ転送動作が、該バッファメモリからのデータ読み出し動作よりも優先する動作であることを使用者に報知する報知手段を備えることで、記録データ優先で動作していることを使用者に報知することができる。
【0023】
【発明の実施の形態】
以下、添付図面を参照しながら本発明の好適なデータ入出力装置の実施の形態について詳細に説明する。
第1の実施の形態
図1は、本発明の第1の実施の形態のデータ入出力装置の構成を示す図である。データ入出力装置として、データをバッファメモリへ転送若しくは、バッファメモリからデコーダへMPEGストリームを出力するデジタルデータ記録再生装置に適用した例である。
【0024】
図1において、1は記録処理部、2は記録用バッファメモリ、3は映像音声データを記録するハードディスク又はDVD等のディスク(記録媒体)、4はディスク3を制御するディスク制御部、5はバッファメモリ2,6を制御するバッファ制御部(バッファ制御手段)、6は再生用バッファメモリ、7は再生処理部、8はCPU等から構成され装置全体を制御するシステムコントローラである。
システムコントローラ8は、割込み信号に従って記録用バッファメモリ2及び再生用バッファメモリ6への転送開始アドレス及び転送長さを設定するコマンドキューを発行する。
【0025】
バッファ制御部5は、システムコントローラ8から発行されたコマンドキューにより記録用バッファメモリ2及び再生用バッファメモリ6のデータ転送を制御する。バッファ制御部5は、記録用バッファメモリ2に蓄積されたデータがコマンドキューで指定されたデータ量になるまでデータ転送し、データ転送終了毎に割込み信号を発生する。
以下、上述のように構成されたデータ入出力装置の動作を説明する。
まず、記録時の動作について説明する。
【0026】
システムコントローラ8では、使用者からの記録指示を受け付ける。使用者からの記録指示に従って、システムコントローラ8は記録処理部1を制御する。記録処理部1では、BSチューナなどから入力されたMPEG2ストリームが入力され、システムコントローラ8によって指示された番組を構成するデータをセレクトする。記録処理部1でセレクトされたデータは、システムコントローラ8により制御されるバッファ制御部5によりアドレスが指定され、記録用バッファメモリ2へ格納される。記録用バッファメモリ2に格納されたデータは、ディスク制御部4を介してディスク3へ書き込まれる。
【0027】
システムコントローラ8は、記録用バッファメモリ2へ格納された記録データの出力転送開始アドレスと転送するデータを設定可能な記録コマンドキューと再生用バッファメモリ6へ格納する再生データの入力の転送開始アドレスと転送するデータ量を設定可能な再生コマンドキューを有している。記録コマンドキューを発行することにより、記録用バッファメモリ2からディスク3への記録データの転送の制御を行い、再生コマンドキューを発行することによりディスク3から再生用バッファメモリ6へのデータ転送制御を行う。
【0028】
システムコントローラ8は、使用者からの記録指示を受け付けると、バッファ制御部5へ記録コマンドキューを発行する。バッファ制御部5では、記録用バッファメモリ2に蓄積されたデータ量を監視しており、記録用バッファメモリ2に蓄積されたデータが記録コマンドキューで指定されたデータ量になったところで、ディスク制御部4へデータ転送要求を出す。
【0029】
ディスク制御部4では、バッファ制御部5からのデータ転送要求を受け付けるとシステムコントローラ8へ記録用バッファメモリ2からディスク3へのデータ転送許可を求める。システムコントローラ8では、ディスク3へ書き込み可能な状態であれば、ディスク制御部4へデータ転送許可を出す。ディスク制御部4は、この許可信号によりバッファ制御部5へ記録用バッファからのデータ転送許可信号を出す。この許可信号により、記録用バッファメモリ2から記録データを読み出し、ディスク制御部4を介して記録データをディスク3へ格納する。1回に転送するデータ量はシステムコントローラ8が発行する記録コマンドキューで指定されている。バッファ制御部5では、データ転送が終了するとシステムコントローラ8へ割込み信号を出す。
【0030】
バッファ制御部5では、新たな記録コマンドキューをシステムコントローラ8から設定されない限り、記録用バッファメモリ2からディスク3へのデータ転送量の変更を行わない。また、システムコントローラ8からバッファ制御部5へ発行する記録コマンドキューはバッファ制御部5からシステムコントローラ8への割込み信号を検知した時に行う。
次に、再生時の動作について説明する。
【0031】
システムコントローラ8では、使用者からの再生指示を受け付ける。使用者からの再生指示により、システムコントローラ8からバッファ制御部5へ再生コマンドキューが発行される。バッファ制御部5では再生コマンドキューを受け取ると、ディスク制御部4へ再生データの転送要求を出す。ディスク制御部4では、ディスク3から再生データの読み出しが可能であれば、ディスク3からデータを読み出す。
【0032】
読み出したデータは、バッファ制御部5によりアドレスが指定され、再生用バッファメモリ6へ格納される。バッファ制御部5により指定されるアドレスは、システムコントローラ8から発行された再生コマンドキューで指定されたアドレスを開始アドレスとしている。また、転送されるデータ量も再生コマンドキューにより指定されている。
【0033】
バッファ制御部5では、再生コマンドキューで指定されたデータ量の転送が終了したとき、再生用バッファメモリ6に蓄積された再生データ量を確認し、一定量以下であればシステムコントローラ8へ割込み要求信号を出す。システムコントローラ8で割込みを検知すると、新たな再生コマンドキューを発行し、再生データのデータ転送を制御する。
【0034】
デジタル放送では、予め決められたビットレートで圧縮されたMPEG2ストリームを転送する。そのため、タイマを使用してある特定の時間当たりのデータ転送回数を予測することが可能であり、その予測回数を上回っていれば、記録用バッファメモリがオーバーフローすることなくシステムが動作していることが分かる。逆に、予測回数を下回っていれば、記録用バッファメモリ2に蓄積されるデータが増加し、オーバーフローする可能性があることが分る。
【0035】
以上のように、第1の実施の形態のデータ入出力装置は、記録処理部1、記録用バッファメモリ2、映像音声データを記録するディスク3、ディスク3を制御するディスク制御部4、システムコントローラ8から発行されたコマンドキューにより記録用バッファメモリ2及び再生用バッファメモリ6のデータ転送を制御するバッファ制御部5、再生用バッファメモリ6、再生処理部7、及び割込み信号に従って記録用バッファメモリ2及び再生用バッファメモリ6への転送開始アドレス及び転送長さを設定するコマンドキューを発行するシステムコントローラ8を備え、システムコントローラ8は、記録用バッファメモリ2への入出力アドレス及び転送長さを前もって設定できるコマンドキューを有し、バッファ制御部5は、各転送終了毎に割込みを発生するように構成したので、記録用バッファメモリ2からディスク3へのデータ転送容量を記録用バッファメモリ2の使用状況により変化させることができ、記録用バッファメモリ2のオーバーフローを防ぐことができる。
【0036】
第2の実施の形態
図2は、本発明の第2の実施の形態のデータ入出力装置の構成を示す図である。図1と同一構成部分には同一符号を付して重複箇所の説明を省略する。
本実施の形態のデジタルデータ記録再生装置は、図2に示すように、図1のデジタルデータ記録装置に、タイマ9を付加した構成になっている。タイマ9を利用し、バッファメモリのコントロールを行うことで記録用バッファメモリ2のオーバーフローを回避するものである。
【0037】
以下、上述のように構成されたデータ入出力装置の動作を説明する。本実施の形態のデジタルデータ記録再生装置の基本動作は、第1の実施の形態のデータ入出力装置と同様である。ここでは、第1の実施の形態のデータ入出力装置と動作の異なる部分のみ説明する。
【0038】
システムコントローラ8によって設定された時間経過すると、システムコントローラ8に割り込みを発生する。タイマは、設定された時間が経過する毎に割込み信号を発生するモード(モード1)と、設定された時間が経過すると1度だけ割込み信号発生するモード(モード2)を有している。
【0039】
システムコントローラ8では、使用者からの記録指示を受け付けると、選局されたチャンネルを認識し、記録命令を各ブロックへ出す。その後、タイマ9へ割り込みをかける時間(Ts)の設定を行う。このとき、タイマ9をモード2で動作させる。タイマ9は、設定された時間が経過したところで、システムコントローラ8へ割り込みを発生する。
【0040】
システムコントローラ8では、記録を開始してからタイマ割込み発生までに行われた記録用バッファメモリ2からディスク3へのデータ転送回数(Z)をカウントしており、タイマ割込みを検知すると、ある一定時間(Tl)あたりのデータ転送回数(C)を算出する。データ転送回数(C)は、次式(1)で求めることができる。
【0041】
C=ZxTl/Ts …(1)
【0042】
ここで算出したCは、一定時間Tlあたりに行われるべきデータ転送回数の予測値である。例えば、Tsが100sのときXが600回であった場合、1秒あたりのデータ転送回数は、600/100=6(回/s)で求めることができる。
予測値を求めると、システムコントローラ8からタイマ9へ割込み周期としてTlを設定する。このとき、タイマ9はモード1で動作させ、定期的にタイマ割込みを発生させる。
【0043】
例えば、タイマ割込みが発生してから次のタイマ割込み発生までに行われたデータ転送回数(X)≧Cであれば、記録用バッファメモリ2はオーバーフローを起こすことなくデータ転送が行われていることが分かる。しかし、タイマ割込み発生までにX<Cの場合、記録バッファメモリ2には(X−C)×1回のデータ転送容量(D)だけ余分にデータが蓄積されていると考えられる。
【0044】
そこで、X<Cの場合、バッファ制御部5からの割込みをシステムコントローラ8で検知すると、D+(X−C)×D(今までのデータ転送容量に、データ転送されなかったと予測したデータ量の和を取ったもの)のデータ転送容量をコマンドキューで指定し、バッファ制御部5に記録コマンドキューを発行する。次のバッファ制御部5からシステムコントローラ8へ割込み信号を出した時には、記録用バッファメモリ2に蓄積されていたデータは1回のデータ転送容量を増加させることで、減少している。そのため、システムコントローラ8では割込みを検知すると、記録コマンドキューで指定するデータ転送容量を元のデータ転送容量Dに戻して発行する。
上記、タイマ9を利用したバッファメモリコントロール方法について図3のフローチャートを用いてさらに詳細に説明する。
【0045】
図3は、デジタルデータ入出力装置の動作を示すフローチャートであり、図中、Sはフローの各ステップを示す。
まず、ステップS1で1回目のタイマ割込みを検知し、ステップS2で一定時間(Tl)あたりのデータ転送回数(C)を算出する。次いで、ステップS3でタイマ9へ割込み周期Tlを設定する。
【0046】
ステップS4でタイマ割込みがあるか否かを判別し、タイマ割込みがあればステップS5でタイマ割込みが発生してから次のタイマ割込み発生までに行われたデータ転送回数(X)が一定時間(Tl)あたりのデータ転送回数(C)より少ないか(X<Cか)否かを判別する。X<Cのときは、ステップS6でバッファ制御部5からの割込みがあるか否かを判別し、バッファ制御部5からの割込みがあるまで待つ。
【0047】
バッファ制御部5からの割込みがあると、ステップS7で現在のデータ転送容量Dに、(X−C)×Dを加算したデータ転送容量を記録コマンドキューとしてバッファ制御部5に設定し、ステップS8でバッファ制御部5からの割込みがあるか否かを判別し、バッファ制御部5からの割込みを待つ。バッファ制御部5からの割込みがあると、ステップS9でバッファ制御部5へデータ転送容量Dを設定し、タイマ9をリセットして上記ステップS4に戻る。上記ステップS4でタイマ割込みがないとき、又は上記ステップS5でX≧CのときはステップS4に戻り、タイマ割込みを待つ。
【0048】
このように、一定時間Tlあたりのデータ転送回数が予測した回数より少なかった場合は、バッファ制御部5へ発行する記録コマンドキューで設定する1回のデータ転送容量を一時的に増加させることにより、記録用バッファメモリ2のデータ蓄積量を減少させる。
【0049】
以上のように、第2の実施の形態のデータ入出力装置は、さらに、設定された時間を計測し、該設定時間を計測すると割込み信号を発生するタイマ9を備え、タイマ9には、一定時間当たりのデータ転送回数で示されるデータ転送容量に対応する時間を設定する構成としたので、データの入出力結果に応じて記録用バッファメモリ2からディスク3へのデータ転送を動的に変化させることができ、記録用バッファメモリ2のオーバーフローを未然に防ぐことができる。
【0050】
第3の実施の形態
本発明の第3の実施の形態のデータ入出力装置の構成は、図2の構成と同様である。
但し、タイマ9は、複数の時刻計測を行うカウンタを有しており、システムコントローラ8へ割込みを発生するための時間計測以外に、記録データのデータ転送が終了してから次のデータ転送が終了するまでの時間も計測している。
【0051】
図4は、本実施の形態のデータ入出力装置の動作を示すフローチャートである。
システムコントローラ8では、使用者からの記録指示を受け付けると、選局されたチャンネルを認識し、記録命令を各ブロックへ出す。その後、タイマ9へ割り込みをかける時間(Ts)の設定を行う。このとき、タイマ9をモード2で動作させる。タイマ9は設定された時間が経過したところで、システムコントローラ8へ割り込みを発生する。
【0052】
システムコントローラ8では、記録を開始してからタイマ割込み発生までに行われた記録用バッファメモリ2からディスク3へのデータ転送回数(Z)をカウントしており、タイマ割込みを検知すると、1回のデータ転送あたりに要する時間(Tr)を算出する。Tr=Ts/Zで求めることができる。ここで算出したTrは1回のデータ転送終了から次のデータ転送終了するまでに要する時間の予測値である。
【0053】
この予測値Trをタイマ9の割り込み周期として設定する。記録用バッファメモリ2からディスク3へデータ転送が行われると、バッファ制御部5はタイマ9のリセットを行うと共に、システムコントローラ8へ割込みを発生する。システムコントローラ8では、タイマ9からの割り込み要求が発生していた場合、記録データのデータ転送が、予測時間Trを超えて終了したことになる。システムコントローラ8でバッファ制御部5からの割込みを検知した時には、記録用バッファメモリ2には、(実際に1回のデータ転送が終了するまでにかかった時間Tt−予測時間Tr)×1回のデータ転送容量Dだけ、余分にデータが蓄積されていると考えられる。ここで、タイマ9には複数の時刻計測を行うカウンタを有しており、システムコントローラ8へ割込みを発生するための時間計測以外に、記録データのデータ転送が終了してから次のデータ転送が終了するまでの時間も計測している。その時間をシステムコントローラ8では取得することができるようになっており、タイマ割込みが発生した時は、バッファ制御部5の割込みを検知すると、タイマ9からデータ転送に実際に掛かった時間Ttを取得する。
【0054】
システムコントローラ8では、記録用コマンドキューにD+Dx(Tt−Tr)のデータ転送容量を設定し、バッファ制御部5へ発行する。この値は、記録用バッファメモリ2へ余分に蓄積されていると予測したデータ量を、現在設定しているデータ転送容量に足したものである。また、同時にタイマ9をリセットしてタイマ9を一時停止する。データ転送が終了し、バッファ制御部5からの割込み検知すると、システムコントローラ8では、再度タイマ9をスタートさせ、データ転送容量を元のデータ転送容量Dに設定した記録コマンドキューを転送してバッファ制御部5の制御を行う。
上記動作を、図4のフローによりさらに詳細に説明する。
【0055】
まず、ステップS11でタイマ割込みを検知し、ステップS12でデータ転送がなかった場合に記録用バッファメモリがオーバーフローするまでの時間Trを予測する。この予測値Trは、1回のデータ転送終了から次のデータ転送終了するまでに要する時間により求めることができる。
【0056】
次いで、ステップS13でこの予測値Trをタイマ9の割り込み周期として設定し、ステップS14でタイマ割込みがあるか否かを判別し、タイマ割込みがなければタイマ割込みが発生するまで待つ。
記録用バッファメモリ2からディスク3へデータ転送が行われると、バッファ制御部5からの割込みが発生し、ステップS16でバッファ制御部5からの割込みが発生するまでの時間Ttを取得する。
【0057】
次いで、ステップS17で(Tt−Tr)×D+Dのデータ転送容量を記録コマンドキューに設定し、バッファ制御部5へ発行し、ステップS18でバッファ制御部5からの割込みがあるか否かを判別し、バッファ制御部5からの割込みを待つ。バッファ制御部5からの割込みがあると、ステップS19でバッファ制御部5へデータ転送容量Dを再設定し、上記ステップS14に戻る。
【0058】
以上のように、第3の実施の形態のデータ入出力装置は、1回のデータ転送あたりに要する時間を検出して、データ転送終了までに要するデータ転送回数の予測値を算出し、該予測値をタイマ9への割込み周期として設定することで、データの入出力結果に応じて記録用バッファメモリ2から出力されるデータ転送を動的に変化させることができる。
【0059】
第4の実施の形態
本発明の第4の実施の形態のデータ入出力装置の構成は、図2の構成と同様である。
システムコントローラ8では、ある一定時間Tlあたりのデータ転送回数の予測値Cを算出する。これは、第2の実施の形態と同様の手順で行う。
【0060】
図5は、本実施の形態のデータ入出力装置の動作を示すフローチャートである。図3のフローと同様の処理を行っている部分は省略しており、タイマ9へ割込み周期Tlを設定した後からのシステムコントローラ8の動作について図示している。
システムコントローラ8は、タイマ9の割込み周期としてTlを設定し、タイマの割込みを検知する度に記録用バッファメモリ2に蓄積されているデータ量を予測する。この予測値Pは、i回目の割込みが発生した時のデータ転送回数をXiとすると、予測値Pは次式(2)により算出できる。
【0061】
P=(Σ(Xi−C))×1回のデータ転送容量D …(2)
【0062】
この値がバッファメモリの上限の閾値Muを超えていた場合、記録優先フラグFrを1にし、そうでなければ、上記動作を繰り返す。
バッファメモリの上限の閾値Muを超えていた場合、再生データの転送中あるいは再生データ転送待ち状態であるかを確認し、そうであれば再生データの転送を中断し、記録データ転送を行うようにシステムコントローラ8からディスク制御部4へ指示が出される。ディスク制御部4では、バッファ制御部5の要求により、記録データの転送のみを行うようにする。1回の記録データの転送が終了すると、記録用バッファメモリ2の蓄積データの予測値Pを算出する。そして、記録フラグFrが1であれば、予測値Pが記録用バッファメモリ2の下限の閾値Mlより小さいかを判断する。もし小さければ、通常の転送状態に戻し、記録フラグFrを0にして再生データの転送も行うようにする。P≧Mlの場合は、再度記録データの転送を行うよう指示を出す。
【0063】
また、バッファメモリの上限の閾値Mu超えていて、再生データの転送中でない場合は、バッファ制御部5からの割込みを検知すると、再度記録データの転送を行うようディスク制御部4へ指示を出す。1回の記録データの転送が終了すると同様に予測値Pを算出し、Mlと比較して上記動作を繰り返す。
上記動作を、図5のフローによりさらに詳細に説明する。
【0064】
まず、ステップS21でタイマ割込みを検知し、ステップS22でi回目の割込み時の記録用バッファメモリ2に蓄積されているデータ量の予測値Pを上記式(2)に従って算出する。次いで、ステップS23で記録優先フラグFrに1が設定されているか否かを判別し、Fr=1でなければステップS24で予測値Pが記録用バッファメモリ2の上限値(Mu)より大きいか(P>Muか)否かを判別する。P>Muのときは、ステップS25で記録優先フラグFrに1を設定してステップS26に進み、P≦Muのときは上記ステップS21に戻る。
【0065】
ステップS26では、再生データの転送中あるいは再生データ転送待ち状態であるかを確認し、そうであればステップS27で再生データの転送を中断し、記録データ転送を行うようにシステムコントローラ8からディスク制御部4へ指示を出して上記ステップS21に戻る。ディスク制御部4では、バッファ制御部5の要求により、記録データの転送のみを行うようにする。1回の記録データの転送が終了すると、記録用バッファメモリ2の蓄積データの予測値Pを算出することになる。
【0066】
また、上記ステップS26で再生データの転送中あるいは再生データ転送待ち状態でなければ、バッファメモリの上限の閾値Mu超えていて再生データの転送中でない場合であり、ステップS28でバッファ制御部5からの割込みを検知し、ステップS29で再度記録データの転送を行うようディスク制御部4へ指示を出して上記ステップS21に戻る。このように、1回の記録データの転送が終了すると、予測値Pを算出し、Mlと比較して上記動作を繰り返す。
【0067】
一方、上記ステップS23で記録フラグFrが1であれば、ステップS30で予測値Pが記録用バッファメモリ2の下限値(Ml)より小さいか(P<Mlか)否かを判別する。P<Mlのときは、ステップS31で通常の転送状態に戻し、記録フラグFrを0にして上記ステップS21に戻り再生データの転送も行うようにする。P≧Mlの場合は、そのまま上記ステップS21に戻って再度記録データの転送を行うよう指示を出す。
【0068】
以上のように、第4の実施の形態のデータ入出力装置は、システムコントローラ8が、予測値を所定値と比較し、比較結果を基に記録用バッファメモリ2がオーバーフローを起こすと予測する場合、記録用バッファメモリ2へのデータ転送を一時中断し、記録用バッファメモリ2からのデータ読み出しのみを行うコマンドキューを発行するように構成したので、記録用バッファメモリ2のオーバーフローを防ぎ、記録データの連続性を保証することができる。
【0069】
ここで、記録用バッファメモリ2がオーバーフローを起こすと予測される場合としては、例えばディスク制御部4から、所定時間を超えるデータシーク時間やリトライ発生、エラー処理等による通知を受けることによりシステムコントローラ8が判断する。
【0070】
第5の実施の形態
本発明の第5の実施の形態のデータ入出力装置の構成は、図2の構成と同様である。
システムコントローラ8では、ある一定時間Tlあたりのデータ転送回数の予測値Cを算出する。これは、第2の実施の形態と同様の手順で行う。
【0071】
図6は、本実施の形態のデータ入出力装置の動作を示すフローチャートである。図5のフローと同一処理を行うステップについては同一番号を付して重複部分の説明を省略する。
記録用バッファメモリ2の予測値Pを算出し、バッファの上限の閾値Muと比較するところまでは第5の実施の形態と同様である。
上記ステップS24でP≦Muの場合は、ステップS21に戻りタイマ割込みを検知する度に予測値Pを算出し、Muとの比較を行う。
【0072】
また、P>Muの場合は、ステップS25で記録フラグFrを1にし、ステップS41で再生データ転送には、MPEG2ストリームのIピクチャのみを転送するように指示を出して上記ステップS21に戻る。また、ステップS30でP≧Mlの場合についても、ステップS41で再生データ転送には、MPEG2ストリームのIピクチャのみを転送するように指示を出す。
【0073】
ここで、MPEG2ストリームの映像は、Iピクチャ、Bピクチャ、Pピクチャという3つのピクチャで構成されている。その中でもIピクチャは、ある画像の情報だけから符号化されたもので、フレーム間予測を使用せずに生成される。そのため、前後のフレームとは独立にデコードが行われる。したがって、Iピクチャだけを送り続けていれば、映像はフレーム落ちしたようになりスムーズな再生は行えなくなるが、映像が激しく乱れることはない。また、その他のピクチャの転送を行わないため、一定時間あたりの再生データの転送回数を減らすことが可能である。そこで、通常時では再生データの転送をしていたところを記録データの転送に使用することで、記録用バッファメモリ2の蓄積データを減少させることが可能となる。これを記録用バッファメモリ2の蓄積データが記録用バッファメモリ2の下限の閾値Mlより小さくなるまで行う。P<Mlになったら記録優先フラグFrを0にし、再生データの転送も通常通り行うように戻す。
【0074】
以上のように、第5の実施の形態のデータ入出力装置は、システムコントローラ8が、予測値を所定値と比較し、比較結果を基に記録用バッファメモリ2がオーバーフローを起こすと予測する場合、記録用バッファメモリ2へMPEG2ストリームのIピクチャのみ転送するコマンドキューを発行するように構成したので、記録用バッファメモリ2のオーバーフローを防ぎ、記録データの連続性を保証することができる。
【0075】
ここで、第1乃至第5の実施の形態において、記録用バッファメモリ2へのデータ転送動作が、該バッファメモリ2からのデータ読み出し動作よりも優先する動作であることを使用者に報知する報知手段を備えることが好ましい。報知手段としては、例えば、同時録画再生時に記録優先でデータ転送を行っている際に、表示モニタに記録優先でデータ転送を行っている旨のメッセージを表示するようにする。
【0076】
なお、上記各実施の形態では、MPEG2システムにおいて映像、音声信号を入出力するデータ入出力装置に適用しているが、MPEG2システムに限るものでなく、他の装置、例えばMPEG1に適用できる。また、バッファメモリに転送するデータストリームは、どのような形式のものでもよい。
【0077】
また、本実施の形態ではMPEG2システムを、例えばコンピュータ本体により行うことができる、MPEGアルゴリズムに基づく動画像符号化装置にはすべて適用でき、例えばこの手法を実現するために必要な環境としてはワークステーションやパーソナルコンピュータ以外にMPEGデコーダなどを外付けにした専用マシンでもよい。
【0078】
また、記録装置の種類や記録方法等は限定されず、全ての装置に適用可能である。例えば、記録装置として、HDDのほかDVD(Digital Video Disc)やCD−R/RW、MD(Mini Disc)に記録するものでもよい。特に、データ転送速度やランダム・アクセス性能が高く、高速アクセスが可能なHDDを記録媒体に用いれば、長時間記録した番組の中から所望の番組を瞬時に検索し、直ぐに利用することが可能になる。また、光磁気ディスク等HDD以外の記録装置を用いてもよく、同様の効果を得ることができる。
さらに、上記データ入出力装置を構成する回路や部材の数、種類などは前述した実施の形態に限られないことは言うまでもなく、ソフトウェアにより実現するようにしてもよい。
【0079】
【発明の効果】
以上、詳述したように、本発明によれば、ディスクを記録媒体とする記録装置において、同時録画再生を行った際、ディスクのシークやエラー処理により、記録用バッファがオーバーフローして記録データの欠落が生じることを未然に防止することができる。具体的には、以下のような効果を得ることができる。
【0080】
請求項1及び2記載の発明では、データ転送容量を可変にするコマンドキューにより、バッファメモリとディスク間の1回のデータ転送容量を可変にすることができるため、記録用バッファメモリと再生用バッファメモリの使用状況に応じたデータ転送が可能となる。記録用バッファメモリがオーバーフロー気味であれば、バッファメモリからディスクへの1回のデータ転送容量を多くすれば、記録用バッファメモリエリアのデータ蓄積量を減少させることができ、記録用バッファメモリエリアのオーバーフローを防ぐことができる。
【0081】
また、逆に再生用バッファメモリがアンダーフロー気味であれば、再生データの1回のデータ転送容量を多くすれば、再生用バッファメモリエリアのアンダーフローを防ぐことが可能になる。このように、システムの状況に応じて記録データと再生データのデータ転送制御を容易に行うことができる。また、本データ入出力装置のデータ転送制御を用いることにより、従来のデジタルデータ記録再生装置で起こっていたバッファメモリの破綻を防ぐことが可能になる。
【0082】
請求項3記載の発明では、ある一定の時間あたりのデータ転送回数を予測し、タイマ割り込みが発生した際に、予測したデータ転送回数が少なかった場合、一時的に記録用バッファメモリからディスクへの1回のデータ転送容量を増加させることにより、記録用バッファメモリのオーバーフローを未然に防ぐことが可能である。
【0083】
請求項4記載の発明では、ある一定時間内にデータ転送が終了しなかった場合、一時的に記録用バッファメモリからディスクへのデータ転送容量を大きくすることで、記録用バッファメモリに蓄積されるデータ量を減少させることができ、記録用バッファメモリのオーバーフローを未然に防ぐことができる。
【0084】
請求項5記載の発明では、同時録画再生時に記録用バッファメモリのデータ蓄積量を予測し、オーバーフロー気味であれば、再生データの転送を一時中断し、記録データの転送を優先するようにしたので、再生データは一旦停止することがあるものの、記録用バッファメモリのオーバーフローを未然に防ぐことができ、記録データの連続性を保証することができる。
【0085】
請求項6記載の発明では、再生データの転送をIピクチャのみにし、再生データの転送を行うので、記録用バッファメモリのオーバーフローを未然に防ぎ、記録データのデータ転送容量を増加させることにより記録データの連続性を確保することができる。
【0086】
請求項7記載の発明では、例えば同時録画再生時に記録優先でデータ転送を行っている旨のメッセージをモニタに表示することで、いきなり再生映像が一時停止したり、フレーム飛びが発生しても装置の故障ではないことを使用者に知らせることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のデータ入出力装置の構成を示す図である。
【図2】本発明の第2の実施の形態のデータ入出力装置の構成を示す図である。
【図3】本実施の形態のデータ入出力装置の動作を示すフローチャートである。
【図4】本発明の第3の実施の形態のデータ入出力装置の動作を示すフローチャートである。
【図5】本発明の第4の実施の形態のデータ入出力装置の動作を示すフローチャートである。
【図6】本発明の第5の実施の形態のデータ入出力装置の動作を示すフローチャートである。
【符号の説明】
1 記録処理部
2 記録用バッファメモリ
3 ディスク(記録媒体)
4 ディスク制御部
5 バッファ制御部(バッファ制御手段)
6 再生用バッファメモリ
7 再生処理部
8 システムコントローラ
Claims (5)
- 入力されるデータストリームを記録用バッファメモリへ転送し、該記録用バッファメモリから前記データストリームを読み出して記録媒体に出力するとともに、該記憶媒体から再生用バッファメモリを介して再生用データを出力するデータ入出力装置であって、前記記録用バッファメモリから前記記録媒体へのデータ転送容量と、前記記憶媒体から前記再生用バッファメモリへのデータ転送容量と、を前記記録用バッファメモリと前記再生用メモリとの使用状況に応じて制御するバッファ制御手段を有し、
前記記録用バッファメモリに蓄積されたデータが指定されたデータ量になるまでデータ転送し、データ転送終了毎に割込み信号を発生させ、
設定時間を計測すると割込み信号を発生するタイマを備え、前記タイマには、所定時間当たりのデータ転送回数で示されるデータ転送容量に対応する時間を設定し、さらに、1回のデータ転送あたりに要する時間を検出して、データ転送終了までに要するデータ転送回数の予測値を算出し、該予測値をタイマへの割込み周期として設定するシステムコントローラを備えることを特徴とするデータ入出力装置。 - 前記システムコントローラは、前記記録用バッファメモリへの転送開始アドレス及び転送データ量を設定する記録用コマンドキュー又は前記再生用バッファメモリへの再生データの転送開始アドレス及び転送データ量を設定する再生用コマンドキューの少なくともいずれかを発行し、前記予測値を所定値とを比較した結果に基づいて前記記録用コマンドキュー又は前記再生用コマンドキューに設定するデータ量を変えることを特徴とする請求項1に記載のデータ入出力装置。
- 前記システムコントローラは、前記予測値を所定値と比較し、前記比較結果を基に前記再生用バッファメモリがオーバーフローを起こすことが予測される場合に、前記再生用バッファメモリへのデータ転送を一時中断し、前記記録用バッファメモリからのデータ読み出しのみを行う記録コマンドキューを発行することを特徴とする請求項1に記載のデータ入出力装置。
- 前記システムコントローラは、前記予測値を所定値と比較し、前記比較結果を基に前記再生用バッファメモリがオーバーフローを起こすと予測される場合に、前記再生用バッファメモリへMPEGストリームのIピクチャのみ転送する再生コマンドキューを発行することを特徴とする請求項1に記載のデータ入出力装置。
- さらに、前記記録用バッファメモリへのデータ転送動作が、前記記録用バッファメモリからのデータ読み出し動作よりも優先する動作であることを使用者に報知する報知手段を備えることを特徴とする請求項1から4までのいずれか一項に記載のデータ入出力装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001068264A JP3652994B2 (ja) | 2001-03-12 | 2001-03-12 | データ入出力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001068264A JP3652994B2 (ja) | 2001-03-12 | 2001-03-12 | データ入出力装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002271740A JP2002271740A (ja) | 2002-09-20 |
JP3652994B2 true JP3652994B2 (ja) | 2005-05-25 |
Family
ID=18926481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001068264A Expired - Lifetime JP3652994B2 (ja) | 2001-03-12 | 2001-03-12 | データ入出力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3652994B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947190B (zh) * | 2004-04-23 | 2011-04-20 | 皇家飞利浦电子股份有限公司 | 用于记录实时信息的设备和方法 |
KR100623380B1 (ko) | 2005-03-22 | 2006-09-13 | 엘지전자 주식회사 | 개인용 비디오 녹화기에 있어서 타임 쉬프트 기능을 위한데이터 전송방법 |
JP4143083B2 (ja) | 2005-08-31 | 2008-09-03 | 株式会社東芝 | 放送受信装置及びその制御方法 |
-
2001
- 2001-03-12 JP JP2001068264A patent/JP3652994B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002271740A (ja) | 2002-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0713341B1 (en) | Video decoder capable of controlling encoded video data rate | |
JP4118232B2 (ja) | 映像データ処理方法および映像データ処理装置 | |
JP2000232649A (ja) | Mpegビデオ復号器及びmpegビデオ復号方法 | |
WO1999056280A1 (fr) | Enregistreur-lecteur | |
KR20060088303A (ko) | 디지털 방송 수신기의 동영상 저장/재생 장치 및 방법 | |
JP4337248B2 (ja) | 画像情報の伝送装置、伝送システムおよび伝送方法 | |
JP3516450B2 (ja) | ビットストリームの伝送方法及び伝送システム | |
JP3203168B2 (ja) | Mpegビデオデコーダ | |
JP3652994B2 (ja) | データ入出力装置 | |
JPH0750840A (ja) | 符号記録装置 | |
JP2004048598A (ja) | 画像データ再生装置及び方法 | |
JP4295079B2 (ja) | 特殊映像データ処理方法及び特殊映像データ処理装置及び特殊映像データ処理システム | |
JPH11168729A (ja) | 画像復号化装置及び画像復号化方法 | |
US6128340A (en) | Decoder system with 2.53 frame display buffer | |
JP3338425B2 (ja) | Mpegビデオデコーダ | |
JP4217934B2 (ja) | トランスポートストリーム記録装置および方法、並びに記録媒体 | |
Yamauchi et al. | A 0.8 W HDTV video processor with simultaneous decoding of two MPEG2 MP@ HL streams and capable of 30 frames/s reverse playback | |
JP3648460B2 (ja) | 圧縮画像再生方法 | |
JP3704356B2 (ja) | 符号化映像信号の復号化装置およびそれを用いた蓄積復号化装置 | |
JP2004350237A (ja) | ストリーム切り替え装置、ストリーム切り替え方法及びストリーム切り替えプログラム、並びに、表示時刻補正装置 | |
JP4064604B2 (ja) | 画像処理方法及び装置 | |
JP2000287172A (ja) | 画像データ処理装置 | |
JP3568503B2 (ja) | Mpegビデオデコーダ | |
US20050265369A1 (en) | Network receiving apparatus and network transmitting apparatus | |
JP4350638B2 (ja) | 映像記録装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040615 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050126 |
|
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: 20050222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050224 |
|
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: 20080304 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090304 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120304 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120304 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |