JP2004242287A - 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 - Google Patents
情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 Download PDFInfo
- Publication number
- JP2004242287A JP2004242287A JP2003412222A JP2003412222A JP2004242287A JP 2004242287 A JP2004242287 A JP 2004242287A JP 2003412222 A JP2003412222 A JP 2003412222A JP 2003412222 A JP2003412222 A JP 2003412222A JP 2004242287 A JP2004242287 A JP 2004242287A
- Authority
- JP
- Japan
- Prior art keywords
- tile part
- tile
- encryption
- key
- layer
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04K—SECRET COMMUNICATION; JAMMING OF COMMUNICATION
- H04K1/00—Secret communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/30—Compression, e.g. Merkle-Damgard construction
Abstract
【課題】 ウェーブレット変換対象タイル画像の一部分を、所望とする解像度レベル以上について暗号化を可能とし、且つ複数の暗号化鍵情報の管理を不要とする。
【解決手段】 多段階ウェーブレット変換による符号化データにおいて、各変換で生成されるサブバンドを複数のプレシンクトに分割し、同階層のサブバンドの同位相のプレシンクトの集合をタイルパートとし、高周波数符号化データのタイルパートほど高位のノードに位置させたツリー構造を定義する。暗号化処理部141は、最上位の暗号化鍵情報を、タイル全体の符号化データに基づいたルート鍵情報により生成し、最上位以外については、それより高位のノードのタイルパート用の暗号化鍵情報により生成する。所望のタイルパートの暗号化が設定された場合、そのタイルパート及びそれよりも高い周波数成分の符号化データを有するタイルパートを、夫々のタイルパートのノード用の暗号化鍵情報で暗号化しする。
【選択図】 図14
【解決手段】 多段階ウェーブレット変換による符号化データにおいて、各変換で生成されるサブバンドを複数のプレシンクトに分割し、同階層のサブバンドの同位相のプレシンクトの集合をタイルパートとし、高周波数符号化データのタイルパートほど高位のノードに位置させたツリー構造を定義する。暗号化処理部141は、最上位の暗号化鍵情報を、タイル全体の符号化データに基づいたルート鍵情報により生成し、最上位以外については、それより高位のノードのタイルパート用の暗号化鍵情報により生成する。所望のタイルパートの暗号化が設定された場合、そのタイルパート及びそれよりも高い周波数成分の符号化データを有するタイルパートを、夫々のタイルパートのノード用の暗号化鍵情報で暗号化しする。
【選択図】 図14
Description
本発明は、デジタル画像データを圧縮符号化したデータを暗号化する技術等に関するものである。
従来、画像データなどを秘匿して伝送するために、画像データ全体の暗号化やスクランブルなどが行なわれてきた。これは、予め画像データ全体を一つの暗号鍵を用いて暗号化し、この暗号化鍵に対応する復号鍵(以下、暗号復号鍵、解除鍵、解読鍵等と呼ぶ)を有するものだけが正しく復号することが可能であるようにする技術である(例えば、特許文献1)。
特開平11−205738号公報
しかし、階層構造を有する画像データの場合、その階層構造に応じて画像データの再生の可・不可を制御する目的で、画像全体ではなく階層構造毎に異なる暗号鍵を用いて暗号化処理が行うことが望まれる。また、画像データが複数のタイルから構成され、タイル毎に再生を制御する目的で、タイル毎に異なる暗号鍵を用いて暗号化処理が行われることが望まれる。更に、これらを合わせた場合として、複数のタイルから構成され、更に夫々のタイルが階層構造を有する画像データの場合、タイルと階層構造に応じた画像データの再生を制御する目的で、タイル中の階層構造毎に異なる暗号鍵を用いて暗号化処理が行われる。
このように、タイル及び階層構造毎に異なる暗号鍵を用いて暗号化することによりタイル、及び階層構造毎に画像データの再生を制御することが可能である。
タイルの圧縮符号化データが、複数の部分的な圧縮符号化データで構成される場合において、個々の部分的な圧縮符号化データ毎に異なる暗号化鍵を用いて暗号化した場合、暗号化される各部分的な圧縮符号化データの階層構造と、それを暗号復号するための暗号復号鍵との対応付けをする必要があり、その鍵情報の管理が複雑化することは避けられない。
また、当然のことながら、その鍵情報が正しく管理されていない場合には、正しく復号処理を行うこともできない。
本発明は上記従来例に鑑みてなされたものであり、ウェーブレット変換を行う対象となっていたタイル画像の一部分について、所望とする解像度レベル以上について暗号化を行なうことを可能にし、且つ、そのために複数の暗号化鍵情報の管理を不要とする技術を提供するものである。
この課題を解決するため、例えば本発明の情報処理方法は以下のような工程を備える。すなわち、
画像データのタイルに対し、多段階のウェーブレット変換処理することで生成された圧縮符号化データを暗号化する情報処理方法であって、
多段階のウェーブレット変換による各階層のサブバンドを複数のプレシンクトに分割し、同階層のサブバンドの同位相のプレシンクトの符号化データの集合をタイルパートとし、周波数の高い符号化データを有するタイルパートほど高位のノードに位置させたツリー構造を定義し、
最上位のノードのタイルパート用の暗号化鍵情報については、タイル全体の符号化データに基づいて生成したルート鍵情報に基づいて生成し、
最上位のノード以外のタイルパートの暗号化する際に利用する暗号化鍵情報については、それより高位のノードのタイルパート用に生成された暗号化鍵情報に基づいて一方向変換処理により生成し、
所望とするタイルパートの暗号化が設定された場合、当該所望とするタイルパート及び当該所望とするタイルパートよりも高い周波数成分の符号化データを有するタイルパートを、夫々のタイルパートのノード用に生成された暗号化鍵情報で暗号化することを特徴とする。
画像データのタイルに対し、多段階のウェーブレット変換処理することで生成された圧縮符号化データを暗号化する情報処理方法であって、
多段階のウェーブレット変換による各階層のサブバンドを複数のプレシンクトに分割し、同階層のサブバンドの同位相のプレシンクトの符号化データの集合をタイルパートとし、周波数の高い符号化データを有するタイルパートほど高位のノードに位置させたツリー構造を定義し、
最上位のノードのタイルパート用の暗号化鍵情報については、タイル全体の符号化データに基づいて生成したルート鍵情報に基づいて生成し、
最上位のノード以外のタイルパートの暗号化する際に利用する暗号化鍵情報については、それより高位のノードのタイルパート用に生成された暗号化鍵情報に基づいて一方向変換処理により生成し、
所望とするタイルパートの暗号化が設定された場合、当該所望とするタイルパート及び当該所望とするタイルパートよりも高い周波数成分の符号化データを有するタイルパートを、夫々のタイルパートのノード用に生成された暗号化鍵情報で暗号化することを特徴とする。
本発明によれば、ウェーブレット変換を行う対象となっていたタイルである画像の一部分について、所望とする解像度レベル以上について暗号化を行なわせると共に、そのために複数の暗号化鍵情報の管理が不要になる。
以下、添付図面に従って本発明に係る実施形態を説明する。
先ず、図14を用いて本実施の形態に適用されるシステム全体について説明する。
図14に示すように、本実施の形態におけるシステムは、暗号化処理部(或いは暗号化する装置)141、アクセス鍵生成部(或いはアクセス鍵生成装置)142、及び復号処理部(或いは(暗号)復号装置)143から構成される。更に、このシステム/装置の先頭部分にエンコーダ(圧縮部)が配置され、最後尾にデコーダ(伸長部)が配置される。本実施の形態では、この圧縮/伸長アルゴリズムとして、JPEG2000アルゴリズムを適用する。これについては後述する。
暗号化処理部141には、コードストリームc(画像データの符号化データであるが、その詳細は後述)が入力され、コードストリームcからコンテンツ鍵Kc、及び暗号化されたコードストリームc'が出力される。アクセス鍵生成処理部142は、このコンテンツ鍵ck、及びアクセスレベルanを入力し、アクセス鍵akを生成する。そして、復号処理部143は、アクセス鍵ak、及び暗号化されたコードストリームc'が入力され、暗号復号処理されたコードストリームc''を出力する。ここで、c=c''である場合、暗号化する以前の画像データ(コードストリームc)に復元されることになる。
本実施形態においては、アクセス鍵生成部142、及び復号処理部143は互いに耐タンパー(耐改ざん)であるようにする。例えば、暗号化処理部141はデジタルカメラで撮影した画像を暗号化し、インターネット上のWebサーバやFTPサーバにアップロードする装置とし、アクセス鍵生成処理部142はアクセス鍵を発行するサーバで実現し、(暗号)復号処理部143は暗号化された画像データをダウンロードするネットワーククライアントで実現するようにする。
[画像データの符号化データの説明]
先ず、実施形態における暗号化処理部141が入力する符号化データのストリームについて説明する。
先ず、実施形態における暗号化処理部141が入力する符号化データのストリームについて説明する。
本実施形態におけるコードストリームとは、画像データを圧縮符号化した際の符号列である。本実施形態においては、ISO/IEC JTC1/SC29/WG1 14492−1において標準化されている、通称JPEG2000と呼ばれる圧縮符号化方式によって符号化された符号列のことをコードストリームと呼ぶ。
JPEG2000の圧縮符号化時において、画像は先ず複数の矩形領域に分割され、矩形領域毎にウェーブレット変換により独立に符号化処理が施される。この矩形領域を「タイル」と呼ぶ。更に、符号化されたタイルに対応するコードストリームは、少なくとも一つ以上のタイルパートと呼ばれる領域に分割できる。
ここで、タイルパートについて簡単に説明する。図2は原画像を2回ウェーブレット変換する例を示している。図示の場合、タイルサイズは原画像のそれと同じである例を示している。
1つのタイルに対し1回目のウェーブレット変換(2次元ウェーブレット変換)により得られる成分係数は公知の通り、LL1、LH1、HL1、HH1である。このうち、{LH1+HL1+HH1}を1つのパートとして扱う。2回目のウェーブレット変換(2次元ウェーブレット変換)はLL1に対して行うが、このとき生成されるLL2、LH2、HL2、HH2のうち{LH2+HL2+HH2}も1つのタイルパートとして扱う。残りの最も周波数の低い成分は1つしか存在しないので、LL2とは言わず、単にLLと表記することが多い。
また、LL2に対して更なるウェーブレット変換(3回めの2次元ウェーブレット変換)を行う場合には、図示してはいないが、その結果生じる{LH3+HL3+HH3}がタイルパートとして扱われ、残りのLL3(LL)が単独のタイルパートとして扱われる。以下、必要な回数だけウェーブレットを行うことができる。
この後、量子化、エントロピー符号化が施され符号化される。上記のタイルパートとは、上記のウェーブレット変換を行う毎に生成された周波数成分の集合の符号化結果を示している。以上が1つのタイルの符号が複数のタイルパートの符号で構成される理由である。
なお、JPEG2000では、全タイルに対して固定回数のウェーブレット変換を行うという決まりはない。換言すれば、タイル毎に、ウェーブレット変換の回数は異なっていてもよいことになっている。
本願出願人は、上記のようなタイルパートにおいて、解像度毎に暗号化鍵を設定することを既に提案した。例えば、最も低周波成分のタイルを暗号化しないことで、最低解像度の画像は再生できるものの、それより高い解像度のタイルパートについては暗号化を施して、解除(暗号復号)する鍵情報が存在しない限りはそれより高い解像度を復号不可、もしくノイズが乗るようにさせるものである。
これに対し、本実施形態では、タイルを複数のプレシンクトに分割し、プレシンクト毎に独立に暗号化することを特徴とする。換言すれば、このプレシンクト単位に暗号化するか否かの設定を実現する。
プレシンクトとは、ウェーブレット変換を行った際の各解像度レベルにおいて、各周波数成分領域間で、2次元空間の領域に対応するもの同士をグループ化すべき単位である。プレシンクトは各解像度において独立に大きさを決めることが可能である。
説明を簡単なものとするため、図2と同様、原画像データに対して2回のウェーブレット変換(2次元ウェーブレット変換)を行なう場合について説明する。図3(a)は、最低解像度の画像であって、伸長復号に用いるコードストリームには暗号化処理が行われていないことを示している。また、同図(b)はそれより高い解像度の伸長復号結果を示しており、やはり伸長復号処理に使用する符号化データには暗号化処理が行われていないことを示している。そして、同図(c)は、最高解像度の画像を示しているが、タイルの2次元的な一部分(図示の左上領域)の伸長復号に必要な符号化データについて暗号化処理が行われる例を示している。
かかる処理を実現するため、本実施形態におけるプレシンクトを利用したタイルパートを定義する必要があるので、以下に説明する。
図2を用いてプレシンクトの一例を説明すると次のようになる。同図の下部は1つのタイルに対して2回のウェーブレット分割(2次元ウェーブレット分割)を施した(即ち、3つの解像度レベルを有する)場合のウェーブレット変換領域を示している。ここで、各解像度レベルの周波成分領域(サブバンド)を2×2個の部分領域にまで分割し、それぞれの部分領域を(0、0)乃至(1,1)で示している。この部分領域のそれぞれをプレシンクトと呼ぶ。
JPEG2000符号化アルゴリズムにおいては、本来、プレシンクトは解像度レベル毎に独立にそのその大きさを設定することが可能であるが、本実施の形態においては、互いの解像度レベルにおける各プレシンクトが同じ空間位置(同じ部分画像)を表わすように分割するものとする。例えば、図2においては、網掛けで示した各解像度における各プレシンクトは全て同じ空間的な領域(画像の左上)を表現している。
JPEG2000符号化アルゴリズムにおいては、画像全体を複数のタイルに分割することにより、空間的に独立に伸長・再生可能なコードストリームを生成することが可能であるが、タイルは独立に符号化が実行されるため、タイルとタイルの境界に歪が生じ、この歪が煩わしいことがある。
本実施形態では、図2に示すように、1つの画像を複数のタイルに分割するのではなく、タイルのサイズを画像のサイズと同じであるものとして、即ち、1つのタイルとして扱う(この場合、所望のLLサイズを得るまでウェーブレット変換を繰り返すならば、ウェーブレット変換の回数が多めになる)。
[暗号化処理部]
本実施形態においては、コードストリームcは、予め、所望のアクセス制御の方法に応じたプログレッションオーダ、及びタイルパートで圧縮符号化されていることを前提とする。
本実施形態においては、コードストリームcは、予め、所望のアクセス制御の方法に応じたプログレッションオーダ、及びタイルパートで圧縮符号化されていることを前提とする。
例えば、夫々の解像度レベルにおいて、夫々の解像度レベル毎に2×2=4つのプレシンクトを設定し、該4つのプレシンクトに応じたアクセス制御をしたい場合を想定する。
この場合、各解像度レベルにおいて、プレシンクトを優先させたプログレッションオーダとなるようにタイルを圧縮符号化し、更に夫々の解像度レベルに対応するタイルパートを、更に4つのタイルパート(夫々の解像度レベルにおけるプレシンクトに対応する)に分割しておく。
以上の例を図4(a)を用いて説明する。同図はひとつのタイルが12個のタイルパートから構成されているコードストリームを示す。図中の数字0から11は、タイルパート(プレシンクト)を特定するためのインデックス(以下、タイルパートインデックスという)である。
図中、42は4つのタイルパート0〜3から構成される解像度レベルであり、図2との対応関係からわかるように、LL(0、0)乃至LL(1,1)の圧縮符号化データ、すなわち、タイル中で最も低い解像度レベルに対応するビットストリームが格納されている。同様に、43及び44も、夫々4つのタイルパート4〜7及び8〜11から構成されており、夫々中間の解像度レベル及び最も高い解像度レベルに対応するビットストリームが格納されている。更に、各解像度レベルは、夫々4つのタイルパートから構成されており、夫々がプレシンクトに対応している。
なお、ここでは各ウェーブレット変換を行った際に、各サブバンドを2×2個のプレシンクトにする例を示したが、2×2個ではなく、例えば3×3個の9個のプレシンクトに分割し、夫々のプレシンクトに応じたアクセス制御を行う様にしても構わない。この場合には、予め、プレシンクトを優先させたプログレッションオーダとなるようにタイルを圧縮符号化し、更にタイルを夫々のタイルパートが夫々のプレシンクトに対応するように9つのタイルパートに分割しておく。尚、上記に限らず、一般的に、n×nのプレシンクトに分割しても構わない。
図4(a)のようなストリームの場合に、図3に示した暗号化レベルを設定する場合には、タイルパートインデックス「8」について暗号化処理を行えば良いのは理解できよう。
更に、夫々のプレシンクト端でコードストリームを配列し、3つの解像度レベルに応じたアクセス制御を行うようにしても構わない。
この場合には、各プレシンクトの中で、解像度を優先させたプログレッションオーダとなるようにタイルを圧縮符号化し、更に、夫々のプレシンクトに対応するタイルパートを、更に3つのタイルパート(夫々のプレシンクトにおける解像度レベルに対応する)に分割しておく
この例を示すのが図4(b)である。同図は1つのタイルが12個のタイルパートから構成されているコードストリームを示す。図中の数字0から11は、タイルパートインデックスである。同図における46は3つのタイルパート0〜2から構成されており、タイル中の低、中、高のサブバンドの左上位置(0、0)のプレシンクトに対応するビットストリームが格納されている。同様に、47、48、及び49も、夫々3つのタイルパート3〜5、6〜8、及び9〜11から構成されて、夫々右上(1、0)、左下(0、1)、右下(1、1)のプレシンクトに対応するビットストリームが格納されている。
この例を示すのが図4(b)である。同図は1つのタイルが12個のタイルパートから構成されているコードストリームを示す。図中の数字0から11は、タイルパートインデックスである。同図における46は3つのタイルパート0〜2から構成されており、タイル中の低、中、高のサブバンドの左上位置(0、0)のプレシンクトに対応するビットストリームが格納されている。同様に、47、48、及び49も、夫々3つのタイルパート3〜5、6〜8、及び9〜11から構成されて、夫々右上(1、0)、左下(0、1)、右下(1、1)のプレシンクトに対応するビットストリームが格納されている。
図4(b)のストリームにおいて、先に示した図3の暗号化処理を行う場合には、タイルインデックス「2」に対して暗号化処理を行えば良い。
なお、図4(a)、(b)のいずれにおいても、各タイルパート0〜11は同図(c)に示す様な構造を成している。図中、26はタイルパートヘッダ部であり、27はタイルパートの符号化データ部である。タイルパートヘッダ部26には、データ部27の伸長復号のために必要な種々の情報を格納するための領域である。
以上説明したように、本実施形態においては、入力されるコードストリームcが、予め、所望のアクセス制御の方法や度合いに応じたプログレッションオーダ、及びタイルパートを用いて圧縮符号化されていることを前提としているが、本発明はこれに限定されることはない。即ち、コードストリームcが所望のアクセス制御の方法や度合いに応じたプログレッションオーダやタイルパートを用いて圧縮符号化が施されていない場合には、コードストリームcが入力された後に、所望のアクセス制御の方法や度合いに応じたプログレッションオーダやタイルパートを用いて圧縮符号化し直すようにすれば良い。
以上、本実施形態におけるコードストリーム、タイル、及びタイルパートの構造ついて説明した。
さて、本実施形態における暗号化処理部141における暗号化タイルパート指定部11では、入力されたコードストリームc中のメインヘッダ部分、及びタイルパートヘッダ部分に属する情報を読み出し、タイル、及びタイルパートの構成を解析する。そして、暗号化の対象とするタイルパートを決定し、暗号化タイルパート情報taとして出力する。暗号化の対象とするタイルパートは、ユーザによって明示的に指定させても良いし、RAMやHDなどに予め記憶されている情報を用いるようにしても良い。
ここで、本実施の形態におけるアクセス制御の方法についての詳細を説明する。本実施の形態においては、各タイルパートに対してシーケンシャルアクセス制御、及びランダムアクセス制御の2つのアクセス制御を設定することが可能である。
まず、シーケンシャルアクセス制御について説明する。本実施の形態におけるシーケンシャルアクセス制御とは、「第1のデータユニットにアクセス可能な場合、第2のデータユニットにも自動的にアクセス出来るが、第3のデータユニットにはアクセスすることが出来ない」ようなアクセス制御の方法である。
前述した図4(a)に示した例で示すのであれば、例えば「第1のデータユニット」とは中間の解像度レベル43に対応するタイルパート4〜7であり、「第2のデータユニット」とは最も低い解像度レベル42に対応するタイルパート0〜3であり、「第3のデータユニット」とは最も高い解像度レベル44に対応するタイルパート8〜11に対応する。即ち、シーケンシャルアクセス制御において、中間の解像度レベルにアクセスできる場合は、自動的にそれよりも低い解像度レベルにはアクセス出来るが、それよりも高い解像度レベルにはアクセス出来ない。
また、図4(b)に示した例においては、例えば「第1のデータユニット」とは夫々のプレシンクトにおける中間の解像度レベルに対応するタイルパート1、4、7、及び10であり、「第2のデータユニット」とは最も低い解像度レベルに対応するタイルパート0、3、6、及び9であり、「第3のデータユニット」とは最も高い解像度レベルに対応するタイルパート2、5、8、及び11に対応する。即ち、図4(a)と同様、シーケンシャルアクセス制御において、夫々のプレシンクトにおいても中間の解像度レベルにアクセスできる場合は、自動的にそれよりも低い解像度レベルにはアクセスできるが、それよりも高い解像度レベルにはアクセス出来ないようにできる。これを言い換えるならば、第1のデータユニットの暗号復号(decryption)が可能な場合、第2のデータユニットの暗号復号も必ず可能であるが、第3のデータユニットの暗号復号はできない。即ち、シーケンシャルアクセル制御とは、複数のデータユニットのアクセス権に優先度を持たせるものである。
次に、ランダムアクセス制御について説明する。本実施の形態におけるランダムアクセス制御とは、「第1のデータユニットにアクセス出来ても、第2のデータユニットにはアクセス出来ない」ようなアクセス制御の方法である。
前述した図4(a)に示した例においては、例えば「第1のデータユニット」、及び「第2のデータユニット」とは各解像度レベル42、43、44の各プレシンクトに対応する夫々のタイルパートのことである。即ち、ランダムアクセス制御において、あるプレシンクトにアクセスできた場合でも、他のプレシンクトには解除(暗号復号)鍵がない限りはアクセス(暗号化の解除)ができない。
また、前述した図4(b)に示した例においては、例えば「データユニット」とは、夫々タイルにおける左上(0,0)、右上(0,1)、左下(1,0)、右下(1,1)のプレシンクトに対応するタイルパート0〜2、タイルパート3〜5、タイルパート6〜8、タイルパート9〜11である。即ち、ランダムアクセス制御において、あるプレシンクトにアクセスできた場合でも、他のプレシンクトには解除する鍵情報がない限りはアクセス(暗号解除)できない。
以上、シーケンシャルアクセス及びランダムアクセスについて説明したが、本実施形態では、解像度レベルに対してはシーケンシャルアクセス制御を用い、プレシンクト間に対してはランダムアクセス制御を用いるようにすることにある。
すなわち、図4(a)では3つの解像度レベル42、43、44が存在するが、例えば、解像度レベル43内のタイルパート4乃至7のうち、いずれを暗号化対象にするかは自由に設定できる(1つとは限らない)。しかし、グループ43内の1つのタイルパートを暗号化対象とした場合には、それより高い解像度のデータを記憶しているグループ44に含まれる全タイルパートは無条件に暗号化対象として決定する。
図4(b)の場合、グループ46(他のグループも同様)内には、異なる解像度のデータが含まれているので、例えばタイルパート1を暗号化対象として設定した場合には、それより高い解像度のタイルパート2も暗号化対象とする。これは、図4(b)と考え方が同様である。但し、図4(b)では、タイルパート1を暗号化したからといって他のグループには波及しない。なぜなら、タイルグループ47はタイルグループ46とは別プレシクントであり、別の独立した処理単位であると考えるからである。
以上説明した、本実施の形態におけるアクセス制御について、更に、ツリー構造を用いて説明する。
図5に本実施の形態におけるアクセス制御を説明するためのツリー構造を示す。図5において、図5(a)は図4(a)に対応し、図5(b)は図4(b)に対応する。
また、図5(a)及び図5(b)において各ノードは夫々タイルパートに対応している。更に、図中で実線はランダムアクセス制御、破線はシーケンシャルアクセス制御を示す。
図5を用いて、本実施の形態におけるアクセス制御を説明すると、以下の3点となる。
・親ノードにアクセスできれば子ノードにも自動的にアクセスできる。(ランダムアクセス制御)
・子ノードにアクセスできても親ノードにはアクセスできない。
・兄弟ノードにはアクセスできない。(シーケンシャルアクセス制御)
図5(a)は図4(b)に示したようなコードストリームに対して、中間の解像度レベル43、及び低い解像度レベル42に対してアクセス権を与えるためのアクセス鍵生成処理の例である。
・親ノードにアクセスできれば子ノードにも自動的にアクセスできる。(ランダムアクセス制御)
・子ノードにアクセスできても親ノードにはアクセスできない。
・兄弟ノードにはアクセスできない。(シーケンシャルアクセス制御)
図5(a)は図4(b)に示したようなコードストリームに対して、中間の解像度レベル43、及び低い解像度レベル42に対してアクセス権を与えるためのアクセス鍵生成処理の例である。
以下、図5(a)、(b)の様なツリー構造にした理由を説明するが、最初に図5(a)について説明する。
図5(a)は図4(a)に対応することは既に説明した。また、本実施形態では、或る解像度まで画像を再現(伸長復号)したとしても、局所的な画像領域については暗号解除鍵(暗号復号鍵)がない限りは、その画像領域については正常に再現できないものとしている。なお、図5(a)におけるタイルパート0〜11は上述したものと同じであるから、タイルパート0〜3が同一解像度レベルに属し、タイルパート4〜7が同一解像度レベルに属し、タイルパート8〜11が同一解像度に属する。
かかる観点からすると、例えば、図4(a)の解像度レベル43のタイルパート4に対して暗号化を行い、同解像度レベル43に含まれる他のタイルパート5、6、7については暗号化しなくても構わないようにする必要がある。その一方で、解像度レベル44について着目すると、それより下位レベル(解像度レベル43)の画像に暗号化が施されているタイルが存在するわけであるから、もはや解像度レベル44については再生できないようにすることが望まれる。
かかる点をより分かりやすく説明するのであれば、或る解像度レベル中の少なくとも1つのタイルパートについて暗号化を行った場合、それより高い解像度レベルは無条件に暗号化を行い、同じ解像度レベル内のタイルパートであれば個別に暗号化を行う/行わないが設定できるようにする。
かかる点を実現するには、1つの解像度レベルを着目したとき、その解像度レベル全体に対する暗号鍵を設け、更に、その解像度レベル内の各タイルパートについて暗号化鍵を設ければ良い。しかしながら、JPEG2000符号化アルゴリズムには、複数のタイルパートの代表を示す概念は無く、複数のタイルパートを代表するヘッダデータ等が存在しない。
そこで、本実施形態では、1つの解像度レベルにおける座標位置(1,1)に相当するタイルパート(プレシンクト)を、その解像度レベルを代表するものとして扱うようにした。
かかる点で、図5(a)及び図4(a)について解説するのであれば、最高の解像度である解像度レベル44内のタイルパート11の暗号化鍵を生成する場合には、タイル鍵T(入力した1タイル全体の符号化データから生成した鍵情報)からハッシュ関数を用いて生成する。また、各解像度レベルの代表となるタイルパートの暗号化鍵は、上位の解像度レベルの代表となるタイルパートの暗号化鍵に基づいて生成される。例えば、解像度レベル44よりも下位にある解像度レベル43においては、タイルパート7の暗号化鍵を、その上位の解像度レベル内のタイルパート11の暗号化鍵に基づいて生成する。そして、同様に解像度レベル42のタイルパート3の暗号化鍵は、タイルパート7の暗号化鍵に基づいて生成する。図5(a)における破線は、上記タイルパートの関係を示す。
一方、解像度レベル44におけるタイルパート8、9、10の暗号化鍵については、タイルパート11の暗号化鍵と、それぞれのタイルパートインデックス(8、9、10)を用いて生成する。例えば、タイルパート8の暗号化鍵は、そのタイルパート8のインデックス「8」とタイルパート11の暗号化鍵に基づいて生成する。この結果、同じ解像度レベルに属するタイルパート8、9、10間での暗号化鍵の主従関係は無くなる。これは、タイルパート8を暗号復号する為のみの解除鍵(暗号復号鍵)でタイルパート9や10を解除することはできないことを意味する。そして、タイルパート11の解除鍵を知っていさえいれば、タイルパート8のみを暗号化させることが可能になる。よって、タイルパート11の解除鍵を知っていさえすれば、タイルパート8のみを暗号化させることが可能になる。
また、解像度レベル43のタイルパート4、5、6に着目すると、タイルパート8、9、10と同様に、解像度レベル43の代表であるタイルパート7の鍵情報とそれぞれのタイルパートインデックス(4、5、6)を用いて暗号化鍵を生成することになる。
従って、例えば、タイルパート7の解除鍵を入手することが出来さえすれば、図5(a)においてタイルパート7(ノード7)より下に位置するノード0〜6へアクセス(解除)する鍵を生成できることになる。
次に、図5(b)及び図4(b)の関係は上記の記載から明らかであろう。破線がシーケンシャルアクセスを実現するための鍵生成順序をしめし、実線がランダムアクセスを実現するための鍵生成順序を示している。
暗号化タイルパート指定部11においては、以上説明したような各タイルパートに対するアクセス制御の方法を、暗号化タイルパート情報taとして出力する。前述した図4(a)及び図4(b)の例における暗号化タイルパート情報taの一例を図6を用いて説明する。
図6は、各タイルパートに対して、どのようなアクセス制御の方法を指定するかを示す図である。図6において、図6(a)は図4(a)に対応し、図6(b)は図4(b)に対応する。
図6において、アクセス制御の方法として、“0”はシーケンシャルアクセス制御を、“1”はランダムアクセス制御を適用することを示す。図6に示すように、暗号化タイルパート情報taは各タイルパートに対して夫々アクセス制御の方法を示している。
以上説明したように、暗号化タイルパート指定部11から、暗号化タイルパート情報taが出力され、鍵行列生成部12、及び暗号化部13に入力される。
次に、鍵行列生成部12の処理の詳細を説明する。鍵行列生成部12には、コードストリームc、及び暗号化タイルパート情報taが入力され、入力されたコードストリームc、及び暗号化タイルパート情報taから、鍵行列kaが生成され、生成された鍵行列ka及びコードストリーム鍵ckが出力される。
ここで、鍵行列生成部12で実行される鍵行列生成処理について図7Aを用いて詳細に説明をする。
図7Aは鍵行列生成部12で実行される鍵行列生成処理を示すフローチャートである。
まず、ステップS70でコードストリーム鍵ckが生成される。コードストリーム鍵ckは、コードストリームのハッシュ値として次式(式1)の様に算出される。
ck=H(c) (式1)
ここで、H()は、一方向性(不可逆)関数であり、異なるcに対するckが同一になり難い、いわゆる衝突耐性を有する関数である。この関数として、例えば、ハッシュ関数や、DESなどの暗号化処理などが適用可能である。また、この一方向性関数として、通常のハッシュ関数を用いた場合には、コードストリーム鍵ckはコードストリーム毎に異なる鍵となる。一方、一方向性関数として、鍵付きハッシュ関数を用いた場合には、ユーザとコードストリーム毎に異なる鍵となる。
ck=H(c) (式1)
ここで、H()は、一方向性(不可逆)関数であり、異なるcに対するckが同一になり難い、いわゆる衝突耐性を有する関数である。この関数として、例えば、ハッシュ関数や、DESなどの暗号化処理などが適用可能である。また、この一方向性関数として、通常のハッシュ関数を用いた場合には、コードストリーム鍵ckはコードストリーム毎に異なる鍵となる。一方、一方向性関数として、鍵付きハッシュ関数を用いた場合には、ユーザとコードストリーム毎に異なる鍵となる。
コードストリーム鍵ckとは、図4に示したツリー構造におけるルートノードに対応する値であり、入力した1画像分のデータに基づいて生成する。
次に、ステップS71でタイル鍵TKが生成される。タイル鍵TKは、コードストリーム鍵ck、及びタイルインデックスTのハッシュ値として次式(式2)の様に算出される。
TK=H(ck|T) (式2)
ここで、Tはタイルインデックスである。
TK=H(ck|T) (式2)
ここで、Tはタイルインデックスである。
尚、本実施の形態においては、説明を簡単にするため、コードストリームcはひとつのタイルだけから構成されているものとする。即ち、tiは「0」に固定されている。よって生成されるタイル鍵はコードストリーム全体においてひとつだけである。
しかしながら、本発明はこれに限定されることなく、コードストリームが複数のタイルから構成されているような場合にも適応可能である。この場合、夫々のタイル毎に(式2)を用いてタイル鍵を生成し、更に各タイル毎に以降の処理を実行するようにすればよい。
次いで、ステップS72において、パラメータiを初期値“N−1”に初期化する。パラメータiは着目しているタイルパートインデックスを示すパラメータであり、Nは当該タイルに含まれるタイルパートの総数である。即ち、本実施の形態においてはタイル中で最大のタイルパートインデックスを有するタイルパート鍵から順に生成するようにする。
次のステップS73では、入力された暗号化タイルパート情報taを用いて、タイルパートTPiがランダムアクセス制御の対象か、或いはシーケンシャルアクセス制御の対象かが判定される。ランダムアクセス制御の対象である場合は処理をステップS74に進め、シーケンシャルアクセス制御の対象である場合は処理をステップS75に進める。
ステップS74におけるランダムアクセス制御処理、及びステップS75におけるシーケンシャルアクセス制御処理についての詳細は後述する。そして、ステップS74、及びステップS75を処理した後に、処理を終了する。
ここで、ランダムアクセス制御処理S74、及びシーケンシャルアクセス制御処理S75について詳細な説明をする。
まずランダムアクセス制御処理について図7Bを用いて説明する。まず、ステップS76では、タイルパートTPiのタイルパート鍵Kiが、次式(式3)の様に算出される。
Ki=H(TK|i) (式3)
即ち、タイル鍵TK、及び当該タイルパートインデックスiに基づいて、タイルパート鍵Kiが一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列kaに記録される。ここで、鍵行列kaの例を図15を用いて説明する。図15には本実施形態に適用可能な鍵行列kaの一例を示す。図15に示すように、鍵行列kaには各タイルパートに対して夫々対応するタイルパート鍵が記録される。
Ki=H(TK|i) (式3)
即ち、タイル鍵TK、及び当該タイルパートインデックスiに基づいて、タイルパート鍵Kiが一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列kaに記録される。ここで、鍵行列kaの例を図15を用いて説明する。図15には本実施形態に適用可能な鍵行列kaの一例を示す。図15に示すように、鍵行列kaには各タイルパートに対して夫々対応するタイルパート鍵が記録される。
次いで、ステップS77において、パラメータiが1だけ減ぜられ、その後、ステップS78でパラメータiが0であるか否かが判定される。パラメータiが0の場合(即ちタイル中全てのタイルパートが処理された場合)には、処理を終了する。一方、パラメータiが0でない場合(即ちタイル中まだ処理されていないタイルパートが存在する場合)には、処理をステップS79に進める。
ステップS79では、入力された暗号化タイルパート情報taを用いて、タイルパートTPiがシーケンシャルアクセス制御の対象か、或いはランダムアクセス制御の対象かが判定される。シーケンシャルアクセス制御の対象である場合は処理をステップS710に進め、ランダムアクセス制御の対象である場合は処理をS76に進める。
ステップS710では、タイルパートTPiのタイルパート鍵Kiが次式(式4)の様に算出される。
Ki=H(K_i+1) (式4)
即ち、着目しているタイルパート鍵Kiは、一つ前のタイルパート鍵K_i+1から一方向性関数を用いて生成される。ステップS710においてタイルパート鍵Kiが生成された後、処理をステップS77に進める。
Ki=H(K_i+1) (式4)
即ち、着目しているタイルパート鍵Kiは、一つ前のタイルパート鍵K_i+1から一方向性関数を用いて生成される。ステップS710においてタイルパート鍵Kiが生成された後、処理をステップS77に進める。
次に、シーケンシャルアクセス制御処理について図7Cを用いて説明する。ステップS711では、タイルパートTPiのタイルパート鍵Kiが、次式(式5)の様に算出される。
Ki=H(KT) (式5)
即ち、タイル鍵TKから一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列Kaに記録される。
Ki=H(KT) (式5)
即ち、タイル鍵TKから一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列Kaに記録される。
次いで、ステップS713において、パラメータiが1だけ減ぜられ、その後、ステップS713でパラメータiが0であるか否かが判定される。パラメータiが0の場合(即ちタイル中全てのタイルパートが処理された場合)には、処理を終了する。一方、パラメータiが0でない場合(即ちタイル中まだ処理されていないタイルパートが存在する場合)には、処理をステップS714に進める。
ステップS714では、入力された暗号化タイルパート情報taを用いて、タイルパートTPiがシーケンシャルアクセス制御の対象か、或いはランダムアクセス制御の対象かが判定される。ランダムアクセス制御の対象である場合は処理をステップS715に進め、シーケンシャルアクセス制御の対象である場合は処理をS716に進める。
ステップS715では、タイルパートTPiのタイルパート鍵Kiが次式(式6)の様に算出される。
Ki=H(Kj|i) (式6)
即ち、着目しているタイルパート鍵Kiは、タイルパート鍵Kjとタイルパートインデックスjとからハッシュ関数を用いて生成される。ステップS715においてタイルパート鍵Kiが生成された後、処理をS713に進める。
Ki=H(Kj|i) (式6)
即ち、着目しているタイルパート鍵Kiは、タイルパート鍵Kjとタイルパートインデックスjとからハッシュ関数を用いて生成される。ステップS715においてタイルパート鍵Kiが生成された後、処理をS713に進める。
一方、ステップS716では、タイルパートTPiのタイルパート鍵Kiが次式(式7)の様に算出される。
Ki=H(Kj) (式7)
ここで、jは着目しているタイルパートTPiの直前にシーケンシャルアクセス制御の対象であったタイルパート(タイルパートTPiの親ノードに対応するタイルパート)のタイルパートインデックスである。即ち、着目しているタイルパート鍵Kiは、タイルパート鍵Kjからハッシュ関数を用いて生成される。ステップS716においてタイルパート鍵Kiが生成された跡、処理をステップS712に進める。
Ki=H(Kj) (式7)
ここで、jは着目しているタイルパートTPiの直前にシーケンシャルアクセス制御の対象であったタイルパート(タイルパートTPiの親ノードに対応するタイルパート)のタイルパートインデックスである。即ち、着目しているタイルパート鍵Kiは、タイルパート鍵Kjからハッシュ関数を用いて生成される。ステップS716においてタイルパート鍵Kiが生成された跡、処理をステップS712に進める。
以上、説明したように、鍵行列生成処理により鍵行列kaが生成される。生成された鍵行列kaは暗号化部13に入力される。
次に、暗号化部13の処理の詳細を説明する。暗号化部13は、コードストリームc、暗号化対象タイルパート情報ta、及び鍵行列kaを入力し、暗号化タイルパート情報taに示されたコードストリームcのタイルパートを、鍵行列kaに記録されているタイルパート鍵を用いて暗号化し、暗号化されたコードストリームc'を出力する。
暗号化部13で実行される暗号化処理について説明する。暗号化部13においては、入力されたコードストリームcを構成するタイルパートをTPiとしたとき、そのタイルパートに対応するタイルパート鍵Kiを用いて暗号化処理を行う。
JPEG2000においては、タイルパートを構成するデータは、パケットと呼ばれる単位から構成されている。そして、パケットはヘッダ部分とボディ部分から構成されている。本実施形態においては、ヘッダ部分は暗号化せずに、ボディ部分だけを暗号化するようにする。このように暗号化することによって、たとえ暗号化したとしても、画像として正しく伸長復号することが可能である。
しかしながら、本発明はこれに限定されることなく、ヘッダ部分、ヘッダ部分の一部、或いはパケット全体を暗号化するようにしてもよい。
また、暗号化の方法としては、本実施形態においては特に限定せず、DES(Data Encryption Standard)や、AES(Advanced Encryption Standard)など種々の暗号アルゴリズムを適用可能である。
また、暗号化したタイルパートは、各タイルパートのタイルパートヘッダに、アクセス制御の種類をマーカとして記録する。シーケンシャルアクセス制御のためのマーカを“S”、ランダムアクセス制御のためのマーカを“R”とした場合の例を図16に示す。同図(a)は図4(a)、同図(b)は図4(b)にそれぞれ対応するものである。
図16に示すように夫々のタイルパートのタイルパートヘッダにマーカを添付する。このように、アクセス制御の種類をマーカとして記録することにより、該タイルパートが暗号化されていることに加え、当該タイルパートを復号するための鍵をどのように生成すればよいか、後述する暗号復号処理部143に伝達することが可能となる。
以上の様に、暗号化されたコードストリームは、暗号化コードストリームc'として出力される。以上、図14における暗号化処理部141について説明した。
尚、本実施の形態においてはタイルに含まれるタイルパートを全て暗号化する例を説明したが、本発明はこれに限定されることなく、タイルを構成するタイルパートのうちいくつかだけを暗号化するようにしてもよい。例えば、前述した図4(a)の例のような場合、最も低い解像度レベルに属するタイルパート(図4における42)は暗号化せずに、それ以外のタイルパート(図4(a)における43、及び44)だけを暗号化するようにする。すると、アクセスを許可されていない利用者は低解像度レベルの画像だけを再生することができ、アクセスを許可されると高解像度レベルの画像を再生できるになる。また、前述した図4(b)の例のような場合、所定のプレシンクト(画像の空間的な領域)に属するタイルパート(図4における46)は暗号化せずに、それ以外のタイルパート(図4における47、48、及び49)だけを暗号化するようにする。すると、アクセスを許可されていない利用者は前記所定のプレシンクト(画像の空間的な領域)を再生することができず、アクセスを許可されると画像全体を再生することができるようになる。
上記本実施形態における暗号化処理部141は、一般に、パーソナルコンピュータ等の情報処理装置で実現できることは容易に類推できよう。また、パーソナルコンピュータ等の情報処理装置で、上記機能を実現すれば良いわけであるから、実施形態での特徴は情報処理方法、更には、コンピュータプログラムや、コンピュータプログラムを格納するCDROM等のコンピュータ可読記憶媒体にまで及ぶものである。
[アクセス鍵生成処理部]
次に、図9を用いて本実施形態に適用されるアクセス鍵生成部(機能)を説明する。
次に、図9を用いて本実施形態に適用されるアクセス鍵生成部(機能)を説明する。
図9に示すように、アクセス鍵生成部は、コードストリーム鍵ck、及びアクセスを許可するインデックスanが入力され、入力されたコードストリーム鍵ckからアクセスを許可するインデックスanに対応するアクセス鍵ak(暗号化を解除する鍵)が生成され、生成されたアクセス鍵akが出力される。ここで、アクセスを許可するインデックスanとは、アクセスを許可するタイルパートインデックスのことである。
図5に示したように、本実施形態においては、タイルパートはツリー構造で表現できる。図5に示したツリー構造を構成するノードのうち、ひとつのノードを、アクセスを許可するインデックスanで指定し、指定されたノードに対応するアクセス鍵を生成する。
指定されたノードのアクセス鍵を生成する方式としては、入力されたコードストリーム鍵ckをルートノードに対応させ、図7に示したような方法で順に各ノードに対応する鍵を生成することを、アクセスを許可するノードのインデックスanになるまで繰り返すようにすれば良い。
生成されたアクセス鍵は、図8に示すようなフォーマットに従ってakとして出力される。図8に示すように、akは、アクセス鍵、及び当該アクセス鍵が対応するタイルパートインデックスから構成される。また、複数のノードが指定された場合は、夫々のノードに対応するアクセス鍵、及び当該アクセス鍵が対応するタイルパートインデックスをすべて記録するようにする。
ここで、アクセス鍵生成部におけるアクセス鍵生成処理について例を用いて説明する。図10は、図4に示したようなアクセス制御が施されたコードストリームに対するアクセス鍵生成処理の例を示す図である。図10において、図10(a)は図4(a)(図5(a))に対応し、図10(a)は図4(b)(図5(b))に対応する。
図10(a)は図4(b)に示したようなコードストリームに対して、中間の解像度レベル43、及び低い解像度レベル42に対してアクセス権を与えるためのアクセス鍵生成処理の例である。
この例の場合、タイルパートインデックス“7”に対応するタイルパート鍵が、タイル鍵から順にハッシュ関数を用いて生成され、アクセス鍵として生成される。生成されたアクセス鍵により、図10(a)において網掛けで示されたノードへアクセスすることができる。
一方、図10(b)は図4(b)に示したようなコードストリームに対して、画像全体の右半分に対してアクセス権を与えるためのアクセス鍵生成処理の例である。この例の場合、画像全体の右半分を示す為の2つのタイルパートインデックス“8”、及び“2”に対応するタイルパート鍵が、夫々タイル鍵から順にハッシュ関数を用いて生成され、アクセス鍵として生成される。生成されたアクセス鍵により、図10(b)において網掛けで示されたノードへアクセスすることができる。
なお、図10は、先に示した図5と同様の関係にあることは、当業者であればこれまでの説明から容易に推察されよう。
以上説明した方法で、図8に示すようなフォーマットに格納された後、Kaは後述する暗号復号処理部に渡される(実際は、暗号復号処理部からの要求に応じて提供する)。出力されたアクセス鍵Ka全体、或いはその一部は安全に暗号復号処理部に送信するために、暗号化しても良い。
[暗号復号処理部]
先ず、本実施形態における暗号復号処理部143と、アクセス鍵生成処理部142との大まかな動作を説明し、その後で、具体的な暗号復号処理部143の処理内容を説明することとする。暗号復号処理部143はインターネットに接続し得る一般のユーザが所有しているPC、アクセス鍵生成処理部142は暗号化を解除するための認証サーバとして考えると分かりやすいので、それを前提にして説明する。
先ず、本実施形態における暗号復号処理部143と、アクセス鍵生成処理部142との大まかな動作を説明し、その後で、具体的な暗号復号処理部143の処理内容を説明することとする。暗号復号処理部143はインターネットに接続し得る一般のユーザが所有しているPC、アクセス鍵生成処理部142は暗号化を解除するための認証サーバとして考えると分かりやすいので、それを前提にして説明する。
暗号化されたコードストリームc'を受信した暗号復号処理部(クライアントPC)143は、暗号化されないタイルパートの符号化データに基づいて画像を再現する。従って、再現できる画像の解像度は自ずと限られていることになる。このとき、その暗号復号処理部のユーザが、より高い解像度を再現できるよう望む場合、暗号化されているタイルパートから上位に遡って、要求するレベルのノードをユーザからの指示に従い決定する。このノードのレベル(タイルパートインデックス)をアクセス鍵生成処理部142(認証サーバ)にインデックスanとして要求する。この結果、アクセス鍵生成処理部142からは、要求したノードに対するアクセス鍵Kaが暗号復号処理部(クライアントPC)143に送られてくる。暗号復号処理部(クライアントPC)143は、受信したアクセス鍵Kaに基づき、その下位に向かう暗号を解除するための鍵群を生成する。そして、その鍵を用いて暗号化されている符号化データの暗号化を解除し、伸長復号を行なう。
なお、アクセス鍵生成処理部142としては、アクセス鍵Kaを取得したい旨の要求をクライアント(伸長復号処理部に対応する)から受信した場合、認証処理や課金等の処理を経て、そのアクセス鍵を提供することになるであろう。従って、このアクセス鍵生成処理部142をインターネットに認証サーバとして設置する場合、複数の暗号化処理部、複数の復号処理部を想定して設置する必要があり、必然、多数の画像を特定する情報と共に、それら個々の画像に対するコードストリーム鍵を登録できるようにしておく。そして、暗号復号処理部143は、画像を特定する情報と暗号化を解除するためのタイルパートインデックスを通知することで、目的とする画像の目的とするノードレベルのアクセス鍵Kaを得るようになる。アクセス鍵生成処理部142(認証サーバ)としては、1つの画像について、その画像を特定する情報(IDやファイル名等)と、その画像のルートノードに対する1つのコードストリームだけ記憶していれば良いので、記憶管理する情報量も少なくできよう。
上記を踏まえ、以下、図11を用いて本実施形態に適用される暗号復号処理部(機能)を説明する。
図11に示すように、本実施形態における暗号復号処理部143は、鍵行列生成部111、暗号復号部112、及び暗号化タイルパート判定部113から構成される。
まずはじめに、鍵行列生成部111の処理の詳細を説明する。鍵行列生成部111には、アクセス鍵生成処理部142に要求したタイルパートインデックスに対するアクセス鍵Kaが入力される。そして、入力されたアクセス鍵Kaから、鍵行列ka'(各ノード(タイルパート)に対応する解読キー)を生成し、その生成された鍵行列ak'を出力する。
ここで、鍵行列生成部111で実行される鍵行列生成処理について図12Aを用いて、詳細に説明をする。図12Aは鍵行列生成部111で実行される鍵行列生成処理を示すフローチャートである。また、以下に説明するマーカの一例は、図16(a)、(b)を参照されたい。
まず、ステップS121で入力されたアクセス鍵akに含まれる最初のアクセス鍵に着目する。
続いて、ステップS122において、タイルに含まれるタイルパートのうち最大のタイルパートインデックスを有するタイルパートがランダムアクセス制御であるか、或いはシーケンシャルアクセス制御であるかが判定される。これは、タイルパートヘッダを解析し、マーカ“R”が付加されているか、或いはマーカ“S”が添付されているかによって判断できる。そして、ランダムアクセス制御である場合(マーカ“R”)には処理をステップS123に進め、シーケンシャルアクセス制御である場合(マーカ“S”)には処理をステップS124に進める。
ステップS123におけるランダムアクセス制御処理、及びステップS124におけるシーケンシャルアクセス制御処理についての詳細は後述する。
ステップS123,及びステップS124における処理が終了した後、処理をステップS125に進める。そして、ステップS125において、入力されたアクセス鍵に含まれる全てのアクセス鍵値が処理されたか否かが判定される。全てのアクセス鍵値が処理された場合には処理を終了し、まだ処理されていないアクセス鍵値が残っている場合には、処理をステップS126に進める。そして、ステップS126において次のアクセス鍵に着目し、処理をステップS122に進める。
ここで、ランダムアクセス制御処理について図12Bを用いて説明する。まず、ステップS126では、アクセス鍵値がタイル鍵であるか否かが判定される。タイル鍵である場合には処理をステップS128にすすめ、タイル鍵でない場合には処理をステップS127に進める。
ステップS128では、パラメータiを初期値“N−1”に初期化する。パラメータiは着目しているタイルパートインデックスを示すパラメータであり、Nは当該タイルに含まれるタイルパートの総数である。その後、処理をステップ129に進める。
ステップS129では、タイルパートTPiのタイルパート鍵が次式(式8)の様に算出される。
Ki=H(KT|i) (式8)
即ち、タイル鍵TK、及び当該タイルパートインデックスiとからタイルパート鍵Kiが一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。タイルパート鍵Kiが生成された後、処理をステップS1210に進める。
Ki=H(KT|i) (式8)
即ち、タイル鍵TK、及び当該タイルパートインデックスiとからタイルパート鍵Kiが一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。タイルパート鍵Kiが生成された後、処理をステップS1210に進める。
一方、ステップS127では、パラメータiを現在着目しているアクセス鍵が対応するタイルパートインデックスに初期化する。その後、処理をステップS1210に進める。
ステップS1210では、パラメータiが1だけ減ぜられ、その後、ステップS1211でパラメータiが0であるか否かが判定される。パラメータiが0の場合(即ちタイル中全てのタイルパートが処理された場合)には、処理を終了する。一方、パラメータiが0でない場合(即ちタイル中まだ処理されていないタイルパートが存在する場合)には、処理をステップS1212に進める。
次いで、ステップS1212では、タイルパートTPiがシーケンシャルアクセス制御の対象か、或いはランダムアクセス制御の対象かが判定される。シーケンシャルアクセス制御の対象である場合には処理をステップS1214に進め、ランダムアクセス制御の対象である場合には処理をステップS1213に進める。
ステップS1214では、タイルパートTPiのタイルパート鍵Kiが次式(式9)の様に算出される。
Ki=H(K_i+1) (式9)
即ち、着目しているタイルパート鍵Kiは、一つ前のタイルパート鍵K_i+1から一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。ステップS1214においてタイルパート鍵Kiが生成された後、処理をS1210に進める。
Ki=H(K_i+1) (式9)
即ち、着目しているタイルパート鍵Kiは、一つ前のタイルパート鍵K_i+1から一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。ステップS1214においてタイルパート鍵Kiが生成された後、処理をS1210に進める。
一方、ステップS1213では、入力されたアクセス鍵値がタイル鍵であるか否かが判定される。タイル鍵である場合には処理をステップS1215に進め、タイル鍵でない場合には処理を終了する。
ステップS1215では、タイルパートTPiのタイルパート鍵Kiが次式(式10)の様に算出される。
Ki=H(KT|i) (式10)
即ち、タイル鍵TK、及び当該タイルパートインデックスiとからタイルパート鍵Kiが一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。ステップS1215においてタイルパート鍵Kiが生成された後、処理をS129に進める。
Ki=H(KT|i) (式10)
即ち、タイル鍵TK、及び当該タイルパートインデックスiとからタイルパート鍵Kiが一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。ステップS1215においてタイルパート鍵Kiが生成された後、処理をS129に進める。
次に、シーケンシャルアクセス制御処理について図12Cを用いて説明する。ステップS1216では、アクセス鍵値がタイル鍵であるか否かが判定される。タイル鍵である場合には処理をステップS1218に進め、タイル鍵でない場合には処理をステップS1217に進める。
ステップS1218では、パラメータiを初期値“N−1”に初期化する。パラメータiは着目しているタイルパートインデックスを示すパラメータであり、Nは当該タイルに含まれるタイルパートの総数である。その後、処理をステップ1219に進める。
ステップS1219では、タイルパートTPiのタイルパート鍵が次式(式11)の様に算出される。
Ki=H(KT) (式11)
即ち、タイル鍵TKからタイルパート鍵Kiが一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。タイルパート鍵Kiが生成された後、処理をステップS1220に進める。
Ki=H(KT) (式11)
即ち、タイル鍵TKからタイルパート鍵Kiが一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。タイルパート鍵Kiが生成された後、処理をステップS1220に進める。
一方、ステップS1217では、パラメータiを現在着目しているアクセス鍵が対応するタイルパートインデックスに初期化する。その後、処理をステップS1220に進める。
ステップS1220ではパラメータiをjに代入する。jはiの親ノードを表すインデックスである。次いで、ステップS1221では、パラメータiが1だけ減ぜられ、その後、ステップS1222でパラメータiが0であるか否かが判定される。パラメータiが0の場合(即ちタイル中全てのタイルパートが処理された場合)には、処理を終了する。一方、パラメータiが0でない場合(即ちタイル中まだ処理されていないタイルパートが存在する場合)には、処理をステップS1223に進める。
ステップS1223では、タイルパートTPiのタイルパート鍵Kiが次式(式12)の様に算出される。
Ki=H(Kj|i) (式12)
即ち、着目しているタイルパート鍵Kiは、親のタイルパート鍵Kjとタイルパートインデックスiとからハッシュ関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列Ka'に記録される。ステップS1224においてタイルパート鍵Kiが生成された後、処理をステップS1221に進める。
Ki=H(Kj|i) (式12)
即ち、着目しているタイルパート鍵Kiは、親のタイルパート鍵Kjとタイルパートインデックスiとからハッシュ関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列Ka'に記録される。ステップS1224においてタイルパート鍵Kiが生成された後、処理をステップS1221に進める。
一方、ステップS1225では、入力されたアクセス鍵値がタイル鍵であるか否かが判定される。タイル鍵である場合には処理をステップS1225に進め、タイル鍵でない場合いは処理を終了する。
ステップS1225では、タイルパートTPinタイルパート鍵Kiが次式(式13)のように算出される。
Ki=H(Kj) (式13)
即ち、着目しているタイルパート鍵Kiは、親のタイルパート鍵Kjから一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。ステップS1225においてタイルパート鍵Kiが生成された後、処理をステップS1220に進める。
Ki=H(Kj) (式13)
即ち、着目しているタイルパート鍵Kiは、親のタイルパート鍵Kjから一方向性関数を用いて生成される。生成されたタイルパート鍵Kiは、鍵行列ka'に記録される。ステップS1225においてタイルパート鍵Kiが生成された後、処理をステップS1220に進める。
以上、説明したように、鍵行列生成処理により鍵行列ka'が生成される。生成された鍵行列ka'は暗号復号部112に入力される。
次に、暗号復号部112の処理の詳細を説明する。暗号復号部112には、暗号化されたコードストリームc'、鍵行列ka'が入力され、コードストリームc'中で暗号化されているタイルパートが、鍵行列ka'に記録されているタイルパート鍵を用いて暗号復号(暗号解除)され、暗号復号されたコードストリームc''が出力される。
暗号復号部112では、コードストリームc'を解析し、各タイルパートを抽出し、抽出された夫々のタイルパートが暗号化されているか否かが、マーカR、及びマーカSにより判定され、暗号化されているタイルパートは、鍵行列ka'に記録されているタイルパート鍵を用いて暗号復号処理される。そして、コードストリームc'のタイルパートは、暗号復号処理されたタイルパートに置き換えられる。
また、暗号復号処理したタイルパートは、タイルパートヘッダに記録されているマーカR,及びマーカSを消去する。
更に、ヘッダ部分は暗号復号処理せずにデータ部分だけを暗号復号処理するようにする。
暗号復号処理の方法としては、前述した暗号化処理部で実行した方法に対応する方法でなければならない。
以上の様に、アクセス鍵に応じて、暗号化されたコードストリームc'が暗号復号され、暗号復号されたコードストリームは、暗号復号コードストリームc''として出力される。
従って、図14における復号処理部143が、アクセス鍵生成処理部142からアクセス鍵akを受信しないで、暗号化されたコードストリームc'を受信し、暗号復号処理したとしても、暗号化されていないタイルパートについては暗号復号が成功するだけとなり、予め許容された解像度以下の画像の再現までが可能となる。換言すれば、(暗号)復号処理部143のユーザが、より鮮明な画像を望む場合には、アクセス鍵akを取得し、再度暗号復号化(暗号解除)処理を行えば良いことになる。
以上説明したように本実施形態によれば、複数の領域、及び階層構造を有する画像データに対して、領域毎、及び階層構造毎に異なる暗号鍵を用いて暗号化した場合にも、複数の鍵を管理する必要がないようにすることが可能となる。更に、複数の領域及び階層構造と、それらに対応する復号鍵を記録し、正しく復号処理を実行することが可能となる。
なお、上記の実施形態でのタイルパートとは、プレシンクト(タイル中で所定の空間的領域を示す集合単位)、及び解像度レベル(ウェーブレット変換処理を行った際に生成される各周波数成分領域の集合単位)とするものであったが、これに限定されるものではない。
例えば、一般に画像の圧縮符号化では、ウェーブレット変換や直交変換等の周波数変換処理して得られたデータを量子化し、エントロピー符号化を施すが、量子化して得られた各係数値のビット単位のプレーン毎に符号化することを行う提案も既に幾つかなされており、これに適用させても良いからである。より具体的に説明するため、図13を用いて説明する。
図13は、量子化した後の係数値のブロックを示している。図示では説明を単純化するため、4×4としているが勿論、これより大きくても構わないし、一般に、このサイズよりも大きなものとなる。座標(i,j)として表現したとき、図示は、(1,1)の係数値が「+13」、(4,1)が「−6」、(1、4)が「+3」という値を持ち、それ以外は「0」となっている例を示している。この中で値が最も大きいものが「+13」であり、バイナリー(2進)で表記すると「1101」となる。つまり、図示の場合、全ての係数が4ビットで表現できるので、ビット3のプレーン、ビット2のプレーン、ビット1のプレーン、ビット0のプレーンの4つのプレーンがあれば十分に表現でき、ビットプレーン毎に符号化を行う。
一方、データの重要度から見た場合、高位のビットほど重要であるから、結局のところ、ビット3のプレーンがそのブロックの画質に支配的となり、以下、画質に与える影響の大きな順は、ビット2のプレーン、ビット1のプレーン、ビット0のプレーンとなる。これは、ちょうど、先に説明したウェーブレット変換を複数回行った際の、最も低周波成分の係数値(LL成分)が、ビット3のプレーンであり、最も高周波成分の係数の集合{LH1+HL1+HH1}がビット0のプレーンに対応するのと同様の意味を持つことに他ならない。
以上説明したように本実施形態によれば、複数のタイル及び階層構造を有する画像データに対して、タイル及び階層構造毎に異なる暗号鍵を用いて暗号化した場合にも、複数の鍵を管理する必要がないようにすることが可能となる。更に、複数のタイル及び階層構造と、それらに対応する暗号復号鍵を記録し、正しく暗号復号処理を実行することか可能となる。
また以上説明した実施形態における、暗号化処理部141、アクセス鍵生成処理部142、更には、(暗号)復号処理部143は、それぞれパーソナルコンピュータ等の情報処理装置でもって実現できるし、その機能を実現する手順としての方法の発明として捉えることができる。また、コンピュータにより実現できるわけであるから、本発明はそれぞれの装置で実行されるコンピュータプログラムもその範疇とする。更に、一般に、コンピュータプログラムは、CDROM等の可搬性コンピュータ可読記憶媒体をセットし、インストールもしくはシステムのコピーしてから実行するものであるから、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかであろう。
また、本実施の形態においては、解像度とプレシンクトを組み合わせた場合のアクセス制御の方法についての例を用いて説明したが、本発明はこれに限定されることなく、JPEG2000における種々のデータユニットを組み合わせてアクセス制御することが可能である。
例えば、レイヤとプレシンクトを組み合わせる場合は、図4における「解像度レベル」を「レイヤ」に置き換えて処理すればよい。レイヤとは、所定の画質の画像を伸長復号するための、エントロピ符号化された符号列(コードストリーム)の集合である。よって、レイヤとプレシンクトを組み合わせて本発明を実施することにより、「画像の所定の位置(領域)は高い画質でアクセス可能とし、別の位置(領域)は低い画質でだけアクセス可能」といったような画質と位置(領域)に応じたアクセス制御をすることが可能となる。
別の例として、解像度レベルとコンポーネントを組み合わせることもできる。この場合には、図4における「プレシンクト」を「コンポーネント」に置き換えて処理すればよい。コンポーネントとは、1画素を構成する要素であり、例えば輝度成分や色成分などのことである。よって、解像度レベルとコンポーネントを組み合わせて本発明を実施することにより、「画像の輝度成分は高い解像度でアクセス可能とし、色成分は低い解像度でだけアクセス可能」といったような解像度と、輝度や色成分に応じたアクセス制御をすることが可能となる。
同様に、レイヤとコンポーネントの組み合わせや、レイヤとコンポーネントの組み合わせなどが可能であることは明らかである。
なお、本発明の特徴の1つは、階層符号化におけるプレシンクト単位のアクセス制御を行う為の暗号化鍵の生成する方法であるが、この特徴については、図5等を用いて説明した場合に限らない。即ち、プレシンクト単位に効率的なアクセス制御ができる様、種々の変形が可能である。その一例を図17に示す。
図17は図5の変形である。図中のタイルパート0〜11は図5と同じである。ここでは、タイル鍵Tに基づいて、最高解像度レベル(タイルパート8〜11)に属するタイル鍵T1を生成する。なお、このT1はTを一方向関数を用いて演算した値でも良いが、Tそのものでも良い。次に、T1を一方向関数を用いて演算することによりT2を生成する。これは第2解像度レベル(タイルパート4〜7)に属するタイル鍵である。次に、T2を一方向関数を用いて演算することによりT3を生成する。これは第3解像度レベル(タイルパート0〜3)に属するタイル鍵である。
これらタイル鍵T1〜T3の役割は、それぞれ図5のノード11、ノード7、ノード3と同じである。図5では、これら3つのノードが各解像度レベルのタイルパートの代表の役割をしていたが、この図17においては、代表の役割を別の仮想的なノード(T1、T2、T3)に与える。これにより、これら3つのノード11、7、3に対応する鍵は、各々が属する解像度レベルにおける他のタイルパートと同等に作成されることになり、ノードを識別する制御等がより簡単になるであろう。次に、最高解像度レベル(図4の44)におけるタイルパート8、9、10、11の暗号化鍵を、タイル鍵T1と、それぞれのタイルパートインデックス(8、9、10、11)を用いて生成する。これは図5と同様である。図5と異なるのは、タイルパート11の鍵もタイルパート8〜10と同様に作成されることである。次に、第2解像度レベル(図4の43)におけるタイルパート4〜7の暗号化鍵を、タイル鍵T2と、それぞれのタイルパートインデックスを用いて生成する。最後に、第3解像度(最低解像度)レベル(図4の42)におけるタイルパート0〜3の暗号化鍵を、タイル鍵T3と、それぞれのタイルパートインデックスを用いて生成する。 以上の変形例を本発明に適用しても、プレシンクト単位の効率の良いアクセス制御が可能である。
なお、以上では、主にJPEG2000 符号化アルゴリズムを用いた場合を説明したが、本発明はこれに限らない。即ち、上記各種説明と同様の概念を持つ符号化アルゴリズムに対して本発明を適用可能である。
また、上述した種々の名称(プレシンクト、タイルパート、等)が異なっている実施形態においても、上述した概念と共通する実施形態であれば、その形態は本発明の範疇に含まれる。
Claims (11)
- 画像データのタイルに対し、多段階のウェーブレット変換処理することで生成された圧縮符号化データを暗号化する情報処理方法であって、
多段階のウェーブレット変換による各階層のサブバンドを複数のプレシンクトに分割し、同階層のサブバンドの同位相のプレシンクトの符号化データの集合をタイルパートとし、周波数の高い符号化データを有するタイルパートほど高位のノードに位置させたツリー構造を定義し、
最上位のノードのタイルパート用の暗号化鍵情報については、タイル全体の符号化データに基づいて生成したルート鍵情報に基づいて生成し、
最上位のノード以外のタイルパートの暗号化する際に利用する暗号化鍵情報については、それより高位のノードのタイルパート用に生成された暗号化鍵情報に基づいて一方向変換処理により生成し、
所望とするタイルパートの暗号化が設定された場合、当該所望とするタイルパート及び当該所望とするタイルパートよりも高い周波数成分の符号化データを有するタイルパートを、夫々のタイルパートのノード用に生成された暗号化鍵情報で暗号化する
ことを特徴とする情報処理方法。 - 画像データに、多段階のウェーブレット変換をすることで生成された圧縮符号化データを暗号化する情報処理方法であって、
前記圧縮符号化データにおける各階層のサブバンドを複数のプレシンクトに分割し、
同一階層のサブバンドの同位相のプレシンクトの圧縮符号化データの集合を1つのタイルパートとして定義し、
低周波成分よりも少なくとも1つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義し、
最上位のノードの暗号化鍵を、前記画像データに基づいて生成し、
前記最上位の暗号化鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号化鍵を生成し、
注目タイルパートを、該タイルパートと該タイルパートが属する階層の代表となる暗号化鍵に基づいて暗号化することを特徴とする情報処理方法。 - 前記各階層の代表となる暗号化鍵は、各階層におけるタイルパートに対応するノードのうちの1つであることを特徴とする請求項2に記載の情報処理方法。
- 前記各階層の代表となる暗号化鍵は、各階層におけるタイルパートとは別の仮想的なノードであることを特徴とする請求項2に記載の情報処理方法。
- 多段階のウェーブレット変換処理を用いて圧縮され、且つ、暗号化が施された符号化データの暗号復号鍵を生成する情報処理方法であって、
前記符号化データにおける各階層のサブバンドを複数のプレシンクトに分割し、
同一階層のサブバンドの同位相のプレシンクトの符号化データの集合を1つのタイルパートとして定義し、
低周波成分よりも少なくとも1つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義し、
所定ノードに対応する暗号復号鍵を取得し、
前記暗号復号鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号復号鍵を生成し、
注目タイルパートを解読する暗号復号鍵を、該タイルパートと該タイルパートが属する階層の代表となる暗号復号鍵に基づいて生成することを特徴とする情報処理方法。 - 画像データに、多段階のウェーブレット変換をすることで生成された圧縮符号化データを暗号化する情報処理装置であって、
前記圧縮符号化データにおける各階層のサブバンドを複数のプレシンクトに分割する手段と、
同一階層のサブバンドの同位相のプレシンクトの圧縮符号化データの集合を1つのタイルパートとして定義し、低周波成分よりも少なくとも1つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義する手段と、
最上位のノードの暗号化鍵を、前記画像データに基づいて生成する手段と、
前記最上位の暗号化鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号化鍵を生成する手段と、
注目タイルパートを、該タイルパートと該タイルパートが属する階層の代表となる暗号化鍵に基づいて暗号化する手段と
を備えることを特徴とする情報処理方法。 - 多段階のウェーブレット変換処理を用いて圧縮され、且つ、暗号化が施された符号化データの暗号復号鍵を生成する情報処理装置であって、
前記符号化データにおける各階層のサブバンドを複数のプレシンクトに分割する手段と、
同一階層のサブバンドの同位相のプレシンクトの符号化データの集合を1つのタイルパートとして定義し、低周波成分よりも少なくとも1つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義する手段と、
所定ノードに対応する暗号復号鍵を取得する手段と、
前記暗号復号鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号復号鍵を生成する手段と、
注目タイルパートを解読する暗号復号鍵を、該タイルパートと該タイルパートが属する階層の代表となる暗号復号鍵に基づいて生成する手段と
を備えることを特徴とする情報処理装置。 - 画像データに、多段階のウェーブレット変換をすることで生成された圧縮符号化データを暗号化する情報処理装置として機能するコンピュータプログラムであって、
前記圧縮符号化データにおける各階層のサブバンドを複数のプレシンクトに分割する手段と、
同一階層のサブバンドの同位相のプレシンクトの圧縮符号化データの集合を1つのタイルパートとして定義し、低周波成分よりも少なくとも1つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義する手段と、
最上位のノードの暗号化鍵を、前記画像データに基づいて生成する手段と、
前記最上位の暗号化鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号化鍵を生成する手段と、
注目タイルパートを、該タイルパートと該タイルパートが属する階層の代表となる暗号化鍵に基づいて暗号化する手段
として機能することを特徴とするコンピュータプログラム。 - 多段階のウェーブレット変換処理を用いて圧縮され、且つ、暗号化が施された符号化データの暗号復号鍵を生成する情報処理装置として機能するコンピュータプログラムであって、
前記符号化データにおける各階層のサブバンドを複数のプレシンクトに分割する手段と、
同一階層のサブバンドの同位相のプレシンクトの符号化データの集合を1つのタイルパートとして定義し、低周波成分よりも少なくとも1つの高周波成分に対応するタイルパートが高位になるよう、各タイルパートに対応するノードを配置したツリー構造を定義する手段と、
所定ノードに対応する暗号復号鍵を取得する手段と、
前記暗号復号鍵を一方向変換処理を用いて演算することにより、高階層から低階層の順に、各階層の代表となる暗号復号鍵を生成する手段と、
注目タイルパートを解読する暗号復号鍵を、該タイルパートと該タイルパートが属する階層の代表となる暗号復号鍵に基づいて生成する手段
として機能することを特徴とするコンピュータプログラム。 - 請求項8に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
- 請求項9に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003412222A JP2004242287A (ja) | 2003-01-14 | 2003-12-10 | 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 |
US10/754,523 US7457419B2 (en) | 2003-01-14 | 2004-01-12 | Information processing method and apparatus for encrypting encoded data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003006373 | 2003-01-14 | ||
JP2003412222A JP2004242287A (ja) | 2003-01-14 | 2003-12-10 | 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004242287A true JP2004242287A (ja) | 2004-08-26 |
Family
ID=32716396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003412222A Withdrawn JP2004242287A (ja) | 2003-01-14 | 2003-12-10 | 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7457419B2 (ja) |
JP (1) | JP2004242287A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006166413A (ja) * | 2004-12-02 | 2006-06-22 | Mitsubishi Electric Research Laboratories Inc | スケーラブルな画像トランスコーディング方法 |
JP2007088614A (ja) * | 2005-09-20 | 2007-04-05 | Mitsubishi Electric Corp | コンテンツ暗号化装置およびコンテンツ復号化装置 |
JP2008131556A (ja) * | 2006-11-24 | 2008-06-05 | Mitsubishi Electric Corp | データ変換装置及びデータ変換方法及びプログラム |
JP2008288841A (ja) * | 2007-05-17 | 2008-11-27 | Sony Corp | 符号化装置および方法 |
JP2008288883A (ja) * | 2007-05-17 | 2008-11-27 | Sony Corp | 情報処理装置および方法 |
JP2009231930A (ja) * | 2008-03-19 | 2009-10-08 | Ricoh Co Ltd | 鍵生成装置および鍵生成方法 |
CN107295351A (zh) * | 2017-07-17 | 2017-10-24 | 浙江师范大学 | 一种对图像进行对称‑非对称加解密方法及系统 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4227425B2 (ja) * | 2003-01-23 | 2009-02-18 | キヤノン株式会社 | 情報処理方法及び装置、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
JP2005341316A (ja) * | 2004-05-27 | 2005-12-08 | Sony Corp | 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム |
JP4208780B2 (ja) | 2004-07-07 | 2009-01-14 | キヤノン株式会社 | 画像処理システム及び画像処理装置の制御方法並びにプログラム |
JP4227569B2 (ja) * | 2004-07-07 | 2009-02-18 | キヤノン株式会社 | 画像処理システム、画像処理装置の制御方法、プログラム及び記録媒体 |
JP2006023945A (ja) * | 2004-07-07 | 2006-01-26 | Canon Inc | 画像処理システム及び画像処理方法 |
JP2006025129A (ja) * | 2004-07-07 | 2006-01-26 | Canon Inc | 画像処理システム及び画像処理方法 |
JP2006023944A (ja) * | 2004-07-07 | 2006-01-26 | Canon Inc | 画像処理システム及び画像処理方法 |
US7664109B2 (en) * | 2004-09-03 | 2010-02-16 | Microsoft Corporation | System and method for distributed streaming of scalable media |
US8090105B2 (en) * | 2004-11-24 | 2012-01-03 | International Business Machines Corporation | Broadcast encryption with dual tree sizes |
US7644445B2 (en) * | 2005-07-11 | 2010-01-05 | Microsoft Corporation | Secure key management for scalable codestreams |
ATE520092T1 (de) * | 2005-10-31 | 2011-08-15 | Sap Ag | System und verfahren zur datenverarbeitung |
US7940926B2 (en) * | 2006-06-08 | 2011-05-10 | Novell, Inc. | Cooperative encoding of data by pluralities of parties |
WO2008053545A1 (fr) * | 2006-10-31 | 2008-05-08 | Fujitsu Limited | Dispositif de chiffrage/déchiffrage d'images, procédé et programme |
JP5089214B2 (ja) * | 2007-03-27 | 2012-12-05 | キヤノン株式会社 | 画像処理方法及びその装置、コンピュータプログラム及び記憶媒体 |
WO2009033248A1 (en) * | 2007-09-10 | 2009-03-19 | Novell, Inc. | A method for efficient thread usage for hierarchically structured tasks |
US20100095114A1 (en) * | 2008-10-10 | 2010-04-15 | Richard Greene | Method and system for encrypting and decrypting data streams |
GB0916924D0 (en) | 2009-09-25 | 2009-11-11 | Advanced Risc Mach Ltd | Graphics processing systems |
US9349156B2 (en) * | 2009-09-25 | 2016-05-24 | Arm Limited | Adaptive frame buffer compression |
US9406155B2 (en) | 2009-09-25 | 2016-08-02 | Arm Limited | Graphics processing systems |
IT1403450B1 (it) * | 2011-01-19 | 2013-10-17 | Sisvel S P A | Flusso video costituito da frame video combinati, e procedimento e dispositivi per la sua generazione, trasmissione, ricezione e riproduzione |
US9177500B2 (en) * | 2011-01-31 | 2015-11-03 | Global Oled Technology Llc | Display with secure decryption of image signals |
GB201105716D0 (en) | 2011-04-04 | 2011-05-18 | Advanced Risc Mach Ltd | Method of and apparatus for displaying windows on a display |
CN104040934B (zh) | 2011-12-15 | 2018-04-24 | 英特尔公司 | 当被云服务操控时保护图像隐私 |
US9081953B2 (en) | 2012-07-17 | 2015-07-14 | Oracle International Corporation | Defense against search engine tracking |
US8855303B1 (en) * | 2012-12-05 | 2014-10-07 | The Boeing Company | Cryptography using a symmetric frequency-based encryption algorithm |
US9195426B2 (en) | 2013-09-20 | 2015-11-24 | Arm Limited | Method and apparatus for generating an output surface from one or more input surfaces in data processing systems |
US9182934B2 (en) | 2013-09-20 | 2015-11-10 | Arm Limited | Method and apparatus for generating an output surface from one or more input surfaces in data processing systems |
GB2524467B (en) | 2014-02-07 | 2020-05-27 | Advanced Risc Mach Ltd | Method of and apparatus for generating an overdrive frame for a display |
GB2528265B (en) | 2014-07-15 | 2021-03-10 | Advanced Risc Mach Ltd | Method of and apparatus for generating an output frame |
KR102597985B1 (ko) * | 2014-08-07 | 2023-11-06 | 디빅스, 엘엘씨 | 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법 |
US9542714B2 (en) * | 2015-05-28 | 2017-01-10 | The Boeing Company | Concealing data within images |
GB2540562B (en) | 2015-07-21 | 2019-09-04 | Advanced Risc Mach Ltd | Method of and apparatus for generating a signature representative of the content of an array of data |
KR102460069B1 (ko) * | 2015-09-30 | 2022-10-28 | 삼성전자주식회사 | 보안 인증 장치 및 보안 인증 방법 |
CN105913370B (zh) * | 2016-04-08 | 2019-03-22 | 重庆邮电大学 | 一种基于小波分层和组合混沌的图像加密算法 |
FR3054945B1 (fr) * | 2016-08-05 | 2019-09-06 | Viaccess | Procede de lecture et de generation d'un flux video contenant des images compressees et chiffrees |
US11132448B2 (en) | 2018-08-01 | 2021-09-28 | Dell Products L.P. | Encryption using wavelet transformation |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321776A (en) * | 1992-02-26 | 1994-06-14 | General Electric Company | Data compression system including successive approximation quantizer |
US5434253A (en) * | 1994-03-21 | 1995-07-18 | Vanderbilt University | DNA encoding Helicobacter pylori recombinase |
US5619025A (en) * | 1994-05-05 | 1997-04-08 | Network Security Technologies | Method for tamper-proof identification using photorefractive crystals |
JPH1198487A (ja) * | 1997-09-24 | 1999-04-09 | Mitsubishi Electric Corp | 画像符号化装置及び画像復号化装置 |
JP3673664B2 (ja) * | 1998-01-30 | 2005-07-20 | キヤノン株式会社 | データ処理装置、データ処理方法及び記憶媒体 |
JP3609263B2 (ja) * | 1998-08-25 | 2005-01-12 | 富士写真フイルム株式会社 | 画像暗号化方法および装置、画像復号化方法および装置並びに記録媒体 |
US7110608B2 (en) * | 2001-07-02 | 2006-09-19 | Canon Kabushiki Kaisha | Digital image compression |
JP2003324418A (ja) * | 2002-02-27 | 2003-11-14 | Canon Inc | 画像処理装置、データ処理装置及びデータ処理方法 |
JP4181802B2 (ja) | 2002-06-28 | 2008-11-19 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム、記憶媒体 |
-
2003
- 2003-12-10 JP JP2003412222A patent/JP2004242287A/ja not_active Withdrawn
-
2004
- 2004-01-12 US US10/754,523 patent/US7457419B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006166413A (ja) * | 2004-12-02 | 2006-06-22 | Mitsubishi Electric Research Laboratories Inc | スケーラブルな画像トランスコーディング方法 |
JP4606987B2 (ja) * | 2004-12-02 | 2011-01-05 | ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド | スケーラブルな画像トランスコーディング方法 |
JP2007088614A (ja) * | 2005-09-20 | 2007-04-05 | Mitsubishi Electric Corp | コンテンツ暗号化装置およびコンテンツ復号化装置 |
JP2008131556A (ja) * | 2006-11-24 | 2008-06-05 | Mitsubishi Electric Corp | データ変換装置及びデータ変換方法及びプログラム |
JP2008288841A (ja) * | 2007-05-17 | 2008-11-27 | Sony Corp | 符号化装置および方法 |
JP2008288883A (ja) * | 2007-05-17 | 2008-11-27 | Sony Corp | 情報処理装置および方法 |
JP4525704B2 (ja) * | 2007-05-17 | 2010-08-18 | ソニー株式会社 | 符号化装置および方法、記録媒体、並びにプログラム。 |
US8594427B2 (en) | 2007-05-17 | 2013-11-26 | Sony Corporation | Method and apparatus for reducing memory capacity in encoding image data |
JP2009231930A (ja) * | 2008-03-19 | 2009-10-08 | Ricoh Co Ltd | 鍵生成装置および鍵生成方法 |
CN107295351A (zh) * | 2017-07-17 | 2017-10-24 | 浙江师范大学 | 一种对图像进行对称‑非对称加解密方法及系统 |
CN107295351B (zh) * | 2017-07-17 | 2021-04-13 | 浙江师范大学 | 一种对图像进行对称-非对称加解密方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US7457419B2 (en) | 2008-11-25 |
US20040141613A1 (en) | 2004-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004242287A (ja) | 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
US7356148B2 (en) | Information processing method and apparatus, computer program, and computer-readable storage medium | |
KR101120258B1 (ko) | 정보 처리 시스템 및 방법 | |
KR100736080B1 (ko) | 다 계층으로 구성된 멀티미디어 스트림의 저작권을 계층별로 관리하는 방법 및 장치 | |
US7590294B2 (en) | Image compression apparatus and method, and program and recording medium | |
CN100584014C (zh) | 媒体数据代码转换设备 | |
JP2007526507A (ja) | スケーラブルメディアを記述するデータを生成するための方法 | |
JP4612787B2 (ja) | 画像データの暗号化装置の制御方法及び画像データ変換装置の制御方法、及び、それらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
EP1487148A1 (en) | Data processing apparatus and method thereof | |
JP2004297778A (ja) | 画像データ暗号化方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
KR20070054734A (ko) | 보호 매체 콘텐츠에 대한 액세스 특권의 다수 레벨 제어를위한 방법 | |
JP2010004518A (ja) | スケーラブルビデオ符号化コンテンツの保護方法及びその装置 | |
US7356149B2 (en) | Information processing method and apparatus, computer program, and computer-readable storage medium | |
JP2004040246A (ja) | 情報処理装置、情報処理方法 | |
JP2007534230A (ja) | プログレッシブ暗号化されたスケーラブルデータ列をスケーリングするための方法 | |
JP4181802B2 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
JP2003153228A (ja) | 画像符号化装置及び画像復号化装置 | |
JP4136812B2 (ja) | 画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
Xiang et al. | Degradative encryption: An efficient way to protect SPIHT compressed images | |
JP2004032538A (ja) | 情報処理装置及び情報処理方法 | |
JP4693040B2 (ja) | 画像分散情報生成装置およびその合成装置 | |
JP2007013394A (ja) | 画像分散情報生成装置およびその合成装置 | |
JP4026827B2 (ja) | 情報別埋め込みコンテンツ生成装置、その方法及びそのプログラム、並びに、識別情報埋め込みコンテンツ生成装置、その方法及びそのプログラム、並びに、コンテンツ利用端末及びコンテンツ配信システム | |
JP2007020225A (ja) | 画像データ暗号化装置及びその制御方法 | |
JP2009124456A (ja) | 情報処理装置と情報処理方法と情報処理プログラム及び情報記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070306 |