JP2007036657A - Data identifying device - Google Patents

Data identifying device Download PDF

Info

Publication number
JP2007036657A
JP2007036657A JP2005216885A JP2005216885A JP2007036657A JP 2007036657 A JP2007036657 A JP 2007036657A JP 2005216885 A JP2005216885 A JP 2005216885A JP 2005216885 A JP2005216885 A JP 2005216885A JP 2007036657 A JP2007036657 A JP 2007036657A
Authority
JP
Japan
Prior art keywords
block
data
image
identification
pattern
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.)
Pending
Application number
JP2005216885A
Other languages
Japanese (ja)
Inventor
So Sugino
創 杉野
Fujio Ihara
富士夫 井原
Tadashi Shimizu
正 清水
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2005216885A priority Critical patent/JP2007036657A/en
Publication of JP2007036657A publication Critical patent/JP2007036657A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data identifying device which can suppress incorrect data identification. <P>SOLUTION: The device reads an image formed on a paper based on predetermined image data, and discriminates the data of which a block takes charge. The image data are constituted by dividing an image region into a plurality of blocks, further dividing each block into a plurality of regions, and increasing or decreasing the pixel value of each region and each block with an increasing and decreasing value assigned by region in the block by a pattern, defined beforehand according to data in charge of the block. It is determined that a sum of decreasing values in a block is set to 0. The decreasing value of a region r is inferred, by acquiring sums of pixel values Q1, Q2, Q8 of 3 blocks B1, B2, B8 adjoining the region r1, obtaining the total Q1+Q2+Q8, and subtracting the value of the multiplied value of the total by a predetermined value A, from a total Rr of pixel values in the region r1. Executing the presumption for each region of the all blocks, data of each block are inferred from the decreasing value of each region. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、データ識別装置にかかり、より詳細には、所定の画像データに基づいて被画像形成媒体に形成された画像を読み取って、所定のデータを識別するデータ識別装置に関する。   The present invention relates to a data identification device, and more particularly, to a data identification device that identifies predetermined data by reading an image formed on an image forming medium based on predetermined image data.

従来、近年、画像データに対し、電子的な情報を、一見、人間の目には認識できないような形式で付加する電子透かし技術がさかんに研究・開発され、さまざまな形態で利用されはじめている(例えば、特許文献1参照)。この特許文献1では、画像データに電子的な情報を付加する際は、例えば、全体画像領域を各々複数の画素で構成される複数のブロックに分割し、各ブロックを更に上下方向及び左右方向に合計4つの領域に分割し、各ブロックの各画素の画素値を、当該ブロック内の各領域毎に当該ブロックが担当するデータ(0又は1)に応じて予め定められたパターンで割り振られた増減値で増減している。   In recent years, digital watermark technology that adds electronic information to image data in a format that cannot be recognized by the human eye at first glance has been extensively researched and developed, and has begun to be used in various forms ( For example, see Patent Document 1). In Patent Document 1, when electronic information is added to image data, for example, the entire image area is divided into a plurality of blocks each composed of a plurality of pixels, and each block is further divided in the vertical and horizontal directions. Dividing into a total of four areas, the pixel value of each pixel in each block is increased or decreased allocated in a predetermined pattern according to the data (0 or 1) assigned to the block for each area in the block Increases or decreases by value.

具体的には、1を担当する場合には、左上及び右下の領域の画素値を減じ、右上及び左下の領域の画素値を増加し、0を担当する場合には、左上及び右下の領域の画素値を増加し、右上及び左下の領域の画素値を減少している。   Specifically, in the case of taking charge of 1, the pixel values in the upper left and lower right areas are decreased and the pixel values in the upper right and lower left areas are increased, and in the case of taking charge of 0, the upper left and lower right areas. The pixel value of the area is increased, and the pixel values of the upper right and lower left areas are decreased.

このように電子情報が付加された画像データに基づいて画像を用紙に形成する。   Thus, an image is formed on a sheet based on the image data to which the electronic information is added.

そして、このように形成された画像を読み取って、各ブロックが担当するデータを識別している。   And the image formed in this way is read and the data which each block takes charge is identified.

ところで、このように各ブロックが担当するデータを識別するためには、上記ブロックを分割した各領域が明確に区別して認識される必要がある。そこで、上記特許文献1に記載の発明では、上記パターンとしては、「中心部を通り垂直・水平の2本のエッジを備える」、「画素値の絶対値は中心でもっとも大きく、中心から離れるほど小さくなる」、「ともにn×m画素の長方形ブロックである」という特徴を有するようにしている。これにより、中心分の境界がはっきりして、各領域が明確に区別して認識されるようにすることができる。
特開2004-140764号公報
By the way, in order to identify the data handled by each block as described above, it is necessary to clearly distinguish and recognize each area obtained by dividing the block. Therefore, in the invention described in Patent Document 1, the pattern includes “two vertical and horizontal edges passing through the center”, “the absolute value of the pixel value is the largest at the center, and the farther away from the center, the more the pixel value is. “Small” and “both are rectangular blocks of n × m pixels”. Thereby, the boundary of the center part is clear and each region can be clearly distinguished and recognized.
JP 2004-140764 A

しかしながら、元の画像データに基づく画像中に、濃度の高い領域と低い領域との境界が、上記ブロックの対角線に沿って位置する場合、例えば、4つの領域の内、左上、右上、及び右下の領域に濃度の高い領域が対応し、左下の領域のみが濃度の低い領域が対応する場合、本来は1に認識されるはずなのに、0と識別される場合がある。   However, in the image based on the original image data, when the boundary between the high density area and the low density area is located along the diagonal line of the block, for example, the upper left, the upper right, and the lower right of the four areas. When the high density area corresponds to this area and only the lower left area corresponds to the low density area, it may be recognized as 0 although it should be recognized as 1 originally.

本発明は、上記事実に鑑み成されたもので、データの誤認識を抑制することの可能なデータ識別装置ことを目的とする。   The present invention has been made in view of the above facts, and an object of the present invention is to provide a data identification device capable of suppressing erroneous recognition of data.

上記目的を達成するために請求項1に記載の発明は、所定画像領域を各々複数の画素で構成される複数のブロックに分割し、各ブロックを更に複数の領域に分割し、各ブロックの各画素の画素値を、当該ブロックが担当するデータに応じて予め定められたパターンで当該ブロック内の各領域毎に割り振られた増減値で増減して構成された画像データに基づいて被画像形成媒体に形成された画像を読み取って、各ブロックが担当するデータを識別するデータ識別装置であって、前記データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得する取得手段と、前記取得手段により取得された前記識別ブロック及び前記隣接ブロックの画像データに基づいて、前記識別ブロックが担当するデータを識別する識別手段と、を備えている。   In order to achieve the above object, the invention described in claim 1 divides a predetermined image area into a plurality of blocks each composed of a plurality of pixels, further divides each block into a plurality of areas, An image forming medium based on image data configured by increasing / decreasing the pixel value of a pixel by an increase / decrease value assigned to each area in the block in a predetermined pattern according to data handled by the block A data identification device that reads the image formed in the block and identifies data handled by each block, and acquires image data of an identification block that is a target for identifying the data and an adjacent block adjacent to the identification block Based on the acquisition unit and the image data of the identification block and the adjacent block acquired by the acquisition unit, the data handled by the identification block is identified. Includes an identification unit that, the.

即ち、本発明は、被画像形成媒体に形成された画像を読み取って、データを識別するデータ識別装置である。   That is, the present invention is a data identification device that reads an image formed on an image forming medium and identifies data.

ここで、本発明のデータ識別装置がデータを識別することの可能な画像は、次の画像データに基づいて被画像形成媒体に形成された画像である。即ち、所定画像領域を各々複数の画素で構成される複数のブロックに分割し、各ブロックを更に複数の領域に分割し、各ブロックの各画素の画素値を、当該ブロックが担当するデータに応じて予め定められたパターンで当該ブロック内の各領域毎に割り振られた増減値で増減して構成された画像データである。   Here, the image that can be identified by the data identification device of the present invention is an image formed on the image forming medium based on the next image data. That is, a predetermined image area is divided into a plurality of blocks each composed of a plurality of pixels, each block is further divided into a plurality of areas, and the pixel value of each pixel of each block is determined according to the data handled by the block. The image data is configured to increase or decrease with an increase / decrease value assigned to each area in the block in a predetermined pattern.

上記被画像形成媒体に形成された画像を読み取って得られた画像データは、上記のように、各ブロックの各画素の画素値を、当該ブロック内の各領域毎に当該ブロックが担当するデータに応じて予め定められたパターンで割り振られた増減値で増減して構成された画像データに対応するので、該ブロックが担当するデータを識別するためには、画像データから、各ブロックの各画素の元々の画素値と、ブロックが担当するデータに応じて予め定められたパターンで割り振られた増減値とを分割する必要がある。   As described above, the image data obtained by reading the image formed on the image forming medium is obtained by converting the pixel value of each pixel of each block into data assigned to the block for each area in the block. Accordingly, since it corresponds to image data configured by increasing / decreasing with an increase / decrease value assigned in a predetermined pattern, in order to identify data handled by the block, from the image data, each pixel of each block is identified. It is necessary to divide the original pixel value and the increase / decrease value assigned in a predetermined pattern according to the data handled by the block.

ここで、被画像形成媒体に形成された画像を読み取って得られた画像データから上記ブロックが担当するデータを識別する方法自体は種々あるが、従来では、データを識別する対象となる識別ブロックの画像データのみを用いている。従って、従来では、当該ブロックの画像内に高濃度部と低濃度部との境界が存在した場合、この境界と上記パターンの内容との関係から、データを識別する対象となる識別ブロックの画像データのみを用いたのでは、データの誤識別がされる場合があった。   Here, there are various methods for identifying the data handled by the block from the image data obtained by reading the image formed on the image forming medium. Only image data is used. Therefore, conventionally, when there is a boundary between the high density portion and the low density portion in the image of the block, the image data of the identification block that is a target for identifying data from the relationship between the boundary and the contents of the pattern. In some cases, misidentification of data was sometimes caused by using only.

そこで、本発明の取得手段は、前記データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得する。   Therefore, the acquisition unit of the present invention acquires an identification block that is a target for identifying the data and image data of an adjacent block adjacent to the identification block.

識別手段は、取得手段により取得された識別ブロック及び隣接ブロックの画像データに基づいて、識別ブロックが担当するデータを識別する。   The identification unit identifies data handled by the identification block based on the identification block acquired by the acquisition unit and the image data of the adjacent block.

このように、ブロックが担当するデータを識別する際に、当該識別ブロックの画像データのみでは誤識別される場合でも、データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得するので、該隣接ブロックの画像データを用いて、識別ブロックの画像データ内の増減値を類推することができ、ブロックが担当するデータの誤識別を抑制することができる。   In this way, when identifying data for which a block is responsible, even if the image data of the identification block alone is erroneously identified, the image of the identification block to be identified and the adjacent block adjacent to the identification block Since data is acquired, the increase / decrease value in the image data of the identification block can be inferred using the image data of the adjacent block, and erroneous identification of the data handled by the block can be suppressed.

請求項2記載の発明は、請求項1記載の発明において、前記ブロック内の各領域に割り振られた増減値は、当該ブロック内で所定値になるように定められ、前記識別手段は、少なくとも1つの前記隣接ブロックの画像データに基づく画素値の総和を計算し、前記計算された前記隣接ブロックの画像データに基づく画素値の総和を用いて、前記識別ブロックの各領域の増減値の総和を推定し、前記推定された前記識別ブロックの各領域の増減値の総和に基づいて、前記データを識別する。   According to a second aspect of the present invention, in the first aspect of the present invention, an increase / decrease value assigned to each area in the block is determined to be a predetermined value in the block, and the identification means is at least 1 The sum of pixel values based on the image data of the two adjacent blocks is calculated, and the sum of increase / decrease values of each area of the identification block is estimated using the calculated sum of the pixel values based on the image data of the adjacent blocks Then, the data is identified based on the estimated sum of the increase / decrease values of the respective areas of the identification block.

