(57)【要約】【課題】キャッシュメモリの容量を増大することなく、また圧縮伸長手段を用いることなく、増大する記録再生用データを好適に処理すること。【解決手段】データ比較部１３、２０は、入力する記録再生用データを参照値と一致するかどうか比較する。参照値と一致するデータについてはキャッシュメモリ１４に格納せず、そのデータが格納されていないことを示す情報を管理テーブル２５に登録する。キャッシュメモリ１４からデータを出力する際、管理テーブル２５の格納情報に基づいて、キャッシュメモリ１４に格納されなかったデータについては、データ生成部１６，２１が参照値を基に生成したデータにて補完する。【選択図】図１
2007052631.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体にデータを記録し、または記録媒体からデータを再生する記録再生装置において、
記録するデータまたは再生されたデータを格納するキャッシュメモリと、
入力するデータを参照値と一致するかどうか比較するデータ比較部と、
該データ比較部の比較結果に基づき、上記データの上記キャッシュメモリへの格納を制御する制御部と、
上記データの上記キャッシュメモリへの格納情報を記憶する管理テーブルと、を備え、
上記制御部は、上記入力したデータのうち、上記参照値と一致するデータについては上記キャッシュメモリに格納せず、該データが上記キャッシュメモリに格納されていないことを示す情報を上記管理テーブルに登録することを特徴とする記録再生装置。
【請求項２】
請求項１に記載の記録再生装置において、
前記キャッシュメモリに格納されなかったデータを生成するデータ生成部を備え、
前記制御部は、前記キャッシュメモリからデータを出力する際、前記管理テーブルの格納情報に基づいて、該キャッシュメモリに格納されなかったデータについては、上記データ生成部の生成したデータにて補完することを特徴とする記録再生装置。
【請求項３】
請求項１に記載の記録再生装置において、
前記データ比較部にて用いる前記参照値として前記入力するデータの先頭値を設定し、
該設定した参照値を前記管理テーブルに登録することを特徴とする記録再生装置。
【請求項４】
請求項１に記載の記録再生装置において、
前記制御部は、前記参照値と一致するデータについては前記キャッシュメモリの書き込みアドレスの更新を停止することを特徴とする記録再生装置。
【請求項５】
請求項２に記載の記録再生装置において、
前記データ生成部は、前記データ比較部にて用いた前記参照値に基づき前記補完するデータを生成することを特徴とする記録再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像・音声などのデータを記録媒体に好適に記録再生する記録再生装置に関するものである。
【背景技術】
【０００２】
ＰＣなどのホスト装置から転送された映像・音声などのデータをＤＶＤやハードディスク等の記録媒体に記録する記録再生装置では、転送されたデータは、一旦キャッシュメモリ（バッファメモリ）に蓄積された後、記録媒体に記録される。また、記録媒体から再生されたデータは、一旦キャッシュメモリに蓄積された後、ホスト装置側へ転送される。
【０００３】
この場合、キャッシュメモリでは、データの書き込みと読み出しがなされる訳であるが、その蓄積容量が十分でないと、ホスト装置との間のデータ転送動作が中断したり、データの一部が欠落することがある。特に、放送番組などのリアルタイム記録再生が要求される場合には、記録再生のリトライ動作ができないので、このような転送動作の失敗は許されない。
【０００４】
この対策として、キャッシュメモリの蓄積容量をより大容量化することが考えられるが、使用メモリのコストアップとなり、ひいては装置の高騰化につながる。また、特許文献１では、蓄積量がメモリ容量をオーバーすることを防止するため、入力した映像信号を圧縮処理してキャッシュメモリに蓄積している。そして、蓄積量を規定値と比較し、規定値よりも大きい場合にはさらに圧縮率を大きくして圧縮処理する技術が開示されている。
【０００５】
【特許文献１】特開２００４−１５３５９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に示される圧縮処理を用いる方法は、メモリ容量の節約のためには有効であるものの、圧縮処理および伸長処理を行うために新たに圧縮手段、伸長手段が必要になる。また特許文献１では、圧縮後の蓄積量を規定値と比較判定し、規定値より大きい場合には圧縮率を変えて再度圧縮処理を施すものである。その際、過度の圧縮率にて圧縮処理を行った場合、映像品質の劣化は避けられない。また、判定と再圧縮処理のために時間を要し、リアルタイムでの記録再生に支障をきたす恐れがある。
【０００７】
本発明の目的は、キャッシュメモリの容量を増大することなく、また圧縮伸長手段を用いることなく、増大する記録再生用データを処理可能な記録再生装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明による記録再生装置は、記録するデータまたは再生されたデータを格納するキャッシュメモリと、入力するデータを参照値と一致するかどうか比較するデータ比較部と、データ比較部の比較結果に基づき入力するデータのキャッシュメモリへの格納を制御する制御部と、入力したデータのキャッシュメモリへの格納情報を記憶する管理テーブルとを備える。制御部は、入力したデータのうち、参照値と一致するデータについてはキャッシュメモリに格納せず、そのデータがキャッシュメモリに格納されていないことを示す情報を管理テーブルに登録する。
【０００９】
さらに本発明の記録再生装置は、キャッシュメモリに格納されなかったデータを生成するデータ生成部を備え、制御部は、キャッシュメモリからデータを出力する際、管理テーブルの格納情報に基づいて、キャッシュメモリに格納されなかったデータについては、データ生成部の生成したデータにて補完する。
【発明の効果】
【００１０】
本発明によれば、キャッシュメモリの容量を有効に利用でき、増大するデータの記録再生処理をスムーズに実行できる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明による記録再生装置の一実施例を示すブロック構成図である。本実施例の装置は、インターフェース１１を介してホスト装置１０と接続し、ホスト装置１０から転送される映像・音声などのデータを記録媒体であるディスク１８に記録し、またディスク１８から再生したデータをホスト装置１０へ転送する。もちろん記録媒体はディスクに限定されず、半導体メモリを含む任意の記録媒体を利用できる。転送コントローラ１２は、ホスト装置との間のデータ転送を制御する。
【００１２】
ホスト装置から送られてきたデータを記録する場合は、データ比較器Ａ１３を通してキャッシュメモリ１４にデータを書き込む。このデータ比較器Ａ１３は、入力するデータを参照値と比較して、参照値と一致するかどうかを判定する。判定の結果、一致しない場合には入力データをキャッシュメモリ１４に格納するが、一致する場合には入力データを格納しない。また判定結果をマイコン２２に送り、ワークメモリ２４内の管理テーブル２５に記憶する。キャッシュメモリ１４にデータが所定量蓄積されると、メモリコントローラ１５によりキャッシュメモリ１４内のデータが読み出され、データ生成器Ａ１６に送られる。データ生成器Ａ１６は、管理テーブル２５からの情報とマイコン２２からの指示で、キャッシュメモリ１４に格納されなかったデータを生成し、データの欠落部分を補完する。エンコーダ１７はデータ生成器Ａ１６からのデータに変調・誤り訂正符号付与等の記録用信号処理を施し、ディスク１８に記録する。
【００１３】
一方、ディスク１８からデータを再生する場合は、ディスク１８から再生されたデータをデコーダ１９にて復調・誤り検出訂正等を行い、データ比較器Ｂ２０に送る。データ比較器Ｂ２０の機能は上記データ比較器Ａ１３と同様であり、入力するデータを参照値と比較して、参照値と一致するかどうかを判定する。判定の結果、一致しない場合には入力データをキャッシュメモリ１４に格納し、一致する場合には入力データを格納しない。また判定結果をマイコン２２に送り、ワークメモリ２４内の管理テーブル２５に記憶する。キャッシュメモリ１４にデータが所定量蓄積されると、メモリコントローラ１５によりキャッシュメモリ１４内のデータが読み出され、データ生成器Ｂ２１に送られる。データ生成器Ｂ２１の機能は上記データ生成器Ａ１６と同様であり、上記管理テーブル２５の情報とマイコン２２からの指示で、キャッシュメモリ１４に格納されなかったデータを生成し、データの欠落部分に補完する。データ生成器Ｂ２１からのデータは、転送コントローラ１２とインターフェース１１を介して、ホスト装置へ転送される。プログラムメモリ２３は、データ比較器Ａ，Ｂとデータ生成器Ａ，Ｂの動作に関するプログラムを格納する。
【００１４】
ここで上記参照値の与え方は２通りある。１つは、予め出現頻度が高いと予想される期待値（例えばデータ０）を定めておき、これを設定するものである。もう１つは、実際に入力したデータの値を見て、出現頻度の高かった値で設定する方法である。具体的には、ブロックの先頭値を参照値とすることなどが可能である。なお、データを比較する際のデータサイズ（バイト数）も任意に設定できるが、データの記録再生／転送する際の単位であるブロックやセクタ単位で扱うのが合理的である。
【００１５】
本実施例では、キャッシュメモリ１４には、入力するデータのうち参照値と一致するデータは格納しないので、その分メモリ容量を節約しデータ量が増大しても好適に記録再生処理が可能になる。
【００１６】
図２は、本実施例における入出力データに対するキャッシュメモリ内のデータ格納状態の一例を示す図である。（ａ）はホスト装置との間で入出力するデータ列であり、あるいはディスク上に記録されるデータの配置を示す。データ列のうち、論理アドレスＢ〜Ｃ−１と、Ｄ〜Ｅ−１におけるデータは、参照値と同一のデータとした例である。
【００１７】
（ｂ）は、この場合のキャッシュメモリ内のデータ格納状態を示す。キャッシュメモリには、論理アドレスＡ〜Ｂ−１、Ｃ〜Ｄ−１、Ｅ〜Ｆ−１のデータのみが格納され、参照値と同一である論理アドレスＢ〜Ｃ−１、Ｄ〜Ｅ−１のデータは格納されない。よって、格納されなかった分だけメモリ容量が節約される。言い換えれば、キャッシュメモリのもつ実際の容量よりも見掛け上大きな容量のデータを格納したことになる。
【００１８】
（ｃ）は、この場合の管理テーブルの情報を示す。入出力データをアドレスで区分し、各データが実際にキャッシュメモリに格納されているかどうかを示す格納情報を管理する。すなわち、「データ有」はキャッシュメモリに格納されていることを示し、「データ無」は格納されていないことを示す。そして「データ無」の場合には、格納されなかったデータがどの値と同一であるか（すなわち参照値）を記述する。図は、参照値が０データである場合を示す。
【００１９】
このように本実施例によれば、キャッシュメモリの容量を超えるデータを入力する場合、それらが不揃いのデータであるとキャッシュメモリは破綻することがあるが、それが同一データの繰り返し信号を含む場合には、キャッシュメモリは破綻することなく正常に格納動作できる。
【００２０】
図３は、図１の実施例におけるデータ比較器Ａ１３の内部構成を示す図である。データ比較器Ｂ２０についても内部構成はこれと同様である。（ａ）は参照値を予め設定しておく場合であり、（ｂ）は入力したデータの値に応じて参照値を設定する場合である。データ比較器Ａ１３は、参照値を格納するレジスタ３１、入力するデータを参照値と比較する比較部３２、比較の結果を格納するレジスタ３３を有する。
【００２１】
ここで比較部３２は、転送コントローラ１２から入力するデータを、所定の単位（例えば１バイト単位）で比較する（第１段階）。さらに、１ブロックとか１セクタといった所定サイズに渡り全データ（全バイト）が参照値に一致するかどうかを判定する（第２段階）。その結果、一致するブロック（又はセクタ）を「一致（同一）データ」として扱う。もちろん、参照値の単位や比較するデータサイズはこれに限らず、一致率を上げることと管理の容易さを考慮し適宜設定すればよい。
【００２２】
（ａ）では、レジスタ３１にはマイコン２２から参照値が与えられる。例えば、実際のデータでは０データの出現頻度が多いので、参照値を０データとするのが実用的である。これに対し（ｂ）では、入力するデータ列の先頭値を検出し、これを参照値としてレジスタ３１に格納する。この方式だと、特有の値が高頻度に出現するデータ列に対して有効となる。なお参照値とするデータは先頭位置に限らず、検出する位置を適宜決めることもできる。あるいは処理済のデータを集計し、出現頻度の高い値を参照値とすれば、さらに効率が高まる。また（ｂ）の場合、参照値として採用した値はマイコン２２を経由して管理テーブル２５に登録して管理する。
【００２３】
レジスタ３３には、比較結果を示すステータスとして、参照値と一致した場合は例えば「０」を、不一致の場合は「１」を格納する。マイコン２２はこのステータスを参照して、管理テーブル２５の各データの格納情報を記述する。
【００２４】
比較判定した入力データは、比較部３２からキャッシュメモリ１４に送出される。この場合、比較部３２からは、一致／不一致に係わらず全てのデータを送出するが、キャッシュメモリ１４では、書き込みアドレスを制御（更新／停止）することで上書き消去し、必要なデータ（不一致）のみを格納（保存）させる。
【００２５】
図４は、図３のデータ比較器による比較結果の一例を示す図である。（ａ）は図３（ａ）の場合に、（ｂ）は図３（ｂ）の場合に対応している。ここでは簡単のために、比較するデータのサイズは１バイトとしている。
【００２６】
（ａ）では、参照値として予め「００」データを設定している。よって入力データが「００」の場合には比較結果のステータスを「一致」を意味する「０」とし、それ以外の場合には「不一致」を意味する「１」として出力する。
【００２７】
（ｂ）では、入力データの先頭値（データ＃０）は「２５６」であり、これを参照値として設定する。そして続いて入力するデータについてこの参照値「２５６」と一致するかどうかを比較し、比較結果のステータスを出力する。
【００２８】
図５は、図１の実施例におけるデータ生成器Ａ１６の内部構成を示す図である。データ生成器Ｂ２１についても内部構成はこれと同様である。メモリコントローラ１５によりキャッシュメモリ１４から読み出したデータを入力する。一方レジスタ５１には、マイコン２２から送られた前記参照値をもとに補完するデータが生成されて格納される。この参照値は、マイコン２２または管理テーブル２５に格納されている。なお、補完するデータは所定サイズのデータとなるように、必要に応じて参照値を複数回繰り返し生成される（すなわち、全バイトが参照値と同一のデータとなる）。
【００２９】
マイコン２２は管理テーブル２５の格納情報を参照し、「データ有」の場合には、スイッチ５２をキャッシュメモリ１４側に、「データ無」の場合には、スイッチ５２をレジスタ５１側に切り替えて接続する。スイッチ５２からの出力は、エンコーダ１７に送られる。このようにして、キャッシュメモリ１４に格納されなかったデータを生成してデータ列に補完し、元のデータ列を復元する。
【００３０】
図６は、入力されたデータをキャッシュメモリに書き込む際の制御を示すフローチャートである。ここでは、データ比較器Ａ１３を通してキャッシュメモリ１４に書き込む場合を述べるが、データ比較器Ｂ２０の場合も同様である。
【００３１】
まずデータ比較器Ａ１３に比較のための参照値を設定する（Ｓ６１）。例えば通常０データである可能性が高いので、参照値として０を設定する。この工程は、図３（ａ）のように予め設定する場合に必要となるが、図３（ｂ）のように入力データをもとに設定する場合には不要である。入力されたデータをデータ比較器Ａ１３を通し、キャッシュメモリ１４へ転送する（Ｓ６２）。
【００３２】
データ転送後に、データ比較器Ａ１３の比較結果を参照し、転送したデータが参照値と一致したかどうか判定する（Ｓ６３）。不一致であれば、次に転送するデータを格納するキャッシュメモリ上のアドレスを更新する（Ｓ６４）。そして、キャッシュメモリの管理テーブル２５に「データ有」と登録する（Ｓ６５）。上記Ｓ６３の判定で参照値と一致していれば、次転送アドレスの更新を停止する。このようにすることで、今回転送したデータに次に転送するデータを上書きさせて、今回のデータを消去し無効とさせることができる。そして、管理テーブル２５に「データ無」と登録する（Ｓ６６）。次の転送データがあれば（Ｓ６７）、Ｓ６２に戻り上記処理を繰り返す。なお、参照値の設定が図３（ｂ）の場合には、参照値として採用した値を管理テーブル２５へ登録する。
【００３３】
図７は、キャッシュメモリからデータを読み出して出力する際の制御を示すフローチャートである。キャッシュメモリ１４から読み出したデータをデータ生成器Ａ１６を通して出力する場合を述べるが、データ生成器Ｂ２１の場合も同様である。
【００３４】
まずキャッシュメモリの管理テーブル２５を参照し（Ｓ７１）、出力するデータがキャッシュメモリ１４上に存在するかどうかを判定する（Ｓ７２）。管理テーブル２５の格納情報が「データ有」の場合には、キャッシュメモリ１４からデータを読み出して転送先（ここではエンコーダ１７）へ転送する（Ｓ７３）。格納情報が「データ無」の場合は、データ生成器Ａ１６で補完するデータを生成し、そのデータをエンコーダ１７へ転送する（Ｓ７４）。この時データ生成器Ａ１６は、前記データ比較器Ａ１３が用いた参照値をもとに補完データを生成する。なおこの参照値は、マイコン２２または管理テーブル２５に登録されている。転送する次のデータがあれば（Ｓ７５）、Ｓ７１に戻り上記処理を繰り返す。
【００３５】
図８は、キャッシュメモリへのデータ書き込み動作を図２のデータ列を例に図示したものである。（ａ）転送された論理アドレスＡ〜Ｂ−１のデータ（参照値と不一致）は、キャッシュメモリ１４の書き込みアドレスを更新しながら格納する。（ｂ）続く論理アドレスＢ〜Ｃ−１のデータ（参照値と一致）は、キャッシュメモリ１４に書き込むものの書き込みアドレスを更新しない。すなわち、図ではアドレスＸに留まったままで、Ｂ〜Ｃ−１のデータを上書きする。（ｃ）論理アドレスＣ〜Ｄ−１のデータ（不一致）は、キャッシュメモリ１４のアドレスＸを起点に書き込みアドレスを更新しながら格納する。以上の結果、論理アドレスＢ〜Ｃ−１のデータ（一致）は、キャッシュメモリ１４上に残らない。
【００３６】
図９は、キャッシュメモリからのデータ読み出し動作を図２のデータ列を例に図示したものである。（ａ）論理アドレスＡ〜Ｂ−１のデータ（キャッシュメモリ上にデータ有）は、キャッシュメモリ１４の読み出しアドレスを更新しながらデータを読み出して転送先へ転送する。（ｂ）続く論理アドレスＢ〜Ｃ−１のデータ（データ無）については、データ生成器Ａ１６にて生成した補完データ（参照値）を転送する。その間、キャッシュメモリ１４上の読み出しアドレスはＸに留まり更新しない。（ｃ）論理アドレスＣ〜Ｄ−１のデータ（データ有）は、再びキャッシュメモリ１４上のアドレスＸを起点にアドレスを更新しながら読み出して転送する。以上の結果、キャッシュメモリ１４上に格納されていない論理アドレスＢ〜Ｃ−１のデータを補完することができる。
【００３７】
本実施例の記録再生装置によれば、参照値と一致するデータについてはキャッシュメモリに格納しないので、キャッシュメモリの容量を見掛け上増大することができる。その結果、増大する記録再生用データをリアルタイムで好適に処理可能となる。また、メモリ容量節約のための圧縮伸長処理は不要であり、簡単な構成で実現できる。
【００３８】
上記実施例では、キャッシュメモリを記録処理と再生処理の両方に用いる場合を説明したが、いずれか一方のみに用いる記録または再生装置でもよい。また、ホスト装置に接続してデータの転送を行う場合について説明したが、本発明はこれに限定されない。例えば、記録再生装置を内蔵するＰＣやデジタル放送受信装置にも同様に適用できる。
【図面の簡単な説明】
【００３９】
【図１】本発明による記録再生装置の一実施例を示すブロック構成図。
【図２】図１におけるキャッシュメモリ１４内のデータ格納状態の一例を示す図。
【図３】図１におけるデータ比較器Ａ１３の内部構成を示す図。
【図４】図３のデータ比較器による比較結果の一例を示す図。
【図５】図１におけるデータ生成器Ａ１６の内部構成を示す図。
【図６】データをキャッシュメモリに書き込む際の制御を示すフローチャート。
【図７】キャッシュメモリからデータを読み出す際の制御を示すフローチャート。
【図８】キャッシュメモリへのデータ書き込みの一例を示す図。
【図９】キャッシュメモリからのデータ読み出しの一例を示す図。
【符号の説明】
【００４０】
１０…ホスト装置、１１…インターフェース、１２…転送コントローラ、１３，２０…データ比較器Ａ，Ｂ、１４…キャッシュメモリ、１５…メモリコントローラ、１６，２１…データ生成器Ａ，Ｂ、１７…エンコーダ、１８…ディスク、１９…デコーダ、２２…マイコン、２３…プログラムメモリ、２４…ワークメモリ、２５…管理テーブル。
【図１】
2007052631.tif 000003
【図２】
2007052631.tif 000004
【図３】
2007052631.tif 000005
【図４】
2007052631.tif 000006
【図５】
2007052631.tif 000007
【図６】
2007052631.tif 000008
【図７】
2007052631.tif 000009
【図８】
2007052631.tif 000010
【図９】
2007052631.tif 000011