(57)【要約】【課題】操作されるクラスタ毎に暗号化を行う際に、暗号化によるビット数の増加を低減する画像符号化装置、及び、画像符号化方法を提供すること。【解決手段】画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、前記暗号化手段によって暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、を有し、前記クラスタ生成手段は、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化装置。【選択図】図１
2009071500.tif 000002
【特許請求の範囲】
【請求項１】
画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、
前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、
前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、
前記暗号化手段によって暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、
を有し、
前記クラスタ生成手段は、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化装置。
【請求項２】
画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、
前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、
前記暗号化手段によって暗号化された前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、
前記エントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、
を有し、
前記クラスタ生成手段は、前記所定のクラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化装置。
【請求項３】
前記クラスタ生成手段は、
前記画像データが周波数変換されて得られた変換係数からなる領域を、前記所定のブロック長の整数倍の前記変換係数からなる矩形領域に分割し、前記矩形領域が有する前記変換係数のビットプレーンを、前記クラスタとする請求項１又は２記載の画像符号化装置。
【請求項４】
前記周波数変換は、２次元サブバンド分解が、縦方向低域横方向低域成分に対して所定の階層まで再帰的に行われ、
前記画像データが、大なる画像データを矩形領域に分割して生成された画像データである場合に、
前記大なる画像データを分割して、前記所定の階層における縦方向低域横方向低域成分に含まれる変換係数の数が、前記所定のブロック長の整数倍となる、前記画像データを生成する画像分割手段を有する請求項１ないし３何れか一項に記載の画像符号化装置。
【請求項５】
前記暗号化手段は、前記クラスタのうち、前記縦方向低域横方向低域成分に基づくクラスタに対してブロック暗号化を行う請求項４記載の画像符号化装置。
【請求項６】
前記クラスタ生成手段により分割される前記所定のブロック長の整数倍の前記変換係数からなる矩形領域は、ＪＰＥＧ２０００規格によるコードブロック又はプリシンクトである請求項３記載の画像符号化装置。
【請求項７】
前記大なる画像データを矩形領域に分割して生成された画像データは、ＪＰＥＧ２０００規格によるタイルである請求項４又は５記載の画像符号化装置。
【請求項８】
画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成ステップと、
前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化ステップと、
前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化ステップと、
前記暗号化ステップにおいて暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御ステップと、
を有し、
前記クラスタ生成ステップは、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化方法。
【請求項９】
画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成ステップと、
前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化ステップと、
前記暗号化ステップにおいて暗号化された前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化ステップと、
前記エントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御ステップと、
を有し、
前記クラスタ生成ステップは、前記所定のクラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化方法。
【請求項１０】
前記クラスタ生成ステップは、
前記画像データが周波数変換されて得られた変換係数からなる領域を、前記所定のブロック長の整数倍の前記変換係数からなる矩形領域に分割し、前記矩形領域が有する前記変換係数のビットプレーンを、前記クラスタとする請求項８又は９記載の画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置、及び、画像符号化方法に関する。
【背景技術】
【０００２】
従来から、画像や音声のデータ又はそれらのデータが圧縮された符号データを暗号化する技術がある。例えば、ＪＰＥＧ２０００規格ファミリーの中のＪＰＳＥＣと呼ばれる規格（非特許文献１参照。）には、周波数分解されて得られた変換係数や、エントロピー符号に対して、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）又はＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等の方式による暗号化を行った場合に、その暗号化の方式に係る情報を符号データ中にマーカとして含ませることが記載されている。
【０００３】
ところで、画像又は音声等が圧縮された符号データは、複数の構成要素を含んで構成され、全体のデータから最小の構成要素までの間に、複数の構成要素のクラスタを含む中間の構成要素が含まれる、所謂「入れ子」の構造を有している。そこで、構成要素毎に暗号鍵を異ならせると、多くの暗号鍵を管理する必要が生じ、鍵の管理が煩雑になる。
【０００４】
そこで、一の構成要素の鍵をもとに、他の構成要素の鍵を生成させることが考えられる。例えば、特開２００４−４０２４８号公報（特許文献１）には、解像度レベルの下位のパケットに対応した鍵をもとに、一方向性関数を用いて、解像度レベルの上位のパケットに対応する鍵を生成することが記載されている。
【０００５】
なお、パケットとは、ＪＰＥＧ２０００規格による符号データにおける最小の構成要素である。このＪＰＥＧ２０００規格では、パケット毎にそのパケットを破棄し、又は、パケット間の並び順を定める等の操作が許容されている。そこで、ブロック暗号化を行う場合には、パケット毎に暗号化を行うことにより、暗号化されたパケットに対しても、それらの操作を行うことができる。
【特許文献１】特開２００４−４０２４８号公報
【非特許文献１】ＩＳＯ／ＩＥＣ  １５４４４−８  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  ＪＰＥＧ  ２０００  ｉｍａｇｅ  ｃｏｄｉｎｇ  ｓｙｓｔｅｍ：  Ｓｅｃｕｒｅ  ＪＰＥＧ  ２０００
【非特許文献２】ＩＳＯ／ＩＥＣ  １５４４４−１  ＪＰＥＧ  ２０００  ｉｍａｇｅ  ｃｏｄｉｎｇ  ｓｙｓｔｅｍ：  Ｃｏｒｅ  ｃｏｄｉｎｇ  ｓｙｓｔｅｍ
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ブロック暗号化においては、入力されるビット数がいかなる値であっても、出力される暗号データは、ブロック長と等しくなる。そこで、パケット毎に暗号化を行う場合に、パケットに含まれるビット数がブロック長と無関係に定められていると、画像や音声のデータを符号化して圧縮しているにも関わらず、暗号化によるビット数の増加が生じるが、上記特許文献１に記載の技術では、そのようなことは考慮されていない。
【０００７】
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、操作されるクラスタ毎に暗号化を行う際に、暗号化によるビット数の増加を低減する画像符号化装置、及び、画像符号化方法を提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の画像符号化装置は次の如き構成を採用した。
【０００９】
本発明の画像符号化装置は、画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、前記暗号化手段によって暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、を有し、前記クラスタ生成手段は、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とするように構成することができる。
【００１０】
これにより、操作されるクラスタ毎に暗号化を行う際に、暗号化によるビット数の増加を低減する画像符号化装置を提供することができる。
【００１１】
なお、上記課題を解決するため、本発明は、さらに、上記画像符号化装置が備える各手段の機能を実現する画像符号化方法としてもよい。
【発明の効果】
【００１２】
本発明の画像符号化装置、及び、画像符号化方法によれば、操作されるクラスタ毎に暗号化を行う際に、暗号化によるビット数の増加を低減する画像符号化装置、及び、画像符号化方法を提供することが可能になる。
【発明を実施するための最良の形態】
【００１３】
本発明の実施の形態の説明に先んじて、本発明の実施の形態によって解決しようとする課題とその背景技術について、より詳細に説明する。
【００１４】
セキュリティーニーズの高まりに伴い、画像データを圧縮して生成する符号データ又は画像データを圧縮する際に生成する様々な係数データ等を暗号化することがある。例えば、ＪＰＥＧ２０００規格に定められる符号データのフォーマットにおいては、周波数分解後の変換係数や、その変換係数に対して可変長符号化処理等を行って生成するエントロピー符号に対して、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等の暗号化を施し、それらの暗号化がなされていることを示すシグナルを符号データ中にマーカとして入れてよいことが定められている。
【００１５】
ＪＰＥＧ２０００規格による符号データは、パケットと呼ばれる符号の単位をプログレッションオーダ順に並べたものである。そこで例えば、パケット毎のエントロピー符号を、パケット毎に対応する個別の暗号キーを用いて暗号化することができる。この場合、パケットとキーは１対１に対応づけられ、暗号化を行う側及び暗号を復号する側では、多くの暗号解除鍵（以下、「暗号鍵」又は「鍵」という。）を管理又は配信する処理が必要になる。
【００１６】
そこで、パケットが所定の順に配列されていることを利用して、ある位置のパケットの鍵に対して、一方向性関数を適用することにより、そのパケットに隣接するパケットの鍵を順次生成する方法がある。この方法では、暗号化側からは一のパケットに対応する鍵が配信され、復号側では、その鍵に基づいて隣接するパケットの鍵を順次生成する。これにより、鍵が配信されたパケットの他のパケットに対する鍵を生成できるため、鍵の管理が容易になる。
【００１７】
ところで、ＪＰＥＧ２０００符号データの特徴の一に、パケットの抽出や再配列ができるということがある。そこで、符号データに対して再配列が行われると、上記の隣接関係が崩れる場合がある。このような場合には、再配列された後の一のパケットに対応した鍵に基づいて、隣接するパケットの鍵を生成できるとは限らず、鍵の管理が複雑になる。
【００１８】
そこで、パケットの再配列と鍵の管理又は配信処理を容易にすることとを両立させるために、パケットの配列における制限に基づいて、鍵の生成の依存関係を決定することができる。より詳細には、例えば、一つのプログレッション属性内では、パケットの並びは昇順と定められていることを利用する。すなわち例えば、解像度０のパケットよりも先に解像度１のパケットが来ることはないので、解像度レベルの下位のパケットに対応する鍵に対して一方向性関数を用い、解像度レベルが上位のパケットに対応する鍵を生成する（特許文献１参照）。
【００１９】
パケットの再配列と鍵の管理又は配信処理を容易にすることとを両立させるために、また例えば、再配列とは関係のない状態で暗号化を行うことが考えられる。例えば、ＪＰＥＧ２０００規格による符号データでは、周波数分解後の変換係数に対して暗号化を施し、その後エントロピー符号化処理を行うことが許容されている。ＪＰＥＧ２０００規格では、さらに、変換係数に対して暗号化を行う場合は、暗号化する変換係数の位置を自由に選択してよいことが定められている。
【００２０】
そこで、変換係数に対する暗号化の形態として、次の２つの適用形態が考えられる。
（１）一の変換係数単位、又は複数の変換係数をまとめた単位に対して、暗号化を行う。
（２）一のビットプレーン単位、または複数のビットプレーンをまとめた単位に対して、暗号化を適用する。
【００２１】
以下の実施の形態では、（２）の形態について述べる。以下、本発明の実施の形態を図面に基づき説明する。
【００２２】
〔本発明の実施の形態〕
図１は、本発明の実施の形態に係る画像符号化装置の機能構成の例を説明する図である。図１の画像符号化装置１０は、例えば、クラスタ生成手段１３、エントロピー符号化手段１４、暗号化手段１５、及び、クラスタ制御手段１６を有する。画像形成装置１０は、またさらに、画像分割手段１１、及び、周波数分解手段１２を有してもよい。
【００２３】
クラスタ生成手段１３は、周波数分解手段１２によって画像データが周波数分解されることにより得られた変換係数から、所定のビットのかたまりであるクラスタを取得する。クラスタ生成手段１３は、例えば、変換係数からなる空間を、矩形領域に分割し、その矩形領域を構成する変換係数のビットプレーンを、クラスタとする。なお、ビットプレーンとは、複数の変換係数の中で、ビット位置が同じビットからなる、ビット深度が１ビットの画像データである。
【００２４】
クラスタ生成手段１３によって分割されて生成する矩形領域には、暗号化手段１５が行うブロック暗号化処理のブロック長の整数倍に等しい数の変換係数が含まれるとよい。これにより、一のビットプレーンに含まれるビット数が、暗号化処理のブロック長の整数倍となり、暗号化処理の前と後とでビット数が増加しない。したがって、画像符号化装置１０によって生成される符号データの圧縮効率を暗号化処理によって低下させなくて済む。
【００２５】
クラスタ生成手段１３によって生成されるクラスタは、例えば、ＪＰＥＧ２０００符号化方式による画像符号化において、一のコードブロックを構成する一のビットプレーンである。クラスタは、また例えば、一のプリシンクトを構成する一のビットプレーンでもよい。
【００２６】
なお、ＪＰＥＧ２０００規格では、コードブロックの縦及び横のサイズは、２のべき乗で表され、その値の範囲は２＾２〜２＾１０である。但し、「Ａ＾Ｂ」は、「ＡのＢ乗」を表す。さらに、横方向のべき乗の指数ｘｃｂと縦方向のべき乗の指数ｙｃｂは、ｘｃｂ＋ｙｃｂ≦１２の制限が設けられている。
【００２７】
エントロピー符号化手段１４は、クラスタ生成手段１３によって生成されたクラスタ毎に、エントロピー符号化処理を行い、エントロピー符号を生成する。エントロピー符号化手段１４は、また例えば、暗号化手段１５によって暗号化されたクラスタ毎に、エントロピー符号化処理を行う。
【００２８】
暗号化手段１５は、クラスタ生成手段１３によって生成されたクラスタ毎に暗号化処理を行う。暗号化手段１５は、また例えば、エントロピー符号化手段１４によって生成されたエントロピー符号に対して、クラスタ毎に暗号化処理を行う。暗号化手段１５による暗号化処理は、例えばＤＥＳ暗号方式、又は、ＡＥＳ暗号方式等のブロック暗号方式である。
【００２９】
クラスタ制御手段１６は、エントロピ-符号化手段１４又は暗号化手段１５から出力される暗号化処理とエントロピー符号化処理を行われたクラスタ毎に、そのクラスタを破棄するか否かの判断を行う。クラスタ制御手段１６は、さらに、その判断結果に基づいて、破棄しないと判断したクラスタからなる符号データを生成してよい。
【００３０】
クラスタ制御手段１６は、また例えば、クラスタ間の並び順を定める複数のルールの一にしたがって、クラスタを並べることにより、符号データを生成する。クラスタ間の並び順を定めるルールとは、例えば、ＪＰＥＧ２０００規格によるプログレッションオーダである。
【００３１】
周波数分解手段１２は、画像データを周波数分解して変換係数を生成する。周波数分解手段１２は、例えば、離散ウェーブレット変換または離散コサイン変換等により、周波数分解を行う。ＪＰＥＧ２０００規格による符号化が行われる場合には、周波数分解手段１２は、離散ウェーブレット変換を行い、縦方向低域横方向低域成分（以下、「ＬＬ成分」という。）に対して、再帰的にサブバンド分解を行う。
【００３２】
画像分割手段１１は、入力される大なる画像データが分割された画像データを生成する。画像分割手段１１によって生成される画像データは、例えば、ＪＰＥＧ２０００規格によるタイルである。画像分割手段１１によって生成されるタイルの大きさは、周波数分解手段１２によって生成されるＬＬ成分のうち、最もレベルが高いＬＬ成分、すなわち、最もサブバンド分解処理を多く行われたＬＬ成分の領域の大きさに鑑みて定めるとよい。
【００３３】
より詳細には、周波数分解手段１２が、レベル３までのサブバンド分解を行う場合には、もっともレベルの高いＬＬ成分である３ＬＬ成分の領域の大きさは、縦横のサイズが、元の画像データに対して１／（２＾３）＝１／８となり、面積比では１／６４となる。そこで、３ＬＬ成分の領域に含まれるＬＬ成分の数が、ブロック暗号化処理のブロック長の整数倍になるためには、タイルに含まれる画素の数は、例えば、ブロック長の６４倍でもよい。
【００３４】
（本発明の一実施の形態に係る画像符号化装置の装置構成の例）
図２は、本発明の一実施の形態に係る画像符号化装置の装置構成の例を説明する図である。図２の画像符号化装置４０は、データバスを介して、ＨＤＤ４３、ＲＡＭ４２、及び、ＣＰＵ４１が接続されている。なお、ＣＰＵ４１とＲＡＭ４２とは、例えば、ＰＣの内部に設けられ、ＨＤＤ４３は、例えば、ＰＣの外部に接続される構成でもよい。
【００３５】
図２の画像符号化装置４０では、次の（Ｅ１）から（Ｅ４）の手順により、原符号が暗号化される。なお、図中の○で囲まれた１から４の数字は、以下の説明の（Ｅ１）から（Ｅ４）に対応する。
（Ｅ１）  ＨＤＤ４３に記録された原データが、ＣＰＵ４１からの命令により、ＲＡＭ４２に格納される。なお、原データとは、暗号化される前のデータであり、本発明の実施の形態では、例えば、周波数変換によって得られる変換係数、又は、その変換係数に対してエントロピー符号化を行うことにより得られるエントロピー符号である。
（Ｅ２）  ＣＰＵ４１が、ＲＡＭ４２に格納された原データを読み出し、暗号化の処理を行う。
（Ｅ３）  ＣＰＵ４１が、暗号化された符号をＲＡＭ４２の原データが格納されている領域とは別の領域に書き込む。
（Ｅ４）  ＣＰＵ４１の命令に基づき、暗号化された符号がＨＤＤ４３に記録される。
【００３６】
図２の画像符号化装置４０は、また、次の（Ｄ１）から（Ｄ４）の手順により暗号化された符号を復号する。
（Ｄ１）  ＨＤＤ４３に記録された暗号化された符号が、ＣＰＵ４１からの命令により、ＲＡＭ４２に格納される。
（Ｄ２）  ＣＰＵ４１が、ＲＡＭ４２に格納された符号を読み出し、暗号の復号処理を行う。
（Ｄ３）  ＣＰＵ４１が、復号化後の符号をＲＡＭ４２上の暗号化された符号が格納されている領域とは別の領域に書き込む。
（Ｄ４）  ＣＰＵ４１の命令に基づき、復号された画像のデータがＨＤＤ４３に記録される。
【００３７】
（暗号化方式の例）
図３は、本発明の一実施の形態に係る画像符号化装置によって行われる暗号化方式を説明する図である。図３の暗号化方式は、暗号化側と解読側とで同一の暗号鍵を秘密に共有する共通鍵暗号方式であり、より詳細には、適当な長さの文字列（ブロック）ごとに同じ鍵で暗号化を行う、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）方式の例である。
図３では、（１）から（６）までの手順により、ＡＥＳの処理が実現されている。
（１）データを１２８ビット長のブロックに分割する。
（２）ブロック中の１バイト毎に別の１バイトの値に置換する、ＳｕｂＢｙｔｅｓ処理を行う。
（３）ＳｕｂＢｙｔｅｓ処理の出力をバイト単位で混合する、ＳｈｉｆｔＲｏｗｓ処理を行う。
（４）４バイトの値を、ビット演算を用いて別の４バイトの値に変換する、ＭｉｘＣｏｌｕｍｎ処理を行う。
（５）ＭｉｘＣｏｌｕｍｎ処理の出力と、１２８ビットの鍵との排他的論理和をとる、ＡｄｄＲｏｕｎｄＫｅｙ処理を行う。
（６）上記（２）〜（５）を１０〜１４回繰り返す。例えば、１４回繰り返す。
となる．
なお、（５）において用いられる鍵は、予め用意された鍵の他に、用意された鍵と所定一方向性関数とにより生成される鍵でもよく、さらに、生成された鍵と所定の一方向性関数とにより生成される鍵でもよい。一方向性関数は、例えば、ハッシュ関数ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）を用いる。ＭＤ５は、任意長の入力Ａに対して１２８ビットのハッシュ値Ｂを出力する。ハッシュ値Ｂから入力Ａを推定することが困難であるため、入力Ａから出力Ｂを一方向に生成することができる。
【００３８】
また、図５は、共通鍵暗号方式の例であるが、本発明の実施の形態は、共通鍵暗号方式に限らず、ブロック長毎に暗号処理を行う暗号化方式であればよい。
【００３９】
（ＪＰＥＧ２０００規格の説明）
図４から図３０は、本実施の形態における画像符号化装置によって暗号化が行われる変換係数を生成する画像符号化処理を説明する図である。図４から図９は、ＪＰＥＧ２０００規格の概要であり、図１０及び図１１は、本実施の形態におけるタイル、コードブロック、サブバンド領域等の大きさを説明する図であり、図１２から図２０は、ＪＰＥＧ２０００規格によるコードストリームの構成の概要である。また、図２１から図２７は、ＺＯＩ（Ｚｏｎｅ  Ｏｆ  Ｉｎｆｌｕｅｎｃｅ）の設定に係る説明であり、図２８から図３０は暗号化処理の「粒度」に係る設定の説明である。なお、図４から図３０に基づいて行われる画像符号化処理によって生成される画像を復号する処理は、これらの図から容易に理解できるので、ここでは説明を省略する。
【００４０】
（ＪＰＥＧ２０００規格の概要）
図４から図９は、ＪＰＥＧ２０００規格の概要を説明する図であって、特にパケットのプログレッションオーダの理解を容易にするための図である。
【００４１】
（ＪＰＥＧ２０００規格による符号化処理又は復号処理における暗号化処理）
図４は、ＪＰＥＧ２０００規格による画像データの符号化処理及び符号データの復号処理における暗号化処理の概略を説明する図である。図５のＳ１では、タイルと呼ばれる矩形の領域に分割された画像データに対し、タイル毎に色コンポーネントに分割される。さらに、各色コンポーネントに対して、ＤＣレベルシフト処理が行われる。
【００４２】
Ｓ２では、タイル毎にウェーブレット変換が施される。これにより、ＬＬ成分、ＨＬ成分、ＬＨ成分、ＨＨ成分の４つの成分、すなわち、サブバンドが生成される。ＬＬ成分に対して再帰的にサブバンド変換処理を繰り返すことにより、１つのＬＬ成分と、複数のレベルの異なるＨＬ成分、ＬＨ成分、ＨＨ成分が生成される。
【００４３】
さらに、各サブバンドをプリシンクトと呼ばれる矩形に分割する。プリシンクトとは、サブバンドを矩形に分割したものであり、大まかには画像中の場所を表すものである。より詳細には、プリシンクトは、画像中の場所が対応するＨＬ成分、ＬＨ成分、及び、ＨＨ成分の３つの成分の「組」である。プリシンクトは、サブバンドの大きさと同一でもよい。
【００４４】
プリシンクトをさらに矩形に分割したものを、コードブロックという。そこで、物理的な大きさは、画像≧タイル＞サブバンド≧プリシンクト≧コードブロックの順となる。
【００４５】
図５は、画像、タイル、サブバンド、プリシンクト、及び、コードブロックの関係を説明する図である。また、図６は、サブバンドと解像度レベルとの関係を説明する図である。図６は、デコンポジションレベルが最大で３の場合の例である。なお、デコンポジションレベルとは、サブバンド変換を行う回数のことである。図６では、解像度レベル０が、デコンポジションレベルが最大の３ＬＬに対応している。
【００４６】
図４に戻り、Ｓ３では、Ｓ２のウェーブレット変換により生成したサブバンド毎に、量子化処理が行われる。本実施の形態では、図４のＳ３において、例えばＬＬサブバンドに対して暗号化の処理を行う。なお、暗号化処理を行う対象は、ＬＬサブバンドに限らず、いかなるサブバンドでもよく、また一のサブバンドの中の所定のプリシンクト又はコードブロックでもよい。
【００４７】
暗号化処理を行う対象を、最もサブバンドレベルが高いＬＬ成分とすることにより、サブバンドの成分の中で、最も画像の情報量が多い成分に対して暗号化処理を行うことができる。また、このＬＬ成分に対してのみ暗号化処理を行い、他の成分には暗号化処理を行わないことで、暗号化の処理量を低減することができ、全体の符号化処理の処理速度を高くし、又は、本実施形態の画像符号化装置の構成を簡易にすることができる。
【００４８】
また例えば、暗号化処理を行う対象を、最もサブバンドレベルが高いＬＬ成分の中の、所定のコードブロック又はプリシンクトにしてもよい。どのコードブロック又はプリシンクトを対象とするかは、例えば、画像が有する情報の中で、重要と判断される領域に係るコードブロック又はプリシンクトにすればよい。なお、重要性の判断は、例えば、ＲＯＩ（Ｒｅｇｉｏｎ  ｏｆ  Ｉｎｔｅｒｅｓｔ）領域等の情報に基づいてもよい。
【００４９】
また例えば、暗号化処理を行う対象を、所定のコードブロック又はプリシンクトの、所定のビットプレーンにしてもよい。より詳細には、例えば、所定のコードブロックのＭＳＢを暗号化することにより、最も情報量の多いビットに対して暗号化を行うことができる。
【００５０】
Ｓ４では、サブバンドをさらに分割したコードブロックと呼ばれる単位毎に、ウェーブレット変換係数に対して、ビットプレーン符号化が行われる。Ｓ４で行われるビットプレーン符号化は、エントロピー符号化である。
【００５１】
なお、本発明の実施の形態は、変換係数に対してエントロピー符号化が行われた後に、暗号化処理を行う構成でもよい。これにより、エントロピー符号化の処理の際に、暗号化されない変換係数に対するエントロピーに基づく処理を行うことができる。一方、暗号化された変換係数に対して、エントロピー符号化処理を行う場合には、暗号化された変換係数に対するエントロピーを鑑みることにより、より効率的に圧縮することができる。また一方、暗号化された変換係数に対するエントロピー符号化処理を、暗号化されない変換係数のエントロピーに基づいて行うことにより、画像符号化装置の構成を簡易にすることができる。
【００５２】
Ｓ５では、ビットプレーン符号化によって生成した符号のうち、不要な符号が破棄され、残る必要な符号がパケットと呼ばれる単位にまとめられる。なお、必要な符号とは、例えば、全てのコードブロックのＭＳＢ側から順に３番目のビットプレーンまでの符号を集めたものであり、コードブロック毎にビットプレーン単位又はレイヤ単位で選択してもよい。また、必要な符号とは、さらに、「空」の符号でもよく、すなわち、パケットの中身にＳ４で生成されたエントロピー符号がふくまれなくてもよい。
【００５３】
なお、パケットの先頭部に配されるパケットヘッダには、そのパケットに含まれる符号に係る情報が含まれる。これにより、生成される符号データから、パケット単位に符号を取得して処理することができる。
【００５４】
また、一のデコンポジションレベルに含まれている全てのプリシンクトのパケットにより、画像全体の符号の一部が形成される。すなわち、例えばＭＳＢ側から順に３番目のビットプレーンまでの符号が集められている場合には、そのビットプレーンまでの符号ができる。これをレイヤと呼ぶ。レイヤは、例えば、画像全体のビットプレーンの符号の一部である。そこで、レイヤの数が増えると、復号される画像の画質が向上する。換言すれば、レイヤの数は画質の単位である。
【００５５】
図７は、デコンポジションレベルが２、プリシンクトのサイズがサブバンドのサイズに等しい場合のレイヤと、そのレイヤに含まれるパケットを説明する図である。また、図８は、図７の例におけるパケットを説明する図である。パケットは、プリシンクトを単位としている。そこで、一のパケットは、プリシンクトを構成するＨＬ成分、ＬＨ成分、及び、ＨＨ成分を含むように構成される。図８では、いくつかのパケットについて、太線で囲んで例示する。
【００５６】
図４に戻り、Ｓ６では、Ｓ５で生成されたパケットを所定の順に並べて符号データが形成される。
【００５７】
（パケットを並べる順の説明）
図９は、パケットを並べる所定の順を説明する図である。パケットは、
どのコンポ−ネント（以下、記号「Ｃ」を用いて説明する。）に属するか、
どの解像度レベル（以下、記号「Ｒ」を用いて説明する。）に属するか、
どのプリシンクト、すなわち場所（以下、記号「Ｐ」を用いて説明する）に属するか、
どのレイヤ（以下、記号「Ｌ」を用いて説明する。）に属するか、
という４つの属性をヘッダ部に有する。パケットのヘッダ部をパケットヘッダという。パケットヘッダの後には、パケットデータが続く。パケットデータは、例えば、エントロピー符号であって、ＪＰＥＧ２０００規格による算術符号が行われた場合には、ＭＱ符号である。
【００５８】
すなわち、パケットの配列とは、パケットヘッダおよびパケットデータをどの属性の順に階層的に並べるかを意味する。この配列順をプログレッションオーダとよぶ。図９では、５通りが示されている。
【００５９】
パケットヘッダには、
・そのパケットが空かどうか
・そのパケットにどのコードブロックが含まれるか
・そのパケットに含まれる各コードブロックのゼロビットプレーン数
・そのパケットに含まれる各コードブロック符号のコーディングパス数、又は、さらにビットプレーン数
・そのパケットに含まれる各コードブロックの符号長
が記載されている。
【００６０】
（タイル、コードブロック、サブバンドの領域の大きさと、クラスタの領域との関係）
図１０及び図１１は、本実施の形態における、タイル、コードブロック、サブバンドの領域の大きさと、クラスタの領域の大きさとの関係を説明する図である。
【００６１】
ＪＰＥＧ２０００規格において、タイルの大きさ、すなわちタイルサイズが横ｗｉｄｔｈ、縦ｈｅｉｇｈｔであり、デコンポジションレベルがＬの場合には、ＬＬ成分のサイズは、横がｗｉｄｔｈ／（２＾Ｌ）、縦がｈｅｉｇｈｔ／（２＾Ｌ）である。なお、ＪＰＥＧ２０００規格では、画像の座標にオフセットを与えることが許容されているが、ここでは、説明を簡単にするために、オフセットを与えない例について説明する。通常、コードブロックのサイズとしては、このＬＬ成分の領域の大きさより小さな値を用いる。しかし、デコンポジションレベルによっては、ＬＬ成分の領域の大きさが、コードブロックより小さくなる場合が生じる。
【００６２】
そこで、本実施形態における画像符号化装置においては、クラスタであるビットプレーンによって構成される矩形領域の大きさとして、実際に符号化の対象となるコードブロックのサイズ、又は、ＬＬ成分の領域の大きさを用いる。より詳細には、ＬＬ成分の領域の大きさがコードブロックサイズに満たない場合には、矩形領域をＬＬ成分の領域とし、ＬＬ性便の領域の大きさがコードブロックサイズ以上の場合には、矩形領域をコードブロックの領域とする。
【００６３】
図１０は、クラスタの領域である矩形領域を説明する図である。図１０（Ａ）では、タイルの縦横の大きさが、それぞれ１２８であり、３ＬＬ成分の領域の大きさが、縦横１６である。したがって、コードブロックのサイズが縦横３２の場合、及び、６４の場合の、何れの場合においても、本実施の形態におけるクラスタの領域に係る「矩形領域」は、３ＬＬ成分の領域であり、その大きさは縦横１６、すなわち、２５６個の変換係数が含まれる。この値は、例えば、１２８ビットのブロック長によるブロック暗号方式が用いられる場合には、ブロック長の２倍となる。
【００６４】
図１０（Ａ）の例は、さらに、全てのデコンポジションレベルにおけるコードブロックの一のビットプレーンに含まれるビットの数が、１２８の倍数となる。したがって、３ＬＬ成分の他の成分についても、ブロック暗号化を行う場合に、暗号化処理によるビットの増分がない。なお、タイルに分割される前の画像データが、タイル又はコードブロックのサイズによる除算に対して剰余を有する場合には、画像の右端のコードブロック、又は、画像の下端のコードブロックに含まれるコードブロックに係るビットプレーンを暗号化処理する際に、ビット数の増加が生じる。しかし、タイルに分割される前の画像データが大きいほど、端のタイル又はコードブロックが、その他のタイル又はコードブロックに対する割合が小さくなるため、ここでのビットの増加は大きな増分とはならない。
【００６５】
なお、図１０（Ａ）の例では、プリシンクトサイズは、サブバンド領域のサイズに等しいとしている。しかし、本発明の実施の形態は、この例に限らない。ＪＰＥＧ２０００規格におけるプリシンクトサイズは、２＾Ｐ（但し、０≦Ｐ＜１４）であるので、この範囲で、プリシンクトサイズを、「矩形領域」のサイズに応じて選択すればよい。
【００６６】
図１１は、図１０（Ａ）の例における、３ＬＬ成分内のラスタースキャンを説明する図である。図１１では、上左端の変換係数のビットから順に右へ各ビットを連結し、最右のビットまで連結した後、続いて１行下の変換係数のビットを順に右へ連結している。これにより、図１１下に記す"１００１１００１・・・"なるビット列が生成される。ブロック長が１２８ビットの場合には、上半分の１２８ビットが連結されたものと、下半分の１２８ビットが連結されたものとに対して、それぞれ暗号化処理を行う。
【００６７】
図１０に戻り、図１０（Ｂ）は、３ＬＬ成分の領域の大きさが、コードブロックサイズ以上の場合を説明する図である。図１０（Ｂ）では、タイルサイズを縦横２５６画素としている。これにより、３ＬＬ成分に含まれる変換係数の数は、縦横３２個となる。したがって、コードブロックサイズが縦横１６の場合、及び、縦横３２の場合の何れの場合においても、一のコードブロックに含まれる変換係数の数は１２８の倍数となる。
【００６８】
図１０（Ｃ）は、３ＬＬ成分の領域の大きさが、コードブロックサイズに満たない場合の例であって、さらに、一の３ＬＬ成分の領域に含まれる変換係数の数が、ブロック暗号処理のブロック長に満たない場合の例である。
【００６９】
図１０（Ｃ）では、一のコードブロックに含まれる変換係数の数が６４個であり、ブロック暗号化のブロック長が１２８の場合には、その半分の数である。そこで、例えば、隣接する２つのビットプレーンに含まれるビットを連結することにより、ブロック長と等しい数のビットからなるクラスタを生成することができる。なお、隣接するビットプレーンとは、変換係数におけるビット位置が互いに１だけ異なるビットプレーンである。そこで、ビットプレーンが奇数枚の場合には、最上位に、例えば全て０の値を有する仮のビットプレーンを加えることにより、全てのビットプレーンに対して、「隣接するビットプレーン」を対応づける。
【００７０】
なお、図１０（Ｃ）の例では、デコンポジションレベルが２以下のコードブロックにおいては、各ビットプレーンに含まれるビットの数が１２８の倍数となる。したがって、ブロック暗号化処理によるビットの増分はない。また、デコンポジションレベルが３のコードブロックにおいては、隣接するビットプレーンの対に対してブロック暗号化処理を行うことにより、ビットの数が１２８となるため、「仮のビットプレーン」を除いては、増分が生じない。したがって、ブロック暗号化処理によるビット数の増加を低減することができる。
【００７１】
なお、本実施の形態では、ビットプレーン毎に暗号化処理を行う構成としている。これにより、例えば、ＪＰＥＧ２０００規格における最小単位であるパケット毎に破棄又は並べ替えを行う際には、そのパケットに含まれるパケットデータは、ビットプレーン毎となる。
【００７２】
ＪＰＥＧ２０００規格では、ビットプレーンが、さらに、コーディングパスによって分割された「サブビットプレーン」毎に、エントロピー符号化を行い、そのサブビットプレーン毎にパケットと対応づけられてよい。しかしながら、サブビットプレーン毎にブロック長の整数倍となるビット数を含ませることは、本実施の形態では考慮しない。
【００７３】
（ＪＰＥＧ２０００コードストリームの概要）
図１２から図２０は、ＪＰＥＧ２０００コードストリームの概要を説明する図であって、特にＪＰＥＧ２０００のコードストリームにセキュリティを鑑みて暗号化処理等を行う規格である、ＪＰＳＥＣ（ＳＥＣｕｒｅ  ＪＰｅｇ２０００）を説明する図である。なお、ＪＰＳＥＣとは、ＩＳＯ／ＩＥＣ１５４４４−８に定められている規格である。なお、以下の実施の形態では、ＪＰＳＥＣで定められている「ノーマティブツール」そのものに準拠してはいない。すなわち、ノーマティブツールが、本実施の形態に係るビットプレーン毎の暗号化処理を規定してはいない。そこで、類似のマーカを用いて同様の機能を実現する。
【００７４】
ＪＰＳＥＣでは、ＪＰＥＧ２０００規格により符号化された画像の所定の領域を暗号化し、適切な権限を有さない場合には、その領域の画像を参照することを許可しないようにすることができる。このような暗号化等のセキュリティを施す処理を行うソフトウェア又はハードウェアをＪＰＳＥＣツールと言い、その暗号化した「ある領域」をＺＯＩ（Ｚｏｎｅ  Ｏｆ  Ｉｎｆｌｕｅｎｃｅ）と称する。以下の実施の形態では、ＺＯＩは３ＬＬサブバンドとする。
【００７５】
ところで、ＪＰＥＧ２０００規格では、コードストリームに暗号化を施す場合、新たにＪＰＳＥＣ用のマーカセグメントを追加することが定められている。なお、マーカセグメントとは、マーカと呼ばれる所定のコードとそのマーカに続く一連のデータ群をいう。マーカは、マーカセグメント又はマーカに続くその他のデータの内容等を表すコードである。
【００７６】
図１２は、ＪＰＳＥＣ用のマーカセグメントを含むコードストリームを説明する図である。図１２（Ａ）は、暗号化が行われていないコードストリームの例であり、図１２（Ｂ）は、少なくとも一部に暗号化が行われているコードストリームの例である。図１２（Ｂ）において、網掛けされた「ＳＥＣ」マーカセグメントが、暗号化されたことを示すマーカセグメントである。より詳細には、ＳＥＣマーカセグメントは、メインヘッダのＳＩＺマーカ以降の位置に配されている。
【００７７】
図１３は、ＳＥＣマーカセグメントの構成を説明する図である。図１３では、ＳＥＣマーカに続いて、ＳＥＣマーカセグメントの長さを表す情報等が配されている。図１３中のＰＳＥＣは暗号化に係るパラメータ等であり、その詳細は図１４に記す。また、図１３中のＴｏｏｌ（ｉ）は、このコードストリームに対して複数のＪＰＳＥＣツールが用いられている場合に、ｉ番目のＪＰＳＥＣツールに関するパラメータである。
【００７８】
図１４は、図１３中のＰＳＥＣの詳細を説明する図である。図１４中、ＦＰＳＥＣは、コードストリーム中のＩＮＳＥＣの有無、ＳＥＣマーカセグメントが複数あるか否か等の情報を含む。また、Ｎｔｏｏｌｓは、ＪＰＳＥＣツールの数を表す情報を含み、Ｉｍａｘは、ツールｉｎｄｅｘの最大値の情報を含む。
【００７９】
図１５は、図１３中のＴｏｏｌ（ｉ）の詳細を説明する図である。図１５におけるｔは、ツールタイプが、ＪＰＥＧ２０００規格によるノーマティブツールか否か、を表す。また、ＩＤは、ノーマティブツールの場合に、そのテンプレートを表す値であって、詳細は図１６に記されている。本実施の形態では、解除テンプレートに対応する値１を有する。
【００８０】
また、図１５中のＺＯＩについては、図２１以降で詳述する。図１５中のＰＩＤは、ツールのパラメータであって、その詳細は図１７に示されている。図１７において、ＴＩＤは、指定したテンプレートＩＤに対応するテンプレートパラメータであり、その詳細は図１８に示されている。また、Ｇは、暗号化の処理の「粒度」を表す。すなわち、どの程度の精度で暗号化処理を行うかを表す情報である。粒度については、図２８以降で詳述する。
【００８１】
図１８は、図１７中の、ＴＩＤの詳細を説明する図である。図１８中のＣＴｄｅｃｒｙが、暗号化タイプを表すＩＤであり、その詳細を、図１９に示す。さらに図１９において、暗号化タイプがブロック暗号化に対応する場合のＣＴｄｅｃｒｙの値を図２０に示す。
【００８２】
本実施の形態では、ＳＥＣマーカセグメントは１つとし、ＩＮＳＥＣマーカセグメントは用いない。ＪＰＳＥＣツールの数は１、ツールｉｎｄｅｘは１であり、ＪＰＳＥＣツールは、ノーマティブツールであるＡＥＳを用いる。したがって、図１８におけるＣＴｄｅｃｒｙの値は、０ｘ０００１である。なお、本発明の実施の形態はこの例に限らない。
【００８３】
（ＺＯＩの設定の説明）
図２１から図２７は、ＺＯＩの設定を説明する図である。図２１は、図１５のＴｏｏｌ（ｉ）に含まれている、ＺＯＩの詳細を説明する図である。図２１のＺＯＩには、ゾーンの個数であるＮＺＺＯＩ、及び、各ゾーンに関するパラメータであるＺｏｎｅｉが含まれている。図２１に示すように、ＺＯＩはＺｏｎｅの集合として定義される。Ｚｏｎｅｋの詳細を、図２２に示す。
【００８４】
図２２では、Ｚｏｎｅが、記述クラスとパラメータとで表現されている。図２２において、ＤＣｚｏｉｋが、ｋ番目のゾーンの記述クラスである。ゾーン記述クラスの構造を、図２３に、ゾーン記述クラスの記述内容を図２４に示す。
【００８５】
図２３及び図２４より、一のＺｏｎｅは、実空間での画像領域、又は、周波数係数空間での解像度成分等の画像に関係したパラメータを用いて指定してもよく、また、符号化後の所定のパケットのように、画像とは直接関係しないパラメータによって指定してもよい。これら二種類の指定のどちらを選択するかを、ゾーン記述クラスのｘのビットとして指定する。また、ゾーン記述クラスの記述内容のうち、画像に関係する記述クラスの内容を図２５に示す。
【００８６】
図２２に戻り、Ｐｚｏｉ０、ｋは、そのゾーンの記述クラスに対応するゾーン記述パラメータであって、詳細は図２６に示されている。図２６中のＭｚｏｉは、ＺＯＩのモードであって、その値に対応する内容、すなわち、セマンティクスは、図２７に示されている。
【００８７】
また、Ｎｚｏｉは、ＺＯＩの個数であり、その個数に対応する数のＩｚｏｉが、Ｎｚｏｉの後ろに続く。
【００８８】
本実施の形態では、例えば、画像に関係する記述クラスを用いる。すなわち、３ＬＬのサブバンド全体を暗号化する場合には、図２５において９のビット番号を１に、プリシンクトを暗号化する場合には６のビット番号を１に、コードブロックの場合は１０のビット番号を１に設定する。
【００８９】
（粒度に係る説明）
図２８から図３０は、暗号化の処理の「粒度」に係る設定を説明する図である。粒度とは、どの単位でセキュリティをかけるかの情報であって、暗号化の処理を行う単位を表す情報である。図２８は、図１７中のＧの詳細である。図２８中、ＰＯは、処理順序を表し、ＧＬは、粒度を表す。図２９は、ＰＯの取り得る値とその意味の例であり、図３０は、ＧＬの取り得る値とその意味の例である。ＺＯＩで指定された領域全体に対して暗号化の処理を行う場合、ＰＯ値は０である。
【００９０】
（本実施の形態におけるパラメータの例）
図３１から図３３は、図１２から図３０で説明したＪＰＥＧ２０００規格によるコードストリームの一部に暗号化を行う際に設定するパラメータの例を説明する図であって、主として図２１から図２７で説明したＺＯＩの設定内容を説明する図である。なお、数字の末尾の'ｂ'の文字は、その数字が２進数表現であることを表す。
【００９１】
図３１は、３ＬＬサブバンド、すなわち、解像度レベル０のＬＬサブバンドを暗号化する場合の設定の例である。図３１のａ１は、ＤＣｚｏｉ１の３番目のビットが１に設定されており、図２５より、解像度レベルが設定されていることが判る。また、ｂ１は、ＤＣｚｏｉ２の３番目のビット、すなわち、ＤＣｚｏｉの９番目のビットが１に設定されているので、図２５より、サブバンドが設定されていることが判る。
【００９２】
そこで、ａ１に対応するｌｚｏｉ３であるａ２を参照すると、解像度レベルの値として０が設定されている。すなわち、解像度レベル０を暗号化することを表している。同様に、ｂ１に対応するｌｚｏｉ８であるｂ２を参照すると、サブバンドの値として０が設定されている。すなわち、ＬＬサブバンドを暗号化することを表している。
【００９３】
図３２は、３ＬＬサブバンド、すなわち、解像度レベル０のＬＬサブバンドの左上のプリシンクト１つだけを暗号化する場合の設定の例である。図３２のｃ１は、ＤＣｚｏｉ１の３番目のビットと６番目のビットとが１に設定されており、図２５より、解像度レベルとプリシンクトとが設定されていることが判る。そこで、ｃ１の３番目のビットに対応するｌｚｏｉ８であるｃ２を参照すると、サブバンドの値として０が設定されており、ＬＬサブバンドを暗号化することが表されている。
【００９４】
また、ｃ１の６番目のビットに対応するｌｚｏｉ８であるｃ３及びｃ４を参照すると、暗号化を行う矩形領域の値としてそれぞれ０が設定されている。ｃ３は、矩形領域の左上のプリシンクト番号を表し、ｃ４は、矩形領域の右下のプリシンクト番号を表す。左上と右下のプリシンクト番号が何れも０であることから、図３２の設定によれば、左上の一のプリシンクトに対して暗号化処理を行うことが判る。
【００９５】
なお、図３２においてｄ１及びｄ２の設定は、図３１のｂ１及びｂ２の設定と同一であるので、ここでは説明を省略する。
【００９６】
図３３は、３ＬＬサブバンド、すなわち、解像度レベル０のＬＬサブバンドの左上のコードブロック１つだけを暗号化する場合の設定の例である。図３３のｅ１及びｅ２の設定は、図３１のａ１及びａ２の設定と同一であるので、ここでは説明を省略する。
【００９７】
図３３のｆ１は、ＤＣｚｏｉ２の３番目のビットと４番目のビットとが１に設定されており、図２５より、サブバンドとコードブロックとが設定されていることが判る。そこで、ｆ１の３番目のビットに対応するｌｚｏｉ８であるｃ２を参照すると、サブバンドの値として０が設定されており、ＬＬサブバンドを暗号化することが表されている。
【００９８】
また、ｆ１の４番目のビットに対応するｌｚｏｉ９であるｆ３及びｆ４を参照すると、暗号化を行う矩形領域の値としてそれぞれ０が設定されている。ｆ３は、矩形領域の左上のコードブロック番号を表し、ｆ４は、矩形領域の右下のコードブロック番号を表す。左上と右下のコードブロック番号が何れも０であることから、図３３の設定によれば、左上の一のコードブロックに対して暗号化処理を行うことが判る。
【００９９】
図３１から図３３によりＺＯＩを設定し、さらに、暗号化する粒度として「ＺＯＩで指定された全領域、すなわち、値として"００００１００１ｂ"」を指定して、そのＺＯＩで指定された全領域に対して、設定にしたがって暗号化の処理を行う。これにより、本実施の形態に係る暗号化の処理に用いられたノーマティブツールに類似のツールに対する鍵が無い場合には、そのＺＯＩの暗号を解除することができない。
【０１００】
（本実施の形態に係る暗号化処理を含む画像符号化処理の例）
図３４は、本実施の形態に係る暗号化処理を含む画像符号化処理の例を説明するフロー図である。図３４では、ＪＰＥＧ２０００規格による画像符号化処理における変換係数のうち、所定の領域の変換係数に対して、ビットプレーン毎に暗号化処理が行われる。図３４のステップＳ１０１では、画像分割手段１１が、ウェーブレット変換の種類とデコンポジションレベルの数を決定する。ここでは、例えば、５ｘ３ウェーブレット変換を、デコンポジションレベル３まで行うとする。ステップＳ１０１に続いてステップＳ１０２に進み、暗号化処理の種類を決定する。ここでは、ブロック長が１２８ビットのＡＥＳ方式により暗号化を行うとする。
【０１０１】
ステップＳ１０２に続いてステップＳ１０３に進み、ステップＳ１０１で決定されたデコンポジションレベル、及び、ステップＳ１０２で決定された暗号化方式によるブロック長に基づき、画像分割手段１１が、タイルサイズを決定し、クラスタ生成手段１３が、コードブロックサイズ、及び、プリシンクトのサイズを決定する。ここでは、例えば、図１０（Ａ）から図１０（Ｃ）の何れか一のタイルサイズ、コードブロックサイズ、及び、プリシンクトのサイズの組が選択される。さらに、画像分割手段１１によって、入力される画像データがタイルに分割される。
【０１０２】
ステップＳ１０３に続いてステップＳ１０４に進み、周波数分解手段１２が、一のタイルに対してウェーブレット変換を行う。ステップＳ１０４に続いてステップＳ１０５に進み、クラスタ生成手段１３が、ステップＳ１０４のウェーブレット変換により生成した３ＬＬ成分のうち、所定のビットプレーンに対して、暗号化処理を行う。所定のビットプレーンとは、例えば、ステップＳ１０３で選択されたタイルサイズ等の組が、図１０（Ａ）の場合には、最上位のビットプレーンでよい。
【０１０３】
所定のビットプレーンとは、また例えば、ステップＳ１０３で選択されたタイルサイズ等の組が、図１０（Ｂ）の場合には、変換係数の極性を表すビットプレーンと、最上位のビットプレーンでもよい。
【０１０４】
所定のビットプレーンとは、また例えば、ステップＳ１０３で選択されたタイルサイズ等の組が、図１０（Ｃ）の場合には、変換係数の絶対値を表すビットプレーンのそれぞれ隣接する組である。なお、絶対値を表すビットプレーンが奇数枚の場合には、最上位のビットプレーンに対しては、仮のビットプレーンとして、値が全て１であるビットプレーンを対応づけてよい。
【０１０５】
なお、以上のビットプレーンの選択に係る情報は、本実施の形態では、後に生成される符号データには含まれない。したがって、本実施の形態に係る画像符号化装置によって、所定のビットプレーンのみが暗号化された符号データを復号する画像復号装置等では、例えば、どのビットプレーンが暗号化されているのかの情報と、暗号を解除する鍵とを、予め取得する。本発明の他の実施の形態では、ビットプレーンの選択に係る情報が、後に生成される符号データ、又は、その符号データを格納するコンテナの役割を有するシステムパケット等によって保持されてよい。
【０１０６】
ステップＳ１０５に続いてステップＳ１０６に進み、エントロピー符号化手段１４が、ステップＳ１０５で暗号化処理された３ＬＬ成分のビットプレーン、暗号化処理されない３ＬＬ成分のビットプレーン、及び、その他のサブバンドのビットプレーン含む全てビットプレーンに対し、エントロピー符号化を行い、エントロピー符号を生成する。
【０１０７】
ステップＳ１０６に続いてステップＳ１０７に進み、クラスタ制御手段１６が、ＳＥＣマーカを生成する。ステップＳ１０７に続いてステップＳ１０８に進み、クラスタ制御手段１６が、ＺＯＩマーカを生成する。これにより、ステップＳ１０４でウェーブレット変換が行われたタイルを構成するパケットが生成される。
【０１０８】
ステップＳ１０８に続いてステップＳ１０９に進み、全てのタイルに対する処理が終了したか否かの判断が行われる。全てのタイルに対する処理が終了している場合には、ステップＳ１１０に進み、終了していない場合には、ステップＳ１０４に戻って処理を繰り返す。
【０１０９】
ステップＳ１０９に続くステップＳ１１０では、クラスタ制御手段１６が、ステップＳ１０８までに生成されたパケットを、目標とする符号量に応じて取捨選択し、さらに、所定のプログレッションオーダに基づいて並べることにより、符号データを生成する。
【０１１０】
（コンピュータ等による実現）
なお、本発明の実施の形態に係る画像符号化方法は、例えばパーソナルコンピュータ（ＰＣ）等で実現されるものである。以上の実施形態の動作処理は、例えば、ＣＰＵがＲＯＭやハードディスク装置等に記憶されたコンピュータプログラムに従い、ＲＡＭ等のメインメモリをワークエリアとして使用し、実行及び処理される。またそのコンピュータプログラムは、例えば、ＣＤやＤＶＤ等のドライブに挿入されることによりコンピュータ読み取り可能となる情報記録媒体に格納されてもよい。
【０１１１】
以上の実施の形態は、画像符号化方式としてＪＰＥＧ２０００規格による例を説明したが、本発明の実施の形態はこの例に限らない。エントロピー符号に係るクラスタ毎に破棄又は並べ替え等の操作を行う画像符号化方法において、エントロピー符号化前のクラスタ、又は、エントロピー符号化後のクラスタ毎に、ブロック暗号化処理を行う構成であればよい。
【０１１２】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施の形態に係る画像符号化装置の機能構成の例を示す図。
【図２】本発明の一実施の形態に係る画像符号化装置の装置構成の例の図。
【図３】発明の一実施の形態に係る画像符号化装置によって行われる暗号化方式を説明する図。
【図４】ＪＰＥＧ２０００規格による画像データの符号化処理及び符号データの復号処理における暗号化処理の概略を説明する図
【図５】画像、タイル、サブバンド、プリシンクト、及び、コードブロックの関係を説明する図。
【図６】サブバンドと解像度レベルとの関係を説明する図。
【図７】レイヤとレイヤに含まれるパケットとを説明する図。
【図８】図７の例におけるパケットを説明する図。
【図９】プログレッションオーダを説明する図。
【図１０】タイル、コードブロック、サブバンドの領域の大きさと、クラスタの領域の大きさとの関係を説明する図。
【図１１】３ＬＬ成分内のラスタースキャンを説明する図。
【図１２】ＪＰＳＥＣ用のマーカセグメントを含むコードストリームを説明する図。
【図１３】ＳＥＣマーカセグメントの構成を説明する図。
【図１４】ＰＳＥＣの詳細を説明する図。
【図１５】Ｔｏｏｌ（ｉ）の詳細を説明する図。
【図１６】テンプレート値とその値に対応する意味とを説明する図。
【図１７】ＰＩＤの詳細を説明する図。
【図１８】ＴＩＤの詳細を説明する図。
【図１９】ＣＴｄｅｃｒｙの詳細を説明する図。
【図２０】ブロック暗号化に対応する場合のＣＴｄｅｃｒｙの値を説明する図。
【図２１】ＺＯＩの詳細を説明する図。
【図２２】Ｚｏｎｅｋの詳細を説明する図。
【図２３】ゾーン記述クラスの構造を説明する図。
【図２４】ゾーン記述クラスの記述内容を説明する図。
【図２５】ゾーン記述クラスの画像に関係する記述クラスの内容を説明する図。
【図２６】ゾーン記述パラメータＰｚｏｉ０、ｋの詳細を説明する図。
【図２７】ＺＯＩのモードＭｚｏｉの値に対応する内容を説明する図。
【図２８】Ｇの詳細を説明する図。
【図２９】ＰＯの取り得る値とその意味の例を説明する図。
【図３０】ＧＬの取り得る値とその意味の例を説明する図。
【図３１】ＪＰＥＧ２０００規格によるコードストリームの一部に暗号化を行う際に設定するパラメータの例の図（その１）。
【図３２】ＪＰＥＧ２０００規格によるコードストリームの一部に暗号化を行う際に設定するパラメータの例の図（その２）。
【図３３】ＪＰＥＧ２０００規格によるコードストリームの一部に暗号化を行う際に設定するパラメータの例の図（その３）。
【図３４】ＪＰＥＧ２０００規格による画像符号化処理における変換係数のうち、所定の領域の変換係数を暗号化する処理の例のフロー図。
【符号の説明】
【０１１４】
１０  画像符号化装置
１１  画像分割手段
１２  周波数分解手段
１３  クラスタ生成手段
１４  エントロピー符号化手段
１５  暗号化手段
１６  クラスタ制御手段
４０  画像符号化装置
４１  ＣＰＵ
４２  ＲＡＭ
４３  ＨＤＤ
【図１】
2009071500.tif 000003
【図２】
2009071500.tif 000004
【図３】
2009071500.tif 000005
【図４】
2009071500.tif 000006
【図５】
2009071500.tif 000007
【図６】
2009071500.tif 000008
【図７】
2009071500.tif 000009
【図８】
2009071500.tif 000010
【図９】
2009071500.tif 000011
【図１０】
2009071500.tif 000012
【図１１】
2009071500.tif 000013
【図１２】
2009071500.tif 000014
【図１３】
2009071500.tif 000015
【図１４】
2009071500.tif 000016
【図１５】
2009071500.tif 000017
【図１６】
2009071500.tif 000018
【図１７】
2009071500.tif 000019
【図１８】
2009071500.tif 000020
【図１９】
2009071500.tif 000021
【図２０】
2009071500.tif 000022
【図２１】
2009071500.tif 000023
【図２２】
2009071500.tif 000024
【図２３】
2009071500.tif 000025
【図２４】
2009071500.tif 000026
【図２５】
2009071500.tif 000027
【図２６】
2009071500.tif 000028
【図２７】
2009071500.tif 000029
【図２８】
2009071500.tif 000030
【図２９】
2009071500.tif 000031
【図３０】
2009071500.tif 000032
【図３１】
2009071500.tif 000033
【図３２】
2009071500.tif 000034
【図３３】
2009071500.tif 000035
【図３４】
2009071500.tif 000036