JP5660918B2 - Information processing apparatus, computer program, and information processing method - Google Patents

Information processing apparatus, computer program, and information processing method Download PDF

Info

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
Application number
JP2011026993A
Other languages
Japanese (ja)
Other versions
JP2012169732A (en
Inventor
倫宏 大平
倫宏 大平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Metropolitan Industrial Technology Research Instititute (TIRI)
Original Assignee
Tokyo Metropolitan Industrial Technology Research Instititute (TIRI)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Metropolitan Industrial Technology Research Instititute (TIRI) filed Critical Tokyo Metropolitan Industrial Technology Research Instititute (TIRI)
Priority to JP2011026993A priority Critical patent/JP5660918B2/en
Publication of JP2012169732A publication Critical patent/JP2012169732A/en
Application granted granted Critical
Publication of JP5660918B2 publication Critical patent/JP5660918B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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 Documents 1 and 2).

非特許文献1に記載の技術では、電子透かしの埋込処理において、頂点が挿入頂点(mark vertex)、調節頂点(adjusting vertex)などに分類され、挿入頂点の頂点データ(x,x,x)のx座標に、挿入頂点であることを示す情報が埋め込まれ、x座標に電子透かしが埋め込まれ、x座標に電子透かしのハッシュ値が埋め込まれる。 In the technique described in Non-Patent Document 1, in the digital watermark embedding process, vertices are classified into insertion vertices (mark vertices), adjusting vertices (adjusting vertices), etc., and vertex data (x 1 , x 2 , the x 1 coordinates x 3), embedded information indicating that the insertion vertex, an electronic watermark embedded in the x 2 coordinate, the hash value of the electronic watermark is embedded in x 3 coordinates.

座標に電子透かしを埋め込みx座標にハッシュ値を埋め込む際には、まず、挿入頂点に隣接する頂点のx座標値の重心とx座標値の重心が計算され、それらの値と、電子透かしの値およびハッシュ値とから一意に得られる値が頂点データのx座標およびx座標にそれぞれ代入される。そして、x座標への電子透かしの埋め込みおよびx座標へのハッシュ値の埋め込みに起因して発生するx座標値の重心の変動とx座標値の重心の変動を補償するために、調節頂点の位置(x座標値およびx座標値)が調節される。 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.

そして、電子透かしの取出処理において、各頂点の頂点データのx座標の値に基づいて挿入頂点が特定され、挿入頂点の頂点データのx座標およびx座標から電子透かしおよびハッシュ値を取り出し、取り出した電子透かしのハッシュ値を計算し、計算したハッシュ値と取り出したハッシュ値とを比較して認証が行う。計算したハッシュ値と取り出したハッシュ値とが同一であれば、改ざんがないと判断され、認証に成功する。 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)が指定され、挿入頂点の頂点データ(x,x,x)におけるx座標の浮動小数点実数データの仮数部の一部に、挿入頂点であることを示す情報が埋め込まれ、x座標の浮動小数点実数データの仮数部の一部に電子透かしが埋め込まれ、x座標の浮動小数点実数データの仮数部の一部に電子透かしのハッシュ値が埋め込まれる。 In the technique described in Non-Patent Document 2, in the digital watermark embedding process, insertion vertices (mark vertices) are designated so as not to be adjacent to each other, and x in the vertex data (x 1 , x 2 , x 3 ) of the insertion vertices some of the mantissa of the floating-point number data of the first coordinate, embedded information indicating that the insertion vertex, an electronic watermark is embedded in a part of the mantissa of the floating-point number data x 2 coordinate, x 3 A hash value of the electronic watermark is embedded in a part of the mantissa part of the floating point real number data of the coordinates.

座標に電子透かしを埋め込みx座標にハッシュ値を埋め込む際には、まず、挿入頂点に隣接する頂点のx座標値の浮動小数点実数データの仮数部の一部についての重心とx座標値の浮動小数点実数データの仮数部の一部について重心が計算され、それらの値と電子透かしの値およびハッシュ値との間のビット演算により得られる排他的論理和が頂点データのx座標およびx座標にそれぞれ代入される。 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.

そして、電子透かしの取出処理において、各頂点の頂点データのx座標の値に基づいて挿入頂点が特定され、挿入頂点の頂点データのx座標およびx座標からビット演算で電子透かしおよびハッシュ値を取り出し、取り出した電子透かしのハッシュ値を計算し、計算したハッシュ値と取り出したハッシュ値とを比較して認証が行う。計算したハッシュ値と取り出したハッシュ値とが同一であれば、改ざんがないと判断され、認証に成功する。 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に記載の技術では、ビット演算で挿入頂点のx座標およびx座標に対する電子透かしおよびハッシュ値の埋め込みおよび取り出しが行われるため、上述のような浮動小数点演算の丸め誤差などの演算誤差が発生しない。 In the Non-Patent Document 2 technique, since the embedding and extraction of watermark and hash values are performed with respect to x 2 coordinate and x 3 coordinate insertion vertex bit operations, operations such as rounding errors in floating point operations as described above There is no error.

「A public fragile watermarking scheme for 3D model authentication」、Chang-Min Chou, Din-Chang Tseng著、Computer-Aided Design, Volume 38, Issue 11, November 2006`` A public fragile watermarking scheme for 3D model authentication '', Chang-Min Chou, Din-Chang Tseng, Computer-Aided Design, Volume 38, Issue 11, November 2006 「A numerically stable fragile watermarking scheme for authenticating 3D models」、Wei-Bo Wang et al.著、Computer-Aided Design, Volume 40, Issue 5, May 2008`` A numerically stable fragile watermarking scheme for authenticating 3D models '', Wei-Bo Wang et al., Computer-Aided Design, Volume 40, Issue 5, May 2008

しかしながら、上述の非特許文献2に記載の技術では、挿入頂点の頂点データにおけるx3座標の浮動小数点実数データの仮数部の一部にのみ、電子透かしのハッシュ値が埋め込まれるため、仮数部の残りの部分が改ざんされた場合でも、認証に成功してしまうという問題がある。また、埋め込める情報量が非特許文献1の方法と比較して、減少してしまうという問題点もある。   However, in the technique described in Non-Patent Document 2 described above, since the hash value of the digital watermark is embedded only in a part of the mantissa part of the floating point real number data of the x3 coordinate in the vertex data of the insertion vertex, the remaining mantissa part There is a problem that even if this part is tampered with, authentication is successful. In addition, there is a problem that the amount of information that can be embedded is reduced as compared with the method of Non-Patent Document 1.

本発明は、上記の問題に鑑みてなされたものであり、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.

図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of the information processing apparatus according to the embodiment of the present invention. 図2は、図1におけるCPUでプログラムが実行されることにより実現される処理部を示すブロック図である。FIG. 2 is a block diagram illustrating a processing unit realized by executing a program by the CPU in FIG. 図3は、本発明の実施の形態における各頂点データの構造の一例を示す図である。FIG. 3 is a diagram showing an example of the structure of each vertex data in the embodiment of the present invention. 図4は、本発明の実施の形態における付加情報の埋め込みについて説明するフローチャートである。FIG. 4 is a flowchart for explaining embedding of additional information in the embodiment of the present invention. 図5は、本発明の実施の形態における挿入頂点および調節頂点の分類について説明する図である。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. 図6は、本発明の実施の形態における付加情報の取り出しについて説明するフローチャートである。FIG. 6 is a flowchart for describing extraction of additional information according to the embodiment of the present invention.

以下、図に基づいて本発明の実施の形態を説明する。   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 information processing apparatus 1 shown in FIG. 1 has a built-in computer, and executes various programs to perform calculations and processes. For example, a personal computer is used as the information processing apparatus 1.

端末装置1において、CPU(Central Processing Unit)11は、プログラムに記述された処理を実行する演算処理装置である。また、ROM(Read Only Memory)12は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM(Random Access Memory)13は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。   In the terminal device 1, a CPU (Central Processing Unit) 11 is an arithmetic processing device that executes processing described in a program. A ROM (Read Only Memory) 12 is a nonvolatile memory that stores programs and data in advance. A RAM (Random Access Memory) 13 is a memory that temporarily stores the program and data when the program is executed.

CPU11、ROM12およびRAM13は、バスやコントローラチップを介して互いに接続されており、さらに、バス、コントロールチップ、インタフェースなどを介して記憶装置14、表示装置15、および入力装置16に接続されている。   The CPU 11, the ROM 12 and the RAM 13 are connected to each other via a bus and a controller chip, and are further connected to the storage device 14, the display device 15, and the input device 16 via a bus, a control chip, an interface, and the like.

記憶装置14は、図示せぬオペレーティングシステム、各種プログラム、および各種データを格納する記録媒体を有する装置である。記憶装置14としては、不揮発性半導体メモリ、ハードディスク駆動装置、ディスクアレイ装置などが使用される。また、表示装置15は、操作画面などを表示する装置である。表示装置15としては、例えば液晶ディスプレイが使用される。入力装置16は、操作画面に対する操作を入力するための装置である。入力装置16としては、例えばキーボードやマウスが使用される。   The storage device 14 is a device having a recording medium for storing an operating system (not shown), various programs, and various data. As the storage device 14, a nonvolatile semiconductor memory, a hard disk drive device, a disk array device, or the like is used. The display device 15 is a device that displays an operation screen or the like. For example, a liquid crystal display is used as the display device 15. The input device 16 is a device for inputting an operation on the operation screen. For example, a keyboard or a mouse is used as the input device 16.

この実施の形態では、記憶装置14には、埋め込みプログラム21、取り出しプログラム22、および図形データ23が記憶されている。なお、プログラム21,22を、CD−ROM、DVD−ROMなどの可搬性のある記録媒体に記録し、その記録媒体から情報処理装置1にインストールするようにしてもよい。   In this embodiment, the storage device 14 stores an embedding program 21, an extraction program 22, and graphic data 23. Note that the programs 21 and 22 may be recorded on a portable recording medium such as a CD-ROM or a DVD-ROM, and installed in the information processing apparatus 1 from the recording medium.

埋め込みプログラム21は、電子透かしなどの付加情報を図形データ23に埋め込むためのコンピュータプログラムである。   The embedding program 21 is a computer program for embedding additional information such as a digital watermark in the graphic data 23.

取り出しプログラム22は、電子透かしなどの付加情報を埋め込まれた図形データからその付加情報を取り出すためのコンピュータプログラムである。   The extracting program 22 is a computer program for extracting additional information from graphic data in which additional information such as a digital watermark is embedded.

図形データ23は、3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データである。図形データ23は、例えば、STL形式のデータである。   The graphic data 23 is 3D graphic data having a plurality of vertex data corresponding to a plurality of vertices constituting the 3D graphic. The graphic data 23 is, for example, data in STL format.

CPU11は、ROM12または記憶装置14に格納されているプログラムをRAM13にロードして実行する。これにより、プログラムに記述された処理を実行する処理部が実現される。   The CPU 11 loads a program stored in the ROM 12 or the storage device 14 to the RAM 13 and executes it. Thus, a processing unit that executes processing described in the program is realized.

図2は、図1におけるCPU11でプログラム21,22が実行されることにより実現される処理部を示すブロック図である。   FIG. 2 is a block diagram showing a processing unit realized by executing the programs 21 and 22 by the CPU 11 in FIG.

この実施の形態では、付加情報を図形データ23に埋め込むために埋め込みプログラム21が実行されることにより、頂点分類部31および情報埋込部32が実現され、付加情報を埋め込まれた図形データから付加情報を取り出すために取り出しプログラム22が実行されることにより、頂点種類特定部41および情報取出部42が実現される。   In this embodiment, the embedding program 21 is executed to embed additional information in the graphic data 23, whereby the vertex classification unit 31 and the information embedding unit 32 are realized, and additional information is added from the embedded graphic data. By executing the extraction program 22 to extract information, the vertex type identification unit 41 and the information extraction unit 42 are realized.

図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.

頂点データが浮動小数点実数データである場合において、付加情報を埋め込む頂点データ(x,x,x)については、各座標x,x,xの浮動小数点実数データの仮数部FRACの一部nx(i=1,2,3)が変更される。図3(B)に示すように、ここでは、nxは、例えば、下位の所定ビット長(ここでは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 vertex classification unit 31 classifies some or all of the plurality of vertices into insertion vertices, adjustment vertices, and isolated vertices based on the link between the vertices in the graphic data 23. 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. A vertex and a vertex adjacent to the vertex are directly connected by a single link.

この実施の形態では、上述のパラメータは、x座標およびx座標のそれぞれについての重心nx ,nx であって、式(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).

Figure 0005660918
Figure 0005660918

ここで、N(v)は、注目頂点(挿入頂点または孤立頂点)に隣接する頂点(つまり、注目頂点との間にリンクがある頂点)の集合であり、nxは、各隣接頂点のx座標のデータの所定部分(図3(B)の場合、連続する下位5ビット)の値であり、|N(v)|は、注目頂点に隣接する頂点の個数である。Maxは、nxの最大値maxに1を加算した数値である。例えば、nxのビット長が5である場合、Maxは32である。key(j=2,3)は、剰余演算modの値域を調節するためのx座標(j=2)とx座標(j=3)の所定の拡散係数である。なお、keyは秘匿され公開されない。 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つの頂点データについて、その頂点データにおける一座標(ここではx座標)の浮動小数点実数データの仮数部の一部に付加情報を埋め込み、その頂点データにおける別座標(ここではx座標)の浮動小数点実数データの仮数部の一部に、少なくともその仮数部の残りの部分と付加情報とから一方向性関数により得られる符号を埋め込む。この実施の形態では、一方向性関数は、ハッシュ関数である。 Information embedding unit 32 reads the graphic data 23 from RAM13 or storage device 14, for at least one vertex data of a plurality of vertex data, floating point numbers one coordinates in the vertex data (here x 2 coordinate) embedding the additional information in a part of the mantissa data, the part of the mantissa of the floating-point number data of another coordinate (where x 3 coordinates) in the vertex data, adds at least the remainder of the mantissa information A code obtained by a one-way function is embedded from In this embodiment, the one-way function is a hash function.

具体的には、情報埋込部32は、挿入頂点の頂点データにおける残りの座標(ここではx座標)の浮動小数点実数データの仮数部の一部nxに、挿入頂点であることを示す所定の第1識別値を埋め込み、孤立頂点の頂点データにおける残りの座標(ここではx座標)の浮動小数点実数データの仮数部の一部に、当該頂点が孤立頂点であることを示す所定の第2識別値を埋め込む。この第2識別値は、第1識別値とは異なる。 Specifically, the information embedding unit 32, a part nx 1 mantissa floating-point number data of the remaining coordinates in the vertex data of the insertion vertex (where x 1 coordinates) indicates that an insertion vertex embedding a predetermined first identification value, a part of the mantissa of the floating-point number data of the remaining coordinates in the vertex data of the isolated vertices (where x 1 coordinates), the predetermined indicating that the vertex is isolated vertices The second identification value is embedded. This second identification value is different from the first identification value.

例えば、情報埋込部32は、挿入頂点および孤立頂点のx座標について、式(2)に従って、元のnxにnx’を代入する。つまり、仮数部のうち、nxの部分が変更される。 For example, the information embedding unit 32 substitutes nx ′ 1 for the original nx 1 according to the equation (2) for the x 1 coordinates of the insertion vertex and the isolated vertex. That is, the nx 1 part of the mantissa part is changed.

Figure 0005660918
Figure 0005660918

ここで、keyは、第1識別値であり、第2識別値は、key/2となる。なお、keyは、nxと同一のビット長のデータであり、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.

挿入頂点および孤立頂点のいずれでもない頂点のnxが、keyおよびkey/2のいずれかと同一である場合には、nx’は、key/3とされる。なお、key/3も整数となる。挿入頂点および孤立頂点のいずれでもない頂点について、nxがkeyおよびkey/2のいずれでもない場合、nx’=nxとされる。 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は、挿入頂点および孤立頂点のx座標およびx座標について、式(3)に従って、ビット演算(式(3)ではビットごとの排他的論理和)でnx’を計算し、nxにnx’を代入し、nxにnx’を代入する。 Further, for example, the information embedding unit 32 performs nx on the x 2 coordinate and the x 3 coordinate of the insertion vertex and the isolated vertex by bit operation (exclusive OR for each bit in Equation (3)) according to Equation (3). 'calculates the j, nx to nx 2' by substituting 2, substituting nx '3 to nx 3.

Figure 0005660918
Figure 0005660918

ここで、wは、i番目の電子透かしなどの付加情報であり、hはハッシュ関数であり、Nvhは、仮数部における、nx以外の残りの部分の値である。 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は、wとNvhを引数として、ハッシュ関数hの値を計算し、そのハッシュ関数hの値とnx との排他的論理和をnx’として計算する。 In this embodiment, the information embedding unit 32, w i and Nvh as arguments, calculates the value of the hash function h, exclusive of nx '3 between the value and the nx c 3 of the hash function h Calculate as

また、情報埋込部32は、挿入頂点に隣接する頂点の頂点データにおける一座標(ここではx座標)および別座標(ここではx座標)の浮動小数点実数データの仮数部の一部から、座標ごとに所定のパラメータ値を整数演算で計算し、調節頂点の頂点データにおける一座標(ここではx座標)および別座標(ここではx座標)の浮動小数点実数データの仮数部の一部を、所定のパラメータ値の変動を補償するために変更する。 Further, the information embedding unit 32, from the part of the mantissa of the floating-point number data for one coordinate of the vertex data of the vertex adjacent to the insertion vertex (here x 2 coordinate) and another coordinate (x 3 coordinate in this case) , calculated in integer arithmetic a predetermined parameter value for each coordinate, the mantissa of the floating-point number data for one coordinate of the vertex data of the adjustment vertices (here x 2 coordinate) and another coordinate (x 3 coordinate in this case) one Is changed to compensate for variations in the predetermined parameter value.

この実施の形態では、式(3)に従って挿入頂点の頂点データが変更されるため、調節頂点のx座標およびx座標のデータにおける、nxと同一の所定部分(図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).

Figure 0005660918
Figure 0005660918

ここで、N(mv)は、挿入頂点に隣接する頂点から調節頂点を除いた集合である。kは、0または1の値を有する係数であって、式(4)の右辺第1項から第2項を減算して得られる値が負である場合にはk=1とし、式(4)の右辺第1項から第2項を減算して得られる値が正である場合にはk=0とする。つまり、nx’adが5ビットである場合、nx’adの値は、0から31(つまり、max)のいずれかの値であり、負とはならないため、このように計算される。 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つの座標以外の残りの座標(ここではx座標)の浮動小数点実数データの仮数部の一部の値が上述の第1識別値である場合、その頂点を挿入頂点と特定し、仮数部の一部の値が上述の第2識別値である場合、その頂点を孤立頂点と特定する。 Further, the vertex type specifying unit 41, the vertex data of a vertex, the mantissa part of the floating point number data of the remaining coordinates other than the two coordinates as the extraction source of the additional information and the code will be described later (wherein x 1 coordinates) If some of the values are the above-mentioned first identification values, the vertex is identified as the insertion vertex, and if some values of the mantissa are the above-mentioned second identification value, the vertex is identified as the isolated vertex To do.

情報取出部42は、この実施の形態に示す方法で付加情報を埋め込まれた3次元図形データ(図示せず)を、RAM13または記憶装置14から読み出し、複数の頂点データのうちの少なくとも1つの頂点データについて、その頂点データにおける一座標(ここではx座標)の浮動小数点実数データの仮数部の一部から付加情報を取り出し、その頂点データにおける別座標(ここではx座標)の浮動小数点実数データの仮数部の一部から符号を取り出し、少なくとも取り出した符号と仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う。この一方向性関数は、付加情報を埋め込む際に使用される上述の一方向性関数と同一の関数である。 The information extraction unit 42 reads the three-dimensional graphic data (not shown) in which the additional information is embedded by the method shown in this embodiment from the RAM 13 or the storage device 14 and reads at least one vertex from the plurality of vertex data for data, it retrieves the additional information from the part of the mantissa of the floating-point number data for one coordinate (here x 2 coordinate) in the vertex data, floating point numbers of different coordinates in the vertex data (where x 3 coordinates) A code is extracted from a part of the mantissa part of the data, and the extracted code is authenticated with a value obtained by a one-way function from at least the extracted code and the remaining part of the mantissa part. This one-way function is the same function as the above-described one-way function used when embedding additional information.

具体的には、情報取出部42は、挿入頂点および孤立頂点の頂点データについて、付加情報および符号を取り出し、少なくとも取り出した符号と仮数部の残りの部分とから一方向性関数により得られる値で、取り出した符号の認証を行う。   Specifically, the information extraction unit 42 extracts additional information and code from the vertex data of the insertion vertex and the isolated vertex, and is a value obtained by a one-way function from at least the extracted code and the remaining part of the mantissa part. Then, authentication of the extracted code is performed.

情報取出部42は、挿入頂点および孤立頂点の頂点データについて、式(1)に従って、x座標およびx座標の重心nx ,nx を計算するとともに、x座標およびx座標のデータの仮数部の所定部分nx’,nx’を抽出し、式(5)に従って、付加情報w’および符号(埋め込み時のハッシュ値)h’を取り出す。なお、w’は、i番目の付加情報を示し、h’は、i番目の符号を示している。つまり、挿入頂点および孤立頂点の数が合計n個であれば、n対の付加情報および符号が取り出される。 Information extraction unit 42, the insertion vertex and the vertex data of the isolated vertices, according to equation (1), as well as calculating the centroid nx c 2, nx c 3 of x 2 coordinate and x 3 coordinate, x 2 coordinate and x 3 coordinate the predetermined portion of the mantissa data nx extracts '2, nx' 3, according to equation (5), retrieves the additional information w 'i and code (hash value at the time of embedding) h' i. Note that w ′ i indicates the i-th additional information, and h ′ i indicates the i-th code. That is, if the total number of insertion vertices and isolated vertices is n, n pairs of additional information and codes are extracted.

Figure 0005660918
Figure 0005660918

次に、上記情報処理装置の動作について説明する。ここでは、付加情報の埋め込みの際の動作と、付加情報の取り出しの際の動作とについて説明する。   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 vertex classification unit 31 reads the graphic data 23, selects the vertices in the graphic data 23 one by one as the target vertex, and performs classification processing.

最初に、頂点分類部31は、図形データ23におけるすべての頂点を調節頂点候補とする(ステップS1)。例えば、各頂点の頂点データに関連付けて、その頂点の種類を示す頂点種類データがRAM13上に設けられ、そのデータの初期値が、調節頂点候補を示す値とされる。   First, the vertex classification unit 31 sets all the vertices in the graphic data 23 as adjustment vertex candidates (step S1). For example, in association with the vertex data of each vertex, vertex type data indicating the type of the vertex is provided on the RAM 13, and the initial value of the data is a value indicating the adjustment vertex candidate.

次に、頂点分類部31は、注目頂点としてまだ処理していない頂点があるか否かを判定する(ステップS2)。   Next, the vertex classification unit 31 determines whether there is a vertex that has not yet been processed as a target vertex (step S2).

注目頂点としてまだ処理していない(つまり、挿入頂点、調節頂点および孤立頂点として確定しておらず、注目頂点として選択されていない)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 vertex classification unit 31 One vertex is selected as a target vertex from one or a plurality of vertices (step S3), a vertex adjacent to the target vertex is specified based on the graphic data 23, and the vertex type data of the adjacent vertex is referred to. It is determined whether all vertices adjacent to the target vertex are adjustment vertices (step S4).

その注目頂点に隣接する頂点がすべて調節頂点である場合、頂点分類部31は、その注目頂点を孤立頂点に分類し、その注目頂点の頂点種類データの値を、孤立頂点であることを示す値とする(ステップS5)。   When all the vertices adjacent to the target vertex are adjustment vertices, the vertex classification unit 31 classifies the target vertex as an isolated vertex, and sets the value of the vertex type data of the target vertex as a value indicating that it is an isolated vertex (Step S5).

一方、その注目頂点に隣接する頂点の少なくとも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 vertex classification unit 31 determines whether at least one of the vertices adjacent to the target vertex is the adjustment vertex candidate (step S6). ).

その注目頂点に隣接する頂点のいずれも調節頂点候補ではない場合、この注目頂点の処理を終了し、ステップ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 vertex classification unit 31 selects the target vertex as the insertion vertex, and selects one of the adjustment vertex candidates adjacent to the target vertex, The selected vertex is set as an adjustment vertex paired with the insertion vertex (step S7). At this time, the vertex classification unit 31 sets the value of the vertex type data of the target vertex as a value indicating the insertion vertex, and indicates the value of the vertex type data of the selected adjacent vertex as the adjustment vertex. Value. Information indicating that these two vertices are a pair is also included in the vertex type data.

そして、頂点分類部31は、その注目頂点に隣接する頂点のうちの、調節頂点以外の頂点を調節頂点候補から外す(ステップS8)。このとき、頂点分類部31は、その注目頂点に隣接する頂点のうちの、調節頂点以外の頂点の頂点種別データの値を、調節頂点候補の値から、別の所定値へ変更する。   And the vertex classification | category part 31 remove | excludes vertices other than an adjustment vertex among the vertices adjacent to the attention vertex from an adjustment vertex candidate (step S8). At this time, the vertex classification unit 31 changes the value of the vertex type data of vertices other than the adjustment vertex among the vertices adjacent to the attention vertex from the value of the adjustment vertex candidate to another predetermined value.

ステップ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 graphic data 23 are classified into one of an insertion vertex, an adjustment vertex, and an isolated vertex.

ここで、具体例について説明する。図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 graphic data 23. In this figure, vertex # 1 to vertex # 7 exist.

まず、これらの頂点#1〜#7は、調節頂点候補とされる(ステップS1)。次に、頂点#1が選択される(ステップS3)。頂点#1について、隣接する頂点の少なくとも1つが調節頂点ではなく(ステップS4)、かつ隣接する頂点の少なくとも1つが調節頂点候補であるので(ステップS6)、図5(B)に示すように、頂点#1は挿入頂点とされ、それに隣接する頂点のうちの頂点#4が調節頂点とされる(ステップS7)。なお、図5において、黒丸の頂点は挿入頂点を表し、白丸の頂点は調節頂点を表している。そして、その他の隣接頂点である、頂点#2、頂点#3、および頂点#5は、調節頂点候補から外される(ステップS8)。   First, these vertices # 1 to # 7 are set as adjustment vertex candidates (step S1). Next, vertex # 1 is selected (step S3). For vertex # 1, since at least one of the adjacent vertices is not an adjustment vertex (step S4) and at least one of the adjacent vertices is an adjustment vertex candidate (step S6), as shown in FIG. The vertex # 1 is an insertion vertex, and the vertex # 4 among the vertices adjacent to the vertex # 1 is an adjustment vertex (step S7). In FIG. 5, the black circle vertices represent insertion vertices, and the white circle vertices represent adjustment vertices. Then, the other adjacent vertices, vertex # 2, vertex # 3, and vertex # 5, are excluded from the adjustment vertex candidates (step S8).

次に、頂点種類が未確定である頂点#2が選択される(ステップS3)。頂点#2について、隣接する頂点の少なくとも1つが調節頂点ではなく(ステップS4)、かつ隣接する頂点の少なくとも1つが調節頂点候補であるので(ステップS6)、図5(C)に示すように、頂点#2は挿入頂点とされ、それに隣接する頂点のうちの頂点#6が調節頂点とされる(ステップS7)。そして、その他の隣接する調節頂点候補の頂点#7は、調節頂点候補から外される(ステップS8)。   Next, the vertex # 2 whose vertex type is uncertain is selected (step S3). For vertex # 2, since at least one of the adjacent vertices is not an adjustment vertex (step S4) and at least one of the adjacent vertices is an adjustment vertex candidate (step S6), as shown in FIG. Vertex # 2 is the insertion vertex, and vertex # 6 of the vertices adjacent to it is the adjustment vertex (step S7). Then, the vertex # 7 of other adjacent adjustment vertex candidates is removed from the adjustment vertex candidates (step S8).

次に、頂点種類が未確定である頂点#3が選択される(ステップS3)。頂点#3について、隣接する頂点の少なくとも1つが調節頂点ではなく(ステップS4)、かつ隣接する頂点のいずれも調節頂点候補ではないので(ステップS6)、頂点#3についての処理は終了する。   Next, the vertex # 3 whose vertex type is undefined is selected (step S3). Regarding vertex # 3, since at least one of the adjacent vertices is not an adjustment vertex (step S4) and none of the adjacent vertices is an adjustment vertex candidate (step S6), the processing for vertex # 3 ends.

次に、頂点種類が未確定である頂点#5が選択される(ステップS3)。頂点#5について、隣接する頂点の少なくとも1つが調節頂点ではなく(ステップS4)、かつ隣接する頂点の少なくとも1つが調節頂点候補であるので(ステップS6)、図5(D)に示すように、頂点#5は挿入頂点とされ、それに隣接する頂点のうちの頂点#7が調節頂点とされる(ステップS7)。   Next, the vertex # 5 whose vertex type is uncertain is selected (step S3). For vertex # 5, at least one of the adjacent vertices is not an adjustment vertex (step S4), and at least one of the adjacent vertices is an adjustment vertex candidate (step S6), as shown in FIG. Vertex # 5 is the insertion vertex, and vertex # 7 of the vertices adjacent to it is the adjustment vertex (step S7).

そして、頂点種類が未確定である未処理の頂点がなくなったため、ここで、頂点種類の分類処理は終了される。   Then, since there are no unprocessed vertices whose vertex type is undetermined, the vertex type classification process ends here.

上述のようにして、頂点種類が分類された後、情報埋込部32は、挿入頂点、調節頂点、孤立頂点、およびそれら以外について、まず、その頂点種類に応じて、式(2)に従って、X(x)座標を変更する(ステップS9)。つまり、情報埋込部32は、頂点種類データの値に基づいて頂点種類を特定し、式(2)に従って、変更後のX(x)座標の値を特定し、その頂点の頂点データのX(x)座標の値をその特定した値で変更する。 After the vertex types are classified as described above, the information embedding unit 32 first determines the insertion vertex, the adjustment vertex, the isolated vertex, and others according to the vertex type according to the equation (2). The X (x 1 ) coordinate is changed (step S9). That is, the information embedding unit 32 specifies the vertex type based on the value of the vertex type data, specifies the changed X (x 1 ) coordinate value according to the equation (2), and sets the vertex data of the vertex The value of the X (x 1 ) coordinate is changed with the specified value.

次に、情報埋込部32は、各挿入頂点について、Y(x)座標およびZ(x)座標の値を、式(3)に従って変更する(ステップS10)。さらに、情報埋込部32は、その挿入頂点と対をなす調節頂点について、Y(x)座標およびZ(x)座標の値を、式(4)に従って変更する(ステップS11)。 Next, the information embedding unit 32 changes the values of the Y (x 2 ) coordinate and the Z (x 3 ) coordinate for each insertion vertex according to the equation (3) (step S10). Further, the information embedding unit 32 changes the values of the Y (x 2 ) coordinate and the Z (x 3 ) coordinate for the adjustment vertex that makes a pair with the insertion vertex according to the equation (4) (step S11).

また、情報埋込部32は、各孤立頂点について、Y(x)座標およびZ(x)座標の値を、式(3)に従って変更する(ステップS12)。 Further, the information embedding unit 32 changes the values of the Y (x 2 ) coordinate and the Z (x 3 ) coordinate for each isolated vertex according to the equation (3) (step S12).

このようにして、図形データ23から、付加情報が埋め込まれた図形データが生成される。なお、頂点種別データは、図形データへの付加情報の埋め込み時のみに使用され、付加情報が埋め込まれた図形データには付加されていない。このようにして生成された図形データは、例えば記憶装置14に記憶される。   In this way, graphic data in which additional information is embedded is generated from the graphic data 23. Note that the vertex type data is used only when embedding additional information in the graphic data, and is not added to the graphic data in which the additional information is embedded. The graphic data generated in this way is stored in the storage device 14, for example.

