JP2008079278A - 画像処理装置、画像処理方法およびそのコンピュータ・プログラム - Google Patents

画像処理装置、画像処理方法およびそのコンピュータ・プログラム Download PDF

Info

Publication number
JP2008079278A
JP2008079278A JP2007157820A JP2007157820A JP2008079278A JP 2008079278 A JP2008079278 A JP 2008079278A JP 2007157820 A JP2007157820 A JP 2007157820A JP 2007157820 A JP2007157820 A JP 2007157820A JP 2008079278 A JP2008079278 A JP 2008079278A
Authority
JP
Japan
Prior art keywords
data
block
embedded
image
image processing
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.)
Granted
Application number
JP2007157820A
Other languages
English (en)
Other versions
JP4978325B2 (ja
Inventor
Motohiro Asano
基広 浅野
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies 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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2007157820A priority Critical patent/JP4978325B2/ja
Priority to US11/894,096 priority patent/US20080049259A1/en
Publication of JP2008079278A publication Critical patent/JP2008079278A/ja
Application granted granted Critical
Publication of JP4978325B2 publication Critical patent/JP4978325B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0042Fragile watermarking, e.g. so as to detect tampering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32208Spatial or amplitude domain methods involving changing the magnitude of selected pixels, e.g. overlay of information or super-imposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • H04N2201/3235Checking or certification of the authentication information, e.g. by comparison with data stored independently
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3269Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs
    • H04N2201/327Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs which are undetectable to the naked eye, e.g. embedded codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/328Processing of the additional information
    • H04N2201/3284Processing of the additional information for error correction

Abstract

【課題】埋め込まれたデータの正しさの検証と、埋め込まれたデータの識別とを行なうことが可能な画像処理装置を提供すること。
【解決手段】データ分割部42は、埋め込みデータ46を複数のブロックに分割する。チェックサム算出部43は、データ分割部42によって分割された複数のブロックごとのデータのチェックサムを算出し、埋め込むデータ全体のチェックサムを算出する。そして、画像データ合成部44は、ブロックごとのデータと、ブロックチェックサムと、全体チェックサムと、ブロックの識別番号とを画像データ41に埋め込んで合成する。したがって、印刷物45からこれらの情報を検出することによって、埋め込まれたデータの正しさの検証と、埋め込まれたデータの識別とを行なうことが可能となる。
【選択図】図4

Description

本発明は、原画像に埋め込みデータを埋め込む技術に関し、特に、埋め込まれた埋め込みデータの正しさの検証と、埋め込みデータの識別とを行なうことが可能な画像処理装置、画像処理方法およびそのコンピュータ・プログラムに関する。
近年、原画像である画像データに電子透かしとして埋め込みデータを埋め込む技術が開発されている。これに関連する技術として、下記の特許文献1および2に開示された発明がある。
特許文献1に開示された画像処理装置においては、画像データが入力されると、所定の画素数毎にチェックサムが演算され、演算されたチェックサムが画像データに電子透かしとして埋め込まれ、記録媒体に記録される。記録媒体に記録された画像データが再生されるとき、埋め込まれているチェックサムと、再生される画像データから演算されたチェックサムが比較されることにより、修正が施されているか否かが判断される。
特許文献2に開示された透かし情報埋め込み方法においては、ドットパターンが少なくとも第1、第2、第3のドット(始点ドット、水平基準ドット、変調ドット)を含んで構成されており、第1、第2、第3のドットの相対的な位置関係によって定まる固有値に応じてドットパターンに値を設定する。固有値は、第3のドットを始点として第1のドットを終点とするベクトルと、第3のドットを始点として第2のドットを終点とするベクトルとの内積である。
特開2001−358926号公報 特開2004−128845号公報
画像データに電子透かしとして埋め込みデータを埋め込んでプリントアウトし、そのプリントアウトをスキャナなどでスキャンして埋め込みデータを検出する場合を考える。複数枚のプリントアウト、たとえば2枚のプリントアウトを並べて一度にスキャンする場合、それぞれのプリントアウトに埋め込まれている複数種類の埋め込みデータをそれぞれ識別して、検出する必要がある。
しかしながら、上述した特許文献1は、埋め込まれているチェックサムと、再生される画像データから演算されるチェックサムとを比較することにより、修正が施されているか否かを判断するものであるため、埋め込まれているデータ(チェックサム)の検証をできるものではなく、複数枚のプリントアウトを並べてスキャンした場合には、それぞれのプリントアウトに埋め込まれた埋め込みデータを識別することはできない。
また、上述した特許文献2は、第1、第2、第3のドットの相対的な位置関係によって定まる固有値に応じてドットパターンに値を設定するものであるため、特許文献1と同様に、複数枚のプリントアウトを並べてスキャンした場合には、それぞれのプリントアウトに埋め込まれた埋め込みデータを識別することはできない。
本発明は、上記問題点を解決するためになされたものであり、その目的は、埋め込まれたデータの正しさの検証と、埋め込まれた埋め込みデータの識別とを行なうことが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することである。
本発明のある局面に従えば、原画像に埋め込みデータを埋め込む画像処理装置であって、埋め込みデータを複数のブロックに分割する分割手段と、分割手段によって分割されたブロックごとのデータから一方向性関数を用いて特定値を算出する算出手段と、埋め込みデータ固有の識別情報を生成する生成手段と、算出手段によって算出された特定値と、生成手段によって生成された識別情報と、各ブロックのデータとをブロックごとに原画像に埋め込む処理手段とを含む。
好ましくは、生成手段は、埋め込みデータ全体から一方向性関数を用いて算出された値を識別情報とする。
好ましくは、処理手段は、さらに埋め込みデータの各ブロックに付与されたブロック識別番号を原画像に埋め込む。
本発明の別の局面に従えば、印刷された画像に埋め込まれた埋め込みデータを検出する画像処理装置であって、印刷物から画像を読取る読取手段と、読取手段によって読取られた画像から、埋め込みデータのブロックごとのデータと、ブロックごとのデータから一方向性関数を用いて算出された特定値と、埋め込みデータ固有の識別情報とを検出する検出手段と、検出手段によって検出されたブロックごとのデータと特定値とに基づいてデータの正しさを検証し、検出手段によって検出された識別情報に基づいてデータを識別する判定手段とを含む。
好ましくは、検出手段は、読取手段によって読取られた画像から、さらに各ブロックに付与されたブロック識別番号を検出し、ブロック識別番号に基づいてブロックごとのデータから埋め込みデータ全体を再現する埋め込みデータ再現手段を備える。
好ましくは、識別情報は、埋め込みデータ全体から一方向性関数を用いて算出された値であって、判定手段は、検出手段によって検出された識別情報と、埋め込みデータ全体とから当該データ全体の正しさを検証する。
好ましくは、一方向性関数は、チェックサムである。
好ましくは、一方向性関数は、ハッシュ関数である。
好ましくは、一方向性関数は、データに対してビットブレンドを行なった後に加算する関数である。
さらに好ましくは、一方向性関数は、データに対してシフト演算を行なった後に加算する関数である。
さらに好ましくは、一方向性関数は、データを所定のビット長に区切ったあとに加算する関数である。
さらに好ましくは、一方向性関数は、巡回冗長検査である。
本発明のさらに別の局面に従えば、原画像に埋め込みデータを埋め込む画像処理方法であって、埋め込みデータを複数のブロックに分割するステップと、分割されたブロックごとのデータから一方向性関数を用いて特定値を算出するステップと、埋め込みデータ固有の識別情報を生成するステップと、特定値および識別情報と、ブロックごとのデータとを原画像に埋め込むステップとを含む。
本発明のさらに別の局面に従えば、印刷された画像に埋め込まれた埋め込みデータを検出する画像処理方法であって、印刷物から画像を読取るステップと、読取られた画像から、埋め込みデータのブロックごとのデータと、ブロックごとのデータから一方向性関数を用いて算出された特定値と、埋め込みデータ固有の識別情報とを検出するステップと、検出されたブロックごとのデータと特定値とに基づいてデータの正しさを検証し、検出された識別情報に基づいてデータを識別するステップとを含む。
本発明のさらに別の局面に従えば、コンピュータに、原画像に埋め込みデータを埋め込ませるコンピュータ・プログラムであって、埋め込みデータを複数のブロックに分割するステップと、分割されたブロックごとのデータから一方向性関数を用いて特定値を算出するステップと、埋め込みデータ固有の識別情報を生成するステップと、特定値および識別情報と、ブロックごとのデータとを原画像に埋め込むステップとをコンピュータに実行させる。
本発明のさらに別の局面に従えば、コンピュータに、印刷された画像に埋め込まれた埋め込みデータを検出させるコンピュータ・プログラムであって、印刷物から画像を読取るステップと、読取られた画像から、埋め込みデータのブロックごとのデータと、ブロックごとのデータから一方向性関数を用いて算出された特定値と、埋め込みデータ固有の識別情報とを検出するステップと、検出されたブロックごとのデータと特定値とに基づいてデータの正しさを検証し、検出された識別情報に基づいてデータを識別するステップとをコンピュータに実行させる。
本発明のある局面によれば、処理手段が、算出手段によって算出された特定値と、生成手段によって生成された識別情報と、各ブロックのデータとをブロックごとに原画像に埋め込むので、これらの情報を検出することによって、埋め込まれたデータの正しさの検証と、埋め込まれたデータの識別とを行なうことが可能となる。
また、生成手段が、埋め込みデータ全体から一方向性関数を用いて算出された値を識別情報とするので、埋め込まれたデータの正しさの検証と、埋め込まれたデータの識別とをさらに正確に行なうことが可能となる。
また、処理手段が、さらに埋め込みデータの各ブロックに付与されたブロック識別番号を原画像に埋め込むので、埋め込まれたデータの正しさの検証をさらに正確に行なうことが可能となる。
本発明の別の局面によれば、判定手段が、検出手段によって検出されたブロックごとのデータと特定値とに基づいてデータの正しさを検証し、検出手段によって検出された識別情報に基づいてデータを識別するので、埋め込まれたデータの正しさの検証と、埋め込まれたデータの識別とを同時に行なうことが可能となる。
また、判定手段が、読取手段によって読取られた画像から、さらに各ブロックに付与されたブロック識別番号を検出し、ブロック識別番号に基づいてブロックごとのデータから埋め込みデータ全体を再現する埋め込みデータ再現手段を備えるので、ブロックごとのデータの正しさの検証がさらに正確に行なえるようになる。
また、判定手段が、検出手段によって検出された識別情報と、埋め込みデータ全体とから当該データ全体の正しさを検証するので、ブロックごとのデータの正しさの検証だけでなく、データ全体の正しさの検証も行なうことが可能となる。
また、一方向性関数がチェックサムであるので、簡単な演算によってデータの正しさの検証と、データの識別とが行なえるようになる。
また、一方向性関数がハッシュ関数であるので、データの正しさの検証が正確に行なえるようになる。
また、一方向性関数がデータに対してビットブレンドを行なった後に加算する関数であるので、データの正しさの検証が正確に行なえるようになる。
また、一方向性関数がデータに対してシフト演算を行なった後に加算する関数であるので、簡単な演算によってデータの正しさの検証が正確に行なえるようになる。
また、一方向性関数がデータを所定のビット長に区切ったあとに加算する関数であるので、簡単な演算によってデータの正しさの検証が正確に行なえるようになる。
また、一方向性関数が巡回冗長検査であるので、簡単な演算によってデータの正しさの検証が正確に行なえるようになる。
(第1の実施の形態)
図1は、本発明の第1の実施の形態における画像処理装置のシステム構成の一例を示す図である。図1は、パーソナルコンピュータ(以下、PCと呼ぶ。)を用いて画像処理装置を構成する場合を示しており、マウス11と、キーボード12と、モニタ13と、外部記憶装置14と、スキャナ15と、PC16と、プリンタ19とを含む。
PC16は、一般的なコンピュータのハードウェアと同様の構成を有しており、CPU(Central Processing Unit)(図2参照)が記録媒体に格納された画像処理プログラム17を実行することによって、後述する画像処理装置の機能が実現される。
マウス11およびキーボード12は、それぞれ入力デバイスとして用いられ、ユーザが画像処理プログラム17の起動、画像処理プログラム17の実行時における各種指示などを行なう際に用いられる。
モニタ13は、スキャナ15によって読取られた画像データなどを表示するのに用いられ、ユーザはモニタ13に表示された内容を参照しながら、画像処理プログラム17に指示を与えることによって画像処理が進められる。
外部記憶装置14は、スキャナ15によって読取られた画像データなどを記憶するのに用いられる。画像処理プログラム17がこの外部記憶装置14内のハードディスク等の記録媒体に記憶され、PC16が外部記憶装置14から内部のRAM(Random Access Memory)に画像処理プログラム17をロードして実行するようにしてもよい。
スキャナ15は、データが埋め込まれた画像データを読取り、読取った画像データをPC16に出力する。PC16は、スキャナ15から受けた画像データに対して後述する処理を行なうことによって、画像処理が行なわれる。
プリンタ19は、PC16から画像処理を施した画像データを受け取り、その画像データに応じた印刷物を作成する。
図2は、図1に示す画像処理装置をより機能的に説明するための図である。PC16は、入出力インタフェース24と、CPU/メモリ25と、記憶装置26とを含む。また、記憶装置26は、OS(Operating System)27と、画像処理プログラム17によって実現される画像処理部28とを含む。画像処理プログラム17はOS27上で動作し、画像処理部28の機能を実現する。
画像処理部28は、OS27および入出力インタフェース24を介してデータを入出力することによって、キーボード12、マウス11、モニタ13、スキャナ15およびプリンタ19を制御する。画像処理部28は、キーボード12またはマウス11によるユーザ指示21を受け、スキャナ15からのスキャン画像23を受けて後述する画像処理を行ない、その結果、モニタ13による画像データ表示22やプリンタ19による印刷物作成29が実行される。
図3は、本発明の第1の実施の形態における画像処理装置のシステム構成の他の一例を示す図である。図3は、MFP(Multi Function Peripheral)を用いて画像処理装置を構成する場合を示しており、操作パネル部31と、スキャナ部32と、プリンタ部33と、MFP本体34とを含む。
MFP本体34は、画像処理回路35などによって構成される。画像処理回路35は、操作パネル部31からのユーザの指示を受け、スキャナ部32およびプリンタ部33を制御しながら後述する画像処理を行なう。
図4は、図1または図3に示す画像処理装置の機能的構成(データ埋め込み部分)を示すブロック図である。この画像処理装置は、原画像である画像データ41に埋め込む埋め込みデータ46を複数のブロックに分割するデータ分割部42と、各種チェックサムを算出するチェックサム算出部43と、各ブロックのデータをドットで表現して画像データ41の背景に合成する画像データ合成部44とを含む。
画像データ合成部44によって合成された画像データに基づいて印刷物45が作成される。埋め込みデータ46としては、たとえば、原画像が秘密情報であることからコピーを禁止する旨を示す情報、このコピー禁止を解除するためのパスワード、原画像を生成またはコピーした装置を示す情報、原画像をコピーした旨を電子メールにて通知するためのメールアドレス、等の各種の情報とすることができる。
図5は、図1または図3に示す画像処理装置の処理手順(データ埋め込み部分)を説明するためのフローチャートである。まず、データ分割部42は、画像データ41に埋め込む埋め込みデータ46をブロックに分割する(S11)。
図6は、埋め込みデータ46の一例を示す図である。データ46は、全体として9バイトで構成される。データ分割部42は、9バイトのデータ46を、3バイトずつ3つのブロックに分割する。ブロック1〜3の実データは、図6に示すとおりである。
次に、チェックサム算出部43は、埋め込みデータ46の全体チェックサムと、ブロックごとのチェックサム(以下、ブロックチェックサムと呼ぶ。)の2種類のチェックサムを算出し、実際に埋め込むビット値を算出する(S12)。
図7は、画像データ41の背景に実際に埋め込むデータのデータ構造の一例を示す図である。このデータ構造は、12ビットの全体チェックサムと、8ビットのブロックチェックサムと、4ビットのブロック番号と、埋めたい3つの実データ(3バイト)とを含む。埋め込みデータを3つのブロックに分割した場合には、3つのブロックごとに図7に示す埋め込みデータが作成される。
図8は、全体チェックサムの算出方法を説明するための図である。図8に示すように、9バイトの埋め込みデータを合計し、その合計した値の下位12ビットを全体チェックサムとする。なお、図8においては、9バイトのデータ、その合計および全体チェックサムを、2進数および10進数で表記している。以下の図においても同様である。
図9は、ブロック1のブロックチェックサムの算出方法を説明するための図である。図9に示すように、3バイトの埋め込みデータ、全体チェックサムおよびブロック番号を合計し、その合計した値の下位8ビットをブロック1のブロックチェックサムとする。なお、ブロック2および3のブロックチェックサムの算出方法も同様である。
なお、ここでは、ブロックチェックサムの算出に際して、全体チェックサムおよびブロック番号を埋め込みデータに加えることにしたが、そのブロックの埋め込みデータのみでブロックチェックサムを算出してもよい。ブロックチェックサムに全体チェックサムおよびブロック番号を加えた場合には、それらのエラーも検出することができる。
図10は、ブロック1の埋め込みデータを示す図である。ブロック1の埋め込みデータは、全体チェックサムと、ブロック1のブロックチェックサムと、ブロック番号と、3バイトの実データとを含む。なお、ブロック2および3の埋め込みデータも同様の構成を有している。
図11は、データを埋め込むときのビットパターンを示す図である。図11(a)は、ビット“0”のビットパターンを示しており、16×16画素のうち図11(a)に示す位置に黒のドットを配置することにより、ビット“0”を表現する。
また、図11(b)は、ビット“1”のビットパターンを示しており、16×16画素のうち図11(b)に示す位置に黒のドットを配置することにより、ビット“1”を表現する。
また、図11(c)は、データの境目を示す特殊データのビットパターンを示しており、16×16画素のうち図11(c)に示す位置に黒のドットを配置することにより、特殊データを表現する。
図12は、埋め込むデータの配置規則を説明するための図である。この配置規則は、図11に示すビットパターンを7×7個集めたパターン構成となっており、左上に特殊データ(1ビット)のビットパターンが配置され、続いて全体チェックサム(12ビット)のビットパターン、ブロックチェックサム(8ビット)のビットパターン、ブロック番号(4ビット)のビットパターン、および3バイトの実データ(それぞれ8ビット)のビットパターンが配置される。
図13は、図10に示すデータを図12に示す配置規則に従って実際に埋め込んだところを示す図である。図13に示すように、特殊データに続いて、全体チェックサムの値、ブロックチェックサムの値、ブロック番号の値、1バイト目の実データの値、2バイト目の実データの値、3バイト目の実データの値が埋め込まれている。
再び、図5に示すフローチャートの説明に戻る。最後に、画像データ合成部44は、画像データの背景に埋め込みデータをドットパターンとして重ね合わせて合成する(S13)。この合成された画像データに基づいて印刷物45が作成される。
図14は、画像データの背景として実際にプリントアウトするときの埋め込みデータを示す図である。図14に示すように、図13に示す112×112画素のデータがブロック1、ブロック2、ブロック3の順番に紙一面に繰返し配置され、実際にプリントアウトしようとする文字などの画像データと合成されて、プリントアウトされる。このドットパターンを、たとえば600dpiで埋め込む場合、実際にはかなり小さなドットとなる。そのため、ユーザにはプリントアウトの背景にグレーの画像が追加されているように見える。
図15は、画像データの背景にデータを埋め込んで印刷したときのプリントアウトの一例を示す図である。図15に示すように、ユーザには画像データの背景にグレーの画像が合成して印刷されているように見える。
なお、以上の説明においては、データをドットパターンとして埋め込む場合について説明したが、データをブロックに分割して埋め込む方法であればよく、上述の埋め込み方法に限定されるものではない。
図16は、図1または図3に示す画像処理装置の機能的構成(データ検出部分)を示すブロック図である。この画像処理装置は、印刷物45をスキャンすることにより画像を読取る画像読取部51と、読取られた画像に対してパターンマッチングを行なうことにより埋め込みデータを検出するパターンマッチング部52と、パターンマッチング部52によって検出されたデータが正しいか否かを判定する検出データ判定部53と、埋め込まれたデータの正しい組合わせを検出する組合せ検出部54と、検出されたデータを保存する検出データ保存部55とを含む。
図17は、図1または図3に示す画像処理装置の処理手順(データ検出部分)を説明するためのフローチャートである。まず、画像読取部51は、スキャナ15またはスキャナ部32によって印刷物45をスキャンしてスキャン画像を得る(S21)。
次に、パターンマッチング部52は、画像読取部51によって得られた画像をスキャンして17×17画素のパターン(以下、入力パターンと呼ぶ。)を抽出し、入力パターンに対してパターンマッチングを行なうことにより埋め込まれているデータを検出する。そして、このパターンマッチング処理を1ブロック分のデータが取出せるまで行なう(S22)。
パターンマッチング処理の一例として、単純類似度を用いてデータを検出する場合について説明するが、埋め込まれたデータを検出できる方法であれば、これに限定されるものではない。
単純類似度とは、標準パターンをc=(c1,c2,...,c289)とし、入力パターンをx=(x1,x2,...,x289)とすると、次式によって2つのベクトルのなす角度を求め、小さいほど類似していると判断する方法である。なお、“・”はベクトルの内積を示し、“||”はベクトルの大きさを示すものとする。
c・x/(|c|×|x|) ・・・(1)
パターンマッチング部52は、式(1)によって計算された角度のcosを計算し、“1”に近いほど標準パターンと入力パターンとが近似していると判定する。
図18は、標準パターンを説明するための図である。図18(a)は、ビット“0”の標準パターンを示している。また、図18(b)は、ビット“1”の標準パターンを示している。また、図18(c)は、特殊データの標準パターンを示している。
パターンマッチング部52は、標準パターンとして図18(a)に示すビット“0”を用いたときのcos値が所定のしきい値以上であればビット“0”であると判定する。また、標準パターンとして図18(b)に示すビット“1”を用いたときのcos値が所定のしきい値以上であればビット“1”であると判定する。また、標準パターンとして図18(c)に示す特殊データを用いたときのcos値が所定のしきい値以上であれば特殊データであると判定する。
パターンマッチング部52は、印刷物45のスキャン画像を1ドットずつ左右方向および上下方向にずらしながら、17×17ドットの入力パタンを抽出してパターンマッチングを行なうことにより、埋め込まれたデータを検出する。そして、特殊データが検出された場合には、その特殊データを基準とし、特殊データとの相対位置からどのビットに対応するかを判定しながら、図12に示す1ブロック分のデータを抽出する。
次に、検出データ判定部53は、抽出された1ブロック分のデータに含まれる各データを用いて、図9を用いて説明した計算方法によってブロックチェックサムを計算し、抽出されたブロックに含まれるブロックチェックサムの値と比較することにより、検出データの正しさをチェックする(S23)。
図19は、ブロック1の検出データが正しい場合を示す図である。抽出されたブロックに含まれる全体チェックサム、ブロック番号、および3つの実データからブロックチェックサムを計算する。図19の右下に、計算されたブロックチェックサムの値を示す。そして、抽出されたブロックに含まれるブロックチェックサムの検出データと、計算されたブロックチェックサムの値とが同じであるので、検出データが正しいと判定される。
図20は、ブロック1の検出データに誤りがある場合を示す図である。抽出されたブロックに含まれる全体チェックサム、ブロック番号、および3つの実データからブロックチェックサムを計算する。図20の右下に、計算されたブロックチェックサムの値を示す。そして、抽出されたブロックに含まれるブロックチェックサムの検出データと、計算されたブロックチェックサムの値とが比較される。図20に示すように、2バイト目の実データに誤りがあるため、ブロックチェックサムの検出データと、計算されたブロックチェックサムの値とが一致しない。この場合、検出データに誤りがあると判定される。
検出データが正しいと判定された場合(S23,Yes)、1ブロックに含まれる実データ、全体チェックサムおよびブロック番号を保存する(S24)。また、検出データが正しくないと判定された場合(S23,No)、データ誤りとしてそのブロックのデータを破棄する(S25)。
次に、全ての画像データに対する処理が終了したか否かが判定される(S26)。未だ処理していない画像データがある場合(S26,Yes)、ステップS22に戻って次のブロックの抽出処理を行なう。
また、処理していない画像データがなければ(S26,No)、組合せ検出部54は、全体チェックサムが一致するデータごとにブロック番号が1,2,3のデータを組合わせて、埋め込まれたデータを復元する(S27)。
図21は、検出データ判定部53によって正しいと判定された検出データの一例を示す図である。図21(a)は、全体チェックサムが10進数表記で“1220”であり、ブロック番号が“1”のブロックの検出データを示している。図21(b)は、全体チェックサムが10進数表記で“1220”であり、ブロック番号が“2”のブロックの検出データを示している。図21(c)は、全体チェックサムが10進数表記で“1220”であり、ブロック番号が“3”のブロックの検出データを示している。したがって、図21(a)〜図21(c)に示す同じ全体チェックサムを有するブロックに含まれる実データ(9バイト分)が、同じ組の埋め込みデータであると判定される。
また、図21(d)は、全体チェックサムが10進数表記で“801”であり、ブロック番号が“1”のブロックの検出データを示している。図21(e)は、全体チェックサムが10進数表記で“801”であり、ブロック番号が“2”のブロックの検出データを示している。図21(f)は、全体チェックサムが10進数表記で“801”であり、ブロック番号が“3”のブロックの検出データを示している。したがって、図21(d)〜図21(f)に示す同じ全体チェックサムを有するブロックに含まれる実データ(9バイト分)が、同じ組の埋め込みデータであると判定される。したがって、図21(a)〜(f)は、2種類分のデータを含んでいることになる。
次に、組合せ検出部54は、全体チェックサムによって復元データが正しいか否かを判定する(S28)。復元データが正しければ(S28,Yes)、検出データ保存部55は、その検出データの組を1種類分の検出データとして保存する(S29)。また、復元データが正しくなければ(S28,No)、その検出データの組に誤りがあるとして破棄する(S30)。
図22は、復元データに誤りがある場合の全体チェックサムの値を示す図である。図22においては、1バイト目の実データの最上位ビットが誤って“1”となっている場合を示しており、全体チェックサムの値が10進数表記で“1348”となる。検出された全体チェックサムの値“1220”との比較によって復元データに誤りがあることが判る。
図23は、復元データが正しい場合の全体チェックサムの値を示す図である。図23においては、実データがすべて正しいので、全体チェックサムの値が10進数表記で“1220”となる。検出された全体チェックサムの値“1220”との比較によって復元データが正しいことが判る。
最後に、違う全体チェックサムを有するブロックデータがあるか否かが判定される(S31)。違う全体チェックサムを有するブロックデータがあれば(S31,Yes)、ステップS27に戻って以降の処理を繰返す。また、違う全体チェックサムを有するブロックデータがなければ(S31,No)、処理を終了する。
ところで、1枚のプリントアウトに1種類のデータのみが埋め込まれている場合でも、スキャナに異なるデータが埋め込まれた2枚以上のプリントアウトを載せて画像をスキャンする場合には、それぞれが異なるデータであることが認識できなければ、正しくデータを検出することができない。
上述の実施の形態では埋め込みデータの固有値である全体チェックサムによって埋め込みデータを識別したが、その代わりに、各プリントアウトの埋め込みデータに固有の識別情報としてプリント番号を割り振ってデータを埋め込むことも可能である。なお、複数のプリンタがあると、異なる埋め込みデータに同じ番号が割り振られてしまう場合があるため、これを防ぐためにはプリンタの機種やシリアル番号のようなデータもプリントアウト1枚ごとに一緒に埋め込むことが望ましい。
図24は、プリント番号を埋め込みデータに含めてプリントアウトする場合において、異なる実データAとBが埋め込まれた2枚のプリントアウトをスキャンした場合を説明するための図である。たとえば、プリントAからブロック1が検出され、プリントBからブロック2および3が検出された場合であっても、プリント番号が異なるため、プリントAの実データとプリントBの実データとが違うデータであると認識されて、間違って組み合わされることはない。
以上説明したように、本実施の形態における画像処理装置によれば、埋め込む実データを複数のブロックに分割し、ブロックごとに算出したブロックチェックサムと全体チェックサム(または実データ固有の識別情報)とを含んだ埋め込みデータを画像データの背景に合成するようにしたので、その印刷物をスキャンしてそれらのデータを検出することによって、埋め込まれたデータの正しさの検証と、埋め込まれたデータの識別とを同時に行なうことが可能となった。
また、ブロックチェックサムを用いてブロックデータの正しさを検証し、全体チェックサムを用いて実データ全体の正しさを検証するようにしたので、埋め込まれた実データの検証をより正確に行なうことが可能となった。
また、全体チェックサムを埋め込みデータの識別に用いるようにしたので、異なる埋め込みデータが埋め込まれた2枚のプリントアウトを並べてスキャンした場合でも、それぞれのプリントアウトを正しく識別することが可能となった。
(第2の実施の形態)
本発明の第2の実施の形態における画像処理装置は、第1の実施の形態における画像処理装置と比較して、チェックサムの値を計算して埋め込む代わりに、MD(Message Digest)5(128ビット)、SHA(Secure Hash Algorithm)−1(160ビット)などのハッシュ関数を用いて計算した値やビットのブレンド処理を行なって生成した値を埋め込む点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
なお、MD5の詳細についてはIETF(Internet Engineering Task Force)のRFC(Request for Comments)1321,「The MD5 Message-Digest Algorithm」を、SHA−1の詳細についてはFIPS PUBS(Federal Information Processing Standards Publications)180−2,「Secure Hash Standard」を参照されたい。
図25は、チェックサムの値を計算して埋め込んだ場合の一例を説明するための図である。2バイト目の実データのビット1が誤って“0”として検出され、3バイト目の実データのビット1が誤って“1”として検出された場合、計算された全体チェックサムの値は正しい値となる。したがって、チェックサムを用いてデータの正しさの検証を行なった場合、このような検出ミスを発見することができない。
図26は、ハッシュ関数で用いられるようなビットのブレンド処理を用いてデータの正しさの検証を行なう場合の一例を示す図である。なお、図26においては、8ビットの実データを12ビットのデータに変換した後、ビットのブレンドを行なっている。ここでは、埋め込むデータが少ない実施例を記載したため、ハッシュ関数でない実施例を記載しているが、埋め込みデータが例えば1Kbyte以上の場合、MD5をそのまま用いてもよい。
埋め込むデータの1バイト目は、そのままとする。埋め込むデータの2バイト目は、データを4ビットだけ下位へ循環(シフト)する。したがって、下位の4ビットが上位へ移動する。埋め込むデータの3バイト目は、データの上位と下位を入れ替える。
埋め込むデータの4バイト目は、データを2ビットだけ上位へ循環(シフト)する。埋め込むデータの5バイト目は、データの上位と下位を入替えた後、1ビットだけ下位へ循環(シフト)する。埋め込むデータの6バイト目は、データを1ビットだけ上位へ循環(シフト)する。
埋め込むデータの7バイト目は、データの上位と下位を入替えた後、2ビットだけ上位へ循環(シフト)する。埋め込むデータの8バイト目は、データを2ビットだけ下位へ循環(シフト)する。埋め込むデータの9バイト目は、データの上位と下位を入替えた後、3ビットだけ下位へ循環(シフト)する。
以上のビットブレンドを行なった後に、各データを合計して下位12ビットを抽出すると、図26の右下に示すチェック用データが得られる。
図27は、データに誤りがあるときに、図26に示すビットブレンドを行なった後に生成されたチェック用データを示す図である。図27においては、図25と同様に、2バイト目の実データのビット1が誤って“0”として検出され、3バイト目の実データのビット1が誤って“1”として検出されている。実データにこのような誤りがある場合でも、チェック用データが正しい値と違う値となり、実データの誤りを検出することができる。
図25に示すように、各実データを単純に加算した場合には、全体チェックサムの上位4ビットは桁の繰り上がり時にしかデータが現われないため、本来1/212の確率でしか全体チェックサムの値が誤って一致しないはずであるが、実際には図25に示す場合などのように、もっと高い確率でチェックサムの値が一致してしまう。したがって、図26に示すようなビットブレンドを行なうことによりチェックの効果が高くなる。
図28は、別のチェック用データの計算方法を説明するための図である。図28においては、埋め込むデータの1バイト目をそのままとし、2〜9バイト目のデータをそれぞれ1〜8ずつ循環(シフト)した後に、各データを合計して下位12ビットを抽出するものであり、図28の右下に示すチェック用データが得られる。
図29は、データに誤りがあるときに、図28に示すビットブレンドを行なった後に生成されたチェック用データを示す図である。図29においては、図25と同様に、2バイト目の実データのビット1が誤って“0”として検出され、3バイト目の実データのビット1が誤って“1”として検出されている。実データにこのような誤りがある場合でも、チェック用データが正しい値と違う値となり、実データの誤りを検出することができる。
このように、チェック用データのビット長に合わせて、加算するデータが計算結果に均等に現われるようにしてから加算するようにしたので、チェック用データのビット長を有効に利用することができる。埋め込むデータのデータ長自体が短く、チェック用データのデータ長も短い場合には、チェック用データのビット長に合わせて、加算するデータが計算結果に均等に現われるようになればよいため、図28に示すような計算方法を用いることにより、ハッシュ関数のような複雑なビットブレンドを行なう必要がなくなる。したがって、ソフトウェアによって実現する場合には演算処理の負担が減り、ハードウェアによって実現する場合には簡単な回路によって演算が行なえるようになる。
図30は、さらに別のチェック用データの計算方法を説明するための図である。図30においては、1〜3バイト目の実データを連結した後に、12ビット長の2つのデータに区切る。同様に、4〜6バイト目の実データから12ビット長の2つのデータを生成し、7〜9バイト目の実データから12ビット長の2つのデータを生成する。そして、6つの12ビット長のデータを合計して下位12ビットを抽出すると、図30の右下に示すチェック用データが得られる。
図31は、データに誤りがあるときに、図30に示すビットブレンドを行なった後に生成されたチェック用データを示す図である。図31においては、図25と同様に、2バイト目の実データのビット1が誤って“0”として検出され、3バイト目の実データのビット1が誤って“1”として検出されている。実データにこのような誤りがある場合でも、チェック用データが正しい値と違う値となり、実データの誤りを検出することができる。
このように、チェック用データのビット長に合わせて、加算するデータが計算結果に均等に現われるようにしてから加算するようにしたので、チェック用データのビット長を有効に利用することができる。
以上説明したように、本実施の形態における画像処理装置によれば、実データのビットブレンドを行なった後に、加算してチェック用データを生成するようにしたので、検出されたデータが正しいか否かのチェックをさらに正確に行なうことが可能となった。
なお、以上の説明では、全体チェックサムの代わりに使用するチェック用データについて詳細に述べたが、これと同様の方法でブロックチェックサムの代わりのチェック用データを作成するようにしてもよい。
(第3の実施の形態)
本発明の第3の実施の形態における画像処理装置は、第1の実施の形態における画像処理装置と比較して、チェックサムの値を計算して埋め込む代わりに、巡回冗長検査(以下、CRC(Cyclic Redundancy Check))を用いて計算した値を埋め込む点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
図32は、CRC回路の一例を示す図である。このCRC回路は、12ビットのレジスタ[0]〜[11](61−0〜61−11)と、排他的論理和(以下、EXORと呼ぶ。)回路62〜66とを含む。
レジスタ[0]〜[11](61−0〜61−11)は、クロックに同期して値を保持する。クロックによって値が更新される前のレジスタの各ビットの内容を[X](X=0〜11)、クロックによって値が更新された後のレジスタの各ビットの内容を[X]’とし、入力される1ビットのデータを[In]とすると、レジスタの各ビットは以下の関係を有する。
(1) [11]’=[In]EXOR[0]
(2) [10]’=([In]EXOR[0])EXOR[11]
(3) [9]’=([In]EXOR[0])EXOR[10]
(4) [8]’=([In]EXOR[0])EXOR[9]
(5) [7]’=[8]
(6) [6]’=[7]
(7) [5]’=[6]
(8) [4]’=[5]
(9) [3]’=[4]
(10) [2]’=[3]
(11) [1]’=[2]
(12) [0]’=([In]EXOR[0])EXOR[1]
たとえば、図6に示す9バイトの埋め込みデータが1ビットずつ[In]としてCRC回路に入力され、上記(1)〜(12)に示す演算が72回行なわれて、最終的にレジスタ[0]〜[11]に残っている値がCRC値となる。
図33は、図6に示す9バイトの埋め込みデータが順次CRC回路に入力されるときのレジスタの各ビットの変化を示す図である。最初に、レジスタ[0]〜[11]の内容が初期化される。そして、0ビット目の[In]=0が入力された後、1ビット目の[In]=1が入力されると、[0]、[8]〜[11]の内容が“1”となり、それ以外の各ビットの内容が“0”となる。続いて、2ビット目の[In]=1が入力されると、[7]〜[10]の内容が“1”となり、それ以外の各ビットの内容が“0”となる。71ビット目の[In]=0が入力されたときに、図33に示すCRC値が得られる。
以上説明したように、本実施の形態における画像処理装置によれば、CRC回路を用いてチェック用データを生成するようにしたので、検出されたデータが正しいか否かのチェックをさらに正確に行なうことが可能となった。
なお、埋め込みデータ全体のチェック用データと、ブロックごとのチェック用データとを生成するのに必ずしも同じ一方向性関数を用いる必要はなく、それぞれ異なる一方向性関数を用いてもよい。一方向性関数としては、チェックサム、ハッシュ関数、巡回冗長検査を含むが、これらに限定されるものではなく、データの検証のために用いることができ、データのビット数を減少させることができるようなものであればよい。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の第1の実施の形態における画像処理装置のシステム構成の一例を示す図である。 図1に示す画像処理装置をより機能的に説明するための図である。 本発明の第1の実施の形態における画像処理装置のシステム構成の他の一例を示す図である。 図1または図3に示す画像処理装置の機能的構成(データ埋め込み部分)を示すブロック図である。 図1または図3に示す画像処理装置の処理手順(データ埋め込み部分)を説明するためのフローチャートである。 埋め込むデータ46の一例を示す図である。 画像データ41の背景に実際に埋め込むデータのデータ構造の一例を示す図である。 全体チェックサムの算出方法を説明するための図である。 ブロック1のブロックチェックサムの算出方法を説明するための図である。 ブロック1の埋め込みデータを示す図である。 データを埋め込むときのビットパターンを示す図である。 埋め込むデータの配置規則を説明するための図である。 図10に示すデータを図12に示す配置規則に従って実際に埋め込んだところを示す図である。 画像データの背景として実際にプリントアウトするときの埋め込みデータを示す図である。 画像データの背景にデータを埋め込んで印刷したときのプリントアウトの一例を示す図である。 図1または図3に示す画像処理装置の機能的構成(データ検出部分)を示すブロック図である。 図1または図3に示す画像処理装置の処理手順(データ検出部分)を説明するためのフローチャートである。 標準パターンを説明するための図である。 ブロック1の検出データが正しい場合を示す図である。 ブロック1の検出データに誤りがある場合を示す図である。 検出データ判定部53によって正しいと判定された検出データの一例を示す図である。 復元データに誤りがある場合の全体チェックサムの値を示す図である。 復元データが正しい場合の全体チェックサムの値を示す図である。 プリント番号を埋め込みデータに含めてプリントアウトする場合を説明するための図である。 チェックサムの値を計算して埋め込んだ場合の一例を説明するための図である。 ハッシュ関数を用いてデータの正しさの検証を行なう場合の一例を示す図である。 データに誤りがあるときに、図26に示すビットブレンドを行なった後に生成されたチェック用データを示す図である。 別のチェック用データの計算方法を説明するための図である。 データに誤りがあるときに、図28に示すビットブレンドを行なった後に生成されたチェック用データを示す図である。 さらに別のチェック用データの計算方法を説明するための図である。 データに誤りがあるときに、図30に示すビットブレンドを行なった後に生成されたチェック用データを示す図である。 CRC回路の一例を示す図である。 図6に示す9バイトの埋め込みデータが順次CRC回路に入力されるときのレジスタの各ビットの変化を示す図である。
符号の説明
11 マウス、12 キーボード、13 モニタ、14 外部記憶装置、15 スキャナ、16 PC、17 画像処理プログラム、19 プリンタ、21 ユーザ指示、22 画像データ表示、23 スキャン画像、24 入出力インタフェース、25 CPU/メモリ、26 記憶装置、27 OS、28 画像処理部、29 印刷物作成、31 操作パネル部、32 スキャナ部、33 プリンタ部、34 MFP本体、41 画像データ、42 データ分割部、43 チェックサム算出部、44 画像データ合成部、45 印刷物、46 埋め込みデータ、51 画像読取部、52 パターンマッチング部、53 検出データ判定部、54 組合せ検出部、55 検出データ保存部、61−0〜61−11 レジスタ、62〜66 EXOR。

Claims (16)

  1. 原画像に埋め込みデータを埋め込む画像処理装置であって、
    前記埋め込みデータを複数のブロックに分割する分割手段と、
    前記分割手段によって分割されたブロックごとのデータから一方向性関数を用いて特定値を算出する算出手段と、
    前記埋め込みデータ固有の識別情報を生成する生成手段と、
    前記算出手段によって算出された特定値と、前記生成手段によって生成された識別情報と、前記各ブロックのデータとをブロックごとに前記原画像に埋め込む処理手段とを含む、画像処理装置。
  2. 前記生成手段は、前記埋め込みデータ全体から一方向性関数を用いて算出された値を識別情報とする、請求項1記載の画像処理装置。
  3. 前記処理手段は、さらに前記埋め込みデータの各ブロックに付与されたブロック識別番号を前記原画像に埋め込む、請求項1記載の画像処理装置。
  4. 印刷された画像に埋め込まれた埋め込みデータを検出する画像処理装置であって、
    印刷物から画像を読取る読取手段と、
    前記読取手段によって読取られた画像から、前記埋め込みデータのブロックごとのデータと、該ブロックごとのデータから一方向性関数を用いて算出された特定値と、前記埋め込みデータ固有の識別情報とを検出する検出手段と、
    前記検出手段によって検出されたブロックごとのデータと特定値とに基づいてデータの正しさを検証し、前記検出手段によって検出された識別情報に基づいてデータを識別する判定手段とを含む、画像処理装置。
  5. 前記検出手段は、前記読取手段によって読取られた画像から、さらに各ブロックに付与されたブロック識別番号を検出し、
    前記ブロック識別番号に基づいてブロックごとのデータから埋め込みデータ全体を再現する埋め込みデータ再現手段を備えた、請求項4記載の画像処理装置。
  6. 前記識別情報は、前記埋め込みデータ全体から一方向性関数を用いて算出された値であって、
    前記判定手段は、前記検出手段によって検出された識別情報と、埋め込みデータ全体とから当該データ全体の正しさを検証する、請求項4または5記載の画像処理装置。
  7. 前記一方向性関数は、チェックサムである、請求項1,3,4および5のいずれかに記載の画像処理装置。
  8. 前記一方向性関数は、ハッシュ関数である、請求項1,3,4および5のいずれかに記載の画像処理装置。
  9. 前記一方向性関数は、データに対してビットブレンドを行なった後に加算する関数である、請求項1,3,4および5のいずれかに記載の画像処理装置。
  10. 前記一方向性関数は、データに対してシフト演算を行なった後に加算する関数である、請求項9記載の画像処理装置。
  11. 前記一方向性関数は、データを所定のビット長に区切ったあとに加算する関数である、請求項9記載の画像処理装置。
  12. 前記一方向性関数は、巡回冗長検査である、請求項1,3,4および5のいずれかに記載の画像処理装置。
  13. 原画像に埋め込みデータを埋め込む画像処理方法であって、
    前記埋め込みデータを複数のブロックに分割するステップと、
    前記分割されたブロックごとのデータから一方向性関数を用いて特定値を算出するステップと、
    前記埋め込みデータ固有の識別情報を生成するステップと、
    前記特定値および識別情報と、ブロックごとのデータとを前記原画像に埋め込むステップとを含む、画像処理方法。
  14. 印刷された画像に埋め込まれた埋め込みデータを検出する画像処理方法であって、
    印刷物から画像を読取るステップと、
    前記読取られた画像から、前記埋め込みデータのブロックごとのデータと、該ブロックごとのデータから一方向性関数を用いて算出された特定値と、前記埋め込みデータ固有の識別情報とを検出するステップと、
    前記検出されたブロックごとのデータと特定値とに基づいてデータの正しさを検証し、前記検出された識別情報に基づいてデータを識別するステップとを含む、画像処理方法。
  15. コンピュータに、原画像に埋め込みデータを埋め込ませるコンピュータ・プログラムであって、
    前記埋め込みデータを複数のブロックに分割するステップと、
    前記分割されたブロックごとのデータから一方向性関数を用いて特定値を算出するステップと、
    前記埋め込みデータ固有の識別情報を生成するステップと、
    前記特定値および識別情報と、ブロックごとのデータとを前記原画像に埋め込むステップとをコンピュータに実行させる、コンピュータ・プログラム。
  16. コンピュータに、印刷された画像に埋め込まれた埋め込みデータを検出させるコンピュータ・プログラムであって、
    印刷物から画像を読取るステップと、
    前記読取られた画像から、前記埋め込みデータのブロックごとのデータと、該ブロックごとのデータから一方向性関数を用いて算出された特定値と、前記埋め込みデータ固有の識別情報とを検出するステップと、
    前記検出されたブロックごとのデータと特定値とに基づいてデータの正しさを検証し、前記検出された識別情報に基づいてデータを識別するステップとをコンピュータに実行させる、コンピュータ・プログラム。
JP2007157820A 2006-08-22 2007-06-14 画像処理装置、画像処理方法およびそのコンピュータ・プログラム Expired - Fee Related JP4978325B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007157820A JP4978325B2 (ja) 2006-08-22 2007-06-14 画像処理装置、画像処理方法およびそのコンピュータ・プログラム
US11/894,096 US20080049259A1 (en) 2006-08-22 2007-08-20 Image processing method carrying out verification of correctness of embedment data and identification of embedment data, data detection method, image processing apparatus, and recording medium recording computer program therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006225459 2006-08-22
JP2006225459 2006-08-22
JP2007157820A JP4978325B2 (ja) 2006-08-22 2007-06-14 画像処理装置、画像処理方法およびそのコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2008079278A true JP2008079278A (ja) 2008-04-03
JP4978325B2 JP4978325B2 (ja) 2012-07-18

Family

ID=39113100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007157820A Expired - Fee Related JP4978325B2 (ja) 2006-08-22 2007-06-14 画像処理装置、画像処理方法およびそのコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US20080049259A1 (ja)
JP (1) JP4978325B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8270033B2 (en) * 2007-03-14 2012-09-18 Konica Minolta Business Technologies, Inc. Generating embed-image by dividing embed-information into blocks and generating an information pattern and positioning pattern
JP5142858B2 (ja) * 2008-07-03 2013-02-13 キヤノン株式会社 画像処理装置および画像処理方法
US20110161560A1 (en) * 2009-12-31 2011-06-30 Hutchison Neil D Erase command caching to improve erase performance on flash memory
US9134918B2 (en) * 2009-12-31 2015-09-15 Sandisk Technologies Inc. Physical compression of data with flat or systematic pattern

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004282677A (ja) * 2003-01-21 2004-10-07 Canon Inc 画像処理方法
JP2004336220A (ja) * 2003-05-01 2004-11-25 Fuji Xerox Co Ltd 画像生成装置、画像生成方法、画像記録媒体及び画像生成プログラム
JP2005094107A (ja) * 2003-09-12 2005-04-07 Oki Electric Ind Co Ltd 印刷物処理システム,透かし入り文書印刷装置,透かし入り文書読み取り装置,印刷物処理方法,情報読み取り装置,および情報読み取り方法
JP2005348306A (ja) * 2004-06-07 2005-12-15 Yokosuka Telecom Research Park:Kk 電子タグシステム、電子タグ、電子タグリーダライタ、およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215679B2 (en) * 2001-08-30 2007-05-08 Thomson Licensing Method, apparatus and data structure enabling multiple channel data stream transmission
AUPR960601A0 (en) * 2001-12-18 2002-01-24 Canon Kabushiki Kaisha Image protection
GB0305828D0 (en) * 2003-03-14 2003-04-16 Ibm Real time xml data update identification
US8422043B2 (en) * 2003-09-12 2013-04-16 Oki Data Corporation Watermarked document reading apparatus with improved error processing
US8127137B2 (en) * 2004-03-18 2012-02-28 Digimarc Corporation Watermark payload encryption for media including multiple watermarks
TWI310638B (en) * 2004-04-09 2009-06-01 Hon Hai Prec Ind Co Ltd System and method for checking validity of data transmission
US20070245159A1 (en) * 2006-04-18 2007-10-18 Oracle International Corporation Hash function strengthening

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004282677A (ja) * 2003-01-21 2004-10-07 Canon Inc 画像処理方法
JP2004336220A (ja) * 2003-05-01 2004-11-25 Fuji Xerox Co Ltd 画像生成装置、画像生成方法、画像記録媒体及び画像生成プログラム
JP2005094107A (ja) * 2003-09-12 2005-04-07 Oki Electric Ind Co Ltd 印刷物処理システム,透かし入り文書印刷装置,透かし入り文書読み取り装置,印刷物処理方法,情報読み取り装置,および情報読み取り方法
JP2005348306A (ja) * 2004-06-07 2005-12-15 Yokosuka Telecom Research Park:Kk 電子タグシステム、電子タグ、電子タグリーダライタ、およびプログラム

Also Published As

Publication number Publication date
JP4978325B2 (ja) 2012-07-18
US20080049259A1 (en) 2008-02-28

Similar Documents

Publication Publication Date Title
JP4269861B2 (ja) 印刷物処理システム,透かし入り文書印刷装置,透かし入り文書読み取り装置,印刷物処理方法,情報読み取り装置,および情報読み取り方法
US8588414B2 (en) Image encryption and image decryption apparatus and method
JP4343968B2 (ja) 画像形成装置及び方法
JP2006345017A (ja) 画像処理方法および画像処理装置および画像処理プログラムおよび記録媒体
US8014559B2 (en) Information embedding apparatus, information embedding method, information extracting apparatus, information extracting method, computer program product
JP2000299778A (ja) ウォーターマークの付加方法及び装置、読取方法及び装置、記録媒体
JP4978325B2 (ja) 画像処理装置、画像処理方法およびそのコンピュータ・プログラム
US8587838B2 (en) Image processing apparatus, control method therefor, control program and storage medium
US7283261B2 (en) Image processing method, manipulation detection method, image processing device, manipulation detection device, image processing program, manipulation detection program, and image formation medium
US8416462B2 (en) Information processing apparatus, method, program, and storage medium
JP4965996B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム並びに記憶媒体
Puhan et al. Binary document image watermarking for secure authentication using perceptual modeling
JP5077439B2 (ja) 画像の暗号化装置/復号装置、画像の暗号化方法/復号方法、画像の暗号化プログラム/復号プログラム
US7969618B2 (en) Image forming apparatus, image forming system, computer readable recording medium, and image forming method
JP2010206399A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP4096803B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP2007258983A (ja) 情報埋込装置、情報埋込方法、情報埋込プログラム及び記録媒体
JP4032236B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP4635814B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2007096503A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP3774631B2 (ja) 情報埋め込み装置及び情報復元装置及び方法及びコンピュータプログラム及び記憶媒体
JP4587492B2 (ja) 画像形成装置及び方法
JP2004336220A (ja) 画像生成装置、画像生成方法、画像記録媒体及び画像生成プログラム
JP4517667B2 (ja) 文書画像照合装置、文書画像位置合わせ方法及びプログラム
JP5030875B2 (ja) 情報処理装置、プログラム、付加画像生成方法及び情報抽出方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

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

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees