JP3996176B2 - Image data processing apparatus, image data processing method, and image data processing program - Google Patents

Image data processing apparatus, image data processing method, and image data processing program Download PDF

Info

Publication number
JP3996176B2
JP3996176B2 JP2006035653A JP2006035653A JP3996176B2 JP 3996176 B2 JP3996176 B2 JP 3996176B2 JP 2006035653 A JP2006035653 A JP 2006035653A JP 2006035653 A JP2006035653 A JP 2006035653A JP 3996176 B2 JP3996176 B2 JP 3996176B2
Authority
JP
Japan
Prior art keywords
block
code
image data
feature amount
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2006035653A
Other languages
Japanese (ja)
Other versions
JP2006191665A (en
Inventor
潤 師尾
嗣男 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006035653A priority Critical patent/JP3996176B2/en
Publication of JP2006191665A publication Critical patent/JP2006191665A/en
Application granted granted Critical
Publication of JP3996176B2 publication Critical patent/JP3996176B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、画像データに埋め込まれたコードを抽出するための画像データ処理装置、画像データ処理方法および画像データ処理プログラムに関するものであり、特に、画像データからのコードのデコードに要する処理を低減することができる画像データ処理装置、画像データ処理方法および画像データ処理プログラムに関するものである。   The present invention relates to an image data processing apparatus, an image data processing method, and an image data processing program for extracting a code embedded in image data, and in particular, reduces processing required for decoding a code from image data. The present invention relates to an image data processing apparatus, an image data processing method, and an image data processing program.

米国特許第5,636,292号明細書図面(特許文献1)や特開2000−299779号公報(特許文献2)に開示されているように、従来より、画像データ、音声データに別のデータ(コード等)を埋め込む技術は、偽造の防止、不正使用の防止や、付加サービスの提供に応用されている。   As disclosed in U.S. Pat. No. 5,636,292 (Patent Document 1) and Japanese Patent Application Laid-Open No. 2000-299779 (Patent Document 2), data other than image data and audio data has been conventionally used. The technique of embedding (code, etc.) is applied to prevent counterfeiting, prevent unauthorized use, and provide additional services.

このように、かかる技術の用途がセキュリティであるため、従来では、元データの変形や、部分使用の要求に耐え得るだけの方法がとられる。例えば、従来では、同一のデータを画像内に分散配置したり、FFT(高速フーリエ変換)を用いて周波数領域でデータを入れるなど、非常に複雑な方法がとられている(電子透かし技術)。   As described above, since the application of such a technique is security, conventionally, only a method capable of withstanding the transformation of the original data and the request for partial use is taken. For example, in the past, a very complicated method has been taken (such as digital watermark technology), in which the same data is dispersedly arranged in an image or data is input in the frequency domain using FFT (Fast Fourier Transform).

ここで、電子透かし技術は、様々な付加サービスに応用されている。例えば、米国特許第5,841,978号明細書図面(特許文献3)には、印刷物に埋め込まれた電子透かしを読み取り、特定のWebページを表示させる方法が開示されている。   Here, the digital watermark technology is applied to various additional services. For example, U.S. Pat. No. 5,841,978 (Patent Document 3) discloses a method of reading a digital watermark embedded in a printed material and displaying a specific Web page.

米国特許第5,636,292号明細書図面U.S. Pat. No. 5,636,292 特開2000−299779号公報JP 2000-299779 A 米国特許第5,841,978号明細書図面U.S. Pat. No. 5,841,978

ところで、前述したように、従来の電子透かし技術においては、周波数領域でデータを入れるためにFFTの計算を行う必要があるが、FFTに要する計算量が膨大である。   Incidentally, as described above, in the conventional digital watermark technique, it is necessary to perform FFT calculation in order to enter data in the frequency domain, but the calculation amount required for FFT is enormous.

このことから、メモリやプロセッサ等のコンピュータ資源の処理性能が制限される携帯情報機器(携帯電話機、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)等)では、画像データに対するデータの埋め込みや読み出しを実用的な処理時間で実施することが困難であるという問題があった。   For this reason, in portable information devices (such as mobile phones, PHS (Personal Handyphone System), PDA (Personal Digital Assistant), etc.) whose processing performance of computer resources such as memory and processor is limited, data is embedded and read out from image data. There is a problem that it is difficult to carry out a practical processing time.

本発明は、上記に鑑みてなされたもので、画像データからのコードのデコードに要する処理を低減することができる画像データ処理装置、画像データ処理方法および画像データ処理プログラムを提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide an image data processing device, an image data processing method, and an image data processing program capable of reducing the processing required for decoding a code from image data. To do.

上記目的を達成するために、本発明は、画像データに埋め込まれたコードを抽出するための画像データ処理装置において、画像データを複数のブロックに分割する分割手段と、前記複数のブロックの各ブロックにおける特徴量を抽出する特徴量抽出手段と、2つのブロックからなるペアブロックの各ブロック間における前記特徴量の大小関係に基づいて前記ペアブロックからコードを抽出するデコード手段と、を備え、前記デコード手段は、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける右側ブロックの特徴量が左側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第一の符号を抽出し、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける左側ブロックの特徴量が右側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第二の符号を抽出し、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上である場合、前記ペアブロックからビット判定結果が不確定であるとして第三の符号を抽出し、前記第一の符号、前記第二の符号および前記第三の符号に基づいてコードを抽出することを特徴とする。   In order to achieve the above object, the present invention provides an image data processing apparatus for extracting a code embedded in image data, a dividing means for dividing the image data into a plurality of blocks, and each block of the plurality of blocks. And a decoding means for extracting a code from the pair block based on the magnitude relationship of the feature quantity between each block of a pair block consisting of two blocks. When the feature amount difference between the blocks in the pair block is not equal to or greater than an upper threshold value, and the feature amount of the right block in the pair block is larger than the feature amount of the left block, the bit from the pair block The first code is extracted as a determination result, and the difference in feature amount between the blocks in the pair block is When the feature value of the left block in the pair block is greater than the limit threshold and the feature value of the right block is larger than the feature value of the right block, a second code is extracted from the pair block as a bit determination result. If the difference in feature quantity between the blocks is equal to or greater than an upper threshold, a third code is extracted from the pair block as being uncertain, and the first code, the second code, and A code is extracted based on the third code.

また、本発明は、画像データに埋め込まれたコードを抽出するための画像データ処理方法において、画像データを複数のブロックに分割する分割工程と、前記複数のブロックの各ブロックにおける特徴量を抽出する特徴量抽出工程と、2つのブロックからなるペアブロックの各ブロック間の前記特徴量の大小関係に基づいて前記ペアブロックからコードを抽出するデコード工程と、を含み、前記デコード工程は、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける右側ブロックの特徴量が左側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第一の符号を抽出し、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける左側ブロックの特徴量が右側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第二の符号を抽出し、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上である場合、前記ペアブロックからビット判定結果が不確定であるとして第三の符号を抽出し、前記第一の符号、前記第二の符号および前記第三の符号に基づいてコードを抽出することを特徴とする。   According to another aspect of the present invention, there is provided an image data processing method for extracting a code embedded in image data, a dividing step of dividing the image data into a plurality of blocks, and a feature amount in each block of the plurality of blocks. A feature amount extracting step, and a decoding step for extracting a code from the pair block based on the magnitude relationship of the feature amounts between the blocks of a pair block consisting of two blocks, wherein the decoding step includes the pair block If the feature amount difference between the blocks in the pair block is not equal to or greater than the upper threshold value and the feature amount of the right block in the pair block is larger than the feature amount of the left block, the first bit determination result from the pair block is The code is extracted, and the difference in feature amount between the blocks in the pair block is not more than the upper threshold value. When the feature quantity of the left block in the pair block is larger than the feature quantity of the right block, a second code is extracted from the pair block as a bit determination result, and the difference in the feature quantity between the blocks in the pair block is the upper limit. If it is greater than or equal to a threshold value, a third code is extracted from the pair block as an uncertain bit determination result, and a code based on the first code, the second code, and the third code is extracted. Is extracted.

また、本発明は、画像データに埋め込まれたコードを抽出するための画像データ処理プログラムにおいて、コンピュータを、画像データを複数のブロックに分割する分割手段、前記複数のブロックの各ブロックにおける特徴量を抽出する特徴量抽出手段、2つのブロックからなるペアブロックのブロック間の前記特徴量の大小関係に基づいて前記ペアブロックからコードを抽出するデコード手段、として機能させ、前記デコード手段は、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける右側ブロックの特徴量が左側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第一の符号を抽出し、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける左側ブロックの特徴量が右側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第二の符号を抽出し、前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上である場合、前記ペアブロックからビット判定結果が不確定であるとして第三の符号を抽出し、前記第一の符号、前記第二の符号および前記第三の符号に基づいてコードを抽出することを特徴とする。   According to another aspect of the present invention, there is provided an image data processing program for extracting a code embedded in image data. The computer includes a dividing unit that divides the image data into a plurality of blocks, and a feature amount in each block of the plurality of blocks. Extracting feature quantity extracting means, functioning as decoding means for extracting code from the pair block based on the magnitude relation of the feature quantity between the blocks of a pair block consisting of two blocks, the decoding means comprising the pair block If the feature amount difference between the blocks in the pair block is not equal to or greater than the upper threshold value and the feature amount of the right block in the pair block is larger than the feature amount of the left block, the first bit determination result from the pair block is The code is extracted, and the difference in feature quantity between the blocks in the pair block is the upper limit. When the feature amount of the left block in the pair block is not greater than the threshold value and greater than the feature amount of the right block, a second code is extracted as a bit determination result from the pair block, and the block between the pair blocks If the difference between the feature quantities is equal to or greater than an upper threshold, a third code is extracted from the pair block as being uncertain, and the first code, the second code, and the first code are extracted. A code is extracted based on the three codes.

かかる発明によれば、画像データを複数のブロックに分割し、複数のブロックの各ブロックにおける特徴量を抽出し、2つのブロックからなるペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、ペアブロックにおける右側ブロックの特徴量が左側ブロックの特徴量よりも大きい場合、ペアブロックからビット判定結果として第一の符号を抽出し、ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける左側ブロックの特徴量が右側ブロックの特徴量よりも大きい場合、ペアブロックからビット判定結果として第二の符号を抽出し、ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上である場合、ペアブロックからビット判定結果が不確定であるとして第三の符号を抽出し、第一の符号、第二の符号および第三の符号に基づいてコードを抽出することとしたので、過大な特徴量変更に伴う画質の劣化を防止することができる。   According to this invention, the image data is divided into a plurality of blocks, the feature amount in each block of the plurality of blocks is extracted, and the difference in the feature amount between the blocks in the pair block consisting of two blocks is equal to or greater than the upper threshold value. If the feature amount of the right block in the pair block is larger than the feature amount of the left block, the first code is extracted as the bit determination result from the pair block, and the difference in feature amount between the blocks in the pair block is When the feature value of the left block in the pair block is greater than the upper threshold value and the feature value of the left block is larger than the feature value of the right block, the second code is extracted from the pair block as a bit determination result, and between the blocks in the pair block If the feature value difference between the pair is greater than or equal to the upper threshold, the bit decision result from the pair block is indeterminate. As the third code is extracted and the code is extracted based on the first code, the second code, and the third code, it is possible to prevent image quality deterioration due to excessive feature amount change. it can.

本発明によれば、ペアブロックにおけるブロック間の特徴量の差が上限しきい値を超えている場合、当該ペアブロックからコードを抽出しないこととしたので、過大な特徴量変更に伴う画質の劣化を防止することができるという効果を奏する。   According to the present invention, when the difference in feature quantity between blocks in a pair block exceeds the upper threshold, the code is not extracted from the pair block, so image quality deterioration due to excessive feature quantity change. There is an effect that can be prevented.

また、本発明によれば、画像に埋め込まれたコードの誤り訂正を行うこととしたので、誤り訂正が可能となり、信頼性を高めることができるという効果を奏する。   Further, according to the present invention, since the error correction of the code embedded in the image is performed, the error correction can be performed and the reliability can be improved.

また、本発明によれば、各ブロックの一部分における特徴量を抽出することとしたので、ブロックの全体の特徴量を用いた場合に比べて、処理量を低減させることができるという効果を奏する。   Further, according to the present invention, since the feature amount in a part of each block is extracted, the processing amount can be reduced as compared with the case where the entire feature amount of the block is used.

また、本発明によれば、各ブロックの中央部分における特徴量を抽出することとしたので、ブロックの全体の特徴量を用いた場合に比べて、処理量を低減させることができるという効果を奏する。   In addition, according to the present invention, since the feature amount in the central portion of each block is extracted, the processing amount can be reduced as compared with the case where the entire feature amount of the block is used. .

また、本発明によれば、画像データに含まれる特定色コンポーネントの特徴量を抽出し、抽出した特定色コンポーネントの特徴量により複数のブロックに対して埋め込まれたコードを抽出することとしたので、特定色コンポーネントの特徴量が変更されても人間の目で見分けがつきにくいという特性を利用して、画質を劣化させることなく、データ判別能力を維持することができるという効果を奏する。   Further, according to the present invention, the feature amount of the specific color component included in the image data is extracted, and the code embedded in the plurality of blocks is extracted based on the feature amount of the extracted specific color component. Even if the characteristic amount of the specific color component is changed, it is possible to maintain the data discrimination ability without degrading the image quality by using the characteristic that it is difficult to distinguish with the human eye.

また、本発明によれば、画像データに含まれる黄色コンポーネントの特徴量を抽出し、抽出した黄色コンポーネントの特徴量により複数のブロックに対して埋め込まれたコードを抽出することとしたので、黄色が目立たないという特性を利用して、画質を劣化させることなく、データ判別能力を維持することができるという効果を奏する。   In addition, according to the present invention, the feature amount of the yellow component included in the image data is extracted, and the code embedded in a plurality of blocks is extracted based on the extracted feature amount of the yellow component. By utilizing the inconspicuous property, the data discrimination ability can be maintained without degrading the image quality.

また、本発明によれば、画像に付与された切り出し用の切出マーク画素に基づき、画像の分割を行うこととしたので、画像の切り出しを容易に行うことができるという効果を奏する。   In addition, according to the present invention, since the image is divided based on the cutout cutout mark pixels added to the image, there is an effect that the image can be cut out easily.

また、本発明によれば、特徴量は、平均濃度、粒状度、彩度、濃度重心または分散のうちの少なくとも1つであることとしたので、目立ちにくく、画質への影響を低減することができるという効果を奏する。   In addition, according to the present invention, the feature amount is at least one of average density, granularity, saturation, density centroid or dispersion, so that the feature quantity is not noticeable and the influence on the image quality can be reduced. There is an effect that can be done.

以下、図面を参照して本発明にかかる画像データ処理装置、画像データ処理方法および画像データ処理プログラムの実施の形態1〜5について詳細に説明する。   Embodiments 1 to 5 of an image data processing apparatus, an image data processing method, and an image data processing program according to the present invention will be described below in detail with reference to the drawings.

(実施の形態1)
以下では、実施の形態1にかかる画像データ処理装置の具体例として、原画像データに別データとしてのコード(2進数)を埋め込み、画像コード化データを生成するためのエンコーダ100(図1参照)と、画像コード化データからコードを読み出すデコーダ200(図9参照)とについて説明する。
(Embodiment 1)
In the following, as a specific example of the image data processing apparatus according to the first embodiment, an encoder 100 (see FIG. 1) for generating a coded image data by embedding a code (binary number) as another data in original image data. And a decoder 200 (see FIG. 9) that reads a code from the coded image data will be described.

図1は、本発明にかかる実施の形態1におけるエンコーダ100の構成を示すブロック図である。このエンコーダ100は、原画像データI0(図2参照)にコードC(図4参照)を例えば8回埋め込み、画像コード化データI3(図5参照)を生成するための装置である。   FIG. 1 is a block diagram showing a configuration of an encoder 100 according to the first embodiment of the present invention. The encoder 100 is a device for embedding a code C (see FIG. 4) eight times, for example, in the original image data I0 (see FIG. 2) to generate image coded data I3 (see FIG. 5).

原画像データI0は、所定のフォーマット(JPEG(Joint Photographic Expert Group)、GIF(Graphics Interchange Format)等)で生成された画像データであり、1024×1024画素サイズの画像データである。この原画像データI0には、例えば、図4に示した16ビット構成のコードC(1010110101001010)が埋め込まれる。   The original image data I0 is image data generated in a predetermined format (JPEG (Joint Photographic Expert Group), GIF (Graphics Interchange Format, etc.)), and is 1024 × 1024 pixel size image data. For example, a 16-bit code C (1010110101001010) shown in FIG. 4 is embedded in the original image data I0.

エンコーダ100において、ブロック分割部101は、入力された原画像データI0を、図3に示したように、N行×M列(同図の場合、16×16)のブロックに分割しこれをブロック分割画像データI1として出力する。   In the encoder 100, the block dividing unit 101 divides the input original image data I0 into blocks of N rows × M columns (16 × 16 in the case of FIG. 3) as shown in FIG. Output as divided image data I1.

このブロック分割画像データI1は、ブロックBl11、Br11、・・・、Bl18、Br18、Bl21、Br21、・・・、Bl168、Br168という256(16×16)ブロックから構成されている。一つのブロックは、64×64画素サイズとされている。 The block-divided image data I1 is the block B l11, B r11, ···, B l18, B r18, B l21, B r21, ···, consist B L168, B R168 that 256 (16 × 16) blocks Has been. One block has a size of 64 × 64 pixels.

ここで、ブロック分割画像データI1においては、ペアブロック(隣接する2つのブロック)に1ビットのコードが埋め込まれる。   Here, in the block-divided image data I1, a 1-bit code is embedded in a pair block (two adjacent blocks).

具体的には、ペアブロックは、ブロックBl11およびBr11、ブロックBl12およびBr12、・・・、ブロックBl18およびBr18(ここまで1行目)、ブロックBl21およびBr21、・・・、ブロックBl28およびBr28(ここまで2行目)、・・・、ブロックBl161およびBr161、・・・、ブロックBl168およびBr168(ここまで16行目)という2つのブロックから構成されている。 Specifically, the pair of blocks, the block B l11 and B r11, block B l12 and B r12, · · ·, blocks B l18 and B r18 (1 row far), the block B l21 and B r21, · · .. , Blocks B l28 and B r28 (the second row so far),..., Blocks B l161 and B r161 ,..., Blocks B l168 and B r168 (the 16th row so far) Has been.

ここで、ペアブロックの一方のブロックBlxyにおいて、添字lは、ペアブロックにおいて左側のブロックであることを表す。添字xは、行(N)を表す。また、添字yは、列(M)を表す。他方、ペアブロックのブロックBrxyにおいて、添字rは、ペアブロックにおいて右側のブロックであることを表す。添字xは、行(N)を表す。また、添字yは、列(M)を表す。 Here, in one block B lxy of the pair block, the subscript l indicates that it is the left block in the pair block. The subscript x represents a row (N). The subscript y represents the column (M). On the other hand, in the block B rxy of the pair block, the subscript r represents the right block in the pair block. The subscript x represents a row (N). The subscript y represents the column (M).

また、ペアブロックにおいて、左側のブロックBlxyにおける特徴量としての平均濃度(ブロック内の各画素の平均階調)を左側平均濃度データDlとし、右側のブロックBrxyの平均濃度(特徴量)を右側平均濃度データDrとする。 In the pair block, the average density (average gradation of each pixel in the block) as the feature quantity in the left block B lxy is set as the left average density data D l, and the average density (feature quantity) in the right block B rxy is used. Is the right average density data Dr.

ここで、以下の関係式のように、左側平均濃度データDlが右側平均濃度データDr未満である場合、ペアブロックは、1ビット分のコードとして「0」を表す。一方、左側平均濃度データDlが右側平均濃度データDr以上である場合、ペアブロックは、1ビット分のコードとして「1」を表す。 Here, as shown in the following relational expression, when the left average density data D l is less than the right average density data D r , the pair block represents “0” as a one-bit code. On the other hand, when the left average density data D l is equal to or greater than the right average density data D r , the pair block represents “1” as a one-bit code.

l<Dr→「0」
l≧Dr→「1」
D l <D r → “0”
D l ≧ D r → “1”

例えば、図3に示したブロックBl18およびBr18からなるペアブロックは、左側平均濃度データDl18が「115」、右側平均濃度データDr18が「125」であるため、1ビット分のコードとして「0」を表す。 For example, the pair block consisting of blocks B l18 and B r18 as shown in FIG. 3, the left average density data D l18 is "115", since the right average density data D r18 is "125", one-bit code of Represents “0”.

また、ブロックBl28およびBr28からなるペアブロックは、左側平均濃度データDl28が「125」、右側平均濃度データDr28が「115」であるため、1ビット分のコードとして「1」を表す。 In the pair block consisting of blocks B l28 and B r28 , the left average density data D l28 is “125” and the right average density data D r28 is “115”, so that “1” is represented as a one-bit code. .

また、ブロック分割画像データI1においては、1行あたり、8つのペアブロック(16ブロック)であるため、8ビット分のコードを表す。従って、全行(16行)では、128ビット分のコードを表す。実施の形態1では、ブロック分割画像データI1に埋め込むコードC(図4参照)が16ビットであるため、ブロック分割画像データI1にコードCが最大8(128/16)回、埋め込み可能である(図5参照)。   Further, since the block-divided image data I1 has 8 pair blocks (16 blocks) per row, it represents an 8-bit code. Therefore, all lines (16 lines) represent 128-bit codes. In Embodiment 1, since the code C (see FIG. 4) embedded in the block divided image data I1 is 16 bits, the code C can be embedded in the block divided image data I1 up to 8 (128/16) times (see FIG. 4). (See FIG. 5).

図1に戻り、ブロック抽出部102は、ブロック分割画像データI1(図3参照)からペアブロック(ブロックBlxyおよびブロックBrxy)をコードCのビットシフトに追従させて順次抽出し、ブロックBlxyおよびブロックBrxyのそれぞれにおける濃度分布をブロック濃度データDとして順次出力する。 Returning to FIG. 1, the block extraction unit 102 sequentially extracts the paired blocks (block B lxy and block B rxy ) from the block divided image data I1 (see FIG. 3) by following the bit shift of the code C, and blocks B lxy The density distribution in each of the blocks Brxy is sequentially output as block density data D.

ここで、コードCのビットシフトとは、図4に示した最左側ビット(1)から右側ビット(0)へ向けて、ビットのポインタ(図示略)を右側へ1ビットずつシフトさせることをいう。   Here, the bit shift of the code C means that a bit pointer (not shown) is shifted to the right by one bit from the leftmost bit (1) shown in FIG. 4 to the right bit (0). .

平均化部103は、ブロック濃度データDから、ブロックBlxyに対応する左側平均濃度データDlと、ブロックBrxyに対応する右側平均濃度データDrとを求め、これらをレジスタ104lおよびレジスタ104rにコードCのビットシフトに追従させて順次格納する。 The averaging unit 103 obtains left average density data D l corresponding to the block B lxy and right average density data D r corresponding to the block B rxy from the block density data D, and these are obtained in the register 104 l and the register 104. The r is sequentially stored following the bit shift of the code C.

比較部105は、コードCのnビット目(図4に示した最左側ビットからn=1、2、・・・、16)と、レジスタ104lおよびレジスタ104rに格納されている左側平均濃度データDlおよび右側平均濃度データDrの大小関係から決定されるビット判定結果(前述した関係式により「0」または「1」とビット判定される:図3参照)とを比較する。 Comparing section 105, n bits of the code C (n = 1, 2 from the leftmost bit shown in FIG. 4, ..., 16) and the left average density stored in the registers 104 l and the register 104 r A bit determination result determined from the magnitude relationship between the data D l and the right-side average density data D r (bit determination of “0” or “1” by the relational expression described above: see FIG. 3) is made.

エンコード部106は、比較部105の比較結果に基づいて、ブロック分割画像データI1(原画像データI0)にコードCを埋め込むための処理を実行する。具体的には、エンコード部106は、比較部105の比較結果が一致である場合、左側平均濃度データDlと右側平均濃度データDrとの大小関係を維持し、一方、比較結果が不一致である場合、コードCのビットを表す大小関係となるように左側平均濃度データDlと右側平均濃度データDrを変更(大小関係を逆転)し、画像コード化データI3(図5参照)を生成し、これを出力する。 Based on the comparison result of the comparison unit 105, the encoding unit 106 executes a process for embedding the code C in the block divided image data I1 (original image data I0). Specifically, when the comparison result of the comparison unit 105 is the same, the encoding unit 106 maintains the magnitude relationship between the left average density data D l and the right average density data Dr , while the comparison result is inconsistent. In some cases, the left side average density data D l and the right side average density data Dr are changed (the magnitude relation is reversed) so as to have a magnitude relationship representing the bits of the code C, and the image encoded data I3 (see FIG. 5) is generated. And output this.

図5に示した画像コード化データI3は、ブロック分割画像データI1(図3参照)および原画像データI0(図2参照)に対応しており、領域A1〜A8を有している。領域A1〜A8には、同一のコードC(1010110101001010)が合計8回埋め込まれている。 Image coded data I3 shown in FIG. 5, block-divided image data I1 corresponds to (see FIG. 3) and the original image data I0 (refer to FIG. 2), has an area A 1 to A 8. In the areas A 1 to A 8 , the same code C (1010110101001010) is embedded eight times in total.

例えば、領域A1は、図3に示したブロックBl11、Br11、・・・、Bl28、Br28に対応している。他の領域A2〜A8は、ブロックBl31、Br31、・・・、Bl168、Br168に対応している。 For example, the area A 1 is block B l11 shown in FIG. 3, B r11, · · ·, and corresponds to the B l28, B r28. The other areas A 2 to A 8 correspond to the blocks B l31 , B r31 ,..., B l168 , B r168 .

なお、図5において、コードC(図3参照)の埋め込み状態が図示されているが、実際の画像コード化データI3は、原画像データI0(図2参照)とほぼ同様(一部濃度変更されているブロックが存在する場合もあるが肉眼では見分けがつかない)の画像データに対応している。   In FIG. 5, the embedded state of the code C (see FIG. 3) is shown, but the actual image coded data I3 is almost the same as the original image data I0 (see FIG. 2) (partial density is changed). In some cases, the image data may be invisible to the naked eye.

また、エンコーダ100の各構成要素は、図示しない制御部を介して相互接続されている。   Each component of the encoder 100 is interconnected via a control unit (not shown).

つぎに、図1に示したエンコーダ100の動作について、図6および図8に示したフローチャートを参照しつつ説明する。図6は、同エンコーダ100の動作例1を説明するフローチャートである。   Next, the operation of the encoder 100 shown in FIG. 1 will be described with reference to the flowcharts shown in FIGS. FIG. 6 is a flowchart for explaining an operation example 1 of the encoder 100.

同図において、ステップSA1では、比較部105にコードC(図3参照)が設定される。ステップSA2では、比較部105は、初期化としてnを1とする。このnは、前述したようにコードCのビットのポインタを表す。この場合、n=1は、コードCの最左側のビット(「1」)に対応している。   In the figure, in step SA1, a code C (see FIG. 3) is set in the comparison unit 105. In step SA2, the comparison unit 105 sets n to 1 as initialization. This n represents a bit pointer of code C as described above. In this case, n = 1 corresponds to the leftmost bit (“1”) of the code C.

ステップSA3では、ブロック分割部101に原画像データI0(図2参照)が入力される。ステップSA4では、ブロック分割部101は、ブロック分割処理により、入力された原画像データI0を図3に示したように16×16のブロックBl11〜Br168に分割し、これをブロック分割画像データI1としてブロック抽出部102へ出力する。 In step SA3, the original image data I0 (see FIG. 2) is input to the block dividing unit 101. At step SA4, the block division unit 101, the block division processing, the input original image data I0 is divided into blocks B l11 .about.B R168 of the 16 × 16 as shown in FIG. 3, which block division image data It is output to the block extraction unit 102 as I1.

ステップSA5では、ブロック抽出部102は、ブロック分割画像データI1から、n=1に対応するペアブロック(この場合、ブロックBl11およびブロックBr11)を抽出した後、ブロックBl11およびブロックBr11のそれぞれにおける濃度分布をブロック濃度データDとして平均化部103へ出力する。 In step SA5, the block extraction unit 102 extracts a pair block (in this case, a block B11 and a block Br11 ) corresponding to n = 1 from the block divided image data I1, and then the block B11 and the block Br11 . Each density distribution is output to the averaging unit 103 as block density data D.

ステップSA6では、平均化部103は、平均化処理により、ブロック濃度データDから、ブロックBl11に対応する左側平均濃度データDl11(図示略)と、ブロックBr11に対応する右側平均濃度データDr11(図示略)とを求める。 At step SA6, the averaging unit 103, the averaging process, from the block density data D, the left average density data D l11 corresponding to the block B l11 and (not shown), the right-side average density data D corresponding to the block B r11 r11 (not shown) is obtained.

ステップSA7では、平均化部103は、左側平均濃度データDl11(図示略)をレジスタ104lに、右側平均濃度データDr11(図示略)をレジスタ104rにそれぞれ格納する。 In step SA7, the averaging unit 103, the left-side average density data D l11 (not shown) in the register 104 l, respectively stored right-side average density data D r11 (not shown) in the register 104 r.

ステップSA8では、比較部105は、図4に示したコードCの最左側ビット(n=1に対応)である「1」と、レジスタ104lおよびレジスタ104rに格納されている左側平均濃度データDl11および右側平均濃度データDr11の濃度差を求め、濃度差(大小関係)からビット判定を行う。 At step SA8, comparing unit 105 is a leftmost bit (corresponding to n = 1) of the code C shown in FIG. 4 as "1", the left average density data stored in the registers 104 l and the register 104 r A density difference between D11 and right average density data Dr11 is obtained, and bit determination is performed from the density difference (magnitude relationship).

この場合、左側平均濃度データDl11が右側平均濃度データDr11以上であるとすると、比較部105は、前述した大小関係から当該ペアブロックにおけるビット判定結果を「1」とする。 In this case, assuming that the left average density data D11 is greater than or equal to the right average density data Dr11 , the comparison unit 105 sets the bit determination result in the pair block to “1” based on the above-described magnitude relationship.

ステップSA9では、比較部105は、コードCのnビット目(この場合、1ビット目であって「1」)と、ステップSA8でのビット判定結果(この場合、「1」)とが同一であるか否かを判断し、この場合、判断結果を「Yes」とする。   In step SA9, the comparison unit 105 determines that the nth bit of the code C (in this case, the first bit is “1”) is the same as the bit determination result in step SA8 (in this case, “1”). In this case, the determination result is “Yes”.

ステップSA10では、比較部105は、nを1インクリメントする。これにより、nが2とされる。ステップSA11では、比較部105は、nがnendより大であるか否かを判断する。nendは、コードC(図4参照)の全ビット数であり、16である。この場合、nが2であるため、比較部105は、ステップSA11の判断結果を「No」とする。   In step SA10, the comparison unit 105 increments n by 1. As a result, n is set to 2. In step SA11, the comparison unit 105 determines whether n is greater than nend. nend is the total number of bits of the code C (see FIG. 4) and is 16. In this case, since n is 2, the comparison unit 105 sets “No” as the determination result of step SA11.

ステップSA5では、ブロック抽出部102は、ブロック分割画像データI1から、n=2に対応するペアブロック(この場合、ブロックBl12およびブロックBr12)を抽出した後、ブロックBl12およびブロックBr12のそれぞれにおける濃度分布をブロック濃度データDとして平均化部103へ出力する。 At step SA5, the block extraction unit 102, the block division image data I1, a pair of blocks (in this case, the block B l12 and the block B r12) corresponding to n = 2 after extracting, the blocks B l12 and the block B r12 Each density distribution is output to the averaging unit 103 as block density data D.

ステップSA6では、平均化部103は、平均化処理により、ブロック濃度データDから、ブロックBl12に対応する左側平均濃度データDl12(図示略)と、ブロックBr12に対応する右側平均濃度データDr12(図示略)とを求める。 At step SA6, the averaging unit 103, the averaging process, from the block density data D, the left average density data D l12 corresponding to the block B l12 and (not shown), the right-side average density data D corresponding to the block B r12 r12 (not shown) is obtained.

ステップSA7では、平均化部103は、左側平均濃度データDl12(図示略)をレジスタ104lに、右側平均濃度データDr12(図示略)をレジスタ104rにそれぞれ格納する。 In step SA7, the averaging unit 103, the left-side average density data D l12 (not shown) in the register 104 l, respectively stored right-side average density data D r12 (not shown) in the register 104 r.

ステップSA8では、比較部105は、図4に示したコードCにおけるつぎのビット(n=2に対応)である「0」と、レジスタ104lおよびレジスタ104rに格納されている左側平均濃度データDl12および右側平均濃度データDr12の濃度差を求め、濃度差(大小関係)からビット判定を行う。 At step SA8, comparing section 105, a next bit in the code C shown in FIG. 4 (corresponding to n = 2) and "0", the left average density data stored in the registers 104 l and the register 104 r D l12 and determine the concentration difference of the right average density data D r12, performs bit decision from the density difference (magnitude relationship).

この場合、左側平均濃度データDl12が右側平均濃度データDr11未満であるとすると、比較部105は、前述した大小関係から当該ペアブロックにおけるビット判定結果を「0」とする。 In this case, when the left average density data D l12 is to be less than the right average density data D r11, comparing unit 105, a bit determination result in the pair of blocks from the magnitude relation as described above to "0".

ステップSA9では、比較部105は、コードCのnビット目(この場合、2ビット目であって「0」)と、ステップSA8でのビット判定結果(この場合、「0」)とが同一であるか否かを判断し、この場合、判断結果を「Yes」とする。   In step SA9, the comparison unit 105 determines that the nth bit of code C (in this case, the second bit is “0”) and the bit determination result in step SA8 (in this case “0”) are the same. In this case, the determination result is “Yes”.

ステップSA10では、比較部105は、nを1インクリメントする。これにより、nが3とされる。ステップSA11では、比較部105は、n(=3)がnend(=16)より大であるか否かを判断し、この場合、判断結果を「No」とする。以後、ステップSA11の判断結果が「Yes」となるまで、前述したステップSA5以降の動作が繰り返される。   In step SA10, the comparison unit 105 increments n by 1. As a result, n is set to 3. In step SA11, the comparison unit 105 determines whether n (= 3) is greater than nend (= 16). In this case, the determination result is “No”. Thereafter, the above-described operations after step SA5 are repeated until the determination result at step SA11 becomes “Yes”.

そして、ステップSA10でnが16とされ、ステップSA11の判断結果が「No」とされると、ステップSA5では、ブロック抽出部102は、ブロック分割画像データI1から、n=16に対応するペアブロック(この場合、ブロックBl28およびブロックBr28)を抽出した後、ブロックBl28およびブロックBr28のそれぞれにおける濃度分布をブロック濃度データDとして平均化部103へ出力する。 When n is set to 16 in step SA10 and the determination result in step SA11 is “No”, in step SA5, the block extraction unit 102 determines the pair block corresponding to n = 16 from the block divided image data I1. (In this case, after extracting the block B l28 and the block B r28 ), the density distribution in each of the block B l28 and the block B r28 is output to the averaging unit 103 as the block density data D.

ステップSA6では、平均化部103は、平均化処理により、ブロック濃度データDから、ブロックBl28に対応する左側平均濃度データDl28(「125」:図3参照)と、ブロックBr28に対応する右側平均濃度データDr28(「115」:図3参照)とを求める。 At step SA6, the averaging unit 103, the averaging process, from the block density data D, the left average density data D l28 corresponding to the block B l28: (the "125" refer to FIG. 3), corresponding to the block B r28 Right average density data D r28 (“115”: see FIG. 3) is obtained.

ステップSA7では、平均化部103は、左側平均濃度データDl28(「125」)をレジスタ104lに、右側平均濃度データDr28(「115」)をレジスタ104rにそれぞれ格納する。 In step SA7, the averaging unit 103 stores the left average density data D l28 (“125”) in the register 104 l and the right average density data D r28 (“115”) in the register 104 r .

ステップSA8では、比較部105は、図4に示したコードCの右側ビット(n=16に対応)である「0」と、レジスタ104lおよびレジスタ104rに格納されている左側平均濃度データDl28(「125」)および右側平均濃度データDr28(「115」)の濃度差(10)を求め、濃度差(大小関係)からビット判定を行う。 At step SA8, comparing section 105, a (corresponding to n = 16) right bit of the code C shown in FIG. 4 as "0", the register 104 l and the register 104 left average density stored in the r data D A density difference (10) between l28 (“125”) and right-side average density data D r28 (“115”) is obtained, and bit determination is performed from the density difference (magnitude relationship).

この場合、左側平均濃度データDl28(「125」)が右側平均濃度データDr28(「115」)以上であるため、比較部105は、前述した大小関係から当該ペアブロックにおけるビット判定結果を「1」とする。 In this case, since the left average density data D l28 (“125”) is equal to or greater than the right average density data D r28 (“115”), the comparison unit 105 determines the bit determination result in the pair block as “ 1 ”.

ステップSA9では、比較部105は、コードCのnビット目(この場合、16ビット目であって「0」)と、ステップSA8でのビット判定結果(この場合、「1」)とが同一であるか否かを判断し、この場合、判断結果を「No」とする。   In step SA9, the comparison unit 105 determines that the nth bit of the code C (in this case, the 16th bit is “0”) and the bit determination result in step SA8 (in this case, “1”) are the same. In this case, the determination result is “No”.

ステップSA14では、比較部105は、ステップSA8で求められた濃度差(10)が、予め設定された上限しきい値(例えば、100)以下であるか否かを判断し、この場合、判断結果を「Yes」とする。   In step SA14, the comparison unit 105 determines whether or not the density difference (10) obtained in step SA8 is equal to or less than a preset upper threshold (for example, 100). In this case, the determination result Is “Yes”.

ステップSA15では、エンコード部106は、左側平均濃度データDl28(「125」)と右側平均濃度データDr28(「115」)との大小関係に基づくビット判定結果が、コードCのnビット目(この場合、16ビット目であって「0」)と同一となるように、左側平均濃度データDl28および右側平均濃度データDr28を変更するという濃度変更処理を実行する。 In step SA15, the encoding unit 106 determines that the bit determination result based on the magnitude relationship between the left average density data D l28 (“125”) and the right average density data D r28 (“115”) is the nth bit of the code C ( In this case, density change processing is executed in which the left average density data D l28 and the right average density data D r28 are changed so as to be the same as “0” in the 16th bit.

すなわち、エンコード部106は、左側平均濃度データDl28(「125」)と右側平均濃度データDr28(「115」)との大小関係を逆転させることにより、左側平均濃度データDl28 を右側平均濃度データDr28未満として、ビット判定結果が「1」から「0」となるように濃度変更を行う。 That is, the encoding unit 106 reverses the magnitude relationship between the left average density data D l28 (“125”) and the right average density data D r28 (“115”), thereby converting the left average density data D l28 into the right average density data. The density is changed so that the bit determination result changes from “1” to “0”, assuming that the data is less than the data Dr 28 .

具体的には、エンコード部106は、図7に示した(A)Dl<Drとする場合の(1)式から変更後の左側平均濃度データD’l(変更後の左側平均濃度データD’l28に対応)を求めた後、(2)式から変更後の右側平均濃度データD’r(変更後の右側平均濃度データD’r28に対応)を求める。 Specifically, the encoding unit 106 changes the left-side average density data D ′ l (changed left-side average density data from the expression (1) when (A) D l <D r shown in FIG. 'after obtaining the corresponding) to l28, (2) the right average density data D after the change from the equation' D seek corresponding to the right-side average density data D 'r28 after r (changed).

これにより、濃度変更後においては、左側平均濃度データD’l28が右側平均濃度データD’r28未満となり、ビット判定結果が「1」から「0」とされる。 Thereby, after the density change, the left average density data D ′ l28 becomes less than the right average density data D ′ r28 , and the bit determination result is changed from “1” to “0”.

一方、図7に示した(B)Dl≧Drとする場合には、(3)式から変更後の左側平均濃度データD’l(変更後の左側平均濃度データD’lxyに対応)が求められた後、(4)式から変更後の右側平均濃度データD’r(変更後の右側平均濃度データD’rxyに対応)が求められる。 On the other hand, when (B) D l ≧ D r shown in FIG. 7, the left average density data D ′ l after the change from the equation (3) (corresponding to the left average density data D ′ lxy after the change) Is obtained, the changed right average density data D ′ r (corresponding to the changed right average density data D ′ rxy ) is obtained from the equation (4).

これにより、濃度変更後においては、左側平均濃度データD’lxyが右側平均濃度データD’rxy以上となり、ビット判定結果が「0」から「1」とされる。 Thereby, after the density change, the left average density data D ′ lxy becomes equal to or higher than the right average density data D ′ rxy , and the bit determination result is changed from “0” to “1”.

ここで、ステップSA14の判断結果が「No」である場合、すなわち、ステップSA8で求められた濃度差が、予め設定された上限しきい値(例えば、100)より大である場合、濃度変更処理が実行されることなく、ステップSA10の処理が実行される。   If the determination result in step SA14 is “No”, that is, if the density difference obtained in step SA8 is greater than a preset upper threshold (for example, 100), the density change process The process of step SA10 is executed without executing.

これは、ペアブロックにおける濃度差が大きい場合に、濃度変更処理を実行すると、見た目に変更されたことがわかってしまい、画質が劣化(不自然な画像)することを防止するため、あえて濃度変更を行わないのである。   This is because if the density difference in the pair block is large, if density change processing is executed, it will be known that the appearance has been changed and the image quality will be deteriorated (unnatural image). Is not done.

ステップSA10では、比較部105は、nを1インクリメントする。これにより、nが17とされる。ステップSA11では、比較部105は、n(=17)がnend(=16)より大であるか否かを判断し、この場合、判断結果を「Yes」とする。   In step SA10, the comparison unit 105 increments n by 1. As a result, n is set to 17. In step SA11, the comparison unit 105 determines whether n (= 17) is greater than nend (= 16). In this case, the determination result is “Yes”.

ステップSA12では、比較部105は、ブロック分割画像データI1における最終のペアブロック(ブロックBl168およびBr168)に関する上述した処理が終了したか否かを判断し、この場合、判断結果を「No」とする。 In step SA12, the comparison unit 105 determines whether or not the above-described processing relating to the final pair block (blocks Bl168 and Br168 ) in the block-divided image data I1 has been completed. In this case, the determination result is “No”. And

ステップSA16では、比較部105は、n(=17)をリセットすべく、nを1とする。ステップSA5では、ブロック抽出部102は、ブロック分割画像データI1から、n=1に対応するつぎのペアブロック(この場合、ブロックBl31およびブロックBr31:図3参照)を抽出した後、ブロックBl31およびブロックBr31のそれぞれにおける濃度分布をブロック濃度データDとして平均化部103へ出力する。 In step SA16, the comparison unit 105 sets n to 1 to reset n (= 17). In step SA5, the block extraction unit 102 extracts the next pair block (in this case, block B l31 and block B r31 : see FIG. 3) corresponding to n = 1 from the block divided image data I1, and then blocks B l31 and density distributions of the block B r31 outputs to the averaging section 103 as the block density data D.

以後、ステップSA12の判断結果が「Yes」となるまで、前述した動作が繰り返される。   Thereafter, the above-described operation is repeated until the determination result in step SA12 is “Yes”.

そして、ステップSA12の判断結果が「Yes」になると、ステップSA13では、エンコード部106は、ステップSA9の判断結果、ステップSA14の判断結果、ステップSA15の濃度変更処理に基づいて、画像コード化データI3を生成し、これを出力する。   When the determination result in step SA12 is “Yes”, in step SA13, the encoding unit 106 determines that the encoded image data I3 is based on the determination result in step SA9, the determination result in step SA14, and the density change process in step SA15. Is generated and output.

具体的には、エンコード部106は、ステップSA9の判断結果が「Yes」(ステップSA14の判断結果が「No」)とされたペアブロックについて、左側平均濃度データDlと右側平均濃度データDrとの大小関係を維持(濃度変更無し)し、一方、ステップSA15の濃度変更処理に基づいて、変更後の左側平均濃度データD’lおよび右側平均濃度データD’rに対応する画像コード化データI3を生成する。この画像コード化データI3は、後述するデコーダ200によりデコードされる。 Specifically, the encoding unit 106 determines the left average density data D l and the right average density data D r for the pair block for which the determination result in step SA9 is “Yes” (the determination result in step SA14 is “No”). On the other hand, based on the density change process in step SA15, the coded image data corresponding to the changed left average density data D' l and right average density data D' r is maintained. I3 is generated. This encoded image data I3 is decoded by a decoder 200 described later.

ここで、図5に示した画像コード化データI3における領域A1〜A8には、同一のコードC(1010110101001010)が合計8回埋め込まれている。 Here, the same code C (1010110101001010) is embedded eight times in total in the areas A 1 to A 8 in the image encoded data I3 shown in FIG.

つぎに、図1に示したエンコーダ100の動作例2について、図8に示したフローチャートを参照しつつ説明する。図8においては、ステップSB10およびステップSB11が新たに付加されている。   Next, an operation example 2 of the encoder 100 shown in FIG. 1 will be described with reference to the flowchart shown in FIG. In FIG. 8, step SB10 and step SB11 are newly added.

従って、図8に示したステップSB1〜ステップSB9およびステップSB12〜ステップSB18は、図6に示したステップSA1〜ステップSA16に対応しているため、その詳細な説明を省略する。   Therefore, step SB1 to step SB9 and step SB12 to step SB18 shown in FIG. 8 correspond to step SA1 to step SA16 shown in FIG.

図8に示したステップSB9では、比較部105は、コードCのnビット目と、ステップSB8でのビット判定結果とが同一であるか否かを判断し、この場合、判断結果を「Yes」とする。   In step SB9 shown in FIG. 8, the comparison unit 105 determines whether or not the nth bit of the code C is the same as the bit determination result in step SB8. In this case, the determination result is “Yes”. And

ステップSB10では、比較部105は、ステップSB8で求められた濃度差が、予め設定された下限しきい値(例えば、10)未満であるか否かを判断する。この場合、判断結果が「Yes」であるものとする。   In step SB10, the comparison unit 105 determines whether or not the density difference obtained in step SB8 is less than a preset lower threshold (for example, 10). In this case, the determination result is “Yes”.

ここで、濃度差が下限しきい値未満である場合には、デコード時に、大小関係が逆転する等、精度が低くなる。   Here, when the density difference is less than the lower limit threshold, the accuracy is lowered, for example, the magnitude relationship is reversed during decoding.

そこで、かかる問題を回避するため、ステップSB11では、エンコード部106は、濃度差が下限しきい値以上となるように、左側平均濃度データDlおよび右側平均濃度データDrを加減し、濃度差を拡大するための濃度差拡大処理を実行する。 In order to avoid such a problem, in step SB11, encoding section 106, as the density difference is greater than or equal to the lower threshold, and adjusting the left-side average density data D l and the right average density data D r, the density difference The density difference enlargement process for enlarging the image is executed.

なお、ステップSB10の判断結果が「No」である場合、すなわち、濃度差が下限しきい値以上である場合、ステップSB12の処理が実行される。また、ステップSB16の判断結果が「No」である場合にも、ステップSB12の処理が実行される。   If the determination result in step SB10 is “No”, that is, if the density difference is greater than or equal to the lower threshold value, the process in step SB12 is executed. Also, when the determination result of step SB16 is “No”, the process of step SB12 is executed.

図9は、本発明にかかる実施の形態1におけるデコーダ200の構成を示すブロック図である。このデコーダ200は、エンコーダ100(図1参照)でエンコードされた画像コード化データI3(図5参照)から、埋め込まれたコードをデコードするための装置である。   FIG. 9 is a block diagram showing a configuration of the decoder 200 according to the first embodiment of the present invention. The decoder 200 is a device for decoding an embedded code from the image coded data I3 (see FIG. 5) encoded by the encoder 100 (see FIG. 1).

デコーダ200において、画像切出部201は、画像コード化データI3の周囲に画像データ(例えば、余白部分)を含む場合、全体から、有効な画像コード化データI3を切り出す機能を備えている。但し、画像コード化データI3のみが画像切出部201に入力された場合には、切り出しが行われない。   In the decoder 200, when the image cutout unit 201 includes image data (for example, a blank portion) around the image coded data I3, the image cutout unit 201 has a function of cutting out valid image coded data I3 from the whole. However, when only the image coded data I3 is input to the image cutout unit 201, the cutout is not performed.

ブロック分割部202は、図3に示したブロック分割画像データI1と同様にして、画像切出部201からの画像コード化データI3を、N行×M列(同図の場合、16×16)のブロックに分割しこれをブロック分割画像データ(図示略)として出力する。   In the same way as the block division image data I1 shown in FIG. 3, the block division unit 202 converts the image coded data I3 from the image cutout unit 201 into N rows × M columns (in the case of FIG. 3, 16 × 16). And are output as block divided image data (not shown).

ブロック抽出部203は、ブロック抽出部102(図1参照)と同様にして、ブロック分割画像データからペアブロック(2つのブロック)を、デコードされたコード(16ビット)のビットシフトに追従させて順次抽出し、ペアブロック(2つのブロック)における濃度分布をブロック濃度データ(図示略)として順次出力する。   In the same manner as the block extraction unit 102 (see FIG. 1), the block extraction unit 203 sequentially causes the pair blocks (two blocks) from the block divided image data to follow the bit shift of the decoded code (16 bits). Extracted and the density distribution in the pair block (two blocks) is sequentially output as block density data (not shown).

平均化部204は、ブロック濃度データから、平均化部103(図1参照)と同様にして、ペアブロックにおける一方のブロックに対応する左側平均濃度データ(図示略)と、他方のブロックに対応する右側平均濃度データ(図示略)とを求め、これらをレジスタ205lおよびレジスタ205rにコードのビットシフトに追従させて順次格納する。 From the block density data, the averaging unit 204 corresponds to the left average density data (not shown) corresponding to one block in the pair block and the other block in the same manner as the averaging unit 103 (see FIG. 1). Right average density data (not shown) is obtained, and these are sequentially stored in the register 205 l and the register 205 r following the bit shift of the code.

比較部206は、レジスタ205lおよびレジスタ205rに格納されている左側平均濃度データおよび右側平均濃度データの大小関係を比較することにより、ビット判定を行い、ビット判定結果(前述した関係式により「0」または「1」とビット判定される)に対応するコード群CG(候補コードC1〜C8:図10参照)をデコード部207へ出力する。 The comparison unit 206 performs bit determination by comparing the magnitude relationship between the left average density data and the right average density data stored in the register 205 l and the register 205 r , and determines the bit determination result (“ A code group CG (candidate codes C 1 to C 8 : see FIG. 10) corresponding to “0” or “1” is output to the decoding unit 207.

ここで、図10に示した候補コードC1〜C8のそれぞれは、16ビット構成とされており、画像コード化データI3(図5参照)の領域A1〜A8に埋め込まれた各コード(16ビット)がデコードされた結果であって、デコーダ200のデコード結果としてのコードC’(図9参照)の候補である。 Here, each of the candidate codes C 1 to C 8 shown in FIG. 10 has a 16-bit configuration, and each code embedded in the areas A 1 to A 8 of the image coded data I3 (see FIG. 5). (16 bits) is a result of decoding, and is a candidate for a code C ′ (see FIG. 9) as a decoding result of the decoder 200.

また、候補コードC1〜C8において、「2」は、「1」または「0」のビット判定が不確定であるビットを表している。 In the candidate codes C 1 to C 8 , “2” represents a bit whose bit determination of “1” or “0” is indeterminate.

デコード部207は、図10に示したように、比較部206の比較結果に対応する候補コードC1〜C8からビット単位(同図縦方向のビット列)で多数決を採り、各ビット(全16ビット)を確定させ、これをデコーダ200のデコード結果としてのコードC’として出力する。 As shown in FIG. 10, the decoding unit 207 takes a majority vote in bit units (bit string in the vertical direction in the figure) from the candidate codes C 1 to C 8 corresponding to the comparison result of the comparison unit 206, and each bit (all 16 Bit) is determined, and this is output as a code C ′ as a decoding result of the decoder 200.

また、デコーダ200の各構成要素は、図示しない制御部を介して相互接続されている。   Each component of the decoder 200 is interconnected via a control unit (not shown).

つぎに、図9に示したデコーダ200の動作について、図11に示したフローチャートを参照しつつ説明する。   Next, the operation of the decoder 200 shown in FIG. 9 will be described with reference to the flowchart shown in FIG.

同図において、ステップSC1では、画像切出部201に画像コード化データI3(図1参照)が入力される。ステップSC2では、初期化としてnが1とされる。このnは、デコード対象のコードのビットのポインタを表す。この場合、n=1は、コードの最左側のビットに対応している。   In the figure, in step SC1, image coded data I3 (see FIG. 1) is input to the image cutout unit 201. In step SC2, n is set to 1 as initialization. This n represents a bit pointer of the code to be decoded. In this case, n = 1 corresponds to the leftmost bit of the code.

ステップSC3では、画像切出部201は、入力された画像コード化データI3の周囲に画像データ(例えば、余白部分)を含む場合、全体から、有効な画像コード化データI3を切り出す。   In step SC3, when the image cutout unit 201 includes image data (for example, a blank portion) around the input image coded data I3, the image cutout unit 201 cuts out valid image coded data I3 from the whole.

ステップSC4では、ブロック分割部202は、ブロック分割部101(図1参照)と同様にして、ブロック分割処理により、画像切出部201で切り出された画像コード化データI3を16×16のブロックに分割し、これをブロック分割画像データ(図示略)としてブロック抽出部203へ出力する。   In step SC4, the block dividing unit 202 converts the image coded data I3 extracted by the image extracting unit 201 into 16 × 16 blocks by the block dividing process in the same manner as the block dividing unit 101 (see FIG. 1). This is divided and output to the block extraction unit 203 as block divided image data (not shown).

ステップSC5では、ブロック抽出部203は、ブロック抽出部102(図1参照)と同様にして、ブロック分割画像データ(図示略)から、n=1に対応するペアブロック(2つのブロック)を抽出した後、各ブロックにおける濃度分布をブロック濃度データとして平均化部204へ出力する。   In step SC5, the block extraction unit 203 extracts a pair block (two blocks) corresponding to n = 1 from the block divided image data (not shown) in the same manner as the block extraction unit 102 (see FIG. 1). Thereafter, the density distribution in each block is output to the averaging unit 204 as block density data.

ステップSC6では、平均化部204は、平均化部103(図1参照)と同様にして、平均化処理により、ブロック濃度データから、一方のブロックに対応する左側平均濃度データ(図示略)と、他方のブロックに対応する右側平均濃度データ(図示略)とを求める。   In step SC6, the averaging unit 204, as with the averaging unit 103 (see FIG. 1), performs averaging processing from the block density data to the left average density data (not shown) corresponding to one block, The right average density data (not shown) corresponding to the other block is obtained.

ステップSC7では、平均化部204は、左側平均濃度データ(図示略)をレジスタ205lに、右側平均濃度データ(図示略)をレジスタ205rにそれぞれ格納する。 In step SC7, the averaging unit 204, the left-side average density data (not shown) in the register 205 l, respectively store the right average density data (not shown) in the register 205 r.

ステップSC8では、比較部206は、レジスタ205lおよびレジスタ205rに格納されている左側平均濃度データおよび右側平均濃度データの大小関係を比較することにより、ビット判定を行い、ビット判定結果(前述した関係式により「0」または「1」とビット判定される)をデコード部207へ出力する。 In step SC8, comparing unit 206, by comparing the left average density data and the magnitude relation between the right average density data stored in the registers 205 l and the register 205 r, performs bit decision, the bit determination result (the above-mentioned The bit is determined as “0” or “1” according to the relational expression), and is output to the decoding unit 207.

ここで、比較部206は、左側平均濃度データと右側平均濃度データとの濃度差を求め、この濃度差が、一定の上限しきい値より大である場合、当該ペアブロックに対応するビット判定結果が信頼できないものとして、ビット判定結果を「2」(不確定:図10参照)とする。   Here, the comparison unit 206 obtains a density difference between the left average density data and the right average density data, and if this density difference is larger than a certain upper threshold value, a bit determination result corresponding to the pair block. Is unreliable, and the bit determination result is “2” (uncertain: see FIG. 10).

ステップSC9では、比較部206は、nを1インクリメントする。これにより、nが2とされる。ステップSC10では、比較部206は、nがnend(=16)より大であるか否かを判断し、この場合、判断結果を「No」とする。   In step SC9, the comparison unit 206 increments n by 1. As a result, n is set to 2. In step SC10, the comparison unit 206 determines whether n is greater than nend (= 16). In this case, the determination result is “No”.

以後、ステップSC10の判断結果が「Yes」となるまで、前述したステップSC5以降の動作が繰り返される。   Thereafter, the operation after step SC5 is repeated until the determination result of step SC10 is “Yes”.

そして、ステップSC9でnが17とされると、ステップSC10の判断結果が「Yes」とされる。この時点では、比較部206では、図10に示した候補コードC1がビット判別結果とされる。 When n is set to 17 in step SC9, the determination result in step SC10 is “Yes”. At this point, the comparison unit 206 uses the candidate code C 1 shown in FIG. 10 as the bit discrimination result.

ステップSC11では、比較部206は、ブロック分割画像データ(図示略)における最終のペアブロック(2つのブロック)に関する上述した処理が終了したか否かを判断し、この場合、判断結果を「No」とする。   In step SC11, the comparison unit 206 determines whether or not the above-described processing relating to the last pair block (two blocks) in the block-divided image data (not shown) has been completed. In this case, the determination result is “No”. And

ステップSC14では、比較部206は、n(=17)をリセットすべく、nを1とする。ステップSC5では、ブロック抽出部203は、ブロック分割画像データ(図示略)から、n=1に対応するつぎのペアブロック(2つのブロック)を抽出した後、各ブロックにおける濃度分布をブロック濃度データとして平均化部204へ出力する。   In step SC14, the comparison unit 206 sets n to 1 to reset n (= 17). In step SC5, the block extraction unit 203 extracts the next pair block (two blocks) corresponding to n = 1 from the block divided image data (not shown), and then uses the density distribution in each block as block density data. The result is output to the averaging unit 204.

以後、ステップSC11の判断結果が「Yes」となるまで、前述した動作が繰り返される。   Thereafter, the above-described operation is repeated until the determination result in step SC11 becomes “Yes”.

そして、ステップSC11の判断結果が「Yes」になると、ステップSC12では、デコード部207は、多数決判定処理を実行する。すなわち、この時点では、図10に示した候補コードC1〜C8がビット判定結果とされている。 When the determination result in step SC11 is “Yes”, in step SC12, the decoding unit 207 executes majority decision processing. That is, at this time, the candidate codes C 1 to C 8 shown in FIG. 10 are the bit determination results.

デコード部207は、候補コードC1〜C8からビット単位(同図縦方向のビット列)で多数決を採り、各ビット(全16ビット)を確定させる。例えば、候補コードC1〜C8の最左側ビットの場合には、「0」が2、「1」が5、「2」が1であるため、コードC’の最左側ビットが、多数決により「1」と確定される。 The decoding unit 207 takes a majority vote in bit units (bit string in the vertical direction in the figure) from the candidate codes C 1 to C 8 and determines each bit (all 16 bits). For example, in the case of the leftmost bits of the candidate codes C 1 to C 8 , since “0” is 2, “1” is 5, and “2” is 1, the leftmost bit of the code C ′ is determined by the majority decision. “1” is confirmed.

ステップSC13では、デコード部207は、上記多数決判定処理の結果を受けて、デコーダ200のデコード結果としてのコードC’(図10参照)を出力する。コードC’は、コードC(図4参照)と同一とされている。   In step SC13, the decoding unit 207 receives the result of the majority decision process and outputs a code C ′ (see FIG. 10) as a decoding result of the decoder 200. The code C ′ is the same as the code C (see FIG. 4).

以上説明したように、実施の形態1によれば、原画像データI0(図2参照)が分割された複数のブロック(ブロック分割画像データI1:図3参照)における各ペアブロックに平均濃度(特徴量)の大小関係に基づいて1つのビット(コード)を対応付けて、コードC(複数のコード)を複数のブロックに埋め込むこととしたので、従来のFFTが不要となり、画像データに対するコードの埋め込みに要する処理を低減することができる。   As described above, according to the first embodiment, an average density (feature) is obtained for each pair block in a plurality of blocks (block divided image data I1: see FIG. 3) obtained by dividing the original image data I0 (see FIG. 2). Since a single bit (code) is associated with each other based on the magnitude relation of the amount) and the code C (plural codes) is embedded in a plurality of blocks, the conventional FFT is not required and the code is embedded in the image data. The processing required for this can be reduced.

また、実施の形態1によれば、動作例1(図6参照)で説明したように、ペアブロックにおける平均濃度の大小関係が、埋め込むべきビット(コード)と一致しない場合、大小関係を逆転させるように当該ペアブロックにおける当該平均濃度を変更することとしたので、任意のコードを自在に埋め込むことができる。   Further, according to the first embodiment, as described in the operation example 1 (see FIG. 6), when the average density magnitude relationship in the pair block does not match the bit (code) to be embedded, the magnitude relationship is reversed. As described above, since the average density in the pair block is changed, an arbitrary code can be freely embedded.

また、実施の形態1によれば、動作例1(図6参照)で説明したように、ペアブロックにおけるブロック間の濃度差(特徴量の差)が、上限しきい値を超えている場合、当該平均濃度を変更しないこととしたので、過大な平均濃度の変更に伴う画質の劣化を防止することができる。   Further, according to the first embodiment, as described in the operation example 1 (see FIG. 6), when the density difference between the blocks in the pair blocks (difference in feature amount) exceeds the upper limit threshold value, Since the average density is not changed, it is possible to prevent image quality deterioration due to an excessive change in the average density.

また、実施の形態1によれば、動作例2(図8参照)で説明したように、平均濃度(特徴量)の大小関係が埋め込むべきビット(コード)と一致し、かつ当該ペアブロックにおけるブロック間の濃度差(特徴量の差)が下限しきい値未満である場合、該差が下限しきい値以上となるように当該平均濃度を変更することとしたので、デコーダ200におけるコードのデコード時に、大小関係が逆転する等、精度の低下を防止することができる。   Further, according to the first embodiment, as described in the operation example 2 (see FIG. 8), the magnitude relationship of the average density (feature amount) matches the bit (code) to be embedded, and the block in the pair block When the difference in density (difference in feature amount) is less than the lower threshold value, the average density is changed so that the difference becomes equal to or higher than the lower threshold value. It is possible to prevent a decrease in accuracy, such as a reversal of the magnitude relationship.

また、実施の形態1によれば、特徴量を平均濃度としたので、特徴量にかかる計算を簡易にすることができる。   Further, according to the first embodiment, since the feature amount is set to the average density, the calculation related to the feature amount can be simplified.

また、実施の形態1によれば、図5に示したように、コードCを繰り返し(8回)埋め込むこととしたので、デコード時に多数決等により不確定なコードを特定することができ、信頼性を高めることができる。   Also, according to the first embodiment, as shown in FIG. 5, since the code C is repeatedly embedded (eight times), an indeterminate code can be identified by a majority decision at the time of decoding, and reliability is improved. Can be increased.

また、実施の形態1によれば、デコーダ200において画像データに対するコードのデコードに要する処理を低減することができる。   Further, according to the first embodiment, the processing required for decoding the code for the image data in the decoder 200 can be reduced.

(実施の形態2)
さて、前述した実施の形態1においては、エンコーダ100でコードC(図4参照)そのものを用いて、エンコードし、デコーダ200でデコードする構成例について説明したが、コードを誤り訂正符号(例えば、BCH(Bose Chaudhuri Hocquenghem)符号やリードソロモン符号等)を用いてエンコードされた誤り訂正符号用コードをエンコードし、デコーダ側でデコードする構成例としてもよい。以下では、この構成例を実施の形態2として説明する。
(Embodiment 2)
In the first embodiment described above, the configuration example in which the encoder 100 encodes the code C (see FIG. 4) itself and the decoder 200 decodes the code has been described. However, the code is converted into an error correction code (for example, BCH). An error correction code code encoded using (Bose Chaudhuri Hocquenghem) code, Reed-Solomon code, or the like) may be encoded and decoded on the decoder side. Hereinafter, this configuration example will be described as a second embodiment.

以下では、実施の形態2にかかる画像データ処理装置の具体例として、原画像データに別データとしてのコード(2進数)を埋め込み、画像コード化データを生成するためのエンコーダ300(図12参照)と、画像コード化データからコードを読み出すデコーダ400(図13参照)とについて説明する。   In the following, as a specific example of the image data processing apparatus according to the second embodiment, an encoder 300 (see FIG. 12) for embedding a code (binary number) as another data in original image data and generating image coded data. And the decoder 400 (see FIG. 13) that reads the code from the image coded data will be described.

図12は、本発明にかかる実施の形態2におけるエンコーダ300の構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付け、その説明を省略する。   FIG. 12 is a block diagram showing a configuration of the encoder 300 according to the second embodiment of the present invention. In this figure, parts corresponding to those in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted.

図12においては、誤り訂正符号エンコード部301が新たに設けられているとともに、図1に示した比較部105およびエンコード部106に代えて、比較部302およびエンコード部303が設けられている。   In FIG. 12, an error correction code encoding unit 301 is newly provided, and a comparison unit 302 and an encoding unit 303 are provided instead of the comparison unit 105 and the encoding unit 106 shown in FIG.

誤り訂正符号エンコード部301は、xビットからなるコードCaを誤り訂正符号(例えば、BCH符号)を用いてエンコードし、誤り訂正符号用コードCEを生成する。   The error correction code encoding unit 301 encodes a code Ca composed of x bits using an error correction code (for example, a BCH code), and generates an error correction code code CE.

この誤り訂正符号用コードCEは、コードCa(xビット)と、コードCaおよび所定の算出式から計算された冗長ビット(yビット)とから構成されており、(x+y)ビット(例えば、15ビット)である。この誤り訂正符号用コードCEによれば、例えば、3ビットのエラーが発生しても、誤り訂正により、元のコードCaを復元することが可能となる。   The error correction code CE includes a code Ca (x bits) and redundant bits (y bits) calculated from the code Ca and a predetermined calculation formula, and (x + y) bits (for example, 15 bits). ). According to this error correction code CE, for example, even if a 3-bit error occurs, the original code Ca can be restored by error correction.

ここで、エンコーダ300は、原画像データI0(図2参照)に誤り訂正符号用コードCEを例えば8回埋め込み、画像コード化データI4を生成するための装置である。エンコーダ100(図1参照)と異なる点は、誤り訂正符号用コードCEを用いている点である。   Here, the encoder 300 is an apparatus for embedding the error correction code CE in the original image data I0 (see FIG. 2), for example, eight times to generate the image coded data I4. The difference from the encoder 100 (see FIG. 1) is that an error correction code CE is used.

比較部302は、誤り訂正符号用コードCEのnビット目と、レジスタ104lおよびレジスタ104rに格納されている左側平均濃度データDlおよび右側平均濃度データDrの大小関係から決定されるビット判定結果(実施の形態1で説明した関係式により「0」または「1」とビット判定される:図3参照)とを比較する。 The comparison unit 302 is a bit determined from the n-th bit of the error correction code code CE and the magnitude relationship between the left average density data D l and the right average density data D r stored in the register 104 l and the register 104 r. The determination result (“0” or “1” is bit-determined by the relational expression described in the first embodiment: see FIG. 3) is compared.

エンコード部303は、比較部302の比較結果に基づいて、ブロック分割画像データI1(原画像データI0)に誤り訂正符号用コードCEを埋め込むための処理を実行する。具体的には、エンコード部303は、比較部302の比較結果が一致である場合、左側平均濃度データDlと右側平均濃度データDrとの大小関係を維持し、一方、比較結果が不一致である場合、誤り訂正符号用コードCEのビットを表す大小関係となるように左側平均濃度データDlと右側平均濃度データDrを変更(大小関係を逆転)し、画像コード化データI4を生成し、これを出力する。 Based on the comparison result of the comparison unit 302, the encoding unit 303 executes a process for embedding the error correction code code CE in the block divided image data I1 (original image data I0). Specifically, the encoding unit 303 maintains the magnitude relationship between the left average density data D l and the right average density data D r when the comparison results of the comparison unit 302 match, while the comparison results do not match. In some cases, the left average density data D 1 and the right average density data Dr are changed (the magnitude relation is reversed) so as to have a magnitude relationship representing the bits of the error correction code CE, thereby generating image coded data I4. And output this.

この画像コード化データI4は、図5に示した画像コード化データI3と同様の構成とされている。従って、画像コード化データI4には、同一の誤り訂正符号用コードCE(15(x+y)ビット)が合計8回埋め込まれている。   The image coded data I4 has the same configuration as the image coded data I3 shown in FIG. Therefore, the same error correction code code CE (15 (x + y) bits) is embedded eight times in total in the image coded data I4.

