説明

データ処理装置

本発明のデータ処理装置は、中央演算装置から設定されるID情報とセクタ数とを加算して、加算結果をID情報として出力するIDクリエイター部(300)と、IDクリエイター部(300)が出力するID情報を用いて初期スクランブルSEED値を生成するスクランブルSEEDテーブル(103)と、転送データに対するスクランブルSEED値(402)を生成する通常スクランブルフィルタ(104)と、ジャンプ処理に備えて、ジャンプ先のスクランブルSEED値(401)を保持するジャンプ処理用スクランブルフィルタ(301)と、スクランブルSEED値(401)とスクランブルSEED値(402)とのうちのいずれかを選択して通常スクランブルフィルタ(104)に出力するセレクタ(105)とを有する。これにより、転送中のデータの信頼性に依存することなく、スクランブル処理及びデスクランブル処理を行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置に関し、特に、転送中のデータをスクランブする処理、及び転送中のスクランブルデータをデスクランブルする処理を行うデータ処理装置に関する。
【背景技術】
【0002】
近年、オーディオ用途や記録メディア用途としてDVDプレイヤーやDVDレコーダが多種開発されている。これらDVDプレイヤーやDVDレコーダにおいては、動作速度の高速化を実現できるシステムが望まれている。
【0003】
従来のDVDシステムについて、図6を参照しながら説明する。図6は、従来のDVDシステムの構成例を示すブロック図である。図6に示すように、このシステムは、ディスクインターフェイス(ディスクI/F)600と、バス制御回路(BCU)601と、メモリ602と、誤り訂正回路603と、ホストインターフェース(ホストI/F)604とを有する。
【0004】
以上のように構成されるDVDシステムにおけるデータの再生動作について図6を用いて説明する。DVDシステムは、まずDVDメディアからのデータ610を、ディスクI/F600とBCU601とを介してメモリ602に格納する。次に、メモリ602から誤り訂正回路603にBCU601を介してデータを転送する。誤り訂正回路603はデータに対してパリティを作成して誤り訂正を行い、誤り訂正したデータをメモリ602に書き込む。次に、DVDシステムは、誤り訂正後のデータを、メモリ602からBCU601を介してホストI/F604に送信する。
【0005】
次に、DVDシステムにおけるデータの記録動作について図6を用いて説明する。DVDシステムは、まず、ホスト(パーソナルコンピュータや、AVデコーダ等)から送信される記録データ615を入力し、ホストI/F604とBCU601とを介してメモリ602に格納する。次に、メモリ602から誤り訂正回路603にBCU601を介して記録データを転送する。誤り訂正回路603は記録データに対するパリティを作成して誤り訂正を行い、誤り訂正した記録データをメモリ602に書き込む。次に、DVDシステムは、メモリ602からBCU601とディスクI/F600とを介して、DVDメディアに誤り訂正後の記録データを送信する。
【0006】
従来、以上のようにしてDVDシステムは、DVDメディアからのデータの再生及びDVDメディアへのデータの記録を実現していたが(特許文献1参照)、DVDメディアに記録されるデータにはスクランブルがかけられることになっている。よって、DVDメディアに記録されているデータはスクランブル後のデータ(スクランブルデータ)である。このことから、再生時にはディスクI/F600から送信されてくるスクランブルデータを通常データに戻す処理(デスクランブル)が必要になる。一方、記録時にはディスクI/F600からDVDメディアに送信する前にデータに対してスクランブルをかける必要がある。
【0007】
以下、DVDスクランブル仕様のスクランブル処理について説明する。まず、データの先頭にあるID領域に含まれるID情報を、図4に示す変換テーブルにより初期スクランブルシード値(初期スクランブルSEED値)に変換する。なお、図4において、ID情報は2進数表記、初期スクランブルSEED値は16進数表記である。また、DVDスクランブル仕様において、スクランブルブロック単位は複数フレームからなるセクタであることから、ID情報はセクタの先頭に含まれている。ID情報には、セクタ番号とセクタの属する層、領域等の情報が含まれている。
【0008】
次に、初期スクランブルSEED値から、図5に示すように、スクランブルSEED値を生成する。図5は、スクランブルSEED値をそれぞれ格納したフィードバックシフトレジスタを示す図である。DVDスクランブル仕様では、図5に示すように、メインデータ1bitごとにスクランブルSEED値の14bit目と10bit目に対して排他的論理和を行い、結果を0bit目に格納し、13bit目から0bit目まで情報を左にシフトし、メインデータの情報量分、排他的論理和とシフト操作を行うことでスクランブルSEED値を生成する。そして、転送されるデータ(パリティを除く)に対して、以上のようにして生成されるスクランブルSEED値を排他的論理和することで、スクランブルをかけていく(非特許文献1参照)。また、デスクランブルする際も、スクランブルデータに対してスクランブルSEED値を排他的論理和することで、スクランブルデータをデスクランブルする。
【0009】
以上のような仕様から、DVDシステムでスクランブル処理及びデスクランブル処理を行うためには、2つの必要事項がある。
【0010】
(1)ID情報に誤りがない。
ID情報に誤りがあれば、スクランブルSEED値の初期値(初期スクランブルSEED値)が誤ることになり、スクランブル処理及びデスクランブル処理を行うスクランブルフィルタによってすべてのデータが破壊されてしまう。
【0011】
(2)データアドレスとスクランブルSEED値のアドレスとが一致している。
スクランブルSEED値はデータの位置によって異なるため、データとスクランブルフィルタとのアドレス認識は常に一致している必要がある。ずれが発生するとそのアドレスからスクランブルフィルタによってデータが破壊されてしまう。
【0012】
上述の2つの課題があることから、従来のDVDシステムでは図6におけるホストI/Fにスクランブルフィルタを入れることが一般的である。これは、誤り訂正後であれば、ID情報に高い信頼性があり、データも誤り訂正後の全アドレス分有って連続性が確保されているため、デスクランブルが可能になるからである。
【特許文献1】特開平11−242647号公報(図1)
【非特許文献1】ecma international Home Page“DVDフォーマット”[平成15年10月16日検索]、インターネット<URL:http://www.ecma−international.org/publications/standards/Ecma−267.htm>Ecma−267.pdf
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかしながら、前記従来のDVDシステムのように、ホストI/Fにスクランブルフィルタを設けて、DVDメディアに記録するデータに対してスクランブルをかける場合、高速な動作ができないという問題が発生する。以下、その問題について説明する。
【0014】
記録動作時、ホストI/Fにスクランブルフィルタを設けたDVDシステムは、ホストI/Fの経路でデータに対して予め決めておいたID情報を使用してスクランブルを行い、スクランブルデータをメモリに格納する。そして、そのスクランブルデータに対し、誤り訂正回路でパリティを付加して誤り訂正を行い、最後にディスクI/Fを経由してDVDメディアへと誤り訂正後のデータを送信する。
【0015】
しかし、DVD−RAM等の規格においては、DVDディスクに記録するデータのアドレスが予め決められたアドレスとずれる場合がある。DVDメディア上のデータアドレスが、予め決められたアドレスと異なる場合、同時にID情報も異なったものとなるため、一旦スクランブルデータをデスクランブルして、スクランブルをかけなおす必要が生じる。
【0016】
そのため、DVDシステムでは、図7に示すように、再スクランブル装置が必要になる。以下、図7に示すDVDシステムの動作について説明する。
【0017】
記録動作時、ホストI/Fの経路でデータに対して、予め決めておいたID情報を使用してスクランブルを行い、スクランブルデータをメモリ602に格納する。ここで、データのID情報が予め決められたID情報と異なっていた場合、再スクランブル装置700でスクランブルデータをデスクランブルし、かつ、正確なID情報からスクランブルSEED値を決めてスクランブルをかけ直した後、メモリ602にデータを格納する。そして、そのデータに対し、誤り訂正回路603でパリティを付加して誤り訂正を行い、最後にディスクI/F600を経由してDVDメディアへと誤り訂正後のデータを送信する。以上のようなDVDシステムでは、再スクランブル処理を行う工程が追加されるため、動作の高倍速化の弊害となっていた。
【0018】
そこで、ホストI/F604ではなく、ディスクI/F600にスクランブルフィルタを含めた場合について考える。
【0019】
この場合、記録動作時においては、ホストI/F604からのデータに対してスクランブルをかけずにメモリ602に格納する。これにより、アドレスが変化しても、そのデータに対して誤り訂正回路603を使用してパリティを付加し、信頼性の高いID情報を用いてディスクI/F600でデータをスクランブルして、DVDメディアへとスクランブルデータを送信することが可能になる。
【0020】
しかし、このDVDシステムの場合、DVDメディアからのスクランブルデータを再生する際に問題が発生する。すなわち、再生動作時に、ディスクI/F600の経路でデスクランブル処理を行う上で2つの問題点が存在する。
【0021】
(1)DVDメディアから転送されるスクランブルデータをデスクランブルする場合、スクランブルデータが誤り訂正回路で誤り訂正処理する前のものであるため正確なID情報を得ることができないことがある。
【0022】
ID情報とは各セクタの先頭12Byte上に含まれており、デスクランブル処理するために必須の情報である。このID情報により初期スクランブルSEED値を決定している。誤り訂正処理前のスクランブルデータは誤ったデータである可能性があり信頼性に欠く。スクランブルフィルタは、正確なID情報を得ることができなければ誤ったデスクランブル処理を行い続けることになる。その結果、DVD仕様において、スクランブル処理を行うブロック単位である1セクタ分誤ったデータがメモリに格納されることになり、誤り訂正回路は1セクタ分誤り訂正を行うことができなくなる。
【0023】
(2)データ抜け等により、異常系処理であるジャンプ処理が発生した場合、ジャンプ先からの正確なスクランブルSEED値が不明になる。
【0024】
スクランブルブロック単位であるセクタは複数のフレームから構成される。DVD仕様ではメインデータと誤り訂正時に必要になるパリティデータ(ダミーデータを含む)とを合わせて1セクタあたり2392Byteのデータが存在する。DVDのフォーマットでは1セクタあたり13行あり、1行あたりダミーデータを含め184Byteで構成されている。12行までがメインデータとC1と呼ばれるパリティデータで構成され、13行目はC2とC1C2と呼ばれるパリティデータで構成されている。そして1セクタを26分割したものを1フレームと呼ぶ。よって、1行あたり2フレームで構成され、フレームの境目は91Byteになる(184Byteの内の最後の2Byteはダミーであるため)。スクランブルSEED値に注目すると、連続したデータであればスクランブルSEED値も順に演算されていくが、データ転送中に、あるフレームにおいてフレームジャンプ処理が発生した場合、転送されるデータが次のフレームの先頭に飛ぶことになる。フレームジャンプ処理が発生するとその処理が発生した地点から次のフレームの先頭までの間、メインデータが存在しないことになる。そのためスクランブルSEED値の演算も行われず、次のフレームから再び演算を開始してしまう。これではスクランブルSEED値が誤っていることになり、デスクランブル処理を行うと誤ったデータが生成される。すなわち、あるフレームでフレームジャンプ処理が発生すると、次のフレームにジャンプしたその地点からの正確なスクランブルSEED値が不明になる。
【0025】
以上のような課題を解決するために、本発明では、転送中のデータの信頼性に依存することなく、スクランブル処理及びデスクランブル処理を行うデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【0026】
本発明(請求項1)に係るデータ処理装置は、転送中のデータをスクランブルするデータ処理装置において、中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部とを有し、前記演算部が出力する加算結果を用いて、転送中のデータをスクランブルすることを特徴とする。
【0027】
本発明(請求項2)に係るデータ処理装置は、転送中のスクランブルデータをデスクランブルするデータ処理装置において、中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部とを有し、前記演算部が出力する加算結果を用いて、転送中のスクランブルデータをデスクランブルすることを特徴とする。
【0028】
本発明(請求項3)に係るデータ処理装置は、請求項1または請求項2に記載のデータ処理装置において、前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を作成するスクランブルフィルタ部と、転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記スクランブルフィルタ部が出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力するセレクタとを有し、前記セレクタが出力するスクランブルシード値を用いて、転送中のデータをスクランブル、または転送中のスクランブルデータをデスクランブルすることを特徴とする。
【0029】
本発明(請求項4)に係るデータ処理装置は、請求項3に記載のデータ処理装置において、前記スクランブルフィルタ部は、少なくとも2つのスクランブルフィルタを有し、転送されるデータのデータ長に合わせてスクランブルフィルタを選択して、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成することを特徴とする。
【0030】
本発明(請求項5)に係るデータ処理装置は、転送中のデータをスクランブルするデータ処理装置において、中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部と、前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成するスクランブルフィルタ部と、前記演算部の加算結果と転送中のデータのアドレス情報とを入力し、転送中のデータの一部が抜けるジャンプ処理が発生する場合に備えて、前記加算結果を用いてジャンプ先のスクランブルシード値を生成して保持し、ジャンプ処理が発生した場合、ジャンプ先のデータアドレスに対応するスクランブルシード値を出力するジャンプ処理用スクランブルフィルタと、ジャンプ処理が発生した場合は前記ジャンプ処理用スクランブルフィルタが出力するスクランブルシード値を選択し、それ以外の場合は前記スクランブルフィルタ部が出力するスクランブルシード値を選択して出力する第1のセレクタと、転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記第1のセレクタが出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力する第2のセレクタとを有し、前記第2のセレクタが出力するスクランブルシード値を用いて、転送中のデータをスクランブルすることを特徴とする。
【0031】
本発明(請求項6)に係るデータ処理装置は、転送中のスクランブルデータをデスクランブルするデータ処理装置において、中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部と、前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成するスクランブルフィルタ部と、前記演算部の加算結果と転送中のデータのアドレス情報とを入力し、転送中のデータの一部が抜けるジャンプ処理が発生する場合に備えて、前記加算結果を用いてジャンプ先のスクランブルシード値を生成して保持し、ジャンプ処理が発生した場合、ジャンプ先のデータアドレスに対応するスクランブルシード値を出力するジャンプ処理用スクランブルフィルタと、ジャンプ処理が発生した場合は前記ジャンプ処理用スクランブルフィルタが出力するスクランブルシード値を選択し、それ以外の場合は前記スクランブルフィルタ部が出力するスクランブルシード値を選択して出力する第1のセレクタと、転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記第1のセレクタが出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力する第2のセレクタとを有し、前記第2のセレクタが出力するスクランブルシード値を用いて、転送中のスクランブルデータをデスクランブルすることを特徴とする。
【0032】
本発明(請求項7)に係るデータ処理装置は、請求項5または請求項6に記載のデータ処理装置において、前記スクランブルフィルタ部は、少なくとも2つのスクランブルフィルタを有し、転送されるデータのデータ長に合わせてスクランブルフィルタを選択して、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成することを特徴とする。
【0033】
本発明(請求項8)に係るデータ処理装置は、請求項5または請求項6に記載のデータ処理装置において、前記ジャンプ用スクランブルフィルタは、少なくとも2つのスクランブルフィルタを有し、転送されるデータのジャンプ先に合わせてスクランブルフィルタを選択して、前記スクランブルシード値を生成することを特徴とする。
【発明の効果】
【0034】
本発明(請求項1)に係るデータ処理装置は、転送中のデータをスクランブルするデータ処理装置において、中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部とを有し、前記演算部が出力する加算結果を用いて、転送中のデータをスクランブルすることから、転送中のデータに含まれるID情報ではなく、中央演算装置が設定する確実なID情報を用いて、DVDシステムにおけるディスクI/Fで信頼性の高いスクランブル処理を行うことができる。
【0035】
本発明(請求項2)に係るデータ処理装置は、転送中のスクランブルデータをデスクランブルするデータ処理装置において、中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部とを有し、前記演算部が出力する加算結果を用いて、転送中のスクランブルデータをデスクランブルすることから、転送中のデータに含まれるID情報ではなく、中央演算装置が設定する確実なID情報を用いて、DVDシステムにおけるディスクI/Fで信頼性の高いデスクランブル処理を行うことができる。
【0036】
本発明(請求項3)に係るデータ処理装置は、請求項1または請求項2に記載のデータ処理装置において、前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を作成するスクランブルフィルタ部と、転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記スクランブルフィルタ部が出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力するセレクタとを有し、前記セレクタが出力するスクランブルシード値を用いて、転送中のデータをスクランブル、または転送中のスクランブルデータをデスクランブルすることから、転送中のデータに含まれるID情報ではなく、中央演算装置が設定する確実なID情報を用いて正確なスクランブルシード値を生成し、このスクランブルシード値を用いて、DVDシステムにおけるディスクI/Fで信頼性の高いスクランブル処理またはデスクランブル処理を行うことができる。
【0037】
本発明(請求項4)に係るデータ処理装置は、請求項3に記載のデータ処理装置において、前記スクランブルフィルタ部は、少なくとも2つのスクランブルフィルタを有し、転送されるデータのデータ長に合わせてスクランブルフィルタを選択して、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成することから、少なくとも2種類のデータ長に対応したスクランブルシード値を生成することができる。
【0038】
本発明(請求項5)に係るデータ処理装置は、転送中のデータをスクランブルするデータ処理装置において、中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部と、前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成するスクランブルフィルタ部と、前記演算部の加算結果と転送中のデータのアドレス情報とを入力し、転送中のデータの一部が抜けるジャンプ処理が発生する場合に備えて、前記加算結果を用いてジャンプ先のスクランブルシード値を生成して保持し、ジャンプ処理が発生した場合、ジャンプ先のデータアドレスに対応するスクランブルシード値を出力するジャンプ処理用スクランブルフィルタと、ジャンプ処理が発生した場合は前記ジャンプ処理用スクランブルフィルタが出力するスクランブルシード値を選択し、それ以外の場合は前記スクランブルフィルタ部が出力するスクランブルシード値を選択して出力する第1のセレクタと、転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記第1のセレクタが出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力する第2のセレクタとを有し、前記第2のセレクタが出力するスクランブルシード値を用いて、転送中のデータをスクランブルすることから、転送中にデータ抜け(データ飛び)が発生した場合も、DVDシステムにおけるディスクI/Fで信頼性の高いスクランブル処理を継続して行うことができる。
【0039】
本発明(請求項6)に係るデータ処理装置は、転送中のスクランブルデータをデスクランブルするデータ処理装置において、中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部と、前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成するスクランブルフィルタ部と、前記演算部の加算結果と転送中のデータのアドレス情報とを入力し、転送中のデータの一部が抜けるジャンプ処理が発生する場合に備えて、前記加算結果を用いてジャンプ先のスクランブルシード値を生成して保持し、ジャンプ処理が発生した場合、ジャンプ先のデータアドレスに対応するスクランブルシード値を出力するジャンプ処理用スクランブルフィルタと、ジャンプ処理が発生した場合は前記ジャンプ処理用スクランブルフィルタが出力するスクランブルシード値を選択し、それ以外の場合は前記スクランブルフィルタ部が出力するスクランブルシード値を選択して出力する第1のセレクタと、転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記第1のセレクタが出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力する第2のセレクタとを有し、前記第2のセレクタが出力するスクランブルシード値を用いて、転送中のスクランブルデータをデスクランブルすることから、転送中にデータ抜け(データ飛び)が発生した場合も、DVDシステムにおけるディスクI/Fで信頼性の高いデスクランブル処理を継続して行うことができる。
【0040】
本発明(請求項7)に係るデータ処理装置は、請求項5または請求項6に記載のデータ処理装置において、前記スクランブルフィルタ部は、少なくとも2つのスクランブルフィルタを有し、転送されるデータのデータ長に合わせてスクランブルフィルタを選択して、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成することから、少なくとも2種類のデータ長に対応したスクランブルシード値を生成することができる。
【0041】
本発明(請求項8)に係るデータ処理装置は、請求項5または請求項6に記載のデータ処理装置において、前記ジャンプ用スクランブルフィルタは、少なくとも2つのスクランブルフィルタを有し、転送されるデータのジャンプ先に合わせてスクランブルフィルタを選択して、前記スクランブルシード値を生成することから、転送されるデータにおいて、奇数フレームまたは偶数フレームでフレームジャンプ処理が発生しても、ジャンプ先のフレームの先頭から正確なスクランブルシード値を生成することができる。
【図面の簡単な説明】
【0042】
【図1】図1は、本発明の実施の形態1に係るデータ処理装置に構成例を示すブロック図である。
【図2】図2は、本発明の実施の形態2に係るデータ処理装置に構成例を示すブロック図である。
【図3】図3は、本発明の実施の形態2に係るデータ処理装置のフレームジャンプ処理用スクランブルフィルタの構成を示すブロック図である。
【図4】図4は、DVD仕様におけるID/スクランブルSEED値変換テーブルを示す図である。
【図5】図5は、スクランブルフィルタのスクランブル処理を説明するための図である。
【図6】図6は、従来のDVDシステムの構成を示す図である。
【図7】図7は、従来のDVDシステムのおける記録動作を説明するための図である。
【符号の説明】
【0043】
100 セクタカウント部
101 ID格納部
102 演算部
103 スクランブルSEEDテーブル
104 通常スクランブルフィルタ
105、303、503 セレクタ
300 IDクリエイター部
301 フレームジャンプ処理用スクランブルフィルタ
500 初期値作成用テーブル
501 奇数用フレームジャンプフィルタ
502 偶数用フレームジャンプフィルタ
504 レジスタ
600 ディスクI/F
601 BCU
602 メモリ
603 誤り訂正回路
604 ホストI/F
700 再スクランブル装置
【発明を実施するための最良の形態】
【0044】
(実施の形態1)
以下、本発明の実施の形態1に係るデータ処理装置について図1を用いて説明する。本発明の実施の形態1に係るデータ処理装置は、図6に示すディスクI/Fに存在し、転送中のデータをスクランブルする処理、及び転送中のスクランブルデータをデスクランブルする処理を行う。
【0045】
図1において、データ処理装置は、IDクリエイター部300と、スクランブルSEEDテーブル103と、セレクタ105と、通常スクランブルフィルタ104とを備える。IDクリエイター部300は、セクタカウント部100と、ID格納部101と、演算部102とを備える。
【0046】
ID格納部101はマイコンなどの中央演算装置により設定される8bit(ビット幅[7:0])のセクタ情報を格納する。セクタ情報は、8bitの情報量の内、上位4bit([7:4])はID情報を示し、下位4bit([3:0])はブロックのどのセクタからデータの転送を開始するのかを示す。ID情報には、セクタ番号とセクタが属する層、領域を示す情報が含まれている。
【0047】
セクタカウント部100は、初期値を4‘h0として、データの転送が1セクタ分完了されるごとにカウントアップしていく装置であり、転送開始から転送中のセクタ数をセクタ数情報200として出力する。
【0048】
演算部102は、ID格納部101が出力するセクタ情報201と、セクタカウント部100が出力するセクタ数情報200とを加算し、上位4bitをID情報202として出力する。
【0049】
スクランブルSEEDテーブル103は、ID情報202を入力し、図4に示すテーブルを用いてID情報202を初期スクランブルSEED値203に変換して出力する。
【0050】
セレクタ105は、セクタの先頭を示す信号であるセクタトップ信号204を入力したとき、すなわち、転送されたデータがセクタの先頭であったときは、スクランブルSEED値203を選択してスクランブルSEED値205として出力し、セクタの先頭でないときは、後述する通常スクランブルフィルタ104が出力するスクランブルSEED値206を選択してスクランブルSEED値205として出力する。なお、セレクタ105はセクタトップ信号204を、例えば、マイコンのような中央演算装置から入力する。
【0051】
通常スクランブルフィルタ104は少なくとも2つのスクランブルフィルタを備える。本発明の実施の形態1では、4Byteと8Byteのスクランブルフィルタを備える場合について説明する。通常スクランブルフィルタ104は、所定のデータ長(4Byteと8Byte)のデータが転送される期間を1サイクルとし、スクランブルSEED値205を入力して、それをスクランブルフィルタに通して次のサイクルのスクランブルSEED値206を生成して出力する。すなわち、スクランブルデータ長に合わせて、データが4Byteの場合は4Byte後の、データが8Byteの場合は8Byte後の、次のサイクルのスクランブルSEED値を作成する。
【0052】
データ処理装置は、さらに、以上のようにして生成したスクランブルSEED値を転送されるデータ量分拡張する拡張フィルタ(図示せず)と、拡張したスクランブルSEED値とデータとを1bitごとに排他的論理和する回路(図示せず)とを有し、これらの回路により、データをスクランブルする処理及びスクランブルデータをデスクランブルする処理を行う。なお、前記拡張フィルタ及び排他的論理和回路は、本発明の本質的な部分ではないため、その説明を省略する。
【0053】
以上のように構成されるデータ処理装置の動作について説明する。
ID格納部101に設定されるID情報の値は16進数表記で0x01とする。セクタカウント部100の初期値は16進数表記で0x0となる。演算部102はID格納部101からのセクタ情報201(0x01)とセクタカウント部100からのセクタ数情報200(0x0)とを加算して0x01を得る。演算部102は、上位4ビットの情報、すなわち、0x0をID情報202としてスクランブルSEEDテーブル103に対して出力する。
【0054】
スクランブルSEEDテーブル103はID情報202から初期スクランブルSEED値を図4に示す変換テーブルを用いて決定する。本発明の実施の形態1では、ID情報202は0x0であるので、スクランブルSEEDテーブル103が決定した初期スクランブルSEED値203は15’h0001となる。
【0055】
スクランブルSEED値203はセクタの先頭時にのみ使用するスクランブルSEED値である。スクランブルSEED値203の使用はセクタ先頭であることをセクタトップ信号204により通知されたときのみで、このとき、セレクタ105はスクランブルSEED値203を選択してスクランブルSEED値205として出力する。すなわち、このタイミングでは15’0001が選択される。
【0056】
それ以降のスクランブルSEED値は通常スクランブルフィルタ104が生成する。具体的には、図5に示すように、メインデータ1bitごとにスクランブルSEED値の14bit目と10bit目に対して排他的論理和を行い、結果を0bit目に格納する。そして、13bit目から0bit目まで情報を左にシフトする。以上のような排他的論理和とシフト操作をメインデータの情報量分行うことでスクランブルシード値を生成する。
【0057】
例えば8Byteのメインデータに対してスクランブルSEED値を生成する場合は、排他的論理和とシフト操作を8×8bit分行い、8Byteのメインデータに対するスクランブルSEED値を生成する。
【0058】
デモジュ転送の際、すなわち、図6に示すDVDシステムにおいて、DVDメディアからのデータを、ディスクI/F600を介してBCU601に転送する際には、データが4Byteのときと8Byteのときがあるため、通常スクランブルフィルタ104では4Byte用のスクランブルフィルタと8Byte用のスクランブルフィルタとを用意する。4Byte用スクランブルフィルタは、排他的論理和とシフト操作を32回行い、次のメインデータに対する開始スクランブルSEED値を生成する。また、8Byte用スクランブルフィルタは、4Byte用のスクランブルフィルタと同様の処理を64回行い、8Byte後の次のメインデータに対するスクランブルSEED値を生成する。
【0059】
例えば、スクランブルSEED値203(0x0001)を8Byte用スクランブルフィルタに通した場合、次のサイクルのメインデータに対するスクランブルSEED値206は0x0100である。そして、このスクランブルSEED値206が再びセレクタ105に送られる。このとき、セレクタ105は、現メインデータがセクタの先頭から8Byte後でありセクタの先頭メインデータではないため、スクランブルSEED値206を選択する。次のサイクルで転送されるメインデータ量も8Byteである場合、その次のスクランブルSEED値206は0x0022になる。
【0060】
1セクタ分のデータの転送が終了すると、2セクタ目の先頭から処理を行うために、2セクタ目の先頭データが転送される前に、セクタカウント部100は初期値をカウントアップし、カウント結果をセクタ数情報200として出力する。これにより、演算部102が出力するID情報202の上位4bitは1インクリメントされ、ID情報202は、次のサイクルのスクランブルブロック単位であるセクタのID情報を示すことになる。そして、このID情報202により、再びスクランブルSEEDテーブル103でセクタの先頭時にのみ使用するスクランブルSEED値203が生成される。
【0061】
以上のように、本発明の実施の形態1に係るデータ処理装置によれば、セクタカウント部100と、ID格納部101と、演算部102とからなるIDクリエイター部300を備え、転送中のデータに含まれるID情報ではなく、外部の中央演算装置等がIDクリエイター部300に設定するID情報を用いてスクランブルSEED値を生成するようにしたことから、DVDシステムにおけるディスクI/Fで、DVDメディアからのスクランブルデータを正確なID情報を用いてデスクランブルすることができ、かつ、ホスト(パーソナルコンピュータや、AVデコーダ等)からのデータを正確なID情報を用いてスクランブルすることができる。
【0062】
(実施の形態2)
以下、本発明の実施の形態2に係るデータ処理装置について図2を用いて説明する。図1に示すデータ処理装置と同一の構成要素については同一符号を付し、説明を省略する。本発明の実施の形態2に係るデータ処理装置では、図1に示すデータ処理装置に、フレームジャンプ処理用スクランブルフィルタ301とセレクタ303とをさらに備え、データ抜けのような異常処理(ジャンプ処理)が発生した場合に、スクランブルSEED値の生成をフレーム単位で補正することを特徴とする。
【0063】
IDクリエイター部300は、前記実施の形態1で説明したようにセクタに対応するID情報202を出力する。
【0064】
スクランブルSEEDテーブル103は、ID情報202を入力し、初期スクランブルSEED値203に変換して出力する。
【0065】
セレクタ105は、セクタトップ信号204を入力したとき、すなわち、転送されたデータがセクタの先頭であったときは、スクランブルSEED値203を選択してスクランブルSEED値205として出力し、セクタの先頭でないときは、後述するセレクタ303が出力するスクランブルSEED値206を選択してスクランブルSEED値205として出力する。
【0066】
通常スクランブルフィルタ104は少なくとも2つのスクランブルフィルタを備える。本発明の実施の形態2では、4Byteと8Byteのスクランブルフィルタを備える場合について説明する。通常スクランブルフィルタ104は、所定のデータ長(ここでは、4Byteと8Byte)のデータが転送される期間を1サイクルとし、スクランブルSEED値205を入力して、それをスクランブルフィルタに通して次のサイクルのスクランブルSEED値402を生成して出力する。すなわち、スクランブルデータ長に合わせて、データが4Byteの場合は4Byte後の、データが8Byteの場合は8Byte後の、次のサイクルのスクランブルSEED値を作成する。
【0067】
フレームジャンプ処理用スクランブルフィルタ301は、転送中のデータのアドレス情報405を入力し、フレームジャンプ処理が発生する前にフレームジャンプ後のスクランブルシード値を作成しておき、スクランブルSEED値401として出力する。なお、フレームジャンプ処理用スクランブルフィルタ301は、アドレス情報405を、例えば、マイコンのような中央演算装置から入力する。
【0068】
セレクタ303は、スクランブルSEED値401とスクランブルSEED値402とを入力し、フレームジャンプ信号404の入力時、すなわちフレームジャンプ発生時にはフレームジャンプ後のスクランブルSEED値401を、それ以外のときにはスクランブルSEED値402を選択して、スクランブルSEED値206として出力する。なお、セレクタ303は、フレームジャンプ信号404を、マイコンのような中央演算装置から入力する。
【0069】
以上のように構成されるデータ処理装置の動作について説明する。なお、以下の説明において、初期IDを0x0とし、開始セクタナンバーを0x00とする。またメインデータ8Byte転送後にフレームジャンプ処理が発生する場合について説明する。
【0070】
スクランブルSEEDテーブル103は、IDクリエイター部300から得られたID情報202(0x0)をもとに、初期スクランブルSEED値203(0x0001)を生成し出力する。
【0071】
セレクタ105は、セクタトップ信号204を入力したとき、初期スクランブルSEED値(0x0001)203を選択してスクランブルSEED値205として出力する。
【0072】
ここでは、フレームジャンプ処理が発生していないため、セレクタ303は、通常スクランブルフィルタ104が出力するスクランブルSEED値402、すなわち、スクランブルSEED値(0x0100)を選択して出力する。
【0073】
セレクタ105は、次のサイクルにおいて、転送されるデータがセクタの先頭でないことを判断し、次のスクランブルSEED値(0x0100)を選択して、スクランブルSEED値205として出力する。
【0074】
通常スクランブルフィルタ104は、スクランブルSEED値(0x0100)を入力して、次のサイクルのスクランブルSEED値(0x0022)を出力する。
【0075】
しかし、ここで、セレクタ303がフレームジャンプ信号404を入力したとする。このとき、セレクタ303はフレームジャンプ処理用スクランブルフィルタ301から得られるスクランブルSEED値(0x4A16)401を選択する。フレームジャンプ後のスクランブルSEED値401は、初期スクランブルSEED値(0x0001)からメインデータ80Byte後のスクランブルSEED値、つまり2フレーム目先頭のスクランブルSEED値である。このフレームジャンプ後のスクランブルSEED値401はスクランブルSEED値206としてセレクタ105に出力される。セレクタ105はセクタの先頭ではないことを判断して、フレームジャンプ後のスクランブルSEED値401を選択して、通常スクランブルフィルタ104に出力する。
【0076】
ジャンプ処理により、2フレーム目からデータの転送が開始されると、フレームジャンプ処理用スクランブルフィルタ301では、2フレーム目からフレームジャンプ処理がさらに起きる場合を想定して、3フレーム目先頭のスクランブルSEED値(0x71B6)をフレームジャンプフィルタにより生成する。
【0077】
2フレーム目で再びフレームジャンプ処理が発生した場合、フレームジャンプ信号404を入力したセレクタ303は、フレームジャンプ処理用スクランブルフィルタ301からの3フレーム目先頭のスクランブルSEED値(0x71B6)を選択する。
【0078】
3フレーム目先頭のスクランブルSEED値はセレクタ105に出力される。セレクタ105はセクタの先頭ではないことを判断して、3フレーム目の開始スクランブルSEED値を選択し、それを通常スクランブルフィルタ104に出力する。
【0079】
フレームジャンプ処理用スクランブルフィルタ301は4フレーム目先頭のスクランブルSEED値を生成し、3フレーム目でのフレームジャンプ処理に備える。4フレーム目の開始スクランブルSEED値は3フレーム目の開始スクランブルSEED値から92Byte後のスクランブルSEED値であるため、その値は0x5D8Eになる。
【0080】
以下、フレームジャンプ処理用スクランブルフィルタ301の詳細について図3を用いて説明する。図3において、フレームジャンプ処理用スクランブルフィルタ301は、初期値作成用テーブル500と、奇数用フレームジャンプフィルタ501と、偶数用フレームジャンプフィルタ502と、セレクタ503と、レジスタ504とを有する。
【0081】
初期値作成用テーブル500は、ID情報202を入力し、2フレーム目先頭のスクランブルSEED値、すなわち80Byte先のスクランブルSEED値800を生成して出力する。
【0082】
セレクタ503は、転送中のデータのアドレス情報405を入力し、1フレーム期間はスクランブルSEED値800を選択し、フレームジャンプ後のスクランブルSEED値401として出力する。
【0083】
レジスタ504は、2フレーム目先頭のスクランブルSEED値401を入力し、保持する。
【0084】
データの転送が2フレーム目に入ったとき、偶数用フレームジャンプフィルタ502は、レジスタ504の出力信号803、ここでは、2フレーム目先頭のスクランブルSEED値401を使用し、3フレーム目先頭のスクランブルSEED値802を生成して出力する。
【0085】
セレクタ503は、転送中のデータが偶数フレームのときには、スクランブルSEED値802を選択し、次のフレームジャンプ時のスクランブルSEED値401として出力する。
【0086】
そして、レジスタ504は、3フレーム目先頭のスクランブルSEED値401を入力し、保持する。
【0087】
データの転送が3フレーム目に入ったとき、奇数用フレームジャンプフィルタ501は、レジスタ504の出力信号803、ここでは3フレーム目先頭のスクランブルSEED値401を使用して、4フレーム目先頭のスクランブルSEED値801を生成して出力する。
【0088】
セレクタ503は、初期転送時(1フレーム目)を除く奇数フレームのとき、スクランブルSEED値801を選択して、次のフレームジャンプ時のスクランブルSEED値401を出力する。
【0089】
そして、レジスタ504は、4フレーム目先頭のスクランブルSEED値401を入力し、保持する。
【0090】
以上の動作を、1セクタ(26フレーム)分繰り返す。これにより、1フレーム目でフレームジャンプ処理が発生した場合、さらに、奇数・偶数フレームでフレームジャンプ処理が発生した場合でも、ジャンプ先のフレームの先頭から正確なスクランブルSEED値を生成することができる。
【0091】
以上のように、本実施の形態2に係るデータ処理装置によれば、フレームジャンプ処理が発生したとき、ジャンプ先のフレームの先頭スクランブルSEED値を生成するフレームジャンプ処理用スクランブルフィルタ301を備えたことから、データ転送中にジャンプ処理が発生しても、ディスクI/Fで、DVDメディアからのスクランブルデータを正確なID情報を用いてデスクランブルすることができ、かつ、ホスト(パーソナルコンピュータや、AVデコーダ等)からのデータを正確なID情報を用いてスクランブルすることができる。
【産業上の利用可能性】
【0092】
本発明は、DVDなどの光ディスク分野をはじめとして、データをスクランブル処理及びスクランブルデータをデスクランブルする処理を行うすべてのデータ通信分野への展開が可能である。

