(57)【要約】      （修正有）【課題】  ウェーブレット変換対象タイル画像の一部分を、所望とする解像度レベル以上について暗号化を可能とし、且つ複数の暗号化鍵情報の管理を不要とする。【解決手段】  多段階ウェーブレット変換による符号化データにおいて、各変換で生成されるサブバンドを複数のプレシンクトに分割し、同階層のサブバンドの同位相のプレシンクトの集合をタイルパートとし、高周波数符号化データのタイルパートほど高位のノードに位置させたツリー構造を定義する。暗号化処理部１４１は、最上位の暗号化鍵情報を、タイル全体の符号化データに基づいたルート鍵情報により生成し、最上位以外については、それより高位のノードのタイルパート用の暗号化鍵情報により生成する。所望のタイルパートの暗号化が設定された場合、そのタイルパート及びそれよりも高い周波数成分の符号化データを有するタイルパートを、夫々のタイルパートのノード用の暗号化鍵情報で暗号化しする。【選択図】  図１４
2004242287.tif 000002
【特許請求の範囲】
【請求項１】
画像データのタイルに対し、多段階のウェーブレット変換処理することで生成された圧縮符号化データを暗号化する情報処理方法であって、
多段階のウェーブレット変換による各階層のサブバンドを複数のプレシンクトに分割し、同階層のサブバンドの同位相のプレシンクトの符号化データの集合をタイルパートとし、周波数の高い符号化データを有するタイルパートほど高位のノードに位置させたツリー構造を定義し、
最上位のノードのタイルパート用の暗号化鍵情報については、タイル全体の符号化データに基づいて生成したルート鍵情報に基づいて生成し、
最上位のノード以外のタイルパートの暗号化する際に利用する暗号化鍵情報については、それより高位のノードのタイルパート用に生成された暗号化鍵情報に基づいて一方向変換処理により生成し、
所望とするタイルパートの暗号化が設定された場合、当該所望とするタイルパート及び当該所望とするタイルパートよりも高い周波数成分の符号化データを有するタイルパートを、夫々のタイルパートのノード用に生成された暗号化鍵情報で暗号化する
ことを特徴とする情報処理方法。
【請求項２】
画像データに、多段階のウェーブレット変換をすることで生成された圧縮符号化データを暗号化する情報処理方法であって、
前記圧縮符号化データにおける各階層のサブバンドを複数のプレシンクトに分割し、
同一階層のサブバンドの同位相のプレシンクトの圧縮符号化データの集合を１つのタイルパートとして定義し、
低周波成分よりも少なくとも１つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義し、
最上位のノードの暗号化鍵を、前記画像データに基づいて生成し、
前記最上位の暗号化鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号化鍵を生成し、
注目タイルパートを、該タイルパートと該タイルパートが属する階層の代表となる暗号化鍵に基づいて暗号化することを特徴とする情報処理方法。
【請求項３】
前記各階層の代表となる暗号化鍵は、各階層におけるタイルパートに対応するノードのうちの１つであることを特徴とする請求項２に記載の情報処理方法。
【請求項４】
前記各階層の代表となる暗号化鍵は、各階層におけるタイルパートとは別の仮想的なノードであることを特徴とする請求項２に記載の情報処理方法。
【請求項５】
多段階のウェーブレット変換処理を用いて圧縮され、且つ、暗号化が施された符号化データの暗号復号鍵を生成する情報処理方法であって、
前記符号化データにおける各階層のサブバンドを複数のプレシンクトに分割し、
同一階層のサブバンドの同位相のプレシンクトの符号化データの集合を１つのタイルパートとして定義し、
低周波成分よりも少なくとも１つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義し、
所定ノードに対応する暗号復号鍵を取得し、
前記暗号復号鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号復号鍵を生成し、
注目タイルパートを解読する暗号復号鍵を、該タイルパートと該タイルパートが属する階層の代表となる暗号復号鍵に基づいて生成することを特徴とする情報処理方法。
【請求項６】
画像データに、多段階のウェーブレット変換をすることで生成された圧縮符号化データを暗号化する情報処理装置であって、
前記圧縮符号化データにおける各階層のサブバンドを複数のプレシンクトに分割する手段と、
同一階層のサブバンドの同位相のプレシンクトの圧縮符号化データの集合を１つのタイルパートとして定義し、低周波成分よりも少なくとも１つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義する手段と、
最上位のノードの暗号化鍵を、前記画像データに基づいて生成する手段と、
前記最上位の暗号化鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号化鍵を生成する手段と、
注目タイルパートを、該タイルパートと該タイルパートが属する階層の代表となる暗号化鍵に基づいて暗号化する手段と
を備えることを特徴とする情報処理方法。
【請求項７】
多段階のウェーブレット変換処理を用いて圧縮され、且つ、暗号化が施された符号化データの暗号復号鍵を生成する情報処理装置であって、
前記符号化データにおける各階層のサブバンドを複数のプレシンクトに分割する手段と、
同一階層のサブバンドの同位相のプレシンクトの符号化データの集合を１つのタイルパートとして定義し、低周波成分よりも少なくとも１つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義する手段と、
所定ノードに対応する暗号復号鍵を取得する手段と、
前記暗号復号鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号復号鍵を生成する手段と、
注目タイルパートを解読する暗号復号鍵を、該タイルパートと該タイルパートが属する階層の代表となる暗号復号鍵に基づいて生成する手段と
を備えることを特徴とする情報処理装置。
【請求項８】
画像データに、多段階のウェーブレット変換をすることで生成された圧縮符号化データを暗号化する情報処理装置として機能するコンピュータプログラムであって、
前記圧縮符号化データにおける各階層のサブバンドを複数のプレシンクトに分割する手段と、
同一階層のサブバンドの同位相のプレシンクトの圧縮符号化データの集合を１つのタイルパートとして定義し、低周波成分よりも少なくとも１つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義する手段と、
最上位のノードの暗号化鍵を、前記画像データに基づいて生成する手段と、
前記最上位の暗号化鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号化鍵を生成する手段と、
注目タイルパートを、該タイルパートと該タイルパートが属する階層の代表となる暗号化鍵に基づいて暗号化する手段
として機能することを特徴とするコンピュータプログラム。
【請求項９】
多段階のウェーブレット変換処理を用いて圧縮され、且つ、暗号化が施された符号化データの暗号復号鍵を生成する情報処理装置として機能するコンピュータプログラムであって、
前記符号化データにおける各階層のサブバンドを複数のプレシンクトに分割する手段と、
同一階層のサブバンドの同位相のプレシンクトの符号化データの集合を１つのタイルパートとして定義し、低周波成分よりも少なくとも１つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義する手段と、
所定ノードに対応する暗号復号鍵を取得する手段と、
前記暗号復号鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号復号鍵を生成する手段と、
注目タイルパートを解読する暗号復号鍵を、該タイルパートと該タイルパートが属する階層の代表となる暗号復号鍵に基づいて生成する手段
として機能することを特徴とするコンピュータプログラム。
【請求項１０】
請求項８に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項１１】
請求項９に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像データを圧縮符号化したデータを暗号化する技術等に関するものである。
【背景技術】
【０００２】
従来、画像データなどを秘匿して伝送するために、画像データ全体の暗号化やスクランブルなどが行なわれてきた。これは、予め画像データ全体を一つの暗号鍵を用いて暗号化し、この暗号化鍵に対応する復号鍵（以下、暗号復号鍵、解除鍵、解読鍵等と呼ぶ）を有するものだけが正しく復号することが可能であるようにする技術である（例えば、特許文献１）。
【特許文献１】特開平１１−２０５７３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、階層構造を有する画像データの場合、その階層構造に応じて画像データの再生の可・不可を制御する目的で、画像全体ではなく階層構造毎に異なる暗号鍵を用いて暗号化処理が行うことが望まれる。また、画像データが複数のタイルから構成され、タイル毎に再生を制御する目的で、タイル毎に異なる暗号鍵を用いて暗号化処理が行われることが望まれる。更に、これらを合わせた場合として、複数のタイルから構成され、更に夫々のタイルが階層構造を有する画像データの場合、タイルと階層構造に応じた画像データの再生を制御する目的で、タイル中の階層構造毎に異なる暗号鍵を用いて暗号化処理が行われる。
【０００４】
このように、タイル及び階層構造毎に異なる暗号鍵を用いて暗号化することによりタイル、及び階層構造毎に画像データの再生を制御することが可能である。
【０００５】
タイルの圧縮符号化データが、複数の部分的な圧縮符号化データで構成される場合において、個々の部分的な圧縮符号化データ毎に異なる暗号化鍵を用いて暗号化した場合、暗号化される各部分的な圧縮符号化データの階層構造と、それを暗号復号するための暗号復号鍵との対応付けをする必要があり、その鍵情報の管理が複雑化することは避けられない。
【０００６】
また、当然のことながら、その鍵情報が正しく管理されていない場合には、正しく復号処理を行うこともできない。
【０００７】
本発明は上記従来例に鑑みてなされたものであり、ウェーブレット変換を行う対象となっていたタイル画像の一部分について、所望とする解像度レベル以上について暗号化を行なうことを可能にし、且つ、そのために複数の暗号化鍵情報の管理を不要とする技術を提供するものである。
【課題を解決するための手段】
【０００８】
この課題を解決するため、例えば本発明の情報処理方法は以下のような工程を備える。すなわち、
画像データのタイルに対し、多段階のウェーブレット変換処理することで生成された圧縮符号化データを暗号化する情報処理方法であって、
多段階のウェーブレット変換による各階層のサブバンドを複数のプレシンクトに分割し、同階層のサブバンドの同位相のプレシンクトの符号化データの集合をタイルパートとし、周波数の高い符号化データを有するタイルパートほど高位のノードに位置させたツリー構造を定義し、
最上位のノードのタイルパート用の暗号化鍵情報については、タイル全体の符号化データに基づいて生成したルート鍵情報に基づいて生成し、
最上位のノード以外のタイルパートの暗号化する際に利用する暗号化鍵情報については、それより高位のノードのタイルパート用に生成された暗号化鍵情報に基づいて一方向変換処理により生成し、
所望とするタイルパートの暗号化が設定された場合、当該所望とするタイルパート及び当該所望とするタイルパートよりも高い周波数成分の符号化データを有するタイルパートを、夫々のタイルパートのノード用に生成された暗号化鍵情報で暗号化することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ウェーブレット変換を行う対象となっていたタイルである画像の一部分について、所望とする解像度レベル以上について暗号化を行なわせると共に、そのために複数の暗号化鍵情報の管理が不要になる。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面に従って本発明に係る実施形態を説明する。
【００１１】
先ず、図１４を用いて本実施の形態に適用されるシステム全体について説明する。
【００１２】
図１４に示すように、本実施の形態におけるシステムは、暗号化処理部（或いは暗号化する装置）１４１、アクセス鍵生成部（或いはアクセス鍵生成装置）１４２、及び復号処理部（或いは（暗号）復号装置）１４３から構成される。更に、このシステム／装置の先頭部分にエンコーダ（圧縮部）が配置され、最後尾にデコーダ（伸長部）が配置される。本実施の形態では、この圧縮／伸長アルゴリズムとして、JPEG2000アルゴリズムを適用する。これについては後述する。
【００１３】
暗号化処理部１４１には、コードストリームｃ（画像データの符号化データであるが、その詳細は後述）が入力され、コードストリームｃからコンテンツ鍵Ｋｃ、及び暗号化されたコードストリームｃ'が出力される。アクセス鍵生成処理部１４２は、このコンテンツ鍵ｃｋ、及びアクセスレベルａｎを入力し、アクセス鍵ａｋを生成する。そして、復号処理部１４３は、アクセス鍵ａｋ、及び暗号化されたコードストリームｃ'が入力され、暗号復号処理されたコードストリームｃ''を出力する。ここで、ｃ＝ｃ''である場合、暗号化する以前の画像データ（コードストリームｃ）に復元されることになる。
【００１４】
本実施形態においては、アクセス鍵生成部１４２、及び復号処理部１４３は互いに耐タンパー（耐改ざん）であるようにする。例えば、暗号化処理部１４１はデジタルカメラで撮影した画像を暗号化し、インターネット上のＷｅｂサーバやＦＴＰサーバにアップロードする装置とし、アクセス鍵生成処理部１４２はアクセス鍵を発行するサーバで実現し、（暗号）復号処理部１４３は暗号化された画像データをダウンロードするネットワーククライアントで実現するようにする。
【００１５】
［画像データの符号化データの説明］
先ず、実施形態における暗号化処理部１４１が入力する符号化データのストリームについて説明する。
【００１６】
本実施形態におけるコードストリームとは、画像データを圧縮符号化した際の符号列である。本実施形態においては、ＩＳＯ／ＩＥＣ ＪＴＣ１／ＳＣ２９／ＷＧ１ １４４９２−１において標準化されている、通称ＪＰＥＧ２０００と呼ばれる圧縮符号化方式によって符号化された符号列のことをコードストリームと呼ぶ。
【００１７】
ＪＰＥＧ２０００の圧縮符号化時において、画像は先ず複数の矩形領域に分割され、矩形領域毎にウェーブレット変換により独立に符号化処理が施される。この矩形領域を「タイル」と呼ぶ。更に、符号化されたタイルに対応するコードストリームは、少なくとも一つ以上のタイルパートと呼ばれる領域に分割できる。
【００１８】
ここで、タイルパートについて簡単に説明する。図２は原画像を２回ウェーブレット変換する例を示している。図示の場合、タイルサイズは原画像のそれと同じである例を示している。
【００１９】
１つのタイルに対し１回目のウェーブレット変換（２次元ウェーブレット変換）により得られる成分係数は公知の通り、ＬＬ１、ＬＨ１、ＨＬ１、ＨＨ１である。このうち、｛ＬＨ１＋ＨＬ１＋ＨＨ１｝を１つのパートとして扱う。２回目のウェーブレット変換（２次元ウェーブレット変換）はＬＬ１に対して行うが、このとき生成されるＬＬ２、ＬＨ２、ＨＬ２、ＨＨ２のうち｛ＬＨ２＋ＨＬ２＋ＨＨ２｝も１つのタイルパートとして扱う。残りの最も周波数の低い成分は１つしか存在しないので、ＬＬ２とは言わず、単にＬＬと表記することが多い。
【００２０】
また、ＬＬ２に対して更なるウェーブレット変換（３回めの２次元ウェーブレット変換）を行う場合には、図示してはいないが、その結果生じる｛ＬＨ３＋ＨＬ３＋ＨＨ３｝がタイルパートとして扱われ、残りのＬＬ３（ＬＬ）が単独のタイルパートとして扱われる。以下、必要な回数だけウェーブレットを行うことができる。
【００２１】
この後、量子化、エントロピー符号化が施され符号化される。上記のタイルパートとは、上記のウェーブレット変換を行う毎に生成された周波数成分の集合の符号化結果を示している。以上が１つのタイルの符号が複数のタイルパートの符号で構成される理由である。
【００２２】
なお、ＪＰＥＧ２０００では、全タイルに対して固定回数のウェーブレット変換を行うという決まりはない。換言すれば、タイル毎に、ウェーブレット変換の回数は異なっていてもよいことになっている。
【００２３】
本願出願人は、上記のようなタイルパートにおいて、解像度毎に暗号化鍵を設定することを既に提案した。例えば、最も低周波成分のタイルを暗号化しないことで、最低解像度の画像は再生できるものの、それより高い解像度のタイルパートについては暗号化を施して、解除（暗号復号）する鍵情報が存在しない限りはそれより高い解像度を復号不可、もしくノイズが乗るようにさせるものである。
【００２４】
これに対し、本実施形態では、タイルを複数のプレシンクトに分割し、プレシンクト毎に独立に暗号化することを特徴とする。換言すれば、このプレシンクト単位に暗号化するか否かの設定を実現する。
【００２５】
プレシンクトとは、ウェーブレット変換を行った際の各解像度レベルにおいて、各周波数成分領域間で、２次元空間の領域に対応するもの同士をグループ化すべき単位である。プレシンクトは各解像度において独立に大きさを決めることが可能である。
【００２６】
説明を簡単なものとするため、図２と同様、原画像データに対して２回のウェーブレット変換（２次元ウェーブレット変換）を行なう場合について説明する。図３（ａ）は、最低解像度の画像であって、伸長復号に用いるコードストリームには暗号化処理が行われていないことを示している。また、同図（ｂ）はそれより高い解像度の伸長復号結果を示しており、やはり伸長復号処理に使用する符号化データには暗号化処理が行われていないことを示している。そして、同図（ｃ）は、最高解像度の画像を示しているが、タイルの２次元的な一部分（図示の左上領域）の伸長復号に必要な符号化データについて暗号化処理が行われる例を示している。
【００２７】
かかる処理を実現するため、本実施形態におけるプレシンクトを利用したタイルパートを定義する必要があるので、以下に説明する。
【００２８】
図２を用いてプレシンクトの一例を説明すると次のようになる。同図の下部は１つのタイルに対して２回のウェーブレット分割（２次元ウェーブレット分割）を施した（即ち、３つの解像度レベルを有する）場合のウェーブレット変換領域を示している。ここで、各解像度レベルの周波成分領域（サブバンド）を２×２個の部分領域にまで分割し、それぞれの部分領域を（０、０）乃至（１，１）で示している。この部分領域のそれぞれをプレシンクトと呼ぶ。
【００２９】
ＪＰＥＧ２０００符号化アルゴリズムにおいては、本来、プレシンクトは解像度レベル毎に独立にそのその大きさを設定することが可能であるが、本実施の形態においては、互いの解像度レベルにおける各プレシンクトが同じ空間位置（同じ部分画像）を表わすように分割するものとする。例えば、図２においては、網掛けで示した各解像度における各プレシンクトは全て同じ空間的な領域（画像の左上）を表現している。
【００３０】
ＪＰＥＧ２０００符号化アルゴリズムにおいては、画像全体を複数のタイルに分割することにより、空間的に独立に伸長・再生可能なコードストリームを生成することが可能であるが、タイルは独立に符号化が実行されるため、タイルとタイルの境界に歪が生じ、この歪が煩わしいことがある。
【００３１】
本実施形態では、図２に示すように、１つの画像を複数のタイルに分割するのではなく、タイルのサイズを画像のサイズと同じであるものとして、即ち、１つのタイルとして扱う（この場合、所望のＬＬサイズを得るまでウェーブレット変換を繰り返すならば、ウェーブレット変換の回数が多めになる）。
【００３２】
［暗号化処理部］
本実施形態においては、コードストリームｃは、予め、所望のアクセス制御の方法に応じたプログレッションオーダ、及びタイルパートで圧縮符号化されていることを前提とする。
【００３３】
例えば、夫々の解像度レベルにおいて、夫々の解像度レベル毎に２×２＝４つのプレシンクトを設定し、該４つのプレシンクトに応じたアクセス制御をしたい場合を想定する。
【００３４】
この場合、各解像度レベルにおいて、プレシンクトを優先させたプログレッションオーダとなるようにタイルを圧縮符号化し、更に夫々の解像度レベルに対応するタイルパートを、更に４つのタイルパート（夫々の解像度レベルにおけるプレシンクトに対応する）に分割しておく。
【００３５】
以上の例を図４（ａ）を用いて説明する。同図はひとつのタイルが１２個のタイルパートから構成されているコードストリームを示す。図中の数字０から１１は、タイルパート（プレシンクト）を特定するためのインデックス（以下、タイルパートインデックスという）である。
【００３６】
図中、４２は４つのタイルパート０〜３から構成される解像度レベルであり、図２との対応関係からわかるように、ＬＬ（０、０）乃至ＬＬ（１，１）の圧縮符号化データ、すなわち、タイル中で最も低い解像度レベルに対応するビットストリームが格納されている。同様に、４３及び４４も、夫々４つのタイルパート４〜７及び８〜１１から構成されており、夫々中間の解像度レベル及び最も高い解像度レベルに対応するビットストリームが格納されている。更に、各解像度レベルは、夫々４つのタイルパートから構成されており、夫々がプレシンクトに対応している。
【００３７】
なお、ここでは各ウェーブレット変換を行った際に、各サブバンドを２×２個のプレシンクトにする例を示したが、２×２個ではなく、例えば３×３個の９個のプレシンクトに分割し、夫々のプレシンクトに応じたアクセス制御を行う様にしても構わない。この場合には、予め、プレシンクトを優先させたプログレッションオーダとなるようにタイルを圧縮符号化し、更にタイルを夫々のタイルパートが夫々のプレシンクトに対応するように９つのタイルパートに分割しておく。尚、上記に限らず、一般的に、ｎ×ｎのプレシンクトに分割しても構わない。
【００３８】
図４（ａ）のようなストリームの場合に、図３に示した暗号化レベルを設定する場合には、タイルパートインデックス「８」について暗号化処理を行えば良いのは理解できよう。
【００３９】
更に、夫々のプレシンクト端でコードストリームを配列し、３つの解像度レベルに応じたアクセス制御を行うようにしても構わない。
【００４０】
この場合には、各プレシンクトの中で、解像度を優先させたプログレッションオーダとなるようにタイルを圧縮符号化し、更に、夫々のプレシンクトに対応するタイルパートを、更に３つのタイルパート（夫々のプレシンクトにおける解像度レベルに対応する）に分割しておく
この例を示すのが図４（ｂ）である。同図は１つのタイルが１２個のタイルパートから構成されているコードストリームを示す。図中の数字０から１１は、タイルパートインデックスである。同図における４６は３つのタイルパート０〜２から構成されており、タイル中の低、中、高のサブバンドの左上位置（０、０）のプレシンクトに対応するビットストリームが格納されている。同様に、４７、４８、及び４９も、夫々３つのタイルパート３〜５、６〜８、及び９〜１１から構成されて、夫々右上（１、０）、左下（０、１）、右下（１、１）のプレシンクトに対応するビットストリームが格納されている。
【００４１】
図４（ｂ）のストリームにおいて、先に示した図３の暗号化処理を行う場合には、タイルインデックス「２」に対して暗号化処理を行えば良い。
【００４２】
なお、図４（ａ）、（ｂ）のいずれにおいても、各タイルパート０〜１１は同図（ｃ）に示す様な構造を成している。図中、２６はタイルパートヘッダ部であり、２７はタイルパートの符号化データ部である。タイルパートヘッダ部２６には、データ部２７の伸長復号のために必要な種々の情報を格納するための領域である。
【００４３】
以上説明したように、本実施形態においては、入力されるコードストリームｃが、予め、所望のアクセス制御の方法や度合いに応じたプログレッションオーダ、及びタイルパートを用いて圧縮符号化されていることを前提としているが、本発明はこれに限定されることはない。即ち、コードストリームｃが所望のアクセス制御の方法や度合いに応じたプログレッションオーダやタイルパートを用いて圧縮符号化が施されていない場合には、コードストリームｃが入力された後に、所望のアクセス制御の方法や度合いに応じたプログレッションオーダやタイルパートを用いて圧縮符号化し直すようにすれば良い。
【００４４】
以上、本実施形態におけるコードストリーム、タイル、及びタイルパートの構造ついて説明した。
【００４５】
さて、本実施形態における暗号化処理部１４１における暗号化タイルパート指定部１１では、入力されたコードストリームｃ中のメインヘッダ部分、及びタイルパートヘッダ部分に属する情報を読み出し、タイル、及びタイルパートの構成を解析する。そして、暗号化の対象とするタイルパートを決定し、暗号化タイルパート情報ｔａとして出力する。暗号化の対象とするタイルパートは、ユーザによって明示的に指定させても良いし、ＲＡＭやＨＤなどに予め記憶されている情報を用いるようにしても良い。
【００４６】
ここで、本実施の形態におけるアクセス制御の方法についての詳細を説明する。本実施の形態においては、各タイルパートに対してシーケンシャルアクセス制御、及びランダムアクセス制御の２つのアクセス制御を設定することが可能である。
【００４７】
まず、シーケンシャルアクセス制御について説明する。本実施の形態におけるシーケンシャルアクセス制御とは、「第１のデータユニットにアクセス可能な場合、第２のデータユニットにも自動的にアクセス出来るが、第３のデータユニットにはアクセスすることが出来ない」ようなアクセス制御の方法である。
【００４８】
前述した図４（ａ）に示した例で示すのであれば、例えば「第１のデータユニット」とは中間の解像度レベル４３に対応するタイルパート４〜７であり、「第２のデータユニット」とは最も低い解像度レベル４２に対応するタイルパート０〜３であり、「第３のデータユニット」とは最も高い解像度レベル４４に対応するタイルパート８〜１１に対応する。即ち、シーケンシャルアクセス制御において、中間の解像度レベルにアクセスできる場合は、自動的にそれよりも低い解像度レベルにはアクセス出来るが、それよりも高い解像度レベルにはアクセス出来ない。
【００４９】
また、図４（ｂ）に示した例においては、例えば「第１のデータユニット」とは夫々のプレシンクトにおける中間の解像度レベルに対応するタイルパート１、４、７、及び１０であり、「第２のデータユニット」とは最も低い解像度レベルに対応するタイルパート０、３、６、及び９であり、「第３のデータユニット」とは最も高い解像度レベルに対応するタイルパート２、５、８、及び１１に対応する。即ち、図４（ａ）と同様、シーケンシャルアクセス制御において、夫々のプレシンクトにおいても中間の解像度レベルにアクセスできる場合は、自動的にそれよりも低い解像度レベルにはアクセスできるが、それよりも高い解像度レベルにはアクセス出来ないようにできる。これを言い換えるならば、第１のデータユニットの暗号復号（decryption）が可能な場合、第２のデータユニットの暗号復号も必ず可能であるが、第３のデータユニットの暗号復号はできない。即ち、シーケンシャルアクセル制御とは、複数のデータユニットのアクセス権に優先度を持たせるものである。
【００５０】
次に、ランダムアクセス制御について説明する。本実施の形態におけるランダムアクセス制御とは、「第１のデータユニットにアクセス出来ても、第２のデータユニットにはアクセス出来ない」ようなアクセス制御の方法である。
【００５１】
前述した図４（ａ）に示した例においては、例えば「第１のデータユニット」、及び「第２のデータユニット」とは各解像度レベル４２、４３、４４の各プレシンクトに対応する夫々のタイルパートのことである。即ち、ランダムアクセス制御において、あるプレシンクトにアクセスできた場合でも、他のプレシンクトには解除（暗号復号）鍵がない限りはアクセス（暗号化の解除）ができない。
【００５２】
また、前述した図４（ｂ）に示した例においては、例えば「データユニット」とは、夫々タイルにおける左上（０，０）、右上（０，１）、左下（１，０）、右下（１，１）のプレシンクトに対応するタイルパート０〜２、タイルパート３〜５、タイルパート６〜８、タイルパート９〜１１である。即ち、ランダムアクセス制御において、あるプレシンクトにアクセスできた場合でも、他のプレシンクトには解除する鍵情報がない限りはアクセス（暗号解除）できない。
【００５３】
以上、シーケンシャルアクセス及びランダムアクセスについて説明したが、本実施形態では、解像度レベルに対してはシーケンシャルアクセス制御を用い、プレシンクト間に対してはランダムアクセス制御を用いるようにすることにある。
【００５４】
すなわち、図４（ａ）では３つの解像度レベル４２、４３、４４が存在するが、例えば、解像度レベル４３内のタイルパート４乃至７のうち、いずれを暗号化対象にするかは自由に設定できる（１つとは限らない）。しかし、グループ４３内の１つのタイルパートを暗号化対象とした場合には、それより高い解像度のデータを記憶しているグループ４４に含まれる全タイルパートは無条件に暗号化対象として決定する。
【００５５】
図４（ｂ）の場合、グループ４６（他のグループも同様）内には、異なる解像度のデータが含まれているので、例えばタイルパート１を暗号化対象として設定した場合には、それより高い解像度のタイルパート２も暗号化対象とする。これは、図４（ｂ）と考え方が同様である。但し、図４（ｂ）では、タイルパート１を暗号化したからといって他のグループには波及しない。なぜなら、タイルグループ４７はタイルグループ４６とは別プレシクントであり、別の独立した処理単位であると考えるからである。
【００５６】
以上説明した、本実施の形態におけるアクセス制御について、更に、ツリー構造を用いて説明する。
【００５７】
図５に本実施の形態におけるアクセス制御を説明するためのツリー構造を示す。図５において、図５（ａ）は図４（ａ）に対応し、図５（ｂ）は図４（ｂ）に対応する。
【００５８】
また、図５（ａ）及び図５（ｂ）において各ノードは夫々タイルパートに対応している。更に、図中で実線はランダムアクセス制御、破線はシーケンシャルアクセス制御を示す。
【００５９】
図５を用いて、本実施の形態におけるアクセス制御を説明すると、以下の３点となる。
・親ノードにアクセスできれば子ノードにも自動的にアクセスできる。（ランダムアクセス制御）
・子ノードにアクセスできても親ノードにはアクセスできない。
・兄弟ノードにはアクセスできない。（シーケンシャルアクセス制御）
図５（ａ）は図４（ｂ）に示したようなコードストリームに対して、中間の解像度レベル４３、及び低い解像度レベル４２に対してアクセス権を与えるためのアクセス鍵生成処理の例である。
【００６０】
以下、図５（ａ）、（ｂ）の様なツリー構造にした理由を説明するが、最初に図５（ａ）について説明する。
【００６１】
図５（ａ）は図４（ａ）に対応することは既に説明した。また、本実施形態では、或る解像度まで画像を再現（伸長復号）したとしても、局所的な画像領域については暗号解除鍵（暗号復号鍵）がない限りは、その画像領域については正常に再現できないものとしている。なお、図５（ａ）におけるタイルパート０〜１１は上述したものと同じであるから、タイルパート０〜３が同一解像度レベルに属し、タイルパート４〜７が同一解像度レベルに属し、タイルパート８〜１１が同一解像度に属する。
【００６２】
かかる観点からすると、例えば、図４（ａ）の解像度レベル４３のタイルパート４に対して暗号化を行い、同解像度レベル４３に含まれる他のタイルパート５、６、７については暗号化しなくても構わないようにする必要がある。その一方で、解像度レベル４４について着目すると、それより下位レベル（解像度レベル４３）の画像に暗号化が施されているタイルが存在するわけであるから、もはや解像度レベル４４については再生できないようにすることが望まれる。
【００６３】
かかる点をより分かりやすく説明するのであれば、或る解像度レベル中の少なくとも１つのタイルパートについて暗号化を行った場合、それより高い解像度レベルは無条件に暗号化を行い、同じ解像度レベル内のタイルパートであれば個別に暗号化を行う／行わないが設定できるようにする。
【００６４】
かかる点を実現するには、１つの解像度レベルを着目したとき、その解像度レベル全体に対する暗号鍵を設け、更に、その解像度レベル内の各タイルパートについて暗号化鍵を設ければ良い。しかしながら、ＪＰＥＧ２０００符号化アルゴリズムには、複数のタイルパートの代表を示す概念は無く、複数のタイルパートを代表するヘッダデータ等が存在しない。
【００６５】
そこで、本実施形態では、１つの解像度レベルにおける座標位置（１，１）に相当するタイルパート（プレシンクト）を、その解像度レベルを代表するものとして扱うようにした。
【００６６】
かかる点で、図５（ａ）及び図４（ａ）について解説するのであれば、最高の解像度である解像度レベル４４内のタイルパート１１の暗号化鍵を生成する場合には、タイル鍵Ｔ（入力した１タイル全体の符号化データから生成した鍵情報）からハッシュ関数を用いて生成する。また、各解像度レベルの代表となるタイルパートの暗号化鍵は、上位の解像度レベルの代表となるタイルパートの暗号化鍵に基づいて生成される。例えば、解像度レベル４４よりも下位にある解像度レベル４３においては、タイルパート７の暗号化鍵を、その上位の解像度レベル内のタイルパート１１の暗号化鍵に基づいて生成する。そして、同様に解像度レベル４２のタイルパート３の暗号化鍵は、タイルパート７の暗号化鍵に基づいて生成する。図５（ａ）における破線は、上記タイルパートの関係を示す。
【００６７】
一方、解像度レベル４４におけるタイルパート８、９、１０の暗号化鍵については、タイルパート１１の暗号化鍵と、それぞれのタイルパートインデックス（８、９、１０）を用いて生成する。例えば、タイルパート８の暗号化鍵は、そのタイルパート８のインデックス「８」とタイルパート１１の暗号化鍵に基づいて生成する。この結果、同じ解像度レベルに属するタイルパート８、９、１０間での暗号化鍵の主従関係は無くなる。これは、タイルパート８を暗号復号する為のみの解除鍵（暗号復号鍵）でタイルパート９や１０を解除することはできないことを意味する。そして、タイルパート１１の解除鍵を知っていさえいれば、タイルパート８のみを暗号化させることが可能になる。よって、タイルパート１１の解除鍵を知っていさえすれば、タイルパート８のみを暗号化させることが可能になる。
【００６８】
また、解像度レベル４３のタイルパート４、５、６に着目すると、タイルパート８、９、１０と同様に、解像度レベル４３の代表であるタイルパート７の鍵情報とそれぞれのタイルパートインデックス（４、５、６）を用いて暗号化鍵を生成することになる。
【００６９】
従って、例えば、タイルパート７の解除鍵を入手することが出来さえすれば、図５（ａ）においてタイルパート７（ノード７）より下に位置するノード０〜６へアクセス（解除）する鍵を生成できることになる。
【００７０】
次に、図５（ｂ）及び図４（ｂ）の関係は上記の記載から明らかであろう。破線がシーケンシャルアクセスを実現するための鍵生成順序をしめし、実線がランダムアクセスを実現するための鍵生成順序を示している。
【００７１】
暗号化タイルパート指定部１１においては、以上説明したような各タイルパートに対するアクセス制御の方法を、暗号化タイルパート情報ｔａとして出力する。前述した図４（ａ）及び図４（ｂ）の例における暗号化タイルパート情報ｔａの一例を図６を用いて説明する。
【００７２】
図６は、各タイルパートに対して、どのようなアクセス制御の方法を指定するかを示す図である。図６において、図６（ａ）は図４（ａ）に対応し、図６（ｂ）は図４（ｂ）に対応する。
【００７３】
図６において、アクセス制御の方法として、“０”はシーケンシャルアクセス制御を、“１”はランダムアクセス制御を適用することを示す。図６に示すように、暗号化タイルパート情報ｔａは各タイルパートに対して夫々アクセス制御の方法を示している。
【００７４】
以上説明したように、暗号化タイルパート指定部１１から、暗号化タイルパート情報ｔａが出力され、鍵行列生成部１２、及び暗号化部１３に入力される。
【００７５】
次に、鍵行列生成部１２の処理の詳細を説明する。鍵行列生成部１２には、コードストリームｃ、及び暗号化タイルパート情報ｔａが入力され、入力されたコードストリームｃ、及び暗号化タイルパート情報ｔａから、鍵行列ｋａが生成され、生成された鍵行列ｋａ及びコードストリーム鍵ｃｋが出力される。
【００７６】
ここで、鍵行列生成部１２で実行される鍵行列生成処理について図７Ａを用いて詳細に説明をする。
【００７７】
図７Ａは鍵行列生成部１２で実行される鍵行列生成処理を示すフローチャートである。
【００７８】
まず、ステップＳ７０でコードストリーム鍵ｃｋが生成される。コードストリーム鍵ｃｋは、コードストリームのハッシュ値として次式（式１）の様に算出される。
ｃｋ＝Ｈ（ｃ）                                （式１）
ここで、Ｈ（）は、一方向性（不可逆）関数であり、異なるｃに対するｃｋが同一になり難い、いわゆる衝突耐性を有する関数である。この関数として、例えば、ハッシュ関数や、ＤＥＳなどの暗号化処理などが適用可能である。また、この一方向性関数として、通常のハッシュ関数を用いた場合には、コードストリーム鍵ｃｋはコードストリーム毎に異なる鍵となる。一方、一方向性関数として、鍵付きハッシュ関数を用いた場合には、ユーザとコードストリーム毎に異なる鍵となる。
【００７９】
コードストリーム鍵ｃｋとは、図４に示したツリー構造におけるルートノードに対応する値であり、入力した１画像分のデータに基づいて生成する。
【００８０】
次に、ステップＳ７１でタイル鍵ＴＫが生成される。タイル鍵ＴＫは、コードストリーム鍵ｃｋ、及びタイルインデックスＴのハッシュ値として次式（式２）の様に算出される。
ＴＫ＝Ｈ（ｃｋ｜Ｔ）                          （式２）
ここで、Ｔはタイルインデックスである。
【００８１】
尚、本実施の形態においては、説明を簡単にするため、コードストリームｃはひとつのタイルだけから構成されているものとする。即ち、ｔｉは「０」に固定されている。よって生成されるタイル鍵はコードストリーム全体においてひとつだけである。
【００８２】
しかしながら、本発明はこれに限定されることなく、コードストリームが複数のタイルから構成されているような場合にも適応可能である。この場合、夫々のタイル毎に（式２）を用いてタイル鍵を生成し、更に各タイル毎に以降の処理を実行するようにすればよい。
【００８３】
次いで、ステップＳ７２において、パラメータｉを初期値“Ｎ−１”に初期化する。パラメータｉは着目しているタイルパートインデックスを示すパラメータであり、Ｎは当該タイルに含まれるタイルパートの総数である。即ち、本実施の形態においてはタイル中で最大のタイルパートインデックスを有するタイルパート鍵から順に生成するようにする。
【００８４】
次のステップＳ７３では、入力された暗号化タイルパート情報ｔａを用いて、タイルパートＴＰｉがランダムアクセス制御の対象か、或いはシーケンシャルアクセス制御の対象かが判定される。ランダムアクセス制御の対象である場合は処理をステップＳ７４に進め、シーケンシャルアクセス制御の対象である場合は処理をステップＳ７５に進める。
【００８５】
ステップＳ７４におけるランダムアクセス制御処理、及びステップＳ７５におけるシーケンシャルアクセス制御処理についての詳細は後述する。そして、ステップＳ７４、及びステップＳ７５を処理した後に、処理を終了する。
【００８６】
ここで、ランダムアクセス制御処理Ｓ７４、及びシーケンシャルアクセス制御処理Ｓ７５について詳細な説明をする。
【００８７】
まずランダムアクセス制御処理について図７Ｂを用いて説明する。まず、ステップＳ７６では、タイルパートＴＰｉのタイルパート鍵Ｋｉが、次式（式３）の様に算出される。
Ｋｉ＝Ｈ（ＴＫ｜ｉ）                          （式３）
即ち、タイル鍵ＴＫ、及び当該タイルパートインデックスｉに基づいて、タイルパート鍵Ｋｉが一方向性関数を用いて生成される。生成されたタイルパート鍵Ｋｉは、鍵行列ｋａに記録される。ここで、鍵行列ｋａの例を図１５を用いて説明する。図１５には本実施形態に適用可能な鍵行列ｋａの一例を示す。図１５に示すように、鍵行列ｋａには各タイルパートに対して夫々対応するタイルパート鍵が記録される。
【００８８】
次いで、ステップＳ７７において、パラメータｉが１だけ減ぜられ、その後、ステップＳ７８でパラメータｉが０であるか否かが判定される。パラメータｉが０の場合（即ちタイル中全てのタイルパートが処理された場合）には、処理を終了する。一方、パラメータｉが０でない場合（即ちタイル中まだ処理されていないタイルパートが存在する場合）には、処理をステップＳ７９に進める。
【００８９】
ステップＳ７９では、入力された暗号化タイルパート情報ｔａを用いて、タイルパートＴＰｉがシーケンシャルアクセス制御の対象か、或いはランダムアクセス制御の対象かが判定される。シーケンシャルアクセス制御の対象である場合は処理をステップＳ７１０に進め、ランダムアクセス制御の対象である場合は処理をＳ７６に進める。
【００９０】
ステップＳ７１０では、タイルパートＴＰｉのタイルパート鍵Ｋｉが次式（式４）の様に算出される。
Ｋｉ＝Ｈ（Ｋ＿ｉ＋１）                          （式４）
即ち、着目しているタイルパート鍵Ｋｉは、一つ前のタイルパート鍵Ｋ＿ｉ＋１から一方向性関数を用いて生成される。ステップＳ７１０においてタイルパート鍵Ｋｉが生成された後、処理をステップＳ７７に進める。
【００９１】
次に、シーケンシャルアクセス制御処理について図７Ｃを用いて説明する。ステップＳ７１１では、タイルパートＴＰｉのタイルパート鍵Ｋｉが、次式（式５）の様に算出される。
Ｋｉ＝Ｈ（ＫＴ）                                （式５）
即ち、タイル鍵ＴＫから一方向性関数を用いて生成される。生成されたタイルパート鍵Ｋｉは、鍵行列Ｋａに記録される。
【００９２】
次いで、ステップＳ７１３において、パラメータｉが１だけ減ぜられ、その後、ステップＳ７１３でパラメータｉが０であるか否かが判定される。パラメータｉが０の場合（即ちタイル中全てのタイルパートが処理された場合）には、処理を終了する。一方、パラメータｉが０でない場合（即ちタイル中まだ処理されていないタイルパートが存在する場合）には、処理をステップＳ７１４に進める。
【００９３】
ステップＳ７１４では、入力された暗号化タイルパート情報ｔａを用いて、タイルパートＴＰｉがシーケンシャルアクセス制御の対象か、或いはランダムアクセス制御の対象かが判定される。ランダムアクセス制御の対象である場合は処理をステップＳ７１５に進め、シーケンシャルアクセス制御の対象である場合は処理をＳ７１６に進める。
【００９４】
ステップＳ７１５では、タイルパートＴＰｉのタイルパート鍵Ｋｉが次式（式６）の様に算出される。
Ｋｉ＝Ｈ（Ｋｊ｜ｉ）                        （式６）
即ち、着目しているタイルパート鍵Ｋｉは、タイルパート鍵Ｋｊとタイルパートインデックスｊとからハッシュ関数を用いて生成される。ステップＳ７１５においてタイルパート鍵Ｋｉが生成された後、処理をＳ７１３に進める。
【００９５】
一方、ステップＳ７１６では、タイルパートＴＰｉのタイルパート鍵Ｋｉが次式（式７）の様に算出される。
Ｋｉ＝Ｈ（Ｋｊ）                            （式７）
ここで、ｊは着目しているタイルパートＴＰｉの直前にシーケンシャルアクセス制御の対象であったタイルパート（タイルパートＴＰｉの親ノードに対応するタイルパート）のタイルパートインデックスである。即ち、着目しているタイルパート鍵Ｋｉは、タイルパート鍵Ｋｊからハッシュ関数を用いて生成される。ステップＳ７１６においてタイルパート鍵Ｋｉが生成された跡、処理をステップＳ７１２に進める。
【００９６】
以上、説明したように、鍵行列生成処理により鍵行列ｋａが生成される。生成された鍵行列ｋａは暗号化部１３に入力される。
【００９７】
次に、暗号化部１３の処理の詳細を説明する。暗号化部１３は、コードストリームｃ、暗号化対象タイルパート情報ｔａ、及び鍵行列ｋａを入力し、暗号化タイルパート情報ｔａに示されたコードストリームｃのタイルパートを、鍵行列ｋａに記録されているタイルパート鍵を用いて暗号化し、暗号化されたコードストリームｃ'を出力する。
【００９８】
暗号化部１３で実行される暗号化処理について説明する。暗号化部１３においては、入力されたコードストリームｃを構成するタイルパートをＴＰｉとしたとき、そのタイルパートに対応するタイルパート鍵Ｋｉを用いて暗号化処理を行う。
【００９９】
ＪＰＥＧ２０００においては、タイルパートを構成するデータは、パケットと呼ばれる単位から構成されている。そして、パケットはヘッダ部分とボディ部分から構成されている。本実施形態においては、ヘッダ部分は暗号化せずに、ボディ部分だけを暗号化するようにする。このように暗号化することによって、たとえ暗号化したとしても、画像として正しく伸長復号することが可能である。
【０１００】
しかしながら、本発明はこれに限定されることなく、ヘッダ部分、ヘッダ部分の一部、或いはパケット全体を暗号化するようにしてもよい。
【０１０１】
また、暗号化の方法としては、本実施形態においては特に限定せず、ＤＥＳ（Ｄａｔａ Ｅｎｃｒｙｐｔｉｏｎ Ｓｔａｎｄａｒｄ）や、ＡＥＳ（Ａｄｖａｎｃｅｄ Ｅｎｃｒｙｐｔｉｏｎ Ｓｔａｎｄａｒｄ）など種々の暗号アルゴリズムを適用可能である。
【０１０２】
また、暗号化したタイルパートは、各タイルパートのタイルパートヘッダに、アクセス制御の種類をマーカとして記録する。シーケンシャルアクセス制御のためのマーカを“Ｓ”、ランダムアクセス制御のためのマーカを“Ｒ”とした場合の例を図１６に示す。同図（ａ）は図４（ａ）、同図（ｂ）は図４（ｂ）にそれぞれ対応するものである。
【０１０３】
図１６に示すように夫々のタイルパートのタイルパートヘッダにマーカを添付する。このように、アクセス制御の種類をマーカとして記録することにより、該タイルパートが暗号化されていることに加え、当該タイルパートを復号するための鍵をどのように生成すればよいか、後述する暗号復号処理部１４３に伝達することが可能となる。
【０１０４】
以上の様に、暗号化されたコードストリームは、暗号化コードストリームｃ'として出力される。以上、図１４における暗号化処理部１４１について説明した。
【０１０５】
尚、本実施の形態においてはタイルに含まれるタイルパートを全て暗号化する例を説明したが、本発明はこれに限定されることなく、タイルを構成するタイルパートのうちいくつかだけを暗号化するようにしてもよい。例えば、前述した図４（ａ）の例のような場合、最も低い解像度レベルに属するタイルパート（図４における４２）は暗号化せずに、それ以外のタイルパート（図４（ａ）における４３、及び４４）だけを暗号化するようにする。すると、アクセスを許可されていない利用者は低解像度レベルの画像だけを再生することができ、アクセスを許可されると高解像度レベルの画像を再生できるになる。また、前述した図４（ｂ）の例のような場合、所定のプレシンクト（画像の空間的な領域）に属するタイルパート（図４における４６）は暗号化せずに、それ以外のタイルパート（図４における４７、４８、及び４９）だけを暗号化するようにする。すると、アクセスを許可されていない利用者は前記所定のプレシンクト（画像の空間的な領域）を再生することができず、アクセスを許可されると画像全体を再生することができるようになる。
【０１０６】
上記本実施形態における暗号化処理部１４１は、一般に、パーソナルコンピュータ等の情報処理装置で実現できることは容易に類推できよう。また、パーソナルコンピュータ等の情報処理装置で、上記機能を実現すれば良いわけであるから、実施形態での特徴は情報処理方法、更には、コンピュータプログラムや、コンピュータプログラムを格納するＣＤＲＯＭ等のコンピュータ可読記憶媒体にまで及ぶものである。
【０１０７】
[アクセス鍵生成処理部]
次に、図９を用いて本実施形態に適用されるアクセス鍵生成部（機能）を説明する。
【０１０８】
図９に示すように、アクセス鍵生成部は、コードストリーム鍵ｃｋ、及びアクセスを許可するインデックスａｎが入力され、入力されたコードストリーム鍵ｃｋからアクセスを許可するインデックスａｎに対応するアクセス鍵ａｋ（暗号化を解除する鍵）が生成され、生成されたアクセス鍵ａｋが出力される。ここで、アクセスを許可するインデックスａｎとは、アクセスを許可するタイルパートインデックスのことである。
【０１０９】
図５に示したように、本実施形態においては、タイルパートはツリー構造で表現できる。図５に示したツリー構造を構成するノードのうち、ひとつのノードを、アクセスを許可するインデックスａｎで指定し、指定されたノードに対応するアクセス鍵を生成する。
【０１１０】
指定されたノードのアクセス鍵を生成する方式としては、入力されたコードストリーム鍵ｃｋをルートノードに対応させ、図７に示したような方法で順に各ノードに対応する鍵を生成することを、アクセスを許可するノードのインデックスａｎになるまで繰り返すようにすれば良い。
【０１１１】
生成されたアクセス鍵は、図８に示すようなフォーマットに従ってａｋとして出力される。図８に示すように、ａｋは、アクセス鍵、及び当該アクセス鍵が対応するタイルパートインデックスから構成される。また、複数のノードが指定された場合は、夫々のノードに対応するアクセス鍵、及び当該アクセス鍵が対応するタイルパートインデックスをすべて記録するようにする。
【０１１２】
ここで、アクセス鍵生成部におけるアクセス鍵生成処理について例を用いて説明する。図１０は、図４に示したようなアクセス制御が施されたコードストリームに対するアクセス鍵生成処理の例を示す図である。図１０において、図１０（ａ）は図４（ａ）（図５（ａ））に対応し、図１０（ａ）は図４（ｂ）（図５（ｂ））に対応する。
【０１１３】
図１０（ａ）は図４（ｂ）に示したようなコードストリームに対して、中間の解像度レベル４３、及び低い解像度レベル４２に対してアクセス権を与えるためのアクセス鍵生成処理の例である。
【０１１４】
この例の場合、タイルパートインデックス“７”に対応するタイルパート鍵が、タイル鍵から順にハッシュ関数を用いて生成され、アクセス鍵として生成される。生成されたアクセス鍵により、図１０（ａ）において網掛けで示されたノードへアクセスすることができる。
【０１１５】
一方、図１０（ｂ）は図４（ｂ）に示したようなコードストリームに対して、画像全体の右半分に対してアクセス権を与えるためのアクセス鍵生成処理の例である。この例の場合、画像全体の右半分を示す為の２つのタイルパートインデックス“８”、及び“２”に対応するタイルパート鍵が、夫々タイル鍵から順にハッシュ関数を用いて生成され、アクセス鍵として生成される。生成されたアクセス鍵により、図１０（ｂ）において網掛けで示されたノードへアクセスすることができる。
【０１１６】
なお、図１０は、先に示した図５と同様の関係にあることは、当業者であればこれまでの説明から容易に推察されよう。
【０１１７】
以上説明した方法で、図８に示すようなフォーマットに格納された後、Ｋａは後述する暗号復号処理部に渡される（実際は、暗号復号処理部からの要求に応じて提供する）。出力されたアクセス鍵Ｋａ全体、或いはその一部は安全に暗号復号処理部に送信するために、暗号化しても良い。
【０１１８】
[暗号復号処理部]
先ず、本実施形態における暗号復号処理部１４３と、アクセス鍵生成処理部１４２との大まかな動作を説明し、その後で、具体的な暗号復号処理部１４３の処理内容を説明することとする。暗号復号処理部１４３はインターネットに接続し得る一般のユーザが所有しているＰＣ、アクセス鍵生成処理部１４２は暗号化を解除するための認証サーバとして考えると分かりやすいので、それを前提にして説明する。
【０１１９】
暗号化されたコードストリームｃ'を受信した暗号復号処理部（クライアントＰＣ）１４３は、暗号化されないタイルパートの符号化データに基づいて画像を再現する。従って、再現できる画像の解像度は自ずと限られていることになる。このとき、その暗号復号処理部のユーザが、より高い解像度を再現できるよう望む場合、暗号化されているタイルパートから上位に遡って、要求するレベルのノードをユーザからの指示に従い決定する。このノードのレベル（タイルパートインデックス）をアクセス鍵生成処理部１４２（認証サーバ）にインデックスａｎとして要求する。この結果、アクセス鍵生成処理部１４２からは、要求したノードに対するアクセス鍵Ｋａが暗号復号処理部（クライアントＰＣ）１４３に送られてくる。暗号復号処理部（クライアントＰＣ）１４３は、受信したアクセス鍵Ｋａに基づき、その下位に向かう暗号を解除するための鍵群を生成する。そして、その鍵を用いて暗号化されている符号化データの暗号化を解除し、伸長復号を行なう。
【０１２０】
なお、アクセス鍵生成処理部１４２としては、アクセス鍵Ｋａを取得したい旨の要求をクライアント（伸長復号処理部に対応する）から受信した場合、認証処理や課金等の処理を経て、そのアクセス鍵を提供することになるであろう。従って、このアクセス鍵生成処理部１４２をインターネットに認証サーバとして設置する場合、複数の暗号化処理部、複数の復号処理部を想定して設置する必要があり、必然、多数の画像を特定する情報と共に、それら個々の画像に対するコードストリーム鍵を登録できるようにしておく。そして、暗号復号処理部１４３は、画像を特定する情報と暗号化を解除するためのタイルパートインデックスを通知することで、目的とする画像の目的とするノードレベルのアクセス鍵Ｋａを得るようになる。アクセス鍵生成処理部１４２（認証サーバ）としては、１つの画像について、その画像を特定する情報（ＩＤやファイル名等）と、その画像のルートノードに対する１つのコードストリームだけ記憶していれば良いので、記憶管理する情報量も少なくできよう。
【０１２１】
上記を踏まえ、以下、図１１を用いて本実施形態に適用される暗号復号処理部（機能）を説明する。
【０１２２】
図１１に示すように、本実施形態における暗号復号処理部１４３は、鍵行列生成部１１１、暗号復号部１１２、及び暗号化タイルパート判定部１１３から構成される。
【０１２３】
まずはじめに、鍵行列生成部１１１の処理の詳細を説明する。鍵行列生成部１１１には、アクセス鍵生成処理部１４２に要求したタイルパートインデックスに対するアクセス鍵Ｋａが入力される。そして、入力されたアクセス鍵Ｋａから、鍵行列ｋａ'（各ノード（タイルパート）に対応する解読キー）を生成し、その生成された鍵行列ａｋ'を出力する。
【０１２４】
ここで、鍵行列生成部１１１で実行される鍵行列生成処理について図１２Ａを用いて、詳細に説明をする。図１２Ａは鍵行列生成部１１１で実行される鍵行列生成処理を示すフローチャートである。また、以下に説明するマーカの一例は、図１６（ａ）、（ｂ）を参照されたい。
【０１２５】
まず、ステップＳ１２１で入力されたアクセス鍵ａｋに含まれる最初のアクセス鍵に着目する。
【０１２６】
続いて、ステップＳ１２２において、タイルに含まれるタイルパートのうち最大のタイルパートインデックスを有するタイルパートがランダムアクセス制御であるか、或いはシーケンシャルアクセス制御であるかが判定される。これは、タイルパートヘッダを解析し、マーカ“Ｒ”が付加されているか、或いはマーカ“Ｓ”が添付されているかによって判断できる。そして、ランダムアクセス制御である場合（マーカ“Ｒ”）には処理をステップＳ１２３に進め、シーケンシャルアクセス制御である場合（マーカ“Ｓ”）には処理をステップＳ１２４に進める。
【０１２７】
ステップＳ１２３におけるランダムアクセス制御処理、及びステップＳ１２４におけるシーケンシャルアクセス制御処理についての詳細は後述する。
【０１２８】
ステップＳ１２３，及びステップＳ１２４における処理が終了した後、処理をステップＳ１２５に進める。そして、ステップＳ１２５において、入力されたアクセス鍵に含まれる全てのアクセス鍵値が処理されたか否かが判定される。全てのアクセス鍵値が処理された場合には処理を終了し、まだ処理されていないアクセス鍵値が残っている場合には、処理をステップＳ１２６に進める。そして、ステップＳ１２６において次のアクセス鍵に着目し、処理をステップＳ１２２に進める。
【０１２９】
ここで、ランダムアクセス制御処理について図１２Ｂを用いて説明する。まず、ステップＳ１２６では、アクセス鍵値がタイル鍵であるか否かが判定される。タイル鍵である場合には処理をステップＳ１２８にすすめ、タイル鍵でない場合には処理をステップＳ１２７に進める。
【０１３０】
ステップＳ１２８では、パラメータｉを初期値“Ｎ−１”に初期化する。パラメータｉは着目しているタイルパートインデックスを示すパラメータであり、Ｎは当該タイルに含まれるタイルパートの総数である。その後、処理をステップ１２９に進める。
【０１３１】
ステップＳ１２９では、タイルパートＴＰｉのタイルパート鍵が次式（式８）の様に算出される。
Ｋｉ＝Ｈ（ＫＴ｜ｉ）                        （式８）
即ち、タイル鍵ＴＫ、及び当該タイルパートインデックスｉとからタイルパート鍵Ｋｉが一方向性関数を用いて生成される。生成されたタイルパート鍵Ｋｉは、鍵行列ｋａ'に記録される。タイルパート鍵Ｋｉが生成された後、処理をステップＳ１２１０に進める。
【０１３２】
一方、ステップＳ１２７では、パラメータｉを現在着目しているアクセス鍵が対応するタイルパートインデックスに初期化する。その後、処理をステップＳ１２１０に進める。
【０１３３】
ステップＳ１２１０では、パラメータｉが１だけ減ぜられ、その後、ステップＳ１２１１でパラメータｉが０であるか否かが判定される。パラメータｉが０の場合（即ちタイル中全てのタイルパートが処理された場合）には、処理を終了する。一方、パラメータｉが０でない場合（即ちタイル中まだ処理されていないタイルパートが存在する場合）には、処理をステップＳ１２１２に進める。
【０１３４】
次いで、ステップＳ１２１２では、タイルパートＴＰｉがシーケンシャルアクセス制御の対象か、或いはランダムアクセス制御の対象かが判定される。シーケンシャルアクセス制御の対象である場合には処理をステップＳ１２１４に進め、ランダムアクセス制御の対象である場合には処理をステップＳ１２１３に進める。
【０１３５】
ステップＳ１２１４では、タイルパートＴＰｉのタイルパート鍵Ｋｉが次式（式９）の様に算出される。
Ｋｉ＝Ｈ（Ｋ＿ｉ＋１）                      （式９）
即ち、着目しているタイルパート鍵Ｋｉは、一つ前のタイルパート鍵Ｋ＿ｉ＋１から一方向性関数を用いて生成される。生成されたタイルパート鍵Ｋｉは、鍵行列ｋａ'に記録される。ステップＳ１２１４においてタイルパート鍵Ｋｉが生成された後、処理をＳ１２１０に進める。
【０１３６】
一方、ステップＳ１２１３では、入力されたアクセス鍵値がタイル鍵であるか否かが判定される。タイル鍵である場合には処理をステップＳ１２１５に進め、タイル鍵でない場合には処理を終了する。
【０１３７】
ステップＳ１２１５では、タイルパートＴＰｉのタイルパート鍵Ｋｉが次式（式１０）の様に算出される。
Ｋｉ＝Ｈ（ＫＴ｜ｉ）                         （式１０）
即ち、タイル鍵ＴＫ、及び当該タイルパートインデックスｉとからタイルパート鍵Ｋｉが一方向性関数を用いて生成される。生成されたタイルパート鍵Ｋｉは、鍵行列ｋａ'に記録される。ステップＳ１２１５においてタイルパート鍵Ｋｉが生成された後、処理をＳ１２９に進める。
【０１３８】
次に、シーケンシャルアクセス制御処理について図１２Ｃを用いて説明する。ステップＳ１２１６では、アクセス鍵値がタイル鍵であるか否かが判定される。タイル鍵である場合には処理をステップＳ１２１８に進め、タイル鍵でない場合には処理をステップＳ１２１７に進める。
【０１３９】
ステップＳ１２１８では、パラメータｉを初期値“Ｎ−１”に初期化する。パラメータｉは着目しているタイルパートインデックスを示すパラメータであり、Ｎは当該タイルに含まれるタイルパートの総数である。その後、処理をステップ１２１９に進める。
【０１４０】
ステップＳ１２１９では、タイルパートＴＰｉのタイルパート鍵が次式（式１１）の様に算出される。
Ｋｉ＝Ｈ（ＫＴ）                        （式１１）
即ち、タイル鍵ＴＫからタイルパート鍵Ｋｉが一方向性関数を用いて生成される。生成されたタイルパート鍵Ｋｉは、鍵行列ｋａ'に記録される。タイルパート鍵Ｋｉが生成された後、処理をステップＳ１２２０に進める。
【０１４１】
一方、ステップＳ１２１７では、パラメータｉを現在着目しているアクセス鍵が対応するタイルパートインデックスに初期化する。その後、処理をステップＳ１２２０に進める。
【０１４２】
ステップＳ１２２０ではパラメータｉをｊに代入する。ｊはｉの親ノードを表すインデックスである。次いで、ステップＳ１２２１では、パラメータｉが１だけ減ぜられ、その後、ステップＳ１２２２でパラメータｉが０であるか否かが判定される。パラメータｉが０の場合（即ちタイル中全てのタイルパートが処理された場合）には、処理を終了する。一方、パラメータｉが０でない場合（即ちタイル中まだ処理されていないタイルパートが存在する場合）には、処理をステップＳ１２２３に進める。
【０１４３】
ステップＳ１２２３では、タイルパートＴＰｉのタイルパート鍵Ｋｉが次式（式１２）の様に算出される。
Ｋｉ＝Ｈ（Ｋｊ｜ｉ）                         （式１２）
即ち、着目しているタイルパート鍵Ｋｉは、親のタイルパート鍵Ｋｊとタイルパートインデックスｉとからハッシュ関数を用いて生成される。生成されたタイルパート鍵Ｋｉは、鍵行列Ｋａ'に記録される。ステップＳ１２２４においてタイルパート鍵Ｋｉが生成された後、処理をステップＳ１２２１に進める。
【０１４４】
一方、ステップＳ１２２５では、入力されたアクセス鍵値がタイル鍵であるか否かが判定される。タイル鍵である場合には処理をステップＳ１２２５に進め、タイル鍵でない場合いは処理を終了する。
【０１４５】
ステップＳ１２２５では、タイルパートＴＰｉｎタイルパート鍵Ｋｉが次式（式１３）のように算出される。
Ｋｉ＝Ｈ（Ｋｊ）                               （式１３）
即ち、着目しているタイルパート鍵Ｋｉは、親のタイルパート鍵Ｋｊから一方向性関数を用いて生成される。生成されたタイルパート鍵Ｋｉは、鍵行列ｋａ'に記録される。ステップＳ１２２５においてタイルパート鍵Ｋｉが生成された後、処理をステップＳ１２２０に進める。
【０１４６】
以上、説明したように、鍵行列生成処理により鍵行列ｋａ'が生成される。生成された鍵行列ｋａ'は暗号復号部１１２に入力される。
【０１４７】
次に、暗号復号部１１２の処理の詳細を説明する。暗号復号部１１２には、暗号化されたコードストリームｃ'、鍵行列ｋａ'が入力され、コードストリームｃ'中で暗号化されているタイルパートが、鍵行列ｋａ'に記録されているタイルパート鍵を用いて暗号復号（暗号解除）され、暗号復号されたコードストリームｃ''が出力される。
【０１４８】
暗号復号部１１２では、コードストリームｃ'を解析し、各タイルパートを抽出し、抽出された夫々のタイルパートが暗号化されているか否かが、マーカＲ、及びマーカＳにより判定され、暗号化されているタイルパートは、鍵行列ｋａ'に記録されているタイルパート鍵を用いて暗号復号処理される。そして、コードストリームｃ'のタイルパートは、暗号復号処理されたタイルパートに置き換えられる。
【０１４９】
また、暗号復号処理したタイルパートは、タイルパートヘッダに記録されているマーカＲ，及びマーカＳを消去する。
【０１５０】
更に、ヘッダ部分は暗号復号処理せずにデータ部分だけを暗号復号処理するようにする。
【０１５１】
暗号復号処理の方法としては、前述した暗号化処理部で実行した方法に対応する方法でなければならない。
【０１５２】
以上の様に、アクセス鍵に応じて、暗号化されたコードストリームｃ'が暗号復号され、暗号復号されたコードストリームは、暗号復号コードストリームｃ''として出力される。
【０１５３】
従って、図１４における復号処理部１４３が、アクセス鍵生成処理部１４２からアクセス鍵ａｋを受信しないで、暗号化されたコードストリームｃ'を受信し、暗号復号処理したとしても、暗号化されていないタイルパートについては暗号復号が成功するだけとなり、予め許容された解像度以下の画像の再現までが可能となる。換言すれば、（暗号）復号処理部１４３のユーザが、より鮮明な画像を望む場合には、アクセス鍵ａｋを取得し、再度暗号復号化（暗号解除）処理を行えば良いことになる。
【０１５４】
以上説明したように本実施形態によれば、複数の領域、及び階層構造を有する画像データに対して、領域毎、及び階層構造毎に異なる暗号鍵を用いて暗号化した場合にも、複数の鍵を管理する必要がないようにすることが可能となる。更に、複数の領域及び階層構造と、それらに対応する復号鍵を記録し、正しく復号処理を実行することが可能となる。
【０１５５】
なお、上記の実施形態でのタイルパートとは、プレシンクト（タイル中で所定の空間的領域を示す集合単位）、及び解像度レベル（ウェーブレット変換処理を行った際に生成される各周波数成分領域の集合単位）とするものであったが、これに限定されるものではない。
【０１５６】
例えば、一般に画像の圧縮符号化では、ウェーブレット変換や直交変換等の周波数変換処理して得られたデータを量子化し、エントロピー符号化を施すが、量子化して得られた各係数値のビット単位のプレーン毎に符号化することを行う提案も既に幾つかなされており、これに適用させても良いからである。より具体的に説明するため、図１３を用いて説明する。
【０１５７】
図１３は、量子化した後の係数値のブロックを示している。図示では説明を単純化するため、４×４としているが勿論、これより大きくても構わないし、一般に、このサイズよりも大きなものとなる。座標（ｉ，ｊ）として表現したとき、図示は、（１，１）の係数値が「＋１３」、（４，１）が「−６」、（１、４）が「＋３」という値を持ち、それ以外は「０」となっている例を示している。この中で値が最も大きいものが「＋１３」であり、バイナリー（２進）で表記すると「１１０１」となる。つまり、図示の場合、全ての係数が４ビットで表現できるので、ビット３のプレーン、ビット２のプレーン、ビット１のプレーン、ビット０のプレーンの４つのプレーンがあれば十分に表現でき、ビットプレーン毎に符号化を行う。
【０１５８】
一方、データの重要度から見た場合、高位のビットほど重要であるから、結局のところ、ビット３のプレーンがそのブロックの画質に支配的となり、以下、画質に与える影響の大きな順は、ビット２のプレーン、ビット１のプレーン、ビット０のプレーンとなる。これは、ちょうど、先に説明したウェーブレット変換を複数回行った際の、最も低周波成分の係数値（ＬＬ成分）が、ビット３のプレーンであり、最も高周波成分の係数の集合｛ＬＨ１＋ＨＬ１＋ＨＨ１｝がビット０のプレーンに対応するのと同様の意味を持つことに他ならない。
【０１５９】
以上説明したように本実施形態によれば、複数のタイル及び階層構造を有する画像データに対して、タイル及び階層構造毎に異なる暗号鍵を用いて暗号化した場合にも、複数の鍵を管理する必要がないようにすることが可能となる。更に、複数のタイル及び階層構造と、それらに対応する暗号復号鍵を記録し、正しく暗号復号処理を実行することか可能となる。
【０１６０】
また以上説明した実施形態における、暗号化処理部１４１、アクセス鍵生成処理部１４２、更には、（暗号）復号処理部１４３は、それぞれパーソナルコンピュータ等の情報処理装置でもって実現できるし、その機能を実現する手順としての方法の発明として捉えることができる。また、コンピュータにより実現できるわけであるから、本発明はそれぞれの装置で実行されるコンピュータプログラムもその範疇とする。更に、一般に、コンピュータプログラムは、ＣＤＲＯＭ等の可搬性コンピュータ可読記憶媒体をセットし、インストールもしくはシステムのコピーしてから実行するものであるから、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかであろう。
【０１６１】
また、本実施の形態においては、解像度とプレシンクトを組み合わせた場合のアクセス制御の方法についての例を用いて説明したが、本発明はこれに限定されることなく、ＪＰＥＧ２０００における種々のデータユニットを組み合わせてアクセス制御することが可能である。
【０１６２】
例えば、レイヤとプレシンクトを組み合わせる場合は、図４における「解像度レベル」を「レイヤ」に置き換えて処理すればよい。レイヤとは、所定の画質の画像を伸長復号するための、エントロピ符号化された符号列（コードストリーム）の集合である。よって、レイヤとプレシンクトを組み合わせて本発明を実施することにより、「画像の所定の位置（領域）は高い画質でアクセス可能とし、別の位置（領域）は低い画質でだけアクセス可能」といったような画質と位置（領域）に応じたアクセス制御をすることが可能となる。
【０１６３】
別の例として、解像度レベルとコンポーネントを組み合わせることもできる。この場合には、図４における「プレシンクト」を「コンポーネント」に置き換えて処理すればよい。コンポーネントとは、１画素を構成する要素であり、例えば輝度成分や色成分などのことである。よって、解像度レベルとコンポーネントを組み合わせて本発明を実施することにより、「画像の輝度成分は高い解像度でアクセス可能とし、色成分は低い解像度でだけアクセス可能」といったような解像度と、輝度や色成分に応じたアクセス制御をすることが可能となる。
【０１６４】
同様に、レイヤとコンポーネントの組み合わせや、レイヤとコンポーネントの組み合わせなどが可能であることは明らかである。
【０１６５】
なお、本発明の特徴の１つは、階層符号化におけるプレシンクト単位のアクセス制御を行う為の暗号化鍵の生成する方法であるが、この特徴については、図５等を用いて説明した場合に限らない。即ち、プレシンクト単位に効率的なアクセス制御ができる様、種々の変形が可能である。その一例を図１７に示す。
【０１６６】
図１７は図５の変形である。図中のタイルパート０〜１１は図５と同じである。ここでは、タイル鍵Ｔに基づいて、最高解像度レベル（タイルパート８〜１１）に属するタイル鍵Ｔ１を生成する。なお、このＴ１はＴを一方向関数を用いて演算した値でも良いが、Ｔそのものでも良い。次に、Ｔ１を一方向関数を用いて演算することによりＴ２を生成する。これは第2解像度レベル（タイルパート４〜７）に属するタイル鍵である。次に、Ｔ２を一方向関数を用いて演算することによりＴ３を生成する。これは第３解像度レベル（タイルパート０〜３）に属するタイル鍵である。
【０１６７】
これらタイル鍵Ｔ１〜Ｔ３の役割は、それぞれ図５のノード１１、ノード７、ノード３と同じである。図５では、これら３つのノードが各解像度レベルのタイルパートの代表の役割をしていたが、この図１７においては、代表の役割を別の仮想的なノード（Ｔ１、Ｔ２、Ｔ３）に与える。これにより、これら３つのノード１１、７、３に対応する鍵は、各々が属する解像度レベルにおける他のタイルパートと同等に作成されることになり、ノードを識別する制御等がより簡単になるであろう。次に、最高解像度レベル（図４の４４）におけるタイルパート８、９、１０、１１の暗号化鍵を、タイル鍵Ｔ１と、それぞれのタイルパートインデックス（８、９、１０、１１）を用いて生成する。これは図５と同様である。図５と異なるのは、タイルパート１１の鍵もタイルパート８〜１０と同様に作成されることである。次に、第2解像度レベル（図４の４３）におけるタイルパート４〜７の暗号化鍵を、タイル鍵Ｔ２と、それぞれのタイルパートインデックスを用いて生成する。最後に、第３解像度（最低解像度）レベル（図４の４２）におけるタイルパート０〜３の暗号化鍵を、タイル鍵Ｔ３と、それぞれのタイルパートインデックスを用いて生成する。  以上の変形例を本発明に適用しても、プレシンクト単位の効率の良いアクセス制御が可能である。
【０１６８】
なお、以上では、主にＪＰＥＧ２０００ 符号化アルゴリズムを用いた場合を説明したが、本発明はこれに限らない。即ち、上記各種説明と同様の概念を持つ符号化アルゴリズムに対して本発明を適用可能である。
【０１６９】
また、上述した種々の名称（プレシンクト、タイルパート、等）が異なっている実施形態においても、上述した概念と共通する実施形態であれば、その形態は本発明の範疇に含まれる。
【図面の簡単な説明】
【０１７０】
【図１】本実施形態における暗号処理部のブロック構成図である。
【図２】本実施形態におけるウェーブレット変換とプレシンクトを説明するための図である。
【図３】実施形態における暗号化され圧縮符号化された画像データの解像度毎の復号例を示す図である。
【図４】本実施形態におけるタイルパートの並びを示す図である。
【図５】本実施形態における鍵のツリー構造を説明する図である。
【図６】本実施形態における暗号化タイルパート情報を説明する図である。
【図７Ａ】本実施形態における暗号処理部における鍵行列生成にかかる処理手順を示すフローチャートである。
【図７Ｂ】本実施形態における暗号処理部における鍵行列生成にかかる処理手順を示すフローチャートである。
【図７Ｃ】本実施形態における暗号処理部における鍵行列生成にかかる処理手順を示すフローチャートである。
【図８】本実施形態におけるアクセス鍵のフォーマットを示す図である。
【図９】本実施形態におけるアクセス鍵生成処理部のブロック構成図である。
【図１０】本実施形態におけるアクセス制御を説明する図である。
【図１１】本実施形態における（暗号）復号処理部のブロック構成図である。
【図１２Ａ】本実施形態における（暗号）復号処理部における鍵行列生成の処理手順を示すフローチャートである。
【図１２Ｂ】本実施形態における（暗号）復号処理部における鍵行列生成の処理手順を示すフローチャートである。
【図１２Ｃ】本実施形態における（暗号）復号処理部における鍵行列生成の処理手順を示すフローチャートである。
【図１３】本実施形態におけるビットプレーンを説明する図である。
【図１４】本実施形態におけるシステムの全体構成図である。
【図１５】本実施の形態における鍵行列の一例を示す図である。
【図１６】本実施の形態におけるマーカを説明する図である。
【図１７】図５の変形例を示す図である。
【図１】
2004242287.tif 000003
【図２】
2004242287.tif 000004
【図３】
2004242287.tif 000005
【図４】
2004242287.tif 000006
【図５】
2004242287.tif 000007
【図６】
2004242287.tif 000008
【図７Ａ】
2004242287.tif 000009
【図７Ｂ】
2004242287.tif 000010
【図７Ｃ】
2004242287.tif 000011
【図８】
2004242287.tif 000012
【図９】
2004242287.tif 000013
【図１０】
2004242287.tif 000014
【図１１】
2004242287.tif 000015
【図１２Ａ】
2004242287.tif 000016
【図１２Ｂ】
2004242287.tif 000017
【図１２Ｃ】
2004242287.tif 000018
【図１３】
2004242287.tif 000019
【図１４】
2004242287.tif 000020
【図１５】
2004242287.tif 000021
【図１６】
2004242287.tif 000022
【図１７】
2004242287.tif 000023