JP6365545B2 - データ圧縮装置、方法およびプログラム - Google Patents
データ圧縮装置、方法およびプログラム Download PDFInfo
- Publication number
- JP6365545B2 JP6365545B2 JP2015533899A JP2015533899A JP6365545B2 JP 6365545 B2 JP6365545 B2 JP 6365545B2 JP 2015533899 A JP2015533899 A JP 2015533899A JP 2015533899 A JP2015533899 A JP 2015533899A JP 6365545 B2 JP6365545 B2 JP 6365545B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- string
- matching
- length
- character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
(規則1)一致列は、(一致長、一致列の開始位置)で表す、
(規則2)非一致列は、{非一致長、非一致文字列}で表す。
ここで、一致列の開始位置は、幾つ前のアドレスに同一の文字列があるか、を示す。一致列の開始位置は、一致位置、相対位置とも呼ぶ。一致列の開始位置(相対位置)は、ある文字列が複数回目に現われるとき、複数回目に現れたときの先頭位置と、以前に現れたときの先頭位置のアドレスの差で、すなわち、相対距離の大きさであり得る。たとえば、一致列の開始位置が、“14”である場合、複数回目に現れたときの先頭位置は、以前に現れたときの先頭位置より14アドレス分だけ後方に位置することを意味しても良い。元データの文字列中の一致列を(一致長、一致列の開始位置)のような形式の圧縮データに符号化するとも言う。同様に、元データの文字列中の非一致列を{非一致長、非一致文字列}のような形式の圧縮データに符号化するとも言う。
図1〜6Bを参照して、比較例について説明する。以下の比較例の説明は、LZ77方式の概略の説明でもある。
例えば、図1に示されている第1〜34番目のアドレスの位置に格納されている圧縮前のデータ(以下、単に元データと呼ぶことがある)では、第1〜14番目のアドレスの位置に“compression_de”という文字列が格納されており、第15〜22番目のアドレスの位置に“compress”という文字列が格納されており、第23番目のアドレスの位置には“_”(アンダーバー)が、第24〜34番目のアドレスの位置には“compression”という文字列が格納されている。よって、圧縮データは、まず、第1〜14番目のアドレスの位置に“compression_de”は非一致列であり、非一致長は14であるので、圧縮データでは、“{14、compression_de}”と表される。元データの第15〜22番目のアドレスの位置に“compress”とあるが、これは第1〜8番目のアドレスの位置の文字列と同一である。“compress”は8文字であり、一致文字列が開始されるアドレスの位置は14アドレス前であるので、一致列の開始位置は14である。よって、元データの第15〜22番目のアドレスのデータは、圧縮データでは “(8、14)”と符号化される。元データの第23番目のアドレスの位置に格納されている“_”(アンダーバー)は、それ以前には出現していないので、圧縮データでは“{1、_}”と符号化される。元データの第24〜34番目のアドレスの位置に“compression”とあるが、これは第1〜8番目のアドレスの位置の文字列と同一である。“compress”は8文字であり、一致文字列が開始されるアドレスの位置は23アドレス前であるので、一致列の開始位置は23である。よって、元データの第24〜34番目のアドレスのデータは、圧縮データでは “(11、23)”と符号化される。
処理が開始されるとS100で一致列検索部12は、元データの文字列に、繰り返し出現する文字列である一致列が存在するかどうかを検索する。本ステップの処理が終了すると、処理はS102に進む。元データの文字列は、入力バッファ部11に格納されているものであっても良い。
S112で非一致長符号化部15と非一致列符号化部16はそれぞれ、一致が見つからなかった非一致列の長さと文字列を抽出する。そして、非一致列の長さおよび文字列に関する情報をそれぞれ、非一致長符号化部15と非一致列符号化部16内に一時的に記憶する。この情報は、S106で用いられる。本ステップの処理が終了すると、処理はS100に戻る。
図4では、元データが循環文字列である場合を取り上げている。循環文字列の長さをcarton(カートン)と呼ぶ。図6においても、上記規則1、2を用いる。
carton=1の場合の例として、図4には、元データが“aaaaaaaaaab”の場合が示されている。
ここで、図6A、6Bを参照して、コピー元とコピー先に重なりがある例について説明する。
以下で説明する実施形態では、たとえばLZ77方式において、相対位置をoffset、一致長をlengthとしたときに、相対位置が一致長より大きくなる、すなわちoffset>lengthとなるように一致列を分割して符号化する。このように圧縮することによって、一致列の分割によりコピー元とコピー先が重ならなくなるため、復元処理の際に条件分岐がなく、高速な復元処理を実現することができる圧縮データを生成することができる。すなわち、多バイト単位で圧縮データの復元を実現するために、元データ中で繰り返し出現する一致列を、復元時にコピー元とコピー先が重ならないように再分割してから圧縮することで、高速に復元できる圧縮データを生成することができる。
そして一致列分割部28は、相対位置が一致長以上、すなわちoffset≧lengthとなるように一致列を分割する。
このコンピュータ100は、Central Processing Unit(CPU)102、Read Only Memory(ROM)104、及びRandom Access Memory(RAM)106を備えている。コンピュータ100は、さらに、ハードディスク装置108、入力装置110、表示装置112、インタフェース装置114、及び記録媒体駆動装置116を備えている。なお、これらの構成要素はバスライン118を介して接続されており、CPU102の管理の下で各種のデータを相互に授受することができる。
S306で一致列分割部28は、一致列の長さ、つまり一致長と、その一致列が幾つ前のアドレスの位置から開始されるか、つまり相対位置を検出する。そしてS306で一致列分割部28は、相対位置が一致長以上、すなわち相対位置offset≧一致長lengthとなるように一致列を分割する。
処理が開始されるとS400でCPU102は、現在処理しているデータが一致列であるかどうかを判定する。もしこの判定の結果が“YES”、すなわち、現在処理しているデータが一致列である場合には、処理はS402に進む。また、もしこの判定の結果が“NO”、すなわち、現在処理しているデータが一致列ではない場合には、処理はS406に進む。
S410でCPU102は、復元すべき全ての元データを処理したかどうかを判定する。もしこの判定の結果が“YES”、すなわち、全ての圧縮データを処理した場合には、復元処理を終了する。また、もしこの判定の結果が“NO”、すなわち、全ての圧縮データを処理していない場合には、処理はS400に戻る。
コピー元とコピー先の重なりは、同じ1文字、2文字列、3文字列、・・・のいずれかが続けて繰返す循環文字列において発生する。LZ77方式において、一致列を検索して相対位置offset、一致長lengthが得られたとする。offset<lengthのとき、コピー元とコピー先が重なるため一致列を分割して符号化する。また、offset<lengthであれば常に分割を行うのではなく、重なりの最小距離を予めXと定め、offset<Xのときのみ分割を行うようにしてもよい。
(Ex1)P(1)、P(3)、P(7)、・・・、P(2m−1)(ただし (2m−1)<n)で分割する、
(Ex2)n=(一致長+carton−1)÷cartonとし、P(n÷2)、P(n÷4) 、P(n÷8)、・・・、P(n÷2m))(ただしn÷2m>1)で分割する、
(Ex3)重なりの最小距離X, 一致長の最小値Nを定めた上で、P(1)、P(1+2)、P(1+2+4)、・・・、P(2m−1)(ただし (2m−1)<n)で分割する、
(Ex4)一致長の最小値をNとし、循環の1セットがN以上になるように調節した上で、上記(Ex1)〜(Ex3)の分割をする。
図10は、実施例におけるデータ圧縮装置での圧縮処理の流れの例を示す図である。
図11を参照して、先頭位置調整処理について説明する。この処理では、一致長の最小値Nが定められているとする。
図10に戻って、S506の次のS508で一致列分割部28は、一致列分割処理を行う。
図12Aは、上記Ex1のように、P(1)、P(3)、P(7)、・・・、P(2m−1)(ただし (2m−1)<n)で分割する場合の処理を示す図である。
一致長調整処理について、図13を参照して説明する。
S904で一致列分割部28は、分割した一致列の一致長A_len[e_num−1]が一致長の最小値N以上であるか、またはe_numの値がf_numの値より小さいかどうかを判定する。もしこの判定の結果が“YES”、すなわち、分割した一致列の一致長A_len[e_num−1]が一致長の最小値N以上であるか、またはe_numの値がf_numの値より小さい場合には、一致長調整処理を終了する。また、もしこの判定の結果が“NO”、すなわち、分割した一致列の一致位置A_offset[e_num−1]が一致長の最小値Nより小さく、かつe_numの値がf_numの値以上である場合には、処理はS906に進む。
図14は、P(1)、P(3)、P(7)、・・・、P(2m−1)(ただし (2m−1)<n)で分割する例を示す図である。
図15は、n=(一致長+carton−1)÷cartonとし、(P(n÷2)、P(n÷4) 、P(n÷8)、・・・、P(n÷2m))(ただしn÷2m>1)で分割する例を示す図である。
図16は、重なりの最小距離X, 一致長の最小値Nを定めた上で、P(1)、P(1+2)、P(1+2+4)、・・・、P(2m−1)(ただし (2m−1)<n)で分割する例を示す図である。図16では、重なりの最小距離X=8、一致長の最小値N=3の場合が示されている。この場合、一致文字列を分割することで一致長がN以下となる部分は非一致列として扱う。
carton=2の場合の例として、図16には、元データが“abababababc”の場合が示されている。この場合、第1〜2番目のアドレスの位置の“ab”が非一致列であり、第3〜10番目のアドレスの位置の“abababab”が一致列である。第11番目のアドレスの位置の文字“c”は非一致列である。第3〜10番目のアドレスの位置の“abababab”を1カートン目、3カートン目で分割するが、一致長の最小値N=3とするためには、元データ “abababababc”を、「“abab”+“abab”+“abab”+“c”」と分割する。
carton=3の場合の例として、図16には、元データが“abcabcabcabcd”の場合が示されている。この場合、第1〜3番目のアドレスの位置の“abc”が非一致列であり、第4〜12番目のアドレスの位置の“abcabcabc”が一致列である。第13番目のアドレスの位置の文字“d”は非一致列である。第4〜12番目のアドレスの位置の“abcabcabc” を1カートン目で分割するが、一致長の最小値N=3とするためには、元データ “abcabcabcabcd”を、「“abc”+“abc”+“abc”+“d”」と分割する。
carton=4の場合の例として、図16には、元データが“abcdabcdabcdabcde”の場合が示されている。この場合、第1〜4番目のアドレスの位置の“abcd”が非一致列であり、第5〜16番目のアドレスの位置の“abcdabcdabcd”が一致列である。第17番目のアドレスの位置の文字“e”は非一致列である。第5〜16番目のアドレスの位置の“abcdabcdabcd” を1カートン目で分割するが、一致長の最小値N=3とするためには、元データ“abcdabcdabcdabcde”を、「“abcd”+“abcd”+“abcdabcd”+“e”」と分割する。よって、圧縮データは “{4、abcd}(4、4)(8、8){1、e}”となる。
図17は、循環の1セットが一致長の最小値N=3以上になるように先頭を調整する例を示す図である。
carton=2の場合は、carton=4となるように一致列の先頭のアドレスの位置を調整する。
11、21 入力バッファ部
12、22 一致列検索部
13、23 一致長符号化部
14、24 一致位置符号化部
15、25 非一致長符号化部
16、26 非一致位置符号化部
17、27 出力バッファ部
28 一致列分割部
Claims (8)
- データの文字列中のある文字列の後に存在し前記ある文字列と同一の文字列である一致列の長さと、前記ある文字列の先頭位置のアドレスと前記一致列の先頭位置のアドレスの差を示す相対位置とを符号化するデータ圧縮装置であって、
圧縮前のデータの文字列中の第1の文字列の後に、前記第1の文字列と同一である一致列が存在するか検索し、該一致列を含む第2の文字列を抽出する一致列検索部と、
前記第2の文字列の分割結果の文字列である第3の文字列の長さが、前記第3の文字列と前記第3の文字列に一致する文字列との相対位置以下となるように前記第2の文字列を分割する一致列分割部と、
前記第3の文字列の長さを符号化する一致長符号化部と、
前記第3の文字列と前記第3の文字列と一致する文字列との前記相対位置を符号化する一致位置符号化部と、
前記圧縮前のデータの文字列のうちの前記一致列以外の文字列である非一致列の長さを符号化する非一致長符号化部と、
前記非一致列の文字列を符号化する非一致列符号化部と、
を含む、データ圧縮装置。 - 前記第3の文字列と前記第3の文字列と一致する文字列との前記相対位置が所定の値より小さいとき、前記第2の文字列から前記第3の文字列を抽出する、請求項1に記載のデータ圧縮装置。
- さらに、前記一致列検索部は、圧縮前のデータの文字列中の第1の文字列の後に、前記第1の文字列と同一である第2の文字列が存在しない、または第2の文字列が所定の長さより短い文字列を非一致列として抽出し、
前記一致列分割部は、前記第3の文字列の長さが所定の値より小さいとき、前記第3の文字列の長さの倍数であって、前記所定の値を超えない最大の値を前記非一致列またはその一部として抽出する、請求項1または2に記載のデータ圧縮装置。 - 前記一致列分割部は、前記一致列内の循環文字列における循環の最小単位をカートンと定義し、前記第2の文字列の先頭から、カートンの整数倍の位置の全てまたは一部で前記第2の文字列を分割する、請求項1〜3のいずれか一項に記載のデータ圧縮装置。
- 前記一致列分割部は、前記第2の文字列の先頭から前記カートンを単位として、2m−1(mを整数)の位置の全てまたは一部で前記第2の文字列を分割する、請求項4に記載のデータ圧縮装置。
- 前記一致列分割部は、lengthを一致長、cartonを前記カートンの長さとしてn=(length+carton−1)÷cartonとしたとき、前記第2の文字列の先頭から前記カートンを単位として、n÷2m(mを整数)の位置の全てまたは一部で前記第2の文字列を分割する、請求項4に記載のデータ圧縮装置。
- コンピュータが、データの文字列中のある文字列の後に存在し前記ある文字列と同一の文字列である一致列の長さと、前記ある文字列の先頭位置のアドレスと前記一致列の先頭位置のアドレスの差を示す相対位置とを符号化するデータ圧縮方法であって、
圧縮前のデータの文字列中の第1の文字列の後に、前記第1の文字列と同一である一致列が存在するか検索し、該一致列を含む第2の文字列を抽出し、
前記第2の文字列の分割結果の文字列である第3の文字列の長さが、前記第3の文字列と前記第3の文字列に一致する文字列との相対位置以下となるように前記第2の文字列を分割し、
前記第3の文字列の長さを符号化し、
前記第3の文字列と前記第3の文字列と一致する文字列との前記相対位置を符号化し、
前記圧縮前のデータの文字列のうちの前記一致列以外の文字列である非一致列の長さを符号化し、
前記非一致列の文字列を符号化する、
データ圧縮方法。 - データの文字列中のある文字列の後に存在し前記ある文字列と同一の文字列である一致列の長さと、前記ある文字列の先頭位置のアドレスと前記一致列の先頭位置のアドレスの差を示す相対位置とを符号化する処理をコンピュータに実行させるプログラムであって、
圧縮前のデータの文字列中の第1の文字列の後に、前記第1の文字列と同一である一致列が存在するか検索し、該一致列を含む第2の文字列を抽出し、
前記第2の文字列の分割結果の文字列である第3の文字列の長さが、前記第3の文字列と前記第3の文字列に一致する文字列との相対位置以下となるように前記第2の文字列を分割し、
前記第3の文字列の長さを符号化し、
前記第3の文字列と前記第3の文字列と一致する文字列との前記相対位置を符号化し、
前記圧縮前のデータの文字列のうちの前記一致列以外の文字列である非一致列の長さを符号化し、
前記非一致列の文字列を符号化する、
処理を前記コンピュータに実行させることを特徴とするプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/073353 WO2015029224A1 (ja) | 2013-08-30 | 2013-08-30 | データ圧縮装置、方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015029224A1 JPWO2015029224A1 (ja) | 2017-03-02 |
JP6365545B2 true JP6365545B2 (ja) | 2018-08-01 |
Family
ID=52585838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015533899A Active JP6365545B2 (ja) | 2013-08-30 | 2013-08-30 | データ圧縮装置、方法およびプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9438271B2 (ja) |
EP (1) | EP3041145B1 (ja) |
JP (1) | JP6365545B2 (ja) |
AU (1) | AU2013399353B2 (ja) |
SG (1) | SG11201601228SA (ja) |
WO (1) | WO2015029224A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6841074B2 (ja) * | 2017-02-16 | 2021-03-10 | 富士通株式会社 | 情報処理装置、データ圧縮方法及びデータ圧縮プログラム |
CN113727108B (zh) * | 2020-05-26 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 视频解码方法、视频编码方法及相关设备 |
US11139829B1 (en) * | 2021-04-21 | 2021-10-05 | Beijing Tenafe Electronic Technology Co., Ltd. | Data compression techniques using partitions and extraneous bit elimination |
US11652495B2 (en) * | 2021-09-14 | 2023-05-16 | Mastercard International Incorporated | Pattern-based string compression |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2077271C (en) * | 1991-12-13 | 1998-07-28 | David J. Craft | Method and apparatus for compressing data |
JP3241787B2 (ja) * | 1992-02-28 | 2001-12-25 | 富士通株式会社 | データ圧縮方式 |
JP4242970B2 (ja) * | 1998-07-09 | 2009-03-25 | 富士通株式会社 | データ圧縮方法及びデータ圧縮装置 |
JP3839604B2 (ja) * | 1998-12-22 | 2006-11-01 | 株式会社東芝 | データ処理方法 |
JP4000266B2 (ja) | 2002-03-08 | 2007-10-31 | 株式会社リコー | データ符号化装置、データ符号化方法、及びそのプログラム |
JP4586633B2 (ja) | 2005-05-25 | 2010-11-24 | ソニー株式会社 | デコーダ回路、デコード方法及びデータ記録装置 |
US7215259B2 (en) * | 2005-06-03 | 2007-05-08 | Quantum Corporation | Data compression with selective encoding of short matches |
KR101049699B1 (ko) * | 2009-07-17 | 2011-07-15 | (주)이스트소프트 | 데이터의 압축방법 |
-
2013
- 2013-08-30 SG SG11201601228SA patent/SG11201601228SA/en unknown
- 2013-08-30 AU AU2013399353A patent/AU2013399353B2/en active Active
- 2013-08-30 EP EP13892176.2A patent/EP3041145B1/en active Active
- 2013-08-30 JP JP2015533899A patent/JP6365545B2/ja active Active
- 2013-08-30 WO PCT/JP2013/073353 patent/WO2015029224A1/ja active Application Filing
-
2016
- 2016-02-25 US US15/053,022 patent/US9438271B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2015029224A1 (ja) | 2017-03-02 |
US20160173127A1 (en) | 2016-06-16 |
US9438271B2 (en) | 2016-09-06 |
WO2015029224A1 (ja) | 2015-03-05 |
AU2013399353B2 (en) | 2017-03-02 |
AU2013399353A1 (en) | 2016-03-10 |
EP3041145A1 (en) | 2016-07-06 |
SG11201601228SA (en) | 2016-03-30 |
EP3041145A4 (en) | 2016-08-17 |
EP3041145B1 (en) | 2019-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7079051B2 (en) | In-place differential compression | |
Nelson et al. | The data compression book 2nd edition | |
US6061398A (en) | Method of and apparatus for compressing and restoring data | |
JP2581903B2 (ja) | バイト整列式データ圧縮方法及び装置 | |
JP3299912B2 (ja) | フオントを圧縮および復元する方法および装置 | |
JP6365545B2 (ja) | データ圧縮装置、方法およびプログラム | |
WO2019153700A1 (zh) | 编解码方法、装置及编解码设备 | |
DE112008002903T5 (de) | Datensequenzkompression | |
Na et al. | Truncated suffix trees and their application to data compression | |
JP2000315954A (ja) | 入力データストリームの圧縮方法とその装置 | |
EP1522149B1 (en) | Improved method for lossless data compression using greedy sequential context-dependent grammar transform | |
JP2005165598A (ja) | 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム | |
CN104811209A (zh) | 一种抗最长匹配检测的压缩文件数据嵌入方法及装置 | |
Nandi et al. | Modified compression techniques based on optimality of LZW code (MOLZW) | |
JP2021145281A (ja) | 圧縮装置、伸張装置及び方法 | |
JP3267504B2 (ja) | データ圧縮装置およびデータ復元装置 | |
JP4093200B2 (ja) | データ圧縮方法及びプログラムならびにデータ復元方法及び装置 | |
KR101028904B1 (ko) | 데이터 처리 장치 및 방법 | |
KR101705461B1 (ko) | 문자열 압축 및 해제를 위한 방법 및 장치 | |
Nag et al. | Adaptive dictionary-based compression of protein sequences | |
JP3555506B2 (ja) | 文字列データ圧縮符号化装置及び文字列データ復元装置及び文字列データ演算処理装置 | |
Kaur et al. | Analysis of Lossless Data Compression Techniques | |
JPH03209923A (ja) | データ圧縮方式 | |
JPH04167821A (ja) | データ符号化及び復号化方法 | |
CN114416350A (zh) | 一种解压方法、装置、可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170502 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180105 |
|
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: 20180605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180618 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6365545 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |