JP3715821B2 - Image processing apparatus and method - Google Patents

Image processing apparatus and method Download PDF

Info

Publication number
JP3715821B2
JP3715821B2 JP09007399A JP9007399A JP3715821B2 JP 3715821 B2 JP3715821 B2 JP 3715821B2 JP 09007399 A JP09007399 A JP 09007399A JP 9007399 A JP9007399 A JP 9007399A JP 3715821 B2 JP3715821 B2 JP 3715821B2
Authority
JP
Japan
Prior art keywords
multiplexing
information
additional information
image
quantization
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.)
Expired - Fee Related
Application number
JP09007399A
Other languages
Japanese (ja)
Other versions
JP2000287080A (en
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP09007399A priority Critical patent/JP3715821B2/en
Publication of JP2000287080A publication Critical patent/JP2000287080A/en
Priority to US10/754,524 priority patent/US6954542B2/en
Application granted granted Critical
Publication of JP3715821B2 publication Critical patent/JP3715821B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は画像処理装置及びその方法に関し、特に画像情報に対して付加情報を多重化する画像処理装置及びその方法に関する。
【0002】
【従来の技術】
従来より、画像情報中に、画像に関連のある他の情報を多重化する研究が盛んに行われている。
【0003】
近年では、電子透かし技術と称し、写真、絵画等の画像情報中に、その著作者名や、使用許可の可否等の付加情報を視覚的に判別しづらい様に多重化した上で、インターネット等のネットワークを介して流通させる技術が標準化されつつある。
【0004】
また、他の応用分野としては、複写機やプリンタ等の画像形成装置の高画質化に伴い、紙幣や印紙等の有価証券の不正な偽造を防止する目的において、記録紙上に出力された画像から出力機器種別、及び、その機体番号を特定する為に、画像中に付加情報を埋め込む技術が知られている。
【0005】
例えば、特開平7−123244では、視覚的に感度の低い色差成分、及び彩度成分の高周波域に付加情報を埋め込むことにより情報の多重化を行う技術が提案されている。
【0006】
【発明が解決しようとする課題】
しかしながら、上記従来の多重化技術には、以下に示す問題がある。
【0007】
図12は、従来の付加情報の埋め込み方法を模式的に示す図である。同図によれば、画像情報Aと付加情報Bが加算器1201を介して多重化されることにより、多重化情報Cが生成される。加算器1201においては、画像情報Aの実空間上で加算を行なっても良いし、画像情報Aをフーリエ変換等を用いて周波数領域に変換した後、付加情報Bを高周波域等に合成しても良い。
【0008】
このようにして生成された多重化情報Cを、各種フィルタリング等の画像処理や非可逆圧縮等の符号化を施すことなくネットワーク上を流通させることが可能であれば、多重化情報Cから付加情報Bを復号することは、従来においても容易に可能である。また、例えばインターネット上で流通する画像情報は、多少のノイズ耐性があれば、エッジ強調や平滑化等、画質向上のためのデジタルフィルタを通しても復号が可能である。
【0009】
ここで、画像形成装置が単色あたり2階調から数階調程度の表現能力しか有していない場合を想定する。近年、インクジェットプリンタは、染料濃度を薄くしたインクを有したり、出力するドット径を可変制御したりすることにより、単色あたり数階調表現を可能とする装置が知られているが、それでも疑似階調処理を用いない限りは、画像を写真調に表現することはできない。
【0010】
図1は、従来の付加情報の多重化に際し、擬似階調処理を行なう例を模式的に示す図である。即ち、図1に示す構成に対して更に、疑似階調処理101によって多重化情報Cを量子化情報Dに変換し、その後、プリンタ出力102によって記録用紙上に印刷出力することにより、非常に劣化した紙上情報Eが得られる。
【0011】
従って、上述した偽造防止の目的の為に、記録用紙上の情報から付加情報を復号するということは即ち、図1に示す一連の処理後の紙上情報Eから付加情報Bを復号するということになる。しかしながら、擬似階調処理101及びプリンタ出力102の両処理による画像情報の変化量は非常に大きい。従って、付加情報を視覚的に判別できないように多重化し、かつ、多重化した付加情報を記録用紙上から正しく復号するということは、非常に困難なことである。
【0012】
上述した特開平7−123244に記載された多重化技術においては、画像の高周波域に情報を付加させている。しかしながら後段の疑似階調処理において誤差拡散法を実施した場合には、誤差拡散法特有のハイパスフィルタの特性により、付加情報の帯域が誤差拡散で発生するテクスチャの帯域に埋没してしまい、復号が困難となってしまう恐れが多分にある。また、正確な復号のためには非常に精度の高いスキャナ装置が必要となる。
【0013】
即ち、疑似階調処理が前提である場合には、図1に示す多重化方式は適さないことがわかる。言い換えると、疑似階調処理の特性を大きく活かした付加情報の多重化方式が必要である。
【0014】
付加情報の多重化と疑似階調処理の冗長性とを結び付けた例として、特許第2640939号、第2777800号がある。
【0015】
前者は、組織的ディザにて2値化を行なう際に、同一階調を表すディザマトリクスの中からいづれか一つを選定することによって、画像信号中に付加データを混入するものである。しかし、組織的ディザ法では、高解像の、しかも機械的精度の非常に優れたプリンタで無い限り、写真調の高画質出力は困難である。多少の機械的精度のずれが横筋等の低周波ノイズとして発生し、紙上で容易に視覚されてしまうからである。また、ディザマトリクスを周期的に変化させると、規則的に配列されていたデイザにより発生する特定周波数の帯域が乱され、画質的に悪影響を及ぼしてしまう。また、復号側においても、原信号である画像情報の画素値が不明な状態で、いかなるディザマトリクスで2値化されたかを推測して復号を行なわねばならず、正確な復号は困難であった。
【0016】
また、後者は、カラーのディザパターン法を用いて、その配列により付加情報を多重化する方法を示している。この方法でも前者と同様、ディザマトリクスの切り換えによる画質劣化は避けられない。また、前者と比べて、より多くの付加情報を多重化できる代わりに、色成分の配列を変化させることによる色見の変化をもたらし、特に平坦部において画質劣化が大きくなる。また、復号も更に困難になることが予想される。
【0017】
いずれにしても、ディザマトリクスを変化させる両者の方法では、画質劣化が大きい割に、復号が困難であるという問題点を有している。
【0018】
また、特に音声情報等の大量の情報を画像中に埋め込む方法としては、例えば特許第2833975号に記載されている方法がある。これは、音声情報を所謂2次元バーコードと称されるドットコードに変換し、画像の余白部や画像の内部に印字するものである。
【0019】
しかしながらこの方法は、画像情報に対して付加情報であるドットコードを多重化しているものではなく、また、付加情報(ドットコード)を視認されづらくしているものでもない。唯一、ドットコード視認されづらく工夫している例として、透明塗料を使用してコードを画像中に埋め込む例が記載されているが、特殊なインクを必要とするためコストアップを招くのみならず、当然、記録用紙上に出力された画像は当然画質劣化してしまう。
【0020】
本発明は上記問題を解決するためになされたものであり、画像情報に対して画質劣化を抑制しつつ大量の付加情報の多重化を可能とする画像処理装置及びその方法を提供することを目的とする。
【0021】
【課題を解決するための手段】
上記目的を達成するために、本発明の画像処理装置は以下の構成を備える。
【0022】
即ち、画像情報に対して付加情報を多重化する画像処理装置であって、前記画像情報の注目画素を誤差拡散処理により量子化する量子化手段と、前記注目画素を含む複数画素の量子化値によって前記付加情報を示し、かつ特定濃度で前記量子化手段による誤差拡散処理では発生し得ない特定パターンを形成することにより、前記付加情報を多重化する多重化手段と、前記多重化手段において形成される前記特定パターンの多重化間隔を前記付加情報の情報量に応じて制御する制御手段と、を有することを特徴とする。
【0024】
【発明の実施の形態】
以下、図面を参照して本発明に係る好適な実施形態について詳細に説明する。尚、各実施形態における画像処理装置は、主として、プリンタエンジンへ出力すべき画像情報を作成するコンピュータ内のプリンタドライバソフトとして内蔵することが効率的であるが、複写機、ファクシミリ、プリンタ本体等にハードウエア、及びソフトウエアとして内蔵することも効果がある。
【0025】
<発明の概要>
本発明は、画像情報に対して画質劣化を抑制しつつ、大量の付加情報の多重化を可能とすることを目的としている。
【0026】
画質劣化を抑制して付加情報を多重化する方法として、本出願人は、誤差拡散法によって生じるテクスチャを利用し、通常の疑似階調処理では発生し得ない量子化値のパターンを人工的に作成することにより、付加情報の符号を多重化する方法を見出している。
【0027】
この方法によれば、テクスチャの形状が微視的に変化するのみであるため、視覚的には画質劣化が認められない。また、誤差拡散法の量子化閾値を変更することによって上記パターンを作成することにより、面積階調の濃度値も視覚的に保たれるため、極めて容易に異種信号の多重化が実現できる。
【0028】
しかしながら、上記誤差拡散法のテクスチャを利用した多重化方法においては、多重化する付加情報は主として機種名や機種番号等のインデックス情報であることが前提となっていた。即ち、埋め込むべき情報量が画像情報に比べて非常に小さい場合が想定されていた。そのため、情報量の多い例えば音声情報等を多重化する場合を考えると、画像中に全ての付加情報を多重化することが困難となるおそれがある。
【0029】
そこで本発明においては、大量の付加情報をも多重化可能とするために、画質劣化の許容限界となる多重化ブロックサイズを予め実験的に算出した値に基づいて算出しておく。そして、該ブロックサイズ内で1ビットの多重化を行なうことにより、付加情報のサイズ及び画像サイズに応じた多重化処理を実現した。
【0030】
以下、本発明に係る好適な実施形態について説明する。
【0031】
<第1実施形態>
本発明に係る第1実施形態においては、画像情報に対して音声情報を多重化する例について説明する。
【0032】
図1は、本実施形態における画像処理システムの概要構成を示すブロック図である。同図において、破線で囲んだブロック100は送信システムを示し、同じくブロック101は受信システムを示す。
【0033】
送信システム100において、102は多重化疑似階調処理部であり、入力された画像情報と、その画像中に埋め込むべき音声情報とを多重化する手段である。多重化擬似階調処理部102においては、多重化と疑似階調処理とを同時に実行するため、即ち、目的の異なる二種の処理を一度に実現する。尚、この多重化疑似階調処理についての詳細は後述する。多重化疑似階調処理された情報は、画像出力部103においてプリンタ等の出力機器により記録用紙等の媒体上に出力される。以下、記録用紙上に出力された情報を紙上情報と称する。
【0034】
この紙上情報は、例えば遠隔地等にある送信相手側に送られる。紙上情報を受け取った受信システム101では、画像情報と音声情報の2種の情報を記録用紙上の画像として受信することになる。
【0035】
受信システム101において、104は画像入力部であり、画像読み取り装置等によって紙上情報を入力する。この画像読み取り装置としては、サンプリング定理により、画像出力部103で用いられたプリンタ解像度の2倍以上の解像度を有していることが好ましい。105は多重情報分離部であり、入力された画像情報に多重化されている多重情報を分離して、独立した音声情報を得る手段である。分離された音声情報は、受信システム101内の不図示の再生装置等によって、再生することが可能になる。
【0036】
次に、本実施形態の特徴である多重化疑似階調処理部102について詳細に説明する。
【0037】
図2は、多重化疑似階調処理部102の詳細構成を示すブロック図である。同図において、10はCPU10a,ROM10bおよびRAM10cなどからなる制御部であり、後述する各構成の動作および処理を制御する。特に、CPU10aは、ROM10bに予め格納されプログラムに従い、RAM10cをワークメモリとして後述する多重化およびその関連処理の制御などを実行する。
【0038】
201は多重化制御部であり、画像情報に多重化する情報(以下、付加情報と称する)を入力して多重化を制御する。202はノイズ除去部であり、画像情報中の突出したノイズ成分を除去する。このノイズ除去方法は、周知のフィルタリング技術によって実現できる。また、ノイズ成分のみならず、画像の高周波成分を除去するLPF(ローパスフィルタ)を用いることも効果的である。203は量子化部であり、付加情報が多重化された画像情報に対して、後段の画像出力部103のプリンタエンジンにおいて出力可能な階調数への量子化を行なう。尚、該量子化は疑似階調処理により行なうとする。204は多重化部であり、既に量子化の終了した量子化値のパターンを参照して量子化条件を変更することにより、付加情報の符号を多重化する。
【0039】
次に、多重化制御部201について詳細に説明する。図3は、多重化制御部201における制御処理の手順を示すフローチャートである。
【0040】
ステップS301において、画像情報の縦方向の画素数HEIGHT、横方向の画素数WIDTH、及び音声情報等の付加情報の情報量(ビット数)Nを入力する。続いてステップS302では、付加情報以外に多重化に必要な情報量αをNに加算し、N2として算出する。ここでαとしては、多重化した場所を示すマーカコードや符号化条件等のヘッダ情報、及び誤り訂正符号等の冗長性を付与した情報、等が考えられる。次いでステップS303において、後述する多重化対象ブロックのサイズを示す変数w,hを、以下の式に基づいて算出する。
【0041】
w = WIDTH ×N2^(-1/2) ・・・式1
b = HEIGHT×N2^(-1/2) ・・・式2
(ここで、^はべき乗を示し、例えば、a^bでaのb乗を表す)
続いてステップS304において、算出したw,h共に、予め設定した閾値thよりも大きいか否かを判定する。一方でもth以下であれば、画像サイズに比べて付加情報の情報量があまりにも大きいため、ステップS305にてエラー表示を行なった後、処理を終了する。このthとしては、付加情報を多重化することにより画質的に大きく劣化する臨界点を実験的に算出して決定しても良いし、もちろん実際に多重化が不可能となる値を設定しても良い。thの値がプリンタ等のエンジン特性に大きく影響されることは言うまでもない。
【0042】
一方、ステップS304においてw,h共にthよりも大きければ、ステップS306にてw,hの値を多重化部203に出力し、処理を終了する。
【0043】
次に、量子化部203について詳細に説明する。図4は、量子化部203の詳細構成を示すブロック図である。量子化部203においては、誤差拡散処理を用いた擬似階調処理を行なう。尚、一般的な誤差拡散処理の詳細は、例えば文献「R.Floyd&L.Steinberg:“An Adaptive Alogorithm for Spatial Grayscale”,SID Symposium Digest of Paper pp.36〜37(1975)」に記載されているため、ここでは詳細な説明を省略する。
【0044】
以下、量子化値が2値である誤差拡散処理を例として説明する。
【0045】
図4において400は加算器を示し、入力された画像情報の注目画素値と、既に2値化された周辺画素から分配された量子化誤差が加算される。その加算結果と、多重化部204から送られてくる閾値THとを比較部401にて比較し、閾値THよりも加算結果の方が大きい場合には“1”を、それ以外では“0”を出力することにより、量子化する。尚、例えば8ビット精度で画素の階調を表現する場合には、最大値である“255”と最小値である“0”で表現するのが一般的である。尚、量子化値が“1”の時に記録用紙上にドット(インク、トナー等)が印刷されるとする。
【0046】
402は減算器を示し、比較部401から出力された量子化結果と加算器400から出力された加算結果との誤差を算出し、誤差配分演算部403に出力する。誤差配分演算部403においては、今後の量子化処理が施される周辺画素に誤差を配分する。この誤差の配分割合としては例えば、注目画素との相対的な距離に基づいて実験的に設定された誤差の配分テーブル404を予め所有しておき、配分テーブル404に記された配分割合に基づいて、各画素に誤差を分配する。
【0047】
上述したように量子化部203においては一般的な誤差拡散処理を行なうが、比較部401に入力される閾値THを変更することにより、量子化結果を制御することができる。例えば、量子化結果を強制的に“1”としたい場合には、比較部401からの出力が“1”となるように、閾値THの値を十分小さく設定すれば良い。
【0048】
この閾値THの設定は、多重化部204において行われる。以下、多重化部204における動作について詳細に説明する。多重化部204においては、既に量子化の終了した量子化値のパターンを参照して、量子化部203に送信すべき量子化閾値THを制御することにより、付加情報の符号の多重化を実現する。
【0049】
図5は、多重化部204における量子化閾値THの制御手順を示すフローチャートである。ここでは、画像情報内のw×h画素より成るブロック中に、1ビットの付加情報を埋め込む例について説明する。尚、量子化値は2値であるとする。
【0050】
まずステップS501において、w×h画素から成るブロック内の画素値の分布状態を検知する。これは、ブロック内の全画素、もしくはサブサンプリングした複数の画素を走査して、ブロック内がどのような画素値分布になっているかを検出する。
【0051】
次にステップS502では、検出した画素値分布に基づいて、付加情報を多重化する濃度域を決定する。ここでは、予め分類した濃度域毎に、付加情報を多重化する優先順位を付しておくことが望ましい。例えば8ビット(0〜255)の階調表現を行なう場合、予め16ステップ単位程度のグループに濃度域を分類し、各グループに対して、低濃度,高濃度,中濃度の順になるように、予め優先順位を付けておく。この例ではグループ数も16グループになるため、順位1から16までの各グループの優先順位をLUT(ルックアップテーブル)等に設定しておくことになる。この順位付けはプリンタのエンジン特性等を考慮して実験的に設定すれば良い。当然、高濃度域の方が記録用紙上でのインクの滲み等により付加情報の分離が困難となるため、低濃度域を第1優先として付加情報を多重化することが好ましい。
【0052】
このようにステップS502では、ブロック内を走査して、最も高い優先順位の濃度域を多重化対象の濃度域として決定する。
【0053】
次にステップS503において、多重化する符号が“1”であるか“0”かを判定する。尚、ブロック内に多重化する符号は1ビットである。多重化する符号が“0”であればステップS504に、“1”であればステップS505にそれぞれ処理が移行する。
【0054】
ステップS504,S505では共に、注目画素周辺の既に2値化を終了した複数の画素を参照するウインドウの適合パターンを設定する。即ち、予め各多重化濃度域毎に登録されている複数の画素値パターンの中から、ステップS502で決定した濃度域のパターン(以後、対象パターンと称す)を設定する。尚、予め登録されているパターンは、濃度域グループ毎に2種類(符号“1”/“0”のそれぞれに相当)ずつ存在するため、グループ数×2種類分のパターンが、予めテーブル等に保持されている。従って、ステップS504では該濃度域に対して予め登録されている符号“0”に対応するパターンAを、また、ステップS505では同様に符号“1”に対応するパターンBを、それぞれ対象パターンとして設定する。
【0055】
ここで、ステップS504,S505において参照されるウインドウの例を図6に示す。同図において、*印は注目画素、その他a,b,c,d,e,f,g,hで示す各画素は、既に最終的な2値化を終了した画素である。このウィンドウ内において参照される画素は8画素であるため、該参照画素が取りうるパターンとしては8ビット分の組み合わせが存在する。
【0056】
また同様に、対象パターンとして設定されるパターンA及びパターンBの例を、図7に示す。同図において、各画素毎の値“0”,“1”は量子化値を示し、“−”で示した位置の画素については、その値が不問である。尚、図7に示すパターン例は低濃度域のグループのものである。図7の(a)はパターンAの例を示し、即ち、注目画素の周辺画素の組み合わせ(上記ウィンドウに相当)が同図のような配置である場合を、符号が“0”の時の対象パターンとする。同様に、図7の(b)はパターンBの例を示し、符号が“1”の時の対象パターンである。
【0057】
図7より明らかなように、パターンAでは、水平方向直前の画素において量子化値が“1”になっており、パターンBでは垂直方向直前の画素において量子化値が“1”になっていることを特徴とする。従って本実施形態においては、詳細は後述するが、ブロック内でパターンAの画素配列が検出されれば水平方向に連続した量子化パターンが形成され、パターンBの画素配列が検出されれば垂直方向に連続した量子化パターンが形成される。
【0058】
図5に戻り、ステップS506では変数i,j,aを全て“0”に初期化する。尚、iは垂直方向のアドレスをカウントする変数、jは水平方向のアドレスをカウントする変数、aは多重化のための閾値設定がなされたか否かを示すフラグである。
【0059】
ステップS507でフラグaによって処理を分岐し、フラグaが“0”であれば多重化のための閾値は未設定であるため、ステップS508に進む。ステップS508においては、注目画素の値がステップS502で決定した多重化対象濃度域内であるか否かを判定する。注目画素が該濃度域内であればステップS509に進み、既に2値化を終了した複数の画素を参照するウインドウ内のパターンが、ステップS504又はS505で設定した対象パターンに適合しているか否かを判定する。
【0060】
ここで、対象パターン(パターンA又はパターンB)に適合していればステップS510に進み、閾値THをDに設定して量子化部203へ送出する。ここでDの値としては、強制的に量子化部203における量子化出力が“1”となるべき値を設定する。これにより即ち、ブロック内でパターンAの画素配列が検出されれば水平方向に連続した量子化パターンが形成され、該量子化パターンをもって多重化された“0”の符号を示す。一方、パターンBの画素配列が検出されれば垂直方向に連続した量子化パターンが形成され、該量子化パターンをもって多重化された“1”の符号を示す。
【0061】
一方、対象パターンに適合していなければステップS511において同様に閾値THをCに設定して量子化部203に出力する。また、ステップS507及びS508にて否と判定された場合にも、ステップS511において閾値THをCに設定する。尚、Cの値としては通常の量子化を行なうために、例えば“0”と“1”の各量子化値の中間値となる“0.5”を設定することが一般的である。また、画素値を8ビット表現とすれば、“128”が閾値Cに相当する。もちろん、閾値の値は各量子化値の中間値に限定するものではない。
【0062】
そして、ステップS510において閾値THがDと設定されて出力された場合のみ、ステップS512においてフラグaに“1”を立てることにより、当該ブロックにおける多重化のための閾値設定が終了したことを示す。
【0063】
続いて、ステップS513で変数jの値をカウントアップして、水平方向のアドレスを1列分ずらす。そしてステップS514において、変数jがブロックの横方向の画素数であるw未満であるか否かを判定する。否であれば即ち、水平方向のw画素分の処理が終了したため、次にステップS515にて垂直方向の変数iをカウントアップし、ステップS516にて縦方向の画素数であるh行分の処理が終了したか否かを判定する。否であれば即ち、未処理の行が残っているため、ステップS507へ戻って一連の処理を繰り返す。
【0064】
以上説明したように多重化部204においては、図5のフローチャートに示す一連の処理により、量子化部203へ出力する量子化閾値THを制御する。これにより、画像情報のブロック内で“1”もしくは“0”を示す付加情報の1ビット信号を多重化することが可能になる。
【0065】
尚、図5のフローチャートにおいては説明を容易にするために、閾値THがC及びDに設定された何れの場合にも出力を行なう例について説明したが、付加情報の符号を埋め込む“TH=D”の場合が、“TH=C”の場合よりも圧倒的に少なければ、量子化部203において閾値THの初期値としてCを設定しておくことも有効である。即ち、多重化部204においては“TH=D”になる画素の時のみ、量子化部203に対して切り替わり信号を発生し、量子化部203では該信号を受けた時のみ、閾値THとしてDを用いて量子化処理を実行し、それ以外の画素についてはCによる量子化を行なえば良い。
【0066】
尚、図5に示した量子化閾値制御処理において、ウインドウ内のパターンが対象パターンに適合せず、ブロック内の走査が終了してしまう可能性がある。つまり、当該ブロックにおいて閾値変更による多重化が実現されないことが発生しうる。このような場合にはブロックの終端部において、復号可能なように量子化値を組み合わて符号を表現することにより、多重化を実現する方法が現実的には好ましい。また、対象濃度域を次の優先順位の濃度域グループに変更して、ブロック内を再走査して多重化を試みる方法や、多重化する符号を次のブロックへ先送りする方法等、様々な方法が考えられる。
【0067】
また、ブロックサイズを示すw,hの決定方法としては、上述した式1,式2に限定されない。式1,式2によれば、画像の縦横比に応じてブロックを形成することになるが、例えば疑似階調処理におけるブロック内走査を考慮して、横方向に長く、縦方向に短くなるようなw、hを設定しても良いし、また、正方ブロックを形成しても良い。
【0068】
以上、本実施形態における多重化処理を行なう構成について説明したが、本実施形態の思想は、疑似階調処理では通常発生し得ないテクスチャを量子化値の組み合わせにより人工的に作成し、そのテクスチャの有無により1ビットの符号を表現している点にある。
【0069】
一般に誤差拡散法は、非常に独特なテクスチャが発生する量子化方法として知られている。従来より、視覚的に不快感を覚える鎖状につながるテクスチャの発生が、誤差拡散法の大きな問題点とされてきた。そのため、その不快なテクスチャを発生させないための提案も数多くなされてきた。
【0070】
しかしながら、テクスチャの発生要因を解析すると、テクスチャのパターンの中には、発生しうるテクスチャと発生し得ないテクスチャとがある。例えば、誤差の配分テーブル404として図8に示す拡散マトリクスを想定すると、*印で示す注目画素直前の画素が“1”に量子化された場合、負の量子化誤差が発生するために、隣接した注目画素は“1”に量子化されづらくなる。従って本実施形態によって付加された符号を復号する際には、例えば低濃度域(ハイライト)の平坦部であるということが検知できれば、水平方向に隣合った画素が共に“1”になるような量子化値のパターンは通常有り得ないため、該パターンが検出されればそれを符号として認識することができる。
【0071】
ここで、一般にドットが連続して印刷されることにより形成されたテクスチャは、360dpi程度の低解像のインクジェットプリンタで記録用紙上に印刷した場合でも非常に目立ちづらく、肉眼では全く視覚的な妨害にはならない。しかし、高解像度の画像読取装置であればドットがつながって印刷されていることが鮮明に検知できるため、埋め込まれた符号を復号することが容易に可能である。
【0072】
このように、記録用紙上に形成されるテクスチャを任意に制御することができれば、視覚的には違和感なく符号を埋め込むことが可能である。これは、誤差拡散法の有する周波数特性が、或る固定の周波数にピークをもつものではなく、広帯域のハイパスフィルタになっているためである。
【0073】
それに対して、短い周期で規則的に繰り返される組織的ディザ法では、テクスチャを任意に制御することは困難である。組織的ディザ法では、ディザ周期に基づく固定周波数に非常に大きな電力を有するため、そのピークを持つ周波数以外の帯域に情報を埋め込んだ場合には、視覚的に違和感が生じ、画質劣化につながってしまう。
【0074】
尚、以上は低濃度域におけるテクスチャについて説明したが、低濃度域以外の中、高濃度域においても同様に、該当する濃度域では発生し得ないテクスチャを人工的に作成することにより、任意の符号を埋め込むことが可能である。即ち、復号側において、その判別できうる濃度域で、該当する濃度域には発生し得ないテクスチャのパターンを符号であると認識して復号することができれば良い。
【0075】
以下、画像情報に対して実際に本実施形態による付加情報の多重化を行なった例を示す。図9は、記録用紙上に3種類の画像を出力した例を示す図である。これら3種類の画像を画像A、画像B、画像Cとし、それぞれ同一の画像サイズであるとする。以下、この3種類の画像それぞれに、画像に関連する音声情報を多重化する場合について考える。尚、画像A,B,Cに多重化する音声情報の情報量を、それぞれ4キロバイト(kB),1kB,9kBとする。また、説明を容易にするために、ヘッダ情報やマーカコード、誤り訂正符号等による情報量の増加については無視するものとする。
【0076】
この場合、画像サイズが同一で、多重化する音声情報の情報量の比が、A:B:Cにおいて4:1:9であるため、音声情報の符号1ビットが多重化されるブロックの面積比は、1/4:1:1/9となる。このブロックの面積比の様子を図10に示す。図10において、各画像内の四角で囲まれた領域が、各画像において1ビットの符号が多重化される1ブロックを示す。当然、多重化する情報量がもっとも多い画像Cが、1ブロックの面積がもっとも小さく、従って符号の多重化による画質劣化がもっとも深刻となる。即ち、多重化する情報量の増加に伴って、画質劣化の可能性が大きくなることが分かる。
【0077】
このことから本実施形態において、多重化ブロックのサイズ(w×h)に対して、画質劣化の臨界点として予め実験的に得られた値(th)に基づく制限を設けることの必要性が分かる。
【0078】
以上説明したように本実施形態によれば、通常発生し得ないテクスチャによって符号を表現することにより、画像情報に対して画質劣化を抑制しつつ、付加情報をその情報量や画像情報のサイズに応じて多重化することが可能となる。
【0079】
また、画像情報に対して例えば音声情報等の大容量の付加情報を多重化することが容易に実現できるため、画質劣化を極力低減しつつ、記録用紙上で音声情報を流通させたり、また、画像中に秘匿情報を混入させたりすることが容易に可能となる。
【0080】
<第2実施形態>
以下、本発明に係る第2実施形態について説明する。
【0081】
第2実施形態における画像処理システムの構成は、上述した第1実施形態で示した図1及び図2と同様であり、多重化制御部201における動作が異なるのみであるため、詳細な説明を省略する。第2実施形態においては、画像形成時の色成分であるイエロー(Y),マゼンタ(M),シアン(C),ブラック(K)の4成分のそれぞれに対して、付加情報の多重化を行なうことを特徴とする。従って、画像出力部103としてカラー出力を行なう装置を適用する際に非常に有効となる。
【0082】
図11は、第2実施形態の多重化制御部201における制御処理を示すフローチャートである。
【0083】
ステップS1101において、画像情報の縦方向の画素数HEIGHT、横方向の画素数WIDTH、及び音声情報等の付加情報の情報量(ビット数)Nを入力する。続いてステップS1102では、付加情報以外に多重化に必要な情報量αをNに加算し、N2として算出する。ここでαとしては、多重化した場所を示すマーカコードや符号化条件等のヘッダ情報、及び誤り訂正符号等の冗長性を付与した情報、等が考えられる。
【0084】
次いでステップS1103において、画像情報内で取りうる一辺がthである正方格子の数を示す変数Mを、以下の式に基づいて算出する。
【0085】
M=INT(WIDHT/th)×INT(HEIGHT/th) ・・・式3
尚、式3においてINTは整数値を表し、小数部については切り捨てるとする。
【0086】
このMは即ち、WIDTH×HEIGHTの画像サイズ内において配列可能な、thの値を一辺とした正方格子ブロックの数を示している。尚、thとしては、付加情報を多重化することにより画質的に大きく劣化する臨界点を実験的に算出して決定しても良いし、もちろん実際に多重化が不可能になる値を設定しても良い。即ち、Mは多重化の限界である最大ブロック数であり、1ブロック内に1ビットの多重化を行なう場合、全Mビットまでの情報しか多重化できないことになる。
【0087】
続いてステップS1104において、情報量N2とMとの比較を行う。ここでN2の方が小さければ、ステップS1105においてY成分に関する以下の設定を行う。
【0088】
w_Y = h_Y = th ・・・式4
ここでw_Y及びh_Yは、それぞれY成分多重化時のブロックの横画素数と縦画素数を示す。
【0089】
一方、ステップS1104でN2の方がMよりも大きければステップS1106に進み、今度はN2をMの2倍と比較する。ここでN2の方が小さければ、2色による多重化が可能であるためステップS1107に進み、Y成分に関するw_Y,h_Yの設定に加えて、更にM成分に関する以下の設定が行われる。
【0090】
w_M = h_M = ((WIDTH×HEIGHT)/(N2−M))^(1/2) ・・・式5
ここでw_Y及びh_Yは、それぞれM成分多重化時のブロックの横画素数と縦画素数を示す。また、w_Y及びh_Yの設定はステップS1105と同様である。ステップS1107においては即ち、Y成分で最大数の多重化ブロックを作成し、それでも多重化できない残りの情報量については、M成分に多重化する。この時、M成分のブロックサイズ(w_M,h_M)は、Y成分多重化時のブロックサイズ(w_Y,h_Y)よりも大きくなるので、M成分においては多重化による画質劣化が小さくて済む。
【0091】
一方、ステップS1106においてN2の方が2×Mよりも大きければステップS1108に進み、今度はN2をMの3倍と比較する。ここでN2の方が小さければ、3色による多重化が可能であるためステップS1109に進み、Y成分に関するw_Y,h_Yの設定に加えて、更にM成分、及びC成分に関する以下の設定が行われる。
【0092】
w_M = h_M = th ・・・式6
w_C = h_C = ((WIDTH×HEIGHT)/(N2−2×M))^(1/2) ・・・式7
ここでw_C及びh_Cは、それぞれC成分多重化時のブロックの横画素数と縦画素数を示す。また、w_Y及びh_Yの設定はステップS1105と同様であり、w_M及びh_Mの設定は、w_Y及びh_Yと同様にthの値が代入される。ステップS1109においては即ち、Y,Mの両成分においては最小のブロックを作成して限界まで多重化を行い、それでもまだ多重化できない情報に関しては、C成分に多重化する。
【0093】
一方、ステップS1108においてN2の方が3×Mよりも大きければ、ステップS1110においてエラー表示がなされた後、処理を終了する。
【0094】
このように第2実施形態においては、画像を形成する各色成分に優先順位を付し、画質劣化の限界まで多重化を行なうことを特徴とする。
【0095】
一般に、Y,M,C,Kの4成分によりカラー画像を形成する際には、Y成分が視覚的な感度がもっとも低い。第2実施形態における多重化方法は第1実施形態と同様に、誤差拡散法のテクスチャに情報を混入させる方式であるために、視覚的な画質劣化ははとんど無いが、それでも感度の低い色材で多重化を行なうことがより好ましい。そこで第2実施形態においては、Yを第1優先として、M,Cの順に多重化を実行する。当然、付加する情報量が画像サイズに比べて小さい場合には、少ない色材のみで多重化を実現できるが、情報量の増加に伴い、多重化処理をする色材が増えることになる。
【0096】
尚、図11に示すフローチャートにおいては、K成分に対する多重化処理を省略したが、もちろんK成分で多重化を実施しても良い。また、色材の優先順位はこれに限るものではない。例えば、インクジェットプリンタにおいて使用される染料濃度を薄めた淡インク等、視覚的感度がより低いと思われる色材に対してはより高い優先順位を付せば良い。
【0097】
また第2実施形態においては、多重化ブロックとして縦方向と横方向の画素数が同じである正方格子を例として説明したが、もちろん多重化ブロックの形状は正方に限るものではない。
【0098】
以上説明したように第2実施形態によれば、複数色成分からなる画像に対して、所定の優先順位に従って、色成分毎に画質劣化の限界まで付加情報を多重化する。従って、画質劣化を最小限に留めつつ、より多くの付加情報を多重化することが可能となる。
【0099】
尚、上述した第1及び第2実施形態においては、音声情報を多重化する例について説明したが、本発明において多重化対象となる情報はこれに限るものではない。
【0100】
また本発明は、多重化処理の制御が付加する情報量に連動することを特徴とし、上述した各実施形態で説明した制御方法に限定されるものではない。また、量子化値の組み合わせによりテクスチャの形状を変化させることにより付加情報を多重化する方法としても、閾値変更以外に様々な方法が考えられる。
【0101】
また、本発明の多重化方法は疑似階調処理のテクスチャを用いているため、当然、1ビットの多重化を行なう場合にも複数画素を参照する必要があり、また、誤差拡散法の閾値変更は、注目画素以降の複数画素の2値化結果にも影響を及ぼすことになる。そのため、1ブロック形成のための最小画素数は、上述したように、テクスチャとして視覚的に目立たないように、実験的に最適な値を算出することが好ましい。
【0102】
また、上記各実施形態においては、付加情報及び画像情報に応じて多重化条件を制御する例について説明したが、この多重化条件もヘッダ情報として多重化して送信することは当然である。受信側では、このヘッダ情報に記載された多重化条件に基づいて、付加情報と画像情報との分離を行うことになる。
【0103】
また本発明では、付加情報の情報量が既定値よりも多くなるとエラー表示を行なう例について説明したが、例えば既定値以上になると他の多重化方式を実行するというハイブリッド制御を行なうことも非常に有効である。
【0104】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0105】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0106】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0107】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0108】
【発明の効果】
以上説明したように本発明によれば、誤差拡散法の原理的なテクスチャ発生を符号埋め込みに利用し、更に付加情報の情報量や画像サイズに応じて多重化条件を制御することにより、画像情報に対して画質劣化を抑制しつつ大量の付加情報を多重化することが可能となる。
【図面の簡単な説明】
【図1】本発明に係る一実施形態における画像処理システムの概要構成を示すブロック図、
【図2】本実施形態における多重化疑似階調処理部の詳細構成を示すブロック図、
【図3】本実施形態における多重化制御部の動作手順を示すフローチャート、
【図4】本実施形態における量子化部の詳細構成を示すブロック図、
【図5】本実施形態における多重化部の動作手順を示すフローチャート、
【図6】本実施形態における既2値化情報のウインドウの一例を示す図、
【図7】本実施形態における対象パターンの一例を示す図、
【図8】誤差拡散法における拡散マトリクスの一例を示す図、
【図9】本実施形態によって形成された画像例を示す図、
【図10】形成画像におけるブロック分割の様子を示す図、
【図11】本発明に係る第2実施形態における多重化制御部の動作手順を示すフローチャート、
【図12】従来の多重化処理の一例を示すブロック図、
【図13】従来の多重化処理の一例を示すブロック図、である。
【符号の説明】
102 多重化擬似階調処理部
103 画像出力部
104 画像入力部
105 多重情報分離部
201 多重化制御部
202 ノイズ除去部
203 量子化部
204 多重化部
400 加算器
401 比較部
402 減算器
403 誤差配分演算部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method for multiplexing additional information on image information.
[0002]
[Prior art]
Conventionally, research on multiplexing other information related to an image in image information has been actively conducted.
[0003]
In recent years, it has been referred to as digital watermarking technology. In the image information such as photographs and paintings, additional information such as the author's name and permission to use is multiplexed so that it is difficult to visually distinguish it, etc. The technology to distribute through the network is being standardized.
[0004]
As another application field, with the purpose of preventing unauthorized counterfeiting of securities such as banknotes and stamps as the image quality of image forming apparatuses such as copiers and printers increases, images output from recording paper are used. A technique is known in which additional information is embedded in an image in order to specify the output device type and its machine number.
[0005]
For example, Japanese Patent Laid-Open No. 7-123244 proposes a technique for multiplexing information by embedding additional information in a high-frequency region of a color difference component and a saturation component that are visually low in sensitivity.
[0006]
[Problems to be solved by the invention]
However, the conventional multiplexing technique has the following problems.
[0007]
FIG. 12 is a diagram schematically illustrating a conventional method for embedding additional information. According to the figure, the multiplexed information C is generated by multiplexing the image information A and the additional information B via the adder 1201. The adder 1201 may perform addition in the real space of the image information A, or after the image information A is converted into the frequency domain using Fourier transform or the like, the additional information B is synthesized into the high frequency domain or the like. Also good.
[0008]
If the multiplexed information C generated in this way can be distributed on the network without being subjected to image processing such as various types of filtering or encoding such as lossy compression, additional information from the multiplexed information C can be obtained. Decoding B can be easily performed in the past. For example, image information distributed on the Internet can be decoded through a digital filter for improving image quality, such as edge enhancement and smoothing, as long as it has some noise resistance.
[0009]
Here, it is assumed that the image forming apparatus has only an expression capability of 2 to several gradations per single color. In recent years, inkjet printers have been known to have several gradations per color by having ink with a low dye concentration or variably controlling the output dot diameter. Unless gradation processing is used, an image cannot be expressed in photographic style.
[0010]
FIG. 3 These are figures which show typically the example which performs a pseudo gradation process in the case of the multiplexing of the conventional additional information. That is, FIG. 2 In addition to the configuration shown in FIG. 3 01, the multiplexed information C is converted into quantized information D, and then the printer output 1 3 By printing out on the recording paper in step 02, the on-paper information E that is very deteriorated is obtained.
[0011]
Therefore, for the purpose of preventing forgery described above, decoding the additional information from the information on the recording paper means that FIG. 3 The additional information B is decoded from the on-paper information E after the series of processing shown in FIG. However, pseudo gradation processing 1 3 01 and printer output 1 3 The amount of change in the image information by both processes 02 is very large. Therefore, it is very difficult to multiplex the additional information so that it cannot be visually discerned and to correctly decode the multiplexed additional information from the recording paper.
[0012]
In the multiplexing technique described in JP-A-7-123244 described above, information is added to the high frequency region of an image. However, when the error diffusion method is performed in the pseudo gradation processing in the subsequent stage, the band of the additional information is buried in the texture band generated by the error diffusion due to the characteristic of the high-pass filter unique to the error diffusion method. There is probably a risk of difficulty. In addition, a highly accurate scanner device is required for accurate decoding.
[0013]
That is, when pseudo gradation processing is a premise, FIG. 3 It can be seen that the multiplexing scheme shown in FIG. In other words, there is a need for a method for multiplexing additional information that greatly utilizes the characteristics of pseudo gradation processing.
[0014]
Japanese Patent Nos. 2640939 and 2777800 are examples in which multiplexing of additional information is combined with redundancy of pseudo gradation processing.
[0015]
In the former, when binarization is performed using systematic dither, additional data is mixed in an image signal by selecting one from dither matrices representing the same gradation. However, with a systematic dither method, it is difficult to output a photographic image with high quality unless the printer has high resolution and excellent mechanical accuracy. This is because a slight difference in mechanical accuracy is generated as low-frequency noise such as horizontal stripes and is easily seen on paper. Further, when the dither matrix is periodically changed, a band of a specific frequency generated by a dither arranged regularly is disturbed, which adversely affects image quality. On the decoding side, the pixel value of the image information, which is the original signal, is unknown, and it must be decoded by guessing what dither matrix is used for binarization, and accurate decoding is difficult. .
[0016]
The latter shows a method of multiplexing additional information by the arrangement using a color dither pattern method. In this method, as in the former case, image quality deterioration due to switching of the dither matrix is inevitable. In addition, as compared with the former, more additional information can be multiplexed, but color change is caused by changing the arrangement of the color components, and image quality deterioration is particularly large in a flat portion. Decoding is also expected to become more difficult.
[0017]
In any case, both methods of changing the dither matrix have a problem that decoding is difficult although image quality deterioration is large.
[0018]
As a method for embedding a large amount of information such as audio information in an image, there is a method described in Japanese Patent No. 2833975, for example. In this method, audio information is converted into a dot code called a so-called two-dimensional bar code, and is printed in a margin portion of the image or inside the image.
[0019]
However, this method does not multiplex the dot code, which is additional information, with respect to the image information, and does not make it difficult to visually recognize the additional information (dot code). As an example that is devised that it is difficult to visually recognize the dot code, an example of embedding the code in the image using a transparent paint is described, but not only a cost increase because a special ink is required, Naturally, the image output on the recording sheet naturally deteriorates in image quality.
[0020]
The present invention has been made to solve the above problems, and an object of the present invention is to provide an image processing apparatus and method capable of multiplexing a large amount of additional information while suppressing image quality deterioration of the image information. And
[0021]
[Means for Solving the Problems]
In order to achieve the above object, an image processing apparatus of the present invention comprises the following arrangement.
[0022]
That is, an image processing apparatus that multiplexes additional information with image information, wherein a target pixel of the image information is detected. Error diffusion The additional information is indicated by quantization means for performing quantization by processing, and quantized values of a plurality of pixels including the target pixel. And a specific pattern that cannot be generated by the error diffusion processing by the quantization means at a specific density. A multiplexing unit for multiplexing the additional information, and the specific pattern formed in the multiplexing unit. Multiplexing interval And control means for controlling according to the amount of information of the additional information.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the drawings. The image processing apparatus in each embodiment is efficiently incorporated mainly as printer driver software in a computer that creates image information to be output to the printer engine. It is also effective to incorporate it as hardware and software.
[0025]
<Outline of the invention>
An object of the present invention is to make it possible to multiplex a large amount of additional information while suppressing image quality deterioration of image information.
[0026]
As a method of multiplexing additional information while suppressing image quality degradation, the applicant uses a texture generated by the error diffusion method to artificially create a pattern of quantized values that cannot be generated by normal pseudo gradation processing. A method of multiplexing the code of the additional information by creating it has been found.
[0027]
According to this method, since the texture shape only changes microscopically, no image quality degradation is visually recognized. In addition, by creating the pattern by changing the quantization threshold of the error diffusion method, the density value of the area gradation can be maintained visually, so that multiplexing of different signals can be realized very easily.
[0028]
However, in the multiplexing method using the texture of the error diffusion method, it is assumed that the additional information to be multiplexed is mainly index information such as a model name and a model number. That is, the case where the amount of information to be embedded is very small compared to the image information has been assumed. For this reason, considering the case of multiplexing a large amount of information such as audio information, it may be difficult to multiplex all additional information in an image.
[0029]
Therefore, in the present invention, in order to be able to multiplex a large amount of additional information, a multiplex block size that is an allowable limit of image quality degradation is calculated based on a value calculated experimentally in advance. By multiplexing 1 bit within the block size, a multiplexing process according to the size of the additional information and the image size was realized.
[0030]
Preferred embodiments according to the present invention will be described below.
[0031]
<First Embodiment>
In the first embodiment according to the present invention, an example in which audio information is multiplexed with image information will be described.
[0032]
FIG. 1 is a block diagram showing a schematic configuration of an image processing system in the present embodiment. In the figure, a block 100 surrounded by a broken line indicates a transmission system, and similarly, a block 101 indicates a reception system.
[0033]
In the transmission system 100, reference numeral 102 denotes a multiplexed pseudo gradation processing unit, which is a means for multiplexing input image information and audio information to be embedded in the image. The multiplexed pseudo gradation processing unit 102 implements multiplexing and pseudo gradation processing at the same time, that is, realizes two types of different processes at once. Details of the multiplexed pseudo gradation processing will be described later. The information subjected to the multiplexed pseudo gradation processing is output on a medium such as recording paper by an output device such as a printer in the image output unit 103. Hereinafter, the information output on the recording paper is referred to as on-paper information.
[0034]
This on-paper information is sent to the transmission partner at a remote location, for example. The receiving system 101 that has received the on-paper information receives two types of information, image information and audio information, as images on the recording paper.
[0035]
In the receiving system 101, reference numeral 104 denotes an image input unit, which inputs on-paper information by an image reading device or the like. The image reading apparatus preferably has a resolution that is at least twice the printer resolution used in the image output unit 103 according to the sampling theorem. Reference numeral 105 denotes a multiplex information separation unit, which is a means for separating the multiplex information multiplexed on the input image information and obtaining independent audio information. The separated audio information can be reproduced by a reproduction device (not shown) in the reception system 101.
[0036]
Next, the multiplexed pseudo gradation processing unit 102 that is a feature of the present embodiment will be described in detail.
[0037]
FIG. 2 is a block diagram illustrating a detailed configuration of the multiplexed pseudo gradation processing unit 102. In the figure, reference numeral 10 denotes a control unit including a CPU 10a, a ROM 10b, a RAM 10c, and the like, and controls operations and processes of each component described later. In particular, the CPU 10a executes multiplexing and control of related processing, which will be described later, using the RAM 10c as a work memory in accordance with a program stored in advance in the ROM 10b.
[0038]
A multiplexing control unit 201 inputs information to be multiplexed into image information (hereinafter referred to as additional information) and controls multiplexing. A noise removing unit 202 removes a protruding noise component in the image information. This noise removal method can be realized by a known filtering technique. It is also effective to use an LPF (low pass filter) that removes not only noise components but also high frequency components of an image. A quantization unit 203 quantizes the image information in which the additional information is multiplexed into the number of gradations that can be output by the printer engine of the subsequent image output unit 103. Note that the quantization is performed by pseudo gradation processing. A multiplexing unit 204 multiplexes the code of the additional information by changing the quantization condition with reference to the quantization value pattern that has already been quantized.
[0039]
Next, the multiplexing control unit 201 will be described in detail. FIG. 3 is a flowchart illustrating a control processing procedure in the multiplexing control unit 201.
[0040]
In step S301, the number of pixels HEIGHT in the vertical direction of the image information, the number of horizontal pixels WIDTH, and the amount of information (number of bits) N of additional information such as audio information are input. Subsequently, in step S302, in addition to the additional information, the information amount α necessary for multiplexing is added to N and calculated as N2. Here, as α, header information such as a marker code indicating a multiplexed place and encoding conditions, information provided with redundancy such as an error correction code, and the like can be considered. Next, in step S303, variables w and h indicating the size of the multiplexing target block described later are calculated based on the following equations.
[0041]
w = WIDTH x N2 ^ (-1/2) Equation 1
b = HEIGHT x N2 ^ (-1/2) Equation 2
(Here ^ represents power, for example, a ^ b represents a to the bth power)
Subsequently, in step S304, it is determined whether or not both the calculated w and h are larger than a preset threshold th. On the other hand, if it is less than or equal to th, the amount of additional information is too large compared to the image size, so an error is displayed in step S305, and the process ends. This th may be determined by experimentally calculating a critical point that greatly deteriorates in image quality due to multiplexing of additional information, or of course, a value at which multiplexing cannot actually be performed is set. Also good. Needless to say, the value of th is greatly influenced by engine characteristics of a printer or the like.
[0042]
On the other hand, if w and h are both greater than th in step S304, the values of w and h are output to the multiplexing unit 203 in step S306, and the process is terminated.
[0043]
Next, the quantization unit 203 will be described in detail. FIG. 4 is a block diagram illustrating a detailed configuration of the quantization unit 203. The quantization unit 203 performs pseudo gradation processing using error diffusion processing. Details of general error diffusion processing are described in, for example, the document “R. Floyd & L. Steinberg:“ An Adaptive Alogorithm for Spatial Grayscale ”, SID Symposium Digest of Paper pp. 36-37 (1975)”. Detailed description is omitted here.
[0044]
Hereinafter, an error diffusion process in which the quantization value is binary will be described as an example.
[0045]
In FIG. 4, reference numeral 400 denotes an adder, which adds a target pixel value of input image information and a quantization error distributed from already binarized peripheral pixels. The comparison result is compared with the threshold value TH sent from the multiplexing unit 204 by the comparison unit 401. When the addition result is larger than the threshold value TH, “1” is set. Otherwise, “0” is set. Is quantized by outputting. For example, when expressing the gradation of a pixel with 8-bit accuracy, it is common to express it with “255” as the maximum value and “0” as the minimum value. It is assumed that dots (ink, toner, etc.) are printed on the recording paper when the quantization value is “1”.
[0046]
Reference numeral 402 denotes a subtracter, which calculates an error between the quantization result output from the comparison unit 401 and the addition result output from the adder 400 and outputs the error to the error distribution calculation unit 403. The error distribution calculation unit 403 distributes errors to surrounding pixels that will be subjected to future quantization processing. As the error distribution ratio, for example, an error distribution table 404 that is experimentally set based on the relative distance to the pixel of interest is owned in advance, and the error distribution ratio is based on the distribution ratio described in the distribution table 404. Distribute the error to each pixel.
[0047]
As described above, the quantization unit 203 performs a general error diffusion process, but the quantization result can be controlled by changing the threshold value TH input to the comparison unit 401. For example, when the quantization result is to be forcibly set to “1”, the threshold value TH may be set sufficiently small so that the output from the comparison unit 401 becomes “1”.
[0048]
This threshold value TH is set in the multiplexing unit 204. Hereinafter, the operation in the multiplexing unit 204 will be described in detail. The multiplexing unit 204 realizes multiplexing of the code of the additional information by referring to the quantization value pattern that has already been quantized and controlling the quantization threshold TH to be transmitted to the quantization unit 203. To do.
[0049]
FIG. 5 is a flowchart showing a control procedure of the quantization threshold TH in the multiplexing unit 204. Here, an example in which 1-bit additional information is embedded in a block composed of w × h pixels in image information will be described. It is assumed that the quantized value is binary.
[0050]
First, in step S501, a distribution state of pixel values in a block composed of w × h pixels is detected. This scans all the pixels in the block or a plurality of subsampled pixels to detect what pixel value distribution is in the block.
[0051]
Next, in step S502, a density range in which additional information is multiplexed is determined based on the detected pixel value distribution. Here, it is desirable to assign priorities for multiplexing additional information for each concentration range classified in advance. For example, when 8-bit (0 to 255) gradation expression is performed, the density areas are classified into groups of about 16 steps in advance, and the low density, high density, and medium density are arranged in order of each group. Priorities are assigned in advance. In this example, the number of groups is also 16. Therefore, the priority of each group of ranks 1 to 16 is set in the LUT (lookup table) or the like. This ranking may be set experimentally in consideration of the printer engine characteristics and the like. Naturally, since it is more difficult to separate the additional information in the high density area due to ink bleeding on the recording paper, it is preferable to multiplex the additional information with the low density area as the first priority.
[0052]
As described above, in step S502, the block is scanned, and the density area with the highest priority is determined as the density area to be multiplexed.
[0053]
In step S503, it is determined whether the code to be multiplexed is “1” or “0”. The code multiplexed in the block is 1 bit. If the code to be multiplexed is “0”, the process proceeds to step S504, and if it is “1”, the process proceeds to step S505.
[0054]
In steps S504 and S505, a window matching pattern that refers to a plurality of pixels that have already been binarized around the pixel of interest is set. That is, the density area pattern determined in step S502 (hereinafter referred to as a target pattern) is set from among a plurality of pixel value patterns registered in advance for each multiplexed density area. Since there are two types of patterns registered in advance for each density range group (corresponding to the codes “1” / “0”), patterns for the number of groups × 2 types are stored in advance in a table or the like. Is retained. Accordingly, in step S504, the pattern A corresponding to the code “0” registered in advance for the density range is set as the target pattern, and in step S505, the pattern B corresponding to the code “1” is set as the target pattern. To do.
[0055]
Here, an example of a window referred to in steps S504 and S505 is shown in FIG. In the figure, the mark * indicates the pixel of interest, and the other pixels indicated by a, b, c, d, e, f, g, and h are pixels that have already finished final binarization. Since 8 pixels are referenced in this window, there are combinations of 8 bits as patterns that can be taken by the reference pixels.
[0056]
Similarly, an example of patterns A and B set as target patterns is shown in FIG. In the figure, the values “0” and “1” for each pixel indicate quantized values, and the value of the pixel at the position indicated by “−” is unquestioned. Note that the pattern example shown in FIG. 7 is for the low density group. FIG. 7A shows an example of pattern A, that is, a case where the combination of peripheral pixels of the target pixel (corresponding to the above window) is arranged as shown in FIG. A pattern. Similarly, FIG. 7B shows an example of the pattern B, which is the target pattern when the code is “1”.
[0057]
As is clear from FIG. 7, in the pattern A, the quantization value is “1” in the pixel immediately before the horizontal direction, and in the pattern B, the quantization value is “1” in the pixel immediately before the vertical direction. It is characterized by that. Therefore, in this embodiment, although details will be described later, if the pixel array of the pattern A is detected in the block, a horizontal quantization pattern is formed, and if the pixel array of the pattern B is detected, the vertical direction is formed. A continuous quantization pattern is formed.
[0058]
Returning to FIG. 5, in step S506, the variables i, j, and a are all initialized to “0”. Note that i is a variable that counts the address in the vertical direction, j is a variable that counts the address in the horizontal direction, and a is a flag indicating whether or not a threshold is set for multiplexing.
[0059]
In step S507, the process branches depending on the flag a. If the flag a is “0”, the threshold for multiplexing has not been set, and the process proceeds to step S508. In step S508, it is determined whether the value of the target pixel is within the multiplexing target density range determined in step S502. If the pixel of interest is within the density range, the process proceeds to step S509, and whether or not the pattern in the window referring to the plurality of pixels that have already been binarized matches the target pattern set in step S504 or S505. judge.
[0060]
Here, if it matches the target pattern (pattern A or pattern B), the process proceeds to step S510, the threshold value TH is set to D, and the result is sent to the quantization unit 203. Here, as the value of D, a value at which the quantization output in the quantization unit 203 should be “1” is forcibly set. As a result, if a pixel arrangement of pattern A is detected in the block, a horizontal quantization pattern is formed, indicating a code of “0” multiplexed with the quantization pattern. On the other hand, if the pixel arrangement of the pattern B is detected, a quantization pattern continuous in the vertical direction is formed, and indicates a code of “1” multiplexed with the quantization pattern.
[0061]
On the other hand, if it does not match the target pattern, the threshold value TH is similarly set to C in step S511 and output to the quantization unit 203. Also, when it is determined NO in steps S507 and S508, the threshold value TH is set to C in step S511. As the value of C, in order to perform normal quantization, for example, “0.5”, which is an intermediate value between “0” and “1”, is generally set. Further, if the pixel value is represented by 8 bits, “128” corresponds to the threshold value C. Of course, the threshold value is not limited to the intermediate value of each quantized value.
[0062]
Only when the threshold value TH is set to D and output in step S510, the flag a is set to “1” in step S512 to indicate that the threshold setting for multiplexing in the block has been completed.
[0063]
Subsequently, in step S513, the value of the variable j is counted up, and the horizontal address is shifted by one column. In step S514, it is determined whether the variable j is less than w, which is the number of pixels in the horizontal direction of the block. If not, that is, since processing for w pixels in the horizontal direction has been completed, the variable i in the vertical direction is counted up in step S515, and processing for h rows, which is the number of pixels in the vertical direction, in step S516. It is determined whether or not the process has ended. If not, that is, since an unprocessed line remains, the process returns to step S507 to repeat a series of processes.
[0064]
As described above, the multiplexing unit 204 controls the quantization threshold TH output to the quantization unit 203 by a series of processes shown in the flowchart of FIG. This makes it possible to multiplex a 1-bit signal of additional information indicating “1” or “0” in a block of image information.
[0065]
In the flowchart of FIG. 5, for ease of explanation, an example in which output is performed in any case where the threshold value TH is set to C or D has been described. However, “TH = D If "" is overwhelmingly less than the case of "TH = C", it is also effective to set C as the initial value of the threshold value TH in the quantization unit 203. That is, the multiplexing unit 204 generates a switching signal to the quantizing unit 203 only when the pixel is “TH = D”, and the quantizing unit 203 receives D as the threshold TH only when receiving the signal. Quantization processing is executed using, and other pixels may be quantized by C.
[0066]
In the quantization threshold value control process shown in FIG. 5, there is a possibility that the pattern in the window does not match the target pattern and the scanning in the block ends. That is, it may occur that multiplexing by changing the threshold is not realized in the block. In such a case, it is practically preferable to realize the multiplexing by expressing the code by combining the quantized values so that they can be decoded at the end of the block. In addition, various methods such as a method of changing the target density range to a density range group of the next priority and re-scanning the block to try multiplexing, and a method of postponing the code to be multiplexed to the next block, etc. Can be considered.
[0067]
In addition, the method for determining w and h indicating the block size is not limited to the above-described Equations 1 and 2. According to Equations 1 and 2, blocks are formed according to the aspect ratio of the image. For example, in consideration of intra-block scanning in pseudo gradation processing, the blocks are long in the horizontal direction and short in the vertical direction. W and h may be set, and a square block may be formed.
[0068]
The configuration for performing the multiplexing process in the present embodiment has been described above. However, the idea of the present embodiment is to artificially create a texture that cannot normally be generated by the pseudo gradation process by a combination of quantized values, and to create the texture. The point is that a 1-bit code is expressed by the presence or absence of.
[0069]
In general, the error diffusion method is known as a quantization method in which a very unique texture is generated. Conventionally, the generation of textures that are chain-like and visually uncomfortable has been a major problem of the error diffusion method. For this reason, many proposals have been made to prevent the generation of such unpleasant textures.
[0070]
However, when the texture generation factor is analyzed, the texture pattern includes a texture that can be generated and a texture that cannot be generated. For example, assuming the diffusion matrix shown in FIG. 8 as the error distribution table 404, when the pixel immediately before the target pixel indicated by * is quantized to “1”, a negative quantization error occurs, so that the adjacent pixel is adjacent. The target pixel thus made becomes difficult to be quantized to “1”. Therefore, when decoding the code added according to this embodiment, for example, if it can be detected that it is a flat portion in a low density region (highlight), both pixels adjacent in the horizontal direction become “1”. Since a pattern of a quantized value is usually not possible, if this pattern is detected, it can be recognized as a code.
[0071]
Here, in general, the texture formed by continuously printing dots is very inconspicuous even when printed on recording paper with a low-resolution ink jet printer of about 360 dpi, and is completely visually disturbing to the naked eye. It will not be. However, since a high-resolution image reading apparatus can clearly detect that dots are connected and printed, the embedded code can be easily decoded.
[0072]
In this way, if the texture formed on the recording paper can be arbitrarily controlled, it is possible to embed a code visually without a sense of incongruity. This is because the frequency characteristic of the error diffusion method does not have a peak at a certain fixed frequency, but is a broadband high-pass filter.
[0073]
On the other hand, it is difficult to arbitrarily control the texture in the systematic dither method that is regularly repeated in a short period. The systematic dither method has a very large power at a fixed frequency based on the dither period, so when information is embedded in a band other than the frequency having the peak, a visually strange feeling is generated, leading to deterioration in image quality. End up.
[0074]
Although the texture in the low density range has been described above, the texture that cannot be generated in the corresponding density range can be artificially created in the middle and high density ranges other than the low density range. It is possible to embed a code. That is, it is only necessary that the decoding side can recognize and decode a texture pattern that can be discriminated in the density range that cannot be generated in the corresponding density range as a code.
[0075]
Hereinafter, an example in which the additional information according to the present embodiment is actually multiplexed on the image information will be described. FIG. 9 is a diagram illustrating an example in which three types of images are output on a recording sheet. Assume that these three types of images are image A, image B, and image C, and have the same image size. Hereinafter, a case where audio information related to an image is multiplexed on each of these three types of images will be considered. Note that the amounts of audio information multiplexed on the images A, B, and C are 4 kilobytes (kB), 1 kB, and 9 kB, respectively. For easy explanation, an increase in the amount of information due to header information, marker code, error correction code, etc. is ignored.
[0076]
In this case, since the image size is the same and the ratio of the amount of audio information to be multiplexed is 4: 1: 9 in A: B: C, the area of the block in which 1 bit of the audio information code is multiplexed is multiplexed. The ratio is 1/4: 1: 1/9. FIG. 10 shows the area ratio of this block. In FIG. 10, a region surrounded by a square in each image indicates one block in which a 1-bit code is multiplexed in each image. Naturally, the image C having the largest amount of information to be multiplexed has the smallest area of one block, and therefore the image quality deterioration due to code multiplexing becomes the most serious. That is, it can be seen that the possibility of image quality deterioration increases as the amount of information to be multiplexed increases.
[0077]
From this, in the present embodiment, it is understood that it is necessary to provide a limit based on a value (th) obtained experimentally in advance as a critical point of image quality degradation for the size (w × h) of the multiplexed block. .
[0078]
As described above, according to the present embodiment, by expressing a code with a texture that cannot normally be generated, image quality deterioration is suppressed for image information, and additional information is set to the amount of information and the size of image information. Multiplexing can be performed accordingly.
[0079]
Further, since it is possible to easily multiplex a large amount of additional information such as audio information with respect to the image information, the audio information can be distributed on the recording paper while reducing image quality degradation as much as possible. It is possible to easily mix confidential information in an image.
[0080]
Second Embodiment
Hereinafter, a second embodiment according to the present invention will be described.
[0081]
The configuration of the image processing system in the second embodiment is the same as that shown in FIGS. 1 and 2 described in the first embodiment, and only the operation in the multiplexing control unit 201 is different. To do. In the second embodiment, additional information is multiplexed for each of the four components of yellow (Y), magenta (M), cyan (C), and black (K), which are color components at the time of image formation. It is characterized by that. Therefore, it is very effective when applying an apparatus that performs color output as the image output unit 103.
[0082]
FIG. 11 is a flowchart illustrating a control process in the multiplexing control unit 201 according to the second embodiment.
[0083]
In step S1101, the number of pixels HEIGHT in the vertical direction of the image information, the number of horizontal pixels WIDTH, and the amount of information (number of bits) N of additional information such as audio information are input. Subsequently, in step S1102, the information amount α necessary for multiplexing other than the additional information is added to N and calculated as N2. Here, as α, header information such as a marker code indicating a multiplexed place and encoding conditions, information provided with redundancy such as an error correction code, and the like can be considered.
[0084]
Next, in step S1103, a variable M indicating the number of square lattices whose one side that can be taken in the image information is th is calculated based on the following equation.
[0085]
M = INT (WIDHT / th) × INT (HEIGHT / th) Equation 3
In Expression 3, INT represents an integer value, and the fractional part is rounded down.
[0086]
In other words, M indicates the number of square lattice blocks that can be arranged within the image size of WIDTH × HEIGHT, with the value of th as one side. It should be noted that th may be determined by experimentally calculating a critical point that greatly deteriorates in image quality due to multiplexing of additional information, or of course, a value that makes multiplexing impossible in practice. May be. That is, M is the maximum number of blocks, which is the limit of multiplexing, and when 1 bit is multiplexed in one block, only information up to all M bits can be multiplexed.
[0087]
In step S1104, the information amount N2 is compared with M. If N2 is smaller, the following setting for the Y component is performed in step S1105.
[0088]
w_Y = h_Y = th (4)
Here, w_Y and h_Y respectively indicate the number of horizontal pixels and the number of vertical pixels of the block at the time of Y component multiplexing.
[0089]
On the other hand, if N2 is larger than M in step S1104, the process proceeds to step S1106, where N2 is compared with twice M. If N2 is smaller than this, since multiplexing with two colors is possible, the process proceeds to step S1107, and in addition to setting w_Y and h_Y for the Y component, the following settings for the M component are further performed.
[0090]
w_M = h_M = ((WIDTH × HEIGHT) / (N2−M)) ^ (1/2) Equation 5
Here, w_Y and h_Y indicate the number of horizontal pixels and the number of vertical pixels of the block at the time of M component multiplexing, respectively. The setting of w_Y and h_Y is the same as that in step S1105. That is, in step S1107, the maximum number of multiplexed blocks is created with the Y component, and the remaining information amount that cannot be multiplexed is multiplexed with the M component. At this time, the block size (w_M, h_M) of the M component is larger than the block size (w_Y, h_Y) at the time of multiplexing the Y component.
[0091]
On the other hand, if N2 is larger than 2 × M in step S1106, the process proceeds to step S1108, where N2 is compared with three times M. If N2 is smaller, it is possible to multiplex with three colors, so the process proceeds to step S1109, and in addition to the settings of w_Y and h_Y for the Y component, the following settings for the M component and the C component are performed. .
[0092]
w_M = h_M = th Equation 6
w_C = h_C = ((WIDTH × HEIGHT) / (N2-2 × M)) ^ (1/2) Equation 7
Here, w_C and h_C respectively indicate the number of horizontal pixels and the number of vertical pixels of the block at the time of C component multiplexing. The setting of w_Y and h_Y is the same as that in step S1105, and the setting of w_M and h_M is substituted with the value of th similarly to w_Y and h_Y. In step S1109, that is, the minimum block is created for both Y and M components, and multiplexing is performed up to the limit. Information that cannot be multiplexed yet is multiplexed to the C component.
[0093]
On the other hand, if N2 is larger than 3 × M in step S1108, an error is displayed in step S1110, and the process is terminated.
[0094]
As described above, the second embodiment is characterized in that each color component forming an image is prioritized and multiplexed up to the limit of image quality degradation.
[0095]
In general, when a color image is formed with four components Y, M, C, and K, the Y component has the lowest visual sensitivity. As in the first embodiment, the multiplexing method in the second embodiment is a method of mixing information into the texture of the error diffusion method, so there is almost no visual image quality degradation, but still low sensitivity. More preferably, the color material is multiplexed. Therefore, in the second embodiment, multiplexing is executed in order of M and C, with Y as the first priority. Naturally, when the amount of information to be added is smaller than the image size, multiplexing can be realized with only a small amount of color material. However, as the amount of information increases, the number of color materials to be multiplexed increases.
[0096]
In the flowchart shown in FIG. 11, the multiplexing process for the K component is omitted. Of course, the multiplexing may be performed using the K component. Further, the priority order of the color materials is not limited to this. For example, a higher priority may be given to a color material that seems to have a lower visual sensitivity, such as a light ink with a reduced dye concentration used in an inkjet printer.
[0097]
In the second embodiment, a square lattice having the same number of pixels in the vertical direction and the horizontal direction has been described as an example of the multiplexed block. However, the shape of the multiplexed block is not limited to a square.
[0098]
As described above, according to the second embodiment, additional information is multiplexed for each color component up to the limit of image quality degradation for an image composed of a plurality of color components according to a predetermined priority order. Therefore, it is possible to multiplex more additional information while minimizing image quality degradation.
[0099]
In the first and second embodiments described above, examples of multiplexing audio information have been described. However, information to be multiplexed in the present invention is not limited to this.
[0100]
The present invention is characterized in that the control of multiplexing processing is linked to the amount of information added, and is not limited to the control methods described in the above embodiments. In addition to changing the threshold value, various methods are conceivable as a method of multiplexing additional information by changing the shape of the texture by combining the quantized values.
[0101]
In addition, since the multiplexing method of the present invention uses a texture of pseudo gradation processing, it is naturally necessary to refer to a plurality of pixels even when 1-bit multiplexing is performed, and the threshold value of the error diffusion method is changed. Affects the binarization result of a plurality of pixels after the target pixel. Therefore, as described above, it is preferable to calculate an optimum value experimentally so that the minimum number of pixels for forming one block is not visually conspicuous as a texture.
[0102]
In each of the above embodiments, the example in which the multiplexing condition is controlled according to the additional information and the image information has been described. However, it is natural that the multiplexing condition is also multiplexed and transmitted as header information. On the receiving side, the additional information and the image information are separated based on the multiplexing condition described in the header information.
[0103]
In the present invention, an example in which an error is displayed when the amount of additional information exceeds a predetermined value has been described. However, for example, hybrid control in which another multiplexing method is executed when the amount of additional information exceeds a predetermined value is also very high. It is valid.
[0104]
[Other Embodiments]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device. You may apply to.
[0105]
Another object of the present invention is to supply a storage medium (or recording medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or Needless to say, this can also be achieved by the MPU) reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0106]
Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0107]
When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.
[0108]
【The invention's effect】
As described above, according to the present invention, the principle of texture generation of the error diffusion method is used for code embedding, and further, the multiplexing condition is controlled according to the information amount and the image size of the additional information. On the other hand, it is possible to multiplex a large amount of additional information while suppressing image quality deterioration.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of an image processing system according to an embodiment of the present invention;
FIG. 2 is a block diagram showing a detailed configuration of a multiplexed pseudo gradation processing unit in the present embodiment;
FIG. 3 is a flowchart showing an operation procedure of a multiplexing control unit in the present embodiment;
FIG. 4 is a block diagram showing a detailed configuration of a quantization unit in the present embodiment;
FIG. 5 is a flowchart showing an operation procedure of a multiplexing unit in the embodiment;
FIG. 6 is a view showing an example of a binarized information window in the present embodiment;
FIG. 7 is a diagram showing an example of a target pattern in the present embodiment;
FIG. 8 is a diagram showing an example of a diffusion matrix in the error diffusion method;
FIG. 9 is a view showing an example of an image formed according to the embodiment;
FIG. 10 is a diagram showing a state of block division in a formed image;
FIG. 11 is a flowchart showing an operation procedure of the multiplexing control unit in the second embodiment according to the present invention;
FIG. 12 is a block diagram showing an example of conventional multiplexing processing;
FIG. 13 is a block diagram showing an example of a conventional multiplexing process.
[Explanation of symbols]
102 Multiplexed pseudo gradation processing unit
103 Image output unit
104 Image input unit
105 Multiple information separator
201 Multiplexing control unit
202 Noise removal unit
203 Quantizer
204 Multiplexer
400 adder
401 comparison unit
402 Subtractor
403 Error distribution calculator