また、エンコーダ300の各構成要素は、図示しない制御部を介して相互接続されている。   Each component of the encoder 300 is interconnected via a control unit (not shown).

なお、エンコーダ300の動作は、誤り訂正符号用コードCEを用いる点を除いて前述したエンコーダ100の動作と同様であるためその説明を省略する。   The operation of the encoder 300 is the same as the operation of the encoder 100 described above except that the error correction code code CE is used, and a description thereof will be omitted.

図13は、本発明にかかる実施の形態2におけるデコーダ400の構成を示すブロック図である。このデコーダ400は、エンコーダ300(図12参照)でエンコードされた画像コード化データI4から、埋め込まれた誤り訂正符号用コードCE(コードCa)をデコードするための装置である。   FIG. 13 is a block diagram showing a configuration of the decoder 400 according to the second embodiment of the present invention. The decoder 400 is a device for decoding the embedded error correction code CE (code Ca) from the image encoded data I4 encoded by the encoder 300 (see FIG. 12).

この図において、図9の各部に対応する部分には同一の符号を付け、その説明を省略する。図13においては、図9に示した比較部206およびデコード部207に代えて、比較部401およびデコード部402が設けられている。   In this figure, the same reference numerals are given to the portions corresponding to the respective portions in FIG. In FIG. 13, a comparison unit 401 and a decoding unit 402 are provided instead of the comparison unit 206 and the decoding unit 207 shown in FIG.

比較部401は、比較部206(図9参照)と同様にして、レジスタ205lおよびレジスタ205rに格納されている左側平均濃度データおよび右側平均濃度データの大小関係を比較することにより、ビット判定を行い、ビット判定結果(実施の形態1で説明した関係式により「0」または「1」とビット判定される)に対応する候補誤り訂正符号用コード群CEG(候補誤り訂正符号用コードCE1〜CE8:図15参照)をデコード部402へ出力する。 Similarly to the comparison unit 206 (see FIG. 9), the comparison unit 401 compares the left average density data and the right average density data stored in the register 205 l and the register 205 r , thereby determining the bit. And a candidate error correcting code group CEG (candidate error correcting code CE 1 corresponding to the bit determination result (determined as “0” or “1” by the relational expression described in the first embodiment)). To CE 8 (see FIG. 15) are output to the decoding unit 402.

ここで、図15に示した候補誤り訂正符号用コードCE1〜CE8のそれぞれは、15(x+y)ビット構成とされており、画像コード化データI4に埋め込まれた8つの誤り訂正符号用コード(15ビット)がデコードされた結果であり、誤り訂正符号用コードCE’(図15参照)の候補である。 Here, each of the candidate error correction code codes CE 1 to CE 8 shown in FIG. 15 has a 15 (x + y) bit configuration, and eight error correction code codes embedded in the image encoded data I4. (15 bits) is the result of decoding, and is a candidate for the error correction code code CE ′ (see FIG. 15).

また、候補誤り訂正符号用コードCE1〜CE8において、「2」は、「1」または「0」のビット判定が不確定であるビットを表している。 In the candidate error correction code CE 1 to CE 8 , “2” represents a bit for which the bit determination of “1” or “0” is indeterminate.

デコード部402は、図15に示したように、比較部401の比較結果に対応する候補誤り訂正符号用コードCE1〜CE8からビット単位(同図縦方向のビット列)で多数決を採り、各ビット(全15ビット)を確定させ、誤り訂正符号用コードCE’とする。 As shown in FIG. 15, the decoding unit 402 takes a majority decision in bit units (bit string in the vertical direction in the figure) from the candidate error correction code codes CE 1 to CE 8 corresponding to the comparison result of the comparing unit 401. Bits (all 15 bits) are determined and set as an error correction code CE ′.

ここで、厳密に言うと、多数決による誤り訂正符号用コードCE’には、エラービットが含まれている可能性がある。そこで、実施の形態2において、デコード部402は、候補誤り訂正符号用コードCE1〜CE8(候補誤り訂正符号用コード群CEG)において「2」(不確定)のビットを、誤り訂正符号用コードCE’の対応するビットに置換するという補完処理を実行し、候補誤り訂正符号用コードCE’1〜CE’8(候補誤り訂正符号用コード群CEG’)を得る。 Strictly speaking, there is a possibility that an error bit is included in the error correcting code CE ′ by majority vote. Therefore, in the second embodiment, decoding section 402 uses “2” (indeterminate) bits for error correcting code in candidate error correcting code codes CE 1 to CE 8 (candidate error correcting code group CEG). Complementary processing of replacing with the corresponding bit of the code CE ′ is executed to obtain candidate error correcting code codes CE ′ 1 to CE ′ 8 (candidate error correcting code group CEG ′).

また、デコード部402は、候補誤り訂正符号用コードCE’1〜CE’8のそれぞれについて、誤り訂正符号デコード処理(例えば、BCH符号に基づくデコード処理)を実行し、コード(図12に示したコードCaに対応)およびエラー数を得る。エラー数は、誤り訂正符号用コードCE’1〜CE’8のそれぞれにおけるエラービットの数である。 Further, the decoding unit 402 performs error correction code decoding processing (for example, decoding processing based on the BCH code) for each of the candidate error correction code codes CE ′ 1 to CE ′ 8 , and codes (shown in FIG. 12). Corresponding to the code Ca) and the number of errors. The number of errors is the number of error bits in each of the error correction code codes CE ′ 1 to CE ′ 8 .

また、デコード部402は、誤り訂正符号デコード処理で得られたコードのうち、最小のエラー数に対応するコードをコードCa’として出力する。このコードCa’は、デコーダ400のデコード結果である。   Further, the decoding unit 402 outputs, as a code Ca ′, a code corresponding to the minimum number of errors among the codes obtained by the error correction code decoding process. This code Ca ′ is a decoding result of the decoder 400.

また、デコーダ400の各構成要素は、図示しない制御部を介して相互接続されている。   Each component of the decoder 400 is interconnected via a control unit (not shown).

つぎに、図13に示したデコーダ400の動作について、図14に示したフローチャートを参照しつつ説明する。   Next, the operation of the decoder 400 shown in FIG. 13 will be described with reference to the flowchart shown in FIG.

同図において、ステップSD1では、画像切出部201に画像コード化データI4(図12および図13参照)が入力される。ステップSD2では、初期化としてnが1とされる。このnは、デコード対象のコードのビットのポインタを表す。この場合、n=1は、コードの最左側のビットに対応している。   In the figure, in step SD1, image coded data I4 (see FIGS. 12 and 13) is input to the image cutout unit 201. In step SD2, n is set to 1 as initialization. This n represents a bit pointer of the code to be decoded. In this case, n = 1 corresponds to the leftmost bit of the code.

ステップSD3では、画像切出部201は、入力された画像コード化データI4の周囲に画像データ(例えば、余白部分)を含む場合、全体から、有効な画像コード化データI4を切り出す。   In step SD3, when the image cutout unit 201 includes image data (for example, a blank portion) around the input image coded data I4, the image cutout unit 201 cuts out valid image coded data I4 from the whole.

ステップSD4では、ブロック分割部202は、ブロック分割処理により、画像切出部201で切り出された画像コード化データI4をM×Nのブロックに分割し、これをブロック分割画像データ(図示略)としてブロック抽出部203へ出力する。   In step SD4, the block dividing unit 202 divides the image coded data I4 cut out by the image cutout unit 201 into M × N blocks by block division processing, and this is divided into block divided image data (not shown). The data is output to the block extraction unit 203.

ステップSD5では、ブロック抽出部203は、ブロック分割画像データ(図示略)から、n=1に対応するペアブロック(2つのブロック)を抽出した後、各ブロックにおける濃度分布をブロック濃度データとして平均化部204へ出力する。   In step SD5, the block extraction unit 203 extracts a pair block (two blocks) corresponding to n = 1 from block divided image data (not shown), and then averages the density distribution in each block as block density data. Output to the unit 204.

ステップSD6では、平均化部204は、平均化処理により、ブロック濃度データから、一方のブロックに対応する左側平均濃度データ(図示略)と、他方のブロックに対応する右側平均濃度データ(図示略)とを求める。   In step SD6, the averaging unit 204 performs an averaging process to calculate left average density data (not shown) corresponding to one block and right average density data (not shown) corresponding to the other block from the block density data. And ask.

ステップSD7では、平均化部204は、左側平均濃度データ(図示略)をレジスタ205lに、右側平均濃度データ(図示略)をレジスタ205rにそれぞれ格納する。 At step SD7, the averaging unit 204, the left-side average density data (not shown) in the register 205 l, respectively store the right average density data (not shown) in the register 205 r.

ステップSD8では、比較部401は、レジスタ205lおよびレジスタ205rに格納されている左側平均濃度データおよび右側平均濃度データの大小関係を比較することにより、ビット判定を行い、ビット判定結果(前述した関係式により「0」または「1」とビット判定される)をデコード部402へ出力する。 In step SD8, comparing unit 401, by comparing the left average density data and the magnitude relation between the right average density data stored in the registers 205 l and the register 205 r, performs bit decision, the bit determination result (the above-mentioned The bit is determined as “0” or “1” according to the relational expression).

ここで、比較部401は、左側平均濃度データと右側平均濃度データとの濃度差を求め、この濃度差が、ステップSA14(図6参照)で説明した上限しきい値より大である場合、当該ペアブロックに対応するビット判定結果が信頼できないものとして、ビット判定結果を「2」(不確定:図15参照)とする。   Here, the comparison unit 401 obtains a density difference between the left average density data and the right average density data, and when this density difference is larger than the upper limit threshold value described in step SA14 (see FIG. 6), Assuming that the bit determination result corresponding to the pair block is unreliable, the bit determination result is “2” (indeterminate: see FIG. 15).

ステップSD9では、比較部401は、nを1インクリメントする。これにより、nが2とされる。ステップSD10では、比較部401は、ステップSC10(図11参照)と同様にして、nがnend(=15)より大であるか否かを判断し、この場合、判断結果を「No」とする。   In step SD9, the comparison unit 401 increments n by 1. As a result, n is set to 2. In step SD10, the comparison unit 401 determines whether n is larger than nend (= 15) in the same manner as in step SC10 (see FIG. 11). In this case, the determination result is “No”. .

以後、ステップSD10の判断結果が「Yes」となるまで、前述したステップSD5以降の動作が繰り返される。   Thereafter, the operations after step SD5 are repeated until the determination result of step SD10 is “Yes”.

そして、ステップSD9でnが17とされると、ステップSD10の判断結果が「Yes」とされる。この時点では、比較部401では、図15に示した候補誤り訂正符号用コードCE1がビット判別結果とされる。 When n is set to 17 in step SD9, the determination result in step SD10 is “Yes”. At this point, the comparison unit 401 uses the candidate error correcting code code CE 1 shown in FIG. 15 as the bit discrimination result.

ステップSD11では、比較部401は、ブロック分割画像データ(図示略)における最終のペアブロック(2つのブロック)に関する上述した処理が終了したか否かを判断し、この場合、判断結果を「No」とする。   In step SD11, the comparison unit 401 determines whether or not the above-described processing relating to the last pair block (two blocks) in the block-divided image data (not shown) has been completed. In this case, the determination result is “No”. And

ステップSD16では、比較部401は、n(=16)をリセットすべく、nを1とする。ステップSD5では、ブロック抽出部203は、ブロック分割画像データ(図示略)から、n=1に対応するつぎのペアブロック(2つのブロック)を抽出した後、各ブロックにおける濃度分布をブロック濃度データとして平均化部204へ出力する。   In step SD16, the comparison unit 401 sets n to 1 to reset n (= 16). In step SD5, the block extraction unit 203 extracts the next pair block (two blocks) corresponding to n = 1 from the block divided image data (not shown), and then uses the density distribution in each block as block density data. The result is output to the averaging unit 204.

以後、ステップSD11の判断結果が「Yes」となるまで、前述した動作が繰り返される。   Thereafter, the above-described operation is repeated until the determination result in step SD11 becomes “Yes”.

そして、ステップSD11の判断結果が「Yes」になると、ステップSD12では、デコード部402は、ステップSC12(図11参照)と同様にして、多数決判定処理を実行する。すなわち、この時点では、図15に示した候補誤り訂正符号用コードCE1〜CE8がビット判定結果とされている。 When the determination result in step SD11 is “Yes”, in step SD12, the decoding unit 402 executes majority decision processing in the same manner as in step SC12 (see FIG. 11). That is, at this time, the candidate error correcting code codes CE 1 to CE 8 shown in FIG. 15 are the bit determination results.

デコード部402は、候補誤り訂正符号用コードCE1〜CE8からビット単位(同図縦方向のビット列)で多数決を採り、各ビット(全15ビット)を確定させる。これにより、誤り訂正符号用コードCE’が生成される。 The decoding unit 402 takes a majority vote in bit units (bit string in the vertical direction in the figure) from the candidate error correction code codes CE 1 to CE 8 and determines each bit (15 bits in total). As a result, an error correcting code CE ′ is generated.

例えば、候補誤り訂正符号用コードCE1〜CE8の最左側ビットの場合には、「0」が2、「1」が5、「2」が1であるため、誤り訂正符号用コードCE’の最左側ビットが、多数決により「1」と確定される。 For example, in the case of the leftmost bits of the candidate error correcting code CE 1 to CE 8 , “0” is 2, “1” is 5, and “2” is 1, so that the error correcting code CE ′ The leftmost bit of is determined as “1” by majority vote.

ステップSD13では、デコード部402は、候補誤り訂正符号用コードCE1〜CE8(候補誤り訂正符号用コード群CEG)において「2」(不確定)のビットを、誤り訂正符号用コードCE’の対応するビットに置換するという補完処理を実行し、候補誤り訂正符号用コード群CEG’(候補誤り訂正符号用コードCE’1〜CE’8)を得る。 In step SD13, the decoding unit 402 converts the bit of “2” (indeterminate) into the error correction code code CE ′ in the candidate error correction code codes CE 1 to CE 8 (candidate error correction code group CEG). A complementary process of replacing with the corresponding bit is executed to obtain a candidate error correcting code group CEG ′ (candidate error correcting code codes CE ′ 1 to CE ′ 8 ).

ステップSD14では、デコード部402は、誤り訂正符号デコード処理により、候補誤り訂正符号用コードCE’1〜CE’8のそれぞれについて、誤り訂正符号デコード処理(例えば、BCH符号に基づくデコード処理)を実行し、コード(図12に示したコードCaに対応)およびエラー数を得る。 In step SD14, the decoding unit 402 performs error correction code decoding processing (for example, decoding processing based on the BCH code) for each of the candidate error correction code codes CE ′ 1 to CE ′ 8 by error correction code decoding processing. The code (corresponding to the code Ca shown in FIG. 12) and the number of errors are obtained.

ステップSD15では、デコード部402は、誤り訂正符号デコード処理で得られたコードのうち、最小のエラー数に対応するコードをコードCa’として出力する。   In step SD15, the decoding unit 402 outputs, as a code Ca ', a code corresponding to the minimum number of errors among the codes obtained by the error correction code decoding process.

以上説明したように、実施の形態2によれば、図12を参照して説明したように、誤り訂正符号用コードCEを複数のブロックに埋め込むこととしたので、デコーダ400等における誤り訂正が可能となり、信頼性を高めることができる。   As described above, according to the second embodiment, as described with reference to FIG. 12, since the error correction code CE is embedded in a plurality of blocks, error correction in the decoder 400 or the like is possible. Thus, reliability can be improved.

(実施の形態3)
さて、前述した実施の形態1および2においては、図3に示したように、ブロック(例えば、ブロックBl18)の全体における平均濃度を用いて、エンコードおよびデコードを行う構成例について説明したが、ブロックの一部分(例えば、中央部)の平均濃度を用いる構成例としてもよい。以下では、この構成例を実施の形態3として説明する。
(Embodiment 3)
In the first and second embodiments described above, as illustrated in FIG. 3, the configuration example in which encoding and decoding are performed using the average density of the entire block (for example, the block B 118 ) has been described. It is good also as a structural example using the average density | concentration of a part (for example, center part) of a block. Hereinafter, this configuration example will be described as a third embodiment.

図16は、本発明にかかる実施の形態3を説明する図である。同図において、ブロックBは、実施の形態1および2における上記ブロック(例えば、図3に示したブロックBl18)に対応しており、t×t画素サイズとされている。実施の形態3では、ブロックBの一部分としての中央部Ba((t/2)×(t/2)画素サイズ)における平均濃度を用いて、エンコードおよびデコードが行われる。 FIG. 16 is a diagram for explaining the third embodiment according to the present invention. In the figure, a block B corresponds to the block (for example, the block B 118 shown in FIG. 3) in the first and second embodiments, and has a t × t pixel size. In the third embodiment, encoding and decoding are performed using the average density in the central portion Ba ((t / 2) × (t / 2) pixel size) as a part of the block B.

以上説明したように、実施の形態3によれば、ブロックの全体の平均濃度を用いた場合に比べて、濃度変更処理にかかる処理量を低減させることができる。   As described above, according to the third embodiment, it is possible to reduce the processing amount for the density changing process compared to the case where the average density of the entire block is used.

