(57)【要約】オーディオ又はビデオエンコーダによってアセンブルされた符号化されたビットストリームが暗号化される。アセンブルされた符号化されたビットストリームは、シンタックスを有する。データはアセンブルされた符号化ビットストリーム内で選択され、同データはビットストリームの全データより少ないと共に、暗号化されると、アセンブルされた符号化されたビットストリームのシンタックスを犯さずかつ部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにさせる、部分的に暗号化されたビットストリームに帰着する。
2004519131.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ又はビデオエンコーダによってアセンブルされた符号化されたビットストリームを暗号化する方法であって、該アセンブルされた符号化されたビットストリームはシンタックスを有し、
該アセンブルされた符号化されたビットストリーム内のデータを選択し、該選択されたデータが該ビットストリーム内の全データより少なく、また、暗号化されると、該アセンブルされた符号化されたビットストリームのシンタックスを犯さずかつ該部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにする部分的に暗号化されたビットストリームに帰着するようにさせ、
前記部分的に暗号化されたビットストリームを与えるために該アセンブルされた符号化されたビットストリーム内のデータを暗号化することから成るビットストリーム暗号化方法。
【請求項２】
前記シンタックスが、前記アセンブルされた符号化されたビットストリームの正規のシンタックスである、請求項１の方法。
【請求項３】
該部分的に暗号化されたビットストリームが該アセンブルされた符号化された正規の該シンタックスを犯すならば、前記シンタックスは、前記アセンブルされた符号化されたビットストリームに対する前記エンコーダの該正規のシンタックスの変更されたものであり、前記選択されたデータが暗号化される時、該アセンブルされた符号化されたビットストリームの変更されたシンタックスを犯さないように、該正規のシンタックスが変更される、請求項１の方法。
【請求項４】
該オーディオ又はビデオエンコーダはハフマン符号化アルゴリズムを用い、前記シンタックスが該ビットストリームにパディングビットを加えることによって変更される、請求項３の方法。
【請求項５】
該オーディオ又はビデオエンコーダは、利得適応化量子化符号化アルゴリズムを用い、該ビットストリーム内のビットを再順序付けすることによって前記シンタックスが変更される、請求項３の方法。
【請求項６】
前記アセンブルされた符号化されたビットストリーム内の該データが連続的なフレーム内に配置され、該アセンブルされた符号化されたビットストリーム内のデータを選択することで、１つ又はそれ以上のフレーム内のデータの幾つかが選択される、請求項１乃至３のいずれか１つの方法。
【請求項７】
該選択されたデータは、最高エントロピーを有する該アセンブルされた符号化されたビットストリームの該データの少なくとも１部分を含む、請求項１乃至３のいずれか１つの方法。
【請求項８】
該アセンブルされた符号化されたビットストリームデータは該符号化されたオーディオ又はビデオの周波数領域表示の量子化された周波数係数を含むように、該オーディオ又はビデオエンコーダは知覚エンコーダであり、該選択されたデータは、前記量子化された周波数係数を構成する該データの少なくとも一部分を含む、請求項１乃至３のいずれか１つの方法。
【請求項９】
該アセンブルされた符号化されたビットストリームデータはエントロピー符号化されたデータを含むように該オーディオ又はビデオエンコーダはエントロピー型エンコーダーであり、該選択されたデータは前記エントロピー符号化されたデータを構成する該データの少なくとも１部分を含む、請求項１乃至３のいずれか１つの方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ暗号化に関する。特に、本発明はアセンブルされたデータ、さらに詳しくは、符号化されたオーディオ又はビデオデータの各部分を暗号化することに関する。
【０００２】
データ暗号化は、不安定なチャンネルを介して情報を安全に送信するのに用いられる。変換をもとに戻すのが非常に難しくなるように情報には数学的変換がなされる。キーは、ただの大きな数であるが、暗号化及び解読アルゴリズムを制御する。共通（対称）キーアルゴリズムは、データを暗号化しかつ解読するために同一キーを用いる。非対称キーアルゴリズムは２つの異なっているが関連するキーを用い、一方がデータ暗号化にかつ他方がデータ解読に用いられる。
【０００３】
データ暗号化用のアルゴリズムは、特に単一ビットよりはむしろワードに作用する汎用プロセッサに対して計算的に高価になり易い。現標準ＤＥＳアルゴリズムはこの様式で作動する。概して、キーのサイズが大きいほどアルゴリズムの計算費用はかさむ。
【０００４】
安全な暗号化アルゴリズムでは、攻撃者は盗まれた情報を解読するのに要するキー以外のシステムについては全てを知っていると想定する。理想的な条件下では、成功可能な唯一の攻撃は消耗的なキー調査であり、そこでは攻撃者は暗号化されたデータの全セットに可能なあらゆるキーを用い、次いでそれが実際的かどうかを見るために解読された結果を分析しなければならない。これが唯一の可能な攻撃ならば、十分に大きなキーサイズ（即ち、すべての可能なキーを試験するのに要する時間は実際的でない）を選ぶことによってシステムは実際に安全にされ得る。
【０００５】
多くのシステムでは、消耗的なキーサーチ（調査）をするのに要する時間を減らすために意味のある弱点が用いられ得る。この弱点は、解読されたデータが認識可能な情報を含むことが知られるときに起こる。例えば、暗号化されたデータが英語テキストと分かったなら、解読されたデータからの統計で英語に近いあるものが何時発見されたかが決定され得る。これは潜在的なキーを示すであろう。解読されたテキスト以内に一定のワードが存在することが分かるなら、潜在的キーを発見するのはさらに容易であろう。
【０００６】
さらに、暗号化されたデータが内在的依存物を含むなら、より効果的な消耗的キー調査を行うことが可能になり得る。暗号化されるべきデータがビットストリームであり、かつあるビットストリーム要素の特定の値が後続のビットストリーム要素の存在又はサイズを決定するなら、これらの依存物は攻撃者によって利用され得る。一例として、総合的フレームサイズが既知のフレームに基づくビットストリームシンタックスであって、それに対する１つ又はそれ以上のパラメータが、他のパラメータの値に基づいて任意選択的に含まれるものを考慮せよ。消耗的なキーサーチを行う攻撃者は、一定のキーグループに関して、解読されたビットストリームがこれらの任意選択的なパラメータを含むことを示し、その結果としてフレームサイズはそれがあるべきものより長いこと（これはオーバーフロー、即ち、過剰条件と呼ばれる）を発見するかも知れない。そんな解読されたビットストリームは、ビットストリームのシンタックスを犯す「不法な」ビットストリームである。この場合、攻撃者は正しい解読キーがこのグループ内にはないと結論することが可能であり、これは消耗的調査の完成上かなりの時間を省略し得る。同様な事例がアンダーフロー、即ち、過小条件において存在し、そこでは解読されたシンタックスは、合法的ビットストリームを構成するのに十分なビットを利用できない。最後に、ビットストリームの１つ又はそれ以上のパラメータがある特定の値をとるのを妨げられると、これらの値の発生は攻撃者がキーを不可能にする（これは不法値条件と呼ばれると共にビットストリームのシンタックスを犯す不法なビットストリームの別の例である）のを助長し得る。
【０００７】
【発明が解決しようとする課題】
攻撃に対してシステムをより頑強にする可能な一方法は、データが暗号化される前にそれを不要にすることである。ハシェ機能、即ち、不要なデータ機能は、攻撃を助けるのに統計及びキーワードを用いることができないようにデータを無作為化させる。この方法には幾つかの方法がある。攻撃者にはハシェ機能が分かりかつそれを取り消すことができることが想定されなければならない。さらに、ハシェ機能はより多くの処理エネルギーを用い、さらに計算コストを増大させる。
【０００８】
オーディオ及びビデオのようなプロセス入力データをブロックする多くのデータ低減システムが存在する。これらのシステムは、概して予め決められた様式で圧縮されたデータを構成する。データは、ある時間を通して独立的に復号され得る各ブロック又はフレームに分割される。各フレームは、固定情報（即ち、フレームごとに一定）及び可変情報（即ち、フレームごとに変化する）の双方からなる。これらのフレームの全データを直接符号化することは、必要とされる大量の処理及び攻撃者がキーを決定するのを助長し得る既知のキーワードに関する安全問題のような上記問題につながる。同期ワード、データレート及び他のメタデータのような固定情報内に含まれる既知のキーワードは、フレームごとに殆ど又は全く変らず、かつ攻撃者に消耗的キー調査により手間をかけることを要しない攻撃を考案することを可能にするのに用いられ得る。
【０００９】
エンコーダによる出力ビットストリームのアセンブリに先立ってフレームの可変情報部分を暗号化することは知られている。しかし、この接近方法は幾つかの欠点を有する。アセンブルされたビットストリームに対してよりはむしろエンコーダ内で暗号化を要することは複雑である。この複雑性は、異なった暗号化キーでそれぞれ暗号化される、ビットストリームの多数のコピーが多数の使用者に送られるべき場合にはそれを非実用的にする。さらに、ハフマン符号化のような、エントロピー符号化に先立ってエンコーダ内のデータに暗号化がなされるならば、暗号化はエントロピーコーダの符号化の利点を無効にし易い（暗号化はデータを白に見せかける傾向があり、データ内により少ない冗長性を残し、エントロピー符号化が縮小する）。従って、改良されたデータ暗号化方法の必要性が残される。
【００１０】
【課題を解決するための手段】
本発明の第１面により、オーディオ又はビデオエンコーダによってアセンブルされた符号化された、シンタックスを有するビットストリームを暗号化する方法が与えられる。アセンブルされた符号化されたビットストリーム内のデータが選択され、同データはビットストリーム内の全データより少なく、暗号化されると、アセンブルされた符号化されたビットストリームのシンタックスを犯さない部分的に暗号化されたビットストリームに帰着し、かつ部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにする。アセンブルされた符号化されたビットストリーム内の選択されたデータは、部分的に暗号化されたビットストリームを与えるように暗号化される。本発明のさらなる面によると、部分的に暗号化されたビットストリームがアセンブルされた符号化されたビットストリームの正規のシンタックスを犯すならば、シンタックスはアセンブルされた符号化されたビットストリームに対するエンコーダの正規のシンタックスが変更されたものであり、選択されたデータが暗号化されると結果的に生じる部分的に暗号化された変更されたビットストリームがアセンブルされた符号化されたビットストリームの変更されたシンタックスを犯さないように正規のシンタックスが変更される。
【００１１】
システム安全性では、保護されることが求められるデータに関するある知識を攻撃者が得ることを必ずしも妨げる必要はない。たとえビットストリーム要素の幾つかが平文で見えるとしても、十分なビットストリームが暗号化されると、それを適切に解読することなくデータを有意義に用いることは不可能であり得る。例えば、オーディオデータが理解不能か又は劣化された品質のものならば、たとえ攻撃者がビットストリームで伝えられる関連したメタデータの幾つかを見ることができるとしても、同オーディオデータは役に立たないかもしれない。
【００１２】
本発明によると、アセンブルされたビットストリームの全てよりもむしろその一部分のみを暗号化することによって安全性は向上される。値が既知であるか又は多分統計的にそうである、アセンブルされたビットストリームの要素の暗号化は望ましくない。アセンブルされたビットストリーム内で最高のエントロピーを有する各要素の暗号化は望ましい。例えば、エンコーダがエントロピー符号化アルゴリズムを用いるならば、ハフマン符号化、算数的符号化又は利得適応量子化（ＧＡＱ）符号化されてしまっているビットストリームデータ部分の少なくとも一部分のような、アセンブルされたビットストリームのエントロピー符号化されたデータ部分の少なくとも一部分を暗号化するのが望ましい。エンコーダがエントロピー符号化アルゴリズムを用いないならば、それでは当該ビットストリームの最高エントロピー部分（例えば、反復的でなくかつ最小予測可能である部分）の少なくとも一部分を暗号化するのが望ましい。結果的に生じる部分的に暗号化されたビットストリームを通じて、アセンブルされたビットストリーム（即ち、例えば、オーバーフロー、アンダーフロー又は不法値条件を引き起こすことによって不法なビットストリームを生じさせる）のシンタックスを犯させるビットストリーム内の１つ又はそれ以上の要素の暗号化は望ましくない。
【００１３】
一定の型のエンコーダ（例えば、利得適応量子化を用いるエンコーダ）によって生成される、アセンブルされたビットストリーム内のエントロピー符号化されたデータ部分に符号化がなされるならば、オーバーフロー又はアンダーフロー条件を避けるために、アセンブルされたビットストリーム内のデータの再順序付けを可能にするようにエンコーダのビットストリームのシンタックスを変更することが必要であり得る。
【００１４】
他の型のエントロピー型エンコーダ（例えば、ハフマン符号化又は算数的符号化を用いるエンコーダ）に関しては、オーバーフロー又はアンダーフロー条件の誘発を避けるために、パディングデータを加えることを可能にするようにエンコーダのシンタックスを変更することが必要であろう。これは、例えば、そんなオーバーフロー又はアンダーフローが起こるフレーム又はブロックの終端にパディングデータを附属させることによって達成される。
【００１５】
安全性を向上させることに加えて、本発明は総合的な計算上の複雑さを低減させる。その理由は、より少ないデータワードが暗号化されてその後解読されるからである。計算の複雑さも同様に低減される。それは、暗号化がアセンブルされたビットストリーム（エンコーダの多重送信されたビットストリーム出力）上に直接なされるからである。これは、暗号化プロセスにおいてエンコーダ又はデコーダが追加の複雑さに巻き込まれることを避ける。アセンブルされたビットストリーム（エンコーダ又はデコーダに関係なく）を暗号化する利点は、別々に暗号化された各ビットストリームは異なったマーケット及び又は目的地について作成できるからである。
【００１６】
大量のデータを暗号化することは計算的に高価である。データが低計算コストで配分時点において暗号化され得ることは有用である。これは、任意の時点で限られた数の最終使用者に個人化され得ることを保証する。例えば、ビデオ・オン・デマンド（ＶＯＤ）システムでは、大量のデータが暗号化され、ネットワークを通じて配分される。この内容が暗号化されたフォーマットで記憶されるならば、同資料（データ）を解読するためにそれは常に同一キーを有するであろう。一度使用者が解読キーを入手すると、使用者は常に同資料を利用できるであろう。配分の時点で暗号化が可能ならば、内容を通して一層の制御がなされる。本発明によりこれは可能である、それは符号化されたビットストリームをアセンブルするのに先だって、符号化プロセスにおいてよりはむしろアセンブルされたビットストリームに対して暗号化が行われるからである。
【００１７】
本発明は、ある意味で安全性の計算コストが低いほど如何に暗号化が圧縮システムから分離され得るかを記述する。本発明は同様に最終使用者に送信されたデータを保護するためにこれを用いる分配モデルをも支援する。
【００１８】
【実施形態】
図１は、概して本発明の各面により暗号化がなされる方法を示す概念的ブロック図である。オーディオ又はビデオ信号がオーディオ又はビデオエンコーダ機能又はプロセス２に加えられ、その出力がシンタックスにより符号化されたビットストリームをアセンブルするマルチプレクサ（多重チャンネル）機能又はプロセス４に加えられる。マルチプレクサ機能又はプロセスは、概してエンコーダ機能又はプロセスの一部分であるが、議論のためにここでは別々に示される。アセンブルされた符号化されたビットストリームは次いでキーを用いて暗号化機能又はプロセス６によって、既に述べたように暗号化される。あらゆる特殊の暗号化プロセスの選択は本発明にとって決定的ではない。暗号化機能又はプロセス出力は保護されたビットストリームである。保護されたビットストリームでは、ビットストリーム内の全てのものより少ないデータが暗号化され、部分的に暗号化されたビットストリームはマルチプレクサ４のアセンブルされた符号化されたビットストリームのシンタックスを犯さず、部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにするであろう。
【００１９】
劣化の程度は、少なくともビットストリームのどれだけ多くのものが暗号化されかつどれだけ多くの暗号化が行われるかに依存する。品質劣化の受容できるレベルは使用者によって決定される。
【００２０】
図２は、概して本発明の各面により暗号化がなされる方法を示す概念的ブロック図である。保護されたビットストリームが解読機能又はプロセス８に加えられる。同様にプロセス８は、保護されたビットストリームを暗号化する暗号化機能又はプロセス６によって用いられるものと同一のキーを受取る。解読されたビットストリームは次いでデマルチプレクサ機能又はプロセス１０によってデマルチプレクスされて復号されたオーディオ又はビデオ信号を与えるオーディオ又はビデオデコーダ機能又はプロセス１２に加えられる。解読機能又はプロセス８に用いられる正しいキーがない場合には、再生されたオーディオ又はビデオは劣化された品質のものから成る。
【００２１】
本発明の各面は、オーディオ及びビデオの各エンコーダ及びデコーダの双方に用いられる。特に、知覚エンコーダ及びデコーダにおいては、時間領域オーディオ又はビデオ信号が周波数領域に変換されると共にエンコーダ出力のデータ量を低減させるために知覚モデルを用いて周波数係数が量子化される。知覚オーディオ又はビデオ圧縮システムのデータの大部分はエントロピー符合化されたデータである。概してこのデータは符合化されたフレーム内の同一位置において、圧縮システムのフレームレートで発生する。本発明によると、分配サーバ（多数の使用者にオーディオ又はビデオコンテントを分配するサーバ）は、例えば、アセンブルされたビットストリームを送信する時各フレームの固定された位置でデータの小部分のみを暗号化し得る。これは、サーバがビットストリームを分析しかつデータの特殊な部分を暗号化するか又はビットストリームを復号し、それを暗号化しかつそれを再符号化することを不要にさせる。
【００２２】
ＭＰＥＧ−ＡＡＣ， Ｄｏｌｂｙ Ｅのようなオーディオデータ縮小（削減）システム又はＭＰＥＧ−１，２及び４のようなビデオ縮小システムを考察すれば、全てが圧縮アルゴリズムの一部としてある型のエントロピーコーダを含む（“Ｄｏｌｂｙ”はＤｏｌｂｙ Ｌａｂｏｒａｔｏｒｉｅｓ Ｌｉｃｅｎｓｉｎｇ Ｃｏｒｐｏｒａｔｉｏｎの商標である）。エントロピーコーダは、データセット内の冗長性を除去することによってデータサイズを縮小する。エントロピー符合化されたデータセットは「白に見せかける」特性を有する。それは処理することで確立密度関数（ＰＤＦ）を平らにするからである。この白に見せかけたデータセットからは非常に僅かな情報しか推定できないので、このデータセットは暗号化に関して任意選択できる。
【００２３】
同様に興味があるのは、Ｄｏｌｂｙ ＡＣ３ システムのような、他のオーディオ及びビデオデータ縮小システムである。同システムは圧縮アルゴリズムの一部としてエントロピー符合化は用いないが、しかし、それにもかかわらず他の部分（例えば、同期ワード、ビットストリーム情報等）よりも高いエントロピーの部分（例えば、周波数係数の量子化された仮数）を有するビットストリームを発生させる。
【００２４】
高エントロピービットストリーム部分を発生させるエントロピー符合化又は他の型の符合化を用いるオーディオ及びビデオデータ縮小システムでは、符合化アルゴリズムのシンタックスは、エントロピー符合化されるか又は高エントロピーを持つアセンブルされたデータストリームの部分を識別する。概して、エントロピー符合化された部分又は高エントロピー部分は、尺度係数、指数及び量子化された係数を含む。エントロピー符合化されたデータ又は高エントロピーデータは、通常高百分率を有するアセンブルされたビットストリームでありかつしばしばフレームの端に置かれる。エントロピー符合化されるか又は高エントロピーを有するそんな各部分は通常各フレームの同一位置に置かれるので、それらは暗号化又は解読のために容易に突き止められる。従って、それらの全て又は一部を暗号化するためにビットストリームを分析又は復号する煩雑さが回避される。
【００２５】
図３は、変換型エンコーダによって発生された典型的な符合化されたオーディオフレームのフォーマットを示す理想化された図である。同フォーマットではオーディオデータは、指数及び量子化された仮数で表される（例えば、文書「デジタルオーディオ圧縮（ＡＣ−３）標準」にさらに詳説されたＤｏｌｂｙ ＡＣ３、１９９４年１１月１０日承認；（改訂１）付属書Ａ、１９９５年４月１２日追加：（改訂２）１３正誤表、１９９５年５月２４日追加；（改訂３）、付属書Ｂ，Ｃ、１９９５年１２月２０日追加）。この例では、各フレームは一定の長さ（同一数のビット）を有する。典型的に、各フレームは、ビットストリーム情報（ＢＳＩ）、指数及び量子化された仮数が後続する幾つかの同期ビットで始まる。最高のエントロピーデータは、フレーム端にある量子化された仮数である。望ましくは、量子化された仮数又は当該量子化された仮数の一部が暗号化（図示のように）される。そうすることで、ビットストリームが適切に解読されない限り復号されたビットストリームの実質的な劣化に帰着する。各指数又はそれらの一部が暗号化（各指数は量子化された仮数より低いエントロピーを有する）されるならばより少ない劣化に帰着する。同期ワード又はＢＳＩビットを暗号化するのは望ましくない。その理由はそれらがフレームからフレームへ反復されるか又は予測可能でありかつそんな暗号化は攻撃者を助長するからである。
【００２６】
理想的には、安全性を最大にするためには、部分的に暗号化されたビットストリームはエンコーダのシンタックスを犯すべきではないが、復号される時、劣化された品質から成る出力に帰着すべきである。ビットストリームがデコーダのシンタックスを犯すならば、それでは攻撃が簡単化される。即ち、攻撃者はビットストリームシンタックスを適法化するキーを発見することのみを要する。しかし、ビットストリームが適法ならば、攻撃はさらに困難になる。即ち、攻撃者には、さらに複雑でかつ自動化することが困難な仕事である、オーディオ又はビデオ品質を回復させるキーを発見することのみが必要になる。
【００２７】
あるエンコーダによって発生されたフレームの幾つか又は全てを暗号化することは、不法なビットストリーム、即ち、当該エンコーダのシンタックスを犯す（破る）ビットストリームに帰着し得る。そんなビットストリームは、直ぐ上で述べたように、攻撃者の仕事を簡単化するであろう、当該エンコーダのシンタックスによるビットストリームを期待するデコーダによっては「復号可能」にはならない。例えば、あるエントロピー符合化されたデータ（例えば、ハフマン符合化されたデータ）は、暗号化によってこわされる逆行依存物を含む。そんなこわされた依存物は、復号アルゴリズムを通じて、フレーム端の前に当該フレームの復号を終結させるか又は当該フレーム端を過ぎて復号を続けさせる。これらは、オーバーフロー及びアンダーフロー条件である。同条件は、攻撃を有意に簡単化させる正しいキーを持たないことを攻撃者に示す。劣化されたオーディオ又はビデオを回復させるキーを探すように、攻撃者が正しいキー持っているかどうかを決めるために他の手段を用いることが攻撃者に強制されるならば、システムはさらに安全である。
【００２８】
エントロピー符合化されたデータの問題を克服することはビットストリームデータの変更を要し、例えば、ビットストリームの再順序づけ又はパディングデータの追加及び、従って、ビットストリームシンタックスの変更を要する。図４は、概してこれがどのように達成され得るかを示す。オーディオ又はビデオ信号が、標準エントロピーエンコーダ機能、即ち、プロセス１４に加えられる。エンコーダ機能、即ち、プロセス１４によって生成されるアセンブルされた符合化されたビットストリームは、シンタックス変更器機能、即ち、プロセス１６に加えられる。暗号器機能、即ち、プロセス１８は、用いられたキーにより、次いでビットストリームを暗号化し、保護されたビットストリームを生成するために変更されたビットストリームが変更されたシンタックスに従うようにビットストリームを変更する。実際上、シンタックス変更器機能、即ち、プロセス１６及び暗号器機能、即ち、プロセス１８は厳密に相互関連づけられ得る。説明のためにそれらは別々の機能として示される。図５に示されるように、保護されたビットストリームは解読器機能、即ち、プロセス２０に加えられる。プロセス２０は、暗号器機能、即ち、プロセス１８として同一キーを受取る。解読器機能、即ち、プロセス２０もまた、変更されたビットストリームをその変更されていない状態（それがエントロピー型エンコーダ１４によって生成されたように）に回復させる。シンタックス回復器機能、即ち、プロセス２２は、エントロピー型エンコーダ機能、即ち、プロセス１４によって生成されるビットストリームの原シンタックスを回復させる。図４の機能１６及び１８の場合のように、事実上、解読器機能、即ち、２０及びシンタックス回復器機能、即ち、プロセス２２の各機能は、厳密に相互関連づけられるか又は結合され、説明のために別々の機能として示される。原シンタックスを有する回復されたビットストリームは、標準エントロピー型でコーダ機能、即ち、プロセス２４に加えられる。同プロセス２４は復号されたオーディオ又はビデオ信号を与える。
【００２９】
ハフマン符号化
ハフマン符号化は、結果的に生じるビットストリームの適法性に影響することなく慣習的に暗号化され得ないエントロピー符号化の例である。この型のエントロピー符号化は、各シンボル発生の確率に基づいて独自に復号され得る各シンボルを発生させる。下記表１は、各シンボルセット、各シンボルに対する確率及び可能なハフマンコードの２セットの一例を示す。
【００３０】
表１．
2004519131.tif 000003
【００３１】
ハフマン符号化の実際的な実施では、予め計算されたハフマンコードの多数のセットがエンコーダ及びデコーダに固定され、これらのコードブック（コード一覧表）が圧縮されたビットストリームに含まれるべきではないようにされる。エンコーダは最大の符号化利得を与えるコードブックを選択する。ハフマンデータを慣習的に暗号化することに伴う問題は、暗号化されたデータが適切に復号されず（即ち、それは不適法なビットストリームに帰着する）、従って有用な情報を攻撃者に与える。
【００３２】
以下の例は、表２の第２ラインに、同表からの「コードワード１」を用いたハフマン符号化されたシンボル０、１、２、３、４の符号化された出力を示す。この例の明確化のために、ライン２の各符号化されたシンボル間にスペースが示される。ライン３は、スペースのない符号化された出力を示す。各ビットを逆にする簡単な暗号化技術がデータに用いられ、対応する出力データが同表２の第４ラインに示される。ライン５は反転・ビット・暗号化されたデータを示すが、各「コードワードセット１」コードワードのグループに解析分解されかつスペースが入れられている。最終ラインは、第５ラインの各コードワードに対応する出力シンボルを示す。従って、コード「０１」は「１」の出力に帰着し、コードワード「１」は「０」の出力に帰着する。
【００３３】
表２
2004519131.tif 000004
【００３４】
入力シンボルの数の知識を有する（攻撃者はそんな知識を有すると仮定される）が、正確な解読キーを持たない攻撃者は、ライン６に示される不正確な復号された出力シンボルを得るであろう。攻撃者は、位置が定めてない暗号出力シンボル（ライン５）があることに注目するが、暗号化に先立ってハフマン符号化された出力（ライン３）にはパディングビットが加えられていると多分仮定するであろう。従って、パディングを想定する攻撃者は、ライン７に示される復号された出力シンボルを入手し（攻撃者は、延長された出力が想定されたパディングの発生ならば、それを無視するであろう）かつ５つのシンボルのみが想定されることを知るであろう。しかし、この例では、ライン３のハフマン符号化された出力には、無作為パディングビットは追加されていない。パディングビットが追加されているならば、さらに多くの追加の復号された出力信号があったであろう。どっちみち、攻撃者は不法なビットストリームを発見するが、攻撃に有用な情報は得られない。しかし、以下にさらに説明されるように、パディングビットがない場合にアンダーフローがあるならば、攻撃をさらに困難にさせるためにハフマン符号化された出力にパディングビットを追加するのが望ましい。
【００３５】
上記及び下記例例では、実際のシステムでのビット割当てプロセスでは殆ど正確な割当ては行われないので、暗号化された出力端の無関係なビット（符号化された信号「？」を与える）、は興味のないものであり、従って常に幾つかの残留ビットが存在する。
【００３６】
以下の例は、追加のパディングビットはアンダーフロー条件に関する攻撃者に対して保護を与えることを例示する。
【００３７】
表３
2004519131.tif 000005
【００３８】
このアンダーフロー例では、無作為ビット「１０１０」が符号化された出力に加えられる。従って、そこには６個の入力シンボル及び６個の出力シンボルがある（パディングがなければ４個の出力シンボルのみが存在したであろう）。
【００３９】
利得適応量子化
利得適応量子化は、エントロピー符号化の一種である。即ち、可変コードワード長さを２つの異なった状態に限定するハフマン型エントロピー符号化とは異なる。利得適応量子化は、Ｄａｖｉｄｓｏｎ，Ｇｒａｎｔ；Ｒｏｂｉｎｓｏｎ，Ｃｈａｒｌｅｓ；Ｔｒｕｍａｎ，Ｍｉｃｈａｅｌによる、「利得適応量子化及び非均一シンボル長さを用いる改良されたオーディオ符号化」と題する、米国特許第６，２４６，３５４号に記載される。同特許は、参照によりその全てが本明細書に含まれる。
【００４０】
利得適応量子化は、１セットの数を２グループに分割する。一方のグループはより少ない数を含み、必要な解像度を表わすのにより少ないディジットしか要しないが、他方のグループは、残りのより多数の数を含む。符号化効率は、非対称分布を与える、より少ない数がより多く発生することから導出される。
【００４１】
この種のデータを出力ストリームにフォーマットする可能な方法は幾つか存在する。可能１方法は、各要素を順序づけてストリーム内に配列することである。概して、各要素は小セットからのものであり、従って大セットからの要素の存在を示すためにエスケープコードが用いられる。以下に例示するストリームは、エスケープコード（Ｅ）を有する小数（Ｓ）及び多数（Ｌ）の混合されたグループを示す。
【００４２】
ＳＳＳＳＥＬＳＳＥＬＳＳＳＳ
Ｓ及びＥ数は同一数のビット（特殊な知覚モデルビット割当てに関して）を有するが、それらのビットパターンによっては区別され得る。各周波数係数（ＧＡＱで用いられるエンコーダは、そこで周波数係数が量子化される変換コーダである）につき１個の固定された数のＳ及びＥが存在する。Ｌ数は総べて同一長さ（特殊な知覚モデルビット割当てに関して）のものであるが、可変ビットストリーム長、従ってストリームが暗号化されるならば（即ち、アンダーフロー条件）ならば不法ビットストリームを導く可変数のＬ数がある。当該問題を克服する一方法は、多（Ｌ）数をストリームの端に配置することによってデータストリームを再順序づけることである。即ち、
ＳＳＳＳＥＳＳＥＳＳＳＳＬＬ
この再順序づけられたデータストリーム例では、２グループのコードワードがある。即ち、一方のグループが小数とエスケープコードであり、他方のグループが多数である。多数のグループのみが、上記の可変長符号化問題なしに暗号化され得る。少数及びエスケープコードの第１セットは、エスケープコードの数が多数グループ内の要素の数を示すので、攻撃者に対する有用な情報を含む。正しいキーなしに、暗号化されたセットの小数及びエスケープコードが復号されると、アンダーフローを生じさせる不法シンタックスが起こる。多数セットのみを暗号化することは、適切なキーなしでは出力信号の品質を有意に損なうであろう。他の可能な再順序づけは、小グループからエスケープコードを除去する。これらのコードは、多数の適切な位置を示すためにその後さらに異なったグループ内に配置される。これは、一切の固定されたコード（エスケープコード）なしに小グループの暗号化を可能にするであろう。しかし、既に述べた図３及び図４のように、ビットストリームシンタックスを変更しなければならない欠点を持つであろう。例えば、上記の最後の例から始めて、第５及び第８番目の各要素は、Ｓコードワードの位置を示し、その位置にＬコードワードが配置されなければならない。即ち、
第５、第６ＳＳＳＳＳＳＳＳＳＳＬＬ
本発明の他の変形又は変更体及びその各面の実施は当業者にとって明らかであり、本発明はこれらの特定な実施形態に限定されないことは理解されるべきである。従って、本明細書に開示されかつ請求された基本的原理の真の趣旨及び範囲内入るすべての変更、変形又は同等物は本発明によって保護されることが意図される。
【００４３】
本発明及びその各種の面は、デジタル信号プロセッサ、プログラムされた汎用デジタルコンピュータ及び又は特殊目的デジタルコンピュータで実行されるソフトウエア機能として実施され得る。アナログ及びデジタルの各信号ストリーム間のインターフェースは、適切なハードウエア及び又はソフトウエアで及び又はファームウエアの機能として実行され得る。
【図面の簡単な説明】
【図１】
図１は、概して本発明の各面により暗号化がなされる方法を示す概念的ブロック図である。
【図２】
図２は、概して本発明の各面により解読がなされる方法を示す概念的ブロック図である。
【図３】
図３は、オーディオデータが指数及び量子化された仮数によって表わされる変換型エンコーダによって発生された典型的な符号化されたオーディオフレームのフォーマットを示す理想化された図（一定尺度係数ではない）である。
【図４】
図４は、概してビットストリームシンタックスが変更される本発明の各面により暗号化がなされる方法を示す概念的ブロック図である。
【図５】
図５は、概してビットストリームシンタックスが変更される本発明の各面により解読がなされる方法を示す概念的ブロック図である。
【図１】
2004519131.tif 000006
【図２】
2004519131.tif 000007
【図３】
2004519131.tif 000008
【図４】
2004519131.tif 000009
【図５】
2004519131.tif 000010
【国際公開パンフレット】
2004519131.tif 000011
2004519131.tif 000012
2004519131.tif 000013
2004519131.tif 000014
2004519131.tif 000015
2004519131.tif 000016
2004519131.tif 000017
2004519131.tif 000018
2004519131.tif 000019
2004519131.tif 000020
2004519131.tif 000021
2004519131.tif 000022
2004519131.tif 000023
2004519131.tif 000024
2004519131.tif 000025
2004519131.tif 000026
2004519131.tif 000027
2004519131.tif 000028
2004519131.tif 000029
【国際公開パンフレット（コレクトバージョン）】
2004519131.tif 000030
【国際公開パンフレット（コレクトバージョン）】
2004519131.tif 000031
【手続補正書】
【提出日】平成14年12月10日(2002.12.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】明細書
【発明の名称】アセンブルされたビットストリームの部分的暗号化
【特許請求の範囲】
【請求項１】オーディオ又はビデオエンコーダによってアセンブルされた符号化されたビットストリームを暗号化する方法であって、該アセンブルされた符号化されたビットストリームはシンタックスを有し、
該アセンブルされた符号化されたビットストリーム内のデータを選択し、該選択されたデータが該ビットストリーム内の全データより少なく、また、暗号化されると、該アセンブルされた符号化されたビットストリームのシンタックスを犯さずかつ該部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにする部分的に暗号化されたビットストリームに帰着するようにさせ、
前記部分的に暗号化されたビットストリームを与えるために該アセンブルされた符号化されたビットストリーム内のデータを暗号化することから成るビットストリーム暗号化方法。
【請求項２】前記シンタックスが、前記アセンブルされた符号化されたビットストリームの正規のシンタックスである、請求項１の方法。
【請求項３】該部分的に暗号化されたビットストリームが該アセンブルされた符号化された正規の該シンタックスを犯すならば、前記シンタックスは、前記アセンブルされた符号化されたビットストリームに対する前記エンコーダの該正規のシンタックスの変更されたものであり、前記選択されたデータが暗号化される時、該アセンブルされた符号化されたビットストリームの変更されたシンタックスを犯さないように、該正規のシンタックスが変更される、請求項１の方法。
【請求項４】該オーディオ又はビデオエンコーダはハフマン符号化アルゴリズムを用い、前記シンタックスが該ビットストリームにパディングビットを加えることによって変更される、請求項３の方法。
【請求項５】該オーディオ又はビデオエンコーダは、利得適応化量子化符号化アルゴリズムを用い、該ビットストリーム内のビットを再順序付けすることによって前記シンタックスが変更される、請求項３の方法。
【請求項６】前記アセンブルされた符号化されたビットストリーム内の該データが連続的なフレーム内に配置され、該アセンブルされた符号化されたビットストリーム内のデータを選択することで、１つ又はそれ以上のフレーム内のデータの幾つかが選択される、請求項１乃至３のいずれか１つの方法。
【請求項７】該選択されたデータは、最高エントロピーを有する該アセンブルされた符号化されたビットストリームの該データの少なくとも１部分を含む、請求項１乃至３のいずれか１つの方法。
【請求項８】該アセンブルされた符号化されたビットストリームデータは該符号化されたオーディオ又はビデオの周波数領域表示の量子化された周波数係数を含むように、該オーディオ又はビデオエンコーダは知覚エンコーダであり、該選択されたデータは、前記量子化された周波数係数を構成する該データの少なくとも一部分を含む、請求項１乃至３のいずれか１つの方法。
【請求項９】該アセンブルされた符号化されたビットストリームデータはエントロピー符号化されたデータを含むように該オーディオ又はビデオエンコーダはエントロピー型エンコーダーであり、該選択されたデータは前記エントロピー符号化されたデータを構成する該データの少なくとも１部分を含む、請求項１乃至３のいずれか１つの方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ暗号化に関する。特に、本発明はアセンブルされたデータ、さらに詳しくは、符号化されたオーディオ又はビデオデータの各部分を暗号化することに関する。
【０００２】
データ暗号化は、不安定なチャンネルを介して情報を安全に送信するのに用いられる。変換をもとに戻すのが非常に難しくなるように情報には数学的変換がなされる。キーは、ただの大きな数であるが、暗号化及び解読アルゴリズムを制御する。共通（対称）キーアルゴリズムは、データを暗号化しかつ解読するために同一キーを用いる。非対称キーアルゴリズムは２つの異なっているが関連するキーを用い、一方がデータ暗号化にかつ他方がデータ解読に用いられる。
【０００３】
データ暗号化用のアルゴリズムは、特に単一ビットよりはむしろワードに作用する汎用プロセッサに対して計算的に高価になり易い。現標準ＤＥＳアルゴリズムはこの様式で作動する。概して、キーのサイズが大きいほどアルゴリズムの計算費用はかさむ。
【０００４】
安全な暗号化アルゴリズムでは、攻撃者は盗まれた情報を解読するのに要するキー以外のシステムについては全てを知っていると想定する。理想的な条件下では、成功可能な唯一の攻撃は消耗的なキー調査であり、そこでは攻撃者は暗号化されたデータの全セットに可能なあらゆるキーを用い、次いでそれが実際的かどうかを見るために解読された結果を分析しなければならない。これが唯一の可能な攻撃ならば、十分に大きなキーサイズ（即ち、すべての可能なキーを試験するのに要する時間は実際的でない）を選ぶことによってシステムは実際に安全にされ得る。
【０００５】
多くのシステムでは、消耗的なキーサーチ（調査）をするのに要する時間を減らすために意味のある弱点が用いられ得る。この弱点は、解読されたデータが認識可能な情報を含むことが知られるときに起こる。例えば、暗号化されたデータが英語テキストと分かったなら、解読されたデータからの統計で英語に近いあるものが何時発見されたかが決定され得る。これは潜在的なキーを示すであろう。解読されたテキスト以内に一定のワードが存在することが分かるなら、潜在的キーを発見するのはさらに容易であろう。
【０００６】
さらに、暗号化されたデータが内在的依存物を含むなら、より効果的な消耗的キー調査を行うことが可能になり得る。暗号化されるべきデータがビットストリームであり、かつあるビットストリーム要素の特定の値が後続のビットストリーム要素の存在又はサイズを決定するなら、これらの依存物は攻撃者によって利用され得る。一例として、総合的フレームサイズが既知のフレームに基づくビットストリームシンタックスであって、それに対する１つ又はそれ以上のパラメータが、他のパラメータの値に基づいて任意選択的に含まれるものを考慮せよ。消耗的なキーサーチを行う攻撃者は、一定のキーグループに関して、解読されたビットストリームがこれらの任意選択的なパラメータを含むことを示し、その結果としてフレームサイズはそれがあるべきものより長いこと（これはオーバーフロー、即ち、過剰条件と呼ばれる）を発見するかも知れない。そんな解読されたビットストリームは、ビットストリームのシンタックスを犯す「不法な」ビットストリームである。この場合、攻撃者は正しい解読キーがこのグループ内にはないと結論することが可能であり、これは消耗的調査の完成上かなりの時間を省略し得る。同様な事例がアンダーフロー、即ち、過小条件において存在し、そこでは解読されたシンタックスは、合法的ビットストリームを構成するのに十分なビットを利用できない。最後に、ビットストリームの１つ又はそれ以上のパラメータがある特定の値をとるのを妨げられると、これらの値の発生は攻撃者がキーを不可能にする（これは不法値条件と呼ばれると共にビットストリームのシンタックスを犯す不法なビットストリームの別の例である）のを助長し得る。
【０００７】
【発明が解決しようとする課題】
攻撃に対してシステムをより頑強にする可能な一方法は、データが暗号化される前にそれを不要にすることである。ハシェ機能、即ち、不要なデータ機能は、攻撃を助けるのに統計及びキーワードを用いることができないようにデータを無作為化させる。この方法には幾つかの方法がある。攻撃者にはハシェ機能が分かりかつそれを取り消すことができることが想定されなければならない。さらに、ハシェ機能はより多くの処理エネルギーを用い、さらに計算コストを増大させる。
【０００８】
オーディオ及びビデオのようなプロセス入力データをブロックする多くのデータ低減システムが存在する。これらのシステムは、概して予め決められた様式で圧縮されたデータを構成する。データは、ある時間を通して独立的に復号され得る各ブロック又はフレームに分割される。各フレームは、固定情報（即ち、フレームごとに一定）及び可変情報（即ち、フレームごとに変化する）の双方からなる。これらのフレームの全データを直接符号化することは、必要とされる大量の処理及び攻撃者がキーを決定するのを助長し得る既知のキーワードに関する安全問題のような上記問題につながる。同期ワード、データレート及び他のメタデータのような固定情報内に含まれる既知のキーワードは、フレームごとに殆ど又は全く変らず、かつ攻撃者に消耗的キー調査により手間をかけることを要しない攻撃を考案することを可能にするのに用いられ得る。
【０００９】
米国特許第５，６３６，２７９号は、可変長コードを含むデータにスクランブルをかけるスクランブル装置を開示する。一実施形態によるスクランブル装置は、入力信号としてＭＰＥＧ符号化されたビデオ信号を受信する。入力信号は、入力信号の全データ内容を読取るために各コードを生成するのに用いられるコードブックを有するコード検出装置に供給される。コード検出装置の出力信号に基づいて入力信号の選択された部分にスクランブルがかけられる。スクランブル操作に先立って受信されたビットストリームを復号することを要する同検出装置は、この周知の装置を複雑かつ高価なものにしている。
【００１０】
エンコーダによる出力ビットストリームのアセンブリに先立ってフレームの可変情報部分を暗号化することは知られている（ドイツ特許ＤＥ１９９ ０７ ９６４ ＣＩ、米国特許第５，６３６，２７９号）。しかし、この接近方法は幾つかの欠点を有する。アセンブルされたビットストリームに対してよりはむしろエンコーダ内で暗号化を要することは複雑である。この複雑性は、異なった暗号化キーでそれぞれ暗号化される、ビットストリームの多数のコピーが多数の使用者に送られるべき場合にはそれを非実用的にする。さらに、ハフマン符号化のような、エントロピー符号化に先立ってエンコーダ内のデータに暗号化がなされるならば、暗号化はエントロピーコーダの符号化の利点を無効にし易い（暗号化はデータを白に見せかける傾向があり、データ内により少ない冗長性を残し、エントロピー符号化が縮小する）。従って、改良されたデータ暗号化方法の必要性が残される。
【００１１】
【課題を解決するための手段】
本発明の第１面により、オーディオ又はビデオエンコーダによってアセンブルされた符号化された、シンタックスを有するビットストリームを暗号化する方法が与えられる。アセンブルされた符号化されたビットストリーム内のデータが選択され、同データはビットストリーム内の全データより少なく、暗号化されると、アセンブルされた符号化されたビットストリームのシンタックスを犯さない部分的に暗号化されたビットストリームに帰着し、かつ部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにする。アセンブルされた符号化されたビットストリーム内の選択されたデータは、部分的に暗号化されたビットストリームを与えるように暗号化される。本発明のさらなる面によると、部分的に暗号化されたビットストリームがアセンブルされた符号化されたビットストリームの正規のシンタックスを犯すならば、シンタックスはアセンブルされた符号化されたビットストリームに対するエンコーダの正規のシンタックスが変更されたものであり、選択されたデータが暗号化されると結果的に生じる部分的に暗号化された変更されたビットストリームがアセンブルされた符号化されたビットストリームの変更されたシンタックスを犯さないように正規のシンタックスが変更される。
【００１２】
システム安全性では、保護されることが求められるデータに関するある知識を攻撃者が得ることを必ずしも妨げる必要はない。たとえビットストリーム要素の幾つかが平文で見えるとしても、十分なビットストリームが暗号化されると、それを適切に解読することなくデータを有意義に用いることは不可能であり得る。例えば、オーディオデータが理解不能か又は劣化された品質のものならば、たとえ攻撃者がビットストリームで伝えられる関連したメタデータの幾つかを見ることができるとしても、同オーディオデータは役に立たないかもしれない。
【００１３】
本発明によると、アセンブルされたビットストリームの全てよりもむしろその一部分のみを暗号化することによって安全性は向上される。値が既知であるか又は多分統計的にそうである、アセンブルされたビットストリームの要素の暗号化は望ましくない。アセンブルされたビットストリーム内で最高のエントロピーを有する各要素の暗号化は望ましい。例えば、エンコーダがエントロピー符号化アルゴリズムを用いるならば、ハフマン符号化、算数的符号化又は利得適応量子化（ＧＡＱ）符号化されてしまっているビットストリームデータ部分の少なくとも一部分のような、アセンブルされたビットストリームのエントロピー符号化されたデータ部分の少なくとも一部分を暗号化するのが望ましい。エンコーダがエントロピー符号化アルゴリズムを用いないならば、それでは当該ビットストリームの最高エントロピー部分（例えば、反復的でなくかつ最小予測可能である部分）の少なくとも一部分を暗号化するのが望ましい。結果的に生じる部分的に暗号化されたビットストリームを通じて、アセンブルされたビットストリーム（即ち、例えば、オーバーフロー、アンダーフロー又は不法値条件を引き起こすことによって不法なビットストリームを生じさせる）のシンタックスを犯させるビットストリーム内の１つ又はそれ以上の要素の暗号化は望ましくない。
【００１４】
一定の型のエンコーダ（例えば、利得適応量子化を用いるエンコーダ）によって生成される、アセンブルされたビットストリーム内のエントロピー符号化されたデータ部分に符号化がなされるならば、オーバーフロー又はアンダーフロー条件を避けるために、アセンブルされたビットストリーム内のデータの再順序付けを可能にするようにエンコーダのビットストリームのシンタックスを変更することが必要であり得る。
【００１５】
他の型のエントロピー型エンコーダ（例えば、ハフマン符号化又は算数的符号化を用いるエンコーダ）に関しては、オーバーフロー又はアンダーフロー条件の誘発を避けるために、パディングデータを加えることを可能にするようにエンコーダのシンタックスを変更することが必要であろう。これは、例えば、そんなオーバーフロー又はアンダーフローが起こるフレーム又はブロックの終端にパディングデータを附属させることによって達成される。
【００１６】
安全性を向上させることに加えて、本発明は総合的な計算上の複雑さを低減させる。その理由は、より少ないデータワードが暗号化されてその後解読されるからである。計算の複雑さも同様に低減される。それは、暗号化がアセンブルされたビットストリーム（エンコーダの多重送信されたビットストリーム出力）上に直接なされるからである。これは、暗号化プロセスにおいてエンコーダ又はデコーダが追加の複雑さに巻き込まれることを避ける。アセンブルされたビットストリーム（エンコーダ又はデコーダに関係なく）を暗号化する利点は、別々に暗号化された各ビットストリームは異なったマーケット及び又は目的地について作成できるからである。
【００１７】
大量のデータを暗号化することは計算的に高価である。データが低計算コストで配分時点において暗号化され得ることは有用である。これは、任意の時点で限られた数の最終使用者に個人化され得ることを保証する。例えば、ビデオ・オン・デマンド（ＶＯＤ）システムでは、大量のデータが暗号化され、ネットワークを通じて配分される。この内容が暗号化されたフォーマットで記憶されるならば、同資料（データ）を解読するためにそれは常に同一キーを有するであろう。一度使用者が解読キーを入手すると、使用者は常に同資料を利用できるであろう。配分の時点で暗号化が可能ならば、内容を通して一層の制御がなされる。本発明によりこれは可能である、それは符号化されたビットストリームをアセンブルするのに先だって、符号化プロセスにおいてよりはむしろアセンブルされたビットストリームに対して暗号化が行われるからである。
【００１８】
本発明は、ある意味で安全性の計算コストが低いほど如何に暗号化が圧縮システムから分離され得るかを記述する。本発明は同様に最終使用者に送信されたデータを保護するためにこれを用いる分配モデルをも支援する。
【００１９】
【実施形態】
図１は、概して本発明の各面により暗号化がなされる方法を示す概念的ブロック図である。オーディオ又はビデオ信号がオーディオ又はビデオエンコーダ機能又はプロセス２に加えられ、その出力がシンタックスにより符号化されたビットストリームをアセンブルするマルチプレクサ（多重チャンネル）機能又はプロセス４に加えられる。マルチプレクサ機能又はプロセスは、概してエンコーダ機能又はプロセスの一部分であるが、議論のためにここでは別々に示される。アセンブルされた符号化されたビットストリームは次いでキーを用いて暗号化機能又はプロセス６によって、既に述べたように暗号化される。あらゆる特殊の暗号化プロセスの選択は本発明にとって決定的ではない。暗号化機能又はプロセス出力は保護されたビットストリームである。保護されたビットストリームでは、ビットストリーム内の全てのものより少ないデータが暗号化され、部分的に暗号化されたビットストリームはマルチプレクサ４のアセンブルされた符号化されたビットストリームのシンタックスを犯さず、部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにするであろう。
【００２０】
劣化の程度は、少なくともビットストリームのどれだけ多くのものが暗号化されかつどれだけ多くの暗号化が行われるかに依存する。品質劣化の受容できるレベルは使用者によって決定される。
【００２１】
図２は、概して本発明の各面により暗号化がなされる方法を示す概念的ブロック図である。保護されたビットストリームが解読機能又はプロセス８に加えられる。同様にプロセス８は、保護されたビットストリームを暗号化する暗号化機能又はプロセス６によって用いられるものと同一のキーを受取る。解読されたビットストリームは次いでデマルチプレクサ機能又はプロセス１０によってデマルチプレクスされて復号されたオーディオ又はビデオ信号を与えるオーディオ又はビデオデコーダ機能又はプロセス１２に加えられる。解読機能又はプロセス８に用いられる正しいキーがない場合には、再生されたオーディオ又はビデオは劣化された品質のものから成る。
【００２２】
本発明の各面は、オーディオ及びビデオの各エンコーダ及びデコーダの双方に用いられる。特に、知覚エンコーダ及びデコーダにおいては、時間領域オーディオ又はビデオ信号が周波数領域に変換されると共にエンコーダ出力のデータ量を低減させるために知覚モデルを用いて周波数係数が量子化される。知覚オーディオ又はビデオ圧縮システムのデータの大部分はエントロピー符合化されたデータである。概してこのデータは符合化されたフレーム内の同一位置において、圧縮システムのフレームレートで発生する。本発明によると、分配サーバ（多数の使用者にオーディオ又はビデオコンテントを分配するサーバ）は、例えば、アセンブルされたビットストリームを送信する時各フレームの固定された位置でデータの小部分のみを暗号化し得る。これは、サーバがビットストリームを分析しかつデータの特殊な部分を暗号化するか又はビットストリームを復号し、それを暗号化しかつそれを再符号化することを不要にさせる。
【００２３】
ＭＰＥＧ−ＡＡＣ， Ｄｏｌｂｙ Ｅのようなオーディオデータ縮小（削減）システム又はＭＰＥＧ−１，２及び４のようなビデオ縮小システムを考察すれば、全てが圧縮アルゴリズムの一部としてある型のエントロピーコーダを含む（“Ｄｏｌｂｙ”はＤｏｌｂｙ Ｌａｂｏｒａｔｏｒｉｅｓ Ｌｉｃｅｎｓｉｎｇ Ｃｏｒｐｏｒａｔｉｏｎの商標である）。エントロピーコーダは、データセット内の冗長性を除去することによってデータサイズを縮小する。エントロピー符合化されたデータセットは「白に見せかける」特性を有する。それは処理することで確立密度関数（ＰＤＦ）を平らにするからである。この白に見せかけたデータセットからは非常に僅かな情報しか推定できないので、このデータセットは暗号化に関して任意選択できる。
【００２４】
同様に興味があるのは、Ｄｏｌｂｙ ＡＣ３ システムのような、他のオーディオ及びビデオデータ縮小システムである。同システムは圧縮アルゴリズムの一部としてエントロピー符合化は用いないが、しかし、それにもかかわらず他の部分（例えば、同期ワード、ビットストリーム情報等）よりも高いエントロピーの部分（例えば、周波数係数の量子化された仮数）を有するビットストリームを発生させる。
【００２５】
高エントロピービットストリーム部分を発生させるエントロピー符合化又は他の型の符合化を用いるオーディオ及びビデオデータ縮小システムでは、符合化アルゴリズムのシンタックスは、エントロピー符合化されるか又は高エントロピーを持つアセンブルされたデータストリームの部分を識別する。概して、エントロピー符合化された部分又は高エントロピー部分は、尺度係数、指数及び量子化された係数を含む。エントロピー符合化されたデータ又は高エントロピーデータは、通常高百分率を有するアセンブルされたビットストリームでありかつしばしばフレームの端に置かれる。エントロピー符合化されるか又は高エントロピーを有するそんな各部分は通常各フレームの同一位置に置かれるので、それらは暗号化又は解読のために容易に突き止められる。従って、それらの全て又は一部を暗号化するためにビットストリームを分析又は復号する煩雑さが回避される。
【００２６】
図３は、変換型エンコーダによって発生された典型的な符合化されたオーディオフレームのフォーマットを示す理想化された図である。同フォーマットではオーディオデータは、指数及び量子化された仮数で表される（例えば、文書「デジタルオーディオ圧縮（ＡＣ−３）標準」にさらに詳説されたＤｏｌｂｙ ＡＣ３、１９９４年１１月１０日承認；（改訂１）付属書Ａ、１９９５年４月１２日追加：（改訂２）１３正誤表、１９９５年５月２４日追加；（改訂３）、付属書Ｂ，Ｃ、１９９５年１２月２０日追加）。この例では、各フレームは一定の長さ（同一数のビット）を有する。典型的に、各フレームは、ビットストリーム情報（ＢＳＩ）、指数及び量子化された仮数が後続する幾つかの同期ビットで始まる。最高のエントロピーデータは、フレーム端にある量子化された仮数である。望ましくは、量子化された仮数又は当該量子化された仮数の一部が暗号化（図示のように）される。そうすることで、ビットストリームが適切に解読されない限り復号されたビットストリームの実質的な劣化に帰着する。各指数又はそれらの一部が暗号化（各指数は量子化された仮数より低いエントロピーを有する）されるならばより少ない劣化に帰着する。同期ワード又はＢＳＩビットを暗号化するのは望ましくない。その理由はそれらがフレームからフレームへ反復されるか又は予測可能でありかつそんな暗号化は攻撃者を助長するからである。
【００２７】
理想的には、安全性を最大にするためには、部分的に暗号化されたビットストリームはエンコーダのシンタックスを犯すべきではないが、復号される時、劣化された品質から成る出力に帰着すべきである。ビットストリームがデコーダのシンタックスを犯すならば、それでは攻撃が簡単化される。即ち、攻撃者はビットストリームシンタックスを適法化するキーを発見することのみを要する。しかし、ビットストリームが適法ならば、攻撃はさらに困難になる。即ち、攻撃者には、さらに複雑でかつ自動化することが困難な仕事である、オーディオ又はビデオ品質を回復させるキーを発見することのみが必要になる。
【００２８】
あるエンコーダによって発生されたフレームの幾つか又は全てを暗号化することは、不法なビットストリーム、即ち、当該エンコーダのシンタックスを犯す（破る）ビットストリームに帰着し得る。そんなビットストリームは、直ぐ上で述べたように、攻撃者の仕事を簡単化するであろう、当該エンコーダのシンタックスによるビットストリームを期待するデコーダによっては「復号可能」にはならない。例えば、あるエントロピー符合化されたデータ（例えば、ハフマン符合化されたデータ）は、暗号化によってこわされる逆行依存物を含む。そんなこわされた依存物は、復号アルゴリズムを通じて、フレーム端の前に当該フレームの復号を終結させるか又は当該フレーム端を過ぎて復号を続けさせる。これらは、オーバーフロー及びアンダーフロー条件である。同条件は、攻撃を有意に簡単化させる正しいキーを持たないことを攻撃者に示す。劣化されたオーディオ又はビデオを回復させるキーを探すように、攻撃者が正しいキー持っているかどうかを決めるために他の手段を用いることが攻撃者に強制されるならば、システムはさらに安全である。
【００２９】
エントロピー符合化されたデータの問題を克服することはビットストリームデータの変更を要し、例えば、ビットストリームの再順序づけ又はパディングデータの追加及び、従って、ビットストリームシンタックスの変更を要する。図４は、概してこれがどのように達成され得るかを示す。オーディオ又はビデオ信号が、標準エントロピーエンコーダ機能、即ち、プロセス１４に加えられる。エンコーダ機能、即ち、プロセス１４によって生成されるアセンブルされた符合化されたビットストリームは、シンタックス変更器機能、即ち、プロセス１６に加えられる。暗号器機能、即ち、プロセス１８は、用いられたキーにより、次いでビットストリームを暗号化し、保護されたビットストリームを生成するために変更されたビットストリームが変更されたシンタックスに従うようにビットストリームを変更する。実際上、シンタックス変更器機能、即ち、プロセス１６及び暗号器機能、即ち、プロセス１８は厳密に相互関連づけられ得る。説明のためにそれらは別々の機能として示される。図５に示されるように、保護されたビットストリームは解読器機能、即ち、プロセス２０に加えられる。プロセス２０は、暗号器機能、即ち、プロセス１８として同一キーを受取る。解読器機能、即ち、プロセス２０もまた、変更されたビットストリームをその変更されていない状態（それがエントロピー型エンコーダ１４によって生成されたように）に回復させる。シンタックス回復器機能、即ち、プロセス２２は、エントロピー型エンコーダ機能、即ち、プロセス１４によって生成されるビットストリームの原シンタックスを回復させる。図４の機能１６及び１８の場合のように、事実上、解読器機能、即ち、２０及びシンタックス回復器機能、即ち、プロセス２２の各機能は、厳密に相互関連づけられるか又は結合され、説明のために別々の機能として示される。原シンタックスを有する回復されたビットストリームは、標準エントロピー型でコーダ機能、即ち、プロセス２４に加えられる。同プロセス２４は復号されたオーディオ又はビデオ信号を与える。
【００３０】
ハフマン符号化
ハフマン符号化は、結果的に生じるビットストリームの適法性に影響することなく慣習的に暗号化され得ないエントロピー符号化の例である。この型のエントロピー符号化は、各シンボル発生の確率に基づいて独自に復号され得る各シンボルを発生させる。下記表１は、各シンボルセット、各シンボルに対する確率及び可能なハフマンコードの２セットの一例を示す。
【００３１】
表１．
2004519131.tif 000032
【００３２】
ハフマン符号化の実際的な実施では、予め計算されたハフマンコードの多数のセットがエンコーダ及びデコーダに固定され、これらのコードブック（コード一覧表）が圧縮されたビットストリームに含まれるべきではないようにされる。エンコーダは最大の符号化利得を与えるコードブックを選択する。ハフマンデータを慣習的に暗号化することに伴う問題は、暗号化されたデータが適切に復号されず（即ち、それは不適法なビットストリームに帰着する）、従って有用な情報を攻撃者に与える。
【００３３】
以下の例は、表２の第２ラインに、同表からの「コードワード１」を用いたハフマン符号化されたシンボル０、１、２、３、４の符号化された出力を示す。この例の明確化のために、ライン２の各符号化されたシンボル間にスペースが示される。ライン３は、スペースのない符号化された出力を示す。各ビットを逆にする簡単な暗号化技術がデータに用いられ、対応する出力データが同表２の第４ラインに示される。ライン５は反転・ビット・暗号化されたデータを示すが、各「コードワードセット１」コードワードのグループに解析分解されかつスペースが入れられている。最終ラインは、第５ラインの各コードワードに対応する出力シンボルを示す。従って、コード「０１」は「１」の出力に帰着し、コードワード「１」は「０」の出力に帰着する。
【００３４】
表２
2004519131.tif 000033
【００３５】
入力シンボルの数の知識を有する（攻撃者はそんな知識を有すると仮定される）が、正確な解読キーを持たない攻撃者は、ライン６に示される不正確な復号された出力シンボルを得るであろう。攻撃者は、位置が定めてない暗号出力シンボル（ライン５）があることに注目するが、暗号化に先立ってハフマン符号化された出力（ライン３）にはパディングビットが加えられていると多分仮定するであろう。従って、パディングを想定する攻撃者は、ライン７に示される復号された出力シンボルを入手し（攻撃者は、延長された出力が想定されたパディングの発生ならば、それを無視するであろう）かつ５つのシンボルのみが想定されることを知るであろう。しかし、この例では、ライン３のハフマン符号化された出力には、無作為パディングビットは追加されていない。パディングビットが追加されているならば、さらに多くの追加の復号された出力信号があったであろう。どっちみち、攻撃者は不法なビットストリームを発見するが、攻撃に有用な情報は得られない。しかし、以下にさらに説明されるように、パディングビットがない場合にアンダーフローがあるならば、攻撃をさらに困難にさせるためにハフマン符号化された出力にパディングビットを追加するのが望ましい。
【００３６】
上記及び下記例例では、実際のシステムでのビット割当てプロセスでは殆ど正確な割当ては行われないので、暗号化された出力端の無関係なビット（符号化された信号「？」を与える）、は興味のないものであり、従って常に幾つかの残留ビットが存在する。
【００３７】
以下の例は、追加のパディングビットはアンダーフロー条件に関する攻撃者に対して保護を与えることを例示する。
【００３８】
表３
2004519131.tif 000034
【００３９】
このアンダーフロー例では、無作為ビット「１０１０」が符号化された出力に加えられる。従って、そこには６個の入力シンボル及び６個の出力シンボルがある（パディングがなければ４個の出力シンボルのみが存在したであろう）。
【００４０】
利得適応量子化
利得適応量子化は、エントロピー符号化の一種である。即ち、可変コードワード長さを２つの異なった状態に限定するハフマン型エントロピー符号化とは異なる。利得適応量子化は、Ｄａｖｉｄｓｏｎ，Ｇｒａｎｔ；Ｒｏｂｉｎｓｏｎ，Ｃｈａｒｌｅｓ；Ｔｒｕｍａｎ，Ｍｉｃｈａｅｌによる、「利得適応量子化及び非均一シンボル長さを用いる改良されたオーディオ符号化」と題する、米国特許第６，２４６，３５４号に記載される。同特許は、参照によりその全てが本明細書に含まれる。
【００４１】
利得適応量子化は、１セットの数を２グループに分割する。一方のグループはより少ない数を含み、必要な解像度を表わすのにより少ないディジットしか要しないが、他方のグループは、残りのより多数の数を含む。符号化効率は、非対称分布を与える、より少ない数がより多く発生することから導出される。
【００４２】
この種のデータを出力ストリームにフォーマットする可能な方法は幾つか存在する。可能１方法は、各要素を順序づけてストリーム内に配列することである。概して、各要素は小セットからのものであり、従って大セットからの要素の存在を示すためにエスケープコードが用いられる。以下に例示するストリームは、エスケープコード（Ｅ）を有する小数（Ｓ）及び多数（Ｌ）の混合されたグループを示す。
【００４３】
ＳＳＳＳＥＬＳＳＥＬＳＳＳＳ
Ｓ及びＥ数は同一数のビット（特殊な知覚モデルビット割当てに関して）を有するが、それらのビットパターンによっては区別され得る。各周波数係数（ＧＡＱで用いられるエンコーダは、そこで周波数係数が量子化される変換コーダである）につき１個の固定された数のＳ及びＥが存在する。Ｌ数は総べて同一長さ（特殊な知覚モデルビット割当てに関して）のものであるが、可変ビットストリーム長、従ってストリームが暗号化されるならば（即ち、アンダーフロー条件）ならば不法ビットストリームを導く可変数のＬ数がある。当該問題を克服する一方法は、多（Ｌ）数をストリームの端に配置することによってデータストリームを再順序づけることである。即ち、
ＳＳＳＳＥＳＳＥＳＳＳＳＬＬ
この再順序づけられたデータストリーム例では、２グループのコードワードがある。即ち、一方のグループが小数とエスケープコードであり、他方のグループが多数である。多数のグループのみが、上記の可変長符号化問題なしに暗号化され得る。少数及びエスケープコードの第１セットは、エスケープコードの数が多数グループ内の要素の数を示すので、攻撃者に対する有用な情報を含む。正しいキーなしに、暗号化されたセットの小数及びエスケープコードが復号されると、アンダーフローを生じさせる不法シンタックスが起こる。多数セットのみを暗号化することは、適切なキーなしでは出力信号の品質を有意に損なうであろう。他の可能な再順序づけは、小グループからエスケープコードを除去する。これらのコードは、多数の適切な位置を示すためにその後さらに異なったグループ内に配置される。これは、一切の固定されたコード（エスケープコード）なしに小グループの暗号化を可能にするであろう。しかし、既に述べた図３及び図４のように、ビットストリームシンタックスを変更しなければならない欠点を持つであろう。例えば、上記の最後の例から始めて、第５及び第８番目の各要素は、Ｓコードワードの位置を示し、その位置にＬコードワードが配置されなければならない。即ち、
第５、第６ＳＳＳＳＳＳＳＳＳＳＬＬ
本発明の他の変形又は変更体及びその各面の実施は当業者にとって明らかであり、本発明はこれらの特定な実施形態に限定されないことは理解されるべきである。従って、本明細書に開示されかつ請求された基本的原理の真の趣旨及び範囲内入るすべての変更、変形又は同等物は本発明によって保護されることが意図される。
【００４４】
本発明及びその各種の面は、デジタル信号プロセッサ、プログラムされた汎用デジタルコンピュータ及び又は特殊目的デジタルコンピュータで実行されるソフトウエア機能として実施され得る。アナログ及びデジタルの各信号ストリーム間のインターフェースは、適切なハードウエア及び又はソフトウエアで及び又はファームウエアの機能として実行され得る。
【図面の簡単な説明】
【図１】
図１は、概して本発明の各面により暗号化がなされる方法を示す概念的ブロック図である。
【図２】
図２は、概して本発明の各面により解読がなされる方法を示す概念的ブロック図である。
【図３】
図３は、オーディオデータが指数及び量子化された仮数によって表わされる変換型エンコーダによって発生された典型的な符号化されたオーディオフレームのフォーマットを示す理想化された図（一定尺度係数ではない）である。
【図４】
図４は、概してビットストリームシンタックスが変更される本発明の各面により暗号化がなされる方法を示す概念的ブロック図である。
【図５】
図５は、概してビットストリームシンタックスが変更される本発明の各面により解読がなされる方法を示す概念的ブロック図である。




【手続補正書】
【提出日】平成15年1月18日(2003.1.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オーディオ又はビデオエンコーダによってアセンブルされた符号化されたビットストリームを暗号化する方法であって、
該アセンブルされたビットストリームの如何なる部分も復号することなく該アセンブルされた符号化されたビットストリーム内のデータを選択し、該選択されたデータが該ビットストリーム内の全データより少なく、また、該選択されたデータが暗号化されると、該アセンブルされた符号化されたビットストリームのシンタックスを犯さずかつ該部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにさせる、部分的に暗号化されたビットストリームに帰着するようにさせ、
前記部分的に暗号化されたビットストリームを与えるために該アセンブルされた符号化されたビットストリーム内のデータを暗号化することから成るビットストリーム暗号化方法。
【請求項２】
前記シンタックスが、前記アセンブルされた符号化されたビットストリームの正規のシンタックスである、請求項１の方法。
【請求項３】
オーディオ又はビデオエンコーダによってアセンブルされた符号化されたビットストリームを部分的に暗号化する方法において、該アセンブルされたビットストリームはシンタックスを有し、部分的に暗号化されたビットストリームが該アセンブルされた符号化されたビットストリームの正規のシンタックスを犯すとき、前記シンタックスは、前記アセンブルされた符号化されたビットストリームに対する該エンコーダの該正規のシンタックスの変更されたものになるようにさせる方法であって、
該アセンブルされたビットストリームの如何なる部分も復号することなく該アセンブルされた符号化されたビットストリーム内のデータを選択し、該選択されたデータが該ビットストリーム内の全データより少なく、また、該選択されたデータが暗号化されると、該アセンブルされた符号化されたビットストリームのシンタックスを犯さずかつ該部分的に暗号化されたビットストリームの解読されてない復号から結果的に生じる再生されたオーディオ又はビデオを劣化された品質のものにさせる部分的に暗号化されたビットストリームに帰着するようにさせ、
前記部分的に暗号化されたビットストリームを与えるために該アセンブルされた符号化されたビットストリーム内で選択されたデータを暗号化することから成る部分的ビットストリーム暗号化方法。
【請求項４】
該オーディオ又はビデオエンコーダはハフマン符号化アルゴリズムを用い、前記シンタックスが該ビットストリームにパディングビットを加えることによって変更される、請求項３の方法。
【請求項５】
該オーディオ又はビデオエンコーダは、利得適応化量子化符号化アルゴリズムを用い、該ビットストリーム内のビットを再順序付けすることによって前記シンタックスが変更される、請求項３の方法。
【請求項６】
前記アセンブルされた符号化されたビットストリーム内の該データが連続的なフレームに配置され、該アセンブルされた符号化されたビットストリームのデータを選択することで、１つ又はそれ以上のフレームのデータの幾つかが選択される、請求項１乃至３のいずれか１つの方法。
【請求項７】
該選択されたデータは、最高エントロピーを有する該アセンブルされた符号化されたビットストリームの該データの少なくとも１部分を含む、請求項１乃至３のいずれか１つの方法。
【請求項８】
該オーディオ又はビデオエンコーダは知覚エンコーダであり、該アセンブルされた符号化されたビットストリームデータは該符号化されたオーディオ又はビデオの周波数領域表示の量子化された周波数係数を含むようにされ、該選択されたデータは、前記量子化された周波数係数を構成する該データの少なくとも一部分を含む、請求項１乃至３のいずれか１つの方法。
【請求項９】
該オーディオ又はビデオエンコーダはエントロピー型エンコーダーであり、該アセンブルされた符号化されたビットストリームデータはエントロピー符号化されたデータを含むようにされ、該選択されたデータは前記エントロピー符号化されたデータを構成する該データの少なくとも１部分を含む、請求項１乃至３のいずれか１つの方法。
【国際調査報告】
2004519131.tif 000035
2004519131.tif 000036