(58)【調査した分野】(Int.Cl.,DB名)
前記並べ替え手段は、前記インデックス値を複数のグループに分割し、前記グループ毎に前記インデックス値を並べ替えることを特徴とする請求項1に記載の画像処理システム。
前記並べ替え手段は、n個の前記インデックス値を並べ替えることにより、Mビット(Mはlog2(n!)を超えない最大整数)の前記埋め込みデータ列を埋め込み可能であることを特徴とする請求項2に記載の画像処理システム。
複数の前記グループは、それぞれがn個の前記インデックス値を有するG個のグループを含み、前記並べ替え手段は、前記グループ毎に前記インデックス値を並べ替えることにより、G×Mビットの前記埋め込みデータ列を埋め込み可能であることを特徴とする請求項3に記載の画像処理システム。
前記並べ替え手段は、Mビットの前記埋め込みデータ列を階乗進数として算出したLehmer codeに基づき、n個の前記インデックス値を並べ替えることを特徴とする請求項3または4に記載の画像処理システム。
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第1のパレットテーブルを第2のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を第2のパレットテーブルの前記インデックス値に変換した変換画像データを入力する入力手段と、
前記変換画像データの前記第2のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理装置。
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第1のパレットテーブルを第2のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を第2のパレットテーブルの前記インデックス値に変換した変換画像データを入力するステップと、
前記変換画像データの前記第2のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出すステップとを備えることを特徴とする画像処理方法。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の実施形態を説明する。
(第1の実施形態)
図1は本実施形態における画像処理システムのブロック図である。画像処理システムは、画像データに情報を埋め込むことにより変換画像データを出力する画像処理装置1、変換画像データに埋め込まれた情報を取り出す画像処理装置2を含む。画像処理装置(第1の画像処理装置)1および画像処理装置(第2の画像処理装置)2は通信回線3を介して相互に接続され得る。通信回線3は典型的にはインターネットなどのWAN(Wide Area Network)であり得るが、LAN(Local Area Network)であっても良く、また、有線、無線を問わない。さらに、通信回線3の代わりに、メモリーカード、光ディスク、磁気ディスクなどの外部記憶媒体を用いて変換画像データを画像処理装置1から画像処理装置2に受け渡しても良い。
【0015】
画像処理装置1は例えばコンテンツサーバであって、著作権情報、署名情報、メッセージなどのデータをいわゆる電子透かしとして画像データに埋め込み、変換画像データを出力する。画像処理装置2はユーザのコンピュータ端末、携帯端末、メディア再生装置などであって、変換画像データに埋め込まれた電子透かし情報を取り出し、電子透かし情報に従い画像の再生、複製、記録を制限し得る。
【0016】
図2は画像処理装置1、2のハードウェアブロック図である。画像処理装置1、2はCPU(Central Processing Unit)11、バス12、RAM(Random Access Memory)13、ストレージ14、キーボード15、ディスプレイ16、インターフェース17を含む。CPU11は予め定められたアプリケーションプログラムに基づき、画像データに対して電子透かしの埋め込みまたは取り出しを行い、バス12に接続された各装置の動作を制御する。RAM13はCPU11の動作のためのワークエリアとして用いられ、アプリケーションプログラム、画像データを一時的に保持し得る。ストレージ14は不揮発性メモリ、ハードディスク装置などのように、アプリケーションプログラム、画像データを保持可能な記憶装置である。キーボード15はユーザによって入力された文字、数字をデジタルデータとしてバスに送出する。ディスプレイ16は、液晶表示装置、有機発光装置などから構成され、画像データを表示可能である。インターフェース17は、通信回線3に接続可能であって、画像データの入力手段または出力手段として機能する。
【0017】
図3、
図4は本実施形態における画像処理装置の機能ブロック図であって、
図3は画像処理装置1によるデータ埋め込み処理の概要を表し、
図4は画像処理装置2によるデータ取り出しの処理の概要を表している。
【0018】
図3において、画像処理装置1は並べ替え部(並べ替え手段)101、変換部(変換手段)102を備え、画像データに埋め込みデータ列dを埋め込んだ変換画像データを生成する。本実施形態において、画像データはいわゆるパレット画像のフォーマットに従い記述され、画素データPx、パレット情報Paを含み得る。パレット画像のフォーマットとしては、例えばGIF(Graphics Interchange Format)、PNG(Portable Network Graphics)などが挙げられるが、本発明はこれらのフォーマットに限定されない。パレット情報Paは光の三原色(R(Red)、G(Green)、B(Blue))の組み合わせである色情報を定義し、パレット情報Paには例えば0〜255の整数で表された256個のインデックス値が関連付けられている。複数のパレット情報Paおよびインデックス値はパレットテーブル(カラーテーブル)を構成する。この例においては、パレット画像における色の最大数は256色となる。複数の画素データPxのそれぞれはインデックス値によって、パレット情報Paで定義された色彩を表し得る。埋め込みデータ列dは、例えば著作権情報、署名情報、メッセージなどであり得るが、他の情報であっても良い。
【0019】
並べ替え部101は、入力された埋め込みデータ列dに基づき第1のパレットテーブルにおいてパレット情報Paを並べ替え、パレット情報Pa’を有する第2のパレットテーブルを生成する。パレット情報Paからパレット情報Pa’への並べ替えは、パレット情報Paに関連付けられたインデックス値を並べ替えることによって行い得る。従って、以下の説明において、インデックス値の並べ替えをパレット情報の並べ替えと表記することもある。第2のパレットテーブルは第1のパレットテーブルと同一のパレット情報を含むが、パレット情報Pa’の並び順はパレット情報Paの並び順と異なっている。並べ替えられたパレット情報Pa’のインデックス値の並び順が埋め込みデータ列dに対応している。
【0020】
変換部102は、パレット情報Paおよびパレット情報Pa’に基づき、画素データPxのインデックス値を変換し、画素データPx’を生成する。変換画像データは、パレット情報Pa’を有する第2のパレットテーブル、画素データPx’から構成される。並べ替えられた第2のパレットテーブルは埋め込みデータ列dの情報を含む。本実施形態において、変換画像データによって再現される画像は画像データによって再現される画像と同一であって、埋め込みデータ列dによる画質の劣化は生じない。
【0021】
図4において、画像処理装置2は並べ替え部(取り出し手段)201を備え、並べ替え部201は第2のパレットテーブルにおいてパレット情報Pa’に関連付けられたインデックス値の並び順から埋め込みデータ列dを取り出す。画像処理装置2は取り出された埋め込みデータ列dの情報に従い、変換画像データの改ざんの有無、著作権情報などを判断することができる。
【0022】
図5は、本実施形態におけるパレット情報の並べ替えパターンを説明するための図であって、n個の要素とLehmer code、階乗進数の対応を表している。一般に、一意なn個の要素を並べ替える組合せの種類はnの階乗(n!)通り存在する。この組合せのそれぞれの並べ替えパターンは、Lehmer codeおよびその階乗進数(Factorial Number)と一意に対応付けが可能である。例えば、n=4の場合の並べ替えパターンの種類は4!=24通りであり、
図5のように表される。
【0023】
ここで、Lehmer codeのb(1)、b(2)、・・・、b(n)は、順列a(1)、a(2)、・・・、a(n)が存在した時に、b(i)はi+1≦j≦nの範囲でa(i)>a(j)を満たすa(j)の数と定義される。また階乗進数は、順列b(1)、b(2)、・・・、b(n)が存在したときに、b(i)で表されるそれぞれの桁に階乗を掛け合わせた総和「b(1)×(n−1)!+b(2)×(n−2)!+・・・+b(n−1)×1!+b(n)×0!」と定義される。
【0024】
図6に示されたように、n個の要素を有意のパターンに並べ替えることにより、log2(n!)ビットの情報を埋め込むことができる。ここで、log2(x)は2を底とする対数を表すものとする。例えば、n=13とした場合、13個の要素を有意な特定のパターンに並べ替えることによって、32ビットの情報の埋め込みが可能である。
【0025】
画像データのパレットテーブルにおいて、インデックス値は任意の画素の色情報(RGB)であるパレット情報に関連付けられている。従って、画素データとパレットテーブルにおけるパレット情報Paとの対応が保たれている限り、パレットテーブルにおけるパレット情報の並び順は任意に定め得る。
【0026】
パレットテーブルを複数のグループに分割し、グループ毎にパレット情報Paを並べ替えることにより特定の情報を埋め込むことができる。例えば、1グループにn個のパレット情報Paが含まれる場合、1グループに埋め込み可能な情報量はM=[log2(n!)]ビットとなる。ここで、[x]はガウス記号を表し、xを超えない最大の整数を表している。パレットテーブルにおけるパレット情報Paの総数が「256」である場合、グループの個数はG=[256÷n]となり、パレットテーブル全体に埋め込み可能な情報量はG×M=[log2(n!)]×[256÷n]ビットとなる。
【0027】
続いて、
図7〜
図12を参照しながら本実施形態における画像処理システムの動作を詳述する。以下の説明においては、1グループのパレット情報Paの個数を「13」、パレットテーブル全体のパレット情報Paの個数を「256」とするが、本発明は必ずしもこれらの個数に限定されるものではない。1グループのパレット情報Paの個数が「13」の場合、1グループのパレット情報Paに埋め込み可能な情報量Mは[log2(13!)]=32ビットである(
図6参照)。また、埋め込みに利用できるグループの個数は[256÷13]=19である。従って、埋め込み可能な情報量は19×32ビット=608ビット=76バイトとなる。
【0028】
図7は本実施形態におけるデータ埋め込み処理を表すフローチャートであり、
図8はデータ埋め込み処理におけるパレット情報Paの並べ替え手順を説明するための図である。ここで、画像データはインデックス値Pa(0)〜Pa(255)で示される256個のパレット情報Pa、2次元マトリクスの複数の画素データPxを有し、埋め込まれる情報は76個の埋め込みデータ列d(0)、d(1)、・・・、d(75)を有する。以下、インデックス値Pa(0)〜Pa(255)に対応するパレット情報Paを併せてパレット情報Pa(0)〜Pa(255)と表記する。画像処理装置1は、256個のパレット情報Pa(0)〜Pa(255)を、それぞれ13個のパレット情報Paからなる複数のグループに分割し、各グループ内においてパレット情報Paの並べ替えを行う。
【0029】
先ず、画像処理装置1のCPU11はストレージ14に保存された元画像データを読み出し、並べ替えが行われていないパレット情報がパレットテーブルにおいて13個以上あるか否かを判断する(ステップS11)。並べ替えが行われていないパレット情報Paが13個未満である場合には(ステップS11でNO)、画像処理装置1は並べ替え処理を終了する。
【0030】
並べ替えが行われていないパレット情報が13個以上ある場合(ステップS11でYES)、画像処理装置1は第1のパレットテーブルの先頭から13個のインデックス値Pa(0)〜Pa(12)を1つのグループとして取り出す(ステップS12)。
図8に示されたように、インデックス値Pa(0)に関連付けられたパレット情報Pa(0)はRGB(0,0,0)の値を示し、インデックス値Pa(1)に関連付けられたパレット情報Pa(1)はRGB(0,0,64)の値を示している。また、インデックス値Pa(12)に関連付けられたパレット情報Pa(12)はRGB(128,0,128)を示している。
【0031】
次に、画像処理装置1は、取り出したインデックス値Pa(0)〜Pa(12)を所定規則に従って並べ替える(ステップS13)。画像処理装置1と画像処理装置2との間で所定規則が予め共有される。所定規則は任意に定めることができ、例えばパレット情報Paの色成分の昇順または降順にインデックス値Paを並べ替えても良く、また、パレット情報Paの色成分の昇順の1番目、降順の1番目、昇順の2番目、降順の2番目、昇順の3番目、降順の3番目のようにインデックス値を並べ替えても良い。ここでは、
図8に示されたように、インデックス値PaをR、G、Bの色成分の昇順に並べ替える例を説明する。ステップS12において取り出されたインデックス値Pa(0)〜Pa(12)のパレット情報Pa(0)〜Pa(12)は、(0,0,0)、(0,0,64)、(0,64,0)、(0,64,64)、(64,0,0)、(64,0,64)、(64,64,0)、(64,64,64)、(0,0,128)、(0,128,0)、(0,128,128)、(128,0,0)、(128,0,128)の色情報に対応する。ステップS13において、インデックス値Pa(0)〜Pa(12)のパレット情報Pa(0)〜Pa(12)は、ステップS13においてRの昇順、Gの昇順、Bの昇順に並べ替えられ、(0,0,0)、(0,0,64)、(0,0,128)、(0,64,0)、(0,64,64)、(0,128,0)、(0,128,128)、(64,0,0)、(64,0,64)、(64,64,0)、(64,64,64)、(128,0,0)、(128,0,128)に対応する。
【0032】
画像処理装置1は埋め込みデータ列dから先頭の4バイトの埋め込みデータ列d(0)、d(1)、d(2)、d(3)を取り出す(ステップS14)。ここでは、取り出された埋め込みデータ列dが32ビットで表された「1000_0000_0000_0000_0000_0000_0000_0000」であるとする。CPU11は32ビットの埋め込みデータ列dを階乗進数とみなし、対応するLehmer codeを算出し、さらにLehmer codeに対応する並べ替えパターンを取得する(ステップS15)。上述の埋め込みデータ列は十進数の「2,147,483,648」で表され、この値は
図11に示されるように階乗進数の「4×12!+5×11!+8×10!+7×9!+8×8!+0×7!+0×6!+1×5!+0×4!+1×3!+1×2!+0×1!+0×0!」で表される。階乗進数における係数から、Lehmer code「4、5、8、7、8、0、0、1、0、1、1、0、0」が得られる。また、Lehmer codeに対応する並べ替えパターン「4、6、10、9、12、0、1、3、2、7、8、5、11」が得られる。このようにして、13個の数列「0、1、2、3、4、5、6、7、8、9、10、11、12」が埋め込みデータ列dに基づき並べ替えパターンの数列「4、6、10、9、12、0、1、3、2、7、8、5、11」に変換される。
【0033】
画像処理装置1はステップS15で得られた並べ替えパターンに従い、第1のパレットテーブルにおいてインデックス値Pa(0)〜Pa(12)の並べ替えを行う(ステップS16)。例えば、並べ替えパターンにおいて「0」は元の数列の「5」の位置にあることから、インデックス値Pa(0)はインデックス値Pa’(5)に変換される。また、並べ替えパターンにおいて「1」は元の数列の「6」の位置にあることから、インデックス値Pa(1)はインデックス値Pa’(6)に変換される。同様に、インデックス値Pa(2)、Pa(3)、Pa(4)、Pa(5)、Pa(6)、Pa(7)、Pa(8)、Pa(9)、Pa(10)、Pa(11)、Pa(12)は、インデックス値Pa’(8)、Pa’(7)、Pa’(0)、Pa’(11)、Pa’(1)、Pa’(9)、Pa’(10)、Pa’(3)、Pa’(2)、Pa’(12)、Pa’(4)にそれぞれ変換される。このようにして、インデックス値Pa(0)〜Pa(12)は埋め込みデータ列d(0)〜(3)に基づき並べ替えられる。
【0034】
画像処理装置1は、並べ替えられたインデックス値Pa’(0)〜Pa’(12)に従い画素データPxのインデックス値を変換する(ステップS17)。すなわち、画素データPxのインデックス値Pa(0)〜Pa(12)がインデックス値Pa’(0)〜Pa’(12)に置き換えられる。以上のステップS11〜S17により、第1のグループのインデックス値Pa(0)〜Pa(12)の並べ替え処理が終了する。
【0035】
続いて、画像処理装置1はステップS11に戻り、第2のグループのインデックス値Pa(13)〜Pa(25)の並べ替え処理を実行する(ステップS12〜S17)。第2のグループのインデックス値Pa(13)〜Pa(25)は埋め込みデータ列d(4)〜d(7)に基づきインデックス値Pa’(13)〜Pa’(25)に並べ替えられ、画素データPxのインデックス値Pa(13)〜Pa(25)がインデックス値Pa’(13)〜Pa’(25)に変換される。
【0036】
画像処理装置1は、並べ替えが行われていないインデックス値Paが13個未満になるまで(ステップS11でNO)、ステップS12〜S17の処理を繰り返す。以上の処理により、
図12に示されたように、第1のグループのインデックス値Pa(0)〜Pa(12)から第19のグループのインデックス値Pa(234)〜Pa(246)の並べ替えが行われる。各グループのインデックス値Paは埋め込みデータの4バイト毎の埋め込みデータ列dに基づきインデックス値Pa’に並べ替えられる。なお、最後のグループのインデックス値Pa(247)〜Pa(255)は13個未満であるため、並べ替えは行われない。このようにして、第1のパレットテーブルが第2のパレットテーブルに並べ替えられる。
【0037】
図9はデータ取り出し処理を表すフローチャートであり、
図10はデータ取り出し処理におけるパレット情報の並べ替え手順を説明するための図である。画像処理装置2は
図9、
図10に示された処理を実行することにより、
図7、
図8の処理によって変換画像データに埋め込まれた埋め込みデータ列d(0)〜d(75)を取り出すことが可能となる。画像処理装置2は、変換画像データを画像処理装置1から受信する。また、画像処理装置2は、インデックス値Paの並び順の所定規則を画像処理装置1と共有しているものとする。
【0038】
先ず、画像処理装置2は、第2のパレットテーブルにおいて並べ替えが行われていないインデックス値Pa’が13個以上あるか否かを判断する(ステップS21)。並べ替えが行われていないインデックス値が13個未満である場合には(ステップS21でNO)、画像処理装置2は並べ替え処理を終了する。
【0039】
並べ替えが行われていないパレット情報が13個以上ある場合(ステップS21でYES)、画像処理装置2は第2のパレットテーブルからインデックス値Pa’(0)〜Pa’(255)の先頭から13個のインデックス値Pa’(0)〜Pa’(12)を第1のグループとして取り出す(ステップS22)。
図10に示されたように、インデックス値Pa’(0)に関連付けられたパレット情報Pa’(0)はRGB(0,64,64)の値を示し、インデックス値Pa’(1)に関連付けられたパレット情報Pa’(1)はRGB(0,128,128)の値を示している。また、インデックス値Pa’(12)に関連付けられたパレット情報Pa’(12)はRGB(128,0,0)の値を示している。
【0040】
次に、画像処理装置2は取り出したインデックス値Pa’(0)〜Pa’(12)を所定規則に従って並べ替える(ステップS23)。上述したように、所定規則は画像処理装置1において用いられたものと同じである。すなわち、ステップS13で用いた所定規則と同様に、インデックス値Pa’をR、G、Bの色成分の昇順に並べ替えられる。従って、インデックス値Pa’(0)〜Pa’(12)は、
図10に示されたように、Pa’(5)、Pa’(6)、Pa’(8)、Pa’(7)、Pa’(0)、Pa’(11)、Pa’(1)、Pa’(9)、Pa’(10)、Pa’(3)、Pa’(2)、Pa’(12)、Pa’(4)の順に並べ替えられる。
【0041】
画像処理装置2はステップS22におけるインデックス値Pa’の並び順とステップS23において並べ替えられたインデックス値Pa’の並び順とを比較し、並べ替えパターンを取得する(ステップS24)。並べ替えパターンは、並べ替えられたインデックス値Pa’(0)〜Pa’(12)の並び順(ソート順)に対応する。例えば、インデックス値Pa’(0)は0から数えて4番目に並べ替えられることから、「4」が得られる。また、インデックス値Pa’(1)は6番目に並べ替えられることから、「6」が得られる。このようにして、インデックス値Pa’(0)〜Pa’(12)の並べ替えパターン「4、6、10、9、12、0、1、3、2、7、8、5、11」が得られる。
【0042】
続いて、画像処理装置2はステップS24において取得された並べ替えパターンからLehmer codeを求め、さらにLehmer codeから階乗進数を算出する(ステップS25)。
図11に示されるように、上述の並べ替えパターンに対応するLehmer code「4、5、8、7、8、0、0、1、0、1、1、0、0」が得られ、このLehmer codeの階乗進数「2,147,483,648」が得られる。さらに、「2,147,483,648」をビット列に表すことで、32ビットのデータ列「1000_0000_0000_0000_0000_0000_0000_0000」が求められる。従って、第1のグループのインデックス値Pa’(0)〜Pa’(12)から、埋め込みデータ列d(0)、d(1)、d(2)、d(3)が取り出される(ステップS26)。
【0043】
続いて、画像処理装置2はステップS21に戻り、第2のグループのインデックス値Pa’(13)〜Pa’(25)から埋め込みデータ列d(4)〜d(7)を取り出す(ステップS22〜S26)。すなわち、インデックス値Pa’(13)〜Pa’(25)に対応する並べ替えパターンLehmer code、階乗進数を算出することで、埋め込みデータ列d(4)〜d(7)が取り出される。さらに、画像処理装置2は、第2のパレットテーブルにおけるインデックス値Pa’が13個未満になるまで(ステップS21でNO)、ステップS22〜S26の処理を繰り返し、
図12に示されたように、埋め込みデータ列d(0)〜d(75)を取り出すことができる。
【0044】
本実施形態によれば、埋め込みデータ列に基づきパレットテーブルにおけるインデックス値を並べ替えることにより、画質を一切劣化させることなく情報の埋め込みを行うことが可能となる。また、本実施形態によれば、ファイルフォーマットに依存する追加情報領域を必要としないため、パレットテーブルのみで情報の埋め込みが行われる。このため、画像データのファイルフォーマットに依存せずに、情報を埋め込むことが可能となる。
なお、第1の画像処理装置が第2の画像処理装置の機能をも備え、第2の画像処理装置が第1の画像処理装置の機能をも備えるようにしてもよい。
【0045】
(第2の実施形態)
図13は本実施形態における画像処理システムのブロック図である。本実施形態における画像処理システムは第1の画像処理装置1、第2の画像処理装置2を含む。第1の画像処理装置1は入力手段1a、並べ替え手段1b、変換手段1c、出力手段1dを備え、第2の画像処理装置2は入力手段2a、取り出し手段2bを備える。第1の画像処理装置1において、入力手段1aは、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データを入力する。並べ替え手段1bは、埋め込みデータに基づいてインデックス値を並べ替え、第1のパレットテーブルを第2のパレットテーブルに変換する。変換手段1cは、画像データを構成する各画素に関連付けられた第1のパレットテーブルのインデックス値を第2のパレットテーブルのインデックス値に変換する。出力手段1dは、第2のパレットテーブルを含む変換画像データを出力する。第2の画像処理装置2において、入力手段2aは、前記変換画像データを入力する。取り出し手段2bは、前記変換画像データの第2のパレットテーブルにおけるインデックス値の並び順と所定規則とに基づき埋め込みデータを取り出す。
【0046】
本実施形態によれば、画質を一切劣化させることなく情報の埋め込みを行うことが可能となる。また、画像データのファイルフォーマットに依存せずに、パレット情報のみで情報の埋め込みを実現することができる。
なお、第1の画像処理装置が第2の画像処理装置の機能をも備え、第2の画像処理装置が第1の画像処理装置の機能をも備えるようにしてもよい。
【0047】
上述の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0048】
(付記1)
第1の画像処理装置および第2の画像処理装置を含む画像処理システムであって、
前記第1の画像処理装置は、
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データを入力する入力手段と、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第1のパレットテーブルを第2のパレットテーブルに変換する並べ替え手段と、
前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を前記第2のパレットテーブルの前記インデックス値に変換する変換手段と、
前記第2のパレットテーブルを含む変換画像データを出力する出力手段とを備え、
前記第2の画像処理装置は、
前記変換画像データを入力する手段と、
前記変換画像データの前記第2のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理システム。
【0049】
(付記2)
前記並べ替え手段は、前記インデックス値を複数のグループに分割し、前記グループ毎に前記インデックス値を並べ替えることを特徴とする付記1に記載の画像処理システム。
【0050】
(付記3)
前記並べ替え手段は、n個の前記インデックス値を並べ替えることにより、Mビット(Mはlog2(n!)を超えない最大整数)の前記埋め込みデータ列を埋め込み可能であることを特徴とする付記2に記載の画像処理システム。
【0051】
(付記4)
複数の前記グループは、それぞれがn個の前記インデックス値を有するG個のグループを含み、前記並べ替え手段は、前記グループ毎に前記インデックス値を並べ替えることにより、G×Mビットの前記埋め込みデータ列を埋め込み可能であることを特徴とする付記3に記載の画像処理システム。
【0052】
(付記5)
前記並べ替え手段は、Mビットの前記埋め込みデータ列を階乗進数として算出したLehmer codeに基づき、n個の前記インデックス値を並べ替えることを特徴とする付記3または4に記載の画像処理システム。
【0053】
(付記6)
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データを入力する入力手段と、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第1のパレットテーブルを第2のパレットテーブルに変換する並べ替え手段と、
前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を前記第2のパレットテーブルの前記インデックス値に変換する変換手段と、
前記第2のパレットテーブルを含む変換画像データを出力する出力手段とを備えることを特徴とする画像処理装置。
【0054】
(付記7)
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第1のパレットテーブルを第2のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を第2のパレットテーブルの前記インデックス値に変換した変換画像データを入力する入力手段と、
前記変換画像データの前記第2のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出す取り出し手段とを備えることを特徴とする画像処理装置。
【0055】
(付記8)
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データを入力するステップと、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第1のパレットテーブルを第2のパレットテーブルに変換するステップと、
前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を前記第2のパレットテーブルの前記インデックス値に変換するステップと、
前記第2のパレットテーブルを含む変換画像データを出力するステップとを備えることを特徴とする画像処理方法。
【0056】
(付記9)
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データにおいて、埋め込みデータ列に基づいて前記インデックス値を並べ替えることにより、前記第1のパレットテーブルを第2のパレットテーブルに変換し、前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を第2のパレットテーブルの前記インデックス値に変換した変換画像データを入力するステップと、
前記変換画像データの前記第2のパレットテーブルにおける前記インデックス値の並び順と前記所定規則とに基づき前記埋め込みデータ列を取り出すステップとを備えることを特徴とする画像処理方法。
【0057】
(付記10)
色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データを入力するステップと、
埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第1のパレットテーブルを第2のパレットテーブルに変換するステップと、
前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を前記第2のパレットテーブルの前記インデックス値に変換するステップと、
前記第2のパレットテーブルを含む変換画像データを出力するステップとを含む画像処理方法をコンピュータに実行させるためのプログラム。
【解決手段】 本発明の一実施形態に係る画像処理システムは、第1の画像処理装置および第2の画像処理装置を含み、前記第1の画像処理装置は、色情報を定義するパレット情報に関連付けられた複数のインデックス値が所定規則で並んだ第1のパレットテーブルを含む画像データを入力する入力手段と、埋め込みデータ列に基づいて前記インデックス値を並べ替え、前記第1のパレットテーブルを第2のパレットテーブルに変換する並べ替え手段と、前記画像データを構成する各画素に関連付けられた前記第1のパレットテーブルの前記インデックス値を前記第2のパレットテーブルの前記インデックス値に変換する変換手段と、前記第2のパレットテーブルを含む変換画像データを出力する出力手段とを備える。