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

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

Info

Publication number
JP2011097318A
JP2011097318A JP2009248578A JP2009248578A JP2011097318A JP 2011097318 A JP2011097318 A JP 2011097318A JP 2009248578 A JP2009248578 A JP 2009248578A JP 2009248578 A JP2009248578 A JP 2009248578A JP 2011097318 A JP2011097318 A JP 2011097318A
Authority
JP
Japan
Prior art keywords
image
block
data
unit
blocks
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.)
Withdrawn
Application number
JP2009248578A
Other languages
English (en)
Inventor
Genta Suzuki
源太 鈴木
Nobuyasu Yamaguchi
伸康 山口
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 JP2009248578A priority Critical patent/JP2011097318A/ja
Publication of JP2011097318A publication Critical patent/JP2011097318A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】データが埋め込まれている画像から所望の領域を容易に切り出すための画像処理技術を提供する。
【解決手段】画像処理装置は、画像を複数のブロックに分割する分割部と、前記画像を複数の画像領域に区切るための境界情報に応じて決まるブロックに対して、埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に、他のブロックに対して前記埋め込みデータの対応するビットを割り当てる割当て部と、前記割当て部によりそれぞれ割り当てられたビットの値に基づいて、各ブロックの特徴量を調整する調整部、を有する。
【選択図】図4

Description

