JP5660918B2 - Information processing apparatus, computer program, and information processing method - Google Patents
Information processing apparatus, computer program, and information processing method Download PDFInfo
- Publication number
- JP5660918B2 JP5660918B2 JP2011026993A JP2011026993A JP5660918B2 JP 5660918 B2 JP5660918 B2 JP 5660918B2 JP 2011026993 A JP2011026993 A JP 2011026993A JP 2011026993 A JP2011026993 A JP 2011026993A JP 5660918 B2 JP5660918 B2 JP 5660918B2
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- data
- vertices
- coordinate
- additional information
- 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.)
- Active
Links
Images
Description
本発明は、情報処理装置、コンピュータプログラム、および情報処理方法に関するものである。 The present invention relates to an information processing apparatus, a computer program, and an information processing method.
3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データに対して電子透かしを埋め込む技術が提案されている(例えば非特許文献1,2参照)。
Techniques have been proposed for embedding a digital watermark into 3D graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a 3D graphic (see, for example, Non-Patent
非特許文献1に記載の技術では、電子透かしの埋込処理において、頂点が挿入頂点(mark vertex)、調節頂点(adjusting vertex)などに分類され、挿入頂点の頂点データ(x1,x2,x3)のx1座標に、挿入頂点であることを示す情報が埋め込まれ、x2座標に電子透かしが埋め込まれ、x3座標に電子透かしのハッシュ値が埋め込まれる。
In the technique described in
x2座標に電子透かしを埋め込みx3座標にハッシュ値を埋め込む際には、まず、挿入頂点に隣接する頂点のx2座標値の重心とx3座標値の重心が計算され、それらの値と、電子透かしの値およびハッシュ値とから一意に得られる値が頂点データのx2座標およびx3座標にそれぞれ代入される。そして、x2座標への電子透かしの埋め込みおよびx3座標へのハッシュ値の埋め込みに起因して発生するx2座標値の重心の変動とx3座標値の重心の変動を補償するために、調節頂点の位置(x2座標値およびx3座標値)が調節される。 when embedding the hash value digital watermark embedding x 3 coordinates x 2 coordinate, first, the center of gravity of the center of gravity and x 3 coordinate values of x 2 coordinate values of the vertices adjacent to the inserted vertex is calculated, and their values a value uniquely obtained from the value and the hash value of the electronic watermark is substituted respectively x 2 coordinate and x 3 coordinate of vertex data. Then, in order to compensate for variations of the center of gravity of the change and x 3 coordinate value of the center of gravity of the x 2 coordinate values caused by the implantation of the hash value to the digital watermark embedding and x 3 coordinate to x 2 coordinate, position of the adjustment vertex (x 2 coordinate values and x 3 coordinate value) is adjusted.
そして、電子透かしの取出処理において、各頂点の頂点データのx1座標の値に基づいて挿入頂点が特定され、挿入頂点の頂点データのx2座標およびx3座標から電子透かしおよびハッシュ値を取り出し、取り出した電子透かしのハッシュ値を計算し、計算したハッシュ値と取り出したハッシュ値とを比較して認証が行う。計算したハッシュ値と取り出したハッシュ値とが同一であれば、改ざんがないと判断され、認証に成功する。 Then, in the extraction process of the electronic watermark, inserting a vertex based on the values of x 1 coordinates of the vertex data of each vertex are identified and removed watermark and hash value from the x 2 coordinate and x 3 coordinate of the vertex data of the inserted vertices Then, the hash value of the extracted digital watermark is calculated, and authentication is performed by comparing the calculated hash value with the extracted hash value. If the calculated hash value and the extracted hash value are the same, it is determined that there is no falsification, and authentication is successful.
しかし、この方法では、頂点データの各座標が浮動小数点の実数データである場合、丸め誤差などの演算誤差が発生するため、改ざんがない場合でも、電子透かしの取出処理において、計算したハッシュ値と取り出したハッシュ値とが一致しないことがあり、実用的ではない。 However, in this method, if each coordinate of the vertex data is floating point real number data, an operation error such as a rounding error occurs. Therefore, even if there is no alteration, the calculated hash value and the extracted value are extracted in the digital watermark extraction process. The hash value may not match, which is not practical.
非特許文献2に記載の技術では、電子透かしの埋込処理において、互いに隣接しないように挿入頂点(mark vertex)が指定され、挿入頂点の頂点データ(x1,x2,x3)におけるx1座標の浮動小数点実数データの仮数部の一部に、挿入頂点であることを示す情報が埋め込まれ、x2座標の浮動小数点実数データの仮数部の一部に電子透かしが埋め込まれ、x3座標の浮動小数点実数データの仮数部の一部に電子透かしのハッシュ値が埋め込まれる。
In the technique described in
x2座標に電子透かしを埋め込みx3座標にハッシュ値を埋め込む際には、まず、挿入頂点に隣接する頂点のx2座標値の浮動小数点実数データの仮数部の一部についての重心とx3座標値の浮動小数点実数データの仮数部の一部について重心が計算され、それらの値と電子透かしの値およびハッシュ値との間のビット演算により得られる排他的論理和が頂点データのx2座標およびx3座標にそれぞれ代入される。 x when embedding the hash value digital watermark embedding x 3 coordinate two coordinates, first, the center of gravity and x 3 for some mantissas of floating-point number data x 2 coordinate values of the vertices adjacent to the inserted vertex The centroid is calculated for a part of the mantissa part of the floating point real number data of the coordinate value, and the exclusive OR obtained by bit operation between the value, the digital watermark value, and the hash value is the x 2 coordinate of the vertex data each of which is assigned to and x 3 coordinates.
そして、電子透かしの取出処理において、各頂点の頂点データのx1座標の値に基づいて挿入頂点が特定され、挿入頂点の頂点データのx2座標およびx3座標からビット演算で電子透かしおよびハッシュ値を取り出し、取り出した電子透かしのハッシュ値を計算し、計算したハッシュ値と取り出したハッシュ値とを比較して認証が行う。計算したハッシュ値と取り出したハッシュ値とが同一であれば、改ざんがないと判断され、認証に成功する。 Then, in the extraction process of the electronic watermark, inserting a vertex based on the values of x 1 coordinates of the vertex data of each vertex is identified, the digital watermark and hash bits calculated from x 2 coordinate and x 3 coordinate of the vertex data of the inserted vertices A value is extracted, a hash value of the extracted digital watermark is calculated, and authentication is performed by comparing the calculated hash value with the extracted hash value. If the calculated hash value and the extracted hash value are the same, it is determined that there is no falsification, and authentication is successful.
非特許文献2に記載の技術では、ビット演算で挿入頂点のx2座標およびx3座標に対する電子透かしおよびハッシュ値の埋め込みおよび取り出しが行われるため、上述のような浮動小数点演算の丸め誤差などの演算誤差が発生しない。
In the
しかしながら、上述の非特許文献2に記載の技術では、挿入頂点の頂点データにおけるx3座標の浮動小数点実数データの仮数部の一部にのみ、電子透かしのハッシュ値が埋め込まれるため、仮数部の残りの部分が改ざんされた場合でも、認証に成功してしまうという問題がある。また、埋め込める情報量が非特許文献1の方法と比較して、減少してしまうという問題点もある。
However, in the technique described in
本発明は、上記の問題に鑑みてなされたものであり、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データに対する電子透かしなどの付加情報の埋め込みにおいて、データの改ざんが検出されやすくなるようにする情報処理装置、コンピュータプログラム、および情報処理方法を得ることを目的とする。 The present invention has been made in view of the above problems, and in embedding additional information such as a digital watermark into three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic. It is an object to obtain an information processing apparatus, a computer program, and an information processing method that make it easy to detect tampering.
上記の課題を解決するために、本発明では以下のようにした。 In order to solve the above problems, the present invention is configured as follows.
本発明に係る情報処理装置は、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段と、記憶手段から3次元図形データを読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくともその別座標の浮動小数点実数データの仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込む情報埋込手段と、複数の頂点の一部または全部を、挿入頂点、調節頂点、および孤立頂点に分類する頂点分類手段とを備える。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。孤立頂点は、隣接する頂点がすべて調節頂点であり、頂点データに付加情報を埋め込む頂点である。そして、情報埋込手段は、挿入頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、挿入頂点であることを示す所定の第1識別値を埋め込み、孤立頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、当該頂点が孤立頂点であることを示す所定の第2識別値を埋め込む。この第2識別値は、第1識別値とは異なる。 An information processing apparatus according to the present invention stores a three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic, reads the three-dimensional graphic data from the storage means, For at least one vertex data of the vertex data, additional information is embedded in a part of the mantissa part of the floating point real data of one coordinate in the vertex data, and the mantissa part of the floating point real data of another coordinate in the vertex data Information embedding means for embedding a code obtained by a one-way function from the remaining part of the mantissa part of the floating-point real number data of another coordinate and additional information, and a part or all of a plurality of vertices And vertex classification means for classifying into an insertion vertex, an adjustment vertex, and an isolated vertex . The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Isolated vertices are vertices in which all adjacent vertices are adjustment vertices and additional information is embedded in the vertex data. Then, the information embedding unit embeds a predetermined first identification value indicating the insertion vertex in a part of the mantissa part of the floating point real number data of the remaining coordinates in the vertex data of the insertion vertex, A predetermined second identification value indicating that the vertex is an isolated vertex is embedded in a part of the mantissa part of the floating-point real number data of the remaining coordinates in the data. This second identification value is different from the first identification value.
これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれるため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 As a result, a code obtained by a one-way function is embedded from at least the remaining mantissa part and the additional information, so that alteration of the data is easily detected when the additional information is extracted.
また、本発明に係る情報処理装置は、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段と、記憶手段から3次元図形データを読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくともその別座標の浮動小数点実数データの仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込む情報埋込手段と、複数の頂点の一部または全部を、挿入頂点および調節頂点に分類する頂点分類手段とを備える。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。そして、情報埋込手段は、挿入頂点に隣接する頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部から座標ごとに所定のパラメータ値を整数演算で計算し、調節頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部を、所定のパラメータ値の変動を補償するために変更する。 The information processing apparatus according to the present invention stores storage means for storing 3D figure data having a plurality of vertex data corresponding to a plurality of vertices constituting the 3D figure, and reads out the 3D figure data from the storage means. For at least one vertex data of a plurality of vertex data, additional information is embedded in a part of the mantissa part of the floating point real number data of one coordinate in the vertex data, and the mantissa of the floating point real number data of another coordinate in the vertex data Information embedding means for embedding a sign obtained by a one-way function from the remaining part of the mantissa part of the floating-point real number data of another coordinate and additional information in a part of the part, a part of a plurality of vertices or Vertex classification means for classifying all into an insertion vertex and an adjustment vertex . The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Then, the information embedding means calculates a predetermined parameter value for each coordinate by integer arithmetic from a part of the mantissa part of the floating point real number data of one coordinate and another coordinate in the vertex data of the vertex adjacent to the insertion vertex, and adjusts it. A part of the mantissa part of the floating point real data of one coordinate and another coordinate in the vertex data of the vertex is changed in order to compensate for a variation in a predetermined parameter value.
これにより、所定のパラメータの値が整数演算で計算されるため、丸め誤差などの演算誤差が発生せず、付加情報の取り出し時に、この所定のパラメータを使用した認証を正確に行うことができる。 Thereby, since the value of the predetermined parameter is calculated by integer calculation, no calculation error such as a rounding error occurs, and authentication using the predetermined parameter can be accurately performed when the additional information is extracted.
本発明に係るコンピュータプログラムは、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段を有する情報処理装置におけるコンピュータを、記憶手段から3次元図形データを読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくともその別座標の浮動小数点実数データの仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込む情報埋込手段、および複数の頂点の一部または全部を、挿入頂点、調節頂点、および孤立頂点に分類する頂点分類手段として機能させる。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。孤立頂点は、隣接する頂点がすべて調節頂点であり、頂点データに付加情報を埋め込む頂点である。そして、情報埋込手段は、挿入頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、挿入頂点であることを示す所定の第1識別値を埋め込み、孤立頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、当該頂点が孤立頂点であることを示す所定の第2識別値を埋め込む。この第2識別値は、第1識別値とは異なる。これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれるため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 A computer program according to the present invention provides a computer in an information processing apparatus having storage means for storing three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic. Read data, and for at least one vertex data of a plurality of vertex data, embed additional information in a part of the mantissa part of the floating point real number data of one coordinate in the vertex data, and the floating point of another coordinate in the vertex data Information embedding means for embedding a code obtained by a one-way function from at least the remaining part of the mantissa part of floating-point real data of another coordinate and additional information in a part of the mantissa part of real number data , and a plurality of vertices some or all insertion vertex of regulation vertices, and machine as the vertex classification means for classifying the isolated vertices Make. The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Isolated vertices are vertices in which all adjacent vertices are adjustment vertices and additional information is embedded in the vertex data. Then, the information embedding unit embeds a predetermined first identification value indicating the insertion vertex in a part of the mantissa part of the floating point real number data of the remaining coordinates in the vertex data of the insertion vertex, A predetermined second identification value indicating that the vertex is an isolated vertex is embedded in a part of the mantissa part of the floating-point real number data of the remaining coordinates in the data. This second identification value is different from the first identification value. As a result, a code obtained by a one-way function is embedded from at least the remaining mantissa part and the additional information, so that alteration of the data is easily detected when the additional information is extracted.
また、本発明に係るコンピュータプログラムは、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段を有する情報処理装置におけるコンピュータを、記憶手段から3次元図形データを読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくともその別座標の浮動小数点実数データの仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込む情報埋込手段、および複数の頂点の一部または全部を、挿入頂点および調節頂点に分類する頂点分類手段として機能させる。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。そして、情報埋込手段は、挿入頂点に隣接する頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部から座標ごとに所定のパラメータ値を整数演算で計算し、調節頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部を、所定のパラメータ値の変動を補償するために変更する。これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれるため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 Further, the computer program according to the present invention provides a computer in an information processing apparatus having storage means for storing three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic. Dimensional figure data is read, and for at least one vertex data of a plurality of vertex data, additional information is embedded in a part of the mantissa part of the floating-point real number data of one coordinate in the vertex data, and another coordinate in the vertex data is Information embedding means for embedding a sign obtained by a one-way function from at least the remaining part of the mantissa part of the floating-point real number data of another coordinate and additional information in a part of the mantissa part of the floating-point real number data, and a plurality of Function as a vertex classification means to classify some or all of the vertices into insertion vertices and adjustment vertices . The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Then, the information embedding means calculates a predetermined parameter value for each coordinate by integer arithmetic from a part of the mantissa part of the floating point real number data of one coordinate and another coordinate in the vertex data of the vertex adjacent to the insertion vertex, and adjusts it. A part of the mantissa part of the floating point real data of one coordinate and another coordinate in the vertex data of the vertex is changed in order to compensate for a variation in a predetermined parameter value. As a result, a code obtained by a one-way function is embedded from at least the remaining mantissa part and the additional information, so that alteration of the data is easily detected when the additional information is extracted.
本発明に係る情報処理方法は、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶手段から読み出すステップと、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込むステップと、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくともその別座標の浮動小数点実数データの仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込むステップと、複数の頂点の一部または全部を、挿入頂点、調節頂点、および孤立頂点に分類するステップとを備える。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。孤立頂点は、隣接する頂点がすべて調節頂点であり、頂点データに付加情報を埋め込む頂点である。そして、挿入頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、挿入頂点であることを示す所定の第1識別値を埋め込み、孤立頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、当該頂点が孤立頂点であることを示す所定の第2識別値を埋め込む。この第2識別値は、第1識別値とは異なる。 An information processing method according to the present invention includes a step of reading from a storage means three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic, and at least one vertex of the plurality of vertex data for data, the steps of embedding the additional information in a part of the mantissa of the floating-point number data for one coordinates in the vertex data, a part of the mantissa of the floating-point number data of another coordinates in the vertex data, at least a separate A step of embedding a sign obtained by a one-way function from the remaining mantissa part of the floating point real number data of coordinates and additional information, and a part or all of a plurality of vertices are inserted vertices, adjustment vertices, and isolated vertices Categorizing into: The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Isolated vertices are vertices in which all adjacent vertices are adjustment vertices and additional information is embedded in the vertex data. Then, a predetermined first identification value indicating the insertion vertex is embedded in a part of the mantissa part of the floating point real data of the remaining coordinates in the vertex data of the insertion vertex, and the remaining coordinates in the vertex data of the isolated vertex are embedded. A predetermined second identification value indicating that the vertex is an isolated vertex is embedded in a part of the mantissa part of the floating-point real number data. This second identification value is different from the first identification value.
これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれるため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 As a result, a code obtained by a one-way function is embedded from at least the remaining mantissa part and the additional information, so that alteration of the data is easily detected when the additional information is extracted.
また、本発明に係る情報処理方法は、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶手段から読み出すステップと、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込むステップと、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくともその別座標の浮動小数点実数データの仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込むステップと、複数の頂点の一部または全部を、挿入頂点および調節頂点に分類するステップとを備える。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。そして、挿入頂点に隣接する頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部から座標ごとに所定のパラメータ値を整数演算で計算し、調節頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部を、所定のパラメータ値の変動を補償するために変更する。Further, the information processing method according to the present invention includes a step of reading from the storage means three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting the three-dimensional graphic, and at least one of the plurality of vertex data For one vertex data, the step of embedding additional information in a part of the mantissa part of the floating point real number data of one coordinate in the vertex data, and a part of the mantissa part of the floating point real number data of another coordinate in the vertex data, The step of embedding the sign obtained by the one-way function from the remaining part of the mantissa part of the floating-point real number data of the different coordinates and additional information, and classifying some or all of the vertices into insertion vertices and adjustment vertices And a step of performing. The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Then, a predetermined parameter value is calculated for each coordinate from one part of the vertex data of the vertex adjacent to the insertion vertex and a part of the mantissa part of the floating-point real number data of another coordinate by an integer operation, and one point in the vertex data of the adjustment vertex is obtained. A part of the mantissa part of the floating point real number data of the coordinate and another coordinate is changed in order to compensate for a variation of a predetermined parameter value.
これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれているため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 As a result, since a code obtained by a one-way function from at least the remaining part of the mantissa part and the additional information is embedded, it is easy to detect data tampering when the additional information is extracted.
本発明に係る情報処理装置は、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段と、記憶手段から3次元図形データを読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部から付加情報を取り出し、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部から符号を取り出し、少なくとも取り出した符号とその別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う情報取出手段と、ある頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部の値が所定の第1識別値である場合、その頂点を挿入頂点と特定し、仮数部の一部の値が所定の第2識別値である場合、その頂点を孤立頂点と特定する頂点種類特定手段とを備える。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。孤立頂点は、隣接する頂点がすべて調節頂点であり、頂点データに付加情報を埋め込む頂点である。第2識別値は、第1識別値とは異なる。そして、情報取出手段は、挿入頂点および孤立頂点の頂点データについて、付加情報および符号を取り出し、少なくとも取り出した符号とその別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う。これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれているため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 An information processing apparatus according to the present invention includes a storage unit that stores three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic, and reads the three-dimensional graphic data from the storage unit, For at least one vertex data of the vertex data, additional information is extracted from a part of the mantissa part of the floating-point real data of one coordinate in the vertex data, and the mantissa part of the floating-point real data of another coordinate in the vertex data Information extracting means for extracting a code from a part and authenticating the extracted code with a value obtained by a one-way function from at least the extracted code and the remaining mantissa part of floating-point real number data of another coordinate; When the value of a part of the mantissa part of the floating point real number data of the remaining coordinates in the vertex data of a certain vertex is the predetermined first identification value Identifies the inserted vertex the vertex, if some of the values of the mantissa is a predetermined second identification value, and a vertex type specifying means for specifying that vertex and isolated vertices. The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Isolated vertices are vertices in which all adjacent vertices are adjustment vertices and additional information is embedded in the vertex data. The second identification value is different from the first identification value. Then, the information extracting means extracts additional information and a sign from the vertex data of the insertion vertex and the isolated vertex, and uses a one-way function from at least the extracted sign and the remaining part of the mantissa part of the floating-point real number data of the other coordinate. The extracted code is authenticated with the value obtained by the above. As a result, since a code obtained by a one-way function from at least the remaining part of the mantissa part and the additional information is embedded, it is easy to detect data tampering when the additional information is extracted.
本発明に係るコンピュータプログラムは、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段を有する情報処理装置におけるコンピュータを、記憶手段から3次元図形データを読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部から付加情報を取り出し、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部から符号を取り出し、少なくとも取り出した符号とその別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う情報取出手段、およびある頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部の値が所定の第1識別値である場合、その頂点を挿入頂点と特定し、仮数部の一部の値が所定の第2識別値である場合、その頂点を孤立頂点と特定する頂点種類特定手段として機能させる。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。孤立頂点は、隣接する頂点がすべて調節頂点であり、頂点データに付加情報を埋め込む頂点である。第2識別値は、第1識別値とは異なる。そして、情報取出手段は、挿入頂点および孤立頂点の頂点データについて、付加情報および符号を取り出し、少なくとも取り出した符号とその別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う。 A computer program according to the present invention provides a computer in an information processing apparatus having storage means for storing three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic. Read data, and for at least one vertex data of a plurality of vertex data, extract additional information from a part of the mantissa part of the floating point real number data of one coordinate in the vertex data, and the floating point of another coordinate in the vertex data The code is extracted from a part of the mantissa part of the real data, and at least the obtained code and the remaining part of the mantissa part of the floating-point real data of another coordinate are authenticated by the value obtained by a one-way function. information extraction means for performing, and floating point actual remaining coordinates in the vertex data of a vertex If the partial value of the mantissa part of the data is a predetermined first identification value, the vertex is specified as the insertion vertex, and if the partial value of the mantissa part is the predetermined second identification value, the vertex is It functions as a vertex type specifying means for specifying an isolated vertex . The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Isolated vertices are vertices in which all adjacent vertices are adjustment vertices and additional information is embedded in the vertex data. The second identification value is different from the first identification value. Then, the information extracting means extracts additional information and a sign from the vertex data of the insertion vertex and the isolated vertex, and uses a one-way function from at least the extracted sign and the remaining part of the mantissa part of the floating-point real number data of the other coordinate. The extracted code is authenticated with the value obtained by the above.
これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれているため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 As a result, since a code obtained by a one-way function from at least the remaining part of the mantissa part and the additional information is embedded, it is easy to detect data tampering when the additional information is extracted.
本発明に係る情報処理方法は、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶手段から読み出すステップと、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部から付加情報を取り出すステップと、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部から符号を取り出すステップと、少なくとも取り出した符号とその別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う認証ステップと、ある頂点の頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部の値が所定の第1識別値である場合、その頂点を挿入頂点と特定し、仮数部の一部の値が所定の第2識別値である場合、その頂点を孤立頂点と特定するステップとを備える。挿入頂点は、調節頂点と対になり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。孤立頂点は、隣接する頂点がすべて調節頂点であり、頂点データに付加情報を埋め込む頂点である。第2識別値は、第1識別値とは異なる。そして、認証ステップでは、挿入頂点および孤立頂点の頂点データについて、付加情報および符号を取り出し、少なくとも取り出した符号とその別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う。
An information processing method according to the present invention includes a step of reading from a storage means three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic, and at least one vertex of the plurality of vertex data A step of extracting additional information from a part of a mantissa part of floating point real number data of one coordinate in the vertex data, and a step of extracting a sign from a part of mantissa part of floating point real number data of another coordinate in the vertex data And an authentication step for authenticating the extracted code with a value obtained by a one-way function from at least the extracted code and the remainder of the mantissa part of the floating-point real number data of another coordinate, and vertex data of a certain vertex If the value of a part of the mantissa part of the floating point real number data at the remaining coordinates is the predetermined first identification value, It was identified as the insertion vertex, if some of the values of the mantissa is a predetermined second identification value, and a step of specifying the vertex and isolated vertices. The insertion vertex is a vertex that is paired with the adjustment vertex and embeds additional information in the vertex data. The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value can be changed in order to compensate for a variation in a predetermined parameter value caused by embedding additional information in the insertion vertex. Isolated vertices are vertices in which all adjacent vertices are adjustment vertices and additional information is embedded in the vertex data. The second identification value is different from the first identification value. In the authentication step, the additional information and code are extracted from the vertex data of the insertion vertex and the isolated vertex, and at least the extracted code and the remaining part of the mantissa part of the floating-point real number data of the other coordinate are extracted by a one-way function. The obtained code is authenticated with the obtained value.
これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれているため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 As a result, since a code obtained by a one-way function from at least the remaining part of the mantissa part and the additional information is embedded, it is easy to detect data tampering when the additional information is extracted.
本発明によれば、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データに対する電子透かしなどの付加情報の埋め込みにおいて、データの改ざんが検出されやすくなる。 According to the present invention, data tampering is easily detected in embedding additional information such as a digital watermark into three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic.
以下、図に基づいて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。図1に示す情報処理装置1は、コンピュータを内蔵しており、各種プログラムを実行して演算や処理を実行する。情報処理装置1としては、例えばパーソナルコンピュータが使用される。
FIG. 1 is a block diagram showing the configuration of the information processing apparatus according to the embodiment of the present invention. An
端末装置1において、CPU(Central Processing Unit)11は、プログラムに記述された処理を実行する演算処理装置である。また、ROM(Read Only Memory)12は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM(Random Access Memory)13は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。
In the
CPU11、ROM12およびRAM13は、バスやコントローラチップを介して互いに接続されており、さらに、バス、コントロールチップ、インタフェースなどを介して記憶装置14、表示装置15、および入力装置16に接続されている。
The
記憶装置14は、図示せぬオペレーティングシステム、各種プログラム、および各種データを格納する記録媒体を有する装置である。記憶装置14としては、不揮発性半導体メモリ、ハードディスク駆動装置、ディスクアレイ装置などが使用される。また、表示装置15は、操作画面などを表示する装置である。表示装置15としては、例えば液晶ディスプレイが使用される。入力装置16は、操作画面に対する操作を入力するための装置である。入力装置16としては、例えばキーボードやマウスが使用される。
The
この実施の形態では、記憶装置14には、埋め込みプログラム21、取り出しプログラム22、および図形データ23が記憶されている。なお、プログラム21,22を、CD−ROM、DVD−ROMなどの可搬性のある記録媒体に記録し、その記録媒体から情報処理装置1にインストールするようにしてもよい。
In this embodiment, the
埋め込みプログラム21は、電子透かしなどの付加情報を図形データ23に埋め込むためのコンピュータプログラムである。
The embedding
取り出しプログラム22は、電子透かしなどの付加情報を埋め込まれた図形データからその付加情報を取り出すためのコンピュータプログラムである。
The extracting
図形データ23は、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データである。図形データ23は、例えば、STL形式のデータである。
The
CPU11は、ROM12または記憶装置14に格納されているプログラムをRAM13にロードして実行する。これにより、プログラムに記述された処理を実行する処理部が実現される。
The
図2は、図1におけるCPU11でプログラム21,22が実行されることにより実現される処理部を示すブロック図である。
FIG. 2 is a block diagram showing a processing unit realized by executing the
この実施の形態では、付加情報を図形データ23に埋め込むために埋め込みプログラム21が実行されることにより、頂点分類部31および情報埋込部32が実現され、付加情報を埋め込まれた図形データから付加情報を取り出すために取り出しプログラム22が実行されることにより、頂点種類特定部41および情報取出部42が実現される。
In this embodiment, the embedding
図3は、本発明の実施の形態における各頂点データの構造の一例を示す図である。 FIG. 3 is a diagram showing an example of the structure of each vertex data in the embodiment of the present invention.
図3(A)は、IEEE754で規定されている浮動小数点実数データのデータ構造を示す図である。S(1ビット)は、符号ビットであり、EXP(8ビット)は、指数部であり、FRAC(23ビット)は、仮数部である。 FIG. 3A is a diagram showing the data structure of floating point real number data defined by IEEE754. S (1 bit) is a sign bit, EXP (8 bits) is an exponent part, and FRAC (23 bits) is a mantissa part.
頂点データが浮動小数点実数データである場合において、付加情報を埋め込む頂点データ(x1,x2,x3)については、各座標x1,x2,x3の浮動小数点実数データの仮数部FRACの一部nxi(i=1,2,3)が変更される。図3(B)に示すように、ここでは、nxiは、例えば、下位の所定ビット長(ここでは5ビット)の部分とされる。 When the vertex data is floating point real number data, for the vertex data (x 1 , x 2 , x 3 ) in which the additional information is embedded, the mantissa part FRAC of the floating point real number data at each coordinate x 1 , x 2 , x 3 Nx i (i = 1, 2, 3) is changed. As shown in FIG. 3B, here, nx i is, for example, a lower-order bit length (here, 5 bits) portion.
頂点分類部31は、図形データ23について、頂点間のリンクに基づいて、複数の頂点の一部または全部を、挿入頂点、調節頂点、および孤立頂点に分類する。挿入頂点は、調節頂点と対となり、頂点データに付加情報を埋め込む頂点である。調節頂点は、挿入頂点と対になり、挿入頂点への付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点である。孤立頂点は、隣接する頂点がすべて調節頂点であり、頂点データに付加情報を埋め込む頂点である。なお、ある頂点とその頂点に隣接する頂点とは1本のリンクで直接接続されている。
The
この実施の形態では、上述のパラメータは、x2座標およびx3座標のそれぞれについての重心nxc 2,nxc 3であって、式(1)で示される。 In this embodiment, the above-mentioned parameters are the centroids nx c 2 and nx c 3 for the x 2 coordinate and the x 3 coordinate, respectively, and are expressed by the equation (1).
ここで、N(v)は、注目頂点(挿入頂点または孤立頂点)に隣接する頂点(つまり、注目頂点との間にリンクがある頂点)の集合であり、nxjは、各隣接頂点のxj座標のデータの所定部分(図3(B)の場合、連続する下位5ビット)の値であり、|N(v)|は、注目頂点に隣接する頂点の個数である。Maxiは、nxiの最大値maxiに1を加算した数値である。例えば、nxiのビット長が5である場合、Maxiは32である。keyj(j=2,3)は、剰余演算modの値域を調節するためのx2座標(j=2)とx3座標(j=3)の所定の拡散係数である。なお、keyjは秘匿され公開されない。 Here, N (v) is a set of vertices adjacent to the target vertex (inserted vertex or isolated vertex) (that is, a vertex having a link with the target vertex), and nx j is x of each adjacent vertex. This is the value of a predetermined portion of the data of j- coordinate (in the case of FIG. 3 (B), continuous lower 5 bits), and | N (v) | is the number of vertices adjacent to the target vertex. Max i is a numerical value obtained by adding 1 to the maximum value max i of nx i . For example, when the bit length of nx i is 5, Max i is 32. key j (j = 2,3) is a predetermined diffusion coefficient of x 2 coordinate for adjusting the range of the modulo operation mod (j = 2) and x 3 coordinate (j = 3). Note that key j is concealed and is not disclosed.
情報埋込部32は、RAM13または記憶装置14から図形データ23を読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標(ここではx2座標)の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標(ここではx3座標)の浮動小数点実数データの仮数部の一部に、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込む。この実施の形態では、一方向性関数は、ハッシュ関数である。
具体的には、情報埋込部32は、挿入頂点の頂点データにおける残りの座標(ここではx1座標)の浮動小数点実数データの仮数部の一部nx1に、挿入頂点であることを示す所定の第1識別値を埋め込み、孤立頂点の頂点データにおける残りの座標(ここではx1座標)の浮動小数点実数データの仮数部の一部に、当該頂点が孤立頂点であることを示す所定の第2識別値を埋め込む。この第2識別値は、第1識別値とは異なる。
Specifically, the
例えば、情報埋込部32は、挿入頂点および孤立頂点のx1座標について、式(2)に従って、元のnx1にnx’1を代入する。つまり、仮数部のうち、nx1の部分が変更される。
For example, the
ここで、keyは、第1識別値であり、第2識別値は、key/2となる。なお、keyは、nx1と同一のビット長のデータであり、key/2は整数となる。なお、keyは秘匿され公開されない。 Here, key is the first identification value, and the second identification value is key / 2. Note that key is data having the same bit length as nx 1, and key / 2 is an integer. The key is concealed and is not disclosed.
挿入頂点および孤立頂点のいずれでもない頂点のnx1が、keyおよびkey/2のいずれかと同一である場合には、nx’1は、key/3とされる。なお、key/3も整数となる。挿入頂点および孤立頂点のいずれでもない頂点について、nx1がkeyおよびkey/2のいずれでもない場合、nx’1=nx1とされる。 If nx 1 of a vertex that is neither an insertion vertex nor an isolated vertex is identical to either key or key / 2, nx ′ 1 is set to key / 3. Note that key / 3 is also an integer. For vertices that are neither insertion vertices nor isolated vertices, nx ′ 1 = nx 1 if nx 1 is neither key nor key / 2.
また、例えば、情報埋込部32は、挿入頂点および孤立頂点のx2座標およびx3座標について、式(3)に従って、ビット演算(式(3)ではビットごとの排他的論理和)でnx’jを計算し、nx2にnx’2を代入し、nx3にnx’3を代入する。
Further, for example, the
ここで、wiは、i番目の電子透かしなどの付加情報であり、hはハッシュ関数であり、Nvhは、仮数部における、nxj以外の残りの部分の値である。 Here, w i is additional information such as the i-th digital watermark, h is a hash function, and Nvh is the value of the remaining part other than nx j in the mantissa part.
この実施の形態では、情報埋込部32は、wiとNvhを引数として、ハッシュ関数hの値を計算し、そのハッシュ関数hの値とnxc 3との排他的論理和をnx’3として計算する。
In this embodiment, the
また、情報埋込部32は、挿入頂点に隣接する頂点の頂点データにおける一座標(ここではx2座標)および別座標(ここではx3座標)の浮動小数点実数データの仮数部の一部から、座標ごとに所定のパラメータ値を整数演算で計算し、調節頂点の頂点データにおける一座標(ここではx2座標)および別座標(ここではx3座標)の浮動小数点実数データの仮数部の一部を、所定のパラメータ値の変動を補償するために変更する。
Further, the
この実施の形態では、式(3)に従って挿入頂点の頂点データが変更されるため、調節頂点のx2座標およびx3座標のデータにおける、nxjと同一の所定部分(図3(B)の場合、下位5ビット)nx’adの値が、式(4)に従って変更される。 In this embodiment, since the vertex data of the insertion vertex is changed according to the equation (3), the same predetermined portion as that of nx j in the data of the x 2 coordinate and the x 3 coordinate of the adjustment vertex (FIG. 3B) In this case, the value of the lower 5 bits) nx ′ ad is changed according to the equation (4).
ここで、N(mv)は、挿入頂点に隣接する頂点から調節頂点を除いた集合である。kは、0または1の値を有する係数であって、式(4)の右辺第1項から第2項を減算して得られる値が負である場合にはk=1とし、式(4)の右辺第1項から第2項を減算して得られる値が正である場合にはk=0とする。つまり、nx’adが5ビットである場合、nx’adの値は、0から31(つまり、maxi)のいずれかの値であり、負とはならないため、このように計算される。 Here, N (mv) is a set obtained by removing the adjustment vertex from the vertex adjacent to the insertion vertex. k is a coefficient having a value of 0 or 1, and when the value obtained by subtracting the second term from the first term on the right side of the equation (4) is negative, k = 1 is set, and the equation (4 When the value obtained by subtracting the second term from the first term on the right side of) is positive, k = 0. That is, when nx ′ ad is 5 bits, the value of nx ′ ad is any value from 0 to 31 (that is, max i ) and is not negative, and thus is calculated in this way.
また、頂点種類特定部41は、ある頂点の頂点データにおける、後述の付加情報および符号の取り出し元となる2つの座標以外の残りの座標(ここではx1座標)の浮動小数点実数データの仮数部の一部の値が上述の第1識別値である場合、その頂点を挿入頂点と特定し、仮数部の一部の値が上述の第2識別値である場合、その頂点を孤立頂点と特定する。
Further, the vertex
情報取出部42は、この実施の形態に示す方法で付加情報を埋め込まれた3次元図形データ(図示せず)を、RAM13または記憶装置14から読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標(ここではx2座標)の浮動小数点実数データの仮数部の一部から付加情報を取り出し、その頂点データにおける別座標(ここではx3座標)の浮動小数点実数データの仮数部の一部から符号を取り出し、少なくとも取り出した符号と仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う。この一方向性関数は、付加情報を埋め込む際に使用される上述の一方向性関数と同一の関数である。
The
具体的には、情報取出部42は、挿入頂点および孤立頂点の頂点データについて、付加情報および符号を取り出し、少なくとも取り出した符号と仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う。
Specifically, the
情報取出部42は、挿入頂点および孤立頂点の頂点データについて、式(1)に従って、x2座標およびx3座標の重心nxc 2,nxc 3を計算するとともに、x2座標およびx3座標のデータの仮数部の所定部分nx’2,nx’3を抽出し、式(5)に従って、付加情報w’iおよび符号(埋め込み時のハッシュ値)h’iを取り出す。なお、w’iは、i番目の付加情報を示し、h’iは、i番目の符号を示している。つまり、挿入頂点および孤立頂点の数が合計n個であれば、n対の付加情報および符号が取り出される。
次に、上記情報処理装置の動作について説明する。ここでは、付加情報の埋め込みの際の動作と、付加情報の取り出しの際の動作とについて説明する。 Next, the operation of the information processing apparatus will be described. Here, an operation for embedding additional information and an operation for extracting additional information will be described.
(1)付加情報の埋め込み (1) Embedding additional information
図4は、本発明の実施の形態における付加情報の埋め込みについて説明するフローチャートである。 FIG. 4 is a flowchart for explaining embedding of additional information in the embodiment of the present invention.
まず、頂点分類部31は、図形データ23を読み出し、図形データ23における頂点を注目頂点として1つずつ選択し、分類処理を行っていく。
First, the
最初に、頂点分類部31は、図形データ23におけるすべての頂点を調節頂点候補とする(ステップS1)。例えば、各頂点の頂点データに関連付けて、その頂点の種類を示す頂点種類データがRAM13上に設けられ、そのデータの初期値が、調節頂点候補を示す値とされる。
First, the
次に、頂点分類部31は、注目頂点としてまだ処理していない頂点があるか否かを判定する(ステップS2)。
Next, the
注目頂点としてまだ処理していない(つまり、挿入頂点、調節頂点および孤立頂点として確定しておらず、注目頂点として選択されていない)1または複数の頂点がある場合、頂点分類部31は、その1または複数の頂点から1つの頂点を注目頂点として選択し(ステップS3)、その注目頂点に隣接する頂点を図形データ23に基づいて特定し、その隣接する頂点の頂点種類データを参照して、その注目頂点に隣接する頂点がすべて調節頂点であるか否かを判定する(ステップS4)。
If there is one or more vertices that have not yet been processed as attention vertices (that is, not determined as insertion vertices, adjustment vertices, and isolated vertices and not selected as attention vertices), the
その注目頂点に隣接する頂点がすべて調節頂点である場合、頂点分類部31は、その注目頂点を孤立頂点に分類し、その注目頂点の頂点種類データの値を、孤立頂点であることを示す値とする(ステップS5)。
When all the vertices adjacent to the target vertex are adjustment vertices, the
一方、その注目頂点に隣接する頂点の少なくとも1つが調節頂点ではない場合、頂点分類部31は、その注目頂点に隣接する頂点の少なくとも1つが調節頂点候補であるか否かを判定する(ステップS6)。
On the other hand, if at least one of the vertices adjacent to the target vertex is not the adjustment vertex, the
その注目頂点に隣接する頂点のいずれも調節頂点候補ではない場合、この注目頂点の処理を終了し、ステップS2に戻る。 If none of the vertices adjacent to the target vertex is an adjustment vertex candidate, the processing of the target vertex is terminated, and the process returns to step S2.
一方、その注目頂点に隣接する頂点の少なくとも1つが調節頂点候補である場合、頂点分類部31は、その注目頂点を挿入頂点とし、その注目頂点に隣接する調節頂点候補の1つを選択し、その選択した頂点を、その挿入頂点と対をなす調節頂点とする(ステップS7)。このとき、頂点分類部31は、その注目頂点の頂点種類データの値を、挿入頂点であることを示す値とし、その選択した隣接頂点の頂点種類データの値を、調節頂点であることを示す値とする。また、この2つの頂点が対であることを示す情報も頂点種類データに含められる。
On the other hand, if at least one of the vertices adjacent to the target vertex is an adjustment vertex candidate, the
そして、頂点分類部31は、その注目頂点に隣接する頂点のうちの、調節頂点以外の頂点を調節頂点候補から外す(ステップS8)。このとき、頂点分類部31は、その注目頂点に隣接する頂点のうちの、調節頂点以外の頂点の頂点種別データの値を、調節頂点候補の値から、別の所定値へ変更する。
And the vertex classification |
ステップS7,S8において挿入頂点と調節頂点との対が選択された後、この注目頂点の処理を終了し、ステップS2に戻る。 After the pair of the insertion vertex and the adjustment vertex is selected in steps S7 and S8, the processing for the target vertex is terminated, and the process returns to step S2.
このようにして、図形データ23についての一部または全部の頂点のそれぞれが、挿入頂点、調節頂点、および孤立頂点のいずれかに分類される。
In this way, some or all of the vertices of the
ここで、具体例について説明する。図5は、本発明の実施の形態における挿入頂点および調節頂点の分類について説明する図である。図5(A)は、図形データ23による頂点およびリンクの一例を示している。この図形には、頂点#1から頂点#7が存在している。
Here, a specific example will be described. FIG. 5 is a diagram for explaining the classification of the insertion vertex and the adjustment vertex according to the embodiment of the present invention. FIG. 5A shows an example of vertices and links based on the
まず、これらの頂点#1〜#7は、調節頂点候補とされる(ステップS1)。次に、頂点#1が選択される(ステップS3)。頂点#1について、隣接する頂点の少なくとも1つが調節頂点ではなく(ステップS4)、かつ隣接する頂点の少なくとも1つが調節頂点候補であるので(ステップS6)、図5(B)に示すように、頂点#1は挿入頂点とされ、それに隣接する頂点のうちの頂点#4が調節頂点とされる(ステップS7)。なお、図5において、黒丸の頂点は挿入頂点を表し、白丸の頂点は調節頂点を表している。そして、その他の隣接頂点である、頂点#2、頂点#3、および頂点#5は、調節頂点候補から外される(ステップS8)。
First, these
次に、頂点種類が未確定である頂点#2が選択される(ステップS3)。頂点#2について、隣接する頂点の少なくとも1つが調節頂点ではなく(ステップS4)、かつ隣接する頂点の少なくとも1つが調節頂点候補であるので(ステップS6)、図5(C)に示すように、頂点#2は挿入頂点とされ、それに隣接する頂点のうちの頂点#6が調節頂点とされる(ステップS7)。そして、その他の隣接する調節頂点候補の頂点#7は、調節頂点候補から外される(ステップS8)。
Next, the
次に、頂点種類が未確定である頂点#3が選択される(ステップS3)。頂点#3について、隣接する頂点の少なくとも1つが調節頂点ではなく(ステップS4)、かつ隣接する頂点のいずれも調節頂点候補ではないので(ステップS6)、頂点#3についての処理は終了する。
Next, the
次に、頂点種類が未確定である頂点#5が選択される(ステップS3)。頂点#5について、隣接する頂点の少なくとも1つが調節頂点ではなく(ステップS4)、かつ隣接する頂点の少なくとも1つが調節頂点候補であるので(ステップS6)、図5(D)に示すように、頂点#5は挿入頂点とされ、それに隣接する頂点のうちの頂点#7が調節頂点とされる(ステップS7)。
Next, the
そして、頂点種類が未確定である未処理の頂点がなくなったため、ここで、頂点種類の分類処理は終了される。 Then, since there are no unprocessed vertices whose vertex type is undetermined, the vertex type classification process ends here.
上述のようにして、頂点種類が分類された後、情報埋込部32は、挿入頂点、調節頂点、孤立頂点、およびそれら以外について、まず、その頂点種類に応じて、式(2)に従って、X(x1)座標を変更する(ステップS9)。つまり、情報埋込部32は、頂点種類データの値に基づいて頂点種類を特定し、式(2)に従って、変更後のX(x1)座標の値を特定し、その頂点の頂点データのX(x1)座標の値をその特定した値で変更する。
After the vertex types are classified as described above, the
次に、情報埋込部32は、各挿入頂点について、Y(x2)座標およびZ(x3)座標の値を、式(3)に従って変更する(ステップS10)。さらに、情報埋込部32は、その挿入頂点と対をなす調節頂点について、Y(x2)座標およびZ(x3)座標の値を、式(4)に従って変更する(ステップS11)。
Next, the
また、情報埋込部32は、各孤立頂点について、Y(x2)座標およびZ(x3)座標の値を、式(3)に従って変更する(ステップS12)。
Further, the
このようにして、図形データ23から、付加情報が埋め込まれた図形データが生成される。なお、頂点種別データは、図形データへの付加情報の埋め込み時のみに使用され、付加情報が埋め込まれた図形データには付加されていない。このようにして生成された図形データは、例えば記憶装置14に記憶される。
In this way, graphic data in which additional information is embedded is generated from the
(2)付加情報の取り出し (2) Extraction of additional information
上述のようにして付加情報が埋め込まれた図形データからは、付加情報を取り出すことが可能である。 The additional information can be extracted from the graphic data in which the additional information is embedded as described above.
図6は、本発明の実施の形態における付加情報の取り出しについて説明するフローチャートである。 FIG. 6 is a flowchart for describing extraction of additional information according to the embodiment of the present invention.
頂点種類特定部41は、注目頂点としてまだ処理していない頂点があるか否かを判定する(ステップS21)。
The vertex
注目頂点としてまだ処理していない1または複数の頂点がある場合、頂点種類特定部41は、その1または複数の頂点から1つの頂点を注目頂点として選択し(ステップS22)、その注目頂点の頂点種別がその注目頂点の頂点データにおけるX(x1)座標の値に基づいて特定する(ステップS23)。式(2)に示す分類に基づいて、頂点種別が特定される。
If there is one or more vertices that have not yet been processed as the target vertex, the vertex
そして、その注目頂点の頂点種別が挿入頂点である場合(ステップS24)、情報取出部42は、その注目頂点の頂点データにおけるY(x2)座標およびZ(x3)座標の値から、式(5)に従って付加情報w’と符号h’を取り出す(ステップS25)。
When the vertex type of the target vertex is the insertion vertex (step S24), the
次に、情報取出部42は、この付加情報w’とx3座標の仮数部のnx3以外の残りのビット領域Nvh’とを引数として、式(3)におけるハッシュ関数hの値を計算し、その値と符号h’とを比較し、両者が一致した場合、付加情報w’が正しい(改ざんされていない)ものと認め、両者が一致しない場合、付加情報w’が正しくない(改ざんされている)ものと認める(ステップS26)。
Next, the
一方、その注目頂点の頂点種別が挿入頂点ではなく孤立頂点である場合(ステップS27)、情報取出部42は、その注目頂点の頂点データにおけるY(x2)座標およびZ(x3)座標の値から、式(5)に従って付加情報w’と符号h’を取り出す(ステップS28)。
On the other hand, when the vertex type of the target vertex is not an insertion vertex but an isolated vertex (step S27), the
次に、情報取出部42は、この付加情報w’とx3座標の仮数部のnx3以外の残りのビット領域Nvh’とを引数として、式(3)におけるハッシュ関数hの値を計算し、その値と符号h’とを比較し、両者が一致した場合、付加情報w’が正しい(改ざんされていない)ものと認め、両者が一致しない場合、付加情報w’が正しくない(改ざんされている)ものと認める(ステップS29)。
Next, the
このようにして付加情報が埋め込まれた図形データから付加情報が取り出され、その付加情報の認証が行われる。 In this way, the additional information is extracted from the graphic data in which the additional information is embedded, and the additional information is authenticated.
以上のように、上記実施の形態によれば、付加情報の埋め込みにおいて、図形データ23における複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込む。
As described above, according to the above-described embodiment, when embedding additional information, the mantissa of floating-point real number data of one coordinate in the vertex data of at least one vertex data among the plurality of vertex data in the
また、上記実施の形態によれば、その付加情報の取り出しにおいて、図形データにおける複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部から付加情報を取り出し、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部から符号を取り出し、少なくとも取り出した符号と仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う。 Further, according to the above embodiment, in extracting the additional information, for at least one vertex data of the plurality of vertex data in the graphic data, one mantissa part of the floating point real data of one coordinate in the vertex data is obtained. Value is obtained by a one-way function from at least the extracted code and the remaining part of the mantissa part. Then, the extracted code is authenticated.
これにより、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号が埋め込まれるため、付加情報の取り出しの際に、データの改ざんが検出されやすくなる。 As a result, a code obtained by a one-way function is embedded from at least the remaining mantissa part and the additional information, so that alteration of the data is easily detected when the additional information is extracted.
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。 The above-described embodiments are preferred examples of the present invention, but the present invention is not limited to these, and various modifications and changes can be made without departing from the scope of the present invention. is there.
例えば、上記実施の形態において、ハッシュ関数に別の引数を追加してもよい。 For example, in the above embodiment, another argument may be added to the hash function.
また、上記実施の形態では、図1に示す情報処理装置では、付加情報の埋め込みおよび付加情報の取り出しの両方を実行可能であるが、付加情報の埋め込みおよび付加情報の取り出しの一方のみを実行可能な装置としてもよい。 In the above embodiment, the information processing apparatus shown in FIG. 1 can execute both of embedding additional information and extracting additional information, but can execute only one of embedding additional information and extracting additional information. It is good also as an apparatus.
また、上記実施の形態において、図形データがポリゴンデータである場合、ある頂点から延びるポリゴンの辺をリンクとするようにしてもよい。 In the above embodiment, when the graphic data is polygon data, a side of a polygon extending from a certain vertex may be used as a link.
また、上記実施の形態において、ハッシュ関数の代わりに、他の一方向性関数を使用するようにしてもよい。 In the above embodiment, another one-way function may be used instead of the hash function.
また、上記実施の形態において、埋め込み時に変更される仮数部におけるビット部分の長さは、5ビットに限定されるものではない。 In the above embodiment, the length of the bit part in the mantissa part changed at the time of embedding is not limited to 5 bits.
本発明は、例えば、電子透かしの埋め込みおよび取り出しに適用可能である。 The present invention is applicable to, for example, embedding and extracting a digital watermark.
13 RAM(記憶手段の一例)
14 記憶装置(記憶手段の一例)
21 埋め込みプログラム(コンピュータプログラムの一例)
22 取り出しプログラム(コンピュータプログラムの一例)
23 図形データ(3次元図形データの一例)
31 頂点分類部(頂点分類手段の一例)
32 情報埋込部(情報埋込手段の一例)
41 頂点種類特定部(頂点種類特定手段の一例)
42 情報取出部(情報取出手段の一例)
13 RAM (an example of storage means)
14 Storage device (an example of storage means)
21 Embedded program (an example of a computer program)
22 Extraction program (an example of a computer program)
23 Graphic data (an example of three-dimensional graphic data)
31 vertex classification part (an example of vertex classification means)
32 Information embedding unit (an example of information embedding means)
41 Vertex type specifying part (an example of vertex type specifying means)
42 Information extractor (an example of information extractor)
Claims (9)
前記記憶手段から前記3次元図形データを読み出し、前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくとも前記別座標の浮動小数点実数データの仮数部の残りの部分と前記付加情報とから一方向性関数により得られる符号を埋め込む情報埋込手段と、
前記複数の頂点の一部または全部を、挿入頂点、調節頂点、および孤立頂点に分類する頂点分類手段とを備え、
前記挿入頂点は、前記調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、
前記孤立頂点は、隣接する頂点がすべて前記調節頂点であり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記情報埋込手段は、前記挿入頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、前記挿入頂点であることを示す所定の第1識別値を埋め込み、前記孤立頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、当該頂点が前記孤立頂点であることを示す所定の第2識別値を埋め込み、
前記第2識別値は、前記第1識別値とは異なること、
を特徴とする情報処理装置。 Storage means for storing three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting the three-dimensional graphic;
The three-dimensional graphic data is read from the storage means, and at least one vertex data of the plurality of vertex data is embedded with additional information in a part of the mantissa part of the floating point real number data of one coordinate in the vertex data, A sign obtained by a one-way function from at least the remaining part of the mantissa part of the floating-point real number data of another coordinate and the additional information in a part of the mantissa part of the floating-point real number data of another coordinate in the vertex data. Information embedding means for embedding;
Vertex classification means for classifying part or all of the plurality of vertices into insertion vertices, adjustment vertices, and isolated vertices ;
The insertion vertex is a vertex that is paired with the adjustment vertex and embeds the additional information in the vertex data;
The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
The isolated vertices are all vertices that are adjacent to each other and are vertices that embed the additional information in the vertex data,
The information embedding means embeds a predetermined first identification value indicating the insertion vertex in a part of a mantissa part of floating point real number data of the remaining coordinates in the vertex data of the insertion vertex, A predetermined second identification value indicating that the vertex is the isolated vertex is embedded in a part of the mantissa part of the floating-point real number data of the remaining coordinates in the vertex data of the vertex,
The second identification value is different from the first identification value;
An information processing apparatus characterized by the above.
前記記憶手段から前記3次元図形データを読み出し、前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくとも前記別座標の浮動小数点実数データの仮数部の残りの部分と前記付加情報とから一方向性関数により得られる符号を埋め込む情報埋込手段と、
前記複数の頂点の一部または全部を、挿入頂点および調節頂点に分類する頂点分類手段とを備え、
前記挿入頂点は、前記調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、
前記情報埋込手段は、前記挿入頂点に隣接する頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部から座標ごとに前記所定のパラメータ値を整数演算で計算し、前記調節頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部を、前記所定のパラメータ値の変動を補償するために変更すること、
を特徴とする情報処理装置。 Storage means for storing three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting the three-dimensional graphic;
The three-dimensional graphic data is read from the storage means, and at least one vertex data of the plurality of vertex data is embedded with additional information in a part of the mantissa part of the floating point real number data of one coordinate in the vertex data, A sign obtained by a one-way function from at least the remaining part of the mantissa part of the floating-point real number data of another coordinate and the additional information in a part of the mantissa part of the floating-point real number data of another coordinate in the vertex data. Information embedding means for embedding;
Some or all of the plurality of vertices, a vertex classification means for classifying the inserted vertex and adjusting the vertex,
The insertion vertex is a vertex that is paired with the adjustment vertex and embeds the additional information in the vertex data;
The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
The information embedding means calculates the predetermined parameter value for each coordinate from a part of the mantissa part of the floating point real data of one coordinate and another coordinate in the vertex data of the vertex adjacent to the insertion vertex by integer arithmetic, Changing a part of the mantissa part of the floating point real data of one coordinate and another coordinate in the vertex data of the adjustment vertex in order to compensate for the variation of the predetermined parameter value;
Information processing apparatus said.
前記記憶手段から前記3次元図形データを読み出し、前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくとも前記別座標の浮動小数点実数データの仮数部の残りの部分と前記付加情報とから一方向性関数により得られる符号を埋め込む情報埋込手段、およびThe three-dimensional graphic data is read from the storage means, and at least one vertex data of the plurality of vertex data is embedded with additional information in a part of the mantissa part of the floating point real number data of one coordinate in the vertex data, A sign obtained by a one-way function from at least the remaining part of the mantissa part of the floating-point real number data of another coordinate and the additional information in a part of the mantissa part of the floating-point real number data of another coordinate in the vertex data. Embedding information embedding means, and
前記複数の頂点の一部または全部を、挿入頂点、調節頂点、および孤立頂点に分類する頂点分類手段Vertex classification means for classifying part or all of the plurality of vertices into insertion vertices, adjustment vertices, and isolated vertices
として機能させ、Function as
前記挿入頂点は、前記調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、The insertion vertex is a vertex that is paired with the adjustment vertex and embeds the additional information in the vertex data;
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
前記孤立頂点は、隣接する頂点がすべて前記調節頂点であり、前記頂点データに前記付加情報を埋め込む頂点であり、The isolated vertices are all vertices that are adjacent to each other and are vertices that embed the additional information in the vertex data,
前記情報埋込手段は、前記挿入頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、前記挿入頂点であることを示す所定の第1識別値を埋め込み、前記孤立頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、当該頂点が前記孤立頂点であることを示す所定の第2識別値を埋め込み、The information embedding means embeds a predetermined first identification value indicating the insertion vertex in a part of a mantissa part of floating point real number data of the remaining coordinates in the vertex data of the insertion vertex, A predetermined second identification value indicating that the vertex is the isolated vertex is embedded in a part of the mantissa part of the floating-point real number data of the remaining coordinates in the vertex data of the vertex,
前記第2識別値は、前記第1識別値とは異なること、The second identification value is different from the first identification value;
を特徴とするコンピュータプログラム。A computer program characterized by the above.
前記記憶手段から前記3次元図形データを読み出し、前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくとも前記別座標の浮動小数点実数データの仮数部の残りの部分と前記付加情報とから一方向性関数により得られる符号を埋め込む情報埋込手段、および
前記複数の頂点の一部または全部を、挿入頂点および調節頂点に分類する頂点分類手段
として機能させ、
前記挿入頂点は、前記調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、
前記情報埋込手段は、前記挿入頂点に隣接する頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部から座標ごとに前記所定のパラメータ値を整数演算で計算し、前記調節頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部を、前記所定のパラメータ値の変動を補償するために変更すること、
を特徴とするコンピュータプログラム。 A computer in an information processing apparatus having storage means for storing three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic,
The three-dimensional graphic data is read from the storage means, and at least one vertex data of the plurality of vertex data is embedded with additional information in a part of the mantissa part of the floating point real number data of one coordinate in the vertex data, A sign obtained by a one-way function from at least the remaining part of the mantissa part of the floating-point real number data of another coordinate and the additional information in a part of the mantissa part of the floating-point real number data of another coordinate in the vertex data. Embedding information embedding means , and
A part or all of the plurality of vertices function as vertex classification means for classifying into insertion vertices and adjustment vertices ;
The insertion vertex is a vertex that is paired with the adjustment vertex and embeds the additional information in the vertex data;
The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
The information embedding means calculates the predetermined parameter value for each coordinate from a part of the mantissa part of the floating point real data of one coordinate and another coordinate in the vertex data of the vertex adjacent to the insertion vertex by integer arithmetic, Changing a part of the mantissa part of the floating point real data of one coordinate and another coordinate in the vertex data of the adjustment vertex in order to compensate for the variation of the predetermined parameter value;
A computer program characterized by the above .
前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込むステップと、
その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくとも前記別座標の浮動小数点実数データの仮数部の残りの部分と前記付加情報とから一方向性関数により得られる符号を埋め込むステップと、
前記複数の頂点の一部または全部を、挿入頂点、調節頂点、および孤立頂点に分類するステップと、
を備え、
前記挿入頂点は、前記調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、
前記孤立頂点は、隣接する頂点がすべて前記調節頂点であり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記挿入頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、前記挿入頂点であることを示す所定の第1識別値を埋め込み、前記孤立頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部に、当該頂点が前記孤立頂点であることを示す所定の第2識別値を埋め込み、
前記第2識別値は、前記第1識別値とは異なること、
を特徴とする情報処理方法。 Reading three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting the three-dimensional graphic from the storage means;
Embedding additional information in a part of the mantissa part of floating-point real number data of one coordinate in the vertex data for at least one vertex data of the plurality of vertex data;
A sign obtained by a one-way function from at least the remaining part of the mantissa part of the floating-point real number data of another coordinate and the additional information in a part of the mantissa part of the floating-point real number data of another coordinate in the vertex data. An embedding step;
Classifying some or all of the plurality of vertices into insertion vertices, adjustment vertices, and isolated vertices;
With
The insertion vertex is a vertex that is paired with the adjustment vertex and embeds the additional information in the vertex data;
The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
The isolated vertices are all vertices that are adjacent to each other and are vertices that embed the additional information in the vertex data,
A predetermined first identification value indicating the insertion vertex is embedded in a part of the mantissa part of the floating point real data of the remaining coordinates in the vertex data of the insertion vertex, and the remaining in the vertex data of the isolated vertex A predetermined second identification value indicating that the vertex is the isolated vertex is embedded in a part of the mantissa part of the floating-point real number data at the coordinates of
The second identification value is different from the first identification value;
An information processing method characterized by the above.
前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部に付加情報を埋め込むステップと、Embedding additional information in a part of the mantissa part of floating-point real number data of one coordinate in the vertex data for at least one vertex data of the plurality of vertex data;
その頂点データにおける別座標の浮動小数点実数データの仮数部の一部に、少なくとも前記別座標の浮動小数点実数データの仮数部の残りの部分と前記付加情報とから一方向性関数により得られる符号を埋め込むステップと、A sign obtained by a one-way function from at least the remaining part of the mantissa part of the floating-point real number data of another coordinate and the additional information in a part of the mantissa part of the floating-point real number data of another coordinate in the vertex data. An embedding step;
前記複数の頂点の一部または全部を、挿入頂点および調節頂点に分類するステップと、Classifying some or all of the plurality of vertices into insertion vertices and adjustment vertices;
を備え、With
前記挿入頂点は、前記調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、The insertion vertex is a vertex that is paired with the adjustment vertex and embeds the additional information in the vertex data;
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
前記挿入頂点に隣接する頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部から座標ごとに前記所定のパラメータ値を整数演算で計算し、前記調節頂点の頂点データにおける一座標および別座標の浮動小数点実数データの仮数部の一部を、前記所定のパラメータ値の変動を補償するために変更すること、The predetermined parameter value is calculated for each coordinate from a part of the mantissa of the floating point real data of one coordinate and another coordinate in the vertex data of the vertex adjacent to the insertion vertex by an integer operation, and in the vertex data of the adjustment vertex Changing a part of the mantissa part of floating-point real data in one coordinate and another coordinate to compensate for a variation in the predetermined parameter value;
を特徴とする情報処理方法。An information processing method characterized by the above.
前記記憶手段から前記3次元図形データを読み出し、前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部から付加情報を取り出し、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部から符号を取り出し、少なくとも取り出した前記符号と前記別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した前記符号の認証を行う情報取出手段と、
ある頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部の値が所定の第1識別値である場合、その頂点を挿入頂点と特定し、前記仮数部の一部の値が所定の第2識別値である場合、その頂点を孤立頂点と特定する頂点種類特定手段とを備え、
前記挿入頂点は、調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、
前記孤立頂点は、隣接する頂点がすべて前記調節頂点であり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記第2識別値は、前記第1識別値とは異なり、
前記情報取出手段は、前記挿入頂点および前記孤立頂点の前記頂点データについて、前記付加情報および前記符号を取り出し、少なくとも取り出した前記符号と前記別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した前記符号の認証を行うこと、
を特徴とする情報処理装置。 Storage means for storing three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting the three-dimensional graphic;
Reading the three-dimensional graphic data from the storage means, for at least one vertex data of the plurality of vertex data, to extract additional information from a part of the mantissa part of the floating point real data of one coordinate in the vertex data, The sign is extracted from a part of the mantissa part of the floating-point real number data of another coordinate in the vertex data, and at least by the one-way function from the extracted sign and the remaining part of the mantissa part of the floating-point real number data of the other coordinate Information extraction means for authenticating the extracted code with the obtained value;
When the value of a part of the mantissa part of the floating point real number data of the remaining coordinates in the vertex data of a certain vertex is a predetermined first identification value, the vertex is specified as an insertion vertex, and a part of the part of the mantissa part is specified. If the value is a predetermined second identification value, and a vertex type specifying means for specifying that vertex and isolated vertices,
The insertion vertex is a vertex that is paired with an adjustment vertex and embeds the additional information in the vertex data;
The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
The isolated vertices are all vertices that are adjacent to each other and are vertices that embed the additional information in the vertex data,
The second identification value is different from the first identification value,
The information extracting means extracts the additional information and the code for the vertex data of the insertion vertex and the isolated vertex, and at least the extracted code and the remaining part of the mantissa part of the floating-point real data of the different coordinates Authenticating the extracted code with a value obtained from a one-way function from
Information processing apparatus said.
前記記憶手段から前記3次元図形データを読み出し、前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部から付加情報を取り出し、その頂点データにおける別座標の浮動小数点実数データの仮数部の一部から符号を取り出し、少なくとも取り出した前記符号と前記別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した前記符号の認証を行う情報取出手段、および
ある頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部の値が所定の第1識別値である場合、その頂点を挿入頂点と特定し、前記仮数部の一部の値が所定の第2識別値である場合、その頂点を孤立頂点と特定する頂点種類特定手段
として機能させ、
前記挿入頂点は、調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、
前記孤立頂点は、隣接する頂点がすべて前記調節頂点であり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記第2識別値は、前記第1識別値とは異なり、
前記情報取出手段は、前記挿入頂点および前記孤立頂点の前記頂点データについて、前記付加情報および前記符号を取り出し、少なくとも取り出した前記符号と前記別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した前記符号の認証を行うこと、
を特徴とするコンピュータプログラム。 A computer in an information processing apparatus having storage means for storing three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting a three-dimensional graphic,
Reading the three-dimensional graphic data from the storage means, for at least one vertex data of the plurality of vertex data, to extract additional information from a part of the mantissa part of the floating point real data of one coordinate in the vertex data, The sign is extracted from a part of the mantissa part of the floating-point real number data of another coordinate in the vertex data, and at least by the one-way function from the extracted sign and the remaining part of the mantissa part of the floating-point real number data of the other coordinate Information extraction means for authenticating the extracted code with the obtained value ; and
When the value of a part of the mantissa part of the floating point real number data of the remaining coordinates in the vertex data of a certain vertex is a predetermined first identification value, the vertex is specified as an insertion vertex, and a part of the part of the mantissa part is specified. When the value is a predetermined second identification value, the vertex is identified as an isolated vertex and functions as a vertex type identifying unit ,
The insertion vertex is a vertex that is paired with an adjustment vertex and embeds the additional information in the vertex data;
The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
The isolated vertices are all vertices that are adjacent to each other and are vertices that embed the additional information in the vertex data,
The second identification value is different from the first identification value,
The information extracting means extracts the additional information and the code for the vertex data of the insertion vertex and the isolated vertex, and at least the extracted code and the remaining part of the mantissa part of the floating-point real data of the different coordinates Authenticating the extracted code with a value obtained from a one-way function from
A computer program characterized by the above .
前記複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標の浮動小数点実数データの仮数部の一部から付加情報を取り出すステップと、
その頂点データにおける別座標の浮動小数点実数データの仮数部の一部から符号を取り出すステップと、
少なくとも取り出した前記符号と前記別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した前記符号の認証を行う認証ステップと、
ある頂点の前記頂点データにおける残りの座標の浮動小数点実数データの仮数部の一部の値が所定の第1識別値である場合、その頂点を挿入頂点と特定し、前記仮数部の一部の値が所定の第2識別値である場合、その頂点を孤立頂点と特定するステップと、
を備え、
前記挿入頂点は、調節頂点と対になり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記調節頂点は、前記挿入頂点と対になり、前記挿入頂点への前記付加情報の埋め込みに起因して発生する所定のパラメータ値の変動を補償するために座標値を変更させられる頂点であり、
前記孤立頂点は、隣接する頂点がすべて前記調節頂点であり、前記頂点データに前記付加情報を埋め込む頂点であり、
前記第2識別値は、前記第1識別値とは異なり、
前記認証ステップでは、前記挿入頂点および前記孤立頂点の前記頂点データについて、前記付加情報および前記符号を取り出し、少なくとも取り出した前記符号と前記別座標の浮動小数点実数データの仮数部の残りの部分とから一方向性関数により得られる値で、取り出した前記符号の認証を行うこと、
を特徴とする情報処理方法。 Reading three-dimensional graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting the three-dimensional graphic from the storage means;
For at least one vertex data of the plurality of vertex data, extracting additional information from a part of a mantissa part of floating-point real number data of one coordinate in the vertex data;
Extracting a sign from a part of the mantissa of floating-point real data at another coordinate in the vertex data;
An authentication step for authenticating the extracted code with a value obtained by a one-way function from at least the extracted code and the remaining part of the mantissa part of the floating-point real number data of another coordinate ;
When the value of a part of the mantissa part of the floating point real number data of the remaining coordinates in the vertex data of a certain vertex is a predetermined first identification value, the vertex is specified as an insertion vertex, and a part of the part of the mantissa part is specified. If the value is a predetermined second identification value, identifying the vertex as an isolated vertex;
Equipped with a,
The insertion vertex is a vertex that is paired with an adjustment vertex and embeds the additional information in the vertex data;
The adjustment vertex is a vertex that is paired with the insertion vertex and whose coordinate value is changed in order to compensate for a variation in a predetermined parameter value caused by embedding the additional information in the insertion vertex.
The isolated vertices are all vertices that are adjacent to each other and are vertices that embed the additional information in the vertex data,
The second identification value is different from the first identification value,
In the authentication step, with respect to the vertex data of the insertion vertex and the isolated vertex, the additional information and the code are extracted, and at least from the extracted code and the remaining part of the mantissa part of the floating point real number data of the different coordinates Authenticating the extracted code with a value obtained by a one-way function;
An information processing method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011026993A JP5660918B2 (en) | 2011-02-10 | 2011-02-10 | Information processing apparatus, computer program, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011026993A JP5660918B2 (en) | 2011-02-10 | 2011-02-10 | Information processing apparatus, computer program, and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012169732A JP2012169732A (en) | 2012-09-06 |
JP5660918B2 true JP5660918B2 (en) | 2015-01-28 |
Family
ID=46973482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011026993A Active JP5660918B2 (en) | 2011-02-10 | 2011-02-10 | Information processing apparatus, computer program, and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5660918B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111951349B (en) * | 2019-05-17 | 2024-03-22 | 珠海金山办公软件有限公司 | Method and device for adjusting graph vertex types and electronic equipment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5850346A (en) * | 1995-12-27 | 1998-12-15 | Mitsubishi Electric Information Technology Center America, Inc. | System for embedding hidden source information in three-dimensional computer model data |
JP2004260639A (en) * | 2003-02-27 | 2004-09-16 | Hitachi Ltd | Method for embedding data and method for confirming viewing and listening |
JP2011015210A (en) * | 2009-07-02 | 2011-01-20 | Mitsubishi Electric Corp | Electronic watermark embedding device, detector and method of the same |
-
2011
- 2011-02-10 JP JP2011026993A patent/JP5660918B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012169732A (en) | 2012-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10354019B2 (en) | Recording medium, dental prosthesis design apparatus, and dental prosthesis design method | |
EP2182469A2 (en) | System and method for sensing facial gesture | |
CN109978078B (en) | Font copyright detection method, medium, computer equipment and device | |
JP2014131278A5 (en) | Method and program for authenticating a printed document | |
JP6794197B2 (en) | Information processing equipment, information processing methods and programs | |
CN102549599A (en) | System and method for generating and employing short length iris codes | |
US20150186629A1 (en) | Verification device and control method for verifiction device, as well as computer program | |
JP2011154501A (en) | Learning device, method for learning, identification device, method for identification, program and information processing system | |
CN112383554B (en) | Interface flow abnormity detection method and device, terminal equipment and storage medium | |
JP2017004123A (en) | Determination apparatus, determination method, and determination program | |
US20140064597A1 (en) | Mobile application for extracting geometric elements and mapping to a master key-code database | |
JP5660918B2 (en) | Information processing apparatus, computer program, and information processing method | |
EP3748575A1 (en) | Image processing device, image processing method, and recording medium | |
CN112948619B (en) | Deep learning-based auxiliary input method and device for handwritten chess manual | |
JP2020135631A (en) | Information display method, information display system and program | |
Chao et al. | A graph‐based shape matching scheme for 3D articulated objects | |
CN109886151B (en) | False identity attribute detection method | |
CN116703427A (en) | Anti-counterfeiting tracing method combining dot matrix code and digital watermark | |
CN107004136A (en) | For the method and system for the face key point for estimating facial image | |
CN113887408B (en) | Method, device, equipment and storage medium for detecting activated face video | |
EP3291179B1 (en) | Image processing device, image processing method, and image processing program | |
JP2006252562A (en) | Image recognition method | |
CN113284036B (en) | Vector map reversible watermarking algorithm based on virtual grid interval mapping | |
JP7428870B2 (en) | Tire wear degree estimation device, tire wear degree learning device, tire wear degree estimation method, learned model generation method and program | |
JP2005341493A (en) | Information embedding apparatus, information detecting apparatus, information embedding/detecting system, information embedding method, information detecting method, information embedding/detecting method, information embedding program, information detecting program, information embedding/detecting program and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131022 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140918 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141104 |
|
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: 20141127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5660918 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |