JP2009071500A - 画像符号化装置、及び、画像符号化方法 - Google Patents
画像符号化装置、及び、画像符号化方法 Download PDFInfo
- Publication number
- JP2009071500A JP2009071500A JP2007236743A JP2007236743A JP2009071500A JP 2009071500 A JP2009071500 A JP 2009071500A JP 2007236743 A JP2007236743 A JP 2007236743A JP 2007236743 A JP2007236743 A JP 2007236743A JP 2009071500 A JP2009071500 A JP 2009071500A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- encryption
- image
- entropy
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】操作されるクラスタ毎に暗号化を行う際に、暗号化によるビット数の増加を低減する画像符号化装置、及び、画像符号化方法を提供すること。
【解決手段】画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、前記暗号化手段によって暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、を有し、前記クラスタ生成手段は、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化装置。
【選択図】図1
【解決手段】画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、前記暗号化手段によって暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、を有し、前記クラスタ生成手段は、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化装置。
【選択図】図1
Description
本発明は、画像符号化装置、及び、画像符号化方法に関する。
従来から、画像や音声のデータ又はそれらのデータが圧縮された符号データを暗号化する技術がある。例えば、JPEG2000規格ファミリーの中のJPSECと呼ばれる規格(非特許文献1参照。)には、周波数分解されて得られた変換係数や、エントロピー符号に対して、DES(Data Encryption Standard)又はAES(Advanced Encryption Standard)等の方式による暗号化を行った場合に、その暗号化の方式に係る情報を符号データ中にマーカとして含ませることが記載されている。
ところで、画像又は音声等が圧縮された符号データは、複数の構成要素を含んで構成され、全体のデータから最小の構成要素までの間に、複数の構成要素のクラスタを含む中間の構成要素が含まれる、所謂「入れ子」の構造を有している。そこで、構成要素毎に暗号鍵を異ならせると、多くの暗号鍵を管理する必要が生じ、鍵の管理が煩雑になる。
そこで、一の構成要素の鍵をもとに、他の構成要素の鍵を生成させることが考えられる。例えば、特開2004−40248号公報(特許文献1)には、解像度レベルの下位のパケットに対応した鍵をもとに、一方向性関数を用いて、解像度レベルの上位のパケットに対応する鍵を生成することが記載されている。
なお、パケットとは、JPEG2000規格による符号データにおける最小の構成要素である。このJPEG2000規格では、パケット毎にそのパケットを破棄し、又は、パケット間の並び順を定める等の操作が許容されている。そこで、ブロック暗号化を行う場合には、パケット毎に暗号化を行うことにより、暗号化されたパケットに対しても、それらの操作を行うことができる。
特開2004−40248号公報
ISO/IEC 15444−8 Information technology − JPEG 2000 image coding system: Secure JPEG 2000
ISO/IEC 15444−1 JPEG 2000 image coding system: Core coding system
しかしながら、ブロック暗号化においては、入力されるビット数がいかなる値であっても、出力される暗号データは、ブロック長と等しくなる。そこで、パケット毎に暗号化を行う場合に、パケットに含まれるビット数がブロック長と無関係に定められていると、画像や音声のデータを符号化して圧縮しているにも関わらず、暗号化によるビット数の増加が生じるが、上記特許文献1に記載の技術では、そのようなことは考慮されていない。
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、操作されるクラスタ毎に暗号化を行う際に、暗号化によるビット数の増加を低減する画像符号化装置、及び、画像符号化方法を提供することを目的としている。
上記目的を達成するために、本発明の画像符号化装置は次の如き構成を採用した。
本発明の画像符号化装置は、画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、前記暗号化手段によって暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、を有し、前記クラスタ生成手段は、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とするように構成することができる。
これにより、操作されるクラスタ毎に暗号化を行う際に、暗号化によるビット数の増加を低減する画像符号化装置を提供することができる。
なお、上記課題を解決するため、本発明は、さらに、上記画像符号化装置が備える各手段の機能を実現する画像符号化方法としてもよい。
本発明の画像符号化装置、及び、画像符号化方法によれば、操作されるクラスタ毎に暗号化を行う際に、暗号化によるビット数の増加を低減する画像符号化装置、及び、画像符号化方法を提供することが可能になる。
本発明の実施の形態の説明に先んじて、本発明の実施の形態によって解決しようとする課題とその背景技術について、より詳細に説明する。
セキュリティーニーズの高まりに伴い、画像データを圧縮して生成する符号データ又は画像データを圧縮する際に生成する様々な係数データ等を暗号化することがある。例えば、JPEG2000規格に定められる符号データのフォーマットにおいては、周波数分解後の変換係数や、その変換係数に対して可変長符号化処理等を行って生成するエントロピー符号に対して、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等の暗号化を施し、それらの暗号化がなされていることを示すシグナルを符号データ中にマーカとして入れてよいことが定められている。
JPEG2000規格による符号データは、パケットと呼ばれる符号の単位をプログレッションオーダ順に並べたものである。そこで例えば、パケット毎のエントロピー符号を、パケット毎に対応する個別の暗号キーを用いて暗号化することができる。この場合、パケットとキーは1対1に対応づけられ、暗号化を行う側及び暗号を復号する側では、多くの暗号解除鍵(以下、「暗号鍵」又は「鍵」という。)を管理又は配信する処理が必要になる。
そこで、パケットが所定の順に配列されていることを利用して、ある位置のパケットの鍵に対して、一方向性関数を適用することにより、そのパケットに隣接するパケットの鍵を順次生成する方法がある。この方法では、暗号化側からは一のパケットに対応する鍵が配信され、復号側では、その鍵に基づいて隣接するパケットの鍵を順次生成する。これにより、鍵が配信されたパケットの他のパケットに対する鍵を生成できるため、鍵の管理が容易になる。
ところで、JPEG2000符号データの特徴の一に、パケットの抽出や再配列ができるということがある。そこで、符号データに対して再配列が行われると、上記の隣接関係が崩れる場合がある。このような場合には、再配列された後の一のパケットに対応した鍵に基づいて、隣接するパケットの鍵を生成できるとは限らず、鍵の管理が複雑になる。
そこで、パケットの再配列と鍵の管理又は配信処理を容易にすることとを両立させるために、パケットの配列における制限に基づいて、鍵の生成の依存関係を決定することができる。より詳細には、例えば、一つのプログレッション属性内では、パケットの並びは昇順と定められていることを利用する。すなわち例えば、解像度0のパケットよりも先に解像度1のパケットが来ることはないので、解像度レベルの下位のパケットに対応する鍵に対して一方向性関数を用い、解像度レベルが上位のパケットに対応する鍵を生成する(特許文献1参照)。
パケットの再配列と鍵の管理又は配信処理を容易にすることとを両立させるために、また例えば、再配列とは関係のない状態で暗号化を行うことが考えられる。例えば、JPEG2000規格による符号データでは、周波数分解後の変換係数に対して暗号化を施し、その後エントロピー符号化処理を行うことが許容されている。JPEG2000規格では、さらに、変換係数に対して暗号化を行う場合は、暗号化する変換係数の位置を自由に選択してよいことが定められている。
そこで、変換係数に対する暗号化の形態として、次の2つの適用形態が考えられる。
(1)一の変換係数単位、又は複数の変換係数をまとめた単位に対して、暗号化を行う。
(2)一のビットプレーン単位、または複数のビットプレーンをまとめた単位に対して、暗号化を適用する。
(1)一の変換係数単位、又は複数の変換係数をまとめた単位に対して、暗号化を行う。
(2)一のビットプレーン単位、または複数のビットプレーンをまとめた単位に対して、暗号化を適用する。
以下の実施の形態では、(2)の形態について述べる。以下、本発明の実施の形態を図面に基づき説明する。
〔本発明の実施の形態〕
図1は、本発明の実施の形態に係る画像符号化装置の機能構成の例を説明する図である。図1の画像符号化装置10は、例えば、クラスタ生成手段13、エントロピー符号化手段14、暗号化手段15、及び、クラスタ制御手段16を有する。画像形成装置10は、またさらに、画像分割手段11、及び、周波数分解手段12を有してもよい。
図1は、本発明の実施の形態に係る画像符号化装置の機能構成の例を説明する図である。図1の画像符号化装置10は、例えば、クラスタ生成手段13、エントロピー符号化手段14、暗号化手段15、及び、クラスタ制御手段16を有する。画像形成装置10は、またさらに、画像分割手段11、及び、周波数分解手段12を有してもよい。
クラスタ生成手段13は、周波数分解手段12によって画像データが周波数分解されることにより得られた変換係数から、所定のビットのかたまりであるクラスタを取得する。クラスタ生成手段13は、例えば、変換係数からなる空間を、矩形領域に分割し、その矩形領域を構成する変換係数のビットプレーンを、クラスタとする。なお、ビットプレーンとは、複数の変換係数の中で、ビット位置が同じビットからなる、ビット深度が1ビットの画像データである。
クラスタ生成手段13によって分割されて生成する矩形領域には、暗号化手段15が行うブロック暗号化処理のブロック長の整数倍に等しい数の変換係数が含まれるとよい。これにより、一のビットプレーンに含まれるビット数が、暗号化処理のブロック長の整数倍となり、暗号化処理の前と後とでビット数が増加しない。したがって、画像符号化装置10によって生成される符号データの圧縮効率を暗号化処理によって低下させなくて済む。
クラスタ生成手段13によって生成されるクラスタは、例えば、JPEG2000符号化方式による画像符号化において、一のコードブロックを構成する一のビットプレーンである。クラスタは、また例えば、一のプリシンクトを構成する一のビットプレーンでもよい。
なお、JPEG2000規格では、コードブロックの縦及び横のサイズは、2のべき乗で表され、その値の範囲は2^2〜2^10である。但し、「A^B」は、「AのB乗」を表す。さらに、横方向のべき乗の指数xcbと縦方向のべき乗の指数ycbは、xcb+ycb≦12の制限が設けられている。
エントロピー符号化手段14は、クラスタ生成手段13によって生成されたクラスタ毎に、エントロピー符号化処理を行い、エントロピー符号を生成する。エントロピー符号化手段14は、また例えば、暗号化手段15によって暗号化されたクラスタ毎に、エントロピー符号化処理を行う。
暗号化手段15は、クラスタ生成手段13によって生成されたクラスタ毎に暗号化処理を行う。暗号化手段15は、また例えば、エントロピー符号化手段14によって生成されたエントロピー符号に対して、クラスタ毎に暗号化処理を行う。暗号化手段15による暗号化処理は、例えばDES暗号方式、又は、AES暗号方式等のブロック暗号方式である。
クラスタ制御手段16は、エントロピ-符号化手段14又は暗号化手段15から出力される暗号化処理とエントロピー符号化処理を行われたクラスタ毎に、そのクラスタを破棄するか否かの判断を行う。クラスタ制御手段16は、さらに、その判断結果に基づいて、破棄しないと判断したクラスタからなる符号データを生成してよい。
クラスタ制御手段16は、また例えば、クラスタ間の並び順を定める複数のルールの一にしたがって、クラスタを並べることにより、符号データを生成する。クラスタ間の並び順を定めるルールとは、例えば、JPEG2000規格によるプログレッションオーダである。
周波数分解手段12は、画像データを周波数分解して変換係数を生成する。周波数分解手段12は、例えば、離散ウェーブレット変換または離散コサイン変換等により、周波数分解を行う。JPEG2000規格による符号化が行われる場合には、周波数分解手段12は、離散ウェーブレット変換を行い、縦方向低域横方向低域成分(以下、「LL成分」という。)に対して、再帰的にサブバンド分解を行う。
画像分割手段11は、入力される大なる画像データが分割された画像データを生成する。画像分割手段11によって生成される画像データは、例えば、JPEG2000規格によるタイルである。画像分割手段11によって生成されるタイルの大きさは、周波数分解手段12によって生成されるLL成分のうち、最もレベルが高いLL成分、すなわち、最もサブバンド分解処理を多く行われたLL成分の領域の大きさに鑑みて定めるとよい。
より詳細には、周波数分解手段12が、レベル3までのサブバンド分解を行う場合には、もっともレベルの高いLL成分である3LL成分の領域の大きさは、縦横のサイズが、元の画像データに対して1/(2^3)=1/8となり、面積比では1/64となる。そこで、3LL成分の領域に含まれるLL成分の数が、ブロック暗号化処理のブロック長の整数倍になるためには、タイルに含まれる画素の数は、例えば、ブロック長の64倍でもよい。
(本発明の一実施の形態に係る画像符号化装置の装置構成の例)
図2は、本発明の一実施の形態に係る画像符号化装置の装置構成の例を説明する図である。図2の画像符号化装置40は、データバスを介して、HDD43、RAM42、及び、CPU41が接続されている。なお、CPU41とRAM42とは、例えば、PCの内部に設けられ、HDD43は、例えば、PCの外部に接続される構成でもよい。
図2は、本発明の一実施の形態に係る画像符号化装置の装置構成の例を説明する図である。図2の画像符号化装置40は、データバスを介して、HDD43、RAM42、及び、CPU41が接続されている。なお、CPU41とRAM42とは、例えば、PCの内部に設けられ、HDD43は、例えば、PCの外部に接続される構成でもよい。
図2の画像符号化装置40では、次の(E1)から(E4)の手順により、原符号が暗号化される。なお、図中の○で囲まれた1から4の数字は、以下の説明の(E1)から(E4)に対応する。
(E1) HDD43に記録された原データが、CPU41からの命令により、RAM42に格納される。なお、原データとは、暗号化される前のデータであり、本発明の実施の形態では、例えば、周波数変換によって得られる変換係数、又は、その変換係数に対してエントロピー符号化を行うことにより得られるエントロピー符号である。
(E2) CPU41が、RAM42に格納された原データを読み出し、暗号化の処理を行う。
(E3) CPU41が、暗号化された符号をRAM42の原データが格納されている領域とは別の領域に書き込む。
(E4) CPU41の命令に基づき、暗号化された符号がHDD43に記録される。
(E1) HDD43に記録された原データが、CPU41からの命令により、RAM42に格納される。なお、原データとは、暗号化される前のデータであり、本発明の実施の形態では、例えば、周波数変換によって得られる変換係数、又は、その変換係数に対してエントロピー符号化を行うことにより得られるエントロピー符号である。
(E2) CPU41が、RAM42に格納された原データを読み出し、暗号化の処理を行う。
(E3) CPU41が、暗号化された符号をRAM42の原データが格納されている領域とは別の領域に書き込む。
(E4) CPU41の命令に基づき、暗号化された符号がHDD43に記録される。
図2の画像符号化装置40は、また、次の(D1)から(D4)の手順により暗号化された符号を復号する。
(D1) HDD43に記録された暗号化された符号が、CPU41からの命令により、RAM42に格納される。
(D2) CPU41が、RAM42に格納された符号を読み出し、暗号の復号処理を行う。
(D3) CPU41が、復号化後の符号をRAM42上の暗号化された符号が格納されている領域とは別の領域に書き込む。
(D4) CPU41の命令に基づき、復号された画像のデータがHDD43に記録される。
(D1) HDD43に記録された暗号化された符号が、CPU41からの命令により、RAM42に格納される。
(D2) CPU41が、RAM42に格納された符号を読み出し、暗号の復号処理を行う。
(D3) CPU41が、復号化後の符号をRAM42上の暗号化された符号が格納されている領域とは別の領域に書き込む。
(D4) CPU41の命令に基づき、復号された画像のデータがHDD43に記録される。
(暗号化方式の例)
図3は、本発明の一実施の形態に係る画像符号化装置によって行われる暗号化方式を説明する図である。図3の暗号化方式は、暗号化側と解読側とで同一の暗号鍵を秘密に共有する共通鍵暗号方式であり、より詳細には、適当な長さの文字列(ブロック)ごとに同じ鍵で暗号化を行う、AES(Advanced Encryption Standard)方式の例である。
図3では、(1)から(6)までの手順により、AESの処理が実現されている。
(1)データを128ビット長のブロックに分割する。
(2)ブロック中の1バイト毎に別の1バイトの値に置換する、SubBytes処理を行う。
(3)SubBytes処理の出力をバイト単位で混合する、ShiftRows処理を行う。
(4)4バイトの値を、ビット演算を用いて別の4バイトの値に変換する、MixColumn処理を行う。
(5)MixColumn処理の出力と、128ビットの鍵との排他的論理和をとる、AddRoundKey処理を行う。
(6)上記(2)〜(5)を10〜14回繰り返す。例えば、14回繰り返す。
となる.
なお、(5)において用いられる鍵は、予め用意された鍵の他に、用意された鍵と所定一方向性関数とにより生成される鍵でもよく、さらに、生成された鍵と所定の一方向性関数とにより生成される鍵でもよい。一方向性関数は、例えば、ハッシュ関数MD5(Message Digest 5)を用いる。MD5は、任意長の入力Aに対して128ビットのハッシュ値Bを出力する。ハッシュ値Bから入力Aを推定することが困難であるため、入力Aから出力Bを一方向に生成することができる。
図3は、本発明の一実施の形態に係る画像符号化装置によって行われる暗号化方式を説明する図である。図3の暗号化方式は、暗号化側と解読側とで同一の暗号鍵を秘密に共有する共通鍵暗号方式であり、より詳細には、適当な長さの文字列(ブロック)ごとに同じ鍵で暗号化を行う、AES(Advanced Encryption Standard)方式の例である。
図3では、(1)から(6)までの手順により、AESの処理が実現されている。
(1)データを128ビット長のブロックに分割する。
(2)ブロック中の1バイト毎に別の1バイトの値に置換する、SubBytes処理を行う。
(3)SubBytes処理の出力をバイト単位で混合する、ShiftRows処理を行う。
(4)4バイトの値を、ビット演算を用いて別の4バイトの値に変換する、MixColumn処理を行う。
(5)MixColumn処理の出力と、128ビットの鍵との排他的論理和をとる、AddRoundKey処理を行う。
(6)上記(2)〜(5)を10〜14回繰り返す。例えば、14回繰り返す。
となる.
なお、(5)において用いられる鍵は、予め用意された鍵の他に、用意された鍵と所定一方向性関数とにより生成される鍵でもよく、さらに、生成された鍵と所定の一方向性関数とにより生成される鍵でもよい。一方向性関数は、例えば、ハッシュ関数MD5(Message Digest 5)を用いる。MD5は、任意長の入力Aに対して128ビットのハッシュ値Bを出力する。ハッシュ値Bから入力Aを推定することが困難であるため、入力Aから出力Bを一方向に生成することができる。
また、図5は、共通鍵暗号方式の例であるが、本発明の実施の形態は、共通鍵暗号方式に限らず、ブロック長毎に暗号処理を行う暗号化方式であればよい。
(JPEG2000規格の説明)
図4から図30は、本実施の形態における画像符号化装置によって暗号化が行われる変換係数を生成する画像符号化処理を説明する図である。図4から図9は、JPEG2000規格の概要であり、図10及び図11は、本実施の形態におけるタイル、コードブロック、サブバンド領域等の大きさを説明する図であり、図12から図20は、JPEG2000規格によるコードストリームの構成の概要である。また、図21から図27は、ZOI(Zone Of Influence)の設定に係る説明であり、図28から図30は暗号化処理の「粒度」に係る設定の説明である。なお、図4から図30に基づいて行われる画像符号化処理によって生成される画像を復号する処理は、これらの図から容易に理解できるので、ここでは説明を省略する。
図4から図30は、本実施の形態における画像符号化装置によって暗号化が行われる変換係数を生成する画像符号化処理を説明する図である。図4から図9は、JPEG2000規格の概要であり、図10及び図11は、本実施の形態におけるタイル、コードブロック、サブバンド領域等の大きさを説明する図であり、図12から図20は、JPEG2000規格によるコードストリームの構成の概要である。また、図21から図27は、ZOI(Zone Of Influence)の設定に係る説明であり、図28から図30は暗号化処理の「粒度」に係る設定の説明である。なお、図4から図30に基づいて行われる画像符号化処理によって生成される画像を復号する処理は、これらの図から容易に理解できるので、ここでは説明を省略する。
(JPEG2000規格の概要)
図4から図9は、JPEG2000規格の概要を説明する図であって、特にパケットのプログレッションオーダの理解を容易にするための図である。
図4から図9は、JPEG2000規格の概要を説明する図であって、特にパケットのプログレッションオーダの理解を容易にするための図である。
(JPEG2000規格による符号化処理又は復号処理における暗号化処理)
図4は、JPEG2000規格による画像データの符号化処理及び符号データの復号処理における暗号化処理の概略を説明する図である。図5のS1では、タイルと呼ばれる矩形の領域に分割された画像データに対し、タイル毎に色コンポーネントに分割される。さらに、各色コンポーネントに対して、DCレベルシフト処理が行われる。
図4は、JPEG2000規格による画像データの符号化処理及び符号データの復号処理における暗号化処理の概略を説明する図である。図5のS1では、タイルと呼ばれる矩形の領域に分割された画像データに対し、タイル毎に色コンポーネントに分割される。さらに、各色コンポーネントに対して、DCレベルシフト処理が行われる。
S2では、タイル毎にウェーブレット変換が施される。これにより、LL成分、HL成分、LH成分、HH成分の4つの成分、すなわち、サブバンドが生成される。LL成分に対して再帰的にサブバンド変換処理を繰り返すことにより、1つのLL成分と、複数のレベルの異なるHL成分、LH成分、HH成分が生成される。
さらに、各サブバンドをプリシンクトと呼ばれる矩形に分割する。プリシンクトとは、サブバンドを矩形に分割したものであり、大まかには画像中の場所を表すものである。より詳細には、プリシンクトは、画像中の場所が対応するHL成分、LH成分、及び、HH成分の3つの成分の「組」である。プリシンクトは、サブバンドの大きさと同一でもよい。
プリシンクトをさらに矩形に分割したものを、コードブロックという。そこで、物理的な大きさは、画像≧タイル>サブバンド≧プリシンクト≧コードブロックの順となる。
図5は、画像、タイル、サブバンド、プリシンクト、及び、コードブロックの関係を説明する図である。また、図6は、サブバンドと解像度レベルとの関係を説明する図である。図6は、デコンポジションレベルが最大で3の場合の例である。なお、デコンポジションレベルとは、サブバンド変換を行う回数のことである。図6では、解像度レベル0が、デコンポジションレベルが最大の3LLに対応している。
図4に戻り、S3では、S2のウェーブレット変換により生成したサブバンド毎に、量子化処理が行われる。本実施の形態では、図4のS3において、例えばLLサブバンドに対して暗号化の処理を行う。なお、暗号化処理を行う対象は、LLサブバンドに限らず、いかなるサブバンドでもよく、また一のサブバンドの中の所定のプリシンクト又はコードブロックでもよい。
暗号化処理を行う対象を、最もサブバンドレベルが高いLL成分とすることにより、サブバンドの成分の中で、最も画像の情報量が多い成分に対して暗号化処理を行うことができる。また、このLL成分に対してのみ暗号化処理を行い、他の成分には暗号化処理を行わないことで、暗号化の処理量を低減することができ、全体の符号化処理の処理速度を高くし、又は、本実施形態の画像符号化装置の構成を簡易にすることができる。
また例えば、暗号化処理を行う対象を、最もサブバンドレベルが高いLL成分の中の、所定のコードブロック又はプリシンクトにしてもよい。どのコードブロック又はプリシンクトを対象とするかは、例えば、画像が有する情報の中で、重要と判断される領域に係るコードブロック又はプリシンクトにすればよい。なお、重要性の判断は、例えば、ROI(Region of Interest)領域等の情報に基づいてもよい。
また例えば、暗号化処理を行う対象を、所定のコードブロック又はプリシンクトの、所定のビットプレーンにしてもよい。より詳細には、例えば、所定のコードブロックのMSBを暗号化することにより、最も情報量の多いビットに対して暗号化を行うことができる。
S4では、サブバンドをさらに分割したコードブロックと呼ばれる単位毎に、ウェーブレット変換係数に対して、ビットプレーン符号化が行われる。S4で行われるビットプレーン符号化は、エントロピー符号化である。
なお、本発明の実施の形態は、変換係数に対してエントロピー符号化が行われた後に、暗号化処理を行う構成でもよい。これにより、エントロピー符号化の処理の際に、暗号化されない変換係数に対するエントロピーに基づく処理を行うことができる。一方、暗号化された変換係数に対して、エントロピー符号化処理を行う場合には、暗号化された変換係数に対するエントロピーを鑑みることにより、より効率的に圧縮することができる。また一方、暗号化された変換係数に対するエントロピー符号化処理を、暗号化されない変換係数のエントロピーに基づいて行うことにより、画像符号化装置の構成を簡易にすることができる。
S5では、ビットプレーン符号化によって生成した符号のうち、不要な符号が破棄され、残る必要な符号がパケットと呼ばれる単位にまとめられる。なお、必要な符号とは、例えば、全てのコードブロックのMSB側から順に3番目のビットプレーンまでの符号を集めたものであり、コードブロック毎にビットプレーン単位又はレイヤ単位で選択してもよい。また、必要な符号とは、さらに、「空」の符号でもよく、すなわち、パケットの中身にS4で生成されたエントロピー符号がふくまれなくてもよい。
なお、パケットの先頭部に配されるパケットヘッダには、そのパケットに含まれる符号に係る情報が含まれる。これにより、生成される符号データから、パケット単位に符号を取得して処理することができる。
また、一のデコンポジションレベルに含まれている全てのプリシンクトのパケットにより、画像全体の符号の一部が形成される。すなわち、例えばMSB側から順に3番目のビットプレーンまでの符号が集められている場合には、そのビットプレーンまでの符号ができる。これをレイヤと呼ぶ。レイヤは、例えば、画像全体のビットプレーンの符号の一部である。そこで、レイヤの数が増えると、復号される画像の画質が向上する。換言すれば、レイヤの数は画質の単位である。
図7は、デコンポジションレベルが2、プリシンクトのサイズがサブバンドのサイズに等しい場合のレイヤと、そのレイヤに含まれるパケットを説明する図である。また、図8は、図7の例におけるパケットを説明する図である。パケットは、プリシンクトを単位としている。そこで、一のパケットは、プリシンクトを構成するHL成分、LH成分、及び、HH成分を含むように構成される。図8では、いくつかのパケットについて、太線で囲んで例示する。
図4に戻り、S6では、S5で生成されたパケットを所定の順に並べて符号データが形成される。
(パケットを並べる順の説明)
図9は、パケットを並べる所定の順を説明する図である。パケットは、
どのコンポ−ネント(以下、記号「C」を用いて説明する。)に属するか、
どの解像度レベル(以下、記号「R」を用いて説明する。)に属するか、
どのプリシンクト、すなわち場所(以下、記号「P」を用いて説明する)に属するか、
どのレイヤ(以下、記号「L」を用いて説明する。)に属するか、
という4つの属性をヘッダ部に有する。パケットのヘッダ部をパケットヘッダという。パケットヘッダの後には、パケットデータが続く。パケットデータは、例えば、エントロピー符号であって、JPEG2000規格による算術符号が行われた場合には、MQ符号である。
図9は、パケットを並べる所定の順を説明する図である。パケットは、
どのコンポ−ネント(以下、記号「C」を用いて説明する。)に属するか、
どの解像度レベル(以下、記号「R」を用いて説明する。)に属するか、
どのプリシンクト、すなわち場所(以下、記号「P」を用いて説明する)に属するか、
どのレイヤ(以下、記号「L」を用いて説明する。)に属するか、
という4つの属性をヘッダ部に有する。パケットのヘッダ部をパケットヘッダという。パケットヘッダの後には、パケットデータが続く。パケットデータは、例えば、エントロピー符号であって、JPEG2000規格による算術符号が行われた場合には、MQ符号である。
すなわち、パケットの配列とは、パケットヘッダおよびパケットデータをどの属性の順に階層的に並べるかを意味する。この配列順をプログレッションオーダとよぶ。図9では、5通りが示されている。
パケットヘッダには、
・そのパケットが空かどうか
・そのパケットにどのコードブロックが含まれるか
・そのパケットに含まれる各コードブロックのゼロビットプレーン数
・そのパケットに含まれる各コードブロック符号のコーディングパス数、又は、さらにビットプレーン数
・そのパケットに含まれる各コードブロックの符号長
が記載されている。
・そのパケットが空かどうか
・そのパケットにどのコードブロックが含まれるか
・そのパケットに含まれる各コードブロックのゼロビットプレーン数
・そのパケットに含まれる各コードブロック符号のコーディングパス数、又は、さらにビットプレーン数
・そのパケットに含まれる各コードブロックの符号長
が記載されている。
(タイル、コードブロック、サブバンドの領域の大きさと、クラスタの領域との関係)
図10及び図11は、本実施の形態における、タイル、コードブロック、サブバンドの領域の大きさと、クラスタの領域の大きさとの関係を説明する図である。
図10及び図11は、本実施の形態における、タイル、コードブロック、サブバンドの領域の大きさと、クラスタの領域の大きさとの関係を説明する図である。
JPEG2000規格において、タイルの大きさ、すなわちタイルサイズが横width、縦heightであり、デコンポジションレベルがLの場合には、LL成分のサイズは、横がwidth/(2^L)、縦がheight/(2^L)である。なお、JPEG2000規格では、画像の座標にオフセットを与えることが許容されているが、ここでは、説明を簡単にするために、オフセットを与えない例について説明する。通常、コードブロックのサイズとしては、このLL成分の領域の大きさより小さな値を用いる。しかし、デコンポジションレベルによっては、LL成分の領域の大きさが、コードブロックより小さくなる場合が生じる。
そこで、本実施形態における画像符号化装置においては、クラスタであるビットプレーンによって構成される矩形領域の大きさとして、実際に符号化の対象となるコードブロックのサイズ、又は、LL成分の領域の大きさを用いる。より詳細には、LL成分の領域の大きさがコードブロックサイズに満たない場合には、矩形領域をLL成分の領域とし、LL性便の領域の大きさがコードブロックサイズ以上の場合には、矩形領域をコードブロックの領域とする。
図10は、クラスタの領域である矩形領域を説明する図である。図10(A)では、タイルの縦横の大きさが、それぞれ128であり、3LL成分の領域の大きさが、縦横16である。したがって、コードブロックのサイズが縦横32の場合、及び、64の場合の、何れの場合においても、本実施の形態におけるクラスタの領域に係る「矩形領域」は、3LL成分の領域であり、その大きさは縦横16、すなわち、256個の変換係数が含まれる。この値は、例えば、128ビットのブロック長によるブロック暗号方式が用いられる場合には、ブロック長の2倍となる。
図10(A)の例は、さらに、全てのデコンポジションレベルにおけるコードブロックの一のビットプレーンに含まれるビットの数が、128の倍数となる。したがって、3LL成分の他の成分についても、ブロック暗号化を行う場合に、暗号化処理によるビットの増分がない。なお、タイルに分割される前の画像データが、タイル又はコードブロックのサイズによる除算に対して剰余を有する場合には、画像の右端のコードブロック、又は、画像の下端のコードブロックに含まれるコードブロックに係るビットプレーンを暗号化処理する際に、ビット数の増加が生じる。しかし、タイルに分割される前の画像データが大きいほど、端のタイル又はコードブロックが、その他のタイル又はコードブロックに対する割合が小さくなるため、ここでのビットの増加は大きな増分とはならない。
なお、図10(A)の例では、プリシンクトサイズは、サブバンド領域のサイズに等しいとしている。しかし、本発明の実施の形態は、この例に限らない。JPEG2000規格におけるプリシンクトサイズは、2^P(但し、0≦P<14)であるので、この範囲で、プリシンクトサイズを、「矩形領域」のサイズに応じて選択すればよい。
図11は、図10(A)の例における、3LL成分内のラスタースキャンを説明する図である。図11では、上左端の変換係数のビットから順に右へ各ビットを連結し、最右のビットまで連結した後、続いて1行下の変換係数のビットを順に右へ連結している。これにより、図11下に記す"10011001・・・"なるビット列が生成される。ブロック長が128ビットの場合には、上半分の128ビットが連結されたものと、下半分の128ビットが連結されたものとに対して、それぞれ暗号化処理を行う。
図10に戻り、図10(B)は、3LL成分の領域の大きさが、コードブロックサイズ以上の場合を説明する図である。図10(B)では、タイルサイズを縦横256画素としている。これにより、3LL成分に含まれる変換係数の数は、縦横32個となる。したがって、コードブロックサイズが縦横16の場合、及び、縦横32の場合の何れの場合においても、一のコードブロックに含まれる変換係数の数は128の倍数となる。
図10(C)は、3LL成分の領域の大きさが、コードブロックサイズに満たない場合の例であって、さらに、一の3LL成分の領域に含まれる変換係数の数が、ブロック暗号処理のブロック長に満たない場合の例である。
図10(C)では、一のコードブロックに含まれる変換係数の数が64個であり、ブロック暗号化のブロック長が128の場合には、その半分の数である。そこで、例えば、隣接する2つのビットプレーンに含まれるビットを連結することにより、ブロック長と等しい数のビットからなるクラスタを生成することができる。なお、隣接するビットプレーンとは、変換係数におけるビット位置が互いに1だけ異なるビットプレーンである。そこで、ビットプレーンが奇数枚の場合には、最上位に、例えば全て0の値を有する仮のビットプレーンを加えることにより、全てのビットプレーンに対して、「隣接するビットプレーン」を対応づける。
なお、図10(C)の例では、デコンポジションレベルが2以下のコードブロックにおいては、各ビットプレーンに含まれるビットの数が128の倍数となる。したがって、ブロック暗号化処理によるビットの増分はない。また、デコンポジションレベルが3のコードブロックにおいては、隣接するビットプレーンの対に対してブロック暗号化処理を行うことにより、ビットの数が128となるため、「仮のビットプレーン」を除いては、増分が生じない。したがって、ブロック暗号化処理によるビット数の増加を低減することができる。
なお、本実施の形態では、ビットプレーン毎に暗号化処理を行う構成としている。これにより、例えば、JPEG2000規格における最小単位であるパケット毎に破棄又は並べ替えを行う際には、そのパケットに含まれるパケットデータは、ビットプレーン毎となる。
JPEG2000規格では、ビットプレーンが、さらに、コーディングパスによって分割された「サブビットプレーン」毎に、エントロピー符号化を行い、そのサブビットプレーン毎にパケットと対応づけられてよい。しかしながら、サブビットプレーン毎にブロック長の整数倍となるビット数を含ませることは、本実施の形態では考慮しない。
(JPEG2000コードストリームの概要)
図12から図20は、JPEG2000コードストリームの概要を説明する図であって、特にJPEG2000のコードストリームにセキュリティを鑑みて暗号化処理等を行う規格である、JPSEC(SECure JPeg2000)を説明する図である。なお、JPSECとは、ISO/IEC15444−8に定められている規格である。なお、以下の実施の形態では、JPSECで定められている「ノーマティブツール」そのものに準拠してはいない。すなわち、ノーマティブツールが、本実施の形態に係るビットプレーン毎の暗号化処理を規定してはいない。そこで、類似のマーカを用いて同様の機能を実現する。
図12から図20は、JPEG2000コードストリームの概要を説明する図であって、特にJPEG2000のコードストリームにセキュリティを鑑みて暗号化処理等を行う規格である、JPSEC(SECure JPeg2000)を説明する図である。なお、JPSECとは、ISO/IEC15444−8に定められている規格である。なお、以下の実施の形態では、JPSECで定められている「ノーマティブツール」そのものに準拠してはいない。すなわち、ノーマティブツールが、本実施の形態に係るビットプレーン毎の暗号化処理を規定してはいない。そこで、類似のマーカを用いて同様の機能を実現する。
JPSECでは、JPEG2000規格により符号化された画像の所定の領域を暗号化し、適切な権限を有さない場合には、その領域の画像を参照することを許可しないようにすることができる。このような暗号化等のセキュリティを施す処理を行うソフトウェア又はハードウェアをJPSECツールと言い、その暗号化した「ある領域」をZOI(Zone Of Influence)と称する。以下の実施の形態では、ZOIは3LLサブバンドとする。
ところで、JPEG2000規格では、コードストリームに暗号化を施す場合、新たにJPSEC用のマーカセグメントを追加することが定められている。なお、マーカセグメントとは、マーカと呼ばれる所定のコードとそのマーカに続く一連のデータ群をいう。マーカは、マーカセグメント又はマーカに続くその他のデータの内容等を表すコードである。
図12は、JPSEC用のマーカセグメントを含むコードストリームを説明する図である。図12(A)は、暗号化が行われていないコードストリームの例であり、図12(B)は、少なくとも一部に暗号化が行われているコードストリームの例である。図12(B)において、網掛けされた「SEC」マーカセグメントが、暗号化されたことを示すマーカセグメントである。より詳細には、SECマーカセグメントは、メインヘッダのSIZマーカ以降の位置に配されている。
図13は、SECマーカセグメントの構成を説明する図である。図13では、SECマーカに続いて、SECマーカセグメントの長さを表す情報等が配されている。図13中のPSECは暗号化に係るパラメータ等であり、その詳細は図14に記す。また、図13中のTool(i)は、このコードストリームに対して複数のJPSECツールが用いられている場合に、i番目のJPSECツールに関するパラメータである。
図14は、図13中のPSECの詳細を説明する図である。図14中、FPSECは、コードストリーム中のINSECの有無、SECマーカセグメントが複数あるか否か等の情報を含む。また、Ntoolsは、JPSECツールの数を表す情報を含み、Imaxは、ツールindexの最大値の情報を含む。
図15は、図13中のTool(i)の詳細を説明する図である。図15におけるtは、ツールタイプが、JPEG2000規格によるノーマティブツールか否か、を表す。また、IDは、ノーマティブツールの場合に、そのテンプレートを表す値であって、詳細は図16に記されている。本実施の形態では、解除テンプレートに対応する値1を有する。
また、図15中のZOIについては、図21以降で詳述する。図15中のPIDは、ツールのパラメータであって、その詳細は図17に示されている。図17において、TIDは、指定したテンプレートIDに対応するテンプレートパラメータであり、その詳細は図18に示されている。また、Gは、暗号化の処理の「粒度」を表す。すなわち、どの程度の精度で暗号化処理を行うかを表す情報である。粒度については、図28以降で詳述する。
図18は、図17中の、TIDの詳細を説明する図である。図18中のCTdecryが、暗号化タイプを表すIDであり、その詳細を、図19に示す。さらに図19において、暗号化タイプがブロック暗号化に対応する場合のCTdecryの値を図20に示す。
本実施の形態では、SECマーカセグメントは1つとし、INSECマーカセグメントは用いない。JPSECツールの数は1、ツールindexは1であり、JPSECツールは、ノーマティブツールであるAESを用いる。したがって、図18におけるCTdecryの値は、0x0001である。なお、本発明の実施の形態はこの例に限らない。
(ZOIの設定の説明)
図21から図27は、ZOIの設定を説明する図である。図21は、図15のTool(i)に含まれている、ZOIの詳細を説明する図である。図21のZOIには、ゾーンの個数であるNZZOI、及び、各ゾーンに関するパラメータであるZoneiが含まれている。図21に示すように、ZOIはZoneの集合として定義される。Zonekの詳細を、図22に示す。
図21から図27は、ZOIの設定を説明する図である。図21は、図15のTool(i)に含まれている、ZOIの詳細を説明する図である。図21のZOIには、ゾーンの個数であるNZZOI、及び、各ゾーンに関するパラメータであるZoneiが含まれている。図21に示すように、ZOIはZoneの集合として定義される。Zonekの詳細を、図22に示す。
図22では、Zoneが、記述クラスとパラメータとで表現されている。図22において、DCzoi kが、k番目のゾーンの記述クラスである。ゾーン記述クラスの構造を、図23に、ゾーン記述クラスの記述内容を図24に示す。
図23及び図24より、一のZoneは、実空間での画像領域、又は、周波数係数空間での解像度成分等の画像に関係したパラメータを用いて指定してもよく、また、符号化後の所定のパケットのように、画像とは直接関係しないパラメータによって指定してもよい。これら二種類の指定のどちらを選択するかを、ゾーン記述クラスのxのビットとして指定する。また、ゾーン記述クラスの記述内容のうち、画像に関係する記述クラスの内容を図25に示す。
図22に戻り、Pzoi 0、kは、そのゾーンの記述クラスに対応するゾーン記述パラメータであって、詳細は図26に示されている。図26中のMzoiは、ZOIのモードであって、その値に対応する内容、すなわち、セマンティクスは、図27に示されている。
また、Nzoiは、ZOIの個数であり、その個数に対応する数のIzoiが、Nzoiの後ろに続く。
本実施の形態では、例えば、画像に関係する記述クラスを用いる。すなわち、3LLのサブバンド全体を暗号化する場合には、図25において9のビット番号を1に、プリシンクトを暗号化する場合には6のビット番号を1に、コードブロックの場合は10のビット番号を1に設定する。
(粒度に係る説明)
図28から図30は、暗号化の処理の「粒度」に係る設定を説明する図である。粒度とは、どの単位でセキュリティをかけるかの情報であって、暗号化の処理を行う単位を表す情報である。図28は、図17中のGの詳細である。図28中、POは、処理順序を表し、GLは、粒度を表す。図29は、POの取り得る値とその意味の例であり、図30は、GLの取り得る値とその意味の例である。ZOIで指定された領域全体に対して暗号化の処理を行う場合、PO値は0である。
図28から図30は、暗号化の処理の「粒度」に係る設定を説明する図である。粒度とは、どの単位でセキュリティをかけるかの情報であって、暗号化の処理を行う単位を表す情報である。図28は、図17中のGの詳細である。図28中、POは、処理順序を表し、GLは、粒度を表す。図29は、POの取り得る値とその意味の例であり、図30は、GLの取り得る値とその意味の例である。ZOIで指定された領域全体に対して暗号化の処理を行う場合、PO値は0である。
(本実施の形態におけるパラメータの例)
図31から図33は、図12から図30で説明したJPEG2000規格によるコードストリームの一部に暗号化を行う際に設定するパラメータの例を説明する図であって、主として図21から図27で説明したZOIの設定内容を説明する図である。なお、数字の末尾の'b'の文字は、その数字が2進数表現であることを表す。
図31から図33は、図12から図30で説明したJPEG2000規格によるコードストリームの一部に暗号化を行う際に設定するパラメータの例を説明する図であって、主として図21から図27で説明したZOIの設定内容を説明する図である。なお、数字の末尾の'b'の文字は、その数字が2進数表現であることを表す。
図31は、3LLサブバンド、すなわち、解像度レベル0のLLサブバンドを暗号化する場合の設定の例である。図31のa1は、DCzoi 1の3番目のビットが1に設定されており、図25より、解像度レベルが設定されていることが判る。また、b1は、DCzoi 2の3番目のビット、すなわち、DCzoiの9番目のビットが1に設定されているので、図25より、サブバンドが設定されていることが判る。
そこで、a1に対応するlzoi 3であるa2を参照すると、解像度レベルの値として0が設定されている。すなわち、解像度レベル0を暗号化することを表している。同様に、b1に対応するlzoi 8であるb2を参照すると、サブバンドの値として0が設定されている。すなわち、LLサブバンドを暗号化することを表している。
図32は、3LLサブバンド、すなわち、解像度レベル0のLLサブバンドの左上のプリシンクト1つだけを暗号化する場合の設定の例である。図32のc1は、DCzoi 1の3番目のビットと6番目のビットとが1に設定されており、図25より、解像度レベルとプリシンクトとが設定されていることが判る。そこで、c1の3番目のビットに対応するlzoi 8であるc2を参照すると、サブバンドの値として0が設定されており、LLサブバンドを暗号化することが表されている。
また、c1の6番目のビットに対応するlzoi 8であるc3及びc4を参照すると、暗号化を行う矩形領域の値としてそれぞれ0が設定されている。c3は、矩形領域の左上のプリシンクト番号を表し、c4は、矩形領域の右下のプリシンクト番号を表す。左上と右下のプリシンクト番号が何れも0であることから、図32の設定によれば、左上の一のプリシンクトに対して暗号化処理を行うことが判る。
なお、図32においてd1及びd2の設定は、図31のb1及びb2の設定と同一であるので、ここでは説明を省略する。
図33は、3LLサブバンド、すなわち、解像度レベル0のLLサブバンドの左上のコードブロック1つだけを暗号化する場合の設定の例である。図33のe1及びe2の設定は、図31のa1及びa2の設定と同一であるので、ここでは説明を省略する。
図33のf1は、DCzoi 2の3番目のビットと4番目のビットとが1に設定されており、図25より、サブバンドとコードブロックとが設定されていることが判る。そこで、f1の3番目のビットに対応するlzoi 8であるc2を参照すると、サブバンドの値として0が設定されており、LLサブバンドを暗号化することが表されている。
また、f1の4番目のビットに対応するlzoi 9であるf3及びf4を参照すると、暗号化を行う矩形領域の値としてそれぞれ0が設定されている。f3は、矩形領域の左上のコードブロック番号を表し、f4は、矩形領域の右下のコードブロック番号を表す。左上と右下のコードブロック番号が何れも0であることから、図33の設定によれば、左上の一のコードブロックに対して暗号化処理を行うことが判る。
図31から図33によりZOIを設定し、さらに、暗号化する粒度として「ZOIで指定された全領域、すなわち、値として"00001001b"」を指定して、そのZOIで指定された全領域に対して、設定にしたがって暗号化の処理を行う。これにより、本実施の形態に係る暗号化の処理に用いられたノーマティブツールに類似のツールに対する鍵が無い場合には、そのZOIの暗号を解除することができない。
(本実施の形態に係る暗号化処理を含む画像符号化処理の例)
図34は、本実施の形態に係る暗号化処理を含む画像符号化処理の例を説明するフロー図である。図34では、JPEG2000規格による画像符号化処理における変換係数のうち、所定の領域の変換係数に対して、ビットプレーン毎に暗号化処理が行われる。図34のステップS101では、画像分割手段11が、ウェーブレット変換の種類とデコンポジションレベルの数を決定する。ここでは、例えば、5x3ウェーブレット変換を、デコンポジションレベル3まで行うとする。ステップS101に続いてステップS102に進み、暗号化処理の種類を決定する。ここでは、ブロック長が128ビットのAES方式により暗号化を行うとする。
図34は、本実施の形態に係る暗号化処理を含む画像符号化処理の例を説明するフロー図である。図34では、JPEG2000規格による画像符号化処理における変換係数のうち、所定の領域の変換係数に対して、ビットプレーン毎に暗号化処理が行われる。図34のステップS101では、画像分割手段11が、ウェーブレット変換の種類とデコンポジションレベルの数を決定する。ここでは、例えば、5x3ウェーブレット変換を、デコンポジションレベル3まで行うとする。ステップS101に続いてステップS102に進み、暗号化処理の種類を決定する。ここでは、ブロック長が128ビットのAES方式により暗号化を行うとする。
ステップS102に続いてステップS103に進み、ステップS101で決定されたデコンポジションレベル、及び、ステップS102で決定された暗号化方式によるブロック長に基づき、画像分割手段11が、タイルサイズを決定し、クラスタ生成手段13が、コードブロックサイズ、及び、プリシンクトのサイズを決定する。ここでは、例えば、図10(A)から図10(C)の何れか一のタイルサイズ、コードブロックサイズ、及び、プリシンクトのサイズの組が選択される。さらに、画像分割手段11によって、入力される画像データがタイルに分割される。
ステップS103に続いてステップS104に進み、周波数分解手段12が、一のタイルに対してウェーブレット変換を行う。ステップS104に続いてステップS105に進み、クラスタ生成手段13が、ステップS104のウェーブレット変換により生成した3LL成分のうち、所定のビットプレーンに対して、暗号化処理を行う。所定のビットプレーンとは、例えば、ステップS103で選択されたタイルサイズ等の組が、図10(A)の場合には、最上位のビットプレーンでよい。
所定のビットプレーンとは、また例えば、ステップS103で選択されたタイルサイズ等の組が、図10(B)の場合には、変換係数の極性を表すビットプレーンと、最上位のビットプレーンでもよい。
所定のビットプレーンとは、また例えば、ステップS103で選択されたタイルサイズ等の組が、図10(C)の場合には、変換係数の絶対値を表すビットプレーンのそれぞれ隣接する組である。なお、絶対値を表すビットプレーンが奇数枚の場合には、最上位のビットプレーンに対しては、仮のビットプレーンとして、値が全て1であるビットプレーンを対応づけてよい。
なお、以上のビットプレーンの選択に係る情報は、本実施の形態では、後に生成される符号データには含まれない。したがって、本実施の形態に係る画像符号化装置によって、所定のビットプレーンのみが暗号化された符号データを復号する画像復号装置等では、例えば、どのビットプレーンが暗号化されているのかの情報と、暗号を解除する鍵とを、予め取得する。本発明の他の実施の形態では、ビットプレーンの選択に係る情報が、後に生成される符号データ、又は、その符号データを格納するコンテナの役割を有するシステムパケット等によって保持されてよい。
ステップS105に続いてステップS106に進み、エントロピー符号化手段14が、ステップS105で暗号化処理された3LL成分のビットプレーン、暗号化処理されない3LL成分のビットプレーン、及び、その他のサブバンドのビットプレーン含む全てビットプレーンに対し、エントロピー符号化を行い、エントロピー符号を生成する。
ステップS106に続いてステップS107に進み、クラスタ制御手段16が、SECマーカを生成する。ステップS107に続いてステップS108に進み、クラスタ制御手段16が、ZOIマーカを生成する。これにより、ステップS104でウェーブレット変換が行われたタイルを構成するパケットが生成される。
ステップS108に続いてステップS109に進み、全てのタイルに対する処理が終了したか否かの判断が行われる。全てのタイルに対する処理が終了している場合には、ステップS110に進み、終了していない場合には、ステップS104に戻って処理を繰り返す。
ステップS109に続くステップS110では、クラスタ制御手段16が、ステップS108までに生成されたパケットを、目標とする符号量に応じて取捨選択し、さらに、所定のプログレッションオーダに基づいて並べることにより、符号データを生成する。
(コンピュータ等による実現)
なお、本発明の実施の形態に係る画像符号化方法は、例えばパーソナルコンピュータ(PC)等で実現されるものである。以上の実施形態の動作処理は、例えば、CPUがROMやハードディスク装置等に記憶されたコンピュータプログラムに従い、RAM等のメインメモリをワークエリアとして使用し、実行及び処理される。またそのコンピュータプログラムは、例えば、CDやDVD等のドライブに挿入されることによりコンピュータ読み取り可能となる情報記録媒体に格納されてもよい。
なお、本発明の実施の形態に係る画像符号化方法は、例えばパーソナルコンピュータ(PC)等で実現されるものである。以上の実施形態の動作処理は、例えば、CPUがROMやハードディスク装置等に記憶されたコンピュータプログラムに従い、RAM等のメインメモリをワークエリアとして使用し、実行及び処理される。またそのコンピュータプログラムは、例えば、CDやDVD等のドライブに挿入されることによりコンピュータ読み取り可能となる情報記録媒体に格納されてもよい。
以上の実施の形態は、画像符号化方式としてJPEG2000規格による例を説明したが、本発明の実施の形態はこの例に限らない。エントロピー符号に係るクラスタ毎に破棄又は並べ替え等の操作を行う画像符号化方法において、エントロピー符号化前のクラスタ、又は、エントロピー符号化後のクラスタ毎に、ブロック暗号化処理を行う構成であればよい。
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
10 画像符号化装置
11 画像分割手段
12 周波数分解手段
13 クラスタ生成手段
14 エントロピー符号化手段
15 暗号化手段
16 クラスタ制御手段
40 画像符号化装置
41 CPU
42 RAM
43 HDD
11 画像分割手段
12 周波数分解手段
13 クラスタ生成手段
14 エントロピー符号化手段
15 暗号化手段
16 クラスタ制御手段
40 画像符号化装置
41 CPU
42 RAM
43 HDD
Claims (10)
- 画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、
前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、
前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、
前記暗号化手段によって暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、
を有し、
前記クラスタ生成手段は、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化装置。 - 画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成手段と、
前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化手段と、
前記暗号化手段によって暗号化された前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化手段と、
前記エントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御手段と、
を有し、
前記クラスタ生成手段は、前記所定のクラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化装置。 - 前記クラスタ生成手段は、
前記画像データが周波数変換されて得られた変換係数からなる領域を、前記所定のブロック長の整数倍の前記変換係数からなる矩形領域に分割し、前記矩形領域が有する前記変換係数のビットプレーンを、前記クラスタとする請求項1又は2記載の画像符号化装置。 - 前記周波数変換は、2次元サブバンド分解が、縦方向低域横方向低域成分に対して所定の階層まで再帰的に行われ、
前記画像データが、大なる画像データを矩形領域に分割して生成された画像データである場合に、
前記大なる画像データを分割して、前記所定の階層における縦方向低域横方向低域成分に含まれる変換係数の数が、前記所定のブロック長の整数倍となる、前記画像データを生成する画像分割手段を有する請求項1ないし3何れか一項に記載の画像符号化装置。 - 前記暗号化手段は、前記クラスタのうち、前記縦方向低域横方向低域成分に基づくクラスタに対してブロック暗号化を行う請求項4記載の画像符号化装置。
- 前記クラスタ生成手段により分割される前記所定のブロック長の整数倍の前記変換係数からなる矩形領域は、JPEG2000規格によるコードブロック又はプリシンクトである請求項3記載の画像符号化装置。
- 前記大なる画像データを矩形領域に分割して生成された画像データは、JPEG2000規格によるタイルである請求項4又は5記載の画像符号化装置。
- 画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成ステップと、
前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化ステップと、
前記エントロピー符号を前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化ステップと、
前記暗号化ステップにおいて暗号化されたエントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御ステップと、
を有し、
前記クラスタ生成ステップは、前記クラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化方法。 - 画像データが周波数変換されて得られた変換係数に含まれるビットからなるクラスタを生成するクラスタ生成ステップと、
前記クラスタ毎に所定のブロック長によりブロック暗号化する暗号化ステップと、
前記暗号化ステップにおいて暗号化された前記クラスタ毎にエントロピー符号化してエントロピー符号を生成するエントロピー符号化ステップと、
前記エントロピー符号を前記クラスタ毎に破棄又はクラスタ間の並べ替えの操作を行うクラスタ制御ステップと、
を有し、
前記クラスタ生成ステップは、前記所定のクラスタに含まれるビット数を、前記所定のブロック長の整数倍とする画像符号化方法。 - 前記クラスタ生成ステップは、
前記画像データが周波数変換されて得られた変換係数からなる領域を、前記所定のブロック長の整数倍の前記変換係数からなる矩形領域に分割し、前記矩形領域が有する前記変換係数のビットプレーンを、前記クラスタとする請求項8又は9記載の画像符号化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007236743A JP2009071500A (ja) | 2007-09-12 | 2007-09-12 | 画像符号化装置、及び、画像符号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007236743A JP2009071500A (ja) | 2007-09-12 | 2007-09-12 | 画像符号化装置、及び、画像符号化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009071500A true JP2009071500A (ja) | 2009-04-02 |
Family
ID=40607323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007236743A Pending JP2009071500A (ja) | 2007-09-12 | 2007-09-12 | 画像符号化装置、及び、画像符号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009071500A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114696991A (zh) * | 2022-05-31 | 2022-07-01 | 蓝象智联(杭州)科技有限公司 | 基于同态加密的数据聚类方法及装置 |
-
2007
- 2007-09-12 JP JP2007236743A patent/JP2009071500A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114696991A (zh) * | 2022-05-31 | 2022-07-01 | 蓝象智联(杭州)科技有限公司 | 基于同态加密的数据聚类方法及装置 |
CN114696991B (zh) * | 2022-05-31 | 2022-09-20 | 蓝象智联(杭州)科技有限公司 | 基于同态加密的数据聚类方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7463736B2 (en) | Data process apparatus and method therefor | |
US7457419B2 (en) | Information processing method and apparatus for encrypting encoded data | |
US20140248929A1 (en) | Sudoku arrays | |
Wu et al. | Efficient multimedia encryption via entropy codec design | |
JP5615273B2 (ja) | 選択的なデータ暗号化の方法及び装置 | |
CN101677399B (zh) | 基于流密码的安全编码方案的多媒体内容编码方法和系统 | |
KR101120258B1 (ko) | 정보 처리 시스템 및 방법 | |
US20060182274A1 (en) | Method for ciphering a compressed audio or video stream with error tolerance | |
Amalarethinam et al. | Image encryption and decryption in public key cryptography based on MR | |
JP2007199156A (ja) | 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム | |
Al-Bahrani et al. | A new cipher based on Feistel structure and chaotic maps | |
JP2004040248A (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
Zaw et al. | Security enhancement system based on the integration of cryptography and steganography | |
Goel et al. | Chaos based joint compression and encryption framework for end‐to‐end communication systems | |
Ramaiya et al. | Secured steganography approach using AES | |
JP2009071500A (ja) | 画像符号化装置、及び、画像符号化方法 | |
Sharma et al. | Novel approach to image encryption: using a combination of JEX encoding–decoding with the modified AES algorithm | |
Shivaputra et al. | A Naïve Visual Cryptographic Algorithm for the Transfer of Compressed Medical Images | |
JP2009049790A (ja) | 情報処理装置、情報処理方法、情報記録媒体、及び、コンピュータプログラム | |
JP2009124456A (ja) | 情報処理装置と情報処理方法と情報処理プログラム及び情報記録媒体 | |
Zhou et al. | Joint security and performance enhancement for secure arithmetic coding | |
Thakur et al. | Enhance steganography techniques: A solution for image security | |
Chandra et al. | A review on multiple chaotic maps for image encryption with cryptographic technique | |
Deng et al. | An image joint compression-encryption algorithm based on adaptive arithmetic coding | |
CN117675320B (zh) | 数据加密和解密方法、电子设备及介质 |