JP7663181B2 - Code generation method, code generation device, program, and data collation method - Google Patents
Code generation method, code generation device, program, and data collation method Download PDFInfo
- Publication number
- JP7663181B2 JP7663181B2 JP2022128142A JP2022128142A JP7663181B2 JP 7663181 B2 JP7663181 B2 JP 7663181B2 JP 2022128142 A JP2022128142 A JP 2022128142A JP 2022128142 A JP2022128142 A JP 2022128142A JP 7663181 B2 JP7663181 B2 JP 7663181B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- sampling
- sampling ranges
- ranges
- 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
- 238000000034 method Methods 0.000 title claims description 79
- 238000005070 sampling Methods 0.000 claims description 182
- 230000010365 information processing Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 description 54
- 238000010586 diagram Methods 0.000 description 42
- 238000004364 calculation method Methods 0.000 description 25
- 238000005516 engineering process Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 10
- 230000007547 defect Effects 0.000 description 4
- 230000001815 facial effect Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101100112791 Mus musculus Cd99 gene Proteins 0.000 description 1
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 240000006711 Pistacia vera Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000020233 pistachio Nutrition 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Analysis (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Description
本発明は、コード生成方法、コード生成装置、プログラム、データ照合方法に関する。 The present invention relates to a code generation method, a code generation device, a program, and a data matching method.
予め用意した参照用データとの比較・照合により対象データの内容を特定する技術が知られている。当該技術の代表例としては画像認識技術が挙げられる(例えば特開2019-28985号公報参照)。しかし、従来技術では、参照用データを得るための学習時間が膨大に必要であり、あるいは対象データとの比較・照合にかかる処理負荷が大きく高速な処理が難しいという点で改良の余地があった。 Technology is known that identifies the contents of target data by comparing and matching with pre-prepared reference data. A representative example of this technology is image recognition technology (see, for example, JP 2019-28985 A). However, conventional technology requires a huge amount of learning time to obtain reference data, and the processing load required for comparing and matching with the target data is large, making high-speed processing difficult, leaving room for improvement.
本発明に係る具体的態様は、画像や音声等の対象データを少ないデータ量でコード化する新規な技術を提供することを目的の1つとする。 One of the objectives of a specific embodiment of the present invention is to provide a new technology that encodes target data such as images and audio using 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要素データの第1平均値を求めるステップと、(d3)各前記第1サンプリング範囲の前記第1平均値を各前記第1サンプリング範囲の前記第1平均値の総和で除算して得られる第1相対差を、各前記第1サンプリング範囲について求めるステップと、(d4)各前記第1サンプリング範囲ごとの第1相対差ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記参照用データに対応する前記参照用コードを生成するステップと、を経て予め求められたものであり、(e)前記第2ステップにおける前記特定対象コードは、(e1)前記特定対象データを各前記第1サンプリング範囲と同じように設定された複数の第2サンプリング範囲に分割するステップと、(e2)前記複数の第2サンプリング範囲の各々に複数含まれる第2要素データであってそれぞれが数値で表される1又は複数種の当該第2要素データのうち少なくとも1種であって前記第1要素データと同じ種類の当該第2要素データについて当該第2サンプリング範囲ごとに当該第2要素データの第2平均値を求めるステップと、(e3)各前記第2サンプリング範囲の前記第2平均値を各前記第2サンプリング範囲の前記第2平均値の総和で除算して得られる第2相対差を、各前記第2サンプリング範囲について求めるステップと、(e4)前記第2サンプリング範囲ごとの第2相対差ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記参照用データに対応する前記参照用コードを生成するステップと、を経て生成されるものであり、(f)前記第3ステップは、(f1)対応する各前記第1サンプリング範囲と各前記第2サンプリング範囲との間のそれぞれにおいて、前記参照用コードに基づいて得られる各前記第1サンプリング範囲ごとの前記第1相対差ないしその上位から所定桁数分の数値と前記特定対象コードに基づいて得られる各前記第2サンプリング範囲ごとの前記第2相対差ないしその上位から所定桁数分の数値との差分を求めるステップと、(f2)前記差分の各々が全て予め定めた許容範囲に収まる場合に前記参照用コードと前記特定対象コードとが一致すると判断するステップと、を含む、データ照合方法である。
[1] A data matching method according to one aspect of the present invention is a method for generating and matching a code corresponding to the contents of target data using an information processing device, the method including: (a) a first step of acquiring a reference code determined according to reference data; (b) a second step of generating a specific target code corresponding to the specific target data; and (c) a third step of comparing the reference code with the specific target code to determine whether they match or do not match, and (d) the reference code in the first step includes: (d1) a step of dividing the reference data into a plurality of first sampling ranges; (d2) a step of calculating a first average value of the first element data for at least one type of the first element data among one or more types of the first element data, each of which is represented by a numerical value, that are included in each of the plurality of first sampling ranges; (d3) a step of calculating a first relative difference for each of the first sampling ranges, the first average value being divided by the sum of the first average values for each of the first sampling ranges; and (d4 ) a step of calculating a first relative difference for each of the first sampling ranges. (e) the identification code in the second step is obtained in advance through a step of generating the reference code corresponding to the reference data by concatenating, as character string data, the first relative difference for each of the first sampling ranges or a predetermined number of digits from the first relative difference, (e1) a step of dividing the identification data into a plurality of second sampling ranges set in the same manner as each of the first sampling ranges, (e2) a step of obtaining a second average value of the second element data for each of the second sampling ranges, for at least one of the second element data of the same type as the first element data, among one or more types of the second element data each of which is expressed by a numerical value, which is included in a plurality of second sampling ranges, (e3) a step of obtaining a second relative difference for each of the second sampling ranges, which is obtained by dividing the second average value of each of the second sampling ranges by the sum of the second average values of each of the second sampling ranges , ) generating the reference code corresponding to the reference data by concatenating, as character string data, the second relative difference for each of the second sampling ranges or a predetermined number of digits from the upper digit thereof, and (f) the third step includes: (f1) determining, between each of the corresponding first sampling ranges and each of the second sampling ranges, a difference between the first relative difference for each of the first sampling ranges obtained based on the reference code or a predetermined number of digits from the upper digit thereof and the second relative difference for each of the second sampling ranges obtained based on the specific target code; and (f2) determining that the reference code and the specific target code match if all of the differences fall within a predetermined allowable range.
上記構成によれば、画像や音声等の対象データを少ないデータ量でコード化する新規な技術が提供される。 The above configuration provides a new technology that encodes target data such as images and audio using a small amount of data.
<第1実施形態>
図1は、第1実施形態のコード化方法について説明するための図である。ここではコード化の対象となるデータ(対象データ)の一例として画像データを挙げて説明する。また、本明細書におけるコード化とは、対象データに含まれる所定の数値に基づいてこの対象データを特定し得る文字列データを生成することをいう。
First Embodiment
1 is a diagram for explaining the coding method of the first embodiment. Here, image data is taken as an example of data to be coded (target data). In addition, coding in this specification refers to generating character string data that can identify the target data based on a predetermined numerical value included in the target data.
対象データとして図1(A)に示すような画像データを想定する。画像データは、カラー画像でもモノクロ画像でもよい。画像データには、ピクセル(画素)ごとに輝度、色相、彩度、色差などの値(要素データ)が含まれるものとする。ここでは理解を容易にするするために、要素データとして輝度値を用いて説明する。 Assuming that the target data is image data as shown in Figure 1 (A). The image data may be a color image or a monochrome image. The image data includes values (element data) such as brightness, hue, saturation, and color difference for each pixel. For ease of understanding, the following explanation uses brightness values as element data.
図1(B)に示すように、画像データを複数のサンプリング範囲に分割する。ここでは画像データを9つのサンプリング範囲S1、S2、S3・・・S9に分割する。各サンプリング範囲S1等は、例えば、それぞれ幅と高さがともに40ピクセルであり、各サンプリング範囲S1等に含まれるピクセル総数はそれぞれ1600であるとする。また、各ピクセルの輝度値(階調数)は、0~255の範囲の数値で与えられているものとする。 As shown in Figure 1 (B), the image data is divided into multiple sampling ranges. Here, the image data is divided into nine sampling ranges S1, S2, S3, ... S9. Each sampling range S1, etc. has a width and height of, for example, 40 pixels, and the total number of pixels contained in each sampling range S1, etc. is 1,600. The brightness value (number of gradations) of each pixel is given as a number in the range from 0 to 255.
このとき、各サンプリング範囲S1等に含まれるピクセルのピクセル値(ここでは輝度値)をpx1、px2、・・・px1600とすると、各サンプリング範囲S1等のそれぞれにおいて、ピクセル値の平均値は以下のように求められる。
ピクセル値の合計値: sumSx=px1+px2+px3+・・・px1600
ピクセル値の平均値: Ax=sumSx/1600
In this case, if the pixel values (here, brightness values) of the pixels included in each sampling range S1 etc. are px1, px2, . . . px1600, the average pixel values in each sampling range S1 etc. can be calculated as follows.
Sum of pixel values: sumSx = px1 + px2 + px3 + ... px1600
Average pixel value: 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である。 Figure 1 (C) shows an example of the average pixel values in each sampling range S1, etc. In the example shown, the average value A1 of sampling range S1 is 128, the average value A2 of sampling range S2 is 86, the average value A3 of sampling range S3 is 134, the average value A4 of sampling range S4 is 101, the average value A5 of sampling range S5 is 68, the average value A6 of sampling range S1 is 101, the average value A7 of sampling range S7 is 115, the average value A8 of sampling range S8 is 91, and the average value A9 of sampling range S9 is 121.
次に、各サンプリング範囲S1等における平均値の相対差を以下のように求める。
平均値の合計値: sumA=A1+A2+A3+・・・+A9
=945
平均値の相対差: Vx=(100×Ax)/945
Next, the relative difference in the average values in each sampling range S1 etc. is calculated as follows.
Sum of the average values: sumA = A1 + A2 + A3 + ... + A9
= 945
Relative difference of the average 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%である。 Figure 1 (D) shows an example of the relative difference of the average values in each sampling range S1, etc. In the example shown, the relative difference V1 in sampling range S1 is 13.54%, the relative difference V2 in sampling range S2 is 9.10%, the relative difference V3 in sampling range S3 is 14.17%, the relative difference V4 in sampling range S4 is 10.68%, the relative difference V5 in sampling range S5 is 7.19%, the relative difference V6 in sampling range S6 is 10.68%, the relative difference V7 in sampling range S7 is 12.16%, the relative difference V8 in sampling range S8 is 9.62%, and the relative difference V9 in sampling range S9 is 12.80%.
これら各サンプリング範囲S1等での相対差を用いて、それぞれの相対差の上位から小数点第2位までの桁の数値(全体で4桁)を文字列データとして抽出する。例えば、サンプリング範囲S1からは「1354」という文字列データが抽出される。なお、十の位に値がないものや小数点以下の桁で値がないものは当該値を0とする。例えば、9.1%であれば「0910」となる。 The relative difference in each of these sampling ranges S1, etc. is used to extract the numerical value from the most significant digit to the second decimal place of each relative difference (four digits in total) as character string data. For example, the character string data "1354" is extracted from sampling range S1. Note that if there is no value in the tens digit or in the decimal place, the value is set to 0. For example, 9.1% becomes "0910".
このようにして各サンプリング範囲S1等から抽出された文字列データを連結する。連結順序については特に限定はなく任意に定めることができる。ここではサンプリング範囲S1、S2・・・S9の順に連結することにする。これにより、上記した例においては「135409101417106807191068121609621280」という文字列データが得られる(図1(E)参照)。本実施形態ではこのようにして生成される文字列データを対象データに対応するコードとして用いる。 In this way, the character string data extracted from each sampling range S1 etc. is concatenated. There is no particular restriction on the concatenation order, and it can be determined arbitrarily. Here, the sampling ranges are concatenated in the order S1, S2, ... S9. 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 a code corresponding to the target data.
なお、相対差については必ずしも百分率で表さなくてもよい。また、各サンプリング範囲に対応する文字列データの連結順については、予め定めた順序を常に使用するという前提のもとであればその順序は自由であり、例えばサンプリング範囲S9、S8・・・S1の順に連結すると定めておくこともできる。また、各サンプリング範囲において相対差を何桁まで用いるかも任意である。サンプリング範囲の分割数も任意である。サンプリング範囲の分割数を少なくすればより簡易的で高速に照合を行うことが可能で、他方、サンプリング範囲の分割数を増加させることでより精度の高い照合を行うことが可能になる。 The relative difference does not necessarily have to be expressed as a percentage. The order in which the character string data corresponding to each sampling range is concatenated can be any order, provided that a predetermined order is always used. For example, it can be decided that sampling ranges are concatenated in the order S9, S8, ... S1. It is also arbitrary to what extent the relative difference is used in each sampling range. The number of divisions of the sampling range can also be arbitrary. Reducing the number of divisions of the sampling range enables simpler and faster matching, while increasing the number of divisions of the sampling range enables more accurate matching.
図2は、上記した方法により生成されるコードと各コードに対応するコンテンツのデータベース構成例を示す図である。ここではコンテンツの例として画像を挙げる。図示のように、予め各画像1、2・・・に対応するコードが上記方法によって生成され、それらを紐づけたデータベースが構築される。例えば、コード「2110・・・」には画像1が対応し、コード「1053・・・」には画像2が対応する。ここで、コンテンツとしての画像1、2・・・というのは、画像データそのものであってもよいし、画像データの内容に対応した付加情報(例えば、画像に含まれる物体等を表す文字列、現実空間上での位置情報、時刻情報、その他任意の付加情報)のデータを含んでもよい。このようなデータベースを予め構築しておくことで、このデータベースの各コードを参照用データとして用いて、特定対象データがどのコンテンツに対応するものであるかを照合することが可能となる。
Figure 2 is a diagram showing an example of a database configuration of codes generated by the above method and contents corresponding to each code. Here, images are used as an example of contents. As shown in the figure, codes corresponding to each
図3は、データベースを用いた照合の流れを概念的に説明する図である。例えば、撮影して得られた画像データに対して上記方法によりコード化が行われ、この画像データに対応するコードである特定対象コード(図示の例では「8841・・・」)が生成される。この生成された特定対象コードとデータベースの各参照用コードと照合し、生成された特定対象コードと一致する参照用コードがデータベースに存在すれば、撮影された画像に対応するコンテンツ(図示の例では「画像37」)を特定することができる。
Figure 3 is a diagram conceptually explaining the flow of matching using a database. For example, image data obtained by photographing is coded using the above method, and a specific target code ("8841..." in the illustrated example) that is a code 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 that matches the generated specific target code exists in the database, the content corresponding to the photographed image ("
例えば、カメラを備えた端末装置(一例としてスマートフォン)を用いて任意の空間を撮影した画像データが得られたとする。また、端末装置には、上記したコード化を実行可能なアプリケーションプログラムが予めインストールされているとともに、図2に示したようなデータベースが記憶されているものとする。なお、データベースはネットワークを介して端末装置と通信可能なサーバに置かれていてもよい。この場合、例えば、ユーザがカメラを向けて撮影された風景の画像に対応するコンテンツが特定されれば、そのコンテンツに関わる情報をユーザの端末装置の画面上に表示させるといった使い方を実現できる。 For example, assume that image data is obtained by photographing an arbitrary space using a terminal device (a smartphone, as an example) equipped with a camera. Also assume that an application program capable of executing the above-mentioned coding is pre-installed on the terminal device, and that a database such as that shown in FIG. 2 is stored in the terminal device. Note that the database may be placed on a server capable of communicating with the terminal device via a network. In this case, for example, if content corresponding to an image of a landscape photographed by a user with a camera is identified, it is possible to realize a usage such as displaying information related to that content on the screen of the user's terminal device.
なお、本願発明者の検討によると、対象データが空間を撮影して得た画像データであれば、サンプリング範囲を64個以上となるようにしてコード化を行うことで、実用上、必要十分な精度で照合・判定を行うことが可能になるという知見が得られている。この条件で生成されるコードのデータ量は192バイト程度であり、非常に小さいデータ量であるといえる。 In addition, according to the research of the present inventors, if the target data is image data obtained by photographing a space, it has been found that by encoding the data with a sampling range of 64 or more, it is possible to perform matching and judgment with sufficient accuracy for practical purposes. The data volume of the code generated under these conditions is about 192 bytes, which can be said to be a very small amount of data.
ここで、図3を用いて説明した照合の原理によると、コード同士の文字列データがすべて一致している場合に各コードに対応するコンテンツが同じと判定されるが、以下のように判定の際における許容範囲を設定することで、よりフレキシブルな照合を行うことができる。 According to the matching principle explained using Figure 3, if all the character string data of the codes match, the content corresponding to each code is determined to be the same. However, by setting the tolerance range for the judgment as follows, more flexible matching can be performed.
図4は、フレキシブルな照合を行う具体的な方法を説明するための図である。また、図5は、上記した図4に示した例におけるサンプリング範囲S1~S9のそれぞれに対応する差分を折れ線グラフで示した図である。 Figure 4 is a diagram for explaining a specific method for performing flexible matching. Also, Figure 5 is a line graph showing the differences corresponding to each of the sampling ranges S1 to S9 in the example shown in Figure 4 above.
図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. 4A, 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 above-mentioned sampling range, each character string data is treated as a four-digit numerical value, and the numerical difference (A-B) is calculated 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 between the other sampling ranges S2 to S9 are +15, 0, -12, +19, +17, +15, 0, and +18. In this case, if the allowable range of the difference corresponding to each sampling range is previously set to, for example, ±20, the differences corresponding to all of the sampling ranges S1 to S9 in the example shown in FIG. 4A fall within this allowable range. In such a case, it can be determined that the reference code and the specific target code are "identical (matching)". 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. 4(B), the differences for each sampling range S1 to S9 for the character string data of the reference code A and the specific target code C are +74, -101, +27, 0, -261, +38, +126, -249, and +273. If the allowable range of the difference corresponding to each sampling range is previously set to ±20, in the example shown in Fig. 4(B), only the difference corresponding to the sampling range S4 falls within the allowable range, and the differences corresponding to the other sampling ranges do not fall within the allowable 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, the graphs do not overlap when it can be determined that the reference code and the specific target code are different (A and C).
なお、許容範囲が設けられていないとすると、画像の撮影条件(反射光、環境光など)が全く同じ状態であることを意味する。これに対して、許容範囲を設けた場合には、光の状態など微弱な環境変化や、利用者の感覚に対応した「解」を導き出すことが可能となる。この許容範囲(環境変数)を用いることにより、人間の目による感覚に近い判断(~かもしれない)を実現できる。許容範囲の大きさについては任意に設定できるが、本願発明者の検討によれば上記した±20程度に設定することが好ましい。 If no tolerance range is set, it means that the image capture conditions (reflected light, ambient light, etc.) are exactly the same. In contrast, if a tolerance range is set, it becomes possible to derive a "solution" that corresponds to slight environmental changes such as lighting conditions and the user's senses. By using this tolerance 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 tolerance range can be set arbitrarily, but according to the inventor's investigation, it is preferable to set it to about ±20 as mentioned above.
図6は、上記した方法を用いてコード生成を行うためのコード生成装置の構成例を示すブロック図である。図示のコード生成装置1は、情報処理部10、カメラ11、マイク12、記憶装置13、操作デバイス14、表示デバイス15を含んで構成されている。
Figure 6 is a block diagram showing an example of the configuration of a code generation device for generating code using the above-mentioned method. 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は、例えばユーザが所持するスマートフォン等の情報処理装置に対して所定のアプリケーションプログラムを予めインストールすることによって実現されるものである。
Figure 7 is a block diagram showing an example of the configuration of a user device that uses a code generated by the above method to match target data. 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 matching
図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との接続に用いられる。
Figure 8 is a diagram showing an example of the configuration of a computer that realizes the information processing unit in each of the code generation device and the user device. The computer shown in the figure is configured to include a
図9(A)は、コード生成装置の動作手順を示すフローチャートである。また、図9(B)は、ユーザ装置の動作手順を示すフローチャートである。なお、いずれの動作手順においても、情報処理の結果に矛盾や不整合を生じない限りにおいて適宜処理順序を入れ替えることも可能であり、またここで言及しない他の処理を追加してもよく、それらの実施態様も排除されない。 Figure 9 (A) is a flowchart showing the operation procedure of the code generation device. Figure 9 (B) is a flowchart showing the operation procedure of the user device. Note that in either operation procedure, the order of processing can be changed as appropriate as long as no contradictions or inconsistencies occur in the results of information processing. In addition, other processing not mentioned here can be added, and these implementations are not excluded.
まず、コード生成装置の動作手順を説明する。
コード生成装置1に対象データが入力されると(ステップS11)、サンプリング処理部20は、この対象データを複数のサンプリング範囲に分割する処理を行う(ステップS12)。ここで、対象データは、カメラ11から入力される画像データでもよいし、マイク12から入力される信号に対応する音データでもよいし、記憶装置13に予め格納されていた画像データもしくは音データでもよい。また、ネットワークを介してサーバ等(図示せず)から送信されてコード生成装置1で受信されたものであってもよい。
First, the operation procedure of the code generating device will be described.
When target data is input to the code generation device 1 (step S11), the
次に、特徴値算出部21は、サンプリング処理部20によって分割された各サンプリング範囲に含まれる所定の要素データの平均値を求める(ステップS13)。ここでの要素データとは、上記のとおり対象データに含まれており対象データの内容、特徴あるいは特性を形作るためのデータであればよい。例えば、上記したように画像データであれば各画素の輝度等であり、音データであれば所定のサンプリング時間ごとの音の大きさであってもよい。
Next, the feature
次に、特徴値算出部21は、各サンプリング範囲に対応する平均値の相対差を求める(ステップS14)。相対差は、例えば上記した例のように百分率で表されるがこれに限定されない。
Next, the feature
次に、エンコード処理部23は、特徴値算出部21によって算出された各サンプリング範囲に対応する相対差を用いて、対象データに対応する参照用コード(文字列データを連結したコード)を生成する(ステップS15)。
Next, the
次に、コード記録処理部24は、エンコード処理部23によって生成された参照用コードと、この参照用コードに対応するコンテンツを特定する情報のデータとを関連づけて記憶装置13へ記録して、参照用コードのデータベース(図2参照)を生成する(ステップS16)。
Next, the code
以上の一連の情報処理が、必要な回数を繰り返して実行されることで、複数のコンテンツのそれぞれに対応する参照用コードが生成され、それらの情報を含んだデータベースが得られる。なお、生成されたデータベースは、ネットワークを介して通信可能に接続されたサーバ装置等(図示せず)に送信され、格納されてもよい。それにより、ネットワークを介してデータベースを複数のユーザに対して共有させることができる。 By repeating the above series of information processing as many times as necessary, reference codes corresponding to each of the multiple contents are generated, and a database containing that information is obtained. The generated database may be transmitted to and stored in a server device (not shown) or the like that is communicatively connected via a network. This allows the database to be shared by multiple users via the network.
次に、ユーザ装置の動作手順を説明する。
ユーザ装置2に特定対象データが入力されると(ステップS21)、サンプリング処理部60は、この特定対象データを複数のサンプリング範囲に分割する処理を行う(ステップS22)。ここでの特定対象データも、カメラ11から入力される画像データでもよいし、マイク12から入力される信号に対応する音データでもよいし、記憶装置13に予め格納されていた画像データもしくは音データでもよい。
Next, the operation procedure of the user equipment will be described.
When specific target data is input to the user device 2 (step S21), the
次に、特徴値算出部61は、サンプリング処理部60によって分割された各サンプリング範囲に含まれる所定の要素データの平均値を求める(ステップS23)。ここでの要素データも、上記のとおり対象データに含まれており対象データの内容、特徴あるいは特性を形作るためのデータであればよい。
Next, the feature
次に、特徴値算出部61は、各サンプリング範囲に対応する平均値の相対差を求める(ステップS24)。
Next, the feature
次に、エンコード処理部63は、特徴値算出部61によって算出された各サンプリング範囲に対応する相対差を用いて、特定対象データに対応する特定対象コード(文字列データを連結したコード)を生成する(ステップS25)。
Next, the
次に、照合処理部64は、記憶装置53に予め格納されているデータベースを参照して、ステップS25で生成された特定対象コードに対応するコンテンツを特定する(ステップS26)。特定結果は、適宜、表示デバイス55に表示される。記憶装置53に格納されているデータベースは、例えばネットワークを介してサーバ等(図示せず)から送信されてユーザ装置2で受信されたものである。
Next, the matching
以上が第1実施形態のコード生成及び照合に関する基本的な内容であり、次にその応用例をいくつか説明する。なお、以下の応用例に係るコード生成及び照合はいずれも上記のコード生成装置1およびユーザ装置2(あるいは他の装置)によって実行されるものである。
The above is the basic content regarding the code generation and matching of the first embodiment, and next, some application examples will be explained. Note that the code generation and matching related to the following application examples are all performed by the above-mentioned
図10は、上記した実施形態に係るコード化技術の応用例1を説明するための図である。ここでは、顔認証技術への応用例が示されている。ここでいう顔認証技術とは、ある画像に含まれる顔に対応する人物を特定する技術をいうものとする。また、ある画像とは、カメラによって撮影される静止画像でもよいし、動画像でもよい。動画像の場合には、フレームごとに得られる静止画像を用いることができる。図10(A)に示すように、ある人物の正面からの顔画像データ300が与えられたとする。この顔画像データ300に対して、公知技術を用いて、当該人物を上下左右の各方向から俯瞰した際に対応する顔画像データを自動生成する。もちろん、自動生成ではなく、当該人物から直接に撮影されてもよい。ここでは、正面の顔画像データ300と、これを中心として自動生成(ないし撮影)された上下左右の各方向に対応する顔画像データの合計15個の顔画像データが示されている。
Figure 10 is a diagram for explaining application example 1 of the coding technology according to the embodiment described above. Here, an application example to face recognition technology is shown. The face recognition technology here refers to a technology for identifying a person corresponding to a face included in a certain image. The certain image may be a still image or a moving image taken by a camera. In the case of a moving image, a still image obtained for each frame can be used. As shown in Figure 10 (A), assume that
これらの顔画像データに対して、上記のコード生成装置1によって、図10(B)に示すようにそれぞれコード化を行って参照用コードを得る。ここでは、正面の顔画像データ300に対応するコード1、それ以外の上下左右各方向の顔画像データに対応するコード2~コード15が得られている。これら15個のコード1~コード15をひとまとまりの顔認証用データとして紐づける。例えば、識別情報(FaceID)として各コードに「xxxxx_CEC」といった識別情報を付与してこれらと紐づけることができる。また、識別情報には、特定対象となる人物に関する属性情報(例えば、氏名、年齢、所属など)が紐づけられる。
These facial 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 recognition data in advance, face recognition can be performed in the user device 2 (or other device) in real time based on image data obtained from a camera. There are various specific matching methods, and for example, a person may be identified if any one of
図11は、上記した実施形態に係るコード化技術の応用例2を説明するための図である。ここでは、空間などの画像データを複数の部分画像に分割し、それぞれの部分画像でコードを生成して画像認識(空間認識)を行う場合の応用例が示されている。具体的には、上記のコード生成装置1により、図11(A)に示すように、対象データとしての画像データ400が複数(ここでは12)の部分画像A~Lに分割される。そして、各部分画像A~Lのそれぞれに対して上記のコード化が行われる。部分画像Aに対応して生成されたコードをA_コードと表す。他の部分画像に対応するコードについても同様である。このようにして生成されたA_コード等の12個のコードは、1つの参照用コード群として紐づけて記録される。
Figure 11 is a diagram for explaining an application example 2 of the coding technique according to the embodiment described above. Here, an application example is shown in which image data such as space is divided into a plurality of partial images, and a code is generated for each partial image to perform image recognition (spatial recognition). Specifically, as shown in Figure 11 (A), the
特定対象データとしての画像データについて、同様にしてユーザ装置2(又は他の装置)によって複数の部分画像に分割して各々の部分画像に対応するコードが生成される。例えば、ユーザのカメラによってリアルタイムに撮影される静止画像、あるいは動画像の1フレーム分の画像に対して、コード生成が行われる。このとき、例えば図11(B)に示すように、参照用データ群に対応する画像データ400の撮影範囲と、ユーザによる特定対象データとしての画像データ410とが部分的に重複していたとする。ここでは、部分画像E、F、I、Jに対応する部分が重複しているとする。
Similarly, the image data as identified target data is divided into multiple partial images by the user device 2 (or another device) and a code corresponding to each partial image is generated. For example, code generation is performed for a still image captured in real time by the user's camera, or for one frame of a moving image. At this time, for example, as shown in FIG. 11(B), it is assumed that the shooting 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, if the code group generated from the
図12は、上記した実施形態に係るコード化技術の応用例3を説明するための図である。ここでは、対象物の上下方向を判定する場合の応用例が示されている。対象物としては、上下方向で非対称な形状であれば特にその内容は問わない。例えば、工業機械でピスタチオを割るために上下方向を判定するような場合が挙げられる。 Figure 12 is a diagram for explaining application example 3 of the coding technology according to the embodiment described above. Here, an application example is shown in which the up-down direction of an object is determined. There is no particular restriction on the content of the object as long as it has an asymmetric shape in the up-down direction. For example, there is a case where the up-down direction is determined in industrial machinery to crack pistachios.
図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, an image of a base area is captured without the presence of an
次に、図12(B)の中央に示すように、ベースとなる領域に対象物500が配置された状態で当該領域を撮影して得られる画像データ522に基づき、対象物500のエッジを検出し、対象物500の存在する有効領域524(図中、太線で示す矩形領域)を抽出する。図12(B)に示すように、この抽出した矩形領域524の内部を、上下半分ずつの領域が同一の部分画像の数となるようにして分割し、各部分画像についてコード化する。なお、部分画像の分割の仕方は参照用コード群の生成時と同様にする。
Next, as shown in the center of Figure 12(B), the edges of the
次に、参照用コード群に対して、対象物500が配置された状態で生成した特定対象コード群を照合すると、対象物の存在する領域に対応する各コードは一致せず、それ以外の領域に対応する各コードは一致することになる。図12(B)においてコードの一致する領域については斜線模様を付して示している。図12(C)に示すように、これらコードの一致する領域の数を、上記した有効領域の上半分の領域524a、下半分の領域524bに分けてそれぞれ計数する。図示の例では、有効領域の上半分の領域524aにおいては24個のコードが一致し、下半分の領域524bにおいては13個のコードが一致することになる。この場合、有効領域の上半分の領域524aが上記した部分aに相当するので「上」、有効領域の下半分の領域524bが上記した部分bに相当するので「下」というように判定することができる。
Next, when the specific object code group generated with the
図13は、上記した実施形態に係るコード化技術の応用例4を説明するための図である。ここでは、映像(画像)の中の対象体(一例として動物)を予めコード化しておき、その参照用コード群を用いて、映像中に存在する対象体を認識する場合の応用例が示されている。具体的には、まず、図13(A)に示すように映像中の対象体600(ここでは動物)に対して公知技術によってエッジ検出を行い、図13(B)に示すようにこの対象体のエッジ610を抽出する。次に、図13(C)に示すように、抽出されたエッジ610およびその内部領域612に対して複数の矩形領域をマッピングする。矩形領域の数は任意に設定でき、数が多いほど認識精度を向上させることができる。そして、マッピングされた各矩形領域の部分画像に対して、上記した方法により、それぞれの部分画像に対応する参照用コードを生成し、その参照用コード群を記録しておく。同様にして、対象体の各撮影方向などに対応する参照用コード群を生成し記録しておく。これらの参照用コード群には、対象体に関する情報(例えば、動物であればその名称などの属性情報)を紐づけて記録しておく。
Figure 13 is a diagram for explaining an application example 4 of the coding technique according to the embodiment described above. Here, an application example is shown in which an object (an animal, as an example) in a video (image) is coded in advance, and the object present in the video is recognized using the reference code group. Specifically, first, as shown in Figure 13 (A), edge detection is performed on an object 600 (an animal in this case) in the video using a known technique, and an
次に、例えばリアルタイムに撮影される映像中から、上記と同様にして対象体のエッジ検出、矩形領域のマッピングを行い、各矩形領域の部分画像に対してコード化を行い、映像中の対象体に対応する特定対象コード群を生成する。この特定対象コード群を、予め記録されている参照用コード群と照合することにより、映像中に含まれる対象体を認識し、その有無や名称などの属性を特定することができる。 Next, for example, in video captured in real time, the system performs edge detection of objects and mapping of rectangular areas in the same manner as described above, and encodes the partial images of each rectangular area to generate a set of specific object codes corresponding to the objects in the video. By comparing this set of specific object codes with a set of reference codes recorded in advance, it is possible to recognize objects contained in the video and identify their presence or absence, their names, and other attributes.
このように既存のエッジ検出技術と本実施形態のコード化技術を組み合わせることにより、コードの即時登録、即時照合も可能となり、認識精度の向上が実現できる。対象体が空間や電子データの場合でも同様である。本実施形態のコード化技術は、生成から登録、比較、照合、判定までをリアルタイムで実現することが可能であるため、認識精度や認識速度の向上を図ることができる。 In this way, by combining existing edge detection technology with the coding technology of this embodiment, it becomes possible to instantly register and match codes, improving recognition accuracy. The same is true when the target object is space or electronic data. The coding technology of this embodiment can achieve real-time generation, registration, comparison, matching, and judgment, improving recognition accuracy and speed.
図14は、上記した実施形態に係るコード化技術の応用例5を説明するための図である。ここでは、例えば工業製品の製造時の外観検査工程への適用例が示されている。具体的には、まず図14(A)に示すように検査対象となる製品の外観を撮影して画像データ700を得る。次に、図14(B)に示すように、画像データ700を任意の角度ごと(例えば1°ごと)に360°回転させて、それぞれの角度の画像データ701、702等を得る。そして、それぞれの角度の画像データに基づいてコード化を行い、各コードを参照用コードとして記録しておく。次に、図14(C)に示すように、実際の外観検査工程において、例えばベルト上を流れてくる各製品を撮影して得られる画像データ710~713からそれぞれコードを生成し、これを予め記録しておいた参照用コードと照合する。それにより、製品の配置の角度が一定ではなくても形状や色調などが一致していれば合格品(OK品)と判断し、一部の欠けや色調の相違などがある場合には不良品(NG品)と判断することができる。図示の例では画像データ711、713に対応する製品は合格品であり、画像データ710、713に対応する製品は不良品と判断できる。
Figure 14 is a diagram for explaining application example 5 of the coding technique according to the embodiment described above. Here, for example, an application example to an appearance inspection process during the manufacture of industrial products is shown. Specifically, first, as shown in Figure 14 (A), the appearance of the product to be inspected is photographed to obtain
このように予め参照用コードを生成する際に、1つの良品(不良のない製品)を1つの配置状態(角度)で撮影すれば、メモリ内処理により方向や角度が変わっても識別可能な複数の参照用コードを自動的に生成することができる。また、色情報もコードに埋め込むことにより形状だけでなく色調での判断も可能となる。 When generating reference codes in advance in this way, if one good product (a product without defects) is photographed in one position (angle), multiple reference codes that can be identified even if the direction or angle changes can be automatically generated through in-memory processing. Also, by embedding color information in the code, it becomes possible to judge not only by shape but also by color tone.
図15は、上記した実施形態に係るコード化技術の応用例6を説明するための図である。例えば、製品の外観検査工程において製品が一定の配置で流れてくることが確定している場合には、角度を変えた参照用コードの生成は不要である。この場合は一定の配置にした良品に対応する1つの参照用コードで対応できる。ここでは一例としてパソコン用のキーボードの欠損、印刷不調、傷などの不良を検出する場合を考える。 Figure 15 is a diagram for explaining application example 6 of the coding technology according to the embodiment described above. For example, if it is determined that products will flow in a fixed arrangement during the visual inspection process, it is not necessary to generate reference codes with different angles. In this case, a single reference code corresponding to a non-defective product in a fixed arrangement can be used. Here, as an example, consider the case of detecting defects such as missing parts, printing problems, and scratches on a computer keyboard.
まず、15(A)に示すように検査対象となる製品の外観を撮影して画像データ800を得てコード化を行い、参照用コードとして記録しておく。このとき、図15(B)に示すように、対象製品の画像データ800を複数の矩形領域に分割してそれぞれに対応する部分画像801を得て、各部分画像801に対応する参照用コードの集合である参照用コード群を得ることが好ましい。次に、実際の外観検査工程において、例えばベルト上を流れてくる各製品を撮影して得られる画像データから特定対象コード(群)を生成し、これを予め記録しておいた参照用コード(群)と照合する。それにより、キーボードの欠損、印刷不調、傷などの不良が存在する場合にはそれを検出することができる。この場合に、図15(C)に示すように、不一致となった参照用コードに基づいて不良が存在する領域810を特定することもできる。
First, as shown in FIG. 15(A), the appearance of the product to be inspected is photographed to obtain
図16は、上記した実施形態に係るコード化技術の応用例7を説明するための図である。ここでは、対象体の形状と面積を求める方法を説明する。対象体は、一定の撮影領域に配置されて撮影されるものとする。この場合に、まず対象体が配置されていない状態で撮影領域の画像データを得て、これを複数の領域に分割し、各領域の部分画像に対してコード化を行う。これにより、図16(A)に示すように複数(図示の例では81個)のコードCd11、Cd12・・・Cd99からなる参照用コード群が得られるので、この参照用コード群を記録しておく。 Figure 16 is a diagram for explaining application example 7 of the coding technique according to the embodiment described above. Here, a method for determining the shape and area of an object is explained. The object is assumed to be placed in a fixed shooting area and photographed. In this case, image data of the shooting area is first obtained without the object being placed, and then this is divided into multiple areas, and partial images of each area are coded. This results in a reference code group consisting of multiple (81 in the illustrated example) codes Cd11, Cd12, ..., Cd99, as shown in Figure 16 (A), and this reference code group is recorded.
次に、対象体の配置された撮影領域の画像データを得て、これを複数の領域に分割し、各領域の部分画像に対してコード化を行う。それにより、特定対象コード群が得られる。これを上記の参照用コード群と照合する。すると、図16(B)に示すように、コードの一致している領域901(図中の無模様矩形領域)と、コードの一致していない領域902、903(図中の模様が付された矩形領域)が得られる。コードの一致していない領域902、903は、対象体の存在する領域である。ここでは、10%刻みで一致率を区分けてしている。コードが不一致の領域のうち、例えば図示の例では30%~40%の一致率の領域902をつなぐことで対象体のエッジ、すなわち形状が得られる。また、このエッジ内の面積を求めることで対象体の平面視の面積を求めることができる。また、エッジ内において一致率の異なる領域903(ここでは例えば60~70%の一致率)の部分に基づき、対象体の凹凸を推定することもできる。なお、コード同士の一致率の求め方は種々考えられるが、簡便な一例としては、コード同士をそれらの並び順に1文字ずつ比較して一致する文字の数を計数し、その数を全体の文字数で除算する方法を用いることができる。例えば、コードに384文字が含まれており、そのうち370文字が一致していれば一致率は約96%となる。
Next, image data of the photographed area where the object is located is obtained, divided into multiple areas, and partial images of each area are coded. This results in a specific object code group. This is compared with the reference code group. Then, as shown in FIG. 16B, an
<第2実施形態>
図17は、第2実施形態のコード化方法について説明するための図である。ここではコード化の対象となるデータ(対象データ)の一例として画像データを挙げて説明する。なお、コード生成装置やユーザ装置の構成については第1実施形態と同様であり(図6、図7参照)、コード生成と照合に係る情報処理方法のみが異なっている。ここでは装置構成の説明を省略し、コード生成と照合の情報処理方法について詳述する。
Second Embodiment
Fig. 17 is a diagram for explaining the coding method of the second embodiment. Here, image data is taken as an example of data to be coded (target data) for explanation. Note that the configurations of the code generation device and user device are the same as those of the first embodiment (see Figs. 6 and 7), and only the information processing method relating to code generation and matching is different. Here, explanation of the device configuration is omitted, and the information processing method for code generation and matching 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. 17(A), image data as target data (reference data) is divided into multiple sampling ranges. In the illustrated example, it is divided into 64 sampling ranges S11, S12, S13, ... S88 of 8 rows and 8 columns, but the number of divisions is not limited to this. The total number of pixels contained in each sampling range S11 to S88 is, for example, 1000 to 2000. Each pixel contains color information in YUV format based on a known format. Here, Y represents the luminance value, U (Cb) represents the difference between the luminance value and the blue component, and V (Cr) represents the difference between the luminance value and the red component. Hereinafter, the respective values are referred to as the Y value, U value, and V value. This process is performed 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, U and V values are calculated for each of the sampling ranges S11 to S88. The method of calculating the average values is the same as in the first embodiment described above. For example, for sampling range S11, the average values are calculated by calculating the sum of the Y, U and V values of all pixels contained in this sampling range S11 and dividing the sum by the total number of pixels in sampling range S11. The same applies to the other sampling ranges. This process is performed by feature
図17(B)に、各サンプリング範囲のY値、U値、V値の各平均値の一例を示す。ここでは、サンプリング範囲S11のY値の平均値をY11、U値の平均値をU11、V値の平均値をV11というようにして、各サンプリング範囲におけるY値、U値、V値の各平均値を表している。例えば、サンプリング範囲S12では、各平均値は、Y12=119、U12=128、V12=142である。 Figure 17 (B) shows an example of the average values of the Y, U, and V values for each sampling range. Here, the average values of the Y, U, and V values for sampling range S11 are represented as Y11, the average value of the U values as U11, and the average value of the V values as V11, in order to represent the average values of the Y, U, and V values for each sampling range. 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 of each sampling range obtained as described above. As shown in FIG. 17C, for example, the average values are linked in the order of Y, U, and V values as follows: Y11, Y12, Y13, ... Y21, Y22, ... Y87, Y88, U11, U12, U13, ... U21, U22, ... U87, U88, V11, V12, V13, ... V21, V22, ... Y87, Y88. Note that this is just an example, and the order of linking the Y, U, and V values can be set as appropriate. In this way, a reference code corresponding to the image data as the target data (reference data) is generated. This process is performed by the
ここで、Y11~Y88、U11~U88、V11~V88のそれぞれの値が例えば16進数の文字列で表されるとすると、上記のように8行8列の64分割のサンプリング範囲を設定した場合に得られるコードのデータサイズは、192バイト(=64×3)となる。これは384文字のテキストデータに相当する。16進数の文字コードで表記されたコードの一例を図18に示す。16進数文字では1文字あたりのデータ量が4ビットであるから文字数が384文字であるが記録する際のデータ量は192バイトとなる。 If the values of Y11 to Y88, U11 to U88, and V11 to V88 are each expressed as a hexadecimal string, for example, then the data size of the code obtained when a sampling range of 64 divisions with 8 rows and 8 columns is set as above will be 192 bytes (= 64 x 3). This corresponds to 384 characters of text data. An example of a code expressed in hexadecimal character code is shown in Figure 18. In hexadecimal characters, the data amount per character is 4 bits, so although the number of characters is 384, the data amount when recorded will be 192 bytes.
本願発明者の検討によれば、この192バイトのデータ量が複雑な演算を用いずに比較・照合・判定・認識をリアルタイムで行うための実用的な最小値となる。すなわち、空間・風景・物体・熱源映像・映像・画像などの可視化できる対象データに対して98%程度の認識率を達成できる有効なコードの最小値が192バイトとなる。このデータサイズは、元になる映像や画像の面積やデータサイズに依存しない。 According to the inventors' research, this 192-byte data volume is the practical minimum value for performing comparison, matching, judgment, and recognition in real time without complex calculations. In other words, 192 bytes is the minimum value of an effective code that can achieve a recognition rate of about 98% for visualized target data such as space, landscape, object, heat source video, video, and images. 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 to correspond to a video with a frame rate of 24 fps. If the data size of a code corresponding to one image is 192 bytes as shown above, the number of codes corresponding to a 30-minute video will be 43,200, with the amount of data being approximately 7.9 MB. Similarly, the number of codes corresponding to a 1-hour video will be 86,400, with the amount of data being approximately 15.8 MB, the number of codes corresponding to a 2-hour video will be 172,800, with the amount of data being approximately 31.6 MB, and the number of codes corresponding to a 1-day video will be 2,073,600, with the amount of data being approximately 379.7 MB. Even if each code is accompanied by associated information such as coordinates (longitude, latitude, altitude: 24 bytes), time (date and hour, minute, second: 8 bytes), and a comment of 100 double-byte characters (200 bytes), the amount of data corresponding to a 30-minute video is approximately 17.5 MB, the amount of data corresponding to a 1-hour video is approximately 34.9 MB, the amount of data corresponding to a 2-hour video is approximately 69.9 MB, and the amount of data corresponding to a 1-day video is approximately 838.5 MB. Note that if one code is generated corresponding to one frame per second, the amount of data will be 1/24 of the above amount. In this case, the amount of data for a 1-day video will be very small, at 15.8 MB (without associated information) or 34.9 MB (with associated 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))
In addition, since this code contains color information for each of YUV, it is possible to obtain color information in RGB format by using this color information through the following conversion formula:
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が実行する。
Figure 19 is a diagram for explaining the matching method using the code of the second embodiment. Here, to simplify the explanation, consider a case where a sampling range of 3 rows and 3 columns is set. In the figure, the left side shows a reference code that has been generated and recorded in advance, and the right side shows a specific target code obtained from the specific target data. Note that each code is actually a character string as shown in Figure 17 (C) above, but here it is expressed so that the correspondence between each sampling range is easy to understand. Possible matching methods include, for example, a simple comparison method and a relative comparison method. These processes are executed by the matching
まず、単純に比較する方法を説明する。サンプリング範囲ごとに、参照用コードと特定対象コードの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 is described. For each sampling range, the differences between the Y value, U value, and V value of the reference code and the specific target code are calculated, and the differences are squared. For example, in the illustrated example, the square of the Y value difference in the sampling range of
このようにしてY値、U値、V値のそれぞれに対応する合計値が得られると、それらを予め設定した基準値と比較し、各値ともに基準値以下である場合に、参照用コードと特定対象コードが一致していると判断する。基準値は、どの程度の類似度で「一致」とするかを用途などに考慮して設定すればよく、例えば97%以上の一致率に相当する基準値を設定することができる。 Once the total values corresponding to the Y, U, and V values are obtained in this way, they are compared with a preset reference value, and if each value is below the reference value, it is determined that the reference code and the specific target code match. The reference value can be set taking into consideration the application, etc., of the level of similarity that is deemed to be a "match." For example, a reference value equivalent to a match rate of 97% or more can be set.
なお、Y値、U値、V値のそれぞれについて差分をさらに二乗しているのは、参照用コードと特定対象コードの相違をより検出しやすくするためである。用途によっては二乗をしなくてもよいし、反対に、三乗などさらに指数を大きくしてもよい。 The difference between the Y, U, and V values is further squared 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, or conversely, the exponent may be increased further, such as by cubes.
次に、相対的に比較する方法を説明する。まず、参照用コードについて、1行1列のサンプリング範囲と1行2列のサンプリング範囲との間でY値の差分を二乗した値Ya12を求める。図示の例ではYa12=(202-195)2=49である。同様に、1行1列のサンプリング範囲とそれ以降の8つのサンプリング範囲との間でY値の差分を二乗した値Ya13、Ya14・・・Ya19をそれぞれ求める。
Next, a method of relative comparison will be described. First, for the reference code, a value Ya12 is calculated by squaring the difference in Y value between the sampling range of
次に、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 calculated by squaring the difference in Y values between the sampling range of
以下も同様に、2行1列のサンプリング範囲とそれ以降のサンプリング範囲、2行2列のサンプリング範囲とそれ以降のサンプリング範囲、2行3列のサンプリング範囲とそれ以降のサンプリング範囲、3行1列のサンプリング範囲とそれ以降のサンプリング範囲、3行2列のサンプリング範囲とそれ以降のサンプリング範囲、のそれぞれの間でY値の差分を二乗した値を求める。
Similarly, calculate the squared difference in Y values between the sampling range of
そして、求められたY値の差分を二乗した値をすべて合計する。図示の例では、合計値は47502となる。また、U値、V値についても同様にして計算すると、U値に関する合計値は73256、V値に関する合計値は0となる。 Then, all the squared values of the differences in the Y values thus found are summed up. In the example shown, the total is 47,502. If the same calculation is performed for the U and V values, the total for the U values is 73,256, and the total for the V values is 0.
次に、特定対象コードについても上記と同様にして計算すると、Y値に関する合計値は70898、V値に関する合計値は58104、U値に関する合計値は18272となる。 Next, if we perform the same calculations for the specific target codes as above, the total for the Y values is 70,898, the total for the V values is 58,104, and the total for the U values is 18,272.
そして、参照用コードと特定対象コードとの間で、YUVそれぞれの合計値の差分を求めると、ΔY=23396、ΔU=15152、ΔV=18272となる。 Then, when calculating the difference between the total values of YUV between the reference code and the specific target code, the results are ΔY = 23396, ΔU = 15152, and ΔV = 18272.
このようにしてY値、U値、V値のそれぞれに対応する合計値の差分が得られると、それらを予め設定した基準値と比較し、各値ともに基準値以下である場合に、参照用コードと特定対象コードが一致していると判断する。基準値は、どの程度の類似度で「一致」とするかを用途などに考慮して設定すればよく、例えば97%以上の一致率に相当する基準値を設定することができる。 Once the differences in the total values corresponding to the Y, U, and V values are obtained in this way, they are compared with a preset reference value, and if each value is below the reference value, it is determined that the reference code and the specific target code match. The reference value can be set taking into consideration the application, etc., of the level of similarity that is deemed to be a "match," and can be set to, for example, a reference value equivalent to a match rate of 97% or more.
なお、単純比較の場合と同様、Y値、U値、V値のそれぞれについて差分をさらに二乗しているのは参照用コードと特定対象コードの相違をより検出しやすくするためである。用途によっては二乗をしなくてもよいし、反対に、三乗などさらに指数を大きくしてもよい。また、相対比較の場合に、上記した例では、あるサンプリング範囲とそれ以降のサンプリング範囲との差分を求めていたが、各サンプリング範囲について、他の全てのサンプリング範囲と総当たりにして差分を求めてもよい。 As with simple comparison, the difference between the Y, U, and V values is further squared 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, or conversely, a larger exponent such as cubed may be used. Also, in the above example of relative comparison, the difference between a certain sampling range and the sampling range thereafter was found, but the difference may also be found by exhaustively comparing each sampling range with all other sampling ranges.
上記したような第2実施形態に係るコードは、上記した第1実施形態において種々説明した応用例に対して適用することができる。すなわち、第1実施形態と第2実施形態ではコードの生成方法に相違があるが、各応用例は生成されたコードの活用方法に係るものであり、コードの生成方法には影響を受けないからである。 The code according to the second embodiment as described above can be applied to the various application examples described in the first embodiment above. That is, although there is a difference between the method of generating the code in the first and second embodiments, each application example relates to a method of utilizing the generated code and is not affected by the method of generating the code.
<第3実施形態>
図20は、第3実施形態のコード化方法について説明するための図である。ここではコード化の対象となるデータ(対象データ)の一例として音データを挙げて説明する。なお、コード生成装置やユーザ装置の構成については第1実施形態と同様であり(図6、図7参照)、コード生成と照合に係る情報処理方法のみが異なっている。ここでは装置構成の説明を省略し、コード生成と照合の情報処理方法について詳述する。
Third Embodiment
Fig. 20 is a diagram for explaining the coding method of the third embodiment. Here, sound data is taken as an example of data to be coded (target data) for explanation. Note that the configurations of the code generation device and user device are the same as those of the first embodiment (see Figs. 6 and 7), and only the information processing method relating to code generation and matching is different. Here, the description of the device configuration is omitted, and the information processing method for code generation and matching will be described in detail.
一般に、音の三要素は、音の大きさ、音程、音色である。音データのコード化とは、音自体を再現するものではなく、例えばリアルタイムに音データを解析して音の認識、識別を行うことを目的とした技術である。本実施形態では、音の三要素のうち、音程に着目してコード化を行う。 Generally, the three elements of sound are loudness, pitch, and timbre. Sound data coding is not a technique for reproducing the sound itself, but rather for the purpose of recognizing and identifying sounds by analyzing sound data in real time, for example. In this embodiment, coding is performed with a focus on pitch, one of the three elements of sound.
図20(A)は、マイクから収音された音に対して離散フーリエ変換を行い、周波数の時間変化を求めた波形図の一例である。なお、必要に応じてケプストラム解析により基本周波数を算出してもよい。このような波形図に対して、例えばサンプリング間隔Qを0.2秒間に設定し、このサンプリング間隔ごとに周波数を抽出する。そして、抽出した周波数の値をコード化し、記録する。このとき、サンプリング間隔Q、サンプリング時間(図示の例では2.0秒間)、曲のタイトル等の関連データが付加されて記録される。コード化の対象となる音データは、マイクによる収音でリアルタイムに得られるものであってもよいし、予め収音されて保存されていたものであってもよい。保存されていた音データの形式がmp3などの圧縮形式である場合には、適宜WAVE形式などの非圧縮形式に変換されてコード化が実行される。 Figure 20 (A) is an example of a waveform diagram in which a discrete Fourier transform is performed on a sound picked up by a microphone to determine the change in frequency over time. If necessary, the fundamental frequency may be calculated by cepstrum analysis. For such a waveform diagram, for example, a sampling interval Q is set to 0.2 seconds, and a frequency is extracted for each sampling interval. The extracted frequency value is 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 from a microphone, or may be data that has been picked up and saved in advance. If the saved sound data is in a compressed format such as mp3, it is appropriately converted to an uncompressed format such as WAVE format and coded.
なお、上記の情報処理は、サンプリング間隔ごとのデータ分割がサンプリング処理部20によって行われ、周波数の算出が特徴値算出部21によって行われ、コード化がエンコード処理部23によって行われ、得られたコードと関連情報の記録がコード記録処理部24によって行われる。
In the above information processing, data division for each sampling interval is performed by 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バイトとなる。 Figure 20 (B) is a diagram showing an example of coding. It shows an example of coding performed every 0.2 seconds based on the waveform of the sound data shown in Figure 20 (A). For example, when the acquisition timing is 0.2 seconds, the frequency is extracted as 1046.50 Hz, and the corresponding code (indicated as "CEC" in the figure) is obtained as 0416. This note corresponds to "C6" in the scale name and 64 in the keyboard symbol (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 20,000 Hz when the frequency is extracted, and the decimal points are truncated when coding. For example, in the case of 20.2 Hz, the value after truncation is "20", which becomes "14" when coded in hexadecimal. Similarly, in the case of 261.62 Hz, the value after truncation is "261", which becomes "105" when coded in hexadecimal. Similarly, for example, 20000.0 Hz, the value after truncation is "20000", which becomes "4e20" when coded in hexadecimal. Therefore, the code generated in this embodiment can be expressed in a maximum of four hexadecimal characters, so the data size is a maximum of 2 bytes.
図21は、第3実施形態のコードを用いた照合方法を説明するための図である。図21(A)に示すように、ある楽曲(Twilight Message)の一部分(2000ms分)の音程に対応するコードがサンプリング間隔Qを0.2秒間に設定して予め求められており、参照用コード群として記録されている。なお、図中では説明を簡単にするために、コードをA~Gのアルファベットで表記しており、同じアルファベット表記のコードはその内容が一致しているとする。これに対して、リアルタイム(あるいは音データ)として与えられる各楽曲の特定対象データに対してコード化を行い、これを参照用データ群と照合する。図示の例では、楽曲(1)、楽曲(3)のそれぞれには参照用データ群とコードの並びが一致する部分が存在しないので、参照用データ群により特定される楽曲ではないと判断できる。他方、楽曲(2)には、参照用データ群とコードの並びが一致する部分が存在するので、この楽曲(2)は参照用データ群に対応する楽曲(Twilight Message)であると判断できる。なお、サンプリング間隔Qごとの各コード同士の一致/不一致については、完全にコードが同じ場合に「一致」と判断してもよいし、一定の誤差範囲内(例えば±10Hzに相当する誤差範囲内)であれば「一致」と判断してもよい。 21 is a diagram for explaining the matching method using the chords of the third embodiment. As shown in FIG. 21(A), the chords corresponding to the pitch of a part (2000 ms) of a certain song (Twilight Message) are obtained in advance by setting the sampling interval Q to 0.2 seconds, and are recorded as a reference chord group. In the figure, for the sake of simplicity, the chords are represented by the alphabets A to G, and it is assumed that the contents of the chords represented by the same alphabet match. In response to this, the identification target data of each song given as real time (or sound data) is coded and matched with the reference data group. In the example shown in the figure, there is no part in each of the songs (1) and (3) where the sequence of the chords matches the reference data group, so it can be determined that the song is not a song identified by the reference data group. On the other hand, there is a part in the song (2) where the sequence of the chords matches the reference data group, so it can be determined that the song (2) is a song (Twilight Message) corresponding to the reference data group. Regarding the match/mismatch between the codes at each sampling interval Q, the codes may be judged as "matching" if they are completely the same, or may be judged as "matching" if they are within a certain error range (for example, an error range equivalent to ±10 Hz).
なお、上記の情報処理は、サンプリング間隔ごとのデータ分割がサンプリング処理部60によって行われ、周波数の算出が特徴値算出部61によって行われ、コード化がエンコード処理部63によって行われ、得られたコードと参照用データ群との照合が照合処理部64によって行われる。
In the above information processing, data division for 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 sound data, it is more preferable to set the sampling interval taking into consideration the tempo, especially when the target is sound data of a song. For example, in the case of a song with a tempo (BPM) of 120, 120 quarter notes (beats) are included in one minute. In this case, there are two beats per second, and the interval between one beat is 0.5 seconds. In this case, by setting (adjusting) the sampling interval to match the tempo of the sound data, encoding corresponding to the timing of the notes is possible. Specifically, the sampling interval is Q, the tempo is B, and the length of the beat of the target note is X. Here, the length of the beat of the note is set, for example, as X = 4 for a quarter note and X = 8 for an eighth note. In this case, as shown in FIG. 21(B), the sampling interval Q can be expressed as Q = (1/((B/60) x (X/4))) x 1000. By setting the sampling interval Q using this relational expression and encoding the sound data, the accuracy of determining the similarity of the songs is further improved. The lower column of Figure 21 (B) shows examples of specific values for the preferred sampling interval Q.
このような音データのコード化により、例えば空間に流れる楽曲のタイトルをユーザ装置2に表示させ、あるいはその楽曲に合わせたARコンテンツ(拡張現実コンテンツ)、動画、静止画をユーザ装置2に表示させるなどの制御を実現できる。また、いわゆる楽曲の盗作問題に関して、人間の主観的な判断ではなく、客観性のある判断としてその類否を提示することも可能となる。また、一般に生物の心音はすべて異なり、たとえ双子であっても心音は異なるという見識を前提にすると、心音をコード化することにより、心音に基づく人物認証(心音認証)を行うことも可能になる。例えば、空港などのゲートにおける人物認証が可能になるなど、これまでにないユースケースを生み出すことができる。
By encoding sound data in this way, it is possible to realize controls such as displaying the title of a song playing in space on the
以上のような各実施形態によれば、画像や音声等の対象データを少ないデータ量でコード化する新規な技術が提供される。それにより、低負荷かつ短い処理時間で特定対象データと参照用データとの照合を実行可能とする新規な技術も提供される。 According to each of the above-described embodiments, a new technology is provided that encodes target data such as images and audio with a small amount of data. This also provides a new technology that makes it possible to match specific target data with reference data with a low load and in a short processing time.
すなわち、各実施形態によれば、例えばカメラを通した映像を任意の個数で分割し、複数に分割された各1ブロック(サンプリング範囲)に対して光源、輝度、色などの情報から固有のコードを生成して記録し、このコードを利用して高速に(あるいはリアルタイムに)比較、照合、認証を行うことが可能となる。この固有のコードを用いることで、熱源、音、X線といった不可視の情報や五感情報の伝送において、より小さなデータサイズで実現することも可能である。図22にその概念図を示すように、空間情報や動画像、静止画像、温度や音といった、現在においてデータとして確立・認識されているものに対して各実施形態による固有のコードを付加することによって、現実世界との紐付けだけでなくデータの新しい利用方法が生まれ、すでに記録されて存在しているデータに更なる付加価値と活用方法を与えることができる。例えば、GPS情報(位置情報)、方向、角度、温度、圧力などに加え、すでにビッグデータ上には入手先やURLなど様々な付随する情報が存在する。しかしながら現実世界とリアルタイムで比較、照合した場合には、判定に必要な「状況」、「状態」、「空間データ」が欠落しており、必要な紐付けができていないのが現状である。これに対して、各実施形態によるコードを用いて「アースデータ」という現実との結合の手を作ることにより、現実世界とシステムの間でのリンクの「鍵」、トリガーとしての役割を果たすことができる。各実施形態によるコードのデータサイズは非常に小さいので、「バイトチェーン」という新しい概念が提供される。 That is, according to each embodiment, for example, an image captured by a camera can be divided into an arbitrary number of parts, and a unique code can be generated and recorded for each of the divided blocks (sampling ranges) from information such as light source, brightness, and color, and this code can be used to perform high-speed (or real-time) comparison, collation, and authentication. By using this unique code, it is possible to transmit invisible information such as heat sources, sound, and X-rays, as well as information from the five senses, with a smaller data size. As shown in the conceptual diagram in FIG. 22, by adding a unique code according to each embodiment to what is currently established and recognized as data, such as spatial information, moving images, still images, temperature, and sound, not only can it be linked to the real world, but new ways of using data can be created, and further added value and methods of using data that have already been recorded can be given. For example, in addition to GPS information (location information), direction, angle, temperature, pressure, and the like, various accompanying information such as source and URL already exists in 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 necessary linking cannot be made. In response to this, the code according to each embodiment can be used to create a link with reality called "Earth Data," which can act as a "key" or trigger for the link between the real world and the system. Because the data size of the code according to each embodiment is very small, a new concept called "byte chain" is provided.
なお、本発明は上記した各実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々に変形して実施をすることが可能である。各実施形態により生成されるコードの活用法、応用法は上記した内容に限られない。また、各実施形態で挙げた数値などは一例であってこれらに限定されない。また、第1実施形態では、各サンプリング範囲の相互間で相対差を求めていたがこれを省略して各サンプリング範囲の輝度の平均値を文字列データとして連結してもよい。 The present invention is not limited to the contents of the above-mentioned embodiments, and various modifications can be made within the scope of the gist of the present invention. The use and application of the code generated by each embodiment is not limited to the above. The numerical values given in each embodiment are merely examples and are not limited to these. In the first embodiment, the relative difference between each sampling range is calculated, but this may be omitted and the average brightness value of each sampling range may be concatenated as character string data.
また、上記した各実施形態では、平均値ないし相対差から得た文字列データを直接に連結してコードを生成していたが本発明における「連結」の態様はこれに限定されない。例えば、各平均値または各相対差に対して一定の係数を乗算したものを文字列データにして連結してもよい。また、各平均値等に対応する文字列データの相互間に特定のデータ(区切り文字等)を介在させた形で各文字列データを連結してもよい。あるいは、各平均値等に対応する文字列データを一定規則の下で他の文字列データに変換したものを連結してもよい。すなわち、平均値等の相互の相対的な関係性が崩れない形ないし復元可能な形であればいかなる連結の態様であっても本発明における「連結」の概念に含まれる。 In addition, in each of the above-mentioned embodiments, the code is generated by directly concatenating the character string data obtained from the average values or the relative differences, but the form of "concatenation" in the present invention is not limited to this. For example, the character string data obtained by multiplying each average value or each relative difference by a certain coefficient may be concatenated. Furthermore, the character string data may be concatenated in a form in which specific data (such as a delimiter) is interposed between the character string data corresponding to each average value, etc. Alternatively, character string data corresponding to each average value, etc. may be converted into other character string data under a certain rule and concatenated. In other words, any form of concatenation is included in the concept of "concatenation" in the present invention as long as it does not destroy or can restore the relative relationships between the average values, etc.
10、50、情報処理部、11、51:カメラ、12、52:マイク、13、53:記憶装置、14、54:動作デバイス、15、55:表示デバイス、20、60:サンプリング処理部、21、61:特徴値算出部、23、63:エンコード処理部、24:コード記録処理部、64:照合処理部 10, 50: Information processing unit, 11, 51: Camera, 12, 52: Microphone, 13, 53: Storage device, 14, 54: Operating device, 15, 55: Display device, 20, 60: Sampling processing unit, 21, 61: Feature value calculation unit, 23, 63: Encoding processing unit, 24: Code recording processing unit, 64: Matching processing unit
Claims (3)
参照用データに応じて求められた参照用コードを取得する第1ステップと、
特定対象データに対応する特定対象コードを生成する第2ステップと、
前記参照用コードと前記特定対象コードとを比較してそれらの一致/不一致を定める第3ステップと、
を含み、
前記第1ステップにおける前記参照用コードは、
前記参照用データを複数の第1サンプリング範囲に分割するステップと、
前記複数の第1サンプリング範囲の各々に複数含まれる第1要素データであってそれぞれが数値で表される1又は複数種の当該第1要素データのうち少なくとも1種の当該第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サンプリング範囲の前記第2平均値を各前記第2サンプリング範囲の前記第2平均値の総和で除算して得られる第2相対差を、各前記第2サンプリング範囲について求めるステップと、
各前記第2サンプリング範囲ごとの前記第2相対差ないしその上位から所定桁数分の数値を、文字列データとして連結することによって前記特定対象データに対応する前記特定対象コードを生成するステップと、
を経て生成されるものであり、
前記第3ステップは、
各前記第1サンプリング範囲と各前記第2サンプリング範囲との間のそれぞれにおいて、前記参照用コードに基づいて得られる各前記第1サンプリング範囲ごとの前記第1相対差ないしその上位から所定桁数分の数値と前記特定対象コードに基づいて得られる各前記第2サンプリング範囲ごとの前記第2相対差ないしその上位から所定桁数分の数値との差分を求めるステップと、
前記差分の各々が全て予め定めた許容範囲に収まる場合に前記参照用コードと前記特定対象コードとが一致すると判断するステップと、
を含む、データ照合方法。 A method for generating and verifying a code according to the contents of target data using an information processing device, comprising:
A first step of obtaining a reference code determined according to reference data;
a second step of generating a specific target code corresponding to the specific target data;
a third step of comparing said reference code with said specific target code to determine a match/mismatch therebetween;
Including,
The reference code in the first step is
Dividing the reference data into a plurality of first sampling ranges;
a step of calculating a first average value of at least one type of first element data among one or more types of first element data included in each of the plurality of first sampling ranges, each of which is expressed by a numerical value, for each of the first sampling ranges;
determining a first relative difference for each of the first sampling ranges by dividing the first average value for each of the first sampling ranges by a sum of the first average values for each of the first sampling ranges;
generating the reference code corresponding to the reference data by concatenating, as character string data, the first relative difference for each of the first sampling ranges or a predetermined number of digits from the first relative difference;
It was previously sought through
The identified target code in the second step is
Dividing the identified target data into a plurality of second sampling ranges set in the same manner as each of the first sampling ranges;
a step of calculating a second average value of at least one type of second element data among one or more types of second element data included in each of the plurality of second sampling ranges, each of which is expressed by a numerical value and which is the same type as the first element data, for each of the second sampling ranges;
determining a second relative difference for each of the second sampling ranges by dividing the second average value for each of the second sampling ranges by a sum of the second average values for each of the second sampling ranges;
generating the specific target code corresponding to the specific target data by concatenating, as character string data, the second relative difference for each of the second sampling ranges or a predetermined number of digits from the second relative difference;
It is generated through
The third step is
a step of calculating a difference between the first relative difference or a predetermined number of digits from the most significant digit for each of the first sampling ranges obtained based on the reference code and the second relative difference or a predetermined number of digits from the most significant digit for each of the second sampling ranges obtained based on the specific target code, between each of the first sampling ranges and each of the second sampling ranges;
determining that the reference code and the specific target code match when each of the differences falls within a predetermined allowable range;
A method for matching data.
請求項1に記載のデータ照合方法。The data matching method according to claim 1 .
請求項1に記載のデータ照合方法。The data matching method according to claim 1 .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022128142A JP7663181B2 (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 |
|---|---|---|---|
| JP2021153630A JP7128555B1 (en) | 2021-05-19 | 2021-09-21 | Data matching method |
| JP2022128142A JP7663181B2 (en) | 2021-09-21 | 2022-08-10 | Code generation method, code generation device, program, and data collation method |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021153630A Division JP7128555B1 (en) | 2021-05-19 | 2021-09-21 | Data matching method |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2022179475A JP2022179475A (en) | 2022-12-02 |
| JP2022179475A5 JP2022179475A5 (en) | 2024-06-04 |
| JP7663181B2 true JP7663181B2 (en) | 2025-04-16 |
Family
ID=83112416
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022128142A Active JP7663181B2 (en) | 2021-09-21 | 2022-08-10 | Code generation method, code generation device, program, and data collation method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7663181B2 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 apparatus, image search method and apparatus, image processing program and storage medium for the program, image search program and storage medium for the program |
| US20170339409A1 (en) | 2016-05-23 | 2017-11-23 | Intel Corporation | Fast and robust human skin tone region detection for improved video coding |
| JP2018140859A (en) | 2017-02-28 | 2018-09-13 | 日本電気株式会社 | Inspection apparatus, inspection method, and program |
-
2022
- 2022-08-10 JP JP2022128142A patent/JP7663181B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 apparatus, image search method and apparatus, image processing program and storage medium for the program, image search program and storage medium for the program |
| US20170339409A1 (en) | 2016-05-23 | 2017-11-23 | Intel Corporation | Fast and robust human skin tone region detection for improved video coding |
| JP2018140859A (en) | 2017-02-28 | 2018-09-13 | 日本電気株式会社 | Inspection apparatus, inspection method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022179475A (en) | 2022-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Zhong et al. | An end-to-end dense-inceptionnet for image copy-move forgery detection | |
| Fang et al. | Android malware familial classification based on dex file section features | |
| CN113395578B (en) | Method, device, equipment and storage medium for extracting video theme text | |
| CN111104925B (en) | Image processing method, device, storage medium and electronic device | |
| CN104715194B (en) | Malware detection method and apparatus | |
| CN115374189B (en) | Block chain-based food safety tracing method, device and equipment | |
| CN116628263B (en) | Multimodal video retrieval methods, devices, electronic devices, and storage media | |
| US11354533B2 (en) | Computer architecture for identifying data clusters using correlithm objects and machine learning in a correlithm object processing system | |
| CN113869219A (en) | Face living body detection method, device, equipment and storage medium | |
| Xie et al. | Bag-of-words feature representation for blind image quality assessment with local quantized pattern | |
| CN113332729A (en) | Cloud game vulnerability detection method based on deep learning and artificial intelligence server | |
| CN113283394B (en) | A method and system for pedestrian re-identification with fusion of context information | |
| JP7663181B2 (en) | Code generation method, code generation device, program, and data collation method | |
| TWI620148B (en) | Device and method for monitoring, method for counting people at a location | |
| CN116311391B (en) | A fingerprint retrieval method with mixed multi-dimensional features and high and low precision | |
| CN115359490B (en) | Text orientation recognition methods, devices, equipment and storage media | |
| JP7128555B1 (en) | Data matching method | |
| Xiao et al. | Robust Land Cover Classification with Local–Global Information Decoupling to Address Remote Sensing Anomalous Data | |
| JP6964372B1 (en) | Code generation method, code generator, program, data collation method | |
| CN105205487A (en) | Picture processing method and device | |
| CN116109964A (en) | Intelligent extraction method, device, storage medium and computer equipment of video map | |
| US11455568B2 (en) | Computer architecture for identifying centroids using machine learning in a correlithm object processing system | |
| Hong et al. | Saliency-based feature learning for no-reference image quality assessment | |
| CN117315301A (en) | Collection information matching system and method based on image recognition | |
| Iorliam et al. | Using benford’s law divergence and neural networks for classification and source identification of biometric images |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20230911 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240510 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240527 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250217 |
|
| 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: 20250228 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250326 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7663181 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |