(57)【要約】【課題】  画質を劣化させることなく情報を埋め込む。【解決手段】  本発明の一実施形態に係る画像処理システムは、第１の画像処理装置および第２の画像処理装置を含み、前記第１の画像処理装置は、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力する入力手段と、埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換する並べ替え手段と、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換する変換手段と、前記第２のパレットテーブルを含む変換画像データを出力する出力手段とを備える。【選択図】図１
2019022006.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像処理装置および第２の画像処理装置を含む画像処理システムであって、
前記第１の画像処理装置は、
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力する入力手段と、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換する並べ替え手段と、
前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換する変換手段と、
前記第２のパレットテーブルを含む変換画像データを出力する出力手段とを備え、
前記第２の画像処理装置は、
前記変換画像データを入力する手段と、
前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理システム。
【請求項２】
前記並べ替え手段は、前記インデックス値を複数のグループに分割し、前記グループ毎に前記インデックス値を並べ替えることを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記並べ替え手段は、ｎ個の前記インデックス値を並べ替えることにより、Ｍビット（Ｍはｌｏｇ２（ｎ！）を超えない最大整数）の前記埋め込みデータ列を埋め込み可能であることを特徴とする請求項２に記載の画像処理システム。
【請求項４】
複数の前記グループは、それぞれがｎ個の前記インデックス値を有するＧ個のグループを含み、前記並べ替え手段は、前記グループ毎に前記インデックス値を並べ替えることにより、Ｇ×Ｍビットの前記埋め込みデータ列を埋め込み可能であることを特徴とする請求項３に記載の画像処理システム。
【請求項５】
前記並べ替え手段は、Ｍビットの前記埋め込みデータ列を階乗進数として算出したＬｅｈｍｅｒ  ｃｏｄｅに基づき、ｎ個の前記インデックス値を並べ替えることを特徴とする請求項３または４に記載の画像処理システム。
【請求項６】
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力する入力手段と、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換する並べ替え手段と、
前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換する変換手段と、
前記第２のパレットテーブルを含む変換画像データを出力する出力手段とを備えることを特徴とする画像処理装置。
【請求項７】
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第１のパレットテーブルを第２のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を第２のパレットテーブルの前記インデックス値に変換した変換画像データを入力する入力手段と、
前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理装置。
【請求項８】
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力するステップと、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換するステップと、
前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換するステップと、
前記第２のパレットテーブルを含む変換画像データを出力するステップとを備えることを特徴とする画像処理方法。
【請求項９】
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第１のパレットテーブルを第２のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を第２のパレットテーブルの前記インデックス値に変換した変換画像データを入力するステップと、
前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出すステップとを備えることを特徴とする画像処理方法。
【請求項１０】
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力するステップと、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換するステップと、
前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換するステップと、
前記第２のパレットテーブルを含む変換画像データを出力するステップとを含む画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像へ情報を埋め込む画像処理システム、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、デジタルコンテンツの保護および利用の観点から、デジタル画像には、画像データに加えて、画像の権利情報などのメタ情報、付加的なメッセージなどの情報を埋め込む電子透かし技術が用いられている。特許文献１には、カラーパレットの各データの最下位ビットを書き換えることにより、画質劣化を抑えながら情報を埋め込む方法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−８８５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の方法においては、最下位ビットといえども画像データが改変されることから、画質の劣化は避けられない。
【０００５】
本発明は、上述の課題に鑑みてなされたものであって、画質の劣化を生じさせることなく、情報を埋め込み可能な画像処理システム、画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一観点によれば、第１の画像処理装置および第２の画像処理装置を含む画像処理システムであって、前記第１の画像処理装置は、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力する入力手段と、埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換する並べ替え手段と、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換する変換手段と、前記第２のパレットテーブルを含む変換画像データを出力する出力手段とを備え、前記第２の画像処理装置は、前記変換画像データを入力する手段と、前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理システムが提供される。
【０００７】
本発明の他の観点によれば、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力する入力手段と、埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換する並べ替え手段と、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換する変換手段と、前記第２のパレットテーブルを含む変換画像データを出力する出力手段とを備えることを特徴とする画像処理装置が提供される。
【０００８】
本発明のさらに他の観点によれば、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第１のパレットテーブルを第２のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を第２のパレットテーブルの前記インデックス値に変換した変換画像データを入力する入力手段と、前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理装置が提供される。
【０００９】
本発明のさらに他の観点によれば、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力するステップと、埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換するステップと、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換するステップと、前記第２のパレットテーブルを含む変換画像データを出力するステップとを備えることを特徴とする画像処理方法が提供される。
【００１０】
本発明のさらに他の観点によれば、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第１のパレットテーブルを第２のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を第２のパレットテーブルの前記インデックス値に変換した変換画像データを入力するステップと、前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出すステップとを備えることを特徴とする画像処理方法が提供される。
【００１１】
本発明のさらに他の観点によれば、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力するステップと、埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換するステップと、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換するステップと、前記第２のパレットテーブルを含む変換画像データを出力するステップとを含む画像処理方法をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【００１２】
本発明によれば、画質の劣化を生じさせることなく、画像に情報を埋め込むことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態における画像処理システムのブロック図である。
【図２】第１実施形態における画像処理装置のブロック図である。
【図３】第１実施形態における第１の画像処理装置のブロック図である。
【図４】第１実施形態における第２の画像処理装置のブロック図である。
【図５】第１実施形態におけるパレット情報の並べ替えパターンを説明するための図である。
【図６】第１実施形態における埋め込み可能な情報量を説明するための図である。
【図７】第１実施形態におけるデータ埋め込み処理を表すフローチャートである。
【図８】第１実施形態のデータ埋め込み処理におけるパレット情報の並べ替え手順を説明するための図である。
【図９】第１実施形態におけるデータ取り出し処理を表すフローチャートである。
【図１０】第１実施形態におけるデータ取り出し処理のパレット情報の並べ替え手順を説明するための図である。
【図１１】第１実施形態におけるパレット情報の並べ替えパターンとＬｅｈｍｅｒ  ｃｏｄｅ、階乗進数の対応を説明するための図である。
【図１２】第１実施形態におけるパレット情報、埋め込みデータ列、並べ替え後のパレットテーブルを表す図である。
【図１３】第２実施形態における画像処理システムのブロック図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を説明する。
（第１の実施形態）
図１は本実施形態における画像処理システムのブロック図である。画像処理システムは、画像データに情報を埋め込むことにより変換画像データを出力する画像処理装置１、変換画像データに埋め込まれた情報を取り出す画像処理装置２を含む。画像処理装置（第１の画像処理装置）１および画像処理装置（第２の画像処理装置）２は通信回線３を介して相互に接続され得る。通信回線３は典型的にはインターネットなどのＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であり得るが、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であっても良く、また、有線、無線を問わない。さらに、通信回線３の代わりに、メモリーカード、光ディスク、磁気ディスクなどの外部記憶媒体を用いて変換画像データを画像処理装置１から画像処理装置２に受け渡しても良い。
【００１５】
画像処理装置１は例えばコンテンツサーバであって、著作権情報、署名情報、メッセージなどのデータをいわゆる電子透かしとして画像データに埋め込み、変換画像データを出力する。画像処理装置２はユーザのコンピュータ端末、携帯端末、メディア再生装置などであって、変換画像データに埋め込まれた電子透かし情報を取り出し、電子透かし情報に従い画像の再生、複製、記録を制限し得る。
【００１６】
図２は画像処理装置１、２のハードウェアブロック図である。画像処理装置１、２はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、バス１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ストレージ１４、キーボード１５、ディスプレイ１６、インターフェース１７を含む。ＣＰＵ１１は予め定められたアプリケーションプログラムに基づき、画像データに対して電子透かしの埋め込みまたは取り出しを行い、バス１２に接続された各装置の動作を制御する。ＲＡＭ１３はＣＰＵ１１の動作のためのワークエリアとして用いられ、アプリケーションプログラム、画像データを一時的に保持し得る。ストレージ１４は不揮発性メモリ、ハードディスク装置などのように、アプリケーションプログラム、画像データを保持可能な記憶装置である。キーボード１５はユーザによって入力された文字、数字をデジタルデータとしてバスに送出する。ディスプレイ１６は、液晶表示装置、有機発光装置などから構成され、画像データを表示可能である。インターフェース１７は、通信回線３に接続可能であって、画像データの入力手段または出力手段として機能する。
【００１７】
図３、図４は本実施形態における画像処理装置の機能ブロック図であって、図３は画像処理装置１によるデータ埋め込み処理の概要を表し、図４は画像処理装置２によるデータ取り出しの処理の概要を表している。
【００１８】
図３において、画像処理装置１は並べ替え部（並べ替え手段）１０１、変換部（変換手段）１０２を備え、画像データに埋め込みデータ列ｄを埋め込んだ変換画像データを生成する。本実施形態において、画像データはいわゆるパレット画像のフォーマットに従い記述され、画素データＰｘ、パレット情報Ｐａを含み得る。パレット画像のフォーマットとしては、例えばＧＩＦ（Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）、ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）などが挙げられるが、本発明はこれらのフォーマットに限定されない。パレット情報Ｐａは光の三原色（Ｒ（Ｒｅｄ）、Ｇ（Ｇｒｅｅｎ）、Ｂ（Ｂｌｕｅ））の組み合わせである色情報を定義し、パレット情報Ｐａには例えば０〜２５５の整数で表された２５６個のインデックス値が関連付けられている。複数のパレット情報Ｐａおよびインデックス値はパレットテーブル（カラーテーブル）を構成する。この例においては、パレット画像における色の最大数は２５６色となる。複数の画素データＰｘのそれぞれはインデックス値によって、パレット情報Ｐａで定義された色彩を表し得る。埋め込みデータ列ｄは、例えば著作権情報、署名情報、メッセージなどであり得るが、他の情報であっても良い。
【００１９】
並べ替え部１０１は、入力された埋め込みデータ列ｄに基づき第１のパレットテーブルにおいてパレット情報Ｐａを並べ替え、パレット情報Ｐａ’を有する第２のパレットテーブルを生成する。パレット情報Ｐａからパレット情報Ｐａ’への並べ替えは、パレット情報Ｐａに関連付けられたインデックス値を並べ替えることによって行い得る。従って、以下の説明において、インデックス値の並べ替えをパレット情報の並べ替えと表記することもある。第２のパレットテーブルは第１のパレットテーブルと同一のパレット情報を含むが、パレット情報Ｐａ’の並び順はパレット情報Ｐａの並び順と異なっている。並べ替えられたパレット情報Ｐａ’のインデックス値の並び順が埋め込みデータ列ｄに対応している。
【００２０】
変換部１０２は、パレット情報Ｐａおよびパレット情報Ｐａ’に基づき、画素データＰｘのインデックス値を変換し、画素データＰｘ’を生成する。変換画像データは、パレット情報Ｐａ’を有する第２のパレットテーブル、画素データＰｘ’から構成される。並べ替えられた第２のパレットテーブルは埋め込みデータ列ｄの情報を含む。本実施形態において、変換画像データによって再現される画像は画像データによって再現される画像と同一であって、埋め込みデータ列ｄによる画質の劣化は生じない。
【００２１】
図４において、画像処理装置２は並べ替え部（取り出し手段）２０１を備え、並べ替え部２０１は第２のパレットテーブルにおいてパレット情報Ｐａ’に関連付けられたインデックス値の並び順から埋め込みデータ列ｄを取り出す。画像処理装置２は取り出された埋め込みデータ列ｄの情報に従い、変換画像データの改ざんの有無、著作権情報などを判断することができる。
【００２２】
図５は、本実施形態におけるパレット情報の並べ替えパターンを説明するための図であって、ｎ個の要素とＬｅｈｍｅｒ  ｃｏｄｅ、階乗進数の対応を表している。一般に、一意なｎ個の要素を並べ替える組合せの種類はｎの階乗（ｎ！）通り存在する。この組合せのそれぞれの並べ替えパターンは、Ｌｅｈｍｅｒ  ｃｏｄｅおよびその階乗進数（Ｆａｃｔｏｒｉａｌ  Ｎｕｍｂｅｒ）と一意に対応付けが可能である。例えば、ｎ＝４の場合の並べ替えパターンの種類は４！＝２４通りであり、図５のように表される。
【００２３】
ここで、Ｌｅｈｍｅｒ  ｃｏｄｅのｂ（１）、ｂ（２）、・・・、ｂ（ｎ）は、順列ａ（１）、ａ（２）、・・・、ａ（ｎ）が存在した時に、ｂ（ｉ）はｉ＋１≦ｊ≦ｎの範囲でａ（ｉ）＞ａ（ｊ）を満たすａ（ｊ）の数と定義される。また階乗進数は、順列ｂ（１）、ｂ（２）、・・・、ｂ（ｎ）が存在したときに、ｂ（ｉ）で表されるそれぞれの桁に階乗を掛け合わせた総和「ｂ（１）×（ｎ−１）！＋ｂ（２）×（ｎ−２）！＋・・・＋ｂ（ｎ−１）×１！＋ｂ（ｎ）×０！」と定義される。
【００２４】
図６に示されたように、ｎ個の要素を有意のパターンに並べ替えることにより、ｌｏｇ２（ｎ！）ビットの情報を埋め込むことができる。ここで、ｌｏｇ２（ｘ）は２を底とする対数を表すものとする。例えば、ｎ＝１３とした場合、１３個の要素を有意な特定のパターンに並べ替えることによって、３２ビットの情報の埋め込みが可能である。
【００２５】
画像データのパレットテーブルにおいて、インデックス値は任意の画素の色情報（ＲＧＢ）であるパレット情報に関連付けられている。従って、画素データとパレットテーブルにおけるパレット情報Ｐａとの対応が保たれている限り、パレットテーブルにおけるパレット情報の並び順は任意に定め得る。
【００２６】
パレットテーブルを複数のグループに分割し、グループ毎にパレット情報Ｐａを並べ替えることにより特定の情報を埋め込むことができる。例えば、１グループにｎ個のパレット情報Ｐａが含まれる場合、１グループに埋め込み可能な情報量はＭ＝［ｌｏｇ２（ｎ！）］ビットとなる。ここで、［ｘ］はガウス記号を表し、ｘを超えない最大の整数を表している。パレットテーブルにおけるパレット情報Ｐａの総数が「２５６」である場合、グループの個数はＧ＝［２５６÷ｎ］となり、パレットテーブル全体に埋め込み可能な情報量はＧ×Ｍ＝［ｌｏｇ２（ｎ！）］×［２５６÷ｎ］ビットとなる。
【００２７】
続いて、図７〜図１２を参照しながら本実施形態における画像処理システムの動作を詳述する。以下の説明においては、１グループのパレット情報Ｐａの個数を「１３」、パレットテーブル全体のパレット情報Ｐａの個数を「２５６」とするが、本発明は必ずしもこれらの個数に限定されるものではない。１グループのパレット情報Ｐａの個数が「１３」の場合、１グループのパレット情報Ｐａに埋め込み可能な情報量Ｍは［ｌｏｇ２（１３！）］＝３２ビットである（図６参照）。また、埋め込みに利用できるグループの個数は［２５６÷１３］＝１９である。従って、埋め込み可能な情報量は１９×３２ビット＝６０８ビット＝７６バイトとなる。
【００２８】
図７は本実施形態におけるデータ埋め込み処理を表すフローチャートであり、図８はデータ埋め込み処理におけるパレット情報Ｐａの並べ替え手順を説明するための図である。ここで、画像データはインデックス値Ｐａ（０）〜Ｐａ（２５５）で示される２５６個のパレット情報Ｐａ、２次元マトリクスの複数の画素データＰｘを有し、埋め込まれる情報は７６個の埋め込みデータ列ｄ（０）、ｄ（１）、・・・、ｄ（７５）を有する。以下、インデックス値Ｐａ（０）〜Ｐａ（２５５）に対応するパレット情報Ｐａを併せてパレット情報Ｐａ（０）〜Ｐａ（２５５）と表記する。画像処理装置１は、２５６個のパレット情報Ｐａ（０）〜Ｐａ（２５５）を、それぞれ１３個のパレット情報Ｐａからなる複数のグループに分割し、各グループ内においてパレット情報Ｐａの並べ替えを行う。
【００２９】
先ず、画像処理装置１のＣＰＵ１１はストレージ１４に保存された元画像データを読み出し、並べ替えが行われていないパレット情報がパレットテーブルにおいて１３個以上あるか否かを判断する（ステップＳ１１）。並べ替えが行われていないパレット情報Ｐａが１３個未満である場合には（ステップＳ１１でＮＯ）、画像処理装置１は並べ替え処理を終了する。
【００３０】
並べ替えが行われていないパレット情報が１３個以上ある場合（ステップＳ１１でＹＥＳ）、画像処理装置１は第１のパレットテーブルの先頭から１３個のインデックス値Ｐａ（０）〜Ｐａ（１２）を１つのグループとして取り出す（ステップＳ１２）。図８に示されたように、インデックス値Ｐａ（０）に関連付けられたパレット情報Ｐａ（０）はＲＧＢ（０，０，０）の値を示し、インデックス値Ｐａ（１）に関連付けられたパレット情報Ｐａ（１）はＲＧＢ（０，０，６４）の値を示している。また、インデックス値Ｐａ（１２）に関連付けられたパレット情報Ｐａ（１２）はＲＧＢ（１２８，０，１２８）を示している。
【００３１】
次に、画像処理装置１は、取り出したインデックス値Ｐａ（０）〜Ｐａ（１２）を所定規則に従って並べ替える（ステップＳ１３）。画像処理装置１と画像処理装置２との間で所定規則が予め共有される。所定規則は任意に定めることができ、例えばパレット情報Ｐａの色成分の昇順または降順にインデックス値Ｐａを並べ替えても良く、また、パレット情報Ｐａの色成分の昇順の１番目、降順の１番目、昇順の２番目、降順の２番目、昇順の３番目、降順の３番目のようにインデックス値を並べ替えても良い。ここでは、図８に示されたように、インデックス値ＰａをＲ、Ｇ、Ｂの色成分の昇順に並べ替える例を説明する。ステップＳ１２において取り出されたインデックス値Ｐａ（０）〜Ｐａ（１２）のパレット情報Ｐａ（０）〜Ｐａ（１２）は、（０，０，０）、（０，０，６４）、（０，６４，０）、（０，６４，６４）、（６４，０，０）、（６４，０，６４）、（６４，６４，０）、（６４，６４，６４）、（０，０，１２８）、（０，１２８，０）、（０，１２８，１２８）、（１２８，０，０）、（１２８，０，１２８）の色情報に対応する。ステップＳ１３において、インデックス値Ｐａ（０）〜Ｐａ（１２）のパレット情報Ｐａ（０）〜Ｐａ（１２）は、ステップＳ１３においてＲの昇順、Ｇの昇順、Ｂの昇順に並べ替えられ、（０，０，０）、（０，０，６４）、（０，０，１２８）、（０，６４，０）、（０，６４，６４）、（０，１２８，０）、（０，１２８，１２８）、（６４，０，０）、（６４，０，６４）、（６４，６４，０）、（６４，６４，６４）、（１２８，０，０）、（１２８，０，１２８）に対応する。
【００３２】
画像処理装置１は埋め込みデータ列ｄから先頭の４バイトの埋め込みデータ列ｄ（０）、ｄ（１）、ｄ（２）、ｄ（３）を取り出す（ステップＳ１４）。ここでは、取り出された埋め込みデータ列ｄが３２ビットで表された「１０００＿００００＿００００＿００００＿００００＿００００＿００００＿００００」であるとする。ＣＰＵ１１は３２ビットの埋め込みデータ列ｄを階乗進数とみなし、対応するＬｅｈｍｅｒ  ｃｏｄｅを算出し、さらにＬｅｈｍｅｒ  ｃｏｄｅに対応する並べ替えパターンを取得する（ステップＳ１５）。上述の埋め込みデータ列は十進数の「２，１４７，４８３，６４８」で表され、この値は図１１に示されるように階乗進数の「４×１２！＋５×１１！＋８×１０！＋７×９！＋８×８！＋０×７！＋０×６！＋１×５！＋０×４！＋１×３！＋１×２！＋０×１！＋０×０！」で表される。階乗進数における係数から、Ｌｅｈｍｅｒ  ｃｏｄｅ「４、５、８、７、８、０、０、１、０、１、１、０、０」が得られる。また、Ｌｅｈｍｅｒ  ｃｏｄｅに対応する並べ替えパターン「４、６、１０、９、１２、０、１、３、２、７、８、５、１１」が得られる。このようにして、１３個の数列「０、１、２、３、４、５、６、７、８、９、１０、１１、１２」が埋め込みデータ列ｄに基づき並べ替えパターンの数列「４、６、１０、９、１２、０、１、３、２、７、８、５、１１」に変換される。
【００３３】
画像処理装置１はステップＳ１５で得られた並べ替えパターンに従い、第１のパレットテーブルにおいてインデックス値Ｐａ（０）〜Ｐａ（１２）の並べ替えを行う（ステップＳ１６）。例えば、並べ替えパターンにおいて「０」は元の数列の「５」の位置にあることから、インデックス値Ｐａ（０）はインデックス値Ｐａ’（５）に変換される。また、並べ替えパターンにおいて「１」は元の数列の「６」の位置にあることから、インデックス値Ｐａ（１）はインデックス値Ｐａ’（６）に変換される。同様に、インデックス値Ｐａ（２）、Ｐａ（３）、Ｐａ（４）、Ｐａ（５）、Ｐａ（６）、Ｐａ（７）、Ｐａ（８）、Ｐａ（９）、Ｐａ（１０）、Ｐａ（１１）、Ｐａ（１２）は、インデックス値Ｐａ’（８）、Ｐａ’（７）、Ｐａ’（０）、Ｐａ’（１１）、Ｐａ’（１）、Ｐａ’（９）、Ｐａ’（１０）、Ｐａ’（３）、Ｐａ’（２）、Ｐａ’（１２）、Ｐａ’（４）にそれぞれ変換される。このようにして、インデックス値Ｐａ（０）〜Ｐａ（１２）は埋め込みデータ列ｄ（０）〜（３）に基づき並べ替えられる。
【００３４】
画像処理装置１は、並べ替えられたインデックス値Ｐａ’（０）〜Ｐａ’（１２）に従い画素データＰｘのインデックス値を変換する（ステップＳ１７）。すなわち、画素データＰｘのインデックス値Ｐａ（０）〜Ｐａ（１２）がインデックス値Ｐａ’（０）〜Ｐａ’（１２）に置き換えられる。以上のステップＳ１１〜Ｓ１７により、第１のグループのインデックス値Ｐａ（０）〜Ｐａ（１２）の並べ替え処理が終了する。
【００３５】
続いて、画像処理装置１はステップＳ１１に戻り、第２のグループのインデックス値Ｐａ（１３）〜Ｐａ（２５）の並べ替え処理を実行する（ステップＳ１２〜Ｓ１７）。第２のグループのインデックス値Ｐａ（１３）〜Ｐａ（２５）は埋め込みデータ列ｄ（４）〜ｄ（７）に基づきインデックス値Ｐａ’（１３）〜Ｐａ’（２５）に並べ替えられ、画素データＰｘのインデックス値Ｐａ（１３）〜Ｐａ（２５）がインデックス値Ｐａ’（１３）〜Ｐａ’（２５）に変換される。
【００３６】
画像処理装置１は、並べ替えが行われていないインデックス値Ｐａが１３個未満になるまで（ステップＳ１１でＮＯ）、ステップＳ１２〜Ｓ１７の処理を繰り返す。以上の処理により、図１２に示されたように、第１のグループのインデックス値Ｐａ（０）〜Ｐａ（１２）から第１９のグループのインデックス値Ｐａ（２３４）〜Ｐａ（２４６）の並べ替えが行われる。各グループのインデックス値Ｐａは埋め込みデータの４バイト毎の埋め込みデータ列ｄに基づきインデックス値Ｐａ’に並べ替えられる。なお、最後のグループのインデックス値Ｐａ（２４７）〜Ｐａ（２５５）は１３個未満であるため、並べ替えは行われない。このようにして、第１のパレットテーブルが第２のパレットテーブルに並べ替えられる。
【００３７】
図９はデータ取り出し処理を表すフローチャートであり、図１０はデータ取り出し処理におけるパレット情報の並べ替え手順を説明するための図である。画像処理装置２は図９、図１０に示された処理を実行することにより、図７、図８の処理によって変換画像データに埋め込まれた埋め込みデータ列ｄ（０）〜ｄ（７５）を取り出すことが可能となる。画像処理装置２は、変換画像データを画像処理装置１から受信する。また、画像処理装置２は、インデックス値Ｐａの並び順の所定規則を画像処理装置１と共有しているものとする。
【００３８】
先ず、画像処理装置２は、第２のパレットテーブルにおいて並べ替えが行われていないインデックス値Ｐａ’が１３個以上あるか否かを判断する（ステップＳ２１）。並べ替えが行われていないインデックス値が１３個未満である場合には（ステップＳ２１でＮＯ）、画像処理装置２は並べ替え処理を終了する。
【００３９】
並べ替えが行われていないパレット情報が１３個以上ある場合（ステップＳ２１でＹＥＳ）、画像処理装置２は第２のパレットテーブルからインデックス値Ｐａ’（０）〜Ｐａ’（２５５）の先頭から１３個のインデックス値Ｐａ’（０）〜Ｐａ’（１２）を第１のグループとして取り出す（ステップＳ２２）。図１０に示されたように、インデックス値Ｐａ’（０）に関連付けられたパレット情報Ｐａ’（０）はＲＧＢ（０，６４，６４）の値を示し、インデックス値Ｐａ’（１）に関連付けられたパレット情報Ｐａ’（１）はＲＧＢ（０，１２８，１２８）の値を示している。また、インデックス値Ｐａ’（１２）に関連付けられたパレット情報Ｐａ’（１２）はＲＧＢ（１２８，０，０）の値を示している。
【００４０】
次に、画像処理装置２は取り出したインデックス値Ｐａ’（０）〜Ｐａ’（１２）を所定規則に従って並べ替える（ステップＳ２３）。上述したように、所定規則は画像処理装置１において用いられたものと同じである。すなわち、ステップＳ１３で用いた所定規則と同様に、インデックス値Ｐａ’をＲ、Ｇ、Ｂの色成分の昇順に並べ替えられる。従って、インデックス値Ｐａ’（０）〜Ｐａ’（１２）は、図１０に示されたように、Ｐａ’（５）、Ｐａ’（６）、Ｐａ’（８）、Ｐａ’（７）、Ｐａ’（０）、Ｐａ’（１１）、Ｐａ’（１）、Ｐａ’（９）、Ｐａ’（１０）、Ｐａ’（３）、Ｐａ’（２）、Ｐａ’（１２）、Ｐａ’（４）の順に並べ替えられる。
【００４１】
画像処理装置２はステップＳ２２におけるインデックス値Ｐａ’の並び順とステップＳ２３において並べ替えられたインデックス値Ｐａ’の並び順とを比較し、並べ替えパターンを取得する（ステップＳ２４）。並べ替えパターンは、並べ替えられたインデックス値Ｐａ’（０）〜Ｐａ’（１２）の並び順（ソート順）に対応する。例えば、インデックス値Ｐａ’（０）は０から数えて４番目に並べ替えられることから、「４」が得られる。また、インデックス値Ｐａ’（１）は６番目に並べ替えられることから、「６」が得られる。このようにして、インデックス値Ｐａ’（０）〜Ｐａ’（１２）の並べ替えパターン「４、６、１０、９、１２、０、１、３、２、７、８、５、１１」が得られる。
【００４２】
続いて、画像処理装置２はステップＳ２４において取得された並べ替えパターンからＬｅｈｍｅｒ  ｃｏｄｅを求め、さらにＬｅｈｍｅｒ  ｃｏｄｅから階乗進数を算出する（ステップＳ２５）。図１１に示されるように、上述の並べ替えパターンに対応するＬｅｈｍｅｒ  ｃｏｄｅ「４、５、８、７、８、０、０、１、０、１、１、０、０」が得られ、このＬｅｈｍｅｒ  ｃｏｄｅの階乗進数「２，１４７，４８３，６４８」が得られる。さらに、「２，１４７，４８３，６４８」をビット列に表すことで、３２ビットのデータ列「１０００＿００００＿００００＿００００＿００００＿００００＿００００＿００００」が求められる。従って、第１のグループのインデックス値Ｐａ’（０）〜Ｐａ’（１２）から、埋め込みデータ列ｄ（０）、ｄ（１）、ｄ（２）、ｄ（３）が取り出される（ステップＳ２６）。
【００４３】
続いて、画像処理装置２はステップＳ２１に戻り、第２のグループのインデックス値Ｐａ’（１３）〜Ｐａ’（２５）から埋め込みデータ列ｄ（４）〜ｄ（７）を取り出す（ステップＳ２２〜Ｓ２６）。すなわち、インデックス値Ｐａ’（１３）〜Ｐａ’（２５）に対応する並べ替えパターンＬｅｈｍｅｒ  ｃｏｄｅ、階乗進数を算出することで、埋め込みデータ列ｄ（４）〜ｄ（７）が取り出される。さらに、画像処理装置２は、第２のパレットテーブルにおけるインデックス値Ｐａ’が１３個未満になるまで（ステップＳ２１でＮＯ）、ステップＳ２２〜Ｓ２６の処理を繰り返し、図１２に示されたように、埋め込みデータ列ｄ（０）〜ｄ（７５）を取り出すことができる。
【００４４】
本実施形態によれば、埋め込みデータ列に基づきパレットテーブルにおけるインデックス値を並べ替えることにより、画質を一切劣化させることなく情報の埋め込みを行うことが可能となる。また、本実施形態によれば、ファイルフォーマットに依存する追加情報領域を必要としないため、パレットテーブルのみで情報の埋め込みが行われる。このため、画像データのファイルフォーマットに依存せずに、情報を埋め込むことが可能となる。
なお、第１の画像処理装置が第２の画像処理装置の機能をも備え、第２の画像処理装置が第１の画像処理装置の機能をも備えるようにしてもよい。
【００４５】
（第２の実施形態）
図１３は本実施形態における画像処理システムのブロック図である。本実施形態における画像処理システムは第１の画像処理装置１、第２の画像処理装置２を含む。第１の画像処理装置１は入力手段１ａ、並べ替え手段１ｂ、変換手段１ｃ、出力手段１ｄを備え、第２の画像処理装置２は入力手段２ａ、取り出し手段２ｂを備える。第１の画像処理装置１において、入力手段１ａは、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力する。並べ替え手段１ｂは、埋め込みデータに基づいてインデックス値を並べ替え、第１のパレットテーブルを第２のパレットテーブルに変換する。変換手段１ｃは、画像データを構成する各画素に関連付けられた第１のパレットテーブルのインデックス値を第２のパレットテーブルのインデックス値に変換する。出力手段１ｄは、第２のパレットテーブルを含む変換画像データを出力する。第２の画像処理装置２において、入力手段２ａは、前記変換画像データを入力する。取り出し手段２ｂは、前記変換画像データの第２のパレットテーブルにおけるインデックス値の並び順と所定規則とに基づき埋め込みデータを取り出す。
【００４６】
本実施形態によれば、画質を一切劣化させることなく情報の埋め込みを行うことが可能となる。また、画像データのファイルフォーマットに依存せずに、パレット情報のみで情報の埋め込みを実現することができる。
なお、第１の画像処理装置が第２の画像処理装置の機能をも備え、第２の画像処理装置が第１の画像処理装置の機能をも備えるようにしてもよい。
【００４７】
上述の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００４８】
（付記１）
第１の画像処理装置および第２の画像処理装置を含む画像処理システムであって、
前記第１の画像処理装置は、
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力する入力手段と、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換する並べ替え手段と、
前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換する変換手段と、
前記第２のパレットテーブルを含む変換画像データを出力する出力手段とを備え、
前記第２の画像処理装置は、
前記変換画像データを入力する手段と、
前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理システム。
【００４９】
（付記２）
前記並べ替え手段は、前記インデックス値を複数のグループに分割し、前記グループ毎に前記インデックス値を並べ替えることを特徴とする付記１に記載の画像処理システム。
【００５０】
（付記３）
前記並べ替え手段は、ｎ個の前記インデックス値を並べ替えることにより、Ｍビット（Ｍはｌｏｇ２（ｎ！）を超えない最大整数）の前記埋め込みデータ列を埋め込み可能であることを特徴とする付記２に記載の画像処理システム。
【００５１】
（付記４）
複数の前記グループは、それぞれがｎ個の前記インデックス値を有するＧ個のグループを含み、前記並べ替え手段は、前記グループ毎に前記インデックス値を並べ替えることにより、Ｇ×Ｍビットの前記埋め込みデータ列を埋め込み可能であることを特徴とする付記３に記載の画像処理システム。
【００５２】
（付記５）
前記並べ替え手段は、Ｍビットの前記埋め込みデータ列を階乗進数として算出したＬｅｈｍｅｒ  ｃｏｄｅに基づき、ｎ個の前記インデックス値を並べ替えることを特徴とする付記３または４に記載の画像処理システム。
【００５３】
（付記６）
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力する入力手段と、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換する並べ替え手段と、
前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換する変換手段と、
前記第２のパレットテーブルを含む変換画像データを出力する出力手段とを備えることを特徴とする画像処理装置。
【００５４】
（付記７）
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第１のパレットテーブルを第２のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を第２のパレットテーブルの前記インデックス値に変換した変換画像データを入力する入力手段と、
前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理装置。
【００５５】
（付記８）
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力するステップと、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換するステップと、
前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換するステップと、
前記第２のパレットテーブルを含む変換画像データを出力するステップとを備えることを特徴とする画像処理方法。
【００５６】
（付記９）
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第１のパレットテーブルを第２のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を第２のパレットテーブルの前記インデックス値に変換した変換画像データを入力するステップと、
前記変換画像データの前記第２のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出すステップとを備えることを特徴とする画像処理方法。
【００５７】
（付記１０）
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第１のパレットテーブルを含む画像データを入力するステップと、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第１のパレットテーブルを第２のパレットテーブルに変換するステップと、
前記画像データを構成する各画素に関連付けられた前記第１のパレットテーブルの前記インデックス値を前記第２のパレットテーブルの前記インデックス値に変換するステップと、
前記第２のパレットテーブルを含む変換画像データを出力するステップとを含む画像処理方法をコンピュータに実行させるためのプログラム。
【符号の説明】
【００５８】
１  画像処理装置
２  画像処理装置
３  通信回線
１１  ＣＰＵ
１２  バス
１３  ＲＡＭ
１４  ストレージ
１５  キーボード
１６  ディスプレイ
１７  インターフェース
１０１  並べ替え部
１０２  変換部
２０１  並べ替え部
【図１】
2019022006.tif 000003
【図２】
2019022006.tif 000004
【図３】
2019022006.tif 000005
【図４】
2019022006.tif 000006
【図５】
2019022006.tif 000007
【図６】
2019022006.tif 000008
【図７】
2019022006.tif 000009
【図８】
2019022006.tif 000010
【図９】
2019022006.tif 000011
【図１０】
2019022006.tif 000012
【図１１】
2019022006.tif 000013
【図１２】
2019022006.tif 000014
【図１３】
2019022006.tif 000015