JP2007028658A - Data processing apparatus, data processing method, and program - Google Patents
Data processing apparatus, data processing method, and program Download PDFInfo
- Publication number
- JP2007028658A JP2007028658A JP2006247163A JP2006247163A JP2007028658A JP 2007028658 A JP2007028658 A JP 2007028658A JP 2006247163 A JP2006247163 A JP 2006247163A JP 2006247163 A JP2006247163 A JP 2006247163A JP 2007028658 A JP2007028658 A JP 2007028658A
- Authority
- JP
- Japan
- Prior art keywords
- data
- embedded
- embedding
- image
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
本発明は、データ処理装置、データ処理方法、およびプログラムに関し、特に、例えば、画像データに対して、多くのデータを埋め込むとともに、そのデータが埋め込まれた画像データと、埋め込んだデータを復元すること等ができるようにするデータ処理装置、データ処理方法、およびプログラムに関する。 The present invention relates to a data processing device, a data processing method, and a program. In particular, for example, a large amount of data is embedded in image data, and the image data in which the data is embedded and the embedded data are restored. The present invention relates to a data processing apparatus, a data processing method, and a program that can perform the above.
例えば、情報としてのあるデータ系列に対して、そのデータ量を増加させることなく、他の情報としての他のデータ系列を埋め込む手法としては、ディジタル音声データ(オーディオデータ)の最下位ビットや、下位2ビットなどを、埋め込む情報に変換するものなどがある。この手法は、ディジタル音声データの下位ビットが、その音質にあまり影響を与えないことを利用し、その下位ビットを、単に、他のデータ系列を構成するデータに置き換えるものであり、従って、再生時には、他のデータ系列が埋め込まれたディジタル音声データは、その下位ビットを元に戻さずに、そのまま出力される。即ち、この場合、他のデータ系列に変換された下位ビットを、元に戻すのは困難であり、また、下位ビットは、音質に、あまり影響を与えないことから、ディジタル音声データは、他のデータ系列が埋め込まれた状態で出力される。 For example, as a method of embedding another data series as other information without increasing the amount of data with respect to a certain data series as information, the least significant bit or lower order of digital audio data (audio data) There are things that convert 2 bits into information to be embedded. This method uses the fact that the lower bits of the digital audio data do not significantly affect the sound quality, and simply replaces the lower bits with data constituting another data series. The digital audio data in which another data series is embedded is output as it is without returning the lower bits. That is, in this case, it is difficult to restore the lower bits converted to another data series, and the lower bits do not significantly affect the sound quality. The data series is output in an embedded state.
しかしながら、以上のような手法によれば、元の音声データと異なる音声データが出力される。即ち、元の音声データに埋め込まれた他のデータは、元の音声データにとっては、ノイズとなるから、他のデータが埋め込まれた音声データは、その音質が劣化したものとなる。 However, according to the above method, audio data different from the original audio data is output. In other words, the other data embedded in the original audio data becomes noise for the original audio data, and the sound quality of the audio data embedded with the other data is deteriorated.
また、音声データの他、画像データにも、上述の音声データにおける場合と同様にして、他のデータの埋め込みが可能であるが、この場合も、他のデータが埋め込まれた画像データは、その画質が劣化したものとなる。 In addition to audio data, image data can be embedded with other data in the same manner as in the above-described audio data. In this case as well, image data embedded with other data is The image quality is deteriorated.
そこで、本件出願人は、画質を劣化させることなく(画質の劣化を最低限に抑えて)、元の画像データと、それに埋め込まれていた他のデータを復元することのできる埋め込み手法について、先に提案している。 Therefore, the applicant of the present invention first described an embedding method that can restore the original image data and other data embedded in the original image data without degrading the image quality (minimizing degradation of the image quality). Propose to.
即ち、いま、他のデータを埋め込む対象となる画像データ等を、埋め込み対象データと、埋め込み対象データに埋め込まれる他のデータを、被埋め込みデータと、埋め込み対象データに対して被埋め込みデータを埋め込むことにより得られるデータを、埋め込み符号化データと、それぞれいうものとする。 In other words, image data or the like to be embedded with other data is embedded in the data to be embedded, the other data embedded in the data to be embedded, the data to be embedded, and the data to be embedded in the data to be embedded. The data obtained by the above is referred to as embedded encoded data.
被埋め込みデータを、埋め込み対象データに埋め込む埋め込み処理では、埋め込み対象データとしての画像データが、所定の操作ルールにしたがい、被埋め込みデータに対応して操作される。即ち、例えば、埋め込み対象データとしての画像データを構成する水平ライン(または垂直ライン)を、被埋め込みデータに対応する値だけ、左方向にローテーションするという操作ルールにしたがって、その埋め込み対象データとしての画像データが操作される。これにより、図1Aに示すように、埋め込み対象データに被埋め込みデータを埋め込んだ埋め込み符号化データが生成される。 In the embedding process for embedding embedded data in the data to be embedded, the image data as the data to be embedded is operated in accordance with the embedded data according to a predetermined operation rule. That is, for example, according to an operation rule that the horizontal line (or vertical line) constituting the image data as the embedding target data is rotated leftward by a value corresponding to the embedded data, the image as the embedding target data is Data is manipulated. As a result, as shown in FIG. 1A, embedded encoded data in which embedded data is embedded in the data to be embedded is generated.
一方、埋め込み符号化データを、埋め込み対象データと被埋め込みデータに復元する復元処理では、埋め込み符号化データが、埋め込み対象データとしての画像の相関性等を利用して、図1Bに示すように、元の埋め込み対象データと被埋め込みデータに復元される。即ち、例えば、埋め込み符号化データとされた画像データを構成する水平ラインを、順次、注目ラインとして、その注目ラインを、埋め込み処理における場合とは反対方向である左方向に、1画素ずつローテーションしながら、その注目ラインの1ライン上の水平ラインである基準ラインとの間の相関が計算され、その相関を最大にするローテーション量が求められる。そして、注目ラインが、基準ラインとの相関を最大にするローテーション量だけローテーションされることにより元の位置に戻されるとともに、そのローテーション量が、その注目ラインに埋め込まれていた被埋め込みデータとして復元される。 On the other hand, in the restoration process for restoring the embedded encoded data into the embedding target data and the embedded data, the embedded encoded data uses the correlation of the image as the embedding target data, as shown in FIG. The original data to be embedded and the data to be embedded are restored. That is, for example, the horizontal lines constituting the image data set as embedded encoded data are sequentially set as the target lines, and the target lines are rotated pixel by pixel in the left direction, which is the opposite direction to that in the embedding process. However, the correlation with the reference line, which is the horizontal line one line above the target line, is calculated, and the rotation amount that maximizes the correlation is obtained. Then, the attention line is rotated by the rotation amount that maximizes the correlation with the reference line, thereby returning to the original position, and the rotation amount is restored as embedded data embedded in the attention line. The
以上から、先に提案した埋め込み処理によれば、埋め込み対象データと被埋め込みデータを、埋め込み対象データのデータ量となる埋め込み符号化データに圧縮すること、即ち、被埋め込みデータの分だけ圧縮することができる。さらに、先に提案した復元処理によれば、埋め込み対象データとしての画像データの相関性を利用することにより、埋め込み符号化データを、特に復元のためのオーバヘッドなしで、元の埋め込み対象データと被埋め込みデータに復元することができる。 From the above, according to the previously proposed embedding process, the embedding target data and the embedding data are compressed into embedding encoded data corresponding to the data amount of the embedding target data, that is, the embedding data is compressed. Can do. Furthermore, according to the previously proposed restoration process, by using the correlation of the image data as the embedding target data, the embedded encoded data can be compared with the original embedding target data without any particular overhead for restoration. Can be restored to embedded data.
ところで、より多くの被埋め込みデータを埋め込むことができれば便利であるが、上述のように、ラインをローテーションするという操作ルールだけでは、画像データに埋め込むことのできる被埋め込みデータのデータ量は、その画像データを構成するライン数による制限を受ける。 By the way, it is convenient if more embedded data can be embedded, but as described above, the amount of embedded data that can be embedded in image data is determined by the operation rule of rotating a line. Limited by the number of lines that make up the data.
本発明は、このような状況に鑑みてなされたものであり、埋め込み対象データに対して、より多くの被埋め込みデータを埋め込む埋め込み処理と、その埋め込み処理によって得られた埋め込み符号化データを、元の埋め込み対象データと被埋め込みデータに復元する復元処理を行うこと等ができるようにするものである。 The present invention has been made in view of such a situation, and an embedding process for embedding more embedded data into embedding target data, and embedded encoded data obtained by the embedding process, It is possible to perform restoration processing for restoring data to be embedded and data to be embedded.
本発明の第1の側面のデータ処理装置は、入力データから、その特徴を表す特徴データを抽出する特徴データ抽出手段と、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込み手段とを備える。 According to a first aspect of the present invention, there is provided a data processing device that extracts feature data representing feature data from input data, and wherein the other information is embedded using the energy bias of the information. In accordance with a predetermined operation rule for performing an operation so that information is restored to the original information, the feature data is embedded in other arbitrary data, and the first feature data is embedded in the input data It embeds other arbitrary data and further includes an embedding means for embedding arbitrary data.
本発明の第1の側面のデータ処理方法は、入力データから、その特徴を表す特徴データを抽出する特徴データ抽出ステップと、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込みステップとを含む。 The data processing method according to the first aspect of the present invention includes a feature data extraction step for extracting feature data representing the feature from the input data, and the other information embedded using the energy bias of the information In accordance with a predetermined operation rule for performing an operation so that information is restored to the original information, the feature data is embedded in other arbitrary data, and the first feature data is embedded in the input data And embedding any other data, and further embedding any data.
本発明の第1の側面のプログラムは、入力データから、その特徴を表す特徴データを抽出する特徴データ抽出ステップと、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込みステップとを含むデータ処理をコンピュータに行わせる。 The program according to the first aspect of the present invention includes: a feature data extraction step for extracting feature data representing the feature from input data; and the information in which other information is embedded by utilizing the energy bias of the information. According to a predetermined operation rule for performing an operation so as to restore the original information, the first feature data is embedded in other arbitrary data, and the other data in which the feature data is embedded in the input data Arbitrary data is embedded, and further, a data process including an embedding step of embedding arbitrary data is performed by a computer.
本発明の第1の側面のデータ処理装置、データ処理方法、またはプログラムにおいては、入力データから、その特徴を表す特徴データが抽出され、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データが埋め込まれ、前記入力データに、前記特徴データが埋め込まれた前記他の任意のデータが埋め込まれ、さらに、任意のデータが埋め込まれる。
In the data processing device, the data processing method, or the program according to the first aspect of the present invention, feature data representing the feature is extracted from the input data, and other information is embedded using the energy bias of the information. In accordance with a predetermined operation rule for performing an operation so that the information is restored to the original information, the first feature data is embedded in other arbitrary data, and the feature data is included in the input data. The other arbitrary data that is embedded is embedded, and further arbitrary data is embedded.
本発明の第2の側面のデータ処理装置は、入力データの特徴を表す第1の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理装置であって、前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元手段と、前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出手段と、前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元手段における復元処理を制御する制御手段とを備え、前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、前記復元手段は、前記処理データから、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第1の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、さらに、前記第1の特徴データが埋め込まれた前記他の任意のデータを、前記第1の特徴データと前記他の任意のデータに復元する。 A data processing device according to a second aspect of the present invention is a data processing device for restoring processing data obtained by processing the input data transmitted together with the first feature data representing the characteristics of the input data. , By applying a predetermined restoration process to the processed data, the input data is restored, and the restored input data is output as restored data; Feature data extraction means for extracting feature data; and control means for determining the coincidence of the first and second feature data, and controlling restoration processing in the restoration means based on the determination result, The processing data is based on a predetermined operation rule that performs an operation so that the information embedded with other information is restored to the original information by utilizing the energy bias of the information. Yes, the first feature data is embedded in other arbitrary data, the other arbitrary data in which the first feature data is embedded is embedded in the input data, and further, arbitrary data is embedded. The restoration means restores the input data in which the other arbitrary data in which the first feature data is embedded and the arbitrary data are restored from the processing data, and the first data is restored. The other arbitrary data in which the other feature data is embedded is restored to the other arbitrary data in which the first feature data is embedded, and the input data. The other arbitrary data in which the first feature data is embedded is restored to the first feature data and the other arbitrary data.
前記制御手段は、前記第1および第2の特徴データが一致するように、前記復元処理を制御することができる。 The control means can control the restoration process so that the first and second feature data match.
前記復元手段は、前記処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、前記入力データを復元し、前記制御手段は、前記復元処理における前記処理データに対する操作を制御することができる。 The restoration means restores the input data by performing a restoration process that manipulates the processing data according to a predetermined operation rule, and the control means controls an operation on the processing data in the restoration process. Can do.
前記復元手段は、前記処理データの値を変更し、その変更後の前記処理データを、所定の操作ルールにしたがって操作する復元処理を行うことにより、前記入力データを復元し、前記制御手段は、前記復元処理における前記処理データの値の変更を制御することができる。 The restoration means restores the input data by changing a value of the processing data and performing a restoration process in which the changed processing data is manipulated according to a predetermined operation rule. The change of the value of the processing data in the restoration process can be controlled.
本発明の第2のデータ処理方法は、入力データの特徴を表す第1の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理方法であって、前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出ステップと、前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップでの復元処理を制御する制御ステップとを含み、前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、前記復元ステップにおいて、前記処理データから、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第1の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、さらに、前記第1の特徴データが埋め込まれた前記他の任意のデータを、前記第1の特徴データと前記他の任意のデータに復元する。 The second data processing method of the present invention is a data processing method for restoring the processing data obtained by processing the input data, which is transmitted together with the first feature data representing the characteristics of the input data, A restoration step of restoring the input data by performing a predetermined restoration process on the processing data, and outputting the restored input data as restoration data; and second feature data representing the feature from the restoration data And a control step for determining the coincidence of the first and second feature data and controlling the restoration process in the restoration step based on the result of the judgment. The data is a predetermined operation route for performing an operation so that the information embedded with other information is restored to the original information by utilizing the energy bias of the information. Accordingly, the first feature data is embedded in other arbitrary data, the other arbitrary data in which the first feature data is embedded is embedded in the input data, and further arbitrary data is embedded. In the restoration step, the input data in which the other arbitrary data in which the first feature data is embedded is embedded from the processing data, and the arbitrary data is restored, and the first data is restored. Restoring the input data in which the other arbitrary data embedded with one feature data is embedded into the other arbitrary data in which the first characteristic data is embedded, and the input data; The other arbitrary data in which the first feature data is embedded is restored to the first feature data and the other arbitrary data.
本発明の第2のプログラムは、入力データの特徴を表す第1の特徴データとともに送信されてくる、前記入力データを処理して得られる処理データを復元するデータ処理を、コンピュータに行わせるプログラムであって、前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出ステップと、前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップでの復元処理を制御する制御ステップとを含み、前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、前記復元ステップにおいて、前記処理データから、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第1の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、さらに、前記第1の特徴データが埋め込まれた前記他の任意のデータを、前記第1の特徴データと前記他の任意のデータに復元する。 The second program of the present invention is a program for causing a computer to perform data processing for restoring processing data obtained by processing the input data, which is transmitted together with the first feature data representing the characteristics of the input data. Then, by performing a predetermined restoration process on the processing data, the input data is restored, a restoration step of outputting the restored input data as restoration data, and a second characteristic representing the characteristics from the restoration data. A feature data extraction step for extracting two feature data; and a control step for determining matching between the first and second feature data and controlling a restoration process in the restoration step based on a result of the determination. The processing data includes the information embedded with other information using the energy bias of the information, and the original information is restored. The first feature data is embedded in other arbitrary data, and the other arbitrary data in which the first feature data is embedded is embedded in the input data in accordance with a predetermined operation rule for performing the operation. Further, arbitrary data is embedded, and in the restoration step, the input data in which the other arbitrary data in which the first feature data is embedded is embedded from the processing data, and the arbitrary data And the other arbitrary data in which the first feature data is embedded, the other arbitrary data in which the first feature data is embedded, and the other arbitrary data in which the first feature data is embedded, Restoring to input data, and further restoring the other arbitrary data in which the first feature data is embedded into the first feature data and the other arbitrary data That.
本発明の第2のデータ処理装置、データ処理方法、またはプログラムにおいては、前記処理データに所定の復元処理を施すことにより、前記入力データが復元され、その復元した前記入力データが、復元データとして出力され、前記復元データから、その特徴を表す第2の特徴データが抽出され、入力データの特徴を表す第1および第2の特徴データの一致性が判定され、その判定結果に基づいて、前記復元処理が制御され、前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、前記処理データから、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータが復元され、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データが、前記第1の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元され、さらに、前記第1の特徴データが埋め込まれた前記他の任意のデータが、前記第1の特徴データと前記他の任意のデータに復元される。 In the second data processing apparatus, data processing method, or program of the present invention, the input data is restored by applying a predetermined restoration process to the processed data, and the restored input data is used as restored data. Output, the second feature data representing the feature is extracted from the restored data, the consistency between the first and second feature data representing the feature of the input data is determined, and based on the determination result, Restoration processing is controlled, and the processing data is in accordance with a predetermined operation rule that performs an operation so that the information embedded with other information is restored to the original information by using the energy bias of the information, The first feature data is embedded in other arbitrary data, and the other arbitrary data in which the first feature data is embedded is embedded in the input data. Furthermore, arbitrary data is embedded, and from the processing data, the input data in which the other arbitrary data in which the first feature data is embedded is embedded, and the arbitrary data is restored, The input data in which the other arbitrary data in which the first feature data is embedded is embedded, the other arbitrary data in which the first feature data is embedded, and the input data are restored, Further, the other arbitrary data in which the first feature data is embedded is restored to the first feature data and the other arbitrary data.
本発明の第1の側面によれば、多くのデータを埋め込むことができる。 According to the first aspect of the present invention, a lot of data can be embedded.
本発明の第2の側面におれば、入力データを、正確に復元することができる。 According to the second aspect of the present invention, input data can be accurately restored.
図2は、本発明を適用した埋め込み符号化/復号システムの一実施の形態の構成例を示している。 FIG. 2 shows a configuration example of an embodiment of an embedded encoding / decoding system to which the present invention is applied.
この埋め込み符号化/復号システムは、符号化装置11および復号装置12で構成されている。符号化装置11は、埋め込み対象データとしての、例えば、画像データに対して、被埋め込みデータを埋め込むことにより、埋め込み符号化データを生成して出力し、復号装置12は、その埋め込み符号化データを、元の埋め込み対象データと被埋め込みデータに復号する。
This embedded encoding / decoding system includes an encoding device 11 and a
即ち、符号化装置11は、埋め込み対象データベース1、被埋め込みデータベース2、および埋め込み符号化器3で構成されている。
That is, the encoding device 11 includes an embedding
埋め込み対象データベース1は、埋め込み対象データとしての、例えばディジタル画像データを記憶している。そして、埋め込み対象データベース1からは、そこに記憶されている画像データが読み出され、埋め込み符号化器3に供給される。
The embedding
また、被埋め込みデータベース2は、被埋め込みデータ(ディジタルデータ)を記憶している。そして、被埋め込みデータベース2からも、そこに記憶されている被埋め込みデータが読み出され、埋め込み符号化器3に供給される。
The embedded
埋め込み符号化器3では、埋め込み対象データベース1からの画像データ、および被埋め込みデータベース2からの被埋め込みデータが受信される。さらに、埋め込み符号化器3は、埋め込み対象データベース1からの画像データが有するエネルギの偏りを利用して復号を行うことができるように、その画像データを、被埋め込みデータベース2からの被埋め込みデータに対応して操作することで、画像データに、被埋め込みデータを埋め込み、埋め込み符号化データを生成して出力する。埋め込み符号化器3が出力する埋め込み符号化データは、例えば、半導体メモリ、光磁気ディスク、磁気ディスク、光ディスク、磁気テープ、相変化ディスクなどでなる記録媒体4に記録され、あるいは、また、例えば、地上波、衛星回線、CATV(Cable Television)網、インターネット、公衆回線などでなる伝送媒体5を介して伝送され、復号装置12に提供される。
The embedded
復号装置12は、復元器6で構成され、そこでは、記録媒体4または伝送媒体5を介して提供される埋め込み符号化データが受信される。さらに、復元器6は、その埋め込み符号化データを、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して、元の画像データおよび被埋め込みデータに復元する。この復元された画像データは、例えば、図示せぬモニタに供給されて表示される。
The
なお、被埋め込みデータとしては、例えば、埋め込み対象データとしての元の画像データに関連するテキストデータや、音声データ、その画像データを縮小した縮小画像データ等は勿論、元の画像データに無関係なデータも用いることができる。 The embedded data includes, for example, text data related to the original image data as the embedding target data, audio data, reduced image data obtained by reducing the image data, and data unrelated to the original image data. Can also be used.
次に、図3は、図2の埋め込み符号化器3の構成例を示している。
Next, FIG. 3 shows a configuration example of the embedded
埋め込み対象データベース1から供給される埋め込み対象データとしての画像データは、フレームメモリ21に供給されるようになされており、フレームメモリ21は、埋め込み対象データベース1からの画像データを、例えば、フレーム単位で一時記憶する。
The image data as the embedding target data supplied from the embedding
埋め込み部22は、被埋め込みデータベース2に記憶された被埋め込みデータを受信し、その被埋め込みデータを、フレームメモリ21に記憶された埋め込み対象データとしての画像データに埋め込む埋め込み処理を行い、これにより、画像データのエネルギの偏りを利用して元に戻すことができる埋め込み符号化データを生成する。
The embedding unit 22 receives the embedded data stored in the embedded
なお、フレームメモリ21は、複数のフレーム(またはフィールド)を記憶することのできるように、複数バンクで構成されており、バンク切り替えを行うことで、フレームメモリ21では、埋め込み対象データベース1から供給される画像データの記憶、埋め込み部22による埋め込み処理の対象となっている画像データの記憶、および埋め込み処理後の画像データ(埋め込み符号化データ)の出力を、同時に行うことができるようになっている。これにより、埋め込み対象データベース1から供給される画像データが、動画であっても、埋め込み符号化データのリアルタイム出力を行うことができるようになっている。
The
次に、図4は、図3の埋め込み符号化器3が出力する埋め込み符号化データを、画像データのエネルギの偏りを利用して元の画像データと被埋め込みデータに復元する図2の復元器6の構成例を示している。
Next, FIG. 4 shows the decompressor of FIG. 2 that restores the embedded encoded data output from the embedded
埋め込み符号化データ、即ち、被埋め込みデータが埋め込まれた画像データ(以下、適宜、埋め込み画像データともいう)は、フレームメモリ31に供給されるようになされており、フレームメモリ31は、埋め込み画像データを、例えば、フレーム単位で一時記憶する。なお、フレームメモリ31も、図3のフレームメモリ21と同様に構成され、バンク切り替えを行うことにより、埋め込み画像データが、動画であっても、そのリアルタイム処理が可能となっている。
Embedded encoded data, that is, image data in which embedded data is embedded (hereinafter also referred to as embedded image data as appropriate) is supplied to the
復元部32は、フレームメモリ31に記憶された埋め込み画像データを、画像データのエネルギの偏りを利用して元の画像データと被埋め込みデータに復元する復元処理を行う。
The
次に、上述の埋め込み符号化器3で行われる埋め込み処理と、復元器6で行われる復元処理の原理について説明する。
Next, the principles of the embedding process performed by the above-described embedded
一般に、情報と呼ばれるものは、エネルギ(エントロピー)の偏り(普遍性)を有し、この偏りが、情報(価値ある情報)として認識される。即ち、例えば、ある風景を撮影して得られる画像が、そのような風景の画像であると人によって認識されるのは、画像(画像を構成する各画素の画素値など)が、その風景に対応したエネルギの偏りを有するからであり、エネルギの偏りがない画像は、雑音等にすぎず、情報としての利用価値はない。 In general, what is called information has a bias (universality) of energy (entropy), and this bias is recognized as information (worthy information). That is, for example, an image obtained by shooting a certain landscape is recognized by a person as being an image of such a landscape because the image (pixel value of each pixel constituting the image, etc.) This is because the image has a corresponding energy bias, and an image without the energy bias is merely noise or the like and is not useful as information.
従って、価値ある情報に対して、何らかの操作を施し、その情報が有する本来のエネルギの偏りを、いわば破壊した場合でも、その破壊されたエネルギの偏りを元に戻すことで、何らかの操作が施された情報も、元の情報に戻すことができる。即ち、情報を操作して得られるデータは、その情報が有する本来のエネルギの偏りを利用して、元の価値ある情報に復元することができる。 Therefore, even if some operation is performed on valuable information and the original energy bias of the information is destroyed, so to speak, some operation is performed by restoring the destroyed energy bias. Information can also be restored to the original information. That is, data obtained by manipulating information can be restored to original valuable information by utilizing the original energy bias of the information.
ここで、情報が有するエネルギ(の偏り)を表すものとしては、例えば、相関性、連続性、相似性などがある。 Here, examples of the energy (bias) of information include correlation, continuity, and similarity.
情報の相関性とは、その情報の構成要素(例えば、画像であれば、その画像を構成する画素や水平ラインなど)どうしの相関(例えば、自己相関や、ある構成要素と他の構成要素との距離など)を意味する。例えば、画像の相関性を表すものとしては、画像の水平ライン間の相関があり、この相関を表す相関値としては、例えば、2つの水平ラインにおける、対応する画素の画素値どうしの差分の2乗和等の逆数を用いることができる。 Information correlation refers to the correlation (for example, auto-correlation, certain components and other components) of the components of the information (for example, in the case of an image, pixels and horizontal lines constituting the image). Mean distance). For example, there is a correlation between horizontal lines of an image that represents the correlation between images, and the correlation value representing this correlation is, for example, 2 of the difference between pixel values of corresponding pixels in two horizontal lines. A reciprocal such as a sum of multipliers can be used.
即ち、例えば、いま、図5に示すようなH本の水平ラインを有する画像があった場合に、その上から1行目の水平ライン(第1水平ライン)と、他の水平ラインとの相関は、一般に、図6Aに示すように、第1水平ラインとの距離が近い水平ライン(図5における画像の上側の水平ライン)ほど、第M水平ラインについての相関として示すように大きくなり、第1水平ラインとの距離が遠い水平ライン(図5における画像の下側の水平ライン)ほど、第N水平ラインについての相関として示すように小さくなる。従って、第1水平ラインから近いほど、第1水平ラインとの相関が大きくなり、遠いほど相関が小さくなるという相関の偏りがある。 That is, for example, when there is an image having H horizontal lines as shown in FIG. 5, the correlation between the horizontal line of the first row from the top (first horizontal line) and the other horizontal lines. In general, as shown in FIG. 6A, the horizontal line closer to the first horizontal line (the horizontal line on the upper side of the image in FIG. 5) becomes larger as shown as the correlation with respect to the Mth horizontal line. The horizontal line that is farther from one horizontal line (the lower horizontal line in the image in FIG. 5) becomes smaller as shown as the correlation for the Nth horizontal line. Accordingly, there is a correlation bias in which the closer to the first horizontal line, the greater the correlation with the first horizontal line and the smaller the distance.
そこで、いま、図5の画像において、第1水平ラインから比較的近い第M水平ラインと、第1水平ラインから比較的遠い第N水平ラインとの画素を入れ替える操作を行い(1<M<N≦H)、その入れ替え後の画像について、第1水平ラインと、他の水平ラインとの相関を計算値すると、それは、例えば、図6Bに示すようになる。 Therefore, now, in the image of FIG. 5, an operation is performed to replace the pixels of the Mth horizontal line that is relatively close to the first horizontal line and the Nth horizontal line that is relatively far from the first horizontal line (1 <M <N ≦ H) When the correlation between the first horizontal line and another horizontal line is calculated for the image after the replacement, it is as shown in FIG. 6B, for example.
即ち、入れ替え後の画像では、第1水平ラインから近い第M水平ライン(入れ替え前の第N水平ライン)との相関が小さくなり、第1水平ラインから遠い第N水平ライン(入れ替え前の第M水平ライン)との相関が大きくなる。 That is, in the image after replacement, the correlation with the Mth horizontal line close to the first horizontal line (Nth horizontal line before replacement) decreases, and the Nth horizontal line far from the first horizontal line (Mth before replacement). The correlation with the horizontal line is increased.
従って、図6Bでは、第1水平ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りが破壊されている。しかしながら、画像については、一般に、第1水平ラインから近いほど相関が大きくなり、遠いほど相関が小さくなるという相関性の偏りを利用することにより、破壊された相関性の偏りを復元することができる。即ち、図6Bにおいて、第1水平ラインから近い第M水平ラインとの相関が小さく、第1水平ラインから遠い第N水平ラインとの相関が大きいのは、画像が有する本来の相関性の偏りからすれば、明らかに不自然であり(おかしく)、第M水平ラインと第N水平ラインとは入れ替えるべきである。そして、図6Bにおける第M水平ラインと第N水平ラインとを入れ替えることで、図6Aに示すような本来の相関性の偏りを有する画像、即ち、元の画像を復元することができる。 Therefore, in FIG. 6B, the correlation bias that the correlation increases as the distance from the first horizontal line decreases and the correlation decreases as the distance from the first horizontal line decreases. However, with respect to images, generally, the correlation bias that the correlation becomes larger as it is closer to the first horizontal line and the correlation becomes smaller as it is farther can be used to restore the broken correlation bias. . That is, in FIG. 6B, the correlation with the Mth horizontal line close to the first horizontal line is small and the correlation with the Nth horizontal line far from the first horizontal line is large because of the inherent correlation bias of the image. If this is the case, it is clearly unnatural (funny), and the Mth and Nth horizontal lines should be interchanged. Then, by replacing the Mth horizontal line and the Nth horizontal line in FIG. 6B, it is possible to restore the image having the original correlation bias as shown in FIG. 6A, that is, the original image.
ここで、図5および図6で説明した場合においては、水平ラインの入れ替え操作が、画像データに対して、被埋め込みデータを埋め込むこととなる。そして、被埋め込みデータの埋め込みに際して、例えば、何水平ライン目を移動するかや、どの水平ラインどうしを入れ替えるかなどといった画像データに対する操作が、被埋め込みデータに対応して決定される。一方、被埋め込みデータが埋め込まれた埋め込み画像データ(埋め込み符号化データ)の水平ラインを、元の画像データの相関を利用して、元の位置に入れ替えることが、元の画像データを復元することになる。そして、その復元に際して、例えば、何水平ライン目を移動したかや、どの水平ラインどうしを入れ替えたかなどの埋め込み画像データに対する操作に基づいて、画像データに埋め込まれていた被埋め込みデータが復元される。 Here, in the case described with reference to FIGS. 5 and 6, the horizontal line replacement operation embeds the embedded data in the image data. When embedding the embedded data, for example, an operation on the image data such as how many horizontal lines are moved and which horizontal lines are exchanged is determined in accordance with the embedded data. On the other hand, replacing the horizontal line of the embedded image data (embedded encoded data) in which the embedded data is embedded to the original position using the correlation of the original image data restores the original image data. become. In the restoration, for example, the embedded data embedded in the image data is restored based on an operation on the embedded image data such as how many horizontal lines are moved and which horizontal lines are replaced. .
次に、図7乃至図9を参照して、画像データの相関性を利用する埋め込み処理と復元処理の例について説明する。 Next, an example of embedding processing and restoration processing using the correlation of image data will be described with reference to FIGS.
図7乃至図9の実施の形態では、埋め込み処理において、埋め込み対象データとしての画像データを構成する一部の画素が、処理対象画素として選択され、その選択された画素が、被埋め込みデータに対応してレベル方向に操作されることにより(画素値が操作されることにより)、その画素に対して、被埋め込みデータが埋め込まれる。一方、復元処理では、埋め込み処理によって得られた埋め込み画像データを構成する一部の画素(埋め込み処理で選択されたのと同一位置の画素)が、処理対象画素として選択され、図7に示すように、その処理対象画素に対して、埋め込み処理における場合と逆の操作が施されることで、その画素値が変更される。さらに、図7に示すように、画素値の変更前の処理対象画素と、その周辺画素(図7の実施の形態では、左右に隣接する画素)との相関値R1が演算されるとともに、画素値の変更された処理対象画素と、その画素の周辺画素との相関値R2が演算される。そして、その相関値R1とR2との大小関係に基づいて、画素値の変更前または変更後の処理対象画素のうちのいずれか一方が、元の画像データの復元結果とされるとともに、その処理対象画素に埋め込まれていた被埋め込みデータが復元される。 7 to 9, in the embedding process, some pixels constituting the image data as the embedding target data are selected as the processing target pixels, and the selected pixels correspond to the embedded data. Then, by operating in the level direction (by operating the pixel value), the embedded data is embedded in the pixel. On the other hand, in the restoration process, some pixels (pixels at the same position as selected in the embedding process) constituting the embedding image data obtained by the embedding process are selected as processing target pixels, as shown in FIG. In addition, the pixel value is changed by performing an operation opposite to that in the embedding process on the processing target pixel. Further, as shown in FIG. 7, a correlation value R1 between the pixel to be processed before the pixel value is changed and its peripheral pixels (pixels adjacent to the left and right in the embodiment of FIG. 7) is calculated, and the pixel A correlation value R2 between the processing target pixel whose value has been changed and the surrounding pixels of the pixel is calculated. Then, based on the magnitude relationship between the correlation values R1 and R2, either one of the processing target pixels before or after the change of the pixel value is set as the restoration result of the original image data, and the process The embedded data embedded in the target pixel is restored.
図8は、図3の埋め込み符号化器3が、画像データの相関性を利用して行う埋め込み処理の例を示すフローチャートである。
FIG. 8 is a flowchart showing an example of an embedding process performed by the embedding
埋め込み対象データベース1では、そこに記憶されている埋め込み対象データとしての画像データが読み出され、例えば、1フレーム単位で、フレームメモリ21に供給されて記憶される。
In the embedding
一方、埋め込み部22は、被埋め込みデータベース2から、被埋め込みデータを、例えば1ビットずつ受信し、ステップS1において、その1ビットの被埋め込みデータを埋め込む処理の対象とする画素(処理対象画素)を、フレームメモリ21に記憶された画像から選択する。
On the other hand, the embedding unit 22 receives the data to be embedded from the embedded
ここで、本実施の形態では、例えば、フレームメモリ21に記憶された画像データから、五の目格子状に、画素が、順次選択され、処理対象画素とされるようになっている。
Here, in the present embodiment, for example, pixels are sequentially selected from the image data stored in the
その後、埋め込み部22は、ステップS2において、被埋め込みデータベース2から受信した被埋め込みデータが1または0のうちのいずれであるかを判定する。ステップS2において、被埋め込みデータが、1または0のうちの、例えば0であると判定された場合、ステップS1に戻る。即ち、埋め込み部22は、被埋め込みデータが0である場合には、処理対象画素に、何らの操作も施さずに(所定の定数としての0を加算し)、ステップS1に戻り、次の1ビットの被埋め込みデータが、被埋め込みデータベース2から送信されてくるのを待って、次に処理対象画素とすべき画素を選択し、以下、同様の処理を繰り返す。
Thereafter, in step S2, the embedding unit 22 determines whether the embedded data received from the embedded
また、ステップS2において、被埋め込みデータが、1または0のうちの、例えば1であると判定された場合、ステップS3に進み、埋め込み部22は、処理対象画素に対して、所定の操作を施す。即ち、埋め込み部22は、所定の定数としての、例えば、2の、画像データを構成する画素に割り当てられているビット数−1乗を、処理対象画素の画素値に加算する。 If it is determined in step S2 that the embedded data is 1 or 0, for example, 1, the process proceeds to step S3 and the embedding unit 22 performs a predetermined operation on the processing target pixel. . That is, the embedding unit 22 adds, for example, 2 as the predetermined constant to the number of bits assigned to the pixels constituting the image data minus the first power, to the pixel value of the processing target pixel.
従って、画像データを構成する画素の画素値として、例えば、8ビットが割り当てられている場合には、ステップS3では、27が、処理対象画素の画素値に加算されることになる。 Therefore, for example, when 8 bits are allocated as the pixel value of the pixels constituting the image data, 2 7 is added to the pixel value of the processing target pixel in step S3.
なお、この加算は、画素値が、例えば、YUVなどで表現されている場合には、輝度成分Y、または色成分U,Vのいずれに対して行っても良い。また、加算は、画素値が、例えば、RGBで表現されている場合には、R,G,Bのいずれに対して行っても良い。即ち、ステップS3における加算は、画素値が複数の成分で構成される場合には、その複数の成分のうちの1つまたは2以上に対して行っても良いし、全部に対して行っても良い。また、ステップS3の加算は、複数の成分それぞれごとに、独立に行うことも可能である。 This addition may be performed for either the luminance component Y or the color components U and V when the pixel value is expressed in, for example, YUV. The addition may be performed on any of R, G, and B when the pixel value is expressed in RGB, for example. That is, when the pixel value is composed of a plurality of components, the addition in step S3 may be performed on one or more of the plurality of components, or may be performed on all of the components. good. Further, the addition in step S3 can be performed independently for each of a plurality of components.
ステップS3において、処理対象画素の画素値に、27が加算された後は、ステップS4に進み、その加算結果がオーバフローしているかどうかが判定される。ステップS4において、加算結果がオーバフローしていないと判定された場合、ステップS5をスキップして、ステップS6に進み、埋め込み部22は、その加算結果を、処理対象画素の画素値として、フレームメモリ21に書き込み(上書きし)、ステップS1に戻る。
In step S3, after 2 7 is added to the pixel value of the pixel to be processed, the process proceeds to step S4, and it is determined whether or not the addition result has overflowed. If it is determined in step S4 that the addition result has not overflowed, step S5 is skipped, and the process proceeds to step S6. The embedding unit 22 uses the addition result as the pixel value of the processing target pixel, and the
また、ステップS4において、加算結果がオーバフローしていると判定された場合、即ち、本実施の形態では、画素値が8ビットであるから、加算結果が、28以上となった場合、ステップS5に進み、埋め込み部22は、その加算値の補正を行う。即ち、ステップS5では、オーバフローした加算値が、例えば、そのオーバフローした分(オーバフローした加算値から28を減算した値)に補正される。そして、ステップS6に進み、埋め込み部22は、その補正後の加算結果を、処理対象画素の画素値として、フレームメモリ21に書き込み、次の1ビットの被埋め込みデータが、被埋め込みデータベース2から送信されてくるのを待って、ステップS1に戻る。
Further, in step S4, if the addition result is determined to be overflowed, i.e., if the present embodiment, since the pixel value is 8 bits, the addition result is 2 after 8 or more, step S5 Then, the embedding unit 22 corrects the added value. That is, in step S5, the addition value overflows, for example, is corrected to the overflowed amount (value obtained by subtracting 2 8 from the added value obtained by overflow). In
なお、フレームメモリ21に記憶された、ある1フレームの画像データについて埋め込み処理が行われた後は、その1フレームの画像データ、即ち、埋め込み画像データは、フレームメモリ21から読み出されて出力される。そして、埋め込み部22は、フレームメモリ21に記憶された、次の1フレームの画像データを対象に、埋め込み処理を続行する。
After embedding processing is performed on one frame of image data stored in the
次に、図9のフローチャートを参照して、図8の埋め込み処理により得られる埋め込み画像データを復元する、復元器6による復元処理について説明する。
Next, with reference to the flowchart of FIG. 9, the restoration process by the
フレームメモリ31では、そこに供給される埋め込み画像データが、例えば、1フレーム単位で順次記憶される。
In the
一方、復元部32は、ステップS11において、フレームメモリ31に記憶されたあるフレームの埋め込み画像データから、復元処理の対象とする画素(処理対象画素)を選択する。
On the other hand, the
ここで、復元部32では、埋め込み部22と同様に、フレームメモリ31に記憶された埋め込み画像データから、五の目格子状に、画素が、順次選択される。即ち、埋め込み処理と復元処理では、同一位置にある画素が、処理対象画素として選択される。
Here, in the
その後、ステップS12に進み、復元部32は、処理対象画素に対し、図3の埋め込み部22が行った操作と逆の操作を施す。即ち、埋め込み部22は、所定の定数としての、例えば、2の、画像を構成する画素に割り当てられているビット数−1乗を、処理対象画素の画素値から減算する。
Thereafter, the process proceeds to step S12, and the
従って、上述したように、埋め込み画像データを構成する画素の画素値として、例えば、8ビットが割り当てられている場合においては、ステップS12では、27が、処理対象画素の画素値から減算されることになる。 Therefore, as described above, as the pixel values of pixels constituting the embedded image data, for example, in a case where 8 bits are assigned, in step S12, 2 7 is subtracted from the pixel value of the processing pixel It will be.
なお、この減算は、画素値が、例えば、YUVなどで表現されている場合には、輝度成分Y、または色成分U,Vのいずれに対して行っても良い。また、減算は、画素値が、例えば、RGBで表現されている場合には、R,G,Bのいずれに対して行っても良い。但し、ステップS12における減算は、図8のステップS3における加算が行われたものと同一のものに対して行う必要がある。即ち、画素値が、例えば、YUVなどで表現されており、図8のステップS3における加算が、YUVのうちの、例えば、Y成分に対して行われた場合には、ステップS12における減算は、やはり、Y成分に対して行う必要がある。 Note that this subtraction may be performed on either the luminance component Y or the color components U and V when the pixel value is expressed in, for example, YUV. Further, the subtraction may be performed on any of R, G, and B when the pixel value is expressed in RGB, for example. However, the subtraction in step S12 needs to be performed on the same thing as that in step S3 of FIG. That is, when the pixel value is expressed by, for example, YUV and the addition in step S3 in FIG. 8 is performed on, for example, the Y component of YUV, the subtraction in step S12 is: After all, it is necessary to carry out with respect to the Y component.
ステップS12において、処理対象画素の画素値から、27が減算された後は、ステップS13に進み、その減算結果がアンダフローしているかどうかが判定される。ステップS13において、減算結果がアンダフローしていないと判定された場合、ステップS14をスキップして、ステップS15に進む。 In step S12, the pixel value of the pixel to be processed, after the 2 7 is subtracted, the process proceeds to step S13, the subtraction result is whether the underflow is determined. If it is determined in step S13 that the subtraction result does not underflow, step S14 is skipped and the process proceeds to step S15.
また、ステップS13において、減算結果がアンダフローしていると判定された場合、即ち、加算結果が、0未満となった場合、ステップS14に進み、復元部32は、その減算値の補正を行う。即ち、ステップS14では、アンダフローした減算値が、例えば、その減算値に28を加算した値に補正され、ステップS15に進む。
If it is determined in step S13 that the subtraction result is underflowing, that is, if the addition result is less than 0, the process proceeds to step S14, and the
ステップS15では、処理対象画素の画素値(ステップS12で27を減算していないもの)(以下、適宜、第1の画素値という)P1と、その画素値から27を減算した減算値(以下では、ステップS14で補正されたものも含むものとする)(以下、適宜、第2の画素値という)P2のそれぞれについて、処理対象画素の周辺画素としての、例えば、その左右に隣接する画素それぞれとの間の相関を表す相関値が演算される。 In step S15, the pixel value of the pixel to be processed (the pixel value not subtracted 2 7 in step S12) (hereinafter referred to as the first pixel value as appropriate) P1 and the subtraction value obtained by subtracting 2 7 from the pixel value ( In the following, for each of P2 (hereinafter also referred to as the second pixel value as appropriate), for example, pixels adjacent to the left and right of the pixel to be processed. A correlation value representing the correlation between is calculated.
即ち、ステップS15では、例えば、処理対象画素の第1の画素値P1と、その左右の画素それぞれの画素値との差分の絶対値が演算され、その結果得られる2つの絶対値の加算値の逆数が、処理対象画素の第1の画素値P1についての相関値R1として求められる。さらに、ステップS15では、処理対象画素の第2の画素値P2についても、その左右の画素それぞれの画素値との差分の絶対値どうしの加算値の逆数が演算され、それが、処理対象画素の第2の画素値P2の相関値R2として求められる。 That is, in step S15, for example, the absolute value of the difference between the first pixel value P1 of the pixel to be processed and the pixel values of the left and right pixels is calculated, and the resulting sum of the two absolute values is calculated. The reciprocal is obtained as the correlation value R1 for the first pixel value P1 of the pixel to be processed. Further, in step S15, for the second pixel value P2 of the processing target pixel, the reciprocal of the addition value of the absolute values of the differences between the respective pixel values of the left and right pixels is calculated, and this is calculated. It is obtained as the correlation value R2 of the second pixel value P2.
なお、ステップS15において、処理対象画素との間の相関を求めるのに用いる画素は、その左右に隣接する画素に限定されるものではなく、上下に隣接する画素であっても良いし、時間的に隣接する画素であっても良い。また、必ずしも、空間的または時間的に隣接する画素である必要もない。但し、処理対象画素との相関を求めるにあたっては、埋め込み画像データにおいて、被埋め込みデータが埋め込まれていない画素を用いるのが望ましい。これは、処理対象画素について、被埋め込みデータが埋め込まれた画素との相関を求めても、元の画像データについての相関を得ることができず、従って、画像データの相関性を利用することができないため、被埋め込みデータが埋め込まれた画素から、元の画素値および被埋め込みデータを、正確に復元するのが困難となるからである。また、画像データの相関性を利用して、処理対象画素を復元する以上、処理対象画素との相関値を求めるのに用いる画素は、その処理対象画素との空間的または時間的距離が近いものであるのが望ましい。 Note that, in step S15, the pixels used for obtaining the correlation with the processing target pixel are not limited to the pixels adjacent to the left and right, but may be pixels adjacent vertically and temporally. It may be a pixel adjacent to. Further, the pixels need not necessarily be adjacent in terms of space or time. However, in obtaining the correlation with the processing target pixel, it is desirable to use a pixel in which embedded data is not embedded in the embedded image data. This is because even if the correlation between the pixel to be processed and the pixel in which the embedded data is embedded is obtained, the correlation with respect to the original image data cannot be obtained, and therefore the correlation of the image data can be used. This is because it is difficult to accurately restore the original pixel value and the embedded data from the pixel in which the embedded data is embedded. In addition, as long as the processing target pixel is restored using the correlation of the image data, the pixel used for obtaining the correlation value with the processing target pixel has a close spatial or temporal distance to the processing target pixel. It is desirable that
第1の画素値P1についての相関値R1、および第2の画素値P2についての相関値R2の算出後は、ステップS16に進み、復元部32において、その相関値R1とR2とが比較される。
After calculating the correlation value R1 for the first pixel value P1 and the correlation value R2 for the second pixel value P2, the process proceeds to step S16, and the
ステップS16において、相関値R1が、相関値R2より大きい(または以上である)と判定された場合、ステップS17に進み、復元部32において、被埋め込みデータの復元結果として、0が出力され、ステップS11に戻る。そして、この場合、フレームメモリ31の記憶値は書き換えられず(あるいは、画素値P1が上書きされ)従って、処理対象画素の画素値の復元結果は、その画素値P1のままとされる。
If it is determined in step S16 that the correlation value R1 is greater than (or greater than) the correlation value R2, the process proceeds to step S17, where the
即ち、第1の画素値P1についての相関値R1の方が、第2の画素値P2についての相関値R2より大きいということは、処理対象画素の画素値としては、画素値P2よりも、画素値P1の方が確からしいこととなるので、処理対象画素の画素値の復元結果は、その確からしい画素値P1とされる。さらに、画素値P1は、ステップS12で27が減算されていないものであるから、図8のステップS3で27が加算されていないと考えられる。そして、図8の埋め込み処理では、被埋め込みデータが0の場合には、27を加算しないこととしているから、第1の画素値P1についての相関値R1の方が大きく、画素値P1が、処理対象画素の画素値として確からしい場合には、そこに埋め込まれた被埋め込みデータは0ということになる。 That is, the fact that the correlation value R1 for the first pixel value P1 is larger than the correlation value R2 for the second pixel value P2 means that the pixel value of the pixel to be processed is a pixel value rather than the pixel value P2. Since the value P1 is more likely, the restoration result of the pixel value of the processing target pixel is the likely pixel value P1. Further, since 2 7 is not subtracted in step S12, it is considered that 2 7 is not added in step S3 of FIG. In the embedding process of FIG. 8, when the embedded data is 0, 2 7 is not added. Therefore, the correlation value R1 for the first pixel value P1 is larger, and the pixel value P1 is When the pixel value of the processing target pixel is probable, the embedded data embedded therein is 0.
一方、ステップS16において、相関値R2が、相関値R1より大きい(以上である)と判定された場合、ステップS18に進み、復元部32において、フレームメモリ31に記憶された処理対象画素の画素値が、その画素値から27を減算した減算値、即ち、第2の画素値P2に書き換えられる。従って、この場合、処理対象画素の画素値の復元結果は、その画素値P2とされる。そして、ステップS19に進み、復元部32において、被埋め込みデータの復元結果として、1が出力され、ステップS11に戻る。
On the other hand, if it is determined in step S16 that the correlation value R2 is greater than (or greater than) the correlation value R1, the process proceeds to step S18, and the
即ち、第2の画素値P2についての相関値R2の方が、第1の画素値P1についての相関値R1より大きいということは、処理対象画素の画素値としては、画素値P1よりも、画素値P2の方が確からしいこととなるので、処理対象画素の画素値の復元結果は、その確からしい画素値P2とされる。さらに、画素値P2は、ステップS12で、画素値P1から27が減算されたものであるから、図8のステップS3で、元の画素値に27が加算されたものであると考えられる。そして、図8の埋め込み処理では、被埋め込みデータが1の場合には、27を加算することとしているから、第2の画素値P2についての相関値R2の方が大きく、画素値P2が、処理対象画素の画素値として確からしい場合には、そこに埋め込まれた被埋め込みデータは1ということになる。 That is, the fact that the correlation value R2 for the second pixel value P2 is larger than the correlation value R1 for the first pixel value P1 means that the pixel value of the pixel to be processed is a pixel value rather than the pixel value P1. Since the value P2 is more likely, the restoration result of the pixel value of the processing target pixel is the likely pixel value P2. Further, since the pixel value P2 is obtained by subtracting 2 7 from the pixel value P1 in step S12, it is considered that 2 7 is added to the original pixel value in step S3 of FIG. . In the embedding process shown in FIG. 8, when the embedded data is 1, 2 7 is added. Therefore, the correlation value R2 for the second pixel value P2 is larger, and the pixel value P2 is If the pixel value of the processing target pixel is probable, the embedded data embedded therein is 1.
ここで、上述のようにして求められる相関値R1とR2との差分が小さい場合には、画素値P1とP2のうちのいずれが、処理対象画素の画素値として確からしいかは、一概には言えない。そこで、このような場合には、処理対象画素の左右に隣接する画素だけでなく、他の画素をも用いて、画素値P1,P2それぞれについての相関値を求め、その相関値を比較することで、画素値P1,P2のうちのいずれが、処理対象画素の画素値として確からしいかを決定することができる。 Here, when the difference between the correlation values R1 and R2 obtained as described above is small, it is generally determined which of the pixel values P1 and P2 is likely to be the pixel value of the processing target pixel. I can not say. Therefore, in such a case, not only the pixels adjacent to the right and left of the pixel to be processed but also other pixels are used to obtain correlation values for the pixel values P1 and P2, and compare the correlation values. Thus, it can be determined which of the pixel values P1 and P2 is likely to be the pixel value of the processing target pixel.
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の相関性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像(復号画像)には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 As described above, the embedded image data, which is the image data in which the embedded data is embedded, is restored to the original image data and the embedded data using the correlation between the images. Even without the overhead, the embedded image data can be restored to the original image data and the embedded data. Therefore, in the restored image (decoded image), basically, image quality deterioration due to embedding embedded data does not occur.
即ち、図8の埋め込み処理によれば、画像データの画素値に、被埋め込みデータの値に対応した所定値(図8の実施の形態では、0または27)を加算し、その加算値がオーバフローしている場合には、その補正を行うという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。 That is, according to the embedding process of FIG. 8, a predetermined value (0 or 2 7 in the embodiment of FIG. 8) corresponding to the value of the data to be embedded is added to the pixel value of the image data. In the case of overflow, the embedded data is embedded in the image data and the embedded image data is generated in accordance with the operation rule that the correction is performed.
一方、図9の復元処理によれば、埋め込み処理における操作ルールにしたがい、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われ、その操作後のデータの相関に基づいて、埋め込み処理において行われた操作が、いわば特定される。そして、その特定された操作にしたがい、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。 On the other hand, according to the restoration process of FIG. 9, according to the operation rule in the embedding process, an operation opposite to that in the embedding process is performed on the embedded image data, and based on the correlation of the data after the operation, In other words, the operation performed in the embedding process is specified. Then, according to the specified operation, the original image data and the embedded data are restored from the embedded image data.
従って、図8の埋め込み処理における操作ルールは、画像データの相関性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく(最低限の劣化に抑えて)、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。 Therefore, it can be said that the operation rule in the embedding process of FIG. 8 is an operation rule that can restore the embedded image data in which the embedded data is embedded using the correlation of the image data. In the processing, by adopting such an operation rule, the embedded data is embedded in the image data without degrading the image quality of the image data (suppressing the minimum degradation) and without increasing the data amount. be able to.
即ち、被埋め込みデータが埋め込まれた画素は、画像の相関性、即ち、ここでは、被埋め込みデータが埋め込まれなかった画素との間の相関を利用することにより、オーバヘッドなしで、元の画素と被埋め込みデータに復元(戻す)ことができる。従って、その結果得られる復元画像(復号画像)には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 That is, the pixel in which the embedded data is embedded is compared with the original pixel without overhead by using the correlation of the image, that is, the correlation with the pixel in which the embedded data is not embedded. It can be restored (returned) to embedded data. Therefore, in the restored image (decoded image) obtained as a result, the image quality is basically not deteriorated by embedding the embedded data.
なお、図7乃至図9の実施の形態では、処理対象画素と、他の画素との間の相関を表す相関値として、それらの画素値の差分の絶対値の逆数を用いるようにしたが、相関値は、これに限定されるものではない。 In the embodiment of FIGS. 7 to 9, the reciprocal of the absolute value of the difference between the pixel values is used as the correlation value representing the correlation between the pixel to be processed and the other pixels. The correlation value is not limited to this.
また、図7乃至図9の実施の形態では、画像データから、五の目格子状に、画素を選択し、その画素に、被埋め込みデータを埋め込むようにしたが、被埋め込みデータを埋め込む画素の選択パターンは、これに限定されるものではない。但し、被埋め込みデータを埋め込んだ画素の復元にあたっては、上述したように、被埋め込みデータが埋め込まれていない画素を用いて相関を求めるのが望ましく、また、画素どうしの相関は、基本的に、それらの間の空間的または時間的距離が離れるほど小さくなっていく。従って、正確な復元を行う観点からは、被埋め込みデータを埋め込む画素は、空間的または時間的に、いわゆる疎らになるように選択するのが望ましい。一方、多くの被埋め込みデータを埋め込む観点、即ち、圧縮率の観点からは、被埋め込みデータを埋め込む画素は、ある程度多くする必要がある。従って、被埋め込みデータを埋め込む画素は、復元の正確さと、圧縮率とをバランスさせて選択するのが望ましい。 In the embodiment shown in FIGS. 7 to 9, pixels are selected from the image data in the form of a fifth grid, and the embedded data is embedded in the pixels. The selection pattern is not limited to this. However, in the restoration of the pixel in which the embedded data is embedded, as described above, it is desirable to obtain the correlation using the pixel in which the embedded data is not embedded, and the correlation between the pixels is basically The smaller the spatial or temporal distance between them, the smaller. Therefore, from the viewpoint of accurate restoration, it is desirable to select the pixels in which the embedded data is embedded so as to be sparse in terms of space or time. On the other hand, from the viewpoint of embedding a large amount of embedded data, that is, from the viewpoint of the compression rate, it is necessary to increase the number of pixels in which embedded data is embedded to some extent. Therefore, it is desirable to select a pixel in which to embed data to be embedded while balancing the accuracy of restoration and the compression rate.
さらに、図7乃至図9の実施の形態では、処理対象画素として選択された1画素に、1ビットの被埋め込みデータを埋め込むようにしたが、1画素に、2ビット以上の被埋め込みデータを埋め込むようにすることも可能である。例えば、1画素に、2ビットの被埋め込みデータを埋め込む場合には、その2ビットの被埋め込みデータにしたがって、例えば、0,26,27,26+27のうちのいずれかを、画素値に加算するようにすれば良い。 Furthermore, in the embodiment shown in FIGS. 7 to 9, 1-bit embedded data is embedded in one pixel selected as a processing target pixel, but 2-bit or more embedded data is embedded in one pixel. It is also possible to do so. For example, when embedding 2-bit embedded data in one pixel, according to the 2-bit embedded data, for example, any one of 0, 2 6 , 2 7 , 2 6 +2 7 What is necessary is just to add to a value.
また、図7乃至図9の実施の形態では、画素値に、0または27のうちのいずれかを加算することで(画素値に、27を加算しないか、または加算することで)、被埋め込みデータを埋め込むようにしたが、画素値に加算する値は、27に限定されるものではない。但し、画素値の下位ビットにしか影響を与えないような値を加算する場合には、その加算値と、元の画素値とが、あまり異なったものとならず、従って、図9のステップS15で求められる相関値R1とR2も、あまり異なったものとならなくなる。これは、画素値および被埋め込みデータの復元結果の精度を劣化させることとなるから、被埋め込みデータにしたがって、画素値に加算する値は、元の画素値の上位ビットに影響を与えるような値とするのが望ましい。
In addition, in the embodiment of FIGS. 7 to 9, by adding either 0 or 2 7 to the pixel value (without adding or adding 2 7 to the pixel value), was to embed the embedded data, the value to be added to the pixel value is not limited to 2 7. However, when adding a value that only affects the lower bits of the pixel value, the added value and the original pixel value do not differ so much, and therefore step S15 in FIG. Correlation values R1 and R2 obtained in
さらに、図7乃至図9の実施の形態では、画素値に、所定値を加算することで、被埋め込みデータの埋め込みを行うようにしたが、被埋め込みデータの埋め込みは、加算以外の操作(例えば、ビット反転や、前述した水平ラインのローテーションなど)を、画素値に施すことによって行うことも可能である。但し、上述したように、画素値および被埋め込みデータの復元結果の精度の劣化を防止する観点から、画素値に施す操作は、元の画像についての相関と、操作を施した画像についての相関とが大きく異なるようなものであることが望ましい。 Furthermore, in the embodiment of FIGS. 7 to 9, the embedded data is embedded by adding a predetermined value to the pixel value. However, the embedded data is embedded by an operation other than addition (for example, It is also possible to perform bit inversion and the horizontal line rotation described above on the pixel value. However, as described above, from the viewpoint of preventing deterioration in accuracy of the restoration result of the pixel value and the embedded data, the operations performed on the pixel value are the correlation with respect to the original image and the correlation with respect to the image subjected to the operation. It is desirable for the to be very different.
また、図7乃至図9の実施の形態では、処理対象画素として選択された1画素に、1ビットの被埋め込みデータを埋め込むようにしたが、複数画素に、1ビットの被埋め込みデータを埋め込むようにすることも可能である。即ち、近接する2画素以上に対して、1ビットの被埋め込みデータに対応する同一の操作を行うようにすることが可能である。 In the embodiment shown in FIGS. 7 to 9, 1-bit embedded data is embedded in one pixel selected as a processing target pixel. However, 1-bit embedded data is embedded in a plurality of pixels. It is also possible to make it. That is, it is possible to perform the same operation corresponding to 1-bit embedded data on two or more adjacent pixels.
次に、情報の連続性を利用した埋め込み処理と復元処理について説明する。 Next, an embedding process and a restoration process using information continuity will be described.
例えば、画像データのある1水平ラインについて注目した場合に、その注目ラインにおいて、図10Aに示すような、画素値の変化パターンが連続している波形WAVE#1が観察されたとすると、その注目ラインと離れた他の水平ラインでは、注目ラインとは異なる画素値の変化パターンが観察される。従って、注目ラインと、その注目ラインと離れた他の水平ラインとにおいては、画素値の変化パターンが異なり、連続性においても偏りがある。即ち、画像のある部分の画素値の変化パターンに注目すると、その注目部分に隣接する部分には、同様の画素値の変化パターンが存在し、注目部分から離れるにつれて、異なる画素値の変化パターンが存在するという連続性の偏りがある。
For example, when attention is paid to one horizontal line in the image data, if a
そこで、いま、図10Aに示した、画像データのある水平ラインにおける、画素値の変化パターンが連続している波形WAVE#1の一部を、例えば、図10Bに示すように、離れた水平ラインにおける波形WAVE#2と入れ替える。
Therefore, now, a part of the
この場合、画像データの連続性の偏りが破壊される。しかしながら、近接する部分の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用することにより、破壊された連続性の偏りを復元することができる。即ち、図10Bにおいて、波形の一部WAVE#2の画素値の変化パターンが、他の部分の画素値の変化パターンに比較して大きく異なっているのは、波形が有する本来の連続性の偏りからすれば、明らかに不自然であり、他の部分の画素値の変化パターンと異なっている部分WAVE#2は、他の部分の画素値の変化パターンと同様の波形に入れ替えるべきである。そして、そのような入れ替えを行うことで、連続性の偏りが復元され、これにより、図10Bに示した波形から、図10Aに示した元の波形を復元することができる。
In this case, the continuity bias of the image data is destroyed. However, by using the continuity bias that the change pattern of pixel values of adjacent parts is continuous and the change pattern of pixel values is different as the distance is increased, the destroyed continuity bias can be restored. it can. That is, in FIG. 10B, the change pattern of the pixel value of the
ここで、図10で説明した場合においては、波形の一部を、その周辺の画素値の変化パターンとは大きく異なる画素値の変化パターンの波形に入れ替えることが、画像データに対して、被埋め込みデータを埋め込むこととなる。また、その埋め込みに際して、例えば、波形のどの部分の画素値の変化パターンを入れ替えるのかや、画素値の変化パターンをどの程度大きく変化させるのかなどが、被埋め込みデータにしたがって決定される。一方、被埋め込みデータが埋め込まれた埋め込み画像データ(埋め込み符号化データ)、即ち、大きく異なる画素値の変化パターンを一部に有する波形を、周辺の画素値の変化パターンは連続しており、離れるほど、画素値の変化パターンが異なるという連続性の偏りを利用して、元の波形に戻すことが、その元の波形を復元することとなる。そして、その復元に際して、例えば、波形のどの部分の画素値の変化パターンが大きく変化していたのかや、画素値の変化パターンがどの程度大きく変化していたのかなど、即ち、埋め込み画像データを、どのような操作によって、元の画像データ(波形)に戻したかによって、画像データに埋め込まれていた被埋め込みデータが復元される。 Here, in the case described with reference to FIG. 10, it is possible to replace part of the waveform with a waveform of a pixel value change pattern that is significantly different from the surrounding pixel value change pattern. Data will be embedded. Further, when embedding, for example, which part of the waveform the pixel value change pattern is to be replaced and how much the pixel value change pattern is changed are determined according to the embedded data. On the other hand, embedded image data in which embedded data is embedded (embedded encoded data), that is, a waveform having a partially different pixel value change pattern in a part thereof, the peripheral pixel value change patterns are continuous and separated. The original waveform is restored by returning to the original waveform by utilizing the continuity bias that the pixel value change patterns are different. Then, at the time of the restoration, for example, which part of the waveform the change pattern of the pixel value has changed greatly, how much the change pattern of the pixel value has changed, that is, the embedded image data, The embedded data embedded in the image data is restored depending on what operation is used to restore the original image data (waveform).
次に、図11は、埋め込み符号化器3において、画像の連続性を利用した埋め込みが行われる場合の埋め込み処理の例を示すフローチャートである。
Next, FIG. 11 is a flowchart illustrating an example of an embedding process when embedding using the continuity of images is performed in the embedded
まず最初に、ステップS21において、埋め込み部22は、埋め込み対象データベース1に記憶された埋め込み対象データとしての1フレーム分の画像データを、フレームメモリ21にさせる。さらに、ステップS21では、埋め込み部22は、フレームメモリ21に記憶された画像データの連続領域を検出し、その連続領域の位置を示す連続領域データを、図示せぬワーク用のメモリ(以下、適宜、ワークメモリという)に記憶させる。
First, in step S <b> 21, the embedding unit 22 causes the
即ち、例えば、いま、図12Aに示すような、横×縦が224(= 7×32)×1600画素からなる画像データを対象に、その連続領域を検出する場合には、埋め込み部22は、画像データを、例えば、32×1画素毎の画像ブロックに分割し、各画像ブロック毎にDCT(Discrete Cosine Transform)処理を施して、画像ブロック毎のDCT係数を算出する。 That is, for example, as shown in FIG. 12A, in the case where the continuous area is detected for image data composed of 224 (= 7 × 32) × 1600 pixels in width × length, For example, the image data is divided into image blocks of 32 × 1 pixels, and DCT (Discrete Cosine Transform) processing is performed for each image block to calculate a DCT coefficient for each image block.
さらに、埋め込み部22は、画像ブロックをラスタスキャン順にスキャンして、順次、注目ブロックとし、例えば、注目ブロックに対応するDCT係数と左隣の隣接画像ブロックの対応するDCT係数との差分の絶対値和を順に算出して、注目ブロックの連続性評価値としてワークメモリに記憶させる。また、埋め込み部22は、算出された連続性評価値(差分値)が所定閾値以下である画像ブロックを連続領域と認識し、その画像ブロックの位置をワークメモリに記憶させる。 Further, the embedding unit 22 scans the image blocks in the raster scan order and sequentially sets the blocks of interest. For example, the absolute value of the difference between the DCT coefficient corresponding to the block of interest and the corresponding DCT coefficient of the adjacent image block on the left The sum is calculated in order and stored in the work memory as the continuity evaluation value of the block of interest. In addition, the embedding unit 22 recognizes an image block whose calculated continuity evaluation value (difference value) is equal to or smaller than a predetermined threshold value as a continuous region, and stores the position of the image block in the work memory.
ここで、本来、連続領域とされるべき画像ブロックの一部がノイズ等の影響により連続領域ではないと判断される可能性もあるので、そのような判断が行われるのを防止するために、埋め込み部22は、連続領域の検出の後、補正処理を行い、連続領域に隣接する、非連続領域とされた画像ブロックを、連続領域の画像ブロックに変換する。即ち、補正処理によれば、例えば、2つの連続領域に挟まれた短い区間の非連続領域の画像ブロックや、連続領域に隣接する1つ(または少数)の非連続領域の画像ブロックが、連続領域の画像ブロックに変換され(連続領域の画像ブロックとみなされ)、これにより、2つの連続領域と、その間に挟まれていた領域(非連続領域の画像ブロック)が、全体として、1つの連続領域に補正され、あるいは、1つの連続領域と、それに隣接する非連続領域の画像ブロックが、全体として、1つの連続領域に補正される。 Here, since there is a possibility that a part of the image block that is supposed to be a continuous area is not a continuous area due to the influence of noise or the like, in order to prevent such a determination from being made, After detecting the continuous area, the embedding unit 22 performs a correction process, and converts the image block adjacent to the continuous area as a non-continuous area into an image block of the continuous area. In other words, according to the correction process, for example, an image block of a non-continuous area in a short section sandwiched between two continuous areas or an image block of one (or a small number) of non-continuous areas adjacent to the continuous area is continuous. Converted into an image block of a region (considered as an image block of a continuous region), whereby two continuous regions and a region sandwiched between them (non-continuous region image block) as a whole The image blocks of one continuous area and a non-continuous area adjacent to the one continuous area are corrected to one continuous area as a whole.
その後、ステップS22に進み、埋め込み部22は、被埋め込みデータデータベース2から、被埋め込みデータを、例えば6ビット(3ビット+3ビット)ずつ受信し、ステップS23に進む。
Thereafter, the process proceeds to step S22, where the embedding unit 22 receives the embedded data from the embedded
ステップS23では、埋め込み部22は、上述の6ビットの被埋め込みデータを埋め込む画素群としての処理対象画像を選択、抽出する。即ち、ステップS23では、例えば、フレームメモリ21に記憶された1フレームの画像データが、仮想的に、上半分と下半分の領域(以下、適宜、それぞれを、上領域と下領域という)に分割され、その上領域と下領域のそれぞれの、例えば上から同一の位置にある水平ラインの連続領域が選択、抽出される。
In step S23, the embedding unit 22 selects and extracts a processing target image as a pixel group in which the above-described 6-bit embedded data is embedded. That is, in step S23, for example, one frame of image data stored in the
具体的には、例えば、フレームメモリ21に記憶された1フレームの画像データが、例えば、図12Aに示すように、1600ラインの水平ラインで構成される場合には、第1水平ラインから第800水平ラインまでの領域が、上領域とされ、第801水平ラインから第1600水平ラインまでの領域が、下領域とされる。そして、フレームメモリ21に記憶された画像データについて、最初に、ステップ23の処理が行われる場合には、図12Aに斜線を付して示すように、上領域の第1行である第1水平ラインと、下領域の第1行である第801水平ラインの連続領域が選択、抽出される。
Specifically, for example, when one frame of image data stored in the
なお、埋め込み部22は、ステップS21においてワークメモリに記憶された連続領域データを参照して、第1水平ラインと、第801水平ラインの連続領域のみを選択、抽出する。ここで、図12の実施の形態においては、第1水平ラインと、第801水平ラインの全領域が連続領域であるとして、選択、抽出されている。 The embedding unit 22 refers to the continuous area data stored in the work memory in step S21, and selects and extracts only the continuous area of the first horizontal line and the 801st horizontal line. Here, in the embodiment of FIG. 12, the entire area of the first horizontal line and the 801st horizontal line is selected and extracted as a continuous area.
そして、ステップS24に進み、埋め込み部22は、処理対象画像である、例えば、第1水平ラインの画像と、第801の水平ラインの画像を入れ替えることにより、画像データに、被埋め込みデータを埋め込む。 In step S24, the embedding unit 22 embeds the data to be embedded in the image data by exchanging the first horizontal line image and the 801 horizontal line image, which are the processing target images.
即ち、図12Bは、被埋め込みデータが埋め込まれる前の第1水平ラインの画像データの画素値を示している。また、図12Cは、被埋め込みデータが埋め込まれる前の第801水平ラインの画像データの画素値を示している。図12Bおよび図12Cに示すように、第1水平ラインの領域と第801水平ラインの領域では、画素値の変化パターン(周波数特性)が異なっている。 That is, FIG. 12B shows the pixel values of the image data of the first horizontal line before the embedded data is embedded. FIG. 12C shows pixel values of the image data of the 801st horizontal line before the embedded data is embedded. As shown in FIGS. 12B and 12C, the change pattern (frequency characteristic) of the pixel value is different between the first horizontal line region and the 801st horizontal line region.
例えば、いま、上位3ビットが2で、下位3ビットが6の6ビットの被埋め込みデータを、画像データに埋め込むこととすると、埋め込み部22は、上位3ビットの2を埋め込むため、図12Bに示した第1水平ラインの左から2ブロック目の画像ブロックを選択するとともに、下位3ビットの6を埋め込むため、図12Cに示した第801水平ラインの左からの6ブロック目の画像ブロックを選択する。さらに、埋め込み部22は、選択された第1水平ラインの2ブロック目の画像ブロックと、第801水平ラインの6ブロック目の画像ブロックを入れ替える操作を行う。これにより、第1水平ラインの画素値の変化パターンが、図12Bから図12Dに示すように変更されるとともに、第801水平ラインの画素値の変化パターンが、図12Cから図12Eに示すように変更され、第1水平ラインと第801水平ラインに、上位3ビットが2を表し、かつ下位3ビットが6を表す6ビットの被埋め込みデータが埋め込まれる。
For example, assuming that 6-bit embedded data with the upper 3 bits being 2 and the lower 3 bits being 6 is embedded in the image data, the embedding unit 22 embeds the upper 3
その後、ステップS25において、埋め込み部22は、被埋め込みデータが埋め込まれた第1水平ラインと第801水平ラインの画像データを、フレームメモリ21に書き込み(上書きし)、ステップS26に進む。
Thereafter, in step S25, the embedding unit 22 writes (overwrites) the image data of the first horizontal line and the 801st horizontal line in which the embedded data is embedded in the
ステップS26では、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像データのすべての水平ラインに、被埋め込みデータを埋め込んだかどうかを判定する。ステップS26において、まだ、すべての水平ラインに、被埋め込みデータを埋め込んでいないと判定された場合、ステップS22に戻り、埋め込み部22は、新たな被埋め込みデータを受信し、ステップS23に進む。ステップS23では、埋め込み部22は、上領域と下領域から、次の水平ラインを選択し、即ち、いまの場合は、第2水平ラインと第802水平ラインを選択し、以下、同様の処理を繰り返す。
In step S <b> 26, the embedding unit 22 determines whether to embed data to be embedded in all horizontal lines of one frame of image data stored in the
一方、ステップS26において、フレームメモリ21に記憶された1フレームの画像データのすべての水平ラインに、被埋め込みデータを埋め込んだと判定された場合、即ち、ステップS23で、第1水平ラインと第801水平ラインのセットから、第800ラインと第1600ラインのセットまでが、処理対象画像として選択された場合、埋め込み部22は、フレームメモリ21に記憶された画像データ、即ち、被埋め込みデータが埋め込まれた画像データ(埋め込み画像データ)を読み出して出力させ、埋め込み処理を終了する。
On the other hand, if it is determined in step S26 that the embedded data is embedded in all horizontal lines of the image data of one frame stored in the
なお、図11の埋め込み処理は、フレームメモリ21に記憶された画像データを対象に、フレーム単位で繰り返し行われる。
Note that the embedding process in FIG. 11 is repeatedly performed in units of frames for the image data stored in the
次に、図13は、画像の連続性を利用して、埋め込み対象データとしての画像データに対して被埋め込みデータが埋め込まれた埋め込み符号化データを復元する復元処理の例を示すフローチャートである。 Next, FIG. 13 is a flowchart illustrating an example of a restoration process that restores embedded encoded data in which embedded data is embedded in image data serving as embedding target data using image continuity.
まず最初に、ステップS31において、復元部32は、1フレーム単位の埋め込み符号化データ(埋め込み画像データ)を、フレームメモリ31に記憶させる。さらに、ステップS31では、復元部32は、図11のステップS21における場合と同様にして、埋め込み符号化データの中から連続領域を抽出し、その画像ブロックの位置を、連続領域データとして、図示せぬワークメモリに記憶させる。
First, in step S <b> 31, the
ここで、本実施の形態では、図12で説明したことから、1水平ラインに3ビットの被埋め込みデータが埋め込まれるが、この埋め込みは、1水平ラインのうち1つの画像ブロックを、他の水平ラインの画像ブロックに変更する操作によって行われる。従って、1水平ラインを構成する画像ブロックのうちの、少なくとも1つは、被埋め込みデータの埋め込みのための変更操作によって非連続領域になっている。しかしながら、連続領域の抽出の際には、図11のステップ21で説明したように、補正処理が行われるため、被埋め込みデータの埋め込みのための変更操作によって非連続領域とされた画像ブロックは、連続領域に変換される(連続領域とみなされる)。
Here, in the present embodiment, as described with reference to FIG. 12, embedded data of 3 bits is embedded in one horizontal line, but this embedding is performed for one image block in one horizontal line and other horizontal blocks. This is done by an operation of changing to a line image block. Accordingly, at least one of the image blocks constituting one horizontal line is a non-continuous region due to a change operation for embedding embedded data. However, since the correction process is performed at the time of extracting the continuous area as described in
その後、ステップS32に進み、復元部32は、図11のステップS23における場合と同様に、フレームメモリ31に記憶された1フレームの埋め込み画像データを、上領域と下領域に、仮想的に分割し、ステップS31でワークメモリに記憶された連続領域データを参照して、その上領域と下領域それぞれから、同一位置の水平ラインの連続領域を、順次、選択、抽出する。
Thereafter, the process proceeds to step S32, and the
従って、フレームメモリ31に記憶された埋め込み画像データについて、ステップS32の処理が最初に行われる場合には、上領域の第1行である第1水平ラインと、下領域の第1行である第801水平ラインが選択される。ここで、図11のステップS23で説明したように、埋め込み対象データとしての画像データの第1水平ラインと、第801水平ラインの全領域(全画像ブロック)が、連続領域であるとすると、ステップS32では、第1水平ラインと、第801水平ラインの全領域が抽出される。
Therefore, when the process of step S32 is first performed on the embedded image data stored in the
そして、ステップS33に進み、復元部32は、ステップS32で上領域と下領域それぞれから抽出された第1水平ラインの連続領域と、第801水平ラインの連続領域を構成する、上述の32×1画素単位の画像ブロックを、例えばDCT処理し、これにより、画像データの連続性を評価する評価値としてのDCT係数を算出して、ステップS34に進む。
Then, the process proceeds to step S33, and the
ステップS34では、復元部32は、上領域から抽出された第1水平ラインの連続領域を構成する画像ブロックを、例えば、左側から、順次、注目ブロックとし、その注目ブロックについて、例えば、注目ブロックのDCT係数から、その左隣の画像ブロックのDCT係数を減算し、そのDCT係数の差分値の絶対値和を算出する。さらに、復元部32は、下領域から抽出された第801水平ラインの連続領域についても同様に、その連続領域を構成する画像ブロックを、順次、注目ブロックとし、その注目ブロックについて、DCT係数の差分値の絶対値和を算出する。そして、復元部32は、算出したDCT係数の差分値の絶対値和を、ワークメモリに記憶させる。
In step S34, the
なお、注目ブロックの左隣の画像ブロックが存在しない場合、即ち、ここでは、連続領域を構成する左端の画像ブロックが注目ブロックとされた場合、その注目ブロックについてのDCT係数の差分値の絶対値和は、所定値としての、例えば0とされる。 When there is no image block adjacent to the left of the target block, that is, when the leftmost image block constituting the continuous area is the target block, the absolute value of the difference value of the DCT coefficient for the target block The sum is, for example, 0 as a predetermined value.
その後、ステップS35に進み、復元部32は、ワークメモリに記憶された2つの水平ラインそれぞれについて、その連続領域を構成する画像ブロックのDCT係数の差分値の絶対値和(差分絶対値和)が1番目に大きい画像ブロックと、2番目に大きい画像ブロックの2つの画像ブロックを検出し、その画像ブロックの位置をワークメモリに記憶させる。即ち、例えば、いま、ワークメモリに、第1水平ラインの連続領域を構成する画像ブロックについてのDCT係数の差分絶対値和と、第801ラインの連続領域を構成する画像ブロックについてのDCT係数の差分絶対値和が記憶されている場合には、第1水平ラインにおいて、DCT係数の差分絶対値和が1番目に大きい画像ブロック(以下、適宜、第1位の画像ブロックという)と、2番目に大きい画像ブロック(以下、適宜、第2位の画像ブロックという)が検出され、その第1位と第2位の画像ブロックの位置が、ワークメモリに記憶されるとともに、第801水平ラインにおいても、第1位の画像ブロックと、第2位の画像ブロックが検出され、その第1位と第2位の画像ブロックの位置が、ワークメモリに記憶される。
Thereafter, the process proceeds to step S35, and the
そして、ステップS36に進み、復元部32は、ワークメモリに記憶された、2つの水平ラインそれぞれについての第1位および第2位の画像ブロックの位置に基づいて、6ビットの被埋め込みデータを復元して出力する。
In step S36, the
即ち、復元部32は、第1位と第2の画像ブロックが隣接し、かつ第1位と第2位の画像ブロックについてのDCT係数の差分絶対値和どうしが同程度の値(差分絶対値和どうしの差が所定の閾値以下)の場合、その隣接する第1位と第2の画像ブロックのうちの、左側に位置する画像ブロック位置を、図11の埋め込み処理によって被埋め込みデータを埋め込むのに入れ替えられた画像ブロックの位置(以下、適宜、埋め込み位置という)として、ワークメモリに記憶させるとともに、その埋め込み位置に対応する値を、被埋め込みデータの復元結果として出力する。
In other words, the
具体的には、例えば、図11の埋め込み処理において、第1水平ラインの連続領域につき、図12Bおよび図12Dに示したように、その左から3番目の画像ブロックと、第801水平ラインの画像ブロックとの入れ替え操作が行われた場合、その左から2番目と3番目の画像ブロックについては、そのDCT係数の差分絶対値和が大きくなる。従って、第1水平ラインについては、図13のステップS35において、その左から3番目と4番目の2つの隣接する画像ブロックが、第1位と第2位の画像ブロック(または第2位と第1位の画像ブロック)として検出され、その左側に位置する画像ブロック、即ち、左から3番目の画像ブロックの位置(埋め込み位置)に基づいて、上述の6ビットの被埋め込みデータのうちの上位3ビットが、2(=3−1)に復元される。
Specifically, for example, in the embedding process of FIG. 11, for the continuous region of the first horizontal line, as shown in FIGS. 12B and 12D, the third image block from the left and the image of the 801 horizontal line When the replacement operation with the block is performed, the sum of absolute differences of the DCT coefficients is increased for the second and third image blocks from the left. Therefore, for the first horizontal line, in step S35 of FIG. 13, the third and fourth adjacent image blocks from the left are the first and second image blocks (or the second and second image blocks). The
また、例えば、図11の埋め込み処理において、第801水平ラインの連続領域につき、図12Cおよび図12Eに示したように、その左から7番目の画像ブロックと、第1水平ラインの画像ブロックとの入れ替え操作が行われた場合、その左から7番目と8番目の画像ブロックについては、そのDCT係数の差分絶対値和が大きくなる。従って、第801水平ラインについては、図13のステップS35において、その左から7番目と8番目の2つの隣接する画像ブロックが、第1位と第2位の画像ブロック(または第2位と第1位の画像ブロック)として検出され、その左側に位置する画像ブロック、即ち、左から7番目のブロックの位置(埋め込み位置)に基づいて、上述の6ビットの被埋め込みデータのうちの下位3ビットが、6(=7−1)に復元される。
Also, for example, in the embedding process of FIG. 11, as shown in FIGS. 12C and 12E, for the continuous area of the 801st horizontal line, the seventh image block from the left and the image block of the first horizontal line When the replacement operation is performed, the difference absolute value sum of the DCT coefficients becomes large for the seventh and eighth image blocks from the left. Therefore, for the 801 horizontal line, in step S35 of FIG. 13, the seventh and eighth adjacent image blocks from the left are the first and second image blocks (or the second and second image blocks). Lower-
ここで、図11の埋め込み処理において、水平ラインの連続領域の左端の画像ブロックまたは右端の画像ブロックが、他の水平ラインの画像ブロックと入れ替えられることにより、被埋め込みデータが埋め込まれている場合には、DCT係数の差分絶対値和は、その入れ替えが行われた画像ブロックについてのみ、ある程度大きくなり、他のブロックについては、それほど大きくならない。このため、復元部32は、第1位と第2位の画像ブロックの位置が隣接していない場合、または第1位と第2位の画像ブロックについてのDCT係数の差分絶対値和どうしが同程度の値でない場合(差分絶対値和どうしの差が所定の閾値以上の場合)には、第1位の画像ブロックの位置に基づき、被埋め込みデータを復元する。即ち、この場合、第1位の画像ブロックが、左端または右端の画像ブロックであるとき、被埋め込みデータとして、0または7が、それぞれ復元される。
Here, in the embedding process of FIG. 11, when the embedded data is embedded by replacing the left end image block or the right end image block of the continuous area of the horizontal line with the image block of another horizontal line. The difference absolute value sum of the DCT coefficients is increased to some extent only for the image block in which the replacement has been performed, and is not so large for the other blocks. For this reason, the
以上のようにして、埋め込み位置に基づいて、被埋め込みデータが復元されると、ステップS37に進み、復元部32は、ステップS35においてワークメモリに記憶された、6ビットの被埋め込みデータを復元するのに用いられた2つの埋め込み位置にしたがい、フレームメモリ31に記憶された埋め込み画像データの、ステップS32で選択された2つの水平ラインにおける画像ブロックの位置を入れ替える。
As described above, when the embedded data is restored based on the embedding position, the process proceeds to step S37, and the
即ち、例えば、図11の埋め込み処理において、図12で説明したように、上領域の第1行である第1水平ラインの左から3番目の画像ブロックと、下領域の第1行である第801ラインの左から7番目の画像ブロックとが入れ替えられた場合には、図13のステップS35において、第1水平ラインについては、左から3番目を表す埋め込み位置が記憶され、第801水平ラインについては、左から7番目を表す埋め込み位置が記憶される。従って、この場合、ステップ37では、第1水平ラインの左から3番目の画像ブロックと、第801水平ラインの左から7番目の画像ブロックとが入れ替えられ、これにより、第1水平ラインおよび第801水平ラインが復元される。 That is, for example, in the embedding process of FIG. 11, as described in FIG. 12, the third image block from the left of the first horizontal line that is the first row in the upper region and the first row that is the first row in the lower region. When the seventh image block from the left of the 801th line is replaced, in step S35 in FIG. 13, for the first horizontal line, the embedding position representing the third from the left is stored, and for the 801st horizontal line. Stores the seventh embedding position from the left. Accordingly, in this case, in step 37, the third image block from the left of the first horizontal line and the seventh image block from the left of the 801 horizontal line are interchanged, whereby the first horizontal line and the 801th image block are replaced. The horizontal line is restored.
その後、復元部32は、復元した2つの水平ラインを、フレームメモリ31に上書きする形で書き込み、ステップS38に進む。ステップS38では、復元部32は、フレームメモリ31に記憶された1フレームの埋め込み画像データについて、埋め込み対象データとしての画像データと、そこに埋め込まれている被埋め込みデータの復元が終了したか否かを判定する。ステップS38において、フレームメモリ31に記憶された1フレームの埋め込み画像データについての復元が終了していないと判定された場合、ステップS32に戻り、フレームメモリ31に記憶された埋め込み画像データにおける上領域と下領域それぞれから、次の行の水平ラインが選択され、以下、同様の処理が繰り返される。
Thereafter, the
また、ステップS38において、フレームメモリ31に記憶された1フレームの埋め込み画像データについての復元が終了したと判定された場合、ステップS39に進み、復元部32は、フレームメモリ31に記憶された画像データ、即ち、復元された埋め込み対象データとしての画像データを出力させ、処理を終了する。
If it is determined in step S38 that the restoration of one frame of embedded image data stored in the
なお、図13の実施の形態によれば、埋め込み対象データとしての画像データは、2つの水平ラインごとに、即ち、その上領域と下領域それぞれの同一行の水平ラインごとに復元される。従って、復元された画像データは、上述のように、フレームメモリ31に記憶された1フレームの画像データすべてが復元された後に出力することもできるが、復元単位である2つの水平ラインが復元されるごとに出力することも可能である。
Note that according to the embodiment of FIG. 13, the image data as the embedding target data is restored for every two horizontal lines, that is, for each horizontal line in the same row in the upper area and the lower area. Therefore, the restored image data can be output after all the image data of one frame stored in the
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の連続性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像(復号画像)には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 As described above, the embedded image data, which is the image data in which the embedded data is embedded, is restored to the original image data and the embedded data using the continuity of the image. Even without the overhead, the embedded image data can be restored to the original image data and the embedded data. Therefore, in the restored image (decoded image), basically, image quality deterioration due to embedding embedded data does not occur.
即ち、図11の埋め込み処理によれば、1の水平ラインにおける、6ビットの被埋め込みデータの上位3ビットに対応する位置の画像ブロックと、他の1つの水平ラインにおける、6ビットの被埋め込みデータの下位3ビットに対応する位置の画像ブロックとを入れ替えるという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。 That is, according to the embedding process of FIG. 11, an image block at a position corresponding to the upper 3 bits of 6-bit embedded data in one horizontal line and 6-bit embedded data in another horizontal line. In accordance with the operation rule of replacing the image block at the position corresponding to the lower 3 bits, embedded data is embedded in the image data, and embedded image data is generated.
一方、図13の復元処理によれば、埋め込み画像データのDCT係数を、連続性の評価値として、その連続性を利用し、埋め込み処理における操作ルールにしたがって、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われる。そして、その操作によって、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。 On the other hand, according to the restoration process in FIG. 13, the DCT coefficient of the embedded image data is used as an evaluation value of continuity, and the continuity is used. The reverse operation is performed in the case of. As a result, the original image data and the embedded data are restored from the embedded image data.
従って、図11の埋め込み処理における操作ルールは、画像データの連続性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく(最低限の劣化に抑えて)、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。 Therefore, it can be said that the operation rule in the embedding process of FIG. 11 is an operation rule that can restore the embedded image data in which the embedded data is embedded using the continuity of the image data. In the processing, by adopting such an operation rule, the embedded data is embedded in the image data without degrading the image quality of the image data (suppressing the minimum degradation) and without increasing the data amount. be able to.
なお、上述の場合には、埋め込み画像データのDCT係数を、連続性の評価値として用いるようにしたが、連続性の評価値としては、DCT係数以外のものを使用することが可能である。 In the above-described case, the DCT coefficient of the embedded image data is used as the continuity evaluation value. However, as the continuity evaluation value, a value other than the DCT coefficient can be used.
次に、情報の相似性を利用した埋め込み処理と復元処理について説明する。 Next, an embedding process and a restoration process using information similarity will be described.
例えば、風景を撮影した画像等の一部は、画像のフラクタル性(自己相似性)を利用して生成することができることが知られている。そして、例えば、図14Aに示すような、海R1と森R2が表示されている画像においては、海R1全体の画素値の変化パターン(例えば、エッジ形状)と、その海R1の一部の画素値の変化パターンとの相似性は高いが、それらの変化パターンと、海R1から離れた森R2の画素値の変化パターンとの相似性は低いという相似性の偏りがある。 For example, it is known that a part of an image or the like obtained by photographing a landscape can be generated using the fractal nature (self-similarity) of the image. For example, in an image in which the sea R1 and the forest R2 are displayed as shown in FIG. 14A, a change pattern (for example, an edge shape) of the pixel value of the entire sea R1 and some pixels of the sea R1. Although the similarity with the value change pattern is high, there is a similarity bias that the similarity between the change pattern and the pixel value change pattern of the forest R2 away from the sea R1 is low.
そこで、いま、図14Aに示した海R1の一部R3と、森R2の一部R4とを入れ替える。 Therefore, a part R3 of the sea R1 and a part R4 of the forest R2 shown in FIG. 14A are exchanged.
この場合、画像の相似性の偏りが破壊され、図14Bに示すような画像が得られる。しかしながら、近接する部分の画素値の変化パターンは相似性が高く、離れるほど、画素値の変化パターンの相似性が低くなるという相似性の偏りを利用することにより、破壊された相似性の偏りを復元することができる。即ち、図14Bにおいて、海R1の画像の一部が、海R1と相似性の低い森R2の画像の一部R4になっていること、および森R2の画像の一部が、森R2と相似性の低い海R1の画像の一部R3となっていることは、画像が有する本来の相似性の偏りからすれば、明らかに不自然である。具体的には、図14Bにおいて、海R1の画像の中の、森R2の画像の一部R4についての相似性は、海R1の他の部分についての相似性に比較して極端に低くなっており、また、森R2の画像の中の、海R1の画像の一部R3についての相似性も、森R2の他の部分についての相似性に比較して極端に低くなっている。一方、海R1の中にある森R2の一部R4と、森R2との相似性、および森R2の中にある海R1の一部R3と、海R1の相似性は、いずれも高い。 In this case, the image similarity bias is destroyed, and an image as shown in FIG. 14B is obtained. However, the variation pattern of the pixel values of the adjacent parts has a high similarity, and the similarity deviation of the pixel value change pattern decreases as the distance from the pattern increases. Can be restored. That is, in FIG. 14B, a part of the image of the sea R1 is a part R4 of the image of the forest R2 having low similarity to the sea R1, and a part of the image of the forest R2 is similar to the forest R2. The fact that it is a part R3 of the low-quality image of the sea R1 is obviously unnatural in view of the inherent similarity bias of the image. Specifically, in FIG. 14B, the similarity for part R4 of the image of forest R2 in the image of sea R1 is extremely low compared to the similarity for other parts of sea R1. In addition, the similarity for the part R3 of the image of the sea R1 in the image of the forest R2 is extremely low compared to the similarity for the other part of the forest R2. On the other hand, the similarity between the part R4 of the forest R2 in the sea R1 and the forest R2, and the part R3 of the sea R1 in the forest R2 and the similarity of the sea R1 are all high.
従って、画像が本来有する相似性の偏りからすれば、海R1の画像の一部となっている、森R2の画像の一部R4と、森R2の画像の一部となっている、海R1の画像の一部R3とは入れ替えるべきである。そして、そのような入れ替えを行うことで、画像の相似性の偏りが復元され、これにより、図14Bに示した画像から、図14Aに示した元の画像を復元することができる。 Therefore, from the similarity bias inherent in the image, part of the image of the sea R1, part R4 of the image of the forest R2, and part of the image of the forest R2, the sea R1. Should be replaced with part R3 of the image. Then, by performing such replacement, the image similarity bias is restored, whereby the original image shown in FIG. 14A can be restored from the image shown in FIG. 14B.
ここで、図14で説明した場合においては、埋め込み対象データとしての海R1の画像の一部R3と、森R2の画像の一部R4とを入れ替えることが、被埋め込みデータを、埋め込み対象データに埋め込むことになる。また、その埋め込みに際して、例えば、海R1の画像のどの部分(画面上の位置)と、森R2の画像のどの部分とを入れ替えるのかなどが、被埋め込みデータにしたがって決定されることになる。一方、被埋め込みデータが埋め込まれた埋め込み画像データ(埋め込み符号化データ)、即ち、海R1の一部が、森R2の一部R4となっているとともに、森R2の一部が、海R1の一部R3となっている画像を、周辺の画素値の変化パターンの相似性は高く、離れるほど、画素値の変化パターンの相似性が低くなっていくという相似性の偏りを利用して、元の画像に戻すことが、その元の画像を復元することとなる。そして、その復元に際して、例えば、海の画像のどの部分と、森の画像のどの部分とが入れ替えられていたのかなど、即ち、埋め込み画像データを、どのような操作によって元の画像データに戻したかによって、画像データに埋め込まれていた被埋め込みデータを復元される。 Here, in the case described with reference to FIG. 14, replacing the part R3 of the image of the sea R1 as the embedding target data with the part R4 of the image of the forest R2 converts the embedded data into the embedding target data. Will be embedded. In the embedding, for example, which part (position on the screen) of the image of the sea R1 and which part of the image of the forest R2 are to be replaced is determined according to the embedded data. On the other hand, embedded image data (embedded encoded data) in which embedded data is embedded, that is, a part of the sea R1 is a part R4 of the forest R2, and a part of the forest R2 is a part of the sea R1. The similarity of the change pattern of the surrounding pixel values of the image that is partly R3 is high, and the similarity bias that the similarity of the change pattern of the pixel values decreases as the distance from the image increases. Returning to the original image restores the original image. In the restoration, for example, which part of the sea image was replaced with which part of the forest image, that is, how the embedded image data was restored to the original image data. Thus, the embedded data embedded in the image data is restored.
次に、図15を参照して、相似性について、さらに説明する。 Next, the similarity will be further described with reference to FIG.
いま、例えば、図15Aに示すようなフラクタル画像を埋め込み対象データとして、そこに被埋め込みデータを埋め込むとした場合、被埋め込みデータに対応して、フラクタル画像の一部が、そのフラクタル画像とは相似でない画像に入れ替えられることで、フラクタル画像への被埋め込みデータの埋め込みが行われる。即ち、図15Aでは、樹木の葉の形状をしたフラクタル画像が埋め込み対象データとされているが、被埋め込みデータの埋め込みは、そのフラクタル画像の一部が、例えば、図15Bに示すように、三角形に入れ替えられることで行われる。ここで、図15では、図15BにおいてD1およびD2で示す部分が三角形になっており、このように、三角形に入れ替えられるフラクタル画像の位置や、フラクタル画像と入れ替える三角形の大きさ、数などが、被埋め込みデータにしたがって決定される。 For example, when a fractal image as shown in FIG. 15A is used as data to be embedded and embedded data is embedded therein, a part of the fractal image is similar to the fractal image corresponding to the embedded data. By being replaced with a non-image, embedding of data to be embedded in the fractal image is performed. That is, in FIG. 15A, a fractal image in the shape of a tree leaf is used as the embedding target data. However, embedding of embedded data is performed by converting a part of the fractal image into a triangle as shown in FIG. 15B, for example. It is done by being replaced. Here, in FIG. 15, the portions indicated by D <b> 1 and D <b> 2 in FIG. 15 </ b> B are triangles. Thus, the position of the fractal image replaced with the triangle, the size and number of triangles replaced with the fractal image, It is determined according to the embedded data.
一方、上述のようにして、被埋め込みデータが埋め込み対象データとしてのフラクタル画像に埋め込まれた埋め込み符号化データは、例えば、次のようにして、フラクタル画像と被埋め込みデータとに復元される。即ち、例えば、図15Bにおいて、点線の四角形で囲んである部分については、三角形との入れ替えを行わないこととしておき、その点線の四角形で囲んである部分を、教師画像として、その教師画像と相似でない部分(ここでは、三角形)が検索される。さらに、教師画像と相似でない部分である三角形が、教師画像に含まれる、フラクタル画像の基準図形から生成される画像(フラクタル画像)に入れ替えられ、これにより、元のフラクタル画像(図15A)が復元される。そして、検索された三角形の位置や、大きさ、数などに基づいて、埋め込まれた被埋め込みデータが復元される。 On the other hand, the embedded encoded data in which the embedded data is embedded in the fractal image as the embedding target data as described above is restored to the fractal image and the embedded data as follows, for example. That is, for example, in FIG. 15B, the portion surrounded by the dotted rectangle is not replaced with the triangle, and the portion surrounded by the dotted rectangle is similar to the teacher image as the teacher image. The part which is not (here, a triangle) is searched. Furthermore, the triangle that is not similar to the teacher image is replaced with an image (fractal image) generated from the reference graphic of the fractal image included in the teacher image, thereby restoring the original fractal image (FIG. 15A). Is done. Then, the embedded data to be embedded is restored based on the searched triangle position, size, number, and the like.
なお、上述の場合においては、教師画像に含まれる、フラクタル画像の基準図形を検出する必要があるが、これは、例えば、次のようにして行われる。即ち、図15Bの画像のうちの、教師画像と、それ以外の部分との相似性、および教師画像の自己相似性に基づいて、図15Bの画像を対象に、フラクタル画像の基準図形が検索され、教師画像以外の部分を、最も効率良く表すことができる図形が、基準図形として検出される。 In the case described above, it is necessary to detect the reference graphic of the fractal image included in the teacher image. This is performed, for example, as follows. That is, based on the similarity between the teacher image and the other parts of the image in FIG. 15B and the self-similarity of the teacher image, the reference graphic of the fractal image is searched for the image in FIG. 15B. The figure that can most efficiently represent the part other than the teacher image is detected as the reference figure.
また、図15の実施の形態では、元のフラクタル画像の生成規則が認識されており、その生成規則に基づいて、三角形と入れ替える画像が、基準図形を用いて生成されるものとする。即ち、埋め込み対象データとしてのフラクタル画像と被埋め込みデータの復元時においては、三角形と入れ替える画像を生成するための、基準図形の大きさや、位置、回転量などが、生成規則に基づいて特定され、その特定された基準図形の大きさや、位置、回転量などにしたがって、基準図形が操作され、三角形と入れ替える画像(フラクタル画像)が生成されるものとする。 In the embodiment of FIG. 15, the original fractal image generation rule is recognized, and an image to be replaced with a triangle is generated using the reference graphic based on the generation rule. That is, when restoring the fractal image as the data to be embedded and the embedded data, the size, position, rotation amount, etc. of the reference graphic for generating the image to be replaced with the triangle are specified based on the generation rule, It is assumed that the reference graphic is operated according to the size, position, rotation amount, etc. of the specified reference graphic, and an image (fractal image) to be replaced with a triangle is generated.
次に、図16は、埋め込み符号化器3において、画像の相似性を利用した埋め込みが行われる場合の処理の例を示すフローチャートである。
Next, FIG. 16 is a flowchart illustrating an example of processing when embedding using the similarity of images is performed in the embedded
ステップS51において、埋め込み部22は、埋め込み対象データベース1から1フレーム分の画像データを、フレームメモリ21に転送して記憶させ、さらに、画像データの相似領域を検出し、その相似領域の位置を示す相似領域データを、ワークメモリに記憶させる。
In step S51, the embedding unit 22 transfers and stores image data for one frame from the embedding
即ち、例えば、図17Aに示すような、56×1600画素からなるフラクタル画像を、埋め込み対象データとして、被埋め込みデータの埋め込みを行う場合には、埋め込み部22は、まず、その56×1600画素からなるフラクタル画像を、例えば、8×8画素毎の画像ブロックに分割し、その画像ブロックを、順次、注目ブロックとする。さらに、埋め込み部22は、注目ブロックを構成する画素を、例えば、ラスタスキャン順にスキャンし、注目ブロックと、その左右に隣接する画像ブロックである2つの周辺画像ブロックそれぞれとの相似性を算出する。 That is, for example, when embedding data to be embedded using a fractal image consisting of 56 × 1600 pixels as shown in FIG. 17A as data to be embedded, the embedding unit 22 first starts from the 56 × 1600 pixels. The fractal image is divided into, for example, image blocks of 8 × 8 pixels, and the image blocks are sequentially set as the target block. Further, the embedding unit 22 scans the pixels constituting the target block, for example, in the raster scan order, and calculates the similarity between the target block and each of the two neighboring image blocks that are image blocks adjacent to the left and right.
具体的には、埋め込み部22は、注目ブロックの大きさ、位置、回転量を所定量だけ変更しながら、その注目ブロックと、左隣または右隣の画像ブロック(周辺画像ブロック)それぞれとのマッチングを行い、これにより、例えば、注目ブロックを構成する各画素と、周辺画像ブロックを構成する対応する画素との差分絶対値和の逆数を、マッチング度として求める。さらに、埋め込み部22は、注目ブロックと、2つの周辺画像ブロックそれぞれとの2つのマッチング度を平均し、その平均値を、注目ブロックの周辺との相似性を表す評価値(相似性評価値)として、ワークメモリに記憶させる。ここで、左端または右端の画像ブロックが、注目ブロックのときは、その左側または右側には、周辺画像ブロックが存在しないため、例えば、右側または左側の周辺画像ブロックとの間で求められた1つのマッチング度を、そのまま注目ブロックの相似性評価値とすることとする。埋め込み部22は、算出された相似性評価値(マッチング度)が所定に閾値以上となった画像ブロックを相似領域として認識し、その画像ブロックの位置を、ワークメモリに記憶させる。 Specifically, the embedding unit 22 changes the size, position, and rotation amount of the target block by a predetermined amount, and matches the target block with each of the left or right adjacent image blocks (peripheral image blocks). Thus, for example, the reciprocal of the sum of absolute differences between each pixel constituting the target block and the corresponding pixel constituting the peripheral image block is obtained as the matching degree. Further, the embedding unit 22 averages the two matching degrees between the block of interest and each of the two neighboring image blocks, and the average value is an evaluation value (similarity evaluation value) representing similarity with the periphery of the block of interest. Is stored in the work memory. Here, when the image block at the left end or the right end is the target block, there is no peripheral image block on the left side or the right side thereof. The matching degree is directly used as the similarity evaluation value of the block of interest. The embedding unit 22 recognizes an image block in which the calculated similarity evaluation value (matching degree) is equal to or greater than a predetermined threshold as a similar region, and stores the position of the image block in the work memory.
ここで、本来、相似領域とされるべき画像ブロックの一部がノイズ等の影響により相似領域ではないと判断される可能性もあるので、そのような判断が行われるのを防止するために、埋め込み部22は、相似領域の検出の後、補正処理を行い、相似領域に隣接する、非相似領域とされた画像ブロックを、相似領域の画像ブロックに変換する。即ち、補正処理によれば、例えば、2つの相似領域に挟まれた短い区間の非相似領域の画像ブロックや、相似領域に隣接する1つ(または少数)の非相似領域の画像ブロックが、相似領域の画像ブロックに変換され(相似領域の画像ブロックとみなされ)、これにより、2つの相似領域と、その間に挟まれていた領域(非相似領域の画像ブロック)が、全体として、1つの相似領域に補正され、あるいは、1つの相似領域と、それに隣接する非相似領域の画像ブロックが、全体として、1つの相似領域に補正される。 Here, since there is a possibility that a part of the image block that is supposed to be a similar region is not a similar region due to the influence of noise or the like, in order to prevent such a determination from being made, After detecting the similar area, the embedding unit 22 performs a correction process, and converts the image block adjacent to the similar area, which is an unsimilar area, into an image block in the similar area. That is, according to the correction processing, for example, an image block of a non-similar region in a short section sandwiched between two similar regions, or an image block of one (or a small number) of non-similar regions adjacent to the similar region is similar. It is converted into an image block of a region (considered as an image block of a similar region), so that two similar regions and a region sandwiched between them (an image block of a non-similar region) are combined into one similar Alternatively, the image blocks of one similar region and a non-similar region adjacent thereto are corrected to one similar region as a whole.
次に、ステップS52において、埋め込み部22は、被埋め込みデータベース2から、被埋め込みデータを、例えば、6ビット(3ビット+3ビット)ずつ受信する。
Next, in step S <b> 52, the embedding unit 22 receives embedded data from the embedded
そして、ステップS53において、埋め込み部22は、上述の6ビットの被埋め込みデータを埋め込む画像ブロック群としての処理対象画像を選択、抽出する。即ち、ステップS53では、例えば、フレームメモリ21に記憶された1フレームの画像データが、仮想的に、上半分と下半分の領域(上領域と下領域)に分割され、その上領域と下領域のそれぞれの、例えば上から同一の行にある相似領域が選択、抽出される。
In step S53, the embedding unit 22 selects and extracts a processing target image as an image block group in which the above-described 6-bit embedded data is embedded. That is, in step S53, for example, one frame of image data stored in the
具体的には、例えば、フレームメモリ21に記憶された1フレームの画像データが、例えば、図17Aに示すように、1600ラインの水平ラインで構成され、ステップS51で8×8画素の画像ブロックに分割された場合には、第1行から第100行までの画像ブロックの領域が、上領域とされ、第101行から第200行までの画像ブロックの領域が、下領域とされる。そして、フレームメモリ21に記憶された画像データについて、最初に、ステップ53の処理が行われる場合には、上領域の第1行の画像ブロックと、下領域の第1行の画像ブロックの相似領域が選択、抽出される。
Specifically, for example, one frame of image data stored in the
なお、埋め込み部22は、ステップS51においてワークメモリに記憶された連続領域データを参照して、第1行の画像ブロックと、第101行の画像ブロックの相似領域のみを選択、抽出する。ここで、図17の実施の形態においては、第1行と、第101行の全画像ブロックが相似領域であるとして、選択、抽出されている。 The embedding unit 22 refers to the continuous area data stored in the work memory in step S51, and selects and extracts only the similar area between the image block in the first row and the image block in the 101st row. Here, in the embodiment of FIG. 17, all image blocks in the first row and the 101st row are selected and extracted as being similar regions.
その後、ステップS54に進み、埋め込み部22は、例えば、処理対象画像である、第1行の画像ブロックのうちの1つと、第101行の画像ブロックのうちの1つを入れ替えることにより、フレームメモリ21に記憶された画像データに被埋め込みデータを埋め込む。 Thereafter, the process proceeds to step S54, where the embedding unit 22 replaces, for example, one of the image blocks in the first row and one of the image blocks in the 101st row, which is the processing target image, to thereby store the frame memory. The embedded data is embedded in the image data stored in 21.
即ち、図17Aは、被埋め込みデータが埋め込まれる前の埋め込み対象データとしての画像データを示しており、図17Bは、被埋め込みデータが埋め込まれた後の埋め込み符号化データを示している。 That is, FIG. 17A shows image data as data to be embedded before embedding data is embedded, and FIG. 17B shows embedded encoded data after embedding data is embedded.
図17Aの埋め込み対象データにおいては、第1行の画像ブロックの領域と第101行の画像ブロックの領域とで、画素値の変化パターン、すなわち、画像ブロック内の図形の相似性が異なっている。 In the embedding target data shown in FIG. 17A, the pixel value change pattern, that is, the similarity of graphics in the image block is different between the image block area in the first row and the image block area in the 101st row.
いま、例えば、上位3ビットが2で、下位3ビットが6となっている6ビットの被埋め込みデータを、第1行と第101行の画像ブロックに埋め込むものとすると、埋め込み部22は、6ビットの被埋め込みデータのうちの上位3ビットの2に対応して、図17Aの第1行の左から3番目の画像ブロックを選択するとともに、6ビットの被埋め込みデータのうちの下位3ビットの6に対応して、図17Aの第101行の左から7番目の画像ブロックを選択する。さらに、埋め込み部22は、選択した第1行の左から3番目の画像ブロックと、第101行の左から7番目の画像ブロックとを入れ替え、これにより、図17Bに示すように、6ビットの被埋め込みデータを、第1行と第101行の画像ブロックに埋め込む。
For example, if 6-bit embedded data in which the upper 3 bits are 2 and the lower 3 bits is 6 is embedded in the image blocks of the first row and the 101st row, the embedding unit 22 has 6 The third image block from the left in the first row in FIG. 17A is selected corresponding to the upper 3
ここで、左から、i番目の画像ブロックを、以下、適宜、第i画像ブロックという。 Here, the i-th image block from the left is hereinafter appropriately referred to as the i-th image block.
ステップS54において、被埋め込みデータを埋め込んだ後は、ステップS55に進み、埋め込み部22は、被埋め込みデータを埋め込んだ第1行の画像ブロックと、第101行の画像ブロックを、フレームメモリ21に上書きする形で書き込み、ステップS56に進む。
In step S54, after embedding the embedded data, the process proceeds to step S55, and the embedding unit 22 overwrites the
ステップS56では、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像データのすべての画像ブロックの行に、被埋め込みデータを埋め込んだかどうかを判定する。ステップS56において、まだ、すべての画像ブロックの行に、被埋め込みデータを埋め込んでいないと判定された場合、ステップS52に戻り、埋め込み部22は、新たな被埋め込みデータを受信し、ステップS53に進む。ステップS53では、埋め込み部22は、上領域と下領域から、次の行の画像ブロックを選択し、即ち、いまの場合は、第2行の画像ブロックと第102行の画像ブロックを選択し、以下、同様の処理を繰り返す。
In step S <b> 56, the embedding unit 22 determines whether to embed data to be embedded in all image block rows of one frame of image data stored in the
一方、ステップS56において、フレームメモリ21に記憶された1フレームの画像データのすべての画像ブロックの行に、被埋め込みデータを埋め込んだと判定された場合、即ち、ステップS53で、第1行と第101行の画像ブロックのセットから、第100行と第200行の画像ブロックのセットまでが、処理対象画像として選択された場合、埋め込み部22は、フレームメモリ21に記憶された画像データ、即ち、被埋め込みデータが埋め込まれた画像データ(埋め込み画像データ)を読み出して出力させ、埋め込み処理を終了する。
On the other hand, when it is determined in step S56 that the embedded data is embedded in all the image block rows of the image data of one frame stored in the
なお、図16の埋め込み処理は、埋め込み対象データとしての画像データのフレームを対象として、適宜、繰り返し行われる。 Note that the embedding process in FIG. 16 is repeatedly performed as appropriate for the frame of the image data as the embedding target data.
次に、図18は、画像の相似性を利用して、埋め込み対象データとしての画像データに対して被埋め込みデータが埋め込まれた埋め込み符号化データを復元する復元処理の例を示すフローチャートである。 Next, FIG. 18 is a flowchart illustrating an example of a restoration process that restores embedded encoded data in which embedded data is embedded in image data serving as embedding target data using image similarity.
まず最初に、ステップS61において、復元部32は、1フレーム単位の埋め込み符号化データ(埋め込み画像データ)を、フレームメモリ31に順次記憶させる。さらに、ステップS31では、復元部32は、図16のステップS51における場合と同様にして、埋め込み符号化データの中から相似領域を抽出し、その画像ブロックの位置を、相似領域データとして、図示せぬワークメモリに記憶させる。
First, in step S61, the
ここで、本実施の形態では、図16で説明したことから、画像ブロックの1行に3ビットの被埋め込みデータが埋め込まれるが、この埋め込みは、1行を構成する画像ブロックのうちの1つの画像ブロックを変更する操作(入れ替える操作)によって行われる。従って、1行を構成する画像ブロックのうちの、少なくとも1つは、被埋め込みデータの埋め込みのための変更操作によって非相似領域になっている。しかしながら、相似領域の抽出の際には、図16のステップ51で説明したように、補正処理が行われるため、被埋め込みデータの埋め込みのための変更操作によって非相似領域とされた画像ブロックは、相似領域に変換される(相似領域とみなされる)。従って、ステップS31で抽出される相似領域には、図16の埋め込み処理で入れ替えが行われた画像ブロックが含まれる。
Here, in the present embodiment, as described with reference to FIG. 16, 3-bit embedded data is embedded in one row of an image block. This embedding is performed by one of the image blocks constituting one row. This is performed by an operation (changing operation) for changing the image block. Accordingly, at least one of the image blocks constituting one row is a dissimilar region due to a change operation for embedding data to be embedded. However, since the correction process is performed as described in
その後、ステップS62に進み、復元部32は、図16のステップS53における場合と同様に、フレームメモリ31に記憶された1フレームの埋め込み画像データを、上領域と下領域に、仮想的に分割し、ステップS61でワークメモリに記憶された相似領域データを参照して、その上領域と下領域それぞれから、同一行の画像ブロックの相似領域を、順次、選択、抽出する。
Thereafter, the process proceeds to step S62, and the
従って、フレームメモリ31に記憶された埋め込み画像データについて、ステップS62の処理が最初に行われる場合には、上領域の第1行と、下領域の第1行が選択される。ここで、図16のステップS53で説明したように、埋め込み対象データとしての画像データの第1行の画像ブロックと、第101行の画像ブロックのすべてが、相似領域であるとすると、ステップS62では、第1行と、第101行の全画像ブロックが、相似領域であるとして抽出される。
Therefore, when the process of step S62 is first performed on the embedded image data stored in the
そして、ステップS63に進み、復元部32は、図16のステップS51で説明した場合と同様にして、ステップS62で上領域と下領域それぞれから抽出された第1行の相似領域と、第101行の相似領域を構成する8×8画素単位の画像ブロックを、順次、注目ブロックとし、その注目ブロックについて、周辺画像ブロックとの間でマッチングを行う。これにより、復元部32は、注目ブロックについて、周辺画像ブロックとの間のマッチング度を求め、さらに、そのマッチング度から、図16および図17で説明した場合と同様にして、相似性評価値を求める。
Then, the process proceeds to step S63, and the
なお、上述の場合には、注目ブロックと左右の画像ブロック(周辺画像ブロック)それぞれのマッチング度の平均値を、注目ブロックの相似性評価値とするようにしたが、その他、例えば、注目ブロックと左右の画像ブロックそれぞれのマッチング度のうちの大きい方または小さい方を、相似性評価値として採用するようにすることも可能である。 In the above-described case, the average value of the matching degrees of the target block and the left and right image blocks (peripheral image blocks) is set as the similarity evaluation value of the target block. The larger or smaller matching degree between the left and right image blocks may be adopted as the similarity evaluation value.
復元部32は、上述したようにして、上領域と下領域それぞれから抽出された第1行の相似領域と、第101行の相似領域を構成する画像ブロックそれぞれの相似性評価値を求めると、その相似性評価値を、ワークメモリに記憶させ、ステップS65に進む。
As described above, the
ステップS65では、復元部32は、ワークメモリに記憶された2行(上領域の1行と、その行に対応する下領域の1行の、合計2行)の画像ブロックの相似領域それぞれから、相似性評価値が最大の画像ブロックを検出し、その画像ブロックの位置を、ワークメモリに記憶させる。即ち、例えば、いま、ワークメモリに、第1行の相似領域を構成する画像ブロックについての相似性評価値と、第101行の相似領域を構成する画像ブロックについての相似性評価値が記憶されている場合には、第1行において、相似性評価値が最大の画像ブロック(以下、適宜、最大相似性画像ブロックという)と、第101行において、最大相似性画像ブロックが検出され、その最大相似性画像ブロックの位置が、ワークメモリに記憶される。
In step S65, the
そして、ステップS66に進み、復元部32は、ワークメモリに記憶された、2行それぞれの最大相似性画像ブロックの位置に基づいて、6ビットの被埋め込みデータを復元して出力する。
In step S66, the
即ち、復元部32は、上領域または下領域の行の最大相似性画像ブロックが、第i画像ブロックである場合、i−1を、6ビットの被埋め込みデータの上位3ビットまたは下位3ビットとして、それぞれ復元し、さらに、その上位3ビットと下位3ビットから、6ビットの被埋め込みデータを構成して出力する。
That is, when the maximum similarity image block in the upper region or the lower region is the i-th image block, the
ここで、例えば、図17Bに示した場合では、第1行の最大相似性画像ブロックは、第3画像ブロックとなり、第101行の最大相似性画像ブロックは、第7画像ブロックとなる。従って、6ビットの被埋め込みデータの上位3ビットと下位3ビットは、それぞれ2と6になる。 Here, for example, in the case shown in FIG. 17B, the maximum similarity image block in the first row is the third image block, and the maximum similarity image block in the 101st row is the seventh image block. Therefore, the upper 3 bits and the lower 3 bits of the 6-bit embedded data are 2 and 6, respectively.
以上のようにして、最大相似性画像ブロックの位置に基づいて、被埋め込みデータが復元されると、ステップS67に進み、復元部32は、ステップS65においてワークメモリに記憶された、6ビットの被埋め込みデータを復元するのに用いた2つの最大相似性画像ブロックの位置にしたがい、フレームメモリ31に記憶された埋め込み画像データの、ステップS62で選択された2行の画像ブロックの位置を入れ替える。
As described above, when the embedded data is restored based on the position of the maximum similarity image block, the process proceeds to step S67, and the
即ち、例えば、図16の埋め込み処理において、図17で説明したように、上領域の第1行の第3画像ブロックと、下領域の第1行(全体の第101行)の第7画像ブロックとが入れ替えられた場合には、図18のステップS65において、第1行については、第3画像ブロックの位置が記憶され、第101行については、第7画像ブロックの位置が記憶される。従って、この場合、ステップ67では、第1行の第3画像ブロックと、第101行の第7画像ブロックとが入れ替えられ、これにより、第1行および第101行の画像データが復元される。 That is, for example, in the embedding process in FIG. 16, as described in FIG. 17, the third image block in the first row in the upper region and the seventh image block in the first row in the lower region (the entire 101st row). Are replaced with each other, in step S65 of FIG. 18, the position of the third image block is stored for the first row, and the position of the seventh image block is stored for the 101st row. Accordingly, in this case, in step 67, the third image block in the first row and the seventh image block in the 101st row are interchanged, thereby restoring the image data in the first and 101st rows.
その後、復元部32は、復元した2行の画像データ(画像ブロック)を、フレームメモリ31に上書きする形で書き込み、ステップS68に進む。ステップS68では、復元部32は、フレームメモリ31に記憶された1フレームの埋め込み画像データについて、埋め込み対象データとしての画像データと、そこに埋め込まれている被埋め込みデータの復元が終了したか否かを判定する。ステップS68において、フレームメモリ31に記憶された1フレームの埋め込み画像データについての復元が終了していないと判定された場合、ステップS62に戻り、フレームメモリ31に記憶された埋め込み画像データにおける上領域と下領域それぞれから、次の行の画像ブロックが選択され、以下、同様の処理が繰り返される。
Thereafter, the
また、ステップS68において、フレームメモリ31に記憶された1フレームの埋め込み画像データについての復元が終了したと判定された場合、ステップS69に進み、復元部32は、フレームメモリ31に記憶された画像データ、即ち、復元された埋め込み対象データとしての画像データを出力させ、処理を終了する。
If it is determined in step S <b> 68 that the restoration of one frame of embedded image data stored in the
なお、図18の実施の形態においても、図13の実施の形態における場合と同様に、復元された画像データは、フレームメモリ31に記憶された1フレームの画像データすべてが復元された後に出力することもできるし、復元単位である2行の画像ブロックが復元されるごとに出力することも可能である。
In the embodiment of FIG. 18 as well, in the same way as in the embodiment of FIG. 13, the restored image data is output after all the image data of one frame stored in the
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像の相似性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像(復号画像)には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 As described above, the embedded image data, which is the image data in which the embedded data is embedded, is restored to the original image data and the embedded data using the similarity of the images. Even without the overhead, the embedded image data can be restored to the original image data and the embedded data. Therefore, in the restored image (decoded image), basically, image quality deterioration due to embedding embedded data does not occur.
即ち、図16の埋め込み処理によれば、1行の画像ブロックにおける、6ビットの被埋め込みデータの上位3ビットに対応する位置の画像ブロックと、他の行を構成する、6ビットの被埋め込みデータの下位3ビットに対応する位置の画像ブロックとを入れ替えるという操作ルールにしたがい、画像データに対して、被埋め込みデータが埋め込まれ、埋め込み画像データが生成される。 That is, according to the embedding process of FIG. 16, the image block at the position corresponding to the upper 3 bits of the 6-bit embedded data in the image block of one row and the 6-bit embedded data constituting another row In accordance with the operation rule of replacing the image block at the position corresponding to the lower 3 bits, embedded data is embedded in the image data, and embedded image data is generated.
一方、図18の復元処理によれば、埋め込み画像データのマッチング度を、相似性の評価値として、その相似性を利用し、埋め込み処理における操作ルールにしたがって、埋め込み画像データに対して、埋め込み処理における場合とは逆の操作が行われる。そして、その操作によって、埋め込み画像データが、元の画像データと被埋め込みデータが復元される。 On the other hand, according to the restoration process of FIG. 18, the degree of matching of embedded image data is used as an evaluation value of similarity, and the similarity is used, and the embedded process is performed on the embedded image data according to the operation rule in the embedding process. The reverse operation is performed in the case of. As a result, the original image data and the embedded data are restored from the embedded image data.
従って、図16の埋め込み処理における操作ルールは、画像データの相似性を利用して、被埋め込みデータが埋め込まれた埋め込み画像データを元に戻すことができる操作ルールであるということができるが、埋め込み処理では、このような操作ルールを採用することで、画像データの画質を劣化させることなく(最低限の劣化に抑えて)、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。 Therefore, it can be said that the operation rule in the embedding process of FIG. 16 is an operation rule that can restore the embedded image data in which the embedded data is embedded using the similarity of the image data. In the processing, by adopting such an operation rule, the embedded data is embedded in the image data without degrading the image quality of the image data (suppressing the minimum degradation) and without increasing the data amount. be able to.
なお、上述の場合には、相似性評価値として、埋め込み画像データのマッチング度を用いるようにしたが、相似性評価値としては、マッチング度以外のものを使用することが可能である。 In the above case, the matching degree of the embedded image data is used as the similarity evaluation value. However, as the similarity evaluation value, a value other than the matching degree can be used.
以上のように、埋め込み符号化器3において、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して復元を行うことができるように操作を行う操作ルールにしたがい、画像データを、被埋め込みデータに対応して操作することにより、画像データに被埋め込みデータを埋め込み、埋め込み符号化データを出力する場合には、復元器6では、その埋め込み符号化データを、画像データが有するエネルギの偏りを利用することにより、復元のためのオーバヘッドなしで、元の画像データおよび被埋め込みデータに復元することができる。
As described above, in the embedded
また、埋め込み対象データとしての画像データには、被埋め込みデータが埋め込まれることで、その埋め込みの結果得られる埋め込み画像データ(埋め込み符号化データ)は、元の画像データと異なる画像とされ、人が価値ある情報として認識することのできる画像ではなくなることから、埋め込み対象データとしての画像データについては、オーバヘッドなしの暗号化を実現することができる。 In addition, by embedding data in the image data as the embedding target data, the embedded image data (embedded encoded data) obtained as a result of the embedding is different from the original image data. Since it is no longer an image that can be recognized as valuable information, it is possible to realize encryption without overhead for the image data as the embedding target data.
さらに、完全可逆の電子透かしを実現することができる。即ち、従来の電子透かしでは、例えば、画質にあまり影響のない画素値の下位ビットが、電子透かしに対応する値に、単に変更されていたが、この場合、その下位ビットを、元の値に戻すことは困難である。従って、復元画像の画質は、電子透かしとしての下位ビットの変更により、少なからず劣化する。これに対して、埋め込み符号化データを、埋め込み対象データとしての画像データが有するエネルギの偏りを利用して復元する場合には、劣化のない元の画像データおよび被埋め込みデータを得ることができ、従って、被埋め込みデータを電子透かしとして用いることで、電子透かしに起因して復元画像の画質が劣化することはない。 Furthermore, a completely reversible digital watermark can be realized. That is, in the conventional digital watermark, for example, the low-order bits of the pixel value that do not significantly affect the image quality are simply changed to values corresponding to the digital watermark. In this case, the low-order bits are changed to the original values. It is difficult to return. Therefore, the image quality of the restored image is deteriorated to some extent due to the change of the lower bits as the digital watermark. On the other hand, when the embedded encoded data is restored using the energy bias of the image data as the embedding target data, the original image data and embedded data without deterioration can be obtained. Therefore, by using the embedded data as a digital watermark, the image quality of the restored image does not deteriorate due to the digital watermark.
また、埋め込み対象データに埋め込まれた被埋め込みデータは、埋め込み符号化データから埋め込み対象データを復元することで取り出す(復元する)ことができるので、埋め込み対象データとともに、オーバヘッドなしでサイドインフォメーションを提供することができる。言い換えれば、被埋め込みデータを取り出すためのオーバヘッドなしで、その被埋め込みデータを埋め込み対象データに埋め込むことができるので、その埋め込みの結果得られる埋め込み符号化データは、被埋め込みデータの分だけ圧縮(埋め込み圧縮)されているということができる。従って、例えば、ある画像の半分を埋め込み対象データとするとともに、残りの半分を被埋め込みデータとすれば、埋め込み対象データである半分の画像に、残りの半分の画像を埋め込むことができるから、この場合、画像は、単純には、1/2に圧縮されることになる。 Further, since the embedded data embedded in the embedding target data can be taken out (restored) by restoring the embedding target data from the embedded encoded data, side information is provided without any overhead along with the embedding target data. be able to. In other words, since the embedded data can be embedded in the data to be embedded without the overhead for extracting the embedded data, the embedded encoded data obtained as a result of the embedding is compressed (embedded) by the amount of the embedded data. It can be said that it is compressed. Therefore, for example, if half of an image is to be embedded and the other half is to be embedded, the remaining half of the image can be embedded in the half of the image to be embedded. In this case, the image is simply compressed to ½.
さらに、埋め込み符号化データは、情報が有するエネルギの偏りという、いわば統計量を利用して復元されるため、誤りに対する耐性の強いものとなる。即ち、ロバスト性の高い符号化であるロバスト符号化(統計的符号化)を実現することができる。 Furthermore, since the embedded encoded data is restored using so-called statistics, that is, the energy bias of the information, it is highly resistant to errors. That is, robust encoding (statistical encoding) that is highly robust encoding can be realized.
また、例えば、画像データを埋め込み対象データとする一方、被埋め込みデータとして、画像データとは異なるメディアの、例えば、音声データを用いるようにすることで、音声をキーとして、画像データの提供を行うようなことが可能となる。即ち、図2の符号化装置11側において、例えば、契約者が発話した音声「開けゴマ」など被埋め込みデータとして、埋め込み対象データである画像データに埋め込んでおき、復元装置12側では、ユーザに、音声「開けゴマ」を発話してもらい、その音声と、画像データに埋め込まれた音声とを用いて話者認識を行うようにする。このようにすることで、例えば、話者認識の結果、ユーザが契約者である場合にのみ、自動的に、画像を提示するようなことが可能となる。なお、この場合、被埋め込みデータとしての音声は、いわゆる特徴パラメータではなく、音声波形そのものを用いることが可能である。
In addition, for example, while image data is set as data to be embedded, image data is provided using sound as a key by using, for example, audio data of a medium different from the image data as embedded data. It becomes possible. That is, on the encoding device 11 side in FIG. 2, for example, the embedded data such as the voice “open sesame” spoken by the contractor is embedded in the image data that is the embedding target data, and the
また、例えば、音声データを埋め込み対象データとする一方、被埋め込みデータとして、音声とは異なるメディアの、例えば、画像データを用いるようにすることで、画像をキーとして、音声の提供を行うようなこと(例えば、顔認識後の音声応答)が可能となる。即ち、図2の符号化装置11側において、例えば、ユーザへの応答としての音声に、そのユーザの顔の画像を埋め込み、復元装置12側では、ユーザの顔を撮影し、その結果得られる画像とマッチングする顔画像が埋め込まれている音声を出力するようにすることで、ユーザごとに異なる音声応答を行う音声応答システムを実現することが可能となる。
In addition, for example, while audio data is set as data to be embedded, for example, image data of a medium different from audio is used as embedded data, and audio is provided using an image as a key. (For example, voice response after face recognition). That is, on the encoding device 11 side in FIG. 2, for example, an image of the user's face is embedded in the voice as a response to the user, and on the
さらに、音声に、音声を埋め込んだり、画像に、画像を埋め込んだりするような、あるメディアの情報に、それと同一メディアの情報を埋め込むようなことも可能である。あるいは、また、画像に、契約者の音声と顔画像を埋め込んでおけば、ユーザの音声と顔画像とが、画像に埋め込まれているものと一致するときのみ、その画像を提示するようにする、いわば二重鍵システムなどの実現も可能となる。 Furthermore, it is also possible to embed information of the same medium in information of a certain medium, such as embedding sound in an audio or embedding an image in an image. Alternatively, if the voice and face image of the contractor are embedded in the image, the image is presented only when the voice and face image of the user match those embedded in the image. In other words, a double key system can be realized.
また、例えば、テレビジョン放送信号を構成する、いわば同期した画像と音声のうちのいずれか一方に、他方を埋め込むようなことも可能であり、この場合、異なるメディアの情報どうしを統合した、いわば統合符号化を実現することができる。 In addition, for example, it is possible to embed the other in one of the synchronized images and sounds constituting the television broadcast signal. In this case, the information of different media is integrated. Integrated coding can be realized.
さらに、埋め込み処理では、上述したように、情報には、そのエネルギの偏りに特徴があるほど、多くの被埋め込みデータを埋め込むことができる。従って、例えば、ある2つの情報について、エネルギの偏りに特徴がある方を適応的に選択し、その選択した方に、他方を埋め込むようにすることで、全体のデータ量を制御することが可能となる。即ち、2つの情報どうしの間で、一方の情報によって、他方の情報量を、いわば吸収するようなことが可能となる。そして、このように全体のデータ量を制御することができる結果、伝送路の伝送帯域や使用状況、その他の伝送環境にあったデータ量による情報伝送(環境対応ネットワーク伝送)が可能となる。 Further, in the embedding process, as described above, as the information has a characteristic in the bias of energy, more embedded data can be embedded. Therefore, for example, it is possible to control the total amount of data by adaptively selecting one of the two types of information that has a characteristic in energy bias and embedding the other in the selected one. It becomes. That is, between two pieces of information, one piece of information can absorb the other amount of information. As a result of controlling the total amount of data in this way, information transmission (environmentally responsive network transmission) with a data amount suitable for the transmission band and usage status of the transmission path and other transmission environments becomes possible.
また、例えば、画像に、その画像を縮小した画像を埋め込むことで(あるいは、音声に、その音声を間引いたものを埋め込むことで)、データ量を増加することなく、いわゆる階層符号化(下位階層の情報量を少なくすることにより、上位階層の情報を生成する符号化)を実現することができる。 Further, for example, by embedding a reduced image of an image in an image (or by embedding a sound obtained by thinning out the sound), so-called hierarchical encoding (lower hierarchy) is performed without increasing the amount of data. By reducing the amount of information, it is possible to realize (encoding for generating higher layer information).
さらに、例えば、画像に、その画像を検索するためのキーとなる画像を埋め込んでおくことで、そのキーとなる画像に基づいて、画像の検索を行うデータベースを実現することが可能となる。 Furthermore, for example, by embedding an image as a key for searching for an image in the image, a database for searching for an image based on the image as the key can be realized.
以上のように、情報が有するエネルギ(の偏り)を表すものとしては、相関性、連続性、相似性などがあるが、以下においては、説明を簡単にするため、例えば、相関性にのみ注目して、説明を行う。そこで、まず、埋め込み対象データとして、画像データを用い、その画像データの相関性を利用する埋め込み処理と復元処理の他の例として、3つの方式(第1、第2、第3の方式)を紹介する。 As described above, there are correlation, continuity, similarity, and the like that represent energy (bias) of information, but in the following, for the sake of simplicity, for example, attention is paid only to correlation. Then, explanation will be given. Therefore, first, three methods (first, second, and third methods) are used as other examples of embedding processing and restoration processing that use image data as embedding target data and use the correlation of the image data. introduce.
第1の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成する画素の位置を、例えば、1列(垂直方向に並ぶ画素列)単位で、被埋め込みデータに対応して入れ替える(画素スワップする)ことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、各列に、被埋め込みデータが埋め込まれる。 In the first method, in the embedding process, the positions of the pixels constituting the image data as the embedding target data are exchanged corresponding to the embedded data, for example, in units of one column (pixel column aligned in the vertical direction) (pixels). The data to be embedded is embedded in each column by operating the image data as the data to be embedded in accordance with the operation rule.
即ち、第1の方式の埋め込み処理では、被埋め込みデータに基づいて、埋め込み対象データとしての、例えば、1フレームの画像データの各列の位置を、どのように入れ替えるかを表す画素スワップ情報が生成される。具体的には、例えば、埋め込み対象データとしての1フレームの画像データが、M行N列の画素で構成され、その画像データの第n列(左からn番目の列)を、第n’列に入れ替える場合には、nとn’とが対応付けられた画素スワップ情報が生成される(n,n’は、1以上N以下の整数)。 That is, in the embedding process of the first method, pixel swap information indicating how to replace the position of each column of image data of one frame as embedding target data is generated based on the embedded data. Is done. Specifically, for example, one frame of image data as embedding target data is composed of pixels of M rows and N columns, and the nth column (the nth column from the left) of the image data is the n'th column. In this case, pixel swap information in which n and n ′ are associated with each other is generated (n and n ′ are integers of 1 or more and N or less).
ここで、1フレームの画像データの列数が、上述のように、N列である場合には、その入れ替え方は、そのすべての列を入れ替えの対象とすると、N!(!は、階乗を表す)通りだけある。従って、この場合、1フレームには、最大で、log2(N!)ビット(但し、小数点以下切り捨て)の被埋め込みデータの埋め込みが可能となる。 Here, when the number of columns of image data of one frame is N columns as described above, the replacement method is N! There are only (! Represents the factorial). Therefore, in this case, it is possible to embed embedded data of up to log 2 (N!) Bits (however, rounded down after the decimal point) in one frame.
画素スワップ情報の生成後は、その画素スワップ情報にしたがって、埋め込み対象データとしての画像データの各列の位置が入れ替えられる(画素スワップされる)ことで、埋め込み対象データに、被埋め込みデータが埋め込まれ、埋め込み符号化データ(埋め込み画像データ)が生成される。 After the pixel swap information is generated, according to the pixel swap information, the position of each column of the image data as the embedding target data is switched (pixel swapped), so that the embedded data is embedded in the embedding target data. Then, embedded encoded data (embedded image data) is generated.
ここで、第1の方式では、上述のように、埋め込み対象データとしての画像データの各列を、被埋め込みデータに対応して画素スワップするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第1の方式を、以下、適宜、画素スワップ方式という。 Here, in the first method, as described above, the embedded data is embedded in accordance with the operation rule of performing pixel swap for each column of the image data as the embedding target data corresponding to the embedded data. Hereinafter, this first method is appropriately referred to as a pixel swap method.
次に、図19のフローチャートを参照して、図3の埋め込み符号化器3で、画素スワップ方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
Next, the embedding process when the embedding process by the pixel swap method is performed in the embedding
埋め込み対象データベース1からは、そこに記憶されている埋め込み対象データとしての画像データが、例えば、1フレーム単位で読み出され、フレームメモリ21に、順次供給されて記憶される。
From the embedding
そして、埋め込み部22は、ステップS81において、1フレームの画像に埋め込み可能なデータ量の被埋め込みデータを、被埋め込みデータベース2から読み出す。即ち、例えば、上述したように、1フレームの画像の列数がN列であり、そのすべての列を画素スワップ(入れ替え)の対象とする場合には、1フレームには、最大で、log2(N!)ビットの被埋め込みデータの埋め込みが可能であるから、そのようなビット数(以下)の被埋め込みデータが、被埋め込みデータベース2から読み出される。
In step S81, the embedding unit 22 reads from the embedded
そして、埋め込み部22は、ステップS82に進み、ステップS81で読み出した被埋め込みデータに基づいて、画素スワップ情報を生成する。即ち、埋め込み部22は、被埋め込みデータに基づき、フレームメモリ21に記憶された画像データのフレームの第1列乃至第N列のうちの、例えば、第1列を除く第2列乃至第N列それぞれを、第何列に画素スワップするかを表す画素スワップ情報を生成する。
Then, the embedding unit 22 proceeds to step S82, and generates pixel swap information based on the embedded data read in step S81. That is, the embedding unit 22 selects, for example, the second column to the Nth column excluding the first column from the first column to the Nth column of the frame of the image data stored in the
その後、ステップS83に進み、埋め込み部22は、画素スワップ情報にしたがって、フレームメモリ21に記憶された処理対象のフレームの各列の位置を画素スワップする。そして、列の画素スワップが行われたフレームは、フレームメモリ21から読み出され、埋め込み符号化データとして出力される。
Thereafter, the process proceeds to step S83, and the embedding unit 22 performs pixel swap on the position of each column of the processing target frame stored in the
なお、フレームの各列の画素スワップは、フレームメモリ21における画像データ(を構成する画素)の記憶位置を変更することで行うことができるが、その他、例えば、フレームメモリ21からフレームを読み出すときのアドレスを制御することによって、結果として、列の画素スワップが行われたフレームが、フレームメモリ21から読み出されるようにすることも可能である。
Note that the pixel swap of each column of the frame can be performed by changing the storage position of the image data (the pixels constituting the frame memory 21) in the
また、ここでは、画素スワップ情報には、第2列乃至第N列それぞれを、第何列に画素スワップするかを表す情報が含まれているが、第1列を、第何列に画素スワップするかを表す情報は含まれていない。従って、埋め込み部22では、第2列乃至第N列それぞれの画素スワップは行われるが、第1列の画素スワップは行われない。なお、第1列の画素スワップを行わない理由については、後述する。 In addition, here, the pixel swap information includes information indicating to which column the pixel swap is performed for each of the second to Nth columns, but the first column is replaced with the pixel swap. It does not contain information that indicates what to do. Therefore, in the embedding unit 22, the pixel swap for each of the second column to the Nth column is performed, but the pixel swap for the first column is not performed. The reason for not performing pixel swap in the first column will be described later.
ステップS83において、フレームメモリ21から埋め込み符号化データが出力されると、ステップS84に進み、フレームメモリ21に、まだ処理の対象とされていないフレームが記憶されているかどうかが判定され、記憶されていると判定された場合、ステップS81に戻り、まだ処理されていないフレームを対象に、同様の処理が繰り返される。
When the embedded encoded data is output from the
また、ステップS84において、フレームメモリ21に、まだ処理の対象とされていないフレームが記憶されていないと判定された場合、埋め込み処理を終了する。
If it is determined in step S84 that no frame not yet processed is stored in the
以上のように、フレームメモリ21に記憶された画像を構成する1以上の画素の集合としての、各列の画素の位置を、被埋め込みデータに対応して画素スワップすることにより、各列に、被埋め込みデータを埋め込む場合には、その逆の画素スワップ(ここでは、列の入れ替え)を行うことで、元の画像データを復元することができ、さらに、どのような画素スワップを行ったかということに基づいて、被埋め込みデータを復元することができる。従って、画像データの画質の劣化を極力なくし、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
As described above, the positions of the pixels in each column as a set of one or more pixels constituting the image stored in the
即ち、被埋め込みデータが埋め込まれた画像データである、列の位置の画素スワップが行われた画像データ(埋め込み画像データ)の各列は、その画像データの相関性、つまり、ここでは、例えば、元の画像データと同一の正しい位置にある列との間の相関を利用することにより、オーバヘッドなしで、元の位置に画素スワップすることができ、さらに、その画素スワップの仕方(各列を、どの列に画素スワップしたか)により、被埋め込みデータを復元ことができる。従って、その結果得られる復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 That is, each column of image data (embedded image data) that has been subjected to pixel swap at the column position, which is image data in which embedded data is embedded, is the correlation of the image data, that is, here, for example, By utilizing the correlation between the original image data and the columns in the same correct position, it is possible to swap pixels to the original position without any overhead. The embedded data can be restored depending on the column in which the pixel swap is performed. Therefore, in the restored image obtained as a result, there is basically no deterioration in image quality due to embedding data to be embedded.
なお、埋め込み符号化データに、正しい位置にある列が存在しない場合には、上述のように画像データの相関性を利用して、画像データと被埋め込みデータを復元するのは、一般には、困難である。そこで、ここでは、図19の埋め込み処理において、各フレームの第1列は、入れ替えを行わないで、そのまま、埋め込み符号化データとして出力するようにしている。 Note that when there is no column at the correct position in the embedded encoded data, it is generally difficult to restore the image data and the embedded data using the correlation between the image data as described above. It is. Therefore, here, in the embedding process of FIG. 19, the first column of each frame is output as embedded encoded data without being replaced.
但し、第1列を含むすべての列を入れ替えの対象として、埋め込み符号化を行うことも可能であり、この場合、例えば、入れ替え後の列の少なくとも1以上の元の位置を、オーバヘッドとして、埋め込み符号化データに含めることで、元の画像データと被埋め込みデータの復元が容易に可能となる。 However, it is also possible to perform embedded encoding with all the columns including the first column as an object of replacement. In this case, for example, at least one original position of the replaced column is embedded as overhead. By including it in the encoded data, the original image data and the embedded data can be easily restored.
また、被埋め込みデータは、画像データの第1列以外のすべての列を一度に入れ替えることにより、その画像データに埋め込むことも、また、画像データの第1列以外の列を、順次入れ替えることにより、その画像データに埋め込むことも可能である。 Also, the embedded data can be embedded in the image data by replacing all the columns other than the first column of the image data at once, or by sequentially replacing the columns other than the first column of the image data. It is also possible to embed in the image data.
次に、画素スワップ方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用した画素スワップ方式による復元処理により、元の画像と被埋め込みデータに復元することができる。 Next, the embedded image data obtained by the embedding process by the pixel swap method can be restored to the original image and the embedded data by the restoration process by the pixel swap method using the correlation of the image data as follows. it can.
即ち、画素スワップ方式による復元処理では、埋め込み画像データを構成する列のうち、既に復元した最新の列と、他の列との相関を計算し、既に復元した列との相関を最大にする列を、その既に復元した列の右隣の位置に画素スワップすることを、埋め込み画像データを構成するすべての列について行うことで、元の画像データが復元され、さらに、埋め込み画像データを元の画像データに復元する際の、埋め込み画像データの各列の画素スワップの仕方に基づいて、被埋め込みデータが復元される。 That is, in the restoration process using the pixel swap method, the column that makes up the correlation between the latest restored column and other columns among the columns that constitute the embedded image data and the other restored column is maximized. Is performed for all the columns constituting the embedded image data, and the original image data is restored, and the embedded image data is further restored to the original image. The embedded data is restored based on the pixel swap method for each column of the embedded image data when the data is restored.
次に、図20のフローチャートを参照して、図4の復元器6において画素スワップ方式による復元処理が行われる場合の、その復元処理について説明する。
Next, with reference to the flowchart of FIG. 20, the restoration process when the restoration process by the pixel swap method is performed in the
フレームメモリ31では、そこに供給される埋め込み画像データが、例えば、1フレーム単位で順次記憶される。
In the
そして、復元部32は、ステップS91において、フレームの列数をカウントするための変数nに、初期値としての、例えば、1がセットされ、ステップS92に進み、変数nが、フレームの列数であるNから1を減算したN−1以下であるかどうかが判定される。
In step S91, the restoring
ステップS92において、変数nがN−1以下であると判定された場合、ステップS93に進み、復元部32は、フレームメモリ31に記憶された埋め込み画像データのフレームから、第n列の画素(画素列)を読み出し、その第n列の各画素(の画素値)を要素として並べたベクトル(以下、適宜、列ベクトルという)vnを生成する。ここで、フレームがM行の画素で構成される場合には、列ベクトルvn(後述する列ベクトルvkも同様)は、M次元のベクトルとなる。
If it is determined in step S92 that the variable n is equal to or less than N−1, the process proceeds to step S93, and the
その後、ステップS94において、復元部32は、第n列より右側にある列をカウントするための変数kに、初期値としてのn+1をセットし、ステップS95に進む。ステップS95では、復元部32は、ステップS93における場合と同様に、埋め込み画像データのフレームから、第k列の画素を読み出し、その第k列の画素を要素とする列ベクトルvkを生成して、ステップS96に進む。
Thereafter, in step S94, the
ステップS96では、復元部32は、列ベクトルvnおよびvkを用いて、第n列と第k列との間の相関を表す相関値を求める。
In step S96,
即ち、復元部32は、まず、列ベクトルvnとvkとの距離d(n,k)を、次式にしたがって計算する。
That is, the
d(n,k)=|vn−vk|
=(Σ(A(m,n)−A(m,k))2)1/2・・・(1)
但し、上式において、Σは、mを、1からMに変化させてのサメーションを表す。また、A(i,j)は、処理対象になっている埋め込み画像データのフレームの第i行第j列の画素(画素値)を表す。
d (n, k) = | v n −v k |
= (Σ (A (m, n) -A (m, k)) 2 ) 1/2 (1)
However, in the above equation, Σ represents the summation with m changed from 1 to M. A (i, j) represents the pixel (pixel value) in the i-th row and j-th column of the frame of the embedded image data to be processed.
さらに、復元部32は、列ベクトルvnとvkとの距離d(n,k)の逆数1/d(n,k)を、第n列と第k列との相関を表す相関値として求める。
Further, the
第n列と第k列との相関値の算出後は、ステップS97に進み、復元部32は、変数kが、フレームの列数であるNから1を減算したN−1以下であるかどうかを判定する。ステップS97において、変数kがN−1以下であると判定された場合、ステップS98に進み、復元部32は、変数kを1だけインクリメントして、ステップS95に戻り、以下、ステップS97において、変数kがN−1以下でないと判定されるまで、ステップS95乃至S98の処理を繰り返す。即ち、これにより、第n列と、それより右側にある埋め込み画像の列それぞれとの相関値が求められる。
After calculating the correlation value between the n-th column and the k-th column, the process proceeds to step S97, and the
その後、ステップS97において、変数kがN−1以下でないと判定されると、ステップS99に進み、復元部32は、第n列との相関値を最大にするkを求めて、ステップS100に進む。そして、いま、第n列との相関値を最大にするkを、例えばKと表すと、復元部32は、ステップS100において、フレームメモリ31に記憶された処理対象の埋め込み画像データのフレームの第n+1列と第K列とを画素スワップ、即ち、第K列を、第n列の右隣の第n+1列に入れ替える。
Thereafter, when it is determined in step S97 that the variable k is not N−1 or less, the process proceeds to step S99, and the
その後、ステップS101に進み、復元部32は、変数nを1だけインクリメントして、ステップS92に戻り、以下、ステップS92において、変数nがN−1以下でないと判定されるまで、ステップS92乃至S101の処理を繰り返す。
Thereafter, the process proceeds to step S101, where the
ここで、本実施の形態では、埋め込み画像データの第1列は、元の画像データの第1列のままであるから、変数nが、初期値である1のときは、第1列との相関が最も高い埋め込み画像データの列が、第1列の右隣の第2列に画素スワップされる。第1列との相関が最も高い列は、画像データの相関性から、基本的に、元の画像データの第2列であるから、この場合、図19の埋め込み処理において、埋め込み画像データのどこかの列に画素スワップされた元の画像データの第2列は、元の位置(列)に戻される(復元される)ことになる。 Here, in the present embodiment, since the first column of the embedded image data remains the first column of the original image data, when the variable n is 1, which is the initial value, the first column is the same as the first column. The column of embedded image data having the highest correlation is subjected to pixel swap to the second column on the right side of the first column. Since the column having the highest correlation with the first column is basically the second column of the original image data because of the correlation of the image data, in this case, in the embedding process of FIG. The second column of the original image data pixel-swapped to that column is returned (restored) to the original position (column).
そして、変数nが2となると、上述したようにして元の位置に画素スワップされた第2列との相関が最も高い埋め込み画像データの列が、その第2列の右隣の第3列に画素スワップされる。第2列との相関が最も高い列は、やはり、画像データの相関性から、基本的に、元の画像データの第3列であるから、この場合、図19の埋め込み処理において、埋め込み画像データのどこかの列に画素スワップされた元の画像データの第3列は、元の位置に戻されることになる。 When the variable n is 2, the column of the embedded image data having the highest correlation with the second column that has been pixel-swapped to the original position as described above is displayed in the third column on the right side of the second column. Pixel swapped. The column having the highest correlation with the second column is basically the third column of the original image data because of the correlation of the image data. In this case, in the embedding process of FIG. The third column of the original image data that has been subjected to pixel swapping to any column of is returned to the original position.
以下、同様にして、フレームメモリ31に記憶された埋め込み画像データは、元の画像データに復元されていく。
Similarly, the embedded image data stored in the
そして、ステップS92において、変数nがN−1以下でないと判定された場合、即ち、埋め込み画像データを構成する第2列乃至第N列すべてが、画像データの相関性を利用して元の位置に戻され、これにより、フレームメモリ31の記憶内容が、元の画像データに復元された場合、ステップS102に進み、復元部32は、その復元された画像データを、フレームメモリ31から読み出させる。さらに、ステップS102では、復元部32が、埋め込み画像データを元の画像データに復元した際の、埋め込み画像データの第2列乃至第N列それぞれの画素スワップの仕方(画素スワップ情報)に基づいて、埋め込み画像データに埋め込まれていた被埋め込みデータを復元して出力する。
If it is determined in step S92 that the variable n is not equal to or less than N-1, that is, all the second to Nth columns constituting the embedded image data are restored to the original positions using the correlation of the image data. If the stored contents of the
その後、ステップS103に進み、復元部32は、フレームメモリ31に、まだ処理の対象とされていない埋め込み画像データのフレームが記憶されているかどうかを判定し、記憶されていると判定した場合、ステップS91に戻り、まだ処理の対象とされていない埋め込み画像データのフレームを対象に、同様の処理を繰り返す。
Thereafter, the process proceeds to step S103, where the
また、ステップS103において、フレームメモリ31に、まだ処理の対象とされていない埋め込み画像データのフレームが記憶されていないと判定された場合、復元処理を終了する。
If it is determined in step S103 that no frame of embedded image data not yet processed is stored in the
以上のように、被埋め込みデータが埋め込まれた画像データである埋め込み画像データを、画像データの相関性を利用して、元の画像データと被埋め込みデータに復元するようにしたので、その復元のためのオーバヘッドがなくても、符号化データを、元の画像と被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 As described above, the embedded image data, which is the image data in which the embedded data is embedded, is restored to the original image data and the embedded data using the correlation of the image data. Even if there is no overhead, the encoded data can be restored to the original image and the embedded data. Therefore, the restored image basically does not deteriorate in image quality due to embedding the embedded data.
なお、図20の復元処理においては、既に復元された最新の列(n=1の場合においては、埋め込み処理時に画素スワップされない第1列)と、まだ復元されていない列との相関を求め、その相関に基づいて、既に復元された最新の列の右隣の位置に画素スワップされるべき列を検出するようにしたが、その他、例えば、既に復元された複数の列それぞれと、まだ復元されていない列との相関を演算することにより、既に復元された最新の列の右隣に画素スワップされるべき列を検出するようにすることも可能である。 In the restoration process of FIG. 20, a correlation between the latest restored column (the first column that is not subjected to pixel swap at the time of embedding in the case of n = 1) and the column that has not been restored is obtained. Based on the correlation, a column to be pixel-swapped is detected at the position immediately to the right of the latest column that has already been restored.In addition, for example, each of a plurality of columns that have already been restored is still restored. It is also possible to detect a column to be pixel-swapped to the right of the latest restored column by calculating the correlation with a column that has not been restored.
また、上述の場合には、被埋め込みデータに基づき、埋め込み対象データとしての画像データ構成する画素を、列単位で画素スワップすることにより(垂直ラインの画素スワップを行うことにより)、被埋め込みデータを埋め込むようにしたが、被埋め込みデータの埋め込みは、その他、例えば、埋め込み対象データとしての画像データを、行単位で画素スワップしたり(水平ラインの画素スワップを行ったり)、また、時間方向に並ぶ所定数のフレームの同一位置にある画素列を画素スワップすることにより行うことも可能である。 Further, in the above-described case, by embedding the pixels constituting the image data as the embedding target data in units of columns based on the embedding data (by performing the pixel swap of the vertical line), the embedding data is changed. Although embedding of the data to be embedded is performed, for example, image data as data to be embedded is subjected to pixel swap in units of rows (horizontal line pixel swap is performed) or arranged in the time direction. It is also possible to perform by swapping pixel columns at the same position in a predetermined number of frames.
さらに、画素スワップ方式による埋め込み処理では、例えば、埋め込み対象データとしての画像データを、列単位で画素スワップし、さらに、行単位で画素スワップすることにより、被埋め込みデータを埋め込むことも可能である。 Further, in the embedding process by the pixel swap method, for example, it is possible to embed data to be embedded by performing pixel swap for image data as embedding target data in units of columns and further performing pixel swap in units of rows.
ここで、列と行の両方の画素スワップを行って得られる埋め込み画像データについて、例えば、列の位置を元の位置に戻す復元処理を考えると、その復元処理では、式(1)のΣにおいて加算される項の順番が変化するだけで、加算される項自体は変化しない。従って、式(1)によって求められる距離d(n,k)は、画像データの列だけ画素スワップした場合と、列と行の両方を画素スワップした場合とで変化しないため、列と行の両方を画素スワップして得られた埋め込み画像データも、列だけ画素スワップして得られた埋め込み画像データと同様に、図20の復元処理によって、元の画像データと被埋め込みデータに復元することができる。即ち、列と行の両方を画素スワップして得られた埋め込み画像データは、図20の復元処理を、列と行について、それぞれ独立に行うことで、元の画像データと被埋め込みデータに復元することができる。 Here, with respect to the embedded image data obtained by performing the pixel swap for both the column and the row, for example, when considering a restoration process for returning the column position to the original position, in the restoration process, The order of the terms to be added only changes, and the terms to be added themselves do not change. Accordingly, the distance d (n, k) obtained by the expression (1) does not change between the case where the pixel swap is performed for only the column of the image data and the case where the pixel swap is performed for both the column and the row. The embedded image data obtained by pixel swapping can be restored to the original image data and the embedded data by the restoration process of FIG. 20 in the same manner as the embedded image data obtained by pixel swapping only the columns. . That is, the embedded image data obtained by pixel swapping both the column and the row is restored to the original image data and the embedded data by performing the restoration processing of FIG. 20 independently for the column and the row, respectively. be able to.
以上から、埋め込み処理において、列と行の両方を画素スワップすることにより、画像データに被埋め込みデータを埋め込む場合には、行と列のうち、いずれの画素スワップを先または後に行うかは、復元処理に影響を与えない。従って、埋め込み処理においては、行と列の画素スワップのうちのいずれを先または後に行っても良いし、復元処理においても、行と列の画素スワップのうちのいずれを先または後に行っても良い。また、行と列の画素スワップを、交互に行うようなことも可能である。 From the above, when embedding data is embedded in image data by performing pixel swap for both the column and row in the embedding process, it is possible to restore which pixel swap is performed first or later in the row or column. Does not affect processing. Therefore, in the embedding process, any one of the row and column pixel swaps may be performed first or later, and in the restoration process, any one of the row and column pixel swaps may be performed first or later. . It is also possible to alternately perform pixel swap of rows and columns.
但し、埋め込み処理において、列だけの画素スワップを行う場合には、埋め込み画像データを元の画像データに復元した際の、埋め込み画像データの列の画素スワップの仕方が、被埋め込みデータの復元結果となるが、行と列の両方の画素スワップを行う場合には、埋め込み画像データの第m行n列の位置(m,n)にある画素が、復元画像(元の画像データ)のどの位置(m’,n’)に画素スワップされたかが、被埋め込みデータの復元結果となる。 However, in the embedding process, when performing pixel swap of only the column, the method of pixel swap of the column of the embedded image data when the embedded image data is restored to the original image data depends on the restoration result of the embedded data. However, in the case where both row and column pixel swaps are performed, the pixel at the position (m, n) of the m-th row and n-th column of the embedded image data is located at which position (original image data) of the restored image (original image data) Whether the pixel swap has been performed to m ′, n ′) is a result of restoring the embedded data.
また、図19の埋め込み処理では、埋め込み対象データとしての画像データの第1列だけを固定にし、図20の復元処理では、この第1列を、いわば復元の基準として、埋め込み画像データの画素スワップを行うようにしたが、復元の基準は、第1列でなくても、あらかじめ、埋め込み処理と復元処理で設定しておけば、最後の第N列であっても良いし、その他の任意の列でも良い。さらに、復元の基準は、1列の画素すべてである必要はなく、極端には、1画素であっても良い。 Further, in the embedding process of FIG. 19, only the first column of the image data as the embedding target data is fixed, and in the restoration process of FIG. 20, this first column is used as a reference for restoration, so that pixel swap of the embedded image data is performed. However, the restoration criterion may not be the first column, but may be the last N-th column as long as it is set in advance by the embedding process and the restoration process, or any other arbitrary A row may be used. Furthermore, the restoration criterion does not have to be all of the pixels in one column, but may be one pixel in the extreme.
なお、例えば、第1列だけを、いわば復元の基準とし、画像データの相関を利用して、埋め込み画像データの画素スワップを行う場合には、1の列の画素スワップを誤ると、その後の列(ここでは、画素スワップを誤った列の右側にある列)の画素スワップも誤る可能性が高くなる。この場合、元の画像データを復元することができないから、被埋め込みデータを復元することもできなくなる。 For example, in the case where only the first column is used as a restoration criterion and the pixel swap of the embedded image data is performed using the correlation of the image data, if the pixel swap of one column is wrong, the subsequent column There is a high possibility that the pixel swap in the column (here, the column on the right side of the column in which the pixel swap is wrong) is erroneous. In this case, since the original image data cannot be restored, the embedded data cannot be restored.
そこで、埋め込み処理においては、複数の列(例えば、全列から等間隔に選択した複数の列)を、復元の基準として残しておく(画素スワップの対象としない)ようにすることが可能である。 Therefore, in the embedding process, it is possible to leave a plurality of columns (for example, a plurality of columns selected at equal intervals from all the columns) as a reference for restoration (not subject to pixel swap). .
次に、第2の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成する複数の画素の画素値を表すビット列の各ビットごとのビットプレーンを、被埋め込みデータに対応して入れ替える(従って、レベル方向の操作を行う)ビットプレーンスワップを行うことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、その画像データに、被埋め込みデータが埋め込まれる。 Next, in the second method, in the embedding process, the bit plane for each bit of the bit string representing the pixel values of the plurality of pixels constituting the image data as the embedding target data is replaced in accordance with the embedded data ( Therefore, bit plane swapping (which operates in the level direction) is performed as an operation rule, and image data as embedding target data is operated according to the operation rule, so that embedded data is embedded in the image data. It is.
即ち、第2の方式の埋め込み処理では、図21に示すように、埋め込み対象データとしての画像データが、複数の画素で構成される画像ブロックにブロック化され、さらに、画像ブロックが、その画像ブロックを構成する各画素の画素値を表すビット列の各ビットごとのビットプレーンに分割される。 That is, in the embedding process of the second method, as shown in FIG. 21, the image data as the embedding target data is blocked into image blocks composed of a plurality of pixels, and the image block is further converted into the image block. Are divided into bit planes for each bit of a bit string representing the pixel value of each pixel.
ここで、埋め込み対象データとしての画像データを構成する各画素値に、例えば、8ビットが割り当てられているとすると、画像ブロックは、画素値の最下位ビット、最下位ビットから2ビット目のビット、3ビット目のビット、・・・、7ビット目のビット、最上位ビット(以下、適宜、それぞれを第1乃至第8ビットという)それぞれからなるビットプレーンに分割される。 Here, for example, assuming that 8 bits are assigned to each pixel value constituting the image data as the embedding target data, the image block includes the least significant bit of the pixel value and the second bit from the least significant bit. .., 7th bit, and most significant bit (hereinafter, appropriately referred to as first to eighth bits, respectively).
そして、画像ブロックのビットプレーンが、被埋め込みデータに対応して並べ替えられる(ビットプレーンスワップされる)ことにより、画像データに、被埋め込みデータが埋め込まれる。 Then, the bit plane of the image block is rearranged corresponding to the embedded data (bit-plane swapping), whereby the embedded data is embedded in the image data.
なお、例えば、上述のように、埋め込み対象データとしての画像データを構成する画素値に8ビットが割り当てられている場合には、1の画像ブロックからは、8面のビットプレーンが得られる。そして、8面のビットプレーンの並べ替え方(ビットプレーンスワップの仕方)は、40320(=8!(!は階乗を表す))通りあるから、1つの画像ブロックには、最大で、log2(8!)ビット(但し、小数点以下は切り捨て)の被埋め込みデータを埋め込むことができる。従って、埋め込み処理では、被埋め込みデータが、そのようなビット数ごとに区切られ、埋め込み対象データとしての画像データを構成する各画像ブロックに埋め込まれる。 For example, as described above, when 8 bits are assigned to the pixel value constituting the image data as the embedding target data, 8 bit planes are obtained from one image block. Since there are 40320 (= 8! (! Represents factorial)) ways of rearranging the eight bit planes (how to perform bit plane swap), there is a maximum of log 2 in one image block. It is possible to embed embedded data of (8!) Bits (however, the fractional part is discarded). Accordingly, in the embedding process, the data to be embedded is divided for each bit number and embedded in each image block constituting the image data as the embedding target data.
ここで、第2の方式では、上述のように、埋め込み対象データとしての画像データの各画像ブロックのビットプレーンを、被埋め込みデータに対応してビットプレーンスワップするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第2の方式を、以下、適宜、ビットプレーンスワップ方式という。 Here, in the second method, as described above, the embedded data is processed according to the operation rule that the bit plane of each image block of the image data as the embedding target data is swapped in accordance with the embedded data. Therefore, the second method is hereinafter referred to as a bit plane swap method as appropriate.
次に、図22のフローチャートを参照して、図3の埋め込み符号化器3で、ビットプレーンスワップ方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
Next, the embedding process when the embedding process by the bit plane swap method is performed in the embedding
まず最初に、ステップS111において、埋め込み部22は、1フレームの画像に埋め込むことのできる分の被埋め込みデータを、被埋め込みデータベース2から読み出し、1つの画像ブロックに埋め込むことのできる単位にフォーマットする(被埋め込みデータを分割する)。さらに、ステップS111では、埋め込み部22は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データのフレームのうち、まだ処理の対象としていないフレームの画像データを、フレームメモリ21に記憶させる。
First, in step S111, the embedding unit 22 reads embedded data for embedding in one frame image from the embedded
そして、ステップS112に進み、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像を、例えば、横×縦が4×4画素の画像ブロックに分割し、ステップS113に進む。ステップS113では、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像データを構成する各画像ブロックを、ビットプレーンに分割し、ステップS114に進む。
In step S112, the embedding unit 22 divides the image of one frame stored in the
ステップS114では、埋め込み部22は、ビットプレーンに分割した各画像ブロックのうち、例えば、ラスタスキャン順で、まだ、注目ブロックとしていないものを、注目ブロックとし、その注目ブロックのビットプレーンを、ステップ111で得た1単位の被埋め込みデータに対応してビットプレーンスワップし、そのビットプレーンスワップ後の画像ブロックを、フレームメモリ21に上書きする形で書き込む。
In step S114, the embedding unit 22 sets each image block divided into bit planes not to be a target block in the raster scan order, for example, as a target block, and sets the bit plane of the target block to step 111. Bit plane swap is performed in correspondence with one unit of embedded data obtained in (1), and the image block after the bit plane swap is written to the
その後、ステップS115に進み、埋め込み部22は、フレームメモリ21に記憶された1フレームの画像を構成する画像ブロックすべてを注目ブロックとして処理(ビットプレーンを並べ替える処理)を行ったかどうかを判定する。ステップS115において、まだ、1フレームのブロックすべてを処理していないと判定された場合、ステップS114に戻り、埋め込み部22は、ラスタスキャン順で、また、注目ブロックとしていない画像ブロックを、新たに注目ブロックとして、以下、同様の処理を繰り返す。
Thereafter, the process proceeds to step S115, and the embedding unit 22 determines whether or not processing (processing for rearranging bit planes) has been performed on all the image blocks constituting the image of one frame stored in the
一方、ステップS115において、1フレームのブロックすべてを注目ブロックとして処理したと判定された場合、ステップS116に進み、埋め込み部22は、被埋め込みデータに対応してビットプレーンスワップが行われた画像ブロックで構成される1フレームの画像データ、即ち、埋め込み画像データを、フレームメモリ21から読み出して出力させ、処理を終了する。
On the other hand, if it is determined in step S115 that all blocks of one frame have been processed as the target block, the process proceeds to step S116, where the embedding unit 22 is an image block that has been subjected to bit-plane swap corresponding to the embedded data. One frame of image data, that is, embedded image data, is read from the
なお、以上の埋め込み処理は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データの1フレームごとに繰り返し行われる。
The above embedding process is repeatedly performed for each frame of image data as embedding target data stored in the embedding
以上のように、各画像ブロックのビットプレーンを、被埋め込みデータに対応してビットプレーンスワップすることにより、各画像ブロックに、被埋め込みデータを埋め込む場合には、その逆のビットプレーンスワップを行うことで、元の画像データを復元することができ、さらに、どのようなビットプレーンスワップを行ったかということに基づいて、被埋め込みデータを復元することができる。従って、画像の画質の劣化を極力なくし、かつデータ量を増加せずに、画像に被埋め込みデータを埋め込むことができる。 As described above, the bit plane swap of the bit plane of each image block corresponding to the embedded data is performed, and when the embedded data is embedded in each image block, the reverse bit plane swap is performed. Thus, the original image data can be restored, and further, the embedded data can be restored based on what bit plane swap has been performed. Therefore, it is possible to embed embedded data in an image while minimizing the degradation of the image quality of the image and without increasing the amount of data.
即ち、画像においては、画像ブロックを構成するビットプレーンにおけるビットどうしの相関は、基本的に、上位ビットのビットプレーンほど高い(下位ビットのビットプレーンほど低い)。従って、このような画像の相関性、即ち、ここでは、ビットプレーンを構成するビットどうしの相関を利用することにより、被埋め込みデータに対応してビットプレーンスワップされたビットプレーンは、オーバヘッドなしで、元の順番に並べ替えることができ、さらに、その並べ替え方により、被埋め込みデータを復元することができる。従って、復元された画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 That is, in an image, the correlation between bits in a bit plane constituting an image block is basically higher in a bit plane of higher bits (lower in a bit plane of lower bits). Therefore, by using such image correlation, that is, here, correlation between bits constituting the bit plane, the bit plane swapped in correspondence with the embedded data can be performed without overhead. The data can be rearranged in the original order, and the embedded data can be restored by the rearrangement method. Therefore, basically, there is no deterioration in image quality due to embedding embedded data in the restored image.
次に、ビットプレーンスワップ方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用したビットプレーンスワップ方式による復元処理により、元の画像データと被埋め込みデータに復元することができる。 Next, the embedded image data obtained by the embedding process by the bit plane swap method is restored to the original image data and the embedded data by the restoration process by the bit plane swap method using the correlation of the image data as follows. can do.
即ち、ビットプレーンスワップ方式による復元処理では、フレームごとの埋め込み画像データが、ビットプレーンスワップによる埋め込み処理における場合と同一の画像ブロックにブロック化され、さらに、各画像ブロックが、その画像ブロックを構成する画素の画素値を表すビット列の各ビットごとのビットプレーンに分割される。そして、各画像ブロックを構成する各ビットプレーン内のビットどうしの相関を表す相関値が求められる。 That is, in the restoration process using the bit plane swap method, the embedded image data for each frame is divided into the same image blocks as in the embedding process using the bit plane swap, and each image block constitutes the image block. The bit string representing the pixel value of the pixel is divided into bit planes for each bit. Then, a correlation value representing a correlation between bits in each bit plane constituting each image block is obtained.
具体的には、例えば、図23Aに示すように、まず、相関値を計算するビットプレーンが、注目ビットプレーンとして、画像ブロックから取り出される。そして、いま、画像ブロックが、例えば、上述したように、4×4画素で構成される場合、注目ビットプレーンも、横×縦が4×4ビットで構成されることになるが、その4×4ビットの注目ビットプレーンから、例えば、図23Bに示すような、その中心部分の2×2ビットA,B,C,Dそれぞれを中心とした所定の大きさの4つの小ブロックが構成される。ここで、図23Bは、ビットAを中心として構成された3×3ビットの小ブロックを示している。 Specifically, for example, as shown in FIG. 23A, first, a bit plane for calculating a correlation value is extracted from the image block as a target bit plane. Now, for example, when the image block is composed of 4 × 4 pixels as described above, the target bit plane is also composed of 4 × 4 bits in the horizontal and vertical directions. For example, as shown in FIG. 23B, four small blocks having a predetermined size centered on 2 × 2 bits A, B, C, and D at the center are formed from the 4-bit target bit plane. . Here, FIG. 23B shows a small block of 3 × 3 bits configured around bit A.
ビットプレーンスワップ方式による復元処理では、注目ビットプレーンから得られた各小ブロックについて、その中心のビットと同一の値のビットの数がカウントされ、そのカウント値が、小ブロックの中心ビットと、他のビットとの間の相関値として求められる。ここで、図23Bに示したビットAを中心とする小ブロックにおいては、その中心ビット(ここでは、ビットA)が0となっており、その左上、上、右上、右、右下、下、左下、左のビットが、それぞれ1,0,1,0,0,1,0,0になっている。従って、0になっている中心ビットと同一の値になっているのは、その中心ビットの上、左、右下、左下、左の5ビットであるため、中心ビットについての他のビットとの間の相関値は、5になる。 In the restoration process using the bit plane swap method, for each small block obtained from the target bit plane, the number of bits having the same value as the central bit is counted. It is calculated | required as a correlation value between these bits. Here, in the small block centered on bit A shown in FIG. 23B, the center bit (here, bit A) is 0, and its upper left, upper, upper right, right, lower right, lower, The lower left and left bits are 1, 0, 1, 0, 0, 1, 0, 0, respectively. Therefore, the same value as the central bit that is 0 is the upper, left, lower right, lower left, and left 5 bits of the central bit. The correlation value between them is 5.
ビットプレーンスワップ方式による復元処理では、上述のようにして、注目ビットプレーンから得られた、ビットA乃至Dそれぞれを中心とする各小ブロックについて、相関値が求められる。さらに、このようにして求められたビットA乃至Dそれぞれを中心とする小ブロックについての相関値どうしが加算され、その加算値が、注目ビットプレーンの相関値とされる。 In the restoration process by the bit plane swap method, as described above, a correlation value is obtained for each small block centered on each of the bits A to D obtained from the target bit plane. Further, the correlation values for the small blocks centered on the respective bits A to D obtained in this way are added, and the added value is set as the correlation value of the target bit plane.
画像ブロックを構成する各ビットプレーンは、順次、注目ビットプレーンとされ、上述のようにして、相関値が求められる。そして、画像ブロックのすべてのビットプレーンの相関値を求められると、図24に示すように、相関値の高いビットプレーンが最上位ビット側に位置するとともに、相関値の低いビットプレーンが最下位ビット側に位置するように、即ち、相関値の昇順に、ビットプレーンがビットプレーンスワップされる。これにより、画像ブロックが復元される。ここで、図24では、濃度の薄いビットプレーンほど、相関値の高いビットプレーンを表している。 Each bit plane constituting the image block is sequentially set as a target bit plane, and the correlation value is obtained as described above. When the correlation values of all the bit planes of the image block are obtained, as shown in FIG. 24, the bit plane with a high correlation value is located on the most significant bit side, and the bit plane with a low correlation value is the least significant bit. The bit planes are swapped so as to be located on the side, that is, in ascending order of correlation values. Thereby, the image block is restored. Here, in FIG. 24, a bit plane with a lower correlation value represents a bit plane with a higher correlation value.
画像ブロックが復元された後は、その復元された画像ブロック(以下、適宜、復元ブロックという)を構成するビットプレーンの並びと、復元前の画像ブロックを構成するビットプレーンの並びとを比較することで、画像ブロックの復元にあたって、各ビットプレーンが、どのようにビットプレーンスワップされたのかが検出され、そのビットプレーンスワップの仕方に基づいて、復元ブロックに埋め込まれていた被埋め込みデータが復元される。 After an image block is restored, the sequence of bit planes that make up the restored image block (hereinafter referred to as the restored block as appropriate) is compared with the sequence of bit planes that make up the image block before restoration. Thus, when restoring the image block, it is detected how each bit plane has been bit-plane swapped, and the embedded data embedded in the restored block is restored based on the bit-plane swap method. .
次に、図25フローチャートを参照して、図4の復元器6においてビットプレーンスワップ方式による復元処理が行われる場合の、その復元処理について説明する。
Next, with reference to the flowchart of FIG. 25, the restoration process when the restoration process by the bit plane swap method is performed in the
復元部32は、ステップS121において、1フレームの埋め込み画像データを、フレームメモリ31に記憶させ、ステップS122に進む。ステップS122では、復元部32は、フレームメモリ31に記憶された1フレームの埋め込み画像データを、埋め込み処理における場合と同様に、画像ブロックにブロック化し、ステップS123に進む。ステップS123では、復元部32は、各画像ブロックをビットプレーンに分割し、ステップS124に進む。
In step S121, the
復元部32は、ステップS124において、ビットプレーンに分割された各画像ブロックを、例えば、ラスタスキャン順に、順次、注目ブロックとして、その注目ブロックの各ビットプレーンの相関値を、図23で説明したように計算し、ステップS125に進む。ステップS125では、復元部32は、ビットプレーンの相関値が昇順に並ぶように、注目ブロックのビットプレーンをビットプレーンスワップし、これにより、元の画像データを構成する画像ブロックを復元する。さらに、ステップS125では、復元部32は、復元した画像ブロック(復元ブロック)を、フレームメモリ31に上書きする形で書き込むとともに、その復元ブロックのビットプレーンの並びと、復元前の画像ブロックのビットプレーンの並びとを比較することで、埋め込み処理において、復元ブロックにつき、どのようなビットプレーンスワップが行われたかを認識する。そして、復元部32は、その認識結果に基づいて、復元ブロックに埋め込まれていた被埋め込みデータを復元する。
In step S124, the
その後、ステップS126に進み、復元部32は、フレームメモリ31に記憶された1フレームの埋め込み画像データの画像ブロックすべてを注目ブロックとして処理を行ったかどうかを判定し、まだ、1フレームのブロックすべてを処理していないと判定した場合、ステップS124に戻り、ラスタスキャン順で、まだ、注目ブロックとしていない画像ブロックを、新たに注目ブロックとして、以下、同様の処理を繰り返す。
Thereafter, the process proceeds to step S126, and the
一方、ステップS126において、フレームメモリ31に記憶された1フレームの画像ブロックすべてを処理したと判定された場合、ステップS127に進み、復元部32は、フレームメモリ31に記憶された復元ブロックで構成される1フレームの画像データ、即ち、復元された元の画像データを読み出して出力させる。さらに、ステップS126では、復元部32は、ステップS125で復元した被埋め込みデータを出力し、復元処理を終了する。
On the other hand, if it is determined in step S126 that all the image blocks of one frame stored in the
なお、以上の復元処理は、1フレームの埋め込み画像データごとに繰り返し行われる。 Note that the above restoration process is repeated for each frame of embedded image data.
以上のように、埋め込み対象データとしての画像データのビットプレーンをビットプレーンスワップすることにより被埋め込みデータが埋め込まれた埋め込み画像データについて、ビットプレーンスワップを行い、画像の相関性を利用して、ビットプレーンを元の画像データにおける並びに戻すようにしたので、オーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 As described above, bit plane swap is performed on the embedded image data in which the embedded data is embedded by performing bit plane swap of the bit plane of the image data as the embedding target data, and the bit correlation is performed using the correlation of the image. Since the planes are restored in the original image data, the embedded image data can be restored to the original image data and the embedded data without overhead. Therefore, the restored image basically does not deteriorate in image quality due to embedding the embedded data.
次に、第3の方式では、埋め込み処理において、埋め込み対象データとしての画像データを構成するライン(水平ラインもしくは垂直ライン、または時間方向に並ぶ複数の画素で構成されるライン)を、被埋め込みデータに対応してローテーションする(従って、空間方向または時間方向の操作を行う)ラインローテーションを行うことを操作ルールとして、その操作ルールにしたがい、埋め込み対象データとしての画像データが操作されることで、その画像データに、被埋め込みデータが埋め込まれる。 Next, in the third method, in the embedding process, a line (horizontal line or vertical line or a line composed of a plurality of pixels arranged in the time direction) constituting image data as embedding target data is set as embedded data. Rotating in response to (and therefore performing a spatial or temporal operation), and operating the image data as the embedding target data according to the operation rule, Embedded data is embedded in image data.
即ち、第3の方式の埋め込み処理では、埋め込み対象データとしての画像データの、例えば、水平方向の各ライン(水平方向に並ぶ一連の画素)(水平ライン)を、被埋め込みデータに対応する分だけ、水平方向にずらすラインローテーションを行うことで、各水平ラインに、被埋め込みデータが埋め込まれる。 In other words, in the embedding process of the third method, for example, each horizontal line (a series of pixels arranged in the horizontal direction) (horizontal line) (horizontal line) of the image data as the embedding target data is equivalent to the data to be embedded. By performing line rotation shifted in the horizontal direction, embedded data is embedded in each horizontal line.
ここで、第3の方式では、上述のように、埋め込み対象データとしての画像データのラインを、被埋め込みデータに対応してローテーションするという操作ルールにしたがって、被埋め込みデータが埋め込まれるので、この第3の方式を、以下、適宜、ラインローテーション方式という。
Here, in the third method, as described above, the embedded data is embedded according to the operation rule of rotating the line of the image data as the embedded data in accordance with the embedded data. The
次に、図26のフローチャートを参照して、図3の埋め込み符号化器3で、ラインローテーション方式による埋め込み処理が行われる場合の、その埋め込み処理について説明する。
Next, the embedding process when the embedding process by the line rotation method is performed in the embedding
埋め込み対象データベース1からは、そこに記憶されている埋め込み対象データとしての画像データが読み出され、フレームメモリ21に、順次供給されて記憶される。
From the embedding
そして、埋め込み部22は、ステップS131において、フレームメモリ21に記憶された画像データを構成する水平ラインのうち、まだ、注目ラインとしていないものを、注目ラインとして読み出し、ステップS132に進む。ステップS132では、埋め込み部22は、注目ラインが、第1水平ライン(1フレームの画像データの最上行の水平ライン)であるかどうかを判定する。ステップS132において、注目ラインが第1水平ラインであると判定された場合、ステップS133に進み、埋め込み部22は、その第1水平ラインを、そのまま、フレームメモリ21に上書きする形で書き込み、ステップS137に進む。即ち、第1水平ラインは、特に操作(ラインローテーション)されず、従って、被埋め込みデータは埋め込まれない。
Then, in step S131, the embedding unit 22 reads out the horizontal lines constituting the image data stored in the
また、ステップS132において、注目ラインが第1水平ラインでないと判定された場合、即ち、注目ラインが、第2水平ライン以降のいずれかの水平ラインである場合、ステップS134に進み、埋め込み部22は、注目ラインに埋め込むべき被埋め込みデータを、被埋め込みデータベース2から読み出し、ステップS135に進む。ステップS135では、埋め込み部22は、注目ラインを、例えば、ステップS134で読み出された被埋め込みデータに対応する画素数分だけ、水平方向にローテーションする。
If it is determined in step S132 that the target line is not the first horizontal line, that is, if the target line is any horizontal line after the second horizontal line, the process proceeds to step S134, where the embedding unit 22 The embedded data to be embedded in the target line is read from the embedded
即ち、例えば、いま、図27Aに示すように、第N水平ライン(N≠1)が注目ラインとされているとすると、埋め込み部22は、図27Bに示すように、その第N水平ラインを、被埋め込みデータの値と同一の画素数だけ、水平方向である左または右方向のうちの、例えば右方向にスライドする(ずらす)。そして、埋め込み部22は、そのスライドにより、フレームの右にはみ出した第N水平ラインの部分を、図27Cに示すように、その第N水平ラインの左側にはめ込む。 That is, for example, if the Nth horizontal line (N ≠ 1) is the target line as shown in FIG. 27A, the embedding unit 22 sets the Nth horizontal line as shown in FIG. 27B. Then, the same number of pixels as the value of the embedded data is slid (shifted) to the right or left of the horizontal direction, for example, to the right. Then, the embedded portion 22 fits the portion of the Nth horizontal line that protrudes to the right of the frame by the slide, on the left side of the Nth horizontal line, as shown in FIG. 27C.
埋め込み部22は、注目ラインをローテーションし、これにより、注目ラインに、被埋め込みデータを埋め込むと、ステップS136に進み、そのローテーション後の注目ラインを、フレームメモリ21に上書きする形で書き込み、ステップS137に進む。
The embedding unit 22 rotates the attention line, and when the embedded data is embedded in the attention line, the process proceeds to step S136, and the attention line after the rotation is written in the form of overwriting the
ステップS137では、埋め込み部22は、フレームメモリ21に記憶された画像データのすべての水平ラインを、注目ラインとして処理を行ったかどうかを判定する。ステップS137において、フレームメモリ21に記憶された画像データのすべての水平ラインを、まだ、注目ラインとしていないと判定された場合、ステップS131に戻り、まだ、注目ラインとしていない水平ライン(例えば、いままで注目ラインとされていた1ライン下の水平ラインが、新たに注目ラインとされ、以下、同様の処理が繰り返される。
In step S <b> 137, the embedding unit 22 determines whether all horizontal lines of the image data stored in the
また、ステップS137において、フレームメモリ21に記憶された画像データのすべての水平ラインを、注目ラインとしたと判定された場合、即ち、フレームメモリ21に記憶された1フレームの画像データの各水平ライン(但し、ここでは、第1水平ラインを除く)に、被埋め込みデータが埋め込まれ、埋め込み画像データが生成された場合、埋め込み部22は、その1フレームの埋め込み画像データを、フレームメモリ21から読み出して出力させ、処理を終了する。
If it is determined in step S137 that all the horizontal lines of the image data stored in the
なお、以上の埋め込み処理は、フレームメモリ21に記憶された画像データの各フレームについて、繰り返し行われる。
The above embedding process is repeated for each frame of the image data stored in the
図26の埋め込み処理によれば、ある1フレームの画像データは、次のような埋め込み画像データとされる。 According to the embedding process in FIG. 26, one frame of image data is set as the following embedded image data.
即ち、例えば、図28Aに示すような画像データに、被埋め込みデータとして、10,150,200,・・・を埋め込む場合においては、図28Bに示すように、第1水平ラインは、そのまま出力され、第2水平ラインは、最初の被埋め込みデータと同一の値である10画素だけ、右方向にローテーションされる。さらに、第3水平ラインは、2番目の被埋め込みデータと同一の値である150画素だけ、右方向にローテーションされ、第4水平ラインは、3番目の被埋め込みデータと同一の値である200画素だけ、右方向にローテーションされる。第5水平ライン以降も、同様に、被埋め込みデータに対応する画素数だけ、右方向にローテーションされていく。 That is, for example, when 10, 150, 200,... Are embedded as embedded data in the image data as shown in FIG. 28A, the first horizontal line is output as it is as shown in FIG. 28B. The second horizontal line is rotated rightward by 10 pixels having the same value as the first embedded data. Further, the third horizontal line is rotated rightward by 150 pixels having the same value as the second embedded data, and the fourth horizontal line is 200 pixels having the same value as the third embedded data. Only rotated to the right. Similarly, the fifth and subsequent horizontal lines are rotated rightward by the number of pixels corresponding to the embedded data.
以上のように、フレームメモリ21に記憶された画像を構成する水平ラインを、被埋め込みデータに対応した画素数だけ、右方向にローテーションすることにより、各水平ラインに、被埋め込みデータを埋め込む場合には、その逆のローテーション(逆向きのローテーション)を行うことで、元の画像データを復元することができ、さらに、その逆のローテーションを行ったときのローテーション量に基づき、画像データに埋め込まれていた被埋め込みデータを復元することができる。従って、画像データの画質の劣化を極力なくし、かつデータ量を増加せずに、画像データに被埋め込みデータを埋め込むことができる。
As described above, when the embedded data is embedded in each horizontal line by rotating the horizontal lines constituting the image stored in the
即ち、被埋め込みデータが埋め込まれた水平ラインは、元の位置から被埋め込みデータに対応するローテーション量(画素数)だけローテーションされているが、このような水平ラインは、画像データの相関性、即ち、ここでは、元の位置にある水平ラインとの間の相関を利用することにより、オーバヘッドなしで、元の位置に戻すことができる。さらに、水平ラインを元の位置に戻すことで、埋め込み処理によって、その水平ラインがローテーションされたローテーション量を認識することができ、そのローテーション量に基づいて、その水平ラインに埋め込まれていた被埋め込みデータを復元することができる。従って、その結果得られる復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 That is, the horizontal line in which the embedded data is embedded is rotated from the original position by the rotation amount (number of pixels) corresponding to the embedded data. However, such a horizontal line is correlated with the image data, that is, Here, by using the correlation with the horizontal line at the original position, it is possible to return to the original position without overhead. Furthermore, by returning the horizontal line to the original position, the amount of rotation by which the horizontal line is rotated can be recognized by the embedding process, and the embedding embedded in the horizontal line is based on the rotation amount. Data can be restored. Therefore, in the restored image obtained as a result, there is basically no deterioration in image quality due to embedding data to be embedded.
なお、埋め込み画像データに、元の位置にある水平ラインが存在しない場合には、上述のように画像の相関性を利用して、画像データと被埋め込みデータを復元するのは、一般には、困難である。そこで、ここでは、図26の埋め込み処理において、各フレームの第1水平ラインには、被埋め込みデータを埋め込まないで(ローテーションしないで)、そのまま、埋め込み画像データとするようにしている。 Note that when there is no horizontal line at the original position in the embedded image data, it is generally difficult to restore the image data and the embedded data using the correlation of the image as described above. It is. Therefore, here, in the embedding process of FIG. 26, the embedded data is not embedded (not rotated) in the first horizontal line of each frame, and is used as embedded image data.
次に、ラインローテーション方式による埋め込み処理により得られる埋め込み画像データは、以下のような、画像データの相関性を利用したラインローテーション方式による復元処理により、元の画像データと被埋め込みデータに復元することができる。 Next, the embedded image data obtained by the embedding process by the line rotation method is restored to the original image data and the embedded data by the restoration process by the line rotation method using the correlation of the image data as follows. Can do.
即ち、ラインローテーション方式による復元処理では、埋め込み画像データの各水平ラインが、例えば、その第1水平ラインから、順次、注目ラインとされるとともに、その注目ラインの1ライン上の水平ラインが、基準ラインとされる。 That is, in the restoration process by the line rotation method, each horizontal line of the embedded image data is sequentially set as the attention line from the first horizontal line, for example, and the horizontal line on one line of the attention line is set as the reference line. Line.
なお、注目ラインは、これから元の位置に戻そうとしている水平ラインであり、また、いまの場合、上方向から下方向に向かって、水平ラインが、順次、注目ラインとされるので、基準ラインは、既に元の位置に戻されている水平ラインである。 Note that the target line is the horizontal line that is about to return to the original position from now on. In this case, the horizontal line is sequentially set as the target line from the upper direction to the lower direction. Is a horizontal line that has already been returned to its original position.
ラインローテーション方式による復元処理では、その後、注目ラインを、1画素ずつ右または左のうちのいずれか一方向にローテーションしながら、そのローテーション後の注目ラインと、基準ラインとの間の相関を表す相関値が演算される。 In the restoration process using the line rotation method, the correlation line represents the correlation between the target line after the rotation and the reference line while rotating the target line pixel by pixel in either the right or left direction. The value is calculated.
具体的には、例えば、図29Aに示すように、注目ラインをローテーションせずに(注目ラインを、0画素分だけローテーションして)、その注目ラインを構成する画素の画素値と、基準ラインを構成する対応する画素の画素値との差分絶対値の総和の逆数が、注目ラインについての基準ラインとの間の相関値として計算される。さらに、図29Bに示すように、注目ラインが、1画素だけ右または左のうちのいずれかにローテーションされ(図29では、図27で説明した場合の逆方向である左方向にローテーションされている)、そのローテーション後の注目ラインについて、基準ラインとの間の相関値が計算される。以下、同様にして、注目ラインが元の位置(埋め込み画像データにおける元の位置)に戻るまで、注目ラインを、2画素、3画素、・・・と順次ローテーションしながら、基準ラインとの間の相関値が計算される。 Specifically, for example, as shown in FIG. 29A, without rotating the target line (rotating the target line by 0 pixels), the pixel values of the pixels constituting the target line and the reference line are set. The reciprocal of the sum of the absolute differences from the pixel values of the corresponding pixels to be configured is calculated as a correlation value between the reference line and the reference line. Further, as shown in FIG. 29B, the target line is rotated to one of the right and left by one pixel (in FIG. 29, the target line is rotated to the left, which is the reverse direction in the case described in FIG. 27). ) For the attention line after the rotation, a correlation value with the reference line is calculated. In the same manner, the attention line is sequentially rotated between 2 pixels, 3 pixels,... Until the attention line returns to the original position (original position in the embedded image data). A correlation value is calculated.
以上のようにして、各ローテーション量(ここでは、水平ラインを構成する画素数)でローテーションされた注目ラインについての相関値が計算された後は、各ローテーション量の中から、注目ラインについての相関値を最大にするローテーション量が検出される。そして、その検出されたローテーション量が、注目ラインを元の位置に戻すローテーション量として決定され(この決定されたローテーション量を、以下、適宜、決定ローテーション量という)、注目ラインが、決定ローテーション量だけ、相関値を計算する場合と同一の方向(上述の場合は、左方向)にローテーションされることで、元の位置に戻される。即ち、これにより、注目ラインが復元される。 As described above, after the correlation value for the attention line rotated by each rotation amount (here, the number of pixels constituting the horizontal line) is calculated, the correlation for the attention line is selected from each rotation amount. The rotation amount that maximizes the value is detected. Then, the detected rotation amount is determined as a rotation amount for returning the target line to the original position (this determined rotation amount is hereinafter referred to as a determined rotation amount as appropriate), and the target line is determined by the determined rotation amount. Rotating in the same direction as the case of calculating the correlation value (in the above case, the left direction) returns to the original position. That is, the attention line is restored by this.
さらに、決定ローテーション量に基づいて、注目ラインに埋め込まれていた被埋め込みデータが復元される。 Further, the embedded data embedded in the target line is restored based on the determined rotation amount.
次に、図30フローチャートを参照して、図4の復元器6においてラインローテーション方式による復元処理が行われる場合の、その復元処理について説明する。
Next, with reference to the flowchart of FIG. 30, the restoration process when the restoration process by the line rotation method is performed in the
フレームメモリ31では、そこに供給される埋め込み画像データが、例えば、1フレーム単位で順次記憶される。
In the
そして、復元部32は、ステップS141において、フレームメモリ31に記憶された埋め込み画像データの、まだ注目ラインとされていない水平ラインのうちの、より上の行の水平ラインを、注目ラインとして読み出し、ステップS142に進む。ステップS142では、復元部32は、注目ラインが、第1水平ラインであるかどうかを判定する。ステップS142において、注目ラインが、第1水平ラインであると判定された場合、ステップS143に進み、復元部32は、第1水平ラインである注目ラインを、そのまま、フレームメモリ31に上書きする形で書き込み、ステップS150に進む。即ち、図28の埋め込み処理では、上述したように、第1水平ラインには、被埋め込みデータが埋め込まれていないため(従って、ローテーションされていない)、第1水平ラインは、特に操作されない。
Then, in step S141, the
また、ステップS142において、注目ラインが、第1水平ラインでないと判定された場合、即ち、注目ラインが、第2水平ライン以降のいずれかの水平ラインである場合、ステップS144に進み、復元部32は、注目ラインの1ライン上の水平ラインを基準ラインとして、フレームメモリ31から読み出し、ステップS145に進む。ステップS145では、復元部32は、注目ラインと基準ラインとの間の相関値(ライン相関値)を計算し、その内蔵するメモリに記憶して、ステップS146に進む。
If it is determined in step S142 that the target line is not the first horizontal line, that is, if the target line is any horizontal line after the second horizontal line, the process proceeds to step S144, and the restoring
ステップS146では、復元部32は、注目ラインを、例えば、左方向に、1画素だけローテーションし、ステップS147に進む。ステップS147では、復元部32は、ステップS146で注目ラインがローテーションされることにより、そのローテーション後の注目ラインの各画素が、フレームメモリ31に記憶されている注目ラインの各画素の位置に戻ったかどうかを判定する。
In step S146, the
ステップS147において、ローテーション後の注目ラインの各画素が、フレームメモリ31に記憶されている注目ラインの各画素の位置に戻っていないと判定された場合、ステップS145に戻り、ローテーション後の注目ラインと基準ラインとの間の相関値が計算され、以下、同様の処理が繰り返される。
When it is determined in step S147 that each pixel of the attention line after rotation has not returned to the position of each pixel of the attention line stored in the
また、ステップS147において、ローテーション後の注目ラインの各画素が、フレームメモリ31に記憶されている注目ラインの各画素の位置に戻ったと判定された場合、ステップS148に進み、復元部32は、注目ラインについて、ステップS145乃至S147のループ処理を行うことにより得られた各ローテーション量に対する相関値の中から、その最大値を求める。さらに、ステップS148では、復元部32は、最大値となる相関値を与えるローテーション量を検出し、そのローテーション量を、決定ローテーション量として決定する。そして、復元部32は、その決定ローテーション量に基づいて、注目ラインに埋め込まれていた被埋め込みデータを復元して出力し、即ち、決定ローテーション量を、そのまま被埋め込みデータとして出力し、ステップS149に進む。
If it is determined in step S147 that each pixel of the target line after rotation has returned to the position of each pixel of the target line stored in the
ステップS149では、復元部32は、フレームメモリ31に記憶されている注目ラインを読み出し、決定ローテーション量だけ左方向にローテーションすることにより、注目ラインを復元する(注目ラインを、元の画像データにおける位置に戻す)。さらに、ステップS149では、復元部32は、ローテーション後の注目ラインを、フレームメモリ31に上書きする形で書き込み、ステップS150に進む。
In step S149, the
ステップS150では、復元部32は、フレームメモリ31に記憶された埋め込み画像データのすべての水平ラインを、注目ラインとして処理を行ったかどうかを判定する。ステップS150において、フレームメモリ31に記憶された埋め込み画像データのすべての水平ラインを、まだ、注目ラインとしていないと判定された場合、ステップS141に戻り、いままで注目ラインとされていた1ライン下の水平ラインが、新たに注目ラインとされ、以下、同様の処理が繰り返される。
In step S150, the
また、ステップS150において、フレームメモリ31に記憶された埋め込み画像データのすべての水平ラインを、注目ラインとしたと判定された場合、即ち、フレームメモリ31に記憶された1フレームの埋め込み画像データの各水平ライン(但し、ここでは、第1水平ラインを除く)に埋め込まれていた被埋め込みデータを復元するとともに、その埋め込み画像データを、元の画像データに復元した場合、復元部32は、その復元した画像データを、フレームメモリ31から読み出して出力させ、処理を終了する。
If it is determined in step S150 that all the horizontal lines of the embedded image data stored in the
なお、以上の復元処理は、フレームメモリ31に記憶された埋め込み画像データの各フレームについて、繰り返し行われる。
Note that the above restoration process is repeated for each frame of the embedded image data stored in the
以上のように、水平ラインをローテーションすることにより被埋め込みデータが埋め込まれた埋め込み画像データについて、水平ラインのローテーションを行い、画像の相関性を利用して、水平ラインを元の位置に戻すようにしたので、オーバヘッドがなくても、埋め込み画像データを、元の画像データと被埋め込みデータに復元することができる。従って、その復元画像には、基本的に、被埋め込みデータを埋め込むことによる画質の劣化は生じない。 As described above, for the embedded image data in which the embedded data is embedded by rotating the horizontal line, the horizontal line is rotated, and the horizontal line is returned to the original position by utilizing the correlation of the image. Therefore, the embedded image data can be restored to the original image data and the embedded data without overhead. Therefore, the restored image basically does not deteriorate in image quality due to embedding the embedded data.
なお、図30の復元処理では、注目ラインと、基準ラインとの間の相関を表す相関値として、対応する画素どうしの差分絶対値の総和(差分絶対値和)を用いるようにしたが、その他、例えば、画素の差分の自乗和等を用いることも可能である。 In the restoration process of FIG. 30, the sum of absolute differences between the corresponding pixels (sum of absolute differences) is used as the correlation value representing the correlation between the target line and the reference line. For example, the sum of squares of pixel differences can be used.
また、図26の埋め込み処理では、1つの水平ラインを、被埋め込みデータにしたがってローテーションするようにしたため、1つの水平ラインには、その水平ラインを構成する画素数だけの範囲内の値の被埋め込みデータの埋め込みが可能である。但し、1つの水平ラインを構成する画素数より大きい範囲内の値の被埋め込みデータの埋め込みであっても、例えば、2つの水平ラインなどの複数の水平ラインを、被埋め込みデータにしたがってローテーションするようにすることで行うことが可能である。 Also, in the embedding process of FIG. 26, one horizontal line is rotated according to the embedding data, so that one horizontal line is embedded with a value within the range of the number of pixels constituting the horizontal line. Data can be embedded. However, even when embedding of embedded data having a value larger than the number of pixels constituting one horizontal line is performed, for example, a plurality of horizontal lines such as two horizontal lines are rotated according to the embedded data. This can be done.
ところで、例えば、上述した図26のラインローテーション方式による埋め込み処理では、埋め込み対象データとしての画像データの水平方向に並ぶ画素で構成される水平ラインを、水平方向にローテーションすることにより、被埋め込みデータの埋め込みを行うようにしたが、被埋め込みデータの埋め込みは、その他、例えば、画像データの垂直方向に並ぶ画素で構成される垂直ラインを、垂直方向にローテーションしたり、あるいは、斜め方向に並ぶ画素で構成されるラインを、その斜め方向にローテーションすることなどによって行うことも可能である。 By the way, for example, in the above-described embedding process by the line rotation method of FIG. 26, the horizontal line composed of pixels arranged in the horizontal direction of the image data as the embedding target data is rotated in the horizontal direction, thereby Although embedding is performed, embedding of embedded data is performed by, for example, rotating a vertical line composed of pixels lined up in the vertical direction of image data in the vertical direction or pixels lined up in an oblique direction. It is also possible to perform such a process by rotating the configured line in the oblique direction.
また、ラインローテーション方式による場合には、水平ラインまたは垂直ラインのうちのいずれか一方をローテーションすることにより、被埋め込みデータを埋め込み、その後、水平ラインまたは垂直ラインのうちの他方をローテーションすることにより、被埋め込みデータを、さらに埋め込むことが可能である。 In addition, in the case of the line rotation method, by embedding embedded data by rotating either one of the horizontal line or the vertical line, and then rotating the other of the horizontal line or the vertical line, The embedded data can be further embedded.
即ち、例えば、図31Aに示すように、ラインローテーション方式による埋め込み処理では、埋め込み対象データとしての画像データの水平ラインを、所定の被埋め込みデータD1に対応してローテーションすることにより、その被埋め込みデータD1を埋め込み、さらに、その結果生成される埋め込み符号化データC1としての画像データの垂直ラインを、他の被埋め込みデータD2に対応してローテーションすることにより、その被埋め込みデータD2を埋め込むことが可能である。 That is, for example, as shown in FIG. 31A, in the embedding process by the line rotation method, the horizontal line of the image data as the embedding target data is rotated corresponding to the predetermined embedding data D 1 , so that the embedding is performed. the data D 1 embedding further, by the results vertical line of the image data as coded data C 1 embedding is generated, to rotate in response to another of the embedded data D 2, the object to be embedded data D 2 Can be embedded.
いま、埋め込み符号化データC1としての画像データの垂直ラインをローテーションすることにより、被埋め込みデータD2を埋め込んで生成される埋め込み符号化データを、埋め込み符号化データC2と記述するものとすると、埋め込み符号化データC2には、元の画像データの水平ラインだけでなく、垂直ラインもローテーションすることによって、被埋め込みデータD1およびD2が埋め込まれているから、図26の埋め込み処理で説明したように、画像データの水平ラインだけをローテーションする場合に比較して、より多くの被埋め込みデータを埋め込むことができる。 Now, suppose that the embedded encoded data generated by embedding the embedded data D 2 by rotating the vertical line of the image data as the embedded encoded data C 1 is described as embedded encoded data C 2. In the embedded encoded data C 2 , the embedded data D 1 and D 2 are embedded by rotating not only the horizontal line but also the vertical line of the original image data. As described above, more embedded data can be embedded as compared with the case where only the horizontal line of the image data is rotated.
即ち、例えば、埋め込み対象データとしての画像データの水平ラインと垂直ラインのライン数が同一であるとした場合には、画像データの水平ラインと垂直ラインの両方をローテーションして生成される埋め込み符号化データC2には、画像データの水平ラインだけをローテーションして生成される埋め込み符号化データC1における場合の2倍のデータ量の被埋め込みデータを埋め込むことができる。 That is, for example, when the number of horizontal lines and vertical lines of image data as embedding target data is the same, embedded coding generated by rotating both the horizontal and vertical lines of image data. The data C 2 can embed embedded data having a data amount twice as large as that of the embedded encoded data C 1 generated by rotating only the horizontal line of the image data.
以上のような埋め込み符号化データC2を、埋め込み対象データと被埋め込みデータD1およびD2に復元する復元処理は、やはり、画像の相関性を利用して、次のように行うことができる。 The embedded coded data C 2 as described above, restoration process of restoring the target data and to the embedded data D 1 and D 2 embedded is again by using the correlation of the image, can be performed as follows .
即ち、埋め込み対象データとしての画像データの水平ラインをローテーションすると、その画像データにおける、水平ラインと直交する空間方向である垂直方向の相関性が破壊される。従って、画像データの水平ラインのみをローテーションすることにより生成される埋め込み符号化データについては、その水平ラインを、垂直方向の相関性を元に戻すように(図30の復元処理においては、基準ラインとの間の相関値が最大になるように)ローテーションすることで、元の画像データに復元することができる。 That is, when the horizontal line of the image data as the embedding target data is rotated, the correlation in the vertical direction that is the spatial direction orthogonal to the horizontal line in the image data is destroyed. Therefore, with respect to the embedded encoded data generated by rotating only the horizontal line of the image data, the horizontal line is restored to the original correlation (in the restoration process of FIG. Can be restored to the original image data.
画像データの垂直ラインのみをローテーションすることにより生成される埋め込み符号化データについても、上述の、水平ラインをローテーションすることにより生成される埋め込み符号化データにおける場合と同様にして、元の画像データに復元することができる。 The embedded encoded data generated by rotating only the vertical lines of the image data is also changed to the original image data in the same manner as in the above-described embedded encoded data generated by rotating the horizontal lines. Can be restored.
即ち、埋め込み対象データとしての画像データの垂直ラインをローテーションすると、その画像データにおける、垂直ラインと直交する空間方向である水平方向の相関性が破壊される。従って、画像データの垂直ラインをローテーションすることにより生成される埋め込み符号化データについては、その垂直ラインを、水平方向の相関性を元に戻すようにローテーションすることで、元の画像データに復元することができる。 That is, when the vertical line of the image data as the embedding target data is rotated, the correlation in the horizontal direction, which is the spatial direction orthogonal to the vertical line, in the image data is destroyed. Therefore, the embedded encoded data generated by rotating the vertical line of the image data is restored to the original image data by rotating the vertical line so that the correlation in the horizontal direction is restored. be able to.
以上から、画像データの水平ラインをローテーションすると、垂直方向の相関性は破壊されるが、水平方向の相関性は影響を受けない。また、画像データの垂直ラインをローテーションすると、水平方向の相関性は破壊されるが、垂直方向の相関性は影響を受けない。そして、画像データの水平ラインをローテーションすることにより生成される埋め込み符号化データは、垂直方向の相関性だけを利用して、元の画像データに復元することができ、画像データの垂直ラインをローテーションすることにより生成される埋め込み符号化データは、水平方向の相関性だけを利用して、元の画像データに復元することができる。 From the above, when the horizontal line of the image data is rotated, the correlation in the vertical direction is destroyed, but the correlation in the horizontal direction is not affected. Further, when the vertical line of the image data is rotated, the horizontal correlation is destroyed, but the vertical correlation is not affected. The embedded encoded data generated by rotating the horizontal line of the image data can be restored to the original image data by using only the vertical correlation, and the vertical line of the image data is rotated. The embedded encoded data generated by doing so can be restored to the original image data using only the correlation in the horizontal direction.
従って、図31Aに示したように、埋め込み対象データとしての画像データの水平ラインを、被埋め込みデータD1に対応してローテーションすることにより、埋め込み符号化データC1を生成し、その埋め込み符号化データC1としての画像データの垂直ラインを、被埋め込みデータD2に対応してローテーションすることにより、埋め込み符号化データC2を生成した場合には、その埋め込み符号化データC2は、図31Bに示すように、その垂直ラインを、水平方向の相関性を元に戻すようにローテーションすることで、埋め込み符号化データC1と被埋め込みデータD2に復元することができる。そして、埋め込み符号化データC1は、その水平ラインを、垂直方向の相関性を元に戻すようにローテーションすることで、埋め込み対象データと被埋め込みデータD1に復元することができる。即ち、埋め込み符号化データC2を、元の埋め込み対象データと、被埋め込みデータD1およびD2に復元することができる。 Accordingly, as shown in FIG. 31A, the horizontal lines of the image data as an implanted target data, by rotation in response to the embedded data D 1, to generate embedded coded data C 1, the embedded coding When the embedded encoded data C 2 is generated by rotating the vertical line of the image data as the data C 1 corresponding to the embedded data D 2 , the embedded encoded data C 2 is shown in FIG. 31B. As shown in FIG. 4, the vertical line can be restored to the embedded encoded data C 1 and the embedded data D 2 by rotating the vertical line so as to restore the correlation in the horizontal direction. The embedded encoded data C 1 can be restored to the embedding target data and the embedded data D 1 by rotating the horizontal line so as to restore the correlation in the vertical direction. That is, the embedded encoded data C 2 can be restored to the original embedding target data and the embedded data D 1 and D 2 .
水平ラインのローテーションによる埋め込みと、垂直ラインのローテーションによる埋め込みとは、いずれも、被埋め込みデータに対応してラインをローテーションするという操作ルールにしたがって、埋め込み対象データを操作するラインローテーション方式による埋め込みであるが、水平ラインのローテーションは、垂直方向の相関にのみ影響を与え、垂直ラインのローテーションは、水平方向の相関にのみ影響を与えるものであるから、水平ラインのローテーションと、垂直ラインのローテーションとは、いわば、独立した操作または直交した操作であるということができる。このように、水平ラインのローテーションと、垂直ラインのローテーションとが、独立した操作であるがゆえに、画像データの水平ラインを被埋め込みデータD1に対応してローテーションし、さらに、垂直ラインを被埋め込みデータD2に対応してローテーションして得られる埋め込み符号化データC2は、元の画像データと被埋め込みデータD1およびD2に復元することができる。 The horizontal line rotation embedding and the vertical line rotation embedding are both embedding by a line rotation method in which data to be embedded is operated according to an operation rule of rotating a line corresponding to embedded data. However, the horizontal line rotation affects only the vertical correlation, and the vertical line rotation affects only the horizontal correlation, so the horizontal line rotation and the vertical line rotation are the same. In other words, it can be said that it is an independent operation or an orthogonal operation. Thus, the horizontal line rotation, and a vertical line rotation, because it is an independent operation, a horizontal line of image data corresponding to the embedded data D 1 and rotation, further, burying the vertical line to be Embedded encoded data C 2 obtained by rotation corresponding to data D 2 can be restored to the original image data and embedded data D 1 and D 2 .
ところで、上述の埋め込み符号化データC2は、埋め込み対象データとしての画像データの水平ラインと垂直ラインがローテーションされたものであるから、画像データの、いわば空間的な相関性が、すべての空間方向について破壊されたものとなっている。 By the way, since the above-mentioned embedded coded data C 2 is obtained by rotating the horizontal line and the vertical line of the image data as the embedding target data, the so-called spatial correlation of the image data is in all spatial directions. Is about to be destroyed.
従って、埋め込み符号化データC2としての画像データに対して、ラインローテーション方式による場合は勿論、その他の操作ルールにしたがって操作を行う、例えば、上述の画素スワップ方式や、ビットプレーンスワップ方式によって、さらに被埋め込みデータの埋め込みを行うと、対応する方式による復元処理では、埋め込み符号化データC2も、その埋め込み符号化データC2に埋め込んだ被埋め込みデータも復元することが困難となる。 Therefore, the image data as the embedded encoded data C 2 is operated according to other operation rules as well as the line rotation method, for example, by the above-described pixel swap method or bit plane swap method. Doing embedding of the embedded data, the restoring processing according to the corresponding method, even embedded coded data C 2, it becomes difficult to recover the embedded data embedded in the embedded coded data C 2.
即ち、埋め込み符号化データC2としての画像データに対して、ラインローテーション方式によって、さらに他の被埋め込みデータD3を埋め込んだ場合、その被埋め込みデータD3は、埋め込み符号化データC2の水平ラインまたは垂直ラインを、被埋め込みデータD3に対応してローテーションすることにより埋め込まれる。 That is, the image data of the embedded coded data C 2, by line rotation scheme if further embedding the other of the embedded data D 3, the object to be embedded data D 3 is the embedded coded data C 2 horizontal lines or vertical lines, is embedded by rotation in response to the embedded data D 3.
しかしながら、この被埋め込みデータD3に対応する水平ラインまたは垂直ラインのローテーションは、被埋め込みデータD1の埋め込みを行うための水平ラインのローテーション、または被埋め込みデータD2の埋め込みを行うための垂直ラインのローテーションと重複する操作であるから、水平ラインのローテーションが、被埋め込みデータD1またはD3のうちのいずれの埋め込みによるものであるのかを区別することができず、あるいは、垂直ラインのローテーションが、被埋め込みデータD2またはD3のうちのいずれの埋め込みによるものであるのかを区別することができず、このため、埋め込み符号化データC2も、被埋め込みデータD3も復元することはできない。 However, the horizontal line or vertical line rotation corresponding to the embedded data D 3 is a horizontal line rotation for embedding the embedded data D 1 or a vertical line for embedding the embedded data D 2. since an operation of rotation and overlapping, horizontal line rotation is not able to distinguish whether it is due to the embedding of any of of the embedded data D 1 or D 3, or vertical line rotation is Therefore, it cannot be distinguished which of the embedded data D 2 or D 3 is embedded, and therefore neither the embedded encoded data C 2 nor the embedded data D 3 can be restored. .
また、画素スワップ方式や、ビットプレーンスワップ方式による復号処理では、上述したことから、空間的に近接する画素との相関を利用して、元の画像データとそこに埋め込まれていた被埋め込みデータの復元が行われる。 In addition, in the decoding process using the pixel swap method or the bit plane swap method, the correlation between the spatially adjacent pixels is used, and the original image data and the embedded data embedded therein are used. Restoration is performed.
しかしながら、埋め込み符号化データC2としての画像データについては、その空間方向の相関性が、すべての方向について破壊されているため、そのような埋め込み符号化データC2に、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータD3を埋め込むことは、エネルギの偏りのない、例えば、ノイズを埋め込み対象データとして、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータD3を埋め込むことと等価である。 However, with respect to the image data as the embedded encoded data C 2 , the correlation in the spatial direction is broken in all directions, so that such embedded encoded data C 2 includes a pixel swap method, a bit the plane swap scheme to embed the embedded data D 3 is no deviation of energy, for example, as target data embedding noise, and the pixel swapping scheme, the bit-plane swapping scheme, and embedding the target embedded data D 3 Is equivalent.
従って、そのような埋め込みにより得られた新たな埋め込み符号化データについては、画像データ(情報としての価値がある画像データ)が有する空間方向の相関性を利用することができず、画素スワップ方式や、ビットプレーンスワップ方式による復元処理によっては、元の埋め込み対象データと被埋め込みデータを復元することはできない。 Therefore, with respect to new embedded encoded data obtained by such embedding, the spatial correlation of image data (image data having information value) cannot be used. The original embedding target data and embedded data cannot be restored by the restoration process using the bit plane swap method.
以上から、空間方向の相関性がすべての方向について破壊されている埋め込み符号化データC2に対して、画素スワップ方式や、ビットプレーンスワップ方式によって、被埋め込みデータD3を埋め込み、新たな埋め込み符号化データを生成した場合には、その新たな埋め込み符号化データについては、埋め込み符号化データC2としての画像データの相関性を利用することによっては、その埋め込み符号化データC2とそこに埋め込まれていた被埋め込みデータD3を復元することはできない。 From the above, the embedded data D 3 is embedded by the pixel swap method or the bit plane swap method with respect to the embedded encoded data C 2 whose spatial direction correlation is broken in all directions, and a new embedded code is obtained. When the encoded data is generated, the new embedded encoded data is embedded with the embedded encoded data C 2 by using the correlation of the image data as the embedded encoded data C 2. The embedded data D 3 that has been stored cannot be restored.
ところで、ラインローテーション方式による埋め込み処理によって生成された埋め込み符号化データC2に対して、さらに、同一のラインローテーション方式によって、被埋め込みデータD3を埋め込み、新たな埋め込み符号化データを生成した場合には、上述したように、埋め込み符号化データC2を生成するときに行われる操作と、新たな埋め込み符号化データを生成するときに行われる操作とが重複することがあるので、仮に、元の埋め込み対象データとしての画像データを復元することができても、その埋め込み対象データに埋め込まれた被埋め込みデータD1乃至D3すべてを復元することは困難である。 By the way, when the embedded data D 3 is embedded by the same line rotation method with respect to the embedded encoded data C 2 generated by the embedding process by the line rotation method, and new embedded encoded data is generated. As described above, the operation performed when generating the embedded encoded data C 2 and the operation performed when generating new embedded encoded data may overlap. Even if the image data as the embedding target data can be restored, it is difficult to restore all the embedded data D 1 to D 3 embedded in the embedding target data.
一方、ラインローテーション方式による埋め込み処理によって生成された埋め込み符号化データC2に対して、さらに、ラインローテーション方式とは異なる、例えば、ビットプレーンスワップ方式等によって、被埋め込みデータD3を埋め込んだ場合には、埋め込み符号化データC2を生成するときに行われる操作(ここでは、水平ラインのローテーションと垂直ラインのローテーション)と、新たな埋め込み符号化データを生成するときに行われる操作とが重複することはない。 On the other hand, when the embedded data D 3 is embedded in the embedded encoded data C 2 generated by the embedding process by the line rotation method, for example, by a bit plane swap method or the like different from the line rotation method. Is the same as the operation performed when generating the embedded encoded data C 2 (here, the rotation of the horizontal line and the rotation of the vertical line) and the operation performed when generating the new embedded encoded data. There is nothing.
従って、この場合は、仮に、元の埋め込み対象データとしての画像データを復元することができれば、その埋め込み対象データに埋め込まれた被埋め込みデータD1乃至D3も、すべて復元することができる。 Therefore, in this case, if the image data as the original embedding target data can be restored, all of the embedded data D 1 to D 3 embedded in the embedding target data can also be restored.
即ち、仮に、新たな埋め込み符号化データから、元の埋め込み対象データを復元することができれば、その埋め込み対象データから新たな埋め込み符号化データを生成する操作が特定される。さらに、埋め込み対象データから新たな埋め込み符号化データを生成する操作は、埋め込み対象データに対して、ラインローテーション方式によって被埋め込みデータD1とD2を埋め込む操作と、その操作によって得られる埋め込み符号化データC2に対して、ラインローテーション方式とは異なる、例えば、ビットプレーンスワップ方式等によって被埋め込みデータD3を埋め込む操作とからなる。そして、いまの場合、被埋め込みデータD1およびD2を埋め込むラインローテーション方式による操作と、被埋め込みデータD3を埋め込むビットプレーンスワップ方式による操作とは、上述したように直交する操作であり、重複することがない。 That is, if the original embedding target data can be restored from the new embedded encoded data, an operation for generating new embedded encoded data from the embedded target data is specified. Furthermore, the operation of generating new embedded encoded data from the embedding target data includes an operation of embedding the data to be embedded D 1 and D 2 by the line rotation method, and the embedded encoding obtained by the operation For data C 2 , the operation includes embedding embedded data D 3 by a bit plane swap method or the like, which is different from the line rotation method. In this case, the operation by the line rotation method for embedding the embedded data D 1 and D 2 and the operation by the bit plane swap method for embedding the embedded data D 3 are orthogonal operations as described above. There is nothing to do.
従って、埋め込み対象データから、被埋め込みデータD1乃至D3が埋め込まれた埋め込み符号化データを生成する操作が特定されれば、その操作に基づき、被埋め込みデータD1およびD2を埋め込むラインローテーション方式による操作も、被埋め込みデータD3を埋め込むビットプレーンスワップ方式による操作のいずれの操作も特定することができる。 Therefore, if an operation for generating embedded encoded data in which embedded data D 1 to D 3 are embedded is specified from the embedded data, line rotation for embedding embedded data D 1 and D 2 is performed based on the operation. operation by method also, none of the operation of the operation by the bit-plane swapping scheme for embedding the embedding data D 3 can be identified.
そこで、図32は、ラインローテーション方式とビットプレーンスワップ方式などのように、複数の方式による埋め込みを行う図2の埋め込み符号化器3の構成例を示している。なお、図中、図3における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図32の埋め込み符号化器3は、特徴抽出部23および統合部24が新たに設けられている他は、基本的に、図3における場合と同様に構成されている。
Therefore, FIG. 32 shows a configuration example of the embedded
特徴抽出部23には、フレームメモリ21に供給されるのと同一の埋め込み対象データとしての1フレームの画像データが供給されるようになっている。特徴抽出部23は、そこに供給される埋め込み対象データとしての1フレームの画像データから、その特徴を表す特徴データを抽出し、統合部24に供給する。
The
ここで、特徴抽出部23は、埋め込み対象データとしての1フレームの画像データから、例えば、次のような特徴データを抽出する。
Here, the
即ち、特徴抽出部23は、画像データの1以上の特定位置にある画素の画素値を、特徴データとして抽出する。また、特徴抽出部23は、画像データの1以上の特定位置にある画素と、その上、下、左、または右に隣接する画素との画素値の差分値を計算し、その差分値を、特徴データとして抽出する。さらに、特徴抽出部23は、画像データを、所定の大きさのブロックに分割し、各ブロックのアクティビティやダイナミックレンジを求め、その各ブロックごとのアクティビティやダイナミックレンジを、特徴データとして抽出する。ここで、ブロックのアクティビティとしては、例えば、ブロックを構成する各画素と、その画素に隣接する画素との画素値の差分絶対値(あるいは、差分の自乗)の総和や、ブロックを構成する画素の画素値をDCT変換して得られるDCT係数のうちのAC(Alternating Current)成分の絶対値和等の、ブロックにおける画素値の変化の度合いを表すものを採用することができる。また、ブロックのダイナミックレンジとしては、例えば、ブロックを構成する画素の画素値の最大値と最小値との差を採用することができる。
That is, the
その他、特徴抽出部23には、1フレームを構成する画像データの画素値の平均値や、分散、度数の最も高い画素値(最頻値)等を、特徴データとして抽出させることが可能である。
In addition, the
なお、特徴抽出部23において抽出する画像データの特徴データは、上述したものに限定されるものではない。即ち、特徴データとしては、上述したものの他、例えば、画像データに表示されている物体の輪郭や重心位置等の、その画像データの特徴を表すものであれば、上述したもの以外のものを採用することが可能である。また、特徴抽出部23では、2種類以上の特徴データを抽出することも可能である。
Note that the feature data of the image data extracted by the
統合部24は、特徴抽出部23から特徴データを受信し、フレームメモリ21に記憶された画像データ、即ち、その特徴データが抽出された画像データ(埋め込み対象データとしての画像データそのものの他、その画像データに、被埋め込みデータを埋め込んで得られる埋め込み符号化データとしての画像データも含む)と、特徴データとを統合する。
The integration unit 24 receives the feature data from the
ここで、統合部24における画像データと、その特徴データとの統合の方法は、特に限定されるものではない。即ち、画像データと特徴データとは、画像データまたは特徴データに、特徴データまたは画像データを、単に付加する形で統合することもできるし、時分割多重や周波数分割多重、異なる拡散符号による周波数拡散等によって統合することも可能である。さらに、画像データと特徴データとは、画像データに、特徴データを埋め込むことによって統合することも可能である。 Here, the method of integrating the image data and the feature data in the integration unit 24 is not particularly limited. That is, the image data and the feature data can be integrated by simply adding the feature data or the image data to the image data or the feature data, or by time division multiplexing, frequency division multiplexing, or frequency spreading using different spreading codes. It is also possible to integrate by such as. Furthermore, the image data and the feature data can be integrated by embedding the feature data in the image data.
次に、図33のフローチャートを参照して、図32の埋め込み符号化器3による埋め込み処理について説明する。
Next, the embedding process by the embedded
埋め込み対象データベース1からは、そこに記憶されている埋め込み対象データとしての画像データがフレーム単位で読み出され、フレームメモリ21と特徴抽出部23に供給される。フレームメモリ21は、埋め込み対象データベース1から供給される埋め込み対象データとしての1フレームの画像データを記憶する。
From the embedding
特徴抽出部23は、埋め込み対象データベース1から供給される埋め込み対象データとしての1フレームの画像データを受信し、ステップS161において、その画像データから、特徴データを抽出し、統合部24に供給して、ステップS162に進む。
The
ステップS162では、統合部24が、特徴抽出部23からの特徴データと、フレームメモリ21に記憶された埋め込み対象データとしての画像データとを統合するとともに、埋め込み部22が、被埋め込みデータベース2から被埋め込みデータを読み出し、フレームメモリ21に記憶された埋め込み対象データとしての画像データに埋め込む。これにより、フレームメモリ21に記憶された埋め込み対象データとしての画像データは、特徴データが統合された埋め込み符号化データとされ、ステップS162では、さらに、その特徴データが統合された埋め込み符号化データが、フレームメモリ21から読み出されて処理を終了する。
In step S162, the integration unit 24 integrates the feature data from the
なお、図33の処理は、埋め込み対象データとしての1フレームの画像データが、フレームメモリ21に新たに記憶されるごとに繰り返し行われる。
Note that the processing in FIG. 33 is repeated every time one frame of image data as data to be embedded is newly stored in the
次に、図34は、図32の埋め込み符号化器3(のフレームメモリ21)から出力される、特徴データが統合された埋め込み符号化データを、元の埋め込み対象データとしての画像データと被埋め込みデータに復元する図2の復元器6の構成例を示している。なお、図中、図4における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図34の復元器6は、特徴分離部33、特徴抽出部34、および判定制御部35が新たに設けられている他は、図4における場合と、基本的に同様に構成されている。
Next, FIG. 34 shows the embedded encoded data integrated with the feature data output from the embedded encoder 3 (the frame memory 21) of FIG. 3 shows a configuration example of the
特徴分離部33は、フレームメモリ31に記憶された埋め込み符号化データから、特徴データを分離し、判定制御部35に供給する。即ち、フレームメモリ31には、特徴データが統合された埋め込み符号化データが供給され、フレームメモリ31は、その特徴データが統合された埋め込み符号化データを一時記憶するようになっており、特徴分離部33は、フレームメモリ31に記憶された、特徴データが統合された埋め込み符号化データから、その特徴データを分離し、判定制御部35に供給する。
The
ここで、特徴データが統合された埋め込み符号化データから分離される特徴データは、埋め込み対象データとしての元の画像データ(原画像)から抽出された、その画像データの特徴を表すものであり、後述する仮復元特徴データと区別するために、以下、適宜、原特徴データという。 Here, the feature data separated from the embedded encoded data in which the feature data is integrated represents the feature of the image data extracted from the original image data (original image) as the embedding target data. In order to distinguish from temporary restoration feature data described later, hereinafter, it will be referred to as original feature data as appropriate.
特徴抽出部34は、復元部32において仮に復元された埋め込み対象データとしての画像データ(以下、適宜、仮復元画像データという)から、図32の特徴抽出部23における場合と同様にして特徴データを抽出し、その特徴データを、仮復元特徴データとして、判定制御部35に供給する。
The
即ち、図34の実施の形態では、復元部32は、フレームメモリ32に記憶された埋め込み符号化データを、埋め込み符号化器3において埋め込み対象データに被埋め込みデータを埋め込むときに行った埋め込み対象データの操作に対応する操作ルールにしたがって操作することにより、仮の埋め込み対象データとしての画像データ(仮復元画像データ)と、仮の被埋め込みデータに復元するようになっている。そして、特徴抽出部34は、復元部32で得られる仮復元画像データから、その特徴データを抽出し、仮復元特徴データとして、判定制御部35に供給する。
That is, in the embodiment of FIG. 34, the
判定制御部35は、特徴分離部33から供給される原特徴データと、特徴抽出部34から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部32における復元処理を制御する。
The determination control unit 35 determines the coincidence between the original feature data supplied from the
即ち、仮復元画像データが、元の埋め込み対象データとしての画像データに一致していれば(正確に復元されていれば)、その仮復元画像データの特徴データである仮復元特徴データは、原特徴データと一致するはずである。従って、原特徴データと仮復元特徴データとが一致していれば、仮復元画像データが、元の埋め込み対象データとしての画像データに、正確に復元されているということができる。 In other words, if the temporarily restored image data matches the image data as the original embedding target data (if correctly restored), the temporarily restored feature data that is the feature data of the temporarily restored image data is Should match the feature data. Therefore, if the original feature data and the temporary restoration feature data match, it can be said that the temporary restoration image data is accurately restored to the image data as the original embedding target data.
そこで、判定制御部35は、原特徴データと仮復元特徴データとが一致しているかどうかを判定し、一致していない場合には、復元部32における復元処理を制御する。これにより、復元部32は、フレームメモリ32に記憶された埋め込み符号化データに対して、埋め込み符号化器3において埋め込み対象データに被埋め込みデータを埋め込むときに行った埋め込み対象データの操作に対応する操作ルールにしたがった他の操作を施すことにより、新たに、仮復元画像データと、仮の被埋め込みデータを復元する。
Therefore, the determination control unit 35 determines whether or not the original feature data and the temporary restoration feature data match, and when they do not match, controls the restoration processing in the
一方、判定制御部35は、原特徴データと仮復元特徴データとが一致している場合には、その仮復元特徴データが得られた仮復元画像データが、元の埋め込み対象データとしての画像データに、正確に復元されているとして、その仮復元画像データを、フレームメモリ31に上書きするように、復元部32を制御する。
On the other hand, if the original feature data and the temporarily restored feature data match, the determination control unit 35 uses the temporarily restored image data from which the temporarily restored feature data is obtained as image data as the original embedding target data. In addition, the
次に、図35のフローチャートを参照して、図34の復元器6による復元処理について説明する。
Next, with reference to the flowchart of FIG. 35, the restoration process by the
特徴データ(原特徴データ)が統合された埋め込み符号化データは、フレームメモリ31に供給され、一時記憶される。
The embedded encoded data in which the feature data (original feature data) is integrated is supplied to the
そして、ステップS171において、特徴分離部33は、フレームメモリ31に記憶された埋め込み符号化データから、原特徴データを分離し、判定制御部35に供給する。
In step S 171, the
さらに、ステップS171では、復元部32が、フレームメモリ31に記憶された埋め込み符号化データに対して、図32の埋め込み部22における埋め込み処理の操作ルールにしたがった所定の操作を施し、これにより、仮の埋め込み対象データとしての仮復元画像データと、仮の被埋め込みデータを復元する。
Further, in step S171, the
その後、ステップS172に進み、特徴抽出部34が、復元部32で得られた仮復元画像データから特徴データを抽出し、仮復元特徴データとして、判定制御部35に供給して、ステップS173に進む。
Thereafter, the process proceeds to step S172, where the
ステップS173では、判定制御部35が、原特徴データと仮復元特徴データとが一致するかどうかを判定する。ステップS173において、原特徴データと仮復元特徴データとが一致しないと判定された場合、ステップS174に進み、判定制御部35は、埋め込み符号化データに対して他の操作を施すように、復元部32を制御し、ステップS175に進む。 In step S173, the determination control unit 35 determines whether the original feature data matches the temporary restoration feature data. If it is determined in step S173 that the original feature data and the temporary restoration feature data do not match, the process proceeds to step S174, and the decision control unit 35 performs another operation on the embedded encoded data. 32, and proceeds to step S175.
ステップS175では、復元部32が、判定制御部35からの制御にしたがい、フレームメモリ32に記憶された埋め込み符号化データに対して、図32の埋め込み符号化器3における埋め込み処理の操作ルールにしたがった他の操作を施すことにより、新たに、仮復元画像データと、仮の被埋め込みデータを復元する。そして、ステップS172に戻り、ステップS173において、原特徴データと仮復元特徴データとが一致すると判定されるまで、ステップS173乃至S175の処理を繰り返す。
In step S175, the
そして、ステップS173において、原特徴データと仮復元特徴データとが一致すると判定された場合、判定制御部35は、仮復元画像データを、フレームメモリ31に上書きするように、復元部32を制御し、ステップS176に進む。ステップS176では、復元部32は、仮復元画像データを、フレームメモリ31に上書きする形で書き込むとともに、その仮復元画像データとともに復元された仮の被埋め込みデータを、正確な復元結果として出力し、復元処理を終了する。
If it is determined in step S173 that the original feature data and the temporary restoration feature data match, the determination control unit 35 controls the
なお、図35の処理は、埋め込み符号化データとしての1フレームの画像データが、フレームメモリ31に新たに記憶されるごとに繰り返し行われる。
Note that the processing in FIG. 35 is repeated every time one frame of image data as embedded encoded data is newly stored in the
次に、特徴データ(原特徴データ)の統合方法として、例えば、埋め込みを採用した場合の埋め込み符号化器3における埋め込み処理と、復元器6における復元処理について説明する。
Next, as an integration method of feature data (original feature data), for example, an embedding process in the embedding
この場合、埋め込み符号化器3では、図36Aに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、その特徴データと被埋め込みデータが、埋め込み対象データとしての画像データに埋め込まれる。即ち、埋め込み符号化器3では、埋め込み対象データとしての画像データを、特徴データと被埋め込みデータに対応して操作する埋め込み処理が行われ、埋め込み符号化データが生成される。
In this case, as shown in FIG. 36A, the embedded
一方、復元器6では、図36Bに示すように、埋め込み符号化データが、埋め込み符号化器3における埋め込み処理の操作ルールと同一の操作ルールにしたがって操作され、埋め込み対象データとしての画像データと、その画像データに埋め込まれていた特徴データおよび被埋め込みデータが復元される。
On the other hand, in the
より具体的には、埋め込み符号化器3では、例えば、図37Aに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、埋め込み対象データとしての画像データを、例えば、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理が行われる。これにより、埋め込み対象データとしての画像データに、特徴データが埋め込まれ、埋め込み符号化データが生成される。ここで、埋め込み対象データに対して、最初の埋め込み処理が施されることにより得られる埋め込み符号化データを、以下、適宜、第1の埋め込み符号化データという。
More specifically, in the embedded
埋め込み符号化器3では、さらに、埋め込み対象データに特徴データを埋め込むことで得られた第1の埋め込み符号化データとしての画像データを、ラインローテーション方式と直交する操作を行う、例えば、ビットプレーンスワップ方式により、被埋め込みデータに対応して操作する埋め込み処理が行われる。これにより、第1の埋め込み符号化データ(特徴データが埋め込まれた埋め込み対象データ)としての画像データに、被埋め込みデータが埋め込まれ、埋め込み符号化データが生成される。ここで、第1の埋め込み符号化データに対して埋め込み処理が施されることにより得られる埋め込み符号化データ、即ち、埋め込み対象データとしての画像データに対して、最初の埋め込み処理とは異なる方式による、2回目の埋め込み処理が施されることにより得られる埋め込み符号化データを、以下、適宜、第2の埋め込み符号化データという。
The embedded
一方、復元器6では、図37Bに示すように、第2の埋め込み符号化データに対して、埋め込み符号化器3における2回目の埋め込み処理と同一のビットプレーンスワップ方式による復元処理としての操作が施され、これにより、仮の第1の埋め込み符号化データと、仮の被埋め込みデータが復元される。
On the other hand, in the
ここで、復元器6で行われる、この最初の復元処理では、全パターンの操作を行うことにより、各操作パターンごとの仮の第1の埋め込み符号化データと、仮の被埋め込みデータが復元される。即ち、最初の復元処理が、上述のようにビットプレーンスワップ方式によって行われる場合には、復元器6は、画像ブロックのビットプレーンを、全通りの並びに並び替えたものを、順次生成し、各並びのビットプレーンで構成される画像データを、仮の第1の埋め込み符号化データとして、順次出力する。
Here, in the first restoration process performed by the
復元器6は、ビットプレーンスワップ方式によるある操作によって、仮の第1の埋め込み符号化データを得ると、その仮の第1の埋め込み符号化データに対して、埋め込み符号化器3における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、仮の埋め込み対象データ(仮復元画像データ)と、仮の特徴データ(原特徴データ)を復元する。
When the
ここで、復元器6で行われる2回目の復元処理では、最初の復元処理における場合と異なり、全パターンの操作を行うことにより得られる復元結果のうちの、最も確からしい復元結果のみが出力される。即ち、2回目の復元処理が、上述のようにラインローテーション方式によって行われる場合には、復元器6は、各ラインを、その相関が最も大きくなる位置にローテーションして得られる画像データを、仮の埋め込み対象データとして出力する。
Here, in the second restoration process performed by the
そして、復元器6は、仮の埋め込み対象データから、特徴データ(仮復元特徴データ)を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
Then, the
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器6は、仮の第1の埋め込み符号化データが、正確に、元の第1の埋め込み符号化データに復元されていないとして、第2の埋め込み符号化データに対して、ビットプレーンスワップ方式による復元処理(最初の復元処理)としての他のパターンの操作を施し、これにより、新たに、仮の第1の埋め込み符号化データと、仮の被埋め込みデータを復元する。
When the temporary original feature data and the temporary restored feature data do not match, the
さらに、復元器6は、新たな仮の第1の埋め込み符号化データに対して、埋め込み符号化器3における最初の埋め込み処理と同一のラインローテーション方式による復元処理(2回目の復元処理)としての操作を施し、これにより、仮の埋め込み対象データ(仮復元画像データ)と、仮の特徴データ(原特徴データ)を復元する。
Further, the restoring
そして、復元器6は、仮の埋め込み対象データから、特徴データ(仮復元特徴データ)を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
Then, the
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器6は、上述の場合と同様の処理を繰り返す。
If the provisional original feature data and the provisional restoration feature data do not match, the
一方、仮の原特徴データと仮復元特徴データとが一致している場合、復元器6は、そのときに得られている仮の埋め込み対象データと、仮の被埋め込みデータを、正確な復元結果とし、処理を終了する。
On the other hand, if the provisional original feature data and the provisional restoration feature data match, the
次に、図38は、図37Aで説明した埋め込み処理を行う図2の埋め込み符号化器3の構成例を示している。
Next, FIG. 38 shows a configuration example of the embedded
埋め込み対象データベース1(図2)に記憶された埋め込み対象データとしての画像データは、例えば、フレーム単位で、特徴抽出部41と埋め込み器42に供給されるようになっており、被埋め込みデータベース2(図2)に記憶された被埋め込みデータは、埋め込み器43に供給されるようになっている。
The image data as the embedding target data stored in the embedding target database 1 (FIG. 2) is supplied to the feature extraction unit 41 and the
特徴抽出部41は、図32で説明した特徴抽出部23と同様に、そこに供給される埋め込み対象データとしての1フレームごとの画像データから、特徴データを抽出し、埋め込み器42に供給する。
Similar to the
埋め込み器42は、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての1フレームの画像データを、特徴抽出部41から供給される特徴データに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴データを埋め込んだ第1の埋め込み符号化データを生成して、埋め込み器43に供給する。
The
ここで、埋め込み器2において、上述のようにラインローテーション方式による埋め込み処理を行う場合には、特徴抽出部41では、埋め込み対象データとしての1フレームの画像データごとに、特徴データを抽出するのではなく、ラインローテーション方式により操作される単位である水平ラインや垂直ラインごとに、特徴データを抽出するようにすることが可能である。
Here, when the embedding
埋め込み器43は、埋め込み器42から供給される第1の埋め込み符号化データとしての1フレームの画像データを、被埋め込みデータベース2から供給される被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第1の埋め込み符号化データとして画像データに被埋め込みデータを埋め込んだ第2の埋め込み符号化データを生成して出力する。
The
次に、図39のフローチャートを参照して、図38の埋め込み符号化器3による埋め込み処理について説明する。
Next, the embedding process by the embedded
まず最初に、ステップS181において、埋め込み対象データベース1(図2)に記憶された埋め込み対象データとしての1フレームの画像データが、特徴抽出部41と埋め込み器42に供給されるとともに、被埋め込みデータベース2(図2)に記憶された被埋め込みデータが、埋め込み器43に供給され、ステップS182に進む。
First, in step S181, one frame of image data as embedding target data stored in the embedding target database 1 (FIG. 2) is supplied to the feature extraction unit 41 and the
ステップS182では、特徴抽出部41が、そこに供給される埋め込み対象データとしての1フレームの画像データから、特徴データを抽出し、埋め込み器42に供給して、ステップS183に進む。
In step S182, the feature extraction unit 41 extracts feature data from one frame of image data as embedding target data supplied thereto, supplies the feature data to the
ステップS183では、埋め込み器42が、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての1フレームの画像データを、特徴抽出部41から供給される特徴データに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴データを埋め込む。この埋め込みによって得られる第1の埋め込み符号化データは、埋め込み器42から43に供給され、ステップS184に進む。
In step S183, the
ステップS184では、埋め込み器43が、埋め込み器42から供給される第1の埋め込み符号化データとしての1フレームの画像データを、被埋め込みデータベース2から供給される被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第1の埋め込み符号化データとして画像データに被埋め込みデータを埋め込む。この埋め込みによって得られる第2の埋め込み符号化データは、最終的な埋め込みデータとして出力され、処理を終了する。
In step S184, the
なお、図39の処理は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
Note that the processing in FIG. 39 is repeated for each frame of image data as embedding target data stored in the embedding
次に、図40は、図37Bで説明した復元処理を行う図2の復元器6の構成例を示している。
Next, FIG. 40 shows a configuration example of the
図38および図39で説明したようにして埋め込み符号化器6で得られる第2の埋め込み符号化データとしての画像データは、復元部51に供給される。
Image data as second embedded encoded data obtained by the embedded
復元部51は、そこに供給される第2の埋め込み符号化データを、図38の埋め込み器43における場合と同様のビットプレーンスワップ方式により操作し、これにより、仮の第1の埋め込み符号化データと、仮の被埋め込みデータを復元する。さらに、復元部51は、仮の第1の埋め込み符号化データを、復元部52に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ55に供給する。
The
また、復元部51は、第2の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方(操作パターン)(どのように、ビットプレーンを入れ替えたか)を表す情報(以下、適宜、操作情報という)を生成し、その操作情報を、操作情報用バッファ58に供給する。
In addition, the
なお、復元部51は、第2の埋め込み符号化データの、ビットプレーンスワップ方式による操作を、後述する判定制御部56の制御にしたがい、操作情報用バッファ58に記憶された操作情報を、スイッチ59を介して参照しながら行う。
Note that the
即ち、復元部51は、ある第2の埋め込み符号化データを受信した場合、最初は、その第2の埋め込み符号化データに対して、ビットプレーンスワップ方式による所定の操作を施すことにより、ビットプレーンを、ある並びに並べ替える。そして、復元部51は、その操作に対応する操作情報(ここでは、例えば、ビットプレーンの並べ替え方)を、操作情報用バッファ58に供給して記憶させる。
That is, when receiving the second embedded encoded data, the
その後、復元部51は、判定制御部56から、再度の復元処理の要求を表す再処理指示信号を受信すると、スイッチ59を介して、操作情報用バッファ58に記憶された操作情報を参照することで、それまでに第2の埋め込み符号化データに対して施したビットプレーンスワップ方式による操作を認識し、その認識した操作以外のビットプレーンスワップ方式による操作を、第2の埋め込み符号化データに施す。これにより、復元部51は、それまでに復元した仮の第1の埋め込み符号化データとは異なる仮の第1の埋め込み符号化データを、新たに復元する。
After that, when receiving a reprocessing instruction signal indicating a request for another restoration process from the determination control unit 56, the
復元部52は、復元部51から供給される仮の第1の埋め込み符号化データを、図38の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の原特徴データを復元する。さらに、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53および特徴抽出部54に供給するとともに、仮の原特徴データを、判定制御部56に供給する。
The restoration unit 52 operates the temporary first embedded encoded data supplied from the
埋め込み対象データ用バッファ53は、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データを、順次、上書きする形で記憶する。
The embedding
特徴抽出部54は、図32の特徴抽出部23と同様に構成され、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部56に供給する。
The
被埋め込みデータ用バッファ55は、復元部51から供給される被埋め込みデータを、順次上書きする形で記憶する。
The embedded
判定制御部56は、図34の判定制御部35と同様に、復元部52から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部51における復元処理その他を制御する。
Similar to the determination control unit 35 in FIG. 34, the determination control unit 56 determines the coincidence between the temporary original feature data supplied from the restoration unit 52 and the temporary restoration feature data supplied from the
即ち、判定制御部56は、仮の原特徴データと仮復元特徴データとの一致性に基づいて、復元部51、スイッチ57、およびスイッチ59乃至61を制御する。
That is, the determination control unit 56 controls the
スイッチ57は、判定制御部56の制御にしたがい、端子57Aまたは57Bを選択する。操作情報用バッファ58は、復元部51から供給される操作情報を、一時記憶する。
The
スイッチ59,60,61は、判定制御部56の制御にしたがい、オン/オフする。なお、スイッチ59がオン状態となることにより、復元部51が操作情報用バッファ58に記憶された操作情報を参照可能な状態となる。また、スイッチ60がオン状態となることにより、埋め込み対象データ用バッファ53に記憶された埋め込み対象データが出力可能な状態となる。さらに、スイッチ61がオン状態となることにより、被埋め込みデータ用バッファ55に記憶された被埋め込みデータが出力可能な状態となる。
The
ここで、スイッチ59乃至61は、判定制御部56によって特に制御されない限り、デフォルトで、オフ状態となるようになっている。
Here, the
次に、図41のフローチャートを参照して、図40の復元器6による復元処理について説明する。
Next, with reference to the flowchart of FIG. 41, the restoring process by the restoring
まず最初に、ステップS191において、第2の埋め込み符号化データとしての1フレームの画像データが、復元部51に供給され、復元部51は、その第2の埋め込み符号化データを受信する。さらに、ステップS191では、埋め込み対象データ用バッファ53、被埋め込みデータ用バッファ55、および操作情報用バッファ58が、その記憶内容をクリアし、ステップS192に進む。
First, in step S191, one frame of image data as the second embedded encoded data is supplied to the
ステップS192では、復元部51は、そこに供給される第2の埋め込み符号化データを、図38の埋め込み器43における場合と同様のビットプレーンスワップ方式により操作し、これにより、各画像ブロックのビットプレーンをある並びに並べ替えた画像データである仮の第1の埋め込み符号化データと、仮の被埋め込みデータを復元する。そして、復元部51は、仮の第1の埋め込み符号化データを、復元部52に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ55に供給し、上書きする形で記憶させる。さらに、ステップS192では、復元部51は、第2の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方を表す操作情報を生成し、その操作情報を、操作情報用バッファ58に供給して記憶させ、ステップS193に進む。
In step S192, the
ステップS193では、復元部52は、復元部51から供給される仮の第1の埋め込み符号化データを、図38の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、水平ラインおよび垂直ラインを、その相関が最も高くなる位置にローテーションした仮の埋め込み対象データと、仮の原特徴データを復元する。そして、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53に供給し、上書きする形で記憶させる。さらに、復元部52は、仮の埋め込み対象データを、特徴抽出部54に供給するとともに、仮の原特徴データを、判定制御部56に供給し、ステップS194に進む。
In step S193, the restoration unit 52 operates the temporary first embedded encoded data supplied from the
ステップS194では、特徴抽出部54は、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部56に供給して、ステップS195に進む。
In step S194, the
ステップS195では、判定制御部56は、復元部52から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データとを比較し、ステップS196に進む。ステップS196では、判定制御部56は、ステップS195における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
In step S195, the determination control unit 56 compares the temporary original feature data supplied from the restoration unit 52 with the temporary restoration feature data supplied from the
ステップS196において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップS197に進み、判定制御部56は、復元部51と、スイッチ57およびスイッチ59乃至61を制御する。
If it is determined in step S196 that the temporary original feature data and the temporary restoration feature data do not match, the process proceeds to step S197, and the determination control unit 56 sets the
即ち、判定制御部56は、スイッチ57に端子57Aを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部56が出力する再処理指示信号は、スイッチ57および端子57Aを介して、復元部51およびスイッチ59に供給される。
That is, the determination control unit 56 causes the
スイッチ59は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、復元部51は、スイッチ59を介して、操作情報用バッファ58の参照が可能な状態となる。
When the
また、復元部51は、再処理指示信号を受信すると、スイッチ59を介して、操作情報用バッファ58に記憶された操作情報を参照し、第2の埋め込み符号化データに対して、まだ行っていないビットプレーンスワップの仕方を認識する。そして、復元部51は、その認識したビットプレーンスワップの仕方のうちのいずれか1つを選択し、ステップS192に戻る。
Further, when receiving the reprocessing instruction signal, the
ステップS192では、復元部51は、ステップS197で選択したビットプレーンスワップの仕方にしたがい、第2の埋め込み符号化データを操作し、これにより、その第2の埋め込み符号化データについては、それまでとは別の仮の第1の埋め込み符号化データと、仮の被埋め込みデータが、新たに復元される。そして、ステップS193に進み、復元部52において、復元部51で復元された新たな仮の第1の埋め込み符号化データが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データと、仮の原特徴データが、新たに復元され、以下、同様の処理が繰り返される。
In step S192, the
一方、ステップS196において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップS198に進み、判定制御部56は、スイッチ57,60、および61を制御する。
On the other hand, if it is determined in step S196 that the temporary original feature data and the temporary restoration feature data match, that is, the temporary embedding target data has been accurately restored to the original embedding target data. If the original original feature data is also accurately restored to the original feature data obtained from the original embedding target data, and if the temporary original feature data matches the temporary restored feature data, the process proceeds to step S198, and the judgment control is performed. The unit 56 controls the
即ち、判定制御部56は、スイッチ57に端子57Bを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部56が出力する出力指示信号は、スイッチ57および端子57Bを介して、スイッチ60および61に供給される。
That is, the determination control unit 56 causes the
スイッチ60および61は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップS199に進み、埋め込み対象データ用バッファ53の記憶内容が、スイッチ60を介して読み出されるとともに、被埋め込み対象データ用バッファ55の記憶内容が、スイッチ61を介して読み出され、処理を終了する。
When receiving the output instruction signal, the
即ち、埋め込み対象データ用バッファ53では、復元部52が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ55でも、復元部51が新たな仮の被埋め込みデータを出力するたびに、その新たな仮の被埋め込みデータが、上書きする形で記憶される。
That is, in the embedding
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部52が出力する仮の埋め込み対象データが、元の埋め込み対象データとして正確に復元されており、さらに、復元部51が出力する仮の被埋め込みデータも、元の被埋め込みデータとして正確に復元されている。
On the other hand, when the temporary original feature data and the temporary restoration feature data match, as described above, the temporary embedding target data output from the restoration unit 52 is accurately restored as the original embedding target data. In addition, the temporary embedded data output from the
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ53には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ55にも、正確に復元された被埋め込みデータが記憶されている。その結果、ステップS199では、埋め込み対象データ用バッファ53から、スイッチ60を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ55から、スイッチ61を介して、正確に復元された被埋め込みデータが読み出されることになる。
Accordingly, when the temporary original feature data and the temporary restoration feature data match, the embedding
なお、図41の処理は、第2の埋め込み符号化データが新たに供給されるごとに繰り返し行われる。 Note that the processing in FIG. 41 is repeatedly performed each time the second embedded encoded data is newly supplied.
次に、上述の場合には、図37Aで説明したように、埋め込み対象データとしての画像データに対する最初の埋め込み処理において、その画像データから抽出した特徴データのみを埋め込むようにしたが、この最初の埋め込み処理では、特徴データの他、任意のデータとしての被埋め込みデータも埋め込むことが可能である。 Next, in the above-described case, as described with reference to FIG. 37A, only the feature data extracted from the image data is embedded in the initial embedding process for the image data as the embedding target data. In the embedding process, it is possible to embed embedded data as arbitrary data in addition to feature data.
即ち、例えば、いま、最初の埋め込み処理で埋め込まれる被埋め込みデータを、第1の埋め込みデータというとともに、2回目の埋め込み処理で埋め込まれる被埋め込みデータを、第2の埋め込みデータというものとすると、埋め込み符号化器3では、例えば、図42Aに示すように、埋め込み対象データとしての画像データから特徴データが抽出され、第1の被埋め込みデータが、所定の操作ルールにしたがい、特徴データに対応して操作されることにより、第1の被埋め込みデータに、特徴データが埋め込まれる。
That is, for example, if the embedded data to be embedded in the first embedding process is referred to as first embedded data and the embedded data to be embedded in the second embedding process is referred to as second embedded data, In the
具体的には、例えば、第1の被埋め込みデータが画像データであるとすると、埋め込み符号化器3は、その第1の被埋め込みデータとしての画像データを、例えば、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理を行う。これにより、第1の被埋め込みデータとしての画像データに、特徴データが埋め込まれ、埋め込み符号化データが生成される。ここで、第1の被埋め込みデータに対して、特徴データを埋め込むことにより得られる埋め込み符号化データを、以下、適宜、特徴埋め込みデータという。
Specifically, for example, if the first embedded data is image data, the embedded
その後、埋め込み符号化器3は、埋め込み対象データとしての画像データを、例えば、ラインローテーション方式により、特徴埋め込みデータに対応して操作する埋め込み処理(埋め込み対象データに対する最初の埋め込み処理)を行う。これにより、埋め込み対象データとしての画像データに、特徴埋め込みデータが埋め込まれ、第1の埋め込み符号化データが生成される。
Thereafter, the embedding
そして、埋め込み符号化器3では、図37Aで説明したように、第1の埋め込み符号化データとしての画像データを、最初の埋め込み処理におけるラインローテーション方式による操作と重複しない操作を行う、例えば、ビットプレーンスワップ方式により、第2の被埋め込みデータに対応して操作する埋め込み処理(埋め込み対象データに対する2回目の埋め込み処理)が行われる。これにより、第1の埋め込み符号化データ(特徴埋め込みデータが埋め込まれた埋め込み対象データ)としての画像データに、第2の被埋め込みデータが埋め込まれ、第2の埋め込み符号化データが生成される。
In the embedded
なお、ここでは、第1の被埋め込みデータに対する特徴データの埋め込みと、埋め込み対象データに対する特徴埋め込みデータの埋め込みを、いずれも、ラインローテーション方式により行うこととしたが、第1の被埋め込みデータに対する特徴データの埋め込みと、埋め込み対象データに対する特徴埋め込みデータの埋め込みについては、ラインローテーション方式以外の方式(例えば、上述の画素スワップ方式など)を採用することが可能である。また、第1の被埋め込みデータに対する特徴データの埋め込みの方式と、埋め込み対象データに対する特徴埋め込みデータの埋め込みの方式とは、同一の方式である必要はなく、異なる方式(例えば、画素スワップ方式とラインローテーション方式など)を採用することが可能である。 Here, both the embedding of the feature data into the first embedded data and the embedding of the feature embedded data into the embedding target data are performed by the line rotation method. However, the feature for the first embedded data is A method other than the line rotation method (for example, the above-described pixel swap method) can be employed for embedding data and embedding feature embedding data in data to be embedded. Also, the feature data embedding method for the first embedded data and the feature embedding data embedding method for the embedding target data need not be the same method, but different methods (for example, a pixel swap method and a line). It is possible to employ a rotation method.
一方、復元器6では、図42Bに示すように、第2の埋め込み符号化データに対して、図37Bで説明した場合と同様に、埋め込み符号化器3における2回目の埋め込み処理と同一のビットプレーンスワップ方式による復元処理としての操作が施され、これにより、仮の第1の埋め込み符号化データと、仮の第2の被埋め込みデータが復元される。
On the other hand, in the
さらに、復元器6は、仮の第1の埋め込み符号化データに対して、埋め込み符号化器3における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。
Further, the
その後、復元器6は、仮の特徴埋め込みデータに対して、埋め込み符号化器3が第1の被埋め込みデータとしての画像データに特徴データを埋め込んだのと同一の方式(ここでは、上述したように、ラインローテーション方式)による復元処理としての操作を施し、これにより、仮の第1の被埋め込みデータと、仮の原特徴データを復元する。
Thereafter, the
そして、復元器6は、仮の埋め込み対象データから、特徴データ(仮復元特徴データ)を抽出し、仮の原特徴データと比較することで、仮の原特徴データと仮復元特徴データとの一致性を判定する。
Then, the
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器6は、仮の第1の埋め込み符号化データが、正確に、元の第1の埋め込み符号化データに復元されていないとして、第2の埋め込み符号化データに対して、ビットプレーンスワップ方式による復元処理としての他の操作を施し、これにより、新たに、仮の第1の埋め込み符号化データと、仮の第2の被埋め込みデータを復元する。
When the temporary original feature data and the temporary restored feature data do not match, the
さらに、復元器6は、新たな仮の第1の埋め込み符号化データに対して、埋め込み符号化器3における最初の埋め込み処理と同一のラインローテーション方式による復元処理としての操作を施し、これにより、新たに、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。また、復元器6は、続けて、仮の特徴埋め込みデータに対して、ラインローテーション方式による復元処理としての操作を施し、これにより、新たに、仮の第1の被埋め込みデータと、仮の原特徴データを復元する。
Furthermore, the
そして、復元器6は、新たな仮の埋め込み対象データから、特徴データ(仮復元特徴データ)を抽出し、新たな仮の原特徴データと比較することで、その仮の原特徴データと仮復元特徴データとの一致性を判定する。
Then, the
仮の原特徴データと仮復元特徴データとが一致していない場合、復元器6は、上述の場合と同様の処理を繰り返す。
If the provisional original feature data and the provisional restoration feature data do not match, the
一方、仮の原特徴データと仮復元特徴データとが一致している場合、復元器6は、そのときに得られている仮の埋め込み対象データと、仮の第1および第2の被埋め込みデータを、正確な復元結果とし、処理を終了する。
On the other hand, when the temporary original feature data and the temporary restoration feature data match, the
次に、図43は、図42Aで説明した埋め込み処理を行う図2の埋め込み符号化器3の構成例を示している。なお、図中、図38における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図43の埋め込み符号化器3は、埋め込み器44が新たに設けられている他は、基本的に、図38における場合と同様に構成されている。
Next, FIG. 43 shows a configuration example of the embedded
図43の実施の形態においては、埋め込み対象データは、特徴抽出部41と埋め込み器42に供給されるようになっている。また、第1の被埋め込みデータは、埋め込み器44に、第2の被埋め込みデータは、埋め込み器43に供給されるようになっている。
In the embodiment of FIG. 43, the embedding target data is supplied to the feature extraction unit 41 and the
そして、特徴抽出部41が出力する特徴データは、埋め込み器44に供給されるようになっており、埋め込み器44は、第1の被埋め込みデータ(ここでは、上述したように、画像データ)を、ラインローテーション方式により、特徴データに対応して操作する埋め込み処理を行い、これにより、第1の被埋め込みデータに対して特徴データを埋め込んだ特徴埋め込みデータを生成し、埋め込み器42に供給する。
The feature data output from the feature extraction unit 41 is supplied to the
次に、図44のフローチャートを参照して、図43の埋め込み符号化器3による埋め込み処理について説明する。
Next, the embedding process by the embedded
まず最初に、ステップS201において、埋め込み対象データベース1(図2)に記憶された埋め込み対象データとしての1フレームの画像データが、特徴抽出部41と埋め込み器42に供給される。さらに、ステップS201では、被埋め込みデータベース2(図2)に記憶された被埋め込みデータのうちのあるものが、第1の被埋め込みデータとして、埋め込み器44に供給されるとともに、他の被埋め込みデータが、第2の被埋め込みデータとして、埋め込み器43に供給され、ステップS202に進む。
First, in step S201, one frame of image data as the embedding target data stored in the embedding target database 1 (FIG. 2) is supplied to the feature extraction unit 41 and the
ステップS202では、特徴抽出部41が、そこに供給される埋め込み対象データとしての1フレームの画像データから、特徴データを抽出し、埋め込み器44に供給して、ステップS203に進む。
In step S202, the feature extraction unit 41 extracts feature data from one frame of image data as embedding target data supplied thereto, supplies the feature data to the
ステップS203では、埋め込み器44が、被埋め込みデータベース2(図2)から供給される第1の被埋め込みデータを、特徴抽出部41から供給される特徴データに対応して、ラインローテーション方式により操作する。これにより、埋め込み器44は、第1の被埋め込みデータに対して特徴データを埋め込んだ特徴埋め込みデータを生成し、埋め込み器42に供給して、ステップS204に進む。
In step S <b> 203, the
ステップS204では、埋め込み器42が、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての1フレームの画像データを、埋め込み器44から供給される特徴埋め込みデータに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに特徴埋め込みデータを埋め込む。この埋め込みによって得られる第1の埋め込み符号化データは、埋め込み器42から43に供給され、ステップS205に進む。
In step S <b> 204, the
ステップS205では、埋め込み器43が、埋め込み器42から供給される第1の埋め込み符号化データとしての1フレームの画像データを、被埋め込みデータベース2から供給される第2の被埋め込みデータに対応して、ビットプレーンスワップ方式により操作し、これにより、第1の埋め込み符号化データとして画像データに第2の被埋め込みデータを埋め込む。埋め込み器43は、ステップS206において、この埋め込みによって得られる第2の埋め込み符号化データを、最終的な埋め込みデータとして出力し、処理を終了する。
In step S205, the
なお、図44の処理は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
Note that the processing in FIG. 44 is repeated for each frame of image data as embedding target data stored in the embedding
次に、図45は、図42Bで説明した復元処理を行う図2の復元器6の構成例を示している。なお、図中、図40における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図45の復元器6は、スイッチ62、被埋め込みデータバッファ63、および復元部64が新たに設けられている他は、基本的に、図40における場合と同様に構成されている。
Next, FIG. 45 shows a configuration example of the
図45の実施の形態では、復元部51は、そこに供給される第2の埋め込み符号化データを、図43の埋め込み器43における場合と同様のビットプレーンスワップ方式により操作し、これにより、仮の第1の埋め込み符号化データと、仮の第2の被埋め込みデータを復元する。さらに、復元部51は、仮の第1の埋め込み符号化データを、復元部52に供給するとともに、仮の第2の被埋め込みデータを、被埋め込みデータ用バッファ55に供給する。
In the embodiment of FIG. 45, the
復元部52は、復元部51から供給される仮の第1の埋め込み符号化データを、図43の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。さらに、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53および特徴抽出部54に供給するとともに、仮の特徴埋め込みデータを、復元部64に供給する。
The restoration unit 52 operates the provisional first embedded encoded data supplied from the
被埋め込みデータ用バッファ55は、復元部51から供給される第1の被埋め込みデータを上書きする形で記憶する。
The embedded
判定制御部56は、復元部64から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データの一致性を判定し、その判定結果に基づいて、復元部51における復元処理その他を制御する。
The determination control unit 56 determines the coincidence between the temporary original feature data supplied from the restoration unit 64 and the temporary restoration feature data supplied from the
即ち、判定制御部56は、仮の原特徴データと仮復元特徴データとの一致性に基づいて、復元部51、スイッチ57、およびスイッチ59乃至62を制御する。
That is, the determination control unit 56 controls the
スイッチ62は、判定制御部56の制御にしたがってオン/オフする。なお、スイッチ62がオン状態となることにより、被埋め込みデータ用バッファ63に記憶された被埋め込みデータが出力可能な状態となる。また、スイッチ62は、図40で説明したスイッチ59乃至61と同様に、判定制御部56によって特に制御されない限り、デフォルトで、オフ状態となるようになっている。
The
被埋め込みデータ用バッファ63は、復元部64が出力する仮の第1の被埋め込みデータを、上書きする形で記憶する。
The embedded
復元部64は、復元部52から供給される特徴埋め込みデータを、図43の埋め込み器44における場合と同様のラインローテーション方式により操作し、これにより、仮の第1の被埋め込みデータと、仮の原特徴データを復元する。さらに、復元部64は、仮の第1の被埋め込みデータを、被埋め込みデータ用バッファ63に供給するとともに、仮の原特徴データを、判定制御部56に供給する。
The restoration unit 64 operates the feature embedding data supplied from the restoration unit 52 by the same line rotation method as that in the
次に、図46のフローチャートを参照して、図45の復元器6による復元処理について説明する。
Next, with reference to the flowchart of FIG. 46, the restoring process by the restoring
まず最初に、ステップS211において、第2の埋め込み符号化データとしての1フレームの画像データが、復元部51に供給され、復元部51は、その第2の埋め込み符号化データを受信する。さらに、ステップS211では、埋め込み対象データ用バッファ53、被埋め込みデータ用バッファ55、操作情報用バッファ58、および被埋め込みデータ用バッファ63が、その記憶内容をクリアし、ステップS212に進む。
First, in step S211, one frame of image data as the second embedded encoded data is supplied to the
ステップS212では、復元部51は、そこに供給される第2の埋め込み符号化データを、ビットプレーンスワップ方式により操作し、これにより、仮の第1の埋め込み符号化データと、仮の第1の被埋め込みデータを復元する。そして、復元部51は、仮の第1の埋め込み符号化データを、復元部52に供給するとともに、仮の第1の被埋め込みデータを、被埋め込みデータ用バッファ55に供給し、上書きする形で記憶させる。さらに、ステップS212では、復元部51は、第2の埋め込み符号化データを、ビットプレーンスワップ方式により操作したときの、その操作の仕方を表す操作情報を生成し、その操作情報を、操作情報用バッファ58に供給して記憶させ、ステップS213に進む。
In step S212, the
ステップS213では、復元部52は、復元部51から供給される仮の第1の埋め込み符号化データを、ラインローテーション方式により操作し、これにより、仮の埋め込み対象データと、仮の特徴埋め込みデータを復元する。そして、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53に供給し、上書きする形で記憶させる。さらに、復元部52は、仮の埋め込み対象データを、特徴抽出部54に供給するとともに、仮の特徴埋め込みデータを、復元部64に供給し、ステップS214に進む。
In step S213, the restoration unit 52 operates the provisional first embedded encoded data supplied from the
ステップS214では、復元部64が、復元部52から供給される仮の特徴埋め込みデータを、ラインローテーション方式により操作し、これにより、仮の第1の被埋め込みデータと、仮の原特徴データを復元する。そして、復元部64は、仮の第1の被埋め込みデータを、被埋め込みデータ用バッファ63に供給し、上書きする形で記憶させる。さらに、復元部64は、仮の原特徴データを、判定制御部56に供給する。
In step S214, the restoration unit 64 operates the temporary feature embedding data supplied from the restoration unit 52 by the line rotation method, thereby restoring the temporary first embedded data and the temporary original feature data. To do. Then, the restoration unit 64 supplies the temporary first embedded data to the embedded
ステップS214では、復元部64で上述の処理が行われるのと並行して、特徴抽出部54が、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部56に供給して、ステップS215に進む。
In step S214, the
ステップS215では、判定制御部56は、復元部64から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データとを比較し、ステップS216に進む。ステップS216では、判定制御部56は、ステップS215における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
In step S215, the determination control unit 56 compares the temporary original feature data supplied from the restoration unit 64 with the temporary restoration feature data supplied from the
ステップS216において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップS217に進み、判定制御部56は、復元部51と、スイッチ57およびスイッチ59乃至62を制御する。
If it is determined in step S216 that the temporary original feature data and the temporary restoration feature data do not match, the process proceeds to step S217, and the determination control unit 56 sets the
即ち、判定制御部56は、スイッチ57に端子57Aを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部56が出力する再処理指示信号は、スイッチ57および端子57Aを介して、復元部51およびスイッチ59に供給される。
That is, the determination control unit 56 causes the
スイッチ59は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、復元部51は、スイッチ59を介して、操作情報用バッファ58の参照が可能な状態となる。
When the
また、復元部51は、再処理指示信号を受信すると、スイッチ59を介して、操作情報用バッファ58に記憶された操作情報を参照し、第2の埋め込み符号化データに対して、まだ行っていないビットプレーンスワップの仕方を認識する。そして、復元部51は、その認識したビットプレーンスワップの仕方のうちのいずれか1つを選択し、ステップS212に戻る。
Further, when receiving the reprocessing instruction signal, the
ステップS212では、復元部51は、ステップS217で選択したビットプレーンスワップの仕方にしたがい、第2の埋め込み符号化データを操作し、これにより、その第2の埋め込み符号化データについては、それまでとは別の仮の第1の埋め込み符号化データと、仮の第1の被埋め込みデータが、新たに復元される。そして、ステップS213に進み、復元部52では、復元部51で復元された新たな仮の第1の埋め込み符号化データが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データと、仮の特徴埋め込みデータが、新たに復元され、ステップS214に進む。
In step S212, the
ステップS214では、復元部64が、復元部52から供給される新たな仮の特徴埋め込みデータを、ラインローテーション方式により操作し、これにより、新たな仮の第1の被埋め込みデータと、仮の原特徴データを復元する。さらに、ステップS214では、特徴抽出部54が、復元部52から供給される新たな仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、以下、同様の処理が繰り返される。
In step S214, the restoration unit 64 operates the new temporary feature embedding data supplied from the restoration unit 52 by the line rotation method, whereby the new temporary first embedded data and the temporary original data Restore feature data. Further, in step S214, the
一方、ステップS216において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップS218に進み、判定制御部56は、スイッチ57,60,61、および62を制御する。
On the other hand, if it is determined in step S216 that the temporary original feature data and the temporary restoration feature data match, that is, the temporary embedding target data has been accurately restored to the original embedding target data. If the original original feature data is also restored to the original feature data obtained from the original embedding target data, and the temporary original feature data matches the temporary restored feature data, the process proceeds to step S218, and the determination control is performed. The unit 56 controls the
即ち、判定制御部56は、スイッチ57に端子57Bを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部56が出力する出力指示信号は、スイッチ57および端子57Bを介して、スイッチ60乃至62に供給される。
That is, the determination control unit 56 causes the
スイッチ60乃至62は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップS219に進み、埋め込み対象データ用バッファ53の記憶内容が、スイッチ60を介して、被埋め込み対象データ用バッファ55の記憶内容が、スイッチ61を介して、被埋め込み対象データ用バッファ63の記憶内容が、スイッチ62を介して、それぞれ読み出され、処理を終了する。
Upon receiving the output instruction signal, the
即ち、埋め込み対象データ用バッファ53では、復元部52が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ55でも、復元部51が新たな仮の第2の被埋め込みデータを出力するたびに、その新たな仮の第2の被埋め込みデータが、上書きする形で記憶される。さらに、図45の実施の形態では、被埋め込みデータ用バッファ63において、復元部64が新たな仮の第1の被埋め込みデータを出力するたびに、その新たな仮の第1の被埋め込みデータが、上書きする形で記憶される。
That is, in the embedding
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部52が出力する仮の埋め込み対象データが、元の埋め込み対象データとして正確に復元されており、さらに、復元部51が出力する仮の第2の被埋め込みデータも、復元部64が出力する仮の第1の被埋め込みデータも、元の被埋め込みデータとして正確に復元されている。
On the other hand, when the temporary original feature data and the temporary restoration feature data match, as described above, the temporary embedding target data output from the restoration unit 52 is accurately restored as the original embedding target data. Furthermore, both the provisional second embedded data output from the
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ53には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ55と63にも、正確に復元された第2の被埋め込みデータと第1の被埋め込みデータがそれぞれ記憶されている。その結果、ステップS219では、埋め込み対象データ用バッファ53から、スイッチ60を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ55と63から、スイッチ61と62を介して、正確に復元された第2と第1の被埋め込みデータがそれぞれ読み出されることになる。
Therefore, when the temporary original feature data and the temporary restored feature data match, the embedding
以上のように、埋め込み対象データに対して被埋め込みデータを埋め込むとともに、その埋め込み対象データの特徴データを統合するようにしたので、その統合された特徴データ(原特徴データ)と、復元された埋め込み対象データから得られる特徴データ(仮復元特徴データ)との一致性に基づき、埋め込み対象データが、正確に元に復元されているかどうかを認識することができる。そして、その結果、埋め込み対象データに対して、第1の被埋め込みデータを埋め込み、さらに、第2に被埋め込みデータを埋め込んだ場合であっても、埋め込み対象データ、並びに第1および第2の被埋め込みデータを、元に復元することができる。即ち、多くのデータの埋め込みと、その復元が可能となる。 As described above, since the embedded data is embedded in the embedding target data and the feature data of the embedding target data is integrated, the integrated feature data (original feature data) and the restored embedding Based on the coincidence with the feature data (temporary restoration feature data) obtained from the target data, it is possible to recognize whether the embedding target data has been accurately restored to the original. As a result, even if the first embedded data is embedded in the embedding target data, and the second embedded data is embedded in the second target data, the embedding target data and the first and second target data are embedded. The embedded data can be restored to the original. That is, a lot of data can be embedded and restored.
なお、図43の埋め込み符号化器3では、埋め込み部42や43において、固定の方式による埋め込み処理を行うようにしたが、埋め込み部42や43では、あらかじめ決定された幾つかの方式(例えば、上述した、画素スワップ方式、ラインローテーション方式、およびビットプレーンスワップ方式など)の中から任意の方式を選択し、その選択した方式による埋め込み処理を行うようにすることが可能である。
In the embedded
この場合、図45の復元器6では、判定制御部56において、特徴データの一致性がない場合に、上述のあらかじめ決定された幾つかの方式を、順次選択し、その選択した方式による復元処理を採用するように、復元部51や52を制御するようにすることで、埋め込み対象データと被埋め込みデータの復元が可能となる。
In this case, in the
次に、図37の実施の形態では、最初の埋め込み処理において、特徴データを、ラインローテーション方式により埋め込み、2回目の埋め込み処理において、被埋め込みデータを、ラインローテーション方式とは異なるビットプレーンスワップ方式により埋め込むようにしたが、特徴データと、被埋め込みデータとは、同一の方式による埋め込み処理で埋め込むことが可能である。 Next, in the embodiment shown in FIG. 37, the feature data is embedded by the line rotation method in the first embedding process, and the embedded data is converted by the bit plane swap method different from the line rotation method in the second embedding process. Although embedding is performed, the feature data and the data to be embedded can be embedded by embedding processing using the same method.
即ち、この場合、埋め込み符号化器3では、図47Aに示すように、埋め込み対象データとしての画像データが、例えば、ラインローテーション方式により、特徴データと被埋め込みデータに対応して操作され、埋め込み符号化データとされる。具体的には、埋め込み符号化器3は、埋め込み対象データとしての画像データの水平ラインを、特徴データに対応してローテーションし、さらに、その垂直ラインを、被埋め込みデータに対応してローテーションすることにより、埋め込み対象データに、特徴データおよび被埋め込みデータを埋め込んだ埋め込み符号化データを生成する。
That is, in this case, as shown in FIG. 47A, the embedded
一方、この場合、復元器6では、図47Bに示すように、埋め込み符号化データとしての画像データの水平ラインと垂直ラインが、図31Bで説明したようにローテーションされることにより元の位置に戻され、これにより、埋め込み対象データ、原特徴データ、および被埋め込みデータが復元される。
On the other hand, in this case, in the
さらに、復元器6は、復元した埋め込み対象データから、特徴データを抽出する。そして、復元器6は、その抽出した特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに復元する復元処理を制御する。
Furthermore, the
ところで、図47の実施の形態では、特徴データと被埋め込みデータが、ラインローテーション方式により、埋め込み対象データに埋め込まれるから、図31で説明したように、その埋め込みによって得られる埋め込み符号化データは、原理的には、埋め込み対象データとしての画像データの相関性を利用することで、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元される。従って、基本的には、特徴データの一致性の判定結果に基づいて、復元処理を制御する必要はない。 In the embodiment of FIG. 47, the feature data and the embedded data are embedded in the data to be embedded by the line rotation method, and as described with reference to FIG. 31, the embedded encoded data obtained by the embedding is In principle, by using the correlation of the image data as the embedding target data, it is accurately restored to the embedding target data, the original feature data, and the embedded data. Therefore, basically, it is not necessary to control the restoration process based on the determination result of the matching of the feature data.
しかしながら、埋め込み符号化器3において得られた埋め込み符号化データに、何らかのエラー(外乱)が生じた場合には、復元器6において復元対象となる埋め込み符号化データは、埋め込み符号化器3で生成された埋め込み符号化データとは異なるものとなっていることがあり、そのような埋め込み符号化データは、埋め込み対象データとしての画像データの相関性を利用することだけでは、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元することが困難なことがある。
However, if any error (disturbance) occurs in the embedded encoded data obtained by the embedded
そこで、図47Bの実施の形態では、上述したように、復元器6が、復元した埋め込み対象データから抽出された特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに復元する復元処理を制御し、これにより、埋め込み符号化データにエラーが生じている場合であっても、そのような埋め込み符号化データを、埋め込み対象データ、原特徴データ、および被埋め込みデータに、正確に復元することができるようになっている。
Therefore, in the embodiment of FIG. 47B, as described above, the
即ち、図48は、図47Aで説明した埋め込み処理を行う図2の埋め込み符号化器3の構成例を示している。なお、図中、図38における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図48の埋め込み符号化器3は、埋め込み器43が設けられていない他は、図38における場合と、基本的に同様に構成されている。
That is, FIG. 48 shows a configuration example of the embedded
図48の実施の形態では、被埋め込みデータベース(図2)から供給される被埋め込みデータが、特徴抽出部41が出力する特徴データとともに、埋め込み器42に供給されるようになっている。そして、埋め込み器42は、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての画像データの水平ラインを、特徴データに対応してローテーションし、さらに、その垂直ラインを、被埋め込みデータに対応してローテーションすることにより、埋め込み対象データに、特徴データおよび被埋め込みデータを埋め込んだ埋め込み符号化データを生成して出力する。
In the embodiment of FIG. 48, the embedded data supplied from the embedded database (FIG. 2) is supplied to the
次に、図49のフローチャートを参照して、図48の埋め込み符号化器3による埋め込み処理について説明する。
Next, the embedding process by the embedded
まず最初に、ステップS221において、埋め込み対象データベース1(図2)に記憶された埋め込み対象データとしての1フレームの画像データが、特徴抽出部41と埋め込み器42に供給されるとともに、被埋め込みデータベース2(図2)に記憶された被埋め込みデータが、埋め込み器42に供給され、ステップS222に進む。
First, in step S221, one frame of image data as embedding target data stored in the embedding target database 1 (FIG. 2) is supplied to the feature extraction unit 41 and the
ステップS222では、特徴抽出部41が、そこに供給される埋め込み対象データとしての1フレームの画像データから、特徴データを抽出し、埋め込み器42に供給して、ステップS223に進む。
In step S222, the feature extraction unit 41 extracts feature data from one frame of image data as embedding target data supplied thereto, supplies the feature data to the
ステップS223では、埋め込み器42が、埋め込み対象データベース1(図2)から供給される埋め込み対象データとしての1フレームの画像データを、特徴抽出部41から供給される特徴データと、被埋め込みデータベース2(図2)から供給される被埋め込みデータに対応して、ラインローテーション方式により操作し、これにより、埋め込み対象データとしての画像データに、特徴データと被埋め込みデータを埋め込み、ステップS224に進む。ステップS224では、埋め込み器42が、埋め込み符号化データを出力し、処理を終了する。
In step S223, the
なお、図49の処理は、埋め込み対象データベース1に記憶された埋め込み対象データとしての画像データの各フレームについて、繰り返し行われる。
Note that the processing in FIG. 49 is repeatedly performed for each frame of image data as embedding target data stored in the embedding
次に、図50は、図47Bで説明した復元処理を行う図2の復元器6の構成例を示している。なお、図中、図40における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図50の復元器6は、復元部51または操作情報用バッファ58それぞれに代えて、値変更部71または変更情報用バッファ72が設けられている他は、図40における場合と、基本的に同様に構成されている。
Next, FIG. 50 shows a configuration example of the
図48の埋め込み符号化器3で得られる埋め込み符号化データとしての画像データは、値変更部71に供給される。
The image data as embedded encoded data obtained by the embedded
値変更部71は、そこに供給される埋め込み符号化データとしての画像データを構成する各画素の画素値を操作することにより、微小値だけ変更し、その画素値の変更された埋め込み符号化データ(以下、適宜、変更埋め込みデータという)を、復元部52に供給する。ここで、値変更部71が画素値を、どの程度の微小値だけ変更するかは、例えば、埋め込み符号化器3から復元器6間での間において、埋め込み符号化データに重畳され得るノイズの最大レベルに基づいて決定される。
The
また、値変更部71は、埋め込み符号化データとしての画像データを構成する各画素の画素値を、どのように変更したのかを表す情報(以下、適宜、変更情報という)を生成し、その変更情報を、変更情報用バッファ72に供給する。
Further, the
なお、値変更部71は、埋め込み符号化データとしての画像データを構成する各画素の画素値の変更を、判定制御部56の制御にしたがい、変更情報用バッファ72に記憶された変更情報を、スイッチ59を介して参照しながら行う。
The
即ち、値変更部71は、ある埋め込み符号化データを受信した場合、最初は、例えば、その埋め込み符号化データとしての画像データの画素値を変更せずに(画素値に0を加算して)、そのまま、変更埋め込みデータとして出力する。そして、値変更部71は、その埋め込み符号化データとしての画像データの画素値の変更に対応する変更情報を生成し、変更情報用バッファ72に供給して記憶させる。なお、いまの場合は、埋め込み符号化データとしての画像データを構成する各画素について、画素値の変更が0である(画素値の変更が無い)旨の変更情報が生成される。
That is, when the
その後、値変更部71は、判定制御部56から、再度の復元処理の要求を表す再処理指示信号を受信すると、スイッチ59を介して、変更情報用バッファ72に記憶された変更情報を参照することで、それまでに埋め込み符号化データに対して施した画素値の変更を認識し、その認識した変更以外の変更を、埋め込み符号化データに施す。これにより、値変更部71は、それまでに得られていないパターンの画素値で構成される変更埋め込みデータとしての画像データを求める。
After that, when the
復元部52は、値変更部71から供給される変更埋め込みデータとしての画像データを、図48の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータを復元する。
The restoration unit 52 operates the image data as the change embedded data supplied from the
即ち、復元部52は、変更埋め込みデータとしての画像データの水平ラインを、埋め込み対象データとしての画像データの相関性を利用して、その相関が最大になる位置にローテーションするとともに、その垂直ラインを、やはり、埋め込み対象データとしての画像データの相関性を利用して、その相関が最大になる位置にローテーションすることで、仮の埋め込み対象データを復元する。さらに、復元部52は、変更埋め込みデータとしての画像データの水平ラインのローテーションの仕方に基づいて、仮の原特徴データを復元するとともに、その垂直ラインのローテーションの仕方に基づいて、仮の被埋め込みデータを復元する。 That is, the restoration unit 52 rotates the horizontal line of the image data as the change embedding data to a position where the correlation becomes maximum using the correlation of the image data as the embedding target data, and the vertical line After all, by using the correlation of the image data as the embedding target data, the temporary embedding target data is restored by rotating to the position where the correlation becomes maximum. Further, the restoration unit 52 restores the temporary original feature data based on the horizontal line rotation method of the image data as the change embedded data, and the temporary embedding target based on the vertical line rotation method. Restore data.
そして、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53および特徴抽出部54に供給するとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ55に供給する。さらに、復元部52は、仮の原特徴データを、判定制御部56に供給する。
The restoration unit 52 supplies the temporary embedding target data to the embedding
変更情報用バッファ72は、値変更部71から供給される変更情報を一時記憶する。
The change information buffer 72 temporarily stores change information supplied from the
次に、図51のフローチャートを参照して、図50の復元器6による復元処理について説明する。
Next, with reference to the flowchart of FIG. 51, the restoration process by the
まず最初に、ステップS231において、埋め込み符号化データとしての1フレームの画像データが、値変更部71に供給され、値変更部71は、その埋め込み符号化データを受信する。さらに、ステップS231では、埋め込み対象データ用バッファ53、被埋め込みデータ用バッファ55、および変更情報用バッファ72が、その記憶内容をクリアし、ステップS232に進む。
First, in step S231, one frame of image data as embedded encoded data is supplied to the
ステップS232では、値変更部71は、そこに供給される埋め込み符号化データとしての画像データを構成する画素の画素値を、微小値だけ変更し、これにより、変更埋め込みデータを得て、復元部52に供給する。さらに、ステップS232では、値変更部71は、埋め込み符号化データとしての画像データの画素値をどのように変更したかを表す変更情報を生成し、その変更情報を、変更情報用バッファ72に供給して記憶させ、ステップS233に進む。
In step S232, the
ステップS233では、復元部52は、値変更部71から供給される変更埋め込みデータを、図48の埋め込み器42における場合と同様のラインローテーション方式により操作し、これにより、仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータを復元する。そして、復元部52は、仮の埋め込み対象データを、埋め込み対象データ用バッファ53に供給し、上書きする形で記憶させるとともに、仮の被埋め込みデータを、被埋め込みデータ用バッファ55に供給し、上書きする形で記憶させる。さらに、復元部52は、仮の埋め込み対象データを、特徴抽出部54に供給するとともに、仮の原特徴データを、判定制御部56に供給し、ステップS234に進む。
In step S233, the restoration unit 52 operates the change embedded data supplied from the
ステップS234では、特徴抽出部54は、復元部52から供給される仮の埋め込み対象データとしての仮復元画像データから、特徴データを抽出し、仮復元特徴データとして、判定制御部56に供給して、ステップS235に進む。
In step S234, the
ステップS235では、判定制御部56は、復元部52から供給される仮の原特徴データと、特徴抽出部54から供給される仮復元特徴データとを比較し、ステップS236に進む。ステップS236では、判定制御部56は、ステップS235における仮の原特徴データと仮復元特徴データとの比較結果に基づいて、それらの一致性を判定する。
In step S235, the determination control unit 56 compares the temporary original feature data supplied from the restoration unit 52 with the temporary restoration feature data supplied from the
ステップS236において、仮の原特徴データと仮復元特徴データとが一致していないと判定された場合、ステップS237に進み、判定制御部56は、値変更部71と、スイッチ57およびスイッチ59乃至61を制御する。
In step S236, when it is determined that the temporary original feature data and the temporary restoration feature data do not match, the process proceeds to step S237, and the determination control unit 56, the
即ち、判定制御部56は、スイッチ57に端子57Aを選択させるとともに、再処理指示信号を生成して出力する。これにより、判定制御部56が出力する再処理指示信号は、スイッチ57および端子57Aを介して、値変更部71およびスイッチ59に供給される。
That is, the determination control unit 56 causes the
スイッチ59は、再処理指示信号を受信すると、デフォルトの状態であるオフ状態からオン状態となり、これにより、値変更部71は、スイッチ59を介して、変更情報用バッファ72の参照が可能な状態となる。
When the
また、値変更部71は、再処理指示信号を受信すると、スイッチ59を介して、変更情報用バッファ72に記憶された変更情報を参照し、埋め込み符号化データとしての画像データに対して、まだ行っていない画素値の変更の仕方を認識する。そして、値変更部71は、その認識した画素値の変更の仕方のうちのいずれか1つを選択し、ステップS232に戻る。
Further, when the
ステップS232では、値変更部71は、ステップS237で選択した画素値の変更の仕方にしたがい、埋め込み符号化データとしての画像データの画素値を変更し、これにより、その埋め込み符号化データについては、それまでとは別の画素値パターンになっている画像データとしての変更埋め込みデータを、新たに求める。そして、ステップS233に進み、復元部52では、値変更部71で求められた新たな変更埋め込みデータが、ラインローテーション方式により操作され、これにより、やはり、それまでとは別の仮の埋め込み対象データ、仮の原特徴データ、および仮の被埋め込みデータが、新たに復元され、以下、同様の処理が繰り返される。
In step S232, the
一方、ステップS236において、仮の原特徴データと仮復元特徴データとが一致すると判定された場合、即ち、仮の埋め込み対象データが、元の埋め込み対象データに正確に復元されており、従って、仮の原特徴データも、元の埋め込み対象データから得られる原特徴データに正確に復元されている結果、その仮の原特徴データと仮復元特徴データとが一致する場合、ステップS238に進み、判定制御部56は、スイッチ57,60、および61を制御する。
On the other hand, if it is determined in step S236 that the temporary original feature data and the temporary restoration feature data match, that is, the temporary embedding target data has been accurately restored to the original embedding target data. If the original original feature data is also accurately restored to the original feature data obtained from the original embedding target data, and if the temporary original feature data matches the temporary restored feature data, the process proceeds to step S238, and determination control is performed. The unit 56 controls the
即ち、判定制御部56は、スイッチ57に端子57Bを選択させるとともに、出力指示信号を生成して出力する。これにより、判定制御部56が出力する出力指示信号は、スイッチ57および端子57Bを介して、スイッチ60および61に供給される。
That is, the determination control unit 56 causes the
スイッチ60および61は、出力指示信号を受信すると、一時、オフ状態からオン状態になり、ステップS239に進み、埋め込み対象データ用バッファ53の記憶内容が、スイッチ60を介して読み出されるとともに、被埋め込み対象データ用バッファ55の記憶内容が、スイッチ61を介して読み出され、処理を終了する。
When receiving the output instruction signal, the
即ち、埋め込み対象データ用バッファ53では、復元部52が、新たな仮の埋め込み対象データを出力するたびに、その新たな仮の埋め込み対象データが、上書きする形で記憶される。また、被埋め込みデータ用バッファ55でも、復元部52が、新たな仮の被埋め込みデータを出力するたびに、その新たな仮の被埋め込みデータが、上書きする形で記憶される。
That is, in the embedding
一方、仮の原特徴データと仮復元特徴データとが一致する場合というのは、上述したように、復元部52が出力する仮の埋め込み対象データと、仮の被埋め込みデータが、それぞれ、元の埋め込み対象データと元の被埋め込みデータとして正確に復元されている。 On the other hand, when the temporary original feature data and the temporary restoration feature data match, as described above, the temporary embedding target data output from the restoration unit 52 and the temporary embedding data are respectively the original data It is accurately restored as the embedding target data and the original embedded data.
従って、仮の原特徴データと仮復元特徴データとが一致する場合には、埋め込み対象データ用バッファ53には、正確に復元された埋め込み対象データが記憶されており、被埋め込みデータ用バッファ55にも、正確に復元された被埋め込みデータが記憶されている。その結果、ステップS239では、埋め込み対象データ用バッファ53から、スイッチ60を介して、正確に復元された埋め込み対象データが読み出されるとともに、被埋め込み対象データ用バッファ55から、スイッチ61を介して、正確に復元された被埋め込みデータが読み出されることになる。
Accordingly, when the temporary original feature data and the temporary restoration feature data match, the embedding
なお、図51の処理は、埋め込み符号化データが新たに供給されるごとに繰り返し行われる。 Note that the process of FIG. 51 is repeatedly performed each time the embedded encoded data is newly supplied.
以上のように、復元器6では、復元した埋め込み対象データから抽出された特徴データと、復元した原特徴データとの一致性を判定し、その判定結果に基づいて、復元処理における、埋め込み符号化データとしての画像データの画素値の変更を制御するようにしたので、埋め込み符号化データにエラーが生じ、その埋め込み符号化データとしての画像データの画素値が変わってしまっている場合であっても、そのような埋め込み符号化データから、埋め込み対象データと被埋め込みデータを、正確に復元することができる。従って、この場合、エラーに対するロバスト性を向上させることができる。
As described above, the
なお、上述の場合には、埋め込み対象データとしての画像データに対して、その特徴データと被埋め込みデータを埋め込むようにしたが、埋め込み対象データとしての画像データには、特徴データだけを埋め込むようにすることが可能である。 In the above case, the feature data and the embedded data are embedded in the image data as the embedding target data. However, only the feature data is embedded in the image data as the embedding target data. Is possible.
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。 Next, the series of processes described above can be performed by hardware or software. When a series of processing is performed by software, a program constituting the software is installed in a general-purpose computer or the like.
そこで、図52は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。 Thus, FIG. 52 shows a configuration example of an embodiment of a computer in which a program for executing the above-described series of processing is installed.
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
The program can be recorded in advance in a
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
Alternatively, the program is stored temporarily on a
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
The program is installed in the computer from the
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
The computer includes a CPU (Central Processing Unit) 102. An input /
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。 Here, in this specification, the processing steps for describing a program for causing a computer to perform various types of processing do not necessarily have to be processed in time series according to the order described in the flowchart, but in parallel or individually. This includes processing to be executed (for example, parallel processing or processing by an object).
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。 Further, the program may be processed by a single computer, or may be processed in a distributed manner by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
なお、被埋め込みデータは、特に限定されるものではなく、例えば、画像データや、音声データ、テキスト、コンピュータプログラム、制御信号、その他のデータを、被埋め込みデータとして用いることが可能である。 The embedded data is not particularly limited. For example, image data, audio data, text, a computer program, a control signal, and other data can be used as the embedded data.
また、本実施の形態では、埋め込み対象データとして画像データを採用し、被埋め込みデータおよび特徴データを、その画像データに埋め込むようにしたが、埋め込み対象データとしては、その他、例えば、音声データ等を採用することも可能である。即ち、この場合、例えば、時系列の音声データを、適当なフレームに区切り、各フレームの音声データを、被埋め込みデータにしたがって入れ替えることで、被埋め込みデータおよび特徴データを、音声に埋め込むことが可能である。また、この場合、埋め込み対象データとしての音声データの特徴データとしては、線形予測係数やケプストラム係数等を採用することが可能である。 In the present embodiment, image data is used as the embedding target data, and the embedded data and feature data are embedded in the image data. However, as the embedding target data, for example, audio data or the like is used. It is also possible to adopt. That is, in this case, for example, it is possible to embed embedded data and feature data in audio by dividing time-series audio data into appropriate frames and replacing the audio data of each frame according to the embedded data. It is. In this case, linear prediction coefficients, cepstrum coefficients, and the like can be used as the feature data of the speech data as the embedding target data.
さらに、本実施の形態では、画像データを、埋め込み対象データとして、その画像データに、被埋め込みデータを埋め込む埋め込み処理を施すようにしたが、画像データに対して施す処理は、埋め込み処理に限定されるのものではない。即ち、画像データに対しては、何らかの処理を施し、その特徴データと統合して出力するようにすることが可能である。そして、画像データに対して施す処理は、極端には、不可逆な処理である場合であっても、処理された画像データを元に復元することが可能である。 Furthermore, in this embodiment, image data is set as data to be embedded, and an embedding process for embedding embedded data is performed on the image data. However, the process performed on the image data is limited to the embedding process. It is not a thing. In other words, it is possible to perform some processing on the image data and output the image data integrated with the feature data. The processing applied to the image data is extremely irreversible, and can be restored based on the processed image data.
即ち、本発明では、処理された画像データを元に戻す場合、処理された画像データに、何らかの復元処理を施すことで、仮の画像データが復元される。そして、その仮の画像データから抽出される特徴データと、処理された画像データに統合されている特徴データとが一致するように、復元処理が制御される。その結果、画像データに対して不可逆な処理が施された場合であっても、元の画像データを復元することが可能となる。この場合、画像データに施される処理を、暗号化と捉えれば、画像データには、強固な暗号化が施されることとなり、秘匿性を向上させることができる。 In other words, in the present invention, when the processed image data is restored, the temporary image data is restored by performing some kind of restoration processing on the processed image data. Then, the restoration process is controlled so that the feature data extracted from the temporary image data matches the feature data integrated with the processed image data. As a result, even when irreversible processing is performed on the image data, the original image data can be restored. In this case, if the process performed on the image data is regarded as encryption, the image data is subjected to strong encryption, and the secrecy can be improved.
1 埋め込み対象データベース, 2 被埋め込みデータベース, 3 埋め込み符号化器, 4 記録媒体, 5 伝送媒体, 6 復元器, 11 符号化装置, 12 復号装置, 21 フレームメモリ, 22 埋め込み部, 23 特徴抽出部, 24 統合部, 31 フレームメモリ, 32 復元部, 33 特徴分離部, 34 特徴抽出部, 35 判定制御部, 41 特徴抽出部, 42,43,44 埋め込み器, 51,52 復元部, 53 埋め込み対象データ用バッファ, 54 特徴抽出部, 55 被埋め込みデータ用バッファ, 56 判定制御部, 57 スイッチ, 57A,57B 端子, 58 操作情報用バッファ, 59乃至62 スイッチ, 63 被埋め込みデータ用バッファ, 64 復元部, 71 値変更部, 72 変更情報用バッファ, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体
DESCRIPTION OF
Claims (9)
情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込み手段と
を備えるデータ処理装置。 Feature data extraction means for extracting feature data representing the feature from input data;
In accordance with a predetermined operation rule for performing operation so that the information embedded with other information is restored to the original information using the energy bias of the information, the feature data is added to other arbitrary data. A data processing apparatus comprising: embedding means for embedding the other arbitrary data in which the first feature data is embedded in the input data, and further embedding the arbitrary data.
情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込みステップと
を含むデータ処理方法。 A feature data extraction step for extracting feature data representing the feature from the input data;
In accordance with a predetermined operation rule for performing operation so that the information embedded with other information is restored to the original information using the energy bias of the information, the feature data is added to other arbitrary data. A data processing method comprising: embedding, embedding the other arbitrary data in which the first feature data is embedded in the input data, and further embedding the arbitrary data.
情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込む埋め込みステップと
を含むデータ処理をコンピュータに行わせるプログラム。 A feature data extraction step for extracting feature data representing the feature from the input data;
In accordance with a predetermined operation rule for performing an operation so that the information embedded with other information is restored to the original information by using the energy bias of the information, the first arbitrary A program for embedding feature data, embedding the other arbitrary data in which the feature data is embedded in the input data, and further embedding the arbitrary data.
前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元手段と、
前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出手段と、
前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元手段における復元処理を制御する制御手段とを備え、
前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、
前記復元手段は、
前記処理データから、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、
前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第1の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、
さらに、前記第1の特徴データが埋め込まれた前記他の任意のデータを、前記第1の特徴データと前記他の任意のデータに復元する
データ処理装置。 A data processing device for restoring processing data obtained by processing the input data, which is transmitted together with first feature data representing the characteristics of the input data,
A restoration unit that restores the input data by performing a predetermined restoration process on the processing data, and outputs the restored input data as restoration data;
Feature data extraction means for extracting second feature data representing the feature from the restored data;
Control means for determining the coincidence of the first and second feature data and controlling the restoration processing in the restoration means based on the determination result;
The processing data is stored in other arbitrary data in accordance with a predetermined operation rule for performing operation so that the information embedded with other information is restored to the original information by using the energy bias of the information. The first feature data is embedded, the other arbitrary data in which the first feature data is embedded is embedded in the input data, and further, arbitrary data is embedded,
The restoration means includes
The input data in which the other arbitrary data in which the first feature data is embedded is embedded from the processing data, and the arbitrary data is restored,
The input data in which the other arbitrary data embedded with the first feature data is embedded is restored to the other arbitrary data in which the first feature data is embedded, and the input data,
Furthermore, the other arbitrary data in which the first feature data is embedded is restored to the first feature data and the other arbitrary data.
請求項4に記載のデータ処理装置。 The data processing apparatus according to claim 4, wherein the control unit controls the restoration process so that the first and second feature data match.
前記制御手段は、前記復元処理における前記処理データに対する操作を制御する
請求項4に記載のデータ処理装置。 The restoration means restores the input data by performing a restoration process for operating the processing data according to a predetermined operation rule,
The data processing apparatus according to claim 4, wherein the control unit controls an operation on the processing data in the restoration processing.
前記制御手段は、前記復元処理における前記処理データの値の変更を制御する
請求項4に記載のデータ処理装置。 The restoration means restores the input data by changing a value of the processing data and performing a restoration process of operating the processing data after the change according to a predetermined operation rule,
The data processing apparatus according to claim 4, wherein the control unit controls a change in the value of the processing data in the restoration processing.
前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、
前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出ステップと、
前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップでの復元処理を制御する制御ステップとを含み、
前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、
前記復元ステップにおいて、
前記処理データから、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、
前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第1の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、
さらに、前記第1の特徴データが埋め込まれた前記他の任意のデータを、前記第1の特徴データと前記他の任意のデータに復元する
データ処理方法。 A data processing method for restoring processing data obtained by processing the input data, which is transmitted together with first feature data representing characteristics of the input data,
A restoration step of restoring the input data by performing a predetermined restoration process on the processed data, and outputting the restored input data as restored data;
A feature data extracting step of extracting second feature data representing the feature from the restored data;
A control step of determining matching between the first and second feature data, and controlling a restoration process in the restoration step based on a result of the determination,
The processing data is stored in other arbitrary data in accordance with a predetermined operation rule for performing operation so that the information embedded with other information is restored to the original information by using the energy bias of the information. The first feature data is embedded, the other arbitrary data in which the first feature data is embedded is embedded in the input data, and further, arbitrary data is embedded,
In the restoration step,
The input data in which the other arbitrary data in which the first feature data is embedded is embedded from the processing data, and the arbitrary data is restored,
The input data in which the other arbitrary data embedded with the first feature data is embedded is restored to the other arbitrary data in which the first feature data is embedded, and the input data,
Furthermore, the other arbitrary data in which the first feature data is embedded is restored to the first feature data and the other arbitrary data.
前記処理データに所定の復元処理を施すことにより、前記入力データを復元し、その復元した前記入力データを、復元データとして出力する復元ステップと、
前記復元データから、その特徴を表す第2の特徴データを抽出する特徴データ抽出ステップと、
前記第1および第2の特徴データの一致性を判定し、その判定結果に基づいて、前記復元ステップでの復元処理を制御する制御ステップとを含み、
前記処理データは、情報が有するエネルギの偏りを利用して他の情報が埋め込まれた前記情報が元の情報に復元されるように操作を行う所定の操作ルールにしたがい、他の任意のデータに、前記第1の特徴データを埋め込み、前記入力データに、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込み、さらに、任意のデータを埋め込んだものであり、
前記復元ステップにおいて、
前記処理データから、前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データと、前記任意のデータを復元し、
前記第1の特徴データが埋め込まれた前記他の任意のデータを埋め込んである前記入力データを、前記第1の特徴データが埋め込まれた前記他の任意のデータと、前記入力データに復元し、
さらに、前記第1の特徴データが埋め込まれた前記他の任意のデータを、前記第1の特徴データと前記他の任意のデータに復元する
プログラム。 A program for causing a computer to perform data processing for restoring processing data obtained by processing the input data, which is transmitted together with first feature data representing characteristics of the input data,
A restoration step of restoring the input data by performing a predetermined restoration process on the processed data, and outputting the restored input data as restored data;
A feature data extracting step of extracting second feature data representing the feature from the restored data;
A control step of determining matching between the first and second feature data, and controlling a restoration process in the restoration step based on a result of the determination,
The processing data is stored in other arbitrary data in accordance with a predetermined operation rule for performing operation so that the information embedded with other information is restored to the original information by using the energy bias of the information. The first feature data is embedded, the other arbitrary data in which the first feature data is embedded is embedded in the input data, and further, arbitrary data is embedded,
In the restoration step,
The input data in which the other arbitrary data in which the first feature data is embedded is embedded from the processing data, and the arbitrary data is restored,
The input data in which the other arbitrary data embedded with the first feature data is embedded is restored to the other arbitrary data in which the first feature data is embedded, and the input data,
Further, a program for restoring the other arbitrary data in which the first feature data is embedded into the first feature data and the other arbitrary data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006247163A JP4232118B2 (en) | 2006-09-12 | 2006-09-12 | Data processing apparatus, data processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006247163A JP4232118B2 (en) | 2006-09-12 | 2006-09-12 | Data processing apparatus, data processing method, and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001320765A Division JP3944821B2 (en) | 2001-10-18 | 2001-10-18 | Data processing apparatus, data processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007028658A true JP2007028658A (en) | 2007-02-01 |
JP4232118B2 JP4232118B2 (en) | 2009-03-04 |
Family
ID=37788705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006247163A Expired - Fee Related JP4232118B2 (en) | 2006-09-12 | 2006-09-12 | Data processing apparatus, data processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4232118B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102444915B1 (en) * | 2021-12-15 | 2022-09-19 | 주식회사 페이스테그 | Image information management method using facial feature vectors, Image information management apparatus, and computer program therefor |
WO2022222854A1 (en) * | 2021-04-18 | 2022-10-27 | 华为技术有限公司 | Data processing method and related device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105023234B (en) * | 2015-06-29 | 2018-02-23 | 嘉兴慧康智能科技有限公司 | Figure accelerated method based on embedded system storage optimization |
-
2006
- 2006-09-12 JP JP2006247163A patent/JP4232118B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022222854A1 (en) * | 2021-04-18 | 2022-10-27 | 华为技术有限公司 | Data processing method and related device |
KR102444915B1 (en) * | 2021-12-15 | 2022-09-19 | 주식회사 페이스테그 | Image information management method using facial feature vectors, Image information management apparatus, and computer program therefor |
Also Published As
Publication number | Publication date |
---|---|
JP4232118B2 (en) | 2009-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7738711B2 (en) | Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal | |
JP4147700B2 (en) | Encoding apparatus, encoding method, and recording medium | |
JP4822304B2 (en) | Image processing apparatus, image processing method, and recording medium | |
JP3924967B2 (en) | Encoding apparatus and method, decoding apparatus and method, recording medium, and data processing system | |
US6859155B2 (en) | Data processing device | |
Chang et al. | Reversible steganographic method using SMVQ approach based on declustering | |
KR100647022B1 (en) | Coding apparatus and coding Method, Decoding apparatus and Decoding Method, Information processing apparatus and Information processing method and providing medium | |
Chang et al. | Data hiding for vector quantization images using mixed-base notation and dissimilar patterns without loss of fidelity | |
JP4182603B2 (en) | Encoding apparatus and encoding method, decoding apparatus and decoding method, recording medium, and data processing apparatus | |
Shetty | A study and analysis of reversible data hiding techniques | |
JP4232118B2 (en) | Data processing apparatus, data processing method, and program | |
JP2002278748A (en) | Method and device for processing data, program, program recording medium, encoded data and data recording medium | |
JP4556147B2 (en) | Decoding device, decoding method, recording medium, and data processing device | |
JP3944821B2 (en) | Data processing apparatus, data processing method, and program | |
JP3940986B2 (en) | Data processing apparatus, data processing method, and program | |
JP2001028546A (en) | Device and method for encoding, device and method for decoding, recording medium and data processor | |
Rahmani et al. | A low distortion reversible data hiding scheme for search order coding of VQ indices | |
JP2001285622A (en) | Imbedding device and imbedding method, decoder and decoding method, and recording medium | |
US20090285497A1 (en) | Image processing method and image processing apparatus using least significant bits | |
JP4077771B2 (en) | Data reproduction apparatus, reproduction method, data compression apparatus, and compression method | |
EP0993199A2 (en) | Apparatus and method for image data coding with additional data embedding | |
JP4099687B2 (en) | Image processing apparatus, image processing method, and medium | |
JP4507130B2 (en) | Data processing apparatus, data processing method, and recording medium | |
JP4374712B2 (en) | Data processing apparatus, data processing method, and recording medium | |
JP4548434B2 (en) | Data processing apparatus, data processing method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080908 |
|
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: 20081113 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |