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