(57)【特許請求の範囲】
【請求項１】
ビットストリームを記録媒体に記録するデータ記録装置において、
可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換された前記ビットストリームから、前記固定長符号化されている符号を指定する指定手段と、
前記指定手段により指定された前記固定長符号化されている符号の少なくとも一部に、不正コピー防止のキーデータを書き込む書き込み手段と
を備えることを特徴とするデータ記録装置。
【請求項２】
前記指定手段は、前記固定長符号化されている符号から第１のブロックと第２のブロックとを指定し、
前記書き込み手段は、前記第１のブロックを前記キーデータと設定し、前記第２のブロックを、設定された前記第１のブロックの値に基づいて変更する
ことを特徴とする請求項１に記載のデータ記録装置。
【請求項３】
ビットストリームを記録媒体に記録するデータ記録方法において、
可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換された前記ビットストリームから、前記固定長符号化されている符号を指定し、
指定された前記固定長符号化されている符号の少なくとも一部に、不正コピー防止のキーデータを書き込む
ことを特徴とするデータ記録方法。
【請求項４】
可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、所定の前記固定長符号化されている符号を読み出し、その符号に埋め込まれている不正コピー防止のキーデータを検出する検出手段と、
前記検出手段の検出結果を表示する表示信号を発生する発生手段と
を備えることを特徴とする不正コピー防止装置。
【請求項５】
可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、所定の前記固定長符号化されている符号を読み出し、
読み出した符号に埋め込まれている不正コピー防止のキーデータを検出し、
その検出結果を表示する表示信号を発生する
ことを特徴とする不正コピー防止方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ記録装置および方法、並びに不正コピー防止装置および方法に関し、特にデジタルデータを記録したディスクが不正にコピーされるのを防止するようにした、データ記録装置および方法、並びに不正コピー防止装置および方法に関する。
【０００２】
【従来の技術】
最近、ビデオテープレコーダが普及し、放送されている番組をビデオテープに録画し、任意のタイミングにおいて、任意の回数、その番組を楽しむことができるようになってきた。ビデオテープのレンタルを行う店も増加し、ビデオテープのレンタルを受け、楽しむこともできる。このレンタルのビデオテープが大量に不正にコピーされることを防止するために、種々の提案がなされている。
【０００３】
また、最近、ビデオデータをデジタル的にディスクやテープに記録する装置も普及しつつある。アナログビデオテープの場合、ビデオ信号がアナログ的に記録再生されるため、コピーを複数回繰り返すと画質が劣化するので、不正にコピーされたビデオテープから、さらにコピーを行う処理を繰り返すことは、実質的には困難となる。
【０００４】
これに対して、例えばデジタルビデオディスクにおいては、ビデオデータがデジタル的にディスクに記録されているため、不正にコピーされたディスクから、さらに他のディスクにコピーする処理を繰り返したとしても、原理的には殆ど画質が劣化することはない。そこで、デジタルビデオディスクが不正にコピーされることを防止するのは、アナログビデオテープの不正コピーを防止する場合より、はるかに重要なこととなる。
【０００５】
【発明が解決しようとする課題】
例えば、従来のアナログビデオテープレコーダにおいては、ビデオ信号をコピーするとき、垂直帰線区間にフラグを記録するようにし、このフラグが記録されているビデオ信号のコピーは禁止するようにするなどして、コピーを防止するようにしている。
【０００６】
しかしながら、デジタル的にビデオ信号を記録する装置の多くは、垂直帰線区間の信号は、実質的な画像を構成しないため、記録媒体に記録しないようにすることが多い。その結果、この方法によっては不正なコピーを確実に防止することができない。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、不正なコピーを確実に防止することができるようにするものである。
【０００８】
【課題を解決するための手段】
本発明のデータ記録装置は、ビットストリームを記録媒体に記録するデータ記録装置であって、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、固定長符号化されている符号を指定する指定手段と、指定手段により指定された固定長符号化されている符号の少なくとも一部に、不正コピー防止のキーデータを書き込む書き込み手段とを備えることを特徴とする。
前記指定手段は、固定長符号化されている符号から第１のブロックと第２のブロックとを指定し、書き込み手段は、第１のブロックをキーデータと設定し、第２のブロックを、設定された第１のブロックの値に基づいて変更するようにすることができる。
【０００９】
本発明のデータ記録方法は、ビットストリームを記録媒体に記録するデータ記録方法であって、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、固定長符号化されている符号を指定し、指定された固定長符号化されている符号の少なくとも一部に、不正コピー防止のキーデータを書き込むことを特徴とする。
【００１０】
本発明の不正コピー防止装置は、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、所定の固定長符号化されている符号を読み出し、その符号に埋め込まれている不正コピー防止のキーデータを検出する検出手段と、検出手段の検出結果を表示する表示信号を発生する発生手段とを備えることを特徴とする。
【００１１】
本発明の不正コピー防止方法は、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、所定の固定長符号化されている符号を読み出し、読み出した符号に埋め込まれている不正コピー防止のキーデータを検出し、その検出結果を表示する表示信号を発生することを特徴とする。
【００１３】
本発明のデータ記録装置においては、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、固定長符号化されている符号が指定され、指定された固定長符号化されている符号の少なくとも一部に、不正コピー防止のキーデータが書き込まれる。
【００１４】
本発明のデータ記録方法においては可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、固定長符号化されている符号が指定され、指定された固定長符号化されている符号の少なくとも一部に、不正コピー防止のキーデータが書き込まれる。
【００１５】
本発明の不正コピー防止装置においては、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、所定の固定長符号化されている符号が読み出され、その符号に埋め込まれている不正コピー防止のキーデータが検出され、検出結果が表示される。
【００１６】
本発明の不正コピー防止方法においては、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、所定の固定長符号化されている符号が読み出され、その符号に埋め込まれている不正コピー防止のキーデータが検出され、検出結果が表示される。
【００１８】
【発明の実施の形態】
図１は、本発明の不正コピー防止のためのキーデータを記録する原理を表している。同図に示すように、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）は、１枚のＩピクチャ、複数枚のＰピクチャ、および複数枚のＢピクチャにより構成されている。図１の実施の形態においては、１５枚のピクチャにより１つのＧＯＰが構成されている。また、この実施の形態においては、キーデータを記録するために、ＧＯＰを構成するピクチャの中からＩピクチャが選択される。
【００１９】
Ｉピクチャは、他のピクチャと同様に、複数のスライスにより構成されており、各スライスは、所定の数のマクロブロックから構成されている。この実施の形態においては、このマクロブロックのうちの所定のものが、予め選択される。
【００２０】
１６×１６画素のマクロブロックは、輝度信号（Ｙ）の場合、８×８画素からなる４個のブロックで構成される。色差信号Ｃｂ，Ｃｒは、１６×１６画素の１つのマクロブロックに対して８×８画素のブロックで表現される。これらの画素データは、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）変換（離散コサイン変換）により、ＤＣＴ係数に変換される。
【００２１】
１つのブロックの８×８個のＤＣＴ係数Ｃｏｅｆｆ［０］［０］乃至Ｃｏｅｆｆ［７］［７］は、所定の量子化ステップで量子化され、量子化レベルＱＦ［０］［０］乃至ＱＦ［７］［７］に変換される。
【００２２】
ＤＣＴ係数のうち、左上のＣｏｅｆｆ［０］［０］（ｓｃａｎ［０］）は、直流成分（ＤＣ成分）を表し、この直流成分からは、直前のブロックの直流成分を予測値とした差分値が演算され、その差分値が符号化される。残りの交流成分（ＡＣ成分）は、ブロック内でジグザグスキャンにより、直流成分としてのｓｃａｎ［０］に続いて、ｓｃａｎ［１］乃至ｓｃａｎ［６３］として並びかえられた後、符号化される。
【００２３】
この実施の形態においては、キーデータ記録のために、３つのブロックが選択される。第１のブロックは、キーデータのビットを決定するためのブロックであり、第２のブロックは、第１のブロックで決定されたビットが設定される（書き込まれる）ブロックであり、第３のブロックは、第２のビットを設定したことに起因して発生するミスマッチを抑制するための補正データを書き込むブロックである。
【００２４】
例えば、図２に示すように、第２のブロックを第１のブロックとは異なるマクロブロックのブロックの中から選定し、第３のブロックを第２のブロックと同一のマクロブロックの他のブロックから選択することができる。
【００２５】
また、図３に示すように、第１乃至第３のブロックを同一のマクロブロック内のブロックから選択することもできる。
【００２６】
ただし、第１乃至第３のブロックは、それぞれＤＣ成分の差分を処理する順番に選択される。
【００２７】
すなわち、図４に示すように、ＤＣＴ係数のうち、ＤＣ成分は、直前のＤＣ成分との差分が演算され、その差分値が符号化される。輝度信号の場合、４個のブロックの順番は、左上、右上、左下、右下の順番とされる。従って、左上のブロックのＤＣ成分としては、直前のマクロブロックの右下のブロックのＤＣ成分との差分が符号化され、右上のブロックのＤＣ成分としては、左上のブロックのＤＣ成分との差分が符号化され、左下のブロックのＤＣ成分としては、右上のブロックのＤＣ成分との差分が符号化され、右下のブロックのブロックのＤＣ成分としては、左下のブロックのＤＣ成分との差分が符号化される。
【００２８】
色差信号の場合は、それぞれ直前の対応する色差信号のブロックのＤＣ成分との差分が符号化される。
【００２９】
このように、ＤＣ成分の差分値を符号化するとき、ＤＣ成分は、サイズと、そのサイズで表される実際の値（ＤＣ  Ｄｉｆｆｅｒｅｎｔｉａｌ）で表される。前者は、可変長符号（ＶＬＣ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）とされ、後者は、固定長符号（ＦＬＣ：Ｆｉｘｅｄ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）とされる。
【００３０】
ＤＣ成分のサイズは、例えば、輝度信号の場合、図５（Ａ）に示すように規定されており、色差信号場合、図５（Ｂ）に示すように規定されている。また、例えばＤＣ成分のサイズが３である場合、ＤＣ  Ｄｉｆｆｅｒｅｎｔｉａｌは、図６に示すように規定されている。
【００３１】
従って、例えば輝度信号の場合、ＤＣ成分のサイズが３で、実際の値ｚｚ［０］が−６であるとき、その差分値は、１０１００１で表される。
【００３２】
本実施の形態においては、第２のブロックのＤＣ  ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢが、第１のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢと同一の値に設定することで、キーデータが記録される。例えば、第１のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌが０１０であり、第２のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌが１０１であるとき、その第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢは０に書き換えられ、１００とされる。また、第１のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌが００１であり、第２のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌが０１０であるとき、その第２のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌは、そのＬＳＢが１に書き換えられ、０１１とされる。
【００３３】
その結果、この実施の形態の場合、第２のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの書き換えは、図６において矢印で示すように行われる。例えば、その値が００１であるとき、そのＬＳＢを０に書き換えるとき、その値は０００と書き換えられ、０１０とは書き換えられない。また、例えば、その値が０１０であるとき、書き換え後の値は０１１とされる。逆にその値が０１１である場合、書き換え後の値は０１０とされる。このように、ＬＳＢのみが書き換えられる。
【００３４】
また、第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢが、第１のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢと元々同一である場合、実質的にキーデータがすでに記録されていることになるので、第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢはそのままの値とされる。
【００３５】
このように、第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢ（図６の左側の欄の値）が書き換えられると、ＤＣＴ係数の実際の値（図６の右側の欄の値）が１だけ増加または減少することになる。そこで、このＤＣＴ係数の実際の値の増加または減少を吸収するように、第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの値が補正される。
【００３６】
すなわち、第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを０から１に書き換えた場合、ＤＣＴ係数の実際の値は１だけ増加したことになるので、第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌは、ＤＣＴ係数の実際の値が１だけ減少するように書き換えられ、第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを１から０に書き換えた場合、ＤＣＴ係数の実際の値は１だけ減少したことになるので、第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌは、ＤＣＴ係数の実際の値が１だけ増加するように書き換えられる。
【００３７】
例えば、第２のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの０１０を０１１に書き換えた場合、ＤＣＴ係数の実際の値が−５から−４に１だけ増加するので、例えば、第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌが１１０であったとすれば、これを１０１に書き換えて、ＤＣＴ係数の実際の値を、６から５に１だけ減少させる。同様に、例えば、第２のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの０１１を０１０に書き換えた場合、ＤＣＴ係数の実際の値が−４から−５に１だけ減少するので、例えば、第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌが１１０であったとすれば、これを１１１に書き換えて、ＤＣＴ係数の実際の値を、６から７に１だけ増加させる。
【００３８】
以上のようにして、１つのブロックに１ビットのキーデータが書き込まれることになるので、図７に示すように、ｎビットによりキーデータを構成する場合、ｎ個のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢが書き換えられることになる。ただし、このｎビットのキーデータは、選択した第１のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢにより結果的に規定されるものであって、記録するデータとして、予め用意されるものではない。
【００３９】
次に、このような原理に従って、キーデータを記録再生する場合の装置の構成例について説明する。図８は、エンコーダの構成例を表している。このエンコーダは、図１におけるオリジナルソースから正規のマスタ（磁気テープ、光磁気ディスク、光ディスクなど）を製造するものである。
【００４０】
アナログのビデオ信号は、Ａ／Ｄ変換され、フレームメモリ１に供給され記憶される。フレームメモリ１に記憶されたビデオデータは、そこから読み出され、減算器２を介して、ＤＣＴ回路３に供給される。ＤＣＴ回路３は、入力されたデータをＤＣＴ変換した後、量子化回路４に出力する。量子化回路４は、入力されたＤＣＴ係数を量子化する。
【００４１】
量子化回路４より出力されたデータは、ＶＬＣ回路５に供給されるとともに、逆量子回路６に供給され、逆量子化され、ＩＤＣＴ回路７に供給されるようになされている。ＩＤＣＴ回路７は、入力されたデータを逆ＤＣＴ処理し、加算器８を介して動き補償回路９に出力する。動き補償回路９は、入力されたデータを動きベクトルに対応して動き補償した後、予測メモリ１０に記憶させるようになされている。予測メモリ１０に記憶されたデータは、減算器２に供給され、フレームメモリ１から供給されるデータから減算されるようになされている。また、加算器８で、ＩＤＣＴ回路９からのデータに加算されるようになされている。
【００４２】
動きベクトル検出回路１１は、フレームメモリ１より出力されたデータの動きベクトルを検出し、その検出結果を動き補償回路９に供給している。
【００４３】
次に、その動作について説明する。フレームメモリ１より読み出されたデータは、Ｉピクチャの場合、加算器２を介してそのままＤＣＴ回路３に供給される。これに対して、ＰピクチャまたはＢピクチャの場合、予測メモリ１０に記憶されている動き予測画像との差分が減算器２において求められ、その差分データがＤＣＴ回路３に供給される。
【００４４】
ＤＣＴ回路３は、入力されたデータを各マクロブロックのブロック単位でＤＣＴ変換し、ＤＣＴ係数Ｃｏｅｆｆ［ｕ］［ｖ］に変換する。
【００４５】
量子化回路４は、ＤＣＴ回路３より供給されたＤＣＴ係数Ｃｏｅｆｆ［ｕ］［ｖ］を量子化レベルＱＦ［ｕ］［ｖ］に変換する。そして、図１に示すように、この量子化レベルＱＦ［ｕ］［ｖ］をジグザグスキャンする。
【００４６】
逆量子化回路６は、量子化回路４より出力されたデータを逆量子化する。すなわち、量子化回路４における処理と逆の処理を施す。逆量子化回路６より出力されたデータは、ＩＤＣＴ回路７に入力され、逆ＤＣＴ処理される。すなわち、ＤＣＴ回路３における場合と逆の処理が施される。
【００４７】
ＩＤＣＴ回路７より出力データは、加算器８において予測メモリ１０より供給される予測画像データと加算され、差分データから元のデータに戻される。そして、このデータは動き補償回路９に入力される。動き補償回路９には、動きベクトル検出回路１１より動きベクトルが入力されており、動き補償回路９は、この動きベクトルに対応してＩＤＣＴ回路７より入力されたデータの動き補償を施す。そして、動き補償した後のデータを予測メモリ１０に供給し、記憶させる。このようにして、予測メモリ１０には、動き予測画像が記憶される。
【００４８】
一方、ＶＬＣ回路５は、量子化回路４より入力された量子化レベルＱＦ［ｕ］［ｖ］のデータを可変長符号に変換する。ＶＬＣ回路５により可変長符号化されたデータは、ビットストリームとして図示せぬ装置に供給され、マスタディスクＭＤ（記録媒体）に記録される。
【００４９】
以上のようにエンコーダは、基本的に従来の場合と同様に動作する。
【００５０】
図８に示すエンコーダによりエンコードされたデータは、マスタディスクＭＤに記録される。そして、このマスタディスクＭＤから大量のレプリカディスク（ＲＯＭディスク）を製造する場合、そのマスタディスクＭＤがフォーマッタに供給される。フォーマッタは、提供されたマスタディスクＭＤから大量のディスクを製造する。図９は、このフォーマッタの構成例を表している。
【００５１】
この実施の形態においては、演算回路３２（指定手段）が、メモリ３１に記憶されている所定のキーＫ（キーデータを記録するブロックを決定するためのキーであり、図７に示すｎビットのキーデータとは別個のキーである）と、マスタディスクＭＤを再生して得られるビットストリームに含まれる一部のデータＢを演算し、その演算結果から、上記した第１および第２のブロックを決定するようになされている。検出回路３３は、演算回路３２の出力で指定されるブロックからＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌを検出するようになされている。そして、第１のブロックと第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢ、並びに第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌをメモリ３４に供給し、記憶させる。キーデータ挿入回路３５（書き込み手段）は、検出回路３３より第２のブロックの検出信号の入力を受けたとき、ビットストリーム中の、その第２ブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを、メモリ３４から供給される第１のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢで書き換える処理を実行する。
【００５２】
補正回路３６は、検出回路３３より第３のブロックの検出信号の入力を受けたとき、キーデータ挿入回路３５より供給されるビットストリーム（その第２のブロックにはキーデータが書き込まれている）中の第３のブロックに補正データを書き込む処理を行う。
【００５３】
補正回路３６より出力されたデータは、記録装置３７に供給される。記録装置３７は、入力されたデータを原盤ＯＤに記録し、この原盤ＯＤから大量のレプリカディスクＤが製造される。
【００５４】
判定回路３８（検出手段）は、メモリ３４に記憶された第１のブロックと第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを比較し、その比較結果を制御回路３９（発生手段）に出力する。制御回路３９は、判定回路３８の判定結果に対応する表示を表示装置４０に表示させるとともに、その判定結果に対応して記録装置３７を制御するようになされている。
【００５５】
次に図１０乃至図１２のフローチャートを参照して、ビットストリームを記録したディスクを製造する場合の動作について説明する。
【００５６】
最初にステップＳ１において、演算回路３２はマスタディスクＭＤを再生して得られるビットストリームを所定の位置まで読み込む。そして、ステップＳ２において、演算回路３２は、ＧＯＰ内のＩピクチャのビットストリームの予め定めらてれいる所定のデータを読み取り、これをＢとする。次にステップＳ３に進み、演算回路３２は、メモリ３１に記憶されているキー（Ｋ）を用いて、次式に従ってＸを得る。
Ｘ＝Ｂ／Ｋ
【００５７】
次にステップＳ４において、演算回路３２は、ステップＳ３で演算した値Ｘから第１のブロックと第２のブロックの位置を決定する。例えば、第１のブロックの位置をＸのＭＳＢ側の４ビットで表される位置とし、第２のブロックの位置をＸのＬＳＢ側の４ビットで表される位置とすることができる。
【００５８】
この他、例えば、ＭＳＢ側の６ビットでマクロブロックを指定し、下位２ビットで、そのマクロブロック内のブロックを、第１のブロックとして指定するようにしてもよい。この場合、第２のブロックは、第１のブロックに続くブロックとすることができる。
【００５９】
次に、ステップＳ５に進み、検出回路３３は、第１のブロックまでのビットストリームを読み込む処理を実行する。そして、ステップＳ６において、検出回路３３は、第１のブロックのＤＣ  Ｓｉｚｅを読み込む。そして、検出回路３３は、ステップＳ７において、そのＤＣ  Ｓｉｚｅが０であるか否かを判定し、０でない場合においては、ステップＳ８に進み、ＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを読み取り、これをメモリ３４に出力し、そのＲｅｇｉｓｔｅｒ＿１にセット（記憶）させる。ＤＣ  Ｓｉｚｅが０である場合においては、ステップＳ９に進み、検出回路３３は、０をメモリ３４に出力し、Ｒｅｇｉｓｔｅｒ＿１にセットさせる。すなわち、この場合においては、ＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの値が存在しないのであるが、その値は０であると仮定して、以後の処理を進めるものとする。
【００６０】
次に、検出回路３３は、ステップＳ１０において、第２のブロックまでビットストリームの読み込みを継続し、ステップＳ１１において、検出回路３３は、第２のブロックのＤＣ  Ｓｉｚｅを読み込む。そして、ステップＳ１２において、検出回路３３はＤＣ  Ｓｉｚｅが０であるか否かを判定する。ＤＣ  Ｓｉｚｅが０でなければステップＳ１３に進み、検出回路３３は第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢをメモリ３４に出力し、そのＲｅｇｉｓｔｅｒ＿２にセットさせる。
【００６１】
次にステップＳ１４に進み、メモリ３４のＲｅｇｉｓｔｅｒ＿１とＲｅｇｉｓｔｅｒ＿２に記憶された値（すなわち第１のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢと第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢ）が等しいか否かが検出回路３３で判定される。両者が等しい場合、実質的にキーデータが、すでに書き込まれていることになり、データを変更する必要がないので、ステップＳ２６に進む。
【００６２】
これに対して、ステップＳ１４において、Ｒｅｇｉｓｔｅｒ＿１とＲｅｇｉｓｔｅｒ＿２の値が異なっていると検出回路３３により判定された場合、ステップＳ１５に進み、キーデータ挿入回路３５において第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを、Ｒｅｇｉｓｔｅｒ＿１の値（第１のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢ）で上書きする。すなわち、第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを第１のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢと同一の値に設定する。
【００６３】
以上の処理により、キーデータの１ビット分のデータの書き込みが完了したことになる。このようなキーデータの記録により、例えば、元のビットストリームの復号画像からのずれは、１つのブロックのＤＣ値を８ビットで量子化した場合、１ずれることになり、また、９ビットで量子化した場合、ずれは０．５となり、１０ビット量子化の場合、０．２５、１１ビット量子化の場合、０．１２５となる。そこで、次に、このキーデータの書き込みに起因するミスマッチを抑制するために補正処理を行う。このため、ステップＳ１６において、検出回路３３は、次のブロック（第３のブロック）までビットストリームを読み進み、ステップＳ１７において、検出回路３３は、その第３のブロックのＤＣ  Ｓｉｚｅを読み込む。
【００６４】
検出回路３３は、ステップＳ１８において、第３のブロックのＤＣ  Ｓｉｚｅが０であるか否かを判定する。ＤＣ  Ｓｉｚｅが０であればＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌが存在しないため、補正処理を行うことができない。そこで、ステップＳ１６に戻り、検出回路３３は、さらに次のブロックまでビットストリームを読み進み、そのブロックを第３のブロックとして、ステップＳ１７で、そのＤＣ  Ｓｉｚｅを読み込む。
【００６５】
すなわち、図１３に示すように、最初に、第３のブロックとして、指定されたブロックのＤＣ  Ｓｉｚｅが０であるとき、次のブロックが第３のブロックとして選択される。そして、そのブロックのＤＣ  Ｓｉｚｅが０でなければ、そのブロックが第３のブロックとして選択される。
【００６６】
検出回路３３は、ステップＳ１８において、第３のブロックのＤＣ  Ｓｉｚｅが０ではないと判定した場合、ステップＳ１９に進み、その第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌを読み取り、その読み取った値をメモリ３４のＲｅｇｉｓｔｅｒ＿３に書き込ませる。これにより、第３のブロックの、例えば図６における左側の欄に示す０００乃至１１１の３ビットの値が、Ｒｅｇｉｓｔｅｒ＿３に記憶されたことになる。
【００６７】
次にステップＳ２０において、メモリ３４のＲｅｇｉｓｔｅｒ＿１に記憶した値が０であるか否かが検出回路３３により判定される。その値が０である場合、ステップＳ２１に進み、検出回路３３は、ステップＳ１９でＲｅｇｉｓｔｅｒ＿３に書き込んだ第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの値が
２＾（ＤＣ  Ｓｉｚｅ）−１
と等しいか否か、あるいは
２＾（ＤＣ  Ｓｉｚｅ−１）−１
と等しいか否かを判定する。なお、ここで、＾はべき乗を意味する。
【００６８】
すなわち、いま、Ｒｅｇｉｓｔｅｒ＿１の値が０である（ステップＳ２０）から、第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを１から０に書き換えている（ＤＣＴ係数の実際の値（差分値）を１だけ減少させている）（ステップＳ１５）ことになる。そこで、この減少分を相殺するには、第３のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢに１を加算すればよい（図６に示すように、基本的に、ＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌを１だけ増加すると、ＤＣＴ係数の差分値も１だけ増加する）。この加算処理がステップＳ２２で行われるのであるが、図６に示すように、例えば、第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの値が１１１（ＤＣ  Ｓｉｚｅ＝３として、２３−１＝７＝“１１１”）であるとき  （ＤＣＴ係数の差分値の値が７であるとき）、その値が最大値とされているため、差分値をそれ以上の値に設定することはできない。すなわち、そのブロックは、補正処理を実行する上において、適当なブロックではないということになる。
【００６９】
同様に、Ｒｅｇｉｓｔｅｒ＿３（第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌ）の値が、２＾（ＤＣ  Ｓｉｚｅ−１）−１と等しい場合、すなわちＲｅｇｉｓｔｅｒ＿３の値が２（３−１）−１＝３（＝“０１１”）である時、差分値の  値は−４であり、その値を１だけ増加した−３の値は規定されていないので、その値を１だけ増加する処理を実行することができない。すなわち、このブロックも補正処理を行うブロックとしては不適当である。
【００７０】
このように、ステップＳ２１において、補正のためのブロックとしては不適当であると検出回路３３により判定された場合、ステップＳ１６に戻り、検出回路３３は、次のブロックを第３のブロックとして選択する。
【００７１】
ステップＳ２１において、第３のブロックが補正すべきブロックとして適当であると判定された場合、ステップＳ２２に進み、検出回路３３は、Ｒｅｇｉｓｔｅｒ＿３の記憶値に１を加算させる。そして、ステップＳ２５に進み、補正回路３６は、第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの値として、Ｒｅｇｉｓｔｅｒ＿３に設定されている値を書き込ませる。
【００７２】
一方、検出回路３３は、ステップＳ２０において、Ｒｅｇｉｓｔｅｒ＿１の値が０ではない（１である）と判定した場合、ステップＳ２３に進み、Ｒｅｇｉｓｔｅｒ＿３の値が
２＾（ＤＣ  Ｓｉｚｅ−１）
と等しいか否か、または０と等しいか否かを判定する。
【００７３】
すなわち、いま、Ｒｅｇｉｓｔｅｒ＿１が１であるので、第２のブロックのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢは、０から１に書き換えられている（ＤＣＴ係数の差分値が１だけ増加されている）ことになる。そこで、これを補正するには、ステップＳ２４で、第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌを１だけ減少すればよいのであるが、図６に示すように、ＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌの値が、４（＝２（３−１）＝２２＝４＝“１００”）である場合、差分値は４として規定されており、それより１だけ少ない差分値３は規定されていない。同様に、ＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌが“０００”であるとき、その差分値は−７として規定され、それより１だけ少ない差分値−８は規定されていない。従って、いま、第３ブロックとして選択されているブロックは補正処理を行う上において、適当なブロックではない。そこで、この場合においては、ステップＳ１６に戻り、検出回路３３で次のブロックを第３のブロックとして選択するようにする。
【００７４】
検出回路３３は、ステップＳ２３において、第３のブロックが補正を行うことができるブロックであると判定した場合、ステップＳ２４に進み、Ｒｅｇｉｓｔｅｒ＿３の値を１だけデクリメントする。そして、ステップＳ２５に進み、補正回路３６は、１だけデクリメントした値を第３のブロックのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌに上書きする。
【００７５】
次にステップＳ２６に進み、制御回路３９は、キーデータを記録する処理をまだ続けるか否かを判定し、続ける場合、スタートに戻り、それ以降の処理を繰り返し実行する。この処理が複数回繰り返されることで、図７に示すようなｎビットのキーデータが、メモリ３１に記憶されているキー（Ｋ）で規定される位置のブロックに記録されることになる。
【００７６】
ステップＳ１５で行われる上書き処理は、キーデータ挿入回路３５で行われる。すなわち、キーデータ挿入回路３５は、検出回路３３より第２のブロックであることを表す検出信号が入力されているとき、入力されるビットストリームのＤＣ    ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢに、メモリ３４のＲｅｇｉｓｔｅｒ＿１に記憶されいる値を上書きする。
【００７７】
また、ステップＳ２５における補正処理は、補正回路３６により行われる。すなわち、補正回路３６は、検出回路３３より第３のブロックであることを表す検出信号が入力されているとき、キーデータ挿入回路３５を介して入力されるビットストリームのＤＣ    Ｄｉｆｆｅｒｅｎｔｉａｌを、メモリ３４のＲｅｇｉｓｔｅｒ＿３に記憶されているデータで書き換える。
【００７８】
なお、補正データの書き込みは、必ずしも必要な処理ではなく、省略することが可能である。ただし、省略すると、画像に若干のノイズがでるが、ＬＳＢを書き替えているに過ぎないので、実際には、殆ど視聴者に気付かれるようなことはない。また、ＤＣ成分の差分符号化（ＤＰＣＭ）は、Ｓｌｉｃｅ単位で閉じているので、その影響も、そのブロックが存在するＳｌｉｃｅ内で収まる。
【００７９】
このようにして、キーデータ挿入回路３５と補正回路３６による処理を経たビットストリームは記録装置３７に供給され、原盤ＯＤに記録される。この原盤ＯＤからスタンパが作成され、スタンパから大量のレプリカディスク（ＲＯＭディスク）としてのディスクＤが製造される。
【００８０】
次に、図１４と図１５を参照して、フォーマッタが行う判定処理について説明する。
【００８１】
最初に、ステップＳ４１において、制御回路３９は、変数Ｎを０に初期設定する。次のステップＳ４２乃至Ｓ４５の処理は、図１０のステップＳ１乃至Ｓ４の処理と同様の処理である。すなわち、演算回路３２は、ビットストリームを所定の位置まで読み込み、所定のデータをＢとして読み込む。そして、メモリ３１に記憶されているキーデータＫで、読み取ったデータＢを割算し、その商Ｘから第１のブロックと第２のブロックの位置を決定する。
【００８２】
その後、ステップＳ４６において、検出回路３３は、第１のブロックまでビットストリームを読み進み、ステップＳ４７において、第１のブロックのＤＣ  Ｓｉｚｅを読み込む。検出回路３３は、ステップＳ４８において、ＤＣ  Ｓｉｚｅが０であるか否かを判定し、０でなければ、ステップＳ４９で、第１のブロックのＤＣ  ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢをメモリ３４に供給し、Ｒｅｇｉｓｔｅｒ＿１にセットさせる。ＤＣ  Ｓｉｚｅが０であると判定された場合においては、ステップＳ５０に進み、検出回路３３は、Ｒｅｇｉｓｔｅｒ＿１に０をセットさせる。
【００８３】
次に、検出回路３３は、ステップＳ５１に進み、第２のブロックまでビットストリームを読み進み、ステップＳ５２において、第２のブロックのＤＣ  Ｓｉｚｅを読み込む処理を実行する。
【００８４】
ステップＳ５３において、検出回路３３は、ステップＳ５２で読み取った第２のブロックのＤＣ  Ｓｉｚｅが０であるか否かを判定する。ＤＣ  Ｓｉｚｅが０でなければ、ステップＳ５４に進み、検出回路３３は、第２のブロックのＤＣ  ＤｉｆｆｅｒｅｎｔｉａｌをＲｅｇｉｓｔｅｒ＿２にセットさせる。ステップＳ５５においては、判定回路３８が、ステップＳ４９またはＳ５０において設定されたＲｅｇｉｓｔｅｒ＿１の値と、ステップＳ５４で設定されたＲｅｇｉｓｔｅｒ＿２の値とを比較する。判定回路３８は、この比較の結果、両者が等しくないと判定した場合、その判定結果を制御回路３９に出力する。制御回路３９は、この判定結果が得られたとき、ステップＳ５９に進み、ビットストリームはオリジナルのものであると判定する。そして制御回路３９は、表示装置４０にその旨を表示させるとともに、記録装置３７を制御し、その動作を許容する。これにより、上述したようにして、マスタディスクＭＤより再生されたデータが原盤ＯＤに記録され、さらに多数のディスクＤに記録される。
【００８５】
ステップＳ５５において、Ｒｅｇｉｓｔｅｒ＿１とＲｅｇｉｓｔｅｒ＿２の値が等しいと判定回路３８で判定された場合、制御回路３９は、ステップＳ５６において、変数Ｎを１だけインクリメントする。そして、制御回路３９は、ステップＳ５７で、まだ判定するブロックが残っているか否かをチェックし、さらに判定すべきブロックが存在する場合においては、ステップＳ４２に戻り、それ以降の処理を実行する。すなわち、いまの場合、キーデータの第１ビットの判定が行われた段階なので、再びステップＳ４２に戻り、同様の処理を繰り返し実行する。そして、ｎビットのキーデータについて、同様の判定処理が行われ、ｎビットのデータが一致する場合、ステップＳ５８に進み、制御回路３９は、いま入力されているビットストリームは、確率１−１／２Ｎで不正にコピーされたビ  ットストリームであると判定する。このとき、制御回路３９は、その旨を表示装置４０に出力し、表示させるとともに、記録装置３７を制御し、その記録動作を禁止させる。
【００８６】
なお、ステップＳ５３において、第２のブロックのＤＣ  Ｓｉｚｅが０であると判定された場合、その第２のブロックにはキーデータが記録されていないので、ステップＳ５４乃至Ｓ５６の処理は、スキップされる。
【００８７】
図１６は、図９に示すフォーマッタにより製造されたディスクを再生するプレーヤの構成例を表している。この実施の形態においては、ディスクＤを再生して得られたビットストリームがＶＬＤ（可変長符号復号化回路）６１に入力され、可変長復号化処理されるようになされている。ＶＬＤ６１の出力は、逆量子化回路６２に入力され、逆量子化されるようになされている。逆量子化回路６２の出力は、ＩＤＣＴ回路６３に供給され、ＩＤＣＴ処理されるようになされている。
【００８８】
加算器６４は、ＩＤＣＴ回路６３より供給されたデータと、予測メモリ６６に予め記憶されている予測画像データとを加算し、図示せぬＣＲＴなどの表示装置に出力するようになされている。また、加算器６４の出力するデータは、動き補償回路６５において、動き補償された後、予測メモリ６６に予測画像として記憶されるようになされている。
【００８９】
次に、その動作について説明する。ディスクＤより再生され、出力されたビットストリームは、ＶＬＤ６１に入力され、可変長復号化処理される。逆量子化回路６２は、ＶＬＤ６１より入力された可変長復号化データを逆量子化して、ＩＤＣＴ回路６３に出力する。ＩＤＣＴ回路６３は、入力されたデータをＩＤＣＴ処理し、加算器６４に出力する。加算器６４は、予測メモリ６６より読み出された予測画像データとＩＤＣＴ回路６３より供給されたデータとを加算し、図示せぬＣＲＴなどに出力し、表示させる。
【００９０】
また、加算器６４の出力するデータは、動き補償回路６５で動き補償された後、予測メモリ６６に供給され、予測画像として記憶される。
【００９１】
なお、動き補償回路６５が動き補償を行う上において必要な動きベクトルは、ビットストリームから分離抽出される。
【００９２】
以上の処理をまとめると、図１７に示すようになる。すなわち、オリジナルのソースから得られるデータを、エンコーダにより、磁気テープあるいは高密度の光磁気ディスク（ＭＤ）に記録し、正規のマスタ（上記した実施の形態の場合、マスタディスクＭＤ）を得る。この処理は、通常、放送局、スタジオなどで行われる。
【００９３】
このように、正規のマスタに記録したデータを大量のディスクに記録する場合、そのマスタがフォーマッタに提供される。フォーマッタは、このマスタを再生し、原盤に記録する。そして、このとき、ＤＣ  Ｄｉｆｆｅｒｅｎｔｉａｌにキーデータを記録する。このようにして、ビットストリームが記録された原盤から、スタンパを作成し、そのスタンパから大量のレプリカディスクを複製する。このレプリカディスクが一般のユーザに売物として販売される。ユーザは、図１６に示すプレーヤによって、このディスクを再生することができる。
【００９４】
また、この売物のディスクをフォーマッタに持ち込み、大量のディスクの製造が依頼される場合がある。あるいはまた、このディスクから、さらにマスタテープやマスタの光磁気ディスクが製造され、大量のディスクの製造がフォーマッタに依頼される場合がある。この場合も、フォーマッタは、上述した場合と同様に、マスタを再生し、ビットストリームを得る。しかしながら、このビットストリームには、キーデータが記録されているので、上述した図１４と図１５のフローチャートに示す判定処理により、キーデータが検出される。その結果、表示装置４０に、そのビットストリームがフォーマッタにより一旦製造されたディスクからコピーされたものであることが表示されるとともに、記録装置３７が制御装置３９により制御され、記録動作が禁止される。これにより、不正コピーが防止される。
【００９５】
ただし、フォーマッタが、この不正なマスタから大量のレプリカディスクを製造し、そのディスクが一般ユーザに販売されれば、一般ユーザは、正規のディスクと同様に、これを再生することが可能となる。
【００９６】
すなわち、この実施の形態の場合、一般ユーザは、正規のディスクでも、不正にコピーされたディスクでも、再生ができなくなるようなことはなく、不正なコピーの防止は、フォーマッタの責任において実行される。
【００９７】
ＤＣ成分の差分符号化（ＤＰＣＭ）は、Ｓｌｉｃｅ単位で閉じている。このため、第２のブロックの位置をＳｌｉｃｅの最後と指定すれば、差分符号化（ＤＰＣＭ）によるＤＣ成分のずれは、それ以降のブロックには伝播しない。このため、この場合には、第３のブロックの補正処理は不要となる。
【００９８】
また、第１のブロックと第２のブロックは、ともに輝度（Ｙ）信号または色差（Ｃｂ，Ｃｒ）信号の同種のブロックとしてもよいが、例えば、第１のブロックを輝度信号のブロックとし、第２のブロックを色差信号のブロックとすることも可能である。ただし、第２のブロックと第３のブロックの種類は、補正の関係上、一致している必要がある。
【００９９】
また、上記実施の形態においては、第２のブロックのＤＣ  ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢを、第１のブロックのＤＣ  ＤｉｆｆｅｒｅｎｔｉａｌのＬＳＢと一致させるようにしたが、予め設定したキーデータを記録する場合には、第１のブロックは不要となり、第２のブロックに直接予め設定されているキーデータを記録し、第３のブロックでこれを補正するようにすればよい。
【０１００】
上記実施の形態においては、ＤＣ  Ｄｉｆｆｅｒｅｎｔｉａｌにキーデータを記録するようにしたが、Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ（動きベクトル）の差分値を符号化したコードの中のＭｏｔｉｏｎ＿ｒｅｓｉｄｕａｌ（ＦＬＣ）を用いることも可能である。
【０１０１】
すなわち、ＭＰＥＧ方式においては、図８を参照して説明したように、動きベクトル検出回路１１でＰピクチャおよびＢピクチャの動きベクトルを検出し、これを符号化してビットストリーム中に含めて伝送するようになされている。このＭｏｔｉｏｎ  Ｖｅｃｔｏｒは、図１８に示すようなＶＬＣとされるＭｏｔｉｏｎ＿ｃｏｄｅと、ＦＬＣとしてのＭｏｔｉｏｎ＿ｒｅｓｉｄｕａｌで表される。Ｍｏｔｉｏｎ＿ｃｏｄｅは、Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒの大まかな値を表し、Ｍｏｔｉｏｎ＿ｒｅｓｉｄｕａｌは、細かな値を表すための補正値を表す。また、ｆ＿ｃｏｄｅは、Ｍｏｔｉｏｎ＿ｃｏｄｅの精度（倍率）を表している。
【０１０２】
例えば、ｆ＿ｃｏｄｅが１の場合、Ｍｏｔｉｏｎ＿ｃｏｄｅは０．５精度の値を表す。これにより、充分細かな値が表されるので、この場合、Ｍｏｔｉｏｎ＿ｒｅｓｉｄｕａｌは使用されない。
【０１０３】
ｆ＿ｃｏｄｅが２である場合、Ｍｏｔｉｏｎ＿ｃｏｄｅは整数精度を表し、Ｍｏｔｉｏｎ＿ｒｅｓｉｄｕａｌは、０．５精度の値を表す。すなわち、このとき、Ｍｏｔｉｏｎ＿ｒｅｓｉｄｕａｌは、０または０．５を示す１ビットのＦＬＣで表される。
【０１０４】
さらに、ｆ＿ｃｏｄｅが３である場合、Ｍｏｔｉｏｎ＿ｃｏｄｅは２の倍数の精度の値を表し、Ｍｏｔｉｏｎ＿ｒｅｓｉｄｕａｌは、０，０．５，１．０または１．５を表す２ビットのＦＬＣとなる。
【０１０５】
なお、ＤＣ  Ｄｉｆｆｅｒｅｎｔｉａｌの場合と同様に、Ｍｏｔｉｏｎ＿ｃｏｄｅが０である場合、Ｍｏｔｉｏｎ＿ｒｅｓｉｄｕａｌは存在しない。
【０１０６】
このようなＦＬＣであるＭｏｔｉｏｎ＿ｒｅｓｉｄｕａｌに、上述したＤＣ  Ｄｉｆｆｅｒｅｎｔｉａｌの場合と同様に、不正コピーを防止するためのキーデータを記録するようにすることができる。
【０１０７】
なお、Ｍｏｔｉｏｎ＿ｒｅｓｉｄｕａｌはＰピクチャとＢピクチャに存在するが、ＢピクチャのＭｏｔｉｏｎ＿ｒｅｓｉｄｕａｌを用いるようにすれば、Ｂピクチャは他のピクチャの予測に用いられることがないので、キーデータ挿入による他のピクチャへの影響を防止することができる。
【０１０８】
上記実施の形態においては、キーデータをｎビットにより構成するようにしたが、このｎビットのデータは、１つの画面（ピクチャ）内に配置するようにしてもよいし、複数の画面（ピクチャ）内に分散して配置するようにすることもできる。
【０１０９】
また、上記実施の形態においては、所定のブロックを演算により求めるようにしたが、その演算式は、必要に応じて、適宜変更するようにすることもできる。
【０１１０】
また、所定のブロックを演算により求める代わりに、パターンＲＯＭに予め記憶するようにすることも可能である。
【０１１１】
これらの実施の形態は、次のような特徴を有する。
【０１１２】
（１）ＭＰＥＧ  Ｖｉｄｅｏとしての規格を満足している。
【０１１３】
（２）ビットストリーム中の、規格上、常にＦＬＣとされる符号中にキーデータを挿入するので、エンコーダにおける処理が全く不要となる。その結果、不正コピーをより確実に防止することができる。何故ならば、通常、エンコーダは、スタジオ等に載置され、その数も比較的多くなる。これに対して、ディスクを大量に製造するフォーマッタは、比較的規模の大きな設備を必要とし、通常、メーカなどが所有し、その数はエンコーダよりはるかに少ない。
【０１１４】
（３）ＦＬＣ中にキーデータを挿入するので、ビットストリームの長さが変化しない。ＶＬＣ中にキーデータを挿入するようにすると、ビットストリームの長さが変化するので、エンコーダ側が、デコーダ側のバッファとして想定しているＶＢＶ（Ｖｉｄｅｏ  Ｂｕｆｆｅｒｉｎｇ  Ｖｅｒｉｆｉｅｒ）バッファのアンダフローとオーバフローを防止することができなくなる。
【０１１５】
（４）ＦＬＣ中の下位のビットを書き換えるだけなので、画像に与えるノイズは実質的には、無視することができる。
【０１１６】
（５）データ中にキーデータが存在するため、キーデータの解読が困難である。
【０１１７】
以上、本発明をＭＰＥＧ方式でデータを圧縮する場合を例として説明したが、本発明はＪＰＥＧ方式（ただし、Ｍｏｔｉｏｎ＿ｒｅｓｉｄｕａｌについてはＪＰＥＧ方式には規定がない）でデータを圧縮する場合にも適用することが可能である。
【０１１８】
さらにデータを直交変換する方法としては、ＤＣＴ以外の方法を用いることも可能である。
【０１１９】
【発明の効果】
以上の如く、本発明のデータ記録装置および方法によれば、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、固定長符号化されている符号を指定し、指定された固定長符号化されている符号の少なくとも一部に、不正コピー防止のキーデータを書き込むようにしたので、簡単かつ確実に不正コピーを防止することが可能となる。また、エンコードの段階において、特別な処理を施す必要がないため、既存のビットストリームに対しても適用することが可能となる。
【０１２０】
本発明の不正コピー防止装置および方法によれば、可変長符号化と固定長符号化とを用いる所定の符号化方法に基づいて変換されたビットストリームから、所定の固定長符号化されている符号を読み出し、その符号に埋め込まれている不正コピー防止のキーデータを検出し、検出結果を表示するようにしたので、同様の効果を奏することができる。
【図面の簡単な説明】
【図１】本発明の不正コピー防止の原理を説明する図である。
【図２】第１乃至第３のブロックの選択を説明する図である。
【図３】第１乃至第３のブロックの選択を説明する他の図である。
【図４】ＤＣＴ係数のＤＣ成分の符号化を説明する図である。
【図５】ＤＣＴ係数のＤＣ成分のサイズの符号を説明する図である。
【図６】ＤＣＴ係数のＤＣ成分の差分の符号を説明する図である。
【図７】キーデータを説明する図である。
【図８】エンコーダの構成例を示すブロック図である。
【図９】フォーマッタの構成例を示すブロック図である。
【図１０】図９の実施の形態の記録時の動作を説明するフローチャートである。
【図１１】図１０に続くフローチャートである。
【図１２】図１１に続くフローチャートである。
【図１３】図１２のステップＳ１８の処理を説明する図である。
【図１４】図９の実施の形態の判定処理を説明するフローチャートである。
【図１５】図１４に続くフローチャートである。
【図１６】プレーヤの構成例を示すブロック図である。
【図１７】本発明におけるキーデータの記録の原理を説明する図である。
【図１８】ｍｏｔｉｏｎ＿ｃｏｄｅを説明する図である。
【符号の説明】
３１  メモリ，  ３２  演算回路，  ３３  検出回路，  ３４  メモリ，  ３５  キーデータ挿入回路，  ３６  補正回路，  ３７  記録装置，  ３８  判定回路，  ３９  制御回路，  ４０  表示装置
【図１】
0003546982.tif 000002
【図２】
0003546982.tif 000003
【図３】
0003546982.tif 000004
【図４】
0003546982.tif 000005
【図５】
0003546982.tif 000006
【図６】
0003546982.tif 000007
【図７】
0003546982.tif 000008
【図８】
0003546982.tif 000009
【図９】
0003546982.tif 000010
【図１０】
0003546982.tif 000011
【図１１】
0003546982.tif 000012
【図１２】
0003546982.tif 000013
【図１３】
0003546982.tif 000014
【図１４】
0003546982.tif 000015
【図１５】
0003546982.tif 000016
【図１６】
0003546982.tif 000017
【図１７】
0003546982.tif 000018
【図１８】
0003546982.tif 000019