(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-08
(45)【発行日】2024-03-18
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
H04N 1/32 20060101AFI20240311BHJP
【FI】
H04N1/32 144
(21)【出願番号】P 2019222015
(22)【出願日】2019-12-09
【審査請求日】2022-12-05
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】小川 広晃
(72)【発明者】
【氏名】溝口 慶範
(72)【発明者】
【氏名】後藤 文孝
(72)【発明者】
【氏名】酒井 洋行
(72)【発明者】
【氏名】山口 裕充
(72)【発明者】
【氏名】土井 司
(72)【発明者】
【氏名】佐々木 建
【審査官】花田 尚樹
(56)【参考文献】
【文献】特開2006-135755(JP,A)
【文献】特開2007-122533(JP,A)
【文献】特開2003-209676(JP,A)
【文献】特開2012-138892(JP,A)
【文献】国際公開第2013/111278(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/32 - 1/36
1/42 - 1/44
(57)【特許請求の範囲】
【請求項1】
画像内のオブジェクトを認識する認識手段と、
記憶手段に記憶された情報のうち、前記認識手段によって認識されたオブジェクトに紐付けられた情報を、前記画像内の、該認識されたオブジェクトに対するオブジェクト領域を除く領域にレイアウトするレイアウト手段と、
を有
し、
前記レイアウト手段は、
前記画像を分割した分割領域ごとに、前記オブジェクト領域が内部に存在するか判定する第1の判定を行い、
前記第1の判定により前記オブジェクト領域が内部に存在しないと判定された分割領域について、前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の範囲内に存在するかを判定する第2の判定を行い、
前記オブジェクト領域が内部に存在する分割領域については、情報を埋め込まない領域と決定し、
前記画像内の、前記認識されたオブジェクトに対するオブジェクト領域を除く領域であって、前記オブジェクト領域が内部に存在せず、かつ前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の範囲内に存在する分割領域については、情報を埋め込む領域と決定し、
前記オブジェクト領域が内部に存在せず、かつ前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の周囲に存在しない分割領域については、情報を埋め込まない領域と決定することを特徴とする画像処理装置。
【請求項2】
前記レイアウト手段は、前記画像を分割した分割領域ごとに、前記オブジェクト領域が内部に存在するか判定する第1判定手段を有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記レイアウト手段は、前記オブジェクト領域が内部に存在しない分割領域については、情報を埋め込む領域と決定する一方、前記オブジェクト領域が内部に存在する分割領域については、情報を埋め込まない領域と決定する
ことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
1つの分割領域に対して、異なる複数のオブジェクトに対応する複数の情報が重畳して埋め込まれることのないよう、
前記複数のオブジェクトに対応して情報を埋め込む領域と判定された重複分割領域の数を、前記複数のオブジェクトの数で除算し、該除算によって導出した商の数分の重複分割領域に対して、任意の1つのオブジェクトに対応する情報を埋め込むように、埋め込み領域を調整する調整手段を更に有することを特徴とする
請求項1乃至3の何れか1項に記載の画像処理装置。
【請求項5】
撮像することにより認識可能な情報が埋め込まれた画像を生成することを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
【請求項6】
画像内のオブジェクトを認識する
認識ステップと、
記憶手段に記憶された情報のうち、認識されたオブジェクトに
紐付けられた情報を、前記画像内の、該認識されたオブジェクトに対するオブジェクト領域を除く領域にレイアウトする
レイアウトステップと、
を有
し、
前記レイアウトステップにおいて、
前記画像を分割した分割領域ごとに、前記オブジェクト領域が内部に存在するか判定する第1の判定を行い、
前記第1の判定により前記オブジェクト領域が内部に存在しないと判定された分割領域について、前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の範囲内に存在するかを判定する第2の判定を行い、
前記オブジェクト領域が内部に存在する分割領域については、情報を埋め込まない領域と決定し、
前記画像内の、前記認識されたオブジェクトに対するオブジェクト領域を除く領域であって、前記オブジェクト領域が内部に存在せず、かつ前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の範囲内に存在する分割領域については、情報を埋め込む領域と決定し、
前記オブジェクト領域が内部に存在せず、かつ前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の周囲に存在しない分割領域については、情報を埋め込まない領域と決定することを特徴とする画像処理方法。
【請求項7】
コンピュータに
請求項6に記載の方法を実行させるためのプログラム。
【請求項8】
少なくとも1つのコンピュータを、請求項1乃至5の何れか1項に記載された画像処理装置の各手段として機能させるためのプログラム。
【請求項9】
少なくとも1つのコンピュータを、請求項1乃至5の何れか1項に記載された画像処理装置の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報を画像に埋め込む多重化情報生成に関する。
【背景技術】
【0002】
従来、電子透かし技術と称される、印刷物に対して付加情報を視覚的に判別しづらいように多重化する技術が利用されている。以降、ステガノグラフィ、ウォーターマークなど、データに対して別の意味合いを持つデータを重畳させること、もしくはその技術分野を総称して「多重化」と記載する。
【0003】
多重化の分野において、紙幣、印紙、有価証券などの不正な偽造を防止する識別情報の多重化や、写真に対する音声情報の埋め込みなどの応用技術がある。これらの情報を例えばスマートフォンなどで読み取ることで、ユーザに対して付加価値を提供することができる。
【0004】
ところで、多重化の技術には、多重化対象のデータ、例えば画像に変化を加えておき、その変化を捉えることで埋め込んだ多重化情報を復号する技術が含まれる。このような多重化において、多重化情報を埋め込むにはデータに変化を加える必要があり、変化を加えたデータが画像の場合、変化を加えた部分の画質が劣化するおそれがある。
【0005】
また、画像には注目して見られる領域と、そうでない領域がある。例えば、ユーザが自分の子供を映した写真の画像を見る場合、画像の中で子供が写っている部分(オブジェクト領域とする)に注目する可能性が高く、背景を注目して見ること可能性は低い。そのような画像に多重化情報を埋め込む場合、子供が写っている部分に多重化情報を埋め込むと、子供が写っている領域の画質が劣化するおそれがある。
【0006】
特許文献1には、画像を複数の分割領域にすること、複数の異なる周期性を発生させること、周期性に基づき、分割領域の画素値に所定値を加算することが開示されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1では、多重化情報を画像全体に埋め込む技術であり、注目オブジェクトの劣化軽減については考慮されていなかった。
【0009】
そこで本発明の一実施形態は、上記の課題に鑑み、画像に情報を埋め込む場合に、ユーザにより注視されるオブジェクト領域の画質劣化を軽減することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一実施形態は、画像内のオブジェクトを認識する認識手段と、記憶手段に記憶された情報のうち、前記認識手段によって認識されたオブジェクトに紐付けられた情報を、前記画像内の、該認識されたオブジェクトに対するオブジェクト領域を除く領域にレイアウトするレイアウト手段と、を有し、前記レイアウト手段は、前記画像を分割した分割領域ごとに、前記オブジェクト領域が内部に存在するか判定する第1の判定を行い、前記第1の判定により前記オブジェクト領域が内部に存在しないと判定された分割領域について、前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の範囲内に存在するかを判定する第2の判定を行い、前記オブジェクト領域が内部に存在する分割領域については、情報を埋め込まない領域と決定し、前記画像内の、前記認識されたオブジェクトに対するオブジェクト領域を除く領域であって、前記オブジェクト領域が内部に存在せず、かつ前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の範囲内に存在する分割領域については、情報を埋め込む領域と決定し、前記オブジェクト領域が内部に存在せず、かつ前記オブジェクト領域が存在する他の分割領域が、分割領域1個分の距離の周囲に存在しない分割領域については、情報を埋め込まない領域と決定することを特徴とする画像処理装置である。
【発明の効果】
【0011】
本発明の一実施形態によれば、画像に情報を埋め込む場合に、ユーザにより注視されるオブジェクト領域の画質劣化を軽減できる。
【図面の簡単な説明】
【0012】
【
図1】第1の実施形態におけるシステムのうち、多重化エンコードに関わる部分の構成を示すブロック図
【
図2】第1の実施形態におけるオブジェクト情報、多重化情報に関わるDBと、紐付けに関わるDBとの関係を説明するための図
【
図3】第1の実施形態における情報選択処理のフローチャート
【
図5】第1の実施形態における多重化情報レイアウト処理のフローチャート
【
図6】第1の実施形態における多重化情報レイアウト処理を説明するための図
【
図7】第1の実施形態における記録処理のフローチャート
【
図8】第2の実施形態におけるレイアウト結果を示す図
【
図9】第2の実施形態における多重化情報レイアウト処理のフローチャート
【
図10】第2の実施形態におけるレイアウト結果を示す図
【
図11】第3の実施形態におけるレイアウトを説明するための図
【
図12】第3の実施形態における埋め込み領域調整処理のフローチャート
【
図14】第4の実施形態における情報選択処理のフローチャート
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明に係る好適な実施形態を詳細に説明する。尚、以下の説明における画像処理装置とは、多重化情報を埋め込む情報多重化装置である。このような情報多重化装置は、プリンタエンジンへ出力すべき画像データを作成する情報処理装置(コンピュータ)内のプリンタドライバソフト、もしくは、アプリケーションソフトとして実装することが効率的である。但し、これらの形態に限定されず、複写機、ファクシミリ、記録装置本体等に、ハードウェアまたはソフトウェアとして実装されてもよい。
【0014】
[第1の実施形態]
ユーザが画像を見たとき、注視される部分はオブジェクト領域である。そのため、オブジェクト領域内に情報を埋め込み、画質を劣化させてしまうと、該オブジェクト領域は注視されるため劣化が目立つ。そこで、本実施形態では、オブジェクト領域ではない部分に情報を埋め込むことで、画質の劣化の目立ち具合を低減させる。尚、本実施形態では、画像内にオブジェクトが1つの場合の処理について記載する。
【0015】
図1(a)及び
図1(b)は、画像に多重化情報を埋め込むシステムのうち多重化エンコードに関わる部分の構成例を示すブロック図である。
図1(a)または
図1(b)に示すように、これらのシステムは、画像データと多重化情報とを取得し、画像が記録され且つ多重化情報が埋め込まれた記録物Cを生成する。
【0016】
図1(a)のシステムは、記録装置109(例えばプリンタ等)とは別の画像処理装置によって、画像に多重化情報を埋め込む処理を行うように構成されている。これに対し、
図1(b)のシステムは、記録装置109内で、画像に多重化情報を埋め込む処理を行うように構成されている。以下、
図1(a)の構成について説明する。尚、
図1(b)の構成については、記録装置109内で埋め込む処理を行うか、記録装置109外で埋め込む処理を行うかの違いのみなので、詳しい説明を割愛する。
【0017】
図1(a)の構成において、入力端子から入力される画像データ100は例えば、色成分を含む多階調の画像データ、具体的に例えば、シアン、マゼンダ、イエロー、ブラックの4チャンネル、画素値が8ビットのビットマップ形式画像データである。画像に埋め込む多重化情報としては、テキスト文書データ、音声データ、動画データ等の生データ、テキスト文書情報、音声情報、画像情報、動画情報等を圧縮した圧縮データ、及びバイナリ値に変換された他のデータ等が挙げられる。多重化情報は、画像データとともに入力されてもよいし、多重化情報DBに予め記憶されていてもよい。尚、以降では、シアン、マゼンダ、イエロー、ブラックの4色についてはC、M、Y、Kと夫々一文字で表し、赤、緑、青の3色についてはR、G、Bと夫々一文字で表す。
【0018】
オブジェクト認識部101は、画像データに対してオブジェクト認識処理を行う。オブジェクト認識に関する技術として、例えば顔認識技術がある。顔認識の処理の流れとしては、まず画像中の顔らしい領域を特定し、該特定した顔らしい領域について特徴量を導出する。この特徴量はある計算式に従って算出され、例えば、指定領域のヒストグラムを取得することや、周波数変換を実施した結果の振幅・位相情報を取得すること等も、特徴量算出の範疇に含まれる。予め複数の顔情報について、異なる人物毎に特徴量マップを作成しておく。顔認識技術の分野では、特徴量マップの作成に用いた画像データやマッピングされたデータを「教師データ」と呼ぶ。オブジェクトDB102は、教師データを保持するためのデータベースである。画像中の顔らしい領域に対して導出された特徴量に基づいて、この領域内の人物が、特徴量マップにマッピングされたどの人物に近いか決定される。以上が、一般的な顔認識技術の処理内容である。
【0019】
図2(a)は、オブジェクト認識を実行するにあたって保持されている教師データのデータベースを表している。つまり
図2(a)は、オブジェクトDB102の一例である。
図2(a)に示すように、オブジェクトNo値I
1は特徴クラスタ値F
1に対応し、同様に、I
2はF
2に対応し、I
3はF
3に対応する。
【0020】
図2(b)は、教師データのマップの概念図である。この図では、3次元マップに特徴クラスタ値F
1~F
3がマッピングされている。オブジェクト認識部101は、画像内のオブジェクトの特徴量を導出し、該導出した特徴量に基づき、3次元マップ内の特徴クラスタ値F
1~F
3の何れに該当するか決定する。ここで述べるクラスタとは、マップ中で該当のオブジェクトであると判定される範囲を示している。導出された特徴量群に対応する1点が、マップの軸を基準にプロットされ、プロットされた場所がクラスタに含まれているか否かに基づいて、当該クラスタのオブジェクトであるか否かが決定される。尚、複雑な特徴を持つ情報を区別したい場合や、区別したいオブジェクトの種類が多い場合は、マップの軸はより多くなる傾向がある。また、特徴クラスタ値F
nの取りうる範囲は、特徴クラスタ値それぞれに対し数百~数千オーダーのオブジェクトの特徴をマッピングして精度を向上させたものであることが望ましい。
【0021】
多重化情報選択部103は、オブジェクト認識部101によって認識されたオブジェクトに応じて、多重化情報DB104の中から最適な多重化情報を選択する。多重化情報選択部103による処理は、画像データに埋め込まれる多重化情報を選択する処理に相当する。
【0022】
多重化情報にはテキスト文書データ等が含まれる。テキスト文書データは、例えば、既に公知である文字コードを利用して、数字および文字を数値に割り当てた数値データである。このような数値データが多重化情報として多重化情報DB104に保持される。
【0023】
具体例として、「hello」という文字に対応するテキスト文書データについて説明する。テキスト文書データは、数値データいわゆるバイナリデータとする。バイナリデータとは「0」及び「1」で表現される情報であり、この「0」及び「1」の連続的なつながりが特定の意味を持つ。バイナリデータと文字との対応は、「文字コード」によって定義されている。文字コードの中の1つである「シフトJIS」の場合、「h」はバイナリデータの「01101000」に対応する。同様に、「e」は「01100101」、「l」は「01101100」、「o」は「01101111」のバイナリデータに対応する。従って、「hello」という文字は、バイナリデータによれば「0110100001100101011011000110110001101111」と表現できる。逆に、「0110100001100101011011000110110001101111」というバイナリデータを取得できれば、該取得したバイナリデータに基づき「hello」という文字を取得することができる。多重化情報DB104は、このようなバイナリデータに変換された数値データに対応する。
【0024】
図2(c)は、多重化情報DB104の一例を表している。
図2(c)のテーブルには、多重化情報として埋め込みたい「hello」、「bye」、「lunch」という文字が保持されており、これらは、文字を識別するための多重化情報Noの値(本例ではB
1~B
3の何れか)と夫々対応する。
【0025】
多重化情報選択部103は、紐付け情報DB105を参照する。紐付け情報DB105には、認識したオブジェクトと、多重化情報DB104に保持された内容とを紐付けるための情報が保持される。
【0026】
図2(d)は、紐付け情報DB105の具体例として、
図2(a)のテーブルの各値と、
図2(c)のテーブルの各値とを紐付けする紐付け情報を保持するためのデータベースを表している。
図2(d)では、紐付け情報である紐付けNoの値S
1は、B
1とI
3との対応関係に紐付いており、S
2は、B
2とI
1との対応関係に紐付いており、S
3は、B
3とI
2との対応関係に紐付いている。多重化情報選択部103は、紐付け情報を用いて多重化情報DB104を参照することで、画像中のオブジェクトに最適な多重化情報を選択することが可能である。以下、多重化情報選択部103によって実行される、画像中のオブジェクトに対して最適な多重化情報を選択する(情報選択処理とする)について、
図3を用いて説明する。
【0027】
図3は、本実施形態における情報選択処理のフローチャートであり、オブジェクト認識部101で認識されたオブジェクトに対して多重化情報を選択する手順をステップ毎に示す。尚、以下では、具体例として、認識されたオブジェクトに対するオブジェクトNoの値がI
1であったケースを挙げながら説明する。画像中で複数のオブジェクトが認識された場合は、該認識された複数のオブジェクトそれぞれについて、同様のフローの処理を実行する。なお、
図3の各ステップは、画像処理装置のCPU(
図1(a)の場合)、または、記録装置109のCPU(
図1(b)の場合)によって実行される。
【0028】
ステップS301において、多重化情報選択部103は、オブジェクト認識部101で認識された対象オブジェクトに対応するオブジェクトNoの値を取得する。
図2(a)では、オブジェクトNoの値としてI
1~I
3が存在するが、以下では、対象オブジェクトに対応するオブジェクトNoの値がI
1のケースを想定して説明する。つまり、オブジェクト認識部101が、画像内のオブジェクトから抽出された特徴量「F
1」を多重化情報選択部103に出力する。そして、多重化情報選択部103は、特徴量「F
1」とオブジェクトDB102に基づいて、オブジェクトNoの値として「I
1」を取得する。尚、以降では「ステップS~」を「S~」と略記する。
【0029】
S302において、多重化情報選択部103は、最大で紐付け情報DB105(例えば
図2(d))に保持されている紐付けNoの値の個数(N個とする)分の、S303~S304のループ処理を実行する。例えば、
図2(d)のテーブルを用いる場合、紐付けNoの値としてS
1~S
3が保持されているため、繰り返しの処理を最大で3回実行することになる。尚、S303~S304のループ処理は、S301で取得したオブジェクトNoの値に対応する多重化情報Noの値を見つけた時点で終了し、S305に進む。
【0030】
S303において、多重化情報選択部103は、紐付け情報DB105(例えば
図2(d))を参照し、注目紐付けNoの行において、S301で取得したオブジェクトNoの値(本例ではI
1)と一致するオブジェクトNoの値が保持されているか判定する。本ステップの判定処理が真の場合、S304に進む一方、該判定結果が偽の場合、次のループ処理(S303~S304)に移行する。
【0031】
S304において、多重化情報選択部103は、紐付け情報DB105(例えば
図2(d))を参照し、認識された対象オブジェクトのオブジェクトNoの値と紐付けられた多重化情報Noの値を選択する。具体的には、多重化情報選択部103は、対象オブジェクトに付加する情報の内容を識別するための多重化情報Noの値として、S301で取得したオブジェクトNoの値に紐付けされている多重化情報Noの値を選択的に決定する。尚、S301で取得したオブジェクトNoの値がI
1であり、かつ
図2(d)のテーブルを用いる場合、本ステップでは、多重化情報Noの値としてB
2が選択される。
【0032】
S305において、多重化情報選択部103は、オブジェクト認識部101で認識された対象オブジェクトに最適な多重化情報が、紐付け情報DB105に保持されていたか判定する。本ステップの判定結果が真の場合、S306に進む一方、該判定結果が偽の場合、S307に進む。なお、本実施形態の具体例では、S304において多重化情報Noの値としてB2が選択されたため、S305の判定結果は、真である。
【0033】
S306において、多重化情報選択部103は、S304で選択した多重化情報Noの値(本実施例では、「B2」)を出力し、画像処理装置のCPUは、該出力された値を取得する。
【0034】
S307において、多重化情報選択部103は、対象オブジェクトに最適な多重化情報が紐付け情報DB105に保持されていなかったため、多重化情報を選択しなかった旨を示す値(「非選択」を示す値)を出力する。そして、画像処理装置のCPUは、出力された値を取得する。以上が、情報選択処理の内容である。
図3のフローチャートの処理を実行することで、認識されたオブジェクトの種類(オブジェクトNo)に対応する多重化情報が自動的に選択されるため、操作性が向上する。
【0035】
パターン選択部106は、ブロック単位で各画素の濃度変調を行うためのマスクパターンの中から、多重化情報選択部103より受信した数値化された多重化情報に対して適用すべきマスクパターンを選択する。尚、本ステップで選択されるマスクパターンは、画像処理装置の記憶手段に予め記憶されている。
【0036】
図4(a)及び
図4(b)は、バイナリデータに対応するマスクパターンを示しており、
図4(a)のマスクパターンが「0」に対応し、
図4(b)のマスクパターンが「1」に対応する。これらのマスクパターンは、5px×5pxの領域に対応するサイズを有する。5px×5pxの領域に対応する画像データに対して、
図4(a)または
図4(b)のような異なる周期性を持つパターンを組み合わせる(適用する)ことにより、「0」か「1」のバイナリデータを埋め込む。逆に、記録画像を読み取る際には、取得データに対する周波数解析などによって、「0」、「1」のバイナリデータに対応する周期性を認識することにより、「0」、「1」のバイナリデータを読み取ることができる。尚、パターン選択はパターン選択部106で行わなくてもよく、後述の情報多重化部108で行ってもよい。
【0037】
多重化情報レイアウト部107は、多重化情報選択部103で選択された多重化情報を、画像中のどの位置にレイアウトするか決定する処理(多重化情報レイアウト処理とする)を実行する。以下、多重化情報レイアウト処理について、
図5を用いて説明する。
【0038】
図5は、多重化情報レイアウト処理のフローチャートであり、多重化情報選択部103によって選択された多重化情報を画像中に埋め込む位置を決定する手順をステップ毎に示す。なお、
図5の各ステップは、画像処理装置のCPU(
図1(a)の場合)、または、記録装置109のCPU(
図1(b)の場合)によって実行される。
【0039】
S501において、多重化情報レイアウト部107は、オブジェクト認識部101が認識した対象オブジェクトの位置情報を取得する。尚、本ステップで取得する位置情報は、オブジェクト認識部101が領域特定を行った際に取得したものであってもよいし、多重化情報レイアウト部107にて改めてオブジェクトが存在する領域を特定し、該特定した領域の位置情報を求めても良い。
【0040】
S502において、多重化情報レイアウト部107は、対象オブジェクトに対して選択された多重化情報があるか判定する。例えば、S502は、多重化情報レイアウト部107が多重化情報選択部103から取得される情報に基づいて判定処理を行う。具体的には、オブジェクト認識部101が、対象オブジェクトから抽出された特徴量「F1」を多重化情報選択部103に出力する。そして多重化情報選択部103は、特徴量「F1」とオブジェクトDB102に基づいて、オブジェクトNoの値として「I1」を取得する。さらに多重化情報選択部103は、オブジェクトNoの値「I1」と紐付け情報DB105に基づいて特定された多重化情報No「B2」を多重化情報レイアウト部107に出力する。ここで多重化情報レイアウト部107は、多重化情報Noを取得できた場合、S502において真と判定する。一方、多重化情報レイアウト部107は、多重化情報Noを取得できない場合、S502において偽と判定する。本ステップの判定結果が真の場合、S503に進む一方、該判定家結果が偽の場合、多重化情報レイアウト処理は終了する。
【0041】
S503において、多重化情報レイアウト部107は、画像の分割を行う。
図6(a)は、分割された画像を示す。分割した後の1つの小領域(分割領域とする)の大きさは、(埋め込みたい情報のバイナリデータのbit数)×(バイナリデータ1bitを表現するのに必要なマスクパターンの大きさ)となる。例えば「hello」という文字をバイナリデータで表現した場合、上記で説明したように「0110100001100101011011000110110001101111」の40bitとなる。バイナリデータ1bitを表現するのに必要なマスクパターンの大きさは前述したように5px×5pxである。従って、「hello」という文字を埋め込もうとした場合、40×5×5=1000pxの大きさの領域が必要となる。尚、分割領域の形状は正方形でもよいし、長方形でもよい。多重化情報レイアウト部107は、分割領域の大きさと形状とを決定した後、分割領域がその大きさと形状とになるよう、画像を分割する。
【0042】
S504において、多重化情報レイアウト部107は、分割領域の個数分の、S505~S507のループ処理を実行する。
【0043】
S505において、多重化情報レイアウト部107は、S501で取得した対象オブジェクトの位置情報を用いて、注目する分割領域(注目分割領域とする)内に対象オブジェクトの領域が存在するか判定する。尚、注目分割領域の全てにわたって対象オブジェクトの領域が存在する場合だけでなく、注目分割領域の一部に対象オブジェクトの領域が存在する場合も、注目分割領域に対象オブジェクトの領域が存在すると判定する。本ステップの判定結果が真の場合、S506に進む一方、該判定結果が偽の場合、S507に進む。
【0044】
S506において、多重化情報レイアウト部107は、注目分割領域に関しては、多重化情報を埋め込まない領域と決定する。
図6(b)は、多重化情報を埋め込む分割領域、及び、多重化情報を埋め込まない分割領域を示す図である。
図6(b)で多重化情報を埋め込まない分割領域と示されている部分が、S506で埋め込まない領域と決定された領域である。本実施形態では、オブジェクト領域を避けて多重化情報を埋め込みたいため、オブジェクト領域が存在する分割領域に関しては、本ステップにて、多重化情報を埋め込まない領域と決定する。
【0045】
S507において、多重化情報レイアウト部107は、注目分割領域に関しては、多重化情報を埋め込む領域と決定する。
図6(b)で多重化情報を埋め込む分割領域と示されている部分が、S507で埋め込む領域と決定された領域である。本実施形態では、オブジェクト領域を避けて多重化情報を埋め込みたいため、オブジェクト領域が存在しない分割領域に関しては、本ステップにて、多重化情報を埋め込む領域と決定する。以上、多重化情報レイアウト処理の内容である。
図5の処理により、ユーザにより注視されるオブジェクト領域の画質劣化を軽減できる。
【0046】
情報多重化部108は、画像データ100と、パターン選択部106で選択されたマスクパターンと、多重化情報レイアウト部107で設定されたレイアウト情報とを取得する。このレイアウト情報は、多重化情報を画像中のどの分割領域に埋め込むか示す位置情報である。これらの情報を取得した後、情報多重化部108は、該取得した情報に基づき、画像データ100で表される画像の指定領域にマスクパターンを適用した画像データを生成する。
【0047】
例えば、画像データをYUVのU色プレーンとし、それを指定領域の内部に属する1ブロック(5px×5px)毎に処理し、そのYUVのU色プレーンの値に
図4(a)または
図4(b)のマスクパターンの値を適用するケースについて検討する。ここでは、一例として、式(1)のように、これらのマスクパターンの数値に応じてYUVのU色プレーンの値(U値とする)に対する加減算処理を行うものとし、その加減算処理を行う基準値を10とする。
【0048】
【0049】
例えば、1ブロック内の1画素のU値が「20」であり、適用するマスクパターンの数値が「0」である場合には、式(2)のようにU値が処理される。
【0050】
【0051】
また例えば、1ブロック内の1画素のU値が「30」であり、適用するマスクパターンの数値が「2」の場合には、式(3)のようにU値が処理される。
【0052】
【0053】
また例えば、1ブロック内の1画素のU値が「40」であり、適用するマスクパターンの数値が「-1」の場合には、式(4)のようにU値が処理される。
【0054】
【0055】
このように本実施形態では、画素毎に、適用するマスクパターンの数値と、基準値と、を掛け合わせた値を加算することによって、多重化を実現する。尚、マスクパターンの適用方法は、U色プレーン上に、マスクパターンを埋め込むことができれば任意の方法を採用してよく、ここで挙げた方法に限定されない。
【0056】
尚、前述したオブジェクト認識部101によって実行される処理ないし情報多重化部108によって実行される処理について、記録装置109外で実行してもよいし(
図1(a)参照)、記録装置109内で実行してもよい(
図1(b)参照)。情報多重化部108が出力した多重化エンコード処理後の画像データは、記録装置109、又は、記録部111に送信される。
【0057】
図7は、多重化エンコード処理後の画像データに基づく記録処理のフローチャートである。尚、
図7における各ステップの処理は、記録装置109のCPUが実行するものとして説明するが(
図1(a)の場合)、記録部111が実行してもよい(
図1(b)の場合)。
【0058】
S701において、記録装置109のCPUは、情報多重化部108によって多重化情報が埋め込まれた画像データ(多重化画像データと呼ぶ)を取得する。
【0059】
S702において、記録装置109のCPUは、多重化画像データに対して色補正を施す。「色補正」とは、記録装置によって記録媒体に記録される画像の色が好適な色となるように、画像データを変換する処理を指す。例えば、モニタ等の表示装置に表示された画像を記録する場合、表示装置における色再現範囲と記録装置における色再現範囲とは、必ずしも一致しない。ある色では、表示装置と比べて記録装置の再現範囲の方が狭く、また、別の色では、表示装置と比べて記録装置の再現範囲の方が広い場合がある。そのため、画像の劣化を最小限にして、適宜、色の圧縮および伸長を行う必要がある。本実施形態では一例として、それらの処理をRGB形式で実施する。つまり、記録装置の再現性を考慮して、入力されたRGB値を記録装置用のRGB値(記録装置用RGB値と呼ぶ)に変換する。この変換は、マトリクス演算によって行うことも可能だが、一般的には、3次元の色補正テーブルが利用される。入力されるRGB値を各色8ビット(256階調)とした場合、全ての組み合わせを保持することは記憶容量の観点から現実的でないため、色補正テーブルとして、所定の間隔で間引かれたテーブルを用いる。本実施形態では一例として、グリッド点の数が17のテーブルを用いるものとする。
【0060】
S703において、記録装置109のCPUは、インク色変換を行う。インク色変換では、S702の色補正によって得た記録装置用RGB値をインク色の値(例えばCMYK値)に変換する。この変換には、記録装置用RGB値の組み合わせと、インク色の値(例えばCMYK値)の組み合わせと、が予め対応付けられた色分解テーブルを用いる。尚、S702の色補正と同様、本ステップでもグリッド点の数が17のテーブルを用いるものとする。
【0061】
S704において、記録装置109のCPUは、濃度補正を行う。インクジェット記録装置においては、用紙等の記録媒体上にドットを形成するために付与されるインクの量が多くなるにしたがって、ドットの重なりが増加し、記録画像における濃度が上昇しにくくなる。S704では、このような濃度の応答性を均一にするために濃度を補正する。このような濃度補正により、色補正テーブルおよび色分解テーブルの作成精度が確保しやすくなる。CMYKの4色インクを用いる記録装置においては、それらのインク色について濃度補正を行う。本実施形態では一例として、1次元の濃度補正テーブルを用いる。このテーブルとしては、インク色毎の入力8ビット(256階調)に対応したテーブルであって、入力信号値と補正後の出力信号値とを対応付けたテーブルを予め用意しておけばよい。
【0062】
S705において、記録装置109のCPUは、階調変換を行う。「階調変換」とは、S704でインク色毎に濃度補正が施された後の多ビットデータを、記録装置において記録可能な階調数のデータに変換する処理を指す。尚、本実施形態では一例として、多ビットデータを記録「1」または非記録「0」の2階調(1bit)データに変換する。また、階調の変換方法としては、画像の低周波成分を排除して、視覚に好適な階調の再現が可能な誤差拡散法を採用する。また、入力信号(多ビットデータ)として、画素値が0~255の8ビットのデータを想定する。S705の階調変換を全てのインク色C、M、Y、Kに対して実行することにより、記録装置109で記録可能な1ビットのインク色毎の記録データが得られる。
【0063】
S706において、記録装置109のCPUは、記録処理を行う。詳しく説明すると、記録装置109のCPUは、S705で得た記録データを記録エンジンに送信し、該記録エンジンを用いて、該送信した記録データに基づいて各色のインクを記録媒体に付与する。本ステップにより、記録媒体上にインクで画像が形成された記録物を生成する。
【0064】
なお、本実施形態により多重化情報が埋め込まれた印刷物を、例えば、カメラおよび表示部を備えるスマートフォンで撮像した場合、スマートフォンの表示部には、印刷物の画像と共に、印刷物に埋め込まれた多重化情報から認識された文字列等が表示される。
【0065】
<本実施形態の効果>
本実施形態によれば、注視されるオブジェクト領域を避けて情報を埋め込むことが可能である。従って、画像劣化領域が注視されなくなり、画質の劣化が目立たなくなる。
【0066】
[第2の実施形態]
第1の実施形態では、多重化情報を埋め込む領域を、オブジェクト領域を除く全ての領域としていた。オブジェクトが1つの場合はそれでもよいが、オブジェクトが画像内に複数あった場合に、オブジェクト領域を除く全ての領域に、それぞれのオブジェクトの多重化情報を埋め込んでしまうと、1つの領域に複数の多重化情報を埋め込むことになる。同じ領域に複数の多重化情報が埋め込まれた場合、情報を抽出する際に複数の多重化情報を判別する処理が必要になるため、1つの領域には1つの情報のみが埋め込まれることが望ましい。
【0067】
そこで本実施形態では、多重化情報を埋め込む領域を、オブジェクト領域の周囲に限定する。これにより、複数のオブジェクトがあった場合でも、それぞれのオブジェクトが十分離れているならば、1つの領域に複数の多重化情報を埋め込むことがなくなる。こうすることで、1つの領域に複数の多重化情報を埋め込まないようにしつつ、多重化情報をオブジェクト領域ではない部分に埋め込むことができる。尚、以降、既述の実施形態との差分について主に説明し、既述の実施形態と同様の内容については説明を適宜省略する。
【0068】
注目分割領域がオブジェクト領域の周囲か否かを判定する方法としては、S504のループ終了後に行う方法と、注目分割領域内に対象オブジェクトの領域が存在しないと判定された後(S505でNOの後)に行う方法がある。
【0069】
S504のループ終了後に行う場合、ループ終了後にそれぞれの分割領域に対して、該それぞれの分割領域と最も距離が近いオブジェクトの多重化情報をレイアウトする処理を行う。このときに求める距離として、重畳している領域から、該重畳している領域に最短の「オブジェクトを含む領域」までの領域に沿ったマンハッタン距離を採用してよい。或いは、重畳している領域の中心と、オブジェクトの中心との間の距離であるユークリッド距離を採用してもよい。
図8は、マンハッタン距離を採用して、それぞれの分割領域に対して、該それぞれの分割領域に最も近いオブジェクトの多重化情報を選んだ場合のレイアウト結果を示す。
【0070】
一方、注目分割領域内に対象オブジェクトの領域が存在しないと判定された後(S505でNOの後)に行う場合、
図5に示したフローチャートを変更する必要がある。以下、この場合の多重化情報レイアウト処理について、
図9を用いて説明する。なお、
図9の各ステップは、画像処理装置のCPU(
図1(a)の場合)、または、記録装置109のCPU(
図1(b)の場合)によって実行される。
【0071】
S901において、多重化情報レイアウト部107は、対象オブジェクトの位置情報を取得する。本ステップは、
図5のS501と同様である。
【0072】
S902において、多重化情報レイアウト部107は、対象オブジェクトに対して選択された多重化情報があるか判定する。本ステップの判定結果が真の場合、S903に進む一方、該判定家結果が偽の場合、多重化情報レイアウト処理は終了する。本ステップは、
図5のS502と同様である。
【0073】
S903において、多重化情報レイアウト部107は、画像の分割を行う。本ステップは、
図5のS503と同様である。
【0074】
S904において、多重化情報レイアウト部107は、分割領域の個数分の、S905~S909のループ処理を実行する。
【0075】
S905において、多重化情報レイアウト部107は、S901で取得した対象オブジェクトの位置情報を用いて、注目分割領域内に対象オブジェクトの領域が存在するか判定する。尚、注目分割領域の全てにわたって対象オブジェクトの領域が存在する場合だけでなく、注目分割領域の一部に対象オブジェクトの領域が存在する場合も、注目分割領域に対象オブジェクトの領域が存在すると判定する。本ステップの判定結果が真の場合、S906に進む一方、該判定結果が偽の場合、S907に進む。
【0076】
S906において、多重化情報レイアウト部107は、注目分割領域に関しては、多重化情報を埋め込まない領域と決定する。本実施形態では、オブジェクト領域を避けて多重化情報を埋め込みたいため、オブジェクト領域が存在する分割領域に関しては、本ステップにて、多重化情報を埋め込まない領域と決定する。
【0077】
S907において、多重化情報レイアウト部107は、注目分割領域の周囲に(具体的には、注目分割領域との距離が分割領域N個分の範囲内に)、にオブジェクト領域が存在する他の分割領域があるか判定する。本ステップの判定結果が真の場合、S908に進む一方、該判定結果が偽の場合、S909に進む。
図10は、S907においてN=1とし、オブジェクト周囲の分割領域であって、オブジェクト領域が存在する他の分割領域との距離が領域1個分となる分割領域を、多重化情報を埋め込む領域としたときの様子を示す。
【0078】
S908において、多重化情報レイアウト部107は、注目分割領域に関しては、多重化情報を埋め込む領域と決定する。前述したように、本実施形態では、オブジェクト領域を避けながら、その周囲に多重化情報を埋め込みたい。従って、オブジェクト領域が存在しない分割領域であって、その周囲にオブジェクト領域が存在する他の分割領域が存在する分割領域に関しては、本ステップにて、多重化情報を埋め込む領域と決定する。
【0079】
S909において、多重化情報レイアウト部107は、注目分割領域に関しては、多重化情報を埋め込まない領域と決定する。本実施形態では、オブジェクト領域を避けながら、オブジェクト領域の周囲に限定して多重化情報を埋め込みたい。従って、オブジェクト領域が存在しない分割領域であっても、その周囲にオブジェクト領域が存在する他の分割領域が存在しない分割領域に関しては、本ステップにて、多重化情報を埋め込まない領域と決定する。
【0080】
<本実施形態の効果>
前述したように本実施形態では、多重化情報を埋め込む領域を該多重化情報に対応するオブジェクト領域の周囲に限定する。これにより、複数のオブジェクトが存在する画像においても、埋め込み領域を重畳させることなく多重化情報を埋め込むことができる。
【0081】
[第3の実施形態]
第2の実施形態では、多重化情報をオブジェクト領域の周囲に埋め込む方法を説明したが、この方法では、画像内で異なるオブジェクト同士が近くに存在するときに埋め込む領域が被ってしまうことがあった。その結果、同じ領域に複数の多重化情報が埋め込まれた場合、情報を抽出する際に複数の多重化情報を判別する処理が必要になる。従って、前述したように、1つの領域には1つの情報のみが埋め込まれていることが望ましいことから、課題があった。
【0082】
そこで本実施形態では、オブジェクト同士が近くに存在するときにも、多重化情報を埋め込む領域が重畳しないよう埋め込み領域を調整することで、埋め込み領域の重畳を防ぎながら埋め込みを行う。
【0083】
埋め込み領域の調整は、例えば
図11(a)のような画像に対して実施される。
図11(a)に示す画像には、オブジェクトaとオブジェクトbとの2つのオブジェクトが写っている。ここで、
図11(a)の画像に対し、第2の実施形態を適用した場合を説明する。この場合、オブジェクト領域の周囲の各分割領域について、オブジェクトaの情報である情報Aを埋め込む領域と、オブジェクトbの情報である情報Bを埋め込む領域との何れに該当するか決定する必要がある。しかし、第2の実施形態における方法を用いた場合、一部の分割領域について、情報Aを埋め込む領域と、情報Bを埋め込む領域との何れに該当するか決定することができない。
図11(a)に示すように、オブジェクトaとオブジェクトbとの間には、クエスチョンマークが書かれた分割領域がある。これらの分割領域が、情報Aを埋め込む領域と、情報Bを埋め込む領域との何れに該当するかを決定できなかった領域、言い換えると、情報Aを埋め込む領域と、情報Bを埋め込む領域とが重畳している領域である。
【0084】
<埋め込み領域調整処理>
以下、本実施形態における埋め込み領域調整処理について、
図12を用いて説明する。尚、
図12に示す埋め込み領域調整処理は、多重化情報レイアウト部107によって実行される多重化情報レイアウト処理と、情報多重化部108によって実行される多重化処理との間に実行される。また、
図12の各ステップの処理は、画像処理装置のCPU(
図1(a)の場合)、または、記録装置109のCPU(
図1(b)の場合)によって実行される。
【0085】
S1201において、CPUは、重畳している分割領域(重畳分割領域とする)の個数を数える。言い換えると、CPUは、複数の多重化情報の埋め込み位置と判定された分割領域の個数を数える。例えば
図11(a)の場合、重複分割領域の個数は5となる。
【0086】
S1202において、CPUは、S1201で取得した個数分の、S1203~1205のループ処理を実行する。例えば
図11(a)の場合、5回のループ処理を実行する。
【0087】
S1203において、CPUは、注目する重畳分割領域と、オブジェクトの領域(以下、オブジェクト領域とする)との間の距離に関して、異なるオブジェクト間で同じか判定する。本ステップの判定結果が真の場合、S1204に進む一方、該判定結果が偽の場合、S1205に進む。
【0088】
例えば、ある重畳分割領域に対し、オブジェクトaの情報A、又は、オブジェクトbの情報Bを埋め込もうとしている場合、該重畳分割領域とオブジェクトaの領域との間の距離と、該重畳分割領域とオブジェクトbの領域との間の距離とが同じか判定する。同じと判定された場合、S1204へ進む一方、同じでないと判定された場合、S1205へ進む。
【0089】
本ステップで求める距離として、第2の実施形態と同様、マンハッタン距離またはユークリッド距離を採用することができる。
図11(a)において、マンハッタン距離を採用して、S1203の距離判定を行った場合を検討する。この場合、図中一番上のクエスチョンマークの分割領域に関しては、該分割領域とオブジェクトaの領域との間の距離、及び、該分割領域とオブジェクトbの領域との間の距離はどちらも1である。従って、S1203でYESと判定され、S1204に進む。尚、
図11(a)では、クエスチョンマークで示す分割領域が5つあるが、これらの分割領域は何れも、相異なるオブジェクトとの距離が1であることから、フローはS1203の後、S1204に進む。
【0090】
S1204において、CPUは、注目する重畳分割領域とオブジェクト領域との間の距離に関して、異なるオブジェクト間で同じと決定する。この場合、注目する重畳分割領域とオブジェクト領域との間の距離のみに基づいて、何れのオブジェクトの情報をこの分割領域に埋め込むか判定できない。従って、本ステップでは、情報の埋め込みを行わない。
【0091】
S1205において、CPUは、注目する重畳分割領域に最も近いオブジェクトに対応する多重化情報を、該注目する重畳分割領域に埋め込む。
【0092】
S1206において、CPUは、S1204で距離が同じと判定された重複分割領域のそれぞれに対し、複数のオブジェクトのうち1つのオブジェクトに対応する多重化情報を埋め込む。このとき、1つのオブジェクトに対応する多重化情報が埋め込まれた重複分割領域の数が、異なるオブジェクト間で均等になるようにする。
【0093】
S1204で距離が同じと決定された重畳分割領域に関しては、それぞれのオブジェクトからの距離が等しいことから、複数オブジェクトのうち何れの多重化情報を埋め込んでもよい。従って、ある1つのオブジェクトに対応する多重化情報を埋め込む重複分割領域の数が、異なるオブジェクト間で可能な限り均等になるように、重複分割領域それぞれに対して、埋め込む多重化情報を選択する必要がある。具体的には、重複分割領域の数をオブジェクトの数で除算し、該除算によって導出した商の数分の重複分割領域に対して、任意の1つのオブジェクトに対応する多重化情報を埋め込む。尚、剰余分(割り切れなかった分)の重複分割領域に対しては、同一オブジェクトの多重化情報を選択しないようランダムに振り分ければよい。
【0094】
図11(b)は、領域の振り分け後の具体例を示す図である。
図11(b)の例では、S1204で同距離と判定された重畳分割領域の数が5つであり、オブジェクトの数が2つである。従って、この5つの領域について、2つの領域をオブジェクトaに、2つの領域をオブジェクトbに振り分け、残った1つの領域をオブジェクトa又はオブジェクトbの何れかにランダムに振り分ける。尚、
図11(b)では、残った1つの領域はオブジェクトaに振り分けられたものとしている。
【0095】
<本実施形態の効果>
前述したように本実施形態では、多重化情報を埋め込む領域が被った場合に、埋め込み領域を調整する。これにより、埋め込み領域の重畳を防ぎながら埋め込みを行うことができる。
【0096】
[第4の実施形態]
第1~第3の実施形態では、オブジェクト認識結果と多重化情報とが1対1対応して紐付けされており、多重化情報は、紐付け情報を用いて選択される(もしくは非選択となる)。但し、実際のユースケースとして、オブジェクト認識結果に対する多重化情報の選択候補が複数存在する場合がある。複数の選択候補の中から最適な多重化情報を選択するために、本実施形態では、評価処理のステップを設ける。尚、この評価処理は、
図1における多重化情報選択部103によって実行される。
【0097】
図13は、第4の実施形態を説明するための図であり、DBの具体例を示す。
図13(a)は、オブジェクト認識で用いる教師データのデータベースを示している。
図13(b)は、多重化情報のデータベースである。
図13(a)は
図2(a)と同様であり、
図13(b)は
図2(c)と同様である。本実施形態は、
図13(c)のような紐付け情報を保持するデータベース用いる点で、前述の実施形態と異なる。
【0098】
図13(c)では、紐付けNo値S
1~S
9に対して多重化情報No値B
1~B
8が対応付けられている。紐付けNo値S
2及びS
6は双方ともに、多重化情報No値B
2と対応している。オブジェクトNo値I
1~I
5も同様に、紐付けNo値や多重化情報No値と1対1対応していない。本実施形態では、オブジェクトの数、オブジェクトのサイズ、及びオブジェクトの位置を紐付け情報を選択するための条件として使用する。なお、オブジェクトの数、オブジェクトのサイズおよびオブジェクトの位置は、オブジェクトの種類以外のオブジェクトに関わる情報と呼ぶこともある。
【0099】
紐付けNo値S
1及びS
4はそれぞれ、同じオブジェクトNo値I
3と対応しており、あるオブジェクトに対する紐付けNo値を一意に求めるために、画像内のオブジェクト領域の位置に基づいて紐付けNo値を区別する。本例では
図13(c)に示すように、オブジェクトの位置について、所定の閾値Y_THを設定し、画像内のオブジェクトのY座標がこの閾値以上の場合は紐付けNo値S
1であるとして、そうでない場合は紐付けNo値S
4であるとした。尚、原点が画像左上であると仮定している。このような実施形態が有効なユースケースとして、大判ポスターが挙げられる。印刷物が大きい大判ポスターの場合、同じオブジェクトであっても読み取り側のユーザに依って、スマートフォン等の端末をかざす位置が異なる。仮に、大人は高い位置のオブジェクトに端末をかざす一方、子供は低い位置のオブジェクトに端末をかざすことを想定すれば、オブジェクトに埋め込む多重化情報は大人用と子供用とで分けることが有効である。同じ文字情報による多重化情報でも、大人用は漢字と平仮名である一方、子供用は平仮名だけ、といった使い分けが可能である。
図13(c)の紐付けNo値S
1及びS
4を、大人用と子供用とで使い分けることを想定する場合、紐付けNo値S
4は大人用、紐付けNo値S
1は子供用になる。
【0100】
紐付けNo値S
2及びS
9はそれぞれ、同じオブジェクトNo値I
1と対応しており、あるオブジェクトに対する紐付けNo値を一意に求めるために、画像内のオブジェクト領域のサイズ(オブジェクトサイズとする)に基づいて紐付けNo値を区別する。本例では
図13(c)に示すように、オブジェクトサイズについて、所定の閾値SIZE_THを設定し、画像におけるオブジェクトサイズがこの閾値以上の場合は紐付けNo値S
2であるとして、そうでない場合は紐付けNo値S
9であるとしている。このような実施形態が有効なユースケースとして、同じオブジェクトに対する詳細な多重化情報と簡易な多重化情報との使い分けが挙げられる。具体的に説明すると、冊子のページ中で同じオブジェクトが大きく掲載されているか小さく掲載されているかに応じて、そのオブジェクトがページ中にメインで掲載されているか否かが分かる。大きく掲載されている場合は、詳細な多重化情報を選択する一方で、小さく掲載されている場合は、簡易な多重化情報を選択する。簡易な多重化情報であれば埋め込みデータ量が小さいことから、画像中の小さな領域に埋め込むことができる。ページ中にメインで掲載されていない場合は簡易な多重化情報を選択すれば、メインで掲載されるオブジェクトに紐付く多重化情報と重畳して埋め込んでしまうことを極力避けることができる。
【0101】
紐付けNo値S
7及びS
8はそれぞれ、同じオブジェクトNo値I
5と対応しており、あるオブジェクトに対する紐付けNo値を一意に求めるために、画像内のオブジェクト数に基づいて紐付けNo値を区別する。本例では
図13(c)に示すように、オブジェクト数について、所定の閾値NUM_THを設定し、画像内のオブジェクト数がこの閾値以上の場合は紐付けNo値S
7であるとして、そうでない場合は紐付けNo値S
8であるとしている。このような実施形態が有効なユースケースとして、群情報用の多重化情報と個情報用の多重化情報との使い分けが挙げられる。例えばオブジェクトを認識した結果、複数の服が近接で認識された場合は、その服のブランドの紹介といった群情報を多重化情報として埋め込む。一方で、1枚の服が認識された場合は、その服の製品名や値段といった個情報を多重化情報として埋め込む。
【0102】
紐付けNo値S5のように、オブジェクトNo値がブランクの紐付け情報が用意されても良い。この場合、オブジェクトの種類に依らず、任意のオブジェクトのオブジェクトサイズが所定の条件を満たす場合(Size≧SIZE_TH)に、多重化情報B5が選択される。
【0103】
なお、
図13(c)を使用する場合、1つのオブジェクトが複数の紐付け情報を選択するための条件に一致する可能性もある。例えば、画像内にオブジェクトNo「I
1」に相当し、かつ、サイズがTH以上のオブジェクトがあったとする。このオブジェクトは、紐付けNo「S
2」と「S
5」に該当することになる。このようなケースにおいて複数の紐付け条件から多重化情報を選択するために、評価処理のステップを設けることが有効である。評価手法としては、上記のような紐付け情報を選択するための条件に基づいて選択的に決定する手法の他に、重み付け総和を算出して関連度合いを評価する手法がある。オブジェクトNo、オブジェクト数、オブジェクトサイズ、オブジェクト位置の重みをそれぞれα
1、α
2、α
3、α
4と設定する。式(5)に示すように、それぞれ条件に合致していた場合は、重みを累積加算して評価値を算出する。最終的な評価値が最も高い紐付けNo値を選択し、その時の多重化情報No値を出力する。
【0104】
【0105】
S
Lは紐付けNoの各値を示している。Tは紐付けNoに対して与えられているオブジェクトNo、オブジェクト数、オブジェクトサイズ、オブジェクト位置の条件に対して合致していれば1、合致していなければ-1を表す変数である。紐付けNoに対して与えられている条件について
図13(c)中の「-」のようにブランクである場合は、T=0であるとする。SUMの値が大きいものに紐付く多重化情報Noの値を、最終的な選択結果とする。
【0106】
例えば紐付けNo値S2とS5とは両方とも、同一のオブジェクトサイズ条件を持つが、紐付けNo値S2はオブジェクトNo値I1を指定する一方で、紐付けNo値S5は指定がない。指定がない場合はT=0であるため、その分評価値は下がる。仮に全ての重みが同値で、認識したオブジェクトのオブジェクトNo値がI1であり、オブジェクトサイズがSize≧SIZE_THを満たしたとすれば、評価結果として対象のオブジェクトに対して、多重化情報No値B2が選択される。しかし、認識したオブジェクトのオブジェクトNo値がI1でなかった場合は、対象のオブジェクトに対して、多重化情報No値B5が選択される。
【0107】
SUMに対して閾値を設定することも可能である。その場合、全ての紐付けNo値に対応するSUMが閾値を超えられなかった場合は、「非選択」を示す値を選択結果として出力する。「非選択」とされた対象オブジェクトについてのレイアウト処理は、第1の実施形態と同様である。
【0108】
図14は、本実施形態における情報選択処理のフローチャートである。尚、
図14の各ステップの内、第1の実施形態と同様のステップについては、説明を割愛する(
図3参照)。
【0109】
S1401において、多重化情報選択部103は、注目する紐付けNo値に対応する評価値SUMを算出する。
【0110】
S1402において、多重化情報選択部103は、全ての紐付け情報No値に対する評価値SUMの中で最も大きい値を、SUM_MAXと設定する。そして、多重化情報選択部103は、SUM_MAXが所定の閾値SUM_TH以上か判定する。本ステップの判定結果が真の場合、S1403に進む一方、該判定結果が偽の場合、S306に進む。
【0111】
S1403において、多重化情報選択部103は、SUM_MAXとなる紐付けNo値に対応する多重化情報No値を出力し、画像処理装置のCPUは、該出力された値を取得する。
【0112】
<本実施形態の効果>
前述したように本実施形態では、多様なユースケースに関わるオブジェクト情報や、多重化情報を紐付けるために、複数の評価項目と評価ステップとを用いて多重化情報を選択する。これにより、多様なユースケースに対して多重化情報が自動で選択されることになり、ユーザの負荷が軽減される。
【0113】
[第5の実施形態]
前述した第1の実施形態、第4の実施形態では、紐付け情報としてオブジェクトNo等を用いていた。通常、紐付け情報は手動で設定するが、自動で設定することも可能である。
【0114】
例えば、オブジェクトDB102に記憶する教師データを動画から取得することを想定する。動画内のあるフレームを抜き出して、該抜き出したフレームに対してオブジェクト認識を実施することが可能である。一方で、動画には音声が含まれているため、フレームの前後数秒間の音声を多重化情報として設定する事が可能である。フレームに写る人物をオブジェクト認識した場合、その「人物」の情報と、そのときの「音声」の情報とを、互いに紐付けることが可能である。このような、画像に写るオブジェクトの種類を示す情報と、多重化対象の情報とが一揃いで含まれるような情報に対しては、紐付け情報を自動的に生成することができる。なお、多重化可能な情報(本実施形態では音声)は、付加情報に対応する情報と呼ぶこともある。
【0115】
別の例として、SNS情報がある。SNSでは一般的に、写真と、コメントとが同時に記載されている。コメントを多重化情報として埋め込みたい場合は、写真に写る「人物」の情報と、そのときの「コメント」の内容とを、互いに紐付けることが可能である。
【0116】
<本実施形態の効果>
本実施形態によれば、紐付け情報を自動で設定することが可能であるため、手動で設定する場合と比べて、ユーザの負荷を減らすことができる。
【0117】
[その他の実施形態]
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。尚、本発明は、前述の実施形態の要素を適宜組み合わせてもよい。
【符号の説明】
【0118】
101 オブジェクト認識部
107 多重化情報レイアウト部