JP5310477B2 - 画像処理装置、画像処理方法、および画像処理プログラム - Google Patents

画像処理装置、画像処理方法、および画像処理プログラム Download PDF

Info

Publication number
JP5310477B2
JP5310477B2 JP2009243022A JP2009243022A JP5310477B2 JP 5310477 B2 JP5310477 B2 JP 5310477B2 JP 2009243022 A JP2009243022 A JP 2009243022A JP 2009243022 A JP2009243022 A JP 2009243022A JP 5310477 B2 JP5310477 B2 JP 5310477B2
Authority
JP
Japan
Prior art keywords
code
pair
image
pair block
unit
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.)
Active
Application number
JP2009243022A
Other languages
English (en)
Other versions
JP2011091594A (ja
Inventor
伸康 山口
源太 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009243022A priority Critical patent/JP5310477B2/ja
Publication of JP2011091594A publication Critical patent/JP2011091594A/ja
Application granted granted Critical
Publication of JP5310477B2 publication Critical patent/JP5310477B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、画像処理装置、画像処理方法、および画像処理プログラムに係わる。
画像にデータを埋め込む技術の1つとしてステガノグラフィが知られている。ステガノグラフィは、データ隠蔽技術の1つであり、原画像に対してステガノグラフィでデータを埋め込むことによりデータ埋込み画像を生成することができる。この場合、原画像およびデータ埋込み画像の差異が視覚的に分からない或いは分かりにくいように、データを埋め込むことが可能である。
図1は、ステガノグラフィ技術の一例を説明する図である。図1に示すステガノグラフィを実現する画像データ処理装置は、ブロック分割部、平均化部、およびエンコード部を備える。ブロック分割部は、原画像データを複数のブロック(図1では、16×16)に分割する。平均化部は、各ブロックの特徴量(例えば、平均濃度)を抽出する。エンコード部は、水平方向に互いに隣接する2つのブロック(以下、ペアブロック)に対して1ビットのデータを割り当てる。このとき、ペアブロックに対して「0」を割り当てる場合には、例えば、右側ブロックの特徴量が左側ブロックの特徴量よりも大きくなるように、必要に応じて、これら2つのブロックの特徴量が調整される。同様に、ペアブロックに対して「1」を割り当てる場合には、例えば、右側ブロックの特徴量が左側ブロックの特徴量以下になるように、必要に応じて、これら2つのブロックの特徴量が調整される。
なお、図1に示す例では、原画像に対して16桁のコード(1010110101001010)が埋め込まれている。また、この例では、同じコードが画像内の異なる領域に繰り返し埋め込まれている。すなわち、埋め込みコード1〜8は、互いに同じデータである。
画像デコーダは、各ブロックの特徴量を検出し、各ペアブロックの特徴量を比較することにより、画像に埋め込まれているコードを認識する。図1に示す例では、複数の埋め込みコードが認識されるので、多数決処理を行うことにより認識性能の向上を図ることができる。
なお、図1に示す画像データ処理方法は、例えば、特許文献1に記載されている。
特開2004−349879号公報
上述の画像データ処理方法においては、コードの桁数(または、コードの情報量)を増やすためには、画像をより多くのブロックに分割する必要がある。しかし、画像をより多くのブロックに分割すると、各ブロックのサイズが小さくなり、画像デコーダにおける認識精度が低下してしまう。
本発明の課題は、画像データにコードを埋め込む画像処理において、埋め込まれるコードの情報量を増やすことである。
本発明の1つの態様の画像処理装置は、画像データにコードを埋め込むために、画像データを複数のブロックに分割する分割部と、各ブロックの特徴量を利用して前記画像データに第1のコードおよび第2のコードを埋め込むエンコード部、を備える。前記エンコード部は、前記画像データにおいて、同数のペアブロックを有する複数のペアブロック群を作成する作成部と、前記第1のコードに基づいて、各ペアブロック群に対してそれぞれ対応するシフト量を割り当てる第1の割当て部と、各ペアブロック群に対して、それぞれ、前記第2のコードを対応するシフト量だけシフトさせることにより生成される埋め込みデータを割り当てる第2の割当て部と、各ペアブロック群において、対応する埋め込みデータに基づいて、各ペアブロックに属する2つのブロックの特徴量を調整する調整部、を有する。
本発明の他の態様の画像処理装置は、画像データに埋め込まれたコードを抽出するために、画像データを複数のブロックに分割する分割部と、前記画像データから同数のペアブロックを有する複数のペアブロック群を抽出する抽出部と、前記複数のブロックのそれぞれについて特徴量を算出する算出部と、各ペアブロックについてブロック間の特徴量の大小関係に対応する値を再生することにより、各ペアブロック群からそれぞれ対応するコードを抽出するコード抽出部と、各ペアブロック群に対応するシフト量に応じて、各ペアブロック群から抽出されるコードを補正して候補コードを生成する補正部と、前記補正部により生成される複数の候補コードに基づいて、前記画像データに埋め込まれているコードを決定する決定部、を有する。
本出願において開示される構成または方法によれば、画像データにコードを埋め込む画像処理において、埋め込まれるコードの情報量が大きくなる。
ステガノグラフィ技術の一例を説明する図である。 実施形態の画像コード化装置の構成を示す図である。 画像データの分割の実施例である。 ペアブロック群について説明する図である。 各ペアブロック群に埋め込みデータを割り当てる方法を説明する図である。 実施形態の画像コード化方法を示すフローチャートである。 特徴量調整部の動作を示すフローチャートである。 実施形態の画像コード復号装置の構成を示す図である。 コード抽出部の動作を説明する図である。 シフト補正部の動作を説明する図である。 コード決定部の動作を説明する図である。 図2に示す画像コード化装置および図8に示す画像コード復号装置を備える画像処理システムの使用例を示す図である。 他の実施形態の画像コード復号装置の構成を示す図である。 シフト量検出部の動作を説明する図である。 図2に示す画像コード化装置および図13に示す画像コード復号装置を備える画像処理システムの使用例を示す図である。 画像処理装置(画像コード化装置および画像コード復号装置)のハードウェア構成を示す図である。
実施形態の画像処理は、原画像にデータを埋め込む画像コード化処理、およびデータが埋め込まれた画像からそのデータを抽出する画像コード復号処理に係わる。以下の説明では、画像に埋め込まれるデータを「コード」と呼ぶことがある。また、コードが埋め込まれた画像データを「コード埋込み画像データ」または「画像コード化データ」と呼ぶことがある。
<画像コード化処理>
図2は、実施形態の画像コード化装置の構成を示す図である。画像コード化装置1は、ブロック分割部2、特徴量算出部3、エンコード部4を備え、原画像データにコード(または、コードデータ)を埋め込むことによりコード埋込み画像データ(または、画像コード化データ)を生成する。すなわち、画像コード化装置1は、原画像にコードを埋め込む画像処理装置である。
画像コード化装置1に入力される原画像データは、所定のフォーマットで生成された画像データである。原画像データのフォーマットは、特に限定されるものではないが、例えば、JPEG(Joint Photographic Expert Group)、GIF(Graphics Interchange Format)である。また、原画像データのサイズは、特に限定されるものではないが、この例では、1024×1024画素データである。なお、原画像データは、例えば、デジタルカメラ(または、電子カメラ)により生成される。或いは、原画像データは、スキャナを用いて紙面上の印刷されている画像を読み込むことにより生成されてもよい。
ブロック分割部2は、図3に示すように、原画像データを複数のブロックに分割する。すなわち、原画像データは、M行×N列に分割される。ここで、M、Nは、互いに同じであってもよいし、互いに異なっていてもよい。この例では、原画像データは、16行×16列(16×16ブロック)に分割される。これにより、原画像データは256個のブロックに分割される。この場合、第1行目には、16個のブロックB(L,1,1)、B(R,1,1)、B(L,2,1)、B(R,2,1)、...、B(L,8,1)、B(R,8,1)が生成される。同様に、第2行目には、ブロックB(L,1,2)、B(R,1,2)、...、B(L,8,2)、B(R,8,2)が生成され、第16行目には、ブロックB(L,1,16)、B(R,1,16)、...、B(L,8,16)、B(R,8,16)が生成される。この例では、各ブロックのサイズは、64×64画素である。なお、記号「L」および「R」は、それぞれ「左(Left)」および「右(Right)」を意味する。
ここで、実施形態の画像コード化方法では、水平方向に互いに隣接する2つのブロックを利用して、1ビットのデータが画像データに埋め込まれる。よって、以下では、水平方向に互いに隣接する2つのブロックを「ペアブロック」と呼ぶことにする。図3に示す例では、ペアブロックPB(1,1)は、ブロックB(L,1,1)、B(R,1,1)により構成され、ペアブロックPB(2,1)は、ブロックB(L,2,1)、B(R,2,1)により構成されている。すなわち、画像データの各行に8個のペアブロックが生成される。
特徴量算出部3は、各ブロックの特徴量を算出する。特徴量算出部3により算出される特徴量は、この例では、各ブロックの平均濃度(すなわち、ブロック内の各画素の階調レベルの平均値)である。
エンコード部4は、複数のブロックに分割された原画像データにコードデータを埋め込むことにより、コード埋込み画像データを生成する。原画像データに埋め込まれるコードデータは、コード1およびコード2から構成される。コード1は、28桁(28ビット)であり、この例では「0010000000011000000010100100(16進数表記では、20180a4)」であるものとする。また、コード2は、16桁(または、16ビット)であり、この例では「1010110101001010」であるものとする。
エンコード部4は、原画像データにコードデータ(コード1+コード2)を埋め込むために、ペアブロック群作成部11、シフト量割り当て部12、埋め込みデータ割当て部13、特徴量調整部14を備える。そして、エンコード部4には、原画像データが入力されると共に、その原画像データに埋め込まれるコードデータが与えられる。
ペアブロック群作成部11は、同数のペアブロックを有する複数のペアブロック群を作成する。この例では、それぞれが16個のペアブロックを有するペアブロック群1〜8が作成される。図4に示す例では、ペアブロック群1には、1行目に位置する8個のペアブロック(PB(1,1)〜PB(8,1))、および2行目に位置する8個のペアブロック(PB(1,2)〜PB(8,2))が属する。また、ペアブロック群2には、3行目に位置する8個のペアブロック(PB(1,3)〜PB(8,3))、および4行目に位置する8個のペアブロック(PB(1,4)〜PB(8,4))が属する。以下同様に、ペアブロック群3〜8に対しても、それぞれ16個のペアブロックが属する。なお、ペアブロック群の作成は、例えば、各ペアブロック(または、各ペアブロックに属する2つのブロック)がそれぞれどのペアブロック群に属するのかを定義することにより実現される。
シフト量割り当て部12は、コード1に基づいて、各ペアブロック群に対してそれぞれ対応するシフト量を割り当てる。すなわち、シフト量割り当て部12は、まず、28ビットのデータ列を4ビット毎に分解する。これにより、コード1は、下記の7つの4ビットデータに分解される。
「0010(=2)」
「0000(=0)」
「0001(=1)」
「1000(=8)」
「0000(=0)」
「1010(=10)」
「0100(=4)」
続いて、シフト量割り当て部12は、ペアブロック群2〜8に対して、それぞれ、シフト量として上記4ビットデータを割り当てる。なお、ペアブロック群1には、シフト量として「0」が割り当てられる。この結果、ペアブロック群1〜8に対して、それぞれ、下記のようにシフト量が割り当てられる。
ペアブロック群1:0
ペアブロック群2:2
ペアブロック群3:0
ペアブロック群4:1
ペアブロック群5:8
ペアブロック群6:0
ペアブロック群7:10
ペアブロック群8:4
埋め込みデータ割当て部13は、ペアブロック群1〜8に対して、それぞれ対応する埋め込みデータ1〜8を割り当てる。埋め込みデータ1〜8は、それぞれ、シフト量割り当て部12によりペアブロック群1〜8に割り当てられたシフト量に応じてコード2をシフトさせることにより生成される。
例えば、埋め込みデータ1は、以下のように生成される。すなわち、コード2は、上述したように「1010110101001010」である。また、シフト量割り当て部12によりペアブロック群1に対して「0」が割り当てられている。この場合、埋め込みデータ割当て部13は、コード2のデータ列を保持する(0ビットだけシフトさせる)。よって、埋め込みデータ1は、コード2と同じであり、「1010110101001010」である。
ペアブロック群2に対しては、シフト量割り当て部12により「2」が割り当てられている。この場合、埋め込みデータ割当て部13は、コード2のデータ列の開始位置を2ビットだけシフトさせる。このとき、コード2のデータ列の各ビットは、サイクリックにシフトされる。すなわち、コード2の第1、2、3、...、14、15、16ビットが、それぞれ埋め込みデータ2の第3、4、5、...、16、1、2ビットに移動する。したがって、埋め込みデータ2は、「1010101101010010」である。
同様の方法により、ペアブロック群3〜8に対して割り当てられる埋め込みデータ3〜8が生成される。コード割り当て部13により生成された埋め込みデータ1〜8を図5に示す。なお、図5において、○印が付されているビットは、コード2の先頭ビットに相当する。
このように、各ペアブロック群1〜8に対して、それぞれ埋め込みデータ1〜8が割り当てられる。したがって、各ペアブロック(PB(1,1)〜PB(8,16))に対して、それぞれ「0」または「1」が割り当てられることになる。
特徴量調整部14は、各ペアブロック群1〜8において、対応する埋め込みデータ1〜8に基づいて各ペアブロックを構成する2つのブロックの特徴量を調整することにより、原画像データにコードを埋め込む。ここで、特徴量調整部14は、1つのペアブロックを利用して1ビットのデータを埋め込むことができる。例えば、図3において、ペアブロックPB(1,1)を利用して1ビットのデータが埋め込まれ、ペアブロックPB(2,1)を利用して別の1ビットのデータが埋め込まれる。
1つのペアブロックに1ビットのデータを埋め込むためには、そのペアブロックを構成する2つのブロックの特徴量(この例では、平均濃度)が調整される。この例では、各ブロックの特徴量は、与えられたデータに応じて下記のように調整される。
データ=0:D(L)<D(R)
データ=1:D(L)≧D(R)
なお、D(L)は、ペアブロックを構成する2つのブロックのうちの左側のブロックの平均濃度を表す。また、D(R)は、ペアブロックを構成する2つのブロックのうちの右側のブロックの平均濃度を表す。
たとえば、ペアブロックPB(1,1)に対して「1」が割り当てられると、エンコード部4は、特徴量算出部3による算出結果を参照する。このとき、ブロックB(L,1,1)の特徴量がブロックB(R,1,1)の特徴量よりも小さければ、エンコード部4は、ブロックB(L,1,1)の特徴量がブロックB(R,1,1)の特徴量以上になるように、ブロックB(L,1,1)、B(R,1,1)の少なくとも一方の特徴量を調整する。一方、ブロックB(L,1,1)の特徴量がブロックB(R,1,1)の特徴量以上であれば、エンコード部4は、ブロックB(L,1,1)、B(R,1,1)の特徴量をそのまま保持する。なお、本特許出願においては、特徴量を保持する処理は、特徴量を調整する処理に含まれるものとする。
ペアブロックPB(1,1)に対して「0」が割り当てられたときは、エンコード部4は、下記の処理を行う。すなわち、ブロックB(L,1,1)の特徴量がブロックB(R,1,1)の特徴量よりも小さければ、エンコード部4は、ブロックB(L,1,1)、B(R,1,1)の特徴量をそのまま保持する。一方、ブロックB(L,1,1)の特徴量がブロックB(R,1,1)の特徴量以上であれば、エンコード部4は、ブロックB(L,1,1)の特徴量がブロックB(R,1,1)の特徴量よりも小さくなるように、ブロックB(L,1,1)、B(L,1,1)の少なくとも一方の特徴量を調整する。
このように、エンコーダ部4は、1つのペアブロックを利用して1ビットのデータを埋め込む。したがって、原画像データに埋め込みデータ1〜8を埋め込むためには、それぞれ16個のペアブロックが使用される。すなわち、実施形態の画像コード化方法では、ペアブロック群1〜8に対してそれぞれ埋め込みデータ1〜8が割り当てられ、それらの埋め込みデータ1〜8が画像データに埋め込まれる。
図6は、実施形態の画像コード化方法を示すフローチャートである。なお、この実施形態では、画像コード化装置1に原画像データおよびコードデータ(コード1+コード2)が与えられるものとする。
ステップS1において、ブロック分割部2は、原画像データを複数のブロックに分割する。例えば、16×16ブロックが生成される。ステップS2において、特徴量算出部3は、各ブロックの特徴量を算出する。例えば、各ブロックの平均濃度が算出される。ステップS3において、ペアブロック群作成部11は、複数のペアブロックを作成する。例えば、ペアブロック群1〜8が作成される。
ステップS4において、エンコード部4は、各ペアブロック群に対してコード2を割り当てる。ステップS5において、シフト量割り当て部12は、各ペアブロック群に対して対応するシフト量を割り当てる。各ペアブロック群に対して割り当てられるシフト量は、コード1に基づいて決定される。ステップS6において、埋め込みデータ割り当て部13は、各ペアブロックに対してそれぞれ対応する埋め込みデータを割り当てる。各ペアブロックに割り当てられる埋め込みデータは、それぞれ対応するシフト量だけコード2をシフトさせることにより生成される。これにより、各ペアブロック群の各ペアブロックに対して、それぞれ1ビットのデータが割り当てられる。そして、ステップS7において、特徴量調整部14は、各ペアブロックにおいて、割り当てられた1ビットデータに従って各ブロックの特徴量を調整する。
図7は、特徴量調整部14の動作を示すフローチャートである。なお、各ブロックの平均濃度は、特徴量算出部3により算出されて画像コード化装置1が備えるメモリ領域に格納されているものとする。
ステップS11では、変数iが初期化される。変数iは、ペアブロック群1〜8および埋め込みデータ1〜8を識別する。ステップS12〜S20は、ペアブロック群iに対して実行されるデータ埋め込み処理に相当する。すなわち、ステップS12〜S20は、ペアブロック群1〜8のそれぞれに対して実行される。
ステップS12では、埋め込みデータiが設定される。ステップS13では、変数nが初期化される。変数nは、ペアブロック群iの中のペアブロックを識別する。ステップS14では、ペアブロック群iの中のn番目のペアブロックの濃度データが取得される。すなわち、n番目のペアブロックに属する2つのブロックの平均濃度が取得される。ステップS15では、上記2つのブロックの平均濃度を比較することにより、ビット判定が行われる。この例では、「D(L)<D(R)」であれば「0」と判定され、「D(L)≧D(R)」であれば「1」と判定される。なお、D(L)は、ペアブロックを構成する2つのブロックのうちの左側のブロックの平均濃度を表す。また、D(R)は、ペアブロックを構成する2つのブロックのうちの右側のブロックの平均濃度を表す。
ステップS16では、埋め込みデータiのn番目のビットが、ステップS15の判定結果に一致しているかチェックする。n番目のビットが判定結果に一致していれば(ステップS16:Yes)、対象ペアブロック(すなわち、ペアブロック群iのn番目のペアブロック)に属する2つのブロックの濃度を保持する。一方、n番目のビットが判定結果に一致していなければ(ステップS16:No)、ステップS17において、上記2つのブロックの平均濃度の差が、予め決められている上限閾値と比較される。そして、平均濃度の差が上限閾値以下であれば、ステップS18において、濃度変更処理が実行される。
濃度変更処理において、対象ペアブロックに「0」を埋め込む場合(「D(L)<D(R)」を実現する場合)、下記の処理が実行される。
D’(L)=(D(L)+D(R))/2−ΔD
D’(R)=(D(L)+D(R))/2+ΔD
また、対象ペアブロックに「1」を埋め込む場合(「D(L)≧D(R)」を実現する場合)、下記の処理が実行される。
D’(L)=(D(L)+D(R))/2+ΔD
D’(R)=(D(L)+D(R))/2−ΔD
D’(L)は、濃度変更後の左側のブロックの平均濃度を表し、D’(R)は、濃度変更後の右側のブロックの平均濃度を表す。ΔDは、予め決められた定数であり、正の値である。ここで、ΔDを大きくすれば、後述する画像コード復号処理におけるコード認識精度が高くなるが、ΔDを大きくし過ぎると画質が劣化する。反対に、ΔDを小さくすると、画質の劣化が抑えられるが、ΔDを小さくし過ぎるとコード認識精度が低下する。よって、ΔDは、認識精度および画質の双方を考慮して適切に決定することが好ましい。なお、対象ブロックの平均濃度を変更する処理は、例えば、対象ブロックに属する各画素の濃度をそれぞれ同じレベルだけ高くまたは低くする処理により実現される。
平均濃度差が上限閾値を越えていたときは(ステップS17:No)、ステップS18はスキップされる。ここで、例えば、D(L)<D(R)であり、その濃度差が上限閾値を越えているものとする。そして「D(L)≧D(R)」を実現するために、D(L)またはD(R)の少なくとも一方を変更するものとする。しかし、このケースでは、D’(L)とD(L)との差異が大きく、また、D’(R)とD(R)との差異も大きくなってしまう。すなわち、コード埋め込み後の対象ペアブロックの画像は、原画像とは大きく異なってしまう。したがって、平均濃度差が上限閾値を越えていたときは、画質の劣化を抑えるために、ステップS18はスキップされる。
ステップS19では、変数nがインクリメントされる。ステップS20では、変数nが上限値nendを越えたか否かがチェックされる。上限値nendは、図4に示す例では、16である。変数nが上限値nendを越えていれば、ステップS21が実行される。一方、変数nが上限値nend以下であれば、ステップS14に戻って次のペアブロックについて同様の処理を繰り返す。なお、ペアブロック群iに属する各ペアブロックに対してステップS12〜S20を実行することにより、ペアブロック群iに対応するコード埋め込み画像データが生成される。
ステップS21では、すべてのペアブロック群についてステップS12〜S20の処理が実行されたかがチェックされる。処理が実行されていないペアブロック群が残っている場合には、ステップS22において、変数iがインクリメントされる。この後、次にペアブロック群に対してステップS12〜S20が実行される。一方、すべてのペアブロック群について処理が終了していれば、ステップS23において、生成されたコード埋め込み画像データが出力される。
このように、実施形態の画像コード化装置は、画像データにコード1およびコード2を埋め込む。このとき、コード1は、コード2に対するシフト量として画像データに埋め込まれる。したがって、実施形態の画像コード化方法によれば、画像に埋め込むコードの桁数を増やすことができる。また、コードの桁数を増やすために各ブロックのサイズを小さくする必要がないので、画像デコーダにおける認識精度が低下することはない。
なお、シフト量の組合せは「(各ペアブロック群に属するブロック数)の(ペアブロック群の数−1)乗」であり、上述の例では「16の7乗」である。すなわち、「16の7乗」に相当する桁数だけ、画像に埋め込むコードの情報量を増やすことができる。
また、すべてのペアブロック群1〜8のシフト量をゼロに設定すれば、図1を参照しながら説明した方法と同様の形式のコード埋め込み画像データが生成される。この場合、デコーダは、各ペアブロック群1〜8のシフト量を考慮することなく、画像データからコードを抽出することができる。すなわち、各ペアブロック群1〜8のシフト量を考慮する機能を備えないデコーダに対しては、すべてのペアブロック群1〜8のシフト量をゼロに設定すればよい。反対に、上記機能を備えないデコーダにおいて埋め込みコードの認識を禁止する場合には、各ペアブロック群1〜8に対して適切なシフト量を与えればよい。
<画像コード復号処理>
図8は、実施形態の画像コード復号装置の構成を示す図である。画像コード復号装置20は、ブロック分割部21、ペアブロック群抽出部22、特徴量算出部23、コード抽出部24、シフト補正部25、コード決定部26を備え、入力画像データからコードを抽出する機能を備える。すなわち、画像コード復号装置20は、入力画像からその画像に埋め込まれているコードを抽出する画像処理装置である。なお、画像コード復号装置20に入力される画像データは、例えば、図2〜図7を参照しながら説明した画像コード化装置1により生成されるコード埋め込み画像データである。
ブロック分割部21は、入力画像データを複数のブロックに分割する。このとき、ブロック分割部21は、画像コード化装置1が備えるブロック分割部2と同じ分割処理を実行する。したがって、この例では、入力画像データは、16×16ブロックに分割される。
ペアブロック群抽出部22は、複数のブロックに分割された画像データから、同数のペアブロックを有する複数のペアブロック群を抽出する。このとき、ペアブロック群抽出部22は、画像コード化装置1が備えるペアブロック群作成部11により作成された各ペアブロック群を抽出する。したがって、画像コード化装置1により生成されるコード埋め込み画像データが画像コード復号装置20に入力されると、ペアブロック群抽出部22は、図4に示すペアブロック群1〜8を抽出する。
特徴量算出部23は、ブロック分割部21により得られる各ブロックの特徴量を算出する。このとき、特徴量算出部23の動作は、画像コード化装置1が備える特徴量算出部3と同じである。したがって、この例では、特徴量算出部23は、入力画像データの各ブロックの平均濃度を算出する。
コード抽出部24は、各ペアブロックについてブロック間の特徴量の大小関係に対応する値を再生することにより、各ペアブロック群からそれぞれ対応するコードを抽出する。すなわち、コード抽出部24は、各ペアブロックについて、左側のブロックの平均濃度D(L)と右側のブロックの平均濃度D(R)とを比較する。この例では、「D(L)<D(R)」であれば「0」が再生され、「D(L)≧D(R)」であれば「1」が再生される。
図9は、コード抽出部24の動作を説明する図である。図9(a)では、入力画像データの各ブロックの平均濃度が示されている。ここで、コード抽出部24は、ペアブロックPB(1,1)に属する2つのブロックB(L,1,1)、B(R,1,1)の平均濃度を比較する。この例では、ブロックB(L,1,1)の平均濃度がB(R,1,1)よりも高いので、ペアブロックPB(1,1)についての判定結果は、図9(b)に示すように「1」である。続いて、コード抽出部24は、ペアブロックPB(2,1)に属する2つのブロックB(L,2,1)、B(R,2,1)の平均濃度を比較する。この例では、ブロックB(R,2,1)の平均濃度がB(L,2,1)よりも高いので、ペアブロックPB(2,1)についての判定結果は「0」である。同様に、コード抽出部24は、各ペアブロックに属する2つのブロックの平均濃度を比較し、各ペアブロックに埋め込まれている値を再生する。
コード抽出部24は、各ペアブロック群1〜8において、各ペアブロックに埋め込まれている値を再生することにより、各ペアブロック群1〜8に対応するコードを抽出する。以下、これらのコードを、抽出コード1〜8と呼ぶことがある。
図10(a)は、コード抽出部24により抽出された抽出コード1〜8の一例を示す図である。ここでは、画像コード化装置1により画像データに埋め込まれた埋め込みデータ1〜8が、誤認識または誤検出されることなく、正しく抽出されたものとする。
シフト補正部25は、ペアブロック群1〜8に対してそれぞれ与えられるシフト量に応じて、抽出コード1〜8をそれぞれ補正して候補コード1〜8を生成する。ここで、シフト補正部25に与えられるシフト量は、例えば、画像コード化装置1のシフト量割り当て部12において割り当てられる値と同じである。この場合、各ペアブロック群1〜8(すなわち、抽出コード1〜8)に対して与えられるシフト量は、以下の通りである。
ペアブロック群1(抽出コード1):0
ペアブロック群2(抽出コード2):2
ペアブロック群3(抽出コード3):0
ペアブロック群4(抽出コード4):1
ペアブロック群5(抽出コード5):8
ペアブロック群6(抽出コード6):0
ペアブロック群7(抽出コード7):10
ペアブロック群8(抽出コード8):4
図10(b)は、与えられたシフト量に応じて抽出コード1〜8を補正することにより生成された候補コード1〜8を示している。例えば、ペアブロック群1に対しては、シフト量として「0」が与えられている。この場合、シフト補正部25は、抽出コード1のデータ列を保持する(0ビットだけシフトさせる)。よって、候補コード1は「1010110101001010」である。
ペアブロック群2に対しては、シフト量として「2」が与えられている。この場合、シフト補正部25は、抽出コード2のデータ列の開始位置を2ビットだけシフトさせる。このとき、抽出コード2のデータ列の各ビットは、サイクリックにシフトされる。このように、シフト補正部15は、画像コード化装置1の埋め込みデータ割当て部13と類似の動作を行う。ただし、シフト補正部25によるシフトの方向は、埋め込みデータ割当て部13によるシフトの方向と逆である。すなわち、シフト補正部25は、埋め込みデータ割当て部13によりシフト処理を元に戻す補正を行う。この結果、シフト補正部25で行われるシフト補正により、抽出コード2の第3、4、5、...、16、1、2ビットが、それぞれ第1、2、3、...、14、15、16ビットに移動する。したがって、候補コード2は「1010110101001010」である。同様の方法により、ペアブロック群3〜8において、抽出コード3〜8が補正されて候補コード3〜8が生成される。
コード決定部26は、シフト補正部25により得られる候補コード1〜8に基づいて、画像データに埋め込まれているコードを決定する。このとき、コード決定部26は、多数決法でコードを決定する。
図11は、コード決定部26の動作を説明する図である。多数決法では、候補コード1〜8の各ビット(または、各桁)において、最も発生頻度の高い値が選択される。たとえば、図11(a)に示す例では、候補コード1〜8の第1ビットは、全て「1」である。この場合、多数決判定の結果は「1」である。また、候補コード1〜8の第2ビットは、すべて「0」である。この場合、多数決判定の結果は「0」である。以下同様に、第3〜第16ビットについての多数決判定が行われ、入力画像データから抽出したコードが決定される。
この例では、コード決定部26により「1010110101001010」が得られている。このデータ列は、画像コード化装置1において画像データに埋め込まれたコード2に相当する。すなわち、画像コード復号装置20は、画像コード化装置1において画像データに埋め込まれたコード2を抽出することができる。
なお、ペアブロックのブロック間で特徴量の差が小さいときは、コード抽出部24による判定結果が正しくないことがある。また、図7に示す方法で画像データにコードが埋め込まれる場合、ステップS17で「No」と判定された場合は、誤りビットが発生する。したがって、候補コード1〜8は、誤りビットを含むことがある。図11(b)に示す例では、候補コード3の第1ビットが誤っている。しかしながら、多数決法によれば、ビット誤りは吸収される。すなわち、図11(b)において、候補コード1〜8の第1ビットにおいて、「1」が7回発生し、「0」が1回発生している。この場合、多数決判定の結果は「1」であり、ビット誤りは吸収される。
このように、図8に示す画像コード復号装置20によれば、与えられたシフト量を利用して、画像コード化装置1により画像データに埋め込まれたコード2を抽出する。このとき、このシフト量は、画像コード化装置1で使用されたコード1に相当する。よって、シフト量を表すコード1を変えることにより、用途に応じて(或いは、特定の画像コード復号装置に対して)選択的に、コード2により表される情報を伝えることが可能になる。例えば、特定の事象に対する固有の識別情報(日付、位置情報、電話番号、商品コード等)が画像データに埋め込まれる場合には、異なる用途に対して同じ情報が埋め込まれることがある。このような場合、上述した固有の識別情報がコード2として画像データに埋め込まれ、コード1により用途が表されるようにしてもよい。
図12は、図2に示す画像コード化装置1および図8に示す画像コード復号装置20を備える画像処理システムの使用例を示す図である。ここでは、2つの原画像データ(コンサート入場券、サイン会入場券)に対して同じコード(123456)が埋め込まれる。このコードは、例えば、コンサート入場券およびサイン会入場券を取得したユーザの会員IDである。また、このコードは、この例では、誤り訂正コードを含んでいる。例えば、画像データに埋め込まれるコードが16ビットである場合、特に限定されるものではないが、上位10ビットがユーザIDであり、下位6ビットが誤り訂正コードである。なお、誤り訂正コードは、特に限定されるものではないが、例えば、リードソロモンコードまたはBCHを採用してもよい。
画像コード化装置1は、コンサート入場券にコードを埋め込む際には、シフト量として「0x20180a4」を使用する。これにより、コード埋め込み画像データAが生成される。また、画像コード化装置1は、サイン会入場券にコードを埋め込む際には、シフト量として「0x0000000」を使用する。これにより、コード埋め込み画像データBが生成される。このとき、画像コード化装置1は、図6および図7に示す方法で画像データにコードを埋め込む。
コンサート会場には、画像コード復号装置20Aが設けられている。ここで、画像コード復号装置20Aには、コンサート入場券に埋め込まれているコードを抽出するために、シフト量情報「0x20180a4」が与えられている。そして、画像コード復号装置20Aは、画像データが入力されると、与えられたシフト量を利用してコードを抽出する。
コンサート会場において、ユーザが、コンサート入場券を提示するものとする。これにより、画像コード復号装置20Aにコード埋め込み画像データAが入力される。そうすると、コード抽出部24は複数のコード(抽出コード1〜8)を抽出し、シフト補正部25は与えられたシフト量に応じて各コードを補正し、コード決定部26は多数決法でコードを決定する。そして、画像コード復号装置20Aは、上述の方法で決定されたコードに対して誤り訂正処理を実行する。このとき、画像コード化装置1でコンサート入場券にコードを埋め込むために使用されたシフト量(0x20180a4)と、画像コード復号装置20Aに与えられたシフト量(0x20180a4)は互いに一致している。このため、誤り訂正手順において誤りは検出されず、コンサート入場券に埋め込まれたコードは正しく認識される。
コンサート会場において、ユーザが、誤ってサイン会入場券を提示すると、画像コード復号装置20Aには、コード埋め込み画像データBが入力される。ところが、画像コード化装置1でサイン会入場券にコードを埋め込むために使用されたシフト量(0x0000000)と、画像コード復号装置20Aに与えられたシフト量(0x20180a4)とは互いに異なっている。このため、誤り訂正手順において誤りが検出され、サイン会入場券に埋め込まれたコードは認識することができない。
同様に、サイン会会場には、画像コード復号装置20Bが設けられている。画像コード復号装置20Bには、サイン会入場券に埋め込まれているコードを抽出するために、シフト量情報「0x0000000」が与えられている。この場合、画像コード復号装置20Bは、サイン会入場券に埋め込まれたコードは正しく認識できるが、コンサート入場券に埋め込まれたコードは認識することができない。
図13は、他の実施形態の画像コード復号装置の構成を示す図である。図13に示す画像コード復号装置30の構成は、基本的には、図8に示す画像コード復号装置20と同じである。ただし、画像コード復号装置30は、ブロック分割部21、ペアブロック群抽出部22、特徴量算出部23、コード抽出部24、シフト補正部25、コード決定部26に加えて、シフト量検出部27を備える。シフト量検出部27は、各ペアブロック群1〜8から抽出される抽出コード1〜8のシフト量を検出する。
図14は、シフト量検出部27の動作を説明する図である。ここでは、コード抽出部24によって図10(a)に示す抽出コード1〜8が得られているものとする。
シフト量検出部27は、基準抽出コードとして、例えば、ペアブロック群1から抽出された抽出コード1を選択する。なお、この例では、ペアブロック群1には、画像コード化装置1において、シフト量として「0」が割り当てられている。そして、シフト量検出部27は、他の抽出コード2〜8について、それぞれ抽出コード1に対するシフト量を検出する。
シフト量検出部27は、抽出コード1、2間の相関を計算する。コード間の相関は、互いに一致するビットの個数をカウントすることにより得られる。この例では、抽出コード1、2間の相関は「12」である。また、シフト量検出部27は、抽出コード1と、データ列の各ビットを1ビットだけシフトした抽出コード2との間の相関を計算する。この場合、相関値は「2」である。以下同様に、抽出コード2のデータ列のシフト量を順番に増やしながら、それぞれ相関を計算する。この結果、抽出コード2のシフト量=2、3、...、15であるときに、抽出コード1との間の相関は、それぞれ「16」「2」...「2」となる。
そして、シフト量検出部27は、検出結果として、相関が最大となるときのシフト量を出力する。この例では、抽出コード2のシフト量として「2」が出力される。さらに、抽出コード3〜8についても、同様に、抽出コード1との間の相関を計算することにより、対応するシフト量が検出される。なお、抽出コード1に対応するシフト量は、この例では「0」である。
シフト量検出部27により検出されたシフト量は、シフト補正部25に与えられる。そうすると、シフト補正部25は、図8に示す画像コード復号装置20と同様に、各抽出コード1〜8を補正することにより候補コード1〜8を生成する。そして、コード決定部26は、候補コード1〜8に基づいて、多数決法で、画像データに埋め込まれていたコードを決定する。
なお、上述の実施例では、シフト量検出部27がシフト量を検出し、シフト補正部25がそのシフト量に従って補正を行うが、実施形態の画像コード復号装置30はこの構成に限定されるものではない。すなわち、シフト量検出部27がシフト補正部25の機能を備えていてもよい。例えば、図14に示す例では、抽出コード1、2間の相関は、抽出コード2を2ビットだけシフトしたときに最大になる。この場合、シフト量検出部27は、抽出コード2に対応するシフト量として「2」を出力すると共に、抽出コード2の補正結果として、抽出コード2を2ビットだけシフトすることで得られるデータ列を出力するようにしてもよい。なお、この構成であっても、画像コード復号装置30は、「各ペアブロック群から抽出されるコードのシフト量を検出する検出部」および「各ペアブロック群に対応するシフト量に応じて、各ペアブロック群から抽出されるコードをそれぞれ補正して候補コードを生成する補正部」を備えている。
図15は、図2に示す画像コード化装置1および図13に示す画像コード復号装置30を備える画像処理システムの使用例を示す図である。ここでは、原画像データに埋め込まれる情報(すなわち、コード)は、「3365290012345678」である。そして、このコードは、「33562900(コード1)」および「12345678(コード2)」に分割されて原画像データに埋め込まれる。なお、コード1は、「20180a4(16進数)」に変換され、各桁の値がシフト量としてペアブロック群2〜8に与えられる。一方、コード2は、16ビットのコードデータに変換されて画像コード化装置1に与えられる。なお、画像コード化装置1は、上述の分割機能および変換機能を備えてもよい。
画像コード化装置1は、図6および図7に示す方法でコード1およびコード2を原画像データに埋め込むことにより、コード埋め込み画像データを生成する。このとき、コード1は、コード2をシフトさせるためのシフト量として使用される。
画像コード復号装置30は、画像コード化装置1により生成されたコード埋め込み画像データが入力されると、まず、図14を参照して説明した方法で、各ペアブロック群のシフト量を検出する。この例では、ペアブロック群2〜8のシフト量として「20180a4(16進数)」が検出される。続いて、画像コード復号装置30は、検出したシフト量を利用して、画像データに埋め込まれているコード2を抽出する。この例では、「12345678」が抽出される。さらに、画像コード復号装置30は、抽出したコード2に対して誤り訂正手順を実行する。そして、この手順において誤りが検出されなければ、画像データから抽出したコード2が正しく認識されたと判断し、また、検出したシフト量からコード1を認識する。
このように、図13に示す画像コード復号装置30によれば、コード1およびコード2をそれぞれ認識することができる。すなわち、画像コード復号装置30を使用する画像処理システムにおいては、コード1およびコード2として所望の情報を画像データに埋め込むことが可能になる。したがって、図1に示す方法と比較すると、ブロックサイズを小さくすることなく、画像データに埋め込むコードの情報量を増やすことができる。換言すれば、この実施形態の方法によれば、図1に示す方法と比較して、認識精度を下げることなく、画像データに埋め込む情報量が増大する。
<他の実施形態>
実施形態の画像処理方法では、各ブロックの特徴量を利用してエンコード/デコードが行われるが、ブロック全体の特徴量を利用してもよいし、ブロックの一部の領域の特徴量を利用してもよい。すなわち、例えば、各ブロックの中央領域の濃度の平均を利用してエンコード/デコードが行われてもよい。この方法によれば、ブロック全体の平均濃度を用いた場合と比べて、濃度変更処理にかかる処理量が少なくなる。
実施形態の方法において、カラー画像が処理される場合には、例えば、カラー画像を明度に変換したグレースケール画像(白黒画像)に対してコードを埋め込む方法、カラー画像における三原色(シアン、マゼンダ、イエロー)の色成分の中のいずれかの成分(例えば、黄色成分)にコードを埋め込む方法が考えられる。後者の方法によれば、コードを埋め込むために濃度を変更しても人間の目で見分けがつきにくいという利点がある。
また、上述の例では、画像(ブロック)の特徴量として平均濃度が使用されているが、実施形態の画像処理はこれに限定されるものではない。すなわち、特徴量は、例えば、粒状度、彩度、濃度重心、分散等であってもよい。さらに、特徴量(平均濃度、粒状度、彩度、濃度重心、分散等)を所定のルールに基づいて変換することで得られる他のパラメータを用いてエンコード/デコードが行われてもよい。
なお、本発明の実施形態は、図2〜図15を参照しながら説明した構成および方法に限定されるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含む。また、本特許出願に記載の構成および手順は、互いに矛盾のない限りにおいて、任意に組み合わせて使用してもよい。
<画像処理装置のハードウェア構成>
図16は、画像処理装置(画像コード化装置1および画像コード復号装置20、30)のハードウェア構成を示す図である。図16において、CPU101は、メモリ103を利用して画像処理プログラムを実行することにより、実施形態の画像処理方法を提供する。記憶装置102は、例えばハードディスクであり、画像処理プログラムを格納する。なお、記憶装置102は、外部記録装置であってもよい。メモリ103は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
読み取り装置104は、CPU101の指示に従って可搬型記録媒体105にアクセスする。可搬性記録媒体105は、例えば、半導体デバイス、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース106は、CPU101の指示に従って、ネットワークを介してデータを送受信する。入出力装置107は、例えば、ユーザからの指示を受け付けるデバイス等に相当する。
実施形態に係わる画像処理プログラムは、例えば、下記の形態で提供される。
(1)記憶装置102に予めインストールされている。
(2)可搬型記録媒体105により提供される。
(3)プログラムサーバ110からダウンロードする。
そして、上記構成のコンピュータで画像処理プログラムを実行することにより、実施形態に係わる画像処理装置が実現される。すなわち、上記構成のコンピュータで画像処理プログラムを実行することにより、画像コード化装置1が備えるブロック分割部2、特徴量算出部3、エンコード部4(ペアブロック群作成部11、シフト量割り当て部12、埋め込みデータ割当て部13、特徴量調整部14)の一部または全部が実現される。また、画像処理プログラムを実行することにより、画像コード復号装置20、30が備えるブロック分割部21、ペアブロック群抽出部22、特徴量算出部23、コード抽出部24、シフト補正部25、コード決定部26、シフト量検出部27の一部または全部が実現される。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
画像データにコードを埋め込む画像処理装置であって、
画像データを複数のブロックに分割する分割部と、
各ブロックの特徴量を利用して前記画像データに第1のコードおよび第2のコードを埋め込むエンコード部、を備え、
前記エンコード部は、
前記画像データにおいて、同数のペアブロックを有する複数のペアブロック群を作成する作成部と、
前記第1のコードに基づいて、各ペアブロック群に対してそれぞれ対応するシフト量を割り当てる第1の割当て部と、
各ペアブロック群に対して、それぞれ、前記第2のコードを対応するシフト量だけシフトさせることにより生成される埋め込みデータを割り当てる第2の割当て部と、
各ペアブロック群において、対応する埋め込みデータに基づいて、各ペアブロックに属する2つのブロックの特徴量を調整する調整部、を有する
ことを特徴とする画像処理装置。
(付記2)
付記1に記載の画像処理装置であって、
前記複数のブロックのそれぞれについて特徴量を算出する算出部をさらに備え、
前記調整部は、
ペアブロックに属する第1および第2のブロックの特徴量の大小関係が、対応する埋め込みデータの対応するビットにより表される関係に一致するときは、前記第1および第2のブロックの特徴量を維持し、
ペアブロックに属する第1および第2のブロックの特徴量の大小関係が、対応する埋め込みデータの対応するビットにより表される関係に一致しないときは、前記対応する埋め込みデータの対応するビットにより表される関係に一致するように、前記第1および第2のブロックの特徴量の少なくとも一方を調整する
ことを特徴とする画像処理装置。
(付記3)
画像データに埋め込まれたコードを抽出する画像処理装置であって、
画像データを複数のブロックに分割する分割部と、
前記画像データから同数のペアブロックを有する複数のペアブロック群を抽出する抽出部と、
前記複数のブロックのそれぞれについて特徴量を算出する算出部と、
各ペアブロックについてブロック間の特徴量の大小関係に対応する値を再生することにより、各ペアブロック群からそれぞれ対応するコードを抽出するコード抽出部と、
各ペアブロック群に対応するシフト量に応じて、各ペアブロック群から抽出されるコードを補正して候補コードを生成する補正部と、
前記補正部により生成される複数の候補コードに基づいて、前記画像データに埋め込まれているコードを決定する決定部、
を有する画像処理装置。
(付記4)
付記3に記載の画像処理装置であって、
各ペアブロック群から抽出されるコードのシフト量を検出する検出部をさらに備え、
前記補正部は、前記検出部により検出されるシフト量に応じて、各ペアブロック群から抽出されるコードをそれぞれ補正する
ことを特徴とする画像処理装置。
(付記5)
付記4に記載の画像処理装置であって、
前記検出部は、各ペアブロック群から抽出されるコード間の相関を利用して、前記シフト量を検出する
ことを特徴とする画像処理装置。
(付記6)
付記5に記載の画像処理装置であって、
前記検出部は、前記複数のペアブロック群の中の第1のペアブロック群から抽出されるコードに対して、前記複数のペアブロック群の中の第2のペアブロック群から抽出されるコードを1ビットずつシフトしてゆき、それら2つのコード間の相関が最大となるシフト量を検出する
ことを特徴とする画像処理装置。
(付記7)
画像データにコードを埋め込む画像処理方法であって、
画像データを複数のブロックに分割し、
前記画像データにおいて同数のペアブロックを有する複数のペアブロック群を作成し、
第1のコードに基づいて、各ペアブロック群に対してそれぞれ対応するシフト量を割り当て、
各ペアブロック群に対して、それぞれ、第2のコードを対応するシフト量だけシフトさせることにより生成される埋め込みデータを割り当て、
各ペアブロック群において、対応する埋め込みデータに基づいて、各ペアブロックに属する2つのブロックの特徴量を調整する
ことを特徴とする画像処理方法。
(付記8)
画像データに埋め込まれたコードを抽出する画像処理方法であって、
画像データを複数のブロックに分割し、
前記画像データから同数のペアブロックを有する複数のペアブロック群を抽出し、
前記複数のブロックのそれぞれについて特徴量を算出し、
各ペアブロックについてブロック間の特徴量の大小関係に対応する値を再生することにより、各ペアブロック群からそれぞれ対応するコードを抽出し、
各ペアブロック群に対応するシフト量に応じて、各ペアブロック群から抽出されるコードを補正して候補コードを生成し、
前記候補コードに基づいて、前記画像データに埋め込まれているコードを決定する
ことを特徴とする画像処理方法。
(付記9)
コンピュータに、
画像データを複数のブロックに分割するステップ、
前記画像データにおいて同数のペアブロックを有する複数のペアブロック群を作成するステップ、
第1のコードに基づいて、各ペアブロック群に対してそれぞれ対応するシフト量を割り当てるステップ、
各ペアブロック群に対して、それぞれ、第2のコードを対応するシフト量だけシフトさせることにより生成される埋め込みデータを割り当てるステップ、
各ペアブロック群において、対応する埋め込みデータに基づいて、各ペアブロックに属する2つのブロックの特徴量を調整するステップ
を実行させる画像処理プログラム。
(付記10)
コンピュータに、
画像データを複数のブロックに分割するステップ、
前記画像データから同数のペアブロックを有する複数のペアブロック群を抽出するステップ、
前記複数のブロックのそれぞれについて特徴量を算出するステップ、
各ペアブロックについてブロック間の特徴量の大小関係に対応する値を再生することにより、各ペアブロック群からそれぞれ対応するコードを抽出するステップ、
各ペアブロック群に対応するシフト量に応じて、各ペアブロック群から抽出されるコードを補正して候補コードを生成するステップ、
前記候補コードに基づいて、前記画像データに埋め込まれているコードを決定するステップ
を実行させる画像処理プログラム。
1 画像コード化装置
2 ブロック分割部
3 特徴量算出部
4 エンコード部
11 ペアブロック群作成部
12 シフト量割り当て部
13 埋め込みデータ割り当て部
14 特徴量調整部
20、30 画像コード復号装置
21 ブロック分割部
22 ペアブロック群抽出部
23 特徴量算出部
24 コード抽出部
25 シフト補正部
26 コード決定部
27 シフト量検出部

Claims (3)

  1. 画像データに埋め込まれたコードを抽出する画像処理装置であって、
    画像データを複数のブロックに分割する分割部と、
    前記画像データから同数のペアブロックを有する複数のペアブロック群を抽出する抽出部と、
    前記複数のブロックのそれぞれについて特徴量を算出する算出部と、
    各ペアブロックについてブロック間の特徴量の大小関係に対応する値を再生することにより、各ペアブロック群からそれぞれ対応するコードを抽出するコード抽出部と、
    前記コード抽出部により抽出される複数のコードにおいて、コード間でのビット毎の相関を利用して、各コードのシフト量を検出する検出部と、
    前記検出部により検出されるシフト量に応じて、各ペアブロック群から抽出されるコードを補正して候補コードを生成する補正部と、
    前記補正部により生成される複数の候補コードに基づいて、前記画像データに埋め込まれているコードを決定する決定部と、
    を有する画像処理装置。
  2. 前記検出部は、前記複数のペアブロック群の中の第1のペアブロック群から抽出されるコードに対して、前記複数のペアブロック群の中の第2のペアブロック群から抽出されるコードを1ビットずつシフトしてゆき、それら2つのコード間の相関が最大となるシフト量を検出する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 画像データに埋め込まれたコードを抽出する画像処理方法であって、
    画像データを複数のブロックに分割し、
    前記画像データから同数のペアブロックを有する複数のペアブロック群を抽出し、
    前記複数のブロックのそれぞれについて特徴量を算出し、
    各ペアブロックについてブロック間の特徴量の大小関係に対応する値を再生することにより、各ペアブロック群からそれぞれ対応するコードを抽出し、
    抽出される複数のコードにおいて、コード間でのビット毎の相関を利用して、各コードのシフト量を検出し、
    検出される前記シフト量に応じて、各ペアブロック群から抽出されるコードを補正して候補コードを生成し、
    前記候補コードに基づいて、前記画像データに埋め込まれているコードを決定する
    ことを特徴とする画像処理方法。
JP2009243022A 2009-10-22 2009-10-22 画像処理装置、画像処理方法、および画像処理プログラム Active JP5310477B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009243022A JP5310477B2 (ja) 2009-10-22 2009-10-22 画像処理装置、画像処理方法、および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009243022A JP5310477B2 (ja) 2009-10-22 2009-10-22 画像処理装置、画像処理方法、および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2011091594A JP2011091594A (ja) 2011-05-06
JP5310477B2 true JP5310477B2 (ja) 2013-10-09

Family

ID=44109433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009243022A Active JP5310477B2 (ja) 2009-10-22 2009-10-22 画像処理装置、画像処理方法、および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP5310477B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6390155B2 (ja) * 2014-05-08 2018-09-19 富士ゼロックス株式会社 色変換プログラム及び色変換装置
JP6446837B2 (ja) * 2014-05-28 2019-01-09 株式会社デンソー 映像信号処理装置及び診断プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546139B1 (en) * 1998-10-07 2003-04-08 Sony Corporation Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal
JP3784781B2 (ja) * 2003-05-20 2006-06-14 富士通株式会社 画像データ処理装置、画像データ処理方法、画像データ処理プログラムおよび画像データ処理システム

Also Published As

Publication number Publication date
JP2011091594A (ja) 2011-05-06

Similar Documents

Publication Publication Date Title
US7471838B2 (en) Image data processing apparatus, image data processing method, and computer readable medium
US8363889B2 (en) Image data processing systems for hiding secret information and data hiding methods using the same
JP4035717B2 (ja) 画像処理装置及び画像処理方法
JP2003209678A (ja) 情報処理装置及びその制御方法
JP4260781B2 (ja) 情報埋め込み装置、情報埋め込み方法および情報埋め込みプログラム
JP2007089078A (ja) エンコード可否判定装置、エンコード可否判定方法およびエンコード可否判定プログラム
JP5310477B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP4371026B2 (ja) プリントシステムおよびプリンタ
JP2004363990A (ja) 画像改ざん検知装置およびその保存データの復元方法
JP2007306513A (ja) 画像データの圧縮方法および装置
KR101454208B1 (ko) 하프톤 영상 인코딩 및 디코딩 방법 및 장치
Han et al. Adaptive±1 steganography in extended noisy region
JP2006191665A (ja) 画像データ処理装置、画像データ処理方法および画像データ処理プログラム
JP2006060856A (ja) 画像データ処理装置、画像データ処理方法および画像データ処理プログラム
JP2006330930A (ja) カラーコードの作成及び読取り方法と装置
JP4179177B2 (ja) 画像処理装置および画像処理方法
Kin-Cleaves et al. Reducing coding loss with irregular syndrome trellis codes
JP4575873B2 (ja) 画像処理装置
JP4635814B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2006246508A (ja) 画像処理装置、画像処理装置の制御方法、プログラム及び記憶媒体
JP4529681B2 (ja) 画像データの圧縮方法および装置
JP2000032251A (ja) 画像処理装置及びその方法
JP2006080722A (ja) 符号画像生成装置
JP2011211411A (ja) エンコード装置、エンコード方法及びエンコードプログラム
JP2008219515A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130507

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5310477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150