ここで、前記ブロック内の各領域に割り振られた増減値は、当該ブロック内で加算すると、所定値、例えば、0になるように定められている。従って、隣接ブロックの画像データに基づく画素値の総和を計算すると、当該ブロックに割り振られた増減値は所定値(例えば0)となるので、隣接ブロックの画像情報のみの情報が得られる。隣接ブロックの画像情報と識別ブロックの画像情報に近いので、隣接ブロックの画像データに基づく画素値の総和を用いると、識別ブロックの各領域の増減値の総和を推定することができる。   Here, the increase / decrease value assigned to each area in the block is determined to be a predetermined value, for example, 0 when added in the block. Accordingly, when the sum of the pixel values based on the image data of the adjacent block is calculated, the increase / decrease value assigned to the block becomes a predetermined value (for example, 0), so that only the image information of the adjacent block is obtained. Since it is close to the image information of the adjacent block and the image information of the identification block, if the sum of the pixel values based on the image data of the adjacent block is used, the sum of the increase / decrease values of each area of the identification block can be estimated.

このように、隣接ブロックの画像データを用いて、識別ブロックの画像データ内の増減値を類推するようにしているので、ブロックが担当するデータの誤識別を抑制することができる。   As described above, since the increase / decrease value in the image data of the identification block is estimated using the image data of the adjacent block, it is possible to suppress erroneous identification of data handled by the block.

請求項3記載の発明は、請求項1又は請求項2記載の発明において、前記識別手段は、複数の隣接ブロックの画像データを用いる場合に、前記識別ブロックの各領域の増減値の総和を推定する際、複数の隣接ブロックの画像データに基づく画素値の全総和を、該用いた隣接ブロックの総領域数以上の値で除算して用いる。   According to a third aspect of the present invention, in the first or second aspect of the present invention, when the identification means uses image data of a plurality of adjacent blocks, the sum of increase / decrease values of each area of the identification block is estimated. In this case, the total sum of the pixel values based on the image data of a plurality of adjacent blocks is used by being divided by a value equal to or greater than the total number of regions of the used adjacent blocks.

請求項4記載の発明では、前記識別手段は、前記識別ブロックの各領域の増減値の総和の差が、予め定められたパターンに基づいて定まる差の最小値より小さい場合に、識別不能とする。これにより、データの誤識別の抑制が可能となる。   According to a fourth aspect of the present invention, the discriminating unit makes the discriminating impossible when the difference in the sum of the increase / decrease values of each area of the discrimination block is smaller than the minimum difference determined based on a predetermined pattern. . Thereby, it is possible to suppress erroneous identification of data.

請求項5記載の発明は、各ブロックは、各々異なる第1のデータ又は第2のデータを担当し、前記パターンは、前記第1のデータに応じて定まる第1のパターンと前記第2のデータに応じて定まる第2のパターンとを有する。   According to a fifth aspect of the present invention, each block takes charge of different first data or second data, and the pattern includes the first pattern and the second data determined according to the first data. And a second pattern determined in accordance with.

前記取得手段は、複数の隣接ブロックの画像データを取得し、前記識別手段は、前記取得された複数の隣接ブロックの画像データに基づいて、第1のパターンに対応する第1のデータが、第2のパターンに対応する第2のデータと識別され易いか否かを判断し、第1のデータが第2のデータと識別され易いと判断された場合、前記識別ブロックの画像データを、第1のデータが識別されやすいように補正し、前記補正された画像データに基づいて、前記データを識別することを特徴とする。   The acquisition unit acquires image data of a plurality of adjacent blocks, and the identification unit determines that the first data corresponding to the first pattern is based on the acquired image data of the plurality of adjacent blocks. It is determined whether or not the second data corresponding to the second pattern is easily identified, and when it is determined that the first data is easily identified as the second data, the image data of the identification block is determined as the first data. The data is corrected so as to be easily identified, and the data is identified based on the corrected image data.

このように、各ブロックは、各々異なる第1のデータ又は第2のデータを担当し、パターンは、第1のデータに応じて定まる第1のパターンと第2のデータに応じて定まる第2のパターンとを有し、データの識別の際、第1のパターンに対応する第1のデータが、第2のパターンに対応する第2のデータと識別され易いと判断された場合、識別ブロックの画像データを、第1のデータが識別されやすいように補正するので、データの誤識別を抑えることができる。   In this way, each block is responsible for different first data or second data, and the pattern is a second pattern determined according to the first pattern and the second data determined according to the first data. When it is determined that the first data corresponding to the first pattern is easily discriminated from the second data corresponding to the second pattern at the time of data identification, the image of the identification block Since the data is corrected so that the first data can be easily identified, erroneous identification of the data can be suppressed.

以上説明したように本発明は、ブロックが担当するデータを識別する際に、当該識別ブロックの画像データのみでは誤識別される場合でも、データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得するので、該隣接ブロックの画像データを用いて、識別ブロックの画像データ内の増減値を類推することができ、ブロックが担当するデータの誤識別を抑制することができる。   As described above, according to the present invention, when identifying data handled by a block, even if only the image data of the identification block is erroneously identified, the identification block to be identified is adjacent to the identification block. Since the image data of the adjacent block is acquired, the increase / decrease value in the image data of the identification block can be inferred using the image data of the adjacent block, and the erroneous identification of the data handled by the block can be suppressed. it can.

以下、図面を参照して本発明の実施の形態の一例を詳細に説明する。   Hereinafter, an example of an embodiment of the present invention will be described in detail with reference to the drawings.

図1は、本発明の実施の形態における付加情報を埋め込む側の一構成例を示すブロック図である。図中、11はパターンサイズ入力部、12は埋め込み強度入力部、13はパターン減衰率入力部、14はパターン作成部、15は画像データ入力部、16は画像データ格納部、17は付加情報入力部、18は付加情報符号化部、19は埋め込み位置制御部、20はパターン選択部、21はパターン重畳部、22は画像出力部を参照する参照符合である。   FIG. 1 is a block diagram showing an example of the configuration on the side where additional information is embedded in the embodiment of the present invention. In the figure, 11 is a pattern size input unit, 12 is an embedding intensity input unit, 13 is a pattern attenuation rate input unit, 14 is a pattern creation unit, 15 is an image data input unit, 16 is an image data storage unit, and 17 is an additional information input. , 18 is an additional information encoding unit, 19 is an embedding position control unit, 20 is a pattern selection unit, 21 is a pattern superimposing unit, and 22 is a reference code referring to an image output unit.

パターンサイズ入力部11は、図示しないパーソナルコンピュータや操作パネルなどを通して、ユーザが指定するパターンサイズを入力設定するものである。また埋め込み強度入力部12は、図示しないパーソナルコンピュータや操作パネルなどを通して、ユーザが指定する埋め込み強度を入力設定するものである。さらにパターン減衰率入力部13は、図示しないパーソナルコンピュータや操作パネルなどを通して、ユーザが指示するパターン減衰率を入力設定するものである。これらは予め設定されている固定値を利用する場合にはそれぞれ設けずに構成することも可能である。   The pattern size input unit 11 is used to input and set a pattern size designated by the user through a personal computer or an operation panel (not shown). The embedding strength input unit 12 inputs and sets the embedding strength designated by the user through a personal computer or an operation panel (not shown). Further, the pattern attenuation factor input unit 13 is used to input and set a pattern attenuation factor designated by the user through a personal computer or an operation panel (not shown). These may be configured without providing each when using a preset fixed value.

パターン作成部14は、設定されているパターンサイズ、埋め込み強度、およびパターン減衰率に基づき2つのパターンを作成するものである。なお、パターン作成部14の詳細については後述する。   The pattern creating unit 14 creates two patterns based on the set pattern size, embedding strength, and pattern attenuation rate. Details of the pattern creating unit 14 will be described later.

画像データ入力部15は、入力される画像データを受け付ける。例えば通信機能を備え、外部の装置から画像データを受け取ったり、あるいはソフトウェアからOSなどを介して受け取ったり、またはファイルを開いて読み出すなど、種々の形態で画像データを取得することができる。入力される画像データは多値データであり、図示しないパーソナルコンピュータにより作成されたり、デジタルカメラやスキャナにより入力された自然画像あるいはCG(Computer Graphics)画像を用いたり、任意の画像であって良い。画像データ格納部16は、入力画像データの記録、処理中の作業データの一時的な保持、および出力データの保持に使用される。   The image data input unit 15 receives input image data. For example, the image data can be acquired in various forms such as having a communication function, receiving image data from an external device, receiving it from software via an OS, or opening and reading a file. The input image data is multi-value data, and may be an arbitrary image created by a personal computer (not shown), a natural image or a CG (Computer Graphics) image input by a digital camera or a scanner. The image data storage unit 16 is used for recording input image data, temporarily holding work data being processed, and holding output data.

付加情報入力部17は、図示しないパーソナルコンピュータや操作パネル、ソフトウェア、ファイルなど、種々の供給源から、入力画像データに埋め込む付加情報の入力を受け付ける。付加情報は、文字列、数字、あるいは画像データなど、様々な情報であって良い。   The additional information input unit 17 receives input of additional information embedded in input image data from various sources such as a personal computer, an operation panel, software, and a file (not shown). The additional information may be various information such as a character string, a number, or image data.

付加情報符号化部18は、付加情報入力部17により入力された付加情報を元に、所定の符号化フォーマットに変換し、実際に画像データに埋め込む埋め込み情報を作成する。なお、付加情報符号化部18の詳細については後述する。なお、符号化せずに埋め込むことも可能である。   The additional information encoding unit 18 converts the additional information input by the additional information input unit 17 into a predetermined encoding format, and creates embedded information that is actually embedded in the image data. Details of the additional information encoding unit 18 will be described later. It is also possible to embed without encoding.

埋め込み位置制御部19は、予め決められている埋め込みフォーマットに従って、画像データ格納部16に保持されている画像データへ埋め込み情報を埋め込む位置を指定する。   The embedding position control unit 19 designates a position at which embedding information is embedded in the image data held in the image data storage unit 16 in accordance with a predetermined embedding format.

パターン選択部20は、付加情報符号化部18により作成された埋め込み情報に基づいて、パターン作成部14が作成した2つのパターンのうちの一方を選択する。   The pattern selection unit 20 selects one of the two patterns created by the pattern creation unit 14 based on the embedded information created by the additional information encoding unit 18.

パターン重畳部21は、埋め込み位置制御部19が指定した画像データ格納部16のアドレスに存在する画像ブロックに対して、パターン選択部20が選択したパターンを例えば加算して重畳し、パターンを画像データ中に埋め込む。なお、加算値が最大値(例えば255)を超えた時は、その値を最大値(255)にし、加算値が負の値になったときは、その値を0にする。   The pattern superimposing unit 21 adds, for example, the pattern selected by the pattern selecting unit 20 to the image block existing at the address of the image data storage unit 16 specified by the embedding position control unit 19 and superimposes the pattern. Embed in. When the added value exceeds the maximum value (for example, 255), the value is set to the maximum value (255), and when the added value becomes a negative value, the value is set to 0.

画像出力部22は、プリンタなどの出力機器やソフトウェアあるいは通信回線などを介して、付加情報の埋め込まれた画像を出力する。   The image output unit 22 outputs an image in which additional information is embedded via an output device such as a printer, software, or a communication line.

以上、本発明の実施の形態における付加情報を埋め込む側の一構成例の概要について説明した。次に、上述の構成のうちの主要な構成について、さらに詳述する。   The outline of one configuration example on the side where the additional information is embedded in the embodiment of the present invention has been described above. Next, the main configuration among the above-described configurations will be described in detail.

まず、パターン作成部14について詳述する。パターン作成部14は、前述のパターンサイズ入力部11、埋め込み強度入力部12、パターン減衰率入力部13により入力、設定された値に基づいて2つのパターンを作成する。2つのパターンは以下のような特徴を持つ。
・2つのパターンの対応する画素の画素値(増減値)同士を加算するとすべての要素が0になる。
・各々のパターン中の全画素の画素値(増減値)を加算すると0になる。
・各々のパターンは中心部を通り方向が異なる2本以上のエッジと呼ばれる不連続な画素値を備える。エッジの方向は、例えば垂直線と水平線にそった方向とすることができる。
さらに、
・各々のパターンの持つ画素値の絶対値は中心でもっとも大きく、中心から離れるほど小さくなる。
という特徴を有していると良い。また、形状に関し、ここでは、
・ともにn×m画素の同サイズの長方形ブロックで構成される。
という特徴を有しているものとする。
First, the pattern creation unit 14 will be described in detail. The pattern creation unit 14 creates two patterns based on the values input and set by the pattern size input unit 11, the embedding strength input unit 12, and the pattern attenuation rate input unit 13 described above. The two patterns have the following characteristics.
When all pixel values (increase / decrease values) of corresponding pixels of the two patterns are added, all elements become zero.
When the pixel values (increase / decrease values) of all the pixels in each pattern are added, it becomes 0.
Each pattern has discontinuous pixel values called two or more edges that pass through the center and have different directions. The direction of the edge can be, for example, a direction along a vertical line and a horizontal line.
further,
The absolute value of the pixel value of each pattern is the largest at the center and decreases as the distance from the center increases.
It is good to have the characteristics. Also, regarding the shape, here
Both are composed of rectangular blocks of the same size with n × m pixels.
It shall have the characteristics.

