JP7128555B1 - Data matching method - Google Patents
Data matching method Download PDFInfo
- Publication number
- JP7128555B1 JP7128555B1 JP2021153630A JP2021153630A JP7128555B1 JP 7128555 B1 JP7128555 B1 JP 7128555B1 JP 2021153630 A JP2021153630 A JP 2021153630A JP 2021153630 A JP2021153630 A JP 2021153630A JP 7128555 B1 JP7128555 B1 JP 7128555B1
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- sampling
- specific target
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Image Analysis (AREA)
Abstract
【課題】画像や音声等の対象データをコード化するコード生成方法、コード生成装置、プログラム及びデータ照合方法を提供する。【解決手段】情報処理装置を用いて対象データの内容に応じたコードを生成する方法であって、対象データを複数のサンプリング範囲に分割しS12、複数のサンプリング範囲の各々に含まれ、それぞれが数値で表される1又は複数種の要素データのうち少なくとも1つの要素データについてサンプリング範囲ごとに要素データの平均値を求めS13、サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって対象データに対応する参照用コードを生成するS15。【選択図】図9A code generation method, a code generation device, a program, and a data matching method for coding target data such as images and sounds are provided. A method for generating a code according to the content of target data using an information processing device, wherein the target data is divided into a plurality of sampling ranges, S12 is included in each of the plurality of sampling ranges, and each An average value of the element data is obtained for each sampling range for at least one element data among one or more types of element data represented by a numerical value S13, and the average value for each sampling range or a numerical value for a predetermined number of digits from the higher order is obtained. , character string data to generate a reference code corresponding to the target data (S15). [Selection drawing] Fig. 9
Description
本発明は、コード生成方法、コード生成装置、プログラム、データ照合方法に関する。 The present invention relates to a code generation method, a code generation device, a program, and a data collation method.
予め用意した参照用データとの比較・照合により対象データの内容を特定する技術が知られている。当該技術の代表例としては画像認識技術が挙げられる(例えば特開2019-28985号公報参照)。しかし、従来技術では、参照用データを得るための学習時間が膨大に必要であり、あるいは対象データとの比較・照合にかかる処理負荷が大きく高速な処理が難しいという点で改良の余地があった。 There is known a technique for specifying the content of target data by comparing and collating it with reference data prepared in advance. A representative example of this technology is image recognition technology (see, for example, Japanese Patent Application Laid-Open No. 2019-28985). However, in the conventional technology, there is room for improvement in that a huge amount of time is required for learning to obtain reference data, or the processing load required for comparison and collation with target data is large and high-speed processing is difficult. .
本発明に係る具体的態様は、画像や音声等の対象データを少ないデータ量でコード化する新規な技術を提供することを目的の1つとする。 A specific aspect of the present invention aims to provide a novel technique for encoding target data such as images and sounds with a small amount of data.
[1]本発明に係る一態様のデータ照合方法は、情報処理装置を用いて対象データの内容に応じたコードを生成並びに照合する方法であって、(a)参照用データに応じて求められた参照用コードを取得する第1ステップと、(b)特定対象データに対応する特定対象コードを生成する第2ステップと、(c)前記参照用コードと前記特定対象コードとを比較してそれらの一致/不一致を定める第3ステップと、を含み、(d)前記第1ステップにおける前記参照用コードは、(d1)前記参照用データを複数の第1サンプリング範囲に分割するステップと、(d2)前記複数の第1サンプリング範囲の各々に複数含まれる第1要素データであってそれぞれが数値で表される1又は複数種の当該第1要素データのうち少なくとも1種の当該第1要素データについて当該第1サンプリング範囲ごとに当該第1要素データの平均値を求めるステップと、(d3)前記第1サンプリング範囲ごとの前記第1要素データの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記参照用データに対応する前記参照用コードを生成するステップと、を経て予め求められたものであり、(e)前記第2ステップにおける前記特定対象コードは、(e1)前記特定対象データを各前記第1サンプリング範囲と同じように設定された複数の第2サンプリング範囲に分割するステップと、(e2)前記複数の第2サンプリング範囲の各々に複数含まれる第2要素データであってそれぞれが数値で表される1又は複数種の当該第2要素データのうち少なくとも1種であって前記第1要素データと同じ種類の当該第2要素データについて当該第2サンプリング範囲ごとに当該第2要素データの平均値を求めるステップと、(e3)前記第2サンプリング範囲ごとの前記第2要素データの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記参照用データに対応する前記参照用コードを生成するステップと、を経て生成されるものであり、(f)前記第3ステップは、(f1)対応する各前記第1サンプリング範囲と各前記第2サンプリング範囲との間のそれぞれにおいて、前記参照用コードに基づいて得られる各前記第1サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値と前記特定対象コードに基づいて得られる各前記第2サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値との差分を求めるステップと、(f2)前記差分の各々が全て予め定めた許容範囲に収まる場合に前記参照用コードと前記特定対象コードとが一致すると判断するステップと、を含む、データ照合方法である。
[2]本発明に係る一態様のデータ照合方法は、情報処理装置を用いて対象データの内容に応じたコードを生成並びに照合する方法であって、(a)参照用データに応じて求められた参照用コードを取得する第1ステップと、(b)特定対象データに対応する特定対象コードを生成する第2ステップと、(c)前記参照用コードと前記特定対象コードとを比較してそれらの一致/不一致を定める第3ステップと、を含み、(d)前記第1ステップにおける前記参照用コードは、(d1)前記参照用データを複数の第1サンプリング範囲に分割するステップと、(d2)前記複数の第1サンプリング範囲の各々に複数含まれる第1要素データであってそれぞれが数値で表される1又は複数種の当該第1要素データのうち少なくとも1種の当該第1要素データについて当該第1サンプリング範囲ごとに当該第1要素データの平均値を求めるステップと、(d3)前記第1サンプリング範囲ごとの前記第1要素データの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記参照用データに対応する前記参照用コードを生成するステップと、を経て予め求められたものであり、(e)前記第2ステップにおける前記特定対象コードは、(e1)前記特定対象データを各前記第1サンプリング範囲と同じように設定された複数の第2サンプリング範囲に分割するステップと、(e2)前記複数の第2サンプリング範囲の各々に複数含まれる第2要素データであってそれぞれが数値で表される1又は複数種の当該第2要素データのうち少なくとも1種であって前記第1要素データと同じ種類の当該第2要素データについて当該第2サンプリング範囲ごとに当該第2要素データの平均値を求めるステップと、(e3)前記第2サンプリング範囲ごとの前記第2要素データの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記特定対象データに対応する前記特定対象コードを生成するステップと、を経て生成されるものであり、(f)前記第3ステップは、(f1)対応する各前記第1サンプリング範囲と各前記第2サンプリング範囲との間のそれぞれにおいて、前記参照用コードに基づいて得られる各前記第1サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値と前記特定対象コードに基づいて得られる各前記第2サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値との差分又は当該差分の累乗を求めるステップと、(f2)前記差分の合計値又は前記差分の累乗の合計値が全て予め定めた基準値以下である場合に前記参照用コードと前記特定対象コードとが一致すると判断するステップと、を含む、データ照合方法である。
[1] A data collation method according to one aspect of the present invention is a method for generating and collating a code according to the content of target data using an information processing device, comprising: (a) a code obtained according to reference data; (b) a second step of generating a specific target code corresponding to specific target data; and (c) comparing the reference code and the specific target code to compare them. (d) said referencing code in said first step comprises: (d1) dividing said referencing data into a plurality of first sampling ranges; (d2 ) For at least one of the first element data included in each of the plurality of first sampling ranges and each represented by a numerical value. (d3) calculating the average value of the first element data for each first sampling range; and (e) the specific target code in the second step is obtained in advance through the step of generating the reference code corresponding to the reference data by concatenating as character string data, ( e1) dividing the specific target data into a plurality of second sampling ranges set in the same manner as each of the first sampling ranges; The second sampling range for at least one type of the second element data of the same type as the first element data among one or more types of the second element data that are element data and are each represented by a numerical value (e3) concatenating the average value of the second element data for each second sampling range or a predetermined number of upper digits thereof as character string data; and (f) the third step includes (f1) each of the corresponding first sampling ranges and Between each of the second sampling ranges, based on the average value for each of the first sampling ranges obtained based on the reference code or a predetermined number of upper digits thereof and the specific target code for each said second sampling range obtained (f2) obtaining a difference between the average value and a predetermined number of digits from the upper value thereof; and determining that the data is collated.
[2] A data collation method according to one aspect of the present invention is a method of generating and collating a code according to the content of target data using an information processing device, comprising: (a) a code obtained according to reference data; (b) a second step of generating a specific target code corresponding to specific target data; and (c) comparing the reference code and the specific target code to compare them. (d) said referencing code in said first step comprises: (d1) dividing said referencing data into a plurality of first sampling ranges; (d2 ) For at least one of the first element data included in each of the plurality of first sampling ranges and each represented by a numerical value. (d3) calculating the average value of the first element data for each first sampling range; and (e) the specific target code in the second step is obtained in advance through the step of generating the reference code corresponding to the reference data by concatenating as character string data, ( e1) dividing the specific target data into a plurality of second sampling ranges set in the same manner as each of the first sampling ranges; The second sampling range for at least one type of the second element data of the same type as the first element data among one or more types of the second element data that are element data and are each represented by a numerical value (e3) concatenating the average value of the second element data for each second sampling range or a predetermined number of upper digits thereof as character string data; and (f) the third step includes (f1) each of the corresponding first sampling ranges and Between each of the second sampling ranges, based on the average value for each of the first sampling ranges obtained based on the reference code or a predetermined number of upper digits thereof and the specific target code For each said second sampling range obtained (f2) a step of determining the average value of the difference from the numerical value of a predetermined number of digits from the upper order or the power of the difference; and determining that the reference code and the specific target code match in the following cases.
上記構成によれば、画像や音声等の対象データを少ないデータ量でコード化する新規な技術が提供される。 According to the above configuration, a novel technique is provided for encoding target data such as images and sounds with a small amount of data.
<第1実施形態>
図1は、第1実施形態のコード化方法について説明するための図である。ここではコード化の対象となるデータ(対象データ)の一例として画像データを挙げて説明する。また、本明細書におけるコード化とは、対象データに含まれる所定の数値に基づいてこの対象データを特定し得る文字列データを生成することをいう。
<First embodiment>
FIG. 1 is a diagram for explaining the encoding method of the first embodiment. Here, image data will be described as an example of data to be coded (target data). In this specification, "encoding" refers to generating character string data that can identify target data based on a predetermined numerical value included in the target data.
対象データとして図1(A)に示すような画像データを想定する。画像データは、カラー画像でもモノクロ画像でもよい。画像データには、ピクセル(画素)ごとに輝度、色相、彩度、色差などの値(要素データ)が含まれるものとする。ここでは理解を容易にするするために、要素データとして輝度値を用いて説明する。 Image data as shown in FIG. 1A is assumed as target data. The image data may be a color image or a monochrome image. Image data includes values (element data) such as brightness, hue, saturation, and color difference for each pixel. For ease of understanding, luminance values are used as element data for explanation.
図1(B)に示すように、画像データを複数のサンプリング範囲に分割する。ここでは画像データを9つのサンプリング範囲S1、S2、S3・・・S9に分割する。各サンプリング範囲S1等は、例えば、それぞれ幅と高さがともに40ピクセルであり、各サンプリング範囲S1等に含まれるピクセル総数はそれぞれ1600であるとする。また、各ピクセルの輝度値(階調数)は、0~255の範囲の数値で与えられているものとする。 As shown in FIG. 1B, image data is divided into a plurality of sampling ranges. Here, the image data is divided into nine sampling ranges S1, S2, S3, . . . S9. For example, each sampling range S1, etc. has a width and height of 40 pixels, and the total number of pixels included in each sampling range S1, etc. is 1600, respectively. It is also assumed that the luminance value (the number of gradations) of each pixel is given by a numerical value in the range of 0-255.
このとき、各サンプリング範囲S1等に含まれるピクセルのピクセル値(ここでは輝度値)をpx1、px2、・・・px1600とすると、各サンプリング範囲S1等のそれぞれにおいて、ピクセル値の平均値は以下のように求められる。
ピクセル値の合計値: sumSx=px1+px2+px3+・・・px1600
ピクセル値の平均値: Ax=sumSx/1600
At this time, if the pixel values (here, luminance values) of the pixels included in each sampling range S1, etc. are px1, px2, . You are asked to
Sum of pixel values: sumSx=px1+px2+px3+...px1600
Average of pixel values: Ax=sumSx/1600
図1(C)に各サンプリング範囲S1等のそれぞれにおけるピクセル値の平均値の一例を示す。図示の例では、サンプリング範囲S1の平均値A1が128、サンプリング範囲S2の平均値A2が86、サンプリング範囲S3の平均値A3が134、サンプリング範囲S4の平均値A4が101、サンプリング範囲S5の平均値A5が68、サンプリング範囲S1の平均値A6が101、サンプリング範囲S7の平均値A7が115、サンプリング範囲S8の平均値A8が91、サンプリング範囲S9の平均値A9が121である。 FIG. 1C shows an example of average values of pixel values in each sampling range S1 and the like. In the illustrated example, the average value A1 of the sampling range S1 is 128, the average value A2 of the sampling range S2 is 86, the average value A3 of the sampling range S3 is 134, the average value A4 of the sampling range S4 is 101, and the average value of the sampling range S5 The value A5 is 68, the average value A6 of the sampling range S1 is 101, the average value A7 of the sampling range S7 is 115, the average value A8 of the sampling range S8 is 91, and the average value A9 of the sampling range S9 is 121.
次に、各サンプリング範囲S1等における平均値の相対差を以下のように求める。
平均値の合計値: sumA=A1+A2+A3+・・・+A9
=945
平均値の相対差: Vx=(100×Ax)/945
Next, the relative difference between the average values in each sampling range S1 etc. is obtained as follows.
Sum of average values: sumA=A1+A2+A3+...+A9
=945
Relative difference of mean values: Vx = (100 x Ax)/945
図1(D)に各サンプリング範囲S1等のそれぞれにおける平均値の相対差の一例を示す。図示の例では、サンプリング範囲S1の相対差V1が13.54%、サンプリング範囲S2の相対差V2が9.10%、サンプリング範囲S3の相対差V3が14.17%、サンプリング範囲S4の相対差V4が10.68%、サンプリング範囲S5の相対差V5が7.19%、サンプリング範囲S6の相対差V6が10.68%、サンプリング範囲S7の相対差V7が12.16%、サンプリング範囲S8の相対差V8が9.62%、サンプリング範囲S9の相対差V9が12.80%である。 FIG. 1(D) shows an example of the relative difference between the average values in each sampling range S1 and the like. In the illustrated example, the relative difference V1 of the sampling range S1 is 13.54%, the relative difference V2 of the sampling range S2 is 9.10%, the relative difference V3 of the sampling range S3 is 14.17%, and the relative difference of the sampling range S4 is V4 is 10.68%, the relative difference V5 of the sampling range S5 is 7.19%, the relative difference V6 of the sampling range S6 is 10.68%, the relative difference V7 of the sampling range S7 is 12.16%, the sampling range S8 The relative difference V8 is 9.62%, and the relative difference V9 of the sampling range S9 is 12.80%.
これら各サンプリング範囲S1等での相対差を用いて、それぞれの相対差の上位から小数点第2位までの桁の数値(全体で4桁)を文字列データとして抽出する。例えば、サンプリング範囲S1からは「1354」という文字列データが抽出される。なお、十の位に値がないものや小数点以下の桁で値がないものは当該値を0とする。例えば、9.1%であれば「0910」となる。 Using the relative differences in each of these sampling ranges S1 and the like, numerical values of digits from the upper to the second decimal place of each relative difference (four digits in total) are extracted as character string data. For example, the character string data "1354" is extracted from the sampling range S1. If there is no value in the tens place or no value in the digits below the decimal point, the value is set to 0. For example, 9.1% is "0910".
このようにして各サンプリング範囲S1等から抽出された文字列データを連結する。連結順序については特に限定はなく任意に定めることができる。ここではサンプリング範囲S1、S2・・・S9の順に連結することにする。これにより、上記した例においては「135409101417106807191068121609621280」という文字列データが得られる(図1(E)参照)。本実施形態ではこのようにして生成される文字列データを対象データに対応するコードとして用いる。 In this way, the character string data extracted from each sampling range S1 and the like are concatenated. The order of connection is not particularly limited and can be determined arbitrarily. Here, the sampling ranges S1, S2, . . . S9 are connected in this order. As a result, in the above example, the character string data "135409101417106807191068121609621280" is obtained (see FIG. 1(E)). In this embodiment, the character string data generated in this way is used as the code corresponding to the target data.
なお、相対差については必ずしも百分率で表さなくてもよい。また、各サンプリング範囲に対応する文字列データの連結順については、予め定めた順序を常に使用するという前提のもとであればその順序は自由であり、例えばサンプリング範囲S9、S8・・・S1の順に連結すると定めておくこともできる。また、各サンプリング範囲において相対差を何桁まで用いるかも任意である。サンプリング範囲の分割数も任意である。サンプリング範囲の分割数を少なくすればより簡易的で高速に照合を行うことが可能で、他方、サンプリング範囲の分割数を増加させることでより精度の高い照合を行うことが可能になる。 Note that the relative difference does not necessarily have to be expressed in percentage. The order of concatenation of the character string data corresponding to each sampling range is arbitrary on the premise that a predetermined order is always used. For example, sampling ranges S9, S8, . It is also possible to define to connect in the order of . Also, the number of digits of the relative difference to be used in each sampling range is also arbitrary. The number of divisions of the sampling range is also arbitrary. If the number of divisions of the sampling range is reduced, matching can be performed more easily and at high speed.
図2は、上記した方法により生成されるコードと各コードに対応するコンテンツのデータベース構成例を示す図である。ここではコンテンツの例として画像を挙げる。図示のように、予め各画像1、2・・・に対応するコードが上記方法によって生成され、それらを紐づけたデータベースが構築される。例えば、コード「2110・・・」には画像1が対応し、コード「1053・・・」には画像2が対応する。ここで、コンテンツとしての画像1、2・・・というのは、画像データそのものであってもよいし、画像データの内容に対応した付加情報(例えば、画像に含まれる物体等を表す文字列、現実空間上での位置情報、時刻情報、その他任意の付加情報)のデータを含んでもよい。このようなデータベースを予め構築しておくことで、このデータベースの各コードを参照用データとして用いて、特定対象データがどのコンテンツに対応するものであるかを照合することが可能となる。
FIG. 2 is a diagram showing an example of database configuration of codes generated by the above method and contents corresponding to each code. Here, an image is taken as an example of content. As shown in the figure, codes corresponding to each
図3は、データベースを用いた照合の流れを概念的に説明する図である。例えば、撮影して得られた画像データに対して上記方法によりコード化が行われ、この画像データに対応するコードである特定対象コード(図示の例では「8841・・・」)が生成される。この生成された特定対象コードとデータベースの各参照用コードと照合し、生成された特定対象コードと一致する参照用コードがデータベースに存在すれば、撮影された画像に対応するコンテンツ(図示の例では「画像37」)を特定することができる。
FIG. 3 is a diagram conceptually explaining the flow of collation using a database. For example, image data obtained by photographing is coded by the above method, and a specific target code ("8841..." in the illustrated example) corresponding to this image data is generated. . This generated specific target code is compared with each reference code in the database, and if a reference code matching the generated specific target code exists in the database, the content corresponding to the photographed image ( "
例えば、カメラを備えた端末装置(一例としてスマートフォン)を用いて任意の空間を撮影した画像データが得られたとする。また、端末装置には、上記したコード化を実行可能なアプリケーションプログラムが予めインストールされているとともに、図2に示したようなデータベースが記憶されているものとする。なお、データベースはネットワークを介して端末装置と通信可能なサーバに置かれていてもよい。この場合、例えば、ユーザがカメラを向けて撮影された風景の画像に対応するコンテンツが特定されれば、そのコンテンツに関わる情報をユーザの端末装置の画面上に表示させるといった使い方を実現できる。 For example, it is assumed that image data obtained by photographing an arbitrary space using a terminal device (eg, a smartphone) equipped with a camera is obtained. It is also assumed that the terminal device is pre-installed with an application program capable of executing the above-described encoding, and that a database such as that shown in FIG. 2 is stored. Note that the database may be placed on a server that can communicate with the terminal device via a network. In this case, for example, if the content corresponding to the image of the landscape captured by the user pointing the camera is specified, the information related to the content can be displayed on the screen of the user's terminal device.
なお、本願発明者の検討によると、対象データが空間を撮影して得た画像データであれば、サンプリング範囲を64個以上となるようにしてコード化を行うことで、実用上、必要十分な精度で照合・判定を行うことが可能になるという知見が得られている。この条件で生成されるコードのデータ量は192バイト程度であり、非常に小さいデータ量であるといえる。 According to the study of the inventors of the present application, if the target data is image data obtained by photographing a space, it is practically necessary and sufficient to perform encoding by setting the sampling range to 64 or more. Knowledge has been obtained that matching and judgment can be performed with high accuracy. The data volume of the code generated under this condition is about 192 bytes, which can be said to be a very small data volume.
ここで、図3を用いて説明した照合の原理によると、コード同士の文字列データがすべて一致している場合に各コードに対応するコンテンツが同じと判定されるが、以下のように判定の際における許容範囲を設定することで、よりフレキシブルな照合を行うことができる。 Here, according to the principle of matching explained with reference to FIG. 3, when the character string data of the codes match, it is determined that the contents corresponding to each code are the same. By setting the permissible range for each case, more flexible collation can be performed.
図4は、フレキシブルな照合を行う具体的な方法を説明するための図である。また、図5は、上記した図4に示した例におけるサンプリング範囲S1~S9のそれぞれに対応する差分を折れ線グラフで示した図である。 FIG. 4 is a diagram for explaining a specific method of performing flexible collation. FIG. 5 is a line graph showing the difference corresponding to each of the sampling ranges S1 to S9 in the example shown in FIG.
図4(A)に示す例では、参照用コードAと特定対象コードBのそれぞれの文字列データについて、上記したサンプリング範囲に対応する4桁ごとに区切り、それぞれの文字列データを4桁の数値として扱い、対応するサンプリング範囲ごとに数値の差分(A-B)を求める。例えば、サンプリング範囲S1に対応する数値は、参照用コードにおいて「1354」であり、特定対象コードにおいて「1368」であるので、両者の差分を求めると「-14」になる。同様に、他のサンプリング範囲S2~S9についてもそれぞれ差分を求めると、+15、0、-12、+19、+17、+15、0、+18となる。このとき、各サンプリング範囲に対応する差分の許容範囲を例えば±20と予め定めておくとすると、図4(A)に示す例ではサンプリング範囲S1~S9のいずれに対応する差分もこの許容範囲に収まる。このような場合に、参照用コードと特定対象コードとは「同一(一致)」であると判断することができる。図5に示すように、参照用コードと特定対象コードが同一であると判断できる場合(AとB)ではグラフがほぼ重なる。
他方、図4(B)に示す例では、参照用コードAと特定対象コードCのそれぞれの文字列データについて、各サンプリング範囲S1~S9についての差分は、+74、-101、+27、0、-261、+38、+126、-249、+273となる。各サンプリング範囲に対応する差分の許容範囲が±20と予め定められているとすると、図4(B)に示す例ではサンプリング範囲S4に対応する差分だけ許容範囲に収まり、それ以外のサンプリング範囲に対応する差分は許容範囲に収まっていない。このような場合に、参照用コードと特定対象コードとは「異なる(不一致)」と判断することができる。この場合、図5に示すように、参照用コードと特定対象コードが異なると判断できる場合(AとC)ではグラフが重ならない。
In the example shown in FIG. 4(A), the character string data of each of the reference code A and the specific target code B is divided into four digits corresponding to the sampling range described above, and each character string data is divided into four digits. , and find the numerical difference (AB) for each corresponding sampling range. For example, the numerical value corresponding to the sampling range S1 is "1354" in the reference code and "1368" in the specific target code, so the difference between the two is "-14". Similarly, the differences for the other sampling ranges S2 to S9 are +15, 0, -12, +19, +17, +15, 0, +18. At this time, if the allowable range of the difference corresponding to each sampling range is predetermined as ±20, for example, in the example shown in FIG. fit. In such a case, it can be determined that the reference code and the specific target code are "identical (matched)". As shown in FIG. 5, when it can be determined that the reference code and the specific target code are the same (A and B), the graphs almost overlap.
On the other hand, in the example shown in FIG. 4B, for the character string data of the reference code A and the specific target code C, the differences for each sampling range S1 to S9 are +74, -101, +27, 0, - 261, +38, +126, -249, +273. Assuming that the allowable range of the difference corresponding to each sampling range is predetermined as ±20, in the example shown in FIG. The corresponding difference is not within the acceptable range. In such a case, it can be determined that the reference code and the specific target code are “different (mismatched)”. In this case, as shown in FIG. 5, when it can be determined that the reference code and the specific target code are different (A and C), the graphs do not overlap.
なお、許容範囲が設けられていないとすると、画像の撮影条件(反射光、環境光など)が全く同じ状態であることを意味する。これに対して、許容範囲を設けた場合には、光の状態など微弱な環境変化や、利用者の感覚に対応した「解」を導き出すことが可能となる。この許容範囲(環境変数)を用いることにより、人間の目による感覚に近い判断(~かもしれない)を実現できる。許容範囲の大きさについては任意に設定できるが、本願発明者の検討によれば上記した±20程度に設定することが好ましい。 Note that if the allowable range is not provided, it means that the image capturing conditions (reflected light, ambient light, etc.) are exactly the same. On the other hand, if a permissible range is provided, it becomes possible to derive a "solution" corresponding to a weak environmental change such as the state of light and the user's sense. By using this allowable range (environmental variable), it is possible to realize a judgment (maybe) that is close to the sense of the human eye. The size of the allowable range can be set arbitrarily, but according to the study of the inventors of the present application, it is preferable to set it to about ±20 as described above.
図6は、上記した方法を用いてコード生成を行うためのコード生成装置の構成例を示すブロック図である。図示のコード生成装置1は、情報処理部10、カメラ11、マイク12、記憶装置13、操作デバイス14、表示デバイス15を含んで構成されている。
FIG. 6 is a block diagram showing a configuration example of a code generation device for generating code using the method described above. The illustrated
情報処理部10は、コード生成に係る情報処理を行う。この情報処理部10は、機能ブロックとして、サンプリング処理部20、特徴値算出部21、エンコード処理部23、コード記録処理部24を備える。情報処理部10は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有するコンピュータを用い、このコンピュータにおいて所定の動作プログラムを実行させることによって実現される。なお、本実施形態ではサンプリング処理部20が「分割部」に対応し、特徴値算出部が「平均値算出部」及び「相対差算出部」に対応し、エンコード処理部23が「コード生成部」に対応する。
The
カメラ11は、コード生成の対象となり得る空間、物体などを撮影してその画像を生成するものである。ここでいう画像とは、必ずしも可視光範囲での画像に限らず、例えば熱画像であってもよいし、赤外線画像などであってもよい。カメラ11は、撮影した画像の画像データ(ないし画像信号)を情報処理部10へ出力する。
The
マイク12は、コード生成の対象となり得る音を収音して電気信号に変換するものである。ここでいう音とは、必ずしも可聴範囲の音に限らず、超音波、低周波音などであってもよい。マイク12から出力される音の信号は情報処理部10へ出力され、情報処理部10においてデジタルデータに変換されて取り込まれる。
The
記憶装置13は、情報処理部10の構成、動作に必要なプログラムや各種データを記憶するとともに、情報処理部10によって生成されたコードのデータベースを記憶する。この記憶装置13は、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などの不揮発性の記憶装置である。
The
操作デバイス14は、情報処理部10の動作に必要な情報の入力などに用いられるものであり、例えばキーボード、マウス、スイッチ、タッチパネルなどを含み得る。表示デバイス15は、情報処理部10の動作に関する情報の表示に用いられるものであり、例えば液晶表示デバイス、有機EL表示デバイスなどが用いられる。
The
サンプリング処理部20は、コード生成の対象データを複数のサンプリング範囲に分割する処理を行う(図1(B)参照)。対象データは、例えば画像データや音データである。音データの場合には、所定時間ごとに区切ってそれらの区間に含まれる音データを各サンプリング範囲に対応するデータとすることができる(後述の第3実施形態参照)。
The
特徴値算出部21は、サンプリング処理部20によって分割された各サンプリング範囲に含まれる所定データの平均値を求めるとともに(図1(C)参照)、各サンプリング範囲に対応する平均値の相対差を求める(図1(D)参照)。相対差は、例えば上記した例のように百分率で表されるがこれに限定されない。
The feature
エンコード処理部23は、特徴値算出部21によって算出された各サンプリング範囲に対応する相対差(又は平均値)を用いて、対象データに対応するコード(文字列データを連結したコード)を生成する。
The
コード記録処理部24は、エンコード処理部23によって生成されたコードと、このコードに対応するコンテンツを特定する情報のデータとを関連づけて記憶装置13へ記録して、コードのデータベース(図2参照)を生成する。
The code
図7は、上記方法により生成されるコードを用いて対象データの照合を行うユーザ装置の構成例を示すブロック図である。図示のユーザ装置2は、情報処理部50、カメラ51、マイク52、記憶装置53、操作デバイス54、表示デバイス55を含んで構成されている。このユーザ装置2は、例えばユーザが所持するスマートフォン等の情報処理装置に対して所定のアプリケーションプログラムを予めインストールすることによって実現されるものである。
FIG. 7 is a block diagram showing a configuration example of a user device that performs collation of target data using the code generated by the above method. The illustrated
情報処理部50は、コード照合に係る情報処理を行う。この情報処理部50は、機能ブロックとして、サンプリング処理部60、特徴値算出部61、エンコード処理部63、照合処理部64を備える。情報処理部50は、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有するコンピュータを用い、このコンピュータにおいて所定の動作プログラムを実行させることによって実現される。
The
なお、カメラ51、マイク52、記憶装置53、操作デバイス54、表示デバイス55の各々の構成および動作については上記したコード生成装置1におけるカメラ11、マイク12、記憶装置13、操作デバイス14、表示デバイス15と同様であるので、ここでは詳細な説明を省略する。また、サンプリング処理部60、特徴値算出部61、エンコード処理部63の各々の構成および動作についても、上記したコード生成装置1におけるサンプリング処理部20、特徴値算出部21、エンコード処理部23と同様であるので、ここでは詳細な説明を省略する。
The configurations and operations of the
情報処理部50の照合処理部64は、サンプリング処理部60、特徴値算出部61、エンコード処理部63のそれぞれの処理によって得られた特定対象コードと記憶装置53に予め格納されているデータベース(図2参照)を照合し、特定対象コードに対応するコンテンツを特定する。照合処理部64による具体的な照合方法は、コード同士の完全一致を条件とする方法であってもよいし、上記したようにコード同士の相違に許容範囲を設けたフレキシブルな方法であってもよい。特定結果は、例えば表示デバイス55に表示される。
The
図8は、コード生成装置、ユーザ装置のそれぞれにおける情報処理部を実現するコンピュータの構成例を示す図である。図示のコンピュータは、相互に通信可能に接続されたCPU201、ROM202、RAM203、記憶装置204、外部インタフェース(I/F)205を含んで構成されている。CPU201は、ROM202から読み出される基本制御プログラムをベースにして動作し、記憶装置204に格納されたプログラム(アプリケーションプログラム)206を読み出してこれを実行することにより、上記したコントローラ13の機能を実現する。RAM203は、CPU201の動作時に使用させるデータを一時的に記憶する。記憶装置204は、例えばハードディスク、ソリッドステートドライブなどの不揮発性の記憶装置であり、プログラム206など種々のデータを格納する。外部インタフェース205は、CPU201と外部装置を接続するインタフェースであり、例えばカメラ11(51)、マイク12(52)、操作デバイス14(54)、表示デバイス15(55)とCPU201との接続に用いられる。
FIG. 8 is a diagram showing a configuration example of a computer that implements the information processing unit in each of the code generation device and the user device. The illustrated computer includes a
図9(A)は、コード生成装置の動作手順を示すフローチャートである。また、図9(B)は、ユーザ装置の動作手順を示すフローチャートである。なお、いずれの動作手順においても、情報処理の結果に矛盾や不整合を生じない限りにおいて適宜処理順序を入れ替えることも可能であり、またここで言及しない他の処理を追加してもよく、それらの実施態様も排除されない。 FIG. 9A is a flow chart showing the operation procedure of the code generator. Also, FIG. 9B is a flowchart showing the operation procedure of the user device. In any operation procedure, the order of processing can be changed as appropriate as long as there is no contradiction or inconsistency in the results of information processing, and other processing not mentioned here may be added. is not excluded.
まず、コード生成装置の動作手順を説明する。
コード生成装置1に対象データが入力されると(ステップS11)、サンプリング処理部20は、この対象データを複数のサンプリング範囲に分割する処理を行う(ステップS12)。ここで、対象データは、カメラ11から入力される画像データでもよいし、マイク12から入力される信号に対応する音データでもよいし、記憶装置13に予め格納されていた画像データもしくは音データでもよい。また、ネットワークを介してサーバ等(図示せず)から送信されてコード生成装置1で受信されたものであってもよい。
First, the operation procedure of the code generator will be described.
When target data is input to the code generation device 1 (step S11), the
次に、特徴値算出部21は、サンプリング処理部20によって分割された各サンプリング範囲に含まれる所定の要素データの平均値を求める(ステップS13)。ここでの要素データとは、上記のとおり対象データに含まれており対象データの内容、特徴あるいは特性を形作るためのデータであればよい。例えば、上記したように画像データであれば各画素の輝度等であり、音データであれば所定のサンプリング時間ごとの音の大きさであってもよい。
Next, the
次に、特徴値算出部21は、各サンプリング範囲に対応する平均値の相対差を求める(ステップS14)。相対差は、例えば上記した例のように百分率で表されるがこれに限定されない。
Next, the
次に、エンコード処理部23は、特徴値算出部21によって算出された各サンプリング範囲に対応する相対差を用いて、対象データに対応する参照用コード(文字列データを連結したコード)を生成する(ステップS15)。
Next, the
次に、コード記録処理部24は、エンコード処理部23によって生成された参照用コードと、この参照用コードに対応するコンテンツを特定する情報のデータとを関連づけて記憶装置13へ記録して、参照用コードのデータベース(図2参照)を生成する(ステップS16)。
Next, the code
以上の一連の情報処理が、必要な回数を繰り返して実行されることで、複数のコンテンツのそれぞれに対応する参照用コードが生成され、それらの情報を含んだデータベースが得られる。なお、生成されたデータベースは、ネットワークを介して通信可能に接続されたサーバ装置等(図示せず)に送信され、格納されてもよい。それにより、ネットワークを介してデータベースを複数のユーザに対して共有させることができる。 By repeating the above series of information processing a necessary number of times, reference codes corresponding to each of a plurality of contents are generated, and a database containing such information is obtained. Note that the generated database may be transmitted to and stored in a server device or the like (not shown) communicably connected via a network. As a result, the database can be shared by multiple users via the network.
次に、ユーザ装置の動作手順を説明する。
ユーザ装置2に特定対象データが入力されると(ステップS21)、サンプリング処理部60は、この特定対象データを複数のサンプリング範囲に分割する処理を行う(ステップS22)。ここでの特定対象データも、カメラ11から入力される画像データでもよいし、マイク12から入力される信号に対応する音データでもよいし、記憶装置13に予め格納されていた画像データもしくは音データでもよい。
Next, the operating procedure of the user device will be described.
When specific target data is input to the user device 2 (step S21), the
次に、特徴値算出部61は、サンプリング処理部60によって分割された各サンプリング範囲に含まれる所定の要素データの平均値を求める(ステップS23)。ここでの要素データも、上記のとおり対象データに含まれており対象データの内容、特徴あるいは特性を形作るためのデータであればよい。
Next, the
次に、特徴値算出部61は、各サンプリング範囲に対応する平均値の相対差を求める(ステップS24)。
Next, the
次に、エンコード処理部63は、特徴値算出部61によって算出された各サンプリング範囲に対応する相対差を用いて、特定対象データに対応する特定対象コード(文字列データを連結したコード)を生成する(ステップS25)。
Next, the
次に、照合処理部64は、記憶装置53に予め格納されているデータベースを参照して、ステップS25で生成された特定対象コードに対応するコンテンツを特定する(ステップS26)。特定結果は、適宜、表示デバイス55に表示される。記憶装置53に格納されているデータベースは、例えばネットワークを介してサーバ等(図示せず)から送信されてユーザ装置2で受信されたものである。
Next, the
以上が第1実施形態のコード生成及び照合に関する基本的な内容であり、次にその応用例をいくつか説明する。なお、以下の応用例に係るコード生成及び照合はいずれも上記のコード生成装置1およびユーザ装置2(あるいは他の装置)によって実行されるものである。
The above is the basic contents of the code generation and collation of the first embodiment, and some application examples thereof will be described next. Both code generation and verification according to the following application examples are executed by the
図10は、上記した実施形態に係るコード化技術の応用例1を説明するための図である。ここでは、顔認証技術への応用例が示されている。ここでいう顔認証技術とは、ある画像に含まれる顔に対応する人物を特定する技術をいうものとする。また、ある画像とは、カメラによって撮影される静止画像でもよいし、動画像でもよい。動画像の場合には、フレームごとに得られる静止画像を用いることができる。図10(A)に示すように、ある人物の正面からの顔画像データ300が与えられたとする。この顔画像データ300に対して、公知技術を用いて、当該人物を上下左右の各方向から俯瞰した際に対応する顔画像データを自動生成する。もちろん、自動生成ではなく、当該人物から直接に撮影されてもよい。ここでは、正面の顔画像データ300と、これを中心として自動生成(ないし撮影)された上下左右の各方向に対応する顔画像データの合計15個の顔画像データが示されている。
FIG. 10 is a diagram for explaining application example 1 of the encoding technique according to the above embodiment. Here, an example of application to face recognition technology is shown. The face recognition technology here means a technology for specifying a person corresponding to a face included in an image. A certain image may be a still image captured by a camera, or may be a moving image. In the case of moving images, still images obtained for each frame can be used. Assume that
これらの顔画像データに対して、上記のコード生成装置1によって、図10(B)に示すようにそれぞれコード化を行って参照用コードを得る。ここでは、正面の顔画像データ300に対応するコード1、それ以外の上下左右各方向の顔画像データに対応するコード2~コード15が得られている。これら15個のコード1~コード15をひとまとまりの顔認証用データとして紐づける。例えば、識別情報(FaceID)として各コードに「xxxxx_CEC」といった識別情報を付与してこれらと紐づけることができる。また、識別情報には、特定対象となる人物に関する属性情報(例えば、氏名、年齢、所属など)が紐づけられる。
These face image data are coded by the
このような顔認証用データを予め生成し記憶しておくことで、例えばユーザ装置2(又は他の装置)において、リアルタイムにカメラから得られる画像データに基づいて顔認証を行うことができる。具体的な照合方法は種々考えられ、例えばコード1~コード15のいずれか1つでも合致するものがあればその人物と特定してもよいし、複数個のコードが合致することを条件としてもよい。本実施形態のコード化技術により得られるコードは不可逆の文字列データ(テキストデータ)であり、顔画像データ自体は用いないため、例えば顔認証用データがネットワークサーバ上に保存されている場合に、万一、情報漏洩したとしてもプライバシーの保護を図ることができる。また、1個のコードのデータサイズは数百バイトであるから、顔認証に必要なデータ容量を飛躍的に小さくすることができる。例えば、1個の顔画像データのデータサイズが100キロバイトであるとすると15個の顔画像データのデータ容量は1500キロバイトとなるのに対して、1個のコードのデータサイズは例えば192バイト程度にできるので15個のコードのデータ容量としても2880バイトであり、データ容量の差は歴然である。
By generating and storing such face authentication data in advance, for example, the user device 2 (or another device) can perform face authentication based on image data obtained from a camera in real time. Various specific matching methods are conceivable. For example, if any one of the
図11は、上記した実施形態に係るコード化技術の応用例2を説明するための図である。ここでは、空間などの画像データを複数の部分画像に分割し、それぞれの部分画像でコードを生成して画像認識(空間認識)を行う場合の応用例が示されている。具体的には、上記のコード生成装置1により、図11(A)に示すように、対象データとしての画像データ400が複数(ここでは12)の部分画像A~Lに分割される。そして、各部分画像A~Lのそれぞれに対して上記のコード化が行われる。部分画像Aに対応して生成されたコードをA_コードと表す。他の部分画像に対応するコードについても同様である。このようにして生成されたA_コード等の12個のコードは、1つの参照用コード群として紐づけて記録される。
FIG. 11 is a diagram for explaining application example 2 of the encoding technique according to the above embodiment. Here, an application example is shown in which image data such as space is divided into a plurality of partial images, codes are generated for each partial image, and image recognition (space recognition) is performed. Specifically, as shown in FIG. 11A,
特定対象データとしての画像データについて、同様にしてユーザ装置2(又は他の装置)によって複数の部分画像に分割して各々の部分画像に対応するコードが生成される。例えば、ユーザのカメラによってリアルタイムに撮影される静止画像、あるいは動画像の1フレーム分の画像に対して、コード生成が行われる。このとき、例えば図11(B)に示すように、参照用データ群に対応する画像データ400の撮影範囲と、ユーザによる特定対象データとしての画像データ410とが部分的に重複していたとする。ここでは、部分画像E、F、I、Jに対応する部分が重複しているとする。
Image data as specific target data is similarly divided into a plurality of partial images by the user device 2 (or another device), and codes corresponding to each partial image are generated. For example, code generation is performed for a still image captured in real time by a user's camera or for one frame of a moving image. At this time, for example, as shown in FIG. 11B, it is assumed that the imaging range of the
この状態で、参照用コード群に対して、特定対象データである画像データ410から生成されるコード群を総当たりで参照したとすると、部分画像の総数N=12に対して、一致する部分画像の数T=4、一致しない部分画像の数F=8となる(図11(C)参照)。整合率(認識率)をT/Nと定義し、非整合率をF/Nと定義すると、この例では整合率が約33%(T/N=4/12)となり、非整合率が約66%(F/N=8/12)となる。この整合率が何%以上であれば特定対象データと参照用データが一致すると判断するかは用途により異なり、適宜設定すればよい。また、整合率は、類似性の判断に用いることもできる。例えば上記のように整合率が約33%という場合、似ている可能性が高い、近い場所を撮影しているが高いといった判断を行うこともできる。このような手法を用いれば、どのようなフレームインにも対応できる。また、部分画像の総数Nを多くするほど、認識精度を向上させることができる。その場合でも基本的にテキストデータによる検索、照合、判定であるため、一般に知られるテキスト検索と同等の高速な処理を行うことができる。
In this state, assuming that the code group generated from the
図12は、上記した実施形態に係るコード化技術の応用例3を説明するための図である。ここでは、対象物の上下方向を判定する場合の応用例が示されている。対象物としては、上下方向で非対称な形状であれば特にその内容は問わない。例えば、工業機械でピスタチオを割るために上下方向を判定するような場合が挙げられる。 FIG. 12 is a diagram for explaining application example 3 of the encoding technique according to the above embodiment. Here, an application example for determining the vertical direction of an object is shown. Any object can be used as long as it has an asymmetrical shape in the vertical direction. For example, there is a case of judging the vertical direction in order to crack pistachios with an industrial machine.
図12(A)に示すように、ある対象物500をその上下方向での非対称性に着目し、2つの部分a、bに区分けする。一例として、部分aは三角形とみなし、部分bを台形とみなす。部分aの底辺と部分bの下底は等しく、かつ両者の高さも等しいとする。部分a、bを同一サイズの領域510、512(図中点線で示す矩形領域)に当てはめてそれぞれ部分a、b以外の残余部分を比較すると、部分aに対応する矩形領域510のほうが部分bに対応する矩形領域512に比べて残余部分が大きい。このような知見を元に、コード化技術を応用する。
As shown in FIG. 12(A), an
具体的には、図12(B)の左側に示すように、まず対象物500が存在しない状態でベースとなる領域を撮影し、その画像データ520を複数(一例として数百個)の部分画像に分割してそれぞれに対応する参照用コードを生成し、その参照用コード群を記録しておく。
Specifically, as shown on the left side of FIG. 12(B), first, a base area is photographed without the
次に、図12(B)の中央に示すように、ベースとなる領域に対象物500が配置された状態で当該領域を撮影して得られる画像データ522に基づき、対象物500のエッジを検出し、対象物500の存在する有効領域524(図中、太線で示す矩形領域)を抽出する。図12(B)に示すように、この抽出した矩形領域524の内部を、上下半分ずつの領域が同一の部分画像の数となるようにして分割し、各部分画像についてコード化する。なお、部分画像の分割の仕方は参照用コード群の生成時と同様にする。
Next, as shown in the center of FIG. 12B, the edge of the
次に、参照用コード群に対して、対象物500が配置された状態で生成した特定対象コード群を照合すると、対象物の存在する領域に対応する各コードは一致せず、それ以外の領域に対応する各コードは一致することになる。図12(B)においてコードの一致する領域については斜線模様を付して示している。図12(C)に示すように、これらコードの一致する領域の数を、上記した有効領域の上半分の領域524a、下半分の領域524bに分けてそれぞれ計数する。図示の例では、有効領域の上半分の領域524aにおいては24個のコードが一致し、下半分の領域524bにおいては13個のコードが一致することになる。この場合、有効領域の上半分の領域524aが上記した部分aに相当するので「上」、有効領域の下半分の領域524bが上記した部分bに相当するので「下」というように判定することができる。
Next, when the specific target code group generated in the state where the
図13は、上記した実施形態に係るコード化技術の応用例4を説明するための図である。ここでは、映像(画像)の中の対象体(一例として動物)を予めコード化しておき、その参照用コード群を用いて、映像中に存在する対象体を認識する場合の応用例が示されている。具体的には、まず、図13(A)に示すように映像中の対象体600(ここでは動物)に対して公知技術によってエッジ検出を行い、図13(B)に示すようにこの対象体のエッジ610を抽出する。次に、図13(C)に示すように、抽出されたエッジ610およびその内部領域612に対して複数の矩形領域をマッピングする。矩形領域の数は任意に設定でき、数が多いほど認識精度を向上させることができる。そして、マッピングされた各矩形領域の部分画像に対して、上記した方法により、それぞれの部分画像に対応する参照用コードを生成し、その参照用コード群を記録しておく。同様にして、対象体の各撮影方向などに対応する参照用コード群を生成し記録しておく。これらの参照用コード群には、対象体に関する情報(例えば、動物であればその名称などの属性情報)を紐づけて記録しておく。
FIG. 13 is a diagram for explaining application example 4 of the encoding technique according to the above embodiment. Here, an application example is shown in which an object (an example of an animal) in a video (image) is coded in advance, and the reference code group is used to recognize the object existing in the video. ing. Specifically, first, as shown in FIG. 13(A), an object 600 (in this case, an animal) in the image is subjected to edge detection by a known technique, and as shown in FIG. , extract the
次に、例えばリアルタイムに撮影される映像中から、上記と同様にして対象体のエッジ検出、矩形領域のマッピングを行い、各矩形領域の部分画像に対してコード化を行い、映像中の対象体に対応する特定対象コード群を生成する。この特定対象コード群を、予め記録されている参照用コード群と照合することにより、映像中に含まれる対象体を認識し、その有無や名称などの属性を特定することができる。 Next, for example, from the video captured in real time, edge detection of the object and mapping of the rectangular area are performed in the same manner as described above, and the partial image of each rectangular area is coded. Generates a specific target code group corresponding to . By collating this specific target code group with a pre-recorded reference code group, the target included in the video can be recognized, and attributes such as presence or absence and name of the target can be specified.
このように既存のエッジ検出技術と本実施形態のコード化技術を組み合わせることにより、コードの即時登録、即時照合も可能となり、認識精度の向上が実現できる。対象体が空間や電子データの場合でも同様である。本実施形態のコード化技術は、生成から登録、比較、照合、判定までをリアルタイムで実現することが可能であるため、認識精度や認識速度の向上を図ることができる。 By combining the existing edge detection technology and the encoding technology of this embodiment in this way, it becomes possible to perform immediate registration and collation of the code, thereby realizing an improvement in recognition accuracy. The same applies when the object is space or electronic data. The encoding technology of the present embodiment can achieve real-time processing from generation to registration, comparison, collation, and determination, so that recognition accuracy and recognition speed can be improved.
図14は、上記した実施形態に係るコード化技術の応用例5を説明するための図である。ここでは、例えば工業製品の製造時の外観検査工程への適用例が示されている。具体的には、まず図14(A)に示すように検査対象となる製品の外観を撮影して画像データ700を得る。次に、図14(B)に示すように、画像データ700を任意の角度ごと(例えば1°ごと)に360°回転させて、それぞれの角度の画像データ701、702等を得る。そして、それぞれの角度の画像データに基づいてコード化を行い、各コードを参照用コードとして記録しておく。次に、図14(C)に示すように、実際の外観検査工程において、例えばベルト上を流れてくる各製品を撮影して得られる画像データ710~713からそれぞれコードを生成し、これを予め記録しておいた参照用コードと照合する。それにより、製品の配置の角度が一定ではなくても形状や色調などが一致していれば合格品(OK品)と判断し、一部の欠けや色調の相違などがある場合には不良品(NG品)と判断することができる。図示の例では画像データ711、713に対応する製品は合格品であり、画像データ710、713に対応する製品は不良品と判断できる。
FIG. 14 is a diagram for explaining application example 5 of the encoding technique according to the above embodiment. Here, for example, an example of application to a visual inspection process during manufacture of industrial products is shown. Specifically, first, as shown in FIG. 14A,
このように予め参照用コードを生成する際に、1つの良品(不良のない製品)を1つの配置状態(角度)で撮影すれば、メモリ内処理により方向や角度が変わっても識別可能な複数の参照用コードを自動的に生成することができる。また、色情報もコードに埋め込むことにより形状だけでなく色調での判断も可能となる。 When generating a reference code in advance in this way, if one good product (product with no defects) is photographed in one arrangement state (angle), multiple images can be identified even if the direction or angle changes by processing in memory. can automatically generate a reference code for In addition, by embedding color information in the code, it is possible to determine not only the shape but also the color tone.
図15は、上記した実施形態に係るコード化技術の応用例6を説明するための図である。例えば、製品の外観検査工程において製品が一定の配置で流れてくることが確定している場合には、角度を変えた参照用コードの生成は不要である。この場合は一定の配置にした良品に対応する1つの参照用コードで対応できる。ここでは一例としてパソコン用のキーボードの欠損、印刷不調、傷などの不良を検出する場合を考える。 FIG. 15 is a diagram for explaining an application example 6 of the encoding technique according to the embodiment described above. For example, if it is determined in the product visual inspection process that the product will flow in a fixed arrangement, it is not necessary to generate a reference code with a different angle. In this case, one reference code corresponding to non-defective products placed in a fixed arrangement can be used. Here, as an example, let us consider the case of detecting defects such as missing keyboards for personal computers, poor printing, and scratches.
まず、15(A)に示すように検査対象となる製品の外観を撮影して画像データ800を得てコード化を行い、参照用コードとして記録しておく。このとき、図15(B)に示すように、対象製品の画像データ800を複数の矩形領域に分割してそれぞれに対応する部分画像801を得て、各部分画像801に対応する参照用コードの集合である参照用コード群を得ることが好ましい。次に、実際の外観検査工程において、例えばベルト上を流れてくる各製品を撮影して得られる画像データから特定対象コード(群)を生成し、これを予め記録しておいた参照用コード(群)と照合する。それにより、キーボードの欠損、印刷不調、傷などの不良が存在する場合にはそれを検出することができる。この場合に、図15(C)に示すように、不一致となった参照用コードに基づいて不良が存在する領域810を特定することもできる。
First, as shown in 15A, the external appearance of the product to be inspected is photographed to obtain
図16は、上記した実施形態に係るコード化技術の応用例7を説明するための図である。ここでは、対象体の形状と面積を求める方法を説明する。対象体は、一定の撮影領域に配置されて撮影されるものとする。この場合に、まず対象体が配置されていない状態で撮影領域の画像データを得て、これを複数の領域に分割し、各領域の部分画像に対してコード化を行う。これにより、図16(A)に示すように複数(図示の例では81個)のコードCd11、Cd12・・・Cd99からなる参照用コード群が得られるので、この参照用コード群を記録しておく。 FIG. 16 is a diagram for explaining an application example 7 of the encoding technique according to the embodiment described above. Here, a method for obtaining the shape and area of the object will be described. It is assumed that the object is placed in a fixed imaging area and photographed. In this case, first, the image data of the photographing area is obtained in a state where the target object is not arranged, and this is divided into a plurality of areas, and the partial images of each area are coded. As a result, a reference code group consisting of a plurality of (81 in the illustrated example) codes Cd11, Cd12, . . . Cd99 is obtained as shown in FIG. back.
次に、対象体の配置された撮影領域の画像データを得て、これを複数の領域に分割し、各領域の部分画像に対してコード化を行う。それにより、特定対象コード群が得られる。これを上記の参照用コード群と照合する。すると、図16(B)に示すように、コードの一致している領域901(図中の無模様矩形領域)と、コードの一致していない領域902、903(図中の模様が付された矩形領域)が得られる。コードの一致していない領域902、903は、対象体の存在する領域である。ここでは、10%刻みで一致率を区分けてしている。コードが不一致の領域のうち、例えば図示の例では30%~40%の一致率の領域902をつなぐことで対象体のエッジ、すなわち形状が得られる。また、このエッジ内の面積を求めることで対象体の平面視の面積を求めることができる。また、エッジ内において一致率の異なる領域903(ここでは例えば60~70%の一致率)の部分に基づき、対象体の凹凸を推定することもできる。なお、コード同士の一致率の求め方は種々考えられるが、簡便な一例としては、コード同士をそれらの並び順に1文字ずつ比較して一致する文字の数を計数し、その数を全体の文字数で除算する方法を用いることができる。例えば、コードに384文字が含まれており、そのうち370文字が一致していれば一致率は約96%となる。
Next, the image data of the photographing area where the object is arranged is obtained, this is divided into a plurality of areas, and the partial images of each area are coded. As a result, a specific target code group is obtained. Check this against the reference code set above. Then, as shown in FIG. 16(B), an
<第2実施形態>
図17は、第2実施形態のコード化方法について説明するための図である。ここではコード化の対象となるデータ(対象データ)の一例として画像データを挙げて説明する。なお、コード生成装置やユーザ装置の構成については第1実施形態と同様であり(図6、図7参照)、コード生成と照合に係る情報処理方法のみが異なっている。ここでは装置構成の説明を省略し、コード生成と照合の情報処理方法について詳述する。
<Second embodiment>
FIG. 17 is a diagram for explaining the encoding method of the second embodiment. Here, image data will be described as an example of data to be coded (target data). The configurations of the code generation device and the user device are the same as those of the first embodiment (see FIGS. 6 and 7), and only the information processing method for code generation and collation is different. Here, the description of the device configuration is omitted, and the information processing method for code generation and collation will be described in detail.
図17(A)に示すように、対象データ(参照用データ)としての画像データが複数のサンプリング範囲に分割される。図示の例では8行8列の64個のサンプリング範囲S11、S12、S13・・・S88に分割されているが分割数はこれに限定されない。各サンプリング範囲S11~S88に含まれるピクセル総数は、例えば1000~2000である。各ピクセルには、公知のフォーマットに基づいてYUV形式で色情報が含まれているものとする。ここで、Yは輝度値、U(Cb)は輝度値と青色成分との差、V(Cr)は輝度値と赤色成分との差をそれぞれ表すものとする。以下、それぞれの値をY値、U値、V値という。この処理はサンプリング処理部20、60が実行する。
As shown in FIG. 17A, image data as target data (reference data) is divided into a plurality of sampling ranges. In the illustrated example, it is divided into 64 sampling ranges S11, S12, S13, . The total number of pixels included in each sampling range S11-S88 is, for example, 1000-2000. It is assumed that each pixel contains color information in YUV format according to a known format. Here, Y is the luminance value, U(Cb) is the difference between the luminance value and the blue component, and V(Cr) is the difference between the luminance value and the red component. These values are hereinafter referred to as Y value, U value, and V value. This processing is executed by the
このとき、サンプリング範囲S11~S88のそれぞれごとに、Y値、U値、V値の平均値が求められる。平均値の求め方は上記した第1実施形態と同様であり、例えばサンプリング範囲S11については、このサンプリング範囲S11に含まれるすべてのピクセルのY値、U値、V値のそれぞれの合計値を求め、その合計値をサンプリング範囲S11のピクセル総数で除算することにより求められる。他のサンプリング範囲についても同様である。この処理は、特徴値算出部21、61が実行する。
At this time, the average values of the Y value, U value, and V value are obtained for each of the sampling ranges S11 to S88. The method of obtaining the average value is the same as in the above-described first embodiment. , is obtained by dividing the sum by the total number of pixels in the sampling range S11. The same applies to other sampling ranges. This process is executed by the
図17(B)に、各サンプリング範囲のY値、U値、V値の各平均値の一例を示す。ここでは、サンプリング範囲S11のY値の平均値をY11、U値の平均値をU11、V値の平均値をV11というようにして、各サンプリング範囲におけるY値、U値、V値の各平均値を表している。例えば、サンプリング範囲S12では、各平均値は、Y12=119、U12=128、V12=142である。 FIG. 17B shows an example of each average value of the Y value, U value, and V value in each sampling range. Here, the average of the Y values in the sampling range S11 is Y11, the average of the U values is U11, and the average of the V values is V11. represents a value. For example, in sampling range S12, the average values are Y12=119, U12=128, and V12=142.
上記のようにして求められる各サンプリング範囲のY値、U値、V値の各平均値を用いてコードが生成される。一例を図17(C)に示すように、例えば各平均値をY値、U値、V値の順でY11、Y12、Y13、・・・Y21、Y22、・・・Y87、Y88、U11、U12、U13、・・・U21、U22、・・・U87、U88、V11、V12、V13、・・・V21、V22、・・・Y87、Y88というように連結する。なお、これは一例であり、Y値、U値、V値の結合順序は適宜設定できる。このようにして、対象データ(参照用データ)としての画像データに対応した参照用コードが生成される。この処理は、エンコード処理部23、63が実行する。
A code is generated using the average values of the Y, U, and V values in each sampling range obtained as described above. As an example is shown in FIG. 17C, for example, each average value is Y11, Y12, Y13, . . . Y21, Y22, . U12, U13, . . . U21, U22, . . . U87, U88, V11, V12, V13, . Note that this is just an example, and the order of combining the Y value, U value, and V value can be set as appropriate. In this way, a reference code corresponding to image data as target data (reference data) is generated. This processing is executed by the
ここで、Y11~Y88、U11~U88、V11~V88のそれぞれの値が例えば16進数の文字列で表されるとすると、上記のように8行8列の64分割のサンプリング範囲を設定した場合に得られるコードのデータサイズは、192バイト(=64×3)となる。これは384文字のテキストデータに相当する。16進数の文字コードで表記されたコードの一例を図18に示す。16進数文字では1文字あたりのデータ量が4ビットであるから文字数が384文字であるが記録する際のデータ量は192バイトとなる。 Here, if each value of Y11 to Y88, U11 to U88, and V11 to V88 is represented by a hexadecimal character string, for example, when the sampling range is set to 64 divisions of 8 rows and 8 columns, The data size of the code obtained in 1 is 192 bytes (=64×3). This corresponds to 384 characters of text data. FIG. 18 shows an example of a code expressed in hexadecimal character code. In hexadecimal characters, since the data amount per character is 4 bits, the number of characters is 384, but the data amount when recording is 192 bytes.
本願発明者の検討によれば、この192バイトのデータ量が複雑な演算を用いずに比較・照合・判定・認識をリアルタイムで行うための実用的な最小値となる。すなわち、空間・風景・物体・熱源映像・映像・画像などの可視化できる対象データに対して98%程度の認識率を達成できる有効なコードの最小値が192バイトとなる。このデータサイズは、元になる映像や画像の面積やデータサイズに依存しない。 According to the studies of the inventors of the present application, this 192-byte data amount is the practical minimum value for real-time comparison, collation, judgment, and recognition without using complicated calculations. That is, the minimum value of an effective code that can achieve a recognition rate of about 98% for visualized object data such as space, landscape, object, heat source video, video, and image is 192 bytes. This data size does not depend on the area or data size of the original video or image.
例えば、フレームレートが24fpsの動画に対応して毎秒24個のコードを生成した場合のデータ量について考える。上記のように1つの画像に対応するコードのデータサイズが192バイトであるとすると、30分間の動画に対応するコード数は43200となり、そのデータ量は約7.9MBとなる。同様に、1時間の動画に対応するコード数は86400でデータ量は約15.8MBとなり、2時間の動画に対応するコード数は172800でデータ量は約31.6MBとなり、1日間の動画に対応するコード数は2073600でデータ量は約379.7MBとなる。また、各コードに対して座標(経度・緯度・標高:24バイト)、時刻(年月日と時分秒:8バイト)、2バイト文字100文字分のコメント(200バイト)の各関連情報が付加されていたとしても、30分間の動画に対応するデータ量は約17.5MB、1時間の動画に対応するデータ量は約34.9MB、2時間の動画に対応するデータ量は約69.9MB、1日間の動画に対応するデータ量は約838.5MBとなる。なお、毎秒1つのフレームに対応して1つのコードを生成した場合のデータ量は上記の1/24の大きさとなる。この場合、1日間の動画でもデータ量が15.8MB(関連情報なし)、あるいは34.9MB(関連情報あり)と非常に小さくなる。 For example, consider the amount of data when 24 codes are generated per second corresponding to a moving image with a frame rate of 24 fps. Assuming that the data size of the code corresponding to one image is 192 bytes as described above, the number of codes corresponding to a 30-minute moving image is 43200, and the data amount is approximately 7.9 MB. Similarly, the number of codes corresponding to a 1-hour movie is 86400 and the amount of data is about 15.8MB, the number of codes corresponding to a 2-hour movie is 172800 and the amount of data is about 31.6MB, and the number of codes corresponding to a 1-day movie is 172800. The number of corresponding codes is 2073600 and the amount of data is about 379.7 MB. In addition, for each code, related information such as coordinates (longitude, latitude, altitude: 24 bytes), time (year, month, day, hour, minute, second: 8 bytes), and comments for 100 double-byte characters (200 bytes) are provided. Even if they are added, the amount of data corresponding to a 30-minute moving image is about 17.5MB, the amount of data corresponding to a 1-hour moving image is about 34.9MB, and the amount of data corresponding to a 2-hour moving image is about 69MB. 9 MB, the amount of data corresponding to one day's video is about 838.5 MB. Note that the amount of data when one code is generated corresponding to one frame per second is 1/24 of the above. In this case, the amount of data for one day's moving image is very small, 15.8 MB (without related information) or 34.9 MB (with related information).
また、このコードにはYUVの各々の色情報が含まれるので、この色情報を用いて下記の変換式によってRGB形式の色情報を得ることもできる。
R=(1.164×(Y値-16))+(1.596×(V値-128))
G=(1.164×(Y値-16))-(0.391×(U値-128))-(0.813×(V値-128))
B=(1.164×(Y値-16))+(2.018×(U値-128))
Also, since this code includes YUV color information, it is possible to obtain RGB format color information by the following conversion formula using this color information.
R = (1.164 x (Y value - 16)) + (1.596 x (V value - 128))
G = (1.164 x (Y value -16)) - (0.391 x (U value -128)) - (0.813 x (V value -128))
B = (1.164 x (Y value - 16)) + (2.018 x (U value - 128))
図19は、第2実施形態のコードを用いた照合方法を説明するための図である。ここでは、説明を簡素化するために、3行3列のサンプリング範囲が設定されている場合を考える。図中、左側には予め生成されて記録された参照用コードを示し、右側には特定対象データから得られた特定対象コードを示す。なお、各コードの実態は上記した図17(C)に示したような文字列であるが、ここではサンプリング範囲ごとの対応が分かりやすくなるように表現している。照合方法としては、例えば、単純に比較する方法と、相対的に比較する方法などが考えられる。これらの処理は、照合処理部64が実行する。
FIG. 19 is a diagram for explaining a matching method using codes according to the second embodiment. Here, for the sake of simplification, consider a case where a sampling range of 3 rows and 3 columns is set. In the drawing, the reference code generated and recorded in advance is shown on the left side, and the specific target code obtained from the specific target data is shown on the right side. Each code is actually a character string as shown in FIG. 17C, but is expressed here so that the correspondence between sampling ranges can be easily understood. As a matching method, for example, a simple comparison method, a relative comparison method, and the like are conceivable. These processes are executed by the
まず、単純に比較する方法を説明する。サンプリング範囲ごとに、参照用コードと特定対象コードのY値、U値、V値のそれぞれの差分を求め、その差分を二乗する。例えば、図示の例では、1行1列のサンプリング範囲におけるY値の差分の二乗は、(202-195)2=49となる。同様に、1行2列のサンプリング範囲におけるY値の差分の二乗は、(195-212)2=289となる。同様に、例えば3行3列のサンプリング範囲におけるY値の差分の二乗は、(149-190)2=1681となる。他のサンプリング範囲についても同様にしてY値の差分の二乗を求め、それらの合計値を求める。図示の例では、各サンプリング範囲におけるY値の差分の二乗を合計するとその合計値は15114(=49+289+・・・+1681)となる。また、U値、V値についても同様にして各値の差分の二乗を合計するとその合計値はそれぞれ8694、3072となる。 First, a simple comparison method will be described. For each sampling range, the difference between the Y value, U value, and V value of the reference code and the specific target code is obtained, and the difference is squared. For example, in the illustrated example, the square of the Y value difference in the sampling range of 1 row and 1 column is (202-195) 2 =49. Similarly, the square of the Y value difference in the sampling range of 1 row and 2 columns is (195-212) 2 =289. Similarly, the square of the Y value difference in the sampling range of, for example, 3 rows and 3 columns is (149−190) 2 =1681. For the other sampling ranges, the squares of the differences of the Y values are obtained in the same manner, and the total value thereof is obtained. In the illustrated example, summing up the squares of the differences of the Y values in each sampling range gives a total value of 15114 (=49+289+...+1681). Likewise, for the U value and the V value, summing up the squares of the differences between the values yields 8694 and 3072, respectively.
このようにしてY値、U値、V値のそれぞれに対応する合計値が得られると、それらを予め設定した基準値と比較し、各値ともに基準値以下である場合に、参照用コードと特定対象コードが一致していると判断する。基準値は、どの程度の類似度で「一致」とするかを用途などに考慮して設定すればよく、例えば97%以上の一致率に相当する基準値を設定することができる。 When the total values corresponding to the Y, U, and V values are obtained in this way, they are compared with preset reference values, and if each value is equal to or less than the reference value, a reference code and Determine that the specific target codes match. The reference value may be set in consideration of the degree of similarity at which "matching" is to be made, for example, a reference value corresponding to a matching rate of 97% or more.
なお、Y値、U値、V値のそれぞれについて差分をさらに二乗しているのは、参照用コードと特定対象コードの相違をより検出しやすくするためである。用途によっては二乗をしなくてもよいし、反対に、三乗などさらに指数を大きくしてもよい。 The reason why the difference is further squared for each of the Y value, U value, and V value is to make it easier to detect the difference between the reference code and the specific target code. Depending on the application, squaring may not be necessary, and on the contrary, the exponent may be increased further, such as by cubing.
次に、相対的に比較する方法を説明する。まず、参照用コードについて、1行1列のサンプリング範囲と1行2列のサンプリング範囲との間でY値の差分を二乗した値Ya12を求める。図示の例ではYa12=(202-195)2=49である。同様に、1行1列のサンプリング範囲とそれ以降の8つのサンプリング範囲との間でY値の差分を二乗した値Ya13、Ya14・・・Ya19をそれぞれ求める。 Next, a method for relative comparison will be described. First, for the reference code, a value Ya12 is obtained by squaring the difference in Y value between the sampling range of 1st row, 1st column and the sampling range of 1st row, 2nd column. In the illustrated example, Ya12=(202-195) 2 =49. Similarly, values Ya13, Ya14, .
次に、1行2列のサンプリング範囲と1行3列のサンプリング範囲との間でY値の差分を二乗した値Ya23を求める。図示の例ではYa23=(195-213)2=324である。同様に、1行2列のサンプリング範囲とそれ以降の7つのサンプリング範囲との間でY値の差分を二乗した値Ya24、Ya25・・・Ya29をそれぞれ求める。同様にして、1行3列のサンプリング範囲とそれ以降のサンプリング範囲との間でY値の差分を二乗した値Y34、Y35、・・・Y49を求める。 Next, a value Ya23 is obtained by squaring the difference in Y value between the sampling range of 1st row, 2nd column and the sampling range of 1st row, 3rd column. In the illustrated example, Ya23=(195-213) 2 =324. Similarly, values Ya24, Ya25, . Similarly, values Y34, Y35, .
以下も同様に、2行1列のサンプリング範囲とそれ以降のサンプリング範囲、2行2列のサンプリング範囲とそれ以降のサンプリング範囲、2行3列のサンプリング範囲とそれ以降のサンプリング範囲、3行1列のサンプリング範囲とそれ以降のサンプリング範囲、3行2列のサンプリング範囲とそれ以降のサンプリング範囲、のそれぞれの間でY値の差分を二乗した値を求める。 Similarly below, the sampling range of 2 rows and 1 column and the subsequent sampling range, the sampling range of 2 rows and 2 columns and the subsequent sampling range, the sampling range of 2 rows and 3 columns and the subsequent sampling range, 3 rows and 1 A value obtained by squaring the difference in Y values between the column sampling range and the subsequent sampling range, and the 3-row, 2-column sampling range and the subsequent sampling range is obtained.
そして、求められたY値の差分を二乗した値をすべて合計する。図示の例では、合計値は47502となる。また、U値、V値についても同様にして計算すると、U値に関する合計値は73256、V値に関する合計値は0となる。 Then, all the values obtained by squaring the obtained differences of the Y values are totaled. In the illustrated example, the total value is 47,502. Further, when the U value and the V value are similarly calculated, the total value for the U value is 73256 and the total value for the V value is 0.
次に、特定対象コードについても上記と同様にして計算すると、Y値に関する合計値は70898、V値に関する合計値は58104、U値に関する合計値は18272となる。 Next, when the specific target code is calculated in the same manner as above, the total value of the Y values is 70,898, the total value of the V values is 58,104, and the total value of the U values is 18,272.
そして、参照用コードと特定対象コードとの間で、YUVそれぞれの合計値の差分を求めると、ΔY=23396、ΔU=15152、ΔV=18272となる。 Then, when the differences in the total values of YUV are obtained between the reference code and the specific target code, ΔY=23396, ΔU=15152, and ΔV=18272.
このようにしてY値、U値、V値のそれぞれに対応する合計値の差分が得られると、それらを予め設定した基準値と比較し、各値ともに基準値以下である場合に、参照用コードと特定対象コードが一致していると判断する。基準値は、どの程度の類似度で「一致」とするかを用途などに考慮して設定すればよく、例えば97%以上の一致率に相当する基準値を設定することができる。 When the difference of the total values corresponding to each of the Y value, U value, and V value is obtained in this way, they are compared with a preset reference value, and if each value is equal to or less than the reference value, it is used for reference. Judge that the code and the specific target code match. The reference value may be set in consideration of the degree of similarity at which "matching" is to be made, for example, a reference value corresponding to a matching rate of 97% or more.
なお、単純比較の場合と同様、Y値、U値、V値のそれぞれについて差分をさらに二乗しているのは参照用コードと特定対象コードの相違をより検出しやすくするためである。用途によっては二乗をしなくてもよいし、反対に、三乗などさらに指数を大きくしてもよい。また、相対比較の場合に、上記した例では、あるサンプリング範囲とそれ以降のサンプリング範囲との差分を求めていたが、各サンプリング範囲について、他の全てのサンプリング範囲と総当たりにして差分を求めてもよい。 As in the simple comparison, the difference between the Y value, the U value, and the V value is further squared so that the difference between the reference code and the specific target code can be detected more easily. Depending on the application, squaring may not be necessary, and on the contrary, the exponent may be increased further, such as by cubing. Also, in the case of relative comparison, in the above example, the difference between a certain sampling range and the subsequent sampling range was obtained, but for each sampling range, the difference is obtained by round-robining all other sampling ranges. may
上記したような第2実施形態に係るコードは、上記した第1実施形態において種々説明した応用例に対して適用することができる。すなわち、第1実施形態と第2実施形態ではコードの生成方法に相違があるが、各応用例は生成されたコードの活用方法に係るものであり、コードの生成方法には影響を受けないからである。 The code according to the second embodiment as described above can be applied to the application examples variously described in the first embodiment. That is, although there is a difference in the code generation method between the first embodiment and the second embodiment, each application example relates to a method of utilizing the generated code and is not affected by the code generation method. is.
<第3実施形態>
図20は、第3実施形態のコード化方法について説明するための図である。ここではコード化の対象となるデータ(対象データ)の一例として音データを挙げて説明する。なお、コード生成装置やユーザ装置の構成については第1実施形態と同様であり(図6、図7参照)、コード生成と照合に係る情報処理方法のみが異なっている。ここでは装置構成の説明を省略し、コード生成と照合の情報処理方法について詳述する。
<Third Embodiment>
FIG. 20 is a diagram for explaining the encoding method of the third embodiment. Here, sound data will be described as an example of data to be coded (target data). The configurations of the code generation device and the user device are the same as those of the first embodiment (see FIGS. 6 and 7), and only the information processing method for code generation and collation is different. Here, the description of the device configuration is omitted, and the information processing method for code generation and collation will be described in detail.
一般に、音の三要素は、音の大きさ、音程、音色である。音データのコード化とは、音自体を再現するものではなく、例えばリアルタイムに音データを解析して音の認識、識別を行うことを目的とした技術である。本実施形態では、音の三要素のうち、音程に着目してコード化を行う。 In general, the three elements of sound are loudness, pitch, and timbre. Coding of sound data is not a technique for reproducing the sound itself, but a technique for analyzing the sound data in real time to recognize and identify the sound. In this embodiment, among the three elements of sound, coding is performed by paying attention to the pitch.
図20(A)は、マイクから収音された音に対して離散フーリエ変換を行い、周波数の時間変化を求めた波形図の一例である。なお、必要に応じてケプストラム解析により基本周波数を算出してもよい。このような波形図に対して、例えばサンプリング間隔Qを0.2秒間に設定し、このサンプリング間隔ごとに周波数を抽出する。そして、抽出した周波数の値をコード化し、記録する。このとき、サンプリング間隔Q、サンプリング時間(図示の例では2.0秒間)、曲のタイトル等の関連データが付加されて記録される。コード化の対象となる音データは、マイクによる収音でリアルタイムに得られるものであってもよいし、予め収音されて保存されていたものであってもよい。保存されていた音データの形式がmp3などの圧縮形式である場合には、適宜WAVE形式などの非圧縮形式に変換されてコード化が実行される。 FIG. 20A is an example of a waveform diagram obtained by performing a discrete Fourier transform on a sound picked up by a microphone and finding a change in frequency over time. Note that the fundamental frequency may be calculated by cepstrum analysis as necessary. For such a waveform diagram, the sampling interval Q is set to 0.2 seconds, for example, and the frequency is extracted for each sampling interval. The extracted frequency values are then coded and recorded. At this time, related data such as the sampling interval Q, the sampling time (2.0 seconds in the illustrated example), and the title of the song are added and recorded. The sound data to be coded may be obtained in real time by picking up sound with a microphone, or may be previously picked up and stored. When the format of the stored sound data is compressed format such as mp3, it is appropriately converted into a non-compressed format such as WAVE format and encoded.
なお、上記の情報処理は、サンプリング間隔ごとのデータ分割がサンプリング処理部20によって行われ、周波数の算出が特徴値算出部21によって行われ、コード化がエンコード処理部23によって行われ、得られたコードと関連情報の記録がコード記録処理部24によって行われる。
In the above information processing, the
図20(B)は、コード化の一例を示す図である。図20(A)に示した音データの波形に基づいて0.2秒間ごとにコード化を行った場合の例を示している。例えば、取得タイミングが0.2秒のときの周波数は1046.50Hzと抽出され、それに対応するコード(図中「CEC」と表記)が0416と得られている。この音は、音階名でいうと「ド/C6」に対応し、鍵盤記号(88鍵盤の場合)でいうと64に対応している。ほかの取得タイミングについても同様である。なお、本例では周波数の抽出時には可聴範囲として20Hz~20000Hzを想定し、コード化の際には小数点以下を切り捨てている。例えば、20.2Hzの場合、小数点切り捨て後の値は「20」であり、これを16進数でコード化すると「14」となる。同様に、261.62Hzなどの場合、小数点切り捨て後の値は「261」であり、これを16進数でコード化すると「105」となる。同様に、20000.0Hzなどの場合、小数点切り捨て後の値は「20000」であり、これを16進数でコード化すると「4e20」となる。よって、本実施形態で生成されるコードは最大4文字の16進数で表現できるので、データサイズは最大で2バイトとなる。 FIG. 20B is a diagram showing an example of encoding. 20(A) shows an example in which coding is performed every 0.2 seconds based on the waveform of the sound data shown in FIG. 20(A). For example, when the acquisition timing is 0.2 seconds, the frequency is extracted as 1046.50 Hz, and the corresponding code (denoted as "CEC" in the figure) is obtained as 0416. This note corresponds to "do/C6" in terms of scale names, and corresponds to 64 in terms of keyboard symbols (in the case of an 88-key keyboard). The same applies to other acquisition timings. In this example, the audible range is assumed to be 20 Hz to 20000 Hz at the time of frequency extraction, and decimal points are discarded at the time of encoding. For example, in the case of 20.2 Hz, the value after truncating the decimal point is "20", which is "14" when coded in hexadecimal. Similarly, in the case of 261.62 Hz, the value after truncating the decimal point is "261", which is "105" when coded in hexadecimal. Similarly, in the case of 20000.0 Hz, the value after truncating the decimal point is "20000", which is "4e20" when coded in hexadecimal. Therefore, the code generated in this embodiment can be represented by a maximum of 4 hexadecimal characters, so the maximum data size is 2 bytes.
図21は、第3実施形態のコードを用いた照合方法を説明するための図である。図21(A)に示すように、ある楽曲(Twilight Message)の一部分(2000ms分)の音程に対応するコードがサンプリング間隔Qを0.2秒間に設定して予め求められており、参照用コード群として記録されている。なお、図中では説明を簡単にするために、コードをA~Gのアルファベットで表記しており、同じアルファベット表記のコードはその内容が一致しているとする。これに対して、リアルタイム(あるいは音データ)として与えられる各楽曲の特定対象データに対してコード化を行い、これを参照用データ群と照合する。図示の例では、楽曲(1)、楽曲(3)のそれぞれには参照用データ群とコードの並びが一致する部分が存在しないので、参照用データ群により特定される楽曲ではないと判断できる。他方、楽曲(2)には、参照用データ群とコードの並びが一致する部分が存在するので、この楽曲(2)は参照用データ群に対応する楽曲(Twilight Message)であると判断できる。なお、サンプリング間隔Qごとの各コード同士の一致/不一致については、完全にコードが同じ場合に「一致」と判断してもよいし、一定の誤差範囲内(例えば±10Hzに相当する誤差範囲内)であれば「一致」と判断してもよい。 FIG. 21 is a diagram for explaining a matching method using codes according to the third embodiment. As shown in FIG. 21(A), a code corresponding to a part (2000 ms) of a musical piece (Twilight Message) is obtained in advance by setting the sampling interval Q to 0.2 seconds. Recorded as a group. To simplify the explanation, the codes are represented by letters A to G in the figure, and the codes represented by the same letters are assumed to have the same contents. On the other hand, the specific target data of each piece of music given in real time (or sound data) is coded and compared with the reference data group. In the illustrated example, since there is no part in which the reference data group and the code arrangement match each of the song (1) and the song (3), it can be determined that the song is not specified by the reference data group. On the other hand, since song (2) has a portion whose code arrangement matches that of the reference data group, it can be determined that song (2) is the song (Twilight Message) corresponding to the reference data group. Regarding the match/mismatch between the codes at each sampling interval Q, it may be judged that the code is completely the same as "match", or within a certain error range (for example, an error range corresponding to ±10 Hz). ), it may be judged as “match”.
なお、上記の情報処理は、サンプリング間隔ごとのデータ分割がサンプリング処理部60によって行われ、周波数の算出が特徴値算出部61によって行われ、コード化がエンコード処理部63によって行われ、得られたコードと参照用データ群との照合が照合処理部64によって行われる。
In the above information processing, data division at each sampling interval is performed by the
ここで、音データのコード化に際しては、特にその対象が楽曲の音データである場合には、そのテンポを考慮してサンプリング間隔を設定することがより好ましい。例えば、テンポ(BPM)が120の楽曲の場合、1分間に4分音符が120個(拍)含まれる。この場合、1秒間に2拍である、1拍の間隔は0.5秒間となる。この場合、音データのテンポに合わせてサンプリング間隔を設定(調整)することで、音符のタイミングに対応したコード化が可能となる。具体的には、サンプリング間隔をQ、テンポをB、対象とする音符の拍の長さをXとする。ここで、音符の拍の長さとは、例えば4分音符の場合にはX=4、8分音符の場合にはX=8というように設定される。このとき、図21(B)に示すように、サンプリング間隔Qは、Q=(1/((B/60)×(X/4)))×1000と表せる。この関係式を用いてサンプリング間隔Qを設定して音データをコード化することで、楽曲の類似性の判定精度がより向上する。図21(B)の下欄に、好ましいサンプリング間隔Qの具体的な値を例示する。 Here, when encoding the sound data, it is more preferable to set the sampling interval in consideration of the tempo, especially when the object is the sound data of a song. For example, in the case of a piece of music with a tempo (BPM) of 120, 120 quarter notes (beats) are included in one minute. In this case, the interval of one beat, which is two beats per second, is 0.5 seconds. In this case, by setting (adjusting) the sampling interval in accordance with the tempo of the sound data, it is possible to perform coding corresponding to the timing of the notes. Specifically, let Q be the sampling interval, B be the tempo, and X be the beat length of the target note. Here, the beat length of a note is set such that X=4 for a quarter note, and X=8 for an eighth note, for example. At this time, as shown in FIG. 21B, the sampling interval Q can be expressed as Q=(1/((B/60)*(X/4)))*1000. By setting the sampling interval Q using this relational expression and encoding the sound data, the accuracy of determining the similarity of music can be further improved. The lower column of FIG. 21(B) exemplifies specific values of the preferred sampling interval Q. FIG.
このような音データのコード化により、例えば空間に流れる楽曲のタイトルをユーザ装置2に表示させ、あるいはその楽曲に合わせたARコンテンツ(拡張現実コンテンツ)、動画、静止画をユーザ装置2に表示させるなどの制御を実現できる。また、いわゆる楽曲の盗作問題に関して、人間の主観的な判断ではなく、客観性のある判断としてその類否を提示することも可能となる。また、一般に生物の心音はすべて異なり、たとえ双子であっても心音は異なるという見識を前提にすると、心音をコード化することにより、心音に基づく人物認証(心音認証)を行うことも可能になる。例えば、空港などのゲートにおける人物認証が可能になるなど、これまでにないユースケースを生み出すことができる。
By encoding sound data in this way, for example, the
以上のような各実施形態によれば、画像や音声等の対象データを少ないデータ量でコード化する新規な技術が提供される。それにより、低負荷かつ短い処理時間で特定対象データと参照用データとの照合を実行可能とする新規な技術も提供される。 According to each of the above-described embodiments, a novel technique for encoding target data such as images and sounds with a small amount of data is provided. As a result, a new technology is provided that enables matching between specific target data and reference data with a low load and a short processing time.
すなわち、各実施形態によれば、例えばカメラを通した映像を任意の個数で分割し、複数に分割された各1ブロック(サンプリング範囲)に対して光源、輝度、色などの情報から固有のコードを生成して記録し、このコードを利用して高速に(あるいはリアルタイムに)比較、照合、認証を行うことが可能となる。この固有のコードを用いることで、熱源、音、X線といった不可視の情報や五感情報の伝送において、より小さなデータサイズで実現することも可能である。図22にその概念図を示すように、空間情報や動画像、静止画像、温度や音といった、現在においてデータとして確立・認識されているものに対して各実施形態による固有のコードを付加することによって、現実世界との紐付けだけでなくデータの新しい利用方法が生まれ、すでに記録されて存在しているデータに更なる付加価値と活用方法を与えることができる。例えば、GPS情報(位置情報)、方向、角度、温度、圧力などに加え、すでにビッグデータ上には入手先やURLなど様々な付随する情報が存在する。しかしながら現実世界とリアルタイムで比較、照合した場合には、判定に必要な「状況」、「状態」、「空間データ」が欠落しており、必要な紐付けができていないのが現状である。これに対して、各実施形態によるコードを用いて「アースデータ」という現実との結合の手を作ることにより、現実世界とシステムの間でのリンクの「鍵」、トリガーとしての役割を果たすことができる。各実施形態によるコードのデータサイズは非常に小さいので、「バイトチェーン」という新しい概念が提供される。 That is, according to each embodiment, for example, an image captured by a camera is divided into an arbitrary number, and each block (sampling range) divided into a plurality of blocks is assigned a unique code based on information such as the light source, luminance, and color. is generated and recorded, and this code can be used for high-speed (or real-time) comparison, verification, and authentication. By using this peculiar code, it is also possible to realize transmission of invisible information such as heat source, sound, and X-rays and information of the five senses with a smaller data size. As shown in the conceptual diagram of FIG. 22, a unique code according to each embodiment is added to what is currently established and recognized as data such as spatial information, moving images, still images, temperature and sound. This not only creates a connection with the real world, but also creates new ways of using data, and it is possible to add further value and use methods to existing data that has already been recorded. For example, in addition to GPS information (positional information), direction, angle, temperature, pressure, etc., there are already various types of accompanying information such as sources and URLs on big data. However, when comparing and collating with the real world in real time, the "situation", "state", and "spatial data" necessary for judgment are missing, and the current situation is that the necessary linkage is not possible. On the other hand, by using the code according to each embodiment to create a hand that connects with reality called "Earth Data", it will play a role as a "key" and a trigger of the link between the real world and the system. can be done. Since the data size of the code according to each embodiment is very small, a new concept of "byte chain" is provided.
なお、本発明は上記した各実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々に変形して実施をすることが可能である。各実施形態により生成されるコードの活用法、応用法は上記した内容に限られない。また、各実施形態で挙げた数値などは一例であってこれらに限定されない。また、第1実施形態では、各サンプリング範囲の相互間で相対差を求めていたがこれを省略して各サンプリング範囲の輝度の平均値を文字列データとして連結してもよい。 It should be noted that the present invention is not limited to the content of each embodiment described above, and various modifications can be made within the scope of the gist of the present invention. The utilization method and application method of the code generated by each embodiment are not limited to the contents described above. Also, the numerical values and the like given in each embodiment are examples and are not limited to these. In addition, in the first embodiment, the relative difference between each sampling range is obtained, but this may be omitted and the average luminance value of each sampling range may be concatenated as character string data.
また、上記した各実施形態では、平均値ないし相対差から得た文字列データを直接に連結してコードを生成していたが本発明における「連結」の態様はこれに限定されない。例えば、各平均値または各相対差に対して一定の係数を乗算したものを文字列データにして連結してもよい。また、各平均値等に対応する文字列データの相互間に特定のデータ(区切り文字等)を介在させた形で各文字列データを連結してもよい。あるいは、各平均値等に対応する文字列データを一定規則の下で他の文字列データに変換したものを連結してもよい。すなわち、平均値等の相互の相対的な関係性が崩れない形ないし復元可能な形であればいかなる連結の態様であっても本発明における「連結」の概念に含まれる。 In each of the above-described embodiments, character string data obtained from average values or relative differences are directly concatenated to generate a code, but the aspect of "concatenation" in the present invention is not limited to this. For example, each average value or each relative difference may be multiplied by a constant coefficient, and may be concatenated as character string data. Further, each character string data may be concatenated in such a manner that specific data (a delimiter character or the like) is interposed between the character string data corresponding to each average value or the like. Alternatively, character string data corresponding to each average value or the like may be converted to other character string data under a certain rule and concatenated. That is, any mode of connection is included in the concept of "connection" in the present invention as long as the mutual relative relationships such as average values do not collapse or can be restored.
10、50、情報処理部、11、51:カメラ、12、52:マイク、13、53:記憶装置、14、54:動作デバイス、15、55:表示デバイス、20、60:サンプリング処理部、21、61:特徴値算出部、23、63:エンコード処理部、24:コード記録処理部、64:照合処理部
10, 50:
Claims (3)
参照用データに応じて求められた参照用コードを取得する第1ステップと、
特定対象データに対応する特定対象コードを生成する第2ステップと、
前記参照用コードと前記特定対象コードとを比較してそれらの一致/不一致を定める第3ステップと、
を含み、
前記第1ステップにおける前記参照用コードは、
前記参照用データを複数の第1サンプリング範囲に分割するステップと、
前記複数の第1サンプリング範囲の各々に複数含まれる第1要素データであってそれぞれが数値で表される1又は複数種の当該第1要素データのうち少なくとも1種の当該第1要素データについて当該第1サンプリング範囲ごとに当該第1要素データの平均値を求めるステップと、
前記第1サンプリング範囲ごとの前記第1要素データの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記参照用データに対応する前記参照用コードを生成するステップと、
を経て予め求められたものであり、
前記第2ステップにおける前記特定対象コードは、
前記特定対象データを各前記第1サンプリング範囲と同じように設定された複数の第2サンプリング範囲に分割するステップと、
前記複数の第2サンプリング範囲の各々に複数含まれる第2要素データであってそれぞれが数値で表される1又は複数種の当該第2要素データのうち少なくとも1種であって前記第1要素データと同じ種類の当該第2要素データについて当該第2サンプリング範囲ごとに当該第2要素データの平均値を求めるステップと、
前記第2サンプリング範囲ごとの前記第2要素データの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記特定対象データに対応する前記特定対象コードを生成するステップと、
を経て生成されるものであり、
前記第3ステップは、
各前記第1サンプリング範囲と各前記第2サンプリング範囲との間のそれぞれにおいて、前記参照用コードに基づいて得られる各前記第1サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値と前記特定対象コードに基づいて得られる各前記第2サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値との差分を求めるステップと、
前記差分の各々が全て予め定めた許容範囲に収まる場合に前記参照用コードと前記特定対象コードとが一致すると判断するステップと、
を含む、データ照合方法。 A method of generating and collating a code according to the contents of target data using an information processing device,
a first step of obtaining a reference code obtained according to the reference data;
a second step of generating specific target code corresponding to specific target data;
a third step of comparing said reference code and said specific target code to determine their match/mismatch;
including
The reference code in the first step is
dividing the reference data into a plurality of first sampling ranges;
For at least one type of the first element data out of one or a plurality of types of the first element data, which are the first element data included in each of the plurality of first sampling ranges and each is represented by a numerical value obtaining an average value of the first element data for each first sampling range;
generating the reference code corresponding to the reference data by concatenating, as character string data, the average value of the first element data for each of the first sampling ranges or numerical values corresponding to a predetermined number of upper digits thereof; When,
is obtained in advance through
The specific target code in the second step is
dividing the specific target data into a plurality of second sampling ranges set in the same manner as each of the first sampling ranges;
At least one of one or a plurality of types of second element data included in each of the plurality of second sampling ranges, each of which is represented by a numerical value, and is the first element data A step of obtaining the average value of the second element data for each second sampling range for the second element data of the same type as
A step of generating the specific target code corresponding to the specific target data by concatenating the average value of the second element data for each of the second sampling ranges or a predetermined number of upper digits thereof as character string data. When,
is generated through
The third step is
Between each of the first sampling ranges and each of the second sampling ranges, the average value for each of the first sampling ranges obtained based on the reference code or a numerical value of a predetermined number of digits from the higher order a step of obtaining a difference between an average value for each of the second sampling ranges obtained based on the specific target code or a numerical value corresponding to a predetermined number of higher digits;
determining that the reference code and the specific target code match when each of the differences falls within a predetermined allowable range;
Data matching methods, including
参照用データに応じて求められた参照用コードを取得する第1ステップと、
特定対象データに対応する特定対象コードを生成する第2ステップと、
前記参照用コードと前記特定対象コードとを比較してそれらの一致/不一致を定める第3ステップと、
を含み、
前記第1ステップにおける前記参照用コードは、
前記参照用データを複数の第1サンプリング範囲に分割するステップと、
前記複数の第1サンプリング範囲の各々に複数含まれる第1要素データであってそれぞれが数値で表される1又は複数種の当該第1要素データのうち少なくとも1種の当該第1要素データについて当該第1サンプリング範囲ごとに当該第1要素データの平均値を求めるステップと、
前記第1サンプリング範囲ごとの前記第1要素データの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記参照用データに対応する前記参照用コードを生成するステップと、
を経て予め求められたものであり、
前記第2ステップにおける前記特定対象コードは、
前記特定対象データを各前記第1サンプリング範囲と同じように設定された複数の第2サンプリング範囲に分割するステップと、
前記複数の第2サンプリング範囲の各々に複数含まれる第2要素データであってそれぞれが数値で表される1又は複数種の当該第2要素データのうち少なくとも1種であって前記第1要素データと同じ種類の当該第2要素データについて当該第2サンプリング範囲ごとに当該第2要素データの平均値を求めるステップと、
前記第2サンプリング範囲ごとの前記第2要素データの平均値ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記特定対象データに対応する前記特定対象コードを生成するステップと、
を経て生成されるものであり、
前記第3ステップは、
各前記第1サンプリング範囲と各前記第2サンプリング範囲との間のそれぞれにおいて、前記参照用コードに基づいて得られる各前記第1サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値と前記特定対象コードに基づいて得られる各前記第2サンプリング範囲ごとの平均値ないしその上位から所定桁数分の数値との差分又は当該差分の累乗を求めるステップと、
前記差分の合計値又は前記差分の累乗の合計値が全て予め定めた基準値以下である場合に前記参照用コードと前記特定対象コードとが一致すると判断するステップと、
を含む、データ照合方法。 A method of generating and collating a code according to the contents of target data using an information processing device,
a first step of obtaining a reference code obtained according to the reference data;
a second step of generating specific target code corresponding to specific target data;
a third step of comparing said reference code and said specific target code to determine their match/mismatch;
including
The reference code in the first step is
dividing the reference data into a plurality of first sampling ranges;
For at least one type of the first element data out of one or a plurality of types of the first element data, which are the first element data included in each of the plurality of first sampling ranges and each is represented by a numerical value obtaining an average value of the first element data for each first sampling range;
generating the reference code corresponding to the reference data by concatenating, as character string data, the average value of the first element data for each of the first sampling ranges or numerical values corresponding to a predetermined number of upper digits thereof; When,
is obtained in advance through
The specific target code in the second step is
dividing the specific target data into a plurality of second sampling ranges set in the same manner as each of the first sampling ranges;
At least one of one or a plurality of types of second element data included in each of the plurality of second sampling ranges, each of which is represented by a numerical value, and is the first element data A step of obtaining the average value of the second element data for each second sampling range for the second element data of the same type as
A step of generating the specific target code corresponding to the specific target data by concatenating the average value of the second element data for each of the second sampling ranges or a predetermined number of upper digits thereof as character string data. When,
is generated through
The third step is
Between each of the first sampling ranges and each of the second sampling ranges, the average value for each of the first sampling ranges obtained based on the reference code or a numerical value of a predetermined number of digits from the higher order a step of obtaining a difference or a power of the difference from an average value for each of the second sampling ranges obtained based on the specific target code or a numerical value corresponding to a predetermined number of upper digits thereof;
a step of determining that the reference code and the specific target code match when the total value of the differences or the total value of the powers of the differences are all equal to or less than a predetermined reference value;
Data matching methods, including
請求項1又は2に記載のデータ照合方法。
each said first sampling range and each said second sampling range are divided by the same width and height or the same interval;
3. The data matching method according to claim 1 or 2.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021153630A JP7128555B1 (en) | 2021-05-19 | 2021-09-21 | Data matching method |
JP2022128142A JP2022179475A (en) | 2021-09-21 | 2022-08-10 | Code generation method, code generation device, program, and data collation method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021084606A JP6964372B1 (en) | 2021-05-19 | 2021-05-19 | Code generation method, code generator, program, data collation method |
JP2021153630A JP7128555B1 (en) | 2021-05-19 | 2021-09-21 | Data matching method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021084606A Division JP6964372B1 (en) | 2021-05-19 | 2021-05-19 | Code generation method, code generator, program, data collation method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022128142A Division JP2022179475A (en) | 2021-09-21 | 2022-08-10 | Code generation method, code generation device, program, and data collation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7128555B1 true JP7128555B1 (en) | 2022-08-31 |
JP2022179277A JP2022179277A (en) | 2022-12-02 |
Family
ID=87888930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021153630A Active JP7128555B1 (en) | 2021-05-19 | 2021-09-21 | Data matching method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7128555B1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05224713A (en) * | 1992-02-13 | 1993-09-03 | Koyo Electron Ind Co Ltd | Display method for programmable controller |
JPH07231444A (en) * | 1994-02-18 | 1995-08-29 | Fujitsu Ltd | Encoder/decorder and encoding and decoding method |
JP2000165678A (en) * | 1998-11-13 | 2000-06-16 | Xerox Corp | Method and device for improving transmission speed and efficiency of electronic data |
JP2000165676A (en) * | 1998-10-28 | 2000-06-16 | Xerox Corp | Electronic data transmission speed and efficiency improvement device |
JP2003067764A (en) * | 2001-08-23 | 2003-03-07 | Nippon Telegr & Teleph Corp <Ntt> | Image processing method and device, image retrieval method and device, image processing program, storage medium for the program, image retrieval program, and storage medium for the program |
JP2004023372A (en) * | 2002-06-14 | 2004-01-22 | Ikegami Tsushinki Co Ltd | Method and device for encoding image |
WO2005096180A1 (en) * | 2004-03-31 | 2005-10-13 | Pioneer Corporation | Image search method, image search device, and recording medium containing image search program |
JP3221146U (en) * | 2019-02-18 | 2019-05-09 | 株式会社ディスコ | Data converter |
-
2021
- 2021-09-21 JP JP2021153630A patent/JP7128555B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05224713A (en) * | 1992-02-13 | 1993-09-03 | Koyo Electron Ind Co Ltd | Display method for programmable controller |
JPH07231444A (en) * | 1994-02-18 | 1995-08-29 | Fujitsu Ltd | Encoder/decorder and encoding and decoding method |
JP2000165676A (en) * | 1998-10-28 | 2000-06-16 | Xerox Corp | Electronic data transmission speed and efficiency improvement device |
JP2000165678A (en) * | 1998-11-13 | 2000-06-16 | Xerox Corp | Method and device for improving transmission speed and efficiency of electronic data |
JP2003067764A (en) * | 2001-08-23 | 2003-03-07 | Nippon Telegr & Teleph Corp <Ntt> | Image processing method and device, image retrieval method and device, image processing program, storage medium for the program, image retrieval program, and storage medium for the program |
JP2004023372A (en) * | 2002-06-14 | 2004-01-22 | Ikegami Tsushinki Co Ltd | Method and device for encoding image |
WO2005096180A1 (en) * | 2004-03-31 | 2005-10-13 | Pioneer Corporation | Image search method, image search device, and recording medium containing image search program |
JP3221146U (en) * | 2019-02-18 | 2019-05-09 | 株式会社ディスコ | Data converter |
Also Published As
Publication number | Publication date |
---|---|
JP2022179277A (en) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324774B (en) | Video duplicate removal method and device | |
US8830331B2 (en) | Method and apparatus for detecting near-duplicate videos using perceptual video signatures | |
CN106203242B (en) | Similar image identification method and equipment | |
JP5261501B2 (en) | Permanent visual scene and object recognition | |
US20130258198A1 (en) | Video search system and method | |
Chu et al. | Image Retrieval Based on a Multi‐Integration Features Model | |
CA2913432A1 (en) | System and method for identifying, analyzing, and reporting on players in a game from video | |
CN109886223B (en) | Face recognition method, bottom library input method and device and electronic equipment | |
KR102402170B1 (en) | Apparatus and method for generating metaverse using image analysis | |
CN113642639B (en) | Living body detection method, living body detection device, living body detection equipment and storage medium | |
CN111414803A (en) | Face recognition method and device and electronic equipment | |
CN114006743B (en) | Method for extracting and querying land use state in real time based on big data | |
CN113573044B (en) | Video data processing method and device, computer equipment and readable storage medium | |
JP7128555B1 (en) | Data matching method | |
CN113011254B (en) | Video data processing method, computer equipment and readable storage medium | |
WO2022244487A1 (en) | Code generation method, code generation device, program, and data collation method | |
JP2022179475A (en) | Code generation method, code generation device, program, and data collation method | |
CN100592387C (en) | Signal detecting method, signal detecting system | |
CN113128278B (en) | Image recognition method and device | |
CN116563588A (en) | Image clustering method and device, electronic equipment and storage medium | |
CN116311316A (en) | Medical record classification method, system, terminal and storage medium | |
CN113407760B (en) | Government affair data analysis system for sharing platform | |
CN113255586B (en) | Face anti-cheating method based on RGB image and IR image alignment and related equipment | |
CN117216039B (en) | Method for constructing three-dimensional base of building based on three-dimensional cadastral database | |
Zhou et al. | FAVT: A Feature-Anchored Video Data Trading Mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211012 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20211012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220603 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220630 |
|
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: 20220715 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220812 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7128555 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |