JP6740912B2 - データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラム - Google Patents

データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラム Download PDF

Info

Publication number
JP6740912B2
JP6740912B2 JP2017005754A JP2017005754A JP6740912B2 JP 6740912 B2 JP6740912 B2 JP 6740912B2 JP 2017005754 A JP2017005754 A JP 2017005754A JP 2017005754 A JP2017005754 A JP 2017005754A JP 6740912 B2 JP6740912 B2 JP 6740912B2
Authority
JP
Japan
Prior art keywords
compression
data
matrix data
value
coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017005754A
Other languages
English (en)
Other versions
JP2018117208A (ja
Inventor
真喜子 此島
真喜子 此島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017005754A priority Critical patent/JP6740912B2/ja
Priority to PCT/JP2017/047073 priority patent/WO2018135281A1/ja
Publication of JP2018117208A publication Critical patent/JP2018117208A/ja
Priority to US16/287,540 priority patent/US10482157B2/en
Application granted granted Critical
Publication of JP6740912B2 publication Critical patent/JP6740912B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)

Description

本発明は、データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラムに関する。
従来、スパース表現クラス分類に要する計算量を削減すると共に分類精度を低下させずに高速にクラス分類を行う装置が知られている(例えば特許文献1)。
特開2012−173795号公報
しかしながら、従来の技術では数多くのデータを効率よく圧縮することができないという問題がある。
一つの側面では、データを効率よく圧縮することが可能なデータ圧縮装置等を提供することを目的とする。
一つの案では、入力された学習用行列データに基づき、圧縮に用いる辞書行列データを生成する辞書生成部と、入力された圧縮対象行列データと生成された前記辞書行列データとに基づき、前記圧縮対象行列データを圧縮した結果である圧縮行列データと、前記圧縮行列データの各行列要素のうち行列要素がゼロではない位置情報とを生成する圧縮部と、生成された前記圧縮行列データの各行において、ゼロ値ではない要素値から特定される特定値を連結したデータ列である特定値データ列について算出された指標値と閾値とを比較し、前記指標値が前記閾値よりも大きい場合、所定の定数を各係数として特定するとともに、前記指標値が前記閾値以下である場合、各特定値の逆数を前記各係数として算出する係数算出部と、前記圧縮行列データの各要素について、前記各要素と算出された前記各係数との積について、対応する各要素における小数部の有効数字の桁数に基づいて丸めた結果である操作後の行列データを圧縮結果として出力する要素値操作部と、を備える。
一つの側面では、データを効率よく圧縮することが可能となる。
処理概要を示す説明図である。 コンピュータのハードウェア群を示すブロック図である。 辞書学習処理の手順を示すフローチャートである。 辞書学習処理の手順を示すフローチャートである。 残差rt及び変数Atの数値例を示す説明図である。 辞書行列データの数値例を示す説明図である。 圧縮処理の手順を示すフローチャートである。 係数算出処理の手順を示すフローチャートである。 圧縮行列データのデータ例を示す説明図である。 係数のデータ例を示す説明図である。 補正処理及び端数処理の手順を示すフローチャートである。 数値例を示す説明図である。 数値例を示す説明図である。 補正処理及び端数処理の手順を示すフローチャートである。 数値例を示す説明図である。 補正処理及び端数処理の手順を示すフローチャートである。 数値例を示す説明図である。 k=2の場合の誤差とファイルサイズとの関係を示すグラフである。 k=5の場合の誤差とファイルサイズとの関係を示すグラフである。 上述した形態のコンピュータの動作を示す機能ブロック図である。 実施の形態4に係るコンピュータのハードウェア群を示すブロック図である。
実施の形態1
以下実施の形態を、図面を参照して説明する。図1は処理概要を示す説明図である。係数の算出等の各種処理を実行する情報処理装置1は、サーバコンピュータまたはパーソナルコンピュータ等である。以下では情報処理装置1をコンピュータ1と読み替えて説明する。コンピュータ1は、学習用行列データYAに基づき学習を行い、圧縮に用いる辞書Aを生成する。次いでコンピュータ1は圧縮対象の行列データYと辞書Aとを用いて、圧縮行列データXを算出する。
コンピュータ1は圧縮行列データXの各要素値に基づき、圧縮行列データXを補正するための係数Zを算出する。コンピュータ1は圧縮行列データX及び係数Zに基づき補正を行い、その後端数処理を行った上で最終的な補正圧縮行列データX’を求める。コンピュータ1は辞書A、係数Z及び補正圧縮行列データX’を最終結果として出力する。以下詳細を説明する。
図2はコンピュータ1のハードウェア群を示すブロック図である。コンピュータ1は制御部としてのCPU(Central Processing Unit)11、RAM(Random Access Memory)12、入力部13、表示部14、記憶部15、時計部18、及び、通信部16等を含む。CPU11は、バス17を介してハードウェア各部と接続されている。CPU11は記憶部15に記憶された制御プログラム15Pに従いハードウェア各部を制御する。なお、CPU11は複数のプロセッサコアを搭載したマルチコアプロセッサであっても良い。RAM12は例えばSRAM(Static RAM)、DRAM(Dynamic RAM)、フラッシュメモリ等である。RAM12は、記憶部としても機能し、CPU11による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
入力部13はマウス、キーボード、タッチパネル、ボタン等の入力デバイスであり、受け付けた操作情報をCPU11へ出力する。表示部14は液晶ディスプレイまたは有機EL(Electro Luminescence)ディスプレイ等であり、CPU11の指示に従い各種情報を表示する。通信部16は通信モジュールであり、他のコンピュータ(図示せず)等と間で情報の送受信を行う。時計部18は日時情報をCPU11へ出力する。記憶部15は大容量メモリまたはハードディスクであり、制御プログラム15P等を記憶している。
図3及び図4は辞書学習処理の手順を示すフローチャートである。コンピュータ1のCPU11は、辞書行列データAの初期値に標準正規乱数を設定する(ステップS31)。なお、入力として、データの圧縮単位(要素数)をn、学習用のデータの個数(圧縮単位のベクトルの個数)をN、学習用行列データYA(以下、場合によりYで代表する)をn行N列の行列とする。また出力をn行m列の辞書行列データAとする。m行N列の圧縮行列データX、残差rt(残差ベクトルrt)、変数At、ループ変数i等は変数とする。
CPU11は、変数iに1を入力する(ステップS32)。CPU11は、サンプルyに学習用行列データYのi列目のデータを入力する(ステップS33)。CPU11は、残差rtの初期値としてサンプルyを入力し、変数Atの初期値としてNULLを入力する(ステップS34)。
図5は、残差rt及び変数Atの数値例を示す説明図である。図6は、辞書行列データAの数値例を示す説明図である。図5に示すように残差rtには2.6、2.6、2.6、2.4・・・と学習用行列データYのi列目のデータが入力されている。なお、図5及び図6の例では、ベクトルの長さを100としているが、紙面の都合上図5及び図6では20要素分までを記載している。
CPU11は、図6に示す辞書行列データAの転置行列ATの一列の中で、残差rtの転置行列rtTとの内積が最大となる列ji(位置情報)を抽出し、変数列Ajとする(ステップS35)。すなわち、内積が最大となるものが最も似た方向を向いているベクトルであるとして抽出する。CPU11は、変数Atに変数列Ajを水平方向に連結する(ステップS36)。なお、初回はAtの初期値がNULLであるため、連結対象の変数列Ajがそのまま入力される。図5及び図6に示すとおり、変数Atの1列目は、辞書行列データAの13列目とベクトルの向きが類似し、変数Atの2列目は、辞書行列データAの292列目とベクトルの向きが類似している。また変数Atの3列目は、辞書行列データAの169列目とベクトルの向きが類似している。
CPU11は、変数Atと残差rtとの最小二乗解Xtiを算出する(ステップS37)。具体的には、rt=At*XtiとなるXtiのうち、rt-At*Xtiの二乗誤差を最小にするXtiを算出する。図5に示すようにXtiは7.509095、6.965821、5.834313・・・と算出される。CPU11は、変数Atに最小二乗解Xtiを乗じて乗算値ytを算出する(ステップS38)。CPU11は、残差rtから乗算値ytを減算した値を残差rtに置き換える(ステップS39)。図5には、rtが1.618316731、3.323110212・・・と置き換えられている。
CPU11は、記憶部15から閾値E1及び閾回数(例えば30回)を読み出す(ステップS41)。CPU11は、残差rtの二乗誤差が閾値E1以下、または、ステップS35〜S41の処理回数が閾回数以上か否かを判断する(ステップS42)。CPU11は、残差rtの二乗誤差が閾値E1以下、または、閾回数以上のいずれでもないと判断した場合(ステップS42でNO)、処理をステップS35へ移行させる。CPU11は、ステップS35への移行の際、ステップS35〜S41の処理を実行した回数をインクリメントとし、RAM12に記憶する。CPU11は、ステップS42において、閾回数とRAM12に記憶した回数とを比較する。
CPU11は、残差rtの二乗誤差が閾値E1以下、または、閾回数以上であると判断した場合(ステップS42でYES)、処理をステップS43へ移行させる。CPU11は、変数iに1を加える(ステップS43)。CPU11は、変数iがNより大きいか否かを判断する(ステップS44)。CPU11は、変数iがNより大きくないと判断した場合(ステップS44でNO)、処理をステップS33に戻す。一方、CPU11は、変数iがNより大きいと判断した場合(ステップS44でYES)、処理をステップS45へ移行させる。
CPU11は、最小二乗解Xti及び列jiから圧縮行列データXを構成し、学習用行列データY-辞書行列データA*圧縮行列データXの最小二乗解Aを算出する(ステップS45)。具体的には、Xtiは非0の成分からのみ構成されるため、CPU11は、ステップS35で求めた列番号ji(図5の例では、13、292、169・・・)を使用し、非0の位置(13、292、169・・・)以外の要素値を0とし、圧縮行列データXを構成する。次いで、CPU11は、Y=A*Xの最小二乗解を求めて新しいAとする。
CPU11は、記憶部15から第2閾値E2及び閾回数を読み出す(ステップS46)。CPU11は、学習用行列データY-辞書行列データA*圧縮行列データXの二乗誤差が第2閾値以下、または、閾回数以上か否かを判断する(ステップS47)。具体的には、CPU11は、Y=AXの二乗誤差が第2閾値E2以下か否かを判断する。またCPU11は、ステップS47の処理を行った回数が閾回数以上か否かを判断する。CPU11は、第2閾値E2以下、または、閾回数以上でないと判断した場合(ステップS47でNO)、処理をステップS33に戻す。CPU11は、ステップS47の処理後、ステップS47を処理した回数をインクリメントし、RAM12に記憶する。CPU11は、ステップS47の処理において、閾回数と、RAM12に記憶した回数とを比較する。
CPU11は、第2閾値以下、または、閾回数以上と判断した場合(ステップS47でYES)、処理をステップS48へ移行させる。CPU11は、学習済みの辞書行列データAを記憶部15に記憶する(ステップS48)。
図7は圧縮処理の手順を示すフローチャートである。入力としての圧縮対象のデータyは圧縮単位(要素数)n個の列ベクトルである。その他、圧縮行列データXの非ゼロの個数K、辞書行列データA(n行m列の行列)を入力とする。また出力は圧縮結果Xtk及び非ゼロの位置jk(位置情報)とする。なお、残差rt及び変数At(辞書)は内部変数とする。CPU11は、残差rtの初期値としてデータyを入力し、変数Atの初期値としてNULLを入力する(ステップS71)。CPU11は、変数kkに1を入力する(ステップS72)。
CPU11は、辞書行列データAの転置行列ATの一列の中で、残差rtの転置行列rtTとの内積が最大となる列jk(位置情報)を抽出し、変数列Ajkとする(ステップS73)。具体的には、CPU11は、ATの列の中で、rtTとの内積が最大となる列jkを抽出し、Ajkとする。CPU11は、変数Atに変数列Ajkを水平方向に連結する(ステップS74)。CPU11は、変数Atと残差rtとの最小二乗解をXtkとする(ステップS75)。
CPU11は、変数Atに最小二乗解Xtkを乗じて乗算値ytを算出する(ステップS76)。CPU11は、残差rtから乗算値ytを減算した値を残差rtに置き換える(ステップS77)。CPU11は、変数kkが非ゼロの個数Kより大きいか否かを判断する(ステップS78)。CPU11は、大きくないと判断した場合(ステップS78でNO)、処理をステップS79へ移行させる。CPU11は、変数kkの値をインクリメントする(ステップS79)。CPU11は、その後処理をステップS73へ移行させる。CPU11は、変数kkが個数Kより大きいと判断した場合(ステップS78でYES)、処理を終了する。CPU11は、ステップS76で求めたXtk及びステップS73で求めた非ゼロの位置jk(K=1〜K)(位置情報)を出力する。
図8は係数算出処理の手順を示すフローチャートである。CPU11は、圧縮行列データXを取得する(ステップS81)。図9は圧縮行列データXのデータ例を示す説明図である。圧縮行列データXはm行N列の行列であり、行が圧縮結果の要素の位置、列がサンプルの並びに対応する。行データの多くが0であり、非ゼロの要素が複数存在している。CPU11は、変数iに初期値1を入力する(ステップS82)。
CPU11は、圧縮行列データXのi行の非ゼロの要素の特定値を取得する。特定値はi行の非ゼロの要素に基づき特定される値であり、例えば複数の非ゼロの要素の、平均値、中央値、最大値、最小値、または、二乗平均等である。なお、実施形態では非ゼロの要素に基づく特定値を利用する例を示すが、ゼロの要素を一部に含む形態であっても良い。以下の実施形態では特定値を非ゼロの要素の絶対値の平均値であるものとして説明する。CPU11は、圧縮行列データXのi行の非ゼロの要素の絶対値の平均値Miを算出する(ステップS83)。CPU11は、変数iがm(行数m)より大きいか否かを判断する(ステップS84)。CPU11は、変数iがmより大きくないと判断した場合(ステップS84でNO)、処理をステップS85へ移行させる。
CPU11は、iに1を加算する(ステップS85)。CPU11は、その後処理をステップS83へ戻す。これにより平均値を連結したデータ列である特定値データ列(Mi(i = 1〜m))が算出される。CPU11は、iがmより大きいと判断した場合(ステップS84でYES)、処理をステップS86へ移行させる。CPU11は、算出した複数の平均値に基づき、平均値のばらつきの度合いを示す指標値を算出する。実施形態では指標値を標準分散であるものとして説明するが、これに限るものではない。例えば不偏分散を用いても良い。
CPU11は、各列の平均値の標本分散を算出する(ステップS86)。CPU11は、平均値の最大値及び最小値を抽出する(ステップS87)。CPU11は、最大値から最小値を減算して減算値を求め、減算値を所定値(例えば6)で除して閾値(TX)を算出する(ステップS88)。なお所定値は、ユーザが適宜入力部13から値を設定すれば良い。CPU11は、標本分散が閾値より大きいか否かを判断する(ステップS89)。CPU11は、標本分散が閾値より大きいと判断した場合(ステップS89でYES)、処理をステップS810へ移行させる。CPU11は、ばらつきが大きいため、係数Ziを1として出力する。(ステップS810)。
CPU11は、標本分散が閾値より大きくない場合(ステップS89でNO)、処理をステップS811へ移行させる。CPU11は、係数Ziを平均値Miの逆数として出力する(Zi=1/Mi(i=1〜m))(ステップS811)。
図10は係数のデータ例を示す説明図である。Y1及びY2は、圧縮前の圧縮対象行列データを示す。X1及びX2は、辞書行列データAに基づき圧縮処理された後の圧縮行列データXである。ここで圧縮行列データXの非ゼロの個数k=8である。係数Zは、説明を容易にするためにX1及びX2の絶対値の平均値の逆数としている。また係数Zの標本分散は4.1であり、閾値より大きくないものとしている。続いてCPU11は、係数Zを用いた圧縮行列データXの補正処理及び端数処理(丸め処理)を行う。
図11は補正処理及び端数処理の手順を示すフローチャートである。図12及び図13は数値例を示す説明図である。CPU11は、記憶部15に記憶した第1係数及び第2係数を読み出す(ステップS111)。第1係数は、圧縮対象行列データYと圧縮行列データXの容量比率を示す。第1係数は例えば、圧縮行列Xの小数部の有効桁数(有効数字の桁数)を圧縮対象行列データYの小数点以下の有効桁数で除した値とすれば良い。本実施形態では小数部の有効桁数としたがこれに限るものではない。第1係数を圧縮行列Xの有効桁数としてもよい。さらに、第1係数を、圧縮行列データXの小数点を含んだ文字数を、圧縮対象行列データYの小数点を含んだ文字数で除した値としても良い。例えば、2.6の場合、小数点を含んで文字数は3となる。なお、実施形態では一例として第1係数を2であるものとして説明する。
第2係数は、本実施形態では圧縮対象行列データYの有効桁数であり、一例として第2係数は2であるものとして説明する。CPU11は、第1係数に第2係数を乗じた乗算値から1を減じて桁数を算出する(ステップS112)。本実施形態では第1係数2に第2係数2を乗じて乗算値4を求め1を減じて、桁数は3となる。CPU11は、圧縮行列データXに係数Zを乗じて補正後の圧縮行列データXtempを算出する(ステップS113)。図12には係数Zを乗じた後の補正後の圧縮行列データXtempが示されている。
CPU11は、補正後の圧縮行列データXtempを、ステップS112で求めた桁数で端数処理する(ステップS114)。図13に示すように小数点第3位の桁の値について端数処理されている。端数処理は小数点第3位以下の第4位の数値に基づく四捨五入、第4位の数値の切り捨て、または第3位の切り上げを行えば良い。本実施形態では四捨五入する例を示す。CPU11は、端数処理後の圧縮行列データX’を記憶部15に記憶し、表示部14に出力または通信部16を介して外部に出力する(ステップS115)。これにより効率よくデータを圧縮することが可能となる。また辞書の学習により精度を向上させることが可能となる。また桁数の算出により、要求に応じたサイズに精度よく圧縮することが可能となる。さらに圧縮行列データXのばらつきの度合いにより係数を適宜設定することで、効率よく圧縮することが可能となる。
実施の形態2
実施の形態2は、符号を考慮する形態に関する。図14は補正処理及び端数処理の手順を示すフローチャートである。図15は数値例を示す説明図である。CPU11は、記憶部15に記憶した第1係数及び第2係数を読み出す(ステップS141)。なお、第1係数は2、第2係数は2であるものとして説明する。CPU11は、圧縮対象行列データYの符号の有無に応じて1または0を第2係数に加算する(ステップS142)。図12に示したように圧縮対象行列データYはマイナスの符号が存在しないため、加算されず第2係数は2のままである。
CPU11は、第1係数に第2係数を乗じた乗算値から1を減じて桁数を算出する(ステップS143)。本実施形態では第1係数2に第2係数2を乗じて乗算値4を求め1を減じて、桁数は3となる。CPU11は、圧縮行列データXの符号の有無に応じて桁数に1または0を減算する(ステップS144)。圧縮行列データXは図12に示すように符号を有するため、桁数3から1を減じて桁数2を算出する。CPU11は、圧縮行列データXに係数Zを乗じて補正後の圧縮行列データXtempを算出する(ステップS145)。
CPU11は、補正後の圧縮行列データXtempを、ステップS144の処理を経て得た桁数で端数処理する(ステップS146)。図15に示すように小数点第2位の桁の値について端数処理されている。本実施形態では四捨五入する例を示している。CPU11は、端数処理後の圧縮行列データX’(圧縮結果)を記憶部15に記憶し、表示部14に出力または通信部16を介して外部に出力する(ステップS147)。これにより圧縮行列データXの符号の有無をも考慮した精度の良いデータ圧縮が可能となる。
本実施の形態2は以上の如きであり、その他は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態3
実施の形態3は小数点の有無をも考慮する形態に関する。図16は補正処理及び端数処理の手順を示すフローチャートである。図17は数値例を示す説明図である。CPU11は、記憶部15に記憶した第1係数及び第2係数を読み出す(ステップS161)。なお、第1係数は2、第2係数は2であるものとして説明する。CPU11は、圧縮対象行列データYの符号の有無に応じて1または0を第2係数に加算する(ステップS162)。図12に示したように圧縮対象行列データYはマイナスの符号が存在しないため、加算されず第2係数は2のままである。
CPU11は、圧縮対象行列データYの小数点の有無に応じて1または0を第2係数に加算する(ステップS163)。図12に示したように、圧縮対象行列データYは小数点が存在するため1加算され第2係数は3となる。CPU11は、第1係数に第2係数を乗じた乗算値から1を減じて桁数を算出する(ステップS164)。本実施形態では第1係数2に第2係数3を乗じて乗算値6を求め1を減じて、桁数は5となる。CPU11は、圧縮行列データXの符号の有無に応じて桁数に1または0を減算する(ステップS165)。圧縮行列データXは図12に示すように符号を有するため、桁数5から1を減じて桁数4を算出する。
CPU11は、圧縮行列データXの小数点の有無に応じて桁数に1または0を減算する(ステップS166)。図12に示すように圧縮行列データXは小数点を有するため、桁数4から1を減じて桁数3を算出する。CPU11は、圧縮行列データXに係数Zを乗じて補正後の圧縮行列データXtempを算出する(ステップS167)。CPU11は、補正後の圧縮行列データXtempを、ステップS166の処理を経て得た桁数で端数処理する(ステップS168)。図17に示すように小数点第3位の桁の値について端数処理されている。本実施形態では四捨五入する例を示している。CPU11は、端数処理後の圧縮行列データX’を記憶部15に記憶し、表示部14に出力または通信部16を介して外部に出力する(ステップS169)。これにより小数点の有無をも考慮した精度の良いデータ圧縮が可能となる。
図18はk=2の場合の誤差とファイルサイズとの関係を示すグラフであり、図19はk=5の場合の誤差とファイルサイズとの関係を示すグラフである。図18における横軸は圧縮行列データXのファイルサイズ(バイト)であり、縦軸は圧縮誤差の最大値である。圧縮対象行列データYのファイルサイズは963,000バイト、小数点あり、符号なし、有効桁数を2桁、圧縮対象行列データYの圧縮単位n=223である。圧縮行列データXの非ゼロの個数kが2の場合が図18、5の場合が図19である。丸印で示す系列は比較例であり端数処理を行わないものである。四角で示す系列は第1係数を2.0としたものであり、三角で示す系列は第1係数を1.6としたものである。
圧縮後のファイルサイズは概ね、圧縮前ファイルサイズ*第1係数*k/nとなっている。また端数処理を行うことで、テキストファイルを保管する際に誤差を拡大させることもなくデータの更なる圧縮が可能であることが理解できる。k=2、k=5いずれの場合にも、同程度の圧縮誤差であり、第1係数2.0の場合で比較例に対し約1/2、第1係数1.6の場合で比較例に対し約1/3程度の圧縮を行うことが可能となる。
本実施の形態3は以上の如きであり、その他は実施の形態1または2と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態4
図20は上述した形態のコンピュータ1の動作を示す機能ブロック図である。CPU11が制御プログラム15Pを実行することにより、コンピュータ1は以下のように動作する。辞書生成部201は、入力された学習用行列データに基づき、圧縮に用いる辞書行列データを生成する。圧縮部202は、入力された圧縮対象行列データと生成された前記辞書行列データとに基づき、前記圧縮対象行列データを圧縮した結果である圧縮行列データと、前記圧縮行列データの各行列要素のうち行列要素がゼロではない位置情報とを生成する。係数算出部203は、生成された前記圧縮行列データの各行において、ゼロ値ではない要素値から特定される特定値を連結したデータ列である特定値データ列について算出された指標値と閾値とを比較し、前記指標値が前記閾値よりも大きい場合、所定の定数を各係数として特定するとともに、前記指標値が前記閾値以下である場合、各特定値の逆数を前記各係数として算出する。
要素値操作部204は、前記圧縮行列データの各要素について、前記各要素と算出された前記各係数との積について、対応する各要素における小数部の有効数字の桁数に基づいて丸めた結果である操作後の行列データを圧縮結果として出力する。抽出部205は、前記学習用行列データの列データに基づき、該列データとの内積が最大となる前記辞書行列データの列データ及び位置情報を抽出する。算出部206は、抽出した前記列データ及び前記学習用行列データの列データに基づき最小二乗解を算出する。生成部207は、算出した最小二乗解、前記位置情報及び前記学習用行列データに基づき、前記辞書行列データを生成する。
第2抽出部208は、圧縮対象行列データの列データに基づき、該列データとの内積が最大となる前記辞書行列データの列データを抽出する。第2算出部209は、抽出した前記列データ及び前記圧縮対象行列データの列データに基づき最小二乗解を算出する。積算出部2010は、前記圧縮行列データの各要素と前記各係数との積を算出する。桁数算出部2011は、第1係数と、前記圧縮対象行列データの有効桁数及び符号の有無に基づき求まる第2係数と、前記圧縮行列データの各要素の符号の有無とに基づき算出される桁数を算出する。処理部2012は、該桁数算出部で算出した桁数に基づき、前記積算出部で算出した積の端数を処理する。
図21は実施の形態4に係るコンピュータ1のハードウェア群を示すブロック図である。コンピュータ1を動作させるためのプログラムは、ディスクドライブ、メモリーカードスロット等の読み取り部10AにCD-ROM、DVDディスク、メモリーカード、またはUSBメモリ等の可搬型記録媒体1Aを読み取らせて記憶部15に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ1Bをコンピュータ1内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Nを介して接続される他のサーバコンピュータ(図示せず)からダウンロードすることも可能である。以下に、その内容を説明する。
図21に示すコンピュータ1は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体1Aまたは半導体メモリ1Bから読み取り、或いは、通信網Nを介して他のサーバコンピュータ(図示せず)からダウンロードする。当該プログラムは、制御プログラム15Pとしてインストールされ、RAM12にロードして実行される。これにより、上述したコンピュータ1として機能する。その他、上述した処理を実行するプログラムを記憶したメモリとプロセッサとを有するハードウェアデバイスをデータ圧縮装置として、図示しないサーバコンピュータ、パーソナルコンピュータ、または、スマートフォン等に実装するようにしても良い。
本実施の形態4は以上の如きであり、その他は実施の形態1から3と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。なお、以上述べた各実施形態は適宜組み合わせることが可能である。
以上の実施の形態1から4を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
入力された学習用行列データに基づき、圧縮に用いる辞書行列データを生成する辞書生成部と、
入力された圧縮対象行列データと生成された前記辞書行列データとに基づき、前記圧縮対象行列データを圧縮した結果である圧縮行列データと、前記圧縮行列データの各行列要素のうち行列要素がゼロではない位置情報とを生成する圧縮部と、
生成された前記圧縮行列データの各行において、ゼロ値ではない要素値から特定される特定値を連結したデータ列である特定値データ列について算出された指標値と閾値とを比較し、前記指標値が前記閾値よりも大きい場合、所定の定数を各係数として特定するとともに、前記指標値が前記閾値以下である場合、各特定値の逆数を前記各係数として算出する係数算出部と、
前記圧縮行列データの各要素について、前記各要素と算出された前記各係数との積について、対応する各要素における小数部の有効数字の桁数に基づいて丸めた結果である操作後の行列データを圧縮結果として出力する要素値操作部と、
を備えるデータ圧縮装置。
(付記2)
前記辞書生成部は、
前記学習用行列データの列データに基づき、該列データとの内積が最大となる前記辞書行列データの列データ及び位置情報を抽出する抽出部と、
抽出した前記列データ及び前記学習用行列データの列データに基づき最小二乗解を算出する算出部と、
算出した最小二乗解、前記位置情報及び前記学習用行列データに基づき、前記辞書行列データを生成する生成部と、
を含む付記1に記載のデータ圧縮装置。
(付記3)
前記圧縮部は、
圧縮対象行列データの列データに基づき、該列データとの内積が最大となる前記辞書行列データの列データ及び位置情報を抽出する第2抽出部と、
抽出した前記列データ及び前記圧縮対象行列データの列データに基づき最小二乗解を算出する第2算出部と、
を含む付記1または2に記載のデータ圧縮装置。
(付記4)
前記要素値操作部は、
前記圧縮行列データの各要素と前記各係数との積を算出する積算出部と、
第1係数と、前記圧縮対象行列データの有効桁数及び符号の有無に基づき求まる第2係数と、前記圧縮行列データの各要素の符号の有無とに基づき算出される桁数を算出する桁数算出部と、
該桁数算出部で算出した桁数に基づき、前記積算出部で算出した積の端数を処理する処理部と、
を備える付記1から3のいずれか一つに記載のデータ圧縮装置。
(付記5)
桁数算出部は、
第1係数と、前記圧縮対象行列データの有効桁数、符号の有無及び小数点の有無に基づき求まる第2係数と、前記圧縮行列データの各要素の符号の有無及び小数点の有無とに基づき桁数を算出する
付記4に記載のデータ圧縮装置。
(付記6)
前記処理部は、
前記積算出部で算出した積に対し、前記桁数算出部で算出した桁数以降の端数を処理する
付記4または5に記載のデータ圧縮装置。
(付記7)
前記閾値は前記特定値の最大値及び最小値に基づき決定される
付記1から6のいずれか一つに記載のデータ圧縮装置。
(付記8)
前記特定値は、生成された前記圧縮行列データの各行のゼロ値ではない要素値の平均値、中央値、最大値または二乗平均であり、
前記指標値は、前記特定値を連結したデータ列である特定値データ列の分散である
付記1から7のいずれか一つに記載のデータ圧縮装置。
(付記9)
入力された学習用行列データに基づき、圧縮に用いる辞書行列データを生成し、
入力された圧縮対象行列データと生成された前記辞書行列データとに基づき、前記圧縮対象行列データを圧縮した結果である圧縮行列データと、前記圧縮行列データの各行列要素のうち行列要素がゼロではない位置情報とを生成し、
生成された前記圧縮行列データの各行において、ゼロ値ではない要素値から特定される特定値を連結したデータ列である特定値データ列について算出された指標値と閾値とを比較し、前記指標値が前記閾値よりも大きい場合、所定の定数を各係数として特定するとともに、前記指標値が前記閾値以下である場合、各特定値の逆数を前記各係数として算出し、
前記圧縮行列データの各要素について、前記各要素と算出された前記各係数との積について、対応する各要素における小数部の有効数字の桁数に基づいて丸めた結果である操作後の行列データを圧縮結果として出力する、
処理をコンピュータに実行させるデータ圧縮プログラム。
(付記10)
入力された学習用行列データに基づき、圧縮に用いる辞書行列データを生成し、
入力された圧縮対象行列データと生成された前記辞書行列データとに基づき、前記圧縮対象行列データを圧縮した結果である圧縮行列データと、前記圧縮行列データの各行列要素のうち行列要素がゼロではない位置情報とを生成し、
生成された前記圧縮行列データの各行において、ゼロ値ではない要素値から特定される特定値を連結したデータ列である特定値データ列について算出された指標値と閾値とを比較し、前記指標値が前記閾値よりも大きい場合、所定の定数を各係数として特定するとともに、前記指標値が前記閾値以下である場合、各特定値の逆数を前記各係数として算出し、
前記圧縮行列データの各要素について、前記各要素と算出された前記各係数との積について、対応する各要素における小数部の有効数字の桁数に基づいて丸めた結果である操作後の行列データを圧縮結果として出力する、
処理をコンピュータに実行させるデータ圧縮方法。
(付記11)
圧縮対象行列データ及び辞書行列データにより得られた圧縮行列データを取得し、
取得した前記圧縮行列データの各行データに基づき特定値を取得し、
取得した複数の特定値に基づき指標値を算出し、
算出した前記指標値及び閾値に基づき、前記圧縮行列データを補正する係数を特定する
処理をコンピュータに実行させるプログラム。
(付記12)
前記圧縮行列データに前記係数を乗じて乗算値を算出し、
前記乗算値を前記圧縮対象行列データの有効桁数に基づき端数処理する
付記11に記載のプログラム。
(付記13)
取得した複数の特定値に基づき、分散を算出する
付記11または12に記載のプログラム。
(付記14)
前記指標値が、前記閾値を超える場合、前記係数を1に特定し、前記閾値を超えない場合、前記係数を前記特定値の逆数とする
付記11から付記13に記載のプログラム。
(付記15)
第1係数と、圧縮対象行列データの有効桁数に基づき決定される第2係数とに基づき桁数を算出し、
前記乗算値を、算出した前記桁数に基づき端数処理する
付記12から14のいずれか一つに記載のプログラム。
(付記16)
第1係数と、圧縮対象行列データの有効桁数及び符号の有無に基づき決定される第2係数と、前記圧縮行列データの符号の有無とに基づき桁数を算出し、
前記乗算値を、算出した前記桁数に基づき端数処理する
付記12から14のいずれか一つに記載のプログラム。
(付記17)
第1係数と、圧縮対象行列データの有効桁数、符号の有無及び小数点の有無に基づき決定される第2係数と、前記圧縮行列データの符号の有無及び小数点の有無とに基づき桁数を算出し、
前記乗算値を、算出した前記桁数に基づき端数処理する
付記12から14のいずれか一つに記載のプログラム。
(付記18)
圧縮対象行列データ及び辞書行列データにより得られた圧縮行列データを取得し、
取得した前記圧縮行列データの各行データに基づき特定値を取得し、
取得した複数の特定値に基づき指標値を算出し、
算出した前記指標値及び閾値に基づき、前記圧縮行列データを補正する係数を特定する
処理をコンピュータに実行させる情報処理方法。
(付記19)
圧縮対象行列データ及び辞書行列データにより得られた圧縮行列データを取得する第1取得部と、
取得した前記圧縮行列データの各行データに基づき特定値を取得する第2取得部と、
取得した複数の特定値に基づき指標値を算出する算出部と、
算出した前記指標値及び閾値に基づき、前記圧縮行列データを補正する係数を特定する特定部と
を備える情報処理装置。
1 コンピュータ(情報処理装置、データ圧縮装置)
1A 可搬型記録媒体
1B 半導体メモリ
10A 読み取り部
11 CPU
12 RAM
13 入力部
14 表示部
15 記憶部
15P 制御プログラム
16 通信部
18 時計部
201 辞書生成部
202 圧縮部
203 係数算出部
204 要素値操作部
205 抽出部
206 算出部
207 生成部
208 第2抽出部
209 第2算出部
2010 積算出部
2011 桁数算出部
2012 処理部
N 通信網

Claims (12)

  1. 入力された学習用行列データに基づき、圧縮に用いる辞書行列データを生成する辞書生成部と、
    入力された圧縮対象行列データと生成された前記辞書行列データとに基づき、前記圧縮対象行列データを圧縮した結果である圧縮行列データと、前記圧縮行列データの各行列要素のうち行列要素がゼロではない位置情報とを生成する圧縮部と、
    生成された前記圧縮行列データの各行において、ゼロ値ではない要素値から特定される特定値を連結したデータ列である特定値データ列について算出された指標値と閾値とを比較し、前記指標値が前記閾値よりも大きい場合、所定の定数を各係数として特定するとともに、前記指標値が前記閾値以下である場合、各特定値の逆数を前記各係数として算出する係数算出部と、
    前記圧縮行列データの各要素について、前記各要素と算出された前記各係数との積について、対応する各要素における小数部の有効数字の桁数に基づいて丸めた結果である操作後の行列データを圧縮結果として出力する要素値操作部と、
    を備えるデータ圧縮装置。
  2. 前記辞書生成部は、
    前記学習用行列データの列データに基づき、該列データとの内積が最大となる前記辞書行列データの列データ及び位置情報を抽出する抽出部と、
    抽出した前記列データ及び前記学習用行列データの列データに基づき最小二乗解を算出する算出部と、
    算出した最小二乗解、前記位置情報及び前記学習用行列データに基づき、前記辞書行列データを生成する生成部と、
    を含む請求項1に記載のデータ圧縮装置。
  3. 前記圧縮部は、
    圧縮対象行列データの列データに基づき、該列データとの内積が最大となる前記辞書行列データの列データ及び位置情報を抽出する第2抽出部と、
    抽出した前記列データ及び前記圧縮対象行列データの列データに基づき最小二乗解を算出する第2算出部と、
    を含む請求項1または2に記載のデータ圧縮装置。
  4. 前記要素値操作部は、
    前記圧縮行列データの各要素と前記各係数との積を算出する積算出部と、
    第1係数と、前記圧縮対象行列データの有効桁数及び符号の有無に基づき求まる第2係数と、前記圧縮行列データの各要素の符号の有無とに基づき算出される桁数を算出する桁数算出部と、
    該桁数算出部で算出した桁数に基づき、前記積算出部で算出した積の端数を処理する処理部と、
    を備える請求項1から3のいずれか一つに記載のデータ圧縮装置。
  5. 桁数算出部は、
    第1係数と、前記圧縮対象行列データの有効桁数、符号の有無及び小数点の有無に基づき求まる第2係数と、前記圧縮行列データの各要素の符号の有無及び小数点の有無とに基づき桁数を算出する
    請求項4に記載のデータ圧縮装置。
  6. 前記処理部は、
    前記積算出部で算出した積に対し、前記桁数算出部で算出した桁数以降の端数を処理する
    請求項4または5に記載のデータ圧縮装置。
  7. 前記閾値は前記特定値の最大値及び最小値に基づき決定される
    請求項1から6のいずれか一つに記載のデータ圧縮装置。
  8. 前記特定値は、生成された前記圧縮行列データの各行のゼロ値ではない要素値の平均値、中央値、最大値または二乗平均であり、
    前記指標値は、前記特定値を連結したデータ列である特定値データ列の分散である
    請求項1から7のいずれか一つに記載のデータ圧縮装置。
  9. 入力された学習用行列データに基づき、圧縮に用いる辞書行列データを生成し、
    入力された圧縮対象行列データと生成された前記辞書行列データとに基づき、前記圧縮対象行列データを圧縮した結果である圧縮行列データと、前記圧縮行列データの各行列要素のうち行列要素がゼロではない位置情報とを生成し、
    生成された前記圧縮行列データの各行において、ゼロ値ではない要素値から特定される特定値を連結したデータ列である特定値データ列について算出された指標値と閾値とを比較し、前記指標値が前記閾値よりも大きい場合、所定の定数を各係数として特定するとともに、前記指標値が前記閾値以下である場合、各特定値の逆数を前記各係数として算出し、
    前記圧縮行列データの各要素について、前記各要素と算出された前記各係数との積について、対応する各要素における小数部の有効数字の桁数に基づいて丸めた結果である操作後の行列データを圧縮結果として出力する、
    処理をコンピュータに実行させるデータ圧縮プログラム。
  10. 入力された学習用行列データに基づき、圧縮に用いる辞書行列データを生成し、
    入力された圧縮対象行列データと生成された前記辞書行列データとに基づき、前記圧縮対象行列データを圧縮した結果である圧縮行列データと、前記圧縮行列データの各行列要素のうち行列要素がゼロではない位置情報とを生成し、
    生成された前記圧縮行列データの各行において、ゼロ値ではない要素値から特定される特定値を連結したデータ列である特定値データ列について算出された指標値と閾値とを比較し、前記指標値が前記閾値よりも大きい場合、所定の定数を各係数として特定するとともに、前記指標値が前記閾値以下である場合、各特定値の逆数を前記各係数として算出し、
    前記圧縮行列データの各要素について、前記各要素と算出された前記各係数との積について、対応する各要素における小数部の有効数字の桁数に基づいて丸めた結果である操作後の行列データを圧縮結果として出力する、
    処理をコンピュータに実行させるデータ圧縮方法。
  11. 圧縮対象行列データ及び辞書行列データにより得られた圧縮行列データを取得し、
    取得した前記圧縮行列データの各行データに基づき特定値を取得し、
    取得した複数の特定値に基づき指標値を算出し、
    算出した前記指標値及び閾値に基づき、前記圧縮行列データを補正する係数を特定する
    処理をコンピュータに実行させるプログラム。
  12. 前記圧縮行列データに前記係数を乗じて乗算値を算出し、
    前記乗算値を前記圧縮対象行列データの有効桁数に基づき端数処理する
    請求項11に記載のプログラム。
JP2017005754A 2017-01-17 2017-01-17 データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラム Active JP6740912B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017005754A JP6740912B2 (ja) 2017-01-17 2017-01-17 データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラム
PCT/JP2017/047073 WO2018135281A1 (ja) 2017-01-17 2017-12-27 データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラム
US16/287,540 US10482157B2 (en) 2017-01-17 2019-02-27 Data compression apparatus and data compression method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017005754A JP6740912B2 (ja) 2017-01-17 2017-01-17 データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018117208A JP2018117208A (ja) 2018-07-26
JP6740912B2 true JP6740912B2 (ja) 2020-08-19

Family

ID=62908758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017005754A Active JP6740912B2 (ja) 2017-01-17 2017-01-17 データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラム

Country Status (3)

Country Link
US (1) US10482157B2 (ja)
JP (1) JP6740912B2 (ja)
WO (1) WO2018135281A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070901B (zh) * 2021-09-30 2024-01-02 深圳智慧林网络科技有限公司 基于多数据对齐的数据发送和接收方法、装置和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5491430B2 (ja) 2011-02-17 2014-05-14 日本電信電話株式会社 クラス分類装置、クラス分類方法、及びクラス分類プログラム
US20130318020A1 (en) * 2011-11-03 2013-11-28 Georgia Tech Research Corporation Analog programmable sparse approximation system
US20130300912A1 (en) 2012-05-14 2013-11-14 Ricoh Innovations, Inc. Dictionary Learning for Incoherent Sampling
US9503287B2 (en) 2013-03-27 2016-11-22 Kabushiki Kaisha Toshiba Signal processing method and apparatus
JP2015220687A (ja) 2014-05-20 2015-12-07 日本電気株式会社 信号処理システム、復元装置、圧縮装置、信号処理方法、復元方法、および、コンピュータ・プログラム
JP2016062249A (ja) 2014-09-17 2016-04-25 日本電気株式会社 識別辞書学習システム、認識辞書学習方法および認識辞書学習プログラム

Also Published As

Publication number Publication date
JP2018117208A (ja) 2018-07-26
US10482157B2 (en) 2019-11-19
US20190197084A1 (en) 2019-06-27
WO2018135281A1 (ja) 2018-07-26

Similar Documents

Publication Publication Date Title
CN107273104B (zh) 一种配置数据结构的处理方法及装置
US20220207370A1 (en) Inferring device, training device, inferring method, and training method
US20220405440A1 (en) Systems and methods for generating reduced order models
US20170034111A1 (en) Method and Apparatus for Determining Key Social Information
JP2012208924A (ja) 適応的重み付けを用いた様々な文書間類似度計算方法に基づいた文書比較方法および文書比較システム
CN113554178A (zh) 优化梯度提升特征选择
CN111373406A (zh) 使用问题匹配的先验知识提取的加速仿真设置过程
JP6740912B2 (ja) データ圧縮装置、データ圧縮プログラム、データ圧縮方法及びプログラム
US20150268953A1 (en) Information processing apparatus and method, and computer program product
CN111432003A (zh) 应用于云计算的数据推送方法、装置、电子设备及系统
CN111401514A (zh) 基于改进图卷积网络的半监督符号网络嵌入方法及系统
US11782947B2 (en) Apparatus for recommending feature and method for recommending feature using the same
US20160321213A1 (en) Computer and graph data generation method
US20190180180A1 (en) Information processing system, information processing method, and recording medium
WO2020146784A1 (en) Converting unstructured technical reports to structured technical reports using machine learning
US20230139396A1 (en) Using learned physical knowledge to guide feature engineering
CN114251075B (zh) 基于多目标参数的储层开采方案确定方法、装置及设备
CN116432014A (zh) 对抗样本的生成方法及装置
JP2019032688A (ja) ソースコード解析装置、ソースコード解析方法及びソースコード解析プログラム
CN113010571A (zh) 数据检测方法、装置、电子设备、存储介质和程序产品
CN113807522A (zh) 贝叶斯网络结构的生成方法、装置、电子设备和存储介质
US20130185401A1 (en) Configuration management device, configuration management method, and configuration management program
JP6660333B2 (ja) 情報抽出装置、情報抽出方法及び情報抽出プログラム
EP4131084A1 (en) Program, data processing method, and data processing apparatus
CN116483735B (zh) 一种代码变更的影响分析方法、装置、存储介质及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

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: 20200623

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R150 Certificate of patent or registration of utility model

Ref document number: 6740912

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150