(57)【特許請求の範囲】
【請求項１】
部分的に画像データを暗号化する方法であって、
独立して復号可能な符号化ユニットを発生する符号化手段において当該符号化ユニットを発生する符号化アルゴリズムを使用して画像データを符号化する過程と、
前記符号化された画像データの少なくとも一つの符号化ユニットを暗号化手段により暗号化する過程と、
符号化ユニットを統合する手段において、暗号化されていない符号化ユニットを、前記暗号化手段により暗号化された符号化ユニットと共に組み合わされたビットストリームの中に統合する過程と、
を有し、
関心領域に対応した情報が暗号化されているとき、関心領域の形状はクローキングシェープに覆われるということを特徴とする方法。
【請求項２】
暗号化されていない符号化ユニットが、低解像度バージョンの画像データに対応することを特徴とする請求項１に記載の方法。
【請求項３】
異なる符号化ユニットが異なる符号化方式を使用して暗号化されることを特徴とする請求項１または２に記載の方法。
【請求項４】
符号化ユニットが暗号化されたか否かを示す暗号化フラッグがビットストリームの中に挿入されることを特徴とする請求項１ないし３のいずれか１つに記載の方法。
【請求項５】
画像データの部分的な暗号化を行うための装置であって、
独立して復号可能な符号化ユニットを発生させる符号化アルゴリズムによって画像データの符号化を行う手段と、
符号化ユニットの少なくとも１つを暗号化するために、符号化手段に接続された手段と、
暗号化された符号化ユニットと暗号化されていない符号化ユニットを統合して組み合わせビットストリームとする手段と、
を具備し、
クローキングシェープ中に関心領域の形状を覆う手段を有することを特徴とする装置。
【請求項６】
低解像度バージョンの画像データに対応するユニットとして、暗号化されていない符号化ユニットを選択する手段を有することを特徴とする請求項５に記載の装置。
【請求項７】
異なる符号化方式を使用して異なる符号化ユニットを暗号化する手段を有することを特徴とする請求項５又は６に記載の装置。
【請求項８】
ビットストリーム上で符号化ユニットが暗号化されているか否かを示す暗号化フラッグ挿入手段を有することを特徴とする請求項５ないし７のいずれか１つに記載の装置。
【発明の詳細な説明】
【０００１】
発明の属する技術分野
本発明は画像の暗号化を行うための方法と装置に関する。
【０００２】
発明の背景と先行技術
機密情報または、情報に対してお金を支払ったユーザーだけが利用できるように情報を記憶装置に格納したり送信したりするとき、デジタルデータの暗号化は重要になる技術分野である。したがって、いくつかのデジタルデータの暗号化方式が、ひんぱんに使用されている。このような方式は、デジタル画像データにも適用することができる。暗号化方式の例としては、DES、トリプルDES、パブリックキーRSA方式がある。
【０００３】
デジタル画像はサーバーに格納することができ、デジタル画像データとして電気通信ネットワーク上に配信することができる。画像はCD-ROMのような物理的記憶媒体を使用して配信することもできる。サービス提供者は自分たちのビジネスモデルにふさわしい接続制御を確立する必要がある。この意味において、あるユーザーグループには部分的な接続を提供し、また別のユーザーグループには完全な接続を提供することが適切である。したがって、すべてのユーザーがすべての画像データに対して完全なアクセスを持つことが内容に、画像データのうちいくつかを暗号化する必要がある。
【０００４】
ニュースの写真などはインターネット上で売却用に提供することができる。サービス提供者は顧客による評価のために、画像の低品質バージョンのダウンロードを許可することを望む。画像の出版を望む新聞社は、そのサービスに代金を支払った後に、完全な品質の画像のダウンロードが許可される。
【０００５】
しかしながら、このようなサービス提供者は、記憶媒体スペースとビットレートを最小化することを望んでいる。画像提供者は、代わりにCD-ROMなどに書き込んだ画像の配信を望んでいる。CD-ROMは無料で配布されるか、低価格で売られる。顧客は、低品質の画像を見ることができるが、高品質の状態で見たい場合はお金を支払わなければならない。その場合、画像提供者は、できるだけ効率的にCD―ROM上の記憶スペースを使用することを望む。
【０００６】
顧客は、常にユーザーフレンドリーな、標準化されたソフトウェアを使って、画像にアクセスできることもきわめて重要である。画像提供者は、特別な画像ビューワを作成してサポートすることには消極的で、顧客は見るためのツールが増えていくことを望んでいない。
【０００７】
現在、画像提供者は、画像の２バージョンを記憶装置に格納しなければならない。最新バージョンは暗号化された画像ファイルとして記憶装置に格納されている。これは、画像が最初に、JPEGやGIFのような圧縮されたファイル形式で圧縮されて記憶装置に格納されることを意味する。圧縮されたファイルは、適切な暗号化ツールを使用して暗号化され、暗号化された画像ファイルは記憶装置に格納される。ユーザーは、最初にこのファイルを暗号読解して、それから画像表示ツールを使用して、圧縮された画像ファイルにアクセスする。低品質画像は、画像編集用プログラムで高品質画像に加工することで生み出される。これらは別個に圧縮された画像ファイルとして記憶装置に格納される。
【０００８】
この解決法で生じる問題は、同じ画像の少なくとも２つの異なるバージョンが記憶装置に格納される必要があるということと、リモートアクセスの場合には、顧客が最高の解像度のバージョンに対しお金を支払う前に、まず無料の低解像度の画像を見ることを望むなら、両方の画像をネットワーク上で送信する必要があることである。
【０００９】
もし低品質バージョンの画像が画像情報の大きな割合を占めるならば、これは結果的にかなり不利な状況となる。売却用に新聞社に提供される画像は、特に、新聞記者が画像の内容の詳細を理解できるようにかなり品質のよいものがプレヴュー用に提供され、印刷用としてのみ最も品質の良いものが受け入れられる。低品質画像は完全品質画像の格納スペースの10-50％を要する。
【００１０】
さらに、Charilaos Christopoulos著、JPEG 2000 Verification Model Version 2.0に記載される、準備中の静止画の符号化規格JPEG2000は、他の静止画符号化技術に比べて多くの新機能を含んでいる。それら符号化技術は、特に、画像形式の幅広い範囲の段階的作成方法を含む。それぞれの適用領域は、適切な段階のモードを選択する。画像内部の個々の対象物はJPEG2000ビットストリームの中で別々にアクセスされて、段階的な送信は、対象物にも適用される。JPEG2000で、独立して復号化可能な符号化ユニットもサポートされている。
【００１１】
要約
上記に概要を示した問題を克服すること、特に部分的に見ることが可能な画像を記憶装置に格納する際に必要な記憶容量を低減すること、および、特に部分的に暗号化された画像を送り出す送信手法の送信時間を低減することが本発明の目的である。
【００１２】
この目的と他の目的は、画像ファイルの第１セクションについては暗号を解読せずに低品質で圧縮を解凍でき、つまり、第１の低品質画像は暗号化されておらず、画像ファイルの第２セクションが暗号化されている、画像の部分的な暗号化と段階的送信技術によって達成される。
【００１３】
したがって、解読キーワードへのアクセスを有するユーザーは、この第２セクションを解読することができる。解読された第２セクションとともに第1セクションをあわせることによって最新画像として見ることができる。第１および第２セクションを格納するために必要な格納スペースは、暗号化されていない高品質画像を格納するために要求な格納スペースと同等である。第２セクションの暗号化は、暗号化方式によっては、暗号化されていない第２セクションと比べてわずかな拡張を伴う。
【００１４】
画像は、それぞれのセクションが個別の暗号化方式とキーワードによって暗号化された複数のセクションにパーティション化される。いくつかのセクションは暗号化されずに記憶装置に格納される。ここで示されている方式と装置の重要な要素は、圧縮された画像は、１連の個別に復号化可能な符号化ユニット（ＣＵ）を構成している点である。このことは、エントロピ復号化を行わず圧縮された領域で符号化操作を行うことを可能としている。
【００１５】
低品質画像は、以下のような、いくつかの異なる主要な手法によって作成することができる。
１）解像度の低減
２）変換係数の精度の低減
３）あらかじめ定義された関心領域（ＲＯＩ）の除去
【００１６】
これらの方式を組み合わせて、例えば、解像度と変換係数の精度を低減して低品質の画像を作成することができる。
【００１７】
ここに記載した、画像データの格納と送信のための方法と装置を使用することにより、いくつかの有利な点が得られる。このように、もし異なるユーザーがある１つの画像の異なる品質に対してアクセスするなら、画像の二つの異なるバージョンを格納する必要はない。また、高解像度の画像データを送信するとき、最初の低解像度の画像データが再使用されると、送信時間はもっと短くなる。
【００１８】
図面の簡単な説明
本発明はこれから添付された図を参照し、より詳細に以下に記載する。
図１は画像ファイル構造を示す一般的な図である。
図２aと２bはJPEG2000標準に基づいて符号化された画像の暗号化を示す。
図３は、イメージ暗号化過程を示すフローチャートである。
図４は、クライアントサーバーのプロセスを示すダイアグラムである。
図５は暗号化ヘッダの概観である。
【００１９】
詳細な説明
図1に、高解像度のオリジナル画像の一般的なファイル構造の概観が示されている。
このように、画像データファイルは、異なる独立して復号可能な複数の符号化セクション１０１、１０３、１０５から構成される。図1に示されるファイル構造において、高解像度画像の低解像度バージョンのセクション１０１は、暗号化なしで符号化されており、それゆえどんな受信者でも復号することが可能である。
【００２０】
セクション１０１のデータと組み合わせたデータを含むセクション１０３は、高解像度画像の中解像度バージョンとなり、最初の符号化方式を使用して暗号化され、正しい暗号キーにアクセス権を持つ受信者だけがセクション１０３に格納されたデータを復号化することができる。
【００２１】
セクション１０１とセクション１０３のデータを組み合わせたデータを有するセクション１０５は、高解像度の画像の完全解像度バージョンであり、第２の暗号化方式を使用して暗号化され、暗号化キーにアクセス権を持った受信者だけが、セクション１０５に格納されたデータを復号化することができる。
【００２２】
このようにセクション１０１の復号化によって、低解像度バージョン１０７が得られる。セクション１０１からの画像データと組み合わせた暗号解読１０９とセクション１０３の復号化によって、中レベル解像度の画像イメージ１１１が得られる。セクション１０１とセクション１０３からの画像データを組み合わせた暗号解読１１３とセクション１０５の復号化から、完全解像度の画像１１５が得られる。
【００２３】
さらに、ＲＯＩなしで、JPEG2000標準に対する方法は、Charilaos Christopoulos著JPEG2000 Verification Model Version2.0 をみると、段階的なモードの広い範囲がサポートされているので、JPEG2000ビットストリームのそれぞれ復号化ユニットがどのようにビットストリームの中に取り入れられるかを示している。
【００２４】
JPEG2000 Verification model 2.0で、符号化ユニットは、与えられたサブトラックの特定のビット水準を符号化するビットストリームの一部である。一般的に復号化ユニットはイメージ情報の独立して復号可能な何らかのサブセットとして示される。ビットストリームの順序を特徴づける全般的なメカニズムは、次の符号化ユニット（ビット水準順序が良く知られているのでサブトラックを明確に記述すれば十分である）を特定する、いわゆるタグを含むことである。いくつかの特定のモードは、デフォールト符号化ユニットを定義するヘッダで定義され、従って特定のタグを挿入するためのビットを節約することができる。
【００２５】
図２ａと２ｂのブロック図は、暗号化がJPEG2000の符号器と複合器にそれぞれの中でどのように実行されるかを示している。
【００２６】
このように、図２ａは、符号器でエントロピー符号化が示された後、暗号化が行われるブロック図である。符号化ユニットがエントロピー符号化ブロック２０１に入る。ブロック２０１で、符号化ユニットは、エントロピ符号化を使用した各符号化ユニットに対して適切な暗号化方法を選択するセレクタに入力される。いくつかの符号化ユニットについては、まったく暗号化されないように選択することもできる。
【００２７】
セレクタ２０３による選択に対して、エントリピー符号化された符号化ユニットはブロック２０５で暗号化される。暗号化されない符号化ユニットと共に暗号化された符号化ユニットは、格納と送信が可能な、組み合わされた出力データストリームを形成する。
【００２８】
図２ａで符合化器によって作成したビットストリームを復号化する復号化器を、図２ｂに示す。したがって、最初に、暗号化されたものと暗号化されなかった符号化ユニットは、それぞれのエントロピー符号化された符号化ユニットに対して、適切な復号化方式を選択するセレクタ２５１経由で復号器に入るか、もしくは、受信した復号化ユニットが暗号化されてなければ、ブロック２５５に直接送られる。
【００２９】
セレクタ２５５による選択に対して、エントロピー符号化された符号化ユニットは、適切な復号化アルゴリズムを使用して、ブロック２５３で復号される。復号された符号化ユニットは、ブロック２５５に入力される。ブロック２５５では、セレクタ２５１と復号化ブロック２５３からの符号化ユニットは、図２ａで、エントロピー符号化ブロック２０１に入力されたデータストリームに対応して、組み合わせられた出力データストリームを形成するために復号化されて組み合わされる。
【００３０】
図２ａと図２ｂに示されているように、送信手法のなかでそれぞれの符号化ユニットは、独立して暗号化されたブロックとして取り扱われる。それぞれの符号化ユニットは、暗号化方式を供給されたどんなユーザーとでも、個別に暗号化される。同じ画像の中の異なるユニットは、異なる暗号化方式で暗号化される。使用される暗号化方式は、さらにキーワード又はキーワード作成方法と組み合わされた暗号化アルゴリズムであってもよい。
【００３１】
異なる暗号化方式は、このような実施例では、まったく同一のアルゴリズムと、異なるキーワードを持つことができる。図２ａと図２ｂに示されているように、エンクリプション・メソッド・デスクリプション（ＥＭＤ）は、その暗号化方法を特定するために必要なセッションキーワードかアルゴリズムの識別子のようなグローバルデータである。ユニット・エンクリプション・ステート（ＵＥＳ）は、それぞれの符号化ユニットに対して、それがどのように暗号化されたかを定義するシンボルである。
【００３２】
図３で、画像を暗号化するときに実行された、異なる過程を示すフローチャートである。まず、ステップ３０１で部分的に暗号化される画像が受信される。ステップ３０１で受信した画像は、次にステップ３０３で、例えばJPEG2000のような独立して復号可能な符号ユニットを作成する符号化アルゴリズムを使用して符号化される。
【００３３】
次に、ステップ３０５で、ステップ３０３で符号化された、いくつかのイメージの符号化ユニットは、DESのような適切な符号化方式を使用して暗号化される。暗号化のために選択される符号化ユニットは、ユーザーの好みに応じて設定されてもよい。このように、ユーザーは、ＲＯＩに対応する符号化ユニットが、暗号化された、さらに高いレベルでのビット水準などを持つように選択する。最後に、ステップ３０７で暗号化された符号化ユニットと暗号化されていない符号化ユニットを統合して、単一のビットストリームを作成する。
【００３４】
図４に、図３に記載された方式によって、復号化されたイメージを送信するとき、クライアントサーバープロセスを表すフローチャートを示す。このように、クライアント４０１は、サーバー４０３に接続されている。クライアント４０１は、特定の画像に関して、サーバー４０３にリクエストを出す、ステップ４０５。
【００３５】
サーバー４０３は、暗号化されていない画像の符号化ユニットを返信して応答する、ステップ４０７。暗号化されていない符号化ユニットは、低解像度バージョンまたは、最高の画像の一部にアクセスするクライアントによって復号化される。この情報を基にして、クライアントはより高い解像度または全体画像にアクセスすることを望むかもしれない。そうであるとすると、クライアントはサーバーにそのような要求を送る、ステップ４０９。
【００３６】
サーバーは、より高い解像度の画像を送信するための条件にクライアントが同意することを要求することによって応答する、ステップ４１１。もしクライアントが、その画像に対する費用を請求するための、例えば、カード番号や口座番号を有するメッセージ４１３によって同意すれば、サーバーは暗号化された符号化ユニットと、当該暗号化された符号化ユニットを解読することができるキーワードと共に送る、ステップ４１５。キー配信に対して安全な方法を使用しなければならない。その安全な方法の一例は、W  Stallings著「データとコンピュータ通信」Prentice-Hall  1997 第５版 ISBN0-13-571274-2  の６３５ページから６３７ページに記載されている。
【００３７】
クライアントが、暗号化されている符号化ユニットと暗号化されていない符号化ユニットにすでにアクセスを有する場合、例えば、ここでいう符号化された画像を含むＣＤ−ＲＯＭを購入している場合、画像データを送信しないように添付の図面に記載された手順が変更される。クライアントがCD-ROMの暗号化された符号化ユニットを解読するために必要なキーワードにアクセスするために、サーバーが提示した条件に合意するだけである。
【００３８】
ここで示されているような方式と装置がJPEG2000標準に応じて画像の暗号化に使用された場合、もしJPEG2000標準が暗号化方式を標準化していなければ、好都合である。イメージヘッダに含まれている暗号化ヘッダまたは任意にJPEG2000のタグと統合された暗号化のタグはむしろ、符号化ユニットがどのように復号化されたかを特定するために使用される。
【００３９】
これらの実施例で、JPEG2000イメージヘッダは、暗号化フラッグ（EF）を含む。いずれかの符号化ユニットが暗号化されていれば、EFは設定される。暗号化ヘッダ（EH）は、JPEG2000イメージヘッダに付加されなければならず、暗号化情報をJPEG2000タグに統合化するか否かは任意である。
【００４０】
図５には暗号化ヘッダを示す。暗号化ヘッダは、このような実施例では次のようなシンボルを含むことができる。
１）暗号化モード（EM）
一組の標準暗号化モードは次のように定義される。
ａ）一つの暗号化方式がすべての符号化ユニットに対して使用されている。
ｂ）ビット水準Xより重要性の劣るビット水準が、暗号化されている。
ｃ）Yよりも高い解像度のサブトラックが、暗号化されている。
ｄ）特徴づけられたＲＯＩは暗号化されている、など。
暗号化されていない旨の情報は、EMが定義されていればタグに含まれる必要が無い。
【００４１】
２）暗号化モードパラメータ（EMP）
暗号化モードを定義するために使用されるパラメータ（X,Y,・・・・）は、ここで設定される。
【００４２】
３）使用された暗号化方式の数
もし、例えば、異なるユーザーグループが、異なる画像のコンテンツをみることが許されるならば、いくつかの暗号方式が同じ画像において使用される。
【００４３】
４）それぞれの暗号化方式に対する、一つの暗号化方式デスクリプター（EMD）
EMDは暗号化 / 復号化モジュールによって必要とされるすべてのデータを定義する。暗号化アルゴリズムのタイプが定義されている。EMDの典型的な用途はパブリックキーアルゴリズムによって暗号化されたキーワードを含むことである。ユーザーは、暗号化された同封のキーを解読するためのプライベートキーを提供する。解読されたキーは、画像復号化ユニットを解読するための高速解読アルゴリズムによって使用される。EMDの命令は、数字をそれぞれの暗号化方式に割り当てる。この番号はUESシンボルで使われる。
【００４４】
５）ビットストリームはそれぞれの符号化ユニットに対して、暗号化されているかどうか、また暗号化されていればその方法を特定しなければならない。これは符号化ユニットごとのユニット符号化状態シンボルを設定することによりなされる。これらのシンボルは暗号化ヘッダとして収集されるか、暗号化タグとしてビットストリーム中で配信されるかのどちらかである。もし、UES情報が暗号化ヘッダで保存されるならば、ヘッダ要素である、暗号化ステート（ES）を定義する。ESは、ビットストリームに現れる符号化ユニットと同じ順序で列挙された一連のUESシンボルから構成されている。
【００４５】
もしEFが設定されて暗号化ステートがヘッダ上で与えられなければ、JPEG2000タグはユニット暗号化ステートシンボルを包むように拡張される。UESは、暗号化が行われる場合には、次の符号化ユニットの暗号化にどんな暗号化方式が使用されるかを定義する。
【００４６】
ＲＯＩに属する変換係数は上述のように扱うことができる。暗号化すべきＲＯＩに属する適切な符号化ユニットを選択することによって、完全に又は部分的に暗号化される。
【００４７】
主な問題はＲＯＩの形状からコンテンツが明らかになる可能性があるということである。もし、形状が暗号化されると、符号化された変換係数を解釈することは困難なので低品質の画像を示すことは困難である。
【００４８】
この問題はクローキングシェープ（C-shape）と呼ばれるものを定義することによって解決される。このように、本当の一つあるいは複数のＲＯＩ形状はシーシェープに完全に包まれる。そのシーシェープは、機密を扱う画像コンテンツを明らかにしないように設計されている。シーシェープの単純な例としては、バウンディングボックスがある。
【００４９】
シーシェープはJPEG2000ビットストリームのなかで一つのＲＯＩとして取り扱われる。シーシェープはCharilaos Christopoulos著JPEG 2000 Verification Model Version 2.0で述べられているように暗号化なしで符号化されている。ここで述べられているような技術によると、これは形状がJPEG2000ヘッダで定義される。
【００５０】
マスクはシーシェープを使用しながら作成され、シーシェープに属する変換係数は、ここで記載されたようにその方法を使用しながら符号化され、暗号化される。この結果、シーシェープによってシールドされるＲＯＩに属する、すべての係数は暗号化される。ＲＯＩの内容はこのように暗号化によって守られる。
【００５１】
ＲＯＩの形状は暗号化されて、例えば暗号化ヘッダのなかで格納される。暗号化ヘッダはシーシェープに対応した暗号化されたＲＯＩ形態をリンクするポインターを含む。復号器は暗号化されていないバックグラウンドを復号化することができる。シーシェープは空の領域として表示される。キーワードを知っていればオリジナルＲＯＩを復号化することができる。これは、シーシェープに属する係数を解読することによってなされる。シーシェープに属するそれぞれのＲＯＩの形も解読される。シーシェープを捨てて、オリジナルデータ構造を復活させるように、ビットストリームを配列しなおされる。これは圧縮領域で行われることに注意されたい。
【００５２】
ＲＯＩの暗号化に対して、使用されるマスクは独自にJPEG2000では定義されない。ＲＯＩが損失なく暗号化するために十分な大きさを有するマスクは、しばしば下位のサブトラック全体をカバーする。拡張を許可されていないマスクはＲＯＩの符号化損失が大きくなる。異なるＲＯＩまたは一つのＲＯＩとそのバックグラウンドに属するマスクは、重なり合うように設計することができる。これは、いくつかの係数がある１つ以上のＲＯＩで符号化されることを意味する。このような重なり部分は、全般的な圧縮を低減することになるが、ＲＯＩは独立しており、いずれのＲＯＩもアクセスと復号の結果は見た目に良好である。
【００５３】
ここに記載したＲＯＩの部分的暗号化方法は、マスク方のどのＲＯＩやバックグラウンドからも再構成されることが内容に選択されている限り、マスクの選択には依存しない。ＲＯＩのコンテンツを包み隠すマスクを設定する方法は、Charilaos Christopoulos著JPEG 2000 Verfication Model Verson2.0に記載されている。
【００５４】
ここに記載した方式と装置を使用することにより、部分的に暗号化された画像に対する格納量とバンド幅は低減される。さらに、対象物に基づく組み立てと暗号化された対象物の処理は容易化されており、ＲＯＩを暗号化することができる。また、ＲＯＩの形態は暗号化され、オリジナル対象物を圧縮領域で解読して、復元することができる。
【００５５】
別の有利な点は、暗号化が画像の符号化と同時に行う必要がないことである。このように、その処理が圧縮領域（ビットストリームシンタックスにおいて）で行われるので、暗号化せずにすべての画像を符号化することは可能である。構文解析プログラム（符号化変換機）によって画像を送信する直前に暗号化をおこなうことができる。この場合、もし暗号化がビットレートを増加させるならば、暗号化をタグ上におく場合がそうであるが、ビットレートの増加は避けられ、暗号化情報は送信直前に付加されるだけである。
【図面の簡単な説明】
【図１】  画像ファイル構造を示す一般的な図である。
【図２】  JPEG2000標準に基づいて符号化された画像の暗号化を示す。
【図３】  イメージ暗号化過程を示すフローチャートである。
【図４】  クライアントサーバーのプロセスを示すダイアグラムである。
【図５】  暗号化ヘッダの概観である。
【図１】
0004659217.tif 000002
【図２】
0004659217.tif 000003
【図３】
0004659217.tif 000004
【図４】
0004659217.tif 000005
【図５】
0004659217.tif 000006