本発明は、画像処理装置、画像処理方法、および画像処理プログラムに係わる。
近年、コンピュータの普及により、多くの文書が電子的に作成されている。電子的に作成された文書(電子文書)は、保存、管理、検索が容易である等の利点を有している。
しかし、コンピュータ等の操作に不慣れなユーザにとっては、キーボードを使用する文字入力は煩わしい作業である。また、簡単なメモ書きや、署名/押印などをする場合は、紙を使用する方が便利なこともある。このため、紙等に筆記(押印などを含む)された情報を電子カメラまたはスキャナを用いて撮影し、撮影により得られた画像データを電子的に保存/参照する方法が提案されている。
図1は、カメラで撮影された画像の一例を示す図である。ここでは、紙面に印刷されたカレンダの一部(1日分の日付領域)が撮影されている。日付領域内には、予め、日付情報(日付および曜日)が印刷されている。また、この例では、日付領域内に、ユーザにより手書メモが書き込まれている。
上述のようにして得られる画像データを保存する際には、その画像データに参照情報が付加されていると便利なことがある。例えば、図1に示す例では、画像データと共に「10月1日のスケジュール」を表す参照情報が保存される。この場合、参照情報を利用して検索を行えば、所望の情報を容易に得ることができる。
上述の参照情報は、例えば、ステガノグラフィにより、カレンダの日付領域に予め埋め込まれる。この場合、カレンダの日付領域を撮影し、取得した画像データをデコードすれば、参照情報が抽出される。なお、ステガノグラフィは、データ隠蔽技術の1つであり、視覚的に認識されない或いは認識されにくいように、画像に所望のデータまたはコードを埋め込むことができる。
ステガノグラフィを実現する画像データ処理装置は、例えば、ブロック分割部、平均化部、及びエンコード部を備える。ブロック分割部は、原画像データを複数のブロック(M×N)に分割する。平均化部は、各ブロックの平均濃度を算出する。エンコード部は、各ペアブロック(互いに隣接する2つのブロック)に対して、ブロック間の平均濃度の大小関係に基づいて1ビットのデータを割り当てる。画像デコーダは、各ブロックの特徴量を検出し、各ペアブロックの特徴量を比較することにより、画像に埋め込まれているコードを認識する。この画像データ処理方法は、例えば、特許文献1に記載されている。
特開2004−349879号公報
カメラ撮影により得られる画像データを保存する際に、一部の領域の画像データのみを保存したいことがある。例えば、図1に示す例において、日付領域全体の画像データを保存するのではなく、ユーザによりメモが筆記された領域(切り出し画像)の画像データのみを保存する方が便利な場合がある。
しかし、従来技術においては、データが埋め込まれている画像から所望の領域を容易に切り出す方法は提案されていない。
本発明の課題は、データが埋め込まれている画像から所望の領域を容易に切り出すための画像処理技術を提供することである。
本発明の1つの態様の画像処理装置は、画像を複数のブロックに分割する分割部と、前記画像を複数の画像領域に区切るための境界情報に応じて決まるブロックに対して、埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に、他のブロックに対して前記埋め込みデータの対応するビットを割り当てる割当て部と、前記割当て部によりそれぞれ割り当てられたビットの値に基づいて、各ブロックの特徴量を調整する調整部、を有する。
本発明の他の態様の画像処理装置は、画像コード化装置において、画像を複数のブロックに分割し、境界情報に応じて決まるブロックに対して埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に他のブロックに対して前記埋め込みデータの対応するビットを割り当て、それぞれ割り当てられたビットの値に基づいて各ブロックの特徴量を調整する、ことにより生成される画像データを処理する画像処理装置であって、前記画像データにより表される画像を複数のブロックに分割する分割部と、各ブロックの特徴量に基づいて各ブロックに対して割り当てられているビットの値を判定する判定部と、前記判定部の判定結果を利用して前記埋め込みデータを検出するデータ検出部と、前記データ検出部により検出された埋め込みデータおよび前記判定部の判定結果を利用して、前記反転埋め込みデータが割り当てられているブロックを特定する特定部と、前記特定部により特定されたブロックの位置に基づいて、前記画像を複数の画像領域に区切るための境界位置を検出する境界検出部、を有する。
本出願において開示される構成または方法によれば、データが埋め込まれている画像から所望の領域を容易に切り出すことができる。
カメラで撮影された画像の一例を示す図である。 画像にデータを埋め込む方法を説明する図である。 多数決法で埋め込みデータを決定する方法を説明する図である。 第1の実施形態の画像コード化装置の構成を示す図である。 データ割当て部の動作を説明する図である。 第1の実施形態の画像コード復号装置の構成を示す図である。 データ検出部の動作を説明する図である。 印刷物の一例を示す図である。 日付領域の画像データを示す図である。 サブブロックを利用してデータを埋め込む方法を説明する図である。 第2の実施形態の画像コード化装置の構成を示す図である。 第2の実施形態において生成される画像コード化データを示す図である。 第2の実施形態の画像処理方法を示すフローチャート(その1)である。 第2の実施形態の画像処理方法を示すフローチャート(その2)である。 第3の実施形態において撮影される画像の一例を示す図である。 第3の実施形態の画像コード復号装置の構成を示す図である。 第3の実施形態において画像データを保存する処理を示すフローチャート(その1)である。 第3の実施形態において画像データを保存する処理を示すフローチャート(その2)である。 画像データを登録する処理を示すフローチャートである。 撮影された画像の座標を示す図である。 スケジューラにより表示される画像の例を示す図である。 画像処理装置(画像コード化装置および画像コード復号装置)のハードウェア構成を示す図である。
実施形態の画像処理は、画像にデータ(または、コード)を埋め込む処理、およびデータが埋め込まれた画像からそのデータを抽出する処理を含む。また、画像にデータを埋め込む処理を「画像コード化(または、エンコード)」と呼ぶことがあり、画像からデータを抽出する処理を「画像コード復号(または、デコード)」と呼ぶことがある。さらに、データが埋め込まれた画像データを「画像コード化データ」と呼ぶことがある。
<第1の実施形態>
図2は、第1の実施形態において画像にデータを埋め込む方法を説明する図である。第1の実施形態では、画像コード化装置は、原画像を複数のブロックに分割し、各ブロックにそれぞれ対応するビットを埋め込む。なお、原画像は、行方向および列方向に分割される。すなわち、原画像は、M行×N列に分割される。ここで、M、Nは、互いに同じであってもよいし、互いに異なっていてもよい。図2に示す例では、原画像は、16行×8列(16×8ブロック)に分割されている。
画像コード化装置は、原画像に同じデータを繰り返し埋め込む。原画像に埋め込まれるデータ(以下、埋め込みデータC)は、図2に示す例では、「1010110101001010」である。
埋め込みデータCは、埋め込みデータ1として、第1〜第2行のブロックに埋め込まれる。また、埋め込みデータCは、埋め込みデータ2として、第3〜第4行のブロックにも埋め込まれる。さらに、埋め込みデータCは、埋め込みデータ3〜8として、第5〜第16行のブロックにもそれぞれ埋め込まれる。このように、埋め込みデータCは、図2に示す例では、原画像の異なる8つの領域にそれぞれ埋め込まれる。
埋め込みデータ1〜8の各ビットは、ステガノグラフィにより、対応するブロックに埋め込まれる。ステガノグラフィは、この例では、各ブロックに割り当てられたビットの値に応じて、当該ブロックの特徴量(例えば、階調レベル)を調整することにより実現される。一例としては、各ブロックをそれぞれ1組のサブブロックに分割し、1組のサブブロックの特徴量の大小関係に基づいて「0」または「1」を表すことにより、各ブロックに所望の1ビットデータが埋め込まれる。
画像コード復号装置は、上述のようにして生成された画像データから埋め込みデータCを抽出する。このとき、画像コード復号装置は、各ブロックの特徴量に基づいて各ブロックに埋め込まれているビットの値を認識する。したがって、図2に示す画像データを復号することにより、埋め込みデータ1〜8が抽出される。ただし、復号処理により抽出される埋め込みデータ1〜8は、誤りビットを含んでいる可能性がある。したがって、以下の説明では、画像コード復号装置において抽出される埋め込みデータ1〜8を「候補データ1〜8」と呼ぶことにする。
画像コード復号装置は、図3に示すように、多数決法により、候補データ1〜8から埋め込みデータを決定する。多数決法では、候補データ1〜8の各ビットにおいて、最も発生頻度の高い値が選択される。例えば、図3に示す例では、候補データ1〜8の第1ビットは、すべて「1」である。この場合、埋め込みデータの第1ビットは「1」と判定される。また、候補データ1〜8の第2ビットにおいては、「0」が7回発生し、「1」が1回発生している。この場合、埋め込みデータの第2ビットは「0」と判定される。他のビットについても同様に多数決判定が行われる。この結果、画像コード化装置により画像に埋め込まれた埋め込みデータCが再生される。
このように、第1の実施形態では、ステガノグラフィにより、原画像に同じデータが繰り返し埋め込まれる。そして、作成された画像データを復号することにより、複数の候補データが抽出され、多数決法により埋め込みデータが決定される。
図4は、第1の実施形態の画像コード化装置の構成を示す図である。第1の実施形態の画像コード化装置10は、原画像にデータを埋め込む画像処理装置である。そして、画像コード化装置10は、ブロック分割部11、データ割当て部12、特徴量調整部13を備える。
画像コード化装置10に入力される原画像データは、所定のフォーマットで生成された画像データである。原画像データのフォーマットは、特に限定されるものではないが、例えばJPEG(Joint Photographic Expert Group)、GIF(Graphics Interchange Format)である。原画像データのサイズ(画素数)は、特に限定されるものではない。なお、原画像データは、例えば、コンピュータにより生成される。ただし、原画像データは、例えば、デジタルカメラ(または、電子カメラ)により生成されてもよい。或いは、原画像データは、スキャナを用いて紙面に印刷されている画像を読み込むことにより生成されてもよい。
ブロック分割部11は、原画像を複数のブロックに分割する。この例では、ブロック分割部11は、図5に示すように、原画像を16行×8列(16×8ブロック)に分割するものとする。
画像コード化装置10は、原画像に埋め込みデータCを埋め込む。埋め込みデータCは、この例では「1010110101001010」である。また、画像コード化装置10は、原画像から所望の画像領域を切り出すための境界情報を原画像に埋め込む。この例では、図5に示す画像において画像領域1が切り出されるものとする。画像領域1は、第4〜第16行に位置するブロックから構成される。この場合、画像コード化装置10には、第3行に沿って境界ラインを設定することを表す境界情報が与えられる。
データ割当て部12は、ブロック分割部11により生成された複数のブロックに埋め込みデータ1〜8を割り当てる。以下、図5を参照しながらデータ割当て部12の動作を説明する。
第1〜第2行に位置するブロックには、埋め込みデータ1として、埋め込みデータCの対応するビットが割り当てられる。したがって、第1行に位置する8個のブロックには、埋め込みデータCの第1〜第8ビット(すなわち「10101101」)が割り当てられる。また、第2行に位置する8個のブロックには、埋め込みデータCの第9〜第16ビット(すなわち「01001010」)が割り当てられる。
第3行には、境界情報により、境界ラインが設定されている。この場合、第3行に位置する8個のブロックには、埋め込みデータCの各ビットを反転することにより得られる反転埋め込みデータC’の対応するビットが割り当てられる。ここで、埋め込みデータCが「1010110101001010」であるので、反転埋め込みデータC’は「0101001010110101」である。したがって、第3行に位置する8個のブロックには、埋め込みデータC’の第1〜第8ビット(すなわち「01010010」)が割り当てられる。なお、第4行に位置する8個のブロックには、第2行と同様に、埋め込みデータCの第9〜第16ビット(すなわち「01001010」)が割り当てられる。
第5行〜第16行に位置するブロックには、第1〜第2行と同様に、埋め込みデータ3〜8として、埋め込みデータCの対応するビットが割り当てられる。すなわち、第5、第7、第9、第11、第13、第15行には、それぞれ「10101101」が割り当てられる。また、第6、第8、第10、第12、第14、第16行には、それぞれ「01001010」が割り当てられる。
このように、データ割当て部12は、ブロック分割部11により生成された複数のブロックに埋め込みデータ1〜8を割り当てる。すなわち、データ割当て部12は、境界情報に応じて決まるブロックに対して、反転埋込みデータC’の対応するビットを割り当てると共に、他のブロックに対しては埋込みデータCの対応するビットを割り当てる。
特徴量調整部13は、データ割当て部12によりそれぞれ割り当てられたビットの値に基づいて、各ブロックの特徴量を調整する。すなわち、「1」が割り当てられたブロックにおいては、「1」を表すように当該ブロックの特徴量が調整される。また、「0」が割り当てられたブロックにおいては、「0」を表すように当該ブロックの特徴量が調整される。これにより、各ブロックに対して割り当てられたビットの値が、それぞれそのブロックに埋め込まれ、埋め込みデータ1〜8が埋め込まれた画像データ(すなわち、画像コード化データ)が生成される。なお、特徴量調整部13により調整される特徴量は、特に限定されるものではないが、例えば、階調レベルである。
このように、画像コード化装置10は、原画像に所望のデータ(上述の例では、埋め込みデータC)を埋め込む。また、画像コード化装置10は、境界情報により指定される領域には、埋め込みデータCの代わりに反転埋め込みデータC’を埋め込む。
図6は、第1の実施形態の画像コード復号装置の構成を示す図である。画像コード復号装置20は、画像コード化データから埋め込みデータを抽出する画像処理装置である。この画像コード化データは、例えば、図4に示す画像コード化装置10により生成される。そして、画像コード復号装置20は、ブロック分割部21、判定部22、データ検出部23、特定部24、境界検出部25を備える。
ブロック分割部21は、入力画像データを複数のブロックに分割する。このとき、ブロック分割部21は、画像コード化装置10が備えるブロック分割部11と同じ分割処理を行う。したがって、この例では、入力画像データは、16×8ブロックに分割される。
判定部22は、ブロック分割部21により得られる各ブロックの特徴量を算出する。そして、判定部22は、各ブロックの特徴量に基づいて、各ブロックに対して割り当てられているビットの値を判定する。したがって、すべてのブロックについて上記判定を行うことにより、図5に示す埋め込みデータ1〜8が抽出される。ただし、画像コード復号装置20は、判定部22により抽出された埋め込みデータ1〜8に対して多数決処理を行うことにより、埋め込みデータを決定する。よって、判定部22により抽出された埋め込みデータ1〜8を、候補データ1〜8と呼ぶことにする。
データ検出部23は、判定部22の判定結果を利用して画像に埋め込まれているデータを検出する。すなわち、データ検出部23は、判定部22により得られる候補データ1〜8に対して多数決処理を行うことにより、埋め込みデータを決定する。多数決法では、候補データ1〜8の各ビットにおいて、最も発生頻度の高い値が選択される。
図7は、データ検出部23の動作を説明する図である。ここでは、候補データ1〜8として、図5に示す埋め込みデータ1〜8が再生されたものとする。すなわち、候補データ1、3〜8は、いずれも埋め込みデータCに相当する。また、候補データ2の第9〜第16ビットは、埋め込みデータCの第9〜第16ビットに相当する。これに対して、候補データ2の第1〜第8ビットは、反転埋め込みデータC’の第1〜第8ビットに相当する。
上記候補コード1〜8に対して多数決判定が行われる。そうすると、まず、第1ビットにおいては、「1」が7回発生し、「0」が1回発生している。したがって、第1ビットは「1」と判定される。続いて、第2ビットにおいては、「0」が7回発生し、「1」が1回発生している。したがって、第2ビットは「0」と判定される。以下同様に、第3〜第16ビットに対しても多数決判定が行われる。この結果、埋め込みデータC「1010110101001010」が再生される。
このように、画像コード化装置10において、画像の一部に反転埋め込みデータC’が埋め込まれていても、データ検出部23は、多数決処理により、埋め込みデータCを再生することができる。再生された埋め込みデータCは、入力画像に対応する参照情報として出力されると共に、特定部24にも送信される。
特定部24は、判定部22の判定結果を利用して反転埋め込みデータC’が割り当てられているブロックを特定する。すなわち、特定部24は、候補データ1〜8において、多数決判定により得られる判定結果データ(すなわち、埋め込みデータC)と一致しないデータ列をサーチする。図7に示す例では、判定結果データと一致しないビット列として、候補データ2の第1〜第8ビットが抽出される。ここで、候補データ2(すなわち、埋め込みデータ2)の第1〜第8ビットは、図5に示すように、第3行に位置するブロックに割り当てられている。したがって、この場合、反転埋め込みデータC’が割り当てられているブロックとして、第3行に位置するブロックが特定される。
境界検出部25は、特定部24により特定されたブロックに基づいて、原画像を複数の画像領域に区切るための境界ラインを検出する。この例では、第3行に位置するブロックが特定されている。したがって、この場合、第3行に沿って設定されている境界ラインが検出される。
このように、第1の実施形態では、画像に埋め込まれたデータを利用して、その画像を区切る境界ラインを検出することができる。ここで、このデータは、視覚的に認識されにくいように画像に埋め込まれる。したがって、実施形態の画像処理方法によれば、視覚的に認識されにくいように、画像内に境界情報を設定することができる。
なお、境界ラインを指定するための特定コード(例えば「11111111」)を画像に埋め込むようにしても、デコーダ側で境界を認識することは可能である。ただし、この場合は、埋め込みデータが特定コードに近いときは(例えば、「10111111」)、特定コードの第2ビットが誤って認識されると、境界ラインを誤検出してしまう。これに対して、実施形態の方法では、埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータを利用して境界ラインが設定される。この場合、反転埋め込みデータがデコーダに入力されたときに、すべてのビットが誤認識された場合に限って、埋め込みデータと反転埋め込みデータとが互いに一致する。換言すれば、一定の割合で抽出ビットの誤認識が発生するとしても、埋め込みデータと反転埋め込みデータとが互いに一致する確率は非常に低い。したがって、実施形態の画像処理方法によれば、特定コードを埋め込む方法と比較して、境界ラインを検出できない確率が低くなる。
<第2の実施形態>
図8は、印刷物の一例を示す図である。ここでは、紙面にカレンダが印刷されている。このカレンダでは、日付ごとに1つの日付領域31が設けられている。日付領域31の形状は、長方形である。また、各日付領域31には、予め、日付情報(日付および曜日)が印刷されている。
図9は、日付領域31の画像データを示す図である。日付領域31のサイズは、H×W画素である。すなわち、日付領域31の縦方向のサイズはH画素であり、日付領域31の横方向のサイズはW画素である。また、日付情報は、日付領域31の上部領域に印字されるように設定されている。さらに、メモ記入領域32は、日付領域31の中で日付情報が印刷されない領域である。なお、メモ記入領域32は、例えば、ユーザが手書きでメモ等を筆記するために使用される。
境界ライン33は、日付領域31からメモ記入領域32を切り出すための切出し位置を表している。また、境界ライン33は、日付領域31の上辺からB画素だけ離れた位置に日付領域31の上辺と平行に引かれている。なお、図9では、境界ライン33が破線で描かれているが、説明のために示したものであり、紙面に印刷されるものではない。
以下、図8および図9に示す日付領域31に所望のデータおよび境界ライン33を表す境界情報を埋め込む方法について説明する。すなわち、第2の実施形態は、画像コード化方法および画像コード化装置に係わる。
第2の実施形態では、各ブロックはそれぞれ1組のサブブロックから構成され、1組のサブブロックの特徴量を利用して「0」または「1」が表される。各サブブロックのサイズは、すべて同じである。図10に示す例では、ブロックB1は、1組のサブブロックSB1(L)、SB1(R)に分割され、ブロックB2は、1組のサブブロックSB2(L)、SB2(R)に分割されている。
1つのブロックに1ビットのデータを埋め込むためには、そのブロックを構成する1組のサブブロックの特徴量(この例では、平均濃度)が調整される。このとき、各サブブロックの特徴量は、例えば、与えられたデータに応じて下記のように調整される。
データ=0:D(L)<D(R)
データ=1:D(L)≧D(R)
なお、D(L)は、左側のサブブロックの特徴量を表し、D(R)は、右側のサブブロックの特徴量を表す。
例えば、ブロックB1に対して「1」が割り当てられたものとする。ここで、各サブブロックの特徴量は、予め算出されているものとする。そして、サブブロックSB1(L)、SB1(R)の特徴量が比較される。この結果、サブブロックSB1(L)の特徴量がサブブロックSB1(R)の特徴量よりも小さければ、サブブロックSB1(L)の特徴量がサブブロックSB1(R)の特徴量以上になるように、サブブロックSB1(L)、SB1(R)の少なくとも一方の特徴量が調整される。一方、サブブロックSB1(L)の特徴量がサブブロックSB1(R)の特徴量以上であれば、サブブロックSB1(L)、SB1(R)の特徴量はそのまま保持される。なお、本特許出願においては、特徴量を保持する処理は、特徴量を調整する処理に含まれるものとする。
また、ブロックB2に対して「0」が割り当てられたときは、下記の処理が行われる。すなわち、サブブロックSB2(L)の特徴量がサブブロックSB2(R)の特徴量よりも小さければ、サブブロックSB2(L)、SB2(R)の特徴量はそのまま保持される。一方、サブブロックSB2(L)の特徴量がサブブロックSB2(R)の特徴量以上であれば、サブブロックSB2(L)の特徴量がサブブロックSB2(R)の特徴量よりも小さくなるように、サブブロックSB2(L)、SB2(L)の少なくとも一方の特徴量が調整される。
図11は、第2の実施形態の画像コード化装置の構成を示す図である。第2の実施形態の画像処理装置40は、ブロック分割部41、ブロック抽出部42、平均化部43、レジスタ44L、44R、比較部45、エンコード部46を備える。そして、画像コード化装置40には、原画像データが入力される。また、画像コード化装置40には、コードCおよび反転コードC’が与えられる。コードCは、原画像に埋め込む情報を表すデータ列であり、第1の実施形態の埋め込みデータC「1010110101001010」に相当する。また、反転コードC’は、コードCの各ビットを反転することにより生成され、第1の実施形態の反転埋め込みデータC’に相当する。
ブロック分割部41は、第1の実施形態と同様に、画像データを複数のブロックに分割する。また、ブロック分割ブ41は、各ブロックを1組のサブブロックに分割する。このとき、ブロック分割部41は、画像データをいったん複数のブロックに分割した後に各ブロックをサブブロックに分割する必要はなく、画像データを複数のサブブロックに分割するようにしてもよい。
ブロック抽出部42は、ブロック分割部41により得られる複数のブロックから、処理対象のブロックを1つずつ順番に抽出する。すなわち、ブロック抽出部42は、処理対象の1組のサブブロックを抽出する。平均化部43は、ブロック抽出部42により抽出されたブロック(以下、対象ブロック)に属する各サブブロックの特徴量の平均を算出する。特徴量は、例えば、各画素の濃度(または、階調レベル)である。この場合、平均化部43は、対象ブロックに属する1組のサブブロックの平均濃度を算出する。
レジスタ44L、44Rは、平均化部43により算出された平均濃度情報を保持する。このとき、対象ブロックの左側のサブブロックの平均濃度情報がレジスタ44Lに書き込まれ、右側のサブブロックの平均濃度情報がレジスタ44Rに書き込まれる。
比較部45は、レジスタ44L、44Rを参照し、1組のサブブロックの平均濃度の大小関係に基づいて、対象ブロックの状態をチェックする。このとき、「D(L)<D(R)」であれば「0」と判定され、「D(L)≧D(R)」であれば「1」と判定される。なお、ここでは、D(L)は、左側のサブブロックの平均濃度を表し、D(R)は、右側のサブブロックの平均濃度を表す。
さらに、比較部45は、対象ブロックについての判定結果が、コードCの対応するビットの値と一致するか否かをチェックする。ただし、比較部45は、対象ブロックが図9に示す境界ライン33上に位置する場合には、対象ブロックについての判定結果が、反転コードC’の対応するビットの値と一致するか否かをチェックする。そして、比較部45は、対象ブロックについての判定結果が、コードCまたは反転コードC’の対応するビットの値と一致するか否かを表す比較結果情報を出力する。
エンコード部46は、比較部45から出力される比較結果情報に基づいて、対象ブロックに属するサブブロックの特徴量を調整する。すなわち、エンコード部46は、対象ブロックについての判定結果が「一致」であれば、各サブブロックの平均濃度を保持する。一方、対象ブロックについての判定結果が「不一致」であれば、エンコード部46は、各サブブロックの平均濃度を変更する。例えば、対象ブロックの状態が「D(L)<D(R)」であるときに、比較結果情報が「不一致」であれば、対象ブロックの状態が「D(L)≧D(R)」となるように、少なくとも一方のサブブロックの平均濃度が調整される。同様に、対象ブロックの状態が「D(L)≧D(R)」であるときに、比較結果情報が「不一致」であれば、対象ブロックの状態が「D(L)<D(R)」となるように、少なくとも一方のサブブロックの平均濃度が調整される。
エンコード部46は、ブロック分割部41により生成される全てのブロックについて、上述の処理を行う。この結果、原画像データにコードCおよび反転コードC’が埋め込まれる。
図12は、図11に示す画像コード化装置30により生成される画像コード化データを示す図である。ここで、原画像は、図8〜図9に示すカレンダの1つの日付領域31である。また、この例では、図9に示す境界ライン33は、原画像の第3行に位置する各ブロックを横切るように設定されている。したがって、原画像の第3行の各ブロックには、反転コードC’の対応するビット割り当てられている。また、他のブロックには、コードCの対応するビットが割り当てられている。
図13および図13Bは、第2の実施形態の画像処理方法を示すフローチャートである。このフローチャートの処理は、図11に示す画像コード化装置30により実行される。
ステップS1において、コードCが設定される。コードCは、原画像に埋め込まれるデータ列であり、上述の例では「1010110101001010」である。また、ステップS2において、反転コードC’が生成される。反転コードC’は、コードCの各ビットを反転することにより生成される。したがって、反転コードC’は、この例では「0101001010110101」である。
ステップS3において、変数nが初期化される。変数nは、コードC(または、反転コードC’)のビットを識別する。例えば、「n=1」は、コードCの第1ビットを表す。ステップS4において、原画像データが入力され、また、境界座標Bが入力される。境界座標Bは、図9に示すように、縦方向(または、Y方向)における境界ライン33の位置を指示する。
ステップS5において、ブロック分割部41は、入力画像データを複数のブロックに分割する。このとき、ブロック分割部41は、さらに、各ブロックを1組のサブブロックに分割する。ステップS6において、ブロック抽出部42は、変数nに対応するブロックを抽出する。以下、ステップS6で抽出されたブロックを「対象ブロック」と呼ぶことがある。
ステップS7〜S8において、平均化部43は、対象ブロックに属する1組のサブブロックの平均濃度を算出する。算出された平均濃度を表すデータは、レジスタ44L、44Rに格納される。ステップS9において、比較部45は、対象ブロックに属する1組のサブブロック間で平均濃度を比較することにより、対象ブロックの状態(0または1)を判定する。対象ブロックの状態を判定する方法は、例えば、図10を参照しながら説明した手順に従う。
ステップS10において、比較部45は、対象ブロックの画像領域が境界座標Bを含むか否かをチェックする。なお、画像コード化装置40は、画像データ上での各ブロックの位置(例えば、左上角の座標または中心座標)を管理している。また、各ブロックのサイズ(画素数)は、予め決められている。そして、比較部45は、対象ブロックの位置を参照し、対象ブロックの画像領域が境界座標Bを含むか否かをチェックする。
対象ブロックの画像領域が境界座標Bを含まなければ、対象ブロックは、境界ライン33によって横切られていないと判定され、ステップS11が実行される。一方、対象ブロックの画像領域が境界座標Bを含むときは、対象ブロックは、境界ライン33によって横切られていると判定され、ステップS12が実行される。
ステップS11において、比較部45は、コードCの第nビットの値と、ステップS9の判定結果とを比較する。ステップS9の判定結果がコードCの第nビットの値に一致するときは、ステップS14の濃度変更処理を実行することなく、ステップS15へ進む。一方、ステップS9の判定結果がコードCの第nビットの値に一致しないときは、ステップS13に進む。
ステップS12の処理は、基本的には、ステップS11と同じである。ただし、ステップS12では、比較部45は、反転コードC’の第nビットの値と、ステップS9の判定結果とを比較する。そして、ステップS9の判定結果が反転コードC’の第nビットの値に一致するときは、ステップS14の濃度変更処理を実行することなく、ステップS15へ進む。一方、ステップS9の判定結果が反転コードC’の第nビットの値に一致しなければ、ステップS13に進む。
ステップS13において、対象ブロックの1組のサブブロックの平均濃度の差が、予め決められている上限閾値と比較される。そして、平均濃度の差が上限閾値以下であれば、ステップS14において、エンコード部46により、濃度変更処理が実行される。エンコード部46は、対象ブロックの状態がコードCまたは反転コードC’の対応するビットの値に一致するように、サブブロックの平均濃度を調整する。
ステップS14において対象ブロックに「0」を埋め込む場合(「D(L)<D(R)」を実現する場合)、下記の処理が実行される。
D’(L)=(D(L)+D(R))/2−ΔD
D’(R)=(D(L)+D(R))/2+ΔD
ステップS14において対象ブロックに「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は、認識精度および画質の双方を考慮して適切に決定することが好ましい。なお、サブブロックの平均濃度を変更する処理は、例えば、対象サブブロックに属する各画素の濃度をそれぞれ同じレベルだけ高くまたは低くする処理により実現される。
平均濃度差が上限閾値を越えていたときは(ステップS13:No)、ステップS14の濃度変更処理はスキップされる。濃度変更処理をスキップする理由は、以下の通りである。すなわち、例えば、対象ブロックの状態が「D(L)<D(R)」であり、その濃度差が上限閾値を越えているものとする。そして、「D(L)≧D(R)」を実現するものとする。しかし、平均濃度の差が上限閾値を越えているときは、D’(L)とD(L)との間の差分が大きくなり、また、D’(R)とD(R)との間の差分も大きくなってしまう。すなわち、コード埋め込み後の対象ブロックの画像は、原画像とは大きく異なってしまう。したがって、平均濃度の差が上限閾値を越えているときは、画質の劣化を抑えるために、ステップS14の濃度変更処理はスキップされる。
ステップS15〜S16において、変数nがインクリメントされる。そして、変数nがコード長nendを越えたか否かがチェックされる。コード長nendは、コードCのデータ長に相当し、この実施例では16である。そして、変数nがコード長nendを越えていれば、ステップS17が実行される。一方、変数nがコード長nend以下であれば、ステップS6に戻って次のブロックについて同様の処理を繰り返す。
ステップS17では、すべてのブロックについてステップS6〜S14の処理が実行されたか否かがチェックされる。処理が実行されていないブロックが残っている場合には、ステップS18において、変数nが再び初期化される。この後、次のブロックに対してステップS6〜S14の処理が実行される。すべてのブロックについて上記処理が終了すると、ステップS19において、生成された画像コード化データが出力される。
このように、第2の実施形態の画像コード化装置40によれば、対象ブロックが境界ライン上に位置するときは、反転コードC’の対応するビットがその対象ブロックに埋め込まれる。一方、対象ブロックが境界ライン上に位置しないときは、コードCの対応するビットがその対象ブロックに埋め込まれる。
<第3の実施形態>
第3の実施形態の画像処理装置は、画像コード復号装置であり、電子カメラ(または、スキャナ)を用いて取得した画像コード化データから埋め込みコードを抽出する。以下の説明では、第2の実施形態の画像コード化装置40によりコードが埋め込まれた画像データが第3の実施形態の画像処理装置に入力されるものとする。
図14は、第3の実施形態において撮影される画像の一例を示す図である。ここでは、電子カメラで撮影される画像は、紙面に印刷されたカレンダの日付領域31である。この日付領域31の画像には、図13A〜図13Bに示す方法でコードCが埋め込まれている。また、日付領域31は、メモ記入領域32を有している。メモ記入領域32は、日付領域31において境界ライン33の下側の領域に相当する。
メモ記入領域32には、ユーザにより手書きメモが筆記されている。この例では、メモ記入領域32に「13:00 打ち合わせ」および「19:00 送別会」と筆記されている。
日付領域31の画像には、コードCだけでなく、反転コードC’も埋め込まれている。すなわち、日付領域31の画像データには、日付領域31においてメモ記入領域32を他の領域から区切るための境界ライン33を表す境界情報が設定されている。そして、図13A〜図13Bに示す方法で画像データが作成される際に、境界ライン33上のブロックには、コードCの代わりに反転コードC’が埋め込まれている。なお、コードCおよび反転コードC’が埋め込まれた日付領域31の画像データは、図12に示す通りである。
図15は、第3の実施形態の画像コード復号装置の構成を示す図である。第3の実施形態の画像コード復号装置50は、第2の実施形態の画像コード化装置40により生成された画像コード化データを復号する画像処理装置である。
画像コード復号装置50は、ブロック分割部21、判定部22、データ検出部23、特定部24、境界検出部25、画像切出し部51、情報取得部52、画像保存部53を備える。ブロック分割部21、判定部22、データ検出部23、特定部24、境界検出部25については、図6を参照しながら説明した通りである。ただし、第3の実施形態についての説明では、入力画像にはコードCが埋め込まれており、データ検出部23は、入力画像から抽出したコードCを出力する。
画像切出し部51は、境界検出部25により検出された境界位置(境界ライン情報)に基づいて、入力画像の一部を切り出し、その切り出した画像を表す切出し画像データを出力する。ここで、図14に示す日付領域31の画像データが画像コード復号装置50に入力されると、境界検出部25は、境界ライン33を表す境界ライン情報を出力する。そうすると、画像切出し部51は、日付領域31から境界ライン33の下側の画像領域を切り出す。すなわち、メモ記入領域32が切り出される。
情報取得部52は、付加情報DB61を参照し、データ検出部23により検出されたコードCに対応する付加情報(または、関連情報)を取得する。付加情報DB61は、画像データに埋め込まれているコードC(C1、C1、C3、...)に関連づけてそれぞれ対応する付加情報を格納している。付加情報は、例えば、日付情報である。この場合、例えば、コード「1010110101001010」に対応する付加情報として「2009年10月12日」が格納されている。
画像保存部53は、画像切出し部51により得られる切出し画像の画像データ、および情報取得部52により得られる付加情報を、互いに関連づけて保存する。画像保存部53は、メモリ領域を備える。このメモリ領域は、例えば、不揮発性の半導体メモリにより実現される。
なお、上記構成において、画像コード復号装置50は、情報取得部52を備えなくてもよい。すなわち、データ検出部23により検出されるコードCが付加情報に変換されることなくそのまま画像保存部53に保存されてもよい。この場合、画像保存部53は、データ検出部23により検出されたコードCに対応づけて、画像切出し部51により得られる切出し画像の画像データを保存する。
図16Aおよび図16Bは、第3の実施形態において画像データを保存する処理を示すフローチャートである。なお、このフローチャートの処理は、以下の説明では、図13A〜図13Bに示す方法で生成された画像コード化データが入力されたときに実行されるものとする。
ステップS21およびS22において、ブロック分割部21、判定部22、データ検出部23は、入力画像に埋め込まれているコードCを検出する。コードCは、例えば、図3または図7を参照しながら説明した多数決法で決定される。図12に示す例では、「1010110101001010」が得られている。なお、コードCが特定されなければ、画像データを保存することなく処理を終了する。
ステップS23において、変数rおよび変数counterがそれぞれ初期化される。変数rは、複数のブロックに分割された画像の各行においてブロックを識別する。変数rの範囲は、例えば、図12に示す例では、1〜8である。また、変数counterは、複数のブロックに分割された画像の各行において、各ブロックから抽出されたビットがコードCの対応するビットと異なっていた場合にカウントアップされる。したがって、変数counterは、ゼロに初期される。さらに、ステップS24において変数nが初期化される。変数nは、コードCのビットを識別する。変数nの範囲は、例えば、図12に示す例では、1〜16である。
ステップS25〜S35の処理は、特定部24により実行される。ここで、特定部24は、複数のブロックの中から変数nに従って、対応するブロックを1つずつ順番に抽出する。以下の説明では、抽出されたブロックを「対象ブロック」と呼ぶことがある。そして、特定部24は、各対象ブロックに対してステップS25〜S35の処理を実行する。
ステップS25において、対象ブロックについての判定結果が取得される。なお、各ブロックの判定結果は、ステップS21のデコード処理において生成され、レジスタ等に格納されている。ここで、入力画像データが図13A〜図13Bに示す方法で生成された場合、各ブロックの判定結果は、当該ブロックに属する1組のサブブロックの特徴量を比較することにより得られる。
ステップS26において、対象ブロックのビット判定結果とコードCの第nビットの値とが比較される。ここで、対象ブロックのビット判定結果とコードCの第nビットの値とが互いに異なっていれば、ステップS27において、変数counterが1だけインクリメントされる。一方、対象ブロックのビット判定結果とコードCの第nビットの値とが互いに一致していれば、ステップS27はスキップされる。
ステップS28では、変数rが1だけインクリメントされる。続いて、ステップS29において、変数rが最終値rendを越えたか否かがチェックされる。最終値rendは、各行に属するブロックの個数に相当し、図12に示す例では8である。そして、変数rが最終値rendを越えていなければ、ステップS30〜S32はスキップされ、ステップS33において変数nが1だけインクリメントされる。
ステップS34において、変数nがコード長nendを越えたか否かがチェックされる。コード長nendは、コードCのデータ長に相当し、この実施例では16である。そして、変数nがコード長nendを越えていなければ、ステップS25に戻る。すなわち、次のブロックについてステップS25〜S33の処理が実行される。
変数rが最終値rendを越えていれば(ステップS29:Yes)、ステップS30〜S32が実行される。ステップS30において、変数counterが反転ビット数閾値以上であるかがチェックされる。反転ビット数閾値は、特に限定されるものではないが、たとえば「各行に属するブロックの個数×0.85」である。すなわち、図12に示す例では、各行に属するブロックの個数は8であるので、反転ビット数閾値は、6.8である。この場合、ステップS30において、変数counterが0〜6であれば「No」と判定され、変数counterが7または8であるときに「Yes」と判定される。
変数counterが反転ビット数閾値以上であれば、ステップS31において、対象ブロックの位置を表す境界位置情報をメモリ領域に格納する。ここで、対象ブロックの位置は、例えば、対象ブロックの中心座標または対称ブロックの左上角の座標である。なお、変数counterが反転ビット数閾値よりも小さければ、ステップS31はスキップされる。そして、ステップS32において、変数rおよび変数counterが初期化される。
変数nがコード長nendを越えていれば(ステップS34:Yes)、ステップS35において、すべてのブロックについてステップS25〜S34の処理が実行されたか否かがチェックされる。処理が実行されていないブロックが残っている場合には、ステップS24において、変数nが再び初期化される。この場合、次のブロックに対してステップS25〜S34の処理が実行される。一方、すべてのブロックについて上記処理が終了していれば、ステップS36において、画像データが画像保存部53に登録される。画像データを画像保存部53に登録する手順は、後で詳しく説明する。
図7および図12に示す実施例を参照しながら図16A〜図16Bに示す手順を説明する。まず、図12に示す画像データの第1行に位置する各ブロックに対してステップS25〜S34が繰り返し実行される。なお、この例では、ステップS21のデコード処理において、図7に示す候補データ1〜8が抽出され、多数決判定により「1010110101001010(=コードC)」が得られているものとする。そうすると、第1行に位置する各ブロックのビット(候補データ1の第1〜第8ビット)は、それぞれコードCの対応するビットに一致する。この場合、変数counterは、カウントアップされることはなく、ゼロのままである。したがって、ステップS31において「No」と判定され、境界位置情報は出力されない。
続いて、第2行に位置する各ブロックに対してステップS25〜S34が実行される。この場合、第2行に位置する各ブロックのビット(候補データ1の第9〜第16ビット)は、それぞれコードCの対応するビットに一致する。よって、変数counterはカウントアップされることはなく、ステップS31において「No」と判定されるので、境界位置情報は出力されない。
さらに、第3行に位置する各ブロックに対してステップS25〜S34が実行される。しかし、第3行に位置する各ブロックのビット(候補データ2の第1〜第8ビット)は、いずれもコードCの対応するビットと異なっている。このため、変数counterは8までカウントアップされ、反転ビット数閾値を越える。そうすると、ステップS31において境界位置情報が出力される。このとき、出力される境界位置情報は「第3行に位置するブロックの座標(縦方向座標またはY座標)」を表す。すなわち、反転コードC’が埋め込まれている行(または、領域)が特定され、その行を表す境界位置情報が出力される。
この後、他のブロックについても同様に上記処理が繰り返し実行される。ただし、図12に示す例では、以降の行において境界位置情報は出力されない。
このように、第3の実施形態の画像コード復号装置によれば、画像に埋め込まれているコードCが抽出されると共に、反転コードC’が埋め込まれている位置が検出される。そして、反転コードC’が埋め込まれている位置が、画像を複数の画像領域に区切るための境界情報として出力される。
図17は、画像データを登録する処理を示すフローチャートである。この処理は、図16Bに示すステップS36に相当する。また、この処理は、画像切出し部51および情報取得部52により実行される。
なお、以下の説明では、電子カメラを用いた撮影により、図18に示す画像データが入力されたものとする。図18に示す例では、画像の解像度は横240×縦320である。また、画像データ上での日付領域31の位置(すなわち、頂点P1〜P4の座標)は、予め検出されているものとする。例えば、頂点P1〜P4のうちの少なくとも3ヶ所に所定のマークが印刷されており、画像処理によりそのマークを認識することで頂点P1〜P4の座標を検出してもよい。或いは、図16A〜図16Bに示すフローチャートにおいて、対象ブロックとして最初に抽出されるブロックおよび最後に抽出されるブロックの位置に基づいて、頂点P1〜P4の座標を検出してもよい。
ステップS41において、情報取得部52は、付加情報DB61にアクセスして、コードCに対応する付加情報を取得する。付加情報は、この例では「日付」である。ステップS42において、画像切出し部51は、頂点P1〜P4の座標を取得する。ステップS43では、境界位置の座標を取得する。境界位置の座標は、図16BのステップS31において生成される。図18に示す例では、境界位置は、境界点P5(29,135)および境界点P6(168,94)により表される。なお、境界点P5、P6を接続する直線が、境界ライン33に相当する。
ステップS44において、画像切出し部51は、4つの頂点P1〜P4のうちの下側の2つ(すなわち、P3、P4)、および境界点P5、P6で囲まれる長方形の画像を切り出す。これにより、図14に示すメモ記入領域32が切り出される。そして、ステップS45において、切り出された画像が画像保存部53に登録される。このとき、スケジューラアプリケーションは、ステップS41で取得した「日付」に対応づけて、ステップS44で切り出された画像データを登録する。
なお、カメラの画像センサの座標系に対して対象領域(ここでは、日付領域31)が斜めに撮影された場合、あるいは対象領域がゆがんだ状態で撮影させた場合には、例えば、逆射影変換により、正立の画像に戻すようにしてもよい。
上述のようにして画像保存部53に登録された画像データは、スケジューラ63により読み出され、図15に示す表示装置62に表示される。ここで、実施形態の画像処理装置は、例えば、カメラ付き携帯電話機内に設けられる。この場合、表示装置62は、このカメラ付き携帯電話機が備える表示デバイスである。
スケジューラ63は、アプリケーションソフトウェアであり、ユーザからの指示に応じて画像データを表示する。例えば、スケジューラ63は、ユーザにより「日付:2009年10月12日」が入力されると、その日付に対応する画像データを画像保存部53から読み出す。そして、スケジューラ63は、画像保存部53から読み出した画像データを表示装置62に表示する。
図19は、スケジューラ63により表示装置62に表示される画像の一例を示す図である。スケジューラ63は、スケジュール管理のためのフォームを表示すると共に、ユーザにより指定された日付に対応する画像をそのフォーム内に表示する。このとき、スケジューラ63は、日付領域31全体ではなく、メモ記入領域32の画像のみを表示装置62に表示する。
このように、第3の実施形態の画像処理装置においては、入力画像に埋め込まれているコードを抽出すると共に、その入力画像を区切るための境界情報もその入力画像から抽出する。そして、境界情報により切り取られた画像は、入力画像から抽出されたコードに関連づけて保存される。
<他の実施形態>
上述の例では、入力画像に対して境界ラインが1本だけ設定されているものとして説明を行ったが、実施形態はこれに限定されるものではない。すなわち、入力画像に対して複数の境界ラインが設定されていてもよい。入力画像に対して複数の境界ラインが設定される場合であっても、図13A〜図13Bに示す方法で各境界ラインを表す情報を画像に埋め込むことができ、また、図16A〜図16Bに示す方法で各境界ラインを表す情報を抽出することができる。
実施形態の画像処理方法では、各ブロック(または、サブブロック)の特徴量を利用してエンコード/デコードが行われるが、ブロック全体の特徴量を利用してもよいし、ブロックの一部の領域の特徴量を利用してもよい。例えば、各ブロックの中央領域の濃度の平均を利用してエンコード/デコードが行われてもよい。この方法によれば、ブロック全体の平均濃度を用いた場合と比べて、濃度変更処理にかかる処理量が少なくなる。
実施形態の方法において、カラー画像が処理される場合には、例えば、カラー画像を明度に変換したグレースケール画像(白黒画像)に対してコードを埋め込む方法、カラー画像における三原色(シアン、マゼンダ、イエロー)の色成分の中のいずれかの成分(例えば、黄色成分)にコードを埋め込む方法が考えられる。後者の方法によれば、コードを埋め込むために濃度を変更しても人間の目で見分けがつきにくいという利点がある。
また、上述の例では、画像(ブロックまたはサブブロック)の特徴量として平均濃度が使用されているが、実施形態の画像処理はこれに限定されるものではない。すなわち、特徴量は、例えば、粒状度、彩度、濃度重心、分散等であってもよい。さらに、特徴量(平均濃度、粒状度、彩度、濃度重心、分散等)を所定のルールに基づいて変換することで得られる他のパラメータを用いてエンコード/デコードが行われてもよい。
なお、本発明の実施形態は、図2〜図19を参照しながら説明した構成および方法に限定されるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含む。また、本特許出願に記載の構成および手順は、互いに矛盾のない限りにおいて、任意に組み合わせて使用してもよい。
<画像処理装置のハードウェア構成>
図20は、画像処理装置(画像コード化装置10、40、および画像コード復号装置20、50)のハードウェア構成を示す図である。図20において、CPU101は、メモリ103を利用して画像処理プログラムを実行することにより、実施形態の画像処理方法を提供する。記憶装置102は、例えばハードディスクであり、画像処理プログラムを格納する。なお、記憶装置102は、外部記録装置であってもよい。メモリ103は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。
読み取り装置104は、CPU101の指示に従って可搬型記録媒体105にアクセスする。可搬性記録媒体105は、例えば、半導体デバイス、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース106は、CPU101の指示に従って、ネットワークを介してデータを送受信する。入出力装置107は、例えば、ユーザからの指示を受け付けるデバイス等に相当する。
実施形態に係わる画像処理プログラムは、例えば、下記の形態で提供される。
(1)記憶装置102に予めインストールされている。
(2)可搬型記録媒体105により提供される。
(3)プログラムサーバ110からダウンロードする。
そして、上記構成のコンピュータで画像処理プログラムを実行することにより、実施形態に係わる画像処理装置が実現される。すなわち、上記構成のコンピュータで実施形態の画像処理プログラムを実行することにより、画像コード化装置10、40が備えるブロック分割部11、データ割当て部12、特徴量調整部13、ブロック分割部41、ブロック抽出部42、平均化部43、比較部45、エンコード部46の一部または全部が実現される。また、実施形態の画像処理プログラムを実行することにより、画像コード復号装置20、50が備えるブロック分割部21、判定部22、データ検出部23、特定部24、境界検出部25、画像切出し部51、情報取得部52の一部または全部が実現される。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
画像を複数のブロックに分割する分割部と、
前記画像を複数の画像領域に区切るための境界情報に応じて決まるブロックに対して、埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に、他のブロックに対して前記埋め込みデータの対応するビットを割り当てる割当て部と、
前記割当て部によりそれぞれ割り当てられたビットの値に基づいて、各ブロックの特徴量を調整する調整部、
を有する画像処理装置。
(付記2)
付記1に記載の画像処理装置であって、
前記分割部は、前記画像を行方向および列方向に分割することにより前記複数のブロックを生成し、
前記割当て部は、前記境界情報に応じて決まる行に属するブロックに対して、前記反転埋め込みデータの対応するビットを割り当てる
ことを特徴とする画像処理装置。
(付記3)
付記1または2に記載の画像処理装置であって、
前記分割部は、各ブロックをさらに1組のサブブロックに分割し、
前記調整部は、前記割当て部により割り当てられたビットの値に基づいて、前記1組のサブブロックの特徴量の大小関係を調整する
ことを特徴とする画像処理装置。
(付記4)
画像コード化装置において、画像を複数のブロックに分割し、境界情報に応じて決まるブロックに対して埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に他のブロックに対して前記埋め込みデータの対応するビットを割り当て、それぞれ割り当てられたビットの値に基づいて各ブロックの特徴量を調整する、ことにより生成される画像データを処理する画像処理装置であって、
前記画像データにより表される画像を複数のブロックに分割する分割部と、
各ブロックの特徴量に基づいて各ブロックに対して割り当てられているビットの値を判定する判定部と、
前記判定部の判定結果を利用して前記埋め込みデータを検出するデータ検出部と、
前記データ検出部により検出された埋め込みデータおよび前記判定部の判定結果を利用して、前記反転埋め込みデータが割り当てられているブロックを特定する特定部と、
前記特定部により特定されたブロックの位置に基づいて、前記画像を複数の画像領域に区切るための境界位置を検出する境界検出部、
を有する画像処理装置。
(付記5)
付記4に記載の画像処理装置であって、
前記境界検出部により検出された境界位置に基づいて、前記画像から切り出される画像を表す切出し画像データを出力する画像切出し部と、
前記データ検出部により検出された埋め込みデータに対応づけて前記切出し画像データを保存する画像保存部、をさらに備える
ことを特徴とする画像処理装置。
(付記6)
付記4に記載の画像処理装置であって、
前記境界検出部により検出された境界位置に基づいて、前記画像から切り出される画像を表す切出し画像データを出力する画像切出し部と、
前記データ検出部により検出された埋め込みデータに対応する付加情報を取得する情報取得部と、
前記付加情報および前記切出し画像データを保存する画像保存部、をさらに備える
ことを特徴とする画像処理装置。
(付記7)
付記4〜6のいずれか1つに記載の画像処理装置であって、
前記画像コード化装置において、前記画像を行方向および列方向に分割することにより前記複数のブロックが生成され、
前記特定部は、行ごとに、前記データ検出部により検出された埋め込みデータと異なるビットの個数をカウントし、前記カウントされた個数が予め決められた閾値よりも大きい行に属するブロックに前記反転埋め込みデータが割り当てられていると判断する
ことを特徴とする画像処理装置。
(付記8)
画像を複数のブロックに分割し、
前記画像を複数の画像領域に区切るための境界情報に応じて決まるブロックに対して、埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に、他のブロックに対して前記埋め込みデータの対応するビットを割り当て、
前記割当て部によりそれぞれ割り当てられたビットの値に基づいて、各ブロックの特徴量を調整する、
ことを特徴とする画像処理方法。
(付記9)
画像コード化装置において、画像を複数のブロックに分割し、境界情報に応じて決まるブロックに対して埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に他のブロックに対して前記埋め込みデータの対応するビットを割り当て、それぞれ割り当てられたビットの値に基づいて各ブロックの特徴量を調整する、ことにより生成される画像データを処理する画像処理方法であって、
前記画像データにより表される画像を複数のブロックに分割し、
各ブロックの特徴量に基づいて各ブロックに対して割り当てられているビットの値を判定し、
前記判定結果を利用して前記埋め込みデータを検出し、
前記検出された埋め込みデータおよび前記判定結果を利用して、前記反転埋め込みデータが割り当てられているブロックを特定し、
前記特定されたブロックの位置に基づいて、前記画像を複数の画像領域に区切るための境界位置を検出する、
ことを特徴とする画像処理方法。
(付記10)
コンピュータに、
画像を複数のブロックに分割するステップ、
前記画像を複数の画像領域に区切るための境界情報に応じて決まるブロックに対して、埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に、他のブロックに対して前記埋め込みデータの対応するビットを割り当てるステップ、
前記割当て部によりそれぞれ割り当てられたビットの値に基づいて、各ブロックの特徴量を調整するステップ、
を実行させる画像処理プログラム。
(付記11)
画像コード化装置において、画像を複数のブロックに分割し、境界情報に応じて決まるブロックに対して埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に他のブロックに対して前記埋め込みデータの対応するビットを割り当て、それぞれ割り当てられたビットの値に基づいて各ブロックの特徴量を調整する、ことにより生成される画像データを処理するコンピュータに、
前記画像データにより表される画像を複数のブロックに分割するステップ、
各ブロックの特徴量に基づいて各ブロックに対して割り当てられているビットの値を判定するステップ、
前記判定結果を利用して前記埋め込みデータを検出するステップ、
前記検出された埋め込みデータおよび前記判定結果を利用して、前記反転埋め込みデータが割り当てられているブロックを特定するステップ、
前記特定されたブロックの位置に基づいて、前記画像を複数の画像領域に区切るための境界位置を検出するステップ、
を実行させる画像処理プログラム。
10、40 画像コード化装置
11 ブロック分割部
12 データ割当て部
13 特徴量調整部
20、50 画像コード復号装置
21 ブロック分割部
22 判定部
23 データ検出部
24 特定部
25 境界検出部
41 ブロック分割部
42 ブロック抽出部
43 平均化部
45 比較部
46 エンコード部
51 画像切出し部
52 情報取得部
53 画像保存部
61 情報取得部
62 表示装置