図2は、埋め込むパターンの一例の説明図である。上述のような特徴を有するパターンとしては、例えば図2に示したようなものがある。ここでは図2(A)は付加情報“1”を意味する基本パターン、図2(B)は付加情報“0”を意味する基本パターンとし、これら双方の全要素に図2(C)に示す(1)式または(2)式のような式が乗ぜられる。これによって、例えば図2(D)、(E)に示すようなパターンが生成される。なお、図2(D)、(E)では、図示の都合上、濃度の違いをハッチングの違いによって示している。なお、図2(A)は付加情報“1”を意味する基本パターン及び図2(B)は付加情報“0”を意味する基本パターンの一方は第1のパターンに対応し、他方は第2のパターンに対応する。   FIG. 2 is an explanatory diagram of an example of a pattern to be embedded. An example of the pattern having the above-described features is as shown in FIG. 2A is a basic pattern meaning additional information “1”, and FIG. 2B is a basic pattern meaning additional information “0”. All of these elements are shown in FIG. 2C. Expressions such as Expression (1) or Expression (2) are multiplied. Thereby, for example, patterns as shown in FIGS. 2D and 2E are generated. 2D and 2E, the difference in density is indicated by the difference in hatching for the sake of illustration. 2A corresponds to the first pattern, and one of the basic patterns meaning additional information “0” corresponds to the first pattern, and the other corresponds to the second pattern. Corresponds to the pattern.

ここで、基本パターンのサイズはパターンサイズ入力部11で設定される。図2に示した例は、パターンサイズが8×8の例である。また(1)式、(2)式において、Cは埋め込み強度入力部12により入力された埋め込み強度、αはパターン減衰率入力部13で設定されたパターン減衰率である。xは横軸、yは縦軸の座標を表し、パターンの中心を原点としている。   Here, the size of the basic pattern is set by the pattern size input unit 11. The example shown in FIG. 2 is an example in which the pattern size is 8 × 8. In equations (1) and (2), C is the embedding strength input by the embedding strength input unit 12, and α is the pattern attenuation rate set by the pattern attenuation rate input unit 13. x represents the horizontal axis, y represents the coordinate of the vertical axis, and the center of the pattern is the origin.

これらのパターンの特徴は、画質への影響をできる限り抑えながら、かつ、その検出を容易にするためのものであり、後述する本発明の情報検出側の構成によって容易に検出が可能である。なお、パターンサイズやパターンの減衰率、埋め込み強度などのパラメータは、通常、各出力機器毎に画質や検出率を考慮して設定することになるが、後述する情報検出側ではこれらのパラメータを事前に知っている必要はない。   The features of these patterns are for suppressing the influence on the image quality as much as possible and for facilitating the detection, and can be easily detected by the configuration on the information detection side of the present invention described later. Parameters such as the pattern size, pattern attenuation rate, and embedding strength are usually set for each output device in consideration of the image quality and detection rate. However, these parameters are set in advance on the information detection side described later. There is no need to know.

本発明で用いるパターンは図2に示した例に限られるものではなく、例えば(1)式や(2)式の代わりに三角波のようなものを利用するなど、(1)式及び(2)式としてどのような関数を用いてもよい。また、これらの式中の指数関数部分を省略したり、あるいはこれらの式を用いずに図2(A)、(B)に示すパターンをそのまま用いることも可能である。さらに、図2に示した例ではエッジ方向として垂直・水平方向としたが、例えば45度及び135度方向のエッジなど、後述する付加情報を抽出する側とエッジの抽出方向を合わせておけば任意のエッジ方向でよい。   The pattern used in the present invention is not limited to the example shown in FIG. 2. For example, a pattern such as a triangular wave is used instead of the expressions (1) and (2), and the expressions (1) and (2) are used. Any function may be used as an expression. It is also possible to omit the exponential function portion in these equations, or to use the patterns shown in FIGS. 2A and 2B as they are without using these equations. Further, in the example shown in FIG. 2, the edge direction is set to the vertical / horizontal direction. However, for example, it is optional if the side for extracting additional information, which will be described later, is combined with the edge extraction direction, such as edges at 45 degrees and 135 degrees. The edge direction may be sufficient.

次に、付加情報符号化部18について詳述する。まず、本発明で使用する符号フォーマットの一例について説明する。符号フォーマットには、フォーマット化された埋め込み情報を、記録する位置及び順番を指定する物理フォーマットと、物理フォーマット内で、埋め込まれた情報をどのように符号化および復号化するかを規定した論理フォーマットとがある。   Next, the additional information encoding unit 18 will be described in detail. First, an example of a code format used in the present invention will be described. The code format includes a physical format that specifies the position and order of recording the embedded information, and a logical format that defines how the embedded information is encoded and decoded within the physical format. There is.

図3は、本発明で使用する符号フォーマットの一例における物理フォーマットの一例の説明図である。図中、31はパターンサイズ、32はマクロブロックサイズ、33は入力画像である。パターンサイズ31はパターンサイズ入力部11により設定されたパターンの大きさを示し、マクロブロックサイズ32はこのパターンサイズ31をY行X列のマトリクス状にまとめたものである。入力画像33は、パターンの埋め込み対象となる画像である。   FIG. 3 is an explanatory diagram of an example of a physical format in an example of a code format used in the present invention. In the figure, 31 is a pattern size, 32 is a macroblock size, and 33 is an input image. The pattern size 31 indicates the size of the pattern set by the pattern size input unit 11, and the macroblock size 32 is a collection of the pattern size 31 in a matrix of Y rows and X columns. The input image 33 is an image to be embedded with a pattern.

埋め込み位置制御部19は、埋め込み対象の入力画像33のサイズと、予め設定されているマクロブロックのマトリクスサイズ(Y,X)と、パターンサイズとから、入力画像33内に配置可能なマクロブロックの数を計算し、マクロブロックを入力画像33のなるべく中心によせて隙間なく配置する。埋め込み位置はマクロブロックを左上から右下方向、すなわち、図3に示した例ではMB11,MB12,MB13,MB21,…,MB33の順にアクセスし、さらにマクロブロック内でも左上のパターンから右下のパターンの順序でアドレス制御する。   The embedding position control unit 19 determines the macroblocks that can be arranged in the input image 33 from the size of the input image 33 to be embedded, the matrix size (Y, X) of the macroblock set in advance, and the pattern size. The number is calculated, and the macro blocks are arranged as close to the center of the input image 33 as possible without gaps. The macro block is accessed from the upper left to the lower right, that is, MB11, MB12, MB13, MB21,..., MB33 in the example shown in FIG. Address control in the order of

このようにパターンを埋め込むブロックを規則的に配置しておくことによって、後述する付加情報を抽出する側では、ブロックサイズやブロック位置を容易に検出することができるようになる。   By regularly arranging the blocks in which the pattern is embedded in this way, the block size and the block position can be easily detected on the side of extracting additional information to be described later.

図4は、本発明で使用する符号フォーマットの一例における論理フォーマットの一例の説明図である。図中、41は基本論理フォーマット、42は頭出しヘッダ、43は符号化方式情報、44はシーケンス番号、45は有効符号数情報、46は符号化情報である。   FIG. 4 is an explanatory diagram of an example of a logical format in an example of a code format used in the present invention. In the figure, 41 is a basic logical format, 42 is a cue header, 43 is encoding method information, 44 is a sequence number, 45 is effective code number information, and 46 is encoding information.

論理フォーマットは、図4に示すように1ないし複数の基本論理フォーマット41によって構成されている。また、基本論理フォーマット41は、頭出しヘッダ42、符号化方式情報43、シーケンス番号44、有効符号数情報45、および符号化情報46で構成されている。基本論理フォーマット41のサイズはマクロブロック32のサイズに等しく、X×Yビットである。頭出しヘッダ42は、そのマクロブロック32の位置を特定するために使用され、全マクロブロック32に対して共通のものが使用される。符号化方式情報43は、後述する符号化情報46がどのような誤り訂正方式で符号化されているかを示すもので、これも全マクロブロック32に共通して使用される。シーケンス番号44は、付加情報入力部17が受け取った付加情報が1つのマクロブロック32内に収容できない大きさであった時に使用され、付加情報を符号化した後に、それをマクロブロック32に収容できるサイズに分割し、それらに対してシーケンス番号を“1”番から昇順に付加していったものである。符号化された付加情報が1つのマクロブロック32に収容できる長さであった時は、シーケンス番号は“1”になる。有効符号数情報45は、符号化された付加情報が分割された場合に、最後のマクロブロックに収容された符号化情報の有効符号数を示しており、最後のブロック以外の有効符号数情報はすべて“0”になる。なお、誤り訂正符号化される部分は、符号化情報46だけでなく、シーケンス番号44および有効符号数情報45も含んでいる。   The logical format is composed of one or more basic logical formats 41 as shown in FIG. The basic logical format 41 includes a cue header 42, encoding method information 43, sequence number 44, effective code number information 45, and encoding information 46. The size of the basic logical format 41 is equal to the size of the macroblock 32 and is X × Y bits. The cue header 42 is used to specify the position of the macro block 32, and the common header 42 is used for all the macro blocks 32. The encoding method information 43 indicates what error correction method the encoding information 46 to be described later is encoded in, and is also used in common for all the macroblocks 32. The sequence number 44 is used when the additional information received by the additional information input unit 17 is of a size that cannot be accommodated in one macroblock 32. After the additional information is encoded, it can be accommodated in the macroblock 32. This is divided into sizes, and sequence numbers are added to them in ascending order from “1”. When the encoded additional information has a length that can be accommodated in one macroblock 32, the sequence number is “1”. The effective code number information 45 indicates the effective code number of the encoded information accommodated in the last macroblock when the encoded additional information is divided, and the effective code number information other than the last block is All become "0". Note that the part to be error-corrected encoded includes not only the encoded information 46 but also the sequence number 44 and the effective code number information 45.

図5は、本発明の第1の実施の形態における付加情報を埋め込む側の付加情報符号化部18の動作の一例を示すフローチャートである。S101では、付加情報入力部17より入力した付加情報を2値情報に置き換える。例えば、付加情報として文字列を受け取ったなら、これをASCIIコード等に変換して2値情報に変換する。S102では、S101で得られた2値情報に対して誤り訂正符号化する。S103では、S102で符号化された情報の符号長から、それが1つのマクロブロックに収まるか否かを計算し、もし入りきらない場合には、これを分割する。S104では、分割された符号化情報46に、頭出しヘッダ42、符号化方式情報43、シーケンス番号44、有効符号数情報45を付加して複数の基本論理フォーマット41の情報を作成する。S105では、S104で作成した複数の基本論理フォーマット41の情報を先頭のマクロブロックから順番に埋めていき、すべてのマクロブロックに情報が埋め込まれるように繰り返して埋め込みを行う。   FIG. 5 is a flowchart showing an example of the operation of the additional information encoding unit 18 on the side where the additional information is embedded in the first embodiment of the present invention. In S101, the additional information input from the additional information input unit 17 is replaced with binary information. For example, if a character string is received as additional information, it is converted into ASCII code or the like and converted into binary information. In S102, error correction coding is performed on the binary information obtained in S101. In S103, it is calculated from the code length of the information encoded in S102 whether or not it can be accommodated in one macroblock, and if not, it is divided. In S104, the information of a plurality of basic logical formats 41 is created by adding the cue header 42, the encoding method information 43, the sequence number 44, and the effective code number information 45 to the divided encoded information 46. In S105, information of a plurality of basic logical formats 41 created in S104 is embedded in order from the first macroblock, and embedding is repeatedly performed so that information is embedded in all macroblocks.

以下に、具体例を用いて、上述の付加情報符号化部18の動作の一例についてさらに説明する。ここでは、物理フォーマットを16行8列、すなわち、Y=16,X=8とする。また頭出しヘッダを5ビットとし、その値を“11111”とする。さらに、符号化方式を3ビットとし、その値は“000”として符号長が15ビット、検査ビットが4ビットのハミング符号を指示するとする。また、シーケンス番号を7ビット、有効符号数を4ビットとして説明する。   Below, an example of operation | movement of the above-mentioned additional information encoding part 18 is further demonstrated using a specific example. Here, the physical format is 16 rows and 8 columns, that is, Y = 16 and X = 8. The cue header is 5 bits and the value is “11111”. Further, it is assumed that the encoding method is 3 bits, the value is “000”, and the code length is 15 bits and the check bit is 4 bits, indicating a Hamming code. Further, description will be made assuming that the sequence number is 7 bits and the number of effective codes is 4 bits.

図5に示すフローチャートにおいて、S101で付加情報を2値情報に置き換えた後、S102において、S101で得られた2値情報に対して誤り訂正符号化する。符号長15ビット、検査ビット4ビットのハミング符号であれば、2値情報を先頭から11ビットずつとり、4ビットの検査ビットを付加して15ビット長のハミング符号を得る。これを2値情報の最後まで繰り返す。なお、2値情報のビット長が11ビットの倍数でなかったときは、11ビットの倍数になるように、不足するビットをすべて値“1”で埋める。   In the flowchart shown in FIG. 5, after the additional information is replaced with binary information in S101, error correction coding is performed on the binary information obtained in S101 in S102. In the case of a Hamming code with a code length of 15 bits and a check bit of 4 bits, binary information is taken 11 bits from the beginning, and a 4-bit check bit is added to obtain a 15-bit Hamming code. This is repeated until the end of the binary information. When the bit length of the binary information is not a multiple of 11 bits, all the missing bits are filled with the value “1” so as to be a multiple of 11 bits.

S103では、S102で符号化された情報の符号長から、それが1つのマクロブロックに収まるか否かを計算し、もし入りきらない場合には、これを分割する。ここではマクロブロックサイズが16×8=128で、頭出しヘッダが5ビット、符号化方式が3ビット、シーケンス番号が7ビット、有効符号数情報が4ビットであり、符号化方式として符号長15ビット、検査ビット4ビットのハミング符号を使用する。そのため、シーケンス番号および有効符号数情報は15ビットを要する。これにより、符号化情報46のための領域は、128−(5+3+15)=105ビットとなる。したがって、符号化された情報が105ビットを超えるならば、この情報を埋め込むために複数のマクロブロックが必要になる。複数のマクロブロックが必要となる場合には、105ビット毎に分割する。そしてS104において、分割された符号化情報46に、頭出しヘッダ42、符号化方式情報43、シーケンス番号44、有効符号数情報45を付加して複数の基本論理フォーマット41を作成する。   In S103, it is calculated from the code length of the information encoded in S102 whether or not it can be accommodated in one macroblock, and if not, it is divided. Here, the macroblock size is 16 × 8 = 128, the cue header is 5 bits, the encoding method is 3 bits, the sequence number is 7 bits, the effective code number information is 4 bits, and the code length is 15 as the encoding method. A Hamming code of 4 bits and check bits is used. Therefore, the sequence number and valid code number information require 15 bits. As a result, the area for the encoded information 46 is 128− (5 + 3 + 15) = 105 bits. Therefore, if the encoded information exceeds 105 bits, multiple macroblocks are required to embed this information. When a plurality of macroblocks are required, it is divided every 105 bits. In S104, a plurality of basic logical formats 41 are created by adding the cue header 42, encoding method information 43, sequence number 44, and effective code number information 45 to the divided encoded information 46.

S105では、S104で作成した複数の基本論理フォーマット41の情報を先頭のマクロブロックから順番に埋めていき、すべてのマクロブロックに情報が埋め込まれるように繰り返して埋め込みを行う。例えば、図3に示した例のようにマクロブロック32の数が9つあり、シーケンス番号の最大値が4であったときは、MB11,MB12,MB13,MB21にシーケンス番号1の基本論理フォーマットの情報、シーケンス番号2の基本論理フォーマットの情報、シーケンス番号3の基本論理フォーマットの情報、シーケンス番号4の基本論理フォーマットの情報をそれぞれ埋め込む。さらに、MB22,MB23,MB31,MB32に再びシーケンス番号1の基本論理フォーマットの情報、シーケンス番号2の基本論理フォーマットの情報、シーケンス番号3の基本論理フォーマットの情報、シーケンス番号4の基本論理フォーマットの情報をそれぞれ埋め込み、MB33にシーケンス番号1の基本論理フォーマットの情報を埋め込むことになる。   In S105, information of a plurality of basic logical formats 41 created in S104 is embedded in order from the first macroblock, and embedding is repeatedly performed so that information is embedded in all macroblocks. For example, when the number of macroblocks 32 is nine and the maximum sequence number is 4 as in the example shown in FIG. 3, the basic logical format of sequence number 1 is stored in MB11, MB12, MB13, and MB21. The information, the basic logical format information of sequence number 2, the basic logical format information of sequence number 3, and the basic logical format information of sequence number 4 are embedded. Further, the basic logical format information of sequence number 1, the basic logical format information of sequence number 2, the basic logical format information of sequence number 3, and the basic logical format information of sequence number 4 are again stored in MB22, MB23, MB31, and MB32. And the basic logical format information of sequence number 1 is embedded in MB33.

後述するが、この付加情報を解読するために、解読する側は、マクロブロックのサイズ(Y,X)と論理フォーマットだけを知っていればよく、埋め込み時のブロックサイズや出力機器および入力機器の解像度などの情報も必要としない。また、画質に関しては、振幅が減衰するパターンを用いることによって、パターンの中心部が特に元画像とは異なることになるものの、このパターンがほぼ画像全体に規則正しく等間隔で埋め込まれるために、たとえ元画像とは違うということがわかっても違和感を抑えることができる。また、検出率があまり落ちない範囲でできるだけブロックサイズを小さくしたり、ブロックサイズを小さくできない場合でも、減衰率を適当な値にセットすることによって、元画像に比較してほとんど画質劣化を感じない程度に抑えることができる。   As will be described later, in order to decode this additional information, the decoding side only needs to know the macroblock size (Y, X) and the logical format, and the block size at the time of embedding, the output device and the input device Information such as resolution is not required. In addition, regarding the image quality, by using a pattern in which the amplitude is attenuated, the central portion of the pattern is particularly different from the original image. However, since this pattern is embedded almost regularly in the entire image at regular intervals, Even if you know that it is different from the image, you can suppress the sense of incongruity. In addition, even if the block size is made as small as possible within the range where the detection rate does not drop so much, or even if the block size cannot be reduced, the attenuation rate is set to an appropriate value so that almost no deterioration in image quality is felt compared to the original image. It can be suppressed to the extent.

以上、本発明の第1の実施の形態において付加情報を埋め込む側の構成例について説明してきた。次に、本発明の第1の実施の形態において、付加情報がブロック単位で埋め込まれた画像データから付加情報を抽出する側の構成例について説明する。   The configuration example on the side where the additional information is embedded has been described above in the first embodiment of the present invention. Next, in the first embodiment of the present invention, a configuration example on the side of extracting additional information from image data in which additional information is embedded in units of blocks will be described.

図6は、本発明の第1の実施の形態において付加情報を抽出する側の一構成例を示すブロック図である。図中、51は画像データ入力部、52は画像データ格納部、53は入力画像傾き補正部、54はブロックサイズ推定部、55はブロック位置検出部、56は付加情報識別部、57は付加情報復号部を参照する参照符合である。なお入力される画像データは、上述のような付加情報を埋め込む側の構成例で示した画像処理装置または画像処理方法によって作成され、印刷機器から印刷出力された画像から得られる画像データである。   FIG. 6 is a block diagram showing a configuration example of the side for extracting additional information in the first embodiment of the present invention. In the figure, 51 is an image data input unit, 52 is an image data storage unit, 53 is an input image inclination correction unit, 54 is a block size estimation unit, 55 is a block position detection unit, 56 is an additional information identification unit, and 57 is additional information. This is a reference code for referring to the decoding unit. The input image data is image data obtained from an image generated by the image processing apparatus or the image processing method shown in the configuration example on the side where the additional information is embedded as described above and printed out from the printing device.

画像データ入力部51は、スキャナあるいはデジタルカメラなどの画像読取機器とのインタフェースを有し、このインタフェースを通じて付加情報の埋め込まれた印刷画像データを入力する。また画像データ入力部51は、スキャナあるいはデジタルカメラ等の画像読取機器により取得された印刷画像データが圧縮されているときは、それを非圧縮データに変換する機能も具備している。   The image data input unit 51 has an interface with an image reading device such as a scanner or a digital camera, and inputs print image data in which additional information is embedded through this interface. The image data input unit 51 also has a function of converting print image data acquired by an image reading device such as a scanner or a digital camera into uncompressed data when the image data is compressed.

画像データ格納部52は、画像データ入力部51により得られた印刷画像データを記憶し、また、演算の途中結果を格納する。   The image data storage unit 52 stores the print image data obtained by the image data input unit 51, and stores intermediate results of the calculation.

入力画像傾き補正部53は、入力された印刷画像データ中の画像の傾きを検出し、傾き補正を行う機能を具備する。図7は、入力画像傾き補正部における画像の傾き補正処理の一例の説明図である。画像の傾き補正は、例えば、入力画像を回転させながら、図7に示すように垂直方向及び水平方向に投影する。その投影波形の高さが所定の閾値以上となる範囲が最小となる角度を傾き角度と推定し、その傾き角度だけ回転補正すればよい。   The input image inclination correction unit 53 has a function of detecting the inclination of the image in the input print image data and correcting the inclination. FIG. 7 is an explanatory diagram of an example of image inclination correction processing in the input image inclination correction unit. In the image inclination correction, for example, the input image is projected in the vertical direction and the horizontal direction as shown in FIG. 7 while being rotated. An angle that minimizes the range in which the height of the projected waveform is equal to or greater than a predetermined threshold value is estimated as an inclination angle, and rotation correction may be performed by the inclination angle.

ブロックサイズ推定部54は、傾き補正された印刷画像データから、付加情報が埋め込まれているブロックサイズを推定する。なお、付加情報を埋め込んだときのブロックサイズは、印刷出力および入力を経て異なるブロックサイズに変更されている場合もあり、このブロックサイズ推定部54において、場合によって変更されたブロックサイズを推定している。ブロックサイズの推定は、埋め込んだパターンが所定方向(例えば垂直及び水平方向)のエッジ成分を有するという特徴を利用して行うことができる。例えば、傾き補正された印刷画像データからエッジを抽出してエッジ抽出画像を作成し、さらにエッジ抽出画像から垂直・水平方向のエッジ成分を取り出した画像を作成し、その画像の自己相関関数のピーク位置からブロックサイズを推定することができる。なお、ブロックサイズ推定部54における処理の詳細は後述する。   The block size estimation unit 54 estimates the block size in which the additional information is embedded from the print image data whose inclination has been corrected. The block size when the additional information is embedded may have been changed to a different block size through print output and input, and this block size estimation unit 54 estimates the changed block size in some cases. Yes. The block size can be estimated using the feature that the embedded pattern has edge components in a predetermined direction (for example, vertical and horizontal directions). For example, an edge is extracted from print image data that has undergone tilt correction to create an edge extracted image, and an image in which vertical and horizontal edge components are extracted from the edge extracted image is created, and the peak of the autocorrelation function of the image is created. The block size can be estimated from the position. Details of the processing in the block size estimation unit 54 will be described later.

ブロック位置検出部55は、ブロックサイズ推定部54により推定したブロックサイズを元に、未知の倍率で拡大縮小された印刷画像データから付加情報のパターンが埋め込まれたブロック位置を検出する。ブロック位置の検出は、どちらか一方のパターンから正か負かの極性情報だけを抽出して作成したマスク画像と付加情報が埋め込まれた画像との相関性を利用して行うことができる。例えば、ブロックサイズ推定部54により求めたブロックサイズに対応するマスク画像を作成し、このマスク画像と傾き補正された印刷画像データとの間で相関演算を行い、その相関演算結果の画像からその値が極大または極小となる点だけを抽出し、それらを垂直方向および水平方向に投影し、その投影波形とブロックサイズ推定部54により求めたブロックサイズとから、ブロック位置を検出することができる。どちらか一方のパターンのみからマスク画像を作れば良いのは、2つのパターンは極性が逆のパターンであり、もう一方のパターンからマスク画像を作成した場合は、単に極大値・極小値が逆転するだけだからである。なお、ブロック位置検出部55における処理の詳細についても後述する。   Based on the block size estimated by the block size estimation unit 54, the block position detection unit 55 detects the block position in which the pattern of the additional information is embedded from the print image data enlarged / reduced at an unknown magnification. The block position can be detected by utilizing the correlation between the mask image created by extracting only positive or negative polarity information from one of the patterns and the image in which the additional information is embedded. For example, a mask image corresponding to the block size obtained by the block size estimation unit 54 is created, a correlation operation is performed between the mask image and the print image data whose inclination is corrected, and the value is calculated from the image of the correlation operation result. Only the points where becomes the maximum or the minimum are extracted, are projected in the vertical direction and the horizontal direction, and the block position can be detected from the projection waveform and the block size obtained by the block size estimation unit 54. It is only necessary to create a mask image from either one of the patterns. The two patterns have opposite polarities. When a mask image is created from the other pattern, the maximum and minimum values are simply reversed. Because it is only. Details of processing in the block position detection unit 55 will also be described later.

付加情報識別部56は、後述する付加情報復号部57により制御され、ブロック位置検出部55及びブロックサイズ推定部54によって位置及び大きさが検出されたブロックに埋め込まれている付加情報を識別する。付加情報の識別処理は、所定方向のエッジにより4つに分割された領域の画素値の総和の大小関係を利用して行うことができる。例えば、検出したブロックを縦横方向に4つの領域に分割し、その4つの領域に含まれるすべての画素の総和を求め、その4つの総和値の大小関係に基づいて付加情報を識別することができる。この付加情報識別部56における処理についても詳細は後述する。   The additional information identification unit 56 is controlled by an additional information decoding unit 57 to be described later, and identifies additional information embedded in the block whose position and size are detected by the block position detection unit 55 and the block size estimation unit 54. The additional information identification process can be performed using the magnitude relation of the sum of the pixel values of the region divided into four by the edge in a predetermined direction. For example, the detected block is divided into four regions in the vertical and horizontal directions, the sum of all the pixels included in the four regions is obtained, and the additional information can be identified based on the magnitude relationship of the four sum values. . Details of the processing in the additional information identification unit 56 will be described later.

付加情報復号部57は、予め規定されたフォーマットに従って、前記付加情報識別部56により識別された個々の情報を組み立て、ついでそれを復号化することにより、埋め込まれていた元の付加情報を復元する。この付加情報復号部57の処理についても、詳細は後述する。   The additional information decoding unit 57 reconstructs the original additional information embedded by assembling the individual information identified by the additional information identifying unit 56 according to a pre-defined format, and then decoding the information. . Details of the processing of the additional information decoding unit 57 will be described later.

以上、本発明の第1の実施の形態における付加情報を抽出する側の構成の概要について説明した。次に、上述の構成のうちの主要部について、さらに説明を加える。   The outline of the configuration on the side for extracting additional information according to the first embodiment of the present invention has been described above. Next, the main part of the above-described configuration will be further described.

図8は、ブロックサイズ推定部54の動作の一例を示すフローチャートである。まず、S111では、入力画像にSobel型フィルタなどの微分フィルタを適用することによってエッジ抽出画像を得る。もちろん、Prewitt型やKirsh型のフィルタを用いるなど、エッジの抽出方法は任意である。   FIG. 8 is a flowchart illustrating an example of the operation of the block size estimation unit 54. First, in S111, an edge extracted image is obtained by applying a differential filter such as a Sobel filter to the input image. Of course, the edge extraction method is arbitrary, such as using a Prewitt type or Kirsh type filter.

次に、S112では、S111で得たエッジ抽出画像から、さらに所定方向、ここでは水平・垂直方向のエッジ成分を抽出する。図9は、水平・垂直方向のエッジを抽出するためのマスク画像の一例の説明図である。エッジ抽出画像から水平・垂直方向のエッジ成分を抽出する一つの方法として、例えば図9に示すような十字型のマスクとの間で相互相関を計算すればよい。これにより、特に水平・垂直成分のエッジやその交点が強調されたエッジ画像が作成される。付加情報のパターンが垂直・水平方向のエッジが存在しているパターンであれば、作成されたエッジ画像には図3に示した矩形(パターンサイズ31)の中心を通る格子状のエッジが存在する。このパターンから得られるエッジと、元の画像に存在する垂直・水平方向のエッジがエッジ画像中に存在することになる。   Next, in S112, edge components in a predetermined direction, here in the horizontal and vertical directions, are further extracted from the edge extraction image obtained in S111. FIG. 9 is an explanatory diagram of an example of a mask image for extracting horizontal and vertical edges. As one method for extracting edge components in the horizontal and vertical directions from the edge extraction image, for example, cross-correlation may be calculated with a cross-shaped mask as shown in FIG. As a result, an edge image in which the edges of the horizontal and vertical components and their intersections are emphasized is created. If the additional information pattern is a pattern in which vertical and horizontal edges exist, the created edge image has a grid-like edge passing through the center of the rectangle (pattern size 31) shown in FIG. . Edges obtained from this pattern and vertical and horizontal edges existing in the original image exist in the edge image.

S113では、S112で作成されたエッジ画像から自己相関関数を求める。この自己相関関数によって、付加情報のパターンから得られるエッジのみを抽出する。この時求める自己相関のオフセット範囲としては、通常、(2,2)〜(20,20)程度を計算すれば十分である。S112で作成されるエッジ画像には、ほぼ等間隔に並んだ縦横方向の線分が抽出されているため、自己相関関数が最大となるオフセットを検出すれば、それが拡大縮小後のブロックサイズに一致していると考えてよい。従ってS114において、このような自己相関関数が最大となるオフセットをブロックサイズとして推定すればよい。なお、オフセットとして、(0,0),(0,1),(1,0),(1,1)を計算から除外しているのは、画像の自己相関の性質として、これらのオフセットでの自己相関値が高くなるという性質があるためと、通常、ブロックサイズとしてこのような小さな値はありえないと考えてよいためである。   In S113, an autocorrelation function is obtained from the edge image created in S112. With this autocorrelation function, only the edges obtained from the additional information pattern are extracted. As the autocorrelation offset range obtained at this time, it is usually sufficient to calculate about (2, 2) to (20, 20). In the edge image created in S112, vertical and horizontal line segments arranged at almost equal intervals are extracted. Therefore, if an offset at which the autocorrelation function is maximized is detected, it becomes the block size after scaling. You can think of it as a match. Therefore, in S114, an offset that maximizes the autocorrelation function may be estimated as the block size. The offsets (0, 0), (0, 1), (1, 0), (1, 1) are excluded from the calculation because of the autocorrelation properties of the images. This is because there is a property that the autocorrelation value is high, and it is usually considered that such a small value is not possible as the block size.

以上により、付加情報が埋め込まれたときのパターンサイズや、出力時の解像度および入力時の解像度を知らなくても、印刷画像データから付加情報をデコードするためのブロックサイズ情報を得ることができる。ただし、ここで得られるブロックサイズの値は整数値であることに注意しなければならない。プリンタとスキャナの組み合わせでは、使用される解像度が通常は400dpi,600dpi,1200dpiなどの組み合わせであるため、解像度変換された埋め込み画像の対応ブロックサイズも整数であることが多いが、デジタルカメラで入力された場合の入力解像度は、デジタルカメラと被写体である印刷画像との距離に依存するため、解像度変換された印刷画像データの対応ブロックサイズは整数とは限らない。そのため、ブロックサイズ推定部54で算出したブロックサイズは近似値であるといえる。しかし、ここで求めたブロックサイズは、次に説明するブロック位置検出部55で補正されるので近似値で問題はない。   As described above, the block size information for decoding the additional information can be obtained from the print image data without knowing the pattern size when the additional information is embedded, the output resolution, and the input resolution. However, it should be noted that the block size value obtained here is an integer value. In the combination of a printer and a scanner, the resolution used is usually a combination of 400 dpi, 600 dpi, 1200 dpi, etc., and the corresponding block size of the embedded image whose resolution is converted is often an integer, but it is input by a digital camera. In this case, since the input resolution depends on the distance between the digital camera and the print image that is the subject, the corresponding block size of the print image data subjected to resolution conversion is not always an integer. Therefore, it can be said that the block size calculated by the block size estimation unit 54 is an approximate value. However, since the block size obtained here is corrected by the block position detection unit 55 described below, there is no problem with the approximate value.

次に、ブロック位置検出部55の詳細について説明する。図10は、ブロック位置検出部55の動作の一例を示すフローチャートである。まず、S121において、ブロックサイズ推定部54で推定したブロックサイズを元にマスク画像を作成する。図11は、ブロック位置検出部55で用いるマスク画像の一例の説明図である。S121で作成するマスク画像としては、例えばブロックサイズが偶数の場合には図11(A)、またブロックサイズが奇数の場合には図11(B)に示すようなマスク画像を作成することができる。これらのマスク画像の特徴は、マスクを垂直・水平軸で4つの領域に分割したときに、右上と左下の領域はすべて+1、右下と左上の領域はすべて−1としたものである。これは2つの埋め込みパターンの一方から正か負かの極性情報だけを抽出したものに等しい。ただし、ブロックサイズが奇数であった時は垂直・水平軸に重なる部分は0としている。このマスク画像は、図2に示した付加画像のパターンに対応するものである。   Next, details of the block position detection unit 55 will be described. FIG. 10 is a flowchart illustrating an example of the operation of the block position detection unit 55. First, in S121, a mask image is created based on the block size estimated by the block size estimation unit 54. FIG. 11 is an explanatory diagram of an example of a mask image used in the block position detection unit 55. As the mask image created in S121, for example, a mask image as shown in FIG. 11A can be created when the block size is an even number, and as shown in FIG. 11B when the block size is an odd number. . The characteristics of these mask images are such that when the mask is divided into four regions on the vertical and horizontal axes, all the upper right and lower left regions are +1, and all the lower right and upper left regions are -1. This is equivalent to extracting only positive or negative polarity information from one of the two embedding patterns. However, when the block size is an odd number, the portion overlapping the vertical and horizontal axes is set to zero. This mask image corresponds to the pattern of the additional image shown in FIG.

次に、S122において、S121で作成したマスク画像と印刷画像データとの間で相互相関を計算して相関画像を作成する。ここで、図2に示した付加画像のパターンと図11に示したマスク画像のパターンを比較して分かるように、この相関値は、付加情報“1”が埋め込まれているブロックとマスクがちょうど重なったところで極大となりやすく、逆に、付加情報“0”が埋め込まれているブロックとマスクがちょうど重なったところで極小になりやすい。この傾向は、埋め込み前のブロックの位置に対応する元画像が平坦であった時に特にそうなりやすい。逆に埋め込み前のブロックの位置に対応する元画像が局所的なエッジを持っていた場合などは必ずしも埋め込みブロックとマスクがちょうど重なったところで極大または極小になるとは限らない。しかし、この影響は後述する投影法により軽減されるので、極端にエッジの多い画像でなければこのことは問題にならない。   Next, in S122, a correlation image is created by calculating a cross-correlation between the mask image created in S121 and the print image data. Here, as can be seen by comparing the pattern of the additional image shown in FIG. 2 and the pattern of the mask image shown in FIG. 11, this correlation value is the same between the block in which the additional information “1” is embedded and the mask. When it overlaps, it tends to become maximum, and conversely, when the block in which the additional information “0” is embedded and the mask just overlap, it tends to become minimum. This tendency is particularly likely when the original image corresponding to the position of the block before embedding is flat. Conversely, when the original image corresponding to the position of the block before embedding has a local edge or the like, it does not necessarily become the maximum or the minimum when the embedded block and the mask just overlap. However, since this influence is reduced by the projection method described later, this is not a problem unless the image has extremely many edges.

S123では、S122で作成した相関画像から極大または極小となる点のみを取り出す。まず、極大点の抽出法について説明する。極大点の抽出は、相関値画像をラスタスキャン順に走査しながら、3×3のウィンドウ内で画素値を比較して最大値を示す画素位置以外はすべて極大値の候補でないことを示すマークを付加する。さらに、最大値を示した画素位置がすでにマークされていた場合、その画素値も極大値にはなり得ないのでマークを付加する。この作業を相関画像の左上から右下まで行う。この結果、マークされていない画素位置が極大値を示す位置となるので、マークの付加された位置の画素値をすべて0にすることで極大値の存在する位置とその極大値のみが抽出される。また、極小値の抽出はまず初めに相関値画像を反転してから、極大値を抽出したのと同様の操作を行えば極小値の存在する位置とその極小値のみが抽出される。そして、極大値画像と極小値画像を加算すれば極値画像が得られる。図12は、ブロック位置検出部55で作成される極値画像の一例および極値画像からブロック位置を求める処理の一例の説明図である。上述のようにして求められた極大値及び極小値を図12中の白丸で示している。極大値及び極小値は、各パターンのほぼ中心位置において検出される。   In S123, only points that are maximum or minimum are extracted from the correlation image created in S122. First, the maximum point extraction method will be described. In the extraction of local maximum points, a correlation value image is scanned in the order of raster scanning, and pixel values are compared within a 3 × 3 window, and all marks other than the pixel position showing the maximum value are marked as not being candidates for local maximum values. To do. Further, when the pixel position indicating the maximum value has already been marked, the pixel value cannot be the maximum value, and thus a mark is added. This operation is performed from the upper left to the lower right of the correlation image. As a result, the unmarked pixel position becomes the position showing the maximum value, and by setting all the pixel values at the position where the mark is added to 0, only the position where the maximum value exists and the maximum value are extracted. . In addition, the minimum value is extracted by first inverting the correlation value image and then performing the same operation as extracting the maximum value, and only the position where the minimum value exists and the minimum value are extracted. Then, an extreme value image can be obtained by adding the maximum value image and the minimum value image. FIG. 12 is an explanatory diagram of an example of an extreme value image created by the block position detection unit 55 and an example of a process for obtaining a block position from the extreme value image. The maximum value and the minimum value obtained as described above are indicated by white circles in FIG. The maximum value and the minimum value are detected at substantially the center position of each pattern.

