(57)【要約】【課題】暗号化の際に用いる鍵の管理を容易にすること。【解決手段】符号列において各タイルのビットストリームを解像度レベル毎のビットストリームに分割する（Ｓ７０）。そして画像鍵Ｋ＿Ｉを生成する（Ｓ７１）。次に、画像鍵Ｋ＿Ｉから符号化パラメータＰを用いてビットストリーム鍵Ｋ＿ＢＳを生成する（Ｓ７２）。次に、ビットストリーム鍵Ｋ＿ＢＳからタイルに関する情報を用いてタイルＴｉの鍵Ｋ＿Ｔｉを生成する（Ｓ７４）。次にタイルＴｉにおいて、分割された夫々の解像度を示すビットストリームに対する鍵を生成する（Ｓ７６）。【選択図】　図６
2004040248.tif 000002
【特許請求の範囲】
【請求項１】
画像を所定のサイズを有するタイル毎に符号化することで得られる、階層構造を有するタイル毎のビットストリームと、当該符号化を行う際に使用された符号化パラメータを入力する入力手段と、
前記符号化パラメータのうち少なくとも一つ以上の符号化パラメータと、前記画像に対する鍵とを用いて、夫々のタイルの夫々の階層レベルのビットストリームに対する鍵と、当該鍵を特定する情報を生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記生成手段は、夫々のタイルに対するインデックスと、夫々の階層レベルに対するインデックスとを結合することで、前記鍵を特定する情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記生成手段は、前記符号化を行う際に前記符号化手段が使用した符号化パラメータのうち少なくとも一つ以上の符号化パラメータと、前記画像に対する鍵とを用いて夫々のタイルのビットストリームに対する鍵を生成すると共に、当該鍵を特定する情報を生成し、
更に、夫々のタイルのビットストリームに対する鍵と、当該鍵を特定する情報とを用いて、夫々のタイルの夫々の階層レベルのビットストリームに対する鍵を生成すると共に、当該鍵を特定する情報を生成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記生成手段は、前記符号化を行う際に前記符号化手段が使用した符号化パラメータのうち少なくとも一つ以上の符号化パラメータと、前記画像に対する鍵とを用いて、夫々のタイルにおいて、夫々の階層レベルのビットストリームに対する鍵を生成すると共に、当該鍵を特定する情報を生成し、
更に、夫々の階層レベルのビットストリームに対する鍵と、当該鍵を特定する情報とを用いて夫々のタイルのビットストリームに対する鍵を生成すると共に、当該鍵を特定する情報を生成することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記階層レベルは、夫々のタイルにおける画像の解像度レベルであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記階層レベルは、夫々のタイルにおける画像の画質レベルであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項７】
前記階層レベルは、夫々のタイルにおける画像の空間的位置に関する情報であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項８】
前記階層レベルは、夫々のタイルにおける画像の輝度成分、或いは色成分であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項９】
更に、前記生成手段により生成される鍵が、全ての前記タイルのビットストリームにおいて、どのビットストリームに対するものであるかを示す関連情報を生成する関連情報生成手段を更に備えることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
更に、前記生成手段により生成された鍵を用いて、当該鍵に対応するビットストリームに対して暗号化を行う暗号化手段を備えることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
暗号化、符号化された画像に対する鍵と、当該画像を符号化する際に用いた符号化パラメータのうち、少なくとも一つ以上の符号化パラメータとを用いて、暗号復号する対象のビットストリームに対する鍵と、当該鍵を特定する情報とを生成する生成手段と、
当該生成手段により生成された鍵を用いて、当該鍵に対するビットストリームに対する暗号復号処理を行う暗号復号手段と、
当該暗号復号手段により暗号復号されたビットストリームを含む全てのビットストリームの復号処理を行い、画像データを得る復号手段と
を備えることを特徴とする情報処理装置。
【請求項１２】
画像を符号化することで得られる符号列を入力する入力手段と、
前記符号列に含まれる複数のビットストリームのうち、暗号化する対象のビットストリームを特定するための情報を生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項１３】
前記生成手段は、前記符号列において、暗号化対象のビットストリームの領域を示す情報を、前記暗号化する対象のビットストリームを特定するための情報として生成することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記生成手段は、前記符号列において、所定のサイズの領域毎に暗号化されているか否かを示す情報を、前記暗号化する対象のビットストリームを特定するための情報として生成することを特徴とする請求項１２に記載の情報処理装置。
【請求項１５】
更に、前記暗号化する対象のビットストリームを特定するための情報が示す暗号化対象のビットストリームに対して、１つの鍵を用いて暗号化処理を行う暗号化手段を備えることを特徴とする請求項１２乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
更に、前記ビットストリームは階層構造を有しており、夫々の階層レベルのビットストリームに対して異なる鍵で暗号化処理を行う暗号化手段を備え、前記暗号化する対象のビットストリームを特定するための情報は、夫々の階層レベルのビットストリームと、前記階層レベルのビットストリームに対応する鍵に関連する情報により構成されていることを特徴とする請求項１２乃至１４のいずれか１項に記載の情報処理装置。
【請求項１７】
画像を符号化することで得られる符号列内に、暗号化されたビットストリームを特定する情報が存在するか否かを判断する判断手段と、
前記暗号化されたビットストリームを特定するための情報が前記符号列内に存在する場合、当該情報に従って暗号化されたビットストリームを特定し、特定したビットストリームに対して暗号復号処理を行う暗号復号手段と
を備えることを特徴とする情報処理装置。
【請求項１８】
前記暗号復号手段は更に、前記暗号化されたビットストリームを特定する情報において、復号したビットストリームを示す情報を消去することを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
更に、前記暗号復号処理の後、前記復号したビットストリームを示す情報を消去した、暗号化する対象のビットストリームを特定するための情報を元に、暗号化されたビットストリームを特定し、特定したビットストリーム以外のビットストリームの画像復号を行う画像復号手段を備えることを特徴とする請求項１７又は１８に記載の情報処理装置。
【請求項２０】
画像を所定のサイズを有するタイル毎に符号化することで得られる、階層構造を有するタイル毎のビットストリームと、当該符号化を行う際に使用された符号化パラメータを入力する入力工程と、
前記符号化パラメータのうち少なくとも一つ以上の符号化パラメータと、前記画像に対する鍵とを用いて、夫々のタイルの夫々の階層レベルのビットストリームに対する鍵と、当該鍵を特定する情報を生成する生成工程と
を備えることを特徴とする情報処理方法。
【請求項２１】
更に、前記生成工程で生成される鍵が、全ての前記タイルのビットストリームにおいて、どのビットストリームに対するものであるかを示す関連情報を生成する関連情報生成工程を更に備えることを特徴とする請求項２０に記載の情報処理方法。
【請求項２２】
更に、前記生成工程で生成された鍵を用いて、当該鍵に対応するビットストリームに対して暗号化を行う暗号化工程を備えることを特徴とする請求項２０又は２１に記載の情報処理方法。
【請求項２３】
暗号化、符号化された画像に対する鍵と、当該画像を符号化する際に用いた符号化パラメータのうち、少なくとも一つ以上の符号化パラメータとを用いて、暗号復号する対象のビットストリームに対する鍵と、当該鍵を特定する情報とを生成する生成工程と、
当該生成工程で生成された鍵を用いて、当該鍵に対するビットストリームに対する暗号復号処理を行う暗号復号工程と、
当該暗号復号工程で暗号復号されたビットストリームを含む全てのビットストリームの復号処理を行い、画像データを得る復号工程と
を備えることを特徴とする情報処理方法。
【請求項２４】
画像を符号化することで得られる符号列を入力する入力工程と、
前記符号列に含まれる複数のビットストリームのうち、暗号化する対象のビットストリームを特定するための情報を生成する生成工程と
を備えることを特徴とする情報処理方法。
【請求項２５】
更に、前記暗号化する対象のビットストリームを特定するための情報が示す暗号化対象のビットストリームに対して、１つの鍵を用いて暗号化処理を行う暗号化工程を備えることを特徴とする請求項２４に記載の情報処理方法。
【請求項２６】
更に、前記ビットストリームは階層構造を有しており、夫々の階層レベルのビットストリームに対して異なる鍵で暗号化処理を行う暗号化工程を備え、前記暗号化する対象のビットストリームを特定するための情報は、夫々の階層レベルのビットストリームと、前記階層レベルのビットストリームに対応する鍵に関連する情報により構成されていることを特徴とする請求項２４又は２５に記載の情報処理方法。
【請求項２７】
画像を符号化することで得られる符号列内に、暗号化されたビットストリームを特定する情報が存在するか否かを判断する判断工程と、
前記暗号化されたビットストリームを特定するための情報が前記符号列内に存在する場合、当該情報に従って暗号化されたビットストリームを特定し、特定したビットストリームに対して暗号復号処理を行う暗号復号工程と
を備えることを特徴とする情報処理方法。
【請求項２８】
コンピュータを請求項１乃至１９のいずれか１項に記載の情報処理装置として機能させることを特徴とするプログラム。
【請求項２９】
コンピュータに請求項２０乃至２７のいずれか１項に記載の情報処理方法を実行させるためのプログラム。
【請求項３０】
請求項２８又は２９に記載のプログラムを格納する記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像に対して暗号化を行う情報処理装置、暗号化された画像に対する復号を行う情報処理装置、及び情報処理方法、プログラム、記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、画像データなどを秘匿して伝送するために、画像データ全体の暗号化やスクランブルなどが行なわれてきた。これは、予め画像データ全体を暗号鍵を用いて暗号化し、前記暗号鍵に対応する復号鍵を有するものだけが正しく復号することが可能であるようにする技術である。
【０００３】
特に、階層構造を有する画像データの場合、その階層構造に応じて画像データの再生を制御する目的で、階層構造毎に異なる暗号鍵を用いて暗号化処理が行われる。また、画像データが複数のタイルから構成され、タイル毎に再生を制御する目的で、タイル毎に異なる暗号鍵を用いて暗号化処理が行われる。更に、これらを合わせた場合として、複数のタイルから構成され、更に夫々のタイルが階層構造を有する画像データの場合、タイルと階層構造に応じた画像データの再生を制御する目的で、タイル中の階層構造毎に異なる暗号鍵を用いて暗号化処理が行われる。
【０００４】
【発明が解決しようとする課題】
上述の制御するタイル、及び階層構造毎に異なる暗号鍵を用いて暗号化することによりタイル、及び階層構造毎に画像データの再生を制御することが可能である。しかしながら、暗号化された画像データの所定のタイル、及び階層構造を復号処理するためには、暗号化処理に用いた暗号鍵をすべて管理し、復号処理の際に適当な復号鍵を供給する必要があった。
【０００５】
また、このように暗号化された画像データの所定のタイル、及び階層構造の再生を許可した場合、許可されていない画像データは暗号化されたままである。暗号化されたままの画像を再生した場合、ノイズ信号のように再生され、問題となる場合がある。
【０００６】
例えば、解像度に関する階層構造を有する画像データを低解像度成分と高解像度成分で異なる鍵を用いて暗号化処理を施し、解像度に応じた画像の再生制御を行う場合を考える。低解像度の画像の閲覧を許可し、高解像度の画像の閲覧を許可しない場合、低解像度成分に対応する鍵を用いて低解像度成分を復号し、高解像度成分は暗号化されたままにする。すると、再生される画像データは低解像度成分の画像データに、高解像度成分のノイズデータが多重化されたものとなり、低解像度の画像をノイズデータが多重化されることなく閲覧することはできなかった。
【０００７】
また、このようにタイル、及び階層構造毎に異なる暗号鍵を用いて暗号化した場合、暗号化された所定のタイル、及び階層構造と、それを復号するための復号鍵との対応付けをする手段がなかった。このため、正しく復号処理を行うことができない場合があった。同様に、画像データのタイルの一部、或いは階層構造の一部を暗号化した場合、暗号化されたタイル、及び階層構造と、暗号化されていないタイル、及び階層構造とを区別することが困難であり、正しく復号処理を行うことができない場合があった。
【０００８】
本発明は以上の問題に鑑みてなされたものであり、暗号化の際に用いる鍵の管理を容易にすることを目的とする。
【０００９】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【００１０】
すなわち、画像を所定のサイズを有するタイル毎に符号化することで得られる、階層構造を有するタイル毎のビットストリームと、当該符号化を行う際に使用された符号化パラメータを入力する入力手段と、
前記符号化パラメータのうち少なくとも一つ以上の符号化パラメータと、前記画像に対する鍵とを用いて、夫々のタイルの夫々の階層レベルのビットストリームに対する鍵と、当該鍵を特定する情報を生成する生成手段と
を備えることを特徴とする。
【００１１】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【００１２】
すなわち、暗号化、符号化された画像に対する鍵と、当該画像を符号化する際に用いた符号化パラメータのうち、少なくとも一つ以上の符号化パラメータとを用いて、暗号復号する対象のビットストリームに対する鍵と、当該鍵を特定する情報とを生成する生成手段と、
当該生成手段により生成された鍵を用いて、当該鍵に対するビットストリームに対する暗号復号処理を行う暗号復号手段と、
当該暗号復号手段により暗号復号されたビットストリームを含む全てのビットストリームの復号処理を行い、画像データを得る復号手段と
を備えることを特徴とする。
【００１３】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【００１４】
すなわち、画像を符号化することで得られる符号列を入力する入力手段と、
前記符号列に含まれる複数のビットストリームのうち、暗号化する対象のビットストリームを特定するための情報を生成する生成手段と
を備えることを特徴とする。
【００１５】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【００１６】
すなわち、画像を符号化することで得られる符号列内に、暗号化されたビットストリームを特定する情報が存在するか否かを判断する判断手段と、
前記暗号化されたビットストリームを特定するための情報が前記符号列内に存在する場合、当該情報に従って暗号化されたビットストリームを特定し、特定したビットストリームに対して暗号復号処理を行う暗号復号手段と
を備えることを特徴とする。
【００１７】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【００１８】
すなわち、画像を所定のサイズを有するタイル毎に符号化することで得られる、階層構造を有するタイル毎のビットストリームと、当該符号化を行う際に使用された符号化パラメータを入力する入力工程と、
前記符号化パラメータのうち少なくとも一つ以上の符号化パラメータと、前記画像に対する鍵とを用いて、夫々のタイルの夫々の階層レベルのビットストリームに対する鍵と、当該鍵を特定する情報を生成する生成工程と
を備えることを特徴とする。
【００１９】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【００２０】
すなわち、暗号化、符号化された画像に対する鍵と、当該画像を符号化する際に用いた符号化パラメータのうち、少なくとも一つ以上の符号化パラメータとを用いて、暗号復号する対象のビットストリームに対する鍵と、当該鍵を特定する情報とを生成する生成工程と、
当該生成工程で生成された鍵を用いて、当該鍵に対するビットストリームに対する暗号復号処理を行う暗号復号工程と、
当該暗号復号工程で暗号復号されたビットストリームを含む全てのビットストリームの復号処理を行い、画像データを得る復号工程と
を備えることを特徴とする。
【００２１】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【００２２】
すなわち、画像を符号化することで得られる符号列を入力する入力工程と、
前記符号列に含まれる複数のビットストリームのうち、暗号化する対象のビットストリームを特定するための情報を生成する生成工程と
を備えることを特徴とする。
【００２３】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【００２４】
すなわち、画像を符号化することで得られる符号列内に、暗号化されたビットストリームを特定する情報が存在するか否かを判断する判断工程と、
前記暗号化されたビットストリームを特定するための情報が前記符号列内に存在する場合、当該情報に従って暗号化されたビットストリームを特定し、特定したビットストリームに対して暗号復号処理を行う暗号復号工程と
を備えることを特徴とする。
【００２５】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２６】
［第１の実施形態］
以下、画像を暗号化する本実施形態に係る暗号化装置と、この暗号化装置により暗号化された画像を復号する復号装置について以下説明する。
【００２７】
＜暗号化装置＞
図１は、本実施形態に係る暗号化装置の概略の機能構成を示すブロック図である。同図に示すように、本実施形態に係る暗号化装置は、画像符号化部１１、鍵生成部１２、符号列暗号化処理部１３により構成されている。なお以下説明する暗号化処理は、この構成を備えるソフトウェア（コンピュータプログラム）をコンピュータに読み込ませ、このコンピュータにより実行させても良い。この場合、図１は、本実施形態に係る暗号化処理をコンピュータに実行させるためのプログラムの機能構成を示すブロック図となる。
【００２８】
図１に示す構成において、画像信号が画像符号化部１１に入力されると、画像符号化部１１は、この画像信号に対して後述の符号化処理を施し、符号化結果である符号列を符号列暗号化処理部１３に出力する。更に画像符号化部１１は、符号化処理の際に用いた符号化パラメータのうち、少なくとも一つ以上を鍵生成部１２に出力する。
【００２９】
次に、画像符号化部１１が行う符号化処理について更に詳細に説明する。図２は画像符号化部１１の機能構成を示すブロック図である。同図に示すように、本実施形態に係る画像符号化部１１は、画像入力部２１、タイル分割部２２、離散ウェーブレット変換部２３、量子化部２４、エントロピ符号化部２５、符号出力部２６により構成されている。
【００３０】
画像入力部２１には符号化対象となる画像を構成する画素信号がラスタ−スキャン順に入力され、その出力はタイル分割部２２に入力される。以降の説明では画像信号はモノクロの多値画像を表現しているが、カラー画像等、複数の色成分を符号化するならば、ＲＧＢ各色成分、或いは輝度、色度成分を上記単色成分として圧縮すればよい。
【００３１】
タイル分割部２２は、入力した画像信号を少なくとも一つ以上の所定のサイズを有するタイルに分割し、分割したタイルを出力するものである。ここで、タイルとは互いに重ならない矩形領域のことを示し、以降の処理はタイル毎に独立に実行される。
【００３２】
離散ウェーブレット変換部２３は、入力した画像信号に対して２次元の離散ウェーブレット変換処理を行い、変換係数を計算して出力するものである。図３（ａ）は離散ウェーブレット変換部２３の基本構成を示す図で、入力された画像信号はメモリ３１に記憶され、処理部３２により順次読み出されて変換処理が行われ、再びメモリ３１に書きこまれており、本実施形態においては、処理部３２における処理の構成は同図（ｂ）に示すものとする。同図において、入力された画像信号は遅延素子およびダウンサンプラの組み合わせにより、偶数アドレスおよび奇数アドレスの信号に分離され、２つのフィルタｐおよびｕによりフィルタ処理が施される。同図ｓおよびｄは、各々１次元の画像信号に対して１レベルの分解を行った際のローパス係数およびハイパス係数を表しており、次式により計算されるものとする。
【００３３】
ｄ（ｎ）＝ｘ（２ｎ＋１）−
ｆｌｏｏｒ（（ｘ（２ｎ）＋ｘ（２ｎ＋２））／２）　　（式１）
ｓ（ｎ）＝ｘ（２ｎ）＋
ｆｌｏｏｒ（（ｄ（ｎ−１）＋ｄ（ｎ））／４）　　　　（式２）
ただし、ｘ（ｎ）は変換対象となる画像信号である。以上の処理により、画像信号に対する１次元の離散ウェーブレット変換処理が行われる。２次元の離散ウェーブレット変換は、１次元の変換を画像の水平・垂直方向に対して順次行うものであり、その詳細は公知であるのでここでは説明を省略する。図３（ｃ）は２次元の変換処理により得られる２レベルの変換係数群の構成例を示す図で、画像信号は異なる周波数帯域の係数列ＨＨ１，ＨＬ１，ＬＨ１，…，ＬＬに分解される。なお、以降の説明ではこれらの係数列をサブバンドと呼ぶ。各サブバンドの係数は後続の量子化部２４に出力される。
【００３４】
量子化部２４は、入力した係数を所定の量子化ステップにより量子化し、その量子化値に対するインデックスを出力する。ここで、量子化は次式により行われる。
【００３５】
ｑ＝ｓｉｇｎ（ｃ）ｆｌｏｏｒ（ａｂｓ（ｃ）／Δ）　（式３）
ｓｉｇｎ（ｃ）＝　１；ｃ≧０　　　　　　　　　（式４）
ｓｉｇｎ（ｃ）＝−１；ｃ＜０　　　　　　　　　（式５）
ここで、ｃは量子化対象となる係数である。また、本実施形態においてはΔの値として１を含むものとする。この場合実際に量子化は行われず、量子化部２４に入力された変換係数はそのまま後続のエントロピ符号化部２５に出力される。
【００３６】
エントロピ符号化部２５は入力した量子化インデックスをビットプレーンに分解し、ビットプレーンを単位に２値算術符号化を行ってコードストリームを出力する。
【００３７】
図４はエントロピ符号化部２５の動作を説明する図であり、この例においては４ｘ４の大きさを持つコードブロック内の領域において非０の量子化インデックスが３個存在しており、それぞれ＋１３、−６、＋３の値を持っている。エントロピ符号化部２５はこの領域を走査して最大値Ｍを求め、次式により最大の量子化インデックスを表現するために必要なビット数Ｓを計算する。
【００３８】
Ｓ＝ｃｅｉｌ（ｌｏｇ２（ａｂｓ（Ｍ）））　　　　（式６）
ここでｃｅｉｌ（ｘ）はｘ以上の整数の中で最も小さい整数値を表す。図４においては、最大の係数値は１３であるのでＳは４であり、シーケンス中の１６個の量子化インデックスは同図右側に示すように４つのビットプレーンを単位として処理が行われる。最初にエントロピ符号化部４は最上位ビットプレーン（同図ＭＳＢで表す）の各ビットをエントロピ符号化（本実施形態では２値算術符号化）し、ビットストリームとして出力する。次にビットプレーンを１レベル下げ、以下同様に対象ビットプレーンが最下位ビットプレーン（同図ＬＳＢで表す）に至るまで、ビットプレーン内の各ビットを符号化し符号出力部２６に出力する。なお上記エントロピ符号化時において、各量子化インデックスの符号は、上位から下位へのビットプレーン走査において最初（最上位）に符号化されるべき非０ビットが検出されるとそのすぐ後に当該量子化インデックスの正負符号を示す１ビットを続けて２値算術符号化することとする。これにより、０以外の量子化インデックスの正負符号は効率良く符号化される。
【００３９】
以上説明した処理は全てのタイルに対して、繰り返し実行される。即ち、離散ウェーブレット変換部２３、量子化部２４、及びエントロピ符号化部２５における処理が夫々のタイルに対して実行される。
【００４０】
以上の符号化処理により生成された符号列は符号出力部２６に入力され、符号出力部２６は、この符号列を符号列暗号化処理部１３に出力する。また符号出力部２６は、上記符号化処理の際に用いた符号化パラメータ、例えば離散ウェーブレット変換のレベル、フィルタの種別等を鍵生成部１２に出力する。鍵生成部１２に入力された符号化パラメータを以下Ｐで表現する。
【００４１】
図５は、このようにして生成され、出力される符号列の構成を表した概略図である。同図（ａ）は符号列の全体の構成を示したものであり、ＭＨはメインヘッダ、ＴＨはタイルヘッダ、ＢＳはビットストリームである。メインヘッダＭＨは同図（ｂ）に示すように、符号化対象となる画像のサイズ（水平および垂直方向の画素数）、画像を複数の矩形領域であるタイルに分割した際に、このタイルのサイズ、各色成分数を表すコンポーネント数、各成分の大きさ、ビット精度を表すコンポーネント情報から構成されている。
【００４２】
次にタイルヘッダＴＨの構成を図５（ｃ）に示す。タイルヘッダＴＨにはタイルのビットストリーム長とヘッダ長を含めたタイル長およびタイルに対する符号化パラメータから構成される。符号化パラメータには離散ウェーブレット変換のレベル、フィルタの種別等が含まれている。本実施形態における各タイルのビットストリームＢＳの構成を同図（ｄ）に示す。同図において、ビットストリームは各サブバンド毎にまとめられ、解像度の小さいサブバンドを先頭として順次解像度が高くなる順番に配置されている。さらに、各サブバンド内は上位ビットプレーン（ＭＳＢ）から下位ビットプレーン（ＬＳＢ）に向かい、ビットプレーンを単位として符号が配列されている。上記符号配列とすることにより、後述する図２３に示す様な、解像度に対応した階層的復号化を行うことが可能となる。
【００４３】
次に、鍵生成部１２が行う処理について更に詳細に説明する。鍵生成部１２には上述の通り符号出力部２６から符号化パラメータのいくつかが入力され、鍵生成部１２は入力された符号化パラメータを用いて少なくとも１つ以上の鍵を生成し、符号列暗号化処理部１３に出力する。
【００４４】
鍵生成部１２が行う鍵生成処理のフローチャートを図６に示すと共に、同図を用いて同処理について説明する。
【００４５】
まず、符号出力部２６から出力される符号列において、各タイルのビットストリームを複数のビットストリームに分割する（ステップＳ７０）。ステップＳ７０における分割の例を図７に示す。図７は、３つのタイル（夫々Ｔ０１，Ｔ０２，Ｔ０３で表現される）の夫々で異なる分割の例を示す図である。
【００４６】
同図において８１はタイルＴ０１を構成するビットストリームを３つのビットストリームＢＳ０３，ＢＳ０２，ＢＳ０１に分割した例である。本実施形態ではビットストリームは解像度に応じた階層構造を有することから、各ビットストリームＢＳ０３，ＢＳ０２，ＢＳ０１は夫々、タイルＴ０１を構成するビットストリームに含まれる各サブバンドのビットストリームを３つに分割した夫々のビットストリームに相当する（例えばビットストリームＢＳ０３にはＬＬサブバンドのビットストリーム，ビットストリームＢＳ０２にはＨＬ２，ＬＨ２，ＨＨ２サブバンドのビットストリーム，ビットストリームＢＳ０１にはＨＬ１，ＬＨ１，ＨＨ１サブバンドのビットストリームが含まれる）。
【００４７】
よって、ＢＳ０３を復号すると低解像度の画像を再生することができ、次にＢＳ０２を復号すると解像度がより向上した画像を再生することができ、最後にＢＳ０１まで復号すると最高解像度の画像を再生することができる。ここで、ＢＳの後に続く数字は解像度インデックスを表す数字である。
【００４８】
同図における８２はタイルＴ０２を構成するビットストリームを、Ｔ０１と同様に３つのビットストリームに分割するが、異なる分割の仕方を用いた例である。更に、同図における８３はタイルＴ０３を２つのビットストリームに分割した例である。以上、説明したように、タイル毎に独立にビットストリームの分割方法を設定することが可能である。以上説明した分割処理は、利用者が明示的に指定しても良いし、予め決められている分割数などを用いて自動的に指定しても良い。
【００４９】
図７に戻って、上記各タイルのビットストリームの分割処理が終了すると、画像鍵Ｋ＿Ｉを生成する（ステップＳ７１）。画像鍵Ｋ＿Ｉとは１つの画像に対して唯一存在する鍵である。よって、本実施形態では画像鍵Ｋ＿Ｉは、画像入力部２１に入力された符号化対象の画像に対する鍵である。生成された画像鍵Ｋ＿Ｉは、同ステップで生成された鍵ＩＤと共に保存される。鍵ＩＤとは画像鍵Ｋ＿Ｉを示すインデックスである。鍵ＩＤの詳細については後述する。
【００５０】
次に、画像鍵Ｋ＿Ｉから符号化パラメータＰを用いてビットストリーム鍵Ｋ＿ＢＳを生成する（ステップＳ７１）。例えば、以下の式（７）に従って生成する。
【００５１】
Ｋ＿ＢＳ＝Ｈ（Ｋ＿Ｉ　｜｜　Ｐ）　　　（式７）
ここで、Ｈ（・）は、一方向性、及び衝突耐性を有する関数であり、例えば、ハッシュ関数ＤＥＳなどの暗号化処理などが適用可能である。ハッシュ関数、ＤＥＳなどの暗号化処理については公知の技術であるので詳細な説明は省略する。生成されたビットストリーム鍵Ｋ＿ＢＳは、同ステップで生成された鍵ＩＤと共に保存される。また、Ａ　｜｜　Ｂは、ＡとＢの結合を表す。
【００５２】
次に、変数ｉを１に初期化する（ステップＳ７３）。変数ｉはタイルを示すインデックスである。次に、ビットストリーム鍵Ｋ＿ＢＳからタイルに関する情報を用いてタイルＴｉの鍵Ｋ＿Ｔｉを生成する（ステップＳ７４）。例えば、タイルに関する情報としてタイルインデックスｉを用いた場合には、以下の式（８）に従って生成する。
【００５３】
Ｋ＿Ｔｉ＝Ｈ（Ｋ＿ＢＳ　｜｜　ｉ）　　　（式８）
タイルに関する情報としてはタイルのインデックスに限定されるものではなく、他にも例えばタイルの左上の座標値を用いることも可能である。生成されたタイル鍵Ｋ＿Ｔｉは、同ステップで生成された鍵ＩＤと共に保存される。
【００５４】
次に、変数ｊを１に初期化する（ステップＳ７５）。変数ｊは前述した分割された各ビットストリームを示す解像度インデックスである。ｊが小さいほど高解像度であり、ｊが大きいほど低解像度であることを示す。
【００５５】
そして次に、タイルＴｉにおいて、分割された夫々の解像度を示すビットストリームに対する鍵を生成する（ステップＳ７６）。より具体的には、タイルＴｉの鍵Ｋ＿Ｔｉから解像度ｊの鍵Ｋ＿ＴｉＳｊを生成する、例えば以下の式に従って生成する。
【００５６】
ｊ＝１なら、Ｋ＿ＴｉＳｊ＝Ｋ＿Ｔｉ
ｊ≠１なら、Ｋ＿ＴｉＳｊ＝Ｈ（Ｋ＿ＴｉＳｊ−１）　（式１０）
生成された解像度鍵Ｋ＿ＴｉＳｊは、同ステップで生成された鍵ＩＤと共に保存される。
【００５７】
次に、変数ｊの値が変数Ｎ＿ｉよりも大きいか否かを判定する（ステップＳ７７）。ここでパラメータＮ＿ｉはタイルＴ＿ｉを構成するビットストリームの分割数である。即ち、タイルＴ＿ｉを構成する全ての（分割された）ビットストリームに対応する解像度鍵Ｋ＿ＴｉＳｊが生成されたか否かが判定される。判定結果が真なら処理をステップＳ７８に進め、変数ｊに１を加算し、更新した変数ｊを用いてステップＳ７６における上記処理を実行する。一方、ステップＳ７７における判定結果が偽なら処理をステップＳ７９に進め、更に、変数ｉがパラメータＭよりも大きいかどうかが判定される。ここで、パラメータＭはタイルの総数である。即ち、全てのタイルに対応するタイル鍵Ｋ＿Ｔｉが生成されたか否かが判定される。判定結果が真なら処理をステップＳ７１０に進め、変数ｉに１を加算し、更新した変数ｉを用いてステップＳ７４以降の上記処理を実行する。
【００５８】
次に、上記鍵ＩＤについて説明する。鍵ＩＤとは上述の通り、鍵を示すインデックスであり、鍵とペアとなるものである。鍵ＩＤの生成方法の一例を図８を用いて説明する。図８は鍵ＩＤの生成方法の一例を説明する図である。図８に示すように、本実施形態における鍵ＩＤは、前半がタイルインデックス、後半が解像度インデックスとなるように構成されている。例えば、タイルインデックス（ｉ）が”０１”、解像度インデックス（ｊ）が”０２”である場合、鍵ＩＤは”０１０２”となる。
【００５９】
鍵ＩＤと鍵は関連つけられており、鍵ＩＤを参照することにより、対応する鍵がどのタイルのどの解像度を復号するためのものかを特定することが可能である。特に、画像鍵Ｋ＿ＩＭＧの鍵ＩＤを”００００”、ビットストリーム鍵Ｋ＿ＢＳの鍵ＩＤを”０００１”、各タイル鍵の鍵ＩＤを”０１００”、”０２００”、”０３００”、．．．などとすることも可能である。解像度インデックス、及びタイルインデックスは１以上の整数であることから、鍵ＩＤが重なって使用されることはない。
【００６０】
以上説明した方法で作られた鍵、及び鍵ＩＤについて、図９を用いて説明する。図９は、画像が４枚のタイルから構成され、タイル０１は３つの解像度レベル、タイル０２は２つの解像度レベル、タイル０３は３つの解像度レベル、タイル０４は４つの解像度レベルから構成される場合に、夫々のタイル、そして夫々のタイルの夫々の解像度レベルに対する鍵、及び鍵ＩＤの例を示す図である。
【００６１】
上記ステップＳ７１では、画像鍵Ｋ＿ＩＭＧ、及びその鍵ＩＤ”００００”が生成される。そして上位ステップＳ７２では、ビットストリーム鍵Ｋ＿ＢＳ、及びその鍵ＩＤ”０００１”が生成される。そしてステップＳ７４では、タイル鍵Ｋ＿Ｔ１、及びその鍵ＩＤ”０１００”、タイル鍵Ｋ＿Ｔ２、及びその鍵ＩＤ”０２００”、タイル鍵Ｋ＿Ｔ３、及びその鍵ＩＤ”０３００”、タイル鍵Ｋ＿Ｔ４、及びその鍵ＩＤ”０４００”が夫々生成される。次に、ステップＳ７６では、各タイルの各解像度について解像度鍵、及びその鍵ＩＤが生成される。タイル１を例にとると、解像度鍵Ｋ＿Ｔ１Ｓ１，及びその鍵ＩＤ”０１０１”、解像度鍵Ｋ＿Ｔ１Ｓ２，及びその鍵ＩＤ”０１０２”、解像度鍵Ｋ＿Ｔ１Ｓ３，及びその鍵ＩＤ”０１０３”が生成される。
【００６２】
また、実際には、タイル鍵と各タイルにおける最高解像度の解像度鍵（例えば、タイル０の場合、Ｋ＿Ｔ１とＫ＿Ｔ１Ｓ１）は等しいため、タイル鍵、或いは最高解像度の解像度鍵を省略することも可能である。更に、本実施形態においては、説明のために鍵と鍵ＩＤを分けて説明したが、実際には本実施形態における鍵と鍵ＩＤのペアを、復号のために必要な鍵として取り扱うことも可能である。
【００６３】
以上説明した鍵ＩＤは、鍵ＩＤに対応する鍵が、どのタイル、及び解像度レベルを暗号化した鍵であるかを特定するために用いられる。しかしながら、ビットストリーム中のどの部分が、該当するタイル、及び解像度レベルであるかということは、鍵ＩＤから知ることはできない。そこで、「鍵ＩＤに対応するタイル、及び解像度レベルがビットストリーム中でどの部分に該当するか」という情報を記録するためのＩＤ参照表を用いる必要がある。以下では、ＩＤ参照表について説明する。
【００６４】
図１０は、本実施形態に係るＩＤ参照表の構成例を示す図である。同図のＩＤ参照表には、夫々の鍵ＩＤに対応するタイル情報、及び解像度レベル情報が登録されている。ＩＤ参照表を用いることにより、例えば、「鍵ＩＤ”０２０２”を有する鍵は、画像において座標（６４，０）に位置するタイルを構成するビットストリームにおいて、先頭からのオフセットが”１２”で、レングスが”９”の区間を暗号化するための鍵」と知ることが可能である。図１０に示したようなＩＤ参照表は図７を用いて説明した鍵生成処理の過程で、鍵、及び鍵ＩＤが生成される度に記録され、生成されるものである。
【００６５】
尚、本実施形態ではタイル情報としてタイルの座標、解像度レベル情報としてオフセットとレングスを用いているが、これに限定されることなく、タイル、及び解像度レベルを特定可能な種々のパラメータを用いることが可能であることは明らかである。更に、タイル情報、及び解像度レベル情報を用いずとも、ビットストリーム中の特定の区間を示すような情報を記録するようにしても良い。
【００６６】
以上説明した処理を用いて生成されたＩＤ参照表は安全な方法で後述する復号装置に送信する必要がある。例えば、暗号化、或いは署名をして符号列中に含めたりするようにすることが可能である。これは、もしＩＤ参照表が改竄されていたりした場合などに、正しく復号処理を実行することができないことによるものである。
【００６７】
更に、必ずしも図９に示すような鍵、及び鍵ＩＤの全てを保存して安全に復号装置に送信する必要はない。すなわち、図９に示す鍵のうち、画像鍵Ｋ＿ＩＭＧだけは安全に保存しするようにする。そして、復号の際には、復号を許可するビットストリームに対応する鍵を画像鍵Ｋ＿ＩＭＧから生成し、生成した鍵だけを安全に送るようにすれば良い。こうすることにより、画像データについてひとつの鍵だけを安全に保存、及び管理すればよく、管理や効率の観点において有効的である。復号するための鍵の生成の詳細については後述する。
【００６８】
次に、符号列暗号化処理部１３が行う処理について説明する。符号列暗号化処理部１３には、符号列、及び前段の鍵生成処理で生成された鍵、及びＩＤ参照表が入力され、鍵、及びＩＤ参照表を用いて符号列に対して暗号化処理を行い、暗号化処理された符号列を出力する。具体的には、暗号化対象のビットストリームが符号列のどの部分に存在するかを、暗号化対象のビットストリームに対応する鍵ＩＤとＩＤ参照表とを用いて特定し、特定した位置に存在するビットストリームを暗号化する。例えば、鍵ＩＤ”０１０２”とペアの鍵を用いて、タイル１の解像度レベル２に対応するビットストリームを暗号化するようにする。ただし、符号列暗号化処理部１３においては、画像鍵Ｋ＿ＩＭＧ、及びビットストリーム鍵Ｋ＿ＢＳ，及びタイル鍵は使用されない。即ち、解像度鍵を用いて暗号化処理を実行する。
【００６９】
尚、符号列暗号化処理部１３においては、必ずしも全てのタイル、及び解像度レベルが暗号化される必要はない。例えば、全てのタイルにおいて最低解像度の画像は暗号化しないことや、あるタイルだけは全ての解像度について暗号化しないようにすることも可能である。
【００７０】
更に、前述したように、暗号化処理に用いられたＩＤ参照表は安全に復号装置に送信するために、暗号化処理を施したり、署名処理を施する。暗号化処理、或いは署名処理を施されたＩＤ参照表は符号列中に含めたりし、ＬＡＮやインターネット等のネットワークを介して復号装置に送信される。
【００７１】
以上、本実施形態における暗号化装置の構成について説明した。尚、本実施形態においては、鍵生成部１２と符号列暗号化処理部１３を分けるようにした構成としたが、鍵生成部１２と符号列暗号化処理部１３を１つの構成とするようにすることも可能である。この場合、各解像度鍵が生成される度に、暗号化処理を実行するようにする。即ち、上記ステップＳ７６において解像度鍵の生成と同時に、暗号化処理が実行されるようにしてもよい。
【００７２】
＜復号装置（復号システム）＞
図１１は、本実施形態に係る復号装置（復号システム）の機能構成を示すブロック図である。同図に示すように、本実施形態に係る復号装置は、第１の鍵生成部１２１、ネットワーク部１２２、第２の鍵生成部１２３、符号列復号部１２４、画像復号部１２５により構成されている。なお、ネットワーク部１２２は省略することも可能で、その場合、第１の鍵生成部１２１、第２の鍵生成部１２３、符号列復号部１２４、画像復号部１２５により構成される。なお以下説明する復号処理は、この構成を備えるソフトウェア（コンピュータプログラム）をコンピュータに読み込ませ、このコンピュータにより実行させても良い。この場合、図１１は、本実施形態に係る復号処理をコンピュータに実行させるためのプログラムの機能構成を示すブロック図となる。
【００７３】
まずはじめに、第１の鍵生成部１２１が行う処理について説明する。第１の鍵生成部１２１には、画像鍵Ｋ＿ＩＭＧ、及び符号化パラメータＰが入力され、入力された符号化パラメータＰを用いて、後述する符号列復号部１２４で復号する対象のビットストリームに対応する鍵、及び鍵ＩＤを生成し、出力する。第１の鍵生成部１２１で実行される第１の鍵生成処理は、図６を用いて説明した鍵生成処理と基本的には同様である。
【００７４】
しかしながら、第１の鍵生成部１２１においては、図６を用いて説明した鍵生成のように必ずしも全ての鍵、及び鍵ＩＤを生成する必要はなく、後述する符号列復号部１２４で暗号復号すべきビットストリームに対応する鍵、及び鍵ＩＤだけを生成すればよい。
【００７５】
例えば、画像全体を復号する場合には、入力された画像鍵Ｋ＿ＩＭＧからビットストリーム鍵Ｋ＿ＢＳ、及びその鍵ＩＤを生成して、生成されたビットストリーム鍵Ｋ＿ＢＳ、及び鍵ＩＤだけを出力するようにする。また、特定のタイルだけを復号する場合には、入力された画像鍵Ｋ＿ＩＭＧからビットストリーム鍵Ｋ＿ＢＳを生成して、更に生成されたビットストリーム鍵Ｋ＿ＢＳから、特定のタイルに対応するタイル鍵を生成して、生成されたタイル鍵、及びその鍵ＩＤだけを出力するようにする。更に、特定のタイルのある解像度レベルだけを復号する場合には、入力された画像鍵Ｋ＿ＩＭＧからビットストリーム鍵Ｋ＿ＢＳを生成し、生成されたビットストリーム鍵から、特定のタイルに対応するタイル鍵を生成し、更に生成されたタイル鍵から解像度レベルに対応する解像度鍵を生成して、生成された解像度鍵、及びその鍵ＩＤだけを出力するようにする。
【００７６】
以上説明したように、第１の鍵生成部１２１を用いて、復号するビットストリームに対応する鍵、及び鍵ＩＤを生成し、生成した鍵、及び鍵ＩＤはネットワーク部１２２を介して後段の第２の鍵生成部１２３に（ネットワーク部１２２を省略する場合、直接第２の鍵生成部１２３に）安全に送信されなければならない。
【００７７】
次に、第２の鍵生成部１２３が行う処理について説明する。第２の鍵生成部１２３には、前述した第１の鍵生成部から出力された鍵、及び鍵ＩＤが入力され、入力された鍵、及び鍵ＩＤから、後述する符号列復号部１２４で復号されるビットストリームに対応する復号鍵が生成され、生成された復号鍵が出力される。ここで、復号鍵は複数個である場合もある。第２の鍵生成部１２３で実行される第２の鍵生成処理は、図６を用いて説明した鍵生成処理と基本的には同様である。しかしながら、第２の鍵生成部１２３においては、図６を用いて説明した鍵生成のように、画像鍵Ｋ＿ＩＭＧを起点としてその他の鍵、及び鍵ＩＤが生成されるのではなく、第２の鍵生成部１２３に入力された鍵、及び鍵ＩＤを起点として、その他の鍵、及び鍵ＩＤが生成される。
【００７８】
ここで、図１２を用いて第２の鍵生成処理についての詳細な説明をする。図１２は、第２の鍵生成部１２３の機能構成を示すブロック図である。同図において、第２の鍵生成部１２３は、判定部１３１と、演算部１３２により構成されている。
【００７９】
判定部１３１は、入力された鍵ＩＤを用いて、どの鍵を生成可能かを判定する。鍵ＩＤが”００００”である場合、これは画像鍵Ｋ＿ＩＭＧであることがわかる。画像鍵Ｋ＿ＩＭＧからは全ての鍵（ビットストリーム鍵、全てのタイル鍵、及び全ての解像度鍵）を生成することが可能である。鍵ＩＤが”００００”である場合を、「ケースＡ」と呼ぶことにする。
【００８０】
鍵ＩＤの前半が”００”である場合、これはビットストリーム鍵Ｋ＿ＢＳであることがわかる。ビットストリーム鍵Ｋ＿ＢＳからは、全てのタイル鍵、及び全ての解像度鍵を生成することが可能である。鍵ＩＤの前半が”００”である場合を、「ケースＢ」と呼ぶことにする。
【００８１】
鍵ＩＤの後半が”００”である場合、これはタイル鍵であることがわかる。タイル鍵からは、該当するタイルに含まれるビットストリームの全ての解像度鍵を生成することが可能である。鍵ＩＤの後半が”００”である場合を、「ケースＣ」と呼ぶことにする。
【００８２】
鍵ＩＤに”００”が含まれない場合、これはあるタイルのある解像度レベルの解像度鍵であることがわかる。あるレベルのある解像度レベルの解像度鍵からは、その鍵が有する解像度レベルよりも低解像度の鍵を生成することが可能である。鍵ＩＤに”００”が含まれない場合を、「ケースＤ」と呼ぶことにする。
【００８３】
次に、演算部１３２は、判定された結果に基づいて、入力された鍵に対して上記演算を行うことで、生成可能な鍵を生成する。
【００８４】
例えば、ケースＡの場合、図６に示した方法において、ステップＳ７２以降と同様の方式で鍵が生成される。ケースＢの場合、図６に示した方法において、ステップＳ７３以降と同様の方式で鍵が生成される。ケースＣの場合、図６に示した方法において、ステップＳ７５〜ステップＳ７８と同様の方式で鍵が生成される。ケースＤの場合、ステップＳ７５において、ｊの初期値を入力された鍵ＩＤに含まれる解像度インデックスと等しい値となるようにした上で、ステップＳ７５〜ステップＳ７８と同様の方式で鍵が生成される。
【００８５】
以上説明したように、第１の鍵生成部から入力された鍵ＩＤを用いて、第１の鍵生成部から入力された鍵から生成可能な鍵を判定し、判定された結果に基づいて演算処理することにより復号に使用される鍵、及び鍵ＩＤを生成することが可能となる。
【００８６】
次に、符号列復号部１２４が行う処理について説明する。符号列復号部１２４には、第２の鍵生成部により生成された鍵、及び暗号化された符号列が入力され、鍵を用いて符号列に対して暗号復号処理を行う。暗号復号処理の際には、前述したＩＤ参照表を参照しながら処理を行う。即ち、入力された鍵に対応する鍵ＩＤを参照し、鍵がビットストリーム中のどの箇所を暗号化しているかを調べ、鍵に対応するビットストリームを暗号復号処理するようにする。
【００８７】
ここで、ＩＤ参照表は符号列中に含まれてたり、安全な通信路を用いて復号装置の符号列復号部１２４に入力される。ＩＤ参照表が暗号化処理されている場合には、復号処理を実行する必要がある。また、ＩＤ参照表が署名処理されている場合には、検証処理を実行する必要がある。そして検証処理が正しく終了した場合に暗号復号処理を実行するようにする。
【００８８】
次に、画像復号部１２５が行う処理について説明する。画像復号部１２５には、前段の符号列復号部１２４において暗号復号処理された符号列が入力され、入力された符号列に対して画像復号処理を行い、復元された画像データが出力される。
【００８９】
図２０は、画像復号部１２５の機能構成を示すブロック図である。画像復号部１２４は、符号入力部２１１、タイル分割部２１６、エントロピ復号部２１２、逆量子化部２１３、逆離散ウェーブレット変換部２１４、画像出力部２１５により構成されている。
【００９０】
暗号復号された符号列は符号入力部２１１に入力され、符号入力部２１１は符号列に含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、あるいは後続の処理ユニットに対して該当するパラメータを送出するものである。また、符号列に含まれるビットストリームはタイル分割部２１６に出力される。
【００９１】
タイル分割部２１６は、入力したビットストリームをタイルに相当する複数のビットストリームに分割し、分割したビットストリームを出力するものである。タイル分割処理は、メインヘッダ、及びタイルヘッダなどを参照することにより実行する。タイル分割処理されたそれぞれのビットストリームはエントロピ復号部２１２に出力される。なお、以降の処理はタイル分割処理されたビットストリーム毎に独立に実行される。
【００９２】
エントロピ復号部２１２はビットストリームをビットプレーン単位で復号化し、出力する。この時の復号手順を図２１に示す。図２１は復号対象となるサブバンドの一領域をビットプレーン単位で順次復号化し、最終的に量子化インデックスを復元する流れを図示したものであり、同図の矢印の順にビットプレーンが復号化される。復元された量子化インデックスは逆量子化部２１３に出力される。
【００９３】
逆量子化部２１３は入力した量子化インデックスから、次式に基づいて離散ウェーブレット変換係数を復元する。
【００９４】
ｃ’＝Δ×ｑ　；　ｑ≠０　　（式１１）
ｃ’＝　　０　；　ｑ＝０　　（式１２）
ここで、ｑは量子化インデックス、Δは量子化ステップであり、Δは符号化時に用いられたものと同じ値である。ｃ’は復元された変換係数であり、符号化時ではｓまたはｄで表される係数を復元したものである。変換係数ｃ’は後続の逆離散ウェーブレット変換部２１４に出力される。
【００９５】
図２２は逆離散ウェーブレット変換部２１４の構成および処理を示すブロック図である。同図（ａ）において、入力された変換係数はメモリ２３１に記憶される。処理部２３２は１次元の逆離散ウェーブレット変換を行い、メモリ２３１から順次変換係数を読み出して処理を行うことで、２次元の逆離散ウェーブレット変換を実行する。２次元の逆離散ウェーブレット変換は、順変換と逆の手順により実行されるが、詳細は公知であるので説明を省略する。また同図（ｂ）は処理部２３２の処理ブロックを示したものであり、入力された変換係数はｕおよびｐの２つのフィルタ処理を施され、アップサンプリングされた後に重ね合わされて画像信号ｘ’が出力される。これらの処理は次式により行われる。
【００９６】
ｘ’（２ｎ）＝ｓ’（ｎ）−
ｆｌｏｏｒ（（ｄ’（ｎ−１）＋ｄ’（ｎ））／４）　　（式１３）
ｘ’（２ｎ＋１）＝ｄ’（ｎ）＋
ｆｌｏｏｒ（（ｘ’（２ｎ）＋ｘ’（２ｎ＋２））／２）　（式１４）
ここで、（式１）、（式２）、および（式１３）、（式１４）による順方向および逆方向の離散ウェーブレット変換は完全再構成条件を満たしている。よって、本実施形態では量子化ステップΔを１としているので、ビットプレーン復号化において全てのビットプレーンを復号すると、復元された画像信号ｘ’は原画像の信号ｘと一致する。
【００９７】
以上の処理により画像が復元されて画像出力部２１５に出力される。画像出力部２１５はモニタ等の画像表示装置であってもよいし、あるいは磁気ディスク等の記憶装置であってもよい。
【００９８】
以上述べた手順により画像を復元表示した際の、画像の表示形態について図２３を用いて説明する。同図（ａ）は符号列の例を示す図で、基本的な構成は図５示す構成に基づいている。また、画像は複数のタイルから構成されているので、符号列中には複数のタイルヘッダおよびビットストリームが含まれている。ビットストリームＢＳ０には同図に示すように、最も低い解像度に対応するサブバンドであるＬＬから順次解像度が高くなる順に符号が配置されている。
【００９９】
画像復号部１２５はこのビットストリームを順次読みこみ、各サブバンドに対応する符号を復号した時点で画像を表示する。同図（ｂ）は各サブバンドと表示されるタイルの大きさの対応を示した図である。この例では２次元の離散ウェーブレット変換が２レベルであり、ＬＬのみを復号・表示した場合はタイル全体に対して画素数が水平および垂直方向に１／４縮小された画像が復元される。更にビットストリームを読み込み、レベル２のサブバンド全てを復号して表示した場合は、画素数が各方向に１／２に縮小された画像が復元され、レベル１のサブバンド全てが復号されれば、タイル全体と同じ画素数の画像が復元される。
【０１００】
尚、本実施形態に係る暗号化装置に入力されるデータは画像信号（画像符号化されていない）であったが、これに限定されることなく、既に画像符号化された符号列が入力されても良い。この場合の暗号化装置の機能構成は、図１における画像符号化部１１を省略するような構成とすれば良い。
【０１０１】
以上、説明した処理により、画像のタイル、及び解像度に応じた暗号化処理、及び暗号復号処理を実行することが可能である。よって本実施形態を用い、画像の管理者が許可したタイル、及び解像度に対応した鍵を閲覧者に送信することによって、タイル、及び解像度に応じたアクセス制御を実現することが可能である。更に、本実施形態においては、タイル、及び解像度に応じた全ての鍵を管理者が管理する必要がなく、一つの画像鍵（或いは、ビットストリーム鍵）を管理すればよく、鍵の管理を容易にすることができる。
【０１０２】
なお、本実施形態では各タイルのビットストリームの構成として図５（ｄ）に示した構成を用いた。これは本実施形態では分割したそれぞれのビットストリームがそれぞれ異なる解像度を有するようにするためであるが、分割したそれぞれのビットストリームがそれぞれ異なる画質を有するようにするしてもよい。この場合、ビットストリームの構成を図２５に示すように、ビットプレーン毎に上位ビットプレーンから下位ビットプレーン順に並べられ、更に各ビットプレーン内に、各サブバンドのビットストリームが含まれるようにすればよい。
【０１０３】
また、各タイル毎のビットストリーム内にビットプレーン毎のビットストリームを構成し、更に、各ビットプレーン毎のビットストリーム内にサブバンド毎のビットストリームを構成することで、画像の空間的な位置による階層構造を実現することができる。
【０１０４】
またこのほかにも、画像の輝度成分、或いは色成分による階層構造を実現することもできる。
【０１０５】
［第２の実施形態］
第１の実施形態においては、タイル優先として鍵生成を行った。即ち、復号時にタイル鍵を使用することにより、そのタイルの全ての解像度レベルを復号可能とするような構成であった。しかしながら、これに限定されることなく、解像度優先として鍵生成を行うことも可能である。即ち、復号時に解像度鍵を使用することにより、その解像度レベルで全てのタイルを復号可能とする構成である。よって、解像度優先として鍵生成を行う処理について以下、説明する。
【０１０６】
なお、本実施形態に係る暗号化装置、復号装置の機能構成は第１の実施形態と同じものを用いるとする。図１３は本実施形態に係る鍵生成部１２が行う鍵生成処理のフローチャートである。
【０１０７】
ステップＳ１４０からステップＳ１４３までの各ステップにおける処理は、上記ステップＳ７０からステップＳ７３までの各ステップの処理と同じであるため、その説明を省略する。
【０１０８】
ステップＳ１４０からステップＳ１４３までの処理によって、画像鍵と鍵ＩＤ、ビットストリーム鍵と鍵ＩＤが生成されると共に、変数ｉが１に初期化される。次に、ビットストリーム鍵Ｋ＿ＢＳから解像度ｉの鍵Ｋ＿Ｓｉが生成される（ステップＳ１４４）。例えば、以下錦に従って生成される。
【０１０９】
ｉ＝１なら、Ｋ＿Ｓｉ＝Ｋ＿ＢＳ
ｉ≠１なら、Ｋ＿Ｓｉ＝Ｈ（Ｋ＿Ｓｉ−１）　　（式１５）
生成された解像度鍵Ｋ＿Ｓｊは、鍵ＩＤと共に保存される。次に、変数ｊが１に初期化される（ステップＳ１４５）。変数ｊはタイルを示すインデックスである。次に、解像度Ｓｉの鍵Ｋ＿Ｓｉからタイルｊの鍵Ｋ＿ＴｊＳｉが生成される（ステップＳ１４６）。例えば、以下の式に従って生成される。
【０１１０】
Ｋ＿ＴｊＳｉ＝Ｈ（Ｋ＿Ｓｉ　｜｜　ｊ）　　（式１６）
生成されたタイル鍵Ｋ＿ＴｊＳｉは、同ステップで生成される鍵ＩＤと共に保存される。次に、変数ｊがパラメータＭ＿ｉよりも大きいか否かを判定する（ステップＳ１４７）。ここでパラメータＭ＿ｉはタイルの総数である。即ち、解像度Ｓｉの全てのタイルに対応するタイル鍵Ｋ＿ＴｊＳｉが生成されたか否かを判定する。判定結果が真なら処理をステップＳ１４８に進め、変数ｊに１を加算し（ステップＳ１４８）、上記ステップＳ１４６における処理を実行する。一方、ステップＳ１４７における判定処理の結果が偽なら処理をステップＳ１４９に進め、変数ｉがパラメータＮよりも大きいか否かを判定する（ステップＳ１４９）。ここで、パラメータＮは解像度レベルの数である。即ち、全ての解像度レベルに対応する解像度鍵Ｋ＿Ｓｉが生成されたか否かを判定する。判定結果が真なら処理をステップＳＳ１４１０に進め、上記ステップＳ１４４以降の処理を実行する。一方、判定結果が偽なら処理を終了する。
【０１１１】
以上説明した処理によって生成された鍵、及び鍵ＩＤの集合について、図２４を用いて説明する。図２４は、画像が４枚のタイルから構成され、夫々のタイルは３つの解像度レベルを有している例を示している。
【０１１２】
まず、ステップＳ１４１で画像鍵Ｋ＿ＩＭＧ、及びその鍵ＩＤ”００００”が生成される。次に、ステップＳ１４２でビットストリーム鍵Ｋ＿ＢＳ，及びその鍵ＩＤ”０００１”が生成される。次に、ステップＳ１４４で解像度鍵Ｋ＿Ｓ１，及びその鍵ＩＤ”０００１”、解像度鍵Ｋ＿Ｓ２，及びその鍵ＩＤ”０００２”、解像度鍵Ｋ＿Ｓ３，及びその鍵ＩＤ”０００３”が生成される。実際には、ビットストリーム鍵Ｋ＿ＢＳと最高解像度の解像度鍵Ｋ＿Ｓ１は等しいため、ビットストリーム鍵、或いは最高解像度の解像度鍵Ｋ＿Ｓ１は省略することも可能である。
【０１１３】
次に、ステップＳ１４６で各解像度レベルにおける各タイルのタイル鍵、及びその鍵ＩＤが生成される。解像度レベル１を例にすると、タイル鍵Ｋ＿Ｔ１Ｓ１、及びその鍵ＩＤ”０１０１”、解像度鍵Ｋ＿Ｔ２Ｓ１、及びその鍵ＩＤ”０２０１”、解像度鍵Ｋ＿Ｔ３Ｓ１、及びその鍵ＩＤ”０３０１”、解像度鍵Ｋ＿Ｔ４Ｓ１、及びその鍵ＩＤ”０４０１”が生成される。
【０１１４】
以上説明した鍵生成処理を第１の実施形態による鍵生成処理の代わりに適用した場合に生成される符号列を復号装置に入力することで、解像度を優先した画像の復号を行うことが可能である。例えば、すべてのタイルに関して最低周波数レベルの解像度で復号をする場合には、第１の鍵生成部においてＫ＿Ｓ３、及びその鍵ＩＤ”０００３”を生成し、第２の鍵生成部に送信するようにすればよい。
【０１１５】
また、本実施形態においてもビットストリームの構成は図５（ｄ）に示すものだけでなく、図２５に示す構成を用いても良い。
【０１１６】
［第３の実施形態］
第１の実施形態では、符号列のタイル毎、或いは解像度レベル毎に異なる鍵を用いて暗号化処理を実行していた。このように処理することにより、解像度レベル毎の復号制御や、タイル毎の復号制御などを行うことが可能となる。しかしながらこれに限定されることなく、符号列中の所定のビットストリームをひとつの暗号化鍵で暗号化するようにすることも可能である。
【０１１７】
ここで符号列中の所定のビットストリームとは、所定のタイルに相当するビットストリームや、所定のサブバンドに相当するビットストリームや、所定のビットプレーン（或いは、いくつかのビットプレーンの集合であるレイヤ）などのことである。例えば、所定のタイルに相当するビットストリームだけを暗号化することにより、画像の空間的な位置に対する復号の制御を行うことが可能となる。また、所定のサブバンドに相当するビットストリームだけを暗号化することにより、画像の周波数的な成分に対する復号の制御を行うことが可能となる。更に、所定のビットプレーン（或いは、いくつかのビットプレーンの集合であるレイヤー）だけを暗号化することにより、画像の画質に対する復号の制御を行うことが可能となる。
【０１１８】
以上説明したようにひとつの鍵を用いて、符号列中の所定のビットストリームだけを暗号化した場合、複数の鍵を用いる必要はないが、復号時に符号列中のビットストリームが暗号化されているか否かを示すための情報を必要とする。このための情報として、図１０に示したようなＩＤ参照表を変形させて用いることが可能である。本実施形態では、符号列中の暗号化されているビットストリームを示す情報を暗号化マップと呼ぶ。以下、暗号化マップについて図１４を用いて説明する。
【０１１９】
図１４（ａ）は起点を０，終点を１３５とする符号列において、暗号化された所定のビットストリーム（網点部分）を示す図である。また図１４（ｂ）は、暗号化されたビットストリーム（図１４（ａ）に示すビットストリーム）の上記符号列における所在を示す暗号化マップの例を示す図である。同図（ｂ）に示すように、本実施形態に係る暗号化マップは、符号列の先頭からのオフセットと、暗号化されているビットストリームのレングスから構成されており、暗号化マップによって指定された区間が暗号化されているビットストリームであると判断可能である。
【０１２０】
同図（ｃ）に別の暗号化マップの例を示す。同図（ｃ）に示すように、暗号化されているビットストリームの起点と終点を示すように構成することも可能である。なお、この暗号化マップは上記符号列に含る。
【０１２１】
以上説明した暗号化マップを用いた暗号化処理、及び復号処理について説明する。まず、本実施形態における暗号化処理について説明する。本実施形態における暗号化処理は、図１に示した構成を備える暗号化装置により行われる。但し、本実施形態では、鍵生成部１２は必ずしも必要ではなく、省略可能である。また、画像符号化部１１が行う処理は、第１の実施形態において説明した方式と同様であるので説明は省略する。以下、符号列暗号化部１３が行う処理について同処理のフローチャートを示す図１５を用いて説明する。
【０１２２】
まず、符号列中に暗号化マップが既に存在するか否かを判定する（ステップＳ１６１）。暗号化マップが既に存在する場合（真）には、処理を終了する。即ち、符号列は既に暗号化されているため暗号化処理は実行しない。一方、暗号化マップが存在しない場合（偽）には、処理をステップＳ１６２に進める。また、ステップＳ１６１においては、暗号化マップが暗号化されている場合には復号処理を行う。更に、暗号マップが署名されている場合には署名の検証処理を行う。例えば、暗号化マップが存在したとしても、署名が正しく検証されなかった場合には、処理を終了する。
【０１２３】
一方、ステップＳ１６２では、符号列中で暗号化する所定のビットストリームを決定して、決定した内容に基づき暗号化マップを生成し、保存する（ステップＳ１６２）。尚、暗号化する所定のビットストリームは利用者により明示的に指定されても良いし、予め決められたビットストリームを自動的に選択するようにしても良い。次に、生成された暗号化マップに基づき、符号列中の所定のビットストリームを暗号化する（ステップＳ１６３）。
【０１２４】
以上、説明したような処理により、二重暗号化を防止して暗号化マップを生成し、更に暗号化処理を行うことが可能となる。
【０１２５】
次に、本実施形態における復号処理について説明する。本実施形態における復号処理は、図１１に示した構成を備える復号装置により行われる。但し、本実施形態では、第１の鍵生成部１２１、ネットワーク部１２２、及び第２の鍵生成部１２３は必ずしも必要ではなく、省略可能である。また、画像復号処理部１２５が行う処理は、第１の実施形態において説明した方式と同様であるので説明は省略する。以下、符号列復号部１２４が行う処理について同処理のフローチャートを示す図１６を用いて説明する。
【０１２６】
まず、符号列中に暗号化マップが既に存在するか否かを判定する（ステップＳ１７１）。暗号化マップが存在しない場合（偽）には、処理を終了する。即ち、符号列は暗号化処理されていないために暗号復号処理は実行しない。一方、暗号マップが存在する場合（真）には、処理をステップＳ１７２に進める。また、ステップＳ１７１では暗号化マップが暗号化されている場合には、復号処理を行う。更に、暗号化マップが署名されている場合には、署名の検証処理を行う。例えば、暗号マップが存在していたとしても、署名が正しく検証されなかった場合には、処理を終了する。
【０１２７】
次にステップＳ１７２では、変数ｉを０に初期化する。変数ｉは暗号化マップの一つの暗号化ビットストリームを示すインデックスである。例えば、前述した図１４では、ｉ＝０は同図（ａ）における「オフセット”０”、レングス”３０”」の区間もしくは同図（ｂ）における「始点”０”、終点”６０”」の区間に対応する。
【０１２８】
次に、変数ｉで示されるビットストリームに対する暗号化処理を行う（ステップＳ１７３）。そして、暗号化マップ中の変数ｉで示されるビットストリームのレコードを消去する（ステップＳ１７４）。ただし、前述したステップＳ１７３において、正しい鍵を使用しなかったりしたことなどの原因により暗号復号処理が正しくしなかった場合には、このビットストリームのレコードを消去しないようにすることも可能である。
【０１２９】
次に、変数ｉの値が変数Ａの値よりも大きいか否かを判定する（ステップＳ１７５）。ここで変数Ａは、符号列中で暗号化されているビットストリームの総数である。例えば、図１４（ａ）に示した例では”３”である。即ち、ステップＳ１７５では、すべてのビットストリームが暗号復号処理されたか否かが判定される。真の場合には処理をステップＳ１７６に進め、変数ｉに１を加算し、上記ステップＳ１７３以降の処理を実行する。一方、偽の場合には処理を終了する。
【０１３０】
以上、説明したような処理により、二重復号を防止して暗号復号処理を行うことが可能となる。
【０１３１】
尚、暗号化マップを効率的に記録、或いは伝送するために圧縮処理を施しても良い。更に、本実施形態に示した暗号化マップを使用した場合にも、第２の実施形態に示したような方式を用いて、復号処理の際に、暗号化されているビットストリームは画像復号処理をしないようにすることが可能であることは明らかである。
【０１３２】
また上記暗号化処理では、第１，２の実施形態のように、夫々異なる複数の鍵を用いて、夫々の鍵を符号列中の様々なビットストリーム（例えば夫々の階層レベルにおけるビットストリーム）を暗号化してもよい。
【０１３３】
［第４の実施形態］
第３の実施形態においては、暗号化マップとして所定のビットストリームを特定する例について説明した。しかしながらこれに限定されることなく、符号列を構成する最小処理単位毎に、暗号化されているか否かを記録するように暗号化マップを生成してもよい。ここで、符号列を構成する最小処理単位をパケットと呼ぶ。本実施形態における暗号化マップについて図１７を用いて説明する。
【０１３４】
図１７（ａ）において、１８１は符号列の一部を示しており、一つの矩形は一つのパケットを示している。また網掛けされているパケットは暗号化されていることを示している。また図１７（ｂ）において、１８２は、符号列１８１に対応する暗号化マップの一例を示している。図１７（ａ）、（ｂ）に示すように、１８２の一つの矩形は夫々一つのパケットに対応しており、それぞれビット値が割り当てられている。ここで、パケットが暗号化されている場合にはビット値”１”が、パケットが暗号化されていない場合には”０”を割り当てるようにしている。
【０１３５】
図１７（ｂ）に示したような暗号化マップは、第３の実施形態の暗号化マップと同様に、暗号化処理の際に生成される。そして、復号処理の際に、暗号化マップのビット値”１”に対応するパケットを暗号復号処理するようにすることにより、正しく画像を再生することが可能となる。暗号復号処理を実行したパケットは”１”を”０”に変更するようにすることにより二重暗号化、或いは二重復号を防止することが可能となる。
【０１３６】
また、本実施形態においても、暗号化装置から復号装置へ暗号化マップを安全に送信する必要がある。このために、暗号化装置において暗号化マップを暗号化し、復号装置において復号処理するようにすればよい。或いは、暗号化装置において暗号化マップを暗号化し、復号装置において検証処理するようにしてもよい。
【０１３７】
尚、暗号化マップを効率的に記録、或いは伝送するために圧縮処理を施しても良い。更に、本実施形態に示した暗号化マップを使用した場合にも、第２の実施形態に示したような方式を用いて、復号処理の際に、暗号化されているパケットは画像復号処理をしないようにすることが可能であることは明らかである。
【０１３８】
［第５の実施形態］
以上説明した実施形態においては、暗号復号処理の際に、ＩＤ参照表（或いは暗号化マップ）を参照しながら処理を行った。この際に、暗号復号処理を完了した部分に関しては、対応するＩＤ参照表（或いは暗号化マップ）の該当する箇所を消去するようにしても良かった。このように消去することによって、ＩＤ参照表（或いは暗号化マップ）に記録されている箇所は暗号化されており、一方でＩＤ参照表（或いは暗号化マップ）に記録されていない箇所は暗号化されていないことを、ＩＤ参照表（或いは暗号化マップ）を調べるだけで知ることが可能となる。
【０１３９】
なお、このような処理は、ＩＤ参照表（或いは暗号化マップ）が、暗号化装置から安全に復号装置に送信された場合に実行可能である。よって、ＩＤ参照表（或いは暗号化マップ）は暗号化装置において暗号化され、復号装置に送信するようにしなければならない。或いは、ＩＤ参照表（或いは暗号化マップ）に署名処理を施し、暗号復号部に送信するようにしてもよい。
【０１４０】
以上説明した処理により、既に暗号復号処理を施した箇所に対してもう一度暗号復号処理を実行するようなこと（二重復号）を防止することが可能となる。二重復号をすることによって、正しい鍵を有しているにもかかわらず、正しい画像を復号することができないなど動作が生じ問題であることがあり、前述したようような二重復号の防止をする技術は有益である。同様に、既に暗号化処理を施した箇所に対してもう一度暗号化処理を実行するようなこと（二重暗号化）を防止することも可能である。
【０１４１】
また、復号処理するための鍵を有していない箇所（復号処理することができない箇所）に関しては、後述する画像復号処理部における処理を行わないようにすることも可能となる。もし、暗号復号処理されていないビットストリームを画像復号処理すると、生成される画像信号はスクランブル画像となり、スクランブル画像から画像の内容を知ることは困難である。特に、あるタイルの低解像度に相当するビットストリームに関しては正しく暗号復号処理されており、同じタイルの高解像度に相当するビットストリームに関しては暗号復号処理が施されていない場合、このタイルは低周波成分を有する画像信号に高周波成分のノイズ信号が多重されて復号されることになる。このことは、「低解像度の画像をきれいに（ノイズがないように）閲覧する」といった使い方をする場合に問題となる場合があり、前述したような暗号化されているビットストリームの画像復号処理をしない技術は有益である。
【０１４２】
図１８は本実施形態に係る復号装置（復号システム）の機能構成を示すブロック図である。同図に示す復号装置（復号システム）は、第１の鍵生成部１９１、ネットワーク部１９２、第２の鍵生成部１９３、符号列復号部１９４，制御部１９５、画像復号部１９６により構成されている。なお、ネットワーク部１９２は省略することも可能で、その場合、第１の鍵生成部１９１、第２の鍵生成部１９３、符号列復号部１９４、制御部１９５、画像復号部１９６により構成される。なお、同図において、第１の鍵生成部１９１、ネットワーク部１９２、第２の鍵生成部１９３、符号列復号処理部１９４、及び画像復号部１９６は、図１１に示した第１の鍵生成部１２１、ネットワーク部１２２、第２の鍵生成部１２３、符号列復号部１２４、画像復号部１２５と同様の動作をするので説明は省略する。以下では、制御部１９５について説明する。
【０１４３】
図１９は本実施形態に係る制御部１９５の機能構成を示すブロック図である。同図に示すように、制御部１９５は、判定部２０１、出力部２０２により構成されている。
【０１４４】
判定部２０１は、ＩＤ参照表、或いは暗号化マップが入力され、ＩＤ参照表、或いは暗号化マップを用いて暗号化されているビットストリーム、或いはパケットが判定され、判定されたビットストリーム、或いはパケットに関する情報が出力される。判定部２０１は、ＩＤ参照表、或いは暗号化マップが暗号化されている場合には、復号処理を行う。或いは、ＩＤ参照表、或いは暗号化マップに署名処理が施されている場合には、署名の検証処理を行う。署名が正しく検証されなかった場合には、処理を終了する。
【０１４５】
ＩＤ参照表を用いる場合、本実施形態では、前段の符号列復号部１９４において、暗号復号処理が施されたビットストリームに対応するＩＤ参照表のレコードを消去することで、ＩＤ参照表に記録されているビットストリームが暗号化されているビットストリームであると判定可能である。
【０１４６】
また、暗号化マップを用いる場合、本実施形態では、前段の符号列復号部１９４において、暗号復号処理が施されたパケットに対応するビットは”０”となっていることから、暗号化マップ中で値が”１”となっているビットに対応するパケットが暗号化されていると判定可能である。
【０１４７】
出力部２０２では、前段で判定された（暗号化された）ビットストリーム、或いはパケットに関する情報が入力され、入力されたビットストリーム、或いはパケットに関する情報に従って、符号列全体のうち暗号化されていないビットストリーム、或いはパケットだけが出力される。
【０１４８】
以上説明したように、ＩＤ参照表、或いは暗号化マップを用いて、ビットストリーム、或いはパケットが暗号化されているか否かを判定し、暗号化されていないビットストリーム、或いはパケットだけを復号するようにすることによって、ノイズがなく、許可された画像を閲覧することが可能となる。
【０１４９】
［そのほかの実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１５０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５２】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【０１５３】
【発明の効果】
以上説明したように、本発明によって、暗号化の際に用いる鍵の管理を容易にすることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る暗号化装置の概略の機能構成を示すブロック図である。
【図２】画像符号化部１１の機能構成を示すブロック図である。
【図３】（ａ）は離散ウェーブレット変換部２３の基本構成を示す図、（ｂ）は処理部３２における処理の構成を示す図、（ｃ）は２次元の変換処理により得られる２レベルの変換係数群の構成例を示す図である。
【図４】エントロピ符号化部２５の動作を説明する図である。
【図５】符号列の構成を表した概略図である。
【図６】本発明の第１の実施形態に係る鍵生成部１２が行う鍵生成処理のフローチャートである。
【図７】３つのタイル（夫々Ｔ０１，Ｔ０２，Ｔ０３で表現される）の夫々で異なる分割の例を示す図である。
【図８】鍵ＩＤの生成方法の一例を説明する図である。
【図９】画像が４枚のタイルから構成され、タイル０１は３つの解像度レベル、タイル０２は２つの解像度レベル、タイル０３は３つの解像度レベル、タイル０４は４つの解像度レベルから構成される場合に、夫々のタイル、そして夫々のタイルの夫々の解像度レベルに対する鍵、及び鍵ＩＤの例を示す図である。
【図１０】本発明の第１の実施形態に係るＩＤ参照表の構成例を示す図である。
【図１１】本発明の第１の実施形態に係る復号装置（復号システム）の機能構成を示すブロック図である。
【図１２】本発明の第１の実施形態に係る第２の鍵生成部１２３の機能構成を示すブロック図である。
【図１３】本発明の第２の実施形態に係る鍵生成部１２が行う鍵生成処理のフローチャートである。
【図１４】（ａ）は起点を０，終点を１３５とする符号列において、暗号化された所定のビットストリーム（網点部分）を示す図、（ｂ）は、暗号化されたビットストリーム（図１４（ａ）に示すビットストリーム）の上記符号列における所在を示す暗号化マップの例を示す図、（ｃ）は別の暗号化マップの例を示す図である。
【図１５】本発明の第３の実施形態係る符号列暗号化部１３が行う処理のフローチャートである。
【図１６】本発明の第３の実施形態に係る符号列復号部１２４が行う処理のフローチャートである。
【図１７】（ａ）は符号化されたビットストリームを含む符号列の一例を示す図で、（ｂ）は（ａ）の符号列に対する暗号化マップの一例を示す図である。
【図１８】本発明の第５の実施形態に係る復号装置（復号システム）の機能構成を示すブロック図である。
【図１９】本発明の第５の実施形態に係る制御部１９５の機能構成を示すブロック図である。
【図２０】本発明の第１の実施形態に係る画像復号部１２５の機能構成を示すブロック図である。
【図２１】復号対象となるサブバンドの一領域をビットプレーン単位で順次復号化し、最終的に量子化インデックスを復元する流れを示す図である。
【図２２】逆離散ウェーブレット変換部２１４の構成および処理のブロック図である。
【図２３】（ａ）は符号列の例を示す図、（ｂ）は各サブバンドと表示されるタイルの大きさの対応を示した図である。
【図２４】画像が４枚のタイルから構成され、夫々のタイルは３つの解像度レベルを有している例を示している。
【図２５】ビットプレーン毎に上位ビットプレーンから下位ビットプレーン順に並べられ、更に各ビットプレーン内に、各サブバンドのビットストリームが含まれるような符号列の構成を示す図である。
【図１】
2004040248.tif 000003
【図２】
2004040248.tif 000004
【図３】
2004040248.tif 000005
【図４】
2004040248.tif 000006
【図５】
2004040248.tif 000007
【図６】
2004040248.tif 000008
【図７】
2004040248.tif 000009
【図８】
2004040248.tif 000010
【図９】
2004040248.tif 000011
【図１０】
2004040248.tif 000012
【図１１】
2004040248.tif 000013
【図１２】
2004040248.tif 000014
【図１３】
2004040248.tif 000015
【図１４】
2004040248.tif 000016
【図１５】
2004040248.tif 000017
【図１６】
2004040248.tif 000018
【図１７】
2004040248.tif 000019
【図１８】
2004040248.tif 000020
【図１９】
2004040248.tif 000021
【図２０】
2004040248.tif 000022
【図２１】
2004040248.tif 000023
【図２２】
2004040248.tif 000024
【図２３】
2004040248.tif 000025
【図２４】
2004040248.tif 000026
【図２５】
2004040248.tif 000027