JPWO2020202313A1 - Neural network data compression device and data compression method - Google Patents

Neural network data compression device and data compression method Download PDF

Info

Publication number
JPWO2020202313A1
JPWO2020202313A1 JP2021511693A JP2021511693A JPWO2020202313A1 JP WO2020202313 A1 JPWO2020202313 A1 JP WO2020202313A1 JP 2021511693 A JP2021511693 A JP 2021511693A JP 2021511693 A JP2021511693 A JP 2021511693A JP WO2020202313 A1 JPWO2020202313 A1 JP WO2020202313A1
Authority
JP
Japan
Prior art keywords
data
neural network
channel
data compression
read
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.)
Granted
Application number
JP2021511693A
Other languages
Japanese (ja)
Other versions
JP7218796B2 (en
Inventor
誠也 柴田
博昭 五十嵐
芙美代 鷹野
崇 竹中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2020202313A1 publication Critical patent/JPWO2020202313A1/en
Application granted granted Critical
Publication of JP7218796B2 publication Critical patent/JP7218796B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

データ圧縮装置701は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路711と、読み出されたデータのデータ圧縮を行うデータ圧縮回路712とを備え、読出し回路711は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す。The data compression device 701 is a data compression device for a neural network that reduces the amount of data of the output data of the partial neural network created by dividing one neural network, and is a storage in which the output data of the partial neural network is stored. The read circuit 711 is provided with a read circuit 711 that reads data from the unit and a data compression circuit 712 that compresses the read data. Read the data of.

Description

本発明は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置およびデータ圧縮方法に関する。 The present invention relates to a data compression device and a data compression method for a neural network that reduces the amount of data of the output data of a partial neural network created by dividing one neural network.

ニューラルネットワークは、多くの分野で使用されている。ニューラルネットワークにおける演算量、特に、多数の隠れ層を有する多層ニューラルネットワークにおける演算量は膨大であるため、計算能力が高いデータセンタに設置されたサーバや、クラウドサーバで演算が実行される。 Neural networks are used in many fields. Since the amount of calculation in a neural network, particularly in a multi-layer neural network having a large number of hidden layers, is enormous, the calculation is executed by a server installed in a data center having high computing power or a cloud server.

しかし、ユーザとサーバとの間のトラフィックに輻輳が生じたり、サーバの消費電力が高くなるといった問題が生ずる。そこで、エッジコンピューティングを利用することが考案されている。具体的には、ニューラルネットワークを分割し、分割で生成された1つの部分ニューラルネットワーク(前半ニューラルネットワークという。)の演算をエッジデバイスが実行し、例えばクラウドサーバが他の部分ニューラルネットワーク(後半ニューラルネットワークという。)の演算を実行する(例えば、非特許文献1参照)。その場合、前半ニューラルネットワークにおける最終層の出力である特徴量データが、通信ネットワークを介して、エッジデバイスからクラウドサーバに転送される。なお、非特許文献1では、ニューラルネットワークは畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であり、前半ニューラルネットワークにおける最終層は、あるプーリング層である。 However, there are problems such as congestion in the traffic between the user and the server and high power consumption of the server. Therefore, it is devised to use edge computing. Specifically, the neural network is divided, and the edge device executes the calculation of one partial neural network (referred to as the first half neural network) generated by the division. For example, the cloud server performs the operation of the other partial neural network (second half neural network). (See, for example, Non-Patent Document 1). In that case, the feature amount data which is the output of the final layer in the first half neural network is transferred from the edge device to the cloud server via the communication network. In Non-Patent Document 1, the neural network is a convolutional neural network (CNN), and the final layer in the first half neural network is a certain pooling layer.

非特許文献1には、エッジデバイスからクラウドサーバに転送されるデータ量を削減するために、特徴量データに対してデータ圧縮処理を施すことが記載されている。データ圧縮処理では、まず、HEVC(High Efficiency Video Coding)規格に基づく符号化が実行可能になるように、小さいサイズのチャネル画像データが複数チャネル存在する特徴量データをタイル状に並べて、大きいサイズのチャネル画像データを1チャネルまたは3チャネルもつ画像データに変換する処理が行われる。その後、HEVC規格に基づく符号化が行われる。 Non-Patent Document 1 describes that the feature amount data is subjected to data compression processing in order to reduce the amount of data transferred from the edge device to the cloud server. In the data compression process, first, feature data in which multiple channels of small-sized channel image data exist are arranged in a tile so that coding based on the HEVC (High Efficiency Video Coding) standard can be performed, and the large-sized channel image data is arranged in a tile. A process of converting channel image data into image data having one channel or three channels is performed. After that, coding based on the HEVC standard is performed.

図15は、非特許文献1に記載されている特徴量データのデータ圧縮処理を説明するための説明図である。図15(a)には、複数チャネルからなる特徴量データを、フレームfi, fi+1, fi+2の3フレームそれぞれについて時系列順に並べた様子が示されている。例えば、出力ウィンドウのサイズが縦横n×n(n:2以上の自然数)であり、チャネル数がK(K:2以上の自然数)であるとする。ここで、出力ウィンドウのサイズnがデータ圧縮処理方式にとって不適である可能性がある。例えば、非特許文献1では、HEVCエンコーダはCTUサイズを符号化の最小単位とするため、特徴量データのサイズnがCTUサイズ以下である場合にはそのままではHEVCエンコーダを適用できない問題が指摘されている。そのような場合への対応方法として、非特許文献1には、複数チャネル画像をタイル状にまとめて1枚の画像にする方法が示されている。 FIG. 15 is an explanatory diagram for explaining the data compression process of the feature amount data described in Non-Patent Document 1. FIG. 15A shows how the feature data composed of a plurality of channels are arranged in chronological order for each of the three frames fi, fi + 1, and fi + 2. For example, it is assumed that the size of the output window is n × n (n: a natural number of 2 or more) and the number of channels is K (K: a natural number of 2 or more). Here, the size n of the output window may be unsuitable for the data compression processing method. For example, in Non-Patent Document 1, since the HEVC encoder uses the CTU size as the minimum unit for coding, it has been pointed out that the HEVC encoder cannot be applied as it is when the feature amount data size n is smaller than the CTU size. There is. As a method for dealing with such a case, Non-Patent Document 1 discloses a method of combining a plurality of channel images into a single image in a tile shape.

図15(b)には、各フレームについて、9チャネル分の出力ウィンドウがタイル状に並べられた状態が示されている。タイル状に並べられた複数の出力ウィンドウが1つのフレームと見なされる。そして、そのフレームを対象として符号化が実行される。以下、符号化される前のデータ、すなわち、前半ニューラルネットワークの出力データを中間データという。 FIG. 15B shows a state in which output windows for 9 channels are arranged in tiles for each frame. Multiple output windows arranged in tiles are considered as one frame. Then, the coding is executed for the frame. Hereinafter, the data before being encoded, that is, the output data of the first half neural network is referred to as intermediate data.

T. Mitani et al.,"Compression and Aggregation for Optimizing Information Transmission in Distributed CNN", IEEE, 2017 fifth International Symposium on Computing and Networking, 19-22 Nov. 2017T. Mitani et al., "Compression and Aggregation for Optimizing Information Transmission in Distributed CNN", IEEE, 2017 fifth International Symposium on Computing and Networking, 19-22 Nov. 2017

図16は、9チャネル分の出力ウィンドウがタイル状に並べられた状態の1フレームを示す説明図である。図16において、矢印は、符号化順を示す。ただし、図16には、第1〜第3出力チャネル(図16(b)において、1〜3の数字が付された出力チャネル)のみについての符号化順が示されている。また、出力ウィンドウのサイズが3×3である場合が例示されている。 FIG. 16 is an explanatory diagram showing one frame in which output windows for 9 channels are arranged in a tile. In FIG. 16, the arrows indicate the coding order. However, FIG. 16 shows the coding order only for the first to third output channels (output channels with numbers 1 to 3 in FIG. 16B). Further, the case where the size of the output window is 3 × 3 is illustrated.

例えば、符号化順は、第1出力チャネルの1行目→第2出力チャネルの1行目→第3出力チャネルの1行目→第1出力チャネルの2行目→・・・である。CNNを例にすると、畳み込み層の出力およびプーリング層の出力は、次層に対する特徴量データとして、メモリに格納される。メモリとしてRAM(Random Access Memory)が用いられる。一般に、格納アドレスの順序は、第1出力チャネルのデータ→第2出力チャネルのデータ→・・・→第K出力チャネルのデータである。 For example, the coding order is the first line of the first output channel → the first line of the second output channel → the first line of the third output channel → the second line of the first output channel → ... Taking CNN as an example, the output of the convolution layer and the output of the pooling layer are stored in the memory as feature data for the next layer. RAM (Random Access Memory) is used as the memory. Generally, the order of the storage addresses is the data of the first output channel → the data of the second output channel → ... → the data of the Kth output channel.

すなわち、メモリにおけるデータの格納順と符号化順とは、同じではない。すると、メモリへのデータの書き込み順またはメモリからのデータの読み出し順を、符号化順に合わせる処理の実行が求められる。そのような処理が実行されるので、前半ニューラルネットワークにおける処理時間が増加する。また、メモリ管理が複雑になる。換言すれば、前半ニューラルネットワークの処理(符号化処理を含む。)の効率が低下する。 That is, the data storage order and the coding order in the memory are not the same. Then, it is required to execute the process of matching the order of writing data to the memory or the order of reading data from the memory to the coding order. Since such processing is executed, the processing time in the first half neural network increases. In addition, memory management becomes complicated. In other words, the efficiency of the processing (including the coding processing) of the first half neural network is reduced.

本発明は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を効率よく削減することを目的とする。 An object of the present invention is to efficiently reduce the amount of output data of a partial neural network created by dividing one neural network.

本発明によるニューラルネットワークのデータ圧縮装置は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、読み出されたデータのデータ圧縮を行うデータ圧縮回路とを含み、読出し回路は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す。 The data compression device of the neural network according to the present invention is a data compression device of the neural network that reduces the amount of data of the output data of the partial neural network created by dividing one neural network, and is the output data of the partial neural network. The read circuit includes a read circuit for reading data from the storage unit in which the data is stored and a data compression circuit for compressing the read data. Read the data of the channel of.

本発明による他の態様のニューラルネットワークのデータ圧縮装置は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、読み出されたデータのデータ圧縮を行うデータ圧縮回路とを含み、データ圧縮回路は、類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部と、他の類似チャネルのデータの、一の類似チャネルのデータとの差分を符号化する差分符号化部とを有する。 The data compression device of the neural network of another aspect according to the present invention is a data compression device of the neural network that reduces the amount of data of the output data of the partial neural network created by dividing one neural network, and is a partial neural. The data compression circuit includes a read circuit for reading data from a storage unit in which output data of the network is stored and a data compression circuit for compressing the read data. Encodes the difference between the data of one similar channel and the data of another similar channel and the coding unit that compresses the data of one of the two or more similar channels that are similar. It has a difference coding unit.

本発明によるニューラルネットワークのデータ圧縮方法は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、読み出されたデータのデータ圧縮を行い、記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す。 The data compression method of the neural network according to the present invention is a data compression method of the neural network that reduces the amount of data of the output data of the partial neural network created by dividing one neural network, and is the output data of the partial neural network. Data is read from the storage unit in which the data is stored, data is compressed from the read data, and when the data is read from the storage unit, after all the data in one channel has been read out, the data in the other channel is completed. Is read.

本発明による他の態様のニューラルネットワークのデータ圧縮方法は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、読み出されたデータのデータ圧縮を行い、データ圧縮を行うときに、類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行い、他の類似チャネルのデータの、一の類似チャネルのデータとの差分を符号化する。 Another aspect of the data compression method for a neural network according to the present invention is a data compression method for a neural network that reduces the amount of output data of a partial neural network created by dividing one neural network, and is a partial neural network. When data is read from the storage unit where the output data of the network is stored, the data of the read data is compressed, and the data is compressed, two or more of the output data are similar, which is indicated by the similar channel information. Data compression of the data of one of the similar channels in is performed, and the difference between the data of the other similar channels and the data of one similar channel is encoded.

本発明によるニューラルネットワークのデータ圧縮プログラムは、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、コンピュータに、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、読み出されたデータのデータ圧縮を行う処理とを実行させ、記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出させる。 The data compression program of the neural network according to the present invention is a data compression program of the neural network that reduces the amount of data of the output data of the partial neural network created by dividing one neural network, and is a data compression program of the partial neural network to a computer. When the process of reading data from the storage unit in which the output data of the above is stored and the process of compressing the read data are executed and the data is read from the storage unit, all the data in one channel is read out. Is completed, and then the data of other channels is read out.

本発明による他の態様のニューラルネットワークのデータ圧縮プログラムは、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、コンピュータに、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、読み出されたデータのデータ圧縮を行う処理とを実行させ、データ圧縮を行うときに、類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う処理と、他の類似チャネルのデータの、一の類似チャネルのデータとの差分を符号化する処理とを実行させる。 Another aspect of the neural network data compression program according to the present invention is a neural network data compression program that reduces the amount of output data of a partial neural network created by dividing one neural network into a computer. , The process of reading data from the storage unit in which the output data of the partial neural network is stored and the process of compressing the read data are executed, and when the data is compressed, it is indicated by similar channel information. Encoding the difference between the process of compressing the data of one of the two or more similar channels whose output data is similar and the data of the other similar channel with the data of one similar channel. To execute the processing to be performed.

本発明によれば、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量が効率よく削減される。 According to the present invention, the amount of data of the output data of the partial neural network created by dividing one neural network is efficiently reduced.

ニューラルネットワークシステムの一例を示すブロック図である。It is a block diagram which shows an example of a neural network system. CNNの一例を示す説明図である。It is explanatory drawing which shows an example of CNN. 第1の実施形態におけるデータ圧縮部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the data compression part in 1st Embodiment. 第1の実施形態における符号化順序を説明するための説明図である。It is explanatory drawing for demonstrating the coding order in 1st Embodiment. 第1の実施形態におけるデータ圧縮部の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of the data compression part in 1st Embodiment. 第2の実施形態におけるデータ圧縮部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the data compression part in 2nd Embodiment. 第2の実施形態における符号化順序を説明するための説明図である。It is explanatory drawing for demonstrating the coding order in 2nd Embodiment. 第2の実施形態におけるデータ圧縮部の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of the data compression part in 2nd Embodiment. 第3の実施形態におけるデータ圧縮部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the data compression part in 3rd Embodiment. 第3の実施形態におけるデータ圧縮部の動作の一例を示すフローチャートである。It is a flowchart which shows an example of the operation of the data compression part in 3rd Embodiment. ニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。It is a block diagram which shows the main part of the data compression apparatus of a neural network. 他の態様のニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。It is a block diagram which shows the main part of the data compression apparatus of the neural network of another aspect. の態様のニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。It is a block diagram which shows the main part of the data compression apparatus of the neural network of the aspect of. CPUを有するコンピュータの一例を示すブロック図である。It is a block diagram which shows an example of the computer which has a CPU. 従来の特徴量データのデータ圧縮処理を説明するための説明図である。It is explanatory drawing for demonstrating the data compression processing of the conventional feature quantity data. 9チャネル分の出力ウィンドウがタイル状に並べられた状態の1フレームを示す説明図である。It is explanatory drawing which shows one frame in the state that the output windows for 9 channels are arranged in a tile shape.

図1は、ニューラルネットワークシステムの一例を示すブロック図である。ニューラルネットワークシステムは、ニューラルネットワーク装置、通信ネットワーク500およびクラウドサーバ600を含む。ニューラルネットワーク装置は、前半ニューラルネットワーク200、データ圧縮部100、および送信部400を含む。 FIG. 1 is a block diagram showing an example of a neural network system. The neural network system includes a neural network device, a communication network 500 and a cloud server 600. The neural network device includes a first half neural network 200, a data compression unit 100, and a transmission unit 400.

前半ニューラルネットワーク200は、1つ以上の畳み込み層を含む。なお、ここでは、ニューラルネットワークとして、CNNを例にする。データ圧縮部100は、前半ニューラルネットワーク200が作成した中間データのデータ量を削減するための処理を実行する。送信部400は、データ圧縮部100が出力するデータを、通信ネットワーク500を介してクラウドサーバ600に送信する。 The first half neural network 200 includes one or more convolution layers. Here, CNN is taken as an example as a neural network. The data compression unit 100 executes a process for reducing the amount of intermediate data created by the first half neural network 200. The transmission unit 400 transmits the data output by the data compression unit 100 to the cloud server 600 via the communication network 500.

なお、後半ニューラルネットワークの演算を実行する演算手段としてクラウドサーバ600を例にするが、演算手段は、クラウドサーバ600に限られない。演算手段は、例えば、オンプレミスのサーバであってもよい。 The cloud server 600 is taken as an example of the calculation means for executing the calculation of the latter half neural network, but the calculation means is not limited to the cloud server 600. The arithmetic means may be, for example, an on-premises server.

前半ニューラルネットワーク200は、積和演算部210、記憶部220および選択部230を含む。積和演算部210は、記憶部220に記憶されている特徴量データと重み係数とを用いて畳み込み層の演算を実行し、演算結果を記憶部220に格納する。なお、記憶部220として、RAMが用いられる。 The first half neural network 200 includes a product-sum calculation unit 210, a storage unit 220, and a selection unit 230. The product-sum calculation unit 210 executes the operation of the convolution layer using the feature amount data stored in the storage unit 220 and the weighting coefficient, and stores the calculation result in the storage unit 220. A RAM is used as the storage unit 220.

選択部230は、プーリング層を実現する。すなわち、選択部230は、記憶部220に格納された積和演算部210の所定数の演算結果毎に、1つの演算結果を選択する。選択部230は、例えば、所定数の演算結果のうちの最大値を選択する。なお、選択部230は、例えば、所定数の演算結果の平均値を選択してもよい。 The selection unit 230 realizes a pooling layer. That is, the selection unit 230 selects one calculation result for each predetermined number of calculation results of the product-sum calculation unit 210 stored in the storage unit 220. The selection unit 230 selects, for example, the maximum value among a predetermined number of calculation results. The selection unit 230 may select, for example, an average value of a predetermined number of calculation results.

図2は、CNNの一例を示す説明図である。図2に示す例では、CNNは、入力データを対象とする第1畳み込み層、第1プーリング層、第2畳み込み層、第2プーリング層、第3畳み込み層、第4畳み込み層、第5畳み込み層、および第5プーリング層を含む。 FIG. 2 is an explanatory diagram showing an example of CNN. In the example shown in FIG. 2, the CNN is a first convolution layer, a first pooling layer, a second convolution layer, a second pooling layer, a third convolution layer, a fourth convolution layer, and a fifth convolution layer for input data. , And a fifth pooling layer.

そして、前半ニューラルネットワーク200は、一例として、第1畳み込み層、第1プーリング層、第2畳み込み層、第2プーリング層、第3畳み込み層、第4畳み込み層、第5畳み込み層、および第5プーリング層で構成される。また、後半ニューラルネットワーク300は、第5プーリング層よりも後の複数の層を含む。 The first half neural network 200, for example, has a first convolution layer, a first pooling layer, a second convolution layer, a second pooling layer, a third convolution layer, a fourth convolution layer, a fifth convolution layer, and a fifth pooling. Consists of layers. Further, the latter half neural network 300 includes a plurality of layers after the fifth pooling layer.

実施形態1.
図3は、第1の実施形態におけるデータ圧縮部の構成例を示すブロック図である。図3に示すデータ圧縮部100Aは、読出し回路111と符号化部112とを有する。なお、データ圧縮部100Aは、図1に示されたニューラルネットワーク装置におけるデータ圧縮部100に相当する。
Embodiment 1.
FIG. 3 is a block diagram showing a configuration example of the data compression unit according to the first embodiment. The data compression unit 100A shown in FIG. 3 has a read circuit 111 and a coding unit 112. The data compression unit 100A corresponds to the data compression unit 100 in the neural network device shown in FIG.

読出し回路111は、記憶部220から特徴量データを読み出す。符号化部112は、読み出された特徴量データを符号化する。符号化部112は、例えば、HEVC規格に基づく符号化を行う。なお、本実施形態では、符号化部112は、HEVC規格に基づいて符号化処理を実行するが、HEVC規格に基づく符号化は一例であり、符号化部112は、他の符号化方式を用いてもよい。例えば、JVET(Joint Video Experts Team)で検討されている次世代符号化方式が用いられてもよい。 The read circuit 111 reads the feature amount data from the storage unit 220. The coding unit 112 encodes the read feature amount data. The coding unit 112 performs coding based on, for example, the HEVC standard. In the present embodiment, the coding unit 112 executes the coding process based on the HEVC standard, but the coding based on the HEVC standard is an example, and the coding unit 112 uses another coding method. You may. For example, the next-generation coding method studied by JVET (Joint Video Experts Team) may be used.

図4は、本実施形態における符号化順序を説明するための説明図である。本実施形態では、前半ニューラルネットワーク200の出力データを、チャネル別に独立した動画と見なす。図4(a)には、複数チャネルからなる特徴量データが、フレームfi, fi+1, fi+2の3フレームそれぞれについて時系列順に並べられた様子が示されている。例えば、出力ウィンドウのサイズが縦横n×n(n:2以上の自然数)であり、チャネル数がK(K:2以上の自然数)であるとする。ここで、出力ウィンドウのサイズnがデータ圧縮処理方式にとって不適である可能性がある。上述したように、HEVCエンコーダはCTUサイズを符号化の最小単位とするため、特徴量データのサイズnがCTUサイズ以下である場合にはそのままではHEVCエンコーダを適用できない。 FIG. 4 is an explanatory diagram for explaining the coding order in the present embodiment. In the present embodiment, the output data of the first half neural network 200 is regarded as an independent moving image for each channel. FIG. 4A shows how the feature data composed of a plurality of channels are arranged in chronological order for each of the three frames fi, fi + 1, and fi + 2. For example, it is assumed that the size of the output window is n × n (n: a natural number of 2 or more) and the number of channels is K (K: a natural number of 2 or more). Here, the size n of the output window may be unsuitable for the data compression processing method. As described above, since the HEVC encoder uses the CTU size as the minimum unit for coding, the HEVC encoder cannot be applied as it is when the size n of the feature amount data is smaller than or equal to the CTU size.

そこで、図4(b)に示すように、記憶部220から読み出されたデータが短冊状に横方向に並べられる。なお、短冊は複数個ある(図4(b)に示す例では4つ)。図4(b)において、数字は、短冊の番号を示す。1つの短冊には、あるフレーム中の同一チャネルのデータが設定される。また、ある短冊へのデータの配列が終了すると、次のチャネルデータが配列される。 Therefore, as shown in FIG. 4B, the data read from the storage unit 220 are arranged in a strip shape in the horizontal direction. There are a plurality of strips (4 in the example shown in FIG. 4B). In FIG. 4B, the numbers indicate the strip numbers. Data of the same channel in a certain frame is set in one strip. Also, when the arrangement of data in a strip is completed, the next channel data is arranged.

次に、データ圧縮部100Aの動作を説明する。図5は、データ圧縮部100Aの動作の一例を示すフローチャートである。なお、フレーム数をF(F:2以上の自然数)とする。 Next, the operation of the data compression unit 100A will be described. FIG. 5 is a flowchart showing an example of the operation of the data compression unit 100A. The number of frames is F (F: a natural number of 2 or more).

読出し回路111は、まず、フレーム数に関する変数fに1を設定し(ステップS101)、チャネル数に関する変数kに1を設定する(ステップS102)。 First, the read circuit 111 sets the variable f regarding the number of frames to 1 (step S101) and sets the variable k regarding the number of channels to 1 (step S102).

読出し回路111は、第fフレームの第kチャネルのデータを記憶部220から読み出す(ステップS103)。なお、出力ウィンドウのサイズが3×3である場合を例にすると、データの読出し順は、第fフレームの第1出力チャネルの1行目→第1出力チャネルの2行目→第1出力チャネルの3行目→・・・である。 The read circuit 111 reads the data of the kth channel of the fth frame from the storage unit 220 (step S103). Taking the case where the size of the output window is 3 × 3 as an example, the data reading order is as follows: 1st line of the 1st output channel of the fth frame → 2nd line of the 1st output channel → 1st output channel. The third line of → ...

そして、読出し回路111は、記憶回路としての一時記憶部(図示せず)においてデータが短冊状に横方向に並べられるように、読み出されたデータを格納する。そして、読出し回路111は、kの値を1増やす(ステップS104)。なお、一時記憶部は、読出し回路111に内蔵されるか、または、読出し回路111と符号化部112との間に設けられる。 Then, the read circuit 111 stores the read data so that the data can be arranged in a strip shape in the temporary storage unit (not shown) as a storage circuit. Then, the read circuit 111 increments the value of k by 1 (step S104). The temporary storage unit is built in the reading circuit 111, or is provided between the reading circuit 111 and the coding unit 112.

kの値がKを越えている場合には(ステップS105)、全チャネルのデータについて読出しが完了したことになるので、符号化部112は、一時記憶部に格納されているデータについて符号化処理を実行する(ステップS106)。kの値がKを越えていないときには、ステップS103に戻る。 If the value of k exceeds K (step S105), the reading of the data of all channels is completed, so that the coding unit 112 encodes the data stored in the temporary storage unit. Is executed (step S106). If the value of k does not exceed K, the process returns to step S103.

ステップS106の処理が実行された後、読出し回路111は、fの値を1増やす(ステップS107)。fの値がFを越えていないときには(ステップS108)、ステップS102に戻る。 After the process of step S106 is executed, the read circuit 111 increments the value of f by 1 (step S107). When the value of f does not exceed F (step S108), the process returns to step S102.

fの値がFを越えている場合には、処理を終了する。 If the value of f exceeds F, the process ends.

本実施形態では、フレーム毎に複数チャネルのデータがまとめて1つの画像と見なされる。なお、図5に示された例では、フレーム毎に全チャネルのデータがまとめて1つの画像と見なされるが、データ圧縮部100Aは、全チャネル数よりも少ない数の所定数のチャネルのデータをまとめて1つの画像と見なすようにしてもよい。 In the present embodiment, the data of a plurality of channels are collectively regarded as one image for each frame. In the example shown in FIG. 5, the data of all channels are collectively regarded as one image for each frame, but the data compression unit 100A collects data of a predetermined number of channels smaller than the total number of channels. You may consider them together as one image.

そして、本実施形態では、データを記憶部220から読み出された同じチャネルのデータが横方向に短冊状に配置された後に、符号化処理が実行される。そして、記憶部220からのデータの読出し順は、記憶部220におけるデータの格納順(アドレス順)と整合している。したがって、記憶部220へのデータの書き込み順または記憶部220からのデータの読み出し順を、符号化順に合わせる処理の実行が不要になる。その結果、前半ニューラルネットワークの処理(符号化処理を含む。)の効率の低下が抑制される。 Then, in the present embodiment, the coding process is executed after the data of the same channel read from the storage unit 220 is arranged in a strip shape in the horizontal direction. The order of reading data from the storage unit 220 is consistent with the order of storing data (address order) in the storage unit 220. Therefore, it is not necessary to execute the process of matching the order of writing data to the storage unit 220 or the order of reading data from the storage unit 220 to the coding order. As a result, the decrease in efficiency of the processing (including the coding processing) of the first half neural network is suppressed.

実施形態2.
図6は、第2の実施形態におけるデータ圧縮部の構成例を示すブロック図である。図6に示すデータ圧縮部100Bは、読出し回路113と符号化部112とを有する。なお、データ圧縮部100Bは、図1に示されたニューラルネットワーク装置におけるデータ圧縮部100に相当する。
Embodiment 2.
FIG. 6 is a block diagram showing a configuration example of the data compression unit according to the second embodiment. The data compression unit 100B shown in FIG. 6 has a read circuit 113 and a coding unit 112. The data compression unit 100B corresponds to the data compression unit 100 in the neural network device shown in FIG.

読出し回路113は、記憶部220から特徴量データを読み出す。符号化部112は、読み出された特徴量データを符号化する。符号化部112は、例えば、HEVC規格に基づく符号化を行う。なお、本実施形態では、符号化部112は、HEVC規格に基づいて符号化処理を実行するが、HEVC規格に基づく符号化は一例であり、符号化部112は、他の符号化方式を用いてもよい。 The read circuit 113 reads the feature amount data from the storage unit 220. The coding unit 112 encodes the read feature amount data. The coding unit 112 performs coding based on, for example, the HEVC standard. In the present embodiment, the coding unit 112 executes the coding process based on the HEVC standard, but the coding based on the HEVC standard is an example, and the coding unit 112 uses another coding method. You may.

図7は、本実施形態における符号化順序を説明するための説明図である。本実施形態では、前半ニューラルネットワーク200の出力データを、チャネル別に独立した動画と見なす。図7(a)には、1フレームの出力がチャネル別に独立した動画と見なされる様子が示されている。例えば、出力ウィンドウのサイズが縦横n×n(n:2以上の自然数)であり、チャネル数がK(K:2以上の自然数)であるとすると、n×nの動画がK種類あると見なされる。上述したように、HEVCエンコーダを適用するためにはnがCTUサイズ以上である必要がある。本実施形態では、nがCTUサイズ以上であることが前提である。 FIG. 7 is an explanatory diagram for explaining the coding order in the present embodiment. In the present embodiment, the output data of the first half neural network 200 is regarded as an independent moving image for each channel. FIG. 7A shows how the output of one frame is regarded as an independent moving image for each channel. For example, if the size of the output window is n × n (n: a natural number of 2 or more) and the number of channels is K (K: a natural number of 2 or more), it is considered that there are K types of n × n videos. Is done. As mentioned above, n needs to be CTU size or larger in order to apply the HEVC encoder. In this embodiment, it is premised that n is CTU size or more.

本実施形態では、図7(b)に示すように、全てのフレームの同一チャネルの出力データが、1つの映像と見なされる。そして、各映像の各々が独立して符号化される。なお、図7(b)には、各々の画像の符号化データが、第kビットストリーム(k:1〜K)として表現されている。 In this embodiment, as shown in FIG. 7B, the output data of the same channel of all frames is regarded as one video. Then, each of the images is independently encoded. In FIG. 7B, the coded data of each image is represented as a k-th stream (k: 1 to K).

次に、データ圧縮部100Bの動作を説明する。図8は、データ圧縮部100Bの動作の一例を示すフローチャートである。なお、フレーム数をF(F:2以上の自然数)とする。また、前半ニューラルネットワーク200が、Kチャネルのデータを出力する場合を例にする。 Next, the operation of the data compression unit 100B will be described. FIG. 8 is a flowchart showing an example of the operation of the data compression unit 100B. The number of frames is F (F: a natural number of 2 or more). Further, the case where the first half neural network 200 outputs K channel data is taken as an example.

読出し回路113は、まず、チャネル数に関する変数kに1を設定し(ステップS201)、フレーム数に関する変数fに1を設定する(ステップS202)。 First, the read circuit 113 sets the variable k related to the number of channels to 1 (step S201), and sets the variable f related to the number of frames to 1 (step S202).

読出し回路113は、第kチャネルの第fフレームのデータを記憶部220から読み出す(ステップS203)。なお、出力ウィンドウのサイズが3×3である場合を例にすると、データの読出し順は、第1の実施形態の場合と同様、第1フレームの第1出力チャネルの1行目→第1出力チャネルの2行目→第1出力チャネルの3行目→第2フレームの第1出力チャネルの1行目→・・・である。 The read circuit 113 reads the data of the fth frame of the kth channel from the storage unit 220 (step S203). Taking the case where the size of the output window is 3 × 3 as an example, the data reading order is the same as in the case of the first embodiment, from the first line of the first output channel of the first frame to the first output. The second line of the channel → the third line of the first output channel → the first line of the first output channel of the second frame → ...

そして、読出し回路113は、fの値を1増やす(ステップS204)。fの値がFを越えていないときには(ステップS205)、ステップS203に戻る。 Then, the read circuit 113 increases the value of f by 1 (step S204). When the value of f does not exceed F (step S205), the process returns to step S203.

fの値がFを越えている場合には、1チャネル分の全てのデータが一時記憶部に格納されたことになる。符号化部112は、一時記憶部に格納されているデータについて符号化処理を実行する(ステップS207)。すなわち、符号化部112は、1つのチャネルの全データ(1つの映像と見なされる。)を対象として符号化処理を実行する。 When the value of f exceeds F, it means that all the data for one channel is stored in the temporary storage unit. The coding unit 112 executes a coding process for the data stored in the temporary storage unit (step S207). That is, the coding unit 112 executes the coding process for all the data of one channel (which is regarded as one video).

次いで、読出し回路113は、kの値を1増やす(ステップS208)。kの値がKを越えている場合には、全チャネルのデータについて処理が完了したことになるので、データ圧縮部100Bは、処理を終了する(ステップS209)。kの値がKを越えていないときには、ステップS202に戻る。 Next, the read circuit 113 increments the value of k by 1 (step S208). If the value of k exceeds K, the processing is completed for the data of all channels, and the data compression unit 100B ends the processing (step S209). If the value of k does not exceed K, the process returns to step S202.

本実施形態では、特徴量データがチャネル毎に別々の動画として扱われ、動画エンコーダ(例えば、HEVCエンコーダ)により圧縮される。1つのチャネルは、入力画像のもつ特徴のうちの一つを抽出した画像であると捉えることができる。よって、各フレームから同一チャネルのみを抽出して得た動画(第kビットストリーム)は、入力画像列と同様に、時間的局所性(類似性)を持っていることが期待される。例えば、フレームfiのチャネル1の特徴量画像と、フレームfi+1のチャネル1の特徴量画像とは、大部分が同一であることが期待される。よって、HEVCエンコーダが持つ、入力画像列の時間的局所性を活用して高効率に圧縮を行うアルゴリズムの効果を、有効に活用することができる。 In the present embodiment, the feature amount data is treated as a separate moving image for each channel and compressed by a moving image encoder (for example, HEVC encoder). One channel can be regarded as an image obtained by extracting one of the features of the input image. Therefore, it is expected that the moving image (k-th stream) obtained by extracting only the same channel from each frame has a temporal locality (similarity) as in the input image sequence. For example, it is expected that most of the feature image of channel 1 of frame fi and the feature image of channel 1 of frame fi + 1 are the same. Therefore, it is possible to effectively utilize the effect of the algorithm that performs compression with high efficiency by utilizing the temporal locality of the input image sequence possessed by the HEVC encoder.

実施形態3.
図9は、第3の実施形態におけるデータ圧縮部の構成例を示すブロック図である。図9に示すデータ圧縮部100Cは、読出し回路114と符号化部115と差分符号化部116とを有する。なお、データ圧縮部100Cは、図1に示されたニューラルネットワーク装置におけるデータ圧縮部100に相当する。
Embodiment 3.
FIG. 9 is a block diagram showing a configuration example of the data compression unit according to the third embodiment. The data compression unit 100C shown in FIG. 9 includes a read circuit 114, a coding unit 115, and a difference coding unit 116. The data compression unit 100C corresponds to the data compression unit 100 in the neural network device shown in FIG.

本実施形態では、データ圧縮部100Cは、類似しているチャネルを指定する類似チャネル情報を入力する。CNNで取り扱うデータの種類等に応じて、あるチャネルの出力データに類似する出力データを含む他のチャネルは、学習済みのCNNについて相当程度で把握可能である。以下、出力データが類似する複数のチャネルを、類似チャネルという。例えば、画像データが扱われる場合には、類似する画像特徴に相当する複数の類似チャネルは、事前に(ニューラルネットワークの処理が実行する前に)、決定可能である。類似チャネル情報は、事前に決定された2つ以上の類似チャネルを示す情報である。 In the present embodiment, the data compression unit 100C inputs similar channel information that specifies similar channels. Depending on the type of data handled by the CNN, other channels including output data similar to the output data of one channel can be grasped to a considerable extent with respect to the trained CNN. Hereinafter, a plurality of channels having similar output data will be referred to as similar channels. For example, when image data is handled, a plurality of similar channels corresponding to similar image features can be determined in advance (before the processing of the neural network is performed). Similar channel information is information indicating two or more predetermined similar channels.

符号化部115は、2つ以上の類似チャネルのうちの一のチャネルのデータを符号化する。差分符号化部116は、他の類似チャネルのデータの、一のチャネルのデータとの差分を符号化する。 The coding unit 115 encodes the data of one of two or more similar channels. The difference coding unit 116 encodes the difference between the data of another similar channel and the data of one channel.

次に、データ圧縮部100Cの動作を説明する。図10は、データ圧縮部100Bの動作の一例を示すフローチャートである。 Next, the operation of the data compression unit 100C will be described. FIG. 10 is a flowchart showing an example of the operation of the data compression unit 100B.

読出し回路114は、外部から類似チャネル情報を入力する(ステップS301)。そして、読出し回路114は、類似チャネル情報が示す2つ以上の類似チャネルのうちの一のチャネルのデータを記憶部220から読み出す(ステップS302)。 The read circuit 114 inputs similar channel information from the outside (step S301). Then, the read circuit 114 reads the data of one of the two or more similar channels indicated by the similar channel information from the storage unit 220 (step S302).

符号化部115は、読み出された一のチャネルのデータを符号化する(ステップS303)。なお、符号化部115は、データ量を減らせるのであれば、どのような符号化方式を用いてもよい。例えば、データを2(n:自然数)になるように量子化した後周波数変換する符号化方式を使用できる。また、HEVCなどの予測符号化方式を使用できる。The coding unit 115 encodes the data of one read channel (step S303). The coding unit 115 may use any coding method as long as the amount of data can be reduced. For example, a coding method in which data is quantized to 2 n (n: natural number) and then frequency-converted can be used. Further, a predictive coding method such as HEVC can be used.

読出し回路114は、2つ以上の類似チャネルのうちの他のチャネルのデータを記憶部220から読み出す(ステップS304)。差分符号化部116は、読み出された他のチャネルのデータと一のチャネルのデータとの差分を算出する。そして、差分符号化部116は、差分を符号化する。差分符号化部116は、データ量を減らせるのであれば、どのような符号化方式を用いてもよい。例えば、差分符号化部116は、ランレングス符号化またはハフマン符号化を使用できる。 The read circuit 114 reads the data of the other channel of the two or more similar channels from the storage unit 220 (step S304). The difference coding unit 116 calculates the difference between the read data of another channel and the data of one channel. Then, the difference coding unit 116 encodes the difference. The difference coding unit 116 may use any coding method as long as the amount of data can be reduced. For example, the difference coding unit 116 can use run-length coding or Huffman coding.

全てのチャネルの出力データについて符号化部115または差分符号化部116による符号化処理が実行されたら処理を終了する。符号化処理がなされていないチャネルが未だ残っている場合には、ステップS302に移行する。 When the coding processing by the coding unit 115 or the difference coding unit 116 is executed for the output data of all channels, the processing is terminated. If there is still a channel that has not been coded, the process proceeds to step S302.

本実施形態では、一のチャネルのデータに類似するデータのチャネルのデータに関して、一のチャネルのデータ(類似するチャネルのデータ)との差分のデータがクラウドサーバ600に送信されるので、第1の実施形態および第2の実施形態の場合と同様、送信データ量を効果的に削減することができる。 In the present embodiment, with respect to the data of the channel of the data similar to the data of one channel, the data of the difference from the data of one channel (data of similar channels) is transmitted to the cloud server 600, so that the first method is made. As in the case of the embodiment and the second embodiment, the amount of transmitted data can be effectively reduced.

なお、上記の各実施形態では、CNNを例にしたが、各実施形態を、CNN以外の多層のニューラルネットワークに適用することも可能である。 In each of the above embodiments, CNN is taken as an example, but each embodiment can be applied to a multi-layer neural network other than CNN.

図11は、ニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。図11に示すデータ圧縮装置701は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワーク(例えば、前半ニューラルネットワーク200)の出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部(例えば、記憶部220)からデータを読み出す読出し回路711(例えば、読出し回路111,113)と、読み出されたデータのデータ圧縮を行うデータ圧縮回路712(例えば、符号化部112)とを備え、読出し回路711は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す。 FIG. 11 is a block diagram showing a main part of a data compression device of a neural network. The data compression device 701 shown in FIG. 11 is a data compression device for a neural network that reduces the amount of output data of a partial neural network (for example, the first half neural network 200) created by dividing one neural network. , Read circuit 711 (for example, read circuits 111, 113) that reads data from the storage unit (for example, storage unit 220) in which the output data of the partial neural network is stored, and data compression that performs data compression of the read data. A circuit 712 (for example, a coding unit 112) is provided, and the read circuit 711 reads the data of another channel after the read of all the data of one channel is completed.

図12は、他の態様のニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。図12に示すデータ圧縮装置701において、読出し回路711は、一のチャネルのデータを記憶回路713における短冊状の領域に格納し、データ圧縮回路712は、短冊状の領域に格納されたデータのデータ圧縮を行う。 FIG. 12 is a block diagram showing a main part of a data compression device of another aspect of a neural network. In the data compression device 701 shown in FIG. 12, the read circuit 711 stores the data of one channel in the strip-shaped area of the storage circuit 713, and the data compression circuit 712 stores the data of the data stored in the strip-shaped area. Perform compression.

図13は、さらに他の態様のニューラルネットワークのデータ圧縮装置の主要部を示すブロック図である。図13に示すデータ圧縮装置702は、1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路711(例えば、読出し回路114)と、読み出されたデータのデータ圧縮を行うデータ圧縮回路714とを備え、データ圧縮回路714は、類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部715(例えば、符号化部115)と、他の類似チャネルのデータの、一の類似チャネルのデータとの差分を符号化する差分符号化部716(例えば、差分符号化部116)とを有する。 FIG. 13 is a block diagram showing a main part of the data compression device of the neural network of still another aspect. The data compression device 702 shown in FIG. 13 is a data compression device for a neural network that reduces the amount of data of the output data of the partial neural network created by dividing one neural network, and the output data of the partial neural network is A read circuit 711 (for example, a read circuit 114) that reads data from the stored storage unit and a data compression circuit 714 that compresses the read data are provided, and the data compression circuit 714 is indicated by similar channel information. The coding unit 715 (for example, the coding unit 115) that compresses the data of one of the two or more similar channels having similar output data, and the data of the other similar channels. , A difference coding unit 716 (for example, a difference coding unit 116) that encodes a difference from the data of one similar channel.

図14は、CPU(Central Processing Unit )を有するコンピュータの一例を示すブロック図である。CPU1000は、記憶装置1001に格納されデータ圧縮プログラムに従って処理を実行することによって、上記の実施形態における各機能を実現する。 FIG. 14 is a block diagram showing an example of a computer having a CPU (Central Processing Unit). The CPU 1000 realizes each function in the above embodiment by being stored in the storage device 1001 and executing the process according to the data compression program.

すなわち、CPU1000は、図3に示された読出し回路111および符号化部112の機能を実現する。また、CPU1000は、図6に示された読出し回路113および符号化部112の機能を実現可能である。さらに、CPU1000は、図9に示された読出し回路114、符号化部115および差分符号化部116の機能を実現可能である。また、図11〜図13に示されたデータ圧縮装置701,702の機能(記憶回路713を除く。)を実現可能である。 That is, the CPU 1000 realizes the functions of the read circuit 111 and the coding unit 112 shown in FIG. Further, the CPU 1000 can realize the functions of the read circuit 113 and the coding unit 112 shown in FIG. Further, the CPU 1000 can realize the functions of the read circuit 114, the coding unit 115, and the difference coding unit 116 shown in FIG. Further, the functions of the data compression devices 701 and 702 (excluding the storage circuit 713) shown in FIGS. 11 to 13 can be realized.

記憶装置1001は、例えば、非一時的なコンピュータ可読媒体(non-transitory computer readable medium )である。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium )を含む。非一時的なコンピュータ可読媒体の具体例として、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM )、フラッシュROM)がある。 The storage device 1001 is, for example, a non-transitory computer readable medium. Non-temporary computer-readable media include various types of tangible storage media. Specific examples of non-temporary computer-readable media include semiconductor memories (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM).

メモリ1002は、例えばRAM(Random Access Memory)で実現され、CPU1000が処理を実行するときに一時的にデータを格納する記憶手段である。なお、図12に示された記憶回路713は、メモリ1002で実現可能である。 The memory 1002 is realized by, for example, a RAM (Random Access Memory), and is a storage means for temporarily storing data when the CPU 1000 executes processing. The storage circuit 713 shown in FIG. 12 can be realized by the memory 1002.

上記の実施形態の一部または全部は以下の付記のようにも記載されうるが、本発明の構成は以下の構成に限定されない。 Although some or all of the above embodiments may be described as in the appendix below, the configuration of the present invention is not limited to the following configurations.

(付記1)1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記読出し回路は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮装置。
(Appendix 1) A neural network data compression device that reduces the amount of output data of a partial neural network created by dividing one neural network.
A read circuit that reads data from the storage unit in which the output data of the partial neural network is stored, and
It is equipped with a data compression circuit that compresses the read data.
The read circuit is a data compression device for a neural network, characterized in that data of another channel is read after all data of one channel has been read.

(付記2)前記読出し回路は、一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記データ圧縮回路は、前記短冊状の領域に格納されたデータのデータ圧縮を行う
付記1のニューラルネットワークのデータ圧縮装置。
(Appendix 2) The read-out circuit stores data of one channel in a strip-shaped area in the storage circuit.
The data compression circuit is a data compression device for a neural network according to Appendix 1, which compresses data stored in the strip-shaped region.

(付記3)前記データ圧縮回路は、複数チャネルの各々のチャネルの複数のデータを1つの映像と見なしてデータ圧縮を行う
付記1のニューラルネットワークのデータ圧縮装置。
(Appendix 3) The data compression circuit is a data compression device for a neural network according to Appendix 1, wherein a plurality of data of each channel of a plurality of channels are regarded as one video and data compression is performed.

(付記4)前記データ圧縮回路は、HEVC規格に基づく符号化処理を実行する
付記2または付記3のニューラルネットワークのデータ圧縮装置。
(Appendix 4) The data compression circuit is a neural network data compression device according to Appendix 2 or Appendix 3 that executes a coding process based on the HEVC standard.

(付記5)1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記データ圧縮回路は、
類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する差分符号化部とを含む
ことを特徴とするニューラルネットワークのデータ圧縮装置。
(Appendix 5) A neural network data compression device that reduces the amount of output data of a partial neural network created by dividing one neural network.
A read circuit that reads data from the storage unit in which the output data of the partial neural network is stored, and
It is equipped with a data compression circuit that compresses the read data.
The data compression circuit is
A coding unit that compresses the data of one of two or more similar channels whose output data is similar, which is indicated by the similar channel information, and the data of the similar channel.
A data compression device for a neural network, comprising a difference coding unit that encodes a difference between data of another similar channel and data of the one similar channel.

(付記6)1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮方法。
(Appendix 6) A neural network data compression method that reduces the amount of output data of a partial neural network created by dividing one neural network.
Data is read from the storage unit in which the output data of the partial neural network is stored, and the data is read.
Compress the read data and perform data compression.
A method for compressing data in a neural network, which comprises reading data from another channel after reading all data in one channel when reading data from the storage unit.

(付記7)一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記短冊状の領域に格納されたデータのデータ圧縮を行う
付記6のニューラルネットワークのデータ圧縮方法。
(Appendix 7) The data of one channel is stored in a strip-shaped area in the storage circuit.
The data compression method for a neural network according to Appendix 6, which compresses the data stored in the strip-shaped area.

(付記8)複数チャネルの各々のチャネルの複数のデータを1つの映像と見なしてデータ圧縮を行う
付記6のニューラルネットワークのデータ圧縮方法。
(Appendix 8) The data compression method of the neural network of Appendix 6 in which a plurality of data of each channel of a plurality of channels are regarded as one video and data compression is performed.

(付記9)1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行い、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する
ことを特徴とするニューラルネットワークのデータ圧縮方法。
(Appendix 9) A neural network data compression method that reduces the amount of output data of a partial neural network created by dividing one neural network.
Data is read from the storage unit in which the output data of the partial neural network is stored, and the data is read.
Compress the read data and perform data compression.
When performing the data compression,
Data compression of the data of one of two or more similar channels with similar output data, which is indicated by the similar channel information, is performed.
A data compression method for a neural network, characterized in that the difference between the data of another similar channel and the data of the one similar channel is encoded.

(付記10)1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出させる
ためのニューラルネットワークのデータ圧縮プログラム。
(Appendix 10) A neural network data compression program that reduces the amount of output data of a partial neural network created by dividing one neural network.
On the computer
The process of reading data from the storage unit in which the output data of the partial neural network is stored, and
The process of compressing the read data is executed, and the data is compressed.
A neural network data compression program for reading data from another channel after the reading of all data in one channel is completed when reading data from the storage unit.

(付記11)コンピュータに、
一のチャネルのデータを記憶回路における短冊状の領域に格納する処理と、
前記短冊状の領域に格納されたデータのデータ圧縮を行う処理とを実行させる
付記10のニューラルネットワークのデータ圧縮プログラム。
(Appendix 11) To the computer
The process of storing the data of one channel in a strip-shaped area in the storage circuit,
The data compression program of the neural network of Appendix 10 for executing the process of compressing the data stored in the strip-shaped area.

(付記12)コンピュータに、
複数チャネルの各々のチャネルの複数のデータを1つの映像と見なしてデータ圧縮を行う処理を実行させる
付記10のニューラルネットワークのデータ圧縮プログラム。
(Appendix 12) To the computer
The data compression program of the neural network of Appendix 10 for executing a process of performing data compression by regarding a plurality of data of each channel of a plurality of channels as one video.

(付記13)1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う処理と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する処理とを実行させる
ためのニューラルネットワークのデータ圧縮プログラム。
(Appendix 13) A neural network data compression program that reduces the amount of output data of a partial neural network created by dividing one neural network.
On the computer
The process of reading data from the storage unit in which the output data of the partial neural network is stored, and
The process of compressing the read data is executed, and the data is compressed.
When performing the data compression,
The process of compressing the data of one of two or more similar channels whose output data is similar, which is indicated by the similar channel information, and the data of the similar channel.
A neural network data compression program for executing a process of encoding the difference between the data of another similar channel and the data of the one similar channel.

100,100A,100B,100C データ圧縮部
111,113,114 読出し回路
112,115 符号化部
116 差分符号化部
200 前半ニューラルネットワーク
210 積和演算部
220 記憶部
230 選択部
400 送信部
500 通信ネットワーク
600 クラウドサーバ
701,702 データ圧縮装置
711 読出し回路
712,714 データ圧縮回路
713 記憶回路
715 符号化部
716 差分符号化部
1000 CPU
1001 記憶装置
1002 メモリ
100, 100A, 100B, 100C Data compression unit 111, 113, 114 Read circuit 112, 115 Coding unit 116 Difference coding unit 200 First half Neural network 210 Product sum calculation unit 220 Storage unit 230 Selection unit 400 Transmission unit 500 Communication network 600 Cloud server 701,702 Data compression device 711 Read circuit 712,714 Data compression circuit 713 Storage circuit 715 Coding unit 716 Difference coding unit 1000 CPU
1001 storage device 1002 memory

Claims (13)

1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記読出し回路は、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮装置。
A neural network data compression device that reduces the amount of output data of a partial neural network created by dividing one neural network.
A read circuit that reads data from the storage unit in which the output data of the partial neural network is stored, and
It is equipped with a data compression circuit that compresses the read data.
The read circuit is a data compression device for a neural network, characterized in that data of another channel is read after all data of one channel has been read.
前記読出し回路は、一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記データ圧縮回路は、前記短冊状の領域に格納されたデータのデータ圧縮を行う
請求項1記載のニューラルネットワークのデータ圧縮装置。
The read circuit stores the data of one channel in a strip-shaped area in the storage circuit.
The data compression device for a neural network according to claim 1, wherein the data compression circuit compresses data stored in the strip-shaped region.
前記データ圧縮回路は、複数チャネルの各々のチャネルの複数のデータを1つの映像と見なしてデータ圧縮を行う
請求項1記載のニューラルネットワークのデータ圧縮装置。
The data compression device for a neural network according to claim 1, wherein the data compression circuit regards a plurality of data of each channel of the plurality of channels as one video and performs data compression.
前記データ圧縮回路は、HEVC規格に基づく符号化処理を実行する
請求項2または請求項3記載のニューラルネットワークのデータ圧縮装置。
The data compression device for a neural network according to claim 2 or 3, wherein the data compression circuit executes a coding process based on the HEVC standard.
1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮装置であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す読出し回路と、
読み出されたデータのデータ圧縮を行うデータ圧縮回路とを備え、
前記データ圧縮回路は、
類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う符号化部と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する差分符号化部とを含む
ことを特徴とするニューラルネットワークのデータ圧縮装置。
A neural network data compression device that reduces the amount of output data of a partial neural network created by dividing one neural network.
A read circuit that reads data from the storage unit in which the output data of the partial neural network is stored, and
It is equipped with a data compression circuit that compresses the read data.
The data compression circuit is
A coding unit that compresses the data of one of two or more similar channels whose output data is similar, which is indicated by the similar channel information, and the data of the similar channel.
A data compression device for a neural network, comprising a difference coding unit that encodes a difference between data of another similar channel and data of the one similar channel.
1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出す
ことを特徴とするニューラルネットワークのデータ圧縮方法。
A neural network data compression method that reduces the amount of output data of a partial neural network created by dividing one neural network.
Data is read from the storage unit in which the output data of the partial neural network is stored, and the data is read.
Compress the read data and perform data compression.
A method for compressing data in a neural network, which comprises reading data from another channel after reading all data in one channel when reading data from the storage unit.
一のチャネルのデータを記憶回路における短冊状の領域に格納し、
前記短冊状の領域に格納されたデータのデータ圧縮を行う
請求項6記載のニューラルネットワークのデータ圧縮方法。
The data of one channel is stored in a strip-shaped area in the storage circuit,
The data compression method for a neural network according to claim 6, wherein the data stored in the strip-shaped area is compressed.
複数チャネルの各々のチャネルの複数のデータを1つの映像と見なしてデータ圧縮を行う
請求項6記載のニューラルネットワークのデータ圧縮方法。
The data compression method for a neural network according to claim 6, wherein a plurality of data of each channel of a plurality of channels are regarded as one video and data compression is performed.
1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮方法であって、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出し、
読み出されたデータのデータ圧縮を行い、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行い、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する
ことを特徴とするニューラルネットワークのデータ圧縮方法。
A neural network data compression method that reduces the amount of output data of a partial neural network created by dividing one neural network.
Data is read from the storage unit in which the output data of the partial neural network is stored, and the data is read.
Compress the read data and perform data compression.
When performing the data compression,
Data compression of the data of one of two or more similar channels with similar output data, which is indicated by the similar channel information, is performed.
A data compression method for a neural network, characterized in that the difference between the data of another similar channel and the data of the one similar channel is encoded.
1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記記憶部からデータを読み出すときに、一のチャネルの全てのデータの読み出しが完了してから他のチャネルのデータを読み出させる
ためのニューラルネットワークのデータ圧縮プログラム。
A neural network data compression program that reduces the amount of output data of a partial neural network created by dividing one neural network.
On the computer
The process of reading data from the storage unit in which the output data of the partial neural network is stored, and
The process of compressing the read data is executed, and the data is compressed.
A neural network data compression program for reading data from another channel after the reading of all data in one channel is completed when reading data from the storage unit.
コンピュータに、
一のチャネルのデータを記憶回路における短冊状の領域に格納する処理と、
前記短冊状の領域に格納されたデータのデータ圧縮を行う処理とを実行させる
請求項10記載のニューラルネットワークのデータ圧縮プログラム。
On the computer
The process of storing the data of one channel in a strip-shaped area in the storage circuit,
The data compression program for a neural network according to claim 10, wherein the process of compressing the data stored in the strip-shaped area is executed.
コンピュータに、
複数チャネルの各々のチャネルの複数のデータを1つの映像と見なしてデータ圧縮を行う処理を実行させる
請求項10記載のニューラルネットワークのデータ圧縮プログラム。
On the computer
The data compression program for a neural network according to claim 10, wherein a plurality of data of each channel of a plurality of channels are regarded as one video and a process of performing data compression is executed.
1つのニューラルネットワークが分割されて作成される部分ニューラルネットワークの出力データのデータ量を削減するニューラルネットワークのデータ圧縮プログラムであって、
コンピュータに、
前記部分ニューラルネットワークの出力データが格納された記憶部からデータを読み出す処理と、
読み出されたデータのデータ圧縮を行う処理とを実行させ、
前記データ圧縮を行うときに、
類似チャネル情報で示される、出力データが類似している2つ以上の類似チャネルのうちの一の類似チャネルのデータのデータ圧縮を行う処理と、
他の類似チャネルのデータの、前記一の類似チャネルのデータとの差分を符号化する処理とを実行させる
ためのニューラルネットワークのデータ圧縮プログラム。
A neural network data compression program that reduces the amount of output data of a partial neural network created by dividing one neural network.
On the computer
The process of reading data from the storage unit in which the output data of the partial neural network is stored, and
The process of compressing the read data is executed, and the data is compressed.
When performing the data compression,
The process of compressing the data of one of two or more similar channels whose output data is similar, which is indicated by the similar channel information, and the data of the similar channel.
A neural network data compression program for executing a process of encoding the difference between the data of another similar channel and the data of the one similar channel.
JP2021511693A 2019-03-29 2019-03-29 Neural network data compression device and data compression method Active JP7218796B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/014173 WO2020202313A1 (en) 2019-03-29 2019-03-29 Data compression apparatus and data compression method for neural network