(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 type identification unit 41 determines whether there is a vertex that has not yet been processed as a target vertex (step S21).

注目頂点としてまだ処理していない1または複数の頂点がある場合、頂点種類特定部41は、その1または複数の頂点から1つの頂点を注目頂点として選択し(ステップS22)、その注目頂点の頂点種別がその注目頂点の頂点データにおけるX(x)座標の値に基づいて特定する(ステップS23)。式(2)に示す分類に基づいて、頂点種別が特定される。 If there is one or more vertices that have not yet been processed as the target vertex, the vertex type specifying unit 41 selects one vertex from the one or more vertices as the target vertex (step S22), and the vertex of the target vertex The type is specified based on the value of the X (x 1 ) coordinate in the vertex data of the target vertex (step S23). A vertex type is specified based on the classification shown in Expression (2).

そして、その注目頂点の頂点種別が挿入頂点である場合(ステップS24)、情報取出部42は、その注目頂点の頂点データにおけるY(x)座標およびZ(x)座標の値から、式(5)に従って付加情報w’と符号h’を取り出す(ステップS25)。 When the vertex type of the target vertex is the insertion vertex (step S24), the information extraction unit 42 calculates the formula from the values of the Y (x 2 ) coordinate and the Z (x 3 ) coordinate in the vertex data of the target vertex. In accordance with (5), the additional information w ′ and the code h ′ are extracted (step S25).

次に、情報取出部42は、この付加情報w’とx座標の仮数部のnx以外の残りのビット領域Nvh’とを引数として、式(3)におけるハッシュ関数hの値を計算し、その値と符号h’とを比較し、両者が一致した場合、付加情報w’が正しい(改ざんされていない)ものと認め、両者が一致しない場合、付加情報w’が正しくない(改ざんされている)ものと認める(ステップS26)。 Next, the information extraction unit 42 calculates the value of the hash function h in Expression (3) using the additional information w ′ and the remaining bit area Nvh ′ other than nx 3 of the mantissa part of the x 3 coordinate as arguments. When the value and the sign h ′ are compared, if the two match, the additional information w ′ is recognized as correct (not tampered), and if the two do not match, the additional information w ′ is incorrect (tampered). (Step S26).

一方、その注目頂点の頂点種別が挿入頂点ではなく孤立頂点である場合(ステップS27)、情報取出部42は、その注目頂点の頂点データにおけるY(x)座標およびZ(x)座標の値から、式(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 information extraction unit 42 uses the Y (x 2 ) and Z (x 3 ) coordinates of the vertex data of the target vertex. The additional information w ′ and the sign h ′ are extracted from the value according to the equation (5) (step S28).

次に、情報取出部42は、この付加情報w’とx座標の仮数部のnx以外の残りのビット領域Nvh’とを引数として、式(3)におけるハッシュ関数hの値を計算し、その値と符号h’とを比較し、両者が一致した場合、付加情報w’が正しい(改ざんされていない)ものと認め、両者が一致しない場合、付加情報w’が正しくない(改ざんされている)ものと認める(ステップS29)。 Next, the information extraction unit 42 calculates the value of the hash function h in Expression (3) using the additional information w ′ and the remaining bit area Nvh ′ other than nx 3 of the mantissa part of the x 3 coordinate as arguments. When the value and the sign h ′ are compared, if the two match, the additional information w ′ is recognized as correct (not tampered), and if the two do not match, the additional information w ′ is incorrect (tampered). (Step S29).

このようにして付加情報が埋め込まれた図形データから付加情報が取り出され、その付加情報の認証が行われる。   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 graphic data 23 Additional information is embedded in a part of the part, and a sign obtained by a one-way function from at least the remaining part of the mantissa part and the additional information is added to a part of the mantissa part of floating-point real data at another coordinate in the vertex data. Embed.

また、上記実施の形態によれば、その付加情報の取り出しにおいて、図形データにおける複数の頂点データのうちの少なくとも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次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段と、
前記記憶手段から前記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次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段と、
前記記憶手段から前記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次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段を有する情報処理装置におけるコンピュータを、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,
前記記憶手段から前記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次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段を有する情報処理装置におけるコンピュータを、
前記記憶手段から前記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 .
3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶手段から読み出すステップと、
前記複数の頂点データのうちの少なくとも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.
3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶手段から読み出すステップと、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;
前記複数の頂点データのうちの少なくとも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次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段と、
前記記憶手段から前記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次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを記憶する記憶手段を有する情報処理装置におけるコンピュータを、
前記記憶手段から前記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 .
3次元図形を構成する複数の頂点に対応する複数の頂点データを有する3次元図形データを前記記憶手段から読み出すステップと、
前記複数の頂点データのうちの少なくとも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.
JP2011026993A 2011-02-10 2011-02-10 Information processing apparatus, computer program, and information processing method Active JP5660918B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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