Claims (11)

画像情報に対して付加情報を多重化する画像処理装置であって、
前記画像情報の注目画素を誤差拡散処理により量子化する量子化手段と、
前記注目画素を含む複数画素の量子化値によって前記付加情報を示し、かつ特定濃度で前記量子化手段による誤差拡散処理では発生し得ない特定パターンを形成することにより、前記付加情報を多重化する多重化手段と、
前記多重化手段において形成される前記特定パターンの多重化間隔を前記付加情報の情報量に応じて制御する制御手段と、
を有することを特徴とする画像処理装置。
An image processing apparatus that multiplexes additional information with image information,
Quantization means for quantizing the pixel of interest of the image information by error diffusion processing;
By forming a specific pattern that can not occur in the error diffusion process shows the additional information by the quantization values of a plurality of pixels, and in particular the concentration by the quantizing means including the target pixel, multiplexing the additional information Multiplexing means to
Control means for controlling the multiplexing interval of the specific pattern formed in the multiplexing means according to the information amount of the additional information;
An image processing apparatus comprising:
前記制御手段は、前記特定パターンをひとつ多重化する前記画像情報のブロックサイズを前記付加情報の情報量に応じて制御することを特徴とする請求項1に記載の画像処理装置。The image processing apparatus according to claim 1, wherein the control unit controls a block size of the image information for multiplexing the specific pattern according to an information amount of the additional information. 前記制御手段は、前記付加情報の情報量の増加に従って前記特定パターンをひとつ多重化する前記画像情報のブロックサイズが小さくなるように制御することを特徴とする請求項2に記載の画像処理装置。The image processing apparatus according to claim 2, wherein the control unit performs control so that a block size of the image information on which the specific pattern is multiplexed is reduced according to an increase in an information amount of the additional information. 前記画像情報は複数色成分からなり、前記制御手段は、前記特定パターンの多重化対象色成分を前記付加情報の情報量に応じて制御することを特徴とする請求項1に記載の画像処理装置。The image processing apparatus according to claim 1, wherein the image information includes a plurality of color components, and the control unit controls the color component to be multiplexed of the specific pattern according to an information amount of the additional information. . 前記制御手段は、前記付加情報の情報量の増加に従って前記多重化対象色成分の数を増やすように制御することを特徴とする請求項4に記載の画像処理装置。The image processing apparatus according to claim 4, wherein the control unit performs control so as to increase the number of the color components to be multiplexed as the information amount of the additional information increases. 前記制御手段は、視覚感度の低い色成分から順次優先順位を付し、該優先順位に基づいて前記多重化対象色成分を制御することを特徴とする請求項4に記載の画像処理装置。The image processing apparatus according to claim 4, wherein the control unit sequentially assigns priorities from color components having low visual sensitivity, and controls the multiplexing target color components based on the priorities. 前記制御手段は、前記特定パターンをひとつ多重化する前記画像情報のブロックサイズを、視覚感度の低い色成分ほど小さくなるように制御することを特徴とする請求項4に記載の画像処理装置。The image processing apparatus according to claim 4, wherein the control unit controls the block size of the image information for multiplexing one specific pattern so that the color component with lower visual sensitivity becomes smaller. 前記多重化手段は、前記量子化手段により既に量子化された周辺画素及び前記付加情報に基づいて前記量子化手段における量子化条件を制御することにより、前記特定パターンを形成することを特徴とする請求項1に記載の画像処理装置。The multiplexing means forms the specific pattern by controlling a quantization condition in the quantization means based on the peripheral pixels already quantized by the quantization means and the additional information. The image processing apparatus according to claim 1 . 前記多重化手段は、前記量子化手段における誤差拡散処理の際の量子化閾値を制御することを特徴とする請求項8に記載の画像処理装置。The image processing apparatus according to claim 8, wherein the multiplexing unit controls a quantization threshold in error diffusion processing in the quantization unit. 画像情報に対して付加情報を多重化する画像処理方法であって、
前記画像情報の注目画素を誤差拡散処理により量子化する量子化工程と、
前記注目画素を含む複数画素の量子化値によって前記付加情報を示し、かつ特定濃度で前記量子化工程での誤差拡散処理では発生し得ない特定パターンを形成することにより、前記付加情報を多重化する多重化工程と、
前記多重化工程で形成される前記特定パターンの多重化間隔を前記付加情報の情報量に応じて制御する制御工程と、
を有することを特徴とする画像処理方法。
An image processing method for multiplexing additional information with image information,
A quantization step of quantizing the pixel of interest of the image information by error diffusion processing;
By forming a specific pattern indicates the additional information by the quantization values of a plurality of pixels, and that can not occur in the error diffusion processing in the quantization step at specific concentrations that include the pixel of interest, multiplexing the additional information A multiplexing process,
A control step of controlling the multiplexing interval of the specific pattern formed in the multiplexing step according to the information amount of the additional information;
An image processing method comprising:
画像情報に対して付加情報を多重化する画像処理のプログラムコードを記録した記録媒体であって、該プログラムコードは少なくとも、
前記画像情報の注目画素を誤差拡散処理により量子化する量子化工程のコードと、
前記注目画素を含む複数画素の量子化値によって前記付加情報を示し、かつ特定濃度で前記量子化工程での誤差拡散処理では発生し得ない特定パターンを形成することにより、前記付加情報を多重化する多重化工程のコードと、
前記多重化工程で形成される前記特定パターンの多重化間隔を前記付加情報の情報量に応じて制御する制御工程のコードと、
を有することを特徴とする記録媒体。
A recording medium recording a program code for image processing for multiplexing additional information with respect to image information, wherein the program code is at least
A quantization process code for quantizing the target pixel of the image information by error diffusion processing;
By forming a specific pattern indicates the additional information by the quantization values of a plurality of pixels, and that can not occur in the error diffusion processing in the quantization step at specific concentrations that include the pixel of interest, multiplexing the additional information The multiplexing process code to be
A control step code for controlling the multiplexing interval of the specific pattern formed in the multiplexing step according to the amount of information of the additional information;
A recording medium comprising:
JP09007399A 1999-03-30 1999-03-30 Image processing apparatus and method Expired - Fee Related JP3715821B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP09007399A JP3715821B2 (en) 1999-03-30 1999-03-30 Image processing apparatus and method
US10/754,524 US6954542B2 (en) 1999-03-30 2004-01-12 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09007399A JP3715821B2 (en) 1999-03-30 1999-03-30 Image processing apparatus and method