Publications (2)

Publication Number Publication Date
JPWO2020202313A1 true JPWO2020202313A1 (en) 2021-12-16
JP7218796B2 JP7218796B2 (en) 2023-02-07

Family

ID=72666374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021511693A Active JP7218796B2 (en) 2019-03-29 2019-03-29 Neural network data compression device and data compression method

Country Status (2)

Country Link
JP (1) JP7218796B2 (en)
WO (1) WO2020202313A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117529922A (en) * 2021-06-29 2024-02-06 夏普株式会社 System and method for compressing feature data in encoding of multi-dimensional data
CN115358178B (en) * 2022-08-11 2023-04-07 山东大学 Circuit yield analysis method based on fusion neural network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007266A (en) * 2002-05-31 2004-01-08 Sony Corp Image encoder and its method, image decoder and its method, and program and recording medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007266A (en) * 2002-05-31 2004-01-08 Sony Corp Image encoder and its method, image decoder and its method, and program and recording medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
福岡久和 他: "動画圧縮技術を利用した分散機械学習における情報伝達効率化", 電子情報通信学会 信学技報, vol. 117, no. 153, JPN6019021690, July 2017 (2017-07-01), JP, pages 151 - 155, ISSN: 0004842229 *

Also Published As

Publication number Publication date
JP7218796B2 (en) 2023-02-07
WO2020202313A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
JP6360969B2 (en) Image encoding and decoding method and apparatus
WO2015078422A1 (en) Image encoding and decoding method and device
CN104301724A (en) Video processing method, coding device and decoding device
CN111316642B (en) Method and apparatus for signaling image coding and decoding partition information
WO2020202313A1 (en) Data compression apparatus and data compression method for neural network
CN104683801A (en) Image compression method and device
WO2022155974A1 (en) Video coding and decoding and model training method and apparatus
CN113068036B (en) Method, apparatus, device and medium for sample adaptive compensation
WO2017123389A1 (en) Adaptive tile data size coding for video and image compression
CN105100799A (en) Method for reducing intraframe coding time delay in HEVC encoder
WO2018205781A1 (en) Method for use in achieving motion estimation and electronic device
KR102071459B1 (en) Encoding apparatus and encoding method
CN115442617A (en) Video processing method and device based on video coding
CN111815502B (en) FPGA acceleration method for multi-graph processing based on WebP compression algorithm
CN108900842B (en) Y data compression processing method, device and equipment and WebP compression system
CN107172425B (en) Thumbnail generation method and device and terminal equipment
Shen et al. Fast Golomb coding parameter estimation using partial data and its application in hyperspectral image compression
CN114189693A (en) Method and device for determining pixel position, electronic equipment and storage medium
CN108419078B (en) Image processing method and device based on WebP image compression algorithm
CN110945870A (en) Video processing apparatus and method
KR102211556B1 (en) Image quality assesment system for network service and method thereof
WO2024078403A1 (en) Image processing method and apparatus, and device
CN114640357B (en) Data encoding method, apparatus and storage medium
CN116527903B (en) Image shallow compression method and decoding method
CN112788339B (en) Video coding optimization method, device, system, medium and terminal

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230109

R151 Written notification of patent or utility model registration

Ref document number: 7218796

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151