S124では、S123で求めた極値画像を垂直・水平方向に投影する。各ブロックが縦横に配置されていることによって、図12に示すように、垂直および水平方向のそれぞれについてほぼ一定間隔のピークを持つ投影波形が得られる。   In S124, the extreme value image obtained in S123 is projected in the vertical and horizontal directions. By arranging each block vertically and horizontally, as shown in FIG. 12, a projection waveform having peaks at substantially constant intervals in the vertical and horizontal directions can be obtained.

次にS125では、S124で求めた垂直および水平方向それぞれの投影波形のピーク位置より、正確なブロック位置を推定する。具体的には、一番端にあるピーク位置を最初に求め、そこからブロックサイズ推定部54で求めたブロックサイズ±δの範囲で次のピーク位置を順次探してゆくことで、垂直または水平方向のピーク位置を検出し、垂直・水平方向のピーク位置の組み合わせを各々のブロック位置とすればよい。図12では、ピーク位置を矢線によって示しており、これらの組み合わせがそれぞれブロック位置となる。ここで、δの値としてはブロックサイズが8以下であれば1程度、ブロックサイズが8よりも大きければ2程度が望ましい。   Next, in S125, an accurate block position is estimated from the peak positions of the projection waveforms in the vertical and horizontal directions obtained in S124. Specifically, the peak position at the extreme end is first obtained, and then the next peak position is sequentially searched in the range of the block size ± δ obtained by the block size estimation unit 54, thereby obtaining a vertical or horizontal direction. The peak position may be detected and a combination of vertical and horizontal peak positions may be used as each block position. In FIG. 12, the peak position is indicated by an arrow line, and these combinations become block positions. Here, the value of δ is preferably about 1 if the block size is 8 or less, and about 2 if the block size is larger than 8.

なお、S121の説明でも触れたが、元画像に局所的に強いエッジがある場合、それを含むブロックから求めた極大点または極小点の位置は、平坦な部分から求めた極値の位置間隔からずれてしまう可能性がある。しかし、このばらつきは上述の投影法とピーク位置をほぼ一定間隔で探索することで大幅に軽減される。   As described in the description of S121, when there is a locally strong edge in the original image, the position of the maximum point or the minimum point obtained from the block including the edge is determined from the position interval of the extreme value obtained from the flat portion. There is a possibility of shifting. However, this variation is greatly reduced by searching for the above-mentioned projection method and peak positions at substantially constant intervals.

次に、付加情報識別部56における動作の詳細について説明する。付加情報識別部56は付加情報復号部57により制御され、ブロック位置検出部55により求められたブロック位置情報とブロックサイズ推定部54により求められたブロックサイズ情報を元に、ブロックに埋め込まれた付加情報を識別するものである。   Next, details of the operation in the additional information identifying unit 56 will be described. The additional information identifying unit 56 is controlled by the additional information decoding unit 57, and is added to the block based on the block position information obtained by the block position detecting unit 55 and the block size information obtained by the block size estimating unit 54. It identifies information.

図13は、付加情報識別部56の動作の一例を示すフローチャートである。まず、S131ではブロックサイズ情報を元に、ブロックを縦横方向に4つの領域に分割した計算ウィンドウを設定する。図14は、付加情報識別部56で用いる計算ウィンドウの一例の説明図である。この計算ウィンドウのサイズは、ブロックサイズ推定部54で推定されたブロックサイズに等しく、図14に示すように垂直・水平軸で4つの領域に分割されている。ただし、図14(B)に示したように、ブロックサイズが奇数の時は、垂直・水平軸に重なる部分は領域に含めない。以下、右上の領域をR1、左上の領域をR2、左下の領域をR3、右下の領域をR4と呼ぶことにする。   FIG. 13 is a flowchart illustrating an example of the operation of the additional information identification unit 56. First, in S131, a calculation window is set in which a block is divided into four areas in the vertical and horizontal directions based on the block size information. FIG. 14 is an explanatory diagram of an example of a calculation window used in the additional information identification unit 56. The size of this calculation window is equal to the block size estimated by the block size estimation unit 54, and is divided into four areas on the vertical and horizontal axes as shown in FIG. However, as shown in FIG. 14B, when the block size is an odd number, the portion overlapping the vertical and horizontal axes is not included in the region. Hereinafter, the upper right area is called R1, the upper left area is called R2, the lower left area is called R3, and the lower right area is called R4.

次に、S132ではブロック位置検出部55により検出されたブロックに対して、S131で作成した計算ウィンドウを適用し、各領域に含まれる画素値の総和を求める。以下、領域名と混同しない限り領域R1内の画像値の総和もR1と呼ぶことにする。これはR2,R3,R4も同様である。   Next, in S132, the calculation window created in S131 is applied to the block detected by the block position detection unit 55, and the sum of the pixel values included in each region is obtained. Hereinafter, the sum of the image values in the region R1 is also referred to as R1 unless it is confused with the region name. The same applies to R2, R3, and R4.

S133では総和値R1,R2,R3,R4の大小関係から、そのブロックに埋め込まれている付加情報が“1”であるか“0”であるか、あるいは判別不能であるかを判定する。この判別は以下のようにして実行される。   In S133, it is determined whether the additional information embedded in the block is “1”, “0”, or indistinguishable from the magnitude relationship of the total values R1, R2, R3, R4. This determination is performed as follows.

次に、本ステップ133の付加情報識別処理を図15を参照して詳細に説明する。ステップ202で、各ブロックを識別する変数bを0に初期化し、ステップ204で、変数bを1インクリメントし、ステップ206で、変数bで識別されるブロックb内の領域を識別する変数rを0に初期化し、ステップ208で、変数rを1インクリメントする。   Next, the additional information identification processing in step 133 will be described in detail with reference to FIG. In step 202, the variable b for identifying each block is initialized to 0. In step 204, the variable b is incremented by 1. In step 206, the variable r for identifying the area in the block b identified by the variable b is set to 0. In step 208, the variable r is incremented by one.

ステップ210で、領域rに隣接する3つのブロックの画素値の総和を取得する。即ち、図16に示すように、例えば、領域r1に隣接するブロックとしては、ブロックB1、B2、B8が存在する。ブロックB1の画素値の総和はQ1、ブロックB2の画素値の総和はQ2、ブロックB8の総和はQ8とする。本ステップ210では、領域rに隣接する3つのブロックの画素値の総和Qr1+Qr2+Qr3(上記例ではQ1、Q2、Q8)を取得する。ステップ212で、取得した3つのブロックの総和と、ブロックbの領域r画素値の総和Rrとを用いて、以下の式を算出することにより、領域rの減算値Urを推定する。   In step 210, the sum of pixel values of three blocks adjacent to the region r is obtained. That is, as shown in FIG. 16, for example, blocks B1, B2, and B8 exist as blocks adjacent to the region r1. The sum of the pixel values of the block B1 is Q1, the sum of the pixel values of the block B2 is Q2, and the sum of the block B8 is Q8. In step 210, the sum Qr1 + Qr2 + Qr3 (Q1, Q2, Q8 in the above example) of the pixel values of three blocks adjacent to the region r is acquired. In step 212, the subtraction value Ur of the region r is estimated by calculating the following equation using the total sum of the three obtained blocks and the sum Rr of the region r pixel values of the block b.

Ur=Rr―A×(Qr1+Qr2+Qr3)   Ur = Rr−A × (Qr1 + Qr2 + Qr3)

ここで、隣接するブロックの画素値の総和と、領域rの画素値の総和とから領域rの減算値Urが推定されるのは、以下の理由からである。即ち、本実施の形態では、減算値のブロック内の総和は所定値、本実施の形態では0となるように定められており、3つのブロック各々の画素値の総和各々は、各ブロックの画像情報に基づく画素値(減算値を除いた値)となる。   Here, the subtraction value Ur of the region r is estimated from the sum of the pixel values of adjacent blocks and the sum of the pixel values of the region r for the following reason. That is, in this embodiment, the sum of subtraction values in a block is determined to be a predetermined value, and in this embodiment, it is determined to be 0, and the sum of the pixel values of each of the three blocks is the image of each block. This is a pixel value based on information (a value excluding a subtraction value).

この場合、隣接する1つのブロックだけでもよいが、誤差を考慮して、本実施の形態では3つのブロックを用いている。また、このように複数のブロック、例えば3つのブロックを用いた場合には、3つのブロックの総画素数は、各ブロックが4つの領域に分割されているので、1つの領域rの総画素数の12倍である。そこで、上記式のように3つのブロックの画素値の総和Qr1+Qr2+Qr3に所定値Aを乗算している。例えば、上記例では1/12(=0.083)である。なお、多数の実験から、所定値Aを、必ずしも領域rの総画素数と、用いる隣接する複数のブロックの総画素数との関係から一義的に定めなくても良好な結果が得られた。上記例では0.005であっても良好な結果が得られた。   In this case, only one adjacent block may be used, but in consideration of errors, three blocks are used in the present embodiment. When a plurality of blocks, for example, three blocks are used in this way, the total number of pixels in the three blocks is the total number of pixels in one region r because each block is divided into four regions. 12 times. Therefore, the total value Qr1 + Qr2 + Qr3 of the pixel values of the three blocks is multiplied by a predetermined value A as in the above equation. For example, in the above example, 1/12 (= 0.083). From many experiments, good results were obtained even if the predetermined value A was not necessarily determined uniquely from the relationship between the total number of pixels in the region r and the total number of pixels in adjacent blocks to be used. In the above example, good results were obtained even at 0.005.

以上のように、領域rの画素値の総和Rrから、隣接するブロックの画素値(減算値を除いた値)の総和に所定値を乗算した値を減ずれば、領域rの減算値を推定することができる。   As described above, the subtracted value of the region r is estimated by subtracting the value obtained by multiplying the sum of the pixel values of the adjacent blocks (value excluding the subtracted value) by the predetermined value from the sum Rr of the pixel values of the region r can do.

ステップ214で、変数rが4であるか否かを判断し、変数rが4でないと判断された場合には、ブロックb内の全ての領域について減算値がもとめられていないので、ステップ208に戻って、以上の処理(ステップ208〜ステップ214)を実行する。   In step 214, it is determined whether or not the variable r is 4. If it is determined that the variable r is not 4, subtraction values have not been obtained for all the areas in the block b. Returning, the above processing (step 208 to step 214) is executed.

一方、変数rが4に等しい場合には、ブロックbの全ての領域の減算値が求められたので、ステップ216で、右上の領域r1の減算値の総和Ulと左下の領域r3の減算値の総和U3とを加算したものをI1とし、ステップ208で、左上の領域r2の減算値の総和U2と右下の領域r4の減算値の総和U4とを加算したものをI2とし、ステップ220で、I1−I2の絶対値をHとして、ステップ222で、Hが所定値T以上であるか否かを判断する。   On the other hand, when the variable r is equal to 4, since the subtraction values of all the areas of the block b are obtained, in step 216, the sum Ul of the subtraction values of the upper right area r1 and the subtraction values of the lower left area r3 are calculated. The sum of the sum U3 is I1, and in step 208, the sum of the subtraction values U2 in the upper left region r2 and the sum U4 of the subtraction values in the lower right region r4 is I2, and in step 220, Assuming that the absolute value of I1-I2 is H, it is determined in step 222 whether H is greater than or equal to a predetermined value T.

ここで、Tは、2つの領域の減算値の総和の差の最小値(理論上の値)である。上記HがT以上であれば、誤差がないと判断することができ、割り振られたコードを識別することができる。一方、Hが差の最小値T未満と判断された場合には、判定不能であると判断することができる。   Here, T is the minimum value (theoretical value) of the difference between the sums of the subtraction values in the two areas. If H is equal to or greater than T, it can be determined that there is no error, and the assigned code can be identified. On the other hand, if it is determined that H is less than the minimum difference value T, it can be determined that the determination is impossible.

そこで、ステップ222で、HがT以上であると判断された場合には、コードを識別することができるので、ステップ224で、上記I1がI2よりも大きいか否かを判断する。I1がI2より大きい場合には、図2(A)に示すように、ブロックBには付加情報として1が割り振られたと判断することができるので、ステップ226で、付加情報は1として記憶し、ステップ224でI1がI2より大きいと判断されなかった場合には、図2(B)に示すように、付加情報が0が割り振られたと判断することができるので、ステップ228で、付加情報は0として記憶する。   Therefore, if it is determined in step 222 that H is equal to or greater than T, the code can be identified. In step 224, it is determined whether or not I1 is greater than I2. If I1 is greater than I2, as shown in FIG. 2A, it can be determined that 1 is allocated as additional information to block B. Therefore, in step 226, the additional information is stored as 1, If it is not determined in step 224 that I1 is greater than I2, as shown in FIG. 2B, it can be determined that 0 is assigned to the additional information. Therefore, in step 228, the additional information is 0. Remember as.

なお、HがT未満と判断された場合には、ステップ230で、判定不能であることを記憶する。   If it is determined that H is less than T, it is stored in step 230 that determination is impossible.

次のステップ232で、変数bがブロックの総数Bに等しいか否かを判断手段、変数bが総数Bに等しくないと判断された場合には、未だ付加情報を識別されていないブロックがあるので、ステップ204に戻って、以上の処理(ステップ204〜ステップ232)を実行する。一方、変数bがBに等しい場合には、全てのブロックについて付加情報の識別を行ったので、本処理を終了する。   In the next step 232, it is determined whether or not the variable b is equal to the total number B of blocks. If it is determined that the variable b is not equal to the total number B, there is a block whose additional information has not yet been identified. Returning to step 204, the above processing (step 204 to step 232) is executed. On the other hand, when the variable b is equal to B, since the additional information is identified for all the blocks, this process is terminated.

次に、付加情報復号部57における動作の詳細について説明する。図17は、付加情報復号部57の動作の一例を示すフローチャートである。まず、S141でマクロブロックの探索を行う。具体的には、ブロック位置検出部55で検出したブロック位置を左上方向から付加情報識別部56を制御して識別し、頭出しヘッダ(例えば“11111”)に一致する場所を検出する。付加情報復号部57は、マクロブロックのサイズはY行X列(例えば16行8列)であることを知っているので、さらに、その地点から、右方向に8ブロック離れたところに頭出しヘッダ(例えば“11111”)が存在するか、あるいは、16ブロック下に頭出しヘッダ(例えば“11111”)が存在すれば、最初のマクロブロックの位置を確定する。最初のマクロブロック位置が確定できれば、マクロブロックは規則正しく並んでいることを利用して他のマクロブロック位置も確定できる。もちろん、頭出しヘッダが誤りを含んでいる場合でも、ほとんどの頭出しヘッダが誤っていない限りマクロブロックの位置を特定することができる。   Next, details of the operation in the additional information decoding unit 57 will be described. FIG. 17 is a flowchart showing an example of the operation of the additional information decoding unit 57. First, a macroblock search is performed in S141. Specifically, the block position detected by the block position detection unit 55 is identified by controlling the additional information identification unit 56 from the upper left direction, and a location matching the cue header (for example, “11111”) is detected. Since the additional information decoding unit 57 knows that the size of the macroblock is Y rows and X columns (for example, 16 rows and 8 columns), further, the cue header is located 8 blocks in the right direction from that point. If (for example, “11111”) exists, or if a cue header (for example, “11111”) exists 16 blocks below, the position of the first macroblock is determined. If the first macroblock position can be determined, other macroblock positions can be determined using the fact that the macroblocks are regularly arranged. Of course, even if the cue header includes an error, the position of the macroblock can be specified as long as most cue headers are not in error.

次に、S142で符号化方式を検出する。これはすべてのマクロブロックの符号化方式情報を読み出し、多数決復号をとることにより検出することができる。   Next, an encoding method is detected in S142. This can be detected by reading the coding method information of all the macroblocks and taking majority decision decoding.

S143では、既知の論理フォーマットに従い、すべてのマクロブロックの情報を復号する。そして、S144で、復号されたマクロブロックの情報のうち、同一のシーケンス番号を持つものに関しては、これらの間で多数決復号を行う。また、S145では、“1”以外のシーケンス番号がある場合には、シーケンス番号順に付加情報を接続して組み立てる。   In S143, the information of all macroblocks is decoded according to a known logical format. In S144, the majority block decoding is performed between the decoded macroblock information having the same sequence number. In S145, when there is a sequence number other than “1”, additional information is connected and assembled in the order of the sequence number.

以上説明したように本実施の形態では、ブロックが担当するデータを識別する際に、当該識別ブロックの画像データのみでは誤識別される場合でも、データを識別する対象となるブロック及び該識別ブロックに隣接するブロックの画像データを取得するので、該隣接するブロックの画像データを用いて、識別する対象のブロックの画像データ内の増減値を類推することができ、ブロックが担当するデータの誤識別を抑制することができる。   As described above, in the present embodiment, when identifying data handled by a block, even if the image data of the identification block alone is erroneously identified, the block to be identified and the identification block are identified. Since the image data of the adjacent block is acquired, the increase / decrease value in the image data of the block to be identified can be inferred using the image data of the adjacent block, and erroneous identification of data handled by the block can be performed. Can be suppressed.

次に、本実施の形態の変形例を説明する。本変形例では、図15に示す付加情報識別処理に代えて、図18に示す付加情報識別処理を実行する。即ち、ステップ252で、ブロックを識別する変数bを0に初期化し、ステップ254で、変数bを1インクリメントする。   Next, a modification of the present embodiment will be described. In this modification, the additional information identification process shown in FIG. 18 is executed instead of the additional information identification process shown in FIG. That is, in step 252, a variable b for identifying a block is initialized to 0, and in step 254, the variable b is incremented by 1.

ステップ256で、図19に示すように、変数bで識別されるブロックbの隣りの左上のブロックbLUの画素値の総和Cb1(図19ではC1)と右下のブロックbLDの画素値の総和Cb5(図19ではC5)とを加算したものをLとし、ステップ258で、右上のブロックbRUの画素値の総和Cb3(図19ではC3)と左下のブロックbLDの画素値の総和Cb7(図19ではC7)とを加算したものをMとする。   In step 256, as shown in FIG. 19, the sum Cb1 (C1 in FIG. 19) of the pixel values of the upper left block bLU adjacent to the block b identified by the variable b and the sum Cb5 of the pixel values of the lower right block bLD. (C5 in FIG. 19) is added to L, and in step 258, the sum Cb3 (C3 in FIG. 19) of the pixel values in the upper right block bRU and the sum Cb7 (in FIG. 19) of the pixel values in the lower left block bLD. The sum of C7) is M.

ステップ260で、LがMより大きいか否かを判断する。LがMより大きいと判断された場合には、図19に示すように、画像の高濃度部と低濃度部との境界であるエッジが当該ブロックを斜めに位置し、当該ブロックbの右上、左上、右下の各領域が高濃度部となっていると判断することができるので、ブロックbに仮に1が割り振られているとしても0に識別されやすい。そこで、ステップ262及びステップ264で、0に識別されやすい処理を行う。即ち、まず、ステップ262で、右上の領域の画素値の総和R1に所定値dを加算したものを画素値の総和R1とし、ステップ264で左下の領域の画素値の総和R3に所定値dを加算したものを画素値の総和R3とする。なお、所定値dは予め定められている。   In step 260, it is determined whether L is greater than M. If it is determined that L is greater than M, as shown in FIG. 19, the edge that is the boundary between the high density portion and the low density portion of the image positions the block diagonally, Since it can be determined that the upper left and lower right regions are high density portions, even if 1 is assigned to the block b, it is easily identified as 0. Therefore, in step 262 and step 264, processing that is easily identified as 0 is performed. That is, first, in step 262, the sum R1 of the pixel values in the upper right region is added to the predetermined value d to obtain a sum R1 of pixel values. In step 264, the sum R3 of the pixel values in the lower left region is set to the predetermined value d. The sum is defined as a sum R3 of pixel values. The predetermined value d is determined in advance.

一方、ステップ260で、LがMより大きいと判断されなかった場合、画像のエッジが当該ブロックを斜めに位置し、当該ブロックbの左上、左下、右下の各領域が高濃度部となっていると判断することができ、0が割り振られても1に識別されやすいので、0に識別されやすいように、ステップ266で、左上の領域の画素値の総和R2に所定値dを加算したものをR2とし、ステップ268で、右下の領域の画素値の総和R4に所定値dを加算したものをR4とセットする。   On the other hand, if it is not determined in step 260 that L is greater than M, the edge of the image positions the block diagonally, and the upper left, lower left, and lower right regions of the block b are high density portions. Since it is easy to identify 1 even if 0 is allocated, in step 266, the predetermined value d is added to the sum R2 of the pixel values in the upper left area so that it can be easily identified as 0. Is set to R2, and in step 268, a sum of pixel values R4 in the lower right region and a predetermined value d is added to R4.

ステップ270で、R1とR3を加算したものをPとし、ステップ274で、R2とR4とを加算したものをQとし、ステップ274で、PがQより大きいか否かを判断する。PがQより大きいと判断された場合には、付加情報は1として記憶し、ステップ274でPがQより大きいと判断されなかった場合には、付加情報は0として記憶する。ステップ280で、変数bがブロックの総数Bに等しいか否かを判断し、変数bが総数Bに等しくないと判断された場合には、付加情報が識別されていないブロックが存在するので、ステップ254に戻って、以上の処理(ステップ254〜ステップ280)を実行する。一方、変数bが総数Bに等しい場合には、全てのブロックについて付加情報の識別を実行したので、本処理を終了する。   In step 270, the sum of R1 and R3 is set as P. In step 274, the sum of R2 and R4 is set as Q. In step 274, it is determined whether P is larger than Q. If it is determined that P is greater than Q, the additional information is stored as 1, and if it is not determined in step 274 that P is greater than Q, the additional information is stored as 0. In step 280, it is determined whether or not the variable b is equal to the total number B of blocks, and if it is determined that the variable b is not equal to the total number B, there is a block for which additional information has not been identified. Returning to 254, the above processing (steps 254 to 280) is executed. On the other hand, if the variable b is equal to the total number B, since the identification of the additional information has been executed for all the blocks, this process is terminated.

なお、本変形例では、変数bで識別されるブロックbの隣りの左上のブロックbLUの画素値の総和Cb1と右下のブロックbLDの画素値の総和Cb5とを加算したものをLとし、右上のブロックbRUの画素値の総和Cb3と左下のブロックbLDの画素値の総和Cb7とを加算したものをMとして、LがMより大きいか否かを判断することにより、割り振られた付加情報が0に誤識別され易いか否かを判断している。しかし、本発明はこれに限定されるものではなく、次のように判断するようにしてもよい。  In this modification, L is obtained by adding the sum Cb1 of the pixel values of the upper left block bLU adjacent to the block b identified by the variable b and the sum Cb5 of the pixel values of the lower right block bLD. The sum of the pixel values Cb3 of the block bRU and the sum Cb7 of the pixel values of the lower left block bLD is M, and it is determined whether L is greater than M. It is determined whether or not it is easily misidentified. However, the present invention is not limited to this and may be determined as follows.

即ち、例えば、変数bで識別されるブロックbの隣りの左上のブロックbLUの画素値の総和Cb1と右下のブロックbLDの画素値の総和Cb5とを加算したものをLとし、ブロックbに隣接する全てのブロックの画素値の総和(Cb1〜Cb8の総和)をMとして、LがMより大きいか否かを判断することにより、割り振られた付加情報が0に誤識別され易いか否かを判断するようにしてもよい。  That is, for example, L is obtained by adding the sum Cb1 of the pixel values of the upper left block bLU adjacent to the block b identified by the variable b and the sum Cb5 of the pixel values of the lower right block bLD. Whether or not the assigned additional information is easily misidentified as 0 by determining whether L is greater than M, where M is the sum of the pixel values of all the blocks to be performed (sum of Cb1 to Cb8). You may make it judge.