Publications (2)

Publication Number Publication Date
JP2000287080A JP2000287080A (en) 2000-10-13
JP3715821B2 true JP3715821B2 (en) 2005-11-16

Family

ID=13988362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09007399A Expired - Fee Related JP3715821B2 (en) 1999-03-30 1999-03-30 Image processing apparatus and method

Country Status (1)

Country Link
JP (1) JP3715821B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007104176A (en) * 2005-10-03 2007-04-19 Matsushita Electric Ind Co Ltd Image compositing apparatus and image collation apparatus, image compositing method, and image compositing program
JP4892729B2 (en) * 2005-12-14 2012-03-07 国立大学法人豊橋技術科学大学 Information embedding method and information reading method in texture image, information embedding device and information reading device in texture image
CN109447886B (en) * 2018-10-08 2023-04-11 陕西师范大学 Binding to EMD-2 1 Embedded multi-carrier secret map separate storage method with recovery

Also Published As

Publication number Publication date
JP2000287080A (en) 2000-10-13

Similar Documents

Publication Publication Date Title
JP3647405B2 (en) Image processing apparatus and image processing method
JP3639742B2 (en) Image processing apparatus and method
US6954542B2 (en) Image processing apparatus and method
US7372594B1 (en) Image processing apparatus and method, and storage medium
US7660429B2 (en) Error diffusion halftone watermarking
EP1102474B1 (en) Image processing apparatus, method and memory medium therefor
US7171019B2 (en) Image processing apparatus and image processing method
US6853736B2 (en) Image processing apparatus, image processing method and storage medium
JP2022139239A (en) Information processing apparatus and program and image processing method
JP3715821B2 (en) Image processing apparatus and method
JP3684181B2 (en) Image processing apparatus and image processing method
JP4310031B2 (en) Image processing apparatus, image processing method, and storage medium
JP3787511B2 (en) Image processing apparatus and image processing method
JP3684178B2 (en) Image processing apparatus and image processing method
JP4857180B2 (en) Image processing apparatus and image processing method
JP4147074B2 (en) Image processing apparatus and image processing method
JP2001103281A (en) Image processing device and image processing method
JP2003110839A (en) Device and method for processing image
JP2001292301A (en) Image processing apparatus, image processing method, and storage medium
JP2001103289A (en) Image processing device and image processing method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050708

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: 20050812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130902

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees