(57)【要約】【課題】圧縮符号化データ、特に、ウェーブレット変換を利用したＪＰＥＧ２０００による圧縮符号化処理の所望とする処理段階に暗号化を設定できるようになると共に、暗号化がなされたデータストリーム、もしくはデータの構造は、非暗号化の圧縮符号化データと同じ構造を維持できるようにする。【解決手段】ウェーブレット変換手段を用いて圧縮符号化された符号化画像データを暗号化するとき、符号化する際の一連の各処理段階中のいずれの段階が指定されたのかを判定する（Ｓ８１）。そして、その判定した段階となるまで、符号化画像データを復号し（Ｓ８３）、その復号したデータを暗号化する（Ｓ８４）。このあと、暗号化して得たデータを、判定された段階に後続する処理段階を行わせる（Ｓ８５）ことで暗号化され、尚且つ、圧縮符号化された画像データを生成・出力する（Ｓ８７）。【選択図】  図８
2005026970.tif 000002
【特許請求の範囲】
【請求項１】
ウェーブレット変換手段を用いて圧縮符号化された符号化画像データを暗号化する画像暗号化方法であって、
符号化する際の一連の各処理段階中の何れかの段階を指定する指定工程と、
該指定工程で指定された段階で処理出力されたデータ形式となるまで、符号化画像データを復号する復号工程と、
該復号工程により復号したデータを暗号化する暗号化工程と、
該暗号化工程で暗号化して得たデータを、前記指定工程で指定された段階に後続する処理段階を行わせるともに、符号化データ中の所定領域に、暗号化を行った段階を特定する情報を格納し、出力する符号化工程と
を備えることを特徴とする画像暗号化方法。
【請求項２】
前記指定工程は複数段階を指定可能とすることを特徴とする請求項１に記載の画像暗号化方法。
【請求項３】
ウェーブレット変換手段を用いて圧縮符号化された符号化画像データを暗号化する画像暗号化装置であって、
符号化する際の一連の各処理段階中の何れかの段階を指定する指定手段と、
該指定手段で指定された段階で処理出力されたデータとなるまで、符号化画像データを復号する復号手段と、
該復号手段により復号したデータを暗号化する暗号化手段と、
該暗号化手段で暗号化して得たデータを、前記指定手段で指定された段階に後続する処理段階を行わせるともに、符号化データ中の所定領域に暗号化を行った段階を特定する情報を格納し、出力する符号化手段と
を備えることを特徴とする画像暗号化装置。
【請求項４】
コンピュータが読み込み実行することで、ウェーブレット変換手段を用いて圧縮符号化された符号化画像データを暗号化する画像暗号化装置として機能するコンピュータプログラムであって、
符号化する際の一連の各処理段階中の何れかの段階を指定する指定手段と、
該指定手段で指定された段階で処理出力されたデータとなるまで、符号化画像データを復号する復号手段と、
該復号手段により復号したデータを暗号化する暗号化手段と、
該暗号化手段で暗号化して得たデータを、前記指定手段で指定された段階に後続する処理段階を行わせるともに、符号化データ中の所定領域に暗号化を行った段階を特定する情報を格納し、出力する符号化手段と
して機能することを特徴とするコンピュータプログラム。
【請求項５】
請求項４に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項６】
複数段階の処理を経て圧縮符号化された画像データを暗号化する画像暗号化方法であって、
複数の暗号化工程と、
ここで、それぞれの暗号化工程は、圧縮符号化する際の、異なる符号化
段階まで遡って復号処理し、当該段階での復号処理結果のデータを暗号化
し、遡った段階だけ再符号化処理を行って再圧縮符号化する；
暗号化工程を指定する指定工程と、
該指定工程で指定された暗号化工程を用いて圧縮符号化された画像データを暗号化すると共に圧縮符号化データ中の所定領域に、前記指定工程で指定した暗号化工程を特定する情報を格納し、出力する制御工程と
を備えることを特徴とする画像暗号化方法。
【請求項７】
複数段階の処理を経て圧縮符号化された画像データを暗号化する画像暗号化装置であって、
複数の暗号化手段と、
ここで、それぞれの暗号化手段は、圧縮符号化する際の、異なる符号化
段階まで遡って復号処理し、当該段階での復号処理結果のデータを暗号化
し、遡った段階だけ再符号化処理を行って再圧縮符号化する；
暗号化手段を指定する指定手段と、
該指定手段で指定された暗号化手段を用いて圧縮符号化された画像データを暗号化すると共に圧縮符号化データ中の所定領域に、前記指定手段で指定した暗号化手段を特定する情報を格納し、出力する制御手段と
を備えることを特徴とする画像暗号化装置。
【請求項８】
コンピュータが読み込み実行することで、複数段階の処理を経て圧縮符号化された画像データを暗号化する画像暗号化装置として機能するコンピュータプログラムであって、
複数の暗号化手段と、
ここで、それぞれの暗号化手段は、圧縮符号化する際の、異なる符号化
段階まで遡って復号処理し、当該段階での復号処理結果のデータを暗号化
し、遡った段階だけ再符号化処理を行って再圧縮符号化する；
暗号化手段を指定する指定手段と、
該指定手段で指定された暗号化手段を用いて圧縮符号化された画像データを暗号化すると共に圧縮符号化データ中の所定領域に、前記指定手段で指定した暗号化手段を特定する情報を格納し、出力する制御手段
として機能するコンピュータプログラム。
【請求項９】
更に、前記指定手段で指定された暗号化手段が前記複数の暗号化手段中に存在するか否かを判断する判断手段と、
該判断手段で前記指定手段で指定された暗号化手段が存在しないと判断した場合、前記指定された暗号化手段に相当するコンピュータプログラムを取得し、登録する手段と
して機能することを特徴とする請求項８に記載のコンピュータプログラム。
【請求項１０】
個々の暗号化手段を構成するコンピュータプログラムは、パーツプログラムを複数個パイプライン接続した構造を有し、
各暗号化手段で共通な部分処理についてはパーツプログラムを共有することを特徴とする請求項８又は９に記載のコンピュータプログラム。
【請求項１１】
請求項８乃至１０のいずれか１つの記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項１２】
画像データを複数の処理段階を経て圧縮符号化すると共に暗号化する画像暗号化方法であって、
前記複数の処理段階のいずれの段階でのデータに対して暗号化を行うかを指定する指定工程と、
該指定工程で指定された段階まで圧縮符号化に関する処理を行い、当該段階で生成されたデータを暗号化する暗号化工程と、
該暗号化工程で暗号化したデータに対して、後続する処理段階を継続させることで、暗号化及び圧縮符号化データを生成すると共に、当該符号化データ中の所定領域に暗号化を行った段階を特定する情報を格納し、出力する制御工程と
を備えることを特徴とする画像暗号化方法。
【請求項１３】
画像データを複数の処理段階を経て圧縮符号化すると共に暗号化する画像暗号化装置であって、
前記複数の処理段階のいずれの段階でのデータに対して暗号化を行うかを指定する指定手段と、
該指定手段で指定された段階まで圧縮符号化に関する処理を行い、当該段階で生成されたデータを暗号化する暗号化手段と、
該暗号化手段で暗号化したデータに対して、後続する処理段階を継続させることで、暗号化及び圧縮符号化データを生成すると共に、当該符号化データ中の所定領域に暗号化を行った段階を特定する情報を格納し、出力する制御手段と
を備えることを特徴とする画像暗号化装置。
【請求項１４】
コンピュータが読み込み実行することで、画像データを複数の処理段階を経て圧縮符号化すると共に暗号化する画像暗号化装置として機能するコンピュータプログラムであって、
前記複数の処理段階のいずれの段階でのデータに対して暗号化を行うかを指定する指定手段と、
該指定手段で指定された段階まで圧縮符号化に関する処理を行い、当該段階で生成されたデータを暗号化する暗号化手段と、
該暗号化手段で暗号化したデータに対して、後続する処理段階を継続させることで、暗号化及び圧縮符号化データを生成すると共に、当該符号化データ中の所定領域に暗号化を行った段階を特定する情報を格納し、出力する制御手段
として機能することを特徴とするコンピュータプログラム。
【請求項１５】
請求項１４に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項１６】
暗号化及び圧縮符号化された画像データの暗号化を解除する暗号復号方法であって、
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、符号化処理のどの段階で暗号化されたのかを判定する判定工程と、
該判定工程で判定した段階にまで遡って復号処理を行う復号工程と、
該復号工程で復号して得たデータに対し、暗号復号を行う暗号復号工程と、
該暗号復号工程で復号したデータを、注目段階以降の段階の圧縮符号化を行うことで暗号復号した圧縮符号化データを生成する工程と
を備えることを特徴とする暗号復号方法。
【請求項１７】
暗号化及び圧縮符号化された画像データの暗号化を解除する暗号復号装置であって、
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、符号化処理のどの段階で暗号化されたのかを判定する判定手段と、
該判定手段で判定した段階にまで遡って復号処理を行う復号手段と、
該復号手段で復号して得たデータに対し、暗号復号を行う暗号復号手段と、
該暗号復号手段で復号したデータを、注目段階以降の段階の圧縮符号化を行うことで暗号復号した圧縮符号化データを生成する手段と
を備えることを特徴とする暗号復号装置。
【請求項１８】
コンピュータが読み込み実行することで、暗号化及び圧縮符号化された画像データの暗号化を解除する暗号復号装置として機能するコンピュータプログラムであって、
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、符号化処理のどの段階で暗号化されたのかを判定する判定手段と、
該判定手段で判定した段階にまで遡って復号処理を行う復号手段と、
該復号手段で復号して得たデータに対し、暗号復号を行う暗号復号手段と、
該暗号復号手段で復号したデータを、注目段階以降の段階の圧縮符号化を行うことで暗号復号した圧縮符号化データを生成する手段
として機能することを特徴とするコンピュータプログラム。
【請求項１９】
請求項１８に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項２０】
暗号化及び圧縮符号化された画像データの暗号化を解除する画像暗号復号方法であって、
複数の暗号復号工程と、
ここで、それぞれの暗号復号工程は、圧縮符号化する際の、異なる符号
化段階まで遡って復号処理し、当該段階での復号処理結果のデータの暗号
復号し、遡った段階だけ再符号化処理を行って再圧縮符号化する；
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、必要となる暗号復号工程を判定する判定工程と、
該判定工程で判定された暗号復号工程を用いて暗号化を解除した圧縮符号化画像データを出力する制御工程と
を備えることを特徴とする画像暗号復号方法。
【請求項２１】
暗号化及び圧縮符号化された画像データの暗号化を解除する画像暗号復号装置であって、
複数の暗号復号手段と、
ここで、それぞれの暗号復号工程は、圧縮符号化する際の、異なる符号
化段階まで遡って復号処理し、当該段階での復号処理結果のデータの暗号
復号し、遡った段階だけ再符号化処理を行って再圧縮符号化する；
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、必要となる暗号復号手段を判定する判定手段と、
該判定手段で判定された暗号復号手段を用いて暗号化を解除した圧縮符号化画像データを出力する制御手段と
を備えることを特徴とする画像暗号復号装置。
【請求項２２】
コンピュータが読み込み実行することで、暗号化及び圧縮符号化された画像データの暗号化を解除する暗号復号装置として機能するコンピュータプログラムであって、
複数の暗号復号手段と、
ここで、それぞれの暗号復号工程は、圧縮符号化する際の、異なる符号
化段階まで遡って復号処理し、当該段階での復号処理結果のデータの暗号
復号し、遡った段階だけ再符号化処理を行って再圧縮符号化する；
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、必要となる暗号復号手段を判定する判定手段と、
該判定手段で判定された暗号復号手段を用いて暗号化を解除した圧縮符号化画像データを出力する制御手段
として機能することを特徴とするコンピュータプログラム。
【請求項２３】
更に、前記判定手段で判定された暗号復号手段が前記複数の暗号復号手段中に存在するか否かを判断する判断手段と、
該判断手段で前記判定手段で判定された暗号復号手段が存在しないと判断した場合、前記判定された暗号復号手段に相当するコンピュータプログラムを取得し、登録する手段と
して機能することを特徴とする請求項２２に記載のコンピュータプログラム。
【請求項２４】
個々の暗号復号手段を構成するコンピュータプログラムは、パーツプログラムを複数個パイプライン接続した構造を有し、
各暗号復号手段で共通な部分処理についてはパーツプログラムを共有することを特徴とする請求項２２又は２３に記載のコンピュータプログラム。
【請求項２５】
更に、前記判定手段で判定された暗号復号手段が前記複数の暗号復号手段中に存在するか否かを判断する判断手段と、
該判断手段で前記判定手段で判定した暗号復号手段が存在しないと判断した場合、所定の外部装置に前記判定手段で判定された暗号復号手段に相当する処理を要求するため、前記圧縮画像データを送信し、暗号復号後のデータを受信し、出力する手段と
して機能することを特徴とする請求項２２に記載のコンピュータプログラム。
【請求項２６】
請求項２２乃至２５のいずれか１項に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項２７】
暗号化され、圧縮符号化された画像データの暗号化及び圧縮符号化を復号する画像復号方法であって、
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、圧縮符号化を行う際のどの処理段階で暗号化されているかを判定する判定工程と、
該判定工程で判定された段階まで圧縮符号化に対応する復号処理を行い、当該段階で生成されたデータの暗号化を復号する暗号復号工程と、
該暗号復号工程で暗号復号したデータに対して、後続する処理段階を継続させることで、復号画像データを生成する制御工程と
を備えることを特徴とする画像復号方法。
【請求項２８】
暗号化され、圧縮符号化された画像データの暗号化及び圧縮符号化を復号する画像復号装置であって、
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、圧縮符号化を行う際のどの処理段階で暗号化されているかを判定する判定手段と、
該判定手段で判定された段階まで圧縮符号化に対応する復号処理を行い、当該段階で生成されたデータの暗号化を復号する暗号復号手段と、
該暗号復号手段で暗号復号したデータに対して、後続する処理段階を継続させることで、復号画像データを生成する制御手段と
を備えることを特徴とする画像復号装置。
【請求項２９】
コンピュータが読み込み実行することで、暗号化され、圧縮符号化された画像データの暗号化及び圧縮符号化を復号する画像復号装置として機能するコンピュータプログラムであって、
入力した暗号化及び圧縮符号化された画像データの所定領域の情報を解析することで、圧縮符号化を行う際のどの処理段階で暗号化されているかを判定する判定手段と、
該判定手段で判定された段階まで圧縮符号化に対応する復号処理を行い、当該段階で生成されたデータの暗号化を復号する暗号復号手段と、
該暗号復号手段で暗号復号したデータに対して、後続する処理段階を継続させることで、復号画像データを生成する制御手段
として機能することを特徴とするコンピュータプログラム。
【請求項３０】
請求項２９に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像データの暗号化及び暗号復号技術に関するものである。
【０００２】
【従来の技術】
画像データなどのアクセス制御を目的として、画像データの暗号化やスクランブルを行う技術がある。これは、予め画像データを暗号鍵情報を用いて暗号化し、この暗号鍵情報に対応する復号鍵情報を有する者だけが正しく再生できるようにする技術である。
【０００３】
一方、画像データは情報量が大きいために、これを効率的に伝送、及び蓄積する際に圧縮符号化を行う場合が多い。圧縮符号化としては、例えば、ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ１にて標準化されているＪＰＥＧ２０００規格と呼ばれる技術などが適応される。前述した画像データの暗号化はＪＰＥＧ２０００規格のような圧縮符号化された画像データに対して施される場合もある。これにより、画像データを効率的に伝送、及び蓄積すると同時に、画像データに対するアクセスを制御できるという利点がある。
【０００４】
特に、ＪＰＥＧ２０００規格のような圧縮符号化技術によれば、画像データは、解像度、画質、空間的領域、及び画素を構成する成分などに応じて階層的に圧縮符号化できる。こうした階層構造を有する画像データに対して、階層構造に応じた暗号化処理を行うことにより、階層構造に応じたアクセス制御を実現することができる。
【０００５】
例えば、解像度毎にアクセス制御する場合、低解像度成分は暗号化せずに、高解像度成分だけ暗号化するようにすれば、低解像度成分は誰でも再生可能であるが、高解像度成分は許可された利用者（復号鍵の所有者）だけが正しく再生するようにアクセス制御できるようになる。
【０００６】
また、ＪＰＥＧ２０００規格のような圧縮符号化データを暗号化する際には、圧縮段階において暗号化を施すことも可能である。
【０００７】
その１つとしては、ＪＰＥＧ２０００規格に基づいた圧縮符号化過程における量子化後の係数（或いは、そのその係数の符号ビットプレーン）に対して暗号化を施し、前記暗号化された量子化係数をエントロピ符号化することによって、暗号化された圧縮符号化データを生成することである（第１の暗号化方法）。この暗号化方法によれば、画像データに圧縮処理と暗号化処理を施すような場合、圧縮符号化の過程で暗号化を実行できるため、全体の処理時間を短くすることが可能であり効率的である。また、この暗号化方法によって暗号化された圧縮符号化データは、ＪＰＥＧ２０００規格と互換性を保つことが可能であるという利点も有する。
【０００８】
もう１つは、ＪＰＥＧ２０００規格に基づいた圧縮符号化過程における最終的な符号化データに対して暗号化を施すことによって暗号化された圧縮符号化データを生成することである（第２の暗号化方法）。この暗号化方法によれば、既に圧縮符号化された圧縮符号化データに対して暗号化処理を実行するような場合、暗号化処理における処理時間を短くすることが可能であり効率的である。また、この暗号化方法によって暗号化された圧縮データは暗号化の前後でデータの容量が変化し難いという利点を有する。
【０００９】
また、上記第１、第２の暗号化方法の２種類の暗号方式に限定されることなく、３種類以上の様々な圧縮符号化段階におけるデータを暗号化することも考えられる。
【非特許文献１】
ＩＳＯ／ＩＥＣ  １５４４４−１  “Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  ＪＰＥＧ２０００  ｉｍａｇｅ  ｃｏｄｉｎｇ  ｓｙｓｔｅｍ  Ｐａｒｔ１  −  Ｃｏｒｅ  ｃｏｄｉｎｇ  ｓｙｓｔｅｍ”
【００１０】
【発明が解決しようとする課題】
上記の暗号化手法によれば、所定の圧縮符号化段階において暗号化を施すことは可能であるものの、複数の圧縮符号化段階を複数設定可能とし、前記複数の圧縮符号化段階の中から選択した何れかの圧縮符号化段階の符号化データを暗号化することは困難である。また、上記のような、第１、第２の暗号化方法の両方を同時に用いることも困難でもある。
【００１１】
本発明はかかる問題点に鑑みなされたものであり、圧縮符号化データ、特に、ウェーブレット変換を利用したＪＰＥＧ２０００による圧縮符号化データに好適な暗号化並びに暗号復号技術を提供しようとするものである。
【００１２】
【課題を解決するための手段】
この課題を解決するため、例えば本発明の画像暗号化方法は以下の工程を備える。すなわち、
ウェーブレット変換手段を用いて圧縮符号化された符号化画像データを暗号化する画像暗号化方法であって、
符号化する際の一連の各処理段階中の何れかの段階を指定する指定工程と、
該指定工程で指定された段階で処理出力されたデータ形式となるまで、符号化画像データを復号する復号工程と、
該復号工程により復号したデータを暗号化する暗号化工程と、
該暗号化工程で暗号化して得たデータを、前記指定工程で指定された段階に後続する処理段階を行わせるともに、符号化データ中の所定領域に、暗号化を行った段階を特定する情報を格納し、出力する符号化工程とを備える。
【００１３】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を説明する。
【００１４】
＜全体構成の説明＞
実施形態におけるシステム概要例を図２５に示す。図中、２５０はインターネットであって、２５１は例えばデジタルカメラやイメージスキャナ、フィルムスキャナ等で撮像した画像データを圧縮符号化、及び暗号化処理を行う装置である。２５２はインターネット２５０を介して画像データを受信し、復号する装置、２５３は復号する際に必要となる鍵情報を記憶している鍵サーバある。装置２５１乃至２５３はパーソナルコンピュータ等の汎用装置で構わない。実施形態における処理の流れを簡単に説明すると、次の通りである。
【００１５】
装置２５１では、所望とする画像データを圧縮符号化及び暗号化処理を行い、インターネット２５０を介して配布する。配布するのは装置２５１が直接行ってもよい（例えばメール）し、適当なサーバを介して配布しても構わない。ただし、暗号化されている関係で、それを解除するために必要な鍵情報を、その画像データを特定する情報（例えばＩＤ）と共に鍵サーバ２５３が有するＤＢに登録しておく。画像復号装置２５２は所望とする画像を受信し、復号を行ない閲覧するものであるが、暗号化されている画像データを閲覧するには、鍵サーバ２５３にその画像を特定する情報を通知して、鍵情報を要求する。この結果、鍵情報が鍵サーバ２５３より受信するので、それを用いて暗号化を解除し、復号再生する。また、暗号化、及び復号の際に不足しているツール（プログラム）をツールサーバ２５４に要求し、当該ツールを画像暗号化装置、及び画像復号装置に配信した後、暗号化、及び復号を実行するようにしてもよい。更に、復号の際にツールの不足などにより復号処理を実行できない場合には、復号サーバに暗号化データを送信し、復号サーバ２５５で暗号を復号した後、復号データを画像復号装置に送信するようにしても良い。
【００１６】
実施形態では説明を簡単なものとするため、暗号化対象の画像（ファイル）はＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１  １５４４４−１において標準化されている、通称ＪＰＥＧ２０００と呼ばれる圧縮符号化方式によって符号化されたデータであるものとして説明するが、ＪＰＥＧ２０００に本発明が限定されることなく、ＪＰＥＧなど種々の圧縮符号化の方式を適応可能であることは以下の説明から明らかになるであろう。
【００１７】
さて、装置２５１での圧縮処理、及び暗号化処理の詳細を説明する前に、実施形態における暗号化処理のアプリケーションの操作画面（ウインドウ）について図２６を用いて説明することとする。
【００１８】
図示において、２６０がそのウインドウを示している。ウィンドウ２６０の左側には、暗号化対象となるファイルを指定する欄２６１を有する。２６１に対して不図示のキーボードよりファイル名により指定しても良いし、その欄２０１の右端に設けられたボタンをクリックすることで、ファイルブラウザを表示し、その中で選択しても構わない。２６３は選択されたファイルで示される画像を表示する領域である。２６１により指定されたファイルが圧縮符号化データである場合は、復号して表示するようにすればよい。
【００１９】
一方、ウインドウ２６０の右側には、暗号化後の出力ファイル名を入力する欄２６２、及び、暗号化された画像を表示する領域２６４が設けられている。
【００２０】
また、ウィンドウ２６０の下側には、夫々、圧縮符号化段階を指定する領域２６５、暗号化アルゴリズムを指定する領域２６６、及び鍵ファイルを指定する領域２６７が設けられている。領域２６５、２６６には、複数の候補の中から選択できるようにするため、コンボボックス形式（欄右端をクリックすると、複数の候補一覧のプルダウンメニューが表示され、選択するコントロール）にしている。上記設定を行ない、図示の「ＯＫ」ボタンをクリックすると、設定された鍵ファイルの中身に従い、暗号化処理が行われることになる。なお、鍵ファイルは図２５に示すように、暗号化したファイルをユニークに示す情報（ＩＤやファイル名等）と共に鍵サーバ２５３にアップロードされ、登録されることになる。或いは、既に鍵サーバ２５３に登録されている鍵ファイルを、２６７により指定するようにしても良い。
【００２１】
尚、図２６に示した操作画面は本発明に適応可能な一つの例を示すものであり、これに限定されるものでないことは明らかである。
【００２２】
＜圧縮符号化処理部及び方法＞
図１は、本実施形態における画像圧縮符号化機能を説明する図である。図２５における装置２５１が実行する機能図と考えれば分かりやすい。なお、便宜的に以下では処理部として説明するが、各処理部に相当する部分はコンピュータプログラムであっても構わないのは明らかである。
【００２３】
図１において、１１は符号化対象の画像データを入力する画像データ入力部であって、イメージスキャナ、画像データが記憶された記憶媒体から読取るドライブ、もしくへネットワークからダウンロードするのであればネットワークインタフェース等がこれに相当する。１２は離散ウェーブレット変換部、１３は量子化部、１４はエントロピ符号化部、１５はコードストリーム出力部である。
【００２４】
まず、画像入力部１１に対して符号化対象となる画像を構成する画素信号がラスタスキャン順に入力し、その出力は離散ウェーブレット変換部１２に入力される。以降の説明では、その説明を容易なものとするため、画像信号はモノクロの多値画像を表現しているが、カラー画像等、複数の色成分を符号化するならば、ＲＧＢ各色成分、或いは輝度、色差成分を上記単色成分として圧縮すればよい。
【００２５】
離散ウェーブレット変換部１２は、入力した画像信号に対して２次元の離散ウェーブレット変換処理を行い、変換係数を計算して出力するものである。図２（ａ）は離散ウェーブレット変換部１２の基本構成を表したものであり、入力された画像信号はメモリ２１に一時的に記憶され、処理部２２により順次読み出されて変換処理が行われ、再びメモリ２１に書き込まれる。本実施形態においては、処理部２２における処理の構成は同図（ｂ）に示すものとする。同図において、入力された画像信号は遅延素子およびダウンサンプラの組み合わせにより、偶数アドレスおよび奇数アドレスの信号（偶数、奇数番目の画素データ）に分離され、２つのフィルタｐおよびｕによりフィルタ処理が施される。同図ｓおよびｄは、各々１次元の画像信号に対して１レベルの分解を行った際のローパス係数およびハイパス係数を表しており、次式により計算されるものとする。
2005026970.tif 000003
ただし、ｘ（ｎ）は変換対象となる画像信号であり、ｆｌｏｏｒ（ｘ）はｘを越えない最大整数を返す関数である。
【００２６】
以上の処理により、画像信号に対する１次元の離散ウェーブレット変換処理が行われる。２次元の離散ウェーブレット変換は、１次元の変換を画像の水平及び垂直方向に対して順次行うものであり、その詳細は公知であるのでここでは説明を省略する。図２（ｃ）は２次元の変換処理により得られる２レベルの変換係数群の構成例であり、画像信号は異なる周波数帯域の係数列ＨＨ１、ＨＬ１、ＬＨ１、…、ＬＬに分解される。なお、以降の説明ではこれらの係数列をサブバンドと呼ぶ。また、同じ分割レベルに属するサブバンドの集合を解像度レベルと呼ぶ。例えば、ＨＨ１、ＨＬ１、ＬＨ１は同じ解像度レベルに属する。各サブバンドの係数は後続の量子化部１３に出力される。
【００２７】
量子化部１３は、入力した係数を所定の量子化ステップにより量子化し、その量子化値に対するインデックスを出力する。ここで、量子化は次式により行われる。
2005026970.tif 000004
ここで、ｃは量子化対象となる係数である。
【００２８】
また、本実施形態においてはΔの値として１を含むものとする。この場合、実際に量子化は行われず、量子化部１３に入力された変換係数はそのまま後続のエントロピ符号化部１４に出力される。
【００２９】
エントロピ符号化部１１４は入力したサブバンドを互いに重ならない複数の矩形領域に分割し、夫々の分割した矩形領域に含まれる量子化インデックスをビットプレーンに分解し、ビットプレーンを単位として２値算術符号化を行ってコードストリームを出力する。ここで、エントロピ符号化部における符号化単位となる矩形領域をコードブロックと呼ぶ。
【００３０】
図３はエントロピ符号化部１４の動作を説明する図であり、この例においては４×４の大きさを持つコードブロックにおいて非０の量子化インデックスが３個存在しており、それぞれ＋１３、−６、＋３の値を持っている。エントロピ符号化部１４はコードブロックを走査して最大値ＭＡＸを求め、次式により最大の量子化インデックスを表現するために必要なビット数Ｓを計算する。
Ｓ  ＝  ｃｅｉｌ（ｌｏｇ２（  ａｂｓ（ＭＡＸ）  ））          （式６）
ここでｃｅｉｌ（ｘ）はｘ以上の整数の中で最も小さい整数値を表す関数である。
【００３１】
図３においては、最大の係数値は「＋１３」であるのでＳは４であり、シーケンス中の１６個の量子化インデックスは同図（ｂ）に示すように４つのビットプレーンを単位として処理が行われる。ただし、正負の符号のビットプレーンを生成する必要があるので、実際はＳ＋１の５個のビットプレインを単位として処理が行われる。
【００３２】
最初にエントロピ符号化部１１４は最上位ビットプレーン（同図ＭＳＢで表すビットプレーンで、正負の符号ビットプレーンである）の各ビットをエントロピ符号化（本実施の形態では２値算術符号化）し、ビットストリームとして出力する。次にビットプレーンを１レベル下げ、以下同様に対象ビットプレーンが最下位ビットプレーン（同図ＬＳＢで表す）に至るまで、ビットプレーン内の各ビットを符号化し符号出力部１５に出力する。
【００３３】
また、以上の様にエントロピ符号化されたエントロピ符号を所定の符号量となるように集めた処理単位をレイヤと呼ぶ。複数のレイヤを構成することにより、復号時に種々の符号量に対応した画像を再生することが可能となる。
【００３４】
＜圧縮復号処理部、及び方法＞
次に、以上述べた圧縮符号化処理部に符号列を復号する方法について説明する。図２５における装置２５２の一部、もしくは、図１に示すコードストリーム出力部１５からの出力を入力すると言えばわかり易い。
【００３５】
図４は本実施の形態における圧縮復号化処理部の構成を表すブロック図であり、４１がコードストリーム入力部、４２はエントロピ復号部、４３は逆量子化部、４４は逆離散ウェーブレット変換部、４５は画像出力部である。なお、これらについても便宜的に処理部としているが、それらはコンピュータプログラムでも実現できるのは明らかである。
【００３６】
コードストリーム入力部４１は符号列を入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、あるいは後続の処理ユニットに対して該当するパラメータを送出するものである。コードストリームに含まれるビットストリームはエントロピ復号部４２に出力される。
【００３７】
エントロピ復号部４２はビットストリームをコードブロックに分割し、コードブロック内においてビットプレーン単位で復号し、出力する。この時の復号化手順を図５に示す。図５（ａ）は復号対象となるコードブロックをビットプレーン単位で順次復号化し、最終的に量子化インデックスを復元する流れを図示したものであり、同図の矢印の順にビットプレーンが復号される。復元された量子化インデックスは逆量子化部４３に出力される。
【００３８】
逆量子化部４３は入力した量子化インデックスから、次式に基づいて離散ウェーブレット変換係数を復元する。
ｃ’  ＝  Δ  ＊  ｑ  ；    ｑ  ≠  ０              （式７）
ｃ’  ＝    ０            ；    ｑ  ＝  ０              （式８）
ここで、ｑは量子化インデックス、Δは量子化ステップであり、Δは符号化時に用いられたものと同じ値である。ｃ’は復元された変換係数であり、符号化時ではｓまたはｄで表される係数の復元したものである。変換係数ｃ’は後続の逆離散ウェーブレット変換部４４に出力される。
【００３９】
図６は逆離散ウェーブレット変換部４４の構成および処理のブロック図を示したものである。同図（ａ）において、入力された変換係数はメモリ６１に一時的に記憶される。処理部６２は１次元の逆離散ウェーブレット変換を行い、メモリ６１から順次変換係数を読み出して処理を行うことで、２次元の逆離散ウェーブレット変換を実行する。２次元の逆離散ウェーブレット変換は、順変換と逆の手順により実行されるが、詳細は公知であるので説明を省略する。また同図（ｂ）は処理部６２処理ブロックを示したものであり、入力された変換係数はｕおよびｐの２つのフィルタ処理を施され、アップサンプリングされた後に重ね合わされて画像信号ｘ’が出力される。これらの処理は次式により行われる。
2005026970.tif 000005
こで、式（１）、式（２）、および式（９）、式（１０）による順方向および逆方向の離散ウェーブレット変換についてであるが、完全再構成条件を満たす、すなわち、量子化ステップΔが１とするなら、ビットプレーン復号において全ての復号されたビットプレーンを、逆ウェーブレット変換して得た画像信号ｘ’は原画像の信号ｘと一致することになる。
【００４０】
以上の処理により画像が復元されて画像出力部４５に出力される。  画像出力部４５はモニタ等の画像表示装置であってもよいし、あるいは磁気ディスク等の記憶装置であってもよい。
【００４１】
＜暗号化処理部及び方法＞
次に、本実施形態に適応可能な暗号化処理方法について説明する。
【００４２】
図７は本実施形態における暗号処理部の構成を示すブロック図であり、７１がコードストリーム入力部、７２がコードストリーム暗号化部、７３が暗号化コードストリーム出力部である。
【００４３】
コードストリーム入力部７１は、コードストリームを入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し、必要な場合は処理の流れを制御し、或いは後続の処理ユニットに対して該当するパラメータを送出するものである。図１に示すコードストリーム出力部１５からの出力を入力すると言えば分かり易い。また、入力されたコードストリームはコードストリーム暗号化部７２に出力される。
【００４４】
コードストリーム暗号化部７２には、種々の暗号化処理がアドオン、もしくは追加可能となっている。
【００４５】
追加可能な暗号化処理は、それぞれ暗号化する対象データ（符号化する際の段階）が異なるものであり、実施形態では、
・コードストリーム出力部からの出力
・エントロピ符号化部からの出力
・量子化部からの出力
・離散ウェーブレット変換部からの出力
・画像データ発生部からの出力
の中の少なくとも１つ（全部でも良い）が切り換え可能に設定登録できる。
【００４６】
更に、各処理部の出力の全データでなく、適当な一部のデータを設定するようにすることも可能である。例えば、
・コードストリーム出力部からの出力のうちパケットボディ
・量子化部からの出力のうち符号ビットプレーン
のように指定可能としてもよい。尚、パケットボディについては後述する。
【００４７】
上記構成において、コードストリーム入力部７１は、図２６で示された暗号化段階（欄２６５で指定された段階）に関する情報、暗号化アルゴリズム、及び暗号化鍵情報が与えられるが、コードストリーム暗号化部７２が如何なる符号化段階での、如何なる暗号化アルゴリズムによる暗号化処理が可能かを把握するため、コードストリーム暗号化部７２に対して処理能力の問い合わせリクエスト（符号化ストリームと区別可能なコマンド形式）を信号ｃとして出力する。この結果は、図示の信号Ｐとしてコードストリーム入力部７１に返送されることになるので、ユーザが指定した符号化段階及びアルゴリズムに対する暗号化処理機能を持っていれば、その暗号化処理で暗号化するよう指示を与える。もし、なければその暗号化処理は行わない。
【００４８】
なお、ここでは、図２６に示すように、ユーザが暗号化する段階を指定するものとして説明した。しかし、毎回、指定する作業は必要になるので、一旦設定した段階に関する情報や暗号化アルゴリズム、鍵情報をＨＤＤ等に記憶保持しておいて、特に変更がない限りは従前の設定内容で暗号化するようにしても構わない。
【００４９】
何れにしても、コードストリーム暗号化部７２は、コードストリーム入力部７１より指定された符号化段階及び暗号化アルゴリズムに従い暗号化処理、及び、符号化処理を行ない、暗号化されたコードストリームＣ’を暗号化コードストリーム出力部７３に出力する。暗号化コードストリーム出力部７３は図２６で示された出力先に指定されたファイル名で出力することになる。
【００５０】
なお、コードストリーム暗号化部７２に登録される処理の中には、符号化処理の途中の段階でのデータを暗号化処理する処理が含まれることになるので、その段階まで復号処理を行う機能を有することになる。
【００５１】
ここで、コードストリーム暗号化部７２に適応可能なコードストリーム暗号化処理方法について、２つの例を用いて説明する。１つは、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と設定された場合の例（第１の暗号化方法）、もう１つは、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合である（第２の暗号化方法）。
【００５２】
尚、これは具体例を示すためのものであって、第１の暗号化方法と、第２の暗号化方法とは、設定された圧縮符号化段階が異なれば良いし、前述したような種々の圧縮符号化段階を適応可能であることは明らかである。
【００５３】
まず、第１の暗号化処理方法について図９を用いて説明する。図９は本実施の形態に適応可能な第１の暗号化処理方法を示す図である。同図において、９１はエントロピ復号部、９２は暗号箇所抽出部、９３は暗号化部、９４は合成部、９５はエントロピ符号化部である。
【００５４】
エントロピ復号部９１は図４におけるエントロピ復号部４２、エントロピ符号化部９５は図１におけるエントロピ符号化部１５と同様の動作をするので説明は省略する。
【００５５】
暗号箇所抽出部９２は、エントロピ復号部９１からの量子化インデックスＱが入力され、入力された量子化インデックスのうち符号ビットプレーンＱ１だけが抽出され、抽出された符号ビットプレーンＱ１が後段の暗号化部９３に出力される。一方、それ以外のビットプレーンＱ２は合成部９４に出力される。
【００５６】
次に、暗号化部９３は、暗号箇所抽出部９２からの符号ビットプレーンＱ１が入力され、入力された符号ビットプレーンＱ１に対して暗号化処理が施され、暗号化された符号ビットプレーンＱ１’が出力される。
【００５７】
本実施形態において特に暗号化アルゴリズムについては特に限定せず、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）や、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などの共通鍵暗号アルゴリズムや、ＲＳＡなどの公開鍵暗号アルゴリズムなどの種々の暗号アルゴリズムを適用可能である。また、適応した暗号化アルゴリズムに関しては図１３に示すようにコードストリーム中に記録し、後述する暗号復号処理部に伝達するようにすればよい。更に、暗号化の処理単位や、モードなどの情報も同様に伝達するようにする。
【００５８】
次に、合成部９４では、暗号化処理が施された符号ビットプレーンＱ１’、及び暗号箇所抽出部９２で抽出されなかったビットプレーンＱ２が入力され、暗号化されたビットプレーンＱ１’がＱ２の符号ビットプレーンの位置に合成され、合成された量子化インデックスＱ’が出力される。
【００５９】
ここで、暗号箇所抽出部９２、暗号化部９３、及び合成部９４における処理の例について図１０を用いて説明する。
【００６０】
図１０（ａ）は、図３に示したコードブロックの一つの列（図示は図３の矢印Ａで示される１行）を示す図である。図（ａ）に示すように量子化インデックス｛＋１３，０，０，−６｝の符号ビットは、正符号を０、負符号を１とした場合、夫々｛０，０，０，１｝であり（零値は０とした）、符号ビットプレーンＱ１として、暗号箇所抽出部９２において抽出される。前述したように、本実施形態におけるエントロピ符号化処理は、各ビットプレーン内部の冗長性を利用し、ビットプレーン毎に実行される。よって、量子化インデックスを構成する符号ビットプレーンの全てを暗号化することにより、この冗長性が小さくなり、後段のエントロピ符号化処理における圧縮効果が小さくなる場合がある。ゆえに、本実施形態では、量子化インデックスのうち符号ビットプレーンだけを暗号箇所抽出部９２で抽出し、暗号化する。
【００６１】
次に、抽出された符号ビットプレーンＱ１｛０，０，０，１｝は暗号化部９３において暗号化処理が施され、暗号化された符号ビットプレーンＱ１’｛１，０，０，０｝となる。なお、図示では、たまたまゼロ以外の値の符号が逆転しているが、暗号化アルゴリズム並びに鍵情報と、暗号化対象のデータの論理演算によって決定されるので、実質的に、ランダムになり、暗号化鍵情報に対応する解除鍵情報がない限りは正しい符号ビットプレーンに復号することはできない。
【００６２】
こうして、暗号化されたビットプレーンＱ１’は、合成部９４において、図１０（ｂ）に示すように他のビットプレーンＱ２と合成され、暗号化された量子化インデックスＱ’｛−１３，０，０、＋６｝として出力される。
【００６３】
以上、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と設定された場合の第１の暗号化処理方法について説明した。
【００６４】
次に、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第２の暗号化処理方法について説明する。
【００６５】
図１１は本実施の形態に適応可能な第２の暗号化処理方法を示す図である。同図において、１１１は暗号箇所抽出部、１１２は暗号化部、１１３は合成部、１１４は適合処理部である。
【００６６】
暗号箇所抽出部１１１は、コードストリームＣを入力し、コードストリームＣ中のパケットボディＣ１のみを抽出し、抽出されたパケットボディＣ１を後段の暗号化部１１２に出力する。一方、パケットボディ以外の構成要素Ｃ２は合成部１１３に出力される。
【００６７】
ここで、図１２を用いてパケットボディＣ１の抽出について説明する。図１２（ａ）はコードストリームＣ（図１のＪＰＥＧ２０００の符号化処理後のストリーム）の全体構成を示している。同図（ａ）に示すように、コードストリームＣはひとつのメインヘッダと、複数のタイルパートから構成されている。また、個々のタイルパートは同図（ｂ）の如く、１つのタイルパートヘッダと、複数のパケットから構成されている。更に、夫々のパケットはパケットヘッダとパケットボディで構成されている。本実施形態においては、図１２に示す構成のコードストリームＣのうち、パケットボディのみを抽出し、暗号化処理を施すようにする。このように処理することにより、暗号化したコードストリームＣ’を、入力されたコードストリームＣと同じ規定（例えば、ＪＰＥＧ２０００規格）に従った構成とすることができる。
【００６８】
暗号化部１１２は、上記のように、暗号箇所抽出部１１１からのパケットボディＣ１を入力し、入力されたパケットボディＣ１に対して暗号化処理を施し、暗号化されたパケットボディＣ１’を出力する。
【００６９】
本実施形態において特に暗号化アルゴリズムについては特に限定せず、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）や、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などの共通鍵暗号アルゴリズムや、ＲＳＡなどの公開鍵暗号アルゴリズムなどの種々の暗号アルゴリズムを適用可能である。また、適応した符号化段階や暗号化アルゴリズムに関しては図１３に示すようにコードストリーム中のメインヘッダ中に記録し、後述する暗号復号処理部に伝達するようにすればよい。更に、暗号化の処理単位や、モードなどの情報も同様に伝達するようにする。なお、メインヘッダに暗号化した段階を示す情報、暗号化処理単位を示す情報、並びに、使用した暗号化アルゴリズムを示す情報やモードを格納する点は、先に説明した図９、図１０でも同様である。
【００７０】
また、暗号化部１１２は、暗号化処理したパケットボディＣ１’をＪＰＥＧ２０００規格に適合させるための処理を実行する適合ツール１１４を用いて暗号化処理を実行するようにしてもよい。
【００７１】
次に、合成部１１３を説明する。この合成部１１２は、暗号化処理が施されたパケットボディＣ１’、及び暗号箇所抽出部１１１で非暗号箇所として判定されたコードストリームの構成要素Ｃ２を入力し、暗号化されたパケットボディＣ１’が元ののパケットボディの位置に合成され、合成されたコードストリームＣ’が出力される。
【００７２】
以上、圧縮段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第２の暗号化処理方法について説明した。
【００７３】
こうして暗号化処理が施された暗号化コードストリームは、暗号化コードストリーム出力部７３から出力される。
【００７４】
次に、以上説明したような暗号化処理の流れを図８を用いて説明する。図８は本実施形態に適応可能な暗号化処理を説明するフローチャートである。
【００７５】
まず、ステップＳ８１では、暗号化処理される圧縮符号化段階が指定される（図２６参照）。次に、ステップＳ８２で、指定された圧縮符号化段階における暗号化処理は、コードストリーム暗号化処理部７２で実行可能か否かが判定される。これは、予め、コードストリーム暗号化部７２において、その暗号化処理に関する処理能力Ｐを記録しておき、コードストリーム暗号化部７２から、その暗号化処理に関する処理能力を示す情報Ｐを受信することなどによって判定可能である。ここで、コードストリーム暗号化処理部７２は、その暗号化処理に関する処理能力を示す情報として、以下のように図１に示したような圧縮符号化処理部における各出力部の出力データを暗号化可能か否かを示す情報を送信するようにする。
・コードストリーム出力部からの出力を処理可能
・エントロピ符号化部からの出力を処理可能
・離散ウェーブレット変換部からの出力を処理可能
・画像データ発生部からの出力を処理可能
更に、各処理部の出力の全データでなく、適当な一部のデータに対する処理能力を送信するようにすることも可能である。例えば、
・コードストリーム出力部からの出力のうちパケットボディを処理可能
・量子化部からの出力のうち符号ビットプレーンを処理可能
のように送信可能としてもよい。
【００７６】
いずれにしても、ステップＳ８２において、指定された圧縮符号化段階のデータを暗号化処理不可であると判断した場合には、この暗号化処理を終了する。このとき、指定された段階に対する暗号化できない旨を示すエラーメッセージ表示するとよい。
【００７７】
一方、指定された段階での暗号化が可能であると判断した場合には、ステップＳ８３に進み、ステップＳ８１で判定された段階となるまで、符号化データを復号する。そして、暗号化対象のデータが生成されると、ステップＳ８４でユーザにより指定された暗号化アルゴリズムに従い暗号化処理を行う。この後は、ステップＳ８５に進み、ステップＳ８３とは逆に符号化処理を行っていき、最終的に符号化データが出来上ったところで、そのメインヘッダにどの符号化段階のデータに対して暗号化を行ったか、その際に利用したアルゴリズムは何であったのかを示す情報（図１３）を格納し、ステップＳ８７で符号化ストリームとして出力することになる。
【００７８】
なお、先に説明した第２の暗号化処理方法は、符号化データの最終段階でのパケットボディを暗号化するものであったので、ステップＳ８３、ステップＳ８５の処理は実質的にパスすることになる。
【００７９】
以上であるが、ステップＳ８２における判定処理について例を用いて説明する。例えば、ステップＳ８１において圧縮符号化段階として「エントロピ符号化部からの出力」が指定され、処理能力として「エントロピ符号化部からの出力を処理可能」と受信した場合には、実行可能であると判定し、処理をステップＳ８３に進める。一方、例えば、圧縮符号化段階として「離散ウェーブレット変換部からの出力」が指定され、処理能力として「エントロピ符号化部からの出力を処理可能」と受信した場合には、実行不可能であると判定し、暗号化判定処理を終了する。
【００８０】
以上説明したように、本実施形態によれば、符号化後のデータ、及び、符号化する際に各中間段階で発生するデータの所望とする段階に対して暗号化処理を行うことが可能になる。
【００８１】
また、実施形態によれば、種々の圧縮符号化段階において、種々の暗号化アルゴリズムを選択可能とするために、適応した圧縮符号化段階、或いは暗号化アルゴリズムを、図１３に示すような情報としてコードストリーム中（メインヘッダ等）に記録することになるので、この情報を解析すればどの段階で暗号化され、それに用いられたアルゴリズムを検出することが可能となり、その結果を暗号復号処理部において用いることが可能となる。
【００８２】
＜暗号復号処理部及び方法＞
次に、本実施の形態に適応可能な暗号復号処理方法について説明する。
【００８３】
図１４は本実施の形態における暗号復号処理部の構成を示すブロック図であり、１４１がコードストリーム入力部、１４２がコードストリーム暗号復号部、１４３が暗号復号コードストリーム出力部である。
【００８４】
コードストリーム入力部１４１はコードストリームを入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、或いは後続の処理ユニットに対して該当するパラメータを送出するものである。このコードストリーム入力部１４１は、図７に示すコードストリーム出力部７３からの出力を入力すると言えば分かり易い。また、入力されたコードストリームはコードストリーム暗号復号部１４２に出力される。
【００８５】
コードストリーム入力部１４１の具体的な処理は、暗号復号処理が実行される（前述した）圧縮符号化段階、暗号化アルゴリズムを、入力されたコードストリーム中の図１３に示すデータを解析することで取得し、コードストリーム暗号復号部１４２がそれに応じた復号能力を有するのかを判断する。そして、その復号能力があると判断し、尚且つ、ユーザより暗号解除鍵情報が与えられた場合に、暗号化段階、アルゴリズム、及び、暗号化鍵情報をコードストリーム暗号復号部１４２に提供し、その後で、暗号化された符号化ストリムをコードストリーム暗号復号部１４２に出力する。
【００８６】
次に、コードストリーム暗号復号部１４２で実行されるコードストリーム暗号復号処理について説明する。コードストリーム暗号復号処理１４２には暗号化されたコードストリームＣ’が入力され、入力されたコードストリームＣ’に対して前段のコードストリーム入力部で設定された圧縮符号化段階のデータに対し、設定された暗号化解除鍵情報と暗号復号アルゴリズムで暗号復号処理を実行し、その結果を暗号復号処理後のコードストリームＣ’’が出力される。このコードストリームＣ’’は、図９のエントロピー復号部９１に渡されることになる。
【００８７】
ここで、暗号化処理部で用いた例と同様に、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と設定された場合の第１の暗号復号方法、及び、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第２の暗号復号方法について夫々説明する。
【００８８】
尚、本実施形態では、説明のために、第１の暗号復号方法として圧縮符号化段階が「コードストリーム出力部からの出力のうちパケットボディを処理可能」と指定された場合の例、及び第２の暗号復号方法として圧縮符号化段階が「量子化部からの出力のうち符号ビットプレーンを処理可能」とした場合の例を用いて説明する。しかしながら、本発明はこれに限定されることなく、第１の暗号復号方法と第２の暗号復号方法は、設定された圧縮符号化段階が異なることを特徴とするものであり、前述したような種々の圧縮符号化段階を設定可能であることは明らかである。
【００８９】
まず、第１の暗号復号処理方法について図１６を用いて説明する。図１６は本実施の形態に適応可能な第１の暗号復号処理の機能ブロック図であって、図１４におけるコードストリーム暗号復号部１４２の一部である。図示において、１６１はエントロピ復号部、１６２は暗号箇所抽出部、１６３は暗号復号部、１６４は合成部、１６５はエントロピ符号化部である。
【００９０】
エントロピ復号部１６１は図４におけるエントロピ復号部４２、及びエントロピ符号化部１６５は図１におけるエントロピ符号化部１５と、また、暗号箇所抽出部１６２、及び合成部１６４は図９における暗号箇所抽出部９２、及び合成部９４と同様の動作をするので説明は省略する。
【００９１】
暗号復号部１６３は、暗号箇所抽出部１６２からの正負の符号ビットプレーンＱ１’を入力し、入力された符号ビットプレーンＱ１’を、設定された暗号解除鍵情報に基づき暗号復号処理を施し、暗号復号処理された符号ビットプレーンＱ１’’を出力する。
【００９２】
ここで、暗号箇所抽出部１６２、暗号復号部１６３、及び合成部１６４における処理の例について図１７を用いて説明する。
【００９３】
図１７（ａ）はエントロピ復号後のコードブロックの一つの行を示す図である。同図（ａ）に示すように量子化インデックス｛−１３、０、０、＋６｝の符号ビットは、正符号を０、負符号を１とした場合、夫々｛１、０、０、０｝であり（零値は０とした）、符号ビットプレーンＱ１’として、暗号箇所抽出部１６２において抽出される。
【００９４】
次に、抽出された符号ビットプレーンＱ１’｛１，０，０，０｝は暗号復号部１６３において暗号復号処理が施され、暗号復号処理された符号ビットプレーンＱ１’’｛０，０，０，１｝となる。
【００９５】
そして、暗号復号されたビットプレーンＱ１’’は、合成部１６４において、図１７（ｂ）に示すようにビットプレーンＱ２と合成され、暗号復号された量子化インデックスＱ’’｛−１３，０，０，６｝として出力される。このあと、図１６のエントロピ符号化部１６５で再エントロピ符号化が行われ、暗号解除された符号ストリームが生成されることになる。これ以降は、図４に示される処理を経ることで、画像データにまで復元されることになる。
【００９６】
以上、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と設定された場合の第１の暗号復号処理方法について説明した。次に、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第２の暗号復号処理方法について説明する。
【００９７】
図１８は本実施の形態に適応可能な第２の暗号復号処理方法の機能ブロック図であり、図１４におけるコードストリーム暗号復号部１４２の一部でもある。
【００９８】
なお、図１８に示す構成は、図１３に示したようなコードストリーム中に記録された情報を読み取ることにより、機能することになる。
【００９９】
同図において、１８１は暗号箇所抽出部、１８２は暗号復号処理部、１８３は合成部である。
【０１００】
暗号箇所抽出部１８１、及び合成部１８３は、夫々図１６における暗号箇所抽出１６２、及び合成部１６４と同様の動作をするので、説明は省略する。
【０１０１】
暗号復号処理１８２は、暗号箇所抽出部１８１からのパケットボディＣ１’を入力し、入力されたパケットボディＣ１’に対して暗号復号処理を施し、暗号復号処理したパケットボディＣ１’’を出力する。
【０１０２】
尚、暗号復号部１８４は、図１１で説明したような適合処理１１４が用いられている場合は、適合ツール１８４を用いて暗号復号処理を実行するようにしてもよい。
【０１０３】
以上、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第２の暗号復号処理方法について説明したが、暗号復号処理が施された暗号復号コードストリームは、暗号復号コードストリーム出力部１４３から出力される。
【０１０４】
次に、以上説明したような暗号復号処理の流れを図１５を用いて説明する。図１５は本実施形態に適応可能な暗号復号処理を説明するフローチャートである。
【０１０５】
まず、ステップＳ１５１では、コードストリームに付加されている、暗号化情報に関する情報（暗号処理が実行されている圧縮符号化段階、暗号化アルゴリズム）を読み取り、暗号化された符号化段階を判定する。
【０１０６】
次に、ステップＳ１５２で、読み取られた圧縮符号化段階における暗号復号処理は、コードストリーム暗号復号処理部１４２で実行可能か否かが判定される。これは、予め、コードストリーム暗号復号部１４２において、その暗号復号処理に関する処理能力Ｐを記録しておき、コードストリーム暗号復号部１４２から、その暗号復号処理に関する処理能力を示す情報Ｐを受信することなどによって判定可能である。暗号復号処理に関する能力は、前述した暗号化処理に関する処理能力と同様であるので説明は省略する。
【０１０７】
ステップＳ１５２において、実行不可能である場合には本暗号復号処理を終了する。この際には、暗号復号処理を実行できないことを通知するようにしても良い。
【０１０８】
一方、暗号復号処理が可能であると判断した場合には、ステップＳ１５３に進め、暗号化対象となった符号化段階になるまで、復号処理を行う。そして、ステップＳ１５４において暗号復号処理を行う。ステップＳ１５５では、ステップＳ１５３とは逆に圧縮符号化処理を行うことになる。このあと、ステップＳ１５６では、符号化ストリームにおける暗号化情報を除去したメインヘッダを生成し、ステップＳ１５７で暗号復号した、すなわち、暗号化を解除した圧縮符号化ストリームを出力することになる。
【０１０９】
以上説明したように、本実施形態による暗号復号処理によれば、複数の圧縮符号化段階のうち、暗号化処理がいずれの圧縮符号化段階に対するデータに対して施されたかを示す情報を、暗号化処理部から暗号復号処理部に送信するようにすることによって、異なる圧縮符号化段階で暗号化されたデータを共通の暗号復号処理部で処理することが可能となる。
【０１１０】
＜機能追加に関しての変形例１＞
以上説明したように、本実施形態によれば、暗号化段階において、暗号化処理の対象となる圧縮符号化段階を複数の中から選択可能とし、選択された圧縮符号化段階の暗号化が可能である場合は暗号化を実行し、一方で、選択された圧縮符号化段階の暗号化が不可能である場合には暗号化を実行しないようにすることが可能である。同様に、本実施形態によれば、暗号復号段階において、前述したように暗号化処理された、いずれかの圧縮符号化段階の暗号化データを暗号復号処理可能であるか否かを判定し、暗号復号可能である場合には暗号復号処理を実行し、一方で、暗号復号不可能である場合には暗号復号処理を実行しないようにすることが可能である。
【０１１１】
しかしながら、本発明はこれに限定されることなく、暗号化段階において、暗号化処理の対象となる圧縮符号化段階を複数の中から選択可能とし、選択された圧縮符号化段階の暗号化が可能である場合には暗号化を実行し、一方で、選択された圧縮符号化段階の暗号化が不可能である場合には、暗号化を実行可能とするように機能を追加し、暗号化処理を実行可能状態とすることも可能である。更に、暗号復号段階において、前述したように暗号化処理された、いずれかの圧縮符号化段階の暗号化データを暗号復号処理可能であるか否かを判定し、暗号復号可能である場合には暗号復号処理を実行し、一方で、暗号復号不可能である場合には暗号復号処理を可能とするように機能を追加し、暗号復号処理を実行状態とすることが可能である。この変形例について、図１９及び図２０を用いて説明する。なお、ここで説明する変形例の場合、図７や図１４にかかる構成はコンピュータプログラムで構築する場合となる。
【０１１２】
まず、図１９を用いて暗号化処理の変形例を説明する。同図は、図７中のコードストリーム入力部７１で実行される暗号化処理の変形例を説明するフローチャートである。
【０１１３】
まず、ステップＳ１９１では、ユーザによって指定された暗号化処理対象となる圧縮符号化段階を取得する。次いで、ステップＳ１９２に進み、ユーザにより指定された圧縮符号化段階における暗号化処理が、コードストリーム暗号化処理７２で実行可能か否か、換言すれば、コードストリーム暗号化処理７２が指定された段階の暗号化処理機能を有しているか否かを判断する。これは、予め、コードストリーム暗号化部７２において、その暗号化処理に関する処理能力Ｐを記録しておき、コードストリーム暗号化部７２から、その暗号化処理に関する処理能力を示す情報Ｐを受信することなどによって判定可能である。
【０１１４】
そして、コードストリーム暗号化部７２が、ユーザから指定された圧縮符号化段階のデータの暗号化処理可能であると判断した場合にはステップＳ１９３に進み、コードストリーム暗号化部７２に対して、その機能を実行するよう指示すると共に暗号化アルゴリズムを指定した後、符号化データストリームを出力して暗号化を行わせる。なお、ステップＳ１９３での処理の内容は、図８のステップＳ８３乃至Ｓ８７と実質的に同じであるので、図１９では簡単に示した。
【０１１５】
一方、ステップＳ１９２において、コードストリーム暗号化部７２には、ユーザが指定した符号化段階に対する暗号化処理機能が備わっていないと判断した場合には、処理をＳ１９４に進め、機能追加可能か否かが判定される。ここで、機能追加可能かどうかの判定は、本装置（ここでは暗号化する装置であるので、図２５の装置２５１が該当する）がインターネット接続環境を有し、ツールサーバ２５４に接続できるか否か、及び、ツールサーバにログインするためのアカウントを所持しているか否か等から判定する。場合によってはツールサーバ２５４に接続し、該当するプログラムの配信要求し、それを受信したか否かで判断しても良い。或いは、リムーバブルディスクやＨＤなどの記憶媒体から取得可能か否かによって判断しても良い。本発明においては、特に機能追加する手段については限定しない。尚、以降では、説明のため追加するプログラムはツールサーバからダウンロードして取得するようにする。いずれにしても、この機能追加不可であると判断した場合には、これ以上の処理は打ち切る。また、機能追加可能と判断した場合には、ステップＳ１９５に進んで、図２５のツールサーバ２５４から該当する暗号化処理に必要なプログラムをダウンロードし、コードストリーム暗号化部７２に追加登録し、ステップＳ１９３で今回追加登録した機能プログラムと暗号化アルゴリズムを指示して暗号化を行わせる。
【０１１６】
ここで、ステップＳ１９５における機能追加処理について、前述した第１の暗号化処理方法、及び第２の暗号化処理方法の例を用いて説明する。ここでは、例として、図７におけるコードストリーム暗号化部７２には前記第２の暗号化処理方法を実行する機能プログラムのみ実装されており、第１の暗号化処理方法を実行する機能プログラムが実装されていない場合であって、ステップＳ１９１において、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と指定された場合（即ち、第１の暗号化処理を実行することを指定された場合）について説明する。
【０１１７】
前述したように第１の暗号化処理方法は図９に示すような構成で実現している。また第２の暗号化処理方法は図１１に示した構成で実現している。これら２つの図を比べると明らかであるように、第２の暗号化処理方法（図１１）の場合、暗号箇所抽出部１１１の前段にエントロピ復号部を配置し、且つ、合成部１１３の後段にエントロピ符号化部を配置することによって、目的とする第１の暗号化処理方法（図９）の構成とすることが可能である。
【０１１８】
従って、図１９におけるステップＳ１９５では、ツールサーバからエントロピ復号部、及びエントロピ符号化部に相当するプログラムを受信し、コードストリーム暗号化部７２に実装された第２の暗号化処理部において、エントロピ復号部を暗号箇所抽出部１１１の前段に配置し、且つ、エントロピ符号化部を合成部１１３の後段に配置することによって、第１の暗号化処理部と同等の機能を有するように機能追加するようにする。このようにすることで、各圧縮符号化段階で暗号化する場合であっても、互いに重複する部分的なプログラムを組み合わせることで、複数の暗号化に対処できることになり、コードストリーム暗号化部７２が肥大化することを抑制することが可能となると共に、ツールサーバからダウンロードする情報量も、必要なパーツ的なプログラムで良くなるので、ダウンロードにかかる時間を短縮させることが可能となる。
【０１１９】
以上説明したように、機能追加されたコードストリーム暗号化部７２を用いて、指定された圧縮符号化段階で暗号化するようにすることが可能である。
【０１２０】
なお、上記は、図９、図１１に示される各処理部が個々に独立したプログラムであって、それぞれの入出力は所定の規則に従ったものとする。そして、図９、図１１に示すように、各プログラムはパイプライン形式に処理順序を並べることで、所望とする処理を行うことを可能にしている。ここで、上記のように、図１１に示す各処理部１１１乃至１１４ようなプログラム（以下、パーツプログラムという）が既に存在していて、図９に示すような機能を実現する場合に、エントロピ復号部９１、エントロピー符号化部９５を新に必要とすることを判別可能とする構成を図２９を用いて説明する。
【０１２１】
図示において、２９１は暗号化する段階別（Ｅ１、Ｅ２、…）の項目と、その際に使用するパーツプログラムとその順序を示すリスト項目とで構成される暗号化プログラムテーブルを示している。暗号化段階Ｅ１、Ｅ２の添え字の数字が小さいほど、暗号化しようとする段階が早いことを示している。また、パーツプログラムリスト項目中のＰ１、Ｐ２…はそれぞれパーツプログラムのファイル名を示し、下線が付されたパーツプログラムは現在ハードディスク２９２に記憶保持されていることを示している。換言すれば、下線が付されていないパーツプログラムはハードディスク２９２には記憶されていないことを示している。各パーツプログラムは、エントロピー復号にかかるプログラムであったり、逆量子化プログラムであったり、復号処理の各段階を行うもの、逆に、符号化する際の各段階のプログラムであったりする。
【０１２２】
上記図９、図１１の関係で言えば、図示の段階Ｅｊが図１１の暗号化段階に相当し、段階Ｅｉが図９の段階であることになる。今、段階Ｅｉを実行しようとしたとき、下線が示されていないパーツプログラム１００、１０４が存在しないことが判明するので、そのパーツプログラム１００、１０４をツールサーバからダウンロードすれば良いことが分かる。ツールサーバからダウンロードができた場合には、そのパーツプログラム１００、１０４をハードディスク２９２に保存するとともに、パーツプログラムリストを更新すればよい。なお、図示では、存在するプログラムかどうかを下線で示したが、これは便宜的なものであって、これに限定されるものではない。要するに、暗号化しようとする段階で必要なパーツプログラム及びその順序を規定するテーブルがあって、必要とするパーツプログラムが存在するか否かが判別可能になっていれば良い。
【０１２３】
次に、図２０を用いて暗号復号判定処理の変形例を説明する。図２０は、図１４中のコードストリーム入力部１４１で実行される暗号復号判定処理の変形例を説明するフローチャートである。
【０１２４】
まず、ステップＳ２０１では、符号化データストリーム中の所定データ（メインヘッダ）を解析することで、暗号復号処理を実行する圧縮符号化段階がいずれであるのかを判定する。
【０１２５】
次に、ステップＳ２０２で、指定された圧縮符号化段階における暗号復号処理が、現在のコードストリーム暗号復号処理部１４２で実行可能か否かが判定される。これは、予め、コードストリーム暗号復号部１４２において、その暗号復号処理に関する処理能力Ｐを記録しておき、コードストリーム暗号復号部１４２から、その暗号復号処理に関する処理能力を示す情報Ｐを受信することなどによって判定可能である。
【０１２６】
そして、指定された圧縮符号化段階のデータを暗号復号処理可能である場合には、処理をステップＳ２０３に進め、コードストリーム暗号復号部１４２に対し、圧縮符号化段階を示す情報、並びに、暗号解読アルゴリズム、並びに、ユーザにより指定された暗号解除するための鍵情報を渡した後、暗号化された符号化ストリームを出力することで、暗号復号化処理を行わせる。なお、ステップＳ２０３の処理は、実質的に図１５におけるステップＳ１５３乃至１５７と同様であるので、簡単に示した。
【０１２７】
一方、現在のコードストリーム暗号復号部１４２には、入力した暗号化データを復号できないと判断した場合には、ステップＳ２０４に進み、コードストリーム暗号復号部１４２にその機能追加可能か否かが判定される。ここで、追加されるべき機能は、例えば、所定のツールサーバからネットワークを経由して受信するようにしてもよい。その場合、ステップＳ２０４においては、暗号復号処理部から所定のツールサーバに対して機能配信要求を行うようにする。すると、ツールサーバでは、要求された機能を実装したツールが配信可能か否かが判定される。そして、配信可能である場合には、ツールサーバから暗号復号処理部に対して当該ツールを配信し、一方で配信不可能である場合には、配信不可能である旨を通知するようにする。或いは、リムーバブルディスクやＨＤなどの記憶媒体から取得するようにしてもよい。本発明においては、特に機能追加する手段については限定しない。尚、以降では、説明のため追加するプログラムはツールサーバからダウンロードして取得するようにする。ステップＳ２０４において、ツールサーバからツールプログラムが配信したと判断した場合には処理をステップＳ２０５に進め、配信不可能である旨を受信した場合には暗号復号処理を終了する。
【０１２８】
ステップＳ２０５では、ツールサーバから受信した機能をコードストリーム暗号復号処理部１４２に追加登録し、ステップＳ２０３で暗号復号処理を行うことになる。
【０１２９】
ここで、ステップＳ２０５における機能追加処理について、前述した第１の暗号復号処理方法、及び第２の暗号復号処理方法の例を用いて説明する。ここでは、例として、図１４におけるコードストリーム暗号復号処理部１４２においては前記第２の暗号復号処理方法にかかるプログラム（複数の部分的なプログラムで構成される）のみ実装されており、図２０におけるＳ２０１においてはコードストリームＣ’を解析した結果として、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」のデータが暗号化されていた場合（即ち、第１の暗号復号処理を実行することが指定された場合）について説明する。
【０１３０】
前述したように第１の暗号復号処理方法は図１６に示すような構成であり、また第２の暗号復号処理部は図１８に示したような構成である。これら２つの図を比べてみると明らかであるように、第２の暗号復号処理部（図１８）は、暗号箇所抽出部１８１の前段にエントロピ復号部を配置し、且つ、合成部１８３の後段にエントロピ復号部を配置することによって、第１の暗号化処理部（図１６）と同様の構成とすることが可能である。
【０１３１】
従って、図２０におけるステップＳ２０４においては、サーバからエントロピ復号部、及びエントロピ符号化部を受信し、コードストリーム暗号復号部１４２に実装された第２の暗号復号処理部において、エントロピ復号部を暗号箇所抽出部１８１の前段に配置し、且つ、エントロピ符号化部を合成部１８３の後段に配置することによって、第１の暗号復号処理部と同等の機能を有するように機能追加する。
【０１３２】
なお、上記説明から明らかなように、暗号復号する際にも、図２９に示すような構成のテーブルが存在することになる。
【０１３３】
以上説明したように、機能追加されたコードストリーム暗号復号部１４２を用いて、指定された圧縮段階で暗号復号するようにすることが可能である。
【０１３４】
尚、本実施形態では、追加されるべき機能はサーバからネットワークを経由して受信するようにしたが、本発明はこれに限定されることなく、ＣＤ、ＤＶＤ、ＨＤなどの記憶媒体から獲得する、或いは、コードストリーム中に記録されているモジュールを抽出する、及び、これらを組み合わせて用いることによって追加するようにすることも可能である。
【０１３５】
＜機能追加に関しての変形例２＞
以上説明したように、本実施形態によれば、暗号化段階において、暗号化処理の対象となる圧縮符号化段階を複数の中から選択可能とし、選択された圧縮符号化段階の暗号化が可能である場合には暗号化を実行し、一方で、選択された圧縮符号化段階の暗号化が不可能である場合には、暗号化を実行可能とするように機能を追加し、暗号化処理を実行可能状態とすることが可能である。更に、暗号復号段階において、前述したように暗号化処理された、いずれかの圧縮符号化段階の暗号化データを暗号復号処理可能であるか否かを判定し、暗号復号可能である場合には暗号復号よりを実行し、一方で、暗号復号不可能である場合には暗号復号処理を可能とするように機能を追加し、暗号復号処理を実行状態とすることが可能である。
【０１３６】
しかしながら、本発明はこれに限定されることなく、暗号化段階において、暗号化処理の対象となる圧縮符号化段階を複数の中から２つ以上選択可能とし、選択された２つ以上の圧縮符号化段階のデータに対して暗号化処理を実行することが可能である。更に、暗号復号段階において、複数の圧縮符号化段階のデータに対して暗号化処理が施されたデータに対して、夫々独立に暗号復号処理を実行することが可能である。この変形例を図２１及び図２２を用いて説明する。
【０１３７】
先ず、図２１を用いて暗号化処理部の変形例を説明する。同図は図７で説明した暗号化処理の変形例を説明するブロック図である。
【０１３８】
図２１において、２１１はエントロピ復号部、２１２は暗号箇所抽出部、２１３は暗号化部、２１４は合成部、２１５はエントロピ符号化部、２１６は暗号箇所抽出部、２１７は暗号化部、２１８は合成部、２１９は適合処理部である。
【０１３９】
図２２に示す構成は、前述した第１の暗号化処理方法での暗号化結果の出力（その出力結果は図９と等価）を、第２の暗号化処理方法での処理（図１１）の入力として機能するよう、図９の構成と図１１の構成とを連結することによって実現可能である。このような構成とすることによって、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」のデータと「コードストリーム出力部からの出力のうちパケットボディ」のデータの両方に対して暗号化処理を実行することが可能である。最終的に出力される符号化データのメインヘッダには、２箇所で暗号化処理が施されている点、それぞれの暗号化アルゴリズムが記述されることになる。暗号化に用いた暗号化鍵情報は同じであってもよいし、異なっていても構わない。
【０１４０】
次に、図２２を用いて暗号復号処理部の変形例を説明する。図２２は図１４で説明した暗号復号処理の変形例を説明するブロック図である。
【０１４１】
図２２において、２２１はエントロピ復号部、２２２は暗号箇所抽出部、２２３は暗号復号部、２２４は合成部、２２５はエントロピ符号化部、２２６は暗号箇所抽出部、２２７は暗号復号部、２２８は合成部、２２９は適合処理部である。
【０１４２】
図２２に示す構成は、前述した第２の暗号復号処理部（図１８）の出力を、前述した第１の暗号復号処理方法を実現する機能図（図１６）の入力とすることで実現可能である。このような構成とすることによって、前述した図２１のような構成の暗号化処理部によって暗号化処理されたようなデータの暗号をすべて復号することが可能となる。即ち、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」のデータと「コードストリーム出力部からの出力のうちパケットボディ」のデータの両方に対して暗号復号処理を実行することが可能である。
【０１４３】
一方、図２１のような構成の暗号化処理部によって暗号化処理されたようなデータを、前述した図１６、図１８のような構成の暗号復号処理部に入力することによって暗号化処理されたデータを選択的に復号するようにすることも可能である。
【０１４４】
尚、本実施形態では、複数の圧縮符号化段階における暗号化処理、及び暗号復号処理の例として、圧縮符号化段階が「量子化部からの出力のうち符号ビットプレーン」のデータを暗号化、及び暗号復号する第１の暗号化処理、及び第１の暗号復号処理、及び圧縮符号化段階が「コードストリーム出力部からの出力のうちパケットボディ」のデータを暗号化、及び暗号復号する第２の暗号化処理、及び第２の暗号復号処理の例を用いて説明したが、本発明はこれに限定されることなく、前述した種々の圧縮符号化段階のデータに対する暗号化処理、及び復号処理の夫々を二つ以上組み合わせて実行するようにすることが可能であることは明らかである。
【０１４５】
＜コードストリーム暗号復号部の変形例＞
以上説明した実施形態においては、暗号復号段階において、暗号復号処理を実行可能か否かを判定し、実行不可能な場合は暗号復号処理を中止したり、或いは、機能を追加するようにしていた。しかしながら本発明はこれに限定されることなく、実行不可能な場合に、暗号復号処理をネットワーク先のサーバへ委託するようにすることも可能である。この変形例について図２３に示す暗号復号処理部の変形例に従い説明する。
【０１４６】
同図は、図１４で説明した暗号復号処理部の変形例を説明するブロック図である。
【０１４７】
図２３において、２３１はコードストリーム入力部、２３４は第１のコードストリーム暗号復号部、２３２は第２のコードストリーム暗号復号部、２３３は暗号復号コードストリーム出力部である。
【０１４８】
コードストリーム入力部２３１は暗号化されたコードストリームを入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、或いは後続の処理ユニットに対して該当するパラメータを送出するものである。図７に示す暗号化コードストリーム出力部７３からの出力を入力すると言えば分かり易い。
【０１４９】
また、コードストリーム入力部２３１では、暗号復号処理を実行する圧縮符号化段階を判定する。これは、これまで説明したように、入力されたコードストリームを解析し、コードストリームに付加されている圧縮符号化段階に関する情報を検出することにより判定する。
【０１５０】
更に、コードストリーム入力部２３１では、指定された圧縮符号化段階における暗号復号処理を第２のコードストリーム暗号復号部２３２で実行可能か否かを判定するための判定処理が実行される。この判定結果に応じて、入力されたコードストリームＣ’が、暗号化コードストリーム入力部２３１から第１のコードストリーム暗号復号部２３４（復号サーバ２５５）、或いは第２のコードストリーム暗号復号部２３２へ出力される。このとき、暗号復号鍵情報も送信することになる。なお、暗号復号鍵情報はインターネットのベースサーバに保存されている場合には、そのアドレスとファイル名の情報を、復号サーバ２５５である第１のコードストリーム暗号復号部２３４に送信しても構わない。
【０１５１】
第１の暗号化コードストリーム暗号復号部２３４、及び第２の暗号化コードストリーム暗号復号部２３２は、暗号化されたコードストリームＣ’を入力し、入力されたコードストリームに対して、夫々前述した第１の暗号復号処理、あるいは、第２の暗号復号処理を実行し、暗号復号処理されたコードストリームＣ’’が出力される。ここで、第１のコードストリーム暗号復号部２３４は、リモートコンピュータ上で実行するようにし、コードストリームＣ’を暗号化コードストリーム入力部２３１から、ネットワークを経由して第１のコードストリーム暗号復号部に送信するようにしても良い。或いは、ローカルコンピュータ上で、第２のコードストリーム暗号復号部とは独立に実行するようにし、コードストリームＣ’を暗号化コードストリーム入力部２３１から、第１のコードストリーム暗号化復号部に入力するようにしても良い。
【０１５２】
そして、第１のコードストリーム暗号復号部２３２、及び第２のコードストリーム暗号復号部２３４で暗号復号処理されたコードストリームＣ’’は、最終的に暗号復号コードストリーム出力部２３３から出力される。
【０１５３】
次に、以上説明した変形例の処理の流れを図２４を用いて説明する。
【０１５４】
まず、ステップＳ２４１では、コードストリームに付加されている、暗号復号処理が実行されている圧縮符号化段階に関する情報を検出する。次に、ステップＳ２４２において、指定された圧縮符号化段階における暗号復号処理は、第２のコードストリーム暗号復号処理部２３２（装置自身内のコードストリーム暗号復号部１４２）において実行可能か否かが判定される。実行可能である場合には処理をステップＳ２４３に進み、暗号復号処理を行わせる。一方で実行不可能である場合には処理をＳ２４４に進める。ステップＳ２４３では、第２のコードストリーム暗号復号処理部２３２において第２の暗号復号処理を実行させる。
【０１５５】
一方、ステップＳ２４４では、第１のコードストリーム暗号復号部２４４において第１の暗号復号処理が実行可能か否かが判定される。実行可能である場合には処理をＳ２４５に進め、一方で実行不可能である場合には処理を暗号復号処理を終了する。
【０１５６】
ステップＳ２４５では、暗号化コードストリーム入力部２３１から第１のコードストリーム暗号復号部２３４へ、ネットワークを経由して暗号化コードストリーム及び暗号復号鍵情報を送信し、外部サーバに該当するコードストリームの暗号復号処理を行わせる。そして、ステップＳ２４７において、暗号復号がなされたコードストリームを受信する。
【０１５７】
尚、インターネットを介して、外部サーバ（上記例では第１のコードストリーム暗号復号部２３４）に送信する際、及び、外部サーバが本装置に復号結果を送信する際、第３者に盗聴される可能性は否定できないので、本装置と外部サーバ間で予め設定された暗号化を施すようにしてもよい。
【０１５８】
以上説明したように、本実施形態によれば、ローカルマシンで暗号復号処理が実行不可能な場合に、ネットワーク先のサーバへ暗号処理を委託することが可能である。
【０１５９】
例えば、暗号化コードストリームとして、前述した第１の暗号化処理が施されたコードストリームが入力された場合、ローカルコンピュータに実装された第２のコードストリーム暗号復号部では処理できないため、暗号化処理が施されたコードストリームをリモートコンピュータに送信し、リモートコンピュータ上で第１のコードストリーム暗号復号処理を実行するようにし、暗号復号処理されたコードストリームを再びローカルコンピュータに送信するようにすることが可能となる。
【０１６０】
尚、本変形例は、前述した第１のコードストリーム暗号化処理部において暗号化処理されたコードストリーム（即ち、量子化部からの出力が暗号化されているコードストリーム）を、ローカルコンピュータで復号可能か否かをステップＳ２４２において判定し、処理が不可能である場合には、サーバへ暗号復号処理を委託するような例を説明したが、本発明はこれに限定されることなく、例えば、ローカルのコンピュータで所定の暗号化方式（例えば、ＡＥＳ）を用いて暗号化処理されたコードストリームを、ローカルコンピュータで復号可能か否かをステップＳ２４２において判定し、処理が不可能（例えば、ローカルコンピュータにおいてはＡＥＳの復号処理することが不可能）である場合には、サーバへ暗号復号処理（例えば、ＡＥＳの復号処理）を委託するようにすることも可能である。
【０１６１】
更に、本変形例は、ローカルコンピュータには何れかの暗号復号処理が実装されているような例を用いて説明したが、本発明はこれに限定されることなく、ローカルコンピュータには何れの暗号復号処理も実装されておらず、全ての暗号復号処理をサーバに委託するようにすることも可能である。
【０１６２】
＜圧縮符号化過程で暗号化する変形例＞
以上説明した実施形態においては、圧縮符号化が施された圧縮符号化データを入力し、入力された圧縮符号化データに暗号化処理、或いは暗号復号処理を施し、暗号化された圧縮符号化データ、或いは暗号復号処理された圧縮符号化データを出力ようにしていた。
【０１６３】
しかしながら、本発明はこれに限定されることなく、暗号段階において、画像データを入力し、入力された画像データを圧縮符号化すると同時に、何れかの圧縮符号化段階で暗号化処理を施し、暗号化された圧縮符号化データを出力するようにも構成可能である。また、このように構成した場合も、暗号化処理に関する処理能力Ｐは、圧縮符号化過程の最終段階である「コードストリーム出力部からの出力を処理可能」に限定されることなく、前述した様に種々の処理能力を設定可能である。これは、本変形例においては、画像データを完全に圧縮符号化することが可能であるが、圧縮符号化過程のデータを取得可能なインターフェイスを備えているか否かにより、実質的な処理能力Ｐが変化し得ることによるものである。
【０１６４】
更に、暗号復号段階において、暗号化された圧縮符号化データを入力し、入力された画像データを圧縮復号すると同時に、何れかの圧縮符号化段階で暗号復号処理を施し、圧縮復号された画像データを出力するようにも構成可能である。また、このように構成した場合も、暗号復号処理に関する処理能力Ｐは、圧縮復号過程の最終段階である「画像データ出力部からの出力を処理可能」に限定されることなく、前述したように種々の処理能力を設定可能である。これは、本変形例においては、圧縮符号化データを完全に圧縮復号することが可能であるが、圧縮符号化過程のデータを取得可能なインターフェイスを備えているか否かにより，実質的な処理能力Ｐが変化し得ることによるものである。
【０１６５】
上記を実現するためには、暗号化する装置、あるいは、暗号復号する側の装置の構成は図２７、２８に示す構成となるであろう。
【０１６６】
まず、図２７を用いて暗号化処理装置を説明する。図２７は圧縮処理と暗号化処理を同時に実行可能な処理の構成を説明するブロック図である。
【０１６７】
同図において、２７１は画像入力部、２７２は離散ウェーブレット変換部、２７３は量子化部、２７４はエントロピ復号部、２７５はコードストリーム出力部であり、夫々、前述した図１における画像データ発生部１１、離散ウェーブレット変換部１２、量子化部１３、エントロピ符号化部１４、及びコードストリーム出力部１５と同様の動作をするので説明は省略する。また、暗号化部２７７も、前述した図９における暗号化部９３などと同様の動作をするので説明は省略する。
【０１６８】
制御部２７６は、図２６における欄２６５などを用いて指定された圧縮符号化段階に応じて、インターフェイス２７８、２７９、２７１０、２７１１、及び２７１２の何れかからの圧縮符号化過程のデータを入力し、入力された圧縮符号化過程のデータを暗号化部２７７を用いて暗号化し、暗号化されたデータを再び、インターフェイス２７８、２７９、２７１０、２７１１、及び２７１２の何れかに返すことで符号化処理を行わせる。
【０１６９】
要するに、通常の符号化処理は、処理部２７１、２７２、２７３、２７４、２７５の順に行われるが、図２６で示された符号化段階に相当する各処理部の出力結果を割込んで取得し、暗号化を行い、その割込み位置の下流にある処理部に暗号化結果を出力することで、圧縮符号化過程の所望とする位置に暗号化処理を行うことになる。
【０１７０】
また、本発明においては、インターフェイス２７８、２７９、２７１０、２７１１、及び２７１２は必ずしも全て備わっている必要はなく、当該暗号化処理部に備わっているインターフェイスに応じて、暗号化処理に関する処理能力Ｐを設定し、図８に示したように処理を終了したり、図１９に示したように機能を追加するようにすることが可能である。
【０１７１】
また、暗号化部２７７は、暗号化処理の際に用いる暗号鍵を生成するために暗号鍵生成部２７１３を用いるように構成することも可能である。この場合、制御部２７６は暗号鍵生成部２７１３によって暗号鍵を適時生成し、生成した鍵を用いて暗号化部２７７において暗号化を実行するようにする。更に、特にコードストリーム出力部２７５からの出力であるインターフェイス２７１２からデータを取得し、暗号化処理を実行する場合、暗号化されたデータがＪＰＥＧ２０００規格に適合するようにするための処理を実行する適合処理部２７１４を用いるように構成することも可能である。この場合、制御部２７６は、暗号化部２７７に加えて、適合処理部２７１４を用いてインターフェイス２７１２からのデータに対して暗号化処理を実行するようにする。
【０１７２】
更に、制御部２７６は、夫々のインターフェイスから必ずしも全てのデータを取得する必要はなく、その一部のデータを取得するようにしてもよい。例えば、前述したように、インターフェイス２７１０から「量子化部からの出力のうち符号ビットプレーン」だけを取得したり、或いは、インターフェイス２７１２から「コードストリーム出力部からの出力のうちパケットボディ」だけを取得するようにしてもよい。以上、暗号化処理部の変形例について説明した。
【０１７３】
次に、図２８を用いて、暗号復号処理装置の構成とその処理内容を説明する。
【０１７４】
同図において、２８１はコードストリーム入力部、２８２はエントロピ復号部、２８３は逆量子化部、２８４は逆離散ウェーブレット変換部、２８５は画像データ出力部であり、夫々、前述した図４におけるコードストリーム入力部４１、エントロピ復号部４２、逆量子化部４３、逆離散ウェーブレット変換部４４、及び画像データ出力部４５と同様の動作をするので説明は省略する。また、暗号復号部２８７も、前述した図１６における暗号復号部１６３などと同様の動作をするので説明は省略する。
【０１７５】
制御部２８６には、コードストリームから抽出された圧縮符号化段階に関する情報に応じて、インターフェイス２８８、２８９、２８１０、２８１１、及び２８１２の何れかからの圧縮符号化過程の中間データを入力し、入力された圧縮符号化過程の中間データに対し、暗号復号部２８７を用いて暗号復号処理を行なわせ、その結果得された暗号復号データを再びインターフェイス２８８、２８９、２８１０、２８１１、及び２８１２の何れかに返される。
【０１７６】
そして、引き続き、後段の処理を実行して、最終的に暗号復号処理された画像データを出力する。
【０１７７】
また、本発明においてはインターフェイス２８８、２８９、２８１０、２８１１、及び２８１２は必ずしも全て備わっている必要はなく、当該暗号復号処理に備わっているインターフェイスに応じて、図１５に示したように処理を終了したり、図２０に示したように機能を追加するようにすることが可能である。
【０１７８】
また、暗号復号部２８７は、暗号復号処理の際に用いる復号鍵を生成するために復号鍵生成部２８１３を用いるように構成することも可能である。この場合、制御部２８６は復号鍵生成部２８１３によって復号鍵を適時生成し、生成した鍵を用いて暗号復号部２８７において暗号復号処理を実行するようにする。更に、特にインターフェイス２８８からデータを取得し、暗号復号処理を実行する場合、前述した図２７における暗号化部２７７に加えて、適合処理部２７１４によって処理されている。よって、復号処理の際も、制御部２８６は、暗号復号部２８７に加えて、適合処理部２８１４を用いてインターフェイス２８２からのデータに対して暗号復号処理を実行するようにする。
【０１７９】
更に、制御部２８６は、夫々のインターフェイスから必ずしも全てのデータを取得する必要はなく、その一部のデータを取得するようにしても良い。例えば、前述したように、インターフェイス２８１０から「量子化部からの出力のうち符号ビットプレーン」だけを取得したり、或いは、インターフェイス２８８から「コードストリーム出力部からの出力のうちパケットボディ」だけを取得するようにしてもよい。
【０１８０】
以上本発明にかかる実施形態を説明したが、先に説明したように、画像データを符号化、復号する装置は、通常のパーソナルコンピュータ等の汎用情報処理装置であって、それ上で動作するコンピュータプログラムで実現できるものであるから、本発明はコンピュータプログラムをその範疇とすることは明らかである。また、通常、コンピュータプログラムは、ＣＤＲＯＭ等のコンピュータ可読記憶媒体に記憶されており、それをコンピュータの対応するドライブにセットしてシステムにコピーやインストール処理することで実行可能となるわけであるから、本発明は当然にそのようなコンピュータ可読記憶媒体をもその範疇とすることも明らかである。
【０１８１】
以上説明したように本実施形態によれば、ＪＰＥＧ２０００の如く、複数の工程を経て符号化されたコードストリーム中の、所望とする符号化段階での中間データに対して暗号化を行うことが可能となり、その際に、どの段階で暗号化を行ったかを示す情報を所定のエリア（実施形態ではメインヘッダ）に格納しておくことで、暗号復号する際にも適切な段階で暗号復号処理を行うことが可能になる。
【０１８２】
【発明の効果】
以上説明したように本発明によれば、圧縮符号化データ、特に、ウェーブレット変換を利用した、例えばＪＰＥＧ２０００のいような圧縮符号化処理の何れかの処理段階に暗号化を設定できるようになると共に、暗号化がなされたデータストリーム、もしくはデータの構造は、非暗号化の圧縮符号化データと同じ構造を維持できるようになる。
【図面の簡単な説明】
【図１】実施形態における画像圧縮処理部の構成を示す図である。
【図２】実施形態における離散ウェーブレット変換部の構成とその動作を説明する図である。
【図３】実施形態におけるエントロピ符号化の動作を説明する図である。
【図４】実施形態における画像圧縮復号処理の構成を示す図である。
【図５】実施形態におけるエントロピ復号の動作を説明する図である。
【図６】実施形態における逆離散ウェーブレット変換部の構成とその動作を説明する図である。
【図７】実施形態における暗号化処理部の構成を説明する図である。
【図８】実施形態における暗号化処理手順を示すフローチャートである。
【図９】実施形態における第１のコードストリーム暗号化を行うための構成を示す図である。
【図１０】実施形態における第１の暗号化処理の処理内容を示す図である。
【図１１】実施形態における第２のコードストリーム暗号化を行うための構成を示す図である。
【図１２】符号化されたコードストリームのデータ構造を示す図である。
【図１３】実施形態におけるコードストリームに付加される情報を示す図である。
【図１４】実施形態における暗号復号処理部の構成を説明する図である。
【図１５】実施形態における暗号復号処理手順を示すフローチャートである。
【図１６】実施形態における第１の暗号復号部の構成を示す図である。
【図１７】実施形態における第１の暗号復号部の処理内容を示す図である。
【図１８】実施形態における第２の暗号復号部の構成を示す図である。
【図１９】実施形態における暗号化処理の変形例のフローチャートである。
【図２０】実施形態における暗号復号処理の変形例のフローチャートである。
【図２１】実施形態における暗号化処理の変形例の構成を示す図である。
【図２２】実施形態における暗号復号処理の変形例の構成を示す図である。
【図２３】実施形態における暗号復号処理の更なる変形例の構成を示す図である。
【図２４】図２３の構成における処理手順を示すフローチャートである。
【図２５】実施形態におけるシステム全体構成を示す図である。
【図２６】実施形態における暗号化処理を行う際のＧＵＩ画面の例を示す図である。
【図２７】実施形態の他の変形例の画像符号化・暗号化装置のブロック構成図である。
【図２８】実施形態の他の変形例の画像復号・暗号復号装置のブロック構成図である。
【図２９】実施形態における暗号化処理を実現するためのテーブル構成と、各パーツプログラムの関係を示す図である。
【図１】
2005026970.tif 000006
【図２】
2005026970.tif 000007
【図３】
2005026970.tif 000008
【図４】
2005026970.tif 000009
【図５】
2005026970.tif 000010
【図６】
2005026970.tif 000011
【図７】
2005026970.tif 000012
【図８】
2005026970.tif 000013
【図９】
2005026970.tif 000014
【図１０】
2005026970.tif 000015
【図１１】
2005026970.tif 000016
【図１２】
2005026970.tif 000017
【図１３】
2005026970.tif 000018
【図１４】
2005026970.tif 000019
【図１５】
2005026970.tif 000020
【図１６】
2005026970.tif 000021
【図１７】
2005026970.tif 000022
【図１８】
2005026970.tif 000023
【図１９】
2005026970.tif 000024
【図２０】
2005026970.tif 000025
【図２１】
2005026970.tif 000026
【図２２】
2005026970.tif 000027
【図２３】
2005026970.tif 000028
【図２４】
2005026970.tif 000029
【図２５】
2005026970.tif 000030
【図２６】
2005026970.tif 000031
【図２７】
2005026970.tif 000032
【図２８】
2005026970.tif 000033
【図２９】
2005026970.tif 000034