(実施の形態4)
さて、前述した実施の形態1〜3をカラー画像に適用した場合、カラー画像を明度に変換したグレースケール画像(白黒画像)に対してコードを埋め込む方法と、カラー画像における三原色(シアン、マゼンダ、イエロ)のカラーコンポーネント(シアンコンポーネント、マゼンダコンポーネント、黄色コンポーネント)のうちいずれかのコンポーネント(例えば、黄色コンポーネント)にコードを埋め込む方法とが考えられる。
(Embodiment 4)
When the first to third embodiments described above are applied to a color image, a method of embedding a code in a grayscale image (monochrome image) obtained by converting a color image into lightness, and three primary colors (cyan, magenta, A method of embedding codes in any one of the yellow color components (cyan component, magenta component, yellow component) (for example, yellow component) is conceivable.

後者の方法は、前者の方法に比べて、濃度変更をしても人間の目で見分けがつきにくいという利点がある(図18図参照)。図18には、実施の形態4における濃度変更量とMOS(Mean Opinion Score:平均主観値)との対応関係を表すグラフである。   Compared to the former method, the latter method has an advantage that it is difficult for human eyes to distinguish even if the density is changed (see FIG. 18). FIG. 18 is a graph showing the correspondence between the concentration change amount and MOS (Mean Opinion Score) in the fourth embodiment.

このグラフは、画像評価方法として周知の国際照明学会(ITU−T)で規定されている主観評価方法により評価した結果である。主観評価方法では、濃度変更量分だけ変更をかけた変更後画像と、原画像との見た目の差がわからない場合、MOS値が5点、差が大きくなるにつれてMOS値が低くなるように評価される。   This graph is a result of evaluation by a subjective evaluation method defined by the International Lighting Association (ITU-T), which is well known as an image evaluation method. In the subjective evaluation method, when the apparent difference between the original image and the post-change image that has been changed by the amount of density change is not known, the MOS value is evaluated as 5 points, and the MOS value is decreased as the difference increases. The

また、グラフにおいて、「黄色」は、黄色コンポーネントの画像に関する評価結果である。「明度」は、グレースケールの画像に関する評価結果である。このグラフからわかるように、黄色コンポーネント(「黄色」)は、濃度変更量を大きくしても、グレースケール(「明度」)に比べてMOS値が高い。従って、黄色コンポーネントに対して濃度変更をかける後者の方法は、人間の目で見分けがつきにくいのである。   In the graph, “yellow” is an evaluation result regarding the image of the yellow component. “Brightness” is an evaluation result regarding a grayscale image. As can be seen from this graph, the yellow component (“yellow”) has a higher MOS value than the gray scale (“lightness”) even when the density change amount is increased. Therefore, the latter method of changing the density of the yellow component is difficult to distinguish with the human eye.

以下では、カラーコンポーネント(この場合、黄色コンポーネント)にコードを埋め込む構成例を実施の形態4として説明する。   Hereinafter, a configuration example in which a code is embedded in a color component (in this case, a yellow component) will be described as a fourth embodiment.

図17は、本発明にかかる実施の形態4におけるエンコーダ500の構成を示すブロック図である。この図において、図12の各部に対応する部分には同一の符号を付け、その説明を省略する。   FIG. 17 is a block diagram showing a configuration of an encoder 500 according to the fourth embodiment of the present invention. In this figure, the same reference numerals are given to portions corresponding to the respective portions in FIG. 12, and description thereof is omitted.

図17においては、黄色コンポーネント切出部501および黄色コンポーネント統合部502が新たに設けられている。黄色コンポーネント切出部501は、ブロック濃度データDから黄色コンポーネントを切り出し、これを黄色ブロック濃度データDEとして、平均化部103へ出力する。   In FIG. 17, a yellow component cutout unit 501 and a yellow component integration unit 502 are newly provided. The yellow component cutout unit 501 cuts out a yellow component from the block density data D, and outputs this to the averaging unit 103 as yellow block density data DE.

また、黄色コンポーネント切出部501は、黄色ブロック濃度データDEから、一方のブロックに対応する左側平均濃度データDElと、他方のブロックに対応する右側平均濃度データDErとを求め、これらをレジスタ104lおよびレジスタ104rに格納する。 Further, the yellow component cutout unit 501 obtains the left average density data DE l corresponding to one block and the right average density data DE r corresponding to the other block from the yellow block density data DE, and registers them. 104 l and register 104 r .

また、黄色コンポーネント切出部501は、ブロック濃度データDからシアンコンポーネントおよびマゼンダコンポーネントを切り出し、これらをシアン/マゼンダブロック濃度データDCMとして、黄色コンポーネント統合部502へ出力する。   Further, the yellow component cutout unit 501 cuts out the cyan component and the magenta component from the block density data D, and outputs them to the yellow component integration unit 502 as cyan / magenta block density data DCM.

実施の形態4においては、黄色ブロック濃度データDEに対して処理が実行され、黄色コンポーネントの濃度が変更される。エンコード部303は、黄色コンポーネントに対応する黄色画像コード化データIE4を出力する。黄色コンポーネント統合部502は、黄色画像コード化データIE4とシアン/マゼンダブロック濃度データDCMとを統合し、画像コード化データI5として出力する。   In the fourth embodiment, the process is executed on the yellow block density data DE, and the density of the yellow component is changed. The encoding unit 303 outputs yellow image coded data IE4 corresponding to the yellow component. The yellow component integration unit 502 integrates the yellow image coded data IE4 and the cyan / magenta block density data DCM and outputs the result as image coded data I5.

以上説明したように、実施の形態4によれば、黄色コンポーネント切出部501で黄色コンポーネントを切り出し、黄色コンポーネントの複数のブロックに対して埋め込みを行うこととしたので、黄色が目立たないという特性を利用して、画質を劣化させることなく、データ判別能力を維持することができる。   As described above, according to the fourth embodiment, since the yellow component is cut out by the yellow component cutout unit 501 and embedded in a plurality of blocks of the yellow component, the characteristic that yellow is not conspicuous is obtained. By utilizing this, it is possible to maintain the data discrimination capability without degrading the image quality.

(実施の形態5)
さて、実施の形態1では、図9に示した画像切出部201における画像切り出しについて詳述しなかったが、図19に示したように、画像コード化データI3の四隅に余白部分Pとの区別をするための黄色マークME1〜ME4をエンコーダ100(図1参照)で付加する構成例としてもよい。以下では、この構成例を実施の形態5として説明する。
(Embodiment 5)
In the first embodiment, the image clipping in the image clipping unit 201 illustrated in FIG. 9 has not been described in detail. However, as illustrated in FIG. 19, the margins P are formed at the four corners of the image encoded data I3. the yellow mark ME 1 ~ME 4 for the distinction may be configured example of adding the encoder 100 (see FIG. 1). Hereinafter, this configuration example will be described as a fifth embodiment.

図19において、黄色マークME1〜ME4は、黄色の微小ドットであり、図18を参照して説明したように、目立ちにくい。 In FIG. 19, yellow marks ME 1 to ME 4 are yellow micro dots, and are hardly noticeable as described with reference to FIG.

つぎに、図9に示した画像切出部201における画像切り出しについて説明する。図19に示した余白部分Pおよび画像コード化データI3(黄色マークME1〜ME4)が画像切出部201に入力されると、図21に示した四隅探索処理が実行される。 Next, image clipping in the image clipping unit 201 illustrated in FIG. 9 will be described. When the margin P and the image coded data I3 (yellow marks ME 1 to ME 4 ) shown in FIG. 19 are input to the image cutout unit 201, the four corner search process shown in FIG. 21 is executed.

この四隅探索処理では、図19に示した画像コード化データI3の四隅(黄色マークME1〜ME4)が探索される。以下では、余白部分P(白)の画素値を255とし、黒(黄色)の画素値を0とする。 In this four-corner search process, four corners (yellow marks ME 1 to ME 4 ) of the image coded data I3 shown in FIG. 19 are searched. Hereinafter, the pixel value of the margin P (white) is set to 255, and the pixel value of black (yellow) is set to 0.

具体的には、図20に示したステップSE1では、画像切出部201は、画像コード化データI3の周囲である余白部分P(白)において最小画素値(例えば、250)を探索する。ステップSE2では、画像切出部201は、上記最小画素値(250)に安全率(0.9)を掛けて、しきい値(225)を設定する。   Specifically, in step SE1 shown in FIG. 20, the image cutout unit 201 searches for the minimum pixel value (for example, 250) in the blank portion P (white) around the image encoded data I3. In step SE2, the image cutout unit 201 sets a threshold value (225) by multiplying the minimum pixel value (250) by the safety factor (0.9).

ステップSE3では、画像切出部201は、図21に示したように、余白部分Pの角(同図では、左上角)から、斜め45度の探索ラインLをX方向に動かしつつしきい値(255)以下の画素の位置を探索する。   In step SE3, as shown in FIG. 21, the image cut-out unit 201 moves the search line L at an angle of 45 degrees in the X direction from the corner of the margin P (upper left corner in the figure) while moving the threshold value. (255) The following pixel positions are searched.

そして、探索ラインLが黄色マークME1に到達すると、この黄色マークME1の画素値(=0)がしきい値以下であるため、画像切出部201は、画像コード化データI3の四隅における一つの隅として、黄色マークME1の位置を確定する。 When the search line L reaches the yellow mark ME 1, in the pixel value of the yellow marks ME 1 (= 0) because it is below the threshold, the image cut-out unit 201, the four corners of the image coded data I3 As a corner, the position of the yellow mark ME 1 is determined.

ステップSE4では、画像切出部201は、画像コード化データI3の四隅が探索されたか否かを判断し、この場合、判断結果を「No」とする。以後、他の三隅について、ステップSE3の処理が実行される。そして、図19に示した四隅(黄色マークME1〜ME4)が探索されると、画像切出部201は、ステップSE4の判断結果を「Yes」とする。 In step SE4, the image cutout unit 201 determines whether or not the four corners of the image encoded data I3 have been searched. In this case, the determination result is “No”. Thereafter, the process of step SE3 is executed for the other three corners. When the four corners (yellow marks ME 1 to ME 4 ) shown in FIG. 19 are searched, the image cutout unit 201 sets “Yes” as a result of the determination made at step SE4.

つぎに、画像切出部201は、黄色マークME1〜ME4の位置座標を用いて、周知のアフィン変換等により、図19に示した全体画像(余白部分Pおよび画像コード化データI3)から画像コード化データI3を切り出す。 Next, the image cutout unit 201 uses the position coordinates of the yellow marks ME 1 to ME 4 to perform a known affine transformation or the like from the entire image (margin portion P and image coded data I3) shown in FIG. The image coded data I3 is cut out.

以上説明したように、実施の形態5によれば、図19に示したように、埋め込み結果である画像コード化データI3に切り出し用の黄色マークME1〜ME4を付与することとしたので、デコード時における画像の切り出しを容易に行うことができる。 As described above, according to the fifth embodiment, as shown in FIG. 19, the yellow marks ME 1 to ME 4 for clipping are added to the image encoded data I3 that is the embedding result. It is possible to easily cut out an image at the time of decoding.

以上本発明にかかる実施の形態1〜5について図面を参照して詳述してきたが、具体的な構成例はこれらの実施の形態1〜5に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。   Although Embodiments 1 to 5 according to the present invention have been described in detail with reference to the drawings, specific configuration examples are not limited to these Embodiments 1 to 5 and depart from the gist of the present invention. Even if there is a design change or the like within a range not to be included, it is included in the present invention.

例えば、前述した実施の形態1〜5においては、エンコーダ100、デコーダ200、エンコーダ300、デコーダ400またはエンコーダ500の機能を実現するためのプログラムを図22に示したコンピュータ読み取り可能な記録媒体700に記録して、この記録媒体700に記録されたプログラムを同図に示したコンピュータ600に読み込ませ、実行することにより各機能を実現してもよい。   For example, in Embodiments 1 to 5 described above, a program for realizing the functions of the encoder 100, the decoder 200, the encoder 300, the decoder 400, or the encoder 500 is recorded in the computer-readable recording medium 700 shown in FIG. Then, each function may be realized by causing the computer 600 shown in the figure to read and execute the program recorded in the recording medium 700.

同図に示したコンピュータ600は、上記プログラムを実行するCPU(Central Processing Unit)610と、キーボード、マウス等の入力装置620と、各種データを記憶するROM(Read Only Memory)630と、演算パラメータ等を記憶するRAM(Random Access Memory)640と、記録媒体700からプログラムを読み取る読取装置650と、ディスプレイ、プリンタ等の出力装置660とから構成されている。   A computer 600 shown in the figure includes a CPU (Central Processing Unit) 610 that executes the above-described program, an input device 620 such as a keyboard and a mouse, a ROM (Read Only Memory) 630 that stores various data, an operation parameter, and the like. RAM (Random Access Memory) 640, a reading device 650 for reading a program from the recording medium 700, and an output device 660 such as a display and a printer.

CPU610は、読取装置650を経由して記録媒体700に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体700としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。   The CPU 610 implements the above-described functions by reading a program recorded on the recording medium 700 via the reading device 650 and then executing the program. Examples of the recording medium 700 include an optical disk, a flexible disk, and a hard disk.

また、実施の形態1〜5においては、画像(ブロック)の特徴量として平均濃度を用いた例について説明したが、これに限定されることなく、粒状度、彩度、濃度重心、分散等の画像から求められる他の特徴量を用いてもよい。この場合、特徴量を、粒状度、彩度、濃度重心または分散としたので、目立ちにくく、画質の影響を低減することができる。   Further, in the first to fifth embodiments, the example in which the average density is used as the feature amount of the image (block) has been described. However, the present invention is not limited to this, and the granularity, saturation, density gravity center, dispersion, and the like are not limited thereto. Other feature amounts obtained from the image may be used. In this case, since the feature amount is granularity, saturation, density gravity center or dispersion, it is difficult to notice and the influence of image quality can be reduced.

また、実施の形態1〜5においては、上記特徴量を所定の変換ルールに基づいて、別の特徴量に変換したものを用いてもよい。   In the first to fifth embodiments, the feature amount converted into another feature amount based on a predetermined conversion rule may be used.

(付記1)画像データを複数のブロックに分割する分割手段と、
前記複数のブロックにおける各特徴量を抽出する特徴量抽出手段と、
前記複数のブロックにおける各ペアブロックに前記特徴量の大小関係に基づいて1つのコードを対応付けて、複数のコードを前記複数のブロックに埋め込むエンコード手段と、
を備えたことを特徴とする画像データ処理装置。
(Supplementary Note 1) Dividing means for dividing image data into a plurality of blocks;
Feature quantity extraction means for extracting each feature quantity in the plurality of blocks;
Encoding means for associating one code with each pair block in the plurality of blocks based on the magnitude relationship of the feature amount, and embedding the plurality of codes in the plurality of blocks;
An image data processing apparatus comprising:

(付記2)前記エンコード手段は、前記ペアブロックにおける前記特徴量の大小関係が、埋め込むべきコードと一致しない場合、大小関係を逆転させるように当該ペアブロックにおける当該特徴量を変更することを特徴とする付記1に記載の画像データ処理装置。 (Supplementary note 2) The encoding means, when the magnitude relation of the feature quantity in the pair block does not match the code to be embedded, changes the feature quantity in the pair block so as to reverse the magnitude relation. The image data processing apparatus according to appendix 1.

(付記3)前記エンコード手段は、前記ペアブロックにおけるブロック間の特徴量の差が、上限しきい値を超えている場合、当該特徴量を変更しないことを特徴とする付記2に記載の画像データ処理装置。 (Additional remark 3) The said encoding means does not change the said feature-value, when the difference of the feature-value between the blocks in the said pair block exceeds an upper limit threshold value, The image data of Additional remark 2 characterized by the above-mentioned Processing equipment.

(付記4)前記エンコード手段は、前記ペアブロックにおける前記特徴量の大小関係が埋め込むべきコードと一致し、かつ当該ペアブロックにおけるブロック間の特徴量の差が下限しきい値未満である場合、該差が下限しきい値以上となるように当該ペアブロックにおける当該特徴量を変更することを特徴とする付記1〜3のいずれか一つに記載の画像データ処理装置。 (Supplementary note 4) When the encoding unit matches the code of the feature value in the pair block with the code to be embedded, and the difference in the feature value between the blocks in the pair block is less than a lower threshold, 4. The image data processing apparatus according to any one of appendices 1 to 3, wherein the feature amount in the pair block is changed so that the difference is equal to or greater than a lower limit threshold value.

(付記5)画像データを複数のブロックに分割する分割手段と、
コードを誤り訂正符号を用いてエンコードし、誤り訂正符号用のコードを生成する誤り訂正符号用コード生成手段と、
前記複数のブロックにおける各特徴量を抽出する特徴量抽出手段と、
前記複数のブロックにおける各ペアブロックに前記特徴量の大小関係に基づいて1つの誤り訂正符号用のコードを対応付けて、複数の誤り訂正符号用のコードを前記複数のブロックに埋め込むエンコード手段と、
を備えたことを特徴とする画像データ処理装置。
(Supplementary Note 5) Dividing means for dividing image data into a plurality of blocks;
Error correction code code generation means for encoding a code using an error correction code and generating a code for the error correction code;
Feature quantity extraction means for extracting each feature quantity in the plurality of blocks;
Encoding means for associating a code for one error correction code with each pair block in the plurality of blocks based on the magnitude relationship of the feature quantity, and embedding a plurality of codes for error correction code in the plurality of blocks;
An image data processing apparatus comprising:

(付記6)前記特徴量抽出手段は、各ブロックの一部分における各特徴量を抽出することを特徴とする付記1〜5のいずれか一つに記載の画像データ処理装置。 (Supplementary note 6) The image data processing device according to any one of supplementary notes 1 to 5, wherein the feature amount extraction unit extracts each feature amount in a part of each block.

(付記7)前記複数のブロックから黄色コンポーネントを切り出す切出手段を備え、前記エンコード手段は、該黄色コンポーネントの複数のブロックに対して埋め込みを行うことを特徴とする付記1〜6のいずれか一つに記載の画像データ処理装置。 (Supplementary note 7) Any one of Supplementary notes 1 to 6, further comprising: a cutout unit that cuts out a yellow component from the plurality of blocks, wherein the encoding unit embeds the plurality of blocks of the yellow component. The image data processing device described in 1.

(付記8)前記エンコード手段は、埋め込み結果である画像に切り出し用の切出マーク画素を付与することを特徴とする付記1〜7のいずれか一つに記載の画像データ処理装置。 (Supplementary note 8) The image data processing apparatus according to any one of supplementary notes 1 to 7, wherein the encoding unit adds a cutout mark pixel for cutout to an image that is an embedding result.

(付記9)前記特徴量は、平均濃度であることを特徴とする付記1〜8のいずれか一つに記載の画像データ処理装置。 (Supplementary note 9) The image data processing apparatus according to any one of supplementary notes 1 to 8, wherein the feature amount is an average density.

(付記10)前記特徴量は、粒状度、彩度、濃度重心または分散であることを特徴とする付記1〜8のいずれか一つに記載の画像データ処理装置。 (Supplementary note 10) The image data processing apparatus according to any one of supplementary notes 1 to 8, wherein the feature amount is granularity, saturation, density gravity center, or dispersion.

(付記11)前記エンコード手段は、複数のコードを繰り返し埋め込むことを特徴とする付記1〜10のいずれか一つに記載の画像データ処理装置。 (Supplementary note 11) The image data processing apparatus according to any one of supplementary notes 1 to 10, wherein the encoding unit repeatedly embeds a plurality of codes.

(付記12)付記1〜11のいずれか一つに記載の画像データ処理装置における埋め込み結果である画像から前記複数のコードをデコードする画像データ処理装置。 (Supplementary note 12) An image data processing device that decodes the plurality of codes from an image that is an embedding result in the image data processing device according to any one of Supplementary notes 1 to 11.

(付記13)画像データを複数のブロックに分割する分割工程と、
前記複数のブロックにおける各特徴量を抽出する特徴量抽出工程と、
前記複数のブロックにおける各ペアブロックに前記特徴量の大小関係に基づいて1つのコードを対応付けて、複数のコードを前記複数のブロックに埋め込むエンコード工程と、
を含むことを特徴とする画像データ処理方法。
(Supplementary note 13) a dividing step of dividing the image data into a plurality of blocks;
A feature amount extraction step of extracting each feature amount in the plurality of blocks;
An encoding step of associating one code with each pair block in the plurality of blocks based on the magnitude relation of the feature amount, and embedding the plurality of codes in the plurality of blocks,
An image data processing method comprising:

(付記14)前記エンコード工程では、前記ペアブロックにおける前記特徴量の大小関係が、埋め込むべきコードと一致しない場合、大小関係を逆転させるように当該ペアブロックにおける当該特徴量を変更することを特徴とする付記13に記載の画像データ処理方法。 (Additional remark 14) In the said encoding process, when the magnitude relationship of the said feature-value in the said pair block does not correspond with the code which should be embedded, the said feature-value in the said pair block is changed so that a magnitude relationship may be reversed, It is characterized by the above-mentioned. The image data processing method according to appendix 13.

(付記15)前記エンコード工程では、前記ペアブロックにおけるブロック間の特徴量の差が、上限しきい値を超えている場合、当該特徴量を変更しないことを特徴とする付記14に記載の画像データ処理方法。 (Supplementary note 15) The image data according to supplementary note 14, wherein, in the encoding step, the feature quantity is not changed when a difference in feature quantity between the blocks in the pair block exceeds an upper limit threshold value. Processing method.

(付記16)前記エンコード工程では、前記ペアブロックにおける前記特徴量の大小関係が埋め込むべきコードと一致し、かつ当該ペアブロックにおけるブロック間の特徴量の差が下限しきい値未満である場合、該差が下限しきい値以上となるように当該ペアブロックにおける当該特徴量を変更することを特徴とする付記13〜15のいずれか一つに記載の画像データ処理方法。 (Supplementary Note 16) In the encoding step, when the magnitude relationship of the feature amount in the pair block matches a code to be embedded, and the difference in feature amount between the blocks in the pair block is less than a lower threshold, The image data processing method according to any one of appendices 13 to 15, wherein the feature amount in the pair block is changed so that the difference is equal to or greater than a lower threshold value.

(付記17)画像データを複数のブロックに分割する分割工程と、
コードを誤り訂正符号を用いてエンコードし、誤り訂正符号用のコードを生成する誤り訂正符号用コード生成工程と、
前記複数のブロックにおける各特徴量を抽出する特徴量抽出工程と、
前記複数のブロックにおける各ペアブロックに前記特徴量の大小関係に基づいて1つの誤り訂正符号用のコードを対応付けて、複数の誤り訂正符号用のコードを前記複数のブロックに埋め込むエンコード工程と、
を含むことを特徴とする画像データ処理方法。
(Supplementary note 17) a division step of dividing image data into a plurality of blocks;
An error correction code code generation step for encoding the code using an error correction code and generating a code for the error correction code;
A feature amount extraction step of extracting each feature amount in the plurality of blocks;
An encoding step of associating a code for one error correction code with each pair block in the plurality of blocks based on the magnitude relation of the feature amount, and embedding a plurality of codes for the error correction code in the plurality of blocks;
An image data processing method comprising:

(付記18)前記特徴量抽出工程では、各ブロックの一部分における各特徴量を抽出することを特徴とする付記13〜17のいずれか一つに記載の画像データ処理方法。 (Supplementary note 18) The image data processing method according to any one of supplementary notes 13 to 17, wherein in the feature quantity extraction step, each feature quantity in a part of each block is extracted.

(付記19)前記複数のブロックから黄色コンポーネントを切り出す切出工程を含み、前記エンコード工程では、該黄色コンポーネントの複数のブロックに対して埋め込みを行うことを特徴とする付記13〜18のいずれか一つに記載の画像データ処理方法。 (Supplementary note 19) Any one of Supplementary notes 13 to 18, including a cutting step of cutting out a yellow component from the plurality of blocks, wherein the encoding step includes embedding a plurality of blocks of the yellow component. The image data processing method described in 1.

(付記20)前記エンコード工程では、埋め込み結果である画像に切り出し用の切出マーク画素を付与することを特徴とする付記13〜19のいずれか一つに記載の画像データ処理方法。 (Supplementary note 20) The image data processing method according to any one of supplementary notes 13 to 19, wherein in the encoding step, a cutout mark pixel for cutout is added to an image that is an embedding result.

(付記21)前記特徴量は、平均濃度であることを特徴とする付記13〜20のいずれか一つに記載の画像データ処理方法。 (Supplementary note 21) The image data processing method according to any one of supplementary notes 13 to 20, wherein the feature amount is an average density.

(付記22)前記特徴量は、粒状度、彩度、濃度重心または分散であることを特徴とする付記13〜20のいずれか一つに記載の画像データ処理方法。 (Supplementary note 22) The image data processing method according to any one of supplementary notes 13 to 20, wherein the feature amount is granularity, saturation, density gravity center, or dispersion.

(付記23)前記エンコード工程では、複数のコードを繰り返し埋め込むことを特徴とする付記13〜22のいずれか一つに記載の画像データ処理方法。 (Supplementary note 23) The image data processing method according to any one of supplementary notes 13 to 22, wherein in the encoding step, a plurality of codes are repeatedly embedded.

(付記24)付記13〜23のいずれか一つに記載の画像データ処理方法における埋め込み結果である画像から前記複数のコードをデコードするための画像データ処理方法。 (Supplementary Note 24) An image data processing method for decoding the plurality of codes from an image that is an embedding result in the image data processing method according to any one of Supplementary notes 13 to 23.

(付記25)コンピュータを、
画像データを複数のブロックに分割する分割手段、
前記複数のブロックにおける各特徴量を抽出する特徴量抽出手段、
前記複数のブロックにおける各ペアブロックに前記特徴量の大小関係に基づいて1つのコードを対応付けて、複数のコードを前記複数のブロックに埋め込むエンコード手段、
として機能させるための画像データ処理プログラム。
(Appendix 25) Computer
A dividing means for dividing the image data into a plurality of blocks;
Feature quantity extraction means for extracting each feature quantity in the plurality of blocks;
Encoding means for associating one code with each pair block in the plurality of blocks based on the magnitude relation of the feature amount, and embedding the plurality of codes in the plurality of blocks;
Image data processing program for functioning as

(付記26)前記エンコード手段は、前記ペアブロックにおける前記特徴量の大小関係が、埋め込むべきコードと一致しない場合、大小関係を逆転させるように当該ペアブロックにおける当該特徴量を変更することを特徴とする付記25に記載の画像データ処理プログラム。 (Supplementary note 26) When the magnitude relationship of the feature values in the pair block does not match the code to be embedded, the encoding unit changes the feature value in the pair block so as to reverse the magnitude relationship. The image data processing program according to attachment 25.

(付記27)前記エンコード手段は、前記ペアブロックにおけるブロック間の特徴量の差が、上限しきい値を超えている場合、当該特徴量を変更しないことを特徴とする付記26に記載の画像データ処理プログラム。 (Supplementary note 27) The image data according to supplementary note 26, wherein the encoding unit does not change the feature amount when a difference in feature amount between the blocks in the pair block exceeds an upper limit threshold value. Processing program.

(付記28)前記エンコード手段は、前記ペアブロックにおける前記特徴量の大小関係が埋め込むべきコードと一致し、かつ当該ペアブロックにおけるブロック間の特徴量の差が下限しきい値未満である場合、該差が下限しきい値以上となるように当該ペアブロックにおける当該特徴量を変更することを特徴とする付記25〜27のいずれか一つに記載の画像データ処理プログラム。 (Supplementary note 28) When the encoding unit matches the code of the feature amount in the pair block with a code to be embedded, and the difference in feature amount between the blocks in the pair block is less than a lower threshold, The image data processing program according to any one of appendices 25 to 27, wherein the feature amount in the pair block is changed so that the difference is equal to or greater than a lower limit threshold value.

(付記29)コンピュータを、
画像データを複数のブロックに分割する分割手段、
コードを誤り訂正符号を用いてエンコードし、誤り訂正符号用のコードを生成する誤り訂正符号用コード生成手段、
前記複数のブロックにおける各特徴量を抽出する特徴量抽出手段、
前記複数のブロックにおける各ペアブロックに前記特徴量の大小関係に基づいて1つの誤り訂正符号用のコードを対応付けて、複数の誤り訂正符号用のコードを前記複数のブロックに埋め込むエンコード手段、
として機能させるための画像データ処理プログラム。
(Supplementary note 29)
A dividing means for dividing the image data into a plurality of blocks;
Error correction code code generation means for encoding a code using an error correction code and generating a code for the error correction code;
Feature quantity extraction means for extracting each feature quantity in the plurality of blocks;
Encoding means for associating one error correction code code with each pair block in the plurality of blocks based on the magnitude relationship of the feature quantity, and embedding the plurality of error correction code codes in the plurality of blocks,
Image data processing program for functioning as

(付記30)前記特徴量抽出手段は、各ブロックの一部分における各特徴量を抽出することを特徴とする付記25〜29のいずれか一つに記載の画像データ処理プログラム。 (Supplementary Note 30) The image data processing program according to any one of Supplementary Notes 25 to 29, wherein the feature amount extraction unit extracts each feature amount in a part of each block.

(付記31)前記コンピュータを、前記複数のブロックから黄色コンポーネントを切り出す切出手段として機能させ、前記エンコード手段は、該黄色コンポーネントの複数のブロックに対して埋め込みを行うことを特徴とする付記25〜30のいずれか一つに記載の画像データ処理プログラム。 (Supplementary note 31) The computer is caused to function as a cutting unit that cuts out a yellow component from the plurality of blocks, and the encoding unit embeds the plurality of blocks of the yellow component. 30. The image data processing program according to any one of 30.

(付記32)前記エンコード手段は、埋め込み結果である画像に切り出し用の切出マーク画素を付与することを特徴とする付記25〜31のいずれか一つに記載の画像データ処理プログラム。 (Supplementary note 32) The image data processing program according to any one of supplementary notes 25 to 31, wherein the encoding unit adds a cutout mark pixel for cutout to an image that is an embedding result.

(付記33)前記特徴量は、平均濃度であることを特徴とする付記25〜32のいずれか一つに記載の画像データ処理プログラム。 (Supplementary note 33) The image data processing program according to any one of supplementary notes 25 to 32, wherein the feature amount is an average density.

(付記34)前記特徴量は、粒状度、彩度、濃度重心または分散であることを特徴とする付記25〜32のいずれか一つに記載の画像データ処理プログラム。 (Supplementary note 34) The image data processing program according to any one of supplementary notes 25 to 32, wherein the feature amount is granularity, saturation, density gravity center, or dispersion.

(付記35)前記エンコード手段は、複数のコードを繰り返し埋め込むことを特徴とする付記25〜34のいずれか一つに記載の画像データ処理プログラム。 (Supplementary Note 35) The image data processing program according to any one of Supplementary Notes 25 to 34, wherein the encoding means repeatedly embeds a plurality of codes.

(付記36)付記25〜35のいずれか一つに記載の画像データ処理プログラムにおける埋め込み結果である画像から前記複数のコードをデコードさせるための画像データ処理プログラム。 (Supplementary note 36) An image data processing program for decoding the plurality of codes from an image as an embedding result in the image data processing program according to any one of supplementary notes 25 to 35.

以上のように、本発明に係る画像データ処理装置、画像データ処理方法および画像データ処理プログラムは、画像にデータを埋め込んで利用する場合に有用であり、特に、印刷画像にデータを埋め込んで利用する場合に適している。   As described above, the image data processing device, the image data processing method, and the image data processing program according to the present invention are useful when data is embedded in an image and used particularly when data is embedded in a print image. Suitable for cases.

本発明にかかる実施の形態1におけるエンコーダ100の構成を示すブロック図である。It is a block diagram which shows the structure of the encoder 100 in Embodiment 1 concerning this invention. 図1に示した原画像データI0を示す図である。It is a figure which shows the original image data I0 shown in FIG. 図1に示したブロック分割画像データI1を示す図である。It is a figure which shows the block division | segmentation image data I1 shown in FIG. 図1に示したコードCを示す図である。It is a figure which shows the code | cord | chord C shown in FIG. 図1に示した画像コード化データI3を示す図である。It is a figure which shows the image coding data I3 shown in FIG. 図1に示したエンコーダ100の動作例1を説明するフローチャートである。3 is a flowchart illustrating an operation example 1 of the encoder 100 illustrated in FIG. 1. 図1に示したエンコーダ100における濃度変更処理を説明する図である。It is a figure explaining the density change process in the encoder 100 shown in FIG. 図1に示したエンコーダ100の動作例2を説明するフローチャートである。6 is a flowchart illustrating an operation example 2 of the encoder 100 illustrated in FIG. 1. 同実施の形態1におけるデコーダ200の構成を示すブロック図である。2 is a block diagram showing a configuration of a decoder 200 in the first embodiment. FIG. 図9に示したデコーダ200における多数決判定処理を説明する図である。It is a figure explaining the majority determination process in the decoder 200 shown in FIG. 図9に示したデコーダ200の動作を説明するフローチャートである。10 is a flowchart for explaining the operation of the decoder 200 shown in FIG. 9. 本発明にかかる実施の形態2におけるエンコーダ300の構成を示すブロック図である。It is a block diagram which shows the structure of the encoder 300 in Embodiment 2 concerning this invention. 同実施の形態2におけるデコーダ400の構成を示すブロック図である。It is a block diagram which shows the structure of the decoder 400 in the same Embodiment 2. 図13に示したデコーダ400の動作を説明するフローチャートである。14 is a flowchart for explaining the operation of the decoder 400 shown in FIG. 13. 図13に示したデコーダ400におけるコード決定処理を説明する図である。It is a figure explaining the code determination process in the decoder 400 shown in FIG. 本発明にかかる実施の形態3を説明する図である。It is a figure explaining Embodiment 3 concerning this invention. 本発明にかかる実施の形態4におけるエンコーダ500の構成を示すブロック図である。It is a block diagram which shows the structure of the encoder 500 in Embodiment 4 concerning this invention. 同実施の形態4における濃度変更量とMOS値との関係を示すグラフである。10 is a graph showing a relationship between a density change amount and a MOS value in the fourth embodiment. 本発明にかかる実施の形態5における画像切出処理を説明する図である。It is a figure explaining the image cutting-out process in Embodiment 5 concerning this invention. 同実施の形態5における四隅探索処理を説明するフローチャートである。16 is a flowchart for describing four corner search processing according to the fifth embodiment. 同実施の形態5における四隅探索処理を説明する図である。It is a figure explaining the four corner search process in the same Embodiment 5. FIG. 本発明にかかる実施の形態1〜5の変形例の構成を示すブロック図である。It is a block diagram which shows the structure of the modification of Embodiment 1-5 concerning this invention.

符号の説明Explanation of symbols

100 エンコーダ
101 ブロック分割部
102 ブロック抽出部
103 平均化部
104l、104r レジスタ
105 比較部
106 エンコード部
200 デコーダ
201 画像切出部
202 ブロック分割部
203 ブロック抽出部
204 平均化部
205l、205r レジスタ
206 比較部
207 デコード部
300 エンコーダ
301 誤り訂正符号エンコード部
302 比較部
303 エンコード部
400 デコーダ
401 比較部
402 デコード部
500 エンコーダ
501 黄色コンポーネント切出部
502 黄色コンポーネント統合部
100 encoder 101 block dividing unit 102 block extracting unit 103 averaging unit 104 l, 104 r register 105 comparator unit 106 encoding unit 200 decoder 201 image cutting unit 202 block dividing unit 203 block extracting unit 204 averaging unit 205 l, 205 r Register 206 Comparison unit 207 Decoding unit 300 Encoder 301 Error correction code encoding unit 302 Comparison unit 303 Encoding unit 400 Decoder 401 Comparison unit 402 Decoding unit 500 Encoder 501 Yellow component extraction unit 502 Yellow component integration unit

Claims (27)

画像データに埋め込まれたコードを抽出するための画像データ処理装置において、
画像データを複数のブロックに分割する分割手段と、
前記複数のブロックの各ブロックにおける特徴量を抽出する特徴量抽出手段と、
2つのブロックからなるペアブロックの各ブロック間における前記特徴量の大小関係に基づいて前記ペアブロックからコードを抽出するデコード手段と、
を備え、
前記デコード手段は、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける右側ブロックの特徴量が左側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第一の符号を抽出し、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける左側ブロックの特徴量が右側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第二の符号を抽出し、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上である場合、前記ペアブロックからビット判定結果が不確定であるとして第三の符号を抽出し、
前記第一の符号、前記第二の符号および前記第三の符号に基づいてコードを抽出することを特徴とする画像データ処理装置。
In an image data processing apparatus for extracting a code embedded in image data,
A dividing means for dividing the image data into a plurality of blocks;
Feature quantity extraction means for extracting feature quantities in each block of the plurality of blocks;
Decoding means for extracting a code from the pair block based on the magnitude relationship of the feature amount between each block of a pair block consisting of two blocks;
With
The decoding means includes
When the feature amount difference between the blocks in the pair block is not equal to or greater than the upper threshold value and the feature amount of the right block in the pair block is larger than the feature amount of the left block, the bit determination result from the pair block Extract the first code,
When the difference in feature quantity between the blocks in the pair block is not equal to or greater than the upper threshold value and the feature quantity in the left block in the pair block is larger than the feature quantity in the right block, the bit determination result from the pair block Extract the second code,
If the difference in the feature amount between the blocks in the pair block is equal to or greater than an upper threshold, the third code is extracted from the pair block as an uncertain bit determination result,
An image data processing apparatus that extracts a code based on the first code, the second code, and the third code.
前記デコード手段により得られたコードを用い、画像に埋め込まれたコードの誤り訂正を行う誤り訂正処理手段をさらに備えたことを特徴とする請求項1に記載の画像データ処理装置。   2. The image data processing apparatus according to claim 1, further comprising error correction processing means for correcting an error of a code embedded in an image using the code obtained by the decoding means. 前記特徴量抽出手段は、各ブロックの一部分における特徴量を抽出することを特徴とする請求項1または2に記載の画像データ処理装置。   The image data processing apparatus according to claim 1, wherein the feature amount extraction unit extracts a feature amount in a part of each block. 前記特徴量抽出手段は、各ブロックの中央部分における特徴量を抽出することを特徴とする請求項3に記載の画像データ処理装置。   The image data processing apparatus according to claim 3, wherein the feature amount extraction unit extracts a feature amount in a central portion of each block. 前記特徴量抽出手段は、画像データに含まれる特定色コンポーネントの特徴量を抽出し、
前記デコード手段は、前記特徴量抽出手段により抽出された特定色コンポーネントの特徴量により複数のブロックに対して埋め込まれたコードを抽出することを特徴とする請求項1〜4のいずれか一つに記載の画像データ処理装置。
The feature amount extraction unit extracts a feature amount of a specific color component included in image data,
5. The code according to claim 1, wherein the decoding unit extracts a code embedded in a plurality of blocks based on the feature amount of the specific color component extracted by the feature amount extraction unit. The image data processing apparatus described.
前記特定色コンポーネントは黄色コンポーネントであることを特徴とする請求項5に記載の画像データ処理装置。   The image data processing apparatus according to claim 5, wherein the specific color component is a yellow component. 前記ペアブロックは、隣接する2つのブロックであることを特徴とする請求項1〜6のいずれかに一つに記載の画像データ処理装置。   The image data processing apparatus according to claim 1, wherein the pair block is two adjacent blocks. 前記分割手段は、画像に付与された切り出し用の切出マーク画素に基づき、画像の分割を行うことを特徴とする請求項1〜7のいずれか一つに記載の画像データ処理装置。   The image data processing apparatus according to claim 1, wherein the dividing unit divides the image based on cutout cutout mark pixels added to the image. 前記特徴量は、平均濃度、粒状度、彩度、濃度重心または分散のうちの少なくとも1つであることを特徴とする請求項1〜8のいずれか一つに記載の画像データ処理装置。   The image data processing apparatus according to claim 1, wherein the feature amount is at least one of average density, granularity, saturation, density gravity center, and variance. 画像データに埋め込まれたコードを抽出するための画像データ処理方法において、
画像データを複数のブロックに分割する分割工程と、
前記複数のブロックの各ブロックにおける特徴量を抽出する特徴量抽出工程と、
2つのブロックからなるペアブロックの各ブロック間の前記特徴量の大小関係に基づいて前記ペアブロックからコードを抽出するデコード工程と、
を含み、
前記デコード工程は、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける右側ブロックの特徴量が左側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第一の符号を抽出し、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける左側ブロックの特徴量が右側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第二の符号を抽出し、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上である場合、前記ペアブロックからビット判定結果が不確定であるとして第三の符号を抽出し、
前記第一の符号、前記第二の符号および前記第三の符号に基づいてコードを抽出することを特徴とする画像データ処理方法。
In an image data processing method for extracting a code embedded in image data,
A division step of dividing the image data into a plurality of blocks;
A feature amount extraction step of extracting a feature amount in each block of the plurality of blocks;
A decoding step of extracting a code from the pair block based on the magnitude relationship of the feature quantity between each block of a pair block consisting of two blocks;
Including
The decoding step includes
When the feature amount difference between blocks in the pair block is not equal to or greater than the upper threshold value and the feature amount of the right block in the pair block is larger than the feature amount of the left block, the bit determination result from the pair block Extract the first code,
When the difference in the feature amount between the blocks in the pair block is not equal to or greater than the upper threshold value and the feature amount in the left block in the pair block is larger than the feature amount in the right block, the bit determination result from the pair block Extract the second code,
If the difference in feature amount between the blocks in the pair block is equal to or greater than an upper threshold, the third code is extracted from the pair block as an uncertain bit determination result,
An image data processing method, comprising: extracting a code based on the first code, the second code, and the third code.
前記デコード工程により得られたコードを用い、画像に埋め込まれたコードの誤り訂正を行う誤り訂正処理工程をさらに含んだことを特徴とする請求項10に記載の画像データ処理方法。   The image data processing method according to claim 10, further comprising an error correction processing step of correcting an error of a code embedded in an image using the code obtained by the decoding step. 前記特徴量抽出工程は、各ブロックの一部分における特徴量を抽出することを特徴とする請求項10または11に記載の画像データ処理方法。   12. The image data processing method according to claim 10, wherein the feature amount extraction step extracts a feature amount in a part of each block. 前記特徴量抽出工程は、各ブロックの中央部分における特徴量を抽出することを特徴とする請求項12に記載の画像データ処理方法。   The image data processing method according to claim 12, wherein the feature amount extraction step extracts a feature amount in a central portion of each block. 前記特徴量抽出工程は画像データに含まれる特定色コンポーネントの特徴量を抽出し、
前記デコード工程は、前記特徴量抽出工程により抽出された特定色コンポーネントの特徴量により複数のブロックに対して埋め込まれたコードを抽出することを特徴とする請求項10〜13のいずれか一つに記載の画像データ処理方法。
The feature amount extraction step extracts a feature amount of a specific color component included in the image data,
14. The code according to claim 10, wherein the decoding step extracts a code embedded in a plurality of blocks based on a feature amount of the specific color component extracted by the feature amount extraction step. The image data processing method described.
前記特定色コンポーネントは黄色コンポーネントであることを特徴とする請求項14に記載の画像データ処理方法。   The image data processing method according to claim 14, wherein the specific color component is a yellow component. 前記ペアブロックは、隣接する2つのブロックであることを特徴とする請求項10〜15のいずれかに一つに記載の画像データ処理方法。   16. The image data processing method according to claim 10, wherein the pair block is two adjacent blocks. 前記分割工程は、画像に付与された切り出し用の切出マーク画素に基づき、画像の分割を行うことを特徴とする請求項10〜16のいずれか一つに記載の画像データ処理方法。   The image data processing method according to any one of claims 10 to 16, wherein in the dividing step, the image is divided based on cut-out mark pixels for clipping given to the image. 前記特徴量は、平均濃度、粒状度、彩度、濃度重心または分散のうちの少なくとも1つであることを特徴とする請求項10〜17のいずれか一つに記載の画像データ処理方法。   The image data processing method according to claim 10, wherein the feature amount is at least one of average density, granularity, saturation, density gravity center, and variance. 画像データに埋め込まれたコードを抽出するための画像データ処理プログラムにおいて、
コンピュータを、
画像データを複数のブロックに分割する分割手段、
前記複数のブロックの各ブロックにおける特徴量を抽出する特徴量抽出手段、
2つのブロックからなるペアブロックのブロック間の前記特徴量の大小関係に基づいて前記ペアブロックからコードを抽出するデコード手段、
として機能させ、
前記デコード手段は、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける右側ブロックの特徴量が左側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第一の符号を抽出し、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上でなく、かつ、前記ペアブロックにおける左側ブロックの特徴量が右側ブロックの特徴量よりも大きい場合、前記ペアブロックからビット判定結果として第二の符号を抽出し、
前記ペアブロックにおけるブロック間の特徴量の差が上限しきい値以上である場合、前記ペアブロックからビット判定結果が不確定であるとして第三の符号を抽出し、
前記第一の符号、前記第二の符号および前記第三の符号に基づいてコードを抽出することを特徴とする画像データ処理プログラム。
In an image data processing program for extracting a code embedded in image data,
Computer
A dividing means for dividing the image data into a plurality of blocks;
Feature quantity extraction means for extracting feature quantities in each of the plurality of blocks;
Decoding means for extracting a code from the pair block based on the magnitude relationship of the feature quantity between the blocks of the pair block consisting of two blocks;
Function as
The decoding means includes
When the feature amount difference between the blocks in the pair block is not equal to or greater than the upper threshold value and the feature amount of the right block in the pair block is larger than the feature amount of the left block, the bit determination result from the pair block Extract the first code,
When the difference in feature quantity between the blocks in the pair block is not equal to or greater than the upper threshold value and the feature quantity in the left block in the pair block is larger than the feature quantity in the right block, the bit determination result from the pair block Extract the second code,
If the difference in the feature amount between the blocks in the pair block is equal to or greater than an upper threshold, the third code is extracted from the pair block as an uncertain bit determination result,
An image data processing program that extracts a code based on the first code, the second code, and the third code.
前記コンピュータを、
前記デコード手段により得られたコードを用い、画像に埋め込まれたコードの誤り訂正を行う誤り訂正処理手段としてさらに機能させることを特徴とする請求項19に記載の画像データ処理プログラム。
The computer,
20. The image data processing program according to claim 19, wherein the image data processing program further functions as error correction processing means for correcting an error of a code embedded in an image using the code obtained by the decoding means.
前記特徴量抽出手段は、各ブロックの一部分における特徴量を抽出することを特徴とする請求項19または20に記載の画像データ処理プログラム。   21. The image data processing program according to claim 19, wherein the feature amount extraction unit extracts a feature amount in a part of each block. 前記特徴量抽出手段は、各ブロックの中央部分における特徴量を抽出することを特徴とする請求項21に記載の画像データ処理プログラム。   The image data processing program according to claim 21, wherein the feature amount extraction unit extracts a feature amount in a central portion of each block. 前記特徴量抽出手段は、画像データに含まれる特定色コンポーネントの特徴量を抽出し、
前記デコード手段は、前記特徴量抽出手段により抽出された特定色コンポーネントの特徴量により複数のブロックに対して埋め込まれたコードを抽出することを特徴とする請求項19〜22のいずれか一つに記載の画像データ処理プログラム。
The feature amount extraction unit extracts a feature amount of a specific color component included in image data,
23. The code according to claim 19, wherein the decoding unit extracts a code embedded in a plurality of blocks based on the feature amount of the specific color component extracted by the feature amount extraction unit. The image data processing program described.
前記特定色コンポーネントは黄色コンポーネントであることを特徴とする請求項23に記載の画像データ処理プログラム。   The image data processing program according to claim 23, wherein the specific color component is a yellow component. 前記ペアブロックは、隣接する2つのブロックであることを特徴とする請求項19〜24のいずれかに一つに記載の画像データ処理プログラム。   The image data processing program according to any one of claims 19 to 24, wherein the pair block is two adjacent blocks. 前記分割手段は、画像に付与された切り出し用の切出マーク画素に基づき、画像の分割を行うことを特徴とする請求項19〜25のいずれか一つに記載の画像データ処理プログラム。   The image data processing program according to any one of claims 19 to 25, wherein the dividing unit divides the image on the basis of the cut-out mark pixel for cutting added to the image. 前記特徴量は、平均濃度、粒状度、彩度、濃度重心または分散のうちの少なくとも1つであることを特徴とする請求項19〜26のいずれか一つに記載の画像データ処理プログラム。   The image data processing program according to any one of claims 19 to 26, wherein the feature amount is at least one of average density, granularity, saturation, density gravity center, and variance.
JP2006035653A 2006-02-13 2006-02-13 Image data processing apparatus, image data processing method, and image data processing program Expired - Lifetime JP3996176B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006035653A JP3996176B2 (en) 2006-02-13 2006-02-13 Image data processing apparatus, image data processing method, and image data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006035653A JP3996176B2 (en) 2006-02-13 2006-02-13 Image data processing apparatus, image data processing method, and image data processing program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003142582A Division JP3784781B2 (en) 2003-05-20 2003-05-20 Image data processing apparatus, image data processing method, image data processing program, and image data processing system

Publications (2)

Publication Number Publication Date
JP2006191665A JP2006191665A (en) 2006-07-20
JP3996176B2 true JP3996176B2 (en) 2007-10-24

Family

ID=36798230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006035653A Expired - Lifetime JP3996176B2 (en) 2006-02-13 2006-02-13 Image data processing apparatus, image data processing method, and image data processing program

Country Status (1)

Country Link
JP (1) JP3996176B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5693134B2 (en) * 2009-11-04 2015-04-01 キヤノン株式会社 Information processing apparatus and control method thereof
US10049002B2 (en) * 2014-06-26 2018-08-14 Intel Corporation Display interface bandwidth modulation
CN110326279B (en) * 2017-02-23 2021-08-24 日本电信电话株式会社 Electronic watermark embedding device, electronic watermark detection device, electronic watermark embedding method, electronic watermark detection method, and storage medium

Also Published As

Publication number Publication date
JP2006191665A (en) 2006-07-20

Similar Documents

Publication Publication Date Title
JP3784781B2 (en) Image data processing apparatus, image data processing method, image data processing program, and image data processing system
JP5429909B2 (en) 2D code generated by 2D code generator
TW201710957A (en) Generating and decoding two-dimensional code
US7604180B2 (en) Code pattern, printed matter, image generating apparatus, image processing apparatus, image generating method, and information identifying method
US20070086060A1 (en) Encoding apparatus, decoding apparatus, encoding method, computer product, and printed material
JP3996176B2 (en) Image data processing apparatus, image data processing method, and image data processing program
JP3784825B2 (en) Image data processing apparatus, image data processing method, and image data processing program
US7840027B2 (en) Data embedding apparatus and printed material
JP4074641B2 (en) Image data processing apparatus, image data processing method, image data processing program, and image data processing system
TWI502516B (en) Beautifying method of quick response code and apparatus thereof
KR100563506B1 (en) Method and apparatus for processing image data and computer program
JP2009212800A (en) Image compression apparatus
JP2006237858A (en) Image processing apparatus, image processing method, program for allowing computer to execute the method, and recording medium
JP3545782B2 (en) How to keep confidential documents confidential
JP4635814B2 (en) Image processing apparatus, image processing method, and image processing program
JP4905142B2 (en) Image processing apparatus, printed matter, and image processing program
US20040008865A1 (en) Method of detecting digital watermark information
JP4836052B2 (en) Image processing apparatus, image processing system, and image processing program
Cai et al. Print-Scan Resistant Two-Level QR Code.
JP4821616B2 (en) Information embedding device, embedded information acquisition device
JP2002300374A (en) Program to execute electronic watermark information processing
JP2007006132A (en) Image processing apparatus, image processing method, and image processing program
JP6709607B2 (en) Two-dimensional code generation method, two-dimensional code generation device, program, two-dimensional code, two-dimensional code reading method, two-dimensional code reading device, and two-dimensional code management system
TW201643816A (en) Contour encryption and decryption
JP2005218033A (en) Image processor and image processing method

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070801

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3996176

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

EXPY Cancellation because of completion of term