【特許請求の範囲】
【請求項1】
転送中のデータをスクランブルするデータ処理装置において、
中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、
転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、
前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部とを有し、
前記演算部が出力する加算結果を用いて、転送中のデータをスクランブルすることを特徴とするデータ処理装置。
【請求項2】
転送中のスクランブルデータをデスクランブルするデータ処理装置において、
中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、
転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、
前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部とを有し、
前記演算部が出力する加算結果を用いて、転送中のスクランブルデータをデスクランブルすることを特徴とするデータ処理装置。
【請求項3】
請求項1または請求項2に記載のデータ処理装置において、
前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、
所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を作成するスクランブルフィルタ部と、
転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記スクランブルフィルタ部が出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力するセレクタとを有し、
前記セレクタが出力するスクランブルシード値を用いて、転送中のデータをスクランブル、または転送中のスクランブルデータをデスクランブルすることを特徴とするデータ処理装置。
【請求項4】
請求項3に記載のデータ処理装置において、
前記スクランブルフィルタ部は、
少なくとも2つのスクランブルフィルタを有し、転送されるデータのデータ長に合わせてスクランブルフィルタを選択して、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成することを特徴とするデータ処理装置。
【請求項5】
転送中のデータをスクランブルするデータ処理装置において、
中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、
転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、
前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部と、
前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、
所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成するスクランブルフィルタ部と、
前記演算部の加算結果と転送中のデータのアドレス情報とを入力し、転送中のデータの一部が抜けるジャンプ処理が発生する場合に備えて、前記加算結果を用いてジャンプ先のスクランブルシード値を生成して保持し、ジャンプ処理が発生した場合、ジャンプ先のデータアドレスに対応するスクランブルシード値を出力するジャンプ処理用スクランブルフィルタと、
ジャンプ処理が発生した場合は前記ジャンプ処理用スクランブルフィルタが出力するスクランブルシード値を選択し、それ以外の場合は前記スクランブルフィルタ部が出力するスクランブルシード値を選択して出力する第1のセレクタと、
転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記第1のセレクタが出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力する第2のセレクタとを有し、
前記第2のセレクタが出力するスクランブルシード値を用いて、転送中のデータをスクランブルすることを特徴とするデータ処理装置。
【請求項6】
転送中のスクランブルデータをデスクランブルするデータ処理装置において、
中央演算装置によって設定され、転送中のデータのスクランブルブロック単位であるセクタに関するID情報を格納するID格納部と、
転送中のデータにおける前記セクタの数をカウントするセクタカウント部と、
前記ID格納部からのID情報と前記セクタカウント部からのセクタ数情報とを加算する演算部と、
前記演算部から入力した加算結果をスクランブルシード値に変換するスクランブルシードテーブル変換部と、
所定の長さのデータが転送される期間を1サイクルとし、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成するスクランブルフィルタ部と、
前記演算部の加算結果と転送中のデータのアドレス情報とを入力し、転送中のデータの一部が抜けるジャンプ処理が発生する場合に備えて、前記加算結果を用いてジャンプ先のスクランブルシード値を生成して保持し、ジャンプ処理が発生した場合、ジャンプ先のデータアドレスに対応するスクランブルシード値を出力するジャンプ処理用スクランブルフィルタと、
ジャンプ処理が発生した場合は前記ジャンプ処理用スクランブルフィルタが出力するスクランブルシード値を選択し、それ以外の場合は前記スクランブルフィルタ部が出力するスクランブルシード値を選択して出力する第1のセレクタと、
転送されるデータがセクタの先頭であるときは前記スクランブルシードテーブル変換部が出力するスクランブルシード値を選択し、それ以外のときは前記第1のセレクタが出力するスクランブルシード値を選択して、前記スクランブルフィルタ部に出力する第2のセレクタとを有し、
前記第2のセレクタが出力するスクランブルシード値を用いて、転送中のスクランブルデータをデスクランブルすることを特徴とするデータ処理装置。
【請求項7】
請求項5または請求項6に記載のデータ処理装置において、
前記スクランブルフィルタ部は、
少なくとも2つのスクランブルフィルタを有し、転送されるデータのデータ長に合わせてスクランブルフィルタを選択して、現サイクルのスクランブルシード値から次のサイクルのスクランブルシード値を生成することを特徴とするデータ処理装置。
【請求項8】
請求項5または請求項6に記載のデータ処理装置において、
前記ジャンプ用スクランブルフィルタは、
少なくとも2つのスクランブルフィルタを有し、転送されるデータのジャンプ先に合わせてスクランブルフィルタを選択して、前記スクランブルシード値を生成することを特徴とするデータ処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【国際公開番号】WO2005/050909
【国際公開日】平成17年6月2日(2005.6.2)
【発行日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2005−515583(P2005−515583)
【国際出願番号】PCT/JP2004/016643
【国際出願日】平成16年11月10日(2004.11.10)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】