Claims (5)

  1. 画像を複数のブロックに分割する分割部と、
    前記画像を複数の画像領域に区切るための境界情報に応じて決まるブロックに対して、埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に、他のブロックに対して前記埋め込みデータの対応するビットを割り当てる割当て部と、
    前記割当て部によりそれぞれ割り当てられたビットの値に基づいて、各ブロックの特徴量を調整する調整部、
    を有する画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記分割部は、前記画像を行方向および列方向に分割することにより前記複数のブロックを生成し、
    前記割当て部は、前記境界情報に応じて決まる行に属するブロックに対して、前記反転埋め込みデータの対応するビットを割り当てる
    ことを特徴とする画像処理装置。
  3. 画像コード化装置において、画像を複数のブロックに分割し、境界情報に応じて決まるブロックに対して埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に他のブロックに対して前記埋め込みデータの対応するビットを割り当て、それぞれ割り当てられたビットの値に基づいて各ブロックの特徴量を調整する、ことにより生成される画像データを処理する画像処理装置であって、
    前記画像データにより表される画像を複数のブロックに分割する分割部と、
    各ブロックの特徴量に基づいて各ブロックに対して割り当てられているビットの値を判定する判定部と、
    前記判定部の判定結果を利用して前記埋め込みデータを検出するデータ検出部と、
    前記データ検出部により検出された埋め込みデータおよび前記判定部の判定結果を利用して、前記反転埋め込みデータが割り当てられているブロックを特定する特定部と、
    前記特定部により特定されたブロックの位置に基づいて、前記画像を複数の画像領域に区切るための境界位置を検出する境界検出部、
    を有する画像処理装置。
  4. 画像を複数のブロックに分割し、
    前記画像を複数の画像領域に区切るための境界情報に応じて決まるブロックに対して、埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に、他のブロックに対して前記埋め込みデータの対応するビットを割り当て、
    前記割当て部によりそれぞれ割り当てられたビットの値に基づいて、各ブロックの特徴量を調整する、
    ことを特徴とする画像処理方法。
  5. 画像コード化装置において、画像を複数のブロックに分割し、境界情報に応じて決まるブロックに対して埋め込みデータの各ビットを反転することにより得られる反転埋め込みデータの対応するビットを割り当てると共に他のブロックに対して前記埋め込みデータの対応するビットを割り当て、それぞれ割り当てられたビットの値に基づいて各ブロックの特徴量を調整する、ことにより生成される画像データを処理する画像処理方法であって、
    前記画像データにより表される画像を複数のブロックに分割し、
    各ブロックの特徴量に基づいて各ブロックに対して割り当てられているビットの値を判定し、
    前記判定結果を利用して前記埋め込みデータを検出し、
    前記検出された埋め込みデータおよび前記判定結果を利用して、前記反転埋め込みデータが割り当てられているブロックを特定し、
    前記特定されたブロックの位置に基づいて、前記画像を複数の画像領域に区切るための境界位置を検出する、
    ことを特徴とする画像処理方法。
JP2009248578A 2009-10-29 2009-10-29 画像処理装置、画像処理方法、および画像処理プログラム Withdrawn JP2011097318A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2011097318A true JP2011097318A (ja) 2011-05-12

Family

ID=44113773

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2011097318A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378426B2 (en) 2013-04-02 2016-06-28 3M Innovative Properties Company Systems and methods for note recognition

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378426B2 (en) 2013-04-02 2016-06-28 3M Innovative Properties Company Systems and methods for note recognition
JP2016525729A (ja) * 2013-04-02 2016-08-25 スリーエム イノベイティブ プロパティズ カンパニー メモ認識システム及び方法

Similar Documents

Publication Publication Date Title
US7471838B2 (en) Image data processing apparatus, image data processing method, and computer readable medium
JP4035717B2 (ja) 画像処理装置及び画像処理方法
US7499565B2 (en) Method of watermarking for binary images
KR102423710B1 (ko) 반투명 이미지 워터마크 검출
JP6045752B2 (ja) 二次元コード、二次元コードの解析システム及び二次元コードの作成システム
JP2008085920A (ja) 電子透かし埋め込み装置および検出装置
CN113658032B (zh) 基于深度学习和图像处理的图像水印加解密方法及系统
JP2009169948A (ja) 原稿方向判定装置、原稿方向判定方法、プログラムおよびその記録媒体
JP3930502B2 (ja) 品質調整システムおよび透かし品質検査装置
CN113392669A (zh) 一种图像信息检测方法、检测装置及存储介质
JP2006197178A (ja) 画像処理装置および画像処理方法およびプログラムおよび記憶媒体
JP7539998B2 (ja) ズームアグノスティックウォーターマーク抽出
CN107247984B (zh) 一种可视化二维码的编码方法
JP2011097318A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
US20230325961A1 (en) Zoom agnostic watermark extraction
JP2007036652A (ja) 画像処理方法および画像処理装置およびプログラムおよび記憶媒体
CN111127288B (zh) 可逆图像水印处理方法、装置及计算机可读存储介质
JP5310477B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP2009124300A (ja) 透かし埋め込み付きjpeg符号化装置,透かし埋め込み付きjpeg符号化方法,透かし埋め込み付きjpeg符号化プログラム及びそのプログラムを記録した記録媒体、その透かし埋め込み付きjpeg画像データに対する改ざん検出装置,透かし埋め込み付きjpeg画像データに対する改ざん検出方法,透かし埋め込み付きjpeg画像データに対する改ざん検出プログラム及びそのプログラムを記録した記録媒体
KR100938189B1 (ko) 화상 처리 방법, 화상 처리 장치 및 컴퓨터 판독 가능한기록 매체
JP2005295458A (ja) 情報検出装置,情報埋め込み装置,画像処理システム,情報検出方法,および情報埋め込み方法
JP2007228281A (ja) 画像処理方法、画像処理装置、画像処理プログラム、及び、情報記録媒体
JP2008109386A (ja) 画像符号化装置及び方法
JP2015232873A (ja) 二次元コード、二次元コードの解析システム及び二次元コードの作成システム
EP2061003A1 (en) Method of embedding information into image

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130108