本発明の第1の実施の形態における付加情報を埋め込む側の一構成例を示すブロック図である。It is a block diagram which shows one structural example on the side which embeds the additional information in the 1st Embodiment of this invention. 埋め込むパターンの一例の説明図である。It is explanatory drawing of an example of the pattern to embed. 本発明で使用する符号フォーマットの一例における物理フォーマットの一例の説明図である。It is explanatory drawing of an example of the physical format in an example of the code format used by this invention. 本発明で使用する符号フォーマットの一例における論理フォーマットの一例の説明図である。It is explanatory drawing of an example of the logical format in an example of the code format used by this invention. 本発明の第1の実施の形態における付加情報を埋め込む側の付加情報符号化部18の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the additional information encoding part 18 by the side of embedding the additional information in the 1st Embodiment of this invention. 本発明の第1の実施の形態において付加情報を抽出する側の一構成例を示すブロック図である。It is a block diagram which shows one structural example on the side which extracts additional information in the 1st Embodiment of this invention. 入力画像傾き補正部における画像の傾き補正処理の一例の説明図である。It is explanatory drawing of an example of the inclination correction process of the image in an input image inclination correction | amendment part. ブロックサイズ推定部54の動作の一例を示すフローチャートである。5 is a flowchart illustrating an example of the operation of a block size estimation unit 54. 水平・垂直方向のエッジを抽出するためのマスク画像の一例の説明図である。It is explanatory drawing of an example of the mask image for extracting the edge of a horizontal / vertical direction. ブロック位置検出部55の動作の一例を示すフローチャートである。5 is a flowchart illustrating an example of the operation of a block position detection unit 55. ブロック位置検出部55で用いるマスク画像の一例の説明図である。It is explanatory drawing of an example of the mask image used with the block position detection part 55. FIG. ブロック位置検出部55で作成される極値画像の一例および極値画像からブロック位置を求める処理の一例の説明図である。It is explanatory drawing of an example of the process which calculates | requires a block position from an example of the extreme value image produced in the block position detection part 55, and an extreme value image. 付加情報識別部56の動作の一例を示すフローチャートである。5 is a flowchart illustrating an example of an operation of an additional information identification unit 56. 付加情報識別部56で用いる計算ウィンドウの一例の説明図である。It is explanatory drawing of an example of the calculation window used by the additional information identification part 56. FIG. 図13のステップ133の付加情報の識別の詳細を示したフローチャートである。It is the flowchart which showed the detail of identification of the additional information of step 133 of FIG. 付加情報の識別の原理を説明する説明図である。It is explanatory drawing explaining the principle of identification of additional information. 付加情報復号部57の動作の一例を示すフローチャートである。12 is a flowchart illustrating an example of an operation of an additional information decoding unit 57. 変形例における図13のステップ133の付加情報の識別の詳細を示したフローチャートである。It is the flowchart which showed the detail of identification of the additional information of step 133 of FIG. 13 in a modification. 変形例における付加情報の識別の原理を説明する説明図である。It is explanatory drawing explaining the principle of identification of the additional information in a modification.

符号の説明Explanation of symbols

11 パターンサイズ入力部
12 埋め込み強度入力部
13 パターン減衰率入力部
14 パターン作成部
15 画像データ入力部
16 画像データ格納部
17 付加情報入力部
18 付加情報符号化部
19 埋め込み位置制御部
20 パターン選択部
21 パターン重畳部
22 画像出力部
31 パターンサイズ
32 マクロブロックサイズ
33 入力画像
41 基本論理フォーマット
42 頭出しヘッダ
43 符号化方式情報
44 シーケンス番号
45 有効符号数情報
46 符号化情報
51 画像データ入力部
52 画像データ格納部
53 入力画像傾き補正部
54 ブロックサイズ推定部
55 ブロック位置検出部
56 付加情報識別部
57 付加情報復号部
61 パターン減衰率計算部
71 埋め込み強度制御部
72 最小埋め込み強度入力部
73 最大埋め込み強度入力部
81 画像データ解析部
82 画像データ補正部
DESCRIPTION OF SYMBOLS 11 Pattern size input part 12 Embedding intensity input part 13 Pattern attenuation rate input part 14 Pattern creation part 15 Image data input part 16 Image data storage part 17 Additional information input part 18 Additional information encoding part 19 Embedding position control part 20 Pattern selection part 21 Pattern superposition unit 22 Image output unit 31 Pattern size 32 Macro block size 33 Input image 41 Basic logic format 42 Cue header 43 Encoding method information 44 Sequence number 45 Effective code number information 46 Encoding information 51 Image data input unit 52 Image Data storage unit 53 Input image inclination correction unit 54 Block size estimation unit 55 Block position detection unit 56 Additional information identification unit 57 Additional information decoding unit 61 Pattern attenuation rate calculation unit 71 Embedding strength control unit 72 Minimum embedding strength input unit 73 Maximum embedding strength Input unit 8 Image data analysis unit 82 the image data correction unit

Claims (5)

画像領域を各々複数の画素で構成される複数のブロックに分割し、各ブロックを更に複数の領域に分割し、各ブロックの各画素の画素値を、当該ブロックが担当するデータに応じて予め定められたパターンで当該ブロック内の各領域毎に割り振られた増減値で増減して構成された画像データに基づいて被画像形成媒体に形成された画像を読み取って、ブロックが担当するデータを識別するデータ識別装置であって、
前記データを識別する対象となる識別ブロック及び該識別ブロックに隣接する隣接ブロックの画像データを取得する取得手段と、
前記取得手段により取得された前記識別ブロック及び前記隣接ブロックの画像データに基づいて、前記識別ブロックが担当するデータを識別する識別手段と、
を備えたデータ識別装置。
The image area is divided into a plurality of blocks each composed of a plurality of pixels, each block is further divided into a plurality of areas, and the pixel value of each pixel of each block is determined in advance according to data handled by the block. The image formed on the image forming medium is read based on the image data configured by increasing / decreasing with the increase / decrease value assigned to each area in the block with the assigned pattern, and the data handled by the block is identified. A data identification device,
An acquisition block for acquiring an identification block that is a target for identifying the data and image data of an adjacent block adjacent to the identification block;
Identification means for identifying data handled by the identification block based on the image data of the identification block and the adjacent block acquired by the acquisition means;
A data identification device comprising:
前記ブロック内の各領域に割り振られた増減値は、当該ブロック内で所定値になるように定められ、
前記識別手段は、
少なくとも1つの前記隣接ブロックの画像データに基づく画素値の総和を計算し、
前記計算された前記隣接ブロックの画素値の総和を用いて、前記識別ブロックの各領域の増減値の総和を推定し、
前記推定された前記識別ブロックの各領域の増減値の総和に基づいて、前記データを識別する、
ことを特徴とする請求項1記載のデータ識別装置。
The increase / decrease value assigned to each area in the block is determined to be a predetermined value in the block,
The identification means includes
Calculating a sum of pixel values based on image data of at least one of the adjacent blocks;
Using the calculated sum of the pixel values of the adjacent blocks, estimate the sum of the increase / decrease values of each area of the identification block
Identifying the data based on a sum of increase / decrease values of each area of the estimated identification block;
The data identification device according to claim 1.
前記識別手段は、複数の隣接ブロックの画像データを用いる場合に、前記識別ブロックの各領域の増減値の総和を推定する際、複数の隣接ブロックの画像データに基づく画素値の全総和を、該用いた隣接ブロックの総領域数以上の値で除算して用いることを特徴とする請求項1又は請求項2記載のデータ識別装置。   In the case where the image data of a plurality of adjacent blocks is used, the identifying means, when estimating the sum of the increase / decrease values of each area of the identification block, calculates the total sum of the pixel values based on the image data of the plurality of adjacent blocks, 3. The data identification device according to claim 1, wherein the data identification device is divided by a value equal to or greater than the total number of adjacent blocks used. 前記識別手段は、前記識別ブロックの各領域の増減値の総和の差が、予め定められたパターンに基づいて定まる差の最小値より小さい場合に、識別不能とすることを特徴とする請求項1乃至請求項3の何れか1項に記載のデータ識別装置。   2. The identification unit, wherein the difference between the sum of the increase and decrease values of each area of the identification block is made unidentifiable when the difference is smaller than a minimum value determined based on a predetermined pattern. The data identification device according to any one of claims 3 to 4. 各ブロックは、各々異なる第1のデータ又は第2のデータを担当し、
前記パターンは、前記第1のデータに応じて定まる第1のパターンと前記第2のデータに応じて定まる第2のパターンとを有し、
前記取得手段は、複数の隣接ブロックの画像データを取得し、
前記識別手段は、
前記取得された複数の隣接ブロックの画像データに基づいて、第1のパターンに対応する第1のデータが、第2のパターンに対応する第2のデータと識別され易いか否かを判断し、
第1のデータが第2のデータと識別され易いと判断された場合、前記識別ブロックの画像データを、第1のデータが識別されやすいように補正し、
前記補正された画像データに基づいて、前記データを識別する、
ことを特徴とする請求項1記載のデータ識別装置。
Each block is responsible for different first data or second data,
The pattern has a first pattern determined according to the first data and a second pattern determined according to the second data,
The acquisition means acquires image data of a plurality of adjacent blocks,
The identification means includes
Determining whether or not the first data corresponding to the first pattern is easily identified from the second data corresponding to the second pattern based on the acquired image data of the plurality of adjacent blocks;
When it is determined that the first data is easily identified as the second data, the image data of the identification block is corrected so that the first data is easily identified,
Identifying the data based on the corrected image data;
The data identification device according to claim 1.
JP2005216885A 2005-07-27 2005-07-27 Data identifying device Pending JP2007036657A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005216885A JP2007036657A (en) 2005-07-27 2005-07-27 Data identifying device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005216885A JP2007036657A (en) 2005-07-27 2005-07-27 Data identifying device

Publications (1)

Publication Number Publication Date
JP2007036657A true JP2007036657A (en) 2007-02-08

Family

ID=37795366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005216885A Pending JP2007036657A (en) 2005-07-27 2005-07-27 Data identifying device

Country Status (1)

Country Link
JP (1) JP2007036657A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009044726A (en) * 2007-07-18 2009-02-26 Ricoh Co Ltd Information processor, information processing method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009044726A (en) * 2007-07-18 2009-02-26 Ricoh Co Ltd Information processor, information processing method, and program

Similar Documents

Publication Publication Date Title
JP4035717B2 (en) Image processing apparatus and image processing method
JP4277800B2 (en) Watermark information detection method
US20110052094A1 (en) Skew Correction for Scanned Japanese/English Document Images
US8275168B2 (en) Orientation free watermarking message decoding from document scans
JP4310288B2 (en) Image processing apparatus and method, program, and storage medium
US7190807B2 (en) Digital watermark extracting method, apparatus, program and storage medium
JP2006525593A (en) Method, apparatus, computer program and storage medium for position decoding This application is incorporated herein by reference in its entirety, Swedish Patent Application No. 0301248-1, filed April 29, 2003, and 2003 4 Claims the benefit of US Provisional Application No. 60 / 466,036, filed on May 29.
JP4645457B2 (en) Watermarked image generation device, watermarked image analysis device, watermarked image generation method, medium, and program
US7911653B2 (en) Device using low visibility encoded image to manage copy history
US8064636B2 (en) Image processing apparatus and method of controlling the same
KR20070052332A (en) Image processing method and image processing device
JP6413542B2 (en) Image processing apparatus and image processing program
US8600099B2 (en) Method of detecting embedded data from image data having a plurality of types of data embedded therein
JP4134992B2 (en) Watermark information detection apparatus, watermark information embedding apparatus, watermark information detection method, and watermark information embedding method
JP2007036657A (en) Data identifying device
JP2004147253A (en) Image processor and image processing method
JP2009070061A (en) Two-dimensional code reading device, two-dimensional code reading method, two-dimensional code reading program and recording medium
JP2007088693A (en) Image processing system, tampering verification apparatus, tampering verification method, and computer program
JP4179177B2 (en) Image processing apparatus and image processing method
JP4192906B2 (en) Watermark information detection apparatus and watermark information detection method
JP3932201B2 (en) Form type identification device and recording medium
JP4866698B2 (en) Embedded information reproduction apparatus, falsification detection apparatus, and embedded information reproduction method
JP2005057813A (en) Image scanner
JP2008301283A (en) Image processing apparatus and control method thereof
JP2009124511A (en) Image processing apparatus and image processing method