(57)【特許請求の範囲】
【請求項１】
コンテンツの移動の開始時に、一時カウンタを生成する一時カウンタ生成ステップと、
前記一時カウンタを初期化する一時カウンタ初期化ステップと、
前記一時カウンタの初期化の位置まで前記コンテンツをシークするコンテンツシークステップと、
前記初期化の位置から前記コンテンツの移動を繰り返す繰返しステップと
を備え、
前記繰返しステップは、
コンテンツからパラメータを読み出すパラメータ読出しステップと、
今回の繰返しで読み出したパラメータが、前回の繰返しステップで読み出したパラメータと異なっている場合には、今回の繰返しで読み出したパラメータに対応する値に前記一時カウンタを更新し、更に、前記コンテンツの対応する所定単位部分を再生可能化するための処理を行う更新ステップと、
コンテンツの所定単位部分を読み出し、該所定単位部分を前記パラメータを用いて生成された暗号鍵で暗号解読して出力するステップと、
を備えることを特徴とするコンテンツ移動方法。
【請求項２】
請求項１に記載のコンテンツ移動方法において、
前記一時カウンタは、カウント範囲分の数のビットを備え、
前記一時カウンタの初期化とは、初期化値に対応した数のビットを第１の値にして残りのビットを第２の値にする処理であり、
前記一時カウンタの更新とは、１つのビットを第１の値から第２の値に変化させる処理であることを特徴とするコンテンツ移動方法。
【請求項３】
請求項２に記載のコンテンツ移動方法において、
前記繰返しステップが終了したならば、前記一時カウンタのカウント値を記憶部に格納するステップと、
前記一時カウンタを破棄するステップと、
を更に備えることを特徴とするコンテンツ移動方法。
【請求項４】
請求項３に記載のコンテンツ移動方法において、
前記一時カウンタ初期化ステップでは、現在、前記記憶部に格納されているカウント値により、前記一時カウンタを初期化することを特徴とするコンテンツ移動方法。
【請求項５】
請求項１に記載のコンテンツ移動方法において、
前記移動の開始時に、前記一時カウンタが存在する場合には、
前記一時カウンタのカウント値を記憶部に格納する一時カウント値格納ステップと、
前記一時カウンタのカウント値の位置まで前記コンテンツをシークする第２コンテンツシークステップと、
を更に備えることを特徴とするコンテンツ移動方法。
【請求項６】
コンテンツの再生の開始時に、一時カウンタを生成する一時カウンタ生成ステップと、
前記一時カウンタを初期化する一時カウンタ初期化ステップと、
前記一時カウンタの初期化の位置以降の位置までコンテンツをシークするコンテンツシークステップと、
シーク後の位置から前記コンテンツの再生を繰り返す繰返しステップと、
を備え、
前記繰返しステップは、
前記コンテンツからパラメータを読み出すパラメータ読出しステップと、
前記コンテンツの所定単位部分を読み出し、該所定単位部分を前記パラメータを用いて生成された暗号鍵で暗号解読して出力するステップと、
を備えることを特徴とするコンテンツ再生方法。
【請求項７】
請求項６に記載のコンテンツ再生方法において、
前記一時カウンタ初期化ステップでは、現在、記憶部に格納されているカウント値により、前記一時カウンタを初期化することを特徴とするコンテンツ再生方法。
【請求項８】
請求項６に記載のコンテンツ再生方法において、
前記移動の開始時に、前記一時カウンタが存在する場合には、
前記一時カウンタのカウント値を記憶部に格納する一時カウント値格納ステップと、
前記一時カウンタのカウント値の位置以降の位置までコンテンツをシークする第２コンテンツシークステップと、
を更に備えることを特徴とするコンテンツ再生方法。
【請求項９】
コンテンツの記録の開始時に、一時カウンタを生成する一時カウンタ生成ステップと、
前記一時カウンタを初期化する一時カウンタ初期化ステップと、
前記一時カウンタの初期化の位置までコンテンツをシークするコンテンツシークステップと、
暗号化シードを生成するステップと、
前記暗号化シードを記憶部に格納する暗号化シード格納ステップと、
内部カウンタを初期値にする内部カウンタ初期化ステップと、
前記暗号化シードと前記初期値の内部カウンタとを基に暗号鍵を生成する暗号鍵初期化ステップと、
前記初期化の位置から前記コンテンツの記録を繰り返す第１繰返しステップと、
前記内部カウンタと前記一時カウンタの処理を繰り返す第２繰返しステップと、
前記第２繰返しステップの実行の後に実行される前記一時カウンタを削除する一時カウンタ削除ステップと、
を備え、
前記第１繰返しステップは、
暗号鍵更新のタイミングが来た時に、前記内部カウンタを更新する内部カウンタ更新ステップと、
暗号鍵更新のタイミングが来た時に、更に、前記暗号化シードと更新された内部カウンタを基に新たな暗号鍵を生成する暗号鍵生成ステップと、
暗号鍵更新のタイミングが来た時に、更に、前記一時カウンタを更新する一時カウンタ更新ステップと、
現在の前記暗号鍵でコンテンツを暗号化するコンテンツ暗号化ステップと、
暗号化されたコンテンツに前記内部カウンタの値を挿入する内部カウンタ挿入ステップと、
暗号化され、且つ、内部カウンタが挿入されたコンテンツを記録媒体に格納するコンテンツ格納ステップと、
を備え、
前記第２繰返しステップは、
暗号鍵更新のタイミングが来た時に、前記内部カウンタを更新する内部カウンタ更新ステップと、
暗号鍵更新のタイミングが来た時に、更に、前記一時カウンタを更新する第２の一時カウンタ更新ステップと、
を備えることを特徴とするコンテンツ記録方法。
【請求項１０】
請求項９に記載のコンテンツ記録方法において、
前記一時カウンタは、カウント範囲分の数のビットを備え、
前記一時カウンタの初期化とは、初期化値に対応した数のビットを第１の値にして残りのビットを第２の値にする処理であり、
前記一時カウンタの更新とは、１つのビットを第１の値から第２の値に変化させる処理であることを特徴とするコンテンツ記録方法。
【請求項１１】
請求項１０に記載のコンテンツ記録方法において、
前記一時カウンタのカウント範囲分のビットの数は、コンテンツの全範囲より少ない範囲に対応しており、
前記一時カウンタのビット数の不足を補うためにオフセットカウンタが設けられ、
前記一時カウンタ更新ステップと前記第２の一時カウンタ更新ステップそれぞれの次に実行されるオフセット処理ステップを更に備え、
オフセット処理ステップは、
前記一時カウンタを初期化し、暗号鍵シード記憶部に格納されているカウントを変化させることを特徴とするコンテンツ記録方法。
【請求項１２】
請求項９に記載のコンテンツ記録方法において、
前記記録の開始時に、一時カウンタが存在する場合に、
前記一時カウンタのカウント値を内部カウント値とする内部カウント値設定ステップを更に備え、
前記内部カウント設定ステップの実行の後に前記暗号鍵生成ステップが実行されることを特徴とするコンテンツ記録方法。
【請求項１３】
請求項１２に記載のコンテンツ記録方法において、
前記一時カウンタのカウント範囲分のビットの数は、コンテンツの全範囲より少ない範囲に対応しており、
前記一時カウンタのビット数の不足を補うためにオフセットカウンタが設けられ、
前記一時カウンタのカウント値を内部カウント値とする内部カウント値設定ステップでは、更に、内部カウンタ値に前記オフセットカウンタの値が加算されることを特徴とするコンテンツ記録方法。
【請求項１４】
記録の開始時に、一時カウンタを生成する一時カウンタ生成ステップと、
前記一時カウンタを初期化する一時カウンタ初期化ステップと、
前記一時カウンタの初期化の位置までコンテンツをシークするコンテンツシークステップと、
暗号化シードを生成するステップと、
前記暗号化シードを暗号鍵シード記憶部に格納する暗号化シード格納ステップと、
内部カウンタを初期値にする内部カウンタ初期化ステップと、
前記暗号化シードと前記初期値の内部カウンタとを基に暗号鍵を生成する暗号鍵初期化ステップと、
前記初期化の位置から前記コンテンツの記録を繰り返す第１繰返しステップと、
前記内部カウンタと、前記一時カウンタの処理を繰り返す第２繰返しステップと、
前記第２繰返しステップの実行の後に実行される前記一時カウンタを削除する一時カウンタ削除ステップと、
を備え、
前記第１繰返しステップは、
暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定するステップと、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とするステップと、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とするステップと、
暗号鍵更新のタイミングが来た時に、更に、前記暗号化シードと更新された内部カウンタを基に新たな暗号鍵を生成する暗号鍵生成ステップと、
現在の前記暗号鍵でコンテンツを暗号化するコンテンツ暗号化ステップと、
暗号化されたコンテンツに前記内部カウンタの値を挿入する内部カウンタ挿入ステップと、
暗号化され、且つ、内部カウンタが挿入されたコンテンツを記録媒体に格納するコンテンツ格納ステップと、
を備え、
前記第２繰返しステップは、
暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定するステップと、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とするステップと、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とするステップと、
を備えることを特徴とするコンテンツ記録方法。
【請求項１５】
請求項１４に記載のコンテンツ記録方法において、
前記一時カウンタは、カウント範囲分の数のビットを備え、
前記一時カウンタの初期化とは、初期化値に対応した数のビットを第１の値にして残りのビットを第２の値にする処理であり、
前記一時カウンタの更新とは、１つのビットを第１の値から第２の値に変化させる処理であることを特徴とするコンテンツ記録方法。
【請求項１６】
請求項１４に記載のコンテンツ記録方法において、
前記記録の開始時に、一時カウンタが存在する場合に、
暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定するステップと、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とするステップと、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とするステップと、
を更に備え、
それらのステップの実行の後に、前記暗号鍵生成ステップが実行されることを特徴とするコンテンツ記録方法。
【請求項１７】
コンテンツの記録が開始された時に始まり、前記コンテンツの記録が終了してから所定時間経過した時に終了する期間に存在する一時カウンタであって、該期間では、前記コンテンツの始まりからの経過時間を表す一時カウンタが現在実際に存在する場合にのみコンテンツ再生ステップが実行され、
前記コンテンツ再生ステップは、
一時カウンタのカウント値を読み出す一時カウント読出しステップと、
読み出された一時カウント値を内部カウント値とする内部カウント値設定ステップと、
前記コンテンツの現在位置に挿入されているカウント値が前記内部カウント値からタイムシフト許容時間に対応するカウントだけ減じた値未満であれば、前記コンテンツの現在位置に挿入されているカウント値が前記内部カウント値からタイムシフト許容時間に対応するカウントだけ減じた値になるまで、前記コンテンツをシークするシークステップと、
前記コンテンツの現在位置からカウント値を読み出すカウント読出しステップと、
前記カウント値を用いて前記コンテンツの暗号解読を行い、暗号解読後のコンテンツを出力するコンテンツ出力ステップと、
を備えることを特徴とするコンテンツ再生方法。
【請求項１８】
請求項１７に記載のコンテンツ再生方法において、
前記一時カウンタのみでは、前記コンテンツの全範囲を扱うことができず、
前記内部カウント値設定ステップでは、読み出された一時カウント値に何度目の内部カウント値の利用であるかの回数に対応するオフセット値を加算した値を前記内部カウント値とすることを特徴とするコンテンツ再生方法。
【請求項１９】
コンテンツの移動の開始時に、一時カウンタを生成する一時カウンタ生成手段と、
前記一時カウンタを初期化する一時カウンタ初期化手段と、
前記一時カウンタの初期化の位置まで前記コンテンツをシークするコンテンツシーク手段と、
前記初期化の位置から前記コンテンツの移動を繰り返す繰返し手段と
を備え、
前記繰返し手段は、
コンテンツからパラメータを読み出すパラメータ読出し手段と、
今回の繰返しで読み出したパラメータが、前回の繰返し手段で読み出したパラメータと異なっている場合には、今回の繰返しで読み出したパラメータに対応する値に前記一時カウンタを更新し、更に、前記コンテンツの対応する所定単位部分を再生可能化するための処理を行う更新手段と、
コンテンツの所定単位部分を読み出し、該所定単位部分を前記パラメータを用いて生成された暗号鍵で暗号解読して出力する手段と、
を備えることを特徴とするコンテンツ移動装置。
【請求項２０】
コンテンツの再生の開始時に、一時カウンタを生成する一時カウンタ生成手段と、
前記一時カウンタを初期化する一時カウンタ初期化手段と、
前記一時カウンタの初期化の位置以降の位置までコンテンツをシークするコンテンツシーク手段と、
シーク後の位置から前記コンテンツの再生を繰り返す繰返し手段と、
を備え、
前記繰返し手段は、
前記コンテンツからパラメータを読み出すパラメータ読出し手段と、
前記コンテンツの所定単位部分を読み出し、該所定単位部分を前記パラメータを用いて生成された暗号鍵で暗号解読して出力する手段と、
を備えることを特徴とするコンテンツ再生装置。
【請求項２１】
コンテンツの記録の開始時に、一時カウンタを生成する一時カウンタ生成手段と、
前記一時カウンタを初期化する一時カウンタ初期化手段と、
前記一時カウンタの初期化の位置までコンテンツをシークするコンテンツシーク手段と、
暗号化シードを生成する手段と、
前記暗号化シードを記憶部に格納する暗号化シード格納手段と、
内部カウンタを初期値にする内部カウンタ初期化手段と、
前記暗号化シードと前記初期値の内部カウンタとを基に暗号鍵を生成する暗号鍵初期化手段と、
前記初期化の位置から前記コンテンツの記録を繰り返す第１繰返し手段と、
前記一時カウンタと前記内部カウンタの処理を繰り返す第２繰返し手段と、
前記第２繰返し手段の動作の後に動作する前記一時カウンタを削除する一時カウンタ削除手段と、
を備え、
前記第１繰返し手段は、
暗号鍵更新のタイミングが来た時に、前記内部カウンタを更新する内部カウンタ更新手段と、
暗号鍵更新のタイミングが来た時に、更に、前記暗号化シードと更新された内部カウンタを基に新たな暗号鍵を生成する暗号鍵生成手段と、
暗号鍵更新のタイミングが来た時に、更に、前記一時カウンタを更新する一時カウンタ更新手段と、
現在の前記暗号鍵でコンテンツを暗号化するコンテンツ暗号化手段と、
暗号化されたコンテンツに前記内部カウンタの値を挿入する内部カウンタ挿入手段と、
暗号化され、且つ、内部カウンタが挿入されたコンテンツを記録媒体に格納するコンテンツ格納手段と、
を備え、
前記第２繰返し手段は、
暗号鍵更新のタイミングが来た時に、前記内部カウンタを更新する内部カウンタ更新手段と、
暗号鍵更新のタイミングが来た時に、更に、前記一時カウンタを更新する第２の一時カウンタ更新手段と、
を備えることを特徴とするコンテンツ記録装置。
【請求項２２】
記録の開始時に、一時カウンタを生成する一時カウンタ生成手段と、
前記一時カウンタを初期化する一時カウンタ初期化手段と、
前記一時カウンタの初期化の位置までコンテンツをシークするコンテンツシーク手段と、
暗号化シードを生成する手段と、
前記暗号化シードを暗号鍵シード記憶部に格納する暗号化シード格納手段と、
内部カウンタを初期値にする内部カウンタ初期化手段と、
前記暗号化シードと前記初期値の内部カウンタとを基に暗号鍵を生成する暗号鍵初期化手段と、
前記初期化の位置から前記コンテンツの記録を繰り返す第１繰返し手段と、
前記一時カウンタと前記内部カウンタの処理を繰り返す第２繰返し手段と、
前記第２繰返し手段の動作の後に動作する前記一時カウンタを削除する一時カウンタ削除手段と、
を備え、
前記第１繰返し手段は、
暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定する手段と、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とする手段と、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とする手段と、
暗号鍵更新のタイミングが来た時に、更に、前記暗号化シードと更新された内部カウンタを基に新たな暗号鍵を生成する暗号鍵生成手段と、
現在の前記暗号鍵でコンテンツを暗号化するコンテンツ暗号化手段と、
暗号化されたコンテンツに前記内部カウンタの値を挿入する内部カウンタ挿入手段と、
暗号化され、且つ、内部カウンタが挿入されたコンテンツを記録媒体に格納するコンテンツ格納手段と、
を備え、
前記第２繰返し手段は、
暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定する手段と、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とする手段と、
暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とする手段と、
を備えることを特徴とするコンテンツ記録装置。
【請求項２３】
コンテンツの記録が開始された時に始まり、前記コンテンツの記録が終了してから所定時間経過した時に終了する期間に存在する一時カウンタであって、該期間では、前記コンテンツの始まりからの経過時間を表す一時カウンタが現在実際に存在する場合にのみコンテンツ再生手段が動作し、
前記コンテンツ再生手段は、
一時カウンタのカウント値を読み出す一時カウント読出し手段と、
読み出された一時カウント値を内部カウント値とする内部カウント値設定手段と、
前記コンテンツの現在位置に挿入されているカウント値が前記内部カウント値からタイムシフト許容時間に対応するカウントだけ減じた値未満であれば、前記コンテンツの現在位置に挿入されているカウント値が前記内部カウント値からタイムシフト許容時間に対応するカウントだけ減じた値になるまで、前記コンテンツをシークするシーク手段と、
前記コンテンツの現在位置からカウント値を読み出すカウント読出し手段と、
前記カウント値を用いて前記コンテンツの暗号解読を行い、暗号解読後のコンテンツを出力するコンテンツ出力手段と、
を備えることを特徴とするコンテンツ再生装置。
【請求項２４】
請求項１乃至１８の何れか１項に記載の方法をコンピュータに行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コピーワンス又はコピーネバーのコンテンツのコピーをコントロールするためのコンテンツ記録方法、コンテンツ移動装置及びコンテンツ再生方法並びにこれらの装置に関する。
【背景技術】
【０００２】
デジタル画像データがＤＶＤ(Digital Versatile Disc)やデジタル放送により一般視聴者に供給されるようになってきている。デジタル画像データは劣化を伴わずにコピーすることが可能であるので、著作権保護の観点から、コピーコントロールシステムが導入されている。コピーコントロールシステムにおいては、コピーコントロール信号として、コピーフリー、コピーワンス及びコピーネバーが用意されている。ユーザは、コピーフリーのコンテンツを自由にコピーすることができる。また、ユーザは、コピーワンスのコンテンツのコピーを１つのみ保有することができ、他の記録媒体にコンテンツをコピーする場合には、元の記録媒体からコンテンツを削除しなければならない。更に、ユーザは、コピーネバーのコンテンツを記録媒体に記録することはできない。但し、ユーザは、コピーネバーのコンテンツを例えば９０分以内の範囲でタイムシフト再生するために、一時的にコンテンツを記録媒体に記録することは許されている。
【０００３】
特許文献1の発明は、コンテンツの移動を行う際に、移動元のコンテンツのうちの移動が行われた部分に逐次マーカを付け、一度マーカが付けられた部分は再度読み出さないようにすることにより、不正なコピーを防止する。しかし、マーカが付けられた部分を再度読み出さないような機能を有する装置以外の装置は、マーカが付けられた部分を読み出すことが可能であるので、不正なコピーを完全に防止することができない。
【０００４】
特許文献２の発明は、コンテンツデータベースを介して、あるフラッシュメモリに格納されていたコンテンツをそのフラッシュメモリのみならず他のフラッシュメモリにも格納できてしまうこと、を防止する。しかし、コピーワンスにおけるコンテンツの途中までの移動やコピーネバーに対応することができない。
【０００５】
特許文献３の発明は、再生可能条件を利用して、１つのコンテンツ内の移動済みの部分と未移動の部分を識別し、移動済みの部分の移動を禁止する。しかし、再生可能条件がコンテンツと一緒にハードディスクドライブに格納されるので、ハードディスクドライブのバックアップ、コンテンツの移動及びハードディスクドライブのリストアを順に行うことにより、不正なコピーが可能になってしまう。
【０００６】
特許文献４の発明は、各コンテンツを暗号化／復号化するための各コンテンツ毎のタイトル鍵をシステム鍵で暗号化して暗号化領域に格納し、コンテンツの再生を行ったならばシステム鍵を更新して、更新されたシステム鍵によりタイトル鍵を暗号化し直して暗号化領域に格納することにより、コンテンツのバックアップ、コンテンツの移動及びコンテンツのリストアを行うことによるコンテンツの不正コピーを防止する。しかし、更新前のシステム鍵と更新後のシステム鍵との関係が不明である。
【０００７】
特許文献５乃至８の発明は、コンテンツを単位ブロック毎に異なった暗号鍵で暗号化し、暗号化されたコンテンツを記録媒体に記録し、暗号鍵をその記録媒体と一体的に設けられたメモリに格納する。しかし、これは、メモリーＩＣ付きのビデオテープカセットを想定したものであるため、コンテンツをハードディスクドライブやＤＶＤとした場合には、記録媒体と一体的に設けられたメモリとはどのようなものであるのかが不明となる。また、ＡＲＩＢによればコピーネバーのコンテンツであっても受信から９０分以内であれば、ランダムアクセスしたり複数回再生することが許されているのであるが、特許文献５乃至８の発明によれば、１度再生した箇所はその後二度と再生できなくなるので、ユーザに不利益を与える。
【０００８】
また、特許文献７及び８の発明によれば、前のブロックの平文を利用して現在のブロックの暗号化のための暗号鍵を生成するので、再生された平文にエラーが含まれている場合に正しい暗号鍵を復元することができない。
【特許文献１】特開２００２−２９０９０５号公報
【特許文献２】特開２００１−５１９０６号公報
【特許文献３】特開２００３−２７２２８９号公報
【特許文献４】特開２００３−２２６１２号公報
【特許文献５】特開２００３−１９５７５１号公報
【特許文献６】特開２００３−１９５７５２号公報
【特許文献７】特開２００３−１９５７５３号公報
【特許文献８】特開２００３−１９５７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
コピーワンスのコンテンツの場合、ユーザが移動したコンテンツを安易な方法で復元することを防ぐ必要がある。安易な方法の１つとしては、例えばハードディスク全体の内容を完全にバックアップしておき、ハードディスクからコンテンツを他の記録媒体へ移動した後にハードティスク全体をリストアすることにより、移動したコンテンツを復元することが存在する。また、安易な方法の他の１つとしては、コンテンツの移動処理が終了して、移動元のコンテンツを無効化する処理に入る直前に意図的に電源を切断することで移動元の番組データの無効化処理を妨害するといった方法が存在する。
【００１０】
逆に、ユーザが意図しない中断動作が行われることは望ましくない。例えば、コンテンツの移動中に停電等が発生した場合に移動するコンテンツが破壊されることは望ましくない。
【００１１】
また、コピーネバーのコンテンツをタイムシフト再生するためには、記録から所定時間経過後のコンテンツを適切に再生不能になるように無効化する必要がある。
【００１２】
そこで、上述したような不正コピーを防止すると共に、正当な利用をした場合に不当にコンテンツの再生又はコピーができなくなることを防止する必要がある。
【００１３】
また、上記の必要性を満たすためにフラッシュメモリを利用した場合、フラッシュメモリの書換可能回数には制限があるため、これを考慮しなければならない。特にＮＯＲ型のフラッシュメモリにおいては、記録はビットまたはバイトといった小さい単位で可能であるが、一旦記録した内容の書き換えを行うためには内容を消去してから再書き込みする必要があり、この消去単位は数Ｋｂｙｔｅ単位と大きいという特性がある。
【００１４】
そこで、上述したような不正コピーを防止すると共に、正当な利用をした場合に不当にコンテンツの再生又はコピーができなくなることを防止するコンテンツのコピーコントロール方法及びその装置を提供することを目的とする。
【００１５】
また、本発明は、メモリの書換・消去回数を少なく抑えつつ、上記の防止を行えることを可能とするコンテンツのコピーコントロール方法及びその装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明によれば、コンテンツの移動の開始時に、一時カウンタを生成する一時カウンタ生成ステップと、前記一時カウンタを初期化する一時カウンタ初期化ステップと、前記一時カウンタの初期化の位置まで前記コンテンツをシークするコンテンツシークステップと、前記初期化の位置から前記コンテンツの移動を繰り返す繰返しステップとを備え、前記繰返しステップは、コンテンツからパラメータを読み出すパラメータ読出しステップと、今回の繰返しで読み出したパラメータが、前回の繰返しステップで読み出したパラメータと異なっている場合には、今回の繰返しで読み出したパラメータに対応する値に前記一時カウンタを更新し、更に、前記コンテンツの対応する所定単位部分を再生可能化するための処理を行う更新ステップと、コンテンツの所定単位部分を読み出し、該所定単位部分を前記パラメータを用いて生成された暗号鍵で暗号解読して出力するステップと、を備えることを特徴とするコンテンツ移動方法が提供される。
【００１７】
また、本発明によれば、コンテンツの再生の開始時に、一時カウンタを生成する一時カウンタ生成ステップと、前記一時カウンタを初期化する一時カウンタ初期化ステップと、前記一時カウンタの初期化の位置以降の位置までコンテンツをシークするコンテンツシークステップと、シーク後の位置から前記コンテンツの再生を繰り返す繰返しステップと、を備え、前記繰返しステップは、前記コンテンツからパラメータを読み出すパラメータ読出しステップと、前記コンテンツの所定単位部分を読み出し、該所定単位部分を前記パラメータを用いて生成された暗号鍵で暗号解読して出力するステップと、を備えることを特徴とするコンテンツ再生方法が提供される。
【００１８】
更に、本発明によれば、コンテンツの記録の開始時に、一時カウンタを生成する一時カウンタ生成ステップと、前記一時カウンタを初期化する一時カウンタ初期化ステップと、前記一時カウンタの初期化の位置までコンテンツをシークするコンテンツシークステップと、暗号化シードを生成するステップと、前記暗号化シードを記憶部に格納する暗号化シード格納ステップと、内部カウンタを初期値にする内部カウンタ初期化ステップと、前記暗号化シードと前記初期値の内部カウンタとを基に暗号鍵を生成する暗号鍵初期化ステップと、前記初期化の位置から前記コンテンツの記録を繰り返す第１繰返しステップと、前記内部カウンタと前記一時カウンタの処理を繰り返す第２繰返しステップと、前記第２繰返しステップの実行の後に実行される前記一時カウンタを削除する一時カウンタ削除ステップと、を備え、前記第１繰返しステップは、暗号鍵更新のタイミングが来た時に、前記内部カウンタを更新する内部カウンタ更新ステップと、暗号鍵更新のタイミングが来た時に、更に、前記暗号化シードと更新された内部カウンタを基に新たな暗号鍵を生成する暗号鍵生成ステップと、暗号鍵更新のタイミングが来た時に、更に、前記一時カウンタを更新する一時カウンタ更新ステップと、現在の前記暗号鍵でコンテンツを暗号化するコンテンツ暗号化ステップと、暗号化されたコンテンツに前記内部カウンタの値を挿入する内部カウンタ挿入ステップと、暗号化され、且つ、内部カウンタが挿入されたコンテンツを記録媒体に格納するコンテンツ格納ステップと、を備え、前記第２繰返しステップは、暗号鍵更新のタイミングが来た時に、前記内部カウンタを更新する内部カウンタ更新ステップと、暗号鍵更新のタイミングが来た時に、更に、前記一時カウンタを更新する第２の一時カウンタ更新ステップと、を備えることを特徴とするコンテンツ記録方法が提供される。
【００１９】
更に、本発明によれば、記録の開始時に、一時カウンタを生成する一時カウンタ生成ステップと、前記一時カウンタを初期化する一時カウンタ初期化ステップと、前記一時カウンタの初期化の位置までコンテンツをシークするコンテンツシークステップと、暗号化シードを生成するステップと、前記暗号化シードを暗号鍵シード記憶部に格納する暗号化シード格納ステップと、内部カウンタを初期値にする内部カウンタ初期化ステップと、前記暗号化シードと前記初期値の内部カウンタとを基に暗号鍵を生成する暗号鍵初期化ステップと、前記初期化の位置から前記コンテンツの記録を繰り返す第１繰返しステップと、前記内部カウンタと、前記一時カウンタの処理を繰り返す第２繰返しステップと、前記第２繰返しステップの実行の後に実行される前記一時カウンタを削除する一時カウンタ削除ステップと、を備え、前記第１繰返しステップは、暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定するステップと、暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とするステップと、暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とするステップと、暗号鍵更新のタイミングが来た時に、更に、前記暗号化シードと更新された内部カウンタを基に新たな暗号鍵を生成する暗号鍵生成ステップと、現在の前記暗号鍵でコンテンツを暗号化するコンテンツ暗号化ステップと、暗号化されたコンテンツに前記内部カウンタの値を挿入する内部カウンタ挿入ステップと、暗号化され、且つ、内部カウンタが挿入されたコンテンツを記録媒体に格納するコンテンツ格納ステップと、を備え、前記第２繰返しステップは、暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定するステップと、暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とするステップと、暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とするステップと、を備えることを特徴とするコンテンツ記録方法が提供される。
【００２０】
更に、本発明によれば、コンテンツの記録が開始された時に始まり、前記コンテンツの記録が終了してから所定時間経過した時に終了する期間に存在する一時カウンタであって、該期間では、前記コンテンツの始まりからの経過時間を表す一時カウンタが現在実際に存在する場合にのみコンテンツ再生ステップが実行され、前記コンテンツ再生ステップは、一時カウンタのカウント値を読み出す一時カウント読出しステップと、読み出された一時カウント値を内部カウント値とする内部カウント値設定ステップと、前記コンテンツの現在位置に挿入されているカウント値が前記内部カウント値からタイムシフト許容時間に対応するカウントだけ減じた値未満であれば、前記コンテンツの現在位置に挿入されているカウント値が前記内部カウント値からタイムシフト許容時間に対応するカウントだけ減じた値になるまで、前記コンテンツをシークするシークステップと、前記コンテンツの現在位置からカウント値を読み出すカウント読出しステップと、前記カウント値を用いて前記コンテンツの暗号解読を行い、暗号解読後のコンテンツを出力するコンテンツ出力ステップと、を備えることを特徴とするコンテンツ再生方法が提供される。
【００２１】
更に、本発明によれば、コンテンツの移動の開始時に、一時カウンタを生成する一時カウンタ生成手段と、前記一時カウンタを初期化する一時カウンタ初期化手段と、前記一時カウンタの初期化の位置まで前記コンテンツをシークするコンテンツシーク手段と、前記初期化の位置から前記コンテンツの移動を繰り返す繰返し手段とを備え、前記繰返し手段は、コンテンツからパラメータを読み出すパラメータ読出し手段と、今回の繰返しで読み出したパラメータが、前回の繰返し手段で読み出したパラメータと異なっている場合には、今回の繰返しで読み出したパラメータに対応する値に前記一時カウンタを更新し、更に、前記コンテンツの対応する所定単位部分を再生可能化するための処理を行う更新手段と、コンテンツの所定単位部分を読み出し、該所定単位部分を前記パラメータを用いて生成された暗号鍵で暗号解読して出力する手段と、を備えることを特徴とするコンテンツ移動装置が提供される。
【００２２】
更に、本発明によれば、コンテンツの再生の開始時に、一時カウンタを生成する一時カウンタ生成手段と、前記一時カウンタを初期化する一時カウンタ初期化手段と、前記一時カウンタの初期化の位置以降の位置までコンテンツをシークするコンテンツシーク手段と、シーク後の位置から前記コンテンツの再生を繰り返す繰返し手段と、を備え、前記繰返し手段は、前記コンテンツからパラメータを読み出すパラメータ読出し手段と、前記コンテンツの所定単位部分を読み出し、該所定単位部分を前記パラメータを用いて生成された暗号鍵で暗号解読して出力する手段と、を備えることを特徴とするコンテンツ再生装置が提供される。
【００２３】
更に、本発明によれば、コンテンツの記録の開始時に、一時カウンタを生成する一時カウンタ生成手段と、前記一時カウンタを初期化する一時カウンタ初期化手段と、前記一時カウンタの初期化の位置までコンテンツをシークするコンテンツシーク手段と、暗号化シードを生成する手段と、前記暗号化シードを記憶部に格納する暗号化シード格納手段と、内部カウンタを初期値にする内部カウンタ初期化手段と、前記暗号化シードと前記初期値の内部カウンタとを基に暗号鍵を生成する暗号鍵初期化手段と、前記初期化の位置から前記コンテンツの記録を繰り返す第１繰返し手段と、前記一時カウンタと前記内部カウンタの処理を繰り返す第２繰返し手段と、前記第２繰返し手段の動作の後に動作する前記一時カウンタを削除する一時カウンタ削除手段と、を備え、前記第１繰返し手段は、暗号鍵更新のタイミングが来た時に、前記内部カウンタを更新する内部カウンタ更新手段と、暗号鍵更新のタイミングが来た時に、更に、前記暗号化シードと更新された内部カウンタを基に新たな暗号鍵を生成する暗号鍵生成手段と、暗号鍵更新のタイミングが来た時に、更に、前記一時カウンタを更新する一時カウンタ更新手段と、現在の前記暗号鍵でコンテンツを暗号化するコンテンツ暗号化手段と、暗号化されたコンテンツに前記内部カウンタの値を挿入する内部カウンタ挿入手段と、暗号化され、且つ、内部カウンタが挿入されたコンテンツを記録媒体に格納するコンテンツ格納手段と、を備え、前記第２繰返し手段は、暗号鍵更新のタイミングが来た時に、前記内部カウンタを更新する内部カウンタ更新手段と、暗号鍵更新のタイミングが来た時に、更に、前記一時カウンタを更新する第２の一時カウンタ更新手段と、を備えることを特徴とするコンテンツ記録装置が提供される。
【００２４】
更に、本発明によれば、記録の開始時に、一時カウンタを生成する一時カウンタ生成手段と、前記一時カウンタを初期化する一時カウンタ初期化手段と、前記一時カウンタの初期化の位置までコンテンツをシークするコンテンツシーク手段と、暗号化シードを生成する手段と、前記暗号化シードを暗号鍵シード記憶部に格納する暗号化シード格納手段と、内部カウンタを初期値にする内部カウンタ初期化手段と、前記暗号化シードと前記初期値の内部カウンタとを基に暗号鍵を生成する暗号鍵初期化手段と、前記初期化の位置から前記コンテンツの記録を繰り返す第１繰返し手段と、前記一時カウンタと前記内部カウンタの処理を繰り返す第２繰返し手段と、前記第２繰返し手段の動作の後に動作する前記一時カウンタを削除する一時カウンタ削除手段と、を備え、前記第１繰返し手段は、暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定する手段と、暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とする手段と、暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とする手段と、暗号鍵更新のタイミングが来た時に、更に、前記暗号化シードと更新された内部カウンタを基に新たな暗号鍵を生成する暗号鍵生成手段と、現在の前記暗号鍵でコンテンツを暗号化するコンテンツ暗号化手段と、暗号化されたコンテンツに前記内部カウンタの値を挿入する内部カウンタ挿入手段と、暗号化され、且つ、内部カウンタが挿入されたコンテンツを記録媒体に格納するコンテンツ格納手段と、を備え、前記第２繰返し手段は、暗号鍵更新のタイミングが来た時に、コンテンツの経過時間を表す経過カウンタの値を前記内部カウンタに設定する手段と、暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除した余りを前記一時カウント値とする手段と、暗号鍵更新のタイミングが来た時に、更に、内部カウンタを一時カウンタのビット数で除して切り捨てて得た整数値に一時カウンタのビット数を乗じて得た値をオフセット値とする手段と、を備えることを特徴とするコンテンツ記録装置が提供される。
【００２５】
更に、本発明によれば、コンテンツの記録が開始された時に始まり、前記コンテンツの記録が終了してから所定時間経過した時に終了する期間に存在する一時カウンタであって、該期間では、前記コンテンツの始まりからの経過時間を表す一時カウンタが現在実際に存在する場合にのみコンテンツ再生手段が動作し、前記コンテンツ再生手段は、一時カウンタのカウント値を読み出す一時カウント読出し手段と、読み出された一時カウント値を内部カウント値とする内部カウント値設定手段と、前記コンテンツの現在位置に挿入されているカウント値が前記内部カウント値からタイムシフト許容時間に対応するカウントだけ減じた値未満であれば、前記コンテンツの現在位置に挿入されているカウント値が前記内部カウント値からタイムシフト許容時間に対応するカウントだけ減じた値になるまで、前記コンテンツをシークするシーク手段と、前記コンテンツの現在位置からカウント値を読み出すカウント読出し手段と、前記カウント値を用いて前記コンテンツの暗号解読を行い、暗号解読後のコンテンツを出力するコンテンツ出力手段と、を備えることを特徴とするコンテンツ再生装置が提供される。
【００３０】
更に、本発明によれば、上記の方法をコンピュータに行わせるためのプログラムが提供される。
【発明の効果】
【００４１】
本発明によれば、コンテンツの所定期間毎に変化する暗号鍵を生成する暗号鍵生成ステップと、前記コンテンツの各所定期間毎の部分をその部分に対応した暗号鍵で暗号化する暗号化ステップと、前記コンテンツの各所定期間毎の暗号鍵に対応するパラメータを、前記コンテンツのその所定期間の部分に挿入するパラメータ挿入ステップと、前記暗号化ステップで暗号化され、前記パラメータ挿入ステップで前記パラメータが挿入されたコンテンツを記録媒体に記録するコンテンツ記録ステップと、を備えるので、前記パラメータを利用して、コピーワンスの制御を行うことが可能となる。
【発明を実施するための最良の形態】
【００４２】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００４３】
［実施形態１］
コピーワンスのコンテンツを記録する場合のコピーコントロール対応コンテンツ記録／再生装置の構成について図１を参照して説明する。
【００４４】
記録媒体１０１には、暗号化部１０５で処理されたコンテンツが格納される。記録媒体１０１は、例えば、ハードディスクドライブである。
【００４５】
入力部１０３は、コンテンツを入力するとともに、コンテンツから時間情報を読み出したり、現在までのコンテンツの容量を測定したりする。
【００４６】
暗号化部１０５は、暗号鍵記憶部１１７に格納されている暗号鍵を用いて、入力部１０３から供給されたコンテンツを暗号化すると共に、コンテンツに内部カウンタ１１５ａの値を埋め込む。例えば、コンテンツがＭＰＥＧ形式であれば、ＧＯＰ先頭のプライベートストリーム内にカウンタ値を埋め込む。
【００４７】
暗号鍵シード生成部１１１は、乱数などを利用して暗号鍵のシードを生成する。
【００４８】
暗号鍵シード記憶部１１３は、暗号鍵シード及びカウンタ値を記憶する。
【００４９】
暗号鍵シード記憶部１１３は、不揮発性メモリ１３１に設けられている。不揮発性メモリとしては、たとえば、フラッシュＥＥＰＲＯＭ等が利用される。
【００５０】
カウンタ管理部１１５は、カウンタに関連した処理を行い、内部にも自己のカウンタ（以下、「内部カウンタ」といい、符号１１５ａを付す。）を有する。
【００５１】
暗号鍵記憶部１１７は、暗号鍵生成部１２１により生成された暗号鍵を格納する。
【００５２】
暗号鍵記憶部１１７は、通常は、ＲＡＭ等の揮発性メモリ１３５に設けられるが、不揮発性メモリに設けられてもよい。
【００５３】
暗号解読部１０７は、記録媒体１０１から暗号化されているコンテンツ及びこれに付加されているカウントを読み出し、このカウントと暗号鍵シードから暗号鍵生成部１２１により生成された暗号鍵によりコンテンツの暗号解読を行う。
【００５４】
出力部１０９は、コンテンツの再生の場合には、暗号解読されたコンテンツをモニタ等に出力し、コンテンツの移動の場合には、一度暗号解読されたコンテンツを再度何かしらの方法で暗号化して、それをコンテンツ記録側装置に出力する。
【００５５】
コピーワンスのコンテンツを記録する場合のコピーコントロール対応コンテンツ記録／再生装置の動作について図２を参照して説明する。
【００５６】
まず、暗号鍵シード生成部１１１は、暗号鍵シードを生成し（ステップＳ２０１）、これを暗号鍵シード記憶部１１３に格納する（ステップＳ２０３）。
【００５７】
次に、カウンタ管理部１１５は、内部カウンタ１１５ａの値をゼロに初期化し（ステップＳ２０５）、これを暗号鍵シード記憶部１１３に格納する（ステップＳ２０７）。
【００５８】
次に、暗号鍵生成部１２１は、暗号鍵シード記憶部１１３に格納されている暗号鍵シードと内部カウンタ１１５ａが保持しているゼロの値を基に、最初の暗号鍵を生成する（ステップＳ２０９）。生成された暗号鍵は、暗号鍵記憶部１１７に格納される。
【００５９】
次に、カウント更新タイミング検出部１２３は、入力部１０３から得られるコンテンツの時間情報等を参照して、現在のタイミングが暗号鍵を更新するタイミングであるか否かを判断する（ステップＳ２１１）。暗号鍵を更新するタイミングは、例えば、１分毎のタイミングである。このような場合、暗号鍵は、１分毎に更新されるようになる。ただし、更新のタイミングを他の長さの期間毎のタイミングとしてもよいし、コンテンツの所定容量毎のタイミング等としてもよい。
【００６０】
現在のタイミングが暗号鍵を更新するタイミングであれば（ステップＳ２１１でＹＥＳ）、ステップＳ２１３に進み、そうでなければステップＳ２１７に進む。
【００６１】
ステップＳ２１３では、カウンタ管理部１１５は、内部カウンタ１１５ａの値を１だけ増加させる。次に、暗号鍵生成部１２１は、暗号鍵シード記憶部１１３に格納されている暗号鍵シードと、ステップＳ２１３で増加した内部カウンタ１１５ａの値を基に、新たな暗号鍵を生成する（ステップＳ２１５）。生成された暗号鍵は、暗号鍵記憶部１１７に格納される。ステップＳ２１５からは、ステップＳ２１７に進む。
【００６２】
ステップＳ２１７では、暗号鍵記憶部１１７に現在格納されている暗号鍵を用いて、入力部１０３から入力されたコンテンツを、暗号化部１０５が、暗号化する。
【００６３】
次に、暗号化部１０５は、内部カウンタ１１５ａに現在格納されているカウンタ値をコンテンツに埋め込む（ステップＳ２１９）。
【００６４】
ステップＳ２１７及びステップＳ２１９により、暗号化され、且つ、カウント値が挿入されたコンテンツが、記録媒体１０１に格納される。
【００６５】
次に、記録終了するべきであるか否かを判断し（ステップＳ２２１）、そうであれば、記録を終了し、そうでなければ、ステップＳ２１１に戻り、記録を継続する。
【００６６】
これにより、記録媒体１０１に格納されたコンテンツは、暗号鍵シード及び所定間隔で（例えば、１分おきに）更新されるカウンタの値に基づいて生成された暗号鍵で暗号化され、且つ、そのカウンタの値が埋め込まれたものとなる。
【００６７】
また、暗号鍵シード記憶部１１３には、暗号鍵シード及び値がゼロのカウント値が格納されることとなる。これらは、コンテンツの識別情報と対応づけられて暗号鍵シード記憶部１１３に格納される。
【００６８】
次に、コピーワンスのコンテンツを移動する場合のコピーコントロール対応コンテンツ記録／再生装置の動作について図３を参照して説明する。
【００６９】
まず、カウンタ管理部１１５は、カウンタ一時記憶部１４１に当該コンテンツに対応した一時カウンタが存在するか否かを判断する（ステップＳ２３１）。この判断を行うためには、一時カウンタが設けられたならば、それに対応するコンテンツの識別情報をその一時カウンタと関連付けておくようにする。自己の識別情報に対応づけられた一時カウンタがカウンタ一時記憶部１４１にあれば、ステップＳ２３１での結果は肯定的となり、そうでなければ、ステップＳ２３１での結果は否定的となる。
【００７０】
カウンタ一時記憶部１４１に当該コンテンツに対応した一時カウンタが存在しなければ（ステップＳ２３１でＮＯ）、カウンタ管理部１１５は、カウンタ一時記憶部１４１に当該コンテンツに対応した一時カウンタを設け、その一時カウンタを初期化する。
【００７１】
ここで、カウンタ一時記憶部１４１は、暗号鍵シード記憶部１１３と同様に、不揮発性メモリ１３１に設けられている。不揮発性メモリとしては、たとえば、フラッシュＥＥＰＲＯＭ等が利用される。
【００７２】
暗号鍵シード記憶部１１３に格納されるカウント値及び内部カウンタ１１５ａでカウントされるカウント値は、２進法でエンコードされたものであることが通常である。これに対し、カウンタ一時記憶部１４１に設けられた一時カウンタのカウント値は、デコードされた状態のものである。例えば、コンテンツが２時間の映画であり、１分毎に暗号鍵を更新することとすれば、ゼロから１１９までカウントする必要がでてくる。このために、一時カウンタを１２０ビットで構成し、１ビットが１分に対応するようにする。特に、不揮発性メモリがＮＯＲ型のフラッシュＥＥＰＲＯＭである場合を考慮し、当該コンテンツに対応する一時カウンタを新たに設け、それを初期化する場合には、まず、１２０ビットの領域を不揮発性メモリから確保し、それを当該コンテンツに対応付け、更に１２０ビット全部を１に初期化する。そして、後述するように、一時カウンタを更新する場合には、順々にビットの値を１からゼロに変化させる。例えば、初期状態では、一時カウンタは、「１１・・・・１」（オール１）であるが、移動が１分経過した時には、一時カウンタは、「０１１・・・１」となり、それから移動が１分経過したときには、一時カウンタは、「００１・・・１」となる。コンテンツの最後で一時カウンタが「０００・・・０」（オールゼロ）となるまで、このような更新が続けられる。
【００７３】
一時カウンタを、仮に２進数でエンコードされた数値を表すものとすると、不揮発性メモリの書き換えの回数が増加してしまう。これに対し、本発明によれば、一時カウンタを上記のようなものとすることにより、書き換えの回数を減らすことが可能となる。
【００７４】
但し、コンテンツの移動がコンテンツの最後まで行われずに、コンテンツの移動が正常に中断されると、後述するステップ２４７からステップＳ２４９及びステップＳ２５１に進む。この場合にステップＳ２５１で、一時カウンタが破棄されている場合には、ステップＳ２３１での判断結果は否定的となり、ステップＳ２３３に進む。この場合の、ステップＳ２３３での一時カウンタの初期化は、現在、暗号鍵シード記憶部１１３に格納されているカウント値による初期化である。この際には、２進数のデコードが伴う。つまり、暗号鍵シード記憶部１１３に２進数で格納されているカウント値をゼロのビット数にデコードして、デコードの結果を一時カウンタに設定する。現在、暗号鍵シード記憶部１１３に格納されているカウント値は、前回ステップＳ２４９で暗号鍵シード記憶部１１３に格納されたカウント値である。
【００７５】
フローチャートに戻り、ステップＳ２３３の次に、ステップＳ２３４に進み、ここで、初期化の位置までコンテンツをシーク(seek)する。つまり、コンテンツに付加されているカウント値が一時カウンタの初期化の値と一致するまで、コンテンツの早送りを続ける。無論、コンテンツの移動の開始の場合には、一時カウンタの初期化の値はゼロであるので、コンテンツの位置は先頭位置に留まる。
【００７６】
他方、カウンタ一時記憶部１４１に当該コンテンツに対応した一時カウンタが存在すれば（ステップＳ２３１でＹＥＳ）、カウンタ管理部１１５は、カウンタ一時記憶部１４１に在る当該コンテンツに対応した一時カウンタのカウント値を、暗号鍵シード記憶部１１３に格納する（ステップＳ２３５）。この際には、一時カウンタのゼロのビット数を二進数にエンコードし、エンコードの結果を暗号鍵シード記憶部１１３に格納する。ステップＳ２３５で暗号鍵シード記憶部１１３に一時カウンタのカウント値を格納することにより、暗号鍵シード記憶部１１３に格納されているカウント値を更新することは、後に説明するように、移動済みの部分の再生を禁止することにつながる。
【００７７】
次に、カウンタ値の位置までコンテンツをシーク(seek)する（ステップＳ２３６）。このためには、コンテンツに付加されているカウント値が一時カウンタのカウント値と一致するまで、コンテンツの早送りを続ける。ステップＳ２３１でＹＥＳとなるのは、コンテンツの移動が何かしらの理由でステップＳ２４９及びＳ２５１を経由しないで、中断され、それを再開する場合である。何かしらの理由としては、例えば、突然の停電による移動の中断、悪意を有する者による不正な突然の電源遮断等が挙げられる。これを「異常中断」と称することにする。異常中断は、どのステップを行っている最中に行われるかが不定である。従って、異常中断が生じた場合には、ステップＳ２４９及びＳ２５１が行われず、一時カウンタが残存する。コピーワンスのコンテンツにおいては、このような場合には、移動を中断した位置より前の部分が再度移動できることがあってはならない。ステップＳ２３６を実行することにより、この再度の移動を禁止することができる。
【００７８】
ステップＳ２３４又はステップＳ２３６からステップＳ２３７に進む。
【００７９】
ステップＳ２３７では、コンテンツからカウント値を読み出す。この読出しには、カウント値に対応した部分のコンテンツの映像・音声の読み出しも含まれる。
【００８０】
次に、今回、コンテンツから読み出されたカウント値は、更新されているか否かを判断する（ステップＳ２３９）。つまり、現在の繰り返しのステップＳ２３７でコンテンツから読み出されたカウント値が、前回の繰り返しのステップＳ２３７でコンテンツから読み出されたカウント値と異なっているか否かを判断する。
【００８１】
記録時に１分毎にカウンタ値を更新しているのであれば、コンテンツ１分毎にステップＳ２３９での判断結果が肯定的となる。
【００８２】
ステップＳ２３９での判断結果が否定的であれば、ステップＳ２４１及びＳ２４３を経由せずに、ステップＳ２３７で読み出されたコンテンツを記録側装置に出力する（ステップＳ２４５）。
【００８３】
ステップＳ２４５では、次のことが行われる。
【００８４】
暗号鍵生成部１２１は、暗号鍵シード記憶部１１３に格納されている暗号鍵シードと、コンテンツから読み出されたカウント値を基に暗号鍵を生成し、これを暗号鍵記憶部１１７に格納する。暗号解読部１０７は、暗号鍵記憶部１１７に格納されている暗号鍵を用いて、記録媒体１０１から読み出されたコンテンツの暗号解読を行う。出力部１０９は、暗号解読された状態でコンテンツが出力されないように、記録側装置に対応した方法によりコンテンツを再度暗号化して、記録側装置に出力する。
【００８５】
ステップＳ２３９での判断結果が肯定的であれば、一時カウンタを更新する（ステップＳ２４１）。この更新は、たとえば、一時カウンタのビットパターンを「００１１・・・１」を「０００１・・・１」にするようなものである。
【００８６】
次に、前回ステップＳ２４３を実行した時点から今回ステップＳ２４３を実行する時点までに記録側装置に出力したコンテンツの再生を可能化するための処理を行う（ステップＳ２４３）。この可能化の処理により、初めて、記録側装置で記録されたコンテンツの再生が可能となる。
【００８７】
ステップＳ２４３からは、ステップＳ２４５に進む。ステップＳ２４５についてはすでに説明した。
【００８８】
ステップＳ２４５からは、ステップＳ２４７に進む。ステップＳ２４７では、移動終了または通常中断が行われたか否かを判断する。移動終了とは、コンテンツの末尾までの移動の終了のことである。また、通常中断とは、移動をここまでで止めたいと判断したユーザの正当な操作による中断や、記録側装置が他の用途のために利用され始めたことによる中断等のことである。通常中断は、異常中断と区別される。
【００８９】
ステップＳ２４７での判断結果が否定的である場合には、ステップＳ２３７に戻り、コンテンツの移動を継続する。
【００９０】
ステップＳ２４７での判断結果が肯定的である場合には、カウンタ一時記憶部１４１にある一時カウンタの現在のカウント値を暗号鍵シード記憶部１１３に格納する（ステップＳ２４９）。この際には、一時カウンタのビットパターンから２進数への変換が行われ、この変換の結果が暗号鍵シード記憶部１１３に格納される。これにより、暗号鍵シード記憶部１１３に格納されているカウント値は更新される。こうすることにより、ステップＳ２３３での一時カウンタの初期化において、移動が中断された位置に対応する値に一時カウンタが初期化されることとなる。これにより、移動の中断後に中断位置から移動を再開することが可能となる。
【００９１】
次に、カウンタ一時記憶部１４１から当該コンテンツに対応した一時カウンタを破棄する。ここで破棄とは、当該領域のフラッシュなど、一時カウンタのために確保した領域を初期化することでアクセス不可とする処理のことである。
【００９２】
なお、ステップＳ２４７で通常中断によりステップＳ２４９に進んだ場合には、ステップＳ２５１を省略してもよい。この場合には、一時カウンタがカウンタ一時記憶部１４１に残ることとなる。そうすると、次に、コンテンツの移動が再開された場合、ステップＳ２３１での判断結果が肯定的となる。しかし、ステップＳ２３３での初期化は、上述したとおりであるので、ステップＳ２３７まで進んだ時点では、同一の状態となる。
【００９３】
次に、コピーワンスのコンテンツを移動する場合のコピーコントロール対応コンテンツ記録／再生装置の動作について図４を参照して説明する。
【００９４】
コピーワンスのコンテンツの全体が移動先に移動していないのであれば、そのコンテンツの全体を何度でも再生することができる。これに対し、コピーワンスのコンテンツの一部が移動先に移動した場合には、移動した部分の再生を禁止しなければならない。
【００９５】
図４に示すステップＳ２６１、Ｓ２６３、Ｓ２６７、Ｓ２７１、Ｓ２７５及びＳ２７７は、それぞれ、図３に示すステップＳ２３１、Ｓ２３３、Ｓ２３４、Ｓ２３５、Ｓ２３６及びＳ２３７に対応するので、これらの説明を省略し、図３との相違点のみを説明する。
【００９６】
ステップＳ２６３の次に、ユーザが希望する再生開始位置が、ステップＳ２６３で設定した一時カウンタの初期値に対応した位置よりも前であるか否かを判断する（ステップＳ２６５）。
【００９７】
そうである場合には（ステップＳ２６５でＹＥＳ）、ユーザが希望する再生開始位置から再生を開始することがコピーワンスの規則に反することとなるので、ステップＳ２６７に進み、ここで、ステップＳ２６３で設定した一時カウンタの初期値に対応した位置までコンテンツの読出しを進める。
【００９８】
そうでない場合には（ステップＳ２６５でＮＯ）、ユーザが希望する再生開始位置から再生を開始することはコピーワンスの規則に反しないので、ステップＳ２６９に進み、ここで、ユーザが希望する再生開始位置までコンテンツを進める。
【００９９】
他方、ステップＳ２７１の次に、ユーザが希望する再生開始位置が、ステップＳ２７１で見た一時カウンタのカウント値に対応した位置よりも前であるか否かを判断する（ステップＳ２７３）。
【０１００】
そうである場合には（ステップＳ２７３でＹＥＳ）、ユーザが希望する再生開始位置から再生を開始することがコピーワンスの規則に反することとなるので、ステップＳ２７５に進み、ここで、ステップＳ２７１で見た一時カウンタのカウント値に対応した位置までコンテンツの読出しを進める。
【０１０１】
そうでない場合には（ステップＳ２７３でＮＯ）、ユーザが希望する再生開始位置から再生を開始することはコピーワンスの規則に反しないので、ステップＳ２６９に進み、ここで、ユーザが希望する再生開始位置までコンテンツを進める。
【０１０２】
ステップＳ２６７、Ｓ２６９又はＳ２７５からはステップＳ２７７に進み、ここからコンテンツの再生を開始する。
【０１０３】
ステップＳ２７９では、次のことが行われる。
【０１０４】
暗号鍵生成部１２１は、暗号鍵シード記憶部１１３に格納されている暗号鍵シードと、コンテンツから読み出されたカウント値を基に暗号鍵を生成し、これを暗号鍵記憶部１１７に格納する。暗号解読部１０７は、暗号鍵記憶部１１７に格納されている暗号鍵を用いて、記録媒体１０１から読み出されたコンテンツの暗号解読を行う。出力部１０９は、暗号解読されたコンテンツを出力装置に出力する。
【０１０５】
ステップＳ２７９からは、ステップＳ２８１に進む。ステップＳ２８１では、再生終了または再生の通常中断が行われたか否かを判断する。再生終了とは、コンテンツの末尾までの再生の終了のことである。また、再生中断とは、コンテンツの途中までの再生の終了のことである。
【０１０６】
［実施形態２］
次に、コピーネバーのコンテンツをタイムシフト再生のために記録する場合のコピーコントロール対応コンテンツ記録／再生装置の動作について図５及び図６を参照して説明する。
【０１０７】
タイムシフト再生においては、コンテンツの各部は、それを受信してから所定時間（たとえば、９０分）以内であれば再生可能としなければならないが、それ以上の時間が経過していれば、再生禁止としなければならない。
【０１０８】
まず、カウンタ管理部１１５は、カウンタ一時記憶部１４１に一時カウンタが存在するか否かを判断する（ステップＳ３０１）。
【０１０９】
この判断結果が肯定的である場合には（ステップＳ３０１でＹＥＳ）、これは、タイムシフト再生のための記録が異常中断されたことを意味する。カウンタ管理部１１５は、カウンタ一時記憶部１４１から一時カウンタの一時カウント値を読み出し（ステップＳ３１５）、暗号鍵シード記憶部１１３からオフセットカウント値を読み出し（ステップＳ３１７）、一時カウント値とオフセットカウント値とを加算して得た値を内部カウンタ１１５ａに設定する。オフセットカウント値については、後述する。この時点で、内部カウンタに設定された値は、異常中断された時の経過時間に対応する。例えば、カウンタが１分毎に１だけ増加するものであり、タイムシフト再生のための記録が開始してから１０分後に異常中断が発生し、それから５分後にステップＳ３０１に入った場合には、一時カウント値が１０であり、オフセットカウント値が０であるので、内部カウンタには、１０＋０＝１０が設定される。また、一時カウント値の範囲が０から６３であり、オフセットカウント値が、０、６４、１２８、・・・である場合において、タイムシフト再生のための記録が開始してから１１０分後に異常中断が発生し、それから５分後にステップＳ３０１に入った場合には、一時カウント値が４６であり、オフセットカウント値が６４であるので、内部カウンタには、４６＋６４＝１１０が設定される。
【０１１０】
カウンタ一時記憶部１４１に一時カウンタが存在しない場合には（ステップＳ３０１でＮＯ）、これは、タイムシフト再生が異常中断されたことがないことを意味する。すなわち、タイムシフト再生のための記録がこれから始まることを意味する。
【０１１１】
この場合には、カウンタ一時記憶部１４１に当該コンテンツに対応する一時カウンタを設けて、この一時カウンタの全ビットを１に初期化する。すなわち、２進数や１０進数で代わりに表現するならば、一時カウンタの値をゼロに初期化する（ステップＳ３０３）。次に、初期化の位置までコンテンツをシーク(seek)する（ステップＳ３０５）。
【０１１２】
次に、暗号鍵シード生成部１１１は、暗号鍵シードを生成し（ステップＳ３０７）、暗号鍵シード記憶部１１３に格納する（ステップＳ３０９）。
【０１１３】
次に、カウンタ管理部１１５は、内部カウンタ１１５ａをゼロに初期化し（ステップＳ３１１）、この値を暗号鍵シード記憶部１１３に格納する（ステップＳ３１３）。
【０１１４】
図６を参照すると、ステップＳ３１３またはステップＳ３１９からは、ステップＳ３２０に進む。
【０１１５】
ステップＳ３２０では、暗号鍵生成部１２１は、暗号鍵シード記憶部１１３に格納されている暗号鍵シードと、ステップＳ３１１でゼロに初期化された内部カウンタ１１５ａの値を基に、初期の暗号鍵を生成する。生成された暗号鍵は、暗号鍵記憶部１１７に格納される。
【０１１６】
ステップＳ３２１では、カウント更新タイミング検出部１２３は、入力部１０３から得られるコンテンツの時間情報等を参照して、現在のタイミングが暗号鍵を更新するタイミングであるか否かを判断する（ステップＳ３２１）。暗号鍵を更新するタイミングは、例えば、１分毎のタイミングである。
【０１１７】
現在のタイミングが暗号鍵を更新するタイミングであれば（ステップＳ３２１でＹＥＳ）、ステップＳ３２３に進み、そうでなければステップＳ３３１に進む。
【０１１８】
ステップＳ３２３では、カウンタ管理部１１５は、内部カウンタ１１５ａの値を１だけ増加させる。次に、暗号鍵生成部１２１は、暗号鍵シード記憶部１１３に格納されている暗号鍵シードと、ステップＳ３２３で増加した内部カウンタ１１５ａの値を基に、新たな暗号鍵を生成する（ステップＳ３２５）。生成された暗号鍵は、暗号鍵記憶部１１７に格納される。
【０１１９】
次に、一時カウンタを更新する（ステップＳ３２７）。この更新においては、現在着目しているビット（ゼロと隣接しているビットであって、値が１であるもの）をゼロにする。こうすることにより、例えば、一時カウンタは、「００１１・・・１１」から「０００１・・・１１」に変化する。
【０１２０】
次に、オフセット処理を行う（ステップＳ３２９）。ここでオフセット処理について説明する。例えば、一時カウンタのビット数を６４として、カウンタが１分毎に更新されるようにすると、一時カウンタは、６４分以下の長さのコンテンツを扱うことができる。しかし、一時カウンタのみでは、時間が６４分を超えるコンテンツを扱うことができない。したがって、コンテンツの時間が６４分を超える時には、現在の値がオールゼロである一時カウンタをオール１に変更し（「０００・・・０」（６４個のビットがすべてゼロである）を「１１１・・・１」（６４個のビットがすべて１である）に変更し）、暗号鍵シード記憶部１１３に格納されているカウント値を６４だけ増加させる。例えば、コンテンツの６４分の箇所では、一時カウンタが「０００・・・０」（６４個のビットがすべてゼロである）であり、暗号鍵シード記憶部１１３に格納されているカウント値はゼロであるが、コンテンツが６５分に進む時に、一時カウンタを「１１１・・・１」（６４個のビットがすべて１である）に初期化し、暗号鍵シード記憶部１１３に格納されているカウント値を１にする。同様に、コンテンツの１２８分の箇所では、一時カウンタが「０００・・・０」（６４個のビットがすべてゼロである）であり、暗号鍵シード記憶部１１３に格納されているカウント値は１であるが、コンテンツが１２９分に進む時に、一時カウンタを「１１１・・・１」（６４個のビットがすべて１である）に初期化し、暗号鍵シード記憶部１１３に格納されているカウント値を２にする。
【０１２１】
このようなオフセット処理を行うことにより、一時カウンタ及び暗号鍵シード記憶部１１３に格納されているオフセット値を利用して（両者を加算して）、コンテンツの経過時間を把握できるようになる。この計算方法は、前述したステップＳ３１９で利用されている。
【０１２２】
ステップＳ３２１又はステップＳ３２９からは、ステップＳ３３１に進む。
【０１２３】
ステップＳ３３１では、暗号鍵記憶部１１７に現在格納されている暗号鍵を用いて、入力部１０３から入力されたコンテンツを、暗号化部１０５が、暗号化して、記録媒体１０１に格納する。
【０１２４】
次に、暗号化部１０５は、内部カウンタ１１５ａに現在格納されているカウンタ値をコンテンツに埋め込む（ステップＳ３３３）。
【０１２５】
ステップＳ３３１及びステップＳ３３３により、暗号化され、且つ、カウント値が挿入されたコンテンツが、記録媒体１０１に格納される。
【０１２６】
次に、記録終了するべきであるか否かを判断し（ステップＳ３３５）、そうであれば、記録を終了し、そうでなければ、ステップＳ３２１に戻り、記録を継続する。
【０１２７】
記録が終了した後に、更に、カウンタのみについてステップＳ３２１からステップＳ３３５と同様な動作をタイムシフト可能期間だけ継続する。
【０１２８】
すなわち、ステップＳ３３５の判断が肯定的となったならば、暗号鍵更新を続けているとしたならば、現在時刻が暗号鍵更新のタイミングであるか否かを判断する（ステップＳ３２１Ｂ）。上記の例で言えば、１分経過するたびに、ステップＳ３２１Ｂでの判断結果は肯定的となる。
【０１２９】
ステップＳ３２１Ｂでの判断結果が肯定的であれば、内部カウンタ１１５ａを１だけ更新し（ステップＳ３２３Ｂ）、一時カウンタを更新し（ステップＳ３２７Ｂ）、オフセット処理を行う（ステップＳ３２９Ｂ）。
【０１３０】
ステップＳ３２１Ｂの判断結果が否定的となった場合には、ステップＳ３３５Ｂに進む。ステップＳ３２９ＢからもステップＳ３３５Ｂに進む。
【０１３１】
ステップＳ３３５Ｂでは、コンテンツの記録が終了してからタイムシフト可能期間経過したか否かを判断する。
【０１３２】
まだ、経過していなければ（ステップＳ３３５ＢでＮＯ）、ステップＳ３２１Ｂに戻る。
【０１３３】
経過していれば、一時カウンタをカウンタ一時記憶部１４１から削除し（ステップＳ３３７）、暗号鍵シード記憶部１１３から暗号鍵シードとカウントを削除する（ステップＳ３３９）。
【０１３４】
これにより、記録媒体１０１に格納されたコンテンツは、暗号鍵シード及び所定間隔で（例えば、１分おきに）更新されるカウンタの値に基づいて生成された暗号鍵で暗号化され、且つ、そのカウンタの値が埋め込まれたものとなる。
【０１３５】
また、暗号鍵シード記憶部１１３には、暗号鍵シード及びオフセット値が格納されることとなる。これらは、コンテンツの識別情報と対応づけられて暗号鍵シード記憶部１１３に格納される。
【０１３６】
また、一時カウンタの値とオフセット値との和は、記録継続時間を表すこととなる。
【０１３７】
次に、記録の中断がない場合の動作例を説明すると、まず、ステップＳ３０１からステップＳ３０３に進み、ステップＳ３２１まで進む。そして、コンテンツの記録が終了するまで、ステップＳ３２１からステップＳ３３５を繰り返す。その繰返しにおいて、例えば、１分毎にステップＳ３２３からステップＳ３２９を実行する。
【０１３８】
記録の中断がある場合には、まず、ステップＳ３０１からステップＳ３０３に進み、ステップＳ３２１まで進む。そして、ステップＳ３２１からステップＳ３３５を繰り返すが、ある繰返しにおいて、記録が中断する。そして、記録を再開するときには、ステップＳ３０１からステップＳ３１５に進み、ステップＳ３１５からステップＳ３１９を実行した後に、ステップＳ３２０に進む。そして、コンテンツの記録が終了するまで、ステップＳ３２１からステップＳ３３５を再度繰り返す。その繰返しにおいて、例えば、１分毎にステップＳ３２３からステップＳ３２９を実行する。
【０１３９】
次に、コピーネバーのコンテンツをタイムシフト再生する場合のコピーコントロール対応コンテンツ記録／再生装置の動作について図７を参照して説明する。
【０１４０】
まず、カウンタ管理部１１５は、カウンタ一時記憶部１４１に、当該コンテンツに対応する一時カウンタが存在するか否かを判断する（ステップＳ３４０）。
【０１４１】
存在しない場合には（ステップＳ３４０でＮＯ）、既に、コンテンツの末尾から起算してもタイムシフト許容時間が経過しているので、処理を中止する。
【０１４２】
存在する場合には（ステップＳ３４０でＹＥＳ）、カウンタ一時記憶部１４１から一時カウンタの現在の値を読み出す（ステップＳ３４１）。次に、カウンタ管理部１１５は、暗号鍵シード記憶部１１３から現在のオフセット値を読み出す（ステップＳ３４３）。次に、カウンタ管理部１１５は、ステップＳ３４１で読み出した一時カウンタの値とステップＳ３４３で読み出したオフセット値とを加算して得た値を内部カウンタ１１５ａに格納する（ステップＳ３４５）。これにより、記録の中断がない場合には、内部カウンタ１１５ａの値は、コンテンツの記録を開始してからの現在の経過時間を表すこととなる。
【０１４３】
次に、暗号解読部１０７は、記録媒体１０１内のコンテンツの現在位置に埋め込まれているカウント値が、内部カウンタ１１５ａの値からタイムシフト許容時間（例えば９０分）に対応する値を減じて得た値以上になるまで、コンテンツを進める（ステップＳ３４７及びステップＳ３４９）。最初から、記録媒体１０１内のコンテンツの現在位置に埋め込まれているカウント値が、内部カウンタ１１５ａの値からタイムシフト許容時間（例えば９０分）に対応する値を減じて得た値以上であれば、ステップＳ３４９からステップＳ３４７に戻るようなことはない。
【０１４４】
コンテンツが必要に応じて進められた後にステップＳ３５１からステップＳ３５５でのコンテンツ再生に入る。
【０１４５】
ステップＳ３５１では、暗号解読部１０７がコンテンツからカウント値を読み出す。
【０１４６】
ステップＳ３５３では、暗号鍵生成部１２１は、暗号鍵シード記憶部１１３に格納されている暗号鍵シードと、コンテンツから読み出されたカウント値を基に暗号鍵を生成し、これを暗号鍵記憶部１１７に格納する。暗号解読部１０７は、暗号鍵記憶部１１７に格納されている暗号鍵を用いて、記録媒体１０１から読み出されたコンテンツの暗号解読を行う。出力部１０９は、暗号解読されたコンテンツを出力装置に出力する。
【０１４７】
ステップＳ３５３からは、ステップＳ３５５に進む。ステップＳ３５５では、再生終了または再生中断が行われたか否かを判断する。再生終了とは、コンテンツの末尾までの再生の終了のことである。また、再生中断とは、コンテンツの途中までの再生の終了のことである。
【０１４８】
この動作を、１カウントが１分に対応し、コンテンツの時間が１２０分であり、タイムシフト許容時間が９０分であり、記録の中断がない場合を例にとり説明する。
【０１４９】
内部カウンタの値が５であれば、コンテンツの記録を開始してからの現在の経過時間は５分である。この場合には、最初にステップＳ３４７及びステップＳ３４９を実行した直後に、ステップＳ３５１に進む。従って、コンテンツの最初からタイムシフト再生が始まることとなる。つまり、コンテンツの最初の位置から５分の遅延をもってタイムシフト再生が行われることとなる。
【０１５０】
内部カウンタの値が１００であれば、コンテンツの記録を開始してからの現在の経過時間は１００分である。この場合には、ステップＳ３４７及びステップＳ３４９によりコンテンツの位置を１００−９０＝１０分の位置まで進めてからステップＳ３５１に進む。従って、コンテンツの１０分の位置から９０分の遅延をもってタイムシフト再生が行われることとなる。
【０１５１】
一時カウンタが存在しており、内部カウンタの値が１５０であれば、コンテンツの記録を開始してからの現在の経過時間は１５０分である。この場合には、ステップＳ３４７及びステップＳ３４９によりコンテンツの位置を１５０−９０＝６０分の位置まで進めてからステップＳ３５１に進む。従って、コンテンツの６０分の位置から９０分の遅延をもってタイムシフト再生が行われることとなる。
【０１５２】
コンテンツの記録を開始してからの現在の経過時間が２１０分を超える場合には、一時カウンタがない。従って、タイムシフト再生をすることは不可能となる。
【０１５３】
［実施形態３］
実施形態２では、タイムシフト再生のためにコンテンツの記録をしている途中で、記録が異常中断されると、それから後に記録されたコンテンツのタイムシフト許容量が増えてしまう。
【０１５４】
実施形態３は、この欠点をなくし、タイムシフト再生のためにコンテンツの記録をしている途中で、記録が異常中断された場合であっても、それから後に記録されたコンテンツのタイムシフト許容量が増えないようにするものである。
【０１５５】
図８に実施形態３の構成を示す。図１に示す実施形態１との相違点は、経過カウンタ１４３が追加されている点である。
【０１５６】
経過カウンタ１４３は、コンテンツの開始から現在までの経過時間を計測するものである。内部にカウンタを有していてもよいし、入力部１０３が入力するコンテンツのタイムスタンプを参照するものであってもよい。
【０１５７】
実施形態２の図５を参照して説明した記録時の動作は、図９に示すものに置き換わり、実施形態２の図６を参照して説明した再生時の動作は、図１０に示すものに置き換わる。
【０１５８】
図９に示す動作は、図５に示す動作と比較すると、ステップＳ３１５、Ｓ３１７及びＳ３１９がステップＳ３６３、Ｓ３６５及びＳ３６７に置き換わる点が異なる。
【０１５９】
ステップＳ３６３では、経過カウンタ１４３の値を内部カウンタ１１５ａに設定する。ステップＳ３６５では、内部カウンタの値をオフセット単位（例えば、６４分に対応して６４という値の単位）で割った余りをカウンタ一時記憶部１４１に設けた一時カウント値に設定する。ステップＳ３６７では、内部カウンタの値をオフセット単位で割って切り捨てた値にオフセット単位を乗じた値をオフセット値として、それを暗号鍵シード記憶部１１３に格納する。
【０１６０】
例えば、経過カウンタ１４３の値が１００であり、オフセット単位が６４であれば、一時カウンタの値は３６となり、オフセット値は、６４となる。
【０１６１】
図１０に示す動作は、図６に示す動作と比較すると、ステップＳ３２３、Ｓ３２５、Ｓ３２７及びＳ３２９がステップＳ３６９、Ｓ３７１、Ｓ３７３及びＳ３７５に置き換わる点が異なる。
【０１６２】
ステップＳ３６９、Ｓ３７１及びＳ３７３は、それぞれ、図９に示すステップＳ３６３、Ｓ３６５及びＳ３６７と同様であるので、これらの説明を省略する。
【０１６３】
ステップＳ３７５は、ステップＳ３２５と同様であり、ここでは、暗号鍵生成部１２１は、暗号鍵シード記憶部１１３に格納されている暗号鍵シードと、ステップＳ３６３で設定された内部カウンタ１１５ａの値を基に、新たな暗号鍵を生成する。
【０１６４】
ステップＳ３７７、Ｓ３７９及びＳ３８１は、それぞれ、図９に示すステップＳ３６３、Ｓ３６５及びＳ３６７と同様であるので、これらの説明を省略する。
【０１６５】
なお、カウンタ一時記憶部１４１に設ける一時カウンタを１ビットずつ１からゼロに変更することと、内部カウンタのカウント値や暗号鍵シード記憶部１１３内のカウント値を１だけ増加させることを対応付けて説明をしたが、カウンタ一時記憶部１４１に設ける一時カウンタを１ビットずつ１からゼロに変更することと、内部カウンタのカウント値や暗号鍵シード記憶部１１３内のカウント値を１だけ減少させることに対応付けてもよい。また、一時カウンタとの１対１との対応関係が保たれている限り、２進数で１つずつ増加したり減少したりするカウンタ以外のカウンタを内部カウンタ１１５ａとして利用してもよい。例えば、一時カウンタの実際に生じ得るすべての各ビットパターンと１対１との対応関係にある２進数を順に数えるようなカウンタを内部カウンタ１１５ａとして利用してもよい。例えば、内部カウンタ１１５ａとしてグレーコードのカウンタを利用してもよい。
【０１６６】
また、図１及び図８に示す装置は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
【図面の簡単な説明】
【０１６７】
【図１】本発明の実施形態１及び２によるコピーコントロール対応コンテンツ記録／再生装置の構成を示すブロック図である。
【図２】本発明の実施形態１においてコピーワンスのコンテンツを記録する方法を示すフローチャートである。
【図３】本発明の実施形態１においてコピーワンスのコンテンツを移動する方法を示すフローチャートである。
【図４】本発明の実施形態１においてコピーワンスのコンテンツを再生する方法を示すフローチャートである。
【図５】本発明の実施形態２においてコピーネバーのコンテンツをタイムシフト再生のために記録する方法を示すフローチャート（１／２）である。
【図６】本発明の実施形態２においてコピーネバーのコンテンツをタイムシフト再生のために記録する方法を示すフローチャート（２／２）である。
【図７】本発明の実施形態２においてコピーネバーのコンテンツをタイムシフト再生する方法を示すフローチャートである。
【図８】本発明の実施形態３によるコピーコントロール対応コンテンツ記録／再生装置の構成を示すブロック図である。
【図９】本発明の実施形態３においてコピーネバーのコンテンツをタイムシフト再生のために記録する方法を示すフローチャート（２／２）である。
【図１０】本発明の実施形態３においてコピーネバーのコンテンツをタイムシフト再生する方法を示すフローチャートである。
【符号の説明】
【０１６８】
１０１  記録媒体
１０３  入力部
１０５  暗号化部
１０７  暗号解読部
１０９  出力部
１１１  暗号鍵シード生成部
１１３  暗号鍵シード記憶部
１１５  カウンタ管理部
１１５ａ  内部カウンタ
１１７  暗号鍵記憶部
１２１  暗号鍵生成部
１３１  不揮発性メモリ
１３５  揮発性メモリ
１４１  カウンター一時記憶部
１４３  経過カウンタ
【図１】
0004787650.tif 000002
【図２】
0004787650.tif 000003
【図３】
0004787650.tif 000004
【図４】
0004787650.tif 000005
【図５】
0004787650.tif 000006
【図６】
0004787650.tif 000007
【図７】
0004787650.tif 000008
【図８】
0004787650.tif 000009
【図９】
0004787650.tif 000010
【図１０】
0004787650.tif 000011