(57)【要約】【課題】  ＪＰＥＧなど圧縮符号化されたデータを復号することなく、電子透かしのような所定の付加情報を直接符号化されたデータに埋め込みでき、さらに抽出できる情報処理装置、情報処理方法、プログラム及び記憶媒体を提供する。【解決手段】    符号化された情報である符号化データが符号データ入力器１０１から入力される。当該データは、所定ブロック単位に、埋め込み係数選択器１０２において埋め込み係数が選択され、符号変換器１０３において、変換テーブル１０４を用いて入力された当該符号データに対応した異なる符号データに置き換えることにより電子透かしが埋め込まれる。【選択図】  図１
2006108997.tif 000002
【特許請求の範囲】
【請求項１】
情報に電子透かしを埋め込む情報処理装置であって、
符号化された情報である符号データを入力する入力手段と、
前記符号データを所定ブロックに分割する分割手段と、
前記所定ブロックごとに、前記符号データを所定の変換テーブルを用いて異なる符号データに置き換えることにより電子透かしを埋め込む埋め込み手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記埋め込み手段によって前記電子透かしを埋め込むことにより前記符号データの符号長が変更する場合、前記埋め込み手段は、該符号データの符号長を調整して、前記異なる符号データに置き換えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記符号データが、データの構造に関する情報を含むヘッダ情報を含んでおり、
前記埋め込み手段によって前記電子透かしを埋め込むことにより前記符号データの符号長が変更する場合、該符号データ中に含まれる前記ヘッダ情報を変換するヘッダ変換手段をさらに備えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記変換テーブルが、符号データと該符号データに対して埋め込まれる透かし情報を入力データとしたときに、それらの組み合わせに対応して定められる透かし入り符号データを出力データとすることを特徴とする請求項１から３までのいずれか１項に記載の情報処理装置。
【請求項５】
前記変換テーブルが、符号データと該符号データに対して埋め込まれる透かし情報と鍵情報とを入力データとし、それらの組み合わせに対応して定められる透かし入り符号データを出力する変換テーブルをもつことを特徴とする請求項１から３までのいずれか１項に記載の情報処理装置。
【請求項６】
情報から電子透かしを抽出する情報処理装置であって、
符号化された情報である符号データを入力する入力手段と、
前記符号データを所定ブロックに分割する分割手段と、
前記所定ブロックごとに、前記符号データから該符号データに電子透かしが埋め込まれたときに使用された変換テーブルを用いて前記情報に埋め込まれている電子透かしを抽出する抽出手段と
を備えることを特徴とする情報処理装置。
【請求項７】
前記変換テーブルが、符号データと透かし入り符号データを入力データとしたときに、それらの組み合わせに対応する電子透かしを出力データとすることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記変換テーブルが、符号データと透かし入り符号データと鍵情報とを入力データとしたときに、それらの組み合わせに対応する電子透かしを出力データとすることを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記変換テーブルが、透かし入り符号データを入力データとしたときに、該符号データに対応する電子透かしを出力データとすることを特徴とする請求項６に記載の情報処理装置。
【請求項１０】
前記変換テーブルが、透かし入り符号データと鍵情報とを入力データとしたときに、該符号データに対応する電子透かしを出力データとすることを特徴とする請求項６に記載の情報処理装置。
【請求項１１】
画像を符号化する第１のアルゴリズムと、画像に対して電子透かしを埋め込む第２のアルゴリズムとを用いて前記変換テーブルを作成する作成手段をさらに備え、
該作成手段が、画像の一部又は全部を前記第１のアルゴリズムを用いて符号化したときの符号データと、符号化された前記画像の一部又は全部に対して前記第２のアルゴリズムを用いて電子透かしを埋め込んだ後に前記第１のアルゴリズムを用いて符号化したときの符号データとを対応付けて前記変換テーブルとする
ことを特徴とする請求項１又は６に記載の情報処理装置。
【請求項１２】
前記作成手段が、前記第１のアルゴリズムを用いて符号化したときの符号データと所定の鍵情報に対して、前記前記第２のアルゴリズムを用いて電子透かしを埋め込んだ後に前記第１のアルゴリズムを用いて符号化したときの符号データを対応させた変換テーブルを作成することを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記符号データが、離散コサイン変換、離散ウェーブレット変換、離散フーリエ変換、又は予測符号化のいずれかを含むの周波数変換によって前記情報が符号化されたデータであることを特徴とする請求項１から１２までのいずれか１項に記載の情報処理装置。
【請求項１４】
情報に電子透かしを埋め込む情報処理方法であって、
符号化された情報である符号データを入力する入力工程と、
前記符号データを所定ブロックに分割する分割工程と、
前記所定ブロックごとに、前記符号データを所定の変換テーブルを用いて異なる符号データに置き換えることにより電子透かしを埋め込む埋め込み工程と
を有することを特徴とする情報処理方法。
【請求項１５】
情報から電子透かしを抽出する情報処理方法であって、
符号化された情報である符号データを入力する入力工程と、
前記符号データを所定ブロックに分割する分割工程と、
前記所定ブロックごとに、前記符号データから該符号データに電子透かしが埋め込まれたときに使用された変換テーブルを用いて前記情報に埋め込まれている電子透かしを抽出する抽出工程と
を有することを特徴とする情報処理方法。
【請求項１６】
コンピュータに、請求項１４及び１５に記載の情報処理方法を実行させるためのプログラム。
【請求項１７】
請求項１６に記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム及び記憶媒体に関し、例えば、符号化又は量子化されたデータに対して電子透かし情報のような特定の情報を埋め込む情報処理装置、情報処理方法、プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
近年のコンピュータやネットワーク関連技術の発達は著しく、文字、画像、音声等の様々な情報であるマルチメディア情報がコンピュータで扱われ、ネットワークを介してやり取りが行われている。この際、画像や音声といったデータのデータ量は比較的大きいため、データを符号化圧縮することで、そのデータ量を小さくする処理が行われる。このように、画像データ等を圧縮することによって、より多くの情報をネットワークを介して高速に他装置等に伝送することができる。尚、画像圧縮技術としては、ＩＴＵ−Ｔ勧告Ｔ．８１における多値静止画像を圧縮する通称ＪＰＥＧ方式が普及しているが、さらに高性能の圧縮を目指してＪＰＥＧ２０００等の標準化が検討されている。
【０００３】
ＪＰＥＧにおいては、離散コサイン変換（ＤＣＴ）を用いる符号化方式が基本であるが、ＪＰＥＧ２０００においては、離散ウェーブレット変換を用いる方式が有力である。
【０００４】
図７は、圧縮装置及び伸長装置の基本的な構成を示すブロック図である。すなわち、一般的なＪＰＥＧ及びＪＰＥＧ２０００の符号化装置は、一般に、図７（ａ）に示すように、離散コサイン変換や離散ウェーブレット変換を行う周波数変換器７０１、量子化器７０２及びエントロピー符号化器７０３等から構成されている。一方、一般的なＪＰＥＧ及びＪＰＥＧ２０００の伸長装置は、図７（ｂ）に示すように、エントロピー復号器７０４、逆量子化器７０５及び逆周波数変換器７０６等から構成されている。
【０００５】
ところで、コンピュータやネットワークで利用される画像や音声等はディジタル化されたデータであるため、それらのデータを容易に複製できる環境にあり、複製によってもデータの質がほとんど劣化することはない。このため、これらのディジタルデータの著作権を保護するために、画像や音声等のディジタルデータに著作権情報を電子透かしとして埋め込む処理が施されることがある。そして、電子透かしを当該ディジタルデータから抽出することにより、埋め込まれていた著作権情報を得て、不正な複製を発見・防止することが可能である。
【０００６】
電子透かしを埋め込む方法としては、例えば、離散コサイン変換を利用する方式、離散フーリエ変換を利用する方式、或いは離散ウェーブレット変換を利用する方式等が知られている。
【０００７】
図８は、一般的な電子透かし埋め込み装置及び抽出装置の概要構成を示すブロック図である。上述したような一般的な電子透かし埋め込み装置は、一般的に、図８（ａ）に示すように、離散コサイン変換や離散ウェーブレット変換を行う周波数変換器８０１、その周波数成分を埋め込む情報に応じて量子化する電子透かし埋め込み器８０２、及び、逆周波数変換器８０３等から構成されている。一方、一般的な電子透かし抽出装置は、図８（ｂ）に示すように、周波数変換器８０４、及び、量子化された周波数成分から埋め込まれた情報を抽出する電子透かし抽出器８０５等から構成されている（例えば、特許文献１、２参照。）。
【特許文献１】特開２０００−１５１４１１号公報
【特許文献２】特開２０００−１５１９７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
画像データに対して、上述したような電子透かし埋め込み装置を用いた電子透かし埋め込み処理と圧縮装置を用いた圧縮処理とを施す場合、電子透かしが埋め込まれた画像データに対して圧縮処理を行うことは容易である。しかしながら、圧縮された画像データに対して伸長することなく電子透かしを埋め込み、それを再圧縮処理を行って画像データとして出力することは困難である。
【０００９】
図９は、圧縮データに対する電子透かし埋め込み処理及び圧縮処理を行う情報処理装置の概要構成を示すブロック図である。すなわち、図９に示すように、まず、画像ｘを周波数変換器９０２、量子化器９０３及びエントロピー符号化器９０４によって圧縮する。その後、エントロピー復号器９０５、逆量子化器９０６及び画像逆変換器９０７により伸長して、一旦画像データに戻す。そしてその後、周波数変換器９０８、電子透かし埋め込み器９０９及び画像逆変換器９１０により電子透かしを埋め込む。そしてさらに、その出力を周波数変換器９１１、量子化器９１２及びエントロピー符号化器９１３により再圧縮する。
【００１０】
図９から、電子透かしが埋め込まれた画像を圧縮するためには、周波数変換器９１１、量子化器９１２及びエントロピー符号化器９１３による処理だけで済む。しかしながら、圧縮されたデータへ電子透かしを埋め込んで再圧縮するためには、図９に示すような、エントロピー復号器９０５〜エントロピー符号化器９１３までの一連の処理が必要になる。
【００１１】
実際に、ＪＰＥＧ等の符号化処理を用いるディジタルカメラやカラーファクシミリ等の装置、静止画伝送システム、静止画処理システム等の数々のアプリケーションや装置がこれまでに実用化されている。これらのアプリケーションや装置においては、周波数変換器９０２、量子化器９０３及びエントロピー符号化器９０４における処理が、ＡＳＩＣ等のハードウェアを用いて装置化されている場合が多い。従って、上記処理がハードウェア化されているようなアプリケーションや装置に対して、圧縮符号化の前に新たに電子透かしを埋め込む処理を追加しようにするためには、多大なコスト増を招くことになる。
【００１２】
また、ＪＰＥＧ２０００においても、圧縮符号化と電子透かしとの一体化については十分には検討されていないので、ＪＰＥＧの場合と同様に、圧縮された符号化データに電子透かしを埋め込むことが難しいという問題が生じる可能性が高い。
【００１３】
本発明はこのような事情を考慮してなされたものであり、ＪＰＥＧなど圧縮符号化されたデータを復号することなく、電子透かしのような所定の付加情報を直接符号化されたデータに埋め込みでき、さらに抽出できる情報処理装置、情報処理方法、プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明は、情報に電子透かしを埋め込む情報処理装置であって、
符号化された情報である符号データを入力する入力手段と、
前記符号データを所定ブロックに分割する分割手段と、
前記所定ブロックごとに、前記符号データを所定の変換テーブルを用いて異なる符号データに置き換えることにより電子透かしを埋め込む埋め込み手段と
を備えることを特徴とする。
【００１５】
さらにまた、上記課題を解決するために、本発明は、情報から電子透かしを抽出する情報処理装置であって、
符号化された情報である符号データを入力する入力手段と、
前記符号データを所定ブロックに分割する分割手段と、
前記所定ブロックごとに、前記符号データから該符号データに電子透かしが埋め込まれたときに使用された変換テーブルを用いて前記情報に埋め込まれている電子透かしを抽出する抽出手段と
を備えることを特徴とする。
【００１６】
さらにまた、上記課題を解決するために、本発明は、情報に電子透かしを埋め込む情報処理方法であって、
符号化された情報である符号データを入力する入力工程と、
前記符号データを所定ブロックに分割する分割工程と、
前記所定ブロックごとに、前記符号データを所定の変換テーブルを用いて異なる符号データに置き換えることにより電子透かしを埋め込む埋め込み工程と
を有することを特徴とする。
【００１７】
さらにまた、上記課題を解決するために、本発明は、情報から電子透かしを抽出する情報処理方法であって、
符号化された情報である符号データを入力する入力工程と、
前記符号データを所定ブロックに分割する分割工程と、
前記所定ブロックごとに、前記符号データから該符号データに電子透かしが埋め込まれたときに使用された変換テーブルを用いて前記情報に埋め込まれている電子透かしを抽出する抽出工程と
を有することを特徴とする。
【発明の効果】
【００１８】
本発明によれば、圧縮された符号化データを復号することなく電子透かし情報を埋め込み・抽出することができる。画像データは通常ビットマップではなく、ＪＰＥＧやＪＰＥＧ２０００などの圧縮された形態で保存・通信されていることが多く、本発明によって符号化データを復号する手間のない効率的な電子透かし埋め込み・抽出手法が実現できる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、本発明の一実施形態に係る画像処理を行う情報処理装置について詳細に説明する。尚、本実施形態では、ディジタル画像データに対して、圧縮処理及び電子透かしの埋め込み処理を施すことにより、著作権の保護、画像の改ざん防止、各種情報の記録等を行う情報処理装置を例に挙げて説明する。
【００２０】
＜ＪＰＥＧ符号化＞
本実施形態は、ＪＰＥＧ符号化された圧縮データに対して電子透かし情報を埋め込む例について説明する。そこでまず、ＪＰＥＧ符号化処理の手順の一例について図７（ａ）に示す一般的な圧縮装置を用いたＪＰＥＧ圧縮処理について簡単に説明する。
【００２１】
まず、周波数変換器７０１により、符号化する静止画データを８×８画素のブロックに分割し、そのブロック毎にＤＣＴ（Discreate Cosine Transform：離散的コサイン変換）を行う。以下、ＤＣＴされた８×８画素のブロックを「ＤＣＴ係数ブロック」、ＤＣＴ係数ブロックに含まれるそれぞれの係数を「ＤＣＴ係数」、１枚の画像のＤＣＴ係数ブロックの集合を「ＤＣＴ係数ブロック群」と呼ぶことにする。
【００２２】
次に、量子化器７０２により、ＤＣＴ係数ブロック群を任意の量子化テーブルを用いて量子化する。以下、量子化されたＤＣＴ係数ブロックを「量子化ＤＣＴ係数ブロック」、１枚の画像の量子化ＤＣＴ係数ブロックの集合を「量子化ＤＣＴ係数ブロック群」と呼ぶことにする。
【００２３】
次に、エントロピー符号化器７０３により、量子化ＤＣＴ係数ブロック群をハフマン符号化する。そして、このハフマン符号化されたデータが、ＪＰＥＧデータになる。尚、このときに用いられるハフマンテーブルは、あらかじめ用意されたテーブルであっても、画像圧縮毎に作成したテーブルであってもよい。ＪＰＥＧデータは、ハフマン符号化されたデータ、圧縮時に用いた量子化テーブル及びハフマンテーブルを含む。
【００２４】
量子化ＤＣＴ係数ブロックは、ＤＣＴ係数ブロックを量子化テーブルによって定められた値で除算することによって得られる。図１０は、色差成分に対する量子化テーブルの一例を示す図である。図１０に示すように、例えば、量子化テーブルは、８×８のＤＣＴ係数ブロックに対して与えられる。この量子化テーブルは、低周波成分に対してより多くのビットを割り当て、高周波成分に対してはより少ないビットを割り当てるように構成されている。従って、例えば、ＤＣＴ係数が−３６で、量子化テーブルの対応する値が１８であれば、その量子化ＤＣＴ係数は−２となるが、量子化テーブルの対応する値が９９であれば、その量子化ＤＣＴ係数は零となる。
【００２５】
また、ハフマン符号化は、量子化ＤＣＴ係数ブロックに含まれる量子化ＤＣＴ係数をＤＣ係数及びＡＣ係数に分けて別々に行われる。すなわち、ＤＣ係数は、一つ前の量子化ＤＣＴ係数ブロックのＤＣ係数との差分に変換され、ＤＣ係数用のテーブルを用いて符号化される。一方、ＡＣ係数は図６に示すようなジグザグスキャン順に並べ替えられ、零の係数の連続長（ラン長）及び零以外の係数値を組み合わせたテーブルを用いて符号化される。すなわち、図６は、ジグザグスキャンの概要を説明するための図である。
【００２６】
また、図１１は、ハフマン符号化に用いられるＡＣ係数用のハフマンテーブルの一例を示す図である。ハフマン符号化では、図１１に示すテーブルを用いて、ＡＣ係数をその値に応じてグループに分類し、そのグループ毎にラン長に応じた符号を割り当てる。例えば、ＡＣ係数が−２のときはグループ２に分類され、そのときのラン長が零であれば符号’０１’が割り当てられる。尚、グループ内のＡＣ係数を区別する付加ビットを’０１’とすると、ＡＣ係数「−２」は’０１０１’と表される。
【００２７】
＜ＪＰＥＧデータの構成＞
図５は、ＪＰＥＧデータの構成例を示す図である。図５では、ＪＰＥＧのシーケンシャル方式で圧縮されたデータの構成例を示している。尚、シーケンシャル方式とは、圧縮された画像のデコードの際に、当該画像の上側から順に元の画像が再生されていく方式である。これに対して、最初は全体が不鮮明な画像を表示した後に、徐々に鮮明な画像になっていく方式をプログレッシブ方式と呼ぶ。これら方式の違いは、図７（ａ）に示すエントロピー符号化器７０３におけるハフマン符号化方法によって決まる。
【００２８】
図５に示すように、ＪＰＥＧデータは、マーカと呼ばれる、データ内でユニークな２バイトのコードによってフォーマットされている。まず最初のＳＯＩマーカ５１は、ＪＰＥＧデータのスタートを表している。ＳＯＩマーカ５１の次のＤＱＴマーカ部は、量子化テーブルを定義している。ＤＱＴマーカ部では、圧縮時に使用された量子化テーブルが、ＤＱＴマーカ５２の後に格納されている。
【００２９】
ＤＱＴマーカ部の次のＳＯＦ０マーカ部は、ＤＣＴを使ったシーケンシャル方式で圧縮されたＪＰＥＧデータの場合に使用されるものである。ＳＯＦ０マーカ部では、ＳＯＦ０マーカ５３の後に、圧縮された画像の画像サイズ、サンプリング率、コンポネント数及びコンポネント毎の量子化テーブルの識別子等の、圧縮時のパラメータが格納される。
【００３０】
ＳＯＦ０マーカ部の次のＤＨＴマーカ部は、ハフマンテーブルを定義している。ＤＨＴマーカ部では、ＤＨＴマーカ５４の後に、圧縮時に使用されたハフマンテーブルが格納される。ＤＨＴマーカ部の次のＳＯＳマーカ部は、符号化された画像のハフマン符号を格納する部分である。ＳＯＳマーカ部においては、ＳＯＳマーカ５５の後に、コンポネント毎のハフマンテーブルへの識別子等の情報が入った数バイトのヘッダが付加された後、符号化された画像のハフマン符号が格納される。そして、最後のＥＯＩマーカ５６は、ＪＰＥＧデータの終了を示す。
【００３１】
尚、マーカの順番は、上述したような図５に示す順番だけに限定されるわけではなく、また、同じマーカやマーカ部が２つ以上存在していてもよい。
【００３２】
＜ＪＰＥＧデータの復号＞
次に、上述した手順で圧縮されたＪＰＥＧデータの復号手順について図７（ｂ）に示す伸長装置を用いて説明する。
【００３３】
ＪＰＥＧデータの復号処理においては、エントロピー復号器７０４により、ＪＰＥＧデータ内のハフマンテーブルを用いてハフマン符号が量子化ＤＣＴ係数ブロック群に復号される。次に、逆量子化器７０５により、ＪＰＥＧデータ内の量子化テーブルを用いて、量子化ＤＣＴ係数ブロック群がＤＣＴ係数ブロック群に逆量子化される。次に、逆周波数変換器７０６により、ＤＣＴ係数ブロック群にＩＤＣＴ（Ｉｎｖｅｒｓｅ  ＤＣＴ：逆ＤＣＴ）が施されて、８×８画素ブロックが再生されて画像に再構成される。このような手順により、ＪＰＥＧデータから復号された画像データを得ることができる。
【００３４】
＜電子透かしの埋め込み＞
次に、電子透かしの埋め込み処理を図８（ａ）に示す電子透かし埋め込み装置を用いて説明する。尚、本実施形態で説明する電子透かしの埋め込み処理は、ＤＣＴ係数ブロックを操作することにより実現される。すなわち、電子透かしの埋め込みは次の手順で行われる。
【００３５】
まず、周波数変換器８０１において入力画像にＤＣＴが施される。次いで、電子透かし埋め込み器８０２により、ＤＣＴ係数ブロック群の中から電子透かしを埋め込むＤＣＴ係数ブロック（以下、「埋込ブロック」と呼ぶ。）を１つ以上選択し、選択された埋込ブロックのそれぞれに対して、電子透かしを構成する１つのビットを埋め込む。尚、ビットを埋め込むＤＣＴ係数は、埋込ブロックの中のＤＣ係数を除く比較的低周波の係数の中からランダムに選択される。
【００３６】
そして、この埋込ブロックを量子化することによって、電子透かしの埋め込みが完了する。尚、このときの量子化ステップの大きさが、埋め込みの強度に対応する。
【００３７】
ここで、電子透かしを埋め込むためのビット（以下、「埋め込みビット」と呼ぶ。）’０’又は’１’を埋め込む例について以下に示す。まず、以下に示す式（１）により、ｓ｛ｕ０，ｖ０｝を量子化した値ｑを得る。すなわち、
ｑ＝≪ｓ｛ｕ０，ｖ０｝／ｈ≫ｈ                      …  （１）
但し、ｓ｛ｕ０，ｖ０｝はＤＣＴ係数の値、ｈは埋め込み強度、≪ｘ≫はｘを超えない最大の整数である。
【００３８】
そして、以下に示す式（２）又は式（３）を満たすｃを電子透かし埋め込み後のＤＣＴ係数にする。すなわち、
埋込ビットが’０’の場合：  ｃ＝ｑ＋ｈ／４          …  （２）
埋込ビットが’１’の場合：  ｃ＝ｑ＋３ｈ／４        …  （３）
である。
【００３９】
最後に、逆周波数変換器８０３により、電子透かし埋め込み器８０２の出力を逆変換する。
【００４０】
＜第１の実施形態＞
図１（ａ）は、本発明の第１の実施形態に係る画像処理装置の構成例を示すブロック図である。また、図１３は、第１の実施形態に係る画像処理装置による電子透かしの埋め込み処理手順を説明するためのフローチャートである。図１（ａ）に示すように、本実施形態に係る画像処理装置では、符号化データ入力器１０１から符号化データが入力される（ステップＳ１０１）。尚、以下では、入力される符号化データの一例としてＪＰＥＧデータを取り上げて説明する。また、入力されるＪＰＥＧデータは、不図示のハードディスク、ＣＤドライブ、ＤＶＤドライブ、ＦＤＤドライブ等に接続された各種記憶媒体にあらかじめ記憶されていてもよいし、不図示のネットワークを介して他装置等から送られてくるものであっても良い。
【００４１】
次に、埋め込み係数選択器１０２により、図５に示すＪＰＥＧデータのＳＯＳマーカ５５の後に続くハフマン符号化されたデータから、埋込ブロックが選択される（ステップＳ１０２）。埋め込み係数選択器１０２は、さらに、埋込ブロックの中のＤＣ係数を除く比較的低周波の係数の中から埋込ビットを埋め込むＤＣＴ係数を選択する（ステップＳ１０３）。尚、図６に示すようなジグザグスキャンによってＤＣＴ係数の並び順が定まっているので、埋め込み係数選択器１０２における計数の選択は一意に行われる。
【００４２】
次に、符号変換器１０３は、選択された埋込ブロックに対して、後述する変換テーブル１０４を用いて直接符号変換を行うことにより電子透かしを埋め込む（ステップＳ１０４）。図２は、符号変換器１０３で符号変換処理の際に使用する変換テーブルの例を示す図である。例えば、選択された埋込ブロックが’０１０１’で埋込ビットが’１’の場合、そのブロックを図２（ａ）に示す変換テーブルによって直接’０１００’に置き換えることによって電子透かしを埋め込む。
【００４３】
以下、変換テーブル１０４の作成手順について述べる。前述したように、電子透かしの埋め込みは、埋込ブロックを量子化することによって完了する。これは、元のＤＣＴ係数の値を変更することを意味する。元のＤＣＴ係数の値は、符号データをハフマンテーブル及び量子化テーブルを用いて復号することにより得られる。そして、電子透かしの埋め込みによって変更されたＤＣＴ係数は、再び同じハフマンテーブル及び量子化テーブルを用いて符号化される。
【００４４】
例えば、選択されたＤＣＴ係数に対応する符号データが’０１０１’である場合、ハフマンテーブルを用いて量子化値−２が得られ、そのＤＣＴ係数に対応する量子化テーブルの値が１８である場合、元のＤＣＴ係数の値は−３６である。
【００４５】
図１２は、電子透かしの埋め込み処理の一例を説明するための図である。ここで、量子化ステップをｈ＝１８とすると、図１２（ａ）に示す数直線上に、量子化区間及び量子化代表値を定義することができる。尚、図１２（ａ）に示す例では、０、１８、３６、５４がそれぞれの量子化区間の量子化代表値である。
【００４６】
本実施形態では、上で定義された量子化区間に対して、ビット”０”とビット”１”を図１２（ｂ）に示すように割り当てる。通常、透かしを埋め込まない場合は、計算した元のＤＣＴ係数の値−３６は、上述した式（１）を使って図１２（ｃ）に示すように量子化代表値に丸められる。
【００４７】
そして、上述した式（２）又は式（３）を用いて、量子化代表値に丸められた値−３６に電子透かしを埋め込む。例えば、ビット”１”を埋め込み強度ｈ＝１８で−３６に埋め込む場合には、図１２（ｄ）に示すように、式（３）を用いてＣ＝−４９．５と計算される。そして、同じ量子化テーブルにより、量子化からその量子化ＤＣＴ係数−３が得られる。さらに、同じハフマンテーブルから、符号’０１’が得られる。
【００４８】
尚、グループ内のＡＣ係数を区別する付加ビットを’００’とすると、符号は’０１００’と表される。すなわち、符号’０１０１’が’０１００’に書き換えられることによって、電子透かしの埋め込みが実現されたことになる。また、埋込ビット’０’を埋め込む場合、埋め込み強度をｈ＝１８とすると、式（１）及び式（３）からｃ＝−４０．５が得られる。
【００４９】
そして、同じ量子化テーブルによる量子化から、その量子化ＤＣＴ係数−２が得られる。ここで、得られた量子化ＤＣＴ係数−２は、元の量子化ＤＣＴ係数と同じであるので、埋込ビット’０’に対する符号データは、元の符号データと同じ’０１０１’になる。従って、符号データ’０１０１’に電子透かし’１’を埋め込む場合は、電子透かし入り符号データとして’０１００’、また、電子透かし’０’を埋め込む場合は、電子透かし入り符号データとして’０１０１’と記された図２（ａ）に示す変換テーブルを用いて、埋込ビットに応じて符号データ’０１０１’を直接’０１００’又は’０１０１’に置き換えることにより、電子透かしを埋め込むことができる。
【００５０】
本実施形態では、符号データが’０１０１’の場合について説明したが、他の符号データに対しても同様の手法により埋込ビットに応じて符号データに対応する透かし入り符号データが作成できることは明らかである。
【００５１】
ただし、電子透かしの埋め込みによって変換テーブルの入力符号データと出力符号データの符号長が変わる場合は、入力の符号データの部分に出力の符号データを置き換える際に、符号長の調整の処理を行う（ステップＳ１０５）。例えばＪＰＥＧであれば、ＡＣ係数が３でラン長が０の場合、ハフマン係数は’０１’で３を表す値は’１１’なので’０１１１’となる。このＡＣ係数に同様の原理により’１’を埋め込む場合、ＡＣ係数は４となるのでハフマン符号は’１００’となり、４を表す値は’１００’なので’１００１００’となる。この場合、変換テーブルの入力符号データの部分に出力符号データを置き換えるが、入力符号データと出力符号データの符号長が４ビットから６ビットに変わるので、後続の符号系列を２ビット分ずらす処理を行う。この処理は図１の符号変更器１０４で行われる。
【００５２】
また、符号系列がＪＰＥＧではなく、例えばＪＰＥＧ２０００のようにヘッダに符号長が書かれているデータの場合は、ヘッダを変換する処理を行う（ステップＳ１０５）。ＪＰＥＧ２０００は、前記のハフマン符号化結果にあたるコードブロック（ＣＢ）のパケットヘッダ（ＰＨ）からのオフセットの長さ（ＬＣＢ）はパケットヘッダに書かれている（図１５（ｃ）参照）。すなわち、ＣＢ２に対するオフセットはＬＣＢ２や、ＣＢ３に対するオフセットはＬＣＢ３等がＰＨ内に記述されている（ＣＢ１に対するオフセットは０であるのでＬＳＢ１はない）。
【００５３】
よって、上記の原理による電子透かしによってコードブロックの長さが変わる場合、ＰＨ内の各ＬＣＢの値も書き換える必要がある。この場合、Ｓ１０５の符号長の調整は上記符号系列をずらすことに加えて、ＰＨ内の各ＬＳＢデータの書き換えを含む。また、この処理は図１（ｂ）のヘッダ変換器１０５によって行われる。すなわち、図１（ｂ）は、本発明の第１の実施形態に係るヘッダ変換を行う画像処理装置の構成例を示すブロック図である。ただし、図１５（ａ）はＪＰＥＧ２０００データを表し、ＭＨはそのメインヘッダ、ＴＰＨはタイルパートヘッダ、ＴＰＨの間の空間はタイルパートデータを表す。図１５（ｂ）はタイルパートデータの中身を表し、ＰＨはパケットヘッダ、その間の空間はパケットデータを表す。
【００５４】
このように、本実施形態によれば、オリジナルの符号データに対する透かし入り符号データの変換テーブルを用いてＪＰＥＧデータを書き換えることにより、図９に示すブロック図のエントロピー復号器９０５〜エントロピー符号化器９１３までの機器を用いて行うような処理を必要とせず、ＪＰＥＧデータに対して電子透かしを直接埋め込むことが実現可能である。
【００５５】
＜第２の実施形態＞
以下、本発明の第２の実施形態に係る画像処理装置について説明する。尚、本実施形態において、第１の実施形態と同一又は略同一の構成要素については、同一符号を付して、その詳細な説明を省略する。
【００５６】
前述した第１の実施形態においては、埋込ブロックのＤＣＴ係数の値を操作することによって電子透かしを埋め込む例について説明した。第２の実施形態においては、量子化ＤＣＴ係数ブロックの量子化ＤＣＴ係数の値を操作することによって、電子透かしを埋め込む方法に対応する直接符号変換処理について説明する。尚、第２の実施形態においても、図１（ａ）又は図１（ｂ）の構成によって符号変換による符号データへの直接埋め込みが行われる。また、第１の実施形態での画像処理装置と異なるものは、図２に示す変換テーブルの対応表だけである。すなわち、第２の実施形態においては、図２（ａ）の変換テーブルに代えて、図２（ｂ）の変換テーブルが用いられる。
【００５７】
ここでは、量子化ＤＣＴ係数の値を操作する電子透かしの埋め込み処理において、例えば、量子化ＤＣＴ係数の値が偶数のときは埋込ビット’１’を示し、奇数のときは埋込ビット’０’を示すとするような手法を考える。すなわち、例えば、符号データ’０１０１’に埋込ビット’０’を埋め込む場合、符号に対応する量子化ＤＣＴ係数の値は−２の偶数であるため、最も近い奇数−３に変更され、それに応じて符号’０１０１’が’０１００’に書き換えられる。尚、符号データ’０１０１’に埋込ビット’１’を埋め込む場合は、符号データはそのままである。このように、本実施形態では、図２（ｂ）に示す変換テーブルによって、符号データの電子透かし入り符号データへの直接置き換えを実現することができる。
【００５８】
また、本発明は、鍵データを用いた埋め込み手法に対しても適用することができる。例えば、上記埋め込み手法を量子化ＤＣＴ係数の偶数・奇数の判断だけでなく、量子化ＤＣＴ係数と鍵データとにより埋込ビットが定まるような変換テーブルを用いて、符号データの透かし入り符号データへの置き換えを行うようにすることも可能である。図４は、本発明の第２の実施形態における鍵情報を用いる変換テーブルの一例を示す図である。例えば、量子化ＤＣＴ係数と鍵データの加算結果の偶数・奇数に基づく判断を行う場合、図４に示す鍵データｋ０が偶数でありｋ１が奇数であれば、ｋ０とｋ１の場合で透かし入り符号データは逆の対応になる。
【００５９】
本実施形態では、符号データが’０１０１’の場合について説明したが、他の符号データに対しても同様の手法により、埋込ビットに応じて符号データに対応する透かし入り符号データが作成できることは明らかである。また、電子透かしの埋め込みによって符号長が変わる場合は、第１の実施形態と同様に、符号長の調整、さらに必要であれば、ヘッダ変換を行う。
【００６０】
このように、本実施形態によれば、オリジナルの符号データに対する透かし入り符号データの変換テーブルを用いて直接ＪＰＥＧデータを書き換えることにより、ＪＰＥＧデータへの電子透かしの埋め込みを実現することができる。
【００６１】
＜第３の実施形態＞
以下、本発明の第３の実施形態に係る画像処理装置について説明する。尚、本実施形態において、第１の実施形態と同一及び略同一の構成要素については、同一符号を付して、その詳細な説明を省略する。
【００６２】
上述した第１及び第２の実施形態においては、ＪＰＥＧデータのような離散コサイン変換を用いた符号化圧縮データに対して電子透かしを埋め込む場合について説明した。また、離散コサイン変換に限らず、予め定められた離散ウェーブレット変換、離散フーリエ変換及び予測符号化を含む種々の周波数変換であっても本発明が同様に対応できることは明らかである。これは、本発明が、本質的に離散コサイン変換等の画像変換に依存せず、予め定められたアルゴリズムに従って圧縮された圧縮データを、さらに定められた電子透かし埋め込みアルゴリズムに従って操作するためである。
【００６３】
すなわち、画像を符号化するアルゴリズム１と画像に電子透かしを埋め込むアルゴリズム２とがあるときに、選択された画像の一部又は全部をアルゴリズム１を用いて符号化して得られる符号ブロックに対して、その画像の同じ部分又は全部に対してアルゴリズム２を用いて電子透かしを挿入した後に、アルゴリズム１を用いて符号化して得られる符号ブロックの対応表は、埋め込む電子透かし情報に応じて一意に定めることができ、予め作成できることは明らかである。
【００６４】
さらに、本発明における電子透かしの埋め込み手法は、図５に示したＪＰＥＧデータに限らず、圧縮に用いたテーブル等の情報が一意に特定できるものであれば、いかなる形式の符号化圧縮データであっても、電子透かしを埋め込む対象にすることができる。
【００６５】
現在標準化作業が行われているＪＰＥＧ２０００についてもまた、圧縮装置は図７（ａ）に示すような構成をもち、周波数変換器としては離散ウェーブレット変換が、符号化方式としてはハフマン符号化を含むエントロピー符号化がそれぞれ有力である。従って、離散ウェーブレット係数を操作する電子透かしの埋め込み手法に対して、図１（ｂ）を用いて説明した第１及び第２の実施形態の装置構成により、ＪＰＥＧ２０００に対応する電子透かしの埋め込み装置を実現できることは明らかである。
【００６６】
尚、上記各実施形態においては、電子透かしを埋め込む対象を画像データとして説明したが、それぞれの実施形態における対象は静止画だけに限られることはなく、ＭＰＥＧ等の動画データやサウンドデータ等の音声データに対して適用できることは明らかである。
【００６７】
＜第４の実施形態＞
以下、本発明の第４の実施形態に係る画像処理装置について説明する。尚、本実施形態において、第１の実施形態と同一又は略同一の構成については、同一符号を付して、その詳細な説明を省略する。
【００６８】
本実施形態では、電子透かしが埋め込まれた圧縮データから、埋め込まれている電子透かしを抽出する方法について説明する。図３は、本発明の第４の実施形態に係る画像処理装置の構成例を示すブロック図である。また、図１４は、第４の実施形態に係る画像処理装置による電子透かし抽出処理手順を説明するためのフローチャートである。
【００６９】
図３に示す画像処理装置において、まず、電子透かし入り符号化データが符号データ入力器１０１に入力される（ステップＳ２０１）。次に、電子透かし情報を抽出する対象となる抽出ブロックの選択を、第１の実施形態で説明した埋め込み係数選択器１０２と同様の処理を行う抽出係数選択器３０２が行う（ステップＳ２０２）。
【００７０】
選択された抽出ブロックから電子透かし情報を抽出する場合、ビット抽出器３０３は、埋め込みに用いた変換テーブル３０４を用いて抽出ブロックのＪＰＥＧデータの値が’１’に相当するか、’０’に相当するかを判定する（ステップＳ２０３）。この処理は、埋め込みに用いた変換テーブルを用いて逆に対応付けることにより実現されることは明らかである。
【００７１】
すなわち、埋め込み時は、符号データと埋込ビットが変換テーブルの入力として用いられ、透かし入り符号データが出力される。これに対して、抽出時は、透かし入り符号データと符号データとが変換テーブルの入力として用いられ、埋込ビットが出力される。例えば、図２（ａ）に示す第１の実施形態に対応する変換テーブルを用いた場合、透かし入り符号データ’０１００’と同じ位置に相当する符号データ’０１０１’を入力すると埋込ビット’１’が出力され、透かし入り符号データ’０１０１’とその同じ位置に相当する符号データ’０１０１’を入力すると埋込ビット’０’が出力される。
【００７２】
尚、上述した処理の際に、元の符号データを有しておく必要がある。但し、第２の実施形態のように、透かし入り符号データの量子化ＤＣＴ係数を求め、その値の偶数・奇数の別によって埋込ビットが一意に定まる場合は、元の符号データを有しておく必要はない。すなわち、その場合には、変換テーブルの透かし入り符号データを入力するだけで埋込ビットを出力することができる。
【００７３】
また、第２の実施形態に示した鍵データを用いた場合、すなわち、図４に示す変換テーブルによって埋め込みが行われた場合は、同様に図４の変換テーブルを用いて抽出される。図４に示す変換テーブルは、埋込ビットと鍵データとの加算結果から得られたものであるため、透かし入り符号データと鍵データとを入力することによって埋込ビットが抽出される。また、より複雑な場合は、透かし入り符号データと鍵データに加えて符号データを入力することによって埋込ビットが求められる。
【００７４】
尚、本実施形態の電子透かし情報を抽出する処理は、第１及び第２の実施形態に示した離散コサイン変換を用いる電子透かしの埋め込み処理に対応するだけでなく、第３の実施形態で示した種々の変換を用いる電子透かしの埋め込み処理等にも同様にして対応可能であることは明らかである。
【００７５】
上述した各実施形態の画像処理装置は、ディジタルカメラのような画像入力装置に対して適用することができる。その場合、当該画像入力装置における画像圧縮処理がハードウェア化されている場合であっても、そのＣＰＵに新たにプログラムを供給することで電子透かし埋め込み処理を実現することができれば、新たなハードウェアを付加せずに、容易に電子透かし埋め込み処理を実行させることが可能となる。
【００７６】
また、電子透かし埋め込み処理は、データ圧縮処理とは異なり、必ずしもリアルタイム処理を要求されないので、ディジタルカメラ等の画像入力装置からパーソナルコンピュータ等へデータを転送する場合や、画像入力装置が画像入力を実行していない場合に、電子透かしの埋め込み処理を実行することができる。このようにすることで、画像入力装置に搭載されたＣＰＵの処理能力が小さい場合でも短時間に電子透かしの埋め込みを行うことが可能である。
【００７７】
さらに、上述した各実施形態における画像処理装置は、カラーファクシミリ装置のような画像入出力装置に対しても適用可能であることは明らかである。この場合、画像入力装置によって埋め込まれた電子透かしは、第４の実施形態に示した電子透かし抽出機能を画像出力装置に組み込むことにより、埋め込まれた電子透かし情報を好適に抽出することができる。尚、埋め込まれた電子透かし情報によって画像出力に対する規制情報が示される場合、電子透かし情報の抽出の際に、その規制情報に応じて画像出力装置を制御することも可能である。
【００７８】
さらにまた、上述した各実施形態で説明した機能は、ＪＰＥＧ等の圧縮アプリケーションを備える静止画伝送システムや静止画処理システム等の数々のシステムに適用することができることは明らかである。
【００７９】
以上説明したように、上述した各実施形態によれば、画像圧縮機能を有する画像処理装置に簡単な処理手段を追加することにより、好適に圧縮されたデータへ電子透かし情報を埋め込むことができ、また、好適に埋め込まれた電子透かし情報を抽出することができる。
【００８０】
＜その他の実施形態＞
また、上記実施形態では、ネットワークを構成するハードウェア等が含まれるものの、各処理部は実際はソフトウェアで実現できるものである。即ち、本発明の目的は、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または、記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（または、ＣＰＵやＭＰＵ）が、記憶媒体に格納されたプログラムコードを読み出し、実行することによっても達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が、上述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体が本発明を構成することになる。
【００８１】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）等が、実際の処理の一部または全部を行い、その処理によって、上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００８２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が、実際の処理の一部または全部を行い、その処理によって、上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００８３】
【図１】（ａ）は本発明の第１の実施形態に係る画像処理装置の構成例を示すブロック図であり、（ｂ）は本発明の第１の実施形態に係るヘッダの変換を行う画像処理装置の構成例を示すブロック図である。
【図２】符号変換器１０３で符号変換処理の際に使用する変換テーブルの例を示す図である。
【図３】本発明の第４の実施形態に係る画像処理装置の構成例を示すブロック図である。
【図４】本発明の第２の実施形態における鍵情報を用いる変換テーブルの一例を示す図である。
【図５】ＪＰＥＧデータの構成例を示す図である。
【図６】ジグザグスキャンの概要を説明するための図である。
【図７】圧縮装置及び伸長装置の基本的な構成を示すブロック図である。
【図８】一般的な電子透かし埋め込み装置及び抽出装置の概要構成を示すブロック図である。
【図９】圧縮データに対する電子透かし埋め込み処理及び圧縮処理を行う情報処理装置の概要構成を示すブロック図である。
【図１０】色差成分に対する量子化テーブルの一例を示す図である。
【図１１】ハフマン符号化に用いられるＡＣ係数用のハフマンテーブルの一例を示す図である。
【図１２】電子透かしの埋め込み処理の一例を説明するための図である。
【図１３】第１の実施形態に係る画像処理装置による電子透かしの埋め込み処理手順を説明するためのフローチャートである。
【図１４】第４の実施形態に係る画像処理装置による電子透かしの抽出処理手順を説明するためのフローチャートである。
【図１５】ＪＰＥＧ２０００データの構成例を示す図である。
【符号の説明】
【００８４】
１０１  符号データ入力器
１０２  埋め込み係数選択器
１０３  符号変換器
１０４、３０４  変換テーブル
１０５  ヘッダ変換器
３０２  抽出係数選択器
３０３  ビット抽出器
【図１】
2006108997.tif 000003
【図２】
2006108997.tif 000004
【図３】
2006108997.tif 000005
【図４】
2006108997.tif 000006
【図５】
2006108997.tif 000007
【図６】
2006108997.tif 000008
【図７】
2006108997.tif 000009
【図８】
2006108997.tif 000010
【図９】
2006108997.tif 000011
【図１０】
2006108997.tif 000012
【図１１】
2006108997.tif 000013
【図１２】
2006108997.tif 000014
【図１３】
2006108997.tif 000015
【図１４】
2006108997.tif 000016
【図１５】
2006108997.tif 000017