(57)【要約】【課題】  スケーラブル・マルチメディアの完全にスケーラブルな暗号化のための例示的なシステム、および関連する方法を提供する。【解決手段】  本発明を使用して暗号化されたスケーラブル・ビットストリームは、暗号化された形態でスケーラブルな機構（feature）の完全な機能を保持する。例示的なスケーラブル暗号化は、スケーラブルな圧縮効率およびエラー復元力を低下させることなく、暗号化テキストに対してコーディング変換、速度シェーピング、およびその他の操作を直接に行うことが可能である。【選択図】  図２
2004310097.tif 000002
【特許請求の範囲】
【請求項１】
基本層および拡張層を有するスケーラブル・マルチメディア・コンテンツを受け取ること、
第１のスキームを使用して前記基本層のコンテンツを暗号化すること、および
第２のスキームを使用して前記拡張層のコンテンツを暗号化すること
を備えることを特徴とする方法。
【請求項２】
前記基本層の前記コンテンツまたは前記拡張層の前記コンテンツが少なくとも１つの個別のオブジェクトである場合、
前記少なくとも１つの個別のオブジェクトは、
フレーム、
ビデオ・オブジェクト・プレーン、
パケット、
ペイロード、
いくつかの連続するフレームを備える個別のオブジェクト、
いくつかのビデオ・オブジェクト・プレーンを備える個別のオブジェクト、
いくつかのパケットを備える個別のオブジェクト、
いくつかのペイロードを備える個別のオブジェクト、および
前記基本層または前記拡張層のコンテンツ全体を備える個別のオブジェクト
から成る個別のオブジェクトのグループから選択されることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のスキームは、前記基本層の前記コンテンツの少なくとも一部から基本層キーを導出することを含み、前記第２のスキームは、前記基本層キーを使用して前記拡張層の前記コンテンツを暗号化することを備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記基本層の前記コンテンツを暗号化することは、ストリーム暗号を使用することを特徴とする請求項２に記載の方法。
【請求項５】
前記ストリーム暗号は、ＲＣ４暗号化技術であることを特徴とする請求項４に記載の方法。
【請求項６】
前記基本層の前記コンテンツの少なくとも一部から前記基本層キーを生成するために、チェーン＆サム（Ｃ＆Ｓ）暗号化技術が使用されることを特徴とする請求項３に記載の方法。
【請求項７】
前記Ｃ＆Ｓ暗号化技術は、少なくとも部分的にブロック暗号で置き換えられることを特徴とする請求項６に記載の方法。
【請求項８】
前記ブロック暗号は、ＤＥＳ、ＡＥＳ、およびＲＣ５のうちの１つであることを特徴とする請求項７に記載の方法。
【請求項９】
前記ブロック暗号は、電子コードブック・モード（ＥＣＢ）、ブロック連鎖モード（ＣＢＣ）、またはオフセット・コードブック（ＯＣＢ）モードのうちの１つを使用することを特徴とする請求項８に記載の方法。
【請求項１０】
前記Ｃ＆Ｓ暗号化は、プレ・メッセージ認証コードのＤＥＳ暗号化をＲＣ５暗号化で置き換えることを備えることを特徴とする請求項６に記載の方法。
【請求項１１】
前記Ｃ＆Ｓ暗号化は、プレ・メッセージ認証コードのＤＥＳ暗号化をＡＥＳ暗号化で置き換えることを備えることを特徴とする請求項６に記載の方法。
【請求項１２】
前記Ｃ＆Ｓ暗号化は、可逆性のメッセージ認証コードを使用して、暗号化されるべき前記コンテンツ内のデータの一部を置き換えることを特徴とする請求項６に記載の方法。
【請求項１３】
前記メッセージ認証コードおよび暗号化キーは、ストリーム暗号器で使用されて前記データが暗号化されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記ストリーム暗号キーは、前記暗号化キーと暗号化されるべき前記データのハッシュ値の両方に依存することを特徴とする請求項１３に記載の方法。
【請求項１５】
前記スケーラブル・マルチメディア・コンテンツは、ＭＰＥＧ−４ＦＧＳプロファイル、ＳＭＡＲＴスケーラブル・ビットストリーム、またはＳＭＡＲＴ＋＋スケーラブル・ビットストリームに準拠するビットストリームであることを特徴とする請求項２に記載の方法。
【請求項１６】
グローバル・キーを使用して前記基本層の前記コンテンツを暗号化すること、および
前記グローバル・キーおよび前記基本層キーを使用して前記拡張層の前記コンテンツを暗号化することをさらに備えることを特徴とする請求項２に記載の方法。
【請求項１７】
前記基本層キーは、暗号化されるべき前記基本層の前記コンテンツの少なくとも一部に基づくハッシュ値を備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記基本層キーは、暗号化されるべき前記基本層の前記コンテンツの少なくとも一部に基づくハッシュ値の合計を備えることを特徴とする請求項１６に記載の方法。
【請求項１９】
ハッシュ値の前記合計は、暗号化されるべき前記基本層コンテンツの少なくとも一部に関する暗号化前のメッセージ認証コード（ｐｒｅ−ＭＡＣ）の少なくとも一部を備えることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記暗号化前のＭＡＣは、前記基本層のコンテンツの一部に置き換わって前記基本層のデータ・サイズの増加を防止することを特徴とする請求項１９に記載の方法。
【請求項２１】
前記暗号化前のＭＡＣは可逆性を有し、この可逆性により、暗号化されたＭＡＣを暗号化解除して前記暗号化前のＭＡＣにして、前記基本層の元のコンテンツを獲得することが可能になることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記暗号化前のＭＡＣは、ＤＥＳ暗号化技術、ＡＥＳ暗号化技術、ＲＣ５暗号化技術などのブロック暗号を使用して暗号化され、前記基本層の残りのコンテンツは、ストリーム暗号を使用して暗号化されることを特徴とする請求項２１に記載の方法。
【請求項２３】
前記ストリーム暗号は、ＲＣ４暗号化技術であることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記基本層の前記コンテンツを完全に暗号化することをさらに含み、完全に暗号化することは、オブジェクト・ヘッダを除き、前記基本層内のすべてのエントロピー・コーディングされたマルチメディア・データを暗号化することを備えることを特徴とする請求項２に記載の方法。
【請求項２５】
前記基本層の各フレームに関してチェーン＆サム暗号化を使用して、オブジェクト・ヘッダを除き、前記基本層内のすべてのエントロピー・コーディングされたマルチメディア・データを暗号化することをさらに備えることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記基本層を選択的に暗号化することをさらに備え、選択的に暗号化することは、前記基本層の各フレームから１つまたは複数のビット・セットだけを暗号化することを含み、ビット・セットが、ｉｎｔｒａ＿ｄｃ＿ｃｏｅｆｆｉｃｉｅｎｔビットの離散コサイン値、ｄｃｔ＿ｄｃ＿ｄｉｆｆｅｒｅｎｔｉａｌビットの離散コサイン値、離散コサイン変換係数の符号ビット、動きベクトルの符号ビット、および動きベクトル剰余の符号ビットから成る前記フレーム内のビット・セットのグループから選択されることを特徴とする請求項２に記載の方法。
【請求項２７】
前記第１のスキームは、グローバル・キーを使用して前記基本層を暗号化することを含み、前記第２のスキームは、前記グローバル・キーおよび前記基本層キーを使用して前記拡張層を暗号化することを含み、前記グローバル・キー、および基本層コンテンツから導出された前記キーが、暗号器に入力されて、前記拡張層内の離散コサイン変換係数の符号ビットとＸＯＲ演算されるビット・シーケンスを生成することを特徴とする請求項２に記載の方法。
【請求項２８】
前記ビット・シーケンスは、ランダムなシーケンス、または擬似ランダムなシーケンスであることを特徴とする請求項２７に記載の方法。
【請求項２９】
前記ビット・シーケンスからのビットのアレイを前記拡張層のフレームからの離散コサイン変換係数の符号ビットの対応するアレイとＸＯＲ演算して選択的に暗号化された拡張層を生成することをさらに備えることを特徴とする請求項２７に記載の方法。
【請求項３０】
前記ビット・シーケンスからのビットのアレイを前記基本層のフレームからの離散コサイン変換係数の符号ビットの対応するアレイとＸＯＲ演算して選択的に暗号化された基本層を生成することをさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記拡張層を暗号化するために、前記基本層を暗号化するためとは異なるビット・シーケンスを使用することをさらに備えることを特徴とする請求項３０に記載の方法。
【請求項３２】
前記ビット・シーケンスからのビットのアレイを前記拡張層のフレームからのテンポラル・ビデオ・オブジェクト・プレーン動きベクトルの対応するアレイとＸＯＲ演算して、前記選択的に暗号化された拡張層を生成することをさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３３】
前記テンポラル・ビデオ・オブジェクト・プレーン動きベクトルは、テンポラル・スケーラビリティを有するＭＰＥＧ−４ＦＧＳプロファイル、またはＳＭＡＲＴスケーラブル・ビットストリーム、またはＳＭＡＲＴ＋＋スケーラブル・ビットストリームに準拠することを特徴とする請求項３２に記載の方法。
【請求項３４】
各オブジェクト・ヘッダにフレーム・カウントを追加し、前記フレーム・カウントを前記暗号器への入力として使用して前記ビット・シーケンスを生成することをさらに備えることを特徴とする請求項３２に記載の方法。
【請求項３５】
前記第２のスキームは、前記拡張層の少なくとも一部を暗号化されていないままにすることを備えることを特徴とする請求項２に記載の方法。
【請求項３６】
前記第２のスキームは、前記拡張層を完全に暗号化されていないままにすることを備えることを特徴とする請求項３５に記載の方法。
【請求項３７】
前記基本層の前記コンテンツを暗号化することは、ストリーム暗号を使用することを特徴とする請求項３５に記載の方法。
【請求項３８】
前記ストリーム暗号は、ＲＣ４暗号化技術であることを特徴とする請求項３７に記載の方法。
【請求項３９】
前記第１のスキームは、前記基本層の前記コンテンツの少なくとも一部から基本層キーを導出し、前記拡張層の何らかのコンテンツが暗号化される場合、前記拡張層の前記コンテンツを、前記基本層キーを使用して暗号化することを備えることを特徴とする請求項３７に記載の方法。
【請求項４０】
前記基本層の前記コンテンツの少なくとも一部から前記基本層キーを生成するのにチェーン＆サム（Ｃ＆Ｓ）暗号化技術が使用されることを特徴とする請求項３９に記載の方法。
【請求項４１】
前記Ｃ＆Ｓ暗号化技術が、少なくとも部分的にブロック暗号で置き換えられることを特徴とする請求項４０に記載の方法。
【請求項４２】
前記ブロック暗号は、ＤＥＳ、ＡＥＳ、およびＲＣ５の１つであることを特徴とする請求項４１に記載の方法。
【請求項４３】
前記ブロック暗号は、電子コードブック・モード（ＥＣＢ）、ブロック連鎖モード（ＣＢＣ）、またはオフセット・コードブック（ＯＣＢ）モードの１つを使用することを特徴とする請求項４２に記載の方法。
【請求項４４】
前記Ｃ＆Ｓ暗号化は、プレ・メッセージ認証コードのＤＥＳ暗号化をＲＣ５暗号化で置き換えることを備えることを特徴とする請求項４０に記載の方法。
【請求項４５】
前記Ｃ＆Ｓ暗号化は、プレ・メッセージ認証コードのＤＥＳ暗号化をＡＥＳ暗号化で置き換えることを備えることを特徴とする請求項４０に記載の方法。
【請求項４６】
前記Ｃ＆Ｓ暗号化は、可逆性のメッセージ認証コードを使用して暗号化されるべき前記コンテンツ内のデータの一部を置き換えることを特徴とする請求項４０に記載の方法。
【請求項４７】
前記メッセージ認証コードおよび暗号化キーが、ストリーム暗号器で使用されて前記データが暗号化されることを特徴とする請求項４６に記載の方法。
【請求項４８】
ストリーム暗号キーは、前記暗号化キーと暗号化されるべき前記データのハッシュ値の両方に依存することを特徴とする請求項４７に記載の方法。
【請求項４９】
前記スケーラブル・マルチメディア・コンテンツは、ＭＰＥＧ−４ＦＧＳプロファイル、ＳＭＡＲＴスケーラブル・ビットストリーム、またはＳＭＡＲＴ＋＋スケーラブル・ビットストリームに準拠するビットストリームであることを特徴とする請求項３５に記載の方法。
【請求項５０】
グローバル・キーを使用して前記基本層の前記コンテンツを暗号化すること、および
前記グローバル・キーおよび前記基本層キーを使用して前記拡張層の前記コンテンツを暗号化することをさらに備えることを特徴とする請求項３５に記載の方法。
【請求項５１】
前記基本層キーは、暗号化されるべき前記基本層の前記コンテンツの少なくとも一部に基づくハッシュ値を備えることを特徴とする請求項５０に記載の方法。
【請求項５２】
前記基本層キーは、暗号化されるべき前記基本層の前記コンテンツの少なくとも一部に基づくハッシュ値の合計を備えることを特徴とする請求項５０に記載の方法。
【請求項５３】
ハッシュ値の前記合計は、暗号化されるべき前記基本層コンテンツの少なくとも一部に関する暗号化前のメッセージ認証コード（ｐｒｅ−ＭＡＣ）の少なくとも一部を備えることを特徴とする請求項５２に記載の方法。
【請求項５４】
前記暗号化前のＭＡＣは、前記基本層のコンテンツの一部に置き換わって前記基本層のデータ・サイズの増加を防止することを特徴とする請求項５３に記載の方法。
【請求項５５】
前記暗号化前のＭＡＣは可逆性を有し、この可逆性により、暗号化されたＭＡＣを暗号化解除して暗号化前のＭＡＣにして前記基本層の元のコンテンツを獲得することが可能になることを特徴とする請求項５４に記載の方法。
【請求項５６】
前記暗号化前のＭＡＣは、ＤＥＳ暗号化技術、ＡＥＳ暗号化技術、ＲＣ５暗号化技術などのブロック暗号を使用して暗号化され、前記基本層の残りのコンテンツは、ストリーム暗号を使用して暗号化されることを特徴とする請求項５５に記載の方法。
【請求項５７】
前記ストリーム暗号は、ＲＣ４暗号化技術であることを特徴とする請求項５６に記載の方法。
【請求項５８】
前記基本層の前記コンテンツを完全に暗号化することをさらに含み、完全に暗号化することは、オブジェクト・ヘッダを除き、前記基本層内のすべてのエントロピー・コーディングされたマルチメディア・データを暗号化することを備えることを特徴とする請求項３５に記載の方法。
【請求項５９】
前記基本層の各フレームに関してチェーン＆サム暗号化を使用して、オブジェクト・ヘッダを除き、前記基本層内のすべてのエントロピー・コーディングされたマルチメディア・データを暗号化することをさらに備えることを特徴とする請求項５８に記載の方法。
【請求項６０】
前記基本層を選択的に暗号化することをさらに備え、選択的に暗号化することは、前記基本層の各フレームから１つまたは複数のビット・セットだけを暗号化することを含み、ビット・セットが、ｉｎｔｒａ＿ｄｃ＿ｃｏｅｆｆｉｃｉｅｎｔビットの離散コサイン値、ｄｃｔ＿ｄｃ＿ｄｉｆｆｅｒｅｎｔｉａｌビットの離散コサイン値、離散コサイン変換係数の符号ビット、動きベクトルの符号ビット、および動きベクトル剰余の符号ビットから成る前記フレーム内のビット・セットのグループから選択されることを特徴とする請求項３５に記載の方法。
【請求項６１】
前記第１のスキームは、グローバル・キーを使用して前記基本層を暗号化し、前記拡張層の少なくとも一部が暗号化されるべき場合、前記グローバル・キーおよび前記基本層キーを使用して前記拡張層を暗号化することを含み、前記グローバル・キー、および基本層コンテンツから導出された前記キーが、暗号器に入力されて、前記拡張層内の離散コサイン変換係数の符号ビットとＸＯＲ演算されるビット・シーケンスを生成することを特徴とする請求項３５に記載の方法。
【請求項６２】
前記ビット・シーケンスは、ランダムなシーケンス、または擬似ランダムなシーケンスであることを特徴とする請求項６１に記載の方法。
【請求項６３】
前記ビット・シーケンスからのビットのアレイを前記拡張層のフレームからの離散コサイン変換係数の符号ビットの対応するアレイとＸＯＲ演算して選択的に暗号化された拡張層を生成することをさらに備えることを特徴とする請求項６１に記載の方法。
【請求項６４】
前記ビット・シーケンスからのビットのアレイを前記基本層のフレームからの離散コサイン変換係数の符号ビットの対応するアレイとＸＯＲ演算して選択的に暗号化された基本層を生成することをさらに備えることを特徴とする請求項６３に記載の方法。
【請求項６５】
前記拡張層を暗号化するために前記基本層を暗号化するためとは異なるビット・シーケンスを使用することをさらに備えることを特徴とする請求項６４に記載の方法。
【請求項６６】
前記ビット・シーケンスからのビットのアレイを前記拡張層のフレームからのテンポラル・ビデオ・オブジェクト・プレーン動きベクトルの対応するアレイとＸＯＲ演算して、前記選択的に暗号化された拡張層を生成することをさらに備えることを特徴とする請求項６３に記載の方法。
【請求項６７】
前記テンポラル・ビデオ・オブジェクト・プレーン動きベクトルは、テンポラル・スケーラビリティを有するＭＰＥＧ−４ＦＧＳプロファイル、またはＳＭＡＲＴスケーラブル・ビットストリーム、またはＳＭＡＲＴ＋＋スケーラブル・ビットストリームに準拠することを特徴とする請求項６６に記載の方法。
【請求項６８】
各オブジェクト・ヘッダにフレーム・カウントを追加し、前記フレーム・カウントを前記暗号器への入力として使用して前記ビット・シーケンスを生成することをさらに備えることを特徴とする請求項６６に記載の方法。
【請求項６９】
基本層および拡張層を有するスケーラブル・マルチメディア・ストリームのための基本層エンクリプタと、
拡張層エンクリプタと
を備えることを特徴とする装置。
【請求項７０】
前記スケーラブル・マルチメディア・ストリームは、ＭＰＥＧ−４ＦＧＳストリーム、またはテンポラル・スケーラビリティを有するＭＰＥＧ−４ＦＧＳストリーム、またはＳＭＡＲＴストリームであることを特徴とする請求項６９に記載の装置。
【請求項７１】
コンテンツ・ベースのキーを生成する、前記基本層エンクリプタ内部に含まれるコンテンツ・ベース・キー・ジェネレータをさらに備えることを特徴とする請求項６９に記載の装置。
【請求項７２】
前記コンテンツ・ベースのキーを使用して基本層コンテンツを暗号化してストリーム暗号キーを生成する基本層暗号器をさらに備えることを特徴とする請求項７１に記載の装置。
【請求項７３】
前記基本層暗号器は、前記コンテンツ・ベースのキーとともにグローバル・キーを使用してストリーム暗号キーを生成することを特徴とする請求項７２に記載の装置。
【請求項７４】
前記コンテンツ・ベースのキーを使用してビット・シーケンスを生成する前記拡張層エンクリプタ内部のランダム・ビット・エンジンをさらに備え、前記ビット・シーケンスは、前記拡張層内の離散コサイン変換係数の符号ビットとＸＯＲ演算されてスケーラブルな拡張層が生成されることを特徴とする請求項７３に記載の装置。
【請求項７５】
前記ビット・シーケンスは、ランダムなビット・シーケンス、または擬似ランダムなビット・シーケンスであることを特徴とする請求項７４に記載の装置。
【請求項７６】
前記ビット・シーケンスを生成する前記ランダム・ビット・エンジン内部に含まれる暗号器をさらに含み、前記暗号器は、前記コンテンツ・ベースのキーおよびグローバル・キーを使用して前記ビット・シーケンスを生成することを特徴とする請求項７４に記載の装置。
【請求項７７】
前記ビット・シーケンスからのビットのアレイを保持するフレーム・ビットマスク・バッファをさらに含み、前記アレイは、拡張層フレーム内のビットの配列に対応することを特徴とする請求項７６に記載の装置。
【請求項７８】
拡張層フレームの離散コサイン変換係数の前記符号ビットを前記アレイからの対応するビット・セットとＸＯＲ演算するビットマスク・コンバイナをさらに備えることを特徴とする請求項７７に記載の装置。
【請求項７９】
フレーム内の各オブジェクトのヘッダにフレーム・カウントを追加するフレーム・マネージャをさらに備えることを特徴とする請求項７８に記載の装置。
【請求項８０】
前記暗号器は、前記フレーム・カウントを入力として使用して前記ビット・シーケンスを生成することを特徴とする請求項７９に記載の装置。
【請求項８１】
前記フレーム・ビットマスク・コンバイナは、前記拡張層のフレームからのテンポラル・ビデオ・オブジェクト・プレーン動きベクトルのアレイを、前記ビットのアレイ内の対応するビットとＸＯＲ演算して、スケーラブルな暗号化された拡張層フレームを生成することを特徴とする請求項８０に記載の装置。
【請求項８２】
基本層内のコンテンツから導出されたキーを使用してスケーラブル・マルチメディア・ストリームの前記基本層を、前記スケーラブル・マルチメディア・ストリームのスケーラビリティを維持する態様で、暗号化すること、
前記基本層内のコンテンツから導出された前記キーを使用してスケーラブル・マルチメディア・ストリームの拡張層を、前記スケーラブル・マルチメディア・ストリームのスケーラビリティを維持する態様で、暗号化すること
を実行するようにコンピュータによって実行可能な命令を備えることを特徴とする１つまたは複数のコンピュータ可読メディア。
【請求項８３】
前記基本層内のコンテンツから導出された前記キーと前記スケーラブル・マルチメディア・ストリームに関するグローバル・キーをともに使用して前記基本層および前記拡張層を暗号化する命令をさらに備えることを特徴とする請求項８２に記載の１つまたは複数のコンピュータ可読メディア。
【請求項８４】
チェーン＆サム暗号化技術を使用して前記スケーラブル暗号化を実行する命令をさらに備え、前記基本層の前記コンテンツの少なくとも一部のハッシュ値の合計は、前記基本層内のコンテンツから導出された前記キーを備えることを特徴とする請求項８２に記載の１つまたは複数のコンピュータ可読メディア。
【請求項８５】
ハッシュ値の前記合計は、暗号化されるべき前記基本層コンテンツの少なくとも一部に関する暗号化前のメッセージ認証コード（ＭＡＣ）の少なくとも一部を備えることを特徴とする請求項８４に記載の１つまたは複数のコンピュータ可読メディア。
【請求項８６】
前記暗号化前のＭＡＣは、暗号化されるべき前記基本層コンテンツの一部に置き換わって、前記基本層のデータ・サイズの増加を防止し、前記暗号化されたマルチメディア・ストリームのスケーラビリティを保つことを特徴とする請求項８５に記載の１つまたは複数のコンピュータ可読メディア。
【請求項８７】
前記暗号化前のＭＡＣは可逆性を有し、この可逆性により、暗号化されたＭＡＣを暗号化解除して前記暗号化前のＭＡＣにして、元の基本層コンテンツを獲得することが可能になることを特徴とする請求項８６に記載の１つまたは複数のコンピュータ可読メディア。
【請求項８８】
前記基本層を完全に暗号化する命令をさらに含み、完全に暗号化する処置は、オブジェクト・ヘッダを除き、前記基本層内のすべてのエントロピー・コーディングされたマルチメディア・データを暗号化する処置を備えることを特徴とする請求項８７に記載の１つまたは複数のコンピュータ可読メディア。
【請求項８９】
前記基本層の各フレームに関してチェーン＆サム暗号化を使用して、オブジェクト・ヘッダを除き、前記基本層内のすべてのエントロピー・コーディングされたマルチメディア・データを暗号化する命令をさらに備えることを特徴とする請求項８８に記載の１つまたは複数のコンピュータ可読メディア。
【請求項９０】
前記基本層を選択的に暗号化する命令をさらに備え、選択的に暗号化する処置は、前記基本層の各フレームから１つまたは複数のビット・セットだけを暗号化する処置を含み、ビット・セットが、ｉｎｔｒａ＿ｄｃ＿ｃｏｅｆｆｉｃｉｅｎｔビットの離散コサイン値、ｄｃｔ＿ｄｃ＿ｄｉｆｆｅｒｅｎｔｉａｌビットの離散コサイン値、離散コサイン変換係数の符号ビット、動きベクトルの符号ビット、および動きベクトル剰余の符号ビットから成る前記フレーム内のビット・セットのグループから選択されることを特徴とする請求項８９に記載の１つまたは複数のコンピュータ可読メディア。
【請求項９１】
グローバル・キーを使用して前記基本層を暗号化する命令と、
前記グローバル・キーおよび基本層のコンテンツから導出された前記キーを使用して前記拡張層を暗号化する命令と
をさらに備え、前記グローバル・キー、および基本層コンテンツから導出された前記キーは、暗号器に入力されて、前記拡張層内の離散コサイン変換係数の符号ビットとＸＯＲ演算されるビット・シーケンスが生成されることを特徴とする請求項９０に記載の１つまたは複数のコンピュータ可読メディア。
【請求項９２】
前記ビット・シーケンスからのビットのアレイを前記拡張層のフレームからの離散コサイン変換係数の符号ビットの対応するアレイとＸＯＲ演算して選択的に暗号化された拡張層を生成する命令をさらに備えることを特徴とする請求項９１に記載の１つまたは複数のコンピュータ可読メディア。
【請求項９３】
前記ビット・シーケンスからのビットのアレイを前記拡張層のフレームからのテンポラル・ビデオ・オブジェクト・プレーンの動きベクトルの対応するアレイとＸＯＲ演算して、前記選択的に暗号化された拡張層を生成する命令をさらに備えることを特徴とする請求項９２に記載の１つまたは複数のコンピュータ可読メディア。
【請求項９４】
前記テンポラル・ビデオ・オブジェクト・プレーン動きベクトルは、テンポラル・スケーラビリティを有するＭＰＥＧ−４ＦＧＳプロファイル、またはＳＭＡＲＴスケーラブル・ビットストリームに準拠することを特徴とする請求項９３に記載の１つまたは複数のコンピュータ可読メディア。
【請求項９５】
各オブジェクト・ヘッダにフレーム・カウントを追加し、前記フレーム・カウントを前記暗号器への入力として使用して前記ビット・シーケンスを生成する命令をさらに備えることを特徴とする請求項８２に記載の１つまたは複数のコンピュータ可読メディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、マルチメディア保護に関し、より具体的には、スケーラブルなマルチメディアに関する完全にスケーラブルな暗号化に関する。
【背景技術】
【０００２】
スケーラブル・ビデオ・コーディングは、マルチメディア・コンテンツに対して、それが多くの異なるアプリケーションおよび環境に適合させることができるように、柔軟性および適応性付与する。スケーラブルなマルチメディア・フォーマットには、とりわけ、いくつかのＭＰＥＧストリーム・フォーマット、および「スケーラブル・メディア適合および堅牢なトランスポート」（ＳＭＡＲＴおよびＳＭＡＲＴ＋＋）（例えば、非特許文献１、非特許文献２、非特許文献３、および非特許文献４を参照）が含まれる。
【０００３】
ＭＰＥＧ−４は、個々のデバイスにスケーラビリティを提供するのにプロファイルを採用している。１つのそのようなＭＰＥＧ−４プロファイルは、「Ｓｉｍｐｌｅ」プロファイルと呼ばれている。「Ｓｉｍｐｌｅ」は、「Ｓｉｍｐｌｅ  Ｓｃａｌａｂｌｅ」などの他のプロファイルが拡張層を追加してスケーラビリティを提供することができる、ビデオ基本層を提供する。「Ａｄｖａｎｃｅ  Ｓｉｍｐｌｅ」と呼ばれる別のプロファイルは、「Ｓｉｍｐｌｅ」プロファイルにいくつかのコーディング・ツールを追加することによって四角形ビデオ・オブジェクト・コーディング（rectangular video object coding）を実行する。この「Ａｄｖａｎｃｅ  Ｓｉｍｐｌｅ」プロファイルは、最新のＭＰＥＧ−４コーディング効率ツールを有してはいるが、スケーラビリティを全く提供しない。「Ａｄｖａｎｃｅ  Ｓｉｍｐｌｅ」基本層に細粒度の（fine-grained）拡張層を追加することによってスケーラブル・ビデオコーティング・スキームを提供するさらに別のＭＰＥＧ−４プロファイルは、「Ｆｉｎｅ  Ｇｒａｎｕｌａｒｉｔｙ  Ｓｃａｌａｂｉｌｉｔｙ」（ＦＧＳ）と呼ばれている。ＦＧＳは標準になっている。
【０００４】
これらのスケーラブルＭＰＥＧ−４プロファイルで使用される基本層は、ビットレートの下限でスケーラブルでない形でエンコードされる。ＦＧＳプロファイルは、同じ拡張層で可能なビットレートの範囲内の各ビットレートに関して最適なビデオ品質を実現しようと努める低いビットレートの基本層から予測された拡張層を含む。拡張層は、スケーラブルな形でエンコードされる。すなわち、フレームの残りの離散コサイン変換（ＤＣＴ）係数が、最上位ビットから最下位ビットまでビット・プレーンごとに（bit-plane wise）圧縮される。ビデオは、ＭＰＥＧ−４ＦＧＳによって１回だけ圧縮される。ビデオがネットワークを介して伝送される際、伝送ネットワークに必要とされる帯域幅が不足しているようなことがあれば、サーバは、最下位ビットに関連する拡張層データを破棄することができる。その他の速度シェーピング操作（rate shaping operation）も、圧縮または展開に頼ることなく、圧縮された拡張層データに対して直接に実行することができる。前述したＦＧＳプロファイルを本明細書でＭＰＥＧ−４ＦＧＳ、または単に「ＦＧＳ」と呼ぶ。
【０００５】
様々なスケーラブルＭＰＥＧ−４プロファイルに準拠するマルチメディア・ストリームに関するマルチメディア暗号化技術は、理想的には、スケーラブルでないコーデックにおいて望ましい特徴と同じ特徴を有する。すなわち、高いセキュリティ、低い複雑性、低い圧縮オーバーヘッド、エラー耐性（error resilience）、速度シェーピング適合性、およびランダム再生能力である。次に、これらのいくつかをより詳細に説明する。
【０００６】
セキュリティは、マルチメディア暗号化の必要不可欠な要件である。軍事プロセスや銀行業務プロセスなどのよりクリティカルなアプリケーションに関する他のタイプの暗号化と比べると、マルチメディア暗号化は、軍事データおよび銀行業務データと比べて、暗号化されるべき（ビデオ）データが比較的大量であること、およびデータの価値が特質上低いことを含め、それ自身の特有の問題を有する。
【０００７】
あらゆる暗号化プロセスまたは暗号化解除プロセスは、処理オーバーヘッドを付加するので、低い複雑性は、特徴付ける機能である。マルチメディア・ストリームは、比較的大量のデータを有するので、多くのアプリケーションにおいて、暗号化システムの複雑性が、非常に低いことが望ましいか、または必須であり、多くのアプリケーションは、通常ユーザの限られた設備上で大量のマルチメディア・データのリアルタイムの暗号化解除を、必要とするので、特に暗号化解除中、暗号化システムの複雑性が、非常に低いことが望ましいか、または必須である。
【０００８】
また、暗号化は、圧縮アルゴリズムのコーディング効率を低下させること、または既に圧縮済みのファイルにバイトを追加することによって圧縮効率に不可避に影響を及ぼすので、圧縮オーバーヘッドも、特徴付ける機能である。したがって、圧縮オーバーヘッドは、マルチメディア暗号化アルゴリズムに対して理想的に最小限に抑えられる。
【０００９】
エラー復元力は、マルチメディアの格納中および伝送中に障害が生じるので、暗号化にとって重要であるの。ワイヤレス・ネットワークは、伝送エラーで有名である。データパケットが、輻輳、バッファ・オーバーフロー、およびその他のネットワークの不完全さに起因して失われる可能性がある。暗号化スキームは、理想的には、ビット・エラーおよびパッケージ損失に対する復元力を有さなければならない。また、暗号化スキームは、ビット・エラーからの迅速な回復、およびパッケージ損失からの高速の再同期、を可能にして広範なエラー伝搬を防止することも行わなければならない。多くのマルチメディア暗号化アルゴリズムは、通常、完璧な伝送環境の下で設計されており、伝送中にビット・エラーまたはパッケージ損失が生じた場合、大幅な知覚的な劣化（perceptual degradation）を伝搬させる。
【００１０】
速度シェーピング（Rate shaping）とは、様々な条件に合うように伝送ビットレート（１秒間のストリーム内のビット数）を変更する能力のことである。コンテンツ所有者からユーザへのマルチメディア・ストリーム配信中、多くの中間ステージが、通常、そのデータを処理する。例えば、コーディング変換（transcoding）により、伝送帯域幅の変動に適合するように、またはアプリケーション要件にさえ適合するようにビットレートが変更される可能性がある。データが暗号化されている場合、それらの中間ステージは、データを処理するために、通常、暗号化キーおよび暗号化解除キーを呼び出して、暗号化解除のサイクルおよび暗号化のサイクルを実行しなければならない。このことは、暗号化の秘密が、それらの中間ステージと共有されなければならないので、処理オーバーヘッドを増大させ、セキュリティを低下させる。
【００１１】
前述したセキュリティの特徴に関連して、しばしば、デジタル著作権管理（ＤＲＭ）のためにマルチメディア・ストリームを暗号化することが望ましい。そのような暗号化は、コンテンツ所有者が、マルチメディア・コンテンツのライセンス供与などの著作権およびその他の所有権を行使するのを手助けすることができる。
【００１２】
スケーラブルでないビデオを暗号化する多くのアルゴリズムが提案されてきている。最も単純明快な方法は、圧縮されたストリームに対して、あたかもそれがテキスト・データであるかのように同じ形で、ＤＥＳなどの標準の暗号化スキームを適用する素朴なアルゴリズムである（非特許文献５参照）。素朴なアルゴリズムは、通常、処理されるべき大量のビデオ・データに起因して大きい処理オーバーヘッドを有する。素朴なアルゴリズムは、最低限のエラー復元力しか有さず、暗号化テキストに対して直接に速度シェーピングを行うことを可能にしない。
【００１３】
別の方法として、ビデオ・ストリーム構造を活用し、圧縮されたビデオ・データの一部だけを暗号化する選択的アルゴリズム（非特許文献６および非特許文献７参照）が提案されている。暗号化される部分的データは、Ｉフレーム、Ｉフレームに加えてＰフレーム内およびＢフレーム内のすべてのＩブロック、またはそのＩブロックのＤＣ係数とより低いＡＣ項とすることが可能である。Ｉフレームだけを暗号化することは、Ｐフレーム内およびＢフレーム内で公開されたＩブロック、ならびにフレーム間の相関に起因して、十分なセキュリティを提供しない（非特許文献５参照）。
【００１４】
暗号化されるべきデータを減少させる方法として、Ｉフレームのかたまりに関して偶数インデックスにおけるバイトだけを暗号化し、残りを、奇数インデックスの付いたサブシーケンスを偶数インデックスの付いたサブシーケンスとＸＯＲ演算した結果で置き換える方法（非特許文献８参照）が提案されている。
【００１５】
別の選択的アルゴリズムとして、すべてのＤＣＴ係数の符号ビットを擬似ランダムに変更する方法（非特許文献９参照）、またはＩブロックのＤＣ係数の差分値（differential value）の符号ビット、および動きベクトルの差分値の符号ビットを擬似ランダムに変更する方法（非特許文献１０参照）も提案されている。
【００１６】
第３の手法は、一部の圧縮パラメータにスクランブルをかけたり、またはコードワードをシャッフル（shuffle）したりして、許可のないユーザが正しい展開（圧縮解除）を行うのを防止するスクランブル・アルゴリズムである。単純なスキームは、２Ｄブロックを１Ｄベクトルにマップするのに、通常のジグザグの順序ではなく、ランダムな置き換えを使用する（非特許文献１１参照）。動きベクトルおよび選択されたＤＣＴ係数を、エントロピー・コーディングを行う前にシャッフルすることができる（非特許文献１２および非特許文献１３参照）。
【００１７】
ＶＬＣ（可変長コーディング）も、フォーマットに準拠する形でシャッフルすることができる（非特許文献１４参照）。以上のスキームは、データの統計的特性を変化させ、これにより、圧縮効率を低下させる。ビット・オーバーヘッドを被ることなく機能するスキームも提案されている。圧縮ビットストリームのコードワードを空間的にシャッフルする方法（非特許文献１５参照）も提案されている。
【００１８】
前述したスキームの一部、およびその他のスキーム、例えば、ほとんどのスクランブル・アルゴリズムも、ＭＰＥＧ−４ＦＧＳに同様に適用可能であるが、スケーラブルでないマルチメディア向けに開発されているほとんどの暗号化スキームは、スケーラブル・マルチメディアに適用された場合、しばしば、スケーラビリティの特徴を、減じるか、または損なう。そのような暗号化されたスケーラブル・ストリームにスケーラブル操作を提供するために、中間伝送ステージは、しばしば、ストリームを暗号化解除し、コーディング変換および／またはビット削減（bit reduction）などの速度シェーピングを適用した後、ストリームを再暗号化しなければならない。したがって、スケーラビリティの特徴を保ちながら、スケーラブル・マルチメディア・ストリームを暗号化するための技術が必要とされている。
【００１９】
スケーラブル・フォーマット向けに特に設計されたスキームが、最近、報告されている。ウィー（Ｗｅｅ）他が、暗号化解除なしにコーディング変換を可能にするセキュアなスケーラブル・ストリーミング（ＳＳＳ）スキームを提案している（非特許文献１６参照）。ＭＰＥＧ−４ＦＧＳに関して、この手法は、ヘッダ・データを除き、基本層と拡張層の両方においてビデオ・データを暗号化する。中間ステージがＲＤ最適ビットレート削減を実行するように速度歪曲最適（rate distortion optimal）（ＲＤ最適）カットオフ・ポイントに関するヒントを暗号化されていないヘッダの中に挿入しなければならない。暗号化細粒度（Encryption granularity）は、ビデオ・ストリームがパケット化されている仕方に依存する。より正確には、各パケットに暗号化が適用される。これは、暗号化がＳＳＳにおいて適用される場合、パケット・サイズが分かっていなければならないことを意味する。ＳＳＳにおいて暗号化が行われた後、パケット・サイズの変更は、全く許されない。現実のアプリケーションでは、１つのタイプの伝送チャネル向けに設計されたパケット・サイズは、別のタイプの伝送チャネルには適切でない可能性がある。例えば、ワイヤレス伝送のためのビデオ・パケット・サイズは、チャネルにエラーが生じやすいため、小さくなければならない。インターネット伝送の場合、インターネットに関するエラー率は非常に小さいので、ビデオパケットは、効率的な伝送のために大きくなければならない。その伝送チャネルに最適なパケット・サイズに変更することを望むいずれの中間ステージも、ＳＳＳにおける暗号化解除／再暗号化サイクルに依存する必要がある。
【００２０】
Ｇｒｏｓｂｏｉｓ他が、ＪＰＥＧ２０００のイメージ圧縮標準のためのスケーラブル認証−アクセス制御スキームを提案している（非特許文献１７参照）。このスキームは、ビットストリーム内の情報の変更および挿入に基づいている。キー付ハッシュ値（keyed hash value）が、高周波数帯域ウェーブレット係数の符号を擬似ランダムに反転させるのに使用される擬似ランダム・シーケンスを生成するのに使用される。階層化されたアクセス構造（layered access structure）が、異なるアプリケーションに対する適合を可能にしている。このスキームの大きな欠点の１つは、暗号化解除を助ける追加の情報の挿入にあり、これにより、圧縮効率を低下させている。
【００２１】
【非特許文献１】ワシントン州レッドモンド市のマイクロソフト・コーポレーションの<http://research.microsoft.com/im/>
【非特許文献２】Feng Wu, Shipeng Li, Ya-Qin Zhang, "A framework for efficient progressive fine granular scalable video coding", IEEE Trans. on Circuits and Systems for Video Technology, vol. 11, no. 3, pp. 332-344, 2001
【非特許文献３】Xiaoyan Sun, Feng Wu, Shipeng Li, Wen Gao, Ya-Qin Zhang, "Macroblock-based temporal-SNR progressive fine granularity scalable video coding", IEEE International Conference on Image Processing (ICIP), pp. 1025-1028, Thessaloniki, Greece, October, 2001
【非特許文献４】Yuwen He, Feng Wu, Shipeng Li, Yuzhuo Zhong, Shiqiang Yang, "H.26L-based fine granularity scalable video coding", ISCAS 2002, vol. 4, pp. 548-551, Phoenix, USA, May 2002
【非特許文献５】I. Agi and L. Gong, "An Empirical Study of Secure MPEG Video Transmissions," Proc. Symp. Network & Distributed System Security, 1996, pp. 137-144
【非特許文献６】T. B. Maples and G. A. Spanos, "Performance Study of a Selective Encryption Scheme for the Security of Networked, Real-time Video," Proc. 4th Int. Conf. Computer Communications & Networks, 1995
【非特許文献７】J. Meyer and F. Gadegast, "Security Mechanisms for Multimedia Data with the Example MPEG-1 Video," http://www.gadegast.de/frank/doc/secmeng.pdf, 1995
【非特許文献８】L. Qiao and K. Nahrstedt, "Comparison of MPEG Encryption Algorithms," Int. J. Computers & Graphics, Special Issue: "Data Security in Image Communication and Network", vol. 22, no. 3, 1998)
【非特許文献９】C. Shi and B. Bhargava, "A Fast MPEG Video Encryption Algorithm," Proc. of ACM Multimedia'98, 1998, pp. 81-88
【非特許文献１０】C. Shi and B. Bhargava, "An Efficient MPEG Video Encryption Algorithm," IEEE Proc. 17th Symp. Reliable Distributed Systems, 1998, pp. 381-386
【非特許文献１１】L. Tang, "Method for Encrypting and Decrypting MPEG Video Data Efficiently," Proc. ACM Multimedia'96, 1996, pp. 219-230
【非特許文献１２】W. Zeng and S. Lei, "Efficient Frequency Domain Video Scrambling for Content Access Control," Proc. ACM Multimedia'99, 1999, pp. 285-294
【非特許文献１３】W. Zeng and S. Lei, "Efficient Frequency Domain Selective Scrambling of Digital Video," IEEE Trans. Multimediaに掲載予定の予稿
【非特許文献１４】J. Wen, M. Severa, W. Zeng, M. H. Luttrell, and W. Jin, "A Format-compliant Configurable Encryption Framework for Access Control of Video," IEEE Trans. Circuits & Systems for Video Technology, vol. 12, no. 6, 2002, pp. 545-557
【非特許文献１５】W. Zeng, J. Wen, and M. Severa, "Fast Self-synchronous Content Scrambling by Spatially Shuffling Codewords of Compressed Bitstreams," IEEE Int. Conf. Image Processing, 2002, vol. 3, pp. 169-172
【非特許文献１６】S. J. Wee and J. G. Apostolopoulos, "Secure Scalable Streaming Enabling Transcoding Without Decryption," IEEE Int. Conf. Image Processing, 2001, vol. 1, pp. 437-440
【非特許文献１７】Raphael Grosbois, Pierre Gergelot, and Touradj Ebrahimi, "Authentication and Access Control in the JPEG 2000 compressed domain," Proc. of SPIE 46th Annual Meeting, Applications of Digital Image Processing XXIV, San Diego, 2001
【非特許文献１８】Mariusz H. Jakubowski, Ramarathnam Venkatesan, "The Chain & Sum Primitive and Its Applications to MACs and Stream Ciphers", EUROCRYPT'98, pp. 281-293, 1998
【発明の開示】
【発明が解決しようとする課題】
【００２２】
上述したように、ウィー（Ｗｅｅ）他が、暗号化解除なしにコーディング変換を可能にするセキュアなスケーラブル・ストリーミング（ＳＳＳ）スキームを提案しているが、このスキームにおいては、その伝送チャネルに最適なパケット・サイズに変更することを望むいずれの中間ステージも、ＳＳＳにおける暗号化解除／再暗号化サイクルに依存する必要があるという欠点を有している。
【００２３】
また、上述したように、Ｇｒｏｓｂｏｉｓ他が、ＪＰＥＧ２０００のイメージ圧縮標準のためのスケーラブル認証−アクセス制御スキームを提案しているが、、暗号化解除を助ける追加の情報の挿入を必要として、これが、圧縮効率を低下させるという大きな欠点を有している。
【課題を解決するための手段】
【００２４】
本発明は、スケーラブル・マルチメディアについて完全にスケーラブルに暗号化するための例示的なシステムおよび関連する方法を含む。本発明を使用して暗号化されたスケーラブル・ビットストリームは、暗号化された形態で、スケーラブルな機能（scalable features）の完全な機能性を保つ。例示的なスケーラブル暗号化は、スケーラブル圧縮効率およびエラー復元力を低下させることなく、暗号化テキストに対して、コーディング変換、速度シェーピング、およびその他の操作を直接に行うことを可能にする。本発明は、例えば、ＭＰＥＧ−４ＦＧＳ、ＭＰＥＧ−４ＦＧＳＴ、ＳＭＡＲＴ、およびＳＭＡＲＴ＋＋ストリームを含むスケーラブル・マルチメディア・ストリームに適用することができる。
【００２５】
例示的なスケーラブル方法は、基本層だけを暗号化する。別の例示的なスケーラブル方法は、スケーラブル・マルチメディア・ストリームの基本層と拡張層をともに暗号化する。基本層は、軽いセキュリティ要件に関して選択的に暗号化すること、またはより厳格なセキュリティ要件のために完全に暗号化することができる。
【発明を実施するための最良の形態】
【００２６】
概要
本発明は、新たに採用されたＭＰＥＧ−４  Ｆｉｎｅ  Ｇｒａｎｕｌａｒｉｔｙ  Ｓｃａｌａｂｉｌｉｔｙ（ＦＧＳ）ビデオ・コーディング標準、およびＳＭＡＲＴビデオ−オーディオ・コーディングのような他のスケーラブル・マルチメディア・コーディング・スキームを遵守するビットストリームなどのスケーラブル・マルチメディアを、完全にスケーラブルに暗号化するためのシステム、および関連する方法を含む。これらのスケーラブル・ビットストリームは、異なる伝送ニーズおよびアプリケーションニーズに対する、同ストリームの、容易で柔軟性のある適合を可能にする完全なスケーラビリティを提供する。本発明は、暗号化解除されたスケーラブル・ビットストリームのスケーラビリティの特徴を保つように努める暗号化技術を提供する。そのような例示的なシステム、および関連する方法は、スケーラブル・マルチメディア・コーディング・スキームを介する暗号化ベースのデジタル権利管理（ＤＲＭ）に役立つ。
【００２７】
本発明の一態様によれば、比較的低い複雑性を有する例示的な方法が、デジタル権利管理などのアプリケーションのためにスケーラブル・ビットストリームを暗号化するように提供される。この例示的な方法は、暗号化された暗号化テキストを直接に使用して完全なＦＧＳ機能を可能にする。これにより、ビットストリームに対する中間操作中に、ビットストリームを暗号化解除する必要性が阻止される。本発明を使用して、動的な環境にビットストリームを適合させるプロセスまたはデバイス（例えば、限られた帯域幅を有するネットワークに合うようにストリームのビットレートを低減するネットワーク・デバイス）などの中間ステージは、暗号化テキストを暗号化解除することなく、コーディング変換、速度シェーピング、および再パケット化、などのＦＧＳ操作を実行することができる。暗号化サイクルおよび暗号化解除サイクルが、伝送中に各中間デバイスによって繰り返される必要がないので、キーおよびその他の秘密が中間ステージと共有されることもなく、より良好なセキュリティを維持することができる。これにより、中間ステージにかかる処理負荷が大幅に軽減され、例示的なスケーラブル暗号化システムの終端間セキュリティ（end-to-end security）が向上する。また、例示的な暗号化システム２００は、細粒度も保ち、切り捨て（truncation）や他の速度シェーピング操作が行われた場合でも、残りのＦＧＳがＲＤ最適化されたビデオ・ストリームであるようにする。
【００２８】
さらに、例示的な暗号化のシステムおよび方法は、スケーラブル圧縮効率、ならびに伝送パケット損失とビット・エラーに対するエラー復元力、に対する低下を全く生じさせない。また、例示的なシステムおよび方法は、暗号化されたストリームのランダム・アクセスおよびリバース再生（reverse play）も可能にする。
【００２９】
例示的なスケーラブル暗号化システムの概要
図１は、基本層１０６、および基本層１０６に基づく拡張層１０８から成るスケーラブル・マルチメディア・コンテンツ１０２に対する例示的なスケーラブル暗号化システム１００を示している。システム１００は、基本層１０６を受け取り、少なくとも１つのキーまたは秘密（secret）を使用して、基本層１０６を、選択的に暗号化された、または完全に暗号化された基本層２１２に変換する、基本層エンクリプタ（encrypter）１０４を含む。拡張層１０８は、元の（すなわち、暗号化されていない）スケーラブル・マルチメディア・コンテンツ１０２の完全なスケーラビリティを保つために暗号化されない。
【００３０】
図２は、異なるスキームで、基本層１０６と拡張層１０８をともに暗号化する別の例示的なスケーラブル暗号化システム２００を示している。例示的なシステム２００は、例示的な暗号化エンジン２０４を有する例示的なマルチメディア・デバイス２０２を含む。暗号化エンジン２０４は、拡張層エンクリプタ２０８と通信するように結合された基本層エンクリプタ１０４を含む。
【００３１】
例示的なマルチメディア・デバイス２０２は、基本層１０６および少なくとも１つの拡張層１０８を有するスケーラブル・マルチメディア・コンテンツ１０２、例えば、スケーラブルＭＰＥＧ−４ＦＧＳビットストリームを受け取り、例示的な暗号化エンジン２０４を使用してそのマルチメディア・コンテンツ１０２を暗号化して、スケーラブル暗号化されたマルチメディア・コンテンツ２１０にする。例示的な暗号化エンジン２０４は、マルチメディア・コンテンツ１０２の基本層１０６と拡張層１０８をともに受け取り、基本層コンテンツに基づく少なくとも１つのキー、秘密、および／またはその他の情報（例えば、以下に説明する「基本層キー」）を使用して、拡張層１０８を、選択的に暗号化された拡張層２１４に変換する。コンテンツ・ベースの基本層キーに加えて、他の情報およびグローバル・キーも暗号化に使用することができる。グローバル・キーは、フレーム全体、セル、ストリーム・セグメント、またはストリームを暗号化するのに使用される任意の情報である。通常、グローバル暗号化解除キーは、ビデオ全体、ムービー等に関するマルチメディア・ストリームの暗号化をロック解除するための暗号化解除秘密を指す。複数のキー、情報、および秘密は、ストリーム暗号キーと呼ぶことが可能であり、あるいは実際に結合されてストリーム暗号キーになることも可能である。
【００３２】
本明細書で、ＦＧＳビットストリームは、スケーラブル・マルチメディア・コンテンツ１０２の例として使用する。ＦＧＳは、マルチメディア・コンテンツ１０２を１つの基本層１０６に分割し、以下の例では、１つの拡張層１０８に分割する。ＦＧＳプロファイルにおいて、ＦＧＳビデオ・オブジェクト・プレーン（plane）モード（ＦＧＳ  ＶＯＰ）は、基本層１０６を拡張層ＶＯＰの予測のための基準ソースとして使用し、ＦＧＳテンポラル・ビデオ・オブジェクト・プレーン・モード（FGS temporal video object plane mode；ＦＧＳＴ  ＶＯＰ）は、拡張層ＶＯＰに関して基本層１０６からの順方向予測、逆方向予測、または双方向予測を使用することができる。
【００３３】
例示的な暗号化エンジン
図３は、図２の例示的な暗号化エンジン２０４をより詳細に示している。マルチメディア・コンテンツ１０２から基本層１０６を受け取る（かつ／または取り出す）基本層エンクリプタ１０４が、マルチメディア・コンテンツ１０２から１つまたは複数の拡張層１０８を受け取る（かつ／または取り出す）拡張層エンクリプタ２０８と通信するように結合されている。例示的な暗号化エンジン２０４は、着信するマルチメディア・コンテンツ１０２に加えて、１つまたは複数のグローバル・キー３１８、またはその他の暗号化情報を受け取ることができる。
【００３４】
基本層エンクリプタ
例示的な暗号化エンジン２０４の１つの実装では、基本層エンクリプタ１０４は、図示するとおり、制御論理３０８と通信するように結合されたコンテンツ・ベースのキー・ジェネレータ３０２、ストリーム暗号器（cipher）３０４、および乱数発生器３０６などの例示的なスケーラブル暗号化を実行するコンポーネントを有する。
【００３５】
１つの実装では、この例示的な暗号化エンジン２０４は、「Ｃ＆Ｓ暗号化」と呼ばれるＪａｋｕｂｏｗｓｋｉおよびＶｅｎｋａｔｅｓａｎによる暗号化技術の変形を使用する（参照により本明細書に組み込まれている非特許文献１８）。Ｃ＆Ｓ暗号化は、合計を伴う全般的なブロックの連鎖（universal block chaining with sum）、またはチェーン（chain）とサム（sum）のプリミティブ（略してＣ＆Ｓ）を表わし、これらは、データを暗号化するため、および認証するために組み合わせて適用される。このプリミティブは、合計するステップに適用される「弱い」ＣＢＣタイプの暗号化であり、ビデオ・ストリーム内のデータのブロックを暗号化するためのストリーム暗号器のフロントエンドとして使用される。
【００３６】
例示的な暗号化エンジン２０４によって実行されるにつれ、入力データのシーケンス、例えば、基本層コンテンツ（数百の「機械ワード」から成る、またはそれに類似した）のビデオ・フレームまたはビデオ・セルを表わすマルチメディア・コンテンツ１０２のセグメントが、ＣＢＣタイプのプリミティブによって処理される。プリミティブにおいて、暗号（cipher）が、交互に適用される１対の可逆な汎用ハッシュ関数（invertible hash functions）によって置き換えられる。基本層コンテンツの出力ワードは、合計され、フレーム内またはセル内の最後の「ワード」の次に（next-to-last "word"）に書き込まれる。「ｐｒｅ−ＭＡＣ」（「ＭＡＣ」は、メッセージ認証コードの略語である）と呼ばれる最後の２つのワードは、ブロック暗号（cipher）で暗号化される。このｐｒｅ−ＭＡＣ値は、黙示的に、基本層コンテンツに関するＭＡＣ値であり、拡張層１０８を暗号化するためのキーのコンテンツ・ベースの部分の役割をすること、ならびに基本層１０６自体を暗号化するためのコンテンツ・ベースの情報３１２の役割をすることも可能である。ｐｒｅ−ＭＡＣは、基本層キー３１０として使用される場合、ストリーム暗号器３０４、３１４の少なくとも１つを同期させるため、ストリーム暗号キー３１６を生成するため、または基本層暗号器３０４を使用する擬似ランダム・ワンタイム・パッド（one-time pad）を計算して大量（bulk）の基本層コンテンツの残りの部分を暗号化するために、直接に、または間接的に使用することができる。
【００３７】
例示的な暗号化エンジン２０４は、大量のデータを暗号化することができるが、暗号化は、１回だけ（基本層１０６および拡張層１０８ごとに）適用するだけでよく、例えば、この暗号化は、ＦＧＳスキームにおいて１回限りの圧縮が実行されるのと同時に、適用することができる。例示的なＣ＆Ｓ暗号化は、他の暗号化ルーチンと比べて比較的低い複雑性を有するので、暗号化（および暗号化解除）は、比較的高速である。例示的な暗号化エンジン２０４によって適用される暗号化は、通常、圧縮効率あるいはエラー復元力に対する低下を生じさせない。
【００３８】
速度を高めるため、基本層暗号１０４は、基本層キー３１０、例えば、ｐｒｅ−ＭＡＣの暗号化に関して、ＤＥＳの代わりにＲＣ５、ＡＥＳ、または他のブロック暗号を使用することができる。例示的なＣ＆Ｓ暗号化は、コンテンツ・ベースのキー・ジェネレータ３０２が、暗号化されるべきデータの一部を置き換えるキーを生成するので、フレーム内、セル内等でデータ・サイズを増大させない。通常の実装では、基本層キー３１０は、ｐｒｅ−ＭＡＣであり、ｐｒｅ−ＭＡＣは、フレーム、セル、ビデオ等に関するグローバル暗号化キー３１８とともに、マルチメディア・データの大部分、すなわち、基本層コンテンツからの暗号化セルの残りの部分を暗号化するストリーム暗号器３０４（通常、ＲＣ４などの暗号化アルゴリズムを使用し、かつ／または含む）に送り込まれる。（ｐｒｅ−ＭＡＣは、前述したとおり、ＲＣ５を使用して別個に暗号化して、ＭＡＣを形成する速度を高める。）ＭＡＣは、デクリプタ（decrypter）（（図示せず））が後に、暗号化を逆操作（リバース）させて、ビット・エラーが無い場合に、元のプレーン・テキストを取り出すことができるように、可逆性を有する。ストリーム暗号キー３１６は、グローバル暗号化キー３１８と、暗号化されるべきデータの一部の、１つまたは複数のハッシュ値として理解することができるｐｒｅ−ＭＡＣとの両方に依存するので、暗号化セキュリティは非常に強力である。言い換えれば、ごくわずかな違いだけを有する２つの異なるコンテンツは、同じグローバル暗号化キー３１８を繰り返し使用していても、異なる暗号化テキストに暗号化される。
【００３９】
基本層１０６は、選択的に、または完全に暗号化することができる。例示する選択的暗号化モードでは、各フレームに関して、例えば、基本層ビットのセットのＤＣ値、すなわち、ｉｎｔｒａ＿ｄｃ＿ｃｏｅｆｆｉｃｉｅｎｔおよびｄｃｔ＿ｄｃ＿ｄｉｆｆｅｒｅｎｔｉａｌ、ＤＣＴ係数の符号ビット、動きベクトルｈｏｒｉｚｏｎｔａｌ＿ｍｖ＿ｄａｔａおよびｖｅｒｔｉｃａｌ＿ｍｖ＿ｄａｔａの符号ビット、および／または動きベクトル残ｈｏｒｉｚｏｎｔａｌ＿ｍｖ＿ｒｅｓｉｄｕａｌおよびｖｅｒｔｉｃａｌ＿ｍｖ＿ｒｅｓｉｄｕａｌが抽出されて、暗号化、例えば、前述した例示的な変更されたＣ＆Ｓ暗号化を使用して、暗号化されるべきベクトルが形成される。次に、暗号化テキストが、基本層１０６内の元のデータに置き換わるように元のフィールドに戻される。例示的な完全暗号化モードでは、ＶＯＰヘッダを除き、基本層１０６内のエントロピー・コーディングされたビデオ・データが、各フレームに関して、例えば、例示的なＣ＆Ｓ暗号化を使用して暗号化される。
【００４０】
完全暗号化モード、または選択的暗号化モードのいずれでも、基本層暗号化は、マルチメディア・データのエントロピー・コーディングに悪影響を及ぼさないことに留意されたい。例示的なＣ＆Ｓ暗号化は、暗号化されるデータのサイズを保つので、例示的な暗号化は、ＦＧＳ圧縮効率に全く悪影響を与えない。以上に説明した選択的暗号化モードは、完全にＭＰＥＧ−４ＦＧＳに適合するということも注目に値する。
【００４１】
以上の例示的な実装では、基本層エンクリプタ１０４は、暗号化解除を実行するのに先立ってフレーム全体に関して十分なデータを集めることを必要とするアプリケーションまたはデバイスに対して暗号化を実行し続けることが可能である。そのようなアプリケーションまたはデバイスは、基本層フレーム全体をバッファに入れ、それぞれの暗号化されたフィールドに関して位置とビット数を憶えていなければならず、あるいは、基本層フレームのデータを２回（暗号化解除のために１回、展開のために１回）、構文解析しなければならない。例示的なＣ＆Ｓ暗号化は、これらのタイプのアプリケーションおよびデバイスの一部に関して妥当でない可能性がある。代替の例示的な実装として、ＥＣＢ（Electronic Codebook）モード、ＣＢＣ（Cipher Block Chaining）モード、またはＯＣＢ（Offset Codebook）モードなどの様々なモードで使用されるＲＣ４などのストリーム暗号、またはＤＥＳ、ＡＥＳ、ＲＣ５などのブロック暗号は、完全暗号化モードあるいは選択的暗号化モードの何れか対して例示的なＣ＆Ｓ暗号化と置き換えることができる。
【００４２】
次に、乱数発生器３０６は、各フレームに関して異なる乱数を生成することに使用される。乱数は、各基本層フレームのヘッダ内に挿入することができ、そのフレームに関して暗号化されるデータとＸＯＲ演算するために各フレーム内で異なるランダム・ビットを生成するストリーム暗号器３０４への入力として、またはフレームに関して暗号化されるデータを暗号化するためのブロック暗号化への入力として、グローバル暗号化キー３１８と結合することができる。通常の長さのビデオの場合、３２ビットの乱数は、ビデオ内のすべてのフレームに関する十分な容量を提供するはずであり、そうである場合、圧縮効率に影響を与えるオーバーヘッドは、１基本層フレーム当たり３２ビットである。３２ビットの乱数により、実際上、各ビデオ・フレームを暗号化する繰り返しのないランダムなシーケンスが確実になる（良好な品質の乱数発生器が使用される場合、確率の非常に小さい乱数の衝突が生じない限り）。ＲＣ４は、膨大な数の可能な状態を有するので、ＲＣ４を例示的なＣ＆Ｓ暗号化の代わりに使用することにより、暗号化されたコンテンツのセキュリティを確実にすることができる。また、挿入された乱数も、次に説明する拡張層１０８の暗号化において基本層キー３１０として（例えば、ｐｒｅ−ＭＡＣの代わりに）使用される。
【００４３】
拡張層エンクリプタ
図１に示すとおり、最も単純な例示的な実装は、拡張層を暗号化しないでおくことである。拡張層１０８は、基準としての基本層１０６からのビデオ・オブジェクト・プレーン（ＶＯＰ）から予測されるか、または導出されるので、一部のアプリケーションにおいてマルチメディア・コンテンツ１０２全体を保護するのに、基本層１０６を保護するだけで十分である。この例示的な実装では、暗号化された基本層２１２、および暗号化されていない基本層１０６から予測された、または導出された暗号化されていない拡張層１０８を含む「暗号化された」マルチメディア・ストリーム１１０が生成される。
【００４４】
それぞれの個々のＶＯＰの観点からは、そのような例示的な実装は、非常にセキュアであるように思える。暗号化解除キーなしでは、暗号化された基本層２１２と暗号化されていない拡張層１０８の両方から再構成されたフレームは、全く有用な情報を含まない。しかし、ＶＯＰから成るビデオの全体的な観点からは、異なる結論が明白である。
【００４５】
ＱＣＩＦビデオが、およそ毎秒１．０Ｍｂの総ビットレートで、低いビットレート（およそ毎秒５０Ｋｂ）の基本層１０６と拡張層１０８に圧縮され、基本層１０６からのピクセル値がゼロ（または別の固定の値）に設定され、再構成されたＦＧＳビデオが再生された場合、以下の観察がなされる可能性がある。まず、それぞれの個々の再構成されたフレームが検査された場合、各フレームは、非常にランダムであり、有用な情報をあまり抽出することができない。再構成されたビデオが再生された場合、動くオブジェクトの輪郭は容易に可視可能である。より重要なこととして、そのような動くオブジェクト、およびオブジェクトの動きが、人間の目によって正しく、意味ある形で観察される。多くのアプリケーションにおいて、ビデオ暗号化から漏れるそのようなビデオ情報は、許容できない可能性がある。この現象は、おそらく、ビデオ内の隣接するフレーム間の強い相関によって説明される。基本層１０６内の基準フレームが強く相関している場合、一続きの拡張層フレームにより、基本層エンクリプタ１０４が意図するよりもはるかに多くの情報が明かされる。したがって、基本層１０６の暗号化だけでは、多くのアプリケーションに対して多くのタイプのスケーラブル・マルチメディア・コンテンツ１０２を暗号化するのに十分でない可能性がある。
【００４６】
図３を参照すると、例示的な暗号化エンジン２０４の中に含まれる代替の例示的な拡張層エンクリプタ２０８が、ランダム・ビット・エンジン３２０の中に含まれる前述した拡張層暗号器３１４を含む。また、例示的な拡張層エンクリプタ２０８は、フレーム・マネージャ３２２、フレーム・バッファ３２４、フレーム・ビットマスク・バッファ３２６、フレーム＆ビットマスク・コンバイナ（combiner）３２８、および再同期情報マネージャ、または「ｓｙｎｃｈマネージャ」３３０も含み、以上すべては、図示するとおり、制御論理３３２と通信するように結合されている。フレーム・マネージャ３２２は、ＶＯＰマネージャ３３４およびフレーム・カウンタ３３６をさらに含むことが可能である。ランダム・ビット・エンジン３２０は、シード（seed）マネージャ３３８を含む。例示的な拡張層エンクリプタ２０８は、追加のコンポーネント、または図示した例よりも少ないコンポーネントを含むことも可能である。次に、例示的な拡張層エンクリプタ２０８の機能の簡単な概要を提示し、続いて、より詳細な説明を提示する。
【００４７】
簡単に述べると、例示的な拡張層エンクリプタ２０８は、１つの実装において、拡張層１０８内のＤＣＴ係数の符号ビットをランダムなビット・シーケンスまたは擬似ランダムなビット・シーケンスとＸＯＲ演算することにより、拡張層１０８を選択的に暗号化する。マルチメディア・ストリームの各フレームは、異なるフレームに同じランダム・シーケンスを適用して暗号化のセキュリティに脆弱性を生じさせることを回避するために、異なるランダム・ビット・シーケンスを使用する。ＭＰＥＧ−４ＦＧＳＴの実装の場合、動きベクトルも、ＤＣＴ係数と同様のやり方で暗号化される。次に、例示的な拡張層エンクリプタ２０８の動作をより詳細に説明する。
【００４８】
拡張層１０８の例示的なスケーラブル暗号化は、前述した基本層１０６の暗号化によって相当に容易になる。ｐｒｅ−ＭＡＣなどの基本層キー３１０が、基本層エンクリプタ１０４から拡張層エンクリプタ２０８に通信され、グローバル暗号化キー３１８とともにランダム・ビット・エンジン３２０に送り込まれる。（複数の基本層フレームに基づくＦＧＳＴ  ＶＯＰのケースでは、各基本層フレームからの基本層キー３１０を、グローバル暗号化キー３１８とともにランダム・ビット・エンジン３２０に送り込むことが可能である。）ランダム・ビット・エンジン３２０内部の、かつ／またはランダム・ビット・エンジン３２０に関連する拡張層暗号３１４は、ＲＣ４などの技術を使用して、拡張層１０８内のＤＣＴ係数の符号ビットとＸＯＲ演算されるランダム・ビット・シーケンスを生成する。ランダムなビット・シーケンスまたは擬似ランダムなビット・シーケンスと拡張層１０８内のＤＣＴ係数とのＸＯＲ演算を実行することの詳細を以下により十分に説明する。
【００４９】
ランダム・ビット・エンジン３２０内のシード・マネージャ３３８により、拡張層１０８のフレームを暗号化するためにランダム・ビット・エンジン３２０によって生成されたのと同じビット・シーケンスが、基本層１０６の選択的暗号化において基本層１０６の対応するフレームを暗号化するためにも使用されることがないことが確実にされる。ビット・シーケンスは、擬似ランダムとすることが可能であり、したがって、繰り返し可能であり、複数のフレームに対する同じビット・シーケンスの適用により、セキュリティが危うくなる。ランダム・ビット・エンジン３２０は、シード・マネージャ３３８を使用して、暗号化を危うくする擬似ランダム・シーケンスの繰り返しを防止する。これを達成することができる１つのやり方は、固定のストリング、多くの場合に拡張層の一部である固定のストリングを、シーケンスをランダムにするシードとして拡張層暗号器３１４に送り込むことによる方法である。
【００５０】
ランダム・ビット・エンジン３２０によって（例えば、そこに含まれる拡張層暗号器３１４によって）生成されたランダム・ビットは、フレーム・マネージャ３２２によって特定された操作中の（operative）ビデオ・フレーム内の関連するビット配列に対応するアレイまたは２値マトリックスに編成される。このアレイまたは２値マトリックスは「フレーム・ビットマスク」または「ビットマスク」と呼ばれることがある。１つの実装では、フレーム・ビットマスク・バッファ３２６が、ランダムに生成されたビットから構成されるフレーム・ビットマスクを保持する間、フレーム・バッファ３２４は、拡張層１０８のフレームを保持することに使用できる。フレーム＆ビットマスク・コンバイナ３２８は、拡張層フレーム内のＤＣＴ係数符号ビットをフレーム・ビットマスク内の対応するランダム・ビットとＸＯＲ演算する。言い換えれば、拡張層１０８内のＤＣＴ係数の符号ビットは、拡張層１０８内に出現した場合、フレーム・ビットマスク内の同じ位置のランダム・ビットとＸＯＲ演算される。フレーム＆ビットマスク・コンバイナ３２８によって生成されたスケーラブル暗号化された拡張層２１４の伝送中にパケット損失が生じている場合、受信パケットは、パケットを失っているにも関わらず、暗号化解除のための正しいランダム・ビットに容易に再編成すことができる。
【００５１】
テンポラル・拡張フレーム内のすべてのＤＣＴ係数に関してビット・プレーン・コーディングを使用することも可能であり、これは、ＦＧＳＴテンポラル・スケーラビリティ（FGST temporal scalability；ＦＧＳＴ）と呼ばれる。ＦＧＳ  ＶＯＰおよびＦＧＳＴ  ＶＯＰは、単一の拡張層か、または２つの別々の拡張層に編成することができる。各ＦＧＳＴ  ＶＯＰは、例えば、基本層からの順方向予測、逆方向予測、または双方向予測を使用してコーディングすることができる。再同期用マーカーがｓｙｎｃｈマネージャ３３０によってＦＧＳストリームの中に挿入されて、ビット・エラーまたはパケット損失が生じた場合にエラー伝搬を抑えることが可能である。また、エラー復元力の目的で、拡張層内でビット・プレーン区切りｆｇｓ＿ｂｐ＿ｓｔａｒｔ＿ｃｏｄｅを再同期マーカーとして使用することも可能である。
【００５２】
ＦＧＳＴ  ＶＯＰの例示的なスケーラブル暗号化の場合、動きベクトルが暗号化されたビットのセットに追加される。この例示的な暗号化は、基本層の選択的暗号化に関して前述したのと同様である。動きベクトルのビットは、ＤＣＴ符号ビットと同じやり方で拡張層暗号器３１４を使用して暗号化される。
【００５３】
図４に示すとおり、ヘッダ４０６、４０８をそれぞれ有する複数のＦＧＳＴ  ＶＯＰ４０２、４０４が、同じ基本層フレーム４１０を自らの基本ＶＯＰ４１２のソースとして使用する可能性がある。前述したランダム・ビット・エンジン３２０が、同じ基本層フレーム４１０に基づき、異なるＦＧＳＴ  ＶＯＰに対して同じランダム・ビットを生成するようなことがあれば、セキュリティが危うくなることが生じる。ＶＯＰマネージャ３３４が、フレーム・カウンタ３３６によって生成されたフレーム・カウント４１６、４１８をＦＧＳＴ  ＶＯＰヘッダ４０６、４０８に挿入する。このフレーム・カウント４１６、４１８が拡張層暗号器３１４に（例えば、ＲＣ４を使用して）送り込まれ、同じ基本層フレーム４１０に基づくＦＧＳＴ  ＶＯＰ４０２、４０２のそれぞれに関して異なるランダム・ビットが生成されるようにする。異なる基本フレームに対して、他の情報が拡張層暗号器３１４に送り込まれ、重複（duplication）を防止するので、異なる基本層フレームに基づく異なるグループのＦＧＳＴ  ＶＯＰに関して、同じフレーム・カウント・シーケンスを再使用すること、または再スタートすることができる。つまり、基本層キー３１０は、各基本層フレーム４１０に対して異なっている。ほとんどのアプリケーションにおいてフレーム・カウンタ３３６が効果的に動作するのに、１つのＦＧＳＴ拡張層フレーム当たり２ビットまたは３ビットのオーバーヘッドで十分である。暗号化されたマルチメディア・コンテンツ２１０の伝送中に中間ステージ内で実行されるいくつかのプロセスにより、タイム・スタンプが変更される可能性があるので、ＶＯＰマネージャ３３４によって挿入されるフレーム・カウント４１６、４１８は、タイム・スタンプよりも効果的であるまた、ＦＧＳＴ  ＶＯＰ４０２、４０４の一部を含むパケットが伝送中にドロップされた場合、暗号化解除エンティティが、受信されたＦＧＳＴ  ＶＯＰ４０２、４０４の暗号化解除のために正しいランダム・ビットを生成することを、フレーム・カウント４１６、４１８により可能になる。
【００５４】
例示的な拡張層エンクリプタ２０８は、元の暗号化されていない拡張層１０８のエラー復元力を保ち、ＦＧＳ圧縮によって提供されるすべてのスケーラブルな拡張層操作を可能にする。
【００５５】
例示的な暗号化エンジン２０４の一部の実装では、基本層暗号器３０４と拡張層暗号器３１４は、同一のモジュールまたはルーチンとすることが可能である。図示した実装では、暗号プロセスが基本層１０６と拡張層１０８の両方の暗号化に関連して行われることを強調するため、基本層暗号器３０４と拡張層暗号器３１４を別々のエンティティとして示している。
【００５６】
例示的な方法
図５は、例示的なスケーラブル暗号化方法５００を示している。この例示的なスケーラブル暗号化方法５００は、図２および３に示した例示的な暗号化エンジン２０４のようなデバイスによって実行されることが可能である。この流れ図では、動作が個々のブロック内に要約されている。動作は、プロセッサによって実行されることが可能なハードウェアおよび／またはマシン可読命令（ソフトウェアまたはファームウェア）で実行されることが可能である。
【００５７】
ブロック５０２で、スケーラブル・マルチメディア・ストリームの基本層フレームが暗号化される。
【００５８】
ブロック５０４で、スケーラブル・マルチメディア・ストリームの拡張層が、基本層内のコンテンツの少なくとも一部に基づくキーを使用して暗号化される。
【００５９】
図６は、別の例示的なスケーラブル暗号化方法６００を示している。この例示的なスケーラブル暗号化方法６００は、図２および３に示した例示的な暗号化エンジン２０４のようなデバイスによって実行されることが可能である。この流れ図では、動作が個々のブロック内に要約されている。この動作は、ハードウェアおよび／またはプロセッサによって実行されることが可能なマシン可読命令（ソフトウェアまたはファームウェア）で実行されることが可能である。
【００６０】
ブロック６０２で、第１のキーを使用してスケーラブル・マルチメディア・ストリームの基本層が暗号化される。
【００６１】
ブロック６０４で、ランダムなビット・シーケンスまたは擬似ランダムなビット・シーケンスが、基本層コンテンツの一部から少なくとも部分的に導出された第１のキーおよび第２のキーを使用して生成される。第１のキーは、通常、暗号化されているマルチメディア・ストリーム全体に関するグローバル・キーであり、第２のキーは、通常、現在のフレームの拡張層、または現在のフレームの基本層を基準とするＦＧＳＴ  ＶＯＰだけを暗号化するための基本層キーである。
【００６２】
ブロック６０６で、拡張層内のＤＣＴ係数の符号ビットが、ランダム・ビット・シーケンスからのビットとＸＯＲ演算される。
【００６３】
例示的な暗号化のセキュリティ
視覚効果もシステムセキュリティもともに、マルチメディア暗号化方法によって付与されるセキュリティにおける要因である。視覚効果は、暗号化されたマルチメディア・ストリームからユーザがどれだけの有用な情報を導出することができるかに関わる。システムセキュリティは、受動的攻撃および能動的攻撃に対して暗号化されたストリームが示す抵抗力の量に関わる。
【００６４】
セキュリティに関して、テキスト暗号化とは異なり、マルチメディア暗号化は、攻撃者が利用することができる強い相関をプレーン・テキスト・ビデオ内に含む可能性がある。テキスト暗号化における攻撃の成功は、普通、テキスト全体の一部またはすべてが完全に逆操作（リバース）されることを必要とするのに対して、マルチメディア暗号化における攻撃は、暗号化の部分的な、またはおおよその逆操作（リバース）が成功することしか必要としない可能性がある。言い換えれば、暗号化されたビデオにおいて、ビデオ・フレーム内、およびビデオ・フレーム間のデータのすべての部分が重要（relevant）であるわけではなく、したがって、元のビデオのおおよその回復により、暗号化されたストリームから相当な量の情報がもたらされる可能性がある。様々なアプリケーションは、セキュリティ障害に関して異なる基準を有する。
【００６５】
前述した例示的な完全な暗号化とは異なり、前述した基本層１０６に関する例示的な選択的暗号化は、暗号化されたマルチメディア・コンテンツ２１０内にいくらかの見える構造を残す。人間の目は、静止部分と動く部分の間の違いを見分けることができる。他方、前述した例示的な完全な暗号化方法は、ほとんどすべての視覚的に識別することができる構造を暗号化されたマルチメディア・コンテンツ２１０から削除する。完全に暗号化された基本層２１２、および選択的に暗号化された拡張層２１４を含む例示的な完全に暗号化されたマルチメディア・コンテンツ２１０は、暗号化解除されない限り、視覚的にランダムに見え、役立たない。
【００６６】
例示的なスケーラブル完全暗号化モードと例示的なスケーラブル選択的暗号化モードはともに、コンテンツ依存入力（例えば、基本層キー３１０）が基本層暗号器３０４および／または拡張層暗号器３１４に送り込まれるために各フレームの暗号化が異なるという理由で、既知のプレーン・テキスト攻撃に対して堅牢である。他のタイプの攻撃に対する堅牢性は、選択的暗号化モードと完全暗号化モードでは異なる。例示的なスケーラブル完全暗号化モードの場合、セキュリティの量は、暗号化のために基本層暗号器３０４内で使用される潜在的なアルゴリズムに依存する。例示的なＣ＆Ｓ技術が使用される場合、この技術が、セキュアな暗号化を提供する。他方、例示的なスケーラブル選択的暗号化モードは、使用される状態の数が限られていることに起因して、それほどセキュアでない可能性がある。
【００６７】
暗号化のために選択されたビットが、実現されるセキュリティの量に影響を与える可能性がある。例えば、ＤＣ係数の暗号化だけでは、依然として視覚的に識別可能な、暗号化されたフレームの端部が残される。ＡＣ係数に関する符号ビットの暗号化は、ゼロでないＡＣ係数に対してだけ実行することができる。動きベクトルの場合、フレームに関する動きベクトルの数は限られているので、それらの符号ビットに対する暗号化は、総当たり攻撃（brute force attack）を受けた状態では、あまりセキュアでない。動きベクトルの残余に対する暗号化も、動きベクトルの剰余に関して使用されるビットの数が、普通、非常に少ないので（例えば、１フレーム当たり２ビット）、あまりセキュリティを強化することにならない。すなわち、動きベクトルの剰余が正しくレンダリングされても、誤ってレンダリングされても、多くの変化、または知覚的破損が生じさせない。
【００６８】
一部の実装では、例示的な選択的暗号化は、ＭＰＥＧ−４ＦＧＳなどの一部のスケーラブル・スキームとの完全な適合性（compatibility）を提供するが、軽量のセキュリティしか提供しない。ただし、多くのマルチメディア・ストリーム１０２は、レンダリングされたビデオが、普通、低い情報価値しか有さないエンターテイメントアプリケーションにおける使用に向けられているので、例示的な選択的暗号化は、ビデオのコピーを正当に購入するよりもビデオを暗号化解除することの方が攻撃者に高くつくようにしながら、早さとスケーラビリティを提供する。したがって、例示的な選択的暗号化は、多くのアプリケーションに関して実行可能なソリューション（viable solution）である。
【００６９】
実験結果
例示的な暗号化エンジン２０４の少なくとも一部をｐｕｒｅ  Ｃ＋＋コードで実装した。試験は、５１２メガ・バイトのメモリを有するＰＥＮＴＩＵＭ（登録商標）ＩＩＩの６６７メガヘルツのＤＥＬＬ（登録商標）ＰＣ上で例示的な暗号化エンジン２０４を使用して実行した。（ＰＥＮＴＩＵＭ（登録商標）ＩＩＩは、カリフォルニア州サンタクララ市のＩＮＴＥＬ（登録商標）コーポレーションの商標である。）（テキサス州、オースティン市、ＤＥＬＬ（登録商標）コンピュータ・コーポレーション）。
【００７０】
図７は、例示的なスケーラブル暗号化の前と後のスケーラブル・マルチメディア・ストリームの視覚的レンダリング７００を示している。オリジナルのビデオ・イメージ７０２、７０２’のフレームは、例示的な暗号化エンジン２０４による処理の前のマルチメディア・コンテンツ１０２を示している。選択的に暗号化されたビデオ・イメージ７０４、７０４’は、例示的な選択的暗号化の後の、ただし、暗号化解除前の暗号化されたマルチメディア・コンテンツ２１０を示している。選択的に暗号化されたビデオ・イメージ７０４、７０４’は、いくつかの認識可能なビデオ・オブジェクト７０６を含むが、実際的な鑑賞目的に対しては、明瞭で理解可能な楽しめる鑑賞を求めるには、あまりにもスクランブルがかかっている。完全に暗号化されたビデオ・イメージ７０８、７０８’は、例示的な完全暗号化後の、ただし、暗号化解除前の暗号化されたマルチメディア・コンテンツ２１０を示している。完全に暗号化されたビデオ・イメージ７０８、７０８’は、視野全体に散らばったランダムな形状およびパターンとして現れ、実際的な鑑賞目的では役に立たない。この場合も、暗号化されたマルチメディア・コンテンツ２１０は、例示的なスケーラブル完全暗号化で暗号化されているか、例示的なスケーラブル選択的暗号化で暗号化されているかに関わらず、前述したとおり、ＭＰＥＧ−４ＦＧＳの完全な機能、およびＦＧＳＴスケーラビリティの特徴を保持する。
【００７１】
結論
以上、スケーラブル・マルチメディアの完全にスケーラブルな暗号化のための例示的な暗号化エンジン、および関連する方法を説明した。前述した本発明は、ハードウェアで、ソフトウェアで、またはハードウェアとソフトウェア両方で実装することができる。ある実装では、例示的な暗号化エンジン、および関連する方法は、コンピュータによって実行される、プログラム・モジュールなどのコンピュータ実行可能命令の一般的な文脈において説明することができる。一般に、プログラム・モジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。また、本発明は、通信ネットワークを介してリンクされた遠隔の処理デバイスによってタスクがワイヤレス通信を介して実行される分散通信環境において実施することも可能である。ワイヤレス・ネットワークでは、プログラム・モジュールは、メモリ記憶装置を含むローカルの通信デバイス記憶メディアと遠隔の通信デバイス記憶メディアの両方の中に配置されることが可能である。
【図面の簡単な説明】
【００７２】
【図１】基本層だけを暗号化する例示的なスケーラブル暗号化を示すブロック図である。
【図２】基本層と拡張層をともに暗号化する例示的なスケーラブル暗号化システムを示すブロック図である。
【図３】例示的なスケーラブル暗号化エンジンを示すブロック図である。
【図４】図３の例示的なスケーラブル暗号化エンジンの例示的なビデオ・オブジェクト・プレーン・マネージャを示すブロック図である。
【図５】例示的なスケーラブル暗号化方法を示す流れ図である。
【図６】別の例示的なスケーラブル暗号化方法を示す流れ図である。
【図７】例示的なスケーラブル完全暗号化および例示的なスケーラブル選択的暗号化を示す１組のビデオ・イメージである。
【符号の説明】
【００７３】
１０２  マルチメディア・コンテンツ
１０４  基本層エンクリプタ
１０６  基本層
１０８  拡張層
２００  暗号化解除システム
２０２  マルチメディア・デバイス
２０４  暗号化エンジン
２０８  拡張層エンクリプタ
２１０  暗号化されたマルチメディア・コンテンツ
２１２  暗号化された基本層
２１４  暗号化された拡張層
【図１】
2004310097.tif 000003
【図２】
2004310097.tif 000004
【図３】
2004310097.tif 000005
【図４】
2004310097.tif 000006
【図５】
2004310097.tif 000007
【図６】
2004310097.tif 000008
【図７】
2004310097.tif 000009