WO2022108361A1 - 신경망 특징맵 양자화 방법 및 장치 - Google Patents

신경망 특징맵 양자화 방법 및 장치 Download PDF

Info

Publication number
WO2022108361A1
WO2022108361A1 PCT/KR2021/016998 KR2021016998W WO2022108361A1 WO 2022108361 A1 WO2022108361 A1 WO 2022108361A1 KR 2021016998 W KR2021016998 W KR 2021016998W WO 2022108361 A1 WO2022108361 A1 WO 2022108361A1
Authority
WO
WIPO (PCT)
Prior art keywords
feature map
neural network
quantization
layer
present
Prior art date
Application number
PCT/KR2021/016998
Other languages
English (en)
French (fr)
Inventor
안용조
이종석
Original Assignee
인텔렉추얼디스커버리 주식회사
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 인텔렉추얼디스커버리 주식회사 filed Critical 인텔렉추얼디스커버리 주식회사
Priority to CN202180084852.1A priority Critical patent/CN116746149A/zh
Priority to US18/253,381 priority patent/US20230421764A1/en
Priority to KR1020237020605A priority patent/KR20230107869A/ko
Publication of WO2022108361A1 publication Critical patent/WO2022108361A1/ko

Links

Images

Classifications

    • 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
    • H04N19/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • 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
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to a method and apparatus for quantizing a neural network feature map. Specifically, the present invention relates to a method and apparatus for quantizing a neural network feature map using a neural network structure. In addition, the present invention relates to a method and apparatus for quantizing a neural network feature map using feature map classification.
  • a video image is compression-encoded by removing spatial and temporal redundancy and inter-view redundancy, which may be transmitted through a communication line or stored in a form suitable for a storage medium.
  • An object of the present invention is to improve the coding efficiency of a video signal through efficient neural network feature map quantization.
  • a neural network-based signal processing method and apparatus can generate a feature map using a multi-neural network including a plurality of neural networks, and perform quantization on the feature map.
  • the quantization may be performed based on a structure of the multiple neural network or an attribute of the feature map.
  • the property of the feature map may include a distribution type of sample values in the feature map.
  • the quantization may be performed by a quantization method mapped to the distribution type.
  • the distribution type may include at least one of a normal distribution, a Gaussian distribution, and a Laplace distribution.
  • the performing of the quantization may include performing normalization on sample values in the feature map using a normalization method mapped to the distribution type. .
  • the structure of the multiple neural network includes whether the multiple neural networks are connected in series, whether the multiple neural networks are connected in parallel, whether the multiple neural networks are connected in series and in parallel, or the feature map. It may include at least one of the types of layers adjacent to the generated current layer.
  • the quantization may be performed by a quantization method mapped to a type of the adjacent layer, and the type of the layer is at least one of a batch normalization layer and a summation layer.
  • the method may further include classifying the feature map into a plurality of classes, and the attribute of the feature map may include the class of the feature map.
  • the feature map may include a plurality of channels.
  • the feature map may be classified into the plurality of classes including one or more channels based on the similarity between the plurality of channels.
  • the feature map may be spatially classified based on spatial similarity of input images.
  • the present invention it is possible to improve the coding efficiency of a video signal.
  • FIG. 1 is a diagram illustrating a hierarchical structure of a multi-neural network according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of a neural network hierarchical structure according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a case in which the characteristic of a feature map is a uniform distribution according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a case in which a characteristic of a feature map is a Gaussian distribution according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a case in which a characteristic of a feature map is a Laplace distribution as an embodiment of the present invention.
  • FIG. 6 illustrates a neural network feature map encoder that encodes a feature map of a neural network as an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • FIG. 11 is a diagram illustrating a uniform distribution quantization process as an embodiment of the present invention.
  • FIG. 12 is a diagram illustrating a Gaussian distribution quantization process as an embodiment of the present invention.
  • FIG. 13 is a diagram illustrating a Laplace distribution quantization process as an embodiment of the present invention.
  • FIG. 14 illustrates a neural network feature map decoding unit that decodes a neural network feature map as an embodiment of the present invention.
  • 15 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • 16 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • 17 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • FIG. 18 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • FIG. 19 is a diagram illustrating a uniform distribution inverse quantization process as an embodiment of the present invention.
  • 20 is a diagram illustrating a Gaussian distribution inverse quantization process as an embodiment of the present invention.
  • 21 is a diagram illustrating a Laplace distribution inverse quantization process as an embodiment of the present invention.
  • FIG. 22 is a diagram for explaining a neural network structure extracted through a neural network structure feature extraction unit as an embodiment of the present invention.
  • FIG. 23 is a diagram conceptually illustrating an example of various types of information output through the neural network structure feature extraction unit when the neural network structure is used as an input of the neural network structure feature extraction unit as an embodiment of the present invention.
  • FIG. 24 is a diagram illustrating a neural network feature map encoder that encodes a feature map of a neural network as an embodiment of the present invention.
  • 25 is a diagram illustrating a feature map classification unit according to an embodiment of the present invention.
  • 26 is a diagram illustrating a feature map classification unit according to an embodiment to which the present invention is applied.
  • FIG. 27 is a diagram illustrating a feature map classification unit according to an embodiment to which the present invention is applied.
  • FIG. 28 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • 29 is a diagram illustrating a partial quantization flowchart of a feature map according to an embodiment of the present invention.
  • FIG. 30 is a diagram illustrating a flowchart of partial quantization of a feature map according to an embodiment of the present invention.
  • 31 is a diagram illustrating a flowchart of partial quantization of a feature map according to an embodiment of the present invention.
  • 32 is a block diagram of a neural network feature map decoding unit according to an embodiment of the present invention.
  • 33 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • a neural network-based signal processing method and apparatus can generate a feature map using a multi-neural network including a plurality of neural networks, and perform quantization on the feature map.
  • the quantization may be performed based on a structure of the multiple neural network or an attribute of the feature map.
  • the property of the feature map may include a distribution type of sample values in the feature map.
  • the quantization may be performed by a quantization method mapped to the distribution type.
  • the distribution type may include at least one of a normal distribution, a Gaussian distribution, and a Laplace distribution.
  • the performing of the quantization may include performing normalization on sample values in the feature map using a normalization method mapped to the distribution type. .
  • the structure of the multiple neural network includes whether the multiple neural networks are connected in series, whether the multiple neural networks are connected in parallel, whether the multiple neural networks are connected in series and in parallel, or the feature map. It may include at least one of the types of layers adjacent to the generated current layer.
  • the quantization may be performed by a quantization method mapped to a type of the adjacent layer, and the type of the layer is at least one of a batch normalization layer and a summation layer.
  • the method may further include classifying the feature map into a plurality of classes, and the attribute of the feature map may include the class of the feature map.
  • the feature map may include a plurality of channels.
  • the feature map may be classified into the plurality of classes including one or more channels based on the similarity between the plurality of channels.
  • the feature map may be spatially classified based on spatial similarity of input images.
  • a part when a part is 'connected' to another part, it includes not only a case in which it is directly connected, but also a case in which it is electrically connected with another element interposed therebetween.
  • a part of the configuration of the apparatus or a part of the steps of the method may be omitted.
  • the order of some of the components of the apparatus or some of the steps of a method may be changed.
  • other components or other steps may be inserted into some of the components of the device or some of the steps of the method.
  • each component shown in the embodiment of the present invention is shown independently to represent different characteristic functions, and it does not mean that each component is made of separate hardware or a single software component. That is, each component is listed as each component for convenience of description, and at least two components of each component are combined to form one component, or one component can be divided into a plurality of components to perform a function. Integrated embodiments and separate embodiments of each of these components are also included in the scope of the present invention without departing from the essence of the present invention.
  • a decoding device (Video Decoding Apparatus), which will be described later, is a civilian security camera, a civilian security system, a military security camera, a military security system, a personal computer (PC), a notebook computer, a portable multimedia player (PMP, Portable MultimediaPlayer), It may be a device included in a server terminal such as a wireless communication terminal, a smart phone, a TV application server, and a service server, and communication for performing communication with the terminal, wired and wireless communication network, etc.
  • Various devices including a communication device such as a modem, a memory for storing various programs and data for decoding or decoding an image, inter- or intra-screen prediction for decoding an image, and a microprocessor for operating and controlling the program by executing the program. can mean
  • the video encoded as a bitstream by the encoder is transmitted in real time or in non-real time through a wired/wireless communication network such as the Internet, a local area network, a wireless LAN network, a WiBro network, or a mobile communication network, or through a cable, a universal serial bus (USB , Universal Serial Bus) can be transmitted to an image decoding device through various communication interfaces, such as, decoded, restored as an image, and reproduced.
  • the bitstream generated by the encoder may be stored in a memory.
  • the memory may include both a volatile memory and a non-volatile memory. In this specification, a memory may be expressed as a recording medium storing a bitstream.
  • a moving picture may be composed of a series of pictures, and each picture may be divided into coding units such as blocks.
  • picture described below can be used in place of other terms having the same meaning, such as image and frame. There will be.
  • coding unit may be substituted for other terms having the same meaning, such as a unit block, a block, and the like.
  • a method and apparatus for compressing a feature map that is a result (or intermediate result) of a neural network in more detail, information of a neural network structure is used in compressing the feature map.
  • a method and apparatus are proposed.
  • An embodiment of the present invention provides a method and apparatus for using a plurality of different quantizers in compressing a feature map using information of a neural network structure.
  • a structural feature of a neural network is analyzed, and a different quantizer or inverse quantizer is selectively used according to the analyzed feature to improve compression performance. and a decryption method and apparatus.
  • the characteristics of the feature map can be considered.
  • FIG. 1 is a diagram illustrating a hierarchical structure of a multi-neural network according to an embodiment of the present invention.
  • the neural network according to the present embodiment may have a neural network structure composed of multiple neural networks (ie, multiple neural networks).
  • each neural network in the multiple neural network may include multiple neural network layers.
  • Data expressed in various forms may be transmitted.
  • the data may be transmitted in the form of a tensor that is 3D data between adjacent neural networks.
  • each neural network in the multi-neural network may be composed of a plurality of layers for performing a function of the neural network.
  • the neural network may refer to the entire multi-neural network including a plurality of neural networks, may refer to one neural network among the multiple neural networks, and may refer to all or a part of a neural network layer included in the neural network.
  • FIG. 2 is a diagram illustrating an example of a neural network hierarchical structure according to an embodiment of the present invention.
  • one neural network layer may include at least one of a filtering layer, an offset summation layer, a first sampling layer, a batch normalization layer, a nonlinear mapping layer, a summation layer, and a second sampling layer.
  • the neural network layer shown in FIG. 2 is an example, and the order of the layers may be different from the figure.
  • a convolution operation may be performed in the filtering layer.
  • the filter used for convolution may be a filter having various dimensions such as one-dimensional, two-dimensional, and three-dimensional.
  • a predetermined offset value may be summed in the offset summation layer. In this case, the same number of offset values as the number of filters used in the filtering layer may be summed.
  • data may be transmitted to the next priority layer without the offset summation layer.
  • sampling may be performed at a predetermined sampling rate on the offset-added data in the first sampling layer.
  • Sampling may be performed on all data to which the convolution and offset are summed.
  • the position of the data to which the convolution and offset are summed is first sampled, and the convolution and offset summation may be performed only at the corresponding position. have.
  • batch normalization may be performed in the batch normalization layer. Batch normalization may normalize the feature map using mean and/or variance values. In this case, the average and/or variance value may be a value learned in the learning process.
  • the feature map may be mapped by a nonlinear mapping function.
  • various nonlinear functions such as Rectified Linear Unit (ReLU), Leaky ReLU (Leak ReLU), sigmoid, and tanh (Hyperbolic Tangent) may be used as the nonlinear mapping function.
  • ReLU Rectified Linear Unit
  • Leaky ReLU Leak ReLU
  • sigmoid sigmoid
  • tanh Hyperbolic Tangent
  • the feature map generated in the current or previous layer may be summed with another predetermined feature map.
  • the other feature map may be one of previously generated feature maps.
  • the summation may mean addition.
  • the summation may refer to a combination in which data is connected in a specific dimension.
  • the current feature map may be spatially downsampled.
  • a downsampling method max pooling sampling with the largest value within a specific range, average pooling sampling with an average value, median pooling sampling with an intermediate value, and DCT using DCT Various downsampling methods such as pooling may be used.
  • FIG. 3 is a diagram illustrating a case in which the characteristic of a feature map is a uniform distribution according to an embodiment of the present invention.
  • quantization may be performed on the feature map in consideration of the characteristics of the feature map.
  • the feature map may be an output of a neural network or a neural network layer.
  • the characteristic of the feature map may be a distribution characteristic of values of the feature map.
  • the value may be a pixel, sample, or coefficient value of the feature map.
  • a quantization method corresponding to the characteristic of the feature map may be predefined.
  • a distribution of values of a feature map output from any one layer (referred to as an n-th layer) among layers of a multi-neural network may be a uniform distribution.
  • the function of the current neural network may be a case in which a function of generating or predicting noise of a uniform distribution is performed.
  • quantization suitable for the uniform distribution when the characteristic of the feature map is a uniform distribution, quantization suitable for the uniform distribution may be applied.
  • inverse quantization suitable for uniform distribution when quantization suitable for uniform distribution is applied to the corresponding feature map, inverse quantization suitable for uniform distribution may also be applied to the inverse quantization.
  • FIG. 4 is a diagram illustrating a case in which a characteristic of a feature map is a Gaussian distribution according to an embodiment of the present invention.
  • a distribution of values of a feature map output from an n-th layer among layers of a multi-neural network may be a Gaussian distribution. It is a graph showing a Gaussian distribution with mean ⁇ and variance ⁇ as an example. In general, when learning using a large amount of data, the distribution of the feature map and the distribution of data are similar, and most general data may follow a Gaussian distribution.
  • quantization suitable for the Gaussian distribution when the characteristic of the feature map is a Gaussian distribution, quantization suitable for the Gaussian distribution may be applied.
  • quantization suitable for the Gaussian distribution when quantization suitable for the Gaussian distribution is applied to the corresponding feature map, inverse quantization suitable for the Gaussian distribution may also be applied to the inverse quantization.
  • FIG. 5 is a diagram illustrating a case in which a characteristic of a feature map is a Laplace distribution as an embodiment of the present invention.
  • a distribution of values of a feature map output from an n-th layer among layers of a multi-neural network may be a Laplace distribution.
  • the distribution of the feature map may be a Laplace distribution.
  • the feature map generated in the current layer may be at least one of a high-frequency component signal, a difference signal, or a detail signal of the feature map generated in the previous layer.
  • the signal in general, a Laplace distribution with an average of 0 may be exhibited. That is, when the next layer is the summation layer, the currently generated feature map may generally be a Laplace distribution.
  • quantization suitable for the Laplace distribution when the characteristic of the feature map is a Laplace distribution, quantization suitable for the Laplace distribution may be applied.
  • quantization suitable for the Laplace distribution when quantization suitable for the Laplace distribution is applied to the feature map, inverse quantization suitable for the Laplace distribution may also be applied to the inverse quantization.
  • FIG. 6 illustrates a neural network feature map encoder that encodes a feature map of a neural network as an embodiment of the present invention.
  • the neural network feature map encoder may encode a feature map of a neural network generated from multiple neural networks.
  • the neural network feature map encoder may include a quantizer, a transform quantizer (or a transform unit), an entropy encoder, a neural network structure feature extractor, and a neural network structure encoder.
  • the configuration of the neural network feature map encoder shown in FIG. 6 is an example, and some configurations may be omitted or may be implemented to further include other configurations.
  • the multi-neural network may be composed of a plurality of neural networks, and each neural network may be connected in series or in parallel. Alternatively, with respect to one data, some of the multiple neural network structures may be connected in series and others may be connected in parallel.
  • a feature map which is an intermediate result (or output), may be generated in the continuous neural network connection.
  • one feature map When neural networks are connected in series, one feature map may be generated. And, when the neural networks are connected in parallel, one or more plurality of feature maps may be generated. Each of the plurality of feature maps may have the same size or may be different from each other.
  • one or more feature maps that are results (or intermediate results) of multiple neural networks may be compressed through a neural network feature encoder and transmitted to a decoder or stored in a storage device.
  • the quantization unit may quantize the input feature map.
  • the feature map (or pixel values in the feature map) may be a value expressed as a floating point number. In this case, it may be converted into an integer that can be expressed with a bit depth supported by the encoder. If the values of the feature map are integer types, the values of the feature map may be mapped to a range that can be expressed by the bit depth supported by the encoder.
  • the structural features of the neural network in which the feature map is generated are received from the neural network structural feature extractor, and different quantization methods can be selectively or adaptively used according to the features.
  • the quantized feature map may be input to the transform quantization unit.
  • the transform quantization unit may be referred to as a transform unit.
  • the neural network structure feature extraction unit may analyze the structure of the multiple neural network, extract the features, and transmit the extracted features to the quantization unit.
  • the feature may be a type of a neural network layer and a next neural network layer in which a feature map to be currently encoded is generated.
  • the characteristic may be a position of a layer, such as the number of the neural network layer in which the current neural network is generated in the entire multi-neural network.
  • the characteristic when the neural networks are connected in parallel, the characteristic may be a location of a number of parallel connections and index information of the parallel connection.
  • the transform quantization unit may transform and quantize the received feature map for encoding and transmit it to the entropy encoding unit.
  • spatial transformation of spatially converting high-dimensional data into low-dimensional data may be performed.
  • quantization in transform quantization may mean quantization for rate control.
  • the feature map is three-dimensional data, and the length along the axis of each dimension may be expressed by horizontal, vertical, depth, or channels.
  • the feature map may be converted into two-dimensional data such as an image by connecting all channels of the feature map to one channel.
  • the transformed 2D data may be transformed and quantized through an existing image or video encoding method.
  • frequency transformation such as DCT and DST may be performed on the feature map, and quantization according to frequency may be performed in the frequency domain.
  • the neural network structure encoder receives information on the entire neural network or a partial neural network structure from the multi-neural network and performs symbolization to encode, and the symbolized neural network structure may be transmitted to the entropy encoder.
  • the entropy encoding unit may receive the received transform quantized feature map and the neural network structure and entropy-encode it to generate a bitstream.
  • FIG. 7 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 7 may be an example of a process performed by a quantizer.
  • this embodiment may be performed in the quantization unit of the neural network feature map encoder described above with reference to FIG. 6 .
  • the quantization unit may extract (or obtain) a histogram (or a characteristic) by using all values of the feature map.
  • the quantizer may determine whether the distribution of the extracted histogram is a Gaussian distribution.
  • information on whether a Gaussian distribution is present may be transmitted to a decoder through an entropy encoder.
  • the similarity with the Gaussian function obtained through the average and variance of the feature map can be measured and judged through the similarity. If the Gaussian distribution is followed, Gaussian distribution quantization may be performed. Otherwise, the quantizer may check whether the Laplace distribution is followed.
  • information on whether the Laplace distribution is followed may be transmitted to the decoder through the entropy encoder.
  • the similarity between the Laplace function created using the mean and variance of the feature map and the distribution of the feature map can be measured and judged based on the similarity. If it is determined that the Laplace distribution is followed, Laplace distribution quantization may be performed, and in the opposite case, uniform distribution quantization may be performed.
  • FIG. 8 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 8 may be an example of a process performed by a quantizer.
  • this embodiment may be performed in the quantization unit of the neural network feature map encoder described above with reference to FIG. 6 .
  • the quantizer may determine whether the next layer is the summation layer. In the case of a summation layer, Laplace distribution quantization may be performed. Conversely, in the case of a layer other than the summation layer, Gaussian distribution quantization may be performed.
  • FIG. 9 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 9 may be an example of a process performed by a quantizer.
  • this embodiment may be performed in the quantization unit of the neural network feature map encoder described above with reference to FIG. 6 .
  • the quantizer may check whether the previous layer is a batch normalization layer through the neural network feature received from the neural network structure feature extractor.
  • the previous layer may mean a layer in which a feature map to be currently encoded is generated.
  • Gaussian distribution quantization may be performed.
  • the quantizer may directly perform Gaussian distribution quantization.
  • the previous layer is not a batch normalization layer, it can be checked whether the next layer is a summation layer.
  • Laplace distribution quantization may be performed.
  • Gaussian distribution quantization may be performed.
  • FIG. 10 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 10 may be an example of a process performed by a quantizer.
  • this embodiment may be performed in the quantization unit of the neural network feature map encoder described above with reference to FIG. 6 .
  • the quantizer may first determine whether to use uniform distribution quantization. In this case, whether to use uniform distribution quantization may be determined by a user input or an agreement between the encoder and the decoder. Alternatively, it may be determined according to a specific layer index. The determined uniform distribution quantization usage information may be transmitted to the decoder through the entropy encoder.
  • the quantizer may check whether the previous layer is a batch normalization layer through the neural network feature received from the neural network structure feature extractor. When uniform distribution quantization is used, uniform distribution quantization may be performed. Otherwise, the quantizer may check whether the previous layer is a batch normalization layer.
  • Gaussian distribution quantization may be performed.
  • the quantizer may check whether the next layer is the summation layer. If the next layer is a summation layer, Laplace distribution quantization may be performed. When the next layer is a layer other than the summation layer, Gaussian distribution quantization may be performed.
  • FIG. 11 is a diagram illustrating a uniform distribution quantization process as an embodiment of the present invention.
  • a quantizer when uniform distribution quantization is performed, a quantizer (or an encoding apparatus, or an encoder) may perform uniform distribution normalization, uniform distribution quantization, and bit depth clipping.
  • the order of the steps shown in FIG. 11 may be changed, and some steps may be omitted or other steps may be added.
  • uniform distribution normalization may be performed as in Equation 1 below.
  • f, f min , f max , and f norm may represent a feature map value, a minimum value among feature maps, a maximum value among feature maps, and a normalized feature map value, respectively. That is, when the current feature map follows a uniform distribution, the quantization unit may perform linear normalization by mapping the minimum value of the feature map to 0 and the maximum value to (1 ⁇ bitdepth) - 1 of the feature map.
  • the normalized feature map may be uniformly distributed quantized through Equation 2 below.
  • Q step and level may represent a quantization size and a quantized feature map value, respectively.
  • floor(_) may represent a discard operation (or a function).
  • the offset U may be an offset for rounding.
  • the above-described variables may be information on a boundary of a quantization interval that fits a distribution. For example, when f norm is quantized to 3, Q step is 1, and offset is 0.5, the quantization interval may be [2.5, 3.5), and 2.5 and 3.5 may be the quantization interval boundaries. That is, the quantization interval may be determined as [f norm - offset, f norm + offset -1].
  • bit depth clipping may be performed through Equation 3 below.
  • the Clip3(min, max, value) function receives the minimum, maximum, and input values for clipping as input and outputs the input value, or sets the minimum value if the input value is less than the minimum value, and the maximum value if the input value is greater than the maximum value. Represents a function that outputs.
  • FIG. 12 is a diagram illustrating a Gaussian distribution quantization process as an embodiment of the present invention.
  • the quantizer when Gaussian distribution quantization is performed, the quantizer (or the encoding apparatus, the encoder) may perform Gaussian distribution normalization, Gaussian distribution quantization, and bit depth clipping.
  • the order of the steps shown in FIG. 12 may be changed, and some steps may be omitted or other steps may be added.
  • Gaussian distribution normalization may be performed as in Equation 4 below.
  • f, ⁇ , ⁇ , and f norm may mean a feature map value, a feature map average, a feature map variance, and a normalized feature map value, respectively.
  • the normalized feature map may be quantized with a Gaussian distribution through Equation 5 below.
  • Q step , offset G , and level may mean a quantization size, an offset for rounding, and a quantized feature map value, respectively.
  • floor(_) may represent a discard operation (or a function).
  • the offset G may be an offset for rounding.
  • the above-described variables may be information on a boundary of a quantization interval that fits a distribution.
  • bit depth clipping may be performed.
  • bit depth clipping may be performed by Equation 3 described above.
  • FIG. 13 is a diagram illustrating a Laplace distribution quantization process as an embodiment of the present invention.
  • the quantizer when Laplace distribution quantization is performed, the quantizer (or the encoding apparatus, the encoder) may perform Laplace distribution normalization, Laplace distribution quantization, and bit depth clipping.
  • the order of the steps shown in FIG. 13 may be changed, and some steps may be omitted or other steps may be added.
  • normalization of the Laplace distribution may be performed as in Equation 6 below.
  • f, scale, and f norm may mean a feature map value, a feature map scale value, and a normalized feature map value, respectively.
  • the normalized feature map may be quantized by Laplace distribution through Equation 7 below.
  • Q step and level may mean a quantization size and a quantized feature map value, respectively.
  • floor(_) may mean a discard function (or operation).
  • offset G may be an offset for rounding.
  • the above-described variables may be information on a boundary of a quantization interval that fits a distribution.
  • bit depth clipping may be performed.
  • bit depth clipping may be performed by Equation 3 described above.
  • FIG. 14 illustrates a neural network feature map decoding unit that decodes a neural network feature map as an embodiment of the present invention.
  • the neural network feature map decoding unit may decode the neural network feature map.
  • the neural network feature map decoding unit may include an entropy decoding unit, an inverse transform quantization unit (or an inverse transform unit), an inverse quantization unit, a neural network structure decoding unit, and a neural network structure feature extracting unit.
  • the configuration of the neural network feature map decoding unit shown in FIG. 14 is an example, and some components may be omitted or may be implemented to further include other components.
  • the neural network feature map decoder may decode the bitstream received from the encoder to restore the feature map and/or the neural network.
  • the reconstructed neural network may be an entire multi-neural network or a partial neural network.
  • the transmitted feature map may be the entire neural network after the generated layer.
  • the entropy decoding unit may decode the received bitstream to generate a transform-quantized feature map, and may transmit it to the inverse transform quantization unit.
  • the symbolized neural network structure can be restored and transmitted to the neural network structure decoder.
  • the inverse transform quantization unit may inverse quantize and inverse transform the transform-quantized feature map to transmit the inverse quantization unit.
  • the neural network structure decoder may restore the neural network structure by decoding the symbolized neural network structure received from the entropy decoder.
  • the restored neural network structure may be transferred to the neural network structure feature extraction step, and the neural network structure feature extraction step may be the same as the step included in the neural network feature map encoding unit.
  • the neural network structure feature extraction unit may extract various information such as the entire neural network structure, the order of layers, the index of the layers, and types before or after the current feature map from the reconstructed neural network structure and deliver it to the inverse quantization unit.
  • the inverse quantizer may adaptively or selectively perform inverse quantization through the received inverse transform quantized (or inverse transformed) feature map and the features of the neural network structure.
  • the inverse quantization step may convert the data format of the feature map according to the format of data used in the subsequent neural network.
  • the inverse quantization unit restores the integer type, and in the case of a floating-point-based neural network, it can be restored on a floating-point basis.
  • the restored feature map can be an input to the neural network.
  • 15 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 15 may be an example of a process performed by the inverse quantizer.
  • the present embodiment may be performed in the inverse quantization unit of the neural network feature map decoding unit described above with reference to FIG. 14 .
  • the inverse quantizer may receive information on whether the distribution of the current feature map follows a Gaussian distribution or a Laplace distribution from the entropy decoder. When a Gaussian distribution is followed, Gaussian distribution inverse quantization may be performed. Otherwise, the inverse quantizer may additionally check whether the Laplace distribution is followed.
  • Laplace distribution quantization may be performed, otherwise, uniform distribution quantization may be performed.
  • 16 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 16 may be an example of a process performed by the inverse quantizer.
  • the present embodiment may be performed in the inverse quantization unit of the neural network feature map decoding unit described above with reference to FIG. 14 .
  • the inverse quantizer may determine whether the next layer is the summation layer through the neural network feature received from the neural network structure feature extractor. When the next layer is the summation layer, Laplace distribution inverse quantization may be performed. If it is a layer other than the summation layer, Gaussian distribution inverse quantization may be performed.
  • 17 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 17 may be an example of a process performed by the inverse quantizer.
  • the present embodiment may be performed in the inverse quantization unit of the neural network feature map decoding unit described above with reference to FIG. 14 .
  • the inverse quantizer may check whether the previous layer is a batch normalization layer through the neural network feature received from the neural network structure feature extractor.
  • the previous layer may mean a layer in which a feature map to be currently encoded is generated.
  • Gaussian distribution inverse quantization may be performed.
  • the inverse quantizer may check whether the next layer is the summation layer. If it is a summation layer, Laplace distribution inverse quantization may be performed. In the case of a layer other than the summation layer, Gaussian distribution inverse quantization may be performed.
  • FIG. 18 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 18 may be an example of a process performed by the inverse quantizer.
  • the present embodiment may be performed in the inverse quantization unit of the neural network feature map decoding unit described above with reference to FIG. 14 .
  • the inverse quantizer may first determine whether to use uniform distribution inverse quantization. In this case, whether to use uniform distribution quantization may be transmitted through the entropy decoder. Alternatively, it may be determined by an agreement between the encoder and the decoder. Alternatively, it may be determined according to a specific layer index.
  • the inverse quantizer may check whether the previous layer is a batch normalization layer through the neural network feature received from the neural network structure feature extractor. When uniform distribution inverse quantization is used, uniform distribution inverse quantization may be performed. Otherwise, the inverse quantizer may check whether the previous layer is a batch normalization layer.
  • Gaussian distribution inverse quantization may be performed.
  • the inverse quantizer may check whether the next layer is the summation layer. In the case of a summation layer, Laplace distribution inverse quantization may be performed. In the case of a layer other than the summation layer, Gaussian distribution inverse quantization may be performed.
  • FIG. 19 is a diagram illustrating a uniform distribution inverse quantization process as an embodiment of the present invention.
  • the inverse quantizer may perform quantization size scaling, bit depth clipping, and uniform distribution denormalization.
  • the order of the steps shown in FIG. 19 may be changed, and some steps may be omitted or other steps may be added.
  • quantization magnitude scaling may be performed through Equation 8 below.
  • level, Q step , and f dq may mean a quantized feature value, a quantized size, and an inverse quantized feature value, respectively.
  • Bit depth clipping may be applied to the inverse quantized feature value through Equation 9 below.
  • f, f min , and f max may mean a restored feature map value, a minimum value among the feature maps, and a maximum value among the feature maps, respectively.
  • f min and f max may be received from the encoder through the entropy decoder.
  • 20 is a diagram illustrating a Gaussian distribution inverse quantization process as an embodiment of the present invention.
  • the inverse quantizer (or, a decoding apparatus or a decoder) may perform quantization size scaling, bit depth clipping, and Gaussian distribution denormalization.
  • the order of the steps shown in FIG. 20 may be changed, and some steps may be omitted or other steps may be added.
  • the quantization magnitude scaling may be performed through Equation 11 below.
  • level, Q step , and f dq may mean a quantized feature value, a quantized size, and an inverse quantized feature value, respectively.
  • Bit depth clipping may be applied to the inverse quantized feature value through Equation 12 below.
  • the clipped feature value may then be uniformly distributed denormalization through Equation 13 below.
  • f, ⁇ , and ⁇ may mean a reconstructed feature map value, a feature map average, and a feature map variance value, respectively.
  • ⁇ and ⁇ may be received from the encoder through the entropy decoder.
  • 21 is a diagram illustrating a Laplace distribution inverse quantization process as an embodiment of the present invention.
  • the inverse quantizer (or, a decoding apparatus or a decoder) may perform quantization size scaling, bit depth clipping, and Laplace distribution denormalization processes.
  • the order of the steps shown in FIG. 21 may be changed, and some steps may be omitted or other steps may be added.
  • the quantization magnitude scaling may be performed through Equation 14 below.
  • level, Q step , and f dq may mean a quantized feature value, a quantized size, and an inverse quantized feature value, respectively.
  • bit depth clipping may be applied to the inverse quantized feature value through Equation 15 below.
  • the clipped feature value may be uniformly distributed denormalization through Equation 16 below.
  • f and scale may mean a reconstructed feature map value and a feature map scale value, respectively.
  • the scale may be received from the encoder through the entropy decoder.
  • FIG. 22 is a diagram for explaining a neural network structure extracted through a neural network structure feature extraction unit as an embodiment of the present invention.
  • the neural network structure feature extraction unit may be the neural network structure feature extraction unit described with reference to FIGS. 6 and 14 .
  • the neural network structure may be extracted through the neural network structure feature extraction unit, and the extracted features may be used in the feature map encoding process.
  • the neural network may have N layers, and when data is input, a feature map may be generated in all layers except for the last layer. In this case, the number of generated feature maps may be N-1 or less.
  • Each layer may be of a different type.
  • layers of a specific type pattern may be continuously connected. For example, a convolutional layer, an offset summing layer, and an activation layer may be iteratively connected.
  • the layer type may be at least one of a convolutional layer, an offset summing layer, a sampling layer, a batch normalization layer, an activation layer, a summing layer, and a pooling layer.
  • FIG. 23 is a diagram conceptually illustrating an example of various types of information output through the neural network structure feature extraction unit when the neural network structure is used as an input of the neural network structure feature extraction unit as an embodiment of the present invention.
  • the neural network structure may be the neural network structure described above with reference to FIG. 22 .
  • the neural network structure feature extraction unit may be the neural network structure feature extraction unit described with reference to FIGS. 6 and 14 .
  • the neural network structure extractor may extract a type of an n-th layer to which a current feature map is output and an n+1 layer to which a current feature map is input, from the received neural network structure.
  • the neural network structure extractor may check whether the type of the n-th layer is a batch normalization layer.
  • the encoder may transmit a parameter used for batch normalization to the quantization layer.
  • the decoder may transmit the batch normalization parameters to the inverse quantizer.
  • the neural network structure extractor may check whether the type of the n+1th layer is the summation layer.
  • the summation layer information on whether the summation layer is present may be transmitted to the quantizer or the inverse quantizer.
  • the layer index for which layer and the summation is to be performed and the summation type may be transmitted to the quantizer.
  • the summing layer may be at least one of an addition layer and a concatenation layer.
  • An embodiment of the present invention proposes a method and apparatus for adaptively quantizing a feature map through feature map analysis for efficient compression of a feature map of a neural network. More specifically, for efficient feature map compression, a quantization method and apparatus for determining importance among feature map channels and applying different quantization sizes according to importance are proposed.
  • the feature map which is an intermediate result of the neural network, may mean different features for each channel.
  • each characteristic may have different influences on the final prediction predicted through the subsequent neural network. Therefore, among the channels of the feature map, by classifying the channels that have a large influence on the final prediction and the channels that have little influence on the final prediction, the quantization size is adaptively adjusted for each channel using the classified result to improve the encoding efficiency of the feature map compression. do.
  • FIG. 24 is a diagram illustrating a neural network feature map encoder that encodes a feature map of a neural network as an embodiment of the present invention.
  • the neural network feature map encoder may encode a feature map of a neural network generated from multiple neural networks.
  • the neural network feature map encoder may include a feature map classifier, a quantizer, a transform quantizer (or a transformer), an entropy encoder, a neural network structure feature extractor, and a neural network structure encoder.
  • the configuration of the neural network feature map encoder shown in FIG. 24 is an example, and some configurations may be omitted or may be implemented to further include other configurations. In the description of the present embodiment, a portion overlapping with the description of FIG. 6 will be omitted.
  • the multi-neural network may be composed of a plurality of neural networks, and each neural network may be connected in series or in parallel. Alternatively, with respect to one data, some of the multiple neural network structures may be connected in series and others may be connected in parallel.
  • a feature map which is an intermediate result (or output), may be generated in the continuous neural network connection.
  • one feature map When neural networks are connected in series, one feature map may be generated. And, when the neural networks are connected in parallel, one or more plurality of feature maps may be generated. Each of the plurality of feature maps may have the same size or may be different from each other.
  • one or more feature maps that are results (or intermediate results) of multiple neural networks may be compressed through a neural network feature map encoder and transmitted to a decoder or stored in a storage device.
  • the feature map classifier may classify the input feature map and deliver the classified feature map to the quantizer.
  • the classification information generated by the feature map classifier may be transmitted to the decoder through the entropy encoder.
  • the classification information may be a classification index according to a channel of the feature map, a classification index according to a spatial location, a classification index for a spatial mask, and the like.
  • the feature maps classified by the feature map classifier may be transmitted to the quantizer.
  • the quantization unit may generate a quantized feature map by individually quantizing the received classified feature map according to a classification index.
  • the generated quantized feature map may be transmitted to the transform quantization unit.
  • the transform quantization unit may perform transform quantization (or transform) for encoding the received quantized feature map.
  • quantization in transform quantization may mean quantization for rate control.
  • the transform quantization unit may reconstruct the feature map for each classification index and transform it into 2D data or transform the shape into 1D data. Alternatively, a frequency domain transformation used for general image and video encoding may be applied. After transforming to the frequency domain, the quantized coefficients may be transmitted to the entropy encoder by quantization for rate control.
  • 25 is a diagram illustrating a feature map classification unit according to an embodiment of the present invention.
  • the feature map may have a size of (width H, height W, channel C). Such a feature map may be classified into N classes by the feature map classification unit.
  • the feature map classification unit may have the configuration described above with reference to FIG. 24 .
  • the feature map classification unit may store and manage the channel index of the original tensor for each class in the form of a list.
  • the channel index information may be transmitted to the decoder through the entropy encoder for quantization and dequantization.
  • the feature map classification unit may classify the feature map for each channel by using the degree of similarity between channels. Since most feature maps extract feature values while maintaining the spatial and structural features of the input image, a set of channels with high similarity between channels may exist although the size of the feature values for each channel is different.
  • the feature map classifier may classify the channels using a machine learning-based classification method such as a k-means algorithm using the similarity between channels or a deep learning-based classification method.
  • a machine learning-based classification method such as a k-means algorithm using the similarity between channels or a deep learning-based classification method.
  • the number of classifications may be the same according to the algorithm used.
  • each class may have a different number, and in this case, information on the number of each list may be transmitted to the decoder.
  • 26 is a diagram illustrating a feature map classification unit according to an embodiment to which the present invention is applied.
  • a feature map having a size of (width, height, channel) may be classified into a class by classifying a specific spatial region.
  • the classified location information may be transmitted to a decoder through entropy encoding in the form of a class index map.
  • the feature map classification unit may classify the input image and video, and apply the classification result to the same location by reflecting the classified result to the feature.
  • the feature map classification unit may change the resolution to the same resolution through resampling to reflect the resolution difference.
  • the feature map may be classified into blocks having a specific size.
  • partition information, partition depth, class index, and the like of the block may be transmitted to the decoder through the entropy encoder.
  • FIG. 27 is a diagram illustrating a feature map classification unit according to an embodiment to which the present invention is applied.
  • a feature map having a size of (width, height, channel) may be classified into a class by classifying a specific spatial region.
  • the classified location information may be transmitted to a decoder through entropy encoding in the form of a class index map.
  • the feature map classification unit may classify the input image and video, and apply the classification result to the same location by reflecting the classified result to the feature.
  • the feature map classification unit may spatially divide the feature map into blocks and classify the feature map by mapping a class index for each block.
  • the block division may be divided into 4 divisions, 2 divisions, and 3 divisions. Also, it may be a diagonal division, and the result of the diagonal division may also be said to be one block.
  • the feature map may be divided in various directions such as 8 divisions or 4 divisions of the 3D data itself.
  • a block partition can be divided into several layers. Block partition information, partition depth, class index, and the like may be transmitted to the decoder through the entropy encoder.
  • FIG. 28 is a diagram illustrating a flowchart of quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 28 may be an example of a process performed by a quantizer.
  • this embodiment may be performed in the quantization unit of the neural network feature map encoder described above with reference to FIG. 24 .
  • the quantization unit may determine whether to perform partial quantization, and perform full quantization or partial quantization according to the determination result.
  • the determination of whether to perform partial quantization may be input from a user.
  • the quantizer may determine whether to perform partial quantization according to the function of the neural network. For example, when the function of the neural network has a function of segmenting an image or a video, the quantization unit may perform partial quantization. Alternatively, when the function of the neural network has a function of predicting the position of an object in an image or video, partial quantization may be performed.
  • partial quantization may be performed.
  • Information on whether partial quantization is performed may be transmitted to the decoder through the entropy encoder.
  • the encoder and the decoder may determine it through the neural network function information, respectively.
  • the quantization method may be predefined in the encoder and the decoder according to the function of the neural network.
  • 29 is a diagram illustrating a partial quantization flowchart of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 29 may be an example of a process performed by the quantizer.
  • this embodiment may be performed by the quantization unit of the neural network feature map encoder described above with reference to FIG. 24 .
  • the quantizer may check whether channel quantization is performed.
  • Information on whether to perform may be input from the encoder user. Alternatively, information on whether to perform may be determined by information determined in a higher stage.
  • information on whether to perform channel quantization may be transmitted to a decoder through an entropy encoder.
  • channel feature extraction may be performed.
  • the quantizer may extract the inter-channel feature of the feature map.
  • the inter-channel feature may be an average value of values included in the channel.
  • the inter-channel feature may be a variance value.
  • the inter-channel feature may be a feature extracted through another neural network.
  • the inter-channel feature may be structural complexity.
  • the extracted features may be transferred to the feature map channel classification step.
  • channels may be classified using features received in the feature map channel classification step.
  • the number of classified classes may be less than or equal to the number of channels of the existing feature map.
  • the feature map channel classification step the feature map channel may be classified based on the similarity of features for each channel.
  • One or more features extracted for each channel may be combined into a one-dimensional vector, and may be classified into K classes through a classification algorithm such as a k-means algorithm based on the similarity between the channel feature vectors. Then, the classified channel information may be transferred to the channel merging and splitting step.
  • channel merging and splitting step since encoding efficiency may be reduced when the number of channels included in one class is too small, one or more classes may be merged with other classes to form one class. Alternatively, if too many channels are included in one class, channel division may be performed.
  • the finally configured channel information for each class may be delivered to the channel quantization step.
  • feature map quantization may be performed by applying different quantization methods according to the class classified in the above step.
  • different quantization methods may indicate different quantization steps.
  • different quantization methods may indicate that quantized values have different bit depths.
  • different quantization methods may indicate that different nonlinear mapping functions are used for quantization.
  • Information on whether to perform domain quantization may be input from a user of the encoder. Alternatively, information on whether to perform domain quantization may be determined by information determined in a higher stage. Here, information on whether to perform channel quantization may be transmitted to a decoder through an entropy encoder.
  • a domain feature extraction step may be performed.
  • a block feature extraction step may be performed for block quantization.
  • the quantization unit may extract features from the received feature map for each spatial location and deliver the extracted features to the region feature classification step.
  • the quantizer may classify the region based on the received spatial features. In this case, the classified area may be shared and used by all channels of the feature map. Then, the classified regions may be transferred to a region merging and division step.
  • the final region may be determined by performing merging and dividing based on the number of classes, the size, width, height, number of pixels, etc. of the divided regions.
  • the finally determined regions may be transferred to a region quantization step.
  • different quantization methods may be applied according to the received classified domain.
  • features may be extracted from the received feature map in units of a specific block size.
  • a block may mean a cube that is data in a three-dimensional space, and may also be referred to as a tensor. That is, the block may be unit data obtained by dividing the feature map into smaller units.
  • the extracted features may be transferred to a block feature classification step.
  • the quantizer may classify the blocks using the received unit block features. Merge and division may be performed into blocks having different widths, heights, and depths using the classified classes.
  • the split information of the merged and split blocks may be transmitted to the decoder through the entropy encoder.
  • the division information may exist hierarchically, and may be divided into tree structures of various structures, such as 8 division, 4 division, and 2 division.
  • class information of the merged and split blocks may be transmitted to the decoder through the entropy encoder in the form of a classification map.
  • the values of the classification map may mean indexes of classes.
  • the quantization unit may encode the index difference between the prediction value and the current block using neighboring blocks of the current block, and may transmit the encoded difference to the entropy encoding unit.
  • different quantization methods may be applied using class information in blocks of various sizes.
  • different quantization methods may indicate different quantization sizes.
  • various methods such as an offset value, a scale value, vector quantization, and scalar quantization may be applied for each class.
  • Information related to the quantization method for each class may be transmitted to the decoder through the entropy encoder.
  • FIG. 30 is a diagram illustrating a flowchart of partial quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 30 may be an example of a process performed by the quantizer.
  • this embodiment may be performed by the quantization unit of the neural network feature map encoder described above with reference to FIG. 24 .
  • the method described above with reference to FIGS. 28 and 29 may be applied to the present embodiment, and a related overlapping description will be omitted.
  • the quantization unit may classify the input feature map and extract one or more information on the quantization method by using the classified feature map.
  • information on whether partial quantization is included may be included in the extracted information. If partial quantization is not used, full quantization may be performed. Otherwise, partial quantization may be performed.
  • the partial quantization related information may be transmitted to the decoder through the entropy encoder.
  • 31 is a diagram illustrating a flowchart of partial quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 31 may be an example of a process performed by a quantizer.
  • this embodiment may be performed by the quantization unit of the neural network feature map encoder described above with reference to FIG. 24 .
  • the method described above with reference to FIGS. 28 to 30 may be applied to the present embodiment, and a related overlapping description will be omitted.
  • one or more information on a quantization method may be extracted by classifying an input feature map and using the classified feature map.
  • information on whether the channel is quantized may be included in the extracted information. If information on channel quantization is included, characteristics for each channel may be additionally included.
  • information on whether to quantize a region may be included in the extracted information. If domain quantization is performed, information on features of a spatial domain may be included.
  • the quantizer may perform region merging and division by using the region characteristics.
  • block unit features may be included, and block merging and division may be performed using them.
  • Information on block division may be transmitted to a decoder through an entropy encoder.
  • 32 is a block diagram of a neural network feature map decoding unit according to an embodiment of the present invention.
  • the neural network feature map decoding unit may decode the neural network feature map.
  • the neural network feature map decoding unit may include an entropy decoding unit, an inverse transform quantization unit (or an inverse transform unit), a feature map dividing unit, and an inverse quantization unit.
  • the configuration of the neural network feature map decoding unit shown in FIG. 32 is an example, and some components may be omitted or may be implemented to further include other components.
  • the neural network feature map decoder may generate a restored feature map by decoding the bitstream received from the encoder.
  • the neural network may be a neural network used by an encoder and a decoder agreement.
  • the neural network may be all or a part of the neural network restored through the decoder/encoder.
  • the entropy decoding unit may decode the received bitstream to restore the transform-quantized feature map and transmit it to the inverse transform quantization unit. Also, the entropy decoder may restore the feature map classification information and transmit it to the inverse transform quantizer and the inverse quantizer. The inverse transform quantization unit may inverse quantize and inverse transform the transform quantized feature map, and transmit it to the inverse quantizer.
  • the inverse quantization unit may perform individual inverse quantization according to classification through the classification information received from the entropy decoder.
  • the inverse quantized feature map may be finally delivered to the neural network.
  • 33 is a diagram illustrating a flow chart of inverse quantization of a feature map according to an embodiment of the present invention.
  • the present embodiment described with reference to FIG. 33 may be an example of a process performed by the inverse quantizer.
  • the present embodiment may be performed by the inverse quantization unit of the neural network feature map decoding unit described above with reference to FIG. 32 .
  • the inverse quantization unit may receive the received feature map and information related to the inverse quantization method from the entropy decoder.
  • the inverse quantization-related information may include information on whether full inverse quantization is performed.
  • the inverse quantization related information may include information on whether channel inverse quantization is performed.
  • the inverse quantization-related information may additionally include information related to the feature map classification for each channel. can do.
  • the inverse quantization-related information may include information on whether to perform domain inverse quantization.
  • information used for domain division may be additionally included. For example, in the form of a classification map, it may be transmitted from the encoder through the entropy decoder.
  • information related to a quantization step used for inverse quantization, an offset, and the like may be included.
  • the inverse quantization unit may check whether the entire inverse quantization is performed. When it is determined to perform full inverse quantization, full inverse quantization may be performed. For full inverse quantization, the same inverse quantization method may be performed on the entire feature map. In this case, a quantization step, an offset, a scaling value, etc. necessary for inverse quantization may be received from the entropy decoder. Alternatively, a predetermined set may be used according to a value received from the entropy decoder.
  • inverse quantization related information may check whether channel inverse quantization is performed.
  • the feature map may be transmitted to the feature map channel division step.
  • the inverse quantizer may divide the channel through the received channel partitioning information to deliver the divided feature map in the channel inverse quantization step.
  • the inverse quantizer may check whether domain inverse quantization is performed.
  • the received feature map may be transferred to the feature map region division step.
  • the inverse quantizer may divide the feature map into a plurality of regions using the received feature map and region segmentation information received from the entropy encoder.
  • the divided feature map may be transferred to a region inverse quantization step.
  • the inverse quantizer may perform different quantization methods for each domain.
  • a feature map block partitioning step may be performed.
  • the inverse quantization unit divides the feature map into various sizes and shapes through block division information received from the entropy decoder, receives class information for each block, and applies a quantization method according to the class.
  • Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
  • an embodiment of the present invention is one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs (field programmable gate arrays), a processor, a controller, a microcontroller, may be implemented by a microprocessor.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • an embodiment of the present invention is implemented in the form of a module, procedure, or function that performs the functions or operations described above, and a recording medium readable through various computer means.
  • the recording medium may include a program command, a data file, a data structure, etc. alone or in combination.
  • the program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software.
  • the recording medium includes a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a compact disk read only memory (CD-ROM), a digital video disk (DVD), and a floppy disk.
  • Magneto-Optical Media such as a disk
  • hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those generated by a compiler.
  • Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • the device or terminal according to the present invention may be driven by a command to cause one or more processors to perform the functions and processes described above.
  • such instructions may include interpreted instructions, such as script instructions, such as JavaScript or ECMAScript instructions, or executable code or other instructions stored on a computer-readable medium.
  • the device according to the present invention may be implemented in a distributed manner across a network, such as a server farm, or may be implemented in a single computer device.
  • a computer program (also known as a program, software, software application, script or code) mounted on the device according to the invention and executing the method according to the invention includes compiled or interpreted language or a priori or procedural language. It can be written in any form of programming language, and can be deployed in any form, including stand-alone programs, modules, components, subroutines, or other units suitable for use in a computer environment.
  • a computer program does not necessarily correspond to a file in a file system.
  • a program may be in a single file provided to the requested program, or in multiple interacting files (eg, files that store one or more modules, subprograms, or portions of code), or portions of files that hold other programs or data. (eg, one or more scripts stored within a markup language document).
  • the computer program may be deployed to be executed on a single computer or multiple computers located at one site or distributed over a plurality of sites and interconnected by a communication network.
  • the present invention can be applied to a neural network-based quantization method and apparatus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치는 복수의 신경망을 포함하는 다중 신경망을 이용하여 특징맵(feature map)을 생성하고, 상기 특징맵에 대하여 양자화를 수행하며, 상기 양자화는 상기 다중 신경망의 구조 또는 상기 특징맵의 속성(attribute)에 기초하여 수행할 수 있다.

Description

신경망 특징맵 양자화 방법 및 장치
본 발명은 신경망 특징맵 양자화 방법 및 장치에 관한 것이다. 구체적으로, 본 발명은 신경망 구조를 이용한 신경망 특징맵 양자화 방법 및 장치에 관한 것이다. 또한, 본 발명은 특징맵 분류를 이용한 신경망 특징맵 양자화 방법 및 장치에 관한 것이다.
비디오 영상은 시공간적 중복성 및 시점 간 중복성을 제거하여 압축 부호화되며, 이는 통신 회선을 통해 전송되거나 저장 매체에 적합한 형태로 저장될 수 있다.
본 발명은 효율적인 신경망 특징맵 양자화를 통해 비디오 신호의 코딩 효율을 향상시키고자 함에 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치는 복수의 신경망을 포함하는 다중 신경망을 이용하여 특징맵(feature map)을 생성하고, 상기 특징맵에 대하여 양자화를 수행할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 양자화는 상기 다중 신경망의 구조 또는 상기 특징맵의 속성(attribute)에 기초하여 수행될 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵의 속성은 상기 특징맵 내 샘플 값들의 분포 유형을 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 양자화는 상기 분포 유형에 맵핑되는 양자화 방법에 의해 수행될 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 분포 유형은 정규 분포, 가우시안 분포 또는 라플라스 분포 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 양자화를 수행하는 단계는, 상기 분포 유형에 맵핑되는 정규화 방법으로 상기 특징맵 내 샘플 값들에 대한 정규화를 수행하는 단계를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 다중 신경망의 구조는 상기 다중 신경망의 직렬 연결 여부, 상기 다중 신경망의 병렬 연결 여부, 상기 다중 신경망의 직렬 및 병렬 연결 여부 또는 상기 특징맵이 생성된 현재 계층에 인접하는 계층의 유형 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 양자화는 상기 인접하는 계층의 유형에 맵핑되는 양자화 방법에 의해 수행될 수 있고, 상기 계층의 유형은 배치 정규화 계층 또는 합산 계층 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵을 복수의 클래스로 분류하는 단계를 더 포함할 수 있고, 상기 특징맵의 속성은 상기 특징맵의 클래스를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵은 복수의 채널을 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵은 상기 복수의 채널간 유사성에 기초하여 하나 이상의 채널을 포함하는 상기 복수의 클래스로 분류될 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵은 입력 이미지의 공간적 유사성에 기초하여 공간적으로 분류될 수 있다.
본 발명의 실시예에 따르면, 비디오 신호의 코딩 효율을 향상시킬 수 있다. 또한, 본 발명의 실시예에 따르면 신경망 구조를 이용한 신경망 특징맵 양자화를 통해 비디오 신호 코딩 효율을 향상시킬 수 있다. 또한, 본 발명의 실시예에 따르면 특징맵 분류를 이용한 신경망 특징맵 양자화를 통해 비디오 신호 코딩 효율을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 다중 신경망의 계층 구조를 도시하는 도면이다.
도 2는 본 발명의 실시예에 따른 신경망 계층 구조의 일 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예로서, 특징맵의 특성이 균등 분포(uniform distribution)인 경우를 예시하는 도면이다.
도 4는 본 발명의 일 실시예로서, 특징맵의 특성이 가우시안 분포(Gaussian distribution)인 경우를 예시하는 도면이다.
도 5는 본 발명의 일 실시예로서, 특징맵의 특성이 라플라스 분포인 경우를 예시하는 도면이다.
도 6은 본 발명의 일 실시예로서, 신경망의 특징맵을 부호화하는 신경망 특징맵 부호화부를 도시한다.
도 7은 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 9는 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 11은 본 발명의 일 실시예로서, 균등 분포 양자화 프로세스를 예시하는 도면이다.
도 12는 본 발명의 일 실시예로서, 가우시안 분포 양자화 프로세스를 예시하는 도면이다.
도 13은 본 발명의 일 실시예로서, 라플라스 분포 양자화 프로세스를 예시하는 도면이다.
도 14는 본 발명의 일 실시예로서, 신경망의 특징맵을 복호화하는 신경망 특징맵 복호화부를 도시한다.
도 15는 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 16은 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 17은 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 18은 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 19는 본 발명의 일 실시예로서, 균등 분포 역양자화 프로세스를 예시하는 도면이다.
도 20은 본 발명의 일 실시예로서, 가우시안 분포 역양자화 프로세스를 예시하는 도면이다.
도 21은 본 발명의 일 실시예로서, 라플라스 분포 역양자화 프로세스를 예시하는 도면이다.
도 22는 본 발명의 일 실시예로서, 신경망 구조 특징 추출부를 통하여 추출되는 신경망 구조를 설명하기 위한 도면이다.
도 23은 본 발명의 일 실시예로서, 신경망 구조가 신경망 구조 특징 추출부의 입력으로 사용되어 신경망 구조 특징 추출부를 통하여 출력되는 다양한 정보들의 일 예를 개념적으로 도시한 도면이다.
도 24는 본 발명의 일 실시예로서, 신경망의 특징맵을 부호화하는 신경망 특징맵 부호화부를 예시하는 도면이다.
도 25는 본 발명의 일 실시예에 따른 특징맵 분류부를 예시하는 도면이다.
도 26은 본 발명이 적용되는 일 실시예에 따른 특징맵 분류부를 예시하는 도면이다.
도 27은 본 발명이 적용되는 일 실시예에 따른 특징맵 분류부를 예시하는 도면이다.
도 28은 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 29는 본 발명의 일 실시예에 따른 특징맵의 부분 양자화 흐름도를 도시하는 도면이다.
도 30은 본 발명의 일 실시예에 따른 특징맵의 부분 양자화 흐름도를 도시하는 도면이다.
도 31은 본 발명의 일 실시예에 따른 특징맵의 부분 양자화 흐름도를 도시하는 도면이다.
도 32는 본 발명의 일 실시예에 따른 신경망 특징맵 복호화부의 블록도를 도시한다.
도 33은 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치는 복수의 신경망을 포함하는 다중 신경망을 이용하여 특징맵(feature map)을 생성하고, 상기 특징맵에 대하여 양자화를 수행할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 양자화는 상기 다중 신경망의 구조 또는 상기 특징맵의 속성(attribute)에 기초하여 수행될 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵의 속성은 상기 특징맵 내 샘플 값들의 분포 유형을 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 양자화는 상기 분포 유형에 맵핑되는 양자화 방법에 의해 수행될 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 분포 유형은 정규 분포, 가우시안 분포 또는 라플라스 분포 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 양자화를 수행하는 단계는, 상기 분포 유형에 맵핑되는 정규화 방법으로 상기 특징맵 내 샘플 값들에 대한 정규화를 수행하는 단계를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 다중 신경망의 구조는 상기 다중 신경망의 직렬 연결 여부, 상기 다중 신경망의 병렬 연결 여부, 상기 다중 신경망의 직렬 및 병렬 연결 여부 또는 상기 특징맵이 생성된 현재 계층에 인접하는 계층의 유형 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 양자화는 상기 인접하는 계층의 유형에 맵핑되는 양자화 방법에 의해 수행될 수 있고, 상기 계층의 유형은 배치 정규화 계층 또는 합산 계층 중 적어도 하나를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵을 복수의 클래스로 분류하는 단계를 더 포함할 수 있고, 상기 특징맵의 속성은 상기 특징맵의 클래스를 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵은 복수의 채널을 포함할 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵은 상기 복수의 채널간 유사성에 기초하여 하나 이상의 채널을 포함하는 상기 복수의 클래스로 분류될 수 있다.
본 발명에 따른 신경망 기반의 신호 처리 방법 및 장치에 있어서, 상기 특징맵은 입력 이미지의 공간적 유사성에 기초하여 공간적으로 분류될 수 있다.
본 명세서에 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다.
또한, 본 명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 이용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이용된다.
또한, 본 명세서에서 설명되는 장치 및 방법에 관한 실시예에 있어서, 장치의 구성 일부 또는, 방법의 단계 일부는 생략될 수 있다. 또한 장치의 구성 일부 또는, 방법의 단계 일부의 순서가 변경될 수 있다. 또한 장치의 구성 일부 또는, 방법의 단계 일부에 다른 구성 또는, 다른 단계가 삽입될 수 있다.
또한, 본 발명의 제1 실시예의 일부 구성 또는, 일부 단계는 본 발명의 제2 실시예에 부가되거나, 제2 실시예의 일부 구성 또는, 일부 단계를 대체할 수 있다.
덧붙여, 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 기술되고, 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
먼저, 본 출원에서 이용되는 용어를 간략히 설명하면 다음과 같다.
이하에서 후술할 복호화 장치(Video Decoding Apparatus)는 민간 보안 카메라, 민간 보안 시스템, 군용 보안 카메라, 군용 보안 시스템, 개인용 컴퓨터(PC, Personal Computer), 노트북 컴퓨터, 휴대형 멀티미디어 플레이어(PMP, Portable MultimediaPlayer), 무선 통신 단말기(Wireless Communication Terminal), 스마트 폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기에 포함된 장치일 수 있으며, 각종 기기 등과 같은 이용이자 단말기, 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하거나 복호화를 위해 화면 간 또는, 화면 내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 부호화기에 의해 비트스트림(bitstream)으로 부호화된 영상은 실시간 또는, 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB, Universal Serial Bus)등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 복호화되어 영상으로 복원되고 재생될 수 있다. 또는, 부호화기에 의해 생성된 비트스트림은 메모리에 저장될 수 있다. 상기 메모리는 휘발성 메모리와 비휘발성 메모리를 모두 포함할 수 있다. 본 명세서에서 메모리는 비트스트림을 저장한 기록 매체로 표현될 수 있다.
통상적으로 동영상은 일련의 픽쳐(Picture)들로 구성될 수 있으며, 각 픽쳐들은 블록(Block)과 같은 코딩 유닛(coding unit)으로 분할될 수 있다. 또한, 이하에 기재된 픽쳐라는 용어는 영상(Image), 프레임(Frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 이용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다. 그리고 코딩 유닛이라는 용어는 단위 블록, 블록 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 이용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
본 발명의 일 실시예에서는, 신경망(뉴럴 네트워크, neural network)의 결과물(또는 중간 결과물)인 특징맵을 압축하는 방법 및 장치로서, 보다 상세하게는 특징맵을 압축함에 있어서 신경망 구조의 정보를 이용하는 방법 및 장치를 제안한다.
본 발명의 일 실시예로서, 신경망 구조의 정보를 이용하여 특징맵을 압축함에 있어서, 복수의 서로 다른 양자화기를 사용하는 방법 및 장치를 제공한다.
또한, 본 발명의 일 실시예로서, 특징맵을 압축함에 있어서, 신경망의 구조적인 특징을 분석하고, 상기 분석한 특징에 따라 상이한 양자화기 또는, 역양자화기를 선택적으로 사용하여 압축 성능을 향상시키는 부호화 및 복호화 방법 및 장치를 제공한다.
본 발명에서 제안하는 양자화 방법 혹은 역양자화 방법을 사용함으로써, 특징맵의 특성을 고려할 수 있다. 특징맵의 특성을 분석/반영하고 해당 특성에 적합한 양자화 및 역양자화 방법을 선택적으로 사용함으로써, 단일의 양자화 방법을 사용하는 것 대비 양자화 에러를 줄이고 양자화 효율을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 다중 신경망의 계층 구조를 도시하는 도면이다.
도 1을 참조하면, 본 실시예에 따른 신경망은 다중 신경망(즉, 다수개의 신경망)으로 구성되는 신경망 구조를 가질 수 있다. 그리고, 다중 신경망 내 각각의 신경망은 다중 신경망 계층을 포함할 수 있다.
일 실시예로서, 하나의 신경망과 이에 인접하는 신경망 사이에서는, 스칼라 값(scalar value), 벡터(vector), 텐서(tensor), 이미지(image), 비디오(video), 비트스트림(bitstream) 등의 다양한 형태로 표현되는 데이터가 전달될 수 있다. 일 예로서, 인접한 신경망 사이에서 상기 데이터는 3차원 데이터인 텐서의 형태로 전달될 수 있다.
도 1에서 도시한 바와 같이, 다중 신경망 내 각각의 신경망은 신경망의 기능을 수행하기 위한 다수개의 계층으로 구성될 수 있다. 본 명세서에서, 신경망은 다수개의 신경망을 포함하는 다중 신경망 전체를 지칭할 수도 있고, 다중 신경망 중 하나의 신경망을 지칭할 수도 있고, 신경망에 포함된 신경망 계층의 전부 또는, 일부를 지칭할 수도 있다.
도 2는 본 발명의 실시예에 따른 신경망 계층 구조의 일 예를 도시한 도면이다.
도 2를 참조하면, 하나의 신경망 계층은 필터링 계층, 오프셋 합산 계층, 제1 샘플링 계층, 배치 정규화 계층, 비선형 매핑 계층, 합산 계층, 제2 샘플링 계층 중 적어도 하나 이상의 계층을 포함할 수 있다. 도 2에 도시된 신경망 계층은 일 예로서, 계층의 순서는 그림과 상이할 수 있다.
일 실시예로서, 필터링 계층에서 합성곱 연산이 수행될 수 있다. 이때, 합성곱에 사용되는 필터는 1차원, 2차원, 3차원 등 다양한 차원의 크기를 가진 필터일 수 있다. 또한, 오프셋 합산 계층에서 소정의 오프셋 값이 합산될 수 있다. 이때, 필터링 계층에서 사용되는 필터의 개수와 동일한 개수의 오프셋 값이 합산될 수 있다. 또는, 상기 오프셋 합산 계층 없이 차 순위 계층으로 데이터가 전송될 수도 있다.
또한, 제1 샘플링 계층에서 오프셋 합산된 데이터에 대하여 소정의 샘플링 비율로 샘플링이 수행될 수 있다. 합성곱 및 오프셋이 합산된 모든 데이터에 대하여 샘플링이 수행될 수도 있고, 계산 복잡도를 줄이기 위하여 합성곱 및 오프셋이 합산되는 데이터의 위치를 먼저 샘플링을 하고 해당 위치에서만 합성곱 및 오프셋 합산이 수행될 수도 있다. 이후, 배치 정규화 계층에서 배치 정규화가 수행될 수 있다. 배치 정규화는 평균 및/또는, 분산 값을 이용하여 특징맵을 정규화할 수 있다. 이때, 평균 및/또는, 분산 값은 학습 과정에서 학습된 값일 수 있다.
또한, 비선형 매핑 계층에서 특징맵은 비선형 매핑 함수에 의해 매핑될 수 있다. 예를 들어, 비선형 매핑 함수로 ReLU(Rectified Linear Unit), Leak ReLU(Leaky ReLU), 시그모이드(sigmoid), tanh(Hyperbolic Tangent) 등과 같은 다양한 비선형 함수가 사용될 수 있다. 합산 계층에서 현재 또는, 이전 계층에서 생성된 특징맵과 소정의 다른 특징맵이 합산될 수 있다. 이때, 다른 특징맵은 이전에 생성된 특징맵 중 하나일 수 있다. 또한, 상기 합산은 덧셈을 의미할 수 있다. 또는, 상기 합산은 특정 차원으로 데이터가 연결되는 결합을 의미할 수 있다.
또한, 제2 샘플링 계층에서 현재 특징맵은 공간적으로 다운샘플링될 수 있다. 이때, 다운 샘플링 방법으로 특정 범위 안에서 가장 큰 값으로 샘플링하는 맥스 풀링(max pooling), 평균 값으로 샘플링하는 평균 풀링(average pooling), 중간 값으로 샘플링하는 중간 풀링(median pooling), DCT를 이용하는 DCT 풀링 등 같이 다양한 다운 샘플링 방법이 사용될 수 있다.
도 3은 본 발명의 일 실시예로서, 특징맵의 특성이 균등 분포(uniform distribution)인 경우를 예시하는 도면이다.
본 발명의 일 실시예에 따르면, 특징맵의 특성을 고려하여 특징맵에 대한 양자화가 수행될 수 있다. 특징맵은 신경망 또는, 신경망 계층의 출력일 수 있다. 특징맵의 특성은 특징맵의 값들의 분포 특성일 수 있다. 상기 값은 특징맵의 픽셀, 샘플 또는, 계수의 값일 수 있다. 특징맵의 특성에 대응되는 양자화 방식이 미리 정의될 수 있다.
도 3을 참조하면, 다중 신경망의 계층 중 어느 하나의 계층(제n 계층으로 지칭함)에서 출력된 특징맵의 값들의 분포는 균등 분포일 수 있다. 특징맵의 분포가 균등 분포인 경우는 현재 신경망의 기능이 균일한 분포의 노이즈를 생성하거나 예측하는 기능을 수행하는 경우일 수 있다.
실시예로서, 특징맵의 양자화를 위하여 특징맵의 특성이 균등 분포인 경우에는 균등 분포에 적합한 양자화가 적용될 수 있다. 이때, 해당 특징맵에 대하여 균등 분포에 적합한 양자화가 적용된 경우, 이에 대한 역양자화에서도 동일하게 균등 분포에 적합한 역양자화가 적용될 수 있다.
도 4는 본 발명의 일 실시예로서, 특징맵의 특성이 가우시안 분포(Gaussian distribution)인 경우를 예시하는 도면이다.
도 4를 참조하면, 다중 신경망의 계층 중 제n 계층에서 출력된 특징맵의 값들의 분포는 가우시안 분포일 수 있다. 평균이 μ이고, 분산이 σ인 가우시안 분포를 하나의 일 실시예로 도시한 그래프이다. 일반적으로 많은 양의 데이터를 이용하여 학습하는 경우에는 특징맵의 분포와 데이터의 분포가 유사하며, 일반적인 데이터는 대부분 가우시안 분포를 따를 수 있다.
실시예로서, 특징맵의 양자화를 위하여 특징맵의 특성이 가우시안 분포인 경우에는 가우시안 분포에 적합한 양자화가 적용될 수 있다. 이때, 해당 특징맵에 대하여 가우시안 분포에 적합한 양자화가 적용된 경우, 이에 대한 역양자화에서도 동일하게 가우시안 분포에 적합한 역양자화가 적용될 수 있다.
도 5는 본 발명의 일 실시예로서, 특징맵의 특성이 라플라스 분포인 경우를 예시하는 도면이다.
도 5를 참조하면, 다중 신경망의 계층 중 제n 계층에서 출력된 특징맵의 값들의 분포는 라플라스 분포일 수 있다.
특히, 다음 계층이 합산 계층인 경우, 특징맵의 분포가 라플라스 분포일 수 있다. 일반적으로 다음 계층이 합산 계층인 경우, 현재 계층에서 생성된 특징맵은 이전 계층에서 생성된 특징맵의 고주파수 성분 신호, 차분 신호 또는, 디테일 신호 중 적어도 하나일 수 있다. 상기 신호의 경우 일반적으로 평균이 0인 라플라스 분포를 보일 수 있다. 즉, 다음 계층이 합산 계층인 경우에 현재 생성된 특징맵은 일반적으로 라플라스 분포일 수 있다.
실시예로서, 특징맵의 양자화를 위하여 특징맵의 특성이 라플라스 분포인 경우에는 라플라스 분포에 적합한 양자화가 적용될 수 있다. 이때, 해당 특징맵에 대하여 라플라스 분포에 적합한 양자화가 적용된 경우, 이에 대한 역양자화에서도 동일하게 라플라스 분포에 적합한 역양자화가 적용될 수 있다.
도 6은 본 발명의 일 실시예로서, 신경망의 특징맵을 부호화하는 신경망 특징맵 부호화부를 도시한다.
도 6을 참조하면, 신경망 특징맵 부호화부는 다중 신경망으로부터 생성된 신경망의 특징맵을 부호화할 수 있다. 일 예로서, 신경망 특징맵 부호화부는 양자화부, 변환 양자화부(또는 변환부), 엔트로피 부호화부, 신경망 구조 특징 추출부, 신경망 구조 부호화부를 포함할 수 있다. 도 6에서 도시하는 신경망 특징맵 부호화부의 구성은 일 예로서, 일부 구성이 생략되거나 다른 구성을 더 포함하도록 구현될 수 있다.
다중 신경망은 다수의 신경망으로 구성될 수 있으며, 각각의 신경망은 직렬 또는, 병렬로 연결될 수 있다. 또는, 하나의 데이터에 대하여 다중 신경망 구조 중 일부는 직렬로 연결되고 나머지는 병렬로 연결될 수 있다. 연속적인 신경망 연결에서 중간 결과물(또는, 출력)인 특징맵이 생성될 수 있다.
신경망이 직렬로 연결된 경우에는, 하나의 특징맵이 생성될 수 있다. 그리고, 신경망이 병렬로 연결되어 있는 경우에는, 하나 이상의 다수개의 특징맵이 생성될 수 있다. 상기 다수개의 특징맵은 각각 크기가 동일할 수도 있고, 서로 상이할 수도 있다.
실시예로서, 다중 신경망의 결과물(또는, 중간 결과물)인 하나 이상의 특징맵은 신경망 특징 부호화부를 통해 압축되어 복호화부로 전송되거나 저장 장치에 저장될 수 있다. 양자화부는 입력 받은 특징맵을 양자화할 수 있다. 일 예로서, 특징맵(또는, 특징맵 내 픽셀 값)은 부동소수점으로 표현된 값일 수 있다. 이 경우, 부호화부에서 지원되는 비트 깊이로 표현 가능한 정수로 변환될 수 있다. 만약, 특징맵의 값들이 정수형인 경우, 특징맵의 값들은 부호화부에서 지원되는 비트 깊이로 표현 가능한 범위로 매핑될 수 있다.
양자화를 수행하는 과정에서 신경망 구조 특징 추출부로부터 특징맵이 생성된 신경망의 구조적 특징을 전달받고, 특징에 따라서 서로 다른 양자화 방법을 선택적 또는, 적응적으로 사용할 수 있다. 그리고, 양자화된 특징맵은 변환 양자화부로 입력될 수 있다. 상기 변환 양자화부는 변환부로 지칭될 수도 있다. 신경망 구조 특징 추출부는 다중 신경망의 구조를 분석하고 특징을 추출하여 양자화부로 전달할 수 있다.
이때, 상기 특징은 현재 부호화 하려는 특징맵이 생성된 신경망 계층과 그 다음 신경망 계층의 유형일 수 있다. 또는, 상기 특징은 현재 신경망이 생성된 신경망 계층이 전체 다중 신경망에서 몇 번째 계층인지와 같은 계층의 위치일 수 있다. 또는, 상기 특징은 신경망이 병렬로 연결되어 있는 경우, 병렬 연결 중 몇 번째 연결인지 위치 및 병렬 연결의 인덱스 정보일 수 있다.
변환 양자화부는 입력 받은 특징맵을 부호화를 위하여 변환 및 양자화 하여 엔트로피 부호화부로 전달할 수 있다. 이때, 변환의 경우 공간적으로 고차원의 데이터를 저차원의 데이터로 변환하는 공간적 변환이 수행될 수 있다. 여기서, 변환 양자화에서의 양자화는 율제어를 위한 양자화를 의미할 수 있다.
일반적으로, 특징맵은 3차원 데이터이며 가로, 세로, 깊이 또는, 채널로 각 차원의 축으로의 길이를 표현될 수 있다. 또는, 특징맵은 특징맵의 모든 채널을 하나의 채널로 모두 연결하여 이미지와 같은 2차원 데이터로 변환될 수 있다. 그리고, 변환된 2차원 데이터는 기존의 이미지 또는, 비디오 부호화 방법을 통해 변환 및 양자화가 수행될 수 있다. 또는, 특징맵에 대하여 DCT, DST와 같은 주파수 변환을 하고 주파수 도메인에서 주파수에 따른 양자화가 수행될 수 있다.
신경망 구조 부호화부는 다중 신경망으로부터 전체 신경망 또는, 일부의 신경망 구조에 대한 정보를 입력 받아 부호화 하기 위해 심볼화를 수행하고 심볼화된 신경망 구조는 엔트로피 부호화부로 전달될 수 있다. 엔트로피 부호화부는 입력 받은 변환 양자화된 특징맵 및 신경망 구조를 입력 받아 엔트로피 부호화 하여 비트스트림을 생성할 수 있다.
도 7은 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 7을 참조하여 설명하는 본 실시예는 양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 6에서 설명한 신경망 특징맵 부호화부의 양자화부에서 수행될 수 있다.
본 발명의 일 실시예에 따르면, 양자화부는 특징맵의 모든 값들을 이용하여 히스토그램(또는, 특성)을 추출(또는, 획득)할 수 있다. 양자화부는 추출된 히스토그램의 분포가 가우시안 분포인지 확인할 수 있다. 여기서, 가우시안 분포 여부에 대한 정보는 엔트로피 부호화부를 거쳐 복호화기로 전달될 수 있다.
가우시안 분포를 따르는지 확인할 때, 특징맵의 평균 및 분산을 통해 얻은 가우시안 함수와의 유사도를 측정하여 그 유사도를 통해 판단할 수 있다. 만약 가우시안 분포를 따른다고 하면, 가우시안 분포 양자화가 수행될 수 있다. 그렇지 않은 경우, 양자화부는 라플라스 분포를 따르는지 여부를 확인할 수 있다.
그리고 라플라스 분포를 따르는지 여부에 대한 정보는 엔트로피 부호화부를 거쳐 복호화기로 전달될 수 있다. 여기서, 라플라스 분포를 따르는지 확인할 때 특징맵의 평균 및 분산을 이용하여 만든 라플라스 함수와 특징맵의 분포의 유사도를 측정하여 그 유사도를 기반으로 판단할 수 있다. 만약 라플라스 분포를 따른다고 판단되면, 라플라스 분포 양자화가 수행되고 반대의 경우는 균등 분포 양자화가 수행될 수 있다.
도 8은 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 8을 참조하여 설명하는 본 실시예는 양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 6에서 설명한 신경망 특징맵 부호화부의 양자화부에서 수행될 수 있다.
신경망 구조 특징 추출부로부터 전달받은 신경망 특징을 통해 양자화부는 다음 계층이 합산 계층인지 여부를 확인할 수 있다. 합산 계층인 경우, 라플라스 분포 양자화가 수행될 수 있다. 반대로 합산 계층이 아닌 다른 계층인 경우, 가우시안 분포 양자화가 수행될 수 있다.
도 9는 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 9를 참조하여 설명하는 본 실시예는 양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 6에서 설명한 신경망 특징맵 부호화부의 양자화부에서 수행될 수 있다.
본 발명의 일 실시예에 따르면, 신경망 구조 특징 추출부로부터 전달받은 신경망 특징을 통해 양자화부는 이전 계층이 배치 정규화 계층인지 여부를 확인할 수 있다. 여기서, 이전 계층은 현재 부호화 하려는 특징맵이 생성된 계층을 의미할 수 있다. 이전 계층이 배치 정규화 계층인 경우, 가우시안 분포 양자화가 수행될 수 있다.
일반적으로 배치 정규화 계층은 학습 과정에서 배치 단위의 평균 및 분산을 학습하여 정규화를 수행하기 때문에 배치 정규화 이후 특징맵은 가우시안 분포를 따를 수 있다. 따라서, 이전 계층이 배치 정규화 계층인 경우, 양자화부는 가우시안 분포 양자화를 바로 수행할 수 있다.
이전 계층이 배치 정규화 계층이 아닌 경우, 다음 계층이 합산 계층인지 여부를 확인할 수 있다. 만약 합산 계층인 경우, 라플라스 분포 양자화가 수행될 수 있다. 합산 계층이 아닌 다른 계층인 경우, 가우시안 분포 양자화가 수행될 수 있다.
도 10은 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 10을 참조하여 설명하는 본 실시예는 양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 6에서 설명한 신경망 특징맵 부호화부의 양자화부에서 수행될 수 있다.
본 발명의 일 실시예에 따르면, 양자화부는 먼저 균등 분포 양자화를 사용할지 여부를 확인할 수 있다. 이때, 균등 분포 양자화를 사용할지 여부는 사용자의 입력 또는, 부호화부와 복호화부의 약속에 의해 결정될 수 있다. 또는, 특정 계층 인덱스에 따라서 결정될 수도 있다. 결정된 균등 분포 양자화 사용 여부 정보는 엔트로피 부호화부를 통해 복호화기로 전달될 수 있다.
양자화부는 신경망 구조 특징 추출부로부터 전달받은 신경망 특징을 통해 이전 계층이 배치 정규화 계층인지 여부를 확인할 수 있다. 균등 분포 양자화를 사용하는 경우, 균등 분포 양자화가 수행될 수 있다. 그렇지 않은 경우, 양자화부는 이전 계층이 배치 정규화 계층인지 여부를 확인할 수 있다.
이전 계층이 배치 정규화 계층인 경우, 가우시안 분포 양자화가 수행될 수 있다. 이전 계층이 배치 정규화 계층이 아닌 경우, 양자화부는 다음 계층이 합산 계층인지 여부를 확인할 수 있다. 만약 다음 계층이 합산 계층인 경우, 라플라스 분포 양자화가 수행될 수 있다. 다음 계층이 합산 계층이 아닌 다른 계층인 경우, 가우시안 분포 양자화가 수행될 수 있다.
도 11은 본 발명의 일 실시예로서, 균등 분포 양자화 프로세스를 예시하는 도면이다.
도 11을 참조하면, 균등 분포 양자화가 수행되는 경우, 양자화부(또는, 부호화 장치, 부호화부)는 균등 분포 정규화, 균등 분포 양자화, 비트 깊이 클리핑을 수행할 수 있다. 도 11에 도시된 단계의 순서는 변경될 수 있고, 일부 단계가 생략되거나 다른 단계가 추가될 수 있다.
실시예로서, 균등 분포 정규화는 다음의 수학식 1과 같이 수행될 수 있다.
Figure PCTKR2021016998-appb-img-000001
여기서, f, fmin, fmax, fnorm는 각각 특징맵 값, 특징맵 중 최소값, 특징맵 중 최대 값, 정규화된 특징맵 값을 나타낼 수 있다. 즉, 현재 특징맵이 균등 분포를 따르는 경우, 양자화부는 특징맵의 최소 값을 0으로 최대 값을 (1 << bitdepth) - 1로 매핑하여 선형적으로 정규화를 수행할 수 있다.
이후, 정규화된 특징맵은 아래 다음의 수학식 2를 통해 균등 분포 양자화될 수 있다.
Figure PCTKR2021016998-appb-img-000002
여기서, Qstep, level은 각각 양자화 크기, 양자화된 특징맵 값을 나타낼 수 있다. 또한, floor(_)은 버림 연산(또는, 함수)을 나타낼 수 있다. 이때, offsetU는 반올림을 위한 오프셋일 수 있다. 또는, 상술한 변수들은 분포에 맞는 양자화 구간 경계에 대한 정보일 수 있다. 예를 들어, fnorm이 3으로 양자화 되고, Qstep이 1, offset이 0.5인 경우, 양자화 구간은 [2.5, 3.5)일 수 있으며, 2.5, 3.5이 양자화 구간 경계가 될 수 있다. 즉, 양자화 구간은 [fnorm - offset, fnorm + offset -1]으로 결정될 수 있다.
다음으로, 비트 깊이 클리핑은 아래의 수학식 3을 통해 수행될 수 있다.
Figure PCTKR2021016998-appb-img-000003
여기서, Clip3(min, max, value) 함수는 입력으로 클리핑을 위한 최소값, 최대값, 입력 값을 입력 받아 입력 값을 출력하거나 입력 값이 최소값보다 작으면 최소값으로, 입력 값이 최댓값보다 크면 최댓값을 출력하는 함수를 나타낸다.
도 12는 본 발명의 일 실시예로서, 가우시안 분포 양자화 프로세스를 예시하는 도면이다.
도 12를 참조하면, 가우시안 분포 양자화가 수행되는 경우, 양자화부(또는, 부호화 장치, 부호화부)는 가우시안 분포 정규화, 가우시안 분포 양자화, 비트 깊이 클리핑을 수행할 수 있다. 도 12에 도시된 단계의 순서는 변경될 수 있고, 일부 단계가 생략되거나 다른 단계가 추가될 수 있다.
실시예로서, 가우시안 분포 정규화는 다음의 수학식 4와 같이 수행될 수 있다.
Figure PCTKR2021016998-appb-img-000004
여기서 f, μ, σ, fnorm는 각각 특징맵 값, 특징맵 평균, 특징맵 분산, 정규화된 특징맵 값을 의미할 수 있다.
이후, 정규화된 특징맵은 다음의 수학식 5를 통해 가우시안 분포 양자화될 수 있다.
Figure PCTKR2021016998-appb-img-000005
여기서, Qstep, offsetG, level은 각각 양자화 크기, 반올림을 위한 오프셋, 양자화된 특징맵 값을 의미할 수 있다. floor(_)은 버림 연산(또는, 함수)을 나타낼 수 있다. 그리고, offsetG는 반올림을 위한 오프셋일 수 있다. 또는, 상술한 변수들은 분포에 맞는 양자화 구간 경계에 대한 정보일 수 있다.
다음으로, 비트 깊이 클리핑이 수행될 수 있다. 예를 들어, 비트 깊이 클리핑은 앞서 설명한 수학식 3에 의해 수행될 수 있다.
도 13은 본 발명의 일 실시예로서, 라플라스 분포 양자화 프로세스를 예시하는 도면이다.
도 13을 참조하면, 라플라스 분포 양자화가 수행되는 경우, 양자화부(또는, 부호화 장치, 부호화부)는 라플라스 분포 정규화, 라플라스 분포 양자화, 비트 깊이 클리핑을 수행할 수 있다. 도 13에 도시된 단계의 순서는 변경될 수 있고, 일부 단계가 생략되거나 다른 단계가 추가될 수 있다.
실시예로서, 라플라스 분포 정규화는 아래의 수학식 6과 같이 수행될 수 있다.
Figure PCTKR2021016998-appb-img-000006
여기서 f, scale, fnorm는 각각 특징맵 값, 특징맵 스케일 값, 정규화된 특징맵 값을 의미할 수 있다.
이후, 정규화된 특징맵은 아래의 수학식 7을 통해 라플라스 분포 양자화될 수 있다.
Figure PCTKR2021016998-appb-img-000007
여기서, Qstep, level은 각각 양자화 크기, 양자화된 특징맵 값을 의미할 수 있다. 또한, floor(_)은 버림 함수(또는, 연산)을 의미할 수 있다. offsetG는 반올림을 위한 오프셋일 수 있다. 또는, 상술한 변수들은 분포에 맞는 양자화 구간 경계에 대한 정보일 수 있다.
다음으로, 비트 깊이 클리핑이 수행될 수 있다. 예를 들어, 비트 깊이 클리핑은 앞서 설명한 수학식 3에 의해 수행될 수 있다.
도 14는 본 발명의 일 실시예로서, 신경망의 특징맵을 복호화하는 신경망 특징맵 복호화부를 도시한다.
도 14를 참조하면, 신경망 특징맵 복호화부는 신경망의 특징맵을 복호화할 수 있다. 일 예로서, 신경망 특징맵 복호화부는 엔트로피 복호화부, 역변환양자화부(또는 역변환부), 역양자화부, 신경망구조 복호화부, 신경망구조 특징 추출부를 포함할 수 있다. 도 14에서 도시하는 신경망 특징맵 복호화부의 구성은 일 예로서, 일부 구성이 생략되거나 다른 구성을 더 포함하도록 구현될 수 있다.
실시예로서, 신경망 특징맵 복호화부는 부호화부로부터 전달받은 비트스트림을 복호화 하여 특징맵 및/또는, 신경망을 복원할 수 있다. 이때, 복원된 신경망은 다중 신경망 전체일 수도 있고, 일부 신경망일 수도 있다. 또는, 전송된 특징맵이 생성된 계층 이후의 전체 신경망일 수 있다.
엔트로피 복호화부는 입력 받은 비트스트림을 복호화 하여 변환양자화된 특징맵을 생성하고 역변환양자화부로 전달할 수 있다. 그리고 심볼화된 신경망 구조를 복원하여 신경망구조 복호화부로 전달할 수 있다. 역변환양자화부는 변환양자화된 특징맵을 역양자화 및 역변환하여 역양자화부 전달할 수 있다.
신경망 구조 복호화부는 엔트로피 복호화부로부터 전달받은 심볼화된 신경망 구조를 복호화 하여 신경망 구조를 복원할 수 있다. 복원된 신경망 구조는 신경망구조 특징 추출 단계로 전달될 수 있고되며, 신경망구조 특징 추출단계는 신경망 특징맵 부호화부에 포함된 단계와 동일할 수 있다.
신경망구조 특징 추출부는 복원된 신경망 구조로부터 전체 신경망 구조, 계층의 순서, 계층의 인덱스, 현재 특징맵 이전 또는, 이후의 유형 등 다양한 정보를 추출하여 역양자화부로 전달할 수 있다. 역양자화부는 전달받은 역변환양자화된(또는, 역변환된) 특징맵과 신경망 구조의 특징을 통해 적응적으로 또는, 선택적으로 역양자화를 수행할 수 있다. 여기서, 역양자화 단계는 이후 신경망에서 사용하는 데이터의 형식에 따라 특징맵의 데이터 형식을 변환할 수 있다.
신경망이 정수형 연산을 기반으로 되어 있다면, 역양자화 부에서는 정수형으로 복원을 하며, 부동 소수점 기반 신경망인 경우, 부동 소수점 기반으로 복원할 수 있다. 복원된 특징맵은 신경망의 입력이 될 수 있다.
도 15는 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 15를 참조하여 설명하는 본 실시예는 역양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 14에서 설명한 신경망 특징맵 복호화부의 역양자화부에서 수행될 수 있다.
실시예로서, 역양자화부는 현재 특징맵의 분포가 가우시안 분포 또는, 라플라스 분포를 따르는지 여부에 대한 정보를 엔트로피 복호화부로부터 전달받을 수 있다. 가우시안 분포를 따르는 경우, 가우시안 분포 역양자화가 수행될 수 있다. 그렇지 않은 경우, 역양자화부는 추가적으로 라플라스 분포를 따르는지 여부를 확인할 수 있다.
라플라스 분포를 따르는 경우, 라플라스 분포 양자화가 수행되고, 그렇지 않은 경우, 균등 분포 양자화가 수행될 수 있다.
도 16은 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 16을 참조하여 설명하는 본 실시예는 역양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 14에서 설명한 신경망 특징맵 복호화부의 역양자화부에서 수행될 수 있다.
실시예로서, 역양자화부는 신경망 구조 특징 추출부로부터 전달받은 신경망 특징을 통해 다음 계층이 합산 계층인지 여부를 확인할 수 있다. 다음 계층이 합산 계층인 경우, 라플라스 분포 역양자화가 수행될 수 있다. 만약 합산 계층이 아닌 다른 계층인 경우, 가우시안 분포 역양자화가 수행될 수 있다.
도 17은 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 17을 참조하여 설명하는 본 실시예는 역양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 14에서 설명한 신경망 특징맵 복호화부의 역양자화부에서 수행될 수 있다.
실시예로서, 역양자화부는 신경망 구조 특징 추출부로부터 전달받은 신경망 특징을 통해 이전 계층이 배치 정규화 계층인지 여부를 확인할 수 있다. 여기서, 이전 계층은 현재 부호화 하려는 특징맵이 생성된 계층을 의미할 수 있다. 이전 계층이 배치 정규화 계층인 경우, 가우시안 분포 역양자화가 수행될 수 있다.
이전 계층이 배치 정규화 계층이 아닌 경우, 역양자화부는 다음 계층이 합산 계층인지 여부를 확인할 수 있다. 만약 합산 계층인 경우, 라플라스 분포 역양자화가 수행될 수 있다. 합산 계층이 아닌 다른 계층인 경우, 가우시안 분포 역양자화가 수행될 수 있다.
도 18은 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 18을 참조하여 설명하는 본 실시예는 역양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 14에서 설명한 신경망 특징맵 복호화부의 역양자화부에서 수행될 수 있다.
실시예로서, 역양자화부는 먼저 균등 분포 역양자화를 사용할지 여부를 확인할 수 있다. 이때, 균등 분포 양자화를 사용할지 여부는 엔트로피 복호화부를 통해 전달받을 수 있다. 또는, 부호화부와 복호화부의 약속에 의해 결정될 수 있다. 또는, 특정 계층 인덱스에 따라서 결정될 수도 있다.
역양자화부는 신경망 구조 특징 추출부로부터 전달받은 신경망 특징을 통해 이전 계층이 배치 정규화 계층인지 여부를 확인할 수 있다. 균등 분포 역양자화를 사용하는 경우, 균등 분포 역양자화가 수행될 수 있고, 그렇지 않은 경우, 역양자화부는 이전 계층이 배치 정규화 계층인지 여부를 확인할 수 있다.
이전 계층이 배치 정규화 계층인 경우, 가우시안 분포 역양자화가 수행될 수 있다. 이전 계층이 배치 정규화 계층이 아닌 경우, 역양자화부는 다음 계층이 합산 계층인지 여부를 확인할 수 있다. 합산 계층인 경우, 라플라스 분포 역양자화가 수행될 수 있다. 합산 계층이 아닌 다른 계층인 경우, 가우시안 분포 역양자화가 수행될 수 있다.
도 19는 본 발명의 일 실시예로서, 균등 분포 역양자화 프로세스를 예시하는 도면이다.
도 19를 참조하면, 균등 분포 역양자화가 수행되는 경우, 역양자화부(또는, 복호화 장치, 복호화부)는 양자화 크기 스케일링, 비트 깊이 클리핑, 균등 분포 역정규화 과정을 수행할 수 있다. 도 19에 도시된 단계의 순서는 변경될 수 있고, 일부 단계가 생략되거나 다른 단계가 추가될 수 있다.
실시예로서, 양자화 크기 스케일링은 다음의 수학식 8을 통해 수행될 수 있다.
Figure PCTKR2021016998-appb-img-000008
여기서, level, Qstep, fdq는 각각 양자화된 특징 값, 양자화 크기, 역양자화된 특징 값을 의미할 수 있다.
역양자화된 특징 값은 다음의 수학식 9를 통해 비트 깊이 클리핑이 적용될 수 있다.
Figure PCTKR2021016998-appb-img-000009
클리핑된 특징 값은 이후 다음의 수학식 10을 통해 균등 분포 역정규화가 적용될 수 있다.
Figure PCTKR2021016998-appb-img-000010
여기서 f, fmin, fmax는 각각 복원된 특징맵 값, 특징맵 중 최소값, 특징맵 중 최대 값을 의미할 수 있다. 이때, fmin, fmax는 엔트로피 복호화부를 통해서 부호화부로부터 전달받을 수 있다.
도 20은 본 발명의 일 실시예로서, 가우시안 분포 역양자화 프로세스를 예시하는 도면이다.
도 20을 참조하면, 가우시안 분포 역양자화가 수행되는 경우, 역양자화부(또는, 복호화 장치, 복호화부)는 양자화 크기 스케일링, 비트 깊이 클리핑, 가우시안 분포 역정규화 과정을 수행할 수 있다. 도 20에 도시된 단계의 순서는 변경될 수 있고, 일부 단계가 생략되거나 다른 단계가 추가될 수 있다.
실시예로서, 양자화 크기 스케일링은 아래의 수학식 11을 통해 수행될 수 있다.
Figure PCTKR2021016998-appb-img-000011
여기서, level, Qstep, fdq는 각각 양자화된 특징 값, 양자화 크기, 역양자화된 특징 값을 의미할 수 있다.
역양자화된 특징 값은 아래의 수학식 12를 통해 비트 깊이 클리핑이 적용될 수 있다.
Figure PCTKR2021016998-appb-img-000012
클리핑된 특징 값은 이후 아래의 수학식 13을 통해 균등 분포 역정규화가 될 수 있다.
Figure PCTKR2021016998-appb-img-000013
f, μ, σ는 각각 복원된 특징맵 값, 특징맵 평균, 특징맵 분산 값을 의미할 수 있다. 이때, μ, σ는 엔트로피 복호화부를 통해서 부호화부로부터 전달받을 수 있다.
도 21은 본 발명의 일 실시예로서, 라플라스 분포 역양자화 프로세스를 예시하는 도면이다.
도 21을 참조하면, 라플라스 분포 역양자화가 수행되는 경우, 역양자화부(또는, 복호화 장치, 복호화부)는 양자화 크기 스케일링, 비트 깊이 클리핑, 라플라스 분포 역정규화 과정을 수행할 수 있다. 도 21에 도시된 단계의 순서는 변경될 수 있고, 일부 단계가 생략되거나 다른 단계가 추가될 수 있다.
실시예로서, 양자화 크기 스케일링은 아래의 수학식 14를 통해 수행될 수 있다.
Figure PCTKR2021016998-appb-img-000014
여기서, level, Qstep, fdq는 각각 양자화된 특징 값, 양자화 크기, 역양자화된 특징 값을 의미할 수 있다.
그리고, 역양자화된 특징 값은 아래의 수학식 15를 통해 비트 깊이 클리핑이 적용될 수 있다.
Figure PCTKR2021016998-appb-img-000015
클리핑된 특징 값은 이후, 아래의 수학식 16을 통해 균등 분포 역정규화가 될 수 있다.
Figure PCTKR2021016998-appb-img-000016
여기서, f, scale는 각각 복원된 특징맵 값, 특징맵 스케일 값을 의미할 수 있다. 이때, scale는 엔트로피 복호화부를 통해서 부호화부로부터 전달받을 수 있다.
도 22는 본 발명의 일 실시예로서, 신경망 구조 특징 추출부를 통하여 추출되는 신경망 구조를 설명하기 위한 도면이다.
본 발명의 일 실시예에서, 신경망 구조 특징 추출부는 도 6 및 도 14에서 설명한 신경망 구조 특징 추출부일 수 있다. 전술한 바와 같이, 신경망 구조 특징 추출부를 통하여 신경망 구조가 추출될 수 있으며, 추출된 특징은 특징맵 부호화 과정에 사용될 수 있다.
실시예로서, 신경망은 N개의 레이어를 가질 수 있으며, 데이터가 입력되면, 마지막 레이어를 제외한 모든 레이어에서 특징맵이 생성될 수 있다. 이때, 생성된 특징맵은 N-1개 또는, 미만의 개수로 생성될 수 있다. 각각의 레이어는 서로 다른 유형일 수 있다. 또한, 특정 유형 패턴의 레이어가 연속적으로 연결될 수 있다. 예를 들어, 합성곱 계층, 오프셋 합산 계층, 활성화 계층이 반복적으로 연결될 수 있다. 여기서, 레이어의 유형은 합성곱 계층, 오프셋 합산 계층, 샘플링 계층, 배치 정규화 계층, 활성화 계층, 합산 계층, 풀링 계층 중 적어도 하나 일 수 있다.
도 23은 본 발명의 일 실시예로서, 신경망 구조가 신경망 구조 특징 추출부의 입력으로 사용되어 신경망 구조 특징 추출부를 통하여 출력되는 다양한 정보들의 일 예를 개념적으로 도시한 도면이다.
본 실시예에서, 신경망 구조는 앞서 도 22에서 설명한 신경망 구조일 수 있다. 신경망 구조 특징 추출부는 도 6 및 도 14에서 설명한 신경망 구조 특징 추출부일 수 있다. 신경망 구조 추출부는 입력 받은 신경망 구조에 대하여, 현재 특징맵이 출력되는 n 번째 레이어, 현재 특징맵이 입력되는 n+1 레이어의 유형을 추출할 수 있다.
그리고, 신경망 구조 추출부는 n번째 레이어의 유형이 배치 정규화 계층인지 여부에 대하여 확인할 수 있다. 만약 배치 정규화 계층인 경우, 배치 정규화에 사용되는 파라미터를, 부호화부는 양자화 계층으로 전달할 수 있다. 또는, 복호화부는 배치 정규화 파라미터들을 역양자화기로 전달할 수 있다.
신경망 구조 추출부는 n+1번째 레이어의 유형이 합산 계층인지 여부에 대하여 확인할 수 있다. 만약 합산 계층인 경우, 합산 계층 여부에 대한 정보를 양자화부 또는, 역양자화부로 전달할 수 있다. 또한, 몇 번째 레이어와 합산을 수행하는 것인지에 대한 레이어 인덱스와 합산 유형에 대하여 양자화부로 전달할 수 있다. 예를 들어, 합산 레이어는 추가(addition) 레이어, 연쇄(concatenation) 레이어 중 적어도 하나 일 수 있다.
본 발명의 일 실시예에서는, 신경망의 특징맵의 효율적인 압축을 위하여 특징맵 분석을 통해 적응적으로 특징맵을 양자화하는 방법 및 장치를 제안한다. 보다 상세하게는 효율적인 특징맵 압축을 위하여 특징맵 채널 중 중요도를 판단하여 중요도에 따라 양자화 크기를 다르게 적용하는 양자화 방법 및 장치를 제안한다.
신경망의 중간 결과물인 특징맵은 채널별로 서로 다른 특징을 의미할 수 있다. 또한, 각각의 특징은 이후 신경망을 통해 예측되는 최종 예측에 끼치는 영향 또한 서로 다를 수 있다. 따라서, 특징맵의 채널 중 최종 예측에 영향을 많이 주는 채널, 영향이 적은 채널을 분류하여 분류된 결과를 이용하여 양자화 크기를 채널별로 적응적으로 조절함으로써, 특징맵 압축의 부호화 효율을 향상시키고자 한다.
도 24는 본 발명의 일 실시예로서, 신경망의 특징맵을 부호화하는 신경망 특징맵 부호화부를 예시하는 도면이다.
도 24를 참조하면, 신경망 특징맵 부호화부는 다중 신경망으로부터 생성된 신경망의 특징맵을 부호화할 수 있다. 일 예로서, 신경망 특징맵 부호화부는 특징맵 분류부, 양자화부, 변환 양자화부(또는 변환부), 엔트로피 부호화부, 신경망 구조 특징 추출부, 신경망 구조 부호화부를 포함할 수 있다. 도 24에서 도시하는 신경망 특징맵 부호화부의 구성은 일 예로서, 일부 구성이 생략되거나 다른 구성을 더 포함하도록 구현될 수 있다. 본 실시예를 설명함에 있어 앞서 도 6의 설명과 중복되는 부분은 생략한다.
다중 신경망은 다수의 신경망으로 구성될 수 있으며, 각각의 신경망은 직렬 또는, 병렬로 연결될 수 있다. 또는, 하나의 데이터에 대하여 다중 신경망 구조 중 일부는 직렬로 연결되고 나머지는 병렬로 연결될 수 있다. 연속적인 신경망 연결에서 중간 결과물(또는, 출력)인 특징맵이 생성될 수 있다.
신경망이 직렬로 연결된 경우에는, 하나의 특징맵이 생성될 수 있다. 그리고, 신경망이 병렬로 연결되어 있는 경우에는, 하나 이상의 다수개의 특징맵이 생성될 수 있다. 상기 다수개의 특징맵은 각각 크기가 동일할 수도 있고, 서로 상이할 수도 있다.
실시예로서, 다중 신경망의 결과물(또는, 중간 결과물)인 하나 이상의 특징맵은 신경망 특징맵 부호화부를 통해 압축되어 복호화부로 전송되거나 저장 장치에 저장될 수 있다. 특징맵 분류부는 입력받은 특징맵을 분류하여 양자화부로 분류된 특징맵을 전달할 수 있다. 그리고, 특징맵 분류부에서 생성된 분류 정보는 엔트로피 부호화부를 통해 복호화기로 전송될 수 있다.
여기서, 분류 정보는 특징맵의 채널에 따른 분류 인덱스, 공간적 위치에 따른 분류 인덱스, 공간적 마스크에 대한 분류 인덱스 등 일 수 있다. 특징맵 분류부에서 분류된 특징맵들은 양자화부로 전달될 수 있다. 양자화부는 입력 받은 분류된 특징맵을 분류 인덱스에 따라서 개별적으로 양자화를 진행하여 양자화된 특징맵을 생성할 수 있다. 생성된 양자화된 특징맵은 변환양자화부로 전달될 수 있다.
변환 양자화부는 전달받은 양자화된 특징맵을 부호화를 위하여 변환 양자화(또는 변환)를 수행할 수 있다. 여기서, 변환 양자화에서의 양자화는 율(rate) 제어를 위한 양자화를 의미할 수 있다. 변환 양자화부에서는 특징맵을 분류 인덱스 별로 재구성하여 2차원 데이터로 변환하거나, 1차원 데이터로 형태를 변환할 수 있다. 또는, 일반적인 이미지, 비디오 부호화에 사용되는 주파수 도메인 변환이 적용될 수 있다. 주파수 도메인으로 변환 후 율 제어를 위하여 양자화하여 양자화된 계수는 엔트로피 부호화부로 전달될 수 있다.
도 25는 본 발명의 일 실시예에 따른 특징맵 분류부를 예시하는 도면이다.
도 25를 참조하면, 특징맵은 (넓이 H, 높이 W, 채널 C)의 크기를 가질 수 있다. 이러한 특징맵은 N개의 클래스로 특징맵 분류부에 의해 분류될 수 있다. 특징맵 분류부는 앞서 도 24에서 설명한 구성일 수 있다. 또한, 특징맵 분류부는 클래스별로 원본 텐서의 채널 인덱스를 리스트의 형태로 저장 및 관리할 수 있다. 또한, 채널 인덱스 정보는 양자화 및 역양자화를 위하여 엔트로피 부호화부를 통해서 복호화기로 전송될 수 있다.
실시예로서, 특징맵 분류부는 특징맵을 채널별로 분류함에 있어서, 채널간 유사도를 사용하여 분류할 수 있다. 대부분의 특징맵은 입력 이미지의 공간적 구조적 특징을 유지하면서 특징 값을을 추출하기 때문에 채널 별 특징 값의 크기는 다르지만 채널간 유사도가 높은 채널들의 집합이 존재할 수 있다.
따라서, 특징맵 분류부는 채널간 유사도를 이용한 k-수단(k-means) 알고리즘과 같은 머신러닝 기반의 분류 방법 또는 딥러닝 기반의 분류 방법을 이용하여 채널들을 분류할 수 있다. 이때, 사용하는 알고리즘에 따라서 분류되는 개수가 동일할 수 있다. 또는, 클래스 별로 서로 다른 수의 가질 수 있으며, 이러한 경우 각 리스트별 개수 정보가 복호화기로 전달될 수 있다.
도 26은 본 발명이 적용되는 일 실시예에 따른 특징맵 분류부를 예시하는 도면이다.
도 26을 참조하면, (넓이, 높이, 채널)의 크기를 가지는 특징맵은 특정 공간 영역을 분류하여 클래스로 분류될 수 있다. 분류된 위치 정보는 클래스 인덱스 맵과 같은 형태로 엔트로피 부호화를 통해 복호화기로 전달될 수 있다. 특징맵 분류부는 입력된 이미지, 비디오에서 분류를 하고, 분류된 결과를 특징에 반영하여 동일한 위치에 분류 결과를 적용할 수 있다.
또한, 입력 이미지와 특징맵의 공간적 해상도가 다를 수 있기 때문에, 특징맵 분류부는 리샘플링을 통해 동일한 해상도로 변경하여 해상도 차이를 반영할 수 있다. 또는, 특징맵은 특정 크기를 가지는 블록 단위로 분류될 수 있다. 블록 단위로 분류되는 경우, 블록의 분할 정보, 분할 깊이, 클래스 인덱스등이 엔트로피 부호화부를 통해 복호화기로 전송될 수 있다.
도 27은 본 발명이 적용되는 일 실시예에 따른 특징맵 분류부를 예시하는 도면이다.
도 27을 참조하면, (넓이, 높이, 채널)의 크기를 가지는 특징맵은 특정 공간 영역을 분류하여 클래스로 분류될 수 있다. 분류된 위치 정보는 클래스 인덱스 맵과 같은 형태로 엔트로피 부호화를 통해 복호화기로 전달될 수 있다. 특징맵 분류부는 입력된 이미지, 비디오에서 분류를 하고, 분류된 결과를 특징에 반영하여 동일한 위치에 분류 결과를 적용할 수 있다.
특징맵 분류부는 특징맵을 공간적으로 블록으로 분할하고, 각 블록별 클래스 인덱스를 매핑하여 특징맵을 분류할 수 있다. 블록 분할의 경우는 4분할, 2분할, 3분할될 수 있다. 또한, 대각선 분할도 될 수 있으며 대각선 분할의 결과 또한 하나의 블록이라고 할 수 있다. 또는, 3차원 데이터 자체를 8분할, 4분할 등 다양한 방향으로 특징맵이 분할될 수도 있다. 블록 분할은 여러 계층으로 분할될 수 있다. 블록의 분할 정보, 분할 깊이, 클래스 인덱스 등이 엔트로피 부호화부를 통해 복호화기로 전송될 수 있다.
도 28은 본 발명의 일 실시예에 따른 특징맵의 양자화 흐름도를 도시하는 도면이다.
도 28을 참조하여 설명하는 본 실시예는 양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 24에서 설명한 신경망 특징맵 부호화부의 양자화부에서 수행될 있다.
본 발명의 일 실시예에 따르면, 양자화부는 부분 양자화를 수행할지 여부를 판단하고, 판단 결과에 따라, 전체 양자화 또는 부분 양자화를 수행할 수 있다. 일 예로서, 부분 양자화 수행 여부에 대한 판단은 사용자로부터 입력 받을 수 있다. 또는, 양자화부는 신경망의 기능에 따라서 부분 양자화 수행 여부를 판단할 수 있다. 예를 들어, 신경망의 기능이 이미지 또는 비디오를 분할하는 기능을 갖는 경우, 양자화부는 부분 양자화를 수행할 수 있다. 또는, 신경망의 기능이 이미지 또는 비디오 내의 객체의 위치를 예측하는 기능을 갖는 경우, 부분 양자화가 수행될 수 있다.
또는, 신경망의 기능이 비디오 내의 객체를 추적하는 기능을 갖는 경우, 부분 양자화가 수행될 수 있다. 부분 양자화 수행 여부에 대한 정보는 엔트로피 부호화부를 통해 복호화기로 전달될 수 있다. 또는, 신경망의 기능에 대한 정보가 전달되는 경우, 부호화기와 복호화기에서 각각 신경망 기능 정보를 통해 결정할 수 있다. 또는, 신경망의 기능에 따라 양자화 방식이 부호화기와 복호화기에 미리 정의될 수 있다.
도 29는 본 발명의 일 실시예에 따른 특징맵의 부분 양자화 흐름도를 도시하는 도면이다.
도 29를 참조하여 설명하는 본 실시예는 양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 24에서 설명한 신경망 특징맵 부호화부의 양자화부에서 수행될 수 있다.
실시예로서, 양자화부는 채널 양자화 수행 여부를 확인할 수 있다. 수행 여부에 대한 정보는 부호화기 사용자로부터 입력받을 수 있다. 또는, 수행 여부에 대한 정보는 상위 단계에서 결정된 정보에 의해 결정될 수 있다. 여기서, 채널 양자화 수행 여부에 대한 정보는 엔트로피 부호화부를 통해 복호화기로 전달될 수 있다.
실시예로서, 채널 양자화를 수행하는 경우, 채널 특징 추출이 수행될 수 있다. 채널 특징 추출 단계에서 양자화부는 특징맵의 채널간 특징을 추출할 수 있다. 이때, 채널간 특징은 채널에 포함된 값의 평균 값일 수 있다. 또는, 채널간 특징은 분산 값일 수 있다. 또는, 채널간 특징은 다른 신경망을 통해 추출된 특징일 수 있다. 또는, 채널간 특징은 구조적 복잡도일 수 있다. 추출된 특징은 특징맵 채널 분류 단계로 전달될 수 있다.
실시예로서, 특징맵 채널 분류 단계에서 전달받은 특징들을 이용하여 채널들이 분류될 수 있다. 분류된 클래스의 개수는 기존 특징맵의 채널의 수보다 작거나 같을 수 있다. 특징맵 채널 분류 단계에서 특징맵 채널을 채널 별 특징들의 유사도를 기반으로 분류될 수 있다. 채널별로 추출된 하나 이상의 특징들을 일차원 벡터로 결합되고, 채널 특징 벡터간 유사도를 기반으로 k-수단(k-means) 알고리즘과 같은 분류 알고리즘을 통해 K개의 클래스로 분류될 수 있다. 그리고, 분류된 채널 정보는 채널 병합 및 분할 단계로 전달될 수 있다.
채널 병합 및 분할 단계에서, 하나의 클래스에 포함된 채널수가 너무 적을 경우 부호화 효율을 감소시킬 수 있기 때문에, 하나 이상의 클래스는 다른 클래스와 병합하여 하나의 클래스로 구성 수 있다. 또는, 하나의 클래스에 너무 많은 채널이 포함되어 있는 경우 채널 분할이 수행될 수 있다.
최종적으로 구성된 클래스별 채널 정보는 채널 양자화 단계로 전달될 수 있다. 채널 양자화 단계에서는 위 단계에서 분류된 클래스에 따른 서로 다른 양자화 방법을 적용하여 특징맵 양자화를 수행할 수 있다. 이때, 서로 다른 양자화 방법이란, 양자화 단계가 다름을 나타낼 수 있다. 또는, 서로 다른 양자화 방법이란, 양자화된 값의 비트 깊이가 다름을 나타낼 수 있다. 또는, 서로 다른 양자화 방법이란, 양자화를 위하여 서로 다른 비선형 매핑 함수가 사용됨을 나타낼 수 있다. 채널 양자화 수행 여부를 확인하는 단계에서 채널 양자화를 수행하지 않는 것으로 결정된 경우, 영역 양자화 수행 여부가 확인될 수 있다.
영역 양자화 수행 여부에 대한 정보는 부호화기 사용자로부터 입력받을 수 있다. 또는, 영역 양자화 수행 여부에 대한 정보는 상위 단계에서 결정된 정보에 의해 결정될 수 있다. 여기서, 채널 양자화 수행 여부에 대한 정보는 엔트로피 부호화부를 통해 복호화기로 전달될 수 있다.
만약 영역 양자화를 수행하기로 결정된 경우, 영역 특징 추출 단계가 수행될 수 있다. 영역 양자화를 수행하지 않기로 결정된 경우, 블록 양자화를 위하여 블록 특징 추출 단계가 수행될 수 있다. 영역 특징 추출 단계에서 양자화부는 입력 받은 특징맵을 공간적 위치별로 특징을 추출하고 추출된 특징들을 영역 특징 분류 단계로 전달할 수 있다. 영역 특징 분류 단계에서 양자화부는 입력 받은 공간적인 특징들을 기반으로 영역을 분류할 수 있다. 이때, 분류된 영역은 특징맵의 전체 채널에서 공유하여 사용될 수 있다. 그리고, 분류된 영역들은 영역 병합 및 분할 단계로 전달될 수 있다.
실시예로서, 영역 병합 및 분할 단계는 분할된 영역들에 대하여 클래스 수, 영역의 크기, 넓이, 높이, 픽셀 수 등을 기반으로 병합 및 분할이 수행되어 최종 영역이 결정될 수 있다. 최종 결정된 영역들은 영역 양자화 단계로 전달될 수 있다. 또한, 영역 양자화 단계는 전달받은 분류된 영역에 따라서 서로 다른 양자화 방법이 적용될 수 있다. 블록 특징 추출 단계는 전달받은 특징맵을 특정 블록 크기 단위로 특징들이 추출될 수 있다. 이때, 블록이란 3차원 공간상의 데이터인 큐브를 의미할 수 있으며, 텐서로 지칭될 수도 있다. 즉, 블록은 특징맵을 더 작은 단위로 분할한 단위 데이터일 수 있다.
다음으로, 추출된 특징들은 블록 특징 분류 단계로 전달될 수 있다. 블록 특징 분류 단계에서, 양자화부는 전달받은 단위 블록의 특징들을 이용하여 블록들을 분류할 수 있다. 분류된 클래스들을 이용하여 서로 다른 너비, 높이, 깊이를 가지는 블록으로 병합 및 분할이 수행될 수 있다. 여기서, 병합 및 분할된 블록들의 분할 정보는 엔트로피 부호화부를 통해 복호화기로 전달될 수 있다. 이때, 분할 정보는 계층적으로 존재할 수 있으며, 8분할, 4분할, 2분할 등 다양한 구조의 트리 구조로 분할 될 수 있다.
또는, 병합 및 분할된 블록들의 클래스 정보는 분류 맵의 형태로 엔트로피 부호화부를 통해 복호화기로 전달될 수 있다. 이때, 분류 맵의 값들은 클래스의 인덱스를 의미할 수 있다. 그리고, 엔트로피 부호화를 위하여 양자화부는 현재 블록의 주변 블록들을 이용하여 예측치와 현재블록의 인덱스 차이를 부호화하여 엔트로피 부호화부로 전달할 수 있다.
최종적으로 다양한 크기의 블록 단위로 가지는 클래스 정보를 이용하여 서로 다른 양자화 방법이 적용될 수 있다. 여기서, 서로 다른 양자화 방법이란, 양자화 크기가 다름을 나타낼 수 있다. 또는, 오프셋 값, 스케일 값, 벡터 양자화, 스칼라 양자화 등 다양한 방법들이 클래스 별로 적용될 수 있다. 각 클래스별 양자화 방법에 관련된 정보는 엔트로피 부호화부를 통해서 복호화기로 전송될 수 있다.
도 30은 본 발명의 일 실시예에 따른 특징맵의 부분 양자화 흐름도를 도시하는 도면이다.
도 30을 참조하여 설명하는 본 실시예는 양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 24에서 설명한 신경망 특징맵 부호화부의 양자화부에서 수행될 수 있다. 앞서 도 28 및 도 29에서 설명한 방법이 본 실시예에 적용될 수 있으며, 관련하여 중복되는 설명은 생략한다.
실시예로서, 양자화부는 입력 받은 특징맵을 분류하고 분류된 특징맵을 이용하여 양자화 방법에 대한 정보를 하나 또는 하나 이상 추출할 수 있다. 여기서, 추출된 정보에 부분 양자화 여부에 대한 정보가 포함될 수 있다. 부분 양자화가 사용되지 않는 경우, 전체 양자화가 수행될 수 있다. 그렇지 않은 경우, 부분 양자화가 수행될 수 있다. 부분 양자화 관련 정보는 엔트로피 부호화부를 통해 복호화기로 전달될 수 있다.
도 31은 본 발명의 일 실시예에 따른 특징맵의 부분 양자화 흐름도를 도시하는 도면이다.
도 31을 참조하여 설명하는 본 실시예는 양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 24에서 설명한 신경망 특징맵 부호화부의 양자화부에서 수행될 수 있다. 앞서 도 28 내지 도 30에서 설명한 방법이 본 실시예에 적용될 수 있으며, 관련하여 중복되는 설명은 생략한다.
실시예로서, 입력 받은 특징맵을 분류하고 분류된 특징맵을 이용하여 양자화 방법에 대한 정보를 하나 또는 하나 이상 추출할 수 있다. 여기서, 추출된 정보에 채널 양자화 여부에 대한 정보가 포함될 수 있다. 채널 양자화에 대한 정보가 포함되어 있다면, 채널별 특징들이 추가로 포함되어 있을 수 있다.
또한, 추출된 정보에 영역 양자화 여부에 대한 정보가 포함될 수 있다. 만약 영역 양자화를 수행하는 경우, 공간적인 영역에 대한 특징들에 대한 정보가 포함되어 있을 수 있다. 영역에 대한 특징들을 이용하여 양자화부는 영역 병합 및 분할을 수행할 수 있다.
또한, 영역 양자화가 수행되지 않는 경우, 블록 단위 특징들이 포함되어 있을 수 있으며, 이를 이용하여 블록 병합 및 분할이 수행될 수 있다. 블록 분할에 대한 정보는 엔트로피 부호화부를 통해 복호화기로 전달될 수 있다.
도 32는 본 발명의 일 실시예에 따른 신경망 특징맵 복호화부의 블록도를 도시한다.
도 32를 참조하면, 신경망 특징맵 복호화부는 신경망의 특징맵을 복호화할 수 있다. 일 예로서, 신경망 특징맵 복호화부는 엔트로피 복호화부, 역변환 양자화부(또는 역변환부), 특징맵 분할부, 역양자화부를 포함할 수 있다. 도 32에서 도시하는 신경망 특징맵 복호화부의 구성은 일 예로서, 일부 구성이 생략되거나 다른 구성을 더 포함하도록 구현될 수 있다.
실시예로서, 신경망 특징맵 복호화부는 부호화기로부터 전달받은 비트스트림을 복호화 하여 복원된 특징맵을 생성할 수 있다. 여기서, 신경망은 부호화기 및 복호화기간 약속에 의해 사용되는 신경망일 수 있다. 또는, 신경망을 부/복호화기를 통해 복원된 신경망의 전체 또는 일부일 수 있다.
엔트로피 복호화부는 입력 받은 비트스트림을 복호화하여 변환 양자화된 특징맵을 복원하여 역변환 양자화부로 전달할 수 있다. 또한, 엔트로피 복호화부는 특징맵 분류 정보를 복원하여 역변환 양자화부 및 역양자화부로 전달할 수 있다. 역변환 양자화부는 변환 양자화된 특징맵을 역양자화 및 역변환하여 역양자화부로 전달할 수 있다.
역양자화부는 엔트로피 복호화부로부터 전달받은 분류 정보를 통해 분류에 따른 개별적인 역양자화를 수행할 수 있다. 역양자화된 특징맵은 최종적으로 신경망에 전달될 수 있다.
도 33은 본 발명의 일 실시예에 따른 특징맵의 역양자화 흐름도를 도시하는 도면이다.
도 33을 참조하여 설명하는 본 실시예는 역양자화부에서 수행되는 프로세스의 일 예일 수 있다. 예를 들어, 본 실시예는 앞서 도 32에서 설명한 신경망 특징맵 복호화부의 역양자화부에서 수행될 수 있다.
실시예로서, 역양자화부는 전달받은 특징맵과 역양자화 방법에 관련된 정보를 엔트로피 복호화기로부터 전달받을 수 있다. 이때, 역양자화 관련 정보는 전체 역양자화 수행 여부 정보를 포함할 수 있다. 또한, 역양자화 관련 정보는 채널 역양자화 수행 여부 정보를 포함할 수 있다. 이때, 채널 역양자화 수행 여부 정보가 포함된 경우, 역양자화 관련 정보는 추가적으로 채널별 특징맵 분류에 관련된 정보를 추가적으로 포함할 수 있고, 이때, 역양자화에 사용되는 양자화 단계, 오프셋 등에 관련된 정보를 포함할 수 있다.
또한, 역양자화 관련 정보는 영역 역양자화 수행 여부 정보를 포함할 수 있다. 이때, 영역 역양자화 수행 여부 정보가 포함된 경우, 추가적으로 영역 분할에 사용되는 정보가 추가적으로 포함될 수 있다. 예를 들어, 분류맵의 형태로 부호화부로부터 엔트로피 복호화기를 통해 전달받을 수 있다. 또한, 역양자화에 사용되는 양자화 단계, 오프셋 등에 관련된 정보를 포함할 수 있다.
먼저, 역양자화부는 전체 역양자화 수행 여부에 대하여 확인할 수 있다. 전체 역양자화를 수행하는 것으로 결정된 경우, 전체 역양자화가 수행될 수 있다. 전체 역양자화는 전체 특징맵에 대하여 동일한 역양자화 방법을 수행할 수 있다. 이때, 역양자화를 위해 필요한 양자화 단계, 오프셋, 스케일링 값 등은 엔트로피 복호화기로부터 전달받을 수 있다. 또는, 엔트로피 복호화기로부터 전달받은 값에 따라 미리 정해진 세트가 사용될 수 있다.
만약, 전체 역양자화가 수행되지 않는 것으로 결정된 경우, 역양자화 관련 정보는 채널 역영자화 수행 여부를 확인할 수 있다. 채널 역양자화를 수행하는 것으로 결정된 경우, 특징맵 채널 분할 단계로 특징맵이 전달될 수 있다. 특징맵 채널 분할 단계에서 역양자화부는 전달받은 채널 분할 정보를 통해 채널을 분할하여 채널 역양자화 단계로 분할된 특징맵을 전달할 수 있다.
채널 역양자화가 수행되지 않는 것으로 결정된 경우, 역양자화부는 영역 역양자화 수행 여부를 확인할 수 있다. 영역 역양자화가 수행되는 것으로 결정된 경우, 전달받은 특징맵은 특징맵 영역 분할 단계로 전달될 수 있다. 특징맵 영역 분할 단계에서, 역양자화부는 전달받은 특징맵과 엔트로피 부호화부로부터 전달받은 영역 분할 정보를 이용하여 특징맵을 다수개의 영역으로 분할할 수 있다. 그리고, 분할된 특징맵은 영역 역양자화 단계로 전달될 수 있다.
또한, 영역 역양자화 단계에서 역양자화부는 각 영역별로 서로 다른 양자화 방법을 수행할 수 있다. 영역 역양자화가 수행되지 않는 것으로 결정된 경우, 특징맵 블록 분할 단계가 수행될 수 있다. 특징맵 블록 분할 단계에서 역양자화부는 엔트로피 복호화부로부터 전달받은 블록 분할 정보를 통해 특징맵을 다양한 크기 및 형태로 분할하고 각 블록마다 클래스 정보를 전달받아, 클래스에 따른 양자화 방법을 적용할 수 있다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는, 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는, 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는, 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는, 다른 실시예의 대응하는 구성 또는, 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는, 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는, 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는, 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는, 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.
또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명은 신경망 기반 양자화 방법 및 장치에 이용될 수 있다.

Claims (10)

  1. 신경망 기반의 신호 처리 방법에 있어서,
    복수의 신경망을 포함하는 다중 신경망을 이용하여 특징맵(feature map)을 생성하는 단계; 및
    상기 특징맵에 대하여 양자화를 수행하는 단계를 포함하되,
    상기 양자화는 상기 다중 신경망의 구조 또는 상기 특징맵의 속성(attribute)에 기초하여 수행되는, 신경망 기반 신호 처리 방법.
  2. 제1항에 있어서,
    상기 특징맵의 속성은 상기 특징맵 내 샘플 값들의 분포 유형을 포함하고, 그리고,
    상기 양자화는 상기 분포 유형에 맵핑되는 양자화 방법에 의해 수행되는, 신경망 기반 신호 처리 방법.
  3. 제2항에 있어서,
    상기 분포 유형은 정규 분포, 가우시안 분포 또는 라플라스 분포 중 적어도 하나를 포함하는, 신경망 기반 신호 처리 방법.
  4. 제2항에 있어서,
    상기 양자화를 수행하는 단계는,
    상기 분포 유형에 맵핑되는 정규화 방법으로 상기 특징맵 내 샘플 값들에 대한 정규화를 수행하는 단계를 포함하는, 신경망 기반 신호 처리 방법.
  5. 제1항에 있어서,
    상기 다중 신경망의 구조는 상기 다중 신경망의 직렬 연결 여부, 상기 다중 신경망의 병렬 연결 여부, 상기 다중 신경망의 직렬 및 병렬 연결 여부 또는 상기 특징맵이 생성된 현재 계층에 인접하는 계층의 유형 중 적어도 하나를 포함하는, 신경망 기반 신호 처리 방법.
  6. 제5항에 있어서,
    상기 양자화는 상기 인접하는 계층의 유형에 맵핑되는 양자화 방법에 의해 수행되고, 그리고,
    상기 계층의 유형은 배치 정규화 계층 또는 합산 계층 중 적어도 하나를 포함하는, 신경망 기반 신호 처리 방법.
  7. 제1항에 있어서,
    상기 특징맵을 복수의 클래스로 분류하는 단계를 더 포함하고, 그리고,
    상기 특징맵의 속성은 상기 특징맵의 클래스를 포함하는, 신경망 기반 신호 처리 방법.
  8. 제7항에 있어서,
    상기 특징맵은 복수의 채널을 포함하고,
    상기 특징맵은 상기 복수의 채널간 유사성에 기초하여 하나 이상의 채널을 포함하는 상기 복수의 클래스로 분류되는, 신경망 기반 신호 처리 방법.
  9. 제7항에 있어서,
    상기 특징맵은 입력 이미지의 공간적 유사성에 기초하여 공간적으로 분류되는, 신경망 기반 신호 처리 방법.
  10. 신경망 기반의 신호 처리 장치에 있어서,
    상기 신호 처리 장치를 제어하는 프로세서; 및
    상기 프로세서와 결합되고, 데이터를 저장하는 메모리를 포함하되,
    상기 프로세서는,
    복수의 신경망을 포함하는 다중 신경망을 이용하여 특징맵(feature map)을 생성하고, 그리고,
    상기 특징맵에 대하여 양자화를 수행하되,
    상기 양자화는 상기 다중 신경망의 구조 또는 상기 특징맵의 속성(attribute)에 기초하여 수행되는, 신경망 기반 신호 처리 장치.
PCT/KR2021/016998 2020-11-18 2021-11-18 신경망 특징맵 양자화 방법 및 장치 WO2022108361A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180084852.1A CN116746149A (zh) 2020-11-18 2021-11-18 神经网络特征图量化方法和装置
US18/253,381 US20230421764A1 (en) 2020-11-18 2021-11-18 Neural network feature map quantization method and device
KR1020237020605A KR20230107869A (ko) 2020-11-18 2021-11-18 신경망 특징맵 양자화 방법 및 장치

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2020-0154765 2020-11-18
KR10-2020-0154766 2020-11-18
KR20200154766 2020-11-18
KR20200154765 2020-11-18

Publications (1)

Publication Number Publication Date
WO2022108361A1 true WO2022108361A1 (ko) 2022-05-27

Family

ID=81709506

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/016998 WO2022108361A1 (ko) 2020-11-18 2021-11-18 신경망 특징맵 양자화 방법 및 장치

Country Status (3)

Country Link
US (1) US20230421764A1 (ko)
KR (1) KR20230107869A (ko)
WO (1) WO2022108361A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024025386A1 (ko) * 2022-07-28 2024-02-01 한국전자기술연구원 표준 정규분포 기반 양자화 기법을 이용한 딥러닝 네트워크 부호화/복호화 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190014900A (ko) * 2017-08-04 2019-02-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
KR20190054454A (ko) * 2017-11-13 2019-05-22 삼성전자주식회사 인공 신경망의 양자화 방법 및 장치
KR20190125141A (ko) * 2018-04-27 2019-11-06 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
US20200143169A1 (en) * 2018-11-01 2020-05-07 Microsoft Technology Licensing, Llc Video recognition using multiple modalities
KR20200110613A (ko) * 2019-03-15 2020-09-24 삼성전자주식회사 정리 및 양자화 공동 실행 심층 신경망

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190014900A (ko) * 2017-08-04 2019-02-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
KR20190054454A (ko) * 2017-11-13 2019-05-22 삼성전자주식회사 인공 신경망의 양자화 방법 및 장치
KR20190125141A (ko) * 2018-04-27 2019-11-06 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
US20200143169A1 (en) * 2018-11-01 2020-05-07 Microsoft Technology Licensing, Llc Video recognition using multiple modalities
KR20200110613A (ko) * 2019-03-15 2020-09-24 삼성전자주식회사 정리 및 양자화 공동 실행 심층 신경망

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024025386A1 (ko) * 2022-07-28 2024-02-01 한국전자기술연구원 표준 정규분포 기반 양자화 기법을 이용한 딥러닝 네트워크 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
US20230421764A1 (en) 2023-12-28
KR20230107869A (ko) 2023-07-18

Similar Documents

Publication Publication Date Title
WO2019009489A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2016064185A1 (ko) 최적화 함수를 이용하여 그래프 기반 예측을 수행하는 방법 및 장치
WO2019009490A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2017065525A2 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
WO2020009357A1 (ko) Cclm에 기반한 인트라 예측 방법 및 그 장치
WO2019009488A1 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
WO2017014585A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2017010850A1 (ko) 분리 가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2016129872A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2018038554A1 (ko) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
WO2017155334A1 (ko) 비디오 코딩 방법 및 장치
WO2012044076A2 (ko) 비디오의 부호화 방법 및 장치, 복호화 방법 및 장치
WO2011071325A2 (en) Method and apparatus for encoding and decoding image by using rotational transform
WO2016190690A1 (ko) 적응적인 분리가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2021101243A1 (en) Apparatus and method for using ai metadata related to image quality
WO2019143026A1 (ko) 특징맵 압축을 이용한 이미지 처리 방법 및 장치
WO2022071695A1 (ko) 영상을 처리하는 디바이스 및 그 동작 방법
WO2016195455A1 (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2020032609A1 (ko) 영상 코딩 시스템에서 어파인 머지 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2019009447A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2022108361A1 (ko) 신경망 특징맵 양자화 방법 및 장치
WO2019143024A1 (ko) 라인 단위 연산을 이용한 초해상화 방법 및 장치
WO2020076142A1 (ko) 교차성분 선형 모델을 이용한 비디오 신호 처리 방법 및 장치
WO2019143027A1 (ko) 이미지 파이프라인 처리 방법 및 장치
WO2019088657A1 (ko) 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21895129

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18253381

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180084852.1

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 20237020605

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21895129

Country of ref document: EP

Kind code of ref document: A1