(57)【特許請求の範囲】
【請求項１】
画像データ中に埋め込むべき情報である埋込情報と，その埋込情報を埋め込むべき位置を指定する埋込位置情報とを記憶しておくための情報記憶回路と、
画像データを，所定の位置関係を有する所定数の画素に関する画素データの集合である複数のセル単位データに分解して出力するためのセル単位データ出力回路と、
セル単位データとセル単位データ中の画素位置を示す位置情報とから，前記所定数の画素に関する，階調数がより少ない画素データの集合であるセル単位ハーフトーンデータであって，前記位置情報に応じた位置に階調値重心位置があるセル単位ハーフトーンデータを生成するための生成回路と、
前記セル単位データ出力回路が出力したセル単位データの前記画像データ中での位置と前記情報記憶回路に記憶されている前記埋込位置情報とに基づき、当該セル単位データが前記情報記憶回路に記憶されている前記埋込情報を埋め込むべきものであるか否かを判別し、当該セル単位データが前記埋込情報を埋め込むべきものであった場合には，当該セル単位データを前記埋込情報に応じた位置情報と共に前記生成回路に供給する第１処理を行い、そうでなかった場合には，当該セル単位データの階調値重心位置を示す位置情報を生成して生成した位置情報を当該セル単位データと共に前記生成回路に供給する第２処理を行う回路であると共に、前記第１処理として、前記生成回路によって生成されたセル単位ハーフトーンデータ群からなる画像データ中に、特定の位置情報に応じた位置に階調値重心位置があるセル単位ハーフトーンデータを所定パターンで含めるためのものとして定められている条件が満たされる場合には、前記特定の位置情報と前記セル単位データとを前記生成回路に供給する処理を行う回路である供給回路と、
を備えることを特徴とする画像処理回路。
【請求項２】
前記供給回路が行う前記第１処理が、
何度，実行されても、隣接する画素位置を示す位置情報を前記生成回路に供給することがない処理である
ことを特徴とする請求項１記載の画像処理回路。
【請求項３】
請求項１又は請求項２記載の画像処理回路と、
前記画像処理回路によって生成された１画像データ分のセル単位ハーフトーンデータ群に基づき、用紙上への印刷を行う印刷エンジンと
を備えることを特徴とする印刷装置。
【請求項４】
コンピュータに、
処理対象として与えられた画像データを，所定の位置関係を有する所定数の画素に関する画素データの集合である複数のセル単位データとして取り扱うことにより、当該画像データが、階調値重心位置が所定位置にあるセル単位データが所定パターンで含まれている埋込情報含有画像データであるか否かを判断する判断ステップと、
前記判断ステップにより前記画像データが前記埋込情報含有画像データであると判断されたときに、前記画像データに前記所定パターンで含まれる前記セル単位データと所定の位置関係にある各セル単位データの階調値重心位置を特定し、特定した階調値重心位置群から，埋込情報を復元する埋込情報復元ステップと
を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データへ情報を電子透かしとして埋め込める画像処理回路と，情報を電子透かしとして埋め込んだ印刷を行える印刷装置と，電子透かしとして埋め込まれている情報を画像データから読み出すための画像処理プログラムとに、関する。
【背景技術】
【０００２】
現存する印刷装置の中には、装置内のＣＰＵが印刷データから生成した画像データ（或いは、ＰＣから送られてきた画像データ）が、図８に示した構成を有するハーフトーン化回路（詳細は後述）によって、より階調数の少ない画素データからなる画像データ（図では、ハーフトーンデータ）に変換されて印刷が行われる構成の装置（例えば、特許文献１参照）が、存在している。
【０００３】
そして、そのような印刷装置の中には、印刷時に電子透かしを埋め込める装置も存在しているのであるが、当該印刷装置は、ハーフトーン化回路による処理とは別に、電子透かしを埋め込むための比較的に複雑な処理がＣＰＵ（ソフトウェア）により行われるものであるため、電子透かしを埋め込んだ印刷に時間がかかる装置となっている。
【０００４】
【特許文献１】特開２００６−３５２８３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明の課題は、電子透かしを埋め込むための複雑な処理をＣＰＵに行わせる必要がない画像処理回路、電子透かしを埋め込んだ印刷が高速に行える印刷装置を、提供することにある。
【０００６】
また、本発明の他の課題は、本発明の画像処理回路によって生成された画像データや，本発明の印刷装置によって印刷された印刷物の画像データから、埋め込まれている情報を抽出できる画像処理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の画像処理回路は、画像データ中に埋め込むべき情報である埋込情報と，その埋込情報を埋め込むべき位置を指定する埋込位置情報とを記憶しておくための情報記憶回路と、画像データを，所定の位置関係を有する所定数の画素に関する画素データの集合である複数のセル単位データに分解して出力するためのセル単位データ出力回路と、セル単位データとセル単位データ中の画素位置を示す位置情報（或る画素の，セル単位データが示している画素群の中での位置を示す情報）とから，所定数の画素に関する，階調数がより少ない画素データの集合であるセル単位ハーフトーンデータであって，前記位置情報に応じた位置に階調値重心位置があるセル単位ハーフトーンデータを生成するための生成回路と、セル単位データ出力回路が出力したセル単位データの画像データ中での位置と情報記憶回路に記憶されている埋込位置情報とに基づき、当該セル単位データが情報記憶回路に記憶されている埋込情報を埋め込むべきものであるか否かを判別し、当該セル単位データが埋込情報を埋め込むべきものであった場合には，当該セル単位データを埋込情報に応じた位置情報と共に生成回路に供給する第１処理を行い、そうでなかった場合には，当該セル単位データの階調値重心位置を示す位置情報を生成して生成した位置情報を当該セル単位データと共に生成回路に供給する第２処理を行う回路であると共に、第１処理として、生成回路によって生成されたセル単位ハーフトーンデータ群からなる画像データ中に、特定の位置情報に応じた位置に階調値重心位置があるセル単位ハーフトーンデータを所定パターンで含めるためのものとして定められている条件が満たされる場合には、特定の位置情報とセル単位データとを生成回路に供給する処理を行う回路である供給回路とを、備える。
【０００８】
すなわち、本発明の画像処理回路は、画像データのハーフトーンデータ化時に、電子透かし（埋込情報）の埋込処理を行ってしまう回路となっている。従って、本発明の画像処理回路を用いておけば、電子透かしを埋め込むための複雑な処理をＣＰＵに行わせる必要がない装置（電子透かしを埋め込んだ印刷が高速に行える，請求項３記載の印刷装置等）を製造できることになる。
【０００９】
本発明の画像処理回路により生成される画像データ（画像処理回路内の生成回路によって生成される，１画像データ分のセル単位ハーフトーンデータ群）や、本発明の印刷装置による印刷結果のスキャン結果は、本発明の画像処理プログラム（処理対象として与えられた画像データを，所定の位置関係を有する所定数の画素に関する画素データの集合である複数のセル単位データ（請求項１〜３におけるセル単位ハーフトーンデータに相当するデータ）として取り扱うことにより、当該画像データが、階調値重心位置が所定位置にあるセル単位データが所定パターンで含まれている埋込情報含有画像データであるか否かを判断する判断ステップと、判断ステップによって画像データが埋込情報含有画像データであると判断されたときに、画像データに所定パターンで含まれるセル単位データと所定の位置関係にある各セル単位データの階調値重心位置を特定し、特定した階調値重心位置群から，埋込情報を復元する埋込情報復元ステップとを、コンピュータに実行させるプログラム）により、埋込情報の抽出が可能なものである。ただし、印刷結果のスキャンにより得られる画像データは、通常、印刷のために使用された画像データ（セル単位ハーフトーンデータ群）と同じものとはならないため、本発明の画像処理回路内の供給回路としては、第１処理として、何度，実行されても、隣接する画素位置を示す位置情報を生成回路に供給することがない処理（任意の２つの位置情報が，隣接する画素位置を示していない予め定められている複数の位置情報群の中のいずれかを生成回路に供給する処理）を行うものを採用しておくことが望ましい。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１１】
図１に示してあるように、本実施形態に係る印刷装置１０は、スキャナ１１と操作パネル１２とコントローラ１３と印刷エンジン１４とを備えた装置（いわゆる複合機）である。
【００１２】
操作パネル１２は、ユーザから各種の指示を得るため（及び、プリンタ１０の状態をユーザに提示するため）に、プリンタ１０に設けられているユニットである。この操作パネル１２は、ＬＣＤ，複数のＬＥＤ，複数の押しボタンスイッチ等から構成されたユニットとなっている。
【００１３】
印刷エンジン１４は、用紙上に印刷を行うためのユニットである。スキャナ１１は、自身にセットされた原稿をスキャンすることにより，当該原稿の画像データを生成するユニットである。
【００１４】
コントローラ１３は、プリンタ１０内の各部を統合的に制御する（プリンタ１０を複合機として機能させる）ためのユニットである。このコントローラ１３は、既存のコントローラと同様のハードウェア構成を有するユニット（ＣＰＵ，ＲＯＭ，ＲＡＭ，ハーフトーン化回路，各種インタフェース回路等からなるユニット）ではあるが、図８に示した構成のハーフトーン化回路ではなく，図２に示した構成のハーフトーン化回路が搭載されたユニットとなっている。
【００１５】
このハーフトーン化回路の機能を説明する前に、両ハーフトーン化回路に共通している各部及び既存のハーフトーン化回路内の重心計算部２３の機能を説明することにする。
【００１６】
ハーフトーン化回路内の入力ラスタバッファ２１（図２，図８）は、所定ライン数分の画像データを一時記憶しておくためのバッファである。セルデータ読出制御部２２は、入力ラスタバッファ２１から，１０×１０個の画素データ（マトリックス状に並んだ１０×１０個の画素群に関する画素データ群）を読み出して重心計算部２３に供給する機能を有する回路である。以下、このセルデータ読出制御部２２が重心計算部２３（或いは、重心計算部２８）に供給するデータのことをセルデータと表記する。
【００１７】
重心計算部２３（図８）は、セルデータ読出制御部２２から供給されたセルデータの階調値重心座標とセルデータの階調値の合計値とを計算し、計算した合計値，計算した階調値重心座標に応じた画素番号，及び，セルデータ読出制御部２２から供給されたセルデータを、階調値計算部２４に供給する回路である。なお、セルデータの階調値重心座標とは、階調値（画素データの値）で重みづけした各画素の座標の平均値のことである。また、画素番号とは、各画素（画素位置）に割り当てられている数値情報のことであり、階調値重心座標に応じた画素番号とは、その座標が，計算した階調値重心座標と最も近くなっている画素の画素番号のことである。
【００１８】
階調値計算部２４は、重心計算部２３（或いは重心計算部２８）から供給されたセルデータ，画素番号及び合計値に基づき、そのセルデータ相当の，階調数がより少ない画素データの集合であるセル単位ハーフトーンデータを生成する回路である。この階調値計算部２４は、供給された画素番号の画素に階調値重心が位置しており、かつ、供給された合計値に階調値の合計値が一致しているセル単位ハーフトーンデータを生成する回路となっている。
【００１９】
具体的には、階調値計算部２４は、画素成長順テーブル，ディザマトリックス，複数個のガンマテーブルを設定可能な回路（各種情報を書き込めるＲＡＭを備えた回路）となっている。
【００２０】
ここで、画素成長順テーブルとは、セルデータ中の各画素データの処理順を規定する画素成長順規定情報（本実施形態では、画素番号を処理順に並べた情報）が，各種画素番号について設定されているテーブルのことである。ガンマテーブルとは、入力階調値と出力階調値との対応関係を規定するための，テーブル番号によって識別されるテーブルのことである。ディザマトリックスとは、図４に簡略化して示してあるように、使用すべきガンマテーブルのテーブル番号が，画素の位置別に設定されている情報のことである。なお、ガンマテーブルは、図３に模式的に示してあるように、同じ入力階調値に対する出力階調値が，テーブル番号が大きくなるほど大きくなるように，その内容が定められるテーブルとなっており、ディザマトリックス（図４）は、重心計算部２３（或いは重心計算部２８）からの画素番号で識別される画素に関するテーブル番号が０となるようにシフトされて使用される情報となっている。
【００２１】
そして、階調値計算部２４は、セルデータ，画素番号（以下、注目画素番号と表記する）及び合計値（注目合計値と表記する）が供給された場合、注目画素番号に対応づけられている画素成長順テーブル中の画素成長順規定情報が示している順通りに、『セルデータ中の画素データ（或る画素に関する階調値）を選択し、注目画素番号に応じた量のシフトを施したディザマトリックスから，選択した画素データに関するテーブル番号を読み出し、読み出したテーブル番号で識別されるガンマテーブル中の，選択した画素データ（入力階調値）に対応づけられている出力階調値を、処理中の画素データに関する出力値とする処理』を繰り返していき、出力階調値の合計値が注目合計値以上となったときに、出力階調値の合計値が注目合計値と一致するように最終出力値の値を調整してから処理を終了する回路となっている。
【００２２】
書込制御回路２３は、階調値計算部２４が生成したセル単位ハーフトーンデータを、所定量の画像データを一時記憶しておくためのバッファである出力ラスタバッファ２６内の適切な位置へ書き込む回路である。読出制御回路２７は、出力ラスタバッファ２６内のデータを外部へ出力するための回路である。
【００２３】
図２に戻って、上記した重心計算部２３の代わりに本実施形態に係るハーフトーン化回路に設けられている重心計算部２８，埋込データ等記憶部２９の説明を行うことにする。
【００２４】
本実施形態に係るハーフトーン化回路内の埋込データ等記憶部２９は、印刷結果に埋め込むべきデータである埋込データ〔本実施形態では、特定の１文字（Ｚ等）を含まない英字列〕と，埋込データを埋め込むべき矩形領域を指定する領域指定情報とを，記憶しておくための回路である。この埋込データ等記憶部２９は、ＣＰＵが、埋込データと、領域指定情報とを設定できる回路（外部回路がアクセス可能な回路）となっている。
【００２５】
重心計算部２８は、処理すべきセル単位データが、埋込データ等記憶部２９に記憶されている領域指定情報が示している領域外の領域に関するものであった場合には、重心計算部２３と同じ処理を行う回路である。
【００２６】
ただし、重心計算部２８は、文字・画素番号テーブルを設定可能な回路となっている。ここで、文字・画素番号テーブルとは、図５及び図６に示したように、複数の文字のそれぞれに画素番号を対応づけるためのテーブルであって、隣接する画素の画素番号が含まれないようにその内容が決定されるテーブルのことである。
【００２７】
さらに、重心計算部２８は、処理すべきセル単位データが埋込データ等記憶部２９に記憶されている領域指定情報が示している領域の境界部分に関するものであった場合には、セルデータと合計値と所定の画素番号（本実施形態では、５５）とを階調値計算部２４に供給し、処理すべきセル単位データが領域指定情報が示している領域内の部分に関するものであった場合には、埋込データ等記憶部２９に記憶されている埋込データ中の，今回、処理すべき文字（先頭文字，或いは，前回，処理した文字の次の文字）に対応づけられている画素番号を文字・画素番号テーブルから読み出し，読み出した画素番号をセルデータ及び合計値と共に階調値計算部２４に供給する回路ともなっている。
【００２８】
そして、本実施形態に係る印刷装置１０は、電子透かしを埋め込んだ印刷を行うべきことを指示する印刷データ（埋込データを指定したもの／印刷装置１０内に既に設定されている埋込データを使用すべきことを指定したもの）を受信した場合、その印刷データに応じた内容の画像データの一部（印刷すべき情報がない部分）に、その部分のサイズに応じたサイズの，所定階調値（印刷されていることが殆ど分からない階調値）の画像データ（以下、情報埋込用画像データと表記する）を埋め込んだ画像データをＲＡＭ上に用意した後、情報埋込用画像データのサイズ及び位置を示す領域指定情報（及び埋込データ）を設定してから，ハーフトーン化回路を機能させることにより、印刷を行うようにプログラムされている装置となっている。
【００２９】
また、印刷装置１０は、上記した文字・画素番号テーブル（図５）が重心計算部２８（ハーフトーン化回路）に設定される際には、画素番号から文字を特定するための画素番号・文字テーブルが、コントローラ１３内の不揮発性メモリ（本実施形態では、フラッシュＲＯＭ）上に設定される装置となっている。この画素番号・文字テーブルは、文字・画素番号テーブルとほぼ同内容のものであるが，各文字に、複数の画素番号（文字・画素番号テーブルで対応づけられている画素番号と，その左上，上，左の画素番号（図６参照））が対応づけられているテーブルとなっている。
【００３０】
さらに、印刷装置１０は、コピーの実行が指示された場合、図７に示した手順のコピー処理を行うようにプログラムされた装置となっている。
【００３１】
すなわち、コピーの実行が指示された印刷装置１０（コントローラ１３／コントローラ１３内のＣＰＵ）は、まず、スキャナ１１を制御することにより原稿の画像データを生成（ＲＡＭ上に用意する）する処理（ステップＳ１０１）を行う。その後、印刷装置１０は、その画像データに埋込データが埋め込まれているか否かを判定する処理であると共に、画像データに埋込データが埋め込まれていた場合には、その埋込データを特定する処理である埋込データ特定処理（ステップＳ１０２）を行う。
【００３２】
この埋込データ特定処理は、まず、画像データを，１０×１０個の画素データからなるセルデータの集合として取り扱うことにより、階調値重心位置にある画素の画素番号が，５５，４４，４５又は５４〔上記した“所定の画素番号”と，その左上，上，左の画素番号（図６参照）のいずれか〕にあるセルデータで囲まれており，かつ，その内部に，階調値重心位置にある画素の画素番号が，それらの画素番号とは異なるものとなっているセルデータが存在する領域の有無を調べる処理が、セルデータの基準位置を変更しつつ行われる処理となっている。そして、埋込データ特定処理は、そのような領域が存在していなかった場合には、画像データに埋込データが埋め込まれていないと判定して終了し、そのような領域が存在していた場合には、当該領域内の各セルデータの階調値重心位置にある画素の画素番号を求め、求めた各画素番号に対応づけられている文字を画素番号・文字テーブルから読み出すことにより、埋込データを特定する処理となっている。
【００３３】
ステップＳ１０２の処理を終えた印刷装置１０は、当該処理にて埋込データが特定できなかった場合（ステップＳ１０３；ＮＯ）には、生成してある画像データに応じた内容の印刷（埋込データを埋め込まない印刷）を印刷エンジン１４に行わせるための印刷制御処理（ステップＳ１０４）を行ってから、このコピー処理を終了する。また、印刷装置１０は、ステップＳ１０２の処理にて埋込データが特定できた場合（ステップＳ１０３；ＹＥＳ）には、予め指定されている内容の処理（エラーメッセージの表示処理等）をステップＳ１０６にて行ってから、このコピー処理を終了する。
【００３４】
《変形形態》
上記した印刷装置１０，ハーフトーン化回路は、各種の変形を行うことが出来る。例えば、ハーフトーン化回路を、画像データの減色を行うための回路として構成しておく（或いは、使用する）ことが出来る。また、印刷装置１０に用いられているプログラム（図７の処理を印刷装置１０に行わせるためのプログラム）を、コンピュータ用のプログラムやスキャナ用のプログラムに変形することも出来る。
【図面の簡単な説明】
【００３５】
【図１】実施形態に係る印刷装置の構成図。
【図２】実施形態に係る印刷装置に用いられているハーフトーン化回路の構成図。
【図３】ガンマテーブルの説明図。
【図４】ディザマトリックスの説明図。
【図５】文字・画素番号テーブルの説明図。
【図６】文字・画素番号テーブルの設定内容を説明するための図。
【図７】実施形態に係る印刷装置が実行するコピー処理の流れ図。
【図８】従来のハーフトーン化回路の構成図。
【符号の説明】
【００３６】
１０  印刷装置、  １１  スキャナ、  １２  操作パネル、  １３  スキャナ
１４  印刷エンジン、  ２１  入力ラスタバッファ
２２  セルデータ読出制御部、  ２３，２８  重心計算部
２４  階調値計算部、  ２６  出力ラスタバッファ
２７  読出制御回路、  ２９  埋込データ等記憶部
【図１】
0004905294.tif 000002
【図２】
0004905294.tif 000003
【図３】
0004905294.tif 000004
【図４】
0004905294.tif 000005
【図５】
0004905294.tif 000006
【図６】
0004905294.tif 000007
【図７】
0004905294.tif 000008
【図８】
0004905